From 4d526714ebd0d83db3e83a4544681d596cba3f26 Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Wed, 12 May 2021 09:13:10 -0700 Subject: [PATCH 01/18] initial --- include/tvm/runtime/container.h | 8 ++++++++ src/target/source/source_module.cc | 3 +++ 2 files changed, 11 insertions(+) diff --git a/include/tvm/runtime/container.h b/include/tvm/runtime/container.h index 90a29380f9e0..56d5cd1671bc 100644 --- a/include/tvm/runtime/container.h +++ b/include/tvm/runtime/container.h @@ -1221,6 +1221,14 @@ class String : public ObjectRef { */ inline String& operator=(const char* other); + bool operator>(const String &r) const {return compare(r) > 0;} + // bool operator<(const String &r) const { return compare(r) < 0;} + // bool operator>=(const String &r) const {return compare(r) >= 0;} + // bool operator<=(const String &r) const {return compare(r) <= 0;} + // bool operator==(const String &r) const {return compare(r) == 0;} + // bool operator!=(const String &r) const {return compare(r) != 0;} + + /*! * \brief Compares this String object to other * diff --git a/src/target/source/source_module.cc b/src/target/source/source_module.cc index 661df9305036..3f7a4091b02b 100644 --- a/src/target/source/source_module.cc +++ b/src/target/source/source_module.cc @@ -30,6 +30,7 @@ #include #include #include +#include #include "../../runtime/file_utils.h" #include "../../support/str_escape.h" @@ -143,6 +144,7 @@ class CSourceCrtMetadataModuleNode : public runtime::ModuleNode { } void SaveToFile(const std::string& file_name, const std::string& format) final { + LOG(ERROR) << "mehrdad: SaveToFile 2"; std::string fmt = GetFileFormat(file_name, format); std::string meta_file = GetMetaFilePath(file_name); if (fmt == "c") { @@ -210,6 +212,7 @@ class CSourceCrtMetadataModuleNode : public runtime::ModuleNode { void CreateSource() { if (target_->GetAttr("system-lib").value_or(Bool(false)) && !func_names_.empty()) { + // std::sort(func_names_.begin(), func_names_.end()); CreateFuncRegistry(); GenerateCrtSystemLib(); } From b22bc96653a81a53f25ac61eb132af8f95ae36e6 Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Wed, 12 May 2021 13:34:05 -0700 Subject: [PATCH 02/18] remove compare --- include/tvm/runtime/container.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/include/tvm/runtime/container.h b/include/tvm/runtime/container.h index 56d5cd1671bc..90a29380f9e0 100644 --- a/include/tvm/runtime/container.h +++ b/include/tvm/runtime/container.h @@ -1221,14 +1221,6 @@ class String : public ObjectRef { */ inline String& operator=(const char* other); - bool operator>(const String &r) const {return compare(r) > 0;} - // bool operator<(const String &r) const { return compare(r) < 0;} - // bool operator>=(const String &r) const {return compare(r) >= 0;} - // bool operator<=(const String &r) const {return compare(r) <= 0;} - // bool operator==(const String &r) const {return compare(r) == 0;} - // bool operator!=(const String &r) const {return compare(r) != 0;} - - /*! * \brief Compares this String object to other * From b2d590536ab33975c1ccb6446da18eba3aba30c3 Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Wed, 12 May 2021 13:35:07 -0700 Subject: [PATCH 03/18] temp fix --- python/tvm/runtime/module.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/python/tvm/runtime/module.py b/python/tvm/runtime/module.py index 8775dafa17d1..376d6ccba041 100644 --- a/python/tvm/runtime/module.py +++ b/python/tvm/runtime/module.py @@ -355,6 +355,8 @@ def export_library(self, file_name, fcompile=None, addons=None, workspace_dir=No object_format = "cu" has_c_module = True path_obj = os.path.join(workspace_dir, f"lib{index}.{object_format}") + # import pdb; pdb.set_trace() + print(f"mehrdad: {path_obj}") module.save(path_obj) files.append(path_obj) is_system_lib = ( @@ -363,6 +365,27 @@ def export_library(self, file_name, fcompile=None, addons=None, workspace_dir=No llvm_target_triple = ( module.type_key == "llvm" and module.get_function("_get_target_triple")() ) + + lib0_path = os.path.join(workspace_dir, "lib0.c") + with open(lib0_path) as lib0_f: + lines = list(lib0_f) + + PROTOTYPE_START = "TVM_DLL int32_t tvm__run_func(" + with open(lib0_path, "w") as lib0_f: + found_first_prototype = False + found_invalid_prototype = False + for l in lines: + if not found_first_prototype and l.startswith(PROTOTYPE_START): + found_first_prototype = True + elif ( + found_first_prototype + and not found_invalid_prototype + and l.startswith(PROTOTYPE_START) + ): + found_invalid_prototype = True + continue + lib0_f.write(l) + if not fcompile: if file_name.endswith(".tar"): fcompile = _tar.tar From d02e89fad08c24ca15f61c74545dd483d26ecc95 Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Wed, 12 May 2021 13:35:55 -0700 Subject: [PATCH 04/18] debugging --- src/target/source/codegen_c_host.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/target/source/codegen_c_host.cc b/src/target/source/codegen_c_host.cc index 0bfbade23f01..8b2ffa696aa6 100644 --- a/src/target/source/codegen_c_host.cc +++ b/src/target/source/codegen_c_host.cc @@ -395,6 +395,7 @@ runtime::Module BuildCHost(IRModule mod, Target target) { ICHECK(kv.second->IsInstance()) << "CodegenCHost: Can only take PrimFunc"; auto f = Downcast(kv.second); + LOG(ERROR) << "mehrdad: " << f->GetAttr("global_symbol"); cg.AddFunction(f); } @@ -413,6 +414,7 @@ runtime::Module BuildCHost(IRModule mod, Target target) { } std::string code = cg.Finish(); + LOG(ERROR) << "mehrdad: found: CSourceModuleCreate"; return CSourceModuleCreate(code, "c", cg.GetFunctionNames()); } From 5f2d98ee7454304adcf4ce06a49a30e74859cf5c Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Wed, 12 May 2021 13:36:44 -0700 Subject: [PATCH 05/18] hack --- docker/bash.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/bash.sh b/docker/bash.sh index 3c4be21c9b9e..1a09301d828b 100755 --- a/docker/bash.sh +++ b/docker/bash.sh @@ -98,7 +98,7 @@ else fi if [[ "${DOCKER_IMAGE_NAME}" == *"ci"* ]]; then - CI_ADDON_ENV="-e PYTHONPATH=/workspace/python" + CI_ADDON_ENV="-e PYTHONPATH=/workspace/python:/workspace/.local/lib/python3.6/site-packages" else CI_ADDON_ENV="" fi @@ -167,6 +167,7 @@ ${DOCKER_BINARY} run --rm --pid=host\ ${CI_ADDON_ENV} \ ${CUDA_ENV} \ "${CI_DOCKER_EXTRA_PARAMS[@]}" \ + --mount type=bind,source=/home/mhessar/tinymlperf,target=/tinymlperf \ ${DOCKER_IMAGE_NAME} \ bash --login /docker/with_the_same_user \ "${COMMAND[@]}" From a4d9508e2c675feda22a4f3931629e0029faaf41 Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Fri, 14 May 2021 09:02:09 -0700 Subject: [PATCH 06/18] hack for testing --- python/tvm/micro/contrib/zephyr.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/python/tvm/micro/contrib/zephyr.py b/python/tvm/micro/contrib/zephyr.py index b7d7496b7440..4e56c48aecd0 100644 --- a/python/tvm/micro/contrib/zephyr.py +++ b/python/tvm/micro/contrib/zephyr.py @@ -639,13 +639,15 @@ def timeouts(self): ) def open(self): - self.pipe_dir = tempfile.mkdtemp() + # self.pipe_dir = tempfile.mkdtemp() + self.pipe_dir = "/tinymlperf/test_fifo" + self.pipe = os.path.join(self.pipe_dir, "fifo") self.write_pipe = os.path.join(self.pipe_dir, "fifo.in") self.read_pipe = os.path.join(self.pipe_dir, "fifo.out") - os.mkfifo(self.write_pipe) - os.mkfifo(self.read_pipe) + # os.mkfifo(self.write_pipe) + # os.mkfifo(self.read_pipe) if self.qemu_debugger is not None: if "env" in self.kwargs: self.kwargs["env"] = copy.copy(self.kwargs["env"]) @@ -689,9 +691,9 @@ def close(self): if self.proc is not None: self.proc = None - if self.pipe_dir is not None: - shutil.rmtree(self.pipe_dir) - self.pipe_dir = None + # if self.pipe_dir is not None: + # shutil.rmtree(self.pipe_dir) + # self.pipe_dir = None def read(self, n, timeout_sec): if self.fd_transport is None: From 8dc9af27e84b06d72496cfde946d101f2b580f8f Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Fri, 14 May 2021 11:02:17 -0700 Subject: [PATCH 07/18] both test pass --- .../zephyr/demo_runtime/CMakeLists.txt | 13 +- .../boards/nrf5340dk_nrf5340_cpuapp.conf | 2 +- .../zephyr/demo_runtime/boards/qemu_x86.conf | 5 +- .../demo_runtime/{ => host_driven}/src/main.c | 0 .../zephyr_aot/include/zephyr_uart.h | 84 +++++++ .../zephyr/demo_runtime/zephyr_aot/src/main.c | 204 +++++++++++++++++ docker/bash.sh | 3 +- python/tvm/micro/build.py | 25 ++- python/tvm/micro/contrib/zephyr.py | 14 +- python/tvm/runtime/module.py | 23 -- python/tvm/target/target.py | 5 +- src/target/source/codegen_c_host.cc | 2 - src/target/source/source_module.cc | 3 - tests/lint/check_file_type.py | 2 + tests/micro/zephyr/test_zephyr.py | 11 +- tests/micro/zephyr/test_zephyr_aot.py | 209 ++++++++++++++++++ tests/micro/zephyr/testdata/ic_fp32.tflite | Bin 0 -> 318144 bytes .../zephyr/testdata/ic_sample_fp32_8.npy | Bin 0 -> 12416 bytes 18 files changed, 549 insertions(+), 56 deletions(-) rename apps/microtvm/zephyr/demo_runtime/{ => host_driven}/src/main.c (100%) create mode 100644 apps/microtvm/zephyr/demo_runtime/zephyr_aot/include/zephyr_uart.h create mode 100644 apps/microtvm/zephyr/demo_runtime/zephyr_aot/src/main.c create mode 100644 tests/micro/zephyr/test_zephyr_aot.py create mode 100644 tests/micro/zephyr/testdata/ic_fp32.tflite create mode 100644 tests/micro/zephyr/testdata/ic_sample_fp32_8.npy diff --git a/apps/microtvm/zephyr/demo_runtime/CMakeLists.txt b/apps/microtvm/zephyr/demo_runtime/CMakeLists.txt index a99d5edb07e6..58ebcfcbda12 100644 --- a/apps/microtvm/zephyr/demo_runtime/CMakeLists.txt +++ b/apps/microtvm/zephyr/demo_runtime/CMakeLists.txt @@ -10,8 +10,17 @@ find_package(Zephyr HINTS $ENV{ZEPHYR_BASE}) project(microtvm_zephyr_runtime) set(CMAKE_VERBOSE_MAKEFILE ON) -file(GLOB TVM_SOURCES ${CMAKE_SOURCE_DIR}/__tvm*.c) -target_sources(app PRIVATE src/main.c ${TVM_SOURCES}) + +if($ENV{ZEPHYR_RUNTIME} STREQUAL "HOST-DRIVEN") + target_sources(app PRIVATE + host_driven/src/main.c + ) +elseif($ENV{ZEPHYR_RUNTIME} STREQUAL "ZEPHYR-AOT") + file(GLOB TVM_SOURCES zephyr_aot/src/*.c) + target_sources(app PRIVATE + ${TVM_SOURCES} + ) +endif() foreach(tvm_lib ${TVM_LIBS}) string(LENGTH ${tvm_lib} tvm_lib_length) diff --git a/apps/microtvm/zephyr/demo_runtime/boards/nrf5340dk_nrf5340_cpuapp.conf b/apps/microtvm/zephyr/demo_runtime/boards/nrf5340dk_nrf5340_cpuapp.conf index 149a69ea3b5b..2525638d473a 100644 --- a/apps/microtvm/zephyr/demo_runtime/boards/nrf5340dk_nrf5340_cpuapp.conf +++ b/apps/microtvm/zephyr/demo_runtime/boards/nrf5340dk_nrf5340_cpuapp.conf @@ -21,7 +21,7 @@ CONFIG_CMSIS_DSP=y # Required for Cortex-M33 devices. -CONFIG_MAIN_STACK_SIZE=1536 +CONFIG_MAIN_STACK_SIZE=18000 # For random number generation. CONFIG_ENTROPY_GENERATOR=y diff --git a/apps/microtvm/zephyr/demo_runtime/boards/qemu_x86.conf b/apps/microtvm/zephyr/demo_runtime/boards/qemu_x86.conf index f314f59a597a..b191c293a81f 100644 --- a/apps/microtvm/zephyr/demo_runtime/boards/qemu_x86.conf +++ b/apps/microtvm/zephyr/demo_runtime/boards/qemu_x86.conf @@ -21,5 +21,6 @@ CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_TIMER_RANDOM_GENERATOR=y -# Default stack size is 1k, this is required for debug mode. -CONFIG_MAIN_STACK_SIZE=1536 +# Default stack size is 1k, this is required for debug mode and +# for AOT mode. +CONFIG_MAIN_STACK_SIZE=18000 diff --git a/apps/microtvm/zephyr/demo_runtime/src/main.c b/apps/microtvm/zephyr/demo_runtime/host_driven/src/main.c similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/src/main.c rename to apps/microtvm/zephyr/demo_runtime/host_driven/src/main.c diff --git a/apps/microtvm/zephyr/demo_runtime/zephyr_aot/include/zephyr_uart.h b/apps/microtvm/zephyr/demo_runtime/zephyr_aot/include/zephyr_uart.h new file mode 100644 index 000000000000..5466f4e38d51 --- /dev/null +++ b/apps/microtvm/zephyr/demo_runtime/zephyr_aot/include/zephyr_uart.h @@ -0,0 +1,84 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#ifndef TVM_APPS_MICROTVM_ZEPHYR_DEMO_RUNTIME_ZEPHYR_AOT_INCLUDE_ZEPHYR_UART_H_ +#define TVM_APPS_MICROTVM_ZEPHYR_DEMO_RUNTIME_ZEPHYR_AOT_INCLUDE_ZEPHYR_UART_H_ + +#include +#include + +static const struct device* g_utvm_uart; +#define RING_BUF_SIZE_BYTES (TVM_CRT_MAX_PACKET_SIZE_BYTES + 100) + +// Ring buffer used to store data read from the UART on rx interrupt. +RING_BUF_DECLARE(uart_rx_rbuf, RING_BUF_SIZE_BYTES); + +size_t write_serial(const char* data, size_t size) { + for (size_t i = 0; i < size; i++) { + uart_poll_out(g_utvm_uart, data[i]); + } + return size; +} + +static uint8_t uart_data[8]; +// UART interrupt callback. +void uart_irq_cb(const struct device* dev, void* user_data) { + while (uart_irq_update(dev) && uart_irq_is_pending(dev)) { + struct ring_buf* rbuf = (struct ring_buf*)user_data; + if (uart_irq_rx_ready(dev) != 0) { + for (;;) { + // Read a small chunk of data from the UART. + int bytes_read = uart_fifo_read(dev, uart_data, sizeof(uart_data)); + if (bytes_read < 0) { + TVMPlatformAbort((tvm_crt_error_t)(0xbeef1)); + } else if (bytes_read == 0) { + break; + } + // Write it into the ring buffer. + int bytes_written = ring_buf_put(rbuf, uart_data, bytes_read); + if (bytes_read != bytes_written) { + TVMPlatformAbort((tvm_crt_error_t)(0xbeef2)); + } + } + } + } +} + +// Used to initialize the UART receiver. +void uart_rx_init(struct ring_buf* rbuf, const struct device* dev) { + uart_irq_callback_user_data_set(dev, uart_irq_cb, (void*)rbuf); + uart_irq_rx_enable(dev); +} + +// Used to read data from the UART. +int uart_rx_buf_read(struct ring_buf* rbuf, uint8_t* data, size_t data_size_bytes) { + unsigned int key = irq_lock(); + int bytes_read = ring_buf_get(rbuf, data, data_size_bytes); + irq_unlock(key); + return bytes_read; +} + +// Initialize UART +void TVMPlatformUARTInit() { + // Claim console device. + g_utvm_uart = device_get_binding(DT_LABEL(DT_CHOSEN(zephyr_console))); + uart_rx_init(&uart_rx_rbuf, g_utvm_uart); +} + +#endif /* TVM_APPS_MICROTVM_ZEPHYR_DEMO_RUNTIME_ZEPHYR_AOT_INCLUDE_ZEPHYR_UART_H_ */ diff --git a/apps/microtvm/zephyr/demo_runtime/zephyr_aot/src/main.c b/apps/microtvm/zephyr/demo_runtime/zephyr_aot/src/main.c new file mode 100644 index 000000000000..3d32db95cabb --- /dev/null +++ b/apps/microtvm/zephyr/demo_runtime/zephyr_aot/src/main.c @@ -0,0 +1,204 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "input_data.h" +#include "output_data.h" +#include "zephyr_uart.h" + +#ifdef CONFIG_ARCH_POSIX +#include "posix_board_if.h" +#endif + +#define WORKSPACE_SIZE (270 * 1024) + +static uint8_t g_aot_memory[WORKSPACE_SIZE]; +extern tvm_model_t network; +tvm_workspace_t app_workspace; + +const unsigned char g_wakeup_sequence[12] = {0xfe, 0xff, 0xfd, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x66, 0x77}; + +size_t TVMPlatformFormatMessage(char* out_buf, size_t out_buf_size_bytes, const char* fmt, + va_list args) { + return vsnprintk(out_buf, out_buf_size_bytes, fmt, args); +} + +void TVMLogf(const char* msg, ...) { + char buffer[256]; + int size; + va_list args; + va_start(args, msg); + size = vsprintf(buffer, msg, args); + va_end(args); + write_serial(buffer, (size_t)size); +} + +void TVMPlatformAbort(tvm_crt_error_t error) { + TVMLogf("TVMPlatformAbort: %08x\n", error); + sys_reboot(SYS_REBOOT_COLD); + for (;;) + ; +} + +tvm_crt_error_t TVMPlatformMemoryAllocate(size_t num_bytes, DLDevice dev, void** out_ptr) { + return StackMemoryManager_Allocate(&app_workspace, num_bytes, out_ptr); +} + +tvm_crt_error_t TVMPlatformMemoryFree(void* ptr, DLDevice dev) { + return StackMemoryManager_Free(&app_workspace, ptr); +} + +void timer_expiry_function(struct k_timer* timer_id) { return; } + +#define MILLIS_TIL_EXPIRY 200 +#define TIME_TIL_EXPIRY (K_MSEC(MILLIS_TIL_EXPIRY)) +struct k_timer g_utvm_timer; +uint32_t g_utvm_start_time; +int g_utvm_timer_running = 0; + +// Called to start system timer. +tvm_crt_error_t TVMPlatformTimerStart() { + if (g_utvm_timer_running) { + TVMLogf("timer already running"); + return kTvmErrorPlatformTimerBadState; + } + + k_timer_start(&g_utvm_timer, TIME_TIL_EXPIRY, TIME_TIL_EXPIRY); + g_utvm_start_time = k_cycle_get_32(); + g_utvm_timer_running = 1; + return kTvmErrorNoError; +} + +// Called to stop system timer. +tvm_crt_error_t TVMPlatformTimerStop(double* elapsed_time_seconds) { + if (!g_utvm_timer_running) { + TVMLogf("timer not running"); + return kTvmErrorSystemErrorMask | 2; + } + + uint32_t stop_time = k_cycle_get_32(); + + // compute how long the work took + uint32_t cycles_spent = stop_time - g_utvm_start_time; + if (stop_time < g_utvm_start_time) { + // we rolled over *at least* once, so correct the rollover it was *only* + // once, because we might still use this result + cycles_spent = ~((uint32_t)0) - (g_utvm_start_time - stop_time); + } + + uint32_t ns_spent = (uint32_t)k_cyc_to_ns_floor64(cycles_spent); + double hw_clock_res_us = ns_spent / 1000.0; + + // need to grab time remaining *before* stopping. when stopped, this function + // always returns 0. + int32_t time_remaining_ms = k_timer_remaining_get(&g_utvm_timer); + k_timer_stop(&g_utvm_timer); + // check *after* stopping to prevent extra expiries on the happy path + if (time_remaining_ms < 0) { + TVMLogf("negative time remaining"); + return kTvmErrorSystemErrorMask | 3; + } + uint32_t num_expiries = k_timer_status_get(&g_utvm_timer); + uint32_t timer_res_ms = ((num_expiries * MILLIS_TIL_EXPIRY) + time_remaining_ms); + double approx_num_cycles = + (double)k_ticks_to_cyc_floor32(1) * (double)k_ms_to_ticks_ceil32(timer_res_ms); + // if we approach the limits of the HW clock datatype (uint32_t), use the + // coarse-grained timer result instead + if (approx_num_cycles > (0.5 * (~((uint32_t)0)))) { + *elapsed_time_seconds = timer_res_ms / 1000.0; + } else { + *elapsed_time_seconds = hw_clock_res_us / 1e6; + } + + g_utvm_timer_running = 0; + return kTvmErrorNoError; +} + +void* TVMBackendAllocWorkspace(int device_type, int device_id, uint64_t nbytes, int dtype_code_hint, + int dtype_bits_hint) { + tvm_crt_error_t err = kTvmErrorNoError; + void* ptr = 0; + DLDevice dev = {device_type, device_id}; + assert(nbytes > 0); + err = TVMPlatformMemoryAllocate(nbytes, dev, &ptr); + CHECK_EQ(err, kTvmErrorNoError, + "TVMBackendAllocWorkspace(%d, %d, %" PRIu64 ", %d, %d) -> %" PRId32, device_type, + device_id, nbytes, dtype_code_hint, dtype_bits_hint, err); + return ptr; +} + +int TVMBackendFreeWorkspace(int device_type, int device_id, void* ptr) { + tvm_crt_error_t err = kTvmErrorNoError; + DLDevice dev = {device_type, device_id}; + err = TVMPlatformMemoryFree(ptr, dev); + return err; +} + +void main(void) { + TVMPlatformUARTInit(); + k_timer_init(&g_utvm_timer, NULL, NULL); + // Wake up host side. + write_serial(g_wakeup_sequence, 12); + TVMLogf("Zephyr AOT Runtime\n"); + + void* inputs[1] = { + input_data, + }; + void* outputs[1] = { + output_data, + }; + + StackMemoryManager_Init(&app_workspace, g_aot_memory, WORKSPACE_SIZE); + + double elapsed_time = 0; + TVMPlatformTimerStart(); + int ret_val = tvm_runtime_run(&network, inputs, outputs); + TVMPlatformTimerStop(&elapsed_time); + + if (ret_val != 0) { + TVMLogf("Error: %d\n", ret_val); + TVMPlatformAbort(kTvmErrorPlatformCheckFailure); + } + + // int8_t* results = (int8_t*)(&output_data); + size_t max_ind = -1; + float max_val = -FLT_MAX; + for (size_t i = 0; i < output_data_len; i++) { + if (output_data[i] >= max_val) { + max_ind = i; + max_val = output_data[i]; + } + } + TVMLogf("result:%d\n", max_ind); +#ifdef CONFIG_ARCH_POSIX + posix_exit(0); +#endif +} diff --git a/docker/bash.sh b/docker/bash.sh index 1a09301d828b..3c4be21c9b9e 100755 --- a/docker/bash.sh +++ b/docker/bash.sh @@ -98,7 +98,7 @@ else fi if [[ "${DOCKER_IMAGE_NAME}" == *"ci"* ]]; then - CI_ADDON_ENV="-e PYTHONPATH=/workspace/python:/workspace/.local/lib/python3.6/site-packages" + CI_ADDON_ENV="-e PYTHONPATH=/workspace/python" else CI_ADDON_ENV="" fi @@ -167,7 +167,6 @@ ${DOCKER_BINARY} run --rm --pid=host\ ${CI_ADDON_ENV} \ ${CUDA_ENV} \ "${CI_DOCKER_EXTRA_PARAMS[@]}" \ - --mount type=bind,source=/home/mhessar/tinymlperf,target=/tinymlperf \ ${DOCKER_IMAGE_NAME} \ bash --login /docker/with_the_same_user \ "${COMMAND[@]}" diff --git a/python/tvm/micro/build.py b/python/tvm/micro/build.py index d95f14f0349e..38b338a33012 100644 --- a/python/tvm/micro/build.py +++ b/python/tvm/micro/build.py @@ -53,10 +53,6 @@ def path(self): return self.tempdir.temp_dir -# Required C runtime libraries, in link order. -CRT_RUNTIME_LIB_NAMES = ["utvm_rpc_server", "utvm_rpc_common", "common"] - - STANDALONE_CRT_DIR = None @@ -110,9 +106,17 @@ def get_standalone_crt_lib(name: str) -> str: return os.path.join(get_standalone_crt_dir(), "src", "runtime", "crt", name) -def get_runtime_libs() -> str: - """Return abspath to all CRT directories which contain source (i.e. not header) files.""" - return [get_standalone_crt_lib(n) for n in CRT_RUNTIME_LIB_NAMES] +def get_runtime_libs(runtime: str) -> str: + """Return abspath to all CRT directories in link order which contain + source (i.e. not header) files. + """ + if runtime == "host-driven": + crt_runtime_lib_names = ["utvm_rpc_server", "utvm_rpc_common", "common"] + elif runtime == "zephyr-aot": + crt_runtime_lib_names = ["aot_executor", "common"] + else: + raise ValueError(f"Incorrect runtime: {runtime}") + return [get_standalone_crt_lib(n) for n in crt_runtime_lib_names] RUNTIME_SRC_REGEX = re.compile(r"^.*\.cc?$", re.IGNORECASE) @@ -188,6 +192,7 @@ def build_static_runtime( compiler, module, compiler_options, + runtime, extra_libs=None, ): """Build the on-device runtime, statically linking the given modules. @@ -206,6 +211,10 @@ def build_static_runtime( used. This dict contains the `options` parameter passed to Compiler.library() and Compiler.binary() at various stages in the compilation process. + runtime : str + Runtime mode which determines whether this is a standalone runtime or dependent to host. + Here are the options: [host-driven, zephyr-aot]. + extra_libs : Optional[List[MicroLibrary|str]] If specified, extra libraries to be compiled into the binary. If a MicroLibrary, it is included into the binary directly. If a string, the path to a directory; all direct children @@ -222,7 +231,7 @@ def build_static_runtime( mod_src_dir = workspace.relpath(os.path.join("src", "module")) libs = [] - for mod_or_src_dir in (extra_libs or []) + get_runtime_libs(): + for mod_or_src_dir in (extra_libs or []) + get_runtime_libs(runtime): if isinstance(mod_or_src_dir, MicroLibrary): libs.append(mod_or_src_dir) continue diff --git a/python/tvm/micro/contrib/zephyr.py b/python/tvm/micro/contrib/zephyr.py index 4e56c48aecd0..b7d7496b7440 100644 --- a/python/tvm/micro/contrib/zephyr.py +++ b/python/tvm/micro/contrib/zephyr.py @@ -639,15 +639,13 @@ def timeouts(self): ) def open(self): - # self.pipe_dir = tempfile.mkdtemp() - self.pipe_dir = "/tinymlperf/test_fifo" - + self.pipe_dir = tempfile.mkdtemp() self.pipe = os.path.join(self.pipe_dir, "fifo") self.write_pipe = os.path.join(self.pipe_dir, "fifo.in") self.read_pipe = os.path.join(self.pipe_dir, "fifo.out") - # os.mkfifo(self.write_pipe) - # os.mkfifo(self.read_pipe) + os.mkfifo(self.write_pipe) + os.mkfifo(self.read_pipe) if self.qemu_debugger is not None: if "env" in self.kwargs: self.kwargs["env"] = copy.copy(self.kwargs["env"]) @@ -691,9 +689,9 @@ def close(self): if self.proc is not None: self.proc = None - # if self.pipe_dir is not None: - # shutil.rmtree(self.pipe_dir) - # self.pipe_dir = None + if self.pipe_dir is not None: + shutil.rmtree(self.pipe_dir) + self.pipe_dir = None def read(self, n, timeout_sec): if self.fd_transport is None: diff --git a/python/tvm/runtime/module.py b/python/tvm/runtime/module.py index 376d6ccba041..8775dafa17d1 100644 --- a/python/tvm/runtime/module.py +++ b/python/tvm/runtime/module.py @@ -355,8 +355,6 @@ def export_library(self, file_name, fcompile=None, addons=None, workspace_dir=No object_format = "cu" has_c_module = True path_obj = os.path.join(workspace_dir, f"lib{index}.{object_format}") - # import pdb; pdb.set_trace() - print(f"mehrdad: {path_obj}") module.save(path_obj) files.append(path_obj) is_system_lib = ( @@ -365,27 +363,6 @@ def export_library(self, file_name, fcompile=None, addons=None, workspace_dir=No llvm_target_triple = ( module.type_key == "llvm" and module.get_function("_get_target_triple")() ) - - lib0_path = os.path.join(workspace_dir, "lib0.c") - with open(lib0_path) as lib0_f: - lines = list(lib0_f) - - PROTOTYPE_START = "TVM_DLL int32_t tvm__run_func(" - with open(lib0_path, "w") as lib0_f: - found_first_prototype = False - found_invalid_prototype = False - for l in lines: - if not found_first_prototype and l.startswith(PROTOTYPE_START): - found_first_prototype = True - elif ( - found_first_prototype - and not found_invalid_prototype - and l.startswith(PROTOTYPE_START) - ): - found_invalid_prototype = True - continue - lib0_f.write(l) - if not fcompile: if file_name.endswith(".tar"): fcompile = _tar.tar diff --git a/python/tvm/target/target.py b/python/tvm/target/target.py index 748b4e8910c1..be39a6f6bd25 100644 --- a/python/tvm/target/target.py +++ b/python/tvm/target/target.py @@ -296,10 +296,13 @@ def micro(model="unknown", options=None): if model not in MICRO_SUPPORTED_MODELS: raise ValueError(f"Model {model} not supported by tvm.target.micro.") opts = _merge_opts( - MICRO_SUPPORTED_MODELS[model] + ["-runtime=c", "--system-lib", f"-model={model}"], + MICRO_SUPPORTED_MODELS[model] + ["-runtime=c", f"-model={model}"], options, ) + if (not options) or (options and "--executor=aot" not in options): + opts = _merge_opts(opts, "--system-lib") + # NOTE: in the future, the default micro target will be LLVM except when # external dependencies are present. return Target(" ".join(["c"] + opts)) diff --git a/src/target/source/codegen_c_host.cc b/src/target/source/codegen_c_host.cc index 8b2ffa696aa6..0bfbade23f01 100644 --- a/src/target/source/codegen_c_host.cc +++ b/src/target/source/codegen_c_host.cc @@ -395,7 +395,6 @@ runtime::Module BuildCHost(IRModule mod, Target target) { ICHECK(kv.second->IsInstance()) << "CodegenCHost: Can only take PrimFunc"; auto f = Downcast(kv.second); - LOG(ERROR) << "mehrdad: " << f->GetAttr("global_symbol"); cg.AddFunction(f); } @@ -414,7 +413,6 @@ runtime::Module BuildCHost(IRModule mod, Target target) { } std::string code = cg.Finish(); - LOG(ERROR) << "mehrdad: found: CSourceModuleCreate"; return CSourceModuleCreate(code, "c", cg.GetFunctionNames()); } diff --git a/src/target/source/source_module.cc b/src/target/source/source_module.cc index 3f7a4091b02b..661df9305036 100644 --- a/src/target/source/source_module.cc +++ b/src/target/source/source_module.cc @@ -30,7 +30,6 @@ #include #include #include -#include #include "../../runtime/file_utils.h" #include "../../support/str_escape.h" @@ -144,7 +143,6 @@ class CSourceCrtMetadataModuleNode : public runtime::ModuleNode { } void SaveToFile(const std::string& file_name, const std::string& format) final { - LOG(ERROR) << "mehrdad: SaveToFile 2"; std::string fmt = GetFileFormat(file_name, format); std::string meta_file = GetMetaFilePath(file_name); if (fmt == "c") { @@ -212,7 +210,6 @@ class CSourceCrtMetadataModuleNode : public runtime::ModuleNode { void CreateSource() { if (target_->GetAttr("system-lib").value_or(Bool(false)) && !func_names_.empty()) { - // std::sort(func_names_.begin(), func_names_.end()); CreateFuncRegistry(); GenerateCrtSystemLib(); } diff --git a/tests/lint/check_file_type.py b/tests/lint/check_file_type.py index 967df8d2b7b4..d192f0bb1b14 100644 --- a/tests/lint/check_file_type.py +++ b/tests/lint/check_file_type.py @@ -129,6 +129,8 @@ "tests/micro/zephyr/testdata/digit-2.jpg", "tests/micro/zephyr/testdata/digit-9.jpg", "tests/micro/zephyr/testdata/mnist-8.onnx", + "tests/micro/zephyr/testdata/ic_sample_fp32_8.npy", + "tests/micro/zephyr/testdata/ic_fp32.tflite", # microTVM Zephyr runtime "apps/microtvm/zephyr/demo_runtime/prj.conf", "apps/microtvm/zephyr/demo_runtime/boards/qemu_x86.conf", diff --git a/tests/micro/zephyr/test_zephyr.py b/tests/micro/zephyr/test_zephyr.py index 4da1f12b273a..d62d33401752 100644 --- a/tests/micro/zephyr/test_zephyr.py +++ b/tests/micro/zephyr/test_zephyr.py @@ -66,10 +66,11 @@ def _make_sess_from_op(model, zephyr_board, west_cmd, op_name, sched, arg_bufs): def _make_session(model, target, zephyr_board, west_cmd, mod): - test_name = f"{os.path.splitext(os.path.abspath(__file__))[0]}_{zephyr_board}" - prev_build = f"{test_name}-last-build.micro-binary" + parent_dir = os.path.dirname(__file__) + filename = os.path.splitext(os.path.basename(__file__))[0] + prev_build = f"{os.path.join(parent_dir, 'archive')}_{filename}_{zephyr_board}_last_build.micro" workspace_root = ( - f'{test_name}_workspace/{datetime.datetime.now().strftime("%Y-%m-%dT%H-%M-%S")}' + os.path.join(f"{os.path.join(parent_dir, 'workspace')}_{filename}_{zephyr_board}", datetime.datetime.now().strftime("%Y-%m-%dT%H-%M-%S")) ) workspace_parent = os.path.dirname(workspace_root) if not os.path.exists(workspace_parent): @@ -84,6 +85,7 @@ def _make_session(model, target, zephyr_board, west_cmd, mod): board=zephyr_board, zephyr_toolchain_variant="zephyr", west_cmd=west_cmd, + env_vars={"ZEPHYR_RUNTIME": "HOST-DRIVEN"}, ) opts = tvm.micro.default_options(os.path.join(runtime_path, "crt")) @@ -109,6 +111,7 @@ def _make_session(model, target, zephyr_board, west_cmd, mod): compiler, mod, opts, + runtime="host-driven", ) if os.path.exists(prev_build): os.unlink(prev_build) @@ -395,4 +398,4 @@ def test_byoc_utvm(platform, west_cmd): if __name__ == "__main__": - sys.exit(pytest.main([os.path.dirname(__file__)] + sys.argv[1:])) + sys.exit(pytest.main([__file__] + sys.argv[1:])) diff --git a/tests/micro/zephyr/test_zephyr_aot.py b/tests/micro/zephyr/test_zephyr_aot.py new file mode 100644 index 000000000000..e6c68426f2de --- /dev/null +++ b/tests/micro/zephyr/test_zephyr_aot.py @@ -0,0 +1,209 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +import contextlib +import copy +import datetime +import glob +from hashlib import new +import logging +import os +import subprocess +import sys +import logging +import pathlib + +import pytest +import numpy as np +from PIL import Image + +import tvm +import tvm.rpc +import tvm.micro +import tvm.relay as relay + +from tvm.micro.contrib import zephyr +from tvm.contrib import utils +from tvm.relay.expr_functor import ExprMutator +from tvm.relay.op.annotation import compiler_begin, compiler_end + +import conftest + +_LOG = logging.getLogger(__name__) + +PLATFORMS = conftest.PLATFORMS + +# If set, build the uTVM binary from scratch on each test. +# Otherwise, reuses the build from the previous test run. +BUILD = True + +# If set, enable a debug session while the test is running. +# Before running the test, in a separate shell, you should run: +# python -m tvm.exec.microtvm_debug_shell +DEBUG = False + + +def _build_session_kw(model, target, zephyr_board, west_cmd, mod, runtime_path): + parent_dir = os.path.dirname(__file__) + filename = os.path.splitext(os.path.basename(__file__))[0] + prev_build = f"{os.path.join(parent_dir, 'archive')}_{filename}_{zephyr_board}_last_build.micro" + workspace_root = ( + os.path.join(f"{os.path.join(parent_dir, 'workspace')}_{filename}_{zephyr_board}", datetime.datetime.now().strftime("%Y-%m-%dT%H-%M-%S")) + ) + workspace_parent = os.path.dirname(workspace_root) + if not os.path.exists(workspace_parent): + os.makedirs(workspace_parent) + workspace = tvm.micro.Workspace(debug=True, root=workspace_root) + + compiler = zephyr.ZephyrCompiler( + project_dir=runtime_path, + board=zephyr_board, + zephyr_toolchain_variant="zephyr", + west_cmd=west_cmd, + env_vars={"ZEPHYR_RUNTIME": "ZEPHYR-AOT"}, + ) + + opts = tvm.micro.default_options(os.path.join(runtime_path, "crt")) + opts["bin_opts"]["include_dirs"].append(os.path.join(runtime_path, "zephyr_aot", "include")) + opts["lib_opts"]["include_dirs"].append(os.path.join(runtime_path, "zephyr_aot", "include")) + + flasher_kw = {} + if DEBUG: + flasher_kw["debug_rpc_session"] = tvm.rpc.connect("127.0.0.1", 9090) + + session_kw = { + "flasher": compiler.flasher(**flasher_kw), + } + + if BUILD: + session_kw["binary"] = tvm.micro.build_static_runtime( + workspace, + compiler, + mod, + opts, + runtime="zephyr-aot", + extra_libs=[tvm.micro.get_standalone_crt_lib("memory")], + ) + if os.path.exists(prev_build): + os.unlink(prev_build) + session_kw["binary"].archive(prev_build, metadata_only=True) + else: + unarchive_dir = utils.tempdir() + session_kw["binary"] = tvm.micro.MicroBinary.unarchive( + prev_build, unarchive_dir.relpath("binary") + ) + + return session_kw + + +def _create_header_file(tensor_name, npy_data, output_path): + """ + This method generates a header file containing the data contained in the numpy array provided. + It is used to capture the tensor data (for both inputs and expected outputs). + """ + file_path = pathlib.Path(f"{output_path}/" + tensor_name).resolve() + # create header file + raw_path = file_path.with_suffix(".h").resolve() + with open(raw_path, "w") as header_file: + header_file.write("#include \n") + header_file.write("#include \n") + header_file.write("#include \n") + header_file.write(f"const size_t {tensor_name}_len = {npy_data.size};\n") + + if npy_data.dtype == "int8": + header_file.write(f"int8_t {tensor_name}[] =") + elif npy_data.dtype == "int32": + header_file.write(f"int32_t {tensor_name}[] = ") + elif npy_data.dtype == "uint8": + header_file.write(f"uint8_t {tensor_name}[] = ") + elif npy_data.dtype == "float32": + header_file.write(f"float {tensor_name}[] = ") + + header_file.write("{") + for i in np.ndindex(npy_data.shape): + header_file.write(f"{npy_data[i]}, ") + header_file.write("};\n\n") + + +def _read_line(fd): + data = "" + new_c = "" + while new_c != "\n": + new_c = fd.read(1, timeout_sec=10) + new_c = new_c.decode("ascii") + data = data + new_c + return data + + +def _get_result_line(fd): + while True: + data = _read_line(fd) + if "result" in data: + return data + + +def test_tflite(platform, west_cmd): + """Testing a TFLite model.""" + model, zephyr_board = PLATFORMS[platform] + input_shape = (1, 32, 32, 3) + output_shape = (1, 10) + + this_dir = os.path.dirname(__file__) + tvm_source_dir = os.path.join(this_dir, "..", "..", "..") + runtime_path = os.path.join(tvm_source_dir, "apps", "microtvm", "zephyr", "demo_runtime") + model_path = os.path.join(this_dir, "testdata", "ic_fp32.tflite") + + # Import TFLite model + tflite_model_buf = open(model_path, "rb").read() + try: + import tflite + + tflite_model = tflite.Model.GetRootAsModel(tflite_model_buf, 0) + except AttributeError: + import tflite.Model + + tflite_model = tflite.Model.Model.GetRootAsModel(tflite_model_buf, 0) + + # Load TFLite model and convert to Relay + relay_mod, params = relay.frontend.from_tflite( + tflite_model, shape_dict={"input_1": input_shape}, dtype_dict={"input_1 ": "float32"} + ) + + target = tvm.target.target.micro(model, options=["-link-params=1", "--executor=aot"]) + with tvm.transform.PassContext(opt_level=3, config={"tir.disable_vectorize": True}): + lowered = relay.build(relay_mod, target, params=params) + + # Load sample and generate input/expected_output header files + sample = np.load(os.path.join(this_dir, "testdata", "ic_sample_fp32_8.npy")) + model_files_path = os.path.join(runtime_path, "zephyr_aot", "include") + _create_header_file((f"input_data"), sample, model_files_path) + _create_header_file( + "output_data", np.zeros(shape=output_shape, dtype="float32"), model_files_path + ) + + session_kw = _build_session_kw(model, target, zephyr_board, west_cmd, lowered.lib, runtime_path) + transport = session_kw["flasher"].flash(session_kw["binary"]) + transport.open() + + result_line = _get_result_line(transport) + result_line.strip("\n") + result = int(result_line.split(":")[1]) + assert result == 8 + + +if __name__ == "__main__": + sys.exit(pytest.main([__file__] + sys.argv[1:])) diff --git a/tests/micro/zephyr/testdata/ic_fp32.tflite b/tests/micro/zephyr/testdata/ic_fp32.tflite new file mode 100644 index 0000000000000000000000000000000000000000..2e479f36e734ac7a17fa773c3f326ed888bcdf62 GIT binary patch literal 318144 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

e1R{v2h7Nndl|gZL^O)JR~Hi4By5 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 literal 0 HcmV?d00001 From 5570e0be37096b8d2e9e932e73e24c0911c36bd2 Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Tue, 18 May 2021 23:40:44 -0700 Subject: [PATCH 08/18] cleanup --- apps/microtvm/zephyr/demo_runtime/zephyr_aot/src/main.c | 1 - python/tvm/micro/build.py | 2 +- tests/micro/zephyr/test_zephyr.py | 5 +++-- tests/micro/zephyr/test_zephyr_aot.py | 5 +++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/apps/microtvm/zephyr/demo_runtime/zephyr_aot/src/main.c b/apps/microtvm/zephyr/demo_runtime/zephyr_aot/src/main.c index 3d32db95cabb..6e1dd08ab86b 100644 --- a/apps/microtvm/zephyr/demo_runtime/zephyr_aot/src/main.c +++ b/apps/microtvm/zephyr/demo_runtime/zephyr_aot/src/main.c @@ -188,7 +188,6 @@ void main(void) { TVMPlatformAbort(kTvmErrorPlatformCheckFailure); } - // int8_t* results = (int8_t*)(&output_data); size_t max_ind = -1; float max_val = -FLT_MAX; for (size_t i = 0; i < output_data_len; i++) { diff --git a/python/tvm/micro/build.py b/python/tvm/micro/build.py index 38b338a33012..10a0ba988cbb 100644 --- a/python/tvm/micro/build.py +++ b/python/tvm/micro/build.py @@ -107,7 +107,7 @@ def get_standalone_crt_lib(name: str) -> str: def get_runtime_libs(runtime: str) -> str: - """Return abspath to all CRT directories in link order which contain + """Return abspath to all CRT directories in link order which contain source (i.e. not header) files. """ if runtime == "host-driven": diff --git a/tests/micro/zephyr/test_zephyr.py b/tests/micro/zephyr/test_zephyr.py index d62d33401752..f7807498ede4 100644 --- a/tests/micro/zephyr/test_zephyr.py +++ b/tests/micro/zephyr/test_zephyr.py @@ -69,8 +69,9 @@ def _make_session(model, target, zephyr_board, west_cmd, mod): parent_dir = os.path.dirname(__file__) filename = os.path.splitext(os.path.basename(__file__))[0] prev_build = f"{os.path.join(parent_dir, 'archive')}_{filename}_{zephyr_board}_last_build.micro" - workspace_root = ( - os.path.join(f"{os.path.join(parent_dir, 'workspace')}_{filename}_{zephyr_board}", datetime.datetime.now().strftime("%Y-%m-%dT%H-%M-%S")) + workspace_root = os.path.join( + f"{os.path.join(parent_dir, 'workspace')}_{filename}_{zephyr_board}", + datetime.datetime.now().strftime("%Y-%m-%dT%H-%M-%S"), ) workspace_parent = os.path.dirname(workspace_root) if not os.path.exists(workspace_parent): diff --git a/tests/micro/zephyr/test_zephyr_aot.py b/tests/micro/zephyr/test_zephyr_aot.py index e6c68426f2de..7303022dfa40 100644 --- a/tests/micro/zephyr/test_zephyr_aot.py +++ b/tests/micro/zephyr/test_zephyr_aot.py @@ -61,8 +61,9 @@ def _build_session_kw(model, target, zephyr_board, west_cmd, mod, runtime_path): parent_dir = os.path.dirname(__file__) filename = os.path.splitext(os.path.basename(__file__))[0] prev_build = f"{os.path.join(parent_dir, 'archive')}_{filename}_{zephyr_board}_last_build.micro" - workspace_root = ( - os.path.join(f"{os.path.join(parent_dir, 'workspace')}_{filename}_{zephyr_board}", datetime.datetime.now().strftime("%Y-%m-%dT%H-%M-%S")) + workspace_root = os.path.join( + f"{os.path.join(parent_dir, 'workspace')}_{filename}_{zephyr_board}", + datetime.datetime.now().strftime("%Y-%m-%dT%H-%M-%S"), ) workspace_parent = os.path.dirname(workspace_root) if not os.path.exists(workspace_parent): From 0937f3eda359a8b1e80825c77719bfba6fe90b95 Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Wed, 19 May 2021 07:58:04 -0700 Subject: [PATCH 09/18] fix tests and tutorials --- tests/python/unittest/test_crt.py | 1 + tests/python/unittest/test_link_params.py | 1 + tutorials/micro/micro_tflite.py | 1 + 3 files changed, 3 insertions(+) diff --git a/tests/python/unittest/test_crt.py b/tests/python/unittest/test_crt.py index c6902429c0cd..4d2b1dc1c99e 100644 --- a/tests/python/unittest/test_crt.py +++ b/tests/python/unittest/test_crt.py @@ -60,6 +60,7 @@ def _make_session(workspace, mod): compiler, mod, opts, + runtime="host-driven", extra_libs=[tvm.micro.get_standalone_crt_lib("memory")], ) diff --git a/tests/python/unittest/test_link_params.py b/tests/python/unittest/test_link_params.py index d377e208058e..4f9bd68ef4e3 100644 --- a/tests/python/unittest/test_link_params.py +++ b/tests/python/unittest/test_link_params.py @@ -371,6 +371,7 @@ def test_crt_link_params(): compiler, lib, compiler_options=opts, + runtime="host-driven", extra_libs=[ tvm.micro.get_standalone_crt_lib(m) for m in ("memory", "graph_executor_module", "graph_executor") diff --git a/tutorials/micro/micro_tflite.py b/tutorials/micro/micro_tflite.py index 4169a56e6570..a2c534669760 100644 --- a/tutorials/micro/micro_tflite.py +++ b/tutorials/micro/micro_tflite.py @@ -249,6 +249,7 @@ compiler, c_mod, opts, + runtime="host-driven", # Use the microTVM memory manager. If, in your main.cc, you change TVMPlatformMemoryAllocate and # TVMPlatformMemoryFree to use e.g. malloc() and free(), you can omit this extra library. extra_libs=[tvm.micro.get_standalone_crt_lib("memory")], From d29c43ad88cdd126e044eb7d936b1a9e98d944cf Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Wed, 19 May 2021 18:53:20 -0700 Subject: [PATCH 10/18] restructure --- .../{demo_runtime => aot_demo}/CMakeLists.txt | 11 +--- apps/microtvm/zephyr/aot_demo/README.md | 20 ++++++ .../boards/mps2_an521.conf | 0 .../boards/nrf5340dk_nrf5340_cpuapp.conf | 0 .../boards/nucleo_f746zg.conf | 0 .../boards/qemu_riscv32.conf | 0 .../boards/qemu_riscv64.conf | 0 .../boards/qemu_x86.conf | 0 .../boards/stm32f746g_disco.conf | 0 .../crt/crt_config.h | 0 .../zephyr/aot_demo/include/input_data.h | 6 ++ .../zephyr/aot_demo/include/output_data.h | 6 ++ .../include/zephyr_uart.h | 6 +- .../{demo_runtime => aot_demo}/prj.conf | 0 apps/microtvm/zephyr/aot_demo/qemu-hack | 1 + .../zephyr_aot => aot_demo}/src/main.c | 0 .../zephyr/host_driven_demo/CMakeLists.txt | 26 ++++++++ .../README.md | 0 .../host_driven_demo/boards/mps2_an521.conf | 28 ++++++++ .../boards/nrf5340dk_nrf5340_cpuapp.conf | 31 +++++++++ .../boards/nucleo_f746zg.conf | 30 +++++++++ .../host_driven_demo/boards/qemu_riscv32.conf | 29 +++++++++ .../host_driven_demo/boards/qemu_riscv64.conf | 25 ++++++++ .../host_driven_demo/boards/qemu_x86.conf | 25 ++++++++ .../boards/stm32f746g_disco.conf | 28 ++++++++ .../zephyr/host_driven_demo/crt/crt_config.h | 64 +++++++++++++++++++ .../microtvm/zephyr/host_driven_demo/prj.conf | 35 ++++++++++ .../zephyr/host_driven_demo/qemu-hack | 1 + .../src/main.c | 0 .../qemu-hack/qemu-system-arm | 0 .../qemu-hack/qemu-system-i386 | 0 .../qemu-hack/qemu-system-riscv32 | 0 .../qemu-hack/qemu-system-riscv64 | 0 tests/lint/check_file_type.py | 40 ++++++++---- tests/micro/zephyr/test_zephyr.py | 5 +- tests/micro/zephyr/test_zephyr_aot.py | 8 +-- tutorials/micro/micro_tflite.py | 2 +- 37 files changed, 394 insertions(+), 33 deletions(-) rename apps/microtvm/zephyr/{demo_runtime => aot_demo}/CMakeLists.txt (72%) create mode 100644 apps/microtvm/zephyr/aot_demo/README.md rename apps/microtvm/zephyr/{demo_runtime => aot_demo}/boards/mps2_an521.conf (100%) rename apps/microtvm/zephyr/{demo_runtime => aot_demo}/boards/nrf5340dk_nrf5340_cpuapp.conf (100%) rename apps/microtvm/zephyr/{demo_runtime => aot_demo}/boards/nucleo_f746zg.conf (100%) rename apps/microtvm/zephyr/{demo_runtime => aot_demo}/boards/qemu_riscv32.conf (100%) rename apps/microtvm/zephyr/{demo_runtime => aot_demo}/boards/qemu_riscv64.conf (100%) rename apps/microtvm/zephyr/{demo_runtime => aot_demo}/boards/qemu_x86.conf (100%) rename apps/microtvm/zephyr/{demo_runtime => aot_demo}/boards/stm32f746g_disco.conf (100%) rename apps/microtvm/zephyr/{demo_runtime => aot_demo}/crt/crt_config.h (100%) create mode 100644 apps/microtvm/zephyr/aot_demo/include/input_data.h create mode 100644 apps/microtvm/zephyr/aot_demo/include/output_data.h rename apps/microtvm/zephyr/{demo_runtime/zephyr_aot => aot_demo}/include/zephyr_uart.h (91%) rename apps/microtvm/zephyr/{demo_runtime => aot_demo}/prj.conf (100%) create mode 120000 apps/microtvm/zephyr/aot_demo/qemu-hack rename apps/microtvm/zephyr/{demo_runtime/zephyr_aot => aot_demo}/src/main.c (100%) create mode 100644 apps/microtvm/zephyr/host_driven_demo/CMakeLists.txt rename apps/microtvm/zephyr/{demo_runtime => host_driven_demo}/README.md (100%) create mode 100644 apps/microtvm/zephyr/host_driven_demo/boards/mps2_an521.conf create mode 100644 apps/microtvm/zephyr/host_driven_demo/boards/nrf5340dk_nrf5340_cpuapp.conf create mode 100644 apps/microtvm/zephyr/host_driven_demo/boards/nucleo_f746zg.conf create mode 100644 apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv32.conf create mode 100644 apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv64.conf create mode 100644 apps/microtvm/zephyr/host_driven_demo/boards/qemu_x86.conf create mode 100644 apps/microtvm/zephyr/host_driven_demo/boards/stm32f746g_disco.conf create mode 100644 apps/microtvm/zephyr/host_driven_demo/crt/crt_config.h create mode 100644 apps/microtvm/zephyr/host_driven_demo/prj.conf create mode 120000 apps/microtvm/zephyr/host_driven_demo/qemu-hack rename apps/microtvm/zephyr/{demo_runtime/host_driven => host_driven_demo}/src/main.c (100%) rename apps/microtvm/zephyr/{demo_runtime => }/qemu-hack/qemu-system-arm (100%) rename apps/microtvm/zephyr/{demo_runtime => }/qemu-hack/qemu-system-i386 (100%) rename apps/microtvm/zephyr/{demo_runtime => }/qemu-hack/qemu-system-riscv32 (100%) rename apps/microtvm/zephyr/{demo_runtime => }/qemu-hack/qemu-system-riscv64 (100%) diff --git a/apps/microtvm/zephyr/demo_runtime/CMakeLists.txt b/apps/microtvm/zephyr/aot_demo/CMakeLists.txt similarity index 72% rename from apps/microtvm/zephyr/demo_runtime/CMakeLists.txt rename to apps/microtvm/zephyr/aot_demo/CMakeLists.txt index 58ebcfcbda12..f04a792086cb 100644 --- a/apps/microtvm/zephyr/demo_runtime/CMakeLists.txt +++ b/apps/microtvm/zephyr/aot_demo/CMakeLists.txt @@ -11,16 +11,7 @@ project(microtvm_zephyr_runtime) set(CMAKE_VERBOSE_MAKEFILE ON) -if($ENV{ZEPHYR_RUNTIME} STREQUAL "HOST-DRIVEN") - target_sources(app PRIVATE - host_driven/src/main.c - ) -elseif($ENV{ZEPHYR_RUNTIME} STREQUAL "ZEPHYR-AOT") - file(GLOB TVM_SOURCES zephyr_aot/src/*.c) - target_sources(app PRIVATE - ${TVM_SOURCES} - ) -endif() +target_sources(app PRIVATE src/main.c) foreach(tvm_lib ${TVM_LIBS}) string(LENGTH ${tvm_lib} tvm_lib_length) diff --git a/apps/microtvm/zephyr/aot_demo/README.md b/apps/microtvm/zephyr/aot_demo/README.md new file mode 100644 index 000000000000..a718da65e2fa --- /dev/null +++ b/apps/microtvm/zephyr/aot_demo/README.md @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + +This directory contains a Zephyr-based ahead of time (AOT) "demo" runtime environment that +pulls together the microTVM runtime dependencies into a single application +that can run TVM on a microTVM device without the need to a host. diff --git a/apps/microtvm/zephyr/demo_runtime/boards/mps2_an521.conf b/apps/microtvm/zephyr/aot_demo/boards/mps2_an521.conf similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/boards/mps2_an521.conf rename to apps/microtvm/zephyr/aot_demo/boards/mps2_an521.conf diff --git a/apps/microtvm/zephyr/demo_runtime/boards/nrf5340dk_nrf5340_cpuapp.conf b/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/boards/nrf5340dk_nrf5340_cpuapp.conf rename to apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf diff --git a/apps/microtvm/zephyr/demo_runtime/boards/nucleo_f746zg.conf b/apps/microtvm/zephyr/aot_demo/boards/nucleo_f746zg.conf similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/boards/nucleo_f746zg.conf rename to apps/microtvm/zephyr/aot_demo/boards/nucleo_f746zg.conf diff --git a/apps/microtvm/zephyr/demo_runtime/boards/qemu_riscv32.conf b/apps/microtvm/zephyr/aot_demo/boards/qemu_riscv32.conf similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/boards/qemu_riscv32.conf rename to apps/microtvm/zephyr/aot_demo/boards/qemu_riscv32.conf diff --git a/apps/microtvm/zephyr/demo_runtime/boards/qemu_riscv64.conf b/apps/microtvm/zephyr/aot_demo/boards/qemu_riscv64.conf similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/boards/qemu_riscv64.conf rename to apps/microtvm/zephyr/aot_demo/boards/qemu_riscv64.conf diff --git a/apps/microtvm/zephyr/demo_runtime/boards/qemu_x86.conf b/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/boards/qemu_x86.conf rename to apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf diff --git a/apps/microtvm/zephyr/demo_runtime/boards/stm32f746g_disco.conf b/apps/microtvm/zephyr/aot_demo/boards/stm32f746g_disco.conf similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/boards/stm32f746g_disco.conf rename to apps/microtvm/zephyr/aot_demo/boards/stm32f746g_disco.conf diff --git a/apps/microtvm/zephyr/demo_runtime/crt/crt_config.h b/apps/microtvm/zephyr/aot_demo/crt/crt_config.h similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/crt/crt_config.h rename to apps/microtvm/zephyr/aot_demo/crt/crt_config.h diff --git a/apps/microtvm/zephyr/aot_demo/include/input_data.h b/apps/microtvm/zephyr/aot_demo/include/input_data.h new file mode 100644 index 000000000000..a1bb4aa19b0e --- /dev/null +++ b/apps/microtvm/zephyr/aot_demo/include/input_data.h @@ -0,0 +1,6 @@ +#include +#include +#include +const size_t input_data_len = 3072; +float input_data[] = {147.0, 157.0, 175.0, 146.0, 157.0, 175.0, 149.0, 161.0, 179.0, 153.0, 165.0, 182.0, 155.0, 167.0, 183.0, 155.0, 169.0, 186.0, 156.0, 171.0, 189.0, 159.0, 173.0, 190.0, 163.0, 177.0, 193.0, 167.0, 180.0, 194.0, 172.0, 183.0, 195.0, 176.0, 186.0, 197.0, 178.0, 186.0, 198.0, 179.0, 187.0, 200.0, 179.0, 190.0, 201.0, 179.0, 190.0, 202.0, 178.0, 191.0, 204.0, 178.0, 192.0, 205.0, 178.0, 192.0, 205.0, 179.0, 192.0, 205.0, 175.0, 191.0, 203.0, 172.0, 191.0, 202.0, 175.0, 190.0, 203.0, 176.0, 190.0, 203.0, 177.0, 189.0, 203.0, 179.0, 189.0, 202.0, 179.0, 189.0, 198.0, 179.0, 188.0, 197.0, 177.0, 186.0, 196.0, 175.0, 183.0, 196.0, 172.0, 180.0, 193.0, 169.0, 177.0, 190.0, 151.0, 158.0, 176.0, 149.0, 158.0, 176.0, 151.0, 162.0, 179.0, 156.0, 166.0, 182.0, 159.0, 168.0, 185.0, 160.0, 171.0, 187.0, 162.0, 174.0, 190.0, 168.0, 177.0, 191.0, 174.0, 180.0, 192.0, 177.0, 183.0, 194.0, 179.0, 185.0, 195.0, 177.0, 188.0, 196.0, 178.0, 187.0, 196.0, 180.0, 189.0, 198.0, 182.0, 191.0, 200.0, 183.0, 191.0, 200.0, 183.0, 192.0, 202.0, 183.0, 193.0, 203.0, 183.0, 192.0, 203.0, 183.0, 192.0, 203.0, 181.0, 192.0, 202.0, 180.0, 192.0, 202.0, 180.0, 191.0, 201.0, 180.0, 190.0, 201.0, 180.0, 190.0, 201.0, 179.0, 189.0, 198.0, 178.0, 188.0, 195.0, 178.0, 187.0, 195.0, 176.0, 185.0, 195.0, 174.0, 182.0, 195.0, 171.0, 179.0, 192.0, 169.0, 177.0, 190.0, 159.0, 163.0, 176.0, 158.0, 163.0, 177.0, 159.0, 166.0, 180.0, 161.0, 169.0, 182.0, 164.0, 172.0, 185.0, 167.0, 174.0, 187.0, 170.0, 177.0, 190.0, 174.0, 180.0, 192.0, 179.0, 181.0, 193.0, 180.0, 184.0, 195.0, 181.0, 187.0, 196.0, 181.0, 189.0, 197.0, 182.0, 191.0, 199.0, 182.0, 191.0, 200.0, 182.0, 191.0, 200.0, 184.0, 192.0, 202.0, 185.0, 194.0, 203.0, 185.0, 195.0, 204.0, 184.0, 194.0, 203.0, 183.0, 193.0, 202.0, 182.0, 194.0, 202.0, 182.0, 194.0, 203.0, 182.0, 192.0, 201.0, 181.0, 191.0, 200.0, 181.0, 191.0, 200.0, 181.0, 190.0, 199.0, 180.0, 189.0, 197.0, 179.0, 188.0, 196.0, 178.0, 186.0, 194.0, 177.0, 184.0, 194.0, 174.0, 181.0, 192.0, 171.0, 180.0, 189.0, 166.0, 167.0, 176.0, 165.0, 167.0, 177.0, 166.0, 169.0, 180.0, 167.0, 171.0, 182.0, 169.0, 175.0, 185.0, 173.0, 176.0, 187.0, 176.0, 178.0, 190.0, 179.0, 181.0, 193.0, 181.0, 183.0, 195.0, 181.0, 185.0, 196.0, 181.0, 187.0, 195.0, 182.0, 189.0, 197.0, 182.0, 191.0, 200.0, 182.0, 191.0, 200.0, 184.0, 194.0, 202.0, 185.0, 195.0, 204.0, 184.0, 194.0, 203.0, 184.0, 194.0, 203.0, 183.0, 193.0, 202.0, 183.0, 193.0, 202.0, 182.0, 194.0, 202.0, 181.0, 194.0, 202.0, 181.0, 192.0, 201.0, 181.0, 191.0, 200.0, 181.0, 191.0, 200.0, 181.0, 190.0, 200.0, 180.0, 189.0, 198.0, 179.0, 188.0, 195.0, 178.0, 186.0, 194.0, 177.0, 184.0, 194.0, 174.0, 181.0, 191.0, 171.0, 180.0, 189.0, 168.0, 166.0, 173.0, 167.0, 166.0, 176.0, 169.0, 169.0, 179.0, 170.0, 171.0, 180.0, 172.0, 175.0, 183.0, 174.0, 176.0, 185.0, 177.0, 178.0, 187.0, 179.0, 180.0, 190.0, 179.0, 181.0, 193.0, 180.0, 184.0, 194.0, 180.0, 187.0, 195.0, 182.0, 189.0, 197.0, 182.0, 191.0, 200.0, 180.0, 190.0, 198.0, 169.0, 178.0, 188.0, 170.0, 180.0, 191.0, 183.0, 193.0, 202.0, 184.0, 192.0, 201.0, 184.0, 193.0, 202.0, 184.0, 193.0, 202.0, 182.0, 194.0, 202.0, 181.0, 194.0, 202.0, 181.0, 193.0, 201.0, 182.0, 191.0, 201.0, 182.0, 191.0, 200.0, 181.0, 190.0, 199.0, 180.0, 189.0, 197.0, 179.0, 188.0, 195.0, 178.0, 186.0, 194.0, 177.0, 184.0, 194.0, 173.0, 181.0, 191.0, 168.0, 178.0, 187.0, 166.0, 163.0, 172.0, 166.0, 165.0, 174.0, 168.0, 168.0, 178.0, 171.0, 171.0, 180.0, 173.0, 173.0, 181.0, 174.0, 175.0, 184.0, 175.0, 177.0, 186.0, 176.0, 179.0, 188.0, 178.0, 181.0, 190.0, 179.0, 183.0, 192.0, 180.0, 187.0, 195.0, 181.0, 188.0, 196.0, 182.0, 191.0, 198.0, 179.0, 188.0, 197.0, 91.0, 111.0, 134.0, 79.0, 109.0, 138.0, 169.0, 184.0, 198.0, 187.0, 194.0, 204.0, 184.0, 193.0, 203.0, 185.0, 194.0, 203.0, 184.0, 194.0, 203.0, 183.0, 195.0, 203.0, 183.0, 193.0, 202.0, 184.0, 192.0, 202.0, 183.0, 192.0, 200.0, 181.0, 190.0, 197.0, 180.0, 189.0, 196.0, 179.0, 188.0, 195.0, 177.0, 186.0, 194.0, 176.0, 183.0, 193.0, 173.0, 180.0, 190.0, 168.0, 179.0, 188.0, 165.0, 162.0, 171.0, 164.0, 164.0, 171.0, 167.0, 168.0, 174.0, 170.0, 171.0, 178.0, 172.0, 172.0, 180.0, 173.0, 174.0, 183.0, 173.0, 176.0, 185.0, 175.0, 178.0, 187.0, 177.0, 180.0, 189.0, 178.0, 182.0, 191.0, 179.0, 186.0, 194.0, 180.0, 187.0, 195.0, 183.0, 187.0, 196.0, 185.0, 190.0, 198.0, 104.0, 114.0, 131.0, 105.0, 130.0, 155.0, 180.0, 195.0, 207.0, 185.0, 192.0, 201.0, 185.0, 194.0, 204.0, 185.0, 194.0, 204.0, 186.0, 194.0, 203.0, 186.0, 193.0, 203.0, 185.0, 193.0, 201.0, 183.0, 193.0, 199.0, 183.0, 192.0, 199.0, 181.0, 190.0, 197.0, 180.0, 189.0, 196.0, 179.0, 188.0, 195.0, 177.0, 186.0, 194.0, 176.0, 183.0, 193.0, 173.0, 180.0, 190.0, 172.0, 179.0, 189.0, 165.0, 160.0, 169.0, 164.0, 163.0, 169.0, 167.0, 167.0, 172.0, 169.0, 169.0, 176.0, 170.0, 170.0, 178.0, 171.0, 173.0, 181.0, 172.0, 175.0, 184.0, 174.0, 177.0, 186.0, 176.0, 179.0, 188.0, 177.0, 181.0, 191.0, 179.0, 184.0, 194.0, 180.0, 186.0, 194.0, 181.0, 188.0, 196.0, 180.0, 182.0, 190.0, 151.0, 143.0, 146.0, 191.0, 188.0, 188.0, 215.0, 217.0, 219.0, 184.0, 188.0, 194.0, 183.0, 190.0, 196.0, 184.0, 192.0, 199.0, 185.0, 192.0, 200.0, 186.0, 192.0, 202.0, 188.0, 195.0, 201.0, 189.0, 197.0, 200.0, 182.0, 192.0, 197.0, 181.0, 190.0, 197.0, 179.0, 188.0, 196.0, 178.0, 187.0, 195.0, 177.0, 186.0, 194.0, 175.0, 183.0, 192.0, 172.0, 179.0, 189.0, 170.0, 176.0, 186.0, 165.0, 158.0, 167.0, 164.0, 161.0, 169.0, 166.0, 165.0, 173.0, 166.0, 166.0, 174.0, 168.0, 168.0, 176.0, 169.0, 171.0, 179.0, 170.0, 174.0, 183.0, 173.0, 176.0, 185.0, 175.0, 178.0, 187.0, 177.0, 180.0, 190.0, 179.0, 181.0, 194.0, 181.0, 183.0, 192.0, 181.0, 185.0, 193.0, 177.0, 183.0, 191.0, 158.0, 159.0, 166.0, 181.0, 182.0, 183.0, 215.0, 219.0, 222.0, 184.0, 192.0, 200.0, 184.0, 192.0, 197.0, 183.0, 190.0, 195.0, 178.0, 186.0, 193.0, 179.0, 188.0, 195.0, 186.0, 193.0, 198.0, 194.0, 199.0, 204.0, 180.0, 190.0, 197.0, 179.0, 188.0, 195.0, 177.0, 186.0, 194.0, 175.0, 184.0, 193.0, 174.0, 183.0, 192.0, 171.0, 180.0, 189.0, 168.0, 177.0, 186.0, 166.0, 175.0, 184.0, 164.0, 157.0, 165.0, 162.0, 159.0, 167.0, 164.0, 163.0, 171.0, 165.0, 165.0, 173.0, 167.0, 167.0, 175.0, 168.0, 170.0, 178.0, 169.0, 172.0, 181.0, 172.0, 175.0, 184.0, 174.0, 177.0, 186.0, 176.0, 179.0, 189.0, 178.0, 180.0, 190.0, 179.0, 182.0, 188.0, 180.0, 182.0, 191.0, 181.0, 187.0, 194.0, 174.0, 176.0, 179.0, 187.0, 188.0, 192.0, 220.0, 224.0, 229.0, 187.0, 195.0, 202.0, 182.0, 193.0, 199.0, 181.0, 191.0, 200.0, 180.0, 190.0, 197.0, 180.0, 189.0, 197.0, 184.0, 191.0, 196.0, 189.0, 193.0, 199.0, 179.0, 189.0, 196.0, 176.0, 186.0, 192.0, 175.0, 184.0, 191.0, 172.0, 181.0, 190.0, 171.0, 180.0, 189.0, 170.0, 179.0, 188.0, 167.0, 176.0, 185.0, 165.0, 174.0, 183.0, 161.0, 156.0, 165.0, 161.0, 157.0, 166.0, 159.0, 158.0, 168.0, 159.0, 160.0, 167.0, 165.0, 165.0, 174.0, 163.0, 166.0, 174.0, 166.0, 170.0, 179.0, 169.0, 173.0, 184.0, 171.0, 176.0, 186.0, 172.0, 177.0, 186.0, 175.0, 178.0, 187.0, 174.0, 181.0, 189.0, 172.0, 183.0, 191.0, 176.0, 182.0, 189.0, 157.0, 155.0, 157.0, 181.0, 178.0, 181.0, 222.0, 228.0, 232.0, 199.0, 207.0, 213.0, 179.0, 189.0, 197.0, 181.0, 191.0, 200.0, 178.0, 188.0, 196.0, 176.0, 187.0, 194.0, 183.0, 192.0, 198.0, 189.0, 193.0, 198.0, 179.0, 188.0, 195.0, 174.0, 184.0, 192.0, 173.0, 182.0, 191.0, 171.0, 181.0, 190.0, 170.0, 180.0, 189.0, 169.0, 179.0, 188.0, 167.0, 177.0, 186.0, 165.0, 174.0, 183.0, 158.0, 155.0, 164.0, 156.0, 156.0, 166.0, 155.0, 152.0, 154.0, 159.0, 155.0, 154.0, 162.0, 163.0, 173.0, 154.0, 154.0, 158.0, 164.0, 167.0, 176.0, 166.0, 173.0, 183.0, 168.0, 173.0, 183.0, 170.0, 173.0, 183.0, 171.0, 177.0, 186.0, 170.0, 176.0, 183.0, 173.0, 177.0, 181.0, 189.0, 196.0, 203.0, 197.0, 196.0, 200.0, 197.0, 203.0, 210.0, 201.0, 219.0, 232.0, 195.0, 211.0, 218.0, 169.0, 184.0, 194.0, 203.0, 211.0, 216.0, 198.0, 206.0, 210.0, 179.0, 190.0, 195.0, 180.0, 189.0, 195.0, 195.0, 199.0, 203.0, 180.0, 188.0, 195.0, 174.0, 183.0, 192.0, 172.0, 181.0, 190.0, 169.0, 179.0, 188.0, 168.0, 178.0, 187.0, 167.0, 177.0, 186.0, 166.0, 176.0, 185.0, 164.0, 173.0, 182.0, 155.0, 152.0, 161.0, 155.0, 153.0, 164.0, 159.0, 150.0, 150.0, 177.0, 167.0, 161.0, 159.0, 160.0, 169.0, 164.0, 155.0, 153.0, 167.0, 169.0, 176.0, 167.0, 168.0, 178.0, 168.0, 168.0, 174.0, 166.0, 173.0, 179.0, 172.0, 178.0, 186.0, 178.0, 178.0, 179.0, 189.0, 186.0, 185.0, 218.0, 219.0, 221.0, 239.0, 237.0, 237.0, 231.0, 235.0, 238.0, 211.0, 223.0, 231.0, 207.0, 218.0, 222.0, 167.0, 180.0, 186.0, 186.0, 194.0, 196.0, 199.0, 209.0, 209.0, 204.0, 210.0, 213.0, 201.0, 205.0, 211.0, 207.0, 211.0, 215.0, 185.0, 193.0, 200.0, 169.0, 178.0, 187.0, 170.0, 180.0, 189.0, 168.0, 178.0, 187.0, 167.0, 177.0, 186.0, 166.0, 177.0, 185.0, 165.0, 175.0, 184.0, 163.0, 172.0, 181.0, 154.0, 154.0, 165.0, 155.0, 155.0, 163.0, 167.0, 161.0, 162.0, 191.0, 180.0, 173.0, 160.0, 161.0, 169.0, 186.0, 176.0, 173.0, 184.0, 182.0, 185.0, 192.0, 186.0, 191.0, 197.0, 194.0, 197.0, 187.0, 189.0, 194.0, 189.0, 189.0, 197.0, 206.0, 199.0, 201.0, 209.0, 201.0, 200.0, 213.0, 210.0, 206.0, 227.0, 225.0, 223.0, 232.0, 231.0, 228.0, 230.0, 230.0, 227.0, 238.0, 235.0, 235.0, 218.0, 218.0, 219.0, 199.0, 202.0, 204.0, 203.0, 207.0, 208.0, 227.0, 228.0, 228.0, 220.0, 221.0, 226.0, 222.0, 224.0, 229.0, 209.0, 213.0, 219.0, 178.0, 183.0, 191.0, 167.0, 172.0, 182.0, 168.0, 178.0, 185.0, 166.0, 178.0, 185.0, 163.0, 176.0, 183.0, 161.0, 172.0, 179.0, 160.0, 170.0, 179.0, 151.0, 139.0, 138.0, 150.0, 139.0, 140.0, 167.0, 156.0, 150.0, 197.0, 185.0, 177.0, 185.0, 180.0, 181.0, 194.0, 186.0, 177.0, 200.0, 193.0, 184.0, 197.0, 187.0, 186.0, 186.0, 177.0, 178.0, 157.0, 153.0, 160.0, 135.0, 137.0, 149.0, 161.0, 159.0, 167.0, 209.0, 202.0, 203.0, 210.0, 209.0, 208.0, 227.0, 226.0, 227.0, 219.0, 219.0, 221.0, 215.0, 214.0, 216.0, 215.0, 197.0, 197.0, 215.0, 191.0, 186.0, 214.0, 210.0, 209.0, 202.0, 199.0, 202.0, 213.0, 208.0, 210.0, 225.0, 219.0, 222.0, 222.0, 216.0, 222.0, 233.0, 229.0, 233.0, 214.0, 215.0, 218.0, 193.0, 194.0, 200.0, 186.0, 191.0, 197.0, 168.0, 176.0, 184.0, 160.0, 170.0, 179.0, 159.0, 161.0, 168.0, 161.0, 169.0, 180.0, 152.0, 116.0, 97.0, 146.0, 112.0, 97.0, 163.0, 133.0, 119.0, 210.0, 196.0, 189.0, 209.0, 194.0, 188.0, 201.0, 187.0, 177.0, 186.0, 174.0, 164.0, 147.0, 135.0, 134.0, 133.0, 120.0, 122.0, 131.0, 123.0, 130.0, 132.0, 122.0, 131.0, 173.0, 167.0, 172.0, 218.0, 216.0, 219.0, 207.0, 204.0, 208.0, 203.0, 202.0, 206.0, 204.0, 203.0, 207.0, 214.0, 211.0, 212.0, 202.0, 189.0, 188.0, 198.0, 181.0, 179.0, 204.0, 199.0, 201.0, 204.0, 196.0, 199.0, 201.0, 194.0, 201.0, 206.0, 195.0, 198.0, 205.0, 195.0, 199.0, 203.0, 196.0, 197.0, 201.0, 198.0, 196.0, 217.0, 213.0, 215.0, 209.0, 206.0, 210.0, 177.0, 175.0, 180.0, 162.0, 158.0, 160.0, 158.0, 141.0, 137.0, 156.0, 142.0, 144.0, 197.0, 138.0, 101.0, 198.0, 133.0, 94.0, 189.0, 135.0, 115.0, 176.0, 151.0, 148.0, 155.0, 138.0, 134.0, 189.0, 175.0, 172.0, 179.0, 166.0, 162.0, 144.0, 131.0, 133.0, 137.0, 129.0, 134.0, 161.0, 153.0, 159.0, 178.0, 169.0, 173.0, 228.0, 224.0, 226.0, 217.0, 216.0, 218.0, 212.0, 211.0, 213.0, 214.0, 214.0, 216.0, 212.0, 212.0, 213.0, 216.0, 217.0, 218.0, 186.0, 189.0, 197.0, 169.0, 172.0, 183.0, 174.0, 176.0, 187.0, 167.0, 167.0, 176.0, 165.0, 167.0, 176.0, 172.0, 170.0, 177.0, 161.0, 159.0, 165.0, 193.0, 190.0, 194.0, 232.0, 230.0, 230.0, 240.0, 237.0, 239.0, 236.0, 236.0, 239.0, 201.0, 188.0, 185.0, 171.0, 136.0, 121.0, 167.0, 122.0, 99.0, 171.0, 128.0, 109.0, 207.0, 141.0, 95.0, 182.0, 133.0, 110.0, 167.0, 136.0, 127.0, 155.0, 139.0, 144.0, 148.0, 134.0, 134.0, 181.0, 171.0, 167.0, 166.0, 151.0, 149.0, 150.0, 135.0, 136.0, 147.0, 137.0, 141.0, 147.0, 136.0, 140.0, 171.0, 161.0, 165.0, 236.0, 232.0, 234.0, 212.0, 212.0, 212.0, 213.0, 213.0, 213.0, 221.0, 221.0, 221.0, 220.0, 220.0, 219.0, 222.0, 223.0, 222.0, 213.0, 214.0, 218.0, 191.0, 191.0, 199.0, 196.0, 196.0, 204.0, 189.0, 189.0, 195.0, 194.0, 194.0, 198.0, 196.0, 193.0, 199.0, 190.0, 185.0, 191.0, 218.0, 215.0, 218.0, 235.0, 234.0, 234.0, 228.0, 226.0, 227.0, 223.0, 224.0, 225.0, 222.0, 222.0, 220.0, 202.0, 184.0, 175.0, 173.0, 133.0, 111.0, 172.0, 127.0, 104.0, 203.0, 145.0, 104.0, 153.0, 127.0, 108.0, 119.0, 107.0, 107.0, 130.0, 118.0, 123.0, 143.0, 129.0, 130.0, 157.0, 150.0, 150.0, 156.0, 150.0, 149.0, 173.0, 165.0, 164.0, 181.0, 174.0, 174.0, 224.0, 218.0, 218.0, 221.0, 218.0, 217.0, 207.0, 207.0, 206.0, 221.0, 220.0, 219.0, 219.0, 218.0, 218.0, 220.0, 218.0, 219.0, 217.0, 216.0, 216.0, 218.0, 220.0, 220.0, 233.0, 237.0, 236.0, 211.0, 215.0, 217.0, 202.0, 206.0, 209.0, 205.0, 211.0, 212.0, 206.0, 212.0, 213.0, 205.0, 212.0, 214.0, 216.0, 223.0, 226.0, 224.0, 231.0, 234.0, 208.0, 213.0, 217.0, 204.0, 211.0, 215.0, 204.0, 212.0, 214.0, 212.0, 222.0, 228.0, 214.0, 207.0, 203.0, 193.0, 149.0, 125.0, 192.0, 137.0, 108.0, 181.0, 128.0, 96.0, 127.0, 102.0, 90.0, 90.0, 83.0, 89.0, 92.0, 90.0, 97.0, 91.0, 92.0, 100.0, 103.0, 109.0, 118.0, 109.0, 121.0, 129.0, 149.0, 162.0, 169.0, 155.0, 166.0, 172.0, 209.0, 220.0, 223.0, 201.0, 210.0, 213.0, 191.0, 200.0, 203.0, 205.0, 213.0, 219.0, 205.0, 213.0, 220.0, 208.0, 218.0, 224.0, 208.0, 220.0, 226.0, 213.0, 223.0, 227.0, 222.0, 231.0, 235.0, 216.0, 226.0, 232.0, 215.0, 225.0, 231.0, 217.0, 227.0, 232.0, 219.0, 229.0, 234.0, 221.0, 230.0, 234.0, 227.0, 234.0, 236.0, 230.0, 236.0, 239.0, 228.0, 234.0, 237.0, 229.0, 234.0, 237.0, 232.0, 235.0, 237.0, 232.0, 234.0, 237.0, 216.0, 212.0, 207.0, 218.0, 203.0, 191.0, 224.0, 213.0, 196.0, 160.0, 117.0, 92.0, 84.0, 74.0, 72.0, 51.0, 56.0, 64.0, 45.0, 54.0, 62.0, 52.0, 63.0, 72.0, 61.0, 72.0, 83.0, 74.0, 85.0, 98.0, 101.0, 112.0, 127.0, 153.0, 166.0, 177.0, 214.0, 223.0, 228.0, 222.0, 227.0, 232.0, 225.0, 230.0, 235.0, 228.0, 233.0, 236.0, 229.0, 235.0, 238.0, 232.0, 236.0, 238.0, 233.0, 237.0, 240.0, 236.0, 238.0, 240.0, 238.0, 239.0, 240.0, 241.0, 241.0, 242.0, 242.0, 243.0, 244.0, 243.0, 243.0, 243.0, 244.0, 243.0, 243.0, 244.0, 243.0, 243.0, 245.0, 245.0, 245.0, 245.0, 244.0, 244.0, 241.0, 241.0, 240.0, 241.0, 240.0, 240.0, 242.0, 240.0, 240.0, 230.0, 227.0, 226.0, 210.0, 202.0, 194.0, 220.0, 208.0, 196.0, 218.0, 209.0, 194.0, 152.0, 119.0, 93.0, 118.0, 106.0, 102.0, 102.0, 100.0, 96.0, 102.0, 105.0, 105.0, 125.0, 127.0, 129.0, 139.0, 140.0, 142.0, 156.0, 153.0, 157.0, 198.0, 191.0, 194.0, 223.0, 220.0, 220.0, 229.0, 228.0, 229.0, 241.0, 237.0, 239.0, 241.0, 237.0, 238.0, 245.0, 241.0, 239.0, 243.0, 240.0, 238.0, 243.0, 241.0, 240.0, 243.0, 241.0, 238.0, 243.0, 242.0, 240.0, 242.0, 242.0, 241.0, 243.0, 243.0, 241.0, 243.0, 241.0, 241.0, 243.0, 241.0, 243.0, 244.0, 242.0, 244.0, 244.0, 242.0, 244.0, 244.0, 243.0, 246.0, 246.0, 244.0, 245.0, 245.0, 242.0, 242.0, 245.0, 243.0, 242.0, 235.0, 235.0, 236.0, 177.0, 176.0, 176.0, 150.0, 145.0, 136.0, 150.0, 142.0, 131.0, 138.0, 132.0, 119.0, 103.0, 79.0, 65.0, 121.0, 114.0, 112.0, 123.0, 121.0, 117.0, 128.0, 129.0, 125.0, 146.0, 147.0, 144.0, 163.0, 164.0, 161.0, 195.0, 192.0, 190.0, 234.0, 229.0, 228.0, 238.0, 236.0, 236.0, 235.0, 234.0, 234.0, 235.0, 233.0, 234.0, 236.0, 235.0, 236.0, 241.0, 240.0, 241.0, 239.0, 237.0, 239.0, 241.0, 239.0, 242.0, 245.0, 241.0, 243.0, 239.0, 235.0, 237.0, 245.0, 243.0, 242.0, 246.0, 245.0, 246.0, 249.0, 246.0, 247.0, 247.0, 247.0, 245.0, 248.0, 247.0, 248.0, 245.0, 244.0, 244.0, 242.0, 241.0, 240.0, 240.0, 239.0, 240.0, 234.0, 234.0, 236.0, 220.0, 221.0, 222.0, 188.0, 195.0, 190.0, 139.0, 149.0, 143.0, 115.0, 127.0, 122.0, 103.0, 119.0, 112.0, 97.0, 113.0, 108.0, 70.0, 53.0, 48.0, 111.0, 104.0, 100.0, 123.0, 122.0, 118.0, 129.0, 131.0, 128.0, 142.0, 144.0, 142.0, 157.0, 159.0, 156.0, 192.0, 189.0, 189.0, 224.0, 220.0, 219.0, 228.0, 226.0, 223.0, 231.0, 230.0, 226.0, 235.0, 234.0, 230.0, 239.0, 237.0, 234.0, 242.0, 239.0, 240.0, 245.0, 242.0, 242.0, 247.0, 244.0, 244.0, 219.0, 224.0, 216.0, 193.0, 200.0, 185.0, 188.0, 204.0, 187.0, 185.0, 209.0, 188.0, 190.0, 210.0, 189.0, 219.0, 223.0, 222.0, 220.0, 223.0, 225.0, 209.0, 213.0, 211.0, 200.0, 204.0, 198.0, 192.0, 197.0, 193.0, 188.0, 195.0, 191.0, 176.0, 184.0, 178.0, 164.0, 174.0, 165.0, 155.0, 171.0, 161.0, 134.0, 157.0, 152.0, 117.0, 145.0, 140.0, 110.0, 138.0, 137.0, 56.0, 44.0, 47.0, 66.0, 60.0, 58.0, 114.0, 114.0, 109.0, 128.0, 130.0, 127.0, 137.0, 138.0, 136.0, 152.0, 154.0, 150.0, 178.0, 178.0, 174.0, 194.0, 194.0, 190.0, 192.0, 195.0, 189.0, 192.0, 195.0, 190.0, 194.0, 197.0, 192.0, 196.0, 199.0, 195.0, 197.0, 200.0, 199.0, 203.0, 205.0, 203.0, 193.0, 196.0, 194.0, 141.0, 154.0, 136.0, 104.0, 124.0, 107.0, 99.0, 123.0, 114.0, 113.0, 149.0, 114.0, 123.0, 158.0, 137.0, 174.0, 185.0, 180.0, 180.0, 188.0, 184.0, 175.0, 184.0, 178.0, 172.0, 181.0, 174.0, 162.0, 172.0, 166.0, 160.0, 174.0, 167.0, 149.0, 164.0, 158.0, 138.0, 154.0, 150.0, 129.0, 148.0, 144.0, 116.0, 139.0, 137.0, 106.0, 132.0, 129.0, 101.0, 127.0, 125.0, 26.0, 22.0, 23.0, 27.0, 25.0, 28.0, 71.0, 71.0, 74.0, 89.0, 94.0, 97.0, 95.0, 101.0, 106.0, 112.0, 116.0, 117.0, 119.0, 121.0, 118.0, 111.0, 117.0, 110.0, 113.0, 123.0, 111.0, 120.0, 129.0, 118.0, 122.0, 131.0, 122.0, 134.0, 143.0, 134.0, 149.0, 160.0, 150.0, 160.0, 170.0, 161.0, 166.0, 175.0, 168.0, 155.0, 169.0, 159.0, 141.0, 156.0, 151.0, 141.0, 151.0, 152.0, 152.0, 158.0, 155.0, 154.0, 166.0, 164.0, 163.0, 176.0, 171.0, 155.0, 168.0, 164.0, 144.0, 159.0, 154.0, 133.0, 151.0, 145.0, 131.0, 148.0, 144.0, 135.0, 152.0, 149.0, 128.0, 147.0, 145.0, 120.0, 142.0, 140.0, 116.0, 139.0, 136.0, 109.0, 134.0, 131.0, 103.0, 128.0, 126.0, 101.0, 125.0, 124.0, 75.0, 78.0, 69.0, 77.0, 80.0, 70.0, 75.0, 81.0, 70.0, 74.0, 85.0, 75.0, 81.0, 93.0, 85.0, 91.0, 102.0, 90.0, 105.0, 115.0, 100.0, 124.0, 131.0, 118.0, 141.0, 146.0, 134.0, 152.0, 157.0, 146.0, 162.0, 167.0, 158.0, 165.0, 170.0, 161.0, 164.0, 174.0, 163.0, 169.0, 179.0, 169.0, 174.0, 179.0, 172.0, 172.0, 181.0, 173.0, 169.0, 180.0, 172.0, 154.0, 169.0, 159.0, 145.0, 163.0, 156.0, 142.0, 158.0, 153.0, 138.0, 155.0, 152.0, 132.0, 149.0, 148.0, 131.0, 149.0, 147.0, 125.0, 146.0, 143.0, 123.0, 144.0, 142.0, 123.0, 145.0, 144.0, 122.0, 144.0, 143.0, 121.0, 143.0, 141.0, 116.0, 139.0, 137.0, 111.0, 135.0, 133.0, 105.0, 129.0, 127.0, 100.0, 124.0, 124.0, 91.0, 94.0, 85.0, 88.0, 93.0, 82.0, 87.0, 96.0, 83.0, 89.0, 99.0, 88.0, 94.0, 105.0, 94.0, 100.0, 112.0, 101.0, 114.0, 125.0, 114.0, 135.0, 141.0, 133.0, 152.0, 154.0, 149.0, 159.0, 162.0, 157.0, 163.0, 167.0, 162.0, 165.0, 169.0, 164.0, 163.0, 170.0, 165.0, 162.0, 171.0, 165.0, 159.0, 166.0, 164.0, 158.0, 166.0, 165.0, 156.0, 165.0, 163.0, 143.0, 156.0, 153.0, 134.0, 149.0, 149.0, 135.0, 150.0, 150.0, 126.0, 146.0, 146.0, 123.0, 143.0, 144.0, 125.0, 144.0, 145.0, 127.0, 145.0, 145.0, 126.0, 146.0, 146.0, 121.0, 143.0, 144.0, 116.0, 138.0, 139.0, 113.0, 135.0, 137.0, 127.0, 143.0, 142.0, 167.0, 170.0, 169.0, 157.0, 162.0, 159.0, 105.0, 126.0, 123.0, 89.0, 92.0, 87.0, 85.0, 93.0, 86.0, 87.0, 96.0, 89.0, 87.0, 99.0, 93.0, 90.0, 104.0, 98.0, 96.0, 110.0, 104.0, 104.0, 116.0, 111.0, 117.0, 125.0, 121.0, 129.0, 136.0, 132.0, 140.0, 147.0, 143.0, 144.0, 154.0, 149.0, 142.0, 151.0, 146.0, 150.0, 157.0, 153.0, 144.0, 156.0, 151.0, 148.0, 159.0, 157.0, 144.0, 154.0, 153.0, 144.0, 156.0, 154.0, 136.0, 153.0, 150.0, 129.0, 147.0, 146.0, 131.0, 149.0, 149.0, 124.0, 143.0, 144.0, 118.0, 139.0, 140.0, 118.0, 139.0, 140.0, 120.0, 141.0, 142.0, 118.0, 141.0, 141.0, 106.0, 133.0, 132.0, 101.0, 127.0, 125.0, 116.0, 136.0, 134.0, 157.0, 157.0, 159.0, 159.0, 143.0, 137.0, 145.0, 124.0, 115.0, 122.0, 125.0, 120.0, 86.0, 94.0, 90.0, 84.0, 95.0, 91.0, 86.0, 99.0, 94.0, 86.0, 102.0, 98.0, 87.0, 105.0, 102.0, 91.0, 109.0, 105.0, 97.0, 112.0, 109.0, 105.0, 118.0, 116.0, 112.0, 126.0, 124.0, 120.0, 134.0, 131.0, 125.0, 137.0, 136.0, 132.0, 144.0, 142.0, 136.0, 146.0, 145.0, 128.0, 142.0, 139.0, 137.0, 148.0, 147.0, 140.0, 150.0, 149.0, 139.0, 151.0, 149.0, 131.0, 148.0, 145.0, 127.0, 146.0, 144.0, 127.0, 145.0, 145.0, 116.0, 136.0, 137.0, 119.0, 141.0, 141.0, 115.0, 138.0, 138.0, 111.0, 135.0, 135.0, 108.0, 133.0, 132.0, 102.0, 128.0, 127.0, 100.0, 124.0, 122.0, 122.0, 129.0, 123.0, 161.0, 154.0, 151.0, 163.0, 150.0, 141.0, 166.0, 146.0, 134.0, 163.0, 160.0, 150.0, 83.0, 92.0, 90.0, 82.0, 94.0, 91.0, 84.0, 97.0, 93.0, 85.0, 100.0, 97.0, 87.0, 103.0, 101.0, 87.0, 105.0, 102.0, 90.0, 109.0, 106.0, 100.0, 117.0, 114.0, 107.0, 123.0, 120.0, 110.0, 125.0, 124.0, 114.0, 129.0, 129.0, 119.0, 133.0, 134.0, 118.0, 132.0, 133.0, 126.0, 140.0, 141.0, 133.0, 145.0, 144.0, 133.0, 144.0, 143.0, 129.0, 143.0, 142.0, 120.0, 138.0, 136.0, 116.0, 136.0, 135.0, 117.0, 136.0, 135.0, 110.0, 133.0, 132.0, 109.0, 134.0, 134.0, 107.0, 132.0, 131.0, 109.0, 131.0, 132.0, 120.0, 138.0, 140.0, 116.0, 132.0, 134.0, 99.0, 115.0, 121.0, 116.0, 121.0, 122.0, 181.0, 174.0, 160.0, 200.0, 193.0, 179.0, 190.0, 187.0, 174.0, 160.0, 165.0, 156.0, 82.0, 91.0, 88.0, 81.0, 92.0, 88.0, 82.0, 94.0, 90.0, 84.0, 98.0, 95.0, 87.0, 102.0, 99.0, 88.0, 104.0, 100.0, 88.0, 105.0, 102.0, 95.0, 111.0, 108.0, 102.0, 117.0, 114.0, 105.0, 120.0, 118.0, 109.0, 123.0, 124.0, 109.0, 123.0, 124.0, 110.0, 125.0, 126.0, 121.0, 135.0, 136.0, 120.0, 134.0, 132.0, 125.0, 139.0, 137.0, 127.0, 142.0, 142.0, 118.0, 137.0, 136.0, 114.0, 135.0, 134.0, 117.0, 137.0, 136.0, 117.0, 138.0, 138.0, 116.0, 136.0, 137.0, 115.0, 134.0, 136.0, 125.0, 140.0, 143.0, 132.0, 144.0, 148.0, 130.0, 143.0, 146.0, 111.0, 126.0, 131.0, 106.0, 118.0, 116.0, 147.0, 149.0, 134.0, 149.0, 152.0, 140.0, 127.0, 135.0, 128.0, 111.0, 126.0, 124.0, }; + diff --git a/apps/microtvm/zephyr/aot_demo/include/output_data.h b/apps/microtvm/zephyr/aot_demo/include/output_data.h new file mode 100644 index 000000000000..d45020b5bc67 --- /dev/null +++ b/apps/microtvm/zephyr/aot_demo/include/output_data.h @@ -0,0 +1,6 @@ +#include +#include +#include +const size_t output_data_len = 10; +float output_data[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, }; + diff --git a/apps/microtvm/zephyr/demo_runtime/zephyr_aot/include/zephyr_uart.h b/apps/microtvm/zephyr/aot_demo/include/zephyr_uart.h similarity index 91% rename from apps/microtvm/zephyr/demo_runtime/zephyr_aot/include/zephyr_uart.h rename to apps/microtvm/zephyr/aot_demo/include/zephyr_uart.h index 5466f4e38d51..0f4e96fc57cc 100644 --- a/apps/microtvm/zephyr/demo_runtime/zephyr_aot/include/zephyr_uart.h +++ b/apps/microtvm/zephyr/aot_demo/include/zephyr_uart.h @@ -17,8 +17,8 @@ * under the License. */ -#ifndef TVM_APPS_MICROTVM_ZEPHYR_DEMO_RUNTIME_ZEPHYR_AOT_INCLUDE_ZEPHYR_UART_H_ -#define TVM_APPS_MICROTVM_ZEPHYR_DEMO_RUNTIME_ZEPHYR_AOT_INCLUDE_ZEPHYR_UART_H_ +#ifndef TVM_APPS_MICROTVM_ZEPHYR_AOT_DEMO_INCLUDE_ZEPHYR_UART_H_ +#define TVM_APPS_MICROTVM_ZEPHYR_AOT_DEMO_INCLUDE_ZEPHYR_UART_H_ #include #include @@ -81,4 +81,4 @@ void TVMPlatformUARTInit() { uart_rx_init(&uart_rx_rbuf, g_utvm_uart); } -#endif /* TVM_APPS_MICROTVM_ZEPHYR_DEMO_RUNTIME_ZEPHYR_AOT_INCLUDE_ZEPHYR_UART_H_ */ +#endif /* TVM_APPS_MICROTVM_ZEPHYR_AOT_DEMO_INCLUDE_ZEPHYR_UART_H_ */ diff --git a/apps/microtvm/zephyr/demo_runtime/prj.conf b/apps/microtvm/zephyr/aot_demo/prj.conf similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/prj.conf rename to apps/microtvm/zephyr/aot_demo/prj.conf diff --git a/apps/microtvm/zephyr/aot_demo/qemu-hack b/apps/microtvm/zephyr/aot_demo/qemu-hack new file mode 120000 index 000000000000..b4810f2aab6e --- /dev/null +++ b/apps/microtvm/zephyr/aot_demo/qemu-hack @@ -0,0 +1 @@ +../qemu-hack \ No newline at end of file diff --git a/apps/microtvm/zephyr/demo_runtime/zephyr_aot/src/main.c b/apps/microtvm/zephyr/aot_demo/src/main.c similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/zephyr_aot/src/main.c rename to apps/microtvm/zephyr/aot_demo/src/main.c diff --git a/apps/microtvm/zephyr/host_driven_demo/CMakeLists.txt b/apps/microtvm/zephyr/host_driven_demo/CMakeLists.txt new file mode 100644 index 000000000000..f04a792086cb --- /dev/null +++ b/apps/microtvm/zephyr/host_driven_demo/CMakeLists.txt @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: Apache-2.0 + +cmake_minimum_required(VERSION 3.13.1) + +set(ENV{QEMU_BIN_PATH} "${CMAKE_SOURCE_DIR}/qemu-hack") + +set(QEMU_PIPE "\${QEMU_PIPE}") # QEMU_PIPE is set by the calling TVM instance. + +find_package(Zephyr HINTS $ENV{ZEPHYR_BASE}) +project(microtvm_zephyr_runtime) + +set(CMAKE_VERBOSE_MAKEFILE ON) + +target_sources(app PRIVATE src/main.c) + +foreach(tvm_lib ${TVM_LIBS}) + string(LENGTH ${tvm_lib} tvm_lib_length) + math(EXPR tvm_lib_cut "${tvm_lib_length} - 2") + string(SUBSTRING ${tvm_lib} 3 ${tvm_lib_cut} tvm_lib_name) + add_library(${tvm_lib_name} STATIC IMPORTED) + set_target_properties(${tvm_lib_name} PROPERTIES + IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/${tvm_lib}) + target_link_libraries(app PRIVATE ${tvm_lib_name}) +endforeach(tvm_lib ${TVM_LIBS}) + +target_include_directories(app PRIVATE ${TVM_INCLUDE_DIRS}) diff --git a/apps/microtvm/zephyr/demo_runtime/README.md b/apps/microtvm/zephyr/host_driven_demo/README.md similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/README.md rename to apps/microtvm/zephyr/host_driven_demo/README.md diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/mps2_an521.conf b/apps/microtvm/zephyr/host_driven_demo/boards/mps2_an521.conf new file mode 100644 index 000000000000..3916b17c49cf --- /dev/null +++ b/apps/microtvm/zephyr/host_driven_demo/boards/mps2_an521.conf @@ -0,0 +1,28 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# This file is specific to the MPS2-AN512 board. + +# For intrinsics used by generated optimized operators. +CONFIG_CMSIS_DSP=y + +# For random number generation. +CONFIG_ENTROPY_GENERATOR=y +CONFIG_TEST_RANDOM_GENERATOR=y + +# For debugging. +CONFIG_LED=n diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/nrf5340dk_nrf5340_cpuapp.conf b/apps/microtvm/zephyr/host_driven_demo/boards/nrf5340dk_nrf5340_cpuapp.conf new file mode 100644 index 000000000000..149a69ea3b5b --- /dev/null +++ b/apps/microtvm/zephyr/host_driven_demo/boards/nrf5340dk_nrf5340_cpuapp.conf @@ -0,0 +1,31 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# This file is specific to the nRF5340 DK board. + +# For intrinsics used by generated optimized operators. +CONFIG_CMSIS_DSP=y + +# Required for Cortex-M33 devices. +CONFIG_MAIN_STACK_SIZE=1536 + +# For random number generation. +CONFIG_ENTROPY_GENERATOR=y +CONFIG_TEST_RANDOM_GENERATOR=y + +# For debugging. +CONFIG_LED=y diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/nucleo_f746zg.conf b/apps/microtvm/zephyr/host_driven_demo/boards/nucleo_f746zg.conf new file mode 100644 index 000000000000..eba023294894 --- /dev/null +++ b/apps/microtvm/zephyr/host_driven_demo/boards/nucleo_f746zg.conf @@ -0,0 +1,30 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# This file is specific to the STM32F746 Nucleo board. + +# For intrinsics used by generated optimized operators. +CONFIG_CMSIS_DSP=y + +# For operations that stack allocates a large float array. +CONFIG_MAIN_STACK_SIZE=1536 + +# For random number generation. +CONFIG_ENTROPY_GENERATOR=y + +# For debugging. +CONFIG_LED=y diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv32.conf b/apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv32.conf new file mode 100644 index 000000000000..3733568ed02f --- /dev/null +++ b/apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv32.conf @@ -0,0 +1,29 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# This file is specific to the QEMU-emulated RISCV32 microTVM board. + +# For TVMPlatformGenerateRandom(). Remember, these values do not need to be truly random. +CONFIG_TEST_RANDOM_GENERATOR=y +CONFIG_TIMER_RANDOM_GENERATOR=y + +# Default is 512, raised here for operations with large floating point data. +CONFIG_MAIN_STACK_SIZE=2048 + +# For floating point operations. It has exception on floating point operations +# without this flag. +CONFIG_FPU_SHARING=y diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv64.conf b/apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv64.conf new file mode 100644 index 000000000000..a8a055bcc748 --- /dev/null +++ b/apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv64.conf @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# This file is specific to the QEMU-emulated RISCV64 microTVM board. + +# For TVMPlatformGenerateRandom(). Remember, these values do not need to be truly random. +CONFIG_TEST_RANDOM_GENERATOR=y +CONFIG_TIMER_RANDOM_GENERATOR=y + +# Default 512, for operations with large floating point data. +CONFIG_MAIN_STACK_SIZE=2048 diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/qemu_x86.conf b/apps/microtvm/zephyr/host_driven_demo/boards/qemu_x86.conf new file mode 100644 index 000000000000..f314f59a597a --- /dev/null +++ b/apps/microtvm/zephyr/host_driven_demo/boards/qemu_x86.conf @@ -0,0 +1,25 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# This file is specific to the QEMU-emulated microTVM board. + +# For TVMPlatformGenerateRandom(). Remember, these values do not need to be truly random. +CONFIG_TEST_RANDOM_GENERATOR=y +CONFIG_TIMER_RANDOM_GENERATOR=y + +# Default stack size is 1k, this is required for debug mode. +CONFIG_MAIN_STACK_SIZE=1536 diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/stm32f746g_disco.conf b/apps/microtvm/zephyr/host_driven_demo/boards/stm32f746g_disco.conf new file mode 100644 index 000000000000..505f1babc3f4 --- /dev/null +++ b/apps/microtvm/zephyr/host_driven_demo/boards/stm32f746g_disco.conf @@ -0,0 +1,28 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# This file is specific to the STM32F746G Discovery board. + +# For intrinsics used by generated optimized operators. +CONFIG_CMSIS_DSP=y + +# For random number generation. +CONFIG_ENTROPY_GENERATOR=y +CONFIG_TEST_RANDOM_GENERATOR=y + +# For debugging. +CONFIG_LED=n diff --git a/apps/microtvm/zephyr/host_driven_demo/crt/crt_config.h b/apps/microtvm/zephyr/host_driven_demo/crt/crt_config.h new file mode 100644 index 000000000000..f8fc7514a28d --- /dev/null +++ b/apps/microtvm/zephyr/host_driven_demo/crt/crt_config.h @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/*! + * \file tvm/runtime/crt_config.h.template + * \brief Template for CRT configuration, to be modified on each target. + */ +#ifndef TVM_RUNTIME_CRT_CONFIG_H_ +#define TVM_RUNTIME_CRT_CONFIG_H_ + +#include + +/*! Log level of the CRT runtime */ +#define TVM_CRT_LOG_LEVEL TVM_CRT_LOG_LEVEL_DEBUG + +/*! Maximum supported dimension in NDArray */ +#define TVM_CRT_MAX_NDIM 6 + +/*! Maximum supported arguments in generated functions */ +#define TVM_CRT_MAX_ARGS 10 + +/*! Size of the global function registry, in bytes. */ +#define TVM_CRT_GLOBAL_FUNC_REGISTRY_SIZE_BYTES 200 + +/*! Maximum number of registered modules. */ +#define TVM_CRT_MAX_REGISTERED_MODULES 2 + +/*! Maximum packet size, in bytes, including the length header. */ +#define TVM_CRT_MAX_PACKET_SIZE_BYTES 8192 + +/*! Maximum supported string length in dltype, e.g. "int8", "int16", "float32" */ +#define TVM_CRT_MAX_STRLEN_DLTYPE 10 + +/*! Maximum supported string length in function names */ +#define TVM_CRT_MAX_STRLEN_FUNCTION_NAME 80 + +/*! \brief Maximum length of a PackedFunc function name. */ +#define TVM_CRT_MAX_FUNCTION_NAME_LENGTH_BYTES 30 + +/*! \brief Log2 of the page size (bytes) for a virtual memory page. */ +#define TVM_CRT_PAGE_BITS 10 // 1 kB + +/*! \brief Number of pages on device. */ +#define TVM_CRT_MAX_PAGES 300 + +// #define TVM_CRT_FRAMER_ENABLE_LOGS + +#endif // TVM_RUNTIME_CRT_CONFIG_H_ diff --git a/apps/microtvm/zephyr/host_driven_demo/prj.conf b/apps/microtvm/zephyr/host_driven_demo/prj.conf new file mode 100644 index 000000000000..5f4d7a0689dc --- /dev/null +++ b/apps/microtvm/zephyr/host_driven_demo/prj.conf @@ -0,0 +1,35 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# The settings in this file are generic for all boards, and are merged +# with the settings in the file boards/.conf by the Zephyr build +# process. + +# For UART implementation in main(). +CONFIG_RING_BUFFER=y +CONFIG_UART_CONSOLE=n +CONFIG_UART_INTERRUPT_DRIVEN=y + +# For RPC server C++ bindings. +CONFIG_CPLUSPLUS=y +CONFIG_NEWLIB_LIBC=y + +# For models with floating point. +CONFIG_FPU=y + +# For TVMPlatformAbort(). +CONFIG_REBOOT=y diff --git a/apps/microtvm/zephyr/host_driven_demo/qemu-hack b/apps/microtvm/zephyr/host_driven_demo/qemu-hack new file mode 120000 index 000000000000..b4810f2aab6e --- /dev/null +++ b/apps/microtvm/zephyr/host_driven_demo/qemu-hack @@ -0,0 +1 @@ +../qemu-hack \ No newline at end of file diff --git a/apps/microtvm/zephyr/demo_runtime/host_driven/src/main.c b/apps/microtvm/zephyr/host_driven_demo/src/main.c similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/host_driven/src/main.c rename to apps/microtvm/zephyr/host_driven_demo/src/main.c diff --git a/apps/microtvm/zephyr/demo_runtime/qemu-hack/qemu-system-arm b/apps/microtvm/zephyr/qemu-hack/qemu-system-arm similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/qemu-hack/qemu-system-arm rename to apps/microtvm/zephyr/qemu-hack/qemu-system-arm diff --git a/apps/microtvm/zephyr/demo_runtime/qemu-hack/qemu-system-i386 b/apps/microtvm/zephyr/qemu-hack/qemu-system-i386 similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/qemu-hack/qemu-system-i386 rename to apps/microtvm/zephyr/qemu-hack/qemu-system-i386 diff --git a/apps/microtvm/zephyr/demo_runtime/qemu-hack/qemu-system-riscv32 b/apps/microtvm/zephyr/qemu-hack/qemu-system-riscv32 similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/qemu-hack/qemu-system-riscv32 rename to apps/microtvm/zephyr/qemu-hack/qemu-system-riscv32 diff --git a/apps/microtvm/zephyr/demo_runtime/qemu-hack/qemu-system-riscv64 b/apps/microtvm/zephyr/qemu-hack/qemu-system-riscv64 similarity index 100% rename from apps/microtvm/zephyr/demo_runtime/qemu-hack/qemu-system-riscv64 rename to apps/microtvm/zephyr/qemu-hack/qemu-system-riscv64 diff --git a/tests/lint/check_file_type.py b/tests/lint/check_file_type.py index d192f0bb1b14..6fd4526de7f7 100644 --- a/tests/lint/check_file_type.py +++ b/tests/lint/check_file_type.py @@ -132,18 +132,34 @@ "tests/micro/zephyr/testdata/ic_sample_fp32_8.npy", "tests/micro/zephyr/testdata/ic_fp32.tflite", # microTVM Zephyr runtime - "apps/microtvm/zephyr/demo_runtime/prj.conf", - "apps/microtvm/zephyr/demo_runtime/boards/qemu_x86.conf", - "apps/microtvm/zephyr/demo_runtime/boards/qemu_riscv32.conf", - "apps/microtvm/zephyr/demo_runtime/boards/qemu_riscv64.conf", - "apps/microtvm/zephyr/demo_runtime/boards/nrf5340dk_nrf5340_cpuapp.conf", - "apps/microtvm/zephyr/demo_runtime/boards/nucleo_f746zg.conf", - "apps/microtvm/zephyr/demo_runtime/boards/stm32f746g_disco.conf", - "apps/microtvm/zephyr/demo_runtime/boards/mps2_an521.conf", - "apps/microtvm/zephyr/demo_runtime/qemu-hack/qemu-system-i386", - "apps/microtvm/zephyr/demo_runtime/qemu-hack/qemu-system-arm", - "apps/microtvm/zephyr/demo_runtime/qemu-hack/qemu-system-riscv32", - "apps/microtvm/zephyr/demo_runtime/qemu-hack/qemu-system-riscv64", + "apps/microtvm/zephyr/qemu-hack/qemu-system-i386", + "apps/microtvm/zephyr/qemu-hack/qemu-system-arm", + "apps/microtvm/zephyr/qemu-hack/qemu-system-riscv32", + "apps/microtvm/zephyr/qemu-hack/qemu-system-riscv64", + "apps/microtvm/zephyr/host_driven_demo/prj.conf", + "apps/microtvm/zephyr/host_driven_demo/boards/qemu_x86.conf", + "apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv32.conf", + "apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv64.conf", + "apps/microtvm/zephyr/host_driven_demo/boards/nrf5340dk_nrf5340_cpuapp.conf", + "apps/microtvm/zephyr/host_driven_demo/boards/nucleo_f746zg.conf", + "apps/microtvm/zephyr/host_driven_demo/boards/stm32f746g_disco.conf", + "apps/microtvm/zephyr/host_driven_demo/boards/mps2_an521.conf", + "apps/microtvm/zephyr/host_driven_demo/qemu-hack/qemu-system-i386", + "apps/microtvm/zephyr/host_driven_demo/qemu-hack/qemu-system-arm", + "apps/microtvm/zephyr/host_driven_demo/qemu-hack/qemu-system-riscv32", + "apps/microtvm/zephyr/host_driven_demo/qemu-hack/qemu-system-riscv64", + "apps/microtvm/zephyr/aot_demo/prj.conf", + "apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf", + "apps/microtvm/zephyr/aot_demo/boards/qemu_riscv32.conf", + "apps/microtvm/zephyr/aot_demo/boards/qemu_riscv64.conf", + "apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf", + "apps/microtvm/zephyr/aot_demo/boards/nucleo_f746zg.conf", + "apps/microtvm/zephyr/aot_demo/boards/stm32f746g_disco.conf", + "apps/microtvm/zephyr/aot_demo/boards/mps2_an521.conf", + "apps/microtvm/zephyr/aot_demo/qemu-hack/qemu-system-i386", + "apps/microtvm/zephyr/aot_demo/qemu-hack/qemu-system-arm", + "apps/microtvm/zephyr/aot_demo/qemu-hack/qemu-system-riscv32", + "apps/microtvm/zephyr/aot_demo/qemu-hack/qemu-system-riscv64", # microTVM Virtual Machines "apps/microtvm/reference-vm/zephyr/Vagrantfile", "apps/microtvm/reference-vm/zephyr/base-box/Vagrantfile.packer-template", diff --git a/tests/micro/zephyr/test_zephyr.py b/tests/micro/zephyr/test_zephyr.py index f7807498ede4..1eb986da43e6 100644 --- a/tests/micro/zephyr/test_zephyr.py +++ b/tests/micro/zephyr/test_zephyr.py @@ -80,13 +80,12 @@ def _make_session(model, target, zephyr_board, west_cmd, mod): test_dir = os.path.dirname(os.path.realpath(os.path.expanduser(__file__))) tvm_source_dir = os.path.join(test_dir, "..", "..", "..") - runtime_path = os.path.join(tvm_source_dir, "apps", "microtvm", "zephyr", "demo_runtime") + runtime_path = os.path.join(tvm_source_dir, "apps", "microtvm", "zephyr", "host_driven_demo") compiler = zephyr.ZephyrCompiler( project_dir=runtime_path, board=zephyr_board, zephyr_toolchain_variant="zephyr", west_cmd=west_cmd, - env_vars={"ZEPHYR_RUNTIME": "HOST-DRIVEN"}, ) opts = tvm.micro.default_options(os.path.join(runtime_path, "crt")) @@ -233,7 +232,7 @@ def test_onnx(platform, west_cmd): relay_mod = relay.transform.DynamicToStatic()(relay_mod) # We add the -link-params=1 option to ensure the model parameters are compiled in. - # There is currently a bug preventing the demo_runtime environment from receiving + # There is currently a bug preventing the host_driven_demo environment from receiving # the model weights when set using graph_mod.set_input(). # See: https://github.com/apache/tvm/issues/7567 target = tvm.target.target.micro(model, options=["-link-params=1"]) diff --git a/tests/micro/zephyr/test_zephyr_aot.py b/tests/micro/zephyr/test_zephyr_aot.py index 7303022dfa40..89fc3e735eb0 100644 --- a/tests/micro/zephyr/test_zephyr_aot.py +++ b/tests/micro/zephyr/test_zephyr_aot.py @@ -79,8 +79,8 @@ def _build_session_kw(model, target, zephyr_board, west_cmd, mod, runtime_path): ) opts = tvm.micro.default_options(os.path.join(runtime_path, "crt")) - opts["bin_opts"]["include_dirs"].append(os.path.join(runtime_path, "zephyr_aot", "include")) - opts["lib_opts"]["include_dirs"].append(os.path.join(runtime_path, "zephyr_aot", "include")) + opts["bin_opts"]["include_dirs"].append(os.path.join(runtime_path, "include")) + opts["lib_opts"]["include_dirs"].append(os.path.join(runtime_path, "include")) flasher_kw = {} if DEBUG: @@ -165,7 +165,7 @@ def test_tflite(platform, west_cmd): this_dir = os.path.dirname(__file__) tvm_source_dir = os.path.join(this_dir, "..", "..", "..") - runtime_path = os.path.join(tvm_source_dir, "apps", "microtvm", "zephyr", "demo_runtime") + runtime_path = os.path.join(tvm_source_dir, "apps", "microtvm", "zephyr", "aot_demo") model_path = os.path.join(this_dir, "testdata", "ic_fp32.tflite") # Import TFLite model @@ -190,7 +190,7 @@ def test_tflite(platform, west_cmd): # Load sample and generate input/expected_output header files sample = np.load(os.path.join(this_dir, "testdata", "ic_sample_fp32_8.npy")) - model_files_path = os.path.join(runtime_path, "zephyr_aot", "include") + model_files_path = os.path.join(runtime_path, "include") _create_header_file((f"input_data"), sample, model_files_path) _create_header_file( "output_data", np.zeros(shape=output_shape, dtype="float32"), model_files_path diff --git a/tutorials/micro/micro_tflite.py b/tutorials/micro/micro_tflite.py index a2c534669760..7259de66fb33 100644 --- a/tutorials/micro/micro_tflite.py +++ b/tutorials/micro/micro_tflite.py @@ -230,7 +230,7 @@ # from tvm.micro.contrib import zephyr # # repo_root = subprocess.check_output(["git", "rev-parse", "--show-toplevel"], encoding='utf-8').strip() -# project_dir = os.path.join(repo_root, "apps", "microtvm", "zephyr", "demo_runtime") +# project_dir = os.path.join(repo_root, "apps", "microtvm", "zephyr", "host_driven_demo") # compiler = zephyr.ZephyrCompiler( # project_dir=project_dir, # board=BOARD, From e27bdd7c75d0e8468eb6bce0a066b34759ed2d2f Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Wed, 19 May 2021 18:56:52 -0700 Subject: [PATCH 11/18] cleanup --- apps/microtvm/zephyr/aot_demo/include/input_data.h | 6 ------ apps/microtvm/zephyr/aot_demo/include/output_data.h | 6 ------ 2 files changed, 12 deletions(-) delete mode 100644 apps/microtvm/zephyr/aot_demo/include/input_data.h delete mode 100644 apps/microtvm/zephyr/aot_demo/include/output_data.h diff --git a/apps/microtvm/zephyr/aot_demo/include/input_data.h b/apps/microtvm/zephyr/aot_demo/include/input_data.h deleted file mode 100644 index a1bb4aa19b0e..000000000000 --- a/apps/microtvm/zephyr/aot_demo/include/input_data.h +++ /dev/null @@ -1,6 +0,0 @@ -#include -#include -#include -const size_t input_data_len = 3072; -float input_data[] = {147.0, 157.0, 175.0, 146.0, 157.0, 175.0, 149.0, 161.0, 179.0, 153.0, 165.0, 182.0, 155.0, 167.0, 183.0, 155.0, 169.0, 186.0, 156.0, 171.0, 189.0, 159.0, 173.0, 190.0, 163.0, 177.0, 193.0, 167.0, 180.0, 194.0, 172.0, 183.0, 195.0, 176.0, 186.0, 197.0, 178.0, 186.0, 198.0, 179.0, 187.0, 200.0, 179.0, 190.0, 201.0, 179.0, 190.0, 202.0, 178.0, 191.0, 204.0, 178.0, 192.0, 205.0, 178.0, 192.0, 205.0, 179.0, 192.0, 205.0, 175.0, 191.0, 203.0, 172.0, 191.0, 202.0, 175.0, 190.0, 203.0, 176.0, 190.0, 203.0, 177.0, 189.0, 203.0, 179.0, 189.0, 202.0, 179.0, 189.0, 198.0, 179.0, 188.0, 197.0, 177.0, 186.0, 196.0, 175.0, 183.0, 196.0, 172.0, 180.0, 193.0, 169.0, 177.0, 190.0, 151.0, 158.0, 176.0, 149.0, 158.0, 176.0, 151.0, 162.0, 179.0, 156.0, 166.0, 182.0, 159.0, 168.0, 185.0, 160.0, 171.0, 187.0, 162.0, 174.0, 190.0, 168.0, 177.0, 191.0, 174.0, 180.0, 192.0, 177.0, 183.0, 194.0, 179.0, 185.0, 195.0, 177.0, 188.0, 196.0, 178.0, 187.0, 196.0, 180.0, 189.0, 198.0, 182.0, 191.0, 200.0, 183.0, 191.0, 200.0, 183.0, 192.0, 202.0, 183.0, 193.0, 203.0, 183.0, 192.0, 203.0, 183.0, 192.0, 203.0, 181.0, 192.0, 202.0, 180.0, 192.0, 202.0, 180.0, 191.0, 201.0, 180.0, 190.0, 201.0, 180.0, 190.0, 201.0, 179.0, 189.0, 198.0, 178.0, 188.0, 195.0, 178.0, 187.0, 195.0, 176.0, 185.0, 195.0, 174.0, 182.0, 195.0, 171.0, 179.0, 192.0, 169.0, 177.0, 190.0, 159.0, 163.0, 176.0, 158.0, 163.0, 177.0, 159.0, 166.0, 180.0, 161.0, 169.0, 182.0, 164.0, 172.0, 185.0, 167.0, 174.0, 187.0, 170.0, 177.0, 190.0, 174.0, 180.0, 192.0, 179.0, 181.0, 193.0, 180.0, 184.0, 195.0, 181.0, 187.0, 196.0, 181.0, 189.0, 197.0, 182.0, 191.0, 199.0, 182.0, 191.0, 200.0, 182.0, 191.0, 200.0, 184.0, 192.0, 202.0, 185.0, 194.0, 203.0, 185.0, 195.0, 204.0, 184.0, 194.0, 203.0, 183.0, 193.0, 202.0, 182.0, 194.0, 202.0, 182.0, 194.0, 203.0, 182.0, 192.0, 201.0, 181.0, 191.0, 200.0, 181.0, 191.0, 200.0, 181.0, 190.0, 199.0, 180.0, 189.0, 197.0, 179.0, 188.0, 196.0, 178.0, 186.0, 194.0, 177.0, 184.0, 194.0, 174.0, 181.0, 192.0, 171.0, 180.0, 189.0, 166.0, 167.0, 176.0, 165.0, 167.0, 177.0, 166.0, 169.0, 180.0, 167.0, 171.0, 182.0, 169.0, 175.0, 185.0, 173.0, 176.0, 187.0, 176.0, 178.0, 190.0, 179.0, 181.0, 193.0, 181.0, 183.0, 195.0, 181.0, 185.0, 196.0, 181.0, 187.0, 195.0, 182.0, 189.0, 197.0, 182.0, 191.0, 200.0, 182.0, 191.0, 200.0, 184.0, 194.0, 202.0, 185.0, 195.0, 204.0, 184.0, 194.0, 203.0, 184.0, 194.0, 203.0, 183.0, 193.0, 202.0, 183.0, 193.0, 202.0, 182.0, 194.0, 202.0, 181.0, 194.0, 202.0, 181.0, 192.0, 201.0, 181.0, 191.0, 200.0, 181.0, 191.0, 200.0, 181.0, 190.0, 200.0, 180.0, 189.0, 198.0, 179.0, 188.0, 195.0, 178.0, 186.0, 194.0, 177.0, 184.0, 194.0, 174.0, 181.0, 191.0, 171.0, 180.0, 189.0, 168.0, 166.0, 173.0, 167.0, 166.0, 176.0, 169.0, 169.0, 179.0, 170.0, 171.0, 180.0, 172.0, 175.0, 183.0, 174.0, 176.0, 185.0, 177.0, 178.0, 187.0, 179.0, 180.0, 190.0, 179.0, 181.0, 193.0, 180.0, 184.0, 194.0, 180.0, 187.0, 195.0, 182.0, 189.0, 197.0, 182.0, 191.0, 200.0, 180.0, 190.0, 198.0, 169.0, 178.0, 188.0, 170.0, 180.0, 191.0, 183.0, 193.0, 202.0, 184.0, 192.0, 201.0, 184.0, 193.0, 202.0, 184.0, 193.0, 202.0, 182.0, 194.0, 202.0, 181.0, 194.0, 202.0, 181.0, 193.0, 201.0, 182.0, 191.0, 201.0, 182.0, 191.0, 200.0, 181.0, 190.0, 199.0, 180.0, 189.0, 197.0, 179.0, 188.0, 195.0, 178.0, 186.0, 194.0, 177.0, 184.0, 194.0, 173.0, 181.0, 191.0, 168.0, 178.0, 187.0, 166.0, 163.0, 172.0, 166.0, 165.0, 174.0, 168.0, 168.0, 178.0, 171.0, 171.0, 180.0, 173.0, 173.0, 181.0, 174.0, 175.0, 184.0, 175.0, 177.0, 186.0, 176.0, 179.0, 188.0, 178.0, 181.0, 190.0, 179.0, 183.0, 192.0, 180.0, 187.0, 195.0, 181.0, 188.0, 196.0, 182.0, 191.0, 198.0, 179.0, 188.0, 197.0, 91.0, 111.0, 134.0, 79.0, 109.0, 138.0, 169.0, 184.0, 198.0, 187.0, 194.0, 204.0, 184.0, 193.0, 203.0, 185.0, 194.0, 203.0, 184.0, 194.0, 203.0, 183.0, 195.0, 203.0, 183.0, 193.0, 202.0, 184.0, 192.0, 202.0, 183.0, 192.0, 200.0, 181.0, 190.0, 197.0, 180.0, 189.0, 196.0, 179.0, 188.0, 195.0, 177.0, 186.0, 194.0, 176.0, 183.0, 193.0, 173.0, 180.0, 190.0, 168.0, 179.0, 188.0, 165.0, 162.0, 171.0, 164.0, 164.0, 171.0, 167.0, 168.0, 174.0, 170.0, 171.0, 178.0, 172.0, 172.0, 180.0, 173.0, 174.0, 183.0, 173.0, 176.0, 185.0, 175.0, 178.0, 187.0, 177.0, 180.0, 189.0, 178.0, 182.0, 191.0, 179.0, 186.0, 194.0, 180.0, 187.0, 195.0, 183.0, 187.0, 196.0, 185.0, 190.0, 198.0, 104.0, 114.0, 131.0, 105.0, 130.0, 155.0, 180.0, 195.0, 207.0, 185.0, 192.0, 201.0, 185.0, 194.0, 204.0, 185.0, 194.0, 204.0, 186.0, 194.0, 203.0, 186.0, 193.0, 203.0, 185.0, 193.0, 201.0, 183.0, 193.0, 199.0, 183.0, 192.0, 199.0, 181.0, 190.0, 197.0, 180.0, 189.0, 196.0, 179.0, 188.0, 195.0, 177.0, 186.0, 194.0, 176.0, 183.0, 193.0, 173.0, 180.0, 190.0, 172.0, 179.0, 189.0, 165.0, 160.0, 169.0, 164.0, 163.0, 169.0, 167.0, 167.0, 172.0, 169.0, 169.0, 176.0, 170.0, 170.0, 178.0, 171.0, 173.0, 181.0, 172.0, 175.0, 184.0, 174.0, 177.0, 186.0, 176.0, 179.0, 188.0, 177.0, 181.0, 191.0, 179.0, 184.0, 194.0, 180.0, 186.0, 194.0, 181.0, 188.0, 196.0, 180.0, 182.0, 190.0, 151.0, 143.0, 146.0, 191.0, 188.0, 188.0, 215.0, 217.0, 219.0, 184.0, 188.0, 194.0, 183.0, 190.0, 196.0, 184.0, 192.0, 199.0, 185.0, 192.0, 200.0, 186.0, 192.0, 202.0, 188.0, 195.0, 201.0, 189.0, 197.0, 200.0, 182.0, 192.0, 197.0, 181.0, 190.0, 197.0, 179.0, 188.0, 196.0, 178.0, 187.0, 195.0, 177.0, 186.0, 194.0, 175.0, 183.0, 192.0, 172.0, 179.0, 189.0, 170.0, 176.0, 186.0, 165.0, 158.0, 167.0, 164.0, 161.0, 169.0, 166.0, 165.0, 173.0, 166.0, 166.0, 174.0, 168.0, 168.0, 176.0, 169.0, 171.0, 179.0, 170.0, 174.0, 183.0, 173.0, 176.0, 185.0, 175.0, 178.0, 187.0, 177.0, 180.0, 190.0, 179.0, 181.0, 194.0, 181.0, 183.0, 192.0, 181.0, 185.0, 193.0, 177.0, 183.0, 191.0, 158.0, 159.0, 166.0, 181.0, 182.0, 183.0, 215.0, 219.0, 222.0, 184.0, 192.0, 200.0, 184.0, 192.0, 197.0, 183.0, 190.0, 195.0, 178.0, 186.0, 193.0, 179.0, 188.0, 195.0, 186.0, 193.0, 198.0, 194.0, 199.0, 204.0, 180.0, 190.0, 197.0, 179.0, 188.0, 195.0, 177.0, 186.0, 194.0, 175.0, 184.0, 193.0, 174.0, 183.0, 192.0, 171.0, 180.0, 189.0, 168.0, 177.0, 186.0, 166.0, 175.0, 184.0, 164.0, 157.0, 165.0, 162.0, 159.0, 167.0, 164.0, 163.0, 171.0, 165.0, 165.0, 173.0, 167.0, 167.0, 175.0, 168.0, 170.0, 178.0, 169.0, 172.0, 181.0, 172.0, 175.0, 184.0, 174.0, 177.0, 186.0, 176.0, 179.0, 189.0, 178.0, 180.0, 190.0, 179.0, 182.0, 188.0, 180.0, 182.0, 191.0, 181.0, 187.0, 194.0, 174.0, 176.0, 179.0, 187.0, 188.0, 192.0, 220.0, 224.0, 229.0, 187.0, 195.0, 202.0, 182.0, 193.0, 199.0, 181.0, 191.0, 200.0, 180.0, 190.0, 197.0, 180.0, 189.0, 197.0, 184.0, 191.0, 196.0, 189.0, 193.0, 199.0, 179.0, 189.0, 196.0, 176.0, 186.0, 192.0, 175.0, 184.0, 191.0, 172.0, 181.0, 190.0, 171.0, 180.0, 189.0, 170.0, 179.0, 188.0, 167.0, 176.0, 185.0, 165.0, 174.0, 183.0, 161.0, 156.0, 165.0, 161.0, 157.0, 166.0, 159.0, 158.0, 168.0, 159.0, 160.0, 167.0, 165.0, 165.0, 174.0, 163.0, 166.0, 174.0, 166.0, 170.0, 179.0, 169.0, 173.0, 184.0, 171.0, 176.0, 186.0, 172.0, 177.0, 186.0, 175.0, 178.0, 187.0, 174.0, 181.0, 189.0, 172.0, 183.0, 191.0, 176.0, 182.0, 189.0, 157.0, 155.0, 157.0, 181.0, 178.0, 181.0, 222.0, 228.0, 232.0, 199.0, 207.0, 213.0, 179.0, 189.0, 197.0, 181.0, 191.0, 200.0, 178.0, 188.0, 196.0, 176.0, 187.0, 194.0, 183.0, 192.0, 198.0, 189.0, 193.0, 198.0, 179.0, 188.0, 195.0, 174.0, 184.0, 192.0, 173.0, 182.0, 191.0, 171.0, 181.0, 190.0, 170.0, 180.0, 189.0, 169.0, 179.0, 188.0, 167.0, 177.0, 186.0, 165.0, 174.0, 183.0, 158.0, 155.0, 164.0, 156.0, 156.0, 166.0, 155.0, 152.0, 154.0, 159.0, 155.0, 154.0, 162.0, 163.0, 173.0, 154.0, 154.0, 158.0, 164.0, 167.0, 176.0, 166.0, 173.0, 183.0, 168.0, 173.0, 183.0, 170.0, 173.0, 183.0, 171.0, 177.0, 186.0, 170.0, 176.0, 183.0, 173.0, 177.0, 181.0, 189.0, 196.0, 203.0, 197.0, 196.0, 200.0, 197.0, 203.0, 210.0, 201.0, 219.0, 232.0, 195.0, 211.0, 218.0, 169.0, 184.0, 194.0, 203.0, 211.0, 216.0, 198.0, 206.0, 210.0, 179.0, 190.0, 195.0, 180.0, 189.0, 195.0, 195.0, 199.0, 203.0, 180.0, 188.0, 195.0, 174.0, 183.0, 192.0, 172.0, 181.0, 190.0, 169.0, 179.0, 188.0, 168.0, 178.0, 187.0, 167.0, 177.0, 186.0, 166.0, 176.0, 185.0, 164.0, 173.0, 182.0, 155.0, 152.0, 161.0, 155.0, 153.0, 164.0, 159.0, 150.0, 150.0, 177.0, 167.0, 161.0, 159.0, 160.0, 169.0, 164.0, 155.0, 153.0, 167.0, 169.0, 176.0, 167.0, 168.0, 178.0, 168.0, 168.0, 174.0, 166.0, 173.0, 179.0, 172.0, 178.0, 186.0, 178.0, 178.0, 179.0, 189.0, 186.0, 185.0, 218.0, 219.0, 221.0, 239.0, 237.0, 237.0, 231.0, 235.0, 238.0, 211.0, 223.0, 231.0, 207.0, 218.0, 222.0, 167.0, 180.0, 186.0, 186.0, 194.0, 196.0, 199.0, 209.0, 209.0, 204.0, 210.0, 213.0, 201.0, 205.0, 211.0, 207.0, 211.0, 215.0, 185.0, 193.0, 200.0, 169.0, 178.0, 187.0, 170.0, 180.0, 189.0, 168.0, 178.0, 187.0, 167.0, 177.0, 186.0, 166.0, 177.0, 185.0, 165.0, 175.0, 184.0, 163.0, 172.0, 181.0, 154.0, 154.0, 165.0, 155.0, 155.0, 163.0, 167.0, 161.0, 162.0, 191.0, 180.0, 173.0, 160.0, 161.0, 169.0, 186.0, 176.0, 173.0, 184.0, 182.0, 185.0, 192.0, 186.0, 191.0, 197.0, 194.0, 197.0, 187.0, 189.0, 194.0, 189.0, 189.0, 197.0, 206.0, 199.0, 201.0, 209.0, 201.0, 200.0, 213.0, 210.0, 206.0, 227.0, 225.0, 223.0, 232.0, 231.0, 228.0, 230.0, 230.0, 227.0, 238.0, 235.0, 235.0, 218.0, 218.0, 219.0, 199.0, 202.0, 204.0, 203.0, 207.0, 208.0, 227.0, 228.0, 228.0, 220.0, 221.0, 226.0, 222.0, 224.0, 229.0, 209.0, 213.0, 219.0, 178.0, 183.0, 191.0, 167.0, 172.0, 182.0, 168.0, 178.0, 185.0, 166.0, 178.0, 185.0, 163.0, 176.0, 183.0, 161.0, 172.0, 179.0, 160.0, 170.0, 179.0, 151.0, 139.0, 138.0, 150.0, 139.0, 140.0, 167.0, 156.0, 150.0, 197.0, 185.0, 177.0, 185.0, 180.0, 181.0, 194.0, 186.0, 177.0, 200.0, 193.0, 184.0, 197.0, 187.0, 186.0, 186.0, 177.0, 178.0, 157.0, 153.0, 160.0, 135.0, 137.0, 149.0, 161.0, 159.0, 167.0, 209.0, 202.0, 203.0, 210.0, 209.0, 208.0, 227.0, 226.0, 227.0, 219.0, 219.0, 221.0, 215.0, 214.0, 216.0, 215.0, 197.0, 197.0, 215.0, 191.0, 186.0, 214.0, 210.0, 209.0, 202.0, 199.0, 202.0, 213.0, 208.0, 210.0, 225.0, 219.0, 222.0, 222.0, 216.0, 222.0, 233.0, 229.0, 233.0, 214.0, 215.0, 218.0, 193.0, 194.0, 200.0, 186.0, 191.0, 197.0, 168.0, 176.0, 184.0, 160.0, 170.0, 179.0, 159.0, 161.0, 168.0, 161.0, 169.0, 180.0, 152.0, 116.0, 97.0, 146.0, 112.0, 97.0, 163.0, 133.0, 119.0, 210.0, 196.0, 189.0, 209.0, 194.0, 188.0, 201.0, 187.0, 177.0, 186.0, 174.0, 164.0, 147.0, 135.0, 134.0, 133.0, 120.0, 122.0, 131.0, 123.0, 130.0, 132.0, 122.0, 131.0, 173.0, 167.0, 172.0, 218.0, 216.0, 219.0, 207.0, 204.0, 208.0, 203.0, 202.0, 206.0, 204.0, 203.0, 207.0, 214.0, 211.0, 212.0, 202.0, 189.0, 188.0, 198.0, 181.0, 179.0, 204.0, 199.0, 201.0, 204.0, 196.0, 199.0, 201.0, 194.0, 201.0, 206.0, 195.0, 198.0, 205.0, 195.0, 199.0, 203.0, 196.0, 197.0, 201.0, 198.0, 196.0, 217.0, 213.0, 215.0, 209.0, 206.0, 210.0, 177.0, 175.0, 180.0, 162.0, 158.0, 160.0, 158.0, 141.0, 137.0, 156.0, 142.0, 144.0, 197.0, 138.0, 101.0, 198.0, 133.0, 94.0, 189.0, 135.0, 115.0, 176.0, 151.0, 148.0, 155.0, 138.0, 134.0, 189.0, 175.0, 172.0, 179.0, 166.0, 162.0, 144.0, 131.0, 133.0, 137.0, 129.0, 134.0, 161.0, 153.0, 159.0, 178.0, 169.0, 173.0, 228.0, 224.0, 226.0, 217.0, 216.0, 218.0, 212.0, 211.0, 213.0, 214.0, 214.0, 216.0, 212.0, 212.0, 213.0, 216.0, 217.0, 218.0, 186.0, 189.0, 197.0, 169.0, 172.0, 183.0, 174.0, 176.0, 187.0, 167.0, 167.0, 176.0, 165.0, 167.0, 176.0, 172.0, 170.0, 177.0, 161.0, 159.0, 165.0, 193.0, 190.0, 194.0, 232.0, 230.0, 230.0, 240.0, 237.0, 239.0, 236.0, 236.0, 239.0, 201.0, 188.0, 185.0, 171.0, 136.0, 121.0, 167.0, 122.0, 99.0, 171.0, 128.0, 109.0, 207.0, 141.0, 95.0, 182.0, 133.0, 110.0, 167.0, 136.0, 127.0, 155.0, 139.0, 144.0, 148.0, 134.0, 134.0, 181.0, 171.0, 167.0, 166.0, 151.0, 149.0, 150.0, 135.0, 136.0, 147.0, 137.0, 141.0, 147.0, 136.0, 140.0, 171.0, 161.0, 165.0, 236.0, 232.0, 234.0, 212.0, 212.0, 212.0, 213.0, 213.0, 213.0, 221.0, 221.0, 221.0, 220.0, 220.0, 219.0, 222.0, 223.0, 222.0, 213.0, 214.0, 218.0, 191.0, 191.0, 199.0, 196.0, 196.0, 204.0, 189.0, 189.0, 195.0, 194.0, 194.0, 198.0, 196.0, 193.0, 199.0, 190.0, 185.0, 191.0, 218.0, 215.0, 218.0, 235.0, 234.0, 234.0, 228.0, 226.0, 227.0, 223.0, 224.0, 225.0, 222.0, 222.0, 220.0, 202.0, 184.0, 175.0, 173.0, 133.0, 111.0, 172.0, 127.0, 104.0, 203.0, 145.0, 104.0, 153.0, 127.0, 108.0, 119.0, 107.0, 107.0, 130.0, 118.0, 123.0, 143.0, 129.0, 130.0, 157.0, 150.0, 150.0, 156.0, 150.0, 149.0, 173.0, 165.0, 164.0, 181.0, 174.0, 174.0, 224.0, 218.0, 218.0, 221.0, 218.0, 217.0, 207.0, 207.0, 206.0, 221.0, 220.0, 219.0, 219.0, 218.0, 218.0, 220.0, 218.0, 219.0, 217.0, 216.0, 216.0, 218.0, 220.0, 220.0, 233.0, 237.0, 236.0, 211.0, 215.0, 217.0, 202.0, 206.0, 209.0, 205.0, 211.0, 212.0, 206.0, 212.0, 213.0, 205.0, 212.0, 214.0, 216.0, 223.0, 226.0, 224.0, 231.0, 234.0, 208.0, 213.0, 217.0, 204.0, 211.0, 215.0, 204.0, 212.0, 214.0, 212.0, 222.0, 228.0, 214.0, 207.0, 203.0, 193.0, 149.0, 125.0, 192.0, 137.0, 108.0, 181.0, 128.0, 96.0, 127.0, 102.0, 90.0, 90.0, 83.0, 89.0, 92.0, 90.0, 97.0, 91.0, 92.0, 100.0, 103.0, 109.0, 118.0, 109.0, 121.0, 129.0, 149.0, 162.0, 169.0, 155.0, 166.0, 172.0, 209.0, 220.0, 223.0, 201.0, 210.0, 213.0, 191.0, 200.0, 203.0, 205.0, 213.0, 219.0, 205.0, 213.0, 220.0, 208.0, 218.0, 224.0, 208.0, 220.0, 226.0, 213.0, 223.0, 227.0, 222.0, 231.0, 235.0, 216.0, 226.0, 232.0, 215.0, 225.0, 231.0, 217.0, 227.0, 232.0, 219.0, 229.0, 234.0, 221.0, 230.0, 234.0, 227.0, 234.0, 236.0, 230.0, 236.0, 239.0, 228.0, 234.0, 237.0, 229.0, 234.0, 237.0, 232.0, 235.0, 237.0, 232.0, 234.0, 237.0, 216.0, 212.0, 207.0, 218.0, 203.0, 191.0, 224.0, 213.0, 196.0, 160.0, 117.0, 92.0, 84.0, 74.0, 72.0, 51.0, 56.0, 64.0, 45.0, 54.0, 62.0, 52.0, 63.0, 72.0, 61.0, 72.0, 83.0, 74.0, 85.0, 98.0, 101.0, 112.0, 127.0, 153.0, 166.0, 177.0, 214.0, 223.0, 228.0, 222.0, 227.0, 232.0, 225.0, 230.0, 235.0, 228.0, 233.0, 236.0, 229.0, 235.0, 238.0, 232.0, 236.0, 238.0, 233.0, 237.0, 240.0, 236.0, 238.0, 240.0, 238.0, 239.0, 240.0, 241.0, 241.0, 242.0, 242.0, 243.0, 244.0, 243.0, 243.0, 243.0, 244.0, 243.0, 243.0, 244.0, 243.0, 243.0, 245.0, 245.0, 245.0, 245.0, 244.0, 244.0, 241.0, 241.0, 240.0, 241.0, 240.0, 240.0, 242.0, 240.0, 240.0, 230.0, 227.0, 226.0, 210.0, 202.0, 194.0, 220.0, 208.0, 196.0, 218.0, 209.0, 194.0, 152.0, 119.0, 93.0, 118.0, 106.0, 102.0, 102.0, 100.0, 96.0, 102.0, 105.0, 105.0, 125.0, 127.0, 129.0, 139.0, 140.0, 142.0, 156.0, 153.0, 157.0, 198.0, 191.0, 194.0, 223.0, 220.0, 220.0, 229.0, 228.0, 229.0, 241.0, 237.0, 239.0, 241.0, 237.0, 238.0, 245.0, 241.0, 239.0, 243.0, 240.0, 238.0, 243.0, 241.0, 240.0, 243.0, 241.0, 238.0, 243.0, 242.0, 240.0, 242.0, 242.0, 241.0, 243.0, 243.0, 241.0, 243.0, 241.0, 241.0, 243.0, 241.0, 243.0, 244.0, 242.0, 244.0, 244.0, 242.0, 244.0, 244.0, 243.0, 246.0, 246.0, 244.0, 245.0, 245.0, 242.0, 242.0, 245.0, 243.0, 242.0, 235.0, 235.0, 236.0, 177.0, 176.0, 176.0, 150.0, 145.0, 136.0, 150.0, 142.0, 131.0, 138.0, 132.0, 119.0, 103.0, 79.0, 65.0, 121.0, 114.0, 112.0, 123.0, 121.0, 117.0, 128.0, 129.0, 125.0, 146.0, 147.0, 144.0, 163.0, 164.0, 161.0, 195.0, 192.0, 190.0, 234.0, 229.0, 228.0, 238.0, 236.0, 236.0, 235.0, 234.0, 234.0, 235.0, 233.0, 234.0, 236.0, 235.0, 236.0, 241.0, 240.0, 241.0, 239.0, 237.0, 239.0, 241.0, 239.0, 242.0, 245.0, 241.0, 243.0, 239.0, 235.0, 237.0, 245.0, 243.0, 242.0, 246.0, 245.0, 246.0, 249.0, 246.0, 247.0, 247.0, 247.0, 245.0, 248.0, 247.0, 248.0, 245.0, 244.0, 244.0, 242.0, 241.0, 240.0, 240.0, 239.0, 240.0, 234.0, 234.0, 236.0, 220.0, 221.0, 222.0, 188.0, 195.0, 190.0, 139.0, 149.0, 143.0, 115.0, 127.0, 122.0, 103.0, 119.0, 112.0, 97.0, 113.0, 108.0, 70.0, 53.0, 48.0, 111.0, 104.0, 100.0, 123.0, 122.0, 118.0, 129.0, 131.0, 128.0, 142.0, 144.0, 142.0, 157.0, 159.0, 156.0, 192.0, 189.0, 189.0, 224.0, 220.0, 219.0, 228.0, 226.0, 223.0, 231.0, 230.0, 226.0, 235.0, 234.0, 230.0, 239.0, 237.0, 234.0, 242.0, 239.0, 240.0, 245.0, 242.0, 242.0, 247.0, 244.0, 244.0, 219.0, 224.0, 216.0, 193.0, 200.0, 185.0, 188.0, 204.0, 187.0, 185.0, 209.0, 188.0, 190.0, 210.0, 189.0, 219.0, 223.0, 222.0, 220.0, 223.0, 225.0, 209.0, 213.0, 211.0, 200.0, 204.0, 198.0, 192.0, 197.0, 193.0, 188.0, 195.0, 191.0, 176.0, 184.0, 178.0, 164.0, 174.0, 165.0, 155.0, 171.0, 161.0, 134.0, 157.0, 152.0, 117.0, 145.0, 140.0, 110.0, 138.0, 137.0, 56.0, 44.0, 47.0, 66.0, 60.0, 58.0, 114.0, 114.0, 109.0, 128.0, 130.0, 127.0, 137.0, 138.0, 136.0, 152.0, 154.0, 150.0, 178.0, 178.0, 174.0, 194.0, 194.0, 190.0, 192.0, 195.0, 189.0, 192.0, 195.0, 190.0, 194.0, 197.0, 192.0, 196.0, 199.0, 195.0, 197.0, 200.0, 199.0, 203.0, 205.0, 203.0, 193.0, 196.0, 194.0, 141.0, 154.0, 136.0, 104.0, 124.0, 107.0, 99.0, 123.0, 114.0, 113.0, 149.0, 114.0, 123.0, 158.0, 137.0, 174.0, 185.0, 180.0, 180.0, 188.0, 184.0, 175.0, 184.0, 178.0, 172.0, 181.0, 174.0, 162.0, 172.0, 166.0, 160.0, 174.0, 167.0, 149.0, 164.0, 158.0, 138.0, 154.0, 150.0, 129.0, 148.0, 144.0, 116.0, 139.0, 137.0, 106.0, 132.0, 129.0, 101.0, 127.0, 125.0, 26.0, 22.0, 23.0, 27.0, 25.0, 28.0, 71.0, 71.0, 74.0, 89.0, 94.0, 97.0, 95.0, 101.0, 106.0, 112.0, 116.0, 117.0, 119.0, 121.0, 118.0, 111.0, 117.0, 110.0, 113.0, 123.0, 111.0, 120.0, 129.0, 118.0, 122.0, 131.0, 122.0, 134.0, 143.0, 134.0, 149.0, 160.0, 150.0, 160.0, 170.0, 161.0, 166.0, 175.0, 168.0, 155.0, 169.0, 159.0, 141.0, 156.0, 151.0, 141.0, 151.0, 152.0, 152.0, 158.0, 155.0, 154.0, 166.0, 164.0, 163.0, 176.0, 171.0, 155.0, 168.0, 164.0, 144.0, 159.0, 154.0, 133.0, 151.0, 145.0, 131.0, 148.0, 144.0, 135.0, 152.0, 149.0, 128.0, 147.0, 145.0, 120.0, 142.0, 140.0, 116.0, 139.0, 136.0, 109.0, 134.0, 131.0, 103.0, 128.0, 126.0, 101.0, 125.0, 124.0, 75.0, 78.0, 69.0, 77.0, 80.0, 70.0, 75.0, 81.0, 70.0, 74.0, 85.0, 75.0, 81.0, 93.0, 85.0, 91.0, 102.0, 90.0, 105.0, 115.0, 100.0, 124.0, 131.0, 118.0, 141.0, 146.0, 134.0, 152.0, 157.0, 146.0, 162.0, 167.0, 158.0, 165.0, 170.0, 161.0, 164.0, 174.0, 163.0, 169.0, 179.0, 169.0, 174.0, 179.0, 172.0, 172.0, 181.0, 173.0, 169.0, 180.0, 172.0, 154.0, 169.0, 159.0, 145.0, 163.0, 156.0, 142.0, 158.0, 153.0, 138.0, 155.0, 152.0, 132.0, 149.0, 148.0, 131.0, 149.0, 147.0, 125.0, 146.0, 143.0, 123.0, 144.0, 142.0, 123.0, 145.0, 144.0, 122.0, 144.0, 143.0, 121.0, 143.0, 141.0, 116.0, 139.0, 137.0, 111.0, 135.0, 133.0, 105.0, 129.0, 127.0, 100.0, 124.0, 124.0, 91.0, 94.0, 85.0, 88.0, 93.0, 82.0, 87.0, 96.0, 83.0, 89.0, 99.0, 88.0, 94.0, 105.0, 94.0, 100.0, 112.0, 101.0, 114.0, 125.0, 114.0, 135.0, 141.0, 133.0, 152.0, 154.0, 149.0, 159.0, 162.0, 157.0, 163.0, 167.0, 162.0, 165.0, 169.0, 164.0, 163.0, 170.0, 165.0, 162.0, 171.0, 165.0, 159.0, 166.0, 164.0, 158.0, 166.0, 165.0, 156.0, 165.0, 163.0, 143.0, 156.0, 153.0, 134.0, 149.0, 149.0, 135.0, 150.0, 150.0, 126.0, 146.0, 146.0, 123.0, 143.0, 144.0, 125.0, 144.0, 145.0, 127.0, 145.0, 145.0, 126.0, 146.0, 146.0, 121.0, 143.0, 144.0, 116.0, 138.0, 139.0, 113.0, 135.0, 137.0, 127.0, 143.0, 142.0, 167.0, 170.0, 169.0, 157.0, 162.0, 159.0, 105.0, 126.0, 123.0, 89.0, 92.0, 87.0, 85.0, 93.0, 86.0, 87.0, 96.0, 89.0, 87.0, 99.0, 93.0, 90.0, 104.0, 98.0, 96.0, 110.0, 104.0, 104.0, 116.0, 111.0, 117.0, 125.0, 121.0, 129.0, 136.0, 132.0, 140.0, 147.0, 143.0, 144.0, 154.0, 149.0, 142.0, 151.0, 146.0, 150.0, 157.0, 153.0, 144.0, 156.0, 151.0, 148.0, 159.0, 157.0, 144.0, 154.0, 153.0, 144.0, 156.0, 154.0, 136.0, 153.0, 150.0, 129.0, 147.0, 146.0, 131.0, 149.0, 149.0, 124.0, 143.0, 144.0, 118.0, 139.0, 140.0, 118.0, 139.0, 140.0, 120.0, 141.0, 142.0, 118.0, 141.0, 141.0, 106.0, 133.0, 132.0, 101.0, 127.0, 125.0, 116.0, 136.0, 134.0, 157.0, 157.0, 159.0, 159.0, 143.0, 137.0, 145.0, 124.0, 115.0, 122.0, 125.0, 120.0, 86.0, 94.0, 90.0, 84.0, 95.0, 91.0, 86.0, 99.0, 94.0, 86.0, 102.0, 98.0, 87.0, 105.0, 102.0, 91.0, 109.0, 105.0, 97.0, 112.0, 109.0, 105.0, 118.0, 116.0, 112.0, 126.0, 124.0, 120.0, 134.0, 131.0, 125.0, 137.0, 136.0, 132.0, 144.0, 142.0, 136.0, 146.0, 145.0, 128.0, 142.0, 139.0, 137.0, 148.0, 147.0, 140.0, 150.0, 149.0, 139.0, 151.0, 149.0, 131.0, 148.0, 145.0, 127.0, 146.0, 144.0, 127.0, 145.0, 145.0, 116.0, 136.0, 137.0, 119.0, 141.0, 141.0, 115.0, 138.0, 138.0, 111.0, 135.0, 135.0, 108.0, 133.0, 132.0, 102.0, 128.0, 127.0, 100.0, 124.0, 122.0, 122.0, 129.0, 123.0, 161.0, 154.0, 151.0, 163.0, 150.0, 141.0, 166.0, 146.0, 134.0, 163.0, 160.0, 150.0, 83.0, 92.0, 90.0, 82.0, 94.0, 91.0, 84.0, 97.0, 93.0, 85.0, 100.0, 97.0, 87.0, 103.0, 101.0, 87.0, 105.0, 102.0, 90.0, 109.0, 106.0, 100.0, 117.0, 114.0, 107.0, 123.0, 120.0, 110.0, 125.0, 124.0, 114.0, 129.0, 129.0, 119.0, 133.0, 134.0, 118.0, 132.0, 133.0, 126.0, 140.0, 141.0, 133.0, 145.0, 144.0, 133.0, 144.0, 143.0, 129.0, 143.0, 142.0, 120.0, 138.0, 136.0, 116.0, 136.0, 135.0, 117.0, 136.0, 135.0, 110.0, 133.0, 132.0, 109.0, 134.0, 134.0, 107.0, 132.0, 131.0, 109.0, 131.0, 132.0, 120.0, 138.0, 140.0, 116.0, 132.0, 134.0, 99.0, 115.0, 121.0, 116.0, 121.0, 122.0, 181.0, 174.0, 160.0, 200.0, 193.0, 179.0, 190.0, 187.0, 174.0, 160.0, 165.0, 156.0, 82.0, 91.0, 88.0, 81.0, 92.0, 88.0, 82.0, 94.0, 90.0, 84.0, 98.0, 95.0, 87.0, 102.0, 99.0, 88.0, 104.0, 100.0, 88.0, 105.0, 102.0, 95.0, 111.0, 108.0, 102.0, 117.0, 114.0, 105.0, 120.0, 118.0, 109.0, 123.0, 124.0, 109.0, 123.0, 124.0, 110.0, 125.0, 126.0, 121.0, 135.0, 136.0, 120.0, 134.0, 132.0, 125.0, 139.0, 137.0, 127.0, 142.0, 142.0, 118.0, 137.0, 136.0, 114.0, 135.0, 134.0, 117.0, 137.0, 136.0, 117.0, 138.0, 138.0, 116.0, 136.0, 137.0, 115.0, 134.0, 136.0, 125.0, 140.0, 143.0, 132.0, 144.0, 148.0, 130.0, 143.0, 146.0, 111.0, 126.0, 131.0, 106.0, 118.0, 116.0, 147.0, 149.0, 134.0, 149.0, 152.0, 140.0, 127.0, 135.0, 128.0, 111.0, 126.0, 124.0, }; - diff --git a/apps/microtvm/zephyr/aot_demo/include/output_data.h b/apps/microtvm/zephyr/aot_demo/include/output_data.h deleted file mode 100644 index d45020b5bc67..000000000000 --- a/apps/microtvm/zephyr/aot_demo/include/output_data.h +++ /dev/null @@ -1,6 +0,0 @@ -#include -#include -#include -const size_t output_data_len = 10; -float output_data[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, }; - From 443ccb26b2f3a232523f40b1ca54edc63b87bf57 Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Wed, 19 May 2021 18:58:19 -0700 Subject: [PATCH 12/18] cleanup --- tests/lint/check_file_type.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tests/lint/check_file_type.py b/tests/lint/check_file_type.py index 6fd4526de7f7..1cc0e1ef027c 100644 --- a/tests/lint/check_file_type.py +++ b/tests/lint/check_file_type.py @@ -144,10 +144,6 @@ "apps/microtvm/zephyr/host_driven_demo/boards/nucleo_f746zg.conf", "apps/microtvm/zephyr/host_driven_demo/boards/stm32f746g_disco.conf", "apps/microtvm/zephyr/host_driven_demo/boards/mps2_an521.conf", - "apps/microtvm/zephyr/host_driven_demo/qemu-hack/qemu-system-i386", - "apps/microtvm/zephyr/host_driven_demo/qemu-hack/qemu-system-arm", - "apps/microtvm/zephyr/host_driven_demo/qemu-hack/qemu-system-riscv32", - "apps/microtvm/zephyr/host_driven_demo/qemu-hack/qemu-system-riscv64", "apps/microtvm/zephyr/aot_demo/prj.conf", "apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf", "apps/microtvm/zephyr/aot_demo/boards/qemu_riscv32.conf", @@ -156,10 +152,6 @@ "apps/microtvm/zephyr/aot_demo/boards/nucleo_f746zg.conf", "apps/microtvm/zephyr/aot_demo/boards/stm32f746g_disco.conf", "apps/microtvm/zephyr/aot_demo/boards/mps2_an521.conf", - "apps/microtvm/zephyr/aot_demo/qemu-hack/qemu-system-i386", - "apps/microtvm/zephyr/aot_demo/qemu-hack/qemu-system-arm", - "apps/microtvm/zephyr/aot_demo/qemu-hack/qemu-system-riscv32", - "apps/microtvm/zephyr/aot_demo/qemu-hack/qemu-system-riscv64", # microTVM Virtual Machines "apps/microtvm/reference-vm/zephyr/Vagrantfile", "apps/microtvm/reference-vm/zephyr/base-box/Vagrantfile.packer-template", From e590c2cee386753fb339218e2c8ea519ff9821c5 Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Wed, 19 May 2021 19:02:25 -0700 Subject: [PATCH 13/18] fix check files --- tests/lint/check_file_type.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/lint/check_file_type.py b/tests/lint/check_file_type.py index 1cc0e1ef027c..341c108ba020 100644 --- a/tests/lint/check_file_type.py +++ b/tests/lint/check_file_type.py @@ -144,6 +144,7 @@ "apps/microtvm/zephyr/host_driven_demo/boards/nucleo_f746zg.conf", "apps/microtvm/zephyr/host_driven_demo/boards/stm32f746g_disco.conf", "apps/microtvm/zephyr/host_driven_demo/boards/mps2_an521.conf", + "apps/microtvm/zephyr/host_driven_demo/qemu-hack", "apps/microtvm/zephyr/aot_demo/prj.conf", "apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf", "apps/microtvm/zephyr/aot_demo/boards/qemu_riscv32.conf", @@ -152,6 +153,7 @@ "apps/microtvm/zephyr/aot_demo/boards/nucleo_f746zg.conf", "apps/microtvm/zephyr/aot_demo/boards/stm32f746g_disco.conf", "apps/microtvm/zephyr/aot_demo/boards/mps2_an521.conf", + "apps/microtvm/zephyr/aot_demo/qemu-hack", # microTVM Virtual Machines "apps/microtvm/reference-vm/zephyr/Vagrantfile", "apps/microtvm/reference-vm/zephyr/base-box/Vagrantfile.packer-template", From 5abde9da1542e58a2332203d55b56b52a4d2af16 Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Thu, 20 May 2021 15:42:33 -0700 Subject: [PATCH 14/18] fixed for physical devices --- .../boards/nrf5340dk_nrf5340_cpuapp.conf | 2 +- .../zephyr/aot_demo/boards/nucleo_f746zg.conf | 30 ------------------- .../zephyr/aot_demo/boards/qemu_riscv32.conf | 29 ------------------ .../zephyr/aot_demo/boards/qemu_riscv64.conf | 25 ---------------- .../zephyr/aot_demo/boards/qemu_x86.conf | 5 ++-- .../aot_demo/boards/stm32f746g_disco.conf | 28 ----------------- .../zephyr/aot_demo/include/zephyr_uart.h | 4 +-- apps/microtvm/zephyr/aot_demo/src/main.c | 24 +++++++++++++++ tests/micro/zephyr/test_zephyr_aot.py | 19 ++++++++---- 9 files changed, 42 insertions(+), 124 deletions(-) delete mode 100644 apps/microtvm/zephyr/aot_demo/boards/nucleo_f746zg.conf delete mode 100644 apps/microtvm/zephyr/aot_demo/boards/qemu_riscv32.conf delete mode 100644 apps/microtvm/zephyr/aot_demo/boards/qemu_riscv64.conf delete mode 100644 apps/microtvm/zephyr/aot_demo/boards/stm32f746g_disco.conf diff --git a/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf b/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf index 2525638d473a..29bfa0026588 100644 --- a/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf +++ b/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf @@ -20,7 +20,7 @@ # For intrinsics used by generated optimized operators. CONFIG_CMSIS_DSP=y -# Required for Cortex-M33 devices. +# For AOT runtime which requires lots of function call. CONFIG_MAIN_STACK_SIZE=18000 # For random number generation. diff --git a/apps/microtvm/zephyr/aot_demo/boards/nucleo_f746zg.conf b/apps/microtvm/zephyr/aot_demo/boards/nucleo_f746zg.conf deleted file mode 100644 index eba023294894..000000000000 --- a/apps/microtvm/zephyr/aot_demo/boards/nucleo_f746zg.conf +++ /dev/null @@ -1,30 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -# This file is specific to the STM32F746 Nucleo board. - -# For intrinsics used by generated optimized operators. -CONFIG_CMSIS_DSP=y - -# For operations that stack allocates a large float array. -CONFIG_MAIN_STACK_SIZE=1536 - -# For random number generation. -CONFIG_ENTROPY_GENERATOR=y - -# For debugging. -CONFIG_LED=y diff --git a/apps/microtvm/zephyr/aot_demo/boards/qemu_riscv32.conf b/apps/microtvm/zephyr/aot_demo/boards/qemu_riscv32.conf deleted file mode 100644 index 3733568ed02f..000000000000 --- a/apps/microtvm/zephyr/aot_demo/boards/qemu_riscv32.conf +++ /dev/null @@ -1,29 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# This file is specific to the QEMU-emulated RISCV32 microTVM board. - -# For TVMPlatformGenerateRandom(). Remember, these values do not need to be truly random. -CONFIG_TEST_RANDOM_GENERATOR=y -CONFIG_TIMER_RANDOM_GENERATOR=y - -# Default is 512, raised here for operations with large floating point data. -CONFIG_MAIN_STACK_SIZE=2048 - -# For floating point operations. It has exception on floating point operations -# without this flag. -CONFIG_FPU_SHARING=y diff --git a/apps/microtvm/zephyr/aot_demo/boards/qemu_riscv64.conf b/apps/microtvm/zephyr/aot_demo/boards/qemu_riscv64.conf deleted file mode 100644 index a8a055bcc748..000000000000 --- a/apps/microtvm/zephyr/aot_demo/boards/qemu_riscv64.conf +++ /dev/null @@ -1,25 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# This file is specific to the QEMU-emulated RISCV64 microTVM board. - -# For TVMPlatformGenerateRandom(). Remember, these values do not need to be truly random. -CONFIG_TEST_RANDOM_GENERATOR=y -CONFIG_TIMER_RANDOM_GENERATOR=y - -# Default 512, for operations with large floating point data. -CONFIG_MAIN_STACK_SIZE=2048 diff --git a/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf b/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf index b191c293a81f..5f3c4a4bed36 100644 --- a/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf +++ b/apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf @@ -21,6 +21,5 @@ CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_TIMER_RANDOM_GENERATOR=y -# Default stack size is 1k, this is required for debug mode and -# for AOT mode. -CONFIG_MAIN_STACK_SIZE=18000 +# Default stack size is 1k, this is required for debug mode. +CONFIG_MAIN_STACK_SIZE=2000 diff --git a/apps/microtvm/zephyr/aot_demo/boards/stm32f746g_disco.conf b/apps/microtvm/zephyr/aot_demo/boards/stm32f746g_disco.conf deleted file mode 100644 index 505f1babc3f4..000000000000 --- a/apps/microtvm/zephyr/aot_demo/boards/stm32f746g_disco.conf +++ /dev/null @@ -1,28 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -# This file is specific to the STM32F746G Discovery board. - -# For intrinsics used by generated optimized operators. -CONFIG_CMSIS_DSP=y - -# For random number generation. -CONFIG_ENTROPY_GENERATOR=y -CONFIG_TEST_RANDOM_GENERATOR=y - -# For debugging. -CONFIG_LED=n diff --git a/apps/microtvm/zephyr/aot_demo/include/zephyr_uart.h b/apps/microtvm/zephyr/aot_demo/include/zephyr_uart.h index 0f4e96fc57cc..244023042bf9 100644 --- a/apps/microtvm/zephyr/aot_demo/include/zephyr_uart.h +++ b/apps/microtvm/zephyr/aot_demo/include/zephyr_uart.h @@ -67,9 +67,9 @@ void uart_rx_init(struct ring_buf* rbuf, const struct device* dev) { } // Used to read data from the UART. -int uart_rx_buf_read(struct ring_buf* rbuf, uint8_t* data, size_t data_size_bytes) { +int uart_rx_buf_read(uint8_t* data, size_t data_size_bytes) { unsigned int key = irq_lock(); - int bytes_read = ring_buf_get(rbuf, data, data_size_bytes); + int bytes_read = ring_buf_get(&uart_rx_rbuf, data, data_size_bytes); irq_unlock(key); return bytes_read; } diff --git a/apps/microtvm/zephyr/aot_demo/src/main.c b/apps/microtvm/zephyr/aot_demo/src/main.c index 6e1dd08ab86b..b59dca754ae0 100644 --- a/apps/microtvm/zephyr/aot_demo/src/main.c +++ b/apps/microtvm/zephyr/aot_demo/src/main.c @@ -45,6 +45,7 @@ tvm_workspace_t app_workspace; const unsigned char g_wakeup_sequence[12] = {0xfe, 0xff, 0xfd, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x66, 0x77}; +const char g_start_cmd[] = "start\n"; size_t TVMPlatformFormatMessage(char* out_buf, size_t out_buf_size_bytes, const char* fmt, va_list args) { @@ -162,11 +163,34 @@ int TVMBackendFreeWorkspace(int device_type, int device_id, void* ptr) { return err; } +static uint8_t main_rx_buf[128]; +static uint8_t cmd_buf[128]; +static size_t g_cmd_buf_ind; + void main(void) { + g_cmd_buf_ind = 0; + memset((char*)cmd_buf, 0, sizeof(cmd_buf)); TVMPlatformUARTInit(); k_timer_init(&g_utvm_timer, NULL, NULL); // Wake up host side. write_serial(g_wakeup_sequence, 12); + + // Wait for start command + while (true) { + int bytes_read = uart_rx_buf_read(main_rx_buf, sizeof(main_rx_buf)); + if (bytes_read > 0) { + memcpy((char*)cmd_buf + g_cmd_buf_ind, main_rx_buf, bytes_read); + g_cmd_buf_ind += bytes_read; + } + if (g_cmd_buf_ind >= 6) { + if (!strcmp((char*)(cmd_buf), g_start_cmd)) { + break; + } else { + memset((char*)cmd_buf, 0, sizeof(cmd_buf)); + g_cmd_buf_ind = 0; + } + } + } TVMLogf("Zephyr AOT Runtime\n"); void* inputs[1] = { diff --git a/tests/micro/zephyr/test_zephyr_aot.py b/tests/micro/zephyr/test_zephyr_aot.py index 89fc3e735eb0..efb131ff0980 100644 --- a/tests/micro/zephyr/test_zephyr_aot.py +++ b/tests/micro/zephyr/test_zephyr_aot.py @@ -142,11 +142,17 @@ def _create_header_file(tensor_name, npy_data, output_path): def _read_line(fd): data = "" - new_c = "" - while new_c != "\n": - new_c = fd.read(1, timeout_sec=10) - new_c = new_c.decode("ascii") - data = data + new_c + new_line = False + while True: + if new_line: + break + new_data = fd.read(1, timeout_sec=10) + for item in new_data: + new_c = chr(item) + data = data + new_c + if new_c == "\n": + new_line = True + break return data @@ -188,7 +194,7 @@ def test_tflite(platform, west_cmd): with tvm.transform.PassContext(opt_level=3, config={"tir.disable_vectorize": True}): lowered = relay.build(relay_mod, target, params=params) - # Load sample and generate input/expected_output header files + # Load sample and generate input/output header files sample = np.load(os.path.join(this_dir, "testdata", "ic_sample_fp32_8.npy")) model_files_path = os.path.join(runtime_path, "include") _create_header_file((f"input_data"), sample, model_files_path) @@ -199,6 +205,7 @@ def test_tflite(platform, west_cmd): session_kw = _build_session_kw(model, target, zephyr_board, west_cmd, lowered.lib, runtime_path) transport = session_kw["flasher"].flash(session_kw["binary"]) transport.open() + transport.write(b"start\n", timeout_sec=5) result_line = _get_result_line(transport) result_line.strip("\n") From baacb050d272528da52f93c28d7598b28d5aa514 Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Mon, 24 May 2021 11:53:09 -0700 Subject: [PATCH 15/18] address comments --- apps/microtvm/zephyr/aot_demo/CMakeLists.txt | 1 + .../microtvm/zephyr/aot_demo/crt/crt_config.h | 4 +- .../zephyr/aot_demo/include/zephyr_uart.h | 78 +++++------------ apps/microtvm/zephyr/aot_demo/src/main.c | 11 +-- .../zephyr/aot_demo/src/zephyr_uart.c | 81 ++++++++++++++++++ .../CMakeLists.txt | 0 .../README.md | 0 .../boards/mps2_an521.conf | 0 .../boards/nrf5340dk_nrf5340_cpuapp.conf | 0 .../boards/nucleo_f746zg.conf | 0 .../boards/qemu_riscv32.conf | 0 .../boards/qemu_riscv64.conf | 0 .../boards/qemu_x86.conf | 0 .../boards/stm32f746g_disco.conf | 0 .../crt/crt_config.h | 0 .../prj.conf | 0 .../qemu-hack | 0 .../src/main.c | 0 python/tvm/micro/build.py | 21 +++-- tests/lint/check_file_type.py | 19 ++-- tests/micro/zephyr/test_zephyr.py | 5 +- tests/micro/zephyr/test_zephyr_aot.py | 28 +++--- tests/micro/zephyr/testdata/ic_fp32.tflite | Bin 318144 -> 0 bytes tests/python/unittest/test_crt.py | 1 - tests/python/unittest/test_link_params.py | 1 - tutorials/micro/micro_tflite.py | 3 +- 26 files changed, 149 insertions(+), 104 deletions(-) create mode 100644 apps/microtvm/zephyr/aot_demo/src/zephyr_uart.c rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/CMakeLists.txt (100%) rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/README.md (100%) rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/boards/mps2_an521.conf (100%) rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/boards/nrf5340dk_nrf5340_cpuapp.conf (100%) rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/boards/nucleo_f746zg.conf (100%) rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/boards/qemu_riscv32.conf (100%) rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/boards/qemu_riscv64.conf (100%) rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/boards/qemu_x86.conf (100%) rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/boards/stm32f746g_disco.conf (100%) rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/crt/crt_config.h (100%) rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/prj.conf (100%) rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/qemu-hack (100%) rename apps/microtvm/zephyr/{host_driven_demo => host_driven}/src/main.c (100%) delete mode 100644 tests/micro/zephyr/testdata/ic_fp32.tflite diff --git a/apps/microtvm/zephyr/aot_demo/CMakeLists.txt b/apps/microtvm/zephyr/aot_demo/CMakeLists.txt index f04a792086cb..d7ec2a25db14 100644 --- a/apps/microtvm/zephyr/aot_demo/CMakeLists.txt +++ b/apps/microtvm/zephyr/aot_demo/CMakeLists.txt @@ -11,6 +11,7 @@ project(microtvm_zephyr_runtime) set(CMAKE_VERBOSE_MAKEFILE ON) +target_sources(app PRIVATE src/zephyr_uart.c) target_sources(app PRIVATE src/main.c) foreach(tvm_lib ${TVM_LIBS}) diff --git a/apps/microtvm/zephyr/aot_demo/crt/crt_config.h b/apps/microtvm/zephyr/aot_demo/crt/crt_config.h index f8fc7514a28d..9ee315aa1763 100644 --- a/apps/microtvm/zephyr/aot_demo/crt/crt_config.h +++ b/apps/microtvm/zephyr/aot_demo/crt/crt_config.h @@ -42,7 +42,7 @@ #define TVM_CRT_MAX_REGISTERED_MODULES 2 /*! Maximum packet size, in bytes, including the length header. */ -#define TVM_CRT_MAX_PACKET_SIZE_BYTES 8192 +#define TVM_CRT_MAX_PACKET_SIZE_BYTES (1 * 1024) /*! Maximum supported string length in dltype, e.g. "int8", "int16", "float32" */ #define TVM_CRT_MAX_STRLEN_DLTYPE 10 @@ -59,6 +59,4 @@ /*! \brief Number of pages on device. */ #define TVM_CRT_MAX_PAGES 300 -// #define TVM_CRT_FRAMER_ENABLE_LOGS - #endif // TVM_RUNTIME_CRT_CONFIG_H_ diff --git a/apps/microtvm/zephyr/aot_demo/include/zephyr_uart.h b/apps/microtvm/zephyr/aot_demo/include/zephyr_uart.h index 244023042bf9..f24ade734c4f 100644 --- a/apps/microtvm/zephyr/aot_demo/include/zephyr_uart.h +++ b/apps/microtvm/zephyr/aot_demo/include/zephyr_uart.h @@ -20,65 +20,31 @@ #ifndef TVM_APPS_MICROTVM_ZEPHYR_AOT_DEMO_INCLUDE_ZEPHYR_UART_H_ #define TVM_APPS_MICROTVM_ZEPHYR_AOT_DEMO_INCLUDE_ZEPHYR_UART_H_ -#include -#include +#include -static const struct device* g_utvm_uart; -#define RING_BUF_SIZE_BYTES (TVM_CRT_MAX_PACKET_SIZE_BYTES + 100) - -// Ring buffer used to store data read from the UART on rx interrupt. -RING_BUF_DECLARE(uart_rx_rbuf, RING_BUF_SIZE_BYTES); - -size_t write_serial(const char* data, size_t size) { - for (size_t i = 0; i < size; i++) { - uart_poll_out(g_utvm_uart, data[i]); - } - return size; -} - -static uint8_t uart_data[8]; -// UART interrupt callback. -void uart_irq_cb(const struct device* dev, void* user_data) { - while (uart_irq_update(dev) && uart_irq_is_pending(dev)) { - struct ring_buf* rbuf = (struct ring_buf*)user_data; - if (uart_irq_rx_ready(dev) != 0) { - for (;;) { - // Read a small chunk of data from the UART. - int bytes_read = uart_fifo_read(dev, uart_data, sizeof(uart_data)); - if (bytes_read < 0) { - TVMPlatformAbort((tvm_crt_error_t)(0xbeef1)); - } else if (bytes_read == 0) { - break; - } - // Write it into the ring buffer. - int bytes_written = ring_buf_put(rbuf, uart_data, bytes_read); - if (bytes_read != bytes_written) { - TVMPlatformAbort((tvm_crt_error_t)(0xbeef2)); - } - } - } - } -} +// Used to read data from the UART. -// Used to initialize the UART receiver. -void uart_rx_init(struct ring_buf* rbuf, const struct device* dev) { - uart_irq_callback_user_data_set(dev, uart_irq_cb, (void*)rbuf); - uart_irq_rx_enable(dev); -} +/*! + * \brief Read Uart Rx buffer. + * \param data Pointer to read data. + * \param data_size_bytes Read request size in bytes. + * + * \return Number of data read in bytes. + */ +uint32_t TVMPlatformUartRxRead(uint8_t* data, uint32_t data_size_bytes); -// Used to read data from the UART. -int uart_rx_buf_read(uint8_t* data, size_t data_size_bytes) { - unsigned int key = irq_lock(); - int bytes_read = ring_buf_get(&uart_rx_rbuf, data, data_size_bytes); - irq_unlock(key); - return bytes_read; -} +/*! + * \brief Write data in serial. + * \param data Pointer to data to write. + * \param size Size of data in bytes. + * + * \return Number of write in bytes. + */ +uint32_t TVMPlatformWriteSerial(const char* data, uint32_t size); -// Initialize UART -void TVMPlatformUARTInit() { - // Claim console device. - g_utvm_uart = device_get_binding(DT_LABEL(DT_CHOSEN(zephyr_console))); - uart_rx_init(&uart_rx_rbuf, g_utvm_uart); -} +/*! + * \brief Initialize Uart. + */ +void TVMPlatformUARTInit(); #endif /* TVM_APPS_MICROTVM_ZEPHYR_AOT_DEMO_INCLUDE_ZEPHYR_UART_H_ */ diff --git a/apps/microtvm/zephyr/aot_demo/src/main.c b/apps/microtvm/zephyr/aot_demo/src/main.c index b59dca754ae0..b92366a7098b 100644 --- a/apps/microtvm/zephyr/aot_demo/src/main.c +++ b/apps/microtvm/zephyr/aot_demo/src/main.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -43,6 +44,7 @@ static uint8_t g_aot_memory[WORKSPACE_SIZE]; extern tvm_model_t network; tvm_workspace_t app_workspace; +// Wakeup sequence used to wake up QEMU on the host. const unsigned char g_wakeup_sequence[12] = {0xfe, 0xff, 0xfd, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x66, 0x77}; const char g_start_cmd[] = "start\n"; @@ -59,7 +61,7 @@ void TVMLogf(const char* msg, ...) { va_start(args, msg); size = vsprintf(buffer, msg, args); va_end(args); - write_serial(buffer, (size_t)size); + TVMPlatformWriteSerial(buffer, (uint32_t)size); } void TVMPlatformAbort(tvm_crt_error_t error) { @@ -124,7 +126,6 @@ tvm_crt_error_t TVMPlatformTimerStop(double* elapsed_time_seconds) { k_timer_stop(&g_utvm_timer); // check *after* stopping to prevent extra expiries on the happy path if (time_remaining_ms < 0) { - TVMLogf("negative time remaining"); return kTvmErrorSystemErrorMask | 3; } uint32_t num_expiries = k_timer_status_get(&g_utvm_timer); @@ -173,11 +174,11 @@ void main(void) { TVMPlatformUARTInit(); k_timer_init(&g_utvm_timer, NULL, NULL); // Wake up host side. - write_serial(g_wakeup_sequence, 12); + TVMPlatformWriteSerial(g_wakeup_sequence, sizeof(g_wakeup_sequence)); // Wait for start command while (true) { - int bytes_read = uart_rx_buf_read(main_rx_buf, sizeof(main_rx_buf)); + int bytes_read = TVMPlatformUartRxRead(main_rx_buf, sizeof(main_rx_buf)); if (bytes_read > 0) { memcpy((char*)cmd_buf + g_cmd_buf_ind, main_rx_buf, bytes_read); g_cmd_buf_ind += bytes_read; @@ -220,7 +221,7 @@ void main(void) { max_val = output_data[i]; } } - TVMLogf("result:%d\n", max_ind); + TVMLogf("#result:%d:%d\n", max_ind, (uint32_t)(elapsed_time * 1000)); #ifdef CONFIG_ARCH_POSIX posix_exit(0); #endif diff --git a/apps/microtvm/zephyr/aot_demo/src/zephyr_uart.c b/apps/microtvm/zephyr/aot_demo/src/zephyr_uart.c new file mode 100644 index 000000000000..1f4dde1de4b9 --- /dev/null +++ b/apps/microtvm/zephyr/aot_demo/src/zephyr_uart.c @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +#include "zephyr_uart.h" + +#include +#include + +#include "crt_config.h" + +static const struct device* g_utvm_uart; +#define RING_BUF_SIZE_BYTES (TVM_CRT_MAX_PACKET_SIZE_BYTES + 100) + +// Ring buffer used to store data read from the UART on rx interrupt. +RING_BUF_DECLARE(uart_rx_rbuf, RING_BUF_SIZE_BYTES); + +static uint8_t uart_data[8]; +// UART interrupt callback. +void uart_irq_cb(const struct device* dev, void* user_data) { + while (uart_irq_update(dev) && uart_irq_is_pending(dev)) { + struct ring_buf* rbuf = (struct ring_buf*)user_data; + if (uart_irq_rx_ready(dev) != 0) { + for (;;) { + // Read a small chunk of data from the UART. + int bytes_read = uart_fifo_read(dev, uart_data, sizeof(uart_data)); + if (bytes_read < 0) { + TVMPlatformAbort((tvm_crt_error_t)(0xbeef1)); + } else if (bytes_read == 0) { + break; + } + // Write it into the ring buffer. + int bytes_written = ring_buf_put(rbuf, uart_data, bytes_read); + if (bytes_read != bytes_written) { + TVMPlatformAbort((tvm_crt_error_t)(0xbeef2)); + } + } + } + } +} + +// Used to initialize the UART receiver. +void uart_rx_init(struct ring_buf* rbuf, const struct device* dev) { + uart_irq_callback_user_data_set(dev, uart_irq_cb, (void*)rbuf); + uart_irq_rx_enable(dev); +} + +uint32_t TVMPlatformUartRxRead(uint8_t* data, uint32_t data_size_bytes) { + unsigned int key = irq_lock(); + uint32_t bytes_read = ring_buf_get(&uart_rx_rbuf, data, data_size_bytes); + irq_unlock(key); + return bytes_read; +} + +uint32_t TVMPlatformWriteSerial(const char* data, uint32_t size) { + for (uint32_t i = 0; i < size; i++) { + uart_poll_out(g_utvm_uart, data[i]); + } + return size; +} + +// Initialize UART +void TVMPlatformUARTInit() { + // Claim console device. + g_utvm_uart = device_get_binding(DT_LABEL(DT_CHOSEN(zephyr_console))); + uart_rx_init(&uart_rx_rbuf, g_utvm_uart); +} diff --git a/apps/microtvm/zephyr/host_driven_demo/CMakeLists.txt b/apps/microtvm/zephyr/host_driven/CMakeLists.txt similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/CMakeLists.txt rename to apps/microtvm/zephyr/host_driven/CMakeLists.txt diff --git a/apps/microtvm/zephyr/host_driven_demo/README.md b/apps/microtvm/zephyr/host_driven/README.md similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/README.md rename to apps/microtvm/zephyr/host_driven/README.md diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/mps2_an521.conf b/apps/microtvm/zephyr/host_driven/boards/mps2_an521.conf similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/boards/mps2_an521.conf rename to apps/microtvm/zephyr/host_driven/boards/mps2_an521.conf diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/nrf5340dk_nrf5340_cpuapp.conf b/apps/microtvm/zephyr/host_driven/boards/nrf5340dk_nrf5340_cpuapp.conf similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/boards/nrf5340dk_nrf5340_cpuapp.conf rename to apps/microtvm/zephyr/host_driven/boards/nrf5340dk_nrf5340_cpuapp.conf diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/nucleo_f746zg.conf b/apps/microtvm/zephyr/host_driven/boards/nucleo_f746zg.conf similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/boards/nucleo_f746zg.conf rename to apps/microtvm/zephyr/host_driven/boards/nucleo_f746zg.conf diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv32.conf b/apps/microtvm/zephyr/host_driven/boards/qemu_riscv32.conf similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv32.conf rename to apps/microtvm/zephyr/host_driven/boards/qemu_riscv32.conf diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv64.conf b/apps/microtvm/zephyr/host_driven/boards/qemu_riscv64.conf similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv64.conf rename to apps/microtvm/zephyr/host_driven/boards/qemu_riscv64.conf diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/qemu_x86.conf b/apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/boards/qemu_x86.conf rename to apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf diff --git a/apps/microtvm/zephyr/host_driven_demo/boards/stm32f746g_disco.conf b/apps/microtvm/zephyr/host_driven/boards/stm32f746g_disco.conf similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/boards/stm32f746g_disco.conf rename to apps/microtvm/zephyr/host_driven/boards/stm32f746g_disco.conf diff --git a/apps/microtvm/zephyr/host_driven_demo/crt/crt_config.h b/apps/microtvm/zephyr/host_driven/crt/crt_config.h similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/crt/crt_config.h rename to apps/microtvm/zephyr/host_driven/crt/crt_config.h diff --git a/apps/microtvm/zephyr/host_driven_demo/prj.conf b/apps/microtvm/zephyr/host_driven/prj.conf similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/prj.conf rename to apps/microtvm/zephyr/host_driven/prj.conf diff --git a/apps/microtvm/zephyr/host_driven_demo/qemu-hack b/apps/microtvm/zephyr/host_driven/qemu-hack similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/qemu-hack rename to apps/microtvm/zephyr/host_driven/qemu-hack diff --git a/apps/microtvm/zephyr/host_driven_demo/src/main.c b/apps/microtvm/zephyr/host_driven/src/main.c similarity index 100% rename from apps/microtvm/zephyr/host_driven_demo/src/main.c rename to apps/microtvm/zephyr/host_driven/src/main.c diff --git a/python/tvm/micro/build.py b/python/tvm/micro/build.py index 10a0ba988cbb..910b0ce1721f 100644 --- a/python/tvm/micro/build.py +++ b/python/tvm/micro/build.py @@ -106,16 +106,16 @@ def get_standalone_crt_lib(name: str) -> str: return os.path.join(get_standalone_crt_dir(), "src", "runtime", "crt", name) -def get_runtime_libs(runtime: str) -> str: +def get_runtime_libs(executor: str) -> str: """Return abspath to all CRT directories in link order which contain source (i.e. not header) files. """ - if runtime == "host-driven": + if executor == "host-driven": crt_runtime_lib_names = ["utvm_rpc_server", "utvm_rpc_common", "common"] - elif runtime == "zephyr-aot": + elif executor == "aot": crt_runtime_lib_names = ["aot_executor", "common"] else: - raise ValueError(f"Incorrect runtime: {runtime}") + raise ValueError(f"Incorrect executor: {executor}") return [get_standalone_crt_lib(n) for n in crt_runtime_lib_names] @@ -192,7 +192,7 @@ def build_static_runtime( compiler, module, compiler_options, - runtime, + executor=None, extra_libs=None, ): """Build the on-device runtime, statically linking the given modules. @@ -211,9 +211,9 @@ def build_static_runtime( used. This dict contains the `options` parameter passed to Compiler.library() and Compiler.binary() at various stages in the compilation process. - runtime : str - Runtime mode which determines whether this is a standalone runtime or dependent to host. - Here are the options: [host-driven, zephyr-aot]. + executor : Optional[str] + Executor used for runtime. Based on this we determine the libraries that need to be + linked with runtime. extra_libs : Optional[List[MicroLibrary|str]] If specified, extra libraries to be compiled into the binary. If a MicroLibrary, it is @@ -230,8 +230,11 @@ def build_static_runtime( os.makedirs(mod_build_dir) mod_src_dir = workspace.relpath(os.path.join("src", "module")) + if not executor: + executor = "host-driven" + libs = [] - for mod_or_src_dir in (extra_libs or []) + get_runtime_libs(runtime): + for mod_or_src_dir in (extra_libs or []) + get_runtime_libs(executor): if isinstance(mod_or_src_dir, MicroLibrary): libs.append(mod_or_src_dir) continue diff --git a/tests/lint/check_file_type.py b/tests/lint/check_file_type.py index 341c108ba020..73d06ccf7c4c 100644 --- a/tests/lint/check_file_type.py +++ b/tests/lint/check_file_type.py @@ -130,21 +130,20 @@ "tests/micro/zephyr/testdata/digit-9.jpg", "tests/micro/zephyr/testdata/mnist-8.onnx", "tests/micro/zephyr/testdata/ic_sample_fp32_8.npy", - "tests/micro/zephyr/testdata/ic_fp32.tflite", # microTVM Zephyr runtime "apps/microtvm/zephyr/qemu-hack/qemu-system-i386", "apps/microtvm/zephyr/qemu-hack/qemu-system-arm", "apps/microtvm/zephyr/qemu-hack/qemu-system-riscv32", "apps/microtvm/zephyr/qemu-hack/qemu-system-riscv64", - "apps/microtvm/zephyr/host_driven_demo/prj.conf", - "apps/microtvm/zephyr/host_driven_demo/boards/qemu_x86.conf", - "apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv32.conf", - "apps/microtvm/zephyr/host_driven_demo/boards/qemu_riscv64.conf", - "apps/microtvm/zephyr/host_driven_demo/boards/nrf5340dk_nrf5340_cpuapp.conf", - "apps/microtvm/zephyr/host_driven_demo/boards/nucleo_f746zg.conf", - "apps/microtvm/zephyr/host_driven_demo/boards/stm32f746g_disco.conf", - "apps/microtvm/zephyr/host_driven_demo/boards/mps2_an521.conf", - "apps/microtvm/zephyr/host_driven_demo/qemu-hack", + "apps/microtvm/zephyr/host_driven/prj.conf", + "apps/microtvm/zephyr/host_driven/boards/qemu_x86.conf", + "apps/microtvm/zephyr/host_driven/boards/qemu_riscv32.conf", + "apps/microtvm/zephyr/host_driven/boards/qemu_riscv64.conf", + "apps/microtvm/zephyr/host_driven/boards/nrf5340dk_nrf5340_cpuapp.conf", + "apps/microtvm/zephyr/host_driven/boards/nucleo_f746zg.conf", + "apps/microtvm/zephyr/host_driven/boards/stm32f746g_disco.conf", + "apps/microtvm/zephyr/host_driven/boards/mps2_an521.conf", + "apps/microtvm/zephyr/host_driven/qemu-hack", "apps/microtvm/zephyr/aot_demo/prj.conf", "apps/microtvm/zephyr/aot_demo/boards/qemu_x86.conf", "apps/microtvm/zephyr/aot_demo/boards/qemu_riscv32.conf", diff --git a/tests/micro/zephyr/test_zephyr.py b/tests/micro/zephyr/test_zephyr.py index 1eb986da43e6..8a0309e5559a 100644 --- a/tests/micro/zephyr/test_zephyr.py +++ b/tests/micro/zephyr/test_zephyr.py @@ -80,7 +80,7 @@ def _make_session(model, target, zephyr_board, west_cmd, mod): test_dir = os.path.dirname(os.path.realpath(os.path.expanduser(__file__))) tvm_source_dir = os.path.join(test_dir, "..", "..", "..") - runtime_path = os.path.join(tvm_source_dir, "apps", "microtvm", "zephyr", "host_driven_demo") + runtime_path = os.path.join(tvm_source_dir, "apps", "microtvm", "zephyr", "host_driven") compiler = zephyr.ZephyrCompiler( project_dir=runtime_path, board=zephyr_board, @@ -111,7 +111,6 @@ def _make_session(model, target, zephyr_board, west_cmd, mod): compiler, mod, opts, - runtime="host-driven", ) if os.path.exists(prev_build): os.unlink(prev_build) @@ -232,7 +231,7 @@ def test_onnx(platform, west_cmd): relay_mod = relay.transform.DynamicToStatic()(relay_mod) # We add the -link-params=1 option to ensure the model parameters are compiled in. - # There is currently a bug preventing the host_driven_demo environment from receiving + # There is currently a bug preventing the host_driven environment from receiving # the model weights when set using graph_mod.set_input(). # See: https://github.com/apache/tvm/issues/7567 target = tvm.target.target.micro(model, options=["-link-params=1"]) diff --git a/tests/micro/zephyr/test_zephyr_aot.py b/tests/micro/zephyr/test_zephyr_aot.py index efb131ff0980..64aa23b4f32c 100644 --- a/tests/micro/zephyr/test_zephyr_aot.py +++ b/tests/micro/zephyr/test_zephyr_aot.py @@ -15,21 +15,16 @@ # specific language governing permissions and limitations # under the License. -import contextlib -import copy import datetime -import glob from hashlib import new import logging import os -import subprocess import sys import logging import pathlib import pytest import numpy as np -from PIL import Image import tvm import tvm.rpc @@ -38,8 +33,7 @@ from tvm.micro.contrib import zephyr from tvm.contrib import utils -from tvm.relay.expr_functor import ExprMutator -from tvm.relay.op.annotation import compiler_begin, compiler_end +from tvm.contrib.download import download_testdata import conftest @@ -96,7 +90,7 @@ def _build_session_kw(model, target, zephyr_board, west_cmd, mod, runtime_path): compiler, mod, opts, - runtime="zephyr-aot", + executor="aot", extra_libs=[tvm.micro.get_standalone_crt_lib("memory")], ) if os.path.exists(prev_build): @@ -147,6 +141,7 @@ def _read_line(fd): if new_line: break new_data = fd.read(1, timeout_sec=10) + logging.debug(f"read data: {new_data}") for item in new_data: new_c = chr(item) data = data + new_c @@ -156,10 +151,11 @@ def _read_line(fd): return data -def _get_result_line(fd): +def _get_message(fd, expr: str): while True: data = _read_line(fd) - if "result" in data: + logging.debug(f"new line: {data}") + if expr in data: return data @@ -172,7 +168,8 @@ def test_tflite(platform, west_cmd): this_dir = os.path.dirname(__file__) tvm_source_dir = os.path.join(this_dir, "..", "..", "..") runtime_path = os.path.join(tvm_source_dir, "apps", "microtvm", "zephyr", "aot_demo") - model_path = os.path.join(this_dir, "testdata", "ic_fp32.tflite") + model_url = "https://github.com/eembc/ulpmark-ml/raw/fc1499c7cc83681a02820d5ddf5d97fe75d4f663/base_models/ic01/ic01_fp32.tflite" + model_path = download_testdata(model_url, "ic01_fp32.tflite", module="data") # Import TFLite model tflite_model_buf = open(model_path, "rb").read() @@ -207,9 +204,12 @@ def test_tflite(platform, west_cmd): transport.open() transport.write(b"start\n", timeout_sec=5) - result_line = _get_result_line(transport) - result_line.strip("\n") - result = int(result_line.split(":")[1]) + result_line = _get_message(transport, "#result") + result_line = result_line.strip("\n") + result_line = result_line.split(":") + result = int(result_line[1]) + time = int(result_line[2]) + logging.info(f"Result: {result}\ttime: {time} ms") assert result == 8 diff --git a/tests/micro/zephyr/testdata/ic_fp32.tflite b/tests/micro/zephyr/testdata/ic_fp32.tflite deleted file mode 100644 index 2e479f36e734ac7a17fa773c3f326ed888bcdf62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318144 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

e1R{v2h7Nndl|gZL^O)JR~Hi4By5 ztI>fYUO+|SE^JJ!g#CAB3GW+kQ{d2kMb!(s-x5D9{()8%_dQ>}_fYF`**ubb(==rn>##~zu z)fx5p#M+o2Y!_|;ji&f`%_N>@{~c(PFY*3miqjv)qicsYe>&|aW?Vf;#Op?g+6yJ= z@^uOHxHRJBuyo-&F(0=N?!)XAgZb!L3b^!SH7sn|3oP1%``TTEBhzc}Ltqk(=o+&7MB$3;H#atUvk=?Mn^m>?0r99QhPxc;NxGcz**QA){(AvYGw6 zJAp-B58>NK9wudu(I9>PDH@mVA*tgN$t9!FaOP|)1aHycioqe^TDKGxCXeM0PgxR^ z!}Tcbc@z0Qb1--+IOZ2AV(x@qOxWqg#&j0Is81W{c%k#py<7px4EP&`7JR=bAM)#O zG6{VN`rU}(S@l+!@^P!folq_Qz<)T|HtjTvkClgO^46k-j;WYa^ch3%j)2mshsmY^ zuh`Emm+(UTP-b&&C}d2xf_sDe;K^6PQDk|PElBr)OJDBcc_%}fGw3{eS?#4ChomvP z???hkF;?D;#R}gbc(uiZ2KE+_9A8-~TN;9gtM=f-L`xn!cLjd4m=AuJqTtJH4_Nw9 zg0Hc47M;<)jf%4EEKIn+l744Q8%l9*Xe&t=nvd0=Bk?$`z&DQ?a8~qNBmr}Ahomg| zc1@mEjxphuy%N-9dme^KtHMXA2Ap%g8D6+tLCfdUgsi3w>fAhlqi@flwFye}_%~zn zYvUZc_uCEF>UE1WY7gORIE?QcZ;zRu?I@8MO^VO#z*eVMm@6%DnM`+sS#j@R=HXln z8h94I6e^3iT1$hs*$bGp@IJU#<^n&~gX7#sV*FkJnGYy?(_o*VBjCn%0YAU%X{?X~{6@mm)DZeqF4(emsBEGK5Fmnaq|> zG9{_Ir-A8;c)RIT1O6K>su4C@b(|Jf0{C`ZVHBbt0noYU7om;3jNHzL+Hi) zx6DWIB39ccvd(sSyztC|=6&!+g$1!y`!_71MgiJHFY!MjXXVWA*hiv!wwB0!(kr&+ z)Kn5Fw+)m2bHIS5v-yehqe--*1l{NofYUY$yuK_qly1?5!k-6dL$)Ftxp@IbZE!=Y zCVeiJG{MPj(WFFT8+uGoqq&ZAg=edfpIzdMgO{BH$E-3qTu>(}T39V~XDDbt8AW~F z|KN=;Dv<78{*)LY$ zHGnQ%+lD8D)!C}^WB88o^;m5G7??OlEYp@nM|{%(8%=q9Kk*G4pD~0z3XcQBwe3*m z{tsdtd`YkFb|_hIf>JkL2@J^Vtn0M`QNB12QUl+Jwf6Ynhrz>etl25JcdmsT?{z0t z5%*9-S%Xj0@kV)6`5}z zY&W|RH3|c?&O!L=oSYt-cQVTOIiPlh!o1$pCEyN6dmV6L{X4uVl{mKcd5H zU$V|A1vq)cEFM$c1G&eQ=*KvFj1hi*d%l6lD>4-?SB^s!!y3SaF)&h?C7SNjLAB=d z=+J%#8m+Df4oT#Ai?zWUy4$mE`yj-eeu)C87$)Z7JNBp z8@!pmo3JKpD7X8-u5VJL-cfNlHFhj@wyeXnJq7H}=LKw$+)m#AM;2QZqF|x-E>u3e z36|>?u#0Y;aK+3RD{s6dU-UXKw6z|`?`&XU-WAw#wHRkkxPY%uxLYNT9$YjCVZ{JJpymyjoWDmc&C9m*+};9IYzK&6_^|-5?P+hCW(tG zS^U~tm^O^Fe+4U`(lY`zO()}&O}g~G?hSlVpu;B>eH3~as!aF!AN(K{hi`_oVei)g z{P$eJm9Weo6SrT3jRNoc&Z_&+nkWZJ2EA~qCk@_QxxhBolwqp-O_n*}3Cs60=E0%T ze094ODO3AKjxKFy!A;AkgwShNEs&%g+46j1!(u4#PJo>sAHu#FR!}^rjZ7W*5BGFG z#V$)#@F-{^=09xto_z#M8=eVDo*j@iem4so6Dz7cp@a9ArNArimB5E+@t!Mr_|I%2 zSgui_D#M4szdjXmDv&X~-NX3f9)CQ0aWJdQ4MjD>C{TRSfn(YuVB!8Bs9_bt^&7`g zyHW|#^B@F$EJyO3>4)HQ+JEr!{zX>&QIGm(ZR00Ybm_`dH-x9bXJGlMXz?_NZhkr* zR9p|>$n;Ynw{;;cb5NjLKK9|Wr&qAp+=5;7f5e8YS%Fu_)2oEMoW9sz%@J_ zY({GGn;|mzwXa^hb@2)4>p2YL;5|Eac@>J{Q$)A?BPKLwclA}<0^a)GNSI6+%_Z&>kH}Ii@6H(`>J?yQt1Bb8qg6~(8 zFFtEUx9ESsZ9~IE*@ucnzlHO7Q+8q1{&hN_SlfolDievLyc&Jnb_|v{o+RxOz8F;Y z5rZcm$7Y9m)Zg8W9wNqS)@QS}ETDPS3t<0?55&z>6Qp}o$&m=4Bg+qyhDEMS{nQQE|K5#ah4J*J)NO~%ajU7+%_8jlL!2-2K%`TrcB- zN|!QWfslVW9ID1YyjBZq%nK zNA&poqig8$?(>)#{uI7fOc%Q3ZZx7S845!3*|ooMU@ovXHFt-B!JIRg^IVr~+|~>R zLoczhYO~37MMj8Q7+BfZh(TSFwk6ENe-Y1#%q4xu`+OR$-Z)`sKq&Q^T?>OwT!G2A zzOqzD9nco;`EGyBdCV$xzTY98i|s>1rrW1d{n1Y#;d~^H`B@LEMplbk2ix*TX1}ny z+6)9Woy>Bt3H5Rh02o<_y zYXOw^gZO)cBc5qF4eu0Ru&2Ey%yd{3-LqB;3uaznUWNr^OwSA+n0FCJ)C{9aAy)9C zyB?OeJ8(CLXyV?o1pgFGhF1+q_}}0}SmPZhoY8K=L4nIzY=6yRhM^luHhpK-s!Kr9 z(;rtBm5Hi@v%$}GFJG1VljzTRO#Md5Q_q;qqAqY%H!oQEM}MBL;>Fq=BV zoR%dAu;?$@@JN_VE^j)C73%#M0Q;~oIR#w=ms8)>73`hRTg{l!fZOGo;An6c%=3_> znWP3qPeNgy{1EOoTIfaWeGXc!*B~RQ6(8BYLF-Gh+$g9FN6gudiX#rdh|7MgFee$` z=?$Zr>hC~)%T6Y~uZHn`WeCINFTinROUtsPy**b%a6UV9A#(ato$LpgfbDc~@+N&hT7i|mWGS9EG@y*gy zesU%}zqW&BmuqqT6+@^>P${u%-Hcxw9Yh7qFma8$L+P@ua6@v z?fJ>h6A3W1%mcqqS@^uNT@*8mf!uIud?B@uoEjZQ9@Z_ucY}QeC+K%%T?wSr#8KGK zn^LW=M&>!-t|;oc4F4gy8E=|NayOj;{INwils>rt=^cNOu z8hqToWc>Z{2Hd(O1v^)aB(n_M`Q}Swn1)D(_ejoXHnE#87YZHKy-Kold{i2As{cgi zjFXVCbSN`e-2h2%=b>KIXB3r~lK$|aVv~fkVtV;I+&@ze`6bREpEaBp+ujG~-zgKN zj#YzLrdb>x7R#Zu2iq1I_Wio+pRzHQov6e)7 z$v|{TO=aSCTYj=p=xW8i#9RHF+2oI9(5$1#?W|t1ODd1a;TnXJG+(~H$%P6eOk9Uw zV8g{c2(nCPhwHTYBH?Erp8EiXOPO=8uZFz;Z#X2Jxs8*GZD3f*dTu2*d6XdAGiN)M@pd){tDV*UCf5Wa} zj?mKNNIe!ciOr`)Qg6FcXd~>_(%iPg%5W{(nDUoBEt(Hx$8_4Ay#S1BEpXy!%8Pr2 zcXjbCc30sPP91$3e>i<+kB7|UuD^%l=J5TmF5{sw~0g6F2bB? zOF;f+34G0%jP?^^$>`syaK36M&k#I!-LETncz+?ZwrwS++7`m*#2)-SP8~H3H9=BI zjhlSU#xW-%nAeowEXCamUG&e2`~POZu*5Vxbt@6htHcutPe%vrzYk%GQ!Ip@wx!a1Gc4=2dMxv61k(YP>&`*KZF8ytPJ*lg;RpR9TuRV+7YSHF(h}W#ae5hljRG zkhjo}%QiLOiL;8BaLkEi?>h>0+_kFf{UIDyCe5Ok%QAn}O4OfUOR}mjuoE+t84qd=UR1hyUDLO&mjCL<=g7!uQ=$v;Fx6KkbNM>?i>5|0) zqobKw&lOOT*5v({#3cUvKN55!2U>!IL9Mk~WTL7MJjj;J6S^*Yf6B5o-#y@i_iUK- z+5_~OZsCK&4#ZySGkZ8bhNkZDCO@Jsi~0kOu-J(O$d)c-sdWiBHhP2cp^;?teT3&{dPIQc{4y(=yi`T8-XCXjf{Vn$EH3N zp-xDnMcvBs9gsU$`^0xZ&&A;$Ex3GQ3bd&^?Mi5<;m zc@Xg3?*;#yra*V(QD_BwFfq~Qhb_WLYw~r zfaUH7v3dS>cEo-a6*YUqOqKI+SLhxsY97v-{zc=^*&A?mY&e|f?XY3tFd%Sw@F;LzDbE9&wwxk@2 z+I};Y@BW~=JQ&071VGE9UifxzF8;XkSnx$(WcQ61@W&GZiG)%w?;RHKDcX8irYo!gJE9TvFl#e7_eD zDF#Y(%VJM>Wi$&`T%84qk$L1_SphuSlqxD4J`#Wb3T1|WHw$yFI}jr5nYLAHu(o$4 zkY9BG^kWBNgwA*7KxBF1A%RKtv;{_MB*TNb(?KUHO+0s}GrsjJXD&4<>|3-Wj+45G z(_AI_jh_m1^?Vs#vdfvY^w;7YyGXb-#1X?EjR7~+A1o+%K79OnR`}c0F@s-*)b6n+ z_IQjV>b4hg^G`26+WIpwgB+ACO=D8x$M~Wohs0*;3!R_K;I+Y!%B9k5&1ntC0jXFwANrasy6Q?ps=kpQiLlcECx^UMF zjKEu+u_WWNFVf6GBxHp*?hc&H_AR!h<_DZa)1R$}^{>y9AnTKOI@n93xLy$=CJo{5 zHon8zPsXsaMVj=$ui-TJ+I-w6pTo2^suS65!kM8k6%7>@@U^N}&{UDoch%$R{U^!r z=J-7*5;8O%<1fRW89!L?{ddeWa373SwZnRed*tA5by}H_ApGALq5qWY^nBKKQ zbY^h}`!Qf$^w^uHKz2;qfnrs)WPX)L+kLI^2fgzLz0l{zcM%;DtkN&?&ae_yIPXEf;%z zlN7vMbbZFN9~MfhC@LJP>7fSHQbqWgaE;+WSxX!2Ge! zaIokvlou!yOTVRPHg^FT(7FZHrAo!Q%eLa(1|N9*O}NYYSYwWw;EgChho;M7aS_WQ z0|%{w4TAeV2&r~o8WGxOCtR_(o~~w3ZLC0^cw~! zpb)uTMSlo3d7Y+pG z5HIt$xYBMWZWITxBi8nqM?zTR_+g^KZpN5YbC28@@)F;sZ6xh&DRAq83Hp?Iaxc15 zoUz&y9}2vVCxJ=eaAQA8wJgBgko&k=^E&Aal;N?e!2EAHcZEH=zYky4Cn9}%26{_3R(&&R zBHOw?vE#8F=+`v}ca<9hc|MvHO^}ASp6Os-Dr9^zRmflx2I;-`9a80b*zS+p$YPsO zSk$u|Pbq8R&!p9&I-&-buX9YGL-}-@RiJj?2;)P)IqXS)h^tFm;rVC{YMY`!<%BNK z;aQ3>)xDHOxebG9Yr@!(18Qhr!$4O&2=rRhh{rM|l=mpF$_ZWz2dzz+Xpk&s{ zzs+gA%_P|QPk{}OBGk^=54|7Fhl8z}Y_OIsM#-yitq5lxnw>>E(gt$J`b+4Vb&ZV~ zAxS%@178w08I7!0iQYO*u0^S^uRn+DQl{a`->+~;_Yh`3(HH;T zv?4XqFRCW65XwIugrl#+(b@SLTOoeL&Y3@B9Lxu*;b87jDH%)7UeE`I0^Q{0P+`W`lIVUEpj!UYZ4w^%qFGRW(?) z#=wAMm+{TtXXKKz5$;WtquLUw?8l=x7E}0%{rwXTse&-$z06NcllH`wM$H&>eGbhk zNe3g*Rh0Cv#1UUx!KFWj953l$E9!TnhjTK^<_E#c;~M^xJ_VxkY>-yE4X>*lsbAq; zOk9xz4+e;F>(1?1Fz6V5nKcXO`z<&r(gR<9MYdJf6AI=Xhm^ntygk8&p8Ib*$f?|b zs4@A>e$a4+0-vbP~HYgD9lK$Qy}|QHTq5QW9wIcMgs#Y_*Ie#;TNOW)t0Gn zx*0_7@3S%7L!UP|KE^#Vm*J#qISU*egZm^-;&kQRFl|oAGKif z4~Ers-(XYDcCuDf2R%K~WV3c5`7b&W4jz)GY45^CMfD*LsiLXm-N89T#j*^wez}qL z4(FiW06=!fH+a2Ml1=zrjE}mmps2tWHMaxS6|@+rcoK{&J|}Ma_a9!k zIT2jEb8yyxayHrH5%w4_<=gi!qz_H{*?|NTE_L?=$vpZKgEv}m55Y&T`D-v=E94lL zh5ZyVsVQV_)W@o2@9#m_FBxcDFdtHmNkNzJeph`vku}5*gy2)wT%*%ONHy=8c;@W| zxX?J8IOGhXU(LQ?L())cxNeR3W>_;ZUqNf2oW?kgGYEX@7JbY-#YEtwFd{{`&K6^YizNZ34W4DbCLi`{#T zdGGq=IPS6&?%Z#~Tl@Euy@pv1F-{v{*Qe>|a>p98Y@$T-s_ew}7Pc_%=^?b5Xab!( zr_<@Sr7XAeIzIR}U&tVSMhLuu0~Cw!p4lf_)RnS={QwvhYF&ob4{ z3D~nuhJ#fHq~&q+8C*t2^$cMNn+LFh;4*AoG=L6veFF=(42IRCT`~TpJ`BS?Qn2_B z&hC6emVArCiyA`TZM_FX)lC}p zRIalLE`0gPT6|Aq-61JDbjc`DZDclkJ^C10dHCUfmT_3#u-~ENnFZI-&|s%m4d*6H z9H{oxJL0$B8<=*PG+dq-gPmm=;?|5{-X$}V7A=_v=SRq6vdLc1*HGtLX}PE@{g52+ z&;XOg6A&W&ftWl+rRQPdUBd>_45~mMA1M;^3si7W=0jtf3+$4s#>%&st8k>T!<5+R z{KXyN{$A=w)uV5a<;E(I?c0bpZxO!+MnS`&*BIq{lGGl_WVQ0I@Ri*~<^yM;;#nzd z&go|wTJAXR!$+)~B8$u?4o*$~%lt0?BKJO@6aM`~w(^|dOT1Fg()E|&$(t=$VM1ZV zaA}$}DhCH!oD(nqI{{06E#m)GN5L@P*{IvI4I=)9A{+mUxvyIZ`?WR6rX3Gh^SF9+ zk$MR*`T{v6A-FZhWRXkmIS${v|FXYhv%$zT6&o){;nCrvkgq(4B}qp`#kE%A!S71p z^q+8+KhqDzAFsi$`>O2MtS+2vd72si$rAFgQd~}I0do_2-(`YhuyyHu?A!Yr=jTaq z+xc--pSt?U`1O+X!s`W0!Z`@f?OiN(mDYqIrAq(yYVgtJ$518E6NMN9wiv`a z+`4x`q#9vO*Dc)v`!&CjZCcCl`59mAD)52DJ3iv<_s3!D8KE;@F5Ep1ydyWg1g1!^ zwb1`O0(UDfvQ1|s(e%Q0sE=zGRqqRdH4#r>@hThWyR{Og-10=nUpnN_ipR_;>;JKjVe>4*XA?2}s5~V|4syD6U@t)Rwc^eswTT@;7+v7vS}CAy9tL2Ubg;A{(+S zscxAuP4qJYmun})VagNu6KrI5dS6IQS4{w7@G5pGU^v z!FSTMxkZJ)Ocz)gB~^I5BME1%7=l!85Ir@sS(K|LxO;@T;RXj=+Au-L@~sL7O@T!r z#JBnE3)QIgU>R;$R0ZuazWBLqIph_a@D~-{qV0Qq_+f#6zF}G{rhj`1uOjStmF*FT z%{hmP9x=?n?K4|v7D=9*pMkZj>tJ#5D=hL8_6vtCxSZh+He$;JOu6v{9?En>OQtDp zSUny$mq%gRi)-lAco7dq%T+d#k-sEzzAh--!T{3TyC(;o*-1Odk1QrdR$NM3L4)wr4G^;&}Wwg zFF7#>#mDj?VAz?eH%qff^h?So51PayV}`I-bM)!X8AZ5j;XHmTc_<4zI0pXRNx-1s z86w%mDL7;2L5DRaet50y6F7~}2NRqKAu8K=(Fa+I+O?vqFq+V`WKl$5CnLkD%JB1FOIEvFXG2LE<_c3=+Fh z=jtC=kdlvy|CK`A$~S0HDq;z%rU-1p)40NyI+(X-L*eaYSiV0UTAI^v#ZFa`ux8sd_NcOn1n+u) z*E=tP&CCq4P%RaMYYSk?^Y^0S$~WS#CCY?P--@&C*HEKoOP!`^Ij6n_Zf_&Rvpno z-(d*TjMT!U3o{4APoY6S&x2sj^J2rAp2k^06bN!w&n3YZVJt;VPqAj@MV35_Yp0OwGS)dP>P7@vtE3oA>mG~AbYy`I8#_Sc|`oD-V5 zd_|2k8R9p?7{`3NgeC(+@Mq`*o-Gpur)s0%p3yzQ-|U7qw%NGA*^?)ANK~2IohGA} zPT;mrjd-I;mB_oe8n>v+Vd@MYe(cU6qBZV}I3+w9{mZW4qMu6qt?YcV;i@4P|GD5(kZMqnOIcf8y5@R^sE;>-o!VUc!<^_|+!9K$?lI z)ALYLtq&9{CYUrf4yMo8#nV+T7@L*OB(u? z>B6#OT{t7lhJ>DY1}o!ELRhRFR(<)Tky-j0_BU+v8>_ha^z%C4$Qo8McN&d!UdczFx=sR43(n(xD*V{nQWQS=j$Kr{S8VtQNn)$W`(S?UUk-ET{u=Us~ zmVQKq>za*$YvZ(0EBF$-FnS@*5j}_I_+`98-JFjL--ti#W$^XOEPNz5qOTgYh%$R! z=;S-E(RfWZF1%aG8szF(zc9b8tL&`jZ#SZ=cpkKB3#o8o?porcuG?A+ljuv%d7sXBn*X~3wMa?DD{}6Wcx`V2(6dyQA;8Gh65GIh{$jaX%P|bKJ zOrKzco&I6WShS3J97)GpCQ9J1IszI8xuAE<9k`*f7mlSr#&2g6g>$MMb=)Pzw!Vr$ zA-NBStXJc{lkLQ!$eWX-FuZCkOQ(MS4I}sLW#2pHVgDm<+_7Af4;yBRXzh!J_Q|lv zK#liHBD_gOFf5738GiTRVaXW?be|?xNmt@s@z>zly8%30@QKNO%%bV<6=CeZvAns$ zh8A2m!GLxZD$Z)bTc(pl+iq52*u33D>()Jj!=&he%@4(&n~d1i&4)#7u`M+A{=-+P zakx0zm=F2(8ztw&;TpH=%p_5pFAKT^M;b1|kB90^Be;cpei|&C|HDz)$`{I$#_{XD z>M(uVOOi14AbT?Y0=^6v^5RMpX-3^MvT(HqA8X-`|AkCvm77wq)VPP;>FOm%dn(}W zfrUt|_uxZ;6*I7}jGSM3AI>d5EN(v{I2$i*;HDC$;NkDXzsw&)w|5NShlIJ)BqI=N*^x*T(VoR@#!3 zl0pN8#(l0s87X^3l9j#5UJVT@4cbc@s8BK*_qmP{DV4UQtjx-m`VpS*^JjncdfnsP z-*a7`&-)!9unk^Z#|dvrP<8B5Jp5n?44OHX9^4Wjx^_oj@N`XqH-#qLdd?Nl$W`ax ztOjE4`YwDqn(!ur8g%|O0kmyxd06rp+;Ovm$1VShwl zY+R|YY8c$wZN+O>*FyW}Y2tQj&b^v_z~X@>f2tOXW2{nP=B_5u=6e?S@tp&@ly1US zweO_=`F$L;=p$|(WrQAoqs0Y3ipjqtUBXR3|K1x%CeSR!fhU0KY=*x_9a|XDe$swuZhne_&`RC zibSdUOjfl`fw#|)!|6knXvHKs?sGB?KEK_^_6}N2y?pgy&X0SyD)u-8M>m zBf$v&T$sT-PhG?-4-;Uq;4e@s9>^vb-$i{l!E60G9Nl*x5?rEh(PQ)gZg}k@JXiM+ z`hit&O`PLX!-G$w@1H_pWT$VKedo-(nw z>=lvKiPJda-#t|OZv?kGdkn?mec(1K4U~(^*hlUSGg>a;b30!`hc^-r;q`q?LQ1mZ zqu6KB7-$}BhN>ogXss&4hg&G~yq0n}HNQ!m@cuL?JEoBz9knoI{dFM=_yhfu>V?;K z9`6s`g;VQ}5I84Yo%Z*Tg zYsT-{*+?R|Ws)JMXBA8stwpvi=>c=4uh?8?0(J{)NTYHzEXQ*WhcrEHUD&(0_YA0-qO8Wve#Jg8|)-%fl1N z%IN}w=Id4%{o)Q=7ng~-x85){tJ}Ew?j?NDI|#2$9FLCsm0?uwQMSga11HETao2;P z*ta#1uC$#dnw}R9zdFyt$qie;NpKp^pDM={iYnMAyHqASXfxFM9T9!-7UF%G>G5FIG(pgmzMj?L17RbIbaVcNxftr=F~xdfd=_*{05bhx`^YO zvtqRXJ5XP-5e7|bg(1I!u*EmBbhC^bKKycpFSq*)VSy$rd*cYS4@y9}@DcRR%fHN1 zxeR-ReBzc{r-@cnGTAc1lpbHaf}H;%30w6(V*Bt^yr=w?Bz4Z`oetCRi|1KbAwCK> zcFcz7uCH+Y;U`2QsT}tVTnm+nE5%Cd0>Lk3KCKuh`ff+2g%{L$iSa+@bRG;Em6GWIN^dZ zZ~1y3t27fp(^TjJyvQc&ZRW$<-Z1u-)dFoZ4geZ^uI+GEA^`@+Yx8uN<-aK#U4p4~TzzkK-xAJm_L#k+qH z-=dokI(I0avrn2Hon$SzbFJ~yF-z|AP=}k|-bYF7ZIRDNRX#|nhiv@P&Eo!s(G`!s z_T(M`we}1u1rH;zDjZs+ZMyUSMrnqlBEZ0bDpx2S(>)!D7xZ z>hyLeSezYBqJuPf5QM?6n>r-DaR;VrgyP(@m+|0EDe9Ya5gMickf-XN^pWtr=(iV% zcMcTpHH8OJuCkM6?2cZ2OT?=#L-7 zw@6)tnn~mE$B7?MV;jqluun|Rcr>nQN@K;9Q>glAN1%j#vw zw4J?zC)fjJR+@0_?pXZkBk&(9hl6_Y3|KgY_dp@6`zu zMvd5w2E1YY7#f)U3bgk|;?}|G)XuL1Gxd>mou15XM}K4AFP~!~lTy-iL>o*bd|_7P zSk6~RVOH%>+NrPyW@|1%tHM%DF-vCl{(I5z=D^YwO3L)#%Pe-e`^JCeq+ZUrCh=if$w`*XE5EicQw?Aw{t_K0<0P} zhDTd2hhD|~K$WjC)oB^vP!j5Rx_K1lUg^Vzg}22f$NwY$Y=Yp>_rb6x&l+wuXW}sZ z(a=0`Ii6XdgU+3&d6`TEwk#P-I_X!8`8SkGvm{XM+{E-=JrwTIIp`#-ixGi-%>P$C z{Ho%_|AZtC-S`ols1Eh0yG;hpQKUI#d&JX)_a()BIu4ke&b}QIx(ma^@V>lK-0E}@ zrgt@wBK;FsD3eL7R;p4DeRaGpsSD25jd7ku z6cOAF>C!8)B1`FBl>7c(JW;lqRLu>7sipDQ@nM(v-tD7gQR6AREK?6t)x%*yv~Z7x zR2=v{7&>xi!bxM{zV`SPF;3pXB_EfPe;C1>&aI=ZTb_ZN&oOd3Jdkd9xscw}b0J01 zlem$^VKOo1CDwX$q4v??^qZ44-|*xuDYXq3oE=Y@gPtGWSr85TbV@P(Lx_lYU1fgP zy!pnxP2`9CXS7Z;L!Iqm=(F2Kao-s@{mdHYIDdxyTay^y`<0BDCgh1dGvJvO zWiQI4Ax1`l%H@BmATRWgT7ORRbq)RI`+=RVXuhQR(5hX1KRK z3g&DGC#QABK>MT)Oe+{eHw^a1!+z5E>Ba=?PY4pdzW*CCT8!wh_%*m9U*PjJs`33U z2Jod?j+QOFf;EjL%owbB){}9(&p8$|4K--)i|zdKe{T3eaEOo?9W?7(gjpA_(p@_7 zm<;FGh_8*X&L#!fngG!`8ATd@NLpY3X|gHSDm2nUg4dRYu!WPRp>4b(sk(WWS7%&B z>BCCmZ`_o7nR~(I=op zLY1HM`5|Pr47rb!0oNTRO9QT}@=TpY^ljI8E@fbbr$T+PyfqiJhMgkMRGQ)CBX4>oxnr%CxQPX0+=vULd1@f6KYk3PR_{j7ksVOb z`dRSs^&$<*f<%JWoNnLOt&@Slx{k}4G zRizI8J-GnKR#?K{qe33Fu?{k9K7hnLf84M)0cCnNfpU!+Y#KET-#?O})jnf!iNI|> zlfPb(dWo=!QAUHcTJwp@cr)nPd2Z4urqamJj!L8NGmX7U8BE4+|B`1bL)6& zryY#e@w(hKH5EoBy5K>d)%2D_4m_WzLLc@d;HI8C;!Ztvt`!uBZX-sLcS}9s+=Of3 zTz(auND|Kd~f`FZ&yJ0xho)c*g!5^ z&tj!-I9~a+3GVl}lG%DoOMl4NLtF}__p@uDv~@GQuh+!gJNLkln~}t)X)zpHHV3lL zogkJ8dxRNe5V)*7KvKcB->< zEZ8NuL`Nr{A`6y0g9V$Uc->e6Jv+@Ibkj<_Z&`&3(*&r(%mDZ+mZe9+m%!y&v7lA4 z2sJuyu#^;g9%^fXGb1DgpU+unI8i0I1-^pupJdESO^3!a8gzncGmKGH<8|eQXzTj~ zw;z~>7uQ+Qmn|u{p*Nan-7<%u=QkXWS2Vz(icO^nv-~l#b_gG^^%vaNFC*WAk?6`V z#hC*}5GR!Z{BfcfF1p&0>WDnNyLvUdmRtr?uUv-lixSbhM}m{(2cYVb4d~K)cN%0JXD{VoUFJOTr@lPmuvZ?L&MO!qT7?JbL$ar@mI?4WlD&2-gl!IBix=jT z0YO?&J>nOXjv0sFj>=K%^M7#njd-lOI~DIXsN#EJj-TI|Lyl-(1*7XpSTA(%8}@C4 zcaDqb*Fpc-<%N%N&l(MsexpU#YY*kB6%zE2&}WC?-5@L8hkc9X$*YoBk~pIUUrUJv z&dYQrGdl)$HSB?NEhhY}>S>7RJqt}H@z}oODKlJB1@&LrV8W&-%->!~cE^6leZg69 zb66#a@FVFs*a8iWzUY2(mEessrd1gRB&1dke!Fjg*wa5T zYk@g8&Hc(gzRn|!_8&n-YB224%)sBxFCpxkEIbRz0<}5+@XACXAFeFNH(2fm&)H*P z&I>2tr}S`J_F(XMYzh z?D5#XrIML0KLbObG{ADL^GN-+ur;Ay(B|Jr7+suP$_DPln9aF()$c8E13$1@Iv))+ zO|ZvdCOSvQFl{?t`cr)a*(s?+$6HI`i|897#iu{WW5eUP{G%>!9W|QEi`K%6X9~g| zVgz*N7~=CKIZ*a=3EmV0KW+o+S)+X)F*cTkeZA2lyI$db9u&!n>K?${YvtHIrwYB! zkKj2v-uNfq7aA`KeW%v~Zy^+T!*X|Y{N{I?7 zSUdV8sjeO)@Fb3-%ll*K{lXSQU;l)C8mSo4Zh*R=1qhZ~zKIkpz5cdA@Z0;)! zIQriN93Sh3KDBpo(@6#DGN}p9{n5wxuMKPr-H3j>{c%LhbkP)W0EIj6*uX$bOjG{? zuScE}hsoU*&OBMiz!EWvpQ#h=1PwZ9&Sac!d`W!3?Ji95y2t`!-{9MW0w=2N7=HGS zV&-3GqmS);2yRlq=6yl1=+994*GifUd3h4f^{Vqrt9%_y8g@g$FA08w@5Z6Wzv6w+ zB;{jO`RBMosBy97b{`cnP;V6somb3GmAqm#Zw*<5xg4zQ(SqGqzaYx5VmBts(TVGS zfzai`hs9Rpg7zhH!1^AV?x-VK%^`3*unJH6s^K7}2E{U&kneLE@1D&R4Y*eduUb6O z>}@7a*r-8GuePH_M>WZbOT?n?!RTW0!?C^btH5TL;>8}VaIr|lz4rNFS9Jn? zSBD`jlsk(@YSOUVw2venIEOjQ6LJ0?Z5(9#h_ug@rs@gaxVm{BRxI#>yR%fNsuW2j8r}qt3W6Fg-Mo-m7&Hyc$KIXdZ}59*o5a=fjHCKO3{}+3!Gq z{8hX$$qv*u3thNvDNy&S10#Oh(JOK)^gx(0XJ=C&r9%#WJKSfArg3EXkti4%^i8yU z=}D^h%$HiF?Pofr-$|HaDz`2Out$QSLO{Q>l6b)qc0Rx*LXwE%|E!O zHW1CCA2YSFn#AnxYVnHuUc9#FF^q7X2k+@>(P5jlpnu~nYs(EL##0yxshP&l-_rp9 zeafPJn$kS%Ulx0zzZ)`3$J2-X1A#^yrS4POz^Li4`ebs~+ed{P) zs)4IqWg)X%gSwUrUV`&~MM($a@a-ZGD4A!>TE+*${;vVJ7Z$>%&6+&<$Z^!4f}mC? zFAhuXCDZ2_vAKTn7`!hSUVg74>jrEU7`+O7(#i<3rf!4y$*PyEOkbYw=?ujA1KKbm zzzxm@W`V(tdaQq=$kRR>qN3JN+;(~|F&ZmyA&;9fdS0G~ezRvAl=rh0_t(xPl2#f%Mqq$FQ6qQOSq`lFJV4?F5 zRvg(+^1uyM7f*xmxgwep)`L^jdf{cPKSV2RCBGH#vZy$FqCdficTc&-(&F^+_>NKh z=s_vIZS-N#3%yAA=`FnC_YXE@oh#GOeF(J&6Umv5LZ}p&1@DX1$?&zy>4Q7zoER8LFAZFdO4pU?gDf+M(pN_P`L6V0f2nBC5GnZT5(n&`8dn-l_$I;0@Z?qn zy7$U+tL%88KY0r`CoaHBwL%(DUJIdn0$~yRC+rhf(cob#NZICAQYeuD(pIv3gI%@Q zX3R*mUT+DjyBkC&E9>C$H$9B_&<<0*J8_eqEidZ~gpq^0ptLWGx$1R`H*R_aT5W#p z`IuAiaJ(Azc)9^A@{Ax;A`!E^Ea?sI&$6+gI?z=@f@>~W>cBZ5wqy!e<1mUr^e>0t(@ z3jd!$I!-lqrQIX)F@Lr`U0&ls=2|`{v+CAkkxc;S zgym0?(PdUQv|8UM{nre+Wlu1(JL&;r-q};7m)H5cj@#&$zlJ~Gco}^A24l$Ro3L$; zCMr$p1-a)Ee4nK-5BCMQ`8$%--)hCCy5Uq&eiphIX`#joGpZY6fz@(%L=oCvbkzBS z#6ZHBTqROmYxhLdFMPuWd8Fgsp9wg#Fp6zmUdrx;EFytro#?pZDtuTv5(`@j(c^A6V-X^tlv;H(h{2k1ZGzMHnKolkDeDiE#Lf;afs3hlpn7M8xuR( z1MhQiLHh)*%iIMaGZvEfmtNz4<08>C{|#N5F$;r#+wdKuR>EhcTNqj2iVnZZ@k@U* zibyV4JyGXwOHK-RvUFUs`8V8bZU)cH(R_b-7s&Vq!Kh>NaadY2GzH}dJ?QaRsNBTJDINog>MkZgKNJm{8iEn#VczwGP zD?Z(aTmBp%Hjm74QQti>HKUd6ke-LVb0)*!J(I!R(~iIGQsLho9^*EdYP|2zW-6@_ z1v4DmL1CW28hAbh21qFJi5(O9-zo2K^UQW|D9pi_$9b^&;$ZQP86tAFG8r@lCr@gg z6`#F8=sy+KGF!D^@#}?wFr&zeuRpyR9GA?eTY6-0po2Wkm>57jb|yg4Zv#SK^pI2M zykUFKEX>Rggd!Pb8gbPC3!Zsn@QP)i-S`P4X1*04ta>RLvO|Q!rO)GmEzj`AmO0q} zPH<2soQB4al2qqYAJg7#gvXqOec_K*P}gaN4P95s)G$jvMcEjNzYl|)&|hrZCK2y5 zj6u1F$yjrwPsl(D-*1y0+{Eu0daSw+3v188kaa~kZw2KxKWo^P%}#u#u_KL(NOSNz zqQg|4RD;PSQ#xji1#BFq&wq{dCi{i_(^H>Lc<=8@z4m`0e=_Ci0)YprV?BgcT?)WI z{0`d{a1K{hMZ&`c$sl{xfQ}1M#q1sinbo>jZz#*Ek2}(vD|O-AW-rOEG<$#|^E45m*$#Eq*7JhL&n*W%+ z1RFF|ZzGj;)^NgfET1d(!*3CP(A?KgEdMP4JuEa?{`v?s{TacY4p+e9J|jFG8Ad{u zEQjco+xgllKg2TjHN0BqGlcqTFq^>x>Ef>!apnmvE^R7_&*qL|3$|T?4R$xkg5ULU zxb!ZtO*6ngPJu2`bAcLx<5XIEf=X1|(w1s3jLsj%B~DDmNtv3oW0WBciK~V|!-L^b zt1hh1Q=t=%2g4JCS#(1tchuKXpoc3BX+hIVSiDSz)$VwWBZ`*tvb7%MQld%=$OWz55m>MyYAjwK)YcoR9C7)M&X z17J$=cM>$Yg89gQf|$ZcNcwh~JsH^y*I$d_dFlai(D}VEBs`CW>Hh}%H3L9;YBMQc zY(#w=9GUx@YJ4;x0F&NNqKS>GY0dpKaI(;(x8I(?w#jyM`H%hJ+x;J2xP6>FWCG)2 z>w46BQ3YGw0wCjsF7!)j!B)-t=4PCL?ZFZ_zFBa+4en(w=Fdgd;eISN zMjrZ26uAhWqPo*rnElEJ>JK7Q`E8FQ+Zf7ENrq|lrd*H*Vdu-;;uX$g@wWSSl73Hz z=b6vN^5LWC*q{vd>(Mo~`t3w6Q7;EhO9PPgj>XAWit)yi^SG=x9nz0of{|^zVfT@7 zTvpSA*t~iTwPQAc-JPXie|Q;QeeOmhLICG4y1>q^6qj~I{KkVThQaE0pV;KMSepJ` z$kY2=M}?vJYG_Fp>$E%ma+JCnAO{$bMue<@ii-(}9q(8Rw z@4;O2Z2WHg4vXUUfKgVsW?|Oh z+=X3kEoeMq1$nh~AiCBtSU61!p7lRRFzY9=3zadXc@|ez$Yy8Nl|WXj2LdY;aBH!^ zWS*hVw+))b`hC_xzQ<-!WwsZ##?_JYn_XliqaEb#LY z{p&sk?5GOY`f&;!Mq;@^si}|wdJl_NJb;ZVOT?dwaz$H*FD8lB9A@ZNv2)!YDc1;Xj$+(n^6vGiHo3roR@vy}r}1XWB+Qcb#GS;~3T>BhPPD znL@-zN0=y2*aVd*aDOt3PWW&Rm#>{iA6X|t(2rD--*W@(BTr*xh7NeGQKBVpG{kF; z9b#3v51`=dc%JgW1MCc@!{irrqI*h{aQ{&QX#ErcuYyb2-7y+`+J;CNa>`M>#Z;Yp zOjY6Xx@M?#xeng+n&bGFdL_M)1MrA>IPQ!Sc4~=w4 z_Wn-%l&<23f(>N+2W7tX!ecnTT?;MG>+*$fy20$cCZF)}HEcE8iVC;Gn1)OcYNu?+ z^xdOr@IXa;7qV7-KI|M0-PVi08eW30S{#cK6@%^BlO%9o26=8R!xcaOCExEw!0>7z z17chQ2S!{4`g0o^3ViK4yVq>(Q)}pws%8EA+F)v43u}?`qqE$d@JjS?YU35pti~z9 ztqfnP@$e6`c`Xg5>&;QDC&yEY+adMrWp+hVmKdj8#;HcYKaA_erZf*c8nhSubvap> zZ$+ha++mvOL>$n#3r@UE5k+iP#ny#>zy+tD-<|oe_K!8MS)_wn_l$AGrt>g9(3l0E z&BwxGlSe%{5 z78}az@b(T1daQFCj@`I~eKVEd>krEFsK2LS)sV4tQnv;#tPUYZ)GuK0yy@`f`fS)n zpOL17k^FOg0)86rjRPj;fyU5DFrJ0u-=VQMD_omzJ~bKtcHbqpzOKi+&E6=Vr@`C0 zO+|-JErT-)`^m1o$>jM^NgQ=Jo!q$ilg#cjB!!;U@VZ4{SGbG;PglW{R^5#Y9U~#g z--Rm)S$V$&U!ctEC>yfbmRwW#Oy+I)gWJ~M7u~4*h}7O50`1mgvE*ea&(B7hZ-Up< zr0M0b7|fDQK_7b#XYYSxr&gatV@qRH`q@Yxv<^cvWj}T}SBrnm2|c}Bs=doIRrssh8-NpZVMQ!=hMLFR9Gz({ZYlAOaXM_80 z1z3?-idJ1i(W%mcx<*Ly6Z^4m$Tcz~F-?UGVg!qfxBDoS3==B_w?@afp!F9a#?72R6fB{{leacYE3m6&BE! zL&{o8h~I^BV%;Odz1KUji`k}JMIwsKzVnVqXFX%(1ESbIqg*)Idz@rqS7p4nuDEg-Pjf9?|(9u)f6 z592UAdoulFSWK*odq6=c6$kv6068U=!1wFIMm=^QRFzq1Je2fS(4`gk-cU(DvtO|E`6R1M}Cim zjHU)QVP`zK```}S+I<)^ZoDGDJ@=4*w&#V{_YV$V+eMD<9FILE>mc~9Cwz%{A@asU zU{*DRdOcf6;aM$g?DQ#((!C_Up!^wgE^VYe{%1w%4`)LAg(qO9qtEhL> zlZG0>1F~@*(Ig$rAWwt3javY(WFN6q-JS4BX(bE!{0{1)9MHsKJVe^d@a4%1U`dDx zT&dUqE_s2ttzjfTl3L@qvh4yEiu%w{;NJGkmZbXEzKUh=lt|^gG(1?_FFtl)E-VOa z#HI~^_O&YTew7ol!w+x`SD}xd8Q?3sb1W*=mdfk6vESF4$h2Ai;eGeZcYaU1A{1;gly1Za>cXAdHD@LRz;@k!MPSgpRAz1M$6jwTLZqq|$7 zO=1M5oYBFkwZ3>%B@u(tE6_YsnE$46XuExbJ?P8DB0WW@dEg>^=8Ld!r#)_-ScnSw z86?93sKuN(oRZK%nrzm=m$R=N^-^THV(Um?K|^_}$w`LNtYd6Xi*t9woS{#L8VuE~a7ycx)j2wAO~pb+T18ihxf zh`96^S&+z{3s+Ac!AadIM80<$E;@Pw567tUFQtCiZfi!gp2tAnlpLJ6sf|r)`wzV5 z3U{)puW@_jDw2D76Yq4fsq#&QGRKZ}zj(O5J$r9LKb-Pwaa% zhX`w-zbYQc|NV?-%gw4-*8(40a!&`YT1;VAMFT-%QYIPd9ggQb_d)*E=`1d>k&WGw zjOUld5|MKWc#DeQbdn|=)-#u#O&G#oM3m#Kcf*oqLX)8i5XGpHgg3lhg_(AUvUxNFce$QqfA z6Yji1jX@UN_+$tq+&@AJ93}XQwS&2y(RKW#5rpHN&Wde&z3^y%2MH;yMV&1Xz{TBU zeey5N$u|IHg?PF>Y8NJ{-^5ZwLmruY5{#6B$cnh{0w?Gd_Q&euuKx^p(HV1a-PS=K zmG8!!^>&nPNnvhz!mMw|B`j9ommkd~0#yFAlxa0U|^kvcfMStN=-#_L%tq4_b zPvP&fzoJV5hfmWbvGw+I*!<)q#syfh7rRwOUnkteefyu_re!V=H>L_&EY-NxnnXu~ zwSsHmn=B>ed%*C<8~idhlV#=H7kUkuVnv^6ypfyW9LI5}lK7fT6d2YEN)_ms2g`*S zV=-L3Y(ne)3Nxr?2|8>G2c?jm%wyUZs{W=2eeC3U^?=vpbwL?>=i?3YR()h=zU_s^ z!54|sEor`P`9SC-T%m>9uY@7Lkg zq(OAn?yC?Y-p^aw2#DpU3p2C>On>M<%zz`}vns*r-~?E*%8c~L<)EY<3b~n5an;;1nCI(G z&Q38B1*!(nd#gX9tXLaLG<@NwgDlTE{GB{s^#zKWE}+!@F)XJm5!^L>@xIh2@zz6O zxOvZcTy5R}Km3j`(clA^IV`h8dadC9tuKPW{98E1Hw{(tjQGKsid@FJ66$P&9rL7C zW0QFsIOQ+G<*#+P(z(0r)cRa_>&eOABpK{%H>7<<3bgY?Im}r(4<6Y^idPM@;wsrb zWbBoE)SXyKI%a+m9ou3EdfyD-rIrTYT{WB}|I`G-Ybtbn>OqX3sEA_+gy1@XVSMtf zIlP|ch<7I}2fe`txHanpQU&4fx?Hf1jB*^ToPpb{Yf!W27d)&Bhv7K`Xy+AuvZQoB z7RR|$o9VH*;=ME64$UM^=YBEq=99$kr#K5-EwUNL^)l_mbe)j4z~M!ea2Q>BiDvKc=-m4Q$sQB6nViP}wU6?Ux^g z6Oqy6>R)C0rYnu$-~c$AtO8vZpR=v|vc)Ss%izPI$85wF9nsc7UmRj5-NwL{2ymD& zR20x8~DIpg{}$BFiv zen@-00N>1dz@q=Df!^UfQM_a+P9?V>*I60z@0>(m^|`!3ww3&w;Eu9V2=BCZ5tol` z5a9csL`?HVCYgY~Ymx+)g$(<6RDtd&C_}rA!8mPQ8oU*{s=MCDLGA%PSkitG+=d=O zF_xlo=@@>p>}hfOEK~AV*AmlL`(kDG0c;q(8fV|^hFYolV0hrC`1IJ@cw(j$&byQV z&!@>!>u=w2`R@5xs2Byys>+#;n$T(7XC@w2B7@TcKEN@hdRR215+_Bs!O>I~e*CNx zedTaQV3%vMV^>0H-P>EJGIucCD9*#BE2?p?Mg*Rn*bUk;Z^Ze*<>MDm!FdfST@y$yb?c=wE(DRMRSgW3ZZBJf97Y`DWs_6L%qTp*|np62V@& z&w~2&!!S3e97pyEd*9RzbY05Q#;_rKq5ZN3ZTmEkxH&3{ttV>; zJnYA8Ocuf0-B)3Jz0l_|S7M<@&j=YJN$PNP8QrOK9V0d@10xGNl!+F6$)j6vnw2kA z&e_Y7x=#qZO~K{xOCC~I=+Wty=kYSB%U~ls+l7uSCC6e*(MuJG)74B!)(S+mrqg(J zdkPyL8P5)i`@!Aivv}#ud<@H~#9Z5@%=tXRhN5F2E|G?tRqJ@fsBW|o=6;X&Rg$i| z0(dP<5*mcPowIWt?v#IqDJv%MV_#Kin!sMqi%KO+zqW|Zy!=h#@?_b3%NX)_{Y5mb zS}-aQsPzE^ur6lZEG4iBs~~bXuI${ z!5KZHQJCo-8jD8H1i#h`juGk`K*Q!C>>bgF$q(~LV#q+M>}D z59V^=FQ8u-3>}>U%EmhES)2l2d`gYJOL_rEcf_&8KRcjU*9j)Y)#E(fPHbIrhdGuh zLr>-!JU87O-p!0<@i#xi7_BWN$7>nx&~`x2A6DEoRvN}j{KN9~PUKIvAzYX_8b-LM zBON2|mxJQ&wJ`Iq0(^9ghVz%g zFzJ#9^nOy|SsC?gad^jHcmqiD@FbV(%6tx3QJ}v;&YP{JhKhaKG7Y<>D>X} zk7}TpsRvtPhqJ@I#cW1$9&}Z_X6F=ElSPGqY))!vQrc?v`EI$$`Hm}Hzw7|s8y^HF z?YU&h%0`lX?iIGrI1gt|<>ObCm3)_bF(D?#IC_9R>#aAX7q{MqElY~Y@71sIa??JX zQ!tvV#@P&@i&;27HZ}x3-^=nv zo$_>CtKfWHxeHf2OYrFVelYCTcp9syL$}KJ19;njbhRX-4l1Jb0e&d|G=?0Uqr%;? z*U}xR4KuRcu*S9+r_~MOhy0s~s=^@**(R_;{`NuEo?1NTeg;DR7UEy8Soq~Tgo;1N zU|+u!|Ce-=>84fT#&NrFo2?k51HR+;xKezxw;7$^9>lb0ciMcs2+x1H23pnQ_|k+^ znDFPQ;CHShkv9k8@K3$?Dr7U{hQ`p6^Chsn?;2M5#=xBIf1&JvCKSEX{4t76Fq%G zbWLu<&b#RXlh+g4^E04+f)QDIKZH0n22<884dv&biC~0xsp=Y4I2<*Y4_hk1|ItU} zR#7=xKimedo4Q0(-}^&ji3Xon7C^*8&+|6=gI#nu&dN;}XJoYEg%o`%o-zRss#JjN z)T_i`!(N>4W<}S|pGXJ#G~v2}C5}hyCv(eTYp|--m0hnp$!A0=Qs;~!QE#mk9^8_K z75aPFpA%}l*US=>%R1n8dKj9$c!23GE5w7VH$ zDR$wX+mB%8#7E@tnw4ODAOO+f6HbyJi9aQj`SL(NsD0qY&*o`>cX2uKa(+nqpBxYv zM#ov6yDRBk=+ATR-^U$8PLjWn4W}QRz?;SSxXpDq+|5rWUsK2Ny|a|@MM^dEiSQM@ zxht^Sy8nP#%SF+xht9NjQVNT|bjxwT^elYzJsUjqa=5y9D}J_aW1de6na=fzm?k+A zwATt92K({&eZXAe+WQ&*n-~DTQ(|D}kBxl9l>kcL-?u4TfpBa^P_Y9 zF#cr+E|@Sx*lE3IHy&%DcR?*2@KK-&!EbTiktEQWqsdi&kHG&?bl%}ue{USOHw_^~ zglHJ42+z5X7NM!Mle9}lyJ*E z`Fzf~@Av!lS}X9uqN4u7hXLXExA+u$+^Ng&YwZJKQG=iEDF@N?4^U%n{nsu_1pH zyc}u3f8X2+6>p9Uy|$+iylt`g^tuWRIVs0f9z26vFTx>ps0^>>&vE+&260>+SI7yh zm_r??vwaaeyvG*D^`;Q1>|9JPy$R1{OkjkfKR(xTrRh&k;rB9ot}a;wnR(H8u&oSs z+eq_2X@gOG?H0H+-6iXLyHtmvPOk zF#j}KoR;8~OC#`_c_uzS>xSR|jDZ=xGs#Qq75rt^YkYsVgxpxXUUWYs9m;V4o*DNP zR87J}``^70jj?p+k!%~RQz*s*cNU@Vr>{8fiW_|RuLFZG35@U-P4@Y`AKjbZ2-+|H z;SIt2@b$ABn|gi}pSmg*jT;AWzqZMcBxg{{_@IBE& z6M;V`XGd!*j}py6v&hB^k!;{~bN=;dJat|kh-X(Q(Hlm>U9C@xANu4*4X?k%g5f1_ zL*U?e^hQGQrzwzV=qzOOjcG6V(KJ#flI@Y@UcVAp!?C-lXQU#$C$oh9P!alE5cu(9 z*P+v?2Vgor4d=vJ5VX)owVhLO?gRU8OLCVE~CtPfYGjXZh{M-T7dUZS2yjJ4gE98jgsAM>jy$h1w6;k+d z4t{zWU}cLT`y=$^qJ4hDkHN}()98HE-WQGk?tUbTjl#)FpXDsSax!+8^@4tt6@B?t z5_+FRqJv%;n`3WDuiSLR&yL~nCHyvt(X0pie`~1k&>_@w;aT|LuExWdGry8E8H~@A zV$%vc{B$Uh?7FZYG&_^<=ZSBGD*nM6ug&?gAzrX=Zy=`IEk-3{OX&7%2J=e`$*9>b zaN=Mr57_$(fJPF z#7dy);e0%Kbrh6M6yr-_-hbrQHBrFeGgMS8K_AmjsLU}3o0HSAMc7@0yUTL3)`cj# z7>+aLYw-Qla6Bjt{OYT{?5^B!`bXA)pO0~%X;t1_b)+qH-@ghcEcb}>=DXtU7b9`? zq&4tPlEddQ)9A;;m&uvtTxbd}#F?_~uvt=q-B!Mdw>*D=IIEZixJIJf3qStsbA|9d zwdXsV4~R7t_mKGl^Ki|9f%N80dG>JC5zIA`McucKDx_O+P# zONaC4cXV0q_-f=Orr31$HQeT^Le)7Pw+@Pcd*(_sa_Ks18&QeREJN9Bg#bQ&KmtGC zG8{f`8p&n%{DKRfse;$KRp_P+m;5|4nc57>L$hfS*pg&R55<>)V*e2g*d^4;+-iu<*r^aS*asd9 zoc4hU(zHW11?wYku_jkrUe)u8;FdGQpzj-)Ico7FjWjk^nD3jt?ZWT=-vpM;W3-13 zJSUX|GoI*@y-AidXO|9^YZa4#s~h;4NA9SvCSr1-vrt~hN#(UT(yaeZgQdkJzDunY zuPv=b-Nh<&`MEI|cg&9u@ZUnyr&@B`dJX!pD4!g3x`iR*oxtI{CtdTP2ftf9L70%q z9R4yQzsmvc-g(KsoUp>L+YZ9fzlFGH^C1jeuE(#gzJ>==N{Q(KPZnNU!&+yX@cL)c zkg;JSj9>U1-jY7DGx9L}y*8dK+OJ)`?Bimn*yDnQJ6=H4rZM!!)YT|E?>~5S!Gb4_ zjsx?6D3a>t#x^(`(b0Er1Ap*@BJLlElvqo6 zwPXaA8mQomkuD&+eHz=iNey?*YQUYJHnSJCrwUSP#j0>uFG>XYli0&zktn|PW-1>F7y-BiLv}t?%xm(+j0it`&omzA`QX(0>K;X zTLXp}PgzM-9_xB_8?818p0mgjw2QW5 zmc?FaXBBIY!=>Kqu&nSjJL@r;CLKBlANA`&=5Y>5b>C*?00FpEmnaJ)69hfzwe3u`2U7yf9ElS0mE?iEE%dWAw+aT`5cK!}_8O<;_6mWo&4jDT27hX;M0c&EX!=1a` z7&l}i_PM+y8~U|GgQDkgXKMvCTh&UW;1-NlwSa_?S8%ucVB9J%aFLG)v818DDlI^3PoP1h}?G9v|6aA66InOY3Ka?eQp#-G^q;3WIEu@8%u@5f`7-k|6* zAC2aG!Jz3Q>73ARw6WD zp{swaMYmcjIxfx@l>TgD-J8DPZ%b3$o_CgrAL+1jCTjHRzH{WiNxt+{=Tg4^jv~+P zI*I#d_Ta_^v4Cz*;LUzrx;sA$jdVj`!)`rH?b==~`?GYr-9nH zCnz)g1YAltJ>5Ux`1Wl4`{*ZY{4t6|ZhnW;jfP?V>p<2~U|6j){0a;b zatf{=oKPX99mbsO|t6ifjlN=1AgSK4u$6>j3|e z2X2m9c%wNV($>8rqFc^vws9U^rI$%dr&!v(r?~En1D`WT-QMnmz#k4dhYRjzL7029LCP zi@O?_YMex?&k92KcRatiC7V4ISeLMN8QhUuM^Yo^KHKV9EcU?R^WEM<)|XC)h+G%V0~q*!-nzsxc>EiIQ}mc z#z^19`R6T2zsVYilFozxCwV&D$)1ebT!&-L`*GFXSCF~Mlw^Hx$H3BYh=oT*`JcWL zclQHmz4SRAT^=FIxh}`ue(q!oEznJ}v>ates5ro<$H7%h&MOI+7KUG!iEsh*9loT;lFRvgf%e zJ-lHcciLkDTQ$c~wUlZcX*`l1jJktAoF(WRPr|<`g@XD7WDfmKFl)Xx&3!in+oXTM zm3K*atLS^~n&+-^xyO!C@C9#whLdU$!06RBH^66U^w$8^ z$HOp#)i8H-2*@o}=f75$!qR!6xY$M?ht@2l@;MO@Ir1VB;W^k@ww~|wx(N$LY@j=) z3ZJVQ-7i_7#{VvKPc>{|34?Ole@#@%Zk${pOI_cVU~=4MY-u-w^G~I?W|AW1J#*M0&5I;I`V6yL z_W(CZEumcwB{--)4Az#cgu(ek_>GDsv{Y#?E?0RaR;v1q)4ryn&zEL0e~%)_O2xAi z-qtW_&>CD5^BO)rEv@!3i^R4Emm!wT#+p?>$jhpS*pyQ(s$LU{wcb(~ce8>$>^g^8 z_uq-;obszaC+to-Z)C8H;Sa=5Yj3b0AFAM1!7d)Sqe(oeumPkuSYopKjH+J|cJQv$ zj@wp^;EG#hNaU+_kh||H`k0NbT#wz$z7vIMf}<_wGM>p3R|iL% z!|XX4BrVQ?*Bx(zXGJN{-l#;^OzuSevsrkcaSeRD^OVT6-5?>ALj+&87VgfyM`jNX z#PVNT#LW+Xh#Uo8|D4I{O7sQgY8&5FB zZ-?NqeKe7`NCfkbdLo~T%@|iD^q%r-@u^7^Xx`1h8%GO>hEy=DP3%RTKk+0wlGFY`|<0>RFO z8~HdG=#Bq`3Ro zcYHd|vz<%>I_BV-cij#Xy&Aw=doMhGFJkQi<1gFrHU_QBA_|K`$cme}5F|WT8|6&6 zwQ!f!s&xbPyM^#(u^}&t6B7dczN9BvD4_{m)<{6Mg9zfrY&9zze~X^^bjh zqafr44xs%|Nlg2g4}~IW^v&A>vu3OEc%y%y{qq<$5AHzqet~J%c^PgrDuBD_Agdi| z!qpOwf_d3dnCrESh`*Sj^JfK&9j3*XdYlyfG^r4~Wt(8PS}Cl!^hC61dpGuX?GyNx zmod&t;D&xsN7j(fI;>^H9d;x71X?pC zI(SYnGg;FC#}p*!eW9--Jx_tgZPvp|3Eibfj>-J ziS0k?(DUV0yes4{A5D4(Im0L7=^Gbe_g{eN1KS`YYXM$1wZyMj4aP4&!_VGWh!l7} zL0^WU*_6{lkJ^q-S^15;9&ZJ!&6l(Kt?RMe*`BVvI32GjD`3f$9{iiE&cwey5T)|x zqRm&oiaMo_k@AVBu*0PoFQ!bSMQf*HsMAyMAq$wbaDLGnl87IMd5Nao-+`TR!oCuN zu~ep=D8*=CbVvx*+$zs^%|61CGD2bhnYHl2z!A5HjN!%&zUWdu748o@#*gK%B#OJ` zu|mlSrrtOOaZg%t)T=3YTYi~n$KTJOeq$xibE^}*3W>mFxmJAGpn=>f!ix@YvqQJ7 z%;8MLT`V3kh}Uh+=fMg&Xq0Fm@HlpY{in(FNcn77an%K)v?XwDh2Zqnx(|kLC4_9u zTVmTg6y85QM3ubt>H1DJ6ihK^@UY<&94bpOt9dxTW8}T>k-`bgA~fNUdHJw zeNkF&BvpA5$NnANO$T&NhZBaWOnu4O>JI}3V*1ppIM5Mbsj@%7BEgTov==7@UWMn5 zb>fY^1}L{r=-+Km!JoCGxx|+@xVQ2Yk<4J#Pj@fFBTXNXD~#g)=~mpLOc9^W4uQqy zjKthM0Ce5KOdS;PKCDGsoXDH zgKAaS^1Q)UAWuik6vm1LH^6g&_cIM_i=! zgmmZS;r$hgU zfo1H0{7$Y@FTs!gJt^b`dU4lh4Y>864pqJQ6`@_9YTi#IIVH>ap3uRh(@UK_I~FU7cuj^*sq_wIN1J%;ERSZt`%S;N-2&#uN4n;Aw_3$oikgR}$so zn%q8oAn@c=kH2G^7O7Dm$9$%yUw~aj*RcDoy%2vd#nVh+dmEa<^8qvYt06BSwnT7J z4Sj*pp8K%NPJ@p8p~`K36+uedF444tjp!44NJ8Y!i zG;B%1fEl3i>JWzJG597hfwno8iG#KerIo#J0aflo13iJ41b$Or{bjT;Oyo>k6$XyF z0H!;iut$kQ>4Y93CtP&~e*C$DU+ELFzHA+_tV$9;{$T|=x(4(>N)+^b+)Vr*IdIJg z3uqAv9_v?5!IVEIM0=OtgJYL|I%k$ zh5Ecws7pU-%Y{cH_rqVc<7~>7^;|nD1b($;=e!^JhN_Y2*A>oiW(*N(Pbfu8*o5rp6j>EJr zMHu_49zxfQri-r+6?QDKu+4P<9W>5|sU=(U$+A&kQ#TmjFJ6VeP0i5z`UEzJn}L^t z5?sLwe4iD8&A^FE-4q-yxd+DTDe|`#`mkF42Rcm1A*z#A!S!1cQ=KOKM$4b0oYN!R z<(-84%ky!3We>Ypc9?aAXQ0#VA#~4{Q9Lox5BJ)ghn6LO$(awiHH?CNk4>RUvpt2T1$7uE@y9i6NKLHD|YjG z5i|(r>kBz=P_=tHUs(T#^qKD?+PljIZ%h@sXgm|&7WTz_oFs<4y@{jkYEb!p6qXAP zyMsBZ*mgV+KaW_?@1@DGSGI1vFyRQk#Wy%Qq#lBM4EfK_Lzpxy7akf!3irZBvNrdg zXi2>v+N}4WvB}?|u6;atpM4wIQYjujV<6Wyw7|{ME_6+imAK7lr1;TvPjK~Xhu!<` zpyXE(t((3_=+@}+kH600!Vd%K;s&C>_j~+lVJV*@t^2SHSVb8^p_2>?6@hnGVvM9$|l{9N(-ViQo7C!zXhG(%+_( zRa&g)68nt#>yGO%{F)cOudu`k=JFiwokJ(ZSZpbq#urOPVVaW`9r1B2|C@dQXXe(y zt9w1TXW$XEIhqOGAyu&d$|Zr@91pFZ0@0;NV1g1UTCwmnd9Q9o7kuIn>0}HC@^!$P zjzNc#Tv#kOif@{xi5oTrVOB{ad^=_eGv2#^PUb~y+w)s2S7breo&(N2n+UCM3|RUF z6OfgkM1SCH(E08NeFw&I{isB?@3bfS`Q*dHR0VuJNQqzZyn+v3w4-yyQkawa3D1-q zBt6d`Lc>6T7qe=fXq4w@7;h>;qn%HSlg&fUwq%r)r+&p$!>k|iMo;en!Lbe8}bG}M_H=n6cp^Mozfn=AfXDal7igpvBUe_<`phrba&z`kOTsQl|?@*yn`+Dv|< z;nHtlGC2cE){W;qb#*AS@Hctb_zMgS8gc4REoirpBh$8Tfh3uJxRam9W^a)L(~ZN} z(x^q;X+RD%tK7gAVveWh49BC|IgrpR%}cg)gR$VvkaVHYd(#WOk`IY}i^@eSQUjq@ zbRE6Fe859_b!6}|F4nuJ!1Yq*(x+XjByh<*$hJ*Hw=H&D?ui3Bhz8KcZy#`|?>F+% zX#-S*#XD3z_=jm>Ct!Wu57g4~pw}~1SfGL*ZTOQ+WG1hGucNOpDeX+?>}e#+kK1A7 zG~wRmcp2vWR^vwX(Xi!UB{4kWNBur(!77(5cwRTcLEC30UhS5~XPH92C1@LVTnd54 zG6|kI<^}AQ>cyYNn_<)0QN(R@Cq%m@gV6^SS~Vsa`%jMJo>ymZ@quQrs0}A06+(Eacn1k~-qS8uz~{&OuXjn2Y9%O{~kn*p~C z8cGL0TuNsy4Hp~5EAa57dk|+5L#AwK7f(>S&))o80QY(Wu)5!vx^*~#u6#TeXZpb4 zT}SOyTuQL9c@V4*mZPJ_ceAZGenCgrdI0%)T=ru;7^MAWvDTAu)NA3H*L4~@tOWM; zy-H9zYy-)AezCWw0+_yk2zYIq2Jbdy;KnF9Jdk&b>FthSDX-qb7LTzIYqgNQsnrHI zn|QqO${q?*Rk+1efs?iVm#DI~5^HNTaC68ot`;$x4}3h8ntP4ohgFqnM3-LO9>D zbkNIR%H(7Rg0}b`#y=_`Q43Px!DM-UbiX1`+vy})=MauAT5VYCe%GO*BN<8p=aJ>A zBOz_dUS1Ra16G|5f)O%y;_!*b*rBU8&}V5kxmj7qoxe!hdDu|yBgEi7)ZbHzj(U-0qmdiKs2wXnmu;=g4NFT#C!crl=9kvLJMbe~NZUQ|R9ba8D%McAu>QbX|bA>L3GyQOE1E{?$N89VE z;NBH0^x?El>HNj&@OW; zPN)+06tj2Wj`jIiQe;N1zw;G#27O>HE8-VYLZF~F6c)4tU#8OtjpkA!3GesJ>sT;) z?TbUlZ<7S>wXx8hI|`ke=h&d}1L^jF9yk$r4gV(0=Ld^QvCw8V`VN#JH!|j8o7GG7 z_lzUB{}{H8HzddHvLLK&49^aCAfpFGV%&WPdjI-;>`Hrq=XcAq2eZ=IiG=x@<>>%BC@^s~*b6_<}lHat+h5U%kY=qZKGIFjO_qyK?!(E=kO6>&92^XW= zhVP{B=1I&<&%{^jwu(oE{X~Dio2Z}kfb_V1Bij`+*wvgRD4}u+=8t^JM5okY%CM18 zpOHf6+^-?&A8wEzb+TOMGSJ^UAHYw6iM_4)H4H-)I&6jrPsOW3>1kzZxmgKL#-+f3 zAi<4eI|T=)#o?LYJ4844Ho6K-8E!ujZoN;V1~Jm`_^KJc5bnRFm+m@*cuPV3P6zZA z#lYLk77+JyAl;^#h8nhWXtOX2*sCVNQPCE6T@<=3D+E8HgcRR=U5= zt8??(lOn5=W@tW6aPJCUv$cz^p?u>>kV?&9q2)jDS^N+*ew>c3arRJHb^KG7>SCLonZHTef~@Sh`24qjkVg{gJ@xA-LowjMus1UTVc99^IIVv8*`O-@>hZ@ z@rr}(^yN%3{-MZrhrrA#{l|Xo+Yd{JxIoXYu49Zkx0b z*qN(1R)}q#$an!E7A8<}=n*cSWdi$CkBUc#r0J)t8`!?qtHea7&~9rw5(qzm{iE_R zt>8SFyR-#+ZgZeav!2N>Z8ZzeVww+B#ie zqP@cYOG~gnM;mVpcnxc}Zo#9f{?JwD1%+#`;j+CcI9~A%yi#vthgwoZIkMYXpK1&{ z_4*LI@!bximfaRNJ(`P~buOWDR=B_n@k6U$0-yP#E1y~31FT7cK2@HCJ08gM&-+4I zVC^eVvssTu0k$L}a2lKTMT+N0Nz<;2g15KqAOs}^gSpukalTOrUX7Q6?`!pOT*VQ% z;1Pi{Vh3>bFeUy_GYC?3OlgxsGrBH+TODjKNu^fKgWNt3cKUY`bi3CQ$A`k_ZaPyr zFnb~PsOsab{{L9IO(Z)yN|U-Bwd87zry=8zB>CDH0yeF7^uj4sdS7c1#{L&my^>xe zGj)<7)L5O4a*jchYa3|Db_tsG^bWc@E@LSxQ%QP3Hs1ZLDct#|LY=h{@7$_JwYL!A zUO5UI?%c(qE=P8&b2j~&HkqzJTOtlyGnHKFJ&d!gCqsn#Xufd$7#c<6#oy=U;Rxxy zcyWs^wMpz}r@rimhJ+ANX;Y3kJY^-RNj-p9CaF7&8mL2`7~Dq5^l|vD$O(FcbG7oP zXLw_f1Qbs}bTp|HXA^sr=<_0-W@#vU!4y9&P9_Ogvq{MCAzY)U4GqrCMC)9ji_4sO zBup`t9$>yJ+zo{ON zJfDx}vkdU*R;SKuM$(Ro?dT67Y0RYs%ePdF|Tc;BPXJjdYb!Q5w9BJudK0IR!OVY=Yz{2ph`4aa$)^~6U| zv!I)~CTdaA{Zf2CBl&*w`0p zkT-A%ddL=$5q0Z%a_<>bmKSn2uDj{QJ1T4jli_;0rmSzNG*_Q9 zl~?UM5B4Hew7KoT?UxPb<7@w-%9wf3^31X7PL4KZf*-iIEeUHks!;o%2K4>g`DkV) zMOMlQ{#K9iR8zm3{Hc8hXdlx%h z#jHCc8vPF)!;00}V(nf9w0e0CJ~dv4u0D5?eKZ0$)11U+c_FHpE`r1yU*i++Z*xk$XT@NT&lyx-EXjcbPiey$&&C>f(g!c8+!q!+pauB-hPmn~Al9hR42?Y%K1*IIS{B7E5^kW#oz)%&c<7e7$lo zl3RdDu~*o>q#f|2{X3JdPet#76|}5-eSu~tKQ~!kCqsoZ8=Utq3y$&nh*W#%Y zE5Ty0B#qr~&vv}42UF7$zKTp{2aV3bi@v`w?FUw77(9{IR((B3CajsxB z!jPsk9H76i&%+P7ds$O~96nl`0Es?vu;i=(uDkmTPR<^JSN?A1i6LTkR4)mZPqZQ> zGrr@YVbgiT)XlWmKNIZaqXh@(W$0)Y!Iyh!khRntW%jX-jd-O^1e<4endLc72Durf2s0G%#O!~f-0b0awYU~zdmUiiizpnu<_{{( zOQGtz^;pz%ACoWXFdG}^t{12aOaz78A4 zou=f2#4KYfZQ#Ot(>WUA41VI5JBkIrk4~KM{8*cdPdv^*k8%;NJUI~7^{8O&ieD^n zT?0>;_67ZF;$ZURMSPy^Zr1D?E53DoJ7lG=#XWMh!f&yFD3l)|o(ip`BBn{$k!jN} z0XZ;3bu4tt520eC=UDqPT8f@;E2*m+nC+s57^FIJYohO|r= zVH*T}y*J>q9VOFOl!vk)0EIAE3O3Lxu z+eqA^y@qz{eMPTZ`Qov28lgHOmKkSSp_h6uI`6Y&?X5fEgUL3!S52SnjZ>zH+e7fx znle1R(iddI2T&)85SUS)AbS4Y2F=tTV2FSR#)kRsAE z$-}`ZlWfA2!Hajf}s}VgC+cr!3#hzEDS+^5h?;@1ID&`1YZZP9VH6IESiH_t`{= z|5#t_7F-hkl&woy&SVbT@|pr?9&>*gb{w$;@7Y^$l3D~@@|3}MUFEnwem?G+I}v;$ z%Sd%cIDWM76ZIcAqLB>(8)$2%==U{$+@n}7YTWsvYFp)4$VjoLN$CMFX>Tj02<)AM z#{{ox?QnYik0&bjM}d{FqYVp4XK&OV^9@H5+iCau_L>KMtPmz3}9vF8%yZn?LUujoVGV z;fCP}0`2$VD42UABSWA;=XYA+*2i@lnOf|(w-RXNXc4(sv7 zhmQ(OEkC}EZbntR0${Gg>33;mzD%VG7decf8n3Rxeb+IdEp)~5e|1%V?^oeJbXTBU ze+_DR>C$OxmbmjuF;1TMOKj@h1a9u?*xhmprlby_6Z$&Xbc=qNY;l7;l5n9{echpt z$g@4;q{SM0Pl#T@+OvjUZc8Oi1mLa)`i7SEJZG!Gk(WhM_Ms@4f4rDk%LkPa_f zD{-`kKSt_NsQ8%$3G>ylJ?1>SNAE$`pll3xj72+}9yV#!Sn4VGOn~HpG6;;hor1?p z_8;zCl#4ba_K^dse=$CJnQ+d@fb`E@_+OLI2S4|f`MlPHf68`n)HntVCGO*?7gC~S zPLs*79pPwKABGFfM|0H)RTvyR9Sm;e2(th!RCX#6-LTyYb&{rBZ|*|g@GS{8IFzuu z{6vSGzMXL5q!&B>JP#Ta9uwEdQ^FlYhgPHqu)@h%B&(>OWeU6cZO3)#)>BuYb=wIT zXTJnfe{j6?_8~rfv=xWv4`59yN~o7rg}vu8;95kXIBSOz`5d1C+l$q3NVAZIfBuT7 z4gY|mlTtLZ(jCopRp^-`In3wpU9gw=Cw@6d*pH1F%D-jxf}x!v*D?Er#~K6S?}`@$ z*T>@bn-d^q(Lnfdxs1&lcM2m6%W;99;6-5}cp=~s`PZyOQXW^}+2Qt}>OGv-C^fRh zje_r{_&WKTdQp5hE)TZaPK2W?HsQOcMWU^SDQswICug&aHyI-(vbM5)o?(uZM_%=9NT?~I@{IK6XUA*~X8t%WO$}sP*l)%(6;!H6^rT~QzkuQm`^a0l`J=`nc6`x1cPHKFgg3Im1t z;w$4+kPszd(+OuXyu*e@{C6HV_mAMlgCnu@{7Ka9iD5P6k?_7d5=L!33{yPqnMqd) z=I*>HI;l#qz@-S^dL|K7k2t>7x{jsH3}=C+VKCv8H)>SR#M4javUJ}@;c6cj4oL8x*W+b~gvOQkf!Az|KE zbbSi?KX66ar(t;b?Ou@fRiv6mewa;`;{BzaNPJwOI?x)LtrJOc=4kHnG!h0E8}aW= z1?+020x0cx3lnt$;KCmV+_%?5)UwADbm#rY=GWRlR9i2aS=jI}h$hdn4TTi?vdS=;zM)v0f2fZAe{2c*He>F2Z&DYqm z^PQ+AcJ|=JXfgoMse+xNx)lG%4eXAc_+p&pFH?M{zvzEmvA(@{DpawJ zu?0^kv}Vh|-rxFUnK0wNJXZonwElvrMRmfCAc*vbNJXAK!zshd7DH0^A3^4+DOFSfdw(K zRr*0P)cH~lqN+2vB)r50J&h3B?uy?_~VCG#K8Is zta(-lNkP;20pUEn=Q37nR%%d{gj^wqu^RPBy1*1XL*Ars!;{Y_pB5l+&kfpS6&9gre~I5p%n?PBjZFSwxa~E&I=Yh=mQJ2%7npNrcnu15A;9iE0TM51Y!)0 zQSq$=f4{^S9xeS!LiRsHoK=Gg6^occh=@-4q(SF6>}FCShLEj(ja@i6fL#bu0e%fWgYMl)qLWJ)v%P-= zFUb_*ivRYp<(he*Suzl9h3t1*k~{`I63Fk)8rXKn0pNQ!tnSz41#Jyjl*P%mo>QQ# zVGGJfdoZf&HB?S2XTM#vs1lsVT-g!ywc|pdcO+PeaX7d;9)!;YBT!@iWvr;VE1qAv zmUJJ_CW{g$!n7@+2?nck~$>tEV9vG_AOd#EWqb_5AoBSeq58IfVW%9$>`22SR9!M z1uGp%Sgiy|cA8+Er#bh2oJBIH?!gN}N6FFpCdAxKLG!G9*tk%SpKnXX|N82%@B3hy zd3PCR{}=0Em9Yko{qw|s)9aXK+%3>^x5R;w7|_4_2-wft#=Yc zZd)|q@4^wN9X%HdzFdbw$9E7Sp@6~C$Kk8|ZPf5VGBF^9)od61z)Ma;=jtF-9`+Is zT=(EDWuDM<<}(%@D}obmEX9#ZQ|NzEhe?>^5<0hjA|EtL*c;7wC~j0A25 z!TCjb;7*5O`n>}n@q7r{eDub{NlAFMJQF*U`dDakG87y%U_xOS$Fk!vYQu6&TqVY; zZYebX_8*y}E6rV>2XXVG!6G>;U$P*?K$vTbMQ1Yzel_0-UH2A=l8?-QTwODa+_w{U zw@jm!O}}B#P<5(ttd%`}HA*}@QJOj^y?|ovIav8OoRpcag?R&RflpKj*35Eon7(l& zAMnx*pTz5eqk%l#Q)Wen{c^y#!AG$C>1J%u$rTm*=;MZSr}05R7AWNq$lHfA?W6<&QC9E5%Pgd<%C-g~QknClGBWtvf zxx0E1hL4>sihYrVtM46##9cX%^%BK1ZA-CxjRt+-a2EbFX!3i9XXC6_383<#$Tdne8)tQy3F=;>D+uy-d7YKRW7;BiaVFhMq3v-`Z1-SNDhfAy5lH|5L zR(a$c2H4yXJeZf!-BO<43$DgMzbWjJYz}xgUl6SuejbiFJK>OkFQ_VYf!&v^f^M+` zhTSj5BirY}M&bORW2*({ceaq*=dLr=@?cna*ckHiJem6QkyLiY5lqqa#ZTWhlBYS2 zBAwfzsM12|*RH8>WMMixHf#;_4~b%D-bLg2sTTCM5Af19S)%`{6ZTL2K%(T8_;FAo z*OzT%uBJyYdxiqt@PyDlo$su3t_8iacn}&vF(g^b(%#E+Ss~G;Z<3|XVG7dM5^( z;CdTC*Z)$bqb5xfdJ}TI-o_Ni*6OhX(N{sK{1yD$Xd>+2?vVX6&6r9VV^^cnFtU=v zp$oydI<^_R)~sbznDu&(Yy~@;D{yIrmyrA0fRn5a{D0&&LoSZ$PCi7z_@`$4hOR zVmYTUl#kVBfd^BGWtSQc^3cbU5FI}Fh`zv$ju7&-gR!Nqm0bHBL9&|8;osmcae4X& zkaW5$Fwxhbwp<`CNVOxqzD@$yWgKsLc%7a7_`2FRMhd-9z8^^OU%E-)?A|+%b z@|^1s(cVj%8b*E7CaJ7MNkW@6G>oj2aG&dFP=t(7DMdwlX=wlM-#_5>ym;LAIoI|1 zyx$kVb;ByQb;2MlpsJ8;cn41TThMRETj1f7uY^r}4z(VqNUqsI=5M9}m*t%$Ywf*Y zop~?PQ8V$3vmP(Ju1lx?+z8)C^uWw!7j%rjOML5<@L9S!jL$pAK5om0>jS<*y^d)%uQw$d&KPp@icjpt{K34!N0qNjD}@f1?V{(l0EaesqosioH=Hw{^~kNF zcZF=c_N5V*pK2$6ycCGSI}`fQ_6ix1{|$97U4;wnFivh>2~p!0lL<>7K%Bt< zdUDF)GN)~SaiMEEEE=|i^tG_z@4W}omKF}7fhRCb(OBG1+`|;#F&LzN2^u@zk_j`m z!Phy*z{R1s)L@r3udwvyjz^vG_i0zuTk;G%r9@_3whoQZXe0{uzsS#%4S1{99vb}< z@yNz7&~v^cQA-H|=-CUo=Q7Z8dk01j+FMo_{vOi`evs4MCD6)D;7jWZupMHK+xj-K zDL1X@v=lRp+g*jBhefx}LT{nw>~&DSGniLr+2Gw3$wHm!F1)3+2p_K37k3Z?X+L#e zh?p3QX;(ggrEfAhc*dR8<;cO{-!be)FX8`*7(i{`slwXM95|HzQT$oS==Ng+n*IpK z)Fgk1{_sz- z&NL>vgMs_HveixkoSr+6j(ZzHT3Ysr^G0nxsb&}cvKxY-bFx_bszYqxzY@kaO3Hp_ zz9tdcxoqJF(U0EKL+aJ0(3(NLOjj})l2ld_z0k{et;!THd`&>#0dFC^&v1An&VFuO zjU=A!qNCJoI1OC6mVY}v8cSvsVVsjP+&daUP1_ZykMRgh|JeYG$x%tfI6cfx7!OYd z$_d9po}eW4AectV!J_D&ur4c)JTx5!t}R|;u0(lB{`l>|BUSSuPiGb?evKFTuyxEv zTTYwhDKolecuD%Drt0UjJu`8LIIF+e?oJ+<%pb%r1 z0K*fE_#1aIV?A>%ww!s11ri-vQzJ)H1|7xOD6&3=xbX`Q`oM@SiXe3@Xc1%FS7hB2kko!1pzZQ1|DYjxl1}<;EfO00u zBEqR3D2f?WDcz@_*|-44p74S&86&Rh@R>B2L_ku?ZE%b^h6%?$kjKBX*^7oE99Pf+ z5jP@n_lS4cd20da`yFuEEE$dC1O7pAZvp!%zC*rkJqcfkA<^G=0nb)d;5~yvw7H!{ z=ILdF=W#!>;p1yO@*^5|{#*!}qhlb{W*esG%x5DH+mk|(7kcBvRpIT-pHR@^zy@VBg8eFJKK=$)8{5z&TG4<3QQ&#_G_pQH==wb$?EiZN{aylJeO-@jIFu{F|9+8m zc?Y2DiNA}JYz;Y7`iRvn8p^G11Vc#iQEW9-qm`RS;SEn&=zTl~%3io({tIc`GvN&^ z4z0(1nzcfiZ!e6$(ht3g#=2;}JPo^5-(cD*3tYT^6k3yZSh)YPq^q|8*I)7_3s2hf zSeAn^_aDNd$K!F?%5F)TtDOU*t9(P`!5p|hrg zTQz5_D`bB>rjj%ye2c7<`V$*u+L5xc}vNPJMwYYeZH=$#MKxBF$Zv=Hrday@K2gfWpsz zVb8Ay{AhF$J#N2-=Wnucs$~MsdsGBlhUUVL@1NK;G4o#kSe4f7Rii=cua+ra84S)< zvNSoUFZUXChxD22OgvX@Gsyo@DsM6H_IE}P5ljHA82AxK@n;je}l?1 zui5BQ8=Tyt0DeyUaO`qd9G|)ulBX`i3nso~>8(c?C$f1|mLcw%Ta2%Fi2Ip$Rg%$F zvx)u8*`N?_jK6M1GB=M}c>PO?=5041q3Ty9D_akh$qlQ4$r;V~?bKi#cvlXkQfjbm z&T!Tva?m`sF2;i9i4gM668p1;RwbgW6gqeMLW^%U`0klQ>z1U0mr6Hmv4|(>xtk!^T#1L&ihi#(HBh`I8WTEq zz?PjC+1ii(Lao&orkv<1$=o-XXX%AO#PDgj;I#@r5c2?I=7+#*8&{s#PZRGamyiQe zGT*#^IVJYxMC(7pA{yFFW*4t z?tek*cEyt?Ek0oT@0Zxy%ww7x^PxgGOO`f_g?l%wdHUW)rd~52YCnww>)`)TH!2-Z zY-TP$mAv@}$HQf9qFXC{Ipxa2T(ai=aI!-!4DO6~L+xdvgZv+G2j6s9Vf_oet_IRo z+vB15>UUT$I21fx6N&WFN3afuqxy4Yj1^g})ywtxJEt<39Abo_PY0p&Rekbzeq>qV zNlPkY^#@nK*^3G@j$lDk5?(N!$X(jckpIRT<0XUj@J*SM2diqp_JbX)Rl7%;^HpHu z)_m9#)GdkGd>Dov;H|9xKH&3LEie>{Q&P zwFhIbcw^V@ALu+6OR8G%jRry!N$pnaC%fE8g|};RfX|j{idDVk2Ay`<3kvE+mT);4q z?fH6r2Ois4Ei7BV8}Afp!^Uwwu;bN^&wbS z|CdcNn}}*o>{jLRCdx{Bta{KQd&d-yf5_));m+ z`wdw9kino$U1YJRI^2^Bhn3=aS3YkKnRG{qN0G^r7w6xQaqE@1n{qo|%Qb{|bu0Pp;FWVl@c24a_7h1Rq!(E5cw`DT;v%>+rghi-hkwGd* zEy+DB%jHEENNjr?^zG2a5-Mh2PUH~98{(X%Hv*^Hy&z8tbJ%NbJ=S$085F)4ljSz4 zFe^%dHcd;#VKklCekZu;_C8F=wWK#DWaGxuA8}ogCV#R~8K-@27nyt8@u!Z1*j+w^ z#l{1e*I60#^j?VdMhR$aH3nz6_QeVPD#+Nj)0mLfBxosq5vmUcF=x3b;%8&aau^Qs)Ggs6?@=Iku4Z-*#eeRVVB^X2tE6jz+T!Rd^y=pYC9j$kAbM@M8E`w(McL zV72NoZpd$TaX5S)R{2bZ)=FpM7Ap2=7F>r@4W?+@;SAMh8{x%>K$Jvyfa<7s=$9~q zW>^~V{J>~-N9^z9tM%c_^E2RhLlkdY{SwQYLaB>ZBB&WelR51c++4wdWgo7DY46t3 zM3pkux%HaJb&bS7f2ZT(RR>_duL2!%T#ZNFTMp#8y~~8|ZSXy$6Q|CdH73|T1@$Tx zBb!qMzwXcB9VJR6utq#X+C&rO!EyL$U^jSq$&*u~jcM~tYbbGOVoOoMwR!qRqdwwueu;oP#p)hR4cK&UE1NQ%rgoeSEY=Fs6Tzz0EHis@? z2L4^Je}Fq=Y~F{KkzugeS5}*Ra^BF?dPKO)nXC+PD zMWFxIfab3&hHY~mf%VOI>|NyoSfS7ddL|B}T6?8w)v;4h+Y^VYBdl1t(Gi&GF_aca zWy9H?G44N`fi<{s)`Xr=` z#qO*}nX{{~_na7|J~{xF#fkaaJHzR~ZN=#H+8#z)KEyq-O|bm&MKbr~NmSKahuUpp zaL-OHbT)s&tVjd7=KV+LcVH~KUn~N0G!s3CIO6f}gSc~4lFRLKTi)WV#>Y>JAv*+L z;rG#1P+${C-Hj?>e9TwO$+LzZ8{*jZ7fE6VXBo?xV$4e(+;utB9SJ@EICgFsK+RTq z(z4qnsGdXd%-v{Qd8Z0uD@-uw;5F9PDxQaxREhPQB3Lyh7QTvo$gprZ?$aaYNguu^ zRlmgSnanrls=kZ$(5J$cukI++9$*uyNAr`dyFfG5o{te-O(vU<;!wLx$-{=B#NnMT z^=<4#f3efQeD`%6yxoqbKAV7Nn{LA#1r_wjtc9zz8V?<{!`S%~SzY}OJVdt1|U@+yMQ{CSmT554e3Bq3`S*S*XPTxH)YgJr%u5@aXE#t|fIr;I@U> zee5C@y1jyx-(REApK$uH?`Smt2&i^_DIMjzfSQT-v6DUh_~|#_SdP+ZP`mXTM*l9x zIWlVeqt|E1-25Ee{A)q0csPEaby)QERlpRLaD#Q?nh|Qrp)J4A9ztP2`_^k7#t1ZH@$8Vv!P$vr=VSY(a&)()QXcthZS5Sp^|;M zEWVTW&<Ci7;cwCc4GrCBvpuxKVir2@%g@(=QHyDjRu}*3T z?-C4|*G>jb`XP+H7=y+=mhdFFfUPsL6J6f6eC3rN>_x{Cm~c4-)K~5m25S6f4dd5i zwb@13lb?!>JEbK1m+lo*t6q`c3kq0z)F5~=WdM@XO(;n31+S44ap=HLLhHeO_|a1z z6Q0WO=v)7hoogZ_tX-WeZK;L`*)_1eMv)IMb%gt>(U4ppBF?kSF?qN$h8^;yl8_tt zDK;7snK61x+}Nw|bL{Wn2V;iamErx5S)!unMSLOdW&Tti0qeFpa?+@sG!1+YRaQ^1 zK~J9#Ez|}K83D;Yj<_^{oblX1<4^;GR^~k-ueg*4lVd1I8*cu zo?&m-$eGvN#EVt{oT(8OTT zEp<;28qE99PLnP4Vc|lwo2$fAj6CQirz(6rb~UW6i%Qi7*r0Nr4fUKej$gMF z9XpRt;VkbbFf3qT84ZpmrT^*k)vF^}xOPGj8Y4Lq=QntAi@TIDHnjdX#fn&Hj)hIGSopwi^e~6q@!BS zpok|T_dQq9{tn7)c%-MW?Oz{!g!*KnK?;4m%?r*Il)}@wYw&XaeuYdnJK-EkyIcS{$u& z19l%X=DBAkLWv7AUR~-hEGlI;>$I|Sp2Hru(s+v3|jM-RKsqTT7r`OUIHjI6q7l(mrAiF_d>bp(+WwI#!_soJB>%) ziLC474o2pQJRTo$7t&7^M~ke6@>!X1*6A;*Yt@3@m2}K6x=S{^Jx)@;RFmQk} z1l`M`;OvAeQ2oLa@24w5LYD;%tX>GMh8FmDnKX6o(C3o&XZT%12R1Kggke|55rZT7 zFmKKu<}yo`4?lZP$g0~?2BnN0l#=5o_B7$-z#F9WrV|Mmw;FRqE~s^G6M4L@g{`{b zz<x43?$)8`sk37mHY6&n}QT5Dq3hO60`f7G{dS zvCpzESnc^omiIZ90t) zvxcnux?HJQWOL|7W9_F?@GSc}y!xES4mIVV|NS0_*G^)Cj<<_!5OMFX6iZ4!e78VfcHAq@-^pEuxXG6 zkNCC+SN6_BU*E%|=FT9vaPJ?y=rN~F71tz|?@y!c?sG6P_c%^%(4}J!%w@m#FQ*n( z3NX264-~tvhr2sQ(6-F6z{^j#sMkLR6OWxD)1w29FCERhZprcq-x?$udzNrTsT?$m z>>wjHd%&Q8OyO|N3oQF#kH6(Vk*bek?uvTS*wQ+pW^x6WCfQ(kNd(SZmkBy{T`<8d zM#vaG3l6XMgRsvkAmby0Du=d#x4L-8^2x_Xw>-#(=>9yoEsBj!=*JsGUisHn3A8-6 zKBGgDQ#TA!D z#`_*yq40{BFZkt%Z(b>~=a-bJe$W8yb=07zghiys%Z8rQ6uEfm1L>F1W2j4{0)IQw z9DFs`i|2arTO~Gz;T>bw_ejCfYoU@* z|7w!uD}@UJOVHzBIcpn`NE&^rSVe^R-HmBO7abRzy+NB)%=3j%rx3L8JqoeAK9kG0 zx`l~S-4f|g1?qh14KB17bDgGZ*>{hVE{B$ zl~MVzKAF;D%WLQKl3V)=+48Xo_`|vvSL=T#ivrhDq4YYE#M^MxO_jG!3}U)E5fDGd zipCq?#eYrl@XC7qGUh-aIa;}}z}95w|MPmdJOxQT4rp2HZsuN;?Vh4avOdn!MB zANoJtixKW?;G{Q)6q#UztBPRcXhH)I-Dm1wcf+$d4zus)L7(P&lGEoV>Ryh6%Ehl? zrKvf-x9diCoBp&lA`Pc*p;&*rRIt?w2hX(=&~NHrb|yU*6^xIe>8EO3krTmf7wPfC zk8RL*tt_PY9)g?ZMtHk%ljvm|K(sFvNZcjc@K5S`$)EGjvP)qIT(YSPNG+m8DDR0OrBqOhq?A6c=ms;AicN{+`>k%c-cGT z;uKA6eSVx}jx(YTvqb0o`MI!v>^shrxqzc3C(IzhueTqDrg@j1#^L?LlEs2{hk7AbFi~5q9$aJg{s4Z5mbw z+TW+(*{&dbPr5L}Je?S*F2{}$p4fI}G!*UeW0zJ9g0g0N+Q(u$%v~lj8YYZV*L|*G8yMz{KAR;YF{21{dY9!P<~C8|TB%`r|Ntq`>Odd?kInx8bs%R+udI%kAZD zcuasku9_jwmz3$y;&W?2@~s$dhnW(-)R(Ntos3z(KC#$Svq7&xjn`X_h5FPX=&Rh! zH2a%libXD*J0XX*o^sf-s{*RW&7}c#W+}Jg6L47{$v%(m^#d*U9 zxoT{ke;BNX1e4RN%2?y%n@~5HW5a)9uj|zSluN6^0j)*oQoDq=Jq^I%pQgBLmw4xy z+5nz4KJdq@3l}9G#lAg5c>1CrSh7MIdovqZkApc~BGZRzoOEI3@Q?Lewt_IFmuyth zQno)h4Bk7b(VG!|E5 zA$epzk!49G3EFl~K$1NbHwA1bBIKMQzn#v6Y6q1BhSOeboxKo4(3Z#e-TSetQJ-iN-V zqp9Ykcoy$d4GE`;P=9O=x_ayJsp%q{VsQjJH|YzjNos~RW{&2)HJF_kh4=haFjhGQ zOe+-m*9Za?v-}`Pu9a+lEr>ajc2YU#AlYo$6C;Jb^Z z9nmDuU!=G^DYK%wr_9C9!&!{jbDK>d$~gCw8ecr|p&-9@C8^K%XD24k#Z>*vsL(bB zPAIL1jVALTNXiLbyx4@rv-OD0u`FahJb3o3NmNgc)l^90bbAE1egBUfZ<|! z9;GszW|VfIrp-8de4#8)9~8^(7ImZlk-ccXb1d4K#N&NNG0ArZNcVTwZUDR^6{>!I$39ADfInt1C|`oL6)M-U%zi46`ltL zF_4PqZ)?($gP$NVt{l%dPXm=D&R}Z24V`Y}!RUp1aj(Zl$)3b+yj@#a|bIwNg=l*?IUuD3hKa@xkemdcr`u||%tP7YIsDq27+u7zHA`|4b z4ePzL7PC^1VCLX05HwpE7d(u_tIDSQz{GcC_AMK}>hEFvZLE()AEL19k`~;Pdd+N~ z%JY0FDJbzRXYU?dc2O~LB=6_X!vEf=z?u<-5HlkMwvH+RqpLlz{IxEOh>XWwwt@8M zm4ozVGcOkoy$lDhgxyS`zEK!vyBGIF{zGq5D|#d8C?q9G z(U%&>;A8xGOpw>)mH&Q&YEq#@<8BI`(o(@`9&zlOw;Eqn?+zaVCSl3J2prrIk7KeM zvG`bl(C6$x{$jNhMm*R@{k>d-$$?I6xtQZ0`A8b$=H4dN#%5Y7g{YF!w-bNV;MP{V1>g>$kI!P+RsCA<_#U*^6#aPe^gG03DlrE zeIJ8-Mhxa=ca!j|X@Y&>ZFbPoogK-V&CRox!HoSeq-x@B81(+EP`5yyH+GM~%Gj;Y z*Yy?{G@HQN=>?2j?!!Oz7~s;Y?rgTlTEVV10gSH}fal9T^xxh=T=~Z|-jZnvwa;rw z{1SaMw=869`@e&fUm_D_-YT5;HJm-&yBemP*#Wub7qM56#|+=TRdCYEspP1pv5gIEt!jB5z1JjlH;(TSg zPId^KXs&`WNw1;*?n0~&`BRp8T8*C-&afxX^Wn~6BdAbKk-QMY2C4Q_sq6byq$#We z`rYXQlgYVEV{C}<%x@5txl#uq*3!hP*PK(i7&IGs66ZwO3)8Ew!hrGy!qk6?{OAhI zoG#$x+&c29Mi34tWs;6w4uiWyuadeHKeFfv`Xr>0t5NRMTeS}~yVl{DN1D{*&}izU zmB-}0Ho!_}6JD}3gg>ix2FL7XVz&<1R&6J)7%MvG=KJ9T9u6u;!l`*RfzMJG(E9BH z35M%~oxdr}j>tu`Yvag;YlMsa1GvuBAtWIdJc@p^=3Qb2Zk;EUek^hypU>thNoKgo zL>~NhjR&=meK2luxR|Z76TMGS=vSOYUU@{|pfF>J;tB>sUcPn92_Z0XOeV=(eGoXG)wn5Aqb8vZ@jp|LItXZR)^&5E@wi~9A z>zhQT=2%7kJ$Md$-KGW0<{W{~2C8IqoDoiY{)s)zdx4WjEv3os&2S{`4wF0`O3dW1 z!__Jq`X{Fy0~a@t>30|6K(7oq@Jry-f%`+yOv%gzsq0H~&WO2VljInaUpAMgycThEn_}YxY^gLcr)8rc*iclyyO7q8_ zWDE9J;>gvT=-a+Q^5{{bcg!0Z=#JirTIlL=%?j!Sww{CH;+}smXf@m;0Cn+Kz_Q(rPs~ z-|Nb2e=cPmhEeGJWi-@%5LvVvN6?SHV_?NnYqG$4DoiyUj)Pvx@Rr{%(e?grs1DkP zckYY%_>j?{y4R2syCC?QW-j^amjo};6mX$OF3o-|%ZnTDU`!}bGV+%&HY5-$G&9NE z9Y^u9^K3F9Pmh)viY%z?JfY)!JliYy@mWcI(N0(FFQ|Qn&#J)~Cj_%G6U*?K$6_#9 zo`Q+DA7VefGq^kI9d_Sd37wvi=vJr6wd?!w$LivVW`k7BfG>@}uYYBDWQ#A_DKEnXCU3EQ=|ohin-4uhF0k{b zWN4lAV{+iHW??YTMsq-F{``mcfqXHVll z$!YAWzDZ_3X@j)ueOaZN49OXF8oq(pBP6bZjF|h3EYpFdIZv39cxLkPYhiI;?vwL% zowy*iL(+WC7{-YEj|gXR_dllu&#Y=d^SYH(SvY_j3R+=x*H2hv`CDilBuxkF|HSl} zD{!sXM*LTGl~w&$P7W8#W5A#hG$LUN9CGi$y&+L}!e<{8JspcZORC{u(q}d==90@> zn--U7pGbB+Xdie@JR$aFo?zgjkEGJml!xzWg|8h8aEh8d77m#}gC}c3>|#sQ(9q^} zg9|YfbXaBiWxVJ%AA5({kqLE9f|-*mojJ*dO0C(8D$5>%WSbW6y7>+qwv53O^E_$O zq&9rJ{sszJEAfHRd+d8>7-s3_f?=^0SVy|xun<`yk$2=XCjNn~Zel*wzZ$kr`~kkw zbJ*FTd&#hkKVZ+L(YU5@E_14tg=Yn;X@s%(Y`r%KOZ>wj>&O5;$ova&HQ!FW<4n0) z=0y1U(T&^w6uH^TL+O?54-!>v89MMv1h!6OLXrwY|E>tkH$DMRM^58Wkx$w9%w;eo z{xvGrY+`G*H?w17y5XGl3sT%LjINEighR(};g!1M;hgO;W>Zim&JV|-#q!Q%6? zG2aemq-5e^^UH9Fo+tAsUP6c29Q3CvP5u~0pZbkyVqf&9-!(SFcNB!*cA&l?zlBFbBZd0%S9r(T;1zC=3sR zb1mUG>)3w5?`TEoS(TIG`6~lc-t0p6^;fW=+rYGS$jG&?G$&opdxrpYSpKe6SVuJf4E#+Rx-En+ zKrWMxbye)k!JRPT3&U57mSbSF*z?Tuqdr%?(QTJ4CjYBroek%)`jR#8y{tzsPVWLi zLmInoSPRidVxZuMFMj#674~Zkg=URw*dE@+#<)Jj*2q#kJ8KtsUfzj?yNB~<`}>0I znYA!0Zw#0obB7{@!zgw_Fk8u)J7!svdeJ8>I4)Ga>EDm>Lvqf?j+_e*2R7U_t7D3d)MLXI7gyg#YR z=eS*B+s{R#Y@Yw?}th(28d9&;}f zjjB~}$e=-@&s)r3UG5Or4sGf)#gbg`K8GW+=Yv&-8+`tw#ajn-!{#rxOn!Ym)Qxyo z+EF_U-t>MaIvqDilI~KBKW;?d7Kx7SJAX;o@MLTr-w2_@T2bxREG&7KB`7uyhZY?R z48N$wy?#yRgH9@-ivN7jNO$5f-Y$6GCK%N>1)zfcGuU6D4}G$S2!10jvRhY_ne?3l z@GNK;=GjbRKgQg{@^y{4G_4T_69dRF5McYFD0F;kjM?Yp_@=p`kQZ1B52hc6ho{Ez zVQ;6x3`Ox-YtZI$-f=v(Wu`%A@Bvhwbf4j;Ff>W6gr{0}aEIj}TB!9}n4okDpL|;h z@=c>%Vy@%~zi!&{K2mL%B?&@Bo5V81zPCv7wzaTo$r;q?Q~*2Ik3ug##_i-I6iNhtVEOA+wiN+RDNF7(&gUvH;{6@i?uvy5Hi<% zCmX889aoq&9*mPEch23xfJNe6(Ivs<<#IKwx;Y8V2AyZgD(c*QUJ)Ur5uFW8urMQ< ztyt&ET}vF{@S<|Kd0_>U4>APfnBCx6Cf*e?2lP)JpVjiQUs&JziN9iTYC__@ca6vh(Oz{G>6N z#4PAXpN}@i(qCuLW1%#%P0MhOy)IpN@dS+jJRB}Oh(%pDSAN3oID1?xx=m;|N!jiS zKe;w_9ubGvqUOSyaT@&QeN(I}Qs>s`x0pk|BmL@7hxRZBIyZzsVJd^!x^8IjL4{t< z?twA?$+6%5+rij(F#AwH1d8kq!M^8OkXPq`NlsHBSNwg?xUYmII$4-KaUi> z6zRGc9Xk2`aM+|j59fEKh=ogC9@2IlW11FY#^4pK+O!-hN1gj`m0c6l9%Pc_Dc?_{}T z@fXSJpf(6i|A4c_y=AC#Cj{2(gK@?ROrCE{QwPR?&&j>qaM|C|$#XqOeXyOFT`3hd zNw-5WJSHv9kFoC3Bs8(AASwyt(bz46JzaAXa$7Pn&agjC-Sm^pU*aTOS@aJtr>fJV z7oWS_yE&cjp4N*}O;*%Q^s&qwVF_yE)#=y5Zg#%>rR3?P6gZh&MB*3R$D=>OSfKY? ziTk|qk#fQ}2{QcX`aC@M`y0d*>tTzn9k1!1%O-m&@jEUdsB}$> zd;C`lPnJ%jmZt?!&a*(p;opZrADR2`=!cSEvhb_ zH&+}G8LQq8U;}xC(=PZ)7M_Yl9y6YV-`xA~ z^n=3z*G@(2L)V$jadlyxLNnZ397gU*P7B5R?|@F7HuvsQg=4*i{QjgGHuQQ1hUt5i z*_5eJ;`Rd+k7qz&oE9{UOD7Y66}*+M#XYP2z{h+F6kb>b zZDNn+xbq^MKWhOua_+>#8HK{CXDX77#r?Vb^-pLoGE0tCy0d*2FJX^z7kNDEDw5&H z(Bf>EAoPiN#{BQ7@f%VL$-YhM zeAlvPX!!+`Y z&bkynBr;N#2vFv%d1$+@R_K}NDFte-|&|6^5Mb#V34A$TU z$ud~B`4Kd^C*#gNj-}By#~DNr3G-{kXOT}&-B;1(OL_=)_%AcnGF%B@Reqi;UhdH9at;};1Z%?G4`Odc&lV61=o7Gt-^}<02ZzhCfPvy(Gw>JWEB4^cOCQOF1#!&q-U;$N*M`nZ z(xe?RF>HIf8{2ot5hDt3i;VwL*7{@0+^txJMyV(;3Kv-VdY+`=`Tkl}M;7 zH-YmB^8BbuG*gj%4#oe^U~k=xHLdTUbM{V}dwMrMYm4MZb{{567WJ@XueM}Hp@^5W zl_$XsDS~SFe$h)Xiu!aK5r5tStvelX^$K?kpSBa`xcp^#eIkgus|4Q^jA7dnH?RYz zkE8MvDLyY~l*G)`n@`{VhmE^)5CW34h~34FlE&)=ur~i~S$DZU@4i@C=6QAw4S03~ zLzLoSw%<%t+vbQ~N7B&eyEjZs??JmOZ-ny|xu|eJ^cg*BcR70bpJerm6xcFRWC@+@ zOR{hFr_dn_VJkfN2p)%>S}MG+U`3C@I80vh(q;MldT8-EN=(v9nSH(?+ZfzNCOiRd zyU-o#T1{xe_!r6t+7i4wn7@lev%xq5-fI>}(q)=-nJ#$|PW^DTl zIf@V1KlM?xU-NvZ;pSAiB?L6?t}oM`^h2B}EoOphJi^U2sC{4bSeG6m8`5-mmva^v zt+FD1H{I|kzbNJmmtsH1Zb_%xTt2ec0=g9lPyIC<6+gPd)k_(o!%m-mmyaXWD?bR! zat}gOm_PoOjfegVW`I;;4P-iwqZ{If;A4APkfL#{qxu{e?ki{a_Neg9yHeo&un}P3 zKa5L_IuAAT@3`n(mL@70X5tKgnCSIkD3_su>kdV;6OvmnTW32l-5CxE8cD*)WI^(W zzQKPVc0)hS9K3r`bkBNmqBWxrj(0kZJpp&gnyot2`|1O5D3PIRN+W6f)+c1T)exAl zdNBUHBE#v7KV)fh6X}kP!_T)JK)=Ej8^>kA<-kp7_BoMgw}le#mRD^54o#7nJb~Oa zd*m1HMV+vy z-w>Wq63olv-b2&FiQ0JA^`dA+{4)`u?ghHCl2SZi)Gdr`29y<$p*RSF44aF7@SX=vKB!%x*2W z`p#y5>4jTk=LnknZa~#hV`3#I&4#7R(oHk=z=(H+@an8IkD8ed=hq03D{BJTKdKPs z%8I#@GZ>03;PF`=`!z(f>f!St+D!&*^txaXUV+4-b&xW9JzS`}&z$x1@zRFhcvg_5 zCE;iB;P0(4wdf)mT|EHb_Q%7m6loYG^32|UGlbEjda!?p4EghRJ0Dp52&hvsUfm@} zJ95%+aAG|fRX}jbt zvL7ZCPdf!`oN6UQ|ElxJ#^HR-NmFj3V9T2ioF&sfFTfOC9l9TzSmocd*!1`uNS?(B zTx7xD_c#R7J;~UTu^#@*+W`Sm)#Ux=mAEGV6oBR^oL_YhbrvOIOg2YBD?xIv;2kJ0 zO=A-zfAG4`aEK|YM*r?=7Qgr&DtF#tH#FLWXO(lPT}cs!KIxK#bT7r)d)2rlwiUnr zaiF*3f5Or9oy5gKnY=If7U!addRD0?J|$Yri$iSbjI!Cejm9M@p%u_*W~b{rOn?$!+h^)T(m zCc1Kk6#Xo6HBTq&!A8Xo#PY2ZoxAfno(g!0zK3rCIR6yXO8Rk&1}Sdf{s$$;dSF#) z9lqJ93)^Jov2g+WIoAw#F$%Qh#*O_zH~p=oHe)<_(%8ZLSzo#>a|^%hzkvMA+{jH` zdg1$+2drRb0$tVZE%`ZYDW$a+aPLMXKBhp4&!5%=0j<{bZMC>tDH}?Esca-`6Gh+r z!fW_2z7>wo@nTJ*3I8YFNiU5#F1Zjm1YHhp!g*1n`SQ$g3~U(9YZm>FqBC);@$15H z^Q=@fDutv-Nl2Z&wkQ;$LCFwO<_HaDqR>1dm4u%t87h=Id+k&tlBv)@GGvG(MH#>M z`vbbJx;kgS?_TS9?t7g5h}wL6U&|C^OAcdkLkun&cbmv8BjDaN0?&`D$GU1Q6bsJm z%njE3g3C>`8?6bQ_14&b#+=?ep2f_=t+>3fOSReU3o390H(gf2^p`X#`zjr;cB~UStI!a%_2M1-q)}i}2M42fsfJ|Kv09 z!LN5{uv2)CSf7uFK1K<9B0a7!wT%4TA&G%o_G8~WDV`T$Lc9MRfmi+S@J4{}-dS@B z%XLg*l1?AzJbmu+;nbXPqtF ze{=C~+IIPcRSp5c{C zG~cdcT7|kKD%%q!HXVV#ix;v<)Aji3TP{ph*hy60seyU8nYS)nfTd331dqxhJSF~v zl?^+}luUE@bFCVdxuTOiD)|Cah75(=4Hckc^-@&qc?*Z1BY3N06nB4QhoQ?~!1wuA zVZ!ce{B=*5b3e@@KQB&3RY@iKV4D#ivA-Jr>kY?mJ)YdfKM>YAtYEG_-n`jkHJNhw zFGRc!LBE?5@ksSpzIXmxvDEilV1F|S+Ws`4iN#IP?H%K|q@jjL{=;Ohc3legWMtU; z98n^%yUgKYN__G097P^j+(EioH#kg>hVI7-DB^EfeS0#TSauH1=Vp`dN^0zArYo7^ z5eyr2H-Lj>pD4!Dm~N?kgSD$y@x>pyNlN`b+?#KT&z~HHQOX`{;krp&OZgC<@i~g0 zeYLs8f2VQ8pjF_KcAa>{PokSuUa`qJx_EiwOH2vTfN^i0|| zuGbLqx?k|Yg#ZXwJW5>}hmo9(1UFSIwD*lPqmZge7xkFpuP_~~cy)=%{+NzWy<4Dd z+Hc5MEyf=D5M$;aN4fjuWSRafTwizvla~02WP@e+Sczf0PF9E7ZrVi_G~K|p1*-hs z>{a+|_d;?yERksU#Y3UMFuHsv8_ljJ(caf9p)7VE*sb;Al@-HD<_ZmXKOzTSjQa^z ziG@s(1+i7vt8uYyFIxBx;&;Z}5Ffto2K}Y&nA|1IUYd+(wOl98_3K5gDu4VDw;8oO z$K$#+3(1&WaWL|ZEBtu70qc!pF*?!=Yj{7bU)cqZp3SCn>ZY=h-D4rYLDPik8>ob{B8;PVY-v_9MqE7Nm?{MJLb8&M6CgU$IlDUQdiBjH)!XC|_U zgZlVOL^*d26m*_T)`d!Kig*zB;y`tC&@WNuvQ>@H zoP55lGx!t6t7Y+h!aJ8@+&{E;Y9dzo6o>nl&$#K3J#{_Z07d)775mpv2Q z<|gCVh7j7EzhEn**o;{Da20)2pnunM)^u9^cUX$JFb*teA)~gRdka4`{hEm9oq+MFSJ0x z`9K=cvR^p6QsB*sS$HL6HJ15bVTXI_;n>J)qJn`^^vW6~TKVxLQL~CBHe1?ZtY`!m zm%S(}O0gniHQJaDJ1w@}I~Bn7I6Wm7i8IHRz@7kiOst4zm#dDDfY%{JURBs%&rKkT zjYGKl6bq2PT#8AG!}*q5g)pvYHJ*=Jf>MwQ(myK6NUedixkDdj5BBELb5CM{>UW&l zbCm^c8OXgBqv+VrWa2*~N#G$(;@|x1$w)~#{k1w-zTX~LY$V2L9(TrR=Q z5k{cBNRo*a>qO^&Fvyr!FZ%SDg4-=QOtL<DdO)yXHs1<3G||OEV6V>b1C(p&peR znu3YNTT%Y#8lte>o35*VEvo%*1e*HH;4gZFxyvdA+P?2CzN;Dnbzy6{GYbaOG19bC zRuS{oW#PNW>U7Gf0Py?g3V8GcyKqT@r~aqG7YK9NnXjv{%*qHYRrG|;_BZiAdkGlt zk^_AuN5vmUOrkwORs4hYGo(OUrQX>1pJJK``Cnnuf9eq9J(z z;(Q@DFgEfEest33>-U|<nGW!u)kSWmx{8XwIEv9cmRbHJ z{Ovqx%q&miQZu%|lXf7>mx%GK@l@LAYJ-CKPwYMJG6{-S;=fM4x6j!-7aq!trIYhU zktk<>s2z8YosD%A@=vEk%ZCr9>;VU@xIwVs+hjVY<}sYnn~OHr6uC=;HGd_chQDMg zA>mRZ+aKqT$JNi+|7jSHrTN9Au*iyyZ`+R#wfzxwe~{_rvx#1(ADqiL14@2-%6cQV z;-;=X0^hc<%S(MBvB?Pg%$=#SN;aGp_;SC?O?Xn5JF0w84BT6COW>MFV*Xusk}SB`Cb*jL z&JzpqbiD?4juHzG zZafG_Zd}4E5d<&h$wK%j!J*iHmTXV31m9Vapyf0Q>Lv>wmnC!ff2&VJ{@8fvR!s%X zWFuGsH;7A570OD;(GBg=JY$p=J-Bf#n|>Ezqxn!C8k~-VqqM@D^AoXrjTK zN22LJ|6oj_78&+q9UNOOiBH>V&@Z56vb^E0^Qj?*)*wqn0cm z5`!hfBv5vKkEqQu5XzYY*}3CBdVba9`F+=jv)m?97M=@kqtx(vc^KILsu8lIdqMx# z7noH#hMd0c%hNN;nB>)`%w}_-;I@6u8hbj+LWs9`+ZIcFJbp5Lw9SDluG7Fcmv$0p zlrFG(oAH$MY?M8H3jReHkrVdWEc1&ko!Zpr2&; z%XGLOJ`l8D-Vp9J6L{-bBQP^g6c|#Ih~m`)RLMn}gP#*KhpF6iUI-@Wjlu+_gDBVk znuX+g(1h3TAb+|WuFsVtMp5z@*xX5~6m?`C%>=j-*+ZocXV81BI>Og7c#k|DCoJyw=6oC7lEtWT)|; zQ4a7gd?ZS@4yR4UjreYX4`v#@z=E`BGSqwsjs5qLC1ebT)bWyhn5z~#d$eMP$evFP zEQb-d>~MC*dXhdPpKW9|?B!M`@uZ%g7+pOR>nBfxu37iXc7Ohb54VWHYvv|sm)%SY z=8s|p*(J>JH=#ub)?wq*7G{3ww&2Tq3_bgbF)ytW5+5C7iAywy$s%>ee=niWc6=h= zU&k>8*B7kvdpM39Y0KA!TJoNmgYe9M&(UL2Ak59-m#la6)Rgns}PVYf~ zPX%&|39~xMICvT~p3GQq7+s7acw#~=YpS@)j*Q9zUk@3Ql@}%sH@yUjrw<4m_85|1 zzX6*!XwsS!1HreJGn+j-h<5O2XjB=B(F(vkFxf*&8Y zu-#L)uvg1x68{aEB=4~dJKPt>9-mdhYL6NeT$f;$7>jqlG{DM|71*MAL!2JrNvm6q zkg9E$;oJVfv?A~>zMtYFc(v6j@IDgZt3-=h1@2o)Dx7q?PAaXs3~!d8v&b0qoiU6*(_STX5Lc5&2i+j$Wh|s0y@}cHp8{P`2)ow4M``07uubUj z|2};Z999~mX4g1!%3wFVwJ>D0eh*G^9t5d|199FESE4pN9Mm7QkuR}+?C-ZFbnT@G z7P0LlHu-kpBezZ>m0-;RUTD!K)2+BC`L5VLej3z+F;jBXp)YUGhM9kC#G|#9=*B}Q zP#sjL^*}~`YsFzqYYN$ZSpjlpzab?(J5Xl&C}>Izg|N?8SmTL-yd!ltbY~gxrsO!7 zxikn9(ljxATnDVJ*Tk!Jmuk*3m@R2ynrWj|Rb)cQy&tdS3JP4AV30DVi<@%v*Y~nJ&Wm0_*GIj%03-_FS zeJe02QHS=ZCd7F`I5P7m+os(r3OW83mQ*T2(y1O+Qdf#|r-i`iiMQE{h0~d%$166Y z@P>WGpN*usia`8{$#iYf2F9QM#zAL}Q?kYu0yTgG&=E)a)-o6{c_2hWWu6g8q z+H<(%Aj_98b`$LtGHcyqgwJE{G4@}@VBro^0kWF@7_B`Ed$wrNzS;8Vd*yN2yb>+G zr^ODtvbFeR*)_EHEyo1G)zdJ}hAe$=j>Geu@$9`>AT>e;|J}ch`V%Di!pnbPx{1I> zzEzHux;Nfn^%Sz7OgS>z&$aC3@F$dLfqJA*$(oG|Z@5bVrW(n@9LKvh6 z!U@wp@SLLu**nI-{VF@Q?Qket5dN6?-KrLw+%84`mCxVO1fiTr`@C1ir|h{Y7lxfl86N{uxNLI*P{gPr)RQ@!+bphn+Ea z3o@?ZQftTE^-_PU08t=7Y(M1#~*{E758z5Z4Ul4)nytvZ*feDB>bE5 z6=r(8#&@em!rl#cVU*tmNNp>Hf2ZHF?g}Hg5Tb}xYfR`Sn?ItLQquh9gl$x6%3a74 zvPo4#hk@&u7~-*I4nCRon5`~uBKwn=_;qp{if2B7PaTh8@U=~%wKu+!*X3O}!sI=) zJV|8ff;TbyjRsFReGc~93cJ58b0B){ADpW@AB!C#u%t8x1L<^ePTdA{m#@dAY3|%J zM~|A(*>Je&5FFn8mYHb^*#uV?_!ZuRv@RLOulo=D4byQ^q8ROL{;@NHgXch@(CzlF zLw(0AFgYpA2Zt45fZ0f}-ef8;^Q=VTHKA-{iWL2BbPZJBrIu>$A4o?Ugu)HED55mz z4|M(8h3lI{IA>WoDX#NG)%jnEzFz>H*Lfa#2AZQ%b+uSDK%RCbWn$wqf$L?w3iaz{ zsQZCmOm*{3P&nfSW4!XjM>3AF=!G)eci@cDP#D5oQeR!}y5uzsw^5)TWA>rk5*K)F{+E~tyYuqH zU+}Vo44Gl&10!Z>(pyWWg1e9-+t?TZ?W*!Tb?sRC$SVwuhZTriO$YGUbv5GhEhq7U z?og%<7m0eo1i0TbiN@y)rC;lX@9i6B^g4SIh+ZSiTa?I~dkgXH8)*oweSl&9GL+A# zMOpVkHY{!;zWwzS{k^?V(bJt9b(_b~L4t;*O?<+XH+Zw9)3Q=>1;O?lfU8Th$SmfsXO|3{4v z;Ks+7@nz~Lo_fAdG;Q-Rs$vz2-4o7`^xhwYN$th)H&=515!WH8tjqq?Q3G6jtC4Ik zn1s{3-j&f9%JW)G!NxgNBpZ5^&Hu2O?Ed9~-+jjMa~aXN!rGWRWed;n?cL(-R|Uu4 zHNm;Lh{4EPl$*bZK;_2UaQev!`?~$JaZ!B%?!8in(;BkjQHufmsoT$Pr=;Ujs}>^J z5W?>5+5nf!|B}0X6*%(DS5W0O_PHb6;89cq^Q$+*{fUp6#KU8-V2(4F_%t7vPXIoB zh&t<OW2d`T22&IwJ`I4t@})1UcA9&zJ;i{Ob_*Tw30NxLh%JRLwezJ3Yb55 zElSzdj{_5$&>$|JPWa`4QjCuXB0iboZ2G?mFW7pgThIQmY?1WPB zHX%#)StbByMqBgr(0K0j)E*CSOeY8H#aMmR0wz@_pwf<7+%Ytm@RGAwYv==dHp_6H z{k_Y9t3?XFyAF=Ib8tG1Aqu|4Fer!)N{(}lZwvJRNmUc+0u(_!k(SOoR`gEcl{jumViMu8| z6GBJwix;MHFHs&ol)D5C!d>L*_AU0VTUBYK^I+V6FA-k0+%9um-GYBkijgmJfpybO zz)CL+TV7fN`|e4`MTd)1G+#o=@G9asItl~)r%)}cJMeR-CBLmJIBu_B0x4C&X|b<> zjr0u11>*}r_edI36!MueW_v&!wh0oqc7W-E&2Zy|9Q8K40bl0aVM@)#EZ=aIXyeS$ zuyXn{NG<<>TlO<}p{ods9i^Zx>!C3F7JQ8_y4WJ`?WACyK6*^Pg%-*0U`OBxu3u<{ zudKi0WFd3R+)ko%i~@ZavR26SEP^9Up6C0$VA_LHafg}UWDFk56^=<01$Lb+^+*=_ zp#m?XAp@O?uA;6ivhOW~pPU?p9t8+*_q_&{{Z05X^fEl^I1Q%)MuW%wTV!42cKD;| zFW&m>RcZ6#N~YMGg%hd*A&|ZzNm{k|se35sFFc6F*LbMbH(A7Da%_07juRgnefaidKJ4>Mf>+K1=`GKEkvDP=C@sTWVnl8*b?~VX@{cx@q>;#`RH=uFeR=i;7!ewN46WWu; zDk2u(ltEkYZfU%D;2?FHxh7obb36PTT*romZiFnG0T^{x391H7VBbGV z;_W0odOhSB6pOAx?X!H?v?Naa;`=Ik|B);6bRS4WdREvzd@?_?Uf^YHjb}T%-rhN7Wu1tuqqL+OUjxL=|-0fDv^a=N{Kj=Ty_qKy8%L~yu=Mrom?=AlLtQW(y z#)<=Psq=f{Tlg~SrfAT{AH@BY0p?Gc4^r79i1gIq)aBpLtcFz*v?)-yMoM zZ`JvH3sb7~Xo--2I7ceWQlZ4{AgoG~p>0zhfQfwtG-o_Omyms!aG?m@hDU-+_yU|X zrH5S{(ucm19$0X@R{Zgc0&SR}LnFdvKVL>O1~ z8g2a4c!GX7+ie$xN5je?=eGgMe>H&3TUD@Q*G$~C=RU5GUykjaxmasf!iEGklE#EY zmVfdiUOSQoTZKH5<;s|{Cc72DH1l!D_2*>E&pLL`(~V{hIDmOUA4qYUE1R_=29E#9 z23EJ0DhS!P=93Dv-ZqB}DZLJUQ>H+jRRLyoze4Xddr4=OA(yllcv-gd;klm?WkKag zX$QL_tWO;EYw@|{9Sk>8=TI8r%L{Ab!_ zDE?!}2ZU^+&yzlY$%b=SA1Ezux9|~N6?jqcE1rqkFWZseXLFF7M3N{qW4Q6Dj(GlF zK^}Evf?D5g%)L{HBTu)AM&Iv7Mp}vgcpny}{vJnL$nphlKDa0)5kLG_3O`-O;bhZ% zjC&#tUYq23>os+hHXA26%?aEyP=cwqmxJBXePrM>W8N6+PG^D{I$x# z@^UOyOT4^Xrub z?Xl0uo#^TOTli-3;GEzQO323rLPFvG>Q`8<7sLNOHNwF6!!gu$y|5=Q6Z*dr7=NK! zeBXTr*jVfHEJ?&e)0PptUlts-|&K^^iBZHeV4>1Ulzh`H)mXYZXa4|A4UV~`NCZ60?Gv1!|5O~ zc~@49YrM8%hU*Y|QE@O`;CdcsnF@X7?LCkkExd!?EM4rc$4txY_(QXH zA`{h52K>rHi{=I7QFsV`SacG#J0_D&a}4=f!Tlf^tP7j9c9KnoYS__IhE{IDIBQQX zdV8v2XJ|i&ZLbk!-xA`LHHxiHScn?S4DjN^I85?Q6sueP#gGY3bl|2zFndcGn{_ot z6si}8AM7RRU+)iSBxA>83gm^nRT@jLxkxJQ7IE|IoL$`chi&;<3KtX$VdaWAu(`Mp z5{D+~aORlX1nC-}-UbiyIf^19}-+{AAr}D5v{#ZvW+@j>?sRrVrPC~&jdIzbTip9ytT}yb{$UGBn^3; z1!B!?BaHq$hs`X$03pYHgx+Ga$R*g2_n+0`ueu#!pIeyt&pLPXJ9i#z7Vm~5kM=>q zxjQ)Q%~$alTYa87*o!>)uE0kJd1BYI=iI*N5A*O+tc19oO!Cq#!$#!Ji7!T78J#t(lico?dPIC+W$xgkG>jC1fKG21PmXp9OP_H@FR7FASO zHlNn4G{kK)giOfIgQT{y3Kw?&N1{R)%T-GhMQDzLi5mmZ-CmiVsR|dpk~_+h=eh9B z6$w05{VZ#rxr>Z!JWkAe{!T6w_yBi}7by|*MW zz4jhnO_QL%8WP}d2orXM9^^o$n&8#0XSFNZL@pgO*+@+ZIDa>cO&cu3LkdgbU6VAu z{oWWVg<0yDpF(Hi^ge)_(YQZkUD@}Heq7uqbZElbAtItoU~6Y%@Mjrxb{PTqF@oHl z6OBQO3P@^?;EUz z{Rj7In{lY}16X!!4E+;y1C1+Qh^J-NV)1Wxh}U_9dHO#^3oIAe_uI8IFVnXW8tKhv zwllKr<_auvnLwM4kEY9KrIQ4aS_xQVDJFGRoKo;iQg?hi)xb}vG zz{-2T_KOwi^$tC1yW|ZHdRPiw&9Zb~kv=_12jS)qH$c<^8VzyBn>`qOa*cHU5K+$=qrqx$+eSJVQbqe z+_rs`;CC0{lkaBy*@zRMm?gz`#VJtxp1IIBUztwPc!wr--Xy|o0M9$s#!Ook$m1=K z!S7xJD-P|(WJ3oG7&e4&+9gB%)StkvLNFZ6bd;NWzCTb}oeBQ4F z;Kz5;wx97h=EEgACjBpL{;SFBM$5vVzSTsNI^@>F z$KST7IbbE2zxc@3teJ}f@E)WuzQX2LsqBNxL6i*GOU$-8z~{Xa>6_0FSP;nVeT|I>i z#V%<~=$OiXnmSY4J4fJ-d!T5H(Z90Q=4T*h$7{B?Lz4d7JBok1^AR>(n~RYZYavc* z2rr6M#mGgem^DoWkJagb%cF7dyhe>Clu6RJOKVx;hcoyj|2`R7VhD0+J>+bp3!BpY z28(DZFWa1mPT?FjE*;5tu3yRn`&Idl00TJua~&GlRhCts-pn_CIfnDxBWa)a0Zd(O z1UbDg&|#_2Kbcrf8fTuw*TP0js#Z zsOh9Z`JWY-#;XuDHgQd|89&#gL*tR5DEDI@+wy)s|MNRloZq~U&B&=|UzbMEyzLs~ z$jwzKdNG_GU$_rc$5miZMWdM5%p|vi&zA*7XTuN2kK#<*JFsp4IGW}gi%0ss_*B91 z7OS01x>h}ax1$I1?xn-{l_%q{_n8UgPpL&sk6+@&#rEQD&uY*q@;KV196;Onkm3dM=#j3DFYkMYQtgc3_S7MlGk;*P@80P zdagT>PkvPiPoB8(iX>08EI7|>HcIj*7cNb%cmK>j?No!ok7~i^hAEaGse{(0I{a%c zNdjypa&&$ydjIJVf9;}4M^tWv_mcC;Sern&BY6eC-88}9xiJ_ku#T4nHrbCH{T*NJ zs01_LZ(#fJ0DH1jg2t9S6iG`QM$MiAcEunR$BZ!M@59DWWh*n9k$M>|Rt)BBe6rwE zNWuVpMQWXN5dP)6kb94!$#~DFxWYJs<-09oOQ(t1pOh8kxWq>E8i!c?*p3z7OQCaG z(r~}A139ayh(<0wxPk~Az5mwZ^q%J^?#KXtzxVh>LxEmcI25X)R$}c+k@)FjRXQpB z0516S16$v8!uSkXP&eI6yFRx|oStNq3{*}3?> z{4!p@q{T~~O7bff6RE2FA{a7Jmp=$};>xp=P)$P{=ZH2z$AC~6c)A1fQX65P(-0!r z{7gIu@3Oah1owfw5{WN+#$+7E^2#?tPQP&|j))hd+;g$WlY?Qh z?J;s^Xd>O^*MTbs-e;2X!DtqwVm~^ngIT3q#FK}ruzj}?@1mxV5*ZE+3s(O)DNgTSO8cL9 zijo~`SeP9^*U=%)Xv4e{WX1I(=a0%)zj24?+(VPnZB zb~r_FR;$`W=;cHFp|mWslsQN1rrtqk$uZ=$nvk0x{|`#OpT?of7Gi&UG_t!E*d3Zi z8bhz6PJzH~`gaGmt{TA`$I8(EGpkRNGvt*R2T|d?N)aQlRXA%?YKcye! z{~2+OLK8f;i}JfESy-QZfCsqd!P4q&qS6WtI!)lFJ@;#XX)=r)d1XeG8WYh#@hntH z8lk_ACgko`;7j5b@EJ?3`I!kz@ygCxb}MTEx4bxjU)e9@DIPyTDjv@Vb!&?xdxS3e z^zr;nj5_tHTTVM)wXmn3;^~!ptuT;VFgD^0u1M)6ez)He-|fd}fbnx&qbzs>O^wjH zxwdffSVUM2fg+*^J5~E)~$iV9-Fyn#H8MCSeed*^ZQaD=YDpZ9E{y2ff$A(y9Sj9A)+y0nYJFVh7>on2(nmt)x zU5087M?{D6uaGYhejm4)2s zoDbcXDD*N^2f^c?c0?id3{H?+iibO=QJHs%=)C$qTu{=75aR&2xV{fRE6YOTnigaa zYS^s64T2}_3@d?J!IQj?)yzBr9#h5%J*@_Dv-cXdE8Cbh?fL-+nseca&KB5^_68l+ zY(YJv**GL%7wj=h!se0pKwe`AL|fD|?|TY%D(!F-e6XpG%7 zkhttGh5%oA!6Wz-b~_)(r5ldoRkjF~T)vaGhr{S>sZIDObUu6KdmcXjT7vH%FT`Y> zHZo{NH;MGGfjbGyP{HUK^puXl6jz~>ZzRFzf9hm6Y%XG`;6|5^RiZOScai}Khu8;6 zPaNE=4d?zg30yH1d~s?FoAUG!UQS#oj(2`7TJ+!u)3ppECzh@g<>vh)jzV5yNO-o8 zt=WuCCOVw+cT*w-{Tg(1yogws2&ceZxIoKE7 zg2h8pm{0suj8$nP_a0`GjPLiEvs9Kyqd^~1>KvJsl{F?_R%HVdQpn6-I`q`#tIQ?I z9S)~1!7F3Ea8K7!JaSK+d*2(z$D|8$sM)VX;=ymqHmB#1Nv|FGh5_lA@FteuvF(QO zBMy<@=evmLyezEG`9&04C23LEdvtCwqxn+dB)-d*C!`fZnwJdJnu=jVt1%C;|0v!g zlI2D+l63ifU%V_%#7e2#_EJOT=yN*N|i# zk0R0Ok`il7oCo)73h~$a6EI}Q7jej;V=$Ge@_Y$P5WCOB$Y>kdyj{o-2|2^JW7pzb zm3z=V&q%nhSHt1FYj|OYr+&F>!sKi6QOx3|G0e>)zv>>4gt zA3#SP&_IU{f9Uhk!RLc@pyq@jlRE9FO-K zgZY39TfnJ&JO0q0%7$la26p$CLk+ozE7s?Lf;f%bQ9S{Vt}P-iWgFN{%T=IqXv?~ zfwm&|`8nHUZpGhNser4RH(M}o5l#+Kqy_zp=?l+YXi(FDbJla>rqYOtdrcW<-@#M8 z8(kj-@bA?G=1jZ{z9tT^%glqeSyrKwUIaVlBm+~`#W?A61q!%rdSm-wFnyTLPUY{x zuKInD`Y{qRA3ubyrB}hz?IGT{?Fs*#*5Fo`=cCl9M`ueMGb_s5y1)^cw&!Tpi4~A==CB8Gp zkKKX#I*i7cGagZQt17-#?j!@^2E9Z-~m%X7Hc) ztx>9cJbN)@Eh-;uV#mh}!>`(Jpk#Rq_`a!zh|;ytb;_C>YrSVWZSQfHL@CUF^bq!} zN`-@G6lrPcEK&2wSh4E4>u8?7l!nQvLV&e!*VL^Px~0zaQIi#bz*@MfFo#|87TJ$~ zJd(1)Jvdn-6O?2)Yg_jan=VcOdCP8mVtN3k7x~G>-dZG#i_v27!$S^+cwuFd8 zF2}>|9$4RA4I|fGfMcJA5e;|U%yqJ51Ha~DjI|wgz55WqA9N9q zjuXzW;4oO}x*fmGJdg7puSBEGJ8{QS4gPk}F;d>N4~wiD$l1Q-_|)+mTk>);?p)j{ zT6OLSUW#7Pk z7sa|IuR(W%5ggoqmPA}V02vz`(PeQrE-<}=3#_ySF8f@PDe!{sg`R-O0x^2e%|-hN zd(qLFCv5fB$#B4`o=r{`7$XNp@>MxsSgOH9$O$s!e%(qi@;8&EwT;4#ByBSJ2I*AG}_VV_gF&6bjwP zM8W56GDV3@wROflIjbSj=L_P4m*Q_zzp!~8k!)wqdPqA}0beJnqO4mYuG=nnc{FFz zK*vRV(#br`>D6H{S(BcP%wl(o^VsbXf+Hk27yRXm2)F!)?3e}GW~lRaRb{&7`(gC{ zTnRxgAK9(-A24>QEJm#^K>KHnWcBTh_=sE+AMm@0Qd=dtu3r+U7Y>8UtHWqyL9AHz zX%HUxHjOr1ehLLj(vYNb0$rvEoYh?QvMlvwY}RP8nq7-nEnz1BcSIyUKkRI?qM7UbZrI4WC{Lb zofSQIc?}vWoD>_}6!yels#LAiwq%?y5dt(OAq}QWfIH22qPw=tV zL(sWs!LM)p$#NMwx~qzO%DqVL$PMCquXeDUQ@vPz{Jp69%~A2zbNOJNJdVH4dKSh2tftoFJ&z8{yT+T!l3 z9iaO;p0y1=2{FD-VDj$;RsG}U{wC_b}-v|*})IBqEQIu?DOZY@86_TPXMT_=Lo2^xpHWf*#Gc(r`Ng-Nn zA=y)@q-5)NzR&afW1irWIce_zN^G(LTnU`ky*a^9!F7Pu;U9YE>G%df9<$R^7r` zvke7{PS&6=(=|~^@J5JcnWMXjsiY%Kh&C+hMu#_y(uj!@NT$tLu;XABayI8O3__+0 z%pyJlJs}xB-^_=f@5|+~NVKBKW8F|*T!&gI#S@9_B5L6JjAoy$pl^QOp^u~``TduY zP))a_prWt{8NJ?wdaSik$ET?%wm6^sZ2w)q(El0r`uU7{bDUze5Akqfd^&m%KZWo9 zrGq^5v=S5+rK1Hy4K(CO8lCEsP6K2w<3S-SzFB@4O+9v&{;^)k@f1yHK!7?wykZ7_ z@Z?o^b}W|N<=0PDR>Z-ps_}e%ZXQ}`S@R7(8VWK>Zlix8EJ^$1jYHvV{v%(69Hoo} z*G2e(R|7h9#{(h3mD0sz-41DbvHd39ySW0z9Q;EsXU`QV%3wP1bSlz0%6S`BE0OTk ztFhP)R}%1419cW1Mj6RboUddVTmIz{tsB%6>~_dP5;>WOaC*``9)HN|3+qv+!y!6! z-;B1dOQIXKACds2%XHI@DtKOeoZj?43(8Bb(BH?@P+@Q)EzNDB2T%Bss~pL9D~+hag!h&=3?`Uu9&s-$1t#Hiv!7y7(Kl7GV`mp)fLOX}rw zsqs9PI<_o8C*_)9o1w5klG7#c;xLrEOcGA%I*trh2cw^3Ik@iUMKto9ke_xLbaq(@ z(Qg!`8S&d`+)PEj=JdrhYkMj(Up0ZJ<#4@16>Bu?QA%9*h9Ps0P^9&G4P9R=K-Tf? zblo)%WUT*=oSb(Yrp)u9UySSFoI|qw;j%i0nPCGLJl8<)#3Indl6v+;%NdRb@rkBA zwxye30hBt{0WW+UMEi6~&^Mg}v^_GAO!;vNN={$TUwJzn#T%>^ycFJsf;v07?7^a79{mO3KgAOz}Misnn2(Q z^!`8@{lZQbEKewcsySR<#9ebiTNKsM zpJ-KjuO)|g@3Ufl&J-5}oZ{xor+I>{BIl`BzYhOM=~kNjTZC9ISLPSwG{ef+TDhp$WwGi%JLRBi5A8w7(9u7buadPc{farY#*p%Y{enNEN9e(DPCH;hP`yYXN~rXp_d28m{|19mQkn$XA*8||e^Ev61!mI! zY373?@4|p@`snBWvq;kCFsuObf^eZA`fhd%a@p{bX8y{8oyr5e>F0vz-vb^39Wh6$ zl2?K9=ZQjW^bqCDilMRFAHXYi@_aY33<@mQqp5Gw1SCWPxh=UytM6N*{qq&z)Ro7m zX5eK0O(l+(&{u&TKMaOz;y+Nerf#}((i!AQlDKTG{esNaPvok(B*!aK^T)EGmQNYJ^w^FcGw4d^3HH!61GfC1#(7*8 zff=;7d`~@c@@c601j%1tiXU-&&{4?>8qghGy;Boa!Q{4Zfq2=`aR zqk%z4QFj^~b`zk-7C_*`VW+l^+5-O_CMaf168SxoRBdWU@30-R8K-7NS9D zRqHXL^Pvi|4kgf+!@^lZju)``8Il?cq6;`*+xxN6G%oTx&HE?He|BaKWv?4hxo{`y zwYZOr7>A<-ZF8`p<_SV(*0Fo^iaf6wc40A{?=m50J@xX~BxsnIySW z2fdAWz|8eYLj1V_w7R(h=4m=2$GihXL^}cQH}vL9noT0*4aL|}WHJBr=R~@w^a7r9 z`5WZF%0+(nSu}sUD$yz{ra^UY(c&Fif>5LDNY6u;9!>7R^MMhWDbFBT`C3$bYZ?j+ znMRLr-`hO5oam>8^P@b~_@RMKj7M1Y&i( zj8r)BIiwyNuufn_|SHko*Z3)4t#5)i)St)@(~Vbs;W8Ca-W3!O6n1Rk+VQk zI0romyaM}cB>8`Ou2JGAO${@|_~#ETLFZ4&@+UUUrzf*6qSexgl#~>pjhC08zN0yG z(IXK-&c;ldHq#ef)IANqU&kbVkv-kG&7G!#N&Ka|#RVRIQb;*UAN*Dyre6}Clc@Sx zNI$R}cW|7};(~R^!=aJwl~qHfzl5p59!wl~QB-PZ3Y{7d%l~;(46W;wrJ|a0d?^)G zzD;-zYAB1O5yflZzN05ln5O~K^|M0s-fJREgV4@+j<%VBSts z^lj^9!mFGmh`*3yymm5AB*FN=M)*LxcMfzwxozEYzu=a$}aSF?>w|} z-+pTB&-o2zf28isfvl`r5vfx@iUL#0sHM~$`g_@8T7QVERaR@EDFKW5+N$MHc|XTz zc$pJ)2XXFkKD|>iY#X83U=8TsFs$TOO<^jYhTyIUnm^I#l-24Wz)G zAy?Vn0N*<!bXU-NaNT;{E#01acOsRu} zk$`j6N3EYk(20ZdSxD#MSJfhd71LMo#k`lJc^Nb5^5?tBwQ4)0x^RJD$K$;;==@be zDo>zGdYWkOG$YvQ`VIN5;dBDVE2*XE94fE92Cok}j;5SHMdKRIBCAtVabMd8bh1K( zX6T)R?*cQS%tk{xsG`Y#uQG~``0PN3N@IbDcP2WggvpgK&T}G>PYo7kqLX_g$lWQr z=-=uQ+Dvu$Z#`!6jk<&cum6R^meFuD+Ig2Go1~zR%2&zXN+H^l{+n!g@{>NiRsmL> zkP++_EryWOly@d6k&7Au(2DDaiLR-GD{B_g^um?=NAJ_9id-*@HK*iiy)12y{)yOM z-CPd&CjR=KcSP5+1buZ=hkGWMp_bAQkX{d^QLBad=UN#4&OQH8GnqH=*e7Y2uJaep zlP&~B#fE~bpVN{3<6fZeW=$vkjNr7ZX4I&a)38?FqUDXHD1J{JopDG%1QlY7+Pm2Afb&C5pa0P!V|U)#Nkd-|4u| z9-0(&8{3R&)5XqZ=s|`xf9!EMp7dIQfAh8}nAj7;c`;-X^`?B9^sSb<4c(!pI;W}c zv@jZ^*$!*EI%rvS5%sT%Lp2W-QLe~5QZmho?W& z{dZ87_8rOX9U|9W|D-yOU+dyay^)omA5oXpl&q8IXY{C2!95BdH`$@ZL+9Y_i6|m| zr5d(!+W2Wois($DF#P6whj8wJn6o&fnqL@l2F4@fU{6ej&MH6SQQ$ zI!ZXGg0_M`0ai#X#EnL|8IdK4 z0o;1WW!)bcrrWa)646@+1@^_xBs`~7h`#FhL|=_8pr0n$AbI0{S{qGC-g0rW_eLW+XX3+`Ird~2c~h^ShI`lQEvWG{G#a>Jiao9&iqgcU0$rAb!UyJ zp1m!Soh2d&`tC+udpyv)t3S~xxpDYn;vY4uYeC1i&Y?fzE78!-n>2a&I1R2(7ihFx zpi6grqB#wdX-y`NWWSW*_LGwWL6IjqbVreXO6IbPuY|(-3VB-OriwQ?7U1TOQPA>M z2r|jK3`gwvR3_;Y-P>wQuWl+u-t)ESJBchfK>#t@y@HDD>m~2s2no{4I6SjPoBGZ(9=FGvh(CqQr&I?AFSO-rT_L* z%S_G>?m{J!@Og{{mJF5Q=8LLl1bN%7MuncQp?};lb$9)YF63@RoiVla-o!g3`*Iew zwb4dF?Ke>l&zTP0%Rt#oJRLk74}LBkrmKu)`6u%)qQSyqDs$~Il?c2|H)ecdy^YqO z{ae=~@0%%H#$5(_zHtJ!CcLE;r#oYP^^Ve<2QPWHV!_B?UrBJ06QzbIr4#c^ z5fDK}xcuX4RBv7ZgCxq(_l1M#K+qX__lg*}@cI$SzbHj>WK5{ewd+*6PeG6~x|kN8 zxI>$g{=lNTM z`6aDEXMQd~GK!A;spYw7Z_-BkYO^`tqkkERRJu-WTOZOL1`IuxtRQgEyFeExP6lTt z2H;Uq3;zB~Hsn{YGphOUkoLVKs9Y_Uu3S7$*E9=ggWPV~7BNg?E^&H_0S#1_5sfx$ zO3~nX<*1s|P#1DKnD&EOq+bQ&tP5O@iL!!V-M@aSuWcvTDs~cCaJfaI3L*mDH7>{Y z*KL&kXAxRIIs-itoy=dl$_8Ayasuu9YK^?7EuiU_PEpS{`}k)T$D{2+1$3Q(sK7L) zfR1korRsSq*8?J!Uh9O&GOV&4wIitSDC;hIpCu`icMR$Yf;y8b9A zbT4@QGn)1um%w|YY+Y9pM z>_Z@X5(?6gVvQDEMAUAW>iO8iv1-nvY~C?yq9!T;Tkqg^vIoiAC5b4a-GquCutERQ z?5Wl=89}@AakQ;9oBGSm=ASxLjoR|2Bgbh|`D?c52u?bd(oh=!vZ1?IC&&%JyBg<|OXPAeNoH)RwOzOjbGw$)Ic@x<0KL?B5&BdVg z28g!*hfmd>!>4<;);&9DfRFxHiTBO60bk-waGFH|UKQd%_Uq3F^Lz%eVU<2)mwyIV z{~RGoQqRE@n^fj-+k0F&NsRm=bD`Zc4I;fX0Z0~jleRza@%g#B@Mfnh8Q)dT6MYs> zh7BV?LBptV!x8WFRSFr2yb@0!y2yp(-5Bw-13zNJ!R&mcc438|s8fSFL zs>nDzsUno9t;C>E{TlO3CIRa%iUc2SO@=oVB5+|C%kdQ~fnB={jL(;3H+C%}Ewbta z3xZ zLVh=}-mVlZ=cWn7`mbQ0JEC}Dk_kEMoy7FoOM|zz0IP_ctsf8n1;Xx%;e7@(@z>}q zo}kJUKJ2*@wq4e&+X+ES1_4?FEV)|bEWx+PWn?J(n9$1O@G@ZgC4V3X$U zYvGx|C~)NsA~iKr;Lm{Fyv$6K9iK;4*iHc=ySRu@`qBu5nN6*W6YhyP{0UQK$F# znBr6R9J7#Nj%0yP$AaqnmH2q4SQ}`#5k&Oj&2g%!HrbMp&ScYntj?|9fVB(+lATs? zWcOqkwBQMwwowb;@;(A+;R@C~{bK#^li4_TRtMt~;sJI$3X$KP7SK)lKN9`bf-yhr zLhh%Q;H*cc1l!f%(P zwODjaqJH?`GkkcP5S%^q4S4FkW?p;00WB`M_3rPg>Y{spu=&&-XI4)kiz=>y^9>^) z=l*kS<0KCiKFuXe{4e&9>InWTG{|b4h+>oaAK{IovgBW}-qiZ=X9p8o{0+r!6A05zRoXs?AoCe#ziIX4Y zzV)6zQt;P%No3Q@dGN;l7eGT=h+vIMUir=SpzT`}Sf}AcO0`nzBky*BY49KZujw)m z9(N&ukYTmkw&3`?oOeuxBwSm631mi95VMWj@ogPVQt{LSY;8BdQR7m$_huclvb+e6 zuWPB@nITEe+i!-sx%0`1cg@&o+C6+vj>VI4B<5*N0o4y>$d;0+uqS#7ZoXE?NcM=4 z{|>saCP`L!bklMosWHH=7%e6bR9k>gcNR9@We6j4)z6HXE%x*-~eeibGnxf&qXeK9#6+YPF&{)gQH7$CebpL{xcA212)$jHw#%xGgGcy76j z@Lts7GdERu;V0a|v?qLMc=Q(I##WJnsULCl##nMYGldbKk_UEadxA5SnlLwNHtcq| z1QfUE63vHc@XYHoMB+jU{`Wc_H~KHbwo$$KV52s>a9|iKZc2yXQXV$?szmZ$yOJr3 z`j~Sy93Htf760cn%&b+4CYz@v0nbi#(0lAC@VU4RD(=1oRA+`0i#>t$C67Hwl7$)g zpd1R`hV_CV(+1|whZ3N3|GG7hmm^Ms`B2U)2wSXg1~m?Tcz&B4%wHgbIootxp*xSv z3lD*kk9XjK^%dB0`+2PE)>m(ztwYS`v-sdCJnN~cjDh~ zigCp(?!A9}6aT9V2Fw2wBMnE)$r~|4^4~NgvZ7ud{25b$1L^4?#$FFT3e>|}o!(fb zpY>p$Opyd?S*}F+r3`rKkih)+K9|gYF^gGiHH1H@?*gx$a5Y7YejS!9B&&NrvqSHv zfbG#4q;H`rPjf*zK5!};yWhNt%ZeWXf9@HTMW{fZW0ky?|8BDp7V$*qZw1a4%z!HP z(X46TEwIc-9M*pL%N|PmhOzWiJiW67&zpS$e9bn68%w7F6{<^mYjxlfT`_V@bscMc zSp$0H&gKno=)r}%kAMfSUor(XbIC_G5v+I_fye%K;qJwI*qy-~FZQMuxt+a)3;i_3 zQTyfard5Tw@}d`T=CVKSwk^c&v-g9OIa`R0odv6RbRTRCY3JF!(E(ENG9-S|I$%}) z5Z@hnTz~YiD=dr^!~U%m?3_CVV480k7+7`}C!Vz;exaWkrooGub1o9M{q)DSZt*NO zlYxR}e(55$R zRG2?mE<2eV8QuxY$NF*Fh3{ZfR2{BA{SHeX&BHTPYk_Owd9ukr5Tw?2L#I1BVDQ=k zc+hDZ5Oz6E3@q&MXU{EUUxp}D-S@u!db1fmnY#e)_ERU%B=doF{%vf;>FG>MXW)Fd z8w_vT5S9y(2U1r*14FsNI^8QdAWORC~bvJ4b6#nKpqgN3$Wju zMl9a0PL3@%!M<@kvO4rC7BiQHQyzMe32q# zI-P_obiplSnnY`}HK;ez#LU9&r1XXXzIJnYx)xj78ZZAYtr_oqJC*TVIF}^)t80fRPx<3v?nE zrk^FNkT@in=j(sw3}BKtnQYx!4x{^>$oZk!aOVzt@XPTc?hR_;{i;zR%XckjM>nQ| zfo;mTjLW2d{qZlZV2d$Zj)3HbGT0{Ih$Bk(tZXW#6aBa@Fq*j&zgw=#1WlGAeWw#i zZ|hygb4nxWI*@|BwYr$5B@@74(+-}*=8ZU^G=;1c41p_}XW+p*a-`&*KXGn71jd)j zlLqcg`&Jy2u7_uEe~$^CU3w0W>IRU_=Z8UC3c=SyUIVX#IdIVfEn=1BC3z8mDntZ*&}_yog?Q6bB;cHt`*e4t2I0`byqtxsH$ z3ah5XlJTr5_{I|(uwrK`Ubs*S2Mb)tm+e;ADL|SCcO_%}@dY4^KMj7csbj}lQh>gM zGkmjQJvr(A7a#UYBGTR(EFRAX_@DtCZ+*eDkx#_pe^!uho05pffm~ctRfGFSI><$J zBS>cj!TWPx;nc}Rtk(u*xN*{IGL<_=r8Nk_>Jw|R`HMHK-%VXGC*l{bTOG!1rtfjE zLJmOPF&HK+!OeTBiIH&wTw1UdxYvFlrkBGp!&`$LP6w0BhZ1B!Iunn&C4#o2OX1*( zIxIEegO6!Mz^9o%c@IvAkbS-1vDe=WcwFKUbWT~qf`2BUXqX2xekZ_%$}@;a`)*dI z(FdCapC$pxfltwO5PsH!Y;({e zI@wC_R(Ay4)v%iEp0a?eHEO`#?v+G$k~{q9rvN4%74cN#rV&9&DoAvlgH4L|L1U6c z91JJmsEsK2Zdym09{pr}^%uZhy&J)cD0f`^(hJ@_+Xfc*CbQ)hAwa>y8$LFeLUuGp zgKg7(0g|Ny<%{A-*l;EJbhC~v8q$Mh1NU+F5+mYQpbLk6mB?I^CZHMROXBjPpkJ>d zl&t;3s(3e$vcwrMxG5LV;1+WJm>SVEUjkKAr?CbvF4r%*bc;AT$17SngK8=dl7z=`5I?>^su%WS!Bc977(&7lUZ8XgsqL^N%V@Hfkfc-eE$vwjr}`=bs^9u@=nJ$FFJmwG&GdIh{FzeDDKlZT!!o0--t zHu&&ME3%Td0@<_c;knzj`1y;sjQ5ZLHd?QM+M?~a%5@PD51mIw54jOJ=X7lFgYahU zo)4wIbmRRmi}C!e;Vh{6hOH0Y2g26RapTc8U?%Sa{nLs;e#69Tz?E~qyQvzPb6JGwoH)(&R39VND$>MnT#SZ^o5G)NoVVIY8$5S^8qoN!1DkOTLFwj6 z(Cq{dlI=6CI<7~7)yMUqqn|oH65d8VRz1q^!VjFl6&k|lGV;aQe_aBKW#oTd{BoTj+|aS+NpezS_G z_-`ZUeY0Wkh8tLBjMFh{{v&$B>8TUcbdksvg3H z`d-+vB#=Z#XuvyH4nP+*6QJh(2+U3B2iHFr08#h7K=!*NEVT=Pwz7@TRPQnH^)n!*S1DF8I%7QDuI4bHtF1051Yh-@K?pIk1*mvsYxNivUYTD}%^w_4$`Pr}3}TFlxt zS`|N8XT!$cozB*J_d-x91?Or%#)m>{aE?bdQ$zxM8lDC1}eYuXvRXt{kFF0e3 zRq~|hqZw{#K1B?iHQ6%brLg0}R?_igY5in^;fJ=Z;8hrB{g{{n#y|drN5o!$qwbG* z%OqlPK>QEzigOlJtZ(3{v~B}dGN%}t*9DTM?jiv$qLAKR4n6HEv29r#5DiEK^Thun z|1|VS9kYw%3b(S)k9)C`t6Ff`8)0y>Z9S2{tB+^AUk0y<&LrC{ok(=n9yUBvo5a1@ zPWlIY!J_z=aL-CDc=zxydvC`-y!^2Y^wsC`F8Xuf(!sSr^;#7;`n`}iTV#_bI(@X1WV^za)^qwGS(F zx{)B$o4BvSlKiuA0rTs-*{b2Ec;nYMaHiIMCg?3Bj=z*hh=vi|z-12TPuc^mT9imY zK`NA(EW^IxJs<(~N9%X$#se8OP24nbkhs+t;dzOLWLNbTwzRvEHFI7>s;3%|^~-lc z$KSuP$WB-C+pmwoFBw3l7ZWCN5NC8xLK?;0xY&0Fu?wC74!oa=wwN?Bee$B@@#(*8 zym2(ti*;gTH$=es?<(;*zv*yyM@@Y?mw!6e>;e?H|3mIXI{qHvfZzU9Co$)XN&4^! z(AnvZ|D1OxZ#)mbI7;epe z0{$vaLesg79NkyRIAZ%CuFVj_OJ&utlmC0xenTXy>aPwY=c*I)ju~*h%Uc|N(3=Q` zv_MXZCdrsKi~I{N1Qw2M_<;itj>)TmeTzLv=iYJ9HcbcSxlSTses*wbY&tt+Q4S7> z`N0$IX<*I_9Wc15Z$TqZm4FxESeL!9c2$y@I~fLW_Tw3kIPlRNgqz?F*lra%I|D?JRA zS8gQ@Zik`yDSe_PqQyRGFa@7q1>q2#sZ6190Gu2q37_nBf-9#Q5<6Cn{F&XtPQKKN z_bqh?4G$v0-}{HKok}tOj84N=nLxZbL72RgI*s2p8sJ^8tjM1=HoWHTQ#mcq6f*Tu z21x4TP=$IKAmMr&DBXVyMx{pacX1(zUS1^O;hYO$gc)0qd!5-W@{zrk;{eZm$Y;(; zC&GrG+sUA3GmiDkA+Gf|n17EKg1XveynWV_;2}3NY!jD_&%DbAVxBMY51t-TQu1Tn zTw{s;;s{XkOC4Oe*vy8$Rm2`E9ZATLG|`RY;}Bj1u=!66i)NcccLNB^Pfmao%OtF$ zx*8X4GsTCK8K`r#3B;&XavYjm+--K7@%mg$BGsnjnwPDN_>mpV#q93-%gTXd&)voN zYm+;z9Jsp}1Ult3I-obI^ckmbN6>E;&m7{>$<5Qqy>Le(xxDJYM zo&?4=7~`fD_M}$IwVq2w0-4X#;rs7LtoKQ^ewwmlWaal-Ghfo11`-A{xw zcvg%AdX3LNzYCV5p8D%D5~L>mC1^M%4fgLk!|Z#c&c67j1Pj1!_}>2;`1PMNdHps4 zcSJUW$~op(C~Js)H+UKx@_56XDtF^8{B1>QE(uu8A3yQ#rt5H8f)nOl5|E6sLLiA| zutK|h8Hb2@GV!47Y=GY#EdCp%6DjPQ#Z_4Eg>t z2c|wSA@ff$WarO|pkq=Q@9G0FIOh6*o%v=O7QZqVw|Iu(5!vh5L?I5m){p|J?Kbt1 z8ZnrOHp0&)@yU|a&Y1KDgb*!S>~7`nbcrFG`?gpHNsNlWL!LW`?UZZ=CGi* zxmOv(CJ!S2!H{v&Q~;9AH@W`!5?0$`n2D%a09&3{V3QkpU~lkkZcbzX)5_y)nE7#_ zJt_;$9kj{moE0G8SSL#9zYRPNkAqSjEgTwe zh7}qO$=uW!*gg=4g~M0EGjE^a)60Xv@>Q}pQl%GIuady||6Z|k$!FYSd5j$T9Yg{} z?MYTs6y9SL4{R)z*@>)he0jrnR??Ft-OFd;d<%E%y`&y^s=o$J0o%Z%zZ>dB-5-Jn zITwMcVmgkD>%)_etOq^)>1^k!VKBGK9JX}xiNxU~@GEu`*|IQ=gKdq;Z{NePBhijr ziLPO5+P~mJe=|}zB^|H(wI3fl91l+<3UKf}J#u!-8fek5gT%Yf05|5zTW6~KVa2V8 zc_zCGJGWOcT5ryfxo;iFvm4ypo;(5##=OX~h6w2SLW1yfe==S(SHmXIL#Ff}han3s zNz{T~{BolgKEM709J@V$;}x<%_2#YQMuY;fJY+^(HjXoYYjtq{YAe=m)f4<)#}z7X zsUZ_f`a##09$snf&w6Lgo8YbSBXDE#H!yq4Vlr7@iwvD+$k&zQaP+k)@yW@CTmEan zCh9(fy?O!64LDD>-L{06pIiZJ`^||_pE2IPW;82BQhfT7|$4dj~^5) zWLhc!`LO>v)5g_8JLXR!%I_PnZp3u_%l``Y7IndTV(&q2+d=TUE(pwCZ9#T!2nIF^ zDsViR1qY3ev%+5|5%1_1_-)`Rcswx;sBDeK%3)JrxdG-KJnS^IC7nzWvHk zNsuWS^Q^Y<$Upx)@OOMRSiLX{TZhhJ*VKjK z$j>z(qg|Ppm-exFtyRo!p=A8-r3z5r!h($kBG^K32mH4!4_rU(4>+S$@MWziXzs5B zpK@H8W!2^2W{x4AQgWM(o*|6qJrX4!-9pHY%10nOUk83rE(3Z`?4a#?#>kO$9)ATwB_E(t^)jWl_*{*cNgP{L0n`; zan=GoBG(fJl+Em*iM9z$HwR=;_7e_UV?e;TFpTprB+dZ4cwspA+7qx=$b_vi;DhIRYVew|8k`}!4)1uC z3XK0%Fwr(k$ue6*vb;zQte%*_f6|j-=#=*$)gT?lIr6bwcr8vJnMvMT*6=>;a0O0| zLFC-^lfZCO2Gd)Mf$NI{K%&7CUdxTe;*iIVZktVp283bllo95jTroI4-4+UDH`Hsp zPKVv`lVR$?8KCgt5Y`)f%9MFW0545TvSsmEX11FVEczHs776pAd73c{Pu&mE32&xr zcnrhVHJHB3VWu7bR)6@K0$E(`#uON|^9odt^JY{sR!$?U z1dG`Nb4J0l(EE(;`ISudGd*~uG@SUVaBfsGj^y)+8gP559K4Wc0sR^pLFaQ-*1IkR zRBwo5#~fS1K{q=hv`7j+tSJG~>$yE*jwMhSO@v$LsF4-+|3EqaB$yLt3|+s;k+`K% z@QwClyhg(xjQGwawljmURInnseIbbrO`CMCX*eL2G{?dFO>u+BQIb9@~zL1jh#R4FnRE0M!mnTjQ z2B1Nq0-SuD$Y|~U2L@-P0^O`|aPoIFs0$ci%hk<*YO)Y95>;ki1b+bH1rLD9CJ}N+ z$Oe|mWwW?%H&|7%5pVylubPWV(nVnuf4L7|JwkD-Vgl%PTEtuB z@`P2_wFM$8mohc%PEx?L1CK+x>aBKPz!sr%aBtgn;P(ULd)<4WP-iMO+x3u1`1TsF zT3^9V&aPu7`P>3FclAg`nj$>QFL9UJVSS+_2bKlB3Yxqrg3E5z{c)d^V9wZZax`Z(5o{RI2&b;LgY zVE}M^k9)#}pnc&kFfrHzHh60R;oY5B{|>|+Ra=0_L4Wq2xGa3QXDYFM=t(}bND!F$ z9Q&iZ? z$zlbd?n4)T?y`v_q;l(?csw||L>ibrkm5yVHq^PikH>8NTihdB$uKYafn*JbyCrvW ze2xM3wofXsF;EBl8!xfJPSbfWhD(4p*Aw^^p#gwW6V5Ce!0GHoJeFci!W*~1iYMp5 zfna~qe`ynWyh4U_jl_ee`_yV@KRm;@`c7d?0EhSPTmaXEe!@pvQgB$mDeg-t2WA`8 z0sCwtoHk^D1^W)O5*o|M#O@xp)wmZ=f5Dw`TbxOm45!Jc6DJ!Myaz6tGhoLQUHI2N zgVdjXjGeB0z+yZTc(HFe^LpS0HolxqN_;d3@A7JRw%iJCw^)jM3NEpWe;DCI$^l?{ z(+xcQDvUkU;Q{!91iZT12dr*b3ZKVJf<{r=@N(1y&N-Ki_Z@N~V;QH(amiQ``7j># zONc>f?bE>bog)yD&1=A_d>v^(5!NnnI7jGazY=75H(( z2;9E<2`{>O0q2wl5zTAzIIg(b+V{69dDxst$f^0TII0YW&CJ99z8wSgk)N=4%QbK~ z(wo(~I18M6uMV#+zlXOZJjI@e?cp0uHMo6QEbvMTz^%6i*s7j%(BZ#`xDVQsy6Xg*|tk2oPw2cCH+48`|s<-L9|lMEie1HRf( z*fFOHJJ!pPS&2ie@4hg+d%;4`m3jxvJE{oJ59P4!7gfQnr;os!5;53wB^tChh!Hp< zh6moofM2JQ@nmZSVl@qbYz=)FT6qy)?5)OS^QB3h`E0U#>SgBA_k#L<)|-?j+Td$< zZsK)!qp`1EKh}NN&FBX_2J1WL1O2E0_MC_aJg6u_pn)e?Db~TtF6Vk3c^V}4qB&T) zdogxVwZaMZt8sJCbFj#{nb8Tl0X(;m_6o#c?t-GBOfMh?JQ! zKKHy;h>{X5r758(4T?0Z%%n0Rq(q4*D)G7JC@rZ(OS`_(Fk0HB@w>mj;PdeLxcB`& zukk$ZEjWJSsskYZLLLisoT>ZyDEgxQj2kLrNgm(6Qm)z$?5oM*Zu+jmq$NF=)l!8~BefaG3TpZSyMEULhs5fOK+-?}fd{6JfS(`MV z`Kbn1SRiB;(l(J|eg}?!*NMSah4|@939NiBMP6h@uE+MGe*OsPyRS+I%53Sx=>@Q} z(1JdLK?xlsrAfptT&Z*3Q>N-zny2n>^tCu{IQal1 zsg8z!L;j=tefP0)kR65WazGuO5p+c=6Z;&7;(*@+V6&IlvEZ)lJiJP!zXB38a$pLH?Hgb~-fK9cJ%oK1KZXI_ z(^x_5D4I8I1v}ZP2s_?3qte%Gnyj3QYJV1iDka0BwnolEE}Xqr>2sXF>m$~lolftR zPLcF54(hI&(z@-+bkXEKXWRJ<-GY@!xnmezD!Ky$bK=BCW#2`0gN!M!w32MplqqU% zJ5DR}X8sDDP&&hic{ZrCknt;Uo!l9A?}{vxmh0nF$MY01Wdklemd+N*g!5i)gK1cN zDlX5hL#M1-%skP@j5aK!3wP}y;gAJ<8z4z`pMbPq%i%fsmAuX6;auFBS77kh23IX6 za5&YC(po9hZ)8Q=R%PL>OSx>2*%I2HuwBlEisVC>=9e9u zLdR@6|0$k*usRN3?T*5|TUq29*-o!2!f9YxD0RHqNp=hR(K&e(a}Up8pC8UcQ`t^< zE%+R|pQ^C*UM}62e}{SsZrqM-<4C*LgA9ee^k?SZg#W}Gv~?e0s|H!nr*K#PSdj_Y zy;q@Z#iw|!YAU8vN8+1S`G5sy-4kZGKGW~vY#OlT=VM=Sk@v#ClwY_W3nW=itb2%r#*q zY$U6VH>p3rlHMQ9L9ON%{Mh~&Zwxb|Wpd?MMyrXdF`)dgSh~Bi=JwIpKk#vx6-0DOIgWREHt3So7&V!<+G`hGX5Mr$+kjF<&v~@WH?`%(C$~8gj z{`nf>z6@u+&tu_dbUesU%VHn*E}Rcj2uftXp;Dg)JKvDSWS;%yPB^;L ziT(Yst>Fo7_P1hg&thQ2)pm-$h@dTaX`3|mMW59AgJmH5r9zy5ec@Xas1<{vhQ~hp9rg%5BeyNbHxYC_ZrL`7t z%zrI+sXmIGkm#6#cM3w?ZV_I%_VF6dUN zc-r-yxcEvqDO{b!DwFq-+-5^|J#z*tYyJY~QXb&#Q|2JfYQ?s9YtS$3H{N}r4B^`P6?ocXRdh`!hZ|j7ka#Put0|xZ%Y?7eIhl(cj z{pJ^|ETSFV`*B@$GChoHgsj2lOm>e!eM*!E{-{yLH;dBH?x5g*E34AKMN`|U|C6}0=K#`L%es%8EpBu znIa@4N%_1k{YqD0cCWoyVexCeZr2#<9nH7~=91Z6Vh&%p5anb=!mEijMP zU|`P_T3Wn8ym-uAH17Mzmq)FjLGzdJO@EY_|56ubtbYwn`~Y9-7NTA+FAn%QkkX~y zL9<7T3|ya`Eh~Hk=U$rPwCyo0W{D;nt)<4jpBw=J^M_K9sGO~qsb>idn_;TW0Ge0- z1@}`nG>3Z9f_-POP^=0~=8?2h!3|QA(;)EbWd6NFT_Lb*;}wpZ3UI4hvUnO85l9ijkY)6hV~D? z9D{qhAhSLZlMFmD*=htFj2?l%Zhqw~p6kHX8&14Nj|0hBAH(5_DmZJ0mqW{l12DC3 zEBF2+$CMW?60&5<6gHy{lE)n+qvgfitu3`M$X$co`y9iWi$Y;$^;m@b>6};x$h2TJ zOX#(tQ`--avAQH{IvGw5oHM*|QKh1_R_J)E6%_{F;mzh;;BW72;J*9cLd9uO6lCc@ znr{Y!eI8>e#zWxgo4qjRTN3<`oWXk!&moUl8<;^~Ciw?Tkgls7S)Q?D?vE}5cy*$} zmvi-A#RGBRM~)J{)Uq#Iwa94AAZm(=WhK^M@YK0a5Ldnj^`~awa4#7=e)IrW9`Ifq zI53D;J=cw}F$T`w%_L#TGF#Bp;W&PmJNLm(j_ny5#VyYr!lr#wp?_+A?D!!kdX?6T z2F7+Id1e}AR@B4!K!56N-v(W|GhMg3hk@s>O3RooL9oB=p(+iP+A8B(-`Y1=`*Ezn;LjltC=GsSd8FU*k33 zgwcqG3(yzjOv>`6WT_el6QkdYP0x;I!={R0v+OaH5O2f#yR_hr#|Y$x6re#s0e$}7 z$p2YpNfp~i0L=`<|D?k>^->#XKlq9(w_l4ZK98Y+@{@_Qt`YeSqWSBB@rG&_*ho9T zn5I@RyHx~wDGN|1vV*o*jbaIpzw?8t>*(A5HvC&Mh}kBTunDop@$S=+%&TJnZT#5= zi&vyGuc8iq-LJ#cQm4rxg!jBn@*x=M^xkpnu}yrNmK1$ILfn?g4gAZ_gLr3!E@>#) z(zi4ri>CPwlKLjIVKXY=9UlUfK5y~9$PE@JC6o4*UHssdwVY&18ZB?|C$WVVN!o8@ zMXokf^pbS{GS7CjIN_-!**B~lSKFPl|iDw4jRpni>h2nI)d)sWhhI_1do%U3hl8Q zMAoO;!D#Xq@srWH>}H7?e6&}^#%cECH_A-dKbr?$?>P#NhqqGu?R)TP>OkB#dd^@OW z#L{5ht8C$kLgq16frVrbq>v%|s9tzhra7d5jL9_qO~W1N8TJPcJv5-VnmQQft_agx zf8rubY38|ZCA|(@!L^wG1WUoE>dhBJ`1`NiT;Fljzl*V}scLL}P7gjkKa~CJh@?Yj z1TIIzX|%oa7VpS8fvCV1GF+#!r~xXVC1h*cjw#a-<;nC|WK10nBKGRL2vV~X;YQsG zdM=#v+IqWqJ=r{1DZJY~iu&PI^k?2>*H)%?hS16P9T%kUO2t*>keJiWxt-8tY7yJu z$!r_a36NzQJf`EOkbd4ha2NgLu41^5D}Of18!JXVfGu;xVr#83Tyf_ZPTo8b>x~}q zeTD|i_WpXT^>?A1qw$!wJf7JlPD8nWw_)gIS==DZZ$oR9=-|v!P@iE=MkOc< zyFxEgq7|Y9PGIlnIN;-|F!IGjP!pYm&M*_yv6iG^<$FcTmk%M&O@W*a?}RZCexi%U z4{+C}9-KPu5*o$DQj@}_!|j-%?i`&ek%7K-(2 z<&K@Z3lnE6lD&%zz5XkUpM*|c>B#%+j!YWwBo_`-ro4iC<@@MV;4XBIea0`-7P!do z44C@ty?FhSBFma>g9i&@Xjj90k*lDos0+BWZG9qk?q?WYc|458+~0)t78y)Y<}3I7 zbsY>M@7%+q{stCGZyjy1vK zmsg{y+fY`eUdEQ6&%l!tg0S+DEsed@!2&J)0TkYfend>8)~G`wpQ@pF=ip0dm>0`- zJh_Hja*80zb}Bq~ie?ivg>yke6|K@O$cdK|G7``D6v?BIG3d&NAlSUx~mOnZTBgRAqDf&#{NEC74Y|94rlOf-t$i zEOEtoc>30WOwC;}rFsTGFC>~0%;f0#(EaSX%Lmcr5?l5{%^E zLbK4zlnb;aw>l#X+m^yKxJNM6d;mSRmxiwFe$iUZM^N^+3GNkcV7Yl?$gfG0g}4i> zn#578*z6jgGDHoo?#YHx3!mWz7(%kg4#4WN)%0x1Az{V}Vl%@nLHkj$;7gAu1!g1k z9jDN2<%!&`NMUxJwu9A0zT{owABkS2yU?wd%jkjM3(Otz70*|BK*ru|mNE7?%v0B= zN{Lw9n;XOS=ccmG$uh9?@jlc(JcsstJc6D_a=81YX0(18&sSacfzDfRxi8Z!@GFaB z>q86aV&OfZ-?W{*ZV-`8P%151pNErb4e5p90m%4oFHE_wFZ>1vVcGRud>Azem;RYb zicj8RX~saf+_eMJm9*(1>w?#<mv|nkxFkgGw5pyQTwky{F22Uq_l1ziwKH_{|2T~Lic--Vy-W5EuqUM z8BSvJ%uP7w1a+9D9>WeV>c)y8rQ~>}6T_7a;EZTDum4#eCru2ccZ!#}H!~ifr1pPU zu*nU#cOi_{yTD$JJxTS4w5a>%E^6s9!QPPHXfD1E|2>hTyck=Nqkk~Jojt<;%ql@= zlQYXyie&8(k^GevGkC3$z2cBX3pr8WVe#?d<=1b}E$c8H>o^XI z(yrL^XExUPDzPfLhg|IW>8!-$BK%WUV(#&p+lDs4Q-#ZZ=g1WYFA#`UczPbO6jBAjd9LKbtLqtgB( zlr}h?%4<7t!-)*=wp|K)XZ1s3$Z(i>&mNy>*KjK4F(fq9;rk09E9L(nYPu^gN^ih@ ziZ)C#Lmg!LZnB_PGuh1X#ca=;NjM}im6`o*#IdtbVYuUY7X#}c-n z>&OJ&=I#aI{M{xVzWW^ouc_xZT}y{c8#Xc5LSYx{y<$+hk;)QU<#C#|6nj1?jH+P_ z8*mN!1;xH9V=$~k?;_R<@m^==mg zZMP(qu1>u1<_@|AjABDAr*lX0@*w&2Wzn{*M(%ciKH^4YxcexER%_cbE5{||ur-S- zuAGG?x4qD~_9i#Y_Yt@(cm{KKl!!cXb1+OInGVd_jBl=3;%tYx>>pS#En#2SeT)S^ zn+h%tEzQ zQCKT?9O+uYHm@gc&S_N~Gv*xk$D$SQbZx{ra@R$MXYA=j_d3$h z`i5tj5{pXz0rsC(!bHgiFx(XB2!DO>;v99RY_yqb%Y51I$)nKV^+8x5Crg#y1JHG6 zrugWyU$D4E78{+a@NqyW_=ZMO^>r(8jnUHN0W$RT!&&}p0770sIxds! z!DS1&;lCUA>Q|)+%u|~bWW7~TuuPieX%2_2JCot7p>XFJU&AX19)IPYC{A;d2n%Yi z;my2_sK2O>i}^Ky(sn<@Ax?2zS+f+IWi3Ox=Bki-U5+MeYB2kcN|axp$Yu{L=Ou~< z;lJK3uqbQ`>^{Dp`n45EEqWyDyD*)b^*flN^afDLWd$hSF_uLh)WLjnU6_zE6LqrW zG2q$~a9Z^gKTJ&F+oR%eYJwJpdPMU39-ZR7N zpF>aK%fxE*f1$*>TBJc@yeh7DR)*?_&+z)?GkEmm0*t?9SpU%_kt$w<;Hzbs&^YiY z_fWEnSA*lcsB9tHUwOm#bb3LGoD+qd(PZO0m&2@}lblF07_N*rpb-5Jtbf5I_z`vi zrQ@P-l<6f-ZQ^3+pKgb4POh}>S`JEeCU8q{m5RilNQI5&G4sJ`g&_m*LYaO-LNEn2twuvjui*vBLK&^t3mL)6A04 zJ#jF=C65dmcru-P!oDXEt`*m{HTN$@FiCJ6L$m!pj#OK-wxEj;c?G&WbIV znzo!WSU0!sRVe-!xQ7m;DZtOQ5BUkz$*7^R2mP{IGnaYhdvK=4TBP96&1b3hf!ZwpK~k^QWjj>Dpr)`Efk8zken8-$@j3uOD=#y~7PlN5ZxpS&;JjC~goutP2m; zV!s~2H}MHB*nJoCQQm}sHi9qsZvZ)~-3G-)gUKUH(2{?sLQBbA-n4udUovMZWM(X( z9iv+Dqo?5Y@zU^Zs2Pu5yTvB{X_z4uj-jJ-h40psrQA9MKSD}qtNl&P93ng$N4~(g z`OmnK*>h=@7=#^5MZC_WrCiIWSA3`H0H-k90qDFfp6mFvjS4@sLFEWN8fI^c7b;S~ zC~hr8q!i$zd1oP2&yW5%sFK&8S6FrFKY-5j+`Dy^oJZ|xR1Z6gU;oY|iB%6EamfbW z+|Qm?aVJD!Gu!a6&2R8~w-YK)PbOXA?r|yO7`OeK1cjybKz8nOCjBCe(|_a1ZhY4z zFY$hG(AVTG#(fkId>jMUgFA)(l8Dd98N{vKD}nC!|HD3oznseqI~3WU=Q5`^aqkTu zV8>4tm}+lLAL2){uB9<(AUTJ7ap57gFPDU|-6!Z{_8yUC_bsduI#lQXu7&EhcDS~1 zF}G{G0YsS$Lf!5N-1%ug)*O*xUtFD;=s+>dzL0=pZdkEG`x)Tjm(CQj6R?k4M4VnH z-oLnv)hfuck*h}Wl7B+^iQk8y`KUIK*Gj|27#G--yci47mG9e&vQ=xj9JPqK5-0fCjclG=_ z@iaAoZ(_5KPkgvi07gcU_b|aD{O7>rH59?;(nh{@_G+lB5ZJ{x&WlX;6Z}I{aZR%+ zB=rC*U9p*>hpgi*vUrGVcOWhHjK33c4br`9;KX4O_3dsHl@A<6V}46BHe2AcTr8!` z%0$wZQDGXE`7Gvn0Zw?&vAIioc-Mz#_<+ar=(*}+tnrotN$U^d=VLcv&dwWL#h5VG z9RC(vj{oJx#tH1T%bwsrz@PaT&ZE$XXE-ThB$-wffZn3PEGl~}^_HvfSA|~Gq>sr)VVd1&G;d&OLLwDlFksH|R zBTr!S;e|qf&V#bHd;^I_cXF0fWg!s1O$gr@=VPvx5F=!``q^tja)o&@SqXAnJ;HRuNDnG8Pzi%*v70p%w#S3q7(X0aK zwLZw!Sg6qJ(+S)~`)na!Y)3@jaNLclw90h|^Q}>XB{So}Y|I1xb;4fgNt_68N}htu z-1VGUSOL>2pTXv|wDBK*>r=vFAuHh;#~d%|vhm&8q{w7bG?4rk30N{4FUk#d;zutGCfR5$T623SKRfs@de=2^n?81Al&zLc^;I*nAmT;^SZ8ic^k|LFcgZ`e5)~7|JS4-$IDr zH~!PUqB_@rDU{H4@)(3*>Jxij)lg- z)Q~pu$(b){Vz34H)II0zdy@HBX)PAO_Q83T6z;R%Pwdp13U^}_m_}v<8+tgCd+wJ6 z4y_;I=##Tx-gFa8-bO-g%VJu1YlLXfw?;g9KuYxF^9H7WHIK8{a1Xng5q%vwjUA00 z363F7^i^s!+qwM=D8301nBJGL+|89HS-3OLXhrfmcp1K~JIr=ItHyRsLvpy8L$(jB z*#--MZ9Qg;(-iS4`2ru$t{MjUX`#}*ByRoAZDJ3ba7r1N4*})csJ7=27d%6sZTGch zC9*Mfho9tJq&2eTnF(D{5L(g>FkP z;t`jtfK}PJTXiJo>A8v>StEt}ucVQ0?L6>Y*^EnHO&9A_4P#~<-FS)jMe{W()M4N! z%vf`vYyAgI`x?i!$BtzhET8*p9t-W)M$?B)TI~KB8KIl6%Or~b@^AJSfR(KQwHFTI z=lXsObwrUkWsM`TPxl<`v@Ij-5jQ*dC+i-PnJ}T`v%)YtEqCxK>`nAP_ z{gS_df848S{b_Z&^q(xv3wZ)NrG*_MWvcv~=Ps<_OAgc%;zUo2+~8@IF&r+D~i$1rh8fHM92byL*&@(+qudLp)L=eCAsQ~0qFw9C=}r5m21g3}si?&CzH zp2vqe9^uS)y@Yd}v9x)G6ys|@!;|DLG`atSulv@5l}hLN``7Gg%aXt7xAGB|ua}{K z{Bo>b5yeN;w~0UBRbVQsZ1L)GU=pU2*szyLyhFuUa1Xo+N&oa|U8~S94Ob#BLsw`h zb0CeVhd9AbiPry?XN@Zy#07CFBy+n?^v!24I}|;FpQc&NRpkjp!W)Zdvr`3fU;IV7 zixF-5r_=K1x44rU={Pd~7%m-H01NH>Kxe`b+_qQ~!|ENFZKNwZzf%OaW6r|rrYfOZ zkRfmcr?KKE2J}%RoGBu0?65w}%kcNPF&~szg!Ku|+2B*Fn1$!3=<4umKN{~SN}W; zxw&&$ucb14+^kOZBRhF%FToq?+(74s=8M*ER3v}DgUnjUp{;VZVjo>@BU?C*$qrY6 zJ?@NKIMGbt2Dq_El{xI_-fw7auzLPiBg= z_m?YN{FQ_rO=hV_eu}38u57fX!?lL~9P`!4*ZJV=`NVMV(E6-mmJ= z=@m<#!i=%DIRQ@Y(*>ry8)U1pxs&}Tz(P5f+nyK0sz0pZgGycD@6KW3w~apqm)o8N+GfJ(b<&vm zYZP4;_zabUqj0R}3UcY3fgLaGkaMzT>$Gp9=-V1L-NFP5>xQr?t{GfmlM-pS3?Us~ zPxi>#losDp<&}MJ^Rq__>zO^0VMoCPN)niXga4S&pQ#$GwE=Q@i7nFbKTkS;Zn3SC=Hse_K?=1W+-sZ zh1={Sf5!GNrU@PY8-Zh33p&>z@#zZWw)J2`K=0QxxRwdhBsIzI1L z;DxiBQqH{Nl&s`%jL!{BJ!yrXO&9Tlg4qF_fMuLR~{)4*nQN zovj*zS2mgkCoZB%&oZ!DZ3>$RXjP zg9Dq%VqymV&|5DsJ|y^IQC;|O$v@C8w_}1?Dr6dMDKyN1#!1SsOUrlB9p^gS))vW~ zKqEF|<{)M~JIL|u*VRmG)g=%`pTWH<2Vm3G-S|%n(d)P!6dsVpo~JKxo3k5*_twBh z*oVAnC-mM0!DHRUoE};*eoHm1|2T}zv2RCzJyVQV&?m#=L8$z_4JH+q<2bh>Sb3ll ze!CqJ7(n;<;SpQG@`WS1`ESRN3D)f50d4lnlXpD5{1m?JO$P6IGhyXOIVxLeNO}tE zG3D-RD8C&~v#;4Oi_8Eao05#3ccKt|PO_|2DYh+0n^m@p*t!p97$VyR{c^}FT$xG= z^%_OBPWX-$&F_iNy40hVT#x-+);XAW*_^fFoa8o<^6GzLLN#QTi zTh*g@gch=gN)zB&w!P3VpMdXWw$S6fM%%7Hp67LAd%c6p}C1^Ye$k!{bwWxtV93xnzrL@M*#`Q22TeH=J+6 zW!e|&&!#xkv$=&|V7y5uH2a(r6&J|Ry12ahp$DI1 z=LLVbn`;e!f5wCNixm_+w*ge8V)(Q|H5?hKOLp(}Lxs&1yzzViCM|z}Ekn&n(PR=; zU)l-#N5^7V^8$8Wm=~Od?%qPtVEW!{PWujhO@Jz*F8# z&U+9Sy;EQXTkgiEA(FJ+(Ux`yysVo;-_V&;GVJi?1?MI=YQty($a!Ysb;y5+8~dr*rb>HOV(91=Ncl@flXR zKfSP3YjH9;|{s?dwqOk&OE!H;GhQWGU0G8H;N~lo%yNqX+NjR~~+koYX>o z^Qt6RA#`7*hQ8+GHp|h&L&N!-JH6=x9%F3_<@w`zQ_!i$?zR?u(cm2-eda~Z zc%C-j9W{j2`l-RVTy4(GK!^Wo84Zf>CZXAkJvh}@6C)44Km|uvd|fY3Q^F%jY0d(Q zS$BfY{JaBZrGuDMmklea^5<&T-w{9^$r;po zEQ+M7YjCUlQL(PVILb<%LYsg8g}y{X`a4DiSL_Vo0?upm$9Hx)<|%EW-*xhWK9+)Z zF^Bk&l45Fms7$K^UxVgT3(7400Rf83;F7x$Tf*D$#rbV`M#xZ{3h@-3+#rWDjFVVZ zqzdyqB~OY!-lF|;RZ9Aj0z=JaQPi_K?nG-SxDWdua%%> zA!%s(V43iSF=4$w)tLN^p{(nd1wF9Lz?PHS88`oTT8ecgAKT8 z#(us!^gcR|tl_s9Pr&fw|M5reWjL-_?vKiy=lK<*j?u(yIZO|91y>D#ahd_JS>QR2 z&Z_5Zyka;tZ=nxw{FPS~m!bD(K_^u@#0P8N#FWQ5yh)`ZU9@|L52xu-O^_*t9&>}+ z^{cBO`=ml$69Bc^)Wr94qftwx1b!C|$JG7;e!$L@x-Crri3PR%MdKuX-4DUHZjoX6 zC5QM|4yX921J|KqgTMit@k`(>4JW14Abj6;1T9n_f_1Dk)9qK{bUJrKP)!kN={ZA_ z&ny_RPLZqe+{6-2Bgr$7sQ;PchxoLSdEG)}wxRBTI-T|-mL~L!a z0i-1)u``o}UZG^OJrvk*jkaQn7iIP7l9s)GM<=L}DBw{H%oS*r)4vXT=Y{d^r>Qz)WeH>yMwLKx-szyiyC@wVLq$ zr8-w5*s_W`Z94V$A^(fT;DDil=#i_y^q-lrWe>hV(#9;%^Klj3UzCDcA5>X) zq7yaPET%E9>M(CaB0N7M_zz~0+^!J|QBO-*=m*8)>F~wO_nj_%aNh(a6QsyNx&bZz zXtUP2|9GQ59q4{7Dey8zFpc1KpfB`y54r8}>NGyw&Q$ z%A%Zkj}y;0y8_#pStx z#V|9PkT1c&&K9Pued!psI}Kmw52iU&ByogI5Dv*W0XFBtaWDTEYs+SGU(#)vrJ@~7 z{v3(hF86ZQ<>^SDKEa>JRM4!|VDsblqr`0m7#J?eD#vG#*~WC1`=2>Yc)1^M`Zn-+ z52e}pH;#Bk=x%pvFJmB|r(S z#@C_7r$rDsLr`HRIHR8SIZl7PslcJoAg{SaV3kbVG_OBg=hj;6`kaX^itcd8T8+l8 zwqz@{;;_Wcl$9wZK}WbIB;^~jG+_?Sw|#<&-z2G@$uPTsark+zqd3#N6}9g4;(%|b z!NBY}%w2vE6J@`mnb81xxhp|5K2M#of^2|hC6tUbW7Yn7n6h#rUeQee<;JP3d4&ad zw0eS9M2JW}Ka0OqXvSI#AK@}vb29VGg8CGF;hb29Cr3@k$w$XP_=bh(H}(}*Dw~L} z>Z;()s_`)EwgiQ^3+ya!bvp2?mtUy8TF4}ghaGc+fNgcaLrJEnn5)FhwVj#uu08ni zRu}rm9|cJZ4HoNFYV&BuX(Qfcq>QGc?R+0uZOf-Rt1bs@6C1L;QZ}3LYORfq0 ziB+T4Qhcs1JMg%HpPR+lPuCT=>cvKqjIGE2_!Fp}@4;XHnF4n|tQEcgFAs9{#oQ(=k$ zE?y3Rl*4M6KCgs(>J~2Wj4Qx!#TYPh*-1(FXVKe83?2TF)x(w|#ky74E>n9>E7bz}~jcXyu|2V^!)%cM~yb0KWRFI8_-xyN&+Tl!R!8GK)UxHJQ{)1K3N-XQN zIrdKTeTGVEU#7gbF?li4ANjNS!$$bC&l!7&d{-l!)(*EKz3!{0LuH9 ziJK-hh?YIN1Xb}z*%b##rZnA!P0TA5P4T+OKN|7}>GC2bn(P8UA4OrQO*%x(zYh0b z@@#L519JU#@MnD`+`DIkaT*hyGBkog-`tCibQp;oJ!`pj>$6yWg)v+c?ZDZ`EZM{0 z!F1VS3fs7D2k^l;SoJQAPQ;BD7&Be`e~07Q*|nkKntUnH*1rV5hBcwsdJr8kB)-kR z8GMR)IP90r=|!jud}ux9vf2zAZtZ|~llNnu?MLz4eScZc>>|85vjT5cPXTGWJm`Pe z4yoEUtldVBruy?-dR+lG=H3hVvL&8dk)cIaYQ?y{Itkr+{=tRJ@vLLpeqJfvhN+%B z&2I|VCH+88Ou4VX*u*6EL}qgR*+yqBUz>;MecPG(|9N6NRK(d9J%E2dLFpT0vNx~c zN8bSc{*!$08&(JTt-5SV(`I&2B7t%T+TpSY7xFr*kQ089_mJ7ducH~|5 zz2ORz$&q08?av^_UKXaLS7WODYqZf@#zL=6WRFI-K=ec-5INbg!orWN(WQVaI&JvT z%|E%p8lIe)*LBv_b`R^19>R6?mfV;{!`XmY8Eo&YsjPp{2joiKX((*uPZ*~{=;7Uv zv{xRC)rFkynK9_#v5rmNBWCL@%HZ6?58%>1mJQjfLQTp7?=bWu?+`PGb1$05sz;pw zf8`aB;Qki)Ev9sDW-J%z?N7J$MvAKMNJE{u9o~CO{1%rIa9feWdiLltaeynymDKRF zf;^eFv-EBH0Kb)v015NlKt zscUBjJFq;H_xT@1=lxLg|Hbhn+Gx;J87)esqVD^=N-47xiLxmnlu;`=??}?ahT!{t1(KY3nY%T8CZ2nyM}ZJVtIbnch2sc{wj^$G|6yj^ z%t82q-!N;yAnK~g#lZJ_AiG|L@^*ya=d>=6H}Zlu-+Ihl<_$q#a!B|5GZ-3Q0PPb* za3J9p*VsRbsrd;#c^XaewVbv&tMy9w;}0d&*g6qg-vA5;g;$1J5|Xi*}` zrrwmL=i5@@TAws~QZ$x{CLYHZJ^ygDkYV~I_@S)w-l2s`EAF1HiRM}J_>QqdnN`JZ z3Uw%ebF)vO_dzAxDC9z(1r0(s^F3_j@fu9@KF)XLy~oq{YeZvO%rR6Hk2?RwkiyYy z`kOeJ#+`nQp_O}aTx~T|{4CEt25HivM`CW5VWsHPH3!-ipuzd-Rd53qEh5Jk&tUms zS3HomgN?vn;87dKkF)-c9Zv;r)I%k*==2edpSTW2_~xV4)pwx(`zywny~e3igZXm7 zg|*sn01XZ%3}5d9E7)ygwIfjER(0<7P?&C6-Vk#&&SkXbuc}wp<2h*h}J7a zK;763%r{(&5jvNl)k2MH-{MIoCSiP?ZWU!Vx?ppuk?<53>}xY-od6H7p%8M(mvcHUV#-S97%$<# ztFiSgW8)eO33!9D8K?O23pq45^a+el`hiCsgTb-F1*~4?VB60k*q%~O=N?yrqpu$X z#gCx8hRwKex(Gu2mePhe3&?$)2iE&l*4guN}@{MCz9@Gj;emBn3z;QkPN{Gto`WNXCk$M<6EiB`0K zG#XC6Jd87oUhzH$^EuaRAMw(FdPq+0!;yVQ&`{`g3~N!NiB^yCh{Q$Sy(E_gyLhlq z2G$_IGFhzt{Rq7iJ|7SEIb&AsVbHL)#I?iazDcn-3M`GD&l108QQ^lkAgxh}o-10#OJb#%=9?2(jMMRl(KWnbaZdEz zaSv|Yk`G<}H#j-d%Upet4$2H(N%v;{1GjZTR$<9T`Y_iFew!6j*})-frSu?pdTBn* zUptCc7|Jud2cucwl$oTzmyy1jBrRGQ4JBdA;b`i8So+^A(vO?OR!)wk*w2gLv~L_O zUACXkiD?p<9v;9RZaT{cNG*cil^3DvojkxgflYj#x7oe31xxf9dp0+NnW)}G>qZC4 zdN+}zy_8vP_Ydylp+VFgrG$4yJ+M;99-H6yWc$mdNW%13wNaWdgU)e>K+`3x;*1R| zkG8N0pYO?{4%u_Jl0>XHY$9d(AH%#2ArP|Z2;8(XWNF{?`Ni?BZ1$9NTAZdPbg~BG zy{Z%JB_G84F6<>OC4aoxCG7My64}zIJhXbTj?V3Cz{bo=+=rTU)NF`>VXxkzgK``y zy9YWKaPru`f!QzP-+^d%rv$gLfuLOau1BvBc>|@BQ}Mc{HM{#qc+&)BNB^k z7sWGX639-KqEKF;W6+*D)dAw2NMpZuoVvl4t<~#fA3BRe|O|)TGVID zo~BJ>3DGGa=k^wCu9&lLlWIgCTBc$Ae`AGf+YNr$kpr;q)MYT=7LD3XV<_&nJyrgT z$GSna)oVvi5&vdYG(yb`zRdXy_ufqq8f;6bc3mb>^>n-!*#Kq&-L$nTvhI5iELkWc)Ai4V@xUdxg2+3X7FSwDn;t@Rk)(~5VKVzAIZ z4H730VH3`^^Rrd+*x*82=JIbXY~T4FJhXOD&iw?a|8F~Hv<{|CWXSxEp0=I&{18qx z5RuN8ZJ=^IAGZj7%$Y^Exht>yaF=vAm5=o&VTB3?r@~RW)&R>-+2FJKe9?BjWx$tA zCo6+&K5Cc^ZK`et^P-u2U#bZv$lSmQp6Mn6!7rQyP6KB>vq_?3r&@SjO)|e;aA5Bxr znIa;q^&j}kDo@xVzn)r$%@LURt)#b5f#(fgi>mDHC{}7By?01v>Q5gs!%bJgSvif> zP8dK*hjm%`y;Sb%js$MPEg6s!cJvokw_vKez~l*#Lw}D?n7nI>;ND#-@=PMsSa*;< z?5XE0dme+$-c$_gyot|#Ia1aOBjDTTF}qD8$Udx#3%|C3MDJ|4iV?G!pWl1b(wIb< zcjcLe+G@6c)N+u#)&-U$Id0=ud9apyATD#gXCpGP!y|Ty?8_iwKC`%h^LGk-uG@S z8A1+f!j%-!th?jDD^riGLym#{yG$_IGYWeRQYmbQ3hPg{=OyNLVe5c&nx`Mgw+MZQ z4L9}RYE>3w&y>Rr%OyxTdTHsfDtI&EBBY$0#JGT92(;FsoCk~X zuEJQ{eEE&obnHbuHzT)tc!&&{3VE&G4iR&-dB^Rq(1e9~LbgPH0yL7}##g`S%aL&h;Am{l5KAzkM)wAxxotik*4@jb+a+_d|kkgJz z*~YRS`Z3vrP%4_I$ddC?z_-DHg(tRgL(-FB{NNCqb>9`q;%+x?9u$WG&r|XIN|SdemtB|4Zew*mHCOf=%K=K|BrG6$AvO0#zhFXKvIZSwlmgi>q2 z;1|tvTy(l3it!MZ-SENtUAJ(u-d@gUQ59!jx}JB4dWNz`O8|x{(S!br{P~eaa4vT( zq(_BPqtP?Slks9-X8B^~o2R%hb}z-5?x((XPu5>sj2)AUgznY~{L$|UTgT^v?*4yp zqTZSwK7WMg(@NP^!*V|1n5AfHUo#XJf8mdhf5x}Iu|RUl1m}v|mF_tkag;$CiK?4K z<9ZaRUETvD^$tR+PO(@#KO8DI&qg2lk@&PNmA+c7q1)s7`3>WY*nQnoI6c^irSJHM z1rn~JFXie?M&-B2@NOh`zpe$8%|YnAhT_Jj!r!Q8C<;pL75TEs=;_yq66`ClUv-%u ze5DlS%F6I%^8m^YeGY#GA6Rm#5m{b0g`+cL5*?UtjN=ciDB-Zn73JDksQ83#LC1^H_00%|b%BzAeKM(;9&+v6}f z_Uh>~Sgds$eRF$&RxaY6CGFH~#iX(?3rA(1X6GxVS*loubg>Vlgqvn~-Fhxy9 zVQ}gWMgB3*Mp*@Oes5IRG2u#W+-l8^-cewZFXq6vgO*e~v_pHdYHDn+*a*5j~A`cU&Vej`Qr1dvZU1hovS+=1s@-%v-j&A zP#5H6Yszu+0`&&?@1U^id!WIuthhR%P zHfG&u)L&A~lGLnl>_2@PrWr%dmJ{g6ofG(_`7$1J)+Mv{eR%Yth!yoV^O0UV;p(74 zoZGay%vwbT_Uml3jU3|4t$c35@^nw4*3UfdhbWMitLL#UCm&j+lth`9>C|Y^i{o^6 zVQJVeIJUl>Nyw-(yOam~i2j{8>RtvD4LHurN$kY$<;57?v>uyjt?CcOgM96^1DKvk56{*za-!3OQsC&q4>|jUyi*a=nd;Khed z49hU39Ue~1SzxZ&#l<3v3B=^}#$xG|IXF8s3U|tx(&ioOxpk2V^zF@h##QZNC*RA_ zBWJ{+-9uRAg;c)QFCDHvOXq*Ryu=T3`G(5}hv0R0A@}}Fn;_AQZkbPHwHgE2wbnDZ z+sL2#+~nBQigRG8>jB$iTw$3^DcdpRv2Em;K{P$32!556V?oI*sGs%}uibB_KT}@v zJCoju=48u~d73%GwJFpPhaX-pHlwHWkY!^(fRglOJ0=-*jGK-!vpOt+u~ zFLq3mECI=Xp4&(;8(xaKxjQZbw?x2Usx z$RiVfO}6#VUoh=`}VoJ~)k?O@L`BT2ru zf%`t$j@xSR5k2K~=wql2zU(OF?xiO%gJc`_P~j2koiSyrdL`IDX%RgFp)Zi)E!+)s zSwv70Y!|$crZ>a6wP|=O$Y}(95w37?NX;K~7czZBBPZrTbi(D!fqp+#WlCQx z*>8ancvwP%{aoP0LY#K7VX`r}1&1?Ew-Xn{#nQ?8BqnQig30cQz!PtCAg+23j20Wx zh}BZ;?HC>uHrhk?Re82RXQYs!_QyA!=6Lm<3jZQCi$GtOMvepKx-=QJjwHgL_boWI zcPu5Tjld;2S*+2u3#_MC;fG7j5SQZ04&Iv1diy`4{N-J2zF7vJIb$KkF4@KMABDr}Zz!v!)5rc;4HXWvJcbom6FD>WNI0SD#FYn|2Ur zDROgG{DQLLncT2}F%ameOS`JW#7ne0q4k*|)$DBJx>e-Z>t7}C|F>}P5P^L;-ILWH znudEm4adRDeA(HtHNuVI0*o0ujGkcxbK5wUr1E0%t*!@qcX0wcE1E(7`ev}GH@Xyj zN*Z@Xn9<4h<V!9bP>piIc{jhPcjh*b`zxh94y8^jaSN7N{|U9mly9dPC{_6JO?K z_=juJGGvotWa-PlA~>^ILHJG9B7^G>S!HVvOd6}nPAbaK0c{P&ISQR0ajB@(Es13Z z_ux+Ur;sHR@SWNj-J`>c~!)O^RcDyk7T;wO$@UdrO1NQs)4$uV_-Cv~#z zZMD`XC!E{A5_%Stz}#souxjH)Iy54m4ZNDhN8UOQzdJ68gs~5&Y&n33i#E~vU(N6| z8Q@OHEJz#WLK(H4P`$qu+HH5TBB*0I$L$%IdEwRU)k1E;oDErV16ubqb02pn3prL* z^4PW?m%nSqAde}G@)inx+hrj4xCfp(8>s^{ zH{w+2i#?7BER{9pkEHn3MUcDNNi=x)3m9hMM2>+m?3;gwxbtTidc|a*@?a_UH1RG- z1x|$~`p@>iA-}P%Y!z8dxC;_%)A+8h#r(de*I?B!hUv~VAlWQmI=JEvpFeUGWCt4~ z9!&?E=B3ablM16JN5L#58KysdHnkRQV?TsmOqkjpzL($2dmZ0Iwbw1Nxc492*(7+4 zcB#>H=Tca2q}1e z%u@CrOF|R13O-lA6iOi)A9V_E^art^qwLMBO%~$vd8&Ny)OyZfd>%^Q)8X^7@4>30 zj(F;eB&%uI#@7mb$-V*YyvihHIytis;#eL#P$far6;!AoRk*uwFsn^u;A;fXa^n?3>; zO_rpB2OsfG_#`s;p-oZAmTZ4X39NeBhmq1B@#wuFIOm!8+qw)Cc|V&>u*0kIXjMNZyrjfYxJ1*kmYEvp~^;& zk|OncW-PSk2vqw$Lz_FtQBSLiFMiv|y>08k$+7Xm{?m!YZb;*tLiXXO)vDaot~L1a zyKqBIR$^76n|ze=CVcMb#J;MV(eA<5`GRdF+!L!BeDmfitaU5Fc}^OvCGkBr>?lSP zT^kI3ZbS5DozV03W|vZH;iQn|+ZVTp8cvO+%DI8OfxZMT_@Tv(lzNR1idBTlMiCsY zafdcHGo})wPWRlFV#Dr1?9Qt$@s%uZDyWqwfBP=@nob^i zcFBk`_VHHoebA5N_igIMXene6qCZ+wMTB!9HNTYUFq7qngq6o(E_ z!$+QxsN?Sr^KE6A;+YXlu{#IGwY#zZ@?UdPTx00&^D|Ix>Q0mD4MFBqB3ev3$bLIK z#dCum!0nfwcJJyD}2mp5=lpNml^<0oHmX+2lCz=d5d`Uuk+ z-*FEuYT%-@EsI`z0`f`=@${Tn{@6EVT$yna21&dEsdw^hnDH`pYSAS$3Adu@O*Uvb zqy??Xhs|)a0gW<21T;7e?nXH?qLDPd{0ZpDAK=RUYS3QNi7k4Pi}w?)*rXf2TxIJp z_`d1_=JdzFiVqpk7v)jYAK=4a0En=RE&(PUv~ zqM><29+n;6&vSGCidNSD6H5;&W#X|mc<76&ke}QH-&c=e=I5qS%JmDp&TS)n`g(`> z*N~y?r`8V90P_W`O8qxag_3x6r9Ec#b>hFKbcijsfz(WCEOZz4b*mFZb!;chye{m) z+*Gi~_cN#Ho)4BswNNj~hlL5Zit{rH(AHBIH>2Qwn;Xw=ef8jP4f1AdU(aBD!uveL zdJ4tnhr&duy?9~8H&9kf1piS+*uE+n(+^71{E`cx{8)y5yi{N_B~+M(TWNxuL~hJWLoJI0}QR1UN^?V!#D zkN7jLcSI(_Eb+%jk@@Ei7~a!14m_4ggNPVjip2R$--fgIV{7 z)tHwoMz>4OplzZ`wv)o}NS!R2#3aMw#AK0jT`+EuG61aD1T6-oeExHHSh~&(+s*WG z)TkEh9cxL{^Btq}3b`8lf%y32HBKdb0^8B+#O7PfVV{PrWloNdFvDdfX*#p2iiQ+U zbjXXpiv18L-^zP^PUB8n?#9o1r-IFw<2Zb;7Cnku13J$Jz|GN1;m(|+;2HA^1aKf8w0hh4w8m+phun~F}(>;tefWs|sG;U2fQ(HCCL+y-3GL^>`RKsW7FvFYn- z#!9D&j>iAtpSZNbwJt4Oc-V`@xW&TTMW(c*T^mY^_fzA#Lp1)DkoD|726k;6H&1F1 z#wXNq#q+gL+@_0uUbXb|M=Ad)|_O|JHLeeqY9U7SXua zJ(?SBERQy0BAIunB1<)LpiTO%pgJ^=MV*Z1l4FLjym5o*r|^C?ar?~;y}yy#bk|bX zcvYNk_8c8dibPLb&6rQS;G^i=$s~WDX2of-{Oyuu5SMWR+zno#v{E#_tIQN*q((J+7axlX6eK7l$E4wt(RT3Cj*F_6m zk1+G)noMtm1ASF@=CigAVud|Le1WSMv$v~7W4D1^TbUgjwr!Z;qMA<|y;gF`tz*Do zSTdZIH)j9(%fWwtj%e}1XKd)i<=nFZIod660k7^4!sg(M+*TO}5~-X-@r(QT?e%kP zxus9jyEg~B^8LGCq2=--FFyEyTY@b>%QAsktJ>@(OmE+J;WdQoTAHvMX zG;$$-*P*G0B-sb`;`|TF6m`p=Kl%5AP4vP*Tps4jRz3v2^;8(Iv+p35y3S(jd$tO` zv!!6_+=JJz=b}-~BbYL#k6+Zdg|VxubiFqa&Z|a4+zn$WA25Ya%e@0PKIu@>$Of#n z=)mYQ3Fucnjvc{USjf>9XsnaxFc*dJ9Udf^_U5A(I zBly?JE4jbn!x<)B1Sp*Z#R~_rEGcE0c=(AZZ|h&U|7JHY_MgJ~560uSJNfXg#~<9x zCgVJb5DL&Mp*n2_pE+eJ@3Ck0S`k=~FOPq_!{NP!KIj*Ht2b3n>>D z;>AWIZhnsqn|!SneW(4!Yag7TDJ+UB^;nFrBVPkLn8N$eei*|WvpYj~gJ8qNmW5l` zk02%LT6dLU>~YwFe&Cua+(4$Oz@Ljxwu< z2f-iraTJrP{)gv&)`(@~0w8(VNiYnX$2GOXE>YY``G!8t+=;xzpl545pQ&Xia zfotHygj%Rqx{U!@f!yWeL-?OsO3XJW6DV4jmMyN~6F2KH+n1Z@`=Yz3a_<<5XRL?d zXOXPt^HG>120UoOu|}^-e5Er9;$9rWfzfMOm`VjytP+Fv*4@mF5~0(+lt1}dkv8p) z=Qm%!M4u!@%&Y!6{w$WF#VcFz*416OXpAb;%>RN)E0V?OA38Af@;Tn|sx<92w`JQ` zf4~T79xDqKNdB`u^POXaS>Bhx#ZsEI7oTRGEe+y2vkX*ok-^c4CW5bM2J@-RVR;7U z;Y6n{{FIu;YkO-lx%NxAFn7>S%GanZYcd-hV3zzp@aYt6FbPmc42>V@Q(xYql4T<7k!K> z9KfRA?}ib7Eg;JF0#f@n*pl@TI>$|guBHg~xb=kC)LRyY{p%M0{TPmg{26*+v6dYU zY~=!}$VTW|XXp{dJ%-0`9NB;~%g&WoUzYIyx$m`^`t^5vQjmPlC zas?*4eibgTmt=p?fkG3jS*Dr++;mIAii=YjRF{JP<{`q{Ntqqa*aJ=$ce%%2uJBXn z^&B0#4-fET$#{e99oLJQ@hkC;iY!~+U`2C1W1uum8udzCzD3*}shc zRh@<*K6Yf|oDE8!`Z<%Xi(vL%o`w31r3bBxX?4bFbePc#ACx8NP5LaFHhKr-*!+V0 zF~i8C(+%$I&xSj(Y9!jfm#ZIVg(iMkG-~D*CReSJ1yrn@y84=eFJd zhgY?a(!J{GwBf=ec=K;1OWf#<$M+{eY;O=V|GbO8^FMbf*;1QGwa%Dlbi8LtKkt=$b*yv1S|on=@N{{CyYpmQ113 zLRK}zH4~5S$%Gj1Yh3A)9=QIlh9>LCzyaxewEch1OL`E^JwKB6FKFb7X0613*AGy{ z+fmFnVh!!Lo<|oPn>e!t?lkh3kf7~+jq5^U>BZ)|&^2`nCjFkrst0;NphpSa%r{51 z)kj#z5q0$Kn?_!@orT}Wovcf@NBmEEAUAv4bIc7BcovbCJb0wwCpjIal-thler|<6 zhGqCEFHz)>e4THHI}}{LlIxZ{iXCH>>3XC-25ZZa%>9$%&qBs^*^15lDP?uq`E?Kt zds@uAUY&!Q&Txu4;71$Vdu-cZsi8VInwHhgqGe;7xf}I&`Nyt@z~WH?nxxvo-PX~x zc-aCf5PG`NW(-tgR#26Z8{b{yz`D<=Ld}(tv~k`Yp*wIHAHMNnK1#8Wb8iU_nYy3l zsQ2*CmwW)H{rU7^(Mo#PXU`%mk3rw5^Wa&hNt3+K;kGM|uqL1YlT0coFKq|z{qP#i zRpvn8{PUo^D~WwuV?e%>H!#PrW4I|V2SY+E&|}$CG+&j;|1oa`uLIVC_QQt#=d_Ae zxE`i$3)bP4%q3X+ou>&O!?5;`4_(yR2XB{52hVhMW^m*?ZV25+Z%0^gdyZab(+=E3 z*I9p1iZ8}JzV0k)`&Lw~%EED;6*%?HKBjdF*;?y9FepibAGzNJR(8KAKXC#pwoL$W zd#kwO#72Q5If8v${S*HR9sy{s5vi3*QBBPi+I}Db?@u!kWsflBRAiE1<@^Fx8FH9A zGX4<7FE^twQ3u!awTH_en2tMAr%>SjM&3gs24?R(!$m~CN0WiDy$SecyaH(5O5=@Q>);}#*AQo%fgRn4=&{W6!H|SC&_RdG_1L~S0dO+^Kj6bKa*b1@`R4$I{s_bAW%-6 zftkYoZrfSm_Fs04O2%B{sC_eT>G7w5qbGppggD&d(T{pDJK@2W28cX41E)n^hEu(o z@YZ7w9WuAzy0VQ?_f!%@Ytxounujs9gPGPX33gcV0ya)d zqt}h_AC-#`_B}+#XRPp_1}eO`I_|Q(;JZ7VoDMYH86SAJ;?YmiK$8^ zl5V;YUY|8g*b6qo8O`Htx#JUT>N*eiWG2#G$0cmU$JuBwMS@wq9?l#`b%A?sI7@Mf zVtP83Y@fn6Zs>G9_D@Y6y6)bDYYYG4=1uY3@RGrpZLG~C2N#0eq$2L#_?NhS>=9t= z8u26@2ZvLm_{!+f?A(qhv8ull9Si8=#on^)@%}vaEy@sH7rqd8Ca2Rwh-4MYPTVi~ zB>rtG2lu_-p!(oJux;#HE@t08m^%6gXEZ6*P;6)Z=rV)?&!{5TM{52~E`q|^-Btq}>zmqM|?seag5V^@VPYu`Aw(=(7>>>kVXC&aNEB*WCFJF#wmWft%(4;CoP z)0iuEcrBzJUk?rB?0R_I>YpzP?&C4w<9M;z?5B9=_FQNlsE4k%B1mth#ZFF3iZ?ie?jH zK-TCG4w|UK%)Z@$imN63irNSW){vy-r|NN)WiVY3Zp1rXc9QPk4e)fU2ga+*;@IPL5@Nvdz&Yz zRGh+9wa0OqNE0m#SBgsGJ7KriFIc_m92a}181vsngW2nDRNs(^2Fv3x=u!q={QL&@ zI14jzj4no%Z{efgsFB>yD7uw(4F3g$LO{oUY-_m$*H%npSv4FBS|U%gYmdO;Pl}>X zQe&~?q8*CDx8j9O!mL^$IAijSgxgOv*S_})FG^3Pe~liDQ=S7o%FSS5mdC5zzlEPa z$dH$f3MCGgM)m(3NuRYr+9_|?_TmISc21=gYjW7z_}9YzZ#!IwIsv2apT)_055Ub% zXWVn}8GhVw8?Fi+A-mzL__v+1czQ?@H#6uPj+o&G%jXQIrdOZE$&pDIF!n8WHVb`) zl?tf3V-oy5tjRmv5S%!BR0;Pa;_&q<@`4U_< zxthy~w5PTAZgB4{f|=3}EqFaRj&4kg$A)3s@Y3>ew6xfme5}q@kJyw)>%UmS-9%S< zb@3p#e!)E45$()6^Q@Ux*=s!IIGS!a{N>ez9bfFmWc)jGF&Frt5Eqq{pAKCbNp zwy#d*JO237ZFYfbLUbs7N+}$K|M!I(LE}#_)4TbT+oxkh`z{+%q5eb6=(MM-zy`cg zbb?G)-8|$>ARtP%&Q@gK4gVhd2_`lgY)E2I27M zYz984E5*zu%lT=uhtso-wQ$@&9OWA|*eLN8bbVZg%L5m1i%NSr7lHAixXqb1lw1e7 z=4@`R(tZ5c4cIrpm_2?i$qIKaz@YlcFwQ0$<7Yg^avKG@qNUFc2hXFa)m8BDb^xj= zD8g@LefH?YSJY0j<<~40~o-vYwmdi9ZJ!#Px~c5u~{;!0JDj##2Y7OkaL_>&rY{kCh zzu|s~7GY414@-KG$ZF2*-iycC5a$M54l51h$QDa@xA#qP{N zMUKK>g|nCUGm-C^jl*A0r8S%6m{!1akZVYQEkf_!Kjht{&%;JxSj|t+863+t#aEJ_ z(6JrIN3ua$c{HLf36Q)M9U`Y$Q*>VT71N}ugy)Q-Q zIs(Vu@h-JD!UtFv|2 zSE4mv&o3XDk2^zUSlx*N?o^TjJ$KHcc}*=)G%AAazh(k0OEM^Oz9mLm2z~nW7U=yo zie;ND0;i%T_Hx22v5=QwzXiT+caSU1bmXx6UN)$@Mlz3qDJ<=z1B)aLO1NOehDS!S z5V`3rCtH%8kWIunC00V##+rP0bmOr-2k6b_1>n@;NS0b%!24&zyLUn__iYbT_Y8)! z3ro;#Nd)^E8I6AxEZLaCa8OooW|$^?cL^-ocRE3=N^UaB^z20K*jJcXAH&KuPqQrj zXArPWlN;@;!4jSyXD)tmY{wO8_W6hpbjk^{hhG-IV&fosv7-v@Z~O-ljRUDb@Y+td zbET>E``B?SRl9xC{6>m@(z}Dy%v%|Az(9HSRD@zq<(}W+4<7Jmj=@ZHFkW|DX+-aOtjY1mV@r1-&ap#<&BZFW@k3L z{6rpKxm|}uJyp8sFbTxDhha+IZD9w!mT#!K4_)80`MDpA*docF=zTyVOx4KYt1P4#FlJji0UinaBpcfe!XB;xR>z#+dONQ0<6jIQ_G%>a**Kk5 z>P`dmf_Q}d)0~$1Mec6jGO81@1)7^R*cHh(7}W9-E+1b*YYyt-lPAQv63UOpy46=U_8&!cjt?l_kH*qTWf zjYqTCC6D;jlzrgB{T78*8o?rYEtpj}oD>=zF=NIHusEl~{4AuXEps3IT_!@Y$8$V- z!hjxd4N!k!Ff)8Oj9PO7X@2qwxEHgMxs8g#b1ptC8Aq|Hf5X|^YxWc{^D!L#FN}7M zJNMpm?RH}${1o_zs z;8QQK`NzKmHsrE+fNngQPZ-V`hu!8m303;oF$s*?Ot2@hoW;rTZ16HwGH9`2;}W03 zkEAGG`bQ*o-)Y3N%NLSHV=-*xi}f{RjJk7^T};Of*F%u_ZWo`5I$C_VrewImV< zl;H6zgEsG*L<0xR2ikU$d#;iz+CRXIRz0X9&!XjQ-eOZ`A+T-?LPv11g(vW&^J7-m z6UbiuJVIM)MzPyH@yrVoL1C2ey}HYRZcfd{h_C;c|FR2^@3)VVP7Ngc8|IvR*&VQ7 zI}+ahb)_o7B`UpSF;&h#4P|?}@p?r%f3$5dJ>GU7hJQ5!pNN_C-!LCc46KKiArf}8 zWZdA{_Ac}jZkpc@-e3(O(?G3g8dyrJK*uFJHfex7JHF;2B=nh6SGyvu@L9*6+7@B2 z@pde3x&>c#P0;(&Mf{q59G-YhCxf}Wc%!Xh{H#7hGEw`3#_Rq;b@m$`ZEW!5{DWBO z7lx5r-s1jK7hvJY2#iRWg)6>Pa9d85uti~hY-Eck3@#W<%8{#K`tlK=wWSyi_5K2f zNhKtAR7vP`<+8?{L;$HgjHx?;`L`WF~L6*MZ*Ip5=|) z&9Qvp3vAPxg%>Wy2)yZjJpIm{l=tRys%g=@e#99VF_zGM>|l@_7{xjdoqWR6y_@P;#}F~N^~;lD@d`>S(#0NqclO%r0e4@&Q9OTm z5^M@e<@YT}#L4Ge*>s%{PTwz@Y}ZWZE%kr~9WsZ;r+EJklHN=hb#n2>K zT2XeA{p#>RuPJpRrS1m2ZYRNPmTGdZrk!O;BhzVA|3nHD`LWZ<%dj?20oME;K%+D7 z;mXymaQlWnW&IYqRB=DJdZjr0y+xKUbR}WuzM1CqZ^ZE1oWRU&g_x&~q|0vO{JiTp zUwa*y2W{dd%`z!ISrJw&(ZWG(+X>ru!StMHP}W%w_Mc}!yVNYK?~tY0%7!euAPATK zc!81KY8d4B1r8^Lv($`o+`JD4P z&vV`P_4|FlgC^14{3&$&;R3oHu#&BDPR5WtO;L#89G>1h2VFmGVk%qQP(nJ4+uy5B zvam}@wk=1;rd}ms(;S%lNXc;itChfb%^C>v%AY@Od7sYqT(fHy73SHwsrdwRt`HO`t$v7NCoketJ zt}jgz7->(ZJjJbJD{;S8CBOCDW=MSLA)4w`hV32C*)`=pRC~#A_`)&tTD=DAbd~5? zP8+!N@2xL7p-6JqS3~L3M#@ZBgYC=nX|rFOc=g>Ql(>Bq+vncHDXL}Q8tTvJ-ZY$7!)y9`bn!+_<-2_@}BX>7T9%%js?d zW6u+uiKO7#)R@kx7mnl%9$iJZxo1$SCRD5$WXJ8BcT(UtweT0SQ((aUa!&EbEWA3t z8)kCND7))7@Be!v4KrDWIgLtm?a3LmpVf$}OA=|@dI)Q4m1*g5bC%wI z4*k4eh}BQXQUAdaw9a%0+xA74UhMS4hE=K5V|I#r<~xC&>ub@HU@cPj>O#3mVM6EO z5stA+gskcu4EGxWKg;HW$}mZm={${Q?Qr8uBBy|bkrRd_KLyqBTVT4c8vUbvJ_?X6uc#EE-_TPKZ5VF%foIO4$tl9<7(H}IA7Zm=X_g666^km?$sT}&gGKy zW#U=V3FyZ;^L>Fc{m6%}UjR!7p5#8>I>;{jO@xm(g4rhf4$kn*aQyUfH9c|J3^zVY zz$c?9X(j`#IAjRkq=I1x}xq zKpn!K%1LP_yLCqa1m!U2XLrtS>Wd!eJ!e5%y=P$WDGp5QhmuKN1FX!LNIymu;VSn! z@nokWQ11T#X9rr*8>2dka=C@B1mpTVO#qzjPzUyRy z;APigU5S~jL16W~{+LQnmBy0!!vIz^?m7$#(E;nc^JxBe7)Ccplii(2?&6GG>@SU= z5tp;@J14{am~D<1qqjkC?op`za1?K!H=w313N*#&64X>zg5mZW?$`EYs##kj0*%es z<=TOnK6}w$$hu3ub7Se6^F<-r1e=6=`468CleTgL2A-SG-p||&k1AIPV3&LN$Uu$F z9Vhg8yR^x_B1#V@VF>EquX>@-GB9vooB=zW+>8P z8C`OVN+FryHt5!z1berKq3jSLQ&1=LZTAU7)lY%%Xt^2(#E*xx{1JFDpw(6_LEwMC zxDMX0W6{}S1$p=xLZsv&T%#Gu4hxQBZs?{UT+~s8Q&(d*VA>d=l)!>dvXfybV^f6nF}f0nTYR9cF>12 zCEV&eDZ;zB4=vUDF){TnuhH;aaN#Lo`NIyuu{NA5y`}|i7OrGJ-I2xa7)jleYN`3< zH~2ff6AS&#c+=_eqEfdKGRpABJxf$*dc#(x6~2lr2SmbZ#pUea0TH|yn<``#UvWc+ z6=Mraz!h~ZxG|=Xf~rTN`}G#l*$aC3cfe4LShIw0T#`;-Q&liLbQuJ%@4-!@KZ9w) z6oK8kmi;F%kHQokDbib79I1{1Z|Dy`}bvah|{UD;*OSZlZBbMsP1^9NiB#p;Z@#(}tA}=-Kaq=C!iy zwBZQ;`sQdTDw8D%!P&5PnH;r0vt)I*Ch#B5Wb-W+R#a*84w}16dCw2Nv{wH*J3aCc z*Q9?R@8>*&V@?iKdEzwR*&#zqUVMikc`CHv!3$CP>rC`NYJxsbPoq@w0N7HMLT@y~ z#UFjf(1y)@sC)eka7L=kPF5Ed87Dy8oEswBfgBa{v3%#1V#s1Y(EWoXY;2fJrL!HG zzfp*I($cxS^RNu&Ww;8wCROp_(sN)`so*8}IGDX@%SU&sv!I*Y$@xJ#y5HJPS>*xZ zTLNcyoof>uyDrcEc6~-o%Rthu%z`z2!KgWE1p8{cA0)mDxo)RnbWZs0QdB2UQ|(n= z?$;}R(VHjy%2NaQ+gq~Xgz`Y<$;;tOZv_@~{2V{lO^n~24#C)p3;ZnOJ}%Bwp3+L% zL`PS5-~o>!?ABJIm7UMT5_1bNqw_XgOY?vq{!WJyC@_q-Vw4?TstEp_#UkveRPz-B$SYc`xXbY19!M_^C!2@GmW zM2Te+pI0$0N}HZt z1)Z7}SRgQpA8&Jm%Xx`VG1eQoDMwIYu{|Fs^hsX&ZKRxO6?~s>15ORT1%Z2I*^h7! zrrvm%S%igB@v40&)!xd+OMS$$qM`P~myBfpoi=Aho9|%FZwu1hnCOGU}hZW;26a>nvaI}w^DdtyGA@7r9fL%pYuxbqp1E?DSNq7nbix| zP`gi`psxaF_icUw%eq^@YWw8{)|L!?8$JUjbIzpyvm9fMg??^v0_->|rf*qhbnN{j z_D}BsdW+*hkM{$csA;g;H=0W3jHG#X z=fEkXlonZ~Lx=wXn6F>Pik*B|v(y{N3ZIX6*R>)ITn~RuK7!{{7kU}3PN(aibDEVp zY;n^Y{C#X}gY$~jY{$%*G{5RDZSlEjcXEht{jw-iikKcx)1I8=Wmal&;*GaC^V<8U zwaVhZ7k)zqiAlnjFlam!g-TC5j98>^4w#fV_MlXio=4XeQLgd9lUFrbQA59#U& zGg|hy74kwRGn*5!B&~D?W>lZR2YVhe$-2dGzo!Gu+>dc9PL|N9fFg|5Kfs1RQKPk2 zqS#y8!{VsUS5RJxK(^A7o8n8>?PuyQbW!u~^Z21gs+&C?&dLM?+mq|5~ z_Q5c(f3VYIA1YM8$I*@7@T{sK^`2kDdW!C$);c+6P`?MYmVAdBlm5b#-EZMTcL^N~ z?MJ7($Kc?hOkAg31Ve?+M02G+GYwvYUU~9tedK%ovE?#)u$S=E=Xy|In!qBa=+W=? z34+5bn#~?HfzD-W^V1$;^Y3(A7t@Z_6>@aFXQ<#hix3Z&D*@M) zeIR)z8ONH)^2Xm^;ef0}(iE5xuR|6?Old9$y>XP&vJ&?0JI*iR4A7x}Fln^7(_kp1 zo?b(0eyt6^RWH(*-!9~FO`gv>oj@&b=8^sjj_&xcCB4s?NOfiOWsoJEu=b|OsfFk; zMunaZ6S(3kYBbNhfVs+hFtry7Y^VQgD8Cm@hH5F4AKD0#{}kzi%`jRMq|Iy;rs0)k zK%Z4_@;-m&6Am(2@?M}#MLjqh>BlM z<7oG4F0K0m@_GhLTVPh7*S`#5k|t=@{h1GI9U<_-zJbzxPd3GQ4skaQ(Pj%}X8Yq1 zt-#rwX^D^(YbfTNOpdTh$p&1k_#cz#7xC5sQ>jnHn9PXTEb;J3b|Bi44ZKr8n^%X> zs)BpmSZyt~cufTBeDx4FV6j##U}HXRD@V!RNdH)^TG4Z&;KRhWbgC@tn>v9urJB;xi3Auz5;v^(W(&qx zV%djnut3&9^ibb|Bv;+!Kg@{7(2KTgu-qjaIcY8K8&QfX9%}Tn%a#Q#v1L~O*`T~| zS39AhjEk98O!qft@yS4gmjqiV7GP7lOz zH=x^JUGT{cqB74Z%qHzJzuDy+i+J%~WVc+8Db{D&-F{yLPqe;KpTHW`pB78UmoDLU zjJk8+t2Gx_{?$3q9581=|oi>w!yb=9f<_Nz( zY-84-$qaqk@XY=Z*tMVtXS(@v@2v9aO{f)Kn1Habon%%TzVJKlWiq1^ph9c6g3kfYV>hY%sJ5cDmeS*`6 z!!bMfxWEZgy#B%w-b{Xl84JlCVAnWR5#2r|!KE-AlKnjcrdIxi+|r3` z!n@%V6(@9ViVCR7BVQD+okIKgA?)?lLo{xS6&Cl*#OQ|(WW7q8(i7X*1dY|C{V{-< z)fSRr=VZ`bw4Yfy=Ah5Vb1;1P16Y?E$P=MMQVk3k>N~Exh{sTcD?}K@shZ7~*0^8cKP5^X3x*$2F0( z*g7`l>Nhq~w34dleHE3waG;z1!a4HHQsyb=1gcJ1pl7%c*EXxLi7qPO?=p^R>@TB* z(CxpgIfv|{RM2f)Jf7VVz?9EP(C)TZfTb1Wcwl*tB^;0vv>db&(;W_d_jmv;hjNyvJN*^&Tfbv4+h0#%TqeipCe-?@h0}_vxl@^z zOl7VOjVVK{RV&2TA2j*5ewnPkbQoEL?P57kCSk(*S>LW;9?MN$s>2Eo4q_f_gl_&IhM(_9k*i_5K#}4!ldNj;qp{uVeVd`!=%2%T(=Gz!u!N(}8W!Tmfs|q%y^l zY?_)Aji2M>*|euK`128VY{SM9aK34at{yxs`Lhk8d!J&y_hrhg`wyGu3D2XXd944Z z&=GGA$NmrUOl52uQ|;Cw-^2c7YEXftw{>Z(P6FDe?x6x#c``RPA(M$SSij{9#$^vd zyTYk#)8Z?mWM&Y!2^|6^0MS--Oeqa?p3IACFBEvA`)B ze8&7Ue1#_?t4#;6^+z5?nl8XG*MEU)$v$?tGzN7&z1X!DdHSpB$LG(JCvT}E{Ggb5 zn7?8GZ4RDKF9Lhe-cE~B^inWsl^$z-+rWa>OzolQZ2(EXU)Xx==0LN6p;#gi~(wWp*M1 zq2H;@K94R$wZf11y=ys+HPEV;SM9?Wz8!E>KAnFm6GI2hqJ>pBD@iJLj(^H&e_CY)uK9aiXLHi3;=7X`_&d7@tjW5}-8nIF008K*i-kAgp!qE5jE z&Thq7+|cxm&z7IUI#>9?`TE_EROW`A2ZYY1=MXB|+J;Jl2VnTG-RR^f&HgkGV#~9> zLHN%UQE!wlr~Umlyk04Ak_uh-_h!G3CE&H)BS~vr79KaZU^5rVFtd|~DfqxtNY9!K66*?iqseLb zXPN@ZeHjWdyQE_n`{$wn33FFHwS(Yq$#xAYGgw(6TKQir5;{Nc^xT3uZUo;NP33ajN;l(Xi42 zXSR=HPo}2erGsBYN4!76#9lMBlFNWG#}dds(u@++Pr^ z&*Rb*Fxw2CdCIb#pC1UUTq!=_(jGDiD_~nL*pXK0OHs>O8y3%H+fmI!92aZFDlB~2 z6+s`lY5hRB6!ihuyYI)OlHa`P;xwGIQI1uMUFi3nc96NKPYDlFC@dmNEZKCDuX_In zn#cgIM%98xoE=%7Ne0*2*|V{m*dHW(&$(Q^8ti zS&?^)HHOZ(0f`QY%wo+Vvf6w{+Zb|5}i|NjSw@Ql{-%G;}6IUUeGvmH|$;QoN|ACL@Wl{1a zZ#M6wHH__8PNzB!u=%#dG;t`#_nPzo?&OMNl@HK-i%o2BX)elNaA9Z7q*+VJ5>Cv`<-K=&0E4|%?7h(0@mi*i zPt8O5rr}mBF+q60r)QAuLsi(2JcrfRi@C}(v*_-HNRr&U1PA(8!Jqs@@M)bUZoM#% zZ*L!rr*1ERJ-5E2{t-Fm9aIEIwl(2`=(TwAV*xrm*};xnoQhwT?ZcYlSk^dEh3e$H z_c-8_#xreuWN6UjSStD`E%Hko8>bhGC0qxwUPLcpy0( zc4YQ&&R^|G&Hp<0t@8|gs+NYaf!?enb}Kq63}m92n&f%$0e-wE$EhZFabJ!x=JwrJ`4kobuQF#p^#Ef3^kfw6=-EhBYv!z3my-Xq$a*aCGOZd~}Ht+eey19J0j@kv4! zfm05Id!d2Mtt=2C$6*!qK}U|@I{mlEgd|SwaV)dG?LOlC{5H^$1EGV;dp)|G0)@T>6d*Uij{=)BLg)u=3mmoKxWlCzj{X&q*6-;o5dmfhkNr%N_@pj;G(T zeb`+dfoUmYspa1e+HAd$^v>3>sJk1P`lKu5E&B`?4}8lmwbhaAfrrfI7NfW?d#P>3 z=!UEPUHJ3#4)!iHhFO^U(&A&u5NAt)q13i*C#~0W5i%&}$ocCxke869ia9^Yq4hqSb~RC~VZMr~RO35~u`aC;=J9;w8BJ~gLj2Qy(~=@{Doel)9+ zNrgWvGr@i2W0KA|LD4$t;*wH#{x*{$s~RctkzWWqr-^B2D}r9X9JgWWx;wbu_)68@YBw6GYX$Hn|%Du>*sg!+EuZ7r}FxJ@au~h+5~L^9h@L zY2Wo{eEHG2whP(?7I|hETj&-^Cinbt`5!6ZW0Yxwp(%wL+{5~uY+N_&8O$5D8(L+Z z7+<#?U!1*Rm+UKpp9*X!%!|j~kB0Q?O9yx?c_Q?nPQsecyXuSVin(PbLz(tX1-f8W z#d3?Tv8odOBZi<*;Mm{aQAg~N4>e8D&4!YBGxbS&# zG}EP#jS$@KFZgEYSe?yJ5Pyev-jDgfC8L>aKpIt)tU-|K#uW1iS`p<%J4uc0>Kjh$ zyS72y`T+F&oW`>6e1~JFx3Q{gHn>OSAmvLW;j@@HAy3#U3Kf`e)AG)cz79u^ZQL<< z%36Hff0^5JC7XAemVz3iys4}}8YI?iB-iIYFlc_X;4>?M&D+(%FIeQ^(Nbx5Jam#<5M^#}y)L6co)6puz-_`MgyLdX> zzgY;fcPE11kAW=EV6(u#ux1G-%_(w_KGYuSgwM(@R2npj%bBIlJa^5et-rgWf20(x zewK*?CkxrqPxatvr;psR4DubHgEJNh`TuLee(6dX?6N&c!+mb!v^IAP@;#0p`qRi! z&?Rlpy@j384z$kSn*DdG8n4XNXYswmScX*=ELyyT&P`UZw=i?%XY@Z8jZW5Nn_|=` zPc}lAGhtt%t*XcPQRJ4^8-o)eZ-h9z($w*O_!aTa*d>DpZ(igm@1pZ17 zK*HFPyAxc4>3uDDDcTg$>-5;DuY-w?{tnvzBx)GmM&mF zGS1=tn4|2`v2nb=`CBSGxu2~Q@t`8{jkzq`Vi#`q1%GY0j1L}dg>TdK7Rs>;yR&h9?Nx!vK(Z-I5H`nt_LSz*4sFKPTyE|CRUBfUK$SzwIg_mW0hRM3o-hX4k7AL;8Ldy zq2bzBgpOGY+atS?O>Yy?!Npl{@>qv3W3Ge;7m|6YE4gs0aVDxJ8&Kk&!=#!2KpYq# z&!$Yd#!7lO)7`Q`tjRS6O~jKhY2ta-*!6?6xL-gmY90`{$eOu-s)S;nJxuXu6Y`_> z!8z5H$POIC5%K@{34=a?qx%K4j_!ja)spr%4nJSvMhwwc(L}k zqiL(KtIJ(wO{Upn&|W>24_YMbs^0$KOL9_S0c38d_O?1F0RGBv!*kt){Q1l+;i8M895##RxIr7NW4 z%uCbn@N9qscKEDHiTMGbrxY|FvnMB7^7=JyU-oM|=~8ezrIf32hJJ^<7Ru| z=1m;)o`PU=K7SIf-81$e{^VQk zlvfk(+|~@II9c{g_#Rsy?qfcC^l(&m0sS40cyGjh7C%)Dx{RW2-I`A0={0SzJozE_ zX52k=+Aq%`$Y698_ZsY8eUHGq7I29->u`&Z8N0_{n*~d?Y)%gqA29r<_t==N8 zwYG&jtyv)7^%m2;yx`qa1zfW31}EjWl2uxr!!PHm@n7yZ`m|e~EnBZkb8HLPwfaf) zTD*+ORZ6qBL$<;Mkyrfvu=twVFKr)0vlXD2jv*^tun0c~GthcnrvGt22;hAA!Fs6|@UMVRthh6Oi1K=1M6SMf)b)5WEGH~w8^|b8fV0s?sPqeiNo27dp#wU9i@ z;pn_=5H##*LPxhbyhk3|nae-H@L7uN&jAgQgMl1gjwxdu?Ix78teXFq+(L2dchhwD z<7}dk{Y&S6LUC}eC|P)>`Mtb_5v8N>eIT&0(gDovlqXY&Y6r#9yTt30;#q^6A|ySX zOdz_-t=9VrwPP>wQVYhjAJW1d!N+(kNWTRcf8#}epUoij5Tl!CAk+C$NPv!Yf5F# zUSXJK(~6((&x1*RzT~-hF|C|)g*m-n#iswvV0zX(J83+)Vc3R|Y)$SC&UZy3EuR%f zFC4eAzsFwSi?%;tegByV;pDYLw^V&PcbC|8ND^ zFC9B{+#JU_!esLL`3u5iW!bJ&A}{%Hv4z^kpxLKJU;eLR(WD?z(-2uzbN265CS?n$vfXBC|zzsg~9_ zIhQ1Al%Y^Yo;JKJXJ-V)tb^wm_Hg|aoKXTa?oI?Jv^mIDX&)v2JjD2aB7UY)Dz5lY z$c725#1HHkT1u`9uMEa?L!)U$Uk~UQ-sWe#u%}r4d6a)e7DqdbgGuhL z+_02X4BnQ4Wj~sjo%{__NV+eYtnG-Gcvm*oy`8;(f1cTv>Em8mZ?aO+qAkz!VcU@aLTX9F2(VHR3Hi18W{2gSh8&49Bxg3qXfCW`4=o{O|=a!9N`pX~S;+7&D z^*9Fj)(dE=-N5mPlHs_&1`v4ZTTi~NiKY{xn z55xNz8O-l-CgkWP@_*!B@{$)ag!}pVux`B(D3ry(Jojq5;twY=Z($Yp&|)=qT)M=y zAN~&?S&oA@(Tnhm>oYv2pUFqr#<7fDx?Ed+KQ8%RB>rVMgqGh=Lf0MjeAYfAnz;2R z*y$Tn#FYd*dhS2ymNB8Vlci~fjy`G0kHQh1haptmaJ;bczhgI`S({i^>Fr*CVJm zshHck*+ke0Psc*pWWF|}3Rjs%i0!)V2u@$-4&2&+cz+C5dCcd>TJPjm*9M~1@%8M~ z(HxErOF&svvPdZ=1@Dbc#~ZKJK)!DfsFv$M--C6~Sar8PxvUZMx$!vv z`#pT4JC$wqQspnFoq>T@YWarPSxkO%Gz9siK`rQDWZGPe&OOaXhs43iM@iVxZ%*|a zGC(2yC9bbKf&HU@iS+jmgG4P=s**blmu(a3v;H$?Q>Mnj+RWAHC3v#>E{B5Bt)x27 z9ZKx*`4`A_pT!mK`S@zeE8Lwhi!D{XDl)g3fuF6;a|uUfS+y`{htG`!rFIe8R{TPb z(jT13-$MSS{C-}w-VIgHXT!G>m$_w@O9Y14RET@5$(H;wB3hTlc~xYIMoS5K@cWCg zz~UzF61f5Ow};tky#2+w9V~-IgAD<9j|HDgsW|I_3g09?13MiaWAUpHNUsXuuR06> z@hwG4I%vQLe7=WAy8c1)QCGTHX8~Ead%@ssGF;KCM`_a=oO?wTmS!p8sK2jZ*iWJB zv;QVeIHW;Q`cJr3{VrVn9R=L*xdXD)x}lbKQqmoB@g44zo(;{=*aEvh zhq0F2cFa;s<-d-wWN$YAh4BKXz197`_=vfO;CwN}>7|7n_w_9B-Q$?S=SOI|C>+Ad z^RWJ=68Xefg5;!I5I?aTdOzksY=b9h`00aG@?7fox2EY9Jn+4XpmCHhIc6S3+0-Mr zChRQe$)s~3TGrS|+IE}&mGilAj|DgCGiY>~Ml&?)(R=G3X#dm5S;pSu9gjNEldC0g zXsHf#=4jE~>&1Lm%2VhNkE4*;<@otrE1a-B1F1Gjf?vXcbbfC|gD3fRf4ZdD`Jo!D zQs5A@n_k0)w1K#M(0Xy*9}hO#@iBkF>^&xwWW&Gt8ff4134fb^fMFjO&;=pacX;xA z*0WxnmCe42ea5|fKv^FyX$nPsVK-6PUVwMHhJnmP1*#BoA?kcEq~^LZH)BVk2k{s6 z_stf%c)}Q8AuQ9 zwZ!hG@P#|vx0AL7Ba z6-v;JO0kG3To73N+u)U5imkTtAeK`S2pJ;>p@wf04tM-#cY4cI7Fr*|rmZq#yZeT- z#7WQbP>}>it4dJ)lnSsPl_@@%IhHD9^Y~8#>bNKG`?;NW*FyQjiR7jfM4I-aS+&0- zS2A!r&R@6;HGUuDf5eS|ijYDoNpi(!msCMZRSvTyIW8nXhAomXhZKbeP*Hpxn}-f0 znGz4df3*rAx)fyIo)qs=I$OWqH4T53{KjdGPawYdj`&jARC1~+fbTk&@XGmSP;j&3 zU5+bLr_)^0oO=d}>;o|UwcskqkYb0Vz6h?Aaj3b-n9e`##FuvE{6T3o+^1f}Eojl; z^-Q|KN^U52sgC2vQ=ayiye?~JeVqoCIR70g|=8*d%ULELB#w-OJ4iFOz%XX!AF z(8YA6)q=Ly6bpIF!{{;QKY_t2cu)r^vgl{JRN-vG;#w17_cm7+s>ImgF@;>pj%Jv? zyAAASD>H@SVa%~@E9=gg1m~YV;*%GfQguKj>=j$%>37ZiV$)#|`A{2U1m^g}?jN{W zMws0rEZJxS5g+ZN!~AYe!&kkNXq(4I?vaeZH~Dsr=j8{m#y_@fw&WU!F-T+M)vZXO z;1uuFd5!xdv4#!Ww2OV}4P(hkzN{;74iqI^7VT1-NHLPgCm9cdi*euhwUWlv*)fKk zD-7AhS3D#bOs7X73h+a*g|jm@7y3G#up0J|&Bp)47ZgHadEgLQbaDifEH1}cJ%dQq z(}X#HT*I>OYYGlJcQRiW%I`hS<2$o4?CbTT?7fv3O!s6mrEypAy~$M=5L|-Ek{b9W zGnzS^70&Z}6?xDb3~4iu!S1DokfSQ_TZg=bKL&r{ltv$HZH>nd0~5K#VTIx?GI8{@ zMy`IX)KqH7F2|;8h0M5M6uax{PD}e^Su%QZ{EcXQJ|>2F-ZjBTKR?5ij|`MXPhf*w z71)&BO6+;ueQvMgADm}e4`a`7=WtLdrhhM_njs~y*N3s`dxEG?<}80k^(6Cg*bhks z(kO}(^9x4|WnUH~VYt&NeCD1B?I%W2@ZKWG-|&Dd|2hnM{wxsA*B&I3=TBE_Pe4;p z6PE@t?2GFZ?qgywQ}|$vW-F`kzRne#JYX%vI=HaLBM;Fc&VZhLh@+h?Q`wc)f8Y_> zi1kbUqVfcQ>u+1@l`T|B{oGf)5jLIODgMRD$E+tGw*#!!2xv~W6giwa4EI%zbN||B z(x;nZd|cy7H6ix}$D|4^v&dy?wnM3IM**llw?e}$H{gm_v*=IC3H;k^z&@o5oU!Gn zIGy;BR2Qg%L4~qtC|`pQX2`O)##^DGJBm+HsNvl+Q~2q@n?N&W0Ua-hfu+ZX3T(9$ z%y;kuEmQ-^etCK|e;Qk;*Nir_m@Z8$W zB)gD>&VAUObeZe5d&fQAtWH<8mvFVoYE1p$e#FWWUh}ydo8fE2y=-a+DX;H%wlo1+ z%_g&x=d?-b&T{r(vKG6_3<#7;VZx`@WKbi9VoePCNa200}CrN?2yYZ3x6ujzn1&*8d@JcdaoN}ZX58c?q zuhEw0TNP7Lam@_!DgG@k>%9uGs&7&8yd>MaY7Sj88cdxx)cN22$%4b=4JBF|aZ9Y^ zXm(}~W|rT;PuvIYcDftweU^&!&}4mTc-r3yS!AN9?RWpH&I_6@I9as430> z^g|ukp@24^!DbW_xF6Q74I|x2qiKRqCahAp&jmS-B-_agNxk+a_V6)SbZ{MKvP=j4 z7vAUGlZL>71SPUgFND!&tC4?o78Jz>G(KuHOR0%L>p2#%R$;qcZlWH0v||9?QI+Q7 zBvx^44K_GG!&5xu@Bz-q)mwBtPK)I<7QtYZ=dfCT4XM9#q?+0BKt2~C|LaQlccB(L zCRYpI-}jKy^A$$Tiv$;ukh2T0##1Fv(d0`cJ9_^YpSRqZW=jtPKHT9VC>X>&7&u zU!sc%CbgWw1U2r=Gim&-DC|7(G`D8uR`Qssg}y4W@bTzF^by$ZcUxC*L5c;e;PFUY zGwTVLE^sFsB@6_%sUJB!_`*MlH5MNo7J(8sB&cAL7w@NPEnaAK4>upR;B+H8(Na7^ zv~yJwR64eS+=1N?uISFHUo59o&kXo$e-EoK8?ecnZgb*2WQQ~4Y7oyV3kNSIu zvk5H#hpWTcrVkA4`-kC^KuP8{TY{wud)?0i=8#vwK&JO-Fv{nSfTa5pylwX=dOBE( z*^NGJGx=L4Y|`{WRYQH0&zHwzC5xEPUTIcxasxO0^JKc|{*|BpEC63+iDB6;BgP#V z!@LCseT9u2`!HbzB`mxJ(NaSJg#MIoOe-FJvJgKtcfxWPEq0mIU2^Q?=Hm&u@gbb)quS>evM5=0t0253Jy%G6=t%N zkSa5n$)?%husR`UHc^9nzu^`R5p5IAN;@QETqdKQ`c#3p@eO}Ozc7orh2XN}0 z6x(rdEhSxTqqknkxUEVO$IowvzfQV%Mz)4G*^FucN_nNmnSgH9B{fatex=mZZh%uz$p!TFZmu zJxfa8kxPq0rQS4O&c3hYt-3RBFPqo7AD6Wm!Juy@Sg|Tgwlyh>vk0T88%gX%A>+U6`w zJ$?Wdq&&q=9ggug^O^dgN^EbL22;A(0xlf~{z5#v28mp1$p`lGs3Pttj$z3^&Y-_R zP3gk{9G=eAr9Szy*iP3r*4;xF*56_HchEGLleP(_Ev!bXE;%|I(agen%ZnwlRyv;L zNXyQ+gM69?UToV(m$o!P{=NWOF)N!jSmiVP=}e0wj7eVkHaxDtLhjOY~`!ZV&b-z#G2mnZV#z& zY|52l<`5@Pnd^Hh+cci}^)Z0?89FrRmoHge%Yf4pwD9m(4bJPU3%yL5gPT#(lA7PA zujid%u9Tx=iLuZ_)s`7Pv0<~9?Zx|l{t1Imba1PV$%9vs8NJce5zfEpVE30xvpYLZ z(6KzvN-MNzz(_~o)~KTtWcHo)mg$O_`UzxzSq_(t7=XcvN|fvpO78l3kle1#MlBsi zCEsP>qHKX7Dofd-lt-Z1$0&jZ|ik_X2wYT$RJ7f$l zGgN~+EE9b^uHwTpLx{Nz0$(?GSXCbig~p#)b?Fqg-q;b2t{F%c5*zMdi#ZLy(oCln z`%-eybU{J_fyJ8+w7uDmeJhTFZ1i0zueVV+z3>Z;mrp~LW=AZDk0G zLxD=OAm09tg?<|Wp@lzAl2PPI4Ax8n|7pO?M-=h zV}S*@tu`iDl1Tc$gIT!yO7^F6G5$NnQ9{{7wrtc0xO**=aW^xtYo;Lt-rCH44?Bj5 zA^V`}V;OqPa>KZkHa0Y|3e(>0VKx{0%50_!te?dW7O}^W?9%_RpQBaSJ1u({``!dX zKNvyPJReL`eIuy#9!5{5D8jKm+o`1^gDxm1qCrKy(4ZqO)UGwC3u9exzFz4sxnj3DQRO1>KF@Ux&S9j8SDVTxnM1AvZ`UPA4O7Z*ekYj z^>}i+bq`Ozu;$i(;>n|M0++2HOcMjBg}%F{)0ylKc;??(q2b|7GFsBi zWalq(i|-M>UwDHppLiIb1fAi|=DZVb8>DeX`cqi{$+O5@Zaf=$E0o+mJ;QDx5*OV} z;@ut5fNKU{O0Oz?;Y`K*=vr5gmufUAYS$=IRg^gS(b9aiNDBw}tfb*bj9_kFce}W+C6Z*K)@3V6u?P)m1%Nbz!RVOB& zE^x^kPNRN`Id0niMEHBu2!;CkT7A?%pmf^iuMTw?uyILrDI9+~EW($a|ImnL;8t*+0ZjfuT6# zh8{es*+@@KUx0RNrC>@@ZbOX;Jqnk6sSY|UZ2dthQ^>@N&j-Vk!P{lq4EoUS{FA~# z4jk1S2HPj@gc9-1SopT-^BX^rCDK-rLfXcK-Q< zV|uJEoxU@fMK6+ZUsZR4*{Y-Lq4Hd|dd>{kC=Ow@Q=6IDoaNG9{|Mxm?TM6!GV%UFiyV%Q1p?I?AW5K4k1uXHh;9kBN0GG!oljn>HkXhpd22&C- z&s{}&Ho77f4s=-6-;x=YA4QcMYm$Haj+Iu9#g2s;4!Rzb@I=Q!ob$Jaoz)u)u|1X9 zg|ru(y}~MV)w85S5iywc`XZMc9zpY;@!;Ap8d9I{!&(?fX8M+F(|vpL+_wjH+)UAZ z^d9&!ERSim#ImYz1@_>rIc@9b&t0yn#Ch}13sLi<5e`fD<^w;LGVG>5w|~N?sxiVS!w@d8D2LrSdjxO9)N#o=UrV1`I7rNgGHyt|7cQ_+ zrnNnL!J7Sjaj2Pg>9h&AxU33&Iw|QudIej9{rt0Rv`Rdi_TdB@k@bvy{J0B-i6Wcd z%|K{azLd^ByULWbRY3kSPbn3}kh;H)eVp=;*}K|tLnckQwuWOnv2>}hRmBa`$zW=+mhHlg;}=dBqNMp?uC zVb{t8%&wisa%4VC-6xJsRQQ1pw62JMSmka4yUt`BFjABE74rL|3UUP=0 z#xqB0U$$~d7;}kS0IP5HWdU34vEPMgGFI25b0%rznsJ_aS`NjEh_N!u5GVHX+g}!= z-innvTQV#E3lQj0PoZZn1ir)_`TA|_D~#pD}~h@Ddc>(fLj zu(T)(nvz;A6rW)d0l5se)Y;MHFv8b;3rkx@*0Ri?HWNS}J=$wboO}Mw=b&gE_p)EEn^A^EaMVg}! zP39Ttuq*r!=hJsJRjuSW^VoWrKg@$#TbD8&w%%^B`R4@c-6z4hhi52l+FMroE|9(%#LIRH`&e$W5qQkAq=dtf zwEj{Ne)(?}o9p+z^w0K0a=7pnRJ)(S`zlZHzkmNO#s9qvo);4^^XDe4`F#$XPFm4z z>n6&~P=r4{B+YisFxr*7hq}3$Q1`t#s6R5Ao-K@{-zEcC9XkO#_U6;?-wY}{>&a8{ zJ2YM^V4rVFIeje_G)UY^!B58tyW}`H?bF4rx_uE(NPD0|+G|+U_arQ0UWhNJutm0M z%)4kA&Z>~|O?}VeFTHe<#W}L`RtBV~-A&@h&Z62)=VTM#s#Bux3z0&Z2uU+tz!&MgBZ$I9w zv-=(46 z(oD>&A8CyqO*=PUp+_q66i`|$$lIxG``&6b0e*H^e^5OY=;W|ETzPadTKM)Ri@Up+#{G#{2uf6X zVgOERDiel3%3~cj8@bH0b0GEO1a{zb1^X5q#}w|5afrN;%+C2em$_BSvCuiq>~45p zD9Ar3Y|kdvRyBfj?HjPPAQ9HtMdQuI6LEmicIH|+o86tV=u*`H6>`bagDD!Bn7U^T zo3!W}U0b$~`OX+h{Vzn&XuAgCs>HgTqx+Z{f7l93Ozh#*>|%_aWrYtWm0@b@By6ir zVU-SAv@Jh}VcKw7%sE1R*AKk=AIW0>^`UtZ8{^G4|0s-m}M(H$gtzAaIQXVVe{HRWdhU^6}jh zP8l624NgzTbv71QH$De$DoZ?s#d+-D?A`35u{2u^+axF*64>+pC%AoYil}#fIC|Tt zQP;sCF!KFcS{(ir-{1i5Lihn#A1E-Z%%{vE=^b|}@V5||FrRww`iXhZlbCoT>(Y)r z*?2M46eb*Tq`&7PA+cZtwhj&F_!5cjx-(A5{?WlE*q)&mU7oTJ^W97HMQzYYszW&^ zIh?=68&02}&V5fG&Ms8mX1l9SaUoDMl&Q-+<}uVI1tSo+&5 z2k#g^WFyYlLd4D}*=_YJ?3R|2a4qW_TeiL%OyLGXQC$RQHhZ6t@=Bn`wYdrZ2j&Zes8 z;=sV|lK-WIb#E5w#a~C*^64^cvHZ*yoruSfbxJrns|o#$O7N}I0CX&x1~Ja7h3kJh zONUq&a0ksAaY92pPMhh3R?bsO=lA`}Ca5jC6gQ~}H)eOI37dXPTxi>aslJi}?MFHv3(;oVLn8V14f%gdA-@aH)KL$<<*J&a%3S zcb-c*xrUor<4EZ>ym<)a>fV>B?>mQcjK)y;(j{ox{U6I%eu15mUIzgO>o9N$kBh`S zOiulUcMeuFKjnYy;P%nN&fL>9Mpv22JHj!nd=_4ba{$eUpK(O(7&Nf6W)1t?gob<# z2pRYlhw^$f$SDcWm+Rn={dY=--rR|`h9RXJa5vX-Er2sGy1}L=Z6W`FYRo#!sPO3o z^6seseOfaFvx~@F_bfuqzz(iK@{ppQ7W?aZ0{7g@E?pB?iEmaGp}L?*8$U-g-tjv9 zbt;lY-bka5N)4>nzj+XyXM*ETX;ZdSPx_OrPvX2o%M^AB7AVTO7Q-=kUsy* z!B4T@h3%6U)3P~6Y({3F`Dls@+W2{=}Vrst&3xt!!YqGqr7aEYq8wL|rd*Y1Go=%=^Mp z$vdCQKCdpqdTBrIza{ddmOWhpySp zB4?dvSSD#BbXSd|HlsIO*s4>MSS95cg$J`E<%u-o#A4_dUx?eM5x3ygezw|E12!m! zaF%Iy=w@}EmhWi9>PH{h>8)~X&dy&rAR-0S$1daSuI;7UAhHw69_*v_b987)r@~Mt zGK^8j$ih~9aXb}c>&$3u?h%SvRn7(`C^1X-NUVr=qOm4rxXw-msydF~`_Ucjg<=`2 zFo(e;Clu>2>{$xK?$^y2MbTtyQ<%`WbiG_QII_+m*ztcBa;CutpsvpA&VoiK4{h2j=Y{s;_B~blGi`{RkVNdgp%5?hMaD#jkSZ{Y#I2ok^ zb=CHC=A#-n=({Gxjf$4IR;_sJ={mvY$`w>O?u;fy+o9hw6I#&GgzY-!^zPeUP9ta| z8)_QCitk!tK=E9dk^GHQy043HCYnWWP$K0o+BB`xQ}7NMN#E{8LBg>z<}$5=>;EDQ zw`pu(w>qt`y}$t?FP~%MF6^XtW1?AIOS8~(lQE7DY%J9nxQ+#{T#aWWFUFRMAAo+NI7Ts zEYtArc73S$X)YLRZD1p3#i6Ia8Q1rAF?uR%VVSZV%T-7u?UBx0^{Vc&gJ6zxs)n($ zs#akiZRY&a1DEIjqa^`+yY+8z*OG7a_#8I|a_YA_>F1F=uZ0Yoy&e)zm zlhv45;<4_Z*(mMD7oC5U;pPL|p+T;WQ~CXzef*t)Gfj8l-udP1PevS^Ul_;i)h3hr z4w3P@moeS?dzX?nmZM(k8E%o~LvG4ke>UpQR5-oi558LT5WP*FaxLy*7}p$uJ15*@ zO_RFOHu+r;l6i`4<}=Z?EPy%2EnpY2mat{xewG$|xq)p>m*C3*KlUj}1q@RfaON<; zxPMBJac>5AS8d}q%iW~Ixk=2YOcfmUR7;Jc2jXN&+v?jmncccNLdx=xhZg(gcxlmY z!G2aGsP9+D=QCnUFPa`>`_|~ugWRo97*QjX#SWvz+5T*#oq^;>)1idIlBr$o;JqllCI2z!?dhe_`w2Jid|HoQtl*gjPg&%4D6 zPjeQ*ET33>^&ye|+h31;t}lo3z_o1EfpzE+^#k|bOW^ABf^qmYUv^;5db~5mlzn*X z4E8k|tRb`~&E9r^#U1R#z|S@?_^uXgm^uo@W}DJ!`3bU;p#H)Pn-ZbDVk(7n^Z}#n zi>Ro7nt5<>%yr%>wn)nBs~CBcTd7!pD|;(b<&H5_dTl(z%{$oIG7pfIO_6ebXT!)h z_hf^E)o@2}5py=Y44yd|w0i3mHdx6B`r006)dqHOx~K=)X>0?|aEZi0ThHF#%t5Q^ zFR*OBF|A#9OQv>aIeV_<0eRAV$Nj<*usl2&Za8kh!JiV5SL}t|l%jEFxg}Uz420gc z%5d?i9GTel$#0UJ#31*9s0UZsnM=Nc`s1rCx_K9zIJBIalLlZ^ zFRr5#s( zOhdn~P7s$GKyg;x=;f3INvrjnyVCEztd~!t?BdzCnDNw`f>-ol`GIlpss9L0yKpUQ z8XSrx3s122Qy z_%U>!@OAP)>A5t5JJVuFz79*_nOM%gZc!lPZJOMTMe=ldehj9%b+S=;Qm)2kB{r{p zhtMWWXMbwW!6<1T+g(MAn^m+5?+xxFRDL`Fr(gQB&&N&Zp}VA!P@V)9BTd=Rx2NFP zza&UEx37qm=0po_MlXpx2I+{&}9F1P&JYgN; zq**Xvy{_a1R-w(Mj!=--hGj85v3znlzS-rE8v-O>=B{hgSWkoG?tOnxDL3qkd$7a03Xu{7haCHb`& zu=e0|be*R`t=WoTcSS+C?w15t*9utvISviC4IzGo1}vX>liRVRiN(D+&aO-^W|_;~ zDLKHC1$~kubBkbM*O*T3;jmnpZs-xzTWAj*PZePHa81}z6)I?%GWZuI={JV!QoxQb zp;~tjPMp%hlKS+g#b4XeH|z_pk7~r(HzzYgomAMi{+v)FvE1u>KEp+abLf}qw9@ah zyVI8cCP6UlD1CfV0n03UmzuvaL$&eI*t*AyDP478cK>Bvir38K4&?Ay|EV`9H6^g_ zCZ1rR5Y1B8ctDPKKSAr?W>#o?N~ncjD0MPa^mr*YcjXERZF|XF+m^dKW3I$Tt`eH^ z;^@mQ!mx@QdOcTisfBt8t0qlmosuqZ;MTop;P(%Uz5Lj42Q_GV=!9MeB&I?BHT+z0 zNbsrGq^t3SQ*1^<*Dpn&-*1?kau$4gn1)G7+Td%w2rnl{{OjL2nEh6bwGHmTiH5FZ zTBbnS7luRg>LlUqh*D}Qp9`;bw$rB6hr+~ZrR+6i$8{#~cC- zAT7CorG2bpx}HZcK-EvE%>0MP8*i}oi)$gQemi?IN1opG=|OAHjYA*L`z-jcG}C>V z#>VZvhUIHi$$GZ|d4J|9_v)8RId0XM8Vi&+$di@-?TtSzN7LiVR9V($cYsT~h2f(@ zpzffv^!MOl+P`S#wK|ZFw3MW4WbK! zS5d&$V=`A`XLxQX-DjsB!}N#wT;ki+U{N0>JhfO(=a(u=`6B9Mw>%4#tX5Is^M35m z%m8>@q$bq0%%VGg&agL62GFLI3piNCkbHX0!3Brxgqa3&=}y%PCf9qG@Y5@eedaYu z2)&OsBSLAT;K|A|rc=4C7usA%lr8kgXB|w+toTt3f9@Dl(v(=Po6qsm*D6`;Q^N(J z-2F7No!zK9<^Xz|HsjT?-DD#R2f#Vcmn;hg(3+r9Jp6Ej?0JGcIA3kRR9j9M_}v>n z1tVUxSVDc4RbgEE8Nou@4YXfcNBJAaf%zu|=;|n>6|IqM+OVED^J_K^Kj;EJ#+~eQ zaWu}}TE_KMSdHP~cX8DC^DNM2EjL+DU~SV4S(>~PYG@u}ZKrghI-Jqb<5#$Gxl#1` zoEc8c?}bghx`E>64HPQPYts5e3D&1;SrE^$3d4A+nJ`Xb;3~qvF9E1nafaIVT5#^( znk;2%vh2m+eek^KD| z5HGm}HVCh;__5oT`-Ev7^Wp2LX54vmDO5E@vA6%J!pDgyq)FLd52ph>Oex1H!~22D z_s!IAz&qCC@I7`ULxl>qq;k>8YjN#o$@@4$4p%3aQ`uj8vTa)^SUgoh3#-Ah`CB;} zc>OImi`V5|Zal?IQqA_C*+gdia7F=Ec-FDmV>?-U@kyq=HImJ&bi>z4@7YY-C0x7aZ|tQUPbbzo zQN+%kSg}Hv4Y$?6TKy;-m)M`{6X-xcE!VM6Re2bE_Z-u(QYMveU%7DDz;?AZ%i8o^ zSjES546N0I28+?yc>OkRdao;Sc_d%0|2}M1`YSvxN#=a8la-(D1CvkqJ{jKXbk8a`USNj5S|6TS?noWj1?#5ny z-G!C|XEJLO8}@6PIrWz^86Bt9VWvyEpm?({9f65b-q(NJ-U}7jFwTHBhps^_zriq8 zFTXT$hcrJwc@67}-SF`1Qa0XSgH0bARXTU4JB7Apu@U`V;7yffIPcB`7W`Ea=KQ-T z^i;Zw(an;Ve{T{^@LdLjisLBd#Bcnz<36hjGr_^F?=Up6MTqr{WLKt4q^7V2=J{zH zE2=4F(K z8&NHojN3#irH9$$QLE78wmKv%ID(_BsnqA#Mb@OR4=k?E&pN5t9VxMt^&0(9P!1of9&1QTA5+qe8E%dB}V+$ zn{%DeK!XCpz+{&lS(Z)4S`J?SksRnkB|!T7F6+}eOq zB=_Vv-S=0bGqd-ytVF5CnD?Dq`DZhkPx8ghx^3*xm^*0tWgrW`*b860aKn;_qinHz z3ch;qo4t{bVY5BkH^NuEGECC zjU9gd7E5M&3)k{);iE&Xvibe;sQivHO}ac3I_A~0^>_Zs+!}l@G=2?|)%sp!gOp2g zgI*5T>HCDWXa`Z+s^x6#lNEH2)yfhF-sBQ0(}aunPvDK^UaVfxoR!pALXUSPZ2E$9 zOmB+*zg(xSdMaoNx7mlq{-~IJ5M3_U3znZem{MB`+cS4Hb>CToyTpH8T5@u7J*8tL zol(+Jl#Y{h6#n=0m)`b~&gww_C97-}2d)Vk;lIGnX59b0<05@tQTiUrm;ZJB&)3PR z%E=vC)Q{gkelxoMEhe|~i%7f2W%vuj`Mk@K{Fz>V;b>Z@wA<5TleV7(v&a78W_vk^ zHXSAUM0b)!n8ebbv4Xy}--qNot+0Hql{ihQMwpaf&y)|`pvmzPC*XD(o3dpx*7aEl zztlZx#^S9oUCOEW&uJEUm-Xc{qcZqI{f%hCVSi}{?@D)N7uei2W7(UMjgWTn6$OVy zLS|M0WgVC1Y1XgUG=;C-V<~rm?plu24O^An#Ov@CX}2 z)7`#6gz66dRKHTvm@tKviuG`~?=OIin{ZItg}<%d2kri$@Z-F#sMe}0&KUH84D%By zFJ9BpsOc~aJ>bk=D|6v}hgynuKKktW_Hc1~>kla_LYdi}ucutEaIsH^CucUOFY9tj zfVSt}6e!n?uUuXS7xsMS_TQ5<3A>um)vQ15S9gS}#0FL|C!9UW8^;3tGvW7jEpfZo zDK-aQK*+@Lyi$)3)bnOB^y@vD*EpXou}bX4qsc~WNsFcsHft$ArKLz58lt0BD=Cq~qySN2> ziMKzDFibAB2sGyJSmcuP#bTt!>u_jp2;7QaNNSbODONuLLhNtjapyeNSYnD<6H~z> z;V?y{L<;N5e$#>PtHJYgH$G)W8ja1q2_|E7s4nasi>h5k{*4RS#1{j^hhI}cA$Wk; zTV;-z=xfQpJMb7@W*PCXGDE>@Su-o1-AzKFyMsmJAo1a!Rbt686LCb?36lApqDpy9 z@t?8_)P*c3gUr5s=dyJomW?GrrLTD8Kogkkmx-}=w~3L%OvKifPhw4vJrKR`9UOb% zA~v;j7d88p(9Gr(eroLx!DgW)SznvPI}E-|B}13-r}bk+t@NJwi$(A%Z5d+!V+qjE zU4)f~jKDqM6b+Kgq%l6d_(lDuis9L#B>&kgjJz$1Lt5)md*eD7VR-@k?;nGo7cEIF ziDc1bMUsbi24p|YVlS>cK+N!FNFIKjo+StI@n;`#yFb3Cl|g^t)R(=Km8k~mGbxftv>nu_}Axuj(1gZ2vpS+d<6eq~S;Ej{@LTf)3VYx55Bys$&O*Tae*JY^xT zFL5qEoE`y#<-I81b}#H)RsglPE1+HVIh?v@$v2+Z%KvS60=@;q#MdgJ{M0j9v}f2K z@XbC8^Ii1$$5s|HFAHVIbzk=3vEbwI+~%=N%jzV{(C!Zle>X~ubPIU4aSU^HyhfvL zT>?wxbX3{Wo!?aH%4aOp=ZEB^((kHg*t=fRyd6lzyIXqj3F}h$<&6~>{iBrS$&C1= z`DZCN%t`z?_6v0zl>+OpWy3=H2ti*u@xaamK4ydwtLvsr)^#hyq)J8p>NqXFvN@CG zjoAcR;qQ2l-M2w+`9EkEgTUa|eK=H81BJ&m*wi`;@tM8`99^40HVtl2HFg3U;j<7j z{_PMio(hM_8fN0ql;0GzArM;)t6280)%<~w5Pr}~MgB-fPciM-Rak%hHmwUE0zcG$ zpzEUh^sUn$9s1abCf=iA@%~JhXMc)cbX5)HHI2n&uV*yT$AbxK8+h63YU=8iip>?g zc=L)ARP;f3kZ4b_sWQIgLvLaY?vj5?n{v$7!PdopVKhvKcYZp2xqNq_ROt;&HEM@v zhVo)^bu83m+Ym3eAJ2bsfrK~{ID4^$hTE2rmc6++%-RiJmM@{QIbCr4`+olUp{J~E zQ72np5yB5{I?X)qYKq>O*YQw<|f zRGPNzSaAv3QZtx;p^fOC@R2ftr}5n54WQcV7Mr`L0Don8;CtoS;4%`S*M>uc)Jwd( zQH~G08HHm1INocr0l&2RHghtPbbUqL`2JG16|?l8wG$^~5f zHc#Oq}YM&5kb~ z!hiESPP3+!fXk?fVyc@=Y%w}0G+3Qt=9vwhS@%9~M-krR(b_!8%1 zNMRx7WPSaG#LjJkEo=5-Q~M&8{Lo%(9X%GW9WLg!HxB0ySR#A7CJ4OuThk^jQ~Kt= zf?9gYi`^D?6aPr}?EMBg{`#Pgv~uZfGFnjte5jVF)4L0-t?Hrsy{QmB+nhchC8#mb z;GYa}qL|~nIA&r8Y@N2By4MUQ$C^Xp$Kwmx^&ziI>qe=GAx}5M>pwf-tlb@Gdzs0a zs{fywLQ^US{=YRvf9YfS|2_XxbNv5miqZdXP2nSbk2y8}TT|?llT&`bTkNs)9Vvb@ z+uC*?4F z);o&obCF`6?WUc}Tj@sES4y5YUQE&1B#w-HO=FJxi{1$%dFPo^`32K|NLjffsURkc z_Ud0EwJD)uQQwO&&UX*xR3G8voa5om^r@ob8x!%Qt`46&LQnM8>!fhYO%mVlE-iUD zileSXHc1%HUZ!b_Il3*>O(h?mFCHl_G=D>(NAHrq#Da=>&5J>QHN=0m&d|tpQj+sX zGFmi&Pf#XRs7Y?!+Xf4GkY~fP3bNVce(%>?`DWM2CNZJnRueQ+Aw}+K@i#|oTEoaw8Sq; zd)Y+WDp>bANzzHU(V&CJsPC4aq~^E;Aoc-F9GK5#on<{GCOcSrXcmy76 zi^S9`KhWfzfmo5AKzH=s@!zA?!W~mxame9AI8e%7{#H1eZd%KU9@E13OYJ)R6oWXr zy7D#E-ZZ8iW~Z1^k~+8=DZ)_M263v=QSQpvb>hx6D}KYIB)T?8_?fE?Tettf@)X(A4+^ZmL z(RudP-2zSq7x7)&EyX*=N4TuIuT1^N3#ixRdG4k?9SZ8n@Bi_Wg8%C+9t@7Ax2h_l zd*f<;&0Kr&f~p>UO&H5(P3|FHf4xW?SKtWm3-;6ZpFKoSdru#Fc=N|H;;^P@(YP`Vdu)-%rzHd6;6*!r=DP*r{et&2_1kwz7jG?A zD}JTi=NtKWlS$%*4d1~p^(@;t-kEO=86&=`eZ|gMD2fUx{lv<^*QBMJ3v(W2LGU46 zHe~v1D4I5miWX>yowgZV_1{gRdYT#~+L-d^!pDlM{fi*jHd%Dj4WsjAePGVy9c-Jo zFZHkQCGK`QPsOV8>~fDWXpyu8PT7v*>%7Xz=hrgU_S>4jWMw2CG>aphvGu@xm@W2E z8B1#A6Z!IWd*MnSHQr-oFFxnpLVihgv-s%h7G{6y8l>s{2mb!6Y5t{W;PpfIZv6P5 zBdo<}I_xtZFKQkif^XdpNv|belzn6($1KEupAJCr{TLn#$MP43Sc>P@yOZkOtI)50 zJ5`KJpffYxW0=-Y+R=Fm9k%TO(_ytVf72)GYF$j+#7-Jee}cciV*(8r+XHWo>MmLi zK+63PMXFnQe#`TfaOt}i--njL%f2M`_i3l?wUJ=f-U78N)9}(3PdL}t8S~@cz`<8} zI5Sy;U#rpqli#lw>%SR-!q6KuG18IW9o|peUaLq(Y9sj_H>ZmI2M?#>eG2@`z&ntt z7fDCo9DxtY^>8|A5Wh*`7`v*OLnA6}L?zu97~km$W3MPd)8lPo#pLc{VwM~~+U7G9 zS}5^<{1WKYegPiN?;!ckT=vE)i+^*yhHd*kR9y2yj=tVM#=1NwijQ}0q0{w7w9V^0 z)VsuiYR^c@3?ItZx?F=fMmMOiV3D}6tv8L=@xhh{sk~Z35_R+l=G6eauf5_-qwvtvF2n>CJd_NechZMU$WPU!wT!)gRn7*NVSjDe058 zKcw%kze${nT~JXP1Jh3!GnK7lS*@n0C}bQg^_Xy6T->LSFB>Bd7edqN@md9b`Ox{| zW=Ebq7vDmv*KatHsLt>5u;o`ZMbM_}T6}j6E&i^K25NM5r|-SXK+|!y*uFr4-*-8R z8N3$Zb;=r#bN7;~n zHW{ZXr4Z^LfI};@MZxYQm7MJ2lNTPNjkeX|>Dh^JBm4rE^2TD($Qfefy&U>>!;HpE zEM%442J=(T#zAV$6~4Dxp_o=bLfpG!1_UL~6&Foi!q*B@`QR^apxEXt%oDxA?sx%`Vw+s3#fJS0VZ6Mijd1&<#OKsIQ!IAm%W*;yIzzLQNvJ1Kvy zF;ElJm%W5(87=J2rpb8FPsWNCB;zydzij!9-Qwhl&iv9_negG=4hl~*;cu-PCHDBN z$7hJ|VesTF{DK1lJbM2_n4Ras*XvK>FEj~IKSNtoCqTm)L)gH9+T!ALGrriX1n!>v z3m0ba5`SVK|GRmi`1EHcxGA|XKZSn$x>z473%3xzjL_nDE+~TCt?K+gLqoh-GKu;m zDwS6BNk#9qOTl%PK=p%Gh!uZR#goUC`4zi^u_)e!(hL3r$G*Mz+I`{lap5AU-&+kg z2Xs)5ZwYO712HzKi-uUw<7eg|#Vz#`6~@?6A6*j`SnWlFx38zue_g~K!xd;(fCCvg zP7qojn3CtZmwdJmF7D1Krm(PCP*xlxR=rq4%aqOdh>UBrV&q#WY8)-rj_?z+&dui^ zg-Cfp#~Rp=^P5GJr-&6pbto%56dazQw1p}ct{Wyt;~n7h6R$obUIGiI*QH6dc^(~ z?S{4;$1rZfKR92dj-mMoUXJ;6)%6q^&`g@#Q<`B$n2S9$&G_~hiT4;6D&Dp&fr2|u zWVgYV@?NU(hocJNN%bMN{*M=k@#zedh^5wK(Q4fHDL zCCWc}4*N<+lf$rVp>&H8|4ESe-vgAyBL|1U7L^;)o^ritHoF~SHTRSAXBA#C>l;nf z*AtoF7T&wQ8Ycc(3jwK#^ig844fP*`a?>~Q>CO7^bYw$b7>#-e%2EPn0MZg4AME^6vMrs4rMG7D*@>}IRSM?cA8=2llo z{XsW2$?`P0xR!zQTr)9X>r=RTqmVv?*zs)O3|KkoG6g*y3u{NHu9Bps3Lv{E4KDU zOYLtgw6hUsj`OCRIZN5j_bOuWDM(~OPNV1Q;4ETX;d_*hzKEtG~Tm!LMkLtL?juCpII5B_q_i=_w(tVd!DtQz1DZV z6z2Jz>3qqDY)lKx#5H zdcNR>c@A*$VvOiyLoYW?T!bS`CX!db5}P+Ck$>^ii;q|k1~Wg0L*Roteqx-!NmS3^ zl2@yr^L0)bOX`ZA*epC3@3OUz$r_QK#l2SYIqz5#wKOl`P(M^8?*W7v`rl= zK4w7vghtLmU>&QU1=i_lj+b4i8&v6>N+)#q*75DMv zdmSe8MO7q#DY>?K4i%>_;RZJjV{JdAXhD7;7LQrTx&*&YO}Gn}p7;v>cDF#*)F~*D zoX4E+>aztq1+KLB7O)k4BVgEkoQv4q7HuvNT@jspgol64Gw9*m$nBj0fSNhOt!` zf&AVmJ|ps#XnEvT^y{jI8wxUH;5QRYM=H?9KZ@jEc?^D8tbpGgPobz)8NbcF4JKCy z(YKWEyq)?qez4Xk(a+Amu=Ax7xN90RCE@w#G?s${i?c+-{#}71Lx!-ryDvF4kuK}< z-^N*A9u3>oMk6b(hMDEjr1j2Tjt4=zaRu|#_vLhNUj*MkSFDY# zgeS8eaNiDiia(Bv1+$|6_&3Ux_$5l7UZyB>aw%i+*Ut_c?}X{_LAg<+HBtr!D!1cK z|2e$RSRc6k<_G`9_Y*h#`CU=siF{n`GzXFoH1G%Aqpj zbc%W){9hg@`{$$R-x})5{08acbm{r$-S`_OQoyxk+_>;Jm}I&Hwj7mWTYvRKR<0cy zpLz_-vYa8ob1(O)qY!^5xTECoGaO&j2PHujV6e%a%%`kpzZ&mw@1&z4YFYvRTIi5z z`ZEFpzWWNjR6=j!+j^AiKFHQ4xI&=oBU~{8@yh~j?%^;=x|~WC~*{k?dZ9e9sqdG{r#e{*$n-El8DCD`x9i&QHzz0$<_CI<84LzkiZ)Kb3SupCPp z(FTU{CD1N85#qj8L;TQJFngjeI!&KMy=m2zzcaJ(&HA};HQ5d`5>E3wuIjLB5ORxf8eUiMNy)kbA;J*zl$foF$WRRMA#g*?a>g z%}4=73ooo1Va%^|cm(l-B`~-98)srJhS|ftX-IB+yJub zkfQpOI2N&ZJt&X#1s&H^QOAIRbVfR!MJ`{0D}Rr}!meyi_j(fRoM4CXEn{eR+a>1Q z?uyGa2eZ6=>si&=m*S@#;naUALmcc8!%K}4qscKTA+Irnwyr*yVeH(zB=M5Jy#}wQkS~3jp^Z8L(*DohaMYa*~=`(($|>K9?LEK=L=D6{LoRX z$wLEl-lyYW)3<`3>IC=CX*bOOHHLjty$v3lBxrv5YkYb&opnxEBHy=}Q0%2aEh~qM zO6|-@6qzkD5_*E|58cJHAaYA{@YaQ~US>-vnLpZ5FyKMuOI{ z>$unIB&2@LrknBe*f#@J_AA$#My%H)Uz!YKXe)jDP-=Z8eKkAQ6)%d*XvEAP=V9vY zWax;k2EXqMX>q;V)I^lRhz8$Xlxng0@1on5& z&q~MCL*U#p6SX@>(3)bQc2R0Dy{t85Yug%e$%oyz-u)Uz?AQneXCnE+C;F^zWHF3d z*@hMSEx>l%RNDD=0!~|e8PEB<@Dn%e#JC5gu-4=+gnk%9>MKUmx$VaxD*S`^`6)A0 za>P7zOvHd8kngr|m63FPWF5K+t1D{eyUggLeJldiL3cJI&*ySrp z?!iHRqx5J>xu;28u2Q&Y`BYl{{w&OrMtorP77|<=QF5~Z=?xx(C+6EJLrA>5_D8Zm~p-Ofgn`Lmdzkh#3tJeC4<%_F9V!@vM;56=JT8WJdHU2`V?gh&CbLP$Hn1F{mHecinXrGN18d#* zm#-2NYB=t}BP~Bf^^gH3)td0Zp%x2_>ge2{0FZA><)gOfGp8*-`Oe61DBtLSl26a_ z$peenq4&bvY?CC`7(G!Otti2U&O41aZU$3r+)*e{%D}yIlDKlWV`!s&Rq)Ve!oAz_ zto>&v1l&-7;FyW9OkE4=XUt{(>t|41g&Uq-qs;zha9~>#gu~~p$A34LgKPVCe0EC? zg8Y0aaH=OoL;aKNi>?%s4 z1nFK>sYv7Z%#sBfwVnACKj!+jO=6qZn$RkV88oygo$c@K$4>V)%qumZ5ph-AVaIfK zKsN%sKSppd8cy`1v5G&FIDvNV{0!Ht>^avbmNd5aAg&p!O5@8_Y0a5;m|9)LO;sL3 ziFAmTmnyQH?KUh+d8JUK=7{gMJ;SnsSk{!Y3nc`0`MeXK@Md=m`w%@1_X@kqnrgsujtdOJ^f-AzR#Q%I?*C0@JbY@Jx#@wrYsbBks7U=(Y%( ztD``CEsZ->a}FQ8ujCd5T;fBYTH~t0rLcOpD_cIH9sV0K4D1@LS;2;IoOeK%RS$H) zf1f3o{Sq10pyb6~&XuJ#Keup8PI#k<&O+3D?F90MuTlHxA?9~Blvn>;0UBO*7*KeR zlfLyGd}^c0g3Y;+pvWrVX=69zLp{FHMUb_Sfk&ZwBOY7AZdHVAK|6jH~l&oC!) zC4QDm<6Gxv;~?jeFgV?wskfgZk)tVXcsG?vNA2bMWM+_q(?`7ST*z^+blDF1e_Y!z zS9K5?xVmch@|tnH!fvj$jy zdLX9llYu8smsTbXih@6V#;oGRNG4;j0&22sanp#=WIXpVrp5i>mRrYhx^Y%;W$s{> z+dU1}hx!AQzeSH>m)MQV$hY|2;p_4PxR+nn;O%NVUacq^4%?cMqK+i#21&y1j5^r0 zZ3wA5Y~cDDvf+mH1l&@%Q}nv#J9fQ{7qTwv*~z;S%>P^=T3LsHSpF=&S@Mkk5Z?=z ze-B_=jkfUjpSFNjehTOfmc_a)!|<@<4y;*qk$sr&O%M0)d`pRG6aO)IKQ^^dUO_)ldmxs|VdmT1gZU)JYsfIm=pJU#?PQG@W6u{(kMqdjQ4zL_{&{hcU&?io@&Bu}E(h19nA6AENd_Ok6OCJ#}= zs$NHYJ>oD;_Pc`8mYwkDVGilI{X&CzGSq z6@QhqUliah4P8>-9Z$a_)u`s=RlH#1!|Z4j$?Ln)Fu&2PT67zIo%`wcCwG*&5Klio z2eWwvA0e$oh5Sd9Vx3DnZyR%sCd_c4yxM-QS=>cw@*SvL<;2T1wc^z84lq$Kp3jX6 zCkwxqI0&clS!*6q+$}8{JmDA)Q~V9mUFXPf({x@>DHgv*i$yzzH{z?9I3WnqChQT9 zWAph76f9)Gr!J4hi5I89de_Ogqh6kU?+VAG8?D$1u@u@In#=0!L*Q6t3woH%6@6W0 zPWR4^WuND+V?!lJFom%`>|$dmP0TC@|0P3NWBfg?|Gu70^xAmd`uY^?3G={N<_uDW z>@RkCqvPx-T&mmwMe`+CpnN4}&B%nPZ|fk~^eoxsSlV2h*9=#(+rjp}D|;-T&nxYd zWhls|W688PRW{M@t84-+P1HbzA;;hb9$Qcp$6UCN7eY!@(Ea z2|ji32Pa41+KbPyduSMpkeDd?;UdQ;g9MxEyAS>t3?_+ygY3r!6>jtQyO6370}D1K zVq$v$ZbM&?oD>Bi@=5q}v=&z(pNs*zD$G;OkYv_tFz=LDRxiJezf|`fPc4i>OUW=A z6LyX+c--RDx20l)$|o2cl|@DYKJdOn62cc~(pSNc9I!S;?EXRtuAeo-o_-bLa>Ljx zjeYnwY6}=^yoLp{&vWT>2H~ISV_9YDBh)*&50_c`4t#N98>mOFz?2qCHdF2`jL`i8*G7Nmjm+&>pr01|>o$d6 zT&@-N$ucaH<-v;W?_l@M-Q@T@h~7>-0)DbB{JI%J-*MUj-nJ@794g6ia`mtH;~pEK z_P@EzVz(Bbcz7cJ&mtAYqHG9oPJwLmV_Z(H5}&<21ZPEBumSbguzMjeyIp$hZ{q?y zJjIF^WGOo}^A2wsc9L9-onfnYB-VYN0(&=)gJmBk)BZyd^h?f&Im~{KVsAs(uu+!tQcTrFGSzo5f#$8Z=;wwM5lk7mMe`#89(l1 z?HORg%H(eGcLVp(+X+*PP1?P%@6l_p+8~2vw-0igJ+?DNGXr`)dabZ`RAOrT zPeV*-97NVzGbe$Y`u!*1Y{|FqZq`R`wS6sjU%VEYhHEpq*G=%NBY;mcJ4zFqPeVq1 zI6V021xF=cqmJrRe#Z>~Eh@aQ{6Bo<)f+94be3bnzX{w%pGjPY=T`8RiQ;BFmgNFF z!XTk$3wigJ@HRE_@XXJU8!fOH{OhIJ;J3;YP^!wtT^tD)6pUHzo_y$1N)@HoCqPbD zC8$ibLGz7G^wwKoJ^!-cg9Sd(?$|7mp~Xa!KK_ynHx$4NBM<7bmxQ*aJ^Z;02QE%u z_>NZ$!sZ?aR(#4D%|d7MZB>7<{F@}1>gm#e z8}q_(d(ThE^9!O)u0z?{S@W^RZ6RlK{scHqn*{+XF<3Cw1FCd{UQ!c7P|z|(*Wzik zv;8%kU9}Hv`o44iM<%j&zv{uPFr&O;tp|T{*-5@(YB#uljfTy0xC~3xbRM?yA0mc;@4G(E_nklXJyT*z-C4Z0wx6$3W1e zKvDPibk6ci6uKYr!n?91&~)F6mXzG*Pbb|JjqQ{sTNVcQ-?anHErw67eIP3{ksV%G z25+ZYf|WaviR5san=~E6mhELn?;OCS9Y*BhavFvMJL|Ky-ZNN|I-hCkf5({vv-$1aPLQ;EFk4n7c%y{$qfaY0s~~~PxIc+r8V@6h!66tcdlFlO9)d4tTk!z|03UJ%Je%E- zE4swHXKSz_k4;IX{4@sbNrx|koOxBtV3uiX%_uY#&%W&u_jsR2wUY*k>LwL~*KY5A3=3 zl3(gl3(6}7vDbe8q4ku0)P6n`x*9UkVB!nGpY|If%iiFS$NSjmvk}~AB{yg+98V?v z1$cMFG)ljp!MPh&zyLK{;eD^q694R?9M zZgU$luS-Q!bd90~B`K)p zQwr~oF2bJ8LRZV|$N2hj8Lyb7iW)L&X^_r+J~*HVujYm`gFU5~{YnKsT<^zfsZX5M z$s}BK?S)9|&m$D?9!^_q9*8YQ>e7=d7ocN@0oQe|9w9#t4sRbX9`El?eJX3IKT{oF z*SSK|_$qGVlMO7ZxE34ceMFgiliBE%=lC#VH}YCCh77-}ke>S_$|*gGJwp|#&NK&h zNve?ju;K9MMiZv06!2F{H{k@?1ipaVO2a$PVW)OFMr})h(7;aaw5S@bzxUyjwWDC? z7+c6F>qJZ2X4EwK%^l;jVA+C$s4FprHMZAdYK#<4HE)6NNCnEf+K=1Q^U1pHt&g#%gtLcnv|2XY9<>ubxtsvmC&5sDG>CrHU*rGfONy%Mhx^w@@&!w((dvsNy>G69>2nOYZkbrv;nx`ZkkA8H+6_SwV)|bSIA8E7=D(=UG68 z*%(R~Jc9kV(v(cI$I|SRW{^}R$u25Bg?|g8KrUb>jn6Y@xBG0_kR$J~Y5qgV|8WzS z+#f_1BaK=7QGKT9Y{&W~4&u3S2~2+aO6GZfBa>g~2DQ_r7&@ADa}1S|)ZqU`D<&~3hsPBG)TW4Xtmb#os4 zD-Fd$sbiwcm-JC(+zm{4I+PwZ#sa%x#9ozZ5mg#O;d~SD{0*#Nw9rjZ$zkAuAsqWe zcKV)+um{iS0 zL*p{IWcwc9RG9Iz?9JGl^eQ--u>c&s|KQ7!;q3jbH+Wz0cfRUfDs(ucR1OnAfh6Tx zh~K7%rt+4ks(KGz8Rps;eRJhUahWnq?wJ2hPd^BHsh9@#`(c^ zY~2t=_D-=G@77Kf3H){DTM)$UE!JeO4-dfLwYNl;j{7q{=S?q{ez0FGE1N~mTdT34FPufc3BhXP3FNl&2Z|dD zc;ERm@Bodc+_wzx+`h&?3CrPn=UAfQ)9>gwzX_K`J8?~i$8c7|FT%f>f4Dmpm$7io zK=yr0I{x`@8gtG)&0b6tgY<g-L1Ex8)_^rt+RaJm4G9NPdPlA$n9_{``TL%Eq(deAw4J^ngAhsz5z#5*_D zaAvzC-_hxYS9&c_bLe{7z1b6(;00c(sKA01OW}n565b_7m277ZrM%>xAouxdRn=e%LkK30mHBH4OkxhADY`-;#6ItM1L;J(!&;alq&Pa<69=t zq>(|;?0cLG*mvD#)qe?SxoH{RaSO!8kQc-;x{RPg@^z*_+0)oP;>IGw>A}{*uP3FSc~_`a-6%R1IFQ zpTGtwDA7IXLM?cqn4 zy~YDE&dl}db{3JEP0guNe3{S-q;_O8j+7fq5B;a0tMnfHo}Px%K{0IXi!4ZxEQR%) zH{IE>f?nKCVXK-(ve!nnSQ=Kub-w+92I_akKVI&^(}^=FD*dbI)}!HkmTL;Y>}-4= zpFxhlqA_E1CdL#SQF6jMQfK(>tPN27i!Liz4*YLTQ5bL$MLEhg2xn7InZlK_1KhROxvX^e16bjI7BqMIK^M!Q@i$(=&C08+Ww%mQXPGk| z*q;meGO1Wsag)TZ=IpJ-VcI+##qpDO;yxxM?p(vFTMP) zpLcG!%8nfTjLU8AV@Fe(Ddvh|3@zidy93*Ei;wL$63*&cvWT}(+F!0e}w2`3iN047MAqw zF4btI;LU6POlE@uyKk%kKf2aX_rpzWfte@EuAck%6M>6{#S9`0AF0!zKTwEsZp@YIvTvS zNbobSr4gBhqJ{(G@NUB(9MCy|(u^YUu>EDQ(2|F=?lcUJ?T24=Uc6<=f_hi%y}c#{VS$1sctktZxAhvbHSUfrx~k#hbLb+GG}rod7nYF z;R|57)*!lYs}(N`{)6}~H<&o49ir`oU0LsQK^H~xY5~jGF`xY)b=?vxyGO%i@qT=K zd?x#%(*)ac$KbQ;I&^(N5U4wTL4{=xZBCV&Le<_1>Qzg{;N|=I6@FDBz4br9P~eRz zu9W7zUhl=g>rGs$=LK&1{XNX}b{Suv8p}+c0yV=(Ivg~K@;6Ljb|I1!G2WF*ZU`)g zMK`(3J;I&NrYIT`olIw5Z|7nYvtaL`bR1)5$tuQt#$=SDB#Q<-wrvVq*cwkIZAP@n zqnw*|@)tkz##qq0?ZD(qj3I953budZ6xj5sU&v%j@~h6J!HvCp*w9&rps-DooB}NA zx3(9rYOMrr>GLUh^DfrfmJE|iU&|z_jUp6DPK%7yN8I%KRgGQSJp6H?+_&Tuc7R%Q~Hrsm<#;(s_+`n087^auWS z)e+1{>fi?*pGNA=hu}cl5iTb!1aACzjJIshaF+&bqT?P*seZmHTR8nC4lu40S)Ny6 z8Z(=)+;z98A!R$Oh+hEr-;80)znKa?cPScYlM4T~nxnb2BXbBZ0rOS`+!uHRe-Den zA;Y6^UDXB9Qy#_p>>JE9*2bcTZ?EXktT0aDfE**2adiCoN_0v4iU!a8(QI`T6l9p- zz)}&rKDCI>WuN8tum6o3Jl|Z5R34Y5mrwxy%LC}74?CV$o+wHu-W7bgaSMD(O)T~%@U-y* zXHj4Z$;Lln%E`qrx6X-%ZGI=x_WX?d1|$F9?CEUv6Dbz|I*s$#xR2kpig@$hSjZ{# z2CFMRIPaDeH7NVyht-nU`?sL7Ejx@%C0@Y7^7A;^rdI?XpD2lc@JViYnYh10W zi(88_aMi9dattx0Q2!fvNpcIQX1wO_j5cH*YnpqRvWTOv z#Cf-GanhNSz~9fFIGZtY1!Rpj zqd2M2G^xXax8Gb1yN`8)>~>@7nA3wh%v&+K@GNdD%>=nm+3?3E98dqtfn2Yvl`FpJ z;_g}gkXyH(_50k!s1Z}p^4)BhGuoKjX?GcJJc{P~!xpgZF~8wthCZh{MS)7Y#=t3Q zId)CcmbL$L;V0}V2jvXi|1g@-OZFF z1sIj;fN3kfWjgnlvlMnx%CfM!&L1+znC8_Nm|n|Fi>5ht;F&<`K+5<}Y1zdQS%y z3e1N$LTAXukMyM>1t+Xp$U+s(DRG@OXR`hlJ2T1#+xIKen6ve;IYz;gc{2EO^Sk&Y4e7%)XK7qm@{iKY_v|E$Cu-1%67~OPpUbR!C+tb?LeI zxM37cd0fN(9{wbp*Kx#linzV&Cb611;dJ3yBd$%Gg+((`_uE`qO}MD-DWW9*5Q<+p-FA-r*Y%L_re^t3zvHQoVNtx?(XF#&oBW$zfJ_dwe050ZeDY?HqXSeEYRmB7rMfb)%SWc%VS0O zWXm8nV^sv~*ipq7XRX7$_MhnabUfKDGsDC~A#8_}9r`pZr2Ts~V1!{Iu1c!KJB#n~ z_80U?&Qaive>{nWI@UC_uoXAEX~NL>w{Td)3)(0B5dVy{BIl82%*X6KD&jr9idSQH z8>?`2R1QQh7yL{PUr`Oh*~~pgoR7s23{=sgwQs(ltil}PUl?IuSr+TQug z5tLYR0N?y~xRSrp3hg(0@Ws(~cw&&ip7c$iJ$fQ=*Zag}T>i)fI>h7JX)VxEd{Q*D zV>dm%JBuwoyq-zeOd_w#Gs!9c9iAP3S zD$ucW6`ZdvAsqMde#_b#D@&^-3zQxkQ~xx*Pem=gVQx zhDaKxEcExh5W`{dQi_qS0DIxN&Z?`y;<5L!Zr5olEE-COzqnFe;|G+}h@tf#7O|`6 z2C*kI)R}R{Q`kLx6uuGe@3=#g@Ltvtq?J|p+(d)P)>N}esd4<>_c=Iwdm;|ocbzlM zI0u2B25`BN>P#<58kN7Fp|DSxu*$*)TXfIj=uhV$b6z&)=FjF9?%F~=x_;!>-puPu zZX?;*xfpSX=N6tC&(1xqhexZlKz_6u80<|({n8|{e(Wr~F!`hCugwmu?Rp8y<#nL1 z*Uaayy@-Ph4sczn?yUUz1b97kJMXnsiXC4%7E>k;BwdFW@Oj;JOpX66_I`ilo*AR8#z+W*l7`Bmt2# zjM;trCosRPkvCgs$S<)vg^IhJSnhdCl!4>0C1fDR9SrAoW;VhykKwfSjvea~&1G9d z6xpyz>iG4)UG(L<7_5wB1+U{H44CH&ZD-EF$BA0hv*0v*-Pwj01-517Mn$F<)d|Tq z%UG1~oOT_{VAiFpxE&!QD6zj5H_A8RIN70sY41x#*r#)B`jkwYpP7!-(S3xmKu=aC zXg^*5m1wRv3Qx_Q$%@S5!OU<8|GrBbCYgAEulYVcUHOwpf5T%ai1p{s1-;-s-^H+b z;}UUatR>4mu0T(+LeTYr3qCR}V>fSq#uAkw?CPUIEUMFn(_DL+uRAFL!Ia34JoFDk zt^MfXmN0gwehf`b+(q6CtU$cz2KfAWfO-=y;lpBAvbj1DPBh)d(7_|2^T!Z2Z@~dJ z?6Wl;NXo>9#m#Jt?Hyj22-rmLB%Zwu#p>tkw0->=*6X6orf*ddZC(47yBf%guKEpQ z4>p8D!6|ov%^AZ@OnD1micfHPl4IGCe?qQ3g~$8}YBmigEI{Xx7w0)|6w}$6&Gnyq z4HEwpNYm{f{BpW2uyu9$?`>}QPte@DQ(kj@#dEN3`CMjN7YZ{s17xcOfXc#!%saFL z!ydS>UMnFBb=jYcVialW3|W4A{}b?k=mpBp2=okZLW{vVG9CF1e%=meDgn;qA7%lC zmyhB`?Krk7N}XF3TMqM7%~(_7E>s+@jbVwNm5%4f!^=5Y_$$|+vRor@tN7vLpGbrKA0vD2R@l0`aMRVC~uiufHA=dXw(p{`i|*VU#|)eVZxMK7em== zft~MnYpiI@9%mY+=mPV)bRfYh2Ma38U{~mOa5-=ge5Z7RSHw2%!GPcVXSYJUX{pXV zT_Wf+*|Ng@snh+;I6^n7PB78@VDI#@{I5ih@gk zQpeGPXZvuT`V^4Z`<3^)+=OEk`@~z`Y6yFgZs?hp0YaGxKAR`crY&${zlKKx@8v9# zk~t)Je$@CVw;kwIbQh+yX)*7qwODmYnmxK-2uG=$kHKhuqy0C~we_O=kP1N_(%2{- zMUyutqr|#B%=YqhcH*5EoRvJs-F1X$XQEN}-E>RM8n=hw+n^L^_q>Se@55edG&4OoTXZbblLjFv-44d6BQSb;= zV*TANP_@m3$FZvX*;~b+^Y#ZPT6|MHd&MQOw2A`j*UsZOqiNi+$5IqKVm9qLxSrkZ z{0f0j2BW5yHkGBk;68qO40{X&u0^&6=O&yv8{3@m?J7Geeb|aloHJal%Z5uQo56Ue zE*x4M1P{yA*b2w}%zN%2oA$fLY*E+@c#@T08Sq>a*N$JyyKed{Ry}tRjwwgL{vQXq zmJc~%V^1;hY#+GZZ(~Q<)7c8$$=~`qF0Y;JsZX(rcWegRVjieF8sjSSbVhf z6`Gh`gJC-xMUnw(>~&HN7x!f=Nqn5gjaQeW46n^p_M@Gfc480<9BIz_2dLtiks;h& z+ekjRcqT}{uivax9LoI7$A3~1Y*EKL(Tv46VbUZm zEIQ(Y2XE9vyP=?qR@#E$*dTD+*}|(&o&;O={YKOF#e9uP94QES=XJ{yxyMCU_+(*r zeKzg~Z$8nD|Lgt&-<*wxMcRhoGjA@d*51os9C05y+y~IMzwf!=xBua;4L`V;-J5Cr zW?7oC@f;5KzJayg*SKIUbAeeFjwXM1GUKfgO#j9(R!TvoTA^rb8t>l-SZS@=$VCGGm zrcQ=aKXzej;CsQlvXgg@zK#8De=u{2B8*LyXZkU9{PoQt{IbL6*g8*hHdkGpJzrl2 z4c20GeRUAY^AJ1nAqUQg<+1e272eFMAMICfqKnA~NyFcQIfv&!e*Ph*ocKZ%U+|sZ z_PHHut_NW3`xNHmbOP_Y4*>NQ0w-o$KWy<@jdy02q0hWpPCH%(!v~Z>B2;6e%K-Yb z@;r-Bh!ZK4EdZmY6ENQ49U9Mj&My*8{XG71R6R71S%ZyXgu)gXc`(b27y8{QpZ2uGZPI5oEr01}ElEwJF=n6V! zMPNwxL3m=m7!sDZ!Jj41`5S&ZTp-(r-Q|M?kNX5%`0@wtSB-;RUozo##T5S1T1K^< z_D~{4T)~JT!d~m1&GWikPI}%LD(L*n4Z0o5ufI0~#UXCEepL$pOVFxH*Oc(dsUg%Y zr^6z5sIk6rBHDULia+S_%VxiRq{vO^V~l9@gnz4Ep(?M9#h^?_=Z3-&+bk|7_B4$* z%m?37hxsYbcXJSzO=pCDBt?4-*#FLgw##zdrNtWDiN4<)#cNSnvlsVxs0shxWh;(+ zyNffmH6+toL)z50iu?vHh8ROdcE&N1W)#9dxFzz@jc z{(jGg{-8vZ58pwBffTYn|86M@p`PUk)>n>kaUcDmZCqdpn zkQQF-gh7p#Y#%NKdEi5@P`SH!2)+EAVK z2G6A)VA-!4F{!Q*2FU)vUf)(Y_Ai(fNM6OnfN?neQz&jY{R`DEsbFxK6!YBS=H1zdm(~>F)}!ID(?Sl4S`?`A??+r{v;|dU^5JOxOtkp96SDab&Py=? zJG_QaozVYUS1%+;?SA7og}1OUvm77B1cTUpHl1@NvDsC#%kd zRcD1+qos{o?c~H)>#PW8c$Sj` zM=K8F<{c#%-W`W~%bsJh-fn(`(^Gg@8v~+-D!lWc5?Z@;a82D6?wkG%+_ho>)(U@n znqMJTH+c%Cn=TYr_!H#aQxg0j9U%El0`;=@aW@v(;61zPbaKWkesP~HJ`?)64xTK> z_z9V!k%dCf`GxTWZnk;2-@O-6_c*T@* zurnOUB-0wXSmSJ(@bVKs%p(t4Wg>8q zX^mE1 zmd-qy%J2Q(5fYUlQ<5kYN{US9xwjHgh71`~(uk6Jm*zxf$}EyXh6a)$D(AU(5tTGk z#!4Cq(I6^(pU-do{@81sWi6IJ&Uwz>_kO*u3#*Uz^JZ!+q=`$-*?W}_jkfoOqxHX7 zCY96nVHyn1z!m7Me_^NO_|LpQb#zkL( zX`aem+^}#ey&U$OHTOtmt;}y>IbWJY-<^v6CC`}N(FO=@xCOm0SHXn8S-2-S0WjkN z*ql2CQ>30kV(Bud%2-8`X8J-~N;^jTIWn=wIK$Q0Oj?kCoA0Nxl$g9rq#~tu^!om2 zJl;EmCQEL@={~N9T)UVy^R2-ARUb3nUkBfR{6n*KHFU^z42Gu_vp5Z4a>3R5*^Nk-oYzuF;l%wy{M;xCp6d%sX27!GKd6HQyQ|RCeGZ#BU#}Pvs z#pUW3*^l8j!)`oLn1g-K{Lo%fiY&59#O|g-Y#W~heL<^ZVJC3cxucV_Z-G>)?u zN5x5h^gjIdCK}YYn_<~h{>k`|}) zS7x%~OWn~_*N`-OuqN{&?%`aEHFUku1YCODk}vy34;nkwVdA_3>=6IVrn)EK%m_XF z=(K}9-6})^>I|`Zt07$*DuGx18-OIdU_&lF#)>DtL~hO+I+gQgyUTpwa@)t*VmD>- z%2b4!T6@4orVaLYy~JiN!(JlhLXWn^<2A_%xTraR8hh99TL-$(HX{ulvU8~}`-zdP z2bdbqn|3fs z3me7Zrhkm>I&${X=GhmSpv!%|0i^2zEhW*t}nx6_aEX11s^v`&r~%8Qa4meur# ze-g5O&^C16WXP564X7(DBbKIBUJJDztwXR*n2(CrEBXnZ?|Ukn5Bg z?Wq9IeR}k7-9DHfA%oY&RZ%h{0QUS;px@)O=&RlP;N8+l9KXczvFI1nsW?Oq35#J- zwH-5HDMKBER={szUy@gv12vx!rSt5m=fy5eI?{$U^FD&Kh8|J7>&okwl%o{}LeMHI zMUms))pK7X7xvDEYcqaBpV}n$(3V-S@j)3=vS|zK6gdx11KN4Q+J zIO%=B`MJUzVDrxR%)w>eRAb{qtj;`0=e$pZe;c}BM#~A%>T5$8*HdgYM!{^8&uoj= zXI5xt5Iyy$5)XwRVl9V{q2BHhjFZtNQv_5Phblgv8t%ebubmiwZ;p>VIFUBHZ$p;L zj;Jg(~8;Whlu5N>#N2+vTt`?nM=0x_bGu3Ws>xBMI1~u z3S&2LxZ>^G)8X}tJk)z`Mx1>oVst?qF3(s&1U^x!mF9msPN$IX)!fmpavKQla5H z7SiP+m)M5p7-q>$UD`G;mN*>>!58dizRQ-Ww5{bBwR6oT!eQqbGDV2gwMtUI2P<*v zud5u-x{!3rCo*Ggui$5W1}l2Z5aJ8Bk?vJHD6M|PCl&z;B=GhsE=OMmom)id+PT^61-mXVEj-I) z@83sFCM?3!mBX;G^AVSS9@CbrMi-W1*$aK1<^*fj)yW+I@YIq>Yn|AA#u#U<)G`P(cQr8B9{lxR+ zO427R4i=(cX3Qnh>WgvZtw`Klxs(@f&v9xGSkn44jyNm+92?-9!aVa5r1wGsP%gg* zWmRL@`p{~|=ja_cG4_!e3Fm9|Xx$!qllb4yE^>1wjcF$ODnfLFe>ao_+t4i%5%a^-S*u5T{6`=$%kB!h6!w&zw#Fpu7# z_t|6;%9a_<#m44Tj{W9Bgd?Vr16Cf?$~Fxj=uKvR5jC>6y#uyb$Fe9Hi|JCLv_5na zdH-KEx@e|D1LsR^9oB`0`>DJq2l?=-A|1Ue@A9U*>#;GPL*e?`1yq*%e_sFP?p_Vb znW0!m3_oMQ+}M-{XQtG%i`OQ?sRA{4Rc}V@-g58#dmETK)j`IQ%adyhhU25`Sg!ZP z;*Z@Ow@T+4Q!LXWD^$5onh)hop5sjoJ!4Tsb}Aj@`r|4q*W(_gskqW@ylU#j2~^gj zntyK~mAz%-h_XvkAaCtc9@8-azHR=3d+qn&`5F2g9$$w)4XB#IS#c=JxiL1FHF6dSLD1yXy+k^VfGd0ZTe)EAJzt>SE>`!o1< zLyA;4)_~FjFH-$gpK7S)vT9QE$o)U(8252*e(tynw{F%ViF3->`tlWY&?^hpJ>&KQ zCr;p%22pDD^gpcH9Eq2XPe)7kF8f<~FBtA_g5ObnHEi|_zI88ALD-8BJjGinn>sN@ZW{a zrmITI*^6>=bl6@4@AB4i`B@f5<_eRV%$Y>I=@pJ|ABXdYrHQG767J+Ou6sf^@czuq z1?QY}Fn!zrv6r@y+d-2F(THMVw(TH9%mkWtIb(HpAiZB6L~1t7qEp7aXx6XQWKx3w zIsDceV(U(TuhDbJN#8*Ja$MoxImt}tntE_dJj@>Xu1A`09>=Ld6Ul-98X2Q`-|%sY z5}D~Y0K_Jbn7=v$_xn@P{)H&LzkenigabZmUAVK^&cVca890Yy(i)*Sv z;C+)0(Ve{<9ivy#OIH^_chPMq^4~>|56O~y8_p9!c?HO9m`JxKxsp3SGT?W}H8}h9 z9o{hR&+$p_{V)E~Jyj5H_IUOK6K`8e+fIJH!>HwCv5jZb~dHz#2Ttq!KGTT(bDsXm?87Y`CEHxa9_Nsu30 zf{$`ef^XbONDvXnj1})dTq*+})TPj5J1!G=as{Emxfrr#6^&HpW@rc1$tkfyGF^{z zuC?D}1e05_MA?l=JrqaYY6)Xl;RASBYmF`Eb%?@~`7~yOG}TQDBTH_WP@EeLVx9(& zSa=+H%YHMVSCd(-ZaZ!tAVehNx|oRvl5z1QRYKSeu;)Fu?^t&dGhEC`va=gKOaS0cTtv6waIRc^|J_`xO&stS1L=%%Uq-NRrYOhw%4N1Khb|HtoLNk3{1RqciU& z->lh|{1`XIc|1QT4~&H$H6dst+ybASPgQA4ETn3we(aFYg zSVz|~6ZTD@Datw6q@2ze{2aykj`OhV<5R52q1fCUgtTliD`3_O4L^&RO=a)UXLTnu zq^{;zDx&ly*9qO*@DRk}+{oObPN)|SB&+om$<($~)@Tkx{(O21H8H2K?-PYR^M^3r zRSpd}x5ZC;C)RaDg{j)hVdrM$fRo)tkhgn;dAEJ2UEVnV$Lj02 zv!@CC2Fl3U0zdj>XdSxm{fI>^M`1h1o;2t9#Pi=O)4%*Gc8o^gr$Iet=Me)8+1ibF z4W^O?{Sj1>ONO5h<8b~NG2)i6gn(l%HE;Fi=Ez*8BvpmRMyoY@Ro{CfneCdSgRfSc^cdH3OaV-7}SN|Q{T*>r7o z7khr(j4m-uVB&r!lSKz#@afkMRFY1`UDfX(;SfW%TD0Mki60?9buPRSildu~55Vk8 z+n`@hk@g**PS>s8z(miAg2h^OFnGL`Z5!po-uYHEc;if%;LV+lTYj^L9?YUP|2)xz zuSKSebQ#~vT>utNd~`{EizSJGez#SrnNmF~*B^>+p3ekPhXCeQXg>Fxj$)jHd0Y>C zD@>lxbq-TF=GMdQuzJrvHmq+dy>Rso8)f#E>pc3?QtLaQxg!B4CCieDKl8Bj$UgGm zAD6pclaDzE!|0~Ch43d%koNBJr_OFmXsP>M_H3jByL+lBz0S>H!gM!)Y~vC#t;>RX z8LxuyqiK}=ZUO_+gOI5j%>H?Jmv6I5lx~jxj8evTKsD_&RDBMnV_#;`ys8>_=))tC z7RuzXdl-?ns>8+?H%$gE+`?Z5xoopNpDG?mfK@RDWX-`4YI#i>6tvA@-S~T+3dgU} zbvwmm{T3z0ckWl|i{)c+eh-s5vyDAkE6(+pqR}=Y1MIf7f{08#Zke(kloRWK&i#y$ ziayxEWvCv@EM@deg^}+!%pUk#0dCn=v~=%Uy!7iNb9lo~>@e9$3wO>X_FXfec-4Fq z+4LBnENH{4`wk(z+>VdCM3|qKr5L5>R#bJ)T3q(-5+;^AGdngbQL%n?8l-fVVcx!k z=+k3p+NMN84l1)R#^h;6xgI0Te#g=DD>&QUg6#HHrQ##j@aR@NnzuR7`e7j|*|8GM zA9<2-!5t8j)`bTHx%^!(L-fU-x`rNTD}dIKD|k_DDs|zi z=X>>oA^4~_?soOzPi`J&@4XEpO{y(e^`8MnVG&a2q|fZ{F~>I51ahjmg`Fz9m2^zc zhBu}qD4m@ICt?x%g6(i=!~id1ki{?O?_rDb9d1rO2Q$0eSR-{w*cl&*1xp4nHBO#Z zrk;T#jVr0NN;>{t=SO#{j-r)GES%%ciIGC*@j#jZ*>>$c*m_COvaV!k65hfOO59Ak zERNvlraffO?2|-Gs~c1_i*a#60yOTIKrO2XJP`L0FPdv($DHZ(BYzTm#f13ui*%7yHJ3#+yZeW(xa6F{V`x&dxZ&C1Z8OAHkrg9yR*!WHD5Md`rdiuVh zvNh2Cnf)+4b260<_o7a`9pu}k8R${WvDlBN(Zbh$>@yh+8sKS#<6oPU=erEJ1K~vW(r%_pefg&-pCE=ycB6|y)r$p z%Yi)M$}>GhZq#}~11#@Y1{dQO;g$NMcqIJ<-WQw?jad#jDo{yZ6uS_!hx5o%0aH3R zWdR(Yc7S%I_M_YhW#iM&%!pi49#rJ2vzMD%7^6izXq54S6u$#ACgFK&rYAbPqJseE+|)iq3j$GbRwkWD{Si9TVz(igbkTq%fb3Wc>l zq@liAhso$;s{n3Xd6yA#xW=Z<{RUq@nXo4NE<^9RT{O9V1P;wQ zK_(hSpmx9jE;Q6(M4lMay&YZ9qjLa$*KK1Rjq;$Adj_6Shz6bInOt`258#bNh?Q3* zDz{%?|1)3sUQ!J%k&hV54;;&3)<<4&829Y)a3!&uI`~3=IgZ-ZVUD3t$mA$&BG_ zIg#wuKYGj;(NEaBrkZo-)UYBK-ZQr=QlR~eEZt|koSmArj`}>k4w`bO(2w){zHSgA z8v4>|5fNKrldUuc^xiX7yT;E z_^^*oYh6d7+KGq;YQwa1DRlC(#c+C^B6ScL$3?m3)Zt1#J!(+QXm-cY1CuY)FKMN8 z$!?BKIL`{oo&{6k+(>3}buL-9@(wx`7c!Txyk)5qgn3=`UUfNh z;*1f>RdcM#fj!jocrq9bo?~S$R)Fr1C!KS=1lYVHV)=pV{0J^0u|tjQAnD^e_;JJ| zV^)Ydq0o6=d4C66WWbLgoy2@4b)nv50SYftl?!V5<{L4)=7z=dJSO zfRhn zJlZmdx13Dz)>PTf;2b*+H$fqsYjw6pj}cj~+J5nZhp{ z@uHj^J(rpf<5s^opVKB#b5X_(krjCEax&T5Wkq>p6zYOmJZ60nDjrMH5L(VY7P$(G z9KFbngB$3!qBaP=;7(@sWrNz0A;^F52>K>l(7-%ZVt;Qr-s+qVmjWh|>eqf`D1Sb; z-JLNwR+|%9#d|Nf**E?nOT3z)|pP z*C13cYQUEn8;S5^0g`vrp8TZ25ZZs9P4_*|97@$8{Y)=lNF#nMU60}Sc98i0TKMx+ zUs3&ihD1ei0tO~*pb~%CXu!*u8`Man|PmD*I_B@fpx1Kjl(@4UnXBtDi9zn}mq{Uqxb5 z$eL{AvSMLRW!Xn*dL;c*DP{{z<9Zg$$k%rjE^0pU0$Sh2x@kd2l;Rl$`Twgs-0`5Q%VMI7aWo_=6K<%Z;^od3_YQXKzGO zADPqtT(2<;xv_@-D=E}YiNGL{_v{v3MXELFB>Z0NNjK{j-VC~B!_QaKCNdY2@m)R( zuLSqtXYVc$Fyp$95-rR*mnx{}Hf1ITXR$gCGIXkw0Lh9h=FKf&*uHf$NzI%Pu;(%; zb_*)Vu=zrUUETvn|9c1jP5OYj-({GclAkyy(q6na?umWw%i#;h$+}*zOr-X1r9&qk zveF(_;NrQ7yD$5M9}Bb5>DXTUp;QE=>!!gCzAWRn>o!Jzn}(~j4ukcF0Q|M;G(0{T zi*+ZL!Gpt|puH^vHlz(Q&eKnkJ)b(6QcVrUNZ*)^zWj`}dN>EXyu&bgjwFWr&m*0e zufT39LPtP@q_i)m{hurF$As0WZ6ON0^_BcS&1`%XAIzkGUt0CUD2SvxYLW_KLjrbN zqQCJ2-udkm;|q6TUXwmqe^rwRt@#M`XQHrBB^VsE{=nJy6kP*Gt45pV!r~e;DqFsR zITl-uIr%(($Hqt!Ug5>KtF6PS)uCdBum6v+`RgA~sTaOq1c{$v{o^S2Nd5KlBHlj7!FR)^X$j^(G&>CYSXx9kksvgI{;pSZ_&?YM=f zYY1U3iG#DP5f$Y8Pc63JP-<`|=h3pFqaQ7(n1=}{8yev7^PT9^^9{qh`XPJ%8BosN z2uc54L3@2Mcs4Y&7Fb-HOlPAMb0l4o0de?Iy0!+OGnyMGK{~@8sP0G z@7U@od{itfWsVgLqhIVhSk^2{wQB`=kN=1fdRPQ)kMx54@zpd$@F&xx^q3tJRR@8> z?bIOLmA0R?ru|3y@yoI?%=`3(9baz^1$CC_vc8I{`~CpkiR-AJ^jYSyy$`)G_XT~> zxQyoRkf2v?PGa{x^CaI+R|70apgtWF$)!!#=z`mS;Q6f$OzVy{uy}nikQ0}yBHy3E zD=XxwP$B~c!y&X2)QPiPC|wljMKx2uF&-zjK+}6SPDJ?_)Q0=XB)L}BHeQT+7WJS~ zlN~irTT6MR(_wF{CcXAdh$>2+h8-@ip>D7aUepvazsK$A7;Gm0WfxLA_mjkD>TG(U3it9kbEQ3iC|HEWYy#Z;hPg$iRW!m~uj}(X;0LfX;(IP1U_Z@x; z4b67wYc~w(#=5w{dlpeyH3R$2d`Y%tIq0Oxlb~@PP0p>r!F4aeq4yN#S1tz)?82CV zH+WdPnRSkyLbef85ZrQ-7|fl-OuVLpsoK8e%j*p4T{D67mtVv_*$DdThOa#xQRt~Ub@o;uedZI%Gms)05hsX3eigCt3j_U@LO45iiK$;;NT&>W;q1RR zfcGUBjW5fvx{0C0^Meh!a$*r*e1!~nUhb^2EK}q-NYiLrt{iyZcV;$Ko#sbR2|+uq zTVEmc5dZDgq)+xtWsD!)g&>bAW_0RLzS&uAJeV>DR zob;HK*d5*Bh_5)C8d> z9_Ah9d>CD?VWEyM@%tD7;;jLsXlpacPM<*HC8P1>g2UXMXgU;cNrJs{+%roukN-8d z3g?eXGhYVYLh{a=xO>@FMti*_yFud%6Xo2p?!!@)j zJx&sz^V!9Ty?mJ)QB|v*qfz3e9K$o)Oh1j1xei7p_LKFiO>wYu2gWq5f^uUg;LS3lO1ZCC z%|DxP#lcgz3OAPG)PxG?ShJq`^~7>#^GZ1WCyMDX(xn#-IF{+6&FG$5!dlvLJh|Sv z7`}KrF1Vt`OAnb%+|P`|P3?G?e@=~N6j`w| zaxyCf?;h-`LjFpa#dl(-eV1o)yxk#L<|*-AkVMnF@4;!Kr6m4UA%@jXqxW7vAYavV zpzW9ud#`H^42tlvWxp=YOB>_uD4S271V_P!5lhTkVnV#b$C+6uj0O8;=me)t{Oez? zk`*Cl5WD3Qqg0;&Y1h&~E@M7B=UNU!CX9fDGmA?-7IAF*9i;Nha=5R)o$fkzl96sW zPnvR5DJ1Gp`>$f~;pGp;B8!r~R7v8@u^rb3?uXpT?|Fx3UuFlt+n|=QEVZnTC47`3 zo%-#J@jnf6t?3GGXs9O6UeUz;gEFKU+rqi-Rph{1V>bWq3Zgilg3_aZm>-l*&c&u+ zm2xxA3bv#SzXalgeldSc%;-pVF1g^hhdMrgjsAbk$bS(dV5N1AZmclDmZ7P6z2e{482d+XY zsEFH>`Sr0xUeF37v+JQXFcn;WB``5j`9xd!3IFY-G*(iu7Jj--q|Z-rZp3vNIA+HA zzMkwL%3gvb^EP+pYrYKDD_((NW+M3OPNKr>ave`Dq!r z;7lR!vSS){$H>yTQEN$&!dg=IX`DL)1Ole$gAm8ssA#&+UzB&0jxNn)+m=p-1S2t0 zZ=gYSZr-AQ6icX1n*b5dSjo#<*TDAFq?kOFF2b}!+*u#SnHuv1{OqnlcGnMK*Y>5< zb!sz{)4hnx!Z?$cZmGoGkK-!*@aBzOvxL=Uli_+%D=e09t? z6BRkSZ`%a2aoQ4GY|7A^d?6a*@eQXtQP@4thZkK|hsPyy*vT;oFg#zH`EEae*GKee zcH|RgTe~$jaf58tm~gWEOeL#X5Kk6LDbWUrlSJv@R`%N6TTI`5Uzn;HONP!!bL^F7 zB#pHo*m z-)?w=$T^45i*pJ{#ri#T<&#w&nc2f@|pS7nMH@24#I4y)jXHAd-3|#we*UZCYju;NDC8u$x(4% zs$d~REOl#X@YgbYe&2#?cXKL#JPk>;O`rC$vL;9R>te46Wunkvib=bt~} z`MZsz>QgDJCI{qR@@nd~KbGL!b~G<8hUE)8arLY#WQ%Svo+;eRj^)YFhsTyuN$!1OxSB^t|^ndRO@tKI(de zHB(JUu0#R08oHo&s1NqWbP=_1IdV_kny~qY@mKaem{ySnW~s$E=ejf@$7*lC` zT8ufvx}@EpoG8ACp~G{vNXQ9S5~6s_;I1Lb20YRPp*Z zrgi=dBB^Bwt}hIU>6{^S{ELT@ZkJfRWjwX2d=qZ!nAfO6BN0I z-JhPq`?{@QEwY^U{r(1pNhOeJ(+HouCR6>s5F#`85^9#RSar|{^4&sVuSpa=JWqtG zlF4LubS)ma5Cc4rBdb=n@PcC6Vfb>W$>VF~v~`6DE&J~j+h-j{@0zcNOS@lU)D55# zJ6F)EKtUYZe9_n?{sM-6>!rml4`A!&o0xIyI5u&!*fn6T$XzcQU8CGR$(>s^8 zfb2yr&M|F6mUEswbXQKHz~g0`_I+4h8Mti6*T?h#8h zdfGXQc;p9CTgz1LKHUc_Uacda3p~k9jo-CZ?-q{nr${f9nbX4@ zOIGKg2(gwoqX~ZDw64zJOpO!51?nY~}J_T~(7xKxP*{6MJv>_OtEO2Pe0SK#|C z3x+3JONPF49=eaN}1Uw&6h&b6Ch0l?^B2Lz8XbaU=#~ zOpNjB%4HbYYD3n4e2;~eyJ+B^;An*6EtU>8Uf(;D-#Ivh^Eg4*K$$H8Dg_!33FH2e9Ip?eo>!*!`#5j62U6!7#_# z*8Px)v#-05XohHa zP~oc;Guv(ro2Rpo?RFn#wicYDU4hf6HJL($_imvL3L^Ax+)4=Xa3t3IPvRf9BH|$( z39jZ(c@pvcc*dc=>bO-5%0-IPz}Ok&V#PVsP+LfY97f=6un)6;`(FGk6G;swNYK&1 zJbcY%ntmC~fJsZdiT{6p@gH~oZqHwa<^}!4irn=i#;+LFF)Kjh)WjGdRn7%4)?25*Fiu0k^ zUIriEy2I-^dKsR-X~bD~V(5!Q-+6UY2GQeqI0=mTh^u8UGqZcvfl%{TeEi}pbB=Ui z#wk_$;eHO=n;OQy_v13@y=}|XnLY&7>N_BuGYd48D)>*j#YvLPIF883!$zA~WP7d% zJzN>tup-Q6@iF(*hPEZ2t)Ler|2_XlssE|7QVlE zjF;3@$V2NG^8Io)j)OUh-703)zAvNO-!wDtO`1T!Jc!P#Q$~MLKkQDXq^c>2%UjFC zDCdvt^*@Ch)mGB?i}$cLFPm{m;8FVa!#SMvsS^rB4#J!pV)Xi=*z0n}f)F2NJY*%o{SVNl>@5T;5^+WXvx44JE(+K>42goWJZahC1D2t+v-2?^%$D-<}gz zvn7z9yjcuI{9;h>;cLjvd5ep(zryC3qRz- z=uZ)J%2y(ueP!g{Z+Q|pXhMf2x&10*3s)UJ!;K^lk~H9nL8kxMJFmUrdf7dgI71yA z?knNc%tEA60qFE*bJd4ivuV9;JMPXlgEK{sQFliI+V1Ir7u#g%;7Kq1mvaT~r``t< zWgq;enhVPXxtznAcKmDbAKdw3O%~2PNy1)NlIDwAWKPRce&>}#aCqPXC??D#nIdqLCVi!`sefpOh;j-UNdi4})pMn^Iq z$GLkkN&B6U=rx5eS8|AyNrsarS;=txuOzB<|3Z_YG=9yU2~=i&k_jl?BC>mKqh#(g ztWC9|6aPfRgeNw{At;Sn?K;Wzzba9DP9S^H_7WEM9EAsKec-LaL#F$NJ32=?({1Sr z=(6b(`0vOD+mgrN{3e#(yYn9n?AM}C+%-`zU6&;9Nu(iLdl>T!1gC9AxX_35pY;ag zz@Zi7lOxB_kWj}Q&26CeL>sqV@!=U8R+9}<-Z)=GhQ~I9B`ON zEbqU;kBXc4c=s*W6H3EK(Y0jHV}P(?XJS0^oIcGrXFa}7q=_01yr&}Hpz^gCYzi+1 z?*J|XIr0?d^rbKwVu5r;eJoxO{shXgiR3_62()k++sA(<0Vf(K>->wk~m&9Ja7+(Lk8|_skSF(51fWlwLPdjbA;oFf8)H-n&h?4 z3%nxmmf7#pgrV;g_y&$v?6(>9u&hIfy!pYo=|dTsyH&VKPT?M3>WUZbaj9Yi(igyx zk^p%SaSDqcmD8q;%b5%FkDx;?k2<jN!drrca|5%DK-=)YS*@9s>;n>Qv>l{ZhYq+|@&c2A`j7ySn3C*t7Qu0jp> zhhWR0bnq?EA{|EW!0C`II2y}81`!N;jvsg1(Za^PXgF?rt8iWPxn$||9RBr}vZTEIG*%|P#C4%2aCB!f ztaS0l-+O}Cs+UK=K&2Mljc#Ix$31-M_aC!vMLpl6tVJx2T&BTyinDl3uPA0YdyaDaV0Vq)Fxd^!;anF(Ne6D2C=>scQ5fn6aOlxKSkW>Ghk`TNcfUL#Xds$h=Xf8R zyEWmQ6{nYVAEpq@CATXx*hGDvK?)5de|uo z!r8bGL2A+NMz{CuC9aj6ANc2EjOlhD2UI7)7<8NbZ8l;HYJTukKV)D|%ni8b;6oLE ztpVMEIaKwI43^zDCBn~j=&(&K9yL`)i`$=g%WkLP?OVEpePRlWf>oHfJ8Ep!uUvSh z^&5BYUWzdycQE4lAN2YnP7g;)5V>pqR69SI<$rI$fWK-e*maootINPDT^62&Eum_& zIW~!FIzH!mH&s{fg7J4d{%Ids`jg8Vm&D6cQ&WGsa=$;n*VUUTpXNvwf0;*dgBuyG z6^2i(87PRyShq|YcH^)Vb(x$BZ*{flmyQxP+~yuCY`g&e-JzI)$C;OLW4Kr12OhF= zq@4*@*sp`!*`m)7m%0DM+nc{~eUc+!<$Mk_uX8^7n@`Y2;u{k&AW8FV4QaUUeptV~ z9JKB{AT7@FbW2k@^je(;@z)B(RwM`0M%}SH;tYswd;@=6ZZbF1mZHKjV^*uo5m)&N z(!ol!LiA~zCdPk+kj-7JUK#}csL#tVLhl=6MpSorW}Ic&}hXI805 z(yS71SR%0lb*k?&hv{ip_qGT0tQVon8ac95s|{}c=0WJOXuLiuNejyEz!kXxe!N=} zTPGNd2L-Gcf$k(|$+%8ym9F5LtbLSuI0|cVH9c+XjJJlx;f9erYt$!8Qd3>9q-q8{ z-UuLYdnI$NEfs(67a*WQ?&th`W;ivP%y&V~s|G$s)NX__E!fMt+yzvK?=s zw%?Bp-GOkx-vhFJGI&en26-R1aqof4NATMXBeM7FQ{0pDk`bSA5*x>)N&U5H(eKa%^g#rWaKNj3a!PG%Dbp5e;X9;R>0MkSlH#*#5#>n zCmMr7CZ~$h!KKcH+$puhrgIhG?@|Y^Gz7@g@&A~{{mZHLrBS%^s~-;~_f<_g`&ZJ7M>k}{k(WZi_N-katyYkHy>d&4YjmpTr`rqjr&j#-Sx<|Xt) z;W%S`--K-G&``+19t6Svc*e((Te}QFz0?=AAJ{oVwt2@@`+2BXkYTV}oY5PR$OM|@u=iO07sru$6(kD~Jo#PWONII==^W;SgU zB|PW4E31?eskBI?R4S#?CbCyXC?!S8CK^2FI{i|pjEF>2p;Vew+W-6i(i>iQp8G!M zy1w7fM+q{${^IKCvsv%<^}tgD$iJQx7!|8VS_Z4&%kIU%kM5yD=M~QN6eCspCsN<} ze{k~2+1Pl+n7Q211ZCc(3be#^kwK9j z;xk|fVjq^_oy1$Hm6L&^u1tidbAZ|IJ4~z<8?k7m9Dn}!4`)07!Q@0mvb;`!oqzrroD^eKf5OSx0}rXZTn27XFo5MAsc3uNQV?G>h8h0Xjuu;; zvE%1B%>8RjmfOt-h5Y?A|LQeC?DfxZ+-54bujmMQ({BWK7M+KSop-^>EEGlNDzf$j zJvdc)5tRS%bK0fT***UKEn~D7iv3@}nO&#gO{+3IoM%rm-dzN}*i~pUb)8T-iRX>G zWV0(O>d?aT0XDjgM5{IptoA;`JIC9=Xosj&>t0J-p#s4Et-O5ZFJ5TptF7FAKZcV}T5pPOmB`xU$v>+$b|tAY_S zcW796D3)E8#zWQL1=ExzFtPd^*_k#{@aXX$vTpb%eZANZ0uPQSq}rKU1g663=H2+@ zwHEI%-bcC`3TU@`HacCtX#3giA-+mC+&hERwWi>2=gUu7!zMCFk6Pkv5 zt4~As&`cKlZ6UhQUcm;XD|G&ibokSZa3idaq&8P$;EV)LC+sQAseQ=LAJVXR=T2_Q zt+RNh#fe7$c#W(08LzyO1GzM(kN$nPm>itLd&j-&1u@!zVExpBDg^AS-fgRm^D48U zCThDP}P+2>L%69Wv&qWFF&)pn9W;M_|?M1?n!D6x^ z?+#Y?M8h_o^pzF6iEJMZN1q}&kQX~kMqinWGMz(Ywc`;uEH*?7PV2*c&t_pVpIsT& z^F%R`vGB4yn8;a7vaM`4B;((lhA(F0util1J=+rCsq|g?=A9I`(SYwqj4#Arfuoqh z)l_=%VgVlJ%7oSzjzQ_uemY`HKj!!f$ddWtKuc1A37T;Fh*eNkyo|nCIvF*e9%f~W zWpQ$|4|~5g47LtdpoiEfn5+7jbd=;nlF3PI5ysLu+xx=62cy7#NeRz|OBVb|+=E+P z&Z4f~FO1w&jzVLer9W;xbpEoynY%?G(`^hDJ}iKnGvYwz))B&nI;wo$U&meVMX={q zDDWRNa!_Urmu=3U(+(Npj{MbldAb9+-|m8KUbo51yOCh#ti#s0trXtfss?ht;^03N zO&p?SnM(ROxQEBV|K}r^Sdzd#nwi5wa}}1p=rhdi{|`@}OMuh1$?$aUdF1JFC|J81 zehYsJ8p^{!-&L1I6yAa9;-dsHTb>Z3OX_UiYiV?0HK@CI1eYS<9lr^y!AGY?FgkXL z@N|L~EV7pZ^0b0Dsm)_*n+F7Yn%|KVIc`L4?Ls)&I}N)Nz3GdO#$?YiH-S}O2`H>g z1<`W87wQ#3_vOtcKeOyXR}cor-BM9peYS8+hzJ~7wVbxz{Qy7P#F^^KNbtOrh-S_o z$+b1k@OKRd3D(6>d`FrU&b@_qt2AJwvl^s$&Z9n!dZ-IiA#-*cDjZIS9lhO{G`d9C zv`mc2*o=cl_Z(Uych6S-wlqmp*1>;Yi{SQ~eK0fb3(b)T;*$CYh@Ztrw7PYghP%Ch zT@_h^wfwukX_^#Qsr6g%I!H(s+Bu=b8+mp}uZjw?p9sZ@%%E${Fln(`55Ld%36BOL znS98dXMyp)^VR=>%gs(mnpy})zKy3r%L?H3vFpO;RXuobS`C!dC1SZn3fX<+5S(f9 z#g|(QK)Ux7yhxw|i=N-K?$71Tu z5aTs4fV;Pm5Vu}xy#A8T~mZJJhHH6moh$n z*$fZrOXz^jdj9VP5uTMUytyrnEH;Uv+ipdn+lkWZoT2X^`%szNZ+#8s1RGNC$t`fy zwTq0_$RfYS3AoDWLR_n|3E~|-6X$}hXmue0UPU9Uzq$sN@ju^dNasU?a%g<91Jgn_ z3);r`!DHQG2+iCGv;C4tz6;NA$@mDXjhtX`RwxD?H^D}`k!-25jVXoi z=beXkb3Z|`rz(@3c>szptcH@7UhL_$=aK^B ziEwH$oqeko=N`FlYcZ5eKMpNItxR!9^~)xM@=ma6Uj*#=Zz_JYorjjMk5mWxj)N;- zw26JvBl2E(486JHJ_dq_*A6^-M)^4!KC*f ze)Tvd;>T#BjuutCCXeNlm$1r}%IKW!iQ1tu`F{PKr|JqDWy$ zTQolPeL<{7rwR%Zzk>EICnCSE3B|l_K*5xoWUT8R)M$;zDay()GfEY+kBssoVico%o}{3tcKFp<*8bID_&PzLw_{gq<>z$u+{x=2ZY*q*UJ}N&mF{~ zQHRMPo?o_AF@x$C1R$S(vrd1LDGae23lGEvV4Kg+N%AY{%PnT`>hm33u7` z^)x1jCKL;v_~fEhpgMbBQ~jF=R}^#H!&KpQ554Q2h$TL<+41WH5a^Dp6~qCpxsm@ zI(H-=PC88FNTvr$YJC&N9g8CmPw8Rd$7t@O{6l!rAxr-@6j8HX+RR1oB+gFa*=#!v zaQbFPmYBK%3s&yM*E0)Y1~nm{&96dM^=L?bWXu+RFXq}iufgGZQP$}39+q5th`su6 zgu|k~G|OoPq*(XByOuW0x@pXwNy(#Ao&x0Ghy_0tn9*J_4w55a-yfuY zGuk2dg&BKiGo2J)+l52cz4+5Q6pu!$vEHq{LOp#cVzXuvxA4||{2paZAD(|nmW)Y7 zqkp5heB(u6@01VSqgLV}t8Bb`G#9TPZp0nhGFaaljAOHvaowY9s9y7f6ziO%eWx;D z;+Kt3roWFpYHR|Rl^@CG%s{#>Lmo=4%pp-Hl>EzSfafvSAVQ&zxZhQTl?FvP^yfMi zcpU(>i$YSEM_76cJ;kn_&L?C2D+E1<8zh;j^<3Y2WI(Tvz*Dm?_VHM)%H# z!tKCrY&7H~Zi;dC>tBOY>JzfBVkCDfu!c^|s3sPjX4p65hG6QdcHzW$NhA_01?5Z6 zlXYTl)ZE$yUhe0!&2#iPkDiMl{H(&|xhPU`-vBsUQbrrY7LbBJsk~ouzwl}21qhp& zQ602K1n#?~!$i%M_*7I5FNAl}kely$9FIFW|7WeV&f+ z-YgWIuFdIm4?%mcgivF%v~atO6hxbvU^~BGEA5lTwQf4BY0{ahik26UF8*F{JIM~! zts+q2)ni)16$u8fE#duW`t0*@aWc?$9@RgHfi)Jo`&O3&19CX zB#Yzfd?V>CpVUnTwgef&;G485^Mk1L*MK*D-g@H{zd8g`(}c7yaWx_j1Eo(pyi zy1$NK&F!{mzFeOc0pHXRtA-T%ei07l=n3UhCX| zCP~l0p`r%ctO&hReg{2Fd2i$gLsk+e#r||`M&S`PF0iAM9!XgT5p(ZAw(u-uwN(lx zwmd=CC(rT9>cikSc@*>3YedU}HEd+ndHUD0i&m!3K&9d|TKujG)IK?Y(J=|=8v6rM zKgL5%PZqr>{~v0u9S6bFTOgB*!RhxEu-@?|J~X^QW%(Jf$K@ib;;O`!$h3hOq=0sr z9vl2IR`^IsiVgAncPpv0!mhg-up&^D`}E`w{g87EzCZngSH#SjuYL^ukhcswvW*$% zK9Xw`m87j^ zHOaQzF>Hd-VK|#U2J}nU@R8($5{h$un_NElW??tiu zxAHONz#M+R%;$h-of33xwc^6qV(#pguQcIDHP4XO$NSd>q)n?rFiAItXxJ#Bc%BVd z{cvX%T8G)`T0X;y?=t#&Z!0~{BEShmIL9af4sEgJ^lM*Wm9sB?3eJPrO$KNw zs6odKBgulSd+3^U20gxBrD-CbP<(hTI~8{hDtQ0Ljw$Lmb!ZA*5#j*t(+yc);51J3 ztp%GHIu4W;^Q@Mb7qsM=KPIGLNQ`=GL3cs^)b-P>ur$)}2R%Bb8W!Z3;MlJq`h- znygxRkoFV48}=#>dsl3PUp_N%5`R|HT`-o8No&Eeb$76dT!dH0?vi(InaBm0kbCeL zqE9sQyBZ6eZ@7cpZkW%047*~lS3KHsqHxDD5|Ua?AX8R~rfVs%+4c53r*#51OTr%; zd&6RZQUGPauE1tJ|jlYryFmlQfkerx;hZPfeo~s^i^R@-?^8VnDjf9a$3L8$HLh3)}&Z4I<9lU;tLpi>l!e^1Mj35BlcYOZy(65-U6KK!Ji*=wa~}JinX6x z#s=zLU`S#=+W6^n+6LlW>ZV-Oeu zdg@&jM?QG{!_lgI1~)De(hbAFD8UY&HR!_}?pE+8PKYn zj|=7#Tl;_jFjR1&Z}RoA%}kdJY`#F^*6oDc3xg#6vl8cZ%TTy{!FWD{u86ZEAComx z@&&OsKa6~jgxm=+BQ(K)c_dJybdX93(vKJ(w{##yM&KVqfWS?qraDIyD(axWA`E{{Hk=U>fG^-2}phc`#Bflmy(VLD~N{a~Cz$ zxoMC{+8U;Dp`-2Dx4)@ys_PqQ&fQC|eX(P(=oOmTWniS~(pXHk{)=E>*lon^_=7F*z~ z1N*7(z%g)WE`cL9+O=&$D_fvxVr7Fe^S8?c}-%N!+&%s^x z9zB{|+3m2s+@C{{FmK8g&IsBuZnOwD`}7Q)S7d;_ie_ZdK5^XXsmR{dJY@}WtN1+V z2)4yIlmXw%F)>;VbNtlUjr>wUj>LEtJxh(fndnmtJsv`04(ALj&Ynr#RP zUdd?xa5{67Pr^|TucC3|5bjXA0;;xQ>}~X3=C^$>+*CVAN63xjmj2Dd;H-_DSCBJa zIg~?6OBK({vgH>a<;oXpTLt`Rsj8lms2M4_DS13HSN@%hM; z@Op1FD9?4HrZt%$9UclkhwliEt=GdoCp8XVtpSHzM!z}cz$Zf=a@|6YO5Ems8~f6P z-YbiE#{G3X-IzgczdbAX*el7}Z{?udb!}TSK|g%nYR6(+FIVZBu7X1mGqBLB0eiChD+FnBch879z6%T&4GJ|$4LuOPNV!~9Hl6H2^W3$+GJ(C;8m zQzlx&CKiVAA5KF`rYbWXb^%BIY;Y`XgUJr>g?eein zu*#99jL<{lsR=@%^L0UF^HTKlK8BwpqrqTeKaQ5`A*05o3FTzfnD4&Vc#{66)^D7N z?qO**^T<~C`}8si6UO6(N$F6$tQozE>|yKqNz82h3skbog84x!K=dOa5|>1{z|+py z_P&m8eANtN;^qp6>)YY(j0SStcQ-y8&N7EL|*w# z3_KF4f>jtk{c@hxEIki5_3n_%odcWhdGgMP~F zA~G^P@IyorPMmcGpBqTKZImHE zWM7mPUCK>58%D3I$#K)JjziV-@tCJFnze|BLR{%0o(*&l{_k_R3&(ZH!rqzxVA~#7Sf9EZ#DDC8?G85dQ`uD<_kJE+aBl?( z-!=&G#zXmglB$=0uunnkI^EBSvAFsU4g4 z>ka(#-+{_SVS>N0S0PSt3?oh+!FgK)uqA0Gm>l>?MMnjI)i?>pw(7IoH#_mHK_#fx zLv_#6Vi;{e@ms=6{1QKlBh24i^ev9JyhezElAtOdH5xK`Y5uS%ziL zN{PLGDvbMaoK99rCF4};1&0Uto%WcKc)NEqR3=QNZwHeEg~z;MYf7QeG|)}>(CHdE zAEO8ble2iPwHpL3um;VIU9?AQ0L6^9fU9;azW(8Z!Z~FqSYLwcCgc)UJ{rvX&XYO( z+}@$e3Zjh`G4=45yo+%rKD;~uKRRy{ct1&m`c!|g3Q%Dsm6Ms8K`RbvpP~NGJJ4o9 z9HP-;Tphj*B!c7V^WLLOd7=(i`aTX{6mG|V9nQGz>T7r?5YntKe{pu{1{PhKj9Y>n zkvzJA6a1|3eV_&Y-PcJIR?D*RKQ8Rz_EeZOQlV z&d#)~qeUZ11T^Xd-rKbu8YDZZ?2YpZClL?r(q+G;p9!^9e293* z1zS@)8}6@$BU{zH0qcI;vbi={5t1`gfXG zYiYCTmp$2VsE{7b{D#`{_P8rbi3=2ahNS|6y^dRi{^GTy((?n|wRad_zIh7nwtFFc zQzpF8zDu|2DznPyL25VeHx)kmjei?tV5mlq{~ovDRV=6eThEZCA-crzuNM67P-cg_ z57N5oJcyAQ4eBYo@!XCR^qvldp_zvGT0RwzpRy$OHzwnjmRx*1tPB5?lZi?|ARHqv z;N*^Uo?B;u`f1mAh{6*5^$syMDMNVr)hDPP9YGQzuh5SAFX(EYKrPOrpfq-`?fQ^7 zdL};&wC5s>l1vep)OezX=wr-_|0_7Wej?7$jHU`xh9O+2fF;~Gx?Yaww=FdilCSpo z$J&RK6|3X%WLc>Du^ZQ0zoq38p%}m21ryJ|hWAB>1u7R05QpUt;FzC1d#04Q3{YeZYlmwi>L4OJK&GUcY6D@ zB|BCSi~sGuh3aqD;|HTaSQ7jZvu&1QQ2Ydz{9=%5={j+**Js0`y%ls@$}v*%JQ%jS z*>IT}7li&#Z&Z&MwuY5KlFZuu1{j^YU0r-jjPhOM$n(E9oaw?06Yf1g>w z5;{c1^uuXxj5v2CSOVjl%1H6w$Go>Dn#4NHMa`SWoPYZbGE*&%&Tg6n0p=c1F+En$ z+Mo>X%p5#FzNHeER^o_7jj-lLCSBXnj7Lm$scq5o+^rk5Yx>q*iJYPT1K5dO# zIt7rg(5dE#uXQHFxo&CNbvyu* z?}$NjtpTnxyh1B)4H2iWXFy$d6uWMG#x_*4mgwouL^Fw7@bKOyOj1;2?y26)T&fOd z|BS8Lh56+ z!1@A`u4y>9)RQ@DN0EVj9UwI}6ec?l!it-WTux7?7jrzRPM#BF8Y=Sq;WK1Q@*jNO z?|@PZUAU?xb{v|DaO92$_r>yqz?waQ2}hojh`aGP_k=0e;}#A6mu9jvqTfl-tOUB} zc`Qho-b2rAV;TA7j;B>asEvU;{;n|Qdd`l=8{+FYiR^Y-f7TthoNR>E-@n3CT}Ph% za|icWw!zP*iny_36X$E~PZom{d*~*?qF#uw)m5peW;g?@ZPs$tvt-FT*%92f=DFkYPmBYknJLn3 zXJXNC_7@r+@rVA5t%IeZr-1WH!Mp#h0)CRkf>SPI$I}u}o&6F1q8n`Sc?-^?<hXExTeSgg>jcrneVp3J3Sh(ND^{|Hn{Oq9F#XzK=?@=kP{6covTae zqKqUETh~l_M7oG$iUL({x2TqMw1D)cQB1dgB7~LL2$l&aavRDd=;VeFT;^qsu94|j z#d}VdnO_uUJ8A(B3McX#L+g7_u(EeWbrcqjy#fuf>G~5x5r2LMzxk6%2#J9O{zR|@dMBU3$g9^UuvK0 zCv0i>Dh!S~1zoRnsLbXJ&{1E9WuN(ZOs4|()7_m@?te<(moSKqQe(D%U((xCUy@^< zdGzXrS8#pj9%yUu7j~TAN3)K9qWf1DkYC>huzc1PNZxMFxi=bcf2IskDV^6K`)3~C zM{+@8Qb#(@)zb^SQz&EM3Fx=f7bNyX3T6aX3VC7{E|w8znLDRK*}eNvYsRzbcS*qa zZ^vlbv@IynB*$f$I0HALg2471bbh6TgiS|*nq@q?}{JR+aXUVZ?Gyjr;+Otq` zvl)8RM}m&qZ+N$V3R|$q0JeEAA?y9@Ku2^C{E~FgN0QR79sfwwr0YV@t{S{I22kUi z2srF{5Bg)GAY)?`@q41oZ6x=E$p^j*)BY|aN*msjv$6v)@=^RB$V^}kl)Hz;ln!xF6Y!j+$Fvnds3pQFg1ZH#2jPS z$`sflv+q`KTE$rd5#?MfmchTj;^--JfvO+>4`fw7K!*QsSSNL#4k;wlvh#Ck>hlfI zFz$jdllLiBizd^h9QMgbwhDE#xhN*jRk|Qw%e8(ae>TAzn^DS9) z+p7q)VFH-DvC8g2M>93_<}GVtJyPdM`JDA?d`$n}cdr41~SdNdq{oF6~Qtl=H# z5BWn(^K7a9=`WBS>qoo|`J9XPSJ2wD0E3K9VZ(wx@cKEMTXf?P*tIG^|7%fhb*KT) z3(e(0Gs}obDBX5*wAdFU@YYA%CCPZrdrz zO=|xJpEC$L|NT=HshNVh;}AZM_kvH|Jj-}2@4w&@(RIUVOgcny%!W8v!H3IAM*DCF zosw|cK2H|V4me>^ysd)j8Sp!E5q33p@g0#eB--Oc- zjEAtVw&duEG)#Y&2UPJNsn}~*U5*B@w*My7eplr5tmj~iN;8Tsy^RjLW}xGmOgh^% z73_Q3G2wFnl!W?1RIUv<7I+R1UV92@o8-Akx4j_8q8=XQsc=%d1K9BBB-Y*K=$gt2 zkl=DexX7OO4_5!82Um4arw`$DQM)1DiL!#ooDv$GnUD9JSK_BzTF`L$mu>!kn`q%L zO(f43(;aJE@p#BZ%*;LsHd6)o`OP>`9^+4PgXQU~4pXZ5?ijhTy`JWJ-xi+VEXE~n zr~vNHD&eFJ`!HjUHIyEGLuQYEgq}J2oWuQdv}$cIY;4E^p9BvQKW`$-?6!anDv!W2 zOAM;2OgQ^X(%kI7)3Bgy6j}L^zlYT>fWGI8v1xrbd?}76?-%ybqAE*tT^h!-8Kg<_ zlzOTX%g?3c8?o-&J-YvG9=gT1;kW1ERJ?E#$UXgrmh01Sqv=&x<0uJLsiqJl{!!3U zmJEXL4!FBR1#|3<;g*;Jth6x#>e@+79w^iAzL#u2+$l2}yic<`?9xY=j$$ zHw4{r=Y%yb)8XJ~iV9b(v2jZfOun0fQL3bZ`;P^I zU5u{1cvrBn@DVC#x^h2uzodsN&FC7%4my6J2MIE<61?3jLRG(t;>qqQ^yXrJ4>8$TlbLFpUf3uoiN6kev=4&moEUgvdIf)-^1#R*X)M;7%yoYr z$viJhVGZ9`y%BkYo}7}4j&h?ot&$czXFnS`mH8YS9?w~>ci<-b^%3I8_sI{e;klLx z_|LhMJl7@kpX39K>0r2F*Ad~apKp+RI+k~-pCH^EU%_%OBThrcnv?2`!}z?%L}z~q z3EO;=?AfORJ`)_c7N<#cy;mRZJ>1F9g;zk6L_dAtUW-x7#}HZ&i7Nuip>m3lytnHi z8;nKB(%3v=RL`^VZ&i{tppS)3eKf6ZBpWgqqP_cz;mw0%SoPo(ZV*icV^c#m?aVUn z)rkD+?RSe{<%WfHV*ONN)7b>ceg6?vCp8wU6ak&F?@({j2I0cpV%+YfBhXID1<$?e z1?7lIv{Ek-LK7}itwWx$T2dPHKW~B=!7gB*v71WV@xvP1k+>=7H1F6e2D3>Su#+so zRe>8pzeNYv%E=1TMm>QQUuwx&yC+b)LKWr=-UagkU2^KmZuH{sx3T*VQ6<+XtX(Y) z(`rg#tIk6TxsOQQ0)GA%@sa8z&wvS=mB2G~F^u4yQg49gQO^h?P6J_hNko$UnVK#z zmh{3|f3?xa(VJSGo=o=j3{q|7ZGz-TK=CgJP;-$kmr=I`Muz|4IYA@%%)x4qPJKuv zqozT?!jY_g)O~PMN)%32ngsLi=3)D*4DgdKg!`*fp=SLrVtZjBoY*soYeMW+4NyZ#NOKp9*yAfEH?)e52E5KcfE8 z(>XHJm~J~R2TWrz3BjM(@pv+%FH)c%11GZ|Ph_~hLt0?gAJ1n8$Ko*;J1*(Jmn74< z0uBxPVrX0wjEq!9&1bdf*PsF-)-Ul$a~(N1iGRPSj=@R8M`3W>c_Mr9G$hW~rDu4C zp#=YZ2e1)oAd>^q>4K@ea2*)d? zKw?7(T>TjXJ-pB3dwwo@SIwtyx>I2J7h^VR=6NvOm>_I+dxDSWX+v2}I*l9LidS?s zAxr-&UAZxco`}~WmMgqD*>yk2IadQ{)_ab0vm$rOl+VfR*h=p;YSSmGm#J{d1(IaK z;mQ~@;n4LHq*#IX^d8C+jLI0IHB#CfSQg=}-xIJ7S7VE&8ywFY&CD*vqxJQ7B>J=f zvbSas^VVJrJfSZv&$h$9G5r1g{V@4>MjJ{`O(Q#{P9gC3ardXig2K*l+CA_X=P0Ry zrM)Yj6)|Uh4YF|HRVX=FcAbbB%;q_JzsTmdpJ+g}fOvhphQF6T!#5qOxO4GQbo@Pl zsqQY!!p)tGjfzF9^+s$Jh=R$E6PSHs2MGSH2gf6^cyZrh*m6h)4qW+$`(ik@UCtCs zX2#=H?{_o0gMI;UsOK`~jFd+^YgfqSc^M18 z{fDDh8R0BP56E6WRcLAVnKWq^fUxm6iYQrYMB zU~2K{6V}g{V<($)(Y&=3pA_-zD8AP=-Yk+v+*M_p|MJxPjgx5A4>=+gIR)`&4~A6E z;A-Dafj5Tt_#ZW(>Ffy7b#f_4y_k$q(YxX1vl_bi`w+T+sD!dUU$`7$0fXzu!yj37 zFz%5eR(gkVW`Pv5E78K3l6XAGsi3dZPuLqnIF$=BFpKYGJGi-V8kYpzcWF&-*WWbQ zW=mMcbSX&8&4ZG72ew`>owP)}q~~&H^Z(Z#EYFrEAzTHBOAdmGc`nV|lgP<863%dw z5Jvaxg6+J>T}w(C-XA2m_TEv{`Lhc4c!;qOySdDFjU-bZlOtqe@|D8n}!!kECaPG}KRFHDKj#g9b=SS^tQ$*N<) zZhbs4T3RFUS-uNL-Pli;uaYBffv&{g3k7T9Ps1n+bHN|~schk+cZBS75&DYMW5|Rb z^qqSoK0Yu23r$`MM(p$eU+0m`&7cAX+zM%|uOS=Le2W%XWWl;Y8#wLr_1e;f=9m|h ziBPL-TRRX&n=EgkP7@o&i34(3T6N&nqv)I)g$CXYm0-3qb zX~LTZL6X8YmUoPS=~;2EE+ZL^+#Jc6Ne6V@Dk6slcj4AUpXj46VPtsZ8L$-lMecq0 z0>i5YXnd^@_BHts^%KMN{-8`=FlJP4+B>`&}ET6w|2=| z+H^4;&-Yf78p9>9a`PCJ+^dV<_{`Jh_)1J-B3x367S}pM!0s*!fvj7{NT%3rJm3^5 z*st%+y`LWg+vOxN@NGXFtyxS?%v=jow8L@ukpsVDJ|mE@Q0Hdt$b#(_(KxT}0(A^s z3Z_j`tl@LDP~*%7n6r2fNR6Kl9dC~iNw-v5nqbMT3#~_qt}$d)wlCfG{RCccPsRI| z{A0HG4oTFs0<#0-X%szz`3+}5!#EF8jc3AQ$z-B6EJsgxn~(=l2T9G6CRF;xyT8Ar z!=(#e_#uRUZ*KZeP!*Jd@0P1VXHEq!5kCPwAIka63U7`6o0yMVH;jFGl!C{kP)>azCS#@cU%N3#Au=oHekDteh+~ply z4&p3Oxfmb!90UoIbUr6HKPXYu(7Z2mWytyCQYclQ~1P0(+Aoy?x)7);#Jnc=n z@8<5<0`pPHJex@DTMQv(!Blr-J8>83=G_DP@ZpRA@^!g9EAXAilynrClE?!n$kb(` z|Bhpm*&zA#JQM9VDR44!THN`MTEt{`4(^zuK+>WO$@0DsRG8949WE#_)$8798~u;Q zt&!zYA(FnnUW=Y{`7`*%B3O~FgP*4w!`MUe?7qrHDt<!0Gv0Gn^lYM*)Wug|-Rk_tf|F99R=&XY! zpoc?QgJe{eKI<&i#SZCL)aL9Cc2jLLGrV_(^!&fG=34?5d0V-oa?@~IT@sBQm?sp; zlfrG|P6`We$Kes}QtX-}!geiaM#%;VQu1OAd~uY9ioFwC)KS#P5B~i17q}VE=B9gA!JB|d+#}CCH0QmvuRaZ6lJ|2uBYT3aN?;^) z{(2aE$A85`<3!lk>RGlOdwbD!#d%_HokSbvUV)Ns4Y>H^A_OJus@6%3WF8ki*y*QD zsF7%k*HXI$|90@VqvgnyyQo^FEmm&*fg7$>;X&&~u%y5i z|2e1#Y~HpDyJD|Up;=q?u_s@J-#z|Obp=isoqvsJ%)LRLOO!)NnG{N_TtVhn%_sR8 z_l2Zb0$1;_fJPUSu$IcX<2L0<$ISUNEI z^GUF-OO4el)lkt9yV$7#9cH;-63kP|siX4~Sf~>RJ9qJOmq~B&p=|~iD-s8OyK-5n zNipw67jTUaQt=1Z3bHGY(U=D#I4(63O8<+af#2k@?e{Z$cc4kAksKjV>PW;HGCM%G ztP(5oP6+0mnn*ok?ldRMlM+e&X(_fde;Y30Qkzn&tX4N~PUvUg&_a#urHW|xa zJAp}w8k@88CeOBY;^YkGk^^C>C_Tp;Qr{QjI{%mWYr8a~C%Wk};daW@-_oPMo|9$% z#)4|Inea`|18r+B!;88lq)?srY)1-(V=m=^_OpH1Thj^#ACYD?D?=vUXm0Elm zw)HT5RJ~qL5j*FJv+i|cVeR4y%yw*p$A4atBfd#E$4`OtIA%|=NfNd=Iy13DCy4%Y zDbC9)mxGjanldN~Y)lvWwhrU__Aa$VTV#gg7QF2bDo3+}^i-sAN&F$0b6I>SSi8GLr*AKxuI&P;cPv1EY(7A3aeeX@M0n-G5~Y#+d)9=F z0K%@T8DiA2y#Q_MoTz0lsmZA(MD_^&bg;+Qyr)g&dN+KoJp#*Lbs)6!d9ANu5N!S! z-R;IOX)8;3{3=tJIX0K>QF%hw{*~kU!{xbC79+V`7lL8wxIB7s(KRSdJq?-O{7iqR zKhO!+s7GcB{j+r}_iXHby6~(fT73UX?2FVO^85m_Rnma-i}(OJp4ai=Uu`DxGaYOe zNt4W$38*jN@Y}Z4XyG!BcR%ZMY7=yEkFx|D)347oLIUvi1V1u#V=^6e(FVrsze)6t zj%Ic1+&H-y#F2{2sY8e+D>i8s|>`1Ws}rBVnHAw`G?XWyF?ny6G7D5Z%erGzvX5~)ba7?nt5 zj0VoWH<3!3RZ4?OAC*d_NlHEMXFb2)`mXgG{(-ZOv|Gt%A=?LMI{$Q zF1=zd#Hr5VV+(coZDTW9zuOd6j+BAkoL=nb>O5>uH_9A*iw+kj;|;wUxFs3}%P;G4 z71e(1i{6IQuh_uWJ5%`tyGi`3zA;U7iUJRzZ{nrELamrGnQt(aUxpuVdnvG2pR z$RGDpSe!mqJhoH~#533NqbjXzOJWQDnVwFzDJLct31B9Gag=5^iLmcC@!RI(Q6md+5i{SMI{MKh-GJNx@2` zD$%MVZ7f;d5#Ck|;&c4E!1-haypJAAqpj^JEM5UYPOs6!#2#i9-2hKhWqvecHQEmv zN+X)G@$#GuR%>?^?;h5M!&9|*aG1dVn0_9{rSf=LS{NqCB&0E38e?bGjT*!x? z%O`+qO1gN9+fb-fxyv41^h6usxjrrZEqhd@38rdeaQ-YK(zKw6m3TIaFNB>I2RN%i ztJF|z{rn5fOS|x%+!?g-4u!3{hA<$sg+=VyhO4fw#D5o3~UD^98VzbXaUapPcTC{Z-aY0 z4iE0u!E0ZGu>a;T^bYX`q2mG941B{bOs|K4pa@v|Gari44;K4r^02XE;H3EyrZ!U= zQz|5&S$s#Ry_CZ|eQEd}V9m7G?;&%?nvr>*!kEscM1hHAN!DJ>BRA7Wq0x?$+$8=! zTl2>jZ;vxa9TR{P%o&!8O_}lY5p4P_WXhiN;d0x|i&tM}ppUK;t+vyKdu1_>oj*0$ zDdYKkr=-9#6?z1gy+4X>DW{-9NAQ|I7>$ZUQ=qhOF4{Mag_5Woyk~TpeeR2d)eEP? zeC<>C?czUi--$<#|5kOfeZd|Ob9yYeY_=m-nrR?6l8IbGw5YeY9d0WQ0JY6`L_3fD zAEuCsfCKvfV+#Fm=FtC(DP;3MOd$#3HKdOJUrZq*2?_b%z4#@W3;fFnY>(SOel8x$ z*IB7RXIMY<)W|^1xN4j&-VGbO&0&mgG(L6Eh5K^vNte_cmMHjrS3KB<7p)bjR<=By zQDh}BR|URAY#bZBw*sE34Ww(dpJJ$s4YPHQfit-`!FXLdT;YabG2a^AH40u^;T+T8 z6DV(yqJ0;4kp;Sn^i^0k8#iVgX)Fu{t-HknA3=n&XA@w++%{i z6PhCkvHyIT1f5S~Kl6e~U7YY8c{LiRhKI91BT``hDj|Eb^)ZQl^uoR#q%cx0liUh> zhk1tzF~o2YQId0j^_AOTLy9zXPLu`b!hYg9ejN_5o(f)c0v($jO~x9^;KN^IhJPIf`^1lhGvojr-NXW%psUM(plA9)3v zrsoK|h40=?JdDH2LWq^&9=tK@mZ14ngH@FoBu=}IqELB0#!(d;Us^-es^#dXdq?d3 zpC?oOoR0(Fy~l0Cq`2C9Ezq89$NODtQMqOeOeom{C(j;3F|R_Kk^=l-FbGKNahyBb z3x|GwNNhDKq3LELhPOVzl3_o@7dA^fzKd7qOmR+4r=8Fv;Fk~o-BaYf%40#ZV+|TF zxXkWo>_W|e20SxUL=2YB1jUd9He51KtPnU9e(m3jv&#P9V2alVCW30J3?^>%58e1#bq=Z2+czaZL&8t|GDVEzvxDNPo|4Hh0krq$`Kg2 zWCKY{^X11iPM}AOIu7c~g68WrcuP{me}_cFFCP~=%s;HZ4%7t24cK|k+Eq_R@~!MT5@vEq*r{b*PZx>jeb;mj@$kO6Qq`4(w<0x-|H&=Xty3GR}I5m z6Qju9%}rQkQBLX>`+`;zQpV|{$OwX+sTQ>(Ihe1kYBvoD6mMhA-2~RJ4a`s)`$U| zU%klYyc@x%C`eLu2_u{}ED!2Ft%oNuv$6jZL!ZkRG4|RsnB}{j_39>LnChMyxB05n zd;fU8yd*%hAhZ#dH`?7+x+Jha}t#cap_fMD%&xZgE_NKUv1at9J2G`s?v-t{H#g-T=2xbz_LkMvQv!m#~nRu*MzsvC6_%pL!;b0^9t&~%4|fbHa)gcQYoLALe)_nTzcFbVD~SHR5zYh{W|4Lu{JLzlLG zA}1xx1TXJBq7n5J>UPiJVRF(muf+v@tZ%WgY9*{OafQIXo{!Ua3;wA#een!e6Z*P1 z6PHGwzlCM0a;p_LZ^p(zGyn6ba<37O$Bqch*){fqTMcs>VSAisV@GOJ2{hqLPP$Y%~ z52R9$C2+3a3jAB)fwJq9P+{3WBD3`_J8jyD*>Bw-=EXP1ja|kpV#r}olkOD7)c+*+ zmTL1SU5NkPiYJ>5vqg=$G&)jpC9ui(bNux^S@G;!J+*isu{s6(BUB3bwqqqvbHZ4%&Ynvx&3xD4eaw`u@U2Vf0Yd=j52pje7*?+ zjibOz$ZXy@5C%^M28&KhmVlD44ohp(6Tq$UFDZggT@N!Zf zTtMtSKeB64Luu*=#wsi?5xLD(aAiUotxCDdKK1ltTnG`>88?xjKreI~rHh+gR^Xoh z_KC{(0Oa;5QmKMG2zpfuzxXEX$ZNn6SL4~%odbBUs-nO-8Ux|7fqcv7L0qRjge;b5 z1mAH&2T1=$zRTw&@(f}2zjFpZetrerJ>ES2mMRX}VuG_3=1?%{aLg@?V^`-i!te#! zJkVn2m95;Cw#? zm+SOF!Nav6@o5J*os;8PU-K|-e+3-5>PyP|TOoe@H8>t?iV-`GvY$o8xW_b`O%*Be zwhy>rEV_Ug=V&7kwxhU<=n%&!bz+LI^Ci!y?&zc=p-~D4O#a8cUwn z-27RB|6NXm3HK|&$2}K~e&<6&ojbM_1wnDjFKnFDL6k&^WY9Ge$oBLH)0{=%+CB>! z&&r@%Yo}+g(Gur}XmTqI-cCFMSChoB>Ejye%zwk&f+$D|kruS~MQpazPtvI5#B>7Eu|>87 zD=&4i?Ge>Nu6Grz(@9 zH&H*`6g%e)W(ynJ2<>SXc^v&Cs;=*^G5J>vFLYXk-)sh~v> z7pyZKNd9HH>Fl`OXK>)^7k286)t9*r?}(Y zqGrf_Fbw|@V3&c%O`UDLpaWt5WQev( z3YJFJIv%f)!)H6s;-zK#;CF}?T5kG+Yw8cf5$9PrI_3x)CTP|nor1UYiWWEB>w~RZ z&x1%rxZ|RgDA{&aJl@BOFPRb#^(R&dIbca@mh}}^?LA1}jm#q(F6lz!!oebIqyJci zz|@Ji--$XKgm${>zxZ)UEEueagO%GH@Xd=v++?l^&t>M*&whE#@|_V~wMYxjP3jU= z?l=zzx8#$0!M`RykwJ9LNZPCR5UV7d;qU}yO0O*zk19=t$V(%cZ^med*;&cDHA>;n z_R-|@yds>Ny@XU03oN}|ktjBM06{btzivz6rXe3uLPm_?XM_2+tRk2m+saQf# zUVTGl|NCt7QXRUzEK_teD++Sg?Sd~?6!7|<Gu%zIO#%hF&&^*;Q!=_7O*4?_PL-sDlh3+7}_c*CteHbspK+#hYaN2*es z^izsU-c|+)!w<}L1>r+uJ8-a&%Z$4G4WHS$(KEFfAhG@#UX0(%0;X&cI+p7(3w^Ne zlP9y#NyIHlCZuuhV9b~{9B#zTglw(Zu>J?&DMS7((T#c_F=o@LX~-N z(&rEugygb!71zmzbN^Vp_B=c`|37pUGR_H&hs1uBH<`t)^CZ7;03;XN(!>2 z&ubkkKB`_%T1(q&>J1v$zjz(&*I&bWJN7%?7?R5h46nfI#R3N~Vn2SmdP2Ah7y%!i z2`i6{g3JDaI9X&Zsxdu;-kE}@qU1a=xe-eC+P1*dVt-aTbpfALAcg-m%!B=ZRzkvr zm1OOy0I{Z~(7B!Zf=CaQ#Sw}+;HS9*vW*g$j%zO&93q8-rG!0$W+bxRd->9@+u=it z3q9O^ocxna!Ym0Xx<=iVI+Xu~QO)h59c{Z{c|lwCHmwd^_O%;MPuR&OX33$W+l3na z)^FAJiEF{-q%3Y!X=i?=)8LZUH?lqZE#$@Y5LdNk@?EDB($h@YzM^wPW4}Hf5OtGG ziTlK2CwZgvB7aDqdk%N6YJx3C<8bjJ87iLLC!Uq#4GZ}tbpFqseaJft)w$_le^-yz z=MSS-_2l67%(W=DuU2$&OfGv0DflO80T|ZY!&#bfqQ3`(oSv=VUD?ryYD(5PSNNYV zxHJ#_?iZ0vhh9c6>uB;x87 zls%s!y02KmmQ4FZ>eqaL;{va1o@Ned+89Vwj<-V2B6+xQsU`+m@F%1=@V1QL0=_MpHswc8z;f+>zDCMTs0P4dN1lXlBAx|&DH%g+DP`Dcw#-$ zSA3*KmMT>*6uX+~;p5=frh!EWiE+C-zbpTk`|zOXKi^oxp9E&V;cn z2wDo-QK8QoN4?xjUR+hdp%HczgXGq^(G)(aH28 zql6jx`o#=TEq2A4bb)L2>?&0L>1WnC32@Hl3T`~J1|3J0LQ3djY)USNA167xZGBq2 zf5j6t2tuMEf1j*Vn~OarE+WeY7s$*WD3)%qW7Eb7N?2bVTze3S)>#!S!nA^^{Rn{E zpdaFGL95ZXP4HKLR};%uSVKcp9jlBeAVW5P0d@bABI8^i)PCU%4T(}vlKUNl>kbJ! z1bsX#+%cw@`V&{(2FP*?g_k?8!qm_J@e4u2{(f!(bh{#$9MgxToUxDP4&ZRh5t2Jp z`3Qk?W_iR8^^$Ip1rKYNG4jUfv1$Bksdzqp9q}nA7;5Rhww00fF3=i#X|t$GD9WXnEm2tkF=wflMEz z3r5j_Ed+uEuGmv{gWa>$La6p(GZPJ1r{rF&lb%6NdVWRMtI52mMV;qaiTIWQ{^I46 z6`>~O3j{Tf#hX24a9HyIe`1)x^nIN0hg}_3)#t+9^_Q`D^#r^v%+t<;D0djqfa_8t zaDL8yR=av4Hr17}KT_lQoUM*9SJMwO;W`w5$raxpc^TUM5=5qnbHsO^Y=+kJO7y|# zTc|vv6aqu8Ft;av;b7xcf!ihE{5Hw(DWPg~yJ|8zT)!psCJg7=B|=93fF7BY5VXmFYUcL)QUzNT1Zh#$)k19idtAE5yV3FHMYU2A{ z^7L)uWMCabApf1RaF;H_7fsr9{pN7=N=hM#P3qVcF^b>%lLHEK+d=Ar2(&uBpqsH5 zb{8nokALpqG!qYeT(=KKF7o1o^d#|@;wXOhpBUHvt;Z4CN!T*coM~+R3PadvI;+iu znprGGukZ47;^Rlmr;Y990!|3~cO)Zs(Au}IBvCtLmL zEi29}VRYXe{52>F7p6Oi{y2`sxm!!2X#a7HU0}rJj{g;h3BTjFN@{e%@*bowpJHy( z3(`F;3j-&*u-je1yCBJrm(v6 zGP7AQ6h1ns!n3?5?AVlnFcVu~SiLtq`ocwgJHwgg>Tu^@4MaH~hLUbQn!h^|V%9jY zclRZTd;2vuFaI6BvlqB#X3~gT_s!S)L2U*1ut0#$*~;ypbQ-s?7(RXW;X5Kd{IqmYzR612jvn z!0t77*{f5!a7&JdS?m09lMpYSnjk^1=@f;uH-fs3J@0$)MdbFm2fleJ z(3Vgea;Zpz8Y(SD9l;Z5cg6!f-tE0UJ|~Ev}|L$GTX_3$*Q30 zRsr@0nqfunNp!iR!H;xgLEkHBls5GQjZZhga_1FrF4e@cpR3Vr*eA%n7z3%^hN!&E zidHVGhnS=SyyCD6+^2Vu19N4#c+-a-B?Jc<&bW?CCxdWz>v6lhiSLvKHM<4}sB+5p>+nLT03% zk2{hrP%FLwwa7oBl@*JD+v{NRrgM-xX$7g6oQNo=4|Qv8G0-9xHO)<^!w4VH*=tT8 ze|g2?UyegR+bDK>*nM2`%u5{L=)%^lJVyRguYu+iQz460E}k1I@bC;DgTs|3F!3v3 zwTW5G-Aso5Tq4EO6#MYU=?q-?vz94#?RUGOhRI^FFfamY52fxdj@a3yK#4F{pS6@tV!M9Bq z?DG>mMEPu!Oe1b{m#01YSH!mM1#oubQxb&c`1bZ@;f`61-Wi9Po|3>NP}3DnvvkHo zGLGP2ID|~dv=;jFtmwn6VYEBj16H0}02${S$jj#fuUXL^)UF<5x^0s{`A8R&D03ig zeYrT%?h(%1phnC~Gf4ClPw+TsNOcaXi%lfjA!_*ymOgwL#`{K#zOx~4OA;WC?sk;%Eun6mjU*4dizpHH@c zYPdFzmz01XU5iNVC4qS-bjUm$FK8-7lsZd=Q5a+*TJ(H0yqX*Y4l6yWp-l_HN4^;U zs|?HfQo!rRF-)2nTfOT1I#@Pq1d|u`9$cE|RbR)VXHaIbjF5n9R0HBh`o0pjcOtx3u3P!9UgcpT758C%G7I&aT2L zvl-08QWXq5Poc-|4K=fqUef5v@8Frh1ze@R4jvq@V%brHxWSoloOa}^XmO1TKNt58 ziZs8H5l@cd=;s1+P%Vus9XLo&TK-_k87KJjo&?CgG7mhH$spn)Z!%p&x2Q z*y|BR5093ka9{_U($o#Quhr-YsYsf9QIVM)H4~n9MQrVT6{u_1#VCnsAZNJ@m}|V? zsmvrrPlvn~aGSP!c6r-XRsOQRkvgE*%p;y))P=w}VUrYdP1DZ2~CE;1ugVM71l zIt{GYuTIbIxCig2so;(o?p*qLHRc|)WNzD~u{_3@X?~9txNgS$#=5(>bmBz%*GPrE zJY@|ZhfDK%Wp`rvXaILSVa}EPhVu8rHwx+LRHA&;3Ost&uub!ggzlON*i@Yjz72BR zCG0H@daOW;=6A!7O(?p%ppLP-ugIgU5Hf7)50c@q7am&OfIIITS^eOfFo?bqCC4ts z2x~Ro>QqSzoaRxhhb!rWDQzTpM<=!h9b)d2DJe)R-zJSt8TX6CV zAC&jYfe*W{L*?@c;JrNst*`utr>v#;u0}hY*|{C^XFtIW=~99=I)wYUmk3OUl~j^% zz-)`@Xg?(ZlaKsFWw#(aBh1ZrE=h3RBZo13wxInSm!o$q*I~K9*GQim3V}c6_*}tD zxZQXy7`WYplhYbR510OCtJ0PDDd{r2^5_NRwJ77B+l@G5$UwFyI}K6}-oc7OWwGw^ zN^Dbj$P_gf0Z5Ic&d2TW#K{flI%5KsDZj*o;iGZOBp1<+4e8=qq z<#>D5D}1v`1NW5e1R3KRxUo%6JnVs%z(O*F;&ekMuOiLW|3u-pMIQ9MdpBAImk{&I z2Z+MMc(`LDu$Sk4B#lcXp}bwdCOR#FZPNuFmBD*Zc`Sn$2Fao7w1-6c^at|yWi46N zAYy?w%J4$qv}E5M0qG-0ifgP~;aGPK4*C8Rq@CVD`-Vc;(YXy3Y-C`|rs3Fkt{GRq z8-RiDLAd{1Aj?mB6K(Mx@_y_;Sh{#^^)m$}{PZ(ZRNwrU-2C1QDN$;4VuFZEOaFB+ ze_18!-rP!#2whZ$ogPf_k&;7_#~~CQZN(QY1EFo`AiiJ~;d6J*hr5C2K*vDnesOLf z_Z1%Et?pt`#LMYWuKAuQRL#I6UL#??$qm*VI0w!~I?$sRvf=cs20ex>*NV+_z?uF`{lXw>$5`c_%)h+y#>!3I+#q2ym*GF7sO}Y z5r=dIyx5%%L4&j5;qFs#b@x2JN8=heMw?^S(rl(M;U(_%jb<~aKNliTMXcie$M#=Ja45tRJf*illC#p|nk&MwBR>I^S6jlT zyAN^37csdveV15%P9?mxF2k(f{33_W$WAvi=`W(Ols*yf6Qcrzp}Y z2eO9g!PLG4GOyz-d+uI@bqxx1l<`D3{pu9$_szlwOQ$f6H}WK?Y#6AudXtjeP7v={ z$L|@+v5M!CFlF~WEchW&JK&N(?F=d96HW|+1-(sh`@iRWw6MGCdRT|6clmJ3#~oaD z(<^YfB+dJrU*gP^jWB^H^2D@{0*mY+3;y8Fb^RZJGamqUwvqH#pwNexWkeqz-GP~_ zG|1V*b!hLA%jYl36LpjKFnZch9<^JV8xHbE$;H#@@}vs7Z}BOxOgn=IEEVaZgB-8l zxxoJ>FzAUasTrVr0uH*BB44nD-Z0MKVrLV+tkRh0_h05kRT-Gzn?e;HjpZGh!k#2p zx>iqd9*j#$z@M85T{-Cy?@rppyTTswHT6Sr1Kh)XlM85|odUO66+^oc&yxCahPA^| zmFSI_!BlO)In>vh!1pw`@~m0|Iy%jgH>=2T-%53K3h2XSl_d~r69DIhU0jE27mR(K zhNS2oPOB&+TkL;vtqMyVV?3Q}3)#1$2@!Z}i3HvonFu8L8@v^K@(YFjvx_nQWcXND zTKtm`13g>%GwLT>ykHofKWD?2_1JLF$5uSX%!s!*%E0Ggj_9>RiS_Ed=WA+~Va;$y zcx^bU_T;1&^t@phP3-cAp2K%|%rqU z2E=58(3uU|wCbU&v3P_af}`wnmh`^0XPbQ?$IFB}2OVLDW2!B22KQpVOS*~(2F z{<7gQfizfd0C;dCYA)<`CkBs&W2HLa)fGz<&*T959B}+ACqc^wtI(ju?I1tcjy~2O z0lw#kaQ7((AxqDc>TmnUzH0^1yUVmiDuTaTdB+Qu^Jo(tJL&}Ny_1CkkqFx-%W}gp z85mkKmiKgw#81D1A-!}j&Mo=CE=5%X8JdmmdIe}&Hw$f&N7JGbXYBKR%TAtA=kGVH zq&{aY@cZvnfyKX<_w;|ku{~4y!&F7?`*;FfJ#+xA2v{mG2--x_epO^^P7X*%a=cQs z1EcRg!tK)b^y!;{AkGSal#6AeRps{RvPl&MQ!*2Y2QhCX)X-~(d1QwcXL z^uR$@ze(FEbBOz642j|xthtp6-o3qe?d4h0uXjnb*{~Q!%jUt{2`zYdMF1Eq*o5zb z_Ts_ZJ`6KF4UL`CnECd4@<^l!({_d6-#@C1<49QTeGb3JD)K|kwV+roVx2pOP%9zY zHg!-KQx!afmSdLV-wBI}#OdQCqFI%0mY@>CqF-$-94)Uu@y2h!iY z#{{U04BgQ39A=HN*xcDixYMd??;2^doLF3hC$pQ8@RK z4(g*6{WH0idF(q#M;|T0fy2G%tzt_EHC6@7_BdWW(uHquOom@aFTsX6l>c26K(Bw- zh5s~XlC2fyI6TsouGap8>f?kQ-KoXI%>E#>Xn){3v+tl{ha<|3xXZ^FZKpNjNwE63 zDc|#;fr_u^LC3)^`sArBY}d8nHG)?sGwlhln3jNnyJta~;8jueIYL!_3$yCIb1W7-8~~n)!+B*y5O0~6 z!MiMv!k#RcVA)OKjI!WX*9@tayA+=re+U(Y{rA`L@;s}~ zgquaLphdRbte_y6r^i2lU|1g$Z-o&r8(@>qI6CZm66@{C z;a*<{@IkkGc=#qKs2HdXLn@B(*`|J+ye{TakwE(^!eIPANz!L$NXK4uCClEGz}zDi z)G8^B&pxTkw`M-UmzOW#9g9NRVsH}9om z2Hg|9sCupin6<`&#XLo7=N>{{-kb&Bex1VKzl3|r$pd`xKu3Oblq1c3WkNp4Rgl@H zJ)+i>A;e~}B29|@48K)AiET^{g24}4?&qMz8;oXBdg=p4=$*l%lNWKVH(yZW@F_fh z>^PkrA4@OEB*5-Be_>Ye7_M3n16RD>h0Djp$kV3AF#obb8=TCU5`w1r~)BC5)A5U_03ksY9;exF@@xyp^3;HvW*X0dEF7VWd z({#jg`P$E$|B^EESv)X!CyWnV#=n;<(bSV-gbCr;y+DN)PL1Jd7xsu%XO>a-!8Tm& z^#(S!y+L43#l!9;XL;X%8hqOk1-%B9Txf8|r-vUvz4U4yT~ZR|;Ul%qh#y(JKTNJVvKQMRf5%P2P3UhdlD0&$k`h zi8^d3(I0c=>TIp7;Ha~_gD7w-WG4DJ#v->?;lPh4;Es(gah5P@iF{e8B7%% z-toPITX2WWIm|Gqrmll;Ve7X@zDf-}x`pt9p93=_N=MpGoI-nAY+yX!n2t8%38&5d~2vjUQPVkkZHy^uckZij0l z|Kii?!Mw0#B%hnJo34JYNmu@h!y!EmbfSL?ROQCgr~5SNV$BU`ylf`TF)!k&%Hg~w z{tnME>gQ{t7vP~)y0o~k0gTFZ@lkaJwq~l~9cL}>New?7ZYe94{SG7lNZBnWWxivZcbC!zX-=25*m4uOP+0x;A=KqXaz|$+>i1z3EnlS1efqrk zh{pYJ*Em|dzoMUgYz?NF4vGA`z+LNKUn-us^))xrDM3|LJ^q^gV3Uq*Le0=5cs_3~ z-8n_*&CxUC7d$#3U``cJo^ctfx*k)1pK4my=TG{hU%@vGphx!qq>bunRHEQ4ypmL< zh3x}4DOp2{bT|z%6Y+nElX%{;DEgLe!6B82D7!%y=AAHPf5b7=ORJbRhZj?7{T0^h zdEy;m7BH$_EjIZ0ot&R_jh2{wz~7Tz6KOAd8oVh2N3?t-(Nzc81Yx$-ukfTz-S@>c z6E4!OkI!Jpwo<;wi0}eo$8z%COzJ($1@LDMSzacvVOj+8l=M&5<57nrk_#OT@~@Gr z9^>fmG${xj|6EEU5 zastcEvucJ8w&T~{tcE%CARqI%h)?`G8jF57(JxDfV!y5)*S7yie*Hd9M}3o^84`c- zU}GLnxSff5$rt#GPy$yrTktZa5L~={4NadE!~ONdywBB}?@*qBZPwPls1hSHs(4(BG=K1UDLTgiY{}+vbKHoXu&=Q{ zQ%PHgbij03NAP|ng^Sa)sAKO9F7qvjGpiN!oZbSSzN-{N_T=%?ks)AVkcGMnBKa8e zRea{X7`}d97VS$tgiBHeplQk|p8l~2Y+nHvJ+9!=D-G!OrJwLk&^_E@p~AoaNWv?_ zN8swgzgf6W2p1*ip}VmE+%9lF`;Aoa>ieDCs_7i~sb0hr6J24Q)o>hgPsB#6Jb+`( z2~7H;!0eVP#?pvFh`c$2d$-$h4apiZZmkCP&!cqz0$HbwTnZ~=DqzuDfuXwbBK_lL@3v)*j{@69HB(p(8gFYjdC^S!C~FX1z)Zjjr)lklp*G456xp z1@QAx37k5dLx^4l=9@;LT*4kYLsEjv=?m}gW;}F+Eu_*1^65?C{El0g3NJMGa$ko$ z&@!*4%f|g9vDS0x0!s!P{5+7ygjH^t{a>KJa@a z->~_K(04CEi*I&fxI!Xb5f;T2QnYyAJ!$&j`cS_AWiXC=G=S|~_kqv8SqmTh$MWTJ ziu}Rv+jO~q6?|QMjNY;vK!X?fa7E8rtbOo~NP6$3ChaoxiNX^8dn~1{<(U}QdVn|G zjN(jW0QbBn@``}dv`5;E%Jp7iwxgU-`sYJ1K3T}$tahf360y)!G>S(=w&JmMobB3n z%P~f-i|XCICioPl;M#jr&{8`e=B~5imvSGWiPUG(R&7t!rx=sDpJs!^d}ZFg!I3}5 zuQ2d=1=9>K5O^DYG-o5w0K-@C*(HK*)qlvoWu)NvHBDGy=fIT;^szwa6%>z&hnJ>y zaNkB-}nonXex^3DwvBAY()dydqD5 zzFl9;yBtqDYTq=X*A+S;x_KN7Ye6zmHv@KcpTVtny=eNE2~=}}B+s&4>^Lng6J_)g z`2Cp=YH|h7yq(QukhB!|EvpY;`j32^sJw_Ce0_^aZ5T}z=Z~SkvJjQ}jp#;Up11fA ziwh?RMA+M1Kstl)mC^)=bV}myAMZdr8OC?VKgEl^3jC$AEk-sO)29-TFyzx443pl( ze|41O%8iB?wQW2NNcSd9YDW0fc@_P)C!TkmwBx78Md1|vbM#efEHB+rgzJ}%g^wuw zZB_s1I;oSa;NvN9vmeIGwI|YH2Zo~CiW=sBX#jdH+Rra85$eA5&cF$^I)3?wDo^vd zK!avg;Kkyx^x5x-+NJ?_`8@wI{GyvJM)zscn6x&qkiN+LB7At;g={+JTLwEM>`-1U z(*X0&Wnh0i3*w4>pjJnX-guElubA|ba;pMo`M z5fV=C>-M5li8V&pou#riW68_x9KloE2C-H#TsKRbf4=mNAJg8>eWnzG%tvSXs=15e zuRD-%Ac@{Q{z<%YXui;EEkh%}kFI^GFpa)}b1g)8#uGkoF1+4mTD>TlVR2e<=H8TD)9X_0}2j5qZ+;$7#2~3jXzQ_ zF=!s~<$d^RwU`E5R?yM?ci_&hVZ7C_k{50}j$_TVxy*2x+Cc)}?$FXBxGc4szn$U8 z=Pj-#786fUpB?+D(WzQqwCXhfQLj(kPX>V7JayXXvIGM3w zxQ|IYxrYSNhkNhBN7W|iiI_6m#6{+Kw2smT@ z0NqQisD#vhnjSuqM!j{SY5_IaYP&&XIIjls-pG(c9w%7fN(N%#IoDL5Lfz$_VP^Cg z`hB|_7XL<`?(R(2H{JzxuWxwvls+A^e5laJb(!r+@S>kQ_Jd_Ciudf?Pm0Q2M3a_Y zXMF7$cCy8oO6Qu;`(Hdzs%#{kGWk4}_UHi(oiE__HWZ9kma?I$J@myqKYGe}1(lTf zMLxS*)60Wm=)=?F**irofeoHO7v|q3OTNyhV-^{EbF-mg^i*nE zk_`uE*wHP5ZsnV_N<4PM6_`4v3wP|6!8HksT9OiZOxj=`bnpVU z=e%>gx1#|13#9pOj~X~(6L+*1|T-Lb}Bo=4GAuU2`lEeC@6EHD-2Hk5lnEratV0Ebrl-=+~lNuSSG*OBEugbmz zE~lpb|JEk7P-)YyEER3q&biObO)6`$M1)Gq6RAig*;>)2QdAU4DN9-?bYmgIr zXmlML*SA#|7d{ajlK6l!D=#uRRW!RwUKa#={9wfnK4EKZPx9AC{GxA9@L;{#-m`%M zGk(*hBkY@qUF^=EENVZhiFQbuf(!d!v7;Q6aNov>$omF~9`x6-R{e%RKRQKd7FR*} zZW#kQ*4BVd-)_)1iH|-XyaIGmm6?bT$Yw;fu@2lBq-{@bBKO{G;r>^N;Ci|toAj%P zYKT?`L9)}3IH;wXI!=OA8Dr!(K7&oGxJ41%dS5}Ylp3pFPrY8OMUBK7+Z=9cZ9{7aUAd^Ev z6p5{o+L%$SLEI_iyZ0x^a=4D3e;J_EB<~^fuY&A)?LelbA+%0$W!_u7 zrZ#*{LGc54Da z?-W4!pI(9pPiqibc9N63K4w!VmQzi2OTcvv7h;t`pHM0}0jO&(O7m>i~$YFEo3=?j7E?uZa-_ASl^POGvn z^|Pq4*&*ndOD>fgF$GDiH^*@cGSIfS@#yaNqoi92cmCGs8KqW=z^i;CP!aHg@BDTY z#dIxWzn1W+lRoPy%{S@nT6cLiW5qtSM&F4w*n+7J&XcL@t^w+1>@uLYZV8xq`7zLa zO|iO;JBY732H@a>!)Wdt?yS)}74pp`efCj#0-KnfgU-2gI?It`*`q>9bmiRzuzmCv z;Wu6(=v-L=5-;vy*X;j7-4RzoJWY8Zb&f$QZw11n72?QE(n{#oHV^GfmPYrpIoraL z`Rp_=cQ$-qF8J(c4Pw4mq4eN)d@JjdY|g9qtmPL?uzzP2N=i^hY0Z-SggeE;`EN5R zLk+845rLJ_Bf zcXV!yW55`H5g1&nfpQoHs!S~z zJc>GqnqG5fD0D_+KWB4R!s8XSE$jv8owWj(_AaLKR&oB+bw2`gJ!k58>_pb>nm(n{ z@tAe8kOYoBGQfQ9DHQwDm)#X@&i1c40cgbuXrOi)m}&P16|*W0R6gB8T{xVBx>R$( zj-Lwr>;V}>+PV3)MS$4oeg#vkE`dL8YMsa@jDB9VI&* z)W@D-moDoO{zO{f>Wo4DcLM?y+&16`t?c1{mQh8k%MiOo@wqT!vK1x9yUO-_mgiVlR|VoT0Gp&wes z3XM&6Q!AprvHdrV(Eg$eLIZ=#?4*PJ!sabb=*@0!pRN{-4*Ehipkp6}oz79ya!>L7 zPG$*>j^AKq{YQWRLQ>d#P?P$c94G{t>rw0rK>4mQq;AXgvKrcv%N$_#jqK(pirSsT+K%Ifiapd5XW@>Dy>K5Go*@1yVWd+xXiw*!iO5MBW;t97!b z4L{g%%2Gf^veku^;G7^Mb1>h_5}8a{}n13=2KnXlUP4q5p_a0pE_~l zBNJEtWz4()&QIMFcAO zXbOOh6#ur;AV2cF6?J|(0YYXR1gO;&ycEqxnhP8$4+nKLcTy{*`Q;hA|HMt|>Ym5^ zk1}=Cm*!;lwZA5?y?2H23D*L5PjvHd%#xt$j^3mkUNx?@=6n_k4<%x3RzkOjg>owFZH+CRQQI<|acwIoE8%22ED+$2pZe9|@cR&oSt2nqx5V=htl9%reY zvu;q+wi$!%-#LFQ_6ImSvO37EZXA**Ud?)+kwnj@I)XcPkQGQuqmoJrt>W}Zt!{{8 zNxx0VuEmiRq{@@kBPIb^N6ubKwGid*i$wN?4#G0tc;Nfy6VREz7B&6cL+L#&rNUpz zf^iM%;C<&R)VQ^o^)(IP>`2_F?9R?dj#rKSZP;l|lYzbLd?bEji*VItT_#jc zAC0|l0w#r=0M{dFcJbpp#-XW!-!(Lz+q*qvmv0F}GmgGwj~HuEH+~iK8@8*13imtc zx#Brgy3m92jx%HRcE15Zb!$+txdPcQ5CGRXZTx#LE>cqgr|ZJmL3-J2z@{ZfqpMTT zQg6Fez?s6E6o1`rbjh!WQjea-o?pa$_YW*)myhy7w@l(u``al%-hDD9xN1ll3WC5S zf}7Wm{S>A?EF)z*%GtbobyUd*dzAHjCJ@(BNAs^Hpsm?XpxVn9<&KPCCw2YSDH{FX z>J*v%OQ)##^{-#2xq2kHIz&=DUQVSV**0eu8O}>!&ij8O3f3U{O7}VD`u7$Rre7tJ zo0No)PK*#%YWUE7yPuE;W=y9$H*O%?#ZzdxDc$s3I)G`7c|t$veaEO-Q`PUsS`ens z-N@<%r${?s%P+{}2|t97X4X8|MH+y9oOZN_R`x2YS-tuok+^y? zqn0?Hw#>7kPt0hp*?7l?HeaN}SSqYyJ`P$in!y{$4T8nAbBQVWNm`5vb5A1l!j2N5 z0T+q6Bi9jA6V+++t>)yT3~rKeRUqXjCNS3G=a~*C12VNIg&cD+n`A?k$oLZ?W|5c^ zsik_swsLSass1g3xfs8awxe>GyH8Is4?VBZ)N2n$HYtgj|M(W8K3ai4FtXOx?1nPE z=|US3?68%*nSG1a9`(aEv?r5na%m(@$K7GBbX~BOmY7b+jd{fAcvq3D-wo0G$KA3m zv5F_Nx1}>DZq?erC}*;zy@KdwS=z2}CV$_uE~05}>k*sgn&0L$jkJN1*MO)w5 z#&jOo#5_zlBJz)TGSVh?j9Hfjo@22Ymvb> zZJ5+aZ^^`hGN$L+Ql{hRCGu+2T}H5=i*}QXC9zaK@oJ_Qaj89!+4Z`W*=3Z%Sn2rE z{hBkG>(xQbrM@U;MqVWSt}llUxMR#TCrl?+9+Mz4+t<-HL>U>uN|5=1hV=Vtv6}k+ zJ4C)>3fW@uhIaZYL!Q{3K_-@!k}09@2)VDBWWmHIQ0Ds@yEJYhBcxDSo9skag*(tL-QppdVmUXliX=#O%G2lJ3n<@m;G zxnyr=GGkbo$}9wG!r=K2=+&XO$)wx{=46@!UpL!QnEXUXxMFZ6e^SyrW^m;w;hvCP zWU1L!XOu4kh~OvKdV2S$n21O;pnswSXv_xSu{SGKMs6siwad-X|O*jOdKmaJu3mO+VW| zk#UY5qN|B{w(c%ZNL{r_+5S`)Y|46wBR$*Aisb>*#}q?1eA3z)1I zkn~wTi76L9z;wBpGVK{EbO^0zvn{^cHo9aYqi2K(g(dD}?W)_Pup*K?`9gwuT<*en z+Mi+yLRZoUcJP=nG4ag8`bV^(m>8*b{ui-MV8L8Z_{wCTKEWvHzNp!epT*2iFJdGb zu8`vK?})=w_4&3-_L0qNUCC;bql_vHCy&}Zq^FPYB=|N$WkAYc7X3 zlZsRov*~pjQ_U2U9xW-1^h^!XW~iIkxmtsXKd41_X+5FKo`0zkpEr|u5%8SW0|taD zeTv9?SWHX!Z>?EaFoI5ebG9bq-b<^SF8MV{T0XYlJ6D&x@xGlezR=kjbl^?GfOOZD4+Gkb4KOU4os^}C3bGt}wAz3Zyq6=&6` zx)snDJSP%We_-OMg-lIS$W05wNQn+>}S!OrI${+NDU^OKjv%ke$ZZizN&FpIs*w zq&E>CLjl{f8kW<3y}*9kIqW#AWb=dsu{9oSQx0Ti?) z1eMy|IQ-fe(H~~pAlRk_uj=1|B-x3Z9b2$!_9`5HCIZ%sJOmp*FT{gUpadcAk!lZn@1eg%Ui6IGG(u0kARnFG^PUP3XmAiOq#g!96h zu`pZ{WOFvmziT6EHGdIY^M|}BdN3WUZjHyI*{!(#fB`6z)PYM5>B8gOUbk&YG@cW7 z0+mk?$E8mapeU>X!Zrd|=PZYcm$zf-gLz>4)1$DgUWCIW4+GbYSupH zLhCbUS)W_VaQ>-#(92^SeiYe=#Ul&xp1LEr>$wnYPm4h`?jB5m+^z;Jkg1(Lm+*F1{4;n2x>-sLx*aWpghpT3*4c9`~*>&oi=Pq9x15TF+etTkvOp>9;UvQf!fbn z@uSn~_^?$Ca9a?Gr+%6M8&hS_nixq@@#U%b?&koglo$l7ei~vQvJj8iKMfc6E)#S_ zM&jnAP%M#o3zx`7V_6vi9`WTOGLX+_H*|yuWFmS%s2dEeY_E?@D~Scn;npCoMX(ZZSN!unNe{eGSe$t-)GLM~P+yrXgmpnrQv!T6C2^ zi`m|`0A;NV#G?<46&;CI#5*3@hTNbPrq-r;)K<#G*r;o41Y zNO3~485=QQX9A?({X+LOMsqT&o9IWb8%%2M!~MGH_))1FmUMAJ4YT5)NA_X-#n=SC zh#djSlOwR{M`q$h~>-R+s%1Y znUy+he>*@;JmQ4YkF7)#eBCkcsSPgSsS6Ifh6|#jGjU>N8MSRh9OO@FN4$`|K}-_^kna@eX5`FCNsglx(o5*;=r#C=}d%Jr+H`orlv+-0|E}5%mQW;yX^G zMCV;kLF3fB_@-4qJ|CNaV)hL|RrwsaTp|VrG~UD!>XQIbHO6JF3i3y<=cAvm1dfJgQ1hxBVTOy^W$W3M&vdfQFvM}ipETAYMkEn~s8TmiiO zYC5PclZMNFt$~fDLVR$c?#W+>) z`AHFe>lFu-{8WKc##X%Siz{$DX8={$a`umd5{S5UUMO%0f|m+D;z?&Ye~JM-Xzp|f zJeg1eNCclIwar5Ea)SDpwgBmu!yNUg2Tmav;Oc&hP z?}*I2_u{c~9mweY7`U@90!=+GBYNa}2j6K-fu}Yf$42JvaF6dkyw&9pyl-YG(y`o& zi4X;75vl-Vs1B@``T_PDUj;J6Jy`0Sj9a`P!m4wF;9J;dSho2p4iJyQE6xvr6a^V* zbkP@Yc9RpO)#c+DGduWBJqZ-f_=(#W+Ts&a%wSlJDPFK}AzYd_8|S^0fqLOhP%&#f zP`pN9lP9ad1H+M`)d#NPD(zF)F(noqNI#2hn_Acj8GO_Ys`35Ar%>xxDAEw@1y#`( za98U}d}C0XI_nY#Uqnb^?dDIcVq*ccca{-Zs*e@T?`Q?mUSHs@z@s>#pa=xdzm6*o zU|hZXFgmybVV!;9@I#V3RI5{h3yz=1DQ(u^amW)WYElp_+Ytcb?DkM%abDC8numeG z0A4qFv}mcq5`k=X0}38vkJqAjsD5q$EqmL}KV|5IU8o26nbJH+DpkT&E^_#~MjLRI zmcWzc9>Li?GNOHnukftONEmMS2z9)E$Zq}_iA#oPpj6?E(l03s7SwLUWBV;}qI(ZK zqT7tA7frb1O)QSrm<8ASuL7T+uK*X%ieSatGx(_OA!MET0`FP72Qpjyuy*H5q;n(> zmVb+c*%KbZ6)#2zTI2n&oOK~vF_-`|lhs5y$M<6MKia^JQ{%u`Z523f<494|`R|yT zttDEz+!+g<%wWay!_YDKJ6d-`OQe4oV7~}kxSF4eFVr_I|v* zs{>6RxDU^%3*gTj8ghO*v13&^&OcuUj|bhr`bHAiyCV_=x=C<{bdCe#dsA@Q8Ut7r z`32%9r(t_%946)Tz_#QRxL*|@D=AAR0W zuOOP{lmNdGA|!#l;kd8P&?C7Ark|XEUldm1ix%TS^P&*AJ&JSrbbble{ZlECqVS%Mwf1zrz zwQy49DJ1hq1k{}Sap_bYn45J0&mUBVDU1t#ws$*xpuGUgm=>Z1I%e4GRRm5hD!{k& zriyq9r-1jd`!KE{8cP&cqWVR1k^DdmTG}lJ>$YWbj!x6Ty4q;CL9-q|pJ*o9o3#Qb zeEYqgl;)O$N*qn$NbL90kSE|m1&)5NBfWhBxA>SW^bA=Tx{*ud?i2g|k9Fh-9`9O- zCd_cjgI88ug?esLI5b2D&2}sUyI;k?(!|HOH82+#V;V$9H$&kMK00AA7M^$522daa z4w{~UeV!@8nDWs$N^&XKK>9(QK~J0RXZzsVOm&2_4 zi!%1&IMugEGNl)5O}&fPb`=RjdMx159l_W{uN1bvoF*d66Ht|=xS-nYI4Etr1Vb-2 zLodD%t(d(Q4M|m?jq`@!wc=Llc5WjcLo1^r56VG)vNT*%l?B#ZOics@9ww46dd5Waec&J1sp=R_;}A6&T`^%mRtOz@b3k^ zyOqhT^`2X1dV6yfd3rDR3|{ZKZllklO(wxUTY^G^y?p*Z#s8jc^N)?e-&3vr+Ai?A zIKFxYfB(*r93NMopMjlo62VYT6CCLz#688b0`sEl@NmEeoIPO(_Q)5&v6JS)$#sWO z&*xV7dDLYpb+#$?*7yL6r8>cUX-yciq#bEj-NTYpF_m>%1hiG9@IB9qVD5WwsP^g^ zF!y~(-Ikpp$eOzrh%L5;i%N>&#uz2!Qo9inKYruPiSqu2vkrItZ*jKxPdHnc{NFfR z{C7D2v-sZ;wfwg@|I47dGsoAGq2D+QI9@JI3lw-HCgS!YL&2=6#gJzbAefQPgJWGS zuwT$a5MbC2dv-YUKi*3d9r>7wk@YKZ*KrJ}UTy&*UL1hyxVnblLrISQ_xm^;|F<}q z{U@Bv{sT^C{~b>MEdF<#{yGl&_tbw0bi+BmB7Xi0r Date: Tue, 25 May 2021 11:24:14 -0700 Subject: [PATCH 16/18] reduce nrf stack size --- .../zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf b/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf index 29bfa0026588..d298325eb4a4 100644 --- a/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf +++ b/apps/microtvm/zephyr/aot_demo/boards/nrf5340dk_nrf5340_cpuapp.conf @@ -21,7 +21,7 @@ CONFIG_CMSIS_DSP=y # For AOT runtime which requires lots of function call. -CONFIG_MAIN_STACK_SIZE=18000 +CONFIG_MAIN_STACK_SIZE=2000 # For random number generation. CONFIG_ENTROPY_GENERATOR=y From 39c7feb77937c0c6c50b763db2c5f1c44996fc98 Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Wed, 26 May 2021 09:20:17 -0700 Subject: [PATCH 17/18] update sample url --- tests/micro/zephyr/test_zephyr_aot.py | 6 ++++-- .../micro/zephyr/testdata/ic_sample_fp32_8.npy | Bin 12416 -> 0 bytes 2 files changed, 4 insertions(+), 2 deletions(-) delete mode 100644 tests/micro/zephyr/testdata/ic_sample_fp32_8.npy diff --git a/tests/micro/zephyr/test_zephyr_aot.py b/tests/micro/zephyr/test_zephyr_aot.py index 64aa23b4f32c..4139b8db653a 100644 --- a/tests/micro/zephyr/test_zephyr_aot.py +++ b/tests/micro/zephyr/test_zephyr_aot.py @@ -169,7 +169,7 @@ def test_tflite(platform, west_cmd): tvm_source_dir = os.path.join(this_dir, "..", "..", "..") runtime_path = os.path.join(tvm_source_dir, "apps", "microtvm", "zephyr", "aot_demo") model_url = "https://github.com/eembc/ulpmark-ml/raw/fc1499c7cc83681a02820d5ddf5d97fe75d4f663/base_models/ic01/ic01_fp32.tflite" - model_path = download_testdata(model_url, "ic01_fp32.tflite", module="data") + model_path = download_testdata(model_url, "ic01_fp32.tflite", module="model") # Import TFLite model tflite_model_buf = open(model_path, "rb").read() @@ -192,7 +192,9 @@ def test_tflite(platform, west_cmd): lowered = relay.build(relay_mod, target, params=params) # Load sample and generate input/output header files - sample = np.load(os.path.join(this_dir, "testdata", "ic_sample_fp32_8.npy")) + sample_url = "https://github.com/tlc-pack/web-data/raw/main/testdata/microTVM/data/testdata_image_classification_fp32_8.npy" + sample_path = download_testdata(sample_url, "testdata_image_classification_fp32_8.npy", module="data") + sample = np.load(sample_path) model_files_path = os.path.join(runtime_path, "include") _create_header_file((f"input_data"), sample, model_files_path) _create_header_file( diff --git a/tests/micro/zephyr/testdata/ic_sample_fp32_8.npy b/tests/micro/zephyr/testdata/ic_sample_fp32_8.npy deleted file mode 100644 index c0b896b542263684fc3692ba871cb7d5d992fadf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12416 zcmbu@eW=&v8OQOTR$6LLnyLA4jvn=BnVAngX+D;Ed?;Iqs8`tYi+R*FG3|EAS9eZ-@*qC)B3GJ3~YYP^KV`}Ws6--=J{b;Uv|a0Ds$quUM@ET zKIO=EmfYz;GwYl&CCm!Wq}cX6Aill@}q>fe{=fk1!Sv*}@;=3;RV?BQ!}P)ld%XJ^ps(qNysyP7*w z&UE4Hnjju?r8Aq(`loc>)Ujz^^K3p!b8)CAohxs5!J3+{y3m;)^Ih9s^L)}=JXPP3 zw*15r!PtcAJKi2ZH)mk&9Lg@1h} z9`EGR)t2wlknPT?SJytB{?-qLs(aU_xq6+h|4*kseeD-B%}XnK4+Ofh-2u8zxQ>2D|ecg58tI%*7tfJhB2|9&iH;97h7GN zZ@qfz=lcH8b8FBa=GoSkEf$)Y|4(&PyNb7~zj(y&&brGLCtsz3Gw4u$X;%G2*V;qx zIf1^u?O?kL*3nqMnWLpTfiFJ2cLuxef?8C4#Z$4GD}9|`_tg8k3w*KVMK}FM+Y{0I z@8OKt?_?aEaeA;<-Zuy9tN%-LwdmS)Ce7L18dd+7W}EV!%_qD1=>OH9e)3m8`u7KY zMEike(;wD)2l}c7XsIT37p$whpeEG^-Me6}?x6Fl7in0!bnk+B^-_Z=;ruW$xWn!X z?hJQ_oq<1ddXH}QsiXPQuxg~AooQa5+oz60p?-_3alSP)@9JOu%YXHn{gt;E=u!3S zYED18IG_Hr0W}P$XL#yih($IX(ZHz4@{k|>e0ekuBt{ls2OeS zS5KPN9ywI6(tKv1^_(Ebs>MKTKD>ikcnACWth=BVYD}ANy9?r>L**tfdg{UId7AU( zTSO0e)m<`YtsHlS-C;PGr=@=8j~;a7hd*_xGjD8m^*a5m(a+{;uh=}Buby>o>1R*n ztxjFdX;U?$nf-c;mQ|^3xdnG@y@heAX(4Pj?^K_{Fw5!}pKWEZdUUP#wfR^T_hD!qdJ+s{rx;x)9 z_^`ifY`^#Xt6$k-D_hJJk9k^K@4b2X(1A`{10C5kWShG+427M6{xrHR+!N$ZD|g3Q z^LGWB-W2Sm4bAK;&Dc;&`^>ACIr>+fx;@|3S-xt#GITYkN%cRiHKbK@7Cx3+kYLo5C%PZ5h?UeHjYd1AqJ&?+o=@v^lo?O51LqSFS7b-nrFR z@@3aI=Ze^RVjxugE{P3yf|l@}AA0NeH9;E4R}Xc;J&m0i`Q8%ft*7a`BiO?Sb_I2Q zAgJH&FdW1q4t{8_|K&v=8p^r!mpjd^W7Cm7_R!3FJw`+IV^0a=!?>W|*%Jc)zD4F} z#9!4?Eqov7NN4l(S{KxzwDzvvi)m(<7MwpeoD(JovGoOK%9mDjqP^$RiZ(Q(1?Z(m zzZZO4*v+`|| zf!}fAZ_$Nsdc77~9%I8lVyowra8Z~ZtREAsan_NL6cX%Mki~j0BQ`*Xt&hXAW%zL)SdOaW}Iq@y7tHa_T2fZ@b@I0?$TYG7spE$+n z{kpI^tPlIczQ&=92g1SdXoEcz)c@LWSvWiVGa5Qqzx_3s?*)HDxjCb{9E*KbMw)#P z+j@JyiB0qIfv##mOXx4Yteqd!XmYqXj1Bfr3TogCwz&zxK6%Pf{QJZALup(3(ir!4 z*cBV@h;PLGZM05})M8CzQ%3!YZ9#pYziEn%!FyU;PjCA1!IvI4J`%(TJ)>V949?d- zdxCf%zAfRJphxu?ZT$^vQAWD@o66SM7Y6pUHh(g<@6LOT(V71&wr|Jzu}1}SGXt$L zqmA@;7G39t6+!<&jPd|Ije1uP;HF@{w54yYH^(+-kG_XF@9=Oq5Y*GXp_{dI;M;d% zd+<(u%~hSvv(=AZnm!Q3{7|6zj-bYTs%4$QuDwS3s}EoDqOsc2=BsG9Hlv=TGktpD z_1J3iR(QGbT*jBe(e~^&!rvi19}jN_cSvoF?wQ&+XHHlc+#PpA&E-!gxeW#1OZn)t z%|V=WFh}RI?U6gJ>A^NfA8Yy3hw`SCKBb}e?v*;|P48%Dt$Ak*2imIpzGi!GP94n| z4+ff=KM-mkn=faUU2DXk9%>+V`N>rd;=UpDhfkv$O`i`>h2Ms4VR!g>SRU>QPlg@g zr@@-X+o(?Vy%63EeoOq0tLL=%r@!y2exQ{+XjMAUMxJu;P9Muzj^-WqtfF5@**#71V_lK_fe0-P?&I>aFt$mX=26g72-p&R+>1&h=4e3=j{p9W0 zJdNaKo^9T9*)?DJ8)2O_wXVjRuaTzKm%d%wo+ldKS3T+s&(?U>BhU+1h9!-QGhP_Z z4s1G|5ypix1KoW?o({hVz90U^u6KRwJ-ZvePxPk!#Eg@|1z{k}4YR|Bur{m??q6w5 zBXL2D-hr);+4asy8yXwcpj#u)@~s-l-yC1obv2=#XXB6C_@j)4cTcuwqvviNDh{zY z!&tG4Q$P7;xyP%5{N+AAOb+J<|8~@?Uj#bSo3_5=ABU6S*WvcCHhdWT4(ogR+xJO<(yEBT<_f@~Ui|&E%ulwn_YT;Ra^phWbD_@#;2Hi>@ex2d_ zx-M)E*9JOl3oG06Ep3i2w+8XqD;Bzmk-aBadq=n}@W+pPEUz1bbNHw8ny@5X6P5-& zxH!xU)5B$9b{G?AG&Shs3o}j#{(U(v<2hk>>?L7U_+>a0_6PR>eph>0H#(@LJ@&d& z{9Y2=Epb2`>l^YGznJA-ws~vhW$uQsDOhJt{+_pn?QN95b@rVboGS+X@@050__wvb z5%w3Kx!_jau91kCb-{c*h3NMA%!W-dOu%AD7$r)m48ID02!9H`N#>tvwi>+9nR~T8zmoB-@N#%3_}(24{5q4)^qCmMA$IrC zv%bIuE0Hhi%8^{j7<*62H}=&lB|p}%MP)2;ebEzEhRPuccX57Uxu zp1wx@XyBR7>g`O3$9=-riI29Rr#*BOyOF*$GNQY_bheJpYU%spjyr?q_VTG-@{^0) zC@1BeBv@p7m|fqhj~YyuIBuo}FWk59d0I&+2Wp&~tUZ`$<1>b?sA`*FWN_ zJM8)0%%7D}E_#mE@|3r;)m(fKE1ab+YUym>2zSRm=g|7KK-cHPvEWXar@43Rw*t-8 zLj62j_kMf!+u$zL^JlTeWlpV~?L0Bk!};Q>+R#+Ko@pjt-%E2evQ`afN-rAI(>t|e z^J|U0wBd(ewmFnm{C%Ezx`HnH86U>h&o~*oG?%lO_&XltL`$f*ex99CFNn#V6es`g zt9ayZzCU>PT=pCd^nW(co33g>(^rFg;XKdue>pI)Zr-R4EAnn}pzr3eE-VYH!^%+a=EZimX-@AK!!toG*i{Rb%7 From d8f839e511633ea1d9e85b741a1ca5672b249cff Mon Sep 17 00:00:00 2001 From: Mehrdad Hessar Date: Wed, 26 May 2021 09:21:30 -0700 Subject: [PATCH 18/18] format --- tests/micro/zephyr/test_zephyr_aot.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/micro/zephyr/test_zephyr_aot.py b/tests/micro/zephyr/test_zephyr_aot.py index 4139b8db653a..516774a5d83c 100644 --- a/tests/micro/zephyr/test_zephyr_aot.py +++ b/tests/micro/zephyr/test_zephyr_aot.py @@ -193,7 +193,9 @@ def test_tflite(platform, west_cmd): # Load sample and generate input/output header files sample_url = "https://github.com/tlc-pack/web-data/raw/main/testdata/microTVM/data/testdata_image_classification_fp32_8.npy" - sample_path = download_testdata(sample_url, "testdata_image_classification_fp32_8.npy", module="data") + sample_path = download_testdata( + sample_url, "testdata_image_classification_fp32_8.npy", module="data" + ) sample = np.load(sample_path) model_files_path = os.path.join(runtime_path, "include") _create_header_file((f"input_data"), sample, model_files_path)