From 74166a1ea19f4b6292ae66768bd0bfc94858e83c Mon Sep 17 00:00:00 2001 From: AliceMazzoleni99 Date: Fri, 8 May 2026 13:09:02 +0200 Subject: [PATCH 1/2] fixed python simulator test fixture (#1350) * fixed python simulator test fixture * clear_roi after every test to bring it back to default state, test passing multiple parameters * Exposing the ctb api tests now to CI * Revert "Exposing the ctb api tests now to CI" This reverts commit 411fad1b2782665bd905bdf5fc7a38df4b59f6fa. * fixed tests removed uneccessary stuff * did not save properly * updated documentation, renamed file --------- Co-authored-by: Dhanya Thattil --- docs/src/Testing.rst | 52 +++------------ python/tests/conftest.py | 115 ++++++++++---------------------- python/tests/test_ROI.py | 59 ++++++++++++++++ python/tests/test_det_api.py | 17 +++++ python/tests/test_free.py | 48 ++++--------- python/tests/test_pythonAPI.py | 51 -------------- tests/scripts/utils_for_test.py | 9 ++- 7 files changed, 141 insertions(+), 210 deletions(-) create mode 100644 python/tests/test_ROI.py delete mode 100644 python/tests/test_pythonAPI.py diff --git a/docs/src/Testing.rst b/docs/src/Testing.rst index 4371ee956..ad67326d8 100644 --- a/docs/src/Testing.rst +++ b/docs/src/Testing.rst @@ -101,7 +101,7 @@ To run only tests requiring virtual detectors use the following command: #in build python -m pytest -m detectorintegration ../python/tests/ -There is a helper test fixture in ``slsDetectorSoftware/python/tests/conftest.py`` called ``test_with_simulators`` that sets up virtual detectors and yields the test for all detectors. The set up is done for every test automatically. +There is a helper test fixture in ``slsDetectorSoftware/python/tests/conftest.py`` called ``session_simulator`` that sets up virtual detectors and yields the test for all detectors. The set up is done for every test automatically. Note that the fixture persist over the entire session e.g. the fixture is setup one detector at a time and runs all tests using this fixture before cleaning up and moving on to the next detector. It saves time if the setup and cleanup is expensive. Example usage: @@ -110,10 +110,13 @@ Example usage: import pytest @pytest.mark.detectorintegration - def test_example_with_simulator(test_with_simulators): + def test_example_with_simulator(session_simulator): # your test code here -If you want to run the test only for a specific test use the parametrized test fixture: +.. Note:: + As the detector is set up only once makes sure to not change the state of the detector in a way that affects other tests. If you want to change the state of the detector make sure to reset it at the end of your test. + +If you want to run the test only for a specific detector use the parametrized test fixture: Example usage: @@ -122,45 +125,10 @@ Example usage: import pytest @pytest.mark.detectorintegration - @pytest.mark.parametrize("setup_parameters", [([""], )], indirect=True) - def test_example_with_specific_simulators(test_with_simulators, setup_parameters): + @pytest.mark.parametrize("session_simulator", [("", , ), ("", , )], indirect=True) + def test_example_with_specific_simulators(session_simulator): # your test code here +.. Note:: + The parametrized test fixture is setup per file and not for the entire session. -There is another helper test fixture in ``slsDetectorSoftware/python/tests/conftest.py`` called ``session_simulator`` that sets up virtual detectors and yields the test for all detectors. The difference with the previous fixture ``test_with_simulators`` is that this fixture will set up one detector at a time and run all the tests using this fixture before cleaning up and moving on to the next detector. It saves time if the setup and cleanup is expensive. - -Example usage: - -.. code-block:: python - - import pytest - - @pytest.mark.detectorintegration - def test_define_reg(session_simulator, request): - """ Test setting define_reg for ctb and xilinx_ctb.""" - det_type, num_interfaces, num_mods, d = session_simulator - assert d is not None - - from slsdet import RegisterAddress - - if det_type in ['ctb', 'xilinx_ctb']: - # your test code here - -For more specific parameters, you can parametrize the fixture like below: - -.. code-block:: python - - import pytest - - @pytest.mark.detectorintegration - @pytest.mark.parametrize( - "session_simulator", - [ - ("ctb", 1, 1), - ("xilinx_ctb", 1, 1), - ], - indirect=True, - ) - def test_define_reg(session_simulator): - det_type, num_interfaces, num_mods, d = session_simulator - # your test code here diff --git a/python/tests/conftest.py b/python/tests/conftest.py index 3b1d65f69..e39c6cf20 100644 --- a/python/tests/conftest.py +++ b/python/tests/conftest.py @@ -58,39 +58,56 @@ DEFAULT_SIMULATOR_CONFIGS = [ SIMULATOR_IDS = [f"{det_type}_{num_interface}if_{num_mod}mod" for det_type, num_interface, num_mod in DEFAULT_SIMULATOR_CONFIGS] +''' +for more specific parameters +@pytest.mark.detectorintegration +@pytest.mark.parametrize( + "session_simulator", + [ + ("ctb", 1, 1), + ("xilinx_ctb", 1, 1), + ], + indirect=True, +) +def test_define_reg(session_simulator): + det_type, num_interfaces, num_mods, d = session_simulator +''' @pytest.fixture(scope="session") def session_simulator(request): """ Fixture to start the detector server once and clean up at the end. Expects request.param = (det_type, num_interfaces, num_mods) """ - det_type, num_interfaces, num_mods = request.param - fp = sys.stdout + try: + det_type, num_interfaces, num_mods = request.param + fp = sys.stdout - # set up: once per server - Log(LogLevel.INFOBLUE, - f'---- {det_type} | interfaces={num_interfaces} | modules={num_mods} ----', fp) + # set up: once per server + Log(LogLevel.INFOBLUE, + f'---- {det_type} | interfaces={num_interfaces} | modules={num_mods} ----', fp) - cleanup(fp) - startDetectorVirtualServer(det_type, num_mods, fp, True) - startReceiver(num_mods, fp, True) + cleanup(fp) + startDetectorVirtualServer(det_type, num_mods, fp, True, True) + startReceiver(num_mods, fp, True) - Log(LogLevel.INFOBLUE, f'Waiting for server to start up and connect', fp) - d = loadConfig( - name=det_type, - log_file_fp=fp, - num_mods=num_mods, - num_frames=1, - num_interfaces=num_interfaces, - ) + Log(LogLevel.INFOBLUE, f'Waiting for server to start up and connect', fp) + d = loadConfig( + name=det_type, + log_file_fp=fp, + num_mods=num_mods, + num_frames=1, + num_interfaces=num_interfaces, + ) - loadBasicSettings(name=det_type, d=d, fp=fp) + loadBasicSettings(name=det_type, d=d, fp=fp) - yield det_type, num_interfaces, num_mods, d - - cleanup(fp) + yield det_type, num_interfaces, num_mods, d + cleanup(fp) + except Exception as e: + Log(LogLevel.ERROR, f'Tests Failed.', fp) + cleanup(fp) def pytest_generate_tests(metafunc): if "session_simulator" not in metafunc.fixturenames: @@ -110,62 +127,4 @@ def pytest_generate_tests(metafunc): indirect=True ) -''' -for more specific parameters -@pytest.mark.detectorintegration -@pytest.mark.parametrize( - "session_simulator", - [ - ("ctb", 1, 1), - ("xilinx_ctb", 1, 1), - ], - indirect=True, -) -def test_define_reg(session_simulator): - det_type, num_interfaces, num_mods, d = session_simulator -''' - -#helper fixture for servers -@pytest.fixture(scope='module') -def setup_parameters(request): # only setup once per module if same parameters used for the scopes - try: - servers, nmods = request.param # comes from @pytest.mark.parametrize(..., indirect=True) - return servers, nmods - except AttributeError: - # fallback default if the test did not parametrize - return (['eiger', 'jungfrau', 'mythen3', 'gotthard2', 'ctb', 'moench', 'xilinx_ctb'], 2) - -@pytest.fixture(scope='module') -def test_with_simulators(setup_parameters): - """ Fixture to automatically setup virtual detector servers for testing. """ - - fp = sys.stdout - - servers, nmods = setup_parameters - print("servers:", servers) - print("nmods:", nmods) - try: - for server in servers: - for ninterfaces in range(1,2): - if ninterfaces == 2 and server != 'jungfrau' and server != 'moench': - continue - - msg = f'Starting Python API Tests for {server}' - - if server == 'jungfrau' or server == 'moench': - msg += f' with {ninterfaces} interfaces' - - Log(LogLevel.INFOBLUE, msg, fp) - cleanup(fp) - startDetectorVirtualServer(server, nmods, fp) - startReceiver(nmods, fp) - d = loadConfig(name=server, log_file_fp=fp, num_mods=nmods, num_frames=1, num_interfaces=ninterfaces) - #loadBasicSettings(name=server, d=d, fp=fp) - yield # run test - cleanup(fp) # teardown - except Exception as e: - traceback.print_exc(file=fp) - Log(LogLevel.ERROR, f'Tests Failed.', fp) - cleanup(fp) - diff --git a/python/tests/test_ROI.py b/python/tests/test_ROI.py new file mode 100644 index 000000000..f6117f90d --- /dev/null +++ b/python/tests/test_ROI.py @@ -0,0 +1,59 @@ +import pytest +import sys + +from conftest import session_simulator + +from slsdet import Detector + +from slsdet._slsdet import slsDetectorDefs + +detectorType = slsDetectorDefs.detectorType + +@pytest.mark.detectorintegration +def test_rx_ROI(session_simulator): + """ Test rx_ROI property of Detector class. """ + det_type, num_interfaces, num_mods, d = session_simulator + assert d is not None + + if d.type == detectorType.CHIPTESTBOARD or d.type == detectorType.XILINX_CHIPTESTBOARD: + pytest.skip("Skipping ROI test for ctb/xilinx_ctb detector types.") + + if(d.type == detectorType.MYTHEN3 or d.type == detectorType.GOTTHARD2): + d.rx_roi = (0, 10) + roi = d.rx_roi + assert roi == [(0, 10, -1, -1)] + + #d.rx_roi = [[5,15, 0, 1]] # not allowed for mythen3 + + d.rx_roi = [0,10, -1, -1] + + assert d.rx_roi == [(0,10,-1,-1)] + d.rx_clearroi() + else: + + d.rx_roi = (0, 10, 10, 20) + roi = d.rx_roi + assert roi == [(0, 10, 10, 20)] + + d.rx_roi = [5,15,15,25] + + assert d.rx_roi == [(5,15,15,25)] + + if d.nmod > 1 and (d.type != detectorType.JUNGFRAU) or (d.numinterfaces == 2 and d.type != detectorType.EIGER): + d.rx_roi = [[0,10,0,20], [5,20,410,420]] + + roi = d.rx_roi + assert roi == [(0,10,0,20), (5,20,410,420)] #in same file for jungfrau + + d.rx_clearroi() + roi = d.rx_roi + assert roi == [(-1,-1,-1,-1)] + + + + + + + + + diff --git a/python/tests/test_det_api.py b/python/tests/test_det_api.py index 7bf942e22..5c8cef0bc 100644 --- a/python/tests/test_det_api.py +++ b/python/tests/test_det_api.py @@ -12,6 +12,9 @@ from utils_for_test import ( ) from slsdet import Detector +from slsdet._slsdet import slsDetectorDefs + +detectorType = slsDetectorDefs.detectorType @pytest.mark.detectorintegration @@ -903,3 +906,17 @@ def test_dac(session_simulator, request): Log(LogLevel.INFOGREEN, f"✅ {request.node.name} passed") +@pytest.mark.detectorintegration +@pytest.mark.parametrize("session_simulator",[("moench", 1, 2)],indirect=True) +def test_type(session_simulator): + + d = Detector() + assert d.type == detectorType.MOENCH + + +@pytest.mark.detectorintegration +@pytest.mark.parametrize("session_simulator",[("moench", 1, 2), ("jungfrau", 1, 2)],indirect=True) +def test_numinterfaces(session_simulator): + + d = Detector() + assert d.numinterfaces == 1 \ No newline at end of file diff --git a/python/tests/test_free.py b/python/tests/test_free.py index 4f5393ca9..91e959ef4 100644 --- a/python/tests/test_free.py +++ b/python/tests/test_free.py @@ -17,46 +17,18 @@ sys.path.append(str(scripts_dir)) from slsdet import Detector, Ctb, freeSharedMemory + from utils_for_test import ( Log, LogLevel, - cleanup, - startDetectorVirtualServer, - connectToVirtualServers, SERVER_START_PORTNO ) -''' -scope = module =>Once per test file/module -to share expensive setup like startDetectorVirtualServer -''' -@pytest.fixture(scope="module") -def det_config(): - return { - "name": "ctb", - "num_mods": 1 - } - -@pytest.fixture(scope="module", autouse=True) -def setup_simulator(det_config): - """Fixture to start the detector server once and clean up at the end.""" - fp = sys.stdout - - cleanup(fp) - startDetectorVirtualServer(det_config["name"], det_config["num_mods"], fp) - - Log(LogLevel.INFOBLUE, f'Waiting for server to start up and connect') - connectToVirtualServers(det_config["name"], det_config["num_mods"]) - Log(LogLevel.INFOBLUE, f'Freeing shm before tests') - freeSharedMemory() - - yield # tests run here - - cleanup(fp) - +from conftest import session_simulator @pytest.mark.detectorintegration -def test_exptime_after_free_should_raise(setup_simulator): +@pytest.mark.parametrize("session_simulator",[("ctb", 1, 1)],indirect=True) +def test_exptime_after_free_should_raise(session_simulator): Log(LogLevel.INFOBLUE, f'\nRunning test_exptime_after_free_should_raise') @@ -78,7 +50,8 @@ def free_and_create_shm(): k.hostname = f"localhost:{SERVER_START_PORTNO}" # free and recreate shm, maps to local shm struct @pytest.mark.detectorintegration -def test_exptime_after_not_passing_var_should_raise(setup_simulator): +@pytest.mark.parametrize("session_simulator",[("ctb", 1, 1)],indirect=True) +def test_exptime_after_not_passing_var_should_raise(session_simulator): Log(LogLevel.INFOBLUE, f'\nRunning test_exptime_after_not_passing_var_should_raise') @@ -102,7 +75,8 @@ def free_and_create_shm_passing_ctb_var(k): k.hostname = f"localhost:{SERVER_START_PORTNO}" # free and recreate shm, maps to local shm struct @pytest.mark.detectorintegration -def test_exptime_after_passing_ctb_var_should_raise(setup_simulator): +@pytest.mark.parametrize("session_simulator",[("ctb", 1, 1)],indirect=True) +def test_exptime_after_passing_ctb_var_should_raise(session_simulator): Log(LogLevel.INFOBLUE, f'\nRunning test_exptime_after_passing_ctb_var_should_raise') d = Ctb() # creates multi shm (assuming no shm exists) @@ -125,7 +99,8 @@ def free_and_create_shm_returning_ctb(): return k @pytest.mark.detectorintegration -def test_exptime_after_returning_ctb_should_raise(setup_simulator): +@pytest.mark.parametrize("session_simulator",[("ctb", 1, 1)],indirect=True) +def test_exptime_after_returning_ctb_should_raise(session_simulator): Log(LogLevel.INFOBLUE, f'\nRunning test_exptime_after_returning_ctb_should_raise') d = Ctb() # creates multi shm (assuming no shm exists) @@ -148,7 +123,8 @@ def test_exptime_after_returning_ctb_should_raise(setup_simulator): assert str(exc_info.value) == "Shared memory is invalid or freed. Close resources before access." @pytest.mark.detectorintegration -def test_hostname_twice_acess_old_should_raise(setup_simulator): +@pytest.mark.parametrize("session_simulator",[("ctb", 1, 1)],indirect=True) +def test_hostname_twice_acess_old_should_raise(session_simulator): Log(LogLevel.INFOBLUE, f'\nRunning test_hostname_twice_acess_old_should_raise') d = Ctb() # creates multi shm (assuming no shm exists) diff --git a/python/tests/test_pythonAPI.py b/python/tests/test_pythonAPI.py deleted file mode 100644 index 9bcc4214b..000000000 --- a/python/tests/test_pythonAPI.py +++ /dev/null @@ -1,51 +0,0 @@ -import pytest -import sys - -from conftest import test_with_simulators - -from slsdet import Detector - -from utils_for_test import ( - Log, - LogLevel, -) - -@pytest.mark.detectorintegration -@pytest.mark.parametrize("setup_parameters", [(["moench"], 2)], indirect=True) -def test_rx_ROI_moench(test_with_simulators, setup_parameters): - """ Test setting and getting rx_ROI property of Detector class for moench. """ - - d = Detector() - d.rx_roi = (0, 10, 10, 20) - roi = d.rx_roi - assert roi == [(0, 10, 10, 20)] - - d.rx_roi = [5,15,15,25] - - assert d.rx_roi == [(5,15,15,25)] - - d.rx_roi = [[0,10,0,20], [5,20,410,420]] - - roi = d.rx_roi - assert roi == [(0,10,0,20), (5,20,410,420)] - - d.rx_clearroi() - roi = d.rx_roi - assert roi == [(-1,-1,-1,-1)] - -@pytest.mark.detectorintegration -@pytest.mark.parametrize("setup_parameters", [(["mythen3"], 1)], indirect=True) -def test_rx_ROI_mythen(test_with_simulators, setup_parameters): - """ Test setting and getting rx_ROI property of Detector class for mythen. """ - - d = Detector() - d.rx_roi = (0, 10) - roi = d.rx_roi - assert roi == [(0, 10, -1, -1)] - - #d.rx_roi = [[5,15, 0, 1]] # not allowed for mythen3 - - d.rx_roi = [0,10, -1, -1] - - assert d.rx_roi == [(0,10,-1,-1)] - diff --git a/tests/scripts/utils_for_test.py b/tests/scripts/utils_for_test.py index ae8930860..14c90e196 100644 --- a/tests/scripts/utils_for_test.py +++ b/tests/scripts/utils_for_test.py @@ -257,7 +257,7 @@ def connectToVirtualServers(name, num_mods, ctb_object=False): counts_sec = 5 while (counts_sec != 0): try: - d.virtual = [num_mods, SERVER_START_PORTNO] + d.virtual = [num_mods, SERVER_START_PORTNO] # sets the hostnames break except Exception as e: # stop server still not up, wait a bit longer @@ -288,13 +288,16 @@ def startReceiver(num_mods, fp, no_log_file = False, quiet_mode=False): def loadConfig(name, rx_hostname = 'localhost', settingsdir = None, log_file_fp = None, num_mods = 1, num_frames = 1, num_interfaces = 1): Log(LogLevel.INFO, 'Loading config', log_file_fp, True) try: - d = connectToVirtualServers(name, num_mods) + if name == 'ctb' or name == 'xilinx_ctb': + d = connectToVirtualServers(name, num_mods, ctb_object=True) + else: + d = connectToVirtualServers(name, num_mods) if name == 'jungfrau' or name == 'moench': d.numinterfaces = num_interfaces d.udp_dstport = DEFAULT_UDP_DST_PORTNO - if name == 'eiger' or num_interfaces == 2: + if d.numinterfaces == 2: d.udp_dstport2 = DEFAULT_UDP_DST_PORTNO + 1 d.rx_hostname = rx_hostname From ac9306ad7dc12a578a60bfc8c80110087038d544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Fr=C3=B6jdh?= Date: Mon, 11 May 2026 11:08:15 +0200 Subject: [PATCH 2/2] removed legacy patternGenerator (#1449) --- patternGenerator/deserializer.cpp | 110 ---- .../example_pattern/example_pattern.alias | 4 - .../example_pattern/example_pattern.p | 97 --- .../example_pattern/example_pattern.pat | 25 - .../example_pattern/example_pattern.png | Bin 305947 -> 0 bytes patternGenerator/generate.sh | 34 - patternGenerator/generator.c | 183 ------ patternGenerator/plotPattern.py | 610 ------------------ 8 files changed, 1063 deletions(-) delete mode 100644 patternGenerator/deserializer.cpp delete mode 100644 patternGenerator/example_pattern/example_pattern.alias delete mode 100644 patternGenerator/example_pattern/example_pattern.p delete mode 100644 patternGenerator/example_pattern/example_pattern.pat delete mode 100644 patternGenerator/example_pattern/example_pattern.png delete mode 100755 patternGenerator/generate.sh delete mode 100644 patternGenerator/generator.c delete mode 100755 patternGenerator/plotPattern.py diff --git a/patternGenerator/deserializer.cpp b/patternGenerator/deserializer.cpp deleted file mode 100644 index a77fe1077..000000000 --- a/patternGenerator/deserializer.cpp +++ /dev/null @@ -1,110 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, char *argv[]) { - - int iarg; - char fname[10000]; - uint64_t word; - int val[64]; - int bit[64]; - FILE *fdin; - - int nb = 2; - int off = 0; - int ioff = 0; - int dr = 24; - int idr = 0; - int ib = 0; - int iw = 0; - bit[0] = 19; - bit[1] = 8; - // for (iarg=0; iarg 2) - dr = atoi(argv[2]); - if (argc > 3) - off = atoi(argv[3]); - if (argc > 4) { - for (ib = 0; ib < 64; ib++) { - if (argc > 4 + ib) { - bit[ib] = atoi(argv[4 + ib]); - nb++; - } - } - } - - idr = 0; - for (ib = 0; ib < nb; ib++) { - val[ib] = 0; - } - - fdin = fopen(argv[1], "rb"); - if (fdin == NULL) { - printf("Cannot open input file %s for reading\n", argv[1]); - return 200; - } - - while (fread((void *)&word, 8, 1, fdin)) { - // printf("%llx\n",word); - if (ioff < off) - ioff++; - else { - - for (ib = 0; ib < nb; ib++) { - if (word & (1 << bit[ib])) - val[ib] |= (1 << idr); - } - idr++; - if (idr == dr) { - idr = 0; - fprintf(stdout, "%d\t", iw++); - for (ib = 0; ib < nb; ib++) { -#ifdef HEX - fprintf(stdout, "%08llx\t", val[ib]); -#else - fprintf(stdout, "%lld\t", val[ib]); - -#endif - - val[ib] = 0; - } - fprintf(stdout, "\n"); - } - } - } - if (idr != 0) { - fprintf(stdout, "%d\t", iw++); - for (ib = 0; ib < nb; ib++) { -#ifdef HEX - fprintf(stdout, "%08llx\t", val[ib]); -#else - fprintf(stdout, "%lld\t", val[ib]); - -#endif - - val[ib] = 0; - } - fprintf(stdout, "\n"); - } - - fclose(fdin); - - return 0; -} diff --git a/patternGenerator/example_pattern/example_pattern.alias b/patternGenerator/example_pattern/example_pattern.alias deleted file mode 100644 index 9ac446f6d..000000000 --- a/patternGenerator/example_pattern/example_pattern.alias +++ /dev/null @@ -1,4 +0,0 @@ -BIT0 output0 1 -BIT1 output1 1 -BIT2 output2 1 -BIT3 output3 1 \ No newline at end of file diff --git a/patternGenerator/example_pattern/example_pattern.p b/patternGenerator/example_pattern/example_pattern.p deleted file mode 100644 index 809db9456..000000000 --- a/patternGenerator/example_pattern/example_pattern.p +++ /dev/null @@ -1,97 +0,0 @@ -//define signals and directions (Input, outputs, clocks) - - -#define output0 0 -setoutput(output0); - -#define output1 1 -setoutput(output1); - -#define output2 2 -setoutput(output2); - -#define output3 3 -setoutput(output3); - -#define input0 4 -setinput(input0); - -#define input1 5 -setinput(input1); - -#define input2 6 -setinput(input2); - -#define input3 7 -setinput(input3); - - -#define PW pw() -#define SB(x) setbit(x) -#define CB(x) clearbit(x) -#define CLOCK clearbit(CLKBIT); pw();setbit(CLKBIT);pw() -#define LCLOCK clearbit(CLKBIT); pw();setbit(CLKBIT);pw();clearbit(CLKBIT); pw() -#define CLOCKS(x) for (i=0;ig{>%=en=!yw3ByZeE)EcQ2f` zavlo{%R<#XN?I%|%V)8$%&Y%(4qo~0HoF0T{9?Id-wqa*lz{o;M`q*W)#iJ&_OY;> zU(dpF;a@B)qj>4UR~D9Yn^;)B9cE#Xxz57EemWxifGj>S$4q^<63Z0*?^a%X5MKH1 z^d5t=EG(jH>Ax9HaS9H2ajw1UKIOS>GiEPl|1Dc^EjwOXVt!;lKE-~Tg=Kyg3(HIn zytZsHi~b;f8jGsZ4jrfZ&PK=J6}tHfowmEAq~~6{l^}R&hB)8qnKG9cTYan+eARtu zb^4{u9fddIz6Nujzk4Izk>ELFx%avi;-6UV2+mRbMd{2Uzlfp5rnx(Zq`AL#f3u0U zd|;w}vgcmj{p`v_H%Utm;SC{baWnCwFU%7PQ7an#(ea#hF+QCB_1)!KNXQD^dpcf8 zNlCFe^mUqisX^V$&t48wi!=N2?On>L_o@0Brwo#eb0phEXZ-wD7M68)PQ1H!AjhFA z!7$V2?L*`3_w*jzv=5`td-Kze4eb7fKA3IzH#N}ny0 z-f@`zoc?t=EHaYY&^GU!PO^zy`$Kw>)q4~DfD30fVg)jr+_|1SdBSB~Sz79K{>L}v zNSSkd0s;c5si}e8!qe}8-xY7{iPP%suT&_xr+eS*eX2#unU*ry#l{bea~w|P{isoO zT!F8;rTN!lwLdV)lhIhB-NeFpH0IiD`O5e4 z$=b<7`DR7lFDfehn72d=qj^hM)sepQ!a%5qVaA)Owl80Po%!!o81}=GD|gg9h*1mi z3#$+{NL|(kdjy&5M0q%Xyr?T-(-_ULDxoeC&qw*<*WeZV_sI70IPAF`)hS zp6-U5TTik*IP}=tZScLonKNesyZOR}Hf-2n{r<(ZwK2N`ct%2he0{T4C4eW=_Wjmc zqvf;aF4{Z#_CnK*GIx!;UwPaH-fWu~sO}dziSXJREuW|K;jC>^goIy6Zl+@If>ql# zJRl&5_fUVK}`D zL)D8WhJJ6}RFe>~e|uNDQ)fy^pGd#_{37%5ofhUMMf!8`*e`tfjTts9f+chnj!kZk zvQy*z;zyqSD;=BvKKoo=*V7RmlOu1id17;nkKw5oK#J%zg&-vq3@v}Ka zxC)Y9pPMTuEjXuP>*~ruF43$tqtOit?b@p2vfsK5q}sI^j@>?D`JQrvb!%&q41zNJ zm1nUi2Aa72c<1!}&$;Hq-#@2dpSgDEBx>=?ocqS=FDe_Vdw@A6eI08EyK> z9UCnLsj!68GGZx~I#H9cjOA8yIcvUw4!fzVU4z31Yt?8il~!HaH@C(U1MO)kkraPN zMo(8zl}mB_{^`#*4~=s;HXT+hUj4|^Gfq9M7!kmZSn|=J;rBRq`Z0(&5mhgUg2H=3Lxib?EU4-BT$=Y;O>}9NSJG z&K+qDzdR}B)6mf1)E4R3tl=@L-I+hu-TUWU-gRy=EG!{`&Xkf_1f&0ji^Q+sU5*WQ zyH~k%ru05vtiWnjpd-9OL$+6`vtVknml2?_-fgAgZwVWB913ZXJ^XvY)I?8jsX+9) z#)T{wWb=oceZE%3sps|Q-3+G8`^*C%RO-&v8k@IQ#r1aQ z^c0tcZ0LV5^zNW(QCyhG%Ej`-hq23oFH8zdr8=EOtVq`9f1Z*G4s*mZ4o{S!Xym(% zso2=q(9e1iV_M)YZu>Dey=CFbEuNyr*-8~Rw=$|V6#T5J@3t7)A_(6kn-*M`uu!A& z*j_ChxPISFCB#OIvJYFzv5K45w^(Vp4mCQ??yfEHnA-OB*6(-ls%rF1%{jvA7xXNo z7rQGQNI3zvH|W}N=~Y}@28gR;U%cmL~Mi;INf zBbMR1)koiYZ*08uWiL`|sD0*b9o^}t6?>4gyR_ZNvGJTZo?C3rju|R`D?{wrS#G^V z#xWN+EA&in5r}d!lSK+S5Whdt(^DTswE=t5?$6omO2Q#!+8*5vPwd*`!isk-mJ1$8 zT#>Nj_c?a0H!M}6<=xDB@`n6{b?=?hkv~81^=oaisq4g#TC0HGiJ_*FlgW8($P=og z_VeuPt>TNY1w-wnZaurVaR$YC!uU-oTOP~Eb9$@Jy*=;-apPB}m8g?DP^E77O1iDE z;mO%*9tJjtKc%3-`jg4A8f}h$>d#`49DKRCvJe~2FxKr`ZF01I=KP9WCYTH6{aLKb zyaE&^x0#|XjT#KCWFlE256{kjpptmK= zv>10C-Q$j*?9|}I@I%HhT<3Ov5sohCg57t*YUY zu|IxUKYbpnsl{)v?`>?`(US2_&#(x=&rTWt4pPuaO=($~cZ|P`aDApN?^tJ=#zw=8 zja^i5gaL^56owkw7zh;<95$iGf~Ac2$YJ_Z@x};lmyy$x@AE#*vIMJY{_dV`3V>OH zN#1#2F|n0fjxPc9@)_*<5O2((bz`E#bV|)o@4nuHuT2V5%0^U2(_YDJm@e$59uq%k z0nN)rGWU+MZg}wS{=t&rUIt^Vryv0Pq^P;bCx*~?vPs@?gl785T2U->PHc`Uzm~zJ zbm4Mm9i{G44n4tII(Az|90g4<$>&LpCSq%RJK<=?Q;R(+DtwnVy=H@7)DfaDE$MI*n^#@5A z$L>|=Duf<8AlHulRVE2S1MWL_rk0DQl<>F&>vN@9R{HlcN=kB_`^`Q-yL>G?oXcTq9#aXxIf=%*ZVeT$|8g&2(N53%G!j$-*V!u;L5Eh zSh;2FJ-Hp~ZojQ`K@Jc<_VW65z_@Yb`8SV_Jf|hK@A;Uw_hY5}`1j|-3L)7xRA;v%7>=n|h3vP(zirSCKIYSk58B-zY6&>ouZQsfUS9{P^(* ziy2looU*Z4c*DVmzCzk}3u{e1xcl2G16FL%Q$o%qu!-HtOV5em>6^Rz!V?h3H^%qZ z$xau9-3FUPRgW2IJwEX+tM%r|=Du>V0K%syq8+;Gi%_|Er5aA}s+U>OE-&XXIZm0` zb*w8h?pC^}Z-s>GgZBFCn~2 zO-^~JhvKe!)-O@*|k0P&*W-d`If7mQ08qgp% zM_Ib>>8!=Ee0)tvm7_-+G68x=x}|U(>0_?FMeJ4|P9jM2$MATzC#s9(ZF%>=FjMFE zISZ@03)(f%DSf*zYtbILz87l~aSJO(Z>HNc%5;hI0^$38!*0!dJyAMPjXPU5;`Y$A zK>i)#BfV>tL){V1AzoD2V)u`3LycBLkpR@iZoBe6m-F~8f?Vmnn_9KahbgL0<*{{4F^ zQ=eKB7wZ$)NSCt*Z{PBZrL1evc!GxB9fx$>kYq6U+9XSzhogwsnsOgTf&s$}7DIoA#(?hWrUZJYc) zR;oQWo$L$qoiKiMct`OB3Vdz)ST{-{=TL=x(?pkBlI-=ZC-sUu-ey>TSa$OMt%BQk z#*wtFW6aqdPwCe6wxVg$5{Py^a}S7Mq^1K|^#stcvww7WczE{YXoohEUzuY80^=^&-A>gm4|#;MGVNfp$!wmr zrFNx&c-oF1oh?sb!>NruajTA=vv6fBU~5!1z@)ZqZm&u)gT0j}DjNAdPR610y4@7Q z%Ra_U?POBQk-ce1{mh4TqAFIkUi|sB-8?rax^6#ob9VNl%=`n$bo1k${4uuSNp0lw zw;mI<9&sPfcRVngs*uBqCt}I&TE`&IB_4VH$HXCp>TzwW$_G0wEXD&(oSkh&?=?4^ zlnQeW8NYE*JUR7=>(Dan{)7azo&$xH2NV;(p}^OtVp)^{pfXPZvWq)*H@KFo_^-M# zczvyk?;b;k*E{C6tuJk(i$0ya2a*k=9!HSK0{3&1zW@{o@_ez z?X7<{>8t%uM4NSPvBAty3LdFCr17skz#54{#~%M_w$<-E6kXqYMbN^YoufOs>~fcjXz z1OO-VUX8Quy+-=m*hhz{Je_?dEs)XVK9+?{YmTHcyL&S*Il#mAJ75*W4?n$-UdyL| z{?LyK58jFkProAb6#zWr&2C=5NXL)TCeAG(75RTCwmXlsgvB74*%fnI7NXJA{M1Gt z7VYMBVE0J>0}5?&x(FV7p$dh* zc(RyVW{bl|=QbxiPO85nH3pz6WdYKuVRriQ?x6bDdu<`@XFZ5=Luhdhq4{d84g~@c z0NFtS(=__eCbv1Dk@0 zL9H9rs+P!7DdnO$h1`w}*BrX}fOSmHx5rVR$Up}ye9b|9Y-=B2(QaBOYWZv$vSv1U zV2xHFryLsi_HIMAL)W2%-ikRJ^pZRg!`t@D{djvFNuvHdg}}!=mlA9a<5*{|Tcw8b@vCdTa%CUDr-SdsWeES*0U@tEW0H#~L-97KgUw$b)OhIMftArssp13N^hrnfwX9+NzhhTqPU zAdt;Ks(BK}hkIQaA8|%4{rH)45V3!j%w4X(c0m$rYV!JqagGA&^9U1 z<3}oSOQ|p`F|wfbwtRHKLt>w|w3yNH$&4ogdh})9b$WgZ(UVDv;@(0pmUh5WFMU_@^XsKc)k8OW#RSO9M4?68*6g{~ zyV1to9aW#0g!;Zqt*rCzrF|X-?=SquT>#t9U2yQ+upEb!jnOz|z>p0G+4LO&*zL-M z;tM4|oLWwqWYy`XGdQ0Mx)XY|D_pv}u+VFH3?3wBN9a3!3s9xZ7hQVt4wfCfk*a4f zlbWvJ^^CwianbjyR{W5cvwRh??bC%>Y8yG?VqZo`Z(bz({i$o)#)wK?v4W!RCThT_Xn_zE zUxXjwd+y*vBTj%w(W+fsJWii3>gT&U>wtf*bBi6Gw|%bOHDYBMyYBS`g@+p+7Tk-a z2$X*;VL7g4S1cB0>h4TxO{G&DdexM%?ws9dNf^l6#ggz+}YMt?%sOC)44yez5nS&>_DTu^FP$a_$QG*S4cY@MQ9K$^0h97q4GgH zQO9@XR^cx9x!m@eiBWC9Zj6K&e{TSVhfhym^cJqZ)9C3*71qfYzsD_{6^@LNWRjP? zQ_kyLq32TPj5w{t>)Rb|C>DqXK4^SScNKU)I|LK!x0TlZTTj*$5+3Q@s zUO6?c5w#>^A#uZ$-Y#m~7E>kO7O9=xxqw=JDnRr~XXl-%lM0bFaFbY^vh*?#@}XD$8KLo<|4o)bQ@N$)*ZO zciHLZXdNlhP`4i5_z_JffC$%0}pkeqgD*a#P}-+ zUuqudX&jC45G+qA!%|rOd4gZ(KQ_qb=?&u6^|&@PXZ0fxgGDpuu3CbOS(%xOEk<=+ z3GH`zx+x{ql-6ycS)VQu-A+`Ps2=T!CtvUQNN)J`)bGS@<9TzU$iCuOcNQEPn-E@( zk2-&E=LFXgi#}{GfyT?rGJ#4;*pyw%>d|R5BiB^w$6HoLsYV~VA>p2=&j=$vzNrh4 z#E&}kuWw=)Jswjo_FeT`!NfkS1JPEN?qLyk$G^7B+j+$_rOLl!n$*=fjG*^MGLULY zr7Su%$tCuSTAbGGIUK&Lq$M=Izd-gNhIpi==k@Jfr=GNgUjAl_9cqTf3c%A>1~&vq zv64cMh#v;}MIQj0_(sRc@e#X9xuHVJ=Mwp47Up(ceIxq~@N|5-4Bm;Boj1>tBR)u8XfA1cKEXp+hEo2a~F$#w`$|>%Jk7q zOG}GE14l5L@OLgc7Sf^9$NYH}#L3x$yHgPx6?!kF+?U zXfV*qRc4OI2JJ7)`gI)ujg0-*B_s}i`SPU@NQxb5&fc*cXA%^^m-%c+&Xs8D1JFr& zT67E`)$dj0_T5BS6D_8pFtG)oI&mUzMo~X1VhL!@@Ra>%+3p}pNLafrWozQgyGs)MV-@aDT-J=`f zKg z*}z{HO+!RVBy=1RViAcyC4G+)Qj=@{K14~{p80M<+kX;DgfvZoG;e}3lLcE~Ri63& zSorXB-pQ->QvD(AJX#245*>*Y0^75kHr4F;Y=!85%}s>lIIT#1_;hh@F;dZ0Tj!wl z`X+}Ryu(P`3)$A>*%0KjO{XNNVO<$Mj&{r2CZ-55=1=pln`~ClGoYUNm5VxsrM3WqDCA@ zDJFEce9s!@1+Og@3o#!Lj7C4GK%^#7V^3U{l(%k5*4orB-2Op4nN(~|r)diO*31qh z|D%?cZCnytKqA6Jz~$C{vhPdjY*A4T=`%--AR(b<1qrz(s)Yy>LADLuMhp^9O7;Hj zaSw7(?47{oGa}BuQq58P3^XU4^645Lf(VlOaL1G_L{+N}`Tm!iQ&1#Z4fV7%-n?Rc zwsh$MWSp4+*P5!Oq^x67e+fHv0!*vjmutI=5$`LIR!qHkr|u``3x6-|=HBk$OD!aU z1z8IMZ9^zJ(%nny0(8 z=-|ihQm&1r`Lg?=a?6@3DzsiVZ!TP}vGGktV6fHFr^b$rD^Tv-^L>5=d%Dn7y`zzjnWAMw+0MYmgturyo`C}6kJstsAbY%ctsrpIkHLx3_dRKvs8)fF0L*He< z8Pj7@|5Exxu@ujg1kIyK{qYJDLfs%R{XV9JZZud%H(NY(sbKO)vK;34` z6W5qbaNRr?wRYe_n8=qd z!?j}y{i`@wkUG@x{@{=w`uvUhX+d3aT_kL%iTA)H%b=I5(dp?*TM>Hb^1VCT2k6}r}4HY3^R)T?X%m0&|5+?iv zf|PeF>~3 zZ)o$RMdh5wSQ@m1&^;cZqQ*B=3fuR7h zR#Xnoa9rrQLt~LzwoAyMY(tPwa&BXg6v-fcvequ>hy^#TO1)!{cm7=dhYq+nJVwe* ztK|3PBL7j&D7X7eYP z88tM%K2h%YBnJe%lzKTdRn170WocLMBDwd1hA6>f4{>OsicQS4~K4SheX3hCx(9j4A3^fgJ zQRMY&7YRBOy37*14>p!dFEK0KhKAc6;m~Y?{aPos$ufBr6YzRS|mvV@kQck6KU)VM%XmxY|3s+1@=rkH9`eLqi9(x}O`0}L-FZ4niM zn7I{WqiG}4N_#-nF{3`8zAd6c_lWJ>k9^@fW0(l-h||x0^ZFqkWIq((={Y$uX1Sp7 zI8x0jIG1`+OxB_nF6BisJNBbRVQNGJ_Jy_9OX}zmAph;#^6N%Evlmy_IA40o=l)x) zprBH2mdE|L-j&YS5B)E>Z8WjxK}p!Jav%N-&COa6{Y*zQvYhINkLCe#p_U&&RBnE? z0ccl-cD&!Er;_PI$XwK386};Z8!XERGu8RhtA2!#FR@dxIS2S&-e-++4)MFebYuw1 zOl!BAe*&DsnswJlfOPx#S9dSY2A+NYwLD&7YW!?28sZV20>b9N5b@Rp*qzGq(e^up zv3F(V^6se|PVVWwf6lRgnrwZ$>gdDQ25_ z81d2W!Xb|yAPLD?8=wPVfCdoKQB;P7&K?kHK&;gkyF~2#U?(T4rfPmmMYvP|_}ind zBHFz==}fOkcWFooRs6-W-xZ^}==UvFRqNWjLlW%QoFL$ZV)Nv6Ng@E!#T{pFEa2F* z`eFX)H`j9TSItnfy$EYCE?r4I4aGGbo3oI{m8k4-slP(4Ht;- zk+`BffiEQyJI_F%UEfD-zWJvSTo@OwUhGT`BE58=M@1mgUh5QE8_ux-f)>{AL2d`P zIZ9*m__m>=35#E-N_K>f|;1>s!Ig`WJkHe`Ukw5oTeK&Qi{$jXHD2$8y#-1Q0RCg;_ zlm*LvAhSXGkDPNIY*?KaPX3@OovtNwYsyG+myFjCGYKUBGHVK8I@B)Z%ia0!iv79C z-E7st3wzJ(L22zsWE$wQi@jaB=bez+zJ2>5=`UB)Tadn;Q`pK|1xlqadzuz!w-<{s zFFnHC4kd0q6_6~Xx9XbrcyBXUpNi&HKJb;8s5o}$U&gQVZ?x_sU}0&v%sj-N(JWRl zEti{`DpJ@D6-D$0sI-4)uB75fN#f)&}Jj6*3OVsQ}~la(ax z4%n5SHwr|H2q~#Fvy+!M5PkB1Xcxx zZeiN1vbVYATn1lC=|GKKN{+mV(WdsJ^W?mSTYREPFK6m_8Ch$Le^paH`1)BRR*l`s z_Yzxo=#|Sn;olHV7fp{(K0u|HAwz2&U`Dk`ko4JBBCLJv8}`!1NXgyuyh^Pa8H*cz zPImk~y)z^`T>E5DkjP9C-tsAdpo17 zxbuBlb?CXTuWxIXFzt#6waYT@cL(QvIJToFZua8?5#}mK-FrZ~kqo@-$(2cyHdYA( z$i1r&E6!{?rfR_9@b={P??3hUot~;=WMXguhcUub85N#l@rby|R4uF|;+EE+R6ktY@@&dT z&Zq;0CD8a1Ea$#a3FX4psRt_K5+y01GsCQM!t+%S+@`{}Z3-T@JMmY$>;hz;w_@Ni zeR_1;e8KAoZ-35faMO@(XWxi|SOltf1tkQgJ*FcMme)9kWHFIeUGI`yP@5FAftvj7 z%=U#PJRXrsWKFAKhEs3zbvP%Kl$fNZb7d6MR{o+tZUnqjPi_43*370kH!kfa;)n=Q zAJOatrGh0>U|YjJ7VXspLB2V(GFqYFsX5^qYXe|`X&30mrBsdyK5}*(J*1?gbK~Jj zB_$xI!2ESZsc0LVclPusO$CjWEM#xEYB>hEtnik=T>i$q3i*J(LhzC=Y%jK=78|W$ zi)O1OfsEYfw>#ps5{JPOK|zi3#M_8~KV&;-WT%{D^dwbj>>X@LzVijj4((t(UMSIM zDz$Lt-g}LgilxF&RtvmgxBqyVGk#^J;>fjjx!83d(yjb}5c+I+g5wT;HQQTlnJ&I@FC(4D)TqMTD<`_OaIvV}}Ja2s}oEE`f%_>rP z?kg#6vHd7J2|~is=x|OV2^Y8=CNJ6Dn6n!k7y}%;(7XJggVTP+12w+tY7ZL&SB9~E zAwN6FO3R4n3M9-!J5StnR-6ik5ms+l>5|GY$IR4e1Vo-ekWl=jSEI7SBSQDR(lDkeChwRQ-aC^*+EA_{Xl{{ zKuVXL!H0}NG??cw|AjA^riw;jpfZySnxf)`7yt z@u(z&U>S1#f}>jJc9Z`Y`C@_WWUQT4-Jghus99`GPS9BIhG7FfP`^Atl?hr!X}g4T z$h&;p{y)9T?XO~F?KB=n5J)rY*^Z$O*&%OY?gMz_0_7i=ZUu%e_TyqFDxd)=UL0Z` zUsnNeP8NLW4Dw{)Q}_3n4pbh6{Q^lnfatzrfjipvv;Az#vh$w##tVPDeqUmndkG`x zrxto`=>5HqdLey>G^IgNEII&Vj6Q^z{1ybzk^|p!m7U4qs)EjsjGi!wP)Y?=r-aQE z*lqJ9$m+<6_552WKio?lA; zcUi~50{00%3{(+p8sNXDQ)ZTwYQ=S=qMCV(kuvg9*_^Y{BChfuDN=Ui~-}hp4Ofniyd4h9XKP&!QU_9GVo@%IpjLBj{N$|826H2 z^&}gD5))u9UV6~f?Hp|_CRv3s9`c;`l1m;Unz`|ss`DkjoXe?T8zHSKpV(fVcLGSU zV9q6!P6scO81Ub$_dY(mJij`0t8np^$g1Ox&t3Mr6K({1CH7|Z`%AC3Yd86v=N5GK zJ1Mz8dw$E#ANStHoUaHp4%R)e6>HMfRvGA2SwA2rT{9!z}aQb;+v7AK*2r zIFY$+=<+yp->oE)lf0eZGP^=ZX*{(q?G_`p9@k{C^&G54?va#8^e!nJn??l1_@ zb-$0T#pF^@j+p8Z%Cr=DQE3&)8GBi#n6MAc-K3v*Cw#4A$mPH^&sNVh!`W# zo;1R35J0N_2vboqf;FZWZC~EASG%dnMg?6#f&v*M#2q^8$ZHBQdMhBG-ls`8Kz%?x zZ-y&W^UKMrHa7f-wke3Od{h_53n$eba;UHk*j=mi2~Jg>DsD{_ppzoTM&&^p9;%uFgfV>MEg+`!XwmLuWm znOQ%E9$`L$jxi{I6=x)@3@HH0aU!r7m&DjM4IDba7 zs_{c-zu;m-=~oIRvT;DElq4wlm+%Js?8|{oL>(4Wb!eOd=e6NXI8CT=+3cCRISFPI z8H{K4$0_v>urzVO&b9H;$1kNp)uAiWvxF3=LA!X4L_N?Fmu)g3I9hc~f_Uo%QV)5t z^}{XTiZ@wyql$@pYm)@eT}Va6JPNk+vW&{z^UBVZ!l%M#zY}^e)V8py{pJ>{ zWi(Pjq5#vq4NCxN6BMtY^}GtkTf}Ho)pf`i3AR}CnB-5-|Fw0DK-1t%yVAQnNT1Zm zR?oSpi@C3EpmfUZ8%`~$v$aN7&YX`}t|7aWsF#fp>F?whBNjcb(Ghnzd(uVI zy&GPQ^ynNY;SuL*40@5a*ST3qj@fR#fm3g}S&)5Mv+4t^x*b9(UWA!XA+uPIfV+yw z*oYpH(HsaTz;2+i`e@KwA!X7UHzfEqR_{MTGr&x7a6d`JNzvOoAMGj@@Fxq@W%o-~ z%VS$C%Y;1Sw>_h|!`SvJR z6JOj6yta2trxz;6M)=)~zeqlWf|3R5w>q>E$~5$arIarCYF9Uh&0Yq=p+esh+FCDq z=QxojJbIsoZnP2fJ}>nxK~!@lkKOHZXs_aDT#7`VN~o)~dU;)Z#HNx}tDk0@FgCH7 zN2=P1UC@wlT74>Ro1MdC69k{@@^0sE2Q@B$8ELl4lCvj<0t*iH8`8-4VrLVf36 z*uV7jBpV|3SZIbTWMqGW>rWc(N!{^nxzT-uyjIEiqr%oBssfS0y>-};d$zkvL%&q( zTvZKjVRtjC%U-T}12W{J=Vsguw^7@2I2PE#s$6(%TV_Ha$9+~6(1GUk{zM*;0b#hd zU@|158wL?0N%juMgz4F{JvZ%C|19wp9J4F6W!gEBC*vYr9>N4q`U)90msyFm+o{UH zw&;(KHj@pHDV3ArXo!+=6~f(CiWai&=eIzG!eCGYUD@)SIZJ1w-8ecq4vXK!aS%ja znT8Rydx$5g;e|aJQx%W&Yrle0tB|VOP@Su$R0wG*FlC%Zd!UT6-`7wqm2ejtzP{8# z!TpAUhkMG@1c{tw`X;X(*#mhBt{+TvoraP+r+(5>fqU3xmo0UUx_%w1tdElmm+kpW9W5FQ#@ga{XxPwvp zi*D^0xiYZvP`V%i!t^noGcVQ@onL8d#RY!<6q*D(NK-3>SUaI5RSeH=Lyb~KH>;kW zd}Y;{J@u&=v?#=r)cN`;sLF}YbqB^fIG$fw96)YW>qyv4g!fCguwFb|usno+NmA|^ zjgPV|pQFZIQh}_gT?BN=e?3O?Gz{$`c9BCmN%=G?My-CF$P`+`J4n2oySmjrkiDQc z%Hy5xL5qe0yjXO?@#%#bRvzTB^Z_zsOGKa9QS3g}6_zoH1vdD^SJgBM;6iP}$hjkD z4^+CryU?3iFdme41&16EySj*4N+?`48_n7G>MH>y?EPjy94boATW^o z)D0)Woga18=zt)c!WJM8VV`qWI@%Rh_%ikxnl!lVlz|9QHhiN8a;h(OL5raSwAa{1 zF{BVILh!P#ld9S6cf*^>r&b+hi2Blu4de^metY}Fm2GT0Kp)vLiY>-{gQLm+EwaIe z<<}d!)BJ18MY~e5vJYA7_{_*%2cfliYRqFw%sP?^ED#sNbFIH%?_hZqQr>~XPk-E1 zWALP6tf&xXjT?iufW7z-8A~%3rYLTdKUG~KN#w8satSXpU0kSOxAZ6JO1a+%lE25ss z(lu}x#5@C@)sM$N5Ojksx(iJ3l`ssU-heD1k5P$Bgv6lxCOctmvzEJ8<@$-4f^i33OoXdgg<0yc{ zhcMWMqoGi4YmW{3<0{Ay0ywm|U_*UJ-6Vzrn0+860(W99GhoG3!L=&V8q+B{F@(M9g$*NJ*>eo$DPoy@=UWVc+#{1p|EU6a z$*Q_(8jei)1fRN^o|83^+9eQH8#C%p+$UpcGnDRqE-%R{$KdF~jIAe^4HVIn&d>h! z+nXH69%|-N9&&5;QRN~XqP`F7ObT^i+XS)mc6hWURIweJ{JFQc=3MUwd%8DA0|0kz zfULwvm=h-x;EMRB0&D#?`pzFdI&4r4ouOEfg`c|IEXd4eXni2MoTe|gvynT$*g1}K^RYsjPbq>! zQmQ^5E~{+}-_3n)rZWSNj6?sFbO#&zC)Z-R0Zqd9B-A?r@~qkBh* z_J0FQ`Ldpqs*qfs{LBJbsZvu*m?Via37d6D&70*PpZk40pC$XVSJh=_wI4g?atEj6 z0z33#>NZxS0Pa&Wlw;;m3@Bo*uvu^xEHGuGVb*kws7OHO`q{st_w}*Pcz?HWv={uM z%9TajW(XALGThd35|>C@XWICow3z`2(LiQ;$#$5DVxa0+xQP24frdwNGyX5T6ti6P z)kM49LEMtJ8-@e1KDT9~cd_4=<59SI4cWrm={q$NJ>>=E0@;~FcTy;6zy0kkq!VCn zZrwlwessEo=L?Quy?UzJ)QHePzSS=GD5PIHbOq_iVu51JnXevwVm^E4Hf%i{(?z7T zv@#006T_`J+HJdlg)Q>h?*Rhv>8za>BVA`_?0%Nc*NMrYY4I5X?vqqj`z+ zHL**V0wH*T^|R44B^X6G0zT|nBcWg~x6?jdyW8KFxK=pNKt3#o9BOUf-5`A^;}j<; zx8wvve;R66Ks`nH3jI-%58=rgBO9S?ve{7f=oAu znkP025mUmXW{R+NOusNf2aGD`K*>K?+=r*InHnnD56MqjZ_-&1UPJM@8_@O@iuoJ? zFyclY@`sAmN6(7v9Mpx7(~(LPG|FaJ4l0w+%8k6oyh>31zY6BB5K&ZLqF=gMbVLCP zuLP1H2heM=48}vmPMd5{X!+6qnG*hGb`wwXQStH7np3lbi4H!B{jDe7dbX5@m0)=o zWFB@(s>r)S!_;K(pc-^jQhy9dCjf)omJ5!GiBRn9g7{WjyQffW$0zDziYI8OeCmhk zly0Yk`sh}&NoHY8g^^ypUp=Si`{(E8kOc#vr-;&&QUd1nX!@K+pvg^#<63U*X**rY zA9i%X9bUNEC>fDSk@|SDR}y_XxJFh{!q;?C!+B-FxE|`t=jT^S@Xl-b%pgyCLYmo) zhhdKHf=+TFHvjg{WXz`cyLt$;Tm&&PJ>;)gWU*qJ7~uo=D6I2+54KDHsguY_w8zEW z$A^8#Y7!2tWum2XblgN1%x|0BInRL(b&lH4y_9M8fx>a1wYK}ZxxW`VvR{5^)FECQ zd%zE?s9+sQ6DGq&A3RNGCc(%Q8mp1`0@uini6p@@9Q(*CfN*|;{H4`iOHvHgIdVWG z4Z*f|%$4tK6*lU~$<=k(r_r{N01cv~_EpOE`zk(ansM=P98Al@W#w`sLpE@eSw%ZV zmjWx9@O1&^P0)E0P9XgtX<=45`Ql-$%Z8wnTDWJ^S%x@mWB#h;<24xI<;0Ej9?Q%@ zSeUY}UQrC(&O@fe`aU9{v+diL!M(0wXo>G9N`%JL(%;v9Cw~Pb!+gN{GDq?>^!k zInghlN=g3HwkcX*e*_0C%^TmkgI-hTaxz#(4#KZ+QPh8bMRReevU;EFprtcVJuRWN zJbF7i>QW7|i|jhZhjk_OYRp6Sk?EfXrgqMLJEaE=Kf=CB)xzzGyQA=-3!$qYRhb)U zxtH)4SQ0N()noQM4OpR;X20*^g@dSEgc0X~~Rvkxgrb%SZ zY`M~_UbM1+we9SYLb1g*+kwK$(vw4OIEUQ%>9iAH(PPRS3B}P8G~rs4h|?nKKV2Q4 zsVYgc-gFXIu?#t93eX`dcY8elW1%@z2@Ctjk`4enyKy4NGAkEtI?09-N}B&0%u{h} zJ)uK3g!XEoq+(dWM<#?``@g+%D*|24^oGQ{NGPY_xt8#U8ENsAAUk`5I^4$ehMpsf8x@V)JGIoG zVV7~C|2MfdbQ0Ko9D`i`kYUUo<9M4A3O|!C6PVwMCwq!SjTL}&F1iOw=~YjThaU$Q zB8$^2=(G{Ou7fzNi0A{|^=`k+>wz7=lH;f`E4GSF@$5%Smy$m|7Y{!LhhbPdxX_F! zm`4$s=jb#ivP*f<+7~!H4XxIxw0e;}7;rZG^5PmHIWyk1=>5o?NS;fz2hjz)$>26M zG&N~j)tI0O8C6S*>QEhuNKm&*oZg$6>AzeIk;j;nwCL^QGzo?6;s^0`nY0P%9_Zl8 zxAEHH;GJTc4m;LHW(F0Y8lT)Iav0N*94Q|}Dr#S#G_e!q+HUm7l^m}{^L)n`yi*)> znKyncC*`w+r+^x}od?yg|3|z`pE`9x?I`I-FqR%mq9+o+&{KHt_dQ3R?L!Eo`5~{t zyv89qVFqBD8?&}zIr9g(0LJ`Ck--eYGAj>lQgCHa%P2$f^|(~23KZc9P9NK`MdAeT zx0mYyN6c+|(ord|fGf3n&Z50#P)mYnd+=fnTMMAIHOc>+?4FA`C6rdz^>`{i3T%lo za&75~+WVQQ^WgJzl!zC18syksL|Tb>$*Q1?SJ>*r-1dS72rG47gu#r5xbmH1FB@t6 zfG{7pcJ`bKxT}k)dxITUWB@MLG!4?$ZsO2_1o_D}g()xcRDr3?HmJ44se8hw_tud4 z30?5~cbT4^KV{<+tzGd zpGU>q4)~Yd`Op3y11J@eyRi)k9rLqYRiB*BP^rjJ@+JJN`%!jD3>E4fc?4EaHVR6S z@6c&$$1zJn*{JRQnYG|zJCL6xf?o&PmCQt82TP;R&?)f|>m zNXu-;lL+mW9MEj%ZMN}|>)jVmUL1K<>b{3!>1KB!1x6T|a_RQomskOSQ&iAE*+{49 zJopYHf3mtIope?tiw++h!bmP#^GF;36)OTV#_*!)FJfh3<+ea}WIpXg2Z`<%LI-AM zc!`4da(!~EO7ow7VN(-40uXlQ|a%LqFaq8G^f z!y)T*ngmLQJjNKjh=74riw)}LK0{kd`IyC$q`a_f;rF>}p}p!O90l~{FgFJc)8I4y z3!vPw5(;X98-zX{IJA6GRyN|Xuu*wQ{IR@Wxai3Axin^_@Ej$^Zl_b;6itY$rGs5! ztkFIEE-15;BS&SjvJ4Cqk9onpSjd1DaYFi7J?mwp`#IrU5#NKePn znv)Ay%cz7D2Lv+nuqMQI5w-Ie)}s-i1S|@r2pV)lopQUKAEB>@fL=kqP$D)klxGGb z=K(}BeJxXe0nxeax0y2pf9oz~r2$=<^<*|qw6%!vM!$Rq>rVK*2Wc_jSVly2PbZH=u>8MFh6mN0BVy#$#>S*8;de$w5HL%nX+?J}B#BLe}AT)aw zA)SJKL94=)J8-V${lbSu(8(F3A&`#^q7BUw0>=4KOSI)=%|-_hJvdIN;@Fje2k1&^ zuAR6LG(k#GxtYht()32x%uTmk=`>nb{7{-jBnuw3RMgS^$7xa8&B;9&Y+sLgGY;yG zX`T|T6R?2_y&Vnl5kv5zWED{1KjH#KD*k+Zy#_Fv=zO5X^>icLg4qH{=K= zI|}>}04yTlCVgRxuXqb2|DiGSS99ADZH|~0W^ZTZM<$m z+9IXHsyrS6jC0s3lBaM24Hq_p2~HQ4BLaiA3c^Mi(he!s(0FC@RY>qfWHQ5p;s~B1 zIzJfU=tpIO{B+bXT`Raq5+0E~f1T!pGHiyS)qx%@%^jQt!O^|ySWn#a#CcOwFz+PQ zQevP}&*+`dKXM=`-M{i)^Yb`QtL|T?y-d^R!P@y(F?FYz;k|N>o)&(aqu9RT+Z|n& z3sq)DJCzT--SjB1dFxEgNhjMmfvq`oBC(>f?(puV|2{~UYA*8^|MZcye|`A#&vi=E zV(Wju{Quai>;B`kWaqznFTac~)VFJqk&*Vb|Gthg?xwt7@S*U%pC<+X`%}!nxhGGr z(SN_Jxby#wSA(@7GBYRiV{@3t<1sHvQ}hAcJCzy2x*Ox@)iQ<6bQ&>Bi;lagd}&3+ zzHCG0*D-%%2^m?9t9=iO$JyPfku(PzvaRiD-i2k6CV5b z`!m1x*3Ko<=SusdoH)iznc@hoSS0BGyrhRX5KmNtL!Y@p*zjJ8w|^dCT=MfEWW?%k zzx+FXhNo~4v?NWnfL(7oo-_TE?!5SUAW7^&Y&+_au)j?+$y%Hb*iG4rgg?N<7_}8Q zdj7uVr#-u{9cZM6b}sBc0XT!A)%o=a?54G3$$3aarmSjuC#v5sr0*&V!50*R;^4h& z_xHQ7%nOArnNEKD-$!51Q(VnlWabwu{&^2YjJ^=R- zUI|YzR85Aiy}itVJO?^Ka{7)vCDv$7}fTLeqxn zX`cW7)YT>byhi69@)`S)qpr`lWgLC5JXlaI<*G>TMtvnN z=ZIj{b!CSR-B$=Ki+j%3(|uJW@X_*pd?JDD0{Wg>8;#ThCDffoIwk7-ZI611>s@{1 zm%^Qt(<)!xnC9`)L4CJequbp!xwetK$`RLlcfIA$a>$u}yw{o@+a~b$!U>Brd#=Af zp8iV+$MnB~@?S4sQ1hMsM=k#ARYm^dr~mZ=^MhN<%n$$XS2exF=^sJ*AHNa`|IdgH z9W&-X_VYi!_Mgk81^H)nnPKryF#Hn?%s`;u{t1SEg5jTF_)hC z-W_EA^JRapA@eVXmu(ag34ymS$u-Yy%)$Kde}9@j+O!DvKSBBzDh}qmW4y<9!2*@f z8%#&kgyMqXG)z6!l%F^Fw_I?cY?0e%&36Tpe~v8<9hudC-=xW-WKts2_Tjhp_FohB z?GBZ*ZPXt7l_l>H4*m$48hJG`^*DDZbkgQ$~)p(=yO5EKDXnJ1YN6d_8KFv$#2F@!k~h7ic` z+vg;K18RGJ&-?!I@;vumdg(cP@3q(PS)aA`KDi_Y@jShOCvbZ;0?N#dP3eHvj}x$- z>Vt8I(ye1a1#2cJZM8wc;Ilg$FGs1tzj$+0*=;7EjB)iA5wuA#AL2fDdkLD%5AIc= z-?^;uqpq$VTf8Kv=49^d^ZR(72hG>Bv&thNXiisFwvs>Ls-#g7Fs9K?9O}ByXaOIu zigM{DQSkr%)=8cjLR;9Y!mH5gt*`Y`JnDPm_aPfwTeZk&6U>XMkoGb6sHt@E ze2|H;djj(8@io|oIPh)D@AC5U4!~dViOtol7}arh()zNlT0Et2x%O$uk~vo*Hu)vV!s9nx`_*(E{L9gCEh;D|$z6$f zd=mxj9k(8nei);7@ekj3P1n+yieRjZg)YZDG&RjhHdsyY#?*~ww&auK>ShByGvTX5 z?{w@qma+;8*GTe|ezEsokk&e?iCw)HuWg>md84dB|6{c~;hWSPQ1Fk3Pe$~zLz(O_ zug-jD)3LNq4*3nfyUnVg&G-7zrsRktnlZ-Rv#loJgK)-^Pkk(6X!B3z@oT3dY4bJo z=BoHMqdx}?m!^CdIM$)8tS~qKM=AC|Mu1o77eU_)%qExF>*AflUeC~TUFg`_iwPOUKMZ;cfF~JWqp5iE^kEL zOU1>%WcK$}!v{lybxaMUU^T@Q;Tze@vh| z+<4ph6N7cKnsJOUc3A{7+Ke18NyLu_QBrh_?U)OjcKvaKysn-QI`rI|I{^lXB$znv z-{4@w@q1(DN_kOI$&6RG=eAulHH~YHN>8u#o*TR!n;XFFvdhS9=bI#Soy$R~YST43 zQ7{!>pNW|baiKP>whnVxXv1J8bmv_(X;vj?s0#@jpzzbHSFfhSUHY7P@F6c!Q`-b`uP@&2`;2O z8;eSJHlq*5N6S>|Rk==t^!ItpekUQZxi4$&Wx632f992krtc($Rab3WHkS?C`*THx zj$~ZVIgRB@O<9nM!_QwP9dHcdu-8htMt+v7sbm$d2 zJ4uhukDS?>Th5A=U~Y$3ds6;y2Ra1?8ifaPZ_&1eokUBic3vCoae#kNHn_N6Vq`a2 zYx&A9C~9tysNk0?)W7n=*>#pUPmDi;C$Co{FMkE_0O79yn;=b=m#;nx(+Z8-ot+@a zH_OY}DgB)c5c0KMZu;H~hkAln0_dLVza z#FDG`K3Dj%`S!+3QRDExv0oXif;g8A!bO<>!|jr7rBTJG$aH5T#a3|&&u(DNDnB~* zS}2RhXhFH2I+c~Q5l!7~3U)}S1986(&UNGaGbvd&%p@@9v2)iQBrs{%>E=$I!r}(%I|!O? z@2sotQ3BtI{k#C&zR9Z7C+5#;LvP1AOES679)#Tm{{Xo?OApahXU7D-#^IKGcY5EAq2kW)*!DjAR0<1=Es&2;LJ-7ooqTqD=XBX_iCo;< zwS=u$-hee_HoF@Z^_>^QVJ{W3Vb~iiJ3YJgN(A-eeG=~ zcR=@Sa9_Uf>8uSrR#QZK23tDJt0&|o01$~h-q)!YH&RpX;r@N8e6CjtEaINmsZ;qI zOo9hor>OYJLON~%p93x%oU1C7Rn%-{Fm7**7vdkFWp@K!I6kVHZCVAnRX=(1a}en6 zw3<6kDID+}J$(BX^nZ!Arw_Vqy+x+Ez(J3)!oKGH90nFxr>FDkMz;TtNeg0T{)kARaIu`*Th zG?G;eS{f+{xI^F}QC5i?U=2tB}XcR z&61)isMn08hE3|KVl|^9X0p>_ffz+F681R^#F?!Az*^1$<4Wk)r9Yr?hwIy;V@yG; zpZXWTY`%m4(HWOPR^z<58gD92ih`*ak*f!X>xx-j;I2Ab{$m=av(K-HW#s#=QH5 z)s<}3tSjIB8T(Tn9cT;^AvaPVAu{dTL9VvvHVEDHXy6<9j+yq}1N^RN(gSk~cE69y zW#Bh(OP1Ks@X=Kk*H!OTQ9bWO;=H8Uua{7*J@6N>6V{b9*ohBZ^;ncC>unU6$4G9) zZF^o^X>4!B?Cf#rhp!j_tIH^6Axc8-LSoKm0AO#ftA>sM0D;I7s=jOE1%jRKd8c?R zE{HQIXJRm+glyh#y2Hrk=>umk){;)}8M=;xXE<2|4QmqJGd-sHvUXk^0Ssf{`$IFb zbtCYr7lHRO^GXB4+RJ%N;6C<#yh%>}%P$cPOB)4SoEMa)B;hk@h-loySCfT!K?6%J zw<3%_G7TcHaD=-;D6a7F5pHVdb?U!}E5$DO@BZm0c;zmKV34op731ur5#|cNAa2GW zY}l*ERz?}ecb$5to%eg75}Z+8`vr-CaD@Jd+8rZTX9Vn5`0~p%*fP=vh4cPyao(p} zfvt7`iToamWe2PpP~!!lw?|b#I`+9YxZIOfwx(?@e7Ldze5kC;^s{@z&z&ve zq?Cis_Og4Xar&`l{*IOl_dw`)s-H5qhf^HQ?z|V`>@BRfF(C z`KEFpjx$21S!5zc3++%gB^VwhPG7<(29DJ_JLQH^=q}{ZwyF7%M{~)dBxx~Q0>6;E zqLg0+KbfE(9c zPSy=5?NUkKu+y?$vRe=It?x}p&c<1Wm+wz8I!c_$_R3yJ0iX7{bGmy#`D^ILSjUrm zkb>|ZmotO<)4kLxO2+RCV|Q5^HCB^18Q+GZvPts`l+P+O?je715`~xZxr(+M=7ML} z6uJa6rt90`bhIF(eVhgIQ>8!}h$@d@L~jqmjECzQ;Q}9)pdyO7Y-knxR+USzfAAn? zZR)R?`_-}9*zX`>Q zAW~E+ex^)LUTFYCaZi5cnt3GDMT(^>ihV{CPWd z8!|EZryjOV=*pjehsv5k9=lijo0vVYVwc0}s+Dvw zDxyrJ01d?({iIJ@5=?&-!x-?d?SX+c6n+qZ@I|*<1O7p413aED5-lAJ2#DKDN6cwz zO!(rfi!at|xwb=6?>TkjHE|dQ=F$(34^`hog{b!teliop#fyJ5BO!_73&Y`tt#ykI zHF4}W1&PFI#x-O`!sr)w&JPZ=PKQLPKJ0Pc7jd~f>^~2D2d}jAG$LYOW66QH0dUAY zv6B#WS6hpUj(2MPuv_}4`TA{N+PQ)RcuQ)Ayq9*4sHo!Xl(Gz3*Znv09rgw;`MJ`U zd+)+iVss(7j>D3G%LjjxmzXj_)DZEQgU>ACr~pA}AXL_Y@?y1ncWFETnJMeJwj=Ge za`8Ib4=>z>{6ye=F{SeCB&Lss^^X?-(@-UqI2IHG%;ryTf6~TIrH@gfD`-d?bKuR1>>~D@>5_IJV-E6b)b$;55vK+dfHY3GYpKaXa+{?BR3} z^Ly3cBCR&`WSS!cd^PLaS1L`>KknMWs}Zp}LE=5T3IF>K))-3q(?~?a;V084(;c{N za6wZQp|YU+q7Ge|LP>z#qT5*xN;_T z{7KTBDgE7($q05UQ45!23D`-PBPdg#uawlgf0WcYKzr$|M_`>>MGdJ-IuCpR)QKQ? z;z}W7IA=NY{n65ZMYX?aBKKU5tN1;6e8+{57xCR+T&wx4W#8pS^ zJfu$tef}^;M+?@XV4ETM^^Hx`sDoD`f|L+|E^{x<7||tIRFK+%x&Rp`Esh$POARUM8=jTobT=3z|yz z(y%^5DhM5sB^^Ff&d&hOvRkA3NJh!kSwJ9`10)EF1srP$aHYtkX+4G;BG?L4cF(-G zh-w%FVPv_=5)crn^`kfin|-019y+*tBs!vs^D_NKLz{`pE(hRVmXSZJscJD~%=BFK z&6oLt(1%HY;*Z5vI2JxIXKvut{za7iZ0OnDjb;SHb+YPlnF2y4<+&F@Ew_&|%&O1M zRg0(En@sS0*ogu0Lr3L?!k;5dO6c3Q5?Dbo4&&GtG9oyzaBufWi-=B2d!U`yr6}@j zqTOBL{0*0=gsZ@D0HcNR1+=Rj!N}>g8!yuv88T~#{%+@9j{r0u1+#u(@I=!$nqdv& zqSRy4uqNfK8JJ-(XRhb=Jp#e2t~&fuX_GM9nyq4xG4K;5R#N2z_G=m7NF z*Y_uMFrHavo*xDd%|N4vmW+{C)tX)4u^zb_E$clG){ijda%o{5V!CZ=(zs z5HdHK?Im-fBGP@6G*P(9w{_;Nb{-Y~rjUNvn&|!780-|(AuW!Gz#Sk6YndpX0w+Je z^P9UH2~lde5d>v{02CJq(!wghH;e$8cY>PB@D2dS?nX_aGLFkp^Nu?tXE~aoC869K zvhm>K6=DC?kT5kiuaA%fC5EseFitx=*~Mj8Uj+P~vc$*~7_$tFInn`Q7$}sWAnBcr zH7xlK7T^m(B!Hk~FyD_O$h}Gus_9s+XRW5eL0?w&w&J@6)dJt(h; zh^|H6<}wgnE3hcQfPV)QYAro;MAR1vlA{advj2HULy5D8#I znwpG}Rn*AaP{1mXm`BU4fJG9lMqJ`gHs}b|9o(NUjwudJ6NsE z|Nh4@CofsV05sSTynis)c5SbzKJ1#dz}c%t7#p^y;Sj*IF-UWrEFuqMy+3J3 zQ$>{A@YGb}wZ$r~%k>oj^n=wB51{gvMvogj z1JX(^FfGG@bMK@gz$sPCCBuCG&bYXB6f&OSOz$TcO|54GW5W$^O}`50+Gw#MQhr#D zJU<-TfJv#Q$FT8lcrGW~uL$YWdre5L`8(Loz)8ad_=Q|nF4vMXDu*d#&9LNcXe%oT z?#p1?hpSveAd2XcUF)q$oL8~A%7Czq4jtGCmtY$I<k7% zYJ$-m>{jq)=~wk0@Kb2#K(=)6GG~%`%qM1Bkc<;X76vf|%{k^V5$Z&Gs{YY-!=m*>}F3YCH(Szlbn~AA+s` zLiXdOxMo{mCozDUrf~I^oW4N72)86;V{M46*~&7%xrW5CIVmlc7ik z=qoHM{5=_D`}h2DP1g2BZeXV!VB!ty)iE=?^nZOJy)6u4ppb|o;M(H{hq z0Yw#j5ExwrpiG4>1=<-XpT*ldZQc5BSVC6{;C%J0`;|o^s%?0#lZ1EWTyA$DvHa%c zZAPdtB@TQg!VmoPUkr7uuKFY>h4+Pxb+7sCGlcLu2op~74Ud*2IpW7{r9CR%U^368 z4#2K(!U)I^PCem`6LR27%nTS6#^^|;R+P|}ZyS~Gm~H_4!!bk!zd=kww_%ZcpzKjJ zGrJ5>Ut$cSNlv5<@Y{X=8$QV(9>v$?Ah^!eeu)r2W-zZMsrNfIO%@ei*Z=z8*fqdR zOAI5-m}w<}TvN<2UL5;PSt7BBaSbU{3SS7g!DiF?CyO=UNsA+Uk+g-rx{UE-lC>Xf$hM;=B)e zAMC0&=Q|&Jb13L-nHBwxVv7s4B&*9*+3768Hx38Q&SkNlHa#XZZJ89{e`tZ}hJ*e| z1|@m(t`iR6yV{!}Xk$Ko`qX8G#^T&iI`G++@D=R^;1;Pa@~Z!w@}9TQ zvHaOI`iO;+!%RxHoT9qj$vC~qOo<}raDx=Js|?~ne!qT-hTv_fvMSy?jv8;4si8qHV#Y%rWy7pqI-Z}eA6H76zusjE zhJN?-8Y_}ESHp@GurIJ9jCW^?-H|GOy_tV3fkUy5)hE4uQqcbj6y9azM#7($oORDPTA0gc zDU&A6Iq|X>TOz-8m>N$tPu93>r#BfXVII!x)3xIF`B}$$V1rJLrA>Q({~KJGpKqJw zc$rx7pKnoC#p31%If7%*np-9g^%u-sIUzTJ7%)CHhv`y|VLz3CrxTp7Qx!~{KQW@Znukv@rZ!bi zfw6bsO|anqVwiE0yHJQAdnE46(CUt`LD)`mc z!K>l1o-@oK@bdEMr#B(#%s1s9R+k^Gu+8Yo7DqS# zPQE-d6Eq0-Ua5j>C(deQxGRfa3qd;qd=>`k`G&K(!8m?(=*~dF<1RANr@F>)eEzjV zakOOP-6I<2BS_4L12T*-Z544X^Dyu*HH2RYfYM_B?=FjC6C}BwHG~F_sLEx)+52M2 zwDv0-B!NTJP|q3e8xDVd_HCfb7G+x1n-FMo@7pIomz|~Luc1k34ei%R*=p6zKV8F) zDaf2X2)5>u^OmTX%OyDH8a7ZYs9I~kGWJK>%v{_I&Br^dkkr>h)Q!gu$i9%RBywk1 z%uFO895F0O=_{XPQ~G;xq)!JQ)LNO*uh-6yuo~)W+kKANiUBb)P3Z_Ybuf*48kK(G zDtnM(3eR9<;DGnez@5kFktzD z8^MWak0&|udA_jHG+UD2I2VE*NO!`gsrztCP0u3b*qq*PSMD_FQBvsJNWD;52$CLQtniZgiJt7XF7l^P>c6at!7$>V zE5LR?xVsYJbu%+yOHVIf1+t|#)#|FnFMynWE<){19Ma?dq5XUgH+YJFHvfjw15dY) z>CR2_x@z$wkkb?NKwckS?ln4ySNCw>=Bv&BLFwJiUD<$!0ZtV5#?w|JdQ&VTvDC`o z^9leMBb|)PpFeDdj{!mY()10 z0LLs1{P=;(=-Hk{jdsF=_qG()u)8Ra4radF34&Trpk(THa;q3Dd~Y>^@OQU2!kvFh z;Yt1z&|RzN44xGIfJT^Pz@i*QAWFDeHWn#E87j(}Oz&E&m<<~Cz@J3p+A<%FwRL+a zuYtn9KqDQSrg~6o0K)(jv+H6TT=Tn~mK+6|F&FwOf@ui*u_$SmuSMPrv_Jd-*D}OE zlBmr+(Efw49;Tq^F=S_|3fj+*_$8bOKnzt0UBEP<*Fjq>lD6jF3U(LAs{01s!)FsZ zrxp|{8S1rcGYGmk^WxeT3i}1WPm&q5dvg6+(8{O-e8Q&q_kBWmTQWF0KxDp~E@vJ! z%HJ{TQ|v8_Q?^4kX78~`mgKjWYJtPY_=Vo~{}P;7LGasGCr+Kqx8LCh;wNNYej)va zi~9n>b502`1Z~f)$dq5LBK2WIH@~%{8sTxtjyoJQj`kFchs4G0kDf8V;X7FYr?yS9 zxDhux01}HPrE?0T)d~Xhu;62rm>UvMV@?(#451*yf1esr=FN1O%6EO#u(cD5F4JH? z`2NdbF9oya;$4BRbS_|gvAL4|wjuy@!~l}d7C{qWOde%GCqiB=-{fDx=3GfZDfGQm zF9}1GPG8w0f+zqj&h+^9zbuZ{Dms!9iB?t!axy|AoJ}}|j#Dm+DxPYWZGRK?cX3Ay zY(Fr3GSfnaB!;owAmbwdBHKl99 z7#RxKT!2+!3tctW1{}b!^WVQ-+)+5(QQ+fV!;A-iEuLDndB0dLGf~7-ydd~95vE87 z6X<4!{5Tdai;!j4rjKFZ0RzYe`*-h|K|_N-ZP#~*9K-ZaOHXy5sRAw3!d+Q5iS=lu za>~<*dGl>5|J)wQH+BEwVj>B z%Y?qVzqroo9se|>tFG0;;*(Hy7kpr>QfI}1u|ddbgKe1>a$H9o*uvnrL<#XKOP|%g z*anmBh*tm(M12|7dFXY9X5R@8FCNaND&N$UVq$C-0%7L3$zE!g$I7?z9}U$ddMF=r z6GcHJd1^!ESbf6AW~2u;dTP?+efeAQ6OQ5I$gec{R{BwsSfpw`anb{%6+~ z(LIadQ-#yhKXX(`rGCBaBw|>8%w;N%no@K-6@mRa=Hwy9I(=?f+4S@u_{`5=8?Drn zqe`KJ5tj8H9?Jcd#i&u`>kgsOb4}t$(C)VORgKmn2fP@X<3h#_ZN`c0oG$VplB;Y4 z4js-Ys`C&xCf?i~`tYF;@0Eu_fZa{xcUsoNEla7tzxQ%_RCYY^&g?;hp}>5ii7Z^s zMYg1&cG;8}XFjsY`Nzm`C>u*#wJmFf4nHe6BKEya`$6nVQgwC`PZnyl$_9-b0MhVe zpz>Gs7fzudk?#rZPvemNgDpJ#C7Qr7ZktD%-@BMls=~_E0Q80cD>xB>I@Hj^`790B zK=tBQ$m*XvRvrt0;}VQ3>O0q+UD|G9y9I%0;AmM3uyO{{fhU^xw$vG6<#XLD!OrT zw06-)GosmjuK=GX{?Rh{NIaB*3?`hJbC&?7v;A=50`}|#TJ^4apm37sN5zM5apK|4 z!%=eRY84%hUY>F&LXg%`R79!%w;O68^^XsP^bd+gGXD!bP~%4jN?0}!dUI(XPOvvp zU~6fI&yKG}-&SOf-r@PI<)*Xx z2wDq{z@QfYnw-!)Wq;i>;f)UL(n~Rp4s?f zDFw?AreI>+B~DJYKLrhIo^{|!(GNHxCqAYQ=!B!TB&4mx-vAB`E6?5)^-ZP(&@30+ zR>-FMPt<1W6bTOnl0=6qVI-5k-mc_K=fna%Zj9eehU`w3#B9lI z7X+wfW|Ul^tD$D-4I)T9yU*Kf%vm~n*}*x=U4Qd^o?Kl{T*4&RTn5^;09&GSzN?o? zVeZ1LB(v=PtoEw=-6gmXPFHg+Ldw28)9bKKrs@>Pc|o+-NUFNaoxFxA1uKM{#D;9~ly2gRom$AHn(e{7+3>XBc==62Xuq}Yc zmr83C!bCB4fo=Ey!HjW?NyNSKSf2Pg`G}EfcEI$$W!(WlPw$~s{7Pp<*tEkw=}{E7 za`w#MK92U(hZ^gvqY&=~rAGhlQ_E82=B1}B{`M&Vg34Tvki_(Zj__cp4n~>!AqS>3pH6-y7&N*6-I0vjZ@1{sV$~0Alw>5l`U|DxF%H zq98DN(HFv;HH3cjtEES;uSD2EFc9twKtuYiNH?CyiTrYEY0jxD@aW2%%0>^)jH*ur zvL@B(3A8eI9(%OgvffO1eTQjuoIW+wXORL6o_%WN(w(l{``Xw`jfnjO(t5}=ntI7< zGbZ%BHqO<^4SEi6Ke&`a$tIM0h{FtX9RYM#`N`WctK0ZI_;6mN)Z2mNG;|9t^ksESrrULb_q*zdb(&L{GlhDvZ<~} z*+2oK?){7x<`%#WH=w%cygWP9IgHL==SAKJJ2MaXd+!PU`QqqI7-hfogNia%?s;_L znaZ-+e=Sd7jq9q#YlBjyP^7_&eJ0=bk=53Lkgj3f6VX zib@AC0^E5E&&6 z?%41(_e$=Xb7hUSI15OCcNHcLU!4d(nPKD;EDXHe8Kv>*H#9q8woB__aEIX&7L}n5qEgChue7%p zPEy}#Dh*149Fg_>Yw^xN!R{YTRzZ1eZ@CsI1Pa+Rn9^u7oX?m+DuDigsB_Xq0pwlL zsQRy%Ton@w*Ou3R(aw6>egtXmb0bNFPffkvExYaiIN9vQF&!Q_j=Wded(R=8Du8_A zEO8k%Fjxndl8>(}CC3@aC?~3$k`68W0C~P&HPlg2j5hYWJNqxgp~2OnVg_i(&_Y|| zu7HnOqiP>#H@If%)9}qRV^4fPmSOEmM2p)Q1=0tP&@{|TKUzOTi+kI>*rjUAnd!e9 zu6vnWDe98bP()`}x~A&}LGUcWB|Jg8K)nh*9%#>-6{up_7OB$ekwV;S4SO`^^0*YPq+< zK;Z}!X`EM^*1zbZ(Ow(l(__3rLlzi#ZDf?O714E}T`$x^MKc?o+zw4t#$e<%`Sdu4 zc%x;6w1xZj905K@v;6!5><;n*-B0xso?EE3nSkb(t2fad0ZySG(@1DrhUhfOq6rIs zfk6P8^H`gK(x)(w4+}tzG|4ov2N$%hNNXcdJ2#m5VV2?Um zsATk(#(04?G~mcLUqF~%jmmp5#$KFxP~vexm3R`%-7-Q))mMWOkL&FIc9Vfycid}5N)%ww7 z9-XRO>CELXV6*>!XXI!NyV*PQxFUFaUdvKByV^~h5r73yK*LYpgB4o|2jXeeTXuc6 zB3s+Gn9TS-WFU1Vz#0e{cd-rvCbJ(t<}CjCaj3g`KS~t6V$fF9-1O&iO@fCHMGyb$ z^5GYmXFy88yiS+t;4kl$)3qGys^(-sW4euMSDv#r&WuAz=|6qJ9$8IK+;6r1!Q*z_SeF)_^6TjE~hXaza;u;Fn zm{+oEcHgzuHf5ZI_Q6iA?L{?Rrr#o#$VK?X^pm9cy`=3mGp|pN1P}~Gm)XRMl+8KPe zh896>z|0aPKNEK1r3Ae24Mf{rbIUeS#RLTOQcqOw|{V3wwkv6=cUJ zXST^&w`)@tS^$ZR&9=hj( z0e=-ALID0@13YKZ&#rJ=NpZ3EYw^R2iZEWr9{&+h4uDy*;C@@_rS6jOuZpF`iQx}o zO%SI*tR8=Ib~Y0p8!o=ZfvwqEi+ra|IPiZgmp1edkr>46Z<=CP+d)bg{3cP*gmL9y}zH@oe(%;PvmLA;GRtzg~|9Vs&8{xiQTyS;!SzT&*9xLNHf}U&O|Du%l z`$Osy;u`NrR-6RVzMQ&5q+C1y@_x7wtU1PgDFp2(sy%%bC;(qP)94vbF*s zJqN3Onn=sz{SoNizLo1zYPZLEwwMjtqQ$Zoy^HJaxrhlVC-s$+dU(Nh7U>gmhf8t$ z(a*&#J(n84awF8(Js|;L*h}cg&&Z>8Lmj06nk$DrdWPh4AJ(9KnrT}Ui$^2jeqi9c zAgK4dGbmfA9$HWHWBo;WI)3Tbb~zC<=nFLjkG!}om&w=U{&hTM{%lZcZJ{VuGy=bPHM_*=weRbLdcZexV?9_r&NZ=PT~EYA`%JX zYwt5tyiYTC@kKBcd9`f2c6nW48U$@Ud7S<9&dBO$xfJ0oRoneG7?hW7-~_g)uDWN{ zEo0v9J%Q>QjSCxkX^`qVdt1M7`MP7xo>KO5tGvZ5>fMRg71PaDVZc_IqtxCs>qQ=?z$2zv!VI7n4=$H2wS_j14Q z0T*!VILe%+(K>YE0q^yPI&aTc1MqeowYR&r17|714mz*GCg7V_#RoRU?YBQULD06B zC|8*pV@X{yLA7FKr1jQV5e`S+B7sEwC_o4z*9Tf}P0-VwxQWt_6ZeGE9fmW&?(s*( zGb`T0YdrVzRl8o55dfY4K~2B1pj0nm^d!QL{jLAxO-nocx#EK4_mj@XoIvZEgOa>ZS4?s18FO|p7Qhol+)dt6N>Oc-azd(?;1vPrAr&@H( z4GI6fJ9ma>u36VsmN)(xjJVHj9+33|a6ZJhjrz?h9P?>@0_(+4EKSojnwm58ofs4q z`?lT@;yIDWPNx~3jHdc?Q@G%Xj44oH{5Q~?>hhZ=CI|M9_BO)~MPJ|0u0hGD3;A7F z-$9bBGzzB|z8>>W^9yhj2gra(PgR&AGwLsdNLg39PM^aNU6JOf=7-i~?j=qXGamf) z7T*`zb|&m3aWu(+SY)s+-q z7$SR%<3#}s4Q5rB#aI4L=0!AZf790#*ue4z+RRr*-=4#f+z+0|o@AI|CnqCD{1l z-b~Kr_;2|6s7)qZ*%*XUUoP%jK+(Rj6}i|pU^2&(ZYHY+2sm;SJa5ptK9cl^^x`F9 zp15Y?d3s_>*#5HFTDe%Ss<+&X_%(1ehJViPL1iClVs-vt-aA}z%&DCV?!F}8&(Kr| z3zw{o)41;*XnF--%I}+x$Nq@HG0FQmJr`WP)bR6E;>;E70(HFGiq8xPtL$MWKf<&?8p6%%jqr-d^D|D9B_l>Bww6#+}j5Yz5fqB5-C zq9YZcMRy7YTikIn(K76{KL5^xpPVeFO$ot|?EMx9u~ZY^dqay%OSrBM(WBD5Pp9nN zJiz5Te(i@^D9ACqVFPGK@zT=al()rf>xZn4ZiIy*IQer#uZ<@KU|o z+2#ECWYQL8dB)LF)|#&%$pb_TzV zVUO+ft>nHip*<1AMCKraE}kOmmZJL z;fa0jLl<&m#{n|)xv8FfC)io9x%%sM=6tqAOjTs21*fNam&#fi=OJsiCTTh!e|zxR zw0S}xnM^S>;a00)25^KxMn(-t-W#+cz#VRpczkd^Z0FiHYe=l|-IZk?vPRH~o zgBG%iMo0R}UL42;hg)WUm5Wsls&$E81Maks*_T#Bm&+v<*iYWgriAt6lGyx=mPPG7 z;_?xY`^pcRejw5_F|K`&Q*e5em^iDLqM^)VMHDbzPqLmht)Q|Jg>iblYJ75GnUUbm*yW3kGv`ZruOwVf zo(bz@;71b){`Dg@yU)`jNkh%77IxTZ3>D8}%EU$EIJ?SNDz5s;pNp4qwyrK9+32oL ze#r5rnG59AROFl|=&RZGPfUYRUqMavtdfCaA1gvLhQk{G%Uxg+s?ydf7Relp##-WW6A3~r-W#=pMCx(q(Q!OA4` z`qZzofra7~_`H@*b__bYUO{R2QA50ds~jgKv%#3|LkgUUr5DrYT2pZ2njBX__5*6K zgj7^cAaiZ|3>GsV>%y#h`@0Cq-LXE|vW#`Y{v2vn~4)lfguBOx)>g!jH zZuj#IE(x7~e4b(gZZIGeza@LojBJ6`_ZLVsnXu9&_HFq@yu;JKESc_qK_9*DSKeUc ze+OJ(EE|Itj9Ua4e?EH2Wb&0M#UpG69~%%h7m?BZ9os96d4oCJnvfW0Tg9J;?I1*zm7FYDbkFyiF6XDNq`XBey?qcvL z23SQk`}BKy?nj{+9lDX8^y!oSIX!{xk@ZsJw9;WYWB=nhT!I(RjdQ~S)8mVEHsPjA z&}T73W)Wumv1xStB#nPIA;Gxt*lEv+=cEwdS_ZXKr)zTik#fef>C+r;U%Ax%#bC`# zk6UGk;ADyLVlffBI3x0QYiu_HSW#r*b@IiCG5&dKj9{kIShcUxdCD#5)whgTCTD(2 zJj21)fBgm9cRk!vtPrrgbQPbYF60geR?%WxNob+ zXX=eNmV1K+U+1$F1Rk6>R_7(sxh>2`ceu|~HB@&;CqlDj#*q{YE<-jRxQ%O8VLgwX zb?MfEK_W|&$mqQKSs24dbE{_AX@+w&8NX0N--tChTOX1e!r4TRbPPLXf#=0zaIT!v zT;9C*Y4>L{;)h3jvQc-`;!ZWc{w7{@luQO*44DD#i}{W7(vizFu-J zoOn6}m{VW+g(jcESbf^~irwF$>qGBQA<9%u>3eD3AWh`fS5Lgf{}u9Qi`st^z zoWF+8j9iY&O-LCU7@?GH=OuLr@A36!+rdaU|E;kHFQs!e%sGNoaa(WG%l4c6DDdGO z-E*T)PwxclsJj@cRH0|TSA{eap&6H^8XCdDhj!~yqQji`QUa7Ch^L;Z>^B^}{AE zn04u2m5CRy7YKH<8-Ro7mCAy-E1LvXRx;Mg#tC?3a@$xzb`x_{^6b7eN}v9=9gQ=L z@z;~Fkr7wd_-RX@e$=9smk^cP^xU(w_ej{RD}MHh$*i&?JB{9@T%P~JDD=^lsE1)% z>vydoRtns#*`WiEH5{c=k7GMR?ovV|4M_64YT+%RhHMt@4YEn)97C3rjIydkv`oOH zyBV%KfalbS$-CX-&(75-H{o=X4$jJ+-r63@*uD?{C0un#dk__mpV;YXD1aRxT;;toIIQa4|DigD~RV4gAP7l8!H*ptoMpbQ= zZdx&yFk@AT&G6fX+@#|^JomDcl$NxB6SV)y&ZdW)%oP{0ejgkh@G!@l%0Sf#JN&2J zIL&=&^dW{<&}f&FN_r)`MOJg+Cqw<{xDo8R&H^f-_|#o)hl=C{^&KX<)+T2KeHq;f zlWTK>>;Bx`7&hNcD0@q8pASkTFekVMRf~XUmz~2@a(hf-4v%b>Lj&uN3*j#qi>UbW z;kh)7pe7?;>Ol4lsSGbWZ)9QiJa)JCAxl#wRN@*pA}(Uhz!i%jc_Ra3JN|rxXHqe@!H{Tk zrfM3aGNd-7p>KYab!CdmWPQ8JU5_>ybvfV+Yy0L#wo=%;2-Y9jOuNaHeKqm(->t1~ zkB1x*x^;UeQ&#JHZMEnw$+~Q9*Gc8pjMUF^oat9dth!&@@j=6c*s&>c{ngxx{2`>e z;;YuJty@|g6D!zv9JreUdlO8I931_9>4X}5^RwT|d>1mj8D4#kVKZ`J{?Dh@3f^Jk zM(~5>8CK;P2%~nSkrS;+u`2OYi$8yU=wID@Z(~|~a z7GaMs{tJH*Tnuu`FxdBAQb*~zrs6kMk=A_h5w65N6~U8*dRNs9rBBn|7)07;zZ>1x zyC%(ch$vxdDA;AAklg!5kTI(~)YHomoUz78kAiRds4|iR`qtw{8@FJN?p1NAd3IpE z!jRE7GO5Z})&zuMHYh0ls8H$k39bS5$8{H_D#~G_9~!1^CGQEn`h`|kZTrnMV%?_` zGvE@OJr#3?gr>)j3y$5>XU1d7M#z-237QC}DTuGYXGq6$;5=~1;u2gHPAYev{e>L8 zekR}@RIoBC|J0^1}SK9@FE$baBcnvCw@FzR+3vvX+%**Uo zn+@9%VQ1XhqfL9oepeMjwSN$0Iotu4V&C~+@tyG*;Y))f=q>sf-J*BQa0C2IXLwmz ztYH1ce%-=-n%Zrlk@&~|`^Ja;aCJ$}95>~BawIw1ms)r2w)bSi%YCkkQ0-yjM@v4C zlV9JAp_istlKptKui?c#ao#LYNm+JJP5U`e!qcxR64D*O$TC45cf|QDW1#6zeRu){!qdy}j zI)1S$`2$NcBjXli^sAnx_!c4e=_09RmDZzkzW0m*F1-02KlePc{!(Yzx7c@V!NB8h z3HYXT!*#}eI(n6FdDxw2eLER_>`r4B!L_xn8!DT>&mNLV&UE%aL*zc*a)e(QIt6b&|1(jSX ziC6J0c3~lf{ccge8goBVyPv%Iz!7)2#SFS<`Ck1?oZkT0-g+u8#*)Zk`NUTpqrDmO zCKGx{qf^lvb{-7lRk76%@iZ58}jUHnpDZno#uoHa3S%y@dh?7CzO7T9(lp9 zpqX)odb^)qeQhWQJ93|aef0KhK6c@Tm4Ma?#LF7M@VEua0ktdp3!4Thl(Yqlo-vx7W*cg0@i~pAYYr9hLv<>H)U@o5SMVcSH{|B|V zoSVClVqszvHWO`PXTq=ENH<%EQk$o}0bz{ift$U(n;t3Xm!i;&k3sF%h7wr1%()TP zI0<*Q){i)RltEyXxnjWW0LttvDcLyeT$M#!8F}p0XisQR%fh%OX>Q?x!rc-erZ8em zqF~Cjo)G45!QrOVTs8@iRkSw@K2(doscWqN zkG(gIit@_ZhASa~q(w+4-I2k9bQ`CrfFPjEiHR6dQISDrQv%8;G8aQh8}+f3q8$JQ znM5E00)os?V2Gg1b1@f+j0F@^QBVx^?)$DPxC_B2>wVwv`_{MCQ$Knc+j}}^pMCbe zu50hpc0E+KeI}0P*Onx;oB`RN#Gvv29j6#}>C%3xhkWt#&ZTlz;msPkh(p&a!&tIAW#<|KCx4x@zUe3_EvLQoRA0N#P2RV?W)jK64Ya(*XOHF$ z&uH(G&-M1r>q!afi@j1_Vda08bYO46@A572yW};JJBzB^rl#T--ZDr@$p6^CUPci%-XO4OK+nGQ4e;J=B_UG z-HzKHYC+o-<$8Q>zSg%QNquF&_kv<0_Q5K}2Dp`yVRP0sI&4!`)M-T^N!GLC;x|`0 zvrmkzEVU+I3iU0r7#1`AfUQ-^`n`=!we&uJG3IE|m`~rsJp_oJnDUhKZD+0HA8yu} zc~Q%dj~}s`>?|pHefFf?Tfi#~wsQn%%4&ARM|bQaN4q+N$@D5x=>c(2Igi zi1vMRrjKoGo;@;^=3RE6?`>p6#ikjVGc!^0qw1!V=Zy3E+FsI!u2t-c_OYD1qOZ|< zx3+$!I<9Yk!pZAPps`Opu&^y@1(Vog)lGWd>kye~ld{lBBRT80d|J}J-(lXbja?|u zqda+0WU@-Ge{SJ`&vv820g>#DPdkYGCGIpT(W=q}9A?>QsRcz!hvZw$@*|=0lQmgZ zz#mBx=Ci@KV_!@Q@>T+Xz@{8>6N}ssreaxm46@D<6C=EzT*sKzM@ffcA~;A z%8W9VXQ#E}UFTCmpNN&`M3S_+Pq#rWxQ2#CjzU7 zmQQsU8^yyEpZgGBayHKA0hNpXzEe=pI3eaNw`@K}N5TV{Zzo%9sZDEQ*G@_<0-kQq32bq}s9xJam zXOiuSV+J+f8Bn#-96Ra?F6^OAG40qhIX#s--(He-XpQ`#`h3_XL1(_ zT7@sovqB-k*~&t!AFlnWubeV>!KU;u>qe*wO(Bp%o{^N4+U+YgYT-f6(H{7@?`7E74i^qIgVonANc2NcUm@Lu%G+OM+5{|B zSx(vLYbP!&?ctc^&DR#2bkE%usn9KUkEz--Wl8|EhpQ3`mw-Pq)}${OLg6RxH+^%$ zV!L=VpR)RW3TZWj>gtA1t>=mANY}!A-y-WI(GrgILtGL97i+QmgluYKhbCX$Mi6hu zwrtnO53^h!1LE!GQ*$>bFndcjBb`qO|T8!XX-Nd|Kblr4Q}l=R{eAWVR5lOJ%x z@6y+H(L=!VJyJC@4T+<>qd9X7Q;){Bh(nd){*Cc{*C|5{QT|bft_fF)Q%3GgUXd?& zj9kCK43pg{E~{pV!2P9Hglq;v>n|;}Z0z&d8=7tqqfG8G zehAwKe_C-#Si;^jc}=Mdc{hU{nG<#@^*m7$4wSngpi)aIUMFS2f&6Pt)za<08TG`9 z2-+pP#!8@&g9Vg3Nf_nM=&457;|{EF?0m94ln(rDmVl<_8Adbl{NN~fdqi@&s!*lZS5l`PAz z;TCyA*CNcCd8%VRX$aYSOB5(G_`kZ#s|4`vzwrg|4bSd4q*Ahnw(_OBn5->De1*Zn z#r(rbI^6(c_T4M;n3Feo=pFgd35E%1jMSdN8oiLBl32j$* z&VSRN5Y}>+huUF_=rOvMeJLya)j9sf0fV`yhRKp!cL9FrFjpc9m9f_`FZ@N!%Edpf z;*xZsNVurr-&i&dhnePYFr4Ghd_42h_Tt0OfZAfQ5Z!$+_S?ore77yl<_ zmE3r>+{er8v=gZ8?!!jVpgUm{KP6{^z(zu9u0lhs8<-p*=L5!I#3YuOC1K|S4{+Rs0!9opj>$jRz;|D6Elyi zNle|)4#vap5DRLo97MG{NP!|!ZK0Ec3T63Yagm4!8{VxFHiQNY?ss>0+u3*KnEYR3 zj;tQ&(5vLzZgTd-oti`5kFv+mVsq})5d;Lzi6Eg}Q{aqO@1AZ^kFb=|30ZCSyDL3- zdM?i11ph2U)x$49pyUNY{y9Xh^V<{F_wAVwBkon zs)}l+TG|D1AUR%i?j7$}oEi+_s*#<#ygl^DJ$3uqiYZ;^^14^n zpf|c+wjc@RxV#?r`R`dE?EZZYFt5h5y= zh7vsy0aX6p^t0)HeVub549U?&h4fRy(xCi?0}hluMx-TnvB;j@#hvLY5T-aO?o%|G z5qr82a6l=?JNK901BV)K`+6UR6>sO@8sFhIUsxXjTcxGGeK5DBq58 zCvLA3VQcg=X^ZTHFx-jwdqRy}M|g5*HO1w}@Cr+&|BdnLC$RGKX`>Iqy;yDSZznLq zNMhUviy2e|{9M-hh?am~TQm6pqTn~0fRk&fSx-tn7`Pk*tyd?YjST}rk};D1uJ!Q| z?50>J!UvlW$$#S7ns`W0mavlU=^L2Pu_<1V9T|MZ*d96zm*9T>@%z*Koj8VreN+F( zn7qj2xAjJ9P#?RgMPsTibqdx-MY#Jox6S|?b!Z9Xg=?2kkay?M4j4KY^tL2~f$mvW zk|%!-NVzw3J;%LJB!*U9Q*|#>gbXVvhIXu0M*d2ixF=5qjk_GWpSW2hND%{z3pJV2)n3;)K@ z(52UP6x1QaDP6A|&kpv;9Wac)=N4}H9S*n0b$l@JQd{eQdbdHvUG85gcwNjc95mR) z@$O!DlXt4di5S0qD^l?kcR{VC1^x;Y&~74j(r2V~?zHu0_C07kxQq6c`*?0PSSJ*H zai#?=X4KG&XlC`4U?Xafq+$ z4qf}wl#SRyGe}zT6D4eZl!ufPEZ1K0=Mn)Xl(^n+HvG>P=}>}O*2^ZR0)ggh}boUX!;ezM$C-l3Ji zpYsD(OaTbJ6f?Ky4|fQUVDYbSBO zZZhb_JlC%a$0)_ z9cl;yULkQC|M$sC?e8}yc^C8N^)^ydvJ9!A*@bm3TAVnp{J&9%W8%o)BbIY<|RjT^R4e*R?3SSbOHFjT9t7F1<@~d*& z@Fnn%Cq739^IuifHKCaz!RQ`YU3Dz%#WNAE06$#IHN{a@qY0@dfSho-*!>}S?!jD! zo2T_l-+quz%zNM$YWNEi_7bRB#}s+d>-VZs=X@vU9yD^IHsf%|Z3GgTo9lpNart7G z1A2M7e!g$VqGf0*EK`eFzn`66PK9;8;;$Wk&cC`c{wwUViCsw-P4ri%WUE!xrv5_QMUt6Uy0^+m6F*01|=2iXe6M&fsWJa@0#I4 zDNxReK{Jf7vEOr@75Oy?a0RRPq2e7=yYDV=9R@-vS}i?3mp9N|099!E0+$m|J6}B8 zn=qI0=1~!TEH7rrh6gy5ByDt*+8teZ-m}kF<>6d$-vOjCKD6cXe-}hSE&#Y1Jj0f8AU^xXxoKefmgz9+5-1AmQW zm-ALrNZMGnGrcb2hN`zYr9ym)^eJM)#E(v0 zXp?Z%`i@^GeYXOBn4VuZC3p6(gu1(pYoz;qYCPAdtBHpqseG(24NdY#%h`sZ*Z1;P z#JA_&!o0JsP^JG-tY_O}gh}Q3do&+WJtLUPV`&A`)Rk1e87=?)_v*rLUeE1I%nMpn?64ABpbiFpntL9y&52ZX5>XxidJqMYO?K;&PL)@+Bv}ABWhyx2JSU0(Rf__#Si0vrqw$fBIG4deK>c+STBHaO z7o%NObx+aP`#Az!pualLDWxeJ`WrD;RZSW_9KphVTn)0QcvjVVP6QmtqyTJ@0(8VW z%>tIVn2AiA_6f0o*|%iYy$unTJ9!UEsp(vLFqtGC49eJrU3PkH&nR?09e=^Bd?79q zP@I7ow3p41ru7;KOos`wioxq(9=H=v)_+X`CPbLVW(rNQ>yICHBl5=*Y@_Q)Y|bD$ zOcx^5{!RZC8xDzMi_;_5MiaJFj(Q!3!$tdQxG6Ih_GX{P04(kC2{7ZBidBA+xSI+} zA&1wPeRq(6G34{tKSW4k-IRYSCd6#}P%S-{XgyKAQr>>_Lxd@|ebbKkCZ*-N{crTR z?CeQ>gfg=DiQh1XyWF4^6Vh-ZAq=QmS?uU|AH|H0ViUI>pNTXjck=3NXY+{&uAc>z z*Be#-RIa8_cb~#gU$)FrAef=ENd4NGTsQV3OdesztC|nBuA2m6!_|vNFf(Lg#gEHP z)j}Jy1z#NM?r`az*j>nDCflp{Daz}uCTmzJ9qVQE7w@swVJVA5vF0!f8K zGC!$+Tl`Os_dhuvcYlI*A^-o(@dSEwom|O8?yRPtY6biS%8Z=CF1Q^liPpFLRn8AR zRug&~uoo(@cQvh)t3DwX$nao1&HR;uVOd1Za{kQldpZ-HM*)3o*HU-+Q@h4b+dCI~Oj&=2D*} zP(>;boLbwg)5+<#RG}D^)!C^px9e1_Ktj0-yK$LfSoEyb+;aNY*t}6q;JQaEpo}FS zbL1Oh22xjlOg?ry_VRq}p7Z?hO4?bp`myKM>WzVxTe&-Mu@YWzmk5oVULTZORTKf) z1Eg*7w=C;H)B_4KZhu04fP3!Dpu~ZJM+spKcgfrB=};OA=OrV3^e(Ci#Jv~U>%_hF z&w5*OI@_lk5Ovz>d#Cc7AT}Y#BP9wTc+mQExlb8?ds_xZ1pAaB4Nv&Lx?fg`Sf=^N z@G_hvSdF$58}aq6q*^ACs2<|~IAH@~n-2KldsPbW^;0~li%4s@-6r`TLL{tR!a|^x znB?UQUB#VFa(a*DEq3qBVL;9H$j`cFhAzX1vj|BcAv*0+i zzKmfUlT|y3)VTG^7OQ4wjc_=eg7-dvAN3FxAMRIc1bl7iAX<&pEzq@6$7LO$OX#xl z9e3+|X{Y_%W>RXC%WI6!o?^Q~oruK{5YvY~$eub0EF}kYa+FprB>*xmH|GImf^=R? zMLRF9m+1uvG}JO#ui+dVDPTFJNu!~4>Fd-8)X8Eut_p18;=HzK6V}=y7OWo>!i2QH z8LXS?lCUm~{UauZ|DbM|%T-t@{W(p66hfKguF<{jVgvLVK{}OGux`CuGMiZY+inxi zpG%)&y(1hvCJ!{^5j0Es;@o-f+|BoC+`cYq`;7V%Y8l)HNWHE786@@-RL)?EAuM{{ zz344EI0bm{{)Y!dQ?9{8VvULCi3*vKoV*cy{x2_m?})fVXCpaE2Apin{ax1Dw=T<< zx^@nm(HSssIuC863tOT9TQ+EbnWXb!|I=sffBLKelVFFijp0ZK#uY(wx)vYU&T`+K zxTd(4*D#V|>uH!G%Y$4XS^jh`=|4_0^IXI>U*zO&eY3$6qZvF4!a_vn`qaT zF>z6n)=WOQbp!n&mq;N%+6~8kj#fq8-=%IR0y~1Ut+PeTDc*jMgnfwkC~txdaNr?6 zy3PwR*jWVU1X!?{+gk>FFG2H6l#0~(&sU9&eRpF0VPOt>>Dq~fy>XJIU#v|&vU6Zx z(Pbr*QkJK@X#2%=eY&b#We4lU2n;zF<8Sar)t5JUb zd*l&7fB*q=aIFfoB3jL{CNKBCtk2@YSwG|d0RY8EI@RpC9(V!g3g{Bp`Wx1FZjEL|!8WSOE925#(96*p?eH8h%c{9PQg88Xj z@tRt(m6)iw``jjXH3nz>6+^}Tyqby~5U5K) zMVdRY^K)-ScKhXOrew5k85={B^iQ!DLW@j(*YI$@Iq;XzYQ66Nkd&+47s{Ufe??Ma zqsa3B((~t$xSAV98_S}VEksFf7kM;K06u0=Fzq>Bi>ylXReTJ{LFa|bjz|_g8ru5t z>G!NUqi*k|nxBrz$8X2$H?=_5uJ3tWyWAoCbLg3xPt@BPU*)KE`jBp7gr%6yufbhj zkCBf4ySm-1NjuS8=s%2`^W=LQBg9mSL@yumcctA%#F!zqj02t1U*e=#C4q6rLhLAK|#FGlctEy^3gmm@yWpvlS zd6D5%`sxCylUOMG@ZYTe${Nu8#mOhw#H@QuOZNkc?&kf9Mdw|F`v(Rh=58H)DTnl6 z1Lff#4>UD^)A8;*Yt8AUMwwf(Je1H6rhp!QzSYH z25GtH!-C!eeeHIO^MBXw*Q`}PDdy}~hScg|`;aC*(8xlSdM5FZ2^<7ZUpzLIEXC);_Uu*pET$b;W=S$zHrHt(%qv|TD zbEZ(!w+9M|^^VW?E;Y_;Tg}LXTTU?}EA%PsNth6Xg;LsI5v?w@)l5RYqQ=u;q&ulk<$Q77D`K?k zQs`utvDO@PMMFC49crO#{xZs&tWcOcuWgLKk``30EXLY-vPSgRozQ5Km13s%$QdjZS{}kyz!x#av zH%b0<2hd@XP{i_tF!Rc!ZC>?Q+9xq$nb*a46Fak)!Jts)U~As%TI-Le8xDNLNDh## zf?N>cm1|Lj=Z?O2;}Mx3FWte#T(EPJ+NoYB`*BKp&7L@$jxz8lAANClzP}#Y3uW&E zH`CIwU+r|Z^SH~Nk7mJ=RXuM7-E)d_U@`l!Dn9gBh5@87v7E3p(M%25IHd%uB8F)j ztZ}NJj1L%b#XuJ=$-N^`;@mJA5nl7@Z@=4gsD@;!?3;JHzw)McAsW>A)mUq)5M10B zy=JN7QJV0%RGSbY?|MQFA$@@bOi4JP(rn_M@6Pw zt7*2A^+X9mTA?zE3wrb+t+@ zEPq8#;2iuCHhq*eSHvQvfQK=Nx^z|&uUzsGv<#oo(l{};Bz{x8(n&^I4%#Ki`1&;- zi+|{4*|_V|^U${&nj31*z9^TGRo`nSre7q8R4b+JR978y1Z2)tZ1V#-Xm8pL1;1}K+0_ z(#Fr&SF9O@49(P!kEoxN37}KEnMXt>w(ztMK_v*B(kL7|A*YI-*olc0I2XD%dN_Rz{%677vCw*q?eKF=?(a?15Q`!BB7PkH2k~>{LycbUXnrTJ1sr;(u zgnMu6jkZgJ-b$SP<>*G}KKoqD7WzQ)kUZN%tImSaf0f*3y?EF`m-bRlSrj z_66<<-c6YqoR*}t5APBEnD{m(=4$zC1a)mdP}eYvx!)D@Z6>H;o1${!Z$%9_9FHl+ zx9zteJ8Gp5w)ctz7ES)0W}4c@1im2?km=c{adEo)vF}@{@~%qaR;EShD~|d%PU$c(OI(ttRr#-h(= zk20of&!r!^3!P)5XU4;~MGmK!W*}_nm2>T08M^A(Ju6}Z2 zUYqh(v(_J$z?p~|dstPt=OrU=+AfV>5!qy=o;zzb-?i|t+U9&Od-03Wn`wT~)9-@b zT&eiNn@4ogY@qgTGZm+u@|4M!)&9SOxVk{hCXv$Nh$4cYvtxpKbr6qUNjL?I7_^3p+?}9>l@j`O( z4$=Zedv}^&->ywvs9*;83ytwESRH4Md8?W#KtLqhA}1;Ke; zq`^iZ>HE?|$1hBF&Xtz5Lv59=9R5s$T8+DeiD~%*gahQ40q9=4de(Zwm69W9-dXq6 zwZIn$%Vv%6IQj5+^m(`#Dgv0qgx$Fw7}Ai+EvPGiMCJ0>LwkwVJoTvOgRYYb>Dh3c z!|k7SL;oNvNeYLyx^Clt9LiV{`u{NZVKJ8K3Gg^{+`6GsujK{|qaKKi>hQcrLJgWN zl0X;T(-KX&Hv^|MK>L6$JPd&Q!0FPGt_INdlQXUcMoQyh>xs zS!*634plXc@I{@jY64$`HfktdWEG!~(_%chnJNwEC+Wz;Gw4v0v5t}0SHg5na(TEh z?sLk{S}WsW#a->%oH4mbX|3~l<-W2v7bZUyM~*ax*U)Z`tK|w z;#y$H9Zj$dsH`(V>h0YVok~mW!9^j3c}|0awh|`NYWadkiv%;g!4i!rZ_O&vmE~Ug zHnSHQql?=_g|2vj1h?cAaw}-Ge|ZeP6{nMiNW^sHvz#PMcIJWO96TID7)1?HWus8? z1a#r+A9~dgN%9EcYD+8$rpF1#2E`L|xrTO1LF~9D-q}9&M?7f{flh*}~zna#)F| zgcvDuOhGDgLqTAQ+5z%8K$xRvl@OmiEiF0n8tNAh>VAnY0`OGFt6f1fr5^|j_rdda z<*=yRTb^x3@<~3Za_&qj;cX(##FEXVww^qPp$=aO+@5mrS_g~&y`i1TrOdRQXr4C;@A<+@SC5g8BG|$2`e^&M6b4SJU8+z(E2stZRGPqQl%DH`I#}tZ~(k$$`fzUNBsd zg)wHKB|LKj+S0K)=UMcHxhVqGHP1CbM(xt_6dXNu9XVh3+Di$ETmQ9J;c_#aO}UQ% zh9wC%!#%G?ma0>JyM&41Q_+7d-caZKxB!1g;jnQDJ~C$#i6)6 zIMDy?UGWxOEzid?{?qk=d(&NqOjO2d59)5?+g#|+bmSD#l5`27D}UV!UM(CRY|DEv z?sB#yVhP6_f&vXS)jylj?cn_8?Az;PL9^c?91Py^Q7>CUNa*}FCsD@+u>iECJvl!9 zCHs|2K(5y0Gdt~GOD$oQ<9NeGZy5|pcl4J(^QA5Db)w|7umOxCs(kDTFNm`?xfS^0zu-?MFp4@#WhJ<9 z_*k4y2iy)p=P9ne0@afKH+R{`)4y<&s}W3aP$#Pfzw+7 z&YrxLgg(|HIPe(z1p|fBFZq=B5v;umhiceS45GuaV?l5tjh2=;zH50E*P~B-lh+{8 znxGdZXEDq!i*eCf9MU&7Y_7DN$!O2_aG>S@=fVBCk2D>$!iyAe7FpETd9kPY{oP(& zW+Duk=u#zg3nuhBd-ra%uoJpWFd;!qR?9D!E`5b^ zAYj4U&~UUpD>)%CF>NXh=w0sbR>20Vy!6Rp@lIk)zuf@+m5{D*>Ve6U+u_lXX+k+N zgKSS}uH%-@VP0MO!szn0PThMtOH0kJ^T9Da>!%*z3d9Wo+XwfJ^@tFIbR9nO-RCtS>e^2wV zJc701wSP6B@4N#wc%`bn3jD7y#nV{XIaDRP<4+62G=xgU;-ZtWFT;B+)52|t2pkhZY|$RrQtU06R&G|hKJ7LZVQjKZ)H|1 zVGgF1l*Pjntry+o^CFwoxN8TI7nd((d=$zTr#A40s=T60J&UztM{)Xdy8SH>L% zOG;=;1KC#i?X?;Z1IOXotwlu-{ej$*`@5JIbZcb>osc&_ZyQIjwvfH=%+)D*8&yc$ zAK=FqsEPc_oxwLp2-Zgb#$CSc%^pg!nhVKFo6B}dZqLi4tA9G!lIJ!sT(2u@F%@nM zDQuQgM|P^q-(w6C>=#Vac z>fGr{pyvDqS0Z8JO^l724cRW-tv;WZDU{|FP+Ain?&A5`Tu)c6jO77$T5KRI%u1f) zjUEg5po#p_?rZuGEr8fll*w@#pYI!U>9A;2U))|>a!#G(8M`$8<|`paq=we);-rIR zc3ifj+5Ef>biGi)4A{!Z{Z#(aZ3DABTKm9wcVoFQ>Dba+s#bBfGt2ir4rgBcr1ZMD z>==7nj0;&-+tSdmz;iTd=t8l#&~HgsZlNgmZesr-vjFcIr!Fp#{OmSvWn@2+1VCZm{_qx7q zy1|}h_!l16bQ?~xQZ1hDZ$CiShsw;J_OFl2HQlh%I=Ly>!hBARbA7Ad9 z4)(s8d()GWz|HoFL6U`O0JL!OdM(wHiLDHPL5G=7`Z1wGRT2^ovGN+GRtypJddB!owel^poSa0FfQ=My*9$$=L0?PvgHCP3 zEQOD7Cec@~URCoPX|14Z`p$rdJqvy%y?vr(1I{pb9L-J(sW!l^}XJ>W9j`EwJ~zeK7L?Z=A@ zZVIIhSgPlw!r;8#{FftW)A?iSp*3>N4|Hop&6PY#dst=odBn$T>wYrT|8y($6Q|LmCPTU>MnEG<JfLB>xKjVg=PojU^vMfsMR;}j(9R#6lVy=a}kksE|K#mTI4 zN_QImL}+zrudtD_Bodns4tkZ>UnjRbHFJLIuR3bx0~23jPsa=C9Z>KuLQ}u;te{J) z$LP-_15(WpB6F@IhYi;=$WB>LZ7CWCW;u=)lApkkrneKzO74gqwL-a<`ueKh%1Si2 zr=alM#ADRwuL_R!^z=NI7UseuA_|77L8{$@ZrcXciA9H}1(R;0Ze?Va znC;1Rfj2j7qE8qEQ^|99ZlGzKQ`7QPzQChe{vcT1KILJsjU_Qu;!MLsQel{-_}R=`V~TeV z5$wsZ(M*LpWwl>>T)D``ZL~Afzps*aHnXH*d3yQkG4?!qOniy$I}kO>d`s0JHK)~o zgtIQfgM>$(6K@_n2)z8N(MXLPCX5@md~^X`>z^ zu>>K8G_r~Mh&pzH#c&&Xw%$J*w8}|HmJ7r|XpYLgvBJ*$%|gk;ROs0Whb2tM_tLFq zm|5c@8<=zQq<}uy=W*2!;pI(a?o+-*)6ZwFr4p-_mSQUE8O~q9tX=NytxvgY3L7;? z$D#)>4;?ITXp3+6_{G?%E5pO)iz;M!GXhuz<&!1TZb5X=h<8%l~B-K$W`4<=Bf z@9jhvFFyoE^4;Zu`5ji1_BBB4kul`E)Fw*A4CLF06X}nj%+;n4T{goAIX{Gkq_5() z=!M~(R(n!O*7}2V3cO_*399rU1ux4ZK+ct9B>cj1p<Q2kE`n~DT$w30Jc4(z~l@b(d@zWc`n{Z#W-xkZSJJ1rYI;loj>=J&nQsT8iEa1_+7q)@Ot*1nV1kX$&F(@oDX-LM@ahORwPr z{^>88V($kwh7!l|9i;ez40j%XV5>Bl&Q zZ4~zfJ!YWQdR3#WT(2MHd%$FE%n#i^t1yHWqSv zNVA34J@F{yw4uvCXi7Kzl{ zX-@U}OWo5Ao8+1Z!J66q%JVa$$qytscX0O|?Kai4lx~-?oC-H{E{wO$sp4%>ckPb1 zBx!?XomhxAWruAAv6$Z+Z+5K6$}9zDKMu%6HWKm{asH+X#s;?E^e1WQ~jG zdKR~cZ+?QrpcmrZ@B>R#E zpM&IKs5?LqG$d++^o)xt1a*M_977PK&)r3Xk#MdIFaT(9Y36 zIOB~`=wR6$8`Jks6Ry*xDN8khEc83D{^GsRb_i0?;zhG!i+ShvoJlng(Uk8T5O!ss zTDuJbAWZK~r=TaAmwS7fUl1KB;!JA-T)ee+R>S?>GTipyS8_4CC5L*~>Hr$JuB6Fp zPY(bxBhib=BqMHss0ZGw0ttWt1%Pw~KwOxIFVRL{@R?ES!ZWd?d6!|vV%qhx)ZV-@ zrqAFj?g>{2va%DuVN)3Lr3!!hU~&*rR-(nO4{jMKUYHB{J{`U+=@#NKPYofnaM>38 z^0vMnRxaYmS#q*M^M7oYP4OLDoJT^?XY}08{o3OAyk#e{?Fou3lmaruwL`NUqpnMp znOCfg=i7@4?5Fxu8Gnm0gIN~9caNE=HZSa%$|7*cA!)MSEb%70VI`()@q(-a!^xLE zqwVAC)L!_6ZdR0#ikeqKFWU(s$?W1wzSTvZ&VBSUMy_km{J`|s(6iZq&lQf|0EEbW z+!sZgN@3&Mt~F=v|Bj%GfCqR9A?Yx(P4AM1`?=-Ktymay<}gx5{T*5Bw?O|kdv znNR$O!sSB1Vbo_MkHbnnfOwfL#dB}iugaqqZ~4wiwC?vf&FqCKTsB?@g_L^iVP_GFo?b*pVu)R3R`05M(^ z0`A*~b$#I9Uxm3 z1>qSB+EPC|mchB5>f+LcuT@S3-b9%1s6&5dKoqgUo8U?g@zPA#g^?JcB;8`R;%beE zXFJy)rA8yEWj>&R)BH2pC&`uNC1Z$#*Q7C9!o#J41Fx-#sPiy<+~pv|e`8$k*@E$q z4TgNo(7hS`7`YYrv3Ar%MyR0om{*IFOKwrWo!70G5++tWM3`%uwQ$Q1e#V~Q6{HP? z8%>@jFXIT6?*ZJ;B!uWwTm=3{)Iatnqi$k1AMH#(DY!Zn9K$eAh(m)j(@iU=V6w-; zA2cm<+H8Wlk!50VAal_NFmwJv0DE5{`x4(Dzz&5tP)Pmwd|BxXgs0yf{2qlTZSEl^ zZzRo>xXc6kmtl%ERtOMB%RqA6FbeoU z&dW!CsR*dF8M3;cePntuJ8Wn+imNDmU`&jqS77Bs2(e@nDJ@ljt?Z; zyzz;@pv#tMeXJRbMt!`U6~(4u&?l>uYMbigbm>nLqmmM%h)I@9lVQ?AS5!2YW_y_i z+DrqF$~`%!L%{GWBeg7;6T!y*Z#Ecn+A|X?vNtLW!P{ayLCmq6iJRy{!P*uBl#AeT zry0?y8-guN=EA#`Eh2IpWoCV@{R_p0^~~@$?KaV;Ns_o4jAv4Li2*%|3&<3m7AG$oK7R)W$ zlUoeIjCwBVYZ@~3il5I&w9>7tlvSzB$dBDC1;?-b`FPV0`1yE(5JAO`)8mLNdcZHW z_nH}W7|V+8{o6e>L1`Z}(a18eYilR)Vv{LU%5K1N&6TAJQ$$Hej;_ zkL-2}8ed}hkbiTxvr5?eHmY`>K;YxF#r8C1VPPlmC>K3=iyZ5%R4f=PRKg`q#MZ(k z%T}Hfhra;NS<-00;MqJ1M-+JuU^vJ0^{L%OzCnTCM}YO1Moc-#*9j0`Szs{+nESB^fb39h*1mhG_?&x4h&OfKu{kc;f05w|Uj1 z-f03$<*ES=LbBE~%v&@9p5p%^n*5)2*UzB?fZ{QDLq#xiN{*oSvlqg&ixoeE7qiYv zAXsa20h3ace zTQ6SW^fFqmUUd_qy8Bxbi%uaB%59x;_C~kW%)q7P1-iaWXxJW}OoAsX0$7ts9?dEu zYq~r3_`||WeyR*gr0X&%!G0r${U=)Ogv(046g!%xJBc*u%17@9u%jY#Pk$0YF~$%BjU8bcZ+MUk^`NEiF{|!WBjZ?Gmk%UziwfycHO~`M&da z+`ialnFR1Af~&49_Rl=y!y|I+g{Ae&|rs4~eX5(^%3Q^rF25`h+-QFm?Q}AkN zJ8Z>4t;-wTQ-F^QhL7}tK!Qb%&(!nizpa$TNbm=fLcg&=qP2MTDoJaceY0H4Kzm7> z(*;xpRZ(vF!SBJviGSw7AP!JoLMC+Rm12z`Djf?O*kJ30c}ofNWMAqSVFA_)s(y%G6m$9>~qsW}9LoDd{9W5sM^ zd!nrd#fsbkR@4j30^rGDS8DB;2o+RtNP4-7Z{pd~vKR~W1W6NkpeK$2Xf)zI2A~qM zvj3G;h9*lM9nvmoUGn#(A+C1S010X|dG}5{Rb4o=!IjIV@%(rFQ$QvC-^Pm23#o5Pm)5O1_&&IdH;;3DhY=+xoTp9 z%KG{u7#ppLx+~1v!T2ZYW4VMLWLj{JzkUd8x(7N9m^CxesH*_5a_Hg^tuD{R)%0qVt5q(uB!rI zW@cn5JdpYt$N=c_hwu?!sw32A>$ATu16#-+o?Uc(5-`eP2Zj72{X687p2OPwfW^py z#UL~d4;9x@f@N6X9WXv+Gb~|(bdu+at&uHDy+u%<+|8=(HY;XIi;ERPbg&{+T3eL} ziXS6o8SLPd0hA^W>kKgGt$75XoL=MUg3vokKNN6sNT(5eHIM~-h#Q@GSqiIaqlNveC z03ibW*B?#fC++iHz9QY~i{nEt9Dcv%B-Xt+@{flHS$HXL(j0R#7}a`$LjOtLlXm8w z0^#lm-_f4vZTqvf&_Q^y$u?WRc~|%T*}2IZ<-*!l37gf%c$^4^utAv{ALsJCn~C(h z(evkvrbe|*X>^U{7rC zm(ek7o_25UE^;8vg?@fQSy>s>DsBz|nk@YUq5D5JMkG40X1W{#j=9Wy1TAO!Z4>N< zuNGM4_EW2-k5Y3!$Ccb~)hNodov9J^+Y@P)w5K2^#m_0cyNT(Pda0*HNLgFmN>^sT z;`q{S5pvVQh#x+esYA{A4TzX156AHCed9&0m1BF9Im{_go~Y`(jIm{ znT>#I)8;>#lfW z+xNwA1p`sOYO<|o(wdOL_;OGJ2oqfOx1c?oe8E6Ks=;nxM5AZlUGbu z5W|N_55Vo0dA7>O>&W(y+b8jav#6lrd;%TbT6;DU5d|VnT5IC92z`sJ`Y8|!4}x3B zb>A(`f_vZPzxquy0O0#o{z&&+LbL}c7kGO+0(|QzfoO-P2mCV-@1x!`WhKCO@Y!_U zjZ69fXon>BF<7w%ntp^2fkcO==$q6hy^*C}iT1PZV?xrM>oMI2u<;71!o~BJ2~plX zFIQG;Xg0$9F^^z5g#-}c@KvOLS~Y!>{QcUmy%u;I^WbDKe@y-)cKbCRkp!)wnnci4 z1RUligW3ed2ZJz&H!|-@ppSX@-=vRmISPyn+SO+5*O&9_`(YU^MCF#}ZBMV{;sc%_ z*k2YjPi3l?LH3ZwmD---E+8bw$MD9Zoq0*MehH{hZ?yGfU&l6uAvw!JlkLYJ{??eN zZ^d-5wYA;7bmecC&#D!BQz+xpn}%<=>6)hss4V_Y5O2hE=lK;_Q7LSr3-oy|E74ZyU33xY`L@M9Df zqu9HieR4cn5+OWiEE$wmk-(6bG4EB(>^VNx|EfWL= zy8{T!-WUegB6uL#_oyb(pM4{c6}3>&!#LYLX-COU$eGnVio>PSnqb!y_wxU$PPIH( zHZ3X1qQJ9x`gyhH<)oy>#ALFJ#eDeUd~*N8IH7HwS2t`LepW7HHWltaKhq5LilAey zdy=`qj{fE=hv4nqmwNXo7uaN@AAj_rhFgXfGf)4iPc_|gBES7W0i+vTld()O(AD2a z@v?XAVFKJZEG_1Du)4N}dRs*J`UR|l^Z12#K(o7l0y|H6J72(9s0sqc*gOz0HZ?uG z;$CtNLdRz^oVTwH85Yj04gL1Sgh)mhU-q4)MqxO)q}kQ@F{%BqWbEy~n{w;>R)cFN zT&HDZmYe(Be!;=Eqo-|xOQPEbw0wg5hWh*OKj76p9s8J2*9yCw0_#n5bM7(R8oy9%~c6PrX(Y_!lzK{R4m$H{J@{H+ooBDB}6RZG7m1$g(BV!0QI;s4rqY^B&ra| z*v5Yb=e53CSn%_2RP{Fi+0qvb5YAXJycgB;DI1~K@7+(Tl;4(G%$AH0O%rYx8Y+jZ z3YDSB!an5!LV`1g9421K>U2$KUgFIJc6SBO#%xo`iMO0j@E2l?`oAWpPQiK3Pu7-e zNBH6l4HNZ^@tXNF%JVGa>S_=FL>%{b(f@0G`IaYfiNZAXto`G}u`D;`EdNpMtxM}_ zTMW=@7N9oQRJS;Qy5;_l;Gl}%MAP}@CQ(Sa7qP#}nB;^UN|}(5KW9E9fE~rt$$0}# zqik6i8qM`&E8JHud3@es#bnzKBMEU($Do7>6#!K3VvY(~jjwOzLPbv4+=_dT3Pxx9E~u zj!F^J=f2+MpZDHE(D@Y+HvkTfodTNOXQpARp|J)OkY0|zu!1xRsF-VhxAD_>BnS`P zhWH*8$R$nM1BZC3HscoXEP`bbe{f?@UX6@^XbyNOBjqy(zwgySmPTr`Ye%v(0ylqu z43Hi1qb|Rq@oR3r+umrw&ec`n&;Gv;Jz&^QC(|!obngmQ~YaZ(L)|~1O zBjj~erT_+rBv84v@~AR-l@wYqx)*rmB$%cpBrS=Jqv1R3&8q!;60)7!@=?e-=0S2$ zU_2C_aIu+vN=d6>3weT06Xnh=;Ds_dFQ{awuZ9!4-5(L>P#;l z=mSE4jms$rZJrvHD0C0W)RKsIX+?_)X)*hb-f$_Ezc`=sTOAdrmt&dJeY8RY{=E#>1 z-zYzx=7*mzHSn06ZBz4EaP%L%!bu%lBrO)1niTFIp8~T?v*CiCTZ#$yR}a@6b-5_B z-^#V-n<~;?=*wuEB}S`hk2_4yS#;PFEBlW#03?_IPIX1(cED@Q+#J0cs}YI`=YuhuO;vmb66pY%RHIV$i0FrN^;y|bV#VA;5 zy5@Gdn@w79r)xz)TxiBqA8&jmp)aKW1khdT`_FMXm1vfFmdZRW$AE?HKGJCfIAjGY zDmFA@u|n(`|2g2mou%u`*1f;`H>|$hV*vd?kLZhnfUE%jL*{0)xcP^|KM^3uy6+^<0PAKh%03i241}tFm$zYm%zC4?#O%4gsn4 z=(V-hE5F5HFb~#b6wr^5UNL$z3mk412pshW+ax)8J1o6rsqjY~(qljj|JNa9HtlJb zFZTlw=|0kbnii;xPTG=LNTa1Nh7Obw1Z{=k29QCiC0gZWNPlJrQVaNxMsb{>BGpgh z1jHQ&UVlTHAi*)rYdp1jM+R-cYBd4Qr>e< z0ItrtOOy_WmkUMpsejF-^Co-`OGVakF_P2%T(q*gxT3rvbWbBbdhk~R4WGPY?6+i& zJY3b)F*XrcEw9sql#bu`Jlm7$Fg~zbRr4$nS0rtt4KOOhBsO^On~n$3q=Ng8W~buY z;p_0mkhHMx82=1T)u-pV6w9p0SUsNBmTg7ov} zl0Hj;6qEr??VYzk{=jH zdJq|ma;pnE>?}LRsX$sDvFJmn=#7}yGnaqu6J$V|uAqOo3|LV!e+QJmKdj&}5Xgh1 z4dl<`5tfY3_FVUGWa+A3t#;l94Cnw-A+?IIB1Ute>WWad%HePfG`pz`pUxh|PrG#ZV_RJaHV?UNf> z?kZ%xQ6?FA*lI*_(FHAX(|isfl6!S5FVRX?2WnFO4g4rb08ATT{1GhV5XdH&E{E8w z{JSeS%>MhHxKJtu_6hjD^MT@eu!L$p+Y~YMG~qsWg4N|&monLUySlEoX~LT+rsnp# z#`2rUr}Voy2rU%zr8iz5%rq=0FV8G4BWP#_g&$iUeU%pC?265%G{wD3)4u~`L1QJ?%t`1 zZOj`ekP9>E!W`NK+5%?irUmX+#`Bzre-Dy~DuE}B43?*P$|5WFi55rBt%IbVpF$z> z^a(~!y6zJc9VPQBQ;!M;>&JC7q@a?CVM>(|#{ct-V^{f3!acH7;;pP;VK)q>rV)jW zcNWeU^@-zRo-@)HpC-lMooN+&rqwg_!MV7hZbSJ-}?0~O>_g+brd>vH0}G) z^!<7ibs+OFm(6EdGKEY-fp^gKvu5ru)xG~8I`==9PW083qSHIKH;^lXy!mY_(H@GJ zfq$Sq%?QG;y_QGG3Mx3sEJd9s0~@C2NQTgg`a3YiYp2^IG_@yFEp#Rvq?XywY6n@B z#$uVwzTf$s_Y-yQ-)taVSFBDOz?izc^R^1z+gx;RTk+1@#2PJ@wD{RtEY(c&_zz!$ zx4P)BS}i#NDhUT>K3BlHb}&Qy3#!ua#_X>yNAfNHpbS=<%6M19Fi*N;o&#a*(F1Ag zfOA>DZBgt!L9p62yX@_Ze{cPbW2BND=1#U#-MROUb0Uk<^Kyqha5#caH26q^ZZ!D& zMD+-+te%({br3tUs{3snl`oE`c2rjgqT+Y>f*+Pl9eqg?uc?rI5NYdVL-3_$YUgA( zQJ%>1li3$3Bx6Gj;d!o|;X@AlhLey<4rBVEy5kGOc&*?|{@IbaR@_awTs}00s5s;| z>LS>|ksNz4dNkMh5zSJn<|_b-q{+BcDyJd`*>@QNjQ_u82=LY2a)vM0PdyuvZEGtE zgu*OBks;0VKDlhA=ZG$6z4)!#(bQeu+5@Bp0j4$A{|wgGB%vS?X4&`n1=|Ihl>&#+ zbU+b3m98UM2-@q%nThjVlV)R?{^yz>Ca%E=bpdfeHCMbfd2zcM$-qSAS{Y;`B#^mW z10Dz@V|;*stGx^JK7YD}m*>Chvz}M!&h6_=L#>|rws*hmw9aAtVOz>^b9C#PSMzu6 zexTD8+RX+Np9c=@bQ^nS`olC^GjFD$YRwODAVEEfMFIZPcUkM}+;;L^w;e&9d(Dmh z+b0hAyQpVC(>veRbT^7)Km9t)dg7~*K;w#~bYWACtiC9Px(OA8*#1MEBXiW7&ipps zPoSwfGIwC4PvB5MGoUn&i(hN=m4??-=Qfa0=vdACIzEH{uG( zGeL&wA%t@Y&aiD7t4saL8qvmM;+v=Z7jzMWo-6t|_1FwFP9yD}S0j=P2&s5;r9m&% zpRS=h&6(-2c&WN)qQ#)58Jtm-Bn8_gD!@$KSz$pcrtnqrQ+eH%6?!e?jo_EfPR@k6 z2@6aL6!YnhnApmlMy~ABW9fXBGaH_EwoC)-;wUgwCFP;% zx!!!^HfB)XQL}ingJIXP;wM;+C=^<}+gX|k^jGL#@c zraR`nt!r-*JQ%^UIu0`^ja&OZSUw)06y*F2@lKawDYs~}=;03Vf$hMf@jBH~mzTs0 zhtw0*X7;lT#Ey(V+G7LgV(6IUQ~z3o^00!+eXEF%(j^N>C?AcqNA+xNi0d(FWBxhd z8o!bblp1}%6&4r$>NkL*DX6PYMICk~UOk9qOb*oFv}YBp31zJXU0F0zpjlGQiC<=} zMUhRjk~dMK+N}+E;LN2pUIYr`19***07%low-CPPlXC}rkPzkJXMF+wxdz!q2cH4& z&eYi9Mijewa&E}v=nxVjn$}Fj)STS-odNJy-qNr5$IRr z?f3^9G|Iwj96RRH^fmGqIvHoLx0y7Tqk8z6lla*}s=pL+bRnzzFtoX=86rU(bB#of z##R<1`;t!1*}es^?KatgAPOevd}9j6>;l54)Fq=Pc9s@HxNxHHz62iZ1G)=QrEB#s zG&N7BL85!uf9wo^dD+L*Kou7aN{!eS9V2rpn%cDr7a$V>dN{mFwWf)7MxtR8t%4zV zh>`zV0BNI=vp`!(i(|guUi=3_71oOQpu@+@X(W>8CrDGtXcT!(bwQ;cl6IJlTQIc*QJ=6r8w)i<-qy`=it}& zl5=Z|?g!g*`S%@K+wLj{CH9i7%Ig_bD>9oik%e;Jx9I}J8?Go?uj^wD6iq>8@M}F^*1v5F5OENA&x+)KiK}5>5D9WE_7-atzIAfY9xUm ztRC?dDW{$6&K4BPxHF;7zL2*3h!fouDlU}>XQKrNK6PM@J1Xl6!;LZVAL&RjVona# zvc~r%_=9`$55#(>+kS*{Nt=_C@)lR1p35xve6tLhr<$t83PsCU2EGVGSW65Q}c)9fmpfU_jiUDNR=jU`J!GN zqal1Df^>ipZP9sPKLQDp#!csvD3MPKpEG6+2Fw_C?2HjqP?A6dEd(y1DCrY$v@rgk zYF&njYXPf?3`uM?^Thqv+ncpk-QHI?@4)ib5W!8(E#Q7PG(O@~FkgBX#lW|$FO!|@ zA`B=U(cccY4p(%81fZod-PrgR6}|>18p1Sg@M1Rh$QY$K=Bs2S~KZw$o)+sTL#D zN(1W!s36w}=>Vz;l>8_(J+IR*#vA>uaq$cYGkAu#+CwBaS)e@bb;cxR+oU*iI+;Gf zQhJZ%V!WeXG@GuP6&y_RaH7_yv?_?a&hv09j3~2q6Q3%84?EL9tGjUbMG~=y=MguL~BH#w> zRgKoGN*=STezU~t3dT;FZ3Gn=L_ZcpWfmX9BZh8U?~|4~!84(J1atwX&KLwEh@9#u z=I%ztgyfu@tYs>pxeHjT5SvdN$=owe*VsWNf==I?SyrG<00J}Gx!c$gH?p;XB1J4J z)^YU_Nf}Qzd#*+pX@HLKy)X}D%FXHPtY{v zn)``APcvd~JSzzdYw?1l{9)h-&t&?{$@xd=UVocoeQg7_$8MYm8z)xnbj)P6?A(b4 zg3#>j_(U@>y0m(~V@XHh)ao5?YId6Wz=T=W%$whkdiFS|cN8*vYV1uv{uuSHYtbbA zqqR$?d2k>=<5O27m8zw9)#9oM3vdp*?zL|EgJ;^_Itgy-KBUhNn4*SFnAZ#uZY2Rt z6j7@!e6D7#c_Qqe*`mxwb8N@;H!@~2@~;hpv4JtO2h9g9jT+~uypJzZq;ZsSm)7gI z$<(JI+K6xK*a#vrJHKkn95XL5e=aSs=6>0XfbgEYURk$1owGFfyTxejIbL2!%} zysG*X;YUh91hR+3hQDAPX-1SyQBBxcbZW%*O^tccx{&a4@SJT?6)(mfovtrufU3$1 z^Fi5x6FW_X?hKmVaOS{(cKt8zxr$CiQh|^Xwvn~JbRGn**UJL%)5mrEj-|I` z{#~-dSWgCWvJq4=p-?)B1k19B<`{C{n?Drda27g7%jU`%yzk^Y@xFXrtmN!*o!hRw z6O%-xUp1{ZT{r_}mcH|C>orHc=Eer|Te7FMtHFd=|4KO~=(BXsL0qZxPezl%CZ1fh^e+toQOkZ;~nl>-64@J}x1yzBNF(%}*53~CuKay%x!O&9x$ z3rQ-7q4AYsE>|=RB)TniwvOF0SD^rc-=uebUp_|z@9=mur`STW)(ksa?bebOe6aCR zO{{BRihj|hj@E}<0b+xb=Gx%A$hx0aw>=tqU`y@(QswrS8oJhKc_Z+e_^POGUi`Us zMm0ZOID~|E(aV3Te5m^;S$9?VbB2d;`jQSVBxY!|T`x7{1apU3weebR#8@=+X?2tuK#AS1+V4Q~dFS1q)a@$ld^&EPZt*4Z$d*ZR2TByn%)f=Tj$$zGu9_G|^G=5%}lNyNo1c8^M-ZybsY@(BTVmRSGV6i%m6<9*m~n z8Y`1o-X@D48~L<|fFkz;BAW;dfrhiMsSwZ3qX)lStBuok+e>fr^7}QIB`Ao6Ncpl^ zkUIuWGtZ;$S-*|wenE)kALD>7R{(97?M!JAz5OxdFU))>f|+#Izj7lBnTQCj@{`U zJv=PkJr84QGk^Yk0*Ds<#)+LA%5CuFY8eMGXbx|k`IyVc>rd4@Nt6L(b!mE`w6L$hq8L!V0=>~LZh3V!F6&n|6kC1EkTnRmo zlFEukxqqE^wt%@5s(8(riQr@O4N#Oysj+H|T&9XuMsOc*GaYaO(*WR_7K-0i?L~+o=XC;=7yWgXp0$M(^Z^h@^~vlb6O;=vbX{QROCKFzWxoI! zG}yhqo0c3z`|e~7tn*)WUUu1jW=X9RsZpt@KV~oOE&dox)J!G@)GNg)X2=l#x+YWu zP?<@_ltGi&=GirXT)B=)zG_0xm%9XmS*TM+0%Q0zfhG0_AX*m@+CQjn_(VVmMf?k5E+#U+&%j&4%G;{x{eQ z=GA;Ys0j^&?#$j1(zrMpVgPf1AlR3;>7t2-PXYA``()KWP*Tn{z4&O6mZ5WPE}8|3 z?U*b8O{RNoTg@^rbnPI=>afn+4X_huK&^S@Y%~nLAEDK1uWfgA?&suaN6g(EE9=hW zN$vLX&~BNj>UrPo@@Q zRG(7N33QZrsAD)IH2CZOXG%;z_--11V@oi>zx@d(5&lFGjufydCs4z$9q#Mo>u; z^$Ulklj_+B=r)vM0NV%Q1Vref>zEmT^>ghcn7x0S??Fw|`!(7HfLXQ`uOE#b`0n)!Lyb`Sp3k{hH~!mhGHr zp|5s{zwxsgb?5dsqG|q&^$+iS*$=u1L-7n$uPMzHA*y?mxAFu_ z;~zJST+Hoc_4err5eqYsN_iU>>_A=laGGG!%(-&%+i_}EJ#`asJpKf0`ryXPp|exi zF_^ZViBVdX5ZM0;>`vQ?9M}Lb{ytMP;bExW*7OiR@K!t61C+q7WF4)`p1&fve?F^t z5|6SE8~}FT#?jW@>KJTCp>&eYDvSb$a>nb5D$RNjxSe$h)MU1;TD7XRB%p4$pYZ9; zx@pnX*8;wXiezg3mCI`VRt|saygduJAT|27i}eK3nka8{Wz@YPn-nehH4SHCUJqF3 zHvoJ;UD?KOOkPFmZR7gNte%g5QS+H^h;H_4@M}eY)Y-4^q&9Q{wc-3)ln+cH#*H)^ z2-0PNZORA0d+=$7G|R7mKA~1ksk~7*H!V$_4g0S4A2x;OD=amYc_tqra-zjwgGi05 zgEd(lRjy+b<|c}LQGlN9Izqtxv$0qJ4xrEZVvP!*8j4-7e<2!l2GyPYhJ4eK|NKy- z=80BX5Pc{pr(ZbcPg<^i=otvdwF~IZ zAzxa2lsnNtJ;;td1T*@84|soojm0^3MOSUZ#3 zG65g+%wX;8q%(hn$Rhm+jUp)FLa8sT;ttl={?W50bwQ4#%uRl*v8E2zX-R0fyqtct zPOAFj7(fe+cUtC)?iOuY`>OkCW4ie<#<*E@TdTaaNr-X~Qs?f+iwBZU1g>HC8mo9< zdype?v%xsdfsBahigF6BpYsO&$#kNkN*aQlg5AHY2fyoW4SvlV<7~wNf^f=e$>Rccg9up(i2q1nEo8s-AXZ{x;8?WbyhPQ?%ziWU5w5| zCN)m`;NvGxu8|`44RdRsRUF9`bOLc}#eaZ~RLKlh@{RFAVXUy|;I`$5wo(37aBgi< z%(~APm>RryBjTH7oB#g(mWUrd{fFz$@6TUcYF+VZWRabFOXPp=$orhp@(h=yA5ruD zhPy_mHn%iAb4&Z{uD>^#&j0xP!xq0{`fuy!p9}r|!WW4L|Bxl;o~_Gz+Htciu&|Li zDJZ+p_A_2)@68hXgnZ?>O-d$rGPBi8Zp_5siAL&CC-Fx6^^C+qqZizlVF`jCgiRLP(X*up?zsgedi=wsO&CqL(H7Nt!tY= zyy2;nCC%qjX|l#@egF2v=MIic@{)A`djBvN7a$RgCya^RY4#= zlZ-`K&ZXD%{4XXJTIR0y+_9#rd{8t<&#tKYE)7A9W)m!tevc^c-QyWnxHfT8`+HB0(hHUJ@vBBBJ25`%DL<0A=b1&kP#}Q*m$y~--XcnKURpQ& z)Ad(ZLy>g&z-z0`F}1<9*(Ico$Re+(VWySEA(D4}u!iR~*JQQmTI(o2;uP9K70N#_ zbD>Y|!eBPAnxQ(HFpRXY$qtG-;&5dL>MtxYvxzjmOas;cP0zrg=qZyC9C4$%Q7@<< zzy@a!Hhk-#%nf(m!wn&Qe%*rvJt<=l^!!Z{Fix1LX}-rvdTd2(H#BngP?8A#G)X>sqPo=Xm+&F)b?k)!p|t%K#EAx!)D zsJaE2he`7XTJHlPE)|4yBkKMA~L}S#ujleMXjy>hKlM-wAJC)paFPR3_{+_+=PEG>cA(bj^hq2P*c&^ z`#^V1`01(RWk9Zkg`%I6)w$01(w?BO+ zJiX5ddHU%jr45K+6AwWhcs2Jcp{2ROy10V7aW}SNASKI@zV<^gx(_2Y$smL2fMfU6 z%`);I%@6D&TMJzHAiGRu+<8 z68P4|w0v0lfUY&;Vc|@yIb`Z3P$%E}JJ1*FPa0DNTL`auY?{pnZ2qo!GrEK>>@del z{+W^~UfjYxr-x~pUt8m!XbNW}bS1_YrI1j@5z8AJ!+d}6Vb#gwiV>EgtD~4wyIk)! zl!C|gL6vr-){Js3^2uM-)|>>6rn*DZphKOltAk9ves)=r5QRm$RKsT3hinl6(Z$&d;9p|AR-Zh6dkM7D zADW4wqfvcD|I7sMJ9!+(hR^yD_pCO2U-mG& zs5LTk{8@HI$7g!#vg>!CGn%TuJayct^R^Hv&JeV_qPC{{)qU!su2HW95;ki8bfKWd z_y1R4HEsk7A#_o1MO*vbi^vBJ{-b&8DHvWxNU&+UwS{~KqUh95u(`gk>n7e4tL(@O zC*}E?y_D&yBo;?Q%P=*;(0l)3Vz!?yk=}8_AA2bZ6xL179Ps~L_5?l5@{wTf6;%OlultUj+X6HoOIFu zgUZ9}fW9-V06KJBEeiQ(bHnA6y&UGjWhal9^}y&&!`SPF{#TH3y9rqm{?hNjIDP^jcoMxkyA*4 zJ}m^X==Tj2`p5=SK%FheX+3_SG8PW5iQC_`m}w4tKqmG@)Qap|trQbhtE-$DMEYb` zc@b}z5XyP%TQ+dP$>AFWaf-J)qEX9Q#aSEFK|%M3b>m=+DX8=p?>n3rlRd(Po^yEBV=Q}Z%Jzb;`-Jj{lW{`KC-IzizU zBEcuJt4$F6vtlcZcu;rACBP%2{cb9S1P*#RmFRN3-PHq7|8I_hhAQ143k-$T4{QZhr?=ru;T!lFMY-xgRbx z=Lmxwa#y0G+xzVC(u~}NmWr))wkE8@E{S2CZBY)Jvv#EaUL<24+y9`PXPBgbIH zA}m7DKhWRb&wqY9A^BEDYAWqqwoa;JZJ1`NxE8t#(+kNJ!y%+tMm-{{=*{kv|u zPFoT}0wC^4<^pnLM?q;Y z;b5iTIN+L?c&W-@C(d@=PcY9UoIk&7seV7Gdnf^)7mJlJlR^qfZLY!cCo9vs|9f** zQloiM^@1+;(FTHdQQm3MLSzcX)E%TPc-9fqFquaCGAFhBEBJSt;{F(s%hSy{o5oWE z+rC(svYvs9KZqIy^m7DThmG_>&a;F_Tl%4ib9lkFHiG;t%&Y4S3)4bW!!i?JE=;+O zO(j*)KCCR>qeAtRpq=wL72LuIFK8Y;U$5L-(OZ^bb^HpE|1z#id~dmHp;N~J&mC>; zQ$d`}rx(DWkZ9-H@G7j4>JG1--*)kHcXI>FD(^O8*pUu^DM&;NyLq)sAo2;nrGULSad6`YGFEU<;|Nr>UDiIQ|6Zi$L+6j_gYP-Z=**X5t~(I3uv36~A}V z787+3ep`d|-yW-4&@ue@2XymcL?H%1I%UB${c+;SxebPgFA80Bi*B~jXPcy$%btj( zQ3ucb%o=DlD^a@x%%?^YoKLpT5`Os<&8qmp5wT=;uue`(>yn1QGt;*l5^MHcbsXFc zX@$;V|JJrYJz)r{@ZDd3or^du2fjcK(5M{C+G!O=lPBla8$MF#hSyy^W*@U)?XCmU z(GhOVkKbp6@kI9KJbz#Ak4(<4;8YVW=00oj#V}hbQ}I z+YFe^MaU;3=fFyTp#OLxzx@hEbcQGZ@P}7MAOC=wZ(Zt+pTAgNTe6Ag;&R8@TCBD0 z&>*)P@qgJdd!UPPMx4u+zeX{N0l`#KND=a3^BD{DLI4S7saL?gR15un3TldLRygP$ z&hj?iKD5$}kiv9KAJwnxGIzffcO&EGmGQ3~fb_vI(sKoQImmN^*97E(Jy~U`18naH zI2a);vth31{{=CP2Y-VO>OxH84-7*vga3rzd=aPbCdC*AI0?0;f{1kks>vi$?d0fV z{1A|&?t!fh)oIj8Qb)twjOL8RudU!@VK8|x)xDO(@M4-)B6fEG7{(u)wqcq+L#=SI zhy(N1g0-yxw-+||k)+%Q1Y{oV`=S;tbFLN=D!KLL$+=%4_}_j7dkG+~Bbu*3CP)`A z+O)k>DYSQi%Eq`3gwgQp;NW4f6X$f)kopx7h5P)o|2hv7@?w_P%u9byz022}xP-OC zyDV5`(RM_Bv(AK(aqRxq#IPm9ox-Y+fjfV@$YZpeDa<63Cl!cQ|L2qYNuxGqg5%Xi zf=cC!fIu3Ry7#?OPG@*^S+wehw&Og%&mo-<$(fqXr$V3|Oyws?XQE9pj=MabnuG0{ z##;2b@)8N@m7eh$x?QYr=qkr7^F~P#tfP*N0NRWL(BoYfOBHeix5o|j(&E}-NsUX| z>x9?wvI4ws1i5L!_KG*6Gl(^1f=m_7b@_`9J9r|b40g00y?446mq{t+6<`cYlgaWV zY0argt19Op(D!^>!f>-g3vW(*ES8D#X` z!ZE-zyL*mSM7hDwQ2j^{s;<)q7UE8^O65|a@&wI9@pDV{v}JB;S{=P+Y4)XVN5-J^ zDJPJt<|hNxciB<@I52}}9WF5a!LsjJ7gt+D5g)+e<*%x^HvY7m?($BWxI1n{ye8%w zwwWrpFH>Sk$>zIK{cOkWafEE%H`=d^-yNa@2)-S)Y5s8c;h5@xqy}S zVgcd;>I=HbYFgm`VVTYZz1?~N@GspXOhZMx)fXz`6RARQj6sI!leLCtmkDTVsafp65QsbLpcl7({_DR77>4IVG2)o1P%x!LbZJiDGz zeNf)yo!ULUq-&aV2mEQrn|W(r`vZ7-Nb->%YQF9z46yQ2C4$G9H((Nf-7`V3opPiqSX43_FIQG^W#yLMoBa6;Rpoq!JyF~>^}J|}oF9!> zi99dhRd1kEvE0$2PpRJ_s7D%NqW96Ah<9UvPb~4U# zs*lE!CeS=t)%+Vd>ls@5BIGLW^ak?*j5Akn2h5*O)T0{YURT{cE-Q;|>^?3Gngv;a zkBuEQ4x>3pHn(&_Oz*q1t4M?w-?1H)9GZ%rBm3GvStMf7NS$Z$lw-!JVIkeJXsb9Y zN2B**OSe$HMb%t9VKCB7xODpSo$0++!XVOo-_Ei~&*7>AjlT+DGY#Q}%2K;C07Z<# ze3Ct^CIMz7(P-Q_LAYU@i#MPVGv{J$)99F`yeGTD0G5g5zICyriiVvsz!9l~cd&$! zV{A(XlON9IM&Tow5tsS3u(jZc6L~nHr~@|G$~X#dG}=>8ueva$K52FUDa zF8Tdy!R(GeH7dC6%T)qB)=w}EqWqkW#<1-}i-4En+zN|)=@XZ{gUM@DWq6oXnZi72p}n2&+SZY3 zA=Ba5D}Q%00?f&$St{!39U(i+!$~=q z23T#jRK7e!9`jN0tATy?A@WNf8CFZq*Q>e)vN%)YpPEJ^2tg#j^;gxhm+f?#ardZl zNv?!6Vw34@OZ_h;c1e{0XV3OZr%|Qh(N=V2qp~3?k)2CY{+rEib8%a*_vpSxi%cN1ch15_q_GdCDRS zw`2-~KWT5JIw9Cb^Se>ar%I@}#IuxM>6J#DqB@gC7cU%8($AmDbDj|3xZ;%!-(nR) zoD;8_IVyF+?jbbRJ!VAL3G$d(jjEuY2V7s#Sj8^i2)2D;gGHXS1y7Ssb*8B3o!p-Q z&bYqBEPTit>J?#SDcmV;CMldvm2evwBUkG@6)&lN%E&L*gqLR-gj2@T1a9FZ4|lxG z1}n)T)VnJbd+lw!ZJA8oU*io=-KSYNH^w(@vB3#$sIJ)5&|;svb`?A=y#l7=`jE-* z*tIs0lqc<^jh;yZM|*rk^$oQRQ`*&YiRNKU^ovxP(E5|3#W9%BJ}{IWPwnt@x;1s= z&(@c88jU_)Xxw&}-YdE)Bp*!7$8#ojGzyHcuYT=th`3G}PiIvPN~^m?)V8*BTL`^k zE`-*Q(W^1fu~a^km^i(0atM=AW3pw|bynESC}4 zmdeLz0-nbi)mbH%GS*MJXUzD6f17n^M0O3BV^@Yvouv213#1~^WZo~9NK5vUPs9p#~!9ON3q8#(L7OoQLfZL#pK(wviMhu z(q$poNk<%aoVu%k+q!+?WW#)x#aG>x@{YumU7;~Qt0=+(7_9*6&NAg%*1*($wy{z` zJGEdpc@mo;3$c`v*mzaWiG2s%NE70$md!=yN|Y3#cJIOLaq-@ zPq!-`_o|vYPkU-OzRQHm1ISqf|R#8|$ z$ii{uM8~41lLa{Mj9oB70~FOtgVaLPV0&&{BxCHiq9I<0abq0gpcOO!@nP~$?2|@r zIhg$$Ja7vG(m6hqL+o8GW*-E#kDedE-|YJc2H1|_5q~hflErUY;aF59&&8Qpg}?@t z&~sx&?EUvm89Bj3a1OfNR~QcDU4tFW&&@kL}Dll;;zZHQEU3qhsJ!M(Y(2Suyt zQKYa@mQ8B))Q!}%rQQ#63fns=;?<%?)jigp2t}q`jx9)0-4%os@`UH%v^mMlI+IgR z8Z}mg+Y)&#solYz`U>b%bzvH?(bhdOkE~M|LP!)BAwR}`#QQeoJ|B+Q!2T4~)s-1X zmB!2oKF!F)GksIUh&Y)tEYEDVOL3|Sj(Z^&lsl0n`}|#46lGB$`*3G@0TiTfYvEA( zZL;Q5j~7!s*d*|;XtZE5E-@p#L3)CKsXbhJW}vRwXntcV{2Ug*9*nWDsI!xfe|kB% zr?EDyZOUe$X>^tutu66)Y9iL^_`U&Tmk_w*Z8I_c`Phg^<(gjDOj5aU@i^RyfxI2N z*p0$2-^em1cnR!@!s;<;x=NUuC$dG5NCHCZAAB%)%p?Txuh#Y;_MZXzx6pFYbId}pv?@p9X$g5a({$5t{a90|7XwiPaY z(+xR*uA>*ZgwpYW^td327>bEYJJLf`>3ef!tev*9R}xN_IJb`*J0u>?Kes@f*CH;Y z@$;z76U1r9&VNwRx{^ZsOfOoO^6_xGFBkz$rLaDbsIFSG6|AX-#d)KrX?56YenxU; z>^;0{fF|+4WeHML|8`fY98_!EL>9Q;z{rerm3KQ4L#rQmg3%kFKmuori^2y z<&22Vt08qG4&}!hUIrm9Py2p^1R{RSbe2&ZP*}P7>EKIx$K*tElwV|Xqg}djQ{|{z z7NH?>5f(dP}n_bW1aBL6! z4Y_skDPtV@CEksd1O5 z=#>JuaKUEGkuWp+-A=uW-4MF4w4}LX_bCUfB?2z?nV#t`vu*aR9u=F))YO#oW?u@b z+{s}rosi1-#Wwq-wwE?vn)o`BUrcP|Ecxrd(R8NWSpoaweBHui5d+_vact8UG*y;} zvIvr16G&*1c;v*&OCM|5=laJFOz#cwLtRy3QbArlCvzb1q5$1lm8M;cSn&uQP7DJ| zHGkq+m1mcthc^0vmY3mO7WUGNV@xjOt6~W3E37?AVms`cWn9)&$H_Ca1@ay2+<*aP zYOJ%L=%vXnU-?wHkE67VCYEnyr(ip(29LrjY(xCMYV0l%+dV_Z0KdeR&J0#;Wj{Mj zTX>2!8nQn>_;4Ig+;_&(Pbnr%?PPl{*yYq$ZIarU>a<(50_!RAq!!CLVa%)i11ehZ z%cZB}LRsq=_f&vEUjMrhko^Y_X47cphoAlw5D<_!@&P7(UgY6yND73|A}cpIf`(v{)_>oGC|$WDD7u}D z{qz90^Qa;TiN8S5kJ>C!R0xZZ&GA%7FFTudr zd5jbsOk0%wSKqh;Y~rm#@WA-b@G<>S>`cXZnz67znms%};kJeRC$^KN_p$Jey(Ty( z6|4lt3f5)*WAX1Y#(5VSMJC+k%gExt$fH?+VV4qCiEDr~?tQbZ4_EUUQUV4(=-$=yk4{!Qa+rC3G~+LAb{&7CLz6pvKrIgb^ks5*>Q z)VvWn5$8#k-SICjT6*0fntOsOv>~>Y*jcku01_4OG**g_uq41UkG^b*M``4nAW{=it7G%PXfda5c@buGOmhsK;bH^Q2H7>FYWo>Jw! zNHy^cjfr6E;k_sg33#6=#5j<;;oM^nu>)262`u9D=WMyYT2GtSaatP#KbhToywQ$v zPZ?#X#^?dLM4}i#uDfu~MadbI(#*p1NOy>SQ#nat*QK$nJ)#CHUrNLI3{TNnOFu~< zRwUfz)Z51ph5`U&Mv>kzYaB=`_Y9>DKV*$uU1@UidSW4-(m*HRxT=tqsv)-&9AhHW z*Na0``LG9%QCXhTE!@SvgGqO)7}^s-CJCd4t3&ZEs3cZW8v$cj{jMk~#7gO~;dCY6 z+RG~8clwpRVzI_bXg1?3Rd++(i#jA3v>ZyK1j_5apjmN$Buv$JktZuy+5A)7-6DH% z*roXN*oNMWJ)#0^lO!@j-i0$J7a&I|nNwz!M<0{k(3QI!H-&{~EoqBP#&$nOcQSR*G`?UKkf^oSk{ z>WBgtxuROeup)oMzKJJ~h@B-eKxSLJ2BHMt!~A?XAQszr2K~R;CJH$tl@yoIjCLPc zI9@KSoy8DvL3qQ`CnaH%I}^Ezq{pn&5Jii0h_0-sHgdn##K!B331@%buxnu^PaYRD zP2zi^D@B(T+qEe`y7)_o`(4!8Aoyz`NC9^2D#M>hkCQzMGOv>c1-Lq)Q2s!$f|fDX zh2zTV5x*X1;@jMnbl+~5)A(n&0JA*iq$hO9_QFh0(H0i2te1dWo`uVlB%9b7 z9^U^4-}jbV;ML^wMEUr4iY5zng?9&Hd^k69B)dX21-r(% z5?a;M6T(h;?qlwmNQk9jfTe(lFzGPpp8f#$EdJ}iQ3?4qe;^UfZeN{<<_`|QsWa+T z%&M}tm!OV1Zsb@O_vQRGw0pPcDt_-20k-{&WKVNPFM|B|i7UQlR=!gNi3iO>9E!_w zTCizJ=T6Zt)Lo)m-n0>k7n_{vXX;!|`FUS^E8CH_h8Z!+0hDzS#rOJ3R%j0=IQ9u~ zwVX7_MCUlbV=IzZZED3UOHbTCcdpx6_LWt>lxMul>4^AFAT|om=6T@KEGw)_1*2TQ zval}uHh_9?)yDW^Eq4##xTDe&c#{_^lmVH{2h&S*_y+8W`+j?UPyBMjRQl_A(Fn-4 zUl8^S=VcoWB;wg!4+g#13z-2up590o6kv-TG8ui}&u2})ASiK$;gf&uU2Fcxnk?YO zc6UvDso&ORStxyRs!`E>&HXxQ5=gjzGty!2coA*HVEWK#09cz>mW`(l+vD7J*fKmY z82uB|G{we)EQiit8yz%n)g|5&zINmt2JOnEMkpz>XxXolSf-0Se^>G~Vj;+N66!lzt)% zn37tX?A=j%fqiX_*GVK;Hi0HQ=};L1O&lNwy}{svFVNC-VJN+z3+A{s%W6&O@&l$9 zWtxKljdNf468Tpc|1w~)Ui|7?Oik*BqgVNnnSxvWsj&Zr9Y#=02U~l*acdt?;Vz{W zK?Loum-nq0aBoXVj;jK;logY1cQ!1Dln0TOe*~;ZX6LZvyrdAOh#y|?!00@1SimZ> zrvA*_5jS!dta~gmu32EjExoeM?ri?lO(Jk_TIX_aPUiMb3|)d_pKXo}>^*H`+Yx2B zxwd~t1E(k9Oy&wp8EO22k*!1dgye~)Ztx7!f^r0;0hE#L<_>I0;Kh{R9Rd&$C2|jl zD0wY(N!kUuEa{wQaW|nCR|LAVeMO~7A?1x3KzuMI88*+%}fpmY=0p*{-j2V$F@=aq9qnib}o;yVAVE`)iKQKZw*EZto8mx|e z-w?--F~|1OvLGz_$Re|-ksLQV-d9q)!i2%>@2pt8Sif!JIFB-GVolQzdRudC2;$Si zp~`;x`5Yr4s9(0)VLD1Fax z)t;}lcVjO9SRFk=d($~R9(_yHRbj`ljo%%t!M5f$5MX(z!)Xi5e*KO!l%qW+(~n*6 zj|5_^<_2Pi%`p?6@1kuD-kTMLCRMy8$hQFs_9&V)9Hcn|kHnc_JtEDTZcqIDn{N#J zPcFc$d8Cf=KYR|w1>Y9cZL-jfXwNStqZHE)&S*DRCd#gOujyk;*_62`geA&D;DY14 z@;7QrKz9uT$78x#rCU3ZfY0USu4xX18;(};Ta4`(pT!@aEJ^16XgSrS{DNaJ3~7pQ zRKx(AbP_$)mi^g(I#G0$&KSRXI?*kB;pL+#;q+T!l(q&m^U^ ztmk5acXVJ4ionGUiE0_74e!$>Omf6Jgh^>9lv!V3PUwHNJ$-6$g+pQ0)B(rfs7|QS z{P8CPcx63xF{rqkB^*H|HWFIaM!eYR7S|8t-leQbTZHdCn8cpO6_FWL#%{35Ml>BS zo4kRh_7-;hr(jN$1pwUvM3D_iDE~ONSsW++H3X8|8UuH#liQ9s?1sH|_AdN2e}>tz z+%5d$={e$M{+1QG03-c;v?dCe{A$^dC|%7Fl#hreUuYi`zeqP|%UE2h*YZ{t#K{C? zf74t|5xVjD1N!fpkUi*$r@7JaxGrdx{_&R_%~>R$ zBh)T5Zv^&o_0*BtHU>j5)(qrV5gz`pPmTfw?f|JDh&Iz-Ioz`gn5e;^P4U59bS zaEzYX-{L*^gBh~9WG#37sSeB%SAHcTf;)3$jEz7R*W|g!*xCu=ORzYAf`@X)Rv{$K z6ja5VJB@8XrB-kn^kM#kYtqq$ru69VGxgH!U#@#yfcf;qfuzIBgv0^_!zRhRsby#y z(Kl$f8NWMYBVnCk{(n<-U-JYqhj@^K2&DMWqbDF4q$JB^)`vut2Lwl?Bhxzn<9FvT zEQ17%hZcyMcS}_M8VCW9QZ^aphay>SP3OKSQ>V1-o?Ug$0{K|rANBdv)@=U@4(AUe zUc5Z42qj0>*}6Mz^fpWD{yXe>k1Yz4pUKW8g=C1Q2H4;Bn%FXMV7K0VbncS0C0TW- z&Xz0tU06_H59o4uS(J$HE>O%wM)lm0}%DjO{Oc$Y^FnS}|2J<#A( zY}bU{ye0OISno{gt8uXUSU<B$IqM~kDT&$+|a(r!x*}MWscls1|KJB)H!TeeL zmeU`zY*!kZPL<_rE+jPyE3P8k_L(ofP)?NJ#a8C>3P6c}D`MShu6SH@9lpDHVi8@J zp0lo0t%lTrXmqEAD-!4OEDo4D_$d>x&n714rb7OAEW~ocmm#U0R}p&KK_jG)Atc#l z1#C=cLkRFXd{rQG4PtdDd;UhIY9%6snYB1nQ-Uj$=k@sVn_`D3kyi5|kocyS_Xc8G zak&-%>Ui>IYDB)pthX|NSW(2KG=|$lGOI4%rA%v4foafZxOWb(1BufR5^Wh^Luf8j zJC?i+U+A$gCz$j2_J&;%(U}^HZ!ZE)U`!Y2eiYzIf&9<(T3_!KFEUD?{5j$V|Af^h z9jboT`78o&zLjs(a23(HB1}Q7a2}IxO*gHa=cqlCLb}%8IO^*w{ln3*aB;d9XQJYR zcopQNqJ@dz6ik0M^-s$@Nw$6SwbvuV9mtvMwXkb?ip1NQrY|j6ZS@R{pk(|+FX1JB zx&8+ykTjtSWkaT2rG;yp8?B2|*Bcrx(_$<@*6Fx9YyKe|$l~a2;LtLvd2XBk4}0Gp z4`tf_KV={7vnkuwMoIR`(_y!Sgd)_Vvb!Br5;;eqoKnu`9-9)zV=IcBvWPGwF|=elQx8Dx9Dzr$a@dA)jVT65p`b=}wXIlMpb&--dBDJeOxTI(;O zdCjz>L=Lopr2mh!nzT)Q8j>K`8*1;f`~~%-_#+y1sf%?gBK4zA5`dL;M_bv`UW;T# zUx~q$y3(z&Lz!)r_I~g!8S5K4gVXJP+eupoUhLj!V(Mh2>N3kpgHx>-ZBrlD&qqtp z9d>p>887yXkERu=>?SFVs<&QT=hAVy@Ym zN@$&_(~Xxl6{5V_3*CncTcJ3;;peIH4VUy(x&Ic4avJ~IL0AZ3vWPLwY=3$(@F-AA zx&k^zZJ@_*zD;as4O*&+td7FZljX;I*sqUh%W!>Q$1|^gD8t}C;Ig1y(Kuw@nHMrL zaTo&X!2EnGM1Kd>OVIrQPh2VE+TSs*eG~d?zlgq$S~^*98x;!>Z0oMgUHb~NsL^}q**{RrECpE+ ztKS%DXYrTb<22jz(-{+QB0eW=Tou!?Q+H@MaPnk#cQJI;=3i&W`Fl#fknCS3%@g-7 zEDV$Tsv=;^G`Vpe!RaOga%2oGjcbbO{2SN;kvK!ljL-E@e!d^VT7vBkzKlBr&flTM zis!Xh;-w5BcZ|iwh&~w$`HS9!IrIv%-o)OQSSv?d-P}GqktWy+?X?3gf6TSFLO+R! z496OBi|p!(H8h0ePIHFju|`!`7<$yPUcDtcU(`;Q2PddVL|>b!rwQktZgzfpT1bKZ zhTu0QoML{tSN#NQS(~~HFW^7qn@P^&SQo1N4)K`s zQ#cxp>S7tK8pY5S{rKEhxH!*g3c+C{2v{vsU9n~^U4LWvtvt7&OxJ`#`w=;>gwj^o zObAtW1N-F)S=Oa2A$av2)u@Tnq8TpZV+|A4Xnhwa+Lj0&R9VGKYr%&)*K!$MqYa(n zTlvz9S&Lf$l|s2C6&mMQP7;TE(v%RKd97T8gEWDfuOqAlab~3DP>eF@)tI}`*LD6Y zSZ4#KR4n&3f9UC$``T|N#cr(Q@ZdzPTUXh8voHt{<{g7_f|2cHeYnErOH9whnGSWq zP%)Vb+!GEtiXZ0NGb@x?{-13JpyUGaTS0sg5!>fJJ*{Z&H5bjjRWt41(A{LO zFmua%9=8>>-nY~A-jG)$aj%!r9om#B`UNXaDs0s_K6G-G zv}87rz&zflBb5S=d8n zl$#%}mqEMLF;e*)ZS0p`^)wglQ>UGwVzq8I>g%xMB;OkU-8%!cG)En*v<;@2^Yaqv z5hG3^R~u)hS}bNo`@}mF?9jstNDVIdZ!HbXGjK>;(jFpHt zxZ@XKAeVaio!=*qy*xFWJ#xnst5H%7tbkXM8PxjK%hHmPld7s_4KE^#ib|TH{P(wI z0r~RQ(J1L!j!ZIoHwT`YfZ%uf3l;#OO()wSBmJ0qE#3 z9wnU}0~rhQ_aRs@^M9fZ1LsvOs?#!3MAR^+j5SG*CcK4&!RC`J5~B*N9S}>D&Ke3m zW_zeEtd&==VGaTINLtu4Y=oT-WDx>~K=$keHkX{^s954pm|OLW_C&$G1E~hW`9qVz zCjrMQB^#c}&oIhOaG|9rw2fZKlzIdB)?QZN=6`7bIcWBN;l~SfddiD(bn@3_X7nKpuEROY@Oxc=M`2mY5(KD_+(LnO!cxc~d# zD4JvR)>mYvY~_|JS(UpU#mq|5?wgSuz%736IuAg>eCJ+p;-a4IMOEx%-C)UGyS&j? zJ}=^e&&lvqXs;E*=jvU&VNGtj#<#WivOc%^Z_0YigrDAM+UK z5F|zNa+y?vOw2sGNL-0*<(zgA&Mjntu+?aPKlW}JcesXz3v-vi||# zvd?SgbqH`|SCIW<+L~;NNXbfo;_utF3)5p^WRlsM1DEtz6gDMWo?)>>DOii8^J!bs zBMkIriS{hDf$G_z3RH&*vwePWE@K|9#~%^ouB&5+d0@%{$B0Nti5&)6ym=rAn@cb+ zM4$xI?~o6i803cg<>-;~t?~28W^uXME~gIC-m7iYc7(TYlH;st_C(9|NUkr7ubGaQrj3@L zuchqI&R#u7)5P$Drv~;r@u3N__||&R{opMn{T6x&*rKaAz;KV2Ws=A}tkv6FW7)CW zC9Zd1ERrSn@;g?|fhg?_dus8O@mx}Pn5DhLq#UpUE==$ar^gmP{l@mC-Jsqb^ccWUhZ4h{n1Kge!h*GPd`sBo3;94D~0*BuddDCY&{DXpEJx%lmtL?T%G|Y z1jzha_?!-0Tlv5;9zfy&G9B7$!3))(-b)nGo-GG=%zpU+zff*$H=5wNoZFjN_GgC zU!`ht0cRZx_rASMuQxV(t{BYc6Fe(4xZ-7tN9CHa8WCkPEXH{A(c`Vdph{@dD4b`l zchPK9B2!pNy{w*EnL!)!nsrwni9Su}kzg^9IP>+6*WMT@+%b12Ff56-?0c= zVP=Ma0mWV`_7{NO zyzgl@QR)Vz2B)ISKIR$?u3s5`w%RYFjgY|$HI}S$ze`=AXw%tLkVYyhqX{5d$g;*RR{vb2hGNBu{(VN)@7h`@)+QV|!hrV5NJ(^0W$Hfy zuf$5!k;ctp;l&id{??Qu(LSq}nH^U(_defQ{-kGe3`X#zY0Bdku!ja$VZlby`TO~K z&A#)^y)rNUSRh8TbiFyQ5LnP3_%Zov8(XJ=)u9P$rj8Cof+P>m`(_!?Lpdns9FFZr zV!EW{LQR@;Uo=k|P^rB(%Nj?l=PC3GjMFda{jw@b^f&C~s_U#@Gyo=jlNBR;W&oWq z02>DUlF8uFfk%r3c@hSzY8i17VEAAvF8%;Xg`HRs`DtGygSQ`} zU3%3-#-QgG*nnwToAuS(4Tn1nmw4jI5VaggO9pKi-jf8zr1!K!eS}j7==WAeft;m1 zvowF8>LZ$T5bcC`3p6*hGOc4zJB>o12h()j90W?eL4R6=u`>5Pms>DR#Xm5YCJ=MQ zRIoE0p9BUGR`m@7xv!*@M2(XErXunF$WC&xQckmFX)T|wHgwm3au%w=C*3FZRqM`J zK@HwvEUoS%_v|sK8*}F)RPyoyR1)Er2XfO@Myw~_4;>@5QvEf_X|2>$hi3ns7gTFY z{2WcpXU^B$>NV$ijn#vDDxfEC&cFH}>3tL`s{-==EtaL*qs#ak0W;RMOZW=$25yX> zZ&6hyzcQTehor|Xe4?UXam+}UmW($sr}+z*S8n@NDSs1B?+(6#p ztL!oyr5MqWmUE0WLvwaL+cxun;_`9KHIuARqd>jwy1`nH>ckDwGN{DDZVZKsf3SWc zV;wapKLqk(TDHS4!@-M<-tPXD=_^4OC58<~xqfM8NWe8*XQGjW>d9-WSOcC9nKAto z(62&C1?!^`$A(Reb|HP`mRBRI0$Y!hmWE{zW^{)GSC323mbI-7(H!5yCTNIwy{m9? z4j)EzwaT5#)-0>`;(_fe<|B!H#nx2^0%Vww@)95vJ0#El9UBN0CgGk3u>JxS4isyA z!gzYj`*{4!h61UF96<+s|Ga?12!8qidwil8#Wq_!sY|m9{W^VTCV7KefqtTR8Pmnd zzhoMB?HZ^LFmJ6_5ig*r)}hkjl@KiN;xH6gX?@Bf8EM~{N-WU6tCFqrNr2Wt;b79F z^f4UQa}h*cx@zJJoj4&V}Z?9GhpTVrADz+#0aQtNb6 za}pf#RlO1f>64XFY1XHESsGJGUL+9Zqy5r-OmoJ!XnfUSN+ZzPl-Q11X6j}6CkvKO zMHL6O0z*#m@*nK#Kc#^CEG=3grq^f#R|9dRg`r?4Vl||2O!fa|&}>OsfGLFRFms0u zg=iWr({Cq0Y_c|4=UhjCPQ&Ph6`QS{2JKp`dlEn`u*pIDR9qF%L zJ1=<&Yczv z=0gqODm%N$Aas54#z5uX%o{I?ij)MJ3>f&Mftbwk(_3Oa%dK2;oTh^f#%?;g9L$IS zjwMrBcq^LjiwOqQHJN>}Q|kqDZCL7mJ7KJP?94b$rAf0iN~-fIi*OTm=Hp9bsBn4T zF*I55<5uTY>0O$x2Jf*}t@)L?$parS`<_=i8;BMjZH`w6)SfLd1(jJ+()&nS>&q)66KA9XzXi`va(T zz=fFjL>bAF+H+EnUb9oir6^UvriLog6nGkVWO*f}rL}*$uM)DClay5DpqG05IVVe1 znZmTEz=ag{T8rZkac^@+2$K7y3K`T7H$Tbfq%DRFH`B7H3%g6{MY9>HIF?c-`0+hP zOMagn%~w}k_52ilWGg7o=D?0YoXG5*jc5m^5<+_W zl*FN|o|4c%*Q(V<5O#y$(;S!p zXSL?QyD*UBeLVN_Jr+cZpBF@23=szZ2KcGdCs{w3o*PyYJpCX~y9spF&0Yz~49^82 zJdTWT*PkiHtiFDtO?Rx!)<$O}R!vpg<|3q&jAiGx`exsZiglYTMbm1aAmDV3Plt3} zhtB9LYR4>L-nyN;!L?N-RE;d8qboGovub0u1x8t|iaSPpJS71=|Ah?a>che}uBs4) zvc{zQx`L#ovmY{GA~xs|LZG;8ju0sSqX*gInJ%?gSA(t3lHAC|imZME=F%#h8H+3c zg_k4M;|w5=QIdm8?#H5k);=~+7`qpGt&l_TAaNh7)NMxL-*3iH<7b9B5V_uDs{^@l z&nxumef#+ae3-CO_KN-Hs(Eh1kt$||eCfxv`0Tbn{F?zWcI}oPI5A;7_ARJKd{YtE zuqyY$gv+oqgtB9C0X376YEqz-dt5M7R>xK_17JdOs*c)v@=mn7M;6vV;P>n&e{PwY zLa1SvWO>|)9eb}L*ZbK67&KH>*~=mt$@4UGrRra_8SzuM4GXuJZ&RoS@4ZN9x94wk zdDhg&Q|vm*>wt<~9>8Rsr}X|-hKXK)16YT3Fk0=Qj8;CDp~jSzKWZ|sKTA%VM2(%h zCD?k?&im}oW}Vs!mcxeK$1dp8O?<>eFX6CRAHrl(R2nG&)7P1gSm8{1_89tGHqyvk zU-F#kVEhG%DS{li9&^RPVH{8Ap}t?11K$oKRaDmJ+sOHE{e8J_iPFZ=A~?7=#hp*l-&SMA9GEm3m^ zcbv$w1e*)`967`8&v%#+HQSuQ|8W^F+qs&ERYI7nE6?rPGy{&x<#L-@_JyM(MOcdx z$F1J93eydyLxY^svJG;zSh<|_&AlZEp3qwePc+HmUWr-c4%9W$ce_L1)6%&cm~KZ5 zKW1J{q=Ly((#0fcgId2iyxXb2!?uP%uOsaJ3;9?$jfM4401lhY;Y6?63qHguE7Xr( zz;QPc)~Hfo>&m>t5}!MA-FPR0OPHUq zE9@!01<1-ST<5S$0QG4sW+R#yhqIv_i8r`!bnX+^;k1lA$Rz-QK&W0NFl&%h)ZO^dm=0)dGeO@|tEwX$j z`c0{^sOtZ>!#Snv1<1#&9lMXMhmMpThda;#7A>^6Anc?gksD)m&&l07V>hwBL4W=> zDIMij`bTK!aG@DTII@m?+Ejoa(>&hyR+Q!{BN~_y*=x3PzxjOgU?`11c@_)8Y;bgm z&@~6I&uQhBHom(0hxw}>ZQx0`7@+nN5VWzSNcnS7p`g)#jnF=+1Zn;6GJ7xct3$^a$4>CKZA&Gj`Z_%w*@n)N z2wTNG-e-vt`5rU4g&xN(umf2DI|R(&7jlm^zdCe_aYPQCA{I?*7OrGMoj|Iutxga2 z7V_q_%q13_$`rC4swnS-*m3qz$TXOoD^I~}=yvPx;S}`7SpV3rd(LWf!&NN0a3s3$ z|FA)fg?}$`+3ir=e~0PL$QVk?b6N=Y+I~ls zX2C62WWIzMmPeYo_&G_PBky1&dc`joXOs+kf_D91y-7Ni zK+j;(qN-rPhbh0qVL>yDbFHEx;9RTOPigY!F+!20ygNg=hY3IT)(qVz*iG4oieqY4 ztkbQQVps6dTKE_ht6hJ`s(E`smPCwk*yVdGl&+SpGUS8ORe#Ur{|urEBmn1FgI71X zr)yJnxfm)SLY0U?KF`1Nd}dTxmN3;yiO=}>JC=>C-)Tg)AO}G<(f78Yv3~UUip@4w zC*Q`d2A#XQEVV2B-Fe|bbpMIyT#@SX5j=3qu zKS@Y3TjO#cxAMu7?Su&f>-;VqoRr%I8&RBpF~zL!k(_|HUwQUqw!Yg^kQ}Jj ztN*RzjsnO_lGldBZ5Fa{ki~6Ui@zY)bR$HP_k67rD#zEk>zX=1io+8z4eYYDxWI|` z&Z^N{2eZ0n%GH8ho*^yV;$-2&dY|`w^`n4Rs?dH=x(dlB3(6_#vOK% zw^U6~lQvRpO*G=m-YVzx$8jUIiSlCG?CuFNZ!1+`Y&51Yw;XH!D^kmP*#{C;^kCrX z5&vWBy)}J0%f#HN(05HquDV5W7&YNe$KG&1#4wSR2o_xSgZ8kOJy{{D1K$$#R zJNfZlj-g9J-y~OQzpZK3wT|t(XERbJN8W4EHYHKvPX_Z3)qyV2{$W+@jvVnj1}%>z zjLP<_;6ze0?<3SBD>}>KxX`P%!j?qwxqY)XOo7LfWOOFyiQRhCUr>cqsy7PFxfpdo7Sb^Q|GLF2MoDoOsTYgf}w~-=r`Fa zqYlLj!*SU$5zv+V1o~pRGrvkqj~Ny8jliE_<{$Eh^1B_OF1pTrx%9KOH(j5`#)iy{ zMhDEEgkwpWpSW8B3Ay2Dt+E#a7o2Pc$8?;@m%q+&^a09+!|3d}u%!ME>R6zJK>$3z zr}D(Ihd3Aj$Jn`f(%!XBr)ufJB=0~nkC?oSj&l0wj|?HpMk~XFgxJSekF?9H4^)A^ zfSiGVzV24)O)u>1tk~Nt4!OVYmoFdGL~aD9E*L>RUF)ADiWo!g@gnX&&2NLtl|yTU zg~?^Jv-f?q8m)f9;Y2W>Pn&I+p4fGeGMzI*drIjsU-{Kt?qmP@?w4O4TprRVeD$rN z{sA$G^^WVW*rp`K+Z}C4%JTQUB2IoQqoyvtfw$wP)7zd$7k~19`Mb5HlhZGTMB;9X zr|V8`y}0e{`g**8w&7{9YlS}=AR%I?NbgVtt`j(se#t#RHCwfNl-Ue|x8c!cphs#aMCrUKQS z#&`?83>^E);LrzU?I$@uo}QJ?{oaeza&aQ^Wluo(H|RN7kB`v-o4iDGCiPqRR?xcy zT&WFr@7j&!IEzb3U6|;^{c*i-^m_AbP^L^yx3eoHyZS4)vRnOr!$mG*(O{P#z71ety%<{i~SQc_fx37(2 z>oVI`G&>@k+d57y&zhhRWnDkzK9^NPn@6f8>E%m)qY&Bey*fw*KvuP@4RIEi3GDV( z&gD^^A2KW$tv{$NJAYhzUA}P8wB+iW>sIsirMC_}-*#Mj%GJ>;U|W|FIlVRM?cJo9QhH!# z$GFGl^#{mj36X8 ztWdx^^HHwyfkKxmTEdXSM;6|G_44Igu0P}k#9sN`W^5?NYOTWid8)ULMb(i2M7AC7 z+CMPiZ6gtPE*eJaORBkQr9aYf*n0C;;I~AbK9#8xx~_J3(^(Pt&&Z~;@kuc$|43BL zSMuE|r!irDB=_LWu9HWP_BW>NK7QPEaK+K1C8fun9H^X$TY5X1rjX z)Ek!D_d2DFDJu%)#EvCf5^o8LAChz`%;n1qd+c~A=K*5kGB!ZafcnLY_z^yxnN}x< z8%jL9q*?3EuvXtVWKgj2!!EJ5I;kzEV+({yXT7Uee>@#3pFQqmXjsJ0fBsKMKx7T{ z&=bRl=U%+`tz-P(ygQDjwc*+waX1w1p*UiDW0nGlft!eV+*2->|CqbD%#E1m`3T#& zBF4=vrw=T#U~yJs6L;YSV%|2Mzg>wyzit`{zjt^dRc8KrX@U(!c_4#+8T$q1`i@Ed z?DdXqGSFM+@$VPde#;nuJ62@FBZDFwWQ;Wp5#5H8BY zHEv=_Xy~1JAj!S)(ymz~C)+lXnPvH9Gt2(yC2 zz0>32aVS_Yd;4It+>X0;38M>MNfw0LWspkw)ji;X6^sk+$zOEA6Q94}3v@x-UAuN; z7nHy*nARYkxMx*V+OOC!D`N-6;UGEIt422XL=+kc?!l#Oak1UUa5$Xj69rfK(^{A0 zhVpK4iOb1pgYm2B>n}_ml2xXiCQf9HoT7M}r0S}`zvC*to$V}f^=zAIwy4d+7_Y-p(1-_rP z?pLEh5=J`I9pzM;-p9ggNLH%(6BPuDrefLkj_U)|lFWO1l&NG>gVCbj-xdh+0j zzv04G_;>poj2D=aO_Ga6%A?I6-}^9-A2j1A1e^1u@@ZmH2T?;u!G@-eet=zE7fe7- z_O|SWy$J=k2|C789|4I! zrn{HDaKXQWb~_+fIy9ttU4DM8t9Gvo+rEXZm1%I*a(l@1xK^==!TNZJ3R_NGC?l%@ndmrZdJ4!%3wu`!?L>v|A0H(fUW$fpU^5Y+4b!2*nZe;-Jffp z3p;ydh9KAT={&283|k@a+yHS9SzZ;H(BH$cou~>IW9@7=eYoZZ6e+m9Kszbyq^j?& zV?1S8F_@ZZP(Cg<6lJGUOooSOw3guZ|Bz?3iE)GAF^5GrKqdi)TmA;w{9IoA-Vjj9 zSdH2eJ(ZLT1|rgkIVKbF*@j?lS`3MKFSa~t{RxW+h!4kZEV@g~m)vDDmsig$>n=x6 z7Su}^h|A05NPW$?Nm1TD!AGskz(YKHGjKxZLpRudm&q{yxWlU6w~qMob8#6P!K3jT z=-~?C2V9sbOb2e4iYUAZsv`z-(p$vWtsm;LyLo7=M8(8i56##2f?U%*J1NT6dKsDx zNM6m)6W{It_Lp;2ysf{4=0BF7%Y7@nnx$X54!o983hT94^X%DH$Ni_yv7$y&0KDr}GoC%|kw+5q@9?H&k>FUyhs3eL}Kac8ns|A9n<0da>?QpWik#J_9uNPRd{K9~mY_#lMlp)$vJ9B=P% zr4HG(znGok%bgb0kXKN$Q5%7c`_JGa>}l=ZuO_zlRx7{szIEk*SoWsJs9W`{v|vlj zwMDBen{$=5RGb0h)P3h4VmNrjW7uY4EQ9LQa5He|&BN*rEx1{z)!*kig zb6LpbjOclv#1|O(x=QV(Q)WlJa)-S{LPI_Ba8g^jGzC|B-Sx*@fY&?5VP&QL&-52Q zP1SFh6F6VU&p&z>IjoE;%ms;iP>St2&B^h9DbLzFO8^V{dw6RmciI|xD$KLR6Yu1V zRy2OAUQleH_jv6|zRKSijhTi@4U3#>loiL~z*UHFzK&-a1hnLBnM?jdniSVdO$(m> z`=QiQ|8C__mu)i*3NusZS49#2_z~0Asw}~S8*TQ*Y$VIAo$BM*T(~gJB2F8ZB2xsn zxe13x(ycyLSqR>7d4HxQVC8?x91Qe$jINi*wf%z}p$F_B-K^kH_D-(p%54gRB_HA^QeTzn_v2Uce$Fyi*RQ z4cFr#F4nUS-V@HMnCUKXyMoXfiM=qvuYPov2V^|K4bUrK`-Qa}H_&^osJE{2u6SY; zsx1ZKwf0$?Ug6oJLcG8^9?GzIqS99916wCwCmnE_yk6{xOhm;RX5@wI@#i!f=SA}2 zcCP4lN=kcAQIG>e>(6X=z6soMikKJZ1T`8Rn83Qq0eV7;wG8SYe>uQskj zquO=*v!n8dhkZJw2tuJ%ekbmua1gCQQ^Sep8X-nop$i4-2M2rKY&TGnHqhH7n-R_t zP7$lxe{~w~l+`Of>CKxeRw5 zFDjBn2nWOo1_^Q%Hzr-=Sa<18{p*E1MQ4WcMF^O+;9;8FC3aOR*xRnPFmb0~;`-6V zCBzu$(a~9v5UIayPI@e!SRxq2Ig;W#3J$uozFcbOt4ow14IOE;$~G|_))ITl8-ndp zFzSAxc&)%Xv>3G46Z5D@n(z<=2iXxl{OaTQrws4T@);Kg_yrytZ{m`5>PdJt6eXb1 zYJyD_%UPL2=ypQ)-ei}wv`b0J(fZUC+>kJEc$2I4<_C2qt5#d~1_jh@z3D2&w|XaE z-B#hu>h&TM|>t*gSf^b%d)j5nWCg!ab%Gf=gJAmg8GM1Ay=Xln^scvBx%7l#X zEoYMLv6H82og;B$`xyQYQUC}HaBllVFD?6K{&XJqc%qRo9pUS(p9~KPU&t2yWYokUP-e&Ks zDt>hpnS`UPEzF1()okMMx8m2{I`$jdslUS8z|xP*^z^&ycgo~;=dFMp4I6wkgd>4NW)h2Y znTG4#%U1q+MO~*|WJG5ZGTV0Nb&_Z+aR-U_#!g4QTMS1eWL(>AJq>vrZ zUOY8tQ=sRDHksKfQ10xQ&}j|NiF*L~F>;@7Hs~r4YoW+z?#;(bbB}wrQIC52;t6a1 zePt_`*BfxAib}_2-k~XYRAQjV)aWhkx9jAur_4^b`MAz_DQzYV{dy`J4tT0&rIrCl zdet?wu%LbWauH-T)1NVe#s+Y%H^6>Y_&vnm08hMY2bsS_A&<3#9v7r-t)~^7!zD_m$-v_Hoxez^k4Dk|mg47R-6%OCsfH zc!dGnf99mnHNn|UlXGhR#j~{&VH%p)+?vANf_Q-}3i=JMTsgRP@_spyOV_T~q#5>f zV9mNpAy5I3pIcP>?h3*y#67#W+(ONOop-c=xRtIB@fSZP!m!yIML4^5RP)#Wu$5MJ z5^c(<$!Hhhtuw(IE6cPQ0!g5+!;G-wwY1)JyKTm(=YX3G%@E}17>1@GS3 z&{=OgkdtyGu~t0sYwWgfqSdh5#yIkrR`9wQVQ7$6tK}4b{Rc(cLf+gCZSh0R-h|!L zpfUIiyb)^wgTcZbwqAC_K=`sQN$TryrE*$jBft7@$P8J1toB0hsIUfd4kor$yjvDl zFT)v(;U9%GqkzW+HYw^zc!=GyWBXq(p}zgx8;7cXsBfh^cHH!JN$8aGKqt@povLMw z&;&^lFf96*49si$&bASiq}h1eqeu7agHdGY1~Bn8yT@2mw(PrvsB`1GAvuLnxulW6 zV2^+Qj`_G)WXsQ-6f}Si-fj#DG_4uB<$7a(&P2tBly0yaROaDoQj9Hf;jf4G(>`t~ z>*Djx_Mc8G9`VFpys9-?T2Z9=+gSD4mHXyMm+9I~IgVfkkReI99?Q;^WMS5EtfXY= zodHR(K&!mzu3ekZS0e9WFKQH$de*${wvLP2BdyP4dS*~bWp4d}b$K_4t%qe(@M=SF zfh_{<@Q=l+QJJM23vg}}pX?)TiWFW6L4vTR^t3FE0DEn_|PQ$d(??g5v} z(QKw7CYCd2WJN+8080xSCi^48S`UjumOh7hKE|VIwo}+Q=S;v9oo@ge@>dXnIe3q` zsi?$^4nRfFHjiOI4W>%qM~`F+U7T}}Fvqc9GRLr(<}PfS!g%8OIj%aTR0J2!5!%Fl zVF&a8fAz$W;mpI+zrss#(+3m;bVxDl8`*?MZox(21$)3U`XzIGg>8;|Q?Vz$!ZycC z;mSH+f{VmqCawWnr7f5zi7F8nTa|kgd&1O4zblIpck&l_kB0}jH;UIQ9%0O25CX!_ zoV+-{3m;VaU0QhIb4p*Zh~GgF!`~bphSd)ON*PZKF%RpB-}OCnTy$ZzFSszgCNKVy z@URkOx&xkK#;~CesinduhxK;F2H9dxoQqiqSRNfzg_Mh@^~@O?WXDeUVfzlU)46^3 zLbh)aR#$`e{a>xM|6{0W%ctuF)}&+2H;RjV$q8PclK#$X?AM;SMAH%WwD|;cy!y_8t08?Ue5K(gT@S^NA)#Isyj5 z+!-ryyYvp|(=vu0Wn8&7AnsIq-PE;ZJcZa3QduwcBA)D85QbvI@Q7U5gjRcN+C$3p zZjn&m%(awjQ?xCa=6gJjd-Rpzp4Fy?-+de0ku*(>fiF+~++UyUJdotA4= z%A-8Iyu_NC^F%<#-0u2?`_*SV+oB(EI4J|u%X<>qoShjz-rKx+)4il@0}C~jY?UTk1* zxqU~}ane?gykRVuiS6&{Tr>t1Vns!&KP7i()Nz9@NwpLwUvs2CXU@!7amoV zuQL{~Xa214uzqZFY{NFkMGKy|zpsk&Vx+7aNM4J|JSvRXotp)(Fs|lS3_$8eadpKb zr^1k@(TeG);N22C{oRVqAD}XG3ZyEwGhBXY%pyF#>JQBLu+kpZz~A5C0QvJR%(!=T z0obzx6eJjFYLdMwej#v-K?aZ@FPy~$J_yO&#hEYhlV;G0dlv<{OyHmyABH#2P^n$` ziXuJHq~LbBFPu6DDB)GkVo_udWo>TCrm#opd|d+edJb}oQ4WInSYTH$WM;mE#~S7J zbRBRnqZ3TboH0r@*D*D?8uekI17IuWsM;CPzvxw9pwfJb%DkdmF;qPEJaxT;BEZTv zK^GH=!{Tidq*;w7lT!!8oYQv*0iG6s*Xrxvb#tLrts4EztAKF#*l0IY%c;F@BHLuv z((}SIME@4HPJZ%F-qb@D?{4*~o>BnZW2azxP0QIje)SeXW;K(AdtfmKt6a+({VOeP zcrA2kK!X7>8C4-pj)B_828hAc@2@?nG)e@JY^vwYc15L40FueP!xqW&J==p;)Rtd)Fw_4FR;e~Rv(8y__p%hp-@{h zM1h$i&nmWNo(R|$Vz;e*wAV*S*5>GB{a4&A?d|$cP&V&Trc zMeV(XDa6}5_ZC#$JYnMdA?5?JrqQHYQCMck$yCc+=u&I1st(YQ7ZQF7P>vn(I*$)e zEmRj%G&HpE-7~}g(t4t;?&#FFepYH`XqFyI^rh*}>XhiJ->V$@z`wa~fD{l^tBl~l zaN&THf|{GSiffWM>!f3vIvSo0$pQK^ug^L4sf2p-&Ia)keRHR0!PHXg3$C+lY;r6A zqw4?Q4l6&AL`qV=-VHN_qHFSce`?QKjoGDFw`Rix$_UI*wXldaI3XRmUPKC)N z-l7>z%3TZR0YuoLYfcnhZyzdP?Fv?s$0|wYx6^Jokxj~rgni|=@H&4`DAd%QAT{PF zVRhr<$1zTH>BWl|Jx>JeO*tea?*R4V3{f6xDG(pGZPVv09~XF*Q4U`JLI2%B8NED_ zJ$r!SyHhsDsEx@QLKX7%szN)OY4=cp=0x-6`w{o8b$`O))>sa{PPgk9@U?a-HzVYV z*qk1Wn?46;kGRc&ZT&ZjM`ARi^z9twRw=G+brFl&8QoDoRClDAjqV{rid0nMmT@rY zZ2whjvhTJ($%Al>ZrW_Ar^KTSDttVtg;Sje#zxcqNrpDLv7J*`{diAz_mye@&fff@ zw0G0O`f;$rP6-<;&{kwvJ}k@hjVydP*(@|;dFa#a0M|N)$xk2rC;GE3mAvuYw2&=0 zx2&>I1)-g%pWN*Zb(Ifsotd(0A?rZ#@|{&*P0Zv&-KmGK#_BYM0r}4BTngNKCl3br z36@ol+F}topbMH$Ea=pIWPWu8w9S2Co7LP1AKx8csV>`a}mH%SKslg=R)lX zE7{2aTpSa@#1mLcy^ai3hr2@4vI^N!Uv0#q`x|l6+=h`~1If&9bizcfGjO#={Yd@xr)UvEQ%bsHCBz>zqR+C1Ytd5G3{f zb8?X1OLk_QtfAxBc|g5|I>iti;vhp+`V}7+RG65ZOrJ~&by6xeakQvEJJAWenrIK; zkU6{@^a8RWb+q@@?96lro#N{HSvDC~ZopxmM9Jct#o~_oshufzawgC8XWFziGEGdG z!uFZ>1FH-iZph#T73zkmKvU6&AHeP;4xXriDGRk)jP&3A5c32m)7F7NCmTGWUOfkn zKYZAE!1Y5Xr8Ih{ZGn=!i))8WU3CHAn^4$idizZ^_?YKV^1O`0QS+**&OMQLb{LrA ze5s7b);k05U^$4~@gmT_#@^dr0E=~&poYIipUItVne5KB`@>R@P*VftzgpK=zys!#oJP3%k=T(Jfv(L!Dk+;fecE@OdCKCw*jN(82X_ zXJBk+#Nh%0sP>C}^1^zUU}9RTE0n0rTw4M(?*18p?7D#oe94MXHkX+nLR_L-3R6zV z&gT?mJMqN*BDjuj33p=S*6CnnOB9jc1JhFf2pJ#j!(I3gFq>`i<2^+E%Qp%zt5)?a z0-HOOKQj@Q&W=#3kKJT3krYCJI4(XycW@qhhUGyl#>N6E$)d5SL&f!D)z4VrqCE8O z&h})Y0z`&Dpo$sIVBBXO$@y};yT=%K4U8mX(U724LI`wHWt3;+)+rZ6zPgOvv3K+Z zc1H)fdHDAl5kjV7{(9Ng8TTO-g`t@YQHyHk8iatD73o$2!-~mu6qA(vKCRWkoRfYNDQ20EQ}>7j;CQbqHF#=(2^@HKhe{z(TcX&TET|%7?kP=TrJjGfij_|r|0C` z3EKI7SF+%`bw2!D!oz;zi4g0xm$}<+{^nOK8OA`}!{Q@+0qrrfRx%-S2h+w6(D{-r2TLHY z_^28oerVtMcM9b!WcaioWvX(bXlk{nt3`-CkLkCJcD&0B0rba~C+{@(@ z+938HP4ML3B+~781DecWLgovvH+!ohCr1=!M_yh3@Y(~wrp&!XMMZr%=iM}dbq@%+ z4wr-$+zbe5`ZOe%nJc_QX$@%BpDAf*NFItLIQ?i?UT!{VH{xS~556x;&N+|6Z4T?< zum3cDN%6>AZ2hZZc%b2j_H(pC1EY?rDHzXG_ufLH*`?1_}Pnjq& zCb~Q&+a|q*Wac~%5^fVb#m^=1$8_aaY@u_&Pcr@+)!Nf7%2TqWq$(Y3oG3mRmpJk2 za$LBp$=Hr(V9@Uvbr{j2IavM2Mn7k$at$hBfF-LY8v6xx*cxCG{}vu*ih)Eg&=)qS z03OFeP=k8k9O9O`J0UDFZ>{`JJj8I5<;$LZ5SqU}a|Wvfo!Ep0yD@C_mQtI`P?D*c zW>&!%<%`HZ%o#6V$}xiwnRVgf3ux{(AZUm6#4T2rw{Qu3oc8l$iy0&NzTk-)fl)9w z74Zy|8Y;UilsaSJjTE<3&xA0>?8d4YkhWvy_b+PQ=Ygj+cVTnJ6OYe7v1ad^{R`2g zUSyPjJH@Qh*6#ZZbMh+ z@mZ@qM3LxGJko$|vlbg3pO-H3Iw`ZU{^jKZ(&q5nyIplwjwS;$Zmv9YO$q2!3z**o zY<;qo^H*YpUyf{P|9+_rO%~0q!*|Up_t~gi{@S!QjF&~xPc<-pY5lb+jXG36rDl`r z8p%B4=j~E|*pHe9&;Vdl8mc#<6slphoUCm|wSWdRP%q zb73j}Hzft!;j{&>{@NAHDKlCtdZSSMkqHI3K6x?ijo5}I7WIMiTtF)R%c)(W<>0@j zT`xgoTcQqR%-MKgc_n+xqR0J9nkKM_w{hRxwF|RRk;cfK+XMmlWu@n^n}PQfjxJ`_ z#=~sQv&5Hp+$8|?{~?)ri5CaR_A#EiGiTOgn^Udtz$n+9zMP|OR`p0qomQ1QGo`McQ8OHp!F$r; zLLFk`UJf%DiCsMZoW(W&;oFLW71UyKXg^j^*tf-bO?b_yGoEBmfTub zR|dxxEo9?1EU+>nBFCN_TrV!2He}#*NZTn}-`a zs-#5=-xWSgAy)L9F%@XM@KzzWjRBG?2-;?K;_KyJ%AP*tux-c8#O%~6%JeE=KQ|Sn zsg46PdjrtL5DgAJC`hXvy8>7@ux1Qx&M(IK|HWaM4`%`lIGC%@Uf}5?l-9agTvB!7 z;mVo?9N2d+?F_|3(q|t7ac+9JL)oa~wVG(0Tx#wmM;;5ppx)29h_4Dhg~N;{X; zHAKSt5ujZFvH7#C`{LngtJ6*sKRs}_%F{z^=WtQEmjFu)4fCr*jp*3^4;XL|*l-qH z3ukvx5tJa$(>Wx(V=%;$9-MpYj5@LzWNT+(*X7#l&TjvnEPK4r##@K z+oBdQeV`eoSlF3ijNmv0?(z5TP^*~zklD6Qf!-P#GktEg2}5fc?g};Y4B2<{?P~}d z;6-u#^1;RxD54pULtP{b7~nOC*||+;^H&0>gRYX%et^h5gEK?90>TERlUb&XFwD|0 z;Q$^%sQzE++2zg_g&b3I2K)UN!NLP*ad?`JiUL5tUN5TybvML@tgD1A1puG^Y}4S~ z7Sbt6$geyR)E_Mzut!i6n7>s?s%&v4pWv7SumcgQE!}FRxPUc{`qdUu@*Y^iogc%U zhvClESSSdCtnd3)9b*y2pu0tVwy==tG{5E73duJQZ$-0f1#9B-T*oW0wv1a@h6ACU zKx{VC+@vG0((8=^cil&Xdjh>0INH#TV{LVU1BJc=Ub^-liFdI;;m76pS}I+T_!%(JrxKqWj;gg1wVoX>&XL(si|(PZBN68L!<+zV)t*>8m9 zuXF|z2&kbOyESujO8)0$?In3{F+eI>SIS7qT@g=iS5(aZ9$kCs{vs7{ufx2|nm-Ca zssT%NK{7$S0EAO^$#DB;N9;R4I$I5EG#c+!!{ zeinqkhE{0QRTvM_rCtln_kSrtR=mS%13N1c!oE&HK;8u9tT&mBIu#*mWG7_5EZNdtHK0e&|-JXdLWdq>Ln0tlLQ|7; zAF{ggdLRVT7@-${Tvxu8aiM8be7bYwNW&Q{;OX;Q2)U2~3+HV`N<7cWq6J=tSPAO8DEfn@4GYF*Va|NN|FsnTx2^fd;yXDp%;*hQq zauUO+vquv9VI>|!0Na~il@6jMe;-N=XV$t%qbBegtR*FfcHQYytL|N>g%(+BCAH411!8p@<%3u+S(`+DEoV)5ZxSa*nX zjWv$F-5F}SiOb|yVr&%14j*J2D&kGz!XO%6rl$_L_XQ{1_1YR|;_GKq>DIc}{=w~w zJ$5`cx6lJ}M0PSb7`d&a7caK((%yD=+!D5R_Sk&clRKRw*hc;6i@R3Adu3l6R%LW}jvqa= zE};E)Ec*VVx)@DU;bj1Xz^O5i%IAXX*RO}xHj3ReZ;>*+0Ql%xr);y%slevhGQW8$ z76isixo*^{0KFhs3Fn7;498$FlAmL@t&s!ZVpVQ3wmSDxUV*DdwZc1XLkav_&5KA6 z>2?ZMs858ofU$)nv)n?u%B)vRM;Of*L&)+P^Www3h}7z)4^3t)#Fk+-@9?&KKi%e_ zbW(ZHxB%*I!16}gV2pP2q3>XB{vr^whCs~j>bItpne3r-B?Z#(R#eODc@u>}Mujz! z^Psx}n%ANGl&P5d**e*6+fYASIpZ|;eT-U67FKv!o&u-_H@rI;B18?Tw=V^5@-Gaq z67e&4Md9aRA*sH}JcWas+Z=m7HI9JYpfg0`SSZo%zaHB6o4A59uKYB3$SyiO>?j7r zVaVNvYV!PTWURBgmD&WlMYCwx_Q(K&AUMMR8I{opSdM?SGwwl8g@usRh6mngZ)5CZ zH+=^-uKGh6DEA16b4%@-i1=}C{UI9Vmyqx!z+|#S6fn;8nUe%I9Hy!g>gh)^gc$rW zrsIow%DJgps?HUp-&`jlA)o-qY2Nkp%phzC)7iayx443W5F9rpAV1#U&_O<__g*CT z)s}9)a$W&w?9NsoUsZ1=AN>MmCg4-JiM~eJTU{Ti}IGzgI0{vL{EQgnzpL#=EK5I9H?4XT}4^o zrBrp&t5@I7j+IE5l3ZYwwZVzK&~U@zZy`W4BYDC@(0V5q9IdxkCyQT~-ls+i z$pu+S&kqqGRuVt`I;`ypMy9YCX#8GSSlC(@baEJ(Y57+DYkPHA)z=cqez#QIYu5r|T`7xEvK;%oR^zCTl9ity9p+e~H!%N=0u< zw}gZQn5l1y@|cf-b1Md}zn9pC2R>}e{M~#7DKZG}4Sa4V1*R=vjK8K9i|H283e6WU z>k`O4S$Ju0s&Es$>^5HvKWDvcYX*s%hiN}qPZrSB&xQlTc0J1y%379_qF^jGwe{IWW*1S*WhA5!2~FXqDeA zoUa%}mE_y#-~Rgb4H1&8ocwp|gJ`+gC%lR+U0h=P$-!F$@Nbh!Pd(WqLMRyFJ$0Sa>nU5jSdB`@9A!Ehi*ic51Sp5c6(Vzc>`Hn98>!#4oKL6W5 z7Oh-%fQc8u6vB}`{HKHO0SBjyV&68sZG13(`qveG)-$xJ1D5Sai4$86T>l{|IvT2= zP&&=FlXB_yZ0ns2vCZiX28B;pnW#FdKmBQB$p5VZc`}5c^GamzUR|WDgR8))l^&yw z&9)g6C!A(x6Zw->taX1poPEzpXK!0Jzoi*Q%v{~Qu{~*3E^sQFSC5F4>(16?i;GJ( zN`L0%{2p&G1ZCHUUcoyzd3335qe%-v7clT*v7vJ}E49*7Us?LLd9LJ1RVi0kAF43J zC)hU9<~q@&PpO?|Jh0x>sD25(tJj~jQCalmA=ily+Tt&tXSKba&~%;D93qF#jHQxh zXEJA9vd9CJ*lAr)qzfC@WLY{Yux*^)ks%lYEayUhMy#JvevlXuoO z9?Mi_>O!dtC<0ThOBJPvfUI%qLMtjNDkw`Rh^UCjz9b=9zY2(iS_{aoQgC63i0qJ{ z0#OkV5yBoN$PO`VNyzq{=Lum`+kW%D*Z-gEnsM6q^;v$;Z#n0_?{gn<`9?;0tXs=r zKGym8Noz~mpkySTL5KaPSj>2p%_g$;5V(E4{Oylm^C{@T4aZX&m+9dQZ7W9ig}aGq zI#eI-@ghN$%IW;JXPIyJN@7xT!|Q#D9an9)6%`a@Fr0Uc5_TP`aNdy(e^6qpgPZM& zwIkhV8Siu)?a_hw?#<=FRh^IU7s0 zYc(HIeKJOkwGG!edUbV@R=wF3_!bi1R?R9pxagho7cs>2#8BiPjeWa}ze!r9394vE z`q1;kiaxn>c5`AA`Bp1L$(^d#1CwRG2(xzQ12lO4vV*Y5KQtiB+pXd#_#OP4Nf?|61im6_$nq$;bp)a$*(I2Go3X{liaespe2 zL0A3t74e94^|Y_g*{@BA!X8iqbK~_&bruN1cVnDpa_UPB*ZN8o4<)Fv*>zW(~SU9gXDFu%vF^(EhuZh8%<_|ROO}r6mI%oQYF(f z!pm^UiF)!wT>#gR0QE%DSkWu@0Ub&xWd)n?E8q(y%W| zYz*Sq@rk;o{h&~qU}RDX5LrF|pUC#x6GYCct_Jn%I(q#{Fpholx4jU(x zyMoW)Qhtp*o*&drZL}mPl-!6_izU<@o+rdX|)_67cOk^F5|*IYrzE5Ea(Ih zYFG57R$EE}P39Dfzgl#Wq>L3^V^e^4=!-%i<(cpy zaxV3185t}#zp~Lcu$p(SH46IsCL-uH=GUj)-6ugS>)S_Kb>2kJ#7NDpVf2!;OkuN* z38c>VX@eDT*zF#vkXjld=W3eUaj&fz`P5N`(s4?)aq$?9=4IdX<#pI!K`lH5oFMxs z5z4aK``?GEGPR8i4so5}L|Hqf9rf&d5gi=dknLi5= z0gFu-zZiNJ?GTIh9VhY&|kC-fE<3Cfx7UG{Hm4Q3q7M-IN%E+1YeM3N2te_ z76A7=1Lr~;q2N969#U!9#F>A9(zR(*ISnstR%Nod_V9{f$;ruEiR14ib|y0xDLnKY zG_b~W7eh8M%a8<*+`m?R+8+D~Z<^}q{Og28;pBDGkn5_T&=ZQzcemvv*Ni~lUB;i& z8uE_zv%nA-d$sZs4E(`Gz|bvHg`<>Rz`Oa2eCvq+`b9?sBNYcDm6;T)b^nTL>&zK2 zGtoxjf~g?@*g~-qfmpYjPCP1v58k-%zZN0w48ZT;SyLt$1cJlNjPbr&LF13CWw~e$ z_VCnb@=ypPD{e#F!{B*eqj$xO*ewDIAx2i51vCC-@ft7$sQ|nk0=Ctj^b^3l_@22m zbJePgyNMi%i3iDMw4PSSAqFadjB7fs4|kXxZ7>+w*`Yq|73{|T21#*gtuM+;Ovi@d zs;F5L22;$Kt%~>390u?TIQgr<>&3i0a2(3%RCmsdIX(P8gegH0r{HK0SAL2AfO^0m zg}QlUnj@uG->L%c1lVpwcSiAHMOg5dA9wuc(2SUN==q0;>$DjXvlV2@;8_(!*6=z6 z;}0@r@?Uzd{P`6P;ELc(6-3_S^*c=YZQKVymJGwkGw|Ayj2?!^`K)}ex z?sceMAaZFGE1y>MrIIt){Zvcd{c@dl|KXUjsyg}RP1kH291ZH_&>8@Qc6dr>yV=kK zVgL^XW>uEZUwp~Qm1z3XFNTYp_E7U&pU@2#7Ogqqv*&gE9L%;S@Bp1#zJUW{CHSFm zc&u>nxV#`I@8IS25K5iy)bW2A=BOu%!y$C8(ks?3&sE8RCIHu+ofE?x*OH;+C)*OI zV!;yckOSG!Fdr)-?AX!bE>QKx?f#nEB6{_8{3>;WS3~2y!*#R-6q!eM|BLo-+dT-P z8jFpT%Hr>sL&8zFR+T5Kwj0xOCfE^iH?OjqkftfcvZwN*xydY->Y^{*j&%!z3N@-V z8OU2CDo=!hpZ#x^HfAp=Mb_FA)^;-8{bf!K2Ql`5V&wH;YUj&0?+&||tA3^DS>9+kwcG z^Uwfu=h?qig=arQcExwdb0`qrS~d55Ut6`(eJhSAmUB^ot_e8oL!J{emNmX zarx<|ulFSwHNv2b4TQpq1Mk%vN0g#Am9w1H*}R0QYP1hOSpX#bFpdAh;k3d9Jn`N% zNyM+U&C8}07d)Lr1lt1q#y|L8H$VElR(|-s8qS$#+{P{3(}(Papp%&(rx=$?5aXKb ziHUADraMS2;Jq}tA6NX_CoVcZ+*FMX2L1nS>@Fn&8j{pQuRc>mNrxYj$SAFHe7T%T z=|yHVO2Mg1Ub~e(!I@CU2;TG4PN|BZ$;vbc<6_g_i=sg+uxnFTsYSI>_LvY%bWHHV zEUD6eH>$&2e9Z}%NMOv+lbFCu;+9cFtCwrP2XUsy2yh%J>WR~T+mNA2KvZ+(k4Tnb86*_(Dx zT5!`lwQ);@MNn5Jb!o1wHYKoBG{cClBfKj1m4-oQyOQ%03Db-Rc|j>ncC)z*Rl3>q z=Z|;KcU8a4XyL^KX9i=(JJrj+*GLmBpWvUARGpob+CwFMcdeAe7O0a(-HHvy`Z=+e z&p$c>Dp8p%87)~u?CTIt3QDO=S0QqMKtN@;o1*&FP;%5v`nH*B+)g$$z|Oxg2jQHa z!@=ubE;S6pY>S4?kWM!Ad1$oDH@qClmk|@4A-%I9na{K)$tqtXB{PnhQbNe>4C}`C zoFu02wM5)!a+HiI(7C?v`t|FaVYot{d@wo0=xQ{gFH1X?H_lXr(~{S1}5*#$>m%%gQ77b0R&UPVZ+Uy zqUPW=HSm@nQ#4L{^EyNkHR-Q?4_$~OppBGaxs!ztSuPZCPg9v_suV5V6i}n?Ns4^R z1955z+-ZU(Fv(=yL$tE{_khK&4D!!Eh(HGL_2#|{+%m%x9xVr$q%o%{fXgNlba=C7 z;QVFcb*NZCzGu%g@%l~!P;lt}z)eD3m1W@vS|Kq-?0@vBkAb%t_+B-lujwRZDV3%q z%Zmq|n#|Qb$z6qdn@xlQW`}306h8WCeV}M&>cUcMrrxRfqg#6wsV-rIZec3ljaomG zvz{{PTr6`i#vDoq_ryt6{AN@QU;!=~vIP@6@YGPP#HiubUrfd$UQ=WI z-xdgbbSQGb|8jCDP+9o?Jz#PtlZAUVUv-5d47Mp+^B^n2u$!sM_~^%L0=MZ&ZzHc} zI4N#i2bXr)lxy5=n(~2YQuFT&F=T?15By&_1$}%LgP*;I!~LM2r4*X(!~;)bdy`gu z;7Fg0o|%|KPQ|E!{5EqV!I@GwiBA_-_%wV+f154HW-;imq+Y|MQ2BPC;82B2l(_w1 z#c(T=X1L2|sbnJo4TmFVhr{5*x1lSNMIq%6JHLJIX{N}ixBdJjLH1!L;{oY6fhar1 zkq0jDrhU|ZcI!D;#f1b1+ZOtiJq@ljJ|7(1*cdFYekJeRPb_+K+tU9J;wR@Q7GFLw z{N20?m+-RM&`gh0P6Jwe)oWTsL_Z4>b28o)T2=G`5*msGzkY&81-0IAd^lP_09Cjc zCwLsKjBCkx%W@?Rk6&*rEFS#kBQexC4mUPQd=#Q}xj*>~@JBkx%4%&b+_%dNdZ*Qp zdemfkJD=!cU8S2tN^|p~z=3@hX1;`nV~Zc*KNNYJgCptbAUkkC|NX zzatK;6DW~E{de9KuTx;w&vje34&9TIf1o#Zb+ImiRc@W5B;cCL&4hCl`F6 z82A1YS;Evl^ZVWBApU%`{EO4luzI(uo8JJE^{>0p44PntJyFuVB{LKBF0&k>mr3J? zj~ZD{oqo>`je@A^jm#<_qtSc2MnX&v4=~I*UV8rnv-;@>@=U+_MdqTYJl9Tvq4*dK zRIIvOg@=7Wsx;oTtgrZBvye7#_{#un^fV}dB{F9ji)Jn|O!h#5gJZXw^sGy|4ppDC z5aI_jx40Q%)#)E13JzA0@q|SWdal-J-472O5`$BBVZ;EUjRYYh;^Z@{+s2id=hO_P z;?&{l)C=EXhXiq=Mck>7xYFYI{C))!NwfP1PMnp4>qF(24|)!p)_rh~w7+)`P>X8Z z!om0yAUe^KgIK(fns#*X_5k6Q`DCj{!6miM)qAn$;b&OW6&vr$W)i|{DY6u z`622ebAz28jMgD$L?nndJ-`71>ur;_WpU{369!ZSiRqg1#`YT@LBwRs;7jf5L?oGD zEVGM$q$TJdwKJRwg4S8YBi{r{{kZeQ4+%FSN#9q)b1xU*F7=+k^ z%)Dz;TqvE&u>w+UY`oc_tD_2SmNFMH!D(ESl}@SLlxvhIMMW$FHv%W7Tzjq7z2C3T zs&u+p1IZSmYvnfx9YePyBOI2@3g}b53V(rLDM~V8R$`x~O0RN{=9Rps8>K zPf8gy+n9!fp+<6TZ(p#+q@$I@CdT=zE(PgHh<>yEpYHq(P~<1XIAh{B-eBxY^YZHi zF6Utpb(}CtaYoZNWVl=PAy4w_YIUOkTH-QMQ6US4WnTw_DX~|+hcY_SOP)X7`pKSU z7_Xj*+KD@G$xpE}(ERKil7mhB&d+%%GiL(EXaAM2zk^KW_%!1KB;W;Eg0jX$C#Rj; zW^{7e)k|G*esO2#%6)O&!UQ?_l_@E`)Pv^({=^rkpQXz5>`SnA^zeFsU@onV`M>Z+ zIJd!RsnxgbOU52l#9G0&N8qdvAle878LhrI!{FhazTDTw9SHE1E=;|0xO zGLuwflLQ4|{AcFXvV0%yIWrZVd<)6w4o?(n0avwhNX)=2?~FTjw66k~oWCMMBz;V= zPaF==Ze#eXQ{50gbyS^x40qF>ez#Mg+Lig20T*&&z6Q`DGb2}2tt{yT*Dk%HcLGD? z1ei&POe&J6M-F?JL9GKKEe|4#r3&c3-H>7-D1(A}4bZB8Z>l)si{#t1{XH}+1$grgRbX{i$*I<%`t)l6n|w%? z{3Sv1v4d3y>YY}0AymQ9?mM9Of$|Bk7N^L{C-xz7_wHG|#^~RR2w#I$R4@TSh>qV% zA|R9L6nt>3jA_sXj^`MC*UUxIc!x#AdVW)duxTz3I!^Vtm{F}YE$;kZ^QSLqmYg*j z@`I+npRUrG7RVvR66V7CwNk5Z4WPt!Bp@>P&94q1MPFsd5!gjm6|#X|0=)?(XNAK! zqgQ!k%hSDprbD}riI<STpB!8}k8GxNw5I($&{PnD3(ooL{MEb}{qp%cj` zP;UR>AQX&|Fe0drdgbw-=nhVA{z0A=i+VcycT^~VQ~cKYv4Gmybc+`-L*8&0!13~3 zf2)f7$jMgAIlnSTM!X12E)m*l&iS=Xrr zJu~M_7^@=b#$jQ18pl@;JmkN9+k=8l5qy}FQ69q5PG4R5Hvol8Cbh zhjI*Y5+6F3$6sAC4$5H4yF|lau!=`*vP{HxnZZFc0%3rU;M-`=fe+mA$x`aS1!*z9 zjycmn>dwznG2g%EIoiX6{raR~o}g8ZYEgWPMDncLf$dO=)0SdrclR#b0m|KEcj*4~9YAlb{Kak*IPE!%tbjr2 zQub-9dm|g}>azuZ0g=O_pVxrQ30`F3Jf>anBzp8;S^oHiOfO4-Yh!+ehC1-a)1QE* zoy0*=P_FB=0)QOoih`03W>2k7$RXEnUG?LmwLXQX~j>K-IT zP7RI$Ryz%9g=amAhJ@!=e26=@rcN_7`G3Nlr(G6U=UHm?!Nb#vS^jQO23&FSN#S^z zx}*;}GZ4R8S-;JzWDs90cqKZC0wOYGb;+kE8k~fafH>+s^RjpvI{CM}XW;23=M_Sz zP3rTHppOUE7W38Rv*X>wgP!*dmW`{RG zv&9Xc-(e)1MYThDTt6>CujuUpEiJ7Bh%xDDpPzK8enTLA8n&cJQr+ts4o{eFcD6+G z6vBPPUw3k80|Litvhf5BJ@WXVkw85G#9i%rn{tep{#{kd31_kYhk$sK?*71=)WB}6 z9eg$4)4bJ=Tj}Sn05xtlW;BMDx0uA?HAXV3;!lajhYsrv1lNRAsw=ur7@tiH{iIN< z47hlD>{0{Cd{54+gRPR~5J-Y@26H~)dSW=Q*V2&I_5N)E<*OTk6dQND>M*@FD-d$M zKKqmZ*Hn&B4}6MBvgM(-G^mI>+8>wsb<#{cQ6Zb+hT#ob+&XamT)J-)w8ZRnwJbZA zM)E7&zaP~~14?dZL(m$FSM3!h@FNPe=bX+h%KNICSP0QCI3HUlRD<|cxwV7In4no^ zXJdg{8axoqnynB6>ANfP(s)m5|_ zMW(E$cmB_5>Hp>C0@K2~yZ^iW1*V5^|JyAFrY9mFahF+_@;~S@F#X#9YmEku9690; z7-*7`lA=rKZ_J`IqDxAw1KstjG!w#Y7ZvIfS{@FkD68w9kwfIf*UOU2w(8*5`|M#i zyytW>iuBje7gT+QIp_4T1_fzpMauJ(q8tQ=9bLkMgE`M?vgzd3MPLl~8u5{lHsJWS zFbUY-Sq2=fs@0&W@54HG#xIW|zosIdA_6Tcc~`m3q-7M#`lR_OX#qlwyO)t&d|JOma9HuU3{W$a`*%ESmWJZd z`SK|hQY-WBGc#qYEh6q)Z|{+q$@~Wiy7LnX^OPln9O#W4&b$cWww{z;sdcG#K5+t! zEtWt;hM?+jiXzfP3297h{Cu#G$`&zWjFnEE(D45zjG$QVdp4(R@6em`AzDBF`%%xg zd-IlTCw+~*v6Vv^iPPN+P0L*4Q@-AEHh$Yz|2*ZeeD@EpbVczk!E5tc=2l#KV|9KJ z?#uGcR@x8JYJP}Gtx`AnE!$WdPt|V1lbHBwR%T?q1Dk((gjnUfapS3%T~06~I$glo zth7mLL4o%*djB-Zz3xrlX|au?Jtj0&2ho;~L`zHfG$_%I_6aj;bHJkKJop|37*9NfQvyX^eju<m%l&|AHMt5u`v4v3F|why zTkE^(Ni`ulsq0bje+&4_okXgi=OJMy=DdeA*6c*Q!fqMEL;emd!$7^(cpXg#uDkm- zpy0;e6(5x52N5nEAH2NhpT2wq!X*Swa0!OqD~#I|waw?(7awpAjovKnWH?%oCQbEtGOq}hRhV%8w1 zOY01F0nD=(Z13#9hGBuVj*b)NB?0jMoe!%g#P17LSwW!qos;&8B79Ey0}I5!1~3H& zEscxMYv?62JOdDVwf;}%S=3L+U;`G{0bMkYApFSv0E+(rcaxuH^M#&w52emU4^NmH z(?59T*C>wlsb@Y4vgc#a*v@nx_?Nsx-XztxVq@;1;wnG;g2*Fap#oE;zW)wG*{V@> zR2CheYvjP6&W{QJ-D;YUp$6NUR7CAzRa^@eIcnGKcBdl!VV5I)wvzyj0Ydjb(-&Qm zQF#e0x!=pmOVSp@g80Ux22(R;h0>aq`Cd)bfw>ksTj=t^?FR+$k#EgxdRyil8(M>>e3zm z6qM~PH3;xC7^L+zA7+bQRxp<-Dl%;G#D2n~I(LG{ntHBx1TnSZbQ$19;5#%K3s0aC z&viV{=u*3^27bKMvr1dB>v!U94CdiQ@&h-R8xy~iMX_#0`e%uf^m%PeV)J00h?N^f z#3TFkoRTkWeFsJ}hu>L75mkQ4?nM;mla3jaH-i_*Idmx~D5!$^uakO?j*g0oTHk&5 zWqf?RGp`ZT^rYi>X@YS!r7?TMEefUI@bh&H0B`!4G+L)lbFN$X;Nai`wcUo zB`OwaJ#@Uo#{nhr+shgPtcG@Kjhqgp(f^LJI~^F1^>nQVY)r|NY%=USEN%-sa92YjIG#hUn_hL@{q(0Z4(kUStp)h& zjD@b@uCYV~koreN$H#}s$tUo$I^Vpx0o&L=9HraXq_5NzQrY`0f)Tn%4Va2iW;Uxq zx#3NxXR002D|Zw=z6WZ+R0pP6{ZwhWLk)(f*0s9$=>SKC#w~Pj47IZyMz~Z=8X(V; zN5IF%?(X3!|0U_z)n0bAAMk?83_zluwH*Mt6W;WIbk~->Ph5Y)eRs6|@^XMx|NK>U z!>gdSOY36E}wjGgZz#Eo(GG=u+|t>p+3 z4uUctBVKwE0XD@5^1JeqW66&CGauim5Um^ud(eQEz2Ep&*NqHz2=6GcVkkfjYok$=Ku^Q2(-e^$onpPUG8GqNmQZRQ& z6!@=__9m$llh^TC1uX}mTKT0$#9R11aQm#OvZ29h$By~)=kIX7P5M8deW_SeqgcbR z6quTtHv0Z+KNWfaG|)(-N|zirrdn%jD=gw|cgdA%p~WmbEbVvo8uw9Q&Ml7=t-hQb6`T(35&dblrH1 zO2mQ)3v9i2+6IBHlFmcNb>nz}<8iM)dPP@ju6DBr!f&c>cVgZGD7EPh>se1Uuh>*Q zyl2pAh;E4Uzskma=F;}!wT)3G`~A<{eYyN1YIlFe?>^xJ(l+nu4CxNAFD{^!S*W!> zVt0kN#!O%$D%s%dcu1@J@e?kUiTHt+V+}d}+Z+D{`|$O~#>TDZ-jv*BT)cP@f+Iy_ zrQQeIFKJub$>PA5C)I@|^62tk6{evofBQuHH3eh4;pI%)KMhv`Vt5xQaSI>iT=t+mS|06L8amBL?MbkN^Yo^2>>!@8j>4 z+u{)_b@;JBfi?#qA<`o*GSk0@L-)DwxN?Irj%s)|e^klg^yz!=4E8ae!;Pklq8>z| zgwo{h_Q|`L?U?XhmufrLu#_8)8Sq-aKqAbbYmW9@0)LSA!r8R_k-T~u&`S~IYsWegk6{Qg=}xiMIy zM;NSZV!?f&*ShRJ4u9u9Bd9VFKF`zJSCCMr48-)-p_7pR7@oGwm*hY4x)0thy}o7> zjGF8QUL6lm+vlk>;p3y$YVNJ_#ct$7c$}K}I9D#D*Ii^Dl?wKe&G?Z-SmDlp7nK;m zhJm|65@|wrRfDE?@J3TNte3XGm1Pv47`fFKHMJK19*ksmuU<%BNm!6OLVnul%)k$mChKoMh0tti8e!D}fq_oe z7{s{*m5bI-isNey_o>Sj4mS0%D%}Y9L+is-_MSOJ?>WZz2cNjfTS;wzSzu$g24ZeZ z32M2A^uV5ynJ4YVny5}5_c&N#k5{;AeZgY37UjT^MU*;r;s@xY2cKHA4>We2$R6B_Fj6*q#TQ&lyp)sae2 zy^N&i1>_AerI5>ff9;wgj`w}39xZ<){L!O-HtUuglTrQCPVp^z`by@+w|BRSD}jR9 zBOW-uhn;9L%ED8*cn4NWn2aP^-l!FLay@lCf2~8GMPH0+94c)Gc_ z2A}ngVyHPc7dk$rxmK!8$taJ28w@{TtA|(nYkV}lr2g?RS}eUsI{DBf^u_@I9Ihc5 z#YvCN4%G=wjQ%F@&Hza#YWO|1#rB?>j8zX9*T3}Li94iwX#VG`QGv{sTaLn)hg$TG z3I5$$rBbCgcP``-Q>I`}`D8vnKN8l*hU%ol(^U?=(k_~R8CRqqpGF`}ghgpn1kz=% zhmT>03{Xp--g5U<@XW=9yzs|Du2abn63NW0dXcWTH?9K?Bb$#>i>G6FHEDb?vF|OH zS_u91lY_KllKLt}b?*p1Aj6N3yg~%^8%@GrOza5g=!78*B4%6C#A3bwD{`X2!a`%y zt;qg~AO|-Rj!f?ttcIk$mrnsmAQRPZKt%O9M-pWvC+MydwM#0bo&4}mW#1Z6TudI~ z`^}vU;`%hyY3UeA zt#SHnK{r3l`M(_Vx@q3)6{n@rQ1;Z5SN*Z7b~f0N9Q`3^fEX)Chh4UrU|w4kLwGKu z8`Dq=cCFE=nGWOh;K~Jmwfq^6{Wm9h9bi=suHd7OYO>QFBIUeVqf?!8lGRk99BUSi z;)IMHW@;IK>T8aI=F+Ng`+uaT;ReLze*YfhDG~o&OH%;0W+8THhlr_z7eT^4nvCs& za_qFqnVos{Yo|uMxA8#d2P2N2n$z~jPpr|T zzn#b^CQk@tX(00(`J_`dXaT1o04i+)wfN`Avaaw@jWXr}R)YD$Y5+hQ`IJ6sY@GRU z^9KVjRf|uCa-SX>K(f-}(ID%gFFo?YJjc$EM=@9?oLjw+HLkdxG0_?b*}8{~WHBk4 zMjl5#)8E(!VzlNi&D53Z%i2^GjD}9y=KA5Faz4#1V`J+oW3&M^jU$n?@Ke5_=?;KEKLP=fZ9cqyiX zg#~=X^u`0Q;m-o$Qzy2{r7CiL>jWtn+3);#A-_D9RnKJ>yb%GWNp8jl;u~{sBM~Pi z?m}%)$-d`4_5u3o0HYy-@#*IsBpZlV*`3_y@4>{dQE$$`i8E(3R<4{ockZpMtgQa# zIY0a~8CWd=FkvkIv)^3;0u093Ox$qHKy$9CudgqP-#KQ{9oW3K7=}&$==1J@-i-)y zsArU(7{)xXj(BmcXc5iSD2CL0h&&b3J1ivWA$Koj=g>vKUObR>&)KX?AUyQi4+w%op5$$m0WNZ zr|ECqs(j?K>}z0dgtZb_wL#84%$&kr(KU*Bppmp>$kqU36^~>eZ62%zPRw0Dr6XqH zE|XQylPU#}-nn+K6Cmu8^mo3z;L~3??UgsfPTdd}=-rrmz^ZVfsqoB?jFjNJpo#9p z6|Ll&oTTPQ$oIdj^^X()BF}u}FPS;{`T6Db$Da4m*416As3<2VSJT*dbZh|1_Vt%# zI-3u;_zYa`?%N>PH|M#Iv9YRv%cl5Ojtw*?6&4nv@O);YW2P^`ts$1uaKBTr#oiP9G|~8EzYMjq6ZA%{S+g@A{xe0To1GN4#uZZQz%6@FU7hM#?Ms_Hv3o>lZHm0 zg-a_C9`2?WP|0}$ewGf!pLx_j$Q2WljNiU`6VZP(QB%GOPps?9NGPJ=a>fye^g}km z|4@NJ`-Q>$CdM~nLwyV;9hgYW%f)>RQ;jTFxotbVyuHhET$`(ei{?DcPuOj4qkHaX zV=h>5sPy#pgvLh=Xb6DhKDj7jG@`rk7NxhC&l+}O9*H<2b?CwSru7X5i!QD`jmx4Y z^*8@xovpLw>YO;7NWC;B_StAxMe@TZ@MQey5$D7>6M9L)TxCkpjZU42O~|6VVY2=S z{G6Eoco>_RnF+SI%F4l2`(p9Ptls8d4n2m+HAEN)x{gwLq&NZDRWO()1b}d2KK^WS zA2GexroK!yMBFA;Zqhn5wh?jSs5D%-ud;NldO%U94wdw;`+3i9r#z?r;xr815NaR7D@3jToq~Q^vI|LaX5n+7OUuCu^TcvtwOrdJX2aIx_nW!Nbe1OD* z7>qtR@rOQzFk`#vQiJ7?CzSL$t&nqJ$nZ`m6HI@7V3P2XW+S1}x;j<^ZX@1am~QS=q`^Dqwf<(a@P&e_GXS0xg{&IGpa1W0?|9PS_%A7qJbxrRz*! z3DYl4crT~E1*K`WJV4H0tKvNXluV$}jhVm;xe@!f!&JC_grGK!6O77!$sq~54O!u1 z<7#U_2?0460`?%+mdQ%r&PILfDmKr}St_j=(=kjio;wyq63TOiB|g3t-bU7`CQ#ls zxq>T>_4o}nKtcfOfeF?Gx%i}Pcw=sh0~##${EkG6_M_0Y>{DRxy>V{Uk?yUw8?Xwh z{?qOtZD#ecDUtUs(t72DjrzA)=qH3ICns`YU@j`ueA^)flTC&julhk-+Ej!%Vf}H0 z1T4@bUl)}MqB{>TRHY~t%o=*%*g zEaL(|d!#q`WH_MkQ*Qr9LsiR5rqRcH-GzRo+ZF1lov+MR)l)RlBTHL*5#pm?>4Jnj zsi~>xk@dRekWm1y29BZooS(bz^00?Nr+vcX^k%BKo8e+N{CJ+7GSQeg!GaF*Y*vuE z{p#>aWjha3g4|Td!NIX^XTqLntz~<1T?504HZp)ycfqw@>3dYxlz2gLcb--3BagW3~$zOxaf&ZYF*s z_F&@bi#j(}lgviWpedS`{Mv=(PZO@jFycJN^pR0pcYN@@jS=VW+IwvRz3q}UgThzw zx9ud=yhJolySgvSaNnLPdY!^+ao3CCMV?NiqnO=##50@J3UbG*qpq3nJzPv3acW*} z0uauW0}O1C6mgS$yFBT=yfrn+HX(>?Gx{( z%p-~T4TF9;M~JY7CZoov>^3c3ttH(4bdm83m!KSaP9-%696z7GsH!TzAXhCs>Ur+m zOJG%@tN>LPeJme(2>Vz|sm&Rzv*7N3?gNPdcp{+USIx6f#Lr?3&`B&W9+ic91kigN z?GaT(5kJf=e0Q>YQb<^@bnkdKO%s7kqLVA8iKRZ4)Ycw^d%2(fvcFnQkYzD-Uv24q z0dGuW;5tjQMRh0VijxXDP^08CNvYgs9y}a8BUi{ee7iqxy;vS@A=Pt zSHs-0+ia0n9oXq3FS|EM3blboOLo&xZ=gX;+C&-La^$XxH3(rKl%nLT(A7xSoWlm8SM+S1?|DC1>#s4So`1*y;?MKu4ufeZ(ng0!~ug+;^2Yw z@H&LZ>i!y61rB`Fwnm9D-_~*6I<%!u@&RNkynJd}BhPGuw$UnXDH`P(4Z{caQ$s{3 z6FnLnQ9;ub`u{0(t6SO1X?xlJ{hQI;c9j$$elZ1|MfQQ$l}m`${p=y5V>1kBP&wOl zZO<4=SOnRG<>C3+yRN99Ok^P$D{gr?YG;;ES#7SKe)WE)H5OSj!$f@ z;~jKqhk7r}xitZLKJ+>);YZj|)#Ov6&C90=wHJ-M(vWp~OsCLi=g4RTqUpiBwEI-BS>DoNv!_4$ zPN17ZMz1$>3GqPVe*Mvall1)~+%fvo?jP#BAzwk#7T7DESFM+p>}9_EAXo9x-DUv0 zXx-?rY;qiY=olEdiM)c?$?k*&kaY0w;&GkL-p8joNI{>t=49JQlU_DvMz#xFcqnm)l=X7&xrvI-MJ@{gI}$PO$e=l2k=xNmszSC zFUE7#$&T8d72+c5;BH~blCE-VAKNb}dB@Efm%*S*f8L(MVdm<)8$mmDk84gf;dA<> zUl(({eWGY&R^(^^QBk4})Z;}mg${(Cs~1B9`xA@DhIm~}Nzns0t#tF&;giA&Y>`_{ zxGNUFogltV(G=!WN8bAt4LkbMU-t_yvmHGGHi-q6YM~Nw1if8g=eJK-Nb+-vD?CMP z#Hq<1?tHAD&0%j%@MvR|+aIc9V)R{Y%2nP9FEzPDUb;6@@a=T(PX zXd8S$+i`o^>wkN6FPiIF4@{jl&P`XL#qKOMXup&Md=6mYk;^~4{iVzGO0I&jo}J*at9x5Y zFX_HJ;l!rEu3_dC39m=q;lyC+Z;32gt02nb%&~MYmT6bb| z+=-S#Uh1Yz!hE%5u~)GCUa?=JXEj-Y+Ed1%kh*`#Wa&H8kMRn{FjPav+*Vj=0@=q^L=#H zB*AGr7Hu~?D`r&ZBN*Zrq^gfYMe7YwMD$1t!k7=L81Ek*9w>S%RBp-n8goaN|N8ai z47bT952t6&-rXEpkaG{<(6a0wVsm=5|4_poVNDy|#g4_ahu$yC0Y!CxQ=%;)@!!0$ z2krL7YqeVAPyJekD=)(4Th0nq2&c<2^;ZZMs)gNc%x`$bP*qj!dp@|~j~80^Ijbx< z`84%VO`|PK6GiOBAI&^#E2iK;TT`iW`bS26;oS+j@Z+Fyr=$)@& zH5n8Xvq?MT{|!hxK%%WZl1~bs9s;qLrkG*LrEiyC;}Y23Hn@AfZION(-&m>4yIRG@ zr=d4gA&lN^vbmsxPUD-o-Qf>QD4=-~)kkES7bRUA$)H%0W{9U0w;!=*vXXIgJxt<{EiEE+q3J z))J+1Z1Lc4-90wq*yj{s^3~Pyl_u|#4BPh_YTjvPh;Jo|Y4eB!YKC5Eo!Qk?N|cH3 zzwO3bE_|OT@M0K~to!+$*USP51do8S#6>Vv=PY9(2zS$-mm6LBrR&;aQ&~JX?eCLSP$j2n=Fq?&C z^0}ep^YL4Jj;{|KrHD6)yO>5xX~T|%?TQUciT8#3=Py6lRy3hJ?* zJN~epFk790-9y5>+Kk=;ib7Js!Qq%_R@Pq0ID~Hr`$SmdEYD#MHJrr1a;apWfr+-d zq}>7+R!MB-^mZ+XY_+;fF$!2m9eMhk7RfX=TB1j4-@swIjVE-cdHo)LwF=qrR%7d1 z8x;*Tn{385eugPoCRG_Pd|lLeD-@U`T_8Y=^;8wq1M)g`3ac6qkGX=)`}gF%>fn|$ z+<-#8Yh0whp#!a)8god^IrAirjk)r_wza$<81Z?>>+onQtwtC;S~DsUvo+*Xs(+up z=S(WiHUny%7`)N5@3ft#!`KcB_P;Ra$GlIw_U6#W1-zDvjyjrcEeur(@lg)%tx}@8 zCULN_<^ZcYJqub7t__q_Xayc$Uw^Bok#8X>%yP7~A=Y&AqircIKs2vif*)9YK;Lyv|JBTAJZH(k26tv|;<1sg zy(<#KaFV{D_AU}{XY%LbmxsH`;B@ln9j#2{?G{!h1uZQequco(DC&z)VvI6K@0_gL zE!#%gx4P9{vS6#mCxnp%5=j7|eb8+qf7oPcF>1l5Bi zqd<;1EwkIZ>#U7>;`nWb2H#(o>z!CbBy`2e# z$JmZh?v~q~oepO+Oe7}#t!{s7rh)$#*5z(6?hx~j< zqS(-L6r`=!W8$sfyIoEY1)TQTWHMw;Tb3&xqJ?%WkIs3Lc zzahx`8zhu1tE{S`zdl9MON6J*_Z}6E`^{93Z1#EaqDm8AiK038zo0vJI>7Y<3^v?u z>$?)nqa-meJL-tf^GTwTVOB8{-}5t9v#m+Vx5#B3Rbt7$ymn2>Qc=ES)J)J0@RQJr zc{pVA$f(yYoO#z>hOth0HWC`o)8*C=FsNs&Ny0H~WA=^W+(K=!2wSkeoV=$DjZ8>` z7eeml4fip_)QftH4pPsqjTet9ciRTMOnsG^k%23$4O5T4oJ;cB0)J(rf2F4IeJHZk zdW*cVBR3Vw08M>xFHumhj&~EXe2XH%hrxTQezc3ZuyX{5O}_R&Ngncch$TDY7`^GL^@E7(5f zVpYQztJA%HRek+SiQsB-Kd<-;T-3g5@RN{LpFD@SezBhOZ8#4X8gjO~_`y_X{ z25@kX7s{E5|JVo{?VyY1(IHlBKw*30rp=3eUO@nO#l*-iJO?8$dyi)>ZNz~xPJL=3Qnw=8b$;*Nh#iT{>rt1K{>;UW2xw}F z!de73Ly(QkGxC_!;Ze8#Fhg-4Tf9PW^f|^CY)$cjx_Q6_MrfUyPHy3VN6Lm z03SEr5k)F^RvV@N==;D_)$3&y3zB%X6xM5Sv zE0w5378ka>zJX(63A6B=i`yAyKi3R{iPXzFYe20<*xH_uURsiyiOY7cv;C)^QY6}L zqD2fUIJ$ZHMf}3uXz>GIqcX`8pe?9Ck(mKAhzh5f9Ac&3;=Ll zEmaFqokWrMEPoN_9i?TFFG;KoHB`eLj#{3=9v2_UYt7O^=BOitSwA5=9g9KYM}E#m zTJ_MQug6D+Eby!r77JRk^maHiqD96nvr@J%RI^N-ql!EACu)xjebT}1}+a!Z_aTIbxpPT<1T^KL%RNen);QoZAJLwIccBw6|OYcPysZnmZWOg z4W}1AK0BOE2RNk(Rb(r6b#%#chIX?ebP{f2@I+tzd*!W{+;#YZ^?}v@s4p7aZR({l ztbVg6gQpE^w#>`x@U5(aqOJ|IPtIwX|n-qM?clow@yGi*Id2B zIS#0fqWpf%Yv_pkn$m|DUgP4`B?M=uN3?IpV=4V15>ew-3yS%Rs?w0g9_2O>yPe1u zKYQSoe_w&rF~;+y@v`Q%p=LnZI-U-j0`>_C{UNaR+Q?OCTIBP3MuuhT>FvEqV*El4 zW$c#hdvWAe*HLCxzlI=XsWz6h(%|%pKsbsv2$t3wxZfJ1XORX1x$~G;ti_DB>$qD< z5KL6JzQ4uGw6wE<33&f|A`vS5a)mk*tMFy-dSb*@K|xk(o8edq1emHSkys;-lzj{5 z7~|Jq`BU^I7}k?>c$dc=fkh>UrR9gE?&SD*Afvr z_nG))Y0@C>h`*6KJvOIdNnpDpW?hzPe&W8ZmeoXVXDPx z_?SBx9Afny7%9lo^Md(tJ2pCz!sooe72^1z^6d=q_@mX>w%SHTNl&_F2m|MD2Zu+= zdN4DSlfKq@pZz_lr6t~ShuPiiCRCM4!UcT(BF-pXAxh|E-A27=%4!&~In$jXQutClSZGEf zCW^cb@76Qi9+Z1ROIb-K0apl{8iyj`QF#~f)Zz{uxnf&R4e5clUEtf!2X0ET-SbBB z!yzcQErN1}P0(wq3em*4<#R4Qa7()H16G+c>Y1hZAdF4@CGvvSh`e5XXHEY{PxTUl zqw||2W$CmAL2HaUZM?mA&TVl*ljN5tq9F1{erC1F)}`iZ@khPSrGK5?<78mza8|rS zSjTW7*{boXb`bjB)U3veU(Kts8xbAD(cmv>@-rcX;|&Ycao!fIs6Oefw`}kxFRvydWc0Eic)wj%^TGo#nB~HHZOPMIH@XstOt*lYm zN7VeWGP)_Z3}WP+n#+lPMgfI}tkp_!0GHIq2S{QauW{N82SbABYodgow{b4dV+n9x z`|9u_<9H6I#;vTTr!44!xYIfa!Bzr6G3)L`-hcYOD{Bw};?Son#g$bO|>v&B+RI2o&$w zvm()WG#gR`>+il9<5|$#(`h=(ad?8mvufXWV_}>}dbDrqcOEhhJ%(K>$bSBv?%2qU zR+Q3+Bw+#5BhM}d{2aS#8{R+{uQ5hur~6m_30aDQ#ry9)F;$?86c80)>ZaoLx}#^; zLyC_%d7w6&(vQt)ST{+9enf5KxWIcwTug|$$%tR23qkVLza2g*$^vlF_TUGitT^jl z6g?iInV;yh+Bl6A4<)aFLb&#XVxU_+CrbYwRRcU?9y_i4*WPQ_j<_s$qOf6uCRu^h zd2=VJT^JHJ=X;q6pIItl z-M>;fYq8__XgRl^3^PK)|Z| zZyeQmHL9GHc%?KRLm<4!av#tPFEvXv{1Qnj%~fMV@Lc0%rYR>}#6{}(cRS~m)At3u zOSWd|u><^`B?@j<8!eXfQAH?@I?_)dyt58+=zscp8EL@ItF64d-zvA`WD7JfmE+JP zXW!yZT-wyOB9Xw>Im{*wvgz$N<;=pL?%dHLX?V-KfDP(1=Ph4($HL-PA zo)wgFj9+bd3ituuTBhgQWqO;sl3}M}7oB)VtI}7&w~yr(Z-HIK%r5I}Yk{&@-ZG8n zsW9SGRxNxpuli0OLQi#PxVue0_e0SCeabdqTd2z?G6N6(d(*Sw%zV}=DRKHk-M!kB z1-6_JZqZ6HiBfD-U}&kw8xeX|U6#1lZeW?(iQ}9oBCe$SUfy_nJIm3n)%!n$j(9^y zqVu~ew>m%!9fJmn+?c$RF3blEY9|c6GxPo9 z$BBX=R}n`Z5ZjCvYR{FJjDV_?JdrwW3#9F5MxqpCFL-{gOB4vW0Ix$5u9F*O72`9L zG5A7e-azTBI*j-qn3IwmTMP0!Uv1>n+g69cNxtvgz2BFZ%^5&t9< z1%@(RS>xZ+05DxGeq>e^zQ8tu*Tf29@m>gjcBxMfh1ab_HqEVKETw4cdey#mO>Uqb zRm^+46WbM9)vQb@Y;TF7oi(Kw@Tf}hik+%^5&>H(RhI(?xxTSbI z;*Tw3kx`}f;)KTvY$v6Kr5T~R^o!;zLfC2v$3|iXoZZl|7Sdr~pId!Q9X2N`6g=8)ZQ(Wt6LeVrRtnSAa*=fp@cQv!>zG#gwyPfqFmJ?IaUQD6>U-sSuD#~+f8y-WVNkoxo1jT_9 zIkCiohzK&kkYgdoh7lD61j2}*G?Csl9xF1$SP-SC1S~WG0jYyg7?mzv7)BWBb!Y<& zF#o=vXBx%C^S$4{{`If*vR2;2_uy0R=Pr9+*R`+x&xz*Jt!y`@);BQ!s4%At2HMu5X(yDSGAl+DZjdSkmgs zSg&R$GvLpLo0YN}uG}f=?xMP7wKuv~MXxulDE2EWn!EpstB?#_fNk}E&a~D4BUNB| zF!S*Qo?yVsGV zh0A<#1^A4jOaeT22*2rPU>eP7(sSj{LFQ8PHS!e>c?2C!&d#whOY(5q_JAD9zfwtK zvsDXa=)G-)m&zQg$EI%fomX5!J3!t4g+ST((vz7CUb8Tq*xtu>oR$3{h1odwJ z?Cuj+GVa`8BNX#t`N;lgmMVE5uu)BWBstMRns8e6enh97VBiR+UENxOy02vPfU3TB zRcEuD1J#)6*YPXIjhRBS=M8sRGQ-fT5q^7Vq>fqj47Cm`De$a~ouB4I(YBZ-0y4Kz z+@A}-`X2KIsKIRwQYAE5^VuT!K6U*~87zs^@%{O3Gh8AM*Yff&VIjIiVa0m9gF8eG z&sy@`=vLaKw|&H}zR3wNpjM6;L62WSXCY%GlEg~o^`_=$2mC4ch$u_G9Uw}+-EwH&%dtNy zu*9yc38eq~a6evuBliSaz!t3o#zC z4E(wz*k{SZXV)*4j0>(?HeiYPQ)8?|zAs;iJUAieFkI^16UaMSlbYH{wX&%I4KKf>5EqS57V3kM z#yjSVOjm0!+uBZ~b&V%hTG`oZky6P*cU68ty6Mc}3g{JvD7?ys+t3aU%oYO1E9l$nw6eO}JHK@XU) z!j5|n5S;V(m9oj8Gz^pfyf($j*n6~I&j2)l=w)mEuQ(Ot&0L3SWDoY{jRze(58A#< ze7$cURu{2L5!X}xA3F|wOmhgW*g#k3SXctW&2O;PgjKUc)q9|DKw&pM(&Md%*LJBO zGnE#=;84pR%xn!a@B0KHCH2ffahm|_v;D6#01}~U#s04|z)YS7|LY9Ecd2mX?-ejr z{?{2`Cf|<#bq4tR4fy|0&H(oyQF(DearT^`3HDfvZVWUpM8(p$fihSzI=ogePPHEd zX-DB5lCq5MG3v{l(KFxsnPj##wmy8LE2pD_GH%GZwGB#ujIRh=?~Up zRo~!QDloJKOi3Ks`#m}0t^TDs={9~+Nj6!p;lAxNM&Sc8>L}K~tNAglv>o6Y=Xpy% z25SWU2;qjtV-0O5W|m`Re*M0FBT(5G)_u^|e=y-zDN(itujw>Q19KtuQv<=jbYrHL zT2ZLuAUvI zl6|Pgs9ytn0x-cU00&`Q?2w=luymSl$Hz-St&v}Y$T@)>GS_TDxc93cHK5Mb`@|39 zXWH)LYW(P`i_;to)=V~gne@cS=-3B6F;tGawyLYEQb4SF!?(%6_j|bLa-#+;b2mzg zsGnwTacHv52)eAGa@BeWJub)yk>y(~a)C4-H0^)abEMZaMWQVKIGEpoG{m})>Peky zdt)@&R|H*EP`G*T3V1zNg4Z)@<7JcvQDIIy<5d2-gYhczx8fpi2r4++Rc9Y^)y__2XhAY8=>OeO8A(P#6ek!{F0xgM0q4o zn@z|PO}Lw)iwXu{6&hC;MD|7j*^AWdPdvfDY@@<0)7@+2p%EE4tR*^!w8unhAp4t~_SidJJN?W@onyV>lBRIU%7k}deoc&?^qg1E zidTK1D+)?rw?f03imvAK&lp3ajY~8A9Hub5V;{Lpj0dc-?*Wkb53eS+d}l)?LNES-P+Lh zj2Gu%kj3d#ezMCfWnCrb2Dc^O>TgH~E<^8Shu?>@s_}QU8?pLS-I=^3jyp;HW4Q%* zj0D@=ss0~X7BA%;)Hr={Dhkb~C1*KZb5c&Qx<8tADeZBUkHNrp%dJ2!28iPsA`6Kh zxQhWRD$PU2-IJ|~k8{5K?fF!P()GOJpq0sGU}N9`dSkDtrXszZ*HFeUEUU(lxKoLg z7kPHLv+lc@$~JjTBA3#SRuvwC<}|NRk6PUt=S`UPqLH0s3`L1&bd9b?n={2CQ~j@S0HPxeE&Z)n-@zK+G55S-8Za3F{L- z*(QIc%1`|@ROpts40X$!OALUG`R=Vl(0uQ|@&NcK;1jC>h6N7Duwb`yc{milS{VHz z854@^ita_IlE9VUCYc&JXg0<#Ho_%;#j{kbp5 z6K97<{4z3{G{RyJhF_r8;iojjMwYS8SN812u%+*ypd)Gj=Wx*dq^GB6;+XqwzNy5M z%0V{{UCLxw0{%cCY`4?4aWbKGjAFJWDvk)0zIZX(&E&{X?4nbMJ+7?rF&_M-ZL;&t zyCaYPBkY;&`$W7{^lep{3`wc>@Q@v7VP=Oc``qir zoq8~SS@c$nczBvr6t~lM3vHBqQB_UFtX(TM5?pXG^To7}BGxvs5fMp>d23dl@QvFE zc5`5s^7PV7zDZ@x@;cjIPPJi2dZ~>w*&#tW!sg}`EfyBV+bX==7%o+hc;l}qfiF|l zyh*OvnX0poUl16oA5sXDpK4sPoisy<`8Gn^Zf(_r@8YwjIwrI{`tHdb1@8@D3}6(e zcwY+&@V&)G+*Me9M-KOc?jAWO1a;(7HzfEBf}Ro%X>ib946Nstwsv;$-7?-FC&ee8 zV2m0IZu!C3?x(=bVqVFhX?nH~LJWGS!#W7CUJ;ysI2!kBSR__74tHt7iH5?|YFWb; zc9Hvs1l_$^zW24ZlAN zLbBZAWE0Fw0k&#>T99vq`e2CSC*)TN_Z61y!O|`2(o*wG_uM=0SFHt7FWKt$xUFAKlH*KCT4BHYb5jr~AoKSp7 zp;RpGQd+fd(UAUGbBNf$wGldnD~2CKHYkQ!$H2MyqnPy%mdwV>B;37uMEG&HV`Yd- z>0%D+V%3p<1y$#?tJ;VR3$5HjmSKLql$QKBD&#E4;5Lq5r;dAjXcmeGxjFyJ%Yj!D z)|{PyGDuCWFH`JVQicbz!sEag7WOWU#N*CbNhHcX|3?M*;=_o|OoJ>ilRBQiV(X9p z#y&dcPx{0&K;$(GZZP58wg&gX55P;iQ7@SO#4qVOR!bD3h?Dc0;`J9K%CYxTD| zA1Aa_euxFdRj)(^(I;FoJ3@OdDe8ugWS}m<$-TIZz(R~upkqTc$)6A2LNN0UoF!ut z?^&!`wFDDLNTX$PC?1R@=lix`+Lg7)7rhG132d4?o_;N2DX#9q%w|76%f81f7ZR}} z95b^uAB2iPL3g`dSE+}<^>$Zr#J9r50@2G-I>y(j!?M`r2|H&^}^n*@L&JjsH*y{7pEKa zZ>YbBzzybVn<6`iJCWF|>fkY9eBbKqFF?y)-lFcfVaL!F2)aX(iZ5l$^R~n3xU>ax z^-rAY>JQd$0c{i~c1f1rfh@I=@&gqeD3bmmlo&laCisftV+^a7;^Cyy&mL=g7m?_s z@AL&3Zd!imlS~S>=+238EGsKZ@Z*7%nk_S1D?KA4AGzWY?`SRdqT2+nH2n*cKDm9L zSEl@Z9Nm8QA6Ojy;?Ea~LJ%aHenMAd(HClfIgHq~afenrarueJjprY|$e$hDDX8!#7OC`?kK!?%CY>2^)Rp@b? zAB<{SS4D{}u9zrAg+glmpL=&PZ@nND+_x5-Bn9Qx zhwXGzU^AG|#MdByv&M)?5lVn(7qHXQt7Gzs1|MeT}z&v~$ZTl7gmI(J9Ee${erq~c;0mbA) zdPY;}b}-vaaJ}$rB6buVdW)qNo?;cv@l?PsrdBjhHWxFrKJi0i!-a5pu2DPP-)vdJ zb57=IRp>i4%~jm@gf^AztqDZ~`sC&ZEfJKh^hXL=L7W}*QR=ro^~vgsu47J4;N9VE zp`p!F(|hS`0G8)B9NhQXGTIfson=!SEaHLxuG|_$=bLhy3#G~Ig_g`O;EX^&n@p>k z|V$JRF7PEQ7Eky*YKR?nW6Jmpo zN0L%fQb9foOYHOV@|G{RFgO2)25DSz5o~{V!osNIT<8UIj62j-%3whF4+TEeoe9;X z?9^se1N*Fvo*ABK(|H>psL}7I+N{5_Zd?mfmd#htTE-!JLpzeV^nu6KyQ@k>f5S&kD4FOdprDLYhcybGH~mgE*D#KuqRpIzCnN6+|ttcs?_Ry z8s_r3|8Pai4@nV{!dMKQp@S-zixOA>+{V*!xt$|RAwEkN_xTjs_eDb~J-%xABsDBn zWJ+-{8Sm+{xu^P+sdsE*a&s|feAnrUfHRir8;rW!uKM$=TZn}BN|a)_Pm z_PisS1IuP9?yG3*R@eVttuZDj>t1v5Al%{xG+W!U!6ypeLGo>yr$PAoc>Kq=M{77Cy+o z@9#U>&D@nCV3~x!HB-z-(E@Cc#$ShqUu-ZN3;u#!g|6>>v@C|YBXH{8lE^nS5EuZO zC!@y$1p2Nz1%eOQ)(Lk@mm(M6Fi1GwJOGHgW4OSF0}bd`nL~)_)tyC}7>^&f-CZmn zpB~i-;QkG)XU~#W!?YdKpyiEIoDpZd9iqO(yWg2rEisFRmQSJ3B&S>+_hVKGCtmWI zBmWS(44yRi{C*=+(?!^79C`r9*Ay@GP82kXU>SnpI{ur9x>8v`JqD5aQ@}7#trFDH z6sPrm!G3)~9?=eFpZ%X3BY$K*AQNUT!sa0l>nd?Pc>*1svjE%hVb3+wRQ-H0yFk`3 zN}_E0(?79q2Oi8>({}FIPgyxO(`W$bRtkU&hcmIOq60<{sxb}7cYp*tWdz>9kcP60v# zCi!bJB1}b@8U#03Zhd;kVOz<9ozh^)I!9`UcjLn3c#qoJ<(nPWi>ncrgYg8< zb{(~zdj|s^JE;{PmZt-Tk&Nt1OBN+1Nza+T)^8pG|9P6eFbUYj9OnwJB)vnt@Wz$R zdp8Y+8My#S0A#@N*HjSiSC+b{Ds54&tz#<9GAjH;*J9{hrN+Mr{A*Kvp<4a2)NEem z7d<^tg;+PiuFcQZf`#2mFh3`G2BpYY@F>Rkq0)r?GsVrWH+@Ki)w`$oBb`3AM^BGF zF%I4Cl6<&Bt=-)yE7|E{J7m~NWE%J1UXyCNBg#$asj)0;6k80m8*~q4fhO= zfF!D&aR3AAKjWi3gI)`r4#smKWqfmfXIYP(m^T<#xKtve61h^Mq7(PJjbilmP8F{G9 z&|Wg;pvKK9YU`v=%s>voi7xIEtfL&e5s)Uqt_ea%qel^o#n2AGCKh*0gYss~5{wX9 z&qU)M-1?A=jSH9v|Gj0fuZ7#PU|`Z);OPH^nS>o?{bpCXT5QRK8Xa)p#R;_Gc_5{H zjT{~Y?*qU4x9#LW1-t2!<`p3M+)&;qskE%Z>BNGysH0^Vy7R`jKa;ULYyMYG!{Bue zbAX_;_3!30+&7~mE~D`(T^=zLJ}}C3G|GqD9!jB6K1zfxN^@w&$O`g$57_p4WqZ5T zo$63}Szdl1-z6mO29Oh(!jsT)9X~OH>rQHVU>^Idf0tVxg9C|&-6Gfi05y7S56$H{ zH^ZTpm(}P006_Q&*U|0WmS_Z@!OwM z;r##iyQ*TH3qnVkfto`3?t5g#r95N$+*BSKK zmk2wj>#_Hwg$woATM=dH-R$HRw)8VEaBHSu?f<6t%A;2Uik1WwOB>>e@8oMYb1{bx zyqZR{->UHW^B)1b{}LwH$F_{JQ;=XtD`asZN^5G5V<`IZ>v*TO-GJM%-@6?{UnQUJ z+oQ(nRtgOB^f@INQ-L?R6CLW6CnhB`e`Rd@*POxS*I>Cl*`Ih0uV0DY6lCVxo`r~# zi9y;Vx+RvyU}xxcaO|!GZ)R+N4ykv9 z29Q|Yyf3RZV*l|vYl{ee3&_7D5oYq(eTs6ukfon`d6AE}1YkEkTGoo+ zRD>_(TM)sLEYOYCk(JO7cir~%CG7p+eGXydD-4q=Wy5Fr1djap$N7bQyO)TNxV05* zC$iSE`0Sx{{rIH7Gs#@MmmR<5M#VHLXhukGImH|h*Id=DRkC02#EfH)AHc9P1Skjq z@K`AN>es?;HjB|NABOfp=c9O$E25M?0a*M&WA>q%eL!biK~`gUC%W8C(0hpw76mnF z0H$JOA!!?{8F)xMdU)jai7WGWtfyuT7DNpq0&d^#BoQvU`fcggurS&@o?>?L{FT28 zGZ>ysXUsTKH$Yq<`}Lb02qk`Gg^!UKukjI*;1i$xw)m5ylyKkf2vL{G!~fPr^v0&JJQ zSG(aO2dwzjxhbX#$b%{2V1Wmi!$L-FI;*k4A4ey*hqDkz^2cn(*JX30X6-MMz~#_APL|iB?g_&-CYyf^p!nPS7Ug(6|$EtO%Q;Tdq+@co(vG zfr;Gg4libEbLz1j`~PY4p?d2w5|yLuJbs9Q%1y;gRnz=qx?CWsdbXzQMUi zQnfBDfBPm{wQjqFnvB!6-%s8hQ~xk~m6rd|&6F+DU!B=z==$~Z&C0jb?Vl{u{N3-T zr2(60&b*S_Y+HxIR+3jXm+Rxl@ztz+XOoc1S;c&iZDY6TcWtG0O1WwMO7oobs6AJn zKYyO*!run?)OUhMaq+sBG{17pYCk(SH}_U>@L?ZqRaL+@)2B2lxpz%$-iM;8*=q7Y zG&OCL74v0pam5P_Uq!Z~t(V~Jue{+Q$UzD4BNXSsUzHx$T6Fy?+F=rF&@YB|i1o$W zh&X^W1z_?;$9_BBo-q}o(90;5gCBw9)fN(|`+fr0e{&gv{hjU*McqVWsOj{ax=hHw25S1xQvDT}kcis*H(*ZkZv?RASj{Cc%rlpbV$qda?sPAUW+}Z&V0~S zY#*rFw{IafJO&-lnks1slimtsbi4M3BY0XwA8nVFa3bTo1pmd4etZnCLup(o8OwWH z*;Jc2fBI~W{qUeK@0<5;;x^B|*^uMB1iy-0w5MdjxY(C*{_uMww!<-?58n^)4|-Zb zFOPi)ehbG{lMhJpo{e)8ScN?E7x9DKAc8?kDTq%c%8YSU=d<)5rhTShWGhc7nQ0st zvJ(ES(Q}PlC}oWd(sBRYCO|)JUDGyZp7i^nWj-X8dB(636Vu>7dFSeMnG^XQ5K3n zobBG!X|H>j|JeAVEW01e`&H`E|kk|Nsjli zgKGW?pGSmb4U*sHiPjGacEe#buW@DoQIXW1eE^8*#`0i&wwXfxu$nThZ5?xwms@u% zcRwhqPUp(Vu+n&=Ciyl_W+65n*&VSN7AF%kx4x2==F~flY$&)Ywd}ZuPt(X7zv8`U zg0>}7!zU`t0wnyh*;WmG!I2kjI=&ly$V_UqYPXz}E zEa`liAj(ie&CRN2y`of2Ci^B)S+)scg8>j4W6h9u5nGy9G>$1s$YuAu&236o`u48t zuDSW_F_l|N4&p?&wMu4} zZEmK(@bB^uYR}$HAb7rfUmBqsSm`5OVzW0?<6CLz47VQYz3-rFm9#X#s4Mr{j)h6g zS-xULd-nd*o`uE5^w-x`s(BX=3^-r8a-|%7)!W7){gtsb;#Co4d{7{f9S}XNOiA9+YTG6 zAfqt7y3NvOYxAKI(?xZ6`tw`M!mm*1fytS^ox=&}4`%2BXvY9x-gua z%_iS+X{n71eB@Kxk$vE_(K-{8%U0nUWkc__N|9y5#|D~sX1(PFEM=Pecgy=k-4iz@ zQ9L|W7lrz@dG)_$hbpT-OYV8Wn7kM7X;pU_vd|o8g<0Uy`rf&-mW598>JaQy@@T8N zt*@^SJE0ux1y51$PQ;F36?nq-w$~qZ0|i&lH+b>9#~PR`14_vEj(Jg}6vRm`*^_GE}50HIEMI{@zt)Jfr?Eyg#fvP=;VSRdJPdYLn+T;F387nm*1@l(Qx@; z`Eu8udg9itTV2fN>wNwH^=z1v;k#~5kGkwN)-}gY_YT9C2`swBDesN*>m8qThp&hD zXTXu(CbK@TC9oJ~7m4ZWv%9O-loR<``H6;Q_4!rz!ZoH&*!J{ut!@f^ zV9kU0QD`7xorqrJ){L(aJNv>M3y#aeb@5vLWBTkaUK#mv2CboEJ5ZD zoD@6oRh8qjXQ$-0J>MmlZB@H(q6aBxXRmw(fzCI`ZvgT4K1&E~U9vUOOmCJN`U7F$ zw=5DT&&_AttpfeA#3gIvBFygzji=HQhW4V=IuE;i8(!}brYw`w-4nxo`?XCU46TQ_ zJ_i4!TO_IT^H_@L{_X`wAz*8g)$|-_ElpSY%(L*3{sYhyaJm`Fn?A^?gOe^4&@EiK z*|+$Ng!ICNxxSh(dUtP?CH1py=;7~rwRpp^@l=}?y0G=Y|I)f-SJE!Wp_et4RYfWC zi-MooEuWn#Re8!sID>~1ZdL^n$&1l+?xmhhHVFcSbnC;)8E5bx{pas64{*L;R5^eq zD{yyt)TX9Lb+?Jgp2C%Mx4if7^OzT`I$I~#v&iEC^g!@DCacFBsxdC{x2xiOn5Ga{ zszE$y4LcM(aXSKS2!zK$fQsJVA|4amfrEw-wC^V+G@HO&GSSu6RdTHj{n+FY?Q`(! zGH9F|G-N+4?>7f}yX@r$!c%Tg^&i*`xNsU(q&%0)`k9nxtBxh!aZ%zfDO^th{J#aVIf0M5EgyhHU7xUH^R#op_flADMc`# zMv$Xqi~(L<5KNQ{IHUTAqKGy;tkeTbH%#zqGC_2FHx$c;9%5lA;i0KM2z>jXA2Djb z)CX_SY67Y-Q*F%0<(O*>6k0r`4o*H#5>4q@lbHJc#&ZrO1`*I>?b#1DQzvK2)|tWvEcZ7s!o95_1&E($x{ zN1%ryugD>fHf*4~w2FOdPnLqlDPbeAAm283UwbSSJp$_or4~~Lul`0}4mxyluj!G~ zG$wHlNWu+MQ&yq_4ASPmr;8hH{Wwg8akP|=Mo~Jjl?EY*uf{Orb2M---pE#O4foohJ<>*j zSY7Ywl{2c5lRXG+1~B>?9xC#=NFvJ4mswx@$a~gA&w=SmhZhp2207N zRN6O8URX~&cmLOEoUr^0rc{Vs@;lZP8%%iNm0$7Bgn`HXR?V!ddgCtnHcAQ-86$;U z3tNk4zjw5yf;9@Z53Sj1zNe@423LIFXroilrR5HjoaFR27K9sLe3sJv1H`<~|2pP1 zs7bl>KMZ+?4cZ9Hi$cf?1HIW-=P{kQg{ky7_7NB=0%6{hO&N=<^g`@By7a?G59Ifo zc@N7_ti4xZflU6o5ATU{C=l0Bi4I!ZeDHu5$de0HYKU)xh4;j8!TFxFe!D7qd3Kiz zZ-5|-Zc?f$-#Ib1Nd`!|jvI{%$qJ?McBPkR!%5krW0zKjUG$ex+8h^Q(0xHTpG1JlH=JN9E${Si|!yeTI6KMui-7*~( za>==S?tN`54Z_LtfpkCZiEy-Q+*7>q7;S@#u31XPm?f=MSRqI9`YG3HDIr^)38UB2+q}s;>}!oK4sl1(|Txsj(Z%8k*@E zUkoralD2J~`*)j>vNXO-*(fyAIZ%P1o?8I!jE=u|+l-c7 z{yS3NwOmO(N1MhaVOCgj>;gu2$R5847H&OJKF;(nr1rk`z zw)VF7cS2O*OGd3E1ge`gFp@&N@1x)H+a(frAYQBY?2Q#z_@v{X@v#UQr+`WSTF|)N$m`DS}RLN`Srp>+x#| z{W(Py^j_5$%8s=!+bPy9`)uW^j|nO)zUYiBJ4v(UV+u-UJ1X z;oZ789>_nm)A2$L!F(g=JP>Rw>J)*jv9>upnAuB{`}z%*tgcRCrTNcgC(t~Pz2FRk zuJnY6A6WhFDpbZWyLGWcgCE-j*-ybxOIGu*EfN;CrbI(zC*WhScD_2w46*7P6(TgK z9%cI;6-QLsj$zS};1nhhLIpCEM*eFMPTQ}+HiA`{<|`6s7oEjuszO%~9CTE1uig;f zi)-KAchL0;ih#Cu>Ermo(ECTpeMFBJ@U?7~|UWJ%1yhj(~Z3ScT z!xW&h6?XI~7=?4~F<9M_Usz(Kt1SXeVJrZp?ImGRa%36R7NR3xa-w+nh;4H4y8I1# z<}bOKgf>O~Sd^h%H5V9O0Wp|=NMmEbRH)-I-rr6LsNV&I1>b#z^RvV*6e{xtAFmBV zu9YoC$aP``6~ehG$TfBvi6OQ#4TSLw3_$L65lg#k32{l@G{hdakPt-Xgc)aBEIjZ) z&%S+!u*2XO`Y4O^#j46IUCLoxd?&$>kB}D}fgo72kXudPJW}mIHFTdmsax8rW6`2n z@kykB#&qpC<4_*Nk-T|dSYo|A7hz>01&73zUPeTm@&?W%=mO9b_*jHi!8GnVW~Hdz zAAC{C=lD3i{J?+gJWm4k|zOS~dIp9F0*n z_xP%ZUt#BWv`gmDd9}RoiH4*EPOe>tc6M8db0@;T&MX7Dyy}KNt*wa_^#&y|GWL0RYWgBO2=EyiH^9sh=DPt}y z7J&it&yLaOC3Glpa_eR0RQhB#-HG#m|2C6mQaPVhmc z?4NB`nSHY@XW$T?4qkqAV%o^ZP9Ay4HD^5X4@IL&ypbtkfn{Kgd`equ5rqd|$#e&2(SCH#`G~iEMSJ z^?L)C>U}=^_EAl`5~3I%mSk~Ev==#jkkBb8Y2-S3dH$LdC8 z$L=&(kXPvh-X^D(47pt{DqaT-Z6X544~Mu9H^^om(>SlxZ8F|N9u8BuMB~^om-r2u zs7%DPQfT9H?B`N`>gPH2C4K3Lwst<@==j~<(8Gp4zP`QQlJnNtHt5DYh%grBpy=#> z%q|G_H|G5apxa%$p!J9APA4*kDLfiH^*=%*Yp$wunPyoHUan)Y4=hgpd2x9OGtc5X zQ}RIP`JRzK8?&D+n7FS}!c3VL=HI{wXY^{#EvBiiU$>_c2#kPU=0uN~TzrPBE+c5x zzG$WJ(No?7ECu+jp3ywF+~}d~$5=8us~MWwKOhe~ci5~n=4pDj*FLat*W*kSw45>X zyKA><)$&G!$|^&~-3NHGlJi(@km(gOuAf#)gO@ftb#Y_oHip61`{LP67uAl`4Ksh` zT`SF1C-39j0C-o&VRfI@NFeXknQFiOFf2ztAAIMIKV9CdtvH|AdtObz)%;RoquuK_ zZpjED{8kis?)fd=n>Cxgi(6fk@^W77X9Rt{FZ!M#HA_N{7ybQ%n=37pXJdSbo!qU! z=Usjn*Z8uxo-anMBxPZP{mWt*8OpKdNU~D+ z?c1;uGt6;pMYLI%zySk?Ct+WlBwEVK00b)#(>7&cn+5!DFjeHyzeHz{Ai$KRm=l`d zns7FFn!TT*jN|yr2g)`qkB+(4dw1as8P6qc$m6% z9nIw0IK*)`5>6m=_Vh+eNPw)n;Th}T8DCNxMlKdBgkPGwE59Qfu5lX2>+&nISJIB1 z`e(iCaFndPOA+{+7tWY8hlTTs)acPeR}iM2jKEW!;Ek}~ZW7og8PWUdPF>MTSP)2i zHW7Xe&J7$|bxC{2`M^BIb#ct^h=)rPa-x>tYKKYNY;}6o5z-PeFVumWTJODw5%k$_ zzoJKca~*{!9(-__+LYELJC;9kOJ2c0cy7OP>eIR*1cK(}5a83T@9@#{E&TA4cYaq@ zZnUdIppRNNrY?>`x%R_u|6ff99C!`U!2d;OpU~K`V{G0cKS0$+siNBL76Q`e!{lurRG%jYVb+SMT$ola58jw7mo@knEx4KI!TvwDE@c`}c&{#H* z-N44TTXm<2-I{&5y0DpcsWIg<@_=P}1VYQ4x1IY#v>a0glaqF>D_&`T=i>9OLHWg7 zK1NLsjsogX$|dGIpJ=9%_r#iV%(%k(x~@|6Oc;u*% zhWu;}&*rCBE0(7S?^Fx3#W^ z-_P9y&QMi+XQ(}`tDutNKh))ur@`Uc1Xn(Sm0I_$A|=*}j*O5>fIONGkrA$ACLfk3 zfI-<-kEZR$l2WZaNFR^Cl{HiXZ@Hhza8^XJPEgE&XIVOFb(xsfCxGyJu^~%Vx`N9b;!(UQpIioJjKUvfw+|#@~AC> zFh@1Ti$Smt1a?s!VCjP24{;h}yA*6q=r=a8eOq4vS;e1|qxV=|*&SM-P)S-B561@K zuA~_CB{Z5Pth$4p2hM-Z#q8S+VpU(fVZbrhOmE4~RKFHAmf2XeVnBy`T2wtq-i0LO zE}HY&^=q+vt`Vcggh~v;zRlPuwC$vrhmV#&Xng%3+=TdfJ``_VMfnmHIwxbH!(l*s zn%=wVqZDSml6ppKAZ-pSo6EB_$#hR}B-*Hsz$@<(z4CPOOc~6#TWJKe;@gD# zZ9sSJ6)ya@4pY)Z@yJFn_upAV3!}b&RGT^QI-d2fbAwp-oUA5>q@|!@R^=M7hUt3m zh5=^uzP|n5eNtp;q?0jY#StZJ_UmqQsFNa&2${WI_7 z|Ayo5KkMT7d%&4N*7KeMG)sfbMk~xN&LO*b4~_s`Tc+XJ1fwdFq>LhqNfF|KSheY+ z3Y?T&`i4b%+T$PE`{^w9a50^igx_+%3wFyyfc!h2_rzegl=As-W;htEbe=WcG(KeJ z1*6*-&MV`n;(UmvaP>rnBfdg}5WSl>e}{?Nk(YL0c_`(V;=BOXJS!1jV7Q z+SG2!sZ$$g&l&%2Rta<-Y&Ejeul)cd}IlK1;MZ`Dbw?O{Ic zW}SZ|XL0nEjv9gRh2)MarfN$UrtXQ+ws-HE$L<`mVyTgNci0CszkR@RUQ18J-$>t* zo^r-cInzx&g?5bFPT@2#)`f>FRt3DwDbZn&*AbH6ZC;?9ZL?{}gq$!cD^I)}>XjO= zouW6No|BUjcVsJBU;=fxO;%3MW{HFsx3*roXFOXWj@!4H!RI!Gc6>p;J=L3^tjk-W zYm_}FJln-BpVPW9V~2%#39fh%tm}F6ws+R1vR~+~(0Td(z4`9lyKRRzd_H@D@}>=o zyi$5TW*hVk`G<@e8l>#`4!3LTpFIHlgcoP+!0z?J$xDC7kkR<;>9ypGP4Y zBbI0b4NDc$N!hF}X2mUFG9{MJ_rln}9S>>=t(aEq8^ zabTE=r5p!D6#)4+G{DiKk-_BFKkF}a+rDj+g=9=n529+EkK*0Us&8TYCnPWeIV-xh zp^dmeA1B?)xIn4?P${P1C9?nPx%j@P;48-Gw-$c(mpIL07-m^1(`uy2W9ZS>NWXyg2I-#(13+l5I~7U=^9B(VM3PD%vfNA374OmE5u!uO+rfkijRFC1CsSqqY#{jN>j9b1f;U8oCFF~*YW=i-a-o|3nMhue9 zKSoNV!ge?QYNzmU0yQ_%}$ z&MJr?1&Vp}Z050rVjw(5FX<=)8~N9)K{*->NNoiwA-9Hqy<`RI78Jzrs?${dq^~IH zS-g00<3L-PGKrMYO*wk>k0HO%`FHJQg4X8+nU3w(bZba+QCO%5@$-9`TLi))6)(rl z+Pp}RsJ85l<5sICtl4pX2Oq#_`*VMRmbT1XmATP@{ej_uxh*mV3TGFdO|Y}BJx`|I zyNkt6L3>FzmDbbGJy`$LTYJa0{FavYMG!SDeMpkNd&qz8F7_BRBrq+hKRQrmqS@O- zllBa4v{%lYu{-ChDHytxw^xr(MLqXh(%&|o3eobp*W}fE(RxJQ=cp~LiE&h-cn4~e zG35xusd)R?oA_;-L)D{!r0$EiZaw7goYk(XrY7Upx6oe}RZ%w>k}$V{x5U_IbbG(GxWyC}quKd#CXX%L3%EWDcx zvcE|REX*DlE~|Ogn+qe;m1+wRkpcNXbv=T`8S1$`!Ch5fc{zR)^>^NN=_a!QFE*iEs!^@uQp6Y zX&*&U9Dmso=65WmDfwzbWfF^PUw0f$@;&?mV3KwLnuuW=ZWMB?9(7x_3Uh|ER6%R( z@@k+g1m$dr8tp(wPA-%vM~t+HbDR0X_K0d~*|!g?THRHOZ5XyLq6=>%wJ)1?VSHH% z$h?nS7!4kC-##pK+;tVdu%+n2i6kTgnDWGU9oXMo7@_{+l_UK(Nk}AJ0!C#FAWryo zf@Z+^Pa*XrKOrJ+N2MM-f%I_5o++1_7mMX7)>Tk_c3z^)l3(}`(>{&Rx{2O$X7zwD zgFcAtRTKpH)-_M+X3f$S?!Ofjs8*G#3j`Pb`Yc@ z)>#g)413UwH|SzETgMZ0RV#dZ_mB-amVlXVHBIImWYe-c{9*wqB$$_VXSMX*3j$5> z+rH5^{Wo}FSUu0%4q`aKCxFi%ajQGX`Tny%RI{D_**!|jifT#@3OpP8%Gum=jaZx{ zNamnyCYEArp>9vw#OQmMZO{|b)dHAe{bqL%$ws)CeLiqo|H0nv+g^4vGAP!sFk@Na zT0L{|(xvqHMFjjO<(LRTj=b3d(eBIlL#HNg41<#Y%4_y(b=NV&{0=%*!5{qraFukw zok+RCx=f@fFOCnaqJw^JNyLi?kO?|ViqMqn{T^SH>^f$aSv_O~p827;s$@}WX6B-n zBHBRK$cNz~*=1`vRX3(gmni4mnHEpGcLCBkXYKm+dEgM)-v8(k$OB5|<>e4?p(c9v zyJiQFwUVGphI#|CH$&p*84by5Pcxa|1b-vTTQX+#oTzwQrkSt>X$K}x{Y`j^D2Rg4 zn!<;LFn*tkiUPoC8sQNGMszEx-!TA5QQp?@;(~F#jiluJH;{y?0;#qG|3-JJ3a3rZ zGK||7#%@TXh2Nn>309(iYZl}XTR`X)q>(}&y5->>)#O3}*d+!ee^38xWtrj=Lx zJdLW0eEsnk00MuxC#3$!8UMH^g1kfgI=yiX7j}nu-uZYNuh_5VL{**OYse#us1UwQ zsnpwpx1_=E8ilDf z=LHYQssvFtUwez5dvtpxEUacse;9$w z%K?tzZocY8uZ$#OJa6B8^;-7OgOWL8yP>w9b9)xeA-M8oNai5FHATgPgGCTtn> z!7394Rs<@J0uAVI;EI0#F#n*yj!zS)Pg}`zUJ*vxk}>K&SRYSSdC+`Ffkiq`Ica^j zdso(dQ_bPn2#`F#t}cbcDv!E%^7KeJ`HS)dgEr2~>lv%;$#cnYxYFUuly&1VXv{vX z(GT4TvP+9bw6+ik9^#zMt+_JmUz$xcndOc2w^aFl{YTam=r$TlR)9FIixU$ z+2;n?d$?x>RaU-`gI+0Z(kqROjHr9`0jCoj7Pfiz?18Mb+%)%rfe7FLc=h9XIe_VQ z7L2H{U&$!c^lGIty)#gX^!0Jb5x1!z^?6Atroy^>SUmg-asXVHKi7jvNa&D8QJG<` zb9kM4^k@#_UEe6$!ozwp93P`EJC z%LOf5RyZ$$MhE}Wl@?-+SjZLAWk|wr(_-9x8H;VvFt)-zfHJ|4K;u)(8*(=tmyD5t z)%Oq@4BUR}n5_IH%Go4fGH$KZW4J`Zc*$q}I4=IzM1ndD8jzM3sB4`ue{KsH#>!~i zw5Wg@02@?!g0xr$3(0j{ISkrjUVrL%PWu8wcmdcy{(8VbSNjUtqCoelH%Lu#YXzW+ z=seJHhT1_u9->@gpo5Rthy@L5P{)!Y*p+JajK160E%?B|M}bUkr-IMssQ6G*pD^V9 z#P8Lx3j06^Zy4p@j|K3x!bGIh<~Y{Q+wLHg#za}zRxn<|)?yBZpmtPq8~{e1)N&GV0zl-V}7xJQ7-*$c<$trF3HZay}Lz7`NTl48Pg0f@a+cFDyqHG2n-u^b=r0ve}< zCR3F;bX$F(@WOtnGqJCb)q>k3tCtob3GFVqj{8w?I59NF?lyF{B66a&JTjqID1u zWX$=#Sn;68S|z32mAu}C?ALl`6RO?NcW8ynwt+mjhlm3jpkTPqbb+eq9+)B%>ot26 zY5Gb~tqoaztY|ly%OjCyotian*K?8M z%ap3}@wn5C(?}2-^SOszw8`aFA`vIyt}QlSQ%0L`=dV7$7?_BGgm4GwmB+ussYp~G;m+Y?t95(# zACZ<0K!hW%abJRCm8Qr@VFuN&fb^H?$0A?52+Kn{CH<;L4s;L^4-w*^3tFJm!msb?<&|JHm(aX zx`^a%Abl8$q$`96^aqBT`Plk(4awF`ynVhvSOeg?mM@F#8*!hQ+hVLuUdhqRd;g!a z&N_b479v>aJ`uk2XqWG#_6Kc;CT&zY88tQeXU*icoPT!bQ2CY%Qp z57<$mT>W}Qf@bQn76lTs@7;T9WpQ5U99J+x95n?K3xT73&5U?EhRchl^30gmUaZXt zu8ilK!r6;fWMU0924QlV&Z!}zSI*duw=kltfR?Z4UlFH_K)+u zzwok6J`W;T-jfulLe&6ri4jQdE!Utt_;Q<=&^*)?61xr#mrwuT^6kjS_$in_Hs(DB zxRVP4M;aR~OuV|1f$@`rxjQ56`v|(*2nn4~ydt4fv>a!~#PJW`RF~%D2vgC$;haq4 zIT_Q7RhiAIaIf9P+FaYQJAVBR7QBgZX^7Fxg|^T*tAwjb-atSr*ec)t8*P;qZva^1 zmn>LD6Aw=l>L0}S_*&fZBDL-mcmS;`3(6jdbZ;RsmypL^ke4Ct2gKGQD+j?Od{h9L z<%FO?K#eVaM^V{R z-n)yF*M-w4nm6qay{7RD=%_#vDN9LPI+d6J{X&Kx$B+I1A=V1GM+c19G(p58IoL_Z zw+MRyU?K={`lf)YF%9x?;Y$Hvn?8U3yoI&(Dj>okIDT^!K9dicYQT4*TM2g)7aK@< zc|e6>HEx%&*Et4wh=3xv&iJ`%8vNAFpN&wedKp9K{^B+6px01cRE`z5=2vKRXEyDH zcmBc|?Bc-Sg^#9G8qlZS<@>Gppn>6zGn|^I2L*)*%J3e7D7m}~eRbU5-odStkqymZ zjg3v!Aa08LFI4>{mT=8VltswGv!QR!4=Yybe~X?URIFGDfjYbQ(lg31^;Wj4=OB{r zbU^{lO+bkb;fHTr9E7}6N-m=C!GgKmx)J`y%pV(iKV7Vc?x4W0JGfoRHN2v!^$p;v z(Pz!!!QRsfXu5K%)jg84KjNX9myE>pH^b?`Wc-wTp16Ccp;Tu`_YJ~|S9aU^%{x}HbeoPlGOfKhJMovpDs9;WG(y`cbY&6rI2 zFJ{LPm>pS=g`(orf&KKMYIzl@;-{JRFq0TNDCSaHW9Hs{W%R~J!E|HjhyWEHR|?S3 zKDx#o~duaNO`Ef5nZ;1G))q)3@0T|}fIq(4M z@7%ft9k`|F$XMj#4>3uLKACI)p?A&=sDYVoVPk_}A_PW6#3(;WC%wU0GJZz$vlPW# z6zk56)L6n1YCQx{ekRDv%Tax@bkLmVv)!KhZbruwSg$s0b)#!B`vWbk|5y?pv2JMIeYhEIeU!L&oZ#s*LTMP{Ysp#4MB_+`R>*>UPHRCdAMDUy)~5en8G70NtlhA;wH}aTb?v+*iB+ zncfYU?~tJrbXNbBvT-#s(oPb`FOf-9d6+?pCU~uiS;y>!rQ_->uB*AP7?^vmX?WOg zbo|p4sQ^iB-()rAoz|Jyjt^P_@NNp4O;n6=w5z&P*07RVIN5BaNycyF1zVTKGtaky z&qNRiN@kv%s=vSoTOy8?Z*uu>k=S%B5D{Q-j7E!>!79@F`W-SJgn;L zI|T|)GOFTL&Sa-LA75RxF2tWf$*A(Fd)g5tOT>K42-X+R<(_jN>P$*- zI@OXMSVe0eRMtLmaxvj_bjDNn)i;aQ=DsR_)vmbQ!kSakPT>aBQp}G6jK2qOUnAdR zn67#E*-*bDR1X4*#!98qa}38Jn{zQT&0f^+rOMGBW9WV z%`8IeEGH)?b~Pn1R@?7|T>XNxU`D28gr0AUOZ$Os+dAvBNDyqcXD<^x-`!*V#RXM9 zU&(2FOp4F_2KAX;NsOrC>Ke|vj6{5lpp)CjPxWT3uK(jd`oNzN{=MzT1Axp$81enT zUetj<0_Eh%Cyqn|tPolR4qc^QGQg}cQtUBnjAMtw_4e!m^1&W0PySELjj0|=xko`r z{{UQGP~m4qt+iy#zln0v_+0`35wu6qHd zYfq?0;@Qf{kC~5E70)2$BlkP_Mh%?_y`Lxu&d|Ak4N!Rn0IyJe`ykpfF8H;b4d{6G z`wBpmMuft&T{JxA7Z79oM?9UJJ=Ei8*Cj!^bJYVj1gb#O4=va_s?IVGqYGr2YR?|3 zrS;!oD@{~f&2z~#(FdEEIw5<)SKJDTVE(mpj5rK8Gj!=2(5wZyGdd&ERNToU!uS87 z?aKq2I1AR;>?DuJjVpzOPV$W91rfGpp6?@dBjwEfNZefej`w%+Bv?{dy_p7T6F`&>F+ zf5xpzC|;v&>n!YX{uk%K4ki)psW?Wb1zc8a`;=B_rK9WA;N29U@)Nd=jU7bp47;{N z3?dAaxcvPkGWPFSD241Wr%)VmjwcSU;yTQcvSjBkA-EkG5Sh)wolFJwttVK(JAgTJ zfxO5hs`e+a?H0~9_~Nt73@sgcxyk($^Zl6k(s!mO(ZtvTsgjiSNF0Bvz*|cmEpsbe zm41&o0)jzovN)FOWNn%REO97O$;jJ~6He~w(xJ9X(A$xF7v|oYgJ?2?Q6d_#UE3>U zgOd5z0NN0`*X-Ay3Ck|nBZt{Jp~AR^iHEm8r;fE^&fK}(O!f|MtO|gts?yci`Wzde zAULA;fAb;XTV79!3Q_R7fIIe>7+Rg4gdG)_1QKx4nC*{FE0FZ{_haSKq54jKbt|zB z`bKkxBi&w%I7!q^3uBq;L?It>)Uug88(v&)l0@}#%%Q!tQ`w|py!P2xa4S<_ciGC(@xK3f~QT=^#aG9t-(@Fx`-m5OLF_3?HWV$o$&~-}EH(3mldY0b*`f^fP zkEHQ;G#g2B?N_SKCz&9sqIzAm9vh>D+S>UkJ0p+yxg5l}WRynI>Fwa0b(Fao+7rS^~(@nMlMS$v1RmTGg{h!Ju2bP=%-4B+^ap zzG@Tn?_V%1Swa&wm|WHWE36!me`Eqp(p>IaP%Ln(+nh7}+Dhr8udoEc1Bps(BtZf# z1^plF=8Oi8`r$2SC}dQYi1px$1LL)9MA;P5x1Q4RDFZQ}O#Qg`47>^US1^s2n-L(I zECpcUxQ9*?E$BRH3tWeMRwOyY)94-$%xuh78&epN5+yY?P+L^hhU zlJ5N&xtTC~AFmYCJCXvYtdyqx94QFw+75V(6q{Pm3#5ih*HJA)S-B9{(CHFP?|s=u zxxA|V1N0Xb$TRZSmt8_dQ?4mS(Ud*01YDC3_KVV7>g*Au=i0>dBmyh&i0EIRY_yrB z-Gp2C0b%)J$K%Vrw)X{Ji*Y?L>XuioL|Sw3rW!=2-5zp7xELkn7i!+qH?l)qEgb~s zG?4eVWHmA{KoZk~fi1tGZ}u*c<2U=FJ^^WGKx!vR4~p~W7l77K5JQo+_@kT0HYsdM zc9^)KL=1XFAXJB5x^*cduw+=xL=hcP<#3G1uzhFL4z!V^a7KZ|r2f&C{P4ay_4B-V z?0Z8x0EPr(ISx(HJ`vIpy(Q5B(X(P%FwbT}lF?P$gH$ z!Piz;H8d00YsWgfrMqV5LoF0{H8GrJQx@Ld(+i^!`h%(*)GA~X7p@7vjzx#$c=4SN z(JQorIGC(;Vm8s6uBqIAc`g~S!X{_`GW6*Ts;2N_Ggi(JxtCy@(y($0L+T35`B_Bn zSLU7WT!SCyw!i!|13AK#)Mw=~_8^E<54Cu=N_W6HfuKu-vAQYdyl@ePtvzUdCSA`dho`hLSU zqt@p$nac-pMGQepF+rVlN#@014VQ;4kZWhd_{0vPcMTssIKh}qc5 zQ=@44fw*%NlJrs3)rh!LRMJANoeXwIe@7RFo!J9WSQu!RwH)6*N#--Op01Y8_-HpH z&YnHHAz<92sJJ+BLUr-t&RUk)+|mWJ^?yKzJK@5W+zo2rybJB#?#rqIdahP~p|wd1 z=iBZ26GS@yY_yNawU|?1GgiTwM{_sPzCi&bmodLUN5CaVi5_{V?7;g_1sbzS?5|v< z&8aC{1f6n>;4tn>(}FovyW=-2qYMdzt5ZZCie9|Pj}knKVgungi{X@%yMF6db)z}s zbs>u=p-sa0ri(0JUJ{4~9UJYomxV{7w`W=B#r#gO>dqVfCmJ|Ttgh5#Cw~xm2Bx9H z`w7Y$*=K9=eFP~bY{-=pP0Yvv+QrweS_KHsiAU7jhL+KCdY!;=5AV10n7KStse#8x zH^x);tZF(F<=1BqZGctVxxvl5S?B&vc=T328i@EWiFbFYFnRP~@*vsU+)Cb+)~NkJ zy2>#6*o)ua95xCVWU!@-iuVP=x&`GW;>|@mwvH!vLSKO1if)8}t|?7E*)Wq+-)CuU zNpFw3;&RgE;Jx7h9Q%9tg`(J3&&n7w|>vnmBjD$M#>8fv4(Qqw zb@Zf2V>HJ&@U<~{?`ZVG%0DDc@22~ycAnn9$&y?Yx!zv-7j6q$2QPb|tZ)(t;CE4v zDpJqH1R+4qITWg|o%?rfR*8=5plPS2eEH-$KYlTU{d?M9O9?V~) zv(=v$63$^(`sMI0s??=d$qARqO0TOZ*7SLloKK1T=ADFsHzIsaQq8z%81zdc_vP#;->^tQ6 zg_9)^S!Jxd&jh|G^v&F!1Gu8^!@iJHw(ecPgbA+B_48I#s;P%sY=-<6M!$6F5^$Pt z?)zV6t-9hO|Aue?R3~%NscP?@l;0uc9?!uzggT&LB@qNUU|W}FRK4bJY3*46)h@m_ z@ncm57*cwohIwbHJ%I$C?C*;D6&UPOM*UJ=%aapE;-Vg4wr*x)4J0Ytf=H6l)lok< zAx|8zwhp~=_LSI0M7%>*FBH^){4VMcZ#f;=UXgdkrs?s(EC?Tww z6PA4Y^GWao0K}6Z!ocB(%eYDNf&GQb+v<}1XeMdTDhBr0!vIAhIfWf4Ai`GvyhUIE z;sET;v#2lvi53(P=%)|$R)H;z^Zu;r$#2MHFwToD2aGG>- zSfuAvA=EDt1_Of=H%eturF5~n8RaCKvVupxy>J(GsNR8Y3aEi}ET3B42~U-F$M^Xc z+K|>%`g+y>$!(A@`Z_p_WK}DhU*R@9xXn21WZ!6jCa=>EoC-PI54J>{m^fLk0#%X2 z(H~1zIe`$2TqIQ6rwb|l!HuAqwA8Q?N0$)R7^E*C`7zs~UEC9>DQ9$UoPRua`hdJ8Q?WMR$A(;IA2LGai-8c zb)sXVf8i~bMtW}Z+u+Qya7s?OL8*pA+7`v_Ug8hu&e19ubry9OlNTlDJRD0}k@u$j zE$i)*5S0*Jp_XBtx2fW>6aS_LuD2Hn-ZEoW-Zs<>;;bLlowrC+`$j{3)o+Im8rdJT zcc-L0R3(l28&?^w`;1iin7q{Y*x^CSo;gt}4ee`x&-UNy5ndA9*FChhMKGw+nr%U; z_3C^Ty={2GM(((LEoOXC7eJ|f5{48giNAhyI^z1h*UEn{_C$zeUbbZaj`ecJ<`x3eVQeN8T_Gl|I_Cxn6vGvw5|1H#wsejAibO~yMzuD*<`z^j9cLR{cM9@Nv@li z(bzOH4t7y5kuu#Yr5oe7RmDAqKorOSMrjp_{v^MR;W*Q0{eFY3;+_CcF*5Z)zm1cv zb?}FeuwGKFYqf@NqZs(8fxiRxD?f%gtc>SDQ@1~~p0L_&xEHEZVgWzK|ASKr`vJtg zA?yI9oB$_(r_GzM^B_Ti2G( zxvWF*VX}qF_C6DtS7~9AJKxM65bw|=++4O&duvgVwa{4d&r3bR7wY5-iu?)(5f{47Ph86WnNnMoeGnb-O{gTJrzle>(KY zW6e>aa|4B^vvh7Fn;X48C=J%xBFGxaN=OIO`4TF=N`4&=TsQEQT#|HM>|!ktwFFK! z+fK>9JQcGzPR{A(W>teH2dKw9;|%SK4+*E39@Fi` z^m>%fgX3oYq=H*G;}>Z0)Bw&K&u^#L);f4zyjUn#N*HZhbOH={P-Ox7k)2N3pz6r_ z)>k31El-HzQKhDoL85x-lXssbelSqp^zj#_*Xe7&JPpo*YwiA*dbA4k#vVY073@d z%CoiLKnWeX$Q%?IZ^fx!L$}*II+kZ}T^@paA-nCL_XE89LKtKL5BM>-vQ7g+8Fy{B znS{6}s~#5(oBS;{qY&R0l&(qv7?8+_hhyQK)%&vMPQa&BR49YJl+UvhYYr`6jsalN z*HC_T0n&V#ropg5<0#d%)k#?c8lFJ7y-Ff)gBPJ3q4nm^_}CEUpf++VWoE^$U79Ec z#R2&Rdxj^gmTI2173%$rV8&?vNVilo36Wx**T>l0yA^mUF@@FrGK{Kw5 z$NeLE#Z&h3IzzLn+q}YTD`lM=vwuPtV1-JnMuq!O$N7S?gh_7t>{2&h`~^s%wo6`y ze}?LiN9`rlwZ%1+w6q||Kr1}%FI0{8g5tVN-`@;-VtEB3tIntErUOiOaSvyyMEvZ1 zhRB#z+EDV}iRI5qsoRU8;L0Bz!ibyBX;`fW?j@}&{!; zSR=PS;&1oOxG*kKG`s4r6b$M@lJ>OuA05Ix9Ts42(?$Cx%aq@w+%BGR;mE)6#9fte z;s0B$d^AI$MPLdUw`+Q(K_Mv+^b}5g_`lY=pS1}EmT*W%6xQ1aR<*0LN7*}KwVnCH zu-h2`c7NP1OA+7JE}GAzPD?B)-wXSF3me^}F8$?YVxz`nt`eAo!8^QQoIa$#I#)vM zjE{%ibsAmyuV^enQDMsv=s3f14NP!f)YScdsYfqOxwrp+5u=yY%z*;)|3ish)(13A zhTcdtRs#6<^4D-y|F5BRtZ4P#BW(`^74l5=>U?*%vb*!tn4nwwsNlb5s-Ji_VUb=L z0F*}jxA8@>iN9Aj`RUgv`C}t@U_T+KvXlFAV?}vuQC^~=LOMRei{QV}a~8x9jg}^J z< zN&|n#T+#Pz_FhQAe=eSA5{tGjjR?$)0WI50*FZF+3tAE{xVKZ5yuE>OR)E2`9R9f+ z+9dqimULkBD?mUMFmd(6hlj@|eZ3^l_2>ZBQBeS7aDRZ4hEU`XIWg|a&q}Mhdfd)8 z;cKK)0(Nv=Jw(pRTDgBzvvh{)KiIGf33k!x>1%nn;w^I7$W&eWo3 z1%Gqi|LN+FfBnz;pJN`X|I+gCEMe?}TRXVKBcJ{4pa1jKk+MH-eRcZlT_3MIa_r;p zuhuIa`PZjjq-x9cW{>8mhbo^sbbnu(r{$4o;|>uuK6Pt~VV2j()l8GBqQNU1qoqYX zJzc)N`FStx1DYW7D`ox)We4#0mZHEbHR3T6`~gXjDS0#h*JrpP8dW(ry9x=QXoUI= z&|6A=*WCKvGNQDwLc4cVr*sc+e5#E*>L?cGg;b&g<5*i)}wc#=~1}&N?SeqDlESNTIR}2bDmL`m2%FufhB{63P zNe`pD!{_|`Jo$DCFTrp`FURZn1KwyjBiAuNF)2Y5{2fbOkT`E@l>iI6Z9%_e&C;EI z^_O|iX#-T=rV{a7UT>1|g1IBQqV1ypY%4kc(z8Om9puu5N`1AdP8Jo5KFB=`vc8&{ z>yOo|ZrT*+qYw;cA#1;gR zXtx11b6D?peEkURD6OdH+J1laiOS@N03R&q=q0Ug$a=8o9br&QSA} zd`|PZ*w*SxHTj$xh6dx-rK2=j4X&NCyM#VAmbtpqfRGYB*G6YWMFUt< z8&mGy4L0^Wz;dWt59^=9ATo0OM$`ODDif@rfi8gC(epBcD%M!l9HVFCDUo~Zh3TYJBJc~>U3dU#IvvyF(n0)3N&ji!<_q!e{*qDENM z&?_tAM;AOwWQoQz+C_c~=RQWwKyRk7x}gUsP@iwJ2+oq-x!@msZ0ywwUf*cW3c7~j zzHIuQidi+(BjFX_Gq%VCGXJ0Vmr(}a3_(0mfp*VJSLhX}sd;+=+|hteOZek3NeNFtLLRW?*R$Kn`!D&8~GP|0-z z6nU~eLs*URK+NDTPkvBjQBj>tC7GBods^$=ONJ*vTkJ(-L`dG+bJW(_i-jiIwa0gd z&Znb&mr%|w>e+7O)A87noE%ug*+UeUtE%a4m`8YYB@&e2G+Q~T0gx4l6Vzz$^ z){<$ObYkR1Plt;uO*A#Pa)K5SyY&(-KE8FDPT4l8`qIw{Ty{+KYDY-PPWtJJSyW%l zilTzAv<@nf&qN6$l7pgN>X~>M1qB(3*Fp@Qi(07R$UJozO_;??mRwk6mG;n|Zw%Vt zAdF_z*|RLwU-d)a-h5TCmD4g1qU|~cTH%C^yI~G1?NH7)9&JkD3yL$=ns}DQ;xBOd zm^YfmhaG+XQLInh+49&VrZ zz_Y|qYq6~I6=wQ)YGjAThRO;`l1y0UdXHtcmrI^%bs=Ts0+@OUI^%R)^EDt40!1ER z4@vh;$Mu0}tcObor_hX*etiP|8_$Pb%KhA1`)+EQ_WXZGsv|56)BnM}M*|SANg`>` zR!)Z{HOozkK=UQ;C^v~!qVNwlN(v`I(Rc#7=wKi{AL}C3L!FLw}3Z5 zqc}VS))LkZ$PYPO?$+}cu-E(G7n z2cHgDun=E9#VQsrU&@5EX542jyv}AL@#PYRQoA!~L0~TIub!dYrMG)%5)Ll(%z?UA z{=CG-WWEu^TS<}|;L@FLhYKFb1*YHdSqz1^V zxK>ZG;G!G<>2310nVzut1}Y7t(RM??ey0L=dnh^|Z@78u=0Pl2F+)hABPDhc=hEN9 z5eTeTVXXP`DXe)l43k0)lr!e>K6#OOj9uT`&7K^KEe7xcl{-go&zH_mM0seyJCsD)lX~(qCRK$Td3(PLN-#$*Pm1(! zGt__(etaxYqR5Z)p6;&8uZPPETk^4_n9k)7&xvBF*S$Q50)0~CQK}--kCF8dv?>ehE3Ti&BMQz z>+Tf|m2dYS+@`!f z$BP@jOzj3`f6yOJ0L~Dx!J1AKRf9KVDx{J<@s2}z3Ew#=Ydnq9f4_>mXR-AM^;l_)NAVMGOXs`}TV=lN!@Wn}R$CkSG(C=~ zGE42u;Q@_m<HYwyW!7*sAUNIbzi=GEjpX9M%PpJ`wZtu`yjSm(ExyT8h=${{u}$= zFw_k8{pmX7_YP0i<{lWv&Cns=i%WD(jlf{Ar$}<4^S2}E)=dK}fG93c?)~>NgqhxK zAl;8s-X4zAK$CL-)t)vWi}CW#`$xJA&P5^UTwqc!83$WqG8|82wY7tJks}zoPxfCN z=$;{H{M9!2;GkG0i?l#jEZin-H9xhUS{4(0`gB~)v*Ef^z_rM5g==Z2#T?dy$gAZ>0 zxB`Hu6L!9-_;KM-`C`WOl?c#WkRC>J=4cjhtjLO(|KW1*9+N@RaNF~bd5?oQJz6QG zjAO@n$+chJ|J64@LN{~k^I@}m8_%n%>!cF+rcF^@k36y; zAY#1M=NkE*GaZBxix7Bvl9Yu&=#^+iNm;jM-EW{2#0Ag|^e`nZA_o6hWDrm?5La-TAz2!z^c!k3Yi7pHRJ{a=4)P4czs)`KPC zsE^;zGpbHwv^P5iU_qF_m!JBB6bwDC({U$+G1Hbv4Hgr~b~!?+Hg$>=Qpdw%XkAyz zq{T~e`UR?)qtt{Zq%KuMy8r7YJC&EKksgxA?i%!Fw{G9ih@4>sT#mauzi$*#RgDXY z20FfTOOxO71L0XdTB$q7t98*aYxNI9e4t+r6p=K$j$_(3!#&Gqv`G9Ij)E70hjiW( z9u`V+W{G%|K|&oYc&S5aIqp!3vi2b=tEykX4Dc?fqxEUroxeTmdmCIp^@awxm`~dh zyKrM>>CQzsDSfJiT60N7~!_*WE^}z=) zRaF6lwV^if)gI1K*oHjsO(hEtn`tOyw^d$i%_`{yki%? zn_Ea;?@GV#qA+9#Lm;mJR#snbt(fhB1!@ENCV^4s0_ zxVt%)+$yM=|3cS@$nwZ}fF=`$C%{&0rXCU6snb|FVBAeP3L6RlaaX7pS*#+1IhFI! z^W4@7zo&tYyV~R*rC~FS7(~)ww#kAXvz`}9Nfz}>1Voo>Wf_OQC)nXZuOkB)-I=(Cn4I7KA3bk50_)nJUt&;C7>$8Ahc^+0`D^F=1BHiC9dbX@(5$&WyuYs9G707Pu z$xy1!aC*&^lQ5SE9-zf812JasUk>2s7{jlR<>2<|N_ef!bVOHq@Mb?PsN@vod$JoU`cihAgig}8_Xj?a3)6vbwo$~g*g34CTts)>VNYa(A{Z9hND%8 zUh+z(r7?C#T+_!BQH1rctHbWUO^<`ZAOu3@sao0?n8i)Zru#h^yBFXm&=j4_RM29x zRQ=mTaTb?-*}{7NaP&g^{^cl(w?t=VJ`!zBKhso$LYAe2gYIq(N>S&#P15`Q>H!t( zDpz@_21@HDvgQ7Yfk8wa3&7e&3c<|ypdP3bCs?^*{FdqxHKeJ2j=nCg0}h2<+u`2? z8u24B6lS2AAvCKOL|e*4n<% zoee|ZVClzqIJ$G;8EE(?&1I!vXSqrL<)pcu^41{;jSEowagGu%-)Rgs~H0|7WwSz@dHrS?h*p^7rEkMyX!pIy#5TB zr~tC@lYdl)tw?9bx(Xrlz~Ati83y3T$f;C^bs@w&r`ePIg@wsPTyQYD;Q)TaQ2d4r z#Cw+|a8{WU;y;qu)fRINwE^G1tKRwp{g*$0d?V!TQaZe|M zIT=nijzt^D6futjo;iI{EYf`9$svcqq8Vi4wXk|8lLUk=&)DR?HJGzL<5=mgU2D+f z+O`b81ti*1S@Ys@C^A`uz+A~BVq2Yb@nNoulj-Q})ybKNaK60Kw5A43MUYR~jTOK-^1R+{$BJ{B|4VtWHQSJPS1;#ZyMsQHs`c;JN`ceet; zc>|xJ0Ao{Tt^|xk0`cgM}<8=ap22q8sSWNV<$Hnbvqv zB%yS_e=MGZ^r=ii`xp)=f{B?_L0ebj%8VQy+b#d>e}`Gr-Q^ZpSMiL|?>$!zY=`L7?@Ioqb|Ynx2893o!html-TYO<3! zFJISn+h_f7`1eD^oz;T>s4iYpszliM!5Nj??H3F9(XAnj$0>8D4WC!7G6^ctpzCgO z`XnGTP%81g{|M(%k0_#A%v5a>^d2H==>(c9I#*kJF4-7eskk}RMfKv2c7~2gkm)&l zVP^M2VmCMp+ua=I>PW?7zPYWHHyw5Xc^X{>C;MLZcX=hRt)dR zh|4=%k;aZ!<#&11V~0&D>B>4Lil+g=+GKirHt<(b@!k>sm|rjdxO1RjzY_Vj8WeYL z!f}Y<*96Hg)6P?q*W>O%I3!x~Nt^XzT(lE6X^2VbGGeK&w+IC$}}vUdiu`WD-GW-`(a0c0`6 z!K%}~*{yxq$LQ(KYDa|6;90}U0i_v)tKv2A>-+U)fcH2MheQ{#$WZe7r}lW-1HK~@ za{+`DHZjMt6F}xu-o6Mg`eJs?)9A1UsBVcHr(r6ClIz8Gl_RK9p6licNsEDcgf`x! zyxUrD#{S}oOE*jFkdjLg%qoD|5!{FpL!@7ho~sEk9#8$%0bk=^`En=Jd#A}mm|^jm ztY|2?*rU4!$k`FedB@>$-p?&ez;E&9j#!{RbUyM}A-UpA$Ta%cJFb|8BzFAZiYGvo zO2;!)S^fNqt*%bOtyDY0HaK7Qr7M&b;$g?bSU44?k037mB}EmaZyk$u6}UoP_jD7$ zl&^S2^GX<({K%E#I||@Kuk(Cuxk`Dv4qlXa$uyfG2GWI#n@i_;sk5&^OR*t%*IS8_ z0|Wj;bN*0x4D1L-xJ^V*1}HSyx^?RhV|AT`uAb`pp#}0!)ZJ>qCHW)n)xMoEypqU5(r1_j`?cS8&9q~Jn~|t3BCU0{~RXXu<=)< zD;He7rK^!0WDBjeNSM?2Rx7*tSw!w|3TbWXPc@v^?zW2+)F3Ppx_BMdUMgz5w86K7 z-_q(GIB|w|T0DL_!qVGo`#nR$7za9AaDHrPZp=;#5EwN$0f>OP1}uf?c<&PP>PLU|D+17@2(B-pt1+p&ql-QA-(V=q(?yD^$jVc^wc zS?|UH7Fvo+U7G6BrHKf;^5pZI`P~zutTsPe;cph44g*^EX9PmNkw?d^>RbnJC~m&( z;jsA~J{ZYQsYv5`$Xs#9JKzxbQ z*o}m9X8&Pn&+G8!FpBf_TwMghwu`huZ(h$b=5gMbIJ32+)rBlh0}b+$KeRD68>|Tl zXBv+x3_Od}uZ3{^g|~vLmIm6zHIE(A@wZk~nxK$AAXw(gS9;C1Ze|x;RFm4c0$6#& zI00VWik;!^u`$XpP~Zca$mwlNH}%*N@V24fQgY+ zCQUgfQvjOy8?513qxR=B0pxZz=icdnn&So(&ZOJ2e!naE=x&ePBII-A`K>sLxx^Gjy{+U%=SX{Sl^E`pzfEeMqJhe*}~1BRo=2i z$9H!{_y<2X>US5P*P}IEi)R9{$oFY$Nr1ngjwntyr$AuiQDK#2v%xuKFxODcmOLhS z!%4wXCf{gj_Tj}#(kx_UVNg$9kMMNAlf1tI{u z&j4Gb)_i!&#-uCPuZIQ)UsTg8DE;|`@u}co8O=8>n8$;%Gy(tZbC}ND<-E@75{L17 z!(ADO#~e`B7gQy`5imESfjiDQukb5Lm|u5*=^){IT(;5LxDV&_uNp3giE#w#O@7lB z{r$1_{u$Ppui~g2U7b7Q1Mm(Xq@<)ESnX%Gx}gJEX;rs;;6*Y8pVJul;QR3>9pEDy!6ITVsL9p4TB=ytsA zwYLolExjQkyr-?Q5}y_;NYNPU}oMv)pm09-8UK--{9sJ!`& zYV|5gmVV+yeP2d*V)haswZC%vu>mme>ywxZo|?#)c(AWckP$VT_K!wp3|v?d&n*9! z;?g!W{o+yaB>?z2QZVPQu$&DRPRRrij|soiM%D%}ncU1icTBiT@uCtgva-Y+Cp?-@ zq9p!&D(iDST4zjtJ3ysfl`mHS;wl&0wC*l=^bV>f?5t{6mtH`10^V4pn}dH>%uf71 z-(soA(I0Z?@!@Wv$>$w@=jg->C4mzuZdF>|t0sJks;TxKr7TBijfr@6=2u=U zg=Tvv#4IxTs-d87c3P3dzzBxSkcFsfW$oQk|1)3xI>V^htqk;ye zk0ZCdh1!%pKmYNw+aZkP6wD%;TJ>6zJQqGgT-x>EbSXHL6dX1FEGlt)U|+pkRu;4w z=*y~2;B;BEy`-Sg)#z3KT7J0}XG!4JsOpUMK;|CB$lTB50|T&9rn~yLs=2*+dg&0c zJ<{7YG&B@rGaC2{j@KU-EAje=@(N9Eq;(!4LE{i|i5?-=5-I$FMJ=VxkUiY+ZQeu8 zs}73O`GRn22{0s``%0~`veiHD{|eiUgoBK!Dlc#sbU6EWj|fQtK8Ja3{N~OLUI)E+ zZX;9<)$!ncEmk0lC@98gyOZ_BB;PS7`{Vc5im&$^&l|h?z|r1SO@pB!QCPt7FW?JcJqoNGvCbk4u7eO(D++`6mLHzNOe~(nM^E^2 zAZ)>?4Ss+0 zM{kl^Qr(HRF#b?N)G;3hHlYrdVL)d7UO9T~j~Y%@i5K;9`eIw2J5at**^M3nOcc-~ z;Ht{_n)@qtq;}T8SaS1qC8?mf0gedEt-Jk+t&wEb3ftqu^!!=OKewXQ{r)=v65}j* z#q;SKX5kw=PL0t+X#nY>V(2mor#Sl3ox&cw5b&nsc7zg{5lut8z za}B5i*^TVRu|b2EMmIi&cC0km&GEL^EGdRu#PuQk;^^jGRpKgi?TxH%AzpQL;3 zkAK{Tl`r%lcVXtjl4|#>^VpFg;~UMIlpKK0Mwx`f8jPb;c5$+haKY;!5$cE&m$1$i zNt_YA2ZJ?a10RNLqnpnr5Yt>v1xh{Zq!J2NYae`FX`2CkX{*Z+r z>7WwQg5R+4@yC6ftJDeVkcg3An?kf6N$#5~-mU0dZ|%8eV>Ey-($55u1E|dnw+f$P z=%Dm9G5)?B+O9ZD#RU07doD_J@?l?fR8=qx__*hPWVWOpip5;UFhk&b&v4=~9MvU$ zo7fpZ@nd<))xIu!p~`X9gk+r|k_T{9%cc$l!4dP}#=;xavqtc!<;|rp3Iv8ITAW(p z6<+uBndGf~Ld$N-!MbkL#+C%|j#N7RFMF82>g<@wMstbAc3ZqoP>X3_Y?mYQ-;2>In*pI=3O>05+3MLBAHE zce}Ps!bqS+x$_CDwGZ>janq$$Ew01uWOEL|7xPwKL5I2ekBOnQvE#||fmuDb; z-=dW{Sy-Kg3poq0ZNG1=Z0&5T(U_^G9fwN~y@v)1gz+f^XWsQ#Tj{yU))Yl6@3VsdhHTOfxN0`S~GPyoj~I9EJp2oy-f=4Iuul$x60 zXU`y0ZNvSU&B32J6~4$6GWcN1AZe}s=Rhh8VRZV%Qbiqt7OI`kKM;3%IH{sr`YfDK zrGjo9W4*VBE43#qQ-rma?m+Rs$x48t0Z>RQa3CJj9-8LdnKpIFzW92XR-;%1O|oG$ zYp?xmzE6e4C%dHPx6&2pp*3uiB7$!`g<#hkyr!CZmUn}!pXPuZIG&CTs z3q0|3;A}fgTQ|Qq_h1c&ty@PuUKkdqqjB>`INeP6FGpj+i8E2=#EIIn$dJ%YLI4s4 zeCd2Dbv}CZr~dfME_EX+i7OaP#-dYBn|}M%doHhfvd}8#&L>fiP9c;+M=RB-q(&$k1F6(vb@x z6$I7M;RcmU4b>OzFiZDGMx~V!<|%4HZDJa#0c8|s=J_IY%R5);BOcHpH0_qSC#P&~ zu7!hU1_dt;t*r#O}ug~1KqzPAyg7I3+MG|g`8zhy?h=6YOWX9TmY2JU{lVcH5w7xzt6|uXK1FL>A@)}yQQD9tk)#2RH2C!ZU0RlM zVt3;L9TeRSVHLp5GtKkEUK6&!ck|PJ19^)nY9slOEvFq0JnjZSv{=fXf;oSuO0scEr-w`9P<2o{V18X-aBFG? zNNx4YVpYomx}**)-786kYl%@JN|X)U3p*tB-`iV00y9KLN=AoH3UI`Vk_(zBho^{N zUq<5BmfuWyC2NzROHCI`Xd`cfFx^^I#C@|~cQLOaX|un>PIj)|N~69pvdU=FXT01x zt)*Fp_Fe||AWrP~uq)mLGW*$=Jam69+>IxR5}>*ZNYR)?3`Ds=Rt7A*KKV0gPK|R+ zF!33RcqeP&BIlDo2oz|bbHLlgV zF_5QX!CY_ugxF7z{v0_7rS_N&r9S1`8I4LCvX1UaWLm$5lswV{kTG;bSA;`sqTJ0Q z-Dl*iYhkK|iK^#;w)7U(uHi4-~i>iZ`Z5CWhy4TYkFxILPH8H$i`^{#y z0xi3rFYwd4F}hYoN06@KRJm8E@uBqD?nKH8m(dERd^;p2my?I2WR~wwq+;#T7S`sN zR7>8RI3~gJ@)a$WD&Y_8Wt2s3Et@MW6r`8kwaqnmB!PD$>g3L{Zm0*YZ5*B8#*Ys` z-hE5q)YXn*tdfQJyjZ3oee0k{1j3zPNUMGGG-#hCw{J41d?dZ%Mwj8|P_Tjj{M8B# z!khALY;(S)r8ac}DMH-2EA>{K4q;)!;@}Mve^M072Ru_6kyVS*5KYidFIX6uoiS~rGTg6A>G_6KvujF*{ht{2t>vwW=Bo0_ae zP8xhKwm0iDx5hSeiw~p^ur6b)P>*9CUe$X4yCk3)B0gE}s}DBL&&4gM4e;bfmX3pV z4ol#W#BdGlgl2gFhHYZ(_FH}XzZM3apng5;|DuO6ZU_e-1&QOtk{w5!XlCka|Km7Z{T0& z{?WzVyWQ;FB~`vpa?;$=csh~1)Ni!U1xmeE=><=pe)l-(<5IBeMnzQ#(zHKRiD8b5 zK0MZ%+d7i%>Nk`65^pIbN#SqMYq0{~SpY{=t@SL2qqUv>L@lON z)<_FtDX)4-8Hct-H?24o_X3K?bGe4qL$!C|99gUk|}MySgI$o zK3B(&)7gb&lQCIE?DGp>pO9zt!2-o=w$ZsIK$z*t+Lel_rrr`*E%cXa1J$&ihr_zV+rR3JT^F zn^BkQtOuh}!_~pD!tdBF;()QyBK5mjpGYT--S<&rEe@KREpdfOapOOJa7}d`wCB>)k|)Bo`k31GfoWs8 ztyY?8xh5@R=5PPO)pO6)AF@JkEzNXyJ`vbi^ zdjvb`4wlVMuU<@9LH;%6a}Hcw`Un3XAJ?qsJ&B>Lw?xV%ok63z=y^ z=_>~&{|etVO5kcv+4|G_c1!K<%L--aY}%IOq55GV&WDktF|gqp#JedvkK3_1qTOtV zrq4-+4UHCpMhi_7pB?OQ@@`M7VbS5LC!;4aRqmJdvR1Tck=2vM*UTv=%_zdb;B1o= z0f)uaRk{7SIYqV;K3Xh%&K3QTFvm-N01e~@kmtt|f4RvH7mbh}oS>-IZVY5!JvH9> zsNjrI_jqw!im8^U{n`O#z2Piw&-sjIJqyvvb4!EyZ@L%unX;~3q5Hh4Q=y3WvWYB{ z7KUic=IfT@x$P!jwajfaAO1pipsei7ucOot9cY;LNVjF*w46t5n&A5Vj+{S{Glle% z&IMeHQ`$ny>a&2EmN=ZvDL(I0pB8+H7i`M>!cCl@vg|E5=?a|L#N72Qlz?yS1@&=; z*{*%nx5X#zmbbWBY`I4!+mBxgb`2o4@Ncz|M^CdZX7B=3O2m5R79LemLJzbo+oHfc z;8WghmPWGIrn}*Tug@qKFasuP$Lke-Z3=NOu312GUuSQ}Oi22m)cvrg{jm;3?iCv! z;zshdNL&8NuI=0_i|=8=WQH0fJ@>b;$`jy^ggYUb)IxD~$)2Xx(Fg)z0cma7(4v3Y z4u?AAZ!F4paAj(P@XcJ!%Ea^hwx-&}n@FF#j`Q@)11iqu409+%_%nAr!A2=xL4g-!m$i$FRBQ!}86WSGq^c@rDic_oq_ab+HX zV0r1v?Rl(l^#j@bS5I6mlmm2HVn%hu=bh$g2HIJ$-Dw8)uYYU0-X}iHCW;TT8|%VE zIn=qDCZlR9;@1}OA%WwJt=4>jX%ub16C%F{Lw@P3Z(8)f68|$K#8#EZAb* ziF2Ct>p%U&10MEjvGAV@P950byVCyXgJHjsrZ3zMKEy>N&ZwAvA{abzFaS^v!bThD z&Wq50HEyij@Hxr*PIVPf3R%5Tj18|g98Y;$z1`Vw;B%_;i+*D^TjU7lYAzky zTG50%2XsY51pCxKZ4M63XxU%a($#K64mw)x7H0sWGSH+Z3k+2@neJpi8alFx5*sCM zqAjqWs`y&x*|qvz0~*L#njJjj3vy>uq;6CI$5E(G=Az(+t`3#PC_Rc zk3|dYWR#eh)=!KDZwtKHRoPd^bAPePF4mW47!HMY*d~Lz0B|t$THUgZc#%KA(Xt)5 z5$uwbG=72L_>;#$lN*80h88y|lyZaS%(WjZNGawoJr$_;;PCPr8<@kPTqsHYUa6$S zsobGf!e0tGioM;z9ifz0e69!mV#0nwiG}U){er@C;w^&8C_#JBXt|t8g_-xg#U?7P z*H{e$#tK^Iv_*tCy$u;(uRpfb*~jIeL1 zkmjy#c_zL;?3ZS=%D(liigHu-5Qmi#+jYS=B9hJz5$o9>`?^Kn_1oS;=GY6Er_6!N zE&+X~pKY+&g|e`Tg9sqyf!uYRNO}v>?`Z$@-w~j$$`Dseh{V_0R0LAl3}`ytG|`CN87fR z4sn1Yup3>2{ z#EwLwAUb%Fphp~VLeu`OBfI<{`wS(7UqCUfAJ&_fq|=_%w3x?Uw8i}EW zeXe zqP_m!10qw3`T;ed91ee#lp(YB#!vX=PsO%iPrdjswV9S~l)r0xudDF;?)6_xv~(BS z!rMMQSkc*F!JkNT8)Ik$WOQBVTT=J1e?!9-3sYwr6^J)=SHX@7 zi@!^6d|&h3LE-Io1A^s&B=v|{8Ep_J!j{CEV=uT~$=xu%D>=zy=u#Vby;tA!#G`>R z!yLwTFM(Rh(X%X9WgT&{r<#SRd*sPz;$^UeAsTx+n-BcOS_Dstb6%{vi%JGUJDIp;V@mp zRzw{fRB6i1ooKpy*|+0HaH}cI&bh2C0mn?tj9gdR5|}#P2;yh`-sUuieXhMhFl^uS z2S6-`|GtZnd!F+5KF{h;wWuoXWT!E2fly43xOPNn&KzMKpb7rnu4_Uxjvt;-4s;k} zG~^n#bZm-WevI^ouJ=7*l3&*6?kY5KctX=)ZqimGf9?R0R-YD4aUB*K`p`m{HNi=u zlM_15WM0>=r19yTjKV3R7c3Wt!ygbse#s^?RYEX61L-NDrfQ-%=KiVTdV6TnmK?R zy#MsRNGe$x0+F@md~$}M-DG63%1*zU0iw88e4$!=F`ArqY!7>_?QTJ~H&;nzwBf#h zLlpS3Qvx;Zk2`iU#9|TjWqzgtC$&cM*xeUNwBeF)qRKV>&ystGx6yj$iS=8Y98?wR zc=HNrJ_NtF^A)|e~jm&K3sWef9 z%7?+;TSX-qQ{Gx~pluQ?>gwYwaOSbR-<8lmp~U}y&#{l3=v=%-U{TG;crfpUdF+RO zto5`Trrq+E4(@m+H84gjRrsY`d| zjlF$wP0UrT20)~Guu1c+L%68O&ox+eF{9e|5c}$BQ%aNgMX;FbbU^uli(deH4=sb2 z`Z7gx#D9bR;iH`;nc~Xe5Zh0aMFLZb;ZQ^HPUiZSI*PN+NdV0K$cuQ7nzV(fGMP{bki9SQ5)eA`LUI_w@fG*2H8ryqhvk~v?ycf$*BwNn9$bY^pOk97SvpHu- zPisyXpLm5R=o)A`cQ-&Kg`=hI|4;T+-FZnbO19Jwfx7WYi_O;^g+ic2t`GP}OWH!( z>z3?v)9b?#XDQt3Tc#}U6prTBWlNeSEDW_w#Me~31^e0MXXZ6UCA(|QnG+_ijT)~B z)(LnxJWTFhrU}s19gLQXFSplwXV&a{t$HVA_jZ7RjUpmaq>VWik|36t2nqsWR5Ub^ zUPq5dMSo!d=2L_)X3*D!rvL9lD{Vl86&1nV(}ej$5Atu$a@Ymr0Hu~xTS)j)Dl zx=s3^Ei0}^t;OHBh?#mpzb8Mq%XCHINO3Up+yQdSs4&Slz=`cY_Bfa>?11guS>a+g zuBxe1;OOJ^b>5?ErCsjSkTk6nwpqDs?2n1x?{l^PUmd3Tqkx=U4YUo(7C6e*3eN>U zs({7+ynaubtfSsqo_7zxi`@QD{Rd-ZwR-x?-HNH!f$HLTwfSS$0`%P7lZR;W!)YPttj+lK7Lwz;s|AHFYMwUrEXWs zC$8AJR@kC*S~gX{lI=KHI839x3>$AG9(6mWzG6{;Lu;+y8>^%+%ANg!Div;Ma8iL2 zCp?u%Yzv{vx!JoMW+W#SKFE37qPU_z@0Tc6Z)XCv1oG#33@{+>><`Y-<}D2G2(&E< z7kCvt+(2$DDhXLp$YY=RCGG7F)!@3ZkzhU}_)63_qXi+sbto!09oM&KG1djVxC}Ai z#g<>Q0V>$_IFbLC4COO>?00Edfss8eNaJMK<#G;!Y_v< zL*JicV|1{*(7tGhocKp-mS4$3@%TEqH^UGJ1dJ`;F2hjcHK;UKUg(9@XV>BNH|CyY zvsfkjadPunsO!qg0tqjU!(1Tb7-pq74RrmXu`4`#^pfl@KXw$upRKb-QPqEx7(TA9 z8aiIW*c!lEV@Byy zVgwFTv%W{=JJDxnMl_U|1j?U3{{c-QT+(m!4(P#@0v!SGHr#k?7S%;Wl0YJsDZV$4 z+O2Qf=4v}G-{Eh9&Hi5M?GXzVm5}V$TzQj@XTq=SUqstmJn#xE+QmCoBoEt8rt3DP zK%et^clM7rX!`jB8mif0sHMM{9o~|4ynsB$4(7U^_knrSb$S8w;Nku0E8FIKZ8Pec zzd}GKhh}%Uo5`evxt_0sM@r{Lo%uHNMjSUHm}b44t(UiAv?X)cU)RW_?Ro9C0HKwd z)H${OdJA5UX2&s2t88^!flpC0{0r;0tf}e+eUl}!>K6jTRJr`%Ji(FHAr@7m?X~v> z;e=w`7wk8YTaEfmSHz7!t{x+lFOe}(U<<~wg6J^}rL@Clh;wo0$vGKX9Eg<{Iy7cF zqh4bq>;9{-g3o3f5YZ9wR__BQClIx*nW6cose&mjg%_qI8>p3h*K2?ZOb=p{3KCZWlX^^V33QQ>z}X1?)1rtoAKjHNFt-1711v3SiK80QUN3f zijPxKySnLBVQ-0BX2@Mi9pozJq?i?PLy2ch4Rvj@*Oz4WjX>X{(S!9*ymIFWeXlA!Y1U-wMF}&$fSG zA`#2V1V@{1rMTP@C<7{S{H>)LrRiEqWILX5{@ZZ>9M>Z`Tv-avg ztfgzT4|83Rn;)(e+Q=#_c*(E94s^kT5aYc*Thd=8 zm$#@35gXX8gkq-aav@}8l2wpkBGM)Nk%rZ+mxMoGm8IqQ3>2O=PmTSx%9p9Naj=u6 z=`TV@OA zw~-^9Y}sgNsK|wm)qq0Zp(7-_+xF6-hauL@E!(b#y1_{zHA!}}f8kP$bQBNmy>@R& zcKa9YNR7Y>s?0LvF*k#QHmS3>56GTt5er~WE>5lvEF@ep`|A#=2i5TJfvDGx`H2>I zyTYCwS+iD>dTb>@@`ullyz?G_Kkf$xH&96}z?s1}NOr2cPVQdiD=rq9s4jfyMnX2| zY|Q9;-GFxy13l&P3k8Kzw7$*Bx^Y3x|YI=xbF^mcx+r(FkGo! zIR6^MJak8q%)x;z4goTN!)J7*n7h5mbObn#KzQ1Fr*@sv*?LY(?84OefS^Gprew6P zpoZ-rnafh?Iu|#OM{iBG=`;>4}fM~(Gi4sf8}T7DYjBJ7mfp90VPbV$PG zLwAg@Vnt%&iqYO<{5a=EkS`4hgej;amR&e3c;P|t)Y-UxaZHW#uN;Nt1E^D?I7~XM zh!gYDl>=Vh$rBr(6mdQ$IY<9N$8M(Mx%TC8;h-IUT3KJ|{$Gk3GgOe$xn-}VfA4YY zjhmVW1AA{){Hh+l-W(dMQ#o)YCMrCG`GkE@$hKu3q)rTJk?jjx-KSH_ z%INfBjPY)wm09>Zk=!+7c(-V+zqb;k9rTQJiGmc6@SiU=|5o7+Xx%>Q<)u5?*O)aP zFx38{dk0$Mk&?psUF8mwFv8Y9&Q~cETBs+rh#E7kMMp(coB~?S zGl<2WER576)+CTraK8u^lQ#sY?;rFQV-ZvF0SgsIo($zGT`@@(s~p}k1m5lK+=R8$ z!k#b2xRNfJVqD=*VKWtM9%pnGH+X~RWbC3Hro$yb9pn6!yynFa)EqMB18{-|FaiP! zm}wZ&zql5t4$LOd$*=&*8>&q0Hvn}E zSl|P#L|mlWkDJ$Aq>{cS*+m)d!(}wYxklt+!!m6GVfV+9gt{X$S|J#{-5)4J5`PegcfwTj{+R$ayV$exFWdQa3y+b&gb8A0B=lc*;e& z>C6tnh-S&nUF7Xg=$&eg^GSBcA+3@kTss22eeTP@BoMy3NTN}SmA#vw9}DvGkk-~# z$g;2fcrIL(LM>#af_#4UE?>{kyNY)}wE?2>xkbi{^Tv8zIB~SA{3{BoBYMjL`1MDw zQ>`&GU8hj0$nPGn$Qf_H11kBtus?n>6cS(XwbZ#2N=E&EMf}>7feew1xaT#Y4O$t~ zsrCA~iryJnFyN-O(VA~dnD>|NQnS{b*o1i#O*7>6mtpd$o|wKqb;PIbaEHxO(i0N? zTHFSnKFa3zH^QwilP9X_hC2U=-TJB73sKLYl5{Xd;~h zB612!0mJc^JiGMera_9Hze;s_x-;v;z^@yYYH5DTvvM{+`&ZKzBzYJ1%3`` zNGov617vX4nFxmWl9$s2EMZ`uAho!V9hlZv-w3kYlReiSKIAffv!|9m)Dvk%GSsi6 z=sHqT!&$I)^SuTPF^wyP-QUe?)pl#{SQ-@WkJ18z6@JX1PGmJN$}c8FBK7xi#fWQb zbe%8wl!5}dm=o8T-)jCOZA8OL(S{pOM34FOfaFHNzXW-IvR4ZZfb|=x%D+Ul#R@mzGpS^0?+>IOAO-9 z#rtL3M<>@}8MnB3WR6}l zVD?WrntNc)xzLp}DP8z}S1I-?6eT8mX=is!_CdSC-?n^PkCC=wago?1Q;m&lYuPX3 z8A~*?{b+4Ny&&ciL`2kWG22@0eMcXbJUTL8+Px!d$|dGlH9MCqD8ZZ<9Wl|7AUOCI zQ<2!&k&=fJebRHh0U+T|Hf0)AU>%7rQyqyX5|Pd00nlD81`Cep|HJ%`#*?aJ+mlu0L>Qo|Y#K zL?DLU6147l**&AfRK`Hf`wf(wXV2<{4wu|I1!fU}DgLe1T0Z>|xAuPYO?C3r+-vB1 zsxMVTADdS1HN*Vhrn*r#8hWg1o9I!aDD4-x6)%xxGUx1%1lzi{i#@96bJUAq(zWij{?aK)_TAwzzZXK64?CHE#(*B!AD5E z{)Rq%H@giOQjuC9xCtZd`Ts+tPXEX3NgU_rhAVf18qWXU&7M#|oGH-;-b8C}5HaJ9}|rDwqC_a|X=%rIu|LIY$1vIXEGk>Cd?Xa>cQ8jt|ZzyEy~Cfq@F=Bow;TSx7>V7e~q*Z$Ka z4gTVko8XjI0QW%W9nj^BMw(vW8f;*1^KcNikhuY-Pf$_5abIjSVKD1$C2#qVbD`FL zLxiHj>aXc>Re$|4G|(VOyYL=|A*sD^XoWObe{ievWOweY*Va8K*Kfj~~l5;htBsC>obQm)uJ8B`5sbj80)20-q8n(LUWJsHll z6V8NiY3xjSf{7l*IBIu8BrT?89D4CH?inDjF=Wv^7erh=Ef1bMKB6RNLLTb&ERVHXmNfmq_^-* z>jP`YV##!w7okT=e*4E-l{XsPc`+g|I*lO zUipRkwwAa*HhuPHcjx2P_lmAx|MwqVQVo}`{#)*s)X$biI0qGZm2ZEfYd5d*ZwU-y zd##`~mTk?5s_^a)V2yDFEnJ`BCU-xUbr^M5U{zP>4Z7L15C*z{E28x1t|VxQg%w_upV#j0e@T{46I-+Agns0wf@gw7=b`` znZ1ml&gY}xxdxhsetB5u^O~?z=FZd`Z+#&!kQ^psf`7OMRHyXeZ33zJP@g4B z!Lo)jf^P-I#D=#|sN6^6x9LrdgOi59-=IQ7ESg(07XWj>&ySW!-jzA@R$qo$fMQHL zWdy=xzopEySzv84aDA*eFQ_A{?Ur)wgDDH93ot#7igl1AoxAq#g?KV3p>Vypst9hx z0B!^heTcQnKq{gjVb%1rEH&JImIh9Zqb(;KdvhmlMT~)+9^slC)PYvO3j*2EIacC7 zVD>d3@cos!sWsn0A6Z>R;bd6}ly;$0NE!kQSgWD`eH*-z2Xp4O=OJKi!Xyp0b0&f-~Ls%8t{y zeur;TF1DtPpH~&;+!R}ak#1_;J9P#=xth{`FHrXbbmUBQ-zIr@Jm@bKReYeh=`|?0 zq$vEy5?=<3s_EiScXmz{PEaRCe7G^u?ng1u>{+Fj&*1JIO&poppsL12TYG)ns;S!u zUB>Q8DJ})b(r}UTi{2|yIbSfMg95rZOCtM1&11GNuT5J%{oU47r7>@5c-pQb5R6~< z)~B-vp2%n#Q%4&dNk(*VkzEh{FstQ=XxVm)9YllhJN_2lSmET|I{v<9}GvPnR zdcEhLv7gnE?Z~A)T$$eRXYB7$t$5Xohi6DygPo>usr|s8xpJ!~>+`SfRMF_QfuEU8 zuwQ#0f!DGp9`Pj6OaJ}FKwcw7M zGX2%7=~houx|%;pX!qZ1>dRudU_6JeR~XU39hT=w6-_FP-7(|iu1$g-R_IWN71c}k zIw@x*G+BWPu&Bioqzti@OIkE{L>GMWtqYYu8Z0tW??%{7c}_0qtny!bV-UlWHif!C znI=W=mIC4;Rg)$#9{QcK&77)=>bR36A()JqzAuWMq9YURawHse?jisp_V$!{bvQiq z?4fk>GVd1ttFi1-2-CBCnQkywV+V!@JpI6MzhW&!Wt5y7Skz7-AgY{Ba;U$m{=MM< zun{>nt0y-O*@~Y;Lhop1i?239ag&Mts#Tw%L3*)9@T53O z@PvG!@87|R33smf2}8)-K~GD3>3BRV$ZA@ySHNq(qQs~So~6v_3Gax2%mt>uMtpqW zupurynj`onWa9}#hC_DQ06?ycGMOs)Fe61UH z*?nt~ccV3(0-qGeN z9Cc-uMQPtQiR1S=&_K4K8HyFR_sZ`qc2E^M8Ts}<`&m`9MbM_e*l06$^J7B!7qp!! zA@o3wyW8L^^luF#H|h-fZ8s7KuiK97Dl17N8ZXs0b%;>upn91ciNAW#FO+)J=&Y_x zah&34(VOu@y~KOex9;#OaV1TiL|^FN{c<&?cv+E_%TW(6InO7{Ydd7#oydMOf2^o{ zk)z#aa^7(--NMn=Y5Ly39_e!He&+5bDC@0cR<2oT?{nzr6QPC}a9dY{sBYrFZVNu=z4(`%qviw3N9(!4{rX z#mx?|kAN7gh}L|=K!di|k1`nP{#lTjEs$SVB)7{bt=-?NzX`T=o&F9E^pY(!6&O#o zwqBT+>F0)S?OTn;tLN7S(9Pn6Uy|&Aim<`kZ{1E6qxy-4XE_laa<%5rkeIaStitEd zvEaWtkJLKuah1!HuL+<>sDhW*diS7p6eF)2eHm{viT=!~P_ek{=wk&-VsrRP$^C&x z0;<}?@!Gp0YPXjhpi@|N8DOqWAoM^e{p-ZCM|o-*{&)o2*WHpZV>)UIb1x`Q6(_fe zB3v#qup*pvfoy6C{8#=G_#9d#crH%ZT#rr7#GR0Li35_z@d}7~;(&BNZcfLmbZjTu z3~BIRUvaENsbqBmmf-{VGFd7qP==kx#7NK~N%i?IFSs)TAr~G9TCz7A!Yi4jNv69& zYUwYlR$=-whZAtnzGf;S#d;h9r^F7fNJbWKhP!zItwID3;3@s}mc$vD>f&lZ>2{QG zESA(THJB4B{uu|fmP&3ww24I34tjj}`Sa(0R*gL96~)p%Rj8M>UOwr_&f?58=i4TC zTl_pj7lqXzt(A>MWxYF;Hu?S|bBD|R5%!HWwu_kwQVt&xva^vGqxj``;CpNi=S()t zHC@{c_lJXn6_gndhU@MJu04Bp{(?Xg@g&o&ym)M;-rJ9dX^(mTEVI7i%2~#%ETvfm zZD)8DZy9Xm3O&gv~JsY!leCbPv3EejRj%vR;>rd)5WiKk}m zbf$D1db(OpH+8fk!|Js1%N;Qq>OzuhH@wQ{BZemliP>S>{ z$Z@T*T;zo5?T-j``Vub*KWe!q!0{5|oFhn_v$M$$6LxG7?VxT$4mX3F7ln~(kqXx2 zwo`mS%#$a6%eQ!SXB#SvdbogtXVjt{uK&iUNC^jHXI-QdHjKo}I<{rT57;RWw(}vK z)a%!9$)gqMiv|`jR2xrqiFV)n_Cd-v18gH)Z{yxzPEEhIlBpJg7YDDpTHZmFPLfi#FM`1zFDFx0C31I7pi|rPm%f z(7>bxqzFz)a)xAW2Kc#QdP0phqxj`sv;7Hq98C&vx*8Aav7?o1?{XZ`k(~f4E}NfN zi&w?n+(0;f#*y#8;^AkhxgnaSd>X}dW=4XHX5a9INhDRl~ z{~drdI6ekHcRV#L{&^NsdF+S3eo@tsnim*OVKL=74wO?m0I-X;!8J*ZvtH3kq>qQY zVu`o);wSkEJ;@l@&39w|Q~JYi{n6k&%2BYq1Ppb2bCVW?qV#k<&W(4lcz+l+G~y5; z8cg8afUtV-G`$GDOn%9vUS4vx-$YY13$n?3_aP}wRK8+^YZ4@A!$_WaWSlW_*b>6k z53(Rrvm$9{?1j_v`*$@J_6^f7<2416<0d3{#u;lin`UV;~4y8kmNFXe4>#4F0 z4<}DB9Sb`a3Og6Ny*+G!#nj__T**~?&ymo+TO(C-GVudQnKv%O^D*M+2`!qDjY*W8 zeA}bE!ivF$E@lU_kjo15X9>tmaxOcbCLAhHYI~K#+P<}aUKQ+O5e0T~6F9kFtKQ`8 zw^Go5N=+lxc;anWL`N-|;Z6!DMTr^^R}~tv!0aPe^JBjk!^3-tMX&+aID5{yAEkXJ z%5E2(W9kYF#Tnn31@dj@)#EIOj19f}Lodn-%|5KH79o z9c6UFQ+$n7mPC3da0Y*~a}-N`6XgyQ;Tau9`rC7(MdcJ_Pq1CObL1tx_#$oRgM2S~ zNB?<4R?vh{#;3RQdiHw%b=5Gmqrp!G2P)#@L-snv3F-r|#LiRTo;^J%0gQtj*5Byu z%F5T>P~+znK)b7vcI<(_5UF$dRYA|MlChsh7w6Th-@)GoqU&D(dLSEEp$G$c5J0sm z6k!*qS1Q!80*5IP9pTExi>ZUDWF5G+kYmrWip$3IgtA#CcbBjjUJfPUzXrg5M?`B5 zoCy)FFHN55pm%fiAkWj)&y&|=CD_&s0-l%f5KdP&)VDYULm(0d-XhB^p$>zTO1OaRL?Hdn=qdfqXGp(u=XCTE*Y9M-?_Vy~?}XJN{l`xTKiP9fgR=_y+CW1F`C+t4g6W_{Sj{5;n(Ai&h?6w>nKlE9phsckD>v12>EN%}3qd zt&h+6K&*n8{4&;%bm-6@5S0F`t_Se3JnbC(?MUQ7Rc1^{4<4wCqU6}GEmWk+hGZwJ!Rq4G+^zV0s#odbq^hC`HlAl4YSXz9DJ)g`hY zDJ2Ph;ez644m`y}^Qx(IC(S{R^@y4=G)V6rq{u*Ml39xbKb3D|41q)I; z*BQqvF}~cgWeqvDtSJq8O2mU3eJkMg7FLKi|D|j3&xUu8`3ACD3N+~6y$!Gdb?5I` zMA#fO#|9MWBIx~NW5%iEA&k(>1&sXNV_&DN;)(_$>Gk6@1>fNWN9wULI(%`$MvnH- zuM6gy5zMuMgiZy^QOb=e6bWHf`+F6ZsW>j1*XUn*C#|RZ_JI~?Dg&O77;?J?8(^%u zBHGcFJEIB?ZXczm+>Gp_t|WqNe*?V#O#sJzro64>VRZQ(JQc-vN3imj8b*Yl>MM9# zligJkLpqc)(hJrFz@37*itxy5~cJ;)ZFj}LdJEq1aGn|cthBjW6g!Vtj&&}A$z5mv=ud(1nZK~Ul#9>deE zrW|zos(%B1WrD;+DM!3gfEM(CQaydf+&@5bres zzRSWlmvJYXAI@U&=a9<0o^$XLJUWjap=r||3QEcRC*yj;(aaK0qrH29w%If}z;4zmft3(GvrCtKm2aK>#-Q`@e3<=GQWo!JgOEns&k* zd|U=60qw{j#DJSxmcS}u=7`N=1o>}Oz^w61Jh7#3B}hIKm3b~7BMA8yH|gHO`Tb#r ztQOUCGO8}iP$lR_B0%z+CbKa!DxUX>*Vs8`<4gp-7%5{wfw~?YL}h5m-L1nxxS>Cv zo6K^H3_qoltad{W6bl2U9+xUg00@&A17Y^Ff~5+`oAB_TCQ z#|_dZ@tXeOu3&oLy0!{a3-S*0ZFQL+O^Az*lWg<;VQVE}6I*|*Gv_AFeV4Ib+<1(7 z+XbOes1(j*%g+})#$wNp$+;u};8vX5^V^!dy;CL>II6ZwPB+5+@HHfgD$sRxu0@^| z#BwcOU_1W!W-XK{lvv|uY#pslQ=6a$GC3d2i1@}z{JIl_P(Nx%Zv{a$)Zv8>G>crb^y-Ww@h3plAb%J#-i#K5p@4KYu6b{Lh znMW3kN0aO>5$~y=_3HhToAv3neG;{ri>3Cox;jfZ7O3#)uxsK4oLo)UW>Fz%J{me$ zfatg{G?rJFiE|3Zhi(gLKNSQ=R+JvRIjh2_7N;B@AZ$!RW+?IJr>BoG7? z|E3kL4>(J&T@fMmNYKkBS^)|msw~|?mKeKt0Ei&2N*JY+pvfPd&RmnaX(cUdqrG&B z1q)V6U>o7Njn9SmBWpEq4xeAYaH5$TwpERhbKe@{p~XB44gAG>B??1pJVV36is^z^ zR?NgmhLUUrDpXAOZ#o9koX|N97@K*6xphc&j_A`z48B8e_*Gmo!rWgjBukWxsttnr zBFBo?xYp+l8*vpZXNa*uY$p)j4M)PNxAJaGutl%$nd{fKqB$MufM1HRXrup+M6j@O!V-dss)aCpaqM@y%;5V#UlHkcV2O~1X>Hm zJZMenYM;8|p1!9bC7(K`wq`O8z-AE}$nSZD4*&+6WZ)~}ennYRT=T9!)X?I@2oIfH z7$C}sT!1E{AtVR0ws^-9uu|)NEY;M-ky2=<7h~;}$4p^!22OMJlR*|zf?Ly9&$;;^ z%OnnLFw0@d>5n-amT(EEshEhKA8a3|SpZ)KfJ}_E-@JsqyWb_O$hI2-+iV8hCb9y0 z_Z~C~E_cdisRcjqdu*0G(M%#-d*=gA?uE_ml>W>vY<@hKD3hd6W<$B2(-Viexg(0` ziZ?C(9UG-TA`j!uT8he()r^~E6oXk9F_y`^?~1L^fq_kriH7|62Y%pXQwQ#)R4 zV|JFIO}4YYwQ-=!3tLxM!P2$vNy79_OP*@Vj26rac$Ev zynAq{7D!8$;J^_vuSyYL*s`-h8emR%elk&;J5pD}EwIESDlZDM;@$laq?^EErsZ#V z(9oLgb#?zkhRbsViUKzh2$rtsWvxo=RH!=_#NsC}+Tr~Ta$zypP_f4v*t|0yP3Q+a zdr(kXd&3(MnaY8HjpprYAUh;e!7`m2W_ygAfgw?9F}Don@VlCkV$N9-G=PGRpF40! zfzVLtsC=$40DQDhe!Nas%8S7tE1_~_sLSP#&@=Lr02b}JJc7EdmvvfFq19(bG!Vi1 z@1C^pLXby+Ff+!$2s0{%et!ZQ_vBR9$Wug(qU3gU&Lww(QkC~a_@6r9)w{yp40Y2L zRI+cBCbl(oQ17+-!_TGwzXMSi!T$<$TjVeEv1an<`U< zAiSkwke8NluFXO)lA36+K2XaX&=72si=z2-wT@#yV&#b3!#B0ouh~Y}4C=Dyefk_V z1xVW1z+ibTK%d)?=J86?mCX5fCr*VFLbv6GhM;Go*`8x}KS_;ZOp=v+i zZ<5oXo96PusnB&#oSSzM<4*u#wI{NMUMc*6ujRh7KYDZ(_?y=RcuZ(keKh=A>!a4X zLSJrlcyH$uhyHlW4x#d>CCTnI z=Bpegdx4OvSwb)PngJ?m8~Xq)Is)AIv#6I264f`AL%_7_5pW}cV?9lyW>5U1N2e5G z>Rt_A$sPPH0(4i-N%bJzmE}lx->Ax^k5$GCuee&U@=}1 z4c!dLa~rEMZSFt}y6q}g`VnOowEzGb43ydKI#ECtled=QniJysD*^vJJb~tbBzw6$ z=TyCUn9+Lv4h&?5J>j9APDmU9_m#}v0A_3XB@P6;XEE7IA$_e#k>C!$JjmrmRtJ7| zW(1XkU_WODxGpRjULG@KF&wJ6>W5o&{;w?>{RZTpLbPbu+39O zT8q}b6y=`jm~`n6%I(YMB7Ql+LjM8>Pq4M7(;D^wejF@n4SJ_INUwFL`AKG!9&hgd zdd^phK=?sa92Q*~!Ezlk+7d|KEZCU#aInkzj7(b=p`B)ZBatgkgec zFFW}*W+9R80E$Z***pGorjfmM3aPEKB3Eo=k719Z<5{j7g3D_`m$#w3!ng#=;E|rv zDPWzVhpbb6>Va~Jc~`cAM7|G!;R2pF&Z270!WZ3_!L@b0_Lf7>Y6P~zjz7{4Odli? z4))XNj*h_d*;t(K+7)jzqO}1CAE^+TZV$P4Fe{khCEhOs9ja+XPq#|TOh|!b znf=aqqOxt!a4EaUJI-<>&C}iy3ss0>@~|le*C$2L!h#bwf zH)-w~#M7o*f!(D>+M=bu(b5}6KqwCAc;js^e8h+H z@SvGy`1y+Sc-7&Gp_aUAwiikTjMBDtMHfnNaB}U=;@3x8PX8UNAA8KI zAD^Y{jUvR&N z6j0@Z)ugvv)puW^!s|W_&*f`6`Fkg2#sQ2vNN`W;XnXVMk_Ik2@RS)|)R|aO=gWC{ z1*;-=m?+%uIBTr6$z&N<=D{K;F->s<3%3H;v@w4gEY={m#n9^&-|Exdw}H^-_9jiv zIaMQzUoWR+^kW}9o=FrLp|9O#dxNZAm$sM3|V=_lkX3pK*F`#$^TQ2{E8)rpT=fl+HBh>LwB8iDMNSA=<91k%C zgHWKK#fvd-tR&W(6%N{*Sx_3iN!n8dDEigO&~TIS0cqfa8U@Ruy{GLMb-XZCVu8sf zmfuiBsMr+<HB2);Ap1o1)p$h;Af<=8 zIM?+Tll@-r!mA&bZ=sZY@ukBMt3lBnTh{Oj8+9zJ?TltXYo#N=`V?>8<5ZoyGhBjh z#(zLQ{{V{rOPCgDtls?g-WIo25-=}x55gwGC70y*Dxbn2FyHdA!r7^#>3aH zAOTEX#%Nq4_>T3t{#w!+Ror8p?*db^lW@(yBrCM&Me2ka=YXL2ZiSN-edF62m4QUDejL%Pc>{KN(Muca@ zIOP;99eMU4;NV5&<-40BbNea5E!j9R{USDlNX~MRl$uy%-gpH(;Sx;4p&%R`{rQ@0 z<)5n2sNh92&y;Q&8u}`56Je7QEXxIbD_Fi8RO?qNkp<)xfLjQu6KH zT5B>T(0`rj(88-3uNh{Vr5<#ve_8k77*zFbye9_)&H~?4M!B8&D)w*i@bvvhos4(` zPt5441)~iLDcl>POTd2nGhX~&rYDV^V0|(%N%6zJ+UfpI5!=l|pr=Y4x|}99zQJ)U z@s0x?rQgkYAi;_HQYJr7kJ;aXht}!)&T|k-9!~xQ;bcHb(uxwzJKS#we((14*bGFJ zsh|5QL0*uMn@YHrG$NAonOg2ev1RxN*fFnNewRCGMgcz_5xUD*=abAnUr*c5Hq*OB z#&X!mki0`=mq)M!)W+kHh42|oZADv-p*Qk!Y>u4wpC=X9gX=O!{abiU*}d+bwyQ;# z@NIHbWwGGE|8TA&&t1lJRgLAf=+zXu37IVmxN8SZ$j=cP3MMM3HY4n- z4#w&wrZk-PVh82ft42QeM=~zCYtYr9{&fAtmNO;{$wrG2KG=w%u8W*sb~QhPuv=cS zhsLYt=noAoKZJr%wZqXMNRRXqeu9iD_kj^v?#?n&xop$rTO;rl&{Q)tE4K z!Dt>N;_-rh4xj|;Sz*NkiI2jBG>G$S@SLhj=u zwKlZb{!?nAF?m5!TY5NIH_mA6&8={GSF&5E>xNfA?$nyAGo>&CV>5m<2N8Q!`{Vlh z@rKj1wx;B$o3vzgdND^k-7MTJ^-6H-#cC>ayyC(0$9<;Fv#``$1H@d+67>6&(qFr4 z4`~n+b{+Kn-f8)W!xaJ{1u)Gi{#efO)_)qYi{u;&9Xejdf=EoEw--b+xyO~>84dw!_r;`?fgVNoY6QJV|>GhApExw!Y`I6 z2`#n^H8S}!A!d7|)Fa4sA6U_W#|RY)oJqeb@zyNpI1}6bzq|bQGt$Cn#268seUvnX z5c%Sewu>~?{mVarl27^F|5{C9jpDNNbs3I*=bROZP_z**n$NRg#V$TE9JB zJ9k*Y_vLreF3Z>UQEPAGSHh>%UkP(9&T5OJvCf;N7H)J2YJQ<%OVndED4kY&8(8qk z(HkpBcJULX;j}`=_~lI79t?}RpL{C;UjB@NM+%xS615;{*eT3p2`pDy7WyJjH_OQW zE9hT;uJp0hE77$yQ>gj_^6b9D!VbEio!+L$8h;Uy8h`d7VV%i;w^%U;g9t&R&&Wx& zu#=3 z9ir(eknF^oQqB9O6{mRBM^1X(4m+i>=+w5Yz}A7{*S5o$>opM7Jb)&_m&kvhX7lg& z9{w%tdR@h}FYNIDt%AfH^uV8yxJsUA@Gc@}EW6hH1Idm$R$+J`j_5VKoA;b5sQzhw zqGsZ1F(q!c1h)C~;`bcXF^EFjhTFk^9H|7<8n|$1S+4?D6S{zg>jkxn3?p)LjEypJ zEP}je?B>#%KSazp)BO<4ynmmTnwW&@BWKJGBe6cCWpWg+|$R z7-cBvmAe4p5$g+X_HlP2k8V{166ZU?_dTi5E7I&OEWk;lFsI&08udit{4Yg5?hDYQ zY`CL~7sA36<~btXWe)JA_tLfl*6ryuojuA2?kGByTSqgOgvhciY;9B*w^q;QMoL4F z7R#buqC)J^EPx7LjjlNm=b$praRTmY6WkTaRGnnE%+O$359&o) zZ&^UV1eJW`*x%M-Y}L2$B2fR!9Bfq#)CcnfB#mG>99YjR*w(N+Z2YLce0p;uLv4eu}#2xv^e7k3d&$Qxc71sv&0 z<9r%JI_l1!zvaF-98GcrYiZiHo2mv!+y^I~DMbG%?D=|gY&6ISnnA!oGox2|8}#XU zFP>2-v8O#9K%~GHE0?f?7Pi%cHgF{b4|s(*&|Z}kznpiVw7(f1Bm$IS5DPV`b5%Ud4EyLwNqOKwS3@AH znW<;8uP3`t9_W5HevYM%*eOJM2Xmj|4g`C;ZL^%ACL?Fqs0UuzUG&QCSL|6wfsp2A680MqeGoA{JT|5?f$=1KOBMXWiy`}4F%9C9lL7gISt)vVm71tA z3Z1i49L?rbGCBZeTzB*OFCdil*cWSo2)UJl-D%|>wB#2b0HKXp>;)q@#w9Vo>AtgLFG@QId@i4#_!J@yJ0vE2dSyw8B4Hd=e$s;TnB-B|PHN5pADH|Cug;?p;6 zKM*$_$Z7R?!#0hGQ@yZ-oitzYN=($oIAHsM$2s!admkDic<>$bC$F&?e=NVQzzfte zd}x}y1I*cy&>x1>AJhuk2E68j%Rez(e6G#0>FA%!7#5?T zBD4pX0^+xd#Wy4sh1TS`#SI|1tgt`!MK4`Nn0|ALnvaPA6r-)U$e^nfYfHi6^YCB{ z3ECGSzw!gU7$km-y@L=6sD-|de|QX%wBRJEM_x@2)Jy_}NmebmCse%$u5ji#rSx+D zM?_uc_3kRraq;84kd=ijtLH5j+AvWB!P0qLTW7KxU{0!52uzf%ywkOU({&Rmch3In zH!RT<33&sLYYO3K)&}|7<_|^`n99^i~8>m-=V}$bhw_!xm1*j5{`IluMEXP^t2+m6^kb$DBzX%KV;%Tax=;8J&aTHU~?|kO}OB(@fWE6^_yZO z02FUfS57Vp0`Jq&7?G5_K>8S)wSJ!B_Wt-l4T3ebIUH-^$8uQMdo)kq-pq|>Kx#Uv zsr?+EDH4j^`*+PHCXEe%_g(Q$Sp3D}62IedPC~5vehVc9CZr$nzGUi+4dnN|LPZIZ z`uz%QVe)XCqI~Z(*g!coGQ@xS-INy7n;*A*z*3}ZFvUkctcErz)8x8i=k&V8N^$QY zsb7Z9_(`I36?VnQ=1CkKwi`fxKLhN-V&zm<)7cJF{pK-{(A^gwM6 zISh36_gyXmh9)gVdvL-xoJ)M*-zzTuG7}W|(ewiz@LU*dBJ51X^W%B(Llk3idWFP+d;bJEvl$0=n10~A`ubowb+Aj@N49o17ZXA_91couc0gj6KfdXuGFp7hyjD)U}qV8iOXgu64~ zpwCoJco7JzKl^^`w?ADpYgS$`v_Q-Km%_IW17@14Al4GtxI|7X|5^Mm9~17Gz#6)6 zEqq=D{!;D;+JmWEw-!}f*eWL^EK-I-A@wU&s&%w9-`!cj1fZRc#r>(+pbXQkbFjSG`vY5yYJ)*DDqO< zY3V9gY&5aupVokKzE@F6=W^8X8ZXn}R^ntYD}?QeK+t^A2Ck#7%e%Oa_aOvMc&}Q8 z^@toc#v;moN9nagKr+T}*BXhx&A=>s(f8(%V1r(cZNnYAcOxOhi)MJ>1MXJ@|DlJ7 zHHS6p%%JvO$1*3ewubl_t*u45gh280=Q~l9T#a{&07eph+%8u{hIE4kW=2$s#?^>t z(HMK$VXHu1_^A%YYB`Zcu@bOBFLK3ZH6wRu(*+m~ul1*yfQ0o-@-ePEJo^g!&=rDb z9>#JXzx{$x3=9Xy%2Qn#c#2k&8Z+zJCF0=vEIJ;DS%q|lqrHp==yFpVq<5DgDhkMw z;1^aAqzVpHTu=qa-|gp{ z)euovgC29j&Tmf@x>VSO0qChCwa?ph|1<<@5UZ;!6XSKFBbQcB*Z&SRp?zy`as_~W zI$aMvwz>je9TAe|)}qM4(q(CgSIDsQ8@D>%9!f197Z?#+M59TKD62Ehu+?c{TeBnU;~Th+09CqR@Bi)?TbF9%PepsFtAqW#2|Q1mL0)804f_uM zc-GG$X?OjHRL8#xzj2K9$_8JS?+FJa(XG8zTO)Ph!ODpYx6*zMt&My7YRyhMO=-da z$PUB>FD7hZ(lBD*Z`_{4;)xMuAPUrEU0iOVxNzr@nPl#X7og^RiD9HHyKCX8X21^W z^1NM3{k?F#1tHQ~5K;T)C_~Sz6+MR(u_9j_N6_{Jc&Lh3R1bj0##5qH%^Sdhpf}wN zl&b+d^z@h}Y@&7!C|n<=CcGMPk<&3sou~kdD zPngkLFiF&Ns|wSjJ+01=f=G zzYhImB&_U6ow%|*{zB`w#7M9hEE_04ZoR?xd+UOs?w?iZF@83o(u$o@pvV~w6wQm? z@GL0O9v&EQC?%y;hIeChfie zJ}6tepk_*e5G@qk>~QsOY_z8#`KP4>iO=vthXC})lVvaCK#_{b8>k#|Of9HUQ24#; z`Z<*gJ*m{7F3xH2wTGZ^usQNmiJv6|K3S%U{`^%sBr#`u3Rg+~BmV!L^Ai#h-1;(V zGmZ47vAslJU810*6#61YFRO6h*tU;m{rqO?bdH$l3p%J)GVAmIy1!ipe6eehJIu|C z4H=x55gn3uwAu428+#tnN9=z2<(KRIA(H=!|NqILjh186-U$Bp|KEOUbH97+Sz7SG z+}TsfBtXBA-{(s6E*y%jD-86v4&uCJ^E!w`m+aQFxtcPPPtx*C`nTxMn}MnFNGhPu z(Kdu3=wncJ1r1(ekED_VtH%!dzP-#=BMz#u&8Wj>?EDVn)c#V*@ptkkmB8T&eV>8X zl}rJb6@E#5*WC$$sfzDEy!sk4t_u@Ir&u}s?|h~*o8q0XcJ}Pq?w69+d9opZQ))}G6}+{joSrXJGCVw-8`QVG z&=KAv+u40(!@giq)MG207;j1s&pjtYst!RT|^~YZbR)po({+b zy8)()wxrF_u{8DBoeVcfJa0jrs5YbPxwa_5&zq6P`kS?&=aJ=Co41dj5pFd2U2j9i z?E!MB=>F3mB+t-@D-v_kG#aoWpezeJN_-K(yH)>*`x-)plByXBW`Az!vb0okhlDO>(S2mOt}cQ0KWH_^z82KS39I zNLS1Oma~R!Hd~K8q_-x>3Civ4D0;w=YTG<-R!erz-MoFgI`E8?moXW)n|_o30g6h? zGKP@Ppmx(#ecxOJ8jwXRy~F7Xbo~F++cnD*%m<1!gWRgoEA^?qZIjWSD!i!5x%e}2 zw0w(9aU_-ZHdjvaCa$TAFAt0=J|BmP13PtF!C+)6hfNiZ2?b|Oi0J6zPx&&@OYDWs z#z!(n0}rEBg>fuS+`>SfeLS{8h`-tyDjGIkpiOjAlguf-9pnUK2A*14dnzN1WD1LL z$^;v|Do=GuGVSJFCv^XY4)YWM=f&%djSISIz~uZARBasv6Xr3x#St1-`}pG^aofEU zd$^)=o{W1VdKe(Iv+DIYn+c}`Ux)Gzg=NdSI)|psidc7vlN@g=I{!0q->?j?)-Rqo zAUXa|_8*t{BD}=%3fgmllK3{!?++*RMK2jW#kyS2o?EJUko#Y!y9sz4%8W<2N%9do z@=x(VC;an3N`~N}u+mKPjv?r1PJR4-lYEK}#y$IQ2lW=6my_qqZ+;n1R8`*<*Za;J zd$Le3g~NvA0Dg5Pa~l;WcvDA*Sm+=QD!@tmw8@7V<`~3-vI+dU26(jZeEt5Tz59ol zpfe<2!yBI`V|1^b=32;Uf7b}}sV}uzsu{!%vEYvfpI0{k!1$Z!r>;UnG2v)*IGM*}lZc}v#R;XpDS7sjg>9lcxd?ZXgyx{S3Hy9qmaDB(OTOWayc7t?RONWy8+E24W4z=R%fH_}UXeJFKwJ*XFLg29zh$Vq&}r)O z34}kJ6T(fFTi6DAcE$g%_O3l1>a^|8Q_pVu*4C!|h>%((gkc)z;~v7wX+w8`IiI-$1dkx13#Vtm6fBsi-ogflRj+(S^i-+l6%%me`!|e*WR138R z4Rn)W;ll5`T=ydOX1dW}>od=bf4m)5yV>gOKVGAGpzM>u{vS{0xqUhZ;@_uZZy}kJ z|9SlX+5fZB@wt2P;>9zE!iK`V2h$zm^*Ikc|7ZhH{t+E+=w7~|dv0=mOuMPB)^~Q1 zB8%v-W)||dw*qX9V3fBx4&5v^{j^qvPq9<#u5!k$MHO28VbInVQEZ_hs5#j|JL?Ug2NM(v^L%bhqwCyicmp$+SEobyt+uvptSf8ew->GnD=RA#eZ@9ZNsQbv z%Z$Ccy1EDEVCn?cHDdD4%O(nCaq16cblv-8#4r~;e5f;7-P^s~CQUpU9Uc9CbhP#D z@4tFBU;Zx)1Ps`SrTG!2XJ3(3btI3&f6=rq{@G`rVPM8chE9;j`|)uF!-({f%F4uY z=Lc=zSMsZ?F}H5rk~20o{(O&&WNT|H?5gX~Vj_V{C0hwaG!c9g(n22(m%RJ;@ArC1 zYX?w!dwWxz2n53O=g$i}IrQlY$Hu5|8dR(&W~qkXZWFVQva!l$hgIa|9hLAC_p!I3ca&=Lp+WDd20p zdvX+yA3wGF24KoGGg?T}0j?}~yTdpR-*M9fWWcIPIc61qXoJthcy(s%S;w!B0K341 zao$`2501>znd?|xggs%3Z4$$|W4EVnO%l)9+KPp-qr-~zj{3uNj_M2Z!+e0)*C4g7 z3tGy`%7`t0I9Zf6j6`7WkFUt%jOFAY{t`#t^(w%v?j~zv_`#k550V=g7#Oak ztob6-TB?Ia+6v9$;x<&USpby*lk;_Tb=4lNI};uWn_lP0790e!fEs(SQk87&?E3!6 zRd%SLE-Wm>#a(!xWaa_x`WZZ&(@~Fm%S@4nm-d1f!u7udJ-BY|ozEuU7x(_i|ABdnF~;z|p$?xvSeX`okam z=fy_iAt513T-dm*4R)U|C@WK$EESg12AkOgZfBmqv4AgpyJm-U75&Zc}*M98d_RK4cra2Z49uL`Gti?r>3SnK$i&;R0#Z) zV|Wa9>xUO^>^r1&o?KOae!e6uh0Y+Eoj**tNtm{^uJ z@rE?99y0`eM5*Dnwzg$%O-4pQ9_4Z3AH^FR(0oGVNl-)M4E9=p!O~05B+v~pvE93O zV*=hhgq_4~+9JUYRY!c7;=flg4xg&g^zCnXUSijW{`^y_UtkT zvIe#@>?Y%p%t%h10^$MrPp`uIGBaJ;Z0cx7I@8X^Fzw}+nwpvzJS)}bmtRh0CQ4}@ z?=N?jfX(`@g$U!kyw!GVx(Gn1@$^irH=?07s-VA;8a_WExsw1Mhty-p%Q1nX+Z9<} zvjKxfm_ruBPSRCAetf6~G&$d`DQ14ArpGiOAfR{^?bc{uonw%>G=wBTVVMd_52CN2 zM{O$~rVF5U*Xpm<{Ijl3HwJ8@mjQRN&xV;SZ}FGeP(-6|e70+U3pB`lBjpF2``XHf zppom^MYzA8J$FtD>a<^Eqyzh%wm>b?U}d5}$+&5OrHmbt#(G&=<{0SWwcML8(|A%+ zQuL@c1cR`Dl${rXn0Jq_hS7h0ph$;2QO!58uz3Nwyu**NRT|T|A>xPVO?X!$4CmWq>{mdhaX*7)$ z-dygyKCy1}CYth;_<=x;8|}UvUqC-9`JccQpN@2lV! znv<)mD^*$>JsDp-TFsPAkhi#bGPE|=S*YuQ9Dc}7VTDn}UrMSU_P?2xl{L?4m2k@@ zukBd{_mzR^X>Xr=&Xtme;;*gph`a*_bxDnSfp5PZ@Ozr~-Lo3+oMI&v*<|ZH<6v)PWu?TZ7K8m$^#@_5 zksJDgArrxWGj1dSj>dv6D(GM~{=BHrfmhIt{9)>@mZdp1n}c1SPox|*Y$Hem`Uhrm zHw4}^8to_!Qy^;?Q78~V8YHMg^+5{~{TC_=#qjj{7966y74`M?FoRZEYtXO2c`7hpf#ecm3Y2P~8JXn|hNOJ^%gpJ=gasQ+-CD@~mKo~b z_}9WBC>KW49D2w6{r%@bYZMHd2@KfU5<3PC`V`&66mi;T?wvIOJ!I8`f)&~1%APrM zX47rwN#EZ@C93;UiCwW*CoqqLW;bNaGgTd{4nuY*dGU*4e~{fX*sg=N3|__a)qOm` zABJS+gQx58=68A&J2qL)+{}yGQ~>vyAkDtY#29nkSF@kd2JmL8@u%=9atEIoz7y*`6$q34Z?sF-QV| z02#&oyuZJ#0>?;}{YFj>7?>EO0M!sbN$v0N=Z$VW*gLa4o|_2fKmjLwXKcV>{YfEC zUbBwGD2s=YrdG- zK*ldrlP7zhuvn)uAJAwmV8=%OA>sNX9eVx$eGJBaf*3iRs*D`ZYpH8(dqHbjI#dh`gSk{TuT$UclPga&|t zn@7^O5RYU5%2U(Rna%&$)i(yYKPoK0vJ04C{3e$PyvX{+*VosAF7%ivl%O&awt5(T z&0Y^35Fq{*=t<3bgOih!lJOzn@{C<9y@HAgv@7&}=zxhsdR1V7IjM$7-i=F_E+J?F zhG)95zSgr6HJ$)Gy%jvJotL<{cn~Du6mY_nW$fie%Pr2CtbhO<>Tf+r@bjaZB<#P_ z1)T?pIVmRRGhr_f?a}-ypq$D#)!c?A$9Eq%ar6o}lRMa>?|LZfBo`=+`3qq?zTK9* zmAg+^mzI|1gTLu7bNU)UFq?zu+8c786{2`coisvUvaBfn)G^!2I#Ki#un2d7w?cTO zsHhm1MQqdsM`g+n%d-)u4o^0Ys{@I<3*Yga< z!w2ew`U$M6I!0Ap(;lO#cLJ-YuB)uBuBWbURR3$-CpY*LeS zkO}^H64~89@IT)pxhRE{N*B4uj_5@Wa}UO&tlY_genhe#0oJj^2a^cI04!PyeM051 j51AZD(o<9O7hQlR279Y1PDpydLr~@>)+Z~zKY!_830CxK diff --git a/patternGenerator/generate.sh b/patternGenerator/generate.sh deleted file mode 100755 index a363d5eb2..000000000 --- a/patternGenerator/generate.sh +++ /dev/null @@ -1,34 +0,0 @@ -# SPDX-License-Identifier: LGPL-3.0-or-other -# Copyright (C) 2021 Contributors to the SLS Detector Package -if [ "$#" -eq 0 ]; then - echo "Wrong number of arguments: usage should be $0 patname" - exit 1 -fi -infile=$1 -outfile=$infile"at" -outfilebin=$infile"bin" -if [ "$#" -ge 2 ]; then - outfile=$2 -fi -exe=$infile"exe" -if [ "$#" -ge 4 ]; then - exe=$4 -fi - -if [ "$#" -ge 3 ]; then - outfilebin=$3 -fi - -if [ -f "$infile" ] -then -dir=$(dirname $infile) -gcc -DINFILE="\"$infile\"" -DOUTFILE="\"$outfile\"" -DOUTFILEBIN="\"$outfilebin\"" -o $exe generator.c -I$dir; -echo compiling -echo gcc -DINFILE="\"$infile\"" -DOUTFILE="\"$outfile\"" -DOUTFILEBIN="\"$outfilebin\"" -o $exe generator.c -I$dir; -$exe ; -echo cleaning -rm $exe -echo done -else - echo "$infile not found." -fi diff --git a/patternGenerator/generator.c b/patternGenerator/generator.c deleted file mode 100644 index 5d8d94bff..000000000 --- a/patternGenerator/generator.c +++ /dev/null @@ -1,183 +0,0 @@ -// SPDX-License-Identifier: LGPL-3.0-or-other -// Copyright (C) 2021 Contributors to the SLS Detector Package -/**************************************************************************** -usage to generate a patter test.pat from test.p - -gcc -DINFILE="\"test.p\"" -DOUTFILE="\"test.pat\"" -o test.exe generator.c ; -./test.exe ; rm test.exe - - -*************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define MAXLOOPS 6 -#define MAXTIMERS 6 -#define MAXWORDS 8191 - -uint64_t pat = 0; -uint64_t iopat = 0; -uint64_t clkpat = 0; - -unsigned iaddr = 0; -unsigned waitaddr[MAXTIMERS] = {MAXWORDS, MAXWORDS, MAXWORDS, - MAXWORDS, MAXWORDS, MAXWORDS}; -unsigned startloopaddr[MAXLOOPS] = {MAXWORDS, MAXWORDS, MAXWORDS, - MAXWORDS, MAXWORDS, MAXWORDS}; -unsigned stoploopaddr[MAXLOOPS] = {MAXWORDS, MAXWORDS, MAXWORDS, - MAXWORDS, MAXWORDS, MAXWORDS}; -unsigned start = 0, stop = 0; -uint64_t waittime[MAXTIMERS] = {0, 0, 0, 0, 0, 0}; -unsigned nloop[MAXLOOPS] = {0, 0, 0, 0, 0, 0}; - -char infile[10000], outfile[10000]; - -FILE *fd, *fd1; -uint64_t PAT[MAXWORDS]; -int iopat_enable = 0; - -int i, ii, iii, j, jj, jjj, pixx, pixy, memx, memy, muxout, memclk, colclk, - rowclk, muxclk, memcol, memrow, loopcounter; - -void setstart() { start = iaddr; } - -void setstop() { stop = iaddr; } - -void setinput(int bit) { - uint64_t mask = 1; - mask = mask << bit; - iopat &= ~mask; - iopat_enable = 1; -} - -void setoutput(int bit) { - uint64_t mask = 1; - mask = mask << bit; - iopat |= mask; - iopat_enable = 1; -} - -void clearbit(int bit) { - uint64_t mask = 1; - mask = mask << bit; - pat &= ~mask; -} -void setbit(int bit) { - uint64_t mask = 1; - mask = mask << bit; - pat |= mask; -} - -int checkbit(int bit) { - uint64_t mask = 1; - mask = mask << bit; - return (pat & mask) >> bit; -} - -void setstartloop(int iloop) { - if (iloop >= 0 && iloop < MAXLOOPS) { - startloopaddr[iloop] = iaddr; - } -} - -void setstoploop(int iloop) { - if (iloop >= 0 && iloop < MAXLOOPS) { - stoploopaddr[iloop] = iaddr; - } -} - -void setnloop(int iloop, int n) { - if (iloop >= 0 && iloop < MAXLOOPS) { - nloop[iloop] = n; - } -} - -void setwaitpoint(int iloop) { - if (iloop >= 0 && iloop < MAXTIMERS) { - waitaddr[iloop] = iaddr; - } -} - -void setwaittime(int iloop, uint64_t t) { - if (iloop >= 0 && iloop < MAXTIMERS) { - waittime[iloop] = t; - } -} - -void pw() { - if (iaddr < MAXWORDS) { - PAT[iaddr] = pat; - } - fprintf(fd, "patword 0x%04x 0x%016llx\n", iaddr, pat); - iaddr++; - if (iaddr >= MAXWORDS) { - printf("ERROR: too many word in the pattern (%d instead of %d)!", iaddr, - MAXWORDS); - } -} - -int parseCommand(int clk, int cmdbit, int cmd, int length) { - int ibit; - clearbit(clk); - for (ibit = 0; ibit < length; ibit++) { - if (cmd & (1 >> ibit)) { - setbit(cmdbit); - } else { - clearbit(cmdbit); - } - pw(); - /******/ - setbit(clk); - pw(); - /******/ - } -}; - -int main() { - int iloop = 0; - fd = fopen(OUTFILE, "w"); -#include INFILE - - fprintf(fd, "patlimits 0x%04x 0x%04x\n", start, stop); - - if (iopat_enable == 1) { - fprintf(fd, "patioctrl 0x%016llx\n", iopat); - } - - for (iloop = 0; iloop < MAXLOOPS; iloop++) { - if ((startloopaddr[iloop] != MAXWORDS) && - (stoploopaddr[iloop] != MAXWORDS)) { - fprintf(fd, "patloop %d 0x%04x 0x%04x\n", iloop, - startloopaddr[iloop], stoploopaddr[iloop]); - if (stoploopaddr[iloop] <= startloopaddr[iloop]) { - nloop[iloop] = 0; - } - fprintf(fd, "patnloop %d %u\n", iloop, nloop[iloop]); - } - } - - for (iloop = 0; iloop < MAXTIMERS; iloop++) { - if (waitaddr[iloop] != MAXWORDS) { - fprintf(fd, "patwait %d 0x%04x\n", iloop, waitaddr[iloop]); - fprintf(fd, "patwaittime %d %llu\n", iloop, waittime[iloop]); - } - } - - fclose(fd); - fd1 = fopen(OUTFILEBIN, "w"); - fwrite(PAT, sizeof(uint64_t), iaddr, fd1); - fclose(fd1); - - return 0; -} diff --git a/patternGenerator/plotPattern.py b/patternGenerator/plotPattern.py deleted file mode 100755 index 75c0e06b7..000000000 --- a/patternGenerator/plotPattern.py +++ /dev/null @@ -1,610 +0,0 @@ -#!/usr/bin/env python3 - -""" -Created on Wed May 24 09:44:53 2017 - -Plot the pattern for New Chip Test Box (.pat) - -Changes: - - 2017-11-21 Adapt it to python-3 - - 2017-09-25 All can be plotted - - 2017-09-22 Can be plotted but the loop and wait not work yet - -@author: zhang_j1 -""" -import matplotlib.pyplot as plt -from numpy import * -from matplotlib.pyplot import * -from matplotlib.patches import Rectangle -import os -import argparse - -############################################################################### -# COLORS AND LINE STYLES -# alternating colors of the plots (2 needed) -colors_plot = ['tab:blue', 'tab:orange'] - -# Wait colors and line styles (6 needed from 0 to 5) -colors_wait = ['b', 'g', 'r', 'c', 'm', 'y'] -linestyles_wait = ['--', '--', '--', '--', '--', '--'] -alpha_wait = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5] -alpha_wait_rect = [0.2, 0.2, 0.2, 0.2, 0.2, 0.2] - -# Loop colors and line styles (6 needed from 0 to 5) -colors_loop = ['tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:grey'] -linestyles_loop = ['-.', '-.', '-.', '-.', '-.', '-.'] -alpha_loop = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5] -alpha_loop_rect = [0.2, 0.2, 0.2, 0.2, 0.2, 0.2] - -# Display the count of clocks -clock_vertical_lines_spacing = 1 -show_clocks_number = True - -############################################################################### - - -# Define a hex to binary function -# global definition -# base = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F] -base = [str(x) for x in range(10)] + [chr(x) for x in range(ord('A'), ord('A')+6)] -# dec2bin - - -def dec2bin(string_num): - num = int(string_num) - mid = [] - while True: - if num == 0: - break - num, rem = divmod(num, 2) - mid.append(base[rem]) - - return ''.join([str(x) for x in mid[::-1]]) - - -# dec2binary: better than dec2bin -def dec2binary(dec_num, width=None): - return binary_repr(int(dec_num), width=width) - - -# hex2dec -def hex2dec(string_num): - return str(int(string_num.upper(), 16)) - - -# hex2bin -def hex2bin(string_num): - return dec2bin(hex2dec(string_num.upper())) - - -# hex2bin -def hex2binary(string_num, width=None): - return dec2binary(hex2dec(string_num.upper()), width=width) - - -parser = argparse.ArgumentParser() - -parser.add_argument('-d', '--directory', required = True, help = "Working directory where the pattern is located") -parser.add_argument('-p', '--pattern', required = True, help = "Pattern name") -parser.add_argument('-a', '--alias', help = "Alias name") -parser.add_argument('-v', '--verbose', action='store_true') - -args = parser.parse_args() - -Folder = args.directory -File_pat = args.pattern -File_alias = args.alias -verbose = args.verbose - -# Look at the alias file and generate the lookup table for pin names -# Create a 64 bit look up table -table = [] -for i in range(64): - # for special bit - if i+1 == 59: - table.append([str(i+1), "external_trigger"]) - elif i+1 == 63: - table.append([str(i+1), "adc_enable"]) - elif i+1 == 62: - table.append([str(i+1), "dbit_enable"]) - else: - table.append([str(i+1), ""]) - -# Loop all lines -try: - with open(Folder + "/" + File_alias + ".alias") as f: - lines = f.readlines() - f.close() - nlines = len(lines) -except: - nlines = 0 - -if nlines > 0: - for i in range(nlines): - # whether the line is bit definition - if lines[i][0:3] == "BIT": - # split words - words = lines[i].split() - bit_num = int(words[0][3:]) - table[bit_num][0] = words[0][3:] - table[bit_num][1] = words[1] -else: - for i in range(64): - table[i][0] = i - table[i][1] = f'BIT#{i}' - -if verbose: - print(table) - -# Load the pattern and get all lines -# Loop all lines -if os.path.exists(Folder + "/" + File_pat + ".pat"): - with open(Folder + "/" + File_pat + ".pat") as f_pat: - lines_pat = f_pat.readlines() -elif os.path.exists(Folder + "/" + File_pat + ".pyat"): - with open(Folder + "/" + File_pat + ".pyat") as f_pat: - lines_pat = f_pat.readlines() -else: - print("No file found - Check it") - exit() -f_pat.close() - -# number of lines for pattern file -nlines_pat = len(lines_pat) -# a counter -cnt = 0 -if verbose: - print("The total number of lines of pattern:", nlines_pat) - -# Loop all lines of pattern -waittime0 = None -waittime1 = None -waittime2 = None -waittime3 = None -waittime4 = None -waittime5 = None - -nloop0 = None -nloop1 = None -nloop2 = None -nloop3 = None -nloop4 = None -nloop5 = None - -for k in range(nlines_pat): - # content of line - words_line = lines_pat[k].split() - if words_line[0] == "patword": - # print words_line from b0 to b63 - bits = hex2binary(words_line[-1], 64)[::-1] - if verbose: - print("The bits for line-", k+1, "is:", bits) - # convert string bits to decimal array - num_bits = array(list(map(str, bits)), dtype="uint16") - if cnt == 0: - mat_pat = num_bits - else: - # add bits to matrix - mat_pat = concatenate((mat_pat, num_bits), axis=0) - cnt = cnt + 1 - # print("The matrix of pattern:", mat_pat.reshape(int(cnt), int(len(num_bits)))) - - # Look at the io: 0 for sending to ASIC, 1 for reading from ASIC - if words_line[0] == "patioctrl": - # print words_line - if verbose: - print(words_line[-1]) - bits = hex2binary(words_line[-1], 64)[::-1] - if verbose: - print(bits) - # convert string bits to decimal array - out_bits = array(list(map(str, bits)), dtype="uint16") - - if verbose: - print(words_line) - # Deal with waiting point - - # ====== WAIT ====== - if words_line[0] == "patwait" and words_line[1] == "0": - wait0 = int(hex2dec(words_line[2])) - if verbose: - print("wait 0 at:", wait0) - if words_line[0] == "patwaittime" and words_line[1] == "0": - waittime0 = int(words_line[2]) - if verbose: - print("wait 0 for:", waittime0) - - if words_line[0] == "patwait" and words_line[1] == "1": - wait1 = int(hex2dec(words_line[2])) - if verbose: - print("wait 1 at:", wait1) - if words_line[0] == "patwaittime" and words_line[1] == "1": - waittime1 = int(words_line[2]) - if verbose: - print("wait 1 for:", waittime1) - - if words_line[0] == "patwait" and words_line[1] == "2": - wait2 = int(hex2dec(words_line[2])) - if verbose: - print("wait 2 at:", wait2) - if words_line[0] == "patwaittime" and words_line[1] == "2": - waittime2 = int(words_line[2]) - if verbose: - print("wait 2 for:", waittime2) - - if words_line[0] == "patwait" and words_line[1] == "3": - wait3 = int(hex2dec(words_line[2])) - if verbose: - print("wait 0 at:", wait3) - if words_line[0] == "patwaittime" and words_line[1] == "3": - waittime3 = int(words_line[2]) - if verbose: - print("wait 0 for:", waittime3) - - if words_line[0] == "patwait" and words_line[1] == "4": - wait4 = int(hex2dec(words_line[2])) - if verbose: - print("wait 1 at:", wait4) - if words_line[0] == "patwaittime" and words_line[1] == "4": - waittime4 = int(words_line[2]) - if verbose: - print("wait 1 for:", waittime4) - - if words_line[0] == "patwait" and words_line[1] == "5": - wait5 = int(hex2dec(words_line[2])) - if verbose: - print("wait 2 at:", wait5) - if words_line[0] == "patwaittime" and words_line[1] == "5": - waittime5 = int(words_line[2]) - if verbose: - print("wait 2 for:", waittime5) - - # ====== LOOPS ====== - if words_line[0] == "patloop" and words_line[1] == "0": - loop0_start = int(hex2dec(words_line[2])) - loop0_end = int(hex2dec(words_line[3])) - if verbose: - print("loop 0 start:", loop0_start, ", end:", loop0_end) - if words_line[0] == "patnloop" and words_line[1] == "0": - nloop0 = int(words_line[2]) - if verbose: - print("loop 0 times:", nloop0) - - if words_line[0] == "patloop" and words_line[1] == "1": - loop1_start = int(hex2dec(words_line[2])) - loop1_end = int(hex2dec(words_line[3])) - if verbose: - print("loop 1 start:", loop1_start, ", end:", loop1_end) - if words_line[0] == "patnloop" and words_line[1] == "1": - nloop1 = int(words_line[2]) - if verbose: - print("loop 1 times:", nloop1) - - if words_line[0] == "patloop" and words_line[1] == "2": - loop2_start = int(hex2dec(words_line[2])) - loop2_end = int(hex2dec(words_line[3])) - if verbose: - print("loop 2 start:", loop2_start, ", end:", loop2_end) - if words_line[0] == "patnloop" and words_line[1] == "2": - nloop2 = int(words_line[2]) - if verbose: - print("loop 2 times:", nloop2) - - if words_line[0] == "patloop" and words_line[1] == "3": - loop3_start = int(hex2dec(words_line[2])) - loop3_end = int(hex2dec(words_line[3])) - if verbose: - print("loop 3 start:", loop3_start, ", end:", loop3_end) - if words_line[0] == "patnloop" and words_line[1] == "3": - nloop3 = int(words_line[2]) - if verbose: - print("loop 3 times:", nloop3) - - if words_line[0] == "patloop" and words_line[1] == "4": - loop4_start = int(hex2dec(words_line[2])) - loop4_end = int(hex2dec(words_line[3])) - if verbose: - print("loop 4 start:", loop4_start, ", end:", loop4_end) - if words_line[0] == "patnloop" and words_line[1] == "4": - nloop4 = int(words_line[2]) - if verbose: - print("loop 4 times:", nloop4) - - if words_line[0] == "patloop" and words_line[1] == "5": - loop5_start = int(hex2dec(words_line[2])) - loop5_end = int(hex2dec(words_line[3])) - if verbose: - print("loop 5 start:", loop5_start, ", end:", loop5_end) - if words_line[0] == "patnloop" and words_line[1] == "5": - nloop5 = int(words_line[2]) - if verbose: - print("loop 5 times:", nloop5) -# print(out_bits) - -# internal counter -avail_index = [] -avail_name = [] -# Remove non-used bits -for i in range(64): - # if out_bits[0][i] == 1: - if out_bits[i] == 1: - avail_index.append(i) - avail_name.append(table[i][1]) -if verbose: - print(avail_index) - print(avail_name) - -# number of effective used bits -nbiteff = len(avail_name) - -# subMat = mat_ext[:,index] -# print(mat_pat.shape) -subMat = mat_pat.reshape(int(cnt), int(len(num_bits)))[0:, avail_index] -# subMat = mat_pat[avail_index] -timing = linspace(0, subMat.shape[0]-1, subMat.shape[0]) -rcParams['figure.figsize'] = 15, 5 - - -# ============= PLOTTING ============= - -rcParams["font.weight"] = "bold" -rcParams["axes.labelweight"] = "bold" -fig2, axs2 = subplots(nbiteff, sharex='all') -subplots_adjust(wspace=0, hspace=0) -# axs2[nbiteff - 1].set(xlabel='Timing [clk]') -for idx, i in enumerate(range(nbiteff)): - - axs2[idx].plot(subMat.T[i], "-", drawstyle="steps-post", linewidth=2.0, color=colors_plot[idx % 2]) - x_additional = range(len(subMat.T[i]) - 1, len(subMat.T[i]) + 2) - additional_stuff = [subMat.T[i][-1]] * 3 - - axs2[idx].plot(x_additional, additional_stuff, - "--", drawstyle="steps-post", linewidth=2.0, color=colors_plot[idx % 2], alpha=0.5) - axs2[idx].yaxis.set_ticks([0.5], minor=False) - axs2[idx].xaxis.set_ticks(arange(0, len(subMat.T[i]) + 10, clock_vertical_lines_spacing)) - - axs2[idx].yaxis.set_ticklabels([avail_name[i]]) - axs2[idx].get_yticklabels()[0].set_color(colors_plot[idx % 2]) - - axs2[idx].grid(1, 'both', 'both', alpha=0.5) - axs2[idx].yaxis.grid(which="both", color=colors_plot[idx % 2], alpha=0.2) - if idx != nbiteff - 1: - if not show_clocks_number: - axs2[idx].xaxis.set_ticklabels([]) - axs2[idx].set(xlabel=' ', ylim=(-0.2, 1.2)) - else: - axs2[idx].set(xlabel='Timing [clk]', ylim=(-0.2, 1.2)) - # axs2[idx].set_xlim(left=0) - axs2[idx].set_xlim(left=0, right=len(subMat.T[i]) + 1) - axs2[idx].spines['top'].set_visible(False) - axs2[idx].spines['right'].set_alpha(0.2) - axs2[idx].spines['right'].set_visible(True) - axs2[idx].spines['bottom'].set_visible(False) - axs2[idx].spines['left'].set_visible(False) - - # ===================================================================================================== - # Plot the wait lines - # Wait 0 - if waittime0 is not None: - if waittime0 == 0: - axs2[idx].plot([wait0, wait0], [-10, 10], - linestyle=linestyles_wait[0], color=colors_wait[0], alpha=alpha_wait[0], linewidth=2.0) - axs2[idx].plot([wait0 + 1, wait0 + 1], [-10, 10], - linestyle=linestyles_wait[0], color=colors_wait[0], linewidth=2.0, alpha=alpha_wait[0]) - axs2[idx].add_patch(Rectangle((wait0, -10), 1, 20, - label="wait 0: skipped" if idx == 0 else "", - facecolor=colors_wait[0], alpha=alpha_wait_rect[0], hatch='\\\\')) - else: - axs2[idx].plot([wait0, wait0], [-10, 10], - linestyle=linestyles_wait[0], color=colors_wait[0], - label="wait 0: " + str(waittime0) + " clk" if idx == 0 else "", - linewidth=2.0, alpha=alpha_wait[0]) - - # Wait 1 - if waittime1 is not None: - if waittime1 == 0: - axs2[idx].plot([wait1, wait1], [-10, 10], - linestyle=linestyles_wait[1], color=colors_wait[1], alpha=alpha_wait[1], linewidth=2.0) - axs2[idx].plot([wait1 + 1, wait1 + 1], [-10, 10], - linestyle=linestyles_wait[1], color=colors_wait[1], linewidth=2.0, alpha=alpha_wait[1]) - axs2[idx].add_patch(Rectangle((wait1, -10), 1, 20, - label="wait 1: skipped" if idx == 0 else "", - facecolor=colors_wait[1], alpha=alpha_wait_rect[1], hatch='\\\\')) - else: - axs2[idx].plot([wait1, wait1], [-10, 10], - linestyle=linestyles_wait[1], color=colors_wait[1], - label="wait 1: " + str(waittime1) + " clk" if idx == 0 else "", - linewidth=2.0, alpha=alpha_wait[1]) - - # Wait 2 - if waittime2 is not None: - if waittime2 == 0: - axs2[idx].plot([wait2, wait2], [-10, 10], - linestyle=linestyles_wait[2], color=colors_wait[2], alpha=alpha_wait[2], linewidth=2.0) - axs2[idx].plot([wait2 + 1, wait2 + 1], [-10, 10], - linestyle=linestyles_wait[2], color=colors_wait[2], linewidth=2.0, alpha=alpha_wait[2]) - axs2[idx].add_patch(Rectangle((wait2, -10), 1, 20, - label="wait 2: skipped" if idx == 0 else "", - facecolor=colors_wait[2], alpha=alpha_wait_rect[2], hatch='\\\\')) - else: - axs2[idx].plot([wait2, wait2], [-10, 10], - linestyle=linestyles_wait[2], color=colors_wait[2], - label="wait 2: " + str(waittime2) + " clk" if idx == 0 else "", - linewidth=2.0, alpha=alpha_wait[2]) - - # Wait 3 - if waittime3 is not None: - if waittime3 == 0: - axs2[idx].plot([wait3, wait3], [-10, 10], - linestyle=linestyles_wait[3], color=colors_wait[3], alpha=alpha_wait[3], linewidth=2.0) - axs2[idx].plot([wait3 + 1, wait3 + 1], [-10, 10], - linestyle=linestyles_wait[3], color=colors_wait[3], linewidth=2.0, alpha=alpha_wait[3]) - axs2[idx].add_patch(Rectangle((wait3, -10), 1, 20, - label="wait 3: skipped" if idx == 0 else "", - facecolor=colors_wait[3], alpha=alpha_wait_rect[3], hatch='\\\\')) - else: - axs2[idx].plot([wait3, wait3], [-10, 10], - linestyle=linestyles_wait[3], color=colors_wait[3], - label="wait 3: " + str(waittime3) + " clk" if idx == 0 else "", - linewidth=2.0, alpha=alpha_wait[3]) - - # Wait 4 - if waittime4 is not None: - if waittime4 == 0: - axs2[idx].plot([wait4, wait4], [-10, 10], - linestyle=linestyles_wait[4], color=colors_wait[4], alpha=alpha_wait[4], linewidth=2.0) - axs2[idx].plot([wait4 + 1, wait4 + 1], [-10, 10], - linestyle=linestyles_wait[4], color=colors_wait[4], linewidth=2.0, alpha=alpha_wait[4]) - axs2[idx].add_patch(Rectangle((wait4, -10), 1, 20, - label="wait 4: skipped" if idx == 0 else "", - facecolor=colors_wait[4], alpha=alpha_wait_rect[4], hatch='\\\\')) - else: - axs2[idx].plot([wait4, wait4], [-10, 10], - linestyle=linestyles_wait[4], color=colors_wait[4], - label="wait 4: " + str(waittime4) + " clk" if idx == 0 else "", - linewidth=2.0, alpha=alpha_wait[4]) - - # Wait 5 - if waittime5 is not None: - if waittime5 == 0: - axs2[idx].plot([wait5, wait5], [-10, 10], - linestyle=linestyles_wait[5], color=colors_wait[5], alpha=alpha_wait[5], linewidth=2.0) - axs2[idx].plot([wait5 + 1, wait5 + 1], [-10, 10], - linestyle=linestyles_wait[5], color=colors_wait[5], linewidth=2.0, alpha=alpha_wait[5]) - axs2[idx].add_patch(Rectangle((wait5, -10), 1, 20, - label="wait 5: skipped" if idx == 0 else "", - facecolor=colors_wait[5], alpha=alpha_wait_rect[5], hatch='\\\\')) - else: - axs2[idx].plot([wait5, wait5], [-10, 10], - linestyle=linestyles_wait[5], color=colors_wait[5], - label="wait 5: " + str(waittime5) + " clk" if idx == 0 else "", - linewidth=2.0, alpha=alpha_wait[5]) - - # ===================================================================================================== - # Plot the loop lines - # Loop 0 - if nloop0 is not None: - if nloop0 == 0: - axs2[idx].plot([loop0_start, loop0_start], [-10, 10], - linestyle=linestyles_loop[0], color=colors_loop[0], - alpha=alpha_loop[0], linewidth=2.0) - axs2[idx].plot([loop0_end + 1, loop0_end + 1], [-10, 10], - linestyle=linestyles_loop[0], color=colors_loop[0], alpha=alpha_loop[0], linewidth=2.0) - axs2[idx].add_patch(Rectangle((loop0_start, -10), loop0_end + 1 - loop0_start, 20, - label="loop 0: skipped" if idx == 0 else "", - facecolor=colors_loop[0], alpha=alpha_loop_rect[0], hatch='//')) - else: - axs2[idx].plot([loop0_start, loop0_start], [-10, 10], - linestyle=linestyles_loop[0], color=colors_loop[0], alpha=alpha_loop[0], - label="loop 0: " + str(nloop0) + " times" if idx == 0 else "", linewidth=2.0) - axs2[idx].plot([loop0_end, loop0_end], [-10, 10], - linestyle=linestyles_loop[0], color=colors_loop[0], alpha=alpha_loop[0], linewidth=2.0) - - # Loop 1 - if nloop1 is not None: - if nloop1 == 0: - axs2[idx].plot([loop1_start, loop1_start], [-10, 10], - linestyle=linestyles_loop[1], color=colors_loop[1], - alpha=alpha_loop[1], linewidth=2.0) - axs2[idx].plot([loop1_end + 1, loop1_end + 1], [-10, 10], - linestyle=linestyles_loop[1], color=colors_loop[1], alpha=alpha_loop[1], linewidth=2.0) - axs2[idx].add_patch(Rectangle((loop1_start, -10), loop1_end + 1 - loop1_start, 20, - label="loop 1: skipped" if idx == 0 else "", - facecolor=colors_loop[1], alpha=alpha_loop_rect[1], hatch='//')) - else: - axs2[idx].plot([loop1_start, loop1_start], [-10, 10], - linestyle=linestyles_loop[1], color=colors_loop[1], alpha=alpha_loop[1], - label="loop 1: " + str(nloop1) + " times" if idx == 0 else "", linewidth=2.0) - axs2[idx].plot([loop1_end, loop1_end], [-10, 10], - linestyle=linestyles_loop[1], color=colors_loop[1], alpha=alpha_loop[1], linewidth=2.0) - - # Loop 2 - if nloop2 is not None: - if nloop2 == 0: - axs2[idx].plot([loop2_start, loop2_start], [-10, 10], - linestyle=linestyles_loop[2], color=colors_loop[2], - alpha=alpha_loop[2], linewidth=2.0) - axs2[idx].plot([loop2_end + 1, loop2_end + 1], [-10, 10], - linestyle=linestyles_loop[2], color=colors_loop[2], alpha=alpha_loop[2], linewidth=2.0) - axs2[idx].add_patch(Rectangle((loop2_start, -10), loop2_end + 1 - loop2_start, 20, - label="loop 2: skipped" if idx == 0 else "", - facecolor=colors_loop[2], alpha=alpha_loop_rect[2], hatch='//')) - else: - axs2[idx].plot([loop2_start, loop2_start], [-10, 10], - linestyle=linestyles_loop[2], color=colors_loop[2], alpha=alpha_loop[2], - label="loop 2: " + str(nloop2) + " times" if idx == 0 else "", linewidth=2.0) - axs2[idx].plot([loop2_end, loop2_end], [-10, 10], - linestyle=linestyles_loop[2], color=colors_loop[2], alpha=alpha_loop[2], linewidth=2.0) - - # Loop 3 - if nloop3 is not None: - if nloop3 == 0: - axs2[idx].plot([loop3_start, loop3_start], [-10, 10], - linestyle=linestyles_loop[3], color=colors_loop[3], - alpha=alpha_loop[3], linewidth=2.0) - axs2[idx].plot([loop3_end + 1, loop3_end + 1], [-10, 10], - linestyle=linestyles_loop[3], color=colors_loop[3], alpha=alpha_loop[3], linewidth=2.0) - axs2[idx].add_patch(Rectangle((loop3_start, -10), loop3_end + 1 - loop3_start, 20, - label="loop 3: skipped" if idx == 0 else "", - facecolor=colors_loop[3], alpha=alpha_loop_rect[3], hatch='//')) - else: - axs2[idx].plot([loop3_start, loop3_start], [-10, 10], - linestyle=linestyles_loop[3], color=colors_loop[3], alpha=alpha_loop[3], - label="loop 3: " + str(nloop3) + " times" if idx == 0 else "", linewidth=2.0) - axs2[idx].plot([loop3_end, loop3_end], [-10, 10], - linestyle=linestyles_loop[3], color=colors_loop[3], alpha=alpha_loop[3], linewidth=2.0) - - # Loop 4 - if nloop4 is not None: - if nloop4 == 0: - axs2[idx].plot([loop4_start, loop4_start], [-10, 10], - linestyle=linestyles_loop[4], color=colors_loop[4], - alpha=alpha_loop[4], linewidth=2.0) - axs2[idx].plot([loop4_end + 1, loop4_end + 1], [-10, 10], - linestyle=linestyles_loop[4], color=colors_loop[4], alpha=alpha_loop[4], linewidth=2.0) - axs2[idx].add_patch(Rectangle((loop4_start, -10), loop4_end + 1 - loop4_start, 20, - label="loop 4: skipped" if idx == 0 else "", - facecolor=colors_loop[4], alpha=alpha_loop_rect[4], hatch='//')) - else: - axs2[idx].plot([loop4_start, loop4_start], [-10, 10], - linestyle=linestyles_loop[4], color=colors_loop[4], alpha=alpha_loop[4], - label="loop 4: " + str(nloop4) + " times" if idx == 0 else "", linewidth=2.0) - axs2[idx].plot([loop4_end, loop4_end], [-10, 10], - linestyle=linestyles_loop[4], color=colors_loop[4], alpha=alpha_loop[4], linewidth=2.0) - - # Loop 5 - if nloop5 is not None: - if nloop5 == 0: - axs2[idx].plot([loop5_start, loop5_start], [-10, 10], - linestyle=linestyles_loop[5], color=colors_loop[5], - alpha=alpha_loop[5], linewidth=2.0) - axs2[idx].plot([loop5_end + 1, loop5_end + 1], [-10, 10], - linestyle=linestyles_loop[5], color=colors_loop[5], alpha=alpha_loop[5], linewidth=2.0) - axs2[idx].add_patch(Rectangle((loop5_start, -10), loop5_end + 1 - loop5_start, 20, - label="loop 5: skipped" if idx == 0 else "", - facecolor=colors_loop[5], alpha=alpha_loop_rect[5], hatch='//')) - else: - axs2[idx].plot([loop5_start, loop5_start], [-10, 10], - linestyle=linestyles_loop[5], color=colors_loop[5], alpha=alpha_loop[5], - label="loop 5: " + str(nloop5) + " times" if idx == 0 else "", linewidth=2.0) - axs2[idx].plot([loop5_end, loop5_end], [-10, 10], - linestyle=linestyles_loop[5], color=colors_loop[5], alpha=alpha_loop[5], linewidth=2.0) - - -n_cols = count_nonzero([waittime0 != 0, waittime1 != 0, waittime2 != 0, waittime3 != 0, waittime4 != 0, waittime5 != 0, - nloop0 != 0, nloop1 != 0, nloop2 != 0, nloop3 != 0, nloop4 != 0, nloop5 != 0]) -if n_cols > 0: - fig2.legend(loc="upper center", ncol=n_cols) -# manager = get_current_fig_manager() -# manager.window.showMaximized() - -figure = plt.gcf() # get current figure -figure.set_size_inches(20, 10) -# when saving, specify the DPI -# tight_layout() -plt.savefig(Folder+"/"+File_pat+".png", dpi=300) - -# Remove the white space around the plot -- only works on Unix (ImageMagick command) -os.system(f'mogrify -trim {Folder}/{File_pat}.png') - -show()