From dc8b6cc66ec7b965aaa6617b125b6fb3d9e1703f Mon Sep 17 00:00:00 2001 From: pstruebi Date: Tue, 4 Mar 2025 10:21:53 +0100 Subject: [PATCH] feature/precode (#2) - Implent support to play precoded files - Implement a basic client -server architecture Reviewed-on: https://gitea.pstruebi.xyz/auracaster/bumble-auracast/pulls/2 --- .vscode/tasks.json | 7 +- Dockerfile | 26 +++ docker-compose.yaml | 19 ++ pyproject.toml | 7 +- {auracast => src/auracast}/__init__.py | 0 {auracast => src/auracast}/auracast_config.py | 13 +- {auracast => src/auracast}/multicast.py | 215 +++++++++++++----- .../auracast}/multicast_control.py | 34 ++- src/auracast/multicast_control_client.py | 36 +++ src/auracast/multicast_server.py | 93 ++++++++ {auracast => src/auracast}/run_btmon_rtt.sh | 0 .../auracast/testdata/announcement_de.wav | Bin .../testdata/announcement_de_10_16_32.lc3 | Bin 0 -> 46470 bytes .../auracast/testdata/announcement_en.wav | Bin .../testdata/announcement_en_10_16_32.lc3 | Bin 0 -> 48654 bytes .../testdata/announcement_en_stereo.wav | Bin .../announcement_en_stereo_10_16_32.lc3 | Bin 0 -> 33198 bytes .../auracast/testdata/announcement_es.wav | Bin .../testdata/announcement_es_10_16_32.lc3 | Bin 0 -> 37272 bytes .../auracast/testdata/announcement_fr.wav | Bin .../testdata/announcement_fr_10_16_32.lc3 | Bin 0 -> 47352 bytes .../auracast/testdata/announcement_it.wav | Bin .../testdata/announcement_it_10_16_32.lc3 | Bin 0 -> 33324 bytes src/auracast/testdata/encode_lc3.py | 25 ++ src/auracast/utils/__init__.py | 0 src/auracast/utils/read_lc3_file.py | 32 +++ tests/test_server.py | 74 ++++++ 27 files changed, 495 insertions(+), 86 deletions(-) create mode 100644 Dockerfile create mode 100644 docker-compose.yaml rename {auracast => src/auracast}/__init__.py (100%) rename {auracast => src/auracast}/auracast_config.py (89%) rename {auracast => src/auracast}/multicast.py (68%) rename {auracast => src/auracast}/multicast_control.py (85%) create mode 100644 src/auracast/multicast_control_client.py create mode 100644 src/auracast/multicast_server.py rename {auracast => src/auracast}/run_btmon_rtt.sh (100%) rename auracast/announcement_48_10_96000_de.wav => src/auracast/testdata/announcement_de.wav (100%) create mode 100644 src/auracast/testdata/announcement_de_10_16_32.lc3 rename auracast/announcement_48_10_96000_en.wav => src/auracast/testdata/announcement_en.wav (100%) create mode 100644 src/auracast/testdata/announcement_en_10_16_32.lc3 rename auracast/announcement_48_10_96000_en_stereo.wav => src/auracast/testdata/announcement_en_stereo.wav (100%) create mode 100644 src/auracast/testdata/announcement_en_stereo_10_16_32.lc3 rename auracast/announcement_48_10_96_es.wav => src/auracast/testdata/announcement_es.wav (100%) create mode 100644 src/auracast/testdata/announcement_es_10_16_32.lc3 rename auracast/announcement_48_10_96000_fr.wav => src/auracast/testdata/announcement_fr.wav (100%) create mode 100644 src/auracast/testdata/announcement_fr_10_16_32.lc3 rename auracast/announcement_48_10_96_it.wav => src/auracast/testdata/announcement_it.wav (100%) create mode 100644 src/auracast/testdata/announcement_it_10_16_32.lc3 create mode 100644 src/auracast/testdata/encode_lc3.py create mode 100644 src/auracast/utils/__init__.py create mode 100644 src/auracast/utils/read_lc3_file.py create mode 100644 tests/test_server.py diff --git a/.vscode/tasks.json b/.vscode/tasks.json index fb1d702..e2c55d4 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -3,10 +3,15 @@ // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ + { + "label": "Setup project for development", + "type": "shell", + "command": "./venv/bin/python -m pip install -e ." + }, { "label": "pip install -e bumble", "type": "shell", "command": "./venv/bin/python -m pip install -e ../bumble --config-settings editable_mode=compat" - } + }, ] } \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d7619cc --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +# TODO: investigate using -alpine in the future +FROM python:3.11 + +WORKDIR /usr/src/app + +COPY ./pyproject.toml . +COPY ./src/ . + +RUN sed /^StrictHostKeyChecking/d /etc/ssh/ssh_config; \ +echo StrictHostKeyChecking no >> /etc/ssh/ssh_config + +RUN --mount=type=cache,target=/root/.cache \ + --mount=type=ssh,required=true \ + pip install ./ + +# make sure to install sudo apt install docker-buildx +# make sure to set IdentityFile /home/pstruebi/.ssh/id_ed25519 in ~/.ssh/config -maybe not nececcary +# example build commands: + +# docker build --ssh default . +# docker build --ssh default=~/.ssh/id_rsa . +# docker build --ssh default -t bumble-auracast:latest . + +# example run commands +# interactive: +# docker run --rm -it --device /dev/serial/by-id/usb-ZEPHYR_Zephyr_HCI_UART_sample_81BD14B8D71B5662-if00 bumble-auracast bash diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..ec410af --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,19 @@ +services: + app: + build: + context: . + dockerfile: Dockerfile + ssh: + - default=~/.ssh/id_ed25519 #lappi + #- default=~/.ssh/id_rsa #raspi + devices: + - /dev/serial/by-id/usb-ZEPHYR_Zephyr_HCI_UART_sample_81BD14B8D71B5662-if00 + environment: + LOG_LEVEL: INFO + + # - DOCKER_BUILDKIT=1 # Enable BuildKit (can also be passed during build) + #command: python ./auracast/multicast_server.py #devserver + command: python ./auracast/multicast.py # continously streaming test app + + +# use docker compose up --build \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 431e6fa..0fbc98b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,15 +7,16 @@ dependencies = [ "bumble @ git+ssh://git@ssh.pstruebi.xyz:222/auracaster/bumble_mirror.git@12bcdb7770c0d57a094bc0a96cd52e701f97fece", "lc3 @ git+ssh://git@ssh.pstruebi.xyz:222/auracaster/liblc3.git@7558637303106c7ea971e7bb8cedf379d3e08bcc", "sounddevice", - "aioconsole" + "aioconsole", + "quart == 0.20.0", ] [project.optional-dependencies] test = [ "pytest >= 8.2", + "pytest-asyncio" ] - [build-system] -requires = ["setuptools>=61", "wheel", "setuptools_scm>=8"] +requires = ["setuptools>=61"] #, "wheel", "setuptools_scm>=8" build-backend = "setuptools.build_meta" diff --git a/auracast/__init__.py b/src/auracast/__init__.py similarity index 100% rename from auracast/__init__.py rename to src/auracast/__init__.py diff --git a/auracast/auracast_config.py b/src/auracast/auracast_config.py similarity index 89% rename from auracast/auracast_config.py rename to src/auracast/auracast_config.py index facba53..63bc690 100644 --- a/auracast/auracast_config.py +++ b/src/auracast/auracast_config.py @@ -54,7 +54,8 @@ class AuracastBigConfig: program_info: str = 'Some Announcements' audio_source: str = 'file:./auracast/announcement_48_10_96000_en.wav' input_format: str = 'auto' - loop_wav: bool = True + loop: bool = True + precode_wav: bool = False iso_que_len: int = 64 @@ -65,7 +66,7 @@ broadcast_de = AuracastBigConfig( name = 'Broadcast0', language='deu', program_info = 'Announcements German', - audio_source = 'file:./auracast/announcement_48_10_96000_de.wav', + audio_source = 'file:./testdata/announcement_de.wav', ) broadcast_en = AuracastBigConfig( @@ -74,7 +75,7 @@ broadcast_en = AuracastBigConfig( name = 'Broadcast1', language='eng', program_info = 'Announcements English', - audio_source = 'file:./auracast/announcement_48_10_96000_en.wav', + audio_source = 'file:./testdata/announcement_en.wav', ) broadcast_fr = AuracastBigConfig( @@ -83,7 +84,7 @@ broadcast_fr = AuracastBigConfig( name = 'Broadcast2', language='fra', program_info = 'Announcements French', - audio_source = 'file:./auracast/announcement_48_10_96000_fr.wav', + audio_source = 'file:./testdata/announcement_fr.wav', ) broadcast_es = AuracastBigConfig( @@ -92,7 +93,7 @@ broadcast_es = AuracastBigConfig( name = 'Broadcast3', language='spa', program_info = 'Announcements Spanish', - audio_source = 'file:./auracast/announcement_48_10_96_es.wav', + audio_source = 'file:./testdata/announcement_es.wav', ) broadcast_it = AuracastBigConfig( @@ -101,5 +102,5 @@ broadcast_it = AuracastBigConfig( name = 'Broadcast4', language='ita', program_info = 'Announcements Italian', - audio_source = 'file:./auracast/announcement_48_10_96_it.wav', + audio_source = 'file:./testdata/announcement_it.wav', ) \ No newline at end of file diff --git a/auracast/multicast.py b/src/auracast/multicast.py similarity index 68% rename from auracast/multicast.py rename to src/auracast/multicast.py index 87e1b3d..554680d 100644 --- a/auracast/multicast.py +++ b/src/auracast/multicast.py @@ -26,7 +26,6 @@ import struct from typing import cast, Any, AsyncGenerator, Coroutine, Dict, Optional, Tuple, List import itertools - try: import lc3 # type: ignore # pylint: disable=E0401 except ImportError as e: @@ -48,6 +47,7 @@ from bumble.device import Host, BIGInfoAdvertisement, AdvertisingChannelMap from bumble.audio import io as audio_io from auracast import auracast_config +from auracast.utils.read_lc3_file import read_lc3_file # modified from bumble @@ -94,6 +94,7 @@ class ModWaveAudioInput(audio_io.ThreadedAudioInput): audio_io.WaveAudioInput = ModWaveAudioInput + # ----------------------------------------------------------------------------- # Logging # ----------------------------------------------------------------------------- @@ -288,50 +289,31 @@ async def init_broadcast( return bigs -async def init_audio( - bigs, - global_config : auracast_config.AuracastGlobalConfig, - big_config: List[auracast_config.AuracastBigConfig] - ): - for i, big in enumerate(bigs.values()): - audio_source = big_config[i].audio_source - input_format = big_config[i].input_format - audio_input = await audio_io.create_audio_input(audio_source, input_format) - audio_input.rewind = big_config[i].loop_wav - pcm_format = await audio_input.open() - - #try: - if pcm_format.channels != 1: - print("Only 1 channels PCM configurations are supported") - return - if pcm_format.sample_type == audio_io.PcmFormat.SampleType.INT16: - pcm_bit_depth = 16 - elif pcm_format.sample_type == audio_io.PcmFormat.SampleType.FLOAT32: - pcm_bit_depth = None - else: - print("Only INT16 and FLOAT32 sample types are supported") - return - encoder = lc3.Encoder( - frame_duration_us=global_config.frame_duration_us, - sample_rate_hz=global_config.auracast_sampling_rate_hz, - num_channels=1, - input_sample_rate_hz=pcm_format.sample_rate, - ) - lc3_frame_samples = encoder.get_frame_samples() # number of the pcm samples per lc3 frame - lc3_frame_size = global_config.octets_per_frame #encoder.get_frame_bytes(bitrate) - lc3_bytes_per_frame = lc3_frame_size #* 2 #multiplied by number of channels - - big['pcm_bit_depth'] = pcm_bit_depth - big['lc3_bytes_per_frame'] = lc3_bytes_per_frame - big['lc3_frame_samples'] = lc3_frame_samples - big['audio_input'] = audio_input - big['encoder'] = encoder class Streamer(): - def __init__(self, bigs): + """ + Streamer class that supports multiple input formats. See bumble for streaming from wav or device + Added functionallity on top of bumble: + - loop parameter + - if True the audio_source will be looped for ever + - precode wav files + - lc3 coded files + - just use a .lc3 file as audio_source + - lc3 coded from ram + - use a bytestring b'' as audio_source + """ + + def __init__( + self, + bigs, + global_config : auracast_config.AuracastGlobalConfig, + big_config: List[auracast_config.AuracastBigConfig] + ): self.task = None self.is_streaming = False self.bigs = bigs + self.global_config = global_config + self.big_config = big_config def start_streaming(self): if not self.is_streaming: @@ -348,21 +330,133 @@ class Streamer(): self.task = None async def stream(self): - # TODO: do some pre buffering so the stream is stable from the beginning. One half iso queue would be appropriate + bigs = self.bigs + big_config = self.big_config + global_config = self.global_config + # init + for i, big in enumerate(bigs.values()): + audio_source = big_config[i].audio_source + input_format = big_config[i].input_format + + # precoded lc3 from ram + if isinstance(big_config[i].audio_source, bytes): + big['precoded'] = True + + lc3_frames = iter(big_config[i].audio_source) + + if big_config[i].loop: + lc3_frames = itertools.cycle(lc3_frames) + big['lc3_frames'] = lc3_frames + + # precoded lc3 file + elif big_config[i].audio_source.endswith('.lc3'): + big['precoded'] = True + filename = big_config[i].audio_source.replace('file:', '') + + lc3_bytes = read_lc3_file(filename) + lc3_frames = iter(lc3_bytes) + + if big_config[i].loop: + lc3_frames = itertools.cycle(lc3_frames) + big['lc3_frames'] = lc3_frames + + # use wav files and code them entirely before streaming + elif big_config[i].precode_wav and big_config[i].audio_source.endswith('.wav'): + big['precoded'] = True + + audio_input = await audio_io.create_audio_input(audio_source, input_format) + audio_input.rewind = False + pcm_format = await audio_input.open() + + if pcm_format.channels != 1: + print("Only 1 channels PCM configurations are supported") + return + if pcm_format.sample_type == audio_io.PcmFormat.SampleType.INT16: + pcm_bit_depth = 16 + elif pcm_format.sample_type == audio_io.PcmFormat.SampleType.FLOAT32: + pcm_bit_depth = None + else: + print("Only INT16 and FLOAT32 sample types are supported") + return + encoder = lc3.Encoder( + frame_duration_us=global_config.frame_duration_us, + sample_rate_hz=global_config.auracast_sampling_rate_hz, + num_channels=1, + input_sample_rate_hz=pcm_format.sample_rate, + ) + lc3_frame_samples = encoder.get_frame_samples() # number of the pcm samples per lc3 frame + + lc3_bytes = b'' + async for pcm_frame in audio_input.frames(lc3_frame_samples): + lc3_bytes += encoder.encode( + pcm_frame, num_bytes=global_config.octets_per_frame, bit_depth=pcm_bit_depth + ) + lc3_frames = iter(lc3_bytes) + + # have a look at itertools.islice + if big_config[i].loop: + lc3_frames = itertools.cycle(lc3_frames) + big['lc3_frames'] = lc3_frames + + # anything else, e.g. realtime stream from device (bumble) + else: + audio_input = await audio_io.create_audio_input(audio_source, input_format) + audio_input.rewind = big_config[i].loop + pcm_format = await audio_input.open() + + #try: + if pcm_format.channels != 1: + print("Only 1 channels PCM configurations are supported") + return + if pcm_format.sample_type == audio_io.PcmFormat.SampleType.INT16: + pcm_bit_depth = 16 + elif pcm_format.sample_type == audio_io.PcmFormat.SampleType.FLOAT32: + pcm_bit_depth = None + else: + print("Only INT16 and FLOAT32 sample types are supported") + return + encoder = lc3.Encoder( + frame_duration_us=global_config.frame_duration_us, + sample_rate_hz=global_config.auracast_sampling_rate_hz, + num_channels=1, + input_sample_rate_hz=pcm_format.sample_rate, + ) + lc3_frame_samples = encoder.get_frame_samples() # number of the pcm samples per lc3 frame + + big['pcm_bit_depth'] = pcm_bit_depth + big['lc3_frame_samples'] = lc3_frame_samples + big['audio_input'] = audio_input + big['encoder'] = encoder + big['precoded'] = False + + # Need for coded an uncoded audio + lc3_frame_size = global_config.octets_per_frame #encoder.get_frame_bytes(bitrate) + lc3_bytes_per_frame = lc3_frame_size #* 2 #multiplied by number of channels + big['lc3_bytes_per_frame'] = lc3_bytes_per_frame + + # TODO: Maybe do some pre buffering so the stream is stable from the beginning. One half iso queue would be appropriate logging.info("Streaming audio...") bigs = self.bigs self.is_streaming = True + # One streamer fits all while self.is_streaming: stream_finished = [False for _ in range(len(bigs))] for i, big in enumerate(bigs.values()): - pcm_frame = await anext(big['audio_input'].frames(big['lc3_frame_samples']), None) - if pcm_frame is None: # Not all streams may stop at the same time - stream_finished[i] = True - continue - lc3_frame = big['encoder'].encode( - pcm_frame, num_bytes=big['lc3_bytes_per_frame'], bit_depth=big['pcm_bit_depth'] - ) + if big['precoded']:# everything was already lc3 coded beforehand + lc3_frame = bytes( + itertools.islice(big['lc3_frames'], big['lc3_bytes_per_frame']) + ) + else: + pcm_frame = await anext(big['audio_input'].frames(big['lc3_frame_samples']), None) + if pcm_frame is None: # Not all streams may stop at the same time + stream_finished[i] = True + continue + + lc3_frame = big['encoder'].encode( + pcm_frame, num_bytes=big['lc3_bytes_per_frame'], bit_depth=big['pcm_bit_depth'] + ) + await big['iso_queue'].write(lc3_frame) if all(stream_finished): # Take into account that multiple files have different lengths @@ -387,12 +481,7 @@ async def broadcast(global_conf: auracast_config.AuracastGlobalConfig, big_conf: global_conf, big_conf ) - await init_audio( - bigs, - global_conf, - big_conf - ) - streamer = Streamer(bigs) + streamer = Streamer(bigs, global_conf, big_conf) streamer.start_streaming() await asyncio.wait([streamer.task]) @@ -400,10 +489,18 @@ async def broadcast(global_conf: auracast_config.AuracastGlobalConfig, big_conf: # ----------------------------------------------------------------------------- if __name__ == "__main__": + import os + + if os.environ['LOG_LEVEL']: + log_level = getattr(logging, os.environ['LOG_LEVEL']) + else: + log_level = logging.DEBUG + log_level = os.environ['LOG_LEVEL'] logging.basicConfig( - level=logging.DEBUG, + level=log_level, format='%(module)s.py:%(lineno)d %(levelname)s: %(message)s' ) + os.chdir(os.path.dirname(__file__)) global_conf = auracast_config.global_base_config @@ -429,11 +526,13 @@ if __name__ == "__main__": #auracast_config.broadcast_es, #auracast_config.broadcast_it, ] - #for big in bigs: # TODO. investigate this further - # big.code = 'ff'*16 # returns hci/HCI_ENCRYPTION_MODE_NOT_ACCEPTABLE_ERROR + for big in bigs: # TODO: encrypted streams are not working + #big.code = 'ff'*16 # returns hci/HCI_ENCRYPTION_MODE_NOT_ACCEPTABLE_ERROR #big.code = '78 e5 dc f1 34 ab 42 bf c1 92 ef dd 3a fd 67 ae' + big.precode_wav = True + big.audio_source = big.audio_source.replace('.wav', '_10_16_32.lc3') #lc3 precoded files + big.audio_source = read_lc3_file(big.audio_source) # load files in advance - # 16kHz works reliably with 3 streams # 24kHz is only working with 2 streams - probably airtime constraint # TODO: with more than three broadcasters (16kHz) no advertising (no primary channels is present anymore) diff --git a/auracast/multicast_control.py b/src/auracast/multicast_control.py similarity index 85% rename from auracast/multicast_control.py rename to src/auracast/multicast_control.py index 5226fcf..8bc3e4d 100644 --- a/auracast/multicast_control.py +++ b/src/auracast/multicast_control.py @@ -29,8 +29,15 @@ class Multicaster: self.big_conf = big_conf self.device = None self.bigs = None - self.streamer=None + self.streamer = None + def get_status(self): + streaming = self.streamer.is_streaming if self.streamer is not None else False + return { + 'is_initialized': self.is_auracast_init, + 'is_streaming': streaming, + } + async def init_broadcast(self): self.device_acm = multicast.create_device(self.global_conf) @@ -45,21 +52,14 @@ class Multicaster: self.device = device self.is_auracast_init = True - async def init_audio(self): - await multicast.init_audio( - self.bigs, - self.global_conf, - self.big_conf - ) - self.is_audio_init = True - self.streamer = multicast.Streamer(self.bigs) - def start_streaming(self): + self.streamer = multicast.Streamer(self.bigs, self.global_conf, self.big_conf) self.streamer.start_streaming() def stop_streaming(self): if self.streamer is not None: self.streamer.stop_streaming() + self.streamer = None async def reset(self): await self.shutdown() # Manually triggering teardown @@ -70,12 +70,12 @@ class Multicaster: self. is_audio_init = False if self.device: await self.device.stop_advertising() - if self.bigs: - for big in self.bigs.values(): - if big['advertising_set']: - await big['advertising_set'].stop() + if self.bigs: + for big in self.bigs.values(): + if big['advertising_set']: + await big['advertising_set'].stop() + await self.device_acm.__aexit__(None, None, None) # Manually triggering teardown - await self.device_acm.__aexit__(None, None, None) # Manually triggering teardown # example commandline ui @@ -100,7 +100,6 @@ async def command_line_ui(caster: Multicaster): await caster.reset() await caster.init_broadcast() await caster.init_audio() - elif command.strip().lower() == "init_audio": await caster.init_audio() @@ -131,7 +130,7 @@ async def main(): #auracast_config.broadcast_it, ] for conf in big_conf: - conf.loop_wav = False + conf.loop = False # look into: #async with MyAPI() as api: @@ -139,7 +138,6 @@ async def main(): caster = Multicaster(global_conf, big_conf) await caster.init_broadcast() - await caster.init_audio() await command_line_ui(caster) diff --git a/src/auracast/multicast_control_client.py b/src/auracast/multicast_control_client.py new file mode 100644 index 0000000..8751564 --- /dev/null +++ b/src/auracast/multicast_control_client.py @@ -0,0 +1,36 @@ +import requests +from auracast.utils.read_lc3_file import read_lc3_file + +BASE_URL = "http://127.0.0.1:5000" # Adjust based on your actual API URL + +def initialize(): + response = requests.post(f"{BASE_URL}/init") + return response.json() + +def shutdown(): + response = requests.post(f"{BASE_URL}/shutdown") + return response.json() + +def stop_audio(): + response = requests.post(f"{BASE_URL}/stop_audio") + return response.json() + +def send_audio(): + test_audio_data = { # TODO: investigate further whats the best way to actually transfer the data + "broadcast_de": read_lc3_file('src/auracast/testdata/announcement_de_10_16_32.lc3').decode('latin-1'), + "broadcast_en": read_lc3_file('src/auracast/testdata/announcement_en_10_16_32.lc3').decode('latin-1') + } + + response = requests.post(f"{BASE_URL}/stream_lc3", json=test_audio_data) + return response.json() + +def get_status(): + response = requests.get(f"{BASE_URL}/status") + return response.json() + +if __name__ == "__main__": + print("Getting status:", get_status()) + print("Initializing server:", initialize()) + print("Getting status:", get_status()) + print("Sending audio:", send_audio()) + print("Getting status:", get_status()) diff --git a/src/auracast/multicast_server.py b/src/auracast/multicast_server.py new file mode 100644 index 0000000..ece15a5 --- /dev/null +++ b/src/auracast/multicast_server.py @@ -0,0 +1,93 @@ +from dataclasses import asdict +from quart import Quart, request, jsonify # TODO: evalute if classic flask should be used instead +from auracast import multicast_control +from auracast import auracast_config + +app = Quart(__name__) + +# Initialize the multicaster instance globally +global_conf = auracast_config.global_base_config +#global_conf.transport='serial:/dev/serial/by-id/usb-SEGGER_J-Link_001057705357-if02,1000000,rtscts' # transport for nrf54l15dk +global_conf.transport='serial:/dev/serial/by-id/usb-ZEPHYR_Zephyr_HCI_UART_sample_81BD14B8D71B5662-if00,115200,rtscts' #nrf52dongle hci_uart usb cdc + +big_conf = { # TODO: use another dataclass for this to be able to iterate over the names + 'broadcast_de': auracast_config.broadcast_de, + 'broadcast_en': auracast_config.broadcast_en, + 'broadcast_fr': auracast_config.broadcast_fr, + #auracast_config.broadcast_es, + #auracast_config.broadcast_it, +} +for conf in big_conf.values(): + conf.loop = False + +multicaster = multicast_control.Multicaster( + global_conf, + list(big_conf.values()), +) + +@app.route('/init', methods=['POST']) +async def initialize(): + """Initializes the broadcasters.""" + #data = await request.json + #global_conf = auracast_config.AuracastGlobalConfig.from_dict(data['global_config']) + #stream_configs = [auracast_config.AuracastBigConfig.from_dict(big) for big in data['big_configs']] + try: + await multicaster.init_broadcast() + return jsonify({"status": "initialized"}), 200 + except Exception as e: + return jsonify({"error": str(e)}), 500 + +@app.route('/shutdown', methods=['POST']) +async def stop(): + """Stops broadcasting.""" + try: + await multicaster.reset() + return jsonify({"status": "stopped"}), 200 + except Exception as e: + return jsonify({"error": str(e)}), 500 + +@app.route('/stop_audio', methods=['POST']) +async def stop_audio(): + """Stops streaming.""" + try: + multicaster.stop_streaming() + return jsonify({"status": "stopped"}), 200 + except Exception as e: + return jsonify({"error": str(e)}), 500 + +@app.route('/stream_lc3', methods=['POST']) +async def send_audio(): + """Streams pre-coded LC3 audio. + # post data in the format + { + broadcast_de: b'' + broadcast_fr: b'' + + } + """ + post_data = await request.json + try: + for key, val in big_conf.items(): + if key in post_data: + val.audio_source = post_data[key].encode('latin-1') + else: + val.audio_source = b'' + + multicaster.big_conf = list(big_conf.values()) + multicaster.start_streaming() + return jsonify({"status": "audio_sent"}), 200 + except Exception as e: + return jsonify({"error": str(e)}), 500 + +# TODO: Also a queue should be implemented - probably as its own endpoint, + + +@app.route('/status', methods=['GET']) +async def get_status(): + """Gets the current status of the multicaster.""" + status = multicaster.get_status() + # TODO: also get queue status, announcements, samples etc. + return jsonify({"status": status}), 200 + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=5000, debug=True) \ No newline at end of file diff --git a/auracast/run_btmon_rtt.sh b/src/auracast/run_btmon_rtt.sh similarity index 100% rename from auracast/run_btmon_rtt.sh rename to src/auracast/run_btmon_rtt.sh diff --git a/auracast/announcement_48_10_96000_de.wav b/src/auracast/testdata/announcement_de.wav similarity index 100% rename from auracast/announcement_48_10_96000_de.wav rename to src/auracast/testdata/announcement_de.wav diff --git a/src/auracast/testdata/announcement_de_10_16_32.lc3 b/src/auracast/testdata/announcement_de_10_16_32.lc3 new file mode 100644 index 0000000000000000000000000000000000000000..f4383541f86e50298e2100e8f4ba7136d13f78fc GIT binary patch literal 46470 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%0ADNS@Zc~G%MYQ2qCTt>-cE< z$KQRa3BEC8rk1(GLUoLGE#E4ygC<#H z!;iO~vk?EeSiF5sd@!M{XZL;=UQ)?>f-!5z?|#%j@97J0$_(~A*buHdL z--E$oy={NNBw@kQZ;tj*2>g{FQ*5VvoG0JZ2xiL~gUeRm9upM$)(mKe&LDJSvk_V_ z>a70D1f0HM7g$Q9==p)mrNl%^$)n%Yw@0yuzI6fG!6$d-dA8UT^ape_sf^xMHQ$6S z^!h*~XVdtv6u^aUnzy5tcovq622Ajb5$#LkBFM zovq<0;#%^{=Q@Wqt>VPO0t?4PYxa+Oi};*`M>7GWA7lOQ3e z(U}D;PIMjFxSQ0l=MfU&OTQJJ{wRAnHEoJY`AnZ%Un=6~?JDPL+VRstvJT-D>%6QE z4K3z#VOrv!5qse)UH8{X4(Ij6+l5WSWFX@pHNTT5ulfGww%460B`*{C7Aw2=YN@$+ zRI|g{KJ{gHj8=U$hxGH5nErv;_kFc-G5ab;C%h-~)Nj`pg0oZ%dm^dAFw@yiLT3@& z>K!#P3g|BI${?E_DB@s{nXYtN79m2=4~}n>Q;f-I8W{ zqhudf#*#Ry z8V*>5R${45u>jVAo_Jmv##t@Xx^uNLdHv6BMP{4_UogLEf=&4~lhPkRqWitQ!$tGG zSKL5Ixc^<|4K^<+yWy8EE#j|gb5Q}Yb1Fv~EiD$0U~ph~rHE9AY(8lNc%GExfL!Srda)^759Q~bE)}Z8&zea94x;QEiEzEZK5#i4Z+*rJs z2C3EOw3}HylJ*mWMyRAPRhlMdfrEmMt~A?+3k=Gti})1YDAN8Lf;*`*fP@Zh7yn)X zQ~qslobRKF+1y#yJ%Zb##h@2@S3p)|&mhBeLaCY5{gdlt!xDbGc&5UGFq@{@pCHrf z7nbVO{Ax`2d9zq@xw2c4{XmBG-}i<%8_^Wxa163Y_83%GCyNy#=9;xoM(q7aDBgUp z?@6T5W6`cyq`p9v0Sh`&zY#u~j)@^eYu<^P(o}M)=3#_6$bs9S6e&Fw)j5c#0={+x zcpe;%iVpwijz)TfC%=c>&n&6i(om6`+jf>l&PJV7J7aZa*s$5@2Y`f_z0hQC4RHNN z&SPBNOH^U>b#};oONB5s!Azw1&o&}r_F5|N4I>cAV8XhQ#j$Wg20vIWH}(`vLA9IY zUeC9mwM<(vSP-b|#)2PJmYhDnP$SrTItsBE-pSPhEjuE%-!xb8iR|JjbmiFG3;JcTrzv!Mqw zg=&=TadA8Q>S*MiePB#_rN#IdiX67&_Gvq&@9w!}BfjdsxGSwT5vL;_B}t7{O+3Os z-cqY5)wZU`Pyzt?`AsOnJ(sCkdfQ`vI14U_?cE|oL8$~^8#7YTko5tjY9A6A+h4Y@`>NGd zlaPgbb=yA{qLO^^c&;SZOzCM1bieMsD7N>~Uz+~V$TXhfrP!(`7aFQ9mBa(OyRhQ6-)pl!1rjn#Ph`%Q@f*v1lAcF&@^RJU@t066N>?B^ z;fpm6$qJZaoeDGJ zKgfds7aIInT^4G-z&A#fMAnt)40gVO5@#Ue0Dm(1>la5drP+|_%MU)UI={FFZmn*g zId(ClRdS2h0H@NiR}=1(CP~13hpqtSUfr}-<1W&jk_z0cNP;Vo5#*0xytywLzGo_o zk2qJP_JV3aHADw1jX^$6LUEsQrxElV)C!+n(X6p25YgsVMJX!gySN&V{DUbd3CIjQ zY&NNvzfSMI<_OY3s0-t1FhEvDz)b;jZ&0tG; z9{4d#xs)aH`#fW_?63<8Bmk$HPbKjah;mclGYdOnbCZ&=$`z34khMG5i&T!&Gl zd9P_+Cl$JfQxYCArp++#m+2UWH++D+qh6+KSoLTVztv7D4OoOmwauM0id%xb@U{HM zmA>J;$ONej@9woH_J0mY3NlMj>R2f;zXoN9XbU6IC4 z5~hdqWTVvW)^D9&5z`2e2}M~@PK!_bSn+^;j+OtnhH>bHd6XkL>U?x$^H-vp|CsPu zcrL01z@O;u4J~r4e{!S;=P=PpqDxhULMbbM=^yH3r=6ao?IW&Oyz9XQu%)OLcCXIi23=AEu^bFoi)qUS&J1aH(t0O z$AbR-n@@ltX7fJO3s!cSkF%Qhk8{n{l%RqP zb@r`iI?HiX4^dszXdvdfqVR^-yMBiDMfcA4G=ntX6SBWv(W&B8c{LII5kh!rlmCdS zNdG(~#$O-Q5NluH`Orb?M#S+WuRvnB2%fMHF) z1a?u;J+hzh?~?b(*j)_omO)whNXLbq;?o^`Go~+$c>vQ2uqtwlh`3-AUdt~^!I#C{ zigsKOfbA9AYZ^Vpf0v`ja?v3h+(-pv;>i8LD0Gxla8C(om0pL4gUPB=Qb@pb&TCFB z--reIhvk)*8d4PxRBef}>&w5cJ4pz)x(nRR-E2%abU6IYR;&%djgBqD#Oz|?51ZzL z(SScmk`P@RN3|xCSGqCTpU5>D;gV_?<2>@C`KJ(LM87of@rQ5&w=IC}60Ototv}31 z*)k`7s0X;1!Fx7KUipMLbBry(P(Ovyo5*~v;8ghh#(_9NeSqkSecP)VJWX1)i(g)G z{EhOV7O@oB<&8j4wnB_MwS`mR^RElUO-w}VUq7XnBLz_5Bowo%&BIU8Q35I1^bXP7z@ax zkiW7ju`OiHL)je6$|-sEldfT&X(Z2!h8OaFMTt2>WDPM*QTXiqp$kHst1m6CIY<7O zg7I&~>oM%ul68sahKoMs3~8BHuw*smQ4S^pY(sebwX8r3^0#d&=TuY@N2zqR{dpuq zAy#A3z@|YN_RSSfD4^n9MK?yUsmeAklc*^DR$}w=3_O(82ty`Akxg0j`qMo}$!z!~%HOgG#j1;|(tuckrhkmjU7SU(*Ufc{ z{JXU-C<*N>q622VT=uf7U;*tM^cuz2S5*L11QP1PoJ~nk_=SaY>iSZ5tU;ykJkB<3 z5hqu^QqsE3&w)sDTP1dt#xx+b(EO<7?jYN74EiM)7X1>|O3y+2o&#I6Ji=gH6Loxn z!zMH(i`C}9RKCx;r#H;ge zyO!;i?Uu1>*|wK$EUcEjT&rdG`#j&@|L1ja?!Cw7eT(?%-0k3OT{6b7@H(^0v;cda zI=N7Alf7jchv%rEv-r6ckA)IG@DG)-)2zUB$RW}@?2w7cjA~1H9kRnwmJ>PbCpr>t-#jr~r>5erGOSYIz19rrb_mfQE`^%Xq7u0#S zi+H!zcf762w}cL=;Dhe5IJAH8Z6Q7-%ozaZc^f)Hc+Ebpz^L4jZA-di6c1)eGuJSE zMZB#rd``I`sE$W+FKL7HMIsbFSzr0Gv+~c?ok$#XEZoE56TEHhu3MNs2~>dB-1A$o&r z@+p}lOrnQaYvsmJvk0Xod1`uJDo&!Hk#iV{Zxfr%UGLzP_dyZFR9|}yXj4V(AX-}& z@f+h=dd+t>#ez`N=(YP*TVY9=9wR#Fd+t4&ojK(1VePAY5R4bBuW-?g{$jTFUFxO{ zex)FC)w~iiH`LO5I199IV%1X_UP}7Ylwae4JS=y26gp@BR=}cibsMkdiLq$xa74|w z3V4`_<-n^tuKPTUB_&))ZUSrY65&SzS$`aYZPzg$SD+O3zX0n-ab#MB&*6jjZI;jR z2y^8B#e(2nbqt2{4?ZnF+xHhoW5KUSeIJb*I+=j`n`LsSImY~tBq}ukHyN;(h*C># zuSJhU@S+Wbd2ULhh<$4{-wpRAD~(lggcja1p?Xe#SfxycSZiMzRF9!n*pB{HZpx47p0Q3=apy!V~(Z>hvJwD;BmNd@4^yCnv+ z-wvh^QZ!OObN`7a#)M=8iE=bBB3tyihQif<9<&EZPBqoipM(DeK+mj98)q|Mys|WN zbx=ZLRwUH4ocOBtV6de}hpS#lxR~D6N@eixaAq#jXzRB@-IzEjtq#giz`DS}F0pVG zSsYJ~ic9(RsTuJCW}tn#*o7fkN?dsMxSXG#{`Or9Wgwv6xr2Bd*2@yW$+>5ZoGq9~ zdp#2%x9)tFPO}D457aFYzhmoWxAd<7C4$aq0nvQeh!#z5H4@)jaQK7vrFTeU*0vl} zlZp0TB@<^O9&I)xgG1b7aibeSDlg@Y$@jT@@qvKWyDS{5PeXRuI7RB+!3hQS);g^L zq-%pls0+1kSB%K?N1P1Wz>tDMcs!*r8+q;)_X?w+%;5s90YolQaJ3D-C4WU8 ziXO8vSW34|6D|9rp@wgE1iOs2d$DkWXlbcQo1FpNI%KFQ(`n3ukRfoNI4jD@b<*mQ ze<@+2LcDLkbKskg%gk8xaQH$U@ZM4DM!MmfTkWPqv?3^}$s?b9q|<+YU&^gbBM5{d zC1_~ck9z|;=>SS3JWP=srv2bX@=qie6NL4DpI_c!JEYxEiE=}o*d8ORi}m?1rP zh-x?Dj4|ip46oS_7o@30@A@XNsa8sdh@6VrBBMMmQ*W1^hM6HTYVeu7k>kI}tesxs zJM*}pqs7noiZd6l@q|M*2WWq}z)7=4w!^I506!6Bl3!f}VSLS3Om9eZmnaFHNigG3 z@w49^M5>GDfQI-2xA@LKZ;D8(JL1`X!>gHcNWP$|AOLA;kTmWm4(Y9qR8rTR9xq$WMqKqyWL9p_8(L z-v1`N%24*%S2vk@qDxSmvsy~bFy9^YM7T7?QN_=%^<3x<$xeE4=? z(7Hai0HOQQ=HC#g`M=rGzB+3SzE>+fKA~eE69l1$$iX4RAE#|s!XJ9@Sj#tj!$mr& z8_EG@ryvo+F)FYwV5)C`TNgh-D&EJ2b><<_jXuEUmcdlNg1R7=ZT_#)iH*PbgnD%_ z;gMX!cq@$iu0UgI;Y)plX7aBlv^{a(#x^@%0*i$-z!I=qN@>z!$$Jv3R;6MUP^G9( z?{{{>fTo&A4y$iZWU*Dqi9ZhiRR_$Da>2Ko9*8JpcG_?yH0G?;!zK4VSXh!3j!>zn zw_F_z<%io+Vx9!Z5UL+!P3S(1XI;PNKiRjeC~p{`3uLwGWI~g0_Z~{d!o9VGv|4oJ z0b_E3;D=tRS4#Lo8BLS)w4ij;g{&UNl=OrXBNL~kdhfz;5#N_AKzu{7n!+P|b*IFj zwZQ^P?iBM0s}{7(_K7R@X3SN z-YgF&cy~`16+>3T8fx;IMJNyBRn+AcSMoeHlspN5vgvq zsJ>q@?OG(Eo$NMA(xMy7AiFlq?s7k-%@ur>V+q_PdA@&{c1NvbyLHy5@wE;xRQi;P zO5It-vuTqinFE#jn-NYH%t?S;k|Az-A<0%2$5qX9^$RtmJA9Oq;9c1*3VXyf8hPF&r+ITR3|IZVBg_UW&qj{ z>jmCltP7XVI8@oxf6=V`J5yVAfFYx{-&cd{S=Ux)hCDusIA@5~##ZAmrN3RSbXpyW z5D2NEwU5aezM=X->dDdTygy8o*VQTjlj)oa=nfby`KZyHSMB=sZ}2(4Pt#=;=*7Wu zvNH4FYSpTm$wEc}sh7C_EP?QX&=|{q6^e$km9(0sx0=Tjs$BU!7rK)x8me{|CqJVF zM1#>O?Et-rOXMuaEURK?`Ig(XhNiHEsmlnbLeN`Fej?p~Q59BPmbar_iGkhi~;zKF1 z3$ZsZ|KbOvD_vY6^~4WQx^TF|3MRq#d>BG)@MGHx_X=wz!C$Y%So1LYkgKWtiP7NF zG~Yw8rVp^?8T#mbk-=j$C`s( zJfvYJFXQ#Tj>nS?dTTR~;^2{#NU{5VqzLgHwhC&Nf#iDd4W=A&e11wv;T#z?2>yVl zXHKh{Y)WbM-p-}&q^L!bgrR~Oz+;D+2 zjywF$v62$A5D~*?8;>M^UlgTJ;GMH-#c)=LH(`yFwf=P?W%Gvy8Y7EXF|z z!EuEidJ1Ke!Q}y$o*+o629U{YLtjF&iL;kEjvL<<^Fa>_B(CQpG+7l?vs6@MTt|Z6 z+;@q?nKJ-sgFe!stYgh^`~zWLDm?3pR#<@E2CjZ2Gr{MDjupmY4vKXus1gN8y$!<9 zng_Ig32LC>ZMN(ne~U$JfaT^OiYX4SUbTZWkxQQqi%dgoC_qVR%vpYgso$u|#7h4X z*8F}YouweE56@Q%;jb}@_26Z~b3s|NLMX6KhPX+8KQZjQwHNbf^n4-ui9T90y$o81 zP_=5qg=SlDB0_saNo+7MCh~|$om^(*m^-Nx(+oODJ{WtIF8*2?eiD z)Q3NU?P~lhJ6W^)p!;^g`I}2z;RcWjBJ?6F7D~SpjNm7`2Dp-@grw*g;RV+0*j;A+ zz@?Em7tf*8vn+)o;54Zf;m8F}(?;!>sRc6YPF6!c3;gJG&PFr0P2v05gnFqw;qrY= zp-2aiibek#f629JKPmZTQCAfD9E{YyP*}c-F&FX9$%^t^ej58K3ycZGg4p;cK_=2+ zjEj%#@2``F%vm*PNDfOVmhpJ^Xtgz4T=Yb;X*(6t07*-$CHRp$W5NIUJ}7$j(I1vH z-}8YHt{VQ>ou-`O;HbhBc25n2202XvDB?Zu+H&*n!2BFAO28cRDy z`&=hT?_^&Wwl^|e@4%WlmpdgLk{t+;FA`&T2}?PCLuZW(&(=&H<_&q-Sw9D3|gx0d@l{);rPpr_Op@$OS z9U(4f5<%fC3$D`HT<^)MV?VsTxs!!_UuTb95Rbw`zfQd+zn*(6@a z`xGBN??&Y?uOAK(Gk+4x&ViF|QWf}Mj%9!=2GMcgj*k(X2`2P#aNoUlOig&|I=0^5 z`xlGo6WZfeOr+5wD@UWGcqIUwCym-cm=`w_Tc($Cp-kx)@=8Q7OmI7!7YSa5r)WAh zXjiZ$SfCFFymG{~RL=`+cLJT&YCNbA&0^!Z)2vSAJ2I3~7~2-rsgdJTU8IFJNcNva z<&e%Tk@LOAuVU5&(FSD1P0+OQWuvezi9+(XKNXRJ#uVqbZQg(fjoUau!sZ~pQrD%nX(?g;8NJ-33fN_YNUTDPLAu!P)Sbs zY=+d2!=YMt=2*>L{p+E?X`)S#UU12E{o7cySw6TqoMn(Cy^gfLsM~__2->=*U+wY=k= z?4gy}5eg%x#>MDo=wYOo_bCp<@|AIcSQqeR#x8>R?td=P`x%BGI7! z+Un@)xCwySt4NS+fY(8N##P#O+7K_<5E*<1e3NA6g{NFm|sLDVnGhaV?qlYw`f@a=gF^g*k!jtTkwC5BVZ;lK&D#K zQhAHw@3!{Fls0sL@X)bvX$xAOJ&*|<68qtDBxO3Z#j)`gK?;)CAE47}U%%%ik4Jg! zl>pm{gRooBiU5lm-&ac}E=qC4IM;#Le2is*y5w+b7sjw{uAm7RfYi1_`#Ks1 zyzH}Git5+Zj@?3S?{AIZPv$1Q(k}kt2f>|aB|!WW>0vXVGVsvqVuWa}zqBUy4P7fc z_nVfRVzV%NsXn+NX;8u~O93)Ft=PH&>;W2kD;$X!d-EqVhlbqKz1rWnQW~a?Cxx;N z`R>U|AO%Rx3C(l&v}i7eb>%khv=MqS->!=&sS0O9Y2W~R$x0~EWnb`?iA$_I;KL$s zF9aDt{UX}(<0>*r%J%OU0mts51Y{A!wodNF+<@z28uMHfyn!)=I14vWf5bMKq%*~% z)Wc6%VE=(qD zD^EKFLFhtGOrXl~{L|ZK5)_3SOMWB_g%6uGHk!0oU~z#5LUk!T_H(T>fYiRyj3a2_ zaQ6MLutY z@}P);gScW$KuQn{BIFPEA^Y#L5#FDdu=BRyHF{wV630bsCN1-E;S!r7x;X7sbO4w+ zz-c0+kE=Z#{B8>OK@YtBO~*#wRjF$6-kIY=(;3#wzl8&cgzenL*duxj!S zPhZX3(Yd`_vx%djb3h&wjb*ER{PFeG7y`g8WfAEXwEp#-}8)Z0&QpQvE<%y zr3o5B+(_Y!a@_b6N{QvlMXnF=VVAa9+=qVt65^HdnV`+?a=h4By$>9f6n(bUb5S0$ z$>%bjd`fW#ECFo(h!VzL8t8Ig`ro@G9co*8v}R!%U%C`~1mB!44#KXtT+0 z$D-0cHmTM3r};jr;s(GV0=yo=UE9NMJgeEfZ5?b{C#Tt0pAE#c9$IRZ4ypz#%S%_Z z-pqzoN(fpeF{K6roC^Hd-MrA|@fiL2$$SpSk6-GSno_)JJ8m6n9oSkkdYGxexidor z@#cM+UT_?`nrk{1K~56X_-+lwuy^o_ik^Nb*ZyH-hIW+((tS@#=yO(`#D8C9P5~24 zEvIWpfHcUm+#R8$2Io(gck@{`%i+)eG3}KqyA3R>U)o7C$mKqE7ms!PYWIJ;K_bee zTL0oE3MHtZMhxec4p}GC?Pi=>;ESSHV%f*2bam&$H?cXb8qvxRlq>b3?iiOrV#Db0 z%z3~W(a6YV*kSO?Bz+wB#Iu@8GdRXl&d2V-u#9Q4kWPv_E;AMd5??vMj?i|sX2Xru zyFS;RTbMs<2(%Nsr%25v-9OY~*3+oTGyDRht%OxW`cUvg2FGfCDZ3^LsKLV!=ofsG zQW1|d3H<)>SgtZ>J;WB-~)1_OiFL}wsp9~Gg z|EPSd6m=Hr$JK!3ir~a%=eEW z%nx$nu$gXGx$as5x4EWoY< z&--{r%nMB{W#w=$yCfz3vBoOD_3Uq|w!RWy%|cSP!7MT1a*hEwulf)6dp6HPo4=LN zS>6flbzVZ>On;hT-VBJMM`ZKOKgvdgNZKn3kaeUR^~I0OY(%K%Jp1vEdhFTZnJP|8 zFl(`yV&O-z17J}r?LCvT8bE8)JOtG61n7E_VDJpd1=Kfn@;BD+RO`dFd^+vpH_CWi zBh_##IfGQ23;jLXOgP^Ce((5}Gbb*3hKPv5P6va!RA2zRX>Vr@zCf-uEqQ6M1a8QU zCCYwHIC^HN9wK_6AF#;wguf&&;mSAXb z*qX>HhYD41qmI`iZulMq9RjHpU)!T9a!P|$l55vPIibL8_Oykt&*F|Gjb8}$(}~zU z*Da_RVg(_Iw0Tpvg51HTW6re8YFsWu5j-&EYN`L;)5^YoZ{5YbN&O3CoB^>vubPkO z3eMmR=$-p>wRRhO!LFH4lgu3+G%sFyADoGNO+fD~j3KdK+)YBH8UvEhVfqmy7^;P8 zoYAB@n$r4kk#8ZEVxLuzNDQN)XpJGUO1x-RA>Irjy{j*ANh{s$KaU$k;2OYUQ^pjooEWh(1F=`~#ko1AtQ=>jY?uok{XvYfl_tBtrf_VWr~Q$e)( z1;Ci3XDMenPn;~uP=8@<$(auju|DW&s%S{rNr?-N5Kv#fLv0%XdItdgPP(SwgU5aL zPSKYR?*`@h*ojsRsWi0(zVUweDo2{^Qfzgv7O36__{r1gZX4>P=e;sw z(AGJEl&VrLr$yY)aVhla92%em)=5D__eR7${z7agB3=}yOxjmwRWN1lH|f8(CdE5po)W;%s%xBYQZNyytO z8JXZ_AZ!aZzVz-3w;o;?1ndxs1DtdC&@g(g3JI|1odjN8&U^6MhVu7B)Ca;8%>4%c zsoZGLf5^bRspP&H+d_DP8Y|2jqTVaD=Fn;ZL}8?ZZ!_f1pH09a0`P?;tPo^i{BtvP z8n*t4^o9*B39+=}SWf3r3ouPrv`MY9CaG0J@Nd7L!_1IQPl;?Hu;g1)U$QQO?Zk-q zm;O#Rg*{3>4({L4rowo^mr=igJ}FiRmnd)zGI@quM82hdqq}5+dYEJ$I99x!-rq6B zuy7XraT#@pdK}K&4^Se+U;Gv)G4aSmW$4m@UZgHulSQ z5MpQ^25pg;Kh3=0jDMF;2PINrzm7I!Daw^YtX>bx+RjO!c=4)%9i-zzq3`*qe^rcas}i( z$61yfRO@Utykv~KhuP^C@`Gx-KP)fUEtu=}j0q=Jd~OIVa; zR(H?I%F({ZVzz0EW$0$xlcyk;9K#k8h|d9dM`SW!RaPMutq;7|tYWjP&=bUr@B$hD z;O@k6>wWv#9HU3W7%ra;pbfE`D=y-|?=o|vZ`$F5GU7yqOT;$vy>;}u22wqhPX zws3p%SpfPSQQ6ON$@g+A#I%RImg3@5Rja*Mzy@`HVoqh^YKKD_lM+fKr`oxvN-u=g+;q$k81c zbP#V1*>73G5|I_ByeSG?XyymL3iXsBJK!`a&G$MvQ5VI%Mw&e}LL3#f-GshPTD8Rw zloyHFt)g6t_W$;6{?C^|7>xXpGq~73prRsaMwrPks)k4k7$EAlJBuK|GMyt zrywyv^kO?~pLbJdmj-afLxc)@{-Tj_y)Z*m(9e8%GzV-Ay-O^pCI58J_5E7}0vQ^M zC3t2mF%zVa1gw+7RkBVxNh1Qyhjli*$6NEdq!Ka91XRfBY0_N_HkGlRnYk$JR~b{2wrK;fri){>xD+MOU=X(jO2HHC)AOUDkZ zh67(2i|c=uaiaO2DcITk#y1ZXN6mv7uHTydycdLD)x083PK3mDqTEuJ?cC2D? zUx&=>3TOnSPA=)-aHNjPX~Of_&pU{nGlP98M^DfC7xg7fV}~xEYB7;P^pI`{81uVk zj^Tspb!$(#UKY8i3qD=Bb7_mKistbO&9Wx(r_l?YU~7NCRwNtVcb(FX*obsM8i<>- zjJ|EnUV?68Yp2gi65w2(VHg_>dkVG>1l}gA7;$i_ncoN88{Z1d`t8}HghSV@#9$Sz zpI+zTT-RqSr@dsswqL&iUb#WD*6Wwy(Q(gF_941arsFcBBcb+~iP&0ET(tDMUM4Fc z8Y=5JKr+xgsG~p8h4F4XQz8w}9^O71{ zmtCnl?PE1VNrY~`JhALoo2?O@0t8ir!v9M{ zoqLhw{du{yey3hH1gQt38I>;SoVst&>(R2K^+` ziaE!P#$VELUA#*rn99eA&fO_@0NY?&RbqPi!-P#a0Oua&?GSSL$Md-l^ZtX{R#~zuiRMT5B98NF**1sFhb3koddvM3dSzgpWc&%MZ8a@n zSM=GMu1bG9=0gVS5e>UTP$p4c5Az z>fGc@b@g@}WgS2Xcja?BCLN7-bNJ_c+uKMJx9Vwpuhr#Uvnv_wNCJrXwbX@=DG8FBfg*`nSIy@p%mHR6&6=6BW46mSG_Jhc2}v$*`@C_i zU`=12YSN`LCeRl2NHfgnE(1ZvU}H2PI%-g)=QFpu^+YRs=*}FbjF;EN?xfn(iDv4o zxDG)2*P@UY4cLmEEljH_FS~Z{mR$|RLlB6ao5( z8e>UWt#wM#Am*7a=*BTFqP3Q$a`euUI?RD)jgaorcmU_dg1H5F9Tb>lEL`IiB}7r; z-&~Tc=+la2o8>dx*Ku}}_T9I-F27EoUs!YvLS%B~J@KAnWuzxrkMPi&mRq$OC-2Uc zzY1m1a^Fc~RYT~6CpGZv0YoN)G#5XHtW#Uj-fqlDA4T3@ZZAuOVOOP$B>k0Y9tMA% z8v73F>IcR|Oe#$4d5HP-%38uJS}fe8{r%^&&{)ivK|$R_6X(FC_taFO^na8laA>`& zk4+kUT)ca6r9L64g(~3+b-q(;y>S{~PP9vlUc(#!tq71IZ0zwQy-h^Rj%>Qdze+O5 zB$=)3pt;^R6}r$8^f{s0NSlK(KwS{DBHr2zJ&c}b+*j8rLZF$0~_ zUj|`rZ5UqmWct)QKrDTKSht&{DScNY|7wadebqUBGvc* z*YL1v4EVhM`%`T*XJcj0(Dp)Kec|#_4}qT1mP!}iY&P0%y%#r zmuLF@5QsXF+qfz9s(782*E)L+IpN>2=KPz!P%mJINHz5@H^EFC!CS#PNSGX62F>8& z)zIu5rBx)SSN1pk+wWs7Xd#7Il~N5+&G;Cf9l$=H-*(ut=BYuFpPsZLY0CL4x%0*p zoR6`dom&(jJ_4I~lh6++I}DgzkGsnT{|iaR$w!XTcI`b6aa7GA{RGnWXaJe!PCX?+lo_4LB0&!}vWG<*{LO$zz{2uC9H_~7Y$M{~qG zmp+6p`{SOtmWv>olM)GQ=0khRc6Mtj-3DbA@H%L!t>1HAhwpQ5eS}4)+F_tl3wK1T z4-(Sm`vEEpOVLNEqe@v#gkUzZGKJ~Cd9HjXy!->#`rw(y#8*4_a&g)egPl&bl!XhX8!he+dYaC_(PAExvfZ#(`4c>9C zRJmT!f(rBf8dJimkUQ{-;eY?Upq*g`9gO_sY4#(Y{p|ebiw?`%hW2s9_?GAh*L`8C z;VO+QFeXtziQh#Y2#UiP%d2xo|J6h2U*@v9j`DD~N{9Q)I}GL$ScPdyNJT5+sz0hsRbKxB`jxcDJue}p>yO8cp<_~5{D+Ae8&V)yDh zr>3s<`OS4Uc4+Q@kv&4q;Vi9qKK=E>d9&njUG;BhAy&CxJ`7KrEKY<9B9zx6YIXEr zeg$?!sH5LEM4ouno*C?{h$v0Jz!m4g|F}^&cP6$C=DQ|9c5ZTAr7VNorIDmPobUAn z2*12RRPQ=e4@v$I*18bYdO>xTy?Kk6W~FP;>S01q(3$iJtP8(dknnuGoF&wdNMqnI zZ_18FWD8X;uazOIs4yt1ES00I0cOXwbF^;%9c+5qsud%c^NvAhKknnWsmf2O<8syc z_@%4tJocqkN{FN-n$oJejy?_1P5y?@>pX{ewxwee8p~of^PlJagPY&GQvcicEr8paj+ggkj1f^%taxMDfL8Bsvpo_LxrP6Xw( z&i<`j{i;1Ff}-407!PKPqs8duy!|3amd z6*KeD(~6M5r)V$;x8|T_hWLimXb4o|n{gR%eM_*qj-Z76vM!6sJFmD3D+J-B-+*7M zBWoYd42h6a{2BbAo%7NNZP*v+LQWzNE&5lkgfYKiDA}J4i z-*oPW+Yd_aKQ>z3JwbiYHQncEQ0dl@FGcEqjIrb1qh*FjFnntY6e7C1r^hdm^lO4t z-{*A#r(s5Oyab<<3i;vvTv7*h{lou57DD}^pP5R^8$q2SX2ztm@VHI(lj*n9?uiQ0 zDU7Fj6S&aJ&jF+W@!yg5Z6Xdxk9&3ABdlsQ{KGrX{kP|uO}3M~puy0rCwJL`S|SVj z56}PQbE+L*)xg)znoz{)%`LD`$UaqX|I{{@iouo!l7P!3PwX|VQW9W?&|w(I-tpvQ~JSHvV*1t;fI_6X+!?*g7l?xO<>fU@NfSsQS5|u zUYBsWQgG2STdaU4w#_z~QJRZ_9dJWPpXS^6SE=%T&rYYBC^NP0AJIBdwBCf%S0C0t z(`pwCiMw)ODVPB_843UdQo@p9Pks`9ztek)9EAUV|E=H7`RNf>EejQaa2A9tc zxSw#n98ae!Eq{eu+3~h(&Q(yPVh%m!#lBtjwo6~LtUgVR-XN_~LNJH|w#NK9>jzzq z)yw6Lw7RzsjKmu5NMuJ97M5DM(Do~Bz%yGpi5UPT@TX!RJA!i9nNVD3@7plhjMnA1 z!Lc7KZU`j-zCV#kVsleIY$QUEg-CsR1cgT*7iTGD)SVq7a@S&J@vV3D?$MHrYopyd zj61zqdNvXvb-x@qOTqgkwX#s`;TntTSiw4PB<};9Y2@-!XLGtQf*xK*3|Ik5Kz`z) zzxXE4vx%O}|GO&^K6DMY4J1L8tPPgboUiKg9EOt-Qq~+GugL((WC8+(oNsw`inC%`@Ki zPlUw1Nif7+s5)Bf>^{sJ651lM(BjMtMC19^60KAa3eTb0KY;VEb5bCkUoguwJq<+X zGvvMP<&_+K`L;F~C3GTdI^9#>RV`YNCmHs>=yrUARPTS(4xdt2ZCI4HvxQFjQs{8_ z$Dk$Ekcw|at^H*!zog%mNcnRdr6w>tyF*Gvcb_3tY$rb4kkn0axT^QN}i?FcBKFbJnJ?LQ{~0B-1Se&PpE5AnCyzk%+IEUvgkC5 ziGW6UW0;g+J4TvK?e`2po(?rKV7qcE3{u#Z;yq+Q{*r|}`?D3DQWm)LBqF|;Zz;uJ ziyL9jQ;qn(ZEp29BY}_XYv{6fW<5EfkcZoR&voR9`b7#PBoyW{08{gEE zk1lw#IU=nE2iho92Vb{u;F*Q;6L3RRnGrr-mK>u;>25w6Me%^zhQs*@5OB!C6n6hb zUS96q$J0+}dO-5;)yeCrvSv8x*>(Kh0cdZ7gsOjI*>3a0ua{(C0|VR>kTbr@NDDwR z4zP2GzM!zmZK2NIg(bFG@nqPk+%AVs$4(uZw0xX;@DYaVH7FZ`M~#sGS$OkGfDS&L z7?oqpe6iQ-$twp4JO5Uq)6<|-bXk{NDd5Vk0yvLAMzf_OLhvb$HZ`af%Mi~#9|deW zS&A`35aNKK##N~wIb!+*5Baf?WwtulrW3)a&#IBdWk7p;3g|^D4dS0WL-vE~7-nev zaQ@!wHKhXBJM=d=7#xh(J2%$9TOVYfl46nQsHQYq9@_PF&`d8-k$i6grT|PlVDIqr zGBMPFRfl)^79h`ZjVVi#+VRD7PRD*ipqt@~oW}8OvfCSG9uO0Ns?9CjShFj4L|Bx2 z9KfH2Kh=U__Ru6uHRrxacP6{JfKcK>aI=}H&iAWkkXr&m$7mf_Ko>K^%}UzX3L-AjFDV(& zVKvFkHcyA*V$5!*jNxsD*iCPJFRGuJ-R`CIjXP*807{V$$nnyn+XIsE*?grrZJ{zU zGbNI&GO}j=u+y(^2h5LlQBpoMt^ntu+1!!8Yp@*U_GnY_Z?`M!_k6ZO?rz);KrX6S zsaW8;hwo1BrfGu6WFqP7T1sd6ZwZaNch(CbJ$nMRf$5iAuJ|;B5p0VA@;=mv8;Lo< zxi>-GnS5j`)Sx3zl=G zK$gUohqvoHe))(1j{ z(4#)mCb<4Bzu&6p0}a+;t$%v7bVxnr)mI`1^Y*~4!3gvJ5I8B(D(QQw6EYnC(5Joo znAq!clT3l+7K=F1vzqX(Rur7@o1x?XKYbt(tH(MSx6(2vF)9a>ZdoI;aG^HYllL|K zoN!i*CcX?@Qep)tf!S%#N8DPr!zfbn78#$YH0=1}d2wltU?OhV9EgvAans-qSZpZ^@(G74aa%O^Bu9D`h^<5 ziU@0wBD&EOx2?EgGV>)~!7bJdxFN{d>@1@ZEhN+zod?cKLdVWB0jLO?9TUV!C&xn( z3k4Uf|6sV#w1F{^)(jLL#@NMfwb&^0`cLAmbgby=Hhw5@Xo|K_{aHb>L9owAkx>Th zWD?PeU<<31-!Ip_0jgb%+a$#Vk$`MC3<%xq7ebCMUZ$)+#7vh5WOBtXq|MUN0vIEA zZ}u3h%E6kJh{+QHDSeOdq+3T_#p0JM;=o2aUBCh~C>qoGRNLc7UnuV5@*rL#N3gMX zc*wbtHXz@APrPD+HgLCw_r3*?A+Y1@s!dcFI0)RZruc`~Bxbj8ZW%{n6W2ej3S!Mw z)JX@fSL7(`fEP!Y-qUQOvh3s#9yuJB@2fWB`{M9JL{xweUyBIgdBoU{zD+b$27*%> zm-LZ^uWr=(?GPC$uk0fMvJGQ1YEZ>e@Lu8ELTt?KpOJZ740Bzd=~Xd%*V{Q>HUwu2!-(s}3p;f2G;@csj=0~S4* z%4Tv_0r5O^)OW_0rZ60!-w?PVk6uP7N#@j7>nP3!4ERZ+^7-^ZPf&6S5};zPllkvA z_F^<504g#Nfh3L#pa@n}?4VOxqSkUBTb!Z9ev4&IyGgk&QjIem_CG!B9JFYIbRq}N zKK8omkZXrJ8XNz8* zy5o+7!-Iat2q!T+e>|cH5Fe9W#iG>-{}%29$b`gOBgGH}QB5FTdhh15cM z2KJe+e1q_gQLfUg!v6&WrwL}EWr~+IWt400x(K^WdkcKPugdon!OK1!PiH%Z9riW+ zt88H$1MCQo;3u^GIcCfsQHt#aY-@vyeFV6>m>~i=oK;l3&P+?>2pk03e~^Bz>WNi` z*AL&*<-Tw&6q4+EB=JjUHWCKwtl4pr&CsRQ`mhp9Pd-%uH(9@lZ3^3QJ4|6?8Kyb- zlVxD)>x^F-_%mq&+UF~$Oz=`4VIs(K5ICd$A9E*KS)F%zg529ojmsZG^RW84&AHXXri6G zg-!>xP)1og58Bhvd={)jzssyo3dvfM-v+Gr9K~8APM#eyYqZ)KgT?1*qN;Je$;T8i z+V+8!%{`;D{)>lDSkP?jHh!s{Ty#A1;6TxVTcquYYZggYt*B;@*2Ho#09WCWph1w9 zQCAa@7}erF?K&$}wB>uC7;5NP8a)^|q>kt7y2}{4#B8&N0l5i4Bd~RNZk;QXrS%>r zuzob~3)8-O=}g4zko&~Wx5rHEcA02@^wZ+M8gkTKjrVO|RB?&k(yPC5Gm1oFupCjf zql1Es*`S^uLcvCsNmM}O8JJz@8TJ7?>+fgp=^hQL^@;Iie4h>hf$rXm!h3HU4Jfd( zVrRe85JV%$>)(c=JaLi*KhUjQ6nA(B8xkUD7Fd?w?e-XLPxSG#sT8aLl)#v5-MIYk zoC8fVcfxo{cS>&xbfv8YB(&|+&K%yXO%xk=@}Tpb3?P(9q*Lczr;23QH3&}5T|PHV zHC2k@ilTp5LlAag3uRrvLY6|b29Uh=`)sB1I)4hEE*p~|_I+6H_x6*x6yDWisn~7f zW7=?+R17mjwAqjjU(&T+GX9_o{F__w+-ZQDTVR=R#QCbC(=tKTq;W#lB?qrVt%U;Q zz4J`<4%t1*`oq#9g6R~!?)AM=#|aV)IZWN%>rsXE5DO!6x@#7dTl zPVK9TX9Znys7o?pO6iRJ^->Yi)O2zB`WF0~6!OytM>V0_=JOu{JuPIf4B>>$H_)Nt1rHg;z3zr@X|K8OZPH|6=(21*dD^ z*?j&=3*Nwl{ISABk?`n0lZ2?xv*#n?OhCsxiBAGmspJwMch*C<`0H19q`t={W)Uzu z=A~Y0#kR-LH~7RYb>;X`JFjM<4$x^#&EE`4UD0YS!5hRO;Exr65-L2e=L_rL&)iVS zKB(rEdI^fRUhI#lN_pn|P$%@N{3MYvJe!yhtYc{EF;s@*k8MPkIzKk~%MRHk53LoD zH26g7tC=n9iG;Qwn9TqEoB~zJRe?_L+K#pnJtQEa8VJWDc)k1Gs)5(H(d})|Ciyu6 z+6EXC*gL!+GbL}>`?J4)B#;94DY5xj4Lzo)9@Lt^*(bY~UN?%b?`hsJA+dBU><X@`r63Id#yje~PoFo}1*SYi<|nO+zNyE=WZI0@b@;3YyP0%!OQ-Uv*DASsO7MlBNwYaguB6+slm0wz_>x z=u6}TP!j>En2;X(SN}o$()mNeIHv6FG5f7?m zSA!k1M-r;e@B(p;j__ULJSCU8*Gy?z<^~`Zgcilu$5zek=@wL>8T`fI(*;LZZYTSP zpcZuw9etzXidPz$`V#vBQ@~P1uM(@RWiIQQW|}gJYC8R8hg7Pi@(0iV6hYyrbV0KN z6wv_^gP^RiDy7??mPF%5fG`cJdc)Aew~B8}ot!8R>K<1A3b=yLP(S~`qk&XlQpKrM zaa8ChtN54D>YbL_6h6RObE_a>gp0e8rFqGNQ1Dx$Qk@~Ei9@h*B0u$-1^dFba8P5) z_zd^gg4c60ObEsc>Nj0no2QlR zP;=Yf<#;$>?95d@0JcO8^D>qD-C1Xa;^8Br!+WQAz&jJ~xmoWDAs^{)r1d?_-Z)Dp ze1cZOYBy5ipR3W(k1KDC)5bN{P6T3rU(jKOc=eRBYb`x#_fK#zHh&mpatZ#P4;wl> zaw=rLrwB2!r%?oUM5g$VG?y;p_LF|tu{SOi-2_3 zBDFNqA+Shyw{)&_cXvsbq=bZYcXvuiNC+Yz9q--$`+c6dXU@43XU@!TGX1K^k=z; zMl9zn2ZPeUOcb3USqoiq6GG+)@a5R6If%3_5Umk-J|zD{Hb5{_T-g_=ZrfEd2|fMt zDGut;+4CUmzcV1j_e;*Q4<7jwOIYu$Uo4^W6c^pwZ@E!XEUt;G4JE0vmm*~A@Je$T z|9(y9@}Gyz#*a#xJhiQ(MvNre`PqfW*wFe9(>27zSb&&%AlFE~)1 zoG3A^;L@l27lFnA9y7c??e^|KVz3Yi{e6D$WrqE|^tl@uww>TfI9W-BvtIp{bJd!q z0sL0Zpv$oAsf@iu=$tdUW00pXubOke>o7#8zVPAnm=dKDkvwp0Fc!W`*aXMpnl1*b zJF`~&yiF}gP6#lyA5o77)^UUKwPT9M9L~9j?y)X_1w(6PLa6;D8UK`U7jXKl95-IG z^u2eGF<0#IX_D?Pfz{Z$Ed_!F11v3VYnMmIAh)W-{6RCQCE%XUZD!C-pfxsOlFqgJ zmDRBU$BGZps}Mjtgt#0_YF{XxrE!v^#Z2qsy+rh;2~G*O@97p@=)Lk}+54=YpN16& zocl}KtK(K?)!KN{Q&JhY^F*yb6V^`unFFPUq!L3=IY3g z7%OBGJ!spT5mctsmv|<}U6JPkJi*Cqs#%cnyZW1Z^a!p&iu3YGT__O5A6%PCcP3m-zIg6kze`oqI zOPz70+uAd-J?C?{FG*p^c}ex{pG9ypKEM-LCvw!%mUTdE+lHBBocHVXFI7GHwYWMW z|GclCd(gQ^E4Te}R-16bEPxDTc&X$k0nInio|l;0bz<)de4QWLitFC`CbgdpfTA4^ zfnB=7f#1q8qe-ZLzQdi5q6r%-NkJYx%l(K!X$sE$pR>?K;fB&U! z*~2-Z}NxY^+0T0iMDevQz6y78?3X$Df z_H4OWZ_`CB`C)P8lkgMU{B?Gg6)h9_x$%jssObb8*N78^q}RIKLH-&?dZi}nPq`OS zJ1^&BLfgw$odA#ch4TQ%x2C28@SY|-_JLeGET(>#E5ps~5mcRhl+L*qFU3r=Xt++J zHM!me03zY|57G3cPW?&qoQHVOCYym#dNJnrSk&(upW-*)>E^TNFCf+@`A2ne#X10A zR~}SzV|kDMLp@G3-9XaZ7<5a+gd|8yfC65(19C)0t(Ta$xvwvrT zn1#W~0xF^Ww5EJ=L#O5eA&2)tqxw@i++6Inx|{RNzsp+_%2}-3c@h3bE0v){;_EKB z9G=`Q^^Mw+%K5qOSz(W9R%HHf|?a?5}5 zn6pkP$Y3={K8ykd;SKRBHru{O1;Gw z1McQ)glSaBE`g8re7)81E>|jKMwNtK&wJ$ixi^S)8F87o@zmOW-hOQjNw)1vVYvM)0MJi_+w zGxK=iO?(2eLa3mmD62SH4yxFw&WN=AXU!Oo zjgZXbc^&FsEli)LRHEt`gK}Qv*E3jXUuppCCz^MQJqKiL$kOXDt#RAUxcFw?F6I5( zpZh*M@7$8>3%@rSmoC65QPQQl^RBDY)}f3Qtno!I*gsTEYCbf7v#%gy!q@byFH{$# z4>N$vPK`UQfFCXLY2oyEBWCPS~=^2H`V=!~1&V$2JOocP}u! z=}EXYYceR!FQ{(E=&su- zITS2;P{7u-p|{_XM&@qfkgTw2;p;?h3j5uT`mc3CVU)OkkJ7ERh}->)#-c6 zy8i1iZTuCNE_Twmr5#_aW4^w>d%XG`)h1pDK#6R|R#;2H?H5RluU*V3riyDrXK@aMW!nV7d6Ej&T1^h+H+{}%9*U{q6Z<_UYCYaJn%e*ySc)otZoDo3 zqL>E?0&dV;160!!L*MnZO3@8Lv4~M+*xinmT!U|(VpVC;dlvvopR!F*5MXIhK>p(h z-#z1>Nha3mZR2MZU4IQM_Yo`1f7Kq46v~9$4l^@ug5Y%*T(h;FMGLghIl>o{4g2fq z`nrMok#oMPD{k$;Ps#zgt?)cB0>LYUk;FB+d4B&aA;Q;+>kgx}Emg!vvXG)-(PehL zE3EwJe&a#Dr9iI>P-0Bhq`nqYf$2Ii{~{@)pzQJy_I!dF)eRhB4E`ZI8@2JA=LKdB z18*o&vn1Okp3H@h5oEiDY4Cv#Wrs(?v&H_a9s%4O5bLRp9PXXvLVb&-us3=LO>;R#qe30I}Ffb zv*~~*+O@`@pZDGB`yv}fJUK)XidEA|@ELK&l z%A()mS)^%akIb3A^=43(l9KVR<){v?>n3Ly;9-%=WS7hYf`>Owu}0{!E4%X*CV%7T z9MBDB%n08)g@>~|IRwJ~!(=9D7$*s2g(0%t@jEx_juQ&Qs%b96$>$~`+~aSvW5Bod zmd9!Cen8HOG-TP-AIq|t#A&oaL&;J`s~ap$9meB6MlWc*Tlhp8WgJJ&0Ll!ZXT3?>|pqh^TD;9K`UR4{iBd*HRDJaHcJ<28fz1YMa9V|(WJSg8EI-=L*x_FWfs zw2>xO17`w}vln3N@UQIy6(lKt9XD!0QZ0 z0!K{CrbZEs@D|CvUF z2()JT9vT>X7+f`Vi@D5EOLJNzZhLYI$lm1c1+4SsGi{G$4!ZsV=z3MhIZ~WS5MP|~ zsV-O4m-Xvwr^V~hyF}wAXE)%C2ua_Fyl{{BG3DevFa2p<9nF3n?df`Y-FOXTYhe(S zb~obw0CR>%fNw}X`mDYCSuAbx-r|PjD-lzRPp5+A>w(kg1vfit8T7JVwecorcs~M! zkuuiRQNGm0y#;c$u#qd#L&O{LaksnVu;0_@pm4fn{9n}IUsFJKQW;z6&klT2ETZ@b z8qnc?sI}nL?D-5GF;A6dP?wA)`iQzevWX=i`wQ7RRk!MsvtV(XjiY)B!HnM-ft9lb zpUXPXtK(~dy;|~gxBO=e*gD!YH_&M{q0--LDGlCoB-L+7Tr7tzXN_D6Ocf7hsb6hj z^+YXy;hu}Iv*lBOC}Yy^0tYkYW#&L-5|GEm)A9GA7)RGbNq3UFHb&xDPes7eN+K0M zMr7O#XmgZR6tR1qI}WCrJDS@a{8mbsPE#FozuCOoUGP-}C{ZUQ4mHy#pd+ULo*TRs zCo0xLRBL$5HtTjg*s@>QSKpKLfir!T0k1786w-1C~}M`u0T8Izn^Nz=UPe_ zQ_O2CC5KS9S+Tp|sh$eF%LK46PR@l%F!;0txN_a7@z6Iigp<90T?mt;g$WXWT$3ai z@bpv%EEre2B+JW0o)=d%@sXc6=Xqb4zW9Akxhpae+zHZU24R$874$$n72|i*9irgSXM-k}R{n&_g2sZu(~JfnfO+NfhBw4#AH2>n;|X9KRZnCEl5^;IWp zx4kFucLX}fHENHH>($xqaLn@C;r+O`ZmVt;ewK=v(a}T0Z}0vNHNOk`kqu}uwv1yN zmX1(edjgIZ^Ok6jtts}Bx2$ASq*O)mv}E|Ut8x$TJQ7*m{FDcWZO2a_;hSt zQeshtfw>VT(ZI+9aR4Ppcg<7fsNbI_gABL$xw!JiF-3fjPc>m9gX&8*-wKb>{8DF4 z4Wd2*adJvT>C-}-J;Fy5r&5z#jAcPO2kX8Neg3yt^k+@(wp7!a!=?Xq1TdiJ>)BgD zCu68$OSZ~Srsz=Vj#}Hzednv~6&RZ1zj1Ujg-Z;;EiJe=|E=Xe@h_V4S8c)z*_&%O z-zH1SCt13lkr0QjUT~XmWHkc4Ex<0JTGEkyYm;RVAlae+gLV4UMAfdA)nA3^l<`*l zF1+o@R`iCT^gTS!fKpWNOXyLP@O+|T^H#@!ToiFUC8{+Q6gu_riY1_|0$R#Y%&Bo& z-bO-KdDn1d!3KKTt?k6L4h@S1)|od8n}{1;(VX~U*FGC|hILV^g-9{Hpz*S_x>%u+ zHU-Fb?! zp~_XZnA<-rUNAI9o4|cbC`7>3(%aZ8^PvpbPqel9cFpOu%LQYWW8B8nyqU5l8OQP6_6bpdElw_ z*Cx#QtGmh4g<)$961%F2=;`y(sP!~@g++ax0#&W$e|UiC$&w|;8I=rF0(J>|*QTDz zIB`cpmF7r_gS9y+Ue@Pzd_Pf32T}l@=#nF&z4%%F&^*mKYjLRxsx*}9k_XQ3hubkX zQ3Jl`gCXOLQ}~>Gm@7PGcYP;<47Jl~xt_ z4(wcSXodJ8jCEWEUTdlh;3{C9R56c!zI0`oLRXWX+95_XM(alQk+6}$Xkv<&wPQi` z!>2f0Vc@U88KI~~%ZpnzYDpfHrSv8tX4m-d**>)1x!LT_svkJWyUdQ!0BFPY0406J z46{m6NSj*w!gzXG)pK-J>je*TWc*kMMKICgvf%1Ll1do3)(XhJnwAWd@3=Tr-DmJ6 zLCLsbnp9;>5i&d_p>HadRV~jqhQrshp%uV=6Q!l(o=3B#Ff2fE(NM_n`wrgMHO7}H z=)W*HKXY|!x@@Q^&mcp~fD9z|i06Hjc^Kadm-`{z`W}t9Vgt+%ZV4xQ@~JNURq5QE zynUU>&;Z~x`HN^_xUcmuS4i+lq~gQksrlhEdgaif%DIpcFC^`9^}uJf$8cn5Crx>o_Dff1g~-aPJpWUjj2Fu< z;BX;?aa8r2883cvReD$z{_lO4@?{p;kvwEeyPXLUn2=Yer*O7FcB+6>WeUqmHrkv`0n8% zJpz~ugM!+*5+9>t(-tCe`0yYt4Z}(S@;3BMqpWW-OmmzF9mHY!ooIY!hSsh~qpS7; zvpGeGb%W5f*dIJgfC_?r7pv|Ul&p{s@e2?{5LjP5+ANTJ$$2xaY z6Bc~d8wdCY|H3pyeG?2uYf3+;mE6*W0)3$mF{c$` zd!=t&quNk$+ob7QA)e>6tAPW@(BKF`K|)1_{>swPEaTN2M>(X>HDdn?F-|D{Q8yw# zfX?EtD+WP>M{DGM6k9u#5=cm9>0+90YVLTFSurPXjHc8-bq`8peC#=XrCtXjfxpYJ zGft~#aKE)bTD|-y^i5*pH@c6%Dq{o8z>p_JVA@7Gl3BVIM4|-zb^eb7`FF&=e7v*{ z{l=Z_Nas-))TFZ}+_jlrC*}#yJj7ynnC>L-TVzOP^%7&$1-(`eHCb43TCmWzASQ%l zTNU|OEVg@U*LHNk6VY8r35XR{%ioTFOR9_;OLLu8uf zFW6gAlQA2Ri0og&mbD$bDd(5$TWT&N(uN=C_rv$Jg!(EyrS+QuWfSa!vuo7f0ZK5X zQ_oKRRy+R93z2V23qDHclAOd2I3Yx-^|ec3&1}_N=_h)4^?-J8d2sHy;Wea3qnz!j z6#rpmyO=vNFLrK>(q7PP_LG7HAwh_=0D*I0y^W z6&o#`&2oPl%=QZVit*oEV1Zhp*EkEoeWRi)F)_bGGrDGk1!Bfqv=3)qnuy3H??->~ zc}YYa1H_7io8+O1?yyi)^1p#npBcMF=v;~25H1>5R6Ihuizqkl%jLb&oZ-mTVB|L@ z*{X6M@j^AQo&}?m1+}a=nXk3eDXM94@MLf|4DWlQd7YC0iI8~iswus!EY>;1WhnR5 zh0qv-RjksAXcFafx!X~?*yJ`ujV(Lim7)Yr$;x#Wcuw>%(grWARvRLJ2wwnU@tFPR z$X?$%qt}9ornB zso3OPsnSd#AgP@XEJH1XhYc&VL#(7#1>4&m-D6z`V-4o7%hAmYA zlxW6N1b^LV)jqy<6q_i)x*SS7+Pf?8&&-+~WiIcS7t+r2=n7ka*9Flpr`9nt>e8n< z4QSbPrv+;9HYd-#O!nJ0A6Ng`pLn5y)d@^K%?8dLrG#IGYGMVG!Dq;)fK$XYG0$HyNpG);O5ka$<+?PUorR# zn^Y?&Jib5LB`^3HQga@#ggLTZL}ck!RBSUQ&K^S|ZD9CNA7Gs_Z^pqsRWmdhcRbb( zq8WT2&7D5m&*Ey#790f1rHT}(ykDZFH?RZl9diB#;q@t)o5a$)W02FpMC~GG;_1~9 zjU+COW*-Z)BHT=#xK{(lfbXCXStTvPcaAk+Q;2(JZVj=$lUl8;sJxolU^qGsjkUkY z(F)64PzJ0G6~VK|SXFJWX6nvs&2mAjM@k{SD8w?35 zf&R7emzn65m}@-;&v*fVZoU$2Z`_Z>upyS|?=K`lp6s`(IJPGh|2;X{H8Dh-QU+M@Kg@nF7 zAloO>iLP!J>4Car_Ub)CADMq313e?aE|HER0`)V7EqbkjMSSC}-*_M-D4eq-sKIvC zA0Cs=_E`i`ZSL{lep6_`)S8l#|3}2KfTTBlv3$ely?8yQSS45aI0Ks#RQ`J`4`WU0 z1R&2KWTGgs;tj{v@cK#=VWH~1`(oe4A$FshOp`=-8hrSVG*Bqi0A7LlPQhqN^3FhH zk$}KQ2eL?%8fkdn$2i9|VY8udC`gMsT7C8#xd;B&ap(`B>r$j;p$Cgz?Y&<@>3oXH za4lgCRk7vaU63oa#k<1q3^lL=*2zz(x0;0Eg*bKop`Pa7sYV2kyHRx7TBnLlX{pd3 z9$SvtYY}<_!$d%jKH&CfGhhjQJQ@bY-(_vqzDRi`f-SApOY|e&OiO33qE|BPRirv_ zn%EeqmsqyJF~rh3T+Pty`@`rv^?W_|spD=s0C@%V7>`TJSs+#&_&*s%iYU|SSd6*1 zmzJm{ExbLMOD1+b40~$(quFKYVm;)gM}6HR;aPXTz-;0sg=Vu>g$6Ng;XMTeUTosb zuL|A-(jrrXcUd;T&|U^e-hW}-XJCGSQyA1Js_=7jMSeaSfTJ1d2^Y@0zkW%0?SK^*d-v4L8P{h*v z8~L62vG|U48ZK}3yG-|X&QtqfBwkiG{m`7@3UT5$w9Kgh>^!>E`|B_e2X-sM9%{5> zl_2Tj6p>F_CfjLoCCq;Ky-R}NEwN<|{3eAJ_IC4HMljxqic)m-v16#evo@fhJ|g;; zh&@_M7;xRzt4DCpflvD-3+I4p<`*#}+%-74A+P*Q!#oyb4&K=2P}~OV9*|b-#LgR3 zV!?f!h`mK@V9Dx3g~#U|hjfz4r?(C5pXG7r)8+iN7gUq(Ib?++zL3KwQ&3bPwRwww zuR=Tx`t9#&?A*s(K)NDg%e^JykWpI2#A@u@Wj6IH2KYL`C;U$>atLZl&J#Iru*ohk zc-9+Kzpze8mZ!}44X&fM=XImiAcg_{9mRjbt4@MY*DJ&w+Y)J>;|)6zZ=!E|YT9-( zb@@Ay>YG5k0i0BL{u30eJpB!we~Zxb3ktqK-;KoVlJRq|sgr|E}@uDmpXg8DB2qodAkn)WQBSt^AlnRzA|*svlFDo1f<39}d`GI^b2-^* zbhuv5xh`uYa5Ps6KI53~-)2an?=)it>V!8Ezkz1)21@dn8PpJ-kp1T5w+-UP-oyLf zL4Tu+`%C(i3m2CWK2oG-D%K49F8LX4;hj59FjU;QQbT^bx#z$!$Ji0_-{c-DoA_qi zk4g?h7BwubZAi2nj_VZm})sOGB%~g3pu>f1DKgP7MLGb|Q58j=Ts8?%_1ir;UE0qW=Bp13Tmx z^PR&N+dy+*omA9BCyQT70+R}Cl=9|3W_6KDw88{!lt_zO zg9OvpqST5{N=`U6T{6(q;wbA$ym5IG5~*UX|#k@>rTj zh7mU2Nx9Y4(8Cc9@xN4bMaifZhlpg7yk)Jv;!UizqwH7dbR7TJYY5wi+<7?1OwpSH z+JV0qrX!Z~&?@yy%Xlh@Fv&|J=k#~yk)X3dgKoK6NA(?Nu{sV2{=$gCn@3Ssg6%TF zZDD5KZJGButcq4VQk@d5Y}FQD6n*+bl?L!`2&Y8Ovn}2+{QM%0loT^Al5}UKC_{Ev zqguC0T%L^SL699a4z^_k@&F_vAs!bRIN*0Vj&)xoL@u=AoO}+XR}4-y-bRzJZr2M_uCf6mL0sx|LpW+#m^?F8{xtA9obeJ z7pNA0{NvP5eepi>g(mY<^@(Zl8W2wlBW5%zb0f^DF;}(4I$#-7`A%y&Dky20wemKWndS-r=48vTC^! zV|$4cj%?@B0`2)IHgd(tM)hV`pm73D88&%>7R9}?bz^fwr4;y>$u!+kR5|gfC@G$I z_oEq|9Y8JTJM}!`REd)3CPi8TR5OxmZcu7Jot7&5vMCp8zbt{m zF>{jJ9(dDq61E)YBjv^RM+B#X%gAJ6{ni!jd(vEpwAiHC*E9zv;CQNNPU*4f6BS+x zCs99VtB+{kR|O&x7((Nm#w&}*Favl5=<-NY|EtW2_?-U;k^gq}ug#Gz8-iXpgB1Hh z%|oa6(zn!aLFT4Gcpuq66$(d)O>mF6YDqOb*vWd(K&T{J zMfGP*y%7qZ{wZz2>&=#PGt-nRdT80^^;W%6u(pCDgU|9>#N>!6L!{Pnj6I#Kjky2SJXUkbGb) zi&+9XEb>jv>_+Q5y;l7K;WElUncM>Wfc=#9&i$N^92jc4kl5^ci``deWuEcw(SpPL z-(?(Yb8l|z&`vp6fHxh`P1RuPU&8*h=@xd=6ywp#e1sZW@6+Fv|NL4Wjin8dRm6aT zlU4ZPdUV1*>qCa+H#co1P!YRf59gX4!>(9141GVSldnW-s@A=x@<={}7K3 z#Qk!kE4kg_VGchVM9IZP7kuOTax7T{ewu=QM~)^-n1K_o{stQp zmNPKF+Ccr}Ejc9|MrN8GEK3=Qu6qBQT1&sex3#LcsESf6hm2%VV(A?`hZ(mt0%+ KM8=A;C;tx#;}-q^ literal 0 HcmV?d00001 diff --git a/auracast/announcement_48_10_96000_en.wav b/src/auracast/testdata/announcement_en.wav similarity index 100% rename from auracast/announcement_48_10_96000_en.wav rename to src/auracast/testdata/announcement_en.wav diff --git a/src/auracast/testdata/announcement_en_10_16_32.lc3 b/src/auracast/testdata/announcement_en_10_16_32.lc3 new file mode 100644 index 0000000000000000000000000000000000000000..cc224dad709ecbd3e41a72264e952008afd08b74 GIT binary patch literal 48654 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 literal 0 HcmV?d00001 diff --git a/auracast/announcement_48_10_96000_en_stereo.wav b/src/auracast/testdata/announcement_en_stereo.wav similarity index 100% rename from auracast/announcement_48_10_96000_en_stereo.wav rename to src/auracast/testdata/announcement_en_stereo.wav diff --git a/src/auracast/testdata/announcement_en_stereo_10_16_32.lc3 b/src/auracast/testdata/announcement_en_stereo_10_16_32.lc3 new file mode 100644 index 0000000000000000000000000000000000000000..7dc7f02e153ca4149b9ea95801f2497ab0232f18 GIT binary patch literal 33198 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 literal 0 HcmV?d00001 diff --git a/auracast/announcement_48_10_96_es.wav b/src/auracast/testdata/announcement_es.wav similarity index 100% rename from auracast/announcement_48_10_96_es.wav rename to src/auracast/testdata/announcement_es.wav diff --git a/src/auracast/testdata/announcement_es_10_16_32.lc3 b/src/auracast/testdata/announcement_es_10_16_32.lc3 new file mode 100644 index 0000000000000000000000000000000000000000..bc0856c780bb08ea20c9edcb948c30d312fb18e6 GIT binary patch literal 37272 zcmX6_b6lQp7k^sTvaR)GV`0^@v5aMN*|u%lwry+KTI~s2EpEMczxV&|=jb}R&UNma zcp4Lw4-$rg0-ZsFK&5o=KwywUL}HoS_lf!sNFM#R3+1@;+cp;OL{MX`zB{U@l>2p^ zK~tE-3>f%7N|k8buGEs~c^qOpVPdDOymaN1hE@5)l%W+k-*j z^wktCQyEf+2c~TWN8C=rzKExI#Do@qWcXyM_48~O#_APjA;`ITJniV^WS zspg-eF&+%dDDz81x?SQ-`OY_*qqnpRRA0+2c$>+L)mfH9-i>sV*@KZ|VqziDu30Cr z1IJ5*B<)E6O)Rc}0TTcC4OG=X!D^vY#e1u@to^BN8C_&X>3=^%{_%0dS8x-30WtFyo$vZsV0atc03lc@}u_^Rg%%uU8Lg9NhG zLE@neBrXVY%xWVok6H<6#M7GS;q7c6-s^#FEQDb1Ibm$wh2Tmm8k^Pc;bc5@2}0J< ztVAvM0fSiksWf#OdLD4TuWuTMcw#$BGOjGNEOehu%Ivv?3ZK9;S+mQ?R|7Qhe#Lwh zgooS=pJ|ZQ-YKM|r1!w$;)HrdXGG)9%^8}(bMN`a$iH!i{T(fY4K{17_zI7hn~jdX zq3oCNU>CYc=Kq^@xiJ^=%z%V}lvnEoa6j;Lj}3cHW_Zmdb*&Rxl09WKWT0Ndv6mcx z2;_iGZ;!K?Y`%A<0LU<3x!+Ra{RKk=(>R6i!rqJ3f9v^*F+J8qn*lp#Vf(l7YRP$J z7(im9ylk_zi(Lfnjje%lQYl_!&o+5Tgi-69HV0nY|r`(p%#|a>(?8xU6}tUC=Gv z{2oT>MCnZMC>z-hJ4ANQ;%`6Tbxg?=SNFMXpGip;iA6o!o;6&3WXw$n%ha#0H~Bum zT@s*{RE7WT1!zitWG7R?h;u%Q#zfQI zs|EHx9&mo!Yc&Lo89WWlxm44qoPLA52qut>1!$_g)Y7IbpwuM0cZ7yXqyAMFBIfza zmFHcoqpd=1S^J^0(JWKdW(WRbRKT8{kH*VsoDTvUBYj(sxyWH@ZIf&n?5CheE;V_Qo)t`f4W z{QKDYf3kM^?;!>jDO*=|Nb;H+>a??)>KR0VK~-iulV8!2i|oenWjJekel5eX9oS^O ze=1Pz%CY~~ZTg^g_Bmok8;~dO>D9*lX=uFMpoA{plVhdz@ymqzGhK{a3>cJZ$#@h(I~TnPPv32K z&?;cLJUeIAwlOP}{-Om38rs-#go)c47@>NaTmV1{t(Mre+4jKMJ8 zagsQaEXihD)ZSCiNfjWI0|xD$?|=BNgF)SC{pGyprF7=J;GM}TXo1)$Lagg%i%%WD zTd9jK0*ENkesFtO+H=xjxt^jl174a7EHAl$_K8|@L0=mo5z|zRfby?i03Tkp&t}*<*_9L2Y|(yCHZCym{S90s8D{9VgS@xUs8Ch8MP)*l-s3f_sRrZ}Ydgv0 zK0%scQ6E~j?4>@YOr_w6fF_wB4oCV+FCfK4dCV zUB(n%qeIcBhWWR73_W+V%te_Dl_kQ`3~)D3!&=uV!~W5fHAa+e@;D5z#dUTa=Oz7_CfPBCupo?rW}E9=nPo(b-% zSW$F^Nh8(gjVET6c8~ZFc;YrMZPdmLAk!jc4*Txekf z^-WG@b~9?qF-Bu!#Pm~5p269%o*aI0ig$r2pZkWsZ>%yNtivpAptb`@aw#s;6|yl| zt6@vN#fJlU8qNi>9m?k~#~ zm>*$-tJeP-F-o;S!9x)4r5qU%?FI&w57mv0vr55l54lN+IB=#GD?31`@G&3xiJE=+ z9?oFuus`42i5d!U@7joJ+|L^iPwCZg#L0;nVMfw89b}9Tb<@UjU+%)cQ%0OwL`5qE zq9gtw?BV0V0BMOP-+I%?uoKHO*B_D45@xkDz7o3OBAfm=m@X&OLf|x6(PgojRpaD4 zR(3uYLR`mH@AH4f=?*azaA+@+J781~kT3cWqUMKzLDh&1n=+ubo6o&#QgoFc2vXKF zikR$lD~@*8SrP~Hn}>*n)d^9{fy_WA(_gIe$feeryLe908=3jf+(QGk($rLVFW0a3 z?%C$hglnx6^{ulConq}GZYZl__Q8|-t5^n4rQt)q2>dgjD&(v z>b3Pmz+F%Ox)7wfVoipzd{VM_)SeQVz6jU6{V?Q8oCRA7^kB@cdiN_J?>Mv!s2C9( z@^njd{MkD1rYstU0_M@%K*J*s_~tp-N`NN8;1rXhQ9nTlV@S8*vv$Gvp8KzVKao*> z!w4=OH`YD}hvdAUOQ;0o6vf%n-IgzeMeT#9oDDp*$T=L)h+P=V*5132<*xIlI0|u^ zoJ*+&bpM>$rh_zJjUjt!s9%H6L*5VJ3s$``X!;VhRBLQiQ$nFHU^bWXW_gm_I!%w4 z1LmRc_whQ~Fg-A6^G$SXN~0Y)S3lAfD6~_9ZDi&W$^ki{Uu&?>n0`H6z}M(CvWbxo zqb^Pa)dkk5{%9x}jNmPa_o?qkOUVV0G--E4>16m~IesOCrel|PkH~zraS!o-2`+_o zQ4%Xnq?kZxQNe^yT=y_T4-#_^2ts#t3^!~_3Hw5@bF-t^49yX;1tVxUj zWKD_A1mBVz8wR|n_M>$E6883U8G<~r9Aj-sdF=V;KWlL6GE`9NKu+ej4ej(ZZcv#H zY2j6106E{du(7_A%9{S$WWYt+x_fZ;P4$)vQ2~&XKMqz>BP9<_)&S}5HY|* z%teA_Iv&cQ5=0FXuxA30pO(Vx5siurMa)#cumql$JnkMo8i#xaH0l;;{M=KYjc{R^1&jx8oli5_ zJ#@RtQw0bB8V#2k4_FVm&^|!han7Us$k#dg#Bzp5LMSJYAwX$V33=R^+@%T;0B9Br z1|H?&P*C&~4OzJnI8GoSSJ=}hW5vqviU$SptRlA}GOXi42?O>l$d`DANLJm1t#RCv z1yok@^nw&PT2JQKMpqt~^eJf`PdCr;U?qSvYNY9RD_WGdH|%oKtd`5OlQ2zrP{iV% zo{`D8YStw*ed<@&qYB{$bjL{|fT2aQmO5|#nEfL@b{|uQ68rn~B07l4LMp2A^!RDf z7ZDGh8_0^}T(Zc)X}d#yr9!^Fzq9|=Z0V0$epVyIb95aHxG*yPXO)V@qw(n*&`~of z(|;phnjfc?XT2w0R8w5inX>6RoGqQ0Mq3NSq$$J&X)NmYgG;7W-Gkap2sF%57f9aFxJ&(KFJ#X3v%5@+T!M{tCE46;~vwT z2Y<)Fhh--6{Vm0B^3?z`#8^H*>m3{iTCrWppm1oy)4a9%ZK=$+0}u(lSi?q%iF14w zDoHC)k0hlkd^2Gdw@We{sa7(mSQ4P|!M30K#MUG=HrPvxOoJmLPta1{?(dX>`Vz6f z1{i&1+Wqj|34WhGpNVIf&9M02On&RNhW*evnln$x-Z zr<~ICgN!G;R2-*IWy#V{PX-OkzJ#~?5w=fZsKOG4jPiv1P|I3%oS~gVFdgV=SfPmwNE7KK*u%WEO%#Lsg4l4e= z+x-NR_@FS|P&Po52jj3y-|Grfsy`Qx+TC{mvY#OGtugzSh+yp64%B#r0jISTzWvr+ zghQ#@K`eRRk@(#>^!I=#gext#mPsZFdU{l(8c}6!64umB%ePAbuj5Y*cy%4{`X_nR z$zvba+4&UwjPVQQlO(|8FT!8fdeXAfj79&IU*{v{H++}!F zO6HX5JakbuE&_2kuv-3TXEX#@8Ygh5m)IXd9|d`gYFNco0{%%-xxCXLz(lef(rq0V zr9nEdOIARo;%E`M!I@EQ`jI+OjAtz3FCL%S_cy2)yVf&;M)CoqOmh{2G-NpowTW;sJfm*E&_)CENbGZXW)GvR zRvEdj!~M-O6KXEN9R~jsTPm|8ElSc3@e2X$%OBGI`l+vaD*?;Z-Q9TZCjFUZV>~4J zfPbo}vG&;tt4}K>n$HOSFlbLz)B05X!nlDb`L)Js_JVdo!qbokHXpDOw9{@&9k2MF z6p>(zI@Uplj%3=mzN7l1Yr;mFL@SB1kt@av9@s*Frr33h_R^heef353Jc&LPjBIOe z?iy7c21)nVM#sx*6MwF#Z#-(HfJRbvp)zSlQnhcb!ryw7A%+Y9F_yl4C?VwDn)QVqjf*y>EP79A!k@HA65}rPxZll z%_i5m? z+oTFBnH9@@AO#0uol_~-0@<5~O@e^3a-y|8fRmw7PkU7(MS25HWFq(0P_8u=ODwW; zgvRb$MlFz+V!!Vw^URwDXNg&d_Af&u{@lT_+AmfKGrpd`PCvC*3%kSdf=Aw}Ot^G5 z(nqwR)?*xme`)i}pWrqZY!7Z(u1{PL1$^EKG1g0R+|rNr0yPdx5r*SW(W{T42L>FG zd>aSL{=tdNI`7oL3kPMl@LdfF=IlPEcvLu!%e6#`lu3-!q?PCSSjraBa+ct4;KZrw|pfUVm&3K_u^3S#$Av30A2gZ#1Dy62ZhVNEn!5A0)Z zmArN!;&`JqI$UESX$V#{CaNkWeO#pW4@*l~qBtKaMz=+cAO+x|D+Kws{E3hDkcNl3 zR`T#V*Y1=|&qKk_XSQjTeTGl$%6YzY1j!fA7`2dpiw^iXG2t{%JdEzP?RVEd{Bt9Z zy(#;MX4)ndR1;!eGHe|TMys0jvH>|s`?bMVoExim)OA=JzucSUPLOH>NzD_IMY%U- zvAk@JPGpXn|D(w(u!K-lIfBiMqQd=SjzDa=Yab&!&b4bwzS<^S<=mFtyHCI?OZXaCuJ;z3#Ec%80&qJCD8HH+MD{9Db7)dbXVWy*#byHC&5no7`#( zt6e{TheqPPX6xu}^USGV4A4}K-dyFO9fdMj+00g-48Ngc{1T)amayZcMxOtbkbnvO zDnr2ev>vc$BTX!e(An;CBA63)ytJ(4WGA6rbu^%xHflBhbe62u{GAQ9=kJUybRHy8$_o0yvUO#eCXPtA5AuWHe93!yx;XZV0n= z9a_y)NhKU(7Hl6|*f#=5vDPee*#6Fr0XQ_R#}1$L{e*paL1r7(!sPTUdS&Ml%p2Pt z6Z=XppjUM7)Or84kaa?Dw8Zh$%77mM)PLWWH%H=_Ujm0v%q4uoN?NX82+$N&|3Wpy zu^&U-zj`E})!kr)EBM!I8Z)rV>)*TLS6y2X;zf1~{Wo7S@L$>&{sCJ{Q~6ul0k&1g zu&JPDmU@vGxz(NBrGvQhJplq1c%Rq!3# z&(hh2v9}2i6{^nrlIO!f!dN|EC2~CL z%UdqjO){D-#-}zt7O!_LQ85cWyA~GU=U5tLNC3yUsf=PFkQrn^adW!nf519UJ zo95_gVUeneucUXDv!MOZpk`{|xQr^F$pm^E_zDWyLz3K8BWOpy%icp5UnLD_loImE zy^ilbC7AF`{t#yC@|kqN^3i`E#J>5vf_cm;&5C zMOx^k0&?oeg+ix%WNlzKnLFK$Y+hIiu3v;9SDpRzjAMxedW9r?Rb(ljO9qf|9|lZi z@u-_2!^v!Vv?{w$dEfoMZ6u34iIKq_)_-J5B4*S;&@To~6B`O9a+WGpD3@1I=@AYG z7i&{=o=ScNDSmNADYEuEBna+6EZn{p$h2Xekr$t$8`6}*BtBm7=ECs?m3|+zY|HzM z2U!#mZ?H{#A)vQnsRd}_5e}`xN00G(=RkViy?i;{6u6d>i(q4dme2Z_I~5Aa#Hn|x zw66v{JV?x`99FnJ(@4g7oqL zi@qySW!nn-?*p=y*GDTz;-Aj#0!S@@Bn`5+Kws4y@lvpF6rjBE?A%KEMx!N^i>s~1 zG%1e^2^HjS>Zqyp0D47t3d$K`=O$Cz&FimIWGsrOF}L5ix-Zz&REm@+7+b!2Z$pfa`2u07mAs+{#dUQ&w&yFWoejc)QH(tcIj@qH>>DX%}4_-krjxcxR$6;)GdN%28+ zmz4f(g__3Vpo&RUI%2K8{c+dd3-V{#<#P@(LCJ1Cp!<|S`me4K4f-$Lp!=-dzu^}) z2-NMXKj~x1;x<1%D{`qj%JUY~6$Ae1oR*^HN*KI~U*Sec@fwvlzg#&H-La0td(Dng zoktBR*l$NKtP2D*vY!?^;69Y|Y&n0?yE)SAbz{8~#8#iRALrR5uX8_Za8P7 z3kC(n4Q^?KNb}%;6Kgo53gmeK9`6UIX({%+ps>LbN|<78MPW$MbvE^+0v4>P zpE=Eu-xe*@j3(go?Eb-?E4M8T(~L0^xiNz~1!1>=Y5gn07{cHb3cSt|)^Add5pya) zX87v%#X8#!!B++hatyj`$p5J=%wXuG0VKICpqi|Q?pW#RV@RRyb9p+!Lbaw+#j}DmdHQW z{X5r7JS-qph^Dzj{?lBDH$)6ma*O&)78+Fopy~KWEmT&lWhJUJVszRfiY0s-{S^HA zvqax1S0Ij_y5xaD+>Q!W3OJ(#wC~QBu>W9H|E@>%(H*-6_JZjB!i68De_ExMy{7TP zP3!!FM*IZmUf%MjFZ^seegs9j1ltnb9A7qDXo&W6s_Ba(5FPUP zCM}YO5Hyx0+4muulqdoIxf&xw#4_TpMOaZp4A^I`?Hfr1*#Tfs=Gj&1=6ulDtq<)sxb_zaz(pvPl9;lzJDMBBq2)?4#Z@jvr<2IN`{R&uA0jtRCrDVV>lpmXDQBH zA?kc)TS)UE?3E=-EuBGr>-@25smfk4dv1yspidzMPngFh;tSD zdwc09$$sb+vubja&f4;{Np}nQJWn&IZ!e+JSS5}{!U-w{AM^B>DsV}J4%pJcJ0hcG zm{X-bi3SHyT9|fBXzl6UkCsb<`V$1LraZ()zO&YasmgDDhcb9<}<5 zIl@YsVaJbf&4>vlz(WqlDfa83MX;x`ibQN4FeeMN?5-eg!)rDhJraL#gH44^40=S- zw1KP`wNlP!5fh`Cv=vbSw{c*)gyIsu-Z{NO8mI40cKSzY?M1$YF5>OYG^}iuVKQ%8 zC2xSkNCjFy0D;*~;k~s0h0*KiF&PwrywtSojipB>fJEoE`YD_6J43pnXnNh}&=sTqc^J1$C6gByP z&nwwp_(_<0|0=37#56)sJs^-&v4L92 zfv=hc; zW59AThLAykyQqXx6jjr^7Tr(LS?*0wI(*-=FJ>h}V#*s49ZCsxJ7F)dRaX4+Y!qK48!)LN=n1e^N+ytukymt3|ztq^YITv>A$; zsxmdI;65X{W5XH6j583Mf|;SDX5C)~-j&LI)YzeE{_6rAVEy;})#g}c$e|eT@a6;> zm>RhQaz=udGU*+k?mR$y_@a@Q3WV?ahe)hQQ&q8tE0#mTish2beCbAf0n3MvlcKz) zg*}aH{=&iF!~42txXYcZFB2!{E8&Byy~s!b&c2Kp@du)#MD1aD$Bl$c!#1^(Qj&qq z5%Cd8m|<#06lsxI$T9e*flZ?Iw~=5#&hjLRopX+rny*qp_|};qEgptz^mEy^^YQQ2P*r?a&2VfDfk9&J(*y;sRS(_yLoNVEV1>f@r#}#9tVk5$Ck0{}7KCdXAM>zP*qAirB8|G82 zQSz|P@L|m*D`n&`QG**VK+4_k-6vq~4b*o@u`hbf9Zj96MrYiFrS7D{v9On4Ns}h) zda`5{q;5X*X@|_BCA__visJ13Z7TW~ma~DhcK>HZai=y=1xF9e1Mfl*MQI}=UBGg3cH$ zz$nDQ9<1jw#v}a^9}>L4BGof`l9%vy)AxU2b6m3N)i1e0o&UNRxiMomdXmb>6S7!g z4Ku7We@hZ9jEQ(SjQ#VRou)0@!I#CgY@~ebF9^ThUn2jhKXH*STEjTu$$gnieLb$#Xv6H?w=?Z9eCK6mG&a%R@$ z(^osuP;*J3h?tJzQ&B`O%5vF2V;qme?6mq18LpH4OG`0NV|%n@0+DCr^|R?oT$ih_ zBmTDu`7KFNn^_M_C(N8dKu!u5on$y9D^~`0l8ht}+^)eiG?BjOKmZR$(dP{3N(d;? zq0%a^9^f98lvTm;n(q3*+rWf2;k9mNEi>4_s`HSh+E|0X7GtfMVGE6vkq*q~B^w2w zQ}gyb5mFOaN7b+L?iV!X8czI^FN#i}y*N&Tr5hqJhwJ#IpFiq2v<>Jo=~}|>ZT%wU6j*e`XTg<4qt1xnP`6) z$2T#G1P{Y$qeVIab8jxOjl9c;b>AlCU$I*SNnAMIHon(c)Vq{wRwanV#UXf)u39mU z-+*aM8FDB2<@eg*z0?{K`CqhY1*0kjw|sENOi_J(MfHrzM2fuxF=jws+7uvgA4uI~ z;r~L@PgJ-y>WsmaKkS7nAdT}NQ451|q$DtvNf4tB)Hn$t=Y}b=7u{W>pUr6|-xN@KC)bbPF~Uy!?XoY~;M2P0};9Xwm$Nf4t7 za1ZZpMt+xS<^8kH<=|OCkekqcDYe57#^Zt|@)`RF{-z6MaHrETS|x zXmr_?DgNXpH5l;4E&njG`N-Ry3))jzx>F1X{L@Ci>O{(^x35@~o`QP2Z;~Nryaye{ z*sxfFr=;d><0bhlPsQUyxL4u<$#OthfRLm2Vp}ZkHqWAb{ECsL0i-&IbcS|*-v zQIp8}asc6>dIr33$aK)8jKqNtIgI6#ILk#jcT))>0LjTh@z$ zCvB!RZyQ74^jX$7!6BUcQ zbyJ7-&$3Vb;GP7Hl!+&#=%Jc|+miAs6cn_w4%a$1kr^vH;1-#}Al8gt$a2dowWKv8 z5Vpjxrx-wG*i~9ng_C%`N87-pTP5<}J#JlTPiXU5`h=7t)Li1#5PH*cc%grMN{#4K zKC)94`4NSyLJ=@I0Ww(q=ik~@78da1i53-K#;19%Xf?n`vWLI2{a7%`*b0S0Y=u+Oyo z64v~^yyNo@?0SQdQ3x<-bE-6_yk9@mkn4ifD>Wi!fQJLg2`)t(%1hQ;k9U`-BGRYTZ9t8T`Z4wYVnYy`!bk_G5p7O=Q`DPZ1>&6?O22a*MH7iQf8N@%24bdY?X*VtcXcyFwSv~N zmDaXmpCgVLtRm@Pl@@Pb5i#DXR%#kT7Kjs%*yJmL zp5eolgOCS)2zQ&v<133w3KoILj}b3oL{qg1_3+j5qvJ;bkEjIsw}}L5$jgjNo3`}q z{gW?`m^k)t_@CV0?iD7RZmbE^Nj23pS36KS2&w^}m$sJMAL`vtZA&SG?UgKdwszAPo?MaH`wQGKX+3~0i=pNo1{v6IsH6qok480&xwW&`cKze3sPYYcVt`QNK-9n zT=d?CEl011((;nRH%e(kdPHrzR;mz`*2qb>q z>0dn&m8&qvW=9?h>kx18n?CwXCTRcQ4XISt{!aMF|6l(p&AYRL;DmFa)jENKh2VyoL=Q0dG@rRl?xm7X*TIXfP3O5gwKgO|J68)${Kd{n%#f5eEUiHd2_jd106d>w*{ldw4Z(C zt!D^ZGqtgnumIt+d6Cb-2bhZCKHMy-0nh(Brnq)g7B5&*jwih4U2*c_k9(q`)FdCrV`<_aN3Z$ zm80b-KvpFxOC84akx!D^>a-D%Gx8r_&k$7n8dscSa2B$6x@2Lcf?-E(ZiSYbn(h~{ z8S(dx46Ea}_qb^ETB0=YpLY#JoaFigyFG{_bIID}HOiPR8eB5zjin?Z#HLnE^}ysr z?AB#@xMK7E0$^?-lZL`>is@+e|VRL zW`kKg7;Efl9x&Y+#TAT$isu;>VaKS+*lNL23?Rkz5Nv{oy^e5x6@OZipvnCGq6fwA zsk@vJLM)?!sK_kllr$D@p9{=GDEwH463e0&L@DDn8CZ-9P~#cZ9?=g7YjBsez+oJG z<9}vA!JBV;zvVDC>nkU8f!g5^FV!qnmPFb1m<13rUpV-Hx%7eHdhYPOe={RmSZEqnbpMlfw1>%c zQeyEh%_`*ODl{zOH04q+U{lnIGizykji`dhMm*jJPUYW>!cX|sxt7l;94t751K%P; za>t4Oi()SKWF|DS@u7XI*n!$!VQ_^qWC-TCa8qDx}>La{TYJoi8pd{=; zQ0MQSE=SW5U2fDt+?!}UDU%=?@<(1Yp$gY#qeSgB52F(3LxLkW&f+Ka@`L4wZm0&3 zw9T>vsu5sisvLoV0Zu7exg{(=`fkEoRulyZhg=EtZU32Qe)%o#>>_JUXyP?vy#1jw z&~fJqd}0YkO3q7p`%a2)>WVNgea}l1Czf1&+B{&K+KosH-m0tgJoc~F^;r`gIaP^1 z##=uxPg$Mz-3$4)`)HO9Ld2n$p96bS%>Sh^y~2w|x8c6#(KRM559h5eQLlIQx2cFlZmqJmSJc8^7EXGRI}G^)(xs0;9gdT$<^d66tnC$8xy#%Op>#i z;q$Cs{&^mLHhpos-r67U{@OzRZO@;X0m{xsfm@B(ZFAt<4Aztxz2MUiY%Tt?>C7h4 z(8!C&0P6(Dk#?ZIOQva#J^tEk|G{O*9~lA?u@io0yf&|XXWQHY(GgC+eTToq3zqK( zaxzyOYwoW)Eh2000SL ztsfq?oRfARDFj)Z#xKw(SIUTObsYLXM z>L!X!^gPxB{FO7S@|Ryrf_L9~hCm}@_D8?J*dW|*rqSmgPzg62*XuHJ(##}{N}bg< zsroJB{=jT!0^G^Gj@TJHF8dr5E^8^No0By6pB7LhbGRx&btwbkfmb|=Ey{(wD$ zr!8O>DZbwYWla5~m)vD+37v>k6i-J?{(j5Jokq&AH#g)A+71NHNG$S$0_WtZbA)K| zXZAMr;uHEY`gf<3^uPNlXpPxzB}mzX3* zAB=rzSe8CSUnFQ@pp$Qh0yM>=NYH;{=1ouzC|jd=de#Qh3{r7z582K|QDEFO2V59H zZnO=zBY_Mie&Il;X{4HT50od9NSky34x?L);eIM|B91tC0w=&G3<(p7G(y`aNg1gnB_f61)zT0PE zl+jEjDpS8Tt!hpIB%l$l^s(}hYH+&%Gg<5Ej>g2JALp*LJrT?!!5R8-!ETj_SKoK= z-)R6Dwwzh1G>{Ss4Or8PmGFd+>17OW9 zEzO34t-?vWg0*{WV-a&TX12nAqW6J0ygifd!~a8awO^oKnnbpd?_3IybNo$*ZfQ@z zW=2=D?ntFk*&F@sgO6O?Z#xLkU`1ugEYXhPxiCP3r93fZN(pd0(XL! zp#Y}aRhX$2$ckj2p*aI~R@Jvxk|5Io9kq6Z0%7i}YRTnm!c>J%S*e;rS%(8O>-?+ApVgg;dNIVG zhW|=F-$Vvv?2jj#PZ7J&sE%Yzt(gus3$Hs^f z@TbVi1DCTrI*ZeNjN01D4(ovrhBTJwX5Mzl*L|XpE6CH>ReG7KWs4n934@I&t8qo> ze-*~v>2f<+UmGn~!b>^=*_)+XCYnA)Z2PC#tX)Y`U^52mNgJO-kE# zr`AIx7(k*lIw74EYaTJFyRu*~uPAhY7yHD*5lrorsAaK(?4qSZ_H89a-)_*dfeaiX zpt5F^Lz~OIg_Qb(;R<+gZgmIFv|g#uK+sOR)xeZx#aqO&{BX*MQ)0n1?Uzuy15F6? zNMz;Z6DZGn!J}t588R>mpUNMZ*1c_#h;47I2|t>O2@fTmP}<=4K00{nM=YvNKfFMd z?io%(`jdQ94Qt-!b*#Ey*fo&Z1*Jk*O#Lv5f2maQZwO52r&f1mY$pa$K>FFn89Zv< zDi_{!-9;~AC`I~6JIxf5820Yif{H!!(Yn+_Me|?$VaPmss{a3xtiv}%(^i@EJjNS( z{e_lnTH432mi`^x%ej~{Jt8MAOPOCYEo$C2$5_{l{gP!wVRw2~aSUoH+qdq|cvd3U zbD^haSi(^YAkU&Zk`^^@8*aFzRuWlF>Z#Rh><{(B$)!JcWj-y2kkFdK-%(pnu+@SK zcd9DuQUQ&y?gOSnel2pzMZF80IET#kc>MYJ;cpzAzMM-EvWe^^D2E7aF_sJ<*-$I? zg}wPWI4N%|M}8oOx19CDx8_gk#K|u3vP0~TU*h=Rm5(L*0k4)bl>DC7=q1Hhy^m&c zSwFq!u%tIKoR0K|CCr1CnC#viZ$~$dqyt`ub^j7P$<7LDUR0!S7bXHX>?IAPkxJTD z_w$Lxaesh3N#>E3kG;JxA|3JAR=_UR5yeB-f8ISQ%KsWHIA_nMMGKytD{3l+{MIyD zZXU@7P7_~>`BGq(jM57FF2a4R-M-~T`!F1VQ>Fk?X^-9xj=5UkRFwj0#$-#`4;cBSa>t@2&t zns{lVyBNfPXB)Rt{_QknKt)B}?k&&W$OI)6{w>KQG>+ibrjiSe=F$|UJ!BUhZ27qG zno>X`e$9vOu@-)ex zYT^7ok;(8+IThGUPN*^$;s1FuQTpZPOg0fF2i_B;fTuI81ubR-Yg__4fk7w|b(4iD zkfZw5s^)E$9u*qv^$9lEL>U%ey|`|V_;1*4ol`G7{;@r|AQmV`4zon=1yb5SRjLmpOc#MOq; zqhDCB8uuaZhU@PmYl;Dy@0Dmo-Fm6r_l9jl;aBo{+;H3KhNxXksShCPlb@D<{&HcX zi`>oy&YeP?dtYC7#iwx3#U|&pN|)Gu$)JK3{jX}<^uJL$i|XGzah~J5nLssMsw-89 zuL8Sv3(_zSikzly>m}m7ct(j_^{FbhS1H>$Lq)(y z-`{3IQQcI$h;3vO^$w6kRz)x}bq=KI^+TmQ7~*@nKG zzV5a79sge$ClFa5YXJEAG>pOjDj;b5*!lJRviy5HV0p92;T9I2Xf~a@qc3x+PrR+7 zbH9lhi69LHo~VOEBev0Yo);FcZ~tfDubh?nY2c^xNp;!WMJQ}0M|C5gPQ~Hp+ze`F z&^LmOMJ8L0Y=I;fSM=kQAh( zySuvuM7kR!m2QPY5RiuVd%ySp`E1P2?##|U^X$g}L@F=h4>H|23mr3#nLb(b(7xZG z=d!wDKug4@1n&3rx?c>A8Dpw>)2nv|1}WXR?$-RUdCPHsmq5yB;*c%=H2MJX{63jR zjq70f_JucIpYznvi=}2%%lCgR493h^Uii__#MlX$!lxcUpJ;8o#-Mf;PQCgI_S)nY z+yl9KzDqq_K@J3iX4FPAJTo7g|jd+Vh!Y|~*$(VcpQjs8x@RqwIVGeU!%gSt!nD;SX z3<1w;X(8|N+UYM}RHHBcaEw#F3GijC3^;P$69c2s>4ftgOxb>jUa?EiU z@Otk33zIo^$G4<->W@0`xOPGd(Em8i6xoL4kWK-983+cDcwwx<`zx5zwAsdrDy|6| zcwcZhc^jqj%_Gynds&#Z=a`$CED)G|My||Yd+-lAOeWeE?rDa8>e1#;VEsI%B5+2% zP#Zevjk`~Qz+wu!L5uTWr%P?eiT8cjS5PQN`!z^t5{1QstdVFX_>Q5T_H>?NxE$DV zK;A~~55+4dWQhuW8M<;wWA|3pP_c>cY}=WoCS~IMGaej$zeKjc)3A5#1W_iu4G^Qo z7-#RyABkY=TC}hw4jXyx6a9?vhlkSIfgML2@HEWF(WszTDE}$O#YZZA z>Zapui*U~ig}3oL9sIlGRXLpwNR}B889A0yS8B$>zeq&nVi?mH2Bwja<>`JPH2z!4 zR6B@pCIFs>#Y=)|NohJt*$d8ElXSkAW8h^%y_55GJ1`RW#*)v^)JiMT5w%x zCN}3A{V5`RtlIAh#c<&10N}Jyd6-T9dN}yI95ig)N&dJ@(C(v_ESD~XG9Y8ByNy!o zal#K4iE{%^Fg*kFO$_M2zw-@D4@&bLS2?e%G zkbJtbDpUI7WbVd^QfLDe9Ek&8iGqs+$gB zDlaRaV2mi?)ww-{t%$dzZEGWGqOV?V+|XM@v-Wgj$ylrD%LqBPl5hJfK?A_QuugP~F7Vq6B-}tOLTEEzo+2>-rnM zyOOBWJk`7D;+F#06o!d17St`7r>WUYc6~pJR#d0Xg#>2S*wND5%Cd>aj+<#qegCV< z&%6<6leef?`b}z?zFF4i>_66mUn!y#DR(DqTs<|v&&3u>TnCc)74sCd1D4FEit^48 z9(|}J_BD0UQi*~%d#WeML@xapjQ&MnU$o7kpp@0Upa;;WOn;HXr}!z4BTIg>=8s<- zC+fe4IoancbKg2dx0G02JIM&K;pO!K<0N>rJWDS9`rf6VKZhEA@=L?l@8kc32TC5R z$bUG54nX{4-z(u2^Z=41AG`K5Hj0~hsVes??P_s)zN2+iS-wi=6`W7|A!`AR7aTBg zRP6@z*`ai6p+>c)8NC=HPOn#;^-rsrSR*7?KU0XRr^;^tnl9+j?Wo=bjPtjsiXy|m z`NFovK{~=g3D1Qn(FWQC(nUV^zCNN$X=r(=>l+O9b|Cx84|zYGSoSo@a?agFv27h$ zF!C0^Wg|S9a4A~}G1Btj0xM}c#uSDmQ6jh`$L6%Z+1Hzt`-=Bytvm5GetYdIcdetI zEinuodj4@t($TaK7^h%LTRYBT`Sl(9)Z0oIcq_VN1{qrSI6lGkS;45#XlP$(?qIcP zF(4`Y=F3ElZwFo$rAW}sR3SLjHFo*gh((3Tgm!VPtOz=YWQwPp2RrM8Won$^7cF?2 z42It!Rb3zzTqZj-L~6ntdMhurTbw~le(kEHL?0YQ3{<5(5OkhgcAzXqW=xe zI`^??5o&F7$c84$$4tZOOob5Z49fO1e;Vym;xZ`y3J=a#zcc8~OfssUHtD1DbH*2Q zz^Sf-RRq*Uu*Ef{f}J^p*|X0R5-HqgrHVIJcjc7gaH&f$SJ)^0ygVoB$^p#_3Xi8P z+gsJE%ou9c1wR^`E^y&TnI_7(ET}P;_G6y->j)6r^%YJu*%;5KHFsp z;Q|$L3voKNv8nR8o6=H>UCZl3;KWuXpe1w{mbEgT_@z8RXXWNrRE}7{7Omy~!v=HpmFfj%LJ(#xH4%2eoD(!|*n5?wLOa(%}=+7pkf`9PnJN z!q-Lae=_fAc~6Aypo?{IOOT~Vf(&Cw;DVQYW25_xO6ha>_1-h{j7`j|e(tfF7yGQc z*8Da_r|`9SS)hgyIBDM=h-66N`(NBvwlTA0&&>+QDtA!Fdd;Mn{;)L|zF{xSm>(6= zg(00#`Wb(`%L%u9a&sU_$$LWWIw_Xq*>QELoi=Y zxhi2(i}S$yv!FI=;&lJrldEDdx-_v?w3+k<$jd@u`4IHfGBycDXEPlq@UX=>gV?_F zPUS$l(-lvSsU~<;w$a|PAqz1S#+4Lp)`Q42haSeHjB-DNnJ2#wcc~n}pg45*$LT-CZPXR6kVD3J_2w4M}HH1jB z8^H{*_#n~!@pq8Sbgyd>0m6b*(?uw2miiFTS^u@HkVmQbYZ(oVKId*WlZ zS6m{iA8+1hvB)DSsVE9!s03j1xDTw2vhS{G1LPt!dV87@k~XRhc&ZqM6m64R<0|2t zMm9@dF@(whF<9(ZhdHBZg6WExm@pGMOB`KTlGYm+0X-dx$B0yR>*M=NhCI8JrD_Gm8}ysm4+^G;H25C3VMdt_)A4Sl9W2VbOA7ycQg z9HVkE2=*39pmdY=ci{Xk@-zJ;oOiS13*$>>HLeX=H`8iYFz)o3$aXtjsVgk!&s#+1 zJ9{Mcm&i|n>`DETMOs8Qo7Ys?WNu8+t(XXviwFXM4BRRN=1w5en#g(eQ?^6HY)gMK zh5;p;=sR5JOA^ZZPB2`rubn2|tSs#ojGc_}PnG#%IngB7_Og3^7MBE(o1psK8$05F z`kLRE(UqJ^3O=V`(@bETp{huZIcjKgn1dIs{)iAqCwLMoG0$%=7FfF3Z49*aHvX~9 z$ROCdE9`zOT6yAsYg)W^6t$Q1QIXEUlnu1W_2xSif1`8upZ5UiZ+( z5Xl#nG8?Pu?HiL96O|S zhn32~mi{dx#G!#I-Il8y&{CAylG@@A8=A=#eB97^JMt6zyrGVc+tzi}tTu2cKggnt z#J>y#W0Z=gm@jm9U-)SmoDKe7Sj4g5jxXj-iUxn(ql1QV?N(=6^xhxn9nhzu+P0GO zPggWfRh43sB=GU9U@N-1>}n zgv6cPg1LGnY*n_fJ3>5DkE@8W){|Iyw@Wa0Z9$W-|1w4vN_?BHx$B?cZH_zsBVz|p zA0SEjHkl`iVZ~1SdJSH_^Zghz(GQ99uxV2|J^hk>xj+!E^29nA1Vf(+>{9Gmbq-K} zczcEso@qYZ`s;%7rvjTXS4@g@zRq)JBJ$#O2S(gaX6?3w6p+?R)ZSZE>7*lQ(#88NaU5j&seBy*JXF0YG|5T zhd}iHMzS8j_yo%H;C?mNcsJ+Ajxb7Lxnn-cnoF#IY-@1h%Zj0_(lmOYICqHNDFpPX z%=uF!Z}4`6j|TKke)07^9~$xZmh4|vgN(A0yXWnk^58i!2C{U(cOck!9k$k+bWOj< z_=1#(cpP%!$7C$Jz-Vw`x}@;EF2R7*(ZDAu6YvNj3toJU)t|dhPxUnxPu+dbo3H6= zb6=aFj+jH-*gF}AvEr69bYc7q2s=F&*yjgCY4|Bg6`z|Q;p_RyzFJ59M3X@QGFO509i{hiHKm7F9g8R-43 z>RDF$*Xx+-k3!f^DP3K)iQ8-(k@1*G?Ph%xaPJZB90^*DlVHe3)UQWHZKqh%hnrR> z+=)CELHkHFEpBSQixdnV8SgVoOWi*IB1wZ~4@Aembr4dTC*Q?^ixIfJ)8CD*o*0aG ztGclINNQ~7QYzU*(o&?sw8VlxjpJ`C-K>(a@m(ds8wWf|Cy4OYJHx8ShUvL_~j{wMyG^;EE~{LBH?SI zI_{qM79A%|#wTh6gfIS3E|(4b4tb9eDXqck3lx1>O)Qvy7Y$>QK;b`pMsd0~iB+)2 zD(neks!e^O?6nm99yPmTkN>)d(&!Br;~V%X}><0%SI8D;o#zmD zV|)Zrg7C;v-q+#4SV0)5>ppNcSh%&53-ca@-h;x#pn2>5qKgeEaVckml~Aco3B@iP zSVWyV+?E_1mQEcW~+IT>CCMwGR^qnk5vg+vbeu{r+ctRYp#r1?)RO@UkZIB z$=(`7E-5)&egt;8w(}@Si~cyUs`k+Oa@9aDXU8B*ZDqbhkkz*;RD>5e^!^W;h8GQ5 zsdbOkCCu44x#qyFhmnwUek3r$Zo@F0u09@DEcI9KOn1^u=YeP3@AkJ$#}m-#H&`&H z(8$L#n~B003~E%Rrqj=6e_3|tEQQ!$i3Sn)s~TJ<+YWw*x<`F?R=KoVpAnXvDio}uceWO$UYUM9ktv^b^^{6P8m@ZoP~ zxPxtnp2;Rt6Ck>fH13h{HgjW{_#v0WZ33s<^IFWeS!`U&$*iLi0xm7PRrnd>j%8E; zpnY6k5%-6C{KI64Z##6!lB5e)t4001f}=wswwt;YHKS-;!vx?efm^xxuh&h6)-OK2 zH_y>RrrBTFy>(lse>{KAhid8D*@R;gGc%hqL@NU4Qm0LYkM7{==gLpr#cO~4%RNVg zqVh53?DXn{+r(oe3ZwE;rx?)R0nwUgALK^v%=@Z_gmZ6G{(XL2RXj4oQr&}nXPTp` z2dfs!Bl$OmP%U5=e`~F1#ww&6Gko~4!W8f?9r8rjR;0+EPh5JSFdI2ICj5BKUm@!T ztP#6Q0rCYp1-Y7m=MHr=H@d6Yw=ou*F|Q$vN-=7I1C1Qwup0+<4?q$Tg-3+v^hYZ} zjXTX%CE_nUSr&w*Vk9jQCY?(9sA=A;6R2VpdkA2k;Yq?0q6UyY&vzsJiNVMT$eDPS zN~1W;aFQG|EiW&R_se%0e*F=EJ}U?-UaE1OdYq;6-6z|odnA~yt((FYYP2qSk^8nH zow(i53N5E&fZmhA6Y7ILGQF5RU;Xux*mRnsf5}s`kv;OMW_>vn+XHFHN<ZJ&>$g&N!Lxj2r?G*VLPuy zJ+A!M%Afj917uCn90Np^z<#IoU2mh+`kKyW3`f*IDCJUBsgfDiNjBqjr~O+Y=53wI zeFIAP7VNg0k|&dH9l-RqThTR=C#Iis(A6r_>olbhUQXBiVVbl}dF_Rh5z+|g(>U+L zF9*23d@4eIadm>ouKPus_gWTC{WyJeaNE~0iPsme`j{Orw8;0=6 z8Ifa40#ZPXGP*559MZng$C13B9jhbX6vbPsO6Qdno!2i8CP%Woqn64Xc6PCB=mB0DfzThngN3)#iO%R)! zriE<;%~VyLt$Z2*v_$Q*aaCDKrclpyp4VMkEH%&whLbA(OWftS*j!eua*!`~RsrBx z0IQP=u%^;U(DW%*1%~pHnZKAxHM7-D zSbBVHoItOywT1YgN5mNn(Lg{tU9@GTVAcyT1Qt=N4>9-fob*c{ea#4T9W*godW%xh zu+1?4_5E>~rhZ-p8IqE3)LJIs5pa_%F9WW}xS={3B5ubb#jHP8EYw~l4Vb7@qO974 z+lf%D!Y8Tb16q0|L8ocbWc+cM>dFMf}W9#BEMLA2jg>Pg7UM6+lC1fpI%41^n?1Lg9TYk#y&}Vxs zv%7~NwCeel)w+I~%zn6ycwlc5ahS`$Yn3CcB`+PItH<~lQ&Dqu?R?gD^FqncrY|87 zioFs8HyaPEk=&V(s=%CM2i(7+FzS4(=e^Y&8(YoJjgh81a&mem zWJFM;!dLe%RajR%abYq}f>ajx1Wu*O)nTs4?qT%Z3t`5f@hrzWQ>3gNyEC zpFIx2@1U~uv4vn$ST)(J;p#P8cbAT$(-rvHe*P+ln^DHZ1Z9=)gI>0?lQm3d@G zQ&?t?^Bm;{gVibXS#hc*b|EFp-o772K8D@O+_9=nXF0C6@6Yp?<5CZ>Ml}J#D^^bV z?P~o04jDY$@hxmqrOIg$_%3x#U3IQCI8KBA)g>MW8FBFMX-HT;$qU~@ZoT0+Gf!lMp* z5u+IzPWd>)F~qTBjwkbM7u4KfiFo%DPA5#4!0|0njm-ejt9lky7>fJ5BhFa-<9i=1 zzxU-A_i7(Lg2gM{=X$l}dk4_{#*3U&c&&d&O~bOp;*tgmnF4{xtMx1;4&S!6Rafo9 zHY7hY>s8-1G=~wLYA3VA121C0IIHEJjYZ@`6y-yDxP!soc{^w>{l{*LY}112`8A0I z&V1n?cfr%J=%Rt6#xnQN(0q_<8^oK{^XodqX2RILd4Vxd9`TvGl>IVxk{3Lk2%O16 zxNM)j-v9fYqW#Lm!~O`BhFQ61w1yelj8V0=HXz`1sVtHVo{j~2Z|I57v?Sw3czUgh zKE;<+l~u9(YuWXxmDEXq$&^yPmfq=(k7XK$O46vxYP)&JgLVVXXCN6(0z@{Cy6eM) zkgc7*_*SZc1AjYex^g-QkgPm=r}VGjGJ6)`PXdDjGlA;}PAV<^54k17&^fjow^MDF z9f7rJSPrnUw#?q9(Z(Qapd49zz@oo}nUL(j5D zku<^aq0}MPL;@{tXe-JjrIl%sN$ptur@|f+ZSw^-^f)cR>XsGu69PqjN6^0P22hMA zSW6{NMm@zyTm6lKFrZF^+sF_hrSU~(0=6Uw-mkqFO6a`q(Kbr3i`qSUs#APh_}mbq z@0KwVn#Ra&TTaEG3d2aC%UTgYf&;*R(0k^r@5)y;`S}TB){p*h1f5%c;C4$lA@ALI zqXe@$0o!(M`aqXMlxL+MbA!Js?6yn9OyE?|ZfJ4T*v=5LSkw6juL{FRpr>9kQ0)c__2-qhOro1Qq>9WnGr;p)=+ymIu6EY1_~sSzVSYLQ zI76z|u1#;8qrZu%O63@_T#>uuI15E}S2L}ek)^}+E$p9VYUa}!dqKk_%+T&P1^wLURBf+Vs%*qCYa=+w!&ycakS^^ z@505e(f!SfCx42wx5I6E95rp^2jKk4pXKh2I`P+Q(0EknW5ZCf54QI4V?@8;ucOu7 z)t+pJ^13=q>jAwh)28m zFj62O%HaBYW=}4y7b_-v!tl&sK$Wa>4jixeWZl9sa&>6!|ft zzjR1gg%)F2G{5NBZ4}=uw9HX~#AZYJJGt6{+XNxvPa737;hiOUkF5RW%`l5!I;feN z=U%=>{5IacDG&p{sysBVR=}3ts$bH7`IS>-iMACOYd4vb20n41{TGmk>2GAt~SbG0lHv&+*5y}uF_F1CzQfELlQyGlXIfoP4mxVL#p$q6y#o$ki9 zne7E%+TJVOaRu8V=UEJKsJVPe5{baP6Da)n3>WPTOVnLQ&`3WLP-&$*xGsJEeSzVaO%LGE5R!BO+w7F*GEZ z#^1dZQBm`r831we9L~=zpHc~H`J|z3=sc-MI?y|yc~JWBTxgk$ytquSeQklE9Ytqk z-Zo}sig9+W!2qiUv@uf^J_-V>X`;;UdH|W+J28YNh{P~RO%!zZ+Lh6fEg;nEH zi)^xx+#$s4)w*XIdl-M7I>9z)#$3azZoz#6=U)RYX8>P=|C3~tJ~33jKYBn>M7jGj z%r9kNBU;tsag$m4t6RU3Nf(;@{$vN>!~=SFD~U)XLkNzPFx7K8HRJ1}XIaI+!35*& zP8498=jnnXaRdx4Tw&v6pz*a5J+&FSGnU_D%v2}$jd(c{?LmEmul3kTfE8ZnI=_q- z?h3mjjNgRk@6+V=I$czZoOm4VvbR)!Q}$bBIhG?gSJyOP3ZxgVq;-Y;8e@@K#>BdO z9E@jgamGOPjt;4HTba=Q&e2Ps>>T(F0rE-1{(;sNmep)U<3;k9Q!O>lPK_^F@|F+5 z9$ft%(AtbT+V9bd=?apXf$rG2Rsy|;sL-X#bITI<)cVDKEtf3n4HTM?X z=Ydlv7WK$g`P2@a$*427Q?0m9d_ESx`qIwTdURGVRMJ;S5!qE}y}|Ra zY+*dhnq(!?X?pd(!Hm7Az}Ju7ZQ&)7=Hcet=I20~>X}W@Qxkj#t1CzJsk_{QJY-+e zWcuDbIggK$HB7zAyA93#2Sb}jsb0%TKg<1K5Z>`BAF69p3m!eN z86IgKcF-SRQsJs?4Y>RQ;L?FxWTHq;>0%^ex-4ASW#wD48LpL>=oLLKLt!7rEJ&Cv zW4BN+oaNKl2Vfsj660wfl#2C!7{L!lMiX$r*DFwq3Q8xdv6-l4&#mncSZ}oa4--X; zRJZfdzkQo#m*&Grg3KisU;Q}wS(2pvxUrM>&~0tU6itSuYah_2i*M_#?_Fupo)9-T zns!*wzdvtdUU`*_nf{_7udKXs?sq0mKj4C)DMCLvj)P|Aa9D8_eAD~nnS%&}U%&5Y z-C1rw@0t8U0fN)p#xEO&y$)pLyadHZ^~ZoO?e_MIAx&D!)%wZ zi91|PlxmHu;?~Nt4s$p^0$BHmsv1!VGK1=f^}h0hqEj)2+bFro`#tTxCA*Xgr>V0xGrU^aKGem!z989RcUCEpVH|heX5osf?>oD$f+C8@3d>8&)BSWoOUrEYnucYwV-30EK^bfj&ptG> zPV`FK&or$z9D&v$y<@KMmWe;1cLFLD0KyF>X(XsuD}mt1Cu%2cdtf#5)ud~}6!EGM z>o2DpE!-gV!Mq>9*Zqfe7pG+k_G%`eB?*%`TZAjqVq3Ybr2PWDk=LjI z&%*F^D!=FEd>j@q)X>y0TlLJE(t7^{Dt<38jK~~(#KZq`aLLVdSvd{kr&X?+VNiYJ zD(Mi2=;~TJUM@ahGQ@#ML-i*#n|im9>fmqXNk!{_k`Zf0@otT(FHrhuM&I2%4kO=? zJOkNyzFsk5&(RVg$nG~k5Rz#rU`xT%EwO`CC>~bCu^anw+>4#@#|h>U8cF~&$l03( z8pt3o@y^&rKCn9o;f*?)A3p9A|E-v@Cv>1tkg$jTTsb}gq3}z|+~q)0SZy=Lwu%8u zCSf3g&LHz^<+-I-zJ3Zjj{rZ042P?~OqMEQHqhZPSt6q`M{U94iGcz%FzPlZ#wu&3)KY+8vxR=_$ zKngC7+Ja#qxki;Ie-$VFb3>`ic~_DbP~Q;R=ji=QD8?qRLd<^%%&ahI|d;XTF#ej_^e9ReI-f!?!{4I#$HvdOl$BH|Ta*3(FA~5A^ezM7$ z_8$148kf%UW3`;c@Vf(v&A=><2Jl`CXo-pIkVH40SD59xA;Z7$M$rquwuB3xGQDc) z4ysOMcp8cnK@C%QRYWi5Z%Z!dpRR%9&05=)ve zZwKa1)9*IJ81N#kD|dfrlKeXYglzQ8?S;%)|M>Z$!*jj%{85bF@u(d*mr(nbhIp7# zb00dWLYThl-q=nQo`**BUg_i&APB0Ef}}pDUMR1?aBHYjJaXzr6+(jsf718ZWg|IO z0}{z&yKoXt{1KP%_CNvgPhuD=Fw`8a!rSos5Ba5YW|&oS^Yy(X*i3BWaZEE|m}fMV zaW{2s&0SL%ORzUSp}9Al_cS}S`rfIGN{!*rLLFZAF?NLDms|Wt-_U@%B_ZL_WKb6n zGjOX=*oayGn^B!-7aqx0K{Mta3}3CLZ?J#KQpkb(3Ard|wNC=bvq6A?mQ2dQuPkEfdb_h#Y(Gld9r+AB-LbR>enFhQliB&qSUd zK({9&*$^BUYqwmb${z-hegjYJwa3GtSFN?KkkxmNJbldg(9@&g7s%tu`YHsg9GJW2 z@GL2M`cA@p?X^=wDe;k9-r`*r-wBIhH20n=$ zQ0o|e;bTdcASEb^ak587*J&uHjqspX#e%U|NW5xOlQ%{>oFP?DByj!qJ)C050gH`C z#Cg)5wJT$r6ZfCwvk}&NApTU@|FVF7WaUrcbwTALoH;rd;rS<+6j_rC4&(UkzCR?? zI8w$R%L|x0`@l_on$(kM;*zLmmK_1buREGA51w|Z9}3C_zI!1tlUX^5{J?}|IpXK` zVr@RW;w+|(BrEt;FtvG}k~;IdYIWvoyj6!K;RHq_xK9lp_97NP&&UrqPyNe~t30J@ zM^ebGi5IWS{s>nD>Mb?@G{q?W2QI7&3wDztvZ9FrDf`rLhWZYA;&;PwH=xs^#|-!Q$5L{!x}Zp>U#0x$NlyICG=-8xf9hp~DOr4>O@ zsy2uHJ3!F%B75o9ITBC4Q$j-|g%Fatb}ABAe7VB3G1_rg0n$XDvBwyNAsbV#F7}&} z9fn7zJV#?KIgb2kzDdPuBZpTQ7SD&P$O>q{Z zAC@=$69kZ7coyK%7#cv@1O~Pf4X|^GnlK)F^ngJ*9b^+`QYq&`uRRgeAAy_3p_i6c z`tae}DlC<{s1D{4h6J&Qv_M~{UoT|yeKbu;JzR<_l1K?rzh__{*PH{}TFF)sRL@2M zZDNOQt%sN&%Ra9bIi2yx%TsF-peOWll3$dX*71K4w=G6*AFSSp1-xNCr~C4A4d&-HXJyUnGwG>8gl3xgw}EfWR@V7w}(4Q zb*7}<5S1>a3Bnyi?mP@6v!?&ErCVDqw9}c|ff7}zErZL8IRtl{1FQ(jk>7|&_x)$y zPbwC1esR7q3;F5wJwQjD5zcQtl$y@Af|}PvR%q7x-57cMLfp(I>vA!up!NZH}X$Ny+)X7MoxOI&T)}B?ZU0tYVQ85 zNpXTZt5#lDybAyX6RQ%?5|^k?q}BA>pDTxSb>~?KB;b6tE|Pl{*|Lg+62-y_zP~;% zv-Mc88?^kqv4MYe&jCvb<{lT0@6BtJ-`3~1gR!Y2*;8W(mY1G#nXE=wuy+~dPf9E1 z%9>udi(h4*1m-9)C3RZ<5Jt2~c6T5Z_UD~wIi|JvtHR(sIFh))dPi1tFjHN;|S0=hYY8q+}clS{G@NeYMsdaW7brzaVdpm zjvvClP1t+n{vXbYn&dZ{GWIx|s9YK?hp~((?z`BHmZJXf>~Le^(LY2d(iH~99;%gq zkE4-NweR{mk~%DKn>m8rsLJ2l#?>OiTwutgdX*$j&legM>*b+Z4y-0M>4?dRcnfdZ zhk~3EG`3`{WMniCwD_PxRGH{8(kW+nK^z52EZF~CA!>ZVn?Y=6D(qJc^>|oePZx4X z<4A|0=~P)61*djint1AlKU85B0uVX)5iomnm`ViaIFDMnl4q{jZ6=3V^E$?rWy$QG zHc>d(sbVz(o{O6J%n0eweQmX@BFm71Hf}(8SW1ATIR5W6NaU-F!POm2UI9SE3iC21 z%BdYrn}q$Fs#GL}?D_R~JI=q5&<7ryE5c084GV7nt^9%Gj`%v|*20*)p7 zG{X%_Zu#^{@ou+wouFJP;wC7Gb}|t7mknq$f>DN)@Qo&QZ5VAo?)yf~`^10WO57tx zbQh}v(O#k1#+kDJRKY{YHG49|(Lw7Fb4 z3_}c>5teb&^30EYeJrc&S3>@2$RnU6y^1PZd0sg0H%be7F-z&H9);n8Fw*@Sr&3=N z1f1u6{e>E5x!Q}bjbLq=CWf6f_1A}45Y;TLt9m#S@LWjz@k^0@OYlQe;$)WSVLxfa zQRT>;R=%{fjK3_$&vlt{*eT3Ao>N#Ss9UDH7sxHALQC?(`Bk2zcjgf;?|hheY(bk6_2plWlVZ*?b? zTQvn+cwerQ4Jc@0he1aX{o(Y_7z`0LE8}2@YYC=TpE+1?c{m30G6G^h*83!C!f*p zNF)HSLVzTm^Yy3drwjSl&7^J=@)$(eIlfADWD}h}a2}2^@IIUboDF|tW?|z@)hz7z zy)$AlkMxRi1>+MJ?b6|eUizMJ|KRWqE^Q0by;d`A%ycRcrAKNCUCF&HDK6q?+b4LH zw8~+dG4EP1AFJoPkqyD!*xqX`oyYw5B9^LwA3_t!A)m9_Sibx7Ks5Hq%`2z5$%9)K z`41e!2c`!%HO`pnbYQCGhuA~Gz%g+))@tlFjC0XPED=)MIPBB;{5mDLGSgEdBJfo-q$3c=7mRz$eoti)B5x2`@Kui zPHW<<*ALs=|3-Tdd+YY1o-SMCVEafJ&iZTTKGLTdd802TKmJa&@#E)dB^G|#UNp&< z=k$TL2p$4A=xmselWSGn&<_LGx|aN13S$0|TdI7TOd;EVPZjp$6@UQ!sQOOLQ5AOE zWrQO3KIPfv-HlKeRI57gXmsGd7~XK~r9+NBBxdhG;XW)>Xyw89!9;>=y~jMBcYyE} z{516`Isn1&jVhfng`V!DZHo*Mgo+_^MtP+R=sje$A2NUp4L29-J( zh3#E?^SmYfF$A9KYth7i7)VfOYI=OM`5VTraREfP#wZKa=v7QGJzAB^|``8tZ6 z-}NG4V%Pq0{;Wm>nN?}+wlaT(h>4SjTE=ThICMNxDp~$xm{Ag5kXh~#zjA!N%TZB| z3@UlYf;op*XST1^mJWb^Ii&PjP{5!*z>?)88>+XK$V)S_C!wnBUn*bq@5PuGM;EuK zl?i{M?c|_+9Igi>fw_NbM*UiyoG*avxM3Xt_Vo>mLKmye%%ikZWvdK#+d8>ATsyS| zH3tG7VNyHBqICEHJ|6|W*En^9%a02@**jC#-hcIt?u{*br%0i2C8!!`)9fp^O8liy z;%27$OqR7xdJj0jC!q_?An&{^O(iSb$xZ2@7~qKlB7c%^p`Fax5>!=_r(Xo#u;!sC z7OJrF=2D9Mp`re0lf$kEzIFkF8Ue2z^~Oc6AgaFuZCOQ^hoP?J8#`9NaEeme=YdiG zq*HY#R<-2-7EsRzAXXG46%2?bazcL+RLP+TD*L6^+n<^Es+6=tZSu1=0Xx6k-YYN& zR&%HP{w#@V>nGV3=Et=2e>9l>X zFs1qttQV_Dsk#i)3D>%h+9ji2r&>9D26An74&TOrHU(Vp7WR{wEG^86_q)ma&j{MG zr$r#eBl8qk^-kEymkxdrJC&djK$6>NzBXa}`wGI(97RtbzS*GL2ZQ)S{~XRLJ*_`- znJxC%{Y7Y?Az;79{0$uxj!t?n^QpF7tcqzy^ylUg(%GI?b#-0;`*h8kU@RY{A}EZV z>@A_IYHFM{{n~UkPR=BK}8KH`ZL9U(w8J!On-vka0b?hdwXVcJCH$p_L%qzKJ%IuC!o!& zR=J6+XrTwDd4rC)KoXw43=`9>r3tdLr07wP_opRN3)L|&m@t!Sv+jk&eAAySrn z42>NBJS?ZpfN^FlovUe}BFZn@Ywg@g27(+jHItUCETo%wtvU2-3QG$6Pz&IvO@MP= z#n!1Nk}m`;Gk}q4fQ-gFHR@Xq5)z!Q$sT)>F;N!7T#QLK-LwvH*Us<(s0$MtVpJ%@ zo?`3%RoM>bA{ZV0Q{7e^nn7u{a!@e(%zA z(5=22cl5Lx5M9(NZq?|C?N;nt`VFUr9h>v6UA!EaM(%7U|2PVbT4!jQ3&3U2_wWRG z;VOO*V9lB)H3fABBtH!iO%T~G;}iU3Y}B0^h)yq;5soZE;gN;mX_dch2k3cT%MNK9 zD0!yiPVhc&mdGl&W9SDl{-LF-_}dp_mrhp)i@}od5VRwc-3JOcjqFRwPWHN6-}ix5 z?W%kY72lfZ;M9gHm$+Hg!CvmD1>0Gkt@{W!8|&jxOK5rZ%nyFwCWxgIv4TX36bVm< zKIr8FKc@gQlK&c(kK1)U8HbNVPO_Ka93lMe#Wks~1ucycq*?Nw<61w`uV@4I8z3e7 zeO%rG^u81ChG8eoY!CN7ndv-HYpX5ci6$p-4uYErNr`fWy@aA0RY_h|Vhio(Y9BQp z;YP2|&O;Oj$J;Ba!_EmEHUy*>6mP>_Vbvu}zAW9Kj+`|Yv=}V5;XA+3U8b}iS%sSR zm_B_T(1t*!X}`x?Q&`@H`-dqj!VXi!VK3n~QsT2j(H`GS4TK?;Oqxa1g`g}u+s=Z;TuZY5|*aCelW1^j!u%9Qu&EqrWQ`dqm~cxlqXId0o=*e`--T0Y_0VunfX?Z>bZcI zVMlo~jrBi1zzv+V_~P%mIe5BgM|<#gI|^Rc_+`Eb^gQNetE`$1yg2BPyum0GBeu== zC%nz^Efm@)q)9>z9DEuT6kqbf6XwJyc6@Hag2f@Ke;!|luEGy#(z8%!5Kh|^@pd=w zkPM-y=PD4o)~LN^D7+B^VZmbB28Pd-dJ5LN51(|yzBh#@43Y+D_h0@z@9*XPU7(I; zC!EZC1S){>7NY3N47PqOJ}O_xMQRCNYx8xI4;_885T$@iGlZkb3hDaBO~hA6kV=+kFKVIq*`D`Z%DGv%3O`hxlFqmzFUDA4@2UaLI zZSOMk4cmG1pCD~x6ePj8J}^UEb4mkh4i!G+<_OYM=po#Pnhuc+Z7_*BYA5SE*FCzY z?gA`-fF#dvu0C56mYJ(w>aA1S-}7HxNbn#HXgDZ2o&q`|=A0ZJ;xk)mur@<^)`s=l z!}mxkI-RqV`zW)O$^T;RebU9Z$YTrGrL^rwtn1iHgN;)bQoSJ3fdBW4srn!5-Vm=P z(fKI~crN6DUY&Lp{~0Gm_g;Wi9`=_j!H2PZVl$aOeb%%L*@0-}k^MlP;MPHIl?sG$ z(qpEmNz~57|IY~JAfk(Qod|*W{eE-u80qJFwO^QNg#n*Y+Dx6KOhKSKPo4%qpFpgr z_G?Vr*jf>jj`-*6PI}*8Oy^=y2h`%#Zy&RNJoX`QL~EBLfTUrsE!+q~)d;Wo#wy50 zj<|J{#XKc#GfIMDMzj73QxxW+1fv;yDZx3wBzbV!!&_Dwc(Xb0<^&}MHYdD5#P+<4 zEX*45(h5ru4yjDr`6yRdU5~0~J)OB>tJ5fx721M}A`KF`1(vl-TlQjYX0d~e&Z$Lx z%KFd-jQ>+Dxn!Swb>@_q?nwQje@vGY$BteYUPt*^gW=EYayEx@I;wOOq#KYF3O;hi zoxl9}-I~&`(FE(oBz03Rxul-B9_BD-{|iw_y1LC%wY ze!Pui9knF|ps6lJG#_Dk#sF=yi6{Vw&@QugE;G_JQiL?C9Ae+>=Tip+&nkJ)?ZCkT z6BsN(t%2BJ-K3o;0ImYI98Y-2u<>W}WTco^ECGe^2%z1b zbtnKY!yf8;_MEA(=fcj|Fg*j>yXP#wxfn0{|C-X$3<7i$)|yX%-KL)?05YT>Lvtu1 zEb`$uW}kivatwVCw^JERey<-CeFZ)zX07L!KEXROBd6Vx&hktHt z*v%rv_8wHF2v4L>fs4pRZJ+3B`5<^tG92QbK}5CE506Y00f5 zt-7pZ+Cc5GTi_$8&6=Mm0IB^{RV#HlXL!N;7C6V$tfsEqxb+HfzTdh7fC4*QZIO=< z8>o$#g(v_^#L&>}n5im#$A;hm87o8Mt13=B@q5p?U^ciC1=c07X^ZX1&77Yo0G9*? zUM?teT<0fgA;f9AF~!O2f9N`3X;7;0g;jr`t-}8v#&nIEpC|yD-9g2KnRv$hkZM$} z$&>tzgLfOM2%5^s0DJkI&_QjpALF#h&z^-S0NT?N#)vEx73*BA8(6nJVZxu(zP;8I zf4|U#6kV%FEulURrAS|%jVJ(wRulTfI7ZYNPgP0kpN+N>)-VH^EyYnxIujWXz3{D| zntc+=-=K#m09!&=dzZ12@?w?cJoOasV~jR})GIR!HvWr|^f>JLt-CoHT*|MYk0<~} zCc6H25OD+G+(|W^fu%`{DUwHMf9w1e4dTQ=pxEWoa~QK~t)h=80AQx2HPgw<5Oe)T zt;<7pn0@Ri4}i5aN!jG}dYDM}CDYaJWvZ{Dk0=0)Pu&?=1*t`lgY5+4*tTP{GKPP4 zFURlGp?rJLD08LuM3^ON&6l6o0_qeS}((~+B?CK0<3GZiA^*c=g| zE&F=j^vcbapC|xE68RU90sW7lmMQZR{5|?xfr{PBAt*rs=;0sGE<5f1XJMzR&6b}i z01Ez#zGM|(yfFA3+};*$+%ik>+!!n5l6tWC33^+SZVG}(ovP1_pC|xFBBQ0w5bRMo zw0=hK{>F0wf9;&pjL5mD*a4Kb!j7&Qh^_iZ}egNua8dgyHUZNSu8tU6`LJ0H`iw5Xs8c zyii#S;DEEClT4YIOHKZSnM@|DCd;RzZg@ygetDgobtnL*rgrrpGC5tolCxwQfuB9? zXY+9<7y73MBQ#2qOCs)h_7DCMotU2}03*vXUuYayPS3FzC+m#U>!>-ltGE{Q2Nv=I%6hbRE0RBN6O zwQ)IlDqNF{t*XV-a%$SN#o<<2uPUh&rCIL8W=$>;osNwt04f#W50-b*K9cN?&J|ko z^wLrjFM(~h5b_wozTug8?);GORIv?$kthI`X?4)5rZ=Aa5+I^?$Zx+r_Ee_2!R#UP zi8P$snggz}5~^|u#ek0}0HpnA0lW==WD_%{SL?wx+l8i2?HbXMn1!SRK_O*B?fDIm zFA;@yizoopXDs?x?1z+A^4X-_&nw3Qkj7vB2?JD|a6B>-+$1ja3m#HvMTU(i0Gkai zi0)Jx{abpFc;Ob;){><8Io0{b4=-zDe-pC|yQ%DdURHLnCi)@`EE$PB_^(}9M& z-zv+8kN6En^NTI{z%C@;m4cfn0I@_+-cI#YnCm4$u)M6^C9<;p?uwhsN-5N)ZDjRY z`>Eu)nBS3vl_&r^47$FfxDnW$Y?~Kr6;x-kNny5%{pNpqydjCEoK`uPd;s=Y6ShF ztkkf33AIkK>YCX5qZAyr>sXHSgn|c~bvj6}9 literal 0 HcmV?d00001 diff --git a/auracast/announcement_48_10_96000_fr.wav b/src/auracast/testdata/announcement_fr.wav similarity index 100% rename from auracast/announcement_48_10_96000_fr.wav rename to src/auracast/testdata/announcement_fr.wav diff --git a/src/auracast/testdata/announcement_fr_10_16_32.lc3 b/src/auracast/testdata/announcement_fr_10_16_32.lc3 new file mode 100644 index 0000000000000000000000000000000000000000..e07bad0f049f07130af0fdebda637698cef86185 GIT binary patch literal 47352 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 literal 0 HcmV?d00001 diff --git a/src/auracast/testdata/encode_lc3.py b/src/auracast/testdata/encode_lc3.py new file mode 100644 index 0000000..a67cd8e --- /dev/null +++ b/src/auracast/testdata/encode_lc3.py @@ -0,0 +1,25 @@ +# use liblc3 +import os +import subprocess + +frame_dur_ms=10 +srate=16000 +bps=32000 + +if __name__ == '__main__': + workdir = os.path.dirname(__file__) + os.chdir(workdir) + files = os.listdir(workdir) + filtered = [file for file in files if file.endswith('.wav')] + + for file in filtered: + cmd = [ + 'elc3', + '-b', f'{bps}', + '-m', f'{frame_dur_ms}' , + '-r', f'{srate}', + f'{file}', f'{file.replace('.wav', '')}_{frame_dur_ms}_{srate//1000}_{bps//1000}.lc3' + ] + print("Executing: ", " ".join(cmd)) + ret = subprocess.run(cmd, check=True) + print(ret.returncode, ret.stdout, ret.stderr) diff --git a/src/auracast/utils/__init__.py b/src/auracast/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/auracast/utils/read_lc3_file.py b/src/auracast/utils/read_lc3_file.py new file mode 100644 index 0000000..d075d07 --- /dev/null +++ b/src/auracast/utils/read_lc3_file.py @@ -0,0 +1,32 @@ +import logging +import struct + + +def read_lc3_file(filepath): + filepath = filepath.replace('file:', '') + with open(filepath, 'rb') as f_lc3: + header = struct.unpack('=HHHHHHHI', f_lc3.read(18)) + if header[0] != 0xcc1c: + raise ValueError('Invalid bitstream file') + + # found in liblc3 - decoder.py + samplerate = header[2] * 100 + nchannels = header[4] + frame_duration = header[5] * 10 + stream_length = header[7] + #lc3_frame_size = struct.unpack('=H', f_lc3.read(2))[0] + logging.info('Loaded lc3 file: %s', filepath) + logging.info('samplerate: %s', samplerate) + logging.info('nchannels %s', nchannels) + logging.info('frame_duration %s', frame_duration) + logging.info('stream_length %s', stream_length) + + lc3_bytes= b'' + while True: + b = f_lc3.read(2) + if b == b'': + break + lc3_frame_size = struct.unpack('=H', b)[0] + lc3_bytes += f_lc3.read(lc3_frame_size) + + return lc3_bytes \ No newline at end of file diff --git a/tests/test_server.py b/tests/test_server.py new file mode 100644 index 0000000..fa8cfa0 --- /dev/null +++ b/tests/test_server.py @@ -0,0 +1,74 @@ +import pytest +import pytest_asyncio +import asyncio +from quart import jsonify +from auracast.utils.read_lc3_file import read_lc3_file +from auracast import multicast_server + +@pytest.fixture +def client(): + """Fixture to create and return a Quart test client.""" + yield multicast_server.app.test_client() + +@pytest_asyncio.fixture +async def init_broadcast(client): + response = await client.post('/init') + json_data = await response.get_json() + + assert response.status_code == 200 + assert json_data["status"] == "initialized" + + +@pytest.mark.asyncio +async def test_shutdown(client, init_broadcast): + """Tests the /shutdown endpoint.""" + + response = await client.post('/shutdown') + json_data = await response.get_json() + + assert response.status_code == 200 + assert json_data["status"] == "stopped" + + +@pytest.mark.asyncio +async def test_stop_audio(client, init_broadcast): + """Tests the /stop_audio endpoint.""" + + response = await client.post('/stop_audio') + json_data = await response.get_json() + + assert response.status_code == 200 + assert json_data["status"] == "stopped" + + +@pytest.mark.asyncio +async def test_send_audio(client, init_broadcast): + """Tests the /stream_lc3 endpoint.""" + test_audio_data = { # TODO: investigate further whats the best way to actually transfer the data + "broadcast_de": read_lc3_file('src/auracast/testdata/announcement_de_10_16_32.lc3').decode('latin-1'), + "broadcast_en": read_lc3_file('src/auracast/testdata/announcement_en_10_16_32.lc3').decode('latin-1') + } + + response = await client.post('/stream_lc3', json=test_audio_data) + json_data = await response.get_json() + + assert response.status_code == 200 + assert json_data["status"] == "audio_sent" + + await asyncio.wait([multicast_server.multicaster.streamer.task], timeout=10) + # Ensure the audio data is correctly assigned + for key, val in multicast_server.big_conf.items(): + if key in test_audio_data: + assert val.audio_source == test_audio_data[key].encode('latin-1') + else: + assert val.audio_source == b"" + + +@pytest.mark.asyncio +async def test_get_status(client): + """Tests the /status endpoint.""" + response = await client.get('/status') + json_data = await response.get_json() + + assert response.status_code == 200 + assert "status" in json_data \ No newline at end of file