From 02242b9b34766447238ad46e25724f5b6fdfcf32 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Mon, 30 Jul 2018 21:48:33 -0700 Subject: [PATCH] Replace Opus submodule with prebuilt libopus 1.2.1 binaries for Windows and Mac --- .gitmodules | 3 - .travis.yml | 1 + app/app.pro | 13 +- libs/mac/include/opus.h | 981 ++++++++++++++++++++++++ libs/mac/include/opus_custom.h | 342 +++++++++ libs/mac/include/opus_defines.h | 785 +++++++++++++++++++ libs/mac/include/opus_multistream.h | 660 ++++++++++++++++ libs/mac/include/opus_types.h | 159 ++++ libs/mac/lib/libopus.a | Bin 0 -> 715648 bytes libs/windows/include/opus.h | 981 ++++++++++++++++++++++++ libs/windows/include/opus_custom.h | 342 +++++++++ libs/windows/include/opus_defines.h | 785 +++++++++++++++++++ libs/windows/include/opus_multistream.h | 660 ++++++++++++++++ libs/windows/include/opus_types.h | 159 ++++ libs/windows/lib/x64/opus.dll | Bin 0 -> 365056 bytes libs/windows/lib/x64/opus.lib | Bin 0 -> 14462 bytes libs/windows/lib/x86/opus.dll | Bin 0 -> 258560 bytes libs/windows/lib/x86/opus.lib | Bin 0 -> 14698 bytes moonlight-qt.pro | 1 - opus/opus | 1 - opus/opus.pro | 272 ------- 21 files changed, 5858 insertions(+), 287 deletions(-) create mode 100644 libs/mac/include/opus.h create mode 100644 libs/mac/include/opus_custom.h create mode 100644 libs/mac/include/opus_defines.h create mode 100644 libs/mac/include/opus_multistream.h create mode 100644 libs/mac/include/opus_types.h create mode 100644 libs/mac/lib/libopus.a create mode 100644 libs/windows/include/opus.h create mode 100644 libs/windows/include/opus_custom.h create mode 100644 libs/windows/include/opus_defines.h create mode 100644 libs/windows/include/opus_multistream.h create mode 100644 libs/windows/include/opus_types.h create mode 100644 libs/windows/lib/x64/opus.dll create mode 100644 libs/windows/lib/x64/opus.lib create mode 100644 libs/windows/lib/x86/opus.dll create mode 100644 libs/windows/lib/x86/opus.lib delete mode 160000 opus/opus delete mode 100644 opus/opus.pro diff --git a/.gitmodules b/.gitmodules index 124a6af8..b55a4a64 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,6 @@ [submodule "moonlight-common-c/moonlight-common-c"] path = moonlight-common-c/moonlight-common-c url = https://github.com/moonlight-stream/moonlight-common-c.git -[submodule "opus/opus"] - path = opus/opus - url = https://github.com/xiph/opus.git [submodule "qmdnsengine/qmdnsengine"] path = qmdnsengine/qmdnsengine url = https://github.com/cgutman/qmdnsengine.git diff --git a/.travis.yml b/.travis.yml index a809d1c5..203ba3d9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,7 @@ matrix: - qt59svg - libesd0-dev - libgl-dev + - libopus-dev install: - '[ "$TRAVIS_OS_NAME" != osx ] || brew install qt5' diff --git a/app/app.pro b/app/app.pro index deb6ca5f..110c0192 100644 --- a/app/app.pro +++ b/app/app.pro @@ -43,7 +43,7 @@ macx { unix:!macx { CONFIG += link_pkgconfig - PKGCONFIG += openssl sdl2 + PKGCONFIG += openssl sdl2 opus LIBS += -ldl packagesExist(libavcodec) { @@ -56,11 +56,11 @@ unix:!macx { } } win32 { - LIBS += -llibssl -llibcrypto -lSDL2 -lavcodec -lavutil + LIBS += -llibssl -llibcrypto -lSDL2 -lavcodec -lavutil -lopus CONFIG += ffmpeg } macx { - LIBS += -lssl -lcrypto -lavcodec.58 -lavutil.56 -framework SDL2 + LIBS += -lssl -lcrypto -lavcodec.58 -lavutil.56 -lopus -framework SDL2 LIBS += -lobjc -framework VideoToolbox -framework AVFoundation -framework CoreVideo -framework CoreGraphics -framework CoreMedia -framework AppKit CONFIG += ffmpeg } @@ -150,13 +150,6 @@ else:unix: LIBS += -L$$OUT_PWD/../moonlight-common-c/ -lmoonlight-common-c INCLUDEPATH += $$PWD/../moonlight-common-c/moonlight-common-c/src DEPENDPATH += $$PWD/../moonlight-common-c/moonlight-common-c/src -win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../opus/release/ -lopus -else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../opus/debug/ -lopus -else:unix: LIBS += -L$$OUT_PWD/../opus/ -lopus - -INCLUDEPATH += $$PWD/../opus/opus/include -DEPENDPATH += $$PWD/../opus/opus/include - win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../qmdnsengine/release/ -lqmdnsengine else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../qmdnsengine/debug/ -lqmdnsengine else:unix: LIBS += -L$$OUT_PWD/../qmdnsengine/ -lqmdnsengine diff --git a/libs/mac/include/opus.h b/libs/mac/include/opus.h new file mode 100644 index 00000000..5be73ddf --- /dev/null +++ b/libs/mac/include/opus.h @@ -0,0 +1,981 @@ +/* Copyright (c) 2010-2011 Xiph.Org Foundation, Skype Limited + Written by Jean-Marc Valin and Koen Vos */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @file opus.h + * @brief Opus reference implementation API + */ + +#ifndef OPUS_H +#define OPUS_H + +#include "opus_types.h" +#include "opus_defines.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @mainpage Opus + * + * The Opus codec is designed for interactive speech and audio transmission over the Internet. + * It is designed by the IETF Codec Working Group and incorporates technology from + * Skype's SILK codec and Xiph.Org's CELT codec. + * + * The Opus codec is designed to handle a wide range of interactive audio applications, + * including Voice over IP, videoconferencing, in-game chat, and even remote live music + * performances. It can scale from low bit-rate narrowband speech to very high quality + * stereo music. Its main features are: + + * @li Sampling rates from 8 to 48 kHz + * @li Bit-rates from 6 kb/s to 510 kb/s + * @li Support for both constant bit-rate (CBR) and variable bit-rate (VBR) + * @li Audio bandwidth from narrowband to full-band + * @li Support for speech and music + * @li Support for mono and stereo + * @li Support for multichannel (up to 255 channels) + * @li Frame sizes from 2.5 ms to 60 ms + * @li Good loss robustness and packet loss concealment (PLC) + * @li Floating point and fixed-point implementation + * + * Documentation sections: + * @li @ref opus_encoder + * @li @ref opus_decoder + * @li @ref opus_repacketizer + * @li @ref opus_multistream + * @li @ref opus_libinfo + * @li @ref opus_custom + */ + +/** @defgroup opus_encoder Opus Encoder + * @{ + * + * @brief This page describes the process and functions used to encode Opus. + * + * Since Opus is a stateful codec, the encoding process starts with creating an encoder + * state. This can be done with: + * + * @code + * int error; + * OpusEncoder *enc; + * enc = opus_encoder_create(Fs, channels, application, &error); + * @endcode + * + * From this point, @c enc can be used for encoding an audio stream. An encoder state + * @b must @b not be used for more than one stream at the same time. Similarly, the encoder + * state @b must @b not be re-initialized for each frame. + * + * While opus_encoder_create() allocates memory for the state, it's also possible + * to initialize pre-allocated memory: + * + * @code + * int size; + * int error; + * OpusEncoder *enc; + * size = opus_encoder_get_size(channels); + * enc = malloc(size); + * error = opus_encoder_init(enc, Fs, channels, application); + * @endcode + * + * where opus_encoder_get_size() returns the required size for the encoder state. Note that + * future versions of this code may change the size, so no assuptions should be made about it. + * + * The encoder state is always continuous in memory and only a shallow copy is sufficient + * to copy it (e.g. memcpy()) + * + * It is possible to change some of the encoder's settings using the opus_encoder_ctl() + * interface. All these settings already default to the recommended value, so they should + * only be changed when necessary. The most common settings one may want to change are: + * + * @code + * opus_encoder_ctl(enc, OPUS_SET_BITRATE(bitrate)); + * opus_encoder_ctl(enc, OPUS_SET_COMPLEXITY(complexity)); + * opus_encoder_ctl(enc, OPUS_SET_SIGNAL(signal_type)); + * @endcode + * + * where + * + * @arg bitrate is in bits per second (b/s) + * @arg complexity is a value from 1 to 10, where 1 is the lowest complexity and 10 is the highest + * @arg signal_type is either OPUS_AUTO (default), OPUS_SIGNAL_VOICE, or OPUS_SIGNAL_MUSIC + * + * See @ref opus_encoderctls and @ref opus_genericctls for a complete list of parameters that can be set or queried. Most parameters can be set or changed at any time during a stream. + * + * To encode a frame, opus_encode() or opus_encode_float() must be called with exactly one frame (2.5, 5, 10, 20, 40 or 60 ms) of audio data: + * @code + * len = opus_encode(enc, audio_frame, frame_size, packet, max_packet); + * @endcode + * + * where + * + * + * opus_encode() and opus_encode_float() return the number of bytes actually written to the packet. + * The return value can be negative, which indicates that an error has occurred. If the return value + * is 2 bytes or less, then the packet does not need to be transmitted (DTX). + * + * Once the encoder state if no longer needed, it can be destroyed with + * + * @code + * opus_encoder_destroy(enc); + * @endcode + * + * If the encoder was created with opus_encoder_init() rather than opus_encoder_create(), + * then no action is required aside from potentially freeing the memory that was manually + * allocated for it (calling free(enc) for the example above) + * + */ + +/** Opus encoder state. + * This contains the complete state of an Opus encoder. + * It is position independent and can be freely copied. + * @see opus_encoder_create,opus_encoder_init + */ +typedef struct OpusEncoder OpusEncoder; + +/** Gets the size of an OpusEncoder structure. + * @param[in] channels int: Number of channels. + * This must be 1 or 2. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_encoder_get_size(int channels); + +/** + */ + +/** Allocates and initializes an encoder state. + * There are three coding modes: + * + * @ref OPUS_APPLICATION_VOIP gives best quality at a given bitrate for voice + * signals. It enhances the input signal by high-pass filtering and + * emphasizing formants and harmonics. Optionally it includes in-band + * forward error correction to protect against packet loss. Use this + * mode for typical VoIP applications. Because of the enhancement, + * even at high bitrates the output may sound different from the input. + * + * @ref OPUS_APPLICATION_AUDIO gives best quality at a given bitrate for most + * non-voice signals like music. Use this mode for music and mixed + * (music/voice) content, broadcast, and applications requiring less + * than 15 ms of coding delay. + * + * @ref OPUS_APPLICATION_RESTRICTED_LOWDELAY configures low-delay mode that + * disables the speech-optimized mode in exchange for slightly reduced delay. + * This mode can only be set on an newly initialized or freshly reset encoder + * because it changes the codec delay. + * + * This is useful when the caller knows that the speech-optimized modes will not be needed (use with caution). + * @param [in] Fs opus_int32: Sampling rate of input signal (Hz) + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) in input signal + * @param [in] application int: Coding mode (@ref OPUS_APPLICATION_VOIP/@ref OPUS_APPLICATION_AUDIO/@ref OPUS_APPLICATION_RESTRICTED_LOWDELAY) + * @param [out] error int*: @ref opus_errorcodes + * @note Regardless of the sampling rate and number channels selected, the Opus encoder + * can switch to a lower audio bandwidth or number of channels if the bitrate + * selected is too low. This also means that it is safe to always use 48 kHz stereo input + * and let the encoder optimize the encoding. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusEncoder *opus_encoder_create( + opus_int32 Fs, + int channels, + int application, + int *error +); + +/** Initializes a previously allocated encoder state + * The memory pointed to by st must be at least the size returned by opus_encoder_get_size(). + * This is intended for applications which use their own allocator instead of malloc. + * @see opus_encoder_create(),opus_encoder_get_size() + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] Fs opus_int32: Sampling rate of input signal (Hz) + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) in input signal + * @param [in] application int: Coding mode (OPUS_APPLICATION_VOIP/OPUS_APPLICATION_AUDIO/OPUS_APPLICATION_RESTRICTED_LOWDELAY) + * @retval #OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_EXPORT int opus_encoder_init( + OpusEncoder *st, + opus_int32 Fs, + int channels, + int application +) OPUS_ARG_NONNULL(1); + +/** Encodes an Opus frame. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] pcm opus_int16*: Input signal (interleaved if 2 channels). length is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size int: Number of samples per channel in the + * input signal. + * This must be an Opus frame size for + * the encoder's sampling rate. + * For example, at 48 kHz the permitted + * values are 120, 240, 480, 960, 1920, + * and 2880. + * Passing in a duration of less than + * 10 ms (480 samples at 48 kHz) will + * prevent the encoder from using the LPC + * or hybrid modes. + * @param [out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_encode( + OpusEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes an Opus frame from floating point input. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] pcm float*: Input in float format (interleaved if 2 channels), with a normal range of +/-1.0. + * Samples with a range beyond +/-1.0 are supported but will + * be clipped by decoders using the integer API and should + * only be used if it is known that the far end supports + * extended dynamic range. + * length is frame_size*channels*sizeof(float) + * @param [in] frame_size int: Number of samples per channel in the + * input signal. + * This must be an Opus frame size for + * the encoder's sampling rate. + * For example, at 48 kHz the permitted + * values are 120, 240, 480, 960, 1920, + * and 2880. + * Passing in a duration of less than + * 10 ms (480 samples at 48 kHz) will + * prevent the encoder from using the LPC + * or hybrid modes. + * @param [out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_encode_float( + OpusEncoder *st, + const float *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Frees an OpusEncoder allocated by opus_encoder_create(). + * @param[in] st OpusEncoder*: State to be freed. + */ +OPUS_EXPORT void opus_encoder_destroy(OpusEncoder *st); + +/** Perform a CTL function on an Opus encoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @param st OpusEncoder*: Encoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls or + * @ref opus_encoderctls. + * @see opus_genericctls + * @see opus_encoderctls + */ +OPUS_EXPORT int opus_encoder_ctl(OpusEncoder *st, int request, ...) OPUS_ARG_NONNULL(1); +/**@}*/ + +/** @defgroup opus_decoder Opus Decoder + * @{ + * + * @brief This page describes the process and functions used to decode Opus. + * + * The decoding process also starts with creating a decoder + * state. This can be done with: + * @code + * int error; + * OpusDecoder *dec; + * dec = opus_decoder_create(Fs, channels, &error); + * @endcode + * where + * @li Fs is the sampling rate and must be 8000, 12000, 16000, 24000, or 48000 + * @li channels is the number of channels (1 or 2) + * @li error will hold the error code in case of failure (or #OPUS_OK on success) + * @li the return value is a newly created decoder state to be used for decoding + * + * While opus_decoder_create() allocates memory for the state, it's also possible + * to initialize pre-allocated memory: + * @code + * int size; + * int error; + * OpusDecoder *dec; + * size = opus_decoder_get_size(channels); + * dec = malloc(size); + * error = opus_decoder_init(dec, Fs, channels); + * @endcode + * where opus_decoder_get_size() returns the required size for the decoder state. Note that + * future versions of this code may change the size, so no assuptions should be made about it. + * + * The decoder state is always continuous in memory and only a shallow copy is sufficient + * to copy it (e.g. memcpy()) + * + * To decode a frame, opus_decode() or opus_decode_float() must be called with a packet of compressed audio data: + * @code + * frame_size = opus_decode(dec, packet, len, decoded, max_size, 0); + * @endcode + * where + * + * @li packet is the byte array containing the compressed data + * @li len is the exact number of bytes contained in the packet + * @li decoded is the decoded audio data in opus_int16 (or float for opus_decode_float()) + * @li max_size is the max duration of the frame in samples (per channel) that can fit into the decoded_frame array + * + * opus_decode() and opus_decode_float() return the number of samples (per channel) decoded from the packet. + * If that value is negative, then an error has occurred. This can occur if the packet is corrupted or if the audio + * buffer is too small to hold the decoded audio. + * + * Opus is a stateful codec with overlapping blocks and as a result Opus + * packets are not coded independently of each other. Packets must be + * passed into the decoder serially and in the correct order for a correct + * decode. Lost packets can be replaced with loss concealment by calling + * the decoder with a null pointer and zero length for the missing packet. + * + * A single codec state may only be accessed from a single thread at + * a time and any required locking must be performed by the caller. Separate + * streams must be decoded with separate decoder states and can be decoded + * in parallel unless the library was compiled with NONTHREADSAFE_PSEUDOSTACK + * defined. + * + */ + +/** Opus decoder state. + * This contains the complete state of an Opus decoder. + * It is position independent and can be freely copied. + * @see opus_decoder_create,opus_decoder_init + */ +typedef struct OpusDecoder OpusDecoder; + +/** Gets the size of an OpusDecoder structure. + * @param [in] channels int: Number of channels. + * This must be 1 or 2. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decoder_get_size(int channels); + +/** Allocates and initializes a decoder state. + * @param [in] Fs opus_int32: Sample rate to decode at (Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) to decode + * @param [out] error int*: #OPUS_OK Success or @ref opus_errorcodes + * + * Internally Opus stores data at 48000 Hz, so that should be the default + * value for Fs. However, the decoder can efficiently decode to buffers + * at 8, 12, 16, and 24 kHz so if for some reason the caller cannot use + * data at the full sample rate, or knows the compressed data doesn't + * use the full frequency range, it can request decoding at a reduced + * rate. Likewise, the decoder is capable of filling in either mono or + * interleaved stereo pcm buffers, at the caller's request. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusDecoder *opus_decoder_create( + opus_int32 Fs, + int channels, + int *error +); + +/** Initializes a previously allocated decoder state. + * The state must be at least the size returned by opus_decoder_get_size(). + * This is intended for applications which use their own allocator instead of malloc. @see opus_decoder_create,opus_decoder_get_size + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @param [in] st OpusDecoder*: Decoder state. + * @param [in] Fs opus_int32: Sampling rate to decode to (Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) to decode + * @retval #OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_EXPORT int opus_decoder_init( + OpusDecoder *st, + opus_int32 Fs, + int channels +) OPUS_ARG_NONNULL(1); + +/** Decode an Opus packet. + * @param [in] st OpusDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len opus_int32: Number of bytes in payload* + * @param [out] pcm opus_int16*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size Number of samples per channel of available space in \a pcm. + * If this is less than the maximum packet duration (120ms; 5760 for 48kHz), this function will + * not be capable of decoding some packets. In the case of PLC (data==NULL) or FEC (decode_fec=1), + * then frame_size needs to be exactly the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the next incoming packet. For the PLC and + * FEC cases, frame_size must be a multiple of 2.5 ms. + * @param [in] decode_fec int: Flag (0 or 1) to request that any in-band forward error correction data be + * decoded. If no such data is available, the frame is decoded as if it were lost. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decode( + OpusDecoder *st, + const unsigned char *data, + opus_int32 len, + opus_int16 *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode an Opus packet with floating point output. + * @param [in] st OpusDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len opus_int32: Number of bytes in payload + * @param [out] pcm float*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(float) + * @param [in] frame_size Number of samples per channel of available space in \a pcm. + * If this is less than the maximum packet duration (120ms; 5760 for 48kHz), this function will + * not be capable of decoding some packets. In the case of PLC (data==NULL) or FEC (decode_fec=1), + * then frame_size needs to be exactly the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the next incoming packet. For the PLC and + * FEC cases, frame_size must be a multiple of 2.5 ms. + * @param [in] decode_fec int: Flag (0 or 1) to request that any in-band forward error correction data be + * decoded. If no such data is available the frame is decoded as if it were lost. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decode_float( + OpusDecoder *st, + const unsigned char *data, + opus_int32 len, + float *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on an Opus decoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @param st OpusDecoder*: Decoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls or + * @ref opus_decoderctls. + * @see opus_genericctls + * @see opus_decoderctls + */ +OPUS_EXPORT int opus_decoder_ctl(OpusDecoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/** Frees an OpusDecoder allocated by opus_decoder_create(). + * @param[in] st OpusDecoder*: State to be freed. + */ +OPUS_EXPORT void opus_decoder_destroy(OpusDecoder *st); + +/** Parse an opus packet into one or more frames. + * Opus_decode will perform this operation internally so most applications do + * not need to use this function. + * This function does not copy the frames, the returned pointers are pointers into + * the input packet. + * @param [in] data char*: Opus packet to be parsed + * @param [in] len opus_int32: size of data + * @param [out] out_toc char*: TOC pointer + * @param [out] frames char*[48] encapsulated frames + * @param [out] size opus_int16[48] sizes of the encapsulated frames + * @param [out] payload_offset int*: returns the position of the payload within the packet (in bytes) + * @returns number of frames + */ +OPUS_EXPORT int opus_packet_parse( + const unsigned char *data, + opus_int32 len, + unsigned char *out_toc, + const unsigned char *frames[48], + opus_int16 size[48], + int *payload_offset +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Gets the bandwidth of an Opus packet. + * @param [in] data char*: Opus packet + * @retval OPUS_BANDWIDTH_NARROWBAND Narrowband (4kHz bandpass) + * @retval OPUS_BANDWIDTH_MEDIUMBAND Mediumband (6kHz bandpass) + * @retval OPUS_BANDWIDTH_WIDEBAND Wideband (8kHz bandpass) + * @retval OPUS_BANDWIDTH_SUPERWIDEBAND Superwideband (12kHz bandpass) + * @retval OPUS_BANDWIDTH_FULLBAND Fullband (20kHz bandpass) + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_bandwidth(const unsigned char *data) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples per frame from an Opus packet. + * @param [in] data char*: Opus packet. + * This must contain at least one byte of + * data. + * @param [in] Fs opus_int32: Sampling rate in Hz. + * This must be a multiple of 400, or + * inaccurate results will be returned. + * @returns Number of samples per frame. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_samples_per_frame(const unsigned char *data, opus_int32 Fs) OPUS_ARG_NONNULL(1); + +/** Gets the number of channels from an Opus packet. + * @param [in] data char*: Opus packet + * @returns Number of channels + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_channels(const unsigned char *data) OPUS_ARG_NONNULL(1); + +/** Gets the number of frames in an Opus packet. + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @returns Number of frames + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_frames(const unsigned char packet[], opus_int32 len) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples of an Opus packet. + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @param [in] Fs opus_int32: Sampling rate in Hz. + * This must be a multiple of 400, or + * inaccurate results will be returned. + * @returns Number of samples + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_samples(const unsigned char packet[], opus_int32 len, opus_int32 Fs) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples of an Opus packet. + * @param [in] dec OpusDecoder*: Decoder state + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @returns Number of samples + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decoder_get_nb_samples(const OpusDecoder *dec, const unsigned char packet[], opus_int32 len) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); + +/** Applies soft-clipping to bring a float signal within the [-1,1] range. If + * the signal is already in that range, nothing is done. If there are values + * outside of [-1,1], then the signal is clipped as smoothly as possible to + * both fit in the range and avoid creating excessive distortion in the + * process. + * @param [in,out] pcm float*: Input PCM and modified PCM + * @param [in] frame_size int Number of samples per channel to process + * @param [in] channels int: Number of channels + * @param [in,out] softclip_mem float*: State memory for the soft clipping process (one float per channel, initialized to zero) + */ +OPUS_EXPORT void opus_pcm_soft_clip(float *pcm, int frame_size, int channels, float *softclip_mem); + + +/**@}*/ + +/** @defgroup opus_repacketizer Repacketizer + * @{ + * + * The repacketizer can be used to merge multiple Opus packets into a single + * packet or alternatively to split Opus packets that have previously been + * merged. Splitting valid Opus packets is always guaranteed to succeed, + * whereas merging valid packets only succeeds if all frames have the same + * mode, bandwidth, and frame size, and when the total duration of the merged + * packet is no more than 120 ms. The 120 ms limit comes from the + * specification and limits decoder memory requirements at a point where + * framing overhead becomes negligible. + * + * The repacketizer currently only operates on elementary Opus + * streams. It will not manipualte multistream packets successfully, except in + * the degenerate case where they consist of data from a single stream. + * + * The repacketizing process starts with creating a repacketizer state, either + * by calling opus_repacketizer_create() or by allocating the memory yourself, + * e.g., + * @code + * OpusRepacketizer *rp; + * rp = (OpusRepacketizer*)malloc(opus_repacketizer_get_size()); + * if (rp != NULL) + * opus_repacketizer_init(rp); + * @endcode + * + * Then the application should submit packets with opus_repacketizer_cat(), + * extract new packets with opus_repacketizer_out() or + * opus_repacketizer_out_range(), and then reset the state for the next set of + * input packets via opus_repacketizer_init(). + * + * For example, to split a sequence of packets into individual frames: + * @code + * unsigned char *data; + * int len; + * while (get_next_packet(&data, &len)) + * { + * unsigned char out[1276]; + * opus_int32 out_len; + * int nb_frames; + * int err; + * int i; + * err = opus_repacketizer_cat(rp, data, len); + * if (err != OPUS_OK) + * { + * release_packet(data); + * return err; + * } + * nb_frames = opus_repacketizer_get_nb_frames(rp); + * for (i = 0; i < nb_frames; i++) + * { + * out_len = opus_repacketizer_out_range(rp, i, i+1, out, sizeof(out)); + * if (out_len < 0) + * { + * release_packet(data); + * return (int)out_len; + * } + * output_next_packet(out, out_len); + * } + * opus_repacketizer_init(rp); + * release_packet(data); + * } + * @endcode + * + * Alternatively, to combine a sequence of frames into packets that each + * contain up to TARGET_DURATION_MS milliseconds of data: + * @code + * // The maximum number of packets with duration TARGET_DURATION_MS occurs + * // when the frame size is 2.5 ms, for a total of (TARGET_DURATION_MS*2/5) + * // packets. + * unsigned char *data[(TARGET_DURATION_MS*2/5)+1]; + * opus_int32 len[(TARGET_DURATION_MS*2/5)+1]; + * int nb_packets; + * unsigned char out[1277*(TARGET_DURATION_MS*2/2)]; + * opus_int32 out_len; + * int prev_toc; + * nb_packets = 0; + * while (get_next_packet(data+nb_packets, len+nb_packets)) + * { + * int nb_frames; + * int err; + * nb_frames = opus_packet_get_nb_frames(data[nb_packets], len[nb_packets]); + * if (nb_frames < 1) + * { + * release_packets(data, nb_packets+1); + * return nb_frames; + * } + * nb_frames += opus_repacketizer_get_nb_frames(rp); + * // If adding the next packet would exceed our target, or it has an + * // incompatible TOC sequence, output the packets we already have before + * // submitting it. + * // N.B., The nb_packets > 0 check ensures we've submitted at least one + * // packet since the last call to opus_repacketizer_init(). Otherwise a + * // single packet longer than TARGET_DURATION_MS would cause us to try to + * // output an (invalid) empty packet. It also ensures that prev_toc has + * // been set to a valid value. Additionally, len[nb_packets] > 0 is + * // guaranteed by the call to opus_packet_get_nb_frames() above, so the + * // reference to data[nb_packets][0] should be valid. + * if (nb_packets > 0 && ( + * ((prev_toc & 0xFC) != (data[nb_packets][0] & 0xFC)) || + * opus_packet_get_samples_per_frame(data[nb_packets], 48000)*nb_frames > + * TARGET_DURATION_MS*48)) + * { + * out_len = opus_repacketizer_out(rp, out, sizeof(out)); + * if (out_len < 0) + * { + * release_packets(data, nb_packets+1); + * return (int)out_len; + * } + * output_next_packet(out, out_len); + * opus_repacketizer_init(rp); + * release_packets(data, nb_packets); + * data[0] = data[nb_packets]; + * len[0] = len[nb_packets]; + * nb_packets = 0; + * } + * err = opus_repacketizer_cat(rp, data[nb_packets], len[nb_packets]); + * if (err != OPUS_OK) + * { + * release_packets(data, nb_packets+1); + * return err; + * } + * prev_toc = data[nb_packets][0]; + * nb_packets++; + * } + * // Output the final, partial packet. + * if (nb_packets > 0) + * { + * out_len = opus_repacketizer_out(rp, out, sizeof(out)); + * release_packets(data, nb_packets); + * if (out_len < 0) + * return (int)out_len; + * output_next_packet(out, out_len); + * } + * @endcode + * + * An alternate way of merging packets is to simply call opus_repacketizer_cat() + * unconditionally until it fails. At that point, the merged packet can be + * obtained with opus_repacketizer_out() and the input packet for which + * opus_repacketizer_cat() needs to be re-added to a newly reinitialized + * repacketizer state. + */ + +typedef struct OpusRepacketizer OpusRepacketizer; + +/** Gets the size of an OpusRepacketizer structure. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_repacketizer_get_size(void); + +/** (Re)initializes a previously allocated repacketizer state. + * The state must be at least the size returned by opus_repacketizer_get_size(). + * This can be used for applications which use their own allocator instead of + * malloc(). + * It must also be called to reset the queue of packets waiting to be + * repacketized, which is necessary if the maximum packet duration of 120 ms + * is reached or if you wish to submit packets with a different Opus + * configuration (coding mode, audio bandwidth, frame size, or channel count). + * Failure to do so will prevent a new packet from being added with + * opus_repacketizer_cat(). + * @see opus_repacketizer_create + * @see opus_repacketizer_get_size + * @see opus_repacketizer_cat + * @param rp OpusRepacketizer*: The repacketizer state to + * (re)initialize. + * @returns A pointer to the same repacketizer state that was passed in. + */ +OPUS_EXPORT OpusRepacketizer *opus_repacketizer_init(OpusRepacketizer *rp) OPUS_ARG_NONNULL(1); + +/** Allocates memory and initializes the new repacketizer with + * opus_repacketizer_init(). + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusRepacketizer *opus_repacketizer_create(void); + +/** Frees an OpusRepacketizer allocated by + * opus_repacketizer_create(). + * @param[in] rp OpusRepacketizer*: State to be freed. + */ +OPUS_EXPORT void opus_repacketizer_destroy(OpusRepacketizer *rp); + +/** Add a packet to the current repacketizer state. + * This packet must match the configuration of any packets already submitted + * for repacketization since the last call to opus_repacketizer_init(). + * This means that it must have the same coding mode, audio bandwidth, frame + * size, and channel count. + * This can be checked in advance by examining the top 6 bits of the first + * byte of the packet, and ensuring they match the top 6 bits of the first + * byte of any previously submitted packet. + * The total duration of audio in the repacketizer state also must not exceed + * 120 ms, the maximum duration of a single packet, after adding this packet. + * + * The contents of the current repacketizer state can be extracted into new + * packets using opus_repacketizer_out() or opus_repacketizer_out_range(). + * + * In order to add a packet with a different configuration or to add more + * audio beyond 120 ms, you must clear the repacketizer state by calling + * opus_repacketizer_init(). + * If a packet is too large to add to the current repacketizer state, no part + * of it is added, even if it contains multiple frames, some of which might + * fit. + * If you wish to be able to add parts of such packets, you should first use + * another repacketizer to split the packet into pieces and add them + * individually. + * @see opus_repacketizer_out_range + * @see opus_repacketizer_out + * @see opus_repacketizer_init + * @param rp OpusRepacketizer*: The repacketizer state to which to + * add the packet. + * @param[in] data const unsigned char*: The packet data. + * The application must ensure + * this pointer remains valid + * until the next call to + * opus_repacketizer_init() or + * opus_repacketizer_destroy(). + * @param len opus_int32: The number of bytes in the packet data. + * @returns An error code indicating whether or not the operation succeeded. + * @retval #OPUS_OK The packet's contents have been added to the repacketizer + * state. + * @retval #OPUS_INVALID_PACKET The packet did not have a valid TOC sequence, + * the packet's TOC sequence was not compatible + * with previously submitted packets (because + * the coding mode, audio bandwidth, frame size, + * or channel count did not match), or adding + * this packet would increase the total amount of + * audio stored in the repacketizer state to more + * than 120 ms. + */ +OPUS_EXPORT int opus_repacketizer_cat(OpusRepacketizer *rp, const unsigned char *data, opus_int32 len) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); + + +/** Construct a new packet from data previously submitted to the repacketizer + * state via opus_repacketizer_cat(). + * @param rp OpusRepacketizer*: The repacketizer state from which to + * construct the new packet. + * @param begin int: The index of the first frame in the current + * repacketizer state to include in the output. + * @param end int: One past the index of the last frame in the + * current repacketizer state to include in the + * output. + * @param[out] data const unsigned char*: The buffer in which to + * store the output packet. + * @param maxlen opus_int32: The maximum number of bytes to store in + * the output buffer. In order to guarantee + * success, this should be at least + * 1276 for a single frame, + * or for multiple frames, + * 1277*(end-begin). + * However, 1*(end-begin) plus + * the size of all packet data submitted to + * the repacketizer since the last call to + * opus_repacketizer_init() or + * opus_repacketizer_create() is also + * sufficient, and possibly much smaller. + * @returns The total size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BAD_ARG [begin,end) was an invalid range of + * frames (begin < 0, begin >= end, or end > + * opus_repacketizer_get_nb_frames()). + * @retval #OPUS_BUFFER_TOO_SMALL \a maxlen was insufficient to contain the + * complete output packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_repacketizer_out_range(OpusRepacketizer *rp, int begin, int end, unsigned char *data, opus_int32 maxlen) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Return the total number of frames contained in packet data submitted to + * the repacketizer state so far via opus_repacketizer_cat() since the last + * call to opus_repacketizer_init() or opus_repacketizer_create(). + * This defines the valid range of packets that can be extracted with + * opus_repacketizer_out_range() or opus_repacketizer_out(). + * @param rp OpusRepacketizer*: The repacketizer state containing the + * frames. + * @returns The total number of frames contained in the packet data submitted + * to the repacketizer state. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_repacketizer_get_nb_frames(OpusRepacketizer *rp) OPUS_ARG_NONNULL(1); + +/** Construct a new packet from data previously submitted to the repacketizer + * state via opus_repacketizer_cat(). + * This is a convenience routine that returns all the data submitted so far + * in a single packet. + * It is equivalent to calling + * @code + * opus_repacketizer_out_range(rp, 0, opus_repacketizer_get_nb_frames(rp), + * data, maxlen) + * @endcode + * @param rp OpusRepacketizer*: The repacketizer state from which to + * construct the new packet. + * @param[out] data const unsigned char*: The buffer in which to + * store the output packet. + * @param maxlen opus_int32: The maximum number of bytes to store in + * the output buffer. In order to guarantee + * success, this should be at least + * 1277*opus_repacketizer_get_nb_frames(rp). + * However, + * 1*opus_repacketizer_get_nb_frames(rp) + * plus the size of all packet data + * submitted to the repacketizer since the + * last call to opus_repacketizer_init() or + * opus_repacketizer_create() is also + * sufficient, and possibly much smaller. + * @returns The total size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BUFFER_TOO_SMALL \a maxlen was insufficient to contain the + * complete output packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_repacketizer_out(OpusRepacketizer *rp, unsigned char *data, opus_int32 maxlen) OPUS_ARG_NONNULL(1); + +/** Pads a given Opus packet to a larger size (possibly changing the TOC sequence). + * @param[in,out] data const unsigned char*: The buffer containing the + * packet to pad. + * @param len opus_int32: The size of the packet. + * This must be at least 1. + * @param new_len opus_int32: The desired size of the packet after padding. + * This must be at least as large as len. + * @returns an error code + * @retval #OPUS_OK \a on success. + * @retval #OPUS_BAD_ARG \a len was less than 1 or new_len was less than len. + * @retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet. + */ +OPUS_EXPORT int opus_packet_pad(unsigned char *data, opus_int32 len, opus_int32 new_len); + +/** Remove all padding from a given Opus packet and rewrite the TOC sequence to + * minimize space usage. + * @param[in,out] data const unsigned char*: The buffer containing the + * packet to strip. + * @param len opus_int32: The size of the packet. + * This must be at least 1. + * @returns The new size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BAD_ARG \a len was less than 1. + * @retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_packet_unpad(unsigned char *data, opus_int32 len); + +/** Pads a given Opus multi-stream packet to a larger size (possibly changing the TOC sequence). + * @param[in,out] data const unsigned char*: The buffer containing the + * packet to pad. + * @param len opus_int32: The size of the packet. + * This must be at least 1. + * @param new_len opus_int32: The desired size of the packet after padding. + * This must be at least 1. + * @param nb_streams opus_int32: The number of streams (not channels) in the packet. + * This must be at least as large as len. + * @returns an error code + * @retval #OPUS_OK \a on success. + * @retval #OPUS_BAD_ARG \a len was less than 1. + * @retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet. + */ +OPUS_EXPORT int opus_multistream_packet_pad(unsigned char *data, opus_int32 len, opus_int32 new_len, int nb_streams); + +/** Remove all padding from a given Opus multi-stream packet and rewrite the TOC sequence to + * minimize space usage. + * @param[in,out] data const unsigned char*: The buffer containing the + * packet to strip. + * @param len opus_int32: The size of the packet. + * This must be at least 1. + * @param nb_streams opus_int32: The number of streams (not channels) in the packet. + * This must be at least 1. + * @returns The new size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BAD_ARG \a len was less than 1 or new_len was less than len. + * @retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_packet_unpad(unsigned char *data, opus_int32 len, int nb_streams); + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_H */ diff --git a/libs/mac/include/opus_custom.h b/libs/mac/include/opus_custom.h new file mode 100644 index 00000000..41f36bf2 --- /dev/null +++ b/libs/mac/include/opus_custom.h @@ -0,0 +1,342 @@ +/* Copyright (c) 2007-2008 CSIRO + Copyright (c) 2007-2009 Xiph.Org Foundation + Copyright (c) 2008-2012 Gregory Maxwell + Written by Jean-Marc Valin and Gregory Maxwell */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + @file opus_custom.h + @brief Opus-Custom reference implementation API + */ + +#ifndef OPUS_CUSTOM_H +#define OPUS_CUSTOM_H + +#include "opus_defines.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef CUSTOM_MODES +# define OPUS_CUSTOM_EXPORT OPUS_EXPORT +# define OPUS_CUSTOM_EXPORT_STATIC OPUS_EXPORT +#else +# define OPUS_CUSTOM_EXPORT +# ifdef OPUS_BUILD +# define OPUS_CUSTOM_EXPORT_STATIC static OPUS_INLINE +# else +# define OPUS_CUSTOM_EXPORT_STATIC +# endif +#endif + +/** @defgroup opus_custom Opus Custom + * @{ + * Opus Custom is an optional part of the Opus specification and + * reference implementation which uses a distinct API from the regular + * API and supports frame sizes that are not normally supported.\ Use + * of Opus Custom is discouraged for all but very special applications + * for which a frame size different from 2.5, 5, 10, or 20 ms is needed + * (for either complexity or latency reasons) and where interoperability + * is less important. + * + * In addition to the interoperability limitations the use of Opus custom + * disables a substantial chunk of the codec and generally lowers the + * quality available at a given bitrate. Normally when an application needs + * a different frame size from the codec it should buffer to match the + * sizes but this adds a small amount of delay which may be important + * in some very low latency applications. Some transports (especially + * constant rate RF transports) may also work best with frames of + * particular durations. + * + * Libopus only supports custom modes if they are enabled at compile time. + * + * The Opus Custom API is similar to the regular API but the + * @ref opus_encoder_create and @ref opus_decoder_create calls take + * an additional mode parameter which is a structure produced by + * a call to @ref opus_custom_mode_create. Both the encoder and decoder + * must create a mode using the same sample rate (fs) and frame size + * (frame size) so these parameters must either be signaled out of band + * or fixed in a particular implementation. + * + * Similar to regular Opus the custom modes support on the fly frame size + * switching, but the sizes available depend on the particular frame size in + * use. For some initial frame sizes on a single on the fly size is available. + */ + +/** Contains the state of an encoder. One encoder state is needed + for each stream. It is initialized once at the beginning of the + stream. Do *not* re-initialize the state for every frame. + @brief Encoder state + */ +typedef struct OpusCustomEncoder OpusCustomEncoder; + +/** State of the decoder. One decoder state is needed for each stream. + It is initialized once at the beginning of the stream. Do *not* + re-initialize the state for every frame. + @brief Decoder state + */ +typedef struct OpusCustomDecoder OpusCustomDecoder; + +/** The mode contains all the information necessary to create an + encoder. Both the encoder and decoder need to be initialized + with exactly the same mode, otherwise the output will be + corrupted. + @brief Mode configuration + */ +typedef struct OpusCustomMode OpusCustomMode; + +/** Creates a new mode struct. This will be passed to an encoder or + * decoder. The mode MUST NOT BE DESTROYED until the encoders and + * decoders that use it are destroyed as well. + * @param [in] Fs int: Sampling rate (8000 to 96000 Hz) + * @param [in] frame_size int: Number of samples (per channel) to encode in each + * packet (64 - 1024, prime factorization must contain zero or more 2s, 3s, or 5s and no other primes) + * @param [out] error int*: Returned error code (if NULL, no error will be returned) + * @return A newly created mode + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT OpusCustomMode *opus_custom_mode_create(opus_int32 Fs, int frame_size, int *error); + +/** Destroys a mode struct. Only call this after all encoders and + * decoders using this mode are destroyed as well. + * @param [in] mode OpusCustomMode*: Mode to be freed. + */ +OPUS_CUSTOM_EXPORT void opus_custom_mode_destroy(OpusCustomMode *mode); + + +#if !defined(OPUS_BUILD) || defined(CELT_ENCODER_C) + +/* Encoder */ +/** Gets the size of an OpusCustomEncoder structure. + * @param [in] mode OpusCustomMode *: Mode configuration + * @param [in] channels int: Number of channels + * @returns size + */ +OPUS_CUSTOM_EXPORT_STATIC OPUS_WARN_UNUSED_RESULT int opus_custom_encoder_get_size( + const OpusCustomMode *mode, + int channels +) OPUS_ARG_NONNULL(1); + +# ifdef CUSTOM_MODES +/** Initializes a previously allocated encoder state + * The memory pointed to by st must be the size returned by opus_custom_encoder_get_size. + * This is intended for applications which use their own allocator instead of malloc. + * @see opus_custom_encoder_create(),opus_custom_encoder_get_size() + * To reset a previously initialized state use the OPUS_RESET_STATE CTL. + * @param [in] st OpusCustomEncoder*: Encoder state + * @param [in] mode OpusCustomMode *: Contains all the information about the characteristics of + * the stream (must be the same characteristics as used for the + * decoder) + * @param [in] channels int: Number of channels + * @return OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_CUSTOM_EXPORT int opus_custom_encoder_init( + OpusCustomEncoder *st, + const OpusCustomMode *mode, + int channels +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); +# endif +#endif + + +/** Creates a new encoder state. Each stream needs its own encoder + * state (can't be shared across simultaneous streams). + * @param [in] mode OpusCustomMode*: Contains all the information about the characteristics of + * the stream (must be the same characteristics as used for the + * decoder) + * @param [in] channels int: Number of channels + * @param [out] error int*: Returns an error code + * @return Newly created encoder state. +*/ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT OpusCustomEncoder *opus_custom_encoder_create( + const OpusCustomMode *mode, + int channels, + int *error +) OPUS_ARG_NONNULL(1); + + +/** Destroys a an encoder state. + * @param[in] st OpusCustomEncoder*: State to be freed. + */ +OPUS_CUSTOM_EXPORT void opus_custom_encoder_destroy(OpusCustomEncoder *st); + +/** Encodes a frame of audio. + * @param [in] st OpusCustomEncoder*: Encoder state + * @param [in] pcm float*: PCM audio in float format, with a normal range of +/-1.0. + * Samples with a range beyond +/-1.0 are supported but will + * be clipped by decoders using the integer API and should + * only be used if it is known that the far end supports + * extended dynamic range. There must be exactly + * frame_size samples per channel. + * @param [in] frame_size int: Number of samples per frame of input signal + * @param [out] compressed char *: The compressed data is written here. This may not alias pcm and must be at least maxCompressedBytes long. + * @param [in] maxCompressedBytes int: Maximum number of bytes to use for compressing the frame + * (can change from one frame to another) + * @return Number of bytes written to "compressed". + * If negative, an error has occurred (see error codes). It is IMPORTANT that + * the length returned be somehow transmitted to the decoder. Otherwise, no + * decoding is possible. + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_encode_float( + OpusCustomEncoder *st, + const float *pcm, + int frame_size, + unsigned char *compressed, + int maxCompressedBytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes a frame of audio. + * @param [in] st OpusCustomEncoder*: Encoder state + * @param [in] pcm opus_int16*: PCM audio in signed 16-bit format (native endian). + * There must be exactly frame_size samples per channel. + * @param [in] frame_size int: Number of samples per frame of input signal + * @param [out] compressed char *: The compressed data is written here. This may not alias pcm and must be at least maxCompressedBytes long. + * @param [in] maxCompressedBytes int: Maximum number of bytes to use for compressing the frame + * (can change from one frame to another) + * @return Number of bytes written to "compressed". + * If negative, an error has occurred (see error codes). It is IMPORTANT that + * the length returned be somehow transmitted to the decoder. Otherwise, no + * decoding is possible. + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_encode( + OpusCustomEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *compressed, + int maxCompressedBytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on an Opus custom encoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @see opus_encoderctls + */ +OPUS_CUSTOM_EXPORT int opus_custom_encoder_ctl(OpusCustomEncoder * OPUS_RESTRICT st, int request, ...) OPUS_ARG_NONNULL(1); + + +#if !defined(OPUS_BUILD) || defined(CELT_DECODER_C) +/* Decoder */ + +/** Gets the size of an OpusCustomDecoder structure. + * @param [in] mode OpusCustomMode *: Mode configuration + * @param [in] channels int: Number of channels + * @returns size + */ +OPUS_CUSTOM_EXPORT_STATIC OPUS_WARN_UNUSED_RESULT int opus_custom_decoder_get_size( + const OpusCustomMode *mode, + int channels +) OPUS_ARG_NONNULL(1); + +/** Initializes a previously allocated decoder state + * The memory pointed to by st must be the size returned by opus_custom_decoder_get_size. + * This is intended for applications which use their own allocator instead of malloc. + * @see opus_custom_decoder_create(),opus_custom_decoder_get_size() + * To reset a previously initialized state use the OPUS_RESET_STATE CTL. + * @param [in] st OpusCustomDecoder*: Decoder state + * @param [in] mode OpusCustomMode *: Contains all the information about the characteristics of + * the stream (must be the same characteristics as used for the + * encoder) + * @param [in] channels int: Number of channels + * @return OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_CUSTOM_EXPORT_STATIC int opus_custom_decoder_init( + OpusCustomDecoder *st, + const OpusCustomMode *mode, + int channels +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); + +#endif + + +/** Creates a new decoder state. Each stream needs its own decoder state (can't + * be shared across simultaneous streams). + * @param [in] mode OpusCustomMode: Contains all the information about the characteristics of the + * stream (must be the same characteristics as used for the encoder) + * @param [in] channels int: Number of channels + * @param [out] error int*: Returns an error code + * @return Newly created decoder state. + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT OpusCustomDecoder *opus_custom_decoder_create( + const OpusCustomMode *mode, + int channels, + int *error +) OPUS_ARG_NONNULL(1); + +/** Destroys a an decoder state. + * @param[in] st OpusCustomDecoder*: State to be freed. + */ +OPUS_CUSTOM_EXPORT void opus_custom_decoder_destroy(OpusCustomDecoder *st); + +/** Decode an opus custom frame with floating point output + * @param [in] st OpusCustomDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len int: Number of bytes in payload + * @param [out] pcm float*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(float) + * @param [in] frame_size Number of samples per channel of available space in *pcm. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_decode_float( + OpusCustomDecoder *st, + const unsigned char *data, + int len, + float *pcm, + int frame_size +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode an opus custom frame + * @param [in] st OpusCustomDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len int: Number of bytes in payload + * @param [out] pcm opus_int16*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size Number of samples per channel of available space in *pcm. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_decode( + OpusCustomDecoder *st, + const unsigned char *data, + int len, + opus_int16 *pcm, + int frame_size +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on an Opus custom decoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @see opus_genericctls + */ +OPUS_CUSTOM_EXPORT int opus_custom_decoder_ctl(OpusCustomDecoder * OPUS_RESTRICT st, int request, ...) OPUS_ARG_NONNULL(1); + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_CUSTOM_H */ diff --git a/libs/mac/include/opus_defines.h b/libs/mac/include/opus_defines.h new file mode 100644 index 00000000..33c5acdb --- /dev/null +++ b/libs/mac/include/opus_defines.h @@ -0,0 +1,785 @@ +/* Copyright (c) 2010-2011 Xiph.Org Foundation, Skype Limited + Written by Jean-Marc Valin and Koen Vos */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @file opus_defines.h + * @brief Opus reference implementation constants + */ + +#ifndef OPUS_DEFINES_H +#define OPUS_DEFINES_H + +#include "opus_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @defgroup opus_errorcodes Error codes + * @{ + */ +/** No error @hideinitializer*/ +#define OPUS_OK 0 +/** One or more invalid/out of range arguments @hideinitializer*/ +#define OPUS_BAD_ARG -1 +/** Not enough bytes allocated in the buffer @hideinitializer*/ +#define OPUS_BUFFER_TOO_SMALL -2 +/** An internal error was detected @hideinitializer*/ +#define OPUS_INTERNAL_ERROR -3 +/** The compressed data passed is corrupted @hideinitializer*/ +#define OPUS_INVALID_PACKET -4 +/** Invalid/unsupported request number @hideinitializer*/ +#define OPUS_UNIMPLEMENTED -5 +/** An encoder or decoder structure is invalid or already freed @hideinitializer*/ +#define OPUS_INVALID_STATE -6 +/** Memory allocation has failed @hideinitializer*/ +#define OPUS_ALLOC_FAIL -7 +/**@}*/ + +/** @cond OPUS_INTERNAL_DOC */ +/**Export control for opus functions */ + +#ifndef OPUS_EXPORT +# if defined(WIN32) +# if defined(OPUS_BUILD) && defined(DLL_EXPORT) +# define OPUS_EXPORT __declspec(dllexport) +# else +# define OPUS_EXPORT +# endif +# elif defined(__GNUC__) && defined(OPUS_BUILD) +# define OPUS_EXPORT __attribute__ ((visibility ("default"))) +# else +# define OPUS_EXPORT +# endif +#endif + +# if !defined(OPUS_GNUC_PREREQ) +# if defined(__GNUC__)&&defined(__GNUC_MINOR__) +# define OPUS_GNUC_PREREQ(_maj,_min) \ + ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min)) +# else +# define OPUS_GNUC_PREREQ(_maj,_min) 0 +# endif +# endif + +#if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) +# if OPUS_GNUC_PREREQ(3,0) +# define OPUS_RESTRICT __restrict__ +# elif (defined(_MSC_VER) && _MSC_VER >= 1400) +# define OPUS_RESTRICT __restrict +# else +# define OPUS_RESTRICT +# endif +#else +# define OPUS_RESTRICT restrict +#endif + +#if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) +# if OPUS_GNUC_PREREQ(2,7) +# define OPUS_INLINE __inline__ +# elif (defined(_MSC_VER)) +# define OPUS_INLINE __inline +# else +# define OPUS_INLINE +# endif +#else +# define OPUS_INLINE inline +#endif + +/**Warning attributes for opus functions + * NONNULL is not used in OPUS_BUILD to avoid the compiler optimizing out + * some paranoid null checks. */ +#if defined(__GNUC__) && OPUS_GNUC_PREREQ(3, 4) +# define OPUS_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) +#else +# define OPUS_WARN_UNUSED_RESULT +#endif +#if !defined(OPUS_BUILD) && defined(__GNUC__) && OPUS_GNUC_PREREQ(3, 4) +# define OPUS_ARG_NONNULL(_x) __attribute__ ((__nonnull__(_x))) +#else +# define OPUS_ARG_NONNULL(_x) +#endif + +/** These are the actual Encoder CTL ID numbers. + * They should not be used directly by applications. + * In general, SETs should be even and GETs should be odd.*/ +#define OPUS_SET_APPLICATION_REQUEST 4000 +#define OPUS_GET_APPLICATION_REQUEST 4001 +#define OPUS_SET_BITRATE_REQUEST 4002 +#define OPUS_GET_BITRATE_REQUEST 4003 +#define OPUS_SET_MAX_BANDWIDTH_REQUEST 4004 +#define OPUS_GET_MAX_BANDWIDTH_REQUEST 4005 +#define OPUS_SET_VBR_REQUEST 4006 +#define OPUS_GET_VBR_REQUEST 4007 +#define OPUS_SET_BANDWIDTH_REQUEST 4008 +#define OPUS_GET_BANDWIDTH_REQUEST 4009 +#define OPUS_SET_COMPLEXITY_REQUEST 4010 +#define OPUS_GET_COMPLEXITY_REQUEST 4011 +#define OPUS_SET_INBAND_FEC_REQUEST 4012 +#define OPUS_GET_INBAND_FEC_REQUEST 4013 +#define OPUS_SET_PACKET_LOSS_PERC_REQUEST 4014 +#define OPUS_GET_PACKET_LOSS_PERC_REQUEST 4015 +#define OPUS_SET_DTX_REQUEST 4016 +#define OPUS_GET_DTX_REQUEST 4017 +#define OPUS_SET_VBR_CONSTRAINT_REQUEST 4020 +#define OPUS_GET_VBR_CONSTRAINT_REQUEST 4021 +#define OPUS_SET_FORCE_CHANNELS_REQUEST 4022 +#define OPUS_GET_FORCE_CHANNELS_REQUEST 4023 +#define OPUS_SET_SIGNAL_REQUEST 4024 +#define OPUS_GET_SIGNAL_REQUEST 4025 +#define OPUS_GET_LOOKAHEAD_REQUEST 4027 +/* #define OPUS_RESET_STATE 4028 */ +#define OPUS_GET_SAMPLE_RATE_REQUEST 4029 +#define OPUS_GET_FINAL_RANGE_REQUEST 4031 +#define OPUS_GET_PITCH_REQUEST 4033 +#define OPUS_SET_GAIN_REQUEST 4034 +#define OPUS_GET_GAIN_REQUEST 4045 /* Should have been 4035 */ +#define OPUS_SET_LSB_DEPTH_REQUEST 4036 +#define OPUS_GET_LSB_DEPTH_REQUEST 4037 +#define OPUS_GET_LAST_PACKET_DURATION_REQUEST 4039 +#define OPUS_SET_EXPERT_FRAME_DURATION_REQUEST 4040 +#define OPUS_GET_EXPERT_FRAME_DURATION_REQUEST 4041 +#define OPUS_SET_PREDICTION_DISABLED_REQUEST 4042 +#define OPUS_GET_PREDICTION_DISABLED_REQUEST 4043 +/* Don't use 4045, it's already taken by OPUS_GET_GAIN_REQUEST */ +#define OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST 4046 +#define OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST 4047 + +/* Macros to trigger compilation errors when the wrong types are provided to a CTL */ +#define __opus_check_int(x) (((void)((x) == (opus_int32)0)), (opus_int32)(x)) +#define __opus_check_int_ptr(ptr) ((ptr) + ((ptr) - (opus_int32*)(ptr))) +#define __opus_check_uint_ptr(ptr) ((ptr) + ((ptr) - (opus_uint32*)(ptr))) +#define __opus_check_val16_ptr(ptr) ((ptr) + ((ptr) - (opus_val16*)(ptr))) +/** @endcond */ + +/** @defgroup opus_ctlvalues Pre-defined values for CTL interface + * @see opus_genericctls, opus_encoderctls + * @{ + */ +/* Values for the various encoder CTLs */ +#define OPUS_AUTO -1000 /**opus_int32: Allowed values: 0-10, inclusive. + * + * @hideinitializer */ +#define OPUS_SET_COMPLEXITY(x) OPUS_SET_COMPLEXITY_REQUEST, __opus_check_int(x) +/** Gets the encoder's complexity configuration. + * @see OPUS_SET_COMPLEXITY + * @param[out] x opus_int32 *: Returns a value in the range 0-10, + * inclusive. + * @hideinitializer */ +#define OPUS_GET_COMPLEXITY(x) OPUS_GET_COMPLEXITY_REQUEST, __opus_check_int_ptr(x) + +/** Configures the bitrate in the encoder. + * Rates from 500 to 512000 bits per second are meaningful, as well as the + * special values #OPUS_AUTO and #OPUS_BITRATE_MAX. + * The value #OPUS_BITRATE_MAX can be used to cause the codec to use as much + * rate as it can, which is useful for controlling the rate by adjusting the + * output buffer size. + * @see OPUS_GET_BITRATE + * @param[in] x opus_int32: Bitrate in bits per second. The default + * is determined based on the number of + * channels and the input sampling rate. + * @hideinitializer */ +#define OPUS_SET_BITRATE(x) OPUS_SET_BITRATE_REQUEST, __opus_check_int(x) +/** Gets the encoder's bitrate configuration. + * @see OPUS_SET_BITRATE + * @param[out] x opus_int32 *: Returns the bitrate in bits per second. + * The default is determined based on the + * number of channels and the input + * sampling rate. + * @hideinitializer */ +#define OPUS_GET_BITRATE(x) OPUS_GET_BITRATE_REQUEST, __opus_check_int_ptr(x) + +/** Enables or disables variable bitrate (VBR) in the encoder. + * The configured bitrate may not be met exactly because frames must + * be an integer number of bytes in length. + * @see OPUS_GET_VBR + * @see OPUS_SET_VBR_CONSTRAINT + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Hard CBR. For LPC/hybrid modes at very low bit-rate, this can + * cause noticeable quality degradation.
+ *
1
VBR (default). The exact type of VBR is controlled by + * #OPUS_SET_VBR_CONSTRAINT.
+ *
+ * @hideinitializer */ +#define OPUS_SET_VBR(x) OPUS_SET_VBR_REQUEST, __opus_check_int(x) +/** Determine if variable bitrate (VBR) is enabled in the encoder. + * @see OPUS_SET_VBR + * @see OPUS_GET_VBR_CONSTRAINT + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Hard CBR.
+ *
1
VBR (default). The exact type of VBR may be retrieved via + * #OPUS_GET_VBR_CONSTRAINT.
+ *
+ * @hideinitializer */ +#define OPUS_GET_VBR(x) OPUS_GET_VBR_REQUEST, __opus_check_int_ptr(x) + +/** Enables or disables constrained VBR in the encoder. + * This setting is ignored when the encoder is in CBR mode. + * @warning Only the MDCT mode of Opus currently heeds the constraint. + * Speech mode ignores it completely, hybrid mode may fail to obey it + * if the LPC layer uses more bitrate than the constraint would have + * permitted. + * @see OPUS_GET_VBR_CONSTRAINT + * @see OPUS_SET_VBR + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Unconstrained VBR.
+ *
1
Constrained VBR (default). This creates a maximum of one + * frame of buffering delay assuming a transport with a + * serialization speed of the nominal bitrate.
+ *
+ * @hideinitializer */ +#define OPUS_SET_VBR_CONSTRAINT(x) OPUS_SET_VBR_CONSTRAINT_REQUEST, __opus_check_int(x) +/** Determine if constrained VBR is enabled in the encoder. + * @see OPUS_SET_VBR_CONSTRAINT + * @see OPUS_GET_VBR + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Unconstrained VBR.
+ *
1
Constrained VBR (default).
+ *
+ * @hideinitializer */ +#define OPUS_GET_VBR_CONSTRAINT(x) OPUS_GET_VBR_CONSTRAINT_REQUEST, __opus_check_int_ptr(x) + +/** Configures mono/stereo forcing in the encoder. + * This can force the encoder to produce packets encoded as either mono or + * stereo, regardless of the format of the input audio. This is useful when + * the caller knows that the input signal is currently a mono source embedded + * in a stereo stream. + * @see OPUS_GET_FORCE_CHANNELS + * @param[in] x opus_int32: Allowed values: + *
+ *
#OPUS_AUTO
Not forced (default)
+ *
1
Forced mono
+ *
2
Forced stereo
+ *
+ * @hideinitializer */ +#define OPUS_SET_FORCE_CHANNELS(x) OPUS_SET_FORCE_CHANNELS_REQUEST, __opus_check_int(x) +/** Gets the encoder's forced channel configuration. + * @see OPUS_SET_FORCE_CHANNELS + * @param[out] x opus_int32 *: + *
+ *
#OPUS_AUTO
Not forced (default)
+ *
1
Forced mono
+ *
2
Forced stereo
+ *
+ * @hideinitializer */ +#define OPUS_GET_FORCE_CHANNELS(x) OPUS_GET_FORCE_CHANNELS_REQUEST, __opus_check_int_ptr(x) + +/** Configures the maximum bandpass that the encoder will select automatically. + * Applications should normally use this instead of #OPUS_SET_BANDWIDTH + * (leaving that set to the default, #OPUS_AUTO). This allows the + * application to set an upper bound based on the type of input it is + * providing, but still gives the encoder the freedom to reduce the bandpass + * when the bitrate becomes too low, for better overall quality. + * @see OPUS_GET_MAX_BANDWIDTH + * @param[in] x opus_int32: Allowed values: + *
+ *
OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
OPUS_BANDWIDTH_FULLBAND
20 kHz passband (default)
+ *
+ * @hideinitializer */ +#define OPUS_SET_MAX_BANDWIDTH(x) OPUS_SET_MAX_BANDWIDTH_REQUEST, __opus_check_int(x) + +/** Gets the encoder's configured maximum allowed bandpass. + * @see OPUS_SET_MAX_BANDWIDTH + * @param[out] x opus_int32 *: Allowed values: + *
+ *
#OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
#OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
#OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
#OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
#OPUS_BANDWIDTH_FULLBAND
20 kHz passband (default)
+ *
+ * @hideinitializer */ +#define OPUS_GET_MAX_BANDWIDTH(x) OPUS_GET_MAX_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) + +/** Sets the encoder's bandpass to a specific value. + * This prevents the encoder from automatically selecting the bandpass based + * on the available bitrate. If an application knows the bandpass of the input + * audio it is providing, it should normally use #OPUS_SET_MAX_BANDWIDTH + * instead, which still gives the encoder the freedom to reduce the bandpass + * when the bitrate becomes too low, for better overall quality. + * @see OPUS_GET_BANDWIDTH + * @param[in] x opus_int32: Allowed values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
#OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
#OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
#OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
#OPUS_BANDWIDTH_FULLBAND
20 kHz passband
+ *
+ * @hideinitializer */ +#define OPUS_SET_BANDWIDTH(x) OPUS_SET_BANDWIDTH_REQUEST, __opus_check_int(x) + +/** Configures the type of signal being encoded. + * This is a hint which helps the encoder's mode selection. + * @see OPUS_GET_SIGNAL + * @param[in] x opus_int32: Allowed values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_SIGNAL_VOICE
Bias thresholds towards choosing LPC or Hybrid modes.
+ *
#OPUS_SIGNAL_MUSIC
Bias thresholds towards choosing MDCT modes.
+ *
+ * @hideinitializer */ +#define OPUS_SET_SIGNAL(x) OPUS_SET_SIGNAL_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured signal type. + * @see OPUS_SET_SIGNAL + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_SIGNAL_VOICE
Bias thresholds towards choosing LPC or Hybrid modes.
+ *
#OPUS_SIGNAL_MUSIC
Bias thresholds towards choosing MDCT modes.
+ *
+ * @hideinitializer */ +#define OPUS_GET_SIGNAL(x) OPUS_GET_SIGNAL_REQUEST, __opus_check_int_ptr(x) + + +/** Configures the encoder's intended application. + * The initial value is a mandatory argument to the encoder_create function. + * @see OPUS_GET_APPLICATION + * @param[in] x opus_int32: Returns one of the following values: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @hideinitializer */ +#define OPUS_SET_APPLICATION(x) OPUS_SET_APPLICATION_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured application. + * @see OPUS_SET_APPLICATION + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @hideinitializer */ +#define OPUS_GET_APPLICATION(x) OPUS_GET_APPLICATION_REQUEST, __opus_check_int_ptr(x) + +/** Gets the total samples of delay added by the entire codec. + * This can be queried by the encoder and then the provided number of samples can be + * skipped on from the start of the decoder's output to provide time aligned input + * and output. From the perspective of a decoding application the real data begins this many + * samples late. + * + * The decoder contribution to this delay is identical for all decoders, but the + * encoder portion of the delay may vary from implementation to implementation, + * version to version, or even depend on the encoder's initial configuration. + * Applications needing delay compensation should call this CTL rather than + * hard-coding a value. + * @param[out] x opus_int32 *: Number of lookahead samples + * @hideinitializer */ +#define OPUS_GET_LOOKAHEAD(x) OPUS_GET_LOOKAHEAD_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of inband forward error correction (FEC). + * @note This is only applicable to the LPC layer + * @see OPUS_GET_INBAND_FEC + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Disable inband FEC (default).
+ *
1
Enable inband FEC.
+ *
+ * @hideinitializer */ +#define OPUS_SET_INBAND_FEC(x) OPUS_SET_INBAND_FEC_REQUEST, __opus_check_int(x) +/** Gets encoder's configured use of inband forward error correction. + * @see OPUS_SET_INBAND_FEC + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Inband FEC disabled (default).
+ *
1
Inband FEC enabled.
+ *
+ * @hideinitializer */ +#define OPUS_GET_INBAND_FEC(x) OPUS_GET_INBAND_FEC_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's expected packet loss percentage. + * Higher values trigger progressively more loss resistant behavior in the encoder + * at the expense of quality at a given bitrate in the absence of packet loss, but + * greater quality under loss. + * @see OPUS_GET_PACKET_LOSS_PERC + * @param[in] x opus_int32: Loss percentage in the range 0-100, inclusive (default: 0). + * @hideinitializer */ +#define OPUS_SET_PACKET_LOSS_PERC(x) OPUS_SET_PACKET_LOSS_PERC_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured packet loss percentage. + * @see OPUS_SET_PACKET_LOSS_PERC + * @param[out] x opus_int32 *: Returns the configured loss percentage + * in the range 0-100, inclusive (default: 0). + * @hideinitializer */ +#define OPUS_GET_PACKET_LOSS_PERC(x) OPUS_GET_PACKET_LOSS_PERC_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of discontinuous transmission (DTX). + * @note This is only applicable to the LPC layer + * @see OPUS_GET_DTX + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Disable DTX (default).
+ *
1
Enabled DTX.
+ *
+ * @hideinitializer */ +#define OPUS_SET_DTX(x) OPUS_SET_DTX_REQUEST, __opus_check_int(x) +/** Gets encoder's configured use of discontinuous transmission. + * @see OPUS_SET_DTX + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
DTX disabled (default).
+ *
1
DTX enabled.
+ *
+ * @hideinitializer */ +#define OPUS_GET_DTX(x) OPUS_GET_DTX_REQUEST, __opus_check_int_ptr(x) +/** Configures the depth of signal being encoded. + * + * This is a hint which helps the encoder identify silence and near-silence. + * It represents the number of significant bits of linear intensity below + * which the signal contains ignorable quantization or other noise. + * + * For example, OPUS_SET_LSB_DEPTH(14) would be an appropriate setting + * for G.711 u-law input. OPUS_SET_LSB_DEPTH(16) would be appropriate + * for 16-bit linear pcm input with opus_encode_float(). + * + * When using opus_encode() instead of opus_encode_float(), or when libopus + * is compiled for fixed-point, the encoder uses the minimum of the value + * set here and the value 16. + * + * @see OPUS_GET_LSB_DEPTH + * @param[in] x opus_int32: Input precision in bits, between 8 and 24 + * (default: 24). + * @hideinitializer */ +#define OPUS_SET_LSB_DEPTH(x) OPUS_SET_LSB_DEPTH_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured signal depth. + * @see OPUS_SET_LSB_DEPTH + * @param[out] x opus_int32 *: Input precision in bits, between 8 and + * 24 (default: 24). + * @hideinitializer */ +#define OPUS_GET_LSB_DEPTH(x) OPUS_GET_LSB_DEPTH_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of variable duration frames. + * When variable duration is enabled, the encoder is free to use a shorter frame + * size than the one requested in the opus_encode*() call. + * It is then the user's responsibility + * to verify how much audio was encoded by checking the ToC byte of the encoded + * packet. The part of the audio that was not encoded needs to be resent to the + * encoder for the next call. Do not use this option unless you really + * know what you are doing. + * @see OPUS_GET_EXPERT_FRAME_DURATION + * @param[in] x opus_int32: Allowed values: + *
+ *
OPUS_FRAMESIZE_ARG
Select frame size from the argument (default).
+ *
OPUS_FRAMESIZE_2_5_MS
Use 2.5 ms frames.
+ *
OPUS_FRAMESIZE_5_MS
Use 5 ms frames.
+ *
OPUS_FRAMESIZE_10_MS
Use 10 ms frames.
+ *
OPUS_FRAMESIZE_20_MS
Use 20 ms frames.
+ *
OPUS_FRAMESIZE_40_MS
Use 40 ms frames.
+ *
OPUS_FRAMESIZE_60_MS
Use 60 ms frames.
+ *
OPUS_FRAMESIZE_80_MS
Use 80 ms frames.
+ *
OPUS_FRAMESIZE_100_MS
Use 100 ms frames.
+ *
OPUS_FRAMESIZE_120_MS
Use 120 ms frames.
+ *
+ * @hideinitializer */ +#define OPUS_SET_EXPERT_FRAME_DURATION(x) OPUS_SET_EXPERT_FRAME_DURATION_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured use of variable duration frames. + * @see OPUS_SET_EXPERT_FRAME_DURATION + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
OPUS_FRAMESIZE_ARG
Select frame size from the argument (default).
+ *
OPUS_FRAMESIZE_2_5_MS
Use 2.5 ms frames.
+ *
OPUS_FRAMESIZE_5_MS
Use 5 ms frames.
+ *
OPUS_FRAMESIZE_10_MS
Use 10 ms frames.
+ *
OPUS_FRAMESIZE_20_MS
Use 20 ms frames.
+ *
OPUS_FRAMESIZE_40_MS
Use 40 ms frames.
+ *
OPUS_FRAMESIZE_60_MS
Use 60 ms frames.
+ *
OPUS_FRAMESIZE_80_MS
Use 80 ms frames.
+ *
OPUS_FRAMESIZE_100_MS
Use 100 ms frames.
+ *
OPUS_FRAMESIZE_120_MS
Use 120 ms frames.
+ *
+ * @hideinitializer */ +#define OPUS_GET_EXPERT_FRAME_DURATION(x) OPUS_GET_EXPERT_FRAME_DURATION_REQUEST, __opus_check_int_ptr(x) + +/** If set to 1, disables almost all use of prediction, making frames almost + * completely independent. This reduces quality. + * @see OPUS_GET_PREDICTION_DISABLED + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Enable prediction (default).
+ *
1
Disable prediction.
+ *
+ * @hideinitializer */ +#define OPUS_SET_PREDICTION_DISABLED(x) OPUS_SET_PREDICTION_DISABLED_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured prediction status. + * @see OPUS_SET_PREDICTION_DISABLED + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Prediction enabled (default).
+ *
1
Prediction disabled.
+ *
+ * @hideinitializer */ +#define OPUS_GET_PREDICTION_DISABLED(x) OPUS_GET_PREDICTION_DISABLED_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_genericctls Generic CTLs + * + * These macros are used with the \c opus_decoder_ctl and + * \c opus_encoder_ctl calls to generate a particular + * request. + * + * When called on an \c OpusDecoder they apply to that + * particular decoder instance. When called on an + * \c OpusEncoder they apply to the corresponding setting + * on that encoder instance, if present. + * + * Some usage examples: + * + * @code + * int ret; + * opus_int32 pitch; + * ret = opus_decoder_ctl(dec_ctx, OPUS_GET_PITCH(&pitch)); + * if (ret == OPUS_OK) return ret; + * + * opus_encoder_ctl(enc_ctx, OPUS_RESET_STATE); + * opus_decoder_ctl(dec_ctx, OPUS_RESET_STATE); + * + * opus_int32 enc_bw, dec_bw; + * opus_encoder_ctl(enc_ctx, OPUS_GET_BANDWIDTH(&enc_bw)); + * opus_decoder_ctl(dec_ctx, OPUS_GET_BANDWIDTH(&dec_bw)); + * if (enc_bw != dec_bw) { + * printf("packet bandwidth mismatch!\n"); + * } + * @endcode + * + * @see opus_encoder, opus_decoder_ctl, opus_encoder_ctl, opus_decoderctls, opus_encoderctls + * @{ + */ + +/** Resets the codec state to be equivalent to a freshly initialized state. + * This should be called when switching streams in order to prevent + * the back to back decoding from giving different results from + * one at a time decoding. + * @hideinitializer */ +#define OPUS_RESET_STATE 4028 + +/** Gets the final state of the codec's entropy coder. + * This is used for testing purposes, + * The encoder and decoder state should be identical after coding a payload + * (assuming no data corruption or software bugs) + * + * @param[out] x opus_uint32 *: Entropy coder state + * + * @hideinitializer */ +#define OPUS_GET_FINAL_RANGE(x) OPUS_GET_FINAL_RANGE_REQUEST, __opus_check_uint_ptr(x) + +/** Gets the encoder's configured bandpass or the decoder's last bandpass. + * @see OPUS_SET_BANDWIDTH + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
#OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
#OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
#OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
#OPUS_BANDWIDTH_FULLBAND
20 kHz passband
+ *
+ * @hideinitializer */ +#define OPUS_GET_BANDWIDTH(x) OPUS_GET_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) + +/** Gets the sampling rate the encoder or decoder was initialized with. + * This simply returns the Fs value passed to opus_encoder_init() + * or opus_decoder_init(). + * @param[out] x opus_int32 *: Sampling rate of encoder or decoder. + * @hideinitializer + */ +#define OPUS_GET_SAMPLE_RATE(x) OPUS_GET_SAMPLE_RATE_REQUEST, __opus_check_int_ptr(x) + +/** If set to 1, disables the use of phase inversion for intensity stereo, + * improving the quality of mono downmixes, but slightly reducing normal + * stereo quality. Disabling phase inversion in the decoder does not comply + * with RFC 6716, although it does not cause any interoperability issue and + * is expected to become part of the Opus standard once RFC 6716 is updated + * by draft-ietf-codec-opus-update. + * @see OPUS_GET_PHASE_INVERSION_DISABLED + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Enable phase inversion (default).
+ *
1
Disable phase inversion.
+ *
+ * @hideinitializer */ +#define OPUS_SET_PHASE_INVERSION_DISABLED(x) OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured phase inversion status. + * @see OPUS_SET_PHASE_INVERSION_DISABLED + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Stereo phase inversion enabled (default).
+ *
1
Stereo phase inversion disabled.
+ *
+ * @hideinitializer */ +#define OPUS_GET_PHASE_INVERSION_DISABLED(x) OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_decoderctls Decoder related CTLs + * @see opus_genericctls, opus_encoderctls, opus_decoder + * @{ + */ + +/** Configures decoder gain adjustment. + * Scales the decoded output by a factor specified in Q8 dB units. + * This has a maximum range of -32768 to 32767 inclusive, and returns + * OPUS_BAD_ARG otherwise. The default is zero indicating no adjustment. + * This setting survives decoder reset. + * + * gain = pow(10, x/(20.0*256)) + * + * @param[in] x opus_int32: Amount to scale PCM signal by in Q8 dB units. + * @hideinitializer */ +#define OPUS_SET_GAIN(x) OPUS_SET_GAIN_REQUEST, __opus_check_int(x) +/** Gets the decoder's configured gain adjustment. @see OPUS_SET_GAIN + * + * @param[out] x opus_int32 *: Amount to scale PCM signal by in Q8 dB units. + * @hideinitializer */ +#define OPUS_GET_GAIN(x) OPUS_GET_GAIN_REQUEST, __opus_check_int_ptr(x) + +/** Gets the duration (in samples) of the last packet successfully decoded or concealed. + * @param[out] x opus_int32 *: Number of samples (at current sampling rate). + * @hideinitializer */ +#define OPUS_GET_LAST_PACKET_DURATION(x) OPUS_GET_LAST_PACKET_DURATION_REQUEST, __opus_check_int_ptr(x) + +/** Gets the pitch of the last decoded frame, if available. + * This can be used for any post-processing algorithm requiring the use of pitch, + * e.g. time stretching/shortening. If the last frame was not voiced, or if the + * pitch was not coded in the frame, then zero is returned. + * + * This CTL is only implemented for decoder instances. + * + * @param[out] x opus_int32 *: pitch period at 48 kHz (or 0 if not available) + * + * @hideinitializer */ +#define OPUS_GET_PITCH(x) OPUS_GET_PITCH_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_libinfo Opus library information functions + * @{ + */ + +/** Converts an opus error code into a human readable string. + * + * @param[in] error int: Error number + * @returns Error string + */ +OPUS_EXPORT const char *opus_strerror(int error); + +/** Gets the libopus version string. + * + * Applications may look for the substring "-fixed" in the version string to + * determine whether they have a fixed-point or floating-point build at + * runtime. + * + * @returns Version string + */ +OPUS_EXPORT const char *opus_get_version_string(void); +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_DEFINES_H */ diff --git a/libs/mac/include/opus_multistream.h b/libs/mac/include/opus_multistream.h new file mode 100644 index 00000000..babcee69 --- /dev/null +++ b/libs/mac/include/opus_multistream.h @@ -0,0 +1,660 @@ +/* Copyright (c) 2011 Xiph.Org Foundation + Written by Jean-Marc Valin */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @file opus_multistream.h + * @brief Opus reference implementation multistream API + */ + +#ifndef OPUS_MULTISTREAM_H +#define OPUS_MULTISTREAM_H + +#include "opus.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @cond OPUS_INTERNAL_DOC */ + +/** Macros to trigger compilation errors when the wrong types are provided to a + * CTL. */ +/**@{*/ +#define __opus_check_encstate_ptr(ptr) ((ptr) + ((ptr) - (OpusEncoder**)(ptr))) +#define __opus_check_decstate_ptr(ptr) ((ptr) + ((ptr) - (OpusDecoder**)(ptr))) +/**@}*/ + +/** These are the actual encoder and decoder CTL ID numbers. + * They should not be used directly by applications. + * In general, SETs should be even and GETs should be odd.*/ +/**@{*/ +#define OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST 5120 +#define OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST 5122 +/**@}*/ + +/** @endcond */ + +/** @defgroup opus_multistream_ctls Multistream specific encoder and decoder CTLs + * + * These are convenience macros that are specific to the + * opus_multistream_encoder_ctl() and opus_multistream_decoder_ctl() + * interface. + * The CTLs from @ref opus_genericctls, @ref opus_encoderctls, and + * @ref opus_decoderctls may be applied to a multistream encoder or decoder as + * well. + * In addition, you may retrieve the encoder or decoder state for an specific + * stream via #OPUS_MULTISTREAM_GET_ENCODER_STATE or + * #OPUS_MULTISTREAM_GET_DECODER_STATE and apply CTLs to it individually. + */ +/**@{*/ + +/** Gets the encoder state for an individual stream of a multistream encoder. + * @param[in] x opus_int32: The index of the stream whose encoder you + * wish to retrieve. + * This must be non-negative and less than + * the streams parameter used + * to initialize the encoder. + * @param[out] y OpusEncoder**: Returns a pointer to the given + * encoder state. + * @retval OPUS_BAD_ARG The index of the requested stream was out of range. + * @hideinitializer + */ +#define OPUS_MULTISTREAM_GET_ENCODER_STATE(x,y) OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST, __opus_check_int(x), __opus_check_encstate_ptr(y) + +/** Gets the decoder state for an individual stream of a multistream decoder. + * @param[in] x opus_int32: The index of the stream whose decoder you + * wish to retrieve. + * This must be non-negative and less than + * the streams parameter used + * to initialize the decoder. + * @param[out] y OpusDecoder**: Returns a pointer to the given + * decoder state. + * @retval OPUS_BAD_ARG The index of the requested stream was out of range. + * @hideinitializer + */ +#define OPUS_MULTISTREAM_GET_DECODER_STATE(x,y) OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST, __opus_check_int(x), __opus_check_decstate_ptr(y) + +/**@}*/ + +/** @defgroup opus_multistream Opus Multistream API + * @{ + * + * The multistream API allows individual Opus streams to be combined into a + * single packet, enabling support for up to 255 channels. Unlike an + * elementary Opus stream, the encoder and decoder must negotiate the channel + * configuration before the decoder can successfully interpret the data in the + * packets produced by the encoder. Some basic information, such as packet + * duration, can be computed without any special negotiation. + * + * The format for multistream Opus packets is defined in + * RFC 7845 + * and is based on the self-delimited Opus framing described in Appendix B of + * RFC 6716. + * Normal Opus packets are just a degenerate case of multistream Opus packets, + * and can be encoded or decoded with the multistream API by setting + * streams to 1 when initializing the encoder or + * decoder. + * + * Multistream Opus streams can contain up to 255 elementary Opus streams. + * These may be either "uncoupled" or "coupled", indicating that the decoder + * is configured to decode them to either 1 or 2 channels, respectively. + * The streams are ordered so that all coupled streams appear at the + * beginning. + * + * A mapping table defines which decoded channel i + * should be used for each input/output (I/O) channel j. This table is + * typically provided as an unsigned char array. + * Let i = mapping[j] be the index for I/O channel j. + * If i < 2*coupled_streams, then I/O channel j is + * encoded as the left channel of stream (i/2) if i + * is even, or as the right channel of stream (i/2) if + * i is odd. Otherwise, I/O channel j is encoded as + * mono in stream (i - coupled_streams), unless it has the special + * value 255, in which case it is omitted from the encoding entirely (the + * decoder will reproduce it as silence). Each value i must either + * be the special value 255 or be less than streams + coupled_streams. + * + * The output channels specified by the encoder + * should use the + * Vorbis + * channel ordering. A decoder may wish to apply an additional permutation + * to the mapping the encoder used to achieve a different output channel + * order (e.g. for outputing in WAV order). + * + * Each multistream packet contains an Opus packet for each stream, and all of + * the Opus packets in a single multistream packet must have the same + * duration. Therefore the duration of a multistream packet can be extracted + * from the TOC sequence of the first stream, which is located at the + * beginning of the packet, just like an elementary Opus stream: + * + * @code + * int nb_samples; + * int nb_frames; + * nb_frames = opus_packet_get_nb_frames(data, len); + * if (nb_frames < 1) + * return nb_frames; + * nb_samples = opus_packet_get_samples_per_frame(data, 48000) * nb_frames; + * @endcode + * + * The general encoding and decoding process proceeds exactly the same as in + * the normal @ref opus_encoder and @ref opus_decoder APIs. + * See their documentation for an overview of how to use the corresponding + * multistream functions. + */ + +/** Opus multistream encoder state. + * This contains the complete state of a multistream Opus encoder. + * It is position independent and can be freely copied. + * @see opus_multistream_encoder_create + * @see opus_multistream_encoder_init + */ +typedef struct OpusMSEncoder OpusMSEncoder; + +/** Opus multistream decoder state. + * This contains the complete state of a multistream Opus decoder. + * It is position independent and can be freely copied. + * @see opus_multistream_decoder_create + * @see opus_multistream_decoder_init + */ +typedef struct OpusMSDecoder OpusMSDecoder; + +/**\name Multistream encoder functions */ +/**@{*/ + +/** Gets the size of an OpusMSEncoder structure. + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than 255. + * @returns The size in bytes on success, or a negative error code + * (see @ref opus_errorcodes) on error. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_encoder_get_size( + int streams, + int coupled_streams +); + +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_surround_encoder_get_size( + int channels, + int mapping_family +); + + +/** Allocates and initializes a multistream encoder state. + * Call opus_multistream_encoder_destroy() to release + * this object when finished. + * @param Fs opus_int32: Sampling rate of the input signal (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels in the input signal. + * This must be at most 255. + * It may be greater than the number of + * coded channels (streams + + * coupled_streams). + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than the number of channels. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than the number of input channels. + * @param[in] mapping const unsigned char[channels]: Mapping from + * encoded channels to input channels, as described in + * @ref opus_multistream. As an extra constraint, the + * multistream encoder does not allow encoding coupled + * streams for which one channel is unused since this + * is never a good idea. + * @param application int: The target encoder application. + * This must be one of the following: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @param[out] error int *: Returns #OPUS_OK on success, or an error + * code (see @ref opus_errorcodes) on + * failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_encoder_create( + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int application, + int *error +) OPUS_ARG_NONNULL(5); + +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_surround_encoder_create( + opus_int32 Fs, + int channels, + int mapping_family, + int *streams, + int *coupled_streams, + unsigned char *mapping, + int application, + int *error +) OPUS_ARG_NONNULL(4) OPUS_ARG_NONNULL(5) OPUS_ARG_NONNULL(6); + +/** Initialize a previously allocated multistream encoder state. + * The memory pointed to by \a st must be at least the size returned by + * opus_multistream_encoder_get_size(). + * This is intended for applications which use their own allocator instead of + * malloc. + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @see opus_multistream_encoder_create + * @see opus_multistream_encoder_get_size + * @param st OpusMSEncoder*: Multistream encoder state to initialize. + * @param Fs opus_int32: Sampling rate of the input signal (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels in the input signal. + * This must be at most 255. + * It may be greater than the number of + * coded channels (streams + + * coupled_streams). + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than the number of channels. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than the number of input channels. + * @param[in] mapping const unsigned char[channels]: Mapping from + * encoded channels to input channels, as described in + * @ref opus_multistream. As an extra constraint, the + * multistream encoder does not allow encoding coupled + * streams for which one channel is unused since this + * is never a good idea. + * @param application int: The target encoder application. + * This must be one of the following: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @returns #OPUS_OK on success, or an error code (see @ref opus_errorcodes) + * on failure. + */ +OPUS_EXPORT int opus_multistream_encoder_init( + OpusMSEncoder *st, + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int application +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + +OPUS_EXPORT int opus_multistream_surround_encoder_init( + OpusMSEncoder *st, + opus_int32 Fs, + int channels, + int mapping_family, + int *streams, + int *coupled_streams, + unsigned char *mapping, + int application +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(5) OPUS_ARG_NONNULL(6) OPUS_ARG_NONNULL(7); + +/** Encodes a multistream Opus frame. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param[in] pcm const opus_int16*: The input signal as interleaved + * samples. + * This must contain + * frame_size*channels + * samples. + * @param frame_size int: Number of samples per channel in the input + * signal. + * This must be an Opus frame size for the + * encoder's sampling rate. + * For example, at 48 kHz the permitted values + * are 120, 240, 480, 960, 1920, and 2880. + * Passing in a duration of less than 10 ms + * (480 samples at 48 kHz) will prevent the + * encoder from using the LPC or hybrid modes. + * @param[out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_encode( + OpusMSEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes a multistream Opus frame from floating point input. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param[in] pcm const float*: The input signal as interleaved + * samples with a normal range of + * +/-1.0. + * Samples with a range beyond +/-1.0 + * are supported but will be clipped by + * decoders using the integer API and + * should only be used if it is known + * that the far end supports extended + * dynamic range. + * This must contain + * frame_size*channels + * samples. + * @param frame_size int: Number of samples per channel in the input + * signal. + * This must be an Opus frame size for the + * encoder's sampling rate. + * For example, at 48 kHz the permitted values + * are 120, 240, 480, 960, 1920, and 2880. + * Passing in a duration of less than 10 ms + * (480 samples at 48 kHz) will prevent the + * encoder from using the LPC or hybrid modes. + * @param[out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_encode_float( + OpusMSEncoder *st, + const float *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Frees an OpusMSEncoder allocated by + * opus_multistream_encoder_create(). + * @param st OpusMSEncoder*: Multistream encoder state to be freed. + */ +OPUS_EXPORT void opus_multistream_encoder_destroy(OpusMSEncoder *st); + +/** Perform a CTL function on a multistream Opus encoder. + * + * Generally the request and subsequent arguments are generated by a + * convenience macro. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls, + * @ref opus_encoderctls, or @ref opus_multistream_ctls. + * @see opus_genericctls + * @see opus_encoderctls + * @see opus_multistream_ctls + */ +OPUS_EXPORT int opus_multistream_encoder_ctl(OpusMSEncoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/**@}*/ + +/**\name Multistream decoder functions */ +/**@{*/ + +/** Gets the size of an OpusMSDecoder structure. + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @returns The size in bytes on success, or a negative error code + * (see @ref opus_errorcodes) on error. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_decoder_get_size( + int streams, + int coupled_streams +); + +/** Allocates and initializes a multistream decoder state. + * Call opus_multistream_decoder_destroy() to release + * this object when finished. + * @param Fs opus_int32: Sampling rate to decode at (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels to output. + * This must be at most 255. + * It may be different from the number of coded + * channels (streams + + * coupled_streams). + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @param[in] mapping const unsigned char[channels]: Mapping from + * coded channels to output channels, as described in + * @ref opus_multistream. + * @param[out] error int *: Returns #OPUS_OK on success, or an error + * code (see @ref opus_errorcodes) on + * failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSDecoder *opus_multistream_decoder_create( + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int *error +) OPUS_ARG_NONNULL(5); + +/** Intialize a previously allocated decoder state object. + * The memory pointed to by \a st must be at least the size returned by + * opus_multistream_encoder_get_size(). + * This is intended for applications which use their own allocator instead of + * malloc. + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @see opus_multistream_decoder_create + * @see opus_multistream_deocder_get_size + * @param st OpusMSEncoder*: Multistream encoder state to initialize. + * @param Fs opus_int32: Sampling rate to decode at (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels to output. + * This must be at most 255. + * It may be different from the number of coded + * channels (streams + + * coupled_streams). + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @param[in] mapping const unsigned char[channels]: Mapping from + * coded channels to output channels, as described in + * @ref opus_multistream. + * @returns #OPUS_OK on success, or an error code (see @ref opus_errorcodes) + * on failure. + */ +OPUS_EXPORT int opus_multistream_decoder_init( + OpusMSDecoder *st, + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + +/** Decode a multistream Opus packet. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param[in] data const unsigned char*: Input payload. + * Use a NULL + * pointer to indicate packet + * loss. + * @param len opus_int32: Number of bytes in payload. + * @param[out] pcm opus_int16*: Output signal, with interleaved + * samples. + * This must contain room for + * frame_size*channels + * samples. + * @param frame_size int: The number of samples per channel of + * available space in \a pcm. + * If this is less than the maximum packet duration + * (120 ms; 5760 for 48kHz), this function will not be capable + * of decoding some packets. In the case of PLC (data==NULL) + * or FEC (decode_fec=1), then frame_size needs to be exactly + * the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the + * next incoming packet. For the PLC and FEC cases, frame_size + * must be a multiple of 2.5 ms. + * @param decode_fec int: Flag (0 or 1) to request that any in-band + * forward error correction data be decoded. + * If no such data is available, the frame is + * decoded as if it were lost. + * @returns Number of samples decoded on success or a negative error code + * (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_decode( + OpusMSDecoder *st, + const unsigned char *data, + opus_int32 len, + opus_int16 *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode a multistream Opus packet with floating point output. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param[in] data const unsigned char*: Input payload. + * Use a NULL + * pointer to indicate packet + * loss. + * @param len opus_int32: Number of bytes in payload. + * @param[out] pcm opus_int16*: Output signal, with interleaved + * samples. + * This must contain room for + * frame_size*channels + * samples. + * @param frame_size int: The number of samples per channel of + * available space in \a pcm. + * If this is less than the maximum packet duration + * (120 ms; 5760 for 48kHz), this function will not be capable + * of decoding some packets. In the case of PLC (data==NULL) + * or FEC (decode_fec=1), then frame_size needs to be exactly + * the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the + * next incoming packet. For the PLC and FEC cases, frame_size + * must be a multiple of 2.5 ms. + * @param decode_fec int: Flag (0 or 1) to request that any in-band + * forward error correction data be decoded. + * If no such data is available, the frame is + * decoded as if it were lost. + * @returns Number of samples decoded on success or a negative error code + * (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_decode_float( + OpusMSDecoder *st, + const unsigned char *data, + opus_int32 len, + float *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on a multistream Opus decoder. + * + * Generally the request and subsequent arguments are generated by a + * convenience macro. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls, + * @ref opus_decoderctls, or @ref opus_multistream_ctls. + * @see opus_genericctls + * @see opus_decoderctls + * @see opus_multistream_ctls + */ +OPUS_EXPORT int opus_multistream_decoder_ctl(OpusMSDecoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/** Frees an OpusMSDecoder allocated by + * opus_multistream_decoder_create(). + * @param st OpusMSDecoder: Multistream decoder state to be freed. + */ +OPUS_EXPORT void opus_multistream_decoder_destroy(OpusMSDecoder *st); + +/**@}*/ + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_MULTISTREAM_H */ diff --git a/libs/mac/include/opus_types.h b/libs/mac/include/opus_types.h new file mode 100644 index 00000000..71808266 --- /dev/null +++ b/libs/mac/include/opus_types.h @@ -0,0 +1,159 @@ +/* (C) COPYRIGHT 1994-2002 Xiph.Org Foundation */ +/* Modified by Jean-Marc Valin */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +/* opus_types.h based on ogg_types.h from libogg */ + +/** + @file opus_types.h + @brief Opus reference implementation types +*/ +#ifndef OPUS_TYPES_H +#define OPUS_TYPES_H + +/* Use the real stdint.h if it's there (taken from Paul Hsieh's pstdint.h) */ +#if (defined(__STDC__) && __STDC__ && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined(__GNUC__) && (defined(_STDINT_H) || defined(_STDINT_H_)) || defined (HAVE_STDINT_H)) +#include + + typedef int16_t opus_int16; + typedef uint16_t opus_uint16; + typedef int32_t opus_int32; + typedef uint32_t opus_uint32; +#elif defined(_WIN32) + +# if defined(__CYGWIN__) +# include <_G_config.h> + typedef _G_int32_t opus_int32; + typedef _G_uint32_t opus_uint32; + typedef _G_int16 opus_int16; + typedef _G_uint16 opus_uint16; +# elif defined(__MINGW32__) + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; +# elif defined(__MWERKS__) + typedef int opus_int32; + typedef unsigned int opus_uint32; + typedef short opus_int16; + typedef unsigned short opus_uint16; +# else + /* MSVC/Borland */ + typedef __int32 opus_int32; + typedef unsigned __int32 opus_uint32; + typedef __int16 opus_int16; + typedef unsigned __int16 opus_uint16; +# endif + +#elif defined(__MACOS__) + +# include + typedef SInt16 opus_int16; + typedef UInt16 opus_uint16; + typedef SInt32 opus_int32; + typedef UInt32 opus_uint32; + +#elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */ + +# include + typedef int16_t opus_int16; + typedef u_int16_t opus_uint16; + typedef int32_t opus_int32; + typedef u_int32_t opus_uint32; + +#elif defined(__BEOS__) + + /* Be */ +# include + typedef int16 opus_int16; + typedef u_int16 opus_uint16; + typedef int32_t opus_int32; + typedef u_int32_t opus_uint32; + +#elif defined (__EMX__) + + /* OS/2 GCC */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined (DJGPP) + + /* DJGPP */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined(R5900) + + /* PS2 EE */ + typedef int opus_int32; + typedef unsigned opus_uint32; + typedef short opus_int16; + typedef unsigned short opus_uint16; + +#elif defined(__SYMBIAN32__) + + /* Symbian GCC */ + typedef signed short opus_int16; + typedef unsigned short opus_uint16; + typedef signed int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined(CONFIG_TI_C54X) || defined (CONFIG_TI_C55X) + + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef long opus_int32; + typedef unsigned long opus_uint32; + +#elif defined(CONFIG_TI_C6X) + + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#else + + /* Give up, take a reasonable guess */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#endif + +#define opus_int int /* used for counters etc; at least 16 bits */ +#define opus_int64 long long +#define opus_int8 signed char + +#define opus_uint unsigned int /* used for counters etc; at least 16 bits */ +#define opus_uint64 unsigned long long +#define opus_uint8 unsigned char + +#endif /* OPUS_TYPES_H */ diff --git a/libs/mac/lib/libopus.a b/libs/mac/lib/libopus.a new file mode 100644 index 0000000000000000000000000000000000000000..adfff5abb20863e32af99fe558530098040e6450 GIT binary patch literal 715648 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�Aq8C9JKuf_v3q!H3$q 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 ki|!3je;g6?_xqe1mxBmvET-S##tT zPtk_J+RX_u)1pVpkt=YcHMa=Wja%+ptkS@IuAFcsl49d}P`=&G|h*~{g2Jf!Hu3f!D6#t22nB`k1QQi(Qti>=ME(l? zkuk{%nuabd8`8FiM9}SIrp>jz&M~($53b{{L$soI&xW9DGX%AEN)AJn2v_1q@dl_D zb>4{rHU9xz&CR-wc0g0{(J22f57V z$YFEc6vRA@Lw&i=vSVQt0cXUb&b~mHH2`7GlE9EZv=Q&6s3@#*R1XzZhfND~4i?S& zp?Ee8yvHa>UJK!%prGkrqEKWJ?dDo*_WOYim;& zEzz_Yku`hCKtAxYtz$)Ll0FHLwMnN*lh7%M6M z3Jw2un($0=wpG7EX<%$V6Zc7Sge6b7S>;_?j+FAG4S>7w53mJPvyN-O>=wZ9G6j4O3hV8)T#S z=ZH-I@54sx68*-EcPAdSi|}Chn}|gB_tky?HvPB2hAD;&Oww(J4Y=vGYL}^9s5UGK zFM&-NiLHO~J9OK2(XMXW4iF^a_PgH$w^tr>E8K*!=1#nL-JJ>UZ3%9jkDIA!&9*J8 zH*T%jylI0KWT^kzudm*a!rMqEylN)wJps5`m`5Vlt*`M)2@Ez(^6qb}y?-+#3y^Xw zn6G}6h(sNjE8n(h>z%9buDN~rs+v1WNs-c@(@Zn}E}d^TxYy2Hy>WF-eZz)r6lkok zDb<~_#F|=vG8=}kkfCO8XS=szjd%1({g5<;YFjtj3foI`PB~fq$v@Y$h%XoM@5e(> zC+(MAvwGWV0H~>{sVKj*+`4?eUnm~ppt%As>Sa6MF}zv> z1|ZY?-kzH(Q+$gQpE@T!zwgj^J+Mh*yz_fzh<|3CdA%4T{F$zQkvD^)if{$*CB`u! zx&IeiP5T0aM2*AeO9ChSq34jE3@ufI*Z`^QbMI?2q1pmRY7jD71hoMDIERmaHC0L8 z$mrlbUNuVMpw<#P0to2l=b>ExIDY(aIe@yB+na10GU2n1dIdQ!0MH)bQZM{j0 zbA7s}V@<_(1sbjGzaLTeC<19{dB*`Ipa~?-S5sb7e|Krk{L<(f2A~P=VNXLx=ieC9 z+jDmVR0pl8S-l~4%>9z}&)e~j@<$r$w)E5X+sV?;e+Dx^Lwq0!zB2Glf+LB3QmDVW zZd*;`#&1x+QcY!rMAS#W;we-2<6s_$XBF@%p;OBMWTJO@ED+2(WBCRZpE@T^@75uG zmTMR6ufg`xJBy1Mvw!P1S)23@bIAmX2SFy(^HiO{baEK#IxC81l()P#{%LNUtfB@Q z>j@pV@ad2GEYFR>iPDiGXeS=K0#}}^HeP5a6q@-WJ{JiaW*bly1L0sbsU12he5){H zodInn*jxZwc>#3t<*3TW-q*9K_8y?_3e186-Jr{dpepAuAYZb&AEAX4r26u5^mQTG zS=^uy7Ih(#LLF`_r+UO>^zm?#ljXT-vZAoa19YVrWYHWr2Yb(5ZWKcb81gEmE91-! z@X+&Nj`6))!4g(8@C+jZgQ#z zF{Tcnh4pJ=8cb|q_`X%v)3h+QCFA35VY}&TTiA1bfgWZ6qtKGTA%Ex)dM_${z%(g* zcU<~a4dFr$_8+w#_Tiu`n#`?ukHSSWN*@_mip^PZ}vAPE<4b5K};ndl~xcFHj9vv|LDH zk)Dp2Zaq3-x89}Q+6#sILZAWL2|Vovo;D0pKROLIKDYLuTZr-@Y|8VZO-lSJO*{@N zi9PGm#Jx~Xpvw((If19#z*7l{qe3+C9-%EgkrD_UQb<)fRAb9pZK|7;{(u9aVVmT| zK2{ii-&PK$DZ(@HcY|X_uA%so z-o7ww%`)C%CKF#dprB=HcPT!L0sNt5ImL_ZvVd<1>*PFt&h*D%bKN`@U&(OIBi^QF z>^vHJI&kI+hpk%PA~MXV?fEOnb*oNey@|RAmjgKm0}Q!f39BK9&i}R@IJu4`jN%9u z7C;yM&omDAUhtdoAqU4#8*#oIvT2I6BR@bdwTQ4XU{*$e?T1lpvRTz_I^Ft9(3_XB z8WAt@)$g8E>`e553$8S_-6YQcSbIR4LJy8?`ibijgiWglC(XQVQFOP8w|~V%Uzggy zW^0Yu{$<@4+rOS?Az?1He{~x)zCyLFJ_g&q;XS4PC6XOPDpP#B5F7M4Y9`yiMiEb{ z43XJ({%8Bw=a2&klWh0m{RcP{6;&&WBY!psE4z09(*I0gI2vq~IM`11J+yPh7VTqP z|Ay2l8b?urkr3@N7}%HI=k00w{k2s^t2d+m2d)~^*!FYL{R~N7%s#LAo_@Aw?cI&{ zq#3{1=ytJKg?t#f^5f=p!e@U%sO?|2q9!XBv1k(U!N1vt(M}v6($bw9Q|px}T~HFe zw-8z>pqZjZwgg(rbE$Nvj1>uE>5g^Vda-?Tvh{LOE7H;(>Z`(!k7iodWRj1E6;Gi? z*o}-ZFC{>xL7H;|kZD}ERH{tz4JbZ!PFh|>xjL46S;T}NDlC{Ek=k0m-gvX>A``{C zK6Si&dgBl3HiGE{&R}95BTBv0iIbahvleF!AOr%bCTxm$0ce&42K_tlLV{pQ;4NDmmQCcvBuutcd15=&J(zwW9wb?imPb}4$JR3|h~1rx{G>&Ww4X~x4%N=j zc}4N2IMpc5w;_@ewkaI>r4ffCWoxvbXj8Vnnf3F8RSs_ZSt5Pj4peA&%kG7ZkG`xD zHaf~OE{Py9&S_~+zZtf7{!?T887$@+JiVFY&IYfW?_RggXRz;g!|Hpsa%yzX+6896 za;l*DaY0_fmI``7D$n_Le3`EsgJt#;-A9~;p5DCBLf6i0*tijkrnuUcGWdpjHm+S` zscPzV%-t+-A^tF2Z(bBv0pcBf*m1$qRqMW3x_XadwsbX`&=l$FI*nMU_98S65{JiO zYjN-vGnwdWyMmUfy-M*}43p*Ox-|XWunQ4+BD!jEPsO(LC7yA_xjUx{^Q15l^aX}! zfkZ6{fLz@q?_p)vhRDfjkH-5_aCK+gs*&RtvY_lCj5yN2ha&sIF`>767%=@_Ni8JP zJcoPuXzce+?BC2QkfxjGBsb}rt#zw6tW7`PNz+eC7u#6b`&5Ea)abZ>f3Gs9RAAU5NbK}U=KP+^&0ry=j-_c{! z2lK&k+}l5xKmM6@%_H8XW~6_#juc=Q=vXjReHwer+@|xxL~>vb9^K7&Ky+{#LWLr1 zAA1H1;%^5V-u*{<_g=t-U#FabqNcIlH!sVAhB`T8jGb$7`__Uuw+p=Nf?WEK;-3v1 z<`gXizoSkz)HoG24LM*5`mnQ6^3WQ7h(ci}Th9Y`Fu%an+H@XU4>?$M7vkYoo%ioM z()#us=ioe^Dh`ZAWTl2-bihJSAG_OX56#1yrUkJJ_m*O_ZS~Oc*C9G73Jg2F$A2;7lv8~^a=izzC;*BRc6vc0 zj^l=bQPPmNW*~p(QC1Jt@cF)gSTNcOjf2lxedSCOCMn#?!LWvyGJMqd`$B2LGtni> zcWC~Ss(q`1AMz_lwoi1LivX>9+OAZ3}eUdc$iRzoZVXgf9O1w`XcS=Kt7u~F6xUhEShE4a(M}qGw9j;};U@RTB?u(_v?-_KL zEO+8ZqA8Ro@`sO18drjc22F_$7iy$3#Yg!O@mVujK4p=nAB0_i$X+^ZaWN@P&U#JS zHgs*QwF$Q(%WbHtPdxHdplE3tdk78Jzk|~<1fc&s6gh}@A#B}D69V4evzHwYi^}CO zkWHuuMKtc!^oKqR03qZc;*cz1v3V4#`Y_iVgMzZLBB;*d(!T#dkN=sm%DR`U8jh?) z63d~Zp)%_w2STd>+*y)!%&9sZxjh~g{4WBVpn?c11s&9OlvItG=v0r=3)>E-$UkWp zn_z!rntob3-!8z^&a7N_>%dib=vA}f3@z5?XS5WeB>P{ z-;he5;=CeH@e~3F%^>;*`&XI8H$}eb2E|uKWH4ij&$y)Dt+Vg6=i<-)n79rTMEXRv z4)!NtPt;$N8XNItFv>Tr@b2&dPXJ*Jwl!9r#JV)L`9M3R94vVnDNr(jdyC9LAY3q% z6@&-`Vhi~9;LstgVVntq2JqUU)ZYujR!~Re`-f=jPTQ947oWn)9&$R9WCQ9EVhXzT`Anwh|{U+|! z8ja<&8XFP^jUIFc5)v9hvBsoPAuWe$M-&TCJ=u^bMRtPnAR{PYFuV7){36_jE2Zu| z`&(u^CAM_7G#yP^I^V0R>5nEYmv^gb`lDWPjaehdqFCbzv+w4FOzBQUf*>TN?^>u##=6@eH{tPz8 za3m>6QG)(tK-=|ZD;eRuFOwW);f)LQ__m>U4I95MS1Q)rvpSALxzu?g&l%HLdS~4i zOYf>UA5eTC3BFYz8pMT(Q!_1VGRdb`D4u4GP>6Av^sWQ=h!;jFm~mv9C-Pi3jh!cU zDL&&nd3v`S>9eyIV7u9N*j{?a{PEAm$vnno5bntsp?57K9e}kGW}L^9bJ-hL)uHarGw|L`fJoun*H{%NM`w@W~6mvSa;mwg}LQwDP*h6HlBfqn) z!(d`36)!m!*|Lw3N&hWtw1bHnIe4h4!WcpC@VdJj3IL4u)FkG%&F&{#f6TTe&Y{vYj(C5 zI>+YqW4k=OPm+E`y>TuUB=lrU)5(p0%|pcA6h49!TANPboFQ9=s7>A*0dvSh$kg!6 z-Q-H(4iv(BULWS+ZWD$u$g;05PfZuv^s-WNtLL8mP2{LpT&>ww-dGTvRJR2uwv-k7ZtZ1dc8snzn-A-(-(h<11JZlZOmUJXWAA+csB!CRdf?>V3v#Z#R|b>_+x>(n(1ATSiW-t0 z*=l0ho}4DD-kvP!N>7$+Gbfks21I~{Y&^X;oO(VF37X^{JMlAi>`*Nb`P(k7(!K^9 zlgm6IT~X3tG#^}ArBQ*wHHJ4C2!}yv^o@R z8Ix*wgmhKM2DK$zS{*JWhDoJM$aqy3Ox;t5ade@CVL}(=%}W=gZlSD#RXkbha2%a0 zMjbrE{3$0N!<$_mdlkw7BLGGBwR$UGeHW=rnLnxn4iA6i&hLHWGF}_2tWgtLh#zB| zjAxCS$Ql{%iC7~u$Hgi?h4Q$kl{{X$^Y@pu?(hXHgeda}9rsaI4D821log|c=NF8! zl>=P2e*yo(AK~lFA)OBlQ;^Vz1&E{0+m!d6#O?{6NeuKm15db({bw%75@onI48IeV zbp!}Qz}H)aa|~73OST-)6;4lud)LwOdH-DA`(HT~&Rv551TY!RyTXyPaDoXLI_EYXqT}u3V~Y>^ zcanJ%POS8ZTYaLaYRGtVR;=FQ$L$;3nV?8LpdkS@X({MlozGjYHP9pbJh~$k3?*aO znT+8%lNi98qp`C?xXQUMTpV;rl`anuljG|a|0CKK(4ZO%T{dq+p>0z$X0lCAa%eU<Qz&7XJFNxQD^kU z=7;#uzS5ex2w~q(ltXVv0a&!hU~{>e&1nVxUc+!LzSnzl?}ZoUygTQuIfHW!&e=7m zea_u;ZkaQ4&fs-j*WG>H_1B%ew&U7cul>a}|Hn1ATr>FLEgzow;U_=z@ee)s!COAK zclOfR&;QORf2Zr}f~)`d1H-dEH*5EA7yS0dtNO3J?#gWihy7Rk*Ie-rmyhL_qX@8rtysze(>IZp1=D1=YHLO?%>%A zW4DZb{mk?4zWb|1zk2X=&pUbVtUUGP+i#8DGP>iJum57vFTV5h(UBD+&;Ix9|Nhon zqmkOkE5n}|KJ;eAn}^@1eB;%ht@+uzLpz6V7&`o4fAn8h{n!52H@`mj_5XbBFJ7yC z?S|Lh4Id8wMfm>ks_>`6H-xVa&kSdWePL5~b8JIlt*Hz&jsA=1PUARvCze}pEGdPT zxfiaqq~xZBI1?~`VeFnbYM-26ZW?~7b}xdpLS`VdzKeArN;HL^ng3Ec`-im&rI^t9*tb4(Zaw-LLNr`wCLV1hkm(s zT}}O#)%UJ75t90))*HuqnnK`_fx$RgW*a0vbMZ{oFGmq?Cc--Me7+N~z5SB-_-CJF z_Q@bl)u_C*3pj!y$#bPzMg&>q&Zu;7D970+cRo3Ly0GrxbUw*vh<7)+A-=bsEm-ca z=z&Jb4!HW-cHqgZxbn87jWGVu0r&*%{V(Qzu)0oyavNLkg*<1^{cu1 zLXJITD!GQVR}y@FX`VCYY@;ZbZV~13CGz{=3$XvF0~dd-z^f~zf*BZ_L}BBEeu4>3UjAKOKRsS7E5 zUt2qT0EbU4f$koDeF-alx2*kbNK4y8>)~bYNp6+f%nJNZ_O!Rr_YrySg7}rqG4l6# zfCYy}LH0jXy%a!Dx}8kP39aE18U<;4GzuoywP}TA#8W5V*4-gDrS+c8H6r4A+>`3c zC2YaEJuH5`Gi!5VGx!HogqbZ$Nu_--BawW5FWbCPdUP9)5;cNWvXfSsQ~ z-p7TWOeKKWu{E7;=k{FOd%=)8|`}8kI|YjWh(w7 z*eFWz=V0Tj7q3SS@mfrM=d{WBf%GpUPsVs3fQ_JQb=mRSLgN=VnvtK;sp5AqC$yk)E9a#Z#+zyU@6qmu}$GJfXG5OeQ|7M9bM>qr~ut z&t&$4EcoSfwkZ9*PM zG|f(%QU8I0dDzZoS2JUS05<5FqtlOm70DYiTZN4|vw}j)vC1p@Sjh^(LsoflJRq2L zVIKDWo`BqHN%eqPNRcI0i1LO>msyk;A$|<>tlQU2{8Tl|TZ~lGu{mFLF0(Rt`Cg_}e~#Y}ka6_iCiG z@Q!&nLn_BqdD?pzIT_$t)yVH5USHrSbM8Ia1vR;a@Y2GEWeLCfDAs#rp%~*#IC28T z({P-fn8oGG90BPI^t03`u~QueJoiTJygmUNB$!Zj+t@GoFsOwiuO#D(0#zSfQr++0 zNl6V0EQ2YzJpY0G74+aBi9)W(dK=3y0-;0etMrXQEM1Xxq4kZdthbj`9kom3*e`S_ z^0y{??+a$Ele76_HHh-gaLJp!THOjQ6oNP`S}OcfYT-an#lZ>iN0%wKfuu z=3%c_y;JoQ|AD|ybaw^M^la%J&zgrWf(6d%F|tr>`=Tf%&I8-lws>P@*(hNAaQj#O z7U|sD!%vcF4V;Yp3AB|6;c4rYZ_z}By27bb$+G{zr_u62gi6FqvrzBMjL{)sMqkwy zg2hviprwWc;kq-Dix-t9DG6GLa~MWPmD9A_zf(3qaElzY(L`#a4NVzX?Hr^4z{}3j zayDt#+%8#?mM&u%-{g4MiQrXv<3I4W+qBzTD6A?B8wK%P0TMR!x-`^p>3uQkH|svo zKC|b9Ta$%O3U#Wi>#x7v$z3kA3Y%T@?zb3Js&_C-K{Jk!S_}W6GCnK2pMMU=9tsw0et|A-^a@@qb_pqy3mLKe#6= zmyvzNPs7GYR9prJ!lxIi4NKgt08)QjFW5dOZd(u6!tLe5c@~3lqQQ?JXb+u`C03}Sblb?a+$;@pAg@3 z1{0VfKU=1FY8e-X`UIHOAn<9H6+(hD$_={|+VZoT6`zSMeCay-PJ1r?spN*WntliD zrGS};pCz8D8s%pTOZh} z-k7c;%WWQz5fVD=i~$;pmSDh!a^N%z&6dhS_dr%`6pC`gp+Tf4iE`jFJO5%_mJTFK zS75i|%R*EoMXXz!{Pk=8;!+fBOtunCFczMN>;J&Xy#tO>VU)8g>jrMa*lT=bt6^o` zG5F-)fz6L5)816VxPd)QxtM@qzJXIxF)2_c@;e|;l9MP~Z29qX7+@d3DC9{hslww5 zWUJ7y(RQHHbBl53A>+n_-_ZE+sv&Z5q>gPdtUl?+j{@x{>B2LOA7#3qUDHoFE>s{N z@7MV8Jj#P#@&7jED*mjxZ&3HokQT!avhc9EEsX9J;`9|?uXdU7PdmQYdb8t;t*6BC zMTdus<4F=ZNBUOYF_m#*@y+%&wc45H&bYN(x7El>tzDv(5~fi>Wcc&KsXT zKK=a6b2Bf%{`Jf=`7GJl%L`^-?|Tv;T(2!r*v0Brr*E^mYt@7KCcKQtcyCkpsD@L9 z%kUf2eW$wf7?H;CcoXO-sa$)1s?o z05Zu@cPYMgimzYssgrcZ28mZX`ZNeYjy?VPJ|FMWg)_R3gc-7b)+NKHYLxFREA1)o zE&+aOS?)W?$(!z2gyIIdPYY*X4p%xaRyxOqnFi&KL7dz3ZzmaQX&Nb;gN$xpXdK~B z((y6lX#Nx(+*kmxp1bIvoC1#Ke}bdUfDIc2AC-_{gMdQ$mZo8Y02QETpvNPtQCwYK z2d~dVDSfRDT3?Ar@arw?;b{0@Cls2Q840e)zLFp z{Dj7xhp$21fZfK$dB$A`H{aGv$V}sz56`HOSr%eIyn7eMLB;>gjOQy0!O;<6%tyP??zg zve^}&<_I3FYnE3C_ppxME0?z%ge(@3j=!<^ls{zZ6m!~k!eO_9BQKEypnR%=fxE(6 z50%N5@VI$guw|r++45ZSAS4pv+(7yo4raZg zCyj-e;^T}}xGikppugqZZXg#%1Wr_7vC6-_I9BWvt-}z19`$dJRvQ+aT8DG64cx!| zJ;H5cdRziQg%EMDrPm~l?EQ$@bD9p}OmonA(XBe9$rBpK53w~OSogeiRcQ5xXxZc! zmml`N3FieYvrvv*^eE8?j>hgFZeGBp34$mR%AEFdHtpvwIqh90?Oi7AD>JA4lui4o zOHTW7llJ2#ZGMc{(Q#BH_J_0_+-1Hv>r^U?b;^pzjwh+K4wH+%UKwsD^8qR#dEghQ zDEbp(TwXUOU&d)_4>~_as;~mh2CF$P8_U#KaGJ?a^)R-X$Y=b&q-o*?2Kl;B9>9Ab z4~QpyoPC>x4M2|Zi96{K)B*0Vk;_bRNC4+1x=_r!aBobG?=nmjX8N+HUo|s7S2&Xy zxtHboa`G=TQyakf=0bi3gUrX9665dtASrN)@J#ZDML2RoqxjRxAIfw;x~7u^_xpLm zmlmHumce8c|FPQTurZ()k3nut`(I##iWNVo_Hx*uRmI$NLc0a!Vf@eF0Tz1MOxQrZ ztRLkAs%7o40lMsV*kBEpWx)pjwrnqI2ES|fnd-Tg3>8on7n({z6bYZ+0GsD8c>H1oz)0xIdGCe_n$7 z>I8V5Fh!?0kg;=LiwNpto}0Hce0}w{wKa{K=hp-wIN!2*^X9c%62Tx`sJVCTy>*)( z;7xn#+PZd|ajjXqVf6zw_pXNK{`+gzZp6-)I3MV)RD3JfZe4xv<_%COSz2>b&266# z-2R26kOegh(}a|!4VhoFAZ?uVA@k$nBv;9rP2bpv3jtRqRt8QQm^xd&e5HhEkVoB| zX1{bvY`=6YaVCo5WSEccW(WgX?gKi{dvh&fqJ^1+g zIC_|Lp%nAciT2@8-waKmJW&SVVP2?7MYBq_FlsW*AKMjQnZ{V9_$&g@igos#_FVi$ zPLgmhK^XDy^Od23+F^U=k8p}%{`glCY&<9V)cww^vnVsoi6M75ufm!l_7krVt1}48 z302VHwn>m%fJ^La#RJ#rU`WAh%RWMcksW_XZcu8Y+iCj*o)H$Xn_=o^9&xKXf`Y2x zAtd;4nYH-skz`sA7vMB>0d~(a3)osKfzG}{!Z>Hl=tjpd@dZPnS_uf1z%szNKOXO` z`}oZE?|c$pGFn&xz9aQ^igv7!;mV>40X3gMRD=!<`W1xWj1%%?i$s{0<3w+Pwa+w z&=cL<4a6R!^qS-<&Sc^bSLr=Mmfk1oTlz!LTXgH<#jruQm(7QbM2bHQPrNSsHBzJf zZ?MUaJ)&;TPYDl;@Y6Xn_VQVjZF)1ycdz>+32yRx-f;4HUN^awzXxtUnF_Y&b4 zyAowEYAWqn!K5KOEt^ojGAgG|xn7lqKUln2w>4m2LqcL6?jW_idP@9(R#uchQ1`|1 z2X!8N`2I07RsKNn6e(|A5A=`*rn<3 zhE18sMEn7xPt^#25HBc!6oJZqs!m2lf7lTUt^4y)BnU2sA)_&8Fu3nbZsr}ty@V8L z@ZR469G1YpdLY>FO3R;vzR5Tmz4CWVul&VH>_Kzo@0i0qv5J+NhRiO}c*MN&*I;hw z>G&w}VQ>3|>OQ8NLjd4BA=mzTk@MQ$6BFI}+aKXN7o;>3T=;t^LK(jo#@=7hk6oi? zqab8jjbWp+4yu`C$L&FE#)_TnkWZuSRa-~wYh|R5y06Q&_eA&7Py=*H z-!N>=@|5VqpyDZ0dza!<=cMTa_2x?Y$V?$3|EB3f5JJ-mY^C+y2@cw@9Z9nv%KmnW zPzSkz6=x8sa+3WLf#@LBgL2yHMDJ_a@MeUdTwYm?cSte00XNEegJci@)BzeWAUk95 z%4~%5I2W$^mO%7wYN$kS8;no@meAXLKK=gsiEQm=zSqOvyJXwXMfW#P7h&qSZ)kxX zX}OCqs@D;Nb*gjD3m3%hr;d%w7O52)#D?fg?SEki&uDD_v+j%Sf2AIL?0>sKNWnXj zS!YhqQduhOV_#JUq!EpT)LLpJ&eoEUuF>H+r=uHRL- zk8r81BI^jwdOB|ac6Tr|s}sfb1^15vAHQtyBc~WP@717lI_O|op=khPZ?85A)5>pDNcbEmiQU+3WxDE$>fw`a)-Snz(odPD$d$gUv;}L>F zF%E;4v@n16v;p+|JSLX|pkEKT?F@3N9&-baVKqhaL;Q6P^AZI4Kmog`f(pzC7D15m z^Gq4?_oK*KJ11s5+FI2vd4sQL-RTFSVZ@Z2xds;^SGW&zn5p2ENP$C81_W6|W0#XV z*AxtwCm`#?SUg46uwry9rX@HGPo#OWd>$@$4xGf%0-PYdg|%T94FX-DdPfn13t-4G z7h_P4@0fDHS2r>ug=Wv3?F5GV7!G`lp4pSc<5uksI>@QC@0dbOOyKUv$2NzIgU*Of z-sIi|H-G|SZ9(sWh*Ot5RPOYbw+`b{spp)k-6-VKam!u1TZd=keqI0e=g=AT{Zb5o(&M(uJx{BZL+_ACVJdhu=R9o#W~0C$I5 zsxSAk2Zq;I9hwpMCGbh9%?^0+b^Qmf^2UHhP8mTE4grtbM1Y4llBkeJm{Tth7*Yd7 z$wNAzd<*0e7bRgrOEQ=!K1qjZmId;Nlaesawm=XkrNwlO1-fDaph61-;YtD~!-r#i zv#9FO`Xh-o9IM3&MG-$-b4ZWDl-Xn^s_CT`Xrh{4WPv8C>4g?(qM9zTKoiyUCoIrJ zHGP8xny9AdTA-wwmO05Za|plXY?9LKuGpL;UgF1IjV;j-NClpZ%}EpneoKIRV_NHW;}NGNH)7qJJiI&40o;m9A^DhY5ezpA-BVx+l8YaN4fseg-|Q zxf2))7s&9;#S8l8~Pl^$p| zk~Glhjf4(*pxIi|K%-j{y21m^W|IaQ{gcpT9%#0oG|=d%gkI`_WBlG0q#sMsqzw!3xEpvpLz7+%$!dhx5+pR~ zpH48^c$#$k4i4LsY}Jpn3-II{_9HSuiuHtyZTpet_!KfX?*}~}Cv)?@-vgbwd2jPT zXKvn`JZF|Ksp0RVD$UXPV5XZXpBqj zI$kpPq4dxg>Im&6gV&^o#^_0CFB!ZpJv0VnLVL+zVR~o`@r3r0!Rr&DGjw^Vg+?P5 zsae`lY)6VNZ&Wu!eM(1$F8@J}VzSVIbU1F|CNaKwOpTcpg1wJ7wK`io2KE#tDLj)r zZk_5^RQyT%ROSL{1^!*9IcFOm*L0HLzKVQ+KowKrQ;vwXS_8*&^6_>;2 zy2kf`lm1-lBYYuj1aS%~b~S9CyR_xwdc~!zcRXb9;;H7M*EiBjFOp=GiQH)H04t`y+19a;`JrzA?q8&PmHRyOBQY z<_0_{gPlmef+VJFRKC)Th_XhCgOAJ2+`ZCeAM;hYS5-RLE{Mw|FhNc!XZe;0D-MP# zuF9i4gff=yVCc@P{6@gSYD^jw*Ug^III+juLD_SP zTEH3As-tf8$$2k2)s%T)U79kFgf(U$5!_hNkzJ4wChb~|yC|JAm3mqhm^wT%k2xTd zNjM<-I6ONO9=EDHwag>Xo+$9}u6NmcXNUNmv2&BVr9&@*cm|D#?FBYA+$Guax)Dg6 z3a)=QU$#I{sSIif7ikP}d8_W6ZotJy9E3lF-&bQb=malb8pXv+1JtVm0X9P5bvv|* zNm%7*b^x27E3yv8hv!Dab5n*-kA_cA8J<_}9H}U(I@)Mv^ z=lBYwhWkgcAUIkPD-qTS&t8#sjys^-LAZD9inv`Zo;mJO<`hpXu%@dL9# zWkJW5jUXQ&9K|oe1}RX+m3NW+NKo-veuR2`)k{(UskcGmo{MLy z{TQ>6KI@75Js*Vaxs>hV8W+ob8PGt zxe^^J)dp?!6}ix_X5#1B_;pyU@gKO6wE!G1;j$HM2<&$-&`FZ+iaeW(6HzpIz}b6l z25we@W-_BRDNbXO-Ka6xJ2oTTfMGXk#9&fv)W9kZPIswNDOrrF9xJ*vAA<_kSR~*4 za(1%oK-(KKjng@|=I3ze8AKGk(95|sAM4M2E4mf8Iz;1Z-HGhY6Ccu7#E0s*!D##f zOpi_cSvGzhmb3f^mTBF|o=dsSJDQDIHXA3RXl4OttXh)f$vryOdSH?iOYPOMHU^`& zkI6j_W~_w{5LO*(KU#ZsughH+*z_K6te}-7EGV&vXwIlA+zBEFpQ^E-He~qR)G8{kWbpQT$2c@LV9Rz`ul( zcNk443GSE32Y$sf@c_NMmZutNKdkmk%pKg^k4U>x?Lyc9iH^^;aPz!~rK5kKZcC(Y zfZIEdM_h5+dPqC^O?=cMdb%LZ7)tMT_tlgpq1S*CWFx8{BjvgHH2WG#OBd?)MDKp0 zEt~G0U>{K}3th+*%{VEo$2gOo9fXBxR@=JmIEktjGud%c!K3)B8+Nnj9c<6!^kUfj zFn{dn=?vRps&S|QgI6BHI$*QAc*h}&i{boVjQRL8|9<4<@iO0)zPj<%Sp^sV+V`=d zeP8^)$EW+g>igpOk9@!5Yd+sId$8)~<0r@KeSb4Pj0>TbpU<25dpsZv^Cx}Fj+CKl z9v+|TyD7`}UNC#X+&~~7K3Dm+j2C9P<9~Vn!v+6qk%7kGn|*ozyW=18-Qs&?{OR%g zG1vc>3;*?A?zG$wl>IJY-uTqvL+@Z&c$V)&;E!J$|M&6plQ)f04r3l$ zf6t*Sabhgbm*snR{H^iV$HRE$;Ev)ozFod|Z~&|+>;KH^%lhqKb-wZCtKOM6XZoFm zHZJXbzFqG%WZ(0RM&Ii3SALzhZK3Z!e7oM=w()UH13RJbv{n zrj~Rx8q&gGReq6Kzm;hq`Z6caOT+>5cCvf4@uXyHE*~ zbz8b+X~kse)@%AfiH~vnK`#Wy6#0AGj#eo?(jS`_^@_7H@%KSnPK~t=`0(=$}oLvQOrwU({XHTv9IbNQ?e>wiw;ZFiC^H11f%6z{6eHZ8}2;a{i@cEu? z!d`hUN~n3w*!uOYZ|41-yiS8g<0tWTT|kAbUdz0}T)PwxByuh3EX=ihz&)LE6!L8a zngbM7+_t~ao8gv@^1O+ck0V_L6{)Pg6MEsdlA0)`wZz2(uyO4@7C@tH-LPr%TKJVv zZjt)_oOJxxjq_u444N`64ZGC+qvS_u2DCn`+tM!$2A?!JJ?yWe?kv8zK9_=iO?3W~ z`?P7wZ`9`W>(-L-W!bi;EeH%bX3E zgzc3lSb2At@i3EH5*YS}t}*Xe9~i~#H|*qo8zHizIvg292T|267W^>4IoGH3L9UJ- zf?yk(k0F96?P>4jYCwC{PyIW1K3tR`K*0s>!(Nj6?K1z9hs)Xq$rOejKSYLErUWl7*e4~< zuxQ&vH9+h?6w67pTtg;5s#|`^tag8h1R1gyQS#v_@J}Wv@J}8I{N#VAz`9&yKW70- ztruv<>r26aY3-i#K$D28#k-i@j5Ka5ZI5^kPBbz2qBI5>ol3a#JV zWu{s}qaue9`HCZvl~Nuc^_Z(nM^Wk%3n^CLhbRz&DR&+9MyZgwejAXt@mxI*}ATw z-VPj>I&Q2;7&ol@V#kfI>G$S1l#4no1bvkxrZ{fYDxO;4pdnvKJc}&81k#*o+~`q! z9fA$>cg3g9Nsk*VH2r4SC5Y@DH<$$fY+G8bc$=D$aU)rd=QbIc-3xPojvACsg7iY9 z8Iw^%s%LKM2yu$aE^P(XvG;|PtwI`TqS&o=`XoBzH5tOzrwOcAkaxRsf&C z`l(xW^7t?4h7=Wa4Z4=Xk%!UWWPE~j{F9SNG!YL*k{q`Q*VYaUvyw{3vG9(vy(BI< z>vV$t|Nkx{2SW!poSPm6{Gn{!Z!^$ z#IIQI?JcIf1*W(R5BN_nR2!DKuZQhjujO78x^21f8aHm(S%a4}s~>e9FPN{6+bX|; z_X*B_rkgKBFPw$kW82y-Yd1mdPTi(8<|bS_d${!T;g&wy`Ga*|>^Lw>+ld_qNN+jE z#Guej%bHB`3a-o3l*!Y`DM(vKflq_fG60#zfmI4^=MUU3<)zi2=Qc6pfApWx6HiN5tVdTqIXzVoArrniZFJbZ5_xkQ*qq zm#rGrJx}0>R8RRCNI8bFccWr`)$p_mD2oq(<2=gjv^E{h_J_VIm}P#gsWc4^GdSpa zJVQ7pT8EQZ>yP9IvtD*CW2y!!L~VYJ2*Dm5oH{MX$0P zt;4e9`d6T{<1kKWt^eb^95AvTpPWxQpNjVh)?JOU=?{ z!a2KFi|QMv15H7^i02g&q7?KyZ2Wx-C72{F-ejWB?Mj~&e-b@qf2hE}%#hu2O(zL1 z7Y!d>tN6c>1C($X_tU_u_#a`Tzb$(WI6zyLeIGXA9)>*wZi<-bz7ICq{4&x^x_<{Y z)Y@^apA=Ev(MQ{{DYebMWt+}`W{L4wKEEAl0UwwRI%)H4SxZ>f?jGx=WHrg!pviw)8*RgnL(N8g8q&JwA{r zW7P~p3G?9zZ`{~WziG?8H>U7g;PungC6W6YS0j--N~!pDLcRUz#<}^Pd5)^Qd>jTG&cjkcMVHJQe_F$FAByC0o}99z#=Q#_c%N30)#C(4F#1Gq5QF%HX|*+1d@Y|{BpshjNtO(rd!?m;+B5&jd=>D37L7M^+bx;qox zEeY;;lBXmkMt4DB;iptqlx8YX^AMkS6u&8wihNHW-%iwKC}~G0U8W-BTSWU+Iv~U zj7x)jlFqdQpC&OSx>-O11XH4oEUfs9uh74B_MP@z{8P;jdXPS=Y(+lKa=?Z&dOrb~ z7XFz8^B9*wxF=(TZnlgx0~QQ*e`N?8=q&pPL2*#k#X$c9x5?qi|4C>(sMI_Df+487 z4uNOKNn(TyGeMkHa2t=xt6TtOu3E)Ov)0$Lu!E4h=MKSDRCV+?CKQKwCb{WEQPY5P zmToxuC9XNp09x2MOu>;N{}I`JT=MBQ_28;f1>D=xwAWXL&u*?~;^4;?)i82B-_&2!Xxe&-cQY8WsHqPT5_L4zk>hIZA6&Hxzq6ZEx-D zhSG#c9`JDamku0`aGRc1W?S|cLLU{VJ;gPc*UUhu zS5;W;g+@gvr#M%Do3*-@XC13>aHs=II@#1}QCE#3?*-(j7t(pP_l?|nqh^yNVEWz0 z?o=?-vj{_M)S=)~LwU8)tsTqEtvI)kCO40Jasx1+ala{6>n&MM(_^?O7FB`qG3@3! zRULAUrJJpi2Si|@wmW`A5Vz^E=zK(^SdeA4EKb_)xI;c3@Qt-D!ZJIL_?2R~ZjZ1h z(3{D$yMcBmu)_`PFcL9*J1EO;21MexI$61vy;lDSA|&_D;GU!4xj z-c&4_4!rHK>t>8qDsPkl>I*H&x+_iZEZHWGb<<2QgMsq4~)tUsJ zK%gi7V3q%we_f7AZDrO=(DO+YU{9_s3Je$F>J46lJcOF3&i8KQ@S)NpoR~B_FBLTo zL4}9&_VIIW;~_fUK0dbipnvDR2<|3G=@InTqN*X|P4+^)#g7;C-b_D()B_q4P~)wj zd$p&Y@NQ&9cZ{q{iD73lhUZLTN%=B~8E;L@k_9B@B@5kdpu6-4VennfM?Qi$sG355 zh{PJwSeGSb2nlf9#Re;Qv#H!uiuP29_9QLoQP6P<7kLoxpr50`Q1u8nJVP9sMqA&^ zY8{VWNpjlPj9nfE{pp9FW2&PdEpF9mr)t>gg}9v=z{!eGNVT4)l13 zverJdicz)}-H3cz+T?k2149xYdZ}_`Q{M9sD&ephMuw*Irm4?He$cdJvA24ZWbJ$r zE?C5^iG5f?5SZ5RL!d6hPPX#LqTdF6Uluqa5CKZJ@wC%8Qp8S$TWZnC+Ds>tuTYI7 z#4|JxZ{3A>$RhGE_Tf9naNO(o>zDzcl{>x1e=!5g5a%P;djN|9BN*^lso~=|@rB`T zVFb1}rJOOT$BH!r6ytvc9>}mvw(ZRzdz{c^$w){)Af%2J{{PEq@Z9Pq+&F+s~mZ z!)QIEgxdhP4u#YDND22C;OzRX)=Nsby@0d#Bu*sn9|GJel}~9srNqZ$q4vC&)>jgo zi~7VTE4~LdK5a2Kd*#A@5DvO4)ZT{g4Rpot;eprU&1&BP8>V<49t`IO1@!e|mKmma zmD*LX^Wa{rb`Na8Pw!H@S?yZ2%hWDZ8ln8{9Y1Y~pOk1=!^VxcC1CTGO>3}R-f+*x zwQFj&)~(*KR)fEA$I3fv%2%vd`T14qQ?dMu3+CfC;Vo7_FP2qmZeLk`n}(ZJ7IXW- z%FnOFiVOB3qALE4todL|dHq#g@AA`S@{nu6Lh8+w+BeEe%Zly0G^L{Yc&|}skz#rl`78H4! zfwO6Nnm_as(jgaKb+X<;oEI^B!l7?0&euDqFsZ>wE>6LCiU(H%2ZnBSbN{3W`Zuwc zb?4QHO4b_FpdoDKDuSxd>VDBkkLzg6)}SGG;kSz#2RYs7$Gpw(ze@rq{2@wf$P1H= z92EX`q@6o|u=@*l;fTEKR6EpH4JZ44Cd(WlF9HgkE7%+DZ$K@nmld783~`irb@SsR zU)=PD6kdTu?wEgnDJD72=o4T~&s->L$FfV+D9dR?alK{j4?v4woR@!pImCiF3BHgJ z&M2SPThabIgRV<>a=2dl50-P^1WXVU3yf8yw8z`b`{@fGlc%VsnZ!na0^} z9iMD}OgxXQbd}2wY^&3mfS2x)Zp0;Oh?$CZVx&k3UOExH(7lxV>(kM_o2>ed+L@Ir zZmX$puse*H(@S4pwt6Wny|eC%rFRFFh!7u0g6O%BdYdA>>sLI5EF{e1-~+@9GJ8}jz~-wOFWq(1+7zDY z4^^WoK>b*VzQ9RZn7J+qVBb$Y-qD$4yJ+jub`T`)w6;F7Q?+02ClPAIUVpME_uGkt zXeVb^mJmTB>7bGi>=45A{A6S&C<>?$*!`C^Ng^qN)+> zg*rZl*dokx-vb?z z>TUb3RBv3pw!zC&;*TP_r&4iHH|kp0-ugxscV>0VEH~;us~w|AQR4`%_2jhQ9Pb4b zCdSK>Bsb4Rj!SW)RXmvlcTXxo&dQf1oqByb^0lcaxNA}g?t)AY`cmD%(?&*U)m1^QklTPllvc*}N-6oD&JCV_CewH|rus81Jxv_1>VXlzVxohcG+w2d7w8b8 zqtxBsSbP8G)f?A<+2buXkY5VJ8|P(|YqRn=g&QagaDxAb%Rw~64{|)_!l-~h#)rh{T`UITN zuuXxrf&gEBM>G=l^dsX1jPYeC2eN?18-NI_LKYB)vM@);Rx~o!H4ypBxdH`%Rgz`Q z2sAkper0YfIqcYCa*Xk1PEZukcmoh&EHT26TmUFhKf;RVQdQ77kqq-%c(bZFooXjJ=Nwb{SupQkpglypxiTS`*IIFvi2 z;J?$;w;N;UTkAG$*-~ZhS&S04OWo&xzjj8;e_OYuYqqaWmae_1)WP!KLCZHM(Y3lw z6P*tmP&{RkKeY;_k45y+)%$WUK z{FAkH-%C_qhvB~~xn2ZuIcZP?T^6^my$KEN7r4*U%Y)$j*b<}!UULB8JRc;i<|+SI zdf^aN{G^7DId}MU3 zAung)k3_jzd|DF)@k7e&{Z+&3t4DpU2SK^cF#|7v%(3eVnH%+oTJSCtfdS`W5$6AO zr${?~h=>D4xWTt>l*C7zSm>}m1^J0SU(WxbA;e$lIptr))V*0iV*Y0WqtHes2(RRs zG&}d-%AyOA8f}e`n#m0TSpz}LNHF6udBw>zg2LE4r4jh{|ss;THO6w z4UJL_Ih6ZIHSCX71H>3bRbgD<9(pQmUG&?Mr>l#8Pwix?i!kaTp*o@;OKS?{$f+Je zC9wYEs_V0+y83Ys0@@IzM|Se^D(EZPP+1}$`Y=ib!-|YEltzewdTnobhjvq%~ArT8#lk(J^*VAEX)8$r`yiG3Ap%4KZ6IVgGMG%NuB z)_e>vUbl`9Ya!si=K=Dk>Jd-d)iWjsZ>-yv0Q|+Z+{GiF7sEF%nqLw)Qogp2dA z%u<9@uZ;Bta5Y3 zPbSzc2S*Wr3psJq%B$lTFsjE|f3*8bToR5oZ-0p0igfsJ^Y_`)ge12Qpf13AJMu!W z)^2)1{zT~sJ^GrDYJEkxF+2uyoqs1PKw%_O)D?{Z9|7Q?h8u0zG7fLgyPxStC0KNdQcPDpV-T z1(Pz0OLQeuEr(4r#AUIH>Q5DwVCic+tyS2%k8gSY(0!;dFeTF-MVphoP;Q7Jt*>Rz z!%XbsoQ+|3SEo1ehb3_XrwP0JnN06^j{ljLvv3>*1M8~%XED0wKkG`G6l}^%Cj-vtjdr1km8whEx`Yb(Q(rmt=aC&OZ`L+B6{K?|5EziEa3{oi6!ciO%t5hR=S?w>sds!{KJcTvpK{T9ar zr)?p;`r1adl&)lRiDc8?hVtM-ZuU5*Z55u85zu%G!u(qhc25O41d!H!g3rJ6yFk#* zioh<%=v~6B4zvpvT5?|A&5En=g0KQ@(`o55rET*e5s84$&e8?Ax))-9sc3gt==ut` z)09wr>nogZv)lk@AuX)a!h(b3j2(ezLi3aM9Mo?tSb{CRhU!aI23rn3jg%_2J%h>- z36yZVZG6-0b+Y&sOFG%G{B0jc`CIo%i}JT!>!}f3O)gcj$9(^nC3fi%TX5I-D}n1E z;g4(ZrV6!P`uFeVkQ8-w{2=BEPSZTIt^#h0Atm-6w%CU-Ul1ihu9mc!%pbs@9L+qr zP+azo%3LB8-M_O7K1mg^}uU4S1|2)H^L~9&V?nbvWN<J!%% zUXl2wA#d-I_#|pdEw-Bq@V1U80h6(H#0WzfnkPt_^al49wDkwsjX)Qiwy^D7sfdMq zQp0^jiN&CeQ1M8Jj6$^WIc$8uH~@gia`5?am9X=;r;Kgi5eK_Nwtq((92{YP4~u?A zycv2L_3Hm*zyD$OYKF}~7)IJQ24K`|JIX{ppn)S`Zlj*?V+?_yCu3+sKitf|>lu1t zV@2fmqXFo6nsuj*d1}{h0Cqtughdcrz+<#>X>4wOMwMM3KBL8zi#joi_MPeUC zMgGf@dk$Rw?f-~K-M(sqAClRhLMHvlav12xMoug%N5E862L}_munRbwYByh)o*Sno$e-uZ(^H|jlh!A00R2+TV1qa)Ul81P5_ivD{ zXaL*Q?+Ww8?LKW!Nfy1dVKIEPp)K>3k*spAu0Bv2jP=BNC&UcNHhksH#vh7MtZABa zkqkn;VVvrgq56q4FOWb_SLGxg3sCa9%y z_YfiI8nIUt$@HeYcPzUi>o5*p@BC=W^n1@{XW`25gY}Mlok(S@mR!lE+bNmtByKG0 z&pXDZ^%23v00U&o0$lUFxBz56WQG=hHNJRaGulp-6zW;;?g+50;DcR{BqLWK2xBda zUhlNgO96v*+uH_66Z{7R631RtVK@|cV|CxZlT%FW)_(|n=qc1lc+06_lEPdE1-XrVJ?$6xF4e|F|>z43A~03F{Vv|ee_Hi zz&@S!sC#TCM)Nc&~NZ5$Qr%?yYrB=0z6L@~@)%fD9shvhYT4{w~j#XMR@K}1!c z$ss;?(&R6`$Zr zB}s1@qqjCam+gP7xA`?t9858*p+DqXhJKj+UVVYxNEl0AyCEg)w*;dUUL+VxWdsQ9 zM)Rp`3mailpa+|G;d5nvJ7SR*;IQNW!`|C~$9Yuu;;UE+N^0L-ajn*c7&f4Q9cNS9 zF^PjQtb#UK7l}9|0x5MOIf@;-c5LAfFf;)fd4t}(eiMaei}?su3!$brG=@eXAaW$v zSWaq!@=n-}tGucJI$)d4IyUsZ6vPxbI#!Sb*kALHpLY;@*7vC$(=bY7=>6!{OM=_}gDB3%wj_vH*8(<#Q@llA`2v-eiqRerZ_Ca_W1fxmgG@1^N3 zqDwr^Hdia&Waotr1Fur`EL099>74>zOz~76MR>1=yimRpr!mRHxzUx+0%A^?cn~lO zmqRuV4ihEkvRZ#4z1VJdYpJ9Ry^2`_#S{L>Ydo!fO@2ib#p~1BHL7 z@MT2G_@4(v)QSCoh%&Jo$i!cWANtP+r2mhxo=X3}17!T|fRx7*sGY>`QTS}R@js-H z`cq8Ln*mWc6Sz{JXZ#b-0zx#2gMes6688Z@B#9RgDbw*Jeqa)N0Wtba{2c;A6p0o< z$`8rr9@5GlKscSHeGYE4+j@1r+HF1hAMgwA zzw&)f+HF1m2YlndZyv%|(0(Xn|Lc(bxsd&ike#%G^cq9QMOq9rBN~+`8`8wsu@aWNyLOfV-)euHU?M?T(hU+qSK> z?ze8-(t_KB6zi6?xE~eQ6v?rK0ylL5&F$+fw!Kng=jQF}wkx)}L5p)^8y(l)WPLVo zy=Cdp7JGQQ$FVmCXRN8#@f-wv7L*k_q6o~{u1pP4e2o~&rzTqqosqunwFNy^#^*C zj*Wi+?X9vXB-GoI1Amk2yY07pX^5ksN2hM^hbl@FBoBI1=-n#4qy)u+m(o)!`>qZ4 zo3I9d=ucP(_$!g2ABgNj{A{E7-YeTqw)3m;7c}ILf9SGiY(#%x_o*>NllC|?mdr@I z=RlndbD;k8OPpr(CIw`d18^~S8Le1&0jP6jMbO%2?LH4Z309mg%A*|F{WoyK{T96@ zd`!Z-*#L^`$WYyt`0CtGlL#imqf8GYTp-jkjIgtBF8iwJo=+n~FmE+(GCPfCwg=rv zvOJn;f!lYOd6;ai#;6Qo$cKp^_X|SXO?RicUd^Og)_P3>?=ajP5pJ*`LLxx*$Q1P5 zu=QLe-?JN z5_CNxL3}0I+1Z^>7ZFUnO2_RAZbVD!Aq1f&ndy4Wgu$O;@m2(hook=#G!!EYCdp#T zD`FV@8TRpqO*rsJuSItn0S)OD!IK3{x0!68oD38PGxI=Mr1v63O$$^Ck3vO`dfu5h z?945NB7WJZxKIj=^)Lm;6>)PjRoLyilf}_0gA0l1#gZ@4J5Wm_xrO|}A18(ygUL5T zh${&~G52n}9IVod9_%9N&X-W?xMPy`cA`d2P$;a%4sWI`oXD{<>O?MrmBLSw6>GHp z)F#Qg=5>cAnzzhTJw4n0hV`z$fYJz}iQ55DQdfQi5dRZ@2@A)ws}=qMAllpn?+J#m z5)T7b0&WC^SM^#zhD!h<8Hv9Hi-fGQ@Lx%e>D3Jw95=$vwzEXR`&5N?3V}G*tingo z{^gMUmXLjU$j)hGFg%AT;bDx7R4}Sqx2=8a=CwO;{5^;hyzj9{oshk-KPFkfaWiNH z#t1j<+;&ULty^#2xPBuBA^EXG?b7$xUwdW1A=snqsDl_wYX#>_#tTa>$?LNl>esC% zvHz^`LJXNq6IW>M94qk8_Se(ZH~flb66rB4?>m$pa)#ptO9y3D47E6vMX|$LV5S-` z9I$+8s9_KwjSldqUP1Cxju(bCP*UlQDLu7Ld%Vzv_}PdZ2iyQS*?0jcGd8Mk*lO2g zc_9sk3L|wm4q7Ldn&Ak!({NPUG^b%ePp9IP=8DvDTxyJD%4Nv7g9hy}-jB!K_Bc}h zG>^{X`g*>Nz7X2=KSd|=IF?`g;NORLPC(8qo_&Xjqay?3F%zz~NiPAnQBkF@&>OMP zc+Yte$bi+)1ET8~K-ZCa2o5Q%=iUxm?9B!?wX|Z%?klYLiF$?a07SvB=Kb!3oX-+|OX1%s z{3;-dcp_`;iQ51XBmqEp_O*b){(=1m+K0uG{NF^pIGl1lHW(o^fS+vVekAM1pXedxT(!N_FoGW}+1tX?y*^Y$0tFkE!gr5D!07{r3e#Fl-P7v}Glj%mtpv2O9v%RSTb5 zHTd(h>dXEaVU8nAz2hB~p#28)(otD-9dfAW`uz>sUUK2yVVLigQ0QIk!7bz979t7F zAd-nhar=c2lk!@3H`#=qBx9*{?_o5UOfDR*Z#%k*{TH-?$f1MFhI{!{?-*Uz@3Q>m zWlJi)O{nnB`_#f=IFjd8ZMbO83eP0nX3Jzj$!bARladLAhfTab1R0eg;`OrF=yX)1 z*lps|w4KyM z7XW+SNG2la8bF?uWUZnSbTzC+INMM z@;pe27Zxo314#~{?LUBG7+rv4f6ef1J`L>qNeI}_0$aW{{otQ^0fR5`EcQ=Wb{(z}m{hDhg; z^RNj{7i^BNL2s`$G37ecXQ(%A&@XGF7v8x*;^*iqmSNoLSL@!%^8sp0xu1^%&-eTM z2>j~YUTFxO-u)CRw(H#tzZ~x?Vwa_e9(+a@;4|j&v(D|OXPxt|nmT7qO(p(fb;|qVhS>GwU zrXK`dRLR68fEahI{11$uQScLA21M7II17%jSHBD-!WR`jr|@SApHcXvLavK|MB>AM zm4Iwd7=AS%y6yxcrM(|NguVDdKb`1SdzZqUfDm9J4G0z!UxftlKfwz+XukldC*KqT zoo)mSj&sB766YH{qKiQoJB|^1c)zJDt0DU@L-v0P*>{EPg=-=cZvSAn z$!-SaS6PB9D5VeV2Zq>%<6<4oZ*SYMGq|ua#j;EOx|95x%UbL{abUj=D?A&wZV4>D zm>B(493Tbvc{VLwE4Yw{U5CLF8otr{3@04-FTMP7|NTHS?l0JnnsnUHwYW$ee=r<# zA7`PMz;Iuhrk!C3)s8YM>oF+vVy3$ub4mk{9?EfK1eJvyGb|kh)=V|-w{*D2L9+&Q zltro#8xUvC>N_y`B(% zXiGMzmw+1lmf8>MM*M83+tJu9K)z2lkC3gLAkk@j2j>x->je4<-htrs_Ia~O)Z5N*&f`vYvwT2V)1wo{T6Cy$mep|BBs}JBl6=jO zyCsj}c!b+)I5aYDd&F?~vN_y}gSNdrLNl`uV2XnHw~~r}VuGxMvt=)4%AS@pw~L8V z%d9R&sWZ8W5#S?)^XFbM>XMkG==vm0wEp2(CqsvDnO})AzvNf`w6-7@M7Ep0OF`q5 z?Tw5rS+(26cN%&~uyeEuUov)AEM zm^O>FF^>)iE(2^vpQoH*Fia&n9+ntlSyIF#a~RABrwDe)a-H_FEIVi#hS8X4U9gA} zAu;k^wpe!_!Md(wm2SlPtwXQSvsK}!kt!3N?i@sztbCd_0NdE6ENw z`skJ421HRwd>W8?b#DOVxc(G8!G7Y;0O6G2ePrn0t1kycCR8s`xKQEw3TG=kV#e=@ z1%MD!!a*Q($%%hMWE`&_1LS!A6{MEq{SAPm%kel!_~Z3IgFQH2=lBIdee<@Eo!x%W ze_6;*zo7r4A^R^v_Wus#AU-WYdp3l>He|mlWdC}|9%*Uc`qBTaLH)LM+c)04bM0nm zNrjf(&4s!3*n13Xb(I(l>tNsNfpG^ksI+BP>)W=rf2?@Po-z0%_@aGS`fBJM+cpP= z{soKrfk}ueS3zc2=eLSiGUlIZyno3hmn}7u19OjW38wrpKgbuY_oK{52AI)t{K0VC zzdV@n;+p^IKq00XQ5O-Uzm4#)yc-%j^o|UCDz_2j;z$ba> zw)6_80aNaqa-2_7sp)J&V`0-qcaUXO_Dv1Gg5&CiY99b1NukbD|2A?Ib|!f_8lhu= zu=;ve%nSZ8%5eRL)3l84qb7s5lINI(944}boEz?EUcaOZe{{$m&`5YnE0MIF-R7%^Z(Yg{2gK}%N#T~Axr z*+ExG+Tg~5uBWW)T)JZPfhU3t@g!neBQ_BZyvn=tw{YI*b`Y2LLdN-s;KP4C!$ z+4O2s)7+${xYP53vN>s8&zqTS%2hUdkZyA>B~({X9#GkR`J9L9h^YPxmWP?h$KsAy zsl|h`WT_Gf*UU_o$1$bFskiVu$3^9hJCwG(rT?#!rl#sLP*JmXX3zgPz^brbk^aPS4wK7s!jJ7$=p6ZlWH|FQuS zMjB0D(RnbApX%_}iajJ6O=n5G&A?lr^FK{*NxXZ37uR>IG~Fff9tK`o&%bH5FK)D`J&QF>A5CtdNZ8`WK>TmPiRlCjSO=`FKO3k$3{F7vrG`?WWaT|ZXMNivI zrj1%+(`0#IE>yz%(#gG-Oy$3HitvlY-|nl-Xr8rXsYS;;tMue=(s>rjLgWAi8pj{Z zRP!wE^U(}zCRqEK&a+094(XAXdH9hgp=f_)@_Ck}6DM;peIPSLhW0~&pp33X$}QGO361NRQ4_L5rX z?R)X4)FOPL4?4Q3p}S&M!(Mw)d%7*P7sz#)5j?>vI-PrS|A-b=!@|*RcxYC`Jl=lt zB|~CA&Zi?x4ErW-YM-&-#)F|$mx-+lv0Z`BK1veaUBIpLFtlvwS(L(F%P-1s|HKX)99 zzBIO;`0J8N;v^{If8q#!Aib4b6DOoMoX&n5;AHJ^cpty?l3MA#@Cn*2+a8vBH*dmy z<|Rv(>2X5S9u_Wl<(tCa_MBi3ghCT%QG>B|+YX|-i<$0v(IJD1zajfEkZ>o6VtS=-LlQ@8Dh(i99Z_3a?MxgfDr$BQ~dB97_g;nm+eC^qG&5 z+*<@SR&l2Z!b|dH^xvhi9Yu>JPllM+Ku)qr!_P$n@`m1c*PUMjCppTEj34QsRTyKP zr&Bt5P#n|dj3n-xsWtb_K$8tO3rTEMT_eE8l{5chE?`emPbw1WxDu{nv|JZu!Bp*4 z2O35iTQ9=x6~~nLzw$ST1?8anZxw!2A!SPU3lz>*2*7YuPbz57cxN@;d}CI@CtNXy z$F*&EB6NGp4ms3)&5~udy|M$c!gcbcrS;)2Tb_UCbD{&@`BtlVot$k&4-y)Q8_qd? zTR{5+W&w&P&4A)qyKT3);z%>yc55peei+gtFQXXrG}B>*?N+>iZsmK<+^aWsBe@oW3cY3wDhS~$E4x*qk=^>DlqOvp7T z+U~FIKx>H6;wdzuU*}yl>gDckg@;;Z?Y>#CE*t?Sw1S(Tfd?5vpwDp(ij-v;7=uh` z0ymp`nesThxuvhPI=_=-`y0)0;7rL}Eu>>}6jr~_*ympbh`o9y1AO*Sj~S$)cd+JZ zM4LS&$;cQkn!8L4VvR1~@VDFW)dZD+X7muv9s}fIETjC2CW1-0#1+&&x=2}ki2L!D zmF5m=+hU1HDd0deSjdUi!ed!pF!RvWle`+yczE| zHQi^JtP-dk1Q|r3v5e{6t2yeW%Cx|!iBNp*J=BNB;R7cd7im^yA_~g^kul2&a2z9F zG~9cr)PQa<`pAzqJz3#oj>69w{v0$Q@bPOLls*q(hB7ty1ryK-k^?I6Gs$=43mHm z1JMO@_MxJ$kN#xP5N`5QX;N#0R7nt5nKOwF%v!|3B!_bsNmp(@dT8eEK`he%dZg$| zVmn96P&`@U4#_$75?Lbp*QWTGTq=_dHqzT>=*`(;VD+CGIR8omFSrrVFB;7~?0g`Q z`^Q9LF@?ugrZ}6v!QwT`={+W~N~7d{V;pXa#L3AFz{44HvJV4(4hm)fzkU@L z84G?d8zk4G#mx}I(dNV6rq;^{UBPxTPcuwgzW_b)v$f?*SQ|?>t=bRT;~W#xAmHM%qbmLI4z7E;UpE#59^#qp_a2Bp{3ZW z^nHaevKV+R0rx`F!4!(lK4uWE5PhczSkenQ4@kj|WtcsdTsOsPEnV{vOk&Hi_lGhR zlcFIlQgMj<0iRw*0es#)#?m;9$rRw6x#;lNR2mLgF`M+eN}x~MX8>^0gXqgEyx5td=3s*2~Z+rsW4TT3=k(GSLMw zc^Z@5GDc!le9|4d-weiRgSH8ONG~7Hlc)BA%!f%r6-<~HQlu|+&2Ec_GBgbiDbOK| zE^Ks0CSkIZa++IV=u~`iN;(DXS=mZ+6K>MxqO2g+ir28$io|Pgc0F$5h)FzBuuMx@ zl^I7Fq{n(N062%R0O2$crf5U1Gl>vdRv2v}2g<&Svd2#>LsDV?CiM>|;?K2ReuE?; zHs?|UtIsxY{)^{G23+tgAZRk@&|2^3*anee(6i<_!2gK?&QnZsa%n7I-GJJq;||n; zW{+NAQ=n1{_Qr2T1385Z1~enr8@}e;X<+r244hAUp3fdOtZ37*JFJyK#dYCVx=sqE z8!;AYdImh*XNEUTGRz61SMBZEAw9>Mj6sX}qal-|HB>U}?%o2FEHsDrm7eml#;R$pp*JHNlu`(FGWFujvkqfgu4M z0IxxzZpI+DDZ>DaPXn5|aJ`IXZKDg+0yJ4QF$*!`K1J#Nwz7N-lO_no)0h@W#B0*! zW@OG`h;eFK4JDeY)zG$Ahgh25g#~eM*H@(M#yl02C0EIW`9YhKuvaB3eTSHQ7t-3( zb#IA6O=X>l*QPmxv$wB?^(;D1#Sm%g6(lzG%KGRh2HpV)bgYkV8Q_R?6c%YMlaL4U z2=^QfzlbMp(WnmU>s9Lu?sLU^kTE{3IF2SZHSPyL2f<&&EG8c=`et9Ri1D9xc8-yS z(_rDq?q4YnN5m`5J7IT@;ZbtjI{~EfPt$o+oX&FaS~(Z|_FjlELIE;Oae-|dy9#I? zO}h(pJOq#1ky58}$F%g0V<7+`8crib!>Hse=YBUHqS{lP>h*M?74cWDooI<0Y!f~;&q;5p1ubK5Xto85(SeiW2=aqp~T^OS+rKNNW34Opg?%URGy$!p7N8c~kf4Z~)X>CgpZB1|Mc4Q<|n ze%h326wg@dY0bn_n1>;U{?iK6e8Z_J-oLxTqGob31q=-IGrzn+mw};44m^H23Efy@WLBdrI3+LlD`PNrjd<@v6&ZROXW6{ zwxk6kkH>A5)w=K!cNIlmh=OMxdTQ~(l}#Q;!ISlHT#1+&#dPmuKMwp z+vWT-><58E+(*{0|0?khu3vx0yMJ)3{@tJd+~)v~fp#+asr|pX>`VXala?m&9^u(( z;Neg9144Fipayk{=9BU}4XDAAfXSbJ{As2KX6!wizx=UtuKx3LlVZis(`IoJIa+8& zbkQ%wqi0{>R^|H1_RycC({J!bK>h`y}y!T*npPm#Ya3r8k8FFx>`k(8#d zNYAGRw9(B(cB#ISrn4m8X5jG%KaHlhB;LKi<23*@n(mT#)K}sKg*2M}l6WV9w;a4!Z#_r3rx}f4uzjk_z{I$ z6#g8{BC5o{05W|)Qg}$+`_=w6K+@|n_C%xF(}0j$VvgEhfDj;(#FqeppSTDRqD?%9 z!5KuJco>j$9#Z%vK!_}{5fE9I_zgN~h$itRKsY5+pk0m3T8CvNS=xGx}4Xhmb#n<3J+hIVi$fg_kQ_qHv+YS5anR5*&~r=_~&T zkm260@XZRb?IP}oTVM|$NSxiFuvKAFVO$}A;C&d7dz-eMB0sd-c4>+Fw?gPNs21XH z+a1VI?6#eG0QR8X#%kC>&Npbl3+y+B>=%XX)K?6K=XcQF9kP#w>^}+FKN+$w3eo?^ zkpH1capMB7w~n-YbnUiw+%vgj+s<`MZ{50OW1IC@x2xUv>r(nQt5Ja>as0t>-}-p4Ac<@KXFu8nns$bP zv34{!q9>!?)84nfAMFPX>G5+ODmCjcEFA>a`1``kj7xZ5c)!xA(*W~KJ7|NmO)4-x zy$SZ2$CO@7L$!ilkcN8uG^g5Uj;LUg8lqk4#Y}%dSCyzinCgDGq|)1<^bUmhL*HV( z1fvGOl9tdua~$#Gf8+pu_5mWCf8LD6!2XdrL@{Hd^Mv-m0)~0yNVFlHMrzO>Pgj^N zV!2}Sc=VvW2G#j8E?Bq|5n^Oru@3SEoU;}XAu#2OsWwkwN0$i83}Q9)O)+{0B3GEI z8v2G(92Vi!!^6-6JZ?9RE->^{eI$x$^}`5b*K$)2%P{`o+)<2=atusPevVSWi2l{U z>Yo5I4VWA3(_K?6c&@?maxQC`_3B>$XOskp_##$qc|IFUExHqkyFp8H_j!%;FHIcE zpe!>~@qwTif0`Sx^I(~e-P?5(Sq0a|hs;#w`bV*PhQI3{r5Fxi7Ih$h&nSXdrS{89 zgiPCIk|w&4S-7P3=Sj;-gB8iO5J_pC*&&nGFTh4Vun6@cBp~&$a~(BJEun)TWDoLr zxah;hlTf=49hbm6kB8qU+SwzQVKw#`X?i;mpkbiy&N6`Ex~|=$5)PWQ_HnqzfzI2H zomCsXcc8Xoq%0Nv7WAcVKaLafawcB4#Zvo(TX1Lt33-~|l^CRQ2vjufC@B^$u&J-i!k@MWyRJ!UkDAt=Z(deGsUseI!M z{Jo51zltJr`vc1Gffzhd*l^2R)4!>kUg`D%oOz|&FX8npypUGA=G%nhqhc4e2>AaL zeyIoWF=9NbdLELDls1m+-X6V(30 zf9%JQY=130I8VpDW1K_RAH+PmA2_&o>~pm9yAFR>;qsO%NkvW4z%kG><_5G!Fc5p8 zX*KSVlyNTdpK2c3gFPP_rC&6Es{vgw7~x4g8jYt2Z!h>j?XTVg2(c%cjXl9}KmM=$ z5*_T;HMJtH5q&2B}jnoUsuS2 zN;}7!oR{!^Uy!K&Dbhsue^&T}!d(j66*A9Z5?AAg_*W@pMPj<*fQGbzt6}Fj-{uR) z;lXh`n>Tp-W`4-NGGw0@vNLQj{6|7|mhhmzj;rN3jTz7BQ#vw+{?8dU7mXKn2z<@X zwOe*<{J6QF?CSOFakyuD%QYOKPI3>y1mn}o?Dg;Q)^oS5yJhEQyu$Nwyup*d0Zpz} z@JFhp#;G$oA9IvU!r1dM*3K~u|4@d+Ojo~B%aPDSxyhTNaq8sfV=SGxQdo{cNnZ8= zYQEzuZ>Aatb}4F7A?uM%8=a;*4(!qR4*=GfaQ-+@Neh1kWz%|00|xcDIp{crv-P@O zjJ4GjsnMu+G031pOz}|rI4%{4KG-litKp=aQ)yD=2eS^#HQys>%q;d8x()=b!bX^7 zMde(??o{n*leChry=L<%tnWSq?hNqS%9F zoeopY!xkvLq=d$30`y3uwbG{>BtNCT?*^r3%S)HiQ}WZUf9;5$ZT~P}H(+ocW@(Wz z{@J{+?$d#+e;j$v2EWk{JsG^xfYtFNo>Bnhbc}mkv9kzq!v*S~x#a@Gxu)`OVw`pq zXbng8d4zaPLMIYjj#fnH{McwqhgO@lEsY~vw3PP zGC64Ch!DZ#Ed}hAoyZ+BHN1jD8x9cRA0utqVQn}TqW>MxH>v=68rY;eE|IfWM&wA* z30zSXeX#L(*%MHABOjbRVMBE%xADpkAeBBJ$7T9=Jojzowvo4sI4$TpsE zcY^HB6J;-A01dLZCdKU2BCXAHfoTo}VSREX}98&Lsf4LxxtI*;KgbbP3sGAbw0OflchR9g{kN0F3A z%1DA$V6;gXqNKVlB}$5xd=fG$sQ~3zayD4EvCIy{;z}%oKb{<+9I+0gn!GWnLDq;Ze@(**ugjW2fTd`;;W&BJOC zOCA0wKN^jv2(Jps0}F{?qH#omRt^KgDZ%s2gl_`G|HS?9r2X9re}zDF*Ky*?3t`9q z>ffM55x!U9_rL?~=#B)&0pZ0iO5oc7IWI~AiDoPQg7YMJ5zjZ=9|_v83E7h&d+9BK z(&tu7jEg4P5GZk}K;TY*Frl`scr4W12{7TkYZJ_Oa4#EtXj;#mcrU;oz7^fOhCG_t zeE`T`8av-fs~y9UGn(&k`HqJ4$P33|_)kj*fi+W&x40rl6PI6{{QxntmIN^^4~k(B zrkd~YT?Cq>{F?Ws)Ja^XJKsqoex|DnkaPZ0<1O;XzaV{Br)4k(rh93`80ia*WybI9DF6Xbe48QfxzdA?oo`;i}D>jd> zZPz)NI2^01*(iQ-R98;ZE<-QTl6?A zLz#>4Yl87>MTVS2Jt_>~)?_-Nz2EbFrUwB%@{Cs+@e4)%bQ_kqWA}>Zi_tY%5=3ha z6~iWY;AoNwEfM*|sthp%%#bMX3;mn+e4jEzc=Hj8tu!lm;j54p6Lp>y!y3+Afpj6o z68sb+6)`1}!OLQJkrWhjj})eqGL!_E6c(k__!kpp_HbA#IheZyws8KqQc@s$-q%14 zJ72EX8*!o6m15Q=nS^3i-sLK@pexLNQ_7}PchiB6$wLiLabO3^BK;@%9+X8R5@CB$ z7Aa$ODKJy@ha9`m*!ISsZ>Kw@+WlPUMiPes@qguApbn43HiZiS>CQ+I`Pp1V2=+tl z^n*;jF=VG-&|luYmN%+Pt*w>reF)O`+e_!V%rOzS1W684Rg2;Zuya-*e zFji_^i~@+n@dv~G+sWqnV;ttg#2E(0+HF6r?M#aa2q^TzjIvajYw$RlK^_8LDhez6(&f2%6WdDE_; z#UyUuiqsdQ-eP=n*0&jqU|!jSso6fxgu6_C0-ICkVN$tICd2!3oK&XedD+|dyNzEo zST6O-5&Tl>LZ&Z&HJaf#F|bintVhln<|~|GzG6sp9*$8n+vtsVo?4yuQp5FT4By~J za9a*<(80|)I|rP`haKE=gIjRi#)o<1jUH|qNnO?kO zUBt489hdX$!zDD`5YK)rtn9;nR=2%9JAY};SyAtkAd|m$2Wb0O$h+22?*p2gV<;3z zP8Tl6uSk1!6$g-Ed$~R5UkM>eV?F}sr)Q_jkV;^!>p0#SMI#W9or47ur~mkGAW)}wSU~ou06D2w zkJrCo!y9V{0ERLT;1{uAgu*Y(XBpD&)wA5YS9TL#U!zPu!Wc#w4N zYIsb+`oAe(Z_4w9u@*y<9Xa(Q?2z}DQS}E$Vn~_Dt1WBM?%|mpC-X&w@{xZ4WTYYb z?IUhKJ30d3Q+N*E{z%a3vwk(dQ*+ zY>DaY=ND?({h%-b8@9S_R34}vX?f@zh#@{HMz&(vEVRv~=S83*zup03y$12w3O+yB z*2_#>@67#hn8i=zOBDm;i`)CBE>%}3lLP25ER%kzvMd<~XOEWzXW`iIMprNpy8lkBW_mg7w?aMXdfx zi4Z}F44H$gOECB~!yuc1&ORy|ltu66kP;M)n;uPm9lFxAmth*y$OM*rEKxE}ua{*N zi)F0SczlHA1h1?xpEwyKaPK3nw0qwGKs}yT5zyZ!;C|M^Rl5(LM67l0*I9(olyw8R zy%YhTOab83tap#t{{?c|B~CBm(t>vRdIBxo27EO*<9O2Tw?& zV`F(k$0i_qRDd_YGKG#!fOh}@jSYUm0*;g4*MrYGEWir5Zy$h@xfj2voA}+-5U<$u zXay&4wt7<~f;9-ftU&;1Rs+==4yfLo85$C%MTTpRwI?5UJ_1sI54d4#{RN?pRpE(A zkAPN~^n)Oc+O!{DsCUFbr6Lb$@Ad&K+>1zDBNA6c0zu+l#2e!74GZMyAm_T8O1@MW z!=HJia3WS4l+{xdV4H}Eqq%{C(OgFI0u3!#(J@{2GbI?;(?Jzq5TX})OabJH@u1`w zf}$#N1P+aZMsD)E#k{l$$Tm-!HBW#BXO}oy=E;Y_Y{!^_JEchh~ z9E_&FXg$0JbRon@kK(BuO5$w>-af@sd6dMv7kKg0CSH|G5#B|>c^H4=ibwf~sr_%U zJI;FVoU>PVzHaZ?p1dJRck;<{ybmoF4do@q;{S1H`CXV;5|5|R*;>%3+=}Ag0J&nk zmADG966+uf0YS3*1UhNLKENpauLOiiEK&D=H~E!#3XpiMfDC^zAnCnM?VN<7@F!k^ zBc{-aubK2ERsn+4%Gqi^jVePrACsyBeJi#9qTIy$kAU?5tlB%(PCYa7^+#%dyW0O3 zWI%kX&eH#o+P|xI>Z8$rk=oBz`={Z^ble2UbkwPR1hOPP^~x}HPkaiHc{Uej{(y3P2**%T#4H~SrmF0fTp5M{ufp>^FZ;99$stOXosU0NG(Fc_8v z@l{Ky8xGC7qAnCpYh7`Vu?d3{zg=(^~D3s=s5mhxV~uDz{DZ+GpcsG4`uDB zGpslMn%Q*M7k3Bfv1#Z-<&ttY!+oeOr4v_Z_2dRDJ*l?p2{6?@)P6-xD%=G+rYSNG zsQ(+(OF#{NWBdx8zo520{zte^whWN%#%lZp4byA?g6`A#*7ZP49k4QoGupUA6}O^d zShJ$xRP-*kDsqN8tc#a~2Ue@buu3+D^`n!j6Ye&iTGV*bE?x2V9U$;J0_y!>A0c&; zgHLGZ@$P1<|HbnPdCIKjr(~fz37D$?UoO4iYp-eeqJFRmR6sOAVt{9}oU(nhhMxf| zGFVhl@jdlRhZFI#$<|K9FRJGb4^a_iQcH?H4^V{v#2 z*spb^?-P}R5jQDddL~=fuSDle6K7$9v36VUOt(7yb^TAH)2AUlhFyR`gp}W+dZ+99 z?D$~9=d!vi9pfF@A6hrJe5p6WPp&_^KSb}S(%TRIG=EhBhT>H9_^8rLDg&b-{-#@x z4?!BeipO%V#eir+m5)9?moEhcY7wO|Fgf_+=8dLh>`}{r5`xmCl;4p%zRlYk(w@Zxe}f>%W^E^&oEb za;2y&k}NSVp7~h&fHjmkrF^>bwL)?@>hZ{tPh0|HicGaniO*!Kb(EE6_8 zh86w!>t`cZaUGSPy1m~wWlxiCEHR1OCN+@lvxJhL`NhOc0ajwPgcGo8qAHj|6#!f0 z7m4sIvPn(A-Q<*!&IFS1I62EFu`mN&DT0gg386a3p6?s7rE_nBAf~Cw2bnD2)|duH zQscKu={A1AwtG64HTLi*M;g=7?F z_I%&Okx%YXiOcZd8gW`hpJHUgSe5MZ6(JjL^OVUoD*$1*{BZn-6j$7abp^mVdj&Sj z{sin<6SgU9BIG4zRkEiDKiNkk&Ha zxZ~|g+k!wV%7ihE23YiQ4XaIqrJ~Yc;p|>q(^B)W%d5`H~#q?0go zY==mRBfG*ph9etdTl6E~hO3A#M=X%v{l$h=6E&d4m*Gl&2TXe zgEg^X*MpOeLVZ6u*F5rj7guq2x1)FbBq7a!{NhLFk8HvU%v`libg$MtU6;4>PhTHU z!*yc52BL{ZKn!tL+WVX?!-yUB>gTX1jg~sG8n{e+`4(Q8V-`F9tF15Yft+cqp1ZN(w`iSX@^y(W4H#Ew z*BAZuN+~|-2{6^V#C}ChDm>Hm#Q_vrmaAdFd4Q9xOK4Ox0uIxholVvOpt;VIe4mhMCY;(AvJEjPMiDe+Y9duZSMFou*&Y3zOI zg-eW@pTVjm>6xnCvFnSrJcQdF5&_Y(NjO;Vbse#=r~?P*MV8J)@Aq=6_KWrTe0|L? z5dOCHrbi`W*X6Ap&EgrY%dZU3Lpzx_GpsjBr4v^QF*MHjA8E&rdZFaz%~bWKRRbk8 z2;Vm)J!??@H`s5&8vMz+W@uf0m&V@($g=ahs5cy{nyQ0A1uM)LIg-Pjs4%lwVGhHA zb;WHM>m0^W}K56 zEvWEX4mH;)KVzn=d1m1eJ*Uj zO2*cEYd_O^UmKwJ+tmBC(ur$+&C_~n>m8hDRPQ$^y`<7xuJqK(`a7+9-=X!s8}K{? z{vFnP-Hu~z8Oh(v?KYe$s{5mbbsxvr^De=<57%JbH+U1&ec%S`zQLWK?gKYi_YH2z zx<4YR!7+cS`=i0SZ|*S<)O~dHrtWixk(PYj50F9KANA}0NI~6a-fDT&+_$+s^*gM) zwEo-jJj425RAm{nZ3kx3?=QF8gJ=izO2|O%FTF2#fT@i$#;Nz?ZGUL%zqOxf{g0@m zN$VI4VC6(S7LX(~~)2;t(H%N--XE`qTUDW@;UVOgZ z%Ps#W7_-@OM}@$K2FJo^98NMB*j<;3Z&&#~Wsr6IU6Jt?3q}i#qu8bo?2C{LF1Wxw z{`hI&RTsSO1FLz#-Fx~IiMLw>{0oT{?DGF9I#7lhDR^4~N|WHJ5ecX&$8*kT3ZxFt z19G7Hn*7pSWAcods^1>adTR^G4C}4EbyddaCHw1TrO)LpxpX;vXz-r#>i4#6-0~5q z4PYCemvRO6@=J}=r6-G<^i8#ozd;LaTuZ;T+xlwj+;sJ4eywy!k70S<8A~K3=C_mY zL|q3XRbqOf~Lbp!AYTFCF4WJP6yZq_&$hxJ!4x(Nj4r^PrfZ&o_kB(3ZD4bjyfB!7 z%^o2(M+OU?P~MySiZb(Kfj4GM@T$yepbuqs;1_>(#x2BqzVuaS%RWoL*qEE+f0w zX&-TsM<3a_5HGHu=ge;EzchMb9T=BoA`eqMc*@9EK<0971GFBlBgLrx2Je!@t{Xp-K@~i#LEX z_8>S#7)$Lfxo&(BP@?|2F>P2k9zpmL>&9q={vio3G1@*M;|tAH{Q$3{p|R~-xF7f> z$}|2azK@(BC<(UL3=cs2*~p$UpO_&h= zS#v%G!TD>d%%gQ~cI*+c)lL+t9Lh%i7H!+rDu- z?_^vT=+R6{O7&~2A-G7~_)|{D3leJF?eF5Zo3D0;fw6Ymuc6r$Gu?je${K@DdTg(I z7Mk`NmJZ`%e*JsCnQ<^-{j{{wQ4r~STj9hr+{XL#mY1g2u7u*oJ2C=#K^o=iZoyRj zWVfYfWeYiyUh*RUe7H)~P@JltJaB=*>ri^}1%>=gx1a1n{BH!Qs?AnkoL;8=?b%HXyq`5A=LnANEf6R3&aEp_f$|{n5CxHNtqf5#4ojR*#=6-q>yi5h!~*tb z`%JciyOK?OR`^WDLDeuh4`0G$Oq@bY5)V-j2}}}Y3MScZK`Gk$NdTB2sLVWZQBgFAlxYS3aSBc1+$05B4J}@wY>f`uPjo+0b10m7{{1F%Y5!3Q# zi1)XSQ-~~d;^9j9!|=uN;*efvKYuZN`$N<%^u`sJpAQDxGIafA^rF2P2Imb2u0hXX z@dv}6CgUNu3sxgZ4Eb7|uqtyJ9Oc;i(eZgW&VU@oahBXeN^XqgmVjIdGEfMSL|Cr& zD7#e|hC=)b4O6s}Iiw3G{RX3tAR!kHq}#G4u~mDrA}dL|jGO45dj{jCCBN!hjdq7a z>+IrxhoswXkEi(>^TyY*Xr8QF`!aXQgqyqT@wC zdMI-qWiJFWBM62Ew&CD5#8vBtM~ztHo?{(D6k>K1d^t>5bd~4KF64Rcmqi8c#c*>( z(@~|cS!9XyWi)*#gTgq|mtpy0`sBkTNJjVMGxtUeP+bunZdEXaVYskRnKC3HSeSA= zjcRh-k%En9;NiSN7PXE&=FVNuOt&;qd5=VA- zVIdvtm@?tBTjd=?sOZHR0e5iVz2sN+DG1zA1qQK-go=wwsA@snFmpZj=ny&HeDIR^ zTt9@i5Z~|Oayo$9vC@xJ38+( zIf1LU_>tQwMW!7%oud`OGT?d~5_AsA(QpppG>Y{@ds3~VY?w?0QkH}iuj-j7eLN?l z1k!DLgm+7*tccK{@FdX>%nI_fLWVNYz05m}eH2MQ8hvC>19@_#M0P%h#`Ll1Bln71 z*)WvN$e-_U2v^tO(iIazq>wL|_evTlGDLwmD3~AzRw|-h!0O=(A;3oGIC{*t`kshi z%IhAFS>{THh}0x!Ogx2|(mj;`+I`}9=Q9vXSUw?Q8JvGheaJH#r4kKM#;PkZ6X+clq{`xfe+i;%1H_Kw$2Zw=40qr z8O^Yuqq*h4G+oib9@5D~SkO6IMq9%{V}VD$n>B6Yic~!6c~Zrtw+!@V?6c}HOhlV4 znzYBk=1^uXsDn0=#;+BUim1l{ll01MSvsSHN+L~1#Gx1*aZQVKFAHBVJ@8`~%t<$7 zdQI)8UFk<8iO~;H^;i1`j9w@`S>4(ssSfnDruX&w*?y4i>>rTrs>}$2g8Ls%z{->(^(>czo*)E!98)cjQNP6R=1{d9cbeU-H%DXfR znSRMue&qfM1E!hvQ8yz5oAvvDpE2`UA@3;IWs`asa46G?ZzzCO-maoHmL&}KTB!)UIZqo2bC!1(y}OSp}Y9AZ2m)1YVuXRMH|f3h4_c zwC)#*g@Y6Ab#PDsaR(m=r@iy`IBrk=V+7Gvtf5Q~oH=<#xm+z6w$ygsJ`W5tN^~iT zq*ve2O4f642~(o0QZk|FP*kL)$%%T8GdoS@YX9L#W)+uVMu?j_LCdH&Gv^@hJ(;mw zi8h`!<|AapFB5Fe@@2x!N-=jmCfMzzXY|2d3Sw3-DW}_BjUHTfxxLFA`WbCfmt?@h z82zaI)>eD3KSN%ZEM=F#gJtH!sP-%<4sNU)rt0PsjN=`kVaBtL zRAX0i3)kAfT}8^4Mj8?sy2ded?d+EtAI&gsbPQbOz)X0EBM44+IH=Q>bA}_iKC}qA zhbj%vrn$M0DY_B!EEQE1TZzi(UA@@4F>MUzp}05)9GeN`rh!?5<7IBvxI7Vk zhSA}UA8}{;jo3Oz&vJW((vV~u@bZ2G@RLLtKdwSOC6%VaMZSZ)kLqN;g719Cz#@AT zF6dD?FmSU%RhH6lK|QWpYM6%=Kc~D#A_d`r|2ZkLpt0`#J|Z5!dvU2iUQ z<#e{BBOaaYW4!>UWII5?F^6wC9QXtZUT_rSdX$Li4eTtL;*8$S&5DWohe3>S&_4u+ zB*ziRjx&n7A@&pd$h?;k0ec=Z5W_$-gm`j4`zJmxAw#D0rYGkb8|8~ev-}>gtb-q2 zaPUVTCMZWA(xGg66hUdTL80Z>q=OwZ2ntVxo6%rMT4FN2Hz%q%z-KmJ0&RSX?P`Jf z1&9$zt-N&TJuFPdJZ3ryf+WGT;cPOSwN*4dQE-@`;Y=rUu@uwj9q*@<%&kzaEU?$*v=C;;KcmYiaI>$i9;KdZ*;; z0p{KrMKc7*JPRHAozrDa0|+l}$t$?QdHbEe1#b87dyx`dF2MmEyNPbbqw)Ct5$ zKUXjeNmmFvnLP~CRm6-Xe^-Ef2T>=;Q{h|l)bM@VB+Sqc(;WOd8B%rS*D&J>OH=0Q zEt01PAfiRG4lz}pnw2P|6ZLWpvN`RVp2j^V4V|j=YpIhW{{nn(YJ6NGxtO&V z?UWTV_K zN_ z*r5yqn1K!h$v_9AZP0UtUF?t+40GneXDBlpzf7$wUn?XX~knVP2I4R#A6NRB>o!8?^ z0;NZwqbsz;%3!+8?|nR1U3lht;l{E6tn*)hi(hX=-a@Gzp}*9ysxsMiN4gk=_) zuozG>e`a~aQWA@V1a5#4LX4AyI{W!mVHO453_WKFXC@us8_l2;&bBPMN^cB~0_ot7 z0!au-W#7loeA4#8W)}gh2N}y+224bkA>ivXP7rfp82i#&Y_ZI7D>#I5olW)O&LSOs8dcy5QcwA7!#6XD}+ia znc|5ExSf`-;H%+pQg3qEq@IN&>h;12VHd-K4GuazDB6azL_yK7;3VOA_4vh51HUBH z+0QRj@FrN?3_WLwXP|;N?8B6fWD9CH8OYaeQqkJYPe~U)a$n#NV+tqua(Lh=0myn6 zzEBAAJDqeeB}C{j>RipFRh#u#t2Tx}b!Pkner9~nF5c*VcO>%h!+_A?>v#|7;*a<2 zemoU1Z*~tcHOBbwbtgA}`D5o?{paTHK0 z_2v!>q7seDvFM&ZvauO|2NX}`SrYGF;EgJt%C#ik!@wI; zJe6-rypzBip9bD+O6ON59V+jV^p*iH{gS~`xtGLSLwcw#G%Eihyt5&gb5VRo-zvIz zD|ehPdVSTK0nw!;4#wq7)XHxIVn2N4#{scGy>dHX72syTd4TT*#K?B#B0$ocqjqX# z%!Yj%R1c8XD>ng>&H_NvIUkU8-T+8CPoTV!&iepSq^jQwh#oev5BdK(z%2^v6wU%< zd_Q`F377qSL+=7WhMy0J?yvfJL{9s&fK1nC0m;W^K*qZckbGPUNc@WdF`Q4l4iLkF zL_e6N``-bU!~PjS&`bOTfiSE{9K!6A{@+!&OJTc#i63J@gZ^K~(i5CkwgJLv3=|B91x@vw<2+*cL0Hi{}F|26~0~JEI<^m#B)HxUTxwrK=QL25GK(E zNdG?uMAjrORR3q;NdJR?^uHfJ44(mH_*y{vzZpL)2SmdEvqxYj98lP!utQ<1!lc5u zLI4SeuyPNwZEv~1%zKe-`&vc*V7Kk*67{$3CmVA5+xBudzG=7Z<2to3jsp><0e|$j z?cY`S4(fk@AO3Li&EJRYPlfEyhU`m>eEsn3wuAJ}3;FL0`F|V8LHyQ`|FMw&pN0Hi z4%vDCNs!)KLv}tF5cK~|$o}(?UGGOQ_c(9guyxyxmbKfqt;Ibia{sEhEEV4Z_gmNQ z!VxQb>+`KRVkNe~bWxE!);^ zxn*4`&w_AEZMX?E^buW4+lEbr8vM8HT)XY&NK4zg%{y9*9{n!p&u{Z@kPaLapZvzz zja#;_+qPrl)-5gDDJ0xTy=~pv?Hjk;61bIi0!4jI>FSo+Eo)oa)^2WV(O9?dxTM%m z*vtEDxv8b?rcEu|*R9>ww!unJLlua}k_rn{aq)KQ+FRQ<<2K!!w|;cX(iV#za#!rl zTW?ufDiS!tYsumnpU=B|nLTyedhT|}U>%Mzw12GSBkS6BY?UWm^;B)Ca|{PqpyT+1 zVS6&!{nlN?h2i;E8f!;0eMa|aTo9m#COdD6&M{1W|I7lV6ITj6uZN~R(q!6qy22%I zraC8(R(eSdG7oe}&lA~Vq?Iis=T`p5%XFcg9{=W zmm)-Sh(3sDT#69Q3Hl(SaRH*-q>bA%PUfz_pwG;=QYTlWMx$OLm;`h6HZC^RrPA;{ z+`Q^8aOgG?(ekFbn-@2RM`9)#zwg6J5sfXc;qz7u45Aa=k5jTrGR%bcW=wEyY5Ar0 z)UK`PMOB<+f9rcQZ27nK+}h8yp8uP0W!jD3rk;-~ow&k2t>>(tnyE9Y=am{Lsq~I3 zJ+-pFPOF~BHGZDo$2k0VR?k_-Pou88JI8iED|LKl;HD|5AfG_=th%R7jXo8q<6O~@ zYMuAxbrH1$<+@Ls-T`~ zd6{uNJ+AfCmbWvir}-*1@jX@()XydFSgaM4^>f3{VBgC!RjU7$o+(aW)BkoArP}!M zm*t!$uBF`CZN0R0Yr5wM|4!+U9>XrLFz>Iz(!qGFnd;o%0i}a!oS0z{Q&z=p`BLvG z&&RV~)5PUB|IT?U_*3yHhC!IBKWDwBNy;zQF+%)Jx1Mi6{7lzAz~z9G_2&f)YP?ec zUB@3o8UqXe=AQc|lx=L9tp;$i_4vj5JAO$r?PXf&i!E}3wk$nFM+J-5{Dwwvc^ax{ zWjNtcbwy>+wG2ChRanj>nygRqV?~A$MDO}CDrP$Jo?yl#ywMu2@)n5O^%+8}C5!BgDA-_i4Q1-!K?1IPxgOKINMuE&@ni5& zp}HPXXNi}&UTrrW#*W>iV8-kHYQt-=Z>sXyP_N{9hS|1+e-dL_>%*7jb8- z@H+c#fWdVNGQ>Y?u!2~=J%{g@;2xEwi_vq?pnu>* zx9}O1lKsO0G9Jet%vAHUZU}?Mj@zu=_7ApAo^Jo}M*(^TZFo`tF!}s!vC@ePclgov zw-r$HMKKJ*RPFg{#ZD@{_?fon8vic91)w!qd#+K<2n6S6=Ix=O)Ceg+gG5GaSQq9u z_I7a%SmOwFsZt}XyHGzl&c-)2Lit#9uBYi-X9R;hb3@Wew{b*NVNNU==o;+2{Y0dz z;V03()Jx((@T3Mf5xuy)EBe_(U5!7vGxd}GWzh^eu}ChRC&}xP%v{QCJRxm2biUDA zf&ecmI{`H~e!4qPbRI#&{^WlEv%*G7Q zrt*A*gJO%(s*!7;PUkraBr;DMDnHL5`o|Sfs4EVo|#Ml&)k`M=Kp5_ z=pfljAp$7`M!;I{v}z!QYNl#OyR{v)^)}p&k_?DWG*6v;6%Ju%+}>S!soo3OdM@9F z+rE9>f9m~i8{TCEW7|7xKhyT^?sw+tp-G4=$L=ZiIoMux5Lh$iy%kDlKm)XbPqw{% zphxv8n3=VAD@>qyS|Z{r3&+>f9lwquer(Z1`mhmD16slMj;#Uz7zKHx3}*d#ZMxpQA&FOnm)E;H7uUPDFQ|9d#p~T$=jrRnXaQsRT>cx5 zMdZC?C$kI|s6jwEOkBx0lv=!azy@tX2ag;({YUBO^zw>#sDSkeiV5e)%M7>+gICYj zJM!KIG)IUMJ-F>H_+%jGo2QY{YH`0g3X9XbPsmu*`Gc>b*)iwh-G1Ss3|CQ^$f5^7 z@TTY^%Rc1vZa^R$4Is_lR{wkV5$;7nzg}GE9(`~p7;X|fU5))Z-`_l}>`Dly_i5B@ zSLiJgm%(StoL)Zq>k5fQ^6a$RZwL#hgWe^G;dT!L7Y>!Z>hzwFAmncM^M<25kA^!a zga|h&XzmMl5pu~w7 z#MRhE3?`_M?mQH?^BiX=UG{4y>KYoQeXlMz#1{z?RNveQ@G4!2dXXm)W(`9EiZb_5 z*%L)nAk_41S0pOa0ZKtmJQ^vFpwBTvdo_CZTk=9%@~C;E-R%{zJ$r81i%wR=CcmAB zRy)FjYpuHviP*9foAVg7j6`r~3$l{=Qwi>6+)h!x${AQyHeTx>$s+x{L<+pqlZdVm zabnq-Dur^$h!(zBAUL6sE*mc)xF=+qByagd52oMT`4Uv@-?slKTZ`orG8mnhf@6+%}d*wnQeQ*p}!S*(N{#e@iMS9^-+IeN7;9gxM zx~h*M*rU{+Kd{OfS+#JW-Z|`t7)4ahQJ*}CKAT>Mi#M?Fr#z7xSO&m`(={edUn!qc z#)oM2t~@u?(B?2KluOI%aj3<~w8PI7D6oU}xmOM~<8^qcp_yR-QwGtlQywdJk05;1 zdmB2LJ|ib-lTGm*e7S6q2=tsooMy}FK^ayLPz$>dnBBxCDbW>F>q9GO{5p)^JmWX7 zz;BoFLlu<*?UsLIaQrMMv$=$G+2Ba*_r%Bg%L5`qyI+AEBzdmahj7t@wevg2&x&T^ zNI)O+0gNRv8E1`gm)&E!4pV_#dD{<4i3`WiKhpVXB$|0v@B`vrBo7Q}-Yn`m4=Np< zxw9PaUb5Jh5r8HYeGR3VE`w^gc_vCQOf=AFq;#VXew(=ufwjGadIj-}!-t})H(6in zb}|1JNl=(#_4-gPSJZ0b!CZgXNJGa@UNyU`YoLBdLrHV zGM;LB7o?&+5E5@vt>xy!^FeCA$qv>Wh{I%#yo`uMv$WQ^_wA#M?qeCnfN4Q}n{;kh zxitr6{A8^c(YoCCU3Rd}?cYGEPNoN(+1lR0B7qvTPux85LSKg=C?wqqk8a~(YHqfR zHav&vN&pO*I^cl9VZ@!?B{spTcjnfBXYqHgqtuNrzHy`2nwoi(cAax`&4M~-bIsy9 zXGhKQI%Go>>D68 zsqk02@A`X;JQw@c8d@PW^}Xot>)f3vUMjeDre2##E4U5fCMCpmSVGXZwTfHzDB^TK z!(xHqlQ{K?)3>A!b)IU+C<@LPDdE@Yy^g=APIC2wlU>aaSeSJ)i~{PcV&|z|BWy1T z2VAlR2jL549G?<3OF6!Ykj6LUeVrC>N*DsanF8NTf$xC8*VLrz+$>okB8KEy#>MX@ ze3K7;x8j>D@_U2Lly*cTY3h=4gu}5cV!;!h;t)dGuShs=XU5)PDpLG~3R)>5(ZRF} z`QgeSGz9$<)Tt!fA!2=#eMsl?9FM!puz77dvI88ps|A>*;+d&I+av6SO^f)lZIRmk z4|{JPUsrYAc}vKENKCHikQq-)9+cGSNHtF7lq9Am6DiS6u2U%y2`)|pv8aNAhZie= zQ>TN9l&hQSZMt$psBt_-xDnSXje(phKkz4qE`uf6vB-s>E+7E8?}mr}?!rgk#XpAl6K&wg@y z+o>_sVM>!UWy43@Rh0y0vtC+}1ZI4u+bjvq8T>8RQcQ*`iIP`zw0OBi_oNoMCxu{| zLG!^zCV#{6k9S<#ab3qJI(8&Sge&g>Y5t|T*S%ElI88gcjk(r!&GB{XQ1d3Z(8@a9 zwCxx$L^GFd9MHCAa8cpgZLHJX!kSc5XME*7oruT1=tZ|RWv{#k%YIXLGGLGH+oNah z4xU}n_>Bhc>jk9l=ENVON)x5KiM69>{93&2lYZ9kM>%t=OQCiUbl@j=jgq_8S~jOw zwFKie_s|-N<1NFdDdW_L&H?C@qKaGo@qYOiQ@h;H^)rVgER4(ast${z<-Ew;U?bFwEBUBq$T0Or~18CxkK!ic|5_TGL~5>AjL1SlH9OwR>-W z>PcY*W}HxNfC1)Q?q;5jYaXEI<<+11el^_|kz);>S({b1y#O)@2Bnxvevg1Oz4FnV);5+c_C~WRw1PF8CMR| z?~q_0^6$&5z%!|bFf@0%$(r6Wp0uQC#HQ*m~EyKb{ z<+qjyqjjpU3_DGnse@~;D&|XFOuGe|tfR|UG)Y{Z2 z+>|olm1WZELQWv5EMw-CH_&RIIi%`{C)BwKR;f>Q0xj-p8J8=mIDy`Tqc6jRs-HlM z-4awS#FbPc!)vkRp}s)KT<$2(P(9?K>LIUCp(+!Yv=|STV#q@=$Jj`!mQ+wN17FcTE7|Jm^=p(!cCd}P)US%NM@cGF?sFwS<}HZ&)l?Cy z`F*Cvu-I-acopeed(UgAA-@T0CI~8WMSi12I4Kg+=uP>I#^hb<8nV->mQAlDGS(1^ zq-uza;A)ZiuDpmN9qv5oZQUy*GgQv;%48H=D;dxJ@L>%mKJH_V{{EHYjby!doiY=r z8AWbmRC!%bd>w<%-R+(6;O5TwhPKZ5mKOAJ-LujiT2!u>`YWrzxki802xasX(wrLM z$vAtDf&2h~0m_XA^1brJt}Gz_hFTO>lv`iY>TLc?_pDK6h{hWYXI!Z9H>5kQFLm`D z`C$I)&ovTSC-2>v*_Y0Xrdota6Fq$BN@XA#Z?ZTl&S>fq1;%;v+7wM)hI1~rou`C< zB=-<+^+$5QFOMU+-vcxp$vp@-=Sc2%0p}jc{TINRBf0+!IR8lQ0l;}ja=!z(;7IPb z0gXp;UkAMYNbY{X>yG4p3vl6)+}8kWkL11zNFB*d0N#*#*zEAqY#iZLAv6%pN0@z1 z3ELd!;1C6KG~f_bbF9Ikl+1B14yA66^KghGbDWPuT$-a1hd4LK1vr!&bG#0Ra%hg% z<4~^6u@;9UVU7!NNIK?F1|%_aq-aOSaM0cwpjGAjr@j-wqJG@HkZP(2XDIQ_&Y~UN z^MuTM$N(Y476PrcVlzsr9s<>AsNyI&kC0%FF<2VXFo?ktUliDEm_o5}XZUo4-{|x7 z+6g<7`+3?03Pfk!-f$$h8$i+B0ift^2T;hj0Vw2815k$n0P3&{K(XEmpjdAKpa2?9 zp#V1lP?i4xKvi}EP%7QRtV3dgp~w|t!c&n8+Z-x#Q80&!+y`lBhKgJ%S%`{UshdMZ zE{@EhA{UqDP?3vsbEwFb8*`}0l|yr=$dzkzsK_M=bEwEA9doG2B{6fT$a`>5XaNrZgrL+?pQ~XtBoU=p4MmtRG#_myBSDi%4`}^!x!)kXzAp7gQ+iR`@SM+A2WEOS zF84uVX|T9JEUrl-NcCEs(eJIHx5cJ@9U!{z%(5I)rwvS>GVt|f0NwJExyDZbn59Et zOL{w>vSoD7rGA`^&_i~U;vQ8t@C0=|wQvq9|_bnRk zxPev=z2@7{7%)-XCm`HE7w&@L<_)xZs;%R_hL{%+;yj4?8E3!%Qne&=;*u#p+%pAK zi$shl*Ts{=jy$y$L!RVKXd9rP6M_IvK=OET?!D@R+y)YFV}^qag`_ zMS(K{`9%R*P6OuZPyK_MqBfURDA)mywBV6uJd(L6bX*})v!RVodboqUC6Dku?wE&} ziw4Nz-k=1RJ?@Z)JIIfDx&t1!*Tc-!l9#JLWpNjUR&4)64tqROyGJrtOJ1)2)L#@6 zY)P8`ki#~Q)a;SW)smMhL<%Wco{F+;@Yv4QI?X&%^S1SJC8Ksk<3M#Qi@cW(t@Wn z=8=XxlDWvQMKb+xzH%X@5NW_8^?D?8QBI{uA*D9UTE5v+>hVbJ9?4vklSO(-d2;L^ z#JrKf(<3!|By&+trAUFjkdnD52aiTqSo5H9MFp6f~+Q6ne5Cd63P%AAAwX8 zjqmu7M-YIqH#vepu~X_X@;L*c z*ex{K%3ywm)*u>UNG#jvs16hdu#)=4Y>GH0#7te z3`E8NsWdyDgK=?S1d;4`lM^(6>Kk+UCdYR$F2;-ab&hX<${~EJ3ILPdBsu$nMizC% zkMd_utA9VulL{vZ$eYkbeEQ>Y1;=>>NAm>Am%wKA@3Yyb&yVK&qc5f9B+!7zETI~+ zE>};S=nEp3Kgx41H_tPqEN?<50i>*8HokdU%JLvdxID-Gr8# zFf!v~0?afFn2SNeA<;Lq{E&w`$QvcJ!Q$G-Xozbrv;oi1(J#B49ppoTJszpu37U%z z#3Ge<^p*qx&SjfNYW7Ixq64u=<$ZROC79IMCXZC-k<3L0Vv)+b-wIYwh^K7Y*7vX)h)m3v zic$yfYNBmi8D1LlUm~DxXOwh9o8*8Uk-fPuy3$EGy8INeuNR{)m^gHbf4^C3-&7yTR)v^6pHrz_0o{Ru-RF2ZTL4e+@wbA9FvAA)MD!Huw( z-S9MFc_d4M9$O8$C2QTm218?VZBg{(9HLn6;B-=FJw;W@#q0~`_-9Jp)2?tiGDgVR zUE_(lN8*~HGh5{C8`u1j<5L@^6c9~y@?@$%3fTD#ozH#8$RECb_{dFt|Ms21J2LML zIbpI-Uc%3QQ~2zcVGf3sZG~WSjpy*Ro^^W&b6cx=jdF|3ZwtE87s5xVt8VJGj#rFO zD%@##TJng^+aq(L10PR=D_EqlA>G3U7%wcW^PD~XI`-6fVR5mSJrjG?88;3fA_}3@ z2{3FK$QEYuLX== z{O<$C(|r5ra(p)A^h{)HRU&(!hHQn!&Y_;BD=1U_e3WZ5Z+ixfUnB3!@McueB#=FX zmidxIzE-`ZUv|2(1YGplmTq+VOY^LvF)!1m{53H&h2Yz_2w*pB! z0@0d32$AE@SvBY8jlC3og{8gV&*`P;8_tTm;HD%v>{h;==HEio=Tc9Q~F)3WfK zx#*${?Rw3o7C~b*P3vUpjpV}MCI-6{Ccp>;09)p1Uz#%U`U;$aJ@iLeR&BzljqJ7dq_m5Yy?tGEDPlppp(gWjBua^pnTlBL z9;?k`nX4r)R}#z7bK-*OX-KQtV>Nj!bG78Pua!>I@iKIpHprG^e3Y*{Md1}qgSd2$XG322b@(P>Z<@rHREXG$#G322b@=7+? zU2eu4Qy7bJXDNm}6hmIg2D`^_=BykU&vRmhLKyHM1H~elbTKIfN0d_bnrl~p?8FE6 zfG8?!gI&f(|`Uo({cOZM#t=j=Z=Za+g~G{ zXk5|wDw~ZZ#0n=tdAhZAm!9=EW^UZ%Q0ib#v463@ofJ9MlpI_1@ihk(ZD-zg)-%I% za&`5kw{M+Y#6&b_9;fF?BojSPAF8({h_H*2o00GEVQuS|ojR=C|Nkgwh_TDQ9PK`t z9b9HqrAuX8_l(jD1?khKnGNQM(+lBj-$8D#)qRuy=09ey?NUA(hskuiAi5NFAB~=U z66@+uakEtCv(od?!k6RS^UuHJH$*w0AEl4MI|z&Y9nowz-?8aVJ#=U**qzY~rw)#G zwEk(w>|gPz;_Hrs2=cb$nZD~5yHXE5xs?@*?)n7~p|W9cX~W>jXz)aK@I+neix+Vk zX+I3zwdv76hPk2W@eR9AMBRsB=*4*VVL6_C^7IvlQg`1%uq+-7aaCs9u?^iP+*`LZ zgSYub>6rrd>=UA8sCh&6v;yiQ!S4F8DE&yBeuTJj8YcG_Zmdb+?v)hwd15R0^2FRb zBsN(}Y%)$yM(KTVdLN0!>HV7?6%HkEs_GTv2v;qZBxvpPw}LrPhnO* z^Klu9Pwe#fVCp{FeJa|voE_BH2VEnGS<(nON*ZA*aMDarowU-=4xTE;I~Apm7BxwZ zIDItHq;mZ^6?ZQw^6@x*JgCm;FUN!P&&!xUCi;WM%%CyzTT>75nY)*oBGmL4szxxn z(tRxWH+MwOb<94~(Am0xDiVkiasSygPVtYUasPEIOFY@2KVJvisD#34dbyxm57V-;m<*`y>t3_4N%a!j~~Fs^1STtsQ^)9UgumE9v!h z^(*3=kr+_AwbJgFW$Yz+^n`oD?{SY6@m0z7tF}va8GaJS*kLLFKjqJUiCy8I?D>1o z%b$DqnlI{dlG&&00xmw`_{y*S68x^L;fn4Z{I`79@sw}-C3rRH-VefQ)-&~!94heB z*<$)f30S1d)-T9og&kj=npLaPNKd9;kjo0Zo0+L|Qg!3y0lwv(?tYZ=;9A+ny%+=` z;f?PH!qUc1BOkK7@%_LHupjacAZ^&j$JaXi7A+L78-I$cKor8p2V6cIp9V>Gd2fa% z#rp&h)OSw+!8>m#z}^7c18fcuV0ga^lpWPX-@Y5%iGF<{aR+_+Y;Y&~^P9n)=*y$H z%k7(N#a*sE*HpRH3zdiWSGh4;ToJCCP>!$na(6IZdF!s7w_{oK#_I=e*zxJz*WY@_ z&R@9Uwh-3U^S&L|-+KMcpS^wO?K}E+-h78bR$5B*H~BOgsydcLpgXMZv=vw7?7pWfkC_%M=s#|>Eey#0pD zcWesLgK2`2N6n1MKr)_bA7#;F8y$SKUPw2-*MHZHstj>eyiH|Tg^Vq=FLC( z&R`!#Onvf(n`I02pWSZ4o=zC#m)K26-0Ii$ZUFQAXKH(UW zfAV`Jy9qsk&SHqr44>kqudT|+fC31+9qD4` z!dEYd&Gr9Yh~E>u0iy4a}Al9DUwS z9J?bfcSN6Wln6Xz?(=JL7;~`+JpR0|{{};G7La^$c zU9dLyl;jG(!sB2INo4#(frwnnlsa(Lo0w)}t;atq%?hc1`zCc@EA}!jM&~Ap$zl>u z7mcY%JgG}OmSB`SPFRs%xOm+Ma;dbdirFui%VtVE?UA`T*k_*v;vO1bWS6<5KP#hN zotpVm z(c09BTr_=}gKV@f%XYj?T2!p3UVvX~q@KE*to4bNNu=zwP`MX#6+IxDq9!RGRTC1~m7zKNe3o?1zf>kc#rBP?q8PooyIq>r z=OLlV_3Mh6`q}s%5!^EVAjDI74O`BR85t%=7Qpu}t(n$)y4D&fq;Lni;aownHdot< z0b491sgWOl#ngunLHGQ~c&?f5FB47%mf(R8#(P_C_tD5I9hzFacw9|Q!}xKY(fA_I zYDTwMgOkeZqm=tw#HQT?%NE$BJE=pM`bN86_(r=C$WDt49Sh53WLA#sOiN@h6r56} z^^te{rO{@(_SqLN@a4z$Q7#)>2kRo;U~JJ^wvS%UwqAKu_MS&)h)ajRIn%dwP5ENx zg{v-RF2QDDOoDyw#8#|mo)9rjC0;YJXk2mQoSqyhws$>!S#!T6WBR$l+xos`EpIZi zaM4Yf=-AJ*p2|ib^n5lDIiOv;4c5pv*a!YHea{zn{-lZ}oxBuRsXZbKr8aAWeJ3t> zmD%4|CJO3gz_$?9R=NEROWuzCdnFECc5V9`YM8>{r)YmeRD)m1{)Tue+21&>)Drs} za#(Lu!8#6ah<$(393{&fp-ZyCL=YK`gT{49k7qs5=_?tShv>{1kPs&^E5Z(3y>~uxn#kNKr9-VH!sXIE|6@Ohq>WuR9fbQt&uK4%7 zp}%asOcumu=Sc<&SlI`Iw{=i;a#)LyIfxdl6||YL2+wf#aC;`7SH0yMifyXnVZ`HK zJ!C-kCM4NN03DdLiM+bV$JOjZeg+WVrzV%osNFUbWPM*h&Fcr^D}M)TWY~xJJ$J5u z5W{4fX)k8rFN_<~@y&S_o*4Z+f+r>rh^WDfFv1ASgvthQV@jo?a#+_T`yKpaP2vuf$epq#@yYe=vMYhb z3{fMrC%#Xa=52d?pCx$h`ri0HWgfp9k+?V(i2>e~N4@XiU772Q_N^Zx6F8L%IY)8A zi-|uPS+DksP-RP@_u_QD7(P7Vm?pz9$)9La@3H|Wmkdo~yuK$$QWhbZ2_tia1|dN( zHL_u=cBv?Ld3dcUje65;tCOO{zFOBTmGZ7xZ?(H-3#sm}YIe&^|iwmX*CH=Z80kT*dd8RSq-G$vAuV#q*-^2OzXs2Ya+e z2RlR|TL-I`|1%wIUtUa?_phsO7TyV$g}Yq|C9}}a7dz{-&|1;G?h!2(GFR(fSEa@I z2BLC!n`e|0OML5@=l{;$^(|z+YEB)dvcejI>ZpRwxAYInysdyz#a z*K&({nd<47vDzFpwwXD5nKpmLs!5T8zvX%pLdEztoal_d;PYr3M|4JC@HzOlcKQr8 zBc1Wx(&7$=dt3XS?Tpvzgpd*j)y>P44?se%pD8ylBik>cgr`l2+`Pb7XO3$B61b+i}PaTk1d3-`jCxff3Ve+!FP)7ynlYDM-)EAzS;~`` z%+LsU+d8wewq97Af|Q5M(y(r%@@G*<<&X79Nt?TER~wk_G4S;+09O&rG2RI%8moa& z_c}9HBf*s$t1&kk$p~MsmBwl=DPzNp)%4&~%UF&4i^gg^wW6__X2QY}fnK%d&Ve!B zipFZzDYjX>=iCzSoV^h!o|o!12S-f|-etZ1oEf)q&M(8C)>@LTFjjLTO)<@WyMlv- z6gO7GHEhhyn6a8=$%zwVfaF-zf_dc)aKPDJbr9hiHupoiu|flE**2+jL^}E%Xc%T| zdIA*gUISaYF-7Btp`40iwx);Xa(7af80B-$D9t5pj`QFS2Y@QbnVlF8hZWI-J(*kc z@(Krl%Bj1Rozl6U8Ozx&8+Yhzj;JFPsa_(KlF1qijO-S(aN8}3T?UEMgVWEfNaAL) zMlXe5&|^hWRGF+PF9konqGB&~NR>R9$r?|E396;?o1{*;CAutrAW$?}BS&IkW90YY zCOf#UWU@y37I(L-I96;XYh2HbTw;$yHPB4fC~1yt@XSccwD!7(>HE- z)h27wO+nCRuSO^~aM4TQt7OVVH*D*hsvN12GfWAY0TIqoQxMQkfnt478)^rk3?@cX zjJu+}8dZkGUX4 zp*B?}FkvyiQi>rD#gJF1P338Dmy?W?YSVzZu$yJ@E}vNh15k;*8dHK&oe~3#w8ty~ zE-@SA@Fx(-%DYyb>cYRWPN{&Z?A0_IjpX|%mToP3HHw+2U}CRE$R#!WHHs-a*v`7# zxYXJ+l+>o&aLMnL>qmT#ChZ%xWn?bwy|4XLtNbG8aH0cR$MIotYx9#x}7 zqDXUu=l}5*-g?zOzeKzujW;mFfxghWtgf`!oN#Cs>zqk+k}F24g>kU_t+pX;Z){rJlt%3VR%Tv)ycRO z9VIPEc`jN~`Ms;>V(&e@T8dpg84K>K6k?G@TfJI6u7ays{8Un+UXG@OD$s)3Tq|l0 z=ecQ~qDjEw_rlA^U)wJb@dwBnMmHw_vM>sW?;A76)Tn{!Ap|vllI&wD4wQGj5FdE7pJV>-@EuR~=3Vf%~WV zMt{{_rp~HsMk(MY(^u?Tx~;}3-TsWmFXIXRY0fZ%udASp7uOlE>!0zsvWi(p+nQ|T zsEU1&D1Z59%+@lSeArr^63O^iwVc?=jJC7&P*>k$AIk5&TU&b!JV%L!ncAlKS5;>T z#x(KP{2kxGl+e@|VHiB}`L4*vyUE?ucH_$cS8C6riEqb;w%vdRNDPi>t?edlZxSzi z1d_Y=Lu0?k(&$JdC0VJF!9MUc;OHSjc3S1ul={-_(6cY=?`f>UJRzgW*cryi!zo09 zjdY%!(brF!e5M!8HT9H%X&u*(a>saLym8+A?mG-fjr<~%8AFhfS?sb##JMNlpxKz};N}Nq*XupX`jT7H`L!8Yy5`i;;ul8{j&iyS(2HxoflBsbpzrf6iG! zd29^_TAKF+T1_6?Kr)+?`2!=N$0J+oGtF^$-!N{b2?kOtLO1^7T<6B={0buKyf&iTT`qRdfSpy zW17l;h?QvcT`e#@xk55KpYY+t0(sp-bnMS>&CD*Yp>0;9<6Ce83Sg-U5KpRY-T8yk zrM}2~LNH`i4RuTBN+=E~hV@fV@EMCGT&ZiAVp?ZQSvRXJxp;~?5MRilV%pTnr_5e4 z+f8F~0!giGb}s{{MG1j>HN8rShQ;Uyd#vtCES~zbwbx@Apw2Op}pNZgf-=RJFl?y{lU!WR>Bo*{eku(`QGGbbBj^msbvqJk2xt55<|Py^;F%U-Gc zPEhW)jOBKBRxQ6}h6<1~P?SK(V2_tyn%vXUL#D zltFo&t^AhHSOymb;K)F*s$&hBi=(3a7M*(oMefD6m7lt+1u)cIIlRk?P;O-rXoYBa zBnJ!zdB8XKuHYu0LJE-rWJ(OuT<$@h%Bsl9C!UfIIp)^TlNIrl110KouqtYJcjbo+ zVqMf>aQjUq#R-EIOq0yD4?T}*68-CR1(mD~Y)=7ZY$$+`avRA6Uhbcd^0?*V#sJ1E+=q3`-plHl9XrLqkFTXY~ zzcEjE$P+eKVvML(^&J2YguL(R_C!QgD@=*5Vb++VcTOUMdE-Bn;%>Y`BD>h?C4SDtEkv$84?%icM z2R+V#focxMoP!}JZ7%cz*UAi`XakOBfEFJYmV0?NYAu z$c#fUdGkax&oLIERbxMuV9O>&HFj)q7!rlZZg3~lhpGQ@8!`3$vaeK(sU?n%FwA@j zGT(7KJC^8#@s@Y&NZ286{JHyaY%uFTn0jJzvMP=Hp}`h!iBdG|$qo_4>@uA2tT`BW zOpHgQ4!);~9bwGn8j+!Lt-j+L?2Evyj3C{9LwC=w-D|1MEY_e6GoD6&&3HV zU44&!kT14oZ1hk$B2A@?otF#_5c1W^PR#eBmq<;MJqLGIK_n#4~;G%=GR3 zMjcwf`S(EOS*Sdo;kKQacuKPC%NwXj74s%NmF7*1X(3{#!3Y`m?vKYD`exZK8# zatjtJoLZqr@h|kyKqTqsKCbku(yD@c1fY;o%f7iLhpZ^X2&ShVMG!IH`= z%Ns1?{g~Q3cnHHP?1QBaKE}FjWtLWkT9zb58CfwoKK;7vET0%OIoh*9sg|6{=LW?` zG`qngP=x zyugkZ(@J8Ce*B8D4a-v6lGA%CFF}V!&d)|QSVr&~AUw*jF5t@mcBZ)@uUN&vOJb8o z;%@X}N}QQ>g^#VIUO}Lmx^h>H4t2>qaYJ2&k~lN#!du)pD=RqrJZujjyT7U`D~yBS zJY#z{*lJOfn=~IilSbu1^U-sIwR=(SE9Rr;25;54`GOBSFPD%G*bC+ zki903rxTAWkdF{3^GdE-Aiu<_Ho0meoX$>YnbK}uUtYX(mV5~QA~Q?5+A`fAiQOU{ z<7gE+Tin>?h_1S>mO(#%Uo$kiijOtc6w4)Njde-Q?7z#iZ)KCA3LaK|Gna6t*b3=1 zPf3k~g~d1JZDnyyoh3J0#zi)D_t}ffk`BeCbXUvet0??SDhpq{*UbGDrk{)$@AoQ+qGDDlxUU~)2lrr=gLP(Vhq&Eh88C-PBoq_p1`{V=N)2}{Tqsl4 zv=r}JXje4Z91V9Z)SQ-XSrlikNkrQNkGC}yW7!#p=_Hm6uH|g6)vk_Vg|2vq%zcG! zzIs`$S^EW7fzUiwHEUt_p;l|e{;;}KSP+PN)`o)fGYv&=9fX%SVjICikwN-eWm}RJ2Iq;@M~Tp6f~^7hhnnCK(OBL(F(g!;yq$+w4mh zxLVae7Z9QZ!E#gXs9;_FNJ6D2897B`Yc-dv>Z$LrndJi}L~2YtK4I$cL(!UhT&=8A zSEVaVJ);g)g#$`eH~RDVtT-<0#X0T8S!~cEpIU~wUOcU=VAf}#ba;3a?e^wMZ%GR? zWSTExrE$j3d%w~s_M^j@gggT*U?tKx~_A{M*eA ze<}ZK#bqU&jh$Gz{imfQQrMKK+*X`fSp99Xv|)d(w!kPUgu2&I22%Sfb9V` z2M92H;+VarM1OuaxRZMEL~tkd;0wW>=zU_pDbe%a4B?4hs|+tyBH<@f6=lx4YpUE^ ztK6+s?rM8ZsjBcdLcE-QuzPgN&Rcivy!DQMvc)E>9wi2w{ukPBDjGxTyZ&aZPSvpE zRNHJ*F-JZ?Zj@o(i zO*?M6e&B7pC?I~{dhzdGLVxR})+!(BP+hNHn)&DVZ~3?JthrV`+Jo0nDBQ#iO|wOm zG$XIpj#D64m(WYxz@f5t>_YYJy7hLoi2mELqqF1cj>J`h?cr7Ql(!im?aPYadVHAf z$!L~^iEphpEP*fCtivM%q)r#@F7awVQ0nxb>FC_?fgA4lXvdDLHt*=G+wsw@T|d3UJkwXZ=hp6? zu26j|kb`+M*&ll?`udK`-x<(*UnhEyNmSKXtEI0d_-5x^`Z`*X5%*7?_gW#>)oCiM zU*b;mRXU>ItJT+OZK?4SJ;mKmKl4U;)UZ2NsjpY3w_hzp|IGwCfxSB22~BuOaLVB; z*)dxP^kzaN9V?d}_tHPgUKqbJZBTx1xN%4SZP(v&g9q-|QOVz!8gzb*LAI0ho1&Ne zs24XT?}DqmDUzg`5E*QaVbW`R$zUj0w^M6pTGMCQsS*VyD_QE{G?15U-y z0OoRgc#15m4(`tZup>G&KcMvmvxoG=3z2=<(p`K`!p+_!&W6aYY0sr+L?<>!Y}RQy zqWKP)_)Q&-#`gvaG`DASU6Id6H`7@JKxaKp__ekL26W!lYtxX*h{&w|2M!t3$0Bt@YaHEUQSdDAj#<1*r#DA!Wy4 zjg;Pu6bV1TyC0aCArYnDnL4_89LT-+ zWX%v9o6Az`*u7-TY(C_kv_7b$q9f&j{n6zgEO!fwgR?mrWBt*e^+#>}@s#*P(kjXR=;t@j<-Ww56ev5bw>7E!I_mua z>A-$907zvX|M(u2?*_w;=A!Y7@iQ4lvvE!i%p#jGT?DhIIcab|-g9P1LG)PU-$QB%bU+B4G_G~=)E<5-)5{QJ;p?$qdV^0o>8J`#6pD!v45M|BO| zVK-DpEoK~dhd^(=hPIH(j1-9994U+BlXa7{j-syd4=TTCSHH; zf*IGohE)E#inJFSEXMHD_zq=X;H0j4%Kb#R3-c-@R`@ry@VVh-nbMOQEG>*W^NWR_ zt3-~+#Wi-_>Yu2c!dik0T5>2!W3en!lotZa&pgYL;Q$mK4ORu&d@__Vp0*sUmx7Ke z$0m5{`2arLx^yP*Sr=QSFoYCO^2yzJ@TZ_Lr*XoEd|IL#nLM^;T?B{!>LI zgn~5%A*~HvV^>D`A>w4G^`y0YUnRa|GW4>fo@3fwE`!;pwNp{Xcznm$m23fEK!x4% zK5NpV&gq51rm}dnHkG-J@3`m6*_RrLXR(rET1bR_XKulAyHP_TjxE5X3oV}3dw=u- z2fgBPfA{l0FV@o@s!)eLPYmu;c@1)7a~rwY#q;P1I5}W64spcqx$<*f^3LRKvOt;c zlgkSy)3;^}D?%2FLxBgsL##s?48F4oA3YwKb*F;HOM(Bn&fJ0q*9E+2B2_x2Qr(Wr z8hWoeZrjrA&omN({TZ*8)5?o+ebY<>-Bs$~k;EX-enRl+!i)XY`G;iH#J)tZaftMy zIg7<%D$wF-Wh2P4ouihE^>hpBUpk_p0fw$~b_0rNwX~=U?;`s_&Eu={rNW$2);3)I zjVotgT!Tm&j2IVZlyX(Jf5)o2tJ@bD3qn{7+Oamh6h45!LfH-J=-S(*lFq9Sz=GqZ zv8U)5Uw6e5soc$w@hB@ksj)^RrMn498qB=4Alm+n>^e<2&nBMSBbcnpDKfiIJoW7d z%TD1_MOvzA;X__}jdEvL@+wcOu9Oz9T+~xIYfEI=(~^gq!}7>jqQhr)F%?8t(%3|n zig#|^kTeYamAp8YRjt1!Mv|#JpvEAP@A*L?!nh(D)<~Yh6n2pmx^##S5im~Fkw>R3 z`>AV_GmxWTCnFOddHOKrrf+y@Ec-?l-@XLV3RN#PTBbv=MoD@LViiBr*E!l!(yoPK zQ;}#FfsgT(E9muOnaL9Bl~|fX0N%l(Z*bf#6214bGlk zQz;`36-co;wW?LbYE9mRCbNwS0-W9`P-WldbmodDqTDHpG?mkI2lK7GXQGqW{i!js zVqfpI+PT3jUNhgjurFPFQHnK}*79Cm;Z7cz{O;vUe%r}-@U*2C4=!i_x;{%QKjNsT zq({m3G(Nu%{?f~oSloRo>Rw`WnO?FlZeZT#6rZ6u6{k=3M{{)KJ7@l1$n%b}%%LpH z{=LNKB0h%z7N5yD6Q}hdh34!2v~u6l`NbSFoJHG~;=wb<*+H#gMClW8`UExrm-+fy z`pkyG6Vc#eG#Bq)G@R_>U4$(~=LEWA!7k80_WKMLf76VAEhOH}H$#?VJ{z+8kz7DwGDq9@{QC!TyJ-o4CMIHK7n|NesKqHSji zZz)6EkUkl8FG{G3PcD+jxclUje{%r>lc?-#5pBEc>IN9fH1nMV{S(=Kf2hK$TB4E1 zjQg*;kFp%Xe_O~k;!kKY&hJAGXk;sY%OU(dtAw|Ob%y*Z;cD9TtNwn(di*q=>RG1x z@C*4{u|FWZPX3n|DCu_@@AgafC4y6UH}k(7@IroT()$v4d#Hl?g?!hGqI_6;+86;F*)P}%jfTuae#kGB>8^?$ePEST7vt}A*%R)%OVP>8~=_#(fQ9HLu%tE0{mA2 zsu-321Q4(Dh63yjusy)$00D*vuI*DKdU#`SCwix0&>KiQS>O7F5T5AWy$L?@(C>c! z^__}Dua4j@-=}y7Zl#(0R3XdV(y4OyWR?2^Rqm+DUA-@H2j7jj=7yc0y77+ND_1!` zq%Ti&-SC+kZYE&mS0!wn{pOvwzWwH1pQ;T1)b8tV`(&W?(W^dk^^T67o{xNZd+_0t z5j)=hk&gET=j}T`bqil}cty05=uNBVuGW!YNmv6Cu*X8!qUJ$7?>ftYXU z5x#R${0>CoMtyDnKvR7EUhR792T)@D7D$tNR<{RbHySn8V{aL_zVD75yKnvZowt5+ z$BwQ}ix?i6K&Lsl*9AIbUJvE#H7bO^()#I*fnIyS-<Dl z;>`ow30Cva!+-ft;?{o!gXIWkc~8Cr@lh60M-d!0ys(*voxJOsv6+XRyxmP*F?+Fm zJRyEh7kxA9s%lHMaB5&&#_u@grkmARLD_D=E?8?Ihik5$W|v;v{i1xk{Bp8~C#rl| zVU#8uvw1@RY)SIuqYJuy%Oc+$fY@-iq}x*Yo6!<1gs={oSNzn&7dK+Hk2i*VN_y;-30w+ap|e zOg{ovwRMy?%P4?uYeUFD(T1Fqy3&T+bGrB)aFqZTT|J6hG~vE5!h%k(0dw`IUQ{H< zcHoOSTo(pQLezCxMc`AdfOuT~49gB>pE*BT=#L*s%NscySK_>Klar^^Md|ZO%w^;(&+HTV9i1B5%7 zXVOcl5hG+UZqdt{3KC*1+TdG#Rlw zloq2ZN1s`zh{tP0B=1#Os>Z6!(&fsMcs+ZTHveN8)s5gmi7ea_J&WwCu__tu5~C7T z1*5Mdr;L(cr6{W8RE<@cd~eOz-z0(}k zM&2H+`JE+W~PbLkiL>M?AcQhjS7$G!Wq9o4vd(T*!?-hc@>4HZ7# z@rjNdVNC;H|7ko{>$`@pG%wu4m3#e?@m%rzT=-7l`=CpEu(26P$MxbTn=f~t>hlBZ0-dDXN8vNDXc3Ze{t9}VWRG0@ zR-Q*_3-ki0(>Xcum;A!AMB*fV->$Qb_uB)ZnGj5(w_%vIj?-YpXjv8R3oT=%+JnC6hD@mVabnADA%XE%>@0yzZi6ReMOEn1U zk>?Xo^Sm4@iD^svl-u}ZLmj;1w4@Rn#wNgCJNEt5$GVRxv!62&_qk*$vDSdq)P1Zv z_Q%$a)$sa$YWr-p_eE@A6|;4tW$UQ2B|J!5sVvN;wE#v|kNStNjqz*o0pr}KSg)z3 z3io3Cmzo34BP(!HZ(B2#`n+XK4RC>fX-<&uy)c4H>EyH=gn(2g#|l48%_hJ;56$y1 zr)jt^!&jD(TpGzOd_VQGYwk(4T=)s1^{4(~_PNy0TGW|MGo!QF!TGw;?%zt?{Vu0j zgKhVk$2>@}C=e!@X;1yik@nHuzx9RmZ#_^Sv|de1oSx5e>?1v2_;r}Jd?+bS`@sEZ z_t#Q+wS%=w*b_TkJEgCEA^o*tN}qy8HTKUU!Ilemvpkq&H1#$Nd47K5s<>KGOmHPn zOb;B6y7@5jVUzpe!h6X=Nl;%+(3E zbw7gpI*Q`j@A9&ZmyhZ330xOlcg$2B_3Y;DBB}GXlA1pY{@Oo~I(=Rn`?%7_`cuC+ z^9~$C%)Ft3W>5@?ZXV{mN>K!5HR_+YuH1vDvV)JXdGa4EH- zEsl%Qlk(y59k@s@P2H1T z_@&%zSNm|$%4!~JUa@8U_eS%g^j8Y%tE;IrNhSo6ggq|&SD>4yla~3M5dYr7b{GD+ zCoiZ$$Lo7B)p>A4_)BL?^-D^X$3^LT^>%MHa}`a~0+T|kTqvu5cHJ5WYe4L=oih<4 zqqZ=#xYlH!Fx5U$xSGp%Y(G`*KhfQ3?`e4O^cixO%1goMq(*5bw=Ivpj@>i$tcAC` zH(%L2S9nRVx-;-n55K*YeX?_c_Xq2VrU8v@>ndBS~G$!ntib$`%D8Lt&g|yDf#6mpNZHn!ur7Olb8!gFBkrA@X08sjoGJrvoG|f zavv`DYRu|j%#VnwG0zqrJ5hWru6v1t1nCn6_2v6N$wRw)G^h$%v>-Y(rQjwrECr7A zWS?$`x|bOcG^BEuDC!bJqMN!;UCAfuE$&l_yIlCuGP2sa>prf%u;b$YnDKwi`3Eg& z^OyB?_0GDwa9(qa5OT))BKLNq!DV*f*coIvve-p;+QpY*=hBmkj-=Q$?0$e@$O4On z+wP^i9ZQX%uhhnq6ef+G_CKkoFBjgx_{4m3!B^ge(`XK5v3y|YPuN!yQ971zic|iX z=!MM7e5|i~`3wJMblU+oJYS}jISGu?`%(|551WT6z4{bqdNeii)(XFK zqV!103>p;vKLX~`hfT9Sh8TI5x{$8Cd{CuJ*Cdl&tT$VPD1}5cr{&^yP=&J%ox@GO*Pc;F2HR?McLcFuT}p;<=k>CVng8 zWaHaXe&foNQx7*q+wPCIoy;D3Ioft|c<_ELm8Npa`~H`Bu+}W?pbdkW``yLSHT}3qX!cW=}B(eB_u{H9?>c_&=}cENsH&V4k;K}kDH-vS;?M_(lgn?8CZCd zFxRfR^ike%a7y?vqY;gze;tovQPRn9{MXLhYNUB6sBdM#a+A1k+ffd!US*}r%)v@m zG4;XQE!(P!_^&BFG^4tRnIz8$s3^=M%mvdIqaD^)tn@|U4jxQ#Sj zr~52FC%^ps;9*x*74sHKG8{iRW05{-YP&M?%@!L4SKACTyN}9NK#2w2hBF-~JuKM~ zKQ0t1fJx0yDkHV*%uB0FPNO0n5JtCy_mZ?lO`K+gM7tDkBiSdS z$LmFKT~rUsA}AMt@`dyP{1!*+Z3JN_QiczY5m4U$c!$GTltpjELXBDMpR3c1Pa67i z;WJ{NOw#!dzu*IhOM}-J8Zmm$32%ZIIpv)UAUX+#AS-e;3974bf}9&<>S(l^>LK)a zi4gUIY;ravb?FeV)?a><12o$=&7?PdI~_e4dP^}+14~z#UZA_A?1S#pgEB1T!vPD3 zi6&#)jLt}1HQ z*zc|c%1^)lMpw&EeObkC+5PMK-FHQJuNJ2G{fLLG2p=;3>gxXED)j4^+3WY89ju5y z8N!u*t$V=9demy?Qx^Z;a~kru;#|ji=&GC__y@-e`K*a|GkD7ZFXXo--j~2z!ghpy zA>TFe9sy5Fwfcqp*Tg#k-h9AY!C$!7`+BP68rD-^RNoKO98U1BRf&N0Ky-0q7v%ta zV@rVlI>2)S{4>TW3fJm|;MEWn>#76S-*)>AJ9geOz)G{f-@fw~ zZm8RF!>xV0KFRG;b2yQ*2$eKG1)bZkhr|seb;E7p0@qpZiLSC9z3E-=y4)|``Fiw@ zPu?IlZd+|#n&PdSMDTUZo?)#^x5&N9Z*sE-ECigyovcfvKK6UH>(W2aqB}p)L$&IL zw$#=AoIGCRy7cKlN8O2j^R#y5*+4fde#Ld}ke}*x=_XCQ_=RSxZV`IrG{kH9Z{m=0I;T5L^!YjWPGoJeXgSlsR7MTua?M46RPqEA?Aok*z$x zG$S{9h(Ff@)cYsrT3UlULvJI0C9bmAj{7pbzZVsQpqir|{`J$l{#ooZ+>3#)^=I?W z;<;ItxqSwC`kdm}M-&S`&4W7^rn5l$t?Y!7a?2+J0+A$_VL z%|xkmAT~L-I+s2zP2mV^0|$8jdwq0z)3=}BeVQ@yX)Rk+ts`Vl_LL^a!-FR^flZA_ zBXG=cVJ0>5@7ys&ai&HzbR}f*ZE{FjINBMsq;e7&1LgYEh?WF+JEu4vS8r0dm8MJs zl6a6wczWJ)vFQiNcTAZF&OSrskCC1_5=KJmcM57LnV=d%kc>Mt ze2Y3T_{5yDV@-qB(D10&li|v8rtc$be9F04^7r%X1&N5`;RaMCnJO z+oC~EBQt~Ewlq9=s=T~Um6!La z^71}aUf!q5%bSgz5mhQybSUq)@Wx1)-5gs!p}3bc-erW1R*I!Uo(Bv&w|#zooPs{? zqxf7+05fMh<$K~ zgKc}rQZ#O#t&Z~AE#Y$MCk@zLyXth7%Q<3aoHMSoL8FEilO+nwUM3Mik7iVs`FYbuh|hU zEeqv!X6yMEvM(0vpeOh+U3PZ5W*WyxV=lK@3G(9{)R9dy2z5xu1MrN;6~r`Rh|7CD zja_|*-16CMJT8_tSa3An$a{2%>wbE{`nDH$?s8n&X+2peu)P!WVg;@6qp%d4tHDy| z*bHbKy5PCRM4Z}tEAK|h)_gRYFNn#~!_leZLs19E7!+5u=jdsZ?1n`_m&5N9V6nM{ zyC)&enFn4geL71%q8@*GZOBok6ktA?eE!3DZTdk+#8r!F9og&3caQODIzt>+D)E#g z&sjxj8fPX|(K69@qC;KreR}U=I;IcaH-#xFaqXHjZ$C})31cj(`D)oBhqlXW?B zBsw+nI=a%>gt#Rqj#GQzjNFE&mC?U}L~2A^)YPb<;XRwpBd11fMd?$ZD&=@vb2NU2 z_4w!zWjnV<9XS?3!vvBmOA6{--?a2KrpsdU{iGr4afZ{NZK7Zbydf`UY@zy#wUSG8 zN?6>UC(+ZEXeZy-T?-JVU`(u$9X?Os&gO^BVI+rhb8wPI6#& zfM-KUL2NkxTIDo83n~Erd|;66SxX^1*i7YWRm$ zN#7_QVppuaM+kc1Vy2>zi#WYE6RRVEARp>rSfmSOClP=zU&r>&DJ*qntlk)1-72dd zKMtRqK+$b)s4G^w9OC{VHc{9P(>QPUVzlik7LjDR;%Fy}NMX-qF8!b-US8B0Sd-_R zRTY0zZSc3v#kY&Y8-ioBwwpb=&oH8UmQ-d+Uhj0D{ql*gqH{Z}YP|4eidk8Uf- z%kwXBEAWch&{=W%!7f-9evCL4vB;$^-nwz{Bv!a(YY~uPcJQhC)E6}pWJI(GV5mW& z-Ah|K+RMoABf6bHrs$XAOgjeO@xh$C=o7(LGc|FecNriPMZBJ(V{?@6GRJQ2l|AK} z^$)7j;@{DbZO4^-Qx&xAw4RJEG(ek6?{n7naVFnrY+Fh_^ub1LKKx&VxN@@AtSxHW zUEOCJ0Q(A$g6%yKSN;kwvkdI6EmlscyZ@Hhp{qr|Sb{7MmX&8RNarvCNafWV1!8t1 zJ6w@fxtCwj-1KPlxEd3S9AW>&Z`YeyiLPk2BbuS7xEG2`7clkkVNrH^tz|b1KjaX@ zA2NpJQkkS4vWW!w)a-_nJlg4kV}-|45)9iP2D8@1V;TCb3exeIQ-yP?GoQbun4c}C zr>VO=htgRul0q7kVJix4tfp)~I1$lhpr!7X{1YEV^bIz?(pw?|M%ie{#64%DLj}xP z-;Eyd)=M0{1%3K2dPU)~d#+@`|0}qh6(0&*8bXKnTitL$8>tmVdSav#tZymT}(yoyS!ppfB6TW}Zn{L3{XX&W*0`a)yyJg&JLo{v2 z{M|xAqNXnYJ0Ts^RH*D3;^F2lifXFJrlv!B$?xG=R8u*YevTswQSJ_2LqVsHrta3P zd@g+oqFk}i&`MG){0b{1p^BuBmgQ#T!-Qt1o4}?{zZZu$jax*jTK+MX0fzUzXN%OCx%kbj9gilCR6sgY^=9z-q&B3}|9 z+2PN+g1O=2cyPwrE;?Sq_iIsRr!`8dAZo5DD*|LV$*xCy8Dkhdcs&1$YbiQjXt(b+ z_7#=J4lg^6veOztr_#Oj<>x<3FQY(?Ir9`FQAcyA8NaK%SX1045M?g*+*l>e4TjL+ zJ(qVgmGCZDcysNSXtG_nriAdJY6MNq-4+HBpzz^p1Wn`%uMZTUXl|ULiq{Hpu6-lh z3oWBuuO$*Yl6J^n9*i=1`geloY!EH7U3oJilga09Mtic;r@*Px=bY_B&e8Y@+>G32 ztnbDSd2GY+I4^%}PpK4{(JZCopS_G-DW=`o)2CKoO;u8!m>4T^WwD-?>3C(IJSdyBK6sB@NkF-mAo*MZS?w~@~ z>eV}I)936Ap9~pX8oq0DK`nhE-GhdW-2IeJOgsgN*+uLuTnU;{iSv5Z5KD8ix%5*!$xLbd zXqmw;(6NcFlG~%43%OkEE(sNlnz}i=hNi)-SK-TtXaA5xViAWs*U;>=k#Lm1jA!bX zJ|v|4xu2y{p%@Cu^kHMa{?N^B$=>4%7 zvI?t$2i65&sbPFo8y^t|KLm!7V}L83Yz1u2`c24@kUBt>qff%snVCh#&{5FmQKb$P* z?hj?N>DwLA6SlyssmUTX|DWpOJ3CWSROTiUhZ?}SBR1`z zv+`l0R(({jvU?Z><}^w<@QAVj|3xkrASe$tlCrvJ?5Iy>X^HWhUAs%VxJA@Z*YFq@ z2z2H110+t1h`bjNu`y&zoYuR?@ZU+S-#@L;ALYJF zriz23c7j&zZ_Ym3ISOai_(%W@biF10MF5)T?>Xdoq5|dBlx0Ki1KAbBW#9uI$!e~&_kX1AM(*$yS_T2ALlH@AP z@wlgv=}YfJdo@<$;7|wWn7_?w?L!>ao_D<6nhUO-EOo}enMmirrE2Z+W+BjWL!q}m zis7IJj;%G=1&KpJS4d&O^1M}RgzKPCYz^)1<;Yz$eMue7-G-xD+sY&wYp&j+@%wq!sJRn(7sdYSYVKEvQp~5FzG1C_g+P{8HrTp^Ea7GPxNqo_Or@X*E`v`tLCIUEmPUQb+vhY8qXAk9&*p7++)}uF%qPM*i$bWJrU&XCFOeGPewg9*sk8f4UP&F4(FSS5--RDr`~fQ#0Y>Dq6TnrXc! zYzuXwR=C~R2x-`&v)h>DaFr!O-(HbKKzTMZ`#mQ7%M5ZCP}!yU!z3TVUdZ@|tQa5| z@xi6e_ydV-h1?lm6J+}x_KJo~oHDJf7X#G~ile#qt9h%l zu}z#F`$^j_RKZ6bSKCb@Tc@)b?|ZKdb#OF)I}%Kdkf~y;I6iav%cD8@f5D!1@5Z8i zuroXOAcwnYjl=MsGr{f#VSSRO ze5Kk=pWR4=#Ppfo%S@k*{o1LQU;gdzKLtF@f9le9JLkA*Mw_`Kl9S&P2z$M$htGfO z5Pr4|qInVXKP^%fyqZ+pj|jo)s}mb%8YNlo;kM#jWwMuCLH{S9Pl4&q#q0~`awB4R zR60`56T8wZ_j?ONmoG9oB}^(bJ(gh zM2s{_eAZacw+__km#CI5PV*Emgw zzGBWtq#umYxAaj{HVX5M(yJ#u%l@VrrWKF*#@ud}&%Fg!?-@P6HF}!Uu9KPkmD3DE z>$ZM#nW!p{t~Y;+u&u2xbjcc@vqj(g6vk|hveC~e@RQA)s+j1E4n^Hx>53jrM>;n< zmX7|sdT*0G&L()__|M*?-D&0$qTgN695S&0Za3>x_mZ~bG6ES%%}}qoan-bD*yF4D z?b|lfAFa76<_>@^m(COpD9_*{ki+N%Q6@1YShGTL&m`Aqn4@J?sm6Yf<R59|dfaPkh$frczQ#FRU2*7uqHGMMmUU5FE z7j<4{Cu=F%c7o;mF9}CS^){P;;?a6Jl)kRfhPBwbaZV5dqC5Z8cDZKO&IvSF#}&8GH~C3 z0beBz#$Q@($%Wa|X2QDIKQ|DpvYWvb=CPW_M^hIo_Q(LNV6voL4s50fw74CaRx@m! zY6+JlaWlXXAV z6)fvcYqcWvOCP1}VeRJ|0sEX0}1 z0h3W*bxToI8bk(YjqDK>~t5|xf*sJ zfStGEQ#=K@e>*wVT>=jOW#`&dR$H?(!0v_a*7>ehEFwSS1CQdQ4SCL!WN}tBIKx&i z9#(-4go}_&`>$%G`C}LQsy2hRB|HOOC%dgWL)X0!b+i|LO}%NkaQ1`3-YL&SIC^*C zD6CvK58zIOV__?VBMgM&K*E_oI1`C*+N>*AS*=Al69}iVnw<#?o|9 z9nHlOb}VcKJHmh+2V&=5*ts`h=c}|cQk~-d+hz*qz$}e4<->x4?%8(p&wa_(Czy+$ zlS~DoWG;@KY4M;XPZ5eU>lKT9wTX1On1{f_*gMZ8UwZd^DXctS1GtlXS=fqv34?q& zP`<{<*I1ITM{UnY?6knn80>siKIQD(2!Sa7NuCKidUtjdR?g0L+zC4twt^jDz>YxN z75_X{&JoPJ9>9^6jsho3+{v+3tPdC zFknXjIpy!9tH@64$&5of>ylyrfi}yAgwW9I!Q=kKU?pd?9n(PIoLC{gEO}O z2_pX-|AXv4zaExF>+b{IU&mcfj;iVZdJR9}+y;-W^s3)c&ssiTV?3G6Ost9baa-wp zv){Y(J9iBI=((YUu&$Ff_*FZ*g1%&@l#@%`8jBZxiU+<8#dGG=zPiGC^VN;JKu+`u zVIh{Adzt#|)9;D8-P-cX^HH3)*7z}8KKJ2r7~Cz|A)GLIS(GX0cas+P{d`ot#Ep2v zjCVh!iOKF0H>FSf+naVTHC(Zrocr~gu0H2EQ5-IEmN^-J?{9`=BCzmYqPzNR@f z{q5{?m$ojj0XAPTU*$Au#~9V_&y@SMX1^I9mp8?WN{T62R(G)v%d zQTi#pJ(XDP1TJD~a}l@gG)BdZA_R=0WM8-HBtGspi2>Rx*J{oEdU&wsz-#h2du zw(q^i_jiTnzq=er=PG_f!6l93w<3Jf{p2gU7hfUV zE=3XXY4okuy~kzkn)3Tq?cvm*Kk;VsPwp|TNPjYff6UQVgg3p#1HQUS_)G|2O@7NE z{As7Wg8pKNc-boSo8IaH+U4W7BK|@M&#w~R`(qyPvyBE<#P9tH4_~c(hC+CD75Yt@ zsqnkg!3z3gA-r{!@R<<)KWTd#_`0epZTzN9A;p$+8htHi5!RB=P2A4yU(-vC%RXCo0Z##yZ5Y!4#X4V5f<-Vv7As)xMf> zD$^@{$H2d@4NM2#=UHp-bI<)K;C$R)a@N^x_zJvJ*#v^ z|9R<7fNaw6dn39T(Efy>V||gIwJ#ryOHE_?t^(b_QH|Hso4oOI^GD^2N~gsKfh|Af zF8AYgg09rinR=9$Za3&w8M?2T@cH;11>H$Q_eS|a^EMNP&eX5G@yc!O0ymYHUx7^T~dYYGxMncNXz00P)=Fq(p^%=>yXesJFny#`d z0MT@p-Gz1r{$)>IDYhZYwgUbc>|jO#Q3lFrq=s-N*2W39L14U=Jpf4eTEN+W{7k@b zF|>O#;r=cnK^IZh1ITzc8o1oRIR;*0;1ocdA1(Van7#w>+koVE58!mTKLkj=b?*t$ zG-BCn?^gWhFIW1NfTaI@iJn6b0m7^71?*H}{J#Q(nl5@85Ou1o&A@f|W>5F!mnv+$ zMALN@Aj(A9FY!RsWj`>m!@vsx$#)Qu;m$ z#9waQ+zUbcS_ALJb|5q*Wgjpw42UF^ahEGZE_>3zb%3O+!)_vEMcG%N9OlojF@Qx9 z%cj0f_42=w8Pw}P0#Z*2KxA3jb%2F{2ccx>r))2jLH8E{>HaG)N0ydF0U<)!2LX{) zWtRdX>aw>1P6PZ0JQ!{@Aj8q*9^-il4rEo?5y1BVejN~cD{BRW$Yoap766t3;=5GY z13;Dn-U>Je@O^;Dnlf%;V!Gmh_?6vl;4;7~;En=9m1XY-B%ekh3ze+|L{^sFV%+TZ zNIwL=AU&_wz;**y8CYpxiGd*l#}SC(h79aAu-(8_238taVqnO?am0_;^M(xUHL%^l zRR&fXSYjZ6gzLJTdM^y^L;c(d_--(x9fEce;P*1*q5~J3hMuestUM z)cL?)1~&^6fA2K(y@3491&;J~d__`moAJ^QjeDFCW=OK3xPy1Ry_cK}aOhyo2oP}SOg-4s2K|h)0 z-jWsH@3Pz#S^PhegOAHD;D*% zAW_>Ym%FcN+E~}JP+sdBnp&)F3EceNh^ybl#)V~|UM6%7zE(Kp+Q8Uw2X23_+ps|{ zV+q>Kpn(h^SQJT{9aUeNY(kBJpXrjs=R)IefzNM|`ediKIg8&o_!$*SfFN&r zyqR5>cEfK#qYF)B$!ENMP+PmYuBFa*f`4_@(yFw(vRB`&{`$U=ncg&|zP*{9m@&hz z(j=_%aZPVmzl;aTWQuaq=bPDy34c@Rx-h=vuYFgh{xHm4s~COG0g$}A00Uh7Fg6zV zjwiK@GIER;L%nb>1}y(R{=pl3d^<51cXI5>`_v?S3E&_5`yaOxv*iZvAyC^G|9y61 zR;Aamu^{|kG8Iz+m0_hFrbCz$c$?xRF!O*dnGMPDG?N}2XvVHEn-7wn;R1X$ z^X=e_nXh{L|K4Hz*cm_;x6H>5FN1lS(eW$8y03&nPrVAq{?&MhC>`7J27bo1Bg2LE zCo~(MbFhi)R5k1)ovi8@8bEDl$ZEHv7igexb10ovO~SD1euhxq?IygsI^ojYc+~Qi zG+9>$8Cz2pH{q(;gH00E?hs7L>P`d{jNKqouDcl6ckRSm7v{*sX;|0*dR+D|poF&2 zd(BA443x1@B^~&P(J>1yQTFh75&hhbFnstn(ov1Kw0272;;u%;ErQFYC)zQ*4?M9E zW1`CY4vQ`Jdka(2da4_@V+e>0+e6s6v_|YwVIP>WJH%aMu)+LaGCid22Tc!Y`vKEK zru{gj?FUN)S}1KlIDdje+mCm{fv?=-D02*p=3_j|LJ?D!$3hWyq`*A1lgP^;!$Q%` z!j~nU7K&iwR}_V>c_v=g9{Ea(Yg=KY2zwr_ks@pm8&R#APiqhlenBHeb|2WAeFuFL zJa4!&Hp`JAxS|6e`0$YrH}K%bT5NVZW!Q*`p_Osgn3OtmK)8{LY_~1uEFs_0Zt8d?za~Y54GF~pG=7Ze7 z%T{n3xFCwxoWuhX#Td)Ae3}e9$vegCD4y`br^!I9AI=l2`Pvvv&N*ULj`mYxl7i4n z9znZX{|S9pgOAZO_J0<@`gz!S;t=iwh82POmtZltd5!xM>_W$B2kN|4bl!*C><*>% z-skImDY#|nof(>)k<>Sh5vTbwFLM*m3{AOUpenylxM!&Rj<*&eRsEJD1WRVA`EdJ} zS=tWn6A<%OY9n84-%sKSWg4!B*|ZaAGEbg)&1*Yx&4~X|AFN(aeF8-W?GhVUv$vc# zG@nX!AzJvm^xyhfbv#1H!?&v=DUMP&)T|a7*|a5mGy@&~#<1>7KgC!6Q>pimZXq79 znBS2iCZ3vtdW1j$6Zogh&Sl-cFaUBXROqTIuyfoRTo$>}?S&d6r@A3NZ;?zbcArQ0 z47ly!42!_Xt5doufjeuj4Cc=gQ2?7D7k6W0z=S3Ujinpe$^CfHb!60w?5v24I@_?s zuj<17G_$>X6tCDx1}h?HH)h`dMQJ}S+9L1@+?Vm0pW@C79Ly+=fj~av7e~hVb^>H|gynQHxdwh6GkWEGeQ-hd{2$t&x1=*@#V_B|}L;Q49%OiVo z;wubt&4_PW5cA&_-+4i<8S$MT#Qc}yW169iN1VMe%ayAO%s zDk(&yn*qDi0V@kl$fAspTQfpZvdC73+-l;h6glBzBCbSmd_xfzeHoxDmq!`PNz<#ctgM`Y&Uo1wP)laIn!2H7<)m5eKFaGr_BZrz?pM=UMr$u zx!>m^6U!fxq$t)KFF0jqu>T8B<+Fl(6bpnre&$-Nxp)y6 zD_gb*$7;&G+e@px){<(k4Oh7|gsTS67J@0xFQD#5(^B4AMVs3y2C6-Ga~x71075#0dO3^NJv zFsJ9pN#=6ft$)ViFRE`^fM` z6xk-RR>h1Q84FSzE2?jO}~OkL{Ps84Dlj@B=RDYj8;MO_2}!^X!=S5$c#)v={X zre$KOXGAV*MvQud(Fzf5ag%+B&stEF6jpTX0-d!%z|3^z-rB)2srevx6k|>gi3X!Y8gP%>d^jWsk|JvPU?xIVt1f{T{X*c%WxJsybEbH?JySe?$Yi$L!5Cp70cIwl zdsy_vbB6OUc8H{fq6~6y6fvM)ljOoYBs^%Es`E+0c}QqVDs_!d^7cF=JcOFc&tQq--_nc~n^;=t_?9hL%+U#Ho=odzku_nX)0SXi%9^@lhHpm##rTJgro`<@ zTjC~m0Eg1XlCP!B>tQ=5*>3#ZFZ2p`CHexRdi0E#$%Xlcbny7oTuMY~zX_Qt*Jg2F z45aEI^L78oa4-PI&Gj(*Xc;u88LX3dW;}Z46`TNoH;%ZGmgbci2;TklC^#s=Nl_t2 z3!UUA!8%Wjy&B^Q6Qj>|+_EKxZ0QkT3!5zPF#QO%p&qb|0&h7J`xGZ~)_`0KC}8B3 z0@37B&oNNJtR(>#9z|`c!-}NPsXMA+GAO zhuWV?J61=Wtt=byLHaColDBcCUX}BN7 zx+0z&s2XgBDDXJL9NNMS@sw?D)My%U; za?$iNm0goQBK}%|^YKHj82j~-tV$K~ZY?BgBh)HFbU0V>oxis<#zf@h#jgB>t}438yWEy z&#%$u61M$Hc{Cih-C?9$TVopb6Z^D=rmEw<`}g8&j2(6kK!OLrEj2E&+g|mlED|6? zDK3}!YGap)#$kQhud$1MHzKcxU%^Q;ayHZ$kjh7c#D_r;A0%e89c9vi)27T#X(~2@ z#JKSWJrf0UN+6SqKGQ7aql6jb3QLfite~@;PO?Zp{IK#JN$-WU36jo}OK--*i*7M* zZWl{)>bq&2_OuVe!xO=frHpaiP-uAa!fCwkLCs>C{EF`-1N6-tP{3q0NXyt9DUtN^ z>N_p%n>HEY_3S|aub;uLdD*!cW!Ur%BG$!evAifsjpU#a87P)Jn<8nvt)q{jt)smg zl>e=T%*;SChES!5QOtk*;}k#Yj)5*jJsWxKB<_bdN4)PvfpkhSk6xMFjznW3&gn2v z9KwZrjNhdkD8LV^lFQ*gAI<7=pa%r~jF*-yH% zUNpfFn^4=Q zE<~k371UXw4mclXfrb?`w`T~E%jl3Vv}BpXT8bq5JX;&OSR{?Zm7$F^A;za;z?NgD z^Lh{ttj5DjYV49SPll~9F^(9;SUF$LymrpW4dXa0^WkT&dywLz*+B_?B9%21P?aQCo7xYe3e-qv#iDOVPJMP?Aa5t*4Iy(lM_#mI?Q5r#fZfy)$ zZSY03v2|{myVu3&O;oD%5wX@p2~4X_f#Aw*(BlI|2#jTxd(sT!1Lg2Tqgx;F6Jvw+UlBi2Y|bwD2@?Ti#nR>-XNX@*r+!^ej3{!>k^Fp79m6aTZl{8N4= zcixzmrz6lBu@*;@#?pnD*EGrW`nXac!w0pW%0y!jfo#hy3UZIK@s1C0=K~5tpo+z} zEJcaF32GV<)0MjSK~ku_C`Y{>dz)}eYR#^W!29T0Y`V9z1#NHWv~rPV%#4=1K5qeUhf!yjfjdKN}m^@go3M;xO22yE4h=UEAe6ac20n3kzPxEfr+o zZkL1SYFw1xPQ^Fn0wt}5TIww0fE$*baUS05lq2e{Sn?;z{efgmREw5mO~fjo8Sx2T86FZ)Yo2okG852KACn zyu?{vKEfG-^YE2anRpn%+ztxiJ2;Wc7I{fprf%TZcN(;gi%Yt%VSpb(9; zlfSH+fYyfgx-?cPOch<7z&P77+HrcBsN5iNhjfNA=#Z<|42{>-e$D{t>U0NaI^SZ_rQ(m^hh;wHomGUOj$vy>^x(j`#2LG0liJ<04Wv#VtM z^foC9tf1xwe*-mV1eaUNa)ZlMGBZ2UGe@YcIGjOH32VT-&3D`jG%8-#u+Kl{vlVH7n)=Dtsf`dJ+^m{8+yi3yXNYR=E3 z99sm)M5o(~Qi||L@>7pvp*oXVX4^XXX5c)_e*sapa5X z6lkyj0S`<^gQbp?Mh9Mp)-0J|R&)@Pw?OYA+l&PrjgI~>$P?rqsH)x;ESpQ|_L@uW z+Y(q(Qa>4R8Ao&)!{MF~X3%1HNIIqc2cS@_9G2$=Yfo;ENvthowPs&xq4ysrlklgIF&Y%@?H8 z2H}ehqMwm4-DYystaf~`6J-N)t3L-fFF}Xj9q@aVC!aojFMh8wMI4h+`Rda%1ZG~6 zEX~RqstwmMQRTr6_NiGt@aeY_OGG7d`vWeqKYum_r?Ylub zPvWqC&J&f*{?&LR8h<{Vin6$4SQ*L$xyt)|kfHiHPh1a%V~b&BJ63RHvHNmt?xDrQ zuTF`rI~0N`L2N@V|8It-?5jCl1!bkG6bZPV9zM~+C^vB zxovI?3sVt#BPA?SxygN!4U&b?`gU&Y_Kcs1I`1Lb>s@~&+W6e_oSF~68pbVkP_$ir z6TI!u=-`T|ZtX^W*G!f!;y$y4ln@EbM>-OyLQPU|<5e>)YGK15mrR)I0&Jv`a*Ivm zvk`&$Hl3a>HroYX@AGU-{UzeR;^a0}0D z_PYcbFHIUmo)$9c=}ni_Kmrmt(&u zT7rXU3G~_^te;^mR6b25`xrp^X*4omar>iEv3>+Sd4r_!`Z>t4F$cD~EWGAOm9u@Q zs(rkm%6Sq^l*-n{PZ`DmJK|S~s!S=aa;xT;*TwO@Q78c|Jilo2OMhphWZldVAU>@a z0kwYKGzUXo2s2M^8o)~M7*>I?-SoCYzDaQwiNUpGb=#2Hv?bTush#hHCRYkRgfQ|& z;{z&0=PRuBnu7QMQ-E^(+n`^c_$6qJ!F)fbNy!m0-N-TAnvujq@M!<2;i3~?nG;DX zrIcL#FqD;-rP%Fekn7Nu<8LK*(&Xb;NfLH9N^esCVh55?#lr z5CNSe59_m#eG6OsZQ{LlCVrjVMsU$oSwz7`Q|HRUZs);r#PG&+;8xhp`d7_DY`3@l z1^D}(6cc1Z!R%QGq-=J4ND zxg`R-8__38DMlq&+^pY1iW55|mav60hZ-1`-$NAVJl(_6xyJn&f?-eN3PU-6%eD`H{Lr3@namj2QoA4f4U78GPgmh{$g_ z-eNeG0xRQxzHszRa;Syg2{JGNI`(olCd(n67efyjwS?1VCm~Y+w(0AV42V(Q9CG14 z5x$&x#eCG6dcz#|hB-2+^@34Mt(t>|K-AwTUm7@VGSNSJW-q%~<8rG?%$tW^Tea`< z#!ATtPtGd(-ZOMks1-jjleSmXeGq(=Bwg7}>Odlw)S;ob2@YOE=j(u@ApNeN!GE?~ zSeFsl99)!!d8E>uXcSj)rZ`>tYks-LNExcs4G{~SZSRF3l8s)H{@CO1CQ7W5`NCl@ zF&%?^%DPbU6AZ+37?t28Wx!QYb&1)kNl!O%3AjiLZBpk&FL9If^aSOr^%9L@`8$#I z8UQdU}FNMDD@b^SJCFz%9T^H~2_|hQx0tly zX}&k&Qg{Y^wCc?FsS@L?azCbd5FZ>zRzm-@t|SA2@XQ-mp~Ul4(TH5Tf>6+)whgz~ z_QLxP=SRkS-d#9?ssz%`V5cnXzOtpA1Vl?q=NVjj3uESZbDlVeO=b|$1i}PCre5{p zxp;USSC$Q%ncCuxA;rm+FT9+HM%z8v%3I}C721KAo=(Mui;Nii@UX-n0^yP)%rk^M z<}Hq#5{yiBavaj4M7?DKQ=0TyK!BR5+qcgY< z;=Wbb1o2ZO%n5!siVrm3076Gvf5ktPAXVmehiH6|dWBqfgW9BWq}?7Wu+6Bf8e2zj zV~&@km}Z<(?LAn8((4|S7D_T16_M*iRb5rkC>QUj(SU9{(y_+3MA0Z=Ec%~bYO8X3 z>|AaL-(?|~t^rjEU*!p zTS3j|1o~Pt33@T8ApCYl^q&|)yq4Y1iGRvyioj-tfu%s1bjl24VL|SXry!fz9Fs>G!|=eN=`-j?GOy^veva zUqm=`!1qV8NU#)`;%0|2vIx7MsWH54ag;Sqhxko++cD>J_TqG!;HyPy~2u-L|R0x`-^$VqJu{ z&ovHRmU!_N+*TPK{Jgk_L`ZiCEBt&esbWS<4Sm;npB8QfC1LmCF- zDSMyrZ3Dro<^JtPC1^^@k>IOFTxh+&BEa-PtQ`v??O zD$~O+?s!JV4LbU%^5T?3#V|vlh!^J=07E7bV+bRpS1=c(3-Mbb=ZTLs$LfzQ9{v{$ zJbnRRrZqPAr;CUG9qYb74b>Dpj~FRGmVcW8YFv0crf3X{uLQKZj(=Br5)#x#kU%i!5s{9iVrn)+WGmBi*A;YG8tbw7kIutv{o`&NlMe#W5&-c$)A z!`kfRk-yrz0r}a_0^@yE^64?kIPWp)1O{4uu(*CAkSz4*_MFqyjB*tyD|u5B@vwfc z!=Ebeuku9{^H=vthlny#_Y-9Ca!DHQ(CpE-#1cP+ZX$~J6l<}m9~oJvBa^8;S`#F- z^S(qOOwyevK8f{Oy*$yb*PgLzIR|0pAUPO=?cwIhVAHxd+N`O^M+@8vY!X;-C^i?L zG$xUQL&!m_tqxX78b=_#zV$B>58gz{H(RL7@y_mGHs*&WrOuV@G&|#b!7iVj#q8O+ zGQlNa=fQg=u`;FNP#T1??}ns3uB@HHxVaF5t-Q} zO#)mGz;=bc_)>}I-cY6NvEqC*3{C@dV||CgKK6#3OY(B2ub1Ex8@H5?C)`XA?pCcd z>GBtZ6P1CcTy~Q4tA?R+p6;4~Z0mT1ayeTA3h3CfQv8xAZXj^r7E7rC!8`icQy)9>-uJuPZL=o|{!L7F=xMZkk`G^C4IYFNVSmV>yq~gq)EMsbT10!{E38LRQE^kv&L3A6%UVDznpvt4QjB3w7WvM{)FfIW`Xh z>FAj<=orM~x^Y6}vb!e^gH;Nnaa)A^thE~mNZ|GJsRhK! zE=5yEGlBR!mxI;*Kj-j18QHOS5nMQ3ts{MGjEZ4QhntF^+!_~eJty%NeH0xSUlyO4 zjIJA6gl>uii?RCS58SckfRw@LRQ)R$-F%5Iu>>W{&U$WH?e=82*TN!z;B|6@kKpIH zLmZ18h)S-162@rS@!4KNnJEfROoGB@qI?*(d&@g%e%rr8JQ&E#oD3&SMZx0S^Rc68 ztlT{Q)F^XErLakqjUd=93sP7%>NyOEEl31BnJIJZntHie7z=3_E3s5@B*8vXzc;&y z8mJ^b$R`${-+?%EMhKC2SJ(X9k%3{p<`v4rxZ~d$?YQO)VIea#1N-FD+G++u!@8zz@Fw_HtYjm4U=H1tVy0NL*7d z*}|pdxg*hauZN-quj$mKm-**%>cTfkDaHy^LG{!gvaLpaqe8Gv5Cq!BL%MXnUV-vz z)0nsv4k?H-Ro*))X_G0C_mq~h?cm~0;{1=BxE2M{jOeR8U03sx#1pv)NRu)1&Wq=-}TKp&YRayEzIj@a`BzOY+x~ymBj_mVG06F zjr%jn8fhU-LTuxBOS7FF&J&GdjtgURdSSh`fl+M5>0vZ}TPayuQ*gwzl~@x%x=b;z z24Q@V&o^o)`!E{(;~GksazG@g08)B!oB>5jUQJu~UteV{z-_e1j1MH)a@#4O>vB0a zJ~#?Lj9)X3KiV@zsXvo)YT6Zk)iU+e4W5DWWRIhdDF<1``2$$MD2x0PskDVp_q z%>Bt(Me$cdmCp8qm0kU$dMLr?E}UL^oA>6Ajs)Ytidzs6(6%0mTH%_(%! zn9PmuWxs?mvi5%Y54=k*rqzSm8C1`^5nhM0+D+LZFTXjYzc)aE18fDb(l1{l0#>DX zY4OW%onc5DN^R9(6APq@Mx`d+=VsJ@t?xN*cDia z|I8tp#rdK=>A37940mylbkP1NFMwt|Jp21CN7@I})r}smR1S>Cdi(jYp6ms0?BG z<~(s%a{&xMo;6#QBNK56j_j=(SV1>t;F76lSFno#_v2m88lm^XKl=fe}%isKnN7{UUCYQ;c={eGd?6(1Dlc-nj9Z6>#|ty*tr+PbUF7XU@@WqX zeIn(duCcDji_Vjg7kTAnC&}bqdDy27s;C+YsHREI*jd7?|s4wHZ9r{?*oEPEZm$6$@mJ&chow~@Qb>Uc$D%(q6%rYePxg2=ej)0~Hc zX{?4X)7Y_yDbn>EO>=zsb=)m2{RJj!+AU}Y@e(>a7@B61-Ga1TagzZV^_zABcR?~Q zQUZf#uzz-YIO?(8K&0=Cy0>G)@Zf~B@%<+O+@2GB%3<9aJ**3xfJfmsA_r6%Fg{3{ zDKOEu0}#V~?#9E|8c!!7tG5{HVSQ;UJY<`wmtX)arlBQ?4^2^wCwP271q%HdW$^no zc8}MT+>0P2r?Xf!!xxtO|-7P7Y;On!bXn<&4zg=kl}2wq$ttFki60!_TYp` zC!Z78d&8GA;Mxa>W1M(mEeub)Dn}pP^=22td=H%Ik#`CtrU*UVw47wBbgz+YW|H&| zVYqoe{QYG(wOzOcUUDEBhxzads}6W#1C$AaQ83(|JTZj`A?xwwSiDGq6?Z&Q2zi*q z-xeN!#_S4b!HZu0vg``~nVb*lZw9^eXP8+`ki$b=Ai{Tfy!&45;&mY4b<-9%ITUa| zq@!M8;R*{sFn4kqhx-sY`51n0x0su@Snr!q#P)%8e2`C!L*+xb)5*{KrWlM=Zjm}< z#@!;f9bMDmc5!r#{R?D(A8b+KtwIW(ll+CWBT}AV06_3^z}l12j%|I{9I1469;|GC zp`g-v68n6F)a~M)ka$}dO;oAR6T5%F8N*SmSJ*R$lwhQtYGfORRk2}OY|(n<$?<$F zJc9;vSCU3x^Fs^-@j!!Nszt>lrPx_|8jek}z{)_1Npx)6BPmXE1W79}F0> zE|*~VQVHu+@WGti>(Q6wa=2^UBT=)FXQX;g5fcr_>Pa};z!JhJJea@`kCK(cnhJuS z6h!<$B|iSc86V^mowSZ9&%%K}GzvQbBxi1>j+lImV2N{<6Co-l)`{wmvH zAmW33z7g}6A&oY@lCQFFnkq`oLUn+yO}vtwXa$Y|1x2wsVO4JeAiiIQ%-HgRErTz; z&TWGc=gA}dBH|vzoIB$?2PWqX@}^R)gjAlK#x*UE+rcv6$r(rAt6jXb>PY+KR&DVT zEa{e{3bHar>AR-T9FQ|JvsRo@@QGdQw=adVDkFoyPG81jx+&%6CJ3g=G?j>tgg#8e%dRGoPh zBNO!Y+zkN3@m}OC24(1ouvd64%#R;$j2xdJ>&Ve+cZe3tr_qT!5zLUHb?nS*QzPS# z;yM>Jx{*^Dzsj`(+C85{=WA@4V-Slg77j}s7;nMU`qcPvA!^;W`CvG}Zx|J@=qvUm z#KrCz2}D;1E~DtA5j3TPN-53ommV^se@xrgji1`$MNp}hg=>k+mPC%3BYQK9F>7+w#Wi!>{Dq<*TPhDaVdSCG7 zh~rN3qsT^zcPqsbJNZXZFXF?<7@EqT(M=JsU_%S~ioqx~joAa5*Z?Gqi3RFDI^nlc zto6rW05wecSCC{mD8kDQ!$k|&w4PPWK!yN;0t7>r059PfxUP&HApI^n!F6Q}7UGLz zG{CL=K@tcKTIG)yLx4a+Knve1#J)V@E+!k8@J8}bUxNw9l_$hJ9>i$EGcH4U5{)_O zjQ)$M%7{^au^1e;>MyP=B5ofTjw9mA8L5Af!X#OPV8xMMMVUO@nUzm}1!^#u_V@T! z077i>i5-P|Mi*1D18;n+jP=sFola3Z`~qqLQq_W&FsW9?c9Nb+ReJaZv;-tw#iW8I zdg?->EiUXzUrcfvDhcsMe$~NFO$>Cv1}vlf3O3;=`KNe$!*Br>Lxz7-z^41;NMzhh ztWh@6HlC=!#58#|)nz7B^|+;G-4AEM2DKNiSa#OgCQ}X$zO>85{G1d26RD>mn_-Yx z4zzqMG6sGy^~E@f+jG|aVHQvL7M#J=D<{2K-*cB8_m-XIeNk1I0&u4iDGFYiSBzE~ zBXVFy(GE_<9Uqb7Vi~{)h6yW%S*RaTYzyF?zJj0O2Az}Mj4yFESdTjia{V#A%L(LN zNE7Im9{UT5+}L5vvAwp#^V-g$x%AqOLWr}~^CDy1?^W=MU^oG04~6M!dZu_hKC~KM zSR#?5N@h}dd>YNH!XLL6A&0WstE#8i`?8h7{Xr8b0g+QI1}CvlV4ABM2#9ODoOf*-&&NSM3!K-(jc!+0VG4_8DEI7v=GQBbD6_je@D=3W?OsT%CQ>YKpwD|Y@pqfifJuD^RaOxhEgw(USLOp4O z`s5!aR3C-H!wAK*6y4b^GU2m_xcFO5~k1#8@4=V>m2hBW~h?Ge_?5ayx=aCxiczRxfB z2ejNn`=d@NFJh3I!pF*GD6hrK(3+(y0nSiNHT~_Y7!opx{|1;Y`3JNz%wk(>Dua5h znAJ^gDE(nRR*?Bhtrn~d=#Yys;7Mn9piQRXm8$coq~>)#hGg9DNQ8qF+l zQGPee+X1W|M1(UmR)plcMO0pV(FM-7QsWTx7S`#zH>o_3Z>F zd6T{Ll59898*l4{)vp;6*-_-s>#1@G=S6xkVjs;gOwzjJjjfW5M0QbFM31ZQc6l*y zST<_UK~e3@m+R+>5NKFqyPT(IMKNs0sCLD0w4Oss4y%d_I}ltN(OoItZCACI>lq7% z_M#5p%M-ssAsua_UTZHVH+`7P?XK}|AM$SBSL3ygMz9T>#Rc!(ZtK<>_Yc)x!&Xci zFg^Q?o8)|~MotRW!1OX!LW+XxC5(ahJ(Pf9dkwIqz?L&YEYJZbN@G^Ik;lEr<0yHM zc}LX6v<+`FRkG5}q8D`8+k%yRewvM{XaARw1 z0C~6v_p&0QG4DH?hj^23P9jd#UM}-2cy7O{M}&Bqw_x0#PeDyo(6Svh?ow3{ zW3#FWPVAh^unZ^n{dSzHEDD7>hn%^Cm0Zl2+g~o=+a&_N85ZzZNI=iTS&}5j1&FFr7%A6^tDnO1bO2o5 zAZ5map(IWVP|TZ-k>X?xS5n#zk3>e1o={Cv7JlG4QIm{>0ntgGV9CVDpVb33VJuc( z#H~DTWC%msD)-f@j^Fj7|91y_5eZiCcLF$_9ryqtZHM^xLc8|V7R{( zT)W_YmxbFUxcddSEQ{yg32uwv7NdC$^5mtuID;#=X=nq3xNixrS#XbM;dTqINpK~o zalvrk7Tj9FeIpC^4}x1QxXUig4EKcKRtau@7OqclD>c5XG<-*J%LVs0Sva2d!b-2; zXu>flXTRW<2yWKfGjUG}u10V-W##+#1Q!+D(Jb76;Hm}p=`5am1y?D!(^;N}RKD1UFl7*Ptm6@_bfsvjo?l zh5L!%!h*XI3--Zqm%Wea;~9OYb1uFE263f=D-zsyvh;a{;0gt|;F8R6uU69D4oM<#1qRH0IkyM$*N@i#Aon_Su^~N7049p86V)9v7uBo3CoJZyiGj zl1c!Vk+frw0$*0~v`OQ;CXKjY(njI7NfTU7(nx`%DZoGry?VT@52IdG!%*s7jGS|z zXcIsmzAFC#*_$EG5E$Sq9G+GjzNy<{ELOOu(}PUMN-rl6)!{~1uOk9 zLEMhVL76%~JGr|cnVWnZPn%r6YjTMTCU*ziHo1b!NiHdnTm{rVR>e7ZR_*tqN<1ZZ z^T{Rc$c8@d`_o|&R?yw^Q+I+SBRjgm(UsGlR=%x_0|w;GVbVasZx6`FaJdDa6p)XA z*|9U;wzI(5%E1BdlBH&8O==rjUSz>e%_zx~7tnYZ3VgIm4a1oslP!2!DfzBa z5*O6sTDYwi1(%~mQb0-t)M7WZ*lo3V8zYx8jPJ&gZj|AL+2X7M102Y~(~84)6^FQ> zI7{HR;s`EB98y3W0xE55N847}p|MpPh^=CjNY_gDqXG7KMJOtMN2e6c*jUG2zDW?- z6+z))l82TL`1L{((=k9AwF|`TFf=rMAQyKTx7hgsI+Xe-V#>&ZD8zG<)p*)8^Ig+S zTrkax;I?TNTuz!vfix>%7PKP^+HDp*kN$}gd19y=Z|%s1-SiB$+2!EjCg-!cp`GabGxRYVqPxjicv^k%UG+g+P#;BbTYU&FM<1ksJ`^B_BC()b{sIBv=YM;%x*l7=}3VfJ&1f>VT`kz!pnA4?xYUJpIY83!1zV8qk2Mel;4CE*|bsxrhtO#X}iZF2Uu~)N}C3 z5U(Aa&;;RW#pAn*M_f?6X1J|*g3A$)6cA4V)mF*4<8u9|Ra*l^kWQ~0q$GgaKAbJr zT5xictMRmQ@m=L2E-2S>xUF1*%aMx|h>U=0yB3kg2l@0%A|1HkM@r%kFn8R~$*Y&3 zx9YA`OCmk|lDL!+KLF|sl}6!ENxE#?*0nrsurR5YUF2{eY zO5aWqM5T~Y2%yq`ML&`uS2;ML6T{QW#dnp9xS(7ma9g19h|GlUV_RGwPs#7dp}&~~%|^VB#L-Pd26`arhKv%wx64W3qJzN^f{1!XRR+sZ7s z9GOW0nH5l%C8|pTtILDPcWo;v9#aS;)VYKH!HOLMGjuesq($Sqibh;ev1XSJ(L>eFD(=Us3*s^#6`h-b8_^9%BK-AP;cxEVX0LhtW|j6S3HgOnI3 z^9VhI)wmg)FtEeZ%Efn;i@2a%tKhbB2`)!2QXnz~luORm#>HNMm1{Lbu*Yf4rwv@W zh=4p%)6W+<(9Mu8ENx;;f3IF!*ojV3OGvZ@k&s|&5z_P@SO?8W(-JaE*5GN=#CJ^- zaltfI!fn$exSTYR0?{d8nrJ){x>g&Kx*pI?5v1&PYuP0dqTP`#+9EJ>lULzsMdQ1Q zMqE&|Qn;;Xg3A$&6c9}TMWdkwh-U09NZI_q)2(Pc0|{y(A=(K2gC(H^%+T`UX+`6^ zibh;ev@qOOG{NPFMhZkmz-q-)#A;5p$TsNonr((0OCXFrvd@{rE@(0J-fRhrz|2h+ z;%O!1yGlr0P{PT{w1k4ok&qOSPyv<4)1govfi0`tYODE5i9k&xl=l$*gUXu#GpuUj zX+`6^ibh;ev~jqt@&uP78YvJN0hPz2tQ~`Vc42t!boM|Nb-UtD`0j_q-RiqNaX0wx zt>RwhyOZLM`0j1uzS?&`EbjOE?rw2kr| z9FJ22Hy}WU4#(h&P7zP5L%ypHi3{p*2yUxG!R6?X6wsjpX72!{(ra#Q_Wm4SvNU^D zP@zHgevAIW>>U6z^oDp^(fF>S5f>C~7u;4f!R3fX3W!F)?A-&w;)8q^I1i(BKC-jJTTJiX<;t>}VuN!VFp5SuCBL&1$K+Ww^%@J75 z{WbDjG#9O5N`QgdTId;6TNgN?)5Fus#dnp9xS(8H;I?uJE=Mj>ATk1~?QujJm&=>{ zVGh0QFy}uCQ6Bk8Mav&ie)(%*Tn9mrA?;fDV$Ox9m6q=+Epb6w(2=^Hbi+HwOv;2;ck9(0Vz`5kw#M8XKb7izj{z%w=%#v+EI!{gwh zMpTT25r~VE`w+qC6jxT3DhG|6+ZXmAQa4czB8gwFc;T*)a#nmWhm~S!CBCCah+<=F zMmlJADpW~t><#IlT{XUsbnqZOHy)^q=ahJIQe9jT<5D4}+cqv-B14?p!CPKZ$9aq| zSS}ZV4!tm*HmCWnIZa$Jr%U0sIW4%HoF)Y_kAUU!66m30kWV@3DQoiTmeY{iwDlxD zu%3A{&+{edsd9HAt*JTLa+e?qM1ZH2o9`+&aY4Dma9gn%#t8BytWt%*cmQ8RuvXKI^5$xx8 zN**e}luP6?043h-h$4SYrGDm~^mL_H2(qUlqqy~;GQS6Qb+`eN@ z9OXIx%l)i&JD=2S-8bs*|4EUpd;Ux!n&*-9Y0Dl)O_B<9x#`AL-Cl@>*8h7q- zGyFvAGf)-%5q&sza*gx3QI3S#*EkzwZ=lau#5)xu6xl#9#K0jeP<0OaSguK(f#u|+y$X=`u`&+|y zb15U=1%D(g3^w6q(EW;KyRfHL4yf!ls3_zLFWXHVvSKB0VQ#@SluA_0@Uh)c*AF{h zLafv*Y$&dXVLNho8MNy2T|R0;2wQ$Cjtm6llI^m6l5Ksd53q!%H%8*Do18tuAc<#> zR@s8=mrv#p_VmieUYl3W+{lnqivPLTZ(EB0xseG#Bn5^oe*jLQc5WKKQQ>IS#oxQ- z!xudNjceO3?f&ynsJH6JhYx?`p8XGiX7qZ}l&;(GaljA%_;Aff5sqPp@LvhPMaqNx z+ACLG|8EUC3tljuMAWuN`9>4DQ*Sz}L z^;f=dUFcPCg9N=;kRlADxnZ|7iTxdf`>s;h_rXwT3{A@aG@hS98871_q)db*&=%pu zGKDsM`5<{vPX03;{3jo#h5x(&nE&KSfBy6OS^m>XseLcHH5B51s7>Q#+^g2>KlRqU zUH_N-0AcVS{24`aNRshuH?BDfbMR96fcq%MEBNK$C)6KT>*dGuxF>(u{J>vM_*HL$ zZ#VeQo`e4c$^d^fl8s+3f6U4G<5g7n<={hD+~My+jVA{m#!@|hqc?>@N0v{^!B4PL z#P2=@Ir!$4ia?g~mxJ#!_&w*qHzWV~o2?;p!gqg0@e9s@AFEaTrgPwz)G7XTOoa+U zJkXl?TXLtmXPqN_^IFCKE%5pDQ}S8GPeWb7FNc3Q$}fLkJ_rA?4T^s^IwJgX!iVls z{C5@P;D-$Ux^snZ(SUQ$5x(5uXPiU6%2o~dW8jP5R+tli_#Vao5+I*`CJg?_dxS10 z{Mc7C{JHASgu!2U4*5clY50fEf$#pR;?cbEmlOXi^$!)?cWbC%OSm9BP|?(WjNpw0k-HsP9VVIS9# zNNfmU<2S*npBCVD9Z<#x(6K`ruW2{)(p?L>aYJX?&m21HaW&{hf291_j>^yK|EDMD`@-4LMD5e+vDIndBasM;=1NfH>0+RlVfW+Sl zSb^6^{z~DIM-^_yx626pX91Gm`GD1MpZK!ke+)Pe?k@mF0hb#8?k_1mjK-LJpLZ3; zzM$~;?V%8oRd&g}cp&~`_k=?4!Rso(cZEWi)&Q2kJsps8{_<|68w4a>72su{dky_7 z<>~??{jGrH_h^gyKLUtsD_djSAK$G0*KbnzVFQ1JaRB*z0}%aIS;Dw$4U8H%%fJ~1 z9@?nkt~T&(7>~RYat*9kxXHpMr8|W24&(WNf%6Rf6F{c(_l+w5Nx(nDt7qWXF^*!o zc$F#X-UCQ?`x=>ymHk@-9Pmm4Qa|hJF(wE6Y@O0wzA6;LUers!g7M@6cwGTVIo=I8 z8}6f@R=$q|lJ8=`Yw`N_+d`o~1^m^DPzZf?Ssd_Uz}3su{Wib~xWDtMPzckQvYQQ@ z{A4I}HQa-M#Q(K{odz}zWIFy1g^c`b0pAYywb!WoZx$(BZ{Wua{Fe`@|8oZR z8@SBC4?wx(HxCeAWs@jGbWZ>l0&)e5@l0H${*M8&{V6f-*?EC{-!sVA}z5C)j zH9u&Aa2oJYK#-KpM_E@zy|<71~Um=WRei+`aiySrdb{%A&!P|9@DU2Uw zrTwoZy3nr?mhL{|{)%yT8~1+Wo-pqFjC;(uUo!F8b(3d}e0H5=73uMB*F~-~^4N8d ze>e1Y-Q$~vpIztJZ250cc`t{o59x7cI!8){Md3d_&9-)_R&b$~xH`Uv+b zJ=aL5ASrhoBTta6}Me?J89gj&`9!E z1O5)^?YhWCc&FR0gK+jqes*1L3~u7>I^vy>U)=X7KcK{I*FowGy<)MhXYhT-<5vjJ zF!uLqmittedoauWmykago?qpI?wb&Q(EWKt6m^rqUS{nLHvR& z{HPcDK+PI-5RJ(fPJsZ|HZmAW=nx>6)EeqwfW#fjrrpA_gYwG~--Q2ht6pf&l zh&DAe*VV6UXlc9;v8jK3LsN?{K!DWBq+TX!b>v2|sbO;i;?OX)>sy;z8dY?SE@Tq2 z8S&O`ZfI(#X9DVLH#K}#Urkyh85ugMHC~$=o7UCd(Rf#D-D>NVo1pqSu-(+U!B2Wx zk((M;w{BQnx1s*t+B@!TY1ka9UB7X|#@f3#Hr6-P-ch$<^*xQNTh`XLtVK%JZfsf& zg3T=rn;PDjM0l)k-P~CJ#ysALWIb{|Bi=R8bx;myVB;o;Lk%oORz|e2K-*iI{W5V! zV@qw*#yjC5ba-9Z)VLv3i=uERKt?I6Z)q|<^{ty*Hm>(`KaI#JCmUN^YB$wwxU-?Q zaeXs_Qoe>JywpNRC{DHYYuDATscTdeOX%jcn;JK)BfyjNtN-Z$8b(`wf+T=BEScoKsYS%W`*0;87T(br_9W2LpA{G|5tdys{MN2n= z%4oCp6WP?Y8|qpb?*@m~&8RET@1{Cb$d--vHC?tE?rLqk8yafKj;?-FgLsN)jT=yl zYnwN1TwS|)Gbl}sTD@@t9DeGV$r90;jhkxM-h0QU#?@D9#C3NxS^jG_HQ;r1LwzHP z&gzyeD9fuYPOG5NlO_%hEy`=^NOosk;|63GU(qo%=^ zW9f{BwVu~D*Ma=bh7HhDJ*rq;Qxl<-KJ#v*Mj_A0vf6tZQT=?+^>th7?%2HGgQ40R zYHqGtx^VHwm%@Rygaz+kxTqxkTX6LUK2W}3;WgzSEGfCVd;t&(%ZXi3UjD(Wt^&Mz zks)7ofk+`u6B^luy7gCX1Vi)t$*ce8we!)mqdAxM9o;~vj}3hZ{_%SU{uc!se(_B| zb}%4*V}{1M!ISeT4x{B)i<+~=jD_e?Te~!}e5vAs&lTuL_#;2c;{OUm?fyGnYNh1V z)wk5PZn&p$!|K}Fn(82)<6ZvR<*DOa%CZ*YFvHhSC_!y)!&+^ttvge`aYH>|`1OH_ zO&h&13|nhZ0_Na}sTn4xn4RLs;Ir}HW#S(N#8QL|-x zXTrO&kYMVKMKJWz(RT86aPZB{lUr&X9_A(o+?aq(9TOD=PV(dM#m0yU?0z}rJh`-J zM#Zv|&er#4`*yr43_CF$2a~gShUBiB6yMTUKzsuWra-fNzyeiXJ9dG4F-~H4Dm4bf z*w|vj!76ND%6^P-*zZ(x!d6bqPpzCML{6{u6wKgW^RhMIe}Z>gVD-*elJJdF@*4z1 z;!3U&DZ?%uw$4nrt*2lk7I!E75%OT2E}uN{gKt43evS!>6toNZpOpvekU8=&U#B(~ zy}6F|WC;Xb!Qa=_k<&8R@qOYP_(~I^>l}F7j=1N*&r<($e&?j^C;p6lIqUPRm(}?1 zGIU1HymU>Vn=o`n-n?|%LAM;6>-aNr=g_SJ4U&FdrGX^|0*F6r7w216e;+b#tBvwiV()`%=cA-)JD!p?09ZWGAHq|vmc@@-kBV+UX}a`Daj*#U&-FKmR`f=)7+-nZJ%R(?{}EkolgLZLn2#bpxP z&xXk#|MYt&{x8G-ANylJo3^*tacVY%^djXjXjjU+7QEYG9lkXjS@3$*z7p_`xWBDQ zHuOc^WIGy^z-C#R8+Hdz($f`_aIihZD+yrzO(yCKdgC^wKM} zm6A6^m}^XkbLCEHPo8?O%81-QB5~NeS(uWFs!}I;6TGoenQkvy?)40igWN`qd$)RM zw(h6Dspye7^{5+1nyEA|_W8mz)r)2o7Ulc&z7-hBFBo-UUhrR`w_dP`CTI0vksCV! zCP2vgAHDq5#qRjxxnniF4S^{Iy`>`VpBK+PQUh~~a_d6|j%?>XA9c^dyg&FaXV?*F ze+gb-HZTexx*SOi;g!#;va)xu)oJm*!6ll z%DNvej5j~k)DP*cA|o~Rk+8h#y&^#pTx|cFDY1ehxL|}# zVsj5I9)1-!-5ONLSR4C1H+y2hUCU{8e+TPds&jl&(9ycZ43SY>z-j88JPl3k_x%uq>o|rW*bx7aO*%AJV$}3 zsqdj?D0of5^W0w!-Wu6pDe*8_**^y_xMrl@8i+5vK&1E)rCQ^;12^!!I>pI zxrDXI{fPw9YeRs+(U6^>tB}IsBx7i*#hL(Eo@89{;U$edq+o+UgYCmFK>M0<7;X3D z9;m2ycN8{3p;`%4<=s*`PpUg?s+Q}X{=p)0gQa(zLXfxqkbq|qW;x#6p0gN@8XZ=&>}Z62_HWraFh*n1y1MRNh(;xQPSzBw@amKqSmPjy>lwbZX0{s z&2=;OY8A?WUE+lu)Lut+Eqp3n3t1~Gq}gziSAZ4OU!Tb(4+HKIl4`v7B7~_@6({97 zBxsYGMuGGbH$M`&3d1TPag%2ubEQc+=?D?8=(Am_nL^ANFk zo`y10oR9`NOo$p3$>K^PA7897WGiRAO`8@aX`)zSQeVSkK+-GK*A_udFN*Ln;MeuD zdR~;i)CiXQaho}!b)Ug$F}|1rOU1J+_^Ceu2V|V~K78;-jTLUvtX?!#+EaVXARkVz z3P5Pu_Fg&WTzSZOa4vOmPChipU7R>UrQt)iMEnnE+4BYPnbX?$%29+%G92|um@kOP z%A*Ha&A$WPYR2QMut_@3B-*6UIfn#qnDk-2OyiGD`gkzu-@;5cUplP8Zn?Zflg@BV zI$^#b*-1zBWmcz{bQC=nkNEwGKHO_?7gUg^7GRv2QHG_1J!d}7=++vg)dYEiLX93d zTk&6Iq2{OOfCy9HvIvvx6+Q zieid?>9A9p?!XS=)1lA8=*M@XnR(;X3CkmvpC1l<@+IPXU&tWT=|e7uC07Z1BPqv>KV=YU(je`DctQ4U6QOGwp(cN#Vdbzl&6W`&h*`!UwiCnWPEpy-YpM1?s87orEH!3 z3}piH_EKIKw%|GTMB?y=S*U-lR-Rj#^}HeO55kGUiFn)DLMKr!L3zahyJapbj#L(6 zlxSXy(!Mk3n|ePy5OS*1ISWp_O@q;7eLK(IPMyV#3kS-$D9uGU_9eON2cT$hfYDo2&) z4K2lTv=J9mT!~Y!555awQNIMiqlNOeQZHjUB^UD2Pwr+BEZ$ZsF;ApUJB2|p7@cyy zz=@2@7JeQ+v6H-piK7w_g=c-9c!Zb*9Isd#1IvIwsKN8R_wS6$WrZ!l~c^WK#hpTZo8wTUATObB-GR=XcBwI!yr z4ToZ=NuZK4rDD3dUEB3?6+f}Uf?9 zHO^u~%nql?1>#3&LgBe))u1JS6)VZj-R~hAOK_NbY3v~Kf;Fk3U~X?1rn85zGUUp- zNEepUV z&d48zx+=pps@^El@-+QhVP+r`OEl1bBru2s_S=#h;%~#@YtKFCu0zU0kS$wwEN9Jy z-R*lmB)$jX%kO_n;~;wYEW&Qe4|QW|U~o>ayKIN{{p~mp$cWaV;T{e*vq_|dI688n zq4H9ZhXnL3zol^^M#`sxp0tTgUPK@vbrr$I8zV5YMvrhC&(dfRPyO&}poA$UQsf%p z*-8wy)vEjNIxU~*d~L&OA*_zEPXyzf{gOtbR0iXpMi73uy?}+#4C_A@+3KLrs&jGyIgJYD4gUAx0dv|cPPMEjwX*NF&g~N z-OCgB3Ax?5K}wj$5Ca>!+HB@8qU&;81YFt9lz58q&7jRTU$V{xVBQ7f6U@<_}} zEomImi6~g|WDmKf!{}kTIUHCo4i~#}Szu_@d}JPTZ;o_<1*1N&(?qSEguGgtq|N0D z)UEXTyBO%0Q%CtYOR}h6xXNHZ>eqnPFWh#}4eK^en~(bCwE3cD{{}Uq=JdI0-_m#x zWymh8)W%SeWH+$i?aB=F!AD|w(WQug9PhwH(^{;)DVSDd#6&XQUFEsCPJ7EcG~)LG zL7O<9H$>WKZ?`K&w6|OJ4YmKjNZV;|hceq+el)|UM5>d6q{&691L1r#@dBL{OSdVl zcWM+E?Au*_*GexdErwNaw9WD&o>bc1an5!jwU1f2aaMHR<|d2AY}eeutM)8@v5 z+P=?+LmQv{VYyYWj{-r-?j(SDJYk159Pe$IT;))%VQ1U;^Wc^wcgCNioUCaOnOy_) z#AiWde>cDGDm}&QXF6uHw;!*NzI;9+FzqT#<9DDkf@?9Vy=Kn7pC)B#xH?~S)%|$j zDhJs&0fSG7D#52MhuAs4H}){q~9uQue^ zI*{CuADS8%VnhA`l2J?H?4&TkK5dQBIetzuW58q>6 zuwv%K&}lIFv7#cV(Kr^nf64u|(nK=@VBM9tbH5@u>zAp9atlmY>sTOiP7$G#gay9KRD zQTtwYMNGxdSa;Z_Vmvnl+oBM%SioZy0@Wc{Xa%SHBa8N-w->G%fNc~E5m66d5bAl% z%5zLayIo@TjI=7li%dK%JA*JPF89+UuaCBUkUCU^wj9N~2ptX95y<9!!SEuG?h8(w!iuaR~}Z+VoT6j;IDcpU<;0=gIg zH-O^T6GHMxO_H%ISTcZ#CI-#V#VTWHkbYR- z0+=7(U0s6Jw2?8oqK45C))Sw!&cSxtp8}DCh-wkIEK>3|40Df>k8AExjSvo10mq4U zCVGj8wm(ZW+~V}VxW&nh7EDBo^iYIYQ(;~rKVok#(oX(ydm6A*=R!O2+S0>cm{Z{h zurG8j@cG2wjZPzG3?zOqkM^nKxiI|#T->1rLRfQ==p(0iLTsQDxR`|pmV?W}n;W8! zCz?nC(-CjSI}5;-Fp(R>;#>G7tN?TZ(KQqJXkuL#{ixpuOP&sf4{P@?+&-I_;jZZb zmYu^$N;-k&9){ZyL2kG=nimf5i00jkq@v@67nFlgnVg_*_$`l!MuC1YIS;Kv4!c*W zCTUT0QB#3EfN*F8HIl2E0H8{#RYu-b8QCa0gH=00-l+aRVYi(_*kEKM$s^lE0$xA` zVVYV5Ke${Q)>k;;h6eh!_(xC@vsN8aMcSQ!^h4ZZn17_R{1 zmfEr=rRMNIf^gb-7LAWY#Th!Ro{=uTkbhDEYy6EeeWa2io?(Qbp4DDCXNEct2 z8&ZkLFRp@?cm7(*AQRe4OKUO*fTFr7wm0aM5t_7*eW61r97YA>iK;o5L!f}_r?jTH z9Teh;L={I`pt(T|-li~S4=cGQ5s3=Ajk3fMKT~j6@khnkPNRfq{h0`+&6!GMU5K^F znq2!bv^*wFKseNoTzEpf9>8hi+E`?`E)*1&NtHiuuBeJ9I#qI)+&&JSw=6c#%G&c# zZlsH`N_N58Br_S}uZ1oxduTXhzwY^P1aM|laQ@oL;*0RsHQH%US%v1_rTDK++j zEU|Yo_Enj&IoMB)eNmR!F~(+>UfH8noOJfK5d|2kAZbO7V&q=g?KB4WC@-%}jlG?Q z18smV1%!=2Am?U%YZltF3d2&2-~YFaZ}?_JNK!~TlNIs+qLI~OspcO}0+-RAArzG9 zRFA4@&w7@isj0NTb1%vdhC>}l#1s8CROC^9Nll$1UF1Ql=#+ZF7cqit(jeO^jXsfsDyX!vE#1=I zc|x<0oZgTc4Y3#?1ZsK^{ic#Vqg)-_iu}%qVebxfd}@@{DjZ$QNZJ>Qd?IhER1|a~ zwJV7=r@PVp<8J>@6Cz8??X<7KbZl&%1P)4>zd{%$z6EA>Mkj-67DCWv@Kf?6v>ULw zhrfTsP{jF0(~UYwR=l9l%`kJrNku{sb{GLIrA>=moQL&9w4AMIymb%NBdo%jUh^A& z!@K9A-c+vLe%T@+tzSCrt2^XEA48Dyt&)~T)0PhnZf`{sL533FaXPUO;SM-pmli%4 zIt;$(mZ5eKQQw)3N}2Wzu`P&nakx+!X=gn_ua#842kEK|FQ1ant}CX|>#e&Qqz!CZfu62yCrw|6)`37v4}T$jZo`d; z7YwR`iN4Ts1h5Lm@5HaQyzJ*98hbpD`fbKfid@x>geTf(CH*16$v5|Z^oWB z*=r`b7Ip2Sy0S9`VC`{b}n}Ir06>IZEBu@YJF} zed>gqv2+}fLJB6|`HKbQz1SxUemo)W`oi!S@32+ApSH>urC2MkwD}@kmBG~gkgb|< zrVTTML-0zPxStz1;ED1;1ZPbm)&00d_TX5o-z?e7Z^2s5M5*s#cQ=u{1knRMz`U}| zN2Jb&uzuToNMOb<|B1;EA>>SkfM~{Kh%+Cx{`(__L*nEiF>cxKgVvN0EKb?C~JS7j73%Gx}fQ`JQ-BThrUBiAl zZjOaZwiBXz!Oe=;2t6o3_9Z~|x#I?%fZYJ$E^g^{?WYgZQ4;DPjbbAe?G%^MZ;y$~ z65Ti;F5~3>L2(&-4-SjVc<$nysi(MSF+EGfS`ze=e4+ET9-h#C?!o|jYsJ-WT(*g; zi_BtR-vn2rhdiUMN#?TKPv6Rdt%`S#Z!~&DoR`QoUTlzK}+f_F=-Ic@lOst=!e5`fLeH zuSaT9eU^mL>~gZqo)VhVC5-2zlf!8L13eW9!NTaFd&nHP(18LTu%wAEF`ExJAFl9~*Gk?x^9V0L-*~~x=+>V(63Cl1u zKnyge1hC#v-PzpO$t?n&);(wjVJ#eQkLjCZlzRv*6u(nT^J#Zm-n@s=>zZ5BiMe~m z6$2HD!hmpe1ip5}w^O(GqaP1H-TcpqGj=2rM8i?pwO;0W3VqxvpFw#zg)&_*REFQM zY-x|kFBXt+Q$5?|a5HCe;$G$;S){TLT{dq!B9#r?YETx`l0~|oDPphyc4gaoreSSj zAW#7p5<9S((}7u8s6kHr`%qfsw4)CW^kD;A2+T0K%#D2sZXk3c;@U_xFRmYu`7r4@ zH`?M$q`KSPZ_pi={ZNfN^;44)6pYqvz*^7RNJGEPsze&#QPVN@yzqJ9&_1w=v}JX6 zOZ*mmXyboIqmd#UZh*ycH2gZk(H*F}G1y~RvT(ZLc7!8g8Tv*H2uA^h(`0#V1DkDN z6U;R^6F`Bj@vGC>=>!3osl~6u4&PP%8J5gW2iy)j5|+UZF~E)ju#?Sl@)499a8^J% zR%oHsc$adMH>#Et9p~3IJ7OR>B9^KD*#c}|j>IrfSqzXUM(l%VY21pDkSNvJ)S-|f zM#<>RTx<{$=A^$*e&ZMMhgYSh6z_US0Oob^>&TPuDo=(b%d-t`N1hUvAx~mJRs=K# zQ;Q_~LiPAnY4OdK*1ZX7@yt>rs-gdsy5qEQ2XxfGGv61?5aH)#~u8_!#wxDP%3m zDxl02W<61z)}W6vj%nY2sI{^WC<#fa@Fjk)kVShKi3(fc-1tS{B}E(ykOA0h#IGX` zzN#)FgWr1PI zEEL1-upnU>ED!@MC}4?9rxa3+7GFsgI8YXjfK412QRB_r^mk|YI1!81RX2sX`?ly4 zT;jJAheb?~d%fEEW?vE@U}?~CC&jE8s9ZKCbJJJI3tUXgfDcs?zB#%ajS3t5u!%`v z$B^+qQ{T;&SWgksIbK~SFQQd^iL*7eJw;n(4~W#Rt!e=&AK6f=Kk!XhK+1u4b_+;v zf`nrMiSMw0!~wWtI0hz=()YVf?}iSeU@=jkJ3nL)>Fhz40VFmgL3ShDvZ3X{{z%P! z9YMk#(qWNtfL44)e4N7eSw3d7mPGOLup@1bj9|@V5ioS7`8VJROj|qK|i^N zXnuH4b;+Ljur(+LuX6WPF`ly@2I9bWv4-JD4R+z;dY^tF*B20A`Xx&ISxHnj84oqj zYh%yfL!+W>(zx?@C~{gGEM3L9n$Ru73)o`AJMxF>0V`KaFv*C6(e@h2yLW8hpj;<3 zBr+L_-wl~?^R(<~bM)8SeICn`Hf4F*gqA&DTn{lAPV~c< z#frm$ZD4(*`4Ns(*z|frX9*gpZ5vxX)ZEKeW6wjqORM|KQR+N}&>f#k-Z4Gs?3)O2 z-`3JVj3YE4=0Hx0$n=RA(KYSrZV_EK2CLYCj?J~3!EK~^^O2)v-PjndpYcTKCJEhi zV-A`R=XVR1Wxei+7~#e8fo+!_oI2k#3W zc{|*T4UbmKbT7ZQ;-x5f*NqnCGRXlbL9Ze;2O<9{6ADp}$Qf|0qp*PR!yLsUozsf?`|1aTR^ zBo^*gq2lN@A%O#9aUv!}4=l6tS5Q-vs4{x{BQ;>BW}x?t{M^0C3xO+1PnHm9Gmb0| zD9a&+MC2C?vPvIBl@=v4O*<%c`C$BU&hg6TQzYicfBCX^UV-i??V%0!!d*c>{Lg;t zj;YsNIN^vN(oK2j7C#H%XIWmys0ZEr&&eHwk%8V(Bknx)z-L~=>BiuSZb20HNjV&! ziTfmk=Z#~B-ajeU?tARnDZXcNepvS7GiR3l=((D+riHJi2hgr7fR z<6c%fM)2ozi)O=er+)n9ed2sh86~`lJErhFpdcgu^ml2%lu^PLTlmaT=y$M9$FopD z27OMT@wrTdr$wSZ`n#Cth48G9!pICC;4lvl@6W}PLEp;}3LXO);nR;3zQDq(Mxoy! z2mNw#Zbur~?06M%4hhfuP!8G3ue?;lZ%~lIU#EqyMtC;*)2C^~#?j(i_*XH(i6?{p z0-r{FT0us55o;Ts9t9cUgBCuTd~?b*;xnVgxA3<|3$M_C-J|G-sZYlJapxi$i>8=Y z?%-klk;k!blf^C*Te2au|6}zjBtE8b4vbsC=4 zv#fZBfY)t!R^PJXorY2xFndB)@3P{}177|f<6zYS#XA7J^(TOrhqhs@;aNS+O7C3Ybq{E|tgrGo`VeRl4Wr(0TdjAm z@n`L)Yv(A7-n0Tg2m2WK+@MsmroRPvLBnHxmM1NJmj6EBbr_!2>#X$N1m1|@S^dt6 zHw8Ic@v8D?^*k#cZ97afyGd5xv*OWCmSbP(Smj4MS(}ZX)&H#Yb^>qlpOrsr2eRTF z0^aPyif8RX23}nS`m?Yf@o~WEfTsW=TIs#zYWL+@z^QPT1C{{3iuMbg$I>4H67Q=9 zFEdyHI0OE(4E`GJCGj3Nc&EWH021$NgMPp>;GO{Ze%SrkQl|Vw02zOU!4CqWohm&E zFdy(Q^VHoBh)zW5!num?HyE3vbiN5lI!y+@I$Ql|7l!_yHh3%cSx^rBA5pjkkm2_l ztUw^$C4l6AlEDKXR=$@`lYY;H$$;Y#z6akUOhcD#13VR3ya4bF_`d^?`CN+%1k$BH zgOFzdwgAoqoDB$)rJK%CK0FXU`I=d*>Hq3OT0VdMpt>&yWI6c&Sx#>v(enX+3`l-& z0c8AIgYPwX1Qm$>j~M*2!C#%F{+j_Azt!MmgWoMudo&@y_ac1LnJSNU2A@FYz+&ll z07?Jz24@=N#xm0VZ$OsgHb9o&#{hv+b{Zh%_Xr9bER}5md?!Trc|hvl#enF_l)jD% zbuwTNAVznk6@U;?>105Nxb%52NBkJz>3}x^69036=wp}0Kx7=?1Bjdl`gI0ppdW=K zN>2kMfA28&??Hro{uGe>e;ttdTMBp{;AHcsT^#y9i$v)ET|nwfyTL|4#=i^@J^pAl+X#cbT~# zg^=n0Hwce-tp>*!3`2R5Oc*oRVX(>IVuR%diwx!% z97JS^Z?MB)lflIX%MBJ8%rQ6!e(-uy%wUJXCWDI&mK!WG2q5v;$DqBGVU!=A_ku6F zo$(9pYn+OI+GOS<_Er$?j8DGC_y~9IL#4e9vA<#+M3jZP%NZMOiG@4;U)pgbzSH0R z3e$tz89xNg?Ti=R#q{v+^xwNs4iX z{rzcpr@I5n!smZLpKfQob2<1Gd?*7S1c}?}kAK?mo$=jwEZiB7{l&ta@lAudo$*}E z@SXA37m&c2OvE1E;F9FbIX%tIom0u-%aOli_XBC}qBM6akdyH-!9wiW_OQ#o^B}e`97QR={S)^((Hs3I=g(yd(UE&#Em1AUFm(XetI-hdrL9G$I3QF;~GR3W&g>#*&q^ z)8d$GarhAH9b)_f_C#(>m}G(dl1mz{hmnk%v63 z*n7JEYM2axiJ4nr-{neJVu2E$R|T6vXukfTd++C*KgX`g&vNfQOuo>%)$#7VXP+vk zh#csh>21jkt$Mq^)9w4t{um#}jcz3S4m4CraSuM!CE+da}HCEd7P`F7169Zfe{bz2r zDnP1_QSP8K9K=d2dvkj6ob3Fm>DJvECwybo0z^-~vC6p@1g8u#u6kMv+~Zw9)qzQ| zIC*mJwc?%yNd!!jYhH_WtVE_tBFDZ@iixCL@U+101>p%Y_kI_xFmw(m0I^{vVS*k)W zEKBTXz&4`6O1b2Ym(sYKF~Bdb!mB=jT*<{S^TRP*+p^EO8IM|mTX?Me?G~UWWxrZcN(+@skI9Jn+6JT5W0_%tb zb`bh}%5l@DD#O1HhF`#~E+~vn@F4p+MdsVt!h`3nxK{_;$u9*$C3hRVwJbKaf}6?N z97h6MaYzk8aTYN@D%juv>?(M17ekaUM~)(jqTv)9JftqmivCvjj*^--_x_O73rb!J zmf$uzDRG=VDo1o2jhYRR)(EsqkevHjuR)Y5c6^8fdoEfU`=N^bs6!wO6OSk+#Ncrd z1W~&jv31VZ)4*=0Ze=&sKu$flVL){7tL~ zvY}@KKAuQzJ+}SHPJwC!1@_C9cIGhBXmSY60@b*bUE^kDO1vWS3v%n-{cG!02Aok5 zQQc#r!XXBiukSJ0sO%xY8EXWPFKnYG57@Lb5UJ^h&O?W)y^-ooxUOh_AhHmrKwr+S zob$Y={qd&X;)Lc?G-AQsUpO1jk_|_>$FeHCw=&Yjx61IWDZwyoN676h!Zi0-={9nA z1H%A!f8@Rj%^y%dq+PNDb)lta1&H8a1tvbRf18dZ!M}(icRaDj#3YIxA^#2RzR-2R z=EK?(Y1kBLr-#XHIbONxtQ9kZFhc-Qun4e)wlT(XiOj&MQ=qUCVOuS8_V$2!!JG^n z@dxm8f=O^fVDu!6JPb_aF}1X0XfiH-on&V*UirA$p@(JXYP=?8hgBgxJ48v#4!v+U z6n-T;2_=OrW&6mcIL|xv1v)?vD%&9{i;ltNa8gIH+pI&(%{8k5yb#tYxS6OoFau)5 zw_U`E-AW%pWJx^SUd%*c(m-Btm4c*-U`ene{xt-%X>zL<(rM#4TVCc_Kt6(zlRJ;Te0jwcN!v;@_VG>U7B;;B75X-W79Y2i@(NVlNQ#dYZmVm(1PO6_ z6CQlC=HhbS=v+xVFr+)24mxLURi{xq)c^2UZpV4`+Hl@Yh$xxb7k>n-#mh2DIvuR! zsC%#N%R~Po5t+-gA|zCt^m}yKf3WYF-R)|d6Opxl;A6(@rhUxPO+QtG!%6bh?005dhBpP6WWYU$1~rzIe)cUVPj}P+h`ZhwWnZSW_zmmCQpZo0q{y%)~SB3&%v5un^M~{$^ zlazD6dLs59{KGwi`1Q2rqEXYfB1G>}J#%?L!Z<~n9HwV3_e!p1Is7Vcf=% z9Ja%QZiiS+@U(8g96)kdpM>>GyoNNIKbNrG5>}TMrspGfN*I?yl4724u_>z3Qi~Iy}ysH?zq?FMD zaE{|$_;tj=cNGW2lEqODw<8V-%Mb@KAPxeSQ7uyaKXyh@hl-i!mS!{W9Klg~iE~TS znbW|5ln&;IbTH3Fh||I3JI*b!1Ci9hOh32el_L_P-22PffZa?!VQ>UDXdp%t>{mj} z;dYL`!ch*#`aMx~cu6|Ke6|?Nf7PC56rZPNc zMO$-nv4k=LY;NKgw*cW6wXDe<>o%#MW{MXHQXrZ+Y1$||*#@tv=;?)&q8^r_t^%GX zZj-qB!;R;`2+dT(^t7r=7132NJKo|(Y^)og2Dddkg@TO;4ujfv53dDp6{R1PS zcD%-Bi^Um{+D>#>G4U2`bVzxoRlk`Q`LG-LR>L~%MiyHpnyT=5ZMfI-Sg&sR$FaK9 z{yRC@#w77m7&ySU1D=vV%u|g25}GisOgfFo0rK7};S@<33X-v+s zLk@~7zYBC3M1+zp{UR=e;JH>o27hZUyl0f~1-5W>NxmRt#P8&+DW1{tKVadHA!fFH z?`yFijn7XMWYAym9u4@&DB(svW8e4`;B!eX_%;B^jZx~4Z-@wNf4JFa*pzpQu%N$&*kIGovRc&1NT>CFP(u;Ed! zw#DMC*@E3w(xZDG?w7WWaqHrnVx0E+X8w)!!v!$inkAVgNA2% zmlf|#;7#Q0Kb~XBZwl(L*YK!^@;Lbj>V9$Nw+eWh-%xs{k6F`Q3A}QiLdIiynSnPG zdW$MkIsp*q6aEA}C){svlfexJBYnOs3XuMb41OKo4f?+* zvt8IX42Tg%={AF_0m;{Dv?F=&p9+Zn&KaB0E}aCo50HGG21vXQo}9y@LZy#FILKP* zX8^%!DKD>rs7lWSWcuR`-UT91(b7CXrpwzs2oI>GcK|8mtCnymEtsz{lT7F@qfjn+z^CSZ=V$V2;5-(823TF@qfj zn+z^CSZ=V$Ab`aCJs|fncG3gS4agte&iCxY=61ecvw*{J=X=wSceTATYTqxbFo9u+V_tFpZg%4@8J&+PPg;@I)rz+2Z6_jT~Wce?-PQ=?R<~g4WGDt zZp6RD7Z>)8BAjuY=MvCOcF#(4FHFNfd+bPgv`uyz zHzjz*RZEs(#}&6pVH2F}apQKktClbQ9Com!FqD0_nZr*a)JU$l>ZY5ovHfTNvfX7V z45jVuO5VriaFvE)0=NMi^lrIk)S?`H`P>L(B5+Z0NKkuEmzbQBynN?Ogv} zby3Bo=gt4rr87Q)z4J3ZeBSh;#53dknKP%)IB(AM3yO-)pFRTt8a!kA^pDJ%RaA7r zdFRbm?8T=f?-zCUYW?>cue^m%1Mhv4`h#XYhiz|85&rR@jm?=&_h=73I(!Bk9CPz? z!++A{bE5mSmgsj<=#iHJd}LS`@eyhwaGvAstGdqU@Z-*BHa=S9WeDw~1zCs$A9r8X zb^5(`_f^ftN7u<4Dd01Gol?@@DFBjA+P6i%{Bt0I+&`)4sTFw%D+CCZso7-96B*+hq9&uEAa+@PzF(-tj_!6VosRBS2U@6Z=|@^)#7O`FDs6xfyO*m4{rHASc^-zXZI7?#gFC8-5#ylsrTb z{>l(yh>>)LdLGVie(_DjVg%2_-sYF+n6uZJ@8HFNZ^vJRUmX9yY8;9*=+!i^`Gg%f zSa;=@7yF0=^QU;{5-g7YkFCff@I2Ja6w6}J5Z6kg;6_L=TKyX=&F(P5VtpwvJRg&! zxTa*dddd7e+)6T*#-ZVy-`vZsmss>i$fptVQf@U(_tor9nhtUdLrRXZ&j)*Yz$4Wa zD|j>)hzgLzVz?qNeGgPZ{@jLxB8ps?XV7(vZ3Zc;b|JAJuks8B*$dT}j< zc*D35gizhB`=O?RJ_-{TLJZI<+>*V#i@5nHi?!UdaaVcM?{mvN4?hiyuDB2-)jS(6 zF2cnpuwVuYc-2P6^H@Gm$MTYteq5fx%R3yFvEuf2{0j8DQxu8!cH`Q{@UCFXu3Ttt zXPY-Z9;F7dFwplmmuzqhx%52dg|dY%alP|-@%*t8d#fz1eGidG`rEcXu=tX)=#jRPnKq=StE1D@zdHGvp*OYHMJ zc3Mz*pFZa`r|NGZcAUdU;W@GX&1;QX8n=L@UkE)|6CHz_ff5@NRP}IWNc7`riDXK> zWd|+R85i?{xo?cE>BknEL~2`*8ZlDzdGwNc8s8?MCmObvJ!7+!6sR@tX##gy!o+?e zmgZ2+pf-h`hjt)?V{!9y0BlJirPP4>6HYNpT2}rd#{*NDhTgTqyKmN;+}F!qv(1oq z7P;L}mF$N3`8G7n4Tx|g*wTjxjh$_$14Ct@ zD)1?wCelfi{0vRZE!d> z1f2<1M9FU@7k#}T4IOIiMDDxMXkzc*ER-&_4)31F@)iVp2O*joY<~=NSD`{&6v^9N zRk9gJtIz|CTRb$UQM6scQ>CMARmpfxTpziZw}CP(2v zM%u~CmLpKUEX$U#R{*_S};k&rGrqH$LSu% zsu9_DV#R-q$U72|XZ!^$f+lw4QED(=qYMkBQFfF} zl5sA)PSrihLYnTecx17hFY&qD5vVE1Revdq<*H;=NZ3&_zC+2VP^M(yGx2ahhzF&a z`Z&`soa?}o5k6i0bAk#p!kaAI)}b=OJB||`J5KnZg-=zOLEmdWUsjkAz83P}gEbO9 z8R4B4ehY@8*}|uvEdFvqU$*cj3->Ep2K|_Ye-|Oy)`3@8!TflX_|rLF#`CmN&YRY1u$Oz}?pHJ?WKAn@h%A4yQ|Bn2%z?uR-4%1h?0$synY-FtG5w8;eiw)28Br6_2 z_qB#+`jQoI9q^hA?^x@X+kofrcPzYvz*}(w^f)ZP&hSj1vhv3-p+nE~Dk~n>iFf}| zD9wdICqdY6?R*X(KykNPK%LoaFl zm+QoXf6;VJ53|zaI`OI_if8(m6_4x0MYis2dYOTDB^n;ctn_?9Oxc#*heb)QO9t_S z=%w!j2qO-W!$T3e?r0c3a=>MO%PXRsq*=6Fj#49NA`-yss=-aLh$2D41}hmbGVSr-Fh zoKu<$$b9UD&`}3Ve*_4x(t829{(CJT)2jf)Q_6u8SSuX_68=t#8SF6FWN@*;a)U(% za|{lG4qi`+8SF6FWN@*;a)U(%0VLl0!Styh&_oYB>+w!^Ok6oR-vXrDX?J-K4A&Q( zc508gopyk|xL0`W7`!l733 zu#F?W(@wKK)9tkD&mjCvxSj97NqEPf`*5_D?EYR_IB&5}4&RvOJ{|H*4*zT#z1lSV zN7KS>St@x+D6x2+M9s7|}nd71L3zGyR@7lSUn+3Jx_uhZx`?O+V_l6hj@lOL|L-f;6u*DIagpwXM9 z{oI`4H2&O(_Hw*++ljWpr^w`2yh!=;eopV40GSl6INp62voF_#n~YxYiq!n#+jw0v zk5k|fS*NYr)*}7)B5VZMt3eC#+;v-a#raR!p}Qde0Dsrxtiy8F5R;HYjEotAk?=dj zqy=6sXGUanVju?NoT{b zUwGUr7t5~Zf;b?iHL!QNFkD&WzBiZiJ&a{HGo_HeKYoRz=d8-YHo(^|MGP1|#Q+3#o^w|Jrbd4dXZ zyttj@JgsM{mz>HO!U4~#ox|iJ#5h7hJUK>4(}O_-Oam|mSYUera|}xW909ThaYeO( zLK_J-_bo5NqUn;rQ1!Cd?5f;8M~qlb)sPy5JTn_hsT3^s<%erx!TW#}n}1{^xGaX7 z7Gkp@pKh)LL>d6x>2Pev_EzL^*YMQQv$1erW)x@!$=pML`mr=5smP>SB zb7Z5wYy`)&&PZ?^8Ko78;IcilVa3EVtvoNW8y!2w3t^Xm^2~}2I_1LT7E;6yHkls_ zu~u_~3-I@0c`979k5+kTS7jhxirzkmj0;^P`c{o>pHs8%&z>uugl`QPsUPr6d(v|! zy1=r_p5fID?`5i+#efUr2P{5g&_H_iX0o=qn?q6P2;^E=k;h3^=u6}aP^L{`7*gnf zK5aVkR;00mmKsLx!xZX<3X~C$#x~bNL}B@5-deip&iAaDYEp@`(W51vAC?#5MB1q2 zTnUz!_)cU_S)u4%G zqN#y{yz`;NQb5@bKmx68o$sgMY6F83DIs|BCRG9ob#<0_Mc8ziE#A+q!1h;bfekW) zI2X~z)&at&u^#bgViN%hQW{9zDF3r}g{L25DB7RTo_e0gD}v^+%4*4fK1W?8zquu9LuZH1gqC)WGTy zjxDd%bxSD8;MC?x5R=*}8H|`C*3!5QCCSq{YD^^p)?vK^?HG(X7h%FNjH^&;nqXjL z4U^u6`Dad<;?OYDGCG_xYPOQzH!|8j-#2cxZ z7-=X*Yc(BH*(3_uJW*2>{zX+}BNKz+ZgKw_R?eIBQW0J=61|jRy%D)h1UAlbT8M3?zUBw#85`t;=km~ zqg>iC7#5+a&6>f;y%Z;|gb)Zln%xIcumXz&XGd!6q+Rn)stT?EsJJrQI)O=D`9+0 zK=fRIzR+p-9Yh)Tg}ith1`QYulgKSQ@P%#9hp*$)yrUm|D|qIlc=FsMkCQ*kHn1={ zq%d?4urIU|zvK)dp_qki1~i(HyCy2PQ(Jfy|Mu|IMOi)l(D9A!{M5FYtANz^;;t@%v+9MoTFY(x8#62C(t#&X%@NCJ!$ z4t0*60E1vo9lwtphSVVbaU0VT*mtZ17%3duGI|0GiU;4pJcx2P_g10H>nQe;{~$iL zQo$73UdOX}$KoPP>f*v0#KX!f<5f&;CT7K)7!-azWP%oHt$?mJ0nsJ^Pn5i9M4VQJ zPn;iq<3$K59Sy|#3Q#H|QI-(w=<&D4i!TQ5w_&1{5%!fO9khc?2Q4jrtHRHr8DxUt z_Lbs(0jD0xRXDl=zqo`6wS76>aHm<-kht0wk_z6uSU=G>Z3#_C`06#+Lj))z zf#w|%5sVeFlu^8%C_c`XUBekGIAQsX_d>a>uu#HHMl!TTbXjV!b>vjWk$c$>4nK!| zV&Nb0l~(Gse}|IqOvGyGW+?h2C=n-tNE`iH*d^ghU#J)YL@?On+gxeoa9JFxVNkEu z3NDE<1f1oyv60$@1mF;8T)QZBt!<(l{K;+--GX)yGzE(DY@1(?+{n>j&fEd zfH#33=?XI2&ASv+zeCM^irJ@_eS%r?RR)(Y9q7k zYe{R3p%4N^x;1GiZH8jWM#-+5+#N~DwHl(r`j94H7-}+qh4q$ZVQ97aTLMvqg`q0w zjiA?vFNO1muHDy4Ze!gL8ijResP!aKExpdkExy z1(r6h5LRA*(_UW$_HRAK&!elz0XS|9Gj%E4(C*z&igoSEKTv8B@rtKdDhaeT?SnWU zO0iQ5z>X@Nu~V1_cD$kx2vTKB4I=UMOdwWz!#ouYt$x|iXj%1+METLN-9%hXa_f$_ zHAJo=QoCjEH!8SyO|mC;eJ<(sOjAErj7paJogZ+iV_c8>IS{QisyQqSl>o zhQSOI6EG@7dDj5?dl~F8)p;a&+h~aECjFn# za?vaM>_eie4&HY9LkISHrtQegmm(F0W|0l2^LvX>^hPbFG*v`kss;<*iyjk{4VvY2 zG}cIpt_Z^7AJ4@XS_XlIp~J#RVQ5%XNInJ-X}OnjJ!D~n8pdy&+iSi7;_eGgffrt| z1&wd-@ICw~mI1?)K{#CLrhjefM)@jw*JS@%)~P?*gx&H~24kZSMF^PqYIi17fbIOw6v^#G4@= z@48WnL;X=4Pr5XKOYytzI&~8#8(rdN_$S4ogvuquUW4iG+NcS}pyFBjXuhlkDU41> z-S^zd*#{Hoxoj;sUUZpt+nd4=15sQKELb^5%6G!K3OAA(iV*Y5wHvKO4A!-iVV7q8 znvix8>h=P+ou!6M2~5`|A6gme(&5?QaaxG^^4wVj2FZxH%=6ft(nqIDjB#O*p~jUc z%k8A#v?1dLIS#im`jW60UkVKUf;3R>wmPS^A+|B>NcjrMgtc?+gwljK!3+1i=D8UE z3(?}#x-E^iIJJ_6KSTB1Zr%T4YqIvIqz!{yT0`YhpXlp{O zMG(2RmncS3ar0V)*{0*Mg4-qia&K?j%{SUl6%~Xof1(xQ9QIg}k!H z&KAWgX~l~z0w=)I`KeV2u;he$`S7^hr4@v7gE}d6J$F8Dgx8SpadKeHq^IvqFq|5M zPL?p_xf8X4)nMEQv#_5O9a)GLvqjKlEFFeB@`Kp<1qM!tIINF^sYxb;FiyLL$J8Ap zO_H8zyFGUf7>h0EpO7H3bq1^;(mApWN-F1CDrYd2G`&icV`$1Tgh1V+5Qsw|5T=uY zCJ;?DL0VdG!2{UzkSO4F*;Q24Kb@L)gDQL)zx5leKx#2E&_>DnH|+*PL2YS6Re*`< zDeaixD!#iQ4JR>e4RwAhy%}7X*M>GNrl0Iup+*Ui>WM^`$*x+L88VgL>@T%0L>SY; zXfq0OAuR}Z!vA2+8gL_%LZjEN8Cv)ZT8JkT&FmG=d#3I8+&RGtw-Q9iUlB_Yoj+0> z_mFsc3tE(7yHSi9MKsv87}q+PyaFqMh3zE3A~sm?TZxMii*VyLSZDA={cA&m62H)( z*Sa%Kd(Wi<3}Arc2-m5Cb!*yqhlw;{C6?KXG(S=O06QO;E2LjFi30eLA_|ik1Y3n5 zg+*NEmC)7G!phKE*WrZ&pES4k&ryK(;ZOFgAv@L!A9`0y>|`CERYnoR8zrW-r}pk0 z_pE-Q3;wFGonr}?0M<~@tEhusvtwN+NqVLYxJ4`@4{|+`IYeEil8kFIlA8gONuez3 zFf*DU<-}xuNr7$|%eW0NvKo<*2NtWr3_j&`V5C;onTUOmrIU>9N>)0YKxtjeqDmi_ z6k+QxS$+M(!m{*yfgCN;p}e`}%M%^Ic3tfi>u7>a>AO8qF3*$1r!BYN0;$CGGLg^~ zj&$**<&Wt1K0TG4m~);{A*f=^qp-DW%*kK$AMlw{9%@4jOyo`b71DT~lT^lt1r@^( zJvkO7a~ey;dX#SC&#s9Rh**LISnx-#HacQN$A`omxg!Nugw_z{0PRWRYn}9W+~IIm z-jZW7c`te6QZeX`yD2$sOi?J0DtaQ4Pr_vWNHD!fm!QY0#pDHLtq{1fb)^;450DJA zdZg4XCd(lwLiR?+qk>6EOdXH9at`{I)Kx8}*(@eiLzy)ZaX12JpvxQhr+<1e#WISC zu_%i1*@{U?Yap{vBsYoF;z{u12sw!#4ms%UxihI)61*hGATRmZcu^z`Brilt=7r%- zQQ!(ps#^SZwrYu8zQtAD{W4eeZED2FkV$7XNh5N;gbLDANoQT1;c#dK z6lA3Gn&;eDBub~de9bu=9F>Gu94(N1W9Mob1)q^L>Y_$ZzO619jf3Nrh}qVQ8OTmi zWNEP4s?Nijp)_5*j_7HOQ2!a9SsAu>TVAw=&9zq)vampFS*SaZkgT$!u$w0;U%p$af_fKkSh#=-hX z7J$zl%a2M=Y$pwR(ydTMBt@W!NWx4l{J?I$ z@Vdf{8u1EFb7Q)D;ZupeU18KAx*NnZ_jq7?5Wdkk)_QjVa)CPwLWh{8@o-=lP0LWe zdf))GW@_A>NK(!{$sJ zSg`eM&Ay7KF3O7InP&OqdI*rm-6KeKAqFx-`VChN9g#3tn+61eS78;ie+v$D{ z9T!a6V9BM)N+SVukJbfL0ojwgc$1w;VkU z0*UUEycdQB06ndaWRiWE4Te&D9Kk{$v#&H<<<)#T z%KMBUC6qVDgq$LBQl}>=D=aikM^93VDyl{1qyW7Qn%=H5>XN3Tx9Ba1I$bG&-l$U1 zFN1tpPXU5{o=(GCOAnQ`(6c7hTeR1ttJADwJoluc;PV&iN8BM$5ygFVvcL(i0NSbv zYDi%_k&G0w*_03AU^s-ORf+E5cTPC|5#lBA+6)h$y29wTWVw+ZB~MSv&0xV7E&a*K zbPApH+V>^1QMY!yuu*6bYMmVHU2Cah4HKhzss>X^AyM08Bm`#Zz;z&&(?tjI^v|(Z z7Zg*LfqGxe8!PR;W1GtDhu68Y?V&u&KVed%Bb`t#D3Vi#A+9d@b3`OPFFF%jnJ$4} z7Pg;Eu$==cS=e5!;utr+$n8z&Dpo4{b$M&u`Y9tvFt%o`Oo=-)gyvnlX01-y>f{BJ zWdReWXYf|bAj6U~7~_as@|(zDiQRPTVaxj^jWc#Dy#J7<^;_h_-n|>uuU?j7FnqSz&suCybe5)T zy+})@m~^JJu>G*6C(}`G<)~}omDnl$WW_5Cb+e{`C#g|4f|;~Plq+$Nj==7G#Vz=x zFz&3Gdu1xi7Ge;mnF%t^LCqItJalr&@dIk71Qk|bU#4v5jNHqmDxL}nZAFT_Y^#ee zN8U1oupqeDvhR3DZu1*n44l;diZP$GnYoksV+-0%ENp$G8%}(F`RY(^CNc6xxxmxm zEiYZ+vF!Z^mB6@mjZ$#0!U<7@XM_P=Rr79=y5umX`$u{wN`0-}w07PkCR>LiGqxyU zn`OKjlorjK77d4AL>ssn!M3LG=0eW3tTEEHxLzrhbY1J(ZIUYY<~TKeLr9E*rB#TN zv($J9;06=Gko5cNZ8x~Hs-kTOwrgrC-spac)Jdrh6FO4Ou*~l;W_w5RF=mwXS{cgD z#3p0n9g-Js!B{{y6)$EX5G_r7D)stxj?}UBFjX{O4N8lqQcpy~tYYnMN8EWbn}=1( zZ1TG(3+p(s)n}|%YQMRl9Por#uT}m$#hgTDGr)p(cTOFPdy9!^n1ri$bi&Dm=}fB$ zrhb1?0Bde`?Kn3fVQv1#dG7uOvX)+DPWD7^vm8H+)mlz@ib^=_Tk%6<4rp0sXbffR z3J4lRHwqz}29ZR%1~q_Dsq^WaL6kJke zRDUU40Fl#}}tTSwHMrCM@UIo|EO~W*AdeSQuggbQ>)AkveUsAb{Y5C5N(*r5Y1EkCNO&xv#t-`@?PmF-udTBw(%rY;i(&e-Xio0 zM6CTI^7Y^d0xbW;_0+5Ii=n#p52}LIJ&_R5W(tTJu0gd=P&S7XG?4Hy2zZ2SRvN>S z2{K@c%8h#qg*_w@T?dhRihqvR``3ze3pcJ&*xm*xwbx`K>^N+3oU4kzFv_f^ATmuN zD#T2*xUrHfur{jhE1WMIP$h2(X*f>npqAr&lk@@{DL_ymX&PPcsB&K~iUzcH&4sga zj2a>>hd0DrkvFG~oBu`;#I&ap3VP|gR6$!2!JVB@?7|Q|k%|Kg-Y!h56MuvUlWAgX zr>^G;NpF-?QfknUVXw}X7Co7kLM2HzNdp%Az#>x>ljOukEv2rv7~U!-l2+HX1;n0z zOUq!vhY%-))6xeDYt3LNp<~Xi?rexDKm_@Qdk&b0(2WJxC+A?xF@hE z0MGc9!n0}Fj)K-2s+E??u5Q-t(vKo})a@rsj|WMX!txZySs4|x4mHjz@1EjU;oU_H z=ouY9A-FtOyB|V-QfX zS!u8mDFde4Qn7_SBoSQ>`FV=DHrak1UQ_BPlXuu)MOLl;*HmN{ep=SxbSg6DX1yWu z!{iSN8`$42?s};fU}D4;NEdRO~&%J(c8tUZJQ!kh0#L^c0pQh zEl9%Js`C!fArld?J;ejiws!k=V1!c_rBK{hg_0DAS*&_%vcAMrEWscacwy8#EBw!tN?37H(irat3{zAK1!t_@4H=S*p zY8?0Dcd}W!A_X^nUkO`$Fl`VoeDjf`&1=#b7r=Tzy?A9|}cy z544aq?8}%^D5;8^4{u!8@sTPR@xiSyxDlpd0N1JDN|kE4 zT?E&{bVELYExd*$yl5RRfWeI|YbwJvZED3xms6W|JiR0t95=+22-Pj$0`*ya$tV%f0DtE-R;(iAw4)1mdbc?V-4Td4YFM+v^ zV03(x>%YNAhtVp$gKv{zW9Fq`2`Kdj zAlNVzur1j8`!S#c^F?w^d{s$bu=j18g?}4%CEn6=@M2kB&cX9dk_hTW^6}q-u3MUW z;gB+l=FN8sYW=Yb$|S*a>>%w3Q~kuGWbPyiS4RAX++8^BK; ze+p?-TFhP7NoW9Ld@ucK1BYa#v;YiPC44h}HOk$>z10ZE=kdD;hu664B?)iAQb5mV zu;?;(OE>zgS*|6)G1ZK#**VA9{*ZC_6dD8I7W4rc zhrBTXUT1GpSjzSS?gk`KN5+&xx~`$i5?zZgxdjM%(CtpA)kWo@&d5_zK#uqFUbSRv#0T7Bhgl`0zR_$a@S_=w` z_A`5EAE`|B6Y0~Byw>2S5Usv=d%X}t4Rx7!$9ZcI1x^hsM3|S}g*5|-1kfSSG)`k0 zjDT2{#)3S0^?QoBre^5~4Gpi=a7hS1qozwV5QWn1ZGIIJpw{8@D%n_&FG+xYHSSy`#c!`yiNfHc8dA;pZE8d;UY=@&-<(Jt!whH+`HprggH4y@ar!-I%dKE{udx4 z<#YdQw*T$l{}P|?qH^4nTmip|g5?uFde4s6=atmoQ?~WH_g(-xWyQ;G_!MwH{-58h zL_fL%c*DeH8ldaNd(+2e&b--w$}i5EcjLQSKKj!8BW3UJjh2;N?eovNV~)S;#`pV9 z`{9ND_xyD4>{EX6y?Ob+oA-Xi-A*2>pUd}GKiB5_{m^&tKiU8EfBn>-`}ysMxfk(a-$dv!h|&-q6h#BFxuv^aIFi&TRab|LH%z zI{BBLJ&)nvKW^lJ@0yc4%O?M*6ny6RW4`zL-fnsy-?==%=XUu8q#vxvP)2wT`M+@= zpGO2YCuh*$`^!(i?0>)Y(Aa0@{eI!B*|&ab=A37r-!tbw?w$G3{>5uPdevX|eDuEC zPM-Tz)6BX5bM}(Cw@zC#ck^A}pBw1jGxsb1d1&s?w3Fxk@Y*xx9T_uo-dEqAKkuU2 z&(6D|aP_=t_eSRR^xZeFe#_>0f1cMpulb9+=l$`@=jY8C{=>W_=lpHn`R~Xt^Y#~( z{ruqj%C1`Q!Lp}Lol%x^=Df1Enl3EcHS3Zx|LiNvmPVG91*WYkTe|j+vM)~$mkl1d zr|hoZeXZ=vM>m%JXy*N8lfSy9Y{A5>WixmDtn8wDA1`}X>r-W8zWHp~na};Q>=!c+ zmOZrfP}$_#*UL7a@mAS)?ilNP?WBBP-#5qmepO!RoAs9ozQE7k>nmJ)rti{~Q+!W- zuEaO<^V59MFVFOS`kS+TPwXl4O*-l0zPbfL-k(b z%2MCiPu}30^5vDjEf;)=dg=Q?{0`sI{UKlI=WV_PeG%UUyYBWK*>kV&C(o?&eQ@yW zKF@34@GZ~(mT%Ho-|@X&vB@`Z^#i^iMgGe->EQ=`mmci&Jv(8m@6k{E)Hig;qrRg( zJ-&iBW4@Q>?etyN)aSc!*OR{XQ=j(zwRW%XOZV^dz53^0_$F2U()WD(uYLLP7kv+u z{mysESBHG#|M0T!p^88GCVk^I->H9o-Pcxi)c1k^e3QE5|I?OS|F*iZ{x6<1&i~qv zPx6;sneTt&lvDhdJ^W7pxmOkVSHIKae|MMH|JtH=`SVXY&HwQSC;0EU{=CVP{cE;=!2i94Q~d9F{cQhp(GU4wn^NL0e)Jsw`s#E2 zxxXp(-*m%={ZIaNy8q~%=lNgp%<@0*we$UX@4LYNyA8AbwUa*TFS~E9zvbO!{&ONe z=wi8l!c7(a3ts$~|JLeC|Kkq_{4Yr|D?th{`nVv!M}R^P5!O@H~ELZaLw|?)-{-1eP`@en5YX6x1tNn*(Hu|r*tI=Qi%SQiCK6sn|p5?dsU*2+?|9k&? zoBxGLxBG9ey4~M=%kBO#-@M&F@W}1{NzdNyf8zJI`=2^|yZ^&~yB+dt@}tASi8J1< zFZTmuErs{-?yz+(JQ$Gui0|iHuJMh0{~X_}>Ccoce6@i8J$Ubd-*$v;2hMijZbzK$h`aqOcm2rs zzLu}~7N0fWxASAsGW_@8eLMUZCjWe=AH#@4T*hHsrp+{&7SkYY(q%eKmwb>f@<|@a z8+jrxw(zP!Jh=)IzvcGY zpfDpmX5mw*z**uCtAEbN&=0#RcWg%dat>PY{Ose|!*f2V;p@=fot!f!BYp>Z0(>6R zkc{xftSERsq97x@!@~b(l=!TNd`7cFvw4$#u}yv%_Cls0ZYBO>hG%ljinkni6Yp1g zCeN&R>ws7EeZ`|(<#FtzRJDw|JMW&cOm`dpgFjF_%2%E&cn1+MXm(yG=M=n8wB+3l zKhmQen%dWtp2<5af3tu${Aa~8xo5?r9h&^Zif8iAz#BpNAd3@*4GtL`xJdnX8;lw3 zGWejuX$C)N@cjngZSb82H$#t@&RRe(?3sKP5DQvm=K`W#F1@%~?p-haW0ksB0}}t^ z20s8jCH|35X#9PEbYBHXyuZy?*ljRia0*}^!k-9gc$2{bgNM+gWcV`%pZj;k+gqvd z2L{&}TxD<`AT~&qzR%!Vlt0~{Gx*t$$vyQG{D9=|0)rnm_#uP8ttOXTBL5&h)iC~S2v7n#m-RzziBNhyb ziJf2nr!=Lg)D3U7^qOYXrO0g@&uK?lx z7^8u|`GFzO`YfE-iT+(T2`eeeDLPWjg9D1_9e^7S1b0!~N^w2Kb*@tVHxzHe07dk# zP&`NR6h$q?WQynEm3g>rXI%zJ+F4OPqKCw*DcVxJ<08rbpm-jzCG3}}lpjvgxauQ%-%%`ZkhZfKkjU3j>_d^fsY2w&fN+b< z`dtT!e?hU3qB+Gz6mfe=Z$HJib`l>&QBKhj&Y=*+!E0qF8Dz z@y--~ZYS|mDE6bczO7{EUK^?YI$#UU zD+%`i61{DJ#BK)VZQ>qg)AZh1G`P=4F`wBpi%abS{OZg#YQl6}afCf-M&{WKkBHz+fY-fECVsAw5-bAuv zO>sbDiND`S!bKDl8cOGhXh5+afM80#3l2Ug@*lxTB6kC42)=}ch_I1nP@e-zgkMOJ z0|eLP@H3ZzD{^pK%=1N@f{#fh@C0=f^C-@yIEkW)q8&v5v0WG-$)ly8w~=!_;q~)0 z;=_jUd9xB@V}c+l(2NgCQktz# zy6V3GCw96jpziziK!f=rTJXC@`GLE|4$(Go=j15mMqv8z_37hzY?V zCYFDjzp4VpA5w@t7?NZv7}sFPB+P6A`cj)83g#W8e3H+J+JV!HScb!ZL0uGiT1{(7 z`+v?4B{~Dz4toE<9`WyU)^!*B3yY+A*Tfd}`x{B^ zMT)iXol$#~C1bR{N)$Q3l8o81dikL)!1l@5+7}v-F#|w09EcR+5Fzq&Aimb$hamc5 z5%WXMsjdVYbz*s$kkbbeBEubh_#^P)BCPZ!01qgLpn?o4^ZUZ;vH9MxB%8?+*C2o^ zX$)+n@PKzCjzbN!BC5U+6`gn3$TxEd;UK&K0UL|?E}{|FS|enwt`W!y?hiIVT~q~I zqCX)^h$2XvW_-qcAVe^vzaAxGLOv4G1eX zAS+eY(BL0C3vX+j_)=#(fu&>fyTX!eGD}>m+gY;5MnDbmjOc<>L>bt{qElb&DrqE{ z6+I`7t5(vkk~*oY@Jt4*!vjdP$MEum*!d5=Z3k`Y{2m~Ik@%zq{D{eu7Ub7LW4ScH zmTfkyvOzIXoT&abpXgn`WIzupOR1$@IA(?o;>^n37BqxOOHnYjeL! zXagG(w4In-Gr_eSxmuMf_8)0tB&8Wu7|SNeMvvCH-+8o&WvK#@pw6Fm2#7{TKSAEY0?0- zo7ET%TxX6>Ol^g953JF8YX{{2t~2VktUIba?}|dsxucp47L~vBL_6#u?q)U^UC<6i zJG+04CQlxPPR9nI)t=)}_N@tM@VH4RW=k*%JsyhI{1T30^CHp9fXQg~lPTzrn5pPL zWijYPt2k5%_wla<#UsCn1e6Zjyo&ZDyj988eaHSwQ<)$Srmjda`d8n)rMcs&q+3)e))a!0J@A?|3RQd7g?a ztkaN{XBrwBnuf~frJ=WZY3P9_4IMd`h6?Yep+_W_iRV!K5e~I3;ZXD`4vj10 zkjXg?#h&NTyh|Jkzse!YN)FAv&Y{wq9J&p$gVMVkT7Hj1{i``t@_<8~9&sqShC^E( zbLhwu4hc^=bO_=LE1q*`;tLLSe956-fs$Tv=q=ES*Bom624WLH&wv8|^p0Hp!t0PO}k3v>hM8Ia|B4mkn20Sy2OpcDm| zLMaPyO&uzLbwaoford-LQ~|QTqemeBe@Qwf$Z_#+NPncrWGZPE0OQKXh00|=NHw3- z!{w@2K6gJk`4x<~Q1o_W`unxC9U0NQftJF%grv~zd~)B^8zuoT$CI}Q1XnFvQ?#Ji z7!aJZZb118P$GJ(D9)uw=6gi$Pm$!(CcF|B&{R(HE*rsptQx7Oa`Km^P~>n~EXwTw zK}4o5B9dzH`VrcZLhcWnf+3p6WP{jI}_eXq;I?Te4<;Q}HkCLt<99TW#w zE6Me)Tj<5drxz5o(PyXoGW#Cg|G)gSuKLRWabB+ug=>x4$vyb|ck}z*q+@nKP{{ng zZ{3cH(hmz4I+1-9aXwC!t?KwkzuLNHYS%xt z=k4L|QClt3+kx9gV!7Lh_6?>W^e6N|8P>?}f?lIn7Uf%FJ_UmfSziZZy?{zVqX_i*Nbnq3Jl?Pk15k5xjrdGY#2AwTfkFHt#^uuxN z$?6PdUH1xpO3__rX_TBd9#JUdR@!Qlj!pLy*sQ z8?8@5H^#GHzS8zduJ$|seFxcZGBjKJF7Mat*b-&Owf5TobULRU)^|g{X6f5C25}L% zG;=PqqHL?;=h6F>g=0*Vw}v8YylfI~Snj83l=Pjj?Qjj6yYnnx<;CcBr5XzhTW0aQ zZ@gzh2aUz8@BGTV-ZR$yv5PO>kTZ`7a<|6eo)eVbk)5$-k1<~C6r{b#6>0OXXz~UH7 zJT#4ew8>eUn`^;TUk>C=E!Xh>{kA!-s?o9ezgwZ9PR_#Gm`v95u8y}bSSW1l8?7v! z;>NyBZ^2Ah9K@ChMVj<#112>jjqw=&UUSdiKv{e=Okr8nMOl*HlIfk+o{zR&h&LBv zym9$oiVoxEFvCN)GCi4#yusjJILkkoAJM!I8j+zCxXDd*KZRVuR^xl|FCD+a>SF`7 zV~S?u)4_$>J;QEj0#4mftW|AMuxV2is+K1Hr4Z(BN{DV(`OO>^RBC|_0An=a!5XAb0_L5FBu@Gcf*C^0a4mx5e<0b zzb@f&&ldQ%_UD;p{a3O9ZG73K;d__`ff@MmfHSz?suCvikrBV(<|#IH#TlMANx(HB z3-E@Z5xkL2U$$AIale9BCz+#mRyz0n-Gyc&W6{VCOVFu@drRmVG|ui3EdIHSy%>jArXKD`NB?$VXd zzTF6$ZArpkKQQE9x;rDQl$N~VUJKRW-J8(+z%gicSX*8HQmrz=DUyAh-WsoSwq@_U zv1j~k7=HY6L$)+Zhljn1#v`v?RC;VXg@1B2!pZ8*{ET}ZJPe_Na?NV|OT{=g>6w5n z+w~NzOyN6q^wu4XFBI;q+Mo=V*)xV0)@YlaRxu{&Cj7jw zz4=Symuho#-gtm*2p`)$lP}x&ybDe5ss4`^j4At2imyvz?0l{muTo=9fI@&sZmnz-) zAUb(arW(`!u~4);O1Jk=zR)3K0Md9jR7Gv;ubO6i0Zl8()_uF}v`{%HTxD~mt*ZEH zzA)jh-`Gw?T9mT6iOPEHGojeUUs%6m4>Fn4MW>s14c{LB2CdoA6P`=UKaG-eB}_F;;dD-lDa0&fruvg7tdj{N;l*<~tdnVpEf~|!2k2etq_C)n O$VBmubX+W`$o>a#xl>30 literal 0 HcmV?d00001 diff --git a/libs/windows/include/opus.h b/libs/windows/include/opus.h new file mode 100644 index 00000000..5be73ddf --- /dev/null +++ b/libs/windows/include/opus.h @@ -0,0 +1,981 @@ +/* Copyright (c) 2010-2011 Xiph.Org Foundation, Skype Limited + Written by Jean-Marc Valin and Koen Vos */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @file opus.h + * @brief Opus reference implementation API + */ + +#ifndef OPUS_H +#define OPUS_H + +#include "opus_types.h" +#include "opus_defines.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @mainpage Opus + * + * The Opus codec is designed for interactive speech and audio transmission over the Internet. + * It is designed by the IETF Codec Working Group and incorporates technology from + * Skype's SILK codec and Xiph.Org's CELT codec. + * + * The Opus codec is designed to handle a wide range of interactive audio applications, + * including Voice over IP, videoconferencing, in-game chat, and even remote live music + * performances. It can scale from low bit-rate narrowband speech to very high quality + * stereo music. Its main features are: + + * @li Sampling rates from 8 to 48 kHz + * @li Bit-rates from 6 kb/s to 510 kb/s + * @li Support for both constant bit-rate (CBR) and variable bit-rate (VBR) + * @li Audio bandwidth from narrowband to full-band + * @li Support for speech and music + * @li Support for mono and stereo + * @li Support for multichannel (up to 255 channels) + * @li Frame sizes from 2.5 ms to 60 ms + * @li Good loss robustness and packet loss concealment (PLC) + * @li Floating point and fixed-point implementation + * + * Documentation sections: + * @li @ref opus_encoder + * @li @ref opus_decoder + * @li @ref opus_repacketizer + * @li @ref opus_multistream + * @li @ref opus_libinfo + * @li @ref opus_custom + */ + +/** @defgroup opus_encoder Opus Encoder + * @{ + * + * @brief This page describes the process and functions used to encode Opus. + * + * Since Opus is a stateful codec, the encoding process starts with creating an encoder + * state. This can be done with: + * + * @code + * int error; + * OpusEncoder *enc; + * enc = opus_encoder_create(Fs, channels, application, &error); + * @endcode + * + * From this point, @c enc can be used for encoding an audio stream. An encoder state + * @b must @b not be used for more than one stream at the same time. Similarly, the encoder + * state @b must @b not be re-initialized for each frame. + * + * While opus_encoder_create() allocates memory for the state, it's also possible + * to initialize pre-allocated memory: + * + * @code + * int size; + * int error; + * OpusEncoder *enc; + * size = opus_encoder_get_size(channels); + * enc = malloc(size); + * error = opus_encoder_init(enc, Fs, channels, application); + * @endcode + * + * where opus_encoder_get_size() returns the required size for the encoder state. Note that + * future versions of this code may change the size, so no assuptions should be made about it. + * + * The encoder state is always continuous in memory and only a shallow copy is sufficient + * to copy it (e.g. memcpy()) + * + * It is possible to change some of the encoder's settings using the opus_encoder_ctl() + * interface. All these settings already default to the recommended value, so they should + * only be changed when necessary. The most common settings one may want to change are: + * + * @code + * opus_encoder_ctl(enc, OPUS_SET_BITRATE(bitrate)); + * opus_encoder_ctl(enc, OPUS_SET_COMPLEXITY(complexity)); + * opus_encoder_ctl(enc, OPUS_SET_SIGNAL(signal_type)); + * @endcode + * + * where + * + * @arg bitrate is in bits per second (b/s) + * @arg complexity is a value from 1 to 10, where 1 is the lowest complexity and 10 is the highest + * @arg signal_type is either OPUS_AUTO (default), OPUS_SIGNAL_VOICE, or OPUS_SIGNAL_MUSIC + * + * See @ref opus_encoderctls and @ref opus_genericctls for a complete list of parameters that can be set or queried. Most parameters can be set or changed at any time during a stream. + * + * To encode a frame, opus_encode() or opus_encode_float() must be called with exactly one frame (2.5, 5, 10, 20, 40 or 60 ms) of audio data: + * @code + * len = opus_encode(enc, audio_frame, frame_size, packet, max_packet); + * @endcode + * + * where + *
    + *
  • audio_frame is the audio data in opus_int16 (or float for opus_encode_float())
  • + *
  • frame_size is the duration of the frame in samples (per channel)
  • + *
  • packet is the byte array to which the compressed data is written
  • + *
  • max_packet is the maximum number of bytes that can be written in the packet (4000 bytes is recommended). + * Do not use max_packet to control VBR target bitrate, instead use the #OPUS_SET_BITRATE CTL.
  • + *
+ * + * opus_encode() and opus_encode_float() return the number of bytes actually written to the packet. + * The return value can be negative, which indicates that an error has occurred. If the return value + * is 2 bytes or less, then the packet does not need to be transmitted (DTX). + * + * Once the encoder state if no longer needed, it can be destroyed with + * + * @code + * opus_encoder_destroy(enc); + * @endcode + * + * If the encoder was created with opus_encoder_init() rather than opus_encoder_create(), + * then no action is required aside from potentially freeing the memory that was manually + * allocated for it (calling free(enc) for the example above) + * + */ + +/** Opus encoder state. + * This contains the complete state of an Opus encoder. + * It is position independent and can be freely copied. + * @see opus_encoder_create,opus_encoder_init + */ +typedef struct OpusEncoder OpusEncoder; + +/** Gets the size of an OpusEncoder structure. + * @param[in] channels int: Number of channels. + * This must be 1 or 2. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_encoder_get_size(int channels); + +/** + */ + +/** Allocates and initializes an encoder state. + * There are three coding modes: + * + * @ref OPUS_APPLICATION_VOIP gives best quality at a given bitrate for voice + * signals. It enhances the input signal by high-pass filtering and + * emphasizing formants and harmonics. Optionally it includes in-band + * forward error correction to protect against packet loss. Use this + * mode for typical VoIP applications. Because of the enhancement, + * even at high bitrates the output may sound different from the input. + * + * @ref OPUS_APPLICATION_AUDIO gives best quality at a given bitrate for most + * non-voice signals like music. Use this mode for music and mixed + * (music/voice) content, broadcast, and applications requiring less + * than 15 ms of coding delay. + * + * @ref OPUS_APPLICATION_RESTRICTED_LOWDELAY configures low-delay mode that + * disables the speech-optimized mode in exchange for slightly reduced delay. + * This mode can only be set on an newly initialized or freshly reset encoder + * because it changes the codec delay. + * + * This is useful when the caller knows that the speech-optimized modes will not be needed (use with caution). + * @param [in] Fs opus_int32: Sampling rate of input signal (Hz) + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) in input signal + * @param [in] application int: Coding mode (@ref OPUS_APPLICATION_VOIP/@ref OPUS_APPLICATION_AUDIO/@ref OPUS_APPLICATION_RESTRICTED_LOWDELAY) + * @param [out] error int*: @ref opus_errorcodes + * @note Regardless of the sampling rate and number channels selected, the Opus encoder + * can switch to a lower audio bandwidth or number of channels if the bitrate + * selected is too low. This also means that it is safe to always use 48 kHz stereo input + * and let the encoder optimize the encoding. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusEncoder *opus_encoder_create( + opus_int32 Fs, + int channels, + int application, + int *error +); + +/** Initializes a previously allocated encoder state + * The memory pointed to by st must be at least the size returned by opus_encoder_get_size(). + * This is intended for applications which use their own allocator instead of malloc. + * @see opus_encoder_create(),opus_encoder_get_size() + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] Fs opus_int32: Sampling rate of input signal (Hz) + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) in input signal + * @param [in] application int: Coding mode (OPUS_APPLICATION_VOIP/OPUS_APPLICATION_AUDIO/OPUS_APPLICATION_RESTRICTED_LOWDELAY) + * @retval #OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_EXPORT int opus_encoder_init( + OpusEncoder *st, + opus_int32 Fs, + int channels, + int application +) OPUS_ARG_NONNULL(1); + +/** Encodes an Opus frame. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] pcm opus_int16*: Input signal (interleaved if 2 channels). length is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size int: Number of samples per channel in the + * input signal. + * This must be an Opus frame size for + * the encoder's sampling rate. + * For example, at 48 kHz the permitted + * values are 120, 240, 480, 960, 1920, + * and 2880. + * Passing in a duration of less than + * 10 ms (480 samples at 48 kHz) will + * prevent the encoder from using the LPC + * or hybrid modes. + * @param [out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_encode( + OpusEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes an Opus frame from floating point input. + * @param [in] st OpusEncoder*: Encoder state + * @param [in] pcm float*: Input in float format (interleaved if 2 channels), with a normal range of +/-1.0. + * Samples with a range beyond +/-1.0 are supported but will + * be clipped by decoders using the integer API and should + * only be used if it is known that the far end supports + * extended dynamic range. + * length is frame_size*channels*sizeof(float) + * @param [in] frame_size int: Number of samples per channel in the + * input signal. + * This must be an Opus frame size for + * the encoder's sampling rate. + * For example, at 48 kHz the permitted + * values are 120, 240, 480, 960, 1920, + * and 2880. + * Passing in a duration of less than + * 10 ms (480 samples at 48 kHz) will + * prevent the encoder from using the LPC + * or hybrid modes. + * @param [out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_encode_float( + OpusEncoder *st, + const float *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Frees an OpusEncoder allocated by opus_encoder_create(). + * @param[in] st OpusEncoder*: State to be freed. + */ +OPUS_EXPORT void opus_encoder_destroy(OpusEncoder *st); + +/** Perform a CTL function on an Opus encoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @param st OpusEncoder*: Encoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls or + * @ref opus_encoderctls. + * @see opus_genericctls + * @see opus_encoderctls + */ +OPUS_EXPORT int opus_encoder_ctl(OpusEncoder *st, int request, ...) OPUS_ARG_NONNULL(1); +/**@}*/ + +/** @defgroup opus_decoder Opus Decoder + * @{ + * + * @brief This page describes the process and functions used to decode Opus. + * + * The decoding process also starts with creating a decoder + * state. This can be done with: + * @code + * int error; + * OpusDecoder *dec; + * dec = opus_decoder_create(Fs, channels, &error); + * @endcode + * where + * @li Fs is the sampling rate and must be 8000, 12000, 16000, 24000, or 48000 + * @li channels is the number of channels (1 or 2) + * @li error will hold the error code in case of failure (or #OPUS_OK on success) + * @li the return value is a newly created decoder state to be used for decoding + * + * While opus_decoder_create() allocates memory for the state, it's also possible + * to initialize pre-allocated memory: + * @code + * int size; + * int error; + * OpusDecoder *dec; + * size = opus_decoder_get_size(channels); + * dec = malloc(size); + * error = opus_decoder_init(dec, Fs, channels); + * @endcode + * where opus_decoder_get_size() returns the required size for the decoder state. Note that + * future versions of this code may change the size, so no assuptions should be made about it. + * + * The decoder state is always continuous in memory and only a shallow copy is sufficient + * to copy it (e.g. memcpy()) + * + * To decode a frame, opus_decode() or opus_decode_float() must be called with a packet of compressed audio data: + * @code + * frame_size = opus_decode(dec, packet, len, decoded, max_size, 0); + * @endcode + * where + * + * @li packet is the byte array containing the compressed data + * @li len is the exact number of bytes contained in the packet + * @li decoded is the decoded audio data in opus_int16 (or float for opus_decode_float()) + * @li max_size is the max duration of the frame in samples (per channel) that can fit into the decoded_frame array + * + * opus_decode() and opus_decode_float() return the number of samples (per channel) decoded from the packet. + * If that value is negative, then an error has occurred. This can occur if the packet is corrupted or if the audio + * buffer is too small to hold the decoded audio. + * + * Opus is a stateful codec with overlapping blocks and as a result Opus + * packets are not coded independently of each other. Packets must be + * passed into the decoder serially and in the correct order for a correct + * decode. Lost packets can be replaced with loss concealment by calling + * the decoder with a null pointer and zero length for the missing packet. + * + * A single codec state may only be accessed from a single thread at + * a time and any required locking must be performed by the caller. Separate + * streams must be decoded with separate decoder states and can be decoded + * in parallel unless the library was compiled with NONTHREADSAFE_PSEUDOSTACK + * defined. + * + */ + +/** Opus decoder state. + * This contains the complete state of an Opus decoder. + * It is position independent and can be freely copied. + * @see opus_decoder_create,opus_decoder_init + */ +typedef struct OpusDecoder OpusDecoder; + +/** Gets the size of an OpusDecoder structure. + * @param [in] channels int: Number of channels. + * This must be 1 or 2. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decoder_get_size(int channels); + +/** Allocates and initializes a decoder state. + * @param [in] Fs opus_int32: Sample rate to decode at (Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) to decode + * @param [out] error int*: #OPUS_OK Success or @ref opus_errorcodes + * + * Internally Opus stores data at 48000 Hz, so that should be the default + * value for Fs. However, the decoder can efficiently decode to buffers + * at 8, 12, 16, and 24 kHz so if for some reason the caller cannot use + * data at the full sample rate, or knows the compressed data doesn't + * use the full frequency range, it can request decoding at a reduced + * rate. Likewise, the decoder is capable of filling in either mono or + * interleaved stereo pcm buffers, at the caller's request. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusDecoder *opus_decoder_create( + opus_int32 Fs, + int channels, + int *error +); + +/** Initializes a previously allocated decoder state. + * The state must be at least the size returned by opus_decoder_get_size(). + * This is intended for applications which use their own allocator instead of malloc. @see opus_decoder_create,opus_decoder_get_size + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @param [in] st OpusDecoder*: Decoder state. + * @param [in] Fs opus_int32: Sampling rate to decode to (Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param [in] channels int: Number of channels (1 or 2) to decode + * @retval #OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_EXPORT int opus_decoder_init( + OpusDecoder *st, + opus_int32 Fs, + int channels +) OPUS_ARG_NONNULL(1); + +/** Decode an Opus packet. + * @param [in] st OpusDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len opus_int32: Number of bytes in payload* + * @param [out] pcm opus_int16*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size Number of samples per channel of available space in \a pcm. + * If this is less than the maximum packet duration (120ms; 5760 for 48kHz), this function will + * not be capable of decoding some packets. In the case of PLC (data==NULL) or FEC (decode_fec=1), + * then frame_size needs to be exactly the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the next incoming packet. For the PLC and + * FEC cases, frame_size must be a multiple of 2.5 ms. + * @param [in] decode_fec int: Flag (0 or 1) to request that any in-band forward error correction data be + * decoded. If no such data is available, the frame is decoded as if it were lost. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decode( + OpusDecoder *st, + const unsigned char *data, + opus_int32 len, + opus_int16 *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode an Opus packet with floating point output. + * @param [in] st OpusDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len opus_int32: Number of bytes in payload + * @param [out] pcm float*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(float) + * @param [in] frame_size Number of samples per channel of available space in \a pcm. + * If this is less than the maximum packet duration (120ms; 5760 for 48kHz), this function will + * not be capable of decoding some packets. In the case of PLC (data==NULL) or FEC (decode_fec=1), + * then frame_size needs to be exactly the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the next incoming packet. For the PLC and + * FEC cases, frame_size must be a multiple of 2.5 ms. + * @param [in] decode_fec int: Flag (0 or 1) to request that any in-band forward error correction data be + * decoded. If no such data is available the frame is decoded as if it were lost. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decode_float( + OpusDecoder *st, + const unsigned char *data, + opus_int32 len, + float *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on an Opus decoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @param st OpusDecoder*: Decoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls or + * @ref opus_decoderctls. + * @see opus_genericctls + * @see opus_decoderctls + */ +OPUS_EXPORT int opus_decoder_ctl(OpusDecoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/** Frees an OpusDecoder allocated by opus_decoder_create(). + * @param[in] st OpusDecoder*: State to be freed. + */ +OPUS_EXPORT void opus_decoder_destroy(OpusDecoder *st); + +/** Parse an opus packet into one or more frames. + * Opus_decode will perform this operation internally so most applications do + * not need to use this function. + * This function does not copy the frames, the returned pointers are pointers into + * the input packet. + * @param [in] data char*: Opus packet to be parsed + * @param [in] len opus_int32: size of data + * @param [out] out_toc char*: TOC pointer + * @param [out] frames char*[48] encapsulated frames + * @param [out] size opus_int16[48] sizes of the encapsulated frames + * @param [out] payload_offset int*: returns the position of the payload within the packet (in bytes) + * @returns number of frames + */ +OPUS_EXPORT int opus_packet_parse( + const unsigned char *data, + opus_int32 len, + unsigned char *out_toc, + const unsigned char *frames[48], + opus_int16 size[48], + int *payload_offset +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Gets the bandwidth of an Opus packet. + * @param [in] data char*: Opus packet + * @retval OPUS_BANDWIDTH_NARROWBAND Narrowband (4kHz bandpass) + * @retval OPUS_BANDWIDTH_MEDIUMBAND Mediumband (6kHz bandpass) + * @retval OPUS_BANDWIDTH_WIDEBAND Wideband (8kHz bandpass) + * @retval OPUS_BANDWIDTH_SUPERWIDEBAND Superwideband (12kHz bandpass) + * @retval OPUS_BANDWIDTH_FULLBAND Fullband (20kHz bandpass) + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_bandwidth(const unsigned char *data) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples per frame from an Opus packet. + * @param [in] data char*: Opus packet. + * This must contain at least one byte of + * data. + * @param [in] Fs opus_int32: Sampling rate in Hz. + * This must be a multiple of 400, or + * inaccurate results will be returned. + * @returns Number of samples per frame. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_samples_per_frame(const unsigned char *data, opus_int32 Fs) OPUS_ARG_NONNULL(1); + +/** Gets the number of channels from an Opus packet. + * @param [in] data char*: Opus packet + * @returns Number of channels + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_channels(const unsigned char *data) OPUS_ARG_NONNULL(1); + +/** Gets the number of frames in an Opus packet. + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @returns Number of frames + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_frames(const unsigned char packet[], opus_int32 len) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples of an Opus packet. + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @param [in] Fs opus_int32: Sampling rate in Hz. + * This must be a multiple of 400, or + * inaccurate results will be returned. + * @returns Number of samples + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_packet_get_nb_samples(const unsigned char packet[], opus_int32 len, opus_int32 Fs) OPUS_ARG_NONNULL(1); + +/** Gets the number of samples of an Opus packet. + * @param [in] dec OpusDecoder*: Decoder state + * @param [in] packet char*: Opus packet + * @param [in] len opus_int32: Length of packet + * @returns Number of samples + * @retval OPUS_BAD_ARG Insufficient data was passed to the function + * @retval OPUS_INVALID_PACKET The compressed data passed is corrupted or of an unsupported type + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_decoder_get_nb_samples(const OpusDecoder *dec, const unsigned char packet[], opus_int32 len) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); + +/** Applies soft-clipping to bring a float signal within the [-1,1] range. If + * the signal is already in that range, nothing is done. If there are values + * outside of [-1,1], then the signal is clipped as smoothly as possible to + * both fit in the range and avoid creating excessive distortion in the + * process. + * @param [in,out] pcm float*: Input PCM and modified PCM + * @param [in] frame_size int Number of samples per channel to process + * @param [in] channels int: Number of channels + * @param [in,out] softclip_mem float*: State memory for the soft clipping process (one float per channel, initialized to zero) + */ +OPUS_EXPORT void opus_pcm_soft_clip(float *pcm, int frame_size, int channels, float *softclip_mem); + + +/**@}*/ + +/** @defgroup opus_repacketizer Repacketizer + * @{ + * + * The repacketizer can be used to merge multiple Opus packets into a single + * packet or alternatively to split Opus packets that have previously been + * merged. Splitting valid Opus packets is always guaranteed to succeed, + * whereas merging valid packets only succeeds if all frames have the same + * mode, bandwidth, and frame size, and when the total duration of the merged + * packet is no more than 120 ms. The 120 ms limit comes from the + * specification and limits decoder memory requirements at a point where + * framing overhead becomes negligible. + * + * The repacketizer currently only operates on elementary Opus + * streams. It will not manipualte multistream packets successfully, except in + * the degenerate case where they consist of data from a single stream. + * + * The repacketizing process starts with creating a repacketizer state, either + * by calling opus_repacketizer_create() or by allocating the memory yourself, + * e.g., + * @code + * OpusRepacketizer *rp; + * rp = (OpusRepacketizer*)malloc(opus_repacketizer_get_size()); + * if (rp != NULL) + * opus_repacketizer_init(rp); + * @endcode + * + * Then the application should submit packets with opus_repacketizer_cat(), + * extract new packets with opus_repacketizer_out() or + * opus_repacketizer_out_range(), and then reset the state for the next set of + * input packets via opus_repacketizer_init(). + * + * For example, to split a sequence of packets into individual frames: + * @code + * unsigned char *data; + * int len; + * while (get_next_packet(&data, &len)) + * { + * unsigned char out[1276]; + * opus_int32 out_len; + * int nb_frames; + * int err; + * int i; + * err = opus_repacketizer_cat(rp, data, len); + * if (err != OPUS_OK) + * { + * release_packet(data); + * return err; + * } + * nb_frames = opus_repacketizer_get_nb_frames(rp); + * for (i = 0; i < nb_frames; i++) + * { + * out_len = opus_repacketizer_out_range(rp, i, i+1, out, sizeof(out)); + * if (out_len < 0) + * { + * release_packet(data); + * return (int)out_len; + * } + * output_next_packet(out, out_len); + * } + * opus_repacketizer_init(rp); + * release_packet(data); + * } + * @endcode + * + * Alternatively, to combine a sequence of frames into packets that each + * contain up to TARGET_DURATION_MS milliseconds of data: + * @code + * // The maximum number of packets with duration TARGET_DURATION_MS occurs + * // when the frame size is 2.5 ms, for a total of (TARGET_DURATION_MS*2/5) + * // packets. + * unsigned char *data[(TARGET_DURATION_MS*2/5)+1]; + * opus_int32 len[(TARGET_DURATION_MS*2/5)+1]; + * int nb_packets; + * unsigned char out[1277*(TARGET_DURATION_MS*2/2)]; + * opus_int32 out_len; + * int prev_toc; + * nb_packets = 0; + * while (get_next_packet(data+nb_packets, len+nb_packets)) + * { + * int nb_frames; + * int err; + * nb_frames = opus_packet_get_nb_frames(data[nb_packets], len[nb_packets]); + * if (nb_frames < 1) + * { + * release_packets(data, nb_packets+1); + * return nb_frames; + * } + * nb_frames += opus_repacketizer_get_nb_frames(rp); + * // If adding the next packet would exceed our target, or it has an + * // incompatible TOC sequence, output the packets we already have before + * // submitting it. + * // N.B., The nb_packets > 0 check ensures we've submitted at least one + * // packet since the last call to opus_repacketizer_init(). Otherwise a + * // single packet longer than TARGET_DURATION_MS would cause us to try to + * // output an (invalid) empty packet. It also ensures that prev_toc has + * // been set to a valid value. Additionally, len[nb_packets] > 0 is + * // guaranteed by the call to opus_packet_get_nb_frames() above, so the + * // reference to data[nb_packets][0] should be valid. + * if (nb_packets > 0 && ( + * ((prev_toc & 0xFC) != (data[nb_packets][0] & 0xFC)) || + * opus_packet_get_samples_per_frame(data[nb_packets], 48000)*nb_frames > + * TARGET_DURATION_MS*48)) + * { + * out_len = opus_repacketizer_out(rp, out, sizeof(out)); + * if (out_len < 0) + * { + * release_packets(data, nb_packets+1); + * return (int)out_len; + * } + * output_next_packet(out, out_len); + * opus_repacketizer_init(rp); + * release_packets(data, nb_packets); + * data[0] = data[nb_packets]; + * len[0] = len[nb_packets]; + * nb_packets = 0; + * } + * err = opus_repacketizer_cat(rp, data[nb_packets], len[nb_packets]); + * if (err != OPUS_OK) + * { + * release_packets(data, nb_packets+1); + * return err; + * } + * prev_toc = data[nb_packets][0]; + * nb_packets++; + * } + * // Output the final, partial packet. + * if (nb_packets > 0) + * { + * out_len = opus_repacketizer_out(rp, out, sizeof(out)); + * release_packets(data, nb_packets); + * if (out_len < 0) + * return (int)out_len; + * output_next_packet(out, out_len); + * } + * @endcode + * + * An alternate way of merging packets is to simply call opus_repacketizer_cat() + * unconditionally until it fails. At that point, the merged packet can be + * obtained with opus_repacketizer_out() and the input packet for which + * opus_repacketizer_cat() needs to be re-added to a newly reinitialized + * repacketizer state. + */ + +typedef struct OpusRepacketizer OpusRepacketizer; + +/** Gets the size of an OpusRepacketizer structure. + * @returns The size in bytes. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_repacketizer_get_size(void); + +/** (Re)initializes a previously allocated repacketizer state. + * The state must be at least the size returned by opus_repacketizer_get_size(). + * This can be used for applications which use their own allocator instead of + * malloc(). + * It must also be called to reset the queue of packets waiting to be + * repacketized, which is necessary if the maximum packet duration of 120 ms + * is reached or if you wish to submit packets with a different Opus + * configuration (coding mode, audio bandwidth, frame size, or channel count). + * Failure to do so will prevent a new packet from being added with + * opus_repacketizer_cat(). + * @see opus_repacketizer_create + * @see opus_repacketizer_get_size + * @see opus_repacketizer_cat + * @param rp OpusRepacketizer*: The repacketizer state to + * (re)initialize. + * @returns A pointer to the same repacketizer state that was passed in. + */ +OPUS_EXPORT OpusRepacketizer *opus_repacketizer_init(OpusRepacketizer *rp) OPUS_ARG_NONNULL(1); + +/** Allocates memory and initializes the new repacketizer with + * opus_repacketizer_init(). + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusRepacketizer *opus_repacketizer_create(void); + +/** Frees an OpusRepacketizer allocated by + * opus_repacketizer_create(). + * @param[in] rp OpusRepacketizer*: State to be freed. + */ +OPUS_EXPORT void opus_repacketizer_destroy(OpusRepacketizer *rp); + +/** Add a packet to the current repacketizer state. + * This packet must match the configuration of any packets already submitted + * for repacketization since the last call to opus_repacketizer_init(). + * This means that it must have the same coding mode, audio bandwidth, frame + * size, and channel count. + * This can be checked in advance by examining the top 6 bits of the first + * byte of the packet, and ensuring they match the top 6 bits of the first + * byte of any previously submitted packet. + * The total duration of audio in the repacketizer state also must not exceed + * 120 ms, the maximum duration of a single packet, after adding this packet. + * + * The contents of the current repacketizer state can be extracted into new + * packets using opus_repacketizer_out() or opus_repacketizer_out_range(). + * + * In order to add a packet with a different configuration or to add more + * audio beyond 120 ms, you must clear the repacketizer state by calling + * opus_repacketizer_init(). + * If a packet is too large to add to the current repacketizer state, no part + * of it is added, even if it contains multiple frames, some of which might + * fit. + * If you wish to be able to add parts of such packets, you should first use + * another repacketizer to split the packet into pieces and add them + * individually. + * @see opus_repacketizer_out_range + * @see opus_repacketizer_out + * @see opus_repacketizer_init + * @param rp OpusRepacketizer*: The repacketizer state to which to + * add the packet. + * @param[in] data const unsigned char*: The packet data. + * The application must ensure + * this pointer remains valid + * until the next call to + * opus_repacketizer_init() or + * opus_repacketizer_destroy(). + * @param len opus_int32: The number of bytes in the packet data. + * @returns An error code indicating whether or not the operation succeeded. + * @retval #OPUS_OK The packet's contents have been added to the repacketizer + * state. + * @retval #OPUS_INVALID_PACKET The packet did not have a valid TOC sequence, + * the packet's TOC sequence was not compatible + * with previously submitted packets (because + * the coding mode, audio bandwidth, frame size, + * or channel count did not match), or adding + * this packet would increase the total amount of + * audio stored in the repacketizer state to more + * than 120 ms. + */ +OPUS_EXPORT int opus_repacketizer_cat(OpusRepacketizer *rp, const unsigned char *data, opus_int32 len) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); + + +/** Construct a new packet from data previously submitted to the repacketizer + * state via opus_repacketizer_cat(). + * @param rp OpusRepacketizer*: The repacketizer state from which to + * construct the new packet. + * @param begin int: The index of the first frame in the current + * repacketizer state to include in the output. + * @param end int: One past the index of the last frame in the + * current repacketizer state to include in the + * output. + * @param[out] data const unsigned char*: The buffer in which to + * store the output packet. + * @param maxlen opus_int32: The maximum number of bytes to store in + * the output buffer. In order to guarantee + * success, this should be at least + * 1276 for a single frame, + * or for multiple frames, + * 1277*(end-begin). + * However, 1*(end-begin) plus + * the size of all packet data submitted to + * the repacketizer since the last call to + * opus_repacketizer_init() or + * opus_repacketizer_create() is also + * sufficient, and possibly much smaller. + * @returns The total size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BAD_ARG [begin,end) was an invalid range of + * frames (begin < 0, begin >= end, or end > + * opus_repacketizer_get_nb_frames()). + * @retval #OPUS_BUFFER_TOO_SMALL \a maxlen was insufficient to contain the + * complete output packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_repacketizer_out_range(OpusRepacketizer *rp, int begin, int end, unsigned char *data, opus_int32 maxlen) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Return the total number of frames contained in packet data submitted to + * the repacketizer state so far via opus_repacketizer_cat() since the last + * call to opus_repacketizer_init() or opus_repacketizer_create(). + * This defines the valid range of packets that can be extracted with + * opus_repacketizer_out_range() or opus_repacketizer_out(). + * @param rp OpusRepacketizer*: The repacketizer state containing the + * frames. + * @returns The total number of frames contained in the packet data submitted + * to the repacketizer state. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_repacketizer_get_nb_frames(OpusRepacketizer *rp) OPUS_ARG_NONNULL(1); + +/** Construct a new packet from data previously submitted to the repacketizer + * state via opus_repacketizer_cat(). + * This is a convenience routine that returns all the data submitted so far + * in a single packet. + * It is equivalent to calling + * @code + * opus_repacketizer_out_range(rp, 0, opus_repacketizer_get_nb_frames(rp), + * data, maxlen) + * @endcode + * @param rp OpusRepacketizer*: The repacketizer state from which to + * construct the new packet. + * @param[out] data const unsigned char*: The buffer in which to + * store the output packet. + * @param maxlen opus_int32: The maximum number of bytes to store in + * the output buffer. In order to guarantee + * success, this should be at least + * 1277*opus_repacketizer_get_nb_frames(rp). + * However, + * 1*opus_repacketizer_get_nb_frames(rp) + * plus the size of all packet data + * submitted to the repacketizer since the + * last call to opus_repacketizer_init() or + * opus_repacketizer_create() is also + * sufficient, and possibly much smaller. + * @returns The total size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BUFFER_TOO_SMALL \a maxlen was insufficient to contain the + * complete output packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_repacketizer_out(OpusRepacketizer *rp, unsigned char *data, opus_int32 maxlen) OPUS_ARG_NONNULL(1); + +/** Pads a given Opus packet to a larger size (possibly changing the TOC sequence). + * @param[in,out] data const unsigned char*: The buffer containing the + * packet to pad. + * @param len opus_int32: The size of the packet. + * This must be at least 1. + * @param new_len opus_int32: The desired size of the packet after padding. + * This must be at least as large as len. + * @returns an error code + * @retval #OPUS_OK \a on success. + * @retval #OPUS_BAD_ARG \a len was less than 1 or new_len was less than len. + * @retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet. + */ +OPUS_EXPORT int opus_packet_pad(unsigned char *data, opus_int32 len, opus_int32 new_len); + +/** Remove all padding from a given Opus packet and rewrite the TOC sequence to + * minimize space usage. + * @param[in,out] data const unsigned char*: The buffer containing the + * packet to strip. + * @param len opus_int32: The size of the packet. + * This must be at least 1. + * @returns The new size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BAD_ARG \a len was less than 1. + * @retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_packet_unpad(unsigned char *data, opus_int32 len); + +/** Pads a given Opus multi-stream packet to a larger size (possibly changing the TOC sequence). + * @param[in,out] data const unsigned char*: The buffer containing the + * packet to pad. + * @param len opus_int32: The size of the packet. + * This must be at least 1. + * @param new_len opus_int32: The desired size of the packet after padding. + * This must be at least 1. + * @param nb_streams opus_int32: The number of streams (not channels) in the packet. + * This must be at least as large as len. + * @returns an error code + * @retval #OPUS_OK \a on success. + * @retval #OPUS_BAD_ARG \a len was less than 1. + * @retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet. + */ +OPUS_EXPORT int opus_multistream_packet_pad(unsigned char *data, opus_int32 len, opus_int32 new_len, int nb_streams); + +/** Remove all padding from a given Opus multi-stream packet and rewrite the TOC sequence to + * minimize space usage. + * @param[in,out] data const unsigned char*: The buffer containing the + * packet to strip. + * @param len opus_int32: The size of the packet. + * This must be at least 1. + * @param nb_streams opus_int32: The number of streams (not channels) in the packet. + * This must be at least 1. + * @returns The new size of the output packet on success, or an error code + * on failure. + * @retval #OPUS_BAD_ARG \a len was less than 1 or new_len was less than len. + * @retval #OPUS_INVALID_PACKET \a data did not contain a valid Opus packet. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_packet_unpad(unsigned char *data, opus_int32 len, int nb_streams); + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_H */ diff --git a/libs/windows/include/opus_custom.h b/libs/windows/include/opus_custom.h new file mode 100644 index 00000000..41f36bf2 --- /dev/null +++ b/libs/windows/include/opus_custom.h @@ -0,0 +1,342 @@ +/* Copyright (c) 2007-2008 CSIRO + Copyright (c) 2007-2009 Xiph.Org Foundation + Copyright (c) 2008-2012 Gregory Maxwell + Written by Jean-Marc Valin and Gregory Maxwell */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + @file opus_custom.h + @brief Opus-Custom reference implementation API + */ + +#ifndef OPUS_CUSTOM_H +#define OPUS_CUSTOM_H + +#include "opus_defines.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef CUSTOM_MODES +# define OPUS_CUSTOM_EXPORT OPUS_EXPORT +# define OPUS_CUSTOM_EXPORT_STATIC OPUS_EXPORT +#else +# define OPUS_CUSTOM_EXPORT +# ifdef OPUS_BUILD +# define OPUS_CUSTOM_EXPORT_STATIC static OPUS_INLINE +# else +# define OPUS_CUSTOM_EXPORT_STATIC +# endif +#endif + +/** @defgroup opus_custom Opus Custom + * @{ + * Opus Custom is an optional part of the Opus specification and + * reference implementation which uses a distinct API from the regular + * API and supports frame sizes that are not normally supported.\ Use + * of Opus Custom is discouraged for all but very special applications + * for which a frame size different from 2.5, 5, 10, or 20 ms is needed + * (for either complexity or latency reasons) and where interoperability + * is less important. + * + * In addition to the interoperability limitations the use of Opus custom + * disables a substantial chunk of the codec and generally lowers the + * quality available at a given bitrate. Normally when an application needs + * a different frame size from the codec it should buffer to match the + * sizes but this adds a small amount of delay which may be important + * in some very low latency applications. Some transports (especially + * constant rate RF transports) may also work best with frames of + * particular durations. + * + * Libopus only supports custom modes if they are enabled at compile time. + * + * The Opus Custom API is similar to the regular API but the + * @ref opus_encoder_create and @ref opus_decoder_create calls take + * an additional mode parameter which is a structure produced by + * a call to @ref opus_custom_mode_create. Both the encoder and decoder + * must create a mode using the same sample rate (fs) and frame size + * (frame size) so these parameters must either be signaled out of band + * or fixed in a particular implementation. + * + * Similar to regular Opus the custom modes support on the fly frame size + * switching, but the sizes available depend on the particular frame size in + * use. For some initial frame sizes on a single on the fly size is available. + */ + +/** Contains the state of an encoder. One encoder state is needed + for each stream. It is initialized once at the beginning of the + stream. Do *not* re-initialize the state for every frame. + @brief Encoder state + */ +typedef struct OpusCustomEncoder OpusCustomEncoder; + +/** State of the decoder. One decoder state is needed for each stream. + It is initialized once at the beginning of the stream. Do *not* + re-initialize the state for every frame. + @brief Decoder state + */ +typedef struct OpusCustomDecoder OpusCustomDecoder; + +/** The mode contains all the information necessary to create an + encoder. Both the encoder and decoder need to be initialized + with exactly the same mode, otherwise the output will be + corrupted. + @brief Mode configuration + */ +typedef struct OpusCustomMode OpusCustomMode; + +/** Creates a new mode struct. This will be passed to an encoder or + * decoder. The mode MUST NOT BE DESTROYED until the encoders and + * decoders that use it are destroyed as well. + * @param [in] Fs int: Sampling rate (8000 to 96000 Hz) + * @param [in] frame_size int: Number of samples (per channel) to encode in each + * packet (64 - 1024, prime factorization must contain zero or more 2s, 3s, or 5s and no other primes) + * @param [out] error int*: Returned error code (if NULL, no error will be returned) + * @return A newly created mode + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT OpusCustomMode *opus_custom_mode_create(opus_int32 Fs, int frame_size, int *error); + +/** Destroys a mode struct. Only call this after all encoders and + * decoders using this mode are destroyed as well. + * @param [in] mode OpusCustomMode*: Mode to be freed. + */ +OPUS_CUSTOM_EXPORT void opus_custom_mode_destroy(OpusCustomMode *mode); + + +#if !defined(OPUS_BUILD) || defined(CELT_ENCODER_C) + +/* Encoder */ +/** Gets the size of an OpusCustomEncoder structure. + * @param [in] mode OpusCustomMode *: Mode configuration + * @param [in] channels int: Number of channels + * @returns size + */ +OPUS_CUSTOM_EXPORT_STATIC OPUS_WARN_UNUSED_RESULT int opus_custom_encoder_get_size( + const OpusCustomMode *mode, + int channels +) OPUS_ARG_NONNULL(1); + +# ifdef CUSTOM_MODES +/** Initializes a previously allocated encoder state + * The memory pointed to by st must be the size returned by opus_custom_encoder_get_size. + * This is intended for applications which use their own allocator instead of malloc. + * @see opus_custom_encoder_create(),opus_custom_encoder_get_size() + * To reset a previously initialized state use the OPUS_RESET_STATE CTL. + * @param [in] st OpusCustomEncoder*: Encoder state + * @param [in] mode OpusCustomMode *: Contains all the information about the characteristics of + * the stream (must be the same characteristics as used for the + * decoder) + * @param [in] channels int: Number of channels + * @return OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_CUSTOM_EXPORT int opus_custom_encoder_init( + OpusCustomEncoder *st, + const OpusCustomMode *mode, + int channels +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); +# endif +#endif + + +/** Creates a new encoder state. Each stream needs its own encoder + * state (can't be shared across simultaneous streams). + * @param [in] mode OpusCustomMode*: Contains all the information about the characteristics of + * the stream (must be the same characteristics as used for the + * decoder) + * @param [in] channels int: Number of channels + * @param [out] error int*: Returns an error code + * @return Newly created encoder state. +*/ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT OpusCustomEncoder *opus_custom_encoder_create( + const OpusCustomMode *mode, + int channels, + int *error +) OPUS_ARG_NONNULL(1); + + +/** Destroys a an encoder state. + * @param[in] st OpusCustomEncoder*: State to be freed. + */ +OPUS_CUSTOM_EXPORT void opus_custom_encoder_destroy(OpusCustomEncoder *st); + +/** Encodes a frame of audio. + * @param [in] st OpusCustomEncoder*: Encoder state + * @param [in] pcm float*: PCM audio in float format, with a normal range of +/-1.0. + * Samples with a range beyond +/-1.0 are supported but will + * be clipped by decoders using the integer API and should + * only be used if it is known that the far end supports + * extended dynamic range. There must be exactly + * frame_size samples per channel. + * @param [in] frame_size int: Number of samples per frame of input signal + * @param [out] compressed char *: The compressed data is written here. This may not alias pcm and must be at least maxCompressedBytes long. + * @param [in] maxCompressedBytes int: Maximum number of bytes to use for compressing the frame + * (can change from one frame to another) + * @return Number of bytes written to "compressed". + * If negative, an error has occurred (see error codes). It is IMPORTANT that + * the length returned be somehow transmitted to the decoder. Otherwise, no + * decoding is possible. + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_encode_float( + OpusCustomEncoder *st, + const float *pcm, + int frame_size, + unsigned char *compressed, + int maxCompressedBytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes a frame of audio. + * @param [in] st OpusCustomEncoder*: Encoder state + * @param [in] pcm opus_int16*: PCM audio in signed 16-bit format (native endian). + * There must be exactly frame_size samples per channel. + * @param [in] frame_size int: Number of samples per frame of input signal + * @param [out] compressed char *: The compressed data is written here. This may not alias pcm and must be at least maxCompressedBytes long. + * @param [in] maxCompressedBytes int: Maximum number of bytes to use for compressing the frame + * (can change from one frame to another) + * @return Number of bytes written to "compressed". + * If negative, an error has occurred (see error codes). It is IMPORTANT that + * the length returned be somehow transmitted to the decoder. Otherwise, no + * decoding is possible. + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_encode( + OpusCustomEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *compressed, + int maxCompressedBytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on an Opus custom encoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @see opus_encoderctls + */ +OPUS_CUSTOM_EXPORT int opus_custom_encoder_ctl(OpusCustomEncoder * OPUS_RESTRICT st, int request, ...) OPUS_ARG_NONNULL(1); + + +#if !defined(OPUS_BUILD) || defined(CELT_DECODER_C) +/* Decoder */ + +/** Gets the size of an OpusCustomDecoder structure. + * @param [in] mode OpusCustomMode *: Mode configuration + * @param [in] channels int: Number of channels + * @returns size + */ +OPUS_CUSTOM_EXPORT_STATIC OPUS_WARN_UNUSED_RESULT int opus_custom_decoder_get_size( + const OpusCustomMode *mode, + int channels +) OPUS_ARG_NONNULL(1); + +/** Initializes a previously allocated decoder state + * The memory pointed to by st must be the size returned by opus_custom_decoder_get_size. + * This is intended for applications which use their own allocator instead of malloc. + * @see opus_custom_decoder_create(),opus_custom_decoder_get_size() + * To reset a previously initialized state use the OPUS_RESET_STATE CTL. + * @param [in] st OpusCustomDecoder*: Decoder state + * @param [in] mode OpusCustomMode *: Contains all the information about the characteristics of + * the stream (must be the same characteristics as used for the + * encoder) + * @param [in] channels int: Number of channels + * @return OPUS_OK Success or @ref opus_errorcodes + */ +OPUS_CUSTOM_EXPORT_STATIC int opus_custom_decoder_init( + OpusCustomDecoder *st, + const OpusCustomMode *mode, + int channels +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2); + +#endif + + +/** Creates a new decoder state. Each stream needs its own decoder state (can't + * be shared across simultaneous streams). + * @param [in] mode OpusCustomMode: Contains all the information about the characteristics of the + * stream (must be the same characteristics as used for the encoder) + * @param [in] channels int: Number of channels + * @param [out] error int*: Returns an error code + * @return Newly created decoder state. + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT OpusCustomDecoder *opus_custom_decoder_create( + const OpusCustomMode *mode, + int channels, + int *error +) OPUS_ARG_NONNULL(1); + +/** Destroys a an decoder state. + * @param[in] st OpusCustomDecoder*: State to be freed. + */ +OPUS_CUSTOM_EXPORT void opus_custom_decoder_destroy(OpusCustomDecoder *st); + +/** Decode an opus custom frame with floating point output + * @param [in] st OpusCustomDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len int: Number of bytes in payload + * @param [out] pcm float*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(float) + * @param [in] frame_size Number of samples per channel of available space in *pcm. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_decode_float( + OpusCustomDecoder *st, + const unsigned char *data, + int len, + float *pcm, + int frame_size +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode an opus custom frame + * @param [in] st OpusCustomDecoder*: Decoder state + * @param [in] data char*: Input payload. Use a NULL pointer to indicate packet loss + * @param [in] len int: Number of bytes in payload + * @param [out] pcm opus_int16*: Output signal (interleaved if 2 channels). length + * is frame_size*channels*sizeof(opus_int16) + * @param [in] frame_size Number of samples per channel of available space in *pcm. + * @returns Number of decoded samples or @ref opus_errorcodes + */ +OPUS_CUSTOM_EXPORT OPUS_WARN_UNUSED_RESULT int opus_custom_decode( + OpusCustomDecoder *st, + const unsigned char *data, + int len, + opus_int16 *pcm, + int frame_size +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on an Opus custom decoder. + * + * Generally the request and subsequent arguments are generated + * by a convenience macro. + * @see opus_genericctls + */ +OPUS_CUSTOM_EXPORT int opus_custom_decoder_ctl(OpusCustomDecoder * OPUS_RESTRICT st, int request, ...) OPUS_ARG_NONNULL(1); + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_CUSTOM_H */ diff --git a/libs/windows/include/opus_defines.h b/libs/windows/include/opus_defines.h new file mode 100644 index 00000000..33c5acdb --- /dev/null +++ b/libs/windows/include/opus_defines.h @@ -0,0 +1,785 @@ +/* Copyright (c) 2010-2011 Xiph.Org Foundation, Skype Limited + Written by Jean-Marc Valin and Koen Vos */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @file opus_defines.h + * @brief Opus reference implementation constants + */ + +#ifndef OPUS_DEFINES_H +#define OPUS_DEFINES_H + +#include "opus_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @defgroup opus_errorcodes Error codes + * @{ + */ +/** No error @hideinitializer*/ +#define OPUS_OK 0 +/** One or more invalid/out of range arguments @hideinitializer*/ +#define OPUS_BAD_ARG -1 +/** Not enough bytes allocated in the buffer @hideinitializer*/ +#define OPUS_BUFFER_TOO_SMALL -2 +/** An internal error was detected @hideinitializer*/ +#define OPUS_INTERNAL_ERROR -3 +/** The compressed data passed is corrupted @hideinitializer*/ +#define OPUS_INVALID_PACKET -4 +/** Invalid/unsupported request number @hideinitializer*/ +#define OPUS_UNIMPLEMENTED -5 +/** An encoder or decoder structure is invalid or already freed @hideinitializer*/ +#define OPUS_INVALID_STATE -6 +/** Memory allocation has failed @hideinitializer*/ +#define OPUS_ALLOC_FAIL -7 +/**@}*/ + +/** @cond OPUS_INTERNAL_DOC */ +/**Export control for opus functions */ + +#ifndef OPUS_EXPORT +# if defined(WIN32) +# if defined(OPUS_BUILD) && defined(DLL_EXPORT) +# define OPUS_EXPORT __declspec(dllexport) +# else +# define OPUS_EXPORT +# endif +# elif defined(__GNUC__) && defined(OPUS_BUILD) +# define OPUS_EXPORT __attribute__ ((visibility ("default"))) +# else +# define OPUS_EXPORT +# endif +#endif + +# if !defined(OPUS_GNUC_PREREQ) +# if defined(__GNUC__)&&defined(__GNUC_MINOR__) +# define OPUS_GNUC_PREREQ(_maj,_min) \ + ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min)) +# else +# define OPUS_GNUC_PREREQ(_maj,_min) 0 +# endif +# endif + +#if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) +# if OPUS_GNUC_PREREQ(3,0) +# define OPUS_RESTRICT __restrict__ +# elif (defined(_MSC_VER) && _MSC_VER >= 1400) +# define OPUS_RESTRICT __restrict +# else +# define OPUS_RESTRICT +# endif +#else +# define OPUS_RESTRICT restrict +#endif + +#if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) +# if OPUS_GNUC_PREREQ(2,7) +# define OPUS_INLINE __inline__ +# elif (defined(_MSC_VER)) +# define OPUS_INLINE __inline +# else +# define OPUS_INLINE +# endif +#else +# define OPUS_INLINE inline +#endif + +/**Warning attributes for opus functions + * NONNULL is not used in OPUS_BUILD to avoid the compiler optimizing out + * some paranoid null checks. */ +#if defined(__GNUC__) && OPUS_GNUC_PREREQ(3, 4) +# define OPUS_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) +#else +# define OPUS_WARN_UNUSED_RESULT +#endif +#if !defined(OPUS_BUILD) && defined(__GNUC__) && OPUS_GNUC_PREREQ(3, 4) +# define OPUS_ARG_NONNULL(_x) __attribute__ ((__nonnull__(_x))) +#else +# define OPUS_ARG_NONNULL(_x) +#endif + +/** These are the actual Encoder CTL ID numbers. + * They should not be used directly by applications. + * In general, SETs should be even and GETs should be odd.*/ +#define OPUS_SET_APPLICATION_REQUEST 4000 +#define OPUS_GET_APPLICATION_REQUEST 4001 +#define OPUS_SET_BITRATE_REQUEST 4002 +#define OPUS_GET_BITRATE_REQUEST 4003 +#define OPUS_SET_MAX_BANDWIDTH_REQUEST 4004 +#define OPUS_GET_MAX_BANDWIDTH_REQUEST 4005 +#define OPUS_SET_VBR_REQUEST 4006 +#define OPUS_GET_VBR_REQUEST 4007 +#define OPUS_SET_BANDWIDTH_REQUEST 4008 +#define OPUS_GET_BANDWIDTH_REQUEST 4009 +#define OPUS_SET_COMPLEXITY_REQUEST 4010 +#define OPUS_GET_COMPLEXITY_REQUEST 4011 +#define OPUS_SET_INBAND_FEC_REQUEST 4012 +#define OPUS_GET_INBAND_FEC_REQUEST 4013 +#define OPUS_SET_PACKET_LOSS_PERC_REQUEST 4014 +#define OPUS_GET_PACKET_LOSS_PERC_REQUEST 4015 +#define OPUS_SET_DTX_REQUEST 4016 +#define OPUS_GET_DTX_REQUEST 4017 +#define OPUS_SET_VBR_CONSTRAINT_REQUEST 4020 +#define OPUS_GET_VBR_CONSTRAINT_REQUEST 4021 +#define OPUS_SET_FORCE_CHANNELS_REQUEST 4022 +#define OPUS_GET_FORCE_CHANNELS_REQUEST 4023 +#define OPUS_SET_SIGNAL_REQUEST 4024 +#define OPUS_GET_SIGNAL_REQUEST 4025 +#define OPUS_GET_LOOKAHEAD_REQUEST 4027 +/* #define OPUS_RESET_STATE 4028 */ +#define OPUS_GET_SAMPLE_RATE_REQUEST 4029 +#define OPUS_GET_FINAL_RANGE_REQUEST 4031 +#define OPUS_GET_PITCH_REQUEST 4033 +#define OPUS_SET_GAIN_REQUEST 4034 +#define OPUS_GET_GAIN_REQUEST 4045 /* Should have been 4035 */ +#define OPUS_SET_LSB_DEPTH_REQUEST 4036 +#define OPUS_GET_LSB_DEPTH_REQUEST 4037 +#define OPUS_GET_LAST_PACKET_DURATION_REQUEST 4039 +#define OPUS_SET_EXPERT_FRAME_DURATION_REQUEST 4040 +#define OPUS_GET_EXPERT_FRAME_DURATION_REQUEST 4041 +#define OPUS_SET_PREDICTION_DISABLED_REQUEST 4042 +#define OPUS_GET_PREDICTION_DISABLED_REQUEST 4043 +/* Don't use 4045, it's already taken by OPUS_GET_GAIN_REQUEST */ +#define OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST 4046 +#define OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST 4047 + +/* Macros to trigger compilation errors when the wrong types are provided to a CTL */ +#define __opus_check_int(x) (((void)((x) == (opus_int32)0)), (opus_int32)(x)) +#define __opus_check_int_ptr(ptr) ((ptr) + ((ptr) - (opus_int32*)(ptr))) +#define __opus_check_uint_ptr(ptr) ((ptr) + ((ptr) - (opus_uint32*)(ptr))) +#define __opus_check_val16_ptr(ptr) ((ptr) + ((ptr) - (opus_val16*)(ptr))) +/** @endcond */ + +/** @defgroup opus_ctlvalues Pre-defined values for CTL interface + * @see opus_genericctls, opus_encoderctls + * @{ + */ +/* Values for the various encoder CTLs */ +#define OPUS_AUTO -1000 /**opus_int32: Allowed values: 0-10, inclusive. + * + * @hideinitializer */ +#define OPUS_SET_COMPLEXITY(x) OPUS_SET_COMPLEXITY_REQUEST, __opus_check_int(x) +/** Gets the encoder's complexity configuration. + * @see OPUS_SET_COMPLEXITY + * @param[out] x opus_int32 *: Returns a value in the range 0-10, + * inclusive. + * @hideinitializer */ +#define OPUS_GET_COMPLEXITY(x) OPUS_GET_COMPLEXITY_REQUEST, __opus_check_int_ptr(x) + +/** Configures the bitrate in the encoder. + * Rates from 500 to 512000 bits per second are meaningful, as well as the + * special values #OPUS_AUTO and #OPUS_BITRATE_MAX. + * The value #OPUS_BITRATE_MAX can be used to cause the codec to use as much + * rate as it can, which is useful for controlling the rate by adjusting the + * output buffer size. + * @see OPUS_GET_BITRATE + * @param[in] x opus_int32: Bitrate in bits per second. The default + * is determined based on the number of + * channels and the input sampling rate. + * @hideinitializer */ +#define OPUS_SET_BITRATE(x) OPUS_SET_BITRATE_REQUEST, __opus_check_int(x) +/** Gets the encoder's bitrate configuration. + * @see OPUS_SET_BITRATE + * @param[out] x opus_int32 *: Returns the bitrate in bits per second. + * The default is determined based on the + * number of channels and the input + * sampling rate. + * @hideinitializer */ +#define OPUS_GET_BITRATE(x) OPUS_GET_BITRATE_REQUEST, __opus_check_int_ptr(x) + +/** Enables or disables variable bitrate (VBR) in the encoder. + * The configured bitrate may not be met exactly because frames must + * be an integer number of bytes in length. + * @see OPUS_GET_VBR + * @see OPUS_SET_VBR_CONSTRAINT + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Hard CBR. For LPC/hybrid modes at very low bit-rate, this can + * cause noticeable quality degradation.
+ *
1
VBR (default). The exact type of VBR is controlled by + * #OPUS_SET_VBR_CONSTRAINT.
+ *
+ * @hideinitializer */ +#define OPUS_SET_VBR(x) OPUS_SET_VBR_REQUEST, __opus_check_int(x) +/** Determine if variable bitrate (VBR) is enabled in the encoder. + * @see OPUS_SET_VBR + * @see OPUS_GET_VBR_CONSTRAINT + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Hard CBR.
+ *
1
VBR (default). The exact type of VBR may be retrieved via + * #OPUS_GET_VBR_CONSTRAINT.
+ *
+ * @hideinitializer */ +#define OPUS_GET_VBR(x) OPUS_GET_VBR_REQUEST, __opus_check_int_ptr(x) + +/** Enables or disables constrained VBR in the encoder. + * This setting is ignored when the encoder is in CBR mode. + * @warning Only the MDCT mode of Opus currently heeds the constraint. + * Speech mode ignores it completely, hybrid mode may fail to obey it + * if the LPC layer uses more bitrate than the constraint would have + * permitted. + * @see OPUS_GET_VBR_CONSTRAINT + * @see OPUS_SET_VBR + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Unconstrained VBR.
+ *
1
Constrained VBR (default). This creates a maximum of one + * frame of buffering delay assuming a transport with a + * serialization speed of the nominal bitrate.
+ *
+ * @hideinitializer */ +#define OPUS_SET_VBR_CONSTRAINT(x) OPUS_SET_VBR_CONSTRAINT_REQUEST, __opus_check_int(x) +/** Determine if constrained VBR is enabled in the encoder. + * @see OPUS_SET_VBR_CONSTRAINT + * @see OPUS_GET_VBR + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Unconstrained VBR.
+ *
1
Constrained VBR (default).
+ *
+ * @hideinitializer */ +#define OPUS_GET_VBR_CONSTRAINT(x) OPUS_GET_VBR_CONSTRAINT_REQUEST, __opus_check_int_ptr(x) + +/** Configures mono/stereo forcing in the encoder. + * This can force the encoder to produce packets encoded as either mono or + * stereo, regardless of the format of the input audio. This is useful when + * the caller knows that the input signal is currently a mono source embedded + * in a stereo stream. + * @see OPUS_GET_FORCE_CHANNELS + * @param[in] x opus_int32: Allowed values: + *
+ *
#OPUS_AUTO
Not forced (default)
+ *
1
Forced mono
+ *
2
Forced stereo
+ *
+ * @hideinitializer */ +#define OPUS_SET_FORCE_CHANNELS(x) OPUS_SET_FORCE_CHANNELS_REQUEST, __opus_check_int(x) +/** Gets the encoder's forced channel configuration. + * @see OPUS_SET_FORCE_CHANNELS + * @param[out] x opus_int32 *: + *
+ *
#OPUS_AUTO
Not forced (default)
+ *
1
Forced mono
+ *
2
Forced stereo
+ *
+ * @hideinitializer */ +#define OPUS_GET_FORCE_CHANNELS(x) OPUS_GET_FORCE_CHANNELS_REQUEST, __opus_check_int_ptr(x) + +/** Configures the maximum bandpass that the encoder will select automatically. + * Applications should normally use this instead of #OPUS_SET_BANDWIDTH + * (leaving that set to the default, #OPUS_AUTO). This allows the + * application to set an upper bound based on the type of input it is + * providing, but still gives the encoder the freedom to reduce the bandpass + * when the bitrate becomes too low, for better overall quality. + * @see OPUS_GET_MAX_BANDWIDTH + * @param[in] x opus_int32: Allowed values: + *
+ *
OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
OPUS_BANDWIDTH_FULLBAND
20 kHz passband (default)
+ *
+ * @hideinitializer */ +#define OPUS_SET_MAX_BANDWIDTH(x) OPUS_SET_MAX_BANDWIDTH_REQUEST, __opus_check_int(x) + +/** Gets the encoder's configured maximum allowed bandpass. + * @see OPUS_SET_MAX_BANDWIDTH + * @param[out] x opus_int32 *: Allowed values: + *
+ *
#OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
#OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
#OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
#OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
#OPUS_BANDWIDTH_FULLBAND
20 kHz passband (default)
+ *
+ * @hideinitializer */ +#define OPUS_GET_MAX_BANDWIDTH(x) OPUS_GET_MAX_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) + +/** Sets the encoder's bandpass to a specific value. + * This prevents the encoder from automatically selecting the bandpass based + * on the available bitrate. If an application knows the bandpass of the input + * audio it is providing, it should normally use #OPUS_SET_MAX_BANDWIDTH + * instead, which still gives the encoder the freedom to reduce the bandpass + * when the bitrate becomes too low, for better overall quality. + * @see OPUS_GET_BANDWIDTH + * @param[in] x opus_int32: Allowed values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
#OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
#OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
#OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
#OPUS_BANDWIDTH_FULLBAND
20 kHz passband
+ *
+ * @hideinitializer */ +#define OPUS_SET_BANDWIDTH(x) OPUS_SET_BANDWIDTH_REQUEST, __opus_check_int(x) + +/** Configures the type of signal being encoded. + * This is a hint which helps the encoder's mode selection. + * @see OPUS_GET_SIGNAL + * @param[in] x opus_int32: Allowed values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_SIGNAL_VOICE
Bias thresholds towards choosing LPC or Hybrid modes.
+ *
#OPUS_SIGNAL_MUSIC
Bias thresholds towards choosing MDCT modes.
+ *
+ * @hideinitializer */ +#define OPUS_SET_SIGNAL(x) OPUS_SET_SIGNAL_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured signal type. + * @see OPUS_SET_SIGNAL + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_SIGNAL_VOICE
Bias thresholds towards choosing LPC or Hybrid modes.
+ *
#OPUS_SIGNAL_MUSIC
Bias thresholds towards choosing MDCT modes.
+ *
+ * @hideinitializer */ +#define OPUS_GET_SIGNAL(x) OPUS_GET_SIGNAL_REQUEST, __opus_check_int_ptr(x) + + +/** Configures the encoder's intended application. + * The initial value is a mandatory argument to the encoder_create function. + * @see OPUS_GET_APPLICATION + * @param[in] x opus_int32: Returns one of the following values: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @hideinitializer */ +#define OPUS_SET_APPLICATION(x) OPUS_SET_APPLICATION_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured application. + * @see OPUS_SET_APPLICATION + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @hideinitializer */ +#define OPUS_GET_APPLICATION(x) OPUS_GET_APPLICATION_REQUEST, __opus_check_int_ptr(x) + +/** Gets the total samples of delay added by the entire codec. + * This can be queried by the encoder and then the provided number of samples can be + * skipped on from the start of the decoder's output to provide time aligned input + * and output. From the perspective of a decoding application the real data begins this many + * samples late. + * + * The decoder contribution to this delay is identical for all decoders, but the + * encoder portion of the delay may vary from implementation to implementation, + * version to version, or even depend on the encoder's initial configuration. + * Applications needing delay compensation should call this CTL rather than + * hard-coding a value. + * @param[out] x opus_int32 *: Number of lookahead samples + * @hideinitializer */ +#define OPUS_GET_LOOKAHEAD(x) OPUS_GET_LOOKAHEAD_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of inband forward error correction (FEC). + * @note This is only applicable to the LPC layer + * @see OPUS_GET_INBAND_FEC + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Disable inband FEC (default).
+ *
1
Enable inband FEC.
+ *
+ * @hideinitializer */ +#define OPUS_SET_INBAND_FEC(x) OPUS_SET_INBAND_FEC_REQUEST, __opus_check_int(x) +/** Gets encoder's configured use of inband forward error correction. + * @see OPUS_SET_INBAND_FEC + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Inband FEC disabled (default).
+ *
1
Inband FEC enabled.
+ *
+ * @hideinitializer */ +#define OPUS_GET_INBAND_FEC(x) OPUS_GET_INBAND_FEC_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's expected packet loss percentage. + * Higher values trigger progressively more loss resistant behavior in the encoder + * at the expense of quality at a given bitrate in the absence of packet loss, but + * greater quality under loss. + * @see OPUS_GET_PACKET_LOSS_PERC + * @param[in] x opus_int32: Loss percentage in the range 0-100, inclusive (default: 0). + * @hideinitializer */ +#define OPUS_SET_PACKET_LOSS_PERC(x) OPUS_SET_PACKET_LOSS_PERC_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured packet loss percentage. + * @see OPUS_SET_PACKET_LOSS_PERC + * @param[out] x opus_int32 *: Returns the configured loss percentage + * in the range 0-100, inclusive (default: 0). + * @hideinitializer */ +#define OPUS_GET_PACKET_LOSS_PERC(x) OPUS_GET_PACKET_LOSS_PERC_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of discontinuous transmission (DTX). + * @note This is only applicable to the LPC layer + * @see OPUS_GET_DTX + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Disable DTX (default).
+ *
1
Enabled DTX.
+ *
+ * @hideinitializer */ +#define OPUS_SET_DTX(x) OPUS_SET_DTX_REQUEST, __opus_check_int(x) +/** Gets encoder's configured use of discontinuous transmission. + * @see OPUS_SET_DTX + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
DTX disabled (default).
+ *
1
DTX enabled.
+ *
+ * @hideinitializer */ +#define OPUS_GET_DTX(x) OPUS_GET_DTX_REQUEST, __opus_check_int_ptr(x) +/** Configures the depth of signal being encoded. + * + * This is a hint which helps the encoder identify silence and near-silence. + * It represents the number of significant bits of linear intensity below + * which the signal contains ignorable quantization or other noise. + * + * For example, OPUS_SET_LSB_DEPTH(14) would be an appropriate setting + * for G.711 u-law input. OPUS_SET_LSB_DEPTH(16) would be appropriate + * for 16-bit linear pcm input with opus_encode_float(). + * + * When using opus_encode() instead of opus_encode_float(), or when libopus + * is compiled for fixed-point, the encoder uses the minimum of the value + * set here and the value 16. + * + * @see OPUS_GET_LSB_DEPTH + * @param[in] x opus_int32: Input precision in bits, between 8 and 24 + * (default: 24). + * @hideinitializer */ +#define OPUS_SET_LSB_DEPTH(x) OPUS_SET_LSB_DEPTH_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured signal depth. + * @see OPUS_SET_LSB_DEPTH + * @param[out] x opus_int32 *: Input precision in bits, between 8 and + * 24 (default: 24). + * @hideinitializer */ +#define OPUS_GET_LSB_DEPTH(x) OPUS_GET_LSB_DEPTH_REQUEST, __opus_check_int_ptr(x) + +/** Configures the encoder's use of variable duration frames. + * When variable duration is enabled, the encoder is free to use a shorter frame + * size than the one requested in the opus_encode*() call. + * It is then the user's responsibility + * to verify how much audio was encoded by checking the ToC byte of the encoded + * packet. The part of the audio that was not encoded needs to be resent to the + * encoder for the next call. Do not use this option unless you really + * know what you are doing. + * @see OPUS_GET_EXPERT_FRAME_DURATION + * @param[in] x opus_int32: Allowed values: + *
+ *
OPUS_FRAMESIZE_ARG
Select frame size from the argument (default).
+ *
OPUS_FRAMESIZE_2_5_MS
Use 2.5 ms frames.
+ *
OPUS_FRAMESIZE_5_MS
Use 5 ms frames.
+ *
OPUS_FRAMESIZE_10_MS
Use 10 ms frames.
+ *
OPUS_FRAMESIZE_20_MS
Use 20 ms frames.
+ *
OPUS_FRAMESIZE_40_MS
Use 40 ms frames.
+ *
OPUS_FRAMESIZE_60_MS
Use 60 ms frames.
+ *
OPUS_FRAMESIZE_80_MS
Use 80 ms frames.
+ *
OPUS_FRAMESIZE_100_MS
Use 100 ms frames.
+ *
OPUS_FRAMESIZE_120_MS
Use 120 ms frames.
+ *
+ * @hideinitializer */ +#define OPUS_SET_EXPERT_FRAME_DURATION(x) OPUS_SET_EXPERT_FRAME_DURATION_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured use of variable duration frames. + * @see OPUS_SET_EXPERT_FRAME_DURATION + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
OPUS_FRAMESIZE_ARG
Select frame size from the argument (default).
+ *
OPUS_FRAMESIZE_2_5_MS
Use 2.5 ms frames.
+ *
OPUS_FRAMESIZE_5_MS
Use 5 ms frames.
+ *
OPUS_FRAMESIZE_10_MS
Use 10 ms frames.
+ *
OPUS_FRAMESIZE_20_MS
Use 20 ms frames.
+ *
OPUS_FRAMESIZE_40_MS
Use 40 ms frames.
+ *
OPUS_FRAMESIZE_60_MS
Use 60 ms frames.
+ *
OPUS_FRAMESIZE_80_MS
Use 80 ms frames.
+ *
OPUS_FRAMESIZE_100_MS
Use 100 ms frames.
+ *
OPUS_FRAMESIZE_120_MS
Use 120 ms frames.
+ *
+ * @hideinitializer */ +#define OPUS_GET_EXPERT_FRAME_DURATION(x) OPUS_GET_EXPERT_FRAME_DURATION_REQUEST, __opus_check_int_ptr(x) + +/** If set to 1, disables almost all use of prediction, making frames almost + * completely independent. This reduces quality. + * @see OPUS_GET_PREDICTION_DISABLED + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Enable prediction (default).
+ *
1
Disable prediction.
+ *
+ * @hideinitializer */ +#define OPUS_SET_PREDICTION_DISABLED(x) OPUS_SET_PREDICTION_DISABLED_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured prediction status. + * @see OPUS_SET_PREDICTION_DISABLED + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Prediction enabled (default).
+ *
1
Prediction disabled.
+ *
+ * @hideinitializer */ +#define OPUS_GET_PREDICTION_DISABLED(x) OPUS_GET_PREDICTION_DISABLED_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_genericctls Generic CTLs + * + * These macros are used with the \c opus_decoder_ctl and + * \c opus_encoder_ctl calls to generate a particular + * request. + * + * When called on an \c OpusDecoder they apply to that + * particular decoder instance. When called on an + * \c OpusEncoder they apply to the corresponding setting + * on that encoder instance, if present. + * + * Some usage examples: + * + * @code + * int ret; + * opus_int32 pitch; + * ret = opus_decoder_ctl(dec_ctx, OPUS_GET_PITCH(&pitch)); + * if (ret == OPUS_OK) return ret; + * + * opus_encoder_ctl(enc_ctx, OPUS_RESET_STATE); + * opus_decoder_ctl(dec_ctx, OPUS_RESET_STATE); + * + * opus_int32 enc_bw, dec_bw; + * opus_encoder_ctl(enc_ctx, OPUS_GET_BANDWIDTH(&enc_bw)); + * opus_decoder_ctl(dec_ctx, OPUS_GET_BANDWIDTH(&dec_bw)); + * if (enc_bw != dec_bw) { + * printf("packet bandwidth mismatch!\n"); + * } + * @endcode + * + * @see opus_encoder, opus_decoder_ctl, opus_encoder_ctl, opus_decoderctls, opus_encoderctls + * @{ + */ + +/** Resets the codec state to be equivalent to a freshly initialized state. + * This should be called when switching streams in order to prevent + * the back to back decoding from giving different results from + * one at a time decoding. + * @hideinitializer */ +#define OPUS_RESET_STATE 4028 + +/** Gets the final state of the codec's entropy coder. + * This is used for testing purposes, + * The encoder and decoder state should be identical after coding a payload + * (assuming no data corruption or software bugs) + * + * @param[out] x opus_uint32 *: Entropy coder state + * + * @hideinitializer */ +#define OPUS_GET_FINAL_RANGE(x) OPUS_GET_FINAL_RANGE_REQUEST, __opus_check_uint_ptr(x) + +/** Gets the encoder's configured bandpass or the decoder's last bandpass. + * @see OPUS_SET_BANDWIDTH + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
#OPUS_AUTO
(default)
+ *
#OPUS_BANDWIDTH_NARROWBAND
4 kHz passband
+ *
#OPUS_BANDWIDTH_MEDIUMBAND
6 kHz passband
+ *
#OPUS_BANDWIDTH_WIDEBAND
8 kHz passband
+ *
#OPUS_BANDWIDTH_SUPERWIDEBAND
12 kHz passband
+ *
#OPUS_BANDWIDTH_FULLBAND
20 kHz passband
+ *
+ * @hideinitializer */ +#define OPUS_GET_BANDWIDTH(x) OPUS_GET_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) + +/** Gets the sampling rate the encoder or decoder was initialized with. + * This simply returns the Fs value passed to opus_encoder_init() + * or opus_decoder_init(). + * @param[out] x opus_int32 *: Sampling rate of encoder or decoder. + * @hideinitializer + */ +#define OPUS_GET_SAMPLE_RATE(x) OPUS_GET_SAMPLE_RATE_REQUEST, __opus_check_int_ptr(x) + +/** If set to 1, disables the use of phase inversion for intensity stereo, + * improving the quality of mono downmixes, but slightly reducing normal + * stereo quality. Disabling phase inversion in the decoder does not comply + * with RFC 6716, although it does not cause any interoperability issue and + * is expected to become part of the Opus standard once RFC 6716 is updated + * by draft-ietf-codec-opus-update. + * @see OPUS_GET_PHASE_INVERSION_DISABLED + * @param[in] x opus_int32: Allowed values: + *
+ *
0
Enable phase inversion (default).
+ *
1
Disable phase inversion.
+ *
+ * @hideinitializer */ +#define OPUS_SET_PHASE_INVERSION_DISABLED(x) OPUS_SET_PHASE_INVERSION_DISABLED_REQUEST, __opus_check_int(x) +/** Gets the encoder's configured phase inversion status. + * @see OPUS_SET_PHASE_INVERSION_DISABLED + * @param[out] x opus_int32 *: Returns one of the following values: + *
+ *
0
Stereo phase inversion enabled (default).
+ *
1
Stereo phase inversion disabled.
+ *
+ * @hideinitializer */ +#define OPUS_GET_PHASE_INVERSION_DISABLED(x) OPUS_GET_PHASE_INVERSION_DISABLED_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_decoderctls Decoder related CTLs + * @see opus_genericctls, opus_encoderctls, opus_decoder + * @{ + */ + +/** Configures decoder gain adjustment. + * Scales the decoded output by a factor specified in Q8 dB units. + * This has a maximum range of -32768 to 32767 inclusive, and returns + * OPUS_BAD_ARG otherwise. The default is zero indicating no adjustment. + * This setting survives decoder reset. + * + * gain = pow(10, x/(20.0*256)) + * + * @param[in] x opus_int32: Amount to scale PCM signal by in Q8 dB units. + * @hideinitializer */ +#define OPUS_SET_GAIN(x) OPUS_SET_GAIN_REQUEST, __opus_check_int(x) +/** Gets the decoder's configured gain adjustment. @see OPUS_SET_GAIN + * + * @param[out] x opus_int32 *: Amount to scale PCM signal by in Q8 dB units. + * @hideinitializer */ +#define OPUS_GET_GAIN(x) OPUS_GET_GAIN_REQUEST, __opus_check_int_ptr(x) + +/** Gets the duration (in samples) of the last packet successfully decoded or concealed. + * @param[out] x opus_int32 *: Number of samples (at current sampling rate). + * @hideinitializer */ +#define OPUS_GET_LAST_PACKET_DURATION(x) OPUS_GET_LAST_PACKET_DURATION_REQUEST, __opus_check_int_ptr(x) + +/** Gets the pitch of the last decoded frame, if available. + * This can be used for any post-processing algorithm requiring the use of pitch, + * e.g. time stretching/shortening. If the last frame was not voiced, or if the + * pitch was not coded in the frame, then zero is returned. + * + * This CTL is only implemented for decoder instances. + * + * @param[out] x opus_int32 *: pitch period at 48 kHz (or 0 if not available) + * + * @hideinitializer */ +#define OPUS_GET_PITCH(x) OPUS_GET_PITCH_REQUEST, __opus_check_int_ptr(x) + +/**@}*/ + +/** @defgroup opus_libinfo Opus library information functions + * @{ + */ + +/** Converts an opus error code into a human readable string. + * + * @param[in] error int: Error number + * @returns Error string + */ +OPUS_EXPORT const char *opus_strerror(int error); + +/** Gets the libopus version string. + * + * Applications may look for the substring "-fixed" in the version string to + * determine whether they have a fixed-point or floating-point build at + * runtime. + * + * @returns Version string + */ +OPUS_EXPORT const char *opus_get_version_string(void); +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_DEFINES_H */ diff --git a/libs/windows/include/opus_multistream.h b/libs/windows/include/opus_multistream.h new file mode 100644 index 00000000..babcee69 --- /dev/null +++ b/libs/windows/include/opus_multistream.h @@ -0,0 +1,660 @@ +/* Copyright (c) 2011 Xiph.Org Foundation + Written by Jean-Marc Valin */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + * @file opus_multistream.h + * @brief Opus reference implementation multistream API + */ + +#ifndef OPUS_MULTISTREAM_H +#define OPUS_MULTISTREAM_H + +#include "opus.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @cond OPUS_INTERNAL_DOC */ + +/** Macros to trigger compilation errors when the wrong types are provided to a + * CTL. */ +/**@{*/ +#define __opus_check_encstate_ptr(ptr) ((ptr) + ((ptr) - (OpusEncoder**)(ptr))) +#define __opus_check_decstate_ptr(ptr) ((ptr) + ((ptr) - (OpusDecoder**)(ptr))) +/**@}*/ + +/** These are the actual encoder and decoder CTL ID numbers. + * They should not be used directly by applications. + * In general, SETs should be even and GETs should be odd.*/ +/**@{*/ +#define OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST 5120 +#define OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST 5122 +/**@}*/ + +/** @endcond */ + +/** @defgroup opus_multistream_ctls Multistream specific encoder and decoder CTLs + * + * These are convenience macros that are specific to the + * opus_multistream_encoder_ctl() and opus_multistream_decoder_ctl() + * interface. + * The CTLs from @ref opus_genericctls, @ref opus_encoderctls, and + * @ref opus_decoderctls may be applied to a multistream encoder or decoder as + * well. + * In addition, you may retrieve the encoder or decoder state for an specific + * stream via #OPUS_MULTISTREAM_GET_ENCODER_STATE or + * #OPUS_MULTISTREAM_GET_DECODER_STATE and apply CTLs to it individually. + */ +/**@{*/ + +/** Gets the encoder state for an individual stream of a multistream encoder. + * @param[in] x opus_int32: The index of the stream whose encoder you + * wish to retrieve. + * This must be non-negative and less than + * the streams parameter used + * to initialize the encoder. + * @param[out] y OpusEncoder**: Returns a pointer to the given + * encoder state. + * @retval OPUS_BAD_ARG The index of the requested stream was out of range. + * @hideinitializer + */ +#define OPUS_MULTISTREAM_GET_ENCODER_STATE(x,y) OPUS_MULTISTREAM_GET_ENCODER_STATE_REQUEST, __opus_check_int(x), __opus_check_encstate_ptr(y) + +/** Gets the decoder state for an individual stream of a multistream decoder. + * @param[in] x opus_int32: The index of the stream whose decoder you + * wish to retrieve. + * This must be non-negative and less than + * the streams parameter used + * to initialize the decoder. + * @param[out] y OpusDecoder**: Returns a pointer to the given + * decoder state. + * @retval OPUS_BAD_ARG The index of the requested stream was out of range. + * @hideinitializer + */ +#define OPUS_MULTISTREAM_GET_DECODER_STATE(x,y) OPUS_MULTISTREAM_GET_DECODER_STATE_REQUEST, __opus_check_int(x), __opus_check_decstate_ptr(y) + +/**@}*/ + +/** @defgroup opus_multistream Opus Multistream API + * @{ + * + * The multistream API allows individual Opus streams to be combined into a + * single packet, enabling support for up to 255 channels. Unlike an + * elementary Opus stream, the encoder and decoder must negotiate the channel + * configuration before the decoder can successfully interpret the data in the + * packets produced by the encoder. Some basic information, such as packet + * duration, can be computed without any special negotiation. + * + * The format for multistream Opus packets is defined in + *
RFC 7845 + * and is based on the self-delimited Opus framing described in Appendix B of + * RFC 6716. + * Normal Opus packets are just a degenerate case of multistream Opus packets, + * and can be encoded or decoded with the multistream API by setting + * streams to 1 when initializing the encoder or + * decoder. + * + * Multistream Opus streams can contain up to 255 elementary Opus streams. + * These may be either "uncoupled" or "coupled", indicating that the decoder + * is configured to decode them to either 1 or 2 channels, respectively. + * The streams are ordered so that all coupled streams appear at the + * beginning. + * + * A mapping table defines which decoded channel i + * should be used for each input/output (I/O) channel j. This table is + * typically provided as an unsigned char array. + * Let i = mapping[j] be the index for I/O channel j. + * If i < 2*coupled_streams, then I/O channel j is + * encoded as the left channel of stream (i/2) if i + * is even, or as the right channel of stream (i/2) if + * i is odd. Otherwise, I/O channel j is encoded as + * mono in stream (i - coupled_streams), unless it has the special + * value 255, in which case it is omitted from the encoding entirely (the + * decoder will reproduce it as silence). Each value i must either + * be the special value 255 or be less than streams + coupled_streams. + * + * The output channels specified by the encoder + * should use the + * Vorbis + * channel ordering. A decoder may wish to apply an additional permutation + * to the mapping the encoder used to achieve a different output channel + * order (e.g. for outputing in WAV order). + * + * Each multistream packet contains an Opus packet for each stream, and all of + * the Opus packets in a single multistream packet must have the same + * duration. Therefore the duration of a multistream packet can be extracted + * from the TOC sequence of the first stream, which is located at the + * beginning of the packet, just like an elementary Opus stream: + * + * @code + * int nb_samples; + * int nb_frames; + * nb_frames = opus_packet_get_nb_frames(data, len); + * if (nb_frames < 1) + * return nb_frames; + * nb_samples = opus_packet_get_samples_per_frame(data, 48000) * nb_frames; + * @endcode + * + * The general encoding and decoding process proceeds exactly the same as in + * the normal @ref opus_encoder and @ref opus_decoder APIs. + * See their documentation for an overview of how to use the corresponding + * multistream functions. + */ + +/** Opus multistream encoder state. + * This contains the complete state of a multistream Opus encoder. + * It is position independent and can be freely copied. + * @see opus_multistream_encoder_create + * @see opus_multistream_encoder_init + */ +typedef struct OpusMSEncoder OpusMSEncoder; + +/** Opus multistream decoder state. + * This contains the complete state of a multistream Opus decoder. + * It is position independent and can be freely copied. + * @see opus_multistream_decoder_create + * @see opus_multistream_decoder_init + */ +typedef struct OpusMSDecoder OpusMSDecoder; + +/**\name Multistream encoder functions */ +/**@{*/ + +/** Gets the size of an OpusMSEncoder structure. + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than 255. + * @returns The size in bytes on success, or a negative error code + * (see @ref opus_errorcodes) on error. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_encoder_get_size( + int streams, + int coupled_streams +); + +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_surround_encoder_get_size( + int channels, + int mapping_family +); + + +/** Allocates and initializes a multistream encoder state. + * Call opus_multistream_encoder_destroy() to release + * this object when finished. + * @param Fs opus_int32: Sampling rate of the input signal (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels in the input signal. + * This must be at most 255. + * It may be greater than the number of + * coded channels (streams + + * coupled_streams). + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than the number of channels. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than the number of input channels. + * @param[in] mapping const unsigned char[channels]: Mapping from + * encoded channels to input channels, as described in + * @ref opus_multistream. As an extra constraint, the + * multistream encoder does not allow encoding coupled + * streams for which one channel is unused since this + * is never a good idea. + * @param application int: The target encoder application. + * This must be one of the following: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @param[out] error int *: Returns #OPUS_OK on success, or an error + * code (see @ref opus_errorcodes) on + * failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_encoder_create( + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int application, + int *error +) OPUS_ARG_NONNULL(5); + +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_surround_encoder_create( + opus_int32 Fs, + int channels, + int mapping_family, + int *streams, + int *coupled_streams, + unsigned char *mapping, + int application, + int *error +) OPUS_ARG_NONNULL(4) OPUS_ARG_NONNULL(5) OPUS_ARG_NONNULL(6); + +/** Initialize a previously allocated multistream encoder state. + * The memory pointed to by \a st must be at least the size returned by + * opus_multistream_encoder_get_size(). + * This is intended for applications which use their own allocator instead of + * malloc. + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @see opus_multistream_encoder_create + * @see opus_multistream_encoder_get_size + * @param st OpusMSEncoder*: Multistream encoder state to initialize. + * @param Fs opus_int32: Sampling rate of the input signal (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels in the input signal. + * This must be at most 255. + * It may be greater than the number of + * coded channels (streams + + * coupled_streams). + * @param streams int: The total number of streams to encode from the + * input. + * This must be no more than the number of channels. + * @param coupled_streams int: Number of coupled (2 channel) streams + * to encode. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * encoded channels (streams + + * coupled_streams) must be no + * more than the number of input channels. + * @param[in] mapping const unsigned char[channels]: Mapping from + * encoded channels to input channels, as described in + * @ref opus_multistream. As an extra constraint, the + * multistream encoder does not allow encoding coupled + * streams for which one channel is unused since this + * is never a good idea. + * @param application int: The target encoder application. + * This must be one of the following: + *
+ *
#OPUS_APPLICATION_VOIP
+ *
Process signal for improved speech intelligibility.
+ *
#OPUS_APPLICATION_AUDIO
+ *
Favor faithfulness to the original input.
+ *
#OPUS_APPLICATION_RESTRICTED_LOWDELAY
+ *
Configure the minimum possible coding delay by disabling certain modes + * of operation.
+ *
+ * @returns #OPUS_OK on success, or an error code (see @ref opus_errorcodes) + * on failure. + */ +OPUS_EXPORT int opus_multistream_encoder_init( + OpusMSEncoder *st, + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int application +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + +OPUS_EXPORT int opus_multistream_surround_encoder_init( + OpusMSEncoder *st, + opus_int32 Fs, + int channels, + int mapping_family, + int *streams, + int *coupled_streams, + unsigned char *mapping, + int application +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(5) OPUS_ARG_NONNULL(6) OPUS_ARG_NONNULL(7); + +/** Encodes a multistream Opus frame. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param[in] pcm const opus_int16*: The input signal as interleaved + * samples. + * This must contain + * frame_size*channels + * samples. + * @param frame_size int: Number of samples per channel in the input + * signal. + * This must be an Opus frame size for the + * encoder's sampling rate. + * For example, at 48 kHz the permitted values + * are 120, 240, 480, 960, 1920, and 2880. + * Passing in a duration of less than 10 ms + * (480 samples at 48 kHz) will prevent the + * encoder from using the LPC or hybrid modes. + * @param[out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_encode( + OpusMSEncoder *st, + const opus_int16 *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Encodes a multistream Opus frame from floating point input. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param[in] pcm const float*: The input signal as interleaved + * samples with a normal range of + * +/-1.0. + * Samples with a range beyond +/-1.0 + * are supported but will be clipped by + * decoders using the integer API and + * should only be used if it is known + * that the far end supports extended + * dynamic range. + * This must contain + * frame_size*channels + * samples. + * @param frame_size int: Number of samples per channel in the input + * signal. + * This must be an Opus frame size for the + * encoder's sampling rate. + * For example, at 48 kHz the permitted values + * are 120, 240, 480, 960, 1920, and 2880. + * Passing in a duration of less than 10 ms + * (480 samples at 48 kHz) will prevent the + * encoder from using the LPC or hybrid modes. + * @param[out] data unsigned char*: Output payload. + * This must contain storage for at + * least \a max_data_bytes. + * @param [in] max_data_bytes opus_int32: Size of the allocated + * memory for the output + * payload. This may be + * used to impose an upper limit on + * the instant bitrate, but should + * not be used as the only bitrate + * control. Use #OPUS_SET_BITRATE to + * control the bitrate. + * @returns The length of the encoded packet (in bytes) on success or a + * negative error code (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_encode_float( + OpusMSEncoder *st, + const float *pcm, + int frame_size, + unsigned char *data, + opus_int32 max_data_bytes +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(2) OPUS_ARG_NONNULL(4); + +/** Frees an OpusMSEncoder allocated by + * opus_multistream_encoder_create(). + * @param st OpusMSEncoder*: Multistream encoder state to be freed. + */ +OPUS_EXPORT void opus_multistream_encoder_destroy(OpusMSEncoder *st); + +/** Perform a CTL function on a multistream Opus encoder. + * + * Generally the request and subsequent arguments are generated by a + * convenience macro. + * @param st OpusMSEncoder*: Multistream encoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls, + * @ref opus_encoderctls, or @ref opus_multistream_ctls. + * @see opus_genericctls + * @see opus_encoderctls + * @see opus_multistream_ctls + */ +OPUS_EXPORT int opus_multistream_encoder_ctl(OpusMSEncoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/**@}*/ + +/**\name Multistream decoder functions */ +/**@{*/ + +/** Gets the size of an OpusMSDecoder structure. + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @returns The size in bytes on success, or a negative error code + * (see @ref opus_errorcodes) on error. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_decoder_get_size( + int streams, + int coupled_streams +); + +/** Allocates and initializes a multistream decoder state. + * Call opus_multistream_decoder_destroy() to release + * this object when finished. + * @param Fs opus_int32: Sampling rate to decode at (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels to output. + * This must be at most 255. + * It may be different from the number of coded + * channels (streams + + * coupled_streams). + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @param[in] mapping const unsigned char[channels]: Mapping from + * coded channels to output channels, as described in + * @ref opus_multistream. + * @param[out] error int *: Returns #OPUS_OK on success, or an error + * code (see @ref opus_errorcodes) on + * failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSDecoder *opus_multistream_decoder_create( + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping, + int *error +) OPUS_ARG_NONNULL(5); + +/** Intialize a previously allocated decoder state object. + * The memory pointed to by \a st must be at least the size returned by + * opus_multistream_encoder_get_size(). + * This is intended for applications which use their own allocator instead of + * malloc. + * To reset a previously initialized state, use the #OPUS_RESET_STATE CTL. + * @see opus_multistream_decoder_create + * @see opus_multistream_deocder_get_size + * @param st OpusMSEncoder*: Multistream encoder state to initialize. + * @param Fs opus_int32: Sampling rate to decode at (in Hz). + * This must be one of 8000, 12000, 16000, + * 24000, or 48000. + * @param channels int: Number of channels to output. + * This must be at most 255. + * It may be different from the number of coded + * channels (streams + + * coupled_streams). + * @param streams int: The total number of streams coded in the + * input. + * This must be no more than 255. + * @param coupled_streams int: Number of streams to decode as coupled + * (2 channel) streams. + * This must be no larger than the total + * number of streams. + * Additionally, The total number of + * coded channels (streams + + * coupled_streams) must be no + * more than 255. + * @param[in] mapping const unsigned char[channels]: Mapping from + * coded channels to output channels, as described in + * @ref opus_multistream. + * @returns #OPUS_OK on success, or an error code (see @ref opus_errorcodes) + * on failure. + */ +OPUS_EXPORT int opus_multistream_decoder_init( + OpusMSDecoder *st, + opus_int32 Fs, + int channels, + int streams, + int coupled_streams, + const unsigned char *mapping +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + +/** Decode a multistream Opus packet. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param[in] data const unsigned char*: Input payload. + * Use a NULL + * pointer to indicate packet + * loss. + * @param len opus_int32: Number of bytes in payload. + * @param[out] pcm opus_int16*: Output signal, with interleaved + * samples. + * This must contain room for + * frame_size*channels + * samples. + * @param frame_size int: The number of samples per channel of + * available space in \a pcm. + * If this is less than the maximum packet duration + * (120 ms; 5760 for 48kHz), this function will not be capable + * of decoding some packets. In the case of PLC (data==NULL) + * or FEC (decode_fec=1), then frame_size needs to be exactly + * the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the + * next incoming packet. For the PLC and FEC cases, frame_size + * must be a multiple of 2.5 ms. + * @param decode_fec int: Flag (0 or 1) to request that any in-band + * forward error correction data be decoded. + * If no such data is available, the frame is + * decoded as if it were lost. + * @returns Number of samples decoded on success or a negative error code + * (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_decode( + OpusMSDecoder *st, + const unsigned char *data, + opus_int32 len, + opus_int16 *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Decode a multistream Opus packet with floating point output. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param[in] data const unsigned char*: Input payload. + * Use a NULL + * pointer to indicate packet + * loss. + * @param len opus_int32: Number of bytes in payload. + * @param[out] pcm opus_int16*: Output signal, with interleaved + * samples. + * This must contain room for + * frame_size*channels + * samples. + * @param frame_size int: The number of samples per channel of + * available space in \a pcm. + * If this is less than the maximum packet duration + * (120 ms; 5760 for 48kHz), this function will not be capable + * of decoding some packets. In the case of PLC (data==NULL) + * or FEC (decode_fec=1), then frame_size needs to be exactly + * the duration of audio that is missing, otherwise the + * decoder will not be in the optimal state to decode the + * next incoming packet. For the PLC and FEC cases, frame_size + * must be a multiple of 2.5 ms. + * @param decode_fec int: Flag (0 or 1) to request that any in-band + * forward error correction data be decoded. + * If no such data is available, the frame is + * decoded as if it were lost. + * @returns Number of samples decoded on success or a negative error code + * (see @ref opus_errorcodes) on failure. + */ +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_decode_float( + OpusMSDecoder *st, + const unsigned char *data, + opus_int32 len, + float *pcm, + int frame_size, + int decode_fec +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4); + +/** Perform a CTL function on a multistream Opus decoder. + * + * Generally the request and subsequent arguments are generated by a + * convenience macro. + * @param st OpusMSDecoder*: Multistream decoder state. + * @param request This and all remaining parameters should be replaced by one + * of the convenience macros in @ref opus_genericctls, + * @ref opus_decoderctls, or @ref opus_multistream_ctls. + * @see opus_genericctls + * @see opus_decoderctls + * @see opus_multistream_ctls + */ +OPUS_EXPORT int opus_multistream_decoder_ctl(OpusMSDecoder *st, int request, ...) OPUS_ARG_NONNULL(1); + +/** Frees an OpusMSDecoder allocated by + * opus_multistream_decoder_create(). + * @param st OpusMSDecoder: Multistream decoder state to be freed. + */ +OPUS_EXPORT void opus_multistream_decoder_destroy(OpusMSDecoder *st); + +/**@}*/ + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* OPUS_MULTISTREAM_H */ diff --git a/libs/windows/include/opus_types.h b/libs/windows/include/opus_types.h new file mode 100644 index 00000000..71808266 --- /dev/null +++ b/libs/windows/include/opus_types.h @@ -0,0 +1,159 @@ +/* (C) COPYRIGHT 1994-2002 Xiph.Org Foundation */ +/* Modified by Jean-Marc Valin */ +/* + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +/* opus_types.h based on ogg_types.h from libogg */ + +/** + @file opus_types.h + @brief Opus reference implementation types +*/ +#ifndef OPUS_TYPES_H +#define OPUS_TYPES_H + +/* Use the real stdint.h if it's there (taken from Paul Hsieh's pstdint.h) */ +#if (defined(__STDC__) && __STDC__ && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined(__GNUC__) && (defined(_STDINT_H) || defined(_STDINT_H_)) || defined (HAVE_STDINT_H)) +#include + + typedef int16_t opus_int16; + typedef uint16_t opus_uint16; + typedef int32_t opus_int32; + typedef uint32_t opus_uint32; +#elif defined(_WIN32) + +# if defined(__CYGWIN__) +# include <_G_config.h> + typedef _G_int32_t opus_int32; + typedef _G_uint32_t opus_uint32; + typedef _G_int16 opus_int16; + typedef _G_uint16 opus_uint16; +# elif defined(__MINGW32__) + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; +# elif defined(__MWERKS__) + typedef int opus_int32; + typedef unsigned int opus_uint32; + typedef short opus_int16; + typedef unsigned short opus_uint16; +# else + /* MSVC/Borland */ + typedef __int32 opus_int32; + typedef unsigned __int32 opus_uint32; + typedef __int16 opus_int16; + typedef unsigned __int16 opus_uint16; +# endif + +#elif defined(__MACOS__) + +# include + typedef SInt16 opus_int16; + typedef UInt16 opus_uint16; + typedef SInt32 opus_int32; + typedef UInt32 opus_uint32; + +#elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */ + +# include + typedef int16_t opus_int16; + typedef u_int16_t opus_uint16; + typedef int32_t opus_int32; + typedef u_int32_t opus_uint32; + +#elif defined(__BEOS__) + + /* Be */ +# include + typedef int16 opus_int16; + typedef u_int16 opus_uint16; + typedef int32_t opus_int32; + typedef u_int32_t opus_uint32; + +#elif defined (__EMX__) + + /* OS/2 GCC */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined (DJGPP) + + /* DJGPP */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined(R5900) + + /* PS2 EE */ + typedef int opus_int32; + typedef unsigned opus_uint32; + typedef short opus_int16; + typedef unsigned short opus_uint16; + +#elif defined(__SYMBIAN32__) + + /* Symbian GCC */ + typedef signed short opus_int16; + typedef unsigned short opus_uint16; + typedef signed int opus_int32; + typedef unsigned int opus_uint32; + +#elif defined(CONFIG_TI_C54X) || defined (CONFIG_TI_C55X) + + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef long opus_int32; + typedef unsigned long opus_uint32; + +#elif defined(CONFIG_TI_C6X) + + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#else + + /* Give up, take a reasonable guess */ + typedef short opus_int16; + typedef unsigned short opus_uint16; + typedef int opus_int32; + typedef unsigned int opus_uint32; + +#endif + +#define opus_int int /* used for counters etc; at least 16 bits */ +#define opus_int64 long long +#define opus_int8 signed char + +#define opus_uint unsigned int /* used for counters etc; at least 16 bits */ +#define opus_uint64 unsigned long long +#define opus_uint8 unsigned char + +#endif /* OPUS_TYPES_H */ diff --git a/libs/windows/lib/x64/opus.dll b/libs/windows/lib/x64/opus.dll new file mode 100644 index 0000000000000000000000000000000000000000..c9d507f79319e879aaab32ede5bccc8c66ce7c45 GIT binary patch literal 365056 zcmdqKe|%h3nfO2HOeE02oj}mITV&ATZrR{v*&$%;6 z3he6cpWnWkx#ygFexK(&=XsvfitVXN=dUocYKp zo(E3cc~*BtV&_?NmtJ>cVA&1d{+k=V_RT=*Yv20Tw_5{$eQn@|wr>Tl`&PiZ?25oQ zzkSWM=bn7>Nx@Rpd+Y!2b$4Dq`o;3!9n(`^{0Z^fzwlP%AM|s79 zQ2Ft}xSJBaqSDiKg2%Jzs!Gptsq_9y&#*MKtkN^%Oi3vH%T;6une`;g}_ z?>%nU-M4Ffo~Ft1_mw%f_1fjFq&2K4jZ?huio z>^eSU6tFqh&E^@EiCIivm@Cg*o|FDX8OFKG+>CmRjMWn$!<8S%7rpu`mO0n-c$z-O z`?b8U8*fPQO3xj0sM}rhVfn7T{@Y}fx%4onI-k@#>0i|2nKdc;|Lb5v z{Vtxp!XMAhshVfbwO77gV7PXwD_9TEm}*~A4clrk(iNOR+;A=jSH!am>P)p&-5Fd= zTEeL&<;Frn4aBoI4=1zV*qhAWIFQWV+;48=y~i}B-`Kt1@LzEGtv-p|d=HU}-dXAM z#Ej{U>-JlQzw$LVHfNPN^ar&%7?8H^>$g=`u$iD`OrINE#_z)5;^yx&5ZmvdOqA_cqVoLRGuZqjst-L&Gs+{#M$*sy}N5gOYc@@%!BV zn9;Jcu`IWs_@Bh|Jt z=t4{}XAb6Lk-qi^GsV`ASwO^6YG-cM++Z-SwiOP1zk+F`zn1sjV2F2Saf@=N&Wao~ zR^N84SS-zUJe{9nleNB>t7s1f>~!8|vjDOrS$91qV5AJ@tDihtEV7nB62E{MzrY^9 z8V*CNgPjbPXjgD80VDKiaJ_y$5WJsfg0AHB^MPQ$e%>1tbZL{mS3e&J4(sQgK|lSl zS8kGBXD(dSyTi^d3|1K%p0?Chv)drmGB!M8s{UfH749{Qy=Hj38Gd%j&`YNAQ2!Eh z=*5RUQOUGXV0zGe_{b+bp6hzfKFQwQH;`aM)Y;j&LI1of=Yy{2 znOBljNz(Nw#Q>8-(l;DfClpaAt&OkG=_P(9|*D^~WGZnigU zDqLoqX;I`r3@~a-s9y#D&4-I=a+v}1}bteP!($}~eG>3-cYHQ(% zRTb=u<}K`iTp_U>#G_(W?2QDly4<+0Pd2G{OL2<}d(~aG>NO(=+J9luj`Y+f-?Cz# z>3u!&sJq6iZzvXvHb`$3uZ<96u+y9B&8y9?nv2YZSAUhYlYfG1Ce6nc$4^MJr9Pfe zhinzE0!2t;dg0ac>H!Tg@ziX8Qhl2_8;Gm<^~}QgOkvc@KA-{2VzTQ6TbZ=q00uGrTO$>Ux!Z}9r={%dH594 z^JCu6^sAoq@Cmka`W8Vm8)wcMDi-_Fe>f)9Ph}?0HzTuajpWf-=GoS>O*MO_rFO|C z?52E7ZL-au7ov(@Ojhe&tv7LRA;d!B&Db4z7+MQ5@2Gqw9*(YSBBb9K?nIJe{vokHe# zKC-vHDzjBRZ5sCT6kk52*sH7j3A>VMG1kx-kLvqbxMy(8Qe%!?VL9i-XF1iO>}oyt z^up-cA(?ue+688~&vIsYP48wi^1=$QrE&?y+Ay_|7ue7Yia9Jie0qgv-_|K|#J#Yx zS9+O$?-ZJCb0RMo&Z$(EdDd8S63^I$H`zv)K0WrBYCABxah_x!KIP!SCE)eDb|w zk-nG@cY1WMXlxe+mzd!^eb5JyK&A4GW1q;tit7{;r&s$GBXbi|a^bxig&MbiortB1 z=3vouW>;9M0H_R8-ZJhh=vC2`J*9Ssw}*%H{P$YMWqFgcg=xP1Ri`%)3QvUhs=mRIa4%q;&P`!02FJn!(gnwN(s&=f z!7d#6gfqW_4#}RYwm7RC}!pTZ8qj=L62I=Vfwj zH_7golRBCJTgiTxeJ`6`hGb`3gCV`^=S`J8{CgSnNheU{n9wD%f?@Y4oj!v-kvYsT znaly{{zlp4L$8_}JUPM3tAnGY7I&UCecvA#UKzVsYD*cr6fVEW;~Dw6^z07R9<0w4 zjjl_n&_xu+8iOz!&N4EUgtGSr*Gn_%$;<&`&3gpX$NV>ZTkTr;BByd^#|g!)>8+#1 ze1eu`SZa$AI{n)>`8?r#B9)7)U2(?@7-xD6e{?wA!Bw_!XP1B=rjAK_vhwC*E<6-> z4!wF-Xy40{1SA_9dj&O`4-4Kj9}$GdSpqVfj3~!3WEroW=px0slLha-4xINehR#icbDV)LL&8IBK%U) znfB8}YAg{xoCv?>TyfMmGwNBgWE}oEGmZN|)H#@^M&lE#5wRUEHa? zZK9f@bVE&vdxxYS6ls6C*awH=i>KeLkcwm)GGlNr`_5+0^bAdtK*K9cIatJZm!6UA zwIo3$$LbPle^PN`JYV8(8}{hw`##ymr%&e2yGy2y8D#dH#v_UFGhmFQ_jh^*tC_(= z%piPlzf-G6P{tq3*)PnjC+S4}1b=2`qwkoig2x!qhm+o21drJ1eHCp_B-FJm<^F_< z`RR|$iLGLFk)e(+s~(UQ6LP6DP4_?U-RbQE1b!g%Q_cK@d(?ocheB3!do!PqL3<<(Ml-9^r+b(gYon+_tO=-yO|8+7o zmW26rcG5_hU$UK(AKAo2aGb3oS$MB{;k~lUAk?SB55J8pW|>4v=Y?PtVStR#mPQ8D z%Fp$!NJ{QIx_=h(i2M0%uKq3YHxLu#g}r*)Xz44w{BlpCao!{o@eA^aQDW>+?+4dkS z{B$CFP0$wp$v=230WktswkMID8Jxf$4aM{^(2>YlpzWTce@Mp)jZXDdAZt7SD%fbS z(eeG9L!ZQ-lSu3@z*ju3(s=1@@YJPFb()=KexnyIY1)sH;V~03PwMe4FrDgIpf2ih zE4B+)cEmIzTdeO_EO=~QelPEH|?Kv#$W5EfB0cFiV)|A z3GYtb`mb&8bMbVc!pL009u)yXedJijwG8+#Vg8sc)dvvu%6h_z%mOVsz78f?WDvao zxMG6rbyj${&D1fH6Zt#!!&)_JK&KEeH8pW>e_RmJpjqsRMTS^3@MuEK3?>vSD+Dcg ziS@Rj{#bk<0RXD|stY%odFMyVU+mPvV5nhhGWE0(0t0M~gHzkBg!7fEwKDu!W5#*; zn=aMCBNDt$f>R`Pl}_|Y@Df4mPUBG*z4!PNkaYQEWP8WyGLgO?NS>35`FK$h+eaeX zSA-a&@8{Ie>|4j%?|fACx{{Z4-aGOFbl%7_#r(*VRB;+Pt)Cwu>q2WCUFbJvZ`WB> z-W5ZXhvSY%WHHf13gJ~;?Nugt`LJyMdOgPiA~Szzgmxo3g#l-dcO%pE`&J?g%mG&? zpAA-}r51_wBT+0IS;F3`mo=)RS{6z-bYKTo^ak)+o3URS@+p~mwq1Q^z}1~e#4)r7zLgyfO{mf z0{L{P#wHCqH&Nl&i93wu0i%Y@Q61MgBo>e?fpQiphXf}VO-8o0|2&!M2bm@!+YCo2 zM_cv8=?Y}FvHBm0$HRkkM@}UlXVR(!>ym$MN+R567kfCyemIHVU>^0nF<+MF2th!z z#g>(7sby;DO-PWV1O;gABgDyt0JkOTlUxapAWc8QPLi6cq{u{t64k{dPg52B_v@oF zn}}@fIL8jZK=*Eshqp?N;|;Y`d!-giNC8H{9(i7%rAbh2Jz`9jU2y5uz|Nnh55GQR zGJR-I(1(8pZFtHoASXPWa6s{iYzOiuL^kKL?V%1&y$*3;!?QviY9g^jAf7jwK#Y>Z zr4R3BSxV$VGBpCe1&!VaCb@B(LL|~qCJ}2tKq8jUJBS$&j+R2J>f0K#)&Dv}A+i#eFr26b!f+k!XHSZI z_Xt_|Dx%&G(1ji_>Ao|WExBG0;u-M(;a4Es>p+ub($KF-!z57Ln^1iT^<;@AymeyA z5YjVW-w~qlWx>DSDN}`eG*$Tce?=88S!*hn7R*8xs^~k7S>F$NjzPEaI6@SfaQiqt z=+}J^D)mX19!z@PM-SdXr##SumKu`F1E>0S!TNiIEM#_s7R(A=7}o?Lw4IDf(}PHI zAeXQ8C%gp+LTSN@957b<$0@?6Y$(Fd{xtwsq6jOZ68;kuq2PbNkO|1MMaC;s#JEVC zGh=bAp{UIIq}rE&Km?uIsn%dqLcIh=KI0&Wk>}YT`x~gC`!+Wek!?_5k1aBUVFqfc zmMUn*7bfV7c&gV3J=;YKI-(9xvuDgKEcxl8D#kjBb04 zT06qjLg7h;1nWh8MhMEHg;F38A@!lm3j&?RoagO3DS&$cZX%XB`QW{RB(xLr{kx~DTa&n)$tEhEgf`As#I#TGV%5eg&{8z76yEM_UQnFnMbDuxgzbB|7L(#cvh znYl-Yf2Y&$*Wp(ryv6v3Tq5h_2xl_|`Mqns{5pH(_rYQLoo7Ynaqs{2YPo0jUvL5V zRP9z9mQxF0HI&O{-XWXHtRSv&PS$Jx)2Hz8!I{(A&={EHjbc2epok@(6K?j#VIXOlj; z?AuFgiBv4Ao=PZ3+7AyTBmLQoPa08~WpoYJ+6w2gcX*^PPPCZK^pnqu{6;!@%VLU= zsoP5g$$t8f*SL&3Ef{yYDx3UbH7&~}tmWMsiy%-+ZeMw*_+<)yRH7&><2RN9>CKu}+0n;*XF^j&KesGj6ouz!MvYAJ9_phsN58CMsGO6;eK5oRgfxI>l z1ChyGDS6b5oWQ#}NlR}K9N}sEsG8?7A134}ZnGk>+^g7R}Kj!rE$i-K`Au0vWz#HqHm1g}h=Q678~7YPKYGEW8VuUqQc zg$=oc+F;WexsDj)OhrsQ!1)$W<>3Cjn`RjgRnM@d4iYDrm{FX1$czlOv(K(w#!OhM zBQ#>D4FbF}mf~(pJ(b=d7?!x+Q%0APu|^6;CJhZLt7m034mP^}mN((HnR2ZEP^Rk` zEX^tc4LP;TQvL7aYmCqt7hJ6+_pmofn^Qa<-VtYG`7h>u!0fonjWaYWN#k;Y`y9G4sPQs< zjm?cLJPjQy@iZlQBAZ?x{moI%{}%4kp#ey%7EXk}7IaK%c#;X0q!|{bl!*ZSlU#N= zn?1p={0qJ72+`&o$G4g`pVU8gNyQlb z)hmHY!6ecv!ZBDSxDuyRCoMWeFW%+$Q*!r#vqDm1yAhHUj@VKq?|fjuw`hk&?K#B3bEm8%&zep_<<%iy%SttlJg?ntKMBinL zY*y4P>=^hwBV+>oLogz`95cX2KA!a`O$Y@XvK?nV-6JVbct%h2JX?*@AJ{Qb9O&15 zVe|ex-4QCng#KF_#6gb6>Zo2eSWIm}=GG)?3O330ZevpU43|hDR9|XFx)q{n-P|{5 zPWA8m3itlV((i1@xucDz`Zyc9M$k=xb&qkm)Il4&Ra-Uk;Cip2bw3tWP#`gb^23FR74J1d^kr_2)exda!Tk|q~1>u0c^DXZ6Zr`dS<VeH z*svQDxFzSP8yj|GqR&|P!aRYod2lJfm?NY|AxIMIm2hTiHnFHz>@?m+c{|6c{WN(C z#koGul7z8>doAPJ`6b4Ud#jfiE4ZRJzMYd;6+%keJ3v~FlYTiRk&-x$pEm7v3D!HC zStgDB2ldFNp-#3zCrOaNopg|iWkc4mXKG~6)aX4^(~JzF=I-^p=czX-PrXBV>g~xe zhk0H2s;+pRyLpoJg-a!#N=89vdb`M-Ck-!6uuW7`01>*6zr-a|(3eTf@_hP@hVo7TnB{hX+Zm>j!csOr03>h> zM9D?Zm83AoE)<{2yQupP>0#lEyh}j!kzzY{XxLPaz-l4D8^J}4_k!yM@1lfshtLrE zb~mZnl;GIWeXonw zWNB90J|f4?$jPOa8*(4gb_w;;HZxlJ$ty*jZ@b$KIMZ?L3nsMa1ehODfQHr&Jy&j( znH=5sH*~_xPGx#DgU(G}{9IXnR~!&>#Q~v`I3QFK2ZT!EfKW*s5GsiSLM3rPs3Z;u zmBaxdR~+Enor9DZmr95ZpT#*8u;@I8V}c8$dGqDA9KGmH>E4}M_avbP<#M2qey@T& z%?b6ksiv6f>(eOKr1Hj(bI6abAu<b8w)d+Erg@oVT>7Hun#$fyqG53! z)KTkaP;hBG`JRe4U*?VFm2`1M-KCCCuG5*sCuQ?|{4yVcj<`A~YMBDAD$g($+Ro{J z%omFkH`aWg+}x5h{U>kP9dD@qp`$cVYpGuK1j;RiJ6-{TozowqfHdm9fSxO~yD#qM zMLf0JR{23>Z*~ang7ESYw8%nqlLvBQ?$^GY-<0z(j3$J zV&q2Gm}aUMz{9b|!{lUvMft0rpv8hkWw8Y5=^ZhHwP4ist`d}NL(!i> zWd_7FYIL0h9+VFLg>H#n>fxf^I&@gZJh!05Zq1q8inCNfZ5ez|ZTA+33gqIodTQ!u z;jNdLmh>AHZ7(9TG}Rwj*%cR>&Mg%Q=b}oKrnJ5Vh+-$IV4M!RUU;PkX3Su53ja>& z;^x6VGxB=-GgKhT%L2EuATQgZJhcGefHe3PqRQXr3V%q*4KVO73h)C)=oz{DVV#UM ztE5!=C@j(n2|2N%$afsyngo{>c4X|P%4B5Ajn|?-^FF?by@Nbc-xiiGgoIzRDn?PL zil_THZ>rH+ibnOF4r~)TRlMc$2URMrhu}YkH9Lh?RgFEIjEuFTo3$;T+R1H+;oM1Q zfX@l&6SD6aG7DejIGFEPA{-CyZ%kD!-zW-CB z3HHM>AxK<=AorNdk4G3Kk*bY4ZMGSzeJKcRS-{RV`NzfA+ycU_PiHYjcHMBmn7*t( znaRm`l)OjR{n@)`*l2#exy9zMHDysNpn!-9#IJ z7JeLDPZ?d4$UCb=Z%;r+otQmI)B&OiXJN1@t`^kC)iA^~FW zC)Iq6T;K*|nPO-3=MjU26kjUX1Ck1wx@?5ItSv zTaN~X5+?9~oFqTrm_MF$w_kI4>P9CQsDiW`f??kY)A zeIO3Yh~*frOam&wW;i$fvJjNkN>?-96VQy|;y93JT-F;mF5}V}?RlAzA7BQ?Wz=dFXOYM|-j;qJV=efkL{7RqvK7Dj4rVw5EGC( z*W3cB6rBLw4aL=t!U4qjn3{DmEgo0m%ejr6%{N8KdFcm~oKZdgG3s;xRGy>Tb{YfY z`bcc#vVOBZlIQ<<`pt>Rq4rH;P8QkK@eQiKfaB_R*B+; zNGFAlLft|H#N+Z|e-!;@t}}JR1${j^BDJ2*^!t>n(Cky(jgr_tQa066n?K$%YdPzk9Vo7aRe~c&2KsGMz-Q0?qpDYW>37 z=oi{YrR89=xs$Ww-hUSWH`7O;s6NI81pFO#Cnpm!9{LDE?D}*bUDK_`n!_Lzv34l# zK=vibe?8>{@k@C$rf#)S930hk!DoC7IIO2r*e`r)r#CmXpB_kD&MSE)U^wK+f*h-m zZDXUXyVQcah{9qIvPrfJ(CIA%@cVViEf$k>LGG*O3K8cy~eyj ze>@2`ZW(2wG{)h8zD8(yktWL2Y(il@>>^@Ije2hkrH|FEsD{H>UP2UtbfrEysoZq~ zWe8I1qmC%m%89dB+7RLqZ1%neQlb$*coZ{0>?qBtTP(3gl+g%ESg)TY(14>74iR!u zfOectg4-SM!qAwD(52lEHaQmoaH)@aY=t9??Or{j-fx6ToxlRe9C|f>## zn2{K;jKnr9)=>4{Gk6&52JVH%U*>ta$K)n&;^nsSmzYt>%l~c37_!Hhx5w?#c%=h$ z34q$O-UXzEec$voXY7rIl?A zeRqMn(O<$TrTds9YQQnen=`q%BZpRal+q!=HmHes_2v0Ef~n=|CoKpf?j59h(J6JS zUj7j6w%%f<4_CFHZemWEKkUVZ&vY&+T251yIrLIY!PJ!Y1*e0h=F~y-Ul?gUM>Wor zl~j##M}SPHF#v>e)=tn*g$o+7T)Gty{m{3wE#6+k+Y4{@wT3MKRCWRfv?hm#eqY>W zed_tPk6-HeHqdoMsWer2Q=G}!-jJeBlxci2$A@hUF;)k`_ubGM~>Av{caTKc%Hmd6zTMc1vOy-kaR9P zk_>N&qYI8kDMLq7ai+sNPD(L|D4&<52H{xC12i5P7L#n~O%zY9Dq%rQv=V#X*R|ua z$xU5N#h=JzRS8vU3c32<)n!#lWhkYh;VIy3WSZR>>bNi&eiB*vV=&<2;1{NR{ShMFC!gL1Ft!)nJ$9y2!1O>$hJLIeGNpHP`q4LQ*z z3$V+KHEo>fvW9P1ff;(7KEPdPiQ;@KPVo{++O!j1jrV?qeyM*)m*XD~;D zR9H=G{)PjnO|F>mh=_8wi~66lqN>Pl*sAuHc22?xYVAdVB!I*}8`I#X3Xb-i3GxGF zpr?0>pLpIlZ@@Gz=CPN@Hsicuo&9y4)wp=T;C7*COY5$>EsvLi!^@77D>J=`N6iw)e(LEmF0VvC|{K)=Xf_jJ(%jb0^Ae%&)?I ziu2X)wVeehG)N7g);t!|P$d)9^`oUF%^Me^T%L0)MD^*96>Vr}yT>l~%7~02qbrPt zJ!rX~lpn4%5AL^M2wZ3(4f^9z&5t7%MsGx~FUhB(KJsM4R+5OI3Q`>;VVC99*62iu zc;OT+FKy>ta09?b44qR~V&NCT2Yn)J4qB0@_SQw-GFFd*DuJqM-ug9oi6&m43{4oq zdI!oNMdQZmUy>iLK&XV0k)DX1W|WlXQFCnln#g>nm51E0Cu~Cgnc($<!80bF@N?aLu9{yemn zKBE8WT;~^V_<}|t7yOF4OUn54X$w_-6{WhX@<_;_M9>^9*yJQf!yf1&(b-3P;VmQd zy!3cNi>1odViEq2dy$fn>sT?b89!0X?=Q~+z(e~Kw@nd^~r4lxVczImG@B7{XtpI13n zY8QbTl=yWXH1#RUNi~sK*C0ZeQf`c7gdwLwtr25$`n@l6)kJ1pwH%G)mYjZ3lX0`Z zFO!^(6RI;t=8Ir3ks)6+q3%y{zsQ%2mg>5);E35TSM($``0Dt!KpxK!Ft52SN9^Ve^3A&5rT*!hR*kSM*4PePF5vR zOIFWdIi=96>Vd8_*8GBuLR%WQ{!~K3Y)%Wl52{d$Iu`{<_PI#;x7w+_aWs{kM$A5< zllXh&{o?=zXoa>5bfGn6w1}yhv2YuvPXco_Vh17sCN?6z3X%Mmz))wZAxRrR1nkI= z$eX7HlVYg7Eg9)CoCuJ`ES}MFp+oS>?FD6-&>;}V@{KMEtfmgmRf)y$$iRI8Mp1y3aG5>&Z?iOws`a#LO zd{oQXzZYuzKgPMozIRsJnRaB*=n^6+QF1>e#$kn<{>tascePHvQwwy#mv*+~I45LwGBLR?6+Rz5s0Et4&#`=ui5Hy+{PA?x%LoDYssTYK@&sfG(|;N4B##x@MHsjeW5XN00loJSRRxgyp<3;5!r4O z(baFL37i0r>7twjCmfxVGQO<*Qi(j~%E`CQ4)?1q2cbJCjrxJqH@!g)2LJiDc5~-Y z3~w>c#i*FstG<<7tF_qkdv$FewIW;EYUIvhF@3ip&tgluRkTOl1Ps~4(q_#!+-2cZ zq=xpO6;JKeD(dbvuv|)rpdf(&xtW}HNmod29Y!TRESEudx+f8RI-~ycY?knIU;{WC zpB>&7S0f4UTbDXBYtTI9h=AV`>#}P;0(}q~5{N=)5H6!mg4eIB2D)BhXJEhx_5~B7 z_{Y2o9@{GcAf9~DYJNri5IR3`g21$>uaLVL>%1M3Z!6)wMrf0SbMo_&{BSMV3>nI4 zNbyY+0bNL%3zST1%>#P+z;N$MWjtSJnO-F)xtsUW^O}Vxpn@nU^9@MH&#?gGa0@h( z*_{lz*3}cl#K{B-nJ2V6a4k|sEpdVh6p0dLfF*u`Eq(zueqHeU-lyBnjz{*iUICFK z?C>Q{?a$Fh0+z+NRPTjvoCnTrkX4loz%TZ|Xfw%JPz91lA{df~kSRz6VV-U+e8$AF zf)OeMKT@Kc?qf+fWrW<_AP2%QFGNB*AQ@I}l3hGW6slRK3DcPQ2`rd#`w@o(e9IKd z?=Z57TeQH`RPZIO!MfSb`R4KbXA)@v-idI=gXY)*RC{j$Ha6DQVTvf05L!4YBp%uV z)fHS#!&ucFGt>EKcwp!y7?*AQ?J}YLtn6h+Of?6)`$4g{qA@XPgWQC~6=Rc-ShHcz z=~RC10^h_i9P@D^~(X0Jh^lEanS36$n?MAWYxazR4n`CCb^7Z>6@WkGQ z+p@dX39&c*!Fv7J5a7Xf%ZLIKPpucl^NvvsMbqyZcAs|-@U&Is_YlGGtwAJTK zwKtJ!K^yW=BK4a2s3$-+RKi)Xi+u@oX+W*0Laj~Xr$qS0?4qEB>O6OTsGswy6IdUz;+u4UcAiQDQ(bt2Z1*p9YS_^ zOSU7x8$l9GIg>LTbGB$U7Q}eGy9gN`=j6#|WW#qK8;{PA=+SaCwygWeczAjDd*yJZ zllHm~k4INY^w4;8twhJhqq6O~4~|FIOZ32aRCu`VcgLgmOZ1)bXtzZ7k4JM7eS19G zFVVNgqXQBh9gpsn=pV$ws2(!T;I_|FW^T}^6iBO4GBa+%@PdM zk*RRny_y8mYKrWFYskIC`1WV7XFj!Zh7r1G8DTjoIqqt7K5ZY^GV09oArS3>qg!Gu z%W)zMapo>Dj%_v;^lM3J%bP?@j8ebjsZD0LbQ5A|WufXmAv)%TRu*Lt9f&~0>i_d2RS!!X`+NJ~(`XLPh^G#z zF0~$fY-YQDupYXO=r2prU%JtIO3{1V=)I-ry>9gWQuKZ|`amiAfE(>DMaAzTH9uO4 zKI%qurD)ELZYo7LxzYYowBL>HC`EU;(ScHQz>Pj$iazc}_m-l2-RSR1(cihz;Zk(i zjlNQfzT!p;rD(y8zFvyH?nXyT(NQ=0PAU418yzb}$K2?VQuGK>jiBsspHL7i7W&i( z0dEz^1LQ*7Xph6$R4@T%+cr0o2pjm@Yp08FPJObvSl)J5u!d4oU!LonqWK6>UOeS0 zYuE>$5i@$A0AhIqZ=f>!6X5|^`XjdJUKMj?pE@Oa5{Firzp6eFLJdAbQ-6@me&JP! zH$N@Zu{fv@vQS=_LNmH=ASbI&n*2)mCij(iH(4pKL=NqiY<}97t+zT6d7)#L9*Za^ z>sj$NPVRF&{2uKHQ{+EUgwSrKi}T#}#fUAhJr_!(d!b?WfqwSh~rPk#w#;8kfa!d2=}{DrM6^ z{iQjKZ(l37-YD^6rql8iTrEs&Qk95pPcpnq?!_T+p{;AWlqaB3#!1L>WC${UZ+);l zlsct&@0lp+`(Kx=`X83$^n@HQ_qh5)N+-qjM<+b0Ffy%Sd3f+NqS^%xmlrYOrOD+UFp(%O)1Tnz|km; zws)f)F6T8m%t9$)?-sPZ+i6>XB+W}Xy~{Y4v})2~%SdqM>K8gwY`NrUb`vB=rqiQK zISVH;W#mMce2XXLTU*K}D8Jm|x>CNSlk%-E<-2}TJ~`#3zGaj0vB4$HX`Pg>yOeMF zqOOZhD-TYPs&#)?wd~CDi;NAli+2++*lLd)VdSXwlYF^I*Q}Ey2WgxHT+GOI^d$xt>s^9l=FDUrMBvWY5!3if5hQu z?P7mYZHj}A+2eLR+?x!8Jp9#D_>lvnMUF8r$ZKx<4C3R`MGYcy_zYp}3bJR?@l_;5 z5;xkI@qkm9c;3J(BqFh;#_E))hQ+3FtCNk**td-{z&P(o{nJkreU7`7fBr}IE^3Sme8=gcG~#XLO?)+}MM3FROw9?QQA}y{ z8bFE}S`^ngg~F$?@=LLW@sp_VA)@kXUX>n4&H3qb1K!q?s0cqH>cnCJHM^G6p_yQl@DU5qc^4tMN;ZoEJo;_8{FB3^ zbY9fLgb6;&&gMYThK1tRapoA{tz20d)?6Yh!c7re=gB zLjJ~evHET`1b{OA?654ReF`nRZ%j+dJ+jlu+JV6F^l|N6b*ax*7YEdp08}PGan)Ft z#Q-~LvGehjo*5<$xo2Z7-a3S0v7D?>ugECy!-_Y1L}S#m9C;lR_)SqUb$qvI0UO5? z=Y+0+FE@~B8u|w6%1~A;8qon!v?#PvBKzQa9%ZP4b@&{e49QTkvBkDGFW-I0X5>sD z{T?2fJwiXb;m$)3|hVRvYUV(AV~g`H|cn)l!+ zeKd64cv-OVAlbgyb}ogZMLWy6*ar$_?>J-CBU9Q)z6+_?P?!det1 zmCvPeYHfW)ib%qZOfgTK?l<`g-{-B`?KBm;Sta0z7v7#nxD>>PkzH6S9Wyp01K3zX zkm64Wujq9p0fTe;b!QBXYRO;9J5tS1qx&jAqPRg&vF6NH1j)Fq#xsuCUX-da#;f@T)r@$7 zFRYC{NlZ)TvH6o4@qq%NnZ*~3xFmJa;GI5jyK}yK^FHAd$+_5Iw=c6JTW<1dk_4Yf zzkS;aj%lmn^dBFQmbOr1RRYtb9R1-e%KzSrDs>`z$2#Kr&ccWdIG2g#=L*B|eaxiN z6ZD21!LMv0waABw4I*-m#P_l>ZamnV-4s=$$jp}}BTsi+&T!Q82lvMQ@)b0nq�~ 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ǛnqLjre3BML?8wLMC+qCT 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®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 MZJ$A!KBIyE0Rs#}T>t<8 literal 0 HcmV?d00001 diff --git a/libs/windows/lib/x86/opus.dll b/libs/windows/lib/x86/opus.dll new file mode 100644 index 0000000000000000000000000000000000000000..2b8663c02c2a6a03cb8cb17b13d17067febd81e6 GIT binary patch literal 258560 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 literal 0 HcmV?d00001 diff --git a/moonlight-qt.pro b/moonlight-qt.pro index f8446804..fc9bdaff 100644 --- a/moonlight-qt.pro +++ b/moonlight-qt.pro @@ -1,7 +1,6 @@ TEMPLATE = subdirs SUBDIRS = \ moonlight-common-c \ - opus \ qmdnsengine \ app diff --git a/opus/opus b/opus/opus deleted file mode 160000 index c1c247d7..00000000 --- a/opus/opus +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c1c247d7e715100a50ca185948c7336bdd4dfdba diff --git a/opus/opus.pro b/opus/opus.pro deleted file mode 100644 index 6af71b1c..00000000 --- a/opus/opus.pro +++ /dev/null @@ -1,272 +0,0 @@ -QT -= core gui - -TARGET = opus -TEMPLATE = lib - -# Support debug and release builds from command line for CI -CONFIG += debug_and_release - -OPUS_DIR = $$PWD/opus -DEFINES += \ - USE_ALLOCA=1 \ - HAVE_LRINT=1 \ - HAVE_LRINTF=1 \ - OPUS_HAVE_RTCD=1 \ - OPUS_BUILD=1 - -contains(QT_ARCH, i386) { - CONFIG += x86 - DEFINES += \ - OPUS_X86_MAY_HAVE_SSE=1 \ - OPUS_X86_MAY_HAVE_SSE2=1 \ - OPUS_X86_MAY_HAVE_SSE4_1=1 \ - OPUS_X86_MAY_HAVE_AVX=1 -} - -# AMD64 implies SSE2 support -contains(QT_ARCH, x86_64) { - CONFIG += x86 - DEFINES += \ - OPUS_X86_MAY_HAVE_SSE=1 \ - OPUS_X86_MAY_HAVE_SSE2=1 \ - OPUS_X86_MAY_HAVE_SSE4_1=1 \ - OPUS_X86_MAY_HAVE_AVX=1 \ - OPUS_X86_PRESUME_SSE=1 \ - OPUS_X86_PRESUME_SSE2=1 -} - -contains(QT_ARCH, arm) { - CONFIG += arm - DEFINES += \ - OPUS_ARM_MAY_HAVE_NEON_INTR=1 -} - -QMAKE_CFLAGS += -O2 - -x86 { - SOURCES += \ - $$OPUS_DIR/celt/x86/x86_celt_map.c \ - $$OPUS_DIR/silk/x86/x86_silk_map.c \ - $$OPUS_DIR/celt/x86/x86cpu.c - - SOURCES_SSE = \ - $$OPUS_DIR/celt/x86/pitch_sse.c - - SOURCES_SSE2 = \ - $$OPUS_DIR/celt/x86/pitch_sse2.c \ - $$OPUS_DIR/celt/x86/vq_sse2.c - - SOURCES_SSE41 = \ - $$OPUS_DIR/celt/x86/pitch_sse4_1.c \ - $$OPUS_DIR/celt/x86/celt_lpc_sse4_1.c \ - $$OPUS_DIR/silk/x86/NSQ_sse4_1.c \ - $$OPUS_DIR/silk/x86/VAD_sse4_1.c \ - $$OPUS_DIR/silk/x86/NSQ_del_dec_sse4_1.c \ - $$OPUS_DIR/silk/x86/VQ_WMat_EC_sse4_1.c -} - -arm { - SOURCES += \ - $$OPUS_DIR/celt/arm/arm_celt_map.c \ - $$OPUS_DIR/celt/arm/armcpu.c - - SOURCES_NEON = \ - $$OPUS_DIR/celt/arm/celt_neon_intr.c \ - $$OPUS_DIR/celt/arm/pitch_neon_intr.c \ - $$OPUS_DIR/silk/arm/arm_silk_map.c \ - $$OPUS_DIR/silk/arm/biquad_alt_neon_intr.c \ - $$OPUS_DIR/silk/arm/LPC_inv_pred_gain_neon_intr.c \ - $$OPUS_DIR/silk/arm/NSQ_del_dec_neon_intr.c \ - $$OPUS_DIR/silk/arm/NSQ_neon.c -} - -SOURCES += \ - $$OPUS_DIR/celt/quant_bands.c \ - $$OPUS_DIR/celt/laplace.c \ - $$OPUS_DIR/celt/rate.c \ - $$OPUS_DIR/celt/celt_decoder.c \ - $$OPUS_DIR/celt/celt_encoder.c \ - $$OPUS_DIR/celt/modes.c \ - $$OPUS_DIR/celt/entenc.c \ - $$OPUS_DIR/celt/entcode.c \ - $$OPUS_DIR/celt/cwrs.c \ - $$OPUS_DIR/celt/pitch.c \ - $$OPUS_DIR/celt/entdec.c \ - $$OPUS_DIR/celt/mathops.c \ - $$OPUS_DIR/celt/vq.c \ - $$OPUS_DIR/celt/bands.c \ - $$OPUS_DIR/celt/celt.c \ - $$OPUS_DIR/celt/celt_lpc.c \ - $$OPUS_DIR/celt/kiss_fft.c \ - $$OPUS_DIR/celt/mdct.c \ - $$OPUS_DIR/src/opus_decoder.c \ - $$OPUS_DIR/src/opus_compare.c \ - $$OPUS_DIR/src/opus_multistream_encoder.c \ - $$OPUS_DIR/src/opus.c \ - $$OPUS_DIR/src/mapping_matrix.c \ - $$OPUS_DIR/src/mlp.c \ - $$OPUS_DIR/src/opus_multistream_decoder.c \ - $$OPUS_DIR/src/analysis.c \ - $$OPUS_DIR/src/opus_projection_encoder.c \ - $$OPUS_DIR/src/repacketizer.c \ - $$OPUS_DIR/src/mlp_data.c \ - $$OPUS_DIR/src/opus_projection_decoder.c \ - $$OPUS_DIR/src/opus_multistream.c \ - $$OPUS_DIR/src/opus_encoder.c \ - $$OPUS_DIR/silk/NSQ_del_dec.c \ - $$OPUS_DIR/silk/ana_filt_bank_1.c \ - $$OPUS_DIR/silk/stereo_find_predictor.c \ - $$OPUS_DIR/silk/resampler.c \ - $$OPUS_DIR/silk/HP_variable_cutoff.c \ - $$OPUS_DIR/silk/shell_coder.c \ - $$OPUS_DIR/silk/inner_prod_aligned.c \ - $$OPUS_DIR/silk/tables_gain.c \ - $$OPUS_DIR/silk/bwexpander_32.c \ - $$OPUS_DIR/silk/stereo_quant_pred.c \ - $$OPUS_DIR/silk/gain_quant.c \ - $$OPUS_DIR/silk/debug.c \ - $$OPUS_DIR/silk/decoder_set_fs.c \ - $$OPUS_DIR/silk/LPC_inv_pred_gain.c \ - $$OPUS_DIR/silk/tables_pulses_per_block.c \ - $$OPUS_DIR/silk/NLSF_VQ.c \ - $$OPUS_DIR/silk/control_audio_bandwidth.c \ - $$OPUS_DIR/silk/tables_LTP.c \ - $$OPUS_DIR/silk/dec_API.c \ - $$OPUS_DIR/silk/tables_NLSF_CB_WB.c \ - $$OPUS_DIR/silk/bwexpander.c \ - $$OPUS_DIR/silk/tables_NLSF_CB_NB_MB.c \ - $$OPUS_DIR/silk/LP_variable_cutoff.c \ - $$OPUS_DIR/silk/float/LPC_inv_pred_gain_FLP.c \ - $$OPUS_DIR/silk/float/schur_FLP.c \ - $$OPUS_DIR/silk/float/wrappers_FLP.c \ - $$OPUS_DIR/silk/float/autocorrelation_FLP.c \ - $$OPUS_DIR/silk/float/regularize_correlations_FLP.c \ - $$OPUS_DIR/silk/float/warped_autocorrelation_FLP.c \ - $$OPUS_DIR/silk/float/k2a_FLP.c \ - $$OPUS_DIR/silk/float/find_LPC_FLP.c \ - $$OPUS_DIR/silk/float/noise_shape_analysis_FLP.c \ - $$OPUS_DIR/silk/float/scale_vector_FLP.c \ - $$OPUS_DIR/silk/float/apply_sine_window_FLP.c \ - $$OPUS_DIR/silk/float/bwexpander_FLP.c \ - $$OPUS_DIR/silk/float/inner_product_FLP.c \ - $$OPUS_DIR/silk/float/scale_copy_vector_FLP.c \ - $$OPUS_DIR/silk/float/energy_FLP.c \ - $$OPUS_DIR/silk/float/pitch_analysis_core_FLP.c \ - $$OPUS_DIR/silk/float/process_gains_FLP.c \ - $$OPUS_DIR/silk/float/residual_energy_FLP.c \ - $$OPUS_DIR/silk/float/find_pred_coefs_FLP.c \ - $$OPUS_DIR/silk/float/encode_frame_FLP.c \ - $$OPUS_DIR/silk/float/find_LTP_FLP.c \ - $$OPUS_DIR/silk/float/find_pitch_lags_FLP.c \ - $$OPUS_DIR/silk/float/burg_modified_FLP.c \ - $$OPUS_DIR/silk/float/corrMatrix_FLP.c \ - $$OPUS_DIR/silk/float/LTP_scale_ctrl_FLP.c \ - $$OPUS_DIR/silk/float/sort_FLP.c \ - $$OPUS_DIR/silk/float/LPC_analysis_filter_FLP.c \ - $$OPUS_DIR/silk/float/LTP_analysis_filter_FLP.c \ - $$OPUS_DIR/silk/stereo_MS_to_LR.c \ - $$OPUS_DIR/silk/log2lin.c \ - $$OPUS_DIR/silk/resampler_private_up2_HQ.c \ - $$OPUS_DIR/silk/resampler_rom.c \ - $$OPUS_DIR/silk/A2NLSF.c \ - $$OPUS_DIR/silk/NLSF_decode.c \ - $$OPUS_DIR/silk/resampler_down2.c \ - $$OPUS_DIR/silk/NLSF2A.c \ - $$OPUS_DIR/silk/table_LSF_cos.c \ - $$OPUS_DIR/silk/control_codec.c \ - $$OPUS_DIR/silk/pitch_est_tables.c \ - $$OPUS_DIR/silk/NLSF_unpack.c \ - $$OPUS_DIR/silk/resampler_private_down_FIR.c \ - $$OPUS_DIR/silk/decode_frame.c \ - $$OPUS_DIR/silk/PLC.c \ - $$OPUS_DIR/silk/check_control_input.c \ - $$OPUS_DIR/silk/decode_indices.c \ - $$OPUS_DIR/silk/encode_pulses.c \ - $$OPUS_DIR/silk/LPC_fit.c \ - $$OPUS_DIR/silk/enc_API.c \ - $$OPUS_DIR/silk/init_decoder.c \ - $$OPUS_DIR/silk/biquad_alt.c \ - $$OPUS_DIR/silk/resampler_private_IIR_FIR.c \ - $$OPUS_DIR/silk/resampler_private_AR2.c \ - $$OPUS_DIR/silk/interpolate.c \ - $$OPUS_DIR/silk/stereo_encode_pred.c \ - $$OPUS_DIR/silk/sort.c \ - $$OPUS_DIR/silk/process_NLSFs.c \ - $$OPUS_DIR/silk/tables_other.c \ - $$OPUS_DIR/silk/encode_indices.c \ - $$OPUS_DIR/silk/NLSF_encode.c \ - $$OPUS_DIR/silk/VQ_WMat_EC.c \ - $$OPUS_DIR/silk/NSQ.c \ - $$OPUS_DIR/silk/NLSF_stabilize.c \ - $$OPUS_DIR/silk/CNG.c \ - $$OPUS_DIR/silk/sum_sqr_shift.c \ - $$OPUS_DIR/silk/tables_pitch_lag.c \ - $$OPUS_DIR/silk/NLSF_del_dec_quant.c \ - $$OPUS_DIR/silk/init_encoder.c \ - $$OPUS_DIR/silk/decode_core.c \ - $$OPUS_DIR/silk/decode_pulses.c \ - $$OPUS_DIR/silk/stereo_decode_pred.c \ - $$OPUS_DIR/silk/VAD.c \ - $$OPUS_DIR/silk/decode_pitch.c \ - $$OPUS_DIR/silk/NLSF_VQ_weights_laroia.c \ - $$OPUS_DIR/silk/control_SNR.c \ - $$OPUS_DIR/silk/code_signs.c \ - $$OPUS_DIR/silk/quant_LTP_gains.c \ - $$OPUS_DIR/silk/sigm_Q15.c \ - $$OPUS_DIR/silk/lin2log.c \ - $$OPUS_DIR/silk/decode_parameters.c \ - $$OPUS_DIR/silk/resampler_down2_3.c \ - $$OPUS_DIR/silk/stereo_LR_to_MS.c \ - $$OPUS_DIR/silk/LPC_analysis_filter.c - -INCLUDEPATH += \ - $$OPUS_DIR \ - $$OPUS_DIR/include \ - $$OPUS_DIR/src \ - $$OPUS_DIR/silk \ - $$OPUS_DIR/celt \ - $$OPUS_DIR/silk/fixed \ - $$OPUS_DIR/silk/float - -CONFIG += warn_off staticlib - -win32-msvc* { - # No flags required to build with SSE or NEON on MSVC - x86 { - SOURCES += $$SOURCES_SSE $$SOURCES_SSE2 $$SOURCES_SSE41 - } - arm { - SOURCES += $$SOURCES_NEON - } -} -else { - sse.name = sse - sse.input = SOURCES_SSE - sse.dependency_type = TYPE_C - sse.variable_out = OBJECTS - sse.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)} - sse.commands = $${QMAKE_CC} -c $(CFLAGS) -msse $(INCPATH) -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} - - sse2.name = sse2 - sse2.input = SOURCES_SSE2 - sse2.dependency_type = TYPE_C - sse2.variable_out = OBJECTS - sse2.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)} - sse2.commands = $${QMAKE_CC} -c $(CFLAGS) -msse2 $(INCPATH) -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} - - sse41.name = sse41 - sse41.input = SOURCES_SSE41 - sse41.dependency_type = TYPE_C - sse41.variable_out = OBJECTS - sse41.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)} - sse41.commands = $${QMAKE_CC} -c $(CFLAGS) -msse4.1 $(INCPATH) -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} - - neon.name = neon - neon.input = SOURCES_NEON - neon.dependency_type = TYPE_C - neon.variable_out = OBJECTS - neon.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_IN_BASE}$${first(QMAKE_EXT_OBJ)} - neon.commands = $${QMAKE_CC} -c $(CFLAGS) $(INCPATH) -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} - - QMAKE_EXTRA_COMPILERS += sse sse2 sse41 neon -}