From 4d78d7f29c47ca9c5116c8f873d4a0c0761f22cd Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Tue, 16 Apr 2024 23:09:55 -0400 Subject: [PATCH 1/2] Clean up error logging in scheduler code --- build/staging/version/BundleInfo.wxi | 2 +- .../Midi2.SchedulerMidiTransform.cpp | 144 +++++++++++++----- 2 files changed, 108 insertions(+), 38 deletions(-) diff --git a/build/staging/version/BundleInfo.wxi b/build/staging/version/BundleInfo.wxi index 2a7ecc0b..3135e2b5 100644 --- a/build/staging/version/BundleInfo.wxi +++ b/build/staging/version/BundleInfo.wxi @@ -1,4 +1,4 @@ - + diff --git a/src/api/Transform/SchedulerTransform/Midi2.SchedulerMidiTransform.cpp b/src/api/Transform/SchedulerTransform/Midi2.SchedulerMidiTransform.cpp index 816df0ab..62c04b8a 100644 --- a/src/api/Transform/SchedulerTransform/Midi2.SchedulerMidiTransform.cpp +++ b/src/api/Transform/SchedulerTransform/Midi2.SchedulerMidiTransform.cpp @@ -129,9 +129,14 @@ CMidi2SchedulerMidiTransform::Cleanup() } catch (...) { - OutputDebugString(L"" __FUNCTION__ " Exception cleaning up"); + TraceLoggingWrite( + MidiSchedulerTransformTelemetryProvider::Provider(), + __FUNCTION__, + TraceLoggingLevel(WINEVENT_LEVEL_ERROR), + TraceLoggingPointer(this, "this"), + TraceLoggingWideString(L"Exception cleaning up", "message") + ); - // TODO: Log return S_OK; // we don't care when cleaning up } } @@ -150,20 +155,31 @@ CMidi2SchedulerMidiTransform::SendMidiMessageNow( { if (m_callback != nullptr) { - m_callback->Callback(data, size, timestamp, m_context); - return S_OK; + return m_callback->Callback(data, size, timestamp, m_context); } else { - OutputDebugString(L"" __FUNCTION__ " Failure: Callback is nullptr."); + TraceLoggingWrite( + MidiSchedulerTransformTelemetryProvider::Provider(), + __FUNCTION__, + TraceLoggingLevel(WINEVENT_LEVEL_ERROR), + TraceLoggingPointer(this, "this"), + TraceLoggingWideString(L"Callback is nullptr", "message") + ); - // TODO: Log this return E_FAIL; } } catch (...) { - // TODO: Log + TraceLoggingWrite( + MidiSchedulerTransformTelemetryProvider::Provider(), + __FUNCTION__, + TraceLoggingLevel(WINEVENT_LEVEL_ERROR), + TraceLoggingPointer(this, "this"), + TraceLoggingWideString(L"Exception sending MIDI Message", "message") + ); + return E_FAIL; } @@ -176,8 +192,6 @@ HRESULT CMidi2SchedulerMidiTransform::SendMidiMessageNow( ScheduledUmpMessage const message) { -// OutputDebugString((std::wstring(L"" __FUNCTION__ " Sending queued message. Queue size is: ") + std::to_wstring(m_messageQueue.size())).c_str()); - if (!m_continueProcessing) return S_OK; return SendMidiMessageNow( @@ -197,12 +211,11 @@ CMidi2SchedulerMidiTransform::SendMidiMessage( UINT size, LONGLONG timestamp) { - if (!m_continueProcessing) return S_OK; try { - // check to see if we're bypassing scheduling + // check to see if we're bypassing scheduling by sending a zero timestamp if (timestamp == 0) { // bypass scheduling logic completely @@ -214,6 +227,15 @@ CMidi2SchedulerMidiTransform::SendMidiMessage( } else { + TraceLoggingWrite( + MidiSchedulerTransformTelemetryProvider::Provider(), + __FUNCTION__, + TraceLoggingLevel(WINEVENT_LEVEL_ERROR), + TraceLoggingPointer(this, "this"), + TraceLoggingHResult(hr, "hresult"), + TraceLoggingWideString(L"Error sending MIDI Message now (bypass queue)", "message") + ); + return hr; } } @@ -228,15 +250,20 @@ CMidi2SchedulerMidiTransform::SendMidiMessage( } else { + TraceLoggingWrite( + MidiSchedulerTransformTelemetryProvider::Provider(), + __FUNCTION__, + TraceLoggingLevel(WINEVENT_LEVEL_ERROR), + TraceLoggingPointer(this, "this"), + TraceLoggingHResult(hr, "hresult"), + TraceLoggingWideString(L"Error sending MIDI Message now (message timestamp older than window)", "message") + ); + return hr; } } else { - //// bypass scheduling for a stable release - //auto hr = SendMidiMessageNow(data, size, timestamp); - //return hr; - // otherwise, we schedule the message if (size >= MINIMUM_UMP_DATASIZE && size <= MAXIMUM_UMP_DATASIZE) @@ -266,21 +293,42 @@ CMidi2SchedulerMidiTransform::SendMidiMessage( // priority queue doesn't give us any way to pop from the back // so we just have to fail. + TraceLoggingWrite( + MidiSchedulerTransformTelemetryProvider::Provider(), + __FUNCTION__, + TraceLoggingLevel(WINEVENT_LEVEL_ERROR), + TraceLoggingPointer(this, "this"), + TraceLoggingWideString(L"Outbound message queue full", "message") + ); + return HR_E_MIDI_SENDMSG_SCHEDULER_QUEUE_FULL; } } else { + TraceLoggingWrite( + MidiSchedulerTransformTelemetryProvider::Provider(), + __FUNCTION__, + TraceLoggingLevel(WINEVENT_LEVEL_ERROR), + TraceLoggingPointer(this, "this"), + TraceLoggingWideString(L"Invalid message data size", "message") + ); + // invalid data size return HR_E_MIDI_SENDMSG_INVALID_MESSAGE; } } - - // return S_OK; } catch (...) { - // TODO: Log + TraceLoggingWrite( + MidiSchedulerTransformTelemetryProvider::Provider(), + __FUNCTION__, + TraceLoggingLevel(WINEVENT_LEVEL_ERROR), + TraceLoggingPointer(this, "this"), + TraceLoggingWideString(L"Exception scheduling message", "message") + ); + return E_FAIL; } @@ -306,8 +354,6 @@ CMidi2SchedulerMidiTransform::GetTopMessageTimestamp(internal::MidiTimestamp &ti { timestamp = m_messageQueue.top().Timestamp; ret = S_OK; - - // OutputDebugString(L"\n--Retrieved current timestamp\n"); } else { @@ -316,6 +362,14 @@ CMidi2SchedulerMidiTransform::GetTopMessageTimestamp(internal::MidiTimestamp &ti } catch (...) { + TraceLoggingWrite( + MidiSchedulerTransformTelemetryProvider::Provider(), + __FUNCTION__, + TraceLoggingLevel(WINEVENT_LEVEL_ERROR), + TraceLoggingPointer(this, "this"), + TraceLoggingWideString(L"Exception getting top-message timestamp", "message") + ); + ret = E_FAIL; } @@ -325,7 +379,10 @@ CMidi2SchedulerMidiTransform::GetTopMessageTimestamp(internal::MidiTimestamp &ti _Use_decl_annotations_ HRESULT -CMidi2SchedulerMidiTransform::CalculateSafeSleepTime(internal::MidiTimestamp nextWakeupWindowTimestamp, uint32_t & sleepMS) +CMidi2SchedulerMidiTransform::CalculateSafeSleepTime( + internal::MidiTimestamp nextWakeupWindowTimestamp, + uint32_t& sleepMS +) { if (!m_continueProcessing) return E_FAIL; @@ -338,8 +395,10 @@ CMidi2SchedulerMidiTransform::CalculateSafeSleepTime(internal::MidiTimestamp nex if (nextWakeupWindowTimestamp > now) { + // calculate diff in seconds auto diff = (nextWakeupWindowTimestamp - now) / m_timestampFrequency; + // convert to milliseconds sleepMS = (uint32_t)(diff * 1000); // if the sleep time is under the limit, we don't sleep at all because the timing is not that accurate @@ -353,6 +412,14 @@ CMidi2SchedulerMidiTransform::CalculateSafeSleepTime(internal::MidiTimestamp nex } catch (...) { + TraceLoggingWrite( + MidiSchedulerTransformTelemetryProvider::Provider(), + __FUNCTION__, + TraceLoggingLevel(WINEVENT_LEVEL_ERROR), + TraceLoggingPointer(this, "this"), + TraceLoggingWideString(L"Exception calculating safe sleep time", "message") + ); + ret = E_FAIL; } @@ -363,8 +430,6 @@ CMidi2SchedulerMidiTransform::CalculateSafeSleepTime(internal::MidiTimestamp nex void CMidi2SchedulerMidiTransform::QueueWorker() { - OutputDebugString(L"" __FUNCTION__ " Enter"); - try { const uint64_t totalExpectedLatency = m_deviceLatencyTicks + MIDI_SCHEDULER_LOCK_AND_SEND_FUNCTION_LATENCY_TICKS; @@ -375,13 +440,10 @@ void CMidi2SchedulerMidiTransform::QueueWorker() // to wake up due to a new message arriving or due to shut down. if (m_continueProcessing && m_messageQueue.empty()) { - OutputDebugString(L"" __FUNCTION__ " queue is empty. About to sleep"); - // queue empty so sleep until we get notified to wake up - bool triggered = m_messageProcessorWakeup.wait(MIDI_OUTBOUND_EMPTY_QUEUE_SLEEP_DURATION_MS); - - if (triggered) OutputDebugString(L"" __FUNCTION__ " Wake up from sleep"); - + m_messageProcessorWakeup.wait(MIDI_OUTBOUND_EMPTY_QUEUE_SLEEP_DURATION_MS); + //bool triggered = m_messageProcessorWakeup.wait(MIDI_OUTBOUND_EMPTY_QUEUE_SLEEP_DURATION_MS); + //if (triggered) OutputDebugString(L"" __FUNCTION__ " Wake up from sleep"); } else if (m_continueProcessing && !m_messageQueue.empty()) { @@ -420,9 +482,16 @@ void CMidi2SchedulerMidiTransform::QueueWorker() { LOG_IF_FAILED(hr); + TraceLoggingWrite( + MidiSchedulerTransformTelemetryProvider::Provider(), + __FUNCTION__, + TraceLoggingLevel(WINEVENT_LEVEL_ERROR), + TraceLoggingPointer(this, "this"), + TraceLoggingHResult(hr, "hresult") + ); + // we failed to send for some reason, so break out of the loop. We'll catch // these messages the next time around. - OutputDebugString(L"" __FUNCTION__ " Failed to send MIDI message"); break; } @@ -447,7 +516,7 @@ void CMidi2SchedulerMidiTransform::QueueWorker() else { // couldn't get top timestamp for some reason. - OutputDebugString(L"" __FUNCTION__ " Unable to get top timestamp"); + //OutputDebugString(L"" __FUNCTION__ " Unable to get top timestamp"); } } @@ -468,13 +537,14 @@ void CMidi2SchedulerMidiTransform::QueueWorker() } catch (...) { - // TODO: Log - OutputDebugString(L"" __FUNCTION__ " Exception"); + TraceLoggingWrite( + MidiSchedulerTransformTelemetryProvider::Provider(), + __FUNCTION__, + TraceLoggingLevel(WINEVENT_LEVEL_ERROR), + TraceLoggingPointer(this, "this"), + TraceLoggingWideString(L"Exception processing queue", "message") + ); } - - - OutputDebugString((std::wstring(L"" __FUNCTION__ " Exit. Abandoned queue size is: ") + std::to_wstring(m_messageQueue.size())).c_str()); - } From 9838b049a9753f9d2ebfda84f337195d760d7d19 Mon Sep 17 00:00:00 2001 From: Pete Brown Date: Wed, 17 Apr 2024 11:52:51 -0400 Subject: [PATCH 2/2] Docs updates --- .../{midi-console.md => console/endpoints.md} | 176 ++---------------- docs/console/enum-endpoints.md | 48 +++++ docs/console/enum-plugins.md | 25 +++ docs/console/enum-transports.png | Bin 0 -> 142567 bytes docs/console/help.md | 74 ++++++++ docs/console/help.png | Bin 0 -> 83466 bytes docs/console/midi-clock.png | Bin 0 -> 86614 bytes docs/console/midi-console.md | 39 ++++ docs/data-translation.md | 4 +- docs/developer-docs/consuming-midi-api.md | 38 ++-- docs/developer-docs/internal-interfaces.md | 8 +- 11 files changed, 226 insertions(+), 186 deletions(-) rename docs/{midi-console.md => console/endpoints.md} (59%) create mode 100644 docs/console/enum-endpoints.md create mode 100644 docs/console/enum-plugins.md create mode 100644 docs/console/enum-transports.png create mode 100644 docs/console/help.md create mode 100644 docs/console/help.png create mode 100644 docs/console/midi-clock.png create mode 100644 docs/console/midi-console.md diff --git a/docs/midi-console.md b/docs/console/endpoints.md similarity index 59% rename from docs/midi-console.md rename to docs/console/endpoints.md index 1e434473..5d8381fb 100644 --- a/docs/midi-console.md +++ b/docs/console/endpoints.md @@ -1,152 +1,10 @@ --- layout: page -title: MIDI Console -parent: Windows Midi Services +title: Endpoints and Messages +parent: MIDI Console --- -# Windows MIDI Services Console - -If you have the midi console installed, you can invoke it from any command prompt using `midi`. We recommend using [Windows Terminal](https://aka.ms/terminal) for the best experience. - -## General Information - -### Commands vs Options - -MIDI Console commands are words with no symbol prefix. For example `endpoint` or `send-message-file`. Options are prefixed with two dashes if you use the full word, or a single dash if you use the single-letter abbreviation. For example `--help` or `-h`. There is no statement completion built in to the console, but there are some supported abbreviations for commands. These are not yet fully documented but are present in the Program.cs in the console source code. - -### "Ports" vs "Streams" - -In MIDI 1.0, specifically USB MIDI 1.0, a connected device would have a single input and single output stream. Inside that stream are packets of data with virtual cable numbers. Those numbers (16 total at most) identify the "port" the data is going to. Operating systems would then translate those into input and output ports. Those cable numbers were hidden from users. - -MIDI 2.0 does not have a concept of a port. Instead, you always work with the stream itself. The group number, which is in the MIDI message now, is the moral equivalent of that cable number. - -So where you may have seen a device with 5 input and 5 output ports in the past, you will now see a **single bidirectional UMP Endpoint stream** with 5 input groups and 5 output groups. We know this can take some getting used to, but it enables us to use MIDI 1.0 devices as though they are MIDI 2.0 devices, and provide a unified API. - -### Help - -Add the option `--help` or its short version `-h` to any command to get information and examples for that command. - -``` -midi --help -midi service --help -midi enumerate --help -midi enumerate endpoints --help -``` - -The `--help` option will always provide the most up-to-date list of commands and options supported by the MIDI Services Console. - -## Check the MIDI Service Health - -The heart of Windows MIDI Services is the Windows Service which processes and routes messages, creates endpoints, and more. The MIDI Services Console app includes a few commands to check the status and health of the service. - -### Check MIDI Service Status - -If you want to verify that the MIDI Service is running, you can check its status using the Service Control Manager, or through the MIDI Console. - -``` -midi service status -midi svc status -``` - -If you uset the `--verbose` or `-v` option, the console will display more information about the service. - -``` -midi service status -midi svc status -``` - -### Ping the Service - -If you want to verify that the service is transmitting and receiving messages, you can use the ping command, much like you would - -``` -midi service ping -midi svc ping -``` - -This command also supports the `--verbose` or `-v` option to display the full results of the ping. It also supports a `--count` or `-c` parameter for the number of messages you want to send. Finally, the call supports a `--timeout` or `-t` parameter to set the timeout in milliseconds before the ping is considered to have failed. - -Here are examples of the command with various parameters. - -``` -midi service ping --verbose -midi service ping --verbose --count 20 --timeout 20000 -``` - -### Stop / Start / Restart the Service - -The MIDI console has three commands for managing the Windows service. These can be useful when developing or debugging service-side plugins. Note that these must be run from an Administrator console session. - -``` -midi service stop -midi service start -midi service restart -``` - -## See the Current Timestamp and Frequency - -If you want to see the MIDI clock we're using for timestamps and message scheduling, you can use the `time` command. It will display the current timestamp in ticks, and the number of ticks per second (the resolution) - -``` -midi time -midi clock -``` - -## Enumerate (List) MIDI Entities - -A basic operation you may do with the tool is list the major entities (Endpoints and Plugins) in the system. - -The enumerate command has the aliases `enum` and `list` which may be used instead of the full `enumerate` command. - -### Enumerate MIDI UMP Endpoints - -The `ump-endpoints` parameter has the alias `endpoints` and the alias `ump` so either may be used with the same results. These commands are all equivalent: - -``` -midi enumerate ump-endpoints -midi enumerate endpoints -midi enum endpoints -midi list endpoints -midi list ump -``` - -All of the above statements will return a list of all the user-focused UMP endpoints on the system. - -> **Note:** There are loopback endpoints A and B that are always available and are built into the service. They are crosswired to each other so that any message sent to A is received on B, and vice versa. They cannot be removed or disabled. Because these are more for support, testing, and developer scenarios, they are not returned from enumeration calls by default. Instead, you would supply the `--include-loopback` option for the enumeration commands. - -### Enumerate Classic Byte-stream (MIDI 1.0) Endpoints - -This uses the old WinRT API. Its primary reason for existance is so you can see what's shown to older APIs vs what is shown for the new Windows MIDI Services API. As with the UMP endpoints, the commands have aliases, so the following are all equivalent - -``` -midi enumerate bytestream-endpoints -midi enumerate legacy-endpoints -midi enum legacy-endpoints -midi list legacy -``` - -### Enumerate Transport Plugins - -TODO: This feature is actively in development. - -### Enumerate Message Processing Plugins - -TODO: This feature is actively in development. - -## Watch UMP Endpoints for Changes - -Enumerating endpoints gives you a snapshot of the list at a moment in time. Watching the endpoints will give you a constantly updating list, which reflects device add/remove as well as property updates. This is useful more for developers, or those who are using tools to modify endpoints and want to verify that the changes were reported. - -The `watch-endpoints` command has the alias `watch`, so these are equivalent: - -``` -midi watch-endpoints -midi watch -``` - -Note that only UMP endpoints (or bytestream endpoints converted to UMP by the new USB driver and service) are watched for changes. The older MIDI API is not used here. When you want to stop watching the endpoints for changes, hit the `escape` key. - -## Single-Endpoint Commands +# Single-Endpoint Commands There are a number of commands, including those for monitoring and sending messages, which operate on a single endpoint. @@ -158,7 +16,7 @@ If you want to script the commands without requiring any user interaction, provi midi endpoint \\?\SWD#MIDISRV#MIDIU_DIAG_LOOPBACK_B#{e7cce071-3c03-423f-88d3-f1045d02552b} properties --verbose ``` -### Get Detailed Endpoint Properties +## Get Detailed Endpoint Properties In the Device Manager in Windows, you can only see a subset of properties for a device. The same goes with the `pnputil` utility. It can be useful to see all of the key properties of a MIDI Endpoint. Therefore, we've baked property reporting right into the MIDI Services Console. @@ -174,7 +32,7 @@ midi endpoint properties --verbose As with other endpoint commands, if you provide the endpoint device Id, it will be used. Otherwise, you will be prompted to select an endpoint. -### Monitor an Endpoint for Incoming Messages +## Monitor an Endpoint for Incoming Messages By default, every UMP Endpoint in Windows MIDI Services is multi-client. That means that more than one application can open a connection to the endpoint and send and/or receive messages. This also makes it possible to monitor all the incoming messages on an endpoint, even when that endpoint is in use by another application. @@ -194,7 +52,7 @@ Verbose mode: midi endpoint monitor --verbose ``` -#### Saving messages to a file +### Saving messages to a file When monitoring, you also have the option to save the messages to a file. This can be used to capture test data which you will send using the `send-message-file` command, or for storing something like a System Exclusive dump. @@ -211,7 +69,7 @@ If no file extension is specified, the extension `.midi2` will be automatically When you have completed monitoring an endpoint, hit the `escape` key to close the connection and the app. -### Send a Message from the Command Line +## Send a Message from the Command Line Sending a message to an endpoint is very helpful for testing, but can also be used in automation to, for example, change the current program, or set a MIDI CC value. It would be very easy for a person to build a batch file or PowerShell script which used midi.exe to synchronize different devices, or reset devices to a known state in preparation for a performance. @@ -237,7 +95,7 @@ midi endpoint send-message 0x41234567 0xDEADBEEF --count 15 --pause 2000 In general, we recommend sending messages in hexadecimal format (prefix `0x` followed by 8 hexadecimal digits)as it is easier to visually inspect the information being sent. The 1-4 MIDI words are in order from left to right, from 1 to 4. -#### Special debug messages +### Special debug messages One thing that can be useful is to send otherwise valid UMP messages where the last word is incremented by 1 for each sent message. This helps to validate that all messages were received by your application, and in the correct order. Note that this requires a message type of at least two words. We don't recommend sending Type F stream messages as those have the potential to corrupt data. Instead, a Type 4 MIDI 2.0 channel voice message is usually safer. @@ -247,9 +105,7 @@ midi endpoint send-message 0x41234567 0x00000000 --count 10000 --pause 2 --debug When sent, you should see messages where the second word is updated from `0x00000000` through `0x00002710` (decimal 10000). We recommend the pause when sending large numbers of messages because a pause of 0 ("send as fast as possible") can flood the buffers with more data than the client may be able to retrieve in time and may result in dropped messages. A warning is displayed when that possibility seems likely. -#### Scheduling messages - -> NOTE: In current Developer Preview builds, message scheduling is turned off so the timestamp is ignored. Refer to the release notes. +### Scheduling messages When sending messages, you have two options for timestamps: @@ -271,7 +127,7 @@ Of course, you can also use the `midi time` command to see the current timestamp Finally, if you do not specify a timestamp, the current time is used. -### Send a File full of Messages +## Send a File full of Messages If you want to send a file full of messages, for SysEx or testing, for example, the console has provision for this. @@ -334,7 +190,7 @@ F3345678h 12345678h 86754321h 86753099h # bunch of empty lines above. And the file ends with a comment ``` -### Sending Endpoint Metadata Requests +## Sending Endpoint Metadata Requests The MIDI Services Console also makes it possible to send some common stream request messages without having to remember their exact format. @@ -344,7 +200,7 @@ These are primarily a convenience for developers. Note that in all the request commands, you may abbreviate `request` as `req` -#### Send a Function Block Request Message +### Send a Function Block Request Message In the command, you may abbreviate `function-blocks` as `fb`, `functions`, `function` or `function-block`. The singular versions are available to make the command make more sense when requesting a single block's data. @@ -369,7 +225,7 @@ midi endpoint request function-blocks --all --request-name false midi endpoint request function-blocks --all --request-info false ``` -#### Send an Endpoint Information Request Message +### Send an Endpoint Information Request Message In the command, you may abbreviate `endpoint-metadata` as `em` or `metadata`. @@ -402,9 +258,3 @@ midi endpoint request endpoint-metadata --stream-configuration ``` Finally, note that you can provide a UMP version to send with the request. By default, the version is Major 1, Minor 1. The `--ump-version-major` and `--ump-version-minor` options are what you want to use here. - -## Technical Information - -The Windows MIDI Services Console app has been developed using C#, .NET 8, the MIT-licensed open source [Spectre.Console](https://spectreconsole.net/) library, and the Microsoft-developed open source [C#/WinRT](https://learn.microsoft.com/windows/apps/develop/platform/csharp-winrt/) toolkit. - -The console uses the same Windows MIDI Services WinRT APIs available to other desktop applications. Its full source code is available [on our Github repo](https://aka.ms/midirepo). Pull-requests, feature requests, and bug reports welcome. The project is open source, but we request that instead of forking it to create your own version, you consider contributing to the project. diff --git a/docs/console/enum-endpoints.md b/docs/console/enum-endpoints.md new file mode 100644 index 00000000..219cba92 --- /dev/null +++ b/docs/console/enum-endpoints.md @@ -0,0 +1,48 @@ +--- +layout: page +title: Enumerate Endpoints +parent: MIDI Console +--- + +# Enumerate (List) Endpoints + +## Enumerate MIDI UMP Endpoints + +The `ump-endpoints` parameter has the alias `endpoints` and the alias `ump` so either may be used with the same results. These commands are all equivalent: + +``` +midi enumerate ump-endpoints +midi enumerate endpoints +midi enum endpoints +midi list endpoints +midi list ump +``` + +All of the above statements will return a list of all the user-focused UMP endpoints on the system. + +> **Note:** There are loopback endpoints A and B that are always available and are built into the service. They are crosswired to each other so that any message sent to A is received on B, and vice versa. They cannot be removed or disabled. Because these are more for support, testing, and developer scenarios, they are not returned from enumeration calls by default. Instead, you would supply the `--include-loopback` option for the enumeration commands. + +## Enumerate Classic Byte-format (MIDI 1.0) Endpoints + +This uses the old WinRT API. Its primary reason for existance is so you can see what's shown to older APIs vs what is shown for the new Windows MIDI Services API. As with the UMP endpoints, the commands have aliases, so the following are all equivalent + +``` +midi enumerate bytestream-endpoints +midi enumerate legacy-endpoints +midi enum legacy-endpoints +midi list legacy +``` + +## Watch UMP Endpoints for Changes + +Enumerating endpoints gives you a snapshot of the list at a moment in time. Watching the endpoints will give you a constantly updating list, which reflects device add/remove as well as property updates. This is useful more for developers, or those who are using tools to modify endpoints and want to verify that the changes were reported. + +The `watch-endpoints` command has the alias `watch`, so these are equivalent: + +``` +midi watch-endpoints +midi watch +``` + +Note that only UMP endpoints (or bytestream endpoints converted to UMP by the new USB driver and service) are watched for changes. The older MIDI API is not used here. When you want to stop watching the endpoints for changes, hit the `escape` key. + diff --git a/docs/console/enum-plugins.md b/docs/console/enum-plugins.md new file mode 100644 index 00000000..1a159404 --- /dev/null +++ b/docs/console/enum-plugins.md @@ -0,0 +1,25 @@ +--- +layout: page +title: Enumerate Plugins +parent: MIDI Console +--- + +# Enumerate (List) MIDI Service Plugins + +The enumerate command has the aliases `enum` and `list` which may be used instead of the full `enumerate` command. + +## Enumerate Transport Plugins + +This command makes it easy to see which transports are currently enabled in Windows MIDI Services. + +``` +midi enumerate transport-plugins +``` + +![Enumerate Transport Plugins](./enum-transports.png) + + +## Enumerate Message Processing Plugins + +TODO: This feature is actively in development. + diff --git a/docs/console/enum-transports.png b/docs/console/enum-transports.png new file mode 100644 index 0000000000000000000000000000000000000000..c1238c6312961b6d67729d770161b3d1e112e7f5 GIT binary patch literal 142567 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 E1C8CFfdBvi literal 0 HcmV?d00001 diff --git a/docs/console/help.md b/docs/console/help.md new file mode 100644 index 00000000..44bbd6e7 --- /dev/null +++ b/docs/console/help.md @@ -0,0 +1,74 @@ +--- +layout: page +title: Help and Troubleshooting +parent: MIDI Console +--- + +# Windows MIDI Services Console Help + +Add the option `--help` or its short version `-h` to any command to get information and examples for that command. + +``` +midi --help +midi service --help +midi enumerate --help +midi enumerate endpoints --help +``` + +The `--help` option will always provide the most up-to-date list of commands and options supported by the MIDI Services Console. + +![MIDI Services Console Help](help.png) + +## Check the MIDI Service Health + +The heart of Windows MIDI Services is the Windows Service which processes and routes messages, creates endpoints, and more. The MIDI Services Console app includes a few commands to check the status and health of the service. + +### Check MIDI Service Status + +If you want to verify that the MIDI Service is running, you can check its status using the Service Control Manager, or through the MIDI Console. + +``` +midi service status +midi svc status +``` + +If you uset the `--verbose` or `-v` option, the console will display more information about the service. + +``` +midi service status +midi svc status +``` + +### Ping the Service + +If you want to verify that the service is transmitting and receiving messages, you can use the ping command, much like you would + +``` +midi service ping +midi svc ping +``` + +This command also supports the `--verbose` or `-v` option to display the full results of the ping. It also supports a `--count` or `-c` parameter for the number of messages you want to send. Finally, the call supports a `--timeout` or `-t` parameter to set the timeout in milliseconds before the ping is considered to have failed. + +Here are examples of the command with various parameters. + +``` +midi service ping --verbose +midi service ping --verbose --count 20 --timeout 20000 +``` + +### Stop / Start / Restart the Service + +The MIDI console has three commands for managing the Windows service. These can be useful when developing or debugging service-side plugins. Note that these must be run from an Administrator console session. + +``` +midi service stop +midi service start +midi service restart +``` + +> Tip: You can use the new Windows `sudo` command if you are a developer and you have enabled it in the Windows 11 developer settings. + +``` +sudo midi service restart +``` diff --git a/docs/console/help.png b/docs/console/help.png new file mode 100644 index 0000000000000000000000000000000000000000..2143dc26b6f9465538d2368cb288b3b49934b0c1 GIT binary patch literal 83466 zcmd?Rd05i<_cv_yZJe~Msm#i)rfJHRtlSl*tf|S&(%cs^GfPENb3p}~N}V#bP0U;v zb*l&d;Pc_Vp7%Mg zbI$8<=j@pi8`O5Hsi>%I_~Ya;7ZsJY6cv>gRaBHEe;hk zbTgwk|F4M)J1*C5*}Y@!x+`0*pTwTD`9Mp)XB*! zJ%62idhUpD`(q)q0&3)J0(nBksDeC%Yv|cr&8@QtWFQ@kd~O%a0p=%vLRbJ1MGpQL|v zHZd#{XRFD<%6W)_JX8viPp2$ggWtWipp;>h{Mkboap!EYKH`cnKh@t-I*gNc4AJaG z$u%r6Z*2_=A?F7}l>+F-Z|$qR!WJd@SQ8e)nPa&4{?K53@mr<2G)~E7bSZjK66X!c zQ_knkV*5X)b(=yIm|Ghi^`DT_q>0Mhy)ABc@O(c57LDb!w3s7ktG~(g)n^E6y+`9h& z=~L*&PNagx%e5B{2G*2bfo$WP>mD##x#fm|xRFJ?AiV40Z!Z13Pd~?=S&EVb=Q?#o z?_Ie?Mc9Z#a4kELGBV>(;(KkPsAJ0H?}pXiFDK?N%+vh%Ej6V{6aw+0aD-LuVZCzk zLc-%r=z@tyXF=4sI;g;&$HtJ(uKM10%Ng-fGAQZYtbtY%CvBVB_X|(%qL%7Z-L=q| zL~cV3Zs{)WNj^e2R0EO}fmYwBlRN~8A5H~#!&&)+IsVEnKd*jRC6n=~7<>7&Ge*@D zDr<+XSE08;;)t^pVujf2F$%oWzJswQ8p4B9bM4t)RPP^gDi=y+a*|S%i*XXOG`|h* zL(p|k?17oQ=f4p)<~GKt?&yM=O)jfmJ-gtz?c2wF+cnWB4h_kf zbtEl1YPA}u3~r^ycO1G56~#b-VTKawmnPD*GQN%B0-~%f3I?0&hsyiaUvE_jdn%WT zc*7jeA1U8%zEMCzk-N!NI?H|BxGLpCl>8x{Qo*AlC-xyP3Iid+zusAGC|e^dSZn<~xn<-Z= z?5U9=r$5g^WsB6VF(lc!J6syfdxH3=h4^?>s`6oF7Amv9yQ)+6s!ocfzNr2IJv8Im zWNvV#Vj#j&&sy$N;|vZd4aO{eF0Nt7fF~6Hj&nCyk&DTbPwmso0iLKya&3KO*U*bh zIeQ2PxgH|?n5tJG|2ztD^3?cy=gNj9rU_Y!2qlNqrTFZuxO87BfhyUvdqMDbM{RS% z?*=qj?NW9IgAYj|N|rLr=d5YyMhYW|?{nG1AI_Y0!zJ|3YU1MCXBQ|SjILe$HDM(~ zQd#3@+HgsjsrU#9313o&F11eWOxVE?voH{88BS6*bf{qd-jFLs(l_KOp}&q1P<$?OEZnG}kyMO>F66w5P^@ zDNMzig!z@cNMS}v7N>vR?{R^czvG>xZNXC63-?s4fy}L`$qjG3>gcIRv1|^Yw?+y4 z^fm0S0HOg%*<}d-5Txd89H>|43yDA!RH_G|mA!e>sg4{u!=R}I<2tvj=JPRTqva5J zF9bF=l1Fh5ux*V}ZaloQf}UAG=ZOhHVkhSmCPO~T7`+_;krYF0nr6z%FY^)^(x+82 z0!m6C>@_CMzNAd;Zde_)wqs%18I=IrJ^F0tPIM^I&bgq8td|&8$bI&4;|~IBeRB7; z?fz<=P4C_RlRT`a@b#GA<$)wt?G9^OuxIe?YvPFfd>?$k$8E-HVRdmI)@u2FxIO8N zlJo`#V-Uhwb<&)AFp9;K&!^g2}-KRsx3dap5RJ`Fk|TYXSJ^E@^|Y_+@zDuZ@_Xwq+f6>(TVg9n<#_Tz=L zF3=-LE$d!0vv5hwStHVdQLt3V302&?9yU}Z6W~ztqf7MP5q7Dj&6Rg6qkiijTUkLZtv+T+BM5YlD5@^>OP0@waANk{fWo^bt|o+ge6kO&h-y!B2)$lco;kx_zd? zyQ80evg<(`Q&N~3=cG5SldB|DdZyLjHrV85dQY{EFhROewcRj|u5kVnH)Ewj!-P1* z$T2KW`8kBZXH`wx#nd*9d;#XDVEdaUl8uKFe!7gM3~7zR8D}TK1dPJP`_{$+x{?X+ z_ifxbpRHCl$zN=dlnO`j!~HbkuNJo)7G!Cd81EQQZZ`aPWK%5IG;q!0aFuK=DE{@V zC34d8Db+!vQ}?lw4QMl#kN;PVeWOdrLMd1^03KmrX5zZ2M@tbSGro4GtE#9gD;az|AZ z2IaL2-u#gMdTLNT06q<)`vo-M3*N)lpVLM=8XVZS|C?=yYZQ$o2BXB;C~GO5B&Yw% zo00G$6jKqGH`>j;8b10t#^ndA!zvyZ6k4cxt(t7&Vu^ZC`LdG5Bq`HtO6@sU)yLy1 z-EK1xpoKn^wXBQm_&RYcr1gy${!HmxK8M5mu|InZWYKuLI;q;i7G7MIq1%mD? z$i`)7W_Ozi45;PAOrtLP@Owt!p*NKt6SRi0vPv6c(9ms|r|}O{aicL>M^=p8Z_CPX z4xzlXdr2=ar)tC~ckRjo0ZN)JpnYY-4dr!;v*r?O5P}(iiO(2~8sV6T`J_%Z;}341KZ; zQkX@re0^Shq56J10XL2Vjkh1EQSj9bG{dj@Y*dZWh;am!F4m`h@5IuNt}RG3LO-n< zDetxaRb=j8dQ6$Vj*{9LFg;=y`;I@u<5N!Y2aK`B`1seXZfP-~{JIZ}{0V1R{1ND6 zzG6pz%YS#9S)?^;uwP^tEiYBENV#tI7?3FaHMHG@*m@40m-?@c8633Y1vq^u<+zR~ z8?v@j;{)v{v?D_Y-Q5+KZHH6%^FPf$=g3YQKG9tOt*f$6k+mKb9bk~%R?vmYt4)v8 zDAi5OIi2kn0V|SCk}=iE=;NLmU(b703vkRaabvVjQ~RZbq1V~akJB$HBv@=aq2*$% zc=^ezP?pS?OTW$Ba>6si48O-1s@nPuz24x|39Cl7UI*_KSc~ zQ5jtK@Ao&WbY2zwzS8H7-2g6_z53s}Sk}700*e}ISavLH^#A~ul%bY3Dg*d6MoPP{ z)=)*IsH{rHCUV)A0kj7Fu~_ATYku4qyo-vJ@mJ9KUq7TWy>nh@K3xWX+gkUl44z*` zUt_Y_;dGzsZ&SD+T})xBJ=yv=G-%42l~=Rr7=YXo2WkrXW$OcNR{&*g4$u(XtH}O+ zo#1^oVkq0>UuRXSe7*!fL89|f3NarOK}8B{%v=??@B_*yPvkj`qo;tB=>Gfk4ZnH4qN-p|#ShpsXZ ze4=$B6xV`ZCtD0QZPTI(c?^gxQnobP_rjI`;TV*akQ-vl!?E`1Gt_m^7%-wS$JsV^ zcJSzE%OzWk{)H_gaSVhHcyeXbv-i#gz-1I!C1K14f}D7BM?7!Ktq&Zxb6sL>I*{#@ ze{k)pJc>zOn^_i@rkzMIWvBXVDC#(D% zjfVR#%l4j}VjJpo23057a&Z_!QW9wUX0(xtM?M~UdjFI2;&4g!I`1HMT?!he3B&k=f8M?Lzv|0J$B%#ay1(OMT!;3I#iI z?sl-FqfnfcR<5ZjzQ%q;d_1$>Ga?wxh2kW``V4*!J!^P=U;yVvS8iUB``8YbfQDOcYmb>-5@5u3i@hU%fc+2tQj29? z>lZn{en`wP>T0QTFvuGXH|N*U0mvrD{d7vX^A+{&eJJrlo(%Mxq;5XrCEA<$Eh=)K zhQ@JEO7EW`Zw1#TGr{}b#~iG~SvX23@O72DJjh#jN$hlu);2XFWh_xhsmb~CDn*i# z$lBx_b51UMYI4e&_lT-(s9HOpfPF;D?rE+ag%Vyw!Crr|?vaQ1tg4i1iQdp?jr&T7 zgZIS|+7ZpAC877=dLda7mm)LxnW!A;<282g_>(4PQ7vW|98vtPFkq~}VYon_A_t8^ zBmbfco0&x8a*#0z01CNL@{vxOu%YB-;Rw=StV;)FnNau@!a%zJyGk)v{k@~4b!vH? zq3%$n2Ewh6}D)s1){(84gDj zYh6w#Se`2f_QzItHort#5r|lo0395$^!KwR9;?MGUP>hYX>)CiGYezKGWKGE5ivR! zPH7OYxAdHHpSM;!=cjk;SZd1{bQF;RV|yaKiX2Ypf+|0Bg$!qo$E}~6Ff&NE982}Z zudkcdd=nW{g`KRP_5@QUTpY`F;?yTAYBkXz68EcUe*02~#GDVZnSwrhPSx-a#7vZN zhFJj>*eY8idv)SQc;YtPG1?P(&L*Wx5zN=$JP!f|bMX_h#kGZd5!6g9C$xiOJ|Ryp z{HHA{i^-~l(eDTK-Db|SN;@`_!FcBexs^xx6_OLZEKGT^O}X<3)lbGuA@UN=0DFy{ zN4N5ZC6pO9YTb%eunnB98hL$by|!-0XMP1PgQA%-bMiS&*QF&eqvo5| zDH&!m*TI2UMEO<74`jcKDC5jfwp&ZHR(%K`lR2iy(w=*|Cp^DbZ;YV> zPM}V2KVJ@+X`0$Y6Fpg&U!I*_T7_Y!f1Gr0!DJ8UPekd3rniK7;=uPhdTFw zpuahj;CNL>L(?&6=pesWB(q8~&T29q1F1IbjMFfRvoRJ~7|-A&Rd-=7QPSbdm$Ep) zW{X5_BYWF$4C)kp)GBYF<^g3v3=4>6#78gr`JlWIa?tl!Q1B)+;W6{t`K@Zxc{&zT znsb44EkaIa_Vv-!pn5;mst`uvDbc9yba}7l>g*1v&48P`tr9sl5g&7!m1taItta_9 z+P#s<%>-`)LA%^7hy0|S<5lsiad!3caA$>8NuZWbhkjsMj$U`I?!s2p!!Z0pmLn%V zlnpA!Dfj-{Mx?K&_<;}qayY+t0QZ)&ar9YndfVwcK7Pi%L^_4+n54ge-%eR5yP%4l zDew5F|Fxdah}4?hMDp8x?WzonUNhnbYnzaaMYWT!6Itq#~MlSh&jA)bf9e5BVScNsp_huKyp(AX#DEwOs-=EI~0x` zmh@>^#HD+X`SGcJ5$Z2MfYBZkzx&TBYY<&!_d{mUf!4zGOoLBp9IK@*$;R_Zy3zJ) zP3P;^?S& zH-C#mTOrlij$EE)4?&3H@&n*`d+zXgf!1d;%3n@CDKWW3Wo@V=%m87=_{^V2Z&{UU z&_?y=MQ~D7SLy1hVew*%ak?dgF)S(J56>8!)$dXEG_2s?SKYuwN63xOyGGE%9=m3$ zUT?Lrs)#w@;SzF4WS$aM2HpASCT9DyHU=aS+B}vTf#o4Le35YhP-b`SP?H=u||;sn<2`zGMa4|FJ}WgO|94D-84;`!%AWC=r`QpKthJ zek!p>-{$(24@pz}!(-duhc=fa1hOgjvzUQW{T1|Hb?EnGrpf^INQ@#|6K2%7YW7Uz z-UM06t`*HpPpi@yJPRvtq`O~VGnn7}&~63PUr79Kan@hL+Sm2-9fIUiLncx--%^!P`mH5_3YxS#9HfY_GMSzR2;vF&2>n$uVFV%`CAB) z_L48fd{zK16$79l9vWj(GCu}59eips8$FX=Ng8!WpvWoAK#cRO|2I8%!_CLg*yF(X z{bNUtn?f~{KNGtRZ{FW-W3WpUnfj?m6D^gwRs78e-FhZ8eCrd@s1dcepx760Y@a!g zoT_>Nz22vtNZKlt==I&kG(9-#4~dfu^;r7jcJj(C@rqbafm~M`-K39$cZHU9w{che zZqGUZfaBh9)zBX8NBn%(fzk9H!@$&MY95HNw@*UWw7r;58&7|AR?RUR&K@CUeXd<@e{D{!DV(MBkf& zl(?4n$DBr7Ri_}%JZ4{VAZybH?w;3m9h~A{uc+-x$LfnF-E9HkZ&4;*)qxd8IZ3A) z#r5!R>1TdOUqyIkN(MoQgm;EOIpUpV7!P8^3DhrKDlP#y=flV^^7rHa+@d_^@ef{a zjs*9!tS~#{xRhA<(s(K>`X`T^I6>+1fFZ}4Jrdme@Hdr9GT+#tpi0&oDSZHBkBWrE zjr!D0$4_5(VkFGXqFuyBeAp_3QH?fsy5TaxWR zYzHCI^ktt^g8?UUOg8*o$7{ z%v8I29wfA--3jSn;{$UP_gJ5yrE<6nz^-P)Gi`Bs*dN9|0)$+@pt}mMM|d zkcZUrkF?Z>Pv-~5a7$iyCIw;%(pI{KdM767OogQonKjIlH22*jM1Z6JZq!|*G}rI+ z-d#kb4K_(!mPJVa=#eXVkhN$%$0X#0IpPeFRDzt|aTl~oU_Gywz4{s?TC5<>+-=%ewd7?Cx;GEi;n#U>4{ zm}Zz}^!Z-ode^{DKV|-LwRs-=`DOLQsV}|*&n`DVpiVbItDWcJXB*ZKfeHNdiW@hR0zIQlc zyQt46d-d18ipPM7N?QXO`1cNnW65bS8sVuh@Y+zx)~cz<%GM`U&A`IodgDkV z`yhc2){MtF)HK}PD%;^>Ov*byogc}ZQ#wDhk+p(SJZX7B zIL$|`Qa*@vrU4zWk?(HmpN=6<9;jz4rcCTFo%Y1qGijOt?BYIk))kfUnkC-8+sNnX z%3)z;rE=^UfcUc*kw)7hUN4M^h;bBo)LXxqObWJfrYso`RV-vjyileymeRx8zQ)iz z8$Jd!tSJX#6rvO1>XZ~0?T4AP88x}&X3OrFjtttQ(RUvJcO{eV``69=x<-DXr={-E znT_1GgCnU#sM_G*yhaPu50m9G)F|C!!+_=7TIz`jnw8H;o2~4Y(S3$xx0eR})Hpl# zTKo=NIdY~RsrMiA#h-0R>-qPL=OOS?oNuZ8uAUxr>17>QV5#!uN!i z_t2E}s_@(%xPufl+<096aho;Ka_r{uKaqB*lc&V)5k|jrDUfWt zh|F3&k9`>j}NKiack5^ zYFm%vK>`2TTQMRfrHe~&zYwb7c*^I~75YOLW&at2JS+@#MLDX~FY=!nySbOw<=?Bn zVieA7*F~o(qsHpAUVZ_Q$~@H6Q(ZjqVcG+lk_MdQQ1*sOVB`f<7t+rJ=rF!0G&iHO zu=q_&QT9~^hdH?yaDxG_7OvTH^OLXp!PsU8UN);?F|8yftj)#HsGlNzE3&5nM-tlP zH^~`JDKR?TMW+2x9%5e#t8KKv?Bhl-+;;}DX`XSO1#5Z$emZKNgFXpfmkRL(FhDMw-sME=NHNgWGBt)$pdhR&@k;JJK#a}Y@;8|bSVNy)=cx$`&cKKCs&@|Ram50G)oSs&M%yF`)x~R8lmGY z?DxoxQT;JiyWwdXscDgvbWc+4>ZWA?zA*oAdkERO2QaEm8w4L=tZG2m1f3t|Ga8^~ zBW@U91}n5#+~6OK@})&{@$%UwXR~^AApmArL0{s7fLzgQY+p+2UVq)n>MZQE3ck`# zNESIo=ZfHZKBP=Zspb%j>inV$aG4@M$OR2%w}sKgjf$X9A~diqYE)h6cw3g#@ye3; zTVKoqwJmA1aBKHKcWFG8HxiehOV#dC+Cd!X`gGJs>VdVhiXG=>Qd^{>JnpQs9o47# zO(PNsgbSCm#(bMdeSm8PJca=lO4^!CohMn(eFcGkO_RgG(%;p@AoX2%wok*!91&=pNeE&nsb&sL`b6^qaMICnO19kduCg z$!h)++wC%RUcJBnZE^bRlR$^hB)_3_DxWC6Bs5}KzVdm#9+gUaxLXwZg|%1J!=b~7 za+_K1@5RlU^ppC=RoZE-%>f{gr9B45=^x+~H7w=@m58&p4-($73_qoVUY>7ohh%eU zgH^uQQFRaPA(;8>b!t+Ca}-9f-jwhArt<8|p7@1^23`>mdTp+j>-Qj`O8V4jvzo6! z>Yg4a*asz3GwF)CRLF=O1c-cJ;3IrIyWfA!{rpy0(iXKgLgHAfEGj20O}P~ZzOe|> zgsrySozm2>{z(}SSwB2ps<13JI={?e0}|w>K$!7aR=RiO4C*e15^CVv7jmF-(74ic zZLE50)Tf$75O|TKHFmHh)D8Ug8?R!$y#QLqy(%5ofx0?!8NTfs@5Xa&Yt)6VA1P)* z*2W?dxW{(?kMF-;dG+h}q}P8Z3-Yzk|1}Ag|LvN#Fg1o;`}As7A?0E6ts*ZLuJ8O# zl&fg#NM;rtSh};X;E7)%r%pZS$(RiA&vd)u&AGn#b=UR#2xcOO$%jdH-p}Ou*OunS z#q!~0|4;mKnNB2b9Sbt5Gh_vlGrG>?+n8^xTolYtl7p8MbI&1gXg~ho+W3YrLRmhB6E*kg_2q)>2GQPJATJ4|kft$;&LBj}Z6>9bv}HgS%>djv zC%PhRCEucQLGyPYdi}fZg!T5c@&1>u3)aN@?aK}V$QUJ;k$6huR6=iCRA%C7r40U# zTpTpaSO+NbJ-CAatG`r!I*X9vFd&3{#rY38%- zXj&&V){Ev#OJQPh;*X#$7D32UDJjgR@6lM5*y3{m4Fr`P{MI88jG}%P!U(0CfId2R z1uzVuL{lq~&1UU*qz3>DexUACU7 zSnG9hM=xZPp+CG)PzHtV)O)PA95OqrgQxYOvEa%Wf18P^>kSUdyf8sBOzT7}*l%O> z`jRIU3P~^P&72*^wO8@%4mB5Lwv87t4adUuihwLUY)bJ(isgS(4+l2%2f%&*$fKk@ z_wq8;__+1j)WPUEH?@A>ZGa>cf-YH9{_ZAkZXFD~8cOE>bGFau-DJo`f*T!k<*n>Z z;x><&8Hq;ZpL+ClIb)>u-@W zEHlfUU{Z~=z+IswitH-|eHke0v)brvEDRBV$K?>l=35>mopF-Z9Y%vA1#zZEcLeh0 zEcdYNRt}am4rJZD;`JoM6dg2MOchM<9|2V4<;MY&et_5ZseD~bcHsf6$>}s^$$^hS z)?sPo3A(dDBv6a~#l;3!Zd^X?JYWgY0J%k+92%U*cg48VkscTPW>EiFzoYdwcYLye z9>UXNU~Ki8Q6zZG<1&I1@ig8!O2to&z-!_WO+=;taB>XmvaO9lg3|JpgnaKoLu1i^ z77TRSw+=AhN1_c*&#GP1d@_^g^29sDf$T>5g{0ylxk(JWf_h05PaA@=(sd(fzS%Py zU{D4N?0q!|PWNYqlrE|lBw;4%8nG~JF(le645H67sv!z3y9TS0zVJWL{0B7uip%;Y zCl|bdaGXY|BPhjJOLehi7vAXfqWVrpR*;7H7pxsuZL+DpayQNND%<%Fnyfy580Hy5 zW^b~Kuzl2zXJ~p#pGLa1u%&r;O%a;s+U!oN;|qp6CWXdYwjT9^Ih=ACn*THsNg(JB1ncT@$8%+ZablXPANFH6FzB83smW@&FW_{Dq7j^=xQ1rnd zJi744`SB+n5ws<8Kxx^S zpo5W41d4Os2Dzi_uEL+d(@$NIJ8SM$xjF93=sM_e(YaP(dC)b-!8gfr_ zSQgoU#9Bbin$Q3BCG@IJ8GS%;fBteKNt~zSKY+)e%qFX^m|yc@gw}Tz2Ef-}p?^-S z#0UOXjx+aA%)V(19A^9y*cyeQ3GE)whS@#uLvEvGkPGE=q3BLl^x+{X1p(<- zDWJdlN`3Twr}-_q1q%;IHiv$&S4z>j*-p=bnJ;)&b#spP@**CuK$)&Ch%2YIunzGt zZG6^BVCaVZ)#)nVRRx(;hn@_8m4bsr5A_*TT|YahwOL~wKGfigORm{JT}h**e#&0; zudEcFU9;h1jynf~+vhN-gNDv`zyZ~8+>y939QyjQ#;TZt;WR;N9m#jUtbwfjR1=s% zgTKT;m%4ENR>7_au6=MvPbWoh1BLYIE>AiOT3etKip&sR{Cn1IDlszb+iJe6YW6y} z^m!&=Z3sWmJ^=2DN?yhDpAc)mOuoZwGi1H|4)lP+*=uKLW!O4D;-@lttRE(|r)J`BJKWDS zdug6XNf_$Iq8J6T=`LX z^3^`)pFIR^YCnj6$1ZiZ;z}8{uwCH?U%j2mMj-s*a*V`mTDa7^!X^Ga}GL#!#t9f#;#s_L?L%>6?Vh7ix1+<292Tk3=@7nDgmB{TeEO zOR0o*enEmGC0?C&rGVQi9XfTixwT>4j)D;%>mN)aNnr$CiVku~N4|rOiLf3|2*~{0<3Hjf zJgXRjhgpRwtRi4BVRDl?XvkzIXjk{`_L5hzx&aMI-Bipv z%^0ZTpK(GsWZ_Ga!k(v4bk>6ti8tpx$0YpmcboY9v6yF^L&~QYLm{>8Z*wfhJeq$G zt1&W04d+sCa{=mh#2C_wh6vG(Xv~lf)j|`%J`(d|P8Y%&ls@20@0LCEPyPLPYoWQe}}O9VZvt^_XKsdL;4xy+83-E z3Fz9ywL8!dIUk0DbHblit5pN@EyNo)tkl=r^ zK4X;jkb%x4{2f0QUgbys5#uv#S?O6ojo5uXpWyoAsAdsHEPj^74bGrSi|14Nx%}*~ zXNoKBlKaSv@m)=D@DD!_ogf%HmO7DBGik$Dzja7{57r*~rk~B9gb8xz^*rm5!nN6@ z3cDd>FXpHe@N#5)s4~#W7SjTC7D8$H44eY_HL!exL%8nAy>Kuko&WdqYux)brV#!` zQu_k_h70TPs`Gzq-IuJ7qvJ1diQo(AFVNE z&805({R4QOqH%-j0*qFm&(ACQFMJs_>t(*o^L~YR*fKu6iA((zpe4iaDIXT@h#S`m z^mp_3{*(I>R6nDtHH=a1Gq^3 z{3R&9QlhxDU%NF5X5>;+=Y%l}5a-M*I62h78Kop$7eAU)fH2|?O+6(%`@}CTk&4et%M<9E1x3TqTHdB+c z%&vL+@&A!slUlOEuDSj{uxqY;XV>)2G~y_ouy9gkdcGQ^7%)O(;^^&!lMi|npS(Og z{S7Iy&6N7&RD#7-VI6mSBGgmSK-S|KQ-4Ueyv^K9uzyfV4OW^rSsl=83>lTv^ghFz zP19aSjil^N?STcvNaM8}rk8D^uH4$yU9GVR3k@k&U&*=W-l=LXF-|R>fF1B9FDwVs z)99UK$K~9>6bIZ;=EX^LULYp!L&P+$9_?9jBsabfVKJyaI=GDKq|B1TWCu*Dx1T5` zr=g3JJ^YtX-s7YF95qVG(9g_wnqy|4VqcZPh4$~8nJ(wIpfT`m-C-q#XM250KYt=# z@(X~A;IKL}``G_59WPTf<2JkA%YhWCE#cpcyh3Dc}TEe!|gEjg;BtMr^8cz^A!UO=lx z8Ewln;hGl+Mj6=O2#1mSlvQ8K@BxvCh=z$k8%A^!nQ5S0QO*_(!F~T6|WD}Xw09A;^=c*CLKX(os!n5Y|Oe_T9iY$r{SRy&&5LH zovwqn&1mT((e;Q!vD)b2D!VkFjyEmuJgPT1(h4TWLXx%MUr$(-H0+Y6p2G*c&0cV6 zAMUNuU%8EI{8fgY{ineCP1}CAE9Sp+>Kcyei-L%8qDQpZr;|h}UGodNgO|mymihOq zg9A}5B4S6mLhO|(px62l1_1Mn1vZ3iu_)_g@wJo*<62voLanwpW{YXrJs@avqqH;0 za0Ias-Bm(e~5;LRh`D2@ZXA0mok6%MPYTTG5x@ zeEzZ8b-k$pS<@PIN4SUfj_mmK!_2#^p2&>DxRS&}j~#*-`*d@uuOE>wKJiXOH7yHh z;E$Y03m9Za5liB7NXgBlhufmrG`o%FeFeh?qisDbBjgWL@{^bx7wNpBo`>1+H^c|! zDVhGx1AuW0dwSpi^+9WH>#5Pg zi9CxVuHGDs)FTlU+7^YGWOcJbW(yd;4EfH3%E)H3J`5(?y*3k}mr^EAib4EfoYEDk z*R|XK>Tx(sTDMpclEKd_!}uAI=}2%GP*kGU@_{ua4qbP=OPc0bQ`YoB3-=4pr4fCU z_SoPm z*aO@E+fMB0@Uh(u-L6;kNZo=)iR%i@9k}T)yty$=jfa)LJH(5?;wBCGo+mhPH}MC2 z_Bu-4Q9q;4bv=kLf|ce}a$&$oBIhb0b)LS43iAQ}B2d5I2oKf# z7+Lu#gRFDU=p>cAU}0>nk{KX5NU!>Sx3B=%WU{`baG(l)#naULD)u)!nuucOhW7Z& zRu=2WgPBGqZZoR11L|*AzH_X&bpcy7RNkI?o9UuPs|&ijX3j#bk8kcM|BsB*;tox8 zB9nl3z5{AljC@B9tcML}jtC~lK9BV_*Sd^=6!#MEli5=$N&Nxev;06sP)qQ6PgDOc z&Mq4y#^Fi?{pYf5cKJw5OXaDn`q7cE3Mi8yi}i@KTOt=v?91k^wDtqwg@%LI1$HZA zyHEoVvg*pbUstzXQ5{c+491pcF%k@dE7&TwG|~I{?SBWujHsIaY@0FF(bo+b?d&(N znw-|t_PBr7E3d{5+5CH|7jV1&{rdlVCDF>50Ogc)bh&7Bh(0F7uci4Xa*p~{xEDlI zzDv;T`qqV?wwf|fN_p|oDWLSI=t1TQN-d*3K-^`?7^#J&YUp}DPwT(SH~Ahbdv$rY zvHtktbg$E=N+7n2*&QH0$cc;e1RuUlT6k|1Y&mkR&2F$oAz=q=L6ah@{r$~25<^>7 zUi3D}fn#0P4bFj5Txk12Rl2yo<9rAtli=h*B2YYl0{bqFv1sb-%nAK`UGXi*l`m`x zuO&{{84O7*R1n5uXz0dNh_HId(if=LZQ%iB`SAQS#(ai&-UDD4%Ib%A`atf+Of-BX z5T&Dh8*1Vx8~<25JRd)sd9~uHQI}Wv$~jD26CnQ4TTpqx2Q~E)?9jRpG|Y3^f+qJ< zCEiD>NFKX%*fwGA*JiVNtBJ(e8%g8ITH#&+x@=}YEgVuXDS^kx3?(2BC?cjhUk4pm zhl5)wWqd8kR)9N3^efr=Hl#@F0?VqXVXNSTv}$3#CyD&L_HF_J{S5T zcABS~j|WPb`%a{LuKGUhf@(*E03{{sG94`bhN(N~ow{Q&XF z)Q$T7Ru*r7yif<85p=~9IbD+7z2@rLesTSq1A_t48ij7;-BG4B^&xiIS?hPS4JxF0 z^#_}`qRX9V>6|a@P;A5H-Pb@bcJL22C-{!nXI|~EUo!;|8wHxTNlTRg>$8`}|Jw?v z7253KORgF!Z0hD$>mUgOK&|~WnY7Zj`Oj z-;bZ4AT*bF_4|9LfAfEDjNYnB$^~N1w1ATzj5X>tO<4!mzBWvg<`IB^H_Z9`GmGe) ziao~qbY%~`q$=s8zNGIS{2og_i5jV>jXhbx^Luv9i(Grr2ICR6)c4{Ua{ULVfTlH} z`e^|*it}?E+$5$_0G+?vEs34uHsu~np3-x@>a#tSsnIuS1?2erg2JJ@8>c4AiQ-%> z$+wenqs#JL)ySWMkHsf)5wDp*SzFDPeP<4noq_DAEs&5!M>m_Fx=z-OGp>a#XXk)S zX~YIfC|y7B%3Jm>Lahkz5lpsd1grp_tCj*(f`WQc5ql?JVyk?CGTQA$mpdJ<2GzJ* zkrC~zRpFju&VoyoZ;|F$nZAc>u17Zc6GHDdB``tR3-AlyafAWDm5lI!ESz+G_Q3{w zkh+S{7FIW2>E>H%VH|-4e#+wT>n2Jcuih<<75GK=6}78eICR>^*y9FbcCZ@$8y4qW zVCS{I% zFYF@`7Y0$4Ry5j}f5}#K8g%vr#L;L_+IO!Z^X9d+6Yz~uYlliIkNEBbi2673MF)6> znd5}j5vuRhUOSG*!4MyxXnNZ&4Oq3n9J#^kDJ`o#_s3#e+C2Pi}M3j&Clf3lABYzV`?ATsI~xp z+10&q(+Li@CW#6`mPo)b8n;I;m%07x+67aI3E#}8EoA4XN7yV2qv!{4S*+Am%eu#7af&X9c?}j^@lSMU6E^Nz*CKCJ%I;w z+oE)7db8mupw|2-JfG(_^ZC>%k0sd%m>}`PjqYJ-XT0w@IH4EFB|Ry+RpnJB z{dsGohhhXGE=?p`=vV}+WlHhC8YI*FQtkzWEe}B;?)QM&TN#Vs{(mq$NPyTI+;=;m zeapM$uY&1C^a{K3=mJb8;x21cD#RQHUmhTw7 zQuW<+%#+wrJH|N&``iwdWcBS6` z(3H2@EzLfgt<)p6Yhu<;i$^xYe2OIA5ArD^=+=w+v*L15B_T_O&m{w z{*_La9dydyl9_0`N7|+=5=l zA;*;EO=;@fozXQ7p_=Ti>?B5a85Flg{N=;L4W5F>3zPy-vPvr(MpRU^x9F7=1a8Po z1Oi)%34G2NJ5D|xhRJkFgCSZBTo^lA{I9Xof#M@*?+iixc2MF_6g9QITh9bvF%xx8 zHhHuunFq*wN?WyQ%!aw@ESr5g=);aJ4%d{HIZAR13BM(b+K;vw%hyNdPY1!c|5jCCH zE0tjQ5kfvDI>Mgsq9+jcO22V88&c-O0@>mjs-OL|+EQx_NT!p22(Q3H=F zr*?~r8X?ZrDFq+Hw#TtT?|McRk8odZPoqe*AE#)AZ7cwy6D!u~VUWwRXQUwv6`$Z zESVt{&FF8Z(-owalD5sdPglw`IcOGq16An(TP^;R(EV8Hn&C?LsqGK2DaX0r!f>q8 zKC#_5HPK_yWs|FlYyY}}xl3RKN z7kf&|-nF@EMbaTkD+3}&1==9+^JF%B2JHO;v%vTt2beC$qRliK=laeU;&W366>`-t zuz;*$+|Gr3!n0mX$sW3BPvecI7f;8xz%iu2zTQM-fR$8N=y=2=8+sz*}1tIPQ@>jkzJBEP8rtsF&F&lV~y;@mW3jx`Xa%ToS2HBLD2bM`mP&c|C6I;P{z6S)F6^zEN?Sl zwCj#EY=AsE`Yex_6&&zJ)^RAQ1)Mcv-sRmHWtX0XCXMP#W45g{H+uFx+(=c2%J%SHWmiQF zvm>SN|QiuG~Cx#r$YMtui1m*UA1 zVK0y})n2e2deQ6v8?`tcV`* z8$$`o{KqrV1J?)cvz&#~P8$A&;>y|OPF}x%yJyYnDH#iOO(+rxl!R9-O3Xv9%X1SusiR;D z#hs_o9jlx)SZ$KGvwp>aMhQrZtAbqyLg7Oe#VeUR#5E5W@1zwzp)n+n7-$|BSui2( z5#WKfg9s8L2}RAZygMR`6`Byes)OH}1m<@sFcE{Un5`*4Qby!ROrC{9r;T~BO(Joz zk2&_0r5g>Q<`iH#fLBXnEpQ_dD_uF$b3kxT`YdEXIxZdM>^8^v;5v3(HQmnl3)QrY zTa5IFx_89smf)`M4wDF2G_>iLwCc-;a0AKOhme5ME>e6~pV3G0`mDkRe2V+IB;zef zlrCF3TKhu%qyc}g{o~OK+UdV>B3o`gnH(+m?rcR1)cV)a>|Oh3Vqm5ig18Vl5a26? zPc8DzHxtBY+HcofsdLRUdKnwmRf6rsJ-$hQzN@Dztx2hILW}#bajFL&i{dtiCys8l zL>GzjjOq)GHEtsbqlWHZZz+F7!{P*^E&9B@DK>oUVVvRQ?MZ)P2(KO|8Z#nC1)DCt zo*vvE(yH!^N=Ppu9~X*3OAeqZ1OoN^ol(USn^joqmCxf}@fBBkv>eUGULRhIf4;lq z5}@*SwGO{_yqSSE?z=~sBh;<#AO%;16AcZEIrgTOW27;qh8hfk>&(P3SS<+)@q8)z@(V9LMSd%!BXfmE!rz$vJ(D;+-2aeAILh7Su6} zs9n%O(_Gx|YM`G`c*Dx%$hfm~fKq*l+q5$%V7Z8piBJ83u^15P9Ax{G(~j?zH*vEb z!n9K1HF1MwxN_WrjrTNaU*C1-eecV`eO^DO%^Qs6*d3_8hm%}St-&M3g;_M5e_FF2 z#)!RNd#9-sNo#y8p`cD`3Ew59j7Dc#57h|Ot*!?-Jm8B{V(wS%OJ;gT73xd^{vmhl zApbP~5Iw?KBG^*p@E1;G@H=s30h-zb_-6`KrM3Gm?7z$0_h|J6#F5U3Vr(&1Z08KG z&g8|v$o0QmD3y&{M;8WnkWau{61cr#Eq2Zv?o}%h27jo6#53Ovz&4a~&OuC&-(GtE z;eiZFOk&K2wCeO~V>4V91{jj%0v$|4=tM27EURo}`Os0f8619q>1N$l^vt}WjzU;!kFk%qomZPgC zTrkI71TzRBY2vDh39xXfXVU3O=EzO;Qyr`$Cup9a zJ>_)-Fdtv;w%-2dXx9q@fF0!fD_83#j@QHmz<6DW)k?QoTZVi#4)h11Fl%&>GqW|2 zKssgku|LIMA*p_=X=@>_LwS98;SRMfxYAio7o12zx23+ic=e@!hJf)UbK6=%YZvl zyC-+{gca*mo~3|jW@INkdGa@y)cgI)GsKr=KkUoH^&47dj)&o6`iWBG-&tS_p z#$v!_)N*xlBW$-0rShj(PUSW3t83zw3a1;W1DGja3Cz3}S{`quodEsrpZ1?Rdubkn zm=L8B(dqiHUx6&c_shtqgPfpU^(uCAvz+U*@05)Yg_ek&X|MjtUmkNgAd#8-;XKBo z{~rUOR^fqC7Xm7v-a7|)W0^sL!e@X1cu2UqZRpVEkMv& z{P_%j+_mgk*Px9A1h319W|)M%>9B$-zdVJ%a(=y|r%qS++C#FiRd}UzR{O||=xJBwOt4!{*rJn`BH88`m+j84%>z~& z8e7v?&q&F_*(M`WnepkHRl=SHh+{0?8eW%td);Qe`F}3WrTL$92CrH*&eb1(ll)~Q z<{0b`Bl#GCd&j|_;xzEP-Luqdig~_A^B^}nnN%HQ3 z!kH~5Ydf(UsUwhIvU$Zmx{pr7f!SK_Y1r~eKMQyOWV7rSr_qL@TS<#4ZsE_S)XX~Wh9mzn!vNI!BI~PzUz1BCHjmpJ5HhYx zWjH>i1lMyAJKxdlt`QA?)`5h4>!*_nX+@c+YrAu|MEgQ>i@gaf!PATd z%7yhD59?z#8&@IznA$=OBO2k@tfLM&$$Yt#n6;DxrFlr?AYJ-xm~7`UuKcA2k{hDP zu~oybIXC;*CT1PWzw^%#Du*RVH?u60M)ettq%uS3cjBKkwgP{yKRhc|2g#2p)^&xGPW2u9Ibl37A8tGSaj2rH-2oK@NU8g#{xy>DTr@3%{RDJ4C;>;g$NIGBr6U8i@uv_-o`es~5!M^qj1>U40?% zd|b6AM~XC=5x$dMO%@t!NKng4&D(*z7Og90xVYN5jTuDbiD_F$g~jKL*^D(*#umIS zF_5`m3?W8%+~|gU_?eTN`~* zc_%nk$nYzl@pxo*liA?{-IB|Yoq#p6V1sOTEz%i4w@(Ho_C~#10DUO$4AXuWniC1; zUWkVsEYOh-pBUu#!}@QxPev@gNEZ_SE36Ka!Rp~Z>O`z}x_pyUu5!XyN2la#_>FDo zcWpWvPG2t-%`7Ob9$grbe6Vm-ILjr}-Kwa3P4lDpGk-|a{*|*Kz=$J>9z~>An=s+m zf%el?({vz*>+AyDw-EHo&5=)ODx~g|D#wj4`hEC#_{Qgwf{$--V{F+PSKzdjRSoG= z-tHja)Tosyb+bI1Wan>>p^$%q>~XZ z^x1N)GPxxUucb4i@V2hG7%#r87*_YF;hoBb3^pJ5Rj}@t~;SAXd0EjR- zBLvwv4vLCx`UZ(`{GuJ`M2sCE04aDE>GPqvBLAIR&r+Td*@slS?u_dHs>vYjJIr6C zD9u@<@o{`{SL8f$BJOI&PXuLlOsw&}AS|X#ez~H;TKx^|o7Qi#QRFc0ZL&vr&@0a+ zG6yT*(1aAa+Ve{JyV$Wf>%IoBj_DxXD*eMcc=e#nNAFe2zzAtRden)vO5<8~=`bK>{azWPg4;s|zysNK3nd3D|(98CBn?Yj{+0 zZ1tB1He(dnLV0@2%*+OGG`k`OmRnvMmW@vx6H8-{LgRp~=2(nr*yJVq(Z(k67aBhf1fs6%sgw%KgyRtTP<@pLYL(#Ev)H@VOtC^uZLAjeBDGj?tP>({W&EpA ze4u_sr@;6ssF|H`hPa0ybcH0@{){yV3}qaSSS+OK6@IUv7PtNmxu<-@zUbvV|_Sc2pB++T{C z7R2CyKY&lrJveG_iMHAv9T?eR@Q^c|`+ar;ZkD0yuC$p`Y=zVRq(TXgMU){w>Hh=T$W%i>SHZ^$Q%ItcG9gw^O&jpaE;2KwOE;rWIZz zH-Rt`@}6Mg@Soaa$MQ*#c-HeRmnc84D=o`D?md{44 zIG~=g|K+7|hSH-`$ehWx;7-o3I<4Lh*4QT&<|=goBY`sFpEW<@9K(IHZi}EYt1C?! zYGe5xN&9Y%2$4ko^cOiZNoXV2Ss0&)?+>#TPWy8r;p5ybjiK?g0?EoPFmL|*(nk;V zEyOED?!P~eQM5)}D4s!P8%M%7I3y;#aKF~yeSYkK1F){Zm4+9XwLY)|$3@FrFE?*D zPI_~nv^};~XK>Kh7wSG~3t-&&sQcB;?(?yeJ@*mIFU$>x-8z_~(CJ_XGwjzJo%-=F zLQ-qk{#{`kb?bN41qHElhQ{-NH@=VgUgy5-+{(YNy>J|=7j4nC4&wutuKxb=?E&a& z!YCtrkH%mj9IBQOO;ysg_vLsT3`7pyKNzIiu3S{B3s-tTwdOo(pg$<{NCU@ zS6W)^SQF8^4Ek<9hZz69>A6a*s3BJobO&SzpCy7iBsb#-zsJToh&~ z2?T@T?n7mkyJBK@7IZG`O&|rjAcnV?FPFj%A+l1Kr9z~{{31}6n^oR3oy6po9RYUT zj5gLA4n-GrMQQ`tv9hB%g1rj-MqX}n*4GIoUS+OY!VeGkDmTpObLf9)r+TfQ^ojze zj?j3#qKQ&qbXOVeFSQ#$|fg!-dN@8>nRR$7>Pir%Z!-=J`@v!M>(SpRD`JwrRO zp$5nH9Z65ZsHm#7PoGx}o|1$g)hOe*Ji?SZFp z>4(~eYb%Q>`xsO)K;`?6;~@h6rK$)jhVzB9Cl*O4F+3^KmhrG!LfmFREF8q$=Zth@pa!_yOjhAWylUOe zDD;IRU8f4+=t5fyThNs2u4P$TY>vKmB~}A8cP3LgcR?@M4`X|GWE-+1P9&;a@Ndc# z;iH0LKKvegN_UWKhY~iK&I>+jJ#BiqU?XO1%E?0MZ@Ffc8|R<0{ZwU(&x9H#pVee} z`ov&__~4Z@k;TCkoiP5Z!=RZVaHd5&vUu0C+F9635yd#RPmQI7SdnE~AxQ$cXL*`~ zv+9GN9+4-`1!WAvkZ}gKHEy(5V?Rwt!HOWD&A=WL{~?X}OY}gL%bnwLWvxJJ6rf&W z5MpW4a@q_u`8VKRREkzNHQfB3#{;i$(lJ8wcHgAQw8_VkA65UgJ)<^?b1f4#>TjoN zxovdjZ6{f|%dTF1hY3<)+1P~jR`#sQx&xri%Sc7sZGHSQY+ zkskrwTZ|`63ua<87B}4W?)+#AL(OpuW5!}eJ#0pjJ-yC}a%aaRF&eqszolnanY98# zyb*O_?AS9-a!~9@+U&d9C<~)cSeSTnICd<=dSecA><}hGFq%%IcEu6TGtJYqhC+Zx zQjFRfH~tVIuDgg#z`LK&lqTXb4Cg zmU-_`(3&!yGy|X86(+HXcGaKSa&g$Nx7x%2caIm+h323)`Pct=s5`_(AoglDgiwY1?=QNE0suREedPaBEl6n%u~~u)4PvU9F&_H?if@lFqrW zERGW?YmiH?41rU`V}8DNk6#_i@ONVFLSkU!R_2GC&-;)3Jhk=q8-@_{wE_SwelIOQ zg(c`jMu^q^)c!{o?d~GPA>d48UpI`u7Y&x7r4IZvH8%On9>_JuCzcE@e5@HUo;@Qv z$hG{PSc_xto9BhBYmSomvrToJ#45+x7Q*z6xxtqykeV+K1R>($uSN4gqRJq)+C#xdP8D*7cH{Gx}7&H(*}yydPdnmr)NMML;!w29d=K4=#pu) zt=_23zb#iOFgDXJc@_rUiYCM(sdosoPZ<&x``3zll*EKS_(&1l2aJ>-n^iP6$oci< z2YUE!wZ^b4=3bm5Xzems9jhV~4=Y_sousE!&2LzXI6@CYF{d%_X2)LRw4bVNOVc)U zA5%8kGkKaMb#`rWbFuW_fH^nPMckBSTb1vlPfy1QfJG32M;CWSj)Yj+>mNx|X>Jk% zOzDCuwL<9+wC*8kF55=~Zvm;vrtGNt1#sd@T`@q|w<;z8tNSz%JJ`hW6{SPzltc^5 zT#4`5+-FP8yVB_Y+IW|=mymyt*cbno38ZRNI16>@p?9ArT`jg(@b?#i+!Q?pKW>;> z`B=ykHlKiD>Q4B-pw_a;C0V5M96we*I|Dbk(i?vw!mupUQsaK`fb(g?28c7=O6L_f zQTO1=mE}K}7=GzH*RjJQv*}Ue8SR#Qr_d?_J-5@nyL+%QE}Y=JUz@|qeped16Fk(k ztwxYe(#>GFxO$Tf4z^!AzQc`o5=-RLbfq&V6{+IIFC*|iO+vo^Th3(?yN=|4VX3Ec zV|G1tFQAMs+I_xY7oFp^PiG#+7%8hP#h0i9K(n}ngJOm;A_oI!;|TgM-;Xqlfs%81 z!dDSGoD45<7O%T?c(F~p9lE>X3O|ZzTurK>xsGxP(Mhw<$KU0LxSkN<|8+{2id zJvy2~!R1pELT4GpnymXdP@4^!Y1&i*tcKz&986OC6TOKVmSX&ekHZqPxfp0j{;jnS z_jGks_(uyW3Qb`&kiK1Mu~W5bWH2OEZu!aVQMd`C$y-s0YY6G>k!LIU zFe{S%I|%VKN6_=wQd`nu7O2TEqS*2zcmNmsMJ2eH88L1?1Q{@#|d47ZU z9FBI=neSU9aa{jzk@vZ!1;ijLI)_%j>)rPi32`v)-GMRqeLP-GCt(b1$ zIwq9l&qX~Qs|}=Uy#hNQY*)n8!^yE5alTRtRJODp<3w9{F})gk3a)~Uo2DYHh4Xr~ zqH&g2i6OX=LqCJscR&-EoQej1Q{yhVc1K|z_>}p*| zGG347V!6B@9q6Bsa|#nU8vgdMibj<=t;UjJ^0E_!B87^}7)>!B_M`{YoZ7g+uBs<)@B{Y(e!=`Gst>luB#er5R~5=3Ao*1j1_8z!`xu#4j*1;vN;y3pDa zOXnFZ;B)WR;g{(}?WtWNos&B;W>KMl=+_}pQMkLk;KE4BW*`H*cKH#>y18K zKFM)kaWZ|JO%}P^`Ppxe-TyeWPQirOY?O^z6Z}a9feBS{?2wjq8%t-S+N#w~nY2;g z%tEbLK2zMCRtJzJg4w5|wO&ownk234R*3nb+4KYOD;IW%9 zS|dvRRf|y*3O5tG(LfXujsLd5G79o~zMDxd{sYd2t@%Ch2`fJR9l$ z-858O90TY-FW?bZUN3psL9+nlDVM-j$mc&VOjhmz*xT%qjj@N!Ha;tFhlVYj_}YC% zZwg)OX?)|n{RVWtp}WWT=o0|$sU6KPjHlSELjD#yr-5_C%8}xKV;-q|9WBXQWZ65gE(6*E)I8H zxFL5vOB=`3j$>1-zPMfu>5A0T4guWyKrhh@Vz~J$kiQzb8CAZ(qga2LDz9Gd@B#)+ z>n`B3^x3icDRuiluv0Rsv;b^+t`(fS&7D{E9s)t5mk4Hp-=4O4Vg*Z)^FRO>K6Ur> zg@J|1DV6O&n|2xAuatlXx|%%cfOV5MDAFg>aGy?M+X+9K2cG->IVc_=#>Yxm_q%pG z4gl`7u1%F|hyz-T9#C&M7H|6N3Q^Zf6AZGHH+|phVG6|N}tK=%HH6R` z$F86;uNPF6(rgA0W^tNM-ZuLJH2ls$aW{--;&HEgfpwN(zfcp_2Xq1W^U8!wCSa=D zk{koKt$b^##f!$!l4!?L)iqx74FHpadvdn`?JYF_oCOdkITcJJxXp8eQD0hh;Yr82 z?cI7PJ=*{6egpzJAgj$bpMAUSm1u^H$_ap6=0|pgr?EY1arFy~vEB|$ zO#q~g#ReIGK~2>%6l2c2kh3VbObKf;3H|bZQG$B`11eEWKZ0idN`^>N@OXMiN&gux zY7oh90ZASvV@oUXjXR~WH^LGrnOFNq9O_O%NrLI>k(Bta4(GGYdLQk3`jMqG0?bL_ z3|T6Rbt4fFk_>4JMIsmfeqc@7w)~YKBSfj63F3=_2S}_T(Cg49cb~5Vgs{`*G_={= z``EapU30nVkazFRV?syimqTRZ25Hy6ZM8?VzC6h)f zSlESz7G6YM*@(mAU9h5jIR_Ri8n{aJi7$#2e7sO8nwF$?-J_)ifZ;J2I%u^nTyb`B z<9KzpYCiuqoZ#!WYA*2bRiZ-Im4dD8 zs`%_-6G7y55O<3}g*O(B^#fvy(|E~2^Sz3n=40QAUdXlZX+tk1_i{2pB8fHqA&I56 zwrCQ=OdiTZJ1feGAH25{lU`TaZlp3TU^U{H=^7vR>9}t(E%vw|@LbGT6X3Dib)kAH zP9&*}Cn&<0!WVLt*Rw(PBR6((m&78mb2>&RLORTy@;A`|DMBX@5CMr7*To92@I=xvZE?h$n>buDgDi8VQLzyiO7Abu_clt7Ix%WJ2LkMymQk zsYJ0|wW?Jx{%1OOYJ_AY8DPE`kKrAI#Z39VI2_*5CsH=d?dm%S44Fs*r`?(?N*JIW zych3pS?>5}`abZCQna%kp1hVAoU8Ov(PwTptQo0$S4{KXL%m1GHrw1JP{Drc?+-zs zw(l4#cL}N|?6d#&h+4V}K14w6Y!9DNe>S1HC2h9 z`{-1GXaaY6H-%!iZo@pgm?xr#PNJkW?WEwUQ!ps|KEXdujilJ0_Ve0ix0}45&}QWq z2Gwp2hBM(V&7r>LKLdGmnYcJ8doBzSl}QSBlf2m+7p(O~uf>)Kt0A#|)Ld%Idf1;k zsDmF3KELX;9zx|Idgdx&#Gzj0Y-)x4i`<2B8F}8*K+RqIEDz!|T)7dBnA!4*Gf=g2 zS6cdN3NAPj7=nakDt?OOC1Dt4kB&UmU`X5J2A!FYtvTLq;)(sLSV(a)Gx|#?I$t-I zqpeKynGot}i?95c__?OPG8$|vvUq|a3z720+_)yv0&g!n6Ezd$zCXhGDJGIUM_gG) z!d1aKQoGuDovPqlprfffKmoTY1*g5`I0JL$T49GnLRWBP*1n^y*rpf#YQR0V6}vf( zbdDBPD9))}J#HuMp8+9kb}`OQsM_YH$qoMbJJS3uL-?lCmIGB)M^+GZ>}jaQQK#M5 zkq1iy!E@Ax4_#HRq7%B}MU93!rY|7Gz*mJp_x*bC-J3GTA2DtqJLQ>;n7==wQ1LuuF9>))Hu4~y(?dNT^3=*w@g2TKMx3TS3U zy-K+wINS*(v7?AuGq7Bri*dW@x47qM+#A+?u0JoH0JaF`v=?)OjxHE)V#z>T=^~Na znpu^T9uPgv9Q&Z%?vG)S1e&5-w#&_jC6dTdc%-XI6}B~R=OOp{-JRYF_SbR0zP}6E z+@f~x&#K*Dlay@47oV^NX7Xch+8t$2NncIuwoJreX8f6mXL3EPKTxZ-^3Tv~6gf?x z?}gGt&VP#cxkSHvlhim;z2{Wli~9ND54#A!Kzp2qKtM)EHN7UPQ`sW6ZlTWbl& z;4=;wcEt68JUOtLzBQlVij&C)E(8}V^@UgrbDxU#f)6|WAtKd66keHYv^cm&4e-n; zM+ZeYo3l_fG``=!a^>tKlgzDC*`|?s>*zY2ngIJ`b$n|__u4r9EJFOtyt&AfvHiH+ zXz|5Arb|z=d^f1vn&TDy6VQMY%T>0dF=n>XKpa_8!{Xw-F<9$(FZWQI=ov{*Lr-wCdx4sUkrOu%7$ za{Flf`I?Q5*W>weX&p)f%f;l`e|icsqGBFsVM8y19KhnuE3^1Dpmq4?$yp!6uP$^= z@LW&5$@|_sIszCWEx^m%I{;h_(2UqtE9b@FwcuL&Zv6P=I|HQUKT6h)832?9=9DV1 z$lYnUneQKAEUU5NI8DlTilqGhh`}k4kLF?{<%8(!I*?&}6?8@X+%M?}g-b!%rYG6i zsHM8XZ%djN%~aM+x-bE9^WtPGJF_oI%eB_Vm0An9O*$m_$OuB}Afsc*TR_ISz?L1&D zwe$cz+wY8;SJdBGE%(Wq;Tp#-scMz}GfIz{40hXw&Tm^yE6LrwHS2%0p49n6|%?HTk)gg3N?Jn7tjxhj8FpvHrZya#m|@I|5h!J@8uVs-6P zedjDmq$*4NLUJ{4n{;&0F5@V1w7o6oI5Y7sEI`1%bU^lg48w8TY3&Y?|)@~tJ zuDQ!yiU^;#;Q&c2Q``)!vu0>c7N@cI3{Hb+d7ne1M9sMBLRc-?D^-YRr!w60EJ3+) zEzVlIohx==){+NI2l#YW&1PBsWq(@iD5&QTFxBV=+*jXjZjSYkJdMVOWdURKnh%I4 zqqC+^^kH(1`+REz31PvX8`_MjK4Llfu*tO+HWNjQF~KjNNWdB^>w8GbOP(D`k5c{9 z?pLBq@=iSM2YGG%>(re5)p<}{Wo&lik7DOq+_*o?%6b(6{{!=*czhB?bl1Q(UPiwW zgCjO7{1q6doT}zws(RwUph{?0ABgvysqC_>Qf(amws=OdZ_%y^RAx6SXdv3GqXJ8F z3Z&3m-n^vER*ys?&XjyUoQBnv&j< zejXXHD>^Vao;72X9K_(_#(FX-PZSKI-^bjGaLqgd{vpLZLzAzYauUM36p0^k!{E&% z5oA&S1`ar+gX9l>Y~1z-5iRJ(&@OJ=Y;6i{?}4Rl|GKPa36T6xFq|71j{PUT$l*+B zv$ER4hkw;DJf-NjUE>P-9gOHSvE3gdsZF`59L3X2#zcqG!k=qkceS(Y|8%D(^ZGUK zYSX+dxdvcd1WCst^$lO*c3utlxFQtCaMEMKs0PE0#QBIxgnR z`@f=I?_`}tOr|z~yk6A4bY zznTj3zT`-3@=)0~gnK)X5x4;QyX`2mUON-Hc0L~d#|M~%Yo2MKg z9yLvPqi9dqZw&Lw3WeERks_Qw930^lO%Yd{rlq>ejql!v_i#cD8|(kWp$)3~m>-YV zbMkmZHQQV!owk*D--w}*B&=?f-<~i-`6xqp}rBqQ?eE1jIJ9t%pd3;~I6V2J!3(%5w<@Tg;gj^?Y<&^>{-FJ!C>@jdcI zBNgXVtGShBnHY*)Pu&x!`lA7jxrH%yoYSOxp5Zv1wm@&S_L_5j)Lib}1fH)>ntQ*? zdscZ>2=k#UYH#D59V!%>%}cf6EPkmJHB7h$oq@)UBpc}g;`lpgAqFsa`Z#IL4tWSJ z_l3TnYMSfHk+%)-u6GA@<-EQy7-O>)MW%P&qu(rVFp$5xCpSIbHj92kBKBHGM z-lq+?{6o37M%xFv;MY?+6AHT*uCx|IV&VSzz^3)iXulyaR_NXvokk(PFXx<0^@>8z zeG}}jpYO~eSi*A4Qgu{irUxL)ulxMq28+7sAjM9;GL$N#8<=b)TW!iKM;(2m8(05|T7&(#Z(?u1cyt!dUrAn4*)_~GW7 z5l9lT-4sQ-@@z)jCK|JB?FHqJIl1!q*Gj<;E5$WnTWU{WnnjQa;}g0U)z|H+2`~bh zrsGCk5#N0De@-Twz2E-ei{VLn*s}+0?bia8}!;_8h4Pb56%k`fi zE(-RS{5h?V?*zzryIYZg?3E{*15rNJkQ#CgE!P5o1H4#mA|H|G(}?}h?-&4axA7!p zPb>=lgp{b8NTXUS)RU_8w#Eh(DineaL)+9XuJp}u@n&h?IhRSv zP(I2}=A+|Yz?Zc#qO$m8elmB2%zdB59r5!I5dYeJmvzd79!8QTI|c0H5=LfwG&`UM zP8qNINWLU%?hCKnnkCc}+*5Juc#JLaa*G@36n(KEtMb13%9JPtRz)?ACZ-;( z*!N14`^U{?O%ULJnER}UvM1qm#q(#1{L!W>UTYB80Zn;FFs-r zmNHhimP@NSc}<70Bpa3OSKCNIC?ca*wR z&1KL`F@9{8?Mj0`Y64QHnf)C#CWhB7zT@0j1CYk#$B{V)*4i;*m{_XU1+_K4;==m3 zVP~<$Oa6P@BlBUd-r4MThD3t(1VaFw$RMTMiqJ%myTY%f)JB@B5u9T5Rv!2BJ@B}V zGqJ?C$ASkMiCD9>Z3;wj{qe7MfI9%Icy~9&^qXVb)N2#Ie&vwT_<&w6;3J03EgDzT zF}X_L;C)qnE1Y||*TEpCs*$6%P&vW8@^ZTdMeg#=Dk^tjzZW|R6y6^o9rxfze&BqMrcjhqY6BGu5vmG#{gNUO zgz7rZ&_7HkT=}jmki$BGc+=Z`TG~%+n8lBpy&_!|p6RZmdrjID+D<3kn#UOuX|+8XZqXsR%=V;1$l~osT@-PY zPQHyv9Wa-B#JE7NcZwv11CP7%BLjMFUf-ufaTB-#Fr@v{2k!g;_Q!;Y1XzW18qZc& z9r`PhsJ&ZHo=)J^A0%}K@eLAsa}9~d`+%u?$yPpO?VMRbN&9}}3|S8@O5@)8-nN4d zfGcjlZhAl&ppx3#KeyO?lUw%^1pSk$8_?hY2y62@v>l!Zeiam_hegqzD&uf1H-hne9@p9F5 z_o!@U>30LRE=b8$x|(l%+*8$kEnZE_nUvu7g$~&LO(vBCDAa#XclHK63@F!oWzmKF zL6lUc@py$4E$DXkwtz@$lAyamkYY4@RjCcs#jOa*|>_i75i=f`n*4XLdBhorCOZKLe_RGFV zv1(qq!gXy$2vnvGk2;gVc~@f6eJ51bEx(UfH-r{%^fYb?hRO)NP0WhYrN)I20rJ!p6=_X(MxT4c zjT(u!gF2mms?LGBg+g`xv4L#IF2jm4*XHO_@W ze*ulnIR||BU|{CfH2fM*V^6^fOW~do5Kas|t&D4fDUJeb!B;>muh(h+jeWotcpyoO z-I-QjgzzB@^PpKOojynF0?=!KmJ7egwv#Up5OQS`cYL&G{f-cI1QVdc$|H7HUgzq zTbt561Lle@hC)1d*U3BPsl;ro()<@X{2>iHAyokp(j0n)(P14l!p}{+rydiz*y}qR z6--8e#BP*OV18Z4su0-QEq*0#u7%|S?fBZ3#OZw6C&YX00SRsLDC>zy2hfZS5>Z! zG<0^|Vr=o1n8%xAKd<42i=*iEx&#+s(;-f#w~5VXh}^3fVP}2@;K2hYyhD{U7u+bQ zQKz`vCu~jWtR}`>IR1j`1wjd@Rc6YTBG9DrjyuePbGegFUYMe&&c#baj z;Y`W61myJ21k{tuq-98RGWb^t;~KzTwULM;>NCF6AbPhhD6&y?N7LsvCL+h5C8$}P zqh<<1U~{oPwkTmomFozWEW~C?Htv+M8xF`n+(ZT9cMB=?2LB}3)GLy-sw9{GAIjc5 zD#`r+|8AMa#!9Ct(@bUhG)~`E6$)N8 zTP+F!R_}ee7EJONN_e`sK1@N5JKLy!Ga)g_nq+r6)EqAt>wZDlXdzHquVip!xU#u+ z<80!c*Pr^To5d0%_DqHaw?N2gIlTR zhVMB1o<+076g&#Dzt3ACo=At;J6gEeCDb9&}XVK-6@w1_9F8&|eJ`p2Kt6RBS1A6QfM8j~aDW#os&D=`P>N};O&atW-@m2pz%wW_s&*q6_st{az0`S( z(e19+mWDAKbpRWR|Nba84U?sK;y8s1j3Nn6T}@SZpGF9UW9%Y)wjVhUx=#=eaDk}70HJ;fsGjr;e zYe(Z(=$S4K!qWEpI~OHq2DGI z2TDk{L~j$3rICy8BOmL`oyM9d4VjzZe^N3zl`pi8;8B~M(T^ODi0mwfmK{;e#uO6M zp=#hEZ>TeEWiu3TO+_OTnQsaYVD5%+79aTC7B0Lbs=lR$ht#NyE?0UI7ss|4W(no- zSn^8F3@L(4@haS z{F$ydyncf~;b=Y6=lEte;W%0&iH)F1d#(O27jVr!d1Kgp&8!&=-}pJm)0v)C?OZVG z`=wa$C8YROKc_>m3yHh%VbG4$A2-14ygfuxbNafg1B0g8Utzr8M5p(nW$qz0c(cgR z)cA5wy@oo26Bkj#@#S#&xgTYFIu|dP)tVj)<;R1ghvMgr%q#-MO$-td z&d6AP$wfGQzuxI1^V>S&!l5pr*DFzVpky68eAPQ{*7>Mro|4AnE-nlCpwhZf{@c{6 z1uo2*L}v(@!RW$hkhYXtb9}pYL(Pq)nlG?89jKDI^JdwAIv&%s6^lM2z5vF7Tg0Np z?4;-nNC#{;4dxh-C)cNuOJrFTHJ@D zn&;au?IXP*Y-W3AYFi6gy_-hZ$!75;k!JAF=Hg&KT|5)anEK^Bpz3Ms)cx-_QT|%H zLe!57lGPJXfSQ{vv-Iyyl)cZ?p6W5r4NR_Vl`i-~&X99KEE{8B z#|6L%yIz|*Fv19Y8;l-C1vo_%*;zvRHTA;U8EETovS8`Zlf=MA6aY($VDlyQZ1+5m zH7p?1Ve;+z@l9gMBf;kRO0sIRO5Fe3xtk4&hHj2sK~e6jb4P)4aPCN~O7g*0zgR-} zg$0*i^OU&;`O!U#mA<;qtJbGvXT?5@twZhLt_o_r;IzgC=1|*%{m7{*RDBvmPD%=x zE_Ky`$qC6RBkKMFqRBy^M;8m#^}x)%{UQ3SzqN7XWO0dcq?y*;P|X42vCI#mYXG=o z0UxZ?s}4Jt#JP)@hT(*MBVz*RzcydC(ma6M@VU@?XngA??XZJo`_@-fJExcdL4$V8 zfx_E{0xsszfIA7z=)mz4(t2)$1%cbA=FHlMU5h7nQ49{++FG(rz9o?)jR0eCNVEHQ zs9R%m8s+pxN4nP;bn$mCQ`^IC6&ugBvjoG~AP+P2E1lHO4tU&s2@uy@(CG`FT4NLUhunD{zPqAECCu>9G-NT3dJLWV!q)x zw}(Oolf^U-Tv}T5$gbX>y1@mtmJ6us3E@!Rp?$=yte-?VEt7?^O0azbXl^F6`KzQb z-R!iHEROc|CD;qzju_~KaY~uutrxwM`wH)U%MpbJ-jGO zG+>D=%(mLYfEk^O{JhbXzj%#}(nwK}S7buIy=}8HeXj|Y@b)pC37^mkFo(Cq3mm~ZZ6SK)3mj_ zS|@y0AV=gl7LSV7xQ}LGy#`I%^}$09g~8R&A57$YN6iB&y-PM8s+b^zKY-$qjUp|+ z;y22%?JjImCHu}b?}v>ki_YUSH?Q~7*}=#}GiE*v@9+e?KOrU#(f^pG=^+r)U!B_S zw{bEI2Dga?W=w&@OpX1|=}l1?tJvjaZ{tWFhR_zJah~qKOUt~j9LVleRjgqdjPvXF zz6bFFpYej~UVz&W?1knzV6t9cEYK{jTGC2{?Lo*mSTGP+3;@&yNhzFfDj<3(T@w$- zshchSkUa+D@mP4vtkIOv*wKc^^YRaHmrQ2gQaBcP>WoZf_{|9$$f7FWAxVME@{Zfc zVwp!Po(?}c9raEQB7G6Ch?$Y_23)Zs3EPd|dv z49foX%6sZd(fw_Zq>kqMGG-P*gX8;0%4cLUaL%PtT@`qmO&T3N_uTP0_%^V|CnXb# z-&$rCY2+S|!DEbO$9zj}KF2lMf;FqF*oQOorF3hK26x|{UQE0b6yu@E=J)U&u6%oX z#(w@U*{+`}cAbb^C-57tgg+NJ=5k2;1BQFr zwr#;C)$aEi<04?!bWVuqu@S`&*b%9b5p0gR%R1y=X3R(L&R_sag3eGE-(=pyId~_f zTy|N}FE?CXHYUm@>i_-rV7`E&) zRO>Jt`kuD$?~zoBlgkiKp3gg#pk~auGcFenIWF`gILRs@3PvQBr&!B&5Ask8si;R- zu`ESQVlWsgE@RM{%}#i~XTvAEo_L%ro-JU^#b_ugLdu2|C$!yl<0We{#@a$wiO?fF9S>v;lg87IFfeUpk4 z^Z56{x={Q3>O%*v;;dajQNjZi_Y{(MX5E`vPt3?Vi6H2qssT7U^N4U@aF{-#ieyKs z$0OUAP3wl!uVpVT#;0;BZ9%^BKFv7qv!JxnEUs5OjD9I}O+N>=<;Wg^a1^3hSX8Hc z$;N&;D35sYsd_PhAq{YAJzvFJ$mBg@^U|x=X8@fwysk@uZ+O zaoyLEuIfiN5=HKhJ1N02n@_!{rZCj&$SY}J+Di4@am zus=2xFYk4&yc!#clH_uHR3UAGNrx&2{p9<8nNv16i28ea{9^VtWC$n>Q14O+ZvtTY zmEY32pi2?eG|E0zOPa~r^+z+Zcr!=YNK`h;7r(u=S-0~uV=-IvqS2ElMeuy35^urw z8>$a(&`!C@x1RxF&%i4j876p1AQ#ES%8*oe&N>2_335fX;swuUdij;XD*zGWu;eq7 z!gXAReiMCXxH=H`epE-#~oY|`;Z*beezO& zIN1I1(N|+r)LbY-?=ZqmbRpS5JV*{!G>=Q3iTbxvcqz&!?9sdGKy8T$+b~&@m+Sa6 zS`~A|l(QE#_mq!Iqex+R1Tj(i5k_uS48h3#^_3q*$`t;5xWLWXa5`Oq3=6Qh;zC43 z8yP770fr61K`q!{;gj^sGv%}SZh<{fYpd8Wm7(5uK$M+A68cYTjKX->Qze?p36>7@ z`&BtsqUsTBmW4dG2NAU9X!1xE{H#kRjI*v4fAD&)yhGicRDxY29p-}y#v&Cx?CRmK z*4j5%D%C@j{NcId?y8N!7nE3uw{gb!Ht0Itb6^!iFEJv7`;y1`2yqfzvIw1Pca_ZZ zltVH*0e_xvDo$V$)Izgb+S|?paTv49G%sE-&K5F-Z?nqe#0EEQ<@@On^?|yKeVb3uj*Swm^#M2Gk{wT zEN`t;PA5gCNb(E|eyLj4n}8d0OL-=DRx8LF1*RFM>Vge^4xbbxMevBs0lKTWPXkeP zK&<9b*cq2^|59Y%do60R-rpx~!oxWy8mA*o$kUONCWAZ~L!**}UtsAj+e3;AU(#6kt12=3tUNuss^ypQ_IdfIvR3fw-jehmy9=2XHLvMCyt2Sqe!w zV?I1U;cYB*M=3hLfSX58#My4+sX-Q(=5fk9IOg3O2UmH%ZDb-VAXnyj;SL$Yw-9iY zeN3ob6QHbZNYPV$)mMMTSdT7dzkjZ*R2D1qG%~dzZpP4X{AIlw6lnL5OB1^nYo&*0 zF%_-w<`IKd!Eq*i)`Af|{8+o)ZB4)u_YUC{o|@1ZW0cev)$dQY8LKmB2k#pdaB9h7(1#-0@oc?O1>UT5`Q!gK zfcN+hl9=BVC+R<*0ZlOlHkx<;QLi|r8HErv3z&+0fB1oLOOBvLAb%O$e|8sBD2T#t(V`dHNu zXOP6E`1j;HbopnFIgsfs;i$cy5j;tr!0o^#%&q6-wc-Qnj2y5b7t=u!kFS zwT(M}J9O>#C7(mg13#Jkb#4W7=hVwa$bJnHK1i+9Tww4+Q_2ln)wvdpJ6wsR(U zQ_SU4?iQtB$J8rnByl+=1Bwo|YI7e)RK7l`UV za&If5xzZk5wo=$GlFE11Gh|jPgkhd8wvK?^Enx{c5occPbysGcj0{9@J@ z3c?ax>aGusg^yKa15Unuu2WV))|SJxKrV9@&{1t0vzb?%A|NdM0m{_){%zK97aG=N zZ89Jr7z*#lrrzH@hw-qve41@*Y4o%b_WlfaDWVxSdUGm4LpZWe*-D;v=k24yXn`T` zY;Xfa?4tQlyxv?L!er)0hlV)YE8&zku_3=?)eJjAKQk?MV{vfzL9k4a&W!mxxf?+B^AahtVX*T0nAZIGdc5*H_?R zIX7QJLJrl_2#~0^YgaK*y;LDXmuZ&#&G~CY6TQx)Hw*2V`6Lc!o?ps>BliBbyB?3< zbRC9&*uXu z6g+n)=-p^>e#0sHNOS&qz~LvrPk0i5{Q$W!8r{>y4X-5$H8Xfzvp@0gEuD1;RKoLF zwv)J79z|=eTJ*?I3o#IEYB`87#C>loY&dv%P(}q(u)mu>X>G%FWK{RdgPUaBT}&1; zR=I$o1&Y?OI5&?!EWH%=H#RKsK~2`^eDBR8lo@yA?7!oET8fzS{@L9k@d=a^HdR(M z&N3wkgq6bSU-$j|bqBNPAxfj*u*pqFlBk*o2Pt#~W3Jd{urvMr@s_7+85M3Qe^PJ( zPA!+bpgD6;TO6_2z5QI#2FA`0LEK-_eCB>*ma@@6{7`JprEo0zV*dkd@gr{_!jA(R|Ssf^-R7?yYXKusS zvt=u65?(i(^q^w18%+BC(MF7%&OUM`8L=8;`kOFM)l4I}2bLJ>Sh2jF%wKIsi)W?7 zyR*eh0&bPrWtAhU;OEL;D~0;nx58uwHCo6ElG{-Yj}`${R684`79K6U6f! zABqDbarPNOx7>Q({~mBwIrgg$OPci1)llc_ln`3q!fUXEG+9)W*5KW@^qW>ZJV+Td zBM32)#D{GherQAr_zMvN+G2Ao~+i#clR*w_oVtU2mLu^2qYIe8xLaF2XS>+UO!)=O{7(|(8 zANia;zEbA!&gSPsOJ68kb_X>c8Ln9E;eFDZ?t0mSdsj*3JnX*+q6orVzxRv&0nqFx zNYsaV+R#N1l~xHwcdgHH4fnWukJ}<_gDStt>n_WUhx53_wmOZPe~)_Kdn>F^kIo|w z`;!!7Yu~46Hnv1^1V1=2>hk@4Lq^ z6+Vik4&7;h7MGuBCaqu3>D?AtN`!AD=vOgXW;=JegJx5>wM9WZG8+;7aqB9wFr{c< zLm1h@GQP1`T0DQbFEETbxx?c2nC%_JqxC&JVgD3S_{C3Ccp2LhH}iN@ zil|?-4@Ix*4#lA+x<29@nLEK#?AvgAgjRIPnAZv+k_0 z-ZgxXkeYyuES7(H>E(}f+b!Xm&mu3t_yGUBr@Hy zS87Eod3$mwDtR!xSR~z=F$8;?G>L2%BJ@};zyI!8*I9oYH_3^o@3ItE;&?8rzuf>J zB*o6>SIYi4&fab7Z2kY-Xq0XfEvwq3DODL<@@fZunW0Wros2ABjzHNX`b#bBjg9RD zFO*aFDP8O)a5O5ic)RaNqG0q;Qqe}`oh+*;>&Z@alY^z9hvCVj52esU{OGhk5T_aW ze9*9;B;L&j%ti=X^u<>Vwz{!MIrNS!m_A<@_6gs`_?4g$Q@s)%<30R`NPk*JtRiy{ z3Q4=0dZnghaRZv4P3U>PDGXeHwJZ6m9GPuzx-LkrApvAdamZd_SnR`-rv*U%Rg6Qu zHW4ZZ7n3d8B9Tspaz|h?s@m)EA2>6M$#!k}(~T^+0U zpNw>pxI$x8S3PzDInTRl;?FkWv9vTMlCZpK&~A;pNS^DO=k@BB+DRckr*yh(aLD9} z6#RQw>b0W6u18}p+=bNoF1DT@uvLQhWcf^CS2ck1SLj){Sj8t( zr#0@A#(KZxA+ost$@UHZW@`y5?}#G>gl9I-kObF(&YB{6(jA~My!yknBxo`>W}s+- zJJn?AS?3j?2GV#XHhN_RKM$M~I^iN{G7)qYN5_AvU~~9j;2o`Q5PEiT-v~3TsTYuJ z;7bsU68b|u`?Jmiov%h(?z@SQT=CHB5#q%lIK$qD_Ll6f`ngkZ{{n$eWZs`4Wrck3 z_w|zSQDEh`z)8`o-fQ)D^YOaP38J_e|KRce$mT5jHFI5_`I9&R=V3bmzQ_NDjEEG5>c>-4(;UDpiq zeItcjamJb@UVP>GaUB zfWcK%Ud#tm@F{XIcR6&_WQ%|@3SEiYBxB30FA;r|#jJcB=VlfwY zvw(uw8!0_>t^U#^6cJ;tlo7EhqzsnyMM9e^o3oxEe`j4^p4GLt)3nRZ)-s!} z- zr=`{7-EKAoauCDC+~cvIwy>p1eEsEe>5iZ03iMq_@i|C>aD!mIIGhdIa47LjW3y5X z=~B`AJ_UHUreF_BQzo0}h^uji>2-CYNqLu2aa{(wW0`lM4BU5lJ@!QWB{F((n`mlO zj1?zSOq`CRi-H$CV`53UkiDFkGWu+=Dm{(A>vPZ>hg-;`%T-8{t~(t{wM zB9Tk)f3GZ7UTAy1CQ&$)=<%U}*ZDozo; zh+Q+s2SK!q?{8Kmle4GB>_pnh7!M2y*!n$|hFF3qOp}1r<1~Sd2|HIbDo@H?&uQUK z?d6j9z`)u+Pp5v$>}FwXK=SzZ({m2pA$&Kjp=|Y4Q2cUk9#h8pDHZYT%w|TD9 z8v?#K^SKV46O5gG;J31lc_dk5v2r&3dvg`#3j?QFY#~e)pK#XUml%#M6e5+`2Sd~E zAx0WA9Z+2k<90ooSY%?re&E&XjMXTv`Ne&6E=&snTB&<(^Fj}f8r$0lhe*P@VmT`o>r2A?d zXiJpWoBdTF?1EG3=Rb2nwFf*4tudyThtMKe_alYi70E|ah{38}dvG{K4XSa(d+37~ zRW8ya^zMRPcO#0hz?C-ScJ&#)2rCV_!rc=I*0Bx7H%RT4g_!R~kvh-hp~zI!eCS`LQRT@Ru_ z6;*0#3+I63EJf9GqrXQ+5f)9}9f{2>>fM9pajbR!l{l0kwG8=1d+?R9@Mm{IZ7pTc znXB3TGHp24V#-IZevcnrLw)K)pFhcco9wQ;Ur#LBq;dC*b1PmP zlrOH(s|K-!o32!wyo%5wb0Hp^3OmGR{Nk@K(PL{icsN+foCU4|_50~Uj*e=@Rk!_N zm*@XXZ@V`-BPEQ+4b*R*vY*f8S5aIZ>MVcN&bJv5lT|K#StDG@0UJ)la!z*#*lB82<^uo z1vj96{{DER(Q2?j%bkn=M!QjB(3$Muv9TrlWZ(aNozFc1$MDGq3sS?`AoXRCcclpz znDF`#(f-pq{7LBni8xXb`=_Ot&=QS8c^qiBBRbh#Z<)=eeG75gV1C>~kA-DifJV{% zjjhx9xueeYg5&ey>HMUXlifqCp!5GDHQ#&_jqP}2?zY4q81s^7RxZCAyoz2=5US7W zC0*S2zi{Fu|6e%#_8_1uw>pO^_K~@3K%Ch=GEBeelojk|)HX=c^@w!SxV~>Cc@be| z4>m$_9eTn`bpB{Gy_3Gx1CCj;BPK6+n+i1VUO?gtW*?MVK5t2C7PyFWz`V)J%Lh8t zJ0%S2+(8{5vqo!bOI^@GO*K$yx#wOo9Jr+QC%3JWH1SlVNzc!x5aN9ddFvb10tf>Q z4{D-K-F4N=K_rXnUTRr9>O>EHt9-9bXA*&y-af1qms4It=lg>5gCrlf5uKeRpZDZl zvLAE&9|_FUim_zpq}lt#=4u|52GBjB{gRtovL-IF%R8hB2~pF0Df4On ziTl+Ur3%;;FZ2g8AnuzN;(=jTE?%WEvqql>#SDsJ{WeQp@{f2UacdS3sL{zTfxrw7 z(s;wTLdH5RxVcsAra=zgc+w}*JQg^Ea>6@<2RMzA7l}+y0sq@a-Wc`+oj*TU3d05^ zKUo7b%FFFG0kqfcHeX2le21pBZhL>q{V*YZ7`WX%3yF$qg;*OcqB$ehU((sDM#(?H zbNBlzw~u`imbO6(Rtpe}#Sc)IM(Y`*uVb9mnX zbxA6}SkWR&@AEHgGLhP(URNMnDZ0Vo<+UiEz`j%LcLf0kV#7Lbd5?Zs9WX^ zI15({`o^kF0MMIG1IDEruLmy>|M!@GuIT*oLU``1ZI4n(+P1%Rv26C-uTRPFW?Hp2Tuh&I#zn>6gNM>aq$& zv8%;JqZg(}I&XUG@b1mCxzumXXo75=>Xv`GI+5#dsLFZSE4;e3f{~pc{b_rZ68!Ou zNm?zQgdehGQY-bK5uwD`+p#n2O&znnT-G;CVaSc+x##kx zgYgH0xbKw%Y!1vkdU0Yvj0!4iWTQhp^Ia#CLY-u6|0B+_&KjmsC$v!wlYjKgRo`WM z+j^Fu3|+Rmh6c257dtjDyt6@GSXFnP>!4rGHqtJ)3`v}1p#P@M*5ywvfSaA-Zt8v@ zvK2G1d%i{aXg1iTCq)sy+Os$c@U?Afn;Nm0{2n!A@vBY%1yar=oviFoN3y_CP3O`bys7_&!4gE`YmWgEXB}+_!7Iv-q-p`-*`ApqUN_GXC{Ch3GXU;3ixlxjI*< zD7sooW@kB0m8J5w40-CyGgK(0EI)>*9qc?9+To*bF(m;kAaa8z2Hd3`$!-){N%{%y z#E?c5iQ|4N4Jpl!>puunjBSH87ONdK5;hE1s7`TN&>A#uq=sd8dBSLk9$ro5WX+GV z`rd<5PPPw8qwN7mR54~UBR_*0zMxeoMh7#tC%)fPP}6?AQSHdq$1SwHqm$*&5h!$} z%?@q3Ufu|-lDxT+eFl*Ic`lM1c3__jScl&d6dD0eeZEUwtk5s!xrIS!a5jSx``9bF z0y-TY;fautIBlDQrBH?9_ZDd``)~2hTqYbgtv)PP`({6Rwk(=h4y!1C= z`4*_gOAP%e&`RFMD=owN8X_uv>C?we0dCWjk9wZ8uDsey12-zxBxjvn(HKR{i=-#2 zGxoNHSnBQ{t=GF=m){#6pg|p5TK?t`n=<*mVZEJ&?R?y>=K0+$Wo!>j=Upq^EeCyf9k-q8`92v~N%yo+6X)sBRUN>z_{_P1#U>@ z22*rkun`cNI$3ECiH9eT>vsZGKYN^g>L$wk!NGsh`QXj@6)rSL3FRf2q+XdZ#()HJ zQ8Th}u_o+IbY19bdqh0;^@QX2tDyY#X=PUHG5nOu>JzbEWrkey`qG1}1;t$o;=I2a zNJM47gdx(Dsr|m_zPQyZiW+g_iiZ~g=2H2`kj;$x&QkJ3!MtiDeNnC`w|ZaCu(yOa z?(kOqg>}>!8A8hPAdY2H-8xJr#_F;s6C14(1DBhXk|`XIJMrqd>N2dtnU*yXBd!a?pxIC3y*}L^d-{XD3V@Q zUV#hO|Dk9lzd0>l=jQVxH+(nt#LdVDqZ4BL*#XcLnv;?f#;dRX5>^@%TB!-iM)*Bv zBtq&^WnCZswz0{C66gx%{4D?;=x1&zaH00IMh%w~k6tVV;Rd9{<@ect0qb-uk|fCt z@^6)o-;G?!s5!|v2~;&DgOoqDUddQi(}!ygRF(Q@FeWmHs8l`5-}d;@!Iy({tTH!x z_GTO|^vP`eR8S5e9AJ#f8uDlJW;%~5PNR#Mqvn%T9N-}$n*Z$(F=3-oqeoW`mQ@CmEn!c9`&hp4-Be}w>rBF{;s70hq{oq=Dy*H%R$E%5*S1G^>cior1JDKjiCAIjo0YDpG#a z?i8D|erT*aodCX)5@?gU&6Qi|?%_}BNT;HlK?h6b(zzGIUB7~h-P_+)bRl@5A}&VB z07E{J5~EjvXaigRlhsAxmBCZ~Dfzxb37Z#u3bF z`_$B&y85fvIDxtd?dJQ)k|5c$F+aGW_P*lV*kZu`dI_glq zXpM;_q>55y;gOrl6i)VTM;kQcx?MWI!0a%r5OnItss?B0m z#Tjq#cv(1qQmK4g8z?BA?a|ZBd1`DUH31Qg#f@|`k7@p{OQ^$-PCKp1ScXKc%iKBN zI8_H16vwiF-Xs!Z%%@+>r5t3)wDwcWxqGpH10A|wff<#_r)~5WJ)|Ew&T0KrcCA{w z_^0Hwq0oiF3z%4OgUOn^9kCs;cZQo;J;J+f-Y}=Py%U$En@wYKpbu0+hB{p0a8!Wn zIBe+4KoDV9MVjh+6w67P2fGt6IR%)7)il0 zMU|TN`6yFKw~cO@J6F73r#119TGtscytgD_iY60(i+N?trp&#s_4DvIQ{uMo-^b|* zd6-qS??P05Y3K~p%(uX;EW_<+_9vbmHmH#!#859(T&t17&8OqChG({B2X@wa=yjN; z2>4Gg?c$v8dJ~O*(YB>xl$tw#(aB~;=U*eb<72wCH-OSjE`ef~Mj58_sK`b{AlqM! z1cX6bev;$*I}l5k3TK_VC4;E0qBxng?uo&M;q8-DgxHfn`}WVw!zQF0&( zc1tj#=j8Lx9ObIUxK@M)4Cq=Klj0O5HP(>Hx}F4 z+*b4g@Dn+q6*oI+J}p6sW^1f_)|Jfr1Ci{Zd~{dseR80L^Ji8$;aof%|oC9A3BIH!)h_?)bE<(7h*Gf17tEaCnBRzBha zkJfwm3#$p#I{3Qy?(@g`OBPR2JbnRAsoRQ2tavh>Uh+f}&EZBhTQznUSWf~W2gTSUJ-kEc%gz4X|A(axi^Fxd)M-eq^T z$<7jf;VY-VPvfGyD}8`#KoB-x7W2cm7N-ldY64oKJ*!40|E~SKr5<3$@-`5Xk+GTG za9qdD=oLtMuVb9aWP$d@>jJv|hv;;ESZTeQJb8;cJ!y@&n!ur!r}7aZ&A-{r{|v#J zmd%i2UC~}Z_8xaF$^~kvGzr2T3aTei>PpoIOD;3?e_@5QfSo#!k{{GK)UtrRX4Y28 zqa`th8(Hqsx1fr$B<=yMOpDF&%T0S~oB6SQr@e4hUh9F7f#ioV}9;>Gw0Fb<%mi*DFzP`hMCg-TQ+JF!3Kz^p@^|i|L7+4HSpCQj%lg5n0ch< z<*z>EP9KZP+_b|*b=c`jM+n7JZ()lk`d?w!`z_B#Fucw<^ZeQ?>{{q(n6o=KuOK}P{-+ma6b)@^I~Uq=)C^@{@TaQj|azOP5i zNGOs3I(_J+izkj2h3IaV(hqQ;I_hFoj0*If#XmH3utc3Z{vD7|;&+njzc(gSJPd)1 zeL43f)L-#t)`OUKSSk#I12I@v>Aq-Y*T%FGf~%E^D>ziJW*eP6b(tPTy6lcEju|Md%cjn+UgR_vK`4yyu{huTp8MJG2#axml{V?xh=EOn}j=2(Yq z=D`Y;yL`7&D^a>3j{lh6#@DtP51K%J%BkyN%r6B_V;}`0-}9ZMS3Ehp>Kpt0Bmb#$ zPN%!J%;rka$)l&Xr1vQrEi6&sv)YARduZs5BtzIwKC)MiX3MBxxgs#$!ys_jGH2y4sJ!8pdsZYkn{hj1#DD=I`E3F!S@9@p`qV>_ey2k%PzjhP9I|~!W@Bl`fa}x?Ow3w^^-H-9 zCbuO#^A$(fIOUZ~|L5CsXs|gcvD37Tyu%XSSHdabv0_Bw zLV95va+H(3*%~FabTPNh0J?FIr~;gb5chc(v$hvEsK0QrD{jD^DQ{mZO6n^?>Qk46 zJtV&fX911*`I^4NM07W^-WXLoe4Vbqtu{AM zguSKK&m?*7^{Tj@pq}nm=%a~7^Gavm`Zxb@c4Y_aoo%Y$_-Ts*VMr++TCMc2ATl0- zK2YW*stA*vSR@Drum4B~ub*70DVugx;wLhQm^SEfP6{c~nb_QVV#WkhP;(rV8HFJ9 zd`n9Y#HX}=ZGQnfkh|mPZH|QwUAM)V`bqZulb<<68MAtb8NHLd+a=@%vSrqJI4aDb z=dj?bu<(*ogfR5)=6u*CAWm{nOJBOWa7sng#4Jg@qE-ZF6>&zTv+QD_f$}PMCyMOc z37s}%AK=Ed<|Ews$$y-(hGpFm>*l!wKJ86*NRukY!PWeZ4+8lyOGjUug}2Iap%cKM-&Ze{s6Dq z4EtV7D2<5Sq3Q&XsnFYYfDdeh|&3_pYXBKkDh-GAnVt(>8`4y^*2{}CSPt==F$J2SIb`) zg9(+S$bR#WR0v$Eh910=`^!{=#96~7dL_Qd0Y5?EJpOgn!L#_X`T8B+C{opKz-CZt zOW1Yl8jsP(Bf56MO3qK85GE;2kOstA4e0ACs0o2!t>?opl)G@3h2xjuRmVAj`WrH3 z`{D8=5o=hu!Z2{B=FQd!8|t~@>eC{!>_5fxoTI9c>A$oTi5vlF?3Lk978u{uU)g|y321( z?&X#z?>-rdH|CpNl3`KOZp}(p$qitbEW0kNo=>SARHI4>U%1yXs59N|7lh9m#6wUjgL16 z68+B+K*Sli$LChG8eh#r8P+irp&WDE3ffdrqllk_8l@Y6G$;rKR=phW%Djw4s7|0N~9YqB?jZ`6GecwQ$fk^0E!45g#7 zwvOEY0X2S`lzQY#y>#=69@lzt(HS=C^gG3lmERN@`l)Yn6`Okxcb`KGPHzDyWz+Ad zyXMVaklUz+wiaFHsn;&Cg$07OI&qsa zYv+&7I8%+6RG&7JS9N?!JS2KydyvcC*#1Erdt;_A8T{axNG)~GN0@7Tq$~2W%Rskx zPOS%Q>BZe1;luaFO1A&xx0k9isupa~YGHBKRVeGxbn#$g{Uq?rAP(eo!l@cAtLKme-3o4H2AR=` zWhf3pY>*Lwh)9`RFp_Bfdq(@5FiAkB!Pq^XKnm`-*evIdtK)o{+R1>2s_E% zYwxwz^W696{!cnfDIeJ22llGmfd9ViFn~wN5oHGn7>X(TZTX)5A4l|@2mPQ@9jFVx z>s#dDyZ?TsJa9r9KkZdq2Pmz7$i|BGg8}FAgW0K>VuJfXyY75-e@kSS=4Hm~T{F2- zDK}BvAB?ibIbag@^zMykLJi2Z>{r09dLhs$7K$%--NKT;ok>;@1J5{|g5r0r{+JOqvW)j^en8f8&2(8a%^eW5>J zcl(1+d1)JXye5OF8rJ~Q>ZE2!ioahfRN(ogdx`j8Som>GaEbIkfo)4y%tUTNjGC^t zGUf-!e8Z1JZwDpe$vuP}l#|vSuTj>9%;#}j8HzS}ZSnfQKag{G8`e)x#L8#_>nEf; z_2z9S{F6z*_JPvVaqn(ih>%@BXLpAmLZ|W0cg|yH+q{+c86%TWTzDEC)Cs$96VMG1 zd;BG43x8`c_NV}Da@luc1%!?pL@#$)yhPX~MAYMJ+J9WAQV>qPY2cW2t^DPd<1Rnd zP+LwnB%eh{eWOwDMU9-lv3}i=$CKe^Aj~{XF!5dG$Iy!Y|2N`(y!ijEZ~o&I|AXbY zs!|Gu=%8%u_Xm@VdYQ&x8ROZ~!8QYiN%X`Mi<@ZBOWiM62h?cZPHKQ87v=My-CGXk zw@xYj&V4=^IzmuRJ0ZkKRxpE*$2gAb)DDa(#`BVjd4WhsmI!CjVir1Gy!PQJJjhGb zi*Odk0726Wve;z$qP4RV1FBfQ0G&Oza!@8|C_id4`pY)9j^>OkWV>9qFWaL}0UxFh zFx@)(K!a(PfEM{L#d3YjgoCrH){(7EMDO)BKGkRUT$NREM*x2=oE#kntk3Q3W|B1< zf=Bc)gsX}ant;ZiyAyfX4hMNV%C~7%dmfr8_XBCFiax;UIPU{Y-x5P1^tr(|$pn=` zENHf)R}#=pPF1^s=gC8ty9zna;*fNZ_beL$Ww^-XqL++3d)!dmzNMW;wGy%LB~rS0 z2~Pi`g#^T8lYA`c`BMOQPk9xJHC~-~=HrtUIr&Y@1yX{55!lvkRUH?PX7;)gpq{>$ z+c_taJ1`IivP9$~_3wlAHMfuGzU+rn;+bSYA7PSD4Ujf-2X1OzLW6};(9iS94xfLD z7npl|D|xjBZ1n+WgAoLH0l%2)fff~zoW?eoGtGd6!ObZU>QYtZnysy|%y3keuXQx7 zDQbI;wnHyk?h1T-Ux$;E8B+Y~pPcevMmgrPrn-cVlb{6|$9*|tPl&Q#5_|_O|NJGC z02CLXCcQ)E{N>*?0zo9B)KuGJqvzr__FXGhscTN9@_F@RnCwW8(?l(*do(A7`V%|5 ztE`sjlZotqB^xqgEeib{>y&cdWybtH)az^qG-D6#;?K_`E7L5b`Pp#3W^@g^tZ?8{XQ*dFS>`VgydAa*b1~~u&VUQe)@JO&Kw%*aS_z@Ad-z(A> zDi9TcM5MOn`6t81yV@h#TQX1S_xl4e6CFGTZ7Y1ezUK{A@PIguqzD8A^%C*CBw(Z` z)C%*?4M-8CO6x#|Qb2jnRtnupACNFArCBC%7kl+HfofWI)%I@qbS_rwwgRPB-#O1P z#k8tA&6nf~q>6sOBed9y6m9MPLc95^1ABd!SKmL7VsUqhhV<1Mcro{GgaYZ^QQAf} zO+0<2mtLS`MYviED<^tm*BRh5J-p80bU_AC2W&&GG)locZy$0dm|=T^m6uk=vFIIv z#b|hVgL}bcKXeIyD!PxI<`UqWi9dp!XQxs?>2i#C$JCC0bx`{1aF$!}=l$%zsIDPx zXIE|D9({$&SFTVmG7H|PM6 zIQIe+@#jKt^kCAA56uiWzqi(1%|mpIPbOX=m%t-ktdm|Nbl+V;ETj@*Zt$jZFzwg| z&=Eqkn{zuA!!*(0IZ%Hm0BUox5DIi%mFCcf5Vzmlq=vEhgkz_Dg~4h#!i<{{gVPz_ zaQ&DN=q`x9<&Xl)h4xnaLtm8WVt4=ywNI|YFfE7oT`702qj>A<<@bH8>6#SeTjD!C zgLmz9d8kkOd*G0kpsJ!{hrv*%vqBtgq+etutjY{Qpuh|$)d~}ICJ>ccDBi|JW~npy zs5Kx_2WG}RLZeQN@M1yTB zSJlnY2HnZ+R+x)4vod&hDSG;31!WER%?WuL!!M(V34-`Epat+rDv?*rGR2EEYegNvHrlkpg~1lXIr!@y*#U2g{c6{-R~?drYihl32HON)W^3!knt zsB6PUL`=5l3NRG}3To1rHJ?qne!fnCLdIPh?Cm1>Utpaly!@qbBtz%xVie3;N%uKU$Yg_6| z+9a!H5+BP|&={vqk{yv*wH~yYIqw)qgAatiuvFXhbc>~YMijeb$$RQvB{U*@p!VBK z9Pq$~rEt3pi{QDWoY-+hA2n2y>uz&{4exxnhTWMfsQ+CkPf zjU0eLPUOhmU)b>#%=1HoX5&O@XaBjDwJjId&Jf2xLr}o`6Y1tgOTTK z53s~0uYAK5ZV%n~+nkzN0C0h5^^656G+>J+AdHQc7vm)ZjkdDfw>9o%YXG_c3!Gn4?PCGy zUOIsq8zdxMss4mPuZ_1ucmGw`=JBA0k>kR(anYD8TgwG@WHHFzy2KV3axct+49$?K zIqw#cYfCj@q?ejCA65-ODU&UZTlWwgWeULd5(doulbjr>q8ikg-m+m!uw3t?`0d@$ z!MirFiWuC-sOK|UD2^@7CvgZ~lmL61cSGlPJ7-+*f%k>mm0*U&30+j*IH11VQ?Z%dr8_CL4Be!fu%&rNWf1n;8}*Ax`Jc^_@W3`>OldFHP%9d-A$@a$1^z>tp$+ZG=daPb3u1Jd{mVUAvcQ0kSc3Q9beK*L_qae4( zdCla&v)n1yqh*HSS?0GpNWj*!=7i?{lDre>gT-rtaa7oE8jj!csi9N`VP0S;^(adA zwYKwhVJOJ9X0q-&zpqfa`jT!T>g7CZ4n~bAUWG|zJDcRcip__&pfyJ2Ej!DuhelxBAh8uv5 zv;|d^@a-jw3O^TNgm+v}TPfj*O)731z`FTBEBmDN=4_cg7HIVdn|%o8Em&7ux875e z%X+)`R6%-FSX^?M(ih0XtZb0-Rymr~xYtc&u!Sx&bzSo4P?5JpBRPQgk{M$bRnywN zxMKO0Z{>PqAvWk0fisrqBYOH>8dLUER$~vySd#wJt~E(R%!hZ#0;YNdi2!u=1CSwRmq`<9DPS+T2t`m`ZCi7 ztJ@t)b5TMkN9{nmI|XxUEHQ3e+kcn~^PkeysDVY*%H()5oer4xG`RTf9 z`AqRB-HEpzcrm1sJq82phLWEw5f?BhFfpAF9oPeZV++d%o#@*Ot#W zEZn@jT^SCS;gT}ewntt4Xdo6KP1&^Oil>n>X@{huR%0J!`)n=Y5TIB=TIatE2Q=)QF>N&>#N73Dj%Sl{#X^TY@V= zyE4D2J?2tEtDyS?d0{buQEd|6DV=ZWp{vo%r6vr!;_Q3T>k&0@@tr+p_0eyTh3F_C zIj93qB{Yv7-VpOu>CGo(u3%*-l>9+t(sy>q;$Q_ad9=df0lVX1T~jitbcjuF{W5Q0 zQdA#Ga(6UhARl_&Y2)q()(#<&XVds=M;~*FlB|>^Xg=q7OV5E3S%{MBpGkUS@2&{r zvw=FhY4uM>a3_4fFt;+=o6{QdU74!-9qADo;pTz^5;7w}mb$V5z~1?HP+^xtJol4- z-YXbwcmvkptJ6`cc3-)G?uWV&`p~OJC3KK#Cd$1h{$N&BMg7|)?1+1{|6$gW8doXI4_fhT!M@or%&$1~}sIn|ZRT?Db z7@@Mc2QiPrfho?!1KX`Mk+tUnA!&i@@>8|Y2S8L?HJ6QEY1;&wDFB0jnF5>b>%5#> z?(PxlW)Ev1eBlO3e%D}}2}%N5FK;;U2W4vkbh0(&ZNB3E8ZxudmdWh~23U64wr*00VLw z9Gy}zE|7p>*7zDjNBF_lUVwM>js5=C4u*5_b;~oTHaeg2^wXh-@;g~!NrI-}w*0|L zxMDPkEtem+Yx6VdDrCc=AvdnoP$OJ8!J${A9s+^|z27bptQImvf@?)S8J~V9T4#}? zw|C&&jRGz@3ZFNPL+0=8fDjtIdRV5eFSf`w1D~sTN1MY4Gf7}ZPSiecuYwcU?2A09Na2OHkylO3vJgzu)vFH-l4F!S!7`Q>bb?eq)jc^q8?bH zplP}r?sf(MS`D$oj=1{F*pXzAcEnY)D*Uy>7P1sSDtx{(dn6*;_8R~RV<_h~i8^taNIEWt@yxA_(SjiXvXSy7w?`XdCU7y#$O zqZ1!gkZhPi5+dN_Q>SNeWy3LF@#0tH#s&Wu&5JY+)?V@QHm}HNv;LvMENg=i-2UkS z`N`hjG_ky zPX##L9Fl+YuzirJJ?>Nje?YMP7tp}{g1kLkRb)9mnh)sAb6h`3y6o>NABP=A^6nff z)=vrfrz(z_PU#XIk3TvB*ADEF-vZK>!uJJ@AbgDp`d|t39A^IZ9WWc0T70aE>$>La zoT`<}8Nao33KsPROjK3>u!K%_lsuVO6qhzjueV^0Z;a|{u!L197Ej;>;T1!n&jO)fvyG+F`Ob3-$w0E z1AgD8Z$!b{6B<)j$bUi-*eYKLkw8u%Bow=6>1$d)>o(Xy0e6#! z$|q_e(buUSg}3JDYJi)ZbsWR>+Ml+A*){xYb8y1c%;Vh1r}XN#v{I8T6Ef|VhyE%j zmFfWFH{#{3+0~8S%Us6o+mg`70}7Y1ylKH5I`{4+YIy}3fm#fcIbuHvU^V}1S&M^x zFElfxF7Cbc$&hGyXqNtAX^z%H|5y`;yo|SWDJa=BO>-nvqLzNOKzXeWNd1+D&u;Eb z|5nJUHm^*zwFQsLgWUP?Li5muT9s-;C=lTv*=ZbQaVntiXgsq9zN$pqzJp?FQL{1F z)b1)mk#!u3kOM|=B4YQ)CCxS$k}CMqrp3Mee(quDeNW7XRyI)557eq}2ZkLLn7BYz zOBTN3X)8%Lih|*&fa;+}&zDm%zU_c6-Z!mm&LnOyR*Pef)tnWcA0Zh1Fv=4IKjEbP z?Xtv1+3aoikY?Y?t>{6@uj@eQq{;qT(L29p-@!MfuI$Q8L9-exA|1F4{1+sY2E0{q*_0P>7f z%uLAhnUb!ag)`3vfngcGQmz}gT02GA%$Hnsn%gyQ#8^2%`T8F%MU~B9)Z=P*7!dP} zZ_*p*A!JuV_aV5~^ue}BR(54*gA9EPH``+Plq;#nu;dhwU#mToL?w?uv9Cu8Y672E z!#!)(h*60f&%(@2hEHcK8Nw`u&u8YNCcS&Jv`fKqsb-mLP1c#Og9%3(jdf?~?K$}$ zx!*f8#<6c%~pc96kZj8yOFoBH3-YDRWAsk7haB>sA)oxYaSxIi8`Rlu|F5e-_}4Gr|eSc0UgVOOypQM_86E5PJ-w&pyqh3;xsr4Ouk$PvAq zlDcZR8`b|dO75HAhlc*hXzSc;_@I4Y1LMvqrYP9-+@Uup>)HmOx{@q7sn~M_Z087< zzLN>R2sZ5OpwfjgmfWYO(haeOX_QB{PYYDaP$4TE+4ljv8}PSk(^dq#H}Ockhp>v; zrf>Gg2Syt=Z1`jD;<+<+e=`M-UwhZ8z#Zc%@j2&5BPUindHc*m3WT+3w4(_O1jkky z^YMLv7DJ?oJ^2O>+OXyUsk>O`90y4WA44*V+fW%!`GC>A_G>ees$;Tf5NMV*w<$rP zEICx8ZHMyw=-%EIcs>rh;}zf<;KeUG9ARJU1m*#(Y`ScA!l%CFgl-+cqXQV6s_7&U zcpCZr8K4894PWgVNEf^!!ebkK9MOB}?$Sf@YDJg$Qr4NTjGmwUtukq2fs;=Ip$mH} zHo0rD=dy8$Zw_dxfh~-eeY9Y}oZ_fhljEUx;o3kE!1@sMy_E zGi@yktMzQR`E&*uXi$Q7!aB~}U{iLA=DtvGY)$A1`bRERab9v&I2D5`xt^(;dC|lJ zbDFQO1p`~P_QAlUX+fyWy+D&@U@z)O5cFT1kI z4O>hN;~qw^4UPwp>&fVv7NcniM34<+Kbfe3qmcgo9reRtfR8rNO{iyB!~J6OawXT<`yc%fCM-=_a8As+CwwF5r*us$TgVeO22WoYc{jv&X`M%!W_PXM9 zZ0Dw?MN#1r&ve{~c?GpSu1;K>I21pFThKoCTU=4i+-vb;dX0Z{oK7ysKXM{W$|Jf%6wrLCboBoFP+%yvrIiDgPWKw?+BpX8uqFI#(V)QBp%gUzXGtFQO3D_CqyZ| z@2XLS@cp-6ktP=ZIP^Jn#{?q*5_neeUK-So?yyQ5ryfKA=-bKM8HnLMV1FIpW6ZZ~ z(6Bs1f>%r=1Zh$?Mh?A)wgyWnzTay@>+XY_i5!acAGaOsGc^`?RLsZ?1QJLdE0x) zJ+dk4I6_o}9Q7OS`azBRd--XfZ8J8kpvPRNU*tWwc5}btxeP4_Yfy)!6YF&{xeSvl6vTY|GaGUip&^SY?QQm z)xdrZXQn#hZ^uS%IQGS>#sjU(4`V1GWuUbemT)`0(n^-%EmT7G+GKLdWehc_N_}PU zpPB#u295(L>uS;zZtidq{KBRUcQfK z$n^M9lscR7GY;OS_)Qh#xjvs2{;>E#S? z1gOllKuuLV{D)v6>?HUqby?>pCU4aJ7aISW(&Y+a}F?frwLck&fhIS$EAql5POyhlMod)aa$br!UW*3Pb0a(?Ji zW*`lPjSNNkoVwkzL=++;kqh=$3_38VkXDt7+Y}Nvrn7;kQ-R}u;qC*;739^)m#h{C z)O9!TT|#C|WP8l8GI{k0Ddi6bW!~>e6vg zr?SQAXeF6FzZ5nM*_9(r*A07mL>#{?#@(FuV_@_G80{i!d@PqKF7e(&YxZYtc*vC`Uc-}<N&HUe)c-8xy{fK!2QfOm(w}{ywMGvV~iF^?7JTHhA8?^RN>ED%*Z-C{~yg(V>_gv$|3p#rdYL$ba8`* zR608&K36xPa!01ajVWF+_=nslq0&-?J_;bsTD4UXFpHPrl^i1=osV%x4TYhW8nEq9 zUIs`e-LftaEp=Vo1Q#`4h?|TwbNNBi!V<=R!Y!=PT4$p?^V678VPS~*4Tb^pye|jC zZ%g)mO9PwDXB?i*l**==ZiS6SIh6M7;I*s25!8LRVcf)F)*oN5b`Q6kpC|hNOyc!S z3GsK)|NA+}@cZMZocx(P$1|H9H_v3X9=goR{*Oc{ArWjk_v*Jqmda<6MX~cYmZGKjaeeymPpc;1t+K@ zSJj&zic)q4E0aR2G5xZyHw;(Wxzw5#(mvIn`JW}#7}^mk`ojNqdA3vd^9(atviwFr zyVCQTEgaLQ^_JT&11iE4_a^c@cvc=RLHY0JPn) zSMI_IBwT?*C&q$(6Im=^yI_#r7XcB%Rou7G+{a62Vq2h{QOS^*H%bHH(Aq1j#SAe8YYt)=_pUuc_+KRTH%ezvLXSo|A^=+G23>~rgxLbt3%Z%S2O&XYKH=cK`_E?uY z-t{`7oW^ec8-8JGle0VZqi`DfjCZgAZ()*X`#C4t@?I8J*(Bo5wC7;<#5JGH%F+ON zKj0){WR7v&n8+lr$XOP|_n4%3JK?X`2tP!B;6F-jTC`A!{EGx1@y`dMm9(XO&f+iu z4s>7g;Kutl20A*48|G02!*)o(bVk%BEQ~cCylkFq>QS+DECgIjAQ9c$w7AQw=Fy;3 z<8Q;3GV@yCsT+rsUe)z8o;R>V{A=ofSpAz>*HhaZ%nga_miCl)D#qNpCPO)d**HIA z2~^$t_A8?SR^LE4^DoePeQ1iUSwn7V1}akaRPByopM1>_(lJOkyJ5qpgBq}XX`7sO zB*Yb`2jp7)Z%2pM1prgF2@6dyzsre!sc-#E|0z1|e6`vE z8#K(w5z!_Z^E6`A4G!G7d1)0ikWeU@sLW22ZUoZiuCoz?$Vs@`u)JTM^@!TBN;%hO z&h8Z>Sn}8w-}81pC3PU(lGW06V)F;@Dh#)kvvf~3#xonGv_buVgU}R=f)b9$NpzLQ z?(|PP-CMfrnSSQLTo94zwF()#MSTvrAx=I{_;-5R(X)XN&BmDgXz#CS>b<;5`8ayi z)D4$GJO~$r)2`w0rLKq)STO)p-ezCB!z6VGxL*B0dcgP z9!PFbHRpE%#C9owP?(|tWTzr4A4p^x1Yvl`43#`y48Tns1?wYd7}UG=dE6lOF(F+? z(`r`KOrc9V|06)9uf<423`v7;4)hx-fJ6T zZQZUfn`v#rq6gHK2x4;5OV>b<;O&r0nSry80ST_yYMkH!J6HTlza6!n9+rFrfafcC z^~E|d3xErudTzl;>I4c@7iBp45`UP85z;t`;(D6Tv&L6g^_r!QD-`vF*O4eitAkxg zGN=>^QJ>3lbeJtyt_dTesb*5dtI;HHsO7%Y*&O21^35>59qjct50{bDDD>660;+KP zuzM}2k9^SC&@UJgLt?`i;VE=DhpVgxs?7dw3UQObmmu$F^j2eYAX}P}uv}FDmSi9- zWRj^qyEH#cdlmxB!S^OLImvbX&%9q1I zkNF?(3vZElYZKhn2v-Us5^NK+dbuD=$G2ZKGzF2~Vc?#GuLYhs^1>%Y7D2JbYy!H0 z?+)Jz_KJLCuo4x5v$)K&xtlGboxP2|6H+4}r^xf|AJ1{XyvESzNqBW?%=JtL{CLvY z25?Nap<=>plL=>GjXQxUU!>iT9hv-*LwaT8Q7L7~QLCo_@v* z=cqQ-J_|X&$tOeLG%x8a(^!jR9(z87D83VQ@*d`V9KYbLP30M`JwsYIzYf;(A+yu+ zy;YS%K{vNRioeg;W`!lIjkC zWG!X1>nF0JMIz17&yxVp&(U94*07V3KmV`&bb;? zq%;O}0yC*x=11@m{&21J048Q9YW$#gU)ubY8r}4fGrq2KA+2ZJU8&(;wPeU#=Vuh` z+8@J!g?RoF%bydHNb#>CAYg=$4X%C?{I^pu0|HDvt@tkEUhzz+LUSjgW}&+)`K0n{NZ6QoHsm-p%9oe=~#rCR&`uZoE!NLO$}UxzDC) zFMi4*6wc*#Rvpp6u-K2C_?{{@CEC`()$mVH088HGAhkW#?_b9{*@n4%Rt82$e!-$F zYRY_D3)iR$3Eu<0a;eMCG|bl5Aj7;)#Vx*n*T4?IwfNS3rtstOPEfc4gLEAc73)|q zyOcs{$qLl85@nwVUKzeQSX!@t8$V1UqOSi-b?CrTY!3_qe~opAN2hnsH1z4ybO+Ht|<8~oG2_lQ0aF9~1Ppz2(v|F-{+5~3ssvqod z>u5)LCHT8F>Zj(UE3sYnbG4u;5@$7?@e4)4@QQ=!*Z0h#^Qn}_-%o)S8otz+;kY1f zMfU1y&X5f!5Q>Iw(In|~H}?$2kcaa`XZY^s;L7CIF1sUYEw-gAtm={n-0syP<;B(W zz~%=D?6j9Rshb{vPW=D~*_QCCZe|VCnTx%PleS)b7b>M2N_8 zY0-Yk-8?s?KV=#i{vQ|X?%&5>89aE!Ri(oqkSr}jw&be%Zljp`gt!>OtF9h%y;|2m z&)1LPNdF7$k0zR5--UtT%G#AHJ%A35I1%6Bd+CKt)VjO}sSjutarYyIPrG?R6|0XU zYwJ##fNn)0w!}z-e{6xc=ocBaM_CADn{HEqa1Ya!ckEL#jBtGA+UrX^YT;e1!Fqf6YN@7`N&B)2r2Zsx^Ar z#z=cX=g;gr7dbqc&_4J&t`}T84Jx-U7DWv&0D=N!!}8$=^pa&q<(jptFCXoK6%2;C zBcOEXn`FGUMp|T}kJSNJX$teb6zq1ZQ=gp%Bq5&^m9Q!IZi6A2@t_{$@n~Z5`pZJT zs{?RwR}a96pIUR+phO8{d_Fh_lx@NZ&|}%p-z?BGf!ak4VKYPHN|O%K^+-}t67LI3 z(G=v-wCNWG()G)BDE$M2=G5b63CsW(KYZ7Ae08YVGX^2%j^&nV7aUh8%AkSASZ6PA&g@>hNUJFG4{&)K!^Lo6(w>FWiT$Y3gY}et5jFXnWZ(H_|h=$rF31s61Ay4{UMu z-=JzYPU6@3C+O>$^#4g6R3e5r|;^baDH?77!jycZ=ZDOo$U`5$2%&kWk5 zg+L)&lXTVDrN|3#21#%$a{JHpro~giwSj6+_DlPSIy;9L*H^PTjPM;)7yex~$mLa# z;^UM0i(M;=#cJ8TGC{375iC(@!W~D1_#m43D-3KK0_a|budoWxbN8ml_uHdphD6zX}w7uubi* zxR~VEd$&LlwI!%v(B~D8Ccw17dcWHLd40QM$Y*RjwWZVJk15LImAFicF5|t}y(ugl zV1Ou75B1y2ZvI@nwUq;{4cBOu$u!3TeBqrKk~AKSSb{}n%MwMXK9IsG>@>k_r5ZAz zNLIJdtlB)myX@YqAY4qzxkJofAe&h!-3q?G&aYMZ4n;zG?qA>f{C8jY|M3s-2OBp0 zPm|jE|NIYX^RDSUNd3!Pci})6O$8|10caR{35d#5FaoqnAIJ=J6U5QW?&;@*8EJo^ zRP~5O!k0v7=lOU#b`5BtXv;6i!aA~x6Zz$IeW=;oL?l$1;)&+b=rBM8RxW7?GXxdQ zn+A-SrP(JIDlfSz)2+S^?grXX)9H)b*kyx|gK-e@4h=@KG99_m>`rspOcb}+BNN&;Eb+a8 zO{n80unF1jA*KSdoaxeH_&EDp0Ksg7XCSDF<~*~8*Zk5g7dwHZ900j`Ksx!h@Bt{~ zrj_Bvr7u-~ws$FZTQsT@%oM*wEC;$9e5j@2N@E&SP|IDbqUzSDx5Z`}=Exez>cc9A zABHxwe|Dg3OHOJy(#61u<$19R=EogG6_A! zz!_!3SpvB~*WD%gfLFSW{nG}B?&|->Ku?g%kpDRaup-?_0mT6fBsXDr7IIe5CV-j4 z!^uacSG!@kI}T}Hol)Ly3arBB+h|u|CGd_<5bE+9& zE9xPl*(FsDSj_N^RA7fmZ}xDQj$QW8KFfhHT3%#lEsq@Yx>m+>>YIic$m`TI33+(J z``Dl~eRBn5@%0R~fJ8mxqF8`(j9qDlwP%5ZbnUko65ufElgF3S@ATSO*f$*6u8Phi z0ZSCd4>q4KnEz`)cEjDBX@suYCYz>3t_xT18T7T@-t3KNn_AirNW6%%AVxa7V#Ww) zGsIvx=poZvpPw8Ac&jQ76qodcn0enmo{5vJv8tBU+rmM5nxs0?>MJ|mDSWlS+$jZO zt}!(OBQ5*j(qH;4I)IC;h*LsbLxOBx$`NSU3Jn}&T+aIbUCoLJyWPNhnpKI33X-a2a6d*v1|V$VmAMczib8wbB8bbg8ygAJxr7DOr^a zZNBTfT;GGP?znm!zc0wdhd9Mj!hbR&>;w(j4 z!#morQDZX^6aiXd>PW&aVYq5suKAor0y9^9MJ@VKF}}7a!fbNU4M!Bes8Sfl0L*q) z`j$7nyt0^K>!|O~DOAybKI#IVJl}E^rSz9YdPh}7$@$D;xHDlXnfrysMuZGrld%S% zJTZdrUFhz;{g)(r7_OLYv;RpfxUJf%Y;ZP%>2n`L-uu5GCAJE81c44`2fdF!4z&;Z zPe6^6JOGqKmG%$iAy|wm6eA%BqlN|!ui7g|D=`$L5bP{H2D{+|5HYI2>#5Kx6IEum z8&Zewk@^cSRbpC~R;RL#C5Lq|)s-kzM^QHu7|gWYkBx&75)rbU^OAlHOSnt4ljuM= zT*S1jQLM{g?NOw%C7&=k*~Z<&O&DPH!gP^eKvgGM92PCyE3I95iC!$8^G9&!)fueg z`dgE^HfS4E@8u#)-ho!z`XTV#S_%ujAOQ%z$Pr29EVS~g4l}~6be?e=hn{TP=sQZR zT~>=)q`(6>PM^YctOF((55Fwy$L#r6gD6sRKH)nr{X~AKDV$e^(E~2{s!O=t%9bb^ z2e{F=>GE{lc%~m_APe;Q&C66E?kJ0pN`hG;_ED(ZZc`Uq(&T)<>AZJAOl6HqZvo1( z$9LVPiB%>90^^9T+BL4ENrBYaD*+3*p{tT^AmUd(3^xVjU1p_woKQlY`ELt9Sk;m_!)() zO%|BjecG2rO3iiExU&kH&y-d^aO8|4jZ+H|%Li!`4WPo`*^#;rv-?4#lZA3Kph+nW zq>R?Q0lJM?nJ3<;u~lN91!98OMTS%NX3460nDP5O=qs$N1q?vC)==tOQC zoy8k!1B(D*BL}^j zEs+=X;urfd@l5{0DH%uktp$Wz#;G7( zA~u!(h1tR`e*C(E0}{K+?!;#G=OA$D0?ep>8!(>Ggo0a{Gp{-|`j1Mr&&d8Tr@p6N z)N)wNCAwiwQHu)+&{FPglZ2cLHgQogLPF`n#l z--c^FFUgig-J(SH^&U-#0?1KRfWhYRGO-Z}#G( Se##I5Iy1*o32IKP%r%`&ty|k{5g>GmosMEI_T>RsZD2Z* z1VcU=I0`P<<98f^+V5>#SQA(iik1vnf)BO8+y%>`TCj?=eFOq)8Bh7%N#6Xn@?3ol zn6nt7j<$>Ubkvl@Ah0ZXs=28@?I>TWPYOf*y0Z|CRp^-hG^;pFsN&vMs4ks$m^~?D2NS<$d?_9Bwxs`j-+c96<1MLZ@r*hKrRI*4E<^m(jxdkyj6@bKZQBMU)+1A zg+p(5M238m#};Rez=u-_;e-nYi2Pn(^gytIgh~72#*9N&VPUE+tDj(o+{r=Y+ z4_pf|>jyD<@7B&6GBDCz$c$5mA2oXi&PPSn;JqD(g|qZ3f~o~ShkSZx!jPI-%47=n z;UOFP%=j+mI$iObRvgn=<-xVemr&v%DISm>tq|9Wtn+sD(!d6$jFmz#g3 z_$um|r8ViGFNBh@YojMp*81VV>0(0knT`>SUZD;Or@0>~dbNi0C({J?AAB>}Pdjwq z)M$v}eOHm~QI2xF!hABmYWcTDJgp2>Ka@j8niaK$ntj?eD#Ps)FZ}d)gpos2o|sk= zb#|RHebl<3_wW$S^iSa0SVE$fYvr)fa-n!k{;!245;c&-I1(LbD=`rafYD-rUkdI! zy2U`H5||_0#gzmUVg#1<3%#~!Hc6Wlq4GPhN>CY;5K%&!ncZ9KwWsH(joCMS?aD0v zE^_OeufUymidubmG;3g4esjD^rU>$Yxsx_}co6nF0Bb|1LH|)LzMZc0Ld+%2@MFb` zQ0GN!h$8*L6^;2_yN^Mqf~Kr~lu4Rfk+o*!1Im}|x|9;(k(60X&bZ}4sGf>`krLTq z%GYJ#Sj{QS79@fh-CKM9uo>{@yr?qY{>r;L0<3qxTCm9zhqVWTQD_m{!+=SJe|`7C z3mB0sOo7h}rcC8P#P8UVcA4i(JgD4|?Br0Bd)zpFL8sF`LXjc+L8!%6^8jiyg|_)r zrGL;9hhV+}7spktb+$(jS__2hj`{Zio$hs!rO4@CJsVB)&2OVP3=f-)e+Du$8oZy| z78n~+ZW1`pTzAd`J;U-;?A8qfibwXPv9UR^K{Jx5@zFbW2Ol?SiO8DAk_Bh`Xm@&< z$28j6zf0xG*m6ft1r{^m29)=f7nMq8JB_5`g4|5}O{^^?8ws}2wGo%i+2ePOJAQ$Ybrb1zF~gXe7%5^czrNio z+%*j|ED!39%-khzLR+^KSqBvU81`ExD|?zg7==~lTXc>kg#rxfO;q|WQPdA*m2jeXu*hv zvXQ>$Nc2~7CvL*=0xy#Q4KwUgg4tTOs#$ysgd<45p>r#3bcb@LES48L z`K?mZu4IRWX?JZ&hQ^k}$V_$`R`y9pIq)1%`vE)A-_3C~7l}s~nl@;8FhCPRyD#4k zUCfdF)nYJ7ke}8!TSt%hxoG4ucvF{Yk18Z-4~p+S-G)Fo%{}QyF#nRlSl%N&=&X;~ zO05GSKOhpz_Zqbp;CI-r5~XzDEBe+&JL{MPY$aS7TT8DC2q&$e=M5{dZwJE@@dDZa zFLbaNUq1CydJRqx`;|Lu)Y4tseIn!(jpt=@*`_!NScshYlzwBvsHzXWJ^8T%IYku;UeNPD0I{e>!gHYhyDwU+WeRm*RmE#p2V9-|E896)1m6k( z&E$4)u7C!EV_&|UAj(bU9tTN@f4>@W4JgxXJXW*N^$64#A+Wo}t=0{rX{{g#ZZ6o8 z-Jo^(cY8_QpCp5xOai)#rzTbM$q$8E9^Srmf zU((&1upiyH;F@9hxtw+<)D{fgGXc*uKsaFq;F`LzYg@HTLPQ{76!}sm4P4lnZ=$yx z?VVxj3AYzwmop}E{cS?b((Y%0&`;SKSVHgr8XDfsZuGxPU3C}BmmhZ!$*1?`6qEFc zrfy-J)&A}n=G@U-0C_8CD_OGtq<|g~zaSV@fa$5K_>vvw9w?K!JZi{D$eVuZdVU@0 znIB;DvRKokm1c%*Ehv#(k(oob2a#w4urPBceDH6Xmg3?~s+&pu@{neU?pc5rgqF}j z`r#pu5OPKLrXcD*KpuN>%4pk7c9=0kFlQ&h_Zd!dFJ8j_>_>K$+2A>!{+AQpz*~^ZQgy7q zlwJAY@u|N1=!=uS=B_E?ww9gP-09yJYp)v8-~{!3iv9hI1(U?3*7*Jw%Js&hb%_0G zH0Yt*`Kcv!NFn?r-=HIvuw+M9k65ZqTzYJr_@yWQ1KUCHig}=nATr&Ngm)~=cq_N_ zB|9A}J8IL0V5ROT!GOHJ&Kp$_aFc<5)hEin*&B2*jFmLQtpVJ(%#!1g5z@sj8cemPuB^m&ZY?@L~sqT8~p3*^Z{5vlw)9N?WkL# zgy7Q|`4^{O#^1Q*l(nf6w92~kXTCGXY5YNe90cg6;kItp%;DoNG+B zD6ze;cZ+$X(etaP+`8p&Vw-}sDN9%Q;B$f%jehjCjMwJ{d0sXHHMi-hz^i}-iOwRQ z&ymY|Fa+CRtW)dC!GxqhkVn$PeM`1eBvM@_o8^`8Xi&MFW|k z705E;5;i$mv%j4_89=}t-ZCYvEf-BNr2!Ir zWWM)>AqNLt-3*mhrZ9F^-TxM948-Iuf`j$mIs{@0*V7I|Nx9$qOn$2+fMZ5?PM-L` z+Pm_orml65)z&s5-~(GlFiw=J5ekA#AyiS&0t%uGLKupG3}Fxw2@tSSzzM=FNGuS7 zQW3BOkf~t`bEwRq1c-tfLX;39fdoQGcsqdft-IE}YrX&Oy371`);as^eZGCpKIhB# z8>%M*P_!ak0~;_e3?p68;qLA9BZ!itgJlyNNGJwdksJw(qBa{{4o;QL$=f(htNjaQ zu0g=jaBc%>LI7#kuec{AZDhGF!%yJ0t0~bEgD10O2Yi7S+e`$e3Z+rkbo3toW9vW-4%W-hJH(Y~Av zAor^z6N*Al)aY#G+=^&~&9dKN^Nx#(6+J1ND~0j0MifA)WL7WB5R~E8x-h(F$;KYA zdS9PLLmcPInoaF&2^+2BEk`t`4+9(E*ta3y2fILcw1f)tmIAGxaN*N4o;hHJ(wRdK z`zt5D!-}2iE9XgzQ7+ufX7-L+TEMrWE!P)L0lDF;b+GK&m2aEZd}i7grP9S%ttf+8 z!j7P8bp@DR5zcCYscntm-LxA^7S5lZAPa#fp-%k_RP`+WO^z9zHqX=*-15XQBts4{ z49R`j>Dkh(jh0DG6`l;E3B_@fbMsoeMk{pH}Vu zRxpDdk2#tSRm$L5#y=$I@+{T06B;R0tT;ldFPr&E^GgJ1&~L56Q0G$Ih%m`MX zp8)!%R!jSS;Jg)}w)`nD>3x%2dD!&(vLdOmg^MJSucxi$=sn4P30*qX08sJtPSm7V zK0KbSMb!?O($(u61-?0gK2D~%jA60AR$bxA5%hAKAlv`AB&R55w?tk1c)n-D6*9g< z`vpzhQegh0WPtle?^#eNk%}TuLJA}$LlN@0zv#mFpC7x~5y1qel*@`U-;f;Tx7IXG z$rv_sqL>TIVY@idORbiUBAjO#{=u=i_P4clhF7}T98M|&w?zYCWrT{QAxPt_;5HjnV}L|hUGl<$l<&+)->m|X8>#^%5-a)RbufIyV4`h&u~ey0 z(PuY$3U^?0(8E1Hvas&d(3=B4wnVZ}r-C=}vsx~Z-QQB=d8q_^p99Ie`6@4$Tj#dy z=whVO&WPMqk=cCog%w=`SpEg5n18`_ueQ*+j8g7Fb&4+8#M;_&!aC8mNJjUys@uR9 zk${M917tC?6wE7pD5?MDxIP!kxmSf&_lhtBE5(x{gwdRuJ(Q~q?ajw+4{A#+PJiZD zgWXihqp783THIudOZA=&@BfQwFuLsLhI$BltZgGOCpz|&8I;Op) zE0W^s^$rR)25`(|c7M@k__Sp9{R*2~=atj(N5;6k7|+SzjPtbl(nWl|b-Top-Y!V( zzo4(0gagV{D5C@hZT>7uGOIrj4x5Ptr06(LP_YHxW#Wlg^glQ`vu-cGxeThDp1*n; zVF=_9)dt}tg!wbE5=c@E%BcrBkK_&2#VV$2~rxp86;=8s!?$D0|4A#=$Y)cx(c zS74f;Zs*rz-M1`5fDU^ms#liaj>I>ZH`yi9AQu^fMC`vk1|69+5y1 zYOD`v5Ebr3_Lu`;(#*thh_1Tzok12ZAw;g2IgTEF-gI?mKZ4pw0^l5P*0bL;gOE)S^#3DE*g=ntSNU0m(s_p-R4|zSic;&XIC`CA|#qsCJ+;$zs?>c@V3jqXNc1Nrpe{O^B#D>)D z`ct_*VhgG994!8I-+f>YFenV2+!3(Fy8@R*szYtU!R#4VeyjHg`LoCyyO>rg@H63^ zW>0g&yP_2oQW<3PE>ZOqf-*J2uOkjVQ7<3m4mrfWI9Qb%qa|=$53KGX7!UG;*l;0D z&BIr9+mx-|=7+N08UyA1Du@S%x>?_)B{c@fd(DPc#Jchh+Lw2}DUl-c5a$^n;YVr` zpm@T3fvJ1E)D23NzbPP;vhIlQGTK=*=DqGQ#hj!t&XZS66`5$}>hChpZ?^m&Hd;U7 zF6^7cLWtq4aaeDL`QV>g2`ofneaf)jzTx8mS^drIeurendl}aQ=-GF7AP0LFPwI1( zi=EXdMNE^^E3l-3BCCXSDAnUuZgWKvHTs=#EYzOf$TDpBdjc3B+hX+%U=Lu*t)0k9 z6)H;>3cp*~{}O>bxCdjx+G9ZXyMlX|Aq*8gLR~N@vQL@v_UbVpIc7d!(fpkF!bgjQ zeBy;6kI;o0p~l+|e@;dEbHMq|(HHxH9|_~d;3KYo2fc@q?4asAdd!jX>@W8ZA5~1{ zQtUh_&F}l;_R?E7;11qI-!BCEkY*}R%iSklJHh!*)lCapT2Cg1G*E(r@BN{Kqv3!G z&gLk=&zYod1wbj-ybd!zGMI-Ov3Lm-QP(C843f6l{LtkiNxE7`QXeQT=zX4T^t@uB zq1`EuVAWN6!5|pg?3dV8c+K%c2IY_Q*O9qJ2n{4x*?fNKdQbmGU0OB}Ukjkt2bh#E zop&Ph)vMVYGM9PbFmeSxAnT?*zrZ<$15s&ta?r&Ew zY$MHn>62Jd+8rwHzlq)4_%O0XQr^utn3Kd+!Yfy~R3bD`Tqge_nVNr7(BWD3JUdv0 zdh(Vye<`{sF^z{%uDXLR{;HMncdYsVw=n44jw$0b)Gi%3<}$@l@5tvfhpafJ=P!ld zJ#ShL3;KqG%%G2`EclOOmVW)=r$2XDhWZ{dBT%eyPb-B$FU5i(b~08(F&tvLL_XE^ zSg3@mN5!E;qB}cDcPyH#UetZP9!2Lvu(2SB#rBM6Pxroedk(ORupY5BFyL8>^6*7Z z%9Xit%hPQ1cU6k3f{UxWo^qP5%3C^(Ca*7^Kp8>q{~mF|Df!GQ8XL6Ov;M^W6Jq~k zPyb9ITN}WC-3w~%x;{cxz~-lb$YSy-AhIZY`%%03Q$S?l_!N+pApCcHny*~Sr~7&} z4F5R~I$+a~mRXO0()i4oEr(aRc_8uSq~Vtbww%3hI^9CZhDS{fWK&8$?v#sqWuLt` zU*?66Wle=H$FvQX`I?GL;qc$Dy|V=V?F5g2sto+t96eT6_^ z&`_8n~0}yWk3qNZP);q*$y+OfvDqf6##V%bF0QiH%+K|cBjEUHmW;q zUkqncw6lmfp>%kwK{OfzFn`_k0AJC)`W^2ckI3PT64{L%{i}Yy^xo^cLAFm8-+q$cyRx&0t$uRib9={ z#=?MC_yg?nPC><)@~_~o3*9ho~QR9+a)kv=;7e%|)Jx&sPz(GmHBHu9L- z8NLu;rljVmCi76h(8h{g-^j+mnBCdR7Cwza35qz|>Kj@ZJJJ{!o0wS(F|3wVG0>P9 z2{EYh$Z*QoiW{4n-FLM&R&C4YYceiNcIb#$~9;NWm_a$`+a*yv&a9rzqP~fX@CjgK;GftV&_DL zjQn3f&fd%zMuFT?m`m`V_y5Ohf*i;|{%c^u|Gomx3jg~%Gsrakon2#Vm{KR0JJyI8 z92Dy0;)A<)l$>>zez|BVDW77lb$SQkt=zB<)LamKr^e(HhEw7zeZ_RzdPn?w+e362 zx9>`#?eT3|@og19a%WwnjJagmE^2AqEPllGq}r-F4(;4yPcP10f!z)ix23-ONDe8- z^oT=etiwtv>0Za%Rb{Pm=PuKmFszJJ1Y~Af5)l6V z5qenK*?y8XRKMp|%a`tsJ?I66Zrxvj0Ow^$;2vyiFt-hV57ORVZCG=Y&r$yUXITNV6tZKECQ2 zLHUzu)!SoALebCc>Hhv4Xxht9C4M!;t30+QJ=q-n^?fn_RYC$jW>QyRM1)A*a%eTqjk*79G^ zobF1*Nyl&-6MHwc;w4YIaqI5T@_1dq_r>kzmKHG`Dryp`yVDu2+Y6u7^RLIo#f>j5 zv5w08nPQ{-VZqcNn5_=>_O^??Y=W*^Sf~&3j8hVUfi3=BYHMjR?|3X~8ye7MWo0+$ z{(S3hLrc4ZkFR@D)=SB&)}xgn1qC;!W@f|^ya9SBAJUjRI zYdegOa<#A`MoS&;RR#ynaX1|ASPfUWMWZ?VnV~P5FMOuKFO)c~QmKYtdX)T8p3!!; zgOZDl=+A7t&RW8Ynw_4e6%x{}d>i=rM{{$tsHbP8`{t!2oeI~Dzt5)Bv4kCUB}8&= z+ckUe+D9q2+qbW{R>aS%{aLQ&$Mo1ymk5=g;=8reLq4b zrs(yNSamtA>fpc=jlb)AT;YDQKP#W6bn7%L;msT07nc|&PL2;Zv?Dc?aii*3^*rZ) z&^yk3M=N`}oc>CbpP5cgc)tDH-sTVV_3;lbE-uZy=r#VQvokYv92{~-!W|WXsM2}e;Agh>mF`qIj{E>> z?mtUu^vi9v!bCM!E2qz}>!SqmMN2kmWgay=REA2HPgod!M}kP$w>J!`YA-(>IYhlj z4;65nLltVU4J?n3)9zOa7FrHmy!~{kI+8_oZLH?3pz|7Pwj-`?W4d)(;92BoX3YdKi(KqvD@smtc|C^pUOqYu4alj=C5i9g59Bj+SN zGwrssRP#|Hc&hBhZyWxM&DE(cZ1&?CeDm9axJavFDMl+X9y)aZL@-fVSv)){!NA*2 zD>T=yV?g-X+ZnPUymaYog-)17U-tN5p+$+^B!=~`ul@n})Pu)*-)l2@?yV_JHAe@$?Obox`*OA9BqiqQ_j4SMu*-1CZ#L8E zSyM44@H?bTk$p)}NV|J{us!{rexWa?bJ6$rkeTWC>x8(ux!1ojB9NxTW&-`8Z0)l88)6!7M!ilc@u>u>+u!rD`MeN0TJu#qX^CVBKc=On zH4u96;DO2_%DYqe@Zm$Dt2WVD**XLY3*;)!DdH83B=*u3#E7+VfN$Gd2q=AU@00?H$}Wo z1aFedq*1Mv8aCmbJ9kd+*ViW!7&Gv^0lB%H!<8OazJ2>9&m6h7v2g}fzV$`o>orthXV*S5F) z71I3ROUcsFuj1qJz-UpTO`(*Cn{9i~i~sD|v;JZmY6S%a0t$+ksqwDZunC%YN8Np2 zy&_=M{z`}34**NUuvVWUbsj|JS_-8tcFu+(Qz&v7rGL8%p(5`J}@ z_j${0VgPHPR%}g)(yI?7d|XI!F7|L|nI+Az*6%#Z`@;vC2MGu8J4Qut_lG-Ym-_S0 zB7PY>-3KM+^+{+)~0VliJF=+ zKEH6~IXn$5ctx;?&DqW-u!x4SD%sRJKx1T#sW(hk%c5Z{Z)})J!HdCsH_3?{`@tV2 zE&UGB-@vi!4HH~}O{1WCYrdP1ghXYkkGoUQ*U#@9ptI(Tw5_A#V=HWL9G14@qa*qJ z$1?jXHx#pLHiqwoy#kkUxVzfwq+B8yLjH~S!A;A4g1#Kx=*(DBmCBa0qchKT!Hc52 z$v(4LPFKj|J#Knmb(tnpmbVxT_ZmI@_;9Jigt;YuoGinME>=`umL@6VC%KvF;2*jA z;;hD>ayq}Vj)iYgpcXlN2-w(W&E9(_v zQ+3=+C(q7_AJh4sSFZBC6fL0YzHIGF)Y*Ta^WBESA%V#>{5Nn&j;&%4x^j=o+!RS*Km>Q z06?n@m>IJ3!^_8vv*;RaS4S$43nF+0Zn6F>-RH?-Z{p+jcZe@UaQHXjbZ78qdE|_w zSZJGokD8r+10X^|Wk&zQZk67E@2!7A3Fb^_nS#dU1W*hW3BYqUw^uN7n;*dLRdJ}=k|0HQQ$U`94-)N5< zsc_q!djC792Y!wnAZG1sZ;!OOPM2Ol1<3I3f5!TGVt|O1mkbv&2Y@Kg+)1IN@Z|Kw zgA5k~qwUWFe^!&gXbq7}A~XH!bt(+DFb%mYa~1$gfEl9hbzy&R#raQ)jGeSiJPA&- zxxM{2lDZ1%@YY>hdwVfJ2#=B^FYxgZmEUVN;f&BKH1GM(SmRA4C6;~kTo!t`H#~lC zZR8(iG44J*iB$dnO7qjP$yonvL^`^U%&-W5GF&>k^o{>}^Z)0QkfVU!DkLbFYyC^W z{b;>uL%V+cKdaBo8_BHZxwE8>@=i@BUTOERuA z09RPL_U}J@c-O$-qkH~cvjq+u$iWGQnB19&uwC-74TY&sTAu!?&vlK;z3`o;qM`zm z7Jc~eCE4BJ7ccH8DG@0#N0yhg@2rmEqX1YXxJN6)m63ZvM3^e8_wdEUk6Lv#7`QD= z3}pjM_?5k<)azmhwFs4YAvuzjtukMl*7mXkoP{4Ec{W56oYo%;-zrx4s8sSM^5mUzc!N0%ZSr=ia>?Ca}GNKEVx5pF;G#-ow# z|F|^EnE{m8?QphK&0$?k&rH8vaHd$n<@5asrBrc>#}3m1PKq z%8e^A6Q4PIHqT}A@m&cC<>tNmrlwZj$h3{@gg?$C5cN+y_?clcHH1S98DylCe@}+$ zaAwo|~Ob}2~vW>E70E+x+Uf5$_TM0<| zLG`0#1$`)Wm;%^_m#4@=Bn_Vs+o-9LeSNyjoUPVtUdU%V=G}1RY^?>hapTL&kUU~J zySUs*QxePQG1y+{xi2MkF^tK~&GK>rO0V#Dh_5eQ#(Gw~F(DetXvHBO65abLP z1I03FXmd=@<-Df1cX*iOakv9u+&fJh2I!A5i%-Fa@)tuB5vejz{LA59zaI3FR&9aS-7m6++CSQaw6K4Mq<3*H#KeXWQe0CoXodtTm&fy5R}G+S@M}HiZ^C z=gvV;ZU~_LT3U)M1d`XOWcbUb`o4dE<#AgKEq~+4&WCf8-9=WKe$SuNK`D_u1Ow3d z$jFFVo`HY)=l0_Yh~*`^kTIrwD0VsY&*L<)IG%}+qHheP3&|%GH}UiMY79{8LQVx3=m5!Xzp&a~U?`0({2Q$RdF~Q5S$89YNfYCz+IY zAnD6Let}L-P7X?%P}09?GeWUB)Bc8(ctFwX!NWKK;_>nEwXLnYP;lH6fGiJ53}79m z1NtRAJqtCmobfVyv{jY~NA&odR$?KZ{{DHC2bEG-a<$5D>`3ml_# zzDXw?KmTQTRxpr=RrWlvuR54E*9xjTckaMWdO1b=94-{TaaHoAH|!%v0ZK73v3h%l znYL#-ImK8iuyFTPeB4}J4LV}^vGDLDA;-~kt-Es{-@wN0+)ikiMph#Lr1}GKF);w4 z4c?X2@h8{m>0ccBW6FE3H;{(!ybtrQ*naQe;83^FlhLpfc7<2geX~a6v@>1^3Ite4 zdJmg`&u-$JQVJ1UFbP{Y={+s2SiWAUhDzSOdk%7Wbd>2xdFiK2+fZ;Ac1L@5--Jt5 zbv=mT!5Cy?tD*3NWayB^85tXY3l3UJ8`S|{PB9)_rvmR25< z!C(KFna85W-g&4!(h)C&10f}nDb-0m5R6~d2q%pnvh5)7dl@XVS8kf3P-M5CvO<-G zUbhx|@FVoA9&LEo+H!(_YRD@n7MfYQoB)}6EAI;{ZhVaBqN)a_)`P6V(P5b2Jcz)V z>iHN@cLt|&Uskp;MdtmKL~F<^FHNeoLgPY57Xp=U|1=zMI4jOSBDWeWKtpMjJ(a1H zKH7S=FLfMV)C9&1)jx@c4{>Yj>KYu%>?S2$9{pJ`y7&FWtO4q4EuEcml^I$`yH%&? zD96TxDjK(xKqYst*Yc&Obm3t}b?E5ub#7 zCK^*ewd7YZCLIhFT417@J32^;U7Vf4IL_qd9}EKCLEF!RE}1*yf4KGU`7Iu_yK z;YiHM-Xih&0p1F#4TP=dw_!>!ySlnms#**pbF-FTvsk;IgF0t~%@=Y@b}KJ`0UX7_ zgLa|KHg0dG=>WaGwejDjF3BXqO+CoPNWV&z(qZv0;2c(d#A2z0!X?Y7asEeP<&D_{ zuQMte<#h$*6kn8QXO_7-jddu%1Vltc06qlGJ3|QRDzP*CA9GB}I$G|Mzo*v>7TRzA zy>swZ4AluKv`n%zi%Blqz6lNvK8u3z(dzV~rWCS%sRary13$7@mKFVvD9G)E_OGKv z0rBXy;OJ!aG&#@nA0 zUX^Tidf|Drey=(LbM#0i9!hYvP>uz!c>etPiJjHTLp+!&h&gl79 zR{!!c_Y(HkzbNJWKOHBoD4_fNz07L*B zV&H;;?dhG9!+{db=?gB6j+CND>XL+nXfY$WWFnq|dgPcfA?-*Yw4agsL1lq`g*wrb zwnAD`5@XA?qF*>pHsJer`EThKnuiu0b#-T{J@;rMq>`s%pkg%vSR*>t!fkJn>-bW=fWxufsPU=gSE+uxEf_r7HELszK=rAfcEdw>{M1?f)j`ihhGqZyLOJBc! z?X9kR<(6e2?8X=PD#VRv=s#CoyDl3Wm}l5@=F573nI%-JGE=y@syzMo7iMOj%e=q! zfU1(5n3#ShAzC*KfeFrM>*9A}65c?|BzVZ*1y6BJ%lYh|WHGRrq+RQFb(h36x!q~J z$2^ng;WF>h!D7y5?Xp`Gl$7H$GZ>_#q$MRKqDft2Q{Ud~Ef1+9JCt`5j7E|A8`Oh7cpe{^4t$}9D217&5)8!;5@_RuM=bv; z<9)|#6AI;q7gpKOJG@DL0ja-&6AXR|XkY?bC7%^j@yL11uTg2{=m=?5x~t=sJYD#C zo}+S)4xDSf;UZiU1_#AEJ!l0(`H}Gf*tn%TbS(nnh1}?_UOjtyyy^wD>K71A0bfi; z>w4CdyKJ)lc+)?q>o7k*U*b4_5t4-|GJmmWV3!k67&K6KTTspDF&(WGf~7PHg~1ri z|44?~w!uI+!N~9)6m@OaCnR1%vT*tG<^BpcUe}$a7f@IU9z9!K{p{@c@-kad1DHN) z3|h<9+#-F@GexEfZq(oT^QRKh7leHP@%fFQ?az?|=?Q2f$b!Cqq}=L zU>y90B$zVd8uE@puJGC}5AuB5uCy5yzG?R39FIlsU2rlD`{ka;uJ!fx_ZR%)mh+y< z>bdr3a9U?+6xN=e?26>8{*AQE8gXAkq>8>A<$O>`%LOc79Z@SrHI}siR=pWHUAtiV z*TvJhX1=w+JamXURR-@1Eh4Ne6&!F^`zy?0lj472r;@!~TZ=vOY0c{cYeP7p?!_>L>qeapnKs{C_JyrP_K8w#K+_zjSvibs^%T zcF_(<8eCtMH=M=X_@x}5SW3=6DdLmpkNNV6777)FId6++b(KSdNqK7DqhuQm^A&MV4XHf9hhnWr02Lr=8N!|h>V|#9AD6-A29ZE^@70c>Y1T5sS zOqZdd1{8~Fat@{a<0pdztGt@@N-O$Qt*dWNl^6AAVn`P@{Ur7+n%Tx7`kG-|{*_wcjRfTJR9dYc9QPx1cUGnZ}e-)0b*dhsbtkPf5OfARUBBG<>N)W_MB zQqj-ptNa7@ynGiYPf4fkP$gr!u1j5u!TL&teqv6k-k{{q zVUzTXzO$iCpHh-@Hi$nOqnlrKxPo>ReeEcUX?~mjf^9IBQ8n!{1;vk!JBi#OE}=TZ zDg*@uxc$sjpMnoV(xaL;Df}|chOkHcxJ(p}livtgv21*;I%h~py8h%PyuEmG@ykrZ z)v8U=ecDJB<(Sjb3Y~ksnwqa?`PBqX@XTiQGADi9!*srL@R{b3A3jKq?ba^G=NA24 z%HP^mod|qBapxw55QPNh}4nO8_- zMUvj+yGNr345e+zpgL{dy108VJ?x9l?^(<^NaU#3(+TldL@9ny=~wA@u@!WfvwNGH zZ7b-8Wvf7EGK@|3P6V%wRHrIh{Wz+|S#x@aTzO3rv74xhGse!me4TTF8m&6d>ymZH zUb*%f6uKFw#7?58=FEs)UfC|zQnohDmh9*!7L_sKi|2VSKK@JIVxU!i_^Z#t3r#5= zhCgWigqa>M>UKO6RyN$h-@VhPr#;jJ?_03CvRY7By6k-u`H|8}oTTP&5$*}2E~qc5 z)^|GIThv=MlDGJr3N|}y$v>Yh-lEdg%^C9W7-$`Thfx@Hjwth@lfpz-s{?dQ_)-$`rvj1{?}GPyAV@ z+cjoGnN`zQ(0}`2nEwsE{p3j$%GXVfOvAZ){0GMd9i7KdF2Ugg(Tzx91XW4!Z|P315#OyD{PUcY)(mi^h37u)B}`0aHxExS^}?eE{liAmPrDp(WM*^PcR zRNT%h@K#nw7mR@Do**>nS1_k!WEPkobNDGlNC8FLq| z^O}viropy&)1!3}q}swM^l$NZzRVslv-E^|VFo7H$^#pS#ZWuipfjy>DeXP|EU!a@ z+0;uN^Db+TsYeekGZHm>@=8ASVvHGu>j@6qQ{xv4i&mx@FGR=ks)`6V1vTXuo{-n7 z!cf9**q5T&5Zig>3$nXO(H<9Wki&P3Fqw6gDK(|sG#wH2zg z>59@iEnc&2^)QnAW&Tw}ie^ODMXDeF zUK}N1)+DT_wk2CQ8wm^8z8SYE6miaE_40kvb&1{WmtsC&8q3>9Gh5ieS>QnxbPs+1 zH8K7V#5E$5iycHvu<)Ge)q8GNrVT;N8roxKB6wG+kX7x1*>wx+Oo>n@BikaOS~`ZnVHfGN#ai!W{2f5EJL5o{g=jkB4~R11y1n3 z@Uwg(zEMI{PD@kHb(LDtZC3ojfU8Gjq9s%U+$x4pQ(?cPaY}==NyKmf!KSSW*%CWLbyS8x~pFs77 zs+`){+3&Z|U0#Y0eK-gk!uFw6l?|Ns|JpD)|#6Pa+ed+aWo&Eovb%d1!P^K|0GAKkVO_3+aNgeoP^5YHic1*p<72z_1Hov`6xSa zQ}=wvE(+zcf^NvrynK3n?2{jO!}@@DfqACF15*jCYtQ)GjH??&Lc;Pfbm2F8!izmT>IAPgDT_gSR(r3zQwSdrcSXBxVy|HRQT5DdUvf8 z@>CXYmV8ZWbZQ+tvQG6m@#H7vB!4|SqNpI;cgjYlob~XS?Q_}ZlbIcN%6+N|G)C+} z?xswk#@ZpnjC(n4-0hvX-TTbV%c}()j+KI#gWKn^f1{dowPfrl95lfOU&jX;p+B0J zg)mTK&N~FLMeR{b4hO8~3ZtsDrY!hV;)!=}Yjp=c)21y9e04eiemUGVRv3p#Eo=Ex z!ToKz=0&cL{h|Td+kIx|d^5`S=s8Cp+dko)ev-{s+hQP&gU|OVo+qn(i?RDDqoXQ) z=|F?v>=)6(+`+Pg%Fb&w!{lWmH(0h~v?uXV{H}I|nSk6VWaeeTKi7QEMMqWNQC(~F zi)GtPy!olGFM8vb*OeZ8k7pXe7^LNwub*po3zM7)QY2xD*tqR{7L`sJ`g)2l$8#>& z$6@vp(X2NQ`fh+vUc@ldZOc3>p3E#Hz(8&PUr=K1;|K0jb= ztHJWY_g`inpXX1CWQOBMM=-t5^x&;VZ11)<9WUQ#HuvW3H1V6#&+_s=>hMMR?{BMp z=Sba76n&a9@9N%az~fYNJiflLyO+^ub_Lb$Oc@Uo|l#qTW>ySvBgOli#fV*akDy+ z->q@f{mMg@1xjlzZ$NdD#zJI^yyz&#l@Ws0{@c`2;@~nZdDh<40xFPA@F&X5l~vQW z#q%SQdi+enkdhdMY&a@wwq_1?cj8Pkc8xo>N9$_Lv(9g`^THaedOC>R1?ZfrPhaG) zrReb|Xr(LauO7Fnsm`q$aV321A5CRD)D+sel)ul9b1-N4WnX=RCW|Z=L(g>NPUTR# z&*CFA%s7=w9K3n-p|+fR&$4y{7VI7$Q?jqF4w2k36UTAN-?=aMsqoOZ0=pynOzGLI zxE$eRa6#)O=(Vo)T!qlds`(0kU^Rq``c{vOKrPR&P^dQ+cQ7GOa#!u^%LP zuFh@d39ePyXr^&Sb{zZYU7oQw5E z#gFbVLx{ypF{_!@_Q1)OcGDqD0yRKYJB;i#rR|91rsLzV%&Op5JPbP=-w0QncNl^< zx12rWk6BXwv=j$EOeA475U8BPVexBym&>f7Hf|>CoSP)bhuzIQ`Yxj}h^5D$VhEo2 zS{j{{hS!7h^H*DfCMxkzdX_(S)*CG=VwxyW6xLeK$=TxhbE2N~6!VVu73cdE{8$P?}z9&PpM-bSyn$`@6CGaYFg4o(m*( zXBeA@;s9v6JEif*Gh(@u4+?XfH=ijlO`(~-7dlc@z<_^aO4IvGW)&IUyefnys)}IT zk$!3S52ET zFlWD09|Mrd9^N7v5zkO6Naiwf^+o`=rVuYH0E&65@c4dH z(ctQN)XV0@8(92FNo;50jgtpUeK4QQICe<`Bnd3uznjZE29))P-tf&j&l+y}FJZaOL^WI%Y zuB`p>+-5xT-2;w7o(c4D_$<=t zpjUIm`ibIq$4OcCA2LRos+FAPhcE#QfOe2Tb<)kn2tC08uj^-i?<5$^?+nUbl0(9i zK_u^GUN#Qo>K~k6v12@@{5L($d)P6T+)PPia3IN{u5WJpgmlww7BZM&+U|yB(K{Vh z4Oc59;%2_gG}4VGk$U@3G&Yh;ttUqHTjm6+CE)?s_*DwI{rIY4~;eO`Xb{+_Y8t&f>mbso#g*`LV z%rfQ(&Tv{5suI(NEb;^H>UF9Bu>%C&*q_)~)$pcxk}rN0O)NX(%OvyMy?p7iSE7*E zFGzk>iodlEaZ@kpuWlQAUI<)%rOiFFOuE1;A~I2D?6CDYzC>L>_*T!V^2C^H@34?T zww?aN_NMOjCEA}FH|{EU?X;0ix!|$yHM+0#$=9wAs{cIV#Ns3mt`do9Q8zTrelEN~ zw#JBKt3VRl=X6^=qVqCk$dRl^!zxbP>EoP8Zh=8ZFGaPN$u&KcP|=7im)$AjYF<=u z_d=uL9b=m+|4J6*Xf?jsEhVz_nwy!t)N`_)H=->E-8aLnhCi5su2Ql$R>;8fN${fG z>Y&g5^@7pUET6+Vo(mBUU(ZVV&MQCrr(lBllS)%=m_35yYgOm{g>UcjhkjB?;?Jx1QNl_e#eJ9WxDS>qPLEOg>|o9TmG{LTN2+|1Z?Q4TW5|E zL6K#>Rjnym&y6y=X-He+L8#r}tt(I*VaR5_C8Cp9cEE>zFHUme>9a>YKg{E1%-PP1 z7G6E|7jr87Ad?;i#S6^ToRNGiqbuY^j93?Ow%24r>H3mI*?bWzVS*giO`)gK+L5obKpbK~Ied@){3&X4Jx=3p8N2_x)xe32vhiJhZg%cE7J6RwVqjuE7XtB()?b0^2Wq^<-!sxamMx&x1Y# zW26+&l*-E2YH{|a-pFyfZkh7&^M7+vL{}&gSvG!H;VN1AEB#->jaKCVGqC@wmw>$E z3uGjqZxup!8c0#VHlY<3)~URLA|N5b@bdDi|F=h1c?G(@(6$B=I~Eq!t5tSIu@72g ztyO2oDNxnGHOMpXVMbL0)fX2iAE;L^E7%-5+}+z2NlgnifJv?gyj$p=WEv$@Y)AV^ zCD%gpu&dBQ^|KOl_0JSgiU5cF!uNT{4RPiyA-A3Cf4h^Qoq5(}8bRvvF-yCQWMyT= z+sxDRU_KR5V)j*?_=Btym9k&zIIjTDfeSPseSLii3=C+z)!W_3(Ul)QDo8yE-&k9# z4kWz#9f-hop$m=z$Z#5hh)Y2Gre|LDon%~qCAg0x4Ri~2z`vR8OlX2;T5AO*2pc7r z2MZJX7P%bfqWeZUbMGTwklt2tqtrLTwo`FTx)|a z@*OZzFz_e>LH7ZC8$)0L1K&5z$X%J47?GO{S9wtb=K-ERhTq}(nKNgQUKcQYqDn@S zvu1~Esw6;xgD|6OaX4src~y1Jy^7O~lT}^W?W)p%He44l{f|IJ1W(?3sc$sA=oBoI z8U#N0z_a-e)40U(Zt2m=dj#=~Ywq7-=EnetKG>2|u1e0RRvism* z{Evf9uM=Nrry}h;uvN*YPm9X22C9J|4nm)5(5u-3?}jaBZOS?FBuWUVz{rMZGX9@rUqz6CqoHd7U@5Z zIL@EAXR0M8CQfXt#d{IFq`XZ6rZoo-@Y-hhTXITDt?A96Q(-1x{i)>Wgfutb2jLMZ z?2P-;()r|!a!Ht@tVK}pWlOM1{#b5`7#8~g+G z+>*&UdK-mn*g51QGMN|vBEx`I-o0#Pfl*$O~^so;=6TUbWq|ud5ft!3JT$S0qQ`M zsoa~uu}j$Bsd7bk(f89U&CiFHgFk%w8!uXlrzB7q2Ze>1fcr@14KoL9$bth5|NYoY zGw)S0*q&xnig;=bQv=@ws0QHh+7d)`wfKV-e%i1=y$akHY$rcIKN>zhGSFDu0ZyiD zEZ?(;2%_Mg`bc%Q}GnipI+5?!Dpj@p1`T;bw`-`luAmSfj&P@UVp*W@w%sN0U@pD9mXUfC3bUI-> z*;1)h3Bb+>+Dy!qyG(Gb3=E;`9i5=h1=s$O*>I-qts2N1#l*$eK|Z-}oi6$my*0t{ z?c2BEtH9<$RvP*Cke{F;?00S!CS^5j(l5W@Nr8a@E8`1$BzUL=m{yk*(U>Bo9>(%L z()l#}GeZ@h6Md}RcLJzc4d6($EwN)-J~Ov@?H?&I5={$;%(lJtb(rk{4yOSKh@NJV zu!I1+0;WbhsY?%-a^XZc$X7w+m8V~af$_Zk+O=!8f&JcQkQA2*Quxb z@phlV+u8#b_b{;omZ^U0p`t8_s`fCp^PA=CKwa!Fbzq2hnYnCaVloN4Q(`8#xYv_E z(bM7yLY4*#0J;FeH#DNQ%pBDbivy+;yr`nepm|lK%D>%fvy^Fz1-Mk8^+BSld7)Z` zD-Y10p#NXbPmFM7K6-#40}B_oV6IANQuS>0N;nL|hE#PZLmz(nuM$RLZv7FwL_>E;2?XgXZN)tjmA z3&Oa;Y=M6XuKJ1{8xRc<*FdtH0kXS{COn97z+0R9p6F|I0ul)OhC2{qv&XBEU2i&*+($>q<&qNUDa#gFV1y z`km&c^)MN%Abh{ySE!~*5Fvdj$=72s21khfF1_sxf za4Gl*z-1z;O6!sG7XTm=AH2Cf;jUI<^kp;o~hupvjDd@Qzd?S{n)0rJ-W{ zo^<6pi=2wo^S+(ZE!IufylM z#R$|UB~z~|zyr8fZs8(B2@0wW=BQ+xUj+xK$4ORCF%HOH6!?ZZuJiN=DMwvho$tv4 zk?_IXRWOsf6$hOBqe*b)(W~KPKnsm&9s1X)e23M{6KV>hZo;H?*R!JpN-b`u$f0kN`#h#5aLU~&FR73rPql(fd`y?YZCv= z*Y_*{1uhVK1G(+2u&^*f;`;I9$J(mb=@pUFqkJQss?CnuNNjy~)9egTp5T}YB#8k$ zL^7$XbvOz~Bm}R=f+H=jsG#4b7IY@K!fQ>mNV?%mx=T|{EB;)Km7>63@N`e)WF0@) zeX5o_>p31}5E#EyC_l^?s6B%rnjma&(>*n@p7dp^D^^M)GUADJ-Obo(@U;FpIXV6Dx}N*!unCIZ6(0lX>^Z>JcekvV zcXnYp>)|F+g3$;w47$-*7Ln~2;Tjx8{pZizHtzMe=a9)Q;XvesPCdfF`^lYjtCIPL>J(*%6=2CD|4 z`#b)mI=O1NhrOCMiSUdDUjFL{!_(-5RkxA?vMpAi+r0*jC-C$PH>SQJDqciW38-Zp z0(lc$p0)9(%1jPzf0dUAB0b6AU%SF%?gs*`8c+n77i!oKHw2TecidjJRd!_>h|4c8 zfK2dpTpU|AP*t}J$pu4$g2Jbqdt){ZuwA%Yr9kOXKbCwH=HUQJR?;DTi`;xT=mJ=` zmU+k9fGEL90e6mRh7Q~cKcou`OeV6z!ob1@@*2dMaOG~$&A+B#m@;>Aa5($0YO0#3 znyc8L0eihMy~n(v(&8rh`xEDa9sucUZQPxrSt^sT9XEa%uYe2iRzGDCb9Wa6ewk7V z#pj|-^XP=pk26)Ay!s1$khqO6F5&>`EKU{^&@y7roLPEs<_g9`5y5H1^`iLfrvi=2 zDmJ~42!@Xz0Meox+}sV5fMCztFHwoSjFFre0dA_a)0L4Jn_ z6hJi$0g}Y#e)HSnR3Melb*JK=?00%arFX&_Gy$;Jzex_H%jXcn`YsiWy)xr`wKY@D6ei0+Pmprw0c>4?2Laye`MEP?Q3WqJU3F zoF^{?AG8MVZ(j5h$(~+@w1uRv7Z`>0c1+g7sOo?A=}@JI8^BsU5PPT`4yDLk0a`9b zX=!Qr{@TgmD(RIYHmT7{4Z68W};&XG;Uy5TLb; z2OARzqYxYlXAn%pIIWIQ!d#M`R+BX6+}qzLghW$UP;Lk6g>O4g!4W<9HM3g>?rs7s z&GhGILa<%74mZR`9SlcO;530jrKE^nh6kp3lact$)sl)87z`vRNAI% z2jB-0{e2L~i6_8oG=jA2Lyvja=SNrJD42q~4h5fCrOC3ytcT!VQG^|d+ z3Cqvzso^|Dc-$_Pemjwlo+EH5kKhUj%@LOiR}TRbLNxhsTjbmVI5>pmR*4pw=AmZ)l~6=C^hpRFtr47xO;eIPnCI0gsA>v|AZ);2fm zVD*42Jhre91a9s@qgjm)I+=hYBe=*QaGGLCT_3;)k@1)lJ?@OR;+l5oCh1E zI{gP$#*5Axi!3N4tYi41!ODq-kn?=cH<2sf9dRS68TLBaOhBF==I}XWQ^fXt ztcE7qc}MH7*p%x(IlBF1!S51-><2jcDdvVTw!OXmt9S2$FfNeO(9l#*kel|T6JM8k zcMhT=%-=^?Xh?`zz*SgDy|E10KW>TNdG?P>^kRpOzvXlO?$99h@0{N^qINI+^DO#vY4sLzdbeyJILxfZUVx&PwY4== z<;ZxgwO%w1s3406hc%(bfKW}?ofi?ku_XOSB~$GgXkVQbe&gD@V zphI4NIV_OJ1#OC{J;+u_8yg@0hj9%FzdwX_aOvzW9&lpQdim;Lq4Y4`?b)h;08Hcv z7t|}QRnGP<@FLPG1w%hZ!SaLV?;!E|Usku_(cXG^0j+VnyXOfo*CB95m*0PzKDW0H-d~pp|FBz`>_3M4J7uU+BCMjY^AuSdEYn*2>5PB z57^XlMUSd-!z(x;dt~0-HyfdfX|#kS6tD&;pP1k93Ihx?I`Su;tvx&4wpeW94r%v! zNC*&p5?ByPw+aolobv{4)C6capV#OSsL~G|R*Un)u`f__gp||} zz&_XnVuBh4rf86l$qDbDv#HpQa;EY}WxKq}5iEeiRe-@>2h4te%VUr(ARo!j&PGO; zn&8QNLbwMfECe>4XX(!35~->+-^!^xz=rXWOlm6tTDyxJ!4w(k&pYCr)UR9&M^1=A zy&M#k*Akd*?d^n#spdgqD z!QAQGo&tD{||d_9!>QgzmIN}lm-ok2Bi$8jLkwssYszRizp>RQX#TsND)dI z$`lPMV=|U0W1^5TW9FHVVcWKSpLgec@Av%Hy6diW|G#IQwN58&dw)Kk_iK1w&-1*H zfJ&S#R;^mK0zZ(RE~QLA3%`<~eSCc5cqFEY7fi@LYi>6ev>GeQ>tO70d5@H^LTxH`Mp*GJqO zYS@g&-H6KAGd4CRIJ8oW+Ssts5l`shStb&_S7=1{_*NiVZ%t>P>qUzFgTwb$zg^8O zZg3AJ>d@?L548$QhPLkwqA4gdK-!a78F7#upS_HuY-xzdq;6S zfdvgj3If7F$ya`!I`zFlr593*^SFBG80G^26^xgH8B~u@PQueEyV3SSDTgsZ z*dSHHe1k+bI4B&%c_H>gCFv=+x)Id5{Wxj9@HMgVm_li7J$f-Lj%ZJydu5@J*6sRm z(^`m7>yew@$J~W9%@a88`HmtVe27QM#hE#Ivl)(4;v}cyLfm64NAMrV<|7Bi=d<*yDm?H|20TpPDO^908Z#xFOHtG|CKbar)- zM;6ng1$R04d?9ejYv&z7hmK02h*%@x%8(KZzw9u&kILlBr@bB3Q5q$}$q5+4N?_GM zP3Ch;7(PJtbRNDa?Kd5H0b{BL%)p2w3f1j&cZhYOq8BH<+3o}A=isGW{PRVUqhzfIZOrzTCJmiP>8S`S8y%vXdzm6Qdj{QA;Ow% zmA9|K%CDVCx=1w4s!6Q|C>SeINs^A674^xGh8kJK~oV7-6 zn_Y35gBFzTwQjkh)xTr&b6DgpR$hU8u8HUb+{=Gcuwep^wjas??&yz(?A&g0CXH|%2+L3wS623@k;YYE~HBTq*q}~qBt!+ z6dUK~ z4&VTp*SzyUH~gJHeO?vgT{^8IMq2_=AGz(+wQ^mch#Tdc7U5VTD(J>Bm4WR_z=o9b zr;+hQY6c`u%91yLC+w49P#{pYXVmcs=^&7|em03OY76HdH=&sGebilOYZUApvP#p?|vGHxKUauZ;`Yqqv9f)!I{9yoA7BTjD*0r#TSBDmdraAF@nh?b><|7#w# z)C8429|nQ1^xE{-kr(-RBWBGR^3suv8`rNFAST33rjhFR$186os^uO)!qsmy<`Xyv zr$$I&7{8y42uu$0zAik0o~RgD*h72{E2A9e1H}6j^?MZl%pIY%%?nsuA#eGYFS$5; z1uoO*Z^>*Kq4zqv_PlOXW?_HdFy0i7=Bi>Q43FAXXi-H>7_6bgUxbf_wrF#_v^6rF z$ArRfKkDp!SO&%XjyRyHG$lvnF})T1 zX|yVJQhU1N5q?sSM&`xFhI7k(Gmgs{+qdf6vk1I6 z*Is!Hmhp-gCj7>?hS5TW6ZUOrfRuP{p4g=!=bB6hTO31J#MZ@jo*$zLAok>AG62g) zH<(ajqW#l6H!D*}P;e8bNodm)(ft!M5*z0kI$eMEht8_iTU2xL6GC-f2?^FutHly0 zdV;dbs4Y(;f^avU1|(guaD-a{w5bN2+5|7>vvox`ru+$i`KzbL6E=jT5S^2~Shj{& z>gvI3%WwVZHMUt^){~D(m3J6NUdRRyhSR=vKJ9zP?9R0q(Qa&yE&5Pvgn6KH80uQ0 z29{NZFdf|iJeUh8`^$#UZe_Z9I|`?n0Ot*ve|49HDT6l)Jfa!P01%SB!K!Qj0`-frl-<=fnC5|=LjTs>B4-YYX>fxn(8J;OXf`j zKjLVg{)1DaS{$9}#AHlCQ-AmITlZGNj(wK|TJ>%_ug*AFodq(lEYD7T08I_=2>U}h;<)| zQbESV`1prlj>%Q7(FjZ_4dF1{C>hCvc>FG~P^+eN<58KUhd=TgRBRk|KT!=oUSEt! zgO=Ms*DLg~@CGGph828#5^JgYEu6$RMJT5D()ZB&q|23O($pejewO|q#1m2+qW=tr z{|rIxiMSQzMj>nu#eTG^mjqZ91-(E(1jR#_;osAq>Us4vz{NYTxFExOxR2mGYB}Y0 zx8DE#Jq$iEO-)T#;c0~eTt8`^#+)bo0HjDoi5lBXmG&YlD+}Ry}woOVOnOlyebPX1!Dn$bAhf($krT`IJ3z=cIe)ezL$H=DCpPDd7(QD zjEHDmEn_9gYFzWzO<-GovdVPArm}K8<0Z38mn;#Pn4RsBXKs^QblM`2BTJCuN|e70 zV8_DSD$^gGXh|saFMb3)2l(?Zi4}IP2@g_b*pHeuAW}RXUv1ibxy@N z7pBKoT%v?Ys{<1v^w=EAa@RL|T56*895Du-#7)bNcsc5ThkM7R@4SO8S?h^=2B|c& z9PP@U?OCFsp`j(eSiJ@HtXA)AQ1p>$a#=1@F&HbDJbL7ao+VXd!sz4mlJ;;NLm(^X z0Agac1Awy)jd!|j&vHG~AT2R*aiVG3rhV2*`<-X)1NyB^$I+s4O3%UTPe>*Dlm;*+ zcf_$@pGLCt;TTx)Qh7B@eaHX_h3aAOWV$@n7oYi<^TVC%tzwG+Dw(*CsUGS%4lTm~ zSWAlSP%)~FGP#uITr_A?^Nedg(acrvRBRppmG+w&nT@^+xv6UDBssCL|<8 zya5cJiY_R@gB2G)eS6iSw?|G!$ceRTwgJVgQQQAyYSy!_3Gh13A>5pf6}?K%kz6u< zLPx`Z*O>Kv7K0)4U9GL{8rOb#xG+*Em<0rkB~$gBgyrCSj;UDDvXOE$$RERPDBKtR+Q*r#nk_2653dvQ$97A;<^fL7!^45!hG94pH(sAum? z+S0^_hTj{ONIGQ< zF-I&uhZn;%9b@hH(|S1|)ZKUUR-}$Jf6_LiddPNDJ(4z-J5CMX@0l`U&IBnL9d9&h z^I2kCXm8`bZ*N@OMr+Jdc-eJtSV>q+m7_9(6QYLGq1VE-4VQqTTY6>kAj9(@!{I^{ zViqV?B!{Q8Ou*$0^^qT_>tf!2_x0Gs@hq zPsdM8pFg&!2m#_ybk*l?-%gZS6T`rg9bJ9+I>iOUrsJu^JZLQI7hwGbsu}TRZm#In z{xR_lda1nvkG&1o+mq3coz7GQ2E-ygKeoPQg1-fePa#h05L~)ZWsdQ8U4#d0yO*(T z-q!V-);ErYGv~E^K0vH-PA5JoOm_lk(k^it+{eI?RCO%|mvf)}s<(KRBS(m#)vc^- z)r}QqF({-q!Bhuu<6rU}S|B~cmlgYl-RVWB@5P))SMo|FAW@(5~x zhffyfdkqUc{07XKZZy-jR<7mT!<=;PzSl0@cH*ldBDgI4E=ki+p(i&>TFKU9m1g zJ8bLLtuIh=pomPFZh&>f(uMQM+yG@a5B;E|BaAlA;eodY{}5&G9k3Li+;Vbfvu5u} zdy}Eg?L~JGdzp#8$1ixbLAdKHVUM#$^CEM=JQYdGAx2erIf72)=|N_0dxR7 zA;q9u4IRu?I31&Ad>I{mTq{31I$D3oTMP`#t$;n+_?XjdNJ>VRe;ivh&cuT(Q8oHx zs;(iLT?O=yjlh=_k@$XNsL2_Ue_-1-<+AnSvc0Qcd)|Rv-3rvZCUX-%$hZg-8nL2C z0=^&=M4}+k(!Q2vUZXPm^9L{rSl@p7VxbVsEI%;Ci{baF-mD>FuVG~+j`H=6O-B(! zXj}5vd`vfvGj`p3`M(x4X(hityP@J(9=x&TypKBiL=eAplGGMGDe?2UcW*^n-^48& zRshdKS!mL{1J_*JREdS>x5IZSgA%j(s z0k-`jm4S&{s9{d;l$)%zmKe7cdhnKJzh&!I@4AP%wKVINn~{Eb7QyAp7ML->xUOK5 z^QIwGxp_Nqp4)T?5%;mv*G-Fx! z`53Jj^kWZD80ci)mE71}oDNSqR44u})C(70t`QDuO+bra{z%&iv@w(4XIiv@rJ~OE z%2`CXgCGb1A80m7}*krJzv1_L;3z$;IzU&Dh&z|Y^&hnBG2ldg) zZa+zJ#pcn`(RMe!8`2vHEa;v2D|JN!6)*+nq{kX);EZ7+rm%AkJ=H6vP9!dbYNnu*7F|nR7r(Hj9cb1&WktR*oaz2H$Yh)4H?QESF&3LmXvb zmutYVaAtBgh)!Yb>V4U}b1DY)v@zy;+(T-|kBeNFBY5wRIicf$_wF=+Bm4qomI)05 zSwe5tYQ$WT5Qz@{CDm|&wMX`4kQRzStH>$fae^ze7X7zC_zM(VzpCG!Hj&hUYax;q z&vHIF(eHfY9k4eFR?EaI)~DMDzwCaA@TRqR%(2IO z?P6>|z6US#Apj6qxtF8^GbI$GLm-qFvYienz)uyjH819{=jtv7uTByrfJsjyFj@@b zUC=Z0@7|qUFtoD21TJ9324=?rzsyY}P>Br=clqO#Q9I!MFkafZb0-WGIjU%|vfkET z8;9O@pJjtP+JhKdXlH33of#j4x2phY>)8jcFYZm^Oz{*PcDxZ8u_I*z4BId=T&2C2 z9r`_Eh9#CU5SXWLgpf1Stc^y)g`RN5PjSdiAC%2O8dt)Yk}x~SUIv7uf9c7Rm;f(b zyK@1Lgkb^ZN1_cEINI!<;8$?{oI^PI+}NnUlzX>X1qJLc(3VUR2k`k#_|TjE>g*Iu zmH+-^p_&;Lo_BDZ5*(7Sa>A_;4BP;QKCaW1 zjgtS%gUUsRLC{`eo`_qbaPi_6Od2?VSs`F|V1_O}5pDd>ut6ionZZxDXbInT`t`9Q zF7)6+$Cg1IhTh=aJ zNIGM3{XtkL?3kGv@dJYpg$=RcJMuz9mTmd+<=`mizf^wwFd#rPYK9e~Rpe3Z+qh#N zj}=YpcAL52puk8z^|1V7@&Xta!^{fwGeQc_|4VDKRHS>1q5lrJ!sdbw>;+~gWU>y# zQ`ic<(@{Ln1ha}^oK3oL-`@FOUO511LO9^27H@wy=TFdh%#I6P-qY-fVI#Q_R#x%# z8;yC(8b82W4Tp{m$2A}Pgn}Wk_tr?BI~d9EdGO%LgODu1Zyw~Lm6Rx-l2?u3bn1H* zB)H@-z{A_b!=3QKs(UWBBZ-fjJ|)N<0QOTVi|_% ze>;R8N5x-dgwfAvtQMRuH>_K+M0K$ed-`W1_!H8ATNX(nFSE}bY-$t=X{6E3x!yJ+< z;3%x?hc!HTi}Q>IdGl9jZV#9~8vk&$uIWr~tV07EA>L;<40fb+H(D|leb@sq4w&C6w_|vO z2$2v&Cm{uXTd;DG(A+@(FIGY+0I$4Ni}priuI@RwSi$_&smr6sN#h*3D=v8-pB;oR zh)dpVrvf3^=+_OU8i%?|Sd^9fVUPiDzLwilXT3+aU1p@tOw<|KU~W+o%-)eb(EOL>{vhm_)AlHGIk^5)KF=Z6*qqFZU zgPDcj%JJ-J&nl$|!sJ&%ZYgLZFCfK$yXDdA*OR4u5dr~sJl>!yH<%?axOFS>{sZ#+ zcs8?<%sFL+t-I^uR~T@94@ucA?1}{HHC|;l!|8K1yo-=Q5Zk9r)%%&=9aifEBeaflNVK z9mQewn$Qc8#~aBkE-TX|U)eKZbXfc)jlj zKV9DttQsF&IdZ^EgZouQ47;X8 zFwcZ(UCH#4p5y9GG_h^QbDutbROx2odkbhrIu+drgcw6$y8Rh3JNETCJRgcwDq})h znTnGm_Ox8GYk`lKSJImG`%de<%*i7k??Q>cNu#xMOO1I-`u2LKaGem2$rVLMTevMc zs*u+B%fYhz5Sx8p-GB;8vuG~3rlJe=$drc=Okr==E{k8dl21@)9q2xXfE;6U02|?* zV^U#15SOO1LD=)MhQfslf^fkNLJ~;GE4oC+ed(Xl)9-O?jwk;UZPd2-Qrb*|->McNbIE%NSqd?E# zrWbbvH&M*@a&7F>HNRII#z5UbcDyJm&cj1xI=at6V}d8uMC%^g7e8E~<;ZI1E5#iV z6^|QOX2Bf~eMKZ{BB70rwkV+qX&3j~a@g8I24!H)-he{;BUqgPgaktk>}4^0IyD7W zZ!X$LG2;9OYQ^0((_Eqk=_^`qPi+u4%6@QBDg`~m7hD4t(w$G3;lzFsp<*{@-$efh6MwX!t?bV8Kjn_eHHA*Emg-W#vADDeU% zjC}FblhqQ(jvYJq&x(=loNirkJvuW?YHXZ~O+dIXjsZtf3}p}7zdU)J_pS;%qPD-m z`>jvDym~pWlnWl-D12<_+U8+ycRKQ|^awzvh>fF`n1r_?u$AWoxOO#tx@eDxZ(c&4Ms_=7KBs&jUwhX*UDXx(mzYsZQDN z>|N^Z=A3p9S1-1kn_Vrm{>1SEEe>qfTZAHuKaDgT$hIA6&UfV4c(6@<+VB34YHM%U ztbYwud8LTMN1Ct*BXAS03Y#piG};PI2Vz1YppnupUIb)9IReQe<$@e?;a6`hWpGJ! zK3rS|Z}OUJYyUCv*uHk|rj-EtEh1*z9-xvvV0{#}ucD%=t9}!T2kOtcR0h(B*QKqh z2M_GqM-z`36f^o+V{1#;$X~vd72LVEh-S59GB7#{e|gBZ%6`j{!%wEav1L%p!hMRu zq$7J`b%p)Z$05kOWk6l|`O3t@%|agyuf*jft)w?5y~6MeA1IGV*5DgWo{rt?@GqF> zdWKK7-zW7mFd-DdBI5(c!6!qYAxnV}9c+*W$an4^pK^SjNu-S6f#DG=wd1->SZ9!7 zB7Uy@$B^>f;pxT-s*()r8kgsDu2MLHR) zEa_80BS~Ld#sb1xU0L4@4?allD7I0H2^dNJm3EHhU0uATt;6C#HHw)14O@h@_y(U&rn-j}TQb zTk8Dub`?8<4puPWGnLA^e50vnqFLC4U<uw=uX_WgCdU?^ed$9)tXdoze&DE0Eq75c^XEYjhwub6B7Z}NpErz=kk)D(XlAV z1Dtire-;C{DE3Q8C`JHofcP%XH)Rhf>_WoUG2|TPeho;!F|%9zHuFHZ1LKC&KC1^! zWvT{p_A8A1crRF8g3Oug#E@yNcH5iH;zI)Z~dEv7@M zsZx7kQ|#-1JMCmd(WRCaf6I9j6_NJFj9VA_uh(<0IHzH4{MsmUQO}kWD`YI!IX9+j zWH&0>bZwpeJ^z{Az(NW+|6!#;HelSo2O-u$BNI($uawDQg&ffG6eZ$+j1*&d^uk8Zkc}Cit(9&V=~tc%f1eW z_?4gkd4GLnKTXf5?A<_`gyG>Kyc_ytBWuTHEv+Bn`&uZRUM7vZwryK{Li)z495$CK z8N2qz`>W$p4;{EJd<*LdeEU*Rlku?F{df#Ri4oxNif8TqF9rSfM+PmodK z*4> z$iU`850TeWWN)DFj2$IH7FFwjs(Ch{}N4=8JO#lJ(dNN z5%N^SS%yN3Gf1iUcCaJ}NQFsa_)7*!Jeclz#~Q`dkck#F5281(cniEdwJRbTz!{lo zDK%pNpa{t?PN6sA(|w1GiCYH<*$!o>4zBjX`2X1JAjs) zd=@l*FjQWK9P#q?Yw}sz?b$7f%GJ-px%b^9GoN^*#eV6G*I^v6BAANw4|Xo$C6&JRw^3U_IHk?zzh^WtJm84{*%D;oW?yOMpk?GWWCPk==M!!ech zFw1k2E+Gv;I3oVn_=gxLkSY?<9d~RY_`f?UmQYZog3`a5ZzcekKbZ$rRjr0<=`*R) z1BZTo*h;9M7;uv2f1g!TF8XA3SYm^lx)4)0Vn_`^{*pL(EM)__!8Lw#4g!4mSbvQ< zvmIFJW&wfu2yMu4o~SJG!(_jk^H59Hr!OZt=Vw2g=ihOAoVriONCj%kVmb&Q@YZI$^Jc; zmLrDnzSDFYE?fIX`sQKG8?Vyam87&1d_Ts=zcGyA{(gHZ%)V?rT+ag!I5ynQKF2O> zw{&Sivxs)0h*Uj)y^;TKLh%Gue<&$s?pA!f`cH?fT;CaEOQ&$>b#b?*0)72XE%y02 zotbUHQ_aHiM&r|7t1vkq)v)D0ko^Eq-hHLj@Dw+tMe6#ZI4`N3OYZdhF(SAJ&n4n> zBBz*gC;5J$U<5`CjiBT7hjY>A&ah?i%;)u-GI=L zyiL2i&LqIiqnOyBBXUROK!76xp#f|Z9Abjr${r^Vco&Swl~lQ}^9LqZH9UFrhy@Fz z5j+ea-b1VOK`9GG_4NU2cW(>D^^_x40PX;;8XUFJmaIP0*@N_3j z&f(007@<|n_j;6AuwV}91Jx(zemN}Cds0aIh(6Um8&(&mdufQ=a1WYyqknG_)ii^2 zUy^aIE!nqaKu08M?@bOMf?@NBH;iiTi98`l;*J#06@qvBIJAseKO`pczScaPr(*rj z)}})!xpBjEQp^K%)X;TM2(r=cMYgK)qvL==7Rv}%)ax5=ihbkfINmN{o2 z&`2em+K-nszKDwYWvQoN@JOW8*n9vK^8(FQ=+m)!nX|YlG>egvmYG$iP2Gwzq22tV zv7^<+ErHKk+$Ew_ZK z@rlvmFEsDzE|6TF)uR02Jgej zG^WS;Zc?;%s`pM?#O=E$6%^7ZOC{>76Zjrryo;L2iAU7MF#2(< zls3m&*S3K=2&jLxHh=PtiSwvwces^x!O_OOW^{6r2a8>9qMJ{-# zg5I>N8e`QUztaf{Xoni{m10^LTVS%l>_pf(}<_xd_+eg-u zeGs7Vfq*M%`V|ftt*I-t0wu8K7i=Yx{K+f=loit5!}2GW4^=CIe(|&lfLV)X!l$NL)As1P&!dHDlU_&_Tiq>5-5mkM&Eu1-8F= z)24$4KSlZMj7>A}MHnrK#9!b}ML_UoOiWI4w>nW=fI;1hdH#(sY4i(h#wRDqc!7-O zfO6kw=^*c7;X)#52GcD~=c#z?8hOTB{T@r`7ntrNP7NH(F#Bf6DXeMHwi`^vPuC5*BSR;f#T|93Pt zlEZB2|2mdev=yBoiZyJ>DOw_txhdXYpV3e@9F@@bf)1(B6#n?Jz&5qNfJNZ5jGMx@ zzmFka++(>!md-{t;dkUFuUbUGG*57U;^Y5=W)D-iBQGAkJiKyVDy0HKP#Z_$^e9X00!v=T|=hURF7=JeO$E(oV5?rOt1g4=EIhwY$6gCRGCDmV>&dH zkkxg(9~s&IT>OfP_~F4TTJPE~w0so0tcKoBD&;&I<+*8j_(dVUfi;}&x2&wjzIpr@ zZ1H(@BBZ_QQuzCA>cjnAnu+h|wQ;VTTM84?GB*wNYP{Savyfue^metn>NA2=NsAB-1#c~nBIHERlO1e zY(8@VWyR4qTC>&h!!Zehw6;BtlbeR7ZO&+KuS_+PkFiZYe{NHM%9U-c2HihE#0oAy zB5-D}fyA{M^V%oYs}gkELSLhxJ^lL0W-FwA#yZIZt31v5IH|25i{P|$MZW%NKZ(7*=5#>YK2Q=U!VIP2 zxq?!v{QmvAS8`Sy<8F|6$prA0i_ur%4EWVH5KEA`7?=$PkrP2dgnh5_1b8d31l+Ut zVq>&TS4M!=MUF?}McYF*dHD38n_V(Af*}&b!cMYFWR85Foz=4ik1nqbza!nkn&yA&$QVITKrLynb#xlBP z#}U#9*Mx<&0hoCmzTa&d;)up4yN;iWSC{#UA22$dOP?KX-pgu!yQiEDy<_PV{nz}= zr=bs~@Tqd7At{j9Qu+LbMds5d?tR;~5%{OZqOPdRjV-Qw^GMp&$mWS4o)VhZy+m0f zr3G3}J>?QQ4jGp?*!jMVX*OSHRu29Y_!)ll&zr(@<_6*Qd**Sn+k*<+-I62m^pK^~ zZL#ll)**Y_u9@(^6AAe3b1%2LDw;2%74zM%L5Ex6QE~B<|4Xs{$U~(strQ+jMVPpH zcqqfmA|iqhY7uDRMHY6W0Ti(s2m2hRENePfyZWG+{9wQ9$TY1nR(Ds)ObJ@fUDMvgq%raUthC2gI9dxV6Pew=imW8)JCWzB(GyPc=o*ubbmk;18G?XXMD zQ9BsVO-TlimfO@wtI*f-Nh0ob zfPC+rZ^iK3+vU2_iufS>3La^>+ISxQ@Bb{-Xm+LYzAmY^MRRngwJ z$D=-e*o6W^SZtkY0~>7L#`puk$MM`bgeXstUX z&ptgnH+mGv%KMoc<9{xf(5A0V|8^axPt^Swr;iq|NpalA`D#%VD>8x8Yqg^tC&RXX zb9$ZA0-l4YvpBmEhSq^R(K~knFd;0Lf4sEZpj^iq&MgT?|5k6?Uv*Nu8hgP+Z_oL= ziR{W*B?f#GD6cuUyMhA3;t{*hZr7{Bl18jJHTyT8GYa;ftjmA0JTh^FX-?MQ(Jp=e zd(EQu4E#{aetRr6&~9%Rb>CLrke~peR@QIB&C{&~_ovGm*8?n47)-uQajCsM!x<|r z_R8w<*7+21K3TKVUjxaX*_9M%{A1VB_I1%)X)^=Uf1Y0Y{WNW#-1uaXY1OXf?6w1c zE{n$N^WcR(J5+7&>1lPU;*V2S9+0r+?!ml>^5Q+#L5oSPVXv}pNim)+4Y5eG`Z1D~ z8M}~nJmzwcxG-JMGP?W=<-rkT0uSp}`}xcesmgYdZ%$f)lgFJ(aVeKyi?SW1@`?dy0`0hZ4_18&H5fD4Q`+pezj{n z{C9~OI|j!nc)?yG^+P%>F_t6DgU-? zgQ`MLl-B(v{TUgNZheuT3f_BY@hQvM(p8)|q#(_FSX+=h{Qs390Mu zCBMm02DEP9e;K`dKL&zgshlEbpkdcwm7N=OSVZUGc+Fk%iQd=2Wuj&phNdmci%M_ z;DGU1$6xO8J6BUeB4H=}>{1FLE!t!|I68WFtX{Rs73%b#HUI}t5@09La~-E>)xbnM zyD20`(At#PfDi)xe9)8ChR36;jNv26P0K<}PZZUk(;ccWzSdDhbrv8=QqQ@Oo)8GHB$ zT^bH3$9>;N=Ll`H_WKXmEcdwUAa&&Pd`fORX$Xwj4gLP<#Eu}`4hPHi567Nr`xT|s zK3{Q2%(^9fVVu6e>FE3yWvZhJPoAb(8NWzKNdKrWOr07t-NAJTAYQd~Gs>g%KULqu z;ufYEHYKubaC4$h0aqN<{ZkXo=~ zWrMTymLpg6yW{llInpi7ZjKarM^Jrz1&(lrN`SIG{P)cl^UY^xHEDHTpYt?cIbBQ=H^ffSIhC;S!RvDmvL==oWM%%I zNo$RQ3us_nX?r27ZH?LAilEws#pHQ<`b-b{OAojC?Jf8`R!#T*ADY7(-AmCcZl2t1 zMxS)u=Uq0lw926>Y`?%|`iG9Mw@S3!%~3gV#gqlEL` zVA|#bz(HPPP$!2Eh`-y(oIia@Qex@$`^&dT8w#(jTy^~PmJ^Z9ohCeclq}|RiHN7t zcZpt1R4x1ZS+lBE^~(5>R3WPr3)j?uSiOfqnOE+(d3CJ`7D!LsX>aOGEeq`k-8H{# z>A7_gQv-Vv#zIFNy7!mM_6WB+OmBo_fw&_U1HXlI@d0TR5oe)lP`Gw2Y1+`2At5G4 zOsHNmq5D^`w2XVngl!K#fYk((n2-V!;bixyYV|WUHHE`ZcxguyA^j@<*t2O9A^ctZ zuvSx3)8)3YOGO&kGnfnUqQ*jfmVRsEU41Q%sIR_N1}k*cBZV`azUvw!h}CGpt-(Bd z_L$eLjw1(R4YTxk%P~63EiOLFTaMvb)W?tOpppFR=iA4}JM$Y7oVA1zIQXGlT}z8t zrpQh;*@9^n5ZdU)C4wr=>)Eq)M6x?r3iGtPFu7R)xL7je8{vOu&-9Co%2g&9$b_dc?PJapI4fxYifFc$eC;UbM;ZU zBdnkXw_GyX+@RCyOcx_-4L|%8bxzHjjy1|@*`~3aqnyXEz=%U0Pd-(4g7fRtFe_!j z@-;5GEb}Xh$~m$pJ^lA?*+{vGV_&NxG>>g*ZdbqgEbP^euj-<#Si$?Czbe|s0y^N3 zw8>$gs#dDsh^_6Y;gu_4B{lwja(U#tr#$)80c4IfM}68z<)x@&e{QK=hT#2#jx5&o z9qk4F!goNKOF4C){AkIazV`Rd7&GoooUvj)+atwbOi^6u;f^O&!}q>s_=D-!HQuwH zmrrd0st@xI8N=lkWox1}AKA%`E_kl~eENl-U}K0PeYkmLeNIk2PfqT^T)8cIdzpq= z1@;|iM44*TyuOj_)dNM^A>XENm8_brGvxpLD0*m#b3@j8rc?j6CnG=SSKDS??`=8T zq-{<2(U}OAao9OF_h)N#c2mQrw9}u$T-}V{_S|Zcy!e3JDCdR`Y)q$_%d=;SY3w8Z zGM88RmiCOlJ~3U450m-ULe9~=E`s?$-|6;B;U?q4)?00mSWE22bGVt~5aI%O6AB`MiSY;G|kUa2bikqAb zjpOZ=aDg9Fy)DvAT{iXV)#ht0vT1aI`*u3C6D=7d89i4zE*ow5?!I8p*5ZIJ-Ctkeoztx@_p;D5+5!yWkj|NGB>_jyJI`r>!|>tB!mP`3Q{|APOs`7?^!ujD_k zVm|u+f06(H(?w9LOkk=Hl&mfs8zLay9}zEL>)6!};e@(|#vN@#2iBC7lrc$u^Mzn< z9fd00roVa{Mwsm|zw)dx5AggOX|0c?4R5ZanmQO5@Fsou06O^AR;6k)R#w)N3F{a4 z$UmYJj1*H76L^jwr;RmlJg%lzj9~=40-NCtvzX|3IXO9>W5fB_SwoGtXY66(3X5{= zdM9g(IXMd)j*At!FJAo{b4FrT_JDqHpmYl{2MR%#7Pr-0E5A@J3twg#F^65yz&X$&f8`31(U22k@6yhSctA)+~9L zoWtTWzCG=@UzU4meuzZN=@vr?7--x95+lmJ1Uj3lUas3PTE2JxzQX0p+x#CtUf;a& z(Jv4P4`Q+L?@z6a<%ByvGFcC?|8l^9$icJNLR^e_uR*+U!ZP;HU0)6xWb|y-neRAH z{rQlmZN;t95SN<$8!6&G)XJM#Y?JezyOfVwC!8G-_Z{8cayqD}yr`?q?^APj^yr@f zsE5{|^Kd7tlrMhxIYb{OtaV(ce3SRTDv$CNc9jNoZQl5Fj|Dg0ts9X*;=fjDbr_JV zhDmdQ+Y2t$XIQEyVu-dSb1^pm z)%(70+#^0Hez2DN{FjHDH^x0+#2HB(jwg!)WMz5x?Ab%=CA@$0p!;K`0vkO|KU*32 zhHoane)ElG;yyK>*VV6=lMiT!pOTyU)m|lX1;pDw5gw`2*Y%wo@<+q{{}lU79`K1a zGQ!j!EW_cfDMP@BC9!4Qj7*a-o8wI zwn;8^@l5MEdVD*V8Oqi}Pb-s0>-4W(+sQ4eldJiwItqFw%z()L17T6oSjSI=!bAC6P|DVO~7&%1QYV0Zsg z+++S}D!*$b^&xM^;>|lcPp5KN&dC`Ksx{t-Z?q1armwGLMs`p<;zU&#LybEd{HITh zvpD+4y=|v1LoSYy(LMHO{qC#34uY3LBnT7V8Cq=ehv?C6zvy~P^+vv2PFzqD5P9Bm zDyE|~>RYQ3>tIYxV|)aw!E{8Nd+oig1vNkMnhAT>j6lh5IN#jTRIDMMy77&TRV(*M z2R`+z9DQ(CP>$xP1+aDwa|??dV2u2e{+#n=-|33?=;UW+f2<%XM24Ayv$GrqV1kY3 zs0Rfos3gU?5(Z{Wa`UED=zH&32CIp&K!07Qxd7UDT(3O--jd2m|&rRw=Y z13)mvwv1@!wJ->(N%*vZ9t{ne?(k4xMkcz&LksD91B_Cbz-107|yk<%#a zUaKZy4z9)LMVL;!fZ$u`8NhZBM@qTb4$eBdOHo<7}n-|l6N zIdKd)qou_!CKjhL{#u+n->Uj1N8E>t8Kx~as~2)83~U&Q9FlqK-}w<|w0d&Ujg0cM zfn`H)vYHu_A!2h0Z%z0cR@XJOx};K1JW95SV_49i$+WBnB?j(I%jVwQg2Yd7bNaO| z6|A{XTlL|_fEKh*HBY4;AUUe4E`==#6u&GK43-N>%Zaa#rq7rME*S}dNiR4r-gI0T zP+9JR;NRRQy?33@$sv2iH7~%FiHwb1O0;|D&ONu6Hv*Y~2><1mBD#}%0|QbPIwSS@ z^MgOEDfaZCw3X}DZ7))Nx|7wmyX-RtD&P;W;d-Ky`!rWmy3EYX3De9_|FgrBM!)*U z4_xnEfsREeBHwKt%RBOG7JEnA6JX=%$(8Hy${8TSc*Aog^DK|uV~_#tlB;~hKIV>Y@p3^N3ClsivbxnE1=PVYCg zypjQW2V_^om-wiz?pi{y#Wc3My80KKK{$xp>?}wiC;#esi^=5a)LXb15mzr%73V+) z@u&SEHpo=woJkqDL`3QgVJ3VF+AuZN$+#v&JZqu{o^MucU4Ls$w;P9?@Y@Z;^;%9-twfTPnMV&Dp_ zq2v&$WP7*t*nGQYt$F6my_B-%6JI<$JdA?>xNKqUmdPxQ(&p{fY3Z(Uy3t_-UM1AnEKwAtrp0;#7aR!14238olD6D*PmDJLIwdN z*3RJWb<{hVw;z`*fS3qB4!`cN`5``OFTYP<8yp<_q|3+uDRc+SN)u^E}gw@NTx6$otye&v*Gmq zmS%hF#X~_s&r|i!4mJ9FP85l_+s6!ybG1j9Z)%wjAN0~28HUINgilADvp;^+lNE=a z6(~2}`LZp8ETl1`gl6A63%Qud`SZ=$Mh-9FVnG%HASM+K>_hT~((|TXR{FWm^N4Y< zq@?a3q?tt8eOnV2R(`#y+SdqnzzAc6Guk5-AFdnm7=1R-c z;>+!R<=zpOZ^hqiKwYzF>C(ff$q*qC6`;Uq=M=%(6TEh&)LeFUHgUu4{vIaMrv^(I z;@D1>>Y$b&LVY;$p$8qR9x0N>-E%tKk)qk){P<<&f|TZ&_V&}(KjZEA_#8__e@?U% zjn4f#k{Mk4VJh~#GbtLwzohjwt#`+E>qC@bjr9e%LZU~x%b$Gm0cMXRWootkuluN&k%n|-4{ zpQBLV4}E6i_67*jrb9TO!g)NBJuL3`^nR&8M8T`0RYM#Fve8nWXAJO`Tw44XD>-O7fKcPyzDHtMzrJ?cm!*6S%mVT{@)_}fKJF0T8d$cXKX z?c(C!yBO~xQ=8FcOkTq-!`a_E4k}MLn)nb#1N6a8EetGzls0y^bW-2LyF=r1KNE0_YRSOOfjD zJ1ZU*sLjc1`R7Ow_mSd_jQ6Z8qMwYWe_`=gEv?enX$% zW!>@KqyD`%&$^Z(JTc{!aMOFEt=|1%AG`w$OcbtBr-9%WEJ%}#-U^QaJRYcC+L4L5 z67s>+o5ik#eB3aS&}^K)VfD``4kuhP;>?6z50A1dRI$&IN_y)OB8qLtVC=ebL_;3z zczoEo$+R5hxv=0TPdd+d&w}C4HL?T@!}zJW?M-|b0ueJ%Vg*_*JH8Y&oJ5Gr()iTz9^9Nphuy?l9C)oH4)>S*>S1>YVKRBQgLwxUk|Qd&BHaPjc#Yn@+KzVGxx zYN^atd5qA89~>z+`DidMo?(WJq4_+TEY`bF8Dt&TiGAAL}-b@ zHc`>T(2~Olv03kPW79JerE|AsEpswD4wzcBGTc3)8Kb-Bj{JsS+I$Kgr%)C9%!yik zl28$yhpxJR01&>TZTQ_wPpCmo`QNir0ZI;dePyeDdW3$Q7S@=kKUh7S2J|_g$=ch? z>uPVsX0j#=Tgl$;dVd2xS9tdwj7-RiZ*1&{N2Xj@+=FnlaF8J(F3w$E_nrwgH8*_> zZ-Fr4aAzJp;24Y;0jB*M`daTsQWpphzS7`5UP|5@Tp?uPaRfK)(C?b*RQ6HDFee&g z+*fAUMKLlL+RX?+qBB#!N*51$ z-JECc_R>`6*;g>f6XC0}KLGSX= z{cb;goYIM_-I5`{+tYL7twjLn>$4owPTzluvT{8^RJ4t5Yg&&v!qb&Vg^1HPD%YCz z#|cCvR(#^As2wV(t(1f4W7*l+1z~^~{{kIa)SEYpPziun`{mm=rIRO@6Ubcf<-S#` zR|Dn|>np{Yl}=-yQ<|DWt?vI9d+!}jbszr^pQxlkG{~&XDB5IJT2e*{WrZeLA$ycc zQYk{iC=E(x*&LftG_0&sX6CUu4$l4jRJyL~cmMA1kLz(=R~_SXKI8p< zy`Jj@kbucSxHenl-8xtWfH_@#aLclP5E+K^N%uoS${l@UG7V$1a*jK@l6OD!dwl${ zzmW=2*^j2AHo3?~M=4lRRz}!uAYVT9K-gnH`s<-MWwy>9^{JdD{~Qje_;%rffbNKQ z<2tFaJ2Mi&`(aCxt7k+?^W@4CE2yOUiIy(~Z%=OO-8b4o)!HI2 z7*g_Kt{aaO;|H5AqZz<5_Zyv3xj!&>Q$eSLQ3{&@k<74Xs zFLO4E+wkqL?lprRJrcXB3<%^O>uyLZOwR_vinwT4OT87c_HvSMSRLWo;B_pm+5btO z@!7h#@%j@D1?$>t=^`j)%%+aj4u*45m8UQC2RP(^vAvHDODf&vz$c6%6c4_#NNNsN#D_V{`q?rfaU7 zA9Iy}+LWx?+W;$fTjry~cK)8|jxz-zYjaqD3g$eUW)R*-?FYWVZ1b9WhJxkMD}q z=szTykK&`WXVn*^yQx}oB_Aa&lQjC&C4J407M?EFe5djAMhfo;v48i;Foo>jYT%i@ zCT=F%5$!hC@B{tq`POxy$QVT^{X^qoVS*t7Ppm|)J@)?8`SOUC7GNpG^QowtLG!J~ z2Oj|A@&t=6Tm~voJ@8&Qi=1!(o*ZgbzmPlYqpdUZJekGC#W5t9XWMHn_7nv~S-1sW z9bg{A{@i^iTK3|UgCp8K%sVZolJdGPbMg<-Zdxhx_C>>iq>J)AkhWnbfk`N(+@k7;GVI^ zA|7XjCUfX!4F^BXZ%Cc~B;^~iasMH4XD&*!0E1j>th3;1&uJ_VhvjOau3TIv2)j)e z&msG?B+MH?AqhR`^A|7DtM?g>OIpJ&TFFv{Qy_8?C{A`(kKW>g1#ak?v8x z=L=SB>s;>{E?Rg-M;sc-Kt7~ zJcdVsOJf0b_>&6zw)2^(y)%WEa=PuJ&97h{5r7C0c5cfz$fI5k9tEL* zd5}?i>BK5XyS_ye{l4KSl*Or3l!sOYZ6|QY0it@tAP9*4XBH+iR)LWgOwUxzZ82(ro z_+uwF9xACk_8<@d1&Vb}%GbeR&NO*Jg)qjzfE$0Ock8w}J{GUyEWX;hU8U9Pg-{vZ zu{tq^SkQLri!AS0rfHDm-W;2{K1lekv_dAE?)BR&q=_ke?wUJ>C;L9lBYhgPmVWBc zym?d2=k_|~A84&Wi@5JDk<(q~Qa^KTRgaBG7I{KO#CNGi>pV0EH~jo_YHS!i77Xu@ zPcD8jGq;$ZoO?8pCDYUUI1|R%#B-n50!rFpC=Dm?O2Icf&_|WNW$Vr`LV&fH=nY_j zqN0-g4cDiY#&Vh2Z>ZizzzDF2Cs;%f#c9g>8+$~x0gE3eUFZVj{-?smW6)~F2gdKF zgLZakt~`sL$oWAV?1|Whf7p}rr**g=qnjWo7EBdspKi2WoZVhA0laW;fVK;^d}4~{ zS%xttny9+DM_9v<ed8Vf!oHqlW$~fPyox8e(ADC1)0{_yk6=je0i6c<422fkhUpse#q<-;NeN6h`dlssYJtaoKS||5l|$u`M(dHZs^>Mk3eK) z1?yYoVVk-e64JSuLn^Blkk??I?nxyB)^IkrhZhk|7DNKiOu+uvj_6 z4zLV1IkW|Hds#W5Zkh4w#s0Ja{Shh$&a+#25IygY2^h3BB(Hz~PEZPzE=3scJ|&v% z-_(z38oRZ$?s0#Gl@1+;kffyAEpWCF5OOhkVV6k`SH z%Nx~4-S>S|oPjbD0M5pThXS0u^EA&w!2uRSQ&W@Vr>GhS1r0D~RNQ`>&`CNCf0X$R zjUr_*5yK=fJn9q{HbPar$Wr@ z&SXn|IW@NPscs8TSiABr9A?G4EEYae1M3=mQaoKhue;Y5z5Pk1;u_oCWVQU7nT4qh z*5f+vgB8Bkc=VI!D3YH1n912TFE+L2GkN`>`-bLfCpob)-domJ_U!1bEsu#O-^61; zT4Ep#<%ocxG_Ka=ypuNO`evS1dvZJ~M8w*FAkT*-kmS_jD^}RIq$wVmGS!IB0nhgo zjnyaF#>#fzi=2CR6zq^a_;sY8@}tB{6VHm1EO0kg?KI*+%`od=X1& ztD#u#oF~;!E4>y~Yd+9;QhnJ{eVjipdCb$sin6z*;p;?)Ht#3qo5Mi?gDJ0F@}shr zV;7!FRud&9r#!bZYj10N0!WO=#yx!aSHy|}z4vXvo*lm^E8LItaVkUwE2vRJJuwKZ zX;Ct91=9FvWM(xG!Hq_)ecPgxFi@qrYliCNz9{As<`=9L5Xxc1gC4{jOm$17AWUJX zMZjh0>sYD!gcSEzVb${)>9TR_9SyqFp97*VlZ?M%JRdt5)Ilt;fZ0tl zUGaF#ryGpHZZ~6Ibxnd4*fD=G_iE8bM>w{yW?YMyhZXy?b)5r_aZlCy`fob1k{&yR zD0X&f-{=~9J{DitE+ir{kCPzS2^(IRHl9t36g))BKj`)}T+cc}vp=J-IwB*BI|YARJJ5~c6yLR{}XD6NN@WUiu|FO%U&*UpOKuH2*KEplGXW+29Us7d|ZGt1-|zwwo3 z4J-|XeHKeBwCu?9^QOHYUvNlIm1WHShM#Ai{B9(CO=*`>LybqDxg8BlVZ<@7WzuiW z{T6d$YKUuUJitEaJnpH_XNGwLESrg|4ZBd@$#Vh1VFO+z#1s~!-IBa8QiV`pEkN4u zw+qFH)4zoZVUYVN`yG(a7@a2atwS7fdx(tsiO59Y9;ELG?8Ml@kWe492GKxPBy|wk ziv&%pErH!V0Rvp4q}iZ}AtvqAgn}@iXz`OKuxeF4KJ#2iz2(DvKA*EsKWNlUEVTLs=q&y{kG8O_ueO@;Ti1nJqyS4PhW9`bz0z+Ufbe~1&b$;B7(1er-^uE#j8Lj$ zfB>0DYu8?oOl^nNkC^jNRz~!wc^9^qtMFJhXE-nD7rfQ`;X-eHk{X#8x91ba-I@24 zyZ+-LWa)2Wd_Cq7@>dft9Dq#VRP_WgI2n>=)k8-=dIE9+Qw#k$3g}EX3eK2XhoQ>w z@n*K!6){<%DZ^)LQ`wMygZNU8x{Qk2*jP*JZP7<#&Kx&sZbT3kF){0R)BFP)42mQ? z4^D0O_6sMjSg`_Z9R9Hq(Tu<-AuugO2GcAjin|4zsOg(e+exSiK-%IdWy0D1RnrlJ zci3VH&+Z`}-rM`YB%?MU)YSDWi2yHLD?G0FWi9DAdTnj(_XT0~7^s4N3?-=-qS$?0 z?a4NuJyfPyydV`378d@F%?QT=1{=4q&B5SBtW=~IVOzux0Q&j^HDW+v`sRym2k>cd zK>ilaGC`NhV8C0pUw!rJjU#deGanbe>PtBhf=v-x-E7 zOittx!O!+vbkmFl*Kl|M;w~K{#3oxKX7BCj)8@&Epz|E9X~%6v zlN(7S=w>8*A1gR-#-oE`?FLk7H{5}$-z!W{!gwuwFD@SjE@_bI8GasXc{X|8$P0WM zej(tCB$kVo&UFe;>;f7UVDFN=|Q&zu$wL-O<+QuaLkk1SpCkW?I-XJVD-VJQfn4=cXaeE95VhY z74^o6I8n7=t|_;9!{nG(!|i&{rgB2w zNc9A#?#X{Wf(p9Kan9IWCwDYe5;QwpbUZADZO8-JNJ3|8z{%pedsR}xT_E%cB<+4N4ICR zi7@|rIco$3V<+Fo`gk`lPzYmZLR2`Uuxn*xxbVn=FhP@qz`WbS6<=wGX1AgZx?e@g zHH`Olc$#;+@lQ}!z*B8~JmEISqzGcfaId~i@+up#Bz$XrsDwv54%jx*1+CBW$x`lK@L zJb(UG`LT8&{i79UueGEO@=DDfNtNv3;Ps9y%i1fhuK1e2u=}Nsj?Vn5#7QKsGCRDf zhZ!A3(ZO_Jly)|XpR&Mdwp3D0e+-t07Dr%tBVZ+WCB?4;h5@t zsi_Y-N-wb&+<3$%Vx{4}Z3Vf{U5jRSI`ICfSJBbn^Le+wQLP+}U`&aDnZ+~x z%%%WL6NS1#<&`!hYae5uyBhxMHkI0&GounKrm?&{HM4!{^-IZkY`;g|eVe-OX6KDx z{}R65nd2CG@k%@Y)MnrIRq#IdXb09C?%rH?aw9P(41K#7EQz>>v4Ik4jmpeB@t{L( zD=HwkbSVkufw$joy?!l`8}9T00H7Jc$KAb4sUwApuW4DG461tzOwysYRx? z=3nn&_G*t0_6a=7w#UZ6yo<2w+`4n;x>0<{tq8NM(o;kL3pYCn43DWGKOOLhE!;U# z9_g-RChJM+#KQ$wE59VV1JMQrLt=AhU9e!Mv-1wDq@gYRtP#q59sA9$EnzP}N#y6* zU-OpNt$`jn<+MYps_tOidy4=KPg}XQ#r2bVItKF@6*E5@ledso%WvV$OzGt`%U%H? z1NHzvW6cE-$B}1F_$dY(ADhi!F3`>PV|?-HFc{iq4x|@^D^ylia;5gz%fXbCR6z^9 zd-r>i+oHd_F&}nggPfrDk3|%UAfQb*R`v_ph~C={y9LeU0d2_Z*RKaKo%TRLN*p3KR1Wp` z6U%&qB)?Uk*Y}ycmh#kWY0~Owjk{^F1+o0XC0X?P%!zZ=`^A-w?%;jmJlz~$DRVrM zZ;T}zQ$8qNTZV^+RX`pT$vSrCw02Xkcc=iPDy+*OhD;*uVLnM=uyC0v9r_vQE)Hc6 zKlJ_UsK~cAIsLEJPRneo%W2vM7NtPzp_`E%T#Z8xac)~?&m|gMhtJVL?L?)Z}e${qjtN{(%rR!u5AA^);+tj+kgEo1TDD?_x)bN<`*ZF{}g zuR2vo>TtN9r1!pp?gpd;Zcutj#q;t-)KyRXpC5lujK}bL`|fV}v^Qbj9RM$xS2NoX z{ZO?NhS=vJ~=t6I*6!|vGt;)GDG18WDCn{Xm_XzA>)m|TJOc&On(FjCPJ zFxL%~>(vvn^GVo3aQcr4xHPr5x9`G}ZJG$zwGNpVy51HBK#V7s+ulSCUR*Nj6Gux9 zXeauo(Vya1mAUUcQQCzFgWtuefW*y5eAiftl~)&YQ8(;sc6FAWsNMxrpfI|OC#>;IQs|%U@@H|?&&}&)nDD@2QX;Cm8@@xlzR+S! z=}KV&id%ZYSEuyrlPWoJ|8!bLhxlYpP5ONuY`of zPAGl|+sw5^@R9Gd{5UfSJ)zO1t7mZ_8VscyPVX)|`84bd8j*c6z!3X@&(T);4MFl_cahh2vKi?=`VAnEQKz0;~lGaGoQ8lq8ON74 zDswaYurE(#@ciqfEXGM;BcYTvAG(?@HtLhDrK#z4H0aL&`hM*)5a`s~(sWNfN(I9JxI>`d!j9+sfN0QgJE$NY z)#(G~Y9R!F1N%IKcM)M>w{iPBbEB3m8df`WXt{rBdASOjC}IuvHI3K!{2^JUI>h;Ek^)acUa|6 zo1@`XmNCR79XLoPvNs`GwKDdft?t^wP$pMay(<`_I7APl50%`cbKn8x5IXsyJrO8&kNF)r%h!(a24uK9-)@fih2${8GFJ8Xf$Jtqi;_qal-bo+} z$Y!VY_ef3po-3SMGhd^^B}warZgH8{VGvKNS(`rc_c?o7C-G^@Y%BU+ z5w-HTww>a@aP6nKFiVGC>%$mv;N89#@qGfhGpDbZ1!N{9ECs1~<;bi1Z!%Wu{NP%# z!USbS%Ow(FSo`wji*RW^A(11Y^%MU_=*xe%R3R^Ku{1*F=yem$mYqP{RaQsA=&?Kq(&)fwE+hh*{Allh2$Ja`Fz`is6Zto z@NxE-n@bS0a{~jJz4N|rUf1+TBX;Ge;%Sq;X+kC|W}tI#&m?he`-#}JIV9|T0euN# zg+EMBE0Yp?_o-ZMOP~6YaL1SNxTu8cc57-0ji_y`6#1%-;xj}~7%nNHpo6OXZwCb} zR}0sHJFJc+Jz$JpQgQd(d6cPj~#7d=Wzj^)hf33=bLf3qyp<`vQ_H?dfFPe#h>ovzv=n z0amVlHqo-C*7L9CX|y(J;gUgQLSPbW*X};_uP&F^02MxO|bG);swi~M&UwBSI;tdg~AM-R-di_J$zdX%eNhV~@7 zW$IVNn`aF1SZPL zBv3?T7sdsNitd}*Lc+;0g*K>V@ULzo`t@t3Uf)b$Qk(Xze#hdfXoVdDy8$@Vg918T zs##IL*4STt*O6Dtb!{QmAdscLIXlmsArL;2Ypl&vwBN4^kt`8fv2D{P4j4ex2NT3T zUrU(_yzh-C;i{ZIp5u|-w(IF`2EX#M%LB*dQn1V>!V!`CR2l~(E-k%ZPw&CeETNJ? zuK%Go3x03m^*{Dz{I|KcFsVLF*>p2Uck-d!(7S2T+YuqR4I?u8bHx5pN~m@i%=T?> z?Z#am!iA)#pY@c+w`$e8;+Oxfr(4DdXxCm2vUFkq6)?RdBInV;$e-}J$aT(Mu(ot` z6mgWYp^g?Rl^u*W`6|nHOjfadoRgC?m2d{tknl8z4xhXgwdSLa(QYYZJc80N{esCf zPm+>2;fD+HVX`WAt&hO&jIFD50+Tm!0SSJ4!-m7RR)8?Yl(ic%@A&=gPGiNEYDL3_ zYk!n=IdtmKJ`(mEPiS6+wfb-W34~yc{~HLgGhoF2G#W9}i}r9A<8~z2gSq4ED~*97 z%prlcD6~YIw|YlMQ*Cq6{urg*w84vbe_v-@m{wM5-D%VMdlK)rbCvnm8W$IT9ecc$ z%*xrGpqwxY(YM1RJ1m2kKm3fFFx~pcaXD>@F#Lu*L}bR0zWa)WFVzik?5SCTdCISb zT|(j1UG|r7JKXlt7{pvNhmJj!k}jzBCHTGL>}ti4%zfMFxCg;9J@yGn|`n+XO^K^YhG1$5#*G?%(T71lEmu3vFm6OVewp!CJn?>^s0~gGVI_c zde-~@9g0zP1Rc_sG=j;@x_XLMe$=RVu%&gVY4)=2*|6_fdBW1qA7kI7-TJ39jVul} zAp}x?UcY+B|M#0i?WC-A%Nli6-VGhL_g*J1zH`^E%V>C~_YoBfs%>H{6Tyd#=^@FS zsAqe7dqvOt|Ji<`cc5b}ryWx+lW~sy*zw}rTiO!ZnN(~J|GQT3;O*7IWkN8eXa3Y( zzLeWb%m2>q3GW{Zx|hu*y|4IC9Je8}?P+9msg~2pDP~i*!DiF8><}MsWB&U-E=9N- z<(Vd){P1AYulCfR=vYCLKvsm&;#T&q zvuFF`i_fR^tmcA;OHWS+@V^u{$%eh?iyLq~(%jsfGAdc*6Qp;xT z83W%LmC07xi%KDa#cMPRPcgQhT2R@-a+_P2eY|euTX-_{yjx4}9{-l?O-N)VOx>$C z?;*z+i3X|;8UMM2k-=>lBIT}h+V`66hZz$w0+q#XXnJq$d!}&pr%cTM(D`|6 z`JP=wHR->f{($!BP%rLd(#DyGgGoXPU!yz)_bAlwq_d@7mTPsaYmE?)UPt+izrE#R zuN^kn8ZJ;9eNoVTay&0OacnHaz=F}hPhpa(9~U*^^OR|cPX(IvoAk3?A^WERNtXQ| z8M{3>=l|0g3e>Fj|S@e01<(+LAb2#2(KwR#e`N8pj&tNys z;GC11Q96giH;z9Sh);zL6__9r8H#)i7RH0zb(SUV#BPLY_Evdm=`K^#NQFbo`T1{S zFvuEdX$^%l$f|=kG}s3ppG%-jj0^8!AH({Kt?On9#vFl6IV!+br`CY1*+XBDOd`T= z7db04-;AS<^O>iL~*1^PB+p@SiJMK9LLZ+cN4M zB|UDO9Ry&IlTx6fxJ_}6D_zG&#>SlDvB)BL!jFy#`<_gf;{Fid8=3^c1 zNcndINaPU2-(0AFr5y0*PN*BTC4#u4FbEV_DdKF|ONeNHtn^^HU~nox#|5epUPPDd z=5?h~)|6A5cVRr+wr$nxbO_%i+Qxr;m$+-xS?y5Vz~jFf-ve$Ea1k&!Ct}W?ZQQL{ z6D1G)B*D~|ygTJj%ad|_g~XO(Ef71SbQw>6iscJ25{c|V4lq;DvZn73ZHSj{wlCC? zY1l-LO^V$xbB=k?sM+Z1%!50RmOcqcHtueWm~7!MIch?^t3P;}{&I~+OdA-pBQ6t;F9EeSeRL@Q;u=ZO5d(aa^#@pbDsS}|%CMz1*}bdiKnWR`9- z)xU^i#KeWAbZAL`&pO1GW@{@S`5A+4H}pdx+n0)VwA%&4}OY8 zat!-$Lm*IkX5I9U^Yj2GF7~ne!$`ik)5p%UDLQX%mIC?d)x@a5C4>nHxd%u!w`sY$ zVQ>af%WD0)apw0bAIoSork<@7C{^0=!{ddfIAM+hb}}dcqDZnizKyyDQ$n}q&OF|A zr~NG~KZSHlqG6<4s#wl$ug)>00qx=DaV#F&qtNfpFZUzJGLjdn3Dy60iXNbVNhG3q z%XUdl<0la_v7paW-FzPIIFc7`n}aDxapuFRJ^13w>8_Qqi37X5>AA9-Q!?nFkN6Wz z|0Q`rvc5B^%pR&lHmx{-7{o|B(D7EWnlFrX&2;W&7W`{3ne7>OXBqDhjibO00-F2> zLPmo5gwVE%h&J}b_zQrjfpd*^W_B4m^A*q9m5BJ0&5qj~$TO~8Cyum(dm|(Ur767C zaLj9IYr{z93ojsH$AK3SbK_4R$$%J=Af3ONIw|ucXaJZ=W##1} z4JH~l3Z5R`zx(+0>kCTlXaz_3moY{f20(5Jd8#NWofy5R&(1P>KdMiy#c`W^Ruo@@ zazc;S^L-hT0Tc0TTho~8zfSO8jvAM|49_pvdxF*jC5t^W{ZN{9L(1VS%FE}^PeRS# zGF=ns@^f}`Y(AH9iq=*BeoEtTSUfW$n@LuXMt0k;Xf~cyQu63DYe-qzP#|XUnpZ0QXoyP# zwWra;eXyHs9yQ???3Xej&vRpZGj;vQes>?9V`q-j*Hlcu+R`k+ukphq+^R@FOOU}E z1Umqf8o2Xw(&R6;-B4JZ5E63HA*Z^_UN7O~oMjzGK^)d>W#crjX zpk!~&F7&y$P`IxlaPT8%PE=Z{&O?fA3IE|o24f>0B9IjTDaS$21-uFS$Y7nBfA#U2 zgC04C_&BgOeVq=TEwa}A=}N8Y_oPey@5w#JRHyPBIN5h< z!%17|_o7)YcgYT?PdXKF(H>872UZ=RocVWK3zZ8zInpBm`p+op|4jdhuzB>ks|My* zE}RpSJ+1m>EQtTUdSC4-WyXoAr}1p6EwMTl*@OM}-Cn8v$calsmIoJfu&? zF)I}dFp19W_IT(-OOWZBcUJZ)?DH^rWh8AQC}xhqjn# zL@u&qMRTLaXgs&|;3Q0nQ0?!&HUp9nEv|3FkGpk_7ciE`6w`3LRE&uLDI=ph*ej!) z_Cq}efr(eP|83R!K-c{1J|@|AN8+=Mf6|LCMwW9cl_+-n|X2j>b*P10Xehq_>H}#FP8o zIyK7Y?8@cKi5c6lqOb zBqXCgQ1>J%drtQl6T8@XI;^R=H#md{O*ULC+DRG{0VaStT2i2UZ^7??I>}TSIrF~b z&93a&kx{n?IPHhoC5=j^+aN6LjbUcZd4uS#QT{qEc6GOQUxdvR^VH`p&&BTd1&KH7-}2XSZ@d5g(pFj1jk{TV2##2(a@v5b z-*%q1JNExOtc%@fm$^sp4LkKnH#lh)boo@4|TB za~LNz=+TN46%sN2C>5y@S{JFZHs47eI0Y_L-F$B)kfL|cJ;^nB0!9`kV>}IPIVC9> z1Nqb2#l_#ZPj3fwK)B!KXRqkt7b+zcG7JRTWhh-;(L@ka0q;bh+fy)^Hvw_rVDTH7 zG`YXhls$w5Ebh#InABwZy<0h&^y(*5=8-~U>%_Muk$}-HT`;f zA1!6BNkPFtW{HQ7hvT@nwW~2{C!mSmDSNR?mfu9s{%1K1gW}X9uOfk{y$(I>!IW(; zmGMm*70$?Jyv|&k=DBg9(z@Kt_-sk`VZEw0afOXDb0FJg>YXlim1bwjkrQX%3o@)& zQIXB@JasqVFi;02%O!g(s} zidXCFPdMM$5BU$rvSozd9-1PV$*ez*^3O+rDnGsUd+pjG-Py?aAvjjpZV{h-9g9vr z;wjJ=1_cHE#0)l!Bfm^I^f7Gxu3$|hoY^dJMeId2M#$DEP3M|Zl%cQ0eCT;d1)hNM zp*_=DuQ{A*-INwpVghddbF8k6LAw3Cm(N5IyAi2-Kzgw+Hpil78y`+$8F;xXLlQXk30MLP&P1&%`-x z|I5noJNr2WcVPi1`1i3+@=v-=R-3GPn5;FX``%vXRVyKGN7KIZl{OJ?@JAtvvKd)FOlYy76D?(b#!INLz#8N4f!~Q%iM?Yd ztwu8v?&~(+F6u+k2cI*hjEZUG=n7^SU%EQJJ-*=<@hBKc8l70Z{HS3|vzcKUqc-~Q-NN;>m%iE7_$c@2 zdvSZ}SNywJnWfauVTCJct#8?tmZip*pI|9xtcSRJz3P0QMt&xeIFDe?cW8o(x~_N& zyTYu-J|W|^eQhW_q4;k#^Xv&MST%dqsu;onX7TikL8S58Pa8wp1BST z>-mVGFpK=7#Q7=u!#2q+*J}>ROPV~fn_MmeP5EyGu9RRxpj%umFR!1Z2rDk=3uym# zB4~rO8WLxSLRz-R>hw5d{ek!{UigLY^+rMbf&X(l1k)G_eZyjuhtNDg8|spscG$_e zykU&Ld~dh)1sXjFF$vsBe$YY75ph5I8^XN&yM zb7kUBO+x+qKGJyBs~KN^9r0LHRqE#|5Uc~w2KTGxC!tZ6P}e4rCfU2Bt++y8$qG@f z8cTTIvo=q9?qPV4JviSyIWi_A=9DY;2sy{TTaSjfi8l+mcNBt02vBDBGImvNAQx27 zNx24Amk$06k5TAMdYLAcwMtNTTKAG>{aE#9&s`Cpu6IUd0;5TAr(Ys+XpM6`yrz}J zE-W)rQu>m!PdCn>%ijM>&*-SfkEJVCTzjDwa?{g#1)}8$z|`0G)wt~bd^)oH3@_e- zxzokPC2U;ZdDeb$Vza;J!Ic4S7!r1$YR>sv$4?@G=7SaoFQ`wT&;oV_qUmFg6A7me zKNJ1@6$JX@pA)hB-~tO%Z9{GTzbfzV3V)~!lNU=l3(-6YfO?~7R#v+uJ)ax745@zhspJ~_H+qyY_1{d4Rf%ep@6 zjPw~kgvljT`T(#gb%Tqw1d00~BcM_s@;732%m%*a4K*Dui}&8J3uO99TOylKcwIKI>oou^sd4O%l>B1w&}qU4|xI-1y_N@HdOm9#Dt8NkazvUA5?Z< z$XTHUaP%7)zHeZoHO@If;}O4i_h^w}@#6weQ&Fng@UV%Dz9S~M|I0pbH9Mic_UibNYB#^4D_YO?r5lXKd_G55VhEnsA!p7>v~i|~OiZ5Eg_oXEE3`zS z)ZdE?X`BhwXk6e@2!sqC97Og!+IF|`u)aJOA`vY#s&y4V{}KpN@xuYE-fUf$#h2rD z?&ffqtZk&88iI{iOG&8HDH9BV_=4K zhZ4!lHfK15wOK+^N+nNhUR{ozvUx@AYSeLOvg8V4ua3EYW}CKs|FH@14=HzE`MeKK z4)amzwY;INCmzsDY7Q@Po#q(wT2c5vYwQu~VBbVAN-4sx{ia&e%j`&AEX9gm6^8PD z4JD}h@}B0g-K(u^uxs9T>CAStha8)>GjW&+*~AU;Ew1Dl7<}z-7&p@o1t1}q+T2`` z3;kgUd$Hh2ry4KjOtu3pSBG!&arstUuB~uHJ;BjPt=(a~V49J0olbpUJ#{E7LW0Jp z2vqVab}674KMGkJ3JwqxD{UVS0Kon$2>R-=AJ_pAiiC{?rg>tlW^*b;FSad(tWj;L zk^l+72znt85BBJZaM=2ZIu78o=;23gLmv9Zj6XHt2_FA|_MGd`h#(ksDG5|vQBYyF z%V@yf`mM`7F<6Z>))sBX8TnT%WS`!Ra0XSKuZtXVf(~}Bh|X~!92z~59IdP*q<%={ zJUC~L+rhLYQ$w(_e2Z*&d@h8?=EEWP@2`eXFTvBK_29qU6gQ7r6I4CuSi&);PqB7$ zpG2>HH6$vFC{0=j5*khHCyg)9hB^;Uq>S$!SvKnFyB!eBT=s;uZ)0;WFOEY3M@xUi-KVwoo zc5H#?Mn0c$!C)U_u64sl@7{lS)o&Y@)`04qg{dp@bKWYCl#gPy7nmryY5@E%7*-oLQWGueCCi4 z{~I2Idw57wb;FPRy}!5T4>uQgxOK|KIyXu8Yz?5=Mil z$t;5Q@Y#0oSdiU@Gba7%2jh&Tu@2oGaAP8Ur+)Jse|_d%V_rO)T=l&;Im2s=RwHzwearLb8nuTUV)FzP2(LJ{QTPgg5-U}w&ng@ zf+aV1NNS?u*w$(BN$1;2oaTKsf^V1BH3gqruc+5ORM&A=R-R*gFU6-Ny9gJ#mAKwF zLv+3e73ylblX*ar`qN7qrIi;GMUL>|!?}#xH03OaYYpCzZ@}Mp;96Fp zMU1q8dRo0;oU@|pWX?}TgJ|-}9!AWUnP-=22vjf17?nX7$!bVA;6~RWFG}!S*Lm}Q z556w}WR8^Qy@*;Qq;AdDim!asi9Hgo;3K#wJ_YPl-0ee#GC}{?U0VHzY|OpHS~0g5 z?-4OnfZ;#>f#HX?Hrwe1IcMh42k=NDel?xJ01V+#tWj(!aC!>=@H@M%aG@Lyy(E!fw{$k@77 z+4>AnVSsH=;!dqa5|OsR{9kfOQ02d}uk^#zS&*#I+4x5zVeYG-9xRBw3!8~iTkG`K z%O{os>_hi?}YZ*7uwzwBRt<78Sm`yVU9pHu$@5#aO-?he}bdHBhto zNds@Y&eEh(>2`5tI$QL&91z0avlv)V8iGEG9kfh->3ZH}hseClQ55(<{?>n!;sW>S z!zpkD(ReZuo~;hX9)}4onfA7C*OMl?eF!yp!GguPDo1-eEsUEO7Ixh^)6c5nKM9@H zU<-HYS{GG0J|=JN!?bY9?TfRAOUzTce-s!bv_*x*ta!?nla*`MJ@oL)Y;+GhrFo%R}RlT?O-<kBUD?^i^y!UPm*nX5G$l@}?Dfeq z`ep#R9At1PsQo_&!lrk$Givv@UA|=zlD6;^2bj$zFcG-5xs|p)akX*0FDPBoU90Qb z#AUsJ{X5^LGgsSo1rb$M?|1=;bgV;S(`CV>+~0>T$M`cStv|mcFCsm0^6!ymVPaz5 z*#F9QquX~Ia=dD}%T}a3Nr!q4hMNv*gk$Jmobz>bN}F_=66D*EeGDfHXZ)#( z&-QQlDUW5W=l8NNuIaKj5{c!KGPv9>CYPX`pj?2CML$LO;G59|Q-+C!>2#3D4QAf}Pu}?ru#++$UU9!Quu)5K-s%6-Kp#fGd9HPn1$9bJt0xhzNMo8^}}jsOEy7e~UA8`WEqq{q54_29U`IrybIiA5%6thaRNq zH?b0{fqr{{+6zU{+s@NwwNYP^B(RA;N!J%rRp+vjEM)Pd<-Y20!Ag6}^Gw!6rkltds}zk?vq)pWz}Ee?8-2kS?YaLP@=Kh6V2imM!=o^yp-x8_2IL%9$ELsu9uUY*8&pt zTe;y%L`1~b>9YVLTD-SKA;}%ffN!UM?erz&>6%6m+3x6!u%W3oBrvjxOeZ1$js)Gw zzbK&#LJ|@S;TeGF8sQ|So>%)Y>*39?hde}3iSEDQ*vQ~tL#lLxnR7AnVUtD8dSW?( zlmw1H1RKJc0JhCM3iAE$A7v<4e>HDcuyrC2A2CH!Dt}^kd?0eHyR-9LroN1R>D>L{ z#f#8;m|!x|z>^J^Mc%CuUit{yde)B02{9B`(*FS z_@dzpN!oI^BVI%qyFxnF=HPwioj&^VPc+U6CQ^1Ek@;nvYmJSIcRVJuV!38j1EaO5 z!~}i9wES3s|GT9nB+?N%)jhkkk67CBcs^a3{-j%bMcKhJVJf@ptA{|Lh~FMnnD~{Z zo*ZWFj@X``oTv0(85uL=Cmip(jl~s5L8MlgBoP!PL69pwGnM7V`>6-$#&E=-PFmWa z+}yv_6NvXYfG1xz|Ld1j?k;xGseN{CmMx2Mw=O;3&n7G@?PT@+V=l)Fqr zVU1`HZw95}(Kf%oI!G3y*!5!Oue#}ny&vCBSZF|&n>w?m%acE*()yI|+hrU(q&NvO ziudg!(O0gDA{FX;+UgE8boV_@_?vlgC(8)hPnnz)vgI6~j5?XeDSdpCp36GUTTc#- zTP_lhQ+!Ss{E64kGbN{XXf3M#Lo-QIY~HeJvoMivu~=8kENV4&Nf>!)5VT>8vGdi0 zm)7t5du`<7Rj~1GXw)e246x34Ri(Rye#YjlKLdZxSf~5fdR~gem$u7@xxlxzyo}eC z5|@-JAe5jVWtNOFY8~Fr_SZMwa|jL)A(($&8+iWn$3ie%|GW`w1GWunvF7Vtou{ zFd;ZpIp>V>iPs||BfREQU%!4$gdLIhrE<<`V-K1LP%Zmjna+S845faKGl<)}4wGht1L& zJWbdDn*jkRbu@M)>~v`t>ff;=ndV zL1Kmo<#25&!UjJ-RbfFvKq!of!H){hzs;LF|NG}If79>o%%9s+q)1-a05!p##c;jZ z*H>NqG5PZNl0s+$*{1uuSWdHuke-|}X1!$f&DT)>Qr-#4?6cs;Rts=5NV}=54w7WY zbJn-QlvYB)^XY{J*G`ij&(EEEC)&a^c-&*F8fJ`@UpczXZf{~emFmK62Z z>fE&V2MEh+e_qp5P4R(RUB*rPsG1$Ygp7b)Va$u$c*v4M%+0UkU89B%7?Sf?56tCM*KS;wn{a>1| z{rFs9s~?|HnYu~1&u6|_XKc6Q6GLTg*@d=n6)(*_pEJe@egpZLreW3 zyEB1!TU=7I0Ioipt}i0a2mBmqWLblB278(dJ=@FLm9%hT%7zr{=y|J#R(@IX%chvV z8mL1-<9K^5{#CKJM?jZ&fHI;SczE~9Cq*2`zq47zMAuUC>bNKGP^P}{+>1vhiRKL)+sTWjK_g{0qk0?`axD&nIcePqM<=9nflce!L?vt-WDGZneeudB^Hz{1%~? z-^;%HzyiafIq{_LCGA{T>f*Fsg$To9hP%=UYg>MeJyoF@4(x*$PSeuuI$^>r3MoCs zIljY6hUa!bD<5l#tbkfB)FjZ&ZE_koNsDvYwly57WyHv@1_rMx3JJrR9HA16o!oYQ zMPI%*$~^wq;(_`X{z}5sh%gGyPD^??;flo|5NslZd-KvUi51X}CR#Pg4YKH$&|3SI z2YhdIZ$bSvNL{3>x-~-yqEPf9(66kcIQ$>&y=PccY4-M|zVEBE5u`gd`+6EA!0%Ip^#9@to_;H z+1Y#F>t5woEcU@tdHGoUf}1&S_1NJ4X7%t4NIjjFJ=m2M<)@JO|ywJ5IF)mgAeYVaYAGkE!zvREN)iFWOvI=A) zD*B@`0%tO!a!;jLk>weY!eHE>w~KgU6z`$FY}T*?gW_j2abK7`KNqVQp8FoJZ{uQC zG?E<-^9q&9%5m-t3RkMjV2{8I+Q~+de7s zJ|_W?w6mCnHct_dE(nd9n*o0|S9~Wk6WVM_KX6}&)sO7eGp|BjxBhWOt1zcXekwP! z>ffE5beXMt^O@}RQoHfQr5}p*BeDmL*8=uQFVdMte%3Kg6!>Oo5*W&K?f{ zpZ%}~bnh9B{ZiXg^aonEx7lM85`<`!v|{1c7zw~AGDgb!iYfKT2>IaHQpU*3 z7eG<>bt&v}^v?8d=n_;SKYYm$h)^buI?kX8PuVO}93zq(9XU_=AIuI3HJ>qG-a!(e1jboWk!~< z)@pC~5p46&>KnquzTn*T0EejPB9{T;l9fZ=6)#k=*%z|eU7bnSA|2;p!noC>TB z-NG#yKlpPVnuqT;?}s?nDafDltH6PcvFNMjW6lO&JhwmgEV%lyB#}2xKM6~I30?IO z#AGZS@rS&F(5-_GHm0nKNd^z+mZDr5yf@=%FcSdoScnbIn!Bz z`&w7N6+k>CPkjBIbk)tU>Lc~a7lLuMlcKW{*BoCPq6kUoT5h*T8{+~oY3sUEjCpr6 zy($=8bCo9XJ<*!xy$r=74|w+l!Gxpm59~3!0qP!Z?o!&4QmOXhp-iXCyHECI45Xp< zlo`AFwD5c`uO`g)&So2!I3IbH{)MAWmZ+42Wev3TN?-Mpo7%i%J}?#xE{M#gRk5Wp zd8;Q5@05PQ3k;+wGAkk%B1#?YW4VIrnM3G?H+8!(eY%OyrFH7uxxqW7G4@x|`Jgiu z9AgJwvO@WEBUlSIqo^j(%qFAj6@hT+U{I^Ilk%rk;v#6JVJ^T(PRz^O4@%a|ydOho|j;2?c?7W9MFji|X z%LYRx5+;I_`r0i`JVhri=B%8<#U;_2Yv^Cca*)Np8qZwQcU3l*Hiyg#bjvF|tIiy5 zmRWyiw%Q&!yCL2XnwM|oN0#0V7?^aO>o0r6`SQ=h&lr78EB_bJd25U-+QK%`I4KVb z${wz_eABWzE)^Sz;kz4f`AjI<>@6IejLCEBpSWPgJ;XI77#(;9U?q3W2SkXU)-Mx`z z|Ag;`Xk2^8L;uBZdi|#MuJ*BJd_zZ=8Wd5h{#Jf-(*DuZ6P*T?2rK8;tLzwOtQXcE zJ=Ce~6|(hPb3E}EUhF)5)sJz9V{Z9M+wCUSV`=yztJ%;WKs@Yu^t9&UUPpQYRI^5i z*%&4IABC1T9c99-%aD#}KPI$M8@&0?FneCII1RtwYmQ$F zO)v_syG=QdnWosCHg&ez+c?m^dHjtLopf^5X4~~OaV_A@>x5np603`+XL+B}9{?qn z|I@|$!ei(+G6bTa&H!=`u&B~NHWRpW2ag{8z@f8ARc{?;IUP-`C}cJ~ zJnA9G2_j652w=bipQ`V%1M~t-SWJtCu7i`hz|3$`?J71kZNs(S9IX66JCP{})FF7T zT{GE5BFUhP$i(C|;gjWWTyp;MeaI&#I_}VX28hQ^f6n&;WCM;yfU5-j8-bA1uC!bV zwkM~5;y5Q5#4dReJ(|rm`E`SxlJ%7OB!f$*wgvcwqBHT#`23;f5gtt&V4Yt{&nrp*3Cc%U*GCJyd=Z^$rVUmz`>7Q z2@MH3IiEYzrud-7vPcC^FJlap(p>Aal{6BJN!jVmRBx=J%_TZl@0tTtEEAM@cCVXf z^~oySHmP$v!DQ(@y}uX-^{7di-G}y#jeZc^pW3Ev#^!x^xk&?J`F-;CqE-M3+#VVU zNH@1`C@pKjXD*U-8BE8rw%%1t8q6PI0%DPioDC>^^m_pg12oNRgBYAM&I-E$A@Hga zM83SI7rvLN(=Y`YKZWl%CRq*Ks~D-k6zNOWqU%h*sLWx zt359Z0)hiDN`5nI6kHPw#&_?~S>uF%IE78eyUkmZt8$THYc=M$?um0;*EzoJeQwb? zTQXOoHE)WxyogDKxZd#oROC!&LRb2)+x!31!pC`hp+ou!3E*^W3HEN&U%%cT+$r6> z*;>JuO(vNNzJqY!N_<`8+T(Vj{Yp&DhkmLYeOV5B+C_S@c6y0S&Rk;6>f-SDA%i^@ zSWYq`zxX|}z&XPHLix}7JMDLBrOguVJ0HeSWJ}RKE|g{#D@rX#mt#Lq2IIVO&;^w`)o@C?740vChM9Lq ziUNCq*$_sK1Zr0e04G_8SpJ4+|))hckK3FrV0No&0-cDhRDU}Qv#di5r{PZ zDhISmbwFofDQ(3uOKvK?ylztz+)qkogB&b{0(0C(=E4Ti1>4z*^=)q4GHO}iPg6gi z_5G`Ox#92U?cW8y`>NYRf%UZ<8&1(z^4H?rSTF%!CRfro-Xs)JDtD5$$0!q-Ob9&` z>KdrYC$i;LzchNY8n;-XOO55ZhNZD4b&gn81J29K37@rIvEGHUk?$uqx7>|GHQ0r<=P1J2P?o4Az77+TfpF>`Nz_L!m2 zLQDkp@x7gbb|g=F)5eIKKQ>jgaHC8u-(B;wFy5#t1Yqh6*@vJwO#TLVoi# z@8JE*7eJ9f4+X+{}c_XcPm!blseF890ccLhHt-is?H=n)24Fp@nSpJOqQ zO?V=o_@aW!3OXTa6B{SYi@JyqoGOfIf>fXI$EY)g_ z3ts~jRW&s~n2Uo%B2g zcjd{CAj_iW)SEAo=3cDxeaxHr4e%=_inB&Paj&P+KXFVW@#;}HkZTN|hOGy{c@ZlD zpvCEmuCj{(KX<%9)pC53ih9@JP?ScuSH3!6b_}9jI~#I=!G}Bmo@iN)zM>v&l(Qo4-2E z@MYXIipwSc)0erV(wkQmQq2mL2(iN^JnG|)tH%<>S{UGgd$6~I-07vXR%J5xVfy9}@;2FO1 zk&&?3p>HIzo`+YFI5b@90R=tX`%?WUp~5kebaln+`&3_>XWh+jH@&CD#l1c1JkAp+ zOpX@#TlJ#-`**)uHi7@m& zUq(bk=%WEE%;mdqks*EsIe=y$9X0#GnBltVzB+P7C4vi3di9)MV+_q%AYQB0@g8sb z1Oq1ULSmS%ad}VeVOYn2t0u#Db0bTUnlmAOw)TM`dGF!<{%z`w12d6SF|J5kbyGh@ z;_@T>>cLA6txnA}bFSn+mqi`Zu2~&IZ}NyymRe-4oK&M?o?-%yy3CH`;!MNNu2=0Z z2w#0s-#)M?lQ2kcd(}03*o69r3rUx=+my^_=tw;NHS3J&hX7&0>&T0a8LRCt%$#3< z6$it6J%7)*3yG*beQU|iWK<1TfS4Da)_2OI7gl<6F?>xoap+gG14T)5Z?rQHA!e0R z2}1c6zEiy)ja^77!BfaJn@fSRd+q1fDy63ROhzp!6jFW3vg_jpYcL zHeBa$!LF5!s2`gMbFRkfmbI92AX>7X$}%)GWJpVc^Bpr2(4$TQ_xS%HA8!OOl)OQo z7ldk5H5ZoeWc1vJ7BhpZ9EmBs_KzXwTi1MTQTZRP3NCOQG8nz`cCRfVh7MNqj8?0>j={voin$*&MxGFH!FU)YU0y0Km)`)G2@+ zo2i^}6A;1>+22_giCbA%i1IJIeDq(XVg`cE(yCtg%9WBH#j&p`2Ll<25shIv4R;r4 zdwH7fS#Bl0di5#<2_y!FYv?amNN|7oKV9H}G3ej|>B9O)`mOx+?{jce8?f0kj7UMP zIJ=-GX1R9-j31)AC=ZJm>K`}n&(9UK}OZ4nGX zHZVlxF0{l5buz!ar8`e@0`ogKxiifX&i$nNG{8lw{>1osVTSY!3{LwJR^B8euxSA0 zTpL09Xq^vtVsfNH%1-7cE7OhNm3Lt{d2fuiu&r`}W62lqs^6__3$-}|L~ho4S+zEF zV+r!C2>PNca4Z*SkuH&KqruESSd>~Bp-0KQTDycmUDksLUw#|%uaF@bO|EHWJq4x*eqFi`vdDvi_ zEmr5u+Z3sP^rE?YX+hA(krp~+g?={jY+($V@?vVA-3`6=pZ*+1AG3B}7G3JQ{4hWBqn#)$FS zhAN4I>+lHt>;LOo*XNA9M7A54NYAB zFm$9-7U`C}oOEwfVQ9DTj+e;cgK0Gap0TaJt0%skwazi7TRv+Zt=B=Edqi)3funnA zQwxU^<&^Ya<=Sfx75l~Bw^iGWvySKaF|yGbZiKCK9RAYi9r3fwK9=KHF!+GVcEm}1 zpO@~(o+W`N_|sZ}57E(5B#PtJ#6WzWRjb3*W$TMgwHM#lu z`Kgyi#qz`EIr?E^xOpa4T_gpMQ$^=leHrP?TJUAIAy;jr2*$ zJy-^p5%hes3N1VyUp;+bQkI#qR{+yQ6YvAkyhp(`7|51I8>A%=LRuOr%R9irH8z*n zHo+EnRZCK(t(NjAzLv5%x;L^fr}~6UYtOuZ@|&0_u)0*jKG?&jHxinspu0v$I##0a z_?`x{P{PqRcKuk%o8d^myZrizYM*zH$E#09vn?6WqjV8v^PCC?+FU0Z3nS%l`O?ap zAmt=BU=_#TxA8rM)aPs+uXrnFMSWoU&7|7oU^cD3N7=$B;#m8qbE6)$jzJH%3iTT% zR^7I*S$W9(*gF4UZFtaq3@@Ag;A`X3`VaGaYg$Gt)JN8Gw1Om8i+-1z3D)6y;{*D$ z3$i+L9(u*H83V3_mtU-{9`?sa`0N-zV^e}^75*r9nav^A z0m%f7FfVtAXRtj(8`JFztC~y#$32ExttE3H)TA1bp{AAsU!Nykcc5T(s$S%84M;AX zjc5m!*UVfyu;<>gyTjyeX`tP3%MC^qfe~_!0Duq@6nsB6^nP4HuNug@lguCTRii}0sB`A)%ptP-pG6)D9$+ zpwABtFbsC`g#`t5K~fx~+dX>juu6|`buGUj;-}o@!iIvI!ij*j>w`pgbk+B17-)0^ zIfs=Fs0&-^t-d$KuT1JkIQZTUy(-chMfca^DLOCcmqUGPj*N}Kn9p0e)M;^CPa7J< z3_85)k6aCo;3(XtCl($N!`uM&!}!S>!Bujp^7j^w4GKyh<08Zy~SJ1`NFdzWv@$Ufzou=p9!7pdevJ!A=y#g-fs@x8ghxl|Q^*9=Olv zl3t;z>wqdz_}gEq8;3R|<2BUSQa;*n2N2xplf@<~^Z@EIYxK;BzldsJToi$50DHLw9OyeA7V|gB&`RDZj%$>M?jJ8*%1^R5a z6K;k|LDLHF4b_Abr>}DjRs`1>-m2JVab+VRsJYA_>u)W|){h?_gyB#>8a`33Jbt_E zzhC&<$saB5Ui6`q^_&-UrQd=jn;>aoKagvfTcoJ)7Xh@wy1{q?4>reFeN$$SH88l~ z!r-3_?r**s_#Txow#>D03mNf|_A|!j7fXio!BzI1iwftADY17Rn4pVunvvtf z5r&!M-&XCr16elK(az&>wss4CX*CKFsvcRRGb;%TLf_o(7ikpy+0HIT%CvU!I~2p6 zo;}1JyZG~>ESbgl`)B&2{>UPBY1Ph_r$mVwWncBkM^l-4w?F4P_kP^ey2i`wl=aIdsVgMHGop-=JRRY_@UHlW*`o{`6t?(=Q`%10G;0)oe_V z?=Se&Ch~m{5LF;02hV%?Ov;Ohh#0^df(ZU6ZFJ#L_Nz~U#NXD@p)fNk^0Nw=_1o); zz9xtBXT>M-GQ2b@4n--7H1$>h-#04|%=nY7vO@XNDv=0*b!T^y;_D)p%y#*!wC@!Y zpCpVQQ7y15cF=Bdxj;akxUZT^6v&D3Q;X;(OYJ1BEJ&0VvAKpI+p$)=rNwiJ#dFnr zA_8z8r**K`O+8A-nJtQn_0Q}lZL2^Q2 z>&F#<@E)(((-LON#$T_ptJrX>$v{TV6y;QB65J=zVe^DDV zQu#20Ux0ZM_4$Hr^B|`$Zh-jqUA{Xqr@Xf6&aq&naZ1XuT0-<{&kRw%PEJI0nEtAs{wb5=T=VxByRnnOw=4U7r(0RKTWipz z>fPKLy_biM-l3lqnecQNPxIQ+4vx-jT%$R=WUD-kP)5r@u431luPUjMfbR{7WlKI+ zn)%NMAK@CxGSfm&ZWhe??t}+_=obCv!Ev(__vu5T6rWGXlkmhGX_g{gh^f@w5wtxy zpzqB2Gw1$X{aLMqo5kAfYab1%Sfo}=#AbYZ@b;KHl?71U`33 zrX(<3OWSf*(N&A->;!{@LDdqmwmW&d~SO0PUtBkO(e--frqM3cGVH zW7BDDXm|>UTGI-rWN<8i&8PO=Qku*s6l!Q+InbN;%s;_RVBD^8EWtjIA=4+%Lr{1E z+Jx}T9!NA{uV`u6?6NlnoNLWOLX5T(+aDM1{IF>#C-tFnzhChZO!p6U|CQZ;(P&Nq zeTfhu)9xB>lim?wrqJ_A(b#XUW_0W055IuXnT5!obFB)TRMe7?$|jG{w_hi8@h^YW zAR^h=`dv24lto>#{M;*jhEybFwXEn`MA>}yE3*T)*QE(eO}WExdKNmcx^*ZLuI;{B7N0=E%J2-9bZ^xQOG##Y2tYp_ zC+jR=-4B8?h?Mh${OsIZx$I@Zar4}?2lI?@* z6DXyC7w~M*hc$`yGfMmT>guwEmAcl@)BDbujhSsVqFq_^sKA7emV3vjRxWbx&e~Qu zvZ+>OMdMTT?& z+#QaiF^+qd<(o$ZFMh5o9=o~vmh$A%+SoN%01~MPZ+l1KiBGko)K1)IUOZQ~8GJ1l z&C4S#I9Y>$yUzJ2rO+p0dI1&~WpjnU7Vx`^G1_|zPvBSrE*6GUjQ(e7 z*^x1Q9$NFrQrB7KGljwqv0w4QEf0&IcBkH48Z1Z*=T;P}a$cbji+RVPr<9dM#_A{DyYcca?O<>%=TFUVU5nsG9y-f{+&GX!i(U%0cpUxEc7d+n zx?=Xcab9A!F~pzFcgM*`VoIQXnSGytvsGrbE1gee@<_nan?x-x#|mOL3? zhh7j|J}IAB{*R z3UtET3yy*{t7W?OeVmvsRdIDKh8Ak{hYy*s_rm?(w&*Sd^&5aHXo(e}06b~? zEp~Cbr+3|V}f!7R{=A(zmA88NA=2=_GmyNtdBY6 zz!rKAjoR&UhU@y4TAN4cn=+oyj zTO6IqZw;IZPU*+ij7FtqR~S`~&QPkbPQUlbcC5YcwV<^0jPk4CzPW94iP#9_*?;Ld zR_wOTX5DW@Bt8;@ZO^dw<_U^d>u_<&QnSWTjuqXqv$8YfXURa;zEIxyG3iB3DBizE z^_?ye;hAdQ?a5R2i6I{;iu|Fw^w~E?ZbEu2TY!tyYTtBq^k8M3)0%m^$gM&g6 z61oux^3(3)B0nX4EEH2tY<#QT>bxHLar%2OjsVNtlZ^2P4t z6K%>&1Nb*Nz_O&Uc2h0qB~LaBH(~{wJ#JE9Bx+u%1EPyY9v)?ufuz|WMYR{4&Y!oo zH`~S4*WTm-6qnUKaZbdv^e&9JR(%z`W4jnyyQS2$O;nvX!DrO5f+TOXOX;ILc|K3g zRv0OPMg&yq&<`N(ZX~>a-y=pLuJ67_L1ReT=LJkv$+3`3gR9fvQ##m?9N5;r#K@=d ztE0xSs5KAFM!v1y1$wC@|9eO6Fiso*MNhM`4lUrghrD(skUC z0h{~Wh5`37v$%b$TYFMF&R=zlJ6mX$U22t?vy>+!np|ceE>F6ZF@LRp^;G^LwS}1D z$6rnETFK-ArZ-Ymh%z}R!0V);Pa$gb-y=*fQgOp;htXo30XeU%5Mz~rufjM!p)J=E zwk3aNBdbtD_zKIS;6a6t4IghC)5ZO(HPcp&XRYAcEY<%$5}^E*McuUwJZEp!AVvq4 zZcON#K51!G^0za#nY9*#?U!?RE>%q?w%nIaOA!9{a2u6SLmyB3Lfr6;kmHV#)L>Dd zyi=z8mJ*CthIo)%Jx8?bx<4VDHEir{EYLofv$TLT^0B47T=Be8A+HbGm&S%ihA(yf za{RS=D(sDFJ3{2j2-b$eCCgbjLtQ*mI1}X;T|V!v7@+84;H~b1L+#9d-%E53KPa~} zmQnSe%s9=4yVp?0!lRlVi|t;!>0@a4VY#|;yVtXTLS4!$VnhXK7bje?2~ST?5XVnB zFZO0aOVGf<{Y#%7$#gq(V1_b9%n`x@D0>q8DJM=KAONc)J@QTyDVsnOlj zT-RT$f-wH>qj>#MRD8;zIVhF!9=Y7UAJ`mtGGDg@ofL_*o*=~7-|9Y6)SE;1?zVC3 z{B(PT)^KoqS+6ON_FR|`xz&|tblo?5_>hG-W?PTiMc<7`@tHdhLl5z(xzj;S@dxO? zCFduK5Janqzo2QxD0XX=kCWSf{OE_Q<}F=-m-pPw=&WPT;E>Mnr7v=k0=Z%^HUy=_ z$Z;oQFq?zLl?8x$HafATwN)Yz<>*+T>-7_oC#Z*;>dYRsyt`=n#hOv<_RK-r{2?ZW zO}Yf8!)1VNIm61z9`I{Y*@x5YbKNFQVWJrZ#;Iq7jn3geDXnTdr_iEmXgLB>762dV zvi?}m(@UuMgzEfFvVci~!_`DrjL+7#G2nF=L|d^QYlcq2aNC%nH5;NXqc{u zjwexL&6|*NQ#2gTFVW0+U<52P?jEI!{)rTA883&eV8&;)Aah6?OnElOK98<8xwa_i zrqXYxfTJ2@&%V79ZCcI5PS3DVj@sBGMwR5;9Gbi zo&qjH*$>L;4{>qXFv@@k%Z4oiJJE`9&%`>?9D8dX6$A&RJ9E6~z>2)Y!^4wmAu8>) zW)4&R&UtyCipD;th^Fw0&!4;Fvb*W76=QCpCpr(*aKYB+xI2BF@k-9?Mlj(-41Jd# zGS2`7>Ua%)cwQ!_b2O6*DLT|IF|F2i8~6*VM_9!S+}yrs@auowYQ%aHfEZf}lnD=@ zTuxD+HoQK8SQQi#8w7YrbaHaR=BAq_8Zj<#d8b*CmIg3zG)+TGYY+xy0c6C*i#LJe z(f9cQFe&5x%bg40>)XS&tjx3`+YG(|jMi%x$#)?w`0Z3B^hLoFCybz-4Na>wP!4Rj zmL%04^ECsZ-7f1y;utc*6}i7Jq^k$P4EbWp5u!HRmx;vD;DCo zmsNM5!;&`|?)L)oD#?Wz(}$oW+En(5AED?yGUo#VVa{k>Ur6(_wb2OZ3Xarx74d7Q zjD5QNXav(|UDNWZP@$TwUCmOw2Z;*QV$MCb^gJizvdUAnw&>J7L!!eK zmsXXBZpTSa_AjhI`bUL>y9L%-pouQD zJRx$l?&;@hcdrku?>~wg579sH{9_@nnk5ug7xFi!h!papP*^`avv~~4+mHB61 z7#0JPP72MYRaw2)Xt74MzxAX1+iC^XD254;4wlw9RLFU(ef)c^@GG&1W!I4IOR~C2 zLH+*uKEb!kAfBhAtyW&&BP)T6BqQ=TZq3{`3q~l?l&0Zan%vG99}8{uX2!m^^bMx~ z=RBJC5O-Kzf~0duuamoGlFxeL3$j-Sb}zXGx;2anb5EB9nqc)lr#kA}sG_t@?kjVt z+ZMh%DUCDrovQ$CbHF~f6 zz8W85=CNdbpR|_*?J*}=POW5_pVD@i94d?E`P_TzPXr}}^pJtl0t*MXTag0x+eOOk zR8%GZI{*E}IXz72ugugUanZ*m!;Do7iH$K}(it}Z?CK!WnJ;ZWm<^@-(W6IU{p+ZO z*h|%pA*~_P80ha`n7TRCvI7>53hQ6@=H?-jaUfXy*xLG%q-3wnq?`6n1*frVGo!&J zPda+V12>L9Z%>`Eh_#a4@FcK@C;-w0gikf~7!lpTz&bWIwzsnsBF=dmPX`mAf!3&w z;MTAz!2h|EW@FnOuG&M28}jCj1c44noh3k)TvaaCPLaO{>I!OVZUKGwp?3p`RvhH6 z+hEtq*4$?*@Fm3{pv}9LL$I%hEk3+b`K;d+6fInCm+HiGLs0@*z;+4T_K$#K=@cpd?%z7$l|=&5t5ewBnP zmM11xj8+sftmRIaD1R1v{9KEMeXQr6|B&@#wS57za}95D9Qp4WN8P3MU22FgUN>ig zD3`4spIYsDCG*nIT^p5Hgr0^<{4sygzSc*PNg=*e*E^W4w+1LR55XBjnYHk<&XZ@G zX$E38^IVdg3YTmQ-acfd>CKHl!_R6@)R}t3nlB%&(dII~t@-k|d&_xFVdTIukDWf= zcrA_(yqs3+F>D9SMFx`f;P*+ooWEBRvRfh!8z}DD2}+uN%8(8Tr0rSkcO3|e=fBg~ z(sM;Mk)J$8_t|F}PT|{cF*eDjczJAENJIq7 z4)v@T#=1-U^2B@=d;(Ow2?~CmH(bU>sKE~b!UxaFVUlm4tNXzG$kjwm&l(HZ5oj#$ zZ&e0@l$fE8PAasyXRfVy*1)0f4L4pR?7NOlsbiD({!CZ;19D$G2=0*|>APKYDcU6m z(a^?+{$};aQ;iRcccSIrL_`b$bj!co;aum(aMb(B6Av+n3dT0VH0q;bDi**UV4i~A_sX~2iIjtt=Cqij-l;UWrw%Fl>m+7g(+Y&hfQ z-x9m3=2Mop;wWo1U6qLBHRnd}&O{m95OY`ADv9%3TfVoHM=ju753=o+8K}b!rF~(^ zM*$r7BD!4Hzo*WcN>jHwwzF%h#KpJc4goQTgK*c4wb49XDL3 z;_U2iCR_1)K^#j7J!Wu~D_R{&8$N3Qj#J<4}SOHkU6?qzi*``aZIwV7qI#$Z!1*NM6GDcVwRMrb*z z)`^Ia|Mt`2` z-Nw&#Y<0Yx8{tMD7gtXjB6YYYPc8*KdqDq2WiHEeFkW9?4IIMHp{OEN$Tt)1DDkP? zIs$PhLEchZbYpG=SAt6PqgzR1QMi*LDJLa0RTpBWkgGmKl$oOT$f_r!=;RLAeh*v5 zMjb$R=C=Ze%Iu9FC3ig0uW%Y?Bs(z_?e*Fx9c-|q7BeCck>97+eRe@vR0=waPgLI5 zZ8WhnZX^IVfcsu{%Uxs9dC+^y1>ZdA=MsFVbU^SJn3!bOtX1cA?7=G#$1;qq0t|tz zn|a_E$I}%Qq*10|!gpe!vAG$>ysDs|agD2s5{W{WGTWH5%K9dYJ$@K1wK&#yuu)-D z_PV>l?b%~@>ae=S>HFFsX)qJ6Rwb*pBQ+3@AO23ctsi+hwtJV5TwCt^qGj`8P8xJF z#3WJomJoAayCgYdG>w9>9mcnP-u%vv%`lG4n=GLI(KhUElESxDE)%wTnmwz9#mX?a z+1Vp_v~VjMX|9;Em2+@NM(FKKDS_o@1+T0eF_JM$tl7Rw{%*UP^*T2>WcPm5LvCtB zP|!GpJQJ00jvnBlz%Z1%jD%!At~Da{g@egu&O1Vc$R&G}Y5K>N!~V;21-{muJbThM zSjHI{8@|clgOiv?SRtaF=A9h5%67)Wbj1n9t~?RQEzi^2wM3YV`{c+s%EoCyRl4dk zVI5ZIx_xgnFjZ7Oqp8EHw&-WDbF|ihz`Ub2;Tg?0lH*AE903kX>-9>o+eL^9RqVY` z>o3654#2S>Lhr@$7uIf?lHONC!oy-z`5&G9UZNR%Zpe5xqMyUoZ6BG%FxaGsfPPt9 zL@(LkubwB%`gcnUiXJz5Xg--B5ny&o$8^7q(fGhUIfOk1J||>1|L*&j?FZZTNQHdn zU}9pj33GZ=_~t=-MGX4Gg9o68$roikX{UI76upp;z3#9|cM34)6Khj%A9ehr8yDF_ zE3k2;@Mw(aRx5>{jZR|<)JU>8nfdylm*aZLvYDt&Ms@UtTnsTSyihhj>U`+zO8iI0 zi8nQl%BQtaq-Oz{~shN@}D0vF&&TD`|p2mm>m0`AO7>r z7*8&&ocQnW>$(2#{c*h!RPXe^{{4Or{&UALo*gFy>O3GZN;@#NR3I;8(DH83|9#ol z^II@3sv*3@%d$tW~Le^m)%-L z<6t5e0#8TX*I?x^9#fRw+|TkL%g9KV?d)=4at*l%{Dc1hQNIkDk@VowpWsJi2yn{8 zj!yvmrVl*81&=6#i=i$sgv9E09?}i}^KMM*FIe47oXSk`!HT;#p@;;LJ_aNJZa7A- z2lm@M$dVXo1^xRiJsq73s?{J*M>T#%v(*FJT_*s+D_8z|&m2^3c|dZk7zdovUogpl zavFd=?8|L!ZBjs@fts^-ULwsGa(F{CvplF!kDixoKzaPkK(Rq9)1yyQ#ugN9VCtWV z`uEsM@4_4IXEndzGthYqMAt%K0$&DH4Sp4xk+JbIV@ASj;Wh3-%NzXxGeW?hDr+Kf z=qCQiBrrwL4j_Q^ix4oFP*>0aFuyR0WLyrI4?c=Vk)m}*PpQ#?Cd4j1E}#*2pF;_R zXQJ@4W^T190bn1~`lLiP5)!_>;TPj#Rwk|B%l1Tsm7ze8@5|`w7ZVXRsOM)Q6bonD zV}m>X&i?n1O$B~`9y_H~Xoa0X8I~xAvGDpF9zgmNtaH z$t^520^Qsv9SO5raXOVh&9Gu^Z3-p=3q6uchZwmtG^d9ht^%r131q!fZy)*3*9uC#b+{em zF{rFBe8*xVj zMV#{hAplJzEl{7|%<-6r8^|+OU+d|!xn*i<+I@d;^bV^9Z9Vi$bO>1Hv#iHkQgW4^1r*Rk*YVvm29>l2))j44vlsc{(UOscC9TlO_8J z-bXS~fW2A3wmdb{(0E&%&o~mo80s^@kJ07aoNdSN%tY9O!3W&rjM-eSVcxFHzk%)e z9NY-ATs^|XOAEMqAc$O2WlZYmLaMzmRNQ5i76$p}t@$oS3sP77I*c4arv#QXe$qVB zKu<6I`Sa(gii~WHK6lYp(@#EO89gW$)tu)!LWd~_pDN(aFUK(ALY$5?504V84wz2} zUAol0voZ4_Ioa{;HuHbZ3sc0q@0-cjz0@KLF$7b7jZ0==f9juF^7ax*ZEzM*uxKUWnr z18DZqNHxk?Dfrk2UdQq30TWL^TnfUvg8&It7N9MA7zY#^JCxq5`0oML>qD@D`E1ym zi;x8CK1x?}{uZOE_rIgoyS7SD&$=7g6wbMfRjcvBLGW^G`fqf;@krwZ$}Jv=Ge%Ryo&O2mfE9i8+Y^wd z53VMKfMRX=AdUEMU*DE{-K>Wt+MLr6YVhyy_Uy3AF9oY$KD{rm1(;vR;b?ilq# zQ62PwrOLMk6A1hIOz7SOoFESVBm;s_MgUy+1c^tly0VvJz$@^g(yOPfk$iAVA|h1p z-t7)KBkbSlafw1SzcMlEQxO33ivqDcy?gg^pk5%0ANbEjIsU|#z{QI+w#Oy$1S<(^ zZvY8z8R`x_a5@7SF*xZ1P@sTRtsz`hm{XDA&ZlzoLjx6ng3vxv%QGsFte=iqfU*-% zF8%Og3~4SAvCJ5YFraR7(0?5O0}7}%82cnhX!ipg*T0+-?8JTXOPO#mY>wd(5wYV= zLyS5aR%wtY1n(Sp@A)KTIQZv0l)s8VSVA!`p{#BNbe!txSL}=rnkfc`1_M70@*g=2 z5`cY?Sb?qf-3Tt(ih#S+=atvUyhPS)8#!qu<{bIY5sr932a}u z{6ERWZZ>SUdHMo*kt*gNEiu(FWT>fkgMisCM#(9pDP{~{=1I}k|MOjUFWr-Cf`Kho zIgDH-RCR|tI9?83Fb*_M`f ziHH6@#IGy~vXY?c%L!*JV`0GrzdUIbn`I7`Z`BZ#)qrpFq=e*dGSS_AA^7{nF6=5H zd1PyLXoTLeXJC*ETo5pH+`n(dG{r0`B&1hdEb+xtQ)jXvMNN$@bz$Mso!ht1-K-jR b7^E{R&u+Xctq~|@{DtZrt=omS?mz!uxyqBT literal 0 HcmV?d00001 diff --git a/docs/console/midi-console.md b/docs/console/midi-console.md new file mode 100644 index 00000000..47c706a2 --- /dev/null +++ b/docs/console/midi-console.md @@ -0,0 +1,39 @@ +--- +layout: page +title: MIDI Console +parent: Windows Midi Services +--- + +# Windows MIDI Services Console + +If you have the midi console installed, you can invoke it from any command prompt using `midi`. We recommend using [Windows Terminal](https://aka.ms/terminal) for the best experience. + +## General Information + +### Commands vs Options + +MIDI Console commands are words with no symbol prefix. For example `endpoint` or `send-message-file`. Options are prefixed with two dashes if you use the full word, or a single dash if you use the single-letter abbreviation. For example `--help` or `-h`. There is no statement completion built in to the console, but there are some supported abbreviations for commands. These are not yet fully documented but are present in the Program.cs in the console source code. + +### "Ports" vs "Streams" + +In MIDI 1.0, specifically USB MIDI 1.0, a connected device would have a single input and single output stream. Inside that stream are packets of data with virtual cable numbers. Those numbers (16 total at most) identify the "port" the data is going to. Operating systems would then translate those into input and output ports. Those cable numbers were hidden from users. + +MIDI 2.0 does not have a concept of a port. Instead, you always work with the stream itself. The group number, which is in the MIDI message now, is the moral equivalent of that cable number. + +So where you may have seen a device with 5 input and 5 output ports in the past, you will now see a **single bidirectional UMP Endpoint stream** with 5 input groups and 5 output groups. We know this can take some getting used to, but it enables us to use MIDI 1.0 devices as though they are MIDI 2.0 devices, and provide a unified API. + +## See the Current Timestamp and Frequency + +If you want to see the MIDI clock we're using for timestamps and message scheduling, you can use the `time` command. It will display the current timestamp in ticks, and the number of ticks per second (the resolution) + +``` +midi time +midi clock +``` +![MIDI Clock Command](./midi-clock.png) + +## Technical Information + +The Windows MIDI Services Console app has been developed using C#, .NET 8, the MIT-licensed open source [Spectre.Console](https://spectreconsole.net/) library, and the Microsoft-developed open source [C#/WinRT](https://learn.microsoft.com/windows/apps/develop/platform/csharp-winrt/) toolkit. + +The console uses the same Windows MIDI Services WinRT APIs available to other desktop applications. Its full source code is available [on our Github repo](https://aka.ms/midirepo). Pull-requests, feature requests, and bug reports welcome. The project is open source, but we request that instead of forking it to create your own version, you consider contributing to the project. diff --git a/docs/data-translation.md b/docs/data-translation.md index 1db20dc3..e124f9d2 100644 --- a/docs/data-translation.md +++ b/docs/data-translation.md @@ -27,8 +27,10 @@ Windows MIDI Services supports MIDI 1.0 and MIDI 2.0 devices. Currently, Windows MIDI Services does not translate messages based on negotiated protocol or Function Block declared protocol. Instead, for native UMP endpoints, applications should send the correct protocol messages (message type 2 for MIDI 1.0-compatible and message type 4 for MIDI 2.0-compatible messages) based upon the information provided by the `EndpointDeviceInformation` [and related enumeration types](developer-docs\Windows.Devices.Midi2\enumeration\README.md). In addition, for native bytestream endpoints, applications should send the appropriate MIDI 1.0 messages in UMP. +If a MIDI 1.0 device is connected to the new MIDI 2.0 Class Driver, Windows MIDI Services *will* downscale Message Type 4 to Message Type 2 before sending to the driver. This is because the driver, when working with a MIDI 1.0 device, only handles UMP messages which can be directly translated to MIDI 1.0 data format. + ## Resources for translation Windows MIDI Services makes use of publicly-available open source libraries for protocol and data format translation. -* [midi2.dev](https://midi2.dev) contains a number of libraries which include translation. \ No newline at end of file +* [midi2.dev](https://midi2.dev) contains a number of libraries which include translation. diff --git a/docs/developer-docs/consuming-midi-api.md b/docs/developer-docs/consuming-midi-api.md index 8c9f04d1..191de98b 100644 --- a/docs/developer-docs/consuming-midi-api.md +++ b/docs/developer-docs/consuming-midi-api.md @@ -19,11 +19,11 @@ To use the API, your application language and tools must be able to work with Wi * C++ 17 (C++ 20 may work, C++ 14 will not) * The NuGet package(s) from the release -Note that there are somewhat hacky ways to get traditional C to work with the COM interfaces, but it is a ton of work for you, and is not a scenario we support. If you find yourself in that situation, I recommend factoring out the MIDI code into its own lib and encapsulating all the C++ calls in there. +There are somewhat hacky ways to get traditional C to work with the COM interfaces, but it is a ton of work for you, and is not a scenario we support. If you find yourself in that situation, I recommend factoring out the MIDI code into its own lib and encapsulating all the C++ calls in there. > NOTE: In the period of time before Windows MIDI Services ships in Windows, you will also need to run the latest Windows 11 Insider Canary build of Windows in order to be able to use the USB MIDI 2.0 driver. [Click here to learn more and join the Windows Insider Program](https://www.microsoft.com/windowsinsider/). -> CPU Architecture: The public GitHub releases currently support Intel/AMD x64 only. Our internal builds and in-box release support x64 as well as Arm64. There is no planned support for Arm(32) or x86. We only support 64 bit applications. +> CPU Architecture: There is no planned support for Arm(32) or x86. We only support 64 bit applications. ## Consuming from C++ with Visual Studio @@ -33,7 +33,7 @@ In your project, set your target and minimum SDK versions to 10.0.20348.0 Download the NuGet package for the Core SDK -* Until this is published on NuGet.org, you'll need to set up a local package repository. This is easy to do inside the NuGet Package Manager in Visual Studio. You simply point to a folder. The structure I use in the local clone of the repo is a subfolder of the release folder for all NuGet packages. Specifically `D:\peteb\Documents\GitHub\microsoft\midi\build\release\NuGet\` +* Until this is in the in-box SDK, you'll need to set up a local NuGet package repository. This is easy to do inside the NuGet Package Manager in Visual Studio -- you simply point to a folder. The structure I use in the local clone of the repo is a subfolder of the release folder for all NuGet packages. Specifically `G:\GitHub\microsoft\midi\build\release\NuGet\` on my Dev Drive. If needed, modify the project file as required (info in the C++/WinRT docs, and you can also look at the sample application code). If you are not using Visual Studio as your toolchain for your project, you may want to pull out the MIDI code into a library in your project which does. It's not strictly required, but it's much easier to use C++/WinRT. (If you do not want to do this, you'll need to manually set up the cppwinrt tools as part of your build process to generate the required `Windows.Devices.Midi2.h` projection header. After that, you can develop using your normal flow.). @@ -43,7 +43,7 @@ After that, you reference the types as you would anything else in C++. Only the > When in doubt, REbuild your project. C++/WinRT does a lot of code generation for the projections. -* [C++ Windows MIDI Services Example Code](https://github.com/microsoft/MIDI/tree/main/get-started/midi-developers/app-developers/samples/cpp-winrt) +* [C++ Windows MIDI Services Example Code](https://github.com/microsoft/MIDI/tree/main/samples/cpp-winrt) * [Introduction to C++/WinRT](https://learn.microsoft.com/windows/uwp/cpp-and-winrt-apis/) * [C++/WinRT on GitHub](https://github.com/microsoft/cppwinrt) * [C++/WinRT FAQ](https://learn.microsoft.com/windows/uwp/cpp-and-winrt-apis/faq) @@ -59,7 +59,7 @@ The package contains the .NET (C#) projection for .NET 7 and .NET 8. You will st **Note that other .NET languages (like Visual Basic) may work, but have not been tested.** -* [C# Windows MIDI Services Example Code](https://github.com/microsoft/MIDI/tree/main/get-started/midi-developers/app-developers/samples/csharp-net) +* [C# Windows MIDI Services Example Code](https://github.com/microsoft/MIDI/tree/main/samples/csharp-net) * [C#/WinRT on GitHub](https://github.com/microsoft/cswinrt) ## Consuming from C# UWP @@ -68,7 +68,7 @@ Support for this is not yet in place. We are evaluating the need for UWP support ## Consuming from Rust / RS WinRT -We will provide more information in the future. However, you will follow a similar approach to C++ using windows-rs instead of C++/WinRT. Note that the Rust WinRT tools are newer and are still in active development. Supporting non-Windows SDK winmd files is or will be supported, but is not intuitive at the moment. **There is no existing crate for Windows MIDI Services right now.** +You will follow a similar approach to C++ using windows-rs instead of C++/WinRT. Note that the Rust WinRT tools are newer and are still in active development. Supporting non-Windows SDK winmd files is or will be supported, but is not intuitive at the moment. **There is no existing crate for Windows MIDI Services right now.** * [Getting Started with windows-rs](https://kennykerr.ca/rust-getting-started/) * [Rust for Windows and the windows crate](https://learn.microsoft.com/windows/dev-environment/rust/rust-for-windows) @@ -78,9 +78,9 @@ We will provide more information in the future. However, you will follow a simil ## Consuming from C++ without Visual Studio (using cmake or other tools) -The C++/WinRT tool `cppwinrt.exe` will generate a standard C++ 17 header file `Windows.Devices.Midi2.h` which you can pull in and include in your project. The header file projections for WinRT types outside of Windows::Devices::Midi2 are included with the Windows SDK. When we ship Windows MIDI Services in-box in Windows, this API will be projected in the same way as all the others in the Windows SDK. +The C++/WinRT tool `cppwinrt.exe` will generate a set of standard C++ header files including `Windows.Devices.Midi2.h` which you can pull in and include in your project. The header file projections for WinRT types outside of `Windows::Devices::Midi2` are generated from the Windows SDK and included in a subfolder. When we ship Windows MIDI Services in-box in Windows, this new MIDI API will be projected in the same way as all the others in the Windows SDK. -First, install the Windows SDK. You can get the SDK from the [Windows Dev Center](https://developer.microsoft.com/windows/downloads/windows-sdk/) +First, install the latest Windows SDK. You can get the SDK from the [Windows Dev Center](https://developer.microsoft.com/windows/downloads/windows-sdk/) The SDK install includes the `cppwinrt.exe` tool. For the 10.0.22621.0 version of the SDK, it is found here on my PC: `C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64` and @@ -93,6 +93,8 @@ Normally, all SDK header files, on my PC with the 10.0.22621.0 version of the SD The tool produces the header files from from the .winmd file. This file can be found with the developer release of Windows MIDI Services either as a separate download in the release, or by opening the NuGet package (it's just a zip file) and pulling it from there. The `.winmd` file is just metadata about the implementation dll. +> NOTE: The Windows SDK Includes a version of cppwinrt.exe, but it is older. To generate compatible projections with the latest bug fixes, you want the version that is included in the C++/WinRT NuGet package. + ``` C:\demos\cppwinrt>dir Volume in drive C has no label. @@ -108,7 +110,7 @@ C:\demos\cppwinrt>dir C:\demos\cppwinrt> -C:\demos\cppwinrt>set cppwinrt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\cppwinrt.exe" +C:\demos\cppwinrt>set cppwinrt="path_to_downloaded_nuget_cppwinrt_exe\cppwinrt.exe" C:\demos\cppwinrt>%cppwinrt% -input Windows.Devices.Midi2.winmd -reference 10.0.20348.0+ -output .\projection @@ -154,11 +156,11 @@ C:\demos\cppwinrt>dir /s C:\demos\cppwinrt> ``` -The minimum SDK to build against is `10.0.20348.0`, to support Windows 10. If you get a ["Mismatched C++/WinRT headers" message](https://github.com/microsoft/cppwinrt/pull/683), you can change the version in the command line to be the version of the SDK you downloaded. Typically, that is not necessary as long as you use the version of cppwinrt.exe from the same SDK root location where you reference the SDK headers from. +The minimum SDK to build against is `10.0.20348.0`, to support Windows 10. If you get a ["Mismatched C++/WinRT headers" message](https://github.com/microsoft/cppwinrt/pull/683), double-check that you are using the `cppwinrt.exe` from the nuget package and you have the latest SDK installed. ### Using the Projection -Once you have the header file referenced, you can use the same sample code used in the C++/WinRT examples. Note that the generated projection header takes care of referencing dependencies from the generated files and from the SDK. You will need to ensure that referenced tree of files is part of your build process by having the correct include path for the generated files and the SDK headers. **NOTE: don't use my example below. That is subject to change. Use what is actually generated.** +Once you have the header file referenced, you can use the same sample code used in the C++/WinRT examples. Note that the generated projection header takes care of referencing dependencies from the generated files and from the SDK. You will need to ensure that referenced tree of files is part of your build process by having the correct include path for the generated files and the SDK headers. **NOTE: don't use my example below. That is subject to change. Use what is actually generated by the version of cppwinrt.exe from the NuGet package.** ```cpp // WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.220110.5 @@ -179,8 +181,6 @@ static_assert(winrt::check_version(CPPWINRT_VERSION, "2.0.220110.5"), "Mismatche ... ``` -> Note: As of the time of this writing, the generated projections are compatible with C++/17. [They are not compatible with C++/20]https://github.com/microsoft/cppwinrt/issues/1322(). This issue is out of the control of the MIDI project. - ### GCC Support We haven't tried it ourselves, but C++/WinRT does appear to be compatible with GCC. See this [pull request from 2022](https://github.com/microsoft/cppwinrt/pull/1245). @@ -204,9 +204,9 @@ function createWindow () { // Enumerate endpoints const endpoints = midi2.MidiEndpointDeviceInformation.findAll( midi2.MidiEndpointDeviceInformationSortOrder.name, - midi2.MidiEndpointDeviceInformationFilter.includeDiagnosticLoopback + - midi2.MidiEndpointDeviceInformationFilter.includeClientUmpNative + - midi2.MidiEndpointDeviceInformationFilter.includeClientByteStreamNative); + midi2.MidiEndpointDeviceInformationFilters.includeDiagnosticLoopback + + midi2.MidiEndpointDeviceInformationFilters.includeClientUmpNative + + midi2.MidiEndpointDeviceInformationFilters.includeClientByteStreamNative); console.log(endpoints); @@ -240,7 +240,7 @@ function createWindow () { // send messages out to that endpoint for (var j = 0; j < 1000; j++) { - sendConnection.sendMessageWords(midi2.MidiClock.now, 0x48675309, 0xDEADBEEF); + sendConnection.sendSingleMessageWords(midi2.MidiClock.now, 0x48675309, 0xDEADBEEF); } session.close(); @@ -249,7 +249,7 @@ function createWindow () { You can see it's very similar to the code for other languages like C# and C++. -Here's what the output looked like in the initial test. I also had a midi.exe console running and all 1000 messages were received. +Here's what the output looked like in the initial test. I also had a `midi.exe` console running and all 1000 messages were received. ``` C:\demos\node-midi\electron-midi>npm start @@ -296,4 +296,4 @@ We are investigating. ## Python -Once the API is in the Windows SDK, tools like [PyWinRT](https://github.com/pywinrt/pywinrt) can be used to create projections. \ No newline at end of file +Once the API is in the Windows SDK, tools like [PyWinRT](https://github.com/pywinrt/pywinrt) can be used to create projections. diff --git a/docs/developer-docs/internal-interfaces.md b/docs/developer-docs/internal-interfaces.md index 33555c5b..a15f56b8 100644 --- a/docs/developer-docs/internal-interfaces.md +++ b/docs/developer-docs/internal-interfaces.md @@ -7,10 +7,12 @@ has_children: false # Internal Interfaces -There are a number of interfaces which are internal to Windows MIDI Services and are not part of the public API contract. But because this is an open source project, you can of course see them in the source code. +There are a number of interfaces which are internal/private to Windows MIDI Services and are not part of the public API contract. But because this is an open source project, you can of course see them in the source code and even cocreate them on Windows. -These interfaces shall not be used by any non-Microsoft-authored applications. In addition to not providing all the functionality expected, it's possible they will change from revision to revision. Examples include, but are not limited to, `IMidiBiDi`, `IMidiAbstraction`, `IMidiCallback` `IMidiIn`, `IMidiOut`, `IMidiEndpointManager`, `IMidiTransform`, `IMidiDataTransform`, `IMidiAbstractionConfigurationManager`, `IMidiSessionTracker` and others. +**These COM interfaces shall not be used by any non-Microsoft-authored applications.** In addition to not providing all the functionality expected by your users, it's likely they will change from revision to revision as we add features. Examples include, but are not limited to, `IMidiBiDi`, `IMidiAbstraction`, `IMidiCallback` `IMidiIn`, `IMidiOut`, `IMidiEndpointManager`, `IMidiTransform`, `IMidiDataTransform`, `IMidiAbstractionConfigurationManager`, `IMidiSessionTracker` and others. Some of those interfaces may be used if you create various types of service plugins executing within the service process. That use is allowed within the defined plugin framework. See the sample MIDI Abstraction and MIDI Transforms for examples. -For client applications, regardless of type, the only supported way to communicate with the Windows Service, plugins, and drivers, are in the WinRT `Windows.Devices.Midi2` namespace. Use of the internal interfaces is not permitted. +For client applications, regardless of type, the only supported way to communicate with the Windows Service, plugins, and drivers, are the WinRT types in the WinRT `Windows.Devices.Midi2` namespace. Use of the internal COM interfaces is not permitted. + +> If you find that you need to use these private interfaces for something, talk to us so we can see if there's a supported way to accomplish what you want to do. We want to optimize for the end-user experience, and taking dependencies on unsupported interface contracts will not help accomplish that.