From b1441ac22273d38900f1333df2125140539bea34 Mon Sep 17 00:00:00 2001 From: Andrew Reynhout Date: Sun, 10 Dec 2017 19:42:26 -0500 Subject: [PATCH 01/19] Add default MacPorts link_directories and include_directories config --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a2c411dd..c7b9161c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -78,9 +78,12 @@ include_directories ( ) # "/usr/local" doesn't seem to be included by default on macOS 10.12+ +# "/opt/local" is the default installation location for MacPorts if (CMAKE_SYSTEM_NAME MATCHES "Darwin") link_directories ("/usr/local/lib") include_directories("/usr/local/include") + link_directories ("/opt/local/lib") + include_directories("/opt/local/include") endif () if (EXISTS "/etc/arch-release" OR EXISTS "/etc/manjaro-release" OR NO_NCURSESW) From 8b307af421641d9becca52a8da511fc62cca301b Mon Sep 17 00:00:00 2001 From: casey langen Date: Wed, 13 Dec 2017 21:05:30 -0800 Subject: [PATCH 02/19] Allow for the NullOut setting to have a variable playback speed. --- src/plugins/nullout/NullOut.cpp | 11 ++++++++++- src/plugins/nullout/nullout_plugin.cpp | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/plugins/nullout/NullOut.cpp b/src/plugins/nullout/NullOut.cpp index caa5b5564..69e0db496 100644 --- a/src/plugins/nullout/NullOut.cpp +++ b/src/plugins/nullout/NullOut.cpp @@ -35,16 +35,25 @@ #include "NullOut.h" #include +#include using namespace musik::core::sdk; #ifdef WIN32 #include #define usleep(x) Sleep(x / 1000); + #define DLLEXPORT __declspec(dllexport) #else #include + #define DLLEXPORT #endif +static float speedMultiplier = 1.0f; + +extern "C" DLLEXPORT void SetPreferences(IPreferences* prefs) { + ::speedMultiplier = (float) prefs->GetDouble("playback_speed_multiplier", 1.0f); +} + NullOut::NullOut() { this->volume = 1.0f; this->state = StateStopped; @@ -100,7 +109,7 @@ int NullOut::Play(IBuffer *buffer, IBufferProvider *provider) { /* order of operations matters, otherwise overflow. */ int micros = ((buffer->Samples() * 1000) / buffer->SampleRate() * 1000) / buffer->Channels(); - usleep(micros); + usleep((long)((float) micros / speedMultiplier)); provider->OnBufferProcessed(buffer); return OutputBufferWritten; } diff --git a/src/plugins/nullout/nullout_plugin.cpp b/src/plugins/nullout/nullout_plugin.cpp index e6a08364b..ec5a95c3e 100644 --- a/src/plugins/nullout/nullout_plugin.cpp +++ b/src/plugins/nullout/nullout_plugin.cpp @@ -39,9 +39,9 @@ #include "NullOut.h" #ifdef WIN32 - #define DLLEXPORT __declspec(dllexport) +#define DLLEXPORT __declspec(dllexport) #else - #define DLLEXPORT +#define DLLEXPORT #endif class NullPlugin : public musik::core::sdk::IPlugin { From 6ec4fe0b30e3e82e181cbe5ff8633831319963ec Mon Sep 17 00:00:00 2001 From: casey langen Date: Wed, 13 Dec 2017 23:23:24 -0800 Subject: [PATCH 03/19] Fixed bug where selection and scroll position may get funky when switching categories in browse view. --- src/musikcube/app/window/CategoryListView.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/musikcube/app/window/CategoryListView.cpp b/src/musikcube/app/window/CategoryListView.cpp index 7c6555572..0ccfd54c9 100755 --- a/src/musikcube/app/window/CategoryListView.cpp +++ b/src/musikcube/app/window/CategoryListView.cpp @@ -143,17 +143,19 @@ std::string CategoryListView::GetFilter() { } void CategoryListView::OnTrackChanged(size_t index, musik::core::TrackPtr track) { -this->playing = track; -this->OnAdapterChanged(); + this->playing = track; + this->OnAdapterChanged(); } void CategoryListView::SetFieldName(const std::string& fieldName) { if (this->fieldName != fieldName) { + this->selectAfterQuery = 0; this->fieldName = fieldName; + this->SetSelectedIndex(0); + this->ScrollToTop(); if (this->metadata) { this->metadata.reset(); - this->ScrollToTop(); } this->Requery(); From 4f12657ae57dd3e229f156f5ffcd21f3d949638f Mon Sep 17 00:00:00 2001 From: casey langen Date: Sat, 16 Dec 2017 23:15:52 -0800 Subject: [PATCH 04/19] Preliminary support for ReplayGain. --- src/core/CMakeLists.txt | 1 + src/core/audio/CrossfadeTransport.cpp | 15 ++-- src/core/audio/CrossfadeTransport.h | 7 +- src/core/audio/GaplessTransport.cpp | 10 +-- src/core/audio/GaplessTransport.h | 4 +- src/core/audio/ITransport.h | 4 +- src/core/audio/PlaybackService.cpp | 30 +++++++- src/core/audio/PlaybackService.h | 4 +- src/core/audio/Player.cpp | 22 +++++- src/core/audio/Player.h | 7 +- src/core/core.vcxproj | 2 + src/core/core.vcxproj.filters | 6 ++ src/core/db/Statement.cpp | 8 ++ src/core/db/Statement.h | 2 + src/core/library/LocalLibrary.cpp | 35 ++++++++- .../library/query/local/ReplayGainQuery.cpp | 75 +++++++++++++++++++ .../library/query/local/ReplayGainQuery.h | 61 +++++++++++++++ src/core/library/track/IndexerTrack.cpp | 52 +++++++++++-- src/core/library/track/IndexerTrack.h | 14 ++-- src/core/library/track/LibraryTrack.cpp | 45 +++++------ src/core/library/track/LibraryTrack.h | 18 +---- src/core/library/track/Track.cpp | 14 +++- src/core/library/track/Track.h | 4 +- src/core/sdk/ITagStore.h | 8 ++ src/core/support/PreferenceKeys.cpp | 1 + src/core/support/PreferenceKeys.h | 1 + src/glue/audio/MasterTransport.cpp | 8 +- src/glue/audio/MasterTransport.h | 4 +- src/musikcube/app/layout/SettingsLayout.cpp | 13 ++++ src/musikcube/app/layout/SettingsLayout.h | 2 + .../app/overlay/PlaybackOverlays.cpp | 40 ++++++++++ src/musikcube/app/overlay/PlaybackOverlays.h | 2 + src/musikcube/data/locales/en_US.json | 6 ++ .../taglib_plugin/TaglibMetadataReader.cpp | 68 +++++++++++++++++ 34 files changed, 501 insertions(+), 92 deletions(-) create mode 100644 src/core/library/query/local/ReplayGainQuery.cpp create mode 100644 src/core/library/query/local/ReplayGainQuery.h diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index e80e08212..7e7a077f2 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -27,6 +27,7 @@ set(CORE_SOURCES ./library/query/local/CategoryTrackListQuery.cpp ./library/query/local/DeletePlaylistQuery.cpp ./library/query/local/NowPlayingTrackListQuery.cpp + ./library/query/local/ReplayGainQuery.cpp ./library/query/local/SavePlaylistQuery.cpp ./library/query/local/SearchTrackListQuery.cpp ./library/query/local/TrackMetadataQuery.cpp diff --git a/src/core/audio/CrossfadeTransport.cpp b/src/core/audio/CrossfadeTransport.cpp index f35abb4ef..bdb0294c0 100644 --- a/src/core/audio/CrossfadeTransport.cpp +++ b/src/core/audio/CrossfadeTransport.cpp @@ -69,12 +69,12 @@ PlaybackState CrossfadeTransport::GetPlaybackState() { return this->state; } -void CrossfadeTransport::PrepareNextTrack(const std::string& trackUrl) { +void CrossfadeTransport::PrepareNextTrack(const std::string& trackUrl, float gain) { Lock lock(this->stateMutex); - this->next.Reset(trackUrl, this); + this->next.Reset(trackUrl, this, gain); } -void CrossfadeTransport::Start(const std::string& url) { +void CrossfadeTransport::Start(const std::string& url, float gain) { { Lock lock(this->stateMutex); @@ -88,7 +88,7 @@ void CrossfadeTransport::Start(const std::string& url) { this->active.Start(this->volume); } else { - this->active.Reset(url, this); + this->active.Reset(url, this, gain); this->next.Stop(); } @@ -378,12 +378,13 @@ void CrossfadeTransport::PlayerContext::StopIf(Player* player) { } void CrossfadeTransport::PlayerContext::Reset() { - this->Reset("", nullptr); + this->Reset("", nullptr, 1.0f); } void CrossfadeTransport::PlayerContext::Reset( const std::string& url, - Player::EventListener* listener) + Player::EventListener* listener, + float gain) { if (this->player && this->output) { this->player->Detach(&this->transport); @@ -408,7 +409,7 @@ void CrossfadeTransport::PlayerContext::Reset( this->canFade = this->started = false; this->output = url.size() ? outputs::SelectedOutput() : nullptr; - this->player = url.size() ? Player::Create(url, this->output, Player::Drain, listener) : nullptr; + this->player = url.size() ? Player::Create(url, this->output, Player::Drain, listener, gain) : nullptr; } void CrossfadeTransport::PlayerContext::TransferTo(PlayerContext& to) { diff --git a/src/core/audio/CrossfadeTransport.h b/src/core/audio/CrossfadeTransport.h index 358bc3ffd..bb2988048 100644 --- a/src/core/audio/CrossfadeTransport.h +++ b/src/core/audio/CrossfadeTransport.h @@ -60,9 +60,9 @@ namespace musik { namespace core { namespace audio { void StopImmediately(); - virtual void PrepareNextTrack(const std::string& trackUrl); + virtual void Start(const std::string& trackUrl, float gain); + virtual void PrepareNextTrack(const std::string& trackUrl, float gain); - virtual void Start(const std::string& trackUrl); virtual void Stop(); virtual bool Pause(); virtual bool Resume(); @@ -99,7 +99,8 @@ namespace musik { namespace core { namespace audio { void Reset( const std::string& url, - Player::EventListener* listener); + Player::EventListener* listener, + float gain); void TransferTo(PlayerContext& context); diff --git a/src/core/audio/GaplessTransport.cpp b/src/core/audio/GaplessTransport.cpp index 5495c7dac..11716a336 100644 --- a/src/core/audio/GaplessTransport.cpp +++ b/src/core/audio/GaplessTransport.cpp @@ -80,7 +80,7 @@ PlaybackState GaplessTransport::GetPlaybackState() { return this->state; } -void GaplessTransport::PrepareNextTrack(const std::string& trackUrl) { +void GaplessTransport::PrepareNextTrack(const std::string& trackUrl, float gain) { bool startNext = false; { LockT lock(this->stateMutex); @@ -88,7 +88,7 @@ void GaplessTransport::PrepareNextTrack(const std::string& trackUrl) { RESET_NEXT_PLAYER(this); if (trackUrl.size()) { - this->nextPlayer = Player::Create(trackUrl, this->output, Player::NoDrain, this); + this->nextPlayer = Player::Create(trackUrl, this->output, Player::NoDrain, this, gain); startNext = this->nextCanStart; } } @@ -98,10 +98,10 @@ void GaplessTransport::PrepareNextTrack(const std::string& trackUrl) { } } -void GaplessTransport::Start(const std::string& url) { +void GaplessTransport::Start(const std::string& url, float gain) { musik::debug::info(TAG, "we were asked to start the track at " + url); - Player* newPlayer = Player::Create(url, this->output, Player::NoDrain, this); + Player* newPlayer = Player::Create(url, this->output, Player::NoDrain, this, gain); musik::debug::info(TAG, "Player created successfully"); this->StartWithPlayer(newPlayer); @@ -274,7 +274,7 @@ void GaplessTransport::SetVolume(double volume) { this->volume = volume; this->output->SetVolume(this->volume); - + if (oldVolume != this->volume) { this->SetMuted(false); this->VolumeChanged(); diff --git a/src/core/audio/GaplessTransport.h b/src/core/audio/GaplessTransport.h index 394c1bde0..77bcbe454 100644 --- a/src/core/audio/GaplessTransport.h +++ b/src/core/audio/GaplessTransport.h @@ -53,9 +53,9 @@ namespace musik { namespace core { namespace audio { GaplessTransport(); virtual ~GaplessTransport(); - virtual void PrepareNextTrack(const std::string& trackUrl); + virtual void Start(const std::string& trackUrl, float gain = 1.0f); + virtual void PrepareNextTrack(const std::string& trackUrl, float gain = 1.0f); - virtual void Start(const std::string& trackUrl); virtual void Stop(); virtual bool Pause(); virtual bool Resume(); diff --git a/src/core/audio/ITransport.h b/src/core/audio/ITransport.h index ee51ae188..923f45894 100755 --- a/src/core/audio/ITransport.h +++ b/src/core/audio/ITransport.h @@ -49,9 +49,9 @@ namespace musik { namespace core { namespace audio { virtual ~ITransport() { } - virtual void PrepareNextTrack(const std::string& trackUrl) = 0; + virtual void Start(const std::string& trackUrl, float gain = 1.0f) = 0; + virtual void PrepareNextTrack(const std::string& trackUrl, float gain = 1.0f) = 0; - virtual void Start(const std::string& trackUrl) = 0; virtual void Stop() = 0; virtual bool Pause() = 0; virtual bool Resume() = 0; diff --git a/src/core/audio/PlaybackService.cpp b/src/core/audio/PlaybackService.cpp index f9d4e0c9d..6c1e14cdf 100755 --- a/src/core/audio/PlaybackService.cpp +++ b/src/core/audio/PlaybackService.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -52,6 +53,7 @@ using namespace musik::core::prefs; using namespace musik::core::sdk; using namespace musik::core::runtime; using namespace musik::core::audio; +using namespace musik::core::db::local; using musik::core::TrackPtr; using musik::core::ILibraryPtr; @@ -624,7 +626,10 @@ void PlaybackService::Play(size_t index) { std::string uri = this->UriAtIndex(index); if (uri.size()) { - transport.Start(this->UriAtIndex(index)); + transport.Start( + this->UriAtIndex(index), + this->ReplayGainAtIndex(index)); + this->nextIndex = NO_POSITION; this->index = index; } @@ -981,3 +986,26 @@ std::string PlaybackService::UriAtIndex(size_t index) { } return ""; } + +float PlaybackService::ReplayGainAtIndex(size_t index) { + float result = 1.0f; + + std::string mode = prefs->GetString(keys::ReplayGainMode, "disabled"); + if (mode != "disabled" && index < this->playlist.Count()) { + int64_t id = this->playlist.Get(index)->GetId(); + auto query = std::make_shared(id); + if (this->library->Enqueue(query, ILibrary::QuerySynchronous)) { + auto rg = query->GetResult(); + + float gain = (mode == "album") ? rg->albumGain : rg->trackGain; + float peak = (mode == "album") ? rg->albumPeak : rg->trackPeak; + + if (gain != 1.0f) { + /* http://wiki.hydrogenaud.io/index.php?title=ReplayGain_2.0_specification#Reduced_gain */ + result = std::min(powf(10, (gain / 20)), (1 / peak)); + } + } + } + + return result; +} \ No newline at end of file diff --git a/src/core/audio/PlaybackService.h b/src/core/audio/PlaybackService.h index f62b1d580..02a4286e4 100755 --- a/src/core/audio/PlaybackService.h +++ b/src/core/audio/PlaybackService.h @@ -178,13 +178,15 @@ namespace musik { namespace core { namespace audio { void PrepareNextTrack(); void InitRemotes(); void ResetRemotes(); + std::string UriAtIndex(size_t index); + float ReplayGainAtIndex(size_t index); musik::core::TrackList playlist; musik::core::TrackList unshuffled; std::recursive_mutex playlistMutex; - std::vector > remotes; + std::vector> remotes; std::shared_ptr prefs; musik::core::TrackPtr playingTrack; diff --git a/src/core/audio/Player.cpp b/src/core/audio/Player.cpp index aad6c775e..bccc38bde 100644 --- a/src/core/audio/Player.cpp +++ b/src/core/audio/Player.cpp @@ -111,16 +111,18 @@ Player* Player::Create( const std::string &url, std::shared_ptr output, DestroyMode destroyMode, - EventListener *listener) + EventListener *listener, + float gain) { - return new Player(url, output, destroyMode, listener); + return new Player(url, output, destroyMode, listener, gain); } Player::Player( const std::string &url, std::shared_ptr output, DestroyMode destroyMode, - EventListener *listener) + EventListener *listener, + float gain) : state(Player::Idle) , url(url) , currentPosition(0) @@ -130,7 +132,8 @@ Player::Player( , nextMixPoint(-1.0) , pendingBufferCount(0) , destroyMode(destroyMode) -, fftContext(nullptr) { +, fftContext(nullptr) +, gain(gain) { musik::debug::info(TAG, "new instance created"); this->spectrum = new float[FFT_N / 2]; @@ -284,6 +287,7 @@ void musik::core::audio::playerThreadLoop(Player* player) { player->stream = Stream::Create(); Buffer* buffer = nullptr; + const float gain = player->gain; if (player->stream->OpenStream(player->url)) { for (Listener* l : player->Listeners()) { @@ -339,6 +343,16 @@ void musik::core::audio::playerThreadLoop(Player* player) { buffer = player->stream->GetNextProcessedOutputBuffer(); + /* apply replay gain, if coef is specified */ + if (gain != 1.0f) { + float* samples = buffer->BufferPointer(); + for (long i = 0; i < buffer->Samples(); i++) { + samples[i] *= gain; + if (samples[i] > 1.0f) samples[i] = 1.0f; + else if (samples[i] < -1.0f) samples[i] = -1.0f; + } + } + /* lock it down until it's processed */ if (buffer) { ++player->pendingBufferCount; diff --git a/src/core/audio/Player.h b/src/core/audio/Player.h index 6e533f3c4..81a39afeb 100644 --- a/src/core/audio/Player.h +++ b/src/core/audio/Player.h @@ -69,7 +69,8 @@ namespace musik { namespace core { namespace audio { const std::string &url, std::shared_ptr output, DestroyMode destroyMode, - EventListener *listener); + EventListener *listener, + float gain = 1.0f); virtual void OnBufferProcessed(musik::core::sdk::IBuffer *buffer); @@ -99,7 +100,8 @@ namespace musik { namespace core { namespace audio { const std::string &url, std::shared_ptr output, DestroyMode finishMode, - EventListener *listener); + EventListener *listener, + float gain); virtual ~Player(); @@ -154,6 +156,7 @@ namespace musik { namespace core { namespace audio { float* spectrum; DestroyMode destroyMode; int pendingBufferCount; + float gain; FftContext* fftContext; }; diff --git a/src/core/core.vcxproj b/src/core/core.vcxproj index 15ead94b5..05f2f0a59 100755 --- a/src/core/core.vcxproj +++ b/src/core/core.vcxproj @@ -113,6 +113,7 @@ + @@ -169,6 +170,7 @@ + diff --git a/src/core/core.vcxproj.filters b/src/core/core.vcxproj.filters index 528cc7b05..45e8df57e 100755 --- a/src/core/core.vcxproj.filters +++ b/src/core/core.vcxproj.filters @@ -196,6 +196,9 @@ src\library\query\local + + src\library\query\local + @@ -480,5 +483,8 @@ src\support + + src\library\query\local + \ No newline at end of file diff --git a/src/core/db/Statement.cpp b/src/core/db/Statement.cpp index 2c14c66e9..74ba0a1b3 100644 --- a/src/core/db/Statement.cpp +++ b/src/core/db/Statement.cpp @@ -90,6 +90,10 @@ void Statement::BindInt64(int position, int64_t bindInt) { sqlite3_bind_int64(this->stmt, position + 1, (sqlite3_int64) bindInt); } +void Statement::BindFloat(int position, float bindFloat) { + sqlite3_bind_double(this->stmt, position + 1, bindFloat); +} + void Statement::BindText(int position, const char* bindText) { sqlite3_bind_text( this->stmt, @@ -137,6 +141,10 @@ int64_t Statement::ColumnInt64(int column) { return sqlite3_column_int64(this->stmt, column); } +float Statement::ColumnFloat(int column) { + return (float) sqlite3_column_double(this->stmt, column); +} + const char* Statement::ColumnText(int column) { const char* text = (char*) sqlite3_column_text(this->stmt, column); return text ? text : ""; diff --git a/src/core/db/Statement.h b/src/core/db/Statement.h index a6c217e2a..7537f23b4 100644 --- a/src/core/db/Statement.h +++ b/src/core/db/Statement.h @@ -52,6 +52,7 @@ namespace musik { namespace core { namespace db { void BindInt32(int position, int bindInt); void BindInt64(int position, int64_t bindInt); + void BindFloat(int position, float bindFloat); void BindText(int position, const char* bindText); void BindText(int position, const std::string &bindText); void BindTextW(int position, const wchar_t* bindText); @@ -60,6 +61,7 @@ namespace musik { namespace core { namespace db { int ColumnInt32(int column); int64_t ColumnInt64(int column); + float ColumnFloat(int column); const char* ColumnText(int column); const wchar_t* ColumnTextW(int column); diff --git a/src/core/library/LocalLibrary.cpp b/src/core/library/LocalLibrary.cpp index 2f3c394f1..c4a39ed63 100644 --- a/src/core/library/LocalLibrary.cpp +++ b/src/core/library/LocalLibrary.cpp @@ -50,7 +50,7 @@ using namespace musik::core; using namespace musik::core::library; using namespace musik::core::runtime; -#define DATABASE_VERSION 5 +#define DATABASE_VERSION 6 #define VERBOSE_LOGGING 0 #define MESSAGE_QUERY_COMPLETED 5000 @@ -311,16 +311,31 @@ static void upgradeV2ToV3(db::Connection& db) { } static void upgradeV3ToV4(db::Connection& db) { - db.Execute("DELETE from tracks"); + db.Execute("UPDATE tracks SET filetime=0"); scheduleSyncDueToDbUpgrade = true; } static void upgradeV4ToV5(db::Connection& db) { - db.Execute("DELETE from tracks"); + db.Execute("UPDATE tracks SET filetime=0"); db.Execute("UPDATE playlist_tracks SET sort_order=sort_order-1"); scheduleSyncDueToDbUpgrade = true; } +static void upgradeV5ToV6(db::Connection& db) { + db.Execute("UPDATE tracks SET filetime=0"); + + db.Execute( + "CREATE TABLE IF NOT EXISTS replay_gain (" + "id INTEGER PRIMARY KEY," + "track_id INTEGER DEFAULT 0," + "album_gain REAL default 1.0," + "album_peak REAL default 1.0," + "track_gain REAL default 1.0," + "track_peak REAL default 1.0)"); + + scheduleSyncDueToDbUpgrade = true; +} + static void setVersion(db::Connection& db, int version) { db.Execute("DELETE FROM version"); @@ -442,6 +457,16 @@ void LocalLibrary::CreateDatabase(db::Connection &db){ "sort_order INTEGER DEFAULT 0" ")"); + /* replay gain */ + db.Execute( + "CREATE TABLE IF NOT EXISTS replay_gain (" + "id INTEGER PRIMARY KEY," + "track_id INTEGER DEFAULT 0," + "album_gain REAL default 1.0," + "album_peak REAL default 1.0," + "track_gain REAL default 1.0," + "track_peak REAL default 1.0)"); + /* version */ db.Execute("CREATE TABLE IF NOT EXISTS version (version INTEGER default 1)"); @@ -524,6 +549,10 @@ void LocalLibrary::CreateDatabase(db::Connection &db){ upgradeV4ToV5(db); } + if (lastVersion >= 1 && lastVersion < 6) { + upgradeV5ToV6(db); + } + /* ensure our version is set correctly */ setVersion(db, DATABASE_VERSION); diff --git a/src/core/library/query/local/ReplayGainQuery.cpp b/src/core/library/query/local/ReplayGainQuery.cpp new file mode 100644 index 000000000..9b1ab3fad --- /dev/null +++ b/src/core/library/query/local/ReplayGainQuery.cpp @@ -0,0 +1,75 @@ +////////////////////////////////////////////////////////////////////////////// +// +// Copyright (c) 2007-2017 musikcube team +// +// All rights reserved. +// +// 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. +// +// * Neither the name of the author nor the names of other contributors may +// be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// 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. +// +////////////////////////////////////////////////////////////////////////////// + +#include "pch.hpp" +#include "ReplayGainQuery.h" + +using namespace musik::core::db; +using namespace musik::core::db::local; +using namespace musik::core::sdk; + +ReplayGainQuery::ReplayGainQuery(int64_t trackId) { + this->trackId = trackId; +} + +ReplayGainQuery::~ReplayGainQuery() { + +} + +ReplayGainQuery::Result ReplayGainQuery::GetResult() { + return this->result; +} + +bool ReplayGainQuery::OnRun(musik::core::db::Connection &db) { + Statement stmt( + "SELECT album_gain, album_peak, track_gain, track_peak " + "FROM replay_gain " + "WHERE track_id=?", + db); + + stmt.BindInt64(0, this->trackId); + + this->result = std::make_shared(); + this->result->albumGain = this->result->albumPeak = 1.0f; + this->result->trackGain = this->result->trackPeak = 1.0f; + + if (stmt.Step() == db::Row) { + this->result->albumGain = stmt.ColumnFloat(0); + this->result->albumPeak = stmt.ColumnFloat(1); + this->result->trackGain = stmt.ColumnFloat(2); + this->result->trackPeak = stmt.ColumnFloat(3); + } + + return true; +} \ No newline at end of file diff --git a/src/core/library/query/local/ReplayGainQuery.h b/src/core/library/query/local/ReplayGainQuery.h new file mode 100644 index 000000000..15870368b --- /dev/null +++ b/src/core/library/query/local/ReplayGainQuery.h @@ -0,0 +1,61 @@ +////////////////////////////////////////////////////////////////////////////// +// +// Copyright (c) 2007-2017 musikcube team +// +// All rights reserved. +// +// 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. +// +// * Neither the name of the author nor the names of other contributors may +// be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// 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. +// +////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include +#include +#include + +namespace musik { namespace core { namespace db { namespace local { + + class ReplayGainQuery : public musik::core::db::LocalQueryBase { + public: + using Result = std::shared_ptr; + + ReplayGainQuery(int64_t trackId); + virtual ~ReplayGainQuery(); + + std::string Name() { return "ReplayGainQuery"; } + + virtual Result GetResult(); + + protected: + virtual bool OnRun(musik::core::db::Connection &db); + + int64_t trackId; + Result result; + }; + +} } } } diff --git a/src/core/library/track/IndexerTrack.cpp b/src/core/library/track/IndexerTrack.cpp index c3cdbca9f..cac6dac4b 100644 --- a/src/core/library/track/IndexerTrack.cpp +++ b/src/core/library/track/IndexerTrack.cpp @@ -46,6 +46,7 @@ #include using namespace musik::core; +using namespace musik::core::sdk; #define GENRE_TRACK_COLUMN_NAME "genre" #define GENRES_TABLE_NAME "genres" @@ -65,7 +66,7 @@ void IndexerTrack::ResetIdCache() { } IndexerTrack::IndexerTrack(int64_t id) -: internalMetadata(new IndexerTrack::MetadataWithThumbnail()) +: internalMetadata(new IndexerTrack::InternalMetadata()) , id(id) { } @@ -128,9 +129,9 @@ void IndexerTrack::SetValue(const char* metakey, const char* value) { } void IndexerTrack::ClearValue(const char* metakey) { -if (this->internalMetadata) { - this->internalMetadata->metadata.erase(metakey); -} + if (this->internalMetadata) { + this->internalMetadata->metadata.erase(metakey); + } } void IndexerTrack::SetThumbnail(const char *data, long size) { @@ -144,6 +145,12 @@ void IndexerTrack::SetThumbnail(const char *data, long size) { memcpy(this->internalMetadata->thumbnailData, data, size); } +void IndexerTrack::SetReplayGain(const ReplayGain& replayGain) { + this->internalMetadata->replayGain.reset(); + this->internalMetadata->replayGain = std::make_shared(); + memcpy(this->internalMetadata->replayGain.get(), &replayGain, sizeof(ReplayGain)); +} + std::string IndexerTrack::Uri() { return this->GetString("filename"); } @@ -337,6 +344,34 @@ static void removeKnownFields(Track::MetadataMap& metadata) { metadata.erase("visible"); } +void IndexerTrack::SaveReplayGain(db::Connection& dbConnection) +{ + auto replayGain = this->internalMetadata->replayGain; + if (replayGain) { + { + db::Statement removeOld("DELETE FROM replay_gain WHERE track_id=?", dbConnection); + removeOld.BindInt64(0, this->id); + removeOld.Step(); + } + + { + db::Statement insert( + "INSERT INTO replay_gain " + "(track_id, album_gain, album_peak, track_gain, track_peak) " + "VALUES (?, ?, ?, ?, ?);", + dbConnection); + + insert.BindInt64(0, this->id); + insert.BindFloat(1, replayGain->albumGain); + insert.BindFloat(2, replayGain->albumPeak); + insert.BindFloat(3, replayGain->trackGain); + insert.BindFloat(4, replayGain->trackPeak); + + insert.Step(); + } + } +} + int64_t IndexerTrack::SaveThumbnail(db::Connection& connection, const std::string& libraryDirectory) { int64_t thumbnailId = 0; @@ -665,6 +700,10 @@ bool IndexerTrack::Save(db::Connection &dbConnection, std::string libraryDirecto this->id = writeToTracksTable(dbConnection, *this); + if (!this->id) { + return false; + } + int64_t thumbnailId = this->SaveThumbnail(dbConnection, libraryDirectory); int64_t albumId = this->SaveAlbum(dbConnection, thumbnailId); int64_t genreId = this->SaveGenre(dbConnection); @@ -703,6 +742,7 @@ bool IndexerTrack::Save(db::Connection &dbConnection, std::string libraryDirecto } ProcessNonStandardMetadata(dbConnection); + SaveReplayGain(dbConnection); return true; } @@ -771,11 +811,11 @@ TrackPtr IndexerTrack::Copy() { return TrackPtr(new IndexerTrack(this->id)); } -IndexerTrack::MetadataWithThumbnail::MetadataWithThumbnail() +IndexerTrack::InternalMetadata::InternalMetadata() : thumbnailData(nullptr) , thumbnailSize(0) { } -IndexerTrack::MetadataWithThumbnail::~MetadataWithThumbnail() { +IndexerTrack::InternalMetadata::~InternalMetadata() { delete[] this->thumbnailData; } diff --git a/src/core/library/track/IndexerTrack.h b/src/core/library/track/IndexerTrack.h index deabf772e..5c690a4be 100644 --- a/src/core/library/track/IndexerTrack.h +++ b/src/core/library/track/IndexerTrack.h @@ -45,10 +45,11 @@ namespace musik { namespace core { IndexerTrack(int64_t id); virtual ~IndexerTrack(void); - /* IWritableTrack */ + /* ITagStore */ virtual void SetValue(const char* metakey, const char* value); virtual void ClearValue(const char* metakey); virtual void SetThumbnail(const char *data, long size); + virtual void SetReplayGain(const musik::core::sdk::ReplayGain& replayGain); /* ITrack */ virtual std::string GetString(const char* metakey); @@ -85,17 +86,18 @@ namespace musik { namespace core { int64_t id; private: - class MetadataWithThumbnail { + class InternalMetadata { public: - MetadataWithThumbnail(); - ~MetadataWithThumbnail(); + InternalMetadata(); + ~InternalMetadata(); Track::MetadataMap metadata; + std::shared_ptr replayGain; char *thumbnailData; int thumbnailSize; }; - MetadataWithThumbnail *internalMetadata; + InternalMetadata *internalMetadata; int64_t SaveThumbnail( db::Connection& connection, @@ -127,6 +129,8 @@ namespace musik { namespace core { const std::string& relationJunctionTableName = "", const std::string& relationJunctionTableColumn = ""); + void SaveReplayGain(db::Connection& dbConnection); + void ProcessNonStandardMetadata(db::Connection& connection); }; diff --git a/src/core/library/track/LibraryTrack.cpp b/src/core/library/track/LibraryTrack.cpp index 8be8ee637..f5ddf6f7a 100644 --- a/src/core/library/track/LibraryTrack.cpp +++ b/src/core/library/track/LibraryTrack.cpp @@ -63,9 +63,9 @@ LibraryTrack::~LibraryTrack() { } std::string LibraryTrack::GetString(const char* metakey) { - std::unique_lock lock(this->data.mutex); - MetadataMap::iterator metavalue = this->data.metadata.find(metakey); - if (metavalue != this->data.metadata.end()) { + std::unique_lock lock(this->mutex); + MetadataMap::iterator metavalue = this->metadata.find(metakey); + if (metavalue != this->metadata.end()) { return metavalue->second; } return ""; @@ -108,21 +108,24 @@ double LibraryTrack::GetDouble(const char* key, double defaultValue) { } void LibraryTrack::SetValue(const char* metakey, const char* value) { - std::unique_lock lock(this->data.mutex); - this->data.metadata.insert(std::pair(metakey,value)); + std::unique_lock lock(this->mutex); + this->metadata.insert(std::pair(metakey,value)); } void LibraryTrack::ClearValue(const char* metakey) { - std::unique_lock lock(this->data.mutex); - this->data.metadata.erase(metakey); + std::unique_lock lock(this->mutex); + this->metadata.erase(metakey); } void LibraryTrack::SetThumbnail(const char *data, long size) { - delete this->data.thumbnailData; - this->data.thumbnailData = new char[size]; - this->data.thumbnailSize = size; + /* do nothing. we implement a fat interface; this is just used by + IndexerTrack. */ +} - memcpy(this->data.thumbnailData, data, size); +void LibraryTrack::SetReplayGain(const musik::core::sdk::ReplayGain& replayGain) { + /* do nothing, we don't use this value and this method should never be + called. it's used by the IndexerTrack implementation, and also by the + playback engine, but not here in the library. */ } std::string LibraryTrack::Uri() { @@ -138,14 +141,14 @@ int LibraryTrack::Uri(char* dst, int size) { } Track::MetadataIteratorRange LibraryTrack::GetValues(const char* metakey) { - std::unique_lock lock(this->data.mutex); - return this->data.metadata.equal_range(metakey); + std::unique_lock lock(this->mutex); + return this->metadata.equal_range(metakey); } Track::MetadataIteratorRange LibraryTrack::GetAllValues() { return Track::MetadataIteratorRange( - this->data.metadata.begin(), - this->data.metadata.end()); + this->metadata.begin(), + this->metadata.end()); return Track::MetadataIteratorRange(); } @@ -247,14 +250,4 @@ bool LibraryTrack::Load(Track *target, db::Connection &db) { } return false; -} - - -LibraryTrack::LibraryData::LibraryData() -: thumbnailData(NULL) -, thumbnailSize(0) { -} - -LibraryTrack::LibraryData::~LibraryData() { - delete this->thumbnailData; -} +} \ No newline at end of file diff --git a/src/core/library/track/LibraryTrack.h b/src/core/library/track/LibraryTrack.h index 65f7561e7..4112ffd87 100644 --- a/src/core/library/track/LibraryTrack.h +++ b/src/core/library/track/LibraryTrack.h @@ -57,10 +57,11 @@ namespace musik { namespace core { virtual std::string GetString(const char* metakey); virtual std::string Uri(); - /* IWritableTrack */ + /* ITagStore */ virtual void SetValue(const char* metakey, const char* value); virtual void ClearValue(const char* metakey); virtual void SetThumbnail(const char *data, long size); + virtual void SetReplayGain(const musik::core::sdk::ReplayGain& replayGain); /* ITrack */ virtual long long GetInt64(const char* key, long long defaultValue = 0LL); @@ -78,19 +79,8 @@ namespace musik { namespace core { private: int64_t id; int libraryId; - - struct LibraryData { - LibraryData(); - ~LibraryData(); - - Track::MetadataMap metadata; - char *thumbnailData; - long thumbnailSize; - std::mutex mutex; - musik::core::ILibraryPtr library; - }; - - LibraryData data; + Track::MetadataMap metadata; + std::mutex mutex; }; } } diff --git a/src/core/library/track/Track.cpp b/src/core/library/track/Track.cpp index 739dd0b52..03aba6ccb 100644 --- a/src/core/library/track/Track.cpp +++ b/src/core/library/track/Track.cpp @@ -38,6 +38,7 @@ #include using namespace musik::core; +using namespace musik::core::sdk; /* * * * SdkWrapper * * * */ @@ -85,7 +86,7 @@ class SdkWrapper : public Track { return track->Uri(dst, size); } - virtual musik::core::sdk::IResource::Class GetClass() override { + virtual IResource::Class GetClass() override { return track->GetClass(); } @@ -103,6 +104,7 @@ class SdkWrapper : public Track { virtual void SetValue(const char* key, const char* value) override { NO_IMPL } virtual void ClearValue(const char* key) override { NO_IMPL } virtual void SetThumbnail(const char *data, long size) override { NO_IMPL } + virtual void SetReplayGain(const ReplayGain& replayGain) override { NO_IMPL } virtual void SetId(int64_t id) override { NO_IMPL } virtual std::string GetString(const char* metakey) override { NO_IMPL } virtual std::string Uri() override { NO_IMPL } @@ -142,12 +144,12 @@ void Track::Release() { /* same as Retain() */ } -musik::core::sdk::ITrack* Track::GetSdkValue() { +ITrack* Track::GetSdkValue() { return new SdkWrapper(shared_from_this()); } -musik::core::sdk::IResource::Class Track::GetClass() { - return musik::core::sdk::IResource::Class::Map; +IResource::Class Track::GetClass() { + return IResource::Class::Map; } const char* Track::GetType() { @@ -197,6 +199,10 @@ void TagStore::Release() { } } +void TagStore::SetReplayGain(const ReplayGain& replayGain) { + this->track->SetReplayGain(replayGain); +} + void TagStore::Retain() { ++this->count; } diff --git a/src/core/library/track/Track.h b/src/core/library/track/Track.h index c249d9d7e..e5d1debfe 100644 --- a/src/core/library/track/Track.h +++ b/src/core/library/track/Track.h @@ -47,7 +47,7 @@ namespace musik { namespace core { class Track; typedef std::shared_ptr TrackPtr; - class Track : + class Track : public musik::core::sdk::ITrack, public std::enable_shared_from_this { @@ -66,6 +66,7 @@ namespace musik { namespace core { virtual void SetValue(const char* key, const char* value) = 0; virtual void ClearValue(const char* key) = 0; virtual void SetThumbnail(const char *data, long size) = 0; + virtual void SetReplayGain(const musik::core::sdk::ReplayGain& replayGain) = 0; /* IResource */ virtual int64_t GetId() override; @@ -112,6 +113,7 @@ namespace musik { namespace core { virtual void SetValue(const char* key, const char* value) override; virtual void ClearValue(const char* key) override; virtual void SetThumbnail(const char *data, long size) override; + virtual void SetReplayGain(const musik::core::sdk::ReplayGain& replayGain) override; private: TrackPtr track; diff --git a/src/core/sdk/ITagStore.h b/src/core/sdk/ITagStore.h index 769d29ff6..c5b786f63 100644 --- a/src/core/sdk/ITagStore.h +++ b/src/core/sdk/ITagStore.h @@ -36,6 +36,13 @@ namespace musik { namespace core { namespace sdk { + struct ReplayGain { + float trackGain; + float trackPeak; + float albumGain; + float albumPeak; + }; + class ITagStore { public: virtual void Retain() = 0; @@ -43,6 +50,7 @@ namespace musik { namespace core { namespace sdk { virtual void SetValue(const char* key, const char* value) = 0; virtual void ClearValue(const char* value) = 0; virtual void SetThumbnail(const char *data, long size) = 0; + virtual void SetReplayGain(const ReplayGain& replayGain) = 0; }; } } } diff --git a/src/core/support/PreferenceKeys.cpp b/src/core/support/PreferenceKeys.cpp index 099ca6e4c..11aba7c6c 100644 --- a/src/core/support/PreferenceKeys.cpp +++ b/src/core/support/PreferenceKeys.cpp @@ -53,6 +53,7 @@ namespace musik { namespace core { namespace prefs { const std::string keys::Transport = "Transport"; const std::string keys::Locale = "Locale"; const std::string keys::IndexerLogEnabled = "IndexerLogEnabled"; + const std::string keys::ReplayGainMode = "ReplayGainMode"; } } } diff --git a/src/core/support/PreferenceKeys.h b/src/core/support/PreferenceKeys.h index 349ef18d6..e3b4cd0e1 100644 --- a/src/core/support/PreferenceKeys.h +++ b/src/core/support/PreferenceKeys.h @@ -57,6 +57,7 @@ namespace musik { namespace core { namespace prefs { extern const std::string Transport; extern const std::string Locale; extern const std::string IndexerLogEnabled; + extern const std::string ReplayGainMode; } } } } diff --git a/src/glue/audio/MasterTransport.cpp b/src/glue/audio/MasterTransport.cpp index aef608e02..060a4106c 100644 --- a/src/glue/audio/MasterTransport.cpp +++ b/src/glue/audio/MasterTransport.cpp @@ -105,12 +105,12 @@ MasterTransport::Type MasterTransport::GetType() { return this->type; } -void MasterTransport::PrepareNextTrack(const std::string& trackUrl) { - this->transport->PrepareNextTrack(trackUrl); +void MasterTransport::PrepareNextTrack(const std::string& trackUrl, float gain) { + this->transport->PrepareNextTrack(trackUrl, gain); } -void MasterTransport::Start(const std::string& trackUrl) { - this->transport->Start(trackUrl); +void MasterTransport::Start(const std::string& trackUrl, float gain) { + this->transport->Start(trackUrl, gain); } void MasterTransport::Stop() { diff --git a/src/glue/audio/MasterTransport.h b/src/glue/audio/MasterTransport.h index 7aba6c18b..5ccb42937 100644 --- a/src/glue/audio/MasterTransport.h +++ b/src/glue/audio/MasterTransport.h @@ -48,9 +48,9 @@ namespace musik { namespace glue { namespace audio { MasterTransport(); virtual ~MasterTransport(); - virtual void PrepareNextTrack(const std::string& trackUrl); + virtual void Start(const std::string& trackUrl, float gain); + virtual void PrepareNextTrack(const std::string& trackUrl, float gain); - virtual void Start(const std::string& trackUrl); virtual void Stop(); virtual bool Pause(); virtual bool Resume(); diff --git a/src/musikcube/app/layout/SettingsLayout.cpp b/src/musikcube/app/layout/SettingsLayout.cpp index 092390d20..a96954366 100755 --- a/src/musikcube/app/layout/SettingsLayout.cpp +++ b/src/musikcube/app/layout/SettingsLayout.cpp @@ -213,6 +213,10 @@ void SettingsLayout::OnOutputDeviceDropdownActivated(cursespp::TextLabel* label) }); } +void SettingsLayout::OnReplayGainDropdownActivated(cursespp::TextLabel* label) { + PlaybackOverlays::ShowReplayGainOverlay(); +} + void SettingsLayout::OnTransportDropdownActivate(cursespp::TextLabel* label) { const MasterTransport::Type current = this->transport.GetType(); @@ -284,6 +288,7 @@ void SettingsLayout::OnLayout() { this->localeDropdown->MoveAndResize(column1, y++, columnCx, LABEL_HEIGHT); this->outputDriverDropdown->MoveAndResize(column1, y++, columnCx, LABEL_HEIGHT); this->outputDeviceDropdown->MoveAndResize(column1, y++, columnCx, LABEL_HEIGHT); + this->replayGainDropdown->MoveAndResize(column1, y++, columnCx, LABEL_HEIGHT); this->transportDropdown->MoveAndResize(column1, y++, columnCx, LABEL_HEIGHT); this->themeDropdown->MoveAndResize(column1, y++, columnCx, LABEL_HEIGHT); this->hotkeyDropdown->MoveAndResize(column1, y++, columnCx, LABEL_HEIGHT); @@ -375,6 +380,9 @@ void SettingsLayout::InitializeWindows() { this->outputDeviceDropdown.reset(new TextLabel()); this->outputDeviceDropdown->Activated.connect(this, &SettingsLayout::OnOutputDeviceDropdownActivated); + this->replayGainDropdown.reset(new TextLabel()); + this->replayGainDropdown->Activated.connect(this, &SettingsLayout::OnReplayGainDropdownActivated); + this->transportDropdown.reset(new TextLabel()); this->transportDropdown->Activated.connect(this, &SettingsLayout::OnTransportDropdownActivate); @@ -420,6 +428,7 @@ void SettingsLayout::InitializeWindows() { this->localeDropdown->SetFocusOrder(order++); this->outputDriverDropdown->SetFocusOrder(order++); this->outputDeviceDropdown->SetFocusOrder(order++); + this->replayGainDropdown->SetFocusOrder(order++); this->transportDropdown->SetFocusOrder(order++); this->themeDropdown->SetFocusOrder(order++); this->hotkeyDropdown->SetFocusOrder(order++); @@ -451,6 +460,7 @@ void SettingsLayout::InitializeWindows() { this->AddWindow(this->localeDropdown); this->AddWindow(this->outputDriverDropdown); this->AddWindow(this->outputDeviceDropdown); + this->AddWindow(this->replayGainDropdown); this->AddWindow(this->transportDropdown); this->AddWindow(this->themeDropdown); @@ -586,6 +596,9 @@ void SettingsLayout::LoadPreferences() { std::string deviceName = getOutputDeviceName(); this->outputDeviceDropdown->SetText(arrow + _TSTR("settings_output_device") + deviceName); + /* replay gain */ + this->replayGainDropdown->SetText(arrow + _TSTR("settings_replay_gain")); + /* transport type */ std::string transportName = this->transport.GetType() == MasterTransport::Gapless diff --git a/src/musikcube/app/layout/SettingsLayout.h b/src/musikcube/app/layout/SettingsLayout.h index fc09cf6e2..ab31d7bc7 100755 --- a/src/musikcube/app/layout/SettingsLayout.h +++ b/src/musikcube/app/layout/SettingsLayout.h @@ -100,6 +100,7 @@ namespace musik { void OnOutputDriverDropdownActivated(cursespp::TextLabel* label); void OnOutputDeviceDropdownActivated(cursespp::TextLabel* label); + void OnReplayGainDropdownActivated(cursespp::TextLabel* label); void OnTransportDropdownActivate(cursespp::TextLabel* label); void OnPluginsDropdownActivate(cursespp::TextLabel* label); void OnHotkeyDropdownActivate(cursespp::TextLabel* label); @@ -125,6 +126,7 @@ namespace musik { std::shared_ptr localeDropdown; std::shared_ptr outputDriverDropdown; std::shared_ptr outputDeviceDropdown; + std::shared_ptr replayGainDropdown; std::shared_ptr transportDropdown; std::shared_ptr pluginsDropdown; std::shared_ptr hotkeyDropdown; diff --git a/src/musikcube/app/overlay/PlaybackOverlays.cpp b/src/musikcube/app/overlay/PlaybackOverlays.cpp index 131ffd2c4..bbd609688 100644 --- a/src/musikcube/app/overlay/PlaybackOverlays.cpp +++ b/src/musikcube/app/overlay/PlaybackOverlays.cpp @@ -37,6 +37,8 @@ #include "PlaybackOverlays.h" #include +#include +#include #include #include @@ -47,6 +49,7 @@ using namespace musik::cube; using namespace musik::glue::audio; +using namespace musik::core; using namespace musik::core::audio; using namespace musik::core::sdk; using namespace cursespp; @@ -259,3 +262,40 @@ void PlaybackOverlays::ShowTransportOverlay( cursespp::App::Overlays().Push(dialog); } + +void PlaybackOverlays::ShowReplayGainOverlay() { + using Adapter = cursespp::SimpleScrollAdapter; + using ListOverlay = cursespp::ListOverlay; + + /* eh... probably don't need to overthink this... */ + static std::map indexToValue = { {0, "disabled"}, {1, "track"}, {2, "album"} }; + static std::map valueToIndex = { {"disabled", 0}, {"track", 1}, {"album", 2} }; + + std::shared_ptr adapter(new Adapter()); + adapter->AddEntry(_TSTR("settings_replay_gain_mode_disabled")); + adapter->AddEntry(_TSTR("settings_replay_gain_mode_track")); + adapter->AddEntry(_TSTR("settings_replay_gain_mode_album")); + adapter->SetSelectable(true); + + auto prefs = Preferences::ForComponent(prefs::components::Playback); + auto current = prefs->GetString(prefs::keys::ReplayGainMode, "default"); + + auto end = valueToIndex.end(); + size_t selectedIndex = valueToIndex.find(current) != end ? valueToIndex[current] : 0; + + std::shared_ptr dialog(new ListOverlay()); + + dialog->SetAdapter(adapter) + .SetTitle(_TSTR("settings_replay_gain_title")) + .SetSelectedIndex(selectedIndex) + .SetItemSelectedCallback( + [prefs](ListOverlay* overlay, IScrollAdapterPtr adapter, size_t index) { + prefs->SetString( + prefs::keys::ReplayGainMode.c_str(), + indexToValue[index].c_str()); + + prefs->Save(); + }); + + cursespp::App::Overlays().Push(dialog); +} diff --git a/src/musikcube/app/overlay/PlaybackOverlays.h b/src/musikcube/app/overlay/PlaybackOverlays.h index 3168e681f..fbaf453c2 100644 --- a/src/musikcube/app/overlay/PlaybackOverlays.h +++ b/src/musikcube/app/overlay/PlaybackOverlays.h @@ -51,6 +51,8 @@ namespace musik { musik::glue::audio::MasterTransport::Type transportType, std::function callback); + static void ShowReplayGainOverlay(); + private: PlaybackOverlays(); }; diff --git a/src/musikcube/data/locales/en_US.json b/src/musikcube/data/locales/en_US.json index c9ec6760f..72625c98c 100644 --- a/src/musikcube/data/locales/en_US.json +++ b/src/musikcube/data/locales/en_US.json @@ -62,6 +62,12 @@ "settings_server_invalid_settings_title": "invalid settings", "settings_server_invalid_settings_message": "invalid or missing settings. please check the values and try again.", + "settings_replay_gain": "replay gain", + "settings_replay_gain_title": "replay gain mode", + "settings_replay_gain_mode_disabled": "disabled", + "settings_replay_gain_mode_track": "track", + "settings_replay_gain_mode_album": "album", + "track_filter_title": "track filter results", "locale_overlay_select_title": "select locale", diff --git a/src/plugins/taglib_plugin/TaglibMetadataReader.cpp b/src/plugins/taglib_plugin/TaglibMetadataReader.cpp index 62d9f09d6..8fd95f94b 100644 --- a/src/plugins/taglib_plugin/TaglibMetadataReader.cpp +++ b/src/plugins/taglib_plugin/TaglibMetadataReader.cpp @@ -48,6 +48,7 @@ #include #include #include + #include #include #include #include @@ -72,6 +73,7 @@ #include #include #include +#include #endif #include @@ -93,6 +95,31 @@ static inline std::wstring utf8to16(const char* utf8) { } #endif +static float toReplayGainFloat(const std::string& input) { + /* trim any trailing " db" or "db" noise... */ + std::string lower = boost::algorithm::to_lower_copy(input); + if (lower.find(" db") == lower.length() - 3) { + lower = lower.substr(0, lower.length() - 3); + } + else if (lower.find("db") == lower.length() - 2) { + lower = lower.substr(0, lower.length() - 2); + } + + try { + return std::stof(lower); + } + catch (...) { + /* nothing we can do... */ + } + + return 1.0f; +} + +static void initReplayGain(musik::core::sdk::ReplayGain& rg) { + rg.albumGain = rg.albumPeak = 1.0f; + rg.trackGain = rg.trackPeak = 1.0f; +} + TaglibMetadataReader::TaglibMetadataReader() { } @@ -303,6 +330,47 @@ bool TaglibMetadataReader::ReadID3V2(const char* uri, musik::core::sdk::ITagStor this->SetTagValue("year", allTags["TCOP"].front()->toString().substr(0, 4), track); } + /* replay gain */ + + auto txxx = allTags["TXXX"]; + if (!txxx.isEmpty()) { + using ReplayGain = musik::core::sdk::ReplayGain; + ReplayGain replayGain; + initReplayGain(replayGain); + bool found = false; + + for (auto current : txxx) { + using UTIF = TagLib::ID3v2::UserTextIdentificationFrame; + UTIF* utif = dynamic_cast(current); + if (utif) { + auto name = utif->description().upper(); + auto values = utif->fieldList(); + if (values.size() > 0) { + if (name == "REPLAYGAIN_TRACK_GAIN") { + replayGain.trackGain = toReplayGainFloat(utif->fieldList().back().to8Bit()); + found = true; + } + else if (name == "REPLAYGAIN_TRACK_PEAK") { + replayGain.trackPeak = toReplayGainFloat(utif->fieldList().back().to8Bit()); + found = true; + } + else if (name == "REPLAYGAIN_ALBUM_GAIN") { + replayGain.albumGain = toReplayGainFloat(utif->fieldList().back().to8Bit()); + found = true; + } + else if (name == "REPLAYGAIN_ALBUM_PEAK") { + replayGain.albumPeak = toReplayGainFloat(utif->fieldList().back().to8Bit()); + found = true; + } + } + } + } + + if (found) { + track->SetReplayGain(replayGain); + } + } + /* TRCK is the track number (or "trackNum/totalTracks") */ std::vector splitTrack; From bca290d4e6b6bbe20cac3be740c03b1c0fee0d69 Mon Sep 17 00:00:00 2001 From: casey langen Date: Mon, 11 Dec 2017 19:41:49 -0800 Subject: [PATCH 05/19] Partial implementation of FfmpegDecoder. Working: custom i/o, codec detection (probing), decoding, seeking, basic format detection. --- src/plugins/ffmpegdecoder/CMakeLists.txt | 19 ++ src/plugins/ffmpegdecoder/FfmpegDecoder.cpp | 277 ++++++++++++++++++++ src/plugins/ffmpegdecoder/FfmpegDecoder.h | 83 ++++++ src/plugins/ffmpegdecoder/plugin.cpp | 148 +++++++++++ src/plugins/flacdecoder/FlacDecoder.h | 2 +- 5 files changed, 528 insertions(+), 1 deletion(-) create mode 100644 src/plugins/ffmpegdecoder/CMakeLists.txt create mode 100644 src/plugins/ffmpegdecoder/FfmpegDecoder.cpp create mode 100644 src/plugins/ffmpegdecoder/FfmpegDecoder.h create mode 100644 src/plugins/ffmpegdecoder/plugin.cpp diff --git a/src/plugins/ffmpegdecoder/CMakeLists.txt b/src/plugins/ffmpegdecoder/CMakeLists.txt new file mode 100644 index 000000000..ed655eed4 --- /dev/null +++ b/src/plugins/ffmpegdecoder/CMakeLists.txt @@ -0,0 +1,19 @@ +# libavformat-dev, libavcodec-dev, libavutil-dev, libavresample-dev(?), libswresample-dev + +set (ffmpegdecoder_SOURCES + plugin.cpp + FfmpegDecoder.cpp +) + +add_library(ffmpegdecoder SHARED ${ffmpegdecoder_SOURCES}) + +# prefer static libraries on mac to make redist easier +if (${LINK_STATICALLY} MATCHES "true") + find_library(AVCODECLIB NAMES libavcodec.a avcodec) + find_library(AVUTILLIB NAMES libavutil.a avutil) + find_library(AVFORMATLIB NAMES libavformat.a avformat) + find_library(SWRESAMPLELIB NAMES libswresample.a swresample) + target_link_libraries(ffmpegdecoder ${musikcube_LINK_LIBS} ${AVCODECLIB} ${AVUTILLIB} ${AVFORMATLIB} ${SWRESAMPLELIB}) +else() + target_link_libraries(ffmpegdecoder ${musikcube_LINK_LIBS} avcodec avutil avformat swresample) +endif() diff --git a/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp b/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp new file mode 100644 index 000000000..70169e53b --- /dev/null +++ b/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp @@ -0,0 +1,277 @@ +////////////////////////////////////////////////////////////////////////////// +// +// Copyright (c) 2007-2017 musikcube team +// +// All rights reserved. +// +// 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. +// +// * Neither the name of the author nor the names of other contributors may +// be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// 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. +// +////////////////////////////////////////////////////////////////////////////// + +#include "FfmpegDecoder.h" +#include + +#define BUFFER_SIZE 4096 +#define PROBE_SIZE 32768 + +using namespace musik::core::sdk; + +static int readCallback(void* opaque, uint8_t* buffer, int bufferSize) { + FfmpegDecoder* decoder = static_cast(opaque); + if (decoder && decoder->Stream()) { + auto count = decoder->Stream()->Read(buffer, (PositionType) bufferSize); + return (count > 1) ? count : AVERROR_EOF; + } + return 0; +} + +static int writeCallback(void* opaque, uint8_t* buffer, int bufferSize) { + return 0; +} + +static int64_t seekCallback(void* opaque, int64_t offset, int whence) { + FfmpegDecoder* decoder = static_cast(opaque); + if (decoder && decoder->Stream()) { + IDataStream* stream = decoder->Stream(); + switch (whence) { + case AVSEEK_SIZE: + return stream->Length(); + break; + case SEEK_SET: + stream->SetPosition((PositionType) offset); + break; + case SEEK_CUR: + stream->SetPosition(stream->Position() + (PositionType) offset); + break; + case SEEK_END: + stream->SetPosition(stream->Length() - 1); + break; + } + + return stream->Position(); + } + return 0; +} + +FfmpegDecoder::FfmpegDecoder() { + this->stream = nullptr; + this->streamId = -1; + this->duration = -1.0f; + this->ioContext = nullptr; + this->formatContext = nullptr; + this->codecContext = nullptr; + this->decodedFrame = nullptr; + this->resampler = nullptr; + this->bufferSize = FF_INPUT_BUFFER_PADDING_SIZE + BUFFER_SIZE; + this->buffer = new unsigned char[this->bufferSize]; + this->decodedFrame = av_frame_alloc(); + av_init_packet(&this->packet); +} + +FfmpegDecoder::~FfmpegDecoder() { + this->Reset(); + delete[] this->buffer; + this->buffer = nullptr; + av_free_packet(&this->packet); + av_frame_free(&this->decodedFrame); + this->decodedFrame = nullptr; + + if (this->resampler) { + swr_free(&this->resampler); + this->resampler = nullptr; + } +} + +void FfmpegDecoder::Release() { + delete this; +} + +double FfmpegDecoder::SetPosition(double seconds) { + if (this->ioContext && this->formatContext && this->codecContext) { + AVStream* stream = this->formatContext->streams[this->streamId]; + int64_t pts = av_rescale_q(seconds * AV_TIME_BASE, AV_TIME_BASE_Q, stream->time_base); + avcodec_flush_buffers(this->codecContext); + if (av_seek_frame(this->formatContext, this->streamId, pts, 0) >= 0) { + return seconds; + } + } + return -1.0f; +} + +bool FfmpegDecoder::GetBuffer(IBuffer *buffer) { + if (this->ioContext) { + buffer->SetSampleRate((long) this->rate); + buffer->SetChannels((long) this->channels); + + if (!av_read_frame(this->formatContext, &this->packet)) { + int frameDecoded = 0; + + avcodec_decode_audio4( + this->codecContext, + this->decodedFrame, + &frameDecoded, + &this->packet); + + int result; + if (frameDecoded) { + int samples = this->decodedFrame->nb_samples; + int channels = this->codecContext->channels; + auto inFormat = this->codecContext->sample_fmt; + auto inLayout = this->codecContext->channel_layout; + + int decodedSize = av_samples_get_buffer_size( + nullptr, channels, samples, inFormat, 1); + + if (decodedSize > 0) { + buffer->SetSamples(samples * channels); + + if (!this->resampler) { + this->resampler = swr_alloc(); + swr_alloc_set_opts( + this->resampler, + inLayout, + AV_SAMPLE_FMT_FLT, + this->rate, + inLayout, + inFormat, + this->rate, + 0, + nullptr); + + swr_init(this->resampler); + } + + uint8_t* outData = (uint8_t*) buffer->BufferPointer(); + const uint8_t** inData = (const uint8_t**) this->decodedFrame->extended_data; + result = swr_convert(this->resampler, &outData, samples, inData, samples); + } + else { + buffer->SetSamples(0); + } + + av_frame_unref(this->decodedFrame); + return true; + } + } + } + return false; +} + +double FfmpegDecoder::GetDuration() { + return this->duration; +} + +void FfmpegDecoder::Reset() { + if (this->formatContext) { + avformat_close_input(&this->formatContext); + this->formatContext = nullptr; + } + if (this->codecContext) { + avcodec_close(this->codecContext); + this->codecContext = nullptr; + } + if (this->ioContext) { + av_free(this->ioContext); + this->ioContext = nullptr; + } + this->streamId = -1; +} + +bool FfmpegDecoder::Open(musik::core::sdk::IDataStream *stream) { + if (stream->Seekable() && this->ioContext == nullptr) { + av_register_all(); + + this->stream = stream; + + this->ioContext = avio_alloc_context( + this->buffer, + this->bufferSize, + 0, + this, + readCallback, + writeCallback, + seekCallback); + + if (this->ioContext != nullptr) { + this->streamId = -1; + this->formatContext = avformat_alloc_context(); + this->formatContext->pb = this->ioContext; + this->formatContext->flags = AVFMT_FLAG_CUSTOM_IO; + + unsigned char probe[PROBE_SIZE]; + size_t count = stream->Read(probe, PROBE_SIZE); + stream->SetPosition(0); + + AVProbeData probeData; + probeData.buf = probe; + probeData.buf_size = count; + probeData.filename = ""; + + this->formatContext->iformat = av_probe_input_format(&probeData, 1); + + if (this->formatContext->iformat) { + if (avformat_open_input(&this->formatContext, "", nullptr, nullptr) == 0) { + if (avformat_find_stream_info(this->formatContext, nullptr) >= 0) { + for (int i = 0; i < this->formatContext->nb_streams; i++) { + if (this->formatContext->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) { + this->streamId = i; + break; + } + } + } + + if (this->streamId != -1) { + this->codecContext = this->formatContext->streams[this->streamId]->codec; + this->codecContext->request_sample_fmt = AV_SAMPLE_FMT_FLT; + if (codecContext) { + AVCodec* codec = avcodec_find_decoder(codecContext->codec_id); + if (codec) { + if (avcodec_open2(codecContext, codec, nullptr) < 0) { + goto reset_and_fail; + } + } + } + + auto stream = this->formatContext->streams[this->streamId]; + this->rate = stream->codec->sample_rate; + this->channels = stream->codec->channels; + this->duration = (double) this->formatContext->duration / (double) AV_TIME_BASE; + return true; + } + } + } + } + } + +reset_and_fail: + this->Reset(); + return false; +} + +bool FfmpegDecoder::Exhausted() { + return false; +} \ No newline at end of file diff --git a/src/plugins/ffmpegdecoder/FfmpegDecoder.h b/src/plugins/ffmpegdecoder/FfmpegDecoder.h new file mode 100644 index 000000000..e3ebf6f27 --- /dev/null +++ b/src/plugins/ffmpegdecoder/FfmpegDecoder.h @@ -0,0 +1,83 @@ +////////////////////////////////////////////////////////////////////////////// +// +// Copyright (c) 2007-2017 musikcube team +// +// All rights reserved. +// +// 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. +// +// * Neither the name of the author nor the names of other contributors may +// be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// 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. +// +////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include +#include +#include + +extern "C" { + #include + #include + #include + #include + #include +} + +#include + +using namespace musik::core::sdk; + +class FfmpegDecoder: public musik::core::sdk::IDecoder { + public: + FfmpegDecoder(); + ~FfmpegDecoder(); + + virtual void Release() override; + virtual double SetPosition(double seconds) override; + virtual bool GetBuffer(IBuffer *buffer) override; + virtual double GetDuration() override; + virtual bool Open(musik::core::sdk::IDataStream *stream) override; + virtual bool Exhausted() override; + + IDataStream* Stream() { return this->stream; } + + private: + void Reset(); + + private: + musik::core::sdk::IDataStream* stream; + AVIOContext* ioContext; + AVFormatContext* formatContext; + AVCodecContext* codecContext; + AVPacket packet; + AVFrame* decodedFrame; + SwrContext* resampler; + unsigned char* buffer; + size_t bufferSize; + size_t rate, channels; + int streamId; + double duration; +}; diff --git a/src/plugins/ffmpegdecoder/plugin.cpp b/src/plugins/ffmpegdecoder/plugin.cpp new file mode 100644 index 000000000..928c83707 --- /dev/null +++ b/src/plugins/ffmpegdecoder/plugin.cpp @@ -0,0 +1,148 @@ +////////////////////////////////////////////////////////////////////////////// +// +// Copyright (c) 2007-2017 musikcube team +// +// All rights reserved. +// +// 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. +// +// * Neither the name of the author nor the names of other contributors may +// be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// 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. +// +////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include "FfmpegDecoder.h" + +extern "C" { + #include + #include +} + +#include +#include +#include + +#ifdef WIN32 +#define DLLEXPORT __declspec(dllexport) +#else +#define DLLEXPORT +#endif + +#ifdef WIN32 + BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { + return true; + } +#endif + +class FfmpegPlugin : public musik::core::sdk::IPlugin { + public: + FfmpegPlugin() { } + virtual void Release() { }; + virtual const char* Name() { return "ffmpeg IDecoder"; } + virtual const char* Version() { return "0.1.0"; } + virtual const char* Author() { return "clangen"; } + virtual const char* Guid() { return "f993ec34-ab43-4c6a-9a0a-6462b4ae1a1c"; } + virtual bool Configurable() { return false; } + virtual void Configure() { } + virtual void Reload() { } + virtual int SdkVersion() { return musik::core::sdk::SdkVersion; } +} plugin; + +class FfmpegDecoderFactory : public musik::core::sdk::IDecoderFactory { + public: + FfmpegDecoderFactory() { + av_register_all(); + + typeToCodecId = { + { ".mp3", AV_CODEC_ID_MP3 }, + { "audio/mpeg", AV_CODEC_ID_MP3 }, + { ".ogg", AV_CODEC_ID_VORBIS }, + { "audio/ogg", AV_CODEC_ID_VORBIS }, + { ".opus", AV_CODEC_ID_OPUS }, + { ".flac", AV_CODEC_ID_FLAC }, + { "audio/flac", AV_CODEC_ID_FLAC }, + { ".aac", AV_CODEC_ID_AAC }, + { "audio/aac", AV_CODEC_ID_AAC }, + { ".mp4", AV_CODEC_ID_MPEG4 }, + { "audio/mp4", AV_CODEC_ID_MPEG4 }, + { ".m4a", AV_CODEC_ID_MPEG4 }, + { ".mpc", AV_CODEC_ID_MUSEPACK8 }, + { ".mp+", AV_CODEC_ID_MUSEPACK8 }, + { ".mpp", AV_CODEC_ID_MUSEPACK8 }, + { "audio/x-musepack", AV_CODEC_ID_MUSEPACK8 }, + { ".ape", AV_CODEC_ID_APE }, + { "audio/monkeys-audio", AV_CODEC_ID_APE }, + { ".wma", AV_CODEC_ID_WMAV2 }, + { "audio/x-ms-wma", AV_CODEC_ID_WMAV2 }, + }; + + AVCodec* codec = av_codec_next(nullptr); + while (codec != nullptr) { + const AVCodecDescriptor* descriptor = avcodec_descriptor_get(codec->id); + if (descriptor != nullptr && descriptor->type == AVMEDIA_TYPE_AUDIO) { + supported.insert(descriptor->id); + } + codec = av_codec_next(codec); + } + } + + ~FfmpegDecoderFactory() { + } + + virtual void Release() { + } + + virtual musik::core::sdk::IDecoder* CreateDecoder() { + return new FfmpegDecoder(); + } + + virtual bool CanHandle(const char* type) const { + std::string str(type); + std::transform(str.begin(), str.end(), str.begin(), tolower); + + auto it = typeToCodecId.find(type); + if (it != typeToCodecId.end()) { + if (supported.find(it->second) != supported.end()) { + return true; + } + } + + return false; + } + + private: + std::map typeToCodecId; + std::set supported; +} factory; + +extern "C" DLLEXPORT musik::core::sdk::IPlugin* GetPlugin() { + return &plugin; +} + +extern "C" DLLEXPORT musik::core::sdk::IDecoderFactory* GetDecoderFactory() { + return &factory; +} diff --git a/src/plugins/flacdecoder/FlacDecoder.h b/src/plugins/flacdecoder/FlacDecoder.h index fc71d6619..5ed9677c1 100644 --- a/src/plugins/flacdecoder/FlacDecoder.h +++ b/src/plugins/flacdecoder/FlacDecoder.h @@ -42,7 +42,7 @@ using namespace musik::core::sdk; -class FlacDecoder : public musik::core::sdk::IDecoder { +class FlacDecoder: public musik::core::sdk::IDecoder { public: FlacDecoder(); ~FlacDecoder(); From cc35a0e3c89e985d78b896e856c9b1695cee01a7 Mon Sep 17 00:00:00 2001 From: casey langen Date: Tue, 12 Dec 2017 23:29:22 -0800 Subject: [PATCH 06/19] Added VS2017 project (but not lib/dll yet), and fixed a memory leak in the FfmpegDecoder source. --- src/plugins/ffmpegdecoder/FfmpegDecoder.cpp | 39 ++--- .../ffmpegdecoder/ffmpegdecoder.filters | 22 +++ .../ffmpegdecoder/ffmpegdecoder.vcxproj | 160 ++++++++++++++++++ src/plugins/ffmpegdecoder/plugin.cpp | 28 +-- 4 files changed, 217 insertions(+), 32 deletions(-) create mode 100644 src/plugins/ffmpegdecoder/ffmpegdecoder.filters create mode 100644 src/plugins/ffmpegdecoder/ffmpegdecoder.vcxproj diff --git a/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp b/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp index 70169e53b..d6f45e5fd 100644 --- a/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp +++ b/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp @@ -113,7 +113,8 @@ void FfmpegDecoder::Release() { double FfmpegDecoder::SetPosition(double seconds) { if (this->ioContext && this->formatContext && this->codecContext) { AVStream* stream = this->formatContext->streams[this->streamId]; - int64_t pts = av_rescale_q(seconds * AV_TIME_BASE, AV_TIME_BASE_Q, stream->time_base); + AVRational baseQ = { 1, AV_TIME_BASE }; + int64_t pts = av_rescale_q(seconds * AV_TIME_BASE, baseQ, stream->time_base); avcodec_flush_buffers(this->codecContext); if (av_seek_frame(this->formatContext, this->streamId, pts, 0) >= 0) { return seconds; @@ -129,14 +130,15 @@ bool FfmpegDecoder::GetBuffer(IBuffer *buffer) { if (!av_read_frame(this->formatContext, &this->packet)) { int frameDecoded = 0; - + avcodec_decode_audio4( this->codecContext, this->decodedFrame, &frameDecoded, &this->packet); - int result; + av_free_packet(&this->packet); + if (frameDecoded) { int samples = this->decodedFrame->nb_samples; int channels = this->codecContext->channels; @@ -151,6 +153,7 @@ bool FfmpegDecoder::GetBuffer(IBuffer *buffer) { if (!this->resampler) { this->resampler = swr_alloc(); + swr_alloc_set_opts( this->resampler, inLayout, @@ -167,15 +170,15 @@ bool FfmpegDecoder::GetBuffer(IBuffer *buffer) { uint8_t* outData = (uint8_t*) buffer->BufferPointer(); const uint8_t** inData = (const uint8_t**) this->decodedFrame->extended_data; - result = swr_convert(this->resampler, &outData, samples, inData, samples); + swr_convert(this->resampler, &outData, samples, inData, samples); } else { buffer->SetSamples(0); } - - av_frame_unref(this->decodedFrame); - return true; } + + av_frame_unref(this->decodedFrame); + return true; } } return false; @@ -203,17 +206,15 @@ void FfmpegDecoder::Reset() { bool FfmpegDecoder::Open(musik::core::sdk::IDataStream *stream) { if (stream->Seekable() && this->ioContext == nullptr) { - av_register_all(); - this->stream = stream; this->ioContext = avio_alloc_context( this->buffer, - this->bufferSize, - 0, - this, - readCallback, - writeCallback, + this->bufferSize, + 0, + this, + readCallback, + writeCallback, seekCallback); if (this->ioContext != nullptr) { @@ -221,12 +222,12 @@ bool FfmpegDecoder::Open(musik::core::sdk::IDataStream *stream) { this->formatContext = avformat_alloc_context(); this->formatContext->pb = this->ioContext; this->formatContext->flags = AVFMT_FLAG_CUSTOM_IO; - + unsigned char probe[PROBE_SIZE]; size_t count = stream->Read(probe, PROBE_SIZE); stream->SetPosition(0); - AVProbeData probeData; + AVProbeData probeData = { 0 }; probeData.buf = probe; probeData.buf_size = count; probeData.filename = ""; @@ -236,9 +237,9 @@ bool FfmpegDecoder::Open(musik::core::sdk::IDataStream *stream) { if (this->formatContext->iformat) { if (avformat_open_input(&this->formatContext, "", nullptr, nullptr) == 0) { if (avformat_find_stream_info(this->formatContext, nullptr) >= 0) { - for (int i = 0; i < this->formatContext->nb_streams; i++) { + for (unsigned i = 0; i < this->formatContext->nb_streams; i++) { if (this->formatContext->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) { - this->streamId = i; + this->streamId = (int) i; break; } } @@ -260,7 +261,7 @@ bool FfmpegDecoder::Open(musik::core::sdk::IDataStream *stream) { this->rate = stream->codec->sample_rate; this->channels = stream->codec->channels; this->duration = (double) this->formatContext->duration / (double) AV_TIME_BASE; - return true; + return true; } } } diff --git a/src/plugins/ffmpegdecoder/ffmpegdecoder.filters b/src/plugins/ffmpegdecoder/ffmpegdecoder.filters new file mode 100644 index 000000000..97b326fc1 --- /dev/null +++ b/src/plugins/ffmpegdecoder/ffmpegdecoder.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + + + src + + + src + + + + + src + + + \ No newline at end of file diff --git a/src/plugins/ffmpegdecoder/ffmpegdecoder.vcxproj b/src/plugins/ffmpegdecoder/ffmpegdecoder.vcxproj new file mode 100644 index 000000000..36a6df77e --- /dev/null +++ b/src/plugins/ffmpegdecoder/ffmpegdecoder.vcxproj @@ -0,0 +1,160 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {f1c18d01-9173-41c6-8c73-dc501582f227} + ffmpegdecoder + 10.0.16299.0 + + + + DynamicLibrary + true + v141 + Unicode + + + DynamicLibrary + false + v141 + true + Unicode + + + Application + true + v140 + MultiByte + + + Application + false + v140 + true + MultiByte + + + + + + + + + + + + + + + + + + + + + $(SolutionDir)\bin\$(Configuration)\plugins\ + .\obj\$(Configuration)\ + + + + + $(SolutionDir)\bin\$(Configuration)\plugins\ + .\obj\$(Configuration)\ + + + + Level3 + Disabled + true + 3rdparty/include;3rdparty/win32_include;../../3rdparty/win32_include;../../../../boost_1_65_0;../../;%(AdditionalIncludeDirectories) + WIN32;WIN32_LEAN_AND_MEAN;NOMINMAX;ZLIB_WINAPI;MHD_W32LIB;BUILDING_MHD_LIB;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) + MultiThreadedDebug + 4996 + + + ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/win32_lib;./3rdparty/win32_lib;%(AdditionalLibraryDirectories) + avcodec-musikcube.lib;avformat-musikcube.lib;avutil-musikcube.lib;swresample-musikcube.lib;%(AdditionalDependencies) + + + + + + + + + Level3 + Disabled + true + + + + + Level3 + Full + true + true + true + 3rdparty/include;3rdparty/win32_include;../../3rdparty/win32_include;../../../../boost_1_65_0;../../;%(AdditionalIncludeDirectories) + WIN32;WIN32_LEAN_AND_MEAN;NOMINMAX;ZLIB_WINAPI;MHD_W32LIB;BUILDING_MHD_LIB;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) + MultiThreaded + None + Default + Speed + Sync + 4996 + + + true + true + ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/win32_lib;./3rdparty/win32_lib + avcodec-musikcube.lib;avformat-musikcube.lib;avutil-musikcube.lib;swresample-musikcube.lib;%(AdditionalDependencies) + false + Windows + false + + + + + + + + + Level3 + MaxSpeed + true + true + true + + + true + true + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/plugins/ffmpegdecoder/plugin.cpp b/src/plugins/ffmpegdecoder/plugin.cpp index 928c83707..120b8c770 100644 --- a/src/plugins/ffmpegdecoder/plugin.cpp +++ b/src/plugins/ffmpegdecoder/plugin.cpp @@ -53,6 +53,8 @@ extern "C" { #endif #ifdef WIN32 +#include + BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { return true; } @@ -78,25 +80,25 @@ class FfmpegDecoderFactory : public musik::core::sdk::IDecoderFactory { av_register_all(); typeToCodecId = { - { ".mp3", AV_CODEC_ID_MP3 }, + { ".mp3", AV_CODEC_ID_MP3 }, { "audio/mpeg", AV_CODEC_ID_MP3 }, - { ".ogg", AV_CODEC_ID_VORBIS }, + { ".ogg", AV_CODEC_ID_VORBIS }, { "audio/ogg", AV_CODEC_ID_VORBIS }, - { ".opus", AV_CODEC_ID_OPUS }, - { ".flac", AV_CODEC_ID_FLAC }, + { ".opus", AV_CODEC_ID_OPUS }, + { ".flac", AV_CODEC_ID_FLAC }, { "audio/flac", AV_CODEC_ID_FLAC }, - { ".aac", AV_CODEC_ID_AAC }, + { ".aac", AV_CODEC_ID_AAC }, { "audio/aac", AV_CODEC_ID_AAC }, - { ".mp4", AV_CODEC_ID_MPEG4 }, + { ".mp4", AV_CODEC_ID_MPEG4 }, { "audio/mp4", AV_CODEC_ID_MPEG4 }, - { ".m4a", AV_CODEC_ID_MPEG4 }, - { ".mpc", AV_CODEC_ID_MUSEPACK8 }, - { ".mp+", AV_CODEC_ID_MUSEPACK8 }, - { ".mpp", AV_CODEC_ID_MUSEPACK8 }, + { ".m4a", AV_CODEC_ID_MPEG4 }, + { ".mpc", AV_CODEC_ID_MUSEPACK8 }, + { ".mp+", AV_CODEC_ID_MUSEPACK8 }, + { ".mpp", AV_CODEC_ID_MUSEPACK8 }, { "audio/x-musepack", AV_CODEC_ID_MUSEPACK8 }, - { ".ape", AV_CODEC_ID_APE }, + { ".ape", AV_CODEC_ID_APE }, { "audio/monkeys-audio", AV_CODEC_ID_APE }, - { ".wma", AV_CODEC_ID_WMAV2 }, + { ".wma", AV_CODEC_ID_WMAV2 }, { "audio/x-ms-wma", AV_CODEC_ID_WMAV2 }, }; @@ -133,7 +135,7 @@ class FfmpegDecoderFactory : public musik::core::sdk::IDecoderFactory { return false; } - + private: std::map typeToCodecId; std::set supported; From ead6db34a13858aeeb3d1f7e6b89b1522a652107 Mon Sep 17 00:00:00 2001 From: casey langen Date: Wed, 13 Dec 2017 07:29:53 -0800 Subject: [PATCH 07/19] Fixed the order in which we free libav resources, hopefully fixing a somewhat difficult to reproduce crash when shutting down the decoder. --- src/plugins/ffmpegdecoder/FfmpegDecoder.cpp | 28 ++++++++++----------- src/plugins/ffmpegdecoder/FfmpegDecoder.h | 4 +-- src/plugins/ffmpegdecoder/plugin.cpp | 4 +++ 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp b/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp index d6f45e5fd..233df04b9 100644 --- a/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp +++ b/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp @@ -114,7 +114,7 @@ double FfmpegDecoder::SetPosition(double seconds) { if (this->ioContext && this->formatContext && this->codecContext) { AVStream* stream = this->formatContext->streams[this->streamId]; AVRational baseQ = { 1, AV_TIME_BASE }; - int64_t pts = av_rescale_q(seconds * AV_TIME_BASE, baseQ, stream->time_base); + int64_t pts = av_rescale_q((int64_t)(seconds * AV_TIME_BASE), baseQ, stream->time_base); avcodec_flush_buffers(this->codecContext); if (av_seek_frame(this->formatContext, this->streamId, pts, 0) >= 0) { return seconds; @@ -189,6 +189,10 @@ double FfmpegDecoder::GetDuration() { } void FfmpegDecoder::Reset() { + if (this->ioContext) { + av_free(this->ioContext); + this->ioContext = nullptr; + } if (this->formatContext) { avformat_close_input(&this->formatContext); this->formatContext = nullptr; @@ -197,10 +201,6 @@ void FfmpegDecoder::Reset() { avcodec_close(this->codecContext); this->codecContext = nullptr; } - if (this->ioContext) { - av_free(this->ioContext); - this->ioContext = nullptr; - } this->streamId = -1; } @@ -247,15 +247,15 @@ bool FfmpegDecoder::Open(musik::core::sdk::IDataStream *stream) { if (this->streamId != -1) { this->codecContext = this->formatContext->streams[this->streamId]->codec; - this->codecContext->request_sample_fmt = AV_SAMPLE_FMT_FLT; - if (codecContext) { - AVCodec* codec = avcodec_find_decoder(codecContext->codec_id); - if (codec) { - if (avcodec_open2(codecContext, codec, nullptr) < 0) { - goto reset_and_fail; - } - } - } + //if (codecContext) { + // this->codecContext->request_sample_fmt = AV_SAMPLE_FMT_FLT; + // AVCodec* codec = avcodec_find_decoder(codecContext->codec_id); + // if (codec) { + // if (avcodec_open2(codecContext, codec, nullptr) < 0) { + // goto reset_and_fail; + // } + // } + //} auto stream = this->formatContext->streams[this->streamId]; this->rate = stream->codec->sample_rate; diff --git a/src/plugins/ffmpegdecoder/FfmpegDecoder.h b/src/plugins/ffmpegdecoder/FfmpegDecoder.h index e3ebf6f27..38fb47ac8 100644 --- a/src/plugins/ffmpegdecoder/FfmpegDecoder.h +++ b/src/plugins/ffmpegdecoder/FfmpegDecoder.h @@ -42,8 +42,8 @@ extern "C" { #include #include #include - #include - #include + #include + #include } #include diff --git a/src/plugins/ffmpegdecoder/plugin.cpp b/src/plugins/ffmpegdecoder/plugin.cpp index 120b8c770..d32e0aeba 100644 --- a/src/plugins/ffmpegdecoder/plugin.cpp +++ b/src/plugins/ffmpegdecoder/plugin.cpp @@ -54,6 +54,7 @@ extern "C" { #ifdef WIN32 #include +#include BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { return true; @@ -77,6 +78,9 @@ class FfmpegPlugin : public musik::core::sdk::IPlugin { class FfmpegDecoderFactory : public musik::core::sdk::IDecoderFactory { public: FfmpegDecoderFactory() { +#ifdef WIN32 + CoInitializeEx(nullptr, COINIT_MULTITHREADED); +#endif av_register_all(); typeToCodecId = { From 2e5c3fb8ac6adde9b1f8bf749e91b425126ecec0 Mon Sep 17 00:00:00 2001 From: casey langen Date: Wed, 13 Dec 2017 20:56:46 -0800 Subject: [PATCH 08/19] Fixed an order-of-operations bug that was leading to a double free in the ffmpeg decoder. Also patched up a memory leak -- we weren't completely freeing the formatContext. --- src/plugins/ffmpegdecoder/FfmpegDecoder.cpp | 34 +++++++++++++-------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp b/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp index 233df04b9..29b9b24b1 100644 --- a/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp +++ b/src/plugins/ffmpegdecoder/FfmpegDecoder.cpp @@ -94,6 +94,7 @@ FfmpegDecoder::FfmpegDecoder() { FfmpegDecoder::~FfmpegDecoder() { this->Reset(); + delete[] this->buffer; this->buffer = nullptr; av_free_packet(&this->packet); @@ -193,14 +194,21 @@ void FfmpegDecoder::Reset() { av_free(this->ioContext); this->ioContext = nullptr; } + if (this->codecContext) { + avcodec_flush_buffers(this->codecContext); + + auto stream = this->formatContext->streams[this->streamId]; + if (stream != nullptr) { + avcodec_close(this->codecContext); + } + + this->codecContext = nullptr; + } if (this->formatContext) { avformat_close_input(&this->formatContext); + avformat_free_context(this->formatContext); this->formatContext = nullptr; } - if (this->codecContext) { - avcodec_close(this->codecContext); - this->codecContext = nullptr; - } this->streamId = -1; } @@ -247,15 +255,15 @@ bool FfmpegDecoder::Open(musik::core::sdk::IDataStream *stream) { if (this->streamId != -1) { this->codecContext = this->formatContext->streams[this->streamId]->codec; - //if (codecContext) { - // this->codecContext->request_sample_fmt = AV_SAMPLE_FMT_FLT; - // AVCodec* codec = avcodec_find_decoder(codecContext->codec_id); - // if (codec) { - // if (avcodec_open2(codecContext, codec, nullptr) < 0) { - // goto reset_and_fail; - // } - // } - //} + if (codecContext) { + this->codecContext->request_sample_fmt = AV_SAMPLE_FMT_FLT; + AVCodec* codec = avcodec_find_decoder(codecContext->codec_id); + if (codec) { + if (avcodec_open2(codecContext, codec, nullptr) < 0) { + goto reset_and_fail; + } + } + } auto stream = this->formatContext->streams[this->streamId]; this->rate = stream->codec->sample_rate; From b070089f138e395ba3167cf35a4cc3d99fd0d8ae Mon Sep 17 00:00:00 2001 From: casey langen Date: Thu, 14 Dec 2017 20:59:36 -0800 Subject: [PATCH 09/19] Added conditional ffmpegdecoder compile-time option. --- CMakeLists.txt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c7b9161c1..5d5565d31 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -94,15 +94,20 @@ add_subdirectory(src/core) add_subdirectory(src/glue) add_subdirectory(src/musikcube) add_subdirectory(src/plugins/taglib_plugin) -add_subdirectory(src/plugins/m4adecoder) -add_subdirectory(src/plugins/oggdecoder) -add_subdirectory(src/plugins/nomaddecoder) -add_subdirectory(src/plugins/flacdecoder) add_subdirectory(src/plugins/nullout) add_subdirectory(src/plugins/server) add_subdirectory(src/plugins/httpdatastream) add_subdirectory(src/plugins/stockencoders) +if (${FFMPEG_DECODER} MATCHES "true") + add_subdirectory(src/plugins/ffmpegdecoder) +else() + add_subdirectory(src/plugins/m4adecoder) + add_subdirectory(src/plugins/oggdecoder) + add_subdirectory(src/plugins/nomaddecoder) + add_subdirectory(src/plugins/flacdecoder) +endif() + add_dependencies(taglibreader taglib) if (CMAKE_SYSTEM_NAME MATCHES "Linux") From 18aa658df23acd7cf2a1f1f92e84d87cde08c56f Mon Sep 17 00:00:00 2001 From: Casey Langen Date: Thu, 14 Dec 2017 21:12:29 -0800 Subject: [PATCH 10/19] Fixed macOS compile. --- src/plugins/ffmpegdecoder/CMakeLists.txt | 13 ++----------- src/plugins/ffmpegdecoder/plugin.cpp | 1 + 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/plugins/ffmpegdecoder/CMakeLists.txt b/src/plugins/ffmpegdecoder/CMakeLists.txt index ed655eed4..677db163b 100644 --- a/src/plugins/ffmpegdecoder/CMakeLists.txt +++ b/src/plugins/ffmpegdecoder/CMakeLists.txt @@ -5,15 +5,6 @@ set (ffmpegdecoder_SOURCES FfmpegDecoder.cpp ) +# note: static linking is a no-go (too many dependencies). sorry macOS. add_library(ffmpegdecoder SHARED ${ffmpegdecoder_SOURCES}) - -# prefer static libraries on mac to make redist easier -if (${LINK_STATICALLY} MATCHES "true") - find_library(AVCODECLIB NAMES libavcodec.a avcodec) - find_library(AVUTILLIB NAMES libavutil.a avutil) - find_library(AVFORMATLIB NAMES libavformat.a avformat) - find_library(SWRESAMPLELIB NAMES libswresample.a swresample) - target_link_libraries(ffmpegdecoder ${musikcube_LINK_LIBS} ${AVCODECLIB} ${AVUTILLIB} ${AVFORMATLIB} ${SWRESAMPLELIB}) -else() - target_link_libraries(ffmpegdecoder ${musikcube_LINK_LIBS} avcodec avutil avformat swresample) -endif() +target_link_libraries(ffmpegdecoder ${musikcube_LINK_LIBS} avcodec avutil avformat swresample) \ No newline at end of file diff --git a/src/plugins/ffmpegdecoder/plugin.cpp b/src/plugins/ffmpegdecoder/plugin.cpp index d32e0aeba..6eccdefc1 100644 --- a/src/plugins/ffmpegdecoder/plugin.cpp +++ b/src/plugins/ffmpegdecoder/plugin.cpp @@ -45,6 +45,7 @@ extern "C" { #include #include #include +#include #ifdef WIN32 #define DLLEXPORT __declspec(dllexport) From 24b714ff4b2cb01a7876fe11feae1ae1e8138ba4 Mon Sep 17 00:00:00 2001 From: casey langen Date: Fri, 15 Dec 2017 22:01:47 -0800 Subject: [PATCH 11/19] - use the new `musikcube-bin` git repo as a submodule for including binaries. this will help keep the main repo binary-free. - properly isolate ffmpegdecoder from the main project file in windows. --- .gitmodules | 3 + musikcube.sln | 27 +- musikcube_ffmpeg.sln | 183 + src/3rdparty/3rdparty.vcxproj | 4 +- src/3rdparty/bin | 1 + src/3rdparty/win32_bin/crypto-41.dll | Bin 1278976 -> 0 bytes src/3rdparty/win32_bin/libcurl.dll | Bin 683008 -> 0 bytes src/3rdparty/win32_bin/libogg.dll | Bin 301056 -> 0 bytes src/3rdparty/win32_bin/libvorbis.dll | Bin 673280 -> 0 bytes src/3rdparty/win32_bin/libvorbisfile.dll | Bin 108544 -> 0 bytes src/3rdparty/win32_bin/ssl-43.dll | Bin 290816 -> 0 bytes src/3rdparty/win32_bin/tls-15.dll | Bin 116736 -> 0 bytes .../3rdparty/win32_include/lame/lame.h | 0 .../win32_include/libavcodec/avcodec.h | 6425 +++++++++++++++++ src/3rdparty/win32_include/libavcodec/avdct.h | 84 + src/3rdparty/win32_include/libavcodec/avfft.h | 118 + .../win32_include/libavcodec/d3d11va.h | 112 + src/3rdparty/win32_include/libavcodec/dirac.h | 131 + .../win32_include/libavcodec/dv_profile.h | 83 + src/3rdparty/win32_include/libavcodec/dxva2.h | 93 + src/3rdparty/win32_include/libavcodec/jni.h | 46 + .../win32_include/libavcodec/mediacodec.h | 88 + src/3rdparty/win32_include/libavcodec/qsv.h | 107 + src/3rdparty/win32_include/libavcodec/vaapi.h | 195 + src/3rdparty/win32_include/libavcodec/vda.h | 230 + src/3rdparty/win32_include/libavcodec/vdpau.h | 253 + .../win32_include/libavcodec/version.h | 243 + .../win32_include/libavcodec/videotoolbox.h | 127 + .../win32_include/libavcodec/vorbis_parser.h | 74 + src/3rdparty/win32_include/libavcodec/xvmc.h | 170 + .../win32_include/libavformat/avformat.h | 3008 ++++++++ src/3rdparty/win32_include/libavformat/avio.h | 867 +++ .../win32_include/libavformat/version.h | 105 + .../win32_include/libavutil/adler32.h | 60 + src/3rdparty/win32_include/libavutil/aes.h | 65 + .../win32_include/libavutil/aes_ctr.h | 83 + .../win32_include/libavutil/attributes.h | 167 + .../win32_include/libavutil/audio_fifo.h | 187 + .../win32_include/libavutil/avassert.h | 75 + .../win32_include/libavutil/avconfig.h | 6 + .../win32_include/libavutil/avstring.h | 407 ++ src/3rdparty/win32_include/libavutil/avutil.h | 365 + src/3rdparty/win32_include/libavutil/base64.h | 72 + .../win32_include/libavutil/blowfish.h | 82 + src/3rdparty/win32_include/libavutil/bprint.h | 219 + src/3rdparty/win32_include/libavutil/bswap.h | 109 + src/3rdparty/win32_include/libavutil/buffer.h | 291 + .../win32_include/libavutil/camellia.h | 70 + src/3rdparty/win32_include/libavutil/cast5.h | 80 + .../win32_include/libavutil/channel_layout.h | 232 + src/3rdparty/win32_include/libavutil/common.h | 530 ++ src/3rdparty/win32_include/libavutil/cpu.h | 129 + src/3rdparty/win32_include/libavutil/crc.h | 103 + src/3rdparty/win32_include/libavutil/des.h | 77 + src/3rdparty/win32_include/libavutil/dict.h | 200 + .../win32_include/libavutil/display.h | 114 + .../win32_include/libavutil/downmix_info.h | 115 + src/3rdparty/win32_include/libavutil/error.h | 126 + src/3rdparty/win32_include/libavutil/eval.h | 113 + .../win32_include/libavutil/ffversion.h | 5 + src/3rdparty/win32_include/libavutil/fifo.h | 179 + src/3rdparty/win32_include/libavutil/file.h | 69 + src/3rdparty/win32_include/libavutil/frame.h | 821 +++ src/3rdparty/win32_include/libavutil/hash.h | 263 + src/3rdparty/win32_include/libavutil/hmac.h | 100 + .../win32_include/libavutil/hwcontext.h | 582 ++ .../win32_include/libavutil/hwcontext_cuda.h | 51 + .../libavutil/hwcontext_d3d11va.h | 168 + .../win32_include/libavutil/hwcontext_drm.h | 166 + .../win32_include/libavutil/hwcontext_dxva2.h | 75 + .../win32_include/libavutil/hwcontext_qsv.h | 53 + .../win32_include/libavutil/hwcontext_vaapi.h | 117 + .../win32_include/libavutil/hwcontext_vdpau.h | 44 + .../libavutil/hwcontext_videotoolbox.h | 54 + .../win32_include/libavutil/imgutils.h | 277 + .../win32_include/libavutil/intfloat.h | 77 + .../win32_include/libavutil/intreadwrite.h | 634 ++ src/3rdparty/win32_include/libavutil/lfg.h | 71 + src/3rdparty/win32_include/libavutil/log.h | 376 + src/3rdparty/win32_include/libavutil/lzo.h | 66 + src/3rdparty/win32_include/libavutil/macros.h | 50 + .../libavutil/mastering_display_metadata.h | 128 + .../win32_include/libavutil/mathematics.h | 242 + src/3rdparty/win32_include/libavutil/md5.h | 98 + src/3rdparty/win32_include/libavutil/mem.h | 699 ++ .../win32_include/libavutil/motion_vector.h | 57 + .../win32_include/libavutil/murmur3.h | 114 + src/3rdparty/win32_include/libavutil/opt.h | 866 +++ .../win32_include/libavutil/parseutils.h | 193 + .../win32_include/libavutil/pixdesc.h | 430 ++ .../win32_include/libavutil/pixelutils.h | 52 + src/3rdparty/win32_include/libavutil/pixfmt.h | 540 ++ .../win32_include/libavutil/random_seed.h | 43 + .../win32_include/libavutil/rational.h | 214 + src/3rdparty/win32_include/libavutil/rc4.h | 66 + .../win32_include/libavutil/replaygain.h | 50 + src/3rdparty/win32_include/libavutil/ripemd.h | 83 + .../win32_include/libavutil/samplefmt.h | 272 + src/3rdparty/win32_include/libavutil/sha.h | 95 + src/3rdparty/win32_include/libavutil/sha512.h | 97 + .../win32_include/libavutil/spherical.h | 232 + .../win32_include/libavutil/stereo3d.h | 209 + src/3rdparty/win32_include/libavutil/tea.h | 71 + .../win32_include/libavutil/threadmessage.h | 107 + src/3rdparty/win32_include/libavutil/time.h | 56 + .../win32_include/libavutil/timecode.h | 140 + .../win32_include/libavutil/timestamp.h | 78 + src/3rdparty/win32_include/libavutil/tree.h | 138 + .../win32_include/libavutil/twofish.h | 70 + .../win32_include/libavutil/version.h | 149 + src/3rdparty/win32_include/libavutil/xtea.h | 94 + .../win32_include/libswresample/swresample.h | 579 ++ .../win32_include/libswresample/version.h | 45 + src/3rdparty/win32_lib/crypto-41.lib | Bin 775230 -> 0 bytes src/3rdparty/win32_lib/libcurl.lib | Bin 14376 -> 0 bytes src/3rdparty/win32_lib/libogg.lib | Bin 15312 -> 0 bytes src/3rdparty/win32_lib/libvorbis.lib | Bin 12370 -> 0 bytes src/3rdparty/win32_lib/libvorbisfile.lib | Bin 8638 -> 0 bytes src/3rdparty/win32_lib/ssl-43.lib | Bin 62120 -> 0 bytes src/3rdparty/win32_lib/tls-15.lib | Bin 20472 -> 0 bytes src/3rdparty/win32_lib/zlibstat.lib | Bin 670488 -> 0 bytes src/3rdparty/win32_lib/zlibstatD.lib | Bin 982438 -> 0 bytes src/musikcube/musikcube.vcxproj | 16 +- src/plugins/cddadecoder/cddadecoder.vcxproj | 4 +- .../ffmpegdecoder/ffmpegdecoder.vcxproj | 10 +- .../httpdatastream/httpdatastream.vcxproj | 4 +- src/plugins/oggdecoder/oggdecoder.vcxproj | 4 +- src/plugins/server/server.vcxproj | 4 +- .../3rdparty/win32_bin/Debug/libmp3lame.dll | Bin 745472 -> 0 bytes .../3rdparty/win32_bin/Release/libmp3lame.dll | Bin 475648 -> 0 bytes .../3rdparty/win32_lib/libmp3lame.lib | Bin 52514 -> 0 bytes .../3rdparty/win32_lib/libmp3lameD.lib | Bin 52514 -> 0 bytes .../stockencoders/stockencoders.vcxproj | 8 +- 133 files changed, 27457 insertions(+), 52 deletions(-) create mode 100644 .gitmodules create mode 100644 musikcube_ffmpeg.sln create mode 160000 src/3rdparty/bin delete mode 100644 src/3rdparty/win32_bin/crypto-41.dll delete mode 100644 src/3rdparty/win32_bin/libcurl.dll delete mode 100644 src/3rdparty/win32_bin/libogg.dll delete mode 100644 src/3rdparty/win32_bin/libvorbis.dll delete mode 100644 src/3rdparty/win32_bin/libvorbisfile.dll delete mode 100644 src/3rdparty/win32_bin/ssl-43.dll delete mode 100644 src/3rdparty/win32_bin/tls-15.dll rename src/{plugins/stockencoders => }/3rdparty/win32_include/lame/lame.h (100%) create mode 100644 src/3rdparty/win32_include/libavcodec/avcodec.h create mode 100644 src/3rdparty/win32_include/libavcodec/avdct.h create mode 100644 src/3rdparty/win32_include/libavcodec/avfft.h create mode 100644 src/3rdparty/win32_include/libavcodec/d3d11va.h create mode 100644 src/3rdparty/win32_include/libavcodec/dirac.h create mode 100644 src/3rdparty/win32_include/libavcodec/dv_profile.h create mode 100644 src/3rdparty/win32_include/libavcodec/dxva2.h create mode 100644 src/3rdparty/win32_include/libavcodec/jni.h create mode 100644 src/3rdparty/win32_include/libavcodec/mediacodec.h create mode 100644 src/3rdparty/win32_include/libavcodec/qsv.h create mode 100644 src/3rdparty/win32_include/libavcodec/vaapi.h create mode 100644 src/3rdparty/win32_include/libavcodec/vda.h create mode 100644 src/3rdparty/win32_include/libavcodec/vdpau.h create mode 100644 src/3rdparty/win32_include/libavcodec/version.h create mode 100644 src/3rdparty/win32_include/libavcodec/videotoolbox.h create mode 100644 src/3rdparty/win32_include/libavcodec/vorbis_parser.h create mode 100644 src/3rdparty/win32_include/libavcodec/xvmc.h create mode 100644 src/3rdparty/win32_include/libavformat/avformat.h create mode 100644 src/3rdparty/win32_include/libavformat/avio.h create mode 100644 src/3rdparty/win32_include/libavformat/version.h create mode 100644 src/3rdparty/win32_include/libavutil/adler32.h create mode 100644 src/3rdparty/win32_include/libavutil/aes.h create mode 100644 src/3rdparty/win32_include/libavutil/aes_ctr.h create mode 100644 src/3rdparty/win32_include/libavutil/attributes.h create mode 100644 src/3rdparty/win32_include/libavutil/audio_fifo.h create mode 100644 src/3rdparty/win32_include/libavutil/avassert.h create mode 100644 src/3rdparty/win32_include/libavutil/avconfig.h create mode 100644 src/3rdparty/win32_include/libavutil/avstring.h create mode 100644 src/3rdparty/win32_include/libavutil/avutil.h create mode 100644 src/3rdparty/win32_include/libavutil/base64.h create mode 100644 src/3rdparty/win32_include/libavutil/blowfish.h create mode 100644 src/3rdparty/win32_include/libavutil/bprint.h create mode 100644 src/3rdparty/win32_include/libavutil/bswap.h create mode 100644 src/3rdparty/win32_include/libavutil/buffer.h create mode 100644 src/3rdparty/win32_include/libavutil/camellia.h create mode 100644 src/3rdparty/win32_include/libavutil/cast5.h create mode 100644 src/3rdparty/win32_include/libavutil/channel_layout.h create mode 100644 src/3rdparty/win32_include/libavutil/common.h create mode 100644 src/3rdparty/win32_include/libavutil/cpu.h create mode 100644 src/3rdparty/win32_include/libavutil/crc.h create mode 100644 src/3rdparty/win32_include/libavutil/des.h create mode 100644 src/3rdparty/win32_include/libavutil/dict.h create mode 100644 src/3rdparty/win32_include/libavutil/display.h create mode 100644 src/3rdparty/win32_include/libavutil/downmix_info.h create mode 100644 src/3rdparty/win32_include/libavutil/error.h create mode 100644 src/3rdparty/win32_include/libavutil/eval.h create mode 100644 src/3rdparty/win32_include/libavutil/ffversion.h create mode 100644 src/3rdparty/win32_include/libavutil/fifo.h create mode 100644 src/3rdparty/win32_include/libavutil/file.h create mode 100644 src/3rdparty/win32_include/libavutil/frame.h create mode 100644 src/3rdparty/win32_include/libavutil/hash.h create mode 100644 src/3rdparty/win32_include/libavutil/hmac.h create mode 100644 src/3rdparty/win32_include/libavutil/hwcontext.h create mode 100644 src/3rdparty/win32_include/libavutil/hwcontext_cuda.h create mode 100644 src/3rdparty/win32_include/libavutil/hwcontext_d3d11va.h create mode 100644 src/3rdparty/win32_include/libavutil/hwcontext_drm.h create mode 100644 src/3rdparty/win32_include/libavutil/hwcontext_dxva2.h create mode 100644 src/3rdparty/win32_include/libavutil/hwcontext_qsv.h create mode 100644 src/3rdparty/win32_include/libavutil/hwcontext_vaapi.h create mode 100644 src/3rdparty/win32_include/libavutil/hwcontext_vdpau.h create mode 100644 src/3rdparty/win32_include/libavutil/hwcontext_videotoolbox.h create mode 100644 src/3rdparty/win32_include/libavutil/imgutils.h create mode 100644 src/3rdparty/win32_include/libavutil/intfloat.h create mode 100644 src/3rdparty/win32_include/libavutil/intreadwrite.h create mode 100644 src/3rdparty/win32_include/libavutil/lfg.h create mode 100644 src/3rdparty/win32_include/libavutil/log.h create mode 100644 src/3rdparty/win32_include/libavutil/lzo.h create mode 100644 src/3rdparty/win32_include/libavutil/macros.h create mode 100644 src/3rdparty/win32_include/libavutil/mastering_display_metadata.h create mode 100644 src/3rdparty/win32_include/libavutil/mathematics.h create mode 100644 src/3rdparty/win32_include/libavutil/md5.h create mode 100644 src/3rdparty/win32_include/libavutil/mem.h create mode 100644 src/3rdparty/win32_include/libavutil/motion_vector.h create mode 100644 src/3rdparty/win32_include/libavutil/murmur3.h create mode 100644 src/3rdparty/win32_include/libavutil/opt.h create mode 100644 src/3rdparty/win32_include/libavutil/parseutils.h create mode 100644 src/3rdparty/win32_include/libavutil/pixdesc.h create mode 100644 src/3rdparty/win32_include/libavutil/pixelutils.h create mode 100644 src/3rdparty/win32_include/libavutil/pixfmt.h create mode 100644 src/3rdparty/win32_include/libavutil/random_seed.h create mode 100644 src/3rdparty/win32_include/libavutil/rational.h create mode 100644 src/3rdparty/win32_include/libavutil/rc4.h create mode 100644 src/3rdparty/win32_include/libavutil/replaygain.h create mode 100644 src/3rdparty/win32_include/libavutil/ripemd.h create mode 100644 src/3rdparty/win32_include/libavutil/samplefmt.h create mode 100644 src/3rdparty/win32_include/libavutil/sha.h create mode 100644 src/3rdparty/win32_include/libavutil/sha512.h create mode 100644 src/3rdparty/win32_include/libavutil/spherical.h create mode 100644 src/3rdparty/win32_include/libavutil/stereo3d.h create mode 100644 src/3rdparty/win32_include/libavutil/tea.h create mode 100644 src/3rdparty/win32_include/libavutil/threadmessage.h create mode 100644 src/3rdparty/win32_include/libavutil/time.h create mode 100644 src/3rdparty/win32_include/libavutil/timecode.h create mode 100644 src/3rdparty/win32_include/libavutil/timestamp.h create mode 100644 src/3rdparty/win32_include/libavutil/tree.h create mode 100644 src/3rdparty/win32_include/libavutil/twofish.h create mode 100644 src/3rdparty/win32_include/libavutil/version.h create mode 100644 src/3rdparty/win32_include/libavutil/xtea.h create mode 100644 src/3rdparty/win32_include/libswresample/swresample.h create mode 100644 src/3rdparty/win32_include/libswresample/version.h delete mode 100644 src/3rdparty/win32_lib/crypto-41.lib delete mode 100644 src/3rdparty/win32_lib/libcurl.lib delete mode 100644 src/3rdparty/win32_lib/libogg.lib delete mode 100644 src/3rdparty/win32_lib/libvorbis.lib delete mode 100644 src/3rdparty/win32_lib/libvorbisfile.lib delete mode 100644 src/3rdparty/win32_lib/ssl-43.lib delete mode 100644 src/3rdparty/win32_lib/tls-15.lib delete mode 100644 src/3rdparty/win32_lib/zlibstat.lib delete mode 100644 src/3rdparty/win32_lib/zlibstatD.lib delete mode 100644 src/plugins/stockencoders/3rdparty/win32_bin/Debug/libmp3lame.dll delete mode 100644 src/plugins/stockencoders/3rdparty/win32_bin/Release/libmp3lame.dll delete mode 100644 src/plugins/stockencoders/3rdparty/win32_lib/libmp3lame.lib delete mode 100644 src/plugins/stockencoders/3rdparty/win32_lib/libmp3lameD.lib diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..7e0417002 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src/3rdparty/bin"] + path = src/3rdparty/bin + url = https://github.com/clangen/musikcube-bin diff --git a/musikcube.sln b/musikcube.sln index 6c966bb3b..1956898bd 100644 --- a/musikcube.sln +++ b/musikcube.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.27004.2009 +VisualStudioVersion = 15.0.27130.2003 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "musikcube", "src\musikcube\musikcube.vcxproj", "{C7102EB1-7311-4B36-A7FF-89DD7F077FF9}" ProjectSection(ProjectDependencies) = postProject @@ -47,23 +47,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nomaddecoder", "src\plugins EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "directsoundout", "src\plugins\directsoundout\directsoundout.vcxproj", "{51C18730-DC48-411A-829D-F2B3B7AC4C97}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "musikwin", "src\musikwin\musikwin.vcxproj", "{C0039E74-6E03-4FEE-8701-74CA6B90B380}" - ProjectSection(ProjectDependencies) = postProject - {68AA481E-3CCE-440F-8CCE-69F1B371C89D} = {68AA481E-3CCE-440F-8CCE-69F1B371C89D} - {B2165720-B4B2-4F4B-8888-8C390C3CB4DB} = {B2165720-B4B2-4F4B-8888-8C390C3CB4DB} - {B2165720-B4B2-4F4B-9634-8C390C3CB4DB} = {B2165720-B4B2-4F4B-9634-8C390C3CB4DB} - {51C18730-DC48-411A-829D-F2B3B7AC4C97} = {51C18730-DC48-411A-829D-F2B3B7AC4C97} - {3E30064E-B9C4-4690-8AC2-2C694176A319} = {3E30064E-B9C4-4690-8AC2-2C694176A319} - {EBD2E652-AA1B-4B8B-8D03-CCECB9BF3304} = {EBD2E652-AA1B-4B8B-8D03-CCECB9BF3304} - {54764854-5A73-4329-9BAD-9AF22C72D9E2} = {54764854-5A73-4329-9BAD-9AF22C72D9E2} - {465EF178-91C1-4068-BE1D-F9616ECCB6DE} = {465EF178-91C1-4068-BE1D-F9616ECCB6DE} - {4F10C17A-8AF7-4FAC-A4E2-087AE6E8F9D8} = {4F10C17A-8AF7-4FAC-A4E2-087AE6E8F9D8} - {4993E68D-E97A-4CD2-AC8E-168AE315BAC5} = {4993E68D-E97A-4CD2-AC8E-168AE315BAC5} - {CA56A398-7F9A-493A-A7FC-C6B4D550B674} = {CA56A398-7F9A-493A-A7FC-C6B4D550B674} - {292974B0-C8B7-41EF-B603-554A2B25CB90} = {292974B0-C8B7-41EF-B603-554A2B25CB90} - {7CD00EC4-D090-48BE-9388-FA4857AC332C} = {7CD00EC4-D090-48BE-9388-FA4857AC332C} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glue", "src\glue\glue.vcxproj", "{01869283-4CC3-4DA4-A06C-3DF6A0DE98CC}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nullout", "src\plugins\nullout\nullout.vcxproj", "{BA3902E0-8915-4E59-AD3B-F9960507F234}" @@ -168,14 +151,6 @@ Global {51C18730-DC48-411A-829D-F2B3B7AC4C97}.Release|Win32.ActiveCfg = Release|Win32 {51C18730-DC48-411A-829D-F2B3B7AC4C97}.Release|Win32.Build.0 = Release|Win32 {51C18730-DC48-411A-829D-F2B3B7AC4C97}.Release|x64.ActiveCfg = Release|Win32 - {C0039E74-6E03-4FEE-8701-74CA6B90B380}.Debug|Win32.ActiveCfg = Debug|Win32 - {C0039E74-6E03-4FEE-8701-74CA6B90B380}.Debug|Win32.Build.0 = Debug|Win32 - {C0039E74-6E03-4FEE-8701-74CA6B90B380}.Debug|x64.ActiveCfg = Debug|x64 - {C0039E74-6E03-4FEE-8701-74CA6B90B380}.Debug|x64.Build.0 = Debug|x64 - {C0039E74-6E03-4FEE-8701-74CA6B90B380}.Release|Win32.ActiveCfg = Release|Win32 - {C0039E74-6E03-4FEE-8701-74CA6B90B380}.Release|Win32.Build.0 = Release|Win32 - {C0039E74-6E03-4FEE-8701-74CA6B90B380}.Release|x64.ActiveCfg = Release|x64 - {C0039E74-6E03-4FEE-8701-74CA6B90B380}.Release|x64.Build.0 = Release|x64 {01869283-4CC3-4DA4-A06C-3DF6A0DE98CC}.Debug|Win32.ActiveCfg = Debug|Win32 {01869283-4CC3-4DA4-A06C-3DF6A0DE98CC}.Debug|Win32.Build.0 = Debug|Win32 {01869283-4CC3-4DA4-A06C-3DF6A0DE98CC}.Debug|x64.ActiveCfg = Debug|Win32 diff --git a/musikcube_ffmpeg.sln b/musikcube_ffmpeg.sln new file mode 100644 index 000000000..6bf285399 --- /dev/null +++ b/musikcube_ffmpeg.sln @@ -0,0 +1,183 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27130.2003 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "musikcube", "src\musikcube\musikcube.vcxproj", "{C7102EB1-7311-4B36-A7FF-89DD7F077FF9}" + ProjectSection(ProjectDependencies) = postProject + {F1C18D01-9173-41C6-8C73-DC501582F227} = {F1C18D01-9173-41C6-8C73-DC501582F227} + {68AA481E-3CCE-440F-8CCE-69F1B371C89D} = {68AA481E-3CCE-440F-8CCE-69F1B371C89D} + {8AD92D25-0921-44AB-BBEF-5244F5CFC6DA} = {8AD92D25-0921-44AB-BBEF-5244F5CFC6DA} + {51C18730-DC48-411A-829D-F2B3B7AC4C97} = {51C18730-DC48-411A-829D-F2B3B7AC4C97} + {3E30064E-B9C4-4690-8AC2-2C694176A319} = {3E30064E-B9C4-4690-8AC2-2C694176A319} + {EBD2E652-AA1B-4B8B-8D03-CCECB9BF3304} = {EBD2E652-AA1B-4B8B-8D03-CCECB9BF3304} + {54764854-5A73-4329-9BAD-9AF22C72D9E2} = {54764854-5A73-4329-9BAD-9AF22C72D9E2} + {43A78C57-C9A3-4852-B0BE-05335C5C077D} = {43A78C57-C9A3-4852-B0BE-05335C5C077D} + {4F10C17A-8AF7-4FAC-A4E2-087AE6E8F9D8} = {4F10C17A-8AF7-4FAC-A4E2-087AE6E8F9D8} + {FA74D37C-8184-4596-BFE9-766C159045E1} = {FA74D37C-8184-4596-BFE9-766C159045E1} + {7CD00EC4-D090-48BE-9388-FA4857AC332C} = {7CD00EC4-D090-48BE-9388-FA4857AC332C} + {BA3902E0-8915-4E59-AD3B-F9960507F234} = {BA3902E0-8915-4E59-AD3B-F9960507F234} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cddadecoder", "src\plugins\cddadecoder\cddadecoder.vcxproj", "{54764854-5A73-4329-9BAD-9AF22C72D9E2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3rdparty", "src\3rdparty\3rdparty.vcxproj", "{B2165720-B4B2-4F4B-8888-8C390C3CB4DB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "src\core\core.vcxproj", "{B2165720-B4B2-4F4B-9634-8C390C3CB4DB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "taglib_plugin", "src\plugins\taglib_plugin\taglib_plugin.vcxproj", "{7CD00EC4-D090-48BE-9388-FA4857AC332C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "waveout", "src\plugins\waveout\waveout.vcxproj", "{4F10C17A-8AF7-4FAC-A4E2-087AE6E8F9D8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "win32globalhotkeys", "src\plugins\win32globalhotkeys\win32globalhotkeys.vcxproj", "{3E30064E-B9C4-4690-8AC2-2C694176A319}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "win32gdivis", "src\plugins\win32gdivis\GdiVis-musikcube.vcxproj", "{68AA481E-3CCE-440F-8CCE-69F1B371C89D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wasapiout", "src\plugins\wasapiout\wasapiout.vcxproj", "{EBD2E652-AA1B-4B8B-8D03-CCECB9BF3304}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "directsoundout", "src\plugins\directsoundout\directsoundout.vcxproj", "{51C18730-DC48-411A-829D-F2B3B7AC4C97}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glue", "src\glue\glue.vcxproj", "{01869283-4CC3-4DA4-A06C-3DF6A0DE98CC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nullout", "src\plugins\nullout\nullout.vcxproj", "{BA3902E0-8915-4E59-AD3B-F9960507F234}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server", "src\plugins\server\server.vcxproj", "{43A78C57-C9A3-4852-B0BE-05335C5C077D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "httpdatastream", "src\plugins\httpdatastream\httpdatastream.vcxproj", "{FA74D37C-8184-4596-BFE9-766C159045E1}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "plugins", "plugins", "{CE0E0AF3-A106-4992-BEBD-B842B983D0FE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stockencoders", "src\plugins\stockencoders\stockencoders.vcxproj", "{8AD92D25-0921-44AB-BBEF-5244F5CFC6DA}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ffmpegdecoder", "src\plugins\ffmpegdecoder\ffmpegdecoder.vcxproj", "{F1C18D01-9173-41C6-8C73-DC501582F227}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C7102EB1-7311-4B36-A7FF-89DD7F077FF9}.Debug|Win32.ActiveCfg = Debug|Win32 + {C7102EB1-7311-4B36-A7FF-89DD7F077FF9}.Debug|Win32.Build.0 = Debug|Win32 + {C7102EB1-7311-4B36-A7FF-89DD7F077FF9}.Debug|x64.ActiveCfg = Debug|Win32 + {C7102EB1-7311-4B36-A7FF-89DD7F077FF9}.Release|Win32.ActiveCfg = Release|Win32 + {C7102EB1-7311-4B36-A7FF-89DD7F077FF9}.Release|Win32.Build.0 = Release|Win32 + {C7102EB1-7311-4B36-A7FF-89DD7F077FF9}.Release|x64.ActiveCfg = Release|Win32 + {54764854-5A73-4329-9BAD-9AF22C72D9E2}.Debug|Win32.ActiveCfg = Debug|Win32 + {54764854-5A73-4329-9BAD-9AF22C72D9E2}.Debug|Win32.Build.0 = Debug|Win32 + {54764854-5A73-4329-9BAD-9AF22C72D9E2}.Debug|x64.ActiveCfg = Debug|Win32 + {54764854-5A73-4329-9BAD-9AF22C72D9E2}.Release|Win32.ActiveCfg = Release|Win32 + {54764854-5A73-4329-9BAD-9AF22C72D9E2}.Release|Win32.Build.0 = Release|Win32 + {54764854-5A73-4329-9BAD-9AF22C72D9E2}.Release|x64.ActiveCfg = Release|Win32 + {B2165720-B4B2-4F4B-8888-8C390C3CB4DB}.Debug|Win32.ActiveCfg = Debug|Win32 + {B2165720-B4B2-4F4B-8888-8C390C3CB4DB}.Debug|Win32.Build.0 = Debug|Win32 + {B2165720-B4B2-4F4B-8888-8C390C3CB4DB}.Debug|x64.ActiveCfg = Debug|Win32 + {B2165720-B4B2-4F4B-8888-8C390C3CB4DB}.Release|Win32.ActiveCfg = Release|Win32 + {B2165720-B4B2-4F4B-8888-8C390C3CB4DB}.Release|Win32.Build.0 = Release|Win32 + {B2165720-B4B2-4F4B-8888-8C390C3CB4DB}.Release|x64.ActiveCfg = Release|Win32 + {B2165720-B4B2-4F4B-9634-8C390C3CB4DB}.Debug|Win32.ActiveCfg = Debug|Win32 + {B2165720-B4B2-4F4B-9634-8C390C3CB4DB}.Debug|Win32.Build.0 = Debug|Win32 + {B2165720-B4B2-4F4B-9634-8C390C3CB4DB}.Debug|x64.ActiveCfg = Debug|Win32 + {B2165720-B4B2-4F4B-9634-8C390C3CB4DB}.Release|Win32.ActiveCfg = Release|Win32 + {B2165720-B4B2-4F4B-9634-8C390C3CB4DB}.Release|Win32.Build.0 = Release|Win32 + {B2165720-B4B2-4F4B-9634-8C390C3CB4DB}.Release|x64.ActiveCfg = Release|Win32 + {7CD00EC4-D090-48BE-9388-FA4857AC332C}.Debug|Win32.ActiveCfg = Debug|Win32 + {7CD00EC4-D090-48BE-9388-FA4857AC332C}.Debug|Win32.Build.0 = Debug|Win32 + {7CD00EC4-D090-48BE-9388-FA4857AC332C}.Debug|x64.ActiveCfg = Debug|Win32 + {7CD00EC4-D090-48BE-9388-FA4857AC332C}.Release|Win32.ActiveCfg = Release|Win32 + {7CD00EC4-D090-48BE-9388-FA4857AC332C}.Release|Win32.Build.0 = Release|Win32 + {7CD00EC4-D090-48BE-9388-FA4857AC332C}.Release|x64.ActiveCfg = Release|Win32 + {4F10C17A-8AF7-4FAC-A4E2-087AE6E8F9D8}.Debug|Win32.ActiveCfg = Debug|Win32 + {4F10C17A-8AF7-4FAC-A4E2-087AE6E8F9D8}.Debug|Win32.Build.0 = Debug|Win32 + {4F10C17A-8AF7-4FAC-A4E2-087AE6E8F9D8}.Debug|x64.ActiveCfg = Debug|Win32 + {4F10C17A-8AF7-4FAC-A4E2-087AE6E8F9D8}.Release|Win32.ActiveCfg = Release|Win32 + {4F10C17A-8AF7-4FAC-A4E2-087AE6E8F9D8}.Release|Win32.Build.0 = Release|Win32 + {4F10C17A-8AF7-4FAC-A4E2-087AE6E8F9D8}.Release|x64.ActiveCfg = Release|Win32 + {3E30064E-B9C4-4690-8AC2-2C694176A319}.Debug|Win32.ActiveCfg = Debug|Win32 + {3E30064E-B9C4-4690-8AC2-2C694176A319}.Debug|Win32.Build.0 = Debug|Win32 + {3E30064E-B9C4-4690-8AC2-2C694176A319}.Debug|x64.ActiveCfg = Debug|Win32 + {3E30064E-B9C4-4690-8AC2-2C694176A319}.Release|Win32.ActiveCfg = Release|Win32 + {3E30064E-B9C4-4690-8AC2-2C694176A319}.Release|Win32.Build.0 = Release|Win32 + {3E30064E-B9C4-4690-8AC2-2C694176A319}.Release|x64.ActiveCfg = Release|Win32 + {68AA481E-3CCE-440F-8CCE-69F1B371C89D}.Debug|Win32.ActiveCfg = Debug|Win32 + {68AA481E-3CCE-440F-8CCE-69F1B371C89D}.Debug|Win32.Build.0 = Debug|Win32 + {68AA481E-3CCE-440F-8CCE-69F1B371C89D}.Debug|x64.ActiveCfg = Debug|Win32 + {68AA481E-3CCE-440F-8CCE-69F1B371C89D}.Release|Win32.ActiveCfg = Release|Win32 + {68AA481E-3CCE-440F-8CCE-69F1B371C89D}.Release|Win32.Build.0 = Release|Win32 + {68AA481E-3CCE-440F-8CCE-69F1B371C89D}.Release|x64.ActiveCfg = Release|Win32 + {EBD2E652-AA1B-4B8B-8D03-CCECB9BF3304}.Debug|Win32.ActiveCfg = Debug|Win32 + {EBD2E652-AA1B-4B8B-8D03-CCECB9BF3304}.Debug|Win32.Build.0 = Debug|Win32 + {EBD2E652-AA1B-4B8B-8D03-CCECB9BF3304}.Debug|x64.ActiveCfg = Debug|Win32 + {EBD2E652-AA1B-4B8B-8D03-CCECB9BF3304}.Release|Win32.ActiveCfg = Release|Win32 + {EBD2E652-AA1B-4B8B-8D03-CCECB9BF3304}.Release|Win32.Build.0 = Release|Win32 + {EBD2E652-AA1B-4B8B-8D03-CCECB9BF3304}.Release|x64.ActiveCfg = Release|Win32 + {51C18730-DC48-411A-829D-F2B3B7AC4C97}.Debug|Win32.ActiveCfg = Debug|Win32 + {51C18730-DC48-411A-829D-F2B3B7AC4C97}.Debug|Win32.Build.0 = Debug|Win32 + {51C18730-DC48-411A-829D-F2B3B7AC4C97}.Debug|x64.ActiveCfg = Debug|Win32 + {51C18730-DC48-411A-829D-F2B3B7AC4C97}.Release|Win32.ActiveCfg = Release|Win32 + {51C18730-DC48-411A-829D-F2B3B7AC4C97}.Release|Win32.Build.0 = Release|Win32 + {51C18730-DC48-411A-829D-F2B3B7AC4C97}.Release|x64.ActiveCfg = Release|Win32 + {01869283-4CC3-4DA4-A06C-3DF6A0DE98CC}.Debug|Win32.ActiveCfg = Debug|Win32 + {01869283-4CC3-4DA4-A06C-3DF6A0DE98CC}.Debug|Win32.Build.0 = Debug|Win32 + {01869283-4CC3-4DA4-A06C-3DF6A0DE98CC}.Debug|x64.ActiveCfg = Debug|Win32 + {01869283-4CC3-4DA4-A06C-3DF6A0DE98CC}.Release|Win32.ActiveCfg = Release|Win32 + {01869283-4CC3-4DA4-A06C-3DF6A0DE98CC}.Release|Win32.Build.0 = Release|Win32 + {01869283-4CC3-4DA4-A06C-3DF6A0DE98CC}.Release|x64.ActiveCfg = Release|Win32 + {BA3902E0-8915-4E59-AD3B-F9960507F234}.Debug|Win32.ActiveCfg = Debug|Win32 + {BA3902E0-8915-4E59-AD3B-F9960507F234}.Debug|Win32.Build.0 = Debug|Win32 + {BA3902E0-8915-4E59-AD3B-F9960507F234}.Debug|x64.ActiveCfg = Debug|Win32 + {BA3902E0-8915-4E59-AD3B-F9960507F234}.Release|Win32.ActiveCfg = Release|Win32 + {BA3902E0-8915-4E59-AD3B-F9960507F234}.Release|Win32.Build.0 = Release|Win32 + {BA3902E0-8915-4E59-AD3B-F9960507F234}.Release|x64.ActiveCfg = Release|Win32 + {43A78C57-C9A3-4852-B0BE-05335C5C077D}.Debug|Win32.ActiveCfg = Debug|Win32 + {43A78C57-C9A3-4852-B0BE-05335C5C077D}.Debug|Win32.Build.0 = Debug|Win32 + {43A78C57-C9A3-4852-B0BE-05335C5C077D}.Debug|x64.ActiveCfg = Debug|x64 + {43A78C57-C9A3-4852-B0BE-05335C5C077D}.Debug|x64.Build.0 = Debug|x64 + {43A78C57-C9A3-4852-B0BE-05335C5C077D}.Release|Win32.ActiveCfg = Release|Win32 + {43A78C57-C9A3-4852-B0BE-05335C5C077D}.Release|Win32.Build.0 = Release|Win32 + {43A78C57-C9A3-4852-B0BE-05335C5C077D}.Release|x64.ActiveCfg = Release|x64 + {43A78C57-C9A3-4852-B0BE-05335C5C077D}.Release|x64.Build.0 = Release|x64 + {FA74D37C-8184-4596-BFE9-766C159045E1}.Debug|Win32.ActiveCfg = Debug|Win32 + {FA74D37C-8184-4596-BFE9-766C159045E1}.Debug|Win32.Build.0 = Debug|Win32 + {FA74D37C-8184-4596-BFE9-766C159045E1}.Debug|x64.ActiveCfg = Debug|Win32 + {FA74D37C-8184-4596-BFE9-766C159045E1}.Release|Win32.ActiveCfg = Release|Win32 + {FA74D37C-8184-4596-BFE9-766C159045E1}.Release|Win32.Build.0 = Release|Win32 + {FA74D37C-8184-4596-BFE9-766C159045E1}.Release|x64.ActiveCfg = Release|Win32 + {8AD92D25-0921-44AB-BBEF-5244F5CFC6DA}.Debug|Win32.ActiveCfg = Debug|Win32 + {8AD92D25-0921-44AB-BBEF-5244F5CFC6DA}.Debug|Win32.Build.0 = Debug|Win32 + {8AD92D25-0921-44AB-BBEF-5244F5CFC6DA}.Debug|x64.ActiveCfg = Debug|x64 + {8AD92D25-0921-44AB-BBEF-5244F5CFC6DA}.Debug|x64.Build.0 = Debug|x64 + {8AD92D25-0921-44AB-BBEF-5244F5CFC6DA}.Release|Win32.ActiveCfg = Release|Win32 + {8AD92D25-0921-44AB-BBEF-5244F5CFC6DA}.Release|Win32.Build.0 = Release|Win32 + {8AD92D25-0921-44AB-BBEF-5244F5CFC6DA}.Release|x64.ActiveCfg = Release|x64 + {8AD92D25-0921-44AB-BBEF-5244F5CFC6DA}.Release|x64.Build.0 = Release|x64 + {F1C18D01-9173-41C6-8C73-DC501582F227}.Debug|Win32.ActiveCfg = Debug|Win32 + {F1C18D01-9173-41C6-8C73-DC501582F227}.Debug|Win32.Build.0 = Debug|Win32 + {F1C18D01-9173-41C6-8C73-DC501582F227}.Debug|x64.ActiveCfg = Debug|x64 + {F1C18D01-9173-41C6-8C73-DC501582F227}.Debug|x64.Build.0 = Debug|x64 + {F1C18D01-9173-41C6-8C73-DC501582F227}.Release|Win32.ActiveCfg = Release|Win32 + {F1C18D01-9173-41C6-8C73-DC501582F227}.Release|Win32.Build.0 = Release|Win32 + {F1C18D01-9173-41C6-8C73-DC501582F227}.Release|x64.ActiveCfg = Release|x64 + {F1C18D01-9173-41C6-8C73-DC501582F227}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {54764854-5A73-4329-9BAD-9AF22C72D9E2} = {CE0E0AF3-A106-4992-BEBD-B842B983D0FE} + {7CD00EC4-D090-48BE-9388-FA4857AC332C} = {CE0E0AF3-A106-4992-BEBD-B842B983D0FE} + {4F10C17A-8AF7-4FAC-A4E2-087AE6E8F9D8} = {CE0E0AF3-A106-4992-BEBD-B842B983D0FE} + {3E30064E-B9C4-4690-8AC2-2C694176A319} = {CE0E0AF3-A106-4992-BEBD-B842B983D0FE} + {68AA481E-3CCE-440F-8CCE-69F1B371C89D} = {CE0E0AF3-A106-4992-BEBD-B842B983D0FE} + {EBD2E652-AA1B-4B8B-8D03-CCECB9BF3304} = {CE0E0AF3-A106-4992-BEBD-B842B983D0FE} + {51C18730-DC48-411A-829D-F2B3B7AC4C97} = {CE0E0AF3-A106-4992-BEBD-B842B983D0FE} + {BA3902E0-8915-4E59-AD3B-F9960507F234} = {CE0E0AF3-A106-4992-BEBD-B842B983D0FE} + {FA74D37C-8184-4596-BFE9-766C159045E1} = {CE0E0AF3-A106-4992-BEBD-B842B983D0FE} + {8AD92D25-0921-44AB-BBEF-5244F5CFC6DA} = {CE0E0AF3-A106-4992-BEBD-B842B983D0FE} + {F1C18D01-9173-41C6-8C73-DC501582F227} = {CE0E0AF3-A106-4992-BEBD-B842B983D0FE} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {9B481265-6DD9-4083-8D4A-247B6A58644F} + EndGlobalSection +EndGlobal diff --git a/src/3rdparty/3rdparty.vcxproj b/src/3rdparty/3rdparty.vcxproj index 9f9392491..fed1e9be6 100755 --- a/src/3rdparty/3rdparty.vcxproj +++ b/src/3rdparty/3rdparty.vcxproj @@ -40,9 +40,9 @@ <_ProjectFileVersion>10.0.40219.1 - $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\obj\$(Configuration)\ obj/$(Configuration)\ - $(SolutionDir)\bin\$(Configuration)\ + $(SolutionDir)\obj\$(Configuration)\ obj/$(Configuration)\ AllRules.ruleset diff --git a/src/3rdparty/bin b/src/3rdparty/bin new file mode 160000 index 000000000..94b4ef507 --- /dev/null +++ b/src/3rdparty/bin @@ -0,0 +1 @@ +Subproject commit 94b4ef5070f495977d55a0fc2920fe6ffadc22a3 diff --git a/src/3rdparty/win32_bin/crypto-41.dll b/src/3rdparty/win32_bin/crypto-41.dll deleted file mode 100644 index 8a91431368323e27ba2cde274f1868d7749459da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1278976 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

6HPTXyO#hqv4(FF^8C>m!TTr02@lepoBi0_Q{r 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 # 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%0ABiqsa9R8vZf&%YJ@29-#lqeyZrdP2QG& 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

Q>A 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

HiLb`l2N<8RWrc$ajD<-7-&3X~Jja4CWNIA~B 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

uiRsnfZ)I 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

M>``uOnYUQ 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%0A^eA(3LhCD)r zgalzevV(#CtU9JC<}o zjqu&4gEL~RCa4(_ze0_K(+v4+dlRzFP!O`tMTYQXqpobeG=AK+S>iRkTFgH9?$PAk z3%@JR6>5Skc24F(9;g-yLiJE1&!lM-cF2Df_3~=$_0X+tt+}0gSiv8W`H;GK7jAFE zhdg(KyQw?Z;pciNNZ9WY#|O~;)U!rpc2HmO=lKac}{K|#oaKGFw?UNR_V!sI|cW!sMOY-hP4ACwCPpgO1tY90*sYiDIY z(uFc+e1qK`-_G)I)3&ca@=z^Q4>dqdkPr6;$c2pSn0A&QY`!qs+BAc_T|{|6D`$4G zJYd7WD8~;;*S!$v`G|ZjA$^}?{x`gyq-Py?KlP)5d_lnnDXUF{^DwgXS54zc17;uL z)q#zW^$1~SkruEPs>dyeTpi?Di5omAuV%3ECgg9UJfWsXF>fYp$Pd*)^V_=PtU}!%o6 zIk-cOxVw0!M;p;U^nEk_LFb(?EFj@S5RyCK4av1PRAY__>7BL^u{< zxC;mmKLOHGCxl-YW#S?}AF{Q`29b3m+k{*L;RXrUlZ&5G*zsdY`oLx}dy$25p{8lb zLN3ao7Q1f-h(8~8KXLepqn0=tiNiyla*4x7dfcSdO_;gJ*CXFZ`mKfVpr%r=3_jEZ z1OHNLXB_~NUof&v~&<;3yk`6~N_-P}&16l4(oqeba zqA%+R!`YAg2-@=V-UH|QFn5SCI0{fF>n@@jUZm>l5PqWPCHo=_&nwD(O}TKwg$Vt! zKNs5PyPI{tLLZ6YH;fz0p0~8U2xSmmVeSv41z5H}M+S)@*29Rh?0!eOy^Q~^JE?T; z4Q%IH=1?j3|6bqhx&o|+;n2uy=-lI}0|C1Xcs^40W5(+V95L$o%sK*Js1GrC$?vBvVj<jp&PDXX58q#uhbSEBX%m9*IkzO%uAkpv?D*;3s4UG zI5Yguy~`etAj?rWGqT;regT9Ku_I~rSOw{arzpqB?i1Xl*@g&WuM@Dlw9!qbS)9SE}=wNbvvL|ZA_Rg87`SdYM!nYs{$$U<2NAc7d8^e0@9{$*tw zT!p9uj>2q5G&{>K>de7%PWI&-h{3asa|p2$%(Ii6KP=nNV17I8Cg&P4h!DbvAc`2o zcFr?6A)=gbL^nL}!UsPB2-@qE8zMT$8zx2&MGRsG>2Sh@$ZnR&7bV8P2W#QlNBQu; z3m^OlAczpch#-m>#D2~s&jHoIJ+9|1VoH^?=?n}RV%5K+c8N?jri=Y~w3*H}jkUVei&0v~yNl;tM| z5QICPGT=$zJcs`-+Yp4Gydh#35d`j$j=&@KqYf`Z?Bikngi}%nqKHA**B-8W9)#`4 z^Nm>H5I$lIlX>QGOpFswh)G1a;YUxlMToANyrUvIC$rD|II(CQ`z(kP-g1;(o;oTJ z;YDyEbu6Mii)jPI66)=wi{r18izqQPhW3qP8*}ZyXCKkGhl}UW}kW6_bhJ8}@lZ zzNgfOFg$|K+He0S&HauDC;f9RiW6b_>LL2;^X|vig3piew&XsIAl$8paJD8LLAdBs zFta4~=S#-C=5tv(?oWC7xdKuAE{P8;JBjXflE_ds8SkHXhnbP_g^y)_rZ|z5^Z?7T zV(iO$I5XSfT}Ix@$%LO6;(g5q-rGcot|GjbD9UpH!tfQNUvAzh*ou>0lC+w≪_<9V(?es8KWZU@Yg0^6+WjUif{`e94#rc4%>(x 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

    )I|1 z{_w^=?etdA7&bvPE%G;Q{u<*18ji8E<{|IVI-m8sE4r`BqUyg%dtO`A_ z*V!9g+)XSl?PgcD->~6K%MZ2Oz#zDOoXn#bx#=D%ymzD*^ymjaMtM_h*9pJDzh9ot zS<;CLpgp_MH8yqJY$5h48OCli|6F>%6MZUF5N=<4>f=f)iK!PRl_8Sb#p%nM3M+KP zIvQI;X*4b+aP=yCD=3#~gtI!uSxwL-(@HAN>$ep_%qzSxJF#_s%QiU3aI;4U-zU~S ztkjJtXnz_couo@lD{Bu7G38CzSbiH?#Ty;4i<$%J?=lX@~Ung#Oo$AWU0 z*XWLQdSm;1+jFz0*01v&;mJ+$dq_eyeMbRnmjpmxpA8E;dtc0F<)PRJ4q-0J-hL;TK@PO|PNobPD!O|4iHZJ1}sKR$_fCg;Nc9h2I&+Fy!E)!UaIAI)$HbSkt)U@Z^;42@kgRWuEa5p{1N0$jIdnf{?o#G}Z z@SmquOY=$rvUI`~x=j^yTkoJ-hde!xlJuqGmD6rZQ?(;^omaj(KO9GhdmRDo#+2Efgr%S5Ugtr(1x?>&A*-5Zum&?&i`(r1 z?e_AupMLIl7_=MFBo^0q64K1)S?>1&Xtx+Dg;u!VRZv*HGm{w>^DwpdaKCLf3(F@S z)mDSeXDRM?PP2Ofe@97K#Z~J01~e0Z5=vamC~I*+DT^iLD^{iDZ;3l_^mPhT!Hh#_ zqrM0{LQJXKNs!+x9XO9;t04SWR)V;(o|{yGHrM7Mk-1mXX^;**Miq!Mo5nksFoPQiIUOqt;h`~K1=-ny0caH4L1$mB2avN1U=&=F5 zakQJ@)%4&;^$k%4BJ88aw27J&uFQcc=cxik;mS3X;F_k1h8RJcV!NpVhAxBR{~}`k z;z~D8!}evhJ-J8~C^6Hnk;u1B9oParHNj3@)B&4peaayV)6plW1BN#fN_fdA5o|$O zU?t7CRXX|xb-+cQrdLUtelj#e)PM*YPE5EnsqYTtggp!TszO=ltEOc02EDw6Htk{J z?FEDOQvrfylEv5=ao5J6h2!MF0Csovl(>AY4*UD8Fy*CUKo@!K@EtB z!Ay$7G_1OyZ!45E1674txAaXO2j0*4Oha^jv1#Mt|6;;KNqKN{^mgMmi()s|#BbKc za5kBoJmNSF&j#u2V^n}B$Tp6CaGVN|VcyLvo4ZJ7U!ek2nRn|_&YR3wUCKQ7Y1RtU z-zT{LF{Z8r{XHdqZjSq3fRQPQk*U((H@N=|rd>yQ4qp0uANN1VJT|T^k(j2kq}aP0 z&dPbPT#@;#jKizK{jZ}dHR$jykex?gSM%Yc4J!99fOYZy1EQ^y8LdkhkD@${mgbD?tcWorRnK2-2XIsR8C2&1^WIn_kRuMu%=nBLFaFQ zwLL=HzJY%3e;CvqQSyGA$?rJ#-`IeBXZ|bUkX_TxaUB$}&HZ;sW%nqL-3JN?aR0|i zBZ-QcN+{(%16H5o{ujXOC2@|`&UDy7FL9JH>mBNadGw2U92b)i0|m@*|7~W>fdb~a z|3xOpGF(-K`)@o#Lkxn839_5}?}N1pinof0xr)PF9q0aMm@D(}lZ)K{QeXv!(inxh zxP+$k0FQRbe4u~;_kWy8DXQJPgtE;u9X_kT%v92zSrr_x!ToQ*YdIi*K5l;S{{faC zKMBnzh39ihN-PM`m%#uP?!Te>#%Z`dcp9=#KLOaj+Tq|E;Cn~kKJY#%7{B;9q5P`2 zn=K)IM=Fi?B&yWlJP_{}Q3lFjfCr%d@_wiCFql6s)Snja&!2|;>vHlnPr?3v zHbTRvO#m4Xz?@XiCH7h$`y60Xz=O{KK2&hS|54C?0;VVf@?Q{(u_DaB1ykg(hv<0{ z@qSr+(i4IBePWryzr_5H6Xs9AZ$EatZ)o4Jz9IcGN}ZwnGr{W#+((O367 z8{B2*XB^M}BBJ>-!SW3$=|A6y{;}iv6KMWSvAiMqEp)3BDBh1=@?;};!|#UP!|YBy zk=Whtw8sge!NfaXB1(!&pWXecTw7mwcs9BYA8oz|H{82@17}QZPXfj^%O-09MRS$u zu8x-3f`RvMNWtgKGs_jxE=_%?paAe_d7SJDT zXVPZ36P^g$jr5{an(}3H+az;a9F;P~)Mjk#BCL%~Y!xQ9dPg-k&qN<=O%N`20W z3}1JFuf6EW{?l9zb1-W*SFbQvSEX%ki8FV@sr52ZJ28(uM{R}6=7p`@@A$S3dtnWG zr2?7aRpw+>J1Te+*HaIFTTp+UXldG`7el#V(klCD_pNNjJp}1JbLzVqc}3kY1I5|D1*Y%yVDbs#S%% zQWxi8UwN~?-~RG2N}X*V$IQRHmKFT(Ft2G=xOJ7U%Y9Ztbj9D}Fwgj_Y z6|=qrqvjfROS|>6BM|N=`Q{SIq1-OQq8XQNx^2Cqi8-)nJ?LTMeD`ev2HG5TR<%~d zH#gy#tXj=*meQQ1IXI;PTG0w;$-2;{99=DP13a1}15_yML{n5K!8Yx#&?|tpi6Bpn6Qg&7P6+5} zw3}o-$Fzb4bsnn|R?F-Sud1Tid#*j?-i^I^t0X;o|2|a|I|U)t6*~(NRTn!E{Gh7G zv8)zzVg>9QN_CI?TE=@t9^lHdcb7Wp`{?t#-*;RV16JSNs(mQ0))VuqAI&eGR#ml| zV61AIer=PMz4tu#VnMyzPQY@g6ml9o8?*o|YWJ*aD^>oNOp%~N2moL?MAmKzPa zhmP8hMiru-PjozlGb9+L_%2*lF2Y47*JZX-SK+AFnO-+hp?Bb@yU?h*QK9=lxdAHH z7}#i18|^bxt`rC<3r3m;B`x7CUf~;A6;ggSsASt9r4}AlHz{mAXwm(+j6!Hs6I8Y- zIO-WRsuY+h3u>AtHE&7I)m8YZbvWuxzG%Fo>UWNlp~rNAox15WeQXm3z)xc+RAe`x zP|cu9r~DauXP%mEIzg#}2x|Cmx6lfkcmQ1FaCqr#J}QGL1*R27r4=UVrKS|*q!bk7 z)GSLWs7WbkpcNWV=;40%fyx=0+?1%pkZPk2z=s9%%(WX$7VgMx+%QQkv<5o$qVhy}TY2744F$)GY7p$JLz$g;|$bf@xjB-CaRx z-Jr|ZW=e}p4>vC09+Z}TvOPlZtrIxLrchdE;9OHEEm@S-d3e`Hp11-itz-BtCh-VQ z;}SkD7j{-2e#0Wgz_Qeq^24||&CO@Ni->kD3>nS{8z$wwFm#v`J~Y3YsV_zO{8lp%=6}fm1)%S$T;2G`ZUg(vMJg`k&xiQ{vW? zb#Ly!H7;&V&uKTtREnhB33ET?eVIp@T;jH@a8oLsD%nDp>^{T#xQr)Zl?iGcO>&ca zU|##v@4=bgf)@9{&4kc{7q%Z~Qi$_Efh%DOKkN)AKPz8Se%C#@+;JJU&-{km3ET20 z*_rRgqtqWX&SUat%875YdS2T;ZFjBB=V$J=H!iD(IpMK*>`x#%o6a8_ntSY6?$IE* zQ*d14T*r;qpz9HE+${dWIcC~L9OcXKVXHU|*4a|pJj4E%eVn`B`bnM7bJG5csf~Vm z-{al+9_%J>pN4lr4}*11zss!$z0KCu9@x{0^fco}$`9ykcB9*!ty_M>z6acD>t{)I zGvhAH@BzkIc0KBCnhp7ijJfpUDe}{wj8QW;Q4-!VCnu5dX(jE>tjSNf(Qy$0i21lKXnurg^-X1Y?Za z9EhvK8ML{AN%;@klX81PHjcE&p3NG}_Q`uTCu+cxJJmg2Gu?U0Z20MGfk%5Ly`bSF z-kuUnZ4GCy1FP?W*Z1S-4F!ygwbPRpBb)7y|nIJGYVa$vcl3=Sirdlb?0W4pG zGXpu0dui*f+$$fUAWnd0z@k#>y`os9S8aD3s!a^hDlW;+daI&%3W#EuQbybc^`; z_kPDuIQ+d9yB(4=*OV!}yv=z>GS4Z=d{v%lXs&d~3c`UH_;=BUcROBA;Yn}wZkD7h z3gKV!DQ!npM0ET!OI0Y0jFdO^)PwGfTJuUIzVJlq*e{D@jW} z%aLvyl$0JkjP$DX2;jNJz#~06`F>O2?v()qh8{H9MQt6Fzeti6-L&+sI|Fx0(tR~( z3bnls&%=TSNl;X8)lGUfDKHk%C7^)~PuoDUBVX*MrOTFn2T7u>XtN+(!B_HC-L&-X z`yN0>YP$p)Nb~R<^Obxxi2eWnzJ>yg?DTqvwGutr)V&>o;Na1L|4L&6V~{^|y7H$h z%X96ezf&E3%#rV5O?EF+Y(BQesycXF)Dm@^c6(dReBXML6gp({L}F`;ycCJJZPgOu z>@Cd;n5(b!HGbmLY>9o;bdYV_gtD?PCJ%EQ@}K(9YF8acqmG_dn;S82#vO+-kR;yy zs7Z=C4!J#EAAcE$hYl5mV}U~E;D8vHz;{wpn-coS-wQl@@(Xx7v{5w`H8)n@p`K?++mxq-fC6rZCWY6?dO8eN@E88NiGKc zz?)WIsiy5B;_-?mK?wA4o|iu?T5VxK%GR}E7Sc^fu(F4#sj4-!U#AvwK98|MMCgrf z&`_~07@TJ|JyL|2c21va1X`oNwCT09Ywm%9INsp zTA-ny1*rd5*yHv2MBF4NG%Gf+{kVk!^~5!ynNlFfmkdYi?QTASaxWv+Dao~iA+*wX zZ9d`%gov@kK?zA}S)ik0(3fR_ZkM^W5&6V@Q&X9>vjDZXJY z@fZHZHwae6n=hVC5qv3rKr%F@O4~&|t78Zd=q0^#Rl&>1F^2lyAIq2Q{3O&H)UReo zVoEVTvp+*(1xcQNz3%vJ)REws^hJiINyw)Oss2<+KQG z3vA%yt8|=*#>9~{9teTblN}#o0@-sKKkZNc0Mbtha3E7k)}=MImIN< z?a|uI=Kgjhdx-eaVGEtMl^!WQE+Dh_RLEbuFS^R4S~s_6)P`fqh4Jsp;XNSuxq}&U zWIJBkvnrgUag8 zggI(iFdky_Y!yhLlf|MsdeIfOmgbJp$Sovq+|h?uFmB{z;3~|5D}-<-%1p@U4Ru){ zVyiGWR~%gWUkn1*W$Vh8TAEc8Sco~!E+7d`^M$7LCb`xE@Y9pvlWnIb+OH`EU_VWv z{?HVwe-Y+EUWd$~Lj_+aj|S)8M)_&n{+;~HQ4l(9)#o$jC`9k&LzS=_6Wlpv1Uny{ zXOhPT0RnV&3VMIG9)nJsxje5$kfoX06SeK6EFHi8)vtba{?DF2d>lGpnV&|-K6XNF zB4Xx7Yez3=5oIFhhO@Xr}BZf56o{r1Ki@y)lYR%M?K5kNJN-IqK51G%VGQZhInF|uv z$h!tZJe|t)qR5mF_6WtmSAA%FB#-25Q*ReY;3#O7RFZ1CppVWmEl%<``eppvY5`_` zooxK}zh(<52L5R9cuQlYC(&oN(sO{?KC$$8@V}=kIh`M55gR6oJBVfety&&iB~5z` z<6)MmswR9yIa4-HSp;N|FXJ6&edv;9=|K$LP_Jp(W%90rZa#KehScUX)4YpZ38a{p z$s#2aDTr=!nh-5w&XnshSsgS#jd%2sdIqL|=+)H~ovVQ_m<>~=%?q7?m8xs{R1AY% zR;;l+{1X&~@B@n|QAZ#2!GBGTEIINl(mZ@21Su*OnvF7oy6Iz)#S*O_ZPdut^!eO6 zM7{>dVA#mJdXi*?KBf%!@f}7fXR4Ia%ivslwCX~w8l7Xr4;sJFA4q0GZEWhE{wWmwbR87*z<{%X<*R%c+q79~YQ?(dzuQvEVj~+}gn3fG5v9m4`yDd<=nhuH|L0?seN#i}El1PmA(Rj#v0N-hZbyxz?~ zEJK@D(A<)QqxT1t{WSpMv}#K%ZeA7?x-BS#iH{}$5L?|%6=+UNa^mZ+-`k2Ao+c0U zD-nQHv+_7;4ZtGH9~&bXvX!^2Gf8YH<*Bx^tk6oUq!eJ{Nh*56R*|ew^sbl>XnFNPXISC*e z`2W#cEoOS{R!e*XHJJYOE7t%i_`?D^LcQtZvlF6_9(lC;*OO;J}~12}pva7PXc<=AdYCkVjP#ysf`~uSi@%YWEa+c42 z&Wt5{?_Sc%fsmtDZKRpy48rVHOpg$Ys>>QVvaSg0kcUn%W68ep&)ERE4ItI0Uchf?om&cAE94~>l;HT~GHN?P0{kR~YQ39P z6{1Q|^i*hurVNjq?4Z`Q$aN>0*+IiNa28l=!RP9QH6|s{1%0eK3+^v~gu$?y$((h7 zm09kr3SdI+?SguXa0YW$`HLn=_Nc2j6!Sy!e|mw|AGY9{K1mrK-$2FbUrXq)CX_kM zju0tkwTx{fF3?q#w85p1uh40K|9X)%+MyrQ5?XcbP#d?h4ApU{G}dNT9s5*AtSmfg zJ$3PAU1pPEt-9e)y0r=n{lHJi)WN=_Zhb*jUcj7pNL{m?Uk=2mZ=V-^yA6FiLGEnp*SAUy zG?4gr?8XR^BR>L7w3nWt?sUYom$u@Cg+%WDjp7s(+O-k|mjS8M03EDWe!xqRS8ZKCtJDz8a z+Y&O38BN)yDbMp;-$RGF4r5uqLlp$}sE-qQxzjG%8tTnfhA`K2p?#wFG$ofE241Rb zALO;;FmvsLeta18kT>OH8XzRUfmViA-6koc46?LC++nb!pUNUB~m&8m)z4P9}RPT8Gn~bixBcIrIAC^X}6R>sL z$`%8>kmpvGE88D3qb>5V^)EmIA#|A@+K12?dF?}2Be+=p&-F(UW)Izfkh=a&%DMZY znwlEJR3MZ^b*{ETSZJy-lRhjKXpm zQuEWpRh8=c0*c6G50!|*?}}>KLwAXg9ck&)73n*eUw*oBS}sOpZ&4K_zHSVNJI<1Z z2f2A;YeuWt-I~Q0Ef#|jCWxW&Oez5!gl?^eP=S=lq|sPK+6*mt{3bB2pY{Qv8EGSK z*QZUeeqV*7cipH~3#PBZnP$;oOPBBKPj3O_G!g5-+>03&^DGP~qoOaV=fcN*pa(2WS~)w6dgNz2S!eioAg_GyQ3Tg! zgbtfS+!UBXKiAWb96qj0qR~})T%T@3l#z+j6^G@yor$4LL_yGm2;|c=PhqBm#eFE> z{S=KL$Q05=B1h1vvZFJKhYA@YK>x!4iqMxv7F9k$s3H>gyKtR9yq~NLXJ*;c= zmw9p6rD*caJEmjt7Oe-xYjV~_d)J>P+V%5;hjgRRE25X#SULO>QiHE7C+75G@)992 zImi*R&qJ|}M##kKjz;?Mh>JiFx!qW3EE4?@DAD_a^RcQzW>m>+fM+Zk=0yyQJ&QTV!E$=LY48RDs~tiM22 z$)R5$%`X9>PJ1fZfs$+lcAxF&0`_WGWEJ5Ntv0EVC3s7Mh*F@zGoNqWrq_g-Pyrw| zgo>gzv7SuUr$aGiyq#8=n~8>cwC!!cMK_}I_F9@S3qo9y!~YI&7|wF|@#G7UAo#LC zNRIrDV%ONsIvCbQ_F`3_rR2tg6ha0m8YQ|mv`VlZy(Siyc33uGT@my)Z~(nNq<*s+ zumluUKx85xX%~$Er=uUGk=B6mJ{JJ>42&dzPDJRrc8~uk)|jxr4>3#HPQt*)KRr!c zJ%Lb`Bi{nBXe5XPW8l)(@4tSB8V_+TKRgZT)C9@9SdFYkHf_Xh7-I;mMW6!{5tx8D zq?@L0Ho`&{jaO5>l(YvM^iOqG;uopTT8hGK2$d6^6$C^n*}1P~yxsj%s#LKXZSwfH zhz9-2CWLtRR3ySGj=EuV7b;B29}E@7=%4T+0Py$&qS(PaDrW1r5&205iV~NO=_Ne= zK9T7sUzh1^BNLHLx&9v_Nx}?MS(A+hG*ED3L*_nxUb>x$aWl&pJ|J@p_{h7v+o#py-Y>T%23EQcR$^=oka4%a93_i4n7biE=EZZaA`1o_c23W(r8Ia7$Bs} zOIf9SDdDW`q=B#QCN-U#JVM%$`1J8`u8=na$@j_|I{Ci7eCK>oezhoH_jTph8RbR$ zEA{pxpFRZ8SzW* zn_h%GJ%N-oc}lxDhKWIqPC$=zMW*3bVmHT4cxusT34R-*(Mmkjol_{__VGKZ?kUkoXj6)I>zoY24x%A3!#4iYgd8saKUh*}7(kw!NynYVF#?9Zf(y*s`e09!84`NA3NI$bvfY$0PmVDGt1VK2NGPnM z^xA?QUQ7&9AQ#j6w}C$7mzQ5Si*^WPV7UywOeLhis9;B!^k1lfZvIyi7)B15&}dN; zITE-6+s)c`VHo)X+6cv0S)fzSl*H#;l{%H_lSF&E+8rv)m) z=n=YTg4qM62G~7B+jC#j+m2q}hP>E6BeXki0CFk0@Ry@{9&#F(wp%Qq_|*@CK(CNp z$E0rDiii3XE#cRW)^^jHQg4s8o7VAeK4OEAqrsO&$IFqo0bN(AOmgHX0>M{=3Z+zP zJ7=L0M!PW9?*a$XvhNz=f=7^(MTmu3)Dm_uDYohj^z?D3MyQ)Zy?KE_yVO&Nn&fBL;n2px&i zlWIvCC1V2;fnfhQ{kf5(uZIfy2L}zt(ioXHTPEY>c05kpjV-KrSiFJensR@1X?}FdOR8cMTOZ9nw${Ry7sB8> zKNQQ4T0+*&_+_znQSQj2wsU&)nYGzZx~TD55mcYx`0a|E#V=t@8VOlN z)gSjD2Fj{E$=8`j^d6)|l}`?Dg2L@@8&1s>8#BGM=koGtDul(Q;XBgpMy}QhFJFlz zNISM=fF{8WAAxkcP!z}vUdU18_IV~Jb}&9M`p*aL1$i)qxcvbVv|S=B@t=((U5qqA zc@qgy_EvN@>Br_82=@!){}7E*x#)wb{k=CbK5M_O?dKN>sUv}^cBeM4vM6Aw%u%M0 zd!13A5j6x^awy9!fR~&4P)QCp$-_eku*9OGdB+1I+v|pDMzP#3yi3>#S3Yhx zu?v7}H&U$a^`?5j>Ito~NOI&E5@CJQ<;dfB(VK|bliXH(YON*d4q{bnt&~52y(2lY z7g_bbF|pbSq|g2pvNBk9wPLDj%_UvM^&^YKUZ$Q5y$)$)Q)>&@VbxPO{(J|9&AQPM z>fVY2@*}Y8N~^6EpUI&uc#GE-(6EZv7E-S6KO!n}T)EXi%fA_9=Yd%yL1;rPr>nNa z)cpZQWirE7%HT=QFxk|702zWW6SdLGooTtBr`*@3a^DbLW`kkXG6G$gC2EkvBY}sT zPs*nrwy3pGFuLzggYW`D_@LfENDgB!R0__#DZ0YcdXwxp?^So6K(&0BSU}OXTd~)_ zgUY<9mw6?I0O;pP7sK0hUXCzBb0beMJQMX{DXMGW@CF6NHA=3 zioKl}wqS1>-&-HY`V%6+s=h4bhQ@>_kRucO0E1{y2^i!Y_dVpKe5qQlK|;3`*)rZx z=M)SV@(2u^sA085;Jpgs@;kPhB*dW{n^VY+fywha;bvJ|02YxF!>}8XkKKsl%Z4Hf zF<@`nW5R$Xu@;7L|2c$0tMVmfG!p_5fQK2QPw*SI=>jW5t89|;AbXj_B=&F~Xr1Zf zuZXn(anz93i9UWx$38K1eB4c8`!z&78|%SDG;{oUXVhr|*rc0NEmno(&E)1QH-bL3 zwk}H+ToG;j7O@9l7ksW{8(ppKB=M5kXb!$CWU`X0ix2Xy@bI1?f<@Ex((fHK^sZdL z4gKqlixH3JO8lj*#=23-4t3>r)lN1AXIvwP7s1-mI>gIAd{p!VP|WCpl+N|?;{#%% z0+QQbKw$YuQj5^TaEOUur{?>>)R3PBqH^Q}dLwixOWyb!ylBNc+o~ly4bplO4X>nx z!{`RJ`I)g}k|6S211;_h!FiM`Q5iAH_x_G!Z~8joW%x=qs> zXf(#m7?7|ZrjN$J{U}z9V*hCV=}=~LFG8S*o>Oc_$8^63YP$Irv2CFXCpq#e;*#n6 z@$R2XLstOM*)9?Tl>NY7l6So=Qsuh$k{M`_fSZx0+Ai<wZwHsijEU_ozQ}N(UA^;S>53_QDb^v zw@UmQE~B%Z=HaO+G7F5}{G;lm z$Sa2DEx2|Ho0E?@`y1FrJ(5bZwmXZb)fNY?Y!{H&B~llaecjza5OnDlLf`}Dq!sKn zY>piO3IL!j2|yV$`G}50;vn*8g;v3YoSTY!F}P|Hx}A_TDY?P5lOWI+Lw2z&HG?ek z!qFt4K+*c%{0ujnV?RQ_}H7#4TB=T6F* zT3Gu|EyD@3he)wKXBC0em=J+23TA{q!6Az_+m;yNR&VC321J?RMcoCSdZk&tVgWfh5q#l~ zR^ZkBu}a*07K#9b$oT0%boBKd89Ol0KE^>MTHc*RW~{tQHMOx;RirnAaJ|uWK+4>vAd@&&nIt z<2AUp1p1`B%R!@NnLcu0+S{aK3N)K3|sMin|qvpG3 zB*$NgK76p14y(x}(NdHOjPmlU&*xBpySV=99-eO@hv5fe_e{7ayZ?$;5+!p|$WB&&PU zQlpwG{=1l{2e?iq`GeM@4m)|=kqc#) zLo;EPiz)ZE<|m!lK^Wn+9GDBwkd+uPvg06HK=TEIF9-RXk=(6hZ>MJpA6L#Vn6#5)4hf?T-95sMnane+p8iui*5Kki!+|C!a|0@>BY@3izg} zHP7pB14#bDbYcWjZE~XX^12*$6Ex}9@q{HBY|y{_sTPLp9$Fd0pTO=R*R+|R^#czH z;Kd-@&-#fbs00d)6q*(&)KzOW86G&g)X>KpJakX8?Z>c41M}Qn-fRmjVpDy1A0Jwq zkF$7Qz6IcuexFmY`ybGRRSI~^?1Y#W{zF)1;Bv2XjE4^s$~LSm;G3p{9&Qq0;gE%dlo z5BxFVcdPB9OxiB0g42RSc%%ht^?3h%2~zFYS(B8wk!&x4E7=Cos2FS?IIlt|!c9@Y zM`0cAT);*Di~L1w-YiU^d29pKP*FVr+pT(K*Xes|gvbI>z?u|;9k<__Yfm!?qdg5I z(209Vq+KF3*V?dVIEy!|P<})mxken=dZUBJ#y>PNa6V7DtkuNlJ|c!14Qh5GQQ+SP z06sn+ZhU0uu+nB*5cPQcF=FobV5kuC6`XXlu73!Ay4K652=6u zNH3rN_2rcqn}fq`P@3u?=mLf9!=~AlD}@%`V4CJODZ^+@91~i&kh1Wh9vy4O!kETP z`aj}dAI`*-8RjO)9ZcqOn0AxN#jw5z@JATJ75t|<5g~_PKqs+!n!*O8Awmvs7HK4s z(pPm(idf0&N!J??PZ5jsb_|H8hRtH)JkEf4=(&LsRzG1d9EvDl_2cj;O2-!witOdJ zzzX=2Gy%!$3sfgE7pl%ec~^aLo3j{?k~U`v9+TRflkk|_=A7Ju^NIrrW{h`jc}ipa zAGFG^s-T8esVz73%#^4tHtGR<;oNDTd=mchbRLG!0Z+1HB;=0=recTk`ze#!>j62q zdYG20Si>g+SL=SH$xL)dqqnBc6J?Xt@xu5E6_=J3 zcu1=1(_6bkXg~`DK3*{!KiWpsgWAel73UR^8He^rdm4~ASUF~*yv30`5jY?%Y5(?+ zIy<@@S{giI!1O0|R~#loX58Xs)dj4fFz*1H6ez7|>|1x!YA9U2<<$ktiYsIs!@AYh z07d&UT~SJ0rj}9+HydFydz-zE>2c539cLiXI%7)iDE_xmTRB+MGIH6`XlB zh9%4q*yXurm1y}qi1{JG)iboKm8`D18JaXNICEm)ij+jRG`GM{irBMByOw$n`E8Vc zqLL}{H$%r9I9v&zsKbt(5_CD-!7-e2vDv2k8r^meE!ztRlt6xBp5zhJ6r+&JnT0Wm zbaLkQvd?@`FWI||^J1Tqm-m;^7E`;?;TO^2*~Sq@_Wtk2UIKQDwi zP8i0pcH0C@=?045$iq@6k|ImlUc>A6r*Q){*Jx zTejvb*tr>L*_a1PXh%#7%=U0{#{gmU@lXI(5vvgp_!X?0jA5CgtTnOMn--5kiC>9u z;%C^0vAuEu`>kM1-4i%pO@Y(tFI><{Pa0cL=prlB4pALQ0w+z;0pW9~76%5stwqU& z4V`Nj)9)LE(artV9kQ{=;TI9xYENb+mL!@50)xmQze3cv;Is^S6;v0*C)a^%*;;5V zXTb}=p&p0ctc!6jX0e)`bd9Mu)12?>1(u;s3&@Iv5VM#JhPe&I#jz6I0YAl${Ur17 z8M=(XV&I@59a5mjj?B#(C&|t2uDFA&^sv zST9f_l(Xoqb}yZ4mQ+);J|72!)v-9|4~j_fdaGHo-~c|_=`&6)@fxs)CwcTN1r8_B znuTG(n1s;3Y4gvFna2FH7DrgI5!;8JCdZ8Hgz7KcR`oMysVNNQAwT3@CVAH_rp2A7 ztc&wH(*;m6y&4&E{!V%$%A4g~vrQ6naXH+SGJog{grws z&DnhyiedjKyo}0RSg7Rf#f#+ZCfB0ig#~hi1S)D!BOGnhTL{l13b?sP*f&I-bkd{! z^3o&nt^;M8GKmg>+&u)U`w{$g=K6#Jo(KZpDRX^F zfe5fnc*|U$QQ!cj+*0QHf&#-RrLxR*jslY?FtN;ah63NCY*&}LJ`Y?L{IVzz4t|*< zhgYEyrAHF>GS}Hao|}(G9*~?J4z4*3YXT09AAy3va5yF~mhJ3spR>MuIvUWP?W~`6 zSPoa?eV|j}$!)rQSU0u__mjg$RB5a%y9JtabCqFBele9-aFP-Gv=K|bD@F-8ku2cr zjrf#oqZja7=yXv(vyrg##mEx^M}kh1=S(>cal208A|IH~9X*SonYNF`+3Z|73flm@ zRi!{4d7wL)gF6!+(%Ea(@gbiRGFUJ$N>e`Me=_8{RSq1%JfeI!!+O()3HY4~#kpcwNI9oSHM%!nE=-1YHJ>mlr$9HHrC^2s*W zr8bua%~9-!Wwn=uE?8Ea*NUUXEfV%u;~39YJ{Jeo^#Obt)X?_#h5YTZl$o@wL}yTI zQbv69H{DP9nuJ5GhP8QL1fv z@_!`5%Jr0dBAHtbKZ>dZghTytYebym(xro_T$=X&ilLVdB2QOcnP!^y{_@YYtV;($ z%v*sEF_oRzWDl(o&^6OUWK-a_uog%)?fqo+fost$y+r^p)W|yytpe}q-FN|e(fYIt zn^S2F6w_DvWP(af(s;Kol_M(=ZFq%IK`kGg>^%9H6MWq^;4du5 zvGe<|#-vp!PVXyOQRir=p8B~G>}PBTS(F0YM+Nf$wl0$QajZX01F3(?r=2_fBoIjj z$OOCF%cns7!ZBw3fDrb7mbPR_MkwlpwwIrt9<8^++4I))EJNM=GxSRe1YIbF(^tp> z5fwT#OTQKGlV^1~m})+?|10MOVX1kQHjV7*rqs}dq08*-b65?NCY{d`nfr&LW#0MZ z+{-_|$}DwI7#BMrBBP5m=GX3|X50q}KymN@G;kC#KL3Xh$9!XRTAnj*{*ClJ)Kop& zB4pFsVq8j9`dU|gJ`NPNH1m=%mrlK?Wh%@sDR)#DLGq0|Y=j0?YrywB2wsRv6D=fK1HXLW}JgTA{{5I zj+3wnTXEkb2}&SpX%YMBShs-Fv9>St@|w@dc4u+>T478p;0H0d({8FM5GNDGcnX~! zmrftL49E`U_Y`bTKGpHAehrf21Yd<+bO6kh9<}cZ9XGe)0NRsV>4rn=PtlB3`Js3T zG+&?E$PJV+ENNddzlFx7p`7xeH`BpK zAQv_Zx}r`~IBC+Wum_AqXXsEJGhuUwn8#Thbxsg2Dabx&5y6Bt-HQ9YYHiqACq_ao zq1ZTg1JU9X-;K$a_V0>dNx!n+;*;iw-)Nx8z;Jf3D6s%I4?g#f6Ka{>dy|Yj{eu^8 z=sz&GU0j+~08S?!Z?~1T*=oA#YD`j9Mc2}vbenb}Bpfa2u`(gS7?L6jQ9* z96OaoQDljMaizu_>&}Rs%A_c=wOGjJ66?0aPFW}l!P%LJvc$SGW2Z7Gih}r?ofSKU zvH}+BtI0CQ+MLH=dt_mL$%_TBAODg@V^yuM_d$h!?!SQ9A|Mf)udGfa5x60GMBZz+SY!HHO4c6-PN7NX+{mIe~qmQT8qP)X@e5x z=D)-PMAYpJ0>2{C|7?3;RKx9nj$UEwHLj3*lB1sJ9R+NLx~7NjI2jcZm%(VP6HXiD z`6al6X2ZM41Gj|@Tk*uIjj~-~WRo4gFVCNZJ?)2S|5KEQ2(~ z*>uF<@gY5My530!1foC zH^z~w6+dBbm2f0W&uf^1aReNK4qI8f=uoD%i;kt@KEqE*%;dA)?zt%0pGQx9`4jR5 z1dT}@?!JCN4uaz2KN2~*Z3B|@!b|j|&ybI0L|wK9ZFezzgjiL9c1*vfmTuLuao(dl z9OA}LrMMr1ek?TwHsl_@M4(#0dMTWA^XY!#>%kjsRZgWh7q$8L9cQV<#b^{cE~4RN z?n(1*q!S_*oDiXVK^7w^x^i^)MtU0bi*68nnGTo#&O|(#518mkf=P#UzuIV{Bw-P< zV&K34jYi9n|3L2l0X#K6!%Q`x@!iiO^LltDrlF+m3LvBuX$o#P5KkZMNMb z*+=7VCjRck-)j6lg}-z7EAvbC1^C;9zoYl||NRx=Zz6m@{vdA}Jf$(5`*QS^XG%aw z4r8-cD%EuV3-+u9apg@m`JpEWKiFc=u#J>2^oeEZWt&-Ug;lZR;zrz1h?r%chA#C5 zZfwt;W>x&5OaC3Xx_!23+ANc@AavJc61;_qLwOViCB@YZ*J@JA?kt%S55J1h(1sqj%wmzdmj+u)j~yD z9IwtdNnO<=rGe&PnontS%3gXBgFCw=TAP7QM@VmLS#v%vnrhBhn{7V99wZ4a-Af!x zThc?}%}MaZ#tyE+#GWd78gM$8Epi0p@-=oPH^*r+vNZ1{8AaPg=_rW#qCm_SzfH~; z0)2;Y7G?XzeDSRUHWVX1CD(hXQ6U`bOwAq#X!fZ5+SvoyE>F!Ke=M(@Oj8U^5H!UQ zqe3ab9T}u4JMvkJ?V1*An{T9{bn8xw=MEMHX0r_>@o?rsnTa`M8+u_c5gZwd@PLE6 zt?bc7h>^qpDugXvabklsCt-{Gg}X_r*}F$0Ex2Dyw{n=ws^<<`1K07}zBEhl&$|+k zw-96uZh}l*xrZXU3q@9o$k9eQFp?+-p|FP{y5SuRU{!%;o}HONz#8c^n7G&%PdPuK`L>elhyvmSNEwd4XzS1CO8zB_aMWUNG0dt7N?k`X}eDcBDla<^$sFHnD zNxeOYY-!LxLU17Teu3)dCIdF@Tc0~<3fv-Kf~*GOD|N()O97hNmIgY6U_WT;Qa7*q ztLW0ioO1`wa`-fI2#8ctCq+=llB!U03>pN!*$<|F26glA2w?dT&9GUC%Re!$>4v5) zD4n=!55Y=Yv4@aM4BtcTPuTVltrMAhsBeYG-_0zWxydi+Cc3x4Veh}6LfpiQCI5lt z!!b-#vvXV@W{6_hFrPre+r@1*0u7~*fMQU{j;0sku0r1d96ykIy#iP9N=R{GBHo%MM zp5~izdEz<#2Z$e3tY1HkZ62Za3wc8Oapb%NM`5OJMt_jQOJ8d?>#)}Y_t+9z3Oj86 z+x~|6iwseci9Zf=oe*4d5q?s zP=NEHh%ZgXD-R+s7ja`#ad*>sr5;+}Lb(y$E`w{T%SOQ+wli2ZO@RkeQB_%iat5Ng z!C&+VrfbZo{75~KdSKXb9x1@1QEjVSn`R-TsA|3 z&sQ6@%){v#7^50&5`qvunpFH}ktz@`2I82r(bMG6B;1myp36lWJp7}>16vTSUDEwm zA}8=Yvar7e4$*?$6l1jD2BQT(qqq~)hLeGjT^Uks>ogC47?FCj$fFDOWzv4+2+=Ac z+?cd>4Qvviz~KuG+)KV~m@)f&JP3pUO~0ELConqbu2eA!@c9O6?WSaFryhm3FUHu3 z6Rh&|XA{VV+Lfj4?CAw&j*74`>Al@uWX#;5sRKf3brxW~oyb#{F z>X8N}ETNBK0);|auJi@IiwXN43{zj!0tY#Wt^qcWKpAW7YtO}Lg7J$taa`QrGO`GjzCuLRMLKsczOE$9p}4tQp<$8X^UtERvFT|U-DC)-w7Ha)k)CGmo{lse zVRIwtAKg66sqf03*iHL#trnmEHUjz^7*lj)Mup-T6=#+=%?r+$81Pk`S#ho_OX_|L zorPK!BJcllzpfCCLv;X|D?nP3Aj3LH;$qs5`3I2?xPZo@f4s4QD-C?Hbzk3>RrcM6HVp^ooj29>#kI!^8S~HHpp*8J{IC05*FaJ-Mpwj?;OAeQ` z!C>gaY4=Yzea}2l;}!FXzho9VA^8OaU2w?Z|D-NmW9^Wt@O(sq9uPUAK1@&CR#s&& zE4WbIK&xchS-Ku2#QjD3coJ!aMjBn$z;TpcWpRCnY7(+I-w73 zpkJJ)+De$9WeQFio!m%b2j>zdfX4rN^1YaTWw*AAu;4D>r0pX5^&ec&MToYGC>IyB zMMDgGuC|NNi*KN`^jN|tzJb#EV?k_+rhojKAa=^|Sg7CXD;Nd+pYnd>4{RV@ZG-fW zhS2oYxV#W|g|=q!7cdQ@IUrh=?zu%GmOqKx2DcO103bH}X!XKcSV!xr26P8rv|}iQX4ndn3LYLxKGig|)+N zc+hu4KEhd52z8iN47&>1Vn&2MC<$J~W!9uud3omy>TjEngQ+H=z2xg^<+vadsc;JV z%6Nf2k(@$>=?NKezaW7@Z{7gxaa|&<3X(K~Lt8Ijd4MW{2cnV<%|ZoXgyc`sSLkcn zZW~lB9a~>~BL(PRd?RUK^pDS9VupEY6Mp^AVT?t0lUEY8L!Fg@-(~1Qe+i(->5`6pz5yEdmd}9gGhIGJ3Xx!N28>bi%gY3VeeOQ^$)+6qu6aKGOPEJF5GpoPa zOz5S3yy17ytz2i(Qe1xv|MBWF(M&X(ZZ$->L4?(z{jC@JD)e6>O~-gthuK{JjEb92 zULh3BK^^c@Vl{BrH2ApujNX+J-iwiZE;ERLDUiv3g%1tzZ$7DMdXyPa{{ni&MFwip zfF7m(#{IWePPayUeSgEc59JtA<=e0-VXd$Ly$ogNHnxT|Fc)hg<;0mpY)DI0vp@`1 z%BF*Ym((G&W11(ElafqBIS@#i0E8oO!M!zg7*~b3(A2~q!*DV*SS4HR3gH&~wRIkC7mkHu9pK~c zStbcLE1|wx%&Y{tmVwAQptjROn*H9#RT%k^vvGKx46{In4JLJNdwZ1c7cB2=h7qS!P1j-9<%8z*+GAYaxjo^R~-ZsZr&s= z_j3@IL<6zIo3{W-tSxXTTlsytqgR>BuR>m*7yC;q#i@RV*#t~0oQc!r`s_u&mFV~rw{c?8l_MVenzo;BD_-9Yx zZ3IC^oWKkTCL^K0GQ6QaoGrG7Vt)+vHmtyBPJ+*^lk8e?WGf!D+e0_NfsdjHK8in~ ztDx=TpGp6h41V=V>7?BJy?>NE03CfjkPi_+YbbIm7%I+zr1sdcj!!NN$jpzc$z6Rg zWYCA(TB6mXg{bw=fwc9gvwclr``F;cYn3}gm(0r-;*gdJ2P2yd6KlW`t;efi7o6){-{CgSEFoN{P$oNl#uIX;ovv)deh(=A`vu68iE+V zv_EghS?0*O2k9VyNWo=S@EA|?HUK3&aLu9C8_P9)og{}b0n)izxcS>Qw_E46xgZjI z`DMcLYJr}e+h(f}V>VGIZqDk%Z8$165RNS`$cVW;fQkJO$O*us)p2<{T(frJsMTS} z#HghL_Ym_hifE+U1?m~}wK_DJdTVo+r9u+YidvI8JlWsJXkP<-5a>#IY#Xes#e9o> zW=ID5mKX`5i`b#Svb0~JqS+U%838&^hbUOL0*7079VhzZQzEdV3F@S4{^{xl@skc1 zmZj%(+w*`KR=bwuzySP6AQCDlF%K1@nQ0{e?<@WxxV#K5t2Aq}0{Y_6X4s6{SctS( zRSDxGgOLE>bUB`d61Rzh1liH%Ap_Ha)pSRU?J>wc$7WDIxEB*U?59__ z`CEX5=8^~$L;U77`VeO@IX>6Gg83L?5Rq=&TS}1MT2H);&&g8qWR5n}3iOiFW#4L} z>c~n|#h##+sg5lG2Rl#W)^^9U!M$aKw|*ovxc8fSKp1Qx&HqNoglN&UN2f%$$J%iP$du~tSq7*K zN5^p2K2?-g1vu8YMF&^@I6;>mq04)iYb)*w>y$VC6oK)FS?wa#wRN<}5L$JYq&99@ zJ!~D8CD2tU7|2 z(F8NK1=supcK|Tg77z*NkG8JPo=&~6j9eHhUl*(7L}mv?p~E*B)&J}@p+2jEFY(iNvV5R z@Bt+77ryog!1(YA{gMp87cRe_$OPVW!iyT3t_K4i>~9dj;s_d6QBc9yOxPB+-Lw*8 z&r&Tues`}SmE{QCmjs#I3qzDLrVM8`MzuT5mD6xD-)d!Om(x7W3H)!tvtiowBaQRt77+I*L~ zpGH3Hs|(a8Nz#Z(S1*yZ?!O}1viH~qiSou^rQ`+VmWKy?2{2%{un+ zr8i?f{Sq@OraH$yBDxJkXO8Wl21y~}5Mv0QSM(tWhj1zIp)Nu9Z9ono0PeVw(^fe|k{}q=6L|BrA5jt4|g<%c6>wF?<%tv7I@#;afnu|3lRAjN4B$ zv8HtJmZ`edXH%PApzCj_czDB*~HVF&UYvA_+$DDHRxIizyO z3+ukW+EVe(itmp9BVB+gsUq*_gQ{M#ai0fYIorYOjtFs$&y4z+>v{B2#_w6vbKo7- z^*m?;EcsP!By>CYFWZwscPa_p**%~dR8xHWNe+`nm~gNI@%4ggsE;-7%QzMnl~MKM zPb41RD+>%l%b-7A% zJk0H1{6W~m7v8Z0+AoGiA<^7XK;MFLbqK{cCU2rk``6Ja;D@&14GR14@;MfH(~m@S zd7k_bow_40)B%pH1DtFBvQ%#+lvsVcG<3l%Khh2yK~B~Mg4=P}=mr>ibDj_X#_OI4iT*h}8G9qmFzssPa?8!KGj` z!#YL2_2fe%thu_?=5;KVNE0Q)TyDyqE%w@sH4FH!byjLVI!wTh1SSd-B#y#Y+b}5t zRlF5pDHyLF2UelwY7VQZQ>*LL*>$Y5|8jYqKU=F(@Qx9@<8t^h>Tj1-olTd_Tp?g8 zBfM~zPu+*{I_qr46*V#DDpPCdzAm)}b?2)!WyH@lmH42mT9eNlMQROHzGAfo^q!#B z6fsAMS~Gz;rl>U~%rS0A5H+ba<50~IR*h`M_^NwDF*&7H5f3Qnl1i06^*&5TTg))^{3I|JFV9-y!>>Jt}tr1l+I{ulYk9Q^@q%*bCYeQFQ!U;}2xuV9I9@R74**LpgB+%g!4CQ3FL%UTA=3HR_|FrYaf_3*lcUY@3F+U zX1vkBXHaSSM68V+9{+}Eo<*23sh!DxBpZFeOtc#%K*Fz~24)>CyCUX;L<8 z8RCwd>o^5Yk{$S-hUGJGt*DXqLUxdgJ!A)&POjE=5}cGY(m#qMApH%?U$WFNQ4qI^ zBOk6B$FH$JiwlJj$cvoCZ{S*gfvAL{+sTWz zI#!O*exJYitMI}* z!?#(FZ4i}F+@r{S`B!q=y2*w$D7&q@g(5}I>bk=^8+!wG@PAN$P;exFa}^0OOJb=1 zC}`#5&(u>Gd$e?c&T-HL2FCmJJidzFz(jtknht*HG!hLLn=?yn2E)Vb`ra2rr^4<( zqWOM0c@T~Cq2a9<3*QrN#F*sZs)^KO{~9!)g}umXj75Bqk3R}vsnG+q4PQ=q_yJOP zpuETt`dAS@rP3d9Cq)dZ^n!3#CR52%-E@_J-hJS&%k?hQme~BqMB}IYOstTY5Rd!G zyroOPZaa!m$L>K?`Lg1`_yJ>wr*q{g`e00wmsR9vqaiXQcR;E@5nsiAOj1rKpvQkU zz2q#F`tA^7vS2$>i|C@@VcCKQ+F%i45Se?H82;j@nN-hNsggl7oKU*9GoJLBNAVYbaUrfozqE@hGAQP z6*C2&&SO&M@IVMUKARBYP9{|21XDox^fu zlAbkBP`{-6F(eqhSkfKQfmVgqRw8Hi*8=@O(7uv@dXar#t)aC=DViKcM#AFX@%#!+ zgt-w5Y(Du+8cm)-)?^#;HHLFIT!|?#kXBm1cQQCI-|NUX7>_DRnXNjjy8r!a(xynt zP3bVFppuegy=A8EwJ5U}V*=j@79RPDv3tP~!pML_n8xBy+&YuU6dU?%O%FRC#Ch|; zh~$-Vkhi+6whM;a;9A^Rez~?h%>!G%6&tLDMCcYsEJ}fnJBv`A)a5KjBEFo1#3^Zs zQ}o0#Tu@sF3AvG^;#%=^y)i*bOs9_ zk_Ro9SJBm*p!o6iRMZy97r0o48t;W}D4VKP}mx zz~3wQ>&D+l_#5^^$-WkU%klosGm^cF!gzXrB-!z?Z~Hs=`!>Q9N9pwUYs6I`ALcvS z@zv?fFNtl1bO$?QJqF6%Vccg}%x3Vv(4=w5BA5fjH)d%)=5}n>ri~ZsBQf%*zjSk3 zazyC2AO0&XQce3vn16CG3w5<_$7(d zgQL*2!ivd}7tx14_A;fDcK0xX#`&^(u>vo|3LK+zg-u&w^=SWz)lGT5P5&}_;#<+k zhbV^w?AoUU(CU|f5Y#oQMo+_fj)oX?9~&JlyKVg?%Ccgv*U073o*<-!TwP%G)mf!SsfI59>5s>khC+e^!laG;m-U%7Q?`i7%SNUC=W{m9mZHPp;W^u zvvau6eu<3>sRJ_wmK}jccD{9?mwz@v=+97wEOa&F=4Ya zUjH#Hw{>Sn-f;TsE&xm(>^B-{@Usu!N`j>XR>XPa9GInhoN7y~fJM8GHti3IDWp8% zI~}xIKnlOFLbMl36PlbYzH1DBH%K0%2w$}rdpV#HPHHNnu=xj~+uZzz!VYaw*IHQ? z4m4-!c9JxD|DF3*eSFC$DZ!j}Qvq4D`)^52wP%gZ+m$VKZP*Td5?_J}cHBoVfpPqu zTM&lD$imb`*d-uKEzGr9^i3?<4TcRzm|6Hk`NRxZYbd$6k0&2$G+2MY*d&|gUfsX|)@O+B))KumFGWITjQB~K%|4cFo0}RX{0mDOyii!pm1tl2J@JND| zz=X&QRUWpb-f6DAMVSLs157%3FdV1qr?%SbtF68DyM0`GRS04sfX(2eiWXaX)ru`` zPa4{b%9Wth`Ty2B=gdsde*YUdGiUbMXFt|nd+oK?UXSA_M^lZ2UVu?%#rRJaIFUK^ zFI-oKI@9VWRh=oumsnrLiDTc`Gq=IhGk1~K`eqA=ZK&cPXu9Tx9C9Rf+uga$?8F=i z?j$}UdFOmi!?WAhQ=8a8`7+4_J!WoYGs!mRPIfZ8xsOCdV+h@VV^Qm(H*LnHoL0;8 z$9QgjZayN+;e`ed>cAVjqXYCKJqJ1aQPsb9;-f7&TKQVl+(pJB7Md~1-Q_SHMTA_a zJ(ik#10_}T_=-GzV+*XHv9acn+abS6w(j_~;n>S3WG}kpTRKhqE~SKUX0B+n<&GnK zedU6Zeu0v8>zzuHoGeY&QH*|>uyjA!bw2};jjw0Q-jKL+fhWFj#=2E4*KI19vF_%z zb7DuSC>A;?$79pOwjev85Qv`_v5eml&oXvg+cM?>j&pMretd^i2vhD)bRCr$93L** z+am}av|jw-i8-`j4zT=?9PpE^#c@8@D@nVMUHFE*iD_^3!VO$=La50;_>sWp?5_|Y?up`~P8ocv_Gf#|DW z0Cy{$&Np_UHWr_skVK(sEL($ZSwBCv%w2%8)zsvsRi2iMHkBqf-RxO=POM6cdBZJ+ z13u|5!eGbBAFZ3K8I)PSm#$Bl^^tsC6pqF8wZGlx_0Sz!*mVXEdjHOc(><{nfXAxs zcMi_uG4tDc?s&JJJAOnbt6y~ZDUUe?$#C_rNx}!9u-%E>qlIw|w*P=nb4h>l4h;MB zeMBxKAy%wOA2G%7`Hh)c|RFCPG(%<9ff%uRai*7b%%&1>w zOcNY2=F>u+dxy@3&2!G1Ka5`yJFaC9cgyy75!lSrR}pTEJ+DuWqZg$;581Vr^1~#u zqZlAI^k-(PM7(D%HJlAa!IhaY+PqtAVwoH`E?{N)B8Rg|VRWRHJpqrx<*`*5(L?me zfBDu=)E4E3KD9sf_Vka_9(jabIV^);T&$#b3Bkg=%sP)%I8#5VX5BbxMW%kr;djwV zub*~!nHH<}P;S#CydoRzkDBGZamLh$WLBzC(rB)F(>A zA{Fqbw@YPlUr${FGUVR_L9?z(No@Q=GdQF5R2^sALo)hJH!&Qja_IxAAytwTv4#T4 z>{^F#WY@0G)D;j1PA=C=HtU)BLO)RBJDp%Fy|(SSa8u^#sU3bxHCm%~X&ND+r3sM+k0V+xP)C9_pT zE9kQ`MsN(URo+C`r9i`DOpBU39^`?!H^~`EAhppKeD*IRRO{MIJZ_&sn7D>53t0v`5&ndPQq_hFdT}`#_+1r z_>dK-+%E4O$BI?ZA=*!Vf7HQb^P2e7#O{l=ofo(65*lND;1BJ1kdLnUe4v}2QqqHI zw@=v`nbA$n?K7M^C}4s-{>^XBmu<*V=iWOSsOo zpKiMcAX!hi$?+;wNrKyIaIlp4l@JkMPscqp%R6&+eDutDge&b7^!4H9w6|!nvj34h50aeIQjr*2RVAt4@-;d9d+O*Ed;jVh_W=nbRY(y!oU}1Tp&Y zm$7-VN~@&;g3)X`Ta{ePWBX}&#Jbe9dnaS4%NNevm;=&drrhGH;`oH9l|ou#6P(#m z>n-}IKjK&D3&bkYj%^&tu};MLDegf_iWo?X7Hp`?= zZ`DbMXByE<&?EF?h|v+o11;RPw0ASq64`{4_=e-D@)=`-?fd9}?iVB09ZXbd;p@S> zgzrQXhh^#=?lJ_`;%}!#2Z6*;)S~vSDKQVBYA-^!68w|2%vNP{EAll(1Q2x!ySpZ_ z>lO>M2}vosOq4kP1^8$rw|@n|Hgpyd5UlTVPz<~}4uLpjeT@ZB=4*)NGg;3u8!R@P zgJukm7uU1Bz?9bSrH{w)col3@|1ly~)Hv%9Q8vV)D5dO?6AwJL)g!vn$1DR?HQ?MO zOoBt+V-GsdKCjRGUE}l5@(^eKv>pvGrv^@;K>87h%B);VflWi}Cw~W6Yeij8G-@35 zpTE$?%v-)I$IrK<+OCv$A0Nw)&23kH!hNzwjuN@y$emAK^@K$>!ab3^WRRoQ_tFZ? zlt#-2n$0?XW-zgXGdNbWk&1a?!vd zN!TOS)AdgD24EwS-xG^{p@yO{iD{ud_l}_ZC$V~;S>h3YJ zs!r*fAPX%I$$L=9pBfR%n*FF|s9+uK=~&GZuO;UP%vNW@Is0>QS%}uAnG{Hy)!5XS zNvV|G6EiIe!MBcI#hLMw5CL)OV7_l1Q~-0nvFY5F(&PreXU$lp5m9T1KJj-sG(xsj z$(^gDbMfhBQl=`?@{&Z=)Qyv3o)2YDwwX7?l@1=bn!?stWb#a!t|7ePpsL+xTM}ix zh?@>)Qhk+@%AfSd&x)tN~MXc0T1|RDdmrUwTPI?gwYZ(`JNd5l8_T|w*=o7OPh9$LGIFG!b z%*o@d@6M6~VJL$NZfEo;GNbE|EMyrq4;Oss=}_i7$069|C%Tm3HHIg;?i8#uN|N16 zVM-DY@?$`qPJMFD6K{Yv&e&M9@#0%Vhw);H_VL5$>^2akCY16L zu1XB{3IXQ8E3s>nj59t(9u|)6D(eYdTKrw?L-okBo+WLCWbG@p&XQ#le8%1~InjF;?BmBt0{-xswv#Od*G&!)Vp zl}kmjG=v8SA8#*??I$r}$x6bMQkdd=IUJjY6e()GhffWA12KX{GGe`^6Wzag<xQr!J}g1hb!9{^Lk(}7<~h1IVSzTi{ian$w)l>V9Y4!5{Mw(b#z*Y*b_ z+v%RVMIJLD8*c=SgvJTB0d|59aH1Pz}WV{9qt9QJeER?yG@@6@y#2nY7@ytgd6Jxp8Fo>6uh<*w(5%bl`%_0(Qe_`V= zv1T>~>9z$1;B|9fWd?ihg*8l7Sqjp=&0%wIWv22YTjMW^p8Fj=_JlyEG}tZ&8C03R z(`(kvn^9NO(pcP`s++gxFw%aR+G08@4d{+9PSwrqn=18@*|@kc;8~U#r_ov%eyM5cWAj?LU!6_n^Huq8#Rw#XRMOh zX@bgdLwh)ih*;J7c!2jET#FcCXSmWU=4WL27r-UD)a1nW+mWpHpzk0^K!n(@6VS4K z1V3Um6pp81J>~H09>QH?P+;7Y?*@szj8^xx$%a| z*UVR$W$DkOft!2&QuS-b`HMNaIBq>OMmQma8b(Uy42cF^Zr{sg-tztuE9%9F^br zRQySCl!dM!xmX7t-k|KIypDr)U#aS)(;&{8A6vyrlwDavn@qc1e1${CwAwKsC`L)YxY~xfSZ%q4e^`cJSQ0EwPx|p1NMO`5G84!)nV6>17bAx z9Ov~-*2b?Z0C}&%7}2$mtgYD#gwbeY=L<;nlt%F)`9gN+NsKPyV-;(8Q%PC&fog*b!^& zSeG-tZXwT%BcRf?EHQPgP+=={2IOLYY6(*;K*i=qeUr>^2p7aqgqDg;CCQJnYsZ)` zVkL=(hz)_hVKlL?MB6FUYVInt>E`PGma{hbs$X1tW_x$bNHFR3_^?z{*!+m2Q>3eX zW2HOs5l&y?eq?-76zWr_!i!^V3Zo&w2)PjxH`zY{wJw}P#~#)v$JV<~QXR5eXO^XQ z9pEO_A=~W4PL&^HBBjR)-$R{1St(;0#{tG!v9K2MBMOm8{RdSx3E2k&`ORs>dRCQ2 z3jAx@n{ixQRy*g!#&Y|N91Lt?n#UJ5Ulz8$Kh%-a#;>&nxDKDmp!k6E23w~hXTS4e zqUG}JW$}^Cmqn}x1MaK79+(dE?#&>js97a;i^SHm!^hgv72qQ{Z~wCrFK z;ja5NaWBVu4{~R{g4!2=Q{PrbS>8?~ubUB0>z3c47Joz2EaE!3Vvf2CJ>IV3gPc8E z^91a*m00AZ6nPqzo4*HT*2O1-PWDoH0BDD;G!^7$Uund;)h@}IeJE%MNiYxO_Bc*? zW@-AHLJAUH7YPK6!O5%i(G- zEn$@wYLRZ(57YL1s`db1-N|krU(a!MaUE=ot>)dZ_500&pB2geQsV}cpZ+?+$AYpS zLrrz$kTsq+i?c>I#<5xBIWyrAl<3CR5?(fI9E{yX863kNuy(#Bw0$e9ze$@;6F()sZ6p2-O%d#ef4( zQR}N6(s{J!N(|iD9MQc})x2Rx4F7Bti&~D`QtiXDMCQA8WX$t-S+(}xu08HOS8y;J zua4Z3>NrZPtSlrpr+Mm6X;Y<{A@If}Ie-OUNpDQIVG^6DC9ZW!JiwqO`#I(P4mYhQ z|DYZFCim>2;#Z2kj@^&9=!1C76L;CixQ>Qn^C&24J<{$@qWH!2vJZVVwp429zHj&bamjex}fKF|!MaxJ~M#LIh*vW}~gg-3E*hNNb z=^-I9Wx4*h$>A6FtOR#0u08AkE3xbA^ve^!Be6?GgyIzaITFMvI`adXVR6*enB8`q zA7R#~MN%khpw}2CXA%)>#C6hF&Ks=Y_Fa-oKrI3VIOQX;BiiJ%Zj+%3b&1F%*X^ZO z*}#`#g4=cIaCInn6|q`ARn5Q8FQ`U_ncYKW)XpFCF}Iqm?W^rtf`zrbf2CbZ7}>VU zNUZ}AEr}Q)Q0%Kv0&cQ?5|&>19gPEH7;L9vbK4^nh4pW)%}+R`C3f1U3FX1 z+-BMoUnV$>00LtpmRA{yyw@PF^AwdDh5dKGCQw24b*hVVBfu|5es4`HAO`mSlJ&*j zfs|AUo=h;ei~2>ff7R{t*gK4hO;i{cD~$a;ohd;Z3|@w zumZhxkxuNed90AIP+Q^c1tDeiPVA_Y*Sjh0KOr_ik$on!!&=5Bv%`@dW`jn^Y#q;t_5tt;`7SkE%lWQa5{Q?iBFp-Uvvtdu zE;mhmVaCE`8;5b*fF{B0>V?Z%KHx`<=}A;wYz(Pk3(dHoqLzx>9M+actO>N)fnc!x zBu{Y+{xQ1V3I>^4vY$f<23Jt4k58+&thEo7fQ* z+~EKtJ}GuT>r}*Aa$&9~#+A(#P1dy2s*Byls7I_z3i1tWF6X@ew0t>!(v})2eqWi~ z^(13d$gR#(9C`=-DbKAk<#+wD5Qh$^fV_}f)$varEzoCRgELMxv^E;WzW{+-L3fR7 zz8l8DNHA0)-nNiB-tyfWxRL0)k4L!KT#F0IBW%N(izC4iwMTktKlWHP=srQrLBU%i zR#UEWdo4>&u?dS)0k*^w;kc1Njs0hN%m3^IdI<8{xtBP(v#aMTgu~Vc=jZ!6thpj$ zy?(^$tG=|}fA<~&@@!?1O!^6C{}$hFPmnyjD}XK&MFu4kVTJa=|{GO@zesq^w=jcN7v z?{&~~4UqLfsJ_T+&aox^pDC|#_h-3T4xa~9 zK>dxNwCukSCdoQkZcAYB&4i;^PkN3|gcV=%BCNpgDtTndU2+OZ#4FjMpWq5HdGbsn zYHQDa5}#J!8!y`49bxxmd&OI9edASG{SnMHv(LhR?=1qDiGcEE@rv^V8*xc~PJ!S` z>yjtSjq&ohoySpCBJ0zBlsl-CJUPZV8~y6kQ;IR_hR8ak^iEc18I(M%Wo8MyQOK66 zex^qOg~mJ1d_yA>iV`)inI$5+mWpt!im4v8ru>sF$|!$V2C=Mbj7}*L+2N&J1SE;w z_G&#tR_pfog{@ z+m^@AajEGHoTiJ6iW+)sL}b01Xm$!gXddav>+^Z8&^#O@$@2UIJ?zZYA~o56zz0gB z0$XA(v?|ARrtnImV#}Dni>*o>H<+OjQc~+l*;K}Zjj{Fm^ym6CAo8UCkw!3T&9o~r zk4f%if0?9}W2YfYpOZF9(vCam>76$0L!_G}?ql@B%cv21zolI_~?%KM8Z9n82FMU(d@_K#E zCE0cJb)Ab^wH3~^4YqF+aE@uR&V5H(ouBMI9g_jR*G&5OVr$U$GLTSzf=~HL5p^|& z+;)GK>@SLsjUCh_^e?M)*t=xCa8MNY8{!PCpFks=)*{H3PWuZjn-DK{$G={w4N7V1I2+QM4=64dUAcAG z*egr%pY#)XKFqLwDrFvyy#oS{ypX_p`E7w}o+8JNDv*BhrB4AVu}k3X*)f^Y8K|y_ zeB*bTqX6-@DFSC<9nWd9zOF^)2g*fl{RV$reI?Zqu+Q_2kgH&T0)(V{r@mSBsN8Vo zpY}cS7BY5Dn3e5|T9b11jYn}HwQ`wNN|mwwA1OcZtTx@2cW8Xn)}v1kE*D}HB*yJw$=iMdpJqxD zQ|+rXCB|n@`#L_osrH-s5@C-J*`(f=rNrrMWDTfn`$Dcsy|>id;1 zHKOwL!^>G+9+BrVj98c^$s+IW;$25WAbxxEko4z}oHtrU9~ZMEeUWW_aC>+2B~5nE z@dqIliRax3%|mKr)%xv6l5vJ+#C23Cl@{P2XID@Kx9@in&NR~ksLGdsPjUJt@8)@9 zvOwtr^AX8E^@UqzJR-0SZr>NI+aKJ%CzoO#FdvaOQ|*$`Ew-Cn#L^+7-D%sSaf~I@ zg9;u8-(jPNikg z`vT@m&Rr4bHVR$9VZ*}I_UKP(nCRetPlj| zChMQ84IID3QL2ns-+od~U{}c@)iZ*Z)@b%dxiB{6y%PMou)74lmhytz?Q*RPw*d+5 zi;bxCp0SZ$r4_9)PHl`>jjHaf5}A;bj{Ic0Qeji`2{wHfsG3Cg)rO=LiLC7~yU;_y zq;JS$MKw^@IaSZkt&Gkex{T^cn|v`qGVf>rb}ESlQWq|fbQTd-#0G$Q(|CK{*|njl z`eNS@J})q}G?wFaEGyyITY30=$esj_p?4gu$*!R{0^jVK^04(5VbSp2qBB}X!Ns9N zw^Z9>*tw5Z-IDydyisHf2g)~~fPG7<{SGPO8F|MYu4j~FjJlQQ0vW#!-aLLKelFyI zn0B*fU&!9*Mw)o=-)JHTZ7Q`1$Bxn1ChHSzXL%kKY}EK{gfJR%jdg~xZ`iCFDiD8N z!;EEfZ>iS#6YQ8pOJg&IJlg2;=jAYa+FJbSqsQCpfqvz%YlbvUv8&1Yc|p#5$tlib zehty02WL1v2*)b&C8rDWe?jwC^!^+9-KKOJH02-Sy92;w3c&c;xfcD9`8cF=+G&IA=mwoxy0G;47ZsfTaecJ(dWP?V^(rgtk{^2 zcXq8(>uHP~()~~cHRQx!$mCHYj94H4N(KWlpfLRDZ^#CM?ZcX2#G0)e5X3pUarkI~ z6yIRBKFHi>&AvDsJFKO?$o?f)>Nlj+680;FrN%5WHd^2Pyz+?8&Lxjso!R=ZU079O zhj!Aq%;nkQlq$?cw{eA83OsBmc&!C?!KfB$gBQmF;6A z+$kR0JW+cO;)HI+?QiX=IQyA+Nb2+1uA0@DT253jWsxP->UfL6U}vLV&AuW_R71b8 zY0KocK9&w=lOI(CJLkx9G4X)~fANG`Pm0QiafbNaoey%-F2^l&>q$Azh@Xwm!c(yX zMmUXD=ThygtsHAN0ntjbYd+BNpz+CPV&_2`f(}Vy=L673Qsq!4u@f_Fezco>X6je* z=`lAi5TL%W9y2iS#!*6tmSpO0W?ZocRo#!i;ry1;_^of$FH8H{YXBrMT4+$z`tS_K zl>Vw`wXaiLb5WD^+G{qZV4klV^~P8inZwo#QM>h1D9d@&r24hG7sP714G#hClh%_M z%y{CF){_fqL42WEzltNA4U=n9^{Y%;Rlm&qRBK|iM#lA+>sXs@(GG!)cjHC7YA8-T z256H+@Om||8l+}*9k&zkY)*=$Lz8uzyJdAU%h3Ep)AB`=bUkA&6QZCt#jGw)Lp*l9 zMflQ2$RO4Q)=MJ_K(&yH#MS)29T*6zF45XQ(aVU7%KqLx)`VgNz(vM&Gg_q|P&m7h z$sJ*S5*i^^L*dT$wT5*BL&D6;iZURdjp?z3{TB+M%(Sf zk$~AM3<9o>Jv0SEhvH~WssY1y+c(AmCK?Kt;yeLu!2HW*!?9xW9he&`(V{lEC-x#rZNMF(BA@W$9 zrT&>9e{454t@jvfOpMm6E{p$jY;_*UKIXrJ@uE|c_voI3Kz5yDz0B+3*m?nzf%vn^ z`Z}Nz0Mu7C4{1uNwX^kuR|Em@&EWv+AHF=(ei_oj`}WH+CSTU~^Wa}>GsCgF>}stN z9iD*V`)OHQPyPn57(1XKW};wB7z1|z*jo{>UYs03lx(jgwkq4vL{)`RTEl1jBlEQ_ zeqkFb_Y#AX7%oHRYzg4F&3G?Xgi$EqH@hyMMH*bcUb_1^&6S5t>q&805Nz*J4xm8~B=Xg? zo)r4sa&B_d%^qWXW9&(3`c!LllTETjQO~6YQusn%cd#JXwuus*htB*RFnNi0Q*0~W zdE(b4H!btT=V~pp%tg?!nGT7~#y6je^{XMycZcPG5^SGH;msqOtd^GtQi_-dD=ZMp zTC-Ro+f%>D+l4s7ZDtk%xo8=MljNyhRI}*<>e5O?oe%k4K_zWJ|9h?nP1atdnmJPN z{rr>9?Av5>(W><9EJPV3nIH~zRypl@v(W}!L7SS{i9G!hrEA9v8uK5hAWM}vg$=e% z$yW)Lys3PJ5^XbuwjFK^XY~qPiq*u<4b?<39bHvC-kv%1&??_=W^Y` zb%N{aKYBv1|H%{D^Jh=!ozt!hEKjJY*Ap_hHlKDq%y0MF%Dr5};W3`)`(v(ixR>in zF6DO|`?#suU1FYUCJ!(N2vJhSKbh02vr_4d&YeEwBW#)7a!eC`FS@v7cAIVFKisz!?2uVi-({?{iWzXz-J?x0_0@P)ND6wPrYm2iS z5tDHi!R&dS6BMK#m7kc5Bd1-y&pLqqMXDGU^5VjLO&Kjz=8yX#M-Mg?#3=sJ)fAEG zi1WGnubvPd2)oKz%!+Viq4qem4{d=fb=tDl`DxtT!s4^rqySS3D5&Xxp2T2fCI!o1 zrbF_{pEj0o=W4%D(DhY3r}4G_o6=dTKdWf%l~aDqVqat?R?`8oTOX9sTRhCuM>E06 zILVk1q`Kr5vxD!!pi!(I$KVJ)({VHH5$?pQVy;7wwOsJ6d6=Be?0Z+mhBSCo^AJh+ z&s>5}V!BCeH!yh}dZC%|mo zgF{j4zv)6GWCqPSzErF9Pi|4`);`_nOWo+tl#O0@~LLC**sBj(^7IeeqkI-&ZlRo7JBb5s9)})sqwj`lx}Ey(wYq znyuP-N-%2z1hGdKvlv$s1K`~85KC3gK_4?^DOKqN|8RCq4bD<$SEM=*Q@@FS{LUlX zM6J;;Kv0kjhzqnksjW#Wd+k5m$^f>p$^kU{S}n|-g2ISItzYP|B5@~^*A&NzvC#hJ zN|(ds3Pz%{BX;2SAbx^ZC5Lc|yCm{~h0g zXi6_bLld(G&!}H; z`}yfsc_Ex#H?P244!J9ZwbpB4srq?LA+aS4GcDw%{VATBb+`^J4t8G6J=5ytk8osG zS7z3s;68ZG<-uK?r+B=BL)LHKc4m68Jt(i$mNnx`@cRM|wPnU%hYX_eC*l(t?-Bz_ zTHgCMUs{~sTv#Tu@;a^fmn2KRi_N-n4!r6n(WRbw-Yi|!t*!IA)A8O%$*wI4&=U0k zEC!oaZJ%g}Gp#wu47RtBiT7kAdRKEVajGofdFCLew@XQ+Ez}!qUmzJ4mKQHXH^HvC zYdmF}E6R&k&NE;7-x^N_Gxa_l`ud7g{lvZ{9DWdFu*v$bcZ)r#`U;t0C`&{qq7NTz ze}NfgE~>zR3*mVPHb#`eI7Vv5s97{QVGOrgeh-M*;j}#_IqO218kyg8B$S+AQv+y( zbU83_0i2|FZci_ft(fIS7Ab@K6`mwM#?f%2mR4>qFN-$epV(R{s43QzIFw{j$1#j} zOum}z3Y}rbnG`OR(?&HNm)>!1X=iAK4`>5u^cHC3Hj85f8{H(p zpdiCS#$cE+TsY0Tvh1P-y}NjzO?`$N2Bf)ED+QTjN73l8h6!LqEEH^SgP$}v%}ZuV ziRm7;=JYx!5GSZ;y|+GWO>t9+~EKxhclq#3-@-aw)P_LQcp~W@;Aj>FK># zno=7|d>qHEOI?|ZS))mIa?a1x+gXc913fjmXS5*Io@MZ3VT{m2( z$#H# zf+s8F$%R1AZS@)4YpW$RgQ9swuw6za*K%#Q_O}8+%a}M*EY}<*!oAo7w8+y)BSrXN6ItK=Ps_{#*PG zILD)U&pqw7K`JCe;JLmc6{c=yA#o5%yW*0N8md=%8v3J7mELl(`enHLOM;y^RFe6; z8Z1^Qk90GibHtff!M05)%^X& zSRU^G;#TlwZs;l#v+ofd(LupZHpw!go81vrox=JB^Ob(%ojb9 zG^jUz>}K;s z#?D@(u}T$s1Y{iiRiy4skU{H-x%I5H>yhbZ4(M55)B)9C3Kp8$S4SU=*$#|?x(J=a z+y7`(rda3DH)r*{jfK@2CGZADvIY*aIHTkc9HN%++^wk zLCgK!HQOF<8e$Ny7D%TONSKjx8 zzWjkFwD`Cu^eWfX|G}R&*R>ydLL0cwJ>dz(`aPlJTwmk)Pq}`;^)T0Zu2!xsT=#L! zp*)ZOGylAwnd&AM75kjq6243Q{z3O#Nxf07G}jKUUviz~8g$YVx|nMTS0~rMa=pg& z5mz}Zgu5whp2j(@>+8Zk50m}mr<~inJ4yI^Hcaep^7?4}mUyNK;qP%wD$IC%C>jJ- z_dT+&#ef7S@yvMzy<3i3zm(U&E@8`v#7DOqgSzC9xNlfw7o+4&d~^v$hby);a<|SH zG%P`4-w;ycCBx+Tmd2vQN9*x@v%dy^2_LN?iv-x}8=d&5iF=RS56E6Db&$PcV6sn& zCpk1Qxx^{l?-nkEF;}?U4=B9UDcmXJsas?TL`#Tju!-x3akIB3Zh$tx%wjTT@^RpOC zS-Aq=m5i(>FGDAshP9sOf=9(jNSq94f-y(!{buV?A*y*3OIjMX8b_(^aZh_cq{KsW zu8s-ON9%^)sAP|tcv$p8^lAKTj^s%u)sd4SYru%?9y9f{msTkdW%cfcrX z+eDJ-p4_ARb9WEs?jFwFJ?`AuLZIxnC;6S}kSgWRPR(>ks{HkI{8;XKIu6TMB-8Ph z^B~g^nlBmT<+9vexpQY_w&^bDQ^qy`Md@9jB#UeRWdD?4=d+Z-7UY1}D_f8!`2yW+ zZG?olDpCajpqzrHsWSs}v$S?#ici^$!aS$yPR}EKDtHUs2!HDy>7HA%ogzJTQ~c)U z$uyzhEmEYrxs)!!OI_RE_jp6YX?+FP6Md{`O>jJV_q^_EV2PYz^_CCO+Q0SLA(W>af)Ev(xfPdqO3X5T@jS)Zn*Yt%$#C z-Yd3~X3COR*Pi~Wf>`EjLAxAexaFQJioBuuTr0S?aBbsygX=igNJi)iuCH=E&hH2K zj`RH^zCB(Tl9JLv!}#+L9x`mG+~ocOiUH32`6T-e<9}(eQ;tp;{~Jnm{7;qW_?w%B ze9*K4OcpXSFhz*Sz!ae(15<>W3`~hbA_u0(&S+rDJQ_7HMJUj~6roN7Q*Qp$oE2)7 z%OkcPerwrTtX(h2@>Pv*C{E)G`zYjTV2Y5b!W0~#ZNAIS6?|Y%0eB{T>eb1gN||zc zN0VKHH490!1X0AgR7Hk64%vS4{<$8p5OC*oXa!H`4fE8 z+mcbGgTS~^qlW6wz^GxvgP~C)_;JR_vH=vxUe5yQjz4C1gMnuRJB76b0~3Q318d94Zk~ zK-hq`%n=g!?POMX^WbSF(F@~G;2MWUJ7e(8`|Y^oL)7A6wD10^w+(v zp8c!nORXD@W9C}FsO-U@_AN{9Eph@n<@|?rNx_w`#)FBOp=*iV;tLI~sorz@dl+CL z_Qf$M`w8NXAG02Y*J5oz7lb2M_{RZ`;ovXB)*TBNNls$}Xqyo*x5@g-boutFT2IzS6s)!iVS<5QrK&T9d6*z;=6*<}|Qlhi| zq_1R`L?$m(a-qo2X{^;Iad=jKm0c6sU&gfNB7Gn&I50&|d+Eg#Z1*I#mQ;xt;?Mi! zK}F7TE7k(hm)`%BHVY^0#;Z{N1ZBLC8Z2ekq4eUT%0Tvj85G{m*UBlIIfYgdFf<`B zHcRz6fooR#2-xjd=@^5}wVWXu@AidkD>DNF84AcQ!e?=rykUuW&{gQUf)TJ8`M)B6 zAs_fXG+R&jXWQvxF2YmJBMhuP$P8A2Pht=wvx`8+@@@{*-1VYSwl>U~FHU_uwZuOo z8rry&N!S#z{rwIyefP*VM>=&S{;5jM6)4`shjW%FQFwq3jnQ75vi{?Kw-*#(e!$_` z0hseSlv*7PwLHDzrj^bvB0oiF-~S4p7yQ5BIl_S_r*J|y>A4NpvuF`OrQ6OquuY%* z>X|jP@of4N!5^!&grFU&t(y178fy8&r*`Ezd5!LxM6c9tzZ#Jokl~h{g%dTTp-faP zg@HAfl*{IX^FxAO5xuzHhm8+EP$gL8PelWndKCkuR)*}OG@*)v0PAgp+irhzv-V zw*4VH-PIWI*&z%v_1Y1I8G0tm_Z23{Zx@=m0dwGo2#$Dj1g%0*mopcQ#B`;(&=)oD z2vxtj;i4vUY`V-urbCcT9HkAJo!slIezoO2jC_11XVGvdYBFd7c z7VZmd_~I-XM~(9^WiaRZaAs;xIU-5~%xSGA0leaq9Q@#+c@2+=eoW}F>^k+)&zKm) zZ47zGnHVPV6X>7rH*g||J3DV?wyqzU+1dzanovI|+*N|6l{$3@OnnnO#lY2gMy>yt zNi)japI+?UbGW3g81JdqXQ%F|K5={B)YnfKAw*((rHTQ6QXck>)eU7vgo1HznC$i4 zKEf=jF6DNwFWKWGVa9>}gK0|z29xCi*K6LV3@Y#QzsMv;_< zF}rNBql6OUFgWd-pX?5}nuPe(@p0TB2kpo=(u)GA>8VAcUr@Y9$Wp4_U%eu<_ENL7 z5fWc#(|W-vNO>`84(oi7Mou+oi@5?SQ=VEL!s7!gbL}Y}nx%Fd`BE78^{~Glvr86J zTR$|ot$5m1n`?(+xhvLgyi-TbIDJ(+kcyr*b4q3S<)$F>Y_vp-vde?6>9oCF!cpB8l3uOs$&7D!u0uq zQnvV4u~MF~Xns7@T-00~wJyDal~zYLyRC+d*=;lV#6;3i*)r^h$eft2A>w9=P|3Gb zgvH5C5*kbjxP$^^fo%w^Onq}6@0$C1I_C53mD#D8?Q|zq6ekKs*TzR3+zxpgN-``} zH$S64gp@!DB35jWa451;W#hxdfFt@FyH->p1{7xF%ktjeeDX=5e2K*uI@}%qvN(gg zS#X_#7K@Xih9*abJQ_v&-+U>Gab$r#Wuj$F_EN(qrh}sRAx>*G{+VlUDUNIP`HXDy#Zl`B zCwxFa6~2tov?}>Eg@LG=oH%4_pX-T#bCI=wlfz_e^vlX3Gb7S`Y1De0GK3`&&Gfb> z=ump0xB1dWYqMRpEPUdwXa?e}&US8^eX)nZ#HiJ&bqOlm)_iG`wbX5k@G%igt4?st zBgJ;d=Yt7mPvuLMnd<#5)nIDnvC7QCFzub|mVwDR%wtbPC|6C`s?4Q}F0d~C(qLT^ z<%U-uw2Qa9>Znt?09N`?l^13T?ZJhpJ^~AQsfnJ{yneZZ=ee?x)ZHWz60>!oTpAkBnkMvG zd24feaw9}yn9v#g4O}7!LO5Jm`J>jK5v5AcWF8i0>qD9qdP4jw&8W&w_RLPsdid%g zh@+DaOIv&D)>S#HlZINkyd8?vb*kKhP&eeq>>X{%5k&p@4NGuo7bNAt4i`%i51o zc0WEvo(k5p^6O2ZI$&y6-AfjtNS;7 z!LN&;f+6=o`&*BOs3<>0bZLm1kBaDAY}YR5DT`Sf&}3N9R}Hp}Bq>pKNwEEAByk3S z)*Nc`a>Q(^*eYnb0qd zJ1ea&hWFZ6|&~0QOUGFu2ew0sTJ-)EnQmb`|%w?H_sh=Ms0aimg+oErI zowxo3j0SdgyL~d7?`)8QwX^qpW^aFZv4V}>VwWu4mCo)3uk2s015lZdS>wt9b!DHC zc15h`(KC^Tk|Tajb`dH&$^_!bMn<)7xSh}X`BjRnc?jOBRm;kHJwqjZ9#DMjVeRVZ z^Q3`g=1nM62HOvjjVMxrKk^5=@A&V#n~5zX)Tu0NSLP}K+hq2iojg(Na{DpKP7X0* zT;M!*5g7da)I^re@H};gRd)LFFY`;!N7>>AWIZ*n8()KFTfdvpes0e8VHX>RN{Zkr zWX?v{HGu7qEDO)BQ=0C)Kz?ziR9j}dgiF4Z&ES)oKXbY*1}wzdcP2Sh!6tJe4;02( zbadlmSs5{eWbQ<)%sIk#iBIrs4GN_B(fFMf;7@Kig*MneYQeq>y%ER@Q)I}>70LZs zUCxCvxWshG37v>GXE1d}ZGW&W#hbzmM6FpTKH+UvW@9gXnEK`n@fdPyC0;60Pz%og z87-||8N!Hl77dW~NolpTnAQC&+5!rln>Qa_@LZ+5*jpDQU>Nvr6yTjJG zzbN)>mOWXWL{0va?LfYuhl)StdEyIl!f=ZTE#ZB`i>aeSeWL%?mZ>So(b$x;yrD4uf-#cO`U4ywUpt^`cf8?g zBIbO*8J5V>;==k|FxFh{uY8XXl%{9giw{-5*fJb9*T-)E^rm`h_dt%}^xyPPO4C4T z!aVtrw0b!Lbca;>4|>=VxmQsHb7g!%+ey^qVu7TXhuQB)c?@|g;&MCM>0k`smiPYR zUyGodWZ`-8=&b|b0|P2MhG=T}gFUq`OMIyf_h)J!7IAQ<_Blop57Z(-oqbB`b&vo3sZMz$tNQz_d}gwrhs0t_b=Hua zu0xG+5-A>ghC8~%soL&z-K5-)17^|&(ab@FCEcx_CFOir%s1(SxqUMwr;Nieq*uD0 ztp@FSt7LGf@7(n4Pgu{_jpBg$@HB5|*AYn#>^dr6CA*IC#f!1yd^cIA&XSoRTa_`{ zr}hIX7k3G7EkETC$Gcc2Aql_iJjpB)!S=BT+NwH#PJf7W()mliUn zaZGmbx{Er z?;6~r<#_ulV@s(cYW-l0tOtH|!6rLMh2i1f*-f@H-q{yH36T~4(0aC_6$MZXS{uJX(p!j%as_5jgURkNlkeTvVUXNI5x-IXs zeXu=$Z7F4?AM8-nzQ&n185a#)1<+Lw%T^74H$N=$G%t@>FZ@_U17&?fo3D;o&*=}r z@8TZD@2SJNwx{&oG!6=Ff2B)$f_(RXX`ll7W^p%flLgMj}OFz)Y~p< zx?t)R_hAYiGx;&5axHHYt>?r}4S?)u%_w|$OIV6Kai;ilk4%GfHX@f}zn$dcJ`s1g}N z#CqegB9`x?l>}H-Qf$^9D((qeyGS;d95QPUQcvaH*~NR<(m!3im(QccJ$zdalLL<_ ziQUgB5vs^;mrmu0V5bsYTHe#CIn3IvDNVC~dri&XTpEcT0H`VBh;_aC0D`x0Bdgyk zWGL9y#-~Qa#s5LwdP^pf|cc2}uS!{GfGXZ_*}R2hyPqG8Sc#n$W% zLJmTSoh>q3;{-u{S;csXop(tB?3+&Tmy;W;Vv`lFGF|5n$I6sSy>X_J5`t;U-Wd&cFzqy%eUOrb(;Sh#~`UHGIpJ~;V_FWA0I(C6C~ z5G`}BdG|!VhwcfsJxMBV@W!e$!Lm%JJeR*rr{s{oPrnoA9f!6A+y6<5P5OYhK>s(q z@EQIDyGfQ^`b7077`48`iY}yZEa^E?_{MMTIqP^9eB4~}gxT;on3`%hBxstK4`?g# zFQ~m3_hNy6!CjsjcADZ}u=5g~9p7;TUd~Ig8^~k*>g$q)QfY`o5&~ zmG#}6!=depcRlgT>=*2pi(eeslYcd9H~4WW;9M=Byl+Bbh*c-Ue#zj~3?aKmf`I?S zMv-Os^OXvWRP7ViPcg7H(Rw&4H0;+r&ccXUyo`S#7%JV8Fgrkss@j+1=P|*P-KF8| zQ?~-->{Bs5V@Eajm72S(Z#;CZ(8(YnHi#=-k9xCH*6mVOQiyu|oT{YIb7M^G6lFA7 z_m0$dA=VA~2gB6G2XQN0wabwWGfiQ(KuItyoFf7`E7Q3pt7lkr}O0~x2dl8rK-bHj)P-VqDaCD0h`6cgYqzI zJd7bd^_cHxjhFFlVkaI7;dqQlgSGI|%CZ<#2f%3$0&0SiuyH%O7>GR) zj!gjq5$hd>C;OBXN<&=UPkzc@^7$IG^Z7b%`hD>s$$r1MX{#_`o3%Dq;+E0M;K*yF-i9Mk z)7eP8K(}D~YTj{_X7FdN7M8L&w=X4~h3rn85-6z(wo62SNErW6TA^l|DizkgC3-bc zM|Ip9V@aCD1k*sEVk0KTLv4=>C6t@HbaYfr2mgFnDmimejIP4rbf+j8hVhTMmBt9O zTc!jdeok!tV4=H%hbwhv%j`1d^}ljZqV_EuZOsq01FHk@ekXn#9{0kD-(Cj}cN4ae zMlL2k+hbrv!+z6vo_%635(Cec`(#hh_IiAzvz$F|f+jq#wff3U4Ha$n*h|WJ@LO!+ z2%6$>|Hc(mLG)roPboD*OAX-KbFZ{(?Kk(nQ@S*!FE|boNTY_AN4U-BVbpH+)gW z71T2^_PEw_C-ul$c`k#Rt7+S7PE8QCPFc)TvuCDfPs!;0lzTm)RHrQTnb}JLhr5w7 zE_cAV88Tz9juU8)_!e00S6D`@<%*vQ$u8cE0Ko4|%z^0#BtZq!wFhBf-=f7~Yvz}n z1{)J&FKdHe9QqjzE^!(R)q`8c#jFi^Ba)jLBXenUa*g6V`;P;M1OIg76Qr%+fajuE zn^qa6%B=C0^)-c_<1t8yS^9ttD55=yh{(ZGaqTnr5k*t+J7_$Qfk`c_mDM{P5*53Z zLL=5<9d)L?@w387bEi{(ZqnFII5_0=Nppr%wRle+Q1c593+6Zzpm#6R_y09PW`6br zF~*tOZvbt8!WZ+KoXYovL|bOhd3$6MEp#VQZNVhk!U=>u`j-uuL|@eDAnWj%IXqkV zstrDT#itC*;l;1Z6;K`vK`~^CoUbn{jZCmLioNBN`8vVPi4f!nDViL%mTEGx1%EvZ z>SfR}+)j_Y-QW6&tjg;U7RUonABO-kgU5jS&O8+_NkaN|OV?R6T4mzcg0)~9d^D)8 zuLj!(32eH9cW24h5};(HhQZ`}{3@UTk5Qdd@{63IRH=}{m=MV-Xr*5p$YCBpTxAp7 z-VO?|$;;=7$Le%`lAy!^Dd=@$R>8|P`m&u~R#5FEyIPzN*IMQ)$vs7>hQqviVc$@* z;mN+U_#mOVB(}gQzh4%ChQk!3uO#=B=nL_YD^{WrWy?;U_@zBkVQ5(YyX0pvdp^*6 zQrg?_R_Zo?YIeZv6tH2u?a&3ATpYO38%jMU`*<_FQbig&=oh0pp)s@A?YVwx1_VRPa-rdB;y?1@(S{8A>$KcH|SzF z9z=l+V?q?HcTu+?4YJb{p6AL6QilmtxnC2TW>65;?`G@pO-J<6#e_MBjx2P=|dk83Vg;H zg)iFgA@PU)E~%;w84IgA+Ni;(t4e;J<`~zQ$u?en$lPzfZzdCRTe)Z4uZ!y|Mn)&L zzrN{g*>M`>vFDT$U5UU*R?%tXQ$qe#n*PeJS?K`7-|Lud)iI4>d0@otn8OVm<6 zQyeJ}Bz&DwHDtFf))9zojCoQBFd(X)!eesd{@ zo0WQ&Wp>EcC)H3cV?|s{XGCj~yY#>%KE3s0PmO351?0=z7pzB3K2=+m{>CI=3rqHq zi41SJ5Z~Ie);*F)VSPpBzVwp7Vj%^m(5KNk3TZhmJm`lEiRfMJA%KpFUTbZCB(hnsyI={=NtCWY39 zyrLb@;*Cy9MkiBHpn6~Y%c#Cq9x{g%?-!rK$`IDq$gPldaqm-)>g9ZtEK~Jivp$fj zzrifcXg;C-G;FJ6gbP~fC%BNKq>zf@S5Sz78|H#vfD%U})i1@xZecnr{hd`LirmUU z@Q_#zFi-LZ-Z{+4<9=av_IX|)u_54jR(c`_d66jNU=HQnFJ6L>x3An0I>(14Y=N@@ z4Hu(h@k(^9SQ?Gu!?>oZwT$k^FELvKeD_r*cF1p!+3M$up~w79pFAt6oT5@o-{9O+ zVax*P`?sWz3n^ViYebOOd^JwLzI}gzBH-J+y`|2JR#~tOttF9*hOPMb95)&9VfHh_ z>JtYNS4W^*xCPcc}7=w$p>B`Mngl36f>M06Xk^AqxxJikCG#~Q-muXattBIG|6!&pF?)>?sBxe`3!Q%DU*c*9=j>V zioUw$YP$TyeYq~jueZAtKbP|l?QO?*-QEsyd)rqc=lKtHk}Nm<~ErHboK)H4~;%J(CUQENf2h|-l;h@IRP-!;W2IHEk;)gNcJl|JU;pWnql z3GsOB9&pwsSH@Y*Ly*@MBm~&kzRGVI>VC|1DnDs5f17UdZYiFt>U95A{qgN%Z@H(5 zz!>}Iy1>C2FSMwx`r|d$O?GQ;TDjFrqw)wU{i*fao_B>_Bu-w9iNbvGacq2m1QcSr z-W#0Pzhw}8pnRP_b&uxTkLxSyx0;6$|4Nz*c8aCc`OQP3)`WtDvT)Q27W~%OQq?Ec zjtXuo4O_<_aZ4;&Sbbt$U*(B9RZtyZqhOTif*&D@;xFLUK(Zd+RF>32Hh}&({u{4& zVd|SbwOJIm%#Qs+Hu_h!gk}kgxoNN>i!2>gj~=Ll*qk}FTVvW(bxdLPT)6^eP+eK7 z9%}*X;?rl{3ki$|s~!_UQ+(2_$^6`KPP$_&FNZBTW!}R6%(r<-cFRj_g$WWQ#d@nA zBk+GCtkWt%a1Xv>Ys!o{rQEE$&C%er)^~ZUg;>j?6>(iIH!g@;K0RO)?tDykn{+02 zs92;Rr`SOBD)|{z=9#>+qB!kF0{fqHc&)aes1M})Wc4|nw+a@?wqjfq)}DIKKf z0ZS2HHIw5@;rQxe#@We@OG|Ln`jjL<28XM_Iv_~=?+CrjNNh{dOgv)^M$9@BS6L-| zn+wBgyB9{p(0(TnGCQ}*CpsC$!L}oSC%tfeW4cqeD{4vn|Izj~;89iA0`^QYB$F^O z1B4$1H7fps6~#(I5EEb${0SrkCf+Kbt)5Sf!P=XF9Z|%7uW)eDB)(%w&Sze!b84e0iS9IcNW_z4zK{uf6u# zYlXu@OK{}(T8XUVXimG0OUzbpf$@bz?VT8+Co;1#Y(K4{eG>skDVN`UUl+vq^svdKynyafyDiCRr zODALyBS6w*cj^Na>4jT(b)c!eQ^-uxEg90+J??UOK)o7?r|iUitAVyr^lHP;sOG-o zb(&k~kBui4b{U<5+(`dj3Dt~slFO>SGj6Vi@L2A+*)C7h!+-G2Q^n3yLghQURn`(0 zo_j)fwjGyUoRk@4`BoA8JHB=tcHN4{B&!b1Sb(_(s2m&^p|9z<(IrHIfj__ zt;Xf%R^bh~DBo*t09>~g7C4s`bEd?YN@8*b&ei3PZj%S_%Oko~xf%Ay9^s?K&rquK z13OjaP&|M8I%2Haa7(G#?MK>XpV&~ySz~~HWz86BmGQz%Vj~nez3S`o<-gBHtiIY; zWlAFdx;OZWy|(&nQ6RWu`~u967sW$Z9Sy`oWp)E?p`6rROeQ&Ny!mwqom{;*9JW=T z`VUKjajE~11j7VC(H61iW&y+!H#1?&5jF#`ZL%|HH>nVvVOGHGp3;*#o$Q&XAEk?O zVezf>;-h^2 zzLS~o6(qpF%KK79AT=*n%Fz5$Zp|-cpSmHVO93NGq?FrKDcj!DrHE<0EG!NP_me*u+wedg_a3J zVkV2tZ5s#yyDyT8z0KiWz-^zN%QZ?l+(~w*R3t3yPe-Njy^`$xitN~r=_)2tCzCl? z*q;h9nk}B@@SBoycV0>=a#G4nB;{mDS=1apC@H_2P3dp{2GgMnY#W@Kdy{yDkRCcD z>Ay6P{^uk$x86@K$k6xsuexi5>aKCByK26cWg4E&#gzkMfZb?MUf)H9NGxU@yoYwZ6XNEpw8KRj==zr8U# z+QXt(Uks1rjJ7h}8_h;WSjA-~n4Oqau3Zkbh=(GYMpxA?_s6cL(#o$ZVjY{xdvEP+ z?$pJ+Bo!T}V%{WL{!$}|Ft>`Df-ADLWvIZ~iK>Tv6ayF(%?fgjXgxI99W02}I?;Mi z!Cb0dC)$OXr$rB(`^#ao8w-MNbU7%i$zJz2B+F#GPpzZnsmJL{-4(83bj5?Y;zJI} zX2IEdk&JC*4))^;EE=b-4(OtX#~1bCAMCrT_ISre(#5|aT&|PJ-;Pkn6*oJDgk2?d zDHIAwU6XTl4U=^;ctUTT&TSbbt(_=IN^(h>og``vyp{y^?f;Zj82WZt_@ygpU0dr3 ziEi-U-{ar3n;rJwxD*D79&|~{-@Xa(uB{1VLu{eRMKo;bU-52S*GmD;PKFEG{t8X_e0I@g6P(2RSOco(OiSO zflMuK{2`@D8$|3$DH6th`ey{GlLUY4i&9eU4Q_KIgQ8xdK$`jzC^Tc3QG^^4{t?89 zR+JhZ_)gyMlpXOBy(4aBL61xl@lK$(cCI^F+dyu;wQ*Pof4fXDB3-F9M48*#B}HE1 zH7(}7j}cUm>`+m>rkkyzb89`4NtCy*iEisA)MZp>S&(YI2n;noF{q=AvozB)Br+y^ zTd6ERu|r@Pr2Y9<6?fz0$9I7#OrF9qWbfO3bX-9spmy3Y%iAZ)Hx9KQQ-xGh2p!*R zs?B+`Ew$i-ME{Z7l0PwCcT z)vasL`e}|^(jE3^-p%4xYzLX!*4(MK^BZ;&S+P#!3jWwb>Rq@qe=MQiWjC!io0dKR z>*nf1!KxL}ZBG#IGFqZrFB4>mTpT{2+IW*f39mCeYp(t1m`n=?6mxSqDWywW_Ryt2 zkdgZkT*5>kZ|>+;bax>MRdCWu>KSL3X#YkbO|H z_69;^BKc!~;s#%C7l~X-VMV1Y5?Gq7D#AZKjp z#zCkVIn&&FD|1b(d93kdxV|<7O9|Mu(1|BHC>|M~EP_mlkzV}>=tr46tl=D-i79?h zRZnD$co^#Kq2IVw#%_=8Bm60MeFH9IxVff``zKD>@)VuKVm(?X9Xb(-aFTH%vyxN4 zCi_=^m98kuNuo0=?^J@8Cj0BQ#Q5^NFEfpe=S%be;cTWpQCZtyT%dNCXX_m%Tuzhy zBYKDg>#u}R5> zrUiEYrP+0UvKHpP(K4hd{4%H0_8*AyZ>kr|F|lrS!os=s(k1JAZp8e;k|*6f1_Qu; zoFgl>k@s3r+3048Z>h}|o0fR-)Fb?qdXxP-CmMz?yjQCGViuCzO?~2>^HJmiy&Y;+ z*uO7U1;Hj?;qd8^NlN#m+1`*+C9{;Dm9LWWOBL+vR0T-iE#4VEjLb%k7p_t6r9>uS zFV!{ViD;=G=rV@a{K}Gxi$S7+gblkP&1;*BTvX9sF2y0^)G~TjD1>MGL zVUO|!7{Z_ly11ZWta|~vqv4wnI-)5mCocAgdJ6cayo#vjMeZGlJYU=6Krk@r6{I02 z8bs0Jb30CgE@g~RQ)Tdkl7O z(;jp(d9l8uPN(m_P@J{gJvrWbf+E)6Cu>V*JuZ2-2=U1&N%mQb4r9|l6{Gm*c9TTd z-E$Nuow)REXn;m86}I3U{uzs{?}+NTwe#E#=R#KGTI(B1RsW@QwRN4>YVxHkKANaB zmuS4zu@Fd^9wRWs)aV{Kk3|utr+1xNV$Q`^Wd=t-!4p+`{2QVGwsr_d-7CLhb!h!$ zFJ_#+^Gq#G|G+D%%H;?oa0YSJr278xi%#4bUh8c;wuk9*#}dsFxQs=b7jPNZXIYOW z+yi)2iJ&h!C>Wr2j!W>AB2reYaA^)GS-X(xkq-9{-4&VCY~Q|INEK$V)L2AYhq~Y{ zI;9v5yW8IXj+ExTF*{y^$&=6<=%W>gK08HL8EgG6{u}CIy5l?WaN99;+Ayx|nBt2| zqFq`xG+HfIi+4u5l<-J>MT-5K?h$q-O9v@m*}oQz4(87Z1$|MRD(gh3jd$C{s5aP( zhAJpUk}aZ`XGKKr;I6;@zXh-knPjQ&@DGN=I1?Ksw*lWe<@PH z&k)b_JR`bIfg70<_7WGeOAlr#;u(0)*rs5QTo5i-k&CmD#^|OH;3|=KKei3%LdqY_ z39Cq7(Fu<&26=nY{LigCR)O>jvd+bLC92bHYgiEEkf@+lO$MoYF{n(=)bJU}dOr`ur@EgbPEPm(nlWKJN z$?6Hx#ANjp{V11*f`fST5K4evF%iZBnph4S8FiF`+ybd+pQ%9c}N%!W%4gf54we)3tS-WmC+Z857UXwOnOCk*X$}Y{%aq zvez?(8zL=YeF@+>4*$nW5#hiym&ZdBWrI0JYoFoJ>c^{?9^%mI5i;U~hGJYP;T57+ zml{`^Ys$rk&6qxcg5w(}&8Qe2XZcnN)+Pb)Ohsx7a2 zb#*Cvl{@dieuDMtf(HBUBck`sHXRj@Ky-`l!Hc3>RL>fxVWdiRx*ZU z8W+h3rIoUZM*+L&gxFS4!xCGOe~33@SmZ6XNRn3#9@&RQ*32l4+@*{c+&~9Zwn;av zz7`xmqp&;PCSiE%YsfsckhdHcm>w54DJ7}mqrBxQ^!eLirvVh#h?2+ps`?+7a@QAk zdbq&g&8W^!&4adclxN)|aWdW;Dal$dU)DX6tJmWmmQk^%gqD76D0l+?(xDZd((lH3 znV(BpnV(BpEd}7;8v}Ukk6l5ZQGHTXK+Q7Zu!Vvw7zCx`Qa|AzfyD%-p5R?#ViJ=L z+`zl)#Q?pC8#9GXsWw9MMuK4Kccoeg&RRYdEd<^L!PHRjE>){{Rm(yW3r~_(xBZ&z z(+>*^f)&pTQC4<%$7LG}7rO&delPNCUg8d1!bJN9&*V~f;7xv6k_0_iAN1lv&@-cQ z&F~pDJZsk!O}=HukX0UWnRyEN68a+hpF~F(CWG@#k1RW$M8^g`m%vsmPW_FbZ0T8g z^sGe7u|0VMP@OKx-BRQa?$F2Nh5dHnIoVBL$XHq^v$A&}T28ME>%E0LM8U591Xgp^0Sc#qG+S{gRv+3lgRD4v+vnfxrD>isgE6WR?88Q%<>+tw=^$tYmi$k&b|S@yFgF zAzNC1I}OJPuf_lnOO2USGk`8(8g74xAX|2_#aUb_GsThNf07%*B^z2rxRQlJ=d$H7 zblQ9|4FHiGnw6;U$AaRCMyzKGRCrYFR&a3<#F!6Ek-6FY{{o)dKNg<$<&0pm5JW@B zmscfYq{gROSZcPqvd8vWQHlMYr4Sk@V_3Om|2P6+}r0Sjr3B_XU z^agtgd@@)LraaIC811{2Q4eLPL!0Rc44CP7P9Xflbb$~>^?kC6Uj~FqS6IL+_+55a zcLq>~cS-V}l3eXg07_2J|5QW%t*Fd6pyFoSjz%gACL6>gJ)rCb6#Ugor$gn- zxiJH!DIGZYAx#$DJzVy!Y0@m5`!$^btCq$k+M2!H>J);;IX9;{JxX+_+pvJ$WIz0C zfw;`-$EXVn zH%zB<*UHeePvI?!4K-sViX7?9k^)@-JOLAKZ4&_(>W!cQ-h~gvTlaA-HXb|(b0qqn za#ys2&TF#IK@gybtUtC7R@my0j6+=2NDlk`=2n6<2tVpZM)C$gSp8t=h98p|Fc`c? zcuNHL$ho9}&~mSgVLiHaG}-KLG^WM&W97l$ma&iL~^q660AH+5TS9#^Dx($>gC zb4Mn==z#f~OnmX1{?73lRPL9b#v7fRlJjq#iQq1vZf;5jWwYzDlN?o01=z)|g6<$y z_yxZV)`zc>G1x~3Pu;Ekf25w4GFsU+9z+-XAS_#?q>jo{@6+SaZPfrQ_s-=OkGB!b z3E3CzAw=$QBc`wDkaNFA#LZ2d{DF{O`;A{a(E<0pa+v2Qro8EwlbVbVD*qnh;TtCdT!Fq=Y&nQGDZ{tYeJ zCpZA*Sp!^c8Hs9Q>nD1j`yQ|l!@XGW^YzC9N| z<Ne}Jr49xbhrJII^*@FXX|RTsfhD)#S}?3>GKn+^SDUT-4Jf4j3#^M zpJZN%{ZkHPisQx1C3G-q7k1>sx^6~TV)!y9%8Q3 zqza`ktTmwomv?a8aA*%K18s0cCN?ez?^EcvMsP#W55?|&YI0C;8WluaPr4$vhFz+` zA<`vgyL&ri`|0M)H&MT*(I4DN7D#h7t45RkCv_mn?mS~maIpIgxhJCD}+eFp7;uoF6Nq+H+_k@O}6o_NZ8!A3&sZB z2V%mV(jvWDy6x|ioU~T!;U@bbcGnIenomBVha-5lZHqD+1c@T({FSK@gC+FG=FmwM zrkt8a=Bv@0AAVvGED!!F2g@VjGS!hW9kgBgmwJIX-2qUkyIDd3LS9$!8g0#B1B6R? z0>3}@vZU4@NY4H3P;PV?@#xp$3g0gsuT>!J-%IJrU2Zn3y4eaXPaVQ~XKp=dvg>!N zMNx514qwz{SExV~&uyG*!O-)Eg8vTK+E7qzV&5|rP9}02T%1wxziYIGe0BsWXCS0s`I8V&1Yy( zN6BMoihd4}q^5s7DK(Ypn!uwZH9#e|DwfIkw9|?`suh1y>wz!76)J}eS-wq@uxms~ zV8AK~hjcH4WNv!_VCe}Uoz-iqqlMf7w1Wq&RHAAC37oDP*t^J^;umj*UsT6w=60Lf z3yib4HvS%O#e><3rAWbxv`RGv}O4kkr3O+*CH121zx{8pL{c|Gt zaD)BL1qG~}52I)lSK;>WbU#J6BgSH1#Wk39PwO|PmTcaad2NhPs~M$ZT6$+%ZX=_G8n`7R|OKdsPUQ2!Xf22o#ZUq#T3lj$hOn5SM*J=Ol^<^S*YIi)gT z)I%bme%U9z&b&9qhU_n?Qw;eiMKJIxis5P)^98VspT0VPVcKHrN!8XP2C{8+;8?lX z2cwIQ;%9#bQ?nRPx8C%P6%VQlz)h7)CK&T7m-x7y`(PzYR-{Hh4NpsH`s}dmjuPu` zhLZ>fj(NGTd|5lQp5+r0t;U!Z%$`@Dr2uNSHs+|l2epa+g9ZE*V zG~4HoR2@i}CCxSrgY;&|4y>hnR-%~mx%VJ1E5q5YyDeE8mZoN#PS@Qg-?H`0$BisL z*K@q0Ew(1MNZXHalb3U>wKH6aRWrDi%&f8Z&dLf8##a1EquPl z{kfeT9N@q<2xW;}Ua{_C`oy@nZJQ`O>?*^aWf$YswVZ$K?&9i-a>%Myob2Tp+5G2bpIImJzw}uXsdwwXEgwvT1a4@6SzkO4t7vQev+{H8j?3N#DYg%56<#C&<=D z=`}&!yxg{4-<(`O-1;4MCEE{xHS2HZ9Q6=1Qr)MG9=pjXswQXplIXE>jKaF~dF_8U z&PEy0!jV_bfDCx?%Z%T(*qfcDQUX!j*6D zb82SNi%J$uWU#;RSYhj-!qz@zD1Nl^*0VW}YRZg|_wYYQ3RErwr0@Mp0abIzxz1fM< z>z{Pq)ZJ~pGN6_7Dk5XCC@@MkGOnl$tCwR8JQ^4&s|UQ5@x}hJ+lmUQMI0(~g)JUS zk8Jc>GL7~{A=#spYYPNwyf~6lvND_mc2fzArL{$}TQ8x*Fkt=->EWaoxyw@3=f4LX zQqi2WUN!$F?wAUzigCxZ6D@2H0k~s2ej;+!`oihO{usPJr*|JlKCynbdwL!BD7LGB zlaVvl&n}o=$CVT|zNE-ReCuZyPOszs$F~W9C`MB^%VAD=<$x} zUGuL)TvR#BjZF#V(kmJFZNljCxFF&&q`)|*Tv;jSq0?CYsi5V8Bf~gXbgH|A%|}r`+ho^%USBky&hAQA@w?64ZV_T&Sk(3GZU47C7fPPU z|1FP*{hnQ|@`(K8--how$=CjWtE*G;Z1}(AiQKSdBkBLm{*PRo8*nucslRa$7M2cS zXz!tOG-|Z}SEjMs(Txza*!P;EF%iBX1`QjpAt4q{wM$?4W|2PY~EOsoX)% z@2Fz3$jNol3qVf{o;^&3h~n%%X6DDEyHoe1T-_Vj-RTbekl&WO+<^!AeUIOF_;wB9 z4?n2<_hi?1{6TT*YE7A%X_=U_^`SX!zEvsz#Kr2{M(SCcfW1+FJ3j0sk28< zon1V#2V|T}JkMtjKNrR`KK_r0|20l>xcO6(y^qf>@tmUwJzW$~EE;6E@U3R+_<#=; zv$tTq>PO)la{%+WWKDQPt^`KA}169C*cNm$M4>7HJRn=H2Be z$n`tv6vs~eBD|lv89l(AgB<};8wHyWm2R+W6gdS%8{16N+x7bVuX5g(0m_>CD= z196y(dTF=^%#oK&($QD|QIgG081zPT3S=QH| zAl*_-s+`X9unhvrI`THhf^oBp2o^+`+$Bl%A){=G+NxmXz#r{V_GZ-jhda8%*4KqI z!{(5(mgL`r@s_YmEm4+;1i63DNoa$;C>vz_qw2lLC#+XimSVc%(nM_r&qit>>O7NP zM0v5vUhkIN@Z*u;&JH(O2XLw}td4Y{jED7#NQ@uhi{2~Cju65EX|`Gt;353&Q4*-) z(Tt?4dPI5oqHG2J*k6g(5L&O;PbotX0ye0qp#E+)#P~;xTc1jKbH)6L1x~h4 zaeZ{=)yCZ1kesPB>tskybLN9HGDETvGBQl#x^cO2xi%wnK=yOoQ&F>^f`k05)~d`$ z&0TZX!|D=hQ1M^|NE0ba7V|;p2738F-@}mIfs7W^V<5xpM@$c}uD`~*-sqm*;H>N2 z1z1lwIJKK~z1!TyrEn~<*2%z6weD5!t9C~&`Zw1$qu^;bwOU2dF4?>z3JKZw@k}pK zEKI})2T>19*HFm?@E60Sza&v9(>Ps8=mtYFdwqN`%h3>?GV?0qm4M(Af7@2=s)Q`t^~9xj<;HJj|o3BQs~m# zT~eM`4L6IExkXfMU2D(AB=iV0> zan75J5pqCvz0RR`mg1M%zo{ch_lVuVKnfuX8yLK;8P{{A+)b7tA^S9^61FBR2HSdt zI2q%PbO;G`NBklCLGVcMdygatyJ#>LU{=uLXJ?aCW`wna7)4Ya_%wf;?08HH<1g9q zr1RF>@k@ELNAX{P@d6B9>q7R|hUvEEipno9H$FI_d5!V8P4)WK`qFfEd~kDKrgSW< zYH`cOlxgO)5#fC&sY5nKhXA%LJsJjD1wX8U*Q;Q>)3J`w>m?!En+J)SUm_eqdZo5h zR>K6=n=`HIa;=Txlr;lRz1f~gS=PREkgYzGW*BmQJFU(;yy@XeU^Q5+#Je<6J6I-CJbJ|1U}Yd$LPKh5QBwtb!xRVecDUJi`WYfz7orDM)CUv;XRP=Ci@OxVW;j8MaK>o0!wTWEnT9z zs;J5S!%%0?vS0yEcp*3~LW?PskR4(__aO=TNj8196%M}S#;tQ7kLY1B! z--hs9HCy&c13(=?g`r}&r#V|{77GWh?@G326=yaJ?b9Mihp2BBnwDHA;qs?Llk2jM z)<8}!0|C#t@C=3r6_!^JA!iAKOa__erJUnrt?m@70mX@CD15UTP%-fJkpaa7=l7M6 zPCRr;F$3TVzZrf(EuUVy510n}uTc8$b|)WN(K?gUf6a+)-=Y-^cF2DGQsgmC_h8Ua zcA_4-gHx9#m!dDoGqu*Hwzv*dTfFHsh4HZ_n6%^ z4dD|A+=QfUA{sGRDEzJCT<_flRaTk>BK1*(7;F_AbsX1EUM`fkFH3m?%5{CVb9MX8 zR^R+cv2tZ2BQC@67x)J7AZx@iugid+^pn(@QWS9<;2^fkBl->YG^fV~q%tA<>vP&R6!bXdTvITnwk@PWH zlFp3zrRFyjLEpusYPR3U^<>v6IH|_NCnN@quVWW$&M;&>sjltx7BnlKe;m6C z-;9!o7cEu~im=%ohV6*?RigK&X7v7JG$}`rau}MLCF|!*QwFU5YG&Xp+h#T`tXbfX z#ek!2jc4J)>zj<#y{4=f?!u$#ubG))#wU^2Ej{sU6sRfBa#s}?A+yILzQEH+p4Pj8 zb$Wpj>_v%9WlM>S+{_dk7gBsp)Ah#1{>`KuDEE`gW z{0aLQ^i|GYZk$=UA|i*;^r=upC2wuEw{ZH7yfs~!jR-Z!N#pFB<122pzvVRNYw@bifx6|uW`j`XcIUPgB-ta+i z7I=U06DiZD2uKzwdqDk<5J~czhw}Y127PM((rjhz6I+V305#?pQM9co2=}Xbu>-v) zs*u|s7iBid8m&hqQEw0UMs3V8SlCOGBzb2GpT0xO+kstc66l@Hjk%poqmm~ErjKy; zMGfxhjj}K5EOzsz?C)#8 z$}*HH$1j~6=Gt)_A=rO8qNaQ<`Ug(5{dZ+)MHyaI`4UbPs<#4w&Iql^*j3wf0JFV zi_o{y%{BB4n~|-b7GOO(uz6#m-mA1&SrB_ZL*pSnq7)VTE)Ypi979O@BJV;#;7%~j zP?2cJn8$tE<$7k~1A8`#BTV#hAlm6q%bOP_C4GauiGEsop1egM!s$8kb{wjmo-S`w z5CWyA$lEuL^LD-*nxJGt%QlVy`f`33^Shtl75rxMyNlmkehc{B#BUkD<@_W( ze?-)L_9oR$?F-?adZTi%$wdSwk&cI)#ye%Wa^cxB1V3)a%$`4d^#w8`JqNr2VT;gK zRl4y$8!l5wgOgLz5AsjSeF4sqdV_}$T-6k^U9BmQe{TMvTif-a_Y3EHenjFLcjv<48D{MJOXxK{!EXJco{}vSG>j73 z&1su`of9$8Ue%sJUVD%&N`u(b_-vmZr(8d%_IP2xSYG|x+=<1UY>I2psYmpJ)ZRgc zhMI6SA}a1i*c&j}#W=$=d~*FL|E3oc_>14&mXhegU0{U=kxZ!VScY7y=5-E*V?C!9 zmu72cDb=p@Xj~P4!uTW!FC#QEc{a7N@YZ{&TUBU$o$%Fo0Okz1A1A=>E|yx2ESeU= zV`s-so(ldMOmEb&g+uU8Jpz57x<7o9eBo~aR`?nIHO7s@Q}Ge8D{j0TH@Lip?Cb!f z02iTqYtOPsxn#2R=%zG<-%a&}5#J^QVmQLT0q4s)U@4GTT;wd6p z+~H@k8SU}JlF908l6+X9MwmLpYVC6e4~;q*Z)K;qOMsBx5TD)$X~3JR{cw;zIa-yA zDc0gc)*epvv5%}BNwR~T^eTKQ&Lm$@L$O!o!Pj`7(cVNq`lFC6^;o?2%3n|tqPAA_$^4uuCp}-|U;W+d6gNN;=)Onwzc?0<;T(hkr#VF_z<#8QiZ4Dis$Zts2~fbUyIb0T z;w_%On0xzFSvWb<#+33n^0hPUw8u4Ts)|;9vO)WDHoTIl4|*=?j&tLxe7Q3j*tb z$Syd}Ym~d;N+6wCS(e=Z!Jr_epWHk(Q@Lis%CXBfTD88+6I4j8J|Ot>SRSxE;t zb`O_2l0)Iys7cCiZYc*jMvt3P3hBpCIenz>C!q}_60}c|kQ-wx7wE1jl|JZ21abIM z*_)#zbHv&ipQa^eYW*q`elkRGp-jf>3dqzcr+7k**v`44m6vkKlo$Lh=#}YyRvR1p zkJ62jXDpGzhs0L}v^#AvimQCl#*3{&D=MW`Gay-eW8!1RC{?g3My%!P2Ky;$aEKd9 zQH8GAV6WH_TDJn=fY?qQ4r#>Db5AB7McSR$Qs z4JE10f%IbgRCP`tofElC1Akb08J?Ps9-f68$8o|#b0@h@?%lN?mPszOJ2Dg?w#eq! zKj)uvZzhYkxsF+)w#I6dHNS*?kCw?`r#P8)*<10G12mL0TK13CwJnny>>p$Ujdzi| zI;gJKJ;R&T@!@vEiK&@}uxFg`Fx{A5eOu^PWeP~bJAKp-6^jH;-hr+;7K_3l=?Zg zklu2ecX0}RR=hM><6-PvR)J&nLv>DOmM?xS8&>M~;hGp?RKP_LSG>j>|FVa#kygQy z_*_peZ7JoF3{yJUP%LCn2pvH=Dp@WdA3kf5FC;32j|v1BAE!NzaBG&gYK$>9Uc?v= ziPw746RlZZZJq>YY1XwKK(Vg%TC=28DuGz*#*|xTp3nRWEh~?YNY2tNb1xaxv>IQ$ zk*0A48j$0&ym9O$IIuT3poYAe8U=gfDFIngv}%LKFP~TxYvEK(9opVPQB~6b9Gl|6 zRVRSg<^euW0gm+$4pRhh5(wa#E0Ms+wrY>#=E%{=9;Ap3Y0J#_EzM%D!WYg5g1%&p zY{g`B^ra7HNCz!uK3kWjUGw7hUx77Zt!v;6FQF%R85;GaYx zU+`h6uEBPn16Xi`P8k7K7mrBl>vjOm%^wq1k?eHzffYC#t0O z?MwBxH-~>+4f9I_c?-VGzePS!s%n;Z#R#i_O;o2hQ;?bE@o(xuI4E1+T;^PVav5Vd zLwRXSdCuH~!rI|W(V7>sNIqK6NS5>AjB6Ujat~Hzs;hR~F+MS4WYzJNdzum01@vmg zMC!phH1=RfHJll{6h~Q^THwe(5e8oDsUU_=2Ky))?u;WHF0$zBz~Smg5au}B4M)^% zr%HtG$l8J_t=1D_d8D=9g#j$?YuESndb}{XeZmHvazaapO2{cyUv62*-owxK3Gg`H zj>0u%LlhnVimp%hn~KMXso_=eEpGdDwYGa2?8f|bgUTx-Jw;Km*B-B^p3<$BGz0Z< zBoyAbndaJF3R0WjK(G5$361VA%2J)Ax{Ol)Rd+p$bm{-M?h^QQ+j8A?t**~OGZill z&vw_3)M`(6oiiw1UVov#C6~L^EQ3vgHXsQ>Av_$&Lk9buVmgTxA%IAb<9j(Rh>Wh1 z8`p=8(%x#cka`3MU?=p8Q-Ow;zNQPE?tVy05?RB?ba$5Cz#uF2zs+ohg@|-VDjfea z+lmtNkJl!A_a$ba7lel3{n;eOJBW2gL}yNfOx62p5naVEV-krWvw=AXJhDEv6o&7I zZ3x+iIAm8mY~*sn9#moba$#rsw-uS)2h9FYts0Ih<%I7mE#xvD$~TVkMYC+AAvK@!|Mf~72K(k@6?a^U=ZpW8mI0@C*6Jk{tYC7m79~S>SY)1pWnxY0t4wA zC}97NXvGx!+wY(mPH)L{dXB?!)nCd+i1|{v*;6PLOw-Av10~r5a)vHrEFAQ3^QCGh zS%74S+G9%8O}{aY-h4qNbsd((G=wk;+M&v@5s=1sk`k>UZ%)hyC;48@ey`RWh}dazu6Q zC1Nic2HV%=isGzbUuvZ)H;|41Y5Ge?c9wUQ6Y^{||FHQobYJ?$wwI!O;FaK|^7OnT zJ3U5G+e#Z-CCGF($HsS_g1ris()RBbm69G^v9~ds(H{O z!g6^QB+7b|sQw{f!VtgG8gRmdr%9bZIE;c_sgZ-jz!F#LB>!^d0Xqqk1uEv?DKQl5 z#K;jrejbF@P7LRfgJRGuaALl3N(>b_F{|@qk_FHUSNaS2#k)KtRly7Mg9EwXtMY?g z-fZgg^MeDqV1F(+DZRpab~yeiPy8-8J>Sutu4<&7lM;0q_&zL)COy5Z7p~+SrRXJ3 z2&?*53>A6F0%}CgpG)?CBLm9JHExSBZ#@y`YJdkLr81vmmvPvE80p@NWsER&hPR#G z0CMES4gHBbPdNO{(b~fbzO$@({hYx|qMaVAIN`hIq4=CvP{**ajI(f8nWPh-NO$62 zrL$`L%>EMpI;53i@9Y`SivtrN&@ynb!pIesot}76>K+2Ed55i@^Q!5!tK?r~$dR6E zES%2vnn|y@(;F|cW(%vA{tv0M=e%;#kohWkTE)iDcu|(OsW{S89`Qb;+*{y1tH&j! z^$o<2d(R)pminH5L{YjpS=%Q_Y4(mYZ|`^0FaFrOOrD&Se%Z!bf8Y+>!*B8r-GSS9 zM)!tD$f4t(AI zi%#C+zqpP6_SH&zDZpx8wsZ+Bu5)42Pr~{3Vz1V(JiY+-W<{xVXBh<-E8` zGf;{Mmz`2{A*tsGNhI2-n>ztFa}H@Gq$NrwfE&!7w0mw%qO3ZuLahzIeNejM0RbHp zt_FoaX|@0MTLflek`HQNJ@?B;Re#;YcP#Ujv)leCtJ~4H&E1~3E+AcOJ*P6opO-{V zu}mMC!SO_tuz2iF{zn#4`on`t-=IrRtd`Puf2G9Sor$XtD<=7R>_RyLib;#eDFp#GkgfZF`xuXSY`J7s#l;^8^ZvNlBiC-R%mbdd ziZRZZAIq#6x3P&W&I5uPdZZ$&=GVqDYg3jg1gjhjVt(`uwdV5zr%U&LJ)C8;tAC09NN z9%s$KmFeTIfZ(2tCoit9n?S&41q-nr6jwN|bEm2lj!HT?u6{<@w? z{Qw}?j8ale2HE_hH?Go0&S`2nCx6iV?cW7~EtRTPkBdSB$z`0+_?^x8%^#fOc5*mr z8N;{dTQP;O-I2MLA|P|)Dqy`_efeY_n&?Ud|qaROXCvuX^53p=IG1w1Ibfgy+#UGG4ze+Ykw^-j+lkm8u zCZP2T8Fyu`s|iglF3rTyXp4Vadf-NDpQSK$y~o{IJU{l@syFYzK#uV{OHpP^5r_Em zQnaPXjjATGc%QXn(oRd!_`?3eU6ulyy2qK%OKo0*iM7_>TQKEX4cPqH?lmJO9V6hH zYl%6kL&@ON83IP3`EG%gkd|r`MFQe^tT5u9|G3yEF)nAMF8L^`%z_Qd8!4St7ekei zAx$lpqyvu?$jhX3@ni1Dgj2``^dD_arwHo-8E7=nug^j?yQyW$VC39G@`15zig;RX zNEfu+IXKZshzIxAG`>4P?K1!9(UZi0bkL@VgZ@)aLH{of0OX**^nap$U$rLeRXwY+ z``t~h!6Xu^WMsA!{g(_*yR!LKzT%*=zx^FlX;9_4cR$aMc59l@ylzeXf^YNPA?Ejm z{BnZLV4R75=tndDTrvXnpXYaN0L%4S;{Pa^>q)1PW?)H{zK0|mdmJk7kIf{N0C^=( zk^g_RzFAUVj@-YU@=40(?qpExHo3Z36tR5wyWl?(^=~fY2;M&;_|~#y@Hp%CSLFOz z+ryvqYqg`B)MGizr(hu*h=!gOubjauVOGmpoj%Q3yvI5LvTV2Og;mW0J#nFwvdTxD zoNBE+-BdG)TjOMvko>GN9sQeve*jCiUjo>eaEtBk4E`a}`iDgDE$+)}Gy<1By~UI2 zKxLlgb&q-Fd2XHVOpJ)cy6>EFRW0bXCCER2eNRL9TZ}~J7t*L^``95mUhyD^SPJ_u zQnbY(CaW9aqxH(N1%+uBU&9_F?=t_TJ$DReyx;RL>A6O}R{T$8LI7q{>z}6xRYUmU zyjs3aEvkG6XsjUg7T;C}FTmxkVLf*7kv$X3eZkJ+^jN~Yd0};g74{Y{)3iJhd=rJX z-a5Cy(*7%9G~n+&6NRsYt~c1~&|9tXI)qB~s70Tb1TY>hbjvgX=IHe>g8nz;+nf5e zFmj4mKUN(%UBhAZK4fiB)yLh)`cvO0&12=<(sS0~DXFhZE(OSA0VmWbj!#Lo5x$J) zS0ujv1iGT^L2w#<*)^Ka*!cOMxdX*dxdVrP;tuTIB2mr??gr#*B7a7tUm$X4C3MbDLit*8*}~y{ zr)bH+6&6`@eLa6H;3oalBfYb$MZx-VYn`_U`v`N#t-K)YIZaNkg2{?3vTpkh#pZlDvzt(TKkx>>4i}({+yoNvFqGcywwD#fYH|@$HAn znOQkU!C*J^O1eP2c8*gKT}1!L*@QK}noeJCZkPVSf2O(pO?ind30Vrl!7vmn7!aii z43iZMS7;d28DAOLBL{pBD@QCob-;HhxlR>Lp~-csY~GeE{W$#5`os2XTz4E86}X1u zprrjRLE?H};XXYolXiWcEd;tM{cRaF62-II-jx?~TecF?Ps)5q65+MAKG)qkrTGr&*~lye%WIR6sJu*$v!JybKVBV-F7&i}Og; zw_^VOUO_Ep9R-jdNj5!IVnrV#^dT|f#J}vE(D5Pee=n~Fqh|=F`Vvd#0-^gt87|2? z(VBpIlUo8DXSNUV>NDpa9)Xv2|yRMxcjL50P8XU59-Xhus z0B+n8-uQ|;U~m4T%8DB%8dI;s{yQ6n+C-$%-uv9ijCPI3=f&~m)mFzwYKeCV72xdc z#$?CCe9NvP*&$>@Ry#mcFkCPnj>0~h|B2dggS~4hba<0ww|{b>AQ1{LNmU#{F8lM; zEMep9rM%@%{3deZr@AmZH0r7Q&pCU|A5Ss6Kxs0Z1EZ<%MUOY}-}+zU@uZ~UvgxfT zir(s|hx+6^z*;%Zx)OY-03T*rOXOVEZJaCa#rAWVks6?UndRf`tNtWyk^2NYVN1o> z>ih80FAp?C;IH?BJYbG5R&#UY6szRKD|%dJeYc;9VNIpdX$&L>tU$3wPB_uK_yHE6 z742F(PED4PRNrKGt0DARN71-^*=jAbMxh-rD*jEGVF>TPDf3NDBMYC83z~4`t7rfx zrg23A?6nkt5gJWg8iY=5R&#W-lwd#7BX~UlawTW6YBs9=((6ZJDOL;TEz#<2oa#oV zs{MwwPR6~(9WM$wgJ!?}X}mc?>2E=B*<_D*vY<_7yp}6AH|F$*&_l7sA@^L`t`_9? z$Hwq3bO8BhyBw#qZJRvT<@(9~x0nt8q(XB|HT>EVTqltYtzO(A;MyZhFZ+M2w7?!A;OgLLR zoM%=f>cZOiSiD0fiMpj;$`O2gibyz19Z6<Fo3#>|UBYbE;0XEI9XXd?h}Tr; zkVe^8Tu)j0dpyjiO} zqPKMws!`s417c5vUsMZ(mD| z%C;aZlzlZB66>BMjeLE%iZ*2rp2z8KJf-&(ew&A;3pA=d*wU7mcc`=({<&oc_i2z7-VfPO8+q)N(mz=7mFs)e!pp_> zAQc=nbvK*PQC8%6J2Bf+IVIw)K~uBp#XAmHy=eH&!rLr#lb}?u%4gW2Sbii`4Z8r4VlLsrguWS;Wg>n+F|%!=$g;ku8iO;@5Y0GDS{d zB2GHP3cgvj%Rj%T?p3U>WBq%dSR2j^@o$g;wt{=n-cikqohRS*Z!Sfhb;*r!t~QDO z|F7(MGc}9Lm)0;5zPHi|%+hlt$IAF*Qsy1zP$RQ6))~_UL8|sUlQuHRnlHBMEO$er zHO2nTn^Z~sc;XxE&wfqNtSnxL7;h=0i9=mYpjvJT-$%Ljqs%if}5S6-{w6_4?871j~?F1x6ng>dzd#1U8Z9r&>w0_Eb;okB|5ng zEC&yDgJT|^NSH>nq7wuk>r&!)k7#{H%2mFSHRB|DR0~#HMqMn*T{HYIN!?GVWH)r449(ICFdsyUxONLN^l!7re6(OZ`IVsdq zP@c>9Ehjk9Cftzd%-A1ZDJ}L|dlv7!Y9g0d*IpmF>XHdkWVt{$;*tX1jcZjw6S4)> zTqtjeHbr=)l%t=_m7)ND#;NF%Pf%p!(o2R)f#bz3U&*tqq`5}53CEr-we8WokD7@R ztY}Pb>C4g=wh93j8`)FJ{&~9GR)?vE;aEFN0$vAaz%wX^<|j$-+^y0XN>0u2SY8Ik zlk^mg4!F8-uz%bs#ov{eI?G>zog?%*VU$2M7N-o3y*~zeXZ^V%Z~bxZb57ll?T9^7 zA;RP2zEJSx_~HY?49OLowwW5Imh+wn9%O!vp?E8ZNp=X-ox^avgzL-ecg5@XVmLR5 zH-o((w!WUyoL!*a7Z!#&uy5*X3b5>Y{7NRaGcv@AJYd&ZyLx&8v6q}L^JFICo%L$B zd3?wnud{FnJ$w^-_*2W+hjCi)to2}Fzad-gPb55|)gh|?N)HhD56Dd4Z*cCHm|f@` z#9+d}B|1YW!?zyPhMIG5wmR@+!JRVzu5txn0_RKI!ZZ$8a~`nco|9cJmVssQIVU}J z0=(5D3+2v1DFT2rkiuzCkF@8hy!Irl#Rq5&&A7o@v?p<$C*eEBseEC-)ra$et#W9z zUDc)e-&rT(HC%;T7Iz;ha7PN4#Vd~#6!0uL?MQ(q;#p>v1k4_!9UBN^j>W|g=+p^0)qd`jN!-&?O7ywYnC*E}aQ$Ih$$_abjgkyX$e6=fg% zUp)t!TI;*{uN|@$)WkavOY1MU&%90%io7YU=_f>Zl(uMVRbNPF6d~wYoH;Of>zAGX zEYF-zTQJI1BQW)!R~RXzJeTgs!shWOJ9u&c;3}ve7ZKj6`<38&yU~l5ZREU%t>HAiExhl4q`MGl;kKESMv3*7 zwNiu!uP>3iIbM6F28O6nInLL!RPBZGnWnrx5ct%|KDR%rtYV0jweCq7uxdz2e0Gv-9Mi@i=)q=8N_@2qwi7dF|u!9z*GrqHOMki|YW(b+O$^xUq4e9%w{>ZNv@L+`E%xkSk?|C z*GZiGnIDYBZR-c8i`&+Vu~QoixGiO)7(INzWMnbftF)B4vGKvhk+C8B@EjRBA%UgX zY`mC4@E>J$9G0%Ww@-Drudv1!DUWWSMSr@CvC(Z}gB&N?Hzw;~rLxwJanvfUaNBpx zfTH!O zqODksyPf`dUip2-I##49zFB+lkAKmveU8GV-kVF*}( zI)u>>aYML536}4?U7>OM?BqJ-rcP3grq4q5Cr(#6nSaK zsTO}eWO{AI5_pCMok&0cQK5cC96j8lRtRig%_`o>u4fk8o|J{r`g zwh@C;{pzHXQAlASz|7}2gWnkE*U9rD=l5xzM&3_m1oJ^T_p0}!kRL{}x$XJ3y33#+xAuj@=!58X)$2>GyMAT(d z_v0M{8%ihnedrQq=%2#}?}YxyH;V7g%Le>+%5CzoV67T&++;*%W;V%Xv`}~>%|rjU zMd2bc^AWAMP!8E?wJGwNzs^u!hsx$$s7Srbw$NPTbtTq#(SEJPlt#fC{HF%|8?L6} z7WV@CJBUu8cTAU(1@Ek0{d)TeWfHY+^i(#w5AiC!)EYKmA)_erURqh6dIT&MzjGJ>`ACM#bq3$*(k_Er5TijbG z06pFxF4EH?_3%)q14jDS{TksO({tn7Zh-f~UC32A@dFgQi&QeMqYw}X0{?iH0#nX@ zgNIW$Ik68AD)^cR9!COT7a{1862_Sy{D(1Fvh9__Jx;2u>Tzn>-}|BrZke_3=>GBh z&3FE6?i`=;Q;gH*xxc?dJPW`?mc@y43Fp1s-uy z0!*AfFuO1b^c1ug98jD^cL`|Fpwb6YKP0_Xj8#@f+s)nwgI%9=irPSwSSmZu`Ccta z&vNd1M7L&1wfQDp38~(iCDo?v03p@t%BH@B&#mExCi_h_FZDg`$a!4wi<@&`D8u_0 zv0ig7ukNY)L-zMSC%x*cT-=9vS_x}#*Tv|x~;)}pD99P&DK6w82r`;v31)GnySDK%&@ujYaqyycVX3#7Xig!Yy2UBPDvow3M=X)@sr$*+ z)WjC*uzj4a5Cj;hY{HbKK2M=CO1DViT{i75FnkpcYUd}{t3cJU%uii?OHoM5c}W-b+2k9 zRp3smEk;6^ShITw1HRNrvWX;4YbU5>&?^;Y@OR%*9I`8&R2xaf%6XCAr>^+xDcCbo zB?~x+{}~cULSX-BibMz8>p zyHS;T5S|QDY4nBc%MMX3vq}87yd@Z4J_tOl7_m0=NnM&fO5H>V=dX$idsva=wmy~a zRvm;%8D`)Nl1P^`Dqq9=SQZyPL4W((&mz()p1QlDQ##6je~;NS6ytf1qrxFGT~pZO z5UG&;St?P5-=@b@75+9+iQrx-d~buTSh)GDDy337UP%4F>*Tq?sZO)S5PFO zg0>ZskW=SZ2PHg5CA6QoO47-;t#s?fz?dqPaJ2+;p7Gzg5#iVh+_dgJ%&N^{kk!%0 ziA&4(JlrBMh z0l7wgZ{2%BS0L6yI{KYD4p7Hcst%4C)y23?_p9L&^hY>mlUgeQV3veeO0+XCFF7?L!07JwF$XDps=+a#k)nw0azF#dqB?k|hJ2 zc;Ib`#C;gkd;#MabH3l?`;<;`=84Rb-rxuSpZe%+cAUD8Y^RUx!F_aSa35W*`l#~% z)JJzabyzRbOPs|>FWIc)IH-Knf8QLiZ*{5kn}1ye@8I=)QzT4SxY+r;C4wKob$r+$ z9)7p~UHY5(eWarwTyh(w1YUfW!Z00Fpn@*YLDAL^T?Sjw3gZH2&HX9#oH2l{9$m?u zt_Qk1gC}4{5kJ5(yVKXR&d#*_TC#Gay1IZp^anR#+q9t3J~ybA>yZ8I-#~X+6MEEu zf-cVO&D3PTl{)?H^FXYSy^)mM)_qbou_61l(a;B(d{$KLYQ;?Ua3Q^%XMcmUKVoE# zS_kCSlXWZ?>!6`R-~6#3@n&vQd+f-iu(G79DYwdx!(U_WP{tOuAtrzlouSy$y$VVf+hMM@9M z-k}r#z3B-pBk%|8eE35;i(RIV^<-b=Psj>Qq3y5pq(Wy~Wk;!3Fh;27Jnr+t--GYd zc?edCP$Xop9wk_nh4_nn!Iei_$8saf{9poWgY1&Xbr`iWdPdit_ET?x0ju$Mu!IT( z#E}|Aydw%w#(9a_GVPg`gAZ?fxhH-D_EJdGG7>N3_Cd9I3y8gD_^9?@K>N|Du%FjN zPHyUbPmH4{<4eR9nCw|q-#*e{|0e`Nx9NV_!>Cok{$LzZON*7L?nww zV|EFGVC>O)P>IjR$M(k;i}jyKF-NynNqX#&9T-~F#0Uf%Y6(FaqN=bOv6@cYJx@{u zbkK_=m1B~7WYKGs1Kt2<*hSa6W4oND1vF^2{=-ZFh4Y3mk zXa#+h9?Bw*x`+83X~a{P&pFQkhH`brd@fb!@+o2%M}us(ehn3(I|dGz&;0h_1LpBa zopFE&vGdtKXNHlDGSoTq4>&2Zt^*knTLn)j^l-*gytHhutKmuOS34z3lfUW-Ml-d??2CyZNIGK>)>j<`9aMx?=cI|bs2m~*X zfSZ6?#Y%%FJg23mC)mD98#QJGc&U^j4ub*M_KG+s};KHprBJ*62AF!pj4e$2GNS@BtQr- zzr8!42JGUqzoY#+xX|4sG_(+(R=ZHHzpR5Js~(4P00$!+W(8|gRUjxRKRsmn_p=Qa zsXf%IScWSJ)o+gbwBNNbPrE2eojJ!a$o@O@nJ%3+h8@~02^z~t&{oUyat4^4d?wHIh~Na^&v z*tOiG+WmP+O!cp#UR1+{GAwsB#aOM7rf<>T&Wzp8>^;s*dG#M|6ejm%7LBQ9qyA0p zk8t!jV>kX?oZ0W=hY`(^Yk?#2-Aiy-x?2qh-8;+_vL`(SQ*vN^J2m4~XCk^S2Ul?C zjjwEZ(v1x&FY8$T*X~?+WnH!VWneH$PDof+w{I`I7rfo+&K z!#d*T>PC{;3T)XWiJvqNn`s>p zcAfDS;=+CFASs<7=~BFt;J&AYo^!*--ISA(7eMJg4Ne6&GZ+{#y>(^Bs}4V4A_ie_ z9B1`f@}vUh+_`kMws63YABR_{5(bJr+bJ3!t5u=;+OU_m_@kVbUSv1O5O>`Z%Y`BLJG;0Rhtp|iFN6NH?7{s%Oo&&Z98;Mwju!y?UKDF|u!Ju-9SQhId~t?eivWgVLVSn|6dvySXo!tYvDWiKus#uXtWs2&B zcc@9(@F!^To4qMRc2KDLZFKGcLIH?>gL7I+>w1J&n;3*=G8;vY?o@7cga#%0nZYIR zO>^8|jId*1!2Dj)R*E?GfP^v$2GJD@@*0p1G9wn@k@f`hx45bM-74&G%t~csD9j8J z4h{E*!sR?F!rWz(su&}N(OL}T1B!q@RO>*y^?i_3TZg?3XIMxWx!cwf5SrGbYsJ5Y zD-6S_{$~pyU-(er=r!-u5#JMVW&#PdUEK;QzSH zK5UuuLaQIJwMRu~5RSJzkcD>mv_wZRk(s)<%kmF6W>uj5!@S}uuE1#jFlUb8kE|z< zXgx7Tau}+a>Nq!|0V@OkoTWohpu}~H_!Vs&x?3*>47JakyDTb99IL7yVq(orCny;# z3paM$&Jxx6AQeBF+S!T{8qfbb#$`3`p|!wNBfaMUZz9; z6>VUTTJ?R;gJKPT~?&!7a1fv?2AXurv5Hg^r0S*Q-_DOLHip@&lS&kpTO)vr(0 z?;QF;YWBL+?A@J}Ppd~#^|%0f8+oy_k{OOUZ^ly-hlHB)S=ex<^#R%{PJ+TQhBn8I$-Fm-R~k z(?m`euh5jJ;3h7R^yMCN;%|5T8uS}5zhb~-+ac8Sl4!7gCsMW%N8|Hp7lPMLKI{2B z8;On^Bb%=#Y+Q66*pnL%7uXD5;)y14ok?5>VaG!x?yTG?YnN2nMdYAv87dX+_#BP!itRJx{Qk74Xb;O1+2`QCR`Goch?+5Rh_#^H=-v*h? zenI?hKW&WP=)7F~dg5?i{D#J3%MediPAjcncjx5Q(=siUos){WQ|A2mC5DXYGXJ6f za$f7BUdl=5HMD=23mL!L{-1fpeC0IMcNWKU4(&xM#R|NW^Js+C_|3>o@w(C(ZSk39 z?eXhdf9~v!I0k#RRd26HO?P$WUbAjV&2D95^HRFi zsed6=zuTGdR0a1kL9wCajUo>E6je5-zAbjOGvirj_WJJWi6f}i8m7ao21zVV@xK0Q z<1ulN`oeUxp75BJ1?lG9ywVm*haVi{PRiZX*Zn}ru97!XGj=MZDIfyS)=-A76}(Nd zN50~hD(q~h@@Gsxo$7U;=YY~U|Fn`>QOM3piDRQfYuZSX$P5jw*{qktr-j!1LN7FZDa|F8^w14HG+7kUR75hi`EIH+rAgBmiI}HQPV)Cab{w4v7947 z8N0S*m&QQlE7;~wY-NP6EN*|e?8x%-*qh(Kq!&y@WWl6aup=q=-!aUB>9jvA=0uxP z%kt)@CYX&Vlj4SK3UuXn%JUA||7Bj7H;KTHv_9b)LwwbqfxqJdEOjI98C@cGqr-+p zf+FL;L$){kOX)M0T8W7?*5<~nYb<|Lyyj%*`XZ-llv8^i_gYsKa#Zq5$>}rQFV6sN zve=AIcB+bCtz|o7LyFr|Rk8s=SEtV#b6#gvAEZ5tjozGeCK5 z(L?-o!1`eFc}|P!g~z6>li0*}ihNtl0-^GR_PPciRTvfpR2!Cv4Z5)03j5t_ zZROdjsZR@@yNZ1A;R%G`AoD_5Mc$pqnU(cIX!w7T^ksr2yCf6%bsKr@d3Zr{a#EG9 zv(DUd!)D6decCB1yT|#oct!9EUpX8yaWZUXHHW>Ur}}(40L$Swi^Jp*H52Em zvGXxEWxL9^8#YvhA5tVK+g)}y$o5#)v(uFlvRYL#VnIY|iZk7V(s zank|3-Qpa6rrTI)=)nBsg!F)0ZUWfS>k%`(nDRO4ajGs+3OO=IRWZyxkYyZkrKkAW zWXBm^mF)N`rchbg&gI`P>xqBm3f~x?Z^ccKXbZf4ru)+>)e_t`p6a`+QOE(4JuLd; z``laJ20wUUXE$v&E|m6HbmR?U@xa2gr7}YeDx7xYc$84~daR`QaQEOwRE(%%$z|w? ze!ecXf;(`eMa@ujx<$iTZFyc18W>!|zP{LhumYDXa%o#oOo=Pd_hRx~D>;qkw zBAc*ksm!!a1kC6nAkV~I5aCWTI0V8(|PW3IDod}h%&HjLbwS9CJy{_JH@ z2G<97(ismsJW7Ql zN4`_`-tvN#fwG=E^PEoStrNh{eJWPttPpka=y8Sul0au5*umYM|%~t0-Ms#Bnys8;?(ZwsS)fLLN@Uo!R@6 zyYSG@j$q|>?xc*=&2$$dJ!(g;#{gMU<9=)n7a*x&ThCP+*fKRe?RM@`UvL8D);G}| zc4;2}64PD$%;?RAc=o$FQ%v*iwI4X^HCZ89-D_OqluyubLO$s&)sl?iPsWj$l&GV# z^3gHGypW@Yum0FhT{<=xZ0>>7A^?8D-ouigumtV9*Hb5IL()@5;=*2OoWFG1i-`MV z$-3f?-TRme%{+lh1-HhENk?4W9g7@ictEVsJAtDkfHhkhU4nwBC;^Y!4O{n_mr-h&dp&CfOX0zeW<~go3svJxwU<5wZ@>J= z>J()2U(i3lB2JVa`s-*gwSoxRZ+@Fn?C-?Bu%=)sknW)98rXmN#e3b!Z4CG&=Mtow6u;q)DIgNTT$4ckPpFqSZp9NjXyMG+pOEzAY7ot$W zh$yY>Sw47Werf%ICA!racNlM)C`Mjs^?4?$V!WcB8^=~#)85umJa91<$=q>X<_?ae zS>qh2&fGCIx|_j=eo(p4IBxY0PFOSmz+ZO3Y}+e-R$fkLS25WD0rv;|h2}w;gk9`R z;5_R*dtT?9>TFNn=+C;v-XTsgy;;Sh$sQkO%?sX}FQ5B3@s3_{mi6zt@hX#Ky|x?s zlbi6Z{fMA2T<45r2AzA9+NMRvWU$aa^GVREu?9@vF`~o;*a(?zHm%p#yZ>?x77ul9 zoP-91*ttj;i4Ne7|JtD_?y(T>8)4#+UxF#l3OwecllY@gu(_F)9fQ^i+_EOc{)SlS zkNFLTZ0EP$nXH%o(0`Wnv{y>d&ZXkw2=|uSOj;@&q2!u=8B zp$kO~M(7JB{y4-b;)f>UGpIX`-XOGpFr1+up+ODKm6;9eXblJT-%S`6KnsGQ&C~MA z5HHpT>Q`%n|m-kh)s;V>Y}DarXyW@XA><7J7brcQey# zfn>V5J4)vU(a^!k&^c#eN+KHt^qt{=H8SWY^j4-Zk zNt+u#-M8?{hqI8*s`2GZM{+MGo!D75VSPA<$0cofIpNfb^CF#9w`KTq4=y~$rN6gnYW82kLFbJwE5ky(0Ut^0@D;O|SL*_MVor$wpGC&n_cHd7z?guOPd zr||R^)p)SH95slBm6LqwrIX^aVXt;?+h~MyS}~G~nokq+xlc-~W==`0#4Y9h+gpa8 zu>8i#fJ&X)CHUw+(TkZq8vvI+qRe5GIb09{JGuKW&i2~$qTacyV_xjcwX3ho$xLrJd=jT>hlj+5G#nli z%WpV5SoTEm|D2v^lTWoge3LVAn7w|=H~KD2SFD$v`f$mcC3{uh&PXo!Z`F#!dRtX&AS=&;Cm*OK_Z>rmrmPHBb6WW4&Zo zV}}T)^!kah)6hjdMZiw5`n@1)1^Y=|PCMhGq-~&unCJ;(QFMC_=Pe%5c=`F2GiP$o zVI{g?=L73{+&DpRiPm)#o)aI3{_*0I8!o@VOH$mMg!Ec7DShH_?&7mri*G=mw=5@q zTI;ohUp_hKxGX9uzv1%Yn3*Pe+hpmxwr-){nNX6^)jQeCr<&2uqocNHB_5i3Sdu-= z$fkD!&V4NqmD6Yvy%{@oA%_;2_F|PVv)Zlu&M_E8(eb{LR4MtZ4Fkip{Fz16&|$8M z_hiu)bu0XoYy8@5esDRu3lY`Ug5`+JquE<4=?vkD(j0|m>*qduC*Ps zTzx1hWd_J}epCEGzHauG0?Bp%hp7hIkW~7mnrJz6#(LHL^>;-xtlX7pOlRXuLO+$W zv(fl0@A~TwY|}U*S;LiOc-iA*%-OH;IbD2li^(zv?f?6f0Tql<>`87_-o%j)NSiW+ z3XPJLZ51ju8)Cb};#b%N#|FEoXn@tsGh%?%?$Ko)YP}vLy_tL1!)%=>@YtbiP^Vbk zLPm?3wq?p`C!i6`)SIy}vopc!2OEj$HxW=?V&BBR^BWz$)ipdXvwvUw3`uaSho~ss zF72Jy@9N1n2mQ6t02&+ach*rjOLmm%Eue7V}a z2!9ok%mzi)x=kv@xt)eE82eusTkQ_E=@eJ%-b^|!m_^;>&4)BQ6{YKUmK^M}zYA@e z`lWr5=(9`*3v=t-x&MGOPjQCMoW!y4;@_HkO*cd-DxEMBzzZbg{x7MzvVVZ7bA0H+ zf*SV$Gl8R5an#v9Z@%`K-#TPl?e#}I;nDLG^#QDnWotFq<|e=wpFSXS4oVU3 zjLKsLoN&3Z$*aM`IV5m=O$>IawCWe}wNZ#txrM=Oxgw^q{^PKH!s`>NU8-0S>O%rV$5%-5#bvM&GEOfqSGY@E;;b+2E z^k-QVW%J)UAV1c2GyiY->(W~v0pWF8L;d)tY}-P7L2AAru~joc9;+*?>O!^%&Y5DT z)VjYd&;YpBbT{iF2xuqxO|Ml*tyr&+|mw+yEIr)2APdFTx@&-6cUjiD ze^r=y8_F93CRgRvatwLC*>0SKu!M6C8L}U(bGP)UqiLb|CiO8{Cwhv#`|HPvflqM% zdV!iW@c#PW8bKaLmF;VFxYyr|G3}AFFibaVkaF02H+p^9F+Ue3U%V4@r>>lMHRdA^ z+M+Cij~jBB@N~*j2pLlR}&xB(fBH0v;ARKQjJ&5uBn{K zMK>ui5x>V+5})QT{tX!_YOagF6WTN_Z_=3fYc>hDXyhll^B1f|;Cp`cAY|I$q`|QO zl4RbbA@P%@CAyKxyu#6Z+Z!95m4EZDB=K+(pG4xplZM3dtIGbe*wrBmy4OE9d`^?- zuu|?p9!%Q?H?9Y!++)SR>HZ%57N6$aJ)MzHlBo@5AKn))YuKXJunezue`?O$!6id9 z(c_Pej)v*tneHiwN8qltoOCwQwzb+#WwGz^FUx;RID!opJ7+ox&4#g)VY|DjmLk&A zCYl1QRH%uq)5xKEE1ej>6> z>q!;y37Jjeo!P})UZ=@Q*;J$C`ctuTv!GK32)maX+4Wt2`u+&&fxbta_gVV(+va?R zzOBBDbBae#uczU%KL0 zS;vz34U?{%6g#D=Z2#iF*0}E(19jU$#joL>*|;T(U0$74nWo4T&R|Rzk7Lgx9lR2U zbT!Yy)l4ws6td{ZV}a_3TyxNO?^mYf%h_+nhv`SexIpZSi7g@>)as+HM$kKk46GKE z1MA!!5qE`Q6?k2Me_N{P8)>%0{PyIuDo3 z-ZZQISEOTV&SJ(s$3X>)Eyt1bf%F)LH z)n7B%YFK_2Yh=~5xJc{a7WGYeYVC)Dqva#M?K=4hg>UO@P`Lg&8x*HMuc2Q1;y?dP z`wrOl?Kkb~QMrz`So*im7{YFlAuKKlZ2OEg>;_rG(!PuoefqUe!KQu6l6qd*Qwinx zpS5pHYOO0cTK4hXuYDhMHYi+woehf9Utjyw|9yn%uEv!@aok)q0_tlBRT+DS6c&N>cOW%KLj;;Zmmug%@w$yzw zzJb|Hq%N1QGxOtvW76B%5O5-%D{p zHbwd0OA*Yb(D*oEEr0xp2S=n|3ZajAoo^uBNs51e>_&b7FJ+`hC#lMHnau*1dE#>d_t9mf_P@Pt>%Js&*98v(oZc=m(0c|5QFv0YG(Ux$?G3}*s>kV2R(e~ zQ|CRDNcU!JHXbU3&GU6`&C`Zl=ose{7~)WNN3h{t2keZF`<T7K&Ku57_b@ndW~_7G$)eBw10i5PKTP+4+qCW2c{@Yn+uiT{2@F1z zM{(UV`X-&f{xRQx1vOvJtC!$BXN@rIY*sfp7VQtIZr_Sbx3Bjn002en0ID#8#yy? zXy<4gr-{R&A0qbGxueb!+5%RK!)znn^n1JU;%shFT?b=#3?QGqwAXn^6(V;zYg8wA z${XiyHxa7cLxXb@f_M78&N$odO+*a%|>>3c$FD((edMYgPKiHpmB|m*8m9|T&1@$p{D0V54IN! z{t@Wz`4M3&Id<_3>mFC*9D~j3NKLJKmrDm$u1(FpKe-oI4uQsF(turZ9xIsJh`xzv zlxh0)hdYfRXYN`jet+tL<+P`JJ~<0kj({eIJ2RTRsI-ZyP%#5?Zy|S$1Qy@%#V}Pj zIUBE|MCVcQC@#^`du4-dUU{mrDb(~U(?UyOqAj%$bw#g*|H2!pl>I2fefSSRyGH$^ z!Lv&JlbYRvh%kw9VVe3y!N`34ZBnYKeI(}IOc2Ns_n3Wucbr@WD@QW^PUF5X!Ir*V zaM}bj?(d#uTidUIS16!AIJ7%3pv<$Jq%GrqTciq0>R2&V*}~0Ns$@n>*~ex8?O_1z zaXwBSly?eN)h9czI32}lvDuMHvDxm^ya~YMGsQS*y+^9$V!{0t%b(hG4iYa*|VNj=I}Seqb_P`5GN7zJrTIzTLMV6jqYx$nWR#5uZJL zULuiLSZ4EhC6fGW6Fo3a&llIG8;v@>B>hk@g`FABZ!-_ zDdP8|qo0Yd)flYo4P2Lrw?tp<8|wdv)|$r%s*7a9GhMskZB|+NUiPT6nlrufxa2w3 z44hDe)@-C)6!?xk(d_r#Ig(S=IF`S#7JNdv_ffJG>dZy;O5EZl_LV>4yOS{y_0f&& zd))XDwZ!EaZJn33c3{?()v5ylyWq}g%ElFPWcx~2J{uL$hadJ!=sAT#X0k7xjm_;X z^a-y}zbSN-g@?n(l_j=R-yIehTk0$SnFVIOmv7hI{o0Ypd~W3ooVpzJAn}z0$-lv9 zs2R6<1wfLb1P>AudslCXtzL;sO^F^PjhUC&FkgA0Db!$vhEnL{-fTO)Y~}p{Y0UWG zE!k|wn2W_w=I+WM``@G_K&q(tlr~UUixqopw zP`rOV^i+GE%&NG|H#kziaxktcW~~?=*&gA#KelPn5sTieb`F-7%fSYM@{8yBM9?53t*seG9j~{vto- z|Hj|#V~h>>i@bb&wc(1N;m5!ipTu&y;Bih(ijc-ARwh_(KK9#BK21F3=XP}DE2%%X zbIS+khR$rc0BS4I?$=fx3F#3Ir%mvLfa61 zVZEVds7FV$b~pXT>u5J}FK!K&otqQh_7ctMzINNIdR(z>k9~Zk$EDl$>2cw<1A2_# zc2tkEwgt}SamuzL`xviBaGMSqYz-Kj48?N}`xEKOW6(6v{)NsLulcch0WDRp1D)pc zXayd;>6EdD+IwK9v5|Gr8z~Qcvr`SbHr?5qegf&Y?B1snjp#a(aja2;*0($1bIiqP zGRQ$iYQ{(EwOgdrpsA$v-b=_8tIBM^5X#%U?M&!hf0<2+jXp(T?&bBOZCnt1lrr&* zx#WGM>94dNeU_A6zhtJ74c3zAM+I0vyX%XvSABEK0pfsc9ATl#mx0W6A0&oF87;h~ zwE2F}ADf)n@M=Fm^sc|mCdEc4lGlBP8Oi{HPejF&TMkQfUT-KrdLUo5UT(@peB_P= z9C9mN>{QeQrDes|SEmV6+1+Ek9D!_(`0&zZ%^}=hU{c{0$Y|-|Rdwna9>k&KyQFXu zFA3TWd-%q)gp=59Uf%CljiU6I*xE)0F1L;P3|9UD19JKV=tpKYDJmLN>)!gV2~H)H zkK1j`Q~4XVj)07*(bn~LZ05nrqoLS!(d!1Ox!3jYX z&K|MR@Hterz*I(`_M}XFbQGaAZst@EwAks_pw$7#ikKUr!nY3^9rX3Q! zk&v!u=_vQ#!xCdS4+%BB&t?(2xtT?`z!WsUM_Wi%=dM0km0&IuO6n#Nd_d4ar$wSq znb_M+tO`ipq1f5)+q1eiopw~~@q7_UW?v8Vy}sS|+SB*CukY2(zM|;!5rtRotd2fw zD*SXf18jrsK5UXjCE9>{>AX(Ur^1|o(a2yJF^1&iFek3_l}Mq7u2Aw{iDs6naYyyR z|BSNCKAJd^8ylB6GB`Gx?P+d5tlW)z5BYfTu`hO&(=4rd z=iZ5Y%Z8!yKxgxG3KJPIjT9_DnH48$|6V~|*x3V{_pAF>XR9(|d~vUe8QTskkkMwb zvvrmhkQr2wZt$-jG)*UN#fM9Fbq}*LI9wGc8NfD!?KRcMe^x6iFJgvP_I~iv63a$x zLdJcTjds0gfaz;m^o4*(>!~cR;ulVARy*;-h@n*Ff$n_J?YthTj*kCxfcYcnejOSz z%psIC4o`&j!NPhVetxvjjPcsu(u$%x=|*L{*ksePF?kv7G@X?jKiA7Ku3rw<%i-(G zk*_JEIRL)!?iell*g(?JjQcA*e+NzyK!zs&odl(o0laR2li2BXnN7l}s{hYmZ=zO} z!oPI${S+t@tf2cgW#|y0kZh+#1LHNgCZK95?kpPu$qk$y48jD&N%glY9Lz&V=`uvb0Xt0_i?tf7#~?Z6a9xST^QG}&mhuxKNrm#ohHjF zC!EdflplSXnXA@)I&24dF>rgJti5Y&PPl>3Dn9q}d4SI&e16F1Cw!ja)5>QXpIW9% zPh8M^9okeGHoiOTeC?DZwrXA;>TK1-%+TY~OvIaDjT;(baHa#bOzZ}y?iS~U+Z>Y^ z3(eTrvNvLVCRD$xX|L>r)<`$a5$i5kQExp-@G6lK0NUhWBXp`n~6z@(>nPl@*1?h^BS+WV( zK%7IYXX_f9!QA!;`av8(a-UGpU*J5hqH#yViWiqt7~%bcNynWBp?jYsM?=}TQ1U@x z;aFbi-c`JWHeoMk+8^3on!)%^NWN`g>tCdos+T#@Wpnrsv+o z5br+Gzo%cAwN$15&H4QXG~gr~F4WDABy&p;Ma?vc_P8+yK~<_?-g-Yojn2i%=;wU$ zH@H$BYJ>OVsg4`#R`1|j^h8sQfnCrkT9{vF=626u%YAW{=`m*98dO3e>1lb<_f1a} zqCO7N(Lmtr$`PQHf=xrkZ9G$n2@DAYa{TY!pO2jHOCshF?n>w7 z{)hY3Gwa+(uv!Oh8uUtLgOb%n$C;Ae8Y=L@t+jo9H;(i7a6%K2FY*l1{|E^M0N0E1v3$JLh-gP0%5!K~a_%c+wvrP%J2n z84#WpqSFoUzr=utZpLZiEl%??FwP+2@&+l1B7gIZk}7P=n8{wj&v5*-=ChGm;qP%0%UWkCFao;73+kWRUvjeFI-e=@?Cg0{;MBSO(4hmWvHxQ9~1xwrApJl$W(jLt^?Mfs^N{J^ti%*1XJS$-OIvyMJ2CKr+Rq z9#D~7WcNyPZ*A!Mo!I+etd#ypfd^AB_UPyo55|ukKy1Y7f8%~4QptV#e&9pCJ$)P} zEl73$&(t>xoZuU{NC-9U0c0nsh|uO)yYn2A?a+2Ph{ly9kzBerjpH4ac4)g#(#OTL zBNGd)ExpG$Pm1N2mvt`wq^vWJa(DTig((~C7`Ucc@D6Sd$MDO?3VIm1dVo{8c93fa zxjwbI6zrHrOtEdDK1Q;s@1U*k08l7r2RS>)dCcZiuw$Cd?dxj2W7<90Hot6kFm!hY zBtb*xuwgQmz3b7Ljp`V8r`BCk$MSk${A;!coV23T$yfO{H>6G9o=OUr&I3Zb8IL$B zC~-_Lw7xattKma`Y(G+vbuM8t4!nmrmE29v?o;E1ohH^2i^BAl*{IS>cBPYopUGuv zdvb3iom8Ld9e@8xbu{l0+esR1g}4DS4k#K`#E7Z zZ`)l1ymRe+)gm)~ie*aXOs2yNbT%4l%p^Jr%tciT)`~I%nb_JwZlKf;*(3- zw&}$Vo9nK z-my4fMA=}+WM)Jez9QbG3`gk}4Z(JXU^_$bu!f)wb__Tbwwki{Let)2+pp6Qw6G=c zu1h5~ScO;7IjmV?+o^EM1#1Tu4zehJgvv*GAnb9Kj2Q%_vvEf?8-Hg)KV*HfmRWZO zJChols;WDfww%+1q$m6B;NwWA)F75|E5zDyi{qERajOw<{J7QF=swx$9NHcadK}p> zdHi`1qcJO5ElsOM3{yQcWDoWY-$-WTZbEwpY<$^g2kY1EVEt;gRm(#wi{My=7{4~D zO+MQnU6)age&!2{=*FNKSDrcCSLPsKKmEwbxx-WZ)H#UhX4UA8Mb zM$uJAN-<;f^Ijmjx_CLFzl*(5SLbeKxs9cVI?gsbQWvWH*nPqT$8r;|$&*oRyqBK) zNqZv#UiupM&fc&*I^IifkXPf@^~UA&rk~OqW}K#VSgrbcc(*3Y-T`do1$f2h?g~fG zhVf-aOcHi3TV@lAa@5X6Zs>PQ}e@+VGs+<6Olg5ir=G_=Bq?euvpc zt&QDYwrW-tGg5HgeB+(MO1_&TgysIFHsf7m71ln8)*S2xu#lUo1m0r9X)8`2*a}`_ zlEK`N&MOPO`F^Xfoay^Fp{lCzq4Yu#t*lw=j#AvrsVVfU$9z%_`TV z;R1P^Ce-vj+E2QeO_z&%qr&3fgqms~LuYnR_qy6h^i||W>>tTYHX~cfl!HdlJ}xw8 zH{@V>d6=!Sbtd6rlh6ubUP6$UzjQ$QUSizUgH${QoH$+fTl$ERqzLJ!WgzIv$Sgi`9epyPUO; z@D6IfoxUN{8aS8B6A$Mu{VMuSJ(sh<4->GZh_CJ;_I(WRGpljZ#WS6}8SF)$pn!;b z;A==4X$8n8rMg!G_hp-^S{5Gew{0_N$}ljcn|tTl5W3DzXy5!-J08~7Q+D-5+qi?KF?E-ACKL*s%3x2o;|QHi5Br@SJ2;0WF=}(X15y zhOOlWBh#G+jYj&*b?Lh>)@dMfuf5Le^BWImuEMKGs3UL45X}0NQaZgDpW5=(z!fkj z7HvrM{orlf7YOw455dpGb#1oV$zEe%6^Fp5pTrUOZQ;`d0B1UqHM(5r!&cFT8;qW0 zD>NK$o_pa-$8i%wKgPbEd)+FJPNYE?z7=E^mAgC4sgV|DA*VSg338%8p7)HuJLh8g zuPb@8teF)KY7<4WoSiW=H9Kf;{%zV7o6RKwV2sNz7!<|rc-tx4?i>kC?%{d|LJ+La zse?JdBHZg>d;YCT2aD)vPV>StDOKhzo45GN8JBN_CcoT$w!?i6h0a=)oP4uY5$yQl z1!zd}O_Pkn16V_P_E88B2qU#lQ}a`R$PI;dW9=?>&Y&YRW{qX#ne5LAAOW(26J>F! zttvldAo7>>9=c?^OXE#j{@PJw+d4DiI+!nf5JzmI>}+>M$vG_Ig~{it`3g;a*d!s?991GyfTE1q|LM3#7!1>V`y_^IH> z(S%~v07}5?3-@(ZLUz$6I2D#s4>BcVk&C~mb+<4=Oky?JB<{tPUOafs9$Tc&d3KdR zbvq1@*vJ@$DA%rG;c<@yPeF@qMb-L{D{mxFr+T-?ZA? z3~I#=^`BRKw%kC!a;x2uaF}eF&_N$(Gw3$`KSO8vBKXD*k$djP&Z(GkS=ZRy!&m35 z2$UUOa%S=2bl&jN`ohrU`a&5ah20DB?#r0;uLz<<$mN>BvZ_G*?5wW_mb3#rn`QkW zRIx_{0*zL<>bLeUEKj(C)n0#0P9yzr_wh&wgTrpNmbTw5Nd>11@Bm3LsmHFp6|ekfPRhvd_alrHmjYY8%^*8S!>k6ulEwbLPig7jqTK|E-< z-&-FhbJ#n08vR_L$&{ zUBa$a>55C1jIJr!D|=q2YC9r%`-_#q z=^R~#R_&*GC^$qaQD$ell{@xC`>|93QeSA5^a7ClZX>dE#d)FRPJRnB`se--<$va# zRMmMpVZ*$@w=It^I}A%#Ob8`)47sp;A%09QL4<*XvzGN$6H+TCLbc!Rm&4Y+p||#> zU#8}mz)}UVNW}f+QM12|+Y(zxe~hM9Ot67kD^!^iG*K|`!G7V!JJ;MD#_=;e4wtDD7FNnWpcX~-a7X>n_ZmAuwM1A zWE1Pe2?{}V%(&^tJ_VJYxmwR44RN3rmor5lh};~b)p z5BiS23>v7PS%A(|tEY1<8SA@t^AbNK0Eu5%*h|6O=EM2skd$?s&=wzL4ru1?NX_Q% z013L;@ml8@?0PO`2G2LPqcnNp1h|{~Bm7iGW#7>`2qxrlM^WRnQGh~fDS?o>Mnd?m zcmI}Icp;awlGJ?_`BUDbbZymD3vc#9H+i8rl;YgVm;`etcxKZ&Q@H$NsmrFRofGEt zmM#~PN~MBr2V_&l-YYhRbmSHJ=CJ6tedXc1+H|-#d2^)`G~$oX=eA~e4J%52>}*}h zE65+`yqoz6Lg1R)>QHht6-kf{HT@01YTXQqed=A!CdLEDZ}u3@r0&&pE~9kEYzDJH zIvS~U?*+vkIdFiUsgA#F7RjL|jbG2k)6I!h%b$M|^!iFG2Ftev{s?TzrWuh+*zWAI|8=kZ3 zBj-DJ8^w{y5$A3xfTSkR(u!|ZW)V#Fn=ec7&?)fqwAR;M;#Az6B4x!b1ClM+1sl=e z4L+}xad*&bfw2qW{zv*gJ>?kvZQ8qC<6&HKz1Lneq{w68zBqLEtNch;To`e`62Rbm z?$OZZHZ)$+Q!a|QHxLrqEV10F>{$TW&kb$fot~VR+g{cz%31RH=rT4MSdirJHvnzZ zB823r?}XFyf7P`ZVwstqLVDx5XE)cWsn0MF<BlY0p<3d%dXvabx!yYpMSXqosetUqv82|K4Tz) z^Z8uPXBwYbe7?dbJ3=*ou{sMlgRFP7UI%EN_cPr+S7`XF(Zpi47nt8^9K6tMF`Pcu znw^gfd!+|ANn68d?aQ6nw49L6W`*l7I~}6lqzL_qk>UU`8-piN6Vb=Q#ZT}*O(%F) z)b!m?lX$L4iSa`4T!UWh3O~PffPx44nJFUE`AR*wvVU#BTj+#TQr5diVri^e@tAXDVKxcpubr;tN?)>B=7pm z3KZ1OW`neAJv3SbvY!zeo{Q2^X!w+Hq;tv`<;jeg#VUS5YD&)P%5ck+Kx+koom28M zH8Uo6OgX8D7)ahs54?`S-C&UCC~n@%WxdPmne*Gb!t)lSt_^3G>t6e@@@B(Uu2rj% z(AS4yTb4W`?xzzZ^x~e*YMs)k)q#e?7sl{1c5~cs&JVrmx(dlyixW?a4|2_l1qlz|2-jG?#dgV~}A% z?d%sI47|2TY)AqU>VVbpITkfq=6%tWlQQ((Y3djDy=r13YTXTN9?@R)f2m0oFG_4R z<2D}BI@lHGg+M5)RU1$qpP~JUee&O6bR^$FA()%x@%rNLs63EsMT!MZ`LG44%D<*7 z4@4H`;jc**!_g6gde@^MkBz(nDzfOSbrWWbOZ71R$RDP0{@m%=6HLZUM~=nd_8_)F{?B@(1V zxgO=Cg(I;xVH2-lfsqtDDv$Yi`zV-kTG}YmS^JW{%?y;9(Vd!oxU=%lz6M`|*Xvy< zOZ1GELDs?xYTaRmhQdZtwN;w_(4gq+4?F*@xlQ=&cTnOyq-Afa&ON6teAzKy#GHxnCOtu!ZPFoAxUm&8kx7NnB$ ztAX84<$>Z)IN75lkeU23ft2xTD!Ga`XM1O|k*ALxGx9#eYiIKNd~1_HdEf6$I{Ym1 z6`9=aysr+V%l$3a6=a%r(aYELqU4SA#+Qk9)(BO(pE&QVUF}a_?Qh9R&-8<{Pi#aV zR%KE&i?LGta_(zDR^fm0W`3nA1}}K>7G4&lDo#qYhn~Dmf&M3=JX$L9(x!dIY)#}t zdJj=wy5bDzOwErhyp#31hHfvBxm$kH@6^TgcOlUA^*79;HkB5s*WnZP8Lcs$*X%Ug z2Wj!kPF-G2`ljBdzLl;RlDmD*iMoHfS7CIh>AL-ttgdT>5KuosDS?1IhE4JiFX;#V z#`l6JZ>MpLQbIMRoY$WC76HZYv?LX6u{d>z9aa5q2uhpi-2JUL12vj0Rn850&O65; z{f0a<_8Ul&9sf@*Qt2;O4{!};Rktu(;0@|@#ZWLSfFldznT4Om zj!5wxi@>ly8`WZ< zbWR&LEMxh>v@f#fo|;zdw8Irz%T?SBS1d?PlmA2>73nI}xG$`$S&&*<>NXrieqT5h z|1&)rPq2G)bkzquZ@>?;(pgkTfzQ3(iuX)n)}EyM)(LvnCHUoul{qpxsA!aOdALOz#xc^(SC%*z#pbL80V_=7(8VhMJ7o(3YE_ zxlmK5BEE}u))=QztIeT}T585lHcm?4tj3>2K+Y;R)-S0%1 z2(09hdQhCVSGZp|wAQ`n6xGo|urrsXV$kWq&v$PMgjqmjQ_~)GdiC|LdTf74UN$@& zGU)TaT+{itOuA}n*8lRW=b_(>1Lnv#j05I|dBy>=TR&Wmm%sL~951(<6`33_kH%jb z6luj1JcLl&Om-TJuiyr<5{+G|T>pP0Z3*ftU?N;Z8*C8w{okjh+5pZdF zw%Pb!E?2V$2x=Y`QlI$Of9rqwqdDHzRiFRm;m9T|d?2d-q5oyUM}4CAzwdv!jMjLv znLza5YuF-B%Rc9#j>ec?ViOv+%IC5#eoo^SZM3z}AFUJ49~^#e8DAVMr_9OCJdRZH zyF54ZVYS7vg`@{Er07DJn0L;&hxiC#{~V~{ViYCmqz8w-*R47 z-{Aibf6JV#25LJi_k)it6XR-B7~a|&t3aAraHF4t8pz;=)>94sN~6982G#5Xeag_4 z`(ce>XC(gbqi=&n_QQUo_6O`bOGBBV$%$W0UCCY$%Sj0<%X@!Mt=&Vi`nx2k4LU6n z>sQ|`7si+84UNyAoT}ya*c?v6j^xL#HCNwoJ0X2j#i>+oDA`0Ats0xf?U8ij0VFyMUnkR^9Q`y@8hf3pgm=Ju}^)I2HUU~gxTJ2$J8jyOGFo}hSnV-!{4lqt zxIH!sAWc1HwKd(=0=J=>+@3PH?z!NQJ0?<(sjk#x>W1uS%u8(z5XfM(mre9P8tx7B zMrU?@II(}`wTvfvhoj~`|I8je`>jOFR;YZX%MjIkV}4NWZuyp&&KRp^M*5nI_p$|& zR~x!pN>mKa(58Zjo3795@UIMQs`5wN<-GylB7jrFZ}bMtU0s!n7sU%GCOP@MTj+_8TJC%a&Vm?)r_h^k1+ zZ%rPoc|<>cC4GC(zjI;VDb)WL|IYG6jDP2)#yFzr@A!9?aDgT(H_EUk@^vIcr!rZ& zLq45j-#CFkXM(wFyMczD*q`%dpH~lPnfo~zB}CGRrzo=ye}6D;O@s? zE9S5n-mXP^zd!m9{UdVs$)j5QupQna7RNom@p0%AA$LXnq>8w&*uzd#mkCR@J@;%E zSEE$EtlgQkaX$`9s@ajfbu>Gi5`v3Lel^eC__!yeQJ>1MbA~l+kzF;nLrVa`&25f4 z7BdKLRd5<5MWiNk?T?WyP*E^)1xA6juC5#G#@)jYNN#6Dxp0o*E6`3R16??0>ucC* zTu;a5q_+xJsE*9c6RxD-G)?;l&{CbdbqGN3hKM+}D>fd6hs(3XQfrK1-JNE=1y6o2 zlX-560RneCI?U6a$8|Po?^Nm4pFLi1rfWLkRO}q>QE0m;zxBLg1fYwuu6nIA-!I*7 zCXVi2f4}*ymyj%*$olgQn?zZEzIda3-AwBPoGyCxXEr@StJ9trV;vg$qN7w`XE~-g zP-XeeeCGMw7rqZ3!GN6Y8Yjlz9a!cG%QHnp$EiH`y8{Z~q~`Jg1(4s`v$1>348t`T zsNpcyCjp+AXLORVVNNgU-0ssGCQgdP2N~Tw>=Da}ba!28+17r>&@{~fjpZhD?CR3T zpXDu9F|jBXj+i{|BQ|mOuz>|Tdk`^C?K=SNZzoQX4clI%AYZHob)r^DuD<2dR}N0J zN|g02xgzt7!ZOe3XLPz?`jV*zgJ~3M;-kHCJ=run0eaG+EJWfZBs;A(ZLGwi5reqN z-&3=K-PcC4;pcVW7@^fW<^OwzP&^y`m@S*)zwm^;lX2aj`hlD~#mX}=! zO=tZ#kHvrUkIZTUMxh-<&m;5px7o?b^0QtEn)0pwI4WjLVXTmi3haJoi&-~f`&Zw? z+7-e_g?}nDv(=AtRtAc7Q4=>4ux{kq@l_MG5!rLw;*%OPUqph`akD=@qICArcyV9k z7~PzKGmA+`$0cwrlW4ERwZ`cs`uWyR|vjz-1y9wZ~ z4}XkCvr^Y8@pO1@%DkcHwa}n6yH=D<{yMYJIsx%RF|?m)#ZHNhhrg<+>a^BcNlCv%%c?25$J=^)3yVqC*>Z)-A*kF1V{fwb2BJ?If8 zwe{>_a;AIH07N9ZF=_}b9@)4uuVz-o%=pQTD+9CST6=KE-7mll{oP-c!)=1|YOcPi zQo-Vp{_bn#R=bMeirKTK$FIPzb^yQHUrKb6LUXP^(VdS?+?gJI9PeAZ!ur;BXen#K z!~Rgyj{(wYR#WJ@c(yIKH#{dWe6e{mUF}=-E%*P2{uQtzMjFKL%{X| zUaRMu{I(k;E@)qBB<-ZktkK4a^GE1K@{jiNi{NyJPr!ZD_F(Y0NoY)dFLtA6DXlC>lGZKHa+tQEKriJrOlNe(Z zVC3HYv@9jTOcs&B@?&czYH`Ud7pH#bF)sdPsQsX*^s(W4Nwfd%Ij$*SRkp!(8h| zy=lX{`+B`Ka5^t{)^+ah6^lFTI`@6RlRN7=_hLFp?yT$FbxMaj>pB-%-ng@_a|=}p z?yT$F=Li#sy42ISv#xWO3Q#FHvK+*nbq}p`W*h*87?&r{6w&PPF6&%-fc>mvd;-9E zGM}&T8O7&pJ`?y{&Sxs0>-l8qFYC|Rg>*Xp-}|#}+;O}WX5%`qW4_6r*A;u<%91~v&F4PwlvP}MQRSfN(d3BouF_j0Zwt%Q z$!AqVo%`ue%n~!PGA}276&KuwHdW-cSgYMl75Od6!vbnkML|pQhlKhl6uYhR8 zG%ug#br;&O5>DqDOz2gw3M0YHMnS>(G1vm#C|{kM*{H6HK5dc}*<`Hl|Z;nekAmpHHVKSgOgj9)+B;vvzuDXQxnm@fyLk+eyUSBMv9nQh8+S{9%s zd;90~ke|M5aJM-L=6s|0<@A^RZ0=l9K<}&^ZPTY8P-o`;Tk#tM&Qs(d z*LFnir;$303Q2@5rD!6vQ3T^IHGGhR^iXmU%(K+=QYd+w7^x+)_;rld>CU49YhZ)D zF2-VsE%g3{e!j2Jk^Kq{@$S5+%F|}dL>6MxXh5p-peZ#=Tm#KsT9;F}iOSbTeSgAkh$s-b2P(_jl-_>9)at zzsrmfEvLQn=5MUA{T$k4`Y1yAGWj&#M|c;hRVz@`r>E#qPg$=4i&K*_JNsB_;>+r~Y=C?|ZF&&)e=!awCB-mX99XZ(9ZQv>)jn&maA`XgO~b+-}iQjbs&&*(exnu$Fu7H``Re zDDmlF^dkdK*H2kzvf%qd)OWD~?~5m@jCY$g{tWcwd-`fzNln5 zq2x*YXn4_J5zdxZ0%t2AXtlwQuI1YdQ=3G>g*=@H)BzkQOisKwl{a6k)OpV=-WmYR zmnGMCowQ<^d@PM+Z=^|!KvL$rJHRQ)qxx;T(BJZ?I)tJ}Fs}`-nVB~IiT~y6&7|d( zI3>q1nOYvn7s%yyoU!G22Dv_0Q=LvLShm@_xj4=-qYw(u-H}eK-Dr+G+>U)hJP1Za?h9q2}oM50fCQT)%oq>c_} zISZVo#bUEuHK}@=@@>|@S>OqDm@04e1C@>Bk^J;OO1$Q3+(^r#PxEviy3Qax zu_M1r#}R3RLl#=zSi;}w53=G{s7V{~61IxGWax+dqY<`5XRi|JJZdP0^Y`!Q*GSvv zI*(t-Z;4*FQE3E!ZBJU!>$`|v*IJPL&b39)Yk6eFFhR!~Vwj+|V%SgY8)Dc`dGiX3 zj{B0CuXZ4Yon^y14ObP7MxwJ!?E3AQjM48lGMRv6zA!BdSZ1n&eu)d1<)Y6JXlXh_ z9qRFqmV3?+xmpTJ?8vF<C`ZQGX~>J;ZZ+BsvkOq5pQ#|8YV|eX~dZyXlcGEm~;PS61JD#t+Diiv1Ng z0%$0KFEd|9lNs+>b{yJt&lx}Ts%ZZZ*KC%OvCWT}>fSOlPvOAfHq5JTQeG(e1KKT5 ze6**Pa)5XXk8E=`^KP2MJZYM<(R)7YJvVsIUwY4HyytrF`7hqnpxwij(2~WS@TK3M zMc2~?{!y{WQq!zSNrtmmAuD z)=W+E9}B0?7XRlaulPMoImks(9<^?Yqy`A4DY%w(RPd6Q)crG+SWze|58;1}eSG{| zrHWXpvV+M^$3HvA5<+tb!-E3Vue-imz%zp%&H9 zp!-cjG_3QgnH1XMxXwFTwm)_eEbxlr{kc84SX5I3v)=@Fa&Hv{D}T(Q_Mciu(K2s0 z5DVU1_Oj-rxGT?YYZ>n;OtJl7*DLaz(N9in%hRILyNuza#5N39_<8q3d?&W;gC1cH ztNG4sE(C*_&0)UX>!)fE2ZnBsEyfQ&i5@OBS8=Sob$OuF+@EphmvJ%Dmjm@zHS=up zIghJUXXn>+lDHOYzj?JSVsN zF^AJkgbkgscg27v${ zMC^^HuE`?;OTIa&AC)-@N z^yXSN+cCzxV^A?kO%D>CnjUtp&l8x#1aRT})J4`R+5pJ3Rh8!j39fR%bv-84qzCc2OY$1g~&2s$09dEr#83?hfAPp;2%PFf2o&re+wbWXaTw>hbcQ`hK< zB?`F=1Y8p?dw2N-6!WerW!YF~avql76m)9V)^tU1KBdm_OvK6RsQnZ}h*kS@{OhoLmVH9eR~&PG;ql3&D)ZFup3xKTscU6G1ey0{Mn7H~Wfb#ID#n9qZ#X8NXtHuU9vn1#~#^IYRxPtgi zz^YRXP>br6^DJi?JE;(T(3!?}*qN3mf*zF0f#s)$E8QS!RvJ`kA?V@qm}JYXQn_fZ z>foDmX-ItrN_9$MbesFNnf9*c?5X1MNuOJqpRV|D?vB-2SDgkehW>TtbPC5A2;HB< zBPxfmbGy(h^l@_|7yOzcv$`Ur&-y0_t}Y-Y`Uw9IZSNi*Wpyq5&mD`u_3elRbMsYwi1G?X~w_d+lr1_vUwO zz~+%XNWXXeF}n^2g!ATu;aqw7yIehnf1{E%UjXN8@~uBM*IsPA6~1!wF@%$P5cg2} zO>Y$q7~b`A^e&GQl0$!}$eiD~NcuWX)~^fLequAp_cHO4JUS!%>zRA}z9#Qn`>>8&WMF#873C)@e$MM2y;g|?JqX21B0=;7 z!5Tb;$n&o+qws7tb7=TicldqOU!*!A;TLu6#;4OM^?NAUO@EvF(5m?XqT_MyLo=;V zHtt`Sn8lM^z9x+1$Dq(jq8Ep}bU4~AG?0Br)Dord_HfHn&o4NsOAOxo-{>zvZic5L za@Vy@VV{I_jc4O@|)^TIy-K;)~jCGH( zmKke@u?`!{Hr9w@4KUkSM=#T_i22%VtewU>Vytt<8aK@(WUPCP6*5+Xv9=oPsIffL zHNZq;-D9j(#@b=5R%4wu*0>oOpu|`Y8*8(%b{XrqvAnmKsErje)(&GGH`dOCSDNFr z`SO>T%o}T&v9=lOn6YeQxn`=*d}B>B);-2rW~>dy+Gea>#U@vHz6vt|Q|Q2M#-8c8XJg-usl+V8JcRio=248q z_Z932rr!D9=-5wUZ^eAy`F;WWCzxi;KFn*Fw=ojOJJ|1IIxrt%&SP?b=VHcV+W5W! z`zFkE%q+|un0c6cG52GtF<-)*!fzOR6=o17iW!C(gL##DSdaY#<|)jxnCCD*#O%WC z!I<$~g7W+oWeo1E4P^OY(=N^!-)z2KG?p`jTAeRr*~aQJR;oQKi0reN2QWd*modvR zt1-103zMWTIV)}?c~3k|TPDoX-Z9Hq3ytL@A2MH0skP}X;`uG+IOb27|H1qNBU6Bh zfBM;LS&uyaCQQDs_7J~0CyzlnyB_e>%c+I0DdO3XSNDsg>5T${wT zL|og%HD6q<;<`gz$HXO?0h>>WOI|K$_LkwgPF&-~HC9}+#dW#3?iZI&Tr0(uBd!K< zea!sOyj5I(6W1dz(**HLuw- z8|#kdJh5gqj}vQp^DMD$YJNzp8=7my8h_nKv~6evDk{(k%nv#yAcgM=F1LB7SUJs` zvEX`yFZWk5^**;&r{1<%GZHZMB8N~x&s&74#yo=g8m12OIOb{0_c1@j?8fZJ`~veU z%zKy)%qN%+Fum7j`3GQzW3Iy7fSHQ94KoK*g?Rw;MNAm878A#O6Z0L+^OzrDUdHUj z9K^hec@uLC^GD2S%wI6?VFuA*UDxyH#$;uSi$BlxImRKsy?Xcd_UYR%_p<&z|A2vm z@&*qXnt%DQ;UlgXIcoHnE60wz>Qh&bzb5TH<+`?Dg5$oweycE5!iD%81@3=RL77DdMV9V#W4SxtOSWjQ*ktwcwXj68XC*^~ z`y_fO7Y#IC=lWJyS1#zMB1ug4dZd*PHvUH|oti#7BsxkCdw-akNtyIw_FVCrX+H>8>7s+hq`CMLG-4a-6wyjYKC2yQS88 zcRC)kJ9`^Qmhq7drySf$T8;V)WDQbsf8olR@RzLXSNr4UeMc18DPDZW^;Jp{74*h` zzKm2mhgkXw?@wjz$8Nza)V2%UdRek&T``gJR-(yETI84L4B(-(Us^9qek*H6%SUAm z5C0{8iDC!Y81ssoJ+?xVC7Ndz5wPXCgb;PDOGMZlHIuI{UccWtf9_mn_5j)Go7Bn) z#XHV7ZSgM~ncFapm@SxRG1_03WmaykuJ>MYS5?NthpidbMioVw^CHisvgVD?X>G{2 zm(#^$slo}tmppVNy_trdUPx83 z@ROEsqIvzx&Iai$JgXlWh4IpDMASbS(LLZgUk*mPd)b@mWs`XMMsRO;FI(|4AQ{Ws z;5r_rl@jxJ#Y>wFN_4{qg5JA8%>`34hC`Vb6Z7}V`RZ6}PV?Nv{B0RoPw9dl;^e#L zOk(hCa*WqNymV)L&Zc>hdOWJf(Gw_ z8i~|IcqiIANE~``e{}UBa=_}4L8DKGhWAR;;w50bOt->^SVjXoY~S49bU5AUSwt;Q zdZ)urSS#F0Ukz=lhB9`+o!pis(XNvMcFwbmRGSFOOLjf z9>pQ?G;8Z^mDZc!Xjh$lH8oSaP4K~Sv@`N*JG3`z5=2r5>P+cTcW7B-=~FDDsVU9) zi<0;L{|=3y!t$c$=Y|%u%i)>yPG=>L;qq*jIPV})E#!Q*Yn<$p zb+k+AUh7rl8i2@lcJZrg2d&DPTDteK+*)~uasIB3z3dzYXKO*nJTC?Hw#a_A)XjVu zRfA2vaAc=`eyD!f*>HxZ@gbWNXh~HcmhnM1$hg!c<$0fjbIzZvw$vGh>tQpR)3d+w z(@g)|-|1y;s6$65C3e3^p6vZUK_sePobrbrP6Iq)DW{ zO@q+UD*9G1f^V594#DrLa%SM{_6X=FfUMqy?;sc#uUiSwTvRN2b`^s&^jKndkZ6tf zpg+K#iJa9Uk9wILN=hVwM3ZLx@J^}NeClev139A*Py89dqa-v%C;w7osw5s0jHSu8 z$F@VRrDRs~M3NSvxifq!Kjfr@MQH-TeDZG&q;rP>X1CDTSQ~Heh#jYCAJB zud5lA3?K879`hx)S0UXE&s@zXnv0x-JBFkqDT2la?ClwmtW8BSUL)C&jO2NZWOFhS z8HOgK!6MDcl2jy9g&l_&LSsc$37#aYx{Guib|b~*LzdeE7uuKI#$$33DLu(L2RCAg9tBwm(oWH*1GbMJ|Q7z*N^G~!u7+z5gu zaBAWR*ENI$Xnz31KtE@RR5-71v<7<|KkH6zrnS=jUB**m-NVu$YqC(`&m2bEkL7h@ z25hB$Es2tz+3Y5Ec#di(;>6%_qBdE>PRk1C@3+~`4G$1ictN3Dx+##x04p+o;2Qh>tbCqw*0lP z%X3-{7cD?xfk}%vt`sac<*Lm$*yOfjisXzG%XI;CrtHTdR&!Zoa)5p`i zvk}fk2VaH#Q*Jp>VbNQXfZ2T&P{u>H(evY19Wg5jlLYZ|A0YCx5@u;8mQH@z`$v~M zj_@=Nfg0E4F*KuHgH{YnOm1vuS~7&dQ3L zn%m2W?3}dj>^bv!NIu7|J1aUH!5)#%yuvfhM{yYOR9|TuJ>X7KkDk4n6T8WchgpTN zaXpr&;7KX>Zb^OrcO`Yv&Ff_M{gy6iXZ7MzFVCdBh&-GG%~yCV1*iO~f3mQ(C?<8_ ztNj5zgR={2-CrfgI)5RX(X-QjRzk?;+5B)hJ`fDxsI+GgkG%UrZ6~sQU*CgQU(>AO z^S-7#i+Sgh$05#5*P6^-cUEqf`)a?%Z*ZXoc1vL4{n=i=dPV=lf<{3HM`zgAw&trJ=meh3obGB4@8&@o8VvD~&VlXqRur2=#jd=IJGPb9#_WEM7fkTp`;EADP==&rXYKU`- zS9>4*lWyQd(46Y4`!4>1n?IHs`XXNT$zULQjYAkJUsLWVYd?%?=nC0l88A2K(fDR) zHgY=$2VH!Nq^RcZYLmNiN#;;zIZDXdJjF0H{{_kR3Zv7KW%{#!}$8=y$VT7JI zJ3*pj@G0R)tXVI4rEFh~qU&@D1q?r6)xIQ`q6K=n00K+e@g(#sZZNVLp)f!$JyTAH z7%w44N&u-x3BVCfWl)Ac?}yMhw1Co}WSpI2qI+Lb0vVoI85F8fl|y)l`9+~Hpbfv*y6O(l^LXov)wDm6~rV&PK@uK+@ry4RAm z8(#vn@ts-yX1`qYA(=a2HLixzzT921W}ryPygb>)mEwj)eaw>$h-#!(AmbRURrc4u zr4$yyor<7L8K?qys!PYO_CVSB0MQ(1c%8# zq-YdVSB24%qC~{JDqPhV6{e_hk1$2?-o@>Yv3-e}JIir?ly;6v^!DwJ3KLvueOeS} z1`@xfG^YV7gPi!a<>UKg@f(lzUSE2;!A($~`S?fX2dk$v<}dnjak{4@-Nu)cVT(JPOmqT>ub5<6pRoHi|P2!Por$i zUObXjwt&oPOIF!;0J28KztaWYdPy52rX46IU0iPm#H3pVYNl1#KjLO3ipvFYXgsnX zC2{j{7B1zpls$SDHl;uvSNrOIjRR#NLAj=?0u8})fADfA?HozzE<5+JxZ7jtDjmUm zeIB4$w%=vbC`u^k#}M9p&D>>Q;?DlXXaP+IPZVMQU;s8laG95_QKYWdARtAVW6N&oaz7Adw{J zoa<=eE5ai~MJ56ogEtyizTYkIwshdV-2#i$dgSBFcph9+7g04dE>4J1znG7w2C>46%1);x3=+0J6 zMTkkt-?bO`>&uwzd`kTZ$w>Ljy1?K2`0Mx=x~5c%&tylKwvKO7Io56&)Q$ftzr}y| zMP+ljVPqmp53?g5pYqjyAFqTAebuU0uaB$O{bv4iTkhihk9ivM6S!pJsTUH`Sg-Su z+t+l^$U6m_+1-(vT6#+E8kBG+Sz7FnJl&UWCyLUzMJ3WcLYe*%(xorlLtp5gNm9mB zmI((raCNlvbLreMQJ?A|dzEpwz1!Sx@0bV0H1W|wuFkI-H=WVd`6c6)`Ka?j<7R)@ z)rndbDWri&F5+4}oyGJ60|Z9z`N~A?Ii1&38cOK&nY0&s-e0K=)ha3-hPiRRzeE(S zz2&R>4V0hWo8PVXz7IR3bS^9ckVbXn(oNHz=bU;+mj7GW$1pD3<1sGW71*_y@BTYy z;F#5zIOa*rPcbs3Fn;9}PqtQT+plq(O>R_D}IYt0T z?&b2rSTkD!Yje;xv06Np8&A=eg?Mp=FGpWLLpMV&m%s`7W1hyigb#t^qfu^*c7{Jm z#F2>BtAl7x1J$^AcDyVvCC0jyKHeU?N8%#;R{5Qk=;rh+jc408_+;YBjqH0|+BbYF zIE0TY63bB&_ORKOyV}`rud=g{APEEy$?o73yG|=Rb(;e9;Pn!R8&nPQnGhs4370HJ zjlOE>b|z<2pD>b@*3SFsIvhyclxULj8XY}}CMj8aOlyW58E9pDOe-PILBD9Z? z7z7=1QKV&F6XCoH4OzD;bH?F!___+~8BLBCKpStHz}0=;z^b(8LdR%9JoHOE=C!{k zOb4%a3-+S?Rs~Fs3lsJWpO=2-q5gSI=vwhjF)m9i_uBWH7*I;j;k^@y>(EdvWsluE}Yoyg8HDO;x%d_&J_-*p^>)QO_Lh{Fa)+mKb z-9Dr*i!fv&lpW}-Wa5=W6f|Y#+5Z+3e|d6Jb*(y2EhG4R_ke|Mmtk5uaHK$!1gioB)dyJ}g! zrrWcZa#v|-zqCko8qYLwyZb`4u2<)XzK2}vm;3+hwcHJXEPfVb>u!hH@92*A3)=0V zCA^H6;KLQ{G6p-@O)nG8BcI>E1k^5<_g(hodfy#}Q6z>@boCW&FGs0vGW z3mMV(YYZVa;cqwXYwB3aH$TsMwX*RMqum}KTshi>kAyvzr=kmgS>(zq4 zJNg6q8-2_f`mYxwWzwyViQg=>AqZS?SY(Jm<1%;ghmZDlWOC#pOuktqdqxKAsg9q3 zJNwtgzgh7+(3V%TH%pi0B7cG=je^%_X8&SI+}r3GX111+{SST0qL1ZOC*9lpR#AI2 zMQ#`Q3BaPg_^2-`GIlJ~3*KaT-j)5!0IC%4)EcrKl8p(u!~uusBHDZp3TpXjE`?BjdkvSg+x-tT*SD}cGd)_E)df=Bob+Wb_-wFLGYQs=0!^K*`l{BG&vuhRZn zD*anb`VW)7b*eJxksdOFpDMez#xf$ZPqiC{hsbh9=%Cf6*N?mpY7tPeQatCBFZ#S- zsL)0JjyGr;9^sT+?UG#Cm&L`aUnfy#j<4|s7lP~T8sOEpEx& zuWXiiRwmhr3BT^7)J=N*%9xNPtj?HLQR6c*JI3ombezVzmHYRbZ+t;vK z^#l@yI-Tb-oue;{pssjKL?1Z&eOW>$*Nm~lpaS-bez_wp2>MVwCIPH1;y?P4XZ85t z2(5|wdO`EBU9NC=rV{i3uH{a%{Hd@f!^`rz5Okh5=%THku+h&$Q21uE|JW|%c0cm? zHXh}>!tS6Ne7o-|!SBqa#fN=$KLy-)>$!l%gDc7#y)1>b-OM?TE}_s!QCD}I)X9b% zKRU;pGo17-En?L6Jnb%DHlQk$K$p;pWy}vtSQ~s6c|A?CHO^Ccnub!sDtn2R%imet zc0w0X8m`&adw<(olGjhTYEJ|3#&@6ga(2?;&4(7h?yHO9stg{buUFV#Hd#jbdI?&eh(q)U z{!C*jFQMp<;}puHiYOAhr89^;jfWRWSHL2Al|}S5h$d63UML<4X!rUmmKOzl zTlY8S&f&uq_u21`5xS%=qA?i-I3LhFbaK^)G@LoTur-wt)Wes=%k%AP)A>ns{S*0F zxtyfUiZftWcT1EPcuErG`6Y=J`BY6HIPD&(g)fi;t301f6qk=)1Iyz54&99t-rmAq z(MYJ`(z2U+Fg2jnl~D^{S?aJsi4}hPH%HQp(0#R%=RDnJ)wrAj(jfvAN3ujsU-iG2 zESVi;sDsPMy2EOnjYaLcJ`B9@8P#}v$Br~<*^iWqK+(LxOD4;;b^LOzaJyddWEDaLN@)6yms7Ob#gE}!$EbcKEvy%}^ z4=Ir)Vq#f7%KpuAO{W(j1-wBpGC2sA`|Y=0Ne_a`bvg({ipwZtE!_nvNRiX}vTpqa z6~v(;`y1@f&`naF9&|hjjaq&It}KZ||L(90aMwDx;7*EJVgDkc(Q@rOxo6kM@v!OZ zjG3G1;bKN&vM`&0{nt;k{DPA)B=fs2=&VtVE5=vay{^bY>lP~((eMF{)~o03Uou;+ zZ>_yj^{I^jp(@qjwC^zKCoiM3D0(OS*__ifaYaz1D+eK-Ydl*p59a`v50EzB~8F%ST%WpZ;*|XkGy=-oJW& z{O%E*0dCljmK*k=VVXt_3PDID`j$xKl}IYbI(zT&!=dw{c7Lu1Xa9n?NCzE=-#sy2 zKG{hxl@2LH*N)C!-MhVfw2XK@CasZ=Nqkr)e_0C$!c1Yepp%PHn7Oo5l0|)U-`1Mxw+2}7AlWOXviY@OFB>&; zxMX@gT!uP+1^rZqjL+a^HYs#U57-+>0OBZjB!b%oY*b1A=Nbhom&YB>QLa8jIS?}( zGY*qMFX6us!FRSSWTOEYz+UaW8B;tR)P*KqvTliV2DfOtipwUi8nHH~_^ye|2QPs> zI#Y=fNPPy$DjQMJxVY%)?Ce1m9@N3&+f#ga`4AH+ECL+SPlgfW95w5XbyU+jYzpQLePFAnp-t_oGlQtaD zL?)=l+2>T%+Af`=8qvOmpdku9-l8N))~JpR))Z^hYQ0%}zzEeY>f|S$k_N^zH&}W6XhjLAu{rnH(HY4_^dK**%fwf5BVx)-YCUEy8bxTbDZQkcOx`5GFe7B&3S?y{8wDpw_z z^S`pvzU3Zg@G9ff6ZeLG>aYFZac|x7aZ%IMWi-uzgXyMu@~e`Qi?}$$lL>QQ`#&jO z?p~b#3)gJIIm8ZGE$vh{Y8sF#Q`%9kPqk$E8|ckqf4na>|1kcaPA(U9KZw1P(mbAc za6PTW9m>A+Rwz4U^Hc$s|3CV|exdnKXSWUdO~y`_p>Rr1&=DZp>%>z0YH0jY- zeWUHCqcLF}`zD(7wm?j73-H!OqDi1!7C1&jtP=qvfB3qfpG;QTudbxSl%7=9q8$vE z^@Qd*tn0byh80=&F%kHYxhb`+i1RYFKQt~lQR9da2NCECktqgczY{dNv5WXdI~fi2 zHd#DFns_xSD))h4>qaL?@q5d!10Q@yVmDswD|<>~krN=&BG;7QMCAgalai4qiL~g0 zHO(S6wlDv0@>m6I<*BNQU;~lY^b6SczIQ%xjaFOsF>Za>V3Avp3bTLYV)g$9TdZ)y zj{a(Ae@^|g>y&+vXE*A_+d(KoK`Af$w#DS!&fR!746|#!!!MuBevbkvkHzDeud!&c zzdOxTZAS0V_MXdztBPN=l_n_BlSGC(Y_cN@fH6~Jvv97uJPQ;ST2q$7>9~3CoF9GHU7-g%9?lcgq=R?i`IgRVxmExNa4Nh_933Z>^i4 zZXpOsecRT4$XmYyaPFZhIZA9PA!Am%^~@~neg{LhTCr)8Rb*{GRs74fg{wTpZ>+d3 zXrC7e(c8%ld1#AmAV&8jL!OI&x#}_)w>KW`9n3=+LFch0i+9QOs*~?6~^T<#y}@?#_W`H5rc?*h9dgEr+Em z#bdG>5Aim|f3J~MjVIb7ck*1JLA<|m7t2s#Q{~1%93W~rq>Lt{4y)HiER<|j}YcLq0XN~TXcusS9eHY+S{{HY{`ce zll3+^x=|0jXn~!4Cyp|c$Zp*vV?Qz&f`pwR@r!gOaRh3k0+8PYvJ1yO%WWhqVQ8&*a3+nn#KkhZu~(C?*!ZqlGe zpJ0Aw(Dn5)A21QF>Xx5rQpFr{mW`WQIXdhq-p?Ba`#j{@6&_PC-#h#;yJNGoYs}E> z_?riUbGk+<&hbUDR=@}_er>cTG%UDML*!}*Z)S)J`}xl}^&8?S*WuR9eM^^ZT%5TDHr>0`cD@ruqoKPiL1e8&nnQcfeOC ztHz?(a{T#frR9sXPS8fAVb2gYv@E*sA$m=}P<8Mj<~JmS&wPoY!iB+1)+0BbEo?_x zj6~$QE<+2ciAiUmT9R>VoFlBq^Q0fl9N%x|gi!xVdk|Y8^f7ADd8ETE5tRO!<0xy2 z&<{_)*3RCJrs;USk@FgTA!7ZUd?w6zy^MUTbVR&tfmJ%LVdFqjj8_KYWkEQeg(lXSh|xv9PBmcCRMUAZ7Dd}Dj;Z6c6J?e8Ia7mppm8Q&rYNmfjT zrp_%N>VB&p>l0aD6Nn^SCPA)&cUwR4GUHnnh3`~a`UIwRqg65i^6y1EBzsJW<8WhH zt9vcheRnG+v&Xo>vKWDE_P5qaQ3~Jk{p`=Kcy9-LEqBwde#?ebv4+YE$&{TQb%^ohFG z#syivS&MQbGj8zJ3hP#LO9fIYC)m4lvY-x`+pu%N7yK-S+lW#C=GQ zDY&C^7RR2Qw`fFOoW#|6qojDdNzv*er}i`_`9!Ecb)Hk)?z^=ML7q-j*J;kV4+y_a zZPT~elHau6S5BupTksLv_v~3`yvBKsI^v=-)t0Mz%;coWaL%IOEMUI{Yqg$hxw+GB z2n{9gIgw&ls6VIe({2g%<-X1h(Mg}4yu3R>GOk6UaSdwZ_VIWQn z4??2XUj9d|Z78A9#v&awbNofO$!zrrEB8pVav`D10`>!XlEJJX0&B^BK>X2@nd@I3 zL!Hw(w{gzNxxqu)@Lyg1Ny2&fF$%E@18?ltSq(f``k$<&%5BBAl; ziAGk00N_mhv=$>=`m^(#b9?D2^6HYsSbOQohs4Q-Q|f+y)CG;y`~9diY~^x4o5n)y z4~#AI$bxNnWX)`Dj2BdnrnJM$#vxqfg`Ix$u`KIVCfgfj%XDs{Nu&-EyJhfH*+F3( z;IHzKiH&|VH}nOW@A8<#*aPj%k@rTsm{IzbjYEXJY<$163E``1dRN#F+$KZ@)>_D} zYfXQ9(_f(oWvk*_B7DnZSfzPUuNxla!Kq54!k_&Qcf9p%N811W|d5)OOI-tlb|uX=JGg&aFi+t)0Y0`n&uqc*U{HwdShKWDvA0JuTcTK}Qf& z6U&msRu6Ld>UPnd(KQQQ>*w@CDFPpo2VdQ-0w%7t=sfh*P8RqcUH$p$ULcZai%@<1 zJ;N_P>b78;Or_?_D4^&bo%lmziXNAG_qN5@H{i5Ue z4ULGbd6?BwbdN3qW&RMqOtBA1w)RZZCizr!Pd=Vq;VTkN!j^M=gWn3<`*)pvL{t4H zyeDFk)ySR_+^$ezbj_Wvs?hMn@&$>PM)ZPSvVHn%mFdd^ojwk{qn^=5FvX*@RweE>Bh2-&B5Ma_5x}|CkX3&qX>`e0Yu?8ppAr zh;+CL%0~NU?|145QC{SF+3+1bpprBt*$VqhY{f&No%%*22%)4Ch6hM(ga^<^r8hn& zV5y$llf@}P=c;hTd4?k%h>F<#t8(GbD;F%!p)8%*>Gnoww&`<{jv0Ndv!%k<+?lm{ zS~9vq)00h8)1O_fw0{38`>qL^KgLt%AQ8U(QYs$ij?&ZZWp|P@){efqKTtj7*2EKC zIhlu~tof(lk1mVs)76fzHUhPQJ?ZUK2)qalP)|`{p{@deoAW=N{jKoUE z9H7cI2n#Fq;@fz$cy#)ei)XNC%4Cyu(WWDUBV?%As%a?PW!}ePQPq(}xZwSY`@%z7 z86AHmiPRl1t5>m($M6*Bd$A76@PyzI4Nyb?DgCnB^_Y{%#3@2j;8(I2>{7oAwT8US zW2hI0!^eNHNIDagwmmAlP!p*M`+a;$tiw#KDay)O4ok@e+WY!Dv9YU`j4fdQHhP{T zl!w*BUsUYIpZSDhO;(lNHXAmYY|3#msWy8FuM1JSAf(crB+^2fdH8!S#M&XyQumir zF+wzJUy}yX#h$xkKW?+XBkx5zGRS_JHLdc|{mRFM2U+Fg`;|}Ny-{AOeR-PHu@|m6 z+Ak}r4_ZSD|3JB|`fX$;uKTNzeJ|n$@qG}{eYLo=tS!Rlhi{9175;a6^m%0@+Uo@e z++}~;X3{HP75~==U(vCjWU#@felPvO94JVWAX;k}7l%TJyhQ5uZ7$^;(~IKO5(EM5 zuMr=Cq}-#RvTzCVGK28(zKxgjiZIWi!op z!w9#t!_5oXx;14zBYRfy(md;Oue+mXd@3oFt)~X zRaQdQ>9xNHm+bP3c;J+&qeth;q6dMd{$yL4=z9*6K&w$)2Na@&vJFH}UfoUNFo%u3u} zu;0B=_WI)r>AWtp|FtWOpe%v4CqnZo?5VmDK#@>JwPHd-q#m9t(oT{ZqvC z^nJlniuSvO>wB+19638WG=*hS(>sx~xA$8h(t}Q%Lr@LWe`$NKt0uLTWld!D(dlXHRZvz=+~Ms@+Is12^i&3t=@+)XQ@7BY}$aVHnq)5Fo$o@Xi0Wl z)??9=qoo5(k|)hqdkfE0RK>%m;7RSsbVeLX367qrm+i{&u&*J%Wy#95t@OP6%uL>{ z@Zf^?;OTc}kl|mi6PS`E6W3JHZbsE+TtYXdaOamZtCQWm&>D@rYya6h5l#TNi5|jI2J5 zvLOp~^=rq6^CJ7c4KwHp^$X@L#8byWau6&Lr#(>pd)rD+yP`AL+lTidPYXGGBDbuR zdIy8}>l_}Pkrf_`A{dajq>uxH8#I#F7V#L3#6TBDSW~9f+PxH>%iFcgTiM74-;lgiWk>aHa~q~!^LhQAcxycr1q z>##iqTdMSxkf(BPCq)g-Wli`*aWbLWzq2^$oGuKtjjQOc1>qrV>IHXdo-ZfQP|%Lo zKt)?N$%toV&POWQuk>lpbJxQ-5cc6y930!yOuvcx0O0XP%_vDZX_Yo9Y@2{Y64! zSMjkvD(`*W9Ft!jU{c7}6e7RAx&=U(_eVCyc1i0sM%A)E|HV|^Z_+T**f+=I*H<@A zAuAOkzrMPGK%Dm-eYO8eM2))dLUeCStoD#}bbq4#*GKC#u>AV!eg!1D$Hrq;cyY3$ zm$*Y$H^%P41Cgj@@BdXQPv4UuEncu$omVx+CL3>R+22Zg`R-BmznYR-T(Fgb?Ll(IiwV@sj-7&!&UT0cSE#YKSAL;Dg)oy^J zQR3vQy^QeD7Sq*gkDiAHulA}m8-%|@w4J3I{{Ki-m{y8PEB%u#6dKs^@A!_kt0?O~|74Hvp{INq&XgMJ4_%vM0l~NNrfYEWtVF^OxV8Pyc*}{&}za<^|F}_h->m z+zw9nPi8OaqH>;SMJ1;7-kbXp>J>uGcHjINr&k}yVrwlON`lCZAab>S&Usnm%l4ws z*?R0EG&j_GCB{-)vMG0RS+OvXt}WjG=%=VIw7)HqiJ;E{Ll1wBk7&y{Q(RfjckaL! zx3=sd+S-tt`K&{H8gM2vOlG+}HyG(s@#Zo@xuRSIUe)+RyN37ER z)*CX)rjeKliaavz_LxBA&p?Sm!18Awds9NlzE3i-5$!SE1_Jv}3uZVX4(%y{4Uy$A z2PV!2Z+lEW<~#`kua#3u*y8h9ldH#k&_%HG|T=;GzvCTAfHUN##iF9_kdofmfOi2&i^ zlZV(o1UV6Xg=kR6y{(L;s6lqnwff;grSewLe1!g}Uburnn)>GldZ5l35RxPaTn z4Z`wFeIys<84af$=T&TPhi7x58n74KDDlgE<@5K3hqd>XOp6w9xLiia5*Z)*&<{go zsJs~y8X#TjO4^T5#(V0G45z%tA^BVr5Ry*-Ju5}G@VCbad~PCg8uzfxIbAmRaP}N=hL8#FUju*{}wzBqH*Uk zI=bZZ_s1m7+`>e`BCnax5|axn?dO+jnPDatmPgw>(Zo%w{v;&$oA(omTo8E(yWjrM zwCJ8Yg#v^M=gzZltzj%BUJ`(P<|$b;q3F&ZUnc-!$~ah!ue*ovx_C{k^O6N{+B4B4 zyDrJ`F0`v%Pa#PxMbx}$qSoy^(cBN%QzRwbEhS|aHF+jwF6B2a_e4A0;Xf5UDV7lTh{O!^lOBFhxWh5EKgL=tsQi`!zegv7SRG3 zCJd6LQ$uAuww;f*m@qfYhnqwZuk_pJu1>o4eo6|=y#=QWNdKvE+q?cu9AR!L#moHm z^L*4~p_0M=4z8t4o%AQSn~v}E$BJ;rdvV*WY{B2B_VW7%#2Tcxl|3XvK;UQVS5Pw0 zUiPq9czH^JCHm!8d8KwOodDYP1WHi@VmriRY@2-XM|432NU7wnUCAlu4hbS{R+JD& z1^8ntHI>=&)m|nSm9ZwO6_XuX{)ymDI=Hwf)&$zl?QV-*FKyT!bIGT=PGC(_*Sol+ z0l7NLFP@Hz4{?=^Q@>^7#cGQUmB8(>Sy+-{TkIHcH@Q5FO{&1Rt1E!(FX}={L;bev z7TRAwPJGZ7y9XHF7l@^eW{&AIUf!7+&`E;r3Q?{}>Y>2EZafPo>?5w4niJcLCxiOYSj1ahDu8<7k!bz!j zxjekaDFiPv$l=O;Y}|^9a#ES1slZT%x54o;_+&Tu;=9X2BBcKYCo&H)K^TR&W^*ar ztFdf2C9bGye8#Xp!dU+Bo!_@s*j;1TgEC@(p#drW#e)_Mc|9-aE+N;t8>||s<2vM$ z+r!?tjx@5C)3|bY=cA3We2N#acTszlR#$s$G*v3y$Ufkssy6!RJ?tt&d-DasUwdp~ zS+e0Lr(D8W8SKL;*Gh+kw#PQ(l5U9j!c9m??H=_Be4p@#Ns2Fwp>bE**RcJcDpj6S zDq1`~(Qzl|j%58Y@C#oNcBsKuv{7^?g+>%@l&z=G2s58got+=fZtLx+>oBFF{^skJs!%D6@J-7Y?b8EmGY}Z?2rRv ziDfW)LL_ZBO+k{*hs9%gI`;|voiEP`ja5?5lpL<48!DBY5F7iiGD5s~pkr0`2r1Jop~pf0?kZPx8yn^ywcG##e8R;a*870sWRk!PwsDMm=8h7#5e(@hh>7(0pwu4 zXUuJv#FShT^XYCFshxb^ldTQwZUD|??vKWG#F#tsalVW~hXPp#4M>`;r^>yid(^5fRP=|2MyaIwZ>}J> zrJU)tM@Hb2xYL0e1g8UB zcR?y?%!CUtPE`3lgJoLlIR&|-or!Vc5#fk5nD(F-yPl4(D^Ym-37J#VmF)zQX*3-u z)$g}m08SS|u3KaVNMi~wiJ5ds%;XC&POfHmt6lDkUbmQ3g|YWUkM~{zbFUuEghp4^ zOwi*Ro{|pN9+B?GKN)rAJOd(73PdPs2c1p4xHCU@>XwHUbp;u<`aoh6Ic3;Brrx4WSs?~*k+xEqG?Tk9E4 z{L-(N#xn|Ha-D2B%gd$5RU+>ya0e>gyFqxPbj!$V$nuJ*_IzPHlPF{ixjpO|=Wd9# zFm0YW;76+a{l7+E&5FMNPT?!g{s|1G~Ju8Z^A)xFY`(#RWYzPd**cN(KDA}pgj zl}T!};VA*7Al)X0(o14yT@q7v0VX*(F94^<+JbJF^jJTxRTh8Z1a`8=qz1K}QJ)!e z+{vE7MHhfGsHO1YnT2<bt2hcn1;N$Ba?v74XW#p3G{GM*WK-ehW%YZR&2z4|6z4`4FR(7DJrVS570 zI%1!Tov!7rt^)?$Ya$@homr71C|`c{sDGx?yTBz&K6R z&@*_$1>khcJ#|UU)0f12>yj8bFiV%jjNsH@Y)ucw{mH>Neb?1cj>m^m$G+N+Xn>r* z9!n&q%Z8t?{^tYuZHhDu*45lz?MCPup)ci}qI(4FSpnU-%$zL@`kbP#x)i!g(Y-E( zZdLT3IQND*%#2(_S3-S?^20gJhjTd+l$>l<&p+$Iv+NuSB^BnfF(#~M!2X8uXZAa( z1Zpce)9D>~h9Ea!{Yn?ig3GL}NW`IDtG)lkhBE}daraRIB_>wdBa?ZvdT|*@TPT@k zsZ*UU&D=lkx~Rk{lHk=WT|_{=q>*lLQ~43CksTLDW+Z=3`Un#CGEd0WRNFO6r%E;g zI2lyP^$Ot~Gx^FCFkBLk2`IS^5T+k>{}UT^PY-?Pq-Y)UHN}J%C;FrKmF<|8nR2q1 zACC#3uJxzz<=k}sEk#T11z1IL;4_b$1t;ry%&@giu22m{J7(2nRoZ86VJ}c)wTIur z5e=ZRI?v~)8ZlU;q2FC|ap>lB=*yhYe*i?r(xFQ<^fRf@LySt&AKoSfa8%?m_XlUI zzvU@^dBSt_R$rb}Y~*|DGg9R6VBQSXn%GsMvc9G!s?61-I}j7lU70B>V?Ka?GJW}~da)JLV=w@~X?>cmG#;x^}>a_7d(FI778C*c{{ zO!mPB?KY3xc~KuUz3Pyn=Ut3Wby3;QPB&=^Ji2G__-{Ca>yqinz!X2}H0F34 z*X08VG_K1Ni*QWdn>9dgCP_*ab41Srbac<){GP$B8Rd~Ij5Apnjn%O-A>t1X!8oF= zap*G_HC8%58Bys#6;hZFP*_2mS+XX}u0X~BZr{Muh0j>d9O@Q}=?Tj;?b#QnZO|(f zea)rN+ZEmSQs`ZZ?!5h?f|RH(T2A9DOV9|e=oM^(6ayItb}O4JT$q%Bp~7ESkD_Hacom zJmQZx3suOCu0cY!SA20%d@*;1XLIkeSSc+qB|i$ASR9+hN?%}NUnEuWJB`a5N9p;R z*+Prk`bZBEDU7wC@J~uc3S%Zx7<`{`c|(^)Tl3;&MeSv>y(W=PT`(au%%RccQ#sI( za2~Q`NS^wb7#hsYfVer&m;6pdF#~y$v?@$CdaPlOR()~?G&TH`R^iX#-!9-340@}g zpSc*Fs^P8O`gaPvJq?~-z_jLj{P%FUJVeKD&K+<_(XI!5_1}SCfWE#34QixxU6zZL{K=jN`xyDstQ9d&Q5Enk%r zMP+!2VPizF2-z(vbuf7!eq@ul-LZ47{$88r?hbh>*ihlJ{Xpcvl z;s=*PdlkLmQs`Vo|I5YbR8zdzLsM+XmNcha9LnT)nns#`DRhaV&)#}bc~faF#K(nQ zZi0q7cyTC`=0rtrzZ811qU$b3r_!9(15{OVGOBNro5Nf%{h=7=S)EZ~-rdsZ};FNr^0s|8uyt}qb}Q9?y5EuWP`+9vOObF31ik zk(Kzm4L$ovm17h59%?q!4eS(e6+owW5yewHfr+$BM)3s4|Ha#G3pCJ06nj_CU^xxw zA!mDg25;^e9O>3fsZu}Hv+r#^gLm`{UfDBvS+`D^N;1?lcx48d*Q2y)v*PQHOWe15 z;_FVN6UkX9GLc;)ef8g#&e0SJ=4-bIU`e+qvI3rtzny?>%82MxGNRMzh%)hAN&LB< z@h+)A$%yRNCz~T9em_J=@pE+K;mQcm5;G zKNNF4=1+gm^1DAkMiUdj)L@>G?=xBcZ=cTczl`}K=12Jb1pBMluYH*1p9}sa>~9g@ z`@r5K%vR!h4f7J_$E5Xp{Jajn7ye%E%JL7v{dI6(#2f@22(IGzIcDrV3pS^n!V<(S2o zv!wAk@L}8$(yo>GasL4G2Jm;WvlG-AW;1@H#QWdGGnwzZFrUX%k;Vc1t-`$pvz2_l zKv^ab-y+OTV6S4<0k0wcPfI$KXBTnx!~HqpwGozZRVV-4S>i%ps{(q-Z*OlO{iyES zFZZ(kKL3E~frIh}`+yA@ntyq9^)Ot+M^s-?T|IJCb@k}#F;`Ysj~ypLuKLu~{En}_ z=Gy84922g)zPkE`i8oFv|$cyY8y4zFR-#Cs18Iw|ZX1J@YH8s|;|#y`QbVuey5SqQ%wK zORDd$u705U!OvA!KlJ&ff2Z#HoX_%)#!SK7h50;Y73Q0m7cl!V$1p2B+5WdN1(-28 z+5YXApJIN__XC*sUD^I(ceej=+zr^j!aR@3!+g3|w*M!X<@o;$_|w30vH!~VY)m8O zBk-5^&h{_HY{e`fz7?3VtZe^O?0djJhWQ5OC}s&^j$u~g_a)5B`1yBlw!ekA%lY2I z_elJ;0^3L&?_r8YIBH!IOrF-R*CveC1z0 zX_(l<Az zFmck2+^<^MhkEUo?SCsb+wZ?D+yA4!+5Xos<-nF=>M)-N{(a2PFu%ogVTSh4_Fs=F z#axS@8-OjuU5nk1?=bF-nCCGkiSJ%aC22g4U4|bSAFbdv1A7UxhcLgxoW{MBV`E(IoSdwjOZ;VfQX+pMFUi8VswUgwJ=xcJ zQ_@O`?4Kzq@uLT<6d4V!Scs^aNW^o0qb;_PiI5BaE+%eQXgZtMe49-_Byt7EUt+hQ zgA*R===|eeYYMyW7a{wbw_~JNx0Ac8L75uukzU!XG-9Ps1bHVj_iz z-nrT6PxUGb%Vz9ked?^nQ)Le&+ch~=wh!C*b+=`6K|mP0O1r}^cVos90fNqU0g2pa zQbB^=BxFPhwN6yt&TIK2KPzD}cZKFhn)Rj#_d*(40d$T}-be&+TmVBO&B==*4Lb$E z8@OAs6U$~LcAmx&ZCwzU8$8VAjCuCYxed*}cUo*;(v!!%lM0!#LyIFnHP?LmM1C5U zVu$aPeRwx2_w3()PwLT&RNBaBi^$2i+0oIB01l@^Inl11a1PhQ5Gu?P?>|m?N6=Ed zXRrS6Nl8g>(*;PsLN>ScVYIOKCAYo)a>-)ehsTDsUU~4obWT(LD}(uP+84^#W|Jz) z19y_jag@Zh$E5PvH$@Su@TJBjJg0GObzE#cwU=?~A^xPYj7wyW#bv){Rx)<@Ias>Y z2-^y`k378m&amo5>Lnf%DN`c}F8$G}KSayPX;q}i74qy9f&bQq*jMmMz2#dQ#XA>5 z`f{6`Dm$AM_WVTrywb2ygi`T?#-MO2oV31GFS{p1IY^@H-=>iviYhp?zm1k;YuvI3 ziOEIz_4Ohn)DRP4*XTakI?)A6Y?b0>DXu}?B4g7K6Y+%g^&-d65W893B7A|iRCSBQ zL_=(@inITco;N;gL1&psNJ5 z%16_k;xR$UCB+E%;HgQFkX@1U33YLw0HnR0Z}obbuV{;An?(Xxq1bL zcM^QHa+4TM4ZhkTIM8}}k~5($qs4{d^--<4y8ZTE;~lC$I{P*xR?aeF3w~R3bEQ4v zC$xzXWe#}?UhnL$50N=f{uaDic!uX^AIY%2cXvC+O3&x}Cu9Iw#Y{{=-M zlO&Z>R{X)Ef52<;2fo@kUaj-^9m7=^yiakw|0wA_oKs%>@uPp>AvWlD<6Um+H<4+* zuJ@I`Uht-9BO}fEr;FcQF$oW7Rx0=~`)}D{?>ug6ZqTyjlHd?T@rz5(`D*hSh>v@k2SK|t|X5uj~0^%L0#zp5&#(mJ##Ns%p&*c5k9J&eby`4IzSG+!W((F5TVjI1) z5FOEe(ii2rZ7#D9tKH6h~%Y+_LsNm!;nc6Ab?W)}|6M9skf|I|b-$UA~1t)(=s7#gZF~Ma* zk1AAfnb0E&6HcxaGB6!3Kd)?^j(DtE)C_0p7xj^6x4JaS2D{d)Vn|w zrw5@tR>Yuej|nalx`_{7brs^sUowX6xS2W>mWFOqsNm!;>Gy5i>AOKmsEi_`Ff-Gy zAsm8BL%BaIVEMDze_|4J2v677G6+v6ABM18n(!En4@BpbCSd<+gN$1a4elX@fZfJt ziXu5LQKsfo(uEuik{r0j#qkee{f1_l@sqp%j~)i7728GU6S4}aO+;^le;)Xo6`kJ)vGoweLD=6PYvGOJ#=S9+2MrakMImVyL##b8b-w(^mS4 z%l`h;)XRzz(O}YyGhX^Gbc!vQHZs4jSt=sjcMl`p)zQQcH}npC$P~_H9FN=;7X}H+ z#1#}hAy(QM0p?n7=x1WL+~+R%ZL^E)7a#N8ddw;CK^}-sUiGeMuTS3fPG84SELAkU zBCgmZhND*LRxqCrn8?#Ln2InRpOMu|gl(r=g-<0NCzFoTNk^A)h<+oqY|3O1*UN0d zYY`xzI?Sx7U#PL^_C>5_#^mag9bJ9W6^cbypK^sFG8xOMvs`~_HF%8_-E18T4e>Q)bE}#@ z(vaPFANTk?k>Z=fe|D~F{_htwk^M1;_HBA$6Lpij=;dchN=kSyx>wCDiJj6c_Lvu> zAIsb&DqO94Ip*ObKa))m5-XY8Kxc}y7%f9Q1!DhazA2&OSs={}I+ogIQ_^nJb9<3hK8159fmCvYT77^)8Ta0;8R%KmO7;p-~xF`Q9q{9T=+L>rcl*a~M@ zCHsuG@Evk0aVZ)l36OGsabz$00)Z6A#X+|ckD)s4%kdzzSJWO9*vmz zxI^V9Lo=4fpAr7H<1D#PG|3R3OGQtE?vObvIld0%IT@6S|Cmc`meeDv&6^Gr0=~%Z zt07Kz3vn8pJR?^3iiFrGl$kP&PiCJ}auh-8-7mTDx|3`i&FbTC(|h;sP8e#*8S6^* z5^YgB9lDd8-!gUM5isE?MxO}h+k81%lQ#<8a;i-)y-H=r!~>L?U-@%*^iJNL&}E!+ z@k|tQ>UY>PskJj}CwBma?joWk)VI0iC82T!QzNk| z9fL`lsr}1a^o%S&L;gm+>kIrE15f4ezoIt>@jtYc}>&lLeH-+*@p`QFm7Ju8J z1gEBFv2c{tz_uCUk_Cc+?Q~%4>o+m_8e-odrDX47a6HPz!Nxg*&^)bA=E%*_KzxR? z6_8Xe@W|iJC93SNk+cX@97CY%9a%j~Z{$jONv`N6$nEG&ZdeREOX3=K4!-hzsesY6 zh3|l&BL4^VDOSA*k;Lm4NKWeIXf$5GL){{K60cvV?i1>MQQha%{ZNKm$R>+eg$Fa- z&FVg-@Q2kcLJf|#^LjaFjn_+ETlI3N8m~XBZaG1X*UKW)s`sl~SU;XuXLc)c)@tlreURoy$)eNx>f z-TT#T(v_-CYR9S%@DZ@LeqFnss10i9lFogPfE(+#DRxa7TLZSr{yDcC8Rn6Fa@Wu$ z%1DclXmFVoQDf;ROp@m@CuE{@>+=M8Ea<;1%A%}ACycgVl+wli$D!xWJI>M5B*$wL z@~avyLMsD_$7Tih>g3_|)7;TqHa%d=tU1T0&h|XEfV%I6?>X;s8TPTy1W&8a-}^LP z)2Rwy`LLu!_?OVgqQ^y~SYE%8YIPSq{*?3iP5qqnNoZxmoO2!PC`v_T+ifLod;91V z$0+wd>98Nf^P_vX-#|QGE82?PIW)TG-6Y_+0D4(b;jAKil!X2C6!Rj-)D;|UkwnIFesXvqqaKs7Fr2!WFf9$<`U{uw$KR%P0 zBm)f0AOWLBh!Bt()M%)NBxrz4f|lTf-~{Dq%f-{wRto0;wmb$;1~NH}(q6ULVlP_S zsaZ-)Kg`ko7e%9LO%uFJ-{oUX9kMAEhF#DXd_u8+u z_g;JLwbx$Tia_D?*SeMg0=2CbKmu&&z@%Im=7UkG$kyd3lCxM%$)-cc&6#8sDKgQ zsNsf$|48Yt1W_KpUwCnSofUm7NB06~s1l@DBV>B;=&!6JkBg*-wCAq9>a-CjY}tqU zstp;fx~QTIqD`j1Y^l_VjvWv$ow&F(<~|2bCYe)~?*jCg}hA!x=(#gG@th zt#k)LWUMKSHP#!FjAV`Pt`fsj> zptN=mxiDQcgY6~wVZdiYwbdXVW2qAt_aa8-MK0szTB9hu z$Q`)@vMlNaiTi{Psr`b>2gI+@oDJm|UW;7fGYk*(K02SJbh06_6Py8#6`E7TRKJ^G2Vul>R^1^LB8=wvuR73=nIKbrRV`zj_b0iHv+_KQ@=q{ zMFix^09)G9LiH*HmBEAp9zh6^@xU!TR{_W?6LHB$nS9vNI7yq6%8B!5s=Sy1uTH-2 zb@X-Eo8CDfoa}{>e8Lo+ ztE1wDlFN^8Ct13+WOng=GkxSn5_+7zCmW%*01Vh^S(eG7_;&J4Mj>0Mn!YE8APF!# z2}piD0kQAmZe3%b2SKD!$_z&}Oda6`X31*I#b3#D=ZPkSnpa*XeU$Zg(H#3aF4)Cr z!zi4K!rj+*PNJYPNo*ewt7e}AgH=7pOEnP){ZL%a9I$W}CVLh%g_0>nVA@mvBfQ{N za26g|8m4{bMkeL3_#t@n%s_ZWw{aGiBcSZTRd!pX(hdS;bgH?YZ5e*?9yn{BmbJc( z8KuRlv-BD*qat{dO*;|1X{5HG&Jj?&MAZ8~&eI;S=2f!bLGr0{8BCrUD`0K7SuG|r z$YSSjtOSR11}hU8T!aj+R^6r7sIJnv$Y`bJk}-t7~ZY*7P{}MM<;Jz;6=)rxYW7({^R%4lDvn?4D zPz2h7%IxE0-M}jFSsTtytfjeqXr_v5-6lS(V4uYqhEY`Q^~7Ngc{3ZDl0ea5JhxH* zMt_BI4r;MLZDAbg1M%V6UDR5;QC9RI>>`Ao!>j%UULX>&(e)XTDkumS&_y|dyl7E~ zvjGoKj1}Fm>T*?4raG!t$pu#lnDFk+2np|g2CiI#*~Q{??q9JXwdSfUStTlififIh zmRqBgno0bUCOo-Bvx^(d$o)}ZbJ>PMqZURPW}~D1_U=f32*vTHhh5{mEY7! zvoW|K1lN3Mm_i~GF2krW&f(4+>q^egYpY=|`c{++oLZ+=(BeOZz|Rt6|rLKPCtbmU>YlQ$z>UJA8*u0(+Vwsmtpq+U1;12uQn3BsbqB* z{IyH5*AWMaz!iPePA3x~V4S7dypImOz!aHcZ^zd$&X=X;))iCy zfmDFonZqX23lZm~C2g0*N1OxK4&T}Caay)|NnOb_As#US6HsSHe2P+EkE&)E@0Ofj znr6J0{|>$emYiME9|bmA^P`i&io}M~$KL#?qlG^Q$*{eaOy`WpcNEcvBC!D_=a=*~ zqWP@=?2HXUq*jj9Nf+pK5?*j`6ine@EszzNWCyXa?BV;mf!ZDgu0tZ(RUYJ9pnou1^&mrc87s0{o!PedjaC7@;bF$? z4uB3fR&+)x?6rXX4#8^Ktu^gIi0ei`V#J9rVVw*e4;AXShvpd)v&XK$jSI?VK!|s(U{C!igzkZyhCu9fWi?{& zLnxq09!J&T;_K7K%UJq$<{$E7oXm$sD3hwtIy^GRj_iUZGmTT8&^nZ35{>s$BtDcg z!b?wB1pJ@O2w(i1>O&v33A_l5-)Wb z0p%G&#p{(8ruy!|O5E0d8lqf6)bkX&H6=8ILf@oN#NA1uKeIwLAMUzV_LHBU@Vk!u z4wK)#2|r97Z@`C!?VWL&;N7MjO{V;Nh<#{Zj4X_Iu^Ec~q{lNo_1}hv9#8kw-@z{# zo_asOI6d{1c%im!pNN;lWcNo-+C|jq^iPwmSxeNZ11Rug$|E5swoTvs8Rj`!uCh5{ zbwHyHbFT|mfjLWawLx;iTiOr9J^bitM2H0fN|#xITVw@dWxIn$Cnjd;4+Xhk;sZQ_k`T8`ofQ#M9D6^f3ga-rf&a^$$g z{xc@xXhjZ1Kz|!;wBcIk#Mb%hbKt^li!Y+2K{aZ{YEIG{8^BvF7AxlrSL7h_V<;b`MNZakyVb_KWq0dDd$6odr}Lpa7C%flwNL@qH5{bPCx4QJ@oRsYm(o!bQO3 z_g#5N80~PGACfns{T$3G1jMZ}n6APud})sOMT@zzC+^3b|5EOIW8<6=-zU`AekG6C zFSc+lbPqK+u7I^`-wdw!WVUv#yw|F3wghNcLp*}$co0=aKZgic9R^*qN#H8fA%(|c z7hw{WDVPVGK2Vc($*lASkxL3n@8}k|__DvZ~kr^$HWi3@B6#4F28qcF?e)w3g?NE7 z8E6wfy$d`MFp-C$m<5Jt(q-lq@0T>o7WkL<>*Oh1bF&UwK*-aE8)SIb&a=I&NTNwj zYL!eRJ;l^xU29bk~71M#Y~ZB z!t#6zc@7wB*u$$UD~w|zlXzs#`?PpEf*$k;A=cEpfjuhp1*|$Jg!vjhy@}RxX`cGO z6Aa6rA}dZCWo0967(-`|Ue=s{a76SL%%$D<;kLhNVhH4e)E2yTL(DwrAO_n_H8qhc zED=ezZm+KKW4bU`bs~%IH9-vCrCm)iG}vag2pjl6XE;N$`q%QP#9{^%lIELt#wTKG zQ&X0*EK{UdJ}_A7SdLZYt_Gc;SesK~Wv8rbtyqvvt-#I1<}ReUu1PRkG_P2v)#bRh zT*h~4l6cV?p$hyi>5PJUg{ux5zobrXRAsk5o>rN+&EIReI;D;lcat#TqPEu0yLM&x@2zNW(9#zloU^VmggSD2Kvky5GW$ zO9ZgJckWsUyv`M?cbDm1-sSC9Y)}0R^d&QePK*Suho^obd~1~bNLbchJk-}Bcj{#2 zFc*5@g$g}or>taMy7DBTrU5~Ak;z5lC4W1*PK~k!L9t&4SA1ksucBFeWbnth-gH=` z2A5Js?n}&xui!o)|Fjx$Wr%sSMn?)N1_BlR5e@4kzA^yoqywe6a`irBfF+k!*SAJ_ z1KEf=D|4-g{7#TxAmNv%biyMb%FkS&#a6v2D-)U2C%DXhZNzW)_>Nq#grRyap|Row zv{0x$+R5l{4Jbjxw?Dp}MlZ%*hhG^xH-XX#eF&x5dKZT7Q|E#DE{7-b9YVZ}piED~ z4rW*{nQY2a=EEQBzyH2KiC=ob>|?vRcVOjw5@qs)>`1oGX{M_pzNq2GCcYQO=#Hb* z%i#;X=ytl%qAuM84HD?+-k?+dPKqG*_FGdy8wm8vQtCn}sXjDBrb>E;iB#7U=xe<} zN1LF;!z4gA5a@4vgC4$Grg|V1bQ6Itm!Nx|#0Lz7Y{A1*eomqR^`ufigh-L9{ouW5 zeAp*I;(IRtAX7xH|OyF)gXye$EXAc=I*w3Zoyx|`8B&N6>2!}Q-I z{lmUC1WY!%BDdlG-ONfZ|2g9jDzspIvOX9(nC2YO8o&5(HCe)6(S~naiFU_wtVbNz zqU*KdV&DFBFM+%1T2yF3*a4bm$ADC?;^cbZN2Z6=9z|+sVt7&i|6tGBNVPrd%acrU!0l%i->*-g|K)Hart6kY{a#K0JRfLx(yWolSS znwS4}MAsSVSZUd-3$^N8p1Fz{gc0$W6KkAVKl|HH{#lnxONyp+gM|V zWp2y_tffi^i)P~HLcG+C^o#i*p{BIRQ*V%`qgIMUKgX9GvV&P98W7@BNm-DIEtbwK z3vo?{9Z@h%S|b*2w;x7~u)p zFU`UFP5dU|lQEaK=H^;^b4Z_*h z${a5+XD`ZCf|onIHSy;NP~7=yH+JLcm2kQ+H@qy5MRKwl%&)k3f33F8UKq#yf9L)S z5i}MNw?W%FxO)k){;J2Q^1=Z2oSCg?ATYbZ-Mne;31N9*DY5L>jQ1w;0N-!wvqanl zP@%^D1uMTmc*pGSG{}!(SObtGmxj_h-r_&RerCT{%vsB>F4nuwOA8a@R^See-vb1E zWPG7pnGPXsjp+Osj4$sT??LUL5kHyBCkw|qJG{`IRt-V;^ORGS+vD@OaT_(|=4gcg zFuo93Zg|e3%N|QP$rhQaEI)XN{{{$ z-}VO5lB7MpjY=oqO?3~k|1Ol*)P`-sJ9tO5GOYh(Hu64511qjTrZF?VU7^v+vcvfH zd+;9RV*^Oi^o{bF0{TXGH&~@R%pk@Z0uOU=Qq?=kz69RL$1@t%k_><}PKc9_Z>ROJ zmEB>yM|p*emxM1ZiKA;NjQ%XxBY4NP+w5ogM%R)r{ZZ}sT81zuXRt1Km=nPje*g$` zRAUWA2y?V3!&Bs>=6F(-Ey|D-8sEO2ToXgoMWbuUhyJ8*bS?SPAFfQGpjyvB27!q% z(#~pFOD@6)3_<+Z#`;?gQnQFVcX%yr8i?$p-Oy{8_ByFeOo7|FmPQcHSEV%6Hg2e| zsMiy2llV7_%(vSlD{J|7GHfp_v%+5z2^MUZlhQqc81yH7E&c7J9=5n%fj3}-@ck+K=kMSPKCE?p8uwDc?ON5wX742b3p zkU_Me-69oOjQfS{hv*{}^GM2v(Tpoi=nZ;7Xxix7b$|nEaYrYq>w0VBuOb%|`BDj> z?;)COThYgWd}S@YlTeWF!=m{W#$%C6cug*tHDisF-^pYVqZ{?ihG)N-NPZj5e4a11yXo z(XlnUYz?cx3~ak0n^w*bM?TF)PQe(>-lfuabK@ZTl9E04vwDktV}U+UGRUSI^!-<=FvWo0ePWR~kzCdc{l`Kbl^Eqi*EW znobb*rW|~;z7xi)7>TYyz0T*I-F}JguvyhL^&gU*5cq^->Ysg&M8{jjKo@{tkea{+ z!V%m%evj|QUin`jz5ieE$iMJ4tA?_CJ<>}p{)O;E`1~`EL5a`z{@4?rG@j5A7l2;{ z$-+gpUee^n#z7X^9|PD+52Jz?*)*&#nau3Ed4*4WiPM}^mbju7m{zRm1iVGG0{TLf zL^eN&DWg%CXiU7IKFX1GHrh`jsin&}QrJv{;I(kI+aypesWAXQyFC->n28WRpnr8R z5cwgNTxE&%^~-a#>l7!tw;ZwHRhhhm!OCT+eWOfzNXaNlWs;^sNr!Hpu9|ZI?n>I!Vz>D$)3) zTt?A$d_at$NLX}~HxUo+CD}%ecx&62xV+oe)tX;Y%b^fAzN)UjJ2-I)d3Dt^SC`LjKF>gmYvkiPFqxQ?r7_<5f>J?yvFfrrzeJ z=@l!?lt~utv$})$wA3bY6Tc7+m7%QYdo+H-p(6gEmdXi-u6&%3*UIp$>l>I#7Yhxj( zsP)inlBKV5+qLoWrA`FIapad1{$4U+^|vyK(HBS}OC}NDN~n!*C2T9R94J^m#m7d4 z+o+^1#sXzJkl+_tS6Zul==-7q(0C^3FOhVO)tyiq<6WHKs2_vWkTqmozxN^BDt%Cv z{?P%zOJz2(cg<>Uq$*hLH|wx8m#VRu@Us~S1K+WWBfg+Nej`;~*3aMoDE!c|!F>=V z$vT!JBMVKTS;$}Jbv5#mXcyn6Y*8`VfvImqL|MU`BM}0pGUTEdCPHpRbJZwKRFX@P zp)!Ri@6v3eQ}i1}h!}&SUm35=jSY{;+!oT=)={Q+eL zK{ip@ljo=C%ujtg=!S91sLU||6#{&a0nI%d>N^;PX;E@3u7A~*|HV=>dPs0T% zBA$i&5&f=P6`;~7LVQ{wx+|AqU_RT^`oNNa9A{`m=W z%!N)+j%ESHP2fi5j!vimIi2B9ySk6ai6Fp$`0@S(Iq46O_*U8`XL8bsm-yBWb_qB^ zPM$1Bk8;s8G8F0`L)#6!-ClQHqI#MH^nSgv>=|RsZr&SaKGPk!79Pu4RtSY?8qAsQ=C~6KB z^*E7KOlAb~Gy)POdW>R5sIk!XQH`WLy;@u$%R_;PM(HJ@Eud(<2rL!oW1Nz}KqkUE zi9k5R9c4VQBD;v17M}5JEC1$Ezw-QWbS_7&_|~NJ@d}I$J({MU_bz&$6dMRbn0B{- z0c6sK)yn0vR*xYqs+ALDI5#;^d+swdZ8AGYRS$)eYH^z^UK@(H83`q-^D|2I&{xo# zOW-xoE<~`b%EvdGRmqW683wKQ9<^D4R!gmoEcJ(oW|mrNoz&$M%m@&WzBY>y9+W}*Ub;se|KU#YywMuOgsCVKlmk7pu=@vTG~iLYWZC91cj zuvSF*TN9%7CBL-jF4Nl_Xj~=fEpMJ*e~ft2+VIxXIByu<)dAPYYz=*Zrw!B?5AhSM z*U?iOGawZmPc}e6+MmP`* ze`O42JHN;uW=-@(mK4Q|ZpjKPTv z{+{|#NU62bYd5*J_96H-%T&&=KeJ%fZx9>BO#fF3Rf(MrPkkNQrTx#Kq-FwBIDtTF z0$E>|0C8=6EWZ7rWCGJUfx%V+o_Z32_R8ED4hbNbqJMNAWjfX6!-2Hs&S*qUCZ6Gks)3+haqR+roXkGRU*-7}E5;7YR{RjbcKnx^VE+=VcVZXiR!^|Y{D}MPF!EI!6olyh4tLcC3D2pC)zYKL!?p7AX2I8e}## zBe)7`&c_OycMy9pE^{u9N@5)I4%r_~SaYpzuAhn7vE-$Y9$4Cev@*s1SPvOOd`Xrm zLy)M#ZkZ{Tu)cFl;ez}I6*2W4qZPS?08>cO3L%CRJb<25L(ISmP}j#B2a-~0?H*bN z)xV}@FIXS^e7ri)h~5S^vhRe3Ar*}Sq1*TobV;$%T{@l&7MaF+g5!p3=@Uqqxbc$R zaZm+VM6Exj-e$B;Mcm1r-TUL%x3{Lvid`055r>en z@J#F?c=jn;5yv5=GqLpR;|-TiY`g;-o5!?gvA&zznr535c5Siqf*m}|YYQCSH}N}+ zUkiR8;Ag|BX6FU|>V(%fYA^8XFJINKUsj+V=|FHnZTJPq+tX9(E zb|NW&ks{bM@$EnI5*H#~XuU)Htd6RKwz?N04douxfxn!g{ps~c%$Rce`+wp@?;ni!R+ww zR`0&t?^=XrC~LVv$N4w z#jmS_(1w#s+7|b#Y{2i1sI!=E!CptUMQ76W0ruD!rjxZ|WvX{tY_Kv9=%^KUC%hf{ z0IZJ9q(M5r9G*y9+nnV0SV5OXW55r|vuW$XE%^!O&?IyDaZxHevHUMz6<|yJy7=gc z@n+)yD34{81=Wo5)`zq!y|2crNJH0?GGt-ChP$&1CNFGR`Mo?*Y(#YTj(#_5`taDPF>LurB9`fWk(`ZwbZ3xm~+=x zW!WJ408Cw4Bs3W?SR8U9om(jp$hAEosB%E@;CX})dd={8|7}t%*x2CklOSaTLzRec zr3ztn@)1K3e-OHtp$_{al`im*oE6zp5I;Lj3GuP8DFnh;2Lz$qUz-Zq{|rGAV-*?> zNP|ISgSOKq*x5?>x-hR(1*Fx6M6Cj1Sh7MVX-2AaK|$Mim%6GV$?)xm@d9O2&p@cl+};tc>J(2_5h3Q{K89o>zKtecu)gJ*Fv{-dpn4>-6TgkI z+fw01CgJXsaC#It@oj`Y*d?EJqnn;gr1=!SF>zC!>9(YZ?=WyeXzPT*5wuTm7xi4| zLL1zB9LF5ZW`E>wgZlvd_-Qb1_2wBygjxwgQn(HVltU+y<&ZI2gv+z7Q@(q)bs78E zGH+RC33G9hlBkU>s5IZh1z zp8t#pkLbPRE0Y4;UKrp2seqT2K0J{x)y5AYDIPWc8o$xPaj+$fWeo#RkpMsi^;hGC z3RP`Hs4!->FsAB<)-(SrgPU#s*hksI)Qc?WnA9u3kk-zt_jjQ8tv)Z%K#MQ;czuUG z1M9y@V30$RF58>+-+TyPdTX|^i;&Yqv@bte(z*CjtoNqFC&G4l9N3?jJe~TN+i^C& zl}3P^d}Vuqx*JSuBBcW&&S4I2Q$CTt=o`wI?|EKI zkb)#(co2phNaA5i;xb7pzYM3)Fw|7rV@Nt%>Y4nR@5C^wH#$ldPMpI6rU=;Li4ss>gO-AGe_+MVXV3X9`OT$Jf z?~s}clU^(b=JRTtZass;paqM*jZ>sY4FDq$X)S0Tp19;N= z!;UA)F%;7>j3)cZm>Z7yx)nc0sJP@BZkO0tgytYry%?eXY6@RZ;peWV@T?g2TC>^r z9`gNweZ2-0U!X=&dD&d>`zh)#;J;eV@JDZ07@!264y{3aPO|dK$Qu_;OuO_!?i7p^j6I0vhtn zBWX5bPF-M5N0hv|WEf0=;ABBUp8HCqBJOCJTXJNvG%#)Hb6%i-Rnz5VWULSy`|&O7 zG1B9Mr~Ji*`Bn=CF?oH)Ib1quxB{(kWv z3GZ~)&|!3crB34Yk~X1DU_V?3rQWULyI!x z0rca;+l1P{_J_E9Bm@`DYA0|cTK)_31(Fv#Q6OAi=cc1r`Ux09F>y@~q^Eb3C(Fl+ zx56{Q@kgPG1Eu{J=>~2jwm**(zO*%+0_-V=+umuA#WVD7%%v#I7?V?|Mz&~X%uZ`% zDZLz>!p-1XNI8ySStBCY@nqD}S-26v8ExEWn`I$UryJi*Me6uiRGH7A4+^*mgH@<#=h&X%SiUUaf3GM^~PKW74yiuB4LZ616+q z(g_^{b$5$!0#@(3bmhg9k=l;}yDvq;kDfh0C%E_94Y!|*ZF0`To^b3@?vPEMTz_uL z07v;&cWeN4Na;VYhX%1!0P7!!l*3yUxMEqkNlR8`N%{w56uuvz2OpqKk2ilGHaKq^1?pfX zo8>raq!Ik@4Xy!TDSy*`8#UKfLZA5EO+;{NsX&Y#gYh}ZLRKyUz?j42^19d2L+8#U zi6W!+3EiZdRo#qn1mQUNI@4ED7w%uwSfMlbNtqbtCGaoce%xXtlE$ds?=ETeJl0~g z@O+B)#>9&wA<$hjip1~H@?d<3S?nZ6Q9pkbm~kK++CZQnKwCEI9RrG$O+Uw(5b+MR z8%6MfLD9Re@~k}oXo#$5t&+CH@PIjtFgJ<|?1vh_Ot=w6@rx(PRkG`d8CQ2P6)^>a z0Yvf3cBCjH5aqiZMdK*zIm(0{QNY@XPmnc=9+@21&!Hrwr03Zd-pD11G~fX-9abUb znit1$!Bav%_9PMnN+_2+oR@8KA!)2maLPQOtp6UB?46xV9L$o{h|f8Olg;$NzHu2y zNUhk)K+^C4_(O3y7oMitT)!xoNMsx;G{OyUe?T0XKs|d8T=20p^*)0%YsAkvWlYvc zc0MONr$@5bNI{KkGjR=fGZ*dV9>GcndtTMkGn*3{+|$#^khY$lW7#wIB30L_33`Px zkNsa~f7sJv8SHv>g~R(B{L+EdOYyrFKU;FM;2&=hq&e1~N8COu9o|;_j^Wpd-~WgB zR(B_QN>e7d>G@=rYOX>J7!ZH9oAPU|N^!H#KFddSG4q4ouXs7+sg#hbfL{v9;*bYr zh~$IDOh$mDbtxPX)AJk*AsFrhBO6|Uvpdi*;-*C(If=&XE2RuXqe16xCL#q1ns{Oy z_dF6?(P1i(#px6#Zh%{Oj7MO2cIUX+!t=l}>|dMb0bzFMq_6`7ZGTYMqTFjG@{mmARUm-qI2EM^VMu|>(8;gB zoqP2%XBs-ZHc$zILI=cXgaF5=xn2bG_#{!Xt-R7$(E-Y2OoBAdStPd(a1%U0D~Z&V zEdQ%9yVF?Fl`O}H*l1*wY?S4=C8ZpP5QfU2Eh}*=J5IylI~nu$_|o@J;mFTWWC$8W z-<0U9Ft%$D{QEJpqi~>IZ;!E>TR5TL|1rXl}$p>s$8Fr%# zY)U|AJyINIrFc}PEY*-FobV5$l%>U!e~ozUXw5&Qj8vpgqd>`91iMg0@PP)}+N z6_L;vp-_gNJV@yTaIIL{#5AJ)=QLa3)(=?PDMmx-T{)h5I#s84sh-dx3WQOlGH9dW z{%l$o+HC&q=x@7 z8D7R4@b99Oer3J|)4mViDP?q}l<^(_Q5nCNOv9=Jm%$4ER!VqwN*S#1{A74p76yC$ zoyjr~O#98LWgy~lM+p`31gr)JL?zyn{qJfDA#sG43Rf#0ydl|U0};l!EKlGvm+F~k z*5g-X9i0XbaBbppbZWSs5^mOGOltUdQo>DKb6Z;JPf7{Tm3ZK`w8BTEgy+fdqSW*q zDdA-N7=58EHT;9YiSn0?!Mr-euS`x2--mEi4kk6k0#GNSpS}*j&1G7_+6*g4K{#a` zO^}L(h#wFqF@C>}RP00;BYYV^f$*VN%2|VC6TRWn`w;|t6s(uW0SG! z5H?BQUkcJ*0@A*243r=OVlt;iyT>!B6oKA}6!yA&%Vikc3(%ANBl5%%${V&ZjtYEP0oS z$P6bsM49$cFfFr?l-yI=BU+J=GC3W^X8}ut5=j|Na2|vKI?g2!@Xu5w5o>2Gy zH6EB3Xfh4s6{ORgFO3RjItRdNh1!QKR)ltdK*$pnqI&}*J`;}LBY2!QAQLP~(5 zrIB#bq1~##!nQ8TS9HN#BbmP_hbcEQ&NqPV7Y*`t8n>S|sye4t*Ve^r#DU)tb)>Q0 z@F(Qusec+S9kzzPS&jHz-$Y5@Bmb)IBA*u~lxRgc)df=yp86>KaW9&*V5y&Tc)-b^d=P#oXTd6OM<=p0}uy$OEzGCf`g|E~D%Cq)9c> z#oATgbZJw^1b3H#azfm#tly0F>vNR8xCd#{UaIw-!;!LO1yFA1zr$X3R+(*M>{5CJ zV}t0iA?BvXI#{H@;~_BVb-8AO$GG?~T1M9o;22M>QnoRXo09|G!95Rg;DpEbgGwvp zghMNUvB%r!yMt=j%JK-Xh^xiPKR{!*k0ou89^YOJBQmkjfiLOkplh|(OMnr5%w!uOF; z%2Z2eM4({PuyINSg!TlvT!&gQ^AmIuXu(TsG?-?rBLqKPBpXuSL$u%@=k_2e&my-6 z{dk5BG}#uzP!87kG7~w9#jgqpT{tyF*(1L^r4(QR@%A&4)?wyjddAY2EHigy7Q_78 z?;#0_@PNfho)C>ih)-xfs(&2OuzMw&x9{iz1fzk|^Sh`|Ut@6r5QJb$%w}644k?HEYXnfn$ zC8Fj!VtHg~e|0@!1mmp;o^pDvZ$bgEowAkSp}oujsE?=qKMZ)^_>CCj! z`KW*zo1!WW40$y}VyjVN1BwU_H(R;ihgim%Aay2EvQfVm-&RkZh0BJUX5ed*h-URR zWrIu)bFW1w$Pm61o!z}q;>pZ<3WKKcH0^GhmWt8wCZwU0fEk(g@e7YEy;+wpP-EUr z4I2z{0R3bqC;05s)K8MOa=D*$K&OWpnG5w&9(`zVNkJRe-pReRacwc4*p=~s=Gf~d zREu9TmO*|fN3j)O@^oDkyd6r9Khik>R_oG4iJeLT?oIoK^z+x`#ydu ze$(NXWyc#XJ)GPh~q@$rBiS^V&`4U|kp4-`zcyVn=xY9K2%B}eC_m~3<9D1*y zWoA&y)(?rup5?UM(MsALgH;ve3o8sEvSYmZefY$&5o5DuY0I%C^M2d|1(b7Z;Gx}v zf<%6}P24RD2%>O}5uxoPf7p46xONP6>~-iRP|&13CF*Q`F&4`E7$og)AO&ntK8f(h z+u(%xOpRwC!y=#we)w`@6!FObS>_0(gsqO3A@~EC(|1uJZSrWX!PsVw83uwiTtsa$ zz}5^quCxGC_X8$7CQWVvFvn^V$+jICS9(3o@TXBgnuoja#0Jx0l&41g?bl3166`%= z{EF{MjPIs#D=X_)yyski-^TDTgPs`9r|Tpza0i6bkPtHoQ|zMCa_bJmRXsGnC^nKo ziQM0CuEE{R`FQF>oDX9f2Wtr7)FnDWS>*PeoEE0z2q1+ixtz!`S#+IGD7j!gi(~Fk zRCQsAOZ(=IYp=WJx{}FGEq`uwjTh)e7X)drW{UA;X=UMi|Mx$!J%O31E#8 ztY@H~0|_**ZU;nuNn^lV?GIL4N zgMgTN1+{lJ4hlWgj0s@qxY;iCTgnD=VP!*UXfsFD<`S3}JSn8cpI-)iVCM{{Q`OM{ zVIV!F*^DuCGhx)7Fk@9C+>$QizA3;#ZVL1pkI?YlL5yGIzHI&TH0=_rPk|eWj>|%K zYFsk|!B{@-!0<54++u&g)6+-(4%FDwp;#~3qhRdpmy9KM%)h#qBmh25js26xD_xfw& z*NM9^YgkHW57G)*c7p%})bn{l0ZGYNIvV>_Td*(&55E}?%odJnz(Rw?oGPwSWG@!6 z(MX~zbY__oSe|07hH0pq1EE$7N0m`YYiqfIHfamQ#wWN>M;%2n;lu!W{cf2w`W6iv z>RZjG*H2KE9QaTQB3{2sAruZsjD|tnnSPRn& zuvXIIsciAr8oTJ*+*=<9409`a9vqGgtj+qd?Cs)BHK&IyQpNKk^RfH)ReYUaV2*m$ zDe^0)sUO}Te)c$b!>HrNUPyS^gcrt@z%R%y!YwjJB3NU8L?;rpve;o2aPSUyVD$ zjO$nK0c1N)rIUc3P=M$*YCgLOvHp=q9o{MCZvybN0PiXE0vmqj?)~q#0vW$7$}B7vtavl;5y>=n_S;;b32htUsg(-;gGy*Wsch zliHhi5;{$7Ez%3Yxe!-m(w!`+F&v;O@rBu9Hqi%=6_*~jFQ1P6;lZp&Nco4gZqhWQ zV>yO{V6Ou#AWOQmTe2H6_opWG$MBe9O;f9`E z-qER@JDcns(-9FmMg!{+vgVcF>To5{|3Z@X-UteIZ zf&lj@pz**QGiz8<7W*y&(S{J>N`o9_^JVW%EsuyIN!kEBdz7091vy6mQ8cGl8+aHa!yK<8jLJCc=Y?9+vF(Lkeb$pG9Qu-B=#I^nVS6TPcjy|uA# z@c`{gz3WT$W*mwso@$5etn0jbedDcZ#Z%KD9l+i1BO50=iYpwr(-$(yZO+UxM_0r- zti%Ung*i)pF?SA8M$&b}jF{tiB~173G`cgm{!Hj z-1N@yBnV!$QIM%>nM7+zFu4w5_*!w%W84l+Smj&Ok6Emq+^WS!>7@l}O+`*<9j7;y z;o(=da5_KYbZ~D#8E6%5OIe&HZbA8oj}b2qphe@3{Q&foSDgks#Zf8|#h8>Ox8e$D zK>Y3sP-m$5P%owL8hm3j(XSlm2tzoJGKA7v8{vfrPo%KWNnT2?B)nDq|^eC_g;9TnAAni0+Kla^&W1b|4H>5xD<~)nyCIooV`o*<-}bVK*PV# zC3_?JdCuiSy`2FHmP8bW7#XuK>(EXZ(=a6{0!nb#0w<@%z8|D`d6jecrdC*KVT;=MSY*M;Z z!1DPHa4Iw~1fFCd@__b@!ZX0lDBMh&RV!ZOlOfdXXVgK;d@lIAKjSe;+EO60Sz_wt zW*25A-e~PP+|BtL(*wHiG-7PJT%NVWeS^WyhCIC~XCZG==E=uc`6!bQzkJM-kA?CP zl#liNpv}0coa~UL6=2;Ll88PpR7xptlz`93N3(n!mX8ziaaulXm}aq2>XwgOek@qO z;#W9Yjh}(vPw{&czfJi47Qa8>w-vv)@FN%sdl$dI;@5#6g%jN8_?^Pfjsm&x^WbN* zr@0+&{&S{hWV-s`wXeHhVot|=zPe)!*2k$V5AByqvs{n8fdfFs>|EFd!V9f2$ym`S zkTl~mddnf=#(Ss`>wEBl#)HzH-4i0snbmRLBhFPXHXtel#1XUwZ5Lm$gSLxfQ+LpI zajeRS$_?Xjv{!sJIakyw8xdqOS$BUajj7>+Vd!NV)awWBpsnPXdk1YL$I^GuR9(qbZ7(7v!E=$j&j5r^GGb6ZPXhfs*z_m?zgQKFwIQUcj%0N+6zx2fu_xH*e0p+ z4BjH4 zKL1Y1+X3I`pL%l#I@8h-=siWhLGKxj+|VaV(i>Qkc8weB z!VI?Bl-#VQjWnqL5ZvV^+-@nnc~dX#OJn-k69B=Oes&|Ck*cG(46E7?A@B_`YA~8( z2cQ(79aIW*GU5kpb+;3_-*E{w4Cb2SG)evny~W?^>qobn*~Blh(ZA@#P+>D&9pXEI zZE@D!g?)n+{UC>;+Y!J|9~Vmrl2!>uCdueBP(^zTSns5Ly=@0x036KC9>l585}2e4 zy@gL0{Spr#8lKRITt*2HVS^eDdZzj#U8H+L&j7CE_LI^aJnE%?g#5d*umR^ zv2Ag}7rgD~-Rjki8O3((NBZYqs>5*!TJZ$C_I>^H^XlNninQVhY1%yf^El{xg`;?a zL#r{gu7I)(D%~|?eL+0^?>t4tZZcj@y~?BHRS3|vj)1u8yM#-SH1!g2wTL=dM(t-8 z_i|KLChanOC(3}S65ku1b#GxhD#VO*Ts)5I0gr?=Z5-QcD5Sg4wT$43P8bdjC|f8o zF$xImZ!o{xDyWH9o@dm!ktd>nt4xk@l z@u}qfppUm&ET=GZ72HHa+Ed?y#?-SiGWv&0Ja#F9G2U?ff-}Pw8$e<%@gxI~@p+DO zW6x!7@$XnDSkkIqrj#R(8ZqN1VE?LIj1ja1lqX~9_%3WNd~NkPLI(FRnsnx1Qp;B6 zbFASq79zaJ^Ry4GSuJMWZMLR1ly2jJF4ZQ6KE0mvz=)90ICJJw1P6t!gmB4$Kpp#3 zi*jHjp`x-Zgm+UNSqZH@8%>SYU zDD3W;03f}>*CZNAI7F)$zf4KAus6dyy8nxSeK}!R~VY~ zb%;`|5zr$*FqSWhFLsMD{7sVo<=>|79DGj(Q{oocc;iT?3(tsj2E)$Q%2Kwb@x>qt zJdI_dU--B|XxGb&8{wdD&fhd>$0L4)H~?6Tm6Fco`)R(wnJ`z4c)*IZsz6!CnE3dC zWE-^q0u7b%J&CIJk##c-7L7{uRmXL8EO-xT~nzqc~Ip&}g*XG4Y4$i!7# zl{Cd&j3bPexplHKto4_sRZL|xX!7<3B2tk6a-lh)v`g2F}OculL*YDW#&DrkS>x~kxa~(*E5qg z7hBA{1?vr%-l2KwCcHvwR`z2e>(}u1pnd; z)1{ew2-(7eGhu8E)HeX-&sUj-xQ(;QJxDtsuDb&DBHjnWM+XiT>a8y0&6MkWX1j5n zPgO_BL9NPoU2k_T%0m7|T1iGiHrG!4%eiiKabsF>24r*RzEqXQiT2_OlFgkvug+|o zm{wdtvbl3{b*d?wt3Y-`8HG5_SR#Ixi&B6O02l2EeVe4xv)!hl9Z*8^%5GUF7SXU) z1Zrf8gJZ8NhjC|IjhKV&P^7}B$7U5ZNE+>$wnIk=*rQfDNWDz!6w`l^#*8H1v4Pdb z0O-D+&{F_d{e{iuwRzS)hIeD%qtlSW6DZVCq+N2#vzB&LasLp8Y{E`8CNgyq(yFt= zfNkasGA%|IhiP*F&xQbusxJLw=c2)6FWSgt{x8b>-^YZ%^ThvUg8#clKTrH$CG&q* z=;w+5t7QH!OFvKiUnTQ@xL&y%g+NVALxUv500dGVBJ@ur+WfpQ23hAjQ^&hjKgHcdV z{Y>_t!g}g&!@D`Q+Ue?TbV?d$39f_3W3E)4G&P}&Vd2@QjpxcM&;S)szCWoA#EwsJ zXC@huuxZX`?Xk4$57ZxMsERj@h1Uzy;Xn(;0g3Agh&_6#@}*E$R;V5m+(Va_*wky| z+lfz45?^LXa7?TtY3M0+44DKYxMvwh?`J$n?GUaKbmO%^-5?{KjK0wKjLi$p+vcKJ zMns=XwfF@sr1;i6bkCBvm*kVqK5mK&QXTc?>H4xR8_Z;ROWsrh)5tOnZe1!}Mr+ zbY5cKQME8;9-jyg#jUo4DC#XFQz5nvcj?NzCnyn2jk$i90T(6bc#TV2rZwh_Wc9X$ zq06Ms5PBN+0->pb7bdxU;Kf=_$D=6Kv9#(1LrVb4D47aadK9mG~~${e1p>HL)% z-$=qzGID-(>AMLXHg$$kK~0d3CeWr}k73+yLj95}YYLAokn68C1n7Vo`XcP(LT}!w z?<*@|s6`*ljBlgR1O<&UFw(Wn4Ty=z7~s986*GU5Y#13OncAGj3TJVpQwua!q!(AF zYg5fzuiiMsEDFkod$8P?{>0vd5AMN&ex$OsH@yf{1d$^d>8d{Pd3O8uTw0#2fYmiToOx_!WXEKoAEQ4<1K?=4f{t z4{qQu9`imd{IT}!j8c}i;ESy9p}D}j$!X)l6it7Ta7)4+lYR26aiH&*GZSv|!CaY^v=FGL}62hLi1vwQQ-u7zl&XbBGO{N z6+;a)t|bC2p>yIY6#3MNMg=Ub#MR<)yuVKt7Q0F+vbC!uK?9QsRfg4xBnC<1Cd5q; zLxVOVE!y}sw9}xw71$UGYo|+|qbe>gf-I>0MxyOF$5!PA4J8VT+dy!W1{+vO$5E58 zeGXW5Mp&b-pWGD2%bc%n5A*&oHnXw(SI0t92BeWx_#!ld5vFqjVHY}z9i}Zv9M!{{ z#wP8LC$`#o1X%PkLlRm^FzxNWo#u!z`zt8IL2ZQcPu^Mr(Gs!C%U`4xg*_h=O$aw`&ocG~ zA`9hx9j-E%Q#_a7>c=f7V6Zt7s1ry)78MZiAWUp9fbKMbeZ>m&j&ryJB>z)+y$FN> zDSS65m5Z$P(2h6~RGgA+uN9~M27GJTF!H5kVVQ~BuU!~|xJsn8JOic~eeTHE5LLp^ zCBY~V&xUDGEf(L=g`u=s;jiW>TCdmP*L*fB6M7DtFsu4ynC7`zXPNQx7l=B%!e21Fc+pD z)OXn2kiN5x(37T>1$VYNi6Cn?c)ay(ggcn0V=tJet8XI>Gcr-vmIWZ3`JzAqVm}H@ z3>WJED6z5H56DpSG8{Q`t#EF!Lkpn|YD175E~j1s`%gf7d?Z<3ijTa9U4`BG?9O9% z7P~XpozAYGT{7krA32%bGImSZEn;^py9MlyVRtmUdFdV%N*An_U;X zHg>z;ryRT3JyB+Kbc2BZ8@q?uJ;LrA>>g$JIJ+m< zJ;|~^u+&8`iHrQ;)=?7G-p$F7@QFS}XnX0w~aZZ5ld?2cx447&yFj%Bxj-FkL|>@H__ z8M`XG3)#JgU4`BG?9O9%7P~XpozAYG-6`x&X1AQ(GImSZErLrV*qD+BGeG5eF5@j@ zc^{^8jNrAL|!*R%PN>iEI8= zRpydYKu#GsesboKvoNwJh)Ap3$vxX*1M{K%DK^N;ckxY$JW=FDIj4{)ewDa1Bv)_G zh2P?ivn|jIv8msVEFX6w5pI_MYzx*HIBwgJS*f?%<(Kx^*%snrR9ugsLmbrZJloQR zd~w5(Sp$;a+rpW!5eeI|db>-8YkxNrl@nZTz)xNCIR~@Y-=a)d2(R2Sp zpy7n#`(Hyw52F%srmS zD%V*E9)W~^^Stmkhev-N?+ZNlPCXr2a@xTCJ@?M>>g{N-dn?d%_x_+DvZO#iN8hh6 z@DzLAcBAcv;p+r_?WHej=X+nG&kp*$H#f4XV8!;x5_kI_&7`{`OS&SrP%i&CZ4@vi zZTd<{n?4h1yJA@G+&i^9vZVW8D6_Liy7ZNjE`27_b?WE5%LkqE+zX6(BTG=TRlt}x zCOj{^|5fb1eU+aHy z#Pc5JXnB!(#9mL%I{Y@^_Y8h!9|3RNkeT|9t?PzLyXgZQQ@HfQK6XQ8ngtsfdtIb- z9OqgsyPq80_dkR-GE16eyoG|~A8f3MH&n)_-ll(K*G_Sip@?FDQw!XQMO}RL?C_Z=*WNPwi7V zq!uZwKMo>z^(W+_xiavZiaW3F4dlX^Qvhc{8Jr*Z;VhX4XXQeZLfi(hRkZ+HH5Xv3 z?grSZdjYm;DZo~(T4)iZAQ7bXsQ#i6`p3EYCy0^AhDp(F7$>=BTTT$%f1PasFBw+{ z12sSp-I2}Ig*>$wok!L`v13b)sseJPeQIJQ<{*0As-N(XEc^ph23_O*RV^Q7stZh- z#Qi&idOMA?01e7H7>-P0Z=()c3oq0K{tL?B{J;-q$vikK7b4(p_@RDqmckG9i)F+yaZ?CAlMLTPe)LU#;50Et0h`&HvRryD7nUJv;dH{&kr*TNb#T=^z`W*c!WzaBC zu*uq~JKEc!8X+m~|I*+8rN1e&+t<T{1PFHzS2rN946f58*{-=@F%_%2#3ESf798An=9xcVIdxBkv&o`uJ3 zo*~DK>3Pl_G=1aj$B2WkpU8g|Q%c_jo=;v|;89=2@6ZBI49~X?j%d?d0Mhq*W5+!^ zTO4~Acviksc%YapEkN$th(%0|aTFOKN!QuE%+e2T?5pp!7avmZfSkQrdTOzLM{9AN z!Ux_!zoSOqJ@NDBSAsD=TX@LP={To<8rM7Hg|8I0;(!YdjM?q0wJS!_Lw%hdcFnc= zZzyh1+Yk8<%v5gCs!<)fP(JYhk;Q)}YPbN`pf2OA4ZmwLA04(Yuuf9Zug#@mQjfE3{ET;XfL zoTn$|7;D+U-hmNqo?R`DC>D6WBZS4MH+G~30dJ2u`s(|I&G{`O+HM(fXr={JzIX0{ zeUvSx`f-KLCWkfHv&~a-&{K|N)Z9vw&x)Zr_aZ%T_1~%NEQ?I>bb2PXXn#inO`YIr zMnqAjX0)WuEH9m|jKBUDWZpI6b1lmZE%WNlNaHOSSXVndJKu8bjqO6^aozTT_-B96 zTkL1w24B?ZbAO4isJ$o?w^236(u`;~GD=MOSZTS?hn=-Gfdm>~CMI?*A=9&Mpz#i& z@pXBNKx#*%Vi=#o7L#Y&CCH8LlswzQORSH<9}PtL(Qn^+2U5!PJ>*Tj??pPsJ>ux< zFUU0R(kp>~tUP-3+=GN-R1C?z=Gl2n7hVU@iaTr7I=$Im{JOT&I088~Clq=`8#m$| zGqG#sFyM@l2xYFenL~jJ;leo3TfDJ9AyvogjzcIl67?2eDz!Aw>rsi=Zzsdz7aiJz z8ysg-&l=}sncp_EA!gVf8~!5I$g}M_#6dIWwxSy?K5GA#+6VgHAIJWNqN2KcdsKG` zPH<5@p1>7S*#L;W&+S+Iow82%(myXYsH!cHDs;+N@0uBYLw;J-yp*b`x8gJz_n)bq z?jQd2zL(mkpoe(2T}mqG6YyF*6goV3(#mMBJ@)&?fkqcDvAVbMhxYn2>g~8M7Ypph zOavG2RWHVn>))6mKl);K;1p_)fhxUPwf4x$c;j7Z7?7jME3J6Hw!3kH1F^Cj7sT}z zc&P8ie#b~_+}r--7uW%*j1vZpD7lHgMlVD!Yakz=MntFZSmUfbw@G@2FzLDekh+Kz z-mf=l&qp{gx9Fl;{JI>G0G4_`)uYug8i$}x9||tD5gz? zuO!HldcwH18|ja@KBivM((c8p8?R}xwgi!pG=|-7xJF!xj|-bi+<#gI>A8Akncg*K z(Wj9Kf7iPPE={lNKLZ=jtIL7vx&e2Tv|ZLbqD61UE`s6w({jM$g^~z}Y@$q1Lkzpb zZvlJsHL0rbpQfJCj#A-&FxDhTQtVkq-n3~G3S!3$QDd6=h13skBn%2Du_SzRq9*&cs&OT_-%H4a7}50>|s64cE{|! zI8DHf<#S;pv*p6y0pnBb-Oon^eU$BvIr|Jd{_9u#ANJk`zNsSXA5WUJO<&*^Td)X9 z6>!mlR)Q-K)COn)HJAb|Z??FPQZc%_*d|oeLg{U^x7Vw#%KC~gtL)`_GxsLx8*k6+=l9o-q4&2fNl{(DuV)HkRRRVo(SN>M#Nx`4eZN_zx z{a4@ClqH*2H%~(HR7*O29>&*<<8FLb#x?%j6ddHR-p5Z{bv*sD#1zk;v4k;1LdtD9 zmhrLF22E{&`kO^D2DSOOF$U{l)<|evocfE$v=-;f<~XqyrZNN5_FI@;|M6r`Yv^(| z%!_CMBiR@UecI}PjrTzH8hjmWG{Ab)pq>qLB+w=rW4mFjVmC`Mu;>8^#Ndi*ej2t& zBwD1HFtOp29Br?x|0h#`s%%8!`Cm7+yh<6v? z>L{SuK=nyTuUda^S%y(Hg#vl_3O*P68NjSFx+fHngS%g7*-$kZGc6VmHOwzi-$&8;+`7b-vgF1Ngdf>+IVcq7)}H+o zng#vAtPNDtBE9&+!+T*vFW_pv09~-CA^{4h;^G4amE4cd7Z)ExS1!X;gM~<*1F%q_ zc~_H&zci>D&;#u;V+&1_%JW!~07kQE!m zb2NwtQLM`#_H>2^@w}T2!hMoKgrssd2rmJ~4FIj*d#6Z+`)q~D?jh9geQ>WfU)WTO zu3t%>mpmh=^GVj)V%RvtC1QEF|73?OH>#7U|H#Ddh#`oKK7-t&irBa7;#~3mDPr(XKoBbuF zF@~`a3|a6>gs)*8E%eu;*V0HC1jQk1|wy%4A7&#blMlCf6#Ea20ti=6bHVNb+{7r&M4;ff@py-q( z`)L4MFY7S?L%2KY2Y2*702u#G7{6`5DQAKF z4l{oo8cE};KPTyMLob2eduga7+)#FphL-UvT0_&jHspdwf*@vi@1@{b;NKiM{Xy}J ziNp3v-36-Z!o_hDpSbw9s8W}V?cxB#t@Kklci3wfYc=oKl>+_xTtDUGHd^Uqn(>=rR`c zP+k5zki-0XOyKpbcX${Z>1H1JVETTp94C*Tt3E*xV2u_B3dse9z!DBl6tdL2=3&jx z#32B&E{@rZ!lU)-a6pA~No5M`s=2iZbw+H%%`9wP>FR+)I+?4l{fh0E{?`a+EJD~9 zaB5!Q^Cutn89lc-)oR$m{}=Pkf$B|>4rK8T1ja%vj@+2Tt+34Pu!_dTIyOJYFi{F_ zL}8ZTg-X2wbT@xKyGg_FOcLyFnEx>e79^8FB(rWzG|3RDhe;-7N$(`{7OF&(%oeIt z4}jSOaBdfXHPHaC=>wpv8^Bu`K-T9I(BQ;q8azR{o1)8spvhXZHl(u*hh^0a`jlKD z8`(qqO3rPtWM~iRI~5443v8-&hOqmG&<+mi zWaXzVv97RGoioj`6d8SF2;aB~g+c{znr3ZD8pKh#-I|kTbr5vH za9OTd8gyCz$gbZNm#2rtV!~WSZ!?6;o#adjvUC%4XWGWU+QoQ7V60f4h9G(hhMCi* zfX7AFCGKHhT@Hn9EL~(GF)f3{wE1BU8Ug(42;fO)0{A-!`B8uo&Iz;~aWBBHWnlpE zk#_dn$_L;P%hNFc+^~W}h$Al%%SBurMIkSrP$5kH1<70)iunqO`HPj9|6#>Zr7(}T zQh5bNmX63vD9-m&r~2X|95NkMYURtIhOOl1*HDD7f()eiyc5&=BQEJ%KUk#t&cTs| zEdDqTz9-z#BDet7FrBG&^p5C`zWTD>QO5!F@|hd8UY1GaxE+dnJ5>smb?;&gn!(GeEqfLyalQu(`l^-*xlRY?> zL?*Lm5u-ZnWJL_>yAPif%G2Q@_1b^h;>8Et}pjD`-BloA8g%l{Q7l$cvcl+6xYpeXHF54gCM zjC;5bpn8Fp;#6-OOXmheEgew=6#=GuXp$qt6H|>Rie+|LdK5jLtm!Rn;im5^?yc$6 zE=~XY#7)0(_GvVIb)@O!UYicZMUUFWya4w(YTM~F{T|%AYb*0Ni+dY&RhOniCvLiS z&}oc%Mx^OMy*BNH(Q#z1-B~A`>zvbRdgnLcQ9pHaZ=?PjZi+^lPB`(Xw+}pxQO}Mv zozZL4K6n<0G`-@|6OQ`&(`mZZA0GAEn|d2{ZkMK0PmJ(AX;GsV+eTm=CnMyodQBa> znqqOq&-2?M8{u|{yi>|iag%X2`3|`65u_F3L~=xO?8l8v$+JZC=-zrqS${uD4RgbWTUkOz;c(CrRE(}#1$?{A=m*k!D3fkq>cCh8@oI{iDbf-?5 z=N53K6mU1Z3%HIWfx+@l=4oUH3e_~h5ezOGqBRT$y~171>cZp7T^53wPX1F+^LbX1 z^(f2z9ZFgEjxP-1#B#0pk2tYD0nuY>e511_C6rl&cYLCn6&Q~9UrZXTz0VD#;@uv8 zzan6Q#?e+^Hd3jf;ZrlVBW@E6Dnqysxl_$TgJ_0fA@CyjstZ?44RS>_b`aSx(IR+B zh(N*ksDjF5a``xdIzCJ;JjDBct$N@$VRUA>zvV+j46ZZl@C7|Oj80Udg>Y~GVBO1H zs*F$^`_zGjL_R{*ThJ4dEDoI2P8atd6>H=D-y`s`p)RSD}2nFKl@~7~quL{<;{Qw0ZLJ!d(K}MJ);nAEQK}$qXV;Dhw z$ug0HnI-HD)TVX2o{mKKcV~bQX!=S=+_pE7;F<7QlX%?9{^-t99dh8MxAKs9hOi0L z$S|la73Dt~+%X+{YjTd`GutiV0RG;9($0XjH9&aZJ@=Iq7+zco$ebeRwCX+ z?De)z&%g1Sr*(AXs-x?{weJ}NoLXyvOg1;BY~jy2hxE~`K>WVI1+MtOdAxAB*<}fw zmDwqs2VX=h%&4@wHgK^kW?o<|YT3l(~G+&sLwV~cIg zp8kOG?E}b`n~SCVV6oT<22_qSC!WB8O8FC5&|Llm9^}B2wbqpdJ$GA8u(~`1VDM>F zmV$f#@(y`rnz{x6p-dKocS3g?oaauHk2=xLEpJgf`9WA>1Ovn59gHR2!5fDXT|P=Z zs42(HNS;>G1vye`T3uPV6E6BJ^Kea@I()A4b$I;vP@NFfY1>Ecf1$i9Yo2vmqnEx- zP6V2(aBY203Y6K6In6gh3c&Jd%z591rx}eoP3`zAei7H0^Ij)C`4Sp)YKs%_fl|pv z{l=WPm*S-{XY*I=&xUsPXMHj5+&AXDvXuQ<_Z9o|VmtfuTrm`(jX6&*Wq%$oPNug< zm$E+(eZ~IV-_HJ27XyQhIaN#9p9*Jxys>l40`^2_muB`vXO&Oc(^5QT2vqKNJYCG5 z=tz{ELTNYS=^FNQBcAqS7i{$2fTwTR(>y$-KpEP|;u@X9o}5TKhfw3a4o`MqtI<0h zPjs^%7ear*{RynU89j zm^gntPkKnGB-eJxyk7%Lncpy6ZSXvzmB3ge5s{Q!f`>VjH)J^iHL<4r`5zZa{9hCv3SC2qMot@lp*3- z)~{HuE6&V0RBX#>FH4Vl0k|@gsAh<@+qfLyE4xH?sIMDsJKb^BMmyGaC}%%b^-UP2 z%vK;6k}HcC!aVH#N!MS?5K29D+k z&huPcY-{q2#FvTJjq-;xRRhYRAeaSZBhT$eReaANjcQBGi%?Qam!X)otB#+Dp$veU%?_eYkuo04Xgh}4PNFFsK zB<~25Jd2%8^z0iGMe^{(6d`#N!}MGc^2Z0NFGVuNM6xN9`5Kl$@`*7KKz2ZT}i&N>_X7{N1*qZ z$x^;bpF=$N>10c!4qElE0;yN+^<1bZ;{aVfIExFDn`3Fqt%{Z<+mM7UpB-A%ej5OY zpHo_y$CZ8RV8ABn!MYbaam@}fn1fHKL8m)W3@)aBmU@y%u#96;z3*L;<4CwXMkk(~ z>fU?#A{hfop^3WY%3L5k+E{GcPGUn7#D<;fCSHc+W?5V2)qF}h=VF!ZRG-r7M;6&P z)|Q{v6%o`=>*~LBUD1K$lG|DmUpJbXrTjMA$18EzRfkm3%4%bLp0BKxSXqeJOh*$} z)&dZ+Q28+1#W{r zOyMbSmu!&pH?x$>c*=&7-^uywSqhgb9Iuo-Bu1&A7`mw@YF|z%9$+nA(py>r`|7Aj%TUWEOjGKtr99PV5t=>^;wq6c(G8K zKpCrv1G7Al=MfVYD*r{Fi&qotMPA8m;Go2Lh04FNbdoYCeYVDRh03igog@rOw`m*~ z!VF6%R!ix_kTGpBcrrcpZ%Fe z!OxJrX{)Zq(E89;Wg#m{Th+0N+Bp?%RYyfwy@JEy8ELCF07MUM)%_5IqqS8JvUW~I zTeUdSqyHIg)uENd8%{x6wIixvAKI#QD55F<{+qN_xlx@6bkSDjUdsiH6Kkt}cp0OO zs6k0v^}~wO(^l1^e4pB?-?Pk~+NuZi^#5{g)i@pUe_mVVFW06o(3`gEpEDSjA#GJH z3PQohwN=mkk#U&+Ep656vpAcH=&#Pg3G#&6s?{I@ozwK9ts08aom5-ZaSt!VwN=lp zJQHoz>jdM!Qd{*O0N9JR>gt!Moo?EypYz5~TU&Mf?ntM9(pLSXtzt)aD2F0P_x$kD zJ)a%j>!OeD`QfAcPui;gL)xlQcY=wZzP9T7G7=t6Ol>JFt#neVWX{$&<`@g5H znh5hDPPTn$tA^XTFnKa<)jyvHpsw1g&)gvMGuBo;N425SJ(0HR9$uzbZPkrh{hzc| zKWTwU<*R-8_;1hx_pYtle+R9spR`qu|F^YOM}E!N)EQ~38g1+xN!qHv5E$^vu(oRT z(;%P!6>Zi1_=ww8TeT1$*tCXuFg{1V4%Q;lijy(t{Z zz3BvH3`*}qR&KRPJRa-$oD2}wqPEL4PrGS>z$ogea61U~5i)>rcZY`|YOfZb@iw*jo{Ie>NH0c_?_?yV&#GytXB09-u=P&z&`fLri< zCIb*QB^BGMo2hYp%B^mt)=SX(N4GP2rJxP9F~t&}h&WF(O~g|Os@H8I{y@bgld#ED zY`b^A2JPN9f|i9E)yT$eL6i`WCwe}i`6vL8uJdtc)O_52hV#LPbEiI>3Vk?tonSb# zdJgB>=;2iB!+BI6&gh=Q>DOa8zlj=-x9{O3vuL$gAha}a>l8-g9$a=hhM;0%1}AE9 z1QGQ$KwA852E&x1= zMV@V_D|qK4)n(QfrMBQsgpnqi3(G|DeVPiw$SnXEjghH6F*3CaMlS3VBgtJb(qG5O zaUB6VMvj2Zb;rmDzdcio{Qg!pUnj%}k7yi4Be;S|cMEU}6HFKithi#E7}UsAG!V7W z5<3f^#d@qd5KJ6jb^BNMAec7Xi9(TLG0149U475moo2v!Kr`*?ACUu^so^y9Ix5aB zKvi|1jv^RR9mBV2L!cihCrQUsim(ZEGfTaR8qYZvnCZG`Aue*dr%=an<$A1qV%oWd z)6NvFqqcfa1F8#NicZpldQJ&f&*`{YM|4EEnh)UJa5b?fuB_d0b^F-9a5W1#5nOfN zqT}i!9V=aMMc)P)P3gGW`sjZOS2bvlCiO(Pnq7d)h`8V_|A6=~_ddsY&Al%Y^_)c( z3Qrc(4jL~WH+w#N-MFZzrk-4t)Ag9HHE+~v-W;ykatbwtP4U<&DyS|to_njQ@<3|# z22^Hy1zNUvTKj65*U#4LPY>6B@YL$lm>;6rmWlU1PLHs(=!{c+*?Po1bf%%{MY!=Z5J4Kd>zBmPfTU*17? zwV3OBdi@fwf$#XuwQ8~(<(CZUx-9pU!tMt~YF`yWr#BcxCtix`a0>2qRAQ@+K<7e0ks& zcvQw+4JiFj^fNlqM~Thd5-p8Ld<(_Y&cEX6FL-hp)O|=Lz#I?JK$#oQAshDNLyq84us-?*@jr5hJAE~)toz`hWY5mz8;)z>c~%Ot>|14+9~_X{!9 z3@K-iTJ#?fff0o7JtuB(y|E)NkcMLF^e(CO&g#Nr>OByg_^0Q;kI%`%hjCmat~fe| zoVmr|F%VmEG}F_MYA3SVr~{W@hc62TxWTZsZ>w1j1s$$8dJ$}#pl>9 zO!8VW0#h2f2Nw^Qt{+9&&x>tDvWQ0Bfcan~TR0jH#zu-qiDZuw$-cfZOtKZ1Y9!n0 ze=(M<?caLD=FL?8&z8g~}(f*%xE>$jGoE z)91gJy|)V@SsJ}bmeZ_QDc%%&VzI5gj6T-z4ib2KkeyoC#4id{OD=N2R|Ml}?67 zZ;}-#gY;lj&UY~4;cb`Pt+%_EjDvhmlr6bMti|7Up|TNaZ<3WKrRM1+U!zpA@1#_l zp86E4pG9du6KnCey>yr#!B0Y)$pW5UX%4udC!7V^8a-oNcGx{Olv!L0@V9*#La9Al zY^y6n)FJwd(qYq1Q~)PIOmxpQSK>mcaCG2mB8aC7iICV0h;!%$#6T2?b6Kc>lk#tX z{2btkDU?WQx3D_x2w6B=hC_wcJm=iG5-z+P#S$itLU+*Wz*E2xL1!2a9Kd7RToYl< zc2KBv*Cm23i?qjEnMeDjS|2xY#mu!<;15?o> z#2ufFTTTP&bpAh1ov~i$|2WXWa}(PE5RWr(;X1Yfv>9;Uhc*Dj4x$a9Eg&4uIYv9c zXXsSNUil;10lIAfo)Nf99oYclumSAu;uuAfS-!%g_b#*i<_U?mP(y~r$~j6P+S zp$mGGS>n2+a+#$GN|aNRS(@e(%>Ndd<(B~6r_6FC)<_qbn^htzN^!$RbBljoo4^%WtKUZkKSdL&?{k*egDGVWERJH zeakE_%ni#d*Dp8?ndLTK?sPxeW!lW#r^8ddw%Yyt9%Pf~v_LNyJWOaJVEYq-r zf09`sp*=^WrAa?O$t)!&kXc52+>6Z8FsoOY<%N~K$t?ZxVU(DEH<_jIO`ZRbQ&;~% z=l}n6G7CauBaCr*iu+=G1;u@>Oz6teY77(2R<{{J*N4cCbaiYV2INSamRoJKm8W<< zTMu0;G_CMb*`aA$PY&b8Q-zTg)epGVDYl^}xYZTsIgh%s-^shebdjt#t$p_9#E=rS z4xIoJJf?l}EiOM4IK{RM+y^(v-zzyG`Tb7{;n`@}Xa(N$mW^`esqs)mA--p5*^R23 zJ&q!W2yTRoHM-BPSaG3&JP!o~K$3Sl)jS*w5n;SGa`FDe?TlmXWTBnCo3wV8s6j?H zUE8^&YdaZd+)lpU&UE$3UdA)3YdhZwr#GHSY&_#Jo{RK$oa%X7XlPx>lhw7IcY0|j zh32Qd`~3X95DxyL=I0jZg0%U$o;BIEoyh#O)BGr>*-m7BYo&PxF zb~Zwb#KtpS_4G2H$o#N&t~kwhBJ(5Z?KssVy^JR^KdhbPUfLN-ekbt}XME9xo{3`a z&1QM#&GP(X&^Mf|{^56Fxzat9eBS!$P>-N)`;B6g!JR~Ys&j9a?>q*5|{zasdP0bj~F5N^T=4IS)THaVD_Jb{+A z=WHB^5lZ4b9D?PX1GqXn1Ikn!cX88;bfSo1u*(p55{(K~g*ayV^YIS~Dl;ukwQf0a zGMt|e$#qFS+-)UA5Ob>;?ni$%U?4-N`V6_ONrB3^f}I zVYrAeoKF~@r9OXWR}A+@Uf&pQXBbA4-7viLL>L}L7`_e|zD~#Ru4ls-er7Pk@I^f_ zd|jUyuD^z3xQ2o03&RIsgb_{5hoXu37~B#>6Ek7>c7TP(59|$83{{IQmLD>>FQl&t$navE zm}8OCH>$s8s7AwKR3Bi(>^u>wvk295fa*Cqs*9fqquQF@7pmv;xJ zr^493W+21<#XYef&9#T?*zZS+^MPDCc@WaaF+dFITR76A`S$4`{Wb!8IRNW?TUGyo zH%{kZqJ7}HeOWKKewyKW5#gFPNDbHjDCvspIOOz=Yn9;|4fnwHY4Yy@Plj>*S!!Rn zj^^K8ac#=caozL;0qP6arz4IqT>o)u7q)Uh-GY{Y?n#V;pToDw^Z7PeEDb;ypx$=M zH4N2s5#CRr^&$AJ|4z(37j}V0_=sZqZxQtT)#g> z$Mp>iP&BTiS@>z=x)gw;SU5xyAfMwJob*45>x-A3KCaPf4_x=;;P6*Vf}sU_sb&U6 zE^N;{2@K1^CN>({nI|$cQUv_*Pkn^$ae@uaD_tHaAHRiNb+pkM_d`w|2mKzNaGP$toiGlKng zy_yiIwy%FwwWU3(LGZO-r&nuzG~C+S=xWX$)gZ*#=jhd*k5v0rbhUXss&yHgD^l$W zUhOOzn8P9)5!?tT$I0aE837Xbp{VN!$3!Z3_G2SN<)wXB?lR8yN5bRW8m{c@yKO|oOk(?$!*FpO47$;z2BpSJ5-sN4hp*E3Xl)FZQw}6^qX6Uj=lVRpKUs{m-!^?}L1u5`n zCoM>;UNA^nkS;A4DlN#UUNAyhFlu3R+z@L^*Zx8WotG@-jg#zYvQNrOsm@E6@-n2n z5mMf$>b%iXURHE%@fRru@fT@CX%v|R+#iuiKvSTsbezjg4F=ZnlrU-ipR15>p^Ya+ z{sdu7(r|-8vMJZ5NTp^ura+ovktdtyN>h^6D#(vmDdJ5_4B}0<8>A^W!dh^VH05Tw z9;)uTbZvYHW17S5w>dm1Rk_(uwKreK4c2RJtXj+4Wg6M-{VMo>SOWxm|`!^?8rqI!h%kbSVF z?kgQO)|@-}#9x>V(UeP++%+v9RFiC~lLk;^8<3nOtgMn*7BccIig_~24(H94kAN>W zOiMOE!FgLLx|1MGZhBia-`2R7OzN0AEPmQHC@l zPeW6Xk{l3-wXldR8sf5X>O@K^9>+o@=A|>2{PvV2dm3Ew$JEPbmcn6ARX-a*u%|NE zJncGlJ4?GRlJ;|T6D9FrjarPxwc(VCJrBUxnU8x_+x?jLNGJy2L17*wDeRIugcfA3S#jJi zF0O_HaVe(?SI$FOJT!P*(|L+Y*5$U=1wVt{PK z3KJLaK`##R7$BISqqrE4!6X`Q>=+S+G9yD-6mqHTKY!6{Ss5SdD7s}A zxNr7ec2W1T6tSa)m+d-f3s^~DYM8<&EexKj4DPMU-|_9SM@O=H@5o22EWp2Ve=p#- z+}H~lt>_K>+}^?ax|gL+f72V(lHN+z_EvIw_mVUxAM=vk=g-c{;tP#V?PS6np>{0D z6zjGEy1Ro*wQHQ9Icei0{EJYOLe-}zD;`M@yk8lB29xBSha3nKrSe94Ql@}hB<~zN zT0?THY<_EtVf&M|jxS9<$^4esVwfgxw;lIgNuf+ON^CGVz9K-B3&n%L#DuR zYpqlA-T*j~N%7u@zfQo`xb`QvGOhx9zD43%YRe$n@X1!*O3%t{#O5}RRc4t}Yp2QW zHk+rNS~%>s>Mgig3nRp}1m3`*i^CCsHmZqbyb0@J>o(zy_}dOAn%eEtI3A>O3!%dM zZ|v|0Xn@d5J=p*QMYa0$7Ab}g9|6E>N>2T)Bhd-vaykmBSeO^vXg zT!xYiT?qPuPuIeIkJJ1pggC^M6(BfzN29-z$^RD^ii<~#LRB3eA~PsdQ3fIJu(bL* zRAck!>lm@c)PQ-D56Uc6GH;n?JL>t0PavYNR^83O(A*_S46}a3F@nyr`}DE7o8=Et z@lV=uF~tLH%|zx&S9|s(ThQ(pYb#m>8R>I%7MTY^CsJD0oF06<>;& z=6WhMPPymagcPFO-!R00a9*Z#@G?R?E!n5=u5mJ2#cU-sbc}c_nu%?t!VwyByEu2r z*7(;#PClI)|H9v>t`Fv2ht8Cof`bns+rT(b0D*Cx61qZ3Sl(1G!uP(onGIQ9P3#!x zcEb9{=1v9mf#VHQmNAakOdJoHVRkns%{6kx@PH4dy%9+=!)RFlb!<2gqxX9mm$P3h03@Z^H08(d0-@ ztu;APq(re98q-Msa9rtF4F9SYlM$3^!eN*G%5@|Ta)X8mMak}X;68yCeXd0+N-36# z(yEIFNk!>W(NL)R5WUQx+ej#z){K&Xl4@RA0^zQ#b!4G$<)&T%oi*G!7>$| z>1kVU^uLNsgyXE3FjDYV;90R7E5?s>--&wIEDTbvrDFWW9!qvZ?jR#xV4Co!>qtv2 zR57Q#JJnmS2Y{VwKZsiRvtb6$oCa#SZRV(CIX7ec(?$c`E`GSr?lgS<0>Bee=2x-tAL4L5YD46ncBxDn86yqVY+TA}J1 zhMO$lW>m%73^x=zeh^A*g52%Tj9{TyHWp)8_^LKx0ML-FnC-v5kS6a4qzGFZ zkbqZDjJ!kiWk5AxZK=sNSJhTic%V9K?KR?;=ZbadnY$431i@7E50Q&tN07qPjI1EZ zq;@4fnA@6GK-oSNN)~l8I!2d1=lNd;iHAK9kE{U85o;?Ez(Ap^U$DNJ4*GGlo9a3~ zp^xp3AULN)tEHnA5XE4&AbyKEhBJE@IMimVD>j3rINI@{SFFVi!~DKbJjYp$L<;K*5Ne%9c5I#?h8;)HKx11IN zXc>Y-3HRm^9tu-33)?aa4_)ie!K;SEe!wh{7~_9~b}&bqe=zc}(M!qr+wm#8f0 z#JWsX3qgWT+!ZA<{cR2IHV;sL9hEd2NwBQz8toYC0SB6NI?g1IpN(GB@fC5l7|Jf2 zfNesYU|1F_-(jYx*5U*so@ZF_ysZM^PKisxzX?`uinZ3%Fbfu8c~1ZNm_xbI_g$>G ze;90@l(ORx&hq4)zAs`;+p!_aX@f`ClJ{BuC8FP+JG3FnW3WK{B2SW&%kUc-M ziBxzFRrKwb=d3r&=FMn3mQLsgyb6HhdGkQ4}Xu8D1JyGZ8;M~KvIj0 z1EMDm1Vs^4&DFxzT6hA%vcck3oJPeS^6if`)ln{S8u{i@BVm+jjHTzjIjd;SpyMp>z zdvsFtSsNI!*20P#>jNYMa*(#ZayS&4E-CBqN8Ep|JWQ+|EP2=C&AWGb49+spr0&4= zy%@O(p=gx37E_~Xm*jm91u{R$tdrKfPZb+2l6OBIz&KX7(%-|9SEau=o3mr!#sheh zw(i5f2xQhzZuQ?5hu*V7?0A0#F)YXU8qvqo^Jzm5dILDKz9$m6Nmya$2H#II7CVBovYH6kKA$?pP90Fv z@=miplK5VUu31~a!w^2rxM4LN4^nF?EalY$aU40ahGy$FJtbOe5RGiX`&+b5dV?Pz3P$M-nh0^w8*Ij3 z!u(3woll@QXhylP-hfc4cnOoFH+TV3q^>uhVmHaR2=c*YkdBVc*HIAf76LpZs>TColS`}*aJv| zR6a*N2S5(jYjYV*6#8V)oCL;M_wrFlYp74N(Hu=HpCpYY_RWPLTkpRV&GN~Byq!ti z`9!$y0qQzy_bt-z^FH&_BaKG`Hyf%=0Kp_$Yhjvv4m1_i8ZXV;ch2_L5}Rke%jR>9 zEx)RXmc?G7iZU_a!%!{o19dNJ!Ji0G%2uy1RB}Z@hQf~1%4+J3w3^lmbOmQYSFoCv zSRh4VWE?mk@8)enriqbTxw3$?RirEs&^Finkg{L{>TzWO(?57$#JjF6*avh#SwI;~ zSwIl{jcnNvXV`b#OFnvOI1rjG8r@9W8$<`aYtzF29m&smQc9~vUB@%lUy!X*K_%bBb5c(-k;yQzn z=ekqj6BE%|m}_yy8(2=1O-n~wL#xSuK7B>t>^5X{F9a8x3zPQN6H^oiiiPw?@H0WA z7%JU)E0K}LVdFS_c{Q;gBAiN^`EA57Wrkyg))t4E+QR#3hwG0oF-IE1eDpuZFfW^< zFQJ|c(@Pr_@wrs6L06)+g(*)NNk%cjKb?dL5?S@Z1fN-i!D-4+yk4s?o9Ae zn)a=X35GmVm@+5A1^G;B3LSAZw%J0uY+@l^T;hl)e(t5UpfI&~rcdH;=Jn9D61$N!nuMnHpx|u+me1#0 zO(`&PIDXn2p=m`?;u!Ky!qP)X6OWX-XCsCW^s5Xw*k%LQ=F7a~YU-?PuIyM#bZ=^8 zERz-G1&CSNHK?63>onNqI;hXa0XA-!pb@}_PL;!lMoEL;Xbl;wI3!jrHDnJou{tyY zT_B@z=h`|1Z$Fx=I%zfSw^8hpb4qQCU5+nAm=~R6YFiQ3D$%9PSbiqs=n{K|r^P6i z>COqWOTi0Y3cy!y8*G;bExbWa2)sF9)=PVYb(=qyHd_MHV+D2rQV+cldJWAU(XYm+ z!-8etW_%-Xzl7!Yr&A&6JEBRtbZ~Er(NAt`NIZ%N4-hb-g?pqDs0 z@f8!{=n7Gi-tR+a*lo7~^nsiDC{fhRtKK83`=K+b@enrLl-mgY1K*`>O zc74B!650s^y3l?f--bwNe-@9L(9UI8!Vi;S=>apYo#(jFPC)ve>#)#Hyq>Ca;a%tT zR9XEQRJah@aj8l}J%o1LhKLf{siL->QH?G_JLN%W{}Sq8nzF7!JCzO#?SCXD&qxqL zJ1qec+W(@_Ic0{|KEdo|z`D@RP|0_p!tc>SaJavmJ*z`k&ZwQh}}0-Elrgr)4(Q zT-!!MjNoOm0rs27q|#Qa%T6>trOYk%ioz{ddqCdg*8@A}M zCcmUox`-}Rt-&k%9=sh7#NX=h_hj=!C!G+73$g@Za z@dCLCJQqq75(+0UHG@z!53+bMq_&-4+ zx8n%N;#%TgkUJ$W$pmr-q39(dAf_QX$V@4yI@gd;eVLbB-IejOtpYO-4G9(Jh47x8 z%XPCdYn!)X^Ld^Vne<_BXEVD9`h;aW$ZRQCV@yrL8>9X)dkV^cl7xfvws3%+T2{Xn zJ(d|JrrEX<+61qk<_sJ;LQMofqa$sG%BC_}!U=${T}Jc7k!cC(9Jv|QbdF3`BQjh0 zq-nSky_U_Z$1=|q?Z_4&k<&zn|&PxKKY6r1!DZ|KLC{s;c&G8bF4rH&IPnxh&|2)r6J!} zv8Hx>9Wh&5s2rQEp5^jFzAs}<&2n94gYBRzH01DbEDxfeMZ&#*qPb#33P!$vnD5(I zR|Y;W@rlKln9L7$L90o9^GSSOx}WuCy08^r6NuM$H1kPzo9y)E%#|@O)2F1JH-T;3 z(rO|T;jvn=v$Wb<&z^mF_E?~QBiAbMrh@R`-fu7|ATTd&=3-|_NrJ0n0k2C+aiUz? z$3oSE$kmqF!OV6pA1P^nfz#UCZ9mYx06H%5&ml@Kv2YL21XK!*1;8Tt<|4{_ryV zT~utPaT=5bSUzmaV7P`R_fze7G%1RtxfG$%3hn0F5wc?jLp=_6!Y9pJ|2`;Q~LV4)%6A?-*)E6`>jM9iy z*aVy^sT|Nqh1A>skB|yHrc8!HhiD-%mJ7>)i%)?_KD>(YJ%w>7up9#5R7)Y7h+FBI zE^E%m0%GKjFVGTG-&eEk5?tdf+vjEdg{}24DOqX^q=MH7>|-ar(f9C%44Hj<1Yym{ zY_Do@k0dk0Y#7z7|1IX10W&o=FfEWV_2c37!*?asx#M|)LEa_Tqv%=`RV!GK`s>s?(_*C_adMO$sgAR4xbCqR)3855#4%?J}C` zLmSyXr@2(0J1b9Jw-3zoz4X8sUJNqmYW7{9uM&NYBVCST z*96!{eDcY<1&rNLzZpJQ@gY|GUcagh{(ua0t3x*7J5;>2g+&)9`wLkB$t5l#5@Klu z%F+-%*drnhX2g3b?L*hY;cP3clRcNpFsZ%P44L5ozLby+xQf60*qEob+8EhGNz|f6 zFUP0K8B~Q8BTMeP&5f)ohRY2K=QaXe7~#{X3#*8R4o@pd%iC<*rL%`@E9&^f+OkMW zVjZ)>(e@!Ktl0@5P`G$J@)J%pxyA0wl_Z!KvkfYV}KJY@Ok2IJ_|D3SkyTAaLmC3%$I(h27xGW=^OO2Cp;W()%GA(jBEJ2dxahqW|0w41S z$jHp|zB}PfMng@3*f%qP8b(NPA`LZqPBV@@7r{e@>}bYj>e#n?@qyi6B_WK=`|$X` zOrRDW&GOWDg1glO_|Z7rm_uLk3}PMZ!1fE(FbXtau9f89z@SAjPgJf&vxk)ARgzH^`ng`QzPR!BvilYIxd8;G3w)1S>M?mxz8PwZjVoGBBqh&->0<>gP2yqpb_s zH@P~g5M64Axqji>QckVpX$5J+EqrL%#jLzoZxowD&e`gl_rld+F!i9ggEYgQR;ou; zVD?t)JzQ2$LSC%Ou2;yy*x;NEKGKooXd@U0Kq2Z~sBZhHq}yI>Q5TnHyi9t$ZtUIkFu(L}N>W~6{-u@KgFWQPR%yocz* zP^+9%+p)M6EH&qC{59=@k(){W5H?)Lt%q&C(pa(4n0gqKY7*;lZ?z4z!Ig}F;DJ3C zXt)WCyP+(*Bz8jid!-Z5%q29vM__3tHkfhaBM~OR5Qk=&O*3H!Y}z4Ra|{-`xX}Nd z(eouBU_fGidkC~Voj9atGpuj&_nYcv#|9XG!DaPFSTCyi8Y~piZ=Nod!?0;T2mus9 z26Sy$IG_c1zX(o-z+);+2l*?>GOb5`Uk}zv*)~(jK`9kF5J657C&>m+yyy!_NuKY? z)J)?TvOO8bImxj8>1Lf)4+Buqo??{qEOMQgmu4uC??{FfVDf}J(n{jX22aRKDNB%6I7afxTt^^KyrxS^MJH_ub4tDCY8ma#bwMSS58n7 zIsqFZOp}UWE_A%<0^cb$2?y{!n`8#R7)F{t445-x7<%#r9T;6yKgn4eW$%)&vDmIL zd(7AY>V-FqcIg^RBsC7(fx%EOY%;=)3FRnx8FC%s^JV&MyN0xMv;ki0#!$=1xu?LxVf>~J}{f|;L;xD_6tB5)bZ!bH{J{+Xy6-Dinv zyyu%)qHmHq{$e^t;L^q94l!t6_BXLJ1Dkz-xlGW!teq6fRQ2FRrvinIv=}Bv)FG?Z zp^Lh7XsX)ELG?q25CqG-Y)^6TT{;C|*QxR;0drV*u(UFAqX3gQ7BKCQ7BH=i0;WA$ zTUcMCUjVx;-vTQ%$S32g63M0<_|jw@CT8SV$h6x!j&|H+3iZ~}s%5(@WWqNN=CvKI z^M};Vrwl0Pw*f%Cx~2mMLslAT6O5E5+f%gPC~xhZgK;Kbktqh_R>0S0yt|(mw2;@$ z1b07cZGGsD4E3W?u&}q#(|359&lc(kz{v)Xtdj#6rLNWhj8b0>0~pN!)Y#MNi)H*% zV;>l~xf#|<=gs9G zJ*BPm1vh-DM6x;ku>iyr-)20J^o7q=w6*d(U87K(OibuDR89C!7o|$(8qyhmC9?)e ztyhm~{65QIy3@7Z7&4Ju={RQnKs|gnmxf7C8-DXHYQmSlZ+D&)>**XIG9A1I?&1DP{20x^i!ArIRe-ir3 zMxMwzE_rEKZ2Tltt|4I96t~Is9U~sV#V7LvQ1aO2PMbpI=n@ZMn$$hpsXV)gI9R%; z+rWRk>%;>u&<1Yf-HjS}y;jrqk??SBRV^;`NZxd`=D7 z0+MefFYEnY{>7fgM5X{7^_lpvltL9=96|V3%+H4JjHS_l=+4-ug7+QDn{AY;*3f)$ zK>nAI$n?BBCa}p6s_sV$*)d#$uRep6DaOVsW*~%AM10^jMKbS}d2`2FYJgD@zS0s{ zV04A&c zxiOwWSAR8z;mbdn^Hxui%u4#l5{qS*pXGF@Y2)Rfe;AS=#yD{UTAx4OSTw&ST!?jM zjphEGLt|f3h;zl$l;RrgedbWS|3jqo&16~s)DK5%)9HVK>a)JdXDel9X*FHkW_!nn zH0tvZc$key+dTxGxhfn2#xQ)gmdA`xw0vopdK)j{$AuAtcocf{pR=y=E0#2`2rNPR z^j_F2-N%N_1{mvKF%25NU{}v>16G^mAcm*`5zRW{z%gDRDeTrdThe6es9i`052YEWF0-gqOqEX`is-T{Jc=sjXTsm- z`BhNPKX(9eoPQFjXqI4aAW`R^)S6KB1X74+l_#td|D>j6-X-Fn)Bxk3Ca!md z&Y4Pw*(epaZ6(N_KZ1>3js6kvk_Z>ofoq__MZ1FHR%D!+zDIR`F0+w>nbN!n-eh8? zjAW#kAPrHWNI2|m+K=%g&xxC2OT0RqjD_3>W*T}NeS=^2;Ew`_d2& z0~u`f&3Z7IO=tEMttPQq}?hr-k@L9oy7Wb0M|ui#yJ$T1R2Owo7vL_ z87%r)I3Wq&jo*f|YKX*%h$KZs#Fq7kkfaz^X<3tFW4^2*N!>@1RD4(-dZnb#ZnECZ z(rEu1NUvQtq7toUn02!U#-G_uClKZ~m=0b@T1wnd)8vCL{mr*%o%LfQfcqPM`BBsA z4P#n8eEn?UO3xa0q?nXYW)a@;iE0)*RZJSJz0RfAcf+q&6p|dQoe{8Exv~&OY`aiN zH!6$8BNHho8Wd3e8oY1eVa2u!;%)SHV;r4`QMMFs%4CEUYbt5k!b6H7l|`rHsc&!L z;lz;2qSNuz-z!dp57hUUmKNfAV@qy9U#e3IbVT;@jjK5>Fu`A?nU9mwwK(*BGfer zmG2;J3y)B@y~LrHTt}%qLf!U~EA-TdS$%{S+g>u9MW|~k9pW!Xq86bJ;C@X-nqc1* z@?44-V~8n8F~s69QwtED&aQ>0V}CJkdU(3<97BOTS6N{}kmK*pr9(5+VojmI(%DK; zio8P|#?w+LZ6Uq|q+6(rI|*68tb+wrt>+tY#q9>UXo=@sczCM$I;>EcW)7I3MWg7+ zbB2Qc<22Xusq(U+;D^cTh^bg_S?a&H8WAmg;UZEc(EVdlZyZ@vwqgSMA(62g64#K zQ?VS;8cgfydNnkjcO&&%IpZdJM$4U#l2k#j#BS31`fL{frBn1QkFnkL5eFea0qQ#0^h*`BSpS%+7&FuO;ah@RDF zo71UH@^pbVy#S!#w;I1^@mq`E%lQ2nzm53)2EQ%%MYZ|!M_HRc>(M5hrS;h+S^oOh z@HUSCo)JJ2@Jq#SFn+`E8;;*a_{HLP34XGDx<1Z7;uYgO8rvPWSDm2ETCh6*)x6DL z0)PjgI{2s$^4Svh<`yGBv6{+q;JIc%y^*tC%LxtuZK&m3H58YYhfAuNs zu=pGIB>s{M1GR~jPgfu9wft9F`K!X^H)`quy|xkwbTUhCWr=EfutzIeoD;p3vAwoZb@EmatbmVYy83i= zk5;g*AqoZbR;KjY%2j=}5(#qhqTUJ|Xg$=U6)nbz-pZWlRv;$fcCSTEhm#H6cR%HNi~89>1KjS?zVe~^JJ4?65TmZS`aUYLZ3z>@YQ2D3(afCG#;L`&+!5|1C)KQ>ngJZ-nOgiLl}2lo9*eF7 zYMYILsW*OOG}IJY-ZWG|?f=H^VsEn3LkRzQ0bDCW`SFEX zcn4qYo$6YfPHZQY@+H`bYPF2Fww zy>M+Zoiykd&_8F>KWw3^7j)7N?f!Qt_x7UtBEJoMq{xpGg{*Rr?`{xY=P)L-Zg6=g?>bX7T7MSx3Fr3+U=tbF$Kb=-xC%md+^F0Euiy{8KsInhh&P@^CgE%$gzi|vGCv7t zRz+t{XPFAi#Ofl_wMXYWS^kdb{F@^A%wOl4cZ^}rm{>kIImN@BsdmHng%F8=&O1Dp=>y^xE^`KbCQSWrzF*pR~VOJ zq2?4O_?mHedGhd_l%yc}gsCV`H^46pKK14tLgH{wa#DMDpD+{DH#?2w?qn$U36sKo z!dy^+*dF8*W-yp#AdLln>t9iR+~A3;DF4yGT%Osj9qic7M#6uyii3(FJjOxRFRHJ3{G+9h{37C z17ESXX~F|kK@83iynFD_m^%vcl_5|ps`E5kWYy%pLR8~~Dmq9K3lzM6#FLzxo|HS3 zP?p%3OCh!maBPKDwJnjJM)_$D@VW)BfhnX%+k;`Pbl4 z3@%-nt574F1|4gGG3i2qVr!{_iBEs;Kyn#;+*v6h$}D*)ge9^{I{Z6^g9OqMiPw+-3Ob{ zoL3R1@!gp){TJj3RZrqykz;y*j_GYIO~>>B_6AH-1%~MsJT&HJF-+ggF#QM0LT4{$ zn3nLyF})5?*sqduM|cv?&xKR44C)d3SBW8u#aRYFn~R-l3B8jeEFe0IA=-a0!*dqL za}43Rl3MAG=hAL?&eHLm1&|ESSvsB><^ex~=kpn!@o^k@W}dMA1SK08DWDXgGvGyE zKSF=-PCchCGM;PK-ILkjp3IJq`*usQ2!~~fVr@)=J)Ng9V>oPSa)G5L5g(j&?NDuV z;C!eJbahbeOM$bZv_rMqaI7b7L&7rRPP1pb5@Ba%-RqnMI~KLs3j8&Jxh8FQ4}{9g zHq(M{WVz|Mdr>e{nrR7KZ~`*X2x(y?HY16|h(f%G(Zzsb7!X&kAu{NkSegJ^=tic3 zdY7x9KIST@cex4*C7B9p8dOltCA;6{Dk!8f6% zv`6$brh;N=Lgn3LaW^R8SvlDyU|tpjIGJQ$YdTQYyk#P-B=1YEiMRt}IsUBn{MLXrLO)&fYTM0g&0WNd_pQZ*tfAwKb5ib5&}nt<2q||Ij$R4b)iVcj*M#9SQl6zIW>T34%YwLYz%pry+dOHu z$J}5a0Sy}WvyDv<-`G$HJxBFGGMtmCUi1`4A#+3SXeL(EnWQZR3=$HTr(G!+4Y>=3 zpg%*ul3Bk-v3_K*KBc37)J^mjS8V=@{JDC(0di#tQ#2n$F!*9HXQM%kvSNH8+*{(g zV&)YY@(N4E)rD@?Y;E}N8!C>B@mytVbWg0f(^%*pS2HhEbEk3Q=gZ=1>T5o)2_A2( zE<8H%bN5BE=TOLV6usXFwtc*wrNZBsr#+AapPTY_r}{K9(0T5MlUjYM#t~YGh89(f zH+cFpJTo_#bjuALjF-2ou21mH!o-SkIPibo!ptX9T*+vB87>oH*q>wA zvyt}=-OtIT9TDS3pF&l8-Ekb%NOl#@C*PO@kdP;T2n?tr&_$$TpM<1aJR#A22Z~{e zieWr?lL$=MaZbLH)tesU9w%&?eq7izFQ(YGV_BT+lXu9iQ=oW<{UcJ`!{zn@^ntDn z=N7}`)wPJWE;O>l1wnJ^`8w|yo&<}*P>REmXxc^4k5=a-(aMqZ;! zPur^C;No|vO_!gToQg|NmMtYnp##yUP%gP|mJce|n{m&HETa!8lQzMk8@}JB;RGjJ zY~SO))7h|vZK0b^u-uiW@taOLZP&sB;LPE0vH6{u?6H$~e+g^!q&j%Q^~0u@oczIb z*|U+NA;L3ytvi7%#bMa{!^`XlWSoo!@G(Oo4EG^7OD3%~tpn_UrgCs}>S}ECNFP-tx24WXBhTHVmwDSbw3Wp!!XmekcT$@%}jbM9+~nE@2r{{MgFW$r!aJLi1ocfRxf&UYxsR{w2O z-1I?vuzVX;IVw?=NzIcfE!Pf>V0So-fU0xaVyt6Kun(l4T>F{AvV<;dvU&zdn9vZ` zrN(Z|fVCW)4O4^UR+U&_yR#f?B;`042LT={eS@+C|NZ!^t~;OAeM?45$(SCdb(xsf zm3!^o5CWDyW9*&41R$f^A#hBsZoMHMOW0Kzz3{~GdAWHlzc6I$im$ksP7$_vGLotx zyy+h{*bL;fP$#kZ=5-||>E&$@*`qZ-hOhXZhr3+Z?wJHt!tLX2h7Z3kk4>C8 z+b0|_2J2^#YAi21m`+4{H>~oWd&I4%-I>G7rl% z|19p$w)-Ie2z-_1IfQ!xt0j_-Vys3H$!1M2^$lr?~Bb9C8-ScPzt*MAk1rtTj5H+3-<9Q2kLtOwzgEr*pr6 zV&ap#+J%2msM%DI@x1Ul#f{zbOu7ZN3v-1U`~tt9(7?;O1+@#uDU^H2l~3$y7oMlM zl1i6Qi-}$B!X83RBF+V!iOzvV^CEdM9gvJTF{dwP5bcg6!C0^OQ)OW@7X1v;gF9&q{h>C5X4l7GTd!?j#8hVfV!LE!F&!q! znu7}qajy@ZTytgO3Y?#JVJCcs1wB)-dBb~RSkWw8;frL2FqSTDpD7pXwTCOCKUeI6 z^>5Gv=$V=C$IOjwW+sP@79taL1t@Mli^I~0V;Js1vvu-bWR<@92&>f_Eofe21Wzyf zrGn>d$5{6SWDApBW49qDH)wHNn#FsOcZ^kfos$z)G-^s^9D2^K?8@2F2xHWcNZN0r zQ*S^bm;RG>U`#C=FrQ&T19Q@d$JFA zH)?!}ossTN=rSvTC3>eAe&3vYGpCxYT}w8@FWFmgW>oqP;?p6?vKueeWPgcQbG!8s z-`rX$x36|ovh1!*HQ7IE$>#bcJCkyo(lN;bebGRJqLfZ_vm6Fkypa(O3?s|oY~>!K zcnC2aX+`2nZ3b9r}_4~GC#s8!7|8C`k?l=Z!faNTtk)6G49~*=cPul& z9YaHz&qqL@HujZS3rw>B-GxSj`w`KqbQKLE8c9r1BQo4EQY^GRp~Z)<$=Hw4My8Zr2X`DHbwXPgDkpmTd$e3p$MrS2x3K=qd%HM+LSS= zpDkVhq_Bq-Ys7(vW4N9n!5t3$TaFeRsBH?ySD$y{4h z)A?llL7Yj;KGkDCm#)f$R$9NI9RY@%HDf|=d* z6&}Qd0SXoj!_0S_fmOvz&98i#3#;X;A`l%E}>6Mr7eS_R{BvMmE zKi9Yp>#955=2!NGf0m1tEEv#*hYa&49AyhG1$cuvmLwJ^hQ}dp?YS5OhTY z1WyT(>q~5riF2j9Ih|O+xb}!FJ#iIb;;d+b=e?<4E*=wp(D}w;e83vXV9`a;|>UoIIZ$M+6-h969AS~37yjN4@(b6^~0~>^WH^sV5c|!MG|#_YMJb^yzWc_2tnSx5b%$+|f_RmuHExdqd z3<2JuQuWP_4iozqJUb#6rF!vkBF7ohZA0r)Yi>_L;&CDqK<8Bz<<7U6%6qz#xrj`h zQx7hhDsJP+aiMRt;fOJum4J2xT7uII1~Yu65&ofZS?9q$)&x- zsTJiSk4;YPNV6B~l`u7t^g)sI$V6Uw|cq_Oq}oVvk-?LW{FyOMXC$ zNFNZImsj=A0=?4_gQy&I?-aPQIF?q`4NK&^j&%Zd9nZn{)qL9#-)r1G@SUN4^LZZplsEgZl@a-M;uJ*0^)2F{k*Di^Sm zwAp*~C@$QfQ(2i!uFH0m9b>xjxP!-s4}AOZfp6ktiTosZT3qEclxA>ws4>?my<7%JQ6qua{^n~Y+!mpYCR;yLz3d^rAo?` z(3uJ)Df^}EcdC*CAP+N1F|SJuueX`WYOE!yOS__PL>; zeuAU}H!-doBh-gEOGr9kWF$KlRy+D2gSNz(Hp`W$1SXsasMv#Eq!{Mz?wElW+t`_S zU)06CZWB&3G}4WJ>-jctlUazPFTM>7ayr~3RAZr_X;D{@4=0bt7$V_&!XOFvBO#B* zM)a!d`35ma8t|o$g*+NJ5y^LWV|+n{+=qlb8lPpcU~`L+U?A;7QVfsAG8T(Mvc!+% zJ0hV?>-ELhZDX-q;YUIqjbj-J8W%<~(w_t#jkMOW{yT-Fn;!{zG#&=*>x;X}vAFT& zlWBM~?j#bvJ^@@d`;m|byFG3F4!kj5p7$dmk49PuTpw?iN$$`{aJFRAaPn~9u%2&F zH!UodnP7h8=)QbCU(IM*c&Xlx9NkIlEpaT~g(GCYb16=8boZ9`tefZz3*0cSk<}Tz zjzsKS7sE7$$#x|P*Wzeb7Iv;Po0r7OF9@NWo?wAcZ@OYMm06z|i$XHE)6DClxF8Fj zrS|@UXQsUm{G;GcJEK-=llmd^5OTChTO8re8L_JDqeV*EbrjS7%@BKr+wXGjC!xQ~ zIodELx4*8OlYx|xshP3p>>M89J#1Vp#BNV&EjqgQBHYpDR~)h7=!HG1EH|d03(F&M zAAzPx?&J=uoty`q+#VPLlRLS-miBgXP1MQF!{7rZi7c!DLEFTG$_d9NppIh)FGMSZIdp zjJ=CZ!WP&Y^SFEG!G_vy+>tIFON0HU%md;<6jhHyRpv>RSSl)sX~Z>2IEZ_g^12X> zF${sNHj$bwc7e%uN)rZOB~7#fap?e7b`YE-=?<($@ZlHH8!@ik?xiu<;MEw(CsmVK zhB7w>yWR~n4ii1@m?N2QtXAZ76@79!O$Il(J4~{I zAvPK-WTUY?_KQ;YK~#?qDjhC)F+-4dmEQlOEULTtG656SZV=TE`T8#wa3HFirPNX` zsx%;Dvbwv)uq@*(by$Y2Rz7lXW+StxF7;SwlLu#AF*`7?8yUXcnN4G}>=>K`h2?^1 z;kdKyn+3f*rzydz2bpcQ6$0Y%_|+q|_8>Y{NM;-$4ri^2QBfq5+QLqaF-BC?5<3pX$NTgR)j0+;j&+56TBa z;i@|rdJtN9G8gK>(1Ws8UX$;^Pz2N+4DIhXw&`!{gFy`riq`oG;4Yip>$v#Y?SO`dz?8YRj8ry(PkSN*~gcOoQ zsl(`Og_0yn9YBv!T$w~wV>_@35=GmB2W5$Ri*E}eIwnzQ1JRWFOVkWaqOz%(!~vpm z0d*j?Bz93LjQa6;a%zneui2i3X;6E@O{3cuCZ%peyAJDgXxAmy+L!EK+#fS&5V}Wl zL4*uIQZe@acf3%)#r>=mYt9W`$6l$+7%aDJ7Hdf?Jw57pgNN%{F$E=kuFROmHOffj zIW$+;G()S83HNT+>bob3g@)8~M7qRSN%+ zB~6#2j$p5`>UKm+;-CJd5)Wac3_UT9ANj<*MkA(sYRDw2veA)4r;~h$AJmAq|J$F~ zpXbXp;yW>t^Nrb`c$`KY##W3%vGJb+Y6ge5h}oa#Z#3f79$z-l^TBw6v%50`1~IUV zW)W+22WSHOSC|C6TRc zmG~Tucvh>#M}AO?e;^B|mlc1(+M*E~Tg2=yE01wv5l?G1=Eg=1j26WHV0_Ank-x|P}<9C z25H2Nt(M5jrfyR%kNf=_@Y*0o~RK=w;=W}ljiT0 z{9X7{Yvs2?rRAaY66YW9b1Ll@t#%koRazcOAFsb8PgQ9vT8%eer7dVd>(8%QrTzF| zYdC!Koq}0kCQ5pK{o`Gy(w4M{*FSHfO1qI2p*~)J+Sw}Y;8x>JQfZI*mvN3T&w~>% z9-GlB6`@}#z@c^{_DP`3fbADtsg5hO(Ty>EUU~kAi?s4xB~35cj4!?P5|kRO?3jB& z!E6c{g^=P7TxL9j?)K)vJ2{O`m|s@M061O+yThbX^U#SCO6M|fDNQroGoZU7FyKawO{^q#l zyRf_U`VCv=I&t}Tx^r5D?r4{m_*q)w5|+P_ctN1VJ@=NA zye6ma%)`-!X(l}bI>c#5`lJv~#6Y0!h!-}(3^^YM7B>Dzc}3woJ%1#WUwkw)R+N~^ zAO|{gt?Yx9DjLSpDGOn9p75eainl& zuy(ojwG$=Jx@J%H~ z3#KEE51d9}K;nqN#Pb6X4<>;OOl}WA4t<8e#LEK^4<^YAOfCi>7aCx$nRj!(h&&LG z*c6!f>43yg#|RYjUjh&hCSg*@Y4dzP_5&=^XY!!G@|N8g;>*g5Y9wHZR>ueZLMo0b@C*fpwDcs%!JOF#FXtu zh;^=Psm24v$HO`1wRDgJTFBIX*?V9~1=oq-5}vTi!e0=kz}-vQe&hrUdDa`wXOTha zA_E%Dq+9Kp;i=608PQ_>;TDrEe0q*6yP4_ky}BB-lm}_mr=*xX2t7+&awaa8yAJK3 z#(CpRd}3(f=taz%*JgTfWs#Zz_W&Hc@xb+1&DW+bJ6hzgmT8#CBNr9Pdyqs6BrgW4 zen_qaiye;SAE5;v9LWmw&nJ!KWuN>iNTNrvv94goC#+revF=WutPxEP;7Q9P2C@Z+|WIi`)cB`XyaR1W%?(4>7NuleTcq6rKd>m#7LGM^RZdx&+$ZC zq`f1sT!;g6UPo7N&$quaS*+fk^BYVSDcWH)IM>g?AV*ra7bS;Ni58ntD#7O9(cNcO zpQx^!WT7FjIL5mqLetADz-0761j34=Xr#+I8emJ+3qAOPf;w@Yghfhe>E}?QMfzow z{#C)!ciPqT$LP}kr80E-R;iDF>MMLw|M@djg_qW&XbDWeKBau)yasGa&0K<7 zRX3Ce$69=qV1{DpzsgF{`*xCS$Ry6w(k62kv}#c(6N*~Q!r=(7y&g`qu?5##;L49R zNB+W6`QJ%3kLj5P-%w4Qc^c9t}YC(!Ik zcawC(+#?&&8ij!{JShL=(x%fHh6p1%S=VufseqJZt6@d|)xJ7Szu@#-r&f@OHB33= z-y#DXa-95z;UaMi*l!i&R}iW|IFH*Vqb21WjH3-ugx>|lQhAB+NgHCu+;IlfaUE>v zR*PyXVw=7hP2Lgv2zl~jwMFF3pZQe;%>_^ud(I{3J*Xk^at)CtA<_b@=o4;v)FH^Y zJVJIs~sK~EHC zoxhti!i0r!(uCP*e}$8G{tZrGpc{;QK$+RZ%P+exX2zW`N5=73Vqza^WhpvyE-Ta! z+@gLJHr|TuBF-gz=h}&;1Q)hcTv-{m2#I@k*qWB-Xoe2;U@@?9Y>GDSP~-cQRj;}7FO=1BJgZMplG|&JMLM(hi}jS-9f{5v$gNAx zt%c?G_I#-n4PyZ|)18iwpm1Ecn`Id{P(@S_r7qXMKn1+frY<{#xtHI!zZ^bn6mdRB}1mg@k(HZN`$+9ch6 z9zbA4Ppw{_l!F$TEDSdfD8O3BSlq9oIXsV67+*>r6>U@<`*i zWz<)&sKJ2+%_uSP@N_E(q2hz)Lm{{CL~<#P=GzmNM~#EHEnhrUMP1s;KvbE>5;!!C4bx9DD17?0$i+tGh38Nb^W2R@kR_LB5TjK!%jO^v&hv}V&LWhNH%VvSj5yTc1xi$U09&4# z3#`ZiUl*wfkzxujeCU%Own}y?L1j@g1RdGCZ3`VO-?WA93E%jJVbRgxh?kb(er0Oa z%keAsra9NL_Oa20iVlq(Tl6g4kXG`M_@2x0(V>?}aq7K8&&%CHcPUwpU;=)faqbxv zN0yG`eL=~ExXSJmG>bJqN1`9V4a?NnvG(15ri)Iud0eDj)=co^NvHu>HE{QqzQf@T zV(BORI^(3;YZyDS+7BxN;XpEu_&~MZF+f@ms)5PUM*PV9-^T+q(r`aF&z4AsQ#WHh zH}w<5yD`S)*ldd_P;(F~E#~Rm!D66(%{}v^Gck>4;!J5Ek94>isr2*JEFbbsCUQQ~ z)qFI;nicZVj2}54TX+B^AIX%DYUE?l$8tWZZQb^n;i}K(@%WiCRC|v^H0fAzyiaS=q;m@K`IIx!piKxh$MxWf~>rmT9isc&ED zA%uoBJ*P!-E04szAXi2$S4Itoya+QCDuazO-VLbbOCx2>O!?9<1+jQrqAQb<-oI0q zH0}V98<%Du-0Iqg+buMB4T;-B7{vOCS(=R73*T_uUc;}9TPYO8FeYhKaAR%BMlgS# z!u&?UjWs7SZgUVCxGm5kN#T*S1Ggd#H%FK(Y4NsXS0*L>mmM;0lr-VS8?#fwEt$r= zA#t07v9BL)ioD(QHOFlker4RUuJXlAmA8Ly*A=>tyd@wsa2u^fV&svu1GmRD+_uQe zgAP^R?E0kJCT~>L-^NK2s_9rmldk>>qiI+YC_){ApUoomq>~zsn4~=uk}xG}hV`^a zGD`tZ7&$db^Wlv~1FAd;m_DLP0T83ThD1Mx6O7l47caLz_SV7AP_^(q2ALNh?egg669 zfe|=_rcT_9l!*n{r<(>0m<`87XWnR^+D~AN(DCx&J`RS)%bhVH!T22BA$hq@<|Ur- z0y~m%#0yN4CV(?NFT#Oz-C62PcKr^fYq9ycxU|^Yb1L;9u(Y+}EAMizH$8Q;x#DTG zypRqP?zGL^h~=tyoELDGRAVV{BDkWy#9U6x0Z;;;%tXUB8lx}h9KQ2DY8OUdnVYRR zv|P^SclJey1VXl1T7{z%5XA-(JkoXS2IX3K?1oH{qPrL70KJPzw!DrVxbax}5e_gu z=*ogFE@G6v!Sr9)I2x(r`c%7cEDTqz9t($_?-qwyTKy$eXc`eg=F!Nr#Zc)gxE8qo zMK@hSG7$tpC!bRrUQ0Y+8<}!R3u`3b6yaI8JUw$`zLjL(+w%&Z0o;kc(K#&^2G{GK)e1?F%Y;$X{UxBX3 z2X-quP8oK{G+-Yjje`>t@;L8e*w;nN!eBoa&P>!rp z&KI(GqaoW3cMqN;cn;$^i04N<2dvVQkY;oo?9?Y;(SI!>BoEyf4`?iLmOs`#ql4JU zli9!lbC})Wj3nq85i{exiLjevUT3hvWDftqF%0^GdJ+BLKo9-E91M)BWPOamoN8gF zy`g&q3{4Eg(VtlQgT*nVNq=ZtEgN1m-F9hvkp$E!{puH>QK5()jIt)eINQ`?wuRy1B^^ZOl2k3E zc+thnJFEwi*%nk3YzNhdJLN^HrbIDTUZfg@O$dv06PAp43yay4J4Kun;Z5|~N5$bl zfwY2Y_hU@#7(i2+&1Ao4cO9k$%OkMFgrSaj37gWmHzvuJyS*c&VRe{()Zt|TZi8Vj z*D5dF6|WrTA}Ri zny72|$XRYv${%6zNXxQs%0;@8QBuA*WXdRzJ=Jo7IBVpWGWNol!nwt3k)W6?U4gnM8kb_SzPdJ{JA>kZ{-J~c}# zI3r9ewg_`I_QdnzS75msn;2&4E*-JkoKzj2HHf0Y#ja4ERrYZ5^37|pu~c6pMc{N z;X*@lmnM3P6dIytccI%n>BtEF)v$lGXog*AT*3mLWAbeovz)zf8qanm?CkGe(h2tU z7n^NYl`RgzBd- zRb7dC=Hzw+*|m^zgFu_gFw+aWFt!miLwmM2`n)DACLFO(oWI@~js5;1n;{ukU9gXt zzmYk_DGuk(-@zQB6o;Pk_cDhg^>Prh08H0a$a^%%ANFx4QMNKzPGFDZ%EevfY?&!r zoq499=n(-joQ)xy!-Y_Y{RDst8zTT|6p*-4J*bje+}$%*E{|* zblc8j!m&=~J60hmj`dijKPhqW!K-=QcsQ0Qj`myN5Mh-TC=QO6zvsq~d~H7dBptu8K7_g^j&&DnNeyNPE2x z+WE|tt-I!tq5~Zec@T#IXz|&dM*Dd3s*N;47CZ-5vzsLwlBfM=H|Ec5#rhfqf(Kfy z%ZW3zU$TAyRX*SNi*Zb(W&GO|xLN$2{o@~rKs^3`=e836#qL1y-{ceji-^RB|7Zl_ z@!!*0{JjnYiocsr{FnO2|CJj51uf$*Y&=IPio(W8KvFI%J2EZ5K8^6ul1h(Z?H#pl z>^%b754^o$4(H(3`rSU8YO-FYZ`S7Uf zBk&Cctkgh&V&$ZS1F_U>Tk_Fv_7h5C4fft#39XMbP-FDREXtFz5|tfC`y*RmAeNbh zIg*kYyLb?6zT3?>a*;0yZ=vVSj)Rbb=1q-e$;++`Y#$yF4QnVTFxri4%`%(ZFhSEq zOFCq#L;R4bK~)@SYy_KPMhqvt6lSooFN>x;-CP-t1|ro1i}dx*lEW~QeCKwMTD>Eu zQ_Xn|o-A<-6i|m^W8P!TY#x$fG8%{OXuKbUsU=Md=dlx#sh-815UHC-B#_Q)SF&=` zL?LUL@hwEZ#16FqF#~G!&BE0tLyprZ?WQdwtJG~ft0{EhJK4fmdJ}>SrR0Y000-_N zInq4~vnNCM-V1U5<@ZWQ!1}U?%)4x}l0-V$!$@Z5W~14QNu& zmh>i@OiTA+!H64tXuJU=HstU?K~uD8=uy~#-*nVrX`DsQCinMDsDl+dcG>69F8cw@ z%}5o>K8h7P%%{XbpJ_PehGena5kuM+(z^9L?Vc=cCf{FABw3ISA$T1rCge%qKv38Y zy{tdQ+ANdw7#dtU$rwQErv`~Jt)I6kD3@kPVGE<2Pi)0dj2Y!zfK&q-<#cd#puTkx zYhQ6>ne&X@=4h#qMW7hvyqvz6QOjg_S-lje4vNXI*kUfHzBUiTc+oy6_UI<8 zs~N=G2U#3lY8u1L6&3h&pH~$rY%*5Do)YdnFxrQr!?}P{I=&S@1D)e);hS)K4~+~I zV+6Mmw~I_1WSLboyY6T`MQrb-L}D%{rB?3h_<=`a=bi|51lLYY9AuhZ=j@Hk6e!In z-}0U~Q7T5_5{M>mQmxoa*c7qGU^K37AyKd#0z^PPUMTy!1=0g!p#*+NGxTpNkijj$j+-_T!+NgMfwBj zf>2Kuz(%Zq6oid&J}MJNfPU7$sME{mFX z!k8bit+F1{WUNkcsp>VJN!1n5SH#d2O<*{>cvdMsXS(z~F?tbq7r?B@5uVC|J^$Rr2iI*hPPhQ1Hsad)YAWu$a#x}(vp^8 zAB$8{?bB#^&psJYxTYCl`;p1XPwr8;zGW-WN4Y7&gNx_3E$&^GHfo%sJ2kS?rSOkr zyzLgMdY2d+Ta+~jF)BTLllu@CVM?&8lHgpHU=b2T1)kCDnucOWvxFH$Eylz@?L3jv z+n&x-CwrI5^n%GmwrA%tFcDWQq%Bmrcz=h&MR#xkZQv+JwZ?`k;uct~a5td|s3zoJ zJ`u+B(olj+!M@xC=rq~*?1X7Fs0wOwajrvHxj4%yEYnS+NM~x1o)a+A9jw|1jPx2U z(hFFm95XtXm7!I_Z4ZF@v$pS9#N^UGE@p}6v)~}Ju*V9pI^*GJJYZMus-mcXA zI*`a(<2f3mtJNqL^C)P5hU2tQn4sz(4kj-}T9=ZkQaY0pMeKf#-j=g_1+g2j$b)gc zR=QA4GF-=X-nM{TcO|YHmt*gq{b4w_SWM-@qz-6(ms)@MfJGd{_mPlcYy84uc@>xD zRhiOp^VzYXxM@S?hqq{s57u!+dPv zL|cCzSgLck8Sp=y5|;;4cX((p6(@(Hs_$S{(XlClIig(cq(!NUJo$%z+$Vft<3ALW zFNKZEHFed&nrp1$3VXkT&178G72|7@v<+L;jQKDuiBy`rVdk~UDHxo27y~h~5*dc` zB=0i2g^jOc5P_B>oqG61KZmhC1N|-UGvcJR)oPz1jD=`G^@Z%0@!@4TB4y1BPF>VU zF{^P4Ee$O4Br6oE3fM*IuxI)6340%LE0l{#ue&-ioGW#|nSi6q?kM&n)|4$BVsM;I zdeFUz{tU4en$W`6m)x*5F+7H;b|1+YZnP&z=W6^MN`Zbo&Sf;^%wL+)*&=<5{T<|t zoi}4ch7n1YMR;K*rc?&ug{#=l-OpkB*el${IDC5G2$TIH9HT^NIF1NE`j0-#QThneA@G5+{5^u`v;5r#Im^|= zq2LqYTJlpg_0;Rlu%1#n7OLb$yRM^IujA%xA>X<(Em){>(Y-EB zO!FN_0%Do|dtZ#eXxAM*vveWYM9Z&bNQwA+tVzfb|2^p>BA&~;l$H_StwlWRWFn^9 zmIHEpp%!u2$wW+}&wvr{#bS&M#hOtk0mZRk5er(x){}|Y>KifE(EA#2lx&z5?J?LX zr;*5Bv}=5gR4j?ZsuHbI#icl6%@u!vPf~RwSz5zbrkr-p#KPE$J$wyGYFG!jm3wPa z_bnbS#{SE4K?>-)((9G!E?fqE&Uy|*n)H{kY22!PEGaF`(JBw3jYG3624ox|cDyTzVC> zguyM+3wQ$t*ZE?w4;bJA&y9VHol}cW=ulW92OJ~ah&PVHP@r&r(w1UpHzMpO<-$kB zA&Y%59D48^>Ty_cpd5oAZP!XDiGyaD1rxMbXT?*;k)JpzLW^PN1stQEU=J%r5m=>e zAU)l_F4yfKmL{KvRu2cq-?L9z&c|2c%em?y z{B?A$T=f`!A#_ojD(DR}f_PU2MZ`IARg~c!tx=qdaR!0OvASH(!BL8y0Bq+SHpriE zUqgKj=8Tu2GpBn{jkpK3FJ{IOkmsAl3Q91w&T&4@(hR|ULWAA2M9x@^Jsa8TS#e}p zM5P&*yUCRH?8=xZmuo*IwL8mTD0`<8uUJDDS+-@<5wkIbWSecXq_Z0MW*d@ZmqpYm zF*(-SP83y69pH7p%6g=>;9vfCwOz>>!SO#U2>zP~|99{=j`zX;uK62(t*Hrw4q8Mk+ zRT0a)Ml;74XT>0*VSHO%73AuCBN2b`A^%WR_@cP1(pDHX~#G!xHVL540 zbvUJ5b?!ni>2cK3vUmF8)i9gt4gsZ@UD<@1!*rAz_O>WAIn5STr!6Hm={2>)VsY;% zb#j*mF0s4L{$EsL>tW(fF0sptLsm8!JfF%&1s1rn$%Up?Hdb!mX0)N)67~cuw?LJx z^`OjJuf!x!zs5-6V-|ep| z{(H^~-Rn#r@ZZ5-O!dM4g}EUsf((UEMWE40;EKSh{d%3f7q_7l2J8-23N0%F4Yy!W z;+emwSl@gu!y39?{BnV@v}3(^wEjX!Wl){Uv>5wh@E0x*f#ao_ET*$D9K{g$GA-IT z9<8F|C8vA7MsRenZ@M_KhjcFrl@JS7DnoKJ|BDxPdXXE$#nEczR++& zJO+C~i_Fp$Eb$m51$C?3+@w9>M^c`om>i}RCn(Lurqp%xyM*++M&?QVS3&I#Hc&8{ z#o=$p9GsOF7X|iJ1(iGw6xh128H);9O=;-IYb(nc=#z8 z<)8a!0wpi3QFCuSy~*DaDESC2`JHF`=AMc?1Ghz+%p201l_J;5=CpeI%iY>jle<5C z?_2O|N$#RotH^&c&^PNHoP1HBU*MO#CRl4j%iU@4_AmH%PfhO5{MI+??~>fz_q>|*q5+|iKgHy~+aDnLGqmLQ z_3yak0~Gx0fs()fIW_llPH*yMfs&8alK-loZ|*g@dpES)od$1N?s~}mY*h|*vz6V^ zg%_w@>^SOTlUwUz|NJ$|e3073R*~{)rOEwXvwGeC9l=fb)oC&Y4DciuD2|jV!F?8 z_zJbICR1HaYOSsw{}MSLpw?B<;C@Y7^rVV=dY^!}cTnP60wjLq2{rM$xDHD^K$$-n zAn|2d;#sFP@#_L4-VD26@_1xRZ{M7&@`ln5F%0f-UmsbU5{rw5#3{|fH4z49XY>n& zs;p&@tfjRkYxiLL%blRf8myNZ=un!|2%$Uin40_ddimzQW4X8@6cIK;t6Cj|;s#@)B&>XJYgKdF)tUSrU{n zipa(&&UTJb!f6>G{Bz`78>8SXFs#zi7-jJzD)tj%17hC+sqgqKNa~)4)ztslqeD{n zEp?Xn$AhJQo0j^d)0X;zV5v7hq~?9g8NPX!<&BNcoB_sX;%WEkILUK<8l>!-AJp>S z{dDHP3YM3La3V||W6U$3dbxC* zBrWRcxR5|`zH(!oBF7@=CWBq~kQP($#MqoL+xFxt(Ex+{TL2JkHMI zv}Wg}5$%%OFp}F`oJ?kNyOM2N(cqdc$r~R56G2RFH{7G5Ax8V6(ed0^TH_{B{xCB$ZgNoxcNa;xmnk#L$L|K%}4LG zQc_oG+zj#K<~Jg@J>|WNV!kj?%vJ_wsUw6-XoN5}#0Y^Y2sCa14(F;P1f2Rq4^oV^ zfxk&tR;lH2UPQq1=nxKG56;1Er^>2NIiY))| zL&84q#iGu`=R@z&@$cA32ot9(cXragLWoZYoQ?y2_!)XzR_V`mbW}*qne0ObKfixb zK3gp3SujM1hN|>tmDUu*r5J10enbJBS`z*4q9Sb)Ef~Iv(|vGkyCVvUBi=X^7Dkwj z#C&lB(-=Gx4p7^VfEkOhaNI|sh_vrn`d3$w{-knX+~1nOBX@-IwTBE_;wvBh+IbxJtEc$Qhb)h-v`Iq!2_JF2Sga%SWieC4-H=w-_(bzMm>x@6 zj2m%%CAOycA$UP-i_IHwe#j(bjXvRC2jSi6h4|tttX26f{7rE2>8{@b7CFBOF5cVu zTfido*XAN8Ct&;f{0^WoBW5yMbzP$#Db{tVwWl$=dKOoPcX}@D$V<7egc+QL&9lmC z64AsTV@-UlPZLjd1-4Gm#8WL%n|Pf3uC>Vbbp~dme>>QC|F5TwjR&{49gWP>$A+aH zY;1V>w4veL)^;?;oIWrVv-2VYX0~N)uOW~E}QoqV_uFQ!*mBqYni`>EZ z)|Y@C%o@KAruEw6dB0t(i7#=GehtL+h;NWzOWZ!_}e3y9bky)t@%k7P-)oqz}U@pdRg)vHq zTxo?5y?gd7<#b!1$XEIhw;uTmKJ>cCvBYt57fG}w6!uj3r5Z5Gl7V&ISZ4+d>c=@V zEOgCAEbo9%nuFhJ>}}=iG|&N6TslB=*Blreg-sD7cC-LJa0lql3={y+@9WHncV-N7 zW+W6lGZLK{$(0#t&K2o6p66UK5r1LfLNQ>I0}GXiraNNGiE!qaoH;QFGfJ#+=2)CL zvCf=0XHH*dPP{W`kTWNtGAGfQlU$jT=Dd%^b{~sPi3{_0X%5*3Vj}m)$&?br1Gg|+ zoLSHch-24)#o`(;Ts7m&ie)CuV84U1Lt$Zp;H1M|a0+1$!4Aqv@eD&EWEM`d@<--i z$bg*QMw^mBS0;$9FkFO(u1CV%+@OBki32lG3j2Sp zGcYqqoBc5t<~Y2G2L#0dw3cTq1$2i9|$$+jmO|czdy;p zjq)$fe=v6_hq7NNf3RO{1F_#4`S(rv_ci%X3!pem3TGC5vv!UGH91Q`&H6gL52)VBzjMoKZ#Ek?MpX2&gL6%H@;%F71j z9qDVC3D@Z6`j1-gerGq%%QOV2!iCGZ^E*II|!TnVYU&8iLB)9g1 zewEn+f@w%^qKnz_vBG>NOg?6rykzLn#k{RjJRSDej0BD8kIOfhO&?q}5r$~X-XU{D z%&HG1BU>iP_r5{ah@^fvVgs{Z+0Ejn*>s;q@dYz85Lv}1{tGQG92Toh{s=N1zCkb9?6+3c8EqNGxCCx z>V-`!T=%OG(d=F zDF*E80XgqM6_A}b$$d5!zBSSFdr8%t3uTZoq^}Ui9Q3>D}6E$ta81H6Cst%*pW}= z`ZKOVM9cCkRjyHM)XMc*56ZP%xmLpVaOleQ3fR}@dh7kVT%%7++LD|dV_sP!RBxIh zeAOV-Tph01CjQ;GBhaYvmXVzfv6BAc#wADisOmc0E$fID)-!`2_J0eN%=9oeyeql! z;Y#vwP9Ef(oFG=tVegh#ajDM#gSfma$cQrT)p(PB>AvE+lXhZF6DB%X7swS2Vp$~( zRSZ>e?oMOt>`@t2M%*{>A9lllJ;5EFHqYKAEmLv-N!&T5EG5zYb8;VtaY|KK#`sDi zKQgPZjvJq^f_1`-hO{e}n9Un%%xlXMtD-GJgPHCaykT=RQZ=tFH(KF{3+2>{EjuDm zC0)ZNd_^g3;mK@nf=fpyb5a><18*n{;0C1`LT+7~k?W{n|0g&kQ$^+tkyh!Bo6x0u z=DB0C%xm$v?s}*VR2MjYVxIHhSpY>PM>uY{fTUD)(^UdPWn@-WWM#Li&HUbtL$u~a z_jX}eDO_xDL`iwqz@BKN7+Hjy-qL*@TLe_X!uaFwN8cUo&+BnUe1NOO{(m@P!%i%; zP^ssO$Ev19lpVXpne8#J+*EcPdSJEXN6ZzNOBu>{nJZxQ39V<@F{pV}W_rtxW+4xV0x2kxBwy3JR*Sy|_K1D;hhPj0-Id0?K$=!KDZ%T-M->)04)(JJPfTn z@NzO}-8Mr(>lVDVhSrTJ6JNAu!KHm@*>0I>URN4Xoa$lHRg0@gQH&&2Fs);N{$9lw z_|2EL@T~nJRpTX}Bq9Z>Imqk@DG@JK*}vf0NyvshIooTlcphP@vQOZ90m;$>EQ&`! z2Xo+6yQO>ahFj71FiE;yk)%J2-R-zJpd=NLBo$quU~>iD^w?yM&GtGjM0yZK+;JK! zW_ohj zCl)D6V_ezIw$3@?0J?h&7kJ*&!*%wwChI zycT(G$m@taKO)BxG|we1Q!YNKlrdd!-Ax;cQUWgC#$d1$EMphd!B}cak;PoG6}`O_ zgP7&B_@CiCC7I6N40mTyva_gfV+CHlS(cQdIP+b1(fi`Q=CxTP#cfvU{wAzZXW_O7 zll?8h6Sd@@-a!@8@=g|Un{+Rh!Q7d`v;?oSXi#NQqO&O8Sv0J&D9xP=-v@A)mis)s zEW);iyT7w2!95UPIcMUFLND%%mngivH=LL@m(NGXhaRQMP?HzBEyh3KuaeZdOrUKA4(=$APC5&z*Sg!m|p`6L{FPO2)~svIR~s2rpfs zV)O>iRT4&x03#n9y!kJ$mw5ab-@tuNi z&p+{O!}BSgy?DOG^CKQTw$J^k1-9mje;}Vyr55)L#7+3V3HR1zaM_P7WpK_N46>`R z_Z3_Q@9HLFcI6}mGm^mz;$+M=Dww@~0hh2KGUz9Cm#RVsZ1$k+_TxE*Ck#w=!DGSG z2hZ7f^w?~~EG}^UTrge5Jq0H<+g?BKfn@sE&q{$|Gn;B)(E9muR~eh@aS4W2KT~_l z*mUoQ7pk9|5<_AG3I`?>R69b}&!fP?0LFUa>5u0;Jj3u@i05KFdYm4+w*^k9pObS` zjC$hysJ?#A!J+% zZTdYeu$Aklbh#S$8(Z2_KOOFtGHCcCgKQ|(z@RetY!?|b>qG@Js-Jy&%9zboFnf6v zm#~wlpMR+6WGTn5pLi#iC#r%$!KuSmGZUyHT(zN9&_UQU zWCHb)0#0=j2j@E0ELqI!48_i@QN_66y@H&GF@Sndmh%ia`L$;kv4GTxqCI;E1@|E$el+@fUQb~VP1lb;s)vu( zDro#6!*>TN0k5cEFu^sKzX1ZJBSmM%JJP2p)S!xcD;cndNUnla)YZ{4uA{~)xKc;@ zpEG1!w=1}A8cn&w-N;!!m`>L){hDFQD(eN`@ya@cW63(x2dAn)%-zH*tLXg+W&bmt zZeX=Ho_IWi@r=MT29F-!Wnv3_%@x(is+6Wh9gV0-9--ve7I~a6wUozKoeZ{rk;Da+ z$CphqZmG~u(d5xXJuo$JJ+Lj$I*j8NwknT)0+^`^py*8iFC+0};kg{oOgx2nit*fx zM~}}vRRQo}^|kM1D)fyTIX-QyueU=){p)K(6~pHMNls9Fwno91I)F*(cu@zuMg^an z6?{_0w2BX6nJbHXYxQ+9c+0_4jOS)NOYxN8`6Hft@aXZH?QDS;>TA;!6{~mZI95u1 zeg2#F)>k{~0k5wYxOg^0)z|d97_hICXa%dUuSCkYo^^?WE7jLsW_*#{-LK$!NiroE zs=mI?FlF`iy{}u=*Y78*K>WQ{sjp9qoh&cn*?^}W&kj5vRdmj9+`0aRKd-j!V4-y{}H0T z?nV)Qh35z!FCG(k>x!oro&m(CteQ8ChP6yJPu>$YMQ6mT8oN+*_)ULePc3BysSh|h zr>r2=06R9BX-Do9U7=E-{uA$G`UyW99WneSkT6F$JcXZ0QGwZ~G1&hN&4vFK9gawt48pk8lSXD@qS73UaETYv{fO$#liL9OKN-wtmE1j{k>8+C?s0|v5{=+eeS9_pj(YrwQ-xtVmKA5Eg;>69 zX_fk8{6?jMlo{ogpp=IzeJSadE^rwj&aHlwV}erl^Gp4vpp=LF;(R_RacZrSPORbh+AthiqhZnS?hJ>r zWh2kGcXnkYSfz}8UT>XtT?vl);ci0=-V(e@_lLT8zP*bp3&eMU7=7HQinUM zsXe!M7D^KgB@wi{MJ=u_h3%nI(9sQOXa^@Y5QCHOB|1)?z)ij(Ie9r$3dO>*Q3@!{ zp$J*SRxFf)nxiuLE5^%kJue9XdC{kF7eWOEUQhT%D8d%Z48c4dz~t+hdF@~zVDxF+ zh)_Y9smd6cmgP88GztwSTo`Ju$U!$+pV1eyX+z^UEZ3w>bDS$0ZKf;Fsb&7Sa^8TG zo>G0X+HS0To!X5$Vc9T)<9qXlYQbYO-?IS`n9EQA%5|RF4E9g&)=~wY-q%=hTKi`PH~Dkma4F{Bu8A? zZN^cKGhE}t;ENSI76}%v4QUrSdctqC!_57#f0nE*hf(J@mETfj%{$KM4W!e=byku7!;KF43nV z(T_tPBA7(qHChF_;IF>}eQFXt7h7P#fIcTl1-j`kzXN@0KwpH7*kC}vHBtro&X;}% zx>cafw3OxX8FyTx8+RNB)Pl!v;E^E@Jfg z(Wh9rEsPC5A`nm+d^`dg!E=!VHhFIgW5W;fRfZqS$$)Pkvfmp^=6lU#y|*(N@9hNJ zy^gCv$p#@a@xlfnm)jPAZ~tLP3cT4cBoQxc7;+w7*f6BOoI5kmU4Vf|E7*V0D+Knt zMyS|7x%zkPI~x0Ky+dH1H(bU3oIn4LeMe*eD)iujwmF{cQp3GnIW+MIzh$$m1lm(zTMbsXNQvZOi0>d-jFpC1AyfV%;op9VZzMi z7u&}Oo($!C0 z=Y73prHKZd=B#TR0w%@0_@wImVrOQv=)rkBu@=X|%j@jt(Mu#=A~$6=4|n$}|B$^6 zb;pRcJ0;mYUObMSg|cH99F-lL33EOO)2Y195jJX1*|Dqb(PhUnV9lTH8Q{2H1Xc&n z+ca@pb0Ua+J*#noj+y#iS~+ptFG78oSTty8QS#7zM`~jny=bQ**TsyG+2XCzMX%BU zGm9%L#_F0Dmy_?xY_`h#7(ZfZRGb#?Dvc9sYNYVhM*CScjbTS>jE)}pN(_ls>F_Ho z25d@glS*zz?YhKpdp|KNzD5c|5RDXxZQ-P}=`l;Qv_@yXPElUYL|N(N<+D)o@=g*8 znB-+UX@IvPFQ4UrhU8`7RJ`cqWmX!#NnTc-jTe%avmjb+kQY$?<4d-NNkVf0I3)>k z9QxlUI>%vhD2V9%&E6)_d6UP$M8|z&NYS~QlXkr5%tEp0L?>iZGkz4xnnb6^S$Jth zbl$lfG$cC9FU5;abe>7YH;K-!fp{U&@mSj=I{(X?n)hA`DlfvqHpz>V$H3%e?t+l= zQp8C+US6I+i_lhic?QQPn7m|R#Mhd<{DpcXl9#&4c+tsA^;mq9yfnw-h2*7S+W!Z6 z@vI3dFSWO}NnY0S7?`|#VGAiQA}8&5dHD*>fKFaQc1>Xypn$1;S%#T$Yx45wWuPH> ziJF8LoxFSrolYh%=PL5D8J$<#x~4I^|4(#H@BBHa=-i1RN*hKsf8a4N(YfsUkfLMd zq#Z9hXQP_yL?>j|bmwpsI*HCZSWIk9be2y64T;XYOuXnsXRsnVa|ghKnwsa)d9^`w z{+D-6uIGcwOFqUWZIGACcnnNlHeMG}Ug9~aue=BcVl=y%d_-)^xY7oTAX%eeMQHBw z8_eZ@!fYtD26L#3u(n&i5?_L60!?+4Dbxz)#HUa*QRhi`o`M^uP~T#pX)^|xLw%Er zQvPfxihCzszV3mS&B5nTZ-8bFwKvb<<rCfm%J#jt$Sl})2C5sCOanV#4$ zU@8@3%a~o9x?Pz~*%D`$?`IRLL<;1*z3?zX5*5XuPytJ2T2=f|v2$YK5uq+jEFCno zGg?vCqz`6Eb0+944R*M6-GpXACtZg_N>`8bAr2&6-*?ALE7CQPnk160 z*D~;;ldd6S@J-USk`8H+bfsjqNxDF}1b4g;yO)B`|C7S@=u<(3?F+O4a_kMffIR zTThDwBy9W9*!_QP%EmnrRJxYWYm;;xe_U(IimwSNT{}3bPP$fId^)9T6T; zLL5lCPISdfE7G+x9W*3ehiGw8CtVlOk|jyk`?QWg()9!yyZ^7!mG)Rr>B>Mu)P}a} z=SMZ^S~(}AbZzIPI_Vmdb~>f&rHMY$6}qF`G6>>8(iI+qmsX@}#>Jo^>58VMNS$<@ zkF(26x*D+8!K7;@TDLYx7vh?SJ7xY)ca+;74k~OPUEL;ObMY8hNBOs+kivEiC)Ekt z)|AsJY;U7GYjac9g*G}!*m`!xODn<_MKVUhb|EcB>4a?pt)^2`7NH1RI2yY)2;2Y3 zVc4w?29>VGv)d$H7w{OEbbWPINa>2;q&n$ZfCD_VucBz853)+bvA^S^4Lt}t@liO? z7;&^)mO-R!EO6DaxBKFiw`gqTakp%=jj}JgWd0V7 zp`Yw~p7OQ|lMU|H9dlg%R)Dn>{`T}R<*nZcyop|J-7+gSLc}FcOPeda_KU>XbZzqm z-o?Y{u%FetI09GM47h_eBhI4HXwBC}*}LqNoLR{@bY^t-#*4dKeb#6)_gSBn9Es%} zI*m5F=vCt^BtbV|kzr2kkwdABh zq#WkZ=~r4u7PIKcUcaiWk!e@kyQXE>qwBL0sEKp;!waU|26wFE4D!AX$CxHLqTq@p zJ)Fu-aFwR#{-Y2d;`Z=5tMp7hq2q`Vw@Xv;IC!JZN zg{)YUI4xGp@HjI)Vn(yL9r`;`FN6}GqyXaPiaiLj&$}2_|FcH2Cfd6=!J31({|Onj z;#Y!|MciHI$+b!|&ohFbcwu7#^mk^F3Je`5baX{<@8Z$YTTe23bGt>cpc%8W2Dh&Y= zGVmYH2m-vgO@cIY`Fk##YV42A524|OcE ztg)bNVO?X89(T1WPuOF6RA<8{ckY%Jbl0vk%C zH?BGbXj?QE`QlHu>k4d>m5(^S#)<@>q7lbzKH^}-a*E~QKl*qnTP=_ocnv7_ zz70xmXm(SBvYC%Q1|U@H1+vY-3*@J%YJptcPgfu<8Wb+mZ7Pp{{^``pqh;fATB|?` zAdsuTHjZff89o>{!$h3 zTk#rD#zP{Wicqa1{=-6!cvn!%h?n5*+z?ZneN1xOgm}X}9gH}xO`~Z}4mKaCHp`8U z@K*-aX>N2bnxYm+!{i_Z;@jvXUP~d=M(0I@YP~=TZsi4XJE-LXIe`0Z)dFeJ=v>ak zx=rO_z5CS4<5zBUHcnCzzX`AHuL8*k)jHzeW8IG?nVmr`BYqq1;Z+fD+34(La@{7# zzqsqvAXgh5n?Wi-=T(Q_ujJo{(ZkaBz%c&1M*h7zoPRgUzss<^L3Ht*`0uOoZ#vdo z$o+fzWt$86zAMxvH?RdC%=)pUmx2`(TGGzth?>`>H}e$}!fsn8VV9MRm64QZv7fck zG7Gnq58jlOXmk${?_n!4Td=&cU5=zGy}8neg>B@(pe)$f!$gm>bTny9DtiNLe(lRs zqmA(dhVqlD#cgy7i%v618BjDt4@GCEZpYHc@E7URelsl?afapP9S2r^qyZYcRnMsG zCNXx0BZ$Hhtsz-yA%zV%?9bx$BdCxg;$Fd-$MOK+> zH9TAL^Z4~`E#Ds}sQeUk6hE|b)sm-Z&Qpu>{bsID`Chv^RQX<_vHRjvDty7qcN4}N zNRi67GmrSB$~Sv{Tk(8iyozVE#^9-yFX72n{AmkGu4g2F>t;4nQzftUH(sal=orPT zW@TY>W#%sxtb)Syp;a{C>OQJfInpbSG59c_>d9({Szk4ZopH*iR(a)$!Os3^^%!;a zC#9|uf6^+sb1bJ8V4Jk&1y%w}h*PRHGPkKJx13Yd@WiT2aNE2o^A|%vj(>Sn;kXCm zxGSeB#{G1~PNN^cGPBrSr&T?b-PU1z2F(o}i=(Eo4KU7EnK~sHTj#5D`}o@NhyvCr z@s-!2c$5E!y>|hRvbg@ocQ>14Aq%@e0zo1K2nt4Ra6uE7OSmLNC9pBF%c=?5YMQRv zBJ3+*2_(K*$>w#{R&Avf#d;~$TG6j)@PfHu63}7*MHDY+X`Q%HW5pyu$o@ZP-pg(- zgrK(1^Xv2H(Koa6&O3AF%$YN1&N*}Dr!=0Ha%FfAKi=o?UVEd8#Q_iRSPkO;d|=yGth|+Q6H6GhiHY@el4c;T>Etot?JsZw`on+e$9)G{3V(q ze>ET&OSt6hxX523JkrAN8eobE|C$X?TiNtXRER0cW*&xYBOR396r1(l)%0*)Mo*jA zZ1j#|w>O_uZzNmrGk!cF2HhdC3Z@u1{%_Hffjp-}a&!il%GpLW+Z!!qb_QolIi0qB zL3_`aF_zcyc07q7!7;sG?m)KD@?vJ^Myb&ytxJ{~c(vY9zJ2RQtTp;}tsK(+zPL}< z{(<;*rhi>BS#Fk4L+=qU81}il>{AJ$YRenUrecY6T;*KOrN0NHB+Bu{mK9 z;;zgC>l$)%C=@hN%7)1YaB5gAr1Z1Ib?G{3>b~?DtHQIIM zxOZ5==a(OY=wPvu4${WX&GBj}F9S@3)k2QjOJ&@SWg2dS*K^#SC*xMy!~04m7jGD`=zB&il6IlU7C4@fe`Sx!!kR8p&&6cM* zbl$iWg1xj^{z+6UE$NhUJN^s!kB5{h<9`y^Nq_jyo>s3@@lWjDq~op>D*kWzs9$>i z%fB?7ue$Dkn4YhIlq%zM0k~j)`0SIORcwy?uwQIm`%evFB;J?ZpB*^44{tFY$Up4V^20L+2FxKo{zSv?(@-mcS}*KNes~b(L2!u6 zU@q^2L%fiQ>^UqIo9#Y0#O;?NdmMo}#=xYEK_4;%T|D0pT^D_<;oY|Mf0(Y_ki=xVey^}MP6tHS zsvPm&{(dnU|B;5#PZ3WFl>EQRDgFdmOvY&3_r+*fmJs(1m{YuPNW*U#;xCW z2u|?~OyzxWirAURp2Id^x6lWtc>7{xPh`u9Vf5w{HB*rt%`TeOjZ@qMyWfAEQ*4I> zCy&99g5FephMXeQ)GuAn_&~$^psW6e=~}1ZboRBqae8`AK^kO5*$HQRmZaB{?`J&g zJgDJs*Oi37;C#|q_}>QB5mnBcN{_R7us5s7jKUsVGQQCt>vtK02}t^5gF}n(w+M;o z%Iw67SW+gEZK4nN`B>ck6($)h#V4@`GAwfY z@$BpOG-SMr$VMtM)~XQv5M=ad^N%6!d>hYx9d0uxqD|9}(I%<7Nk^idf4CIt^oRk- zzE>H5p)xST*;fZN1iXSUT=D>v{QW;Y0C#sO$oOTreLLD$2jIk8KLR!O7=W|XHjlrn z^|@hjxXleeMw>kc;1cWuBL?6Q49$E71Ws}U3}?55fw>gG$OF*%=6`wshRE&5voGJ# zknu7C?x+KBy9&XNI0H6zDuccz+-7z}n=wB|n>`0$8f5W^0azYT2EZ%>Gn}>T*ATEh zR~>*~@BU8@z+ER4WZWEXKLhQn18{8D51#>f$!hqQL1nv3v32n0B}18RVvCw_#!Wiq z>yj_}eSJ9C?`zAK{l1>{Rllzv{kq@RO|AXDj{0}MuRY)P`+C#SeqT3z*YE2~+VPss z)HTeR48sD&m&eg!cqM$^cm60Egg(lb5%&AYe~HlENB);BedoIf(S4K;5Qh86Zy?n6 zkw2Yq+DHDc2$_B4KSfyVBY#vI@_U>DTsK)-+KGdHVkjg;zYbmbdI$g!M*-t6hdjR1 z3YK{m+!S!$W!hhH@DFy-Y1~%2`7TV@c;yWp38Xjd{7Rk9?OukXf@DuXle7>7)=hJ< zv$45GT}6;ZCi!{Noi7zm7Ehq{S9-VpyUWzpM=d>;f+tE#z!bGsByet zTm95Fn#L(2E)vmhO_Re;*WF24gMD`QIjOJi&g4x-boY#!d_G6*W1mgV>a$6@Ik9gH zXYkz!$ME|bPLJVfTI+pbxCR5+3&V?e+us+%bqo6K?qX`O7eO7`(4)Hpz;M{H;9jlC zq`qkQLq2@Lga|73=v<)Cf5OlfF{&C7UuENXEk=>M?&Qg9dJ}QD`C(e~WBMTCLZ$Tx zGWO^wCfc9T`k5g)+~mVhjmxvP&mMolN3f3`uk7CAGs5zD{kM7BsoI>~y-f|vH(#V- zd4})wSbiGTK)K6(VY!17P%xnvmi0dX%jsH^ePX#>X|oqy{T&L;2)cs61gmZ6)@kf0 zd=lJl&HAV0e%xnnW1qRt_nG@ppSgE-&vm+_W41QQH7!Fht(%lzX#k%-+wx-LD>?`+ z(gKrw*=SOZS3h@dwp}o-{pgxyQhlKY?f?J%_r@RhudshYt2TLBtUs)#+CNoO_J63U z^+(iH`#;r`{c|-XGBp+A(hb$OfXgkEx`#_Dl#1iBi4Ktn>OPjgu(DXCT`OC!w2QZ& zX>XNw@m6UUZ~vvfjZ@mSvJFbRR`xcRqo|EhO1oBeAD2xjOaP)Qv^R~PldSnR{Xd*R z-h$$eYmGXc9v2;vH>xvUy1diBD5V+8H$UhLg@9);e8;S;=!JbpvTRO!ygA;8+3))}N)h-H5MQ`*DDvzpJ0fje(N4IX_| zt%Hq$r))5VZLZh$QnzICy^J+#pHzO}W)zgLoKVaZ*aj3$(V0L!_dfwO`TGLuFW%6g zerfg(fEw~(4_x2hC)5VQ^;N+2j3V*0$fi}b2eRkOVB5lA>wa9YKib(BiTqHoKL8N` z+iQ1f*uD%gys+Qxn?@pUvZYWxXZl+X268GIo7~6D__(&OZvViUp@(l8dVOb|*6Vy6 z(&*Le$pe}heL+3>KLPdcAeR8@rdkc^O*4J~)V*iM?R`T1LrLsB8SK$vu>WQMQNgaO z>5D{uDA?7I$bjvi)@a!NNq=BR&IHg+x0x}J-;y4NfD!E5YOOhnv5y;29qa%YxVuiw z(Bb|5@cYg3duofnstUjI^?0=@{K})f;&V}2ViGUa;Rt4y*>9-KvR2GBN?Gy#x#q3< zf?6xQ2jfG66@CC$GT$;1xP{M|BV5_pyt3fCXING7bxKvy;i~o_%r_=rx2i^SsNf52 zE%KiduFI}hDyw>3L!IyYRyK}10;7{Rg)2*stW35_;%XRIMq!f0SBKSw-%3AYlBN7b z{IG>G_?j;)@t1VYNL!mTBV+x1&tTa-efSPesJ`lTQ?b6&nm#4tVOsHpgkn10A}`)9 z2ix%1lOzr_+)3gCrjITdpa?DtuK55S$i-}gLyM*XgR^+)UXuV2&por9pxr|S3Lq!&9d;yWTo{A!H2 z*paqkq1chJYJocD=V*POhB5b~xQjAOryBNq|8kn{<6fwUVSlrG_YFOVeIkZ^vL|I} zQHEgvBfsWV4FlPTH2mXXAO&E`qknn~-2K!UVPMxQ-3Z_ZVqn!P8V2Sg8ZKb~%vJkO zT$7~3#i47GV!b2S72&dpyeyULR$@xHL>r=?f|K_w5gRV?PTwW|`LYJl^I8e6I%U6v zW>hwz6xOL+VX?A*5VGYd9{8OXJfr5YF>p8S3Zj~VQ{cqzpJT#Z^DyG#)-pY=KE)#r z4+8XLQut{fkhO5p;)e4Dz&ni2}(!y-vDs^X8CGI2c31us<^6*O<0-l+AMo{)q zBZGXop(%Vs%1x($-xeP*M%rV zVh8kk5OzcpoQLo?q|;PrQtyw)hNhx83w=nM!R;Y<4Nw$~Q+>Zz8Z6B*+2=s6GYj#h zYs@;YF{BGdp)JW!nQ0D=4Cy38DAObvBvWOUsX~umIuies0|(M+YZx6-1Ee(*om?}B zIzvPyVvDu=T_Ud1bu)C{LMb~PVgb%wOtT%r8Qh;Ev}9ntLAnXBY9qhiJ zL-g5cg@k-=MpmnL0>2s%mj;G})`%-C_Ckc3XD>__UJi~E7bS**qqTCkrOOuxk|pXd zCFMxkx*rDU7exaBl)}di08o8*Kqvf|fX*2ZpzER37yzJ4Q7i(Z zYd-lAG5X+*1How4z%V+tJ4Ty6{t*HF`i6l3`q02IDs;!_xj!bL*#iRfTL=sT82YzR zEMn-_ebf!3@@|Pwb-^i5^~F-*G+PK$eVMJAUrHKrf*0rUzr2oP5m67p7S5*YKSM&N za`|V=@lYtLpksl3UAj=)?-VbAeuqb&jhNVH4$JlZz;fMyVfhC8w;vA6yUR|Emv@d0 z6fZaaD6m}C4=lR}49l?}1(w$ePmPyZ1BT_69|e}F{lM}(1g?S6?x$o4q@ceMw2MVa z(!2b*ow6Wd3qh2Km-HE{jkruI*NT;0uWv5HW)#+0AwFZ45X=7Zx04}%j0As7Gj6Vu z;{0~0#1z%w&uzurvUhkdlL~O+(Q0`yHqRlw$?_o=;is4p5+;hXbi!cv3sis{)Da`5 zpC^pS^UOxMRJq&&dr5~-C!ylpR$Kuk#Q1i34gR=7nE$YpTIG|91A@A|8`MXi=>uxO z9561B!M;KP`z0Cd_u;3fGT6^4>3zh)&Xb~?(sELWweOlo%oTXLplb0_Qn57!T1VOlMw*>!!)y9m~5iQLO+EQ1W>?hFD31?v1Y^Akb zf21yUqB%*A2K9yd)sQR0EheJH6KabH0U9wRpa#o}x!i7RdC8bFNmr`VDV86x<$NhC zNm^o+a^wA3tx{GZg`Uka`Lh_&Q0`Ixl1_hCi*KKhz;dCVYS4|u(6O`5!31m!1up~z zd=532KkFS*QDhwqWHEo%hY-*FS%(8zpt>W0talt&vR{5f5-(tq4Nhm$>;b5Ulx82B zbcW52`~J-?3pacInKrw$^?Uc0K^vs>c3a9B_ICT%-@Dmc!_Ce*(`L{5{>>hT=11vm z!^AV}?XSP;*4vPf5)zU_LQ+Ub)D+mXV{(HA#GT0s<(;zF#sBVJtgou>Jw|1cw5s|l z6T;r^bY=27PhaNoU7(wfsO6Q+CMmJA5_&!1x^;k*HWvm%{u}kDmvv$5gjBxhHDv zIN8qb#SquJk75+OTQK?BgpusAKc5VFMi%~ChKD->Eg%oDrOZQr~0to5-o-~M#zeYXu`3)Rx7@gdY0$O_eG zg>)2<%fZNhNGj>@BVI&<+r4pnX`Wu!e$1bp^o#1!zjcM8I!a4Ix+?FV2U&&as!aTm zoJqD_b21#pl9)Le@fB;2Uj}2eCpI;{f`99Gnx!b9%q><^SO>zM)Ue$;6e@maB7S&g z__IyFsBZlR&dE_7QUkL5*~XiyXQX!6s{OMfV?g85MGZ9-PpYVKCUewG05V;kLBNdE z1+-ud^o4+#>$GwgqFm4>EjCKAxbD)Q+aVqctsk^@6i3qvKzy}*cO;h1QNIM1b`svh zXgca(GtnFtVz=7^Q$>6gVF?@hj(qlucl5|flJVBOoe-6JP|E5UQ%i`$un5uHRkT%S zX5;~FnHlkAYmeu^S{}^6nyp$zE_(?& z=m?&n1AM)CMnN+JY+MoNWWMfSuv2`|gnW;wIQhgND~qEoZ5By+b3x8-I>;j-rpj$b zDF%6s;74vk%2X-aRGN;M`ce$M;xf&98D#V%US_uuWuW5o#!A_wdW(^=Nz>Pm1%4a~ zF%vq)f*6x)T%CFC4ai z>&=v6AZCRwaj>Z>Sd%4}iBH%-$q|1^6QnbL?m_<&$Yo8KY)9A@G!AL3#4OeugWJ1- zv@{Z=iPUtR$6S0Jfz*yrKjMu?6tK=Ca5-36W(4C(WA9VzQmbD$qEw%nsu)CZzaT;qB}rG6cn%AUXkan~WSRZUFZ zN<+r2H6TM=;*-V@EA_P0nuOI$qt?O@CNHPfLaO^JweCxJLeito7OGQ~$g6yu~ z(l%rsHXxt|25RVJ$4`RGxIwCX|M|LNv<6`1&qe?duN=0c=tQU}KzkVIiDj~Cap0&; zCF&_Hfqpxy)9n_bu(oLQg>eJJL10EmCOH_;8a4zIxiybnML@#h7K>rWB>tF0ny`9* zVwNct&Wi`f;4UaNFdM4E*WzKVV3sK*YKDPsZ!V~7%Q9749-vnE=#l_MFNHyEHPv2Y zS7Sk4O>^t%4SP)GOi^I3Wo$PCP zDLL5g2DC)X{1b3++?Sr|GYdPi#Ed50*oTl@FF+~Ow_?XrZQybv{eV=Idyc% ztf7-7&~n5#l3+`v#FnmmFOn_Yw^?ONxn}ktF`zy;(n@?nQ%vPZE9fJYnor4Tq#hik z$E^K6yg$4^XZeZ2=$Ca?ozC)XJG2B+m#@uI{x8D# zJo6UBV&#(<3SI9{EEVq|+upGdLc9dAzNEeOnpFm=Nx#IDdfZ;KVvby8aEfJz9*XGmUm|j)!c*x*e&U?P z013TAShg73zPXeNS$t;^C1hEfn?R>h)=`hu-8#sW+HTt?)wc`g=IxYC6CAoQu>_{K zB(cP*^Ntit;&s@aL_?FKpnP9Ep`7p?0QnHVk{KT`4T`t&z_G1hg7It_XM(|ZLX+-2 zY_js&oovn7MBmu*#8x%JbQzoq9oD)`*wjM86pz06PN0lkJr*LkKRc6MISz%_Wdh@P zJ(z!hO+rB(?U7+=&=vbo+`&I`vG#7K+%Cdsn3h8n}d5xhT^OYY?hST<7dnS9@idc4( zW>gycocCu8B6V{2qfwJgN(Idqg0|)PqBQuA->VHiHw+D49BvS&29*YB zSf|SP0FOCkYwEB*fQsI#svsm)U3HI&Di3@eIe|n237}2|Phv}az7q`B8pv&7Z8#G=z+8Z;s6ds!IqG9@*Xn9fJ zHa`&`#LS`EOqH?pSNN;t#i<;%-;|bg=)8la+!pas2L$nxbRtJ){@@i!b`%1 zEq9)-Fk)G#U{pdB=>djkFo8@%3#sBHh#3%L@>KcyFS%bXiLSE1X^L(M7hSTp|5|}1 z8B{Yn?=(fP3>P(@27tM8QS|C$?_ucH|3t0ibsPGJ^efClKDK5y{WL}E!bM9?(>_>- zg8%%}l>BA5(#fYOI!~)q>P;)%x<5Kx>2;?mx*w9IOetlz_m8Qkw34pVlw7Zsyj1L7 zCkbSxRKZF{r!gh*wq3UBIT=~z^>J&XGqOxj=)4~^NCz{r;^iDGa`qyp$^L=Y)~%eJ z+p#`oZH&DYHls%SUhgp2aiD7ubBv*?k%rh(gks4}^iTD#F+#e76mBlwOp^0CZ|Na@ zpgBm2SZov6O~2JRS30yVB-1Z|X%S-MV6jUNA-~HYd?4oH{1=$-lm`?^8wM(?!WIo! zUf{CRP3Ddx4q4AaZ|bqD6pqlR2KrQyO-tepE+G~%o1gr<#Jc_q4AxqsyHx9UI_`y#Ns$V?k2RT z6mc(~fPKDtSMH^<4t1;WYW1tP7r>~E;PPAWMf35Tip-{@0$PSH;Y+&Z^!-`Y_y zUto0B-!_y5?pFIM)1bUVi6?1VIE(#Cd&_1JaE+n3re?aNGarJGi6vh^{m(Vo4oMvu zZc|B=-)(Yw^ti*BE&UUw*lv&u^gA^3TkLPHA8NS^JAa-1Tgx4<6TqD2wjk&gPhr|Y z796u%+S|;9&<64I*)<(8H@%%kJ4~aGW;E>omGkve&?Ie&^{LRgU1r`Wbx0qy)kJxh zl$LbrrQD;^l2&1YWK?*7;R1sf5?TkD%vn8%8vMNZx75B?VsfcB9i)QIbm(HJ$Cw?P zS(J+E81X@Hf(#~~Kf-WU5QxB6TvKo%kyvhvRD)9&6l`1CAG`!Rb*MXr<-4u~4>7S% z&=#bT;CKR0NWdXp0}yogE70ZQ!w>MG)Dd-T#D1v(E&-b8L}=ZI*#wqgYqNz?Ycg`p zV-B_NpLozatTbb=5CeinEbuuC>?ee;xnQTvned0HHMTaW-7@#G@VD_rV)$dR#z3F9 zM1Bsx&l&JeCFPWDS1=0JC|h;;E-VJ><{`2Glve!8b6HStN#r;loC@5wLf;EqgFN@>1)^ycd;a9$QqGUC1U0?+sk@ggi9^a+?}vK(ac0h z_BEKvDk}2{l{9V0LbTCixYEI5P`UJ`-`9b#Gc-&Ov>+jUd(*MBnywg_k<8m@;)T2! zDfmA*pRIow6I;%t+3h<@#cQPp=&#?$@U&l*k!I2PJGeBki37-M^Br0{c>S+4 zIP9xd2416DZTq4+0s)?C%Xol#CD0xAGwg4#Os~|>7$S@aEC|^fS0)DL=u6WFW5sF= z!V{+2vZFNZqQTavMrB^vxAAWq?fZqDGQ6pcFnUMv4v%<%IvOMeXIvAMZn>T0KPY)GrqYEpDceBLwtcok@>CABzc;a?`&6E1|3vtjG!~#%+b&)@wcd7! z=C5ELBY%MTJBucN4NZQr-ay~9SRUW4kJ=^Ga6wLS6OV?rnXk=Q`eP!}CY~lXU(oyy zxW)0QThM%MIN1?Sz7JnDUVxLA)M$g^;L~yYp^^^giigK}lHEW~mT7;ZEqZmvV0B@q z`Ag!5-=wl8%!phw|GWl_qfV-k>nUrQjO}Tdgt7XBT;4%M$oX&Rb#9L%;5!Vd*#qVA zZNkY=@mrXL0bd#f0?PUsvg88LGWdN5QBr>C_kD=8-**@V{echZ`M^PXZbF2!kbhef zJzskZ&!W2?=-__>E&R`>M*hc#!_av5L^c2O49-P`9=gZZia%185!8-EfD%WMXyEYZ zp-jOQ5PshgUdW8b0RmZud`EZ!rCX2)CEO3X$NcIDB|L;wfP?J_B|ONdgD?X6I1AxH zM#I9LKm#YUWh~|S2r>hDA7e2771XIi6iq+*DAloBAih9|2O*SR3k=KH&I=>j$*$lf zywjzvQ~*MKY7bW#X%9d>VzPz~a7VLv+usY>pPrK;Kv8Kr4LAx3@wVwo%b3IakwH2U zs3CW-3o(7)QgtqCxL6nuP$0d_YM&xGOa4Ktz+0YCj6F*+D8131X!qZzK&aR;%BZV$ zdJJqg5R1jx8A{j;Q~_g;+Rn1nbN~WqtXjOf3pW5eKGfYTi;^mgV zDZT4UiLCEy`c9_4eyqE9fetkO*-yDDteOKU2OqBil}nB+hr#V_T^&e{X8D1oRy{8R z-uFH1$pdUnaW|3e)TeJJTmnHCLJ6;aYO=zkx1MGWWn9d%p}v$oR&c5)!H8J}9-W~l zixDhJM}9*?h{Qz5&OEV?=R}gh1WX<`##xWqa7rrv1XGTG|AAVgUrjWsiB)pddPqWP zjF`PzE1zQo#U{A~tz+C`2sza=&!3Zs;cL*Do`feAa9=@MPbAz8nK?9xkSy}&+|2(} ztRPtk>)GaoCWOkpLJfBsl$xK$FCg-yiN^SPl!CEZ}*ZEh#~8#&Do(*~uI2A-3y)M`7V!IbD= zu>?~GjF_>ARp?zAyoJ9cfadX*yw|DF6cRKYfF>j)tRYaZ(WZ_%yBL~{^aq2CC$3wl^G*)kwvbJ) z0!-Np-S%iADR2DDV&DjY`{8FU#5&mJFA@eoirEVbu_hwtm2Jquny-wC5Cv(5h^SXuG0|uZ@d8%x2Omm zg88W;)S(h!;kT7>Sp8sA`f$4Jr=Ph5x(y^?0@ zUx0YPL2(i_0?;9-h4(KO+Ef5~n+E7*ygl!YDxf#ejOTPHB&aY-P=l=n+Q&H$72fJ~Ig3x%1rny$_+zFXnG@$QC zF<|$w3iPw!ATTOnB*Nsn9A)y^@6a80@Ff+y*YFR+*X~2jp%YGqVv*)mF-%>aWWSLh?vpg%9ArX$s4#u+uHN2n6PBy<9)uYP^PLC-x zy*v{YCRAZ{Le~4iAuRZ7(zq!8e%eOD45@8H*qx@wPb}e>98{GobVP`}kEU=&rWY0# zFNMi3l(3aICB$u~7aR2OF1g5A48aX9s0lNuH)KnXcsn9OB5r({e>7O$0kX;`BP4Ua z2wVW>Pt#8B)eCY{iB2{Wox=W}voZ&}=XTQY#i-U++pdDom5TeZ5ok|q5< z^2zyyjYH)5>^DBV{~w%hJcL@=W)d-C)O3sv_%52!_)wz70!CvTW6#JXS>rgv0~9 zlC{#Upp@fG!D|BTki^gUE_t_Y-~Qb;p5srTA?QV)aF~;KRJQ5#9veAQX@QLP?};Eh zQaBW{vmWR41}`(yq_k*m()967d zPZB$aFMig#;(ICcE_zVPGnSdvH#bn`b@ZT==WO9&OAXz-FzPXDs%jrQW>=G;0H(MxkGd(EfiDJvuH?LCW3-q8A z*p5-Yf|4lNSXK2gHoOZ_M-ZxlrmS- zgHoP&_K^DK1> zX4BL+R(fNm2cNp5JmU0oVf+bSYrsY`Digi#vAWAUw zHk_?v`NC30`#rJ4B~16k7N>(k^VxW4%t;ui_Krth4$m8+) z+prSZnn+!>+x{N+?aZT7La>2d24ez+9Ah}ogxwXIIvYBrh(*~u1g=XEYup>6pfnxL zR{&2k)VhL7XVg8fUJwtop;;0#Uk5%$;uLUSuN zD*~N=*$@kXz_KAWqNkAd$O=qCj;yU_OB4tN1NWR$U{uN|!vXFq4+vzcobYhimEj=f zd@ptZ@_Y#nov9$uCx6>}RM-qstkak0hJ?waGVS|tqBbtc zJq|8%F@U{@O*|;9g66g?28>XkO_9$BfxCGEm78n_>Rn~p?1b1_|;$=$3il(sJ zknN_E^)zJTad?%6tmpAnZS4A{kozHdfI{vKxAx6Oxf@A+puCq5vKTy79mvt)QB-K+ zNx7;z_TA%rze@_Zh!JGh0C=J_3>Z-wdeMUzhRJ07HADjdSsDg%p#o%I)JAekHwor1 zm`kUoiwDECwmo>t5o9Mp?7*&SXgv+YGi8YH3fKJyrS8PuXl1XUZa#?60}`j;?4R3F zg7Jg_qL5I+YEP8cEwFt*W4^kL`Ye;Bo!#=~B z3u0Isu5PwcT^~$>efFJF-Kkg_Ryc*rv5%kUYpQ~bX6Q_aulGS>>`ArOAH zdm<=ps@yqpvMf~F>`f%x`nem>tIYTUrJg=0gN;?|!HUvrxRkzs`GDMavyNQ~QBwA^ z?lw&S#?3H%n1F%4mI|e!$CZk#I`+-xJ}aslSVh-_E85a$MO?VpKzmThgeTcpINMESq zTZ3+!gc^>^)AV?lQZMy5|Dr?ehATn!9eQ|VkHsxOkX_^0PvnH5tFE%{nmV=>w+WHz zzWrbwI}DdWHN6h`>^^#Ip~q~TBxe=$*h`Op(c>}{XRGPq#-q6ckKUqUukG+Lw6Crz znYceiUBkGJ`9i+U?Y80F6)q32s)k@(#5c>7fj;X#d35-ca&g)Jb=qBE0}xi1c_!cl zJ3_q4V<<*OpL6n^a<@J6m66SE)d#Q7=eyi)``rtv%t0EGLjvL%1ZPC_hRh-pUAF2# zN$b-P*Ue8qjff`>k3LU&Q|a;kW!M4W;2*AM%<4!%a35LLTJ+lpN~05r!nw{Jv{OM0 z9xomtuL;g+e5(aB0uDZwbKTlL49SWXK zXN0{=AEoocINAZCxJ>m$^^WAZp=n#$0uNM?q~VPUWgSt=iq*;B&hgmgY2`-a)(AKM zC8liEWd}E@c4^qCVahtfQUD38-R!8KsRc z>?m5tW7CDB_Wl?|Gtg}H*u061P{H6XhKJ{9Fvjy;(BNrXs_eAHmYhIV6(C&>?pq|5 ze4(?Hlk1R#ST%4kf_{>sBBceE!VAoX4Na9U89qv_YYkE>w9t7_xHiH1;5 z&Ovr@;#{a?LU03brg*H&Yp)#9R;%|;YpX?Up1e@PLfZIZ|132~Z;P_`aZ?&TiHhgW zhfo~OO{|Qnm^&GH3lMc+9$K|`3D2nK>BydC3q^e0nie&Ue=4p^gari8E^kcfqRFMf zHBv);_T;itp#Z(kA!YSJT$be>0*9wT*u4{Ysai=Adbp{&r!iUQ~~BDyg{Tp$<+*v z4|T9oR3tu0zd^)A?BsX1;v4blBis%j zpsL#DnQwW4y8QyvPv8r{~c z#Gu>$6v(P-L{&ONftyE2Bu#FJCnP@Y!wxS ziIsr1X;PDZ1bBPx zdUukbW}}~=wIojX!q$S&BvLHN{GaBx*wuwI11SJROxCfV;I9l%FyGg<`V#wenqez{ z0$=3=G+&O#^z02z_Ns<>C%Yds-z+M<@(rP4`Bn)7z+DBawVCI{f5&4 z?`vCd5$~rM(ucbmCx#3{67T6qbo8ev&O7R+@6b_iql@KII^4?_Rg<%e{fR~da~-b9 zIBD>ndeWeN{;MutKuEFg& z-Qw`5bRmw{ad$b{SK|*TCR>v+8+0cz8-9rmC0L1I^3MX-y?8m`L=^Hs))9w%s2(&J zgQ;cluQvHtC;8L;tBqogRSP|#IIdGIbie^s*r^JchCsr$UHl{g4vOK2KZo4<=yU#q z{I_M-3x7@$y{I;CAeTSAZ677cJOb$Dst}~)Y+8sgS~F=S5*y57-N``GBVZrFInpIS zVm?1Hj9l*?oAPOQM1R97($<7xV-P@uijn&9gzySMkc_~2 zvM)72OAG$nlMZXa4Y(x<5k+FzwK%LI#mcI-y}TQ-9$oQf3zz^_I`%$EG?#3r77;cU zr+8s2r}~4>V@@uh6#62M!*JB3SoMcFchDC&me0Xd4&?*J_9nPoDh_J!YLd0N(gOHp znqQd=n&X2_Bo-lDhow&RzJU8}Zxp^G`x zb|<*l{BXM&luY97VbZ#(`Kb5X=D}-z4IIp~nW(hsEvU#k%I*UxA+p@jmvyBGN9>Ew z@lJBF>y#qG2n0Jm>cYYPWWZTP5sQOYc?=a<-xWIL7{7>`^d&6U7#w0)xc{|)ru=z; zRW5xldeVWTD+^3m%hnDTtGoQTeau2}_-hP)OEA{Oe8s3+8Go3MzQr+V2lvDwFCy9V z^;h65m^sNbbEaXdiM<2qm*g`~qu46mD4(bE-wTE0mM`RCN{>KPxQ>Vol9iL4OB||5 z>L}`Q7^6sPU=vU;&7~ro$ACu*eWW%|5fYklTZJq*OHUteb(z`^q5o4~LMJxkyTJo#eXUN5l8;hs zCvpzP@;_1yQKc|}%8#P*!*SUyP6B*3`=;G#QD%OeqixOwdhcX5C=AbmcL97?Ah$KI znAG>I@lmYtIIpo3opQ20gl#D@c7wvUUc!z~K5uiFy<8Z9XbKq9Oour6xI_52Ra2BC z1jT@S9uQieep)*5#1l_ES^-x91Vix8GY0k9rL&T~$17uOyJlSP9XDfz*E(aB#rF;< zxFL#P7c|Tt*D%kB-@4$ChNwaGVjfw#bd`H6a!*z^SLAkPS1jqOxFz(QzA^>}w#q-n zOUsUGu_J%|3U7hPk}c)X>gz-n=bcOPEN)Uy^qwoS!4!$#Xz~3VbynUID&HrJ6XUGG z>1A=HDE^$j`40TaXP-a?9Q1C}qlJrh1-<08md{>zqp0OCy$bruzZ8a-&eB?bMw^{=$oBgOhydac)~L)?4~;AWCrn+;3%lZ-3Xg-_x1rWlXG?Md!U zHp_yBsBelgW_gcUUP4d^vEzF0c(G#z5ZwXdIYcy~63+;gcm~PDgMeC5-&8C)dC`{@ zOFA)R&(XM|mLl4;d<3i!*(~>7o7!M0M<|L@Q;pD_YNlyaQ--hd*;7#%$CWD8tdyyy z6qb5-ut1@jLH5%VjfE3U3BFT_<}6CTEE5g+`UU@%&!h7Z(QLx+ozmGLknCQ4aM*6 zO+!f(Hvkc=Ad7jyMWt47AGaHPhYsj3E97R+CB>ycEYx=x7X-71Ea+fY{FMO5(Np1L zM3o9fA0dIM8oo|PA(S8oLK#V7@m%b}6S7%6#I#%pWS#ywaCZ%##1~s4fEdr$_5lL% z^JjlFAb6-Rh-aiePGhe+IShpf+c56J`4=eyE=-rdm8yMRnpeb#wv zKkt_Gc$Y|hh^Ghd4MprhchgweUpNxA`cGBvIA|Rsu9m~e1pSswIZTw;nCaJtLrrCw z%1ou001-K6M4gk%!Z{8B`L^oCLF(QD-lKiIO%6B2qxRtHv0Ax?xZ23Z2#%+8)d=y! zBUTL|(Ju0RAC;F~W+XoZwSm4$TyG4)SkzaEB?P`?*kTY`rOS=t;V!Y!Ab#2@?lSrf z{>ym`QNEzl(T(naWp)Fsp!s&PO3E_dQA*;lGQ^re+94>~vpSgz62F5zhUv!RQqjrt zdx6`0mq*WDSOR&%W4H!VbnNTzVEY<`@5CdNiJV`&eh@kG%nU3-6lQ)*UAVI94#)$o zgY*&{2ZU69=#8B{6KssOA0I)alwx^H*1)28f1%00$mkym^-M4UYA=M;jA_8BZY$P| z>_qwl9i!o*Y91Vi_l4Ah-tz&vSyiVE+M@T4cCy$PARtw($MjZoXo*~nrs>e~*pPS7 zcFsaXfehq!<~i6)s2dNPh$!rNI8&t6tBY==Gt5o1rhjMs%m;rL0cNOS$HWHJYkK zocSTJsS}1_TpuMDXsT&q79y~y7BdDJgm}3EkJyqDHmBf}JdVpFaNuEf4uVkx=ILh= zXsdAe@ra~DRZD}nOLc+VBQ+gRF?^T@jhKTizd#;yI>Gs2MOLe=+GD6F_@*N3-|k?X zt-7M1)wZi5>zg?^gG?PlRfvDG9FYQ!I`T-f3#RVTJJ=3BzmqW7Bhs^4pgqevEN-UL z2Pc7|QRwPXbfdJSg@huf>t%8NJ7{i5v=vf?!t+=ps9pceUmew1C zQ`IkQ6jBN6(9s1h`f9oI6+RitF2J5rd|TPU;Q%y8K&y&?hGorDv3_!*rXg0Xc64$F z`gLuT$q$Ia?kuW7ZP<7b=5Yd;NOZZ8FPK;@CvwujYAFYvLoC0}o&j*el!jnF2(19W zDpKMPhqw7q8N*Rf9bm|ASAUs8PTH*Dto$%`{bDr&(NA_k;03)U5>VT5IuO7h7R6Q? z0HFYLBz}7cNz97dF2)dAP=B1una{S*;7cAGMKzs=Sj4>mgl`caTYMFRua;Gy8#M9< z8i`m<%3$AU8hG$?<&yjS|@&tQkV5@QD1)pZuoa!>X&%?SelNlAkD$ z1Qr332^1CinnrAuZdOMlk6RANPR-&$+cdy5jT!DO#K?3*vW8R|K^iHAbKEBvRR;0V zj>}2wBX&ev?%IH!07R(~Tx+;(Us1*|3|WmK*p}M3_gL^o@HG)`ugObOYueu*vuk4G z-e&tZh+^^$zQLLJ#=wl__6Dz+K8wX?_P2$j^r3x^a9+Ti^Ttuvt~b6D^lzMe4~lOA z6(9jm08=HCMhSjkZ9+I1WjD~H8WE&vMz&%Ze&7Q{h3V@Ngwk|N93 zyDXFSMHZo^$f5#c4YqUxrg<w(nPK>V$?5QQ<^ zYtQZU4x!HxcGF;A(kXmP-`fueIf3{*sWEkrR6_`EBm@V{mlK8sgF=C5G17o}_^a7)Fie5DTmDDU*=0N-$sRkp(@tqEQR~s-|M^kHv zsx@ALYH+(YhLULhJ5KY;Se|;gBMO9@8N#bkTKSe*QHw1xImuWTFV))GiZasF=~cV8 zBlvTQu!Qg=J-N&=aG7HP^X;%j)gojPSWKGSff{rGAKDw138?||+*9zFsVW=Wt*{uC zKB3_|JuE%=%s^q0xeO+g08Z15%S3{M2>c3ONaB?a5CXch68mwG{CffOMN+-}8*QG| zV4l@u{AQ;f517-wKO51eDu&mkPR)Kug-=cB*!!QGoX{{z-O0>eFI+)Y=bC?%d8v8( zMq)0K3l0o(G)@s55Ci5_2dp0sNI@M`f<9Bs^~VzW#T@4bD)z$cfM^UXfz#M&*}>l9 zh)fSZX&fcv;vL4_R&CEUTkeMm68x^N?v0b)8a#xWI-r6cND<3K3XeBBU6lG-`8;AB zT>CxNK{*P^4_gbHaVVbTg|))>SqZQHVJl(qEbtI%H?5Ji_9ktar*(Swvhd^%qsekt zCBP+aO;Xl~?ow8B7j-3q`@#6l#jHJugL_&r%i^oS=K~kDc(f%#+!_@eRnS^N3mFMo z;-_KmcSf)X8K)7n;<;c+)E6mdk`Neyw!9wl!>i~YF{y3~a0vu(WdWwMh#*-WzwH75p0dAnjnKT6j6EJ>K4hlVM#67sm2| z*ai?!GW07GDTtrDEZF6q?HCG#~8Ic!?bdQxEjuB2kef-^?S)D z05Q5+11sPxwK^e$pazxmrymu+(&O&fEc2SL@J{cbLgBE6-8zqu;+_2N)x|eOC_$V% zxP~c1Fp>4NzWEQJPA;)6FiS48v=~-NA-?7d1BrLBdz)#dMx$KN3v~uY-Nj}@)$3L* z-NKbFcH74aCShIo$Z2j}FGO0guIKY?6^E*IT}EMBCXC&26jp{gy0G;h#FOtr&*p}q z8R{wAhC%k$=GC$(8E)^YDf#@_nrYw|uqz{YI{yQO5)8v_a}Z`A6tk)9XY4ZnD9SCL3%#%(c>P7;Is=RcyBK zA86=psU~hD_AJ!oY}H7C%|N2bsq+|?)_J0q z;!IX%9rJJ2=_b)D{8W{xCibry46Syih-m4ZUOBaD4y;p?yU@?y--da?O$a|*2pn<; zH(X*c8ERS8rw&?n9ovR-S|p%SDoUY-a;S={@JjvetDfJLXx~8rtdn(?U(=^1`gF9` z`aiEwTgQY)Nh#CVGuqKbT2(N3oTTzp52MlA3)7_Bi%mW1LD8>QplG+wFcjB1^M7(p z=Hf=GX@gc%zFJct>vP9;ikrb`1Kq8nMq5&H z@@uGW1Q(F9$wJBR6rtOz+ReyXWP)nfk5j!Cx*dLCofyh5wK1gAgfy%)bq(hnU}JC822 zYmpWh>9(N-un`@F2th`l1@fgExG+e*FO3#`n$sAj1RNLUBWhL?uVnKfq8M15M^dS; zl|1eS8F5X6gvfmSzn-+B{#N}A{{o1+Q{aQWa_)@C!KploKO#H)=6jaVYBQW4Tfj{w zCzh-r%iYL;u>cF14&HcoBm-+56cWiuhoxaUBZa@i#h&JNEr^Ev48}jyAb!_w4TTWV zZ##`|<_7eDEUZMwgrPssne6bjuH=_%g}g*3#@LcM*mLYO<2ZS>kR8}iisnhjHquf2 z)}uK2ZcvI1Hc_$oGH&!J%DBWk(pB6PS)e(V7a)m14jZ`pSwJL%ktcgt+71=(#(IsI zs`DnoKm(h?PP6P)Bj9*J^OtDabDaj@*W(@+xiqWfv#J8 zjRdBD!&tlt?u4Ui@lL?vWE)X}thknPh&R{|XIowxP2rAnJ3Z%LjR3arw$HSPWokq3 zd)GLeo=jKpQt_Bx7>SoFi^UVmyg#E{85hB^;xU78rPyIznOg*NO>~j{17RNCTV=Q$ z>?{>3VWQ{!rA79GmhzuqB|>3K`8l*C2_5i%3BlRZgFh^+3|yG!NTq3=nEENo=&?H2%fnalLn(c-#O9uwa@dWSxgPNLU*setHr< zIJ*pf{&6r?971zAr0T6mIK}K52gVPkkO&v+co#4)b$t7Tc%2#XJHPS(k2I8g{K{JB znwGFx7fTAUIDK>{cFc}$`Pl<5X@zIG2mp@>}AAf+3&$FCAYjpN200keW zdBQZ>qOUUu=S$lNn&N8E8w_hsmN1J7BW8oe_Xz3+i5PI5cYX6uY3RFb`vQv%MeuBH z0AsEdzDqr}H&hlPe674q@(~!)o+8OwWFJN>d>^rJ2TJBCEW8FRe4p?!SVQ!fYO#^8 z19bpN^6?0XXZmRcK4tg8QffO?UX6gPXx{0t++W9*z!8Jb8y~5txkP~nkFIr!j*wozBu!za+6O*A@$5zzlToG=_fMIaAoAcx>0yN^&U ze3J^5Jfb}~0zP_Aqmj?`dCClFc2Yk%1WsmugU-xZ%1@#`k0IcrVR953tvUp&imT)2 z=>|(Y7hKF7O1KWjS3m!4d8yhT6ZOmVAI2IuEiVMp(03msoQBF?Z;M52rSS$oOz*bG%9S6TGpGur*`vQC?$^=cNUO1 zC4*1^G9eh!P?WTZ(*mb0@|tk6*X$ZyeL;olnyus`#<2@y$eR%etp{Bx$fSiuhFE-D zCF1gTF}j>52cuo|kNxB?;5FC@Y$o}=;TM>O+|`-~EkSG@X*Omm-=8d^OK8S`rSQO~ z!^_qgdF0bUbUN%Q@@!FM`zz5!Iu^t_>RC_RMC zi~hM>5Zw#0B$RfttEf_TJ3t~oZNRdCD&uJcftS;KWy^E2cd+DnO#G-w(*I%dlFtk+ zi?+7l0@j9B*{6^=;Bz1?T1aXU{LO(!9*pLYAd~=-Td)F0WJI&iX-O7vf4fySx3gMQ z?M8qRZO4#@Wjxxl;alo4?y<6zHzSqrvK{i6=H;{BK9BFQktJBjS^o74Pl8(HXlc#Q zQy;m|gNt;jpd9*cINKOmsvM^B!^Ygr+Rf$zE4msr#=VC>tS zpptQb7N-rc2NQWHQTS%!>PTE8*~)LVNBTo3(fFTG z@&D=G%@C2Iiu15SyV&QT<0{IbnAcgI#Z@Sxyn5jg1s@h4)rj^3IgsQLabFsA2J9bl z44n#wp0d3O{$k_F`w5*r8cLJlnX18Z4Y7xml#Y)rP2Q$=J|*8-CcT8+2q9!n2Qov-xpeZ z*P}p@xXv&S!II>pahb(;1(L;Exoo*6ndrj5iB?U_NDv1Z2~z9#cKCS%mhw^f?XfQ{ z%80U*$004fMh(A0B+=l@L=t&AmlM}2rejYe&yOT2E`pPD_~fP0ehguO_*Y_`x$Fdu z;<`GCw=UKhIB~&&{9$T^aG|ggv(mm#LQ~>v)M)hjWzKwA3gb(lgB9Z|MUM6Wq=50_ znKAfl5nXuF5_MNJ$!zjBj?gx$#l;rlC5Kt^5%#>6Og~TH%4GgGFl{Bi%@|4-yFhp! zYVp;fn6J9|9{>g7J+Vm#Br{(QvSqPBX~D^k;iNujm6rHgD!nViNdPvXOz4X+CsFv!1_y9+U|z~)SJ@SG}lu_qw} zQG^ItE**50Eab9jOGrJ+@5W)z{wYl4M?isLA}1F(jmS5pV8v%&;`mVXYLxQxaP|Qo z{KOz+6Cx=g3*V}cz4fSq$Zo=MIc}LCh8I|AsQH&s?zDefI>{69v!vZcQkwV#oi2lW z+*FC@3)5A^E{DW+tD(rhZ7vm;UnYhTOJ4~)KmkZ-LMl*E8!VG|1d-HDg*3qrlMz1y zMvC!^Eyr($Q4c30i|^lN0k4vI78-&ak4)*VM>eAzWO@3r*yIl+(bw{(BeadG^8274 z28S0fQV7-J%jeVkHKJw=AHDV)X9=T05pA3zEK-1A^2?P6&r)#8a$9K(<#*-0Vey0k zr)n?-q-|;VLfQ*zpuc-?*3G|-YL>E-Vihlk9BRM5={P~RsWJvtT zMM>e8@P=Jw!WiRAhi83p8kiTdwoyOXQ|k#eaEg@&%$u>Dcv8{$yRxWwrr5E5#h1lo zi4IM_4g!W!3tRk4(C#iiF)a7jz%?2-xdH(69M`2A{RflafGP!u7$7&}ndg^BflZ?q zz9eKpv9`d}JPN6@W26l8UM_tr?g~Ycpa`T@dOv~7l=kh-u#$4vwu>MtHTxw;> zxQa8<*?aeA_)UT<2%ToAyy4~wV%5ill*LF7p-4Yu;J9OJjFlq5^R0PtEMOxw&eu5P z!o}Y~2(w^X=0)5)7(SFbildZLyZS2yb0@?%a$jEa0C!);nNhS&9^aF6r8-?NUtv{* z(tz;r>U%bNRb(zfH^`GIL@kxCw7n$qr6-xXk`kGv)jgEwg4OohLDtj{8azg-{taG4 z1(K#TCfNF^!Qv+-M^bP^8bm!zPgtjVO$qT-lz z0V6KI!D@y0?Bs=yZ3&4i0ptbZb%D!G_Pt}OeKp=ImE^=4Bxd4tq;A#O^lD-an?ic3 z4@r6?d8#4mt+$|8QC{Mz_rYK^2f1*00e}4w3}|AV3Hz=?^i3i%aZ45HEaE+S1quQo z1gNAEobKRE$wevz%w@I(+i8j)Whws{1=_Q$1Pg9f%Sxt?&@_UrSnjFCU)!#{ygVpj zlC*DcR=@Q;C>8KSp&cv zsJIt!+G}tOVu=Y3EQ8>w0?qh$6fcCsUG=k-w;aY~$E|S4!e~2so(u}py_0>nS*3(| zpdo3bv>V%ZSKtobND~?B&!G+BH*ksFws5^&rcjPWm}=o91}E)|-pexuW2ZmwGF zonMv_K-z07%eb5VPAJQ`hyD&L%K%8#!mn`NstnZxi;%dJ5(P+*zAbna5_eGI3M9%Y zF}Ez^w@PLADV4ookSp7Uzrq9*L~FX>Xe7{_E@(x?K}e%kAg$$qX|MiE}6yI zNR|Vrabs)?w+dr313}wZC*8Zn-tFH*R=I2n}*{F*y>P zGBDsmVhK*<4QE8ixT>6oB|L((8``e=tdI`2(g1EZgN`YS6lXlznSs4XED0aF-H7E3 zY9WyXvs#HdD93H@(0h|_cr*>UQf6@tqni^+!0C3c7kzgdwI+jyRq!q1r2O_c$S?fz z2J+4kqTpv-m3uWwB>Ml4ws(P#s=5~cXOc-WB!LMKARwB^qeTN64Jt8U!(#$gLMKEL zA_i>#nx>=vYHSBLXAobK(NBTKHiCKC+0vZ1cQWxyW458U-9kniTvR3zVBeVr@Jua}3=l zr^L5Z|Bv}uUOBR zsEbtH+Y-s4{`XY!e9Vq64Rd%45^H|=nYa~!i zJfuoepqQQGY>5R1vKD-VeJfP9kf%T3kTgvYJ-t5v3y(+2AP+y*7b>gyFw2WO9? zz~PV!VsL_*l8dS72r)J7i!g{T% zgO@2`tA$I38y#3P zOuVH5i=#I;W3gA1u>BeFhA&yp>OPONy4R)58Pi$a4@A2fc}QrZ6aT{tYt&~S<^;o< zic@4t=p6@w$9J4)fWPAmj;+B-rMm_%m8muU{@A$dnKOn|1#^+aL#UL>u&oeH|!RO-^Lw};g(KexX4^kZ`IUGxb9%{nI`IP ztgzZfcm)Kj)Q{M@!)AAw$(M%G1Z-u-nU1&9Yt-|AyViI`oG4COtd zjPC4gTJMas$s7q+97UO=Xk|Ef1WU4;`paiHgOdmoAyAf=z-V5i??%N@vZeM#|4W@?42kyX`|r! zo(to+)_COhz2S=%B8hTs3<)A*>9-!jC8VB8{fkoR(4x@BRQzquQ=7J$gorC+<__R4V=pd$}M%8Knf% zn)a4OakiEkq>NkL$D|P#Tt^8!!dNPFAM(hnE;YLq-Pz@RTPqy1Csr%rVAj?)?RB2Z zA!pl-&KVX$LGDGcJvE}6Zg$QZdfeIOjr$E9C6la6?YmZs>W^;mzKs#X#B){IbhCTL zP_^16&034T!i{%0yeS1>#ov{3b#M&cnbtC*udYuGse({Dr*8b7%grZ2?#VHX+0xaa zfk~UMU|&ID|D^xwmHhN;&lXU-C)quG`X~r`Y!Ie;0AVzrIdOrS#B;a9Bk-A`A4kgL zyKNd>CJlJ~)k!p9^YNUNWD!kGLniOVh{yT>JgR!@1_y=SGT(g-Y0$PfdZh>R#3R{y zkM%)0^=Y@Dsyea~vaw2i@!th+Fm1(4rTB(5J3Uevqoju{TSpXEqFOl~s}eQmKLFrr zquacCu2H`%N$RDXc8^{#H0-n!HJxIy&b|a{$01Qh2+m8sO>|2Wh{XNfs-IINeRzcn+$*sOdrs1s$kLj#dGtO?6Q!NLwCs+Na zETJh@V zCaNDXtoo_vu3kWJcJ({6&aNJQkL^k+<)I`DCZ$gsp8gTy>x1)%D6f^cZQ{%RwS%0R z+PPXIS593G1CzCBLczk{uypCZY#$~I*#5QEcAMjEnkRr)W=4@LlEUGOq}IN#$(2qn zRw$t2myVTw?iKQPgzE8W3=pXHQjv$d12al0+=<0^lU;9RrB&-)pHS-?!)wLqE2^|o z=}c&5&$esO9u&oI&$c|{mHN_`xMQIxx^1**4fdf1p*s+KO-FvRU}bys3Bpz+*93Kb zrc7Qv`~Diz=1{TC^}=`qJ*TBkM~$*Td5*@NDbDRH;vP za+0$oIbA2CppsJ0u7<8`Utl*rh}L+vb*(P!Km|xJrPYqpnACa?(rAFG0bf@ed+9s-&IY%ykB&+WIHvv*A_zLo9U(H+}}mt z4BIRfbjN|P;A^r=^s>Ahta7_7;0217)@L=;G9NpK`vhPbbh=6blYk>ymb{6J@HG7LWBzGa>6eEeg zWlhhy2@=Fo(Qr4vb6WsLeydNA}#C&vRs9EHseixmT3EnA5!as>9yh z$|Jn3UD@J*bb!pE#@q>>d*9Jdd8M9vg^L$zoXpc}JQ;I;F!v`Ta#9;n^t*gDXFtro zbo3B5ITx#Kk3xbRj(DH4@ICF?IK?9eKDdOzpU}eQxSb`Qts9dMI4CE48jC z)L7s|#iKLozBBV1^LxuM4A9f47zd8by=Us2A)Tz(fm z-hY~APXg##Xf9J%=8r`tL1XF(ZrN-r$q+^0lfnOW`pspf^?>KzW**mO&8u(;DgwON zsA%9hfr@t3!n=hE?!^`=L^cv?6jVT4S*W;_r({(8D{!s@Ff)ID}_`?kDx@UsJh>jeYLP zrs6l8r+DE}!Xbw%dc?0}ha`di(JOk4x;&%vhEsoadJh`j=Sg@#KTVE5^^D!weEUJi zxNn6*hhP);fVv03YuNkr*cBS9;T78h%T1)BA37YVbsDLYLyfx}f$#g9Dp_go3FOJDq3pn5vbuTu{znmXwHl!fyrA| z#F{?L47%FJN9R$O^|9^xITuG~H8sXEgCiMW>HEQS8ZD1r06#jWH*U3VJfzmH9LW=K zNiWF9;VE5x)$_F?w%2IBw3e+wvSm@pjK|7??(CE{o(PMQ#pnv(=enN60tp>YfYnsY z6duk%5%xBIVpZshRvFg=*%ilWO>Q~$C6msE>{@|rp9xus@)=nG{gQ=ZZ0PhPdgp18 zNL>DrH`JG`I7uz|4&qZM`e>ujG6b%@vU`?#`|d3EXObz0JaD2iYeSvr?2ZyWwXT%j z=g1>_oxGoy1*&=?Gkp`YL>i&FFlOhhlz$l?a?R(o(d{VBi&-1lcIL@L4=f)Q*#Z)W+Dttfmm!aWkOJ=zB6m7wF*u;6;qR|&y%ZM!X zoafa92ZA>(Ho@tU-A#2ov*dVmV#gyz7o|yP3 zbEUo?twN4#E~qQY+m_C`7(1%9IJg|#l3pGMMoD4l!&KZ}qB?JSM&~1oVP@g`(cDw7 z89V*X2bMEc+-mYzjVz2v3Qs`BRaX(WK;+|=pT-_&>@haMv2kcnb8?~=P;cqWR?SGg zQra(HR5EK?N)dk}t}&L!LFEy%%s3op)(_c1*Om3 zIoY4NroNfn!K)FQ7%Err0p4gP1c?#B(@I5 z>#%6;h%dr}G+CRTCt#l8@72>HLV3Ivz-sX3pqAV2gn#u_tNvD9zuZfr8>`j6UN(P| zhpJ`gHqZ8`jvzy^>Uek59J7X~<@vB$2ashB4s$S&DgEn?;<>}EoeNC=D-Cq2L1E@F zx{O412eAc$Oi{s-Lq+vCPhyr5=&3dWDS2BKrCij87&v&WxL@4eBlS6tKa9EK z6oEPj8GzabE=arsy-{_|Mm&2=c z_u4cRq$^JP)PX-^jN>3Y&A&IvgEII5sOMOp2x~2Q;sEh4ZZrD}o zB@cX@Y?FaYc+o}`UgRk-y296crWvoW>l-+Jh3G#*Ol8gQuLJdyW-I{@o|YG-?{!DF z+&Jmtwz{FFGnqPdJE;Pl$NAk-H)J#(Z_6v=%e5SXoV}>5^oa$A$+| z;y^MJ0bgO8cW7>A;LA`3x3X_gk3VINRnIx&_1p`Z*OAC8{MmWU)F;@%4CboT^zlr%X=J*ST)7#u}G5}$W>Bt zbp7(w#-q}+6^Wju(6gUPM*HFdbG%MRPntdSr>#NyH9@t~Pm7oSMIOU*dKa@0LIbyZTCd`vIM#c${InB{XffYq z(JoIE$-k4lT2IH;jA6^G=2Xa2Gj%S_@Ho9z=jvU>M8pj>Dp5p-S=iF)Y4J)5o22-r z&L*LCc06IfYJo-S4vg~S$E97O(e#Rjq<+*SQCYU>b6RU=l&=JhQqvL_##h|^*X3b7 zSFP542jKhE10QmeMX`z9i99}7GM<)Sf(|TwJuO_Cq+5@r2iM3^vrvjy&WGIU3iC}n zA9CY-Xgcqf^Px%llkGT1FR5hbLo=p*ZSL3bsp56}3#<|F+`J*r!R8U1rpKJ#(uqGN z3jpqxPC|`)-Q8u{`87{5yxhCDjGiBMd!E=Cy#Q;91D^Xk06`@C1zFnS4IhI0^KOxw zt+H8?6ciLpQa?Qv-&EFp#d5*Z`>l^40XNLUk#K7~;T%X1^6_Jk&{1t7p=6~ym`=w_ zqOQviUydgBaGbn(zs5-#6ZUMJ$P&Tm+6>~Ok+W+!a(*mjj&E$p)a=yXP6hj*$ zBdpKriCrt%J==E1h`eYxJ=+|i`R*Z^fld_RtqWnlSSQQzUDx}6?7JbfXf=ivV@-Bv zw#kv7D59hk<@#VS<{vN8@dH@Tardd~tT8?;d>{VeHP{12Hp2!K&(^)p;Bh#ts672q zioJkWd;gSZw@JNyLj8|OMqU5fe^|fNKFaLY?NKap5&SdOPQj5rF zo!p~oK+{>;!rC0{pKt>4jF1+kLs(u;NMt^CyNot^dzF9wD*p|u3-_Y~fR@e;t4$7Y zr!ZE#KEeU+T$^2A>K%-8Ry$Hc?;>=M^MRj*4-6X^E^u_LaDj6yMzF}(xtS(8qJ+8m;S&2L! z;#|A;7kq|r7rox*o3-78(F99J^b2ofq84`haW(Ij!O!vEa05e6W-RZ9vCObC&Pwhf zxd)s7P!x@)dL}w75_df=cy};IJ=@+Z?2FE*5>0D&gEL30pPod2RU5zsN2;&CZx1t? z8o6WWBTB@!L-OPa#`Q(`^_k`bp3s%zP+qDrr`K49nV7y?T-UT^EM^tynfsp1tgN<7 zHD0n$iSFY-{lh<~Ir^Sm^Nw5piJG65>{4@o^d()hErLj|>-|D0)MV0ZFvSA4=7%j7 zfMCc~#|ZO=WD>Mw6!-Va&4KmJm@~K%YeB~Kv}4Wp3+b1}c(lPpeAl`$YIfqglkd?A zoah@5YE&N%j*SFQR{NG$s(JK?`A8_rS+VswzU973jUwdARXDWA;b>@A0eu*${@iCb zcTO}V-MXu5o^^aCGpD$ptD%IngQ4A`_1g1dX+CsNLtS~H?!4w9A5(qpVOUz35YXo{ zz*<;aR+ze5z3#j;sU=A_1}!fs4ris{)~>vo$aYa1wDf>tBX!O1=84uzbd5ym)UZ#k z$5K|oKMdOduEAXDRsEnd3c=BZGDkvvN>YAfr)<4RT5b1A2FsgHPZj~Iol2=NZd2h4x9<%dGuFlXr z$%6U>^;OrXpIyq$!Vim0tR3($zb_WOxLS!-gm9hp`xxI2DWbco&M?u6<(~2ubRw4S zN8|@BtJPF2^~WoI;OshuCP}VSa_gb0Lw23tFzalK*Qo(2N=(HEgq;z%pl0s8fOCQI zV&pF87Uz5vCr%gcD>r!^!DHf3(>k=Y#!T^H<0aEgPN1-+J~Ut#jXTun#Q(!SoN3Hn z#ueXksPhUN>P`f1x@mYa!b1>O{in8MMDy&{YvZl&jkgYK)9>=B=OD|lM8Om#aJvM8 zTyE@(RK~ME*Yufr`0n8T6Szu(ZG2yHo2m>&LiAUw9VTrL@aIDrh+8Ky<@64!wUFH0 zfNE0*nm*$Q{xmweN=*f%pkgIo!~+4374pak%(!2cRg2p2MVnvDfVjtr4}$@thjVXR zs&PUN<4gVXRw0M9U>gUJcK~PMAAt}xScCoJ9rS6SxS!$10(arOAzF7X2OEAFb1iMw zmt;$3I&or&E=@6Y&S;AKZI0*=%)xkGhURTm$QR*F~#Zt_)C2oJUO z%^@boQc=P9!I$G;xI$m%MO=7Q@nJhBm^mMhcpoBks#0H}MXo!91}(`C{#+ubtm&*) ztE3+^7VXo`>s@15^VcOB7t-^6==$ zwJzdG^{V1dX7HA z)H9%?AuYl4f05M)npJP4((g0@a#joQPMPcdVeU5zRw>G zD0cL0)rIO1ZVh0f8rNp`cccgN)mv{11tbJKt0vA2VG;MfWTu(i6E3SG)i#}X3hAh4 zbB}|oL7-8d)`1ht-3w(wO)R8$W_+3IQ1qo)aq z4%}>@)J3O)^>$fdUzxTUGnV9COQ=LlaX&@HgiLZRR}Z5zE{rf3v*O!&i`U)eBtpRu z<|)ye#r55J;xT!=v6DC<2#}CA#^c;tjgyGO{h1;9FI(Db38BQ4jT{r z3%7*-vPM+@&yVO?b41@BNE*@4&l=GL{G#a*)k&)=1walTQ(f<+3E}t^Y#DlO)2AIV z^jJ9J4;XpI9WJA*L*-8GsKM6sGsck7+5C1a=5b_o2UE+UMQBj&Y<>eEG-Y*ccMwf5 zFcNo&BT5H?X~+bkIaB+xUdFm7C3?c28htle?TmJ4fOwek@(^iT5}wwJgw&mkNos5V zT`9&1F7y!$=7TfZ@>TSDLdTV7p$D)&SAF>{xl9UEW?mh8)DAe7?AAsKK?(8tWOUH^ z=`x;q@+Y_qqHLP!;Z4WEVp=>TCHgSVg^J2(%kN#!yZ@FNRrWe-L$n#j&Z#TF%f-;1 zrZXUtkmqs52G?k~cLUN_djTv4vW9Otd0lCy7f zsPofV9pSoTD}(u5xs3%bBXhcj=I&tHg%u}>RqQ=EM42eHUAEZRw>Vs(4C=A^VPi?n?Gh|tvz&pp5Ao5;e58t!q3azC!HD!Be^ssbF#T~ob-Q}-ja zZpOug$KiQ)kE)xDIYLoweX212LIWl1Qc}_LgN5&w-Vyun7rTW-he++{brJP=8Py53 z+uDBDPx-T<=40wjqh9VM?sZrCiz16-tG2kCPS*$0nogGo)7tWuMBg>)j+J^HaFr1238D52EW)R)Irp5xt zf6u0;>;*%+ryX_O(UzfmquS1cCfZ%x-~5JPys+ZrdHowaoAFz>c0|`=XCX|O=qMg$ z@o?(Z(94cfuZJ5|TYhW*#%0?Tu;1)Ligf`}TO9bQRZ`iBRWzN_8D4P=u#`5cU>2D# z+zgZQ=CzZ^=)akqmwjx`e94))HcxV9k~4#x$u*|zE$(mg&?Ovd9MQq|daU4kNh|{` zWW?e0Nm&(aMkv7KMm9MS?YL{$D={Np`XjKv2VmuuROrwNI0p$eo}2}M3U}++;t%p5 z>hQuHtHgba{@7uCO5K;*LF7T$DD05T`n0YLM|84j)DA36yLQpXgjpf;Y!^jP3lcWNIb2)%(b)LGb->dkJLgBp&w?pLz%tSsT0Qj_7z?AdnU8(i}R4 zCSLP~;}tByD?oc+1wIGAZAC6<23_oQNKNxFr6MkzG=H_mR!4oeE3e4Gn{mQM5F1r% z`(_SUW)GOWnthW_bfp)S6Og+P^ewkPMvC*Yne;O5FKQ9ct8PoA!NOxSi2Vc7;U?mm)%Jcy<>osqa4 z_$AH@HTE&WjwS4e%%;ffi5x$HH12bS9e}8^hUqkaO9H&9j_3+XFF{|&^Zky{z~IJ< z>GG#qV9BC5A`G6ka&&ue8PNy7MBrbg#J@Z(S*uRc%~fZ9{SOXnz3LK%f5Y@31vM2p zRa@$^p-ka1l=j>?&Y#W6v69 z@WNGL`}RSS!`@w<`#aH6y>7dU&)wc*xjNUu&|4{}bD|C?+!iEw&p7nw;|2WGMCP{A zQ4|cGkGS%~!5++z!ofbywV8Z10++O?Uw(PeBylPU z&1nh<#;c;kHtTxmdfA?OFJLB_(gyt2HRd|duw~M%AFtBmIS-mSPsmXmoE#dO9~c`N z@?t$ZR2~?CAj}aOS{!tVM9lC`3mtWbb~}QX3$ye;`$bC`Zzs67Ko7YJ#JbfxB-WzF z1hNOzbUg)fb=*r`IETUzP^r-rEQ&)zpWi$~>=x(4tAEE8&5s3VQjB2a1?Guh*7zhf zMpuO1xrNVohQ`!!;yH4`-j78uJ*((lnoBo1I_Vq*)@!l-G~yP-7ZN0=$PQt+hra4| zGt60tkHOW@jFL=?#0{m`Qa4VD1d~IsV26MSz^DcqkAm>p+TJLzWr?cKZ@^#T z3_Oo%Nh**@_HPqLXbIs#ZcHxK4`ENo1Y5DV~=5sBbR9TG9HdQCVgs zu>h`OV(YC6r_`tuJX;kid7P{(;%ZS_d+Y9^)K~i#qR>!IH)YpM!+j``c^=&&(^a_C zpCY_$uy4~u&oji=!3^xz6R;}M{m#bcY2U`T1sKsW+vWBbH6zt*1KoJQw+*=dhFh*U zY`L)>d2LX~?Nx|`*fVXr{<_}(rX0>OW{56U-k7t(tV~d=4%w0jHDkFYO^+rAw3*Ia z)-FfbJ>A+{!N&%)i6L)G1hjETL0f+MRdA*640XMqmB*1AN)T$ahxRy2M&1m^fm6rK zYK$|#i2U_AXURD0qmCT=Tv+Etw=BD1iHv6n4Qh*Hpaog;b|)Ybqhqds4r9)_%w4s{ zSKz`LHK&Wb$V29s8ZPIn&%DBt?=#g%!s%)uuO@$j0A@+1$s++Tri;0>yc2gN!DDQs zI3bz3i|Wh~e1f-?MKbgxoszS8VIPfck(A=BHj1=9oVJr>l3BWs=8&dWt6P4bJS1`L zv$|6?$WE3R)@{75w#KzPChk+dBtVmgpYDtg0UrRS#@ud=LfFU82= zWm6OL?4IOumE`0Tb=Ybp?x%6wK31K;k+fNlYX2O|0E_4(NMs}N)M}knCT&|oD?YH? zSnAG;l)Knta>EcIIpLhju+J46H`~M;yu7D*LVs37?0SZUjwcyh$W*XQ#H%n9uC~-^ zg#ZmV9t>AJZ!F5=6zhR*NbTmNij6CxI(ooahKL{?k3DE}pgQS2I1}|@Kfw~j8}bod@v&hA=Y$%MIM-fHbf;LktF-Zu z=W9nnIEs-gp5KyTWZy5!c5RC$USeAUFU_0fB4;##wu(Wa^M&R(kG(EFB@jA+gyMGD z_TyOa<_L}kO9$@!jAvVZmFoK${3S#-!5N`)S4!wiW^kN;u{UGpUZv8C!zrN+cwqzi8v~eioWmgX&*Y#Gan7zAI;X*;3nfY>f4} zX=4!z$WnNc%zZ007AVTIHSJK=O*#;_=fG@H-V|q&3s>Qhb`Yn_G?W+G!cyH6Xw=AB zV4}kGP3;WTyBwi{Z|&=mR>@a55NSQhuTb@73bV#qSxAZWHz#=QUOUMwXz0dD53T)90+djUHU?`^ zU5;bW99}&pD~Ut=H-PZ6@JIyf_A23H1o)E5ag=^f=VC1*f=n4_qi8lTKMhl_E z?i5QuAA`Jbdc^x7lFZURYpDCJq4vdxiiWb8R(+1qE_R`#arS8MjgK}%MvH(==IgC! zE+s~rC&=7Dw2_Y;EqjmNC=kgCE;0V+=rB%)TLpo#|8#^ez>{lOgB=%QrMo?$CuM>E zR&Ye518Az!p*t`1Z1aeA$mz@=%Kg|S}l`>JKD~p$jn!_8Q%V zIE!M2{7$-fr>FRE?=teo_vFOXxCW(s0hT|vp+QdW`*2gLB%M){UmWAAo- z)xdQLO7WbOqWWEj_OYqW?ClA!7}#=S&P7dUQed6oO?QT=q8&V6HBgtp_Rd6|Wz=bE zt$KTk_w+Byf$#0{r*PF##+&$}*p*Yfr&>($DvrTZRIj3CD&~VFTn48M?WKCpy)rLj z!M=$1AP3fUWZ=Lu`gCMRE17H6{~3_6v-LdT8bxJIb4NKmEq^AhT#mvMYv1lY#7k8Tq^7N65L6jaFPc;Ht#OPN z=F~E$effVcI-|P!T>V9x>O1jjM4Kws)Ob>}MwP`HmE$SF2&wDc2#I1*idtDv-|&fH z6$_>_!u+TU?ZI5NfJ#jjxEwF*n?ZgEm(fswVH2DICQlA1m%Cg5ISxIt z$Y%K>oZ`gyL%PSfsL{Zx)J!AMcnywZ-x^s`ksZ8{*?$S$5K9n%GKO!iw$agEOBEKT zkvg--2IHQEfZdFRQdRh#aj3>PjT9?5I<8YV9gWA}d(jKx37Mh-nFdoec)axh%?DFq zG_PqryefFFlpIN`ejlD@Vvd#3pGaf(Nn=x@-?VO;`nsh(F0IJkT2!2wbLs$Ko7ywA zB0Fn;c$}o*f2ZYPtx)Fnk5_->v9>==KBNRL^iNQi!MI^yY5t7b7cjDGK;T#APgUdK zHL>IIwBqqNqsi;;iZ=2UZ%&x#KM)^kG zR)-LT)Ef8b{t&ZEUdQ^>v=i$ER+TDvH$#e&`H5*UbQKys=pJ zqio5863QI;DBn6=q3#^c8!8MwUablwJ$ZXD*VXvu(+@o|A}4^_bQ%8On;)kOD51lT z(f%!DPRTJY+LO&gI%l47k7VNdFsfS3oFfMEyRMTC*(f@zVh#wq;w8f?HaD0%`(jHH zlW9cqWa6bsn$pvZm&9Zm@o|$W^Q_5~85%yBZeU>2Qy434LY}?LT`Y9VF^BpEb~DJ- zbqKiDZ%8ybBqQsWB4}KQ%I6RNKrs;`#;%Z%j*-O#ge;?)q4$f}m|?gZcFQnk$dyvFhE5)|ddjJ&9-=>X@F_RXs+@en z&GDj-rAC`wGi~+6(1n0OaALK+^#HeDEizFL0I@jr4{q6u!eT$5x0|zGwd+8>qr-rc zTU1tbCQ+dJBnA*_Sv$nwzfv658f8mD?Ri{Su4oYboSz}CG}3oSaKlRdF-=UJ<@0Uw z*^ti?i?aYJAKx81rolLp3`g@E9fnKzWmB&ODAb-KAKb=*C3MGZi(tUo$!?l}O_)Q! zc}X7Zj?a2TCc+HFyn)FfH8LOz%5){Y^*6BY>pHhSZvOnj{CQ0Opphj1n}8LcEhuYV zhcZEEdVo#~qF~kr$8@L3E5m^ZnE??Jof#VV`|xB5(H0$tqy(nE_hh1gQRY7TIE>@y zUs1r)eS|!76J}IUfWxjk^DvXz{Wv7y-OzmDyT$4%{M6(WheIPNa(6b;w`T>kg=e<7 zu0q5pwjCct3_;A3f~YO7k~ZgjIn6#`!?C7H^YH?3mAE2kwnwB@K{`Xmu7lAvjj0hCF*@5?(!}p`8CUa@TUy^CcO)WzyILi=Ae!%aqS6U<79CmIedow7Gj{6!?I16QIsVo zITLvr9OSU`xpcm1#$M01mI`SGrL9p-OGi!2+0rs{kh-Hej}e1XQVJx6+S*!13Amye zZQs`q^Go-w?TFU;AB=ok(v7_<3wMTFk5X6a{#2fh@r2i)(7?p?nY!l4{DSD%(C;LD z;`&h$*Qll?6AL2qkG7>mQ`)%JOHs2fsrpHw%=KOV!Q<3!GiEgdH#Y`>m!lxrp^MzA zoc?lM7o;P|x^_wFe3z#EtB^eCcx!6p&t<0!?bW-~B~U;+ zV~M&+N_9&h4~GG%og?wtmhfvw;Qfgmf%k{DTjyK`0Atcee7rpFS<+B#t*7N~+0PK3 zIv$<|q1byHuN(%C$u9aPw+WNW-ss*cu|Qkz)d#`olJ!di*~a=M?Cq=7Z;&KWr;hU= zJoxoXI02A{;$QUB?CN>uftMciG!NC>GiyIe$EhDet5q|z z{eM@uxDx`SD@|%}u72Fv8M{L2P+esb`zKot!P?HPQc34lsUW^tq2$SaRjs~XBv-D1 zk~{Fjh`!TDHk+hSe+|0k+oWc#bgCX2MsA0W7bLHG<`~DH`V%)>9m7GWh;^U`r**ym z1$OZ=2Y$P`l9zmU$rZ>;TK)=<=7-vGnQ?5MYzk}t(tJk2fHN~gCmk~1DhpOHnsu%u3{t88j~ zhm!9EF5I%jiEw(7=ZXEEC*09=S$VGcrO&NHT|Gr~ZvGT0pR_~hzb3c4Ot!&O>=No( zEfaKw?~xkCMSf~{6CB>iCfPZAg_T`0Pj>!5R<*htIQ0HENz58;WR=vtg>;X;-ReD7 zBn!|6R3eILNV9c?NtmNzy7kKRCaQgVYEkSB5g!q%{@=w0Pnm9(os-sG}Sgkf;Irf`B|)$32&m!n@?3F5n=RU(*x%E{&a zzt%&z3iVraw3ND1Zt9TK3xB4^&vkW#`hl(>noagQ$Et70o7QiuGpkGWk6$VDke+Gh z2r!_}IsNfp@cRETmHE_BKxWYh|I%S=(F81k9UEmeKFKgQD0cCdj4Vpo*hid4p#7iNzOuWM4tmk+6%-LB4{-5Nt<7Mg|z$9 zi%BGFmbBHSW>FA{<}nI>C6n5BmnCjv^ z&%6a>I9MMj+)3H}1BJQ2S5S9>v8@O0N`v_V2WE-0^uG}lrB{a^zIM;H1BE?-d^+il)W+yQG#y8F0 zWu+ixgR}I^rav-DbTKb8Cjb68Nb|3#QhNhzJmP%3f77_qp~mr|@S3eQA{1tiWtwCY zo>*3vCRuIun!?L%u7~z}dA`i?F*3)gJZIi9`h4dI!=)!ilI6B-YmBL}=vc7RX$`&> z;SMmDv>oR2+v1b_fy*p2-RL?X&utfnlK+2L6^nDp;bz5hCxlK|lSC2bqT}3OQxfFh zeN(zCJ|?jlK0ndjzZTh6#hrR^7!?Qpq&c<6)h$G$L%XcRy1=U25a$8tpvht!G$H zn*kM;;eY>aJlk_*=*b9YWUa=IyI%Pj~uQIBG#JW;8@u9j!>U9EmXrAQ`zZQ! zn{jr3mnQl<@n7lh+n?0mQ~&cX_xGiT?Ee1jZ_?kKh6d?x4KKy*#9>1=s3AO7eUHjb zK7GS1J;S~j8U=W590Xp+DJK4_x!X+N%oZhf4fu)*bPEOm|1mJ2{Y@tr-__#1MlEF* z5DXBHJI=_0{fnS3kV*^q$j_0U(HC4mX(`flK20=6B?<5?iLZ%;E7j10GAPE{E54H9%79H zO`AdH{l_KlhcEK4mH6Jj+{R_Y+Ngvq=Nw`I$uU0ze?A{djEJ`UB(YzU7TCVPJb*5k zcB;!!mf;9ammn#1gFf|#Z$JTy2rbI>0dDhj{dr;Yi;gnhyY%Zkc@B8zIk=bvX7a|* zbly_%BF!5=(|B{iXXVZ12%g`S;f&^G^+liE;Y^iUrgmUnlhKtSERB46;K*$^u#P(-imu{_Dnr8t6$6aRAmW4h^{0jS3B<1?HhAW=06X zB39f=sMcM256s$W-X$^JmDDejYTHBw8rXI_dh>PQ7ok&xosSy32?xoY^FI~^v1vqP zSxl?%y(b=SF6DAW`vJW6rv`n^r{8_*Sr{EM#+9CJ9rK3Z#Nxl{_rHp7n@{p+IC^V2 zROZFFR0hw(m{$i@dc8BLL$3%x##vq6mHg#*62dT#;+|(R;55|fctWE^7j6jn6{a(54HDg=-=*3VBX6@gyZ2Q+MugKth&wpb~r` zGvNGraw`suna8Yi1WM;Qm{`GlOs~=ju0%kem35u-9MmUMkwq1lSh_PXQ57Y+_V-U) zUGt|!4`}~9dM6Oe`fQ_&Vs-Q^VuEE?(f8m+I)i~wY;d>l=#+9CFY#lgv0_M zP{O|={=uRbNUZxs9N-Hnps$V+OHKqcO+W*QiK#U%)H-u0?oFu@g?)iQ&>hIQyj@>V zWEKL7fVj_nM}y-}DCUUXoVz4A$gGSWvODLBcTQ{AolALj3#t^4EfLv4w78}Ht^wjA zrHJ3zYUO|sL-O>Ru@7==>R$2kG+uoVZb zRg4)u1gN%Li1$Rs+EbD-k9JcH*q=$9z`EXfd@~n_a2^C`!dt%KN6cXXoH$B|&ScdL zLhBaj-9jYsaubuSl-b5A8 zW)CEEe37QiCr7+bo6Y;wY50}kD$;n6ctPp4Cmsb%qE$0dz4cSA6eBXSBGt(~dnsee&6%QI(<5LnTE?l}PzQBkQBVd`#j_tIPP*E03Wkqyre?O2>-Dv)I(7F<>8W zm(Rm0sToEhj+-nloclek;-Ocyle^n7lHvAt^DfbQGPZaRW|v6}%2b|$DcM-`72~5* zdG3#494GSctfuFPQ`WX37LPjAw&I}GO564B8N-?f3Mtk%0zqAb$8`khpM{ld9LQa2-OiD^h$*!_!OHyk{~2$He899a-*=g3IWCAr*0l245z!qGX~yqQ2m4D-tX zy0$k@$b-a4_MjrHM-sl?EkVGN)Qvv6KnG9gje?W9tt`&y!`gvhQX|##KNg&ebzO80 zL8PWxL8K;sblzExaM`WZcjATA%>`lvWi5WjpWvVB<%%p@saFVmkNKqd?m{OEnW?cm z?8Tb07{kW`37{jA)CTwiG;ueSg z&>4Z_WV0hoxg7Q!pWYwG-A30W!qL%tK#ZmOZgf3R?2shQqV4` zRF`vj8cUXv68!^Le8we5TM#-Bt9sjw#PJLCMyr8Z-5n`kbUXYgD8H3C5=q-rB1 z2QzUX&2#VH=_I0ZyiB%7K8Nnn!6)@L={>qUtr@7`JFY<}^4JpsqbjwB(?+}uu-rOH zHoQl6NPek7=dbit!j|<};&!vl{fRQ)piHRopmS5}`6vZof6^Xx zce$=EKn{i&Y|}{?{d4fx@ke+=x_;>gHS@OybpQ!G^0+?NCrfXxklw5~R=g+jHIeV3 zc5a|24Cl#vq^)*ysJBU)ZCklHT(PTdVx+B!JmHG=wuzg{q$j0zPcHR5@fGPwY2W6_ z5v?2%nY(_wP@3f^MZ%$!zV&VTo7K0yRPX;xZRFQ-T`@jHpuXa$KfkvAQBtHsr0Ca2 zB9H6$ffJ9`Kl+G46wLd+P7h!mUkinW1l@U-cG?tKJj1oqJUZ#S6cg<Rfadc$@mtgAD;?csZ*5*#sbU5S1w7CfYWLk+@<`-T2J zsvgn5N7VQEEj}zvM{IJ`eZ18YA7yS_tqx^Ccld|W33ygN{5O8P(;NO1D_h-^`hh%2 zTMZBLR4#Gj(EYU(8@l%LV(%8Qv}2{2h+c~r^Jh!_%4-80t(Jm6}lk~VI3o@JH_Wq9iz~%iNSUYdeapdIm zcen#-Bi#SAPdO>LXJeDJeKA=gH}C#`UIF5TokU&ZbS=g}&Hw;I33I zG+ZKSvh@|1ZhPFPcFHwY9$h?g8zjyT9Z zQbmr#uENceS%r%yvx*d+%qpCY;RDYHQh`-6K zGHgH^kYUqpJ#0Fyhs}Tz!!{wU8}v(qX*-%6Y&ROy(sWAJJ^{Rdi+cKZrr1?T`;rQv zKH7zwEKJ*70L#%#CXN&+`v|7{cjgC{RX-yjH^&il&VNS0ZoLV%pAq0E-rdg#3hYq} zJj5!)Ikl&>C&*jD@BzjfK(kHHN3#L6|I9b50awzyG>{SptJQ$h@zDk+}v{dvOuUCJ;~f)c+CGd~H@&?R0^6;^HV(h$=Z8yNZE7 zex#BWgGNXHPMMj2TrXzuV9rdY6*$t1nWy-)Vnyi1%=s`NC9l*acL;zjWa>#xQ4peM zHD!6!)0)CO3N*7irsq5I^W%FKdNNS1s5Lbng%OYY70hOcdLUBd#(`IZN1u{mRjJGM zc-=uQ8R^+N?f|fsej=%TXIZpT;{QFdD4Vs_&3{X7)jKOFTQ@SFm*^%mw~& z`}7u{BU}jL6&_O`#49}Zf7!kerFZ8ilc~dqQj?s#feaQAYLc85QMn+IE?Sqe@e4Cl zRELc6?9#M=D2XE^oFokx|$!nUY(Yw$V!Izd+~7D@`LfkuG)2OqpDo)?%d` zFjERj)7q?*b~9yKY1-GVlwX=Db4t@5vQoZprpzr(d&ElFVy2Xprafk*Y%o(6m8Si| zN~t$fmXxMFZlzprrYtQ@`;C>dKvEK7MX|WygsHBPs1t8&iXmArjD4h1;XvJ70(Z37W@YSJqoAd4woEBzXqN(>S1Bu=1dv zQ?1&0sg1rAdP>@H;8cL=u1owlUgD(s&v=P3)#^T8P%-nVR$X+bp^I`X`~2g?0$5z8 zeuop1BOX^&9XTXb`g5Vxd`b?^tUfLYq4r##f4rUhONrz>pMQd#yqx6FE}vCkGQOdF zejEXtEnJZ(Q{eNX1ZpNKK~@0jHXgwV{!`@`TP^@FE8`OYWQNG z|9U(5*+g=o&%eS>ek_qZ)90_YlfOBv`dL1Ijs0bPqQE6S|8hI|rbP0kK7W;+d~G6m zjsRI3V*AwP!>XU_1IPjeJh$d03Y6J!CfS)tUSz|WIz(B$YxbG$c;y>JI|UIx9bPOrrgW}RAcYjzw>29pD`xt*^)B1Xk*UYlFivO zi`r5aG+pfo9*<6$TN*rRyssS}Mb;TwIPTVSQMkOwex4mJpUs>NyODsVggr*6h1$5L3*~BDCk8PW*aY~v z*#AgV>L-(8Sd4B|5ArKk8w25m8zFC>l9FMaC3zP{EXP;^D{Yi2<^}8R3bu zNBEY$s+xOV05$j0G;I^Zc2_8ELcx}%-DYhR6U`KNY1$oDN`{$IRGRi(E9HZUy438_ zwC`IfZ%NA8+Y1hvWN+~vFA3>AWkN|v?=c=E$zE%3sph0B?l1Qf*fGfRM>xeftXaVs zaL^>gvY|o1mLk}}UgB4qz;Pd8I0=fQZk2Y0KSxyNK~=|FaeHl9Z#m_{*OWXZ&3am{ z=Z%8vbU}*sso7RBPYYs7w3-LQ*D#?Co!>u7?;zKFHNLU9_*Uun=;Tk6Y%N!}&!1DH zZ6WkdG&1p}$VVmC3hBQqd2-M8QIGZIi2fpzd%ARf`F1H)TT^fvkI7R{ zN)DTP%&Pm(o>i?hxm6}oIDM4uYe1yiIV} zzG%AM-4|FUrN zO%z<|&$vN|uD!Am~{w8~6a9PnkK z+fRxKo2Ruw<`}_v=By62H|S9e;y^2#lJqjvm2H)$@h?!G&So8=J{r^udzsbZV4Cc^ ziMFmJ-3SgyUkA;O#=CJ|Qa5lNR&Mo#rh^ga%ZO%0`1~_;w`n#Slrcx{`MxyZzsOEL zXeBQN#&&K7`8z9F!Wr1PN&Yd(a#&K&L%N=PyPmIG1s>7K1$J`KN`6d|8&Y$?v4w+G z))(27eGMb*FOVzq6OG8`>GS7nQsB5xecCFsQYV{@(5oCP`9?`jG{Tqufb@56R;Nhk z*Q_qH9I~5X#cc=9kBqe!QPN4}X%VdZv5vsj2-l^P{Tx`2>c=^LT(*lXe5AZV9={=v z8r(8Hnt6*o@eqa8byOUCLLj2b^rJvQUBP4I9+`Dg<#JuvY|Ez>@fO;(D00tn`Apr# z`ZK;c_1kp)Ca98@Ch!(}LO`V67$c7Y7WJ}z6i}$W`cYPoYUeSuYleMDYIFDa;(kUi z?h1Qt|Ho*1Z3o>xbq^(@lUUHOA*GqD2n@ltn z?&3_2l5WRED@2T=;ZZ-}al*veP=8FU1rarUH_>v5MF&JyW7jXryv?Wjo_+iZ`i))0}4-c)$L2yUAaq z$6{KzPn)k4_t%$P9&hvnjrJ72Mx$fTZj>gUGi&;m)HEgf8{O!+Otn8H5_TcP*!t-7 z1hj2&J%RZG?iqr}9D}+`PIXfAwrTDz zw%eZ8wagijx#6WYyZC_LS0BE9{?N+k{kl8qIYUO$`&BaO!PND_n75?ovNInLkapCU zj1Cmx8wfu@#;JPrK+p4R%aM4XFA?l@5RVcP%woKRvVXVufH+7g$qBxUlJ)BS1BttR zUGD+B@90*Vk3Y_|Nl43Nrr>ggmi;Sy&CA@vRaJkMd)k0=(_DP2@TDeFnNl39=j0<~ zJz?iQD144U8hG+F3;H7W_~f>?g4INBD0O5eXmFS&3bUSIhlMd)Bmb$_T(%mA<@o3@ zTh9%~D72L#cS$IU)aS&{QGemS;=}t-hfb#&%g|!!46n{fe8!-eP#(qY`a4P;;qqK` zlruSNg*jYn^kB_XosIHTYQwG9WndTuIcO|{&6wf2f2ZfkH%55=y?sg#4{jb>U}<5a zlT3r_GaYe`?pUH(vsX#2$}pwXDQ2s>!4=Cga%fy#Oq>1XZkJuTMZjphGMP~Wsq6G? z(*O+(%wL<1XW$#wjR>_r$iu|-sSBcS8n)Z#=HqgYNWz#bG&PvXp!y=M8wGP^K4aO< zqI%Z+Mp|Di*4&Z8ZeLlW#&L0?lOrxHUs=|>5gb*S1(4rduf}c`ZhZI$8>m4@a!>0~ z+VPiJS&Z_Vw8m8m6{hLuyeTkl0sLB`z}zUEmO<%0vNe^Y z1eXB1kMvM$CKez5=%9iV&zT(ovp~B;rJTa&oipwoX7aD~hJYEmsZH4Ju(yQf<0l#6 z*)x5N+nniQwdmi#OuxyT>4K&>mI}GzFyM5V>Cx&)t7K-D`_wEJh@O{M8vBS``48vh zS3b0Nuqn(T*Q%ruh^$GBu2x~M$Bq^sKze)tm8@^moaG^nwtDEGmiu{prtc3J`|Phb zuC6b=CU`+T=j6D0IX}Kcu#UoLUih>HU-C zXl<*ab;k)?v!EC^=^K_+0lXy<*HvO9B$tr=XKvj~0N=sbY@E-E=Yu>BU89F-LD*@& z(=iDA)ZKgxyQ7(ycikzLM0Yz&hc^9Y6}CGE)^N-uixfDT)mPJ~MA)owQX_X*hhTUa z(F@!Jso~BN(N}bQon_RQxC3Kq{No!A9mGiQTE@$61`{g1TD~kcbcPHi*4)uFB|c># z=1R)l!ON@tWevOcQz+Lg1QstaGGOgW!3_0lDUq$bl%U{wym2us*+j74Y+2GFS=eA< z4Qt)JOnO>y^x|k9G7V_o*3YH^?O~n?Rgq*syN48$h{6ewHrF(x1Ou+fg9X$qbWCc} ziqa9JtZkkPm{?s+Ic4u;ts$!Om*HoCeYHw`l>srB2F{xYoA^@IAZJ$OUa1#PC+64B z`qxyc2_LeV$^01Qzobfyu-*dW{AE@C47)&~Szw|+)1MQ$SB8y-~{(Wzk}LFS_%3wROF<7v)x~Jk*Wlq#6XAx&68DuQGUejMUedIGF zN`gGQIlRWjff&q^4OzRpF?#&YhV&IeE8S@I(ettNSxPwHK`KrhSk}zB$*E^fEkE|m`9MzOe|qL*;X*-( zjf3DPY5sgZ$YOew<1nTdgs1htXx+cT%3&-#n_!Di#lWxPwfNL|)S}l@RTzFHkL~5L!)RDb+S{=!+A(&gW`a-=rR z4c&c{BUr5Gz^tUK$GOGo>4L|EYSjunOyHOsm+W2V*tq7vh)LSGkZNF6>e+@h@SZ?P zjX!NoWd4J~RVeLV?{4mR6`il>sL1?hrM_pD3qCJw1N*>_ z6Iwq65JI#gqC*qXYTt5vmmpss8rkE7BXvQBBPL5Nf|$x z$dY}iy}q=~@iIo|Be~g!26ERDEeM(?uJ?-1eszL#j5|CM6ruc#7kwysv+No`RDr2i zf?BI}A_-MjR2m$_TmqAbz!YP>j}RY8WL9jwukbwxt@lkrE5I$gEQ#=w`G~I!I7=HY zi@1t~z8VnvDt7C>>^O1t)E(x835cZf!!hLIZcBsRZ+JR|R z*ok$;+xm1HMpYU(Qxva}!p91Gl^V$?L+w5yQ^370ZpV>^`tZyU_N;w)&ux>#IdWeU z_(#t-Tol>h3VWDo`NBMzwDmYtbj=cW^H}@gD%PzAG31Do1h2#G6zUm~17#!k$Od)l z_4E3tqILfU3`9$2@PbL=1%BT=B;;M-cgdt(;8&t#d=euqO{fGOLVJ@=3zg?R&IQ!G zHIPGHH4-ZAa9}lwkx&6m!N)(TE+iG|OH*>X9&>sjiUYV1beit{kG`(;RCnX=3t{at$ z(v2(vEg!=<$8NE#y^Ncvc&}p(a;rIg5A#TS{J{0wwJeEYzUjog0!JT6BJ3V@F^)|3b;NYK!73Wwh{RW`QUUX@@W7W zyNeMzy^;UYZVT0)kZJ=N_`I~cI8FSZBp3Q$f2O`qc4-HpN*+|`|7B-*@sc>uv&eq4 zChOhQgIdlKG4-HuS$A!#K%57Bt0sfKgNa>@(t43-@r3X%Bw<`EXjK^(0K*z%ldJfU zvCdsQP~7*@zL#EnX)l2UTSatIcw)OyRUJck7+;@abVcSC!JkO=7py5AT6@0VRa2#w z-3;~V;G(NKPqSjVM8o;r6P)39asTD}CGqbMCx6#n`6f+7T>ovnD);2sJIr38oOd+e zUr<}PySV+O-Nrr>V`A{sRoKniW#N{dI`6=#15@z>Js8OOe~Eh+z^IFB@qd%uBpb3} z0|bl$5=o$F#G;WZENBn|)QTpe2@wPIVVXu;y|Am+f`o3;vV2{&_eyK4_G-~y{M|n6 zRVr%HY=U`dd1*BPVuMosri&VoCIMph_c=4)-E4UH=F5=&UYSX&YU@O=FFKh zY?(7Z={rb8DU5LiW*m%!W2|=<1yamuFlOAMaDXKh_eJx$u~|H08EGZ_p5rh_s2@Nr zKbdW6mtodo20yF;=U^cKA$GLJAif7fHE*V|wMh}$s9^NR1he$(l?wT#UNHe!%--jtk`9T`Hon6TMdZs#m*x~u>isdux-hUYR z`G*7c*S8P403wmDh07iHbG@se}M`6E}I|yyBx8|$pK!()9O%(d!T*e`4 zx?23gFGBWGV|a)u-gCWC(v0%0%Et;|EnXTO+qH+ARX!-OOXFiX41sqlb)iO8qPZU> zC_F#PB!tyM$m$5;6pUQZj!aPf5l=G~#aOpl0BUSHP(`ynjaxe^=qsXv#X~EQL0up^ z=A)y%aLz0tKnk7oQzhM!=HlpZy!~l;G{=yF%#NgZrkFy>k zNl=AF!CFb5*ZkFD_VJZhan;L9&F`|!80!Qed}XLp9bXE%7K&FpBQ#agRoQp-Ro+Eed3~kD=1&hu zNwRA*zp|Rhmjy=n)U0={8hqURY&T_y6* zOy=&F*B+N{(mezrZIoY8+Jkc0cl`btX4`GC)5%YEamKDrU1=q@n#fo=i_EVBk0`n( zm=CLzZrW>ZRIf67hi8}%EQfu`rQRc}8wx6#3O|{7!MgJP#=?j#oXpSu3lIfl*E0`~ zNttHlV13h7ec^LUiW*_Oa<)4|FH_~hyKzM5v#sa~d#H({NO4Y@n4Sk2pB#K=1B&fr z8k90v!5cUdph2<$uScpkr^I}KI&_0tzb8#s4ce_H>LS@I-hloUVVu?d2QIpIRHCed|<7V+2b#sOrOcT%;m8$-*NXs#*t;(Op&x zkLVWSX-*XKv{2X>`uruP!AZXug(DxbPYE4FMqjC1AfkhkVfekq(GqhEnah?M zO|ct-;{aH20s!AQ6#!iB-n2RnfaQY#RGtI?b{r=Huz}1&01%f%+##E%GArcvy(fJO zd&8^-t0|T~7Ir*^87tDw1eJ24w6h)Rbw}~_%&l^lKqC}sjRdRYUBp|?{(pI@lBLCuYudrDTjYi{me>{IFR12sG>i)5knI2L;~X$T zLA4BBT6qqWnW$o9A3D9lAIipC2_vz>Xx1;`3F;hMRRZ=0&Xv=ItRKpfnVP(*a+@1R z|H617I_Q25E3)bbDHR`75=$vzZW8D(=H8}-&SLJwyZa^~M{yUJFXV?&^vGW*L#Uy$`gZ1?ws}nMTdBG#;rV^?Ud?-D_n}DS`A+%y zD}FX59pJS<-TKzBMN&0vk&g{qBzME(^3|FrQD z(aSD;{qq9(?81p+YOLqb9Z6La7l%ixw2_Oq6klil><%?ITavjFfQlC}UFGjB!eqpJ zmPr`GbJxBEub)xg@2>eCFKShuADM4llj%ucKu`Ewp7iT^x@*29>Be`11b5AALYmJd z{Sr?mxR6VF#Crb1dOjr2iW%b{;OQGrf(Ln7Bq@JtrTBMw7MF%IPl#KzsHhk>IiiB& z%T=WEZ#!QyF0eArvz}MVlPYHM^i3c^0WYeGE36ck$un|CW@#96q@?&*Dj^anCgMG!3>BTzc;SFu_JeT;7Ci%|eDDPzdhbdvM zUHmnL*3{wfq0F0VTwJTFOyNc9wEMDeDa@T^FPtK{DLnr>b%Gpw;WX`YFfd&Zzfq7B zm@VY1HLx26RkCymOqVV(56JQb)_LW33i~9#kuC}B%>niN{_wRS+f9>`BI%MiJYtLd z@HDR)p4S{nk|>=lFk8k&_)&{IAP)1Azec;DxVZG?%(qghw7*mz+m`w2z{XE3F`Aox zo#6t1-$dos<`P7le)A*l#X=ZDq8p18B}*-2%0I-iBrEe|tjRe4gGj2Zmt*rHf+qVX zd(b_r1rs+O9Z|9>UQEr2y0z}wU(ii5(Q0D=8T%sV8KX_cv@8*KdoMOxjmGs^Gtcy$ z#Z68l*Dp?(S(e}%E-Lg;V$EJr$;AvN+%;E9?()9t%mGBmGGlwNIAMLl9J!1*uT^Z^ z%<;6S%C=F;H}{Z6SH*m{+g&66$WOR!w?r~sXTJS!ig5{iCgZ8fzO0nJeEe#B^%wF1 z3Bg^vgAW{1@!~=szsmopzHBOX267c~!n_jmnw>(G%^Ablp<4*UoR#Nwa^@w4qXG7L z;g6~>o9VlPWM3i~R3x_&(e(@a!$~AanMe9*t0{4&Z#;<-rL0q?pt7XicJk%dU7CzH z4CL=xsJ72Lrphkx-tI6T`nd(L*BQ=6*}wt<+i!C!%4`(IsDsZ?Z~7>qVkbpK=HY!& zB2qqa%_P#uZZf1K4&>-juJtk(606wvMAfOB1$$R?;ewkC6+<_F5{(%ETaoFi8y2y% z5*RP9O^)0?9+A;m2zSb3*)t@&C0!zC!NFjk2-NcfvxVi;Oqi{(RIl@v`dJEJL{I!c-~*#2TDOjIN1WUm`UG2d(d69sOs{_SE?eF{gemG94+_Dk;^rsyxW&z zB(Gb1c^Fm6x~yp0I~*h~qUdO1R+Zj#N$uodjwDZ#XO^IJ55^LL(mr#W^>)OpQ*Ro% znnnI>Zxpp_4~mt?;M&ZuCOKC0=!qkKHSOajlMN*&bFs;S1P0u- zzo3CnsGjjntx7gW%jS}BhiIhB#F#149Z8ZzQH4q}G+^FH)&{biCs{-_GersxsgAloTVLv6IbC$sl*GIHja#DTzpbv=p-vK!!ljMhbyo zlgg)r7eo`Bqu-Mbugown9Y=Xoic87bx_i>tTgftWRh%e|pp&!mTZ)T|C0^27D}p5- z(hX>N?RESqr5!pCx z3^)_nM||o%g#bKIlo{pOwR`V5lO^sp!hNw zW)zw$_ACGU3qSO>tuIcf+3nr6e!|Q%S2$NcmQVQnsd*Us*oIFK$>^qvCYy5obGH7@L^+>vR(L?zSy zdCR9a_=MLCIX=^gt4&N0qTYYBrns~euax_$Qmts5xk@f{ueKqOUUf30XIhZ%frL-+ zPNbT^Nf1EPv-Qc|i2$cW)y!(t!V)Ao9#yhZkaPlX8{Z+zH_RrCGmO5losT8v<(EM; z>V1)!FYn@xd%SBnP4*m2fmh(c>O|+n zG0_1MAL6jc&$OBr`ATGThRh3-x#TByeoKywpZr-t11LJj(=oRbH#nI;DrU^|o>OA9 zo@jD~$!_LVqEwwR)3<+V@QOrEVsW}Fzb>ve)|!~QGgD*&iJWX?n4mQLC6rbMBDo$e z@9ka3NnuSU=%+#R#hisHlsQMPg2H805lo=JbWsV<=#-Oe{53y;sL&VeQuGz!0 z`mO|<`$62f{SJ$|{Jk^AUyr`j_k$VbF7LP*;}`S8n`utQ@FR}SyKCQMEcdcAb0k=l=-KK1 zVFSO{A_Ye-cl)2?y~=T2vDvvm71n2#sKRjhCo*J>n9~7ibMyK`MxBqt}#&L7>POA^3!SB*Jo(6Y~+$Ed8w_?WPL`6tzWCb)``cvEr zt_393qe4;Wm!PH&CSl3Hk$h$`sl&wz`H%CPR!>zlaunIhBBzg#VB^T?PLf5-_f1lX zUsH({LDlQT(FE?A1(KX@Y0BfuhvFjqFqmJXP6$i}!(9tzobA0ba`BJM02zg}07aW3 z9}hV03$HP*yboHs4_dlU(Gs>D^XPuOoGex~Wf)Bi^~K>L)r7ZctHe7W#RacZjjXe9S7~3|)Y@$Jod>>NbuG_jKGBxQR*?3KjjprnzV)ZmY#Q#DSgB z9HFB=^VL0rbVL!bDBRPXhaWXfNL;9Tq#)>;CtCYC1B0Zb>Bt$SqxzB|baW?J6*~HF zqP3P7A}ckQOEh#8F9`=()@WrxF|rJY&y>&VTHwaEx@m^nn;I-|%<*$kPp_=Xs@VU{ z8U*=fKjLW7BIE76zZ&lNRUZR|B^-R%{Chj?R{3Xn@MRsj1ZEt$*kd03 zX0)y2{Y{P;DZW3VXE8UE76*|_)wK#{?Y&~nT_pd^eLG?R$3rZe;haq{nv7Rj9F@$N z;B^Y%c!}$?!2UXbSR?jUJ}-^}9kT#t`}>F(VM^x+?0x11WC3!jHgn^EpDMuj3Gi## zOVS;6wg&!pm@k@rWE0?*Xy}_T)QCcVwm|=y8djd9<%~2R=O6vjb6e0d2FIAVunWccE!+`ZX~aF*k{f5o`t4n3??*8)V}t- zUd#}B-?okos$b#5YQk1!N)@`yse@&v#9GG&w);89Vt?Ok?^rp;7%leA(-(`BEKc1q zs?q!|s)UV;7V;g8cE5y^R%bD$2OlnE(?b-~)&cPf_e&@NIa;8;evP3S_jRc2`2Xe@ zJslFuJM`=BrJwfowolFb(-ZPyy%H=+Snn*TX+g~qJ!l4u5)Vzu9qX8Cvb9>jtM4@M zlzwWB>!LMoksfc@qR3#25KY4tA&`dnc!jI-u4k@hCqmFx-t`cxG3)gW(HtmbVnm9n zc#QcIj`V7s^s?6&7L8p$W&DUi;~f}mWuU#TZMlaFDCN$I0*;j2nQAVR923K@sl}J~ zrA5IT6O0CoU!0AJ(?~pK{RH$N_W9w&XQr*oD)?$`%bE{Jf}#V@q$8^@pS~(RY;Uwp zTTp%J3~%p%t$OB#zN84=?#3Cf2LCOlF4`_bZ_#z;E%TJ{v@E}FNpv~3_Fz$J{7N0Y zBC0|ElMkZYkefd^;28+6$P+QG2)Rk$3CPh+cShLNS{67gC>QB9B_e(gLLW|0j zx%Pc5No*a3PJ7#^f&99f-6(Ic{3Js`@DHz{EVFk9Ha|;A=G9kXYggPcF4w%SP^iy5 zejgK2?L&N<%@AE9{`Zl{#Lme-4RZsJp3fVT#<~OtFg^JI z;tAU1rA@UD${SDxHs8ye=WTbbIBCu z{Jl;HnMr}#O+-~?FEtti!AE$_3k7PQkW_U>P@V8s9I6x*|oxH>yJcOfuRvi+)-%u^mO@_I-n6bC2?yLLwzpJ-Ovu!WF2I{d!y&@q{E4>)b4{T6R zcFWbbB2Y+I>94_B={D3vQVJ@7PjbOJ*LgpwIy%3FO@%oDl_n5Wxq>&ba3j5yZ8^Wl z)~K^}eG_ttcK4hUJ9`<6;8OOxZm}y`4+gP7V$3O_W&p%KO-4idWlfHgW`W$VeNKkQoE*YfHh3+`O?XLN;^!aA# zYvWknKyZWLCYbqxXZwn8dydoFTu~vTM`$ECU-~@BxWejf0o4C@hi;egs3ggGR46vq z?eA(bNNb38`?Xfhas9l(*dRbL;{G3Y^~jtdU5#noX6e)@bx1!~IlAQjtF;4({BYOE zWu-A@P!`7w6lr+c8TMcfd$O9*ni-51%(-j#6D#KzkHHLLz1u{87ReaiU6sxKr^X>q zC|G+b=`~`FKKH-ZN}n>mh8bt*p&U-}KPd!*J5P=FQbGG}qgEpQA2~vuiJ`xroxjsi zeREBK3w#~AI22m3QS@81->PVss6CXYxDy`I)MyEPl%#3f=nVv=Gehqs;vB!od}0RE zm5O1W5rfpuK+SY%B_3sW`QA94ew4Z_R ze}6)Ov11U4bE!-UR~#x(E5t`&Rg)LH|LCfHuQoNq{l|-I-{&daF2g?beqw3RaiNAmLoS{E`%CEb zMghc7$&f5-50EYBsO?;pnqh%wZz?kXMym`p46twrD3bCYO}O)JLyajEF{6ZI{E4b` zGZS##*kD63` zo$4adz`eDSB%<T2%Dku;i5i<(?FDwTO8amLG_#V8xqe0tVVYILk52Y zfW_%^3}89Pe*(ZgMpN$-o1*}$7XY3Iz?)@2`8vfrwzwG8`TTt=-9Hr3L=dDWrno7l z>mUg|3fACO8E)dl0T%A3Q9;$H;0DFD)Wpa>Ub3MQ>lu{M<gO2Bnnk0$Q$VXE!$#Ymw80XY%mJh*_1YJUx*fs_?NIS!8#ml_0 zT}w4H)co(R5nCAl(Usm(cEQi^KM|DNwgP*jCIijbt@+&X!`>$!Zfn(`yj(p1(_kvZXJm8Y6KhHA5x zLgsl6xobaRKpXXe4TGakV1@uJ8tELTXyj?}x_zsm23npP7kbdSYd3%lLk~RgI|^l* zF)O(0N2%Bk`pTt$pYDkcfTHls6C#4Oa@X=;Z7Xzb7uAIyfa~*#xkn8X?kb5-+VwaC zUs2|-MEX!8AW$0}{r3@<-;)0+L@6mXQGO$qUx?DrZdhdKxSB(P-nMuqBfTbiCOMPz zX-r0@^V2Yyt8hvbWipcN^h~Du;vq~%hyo_#{;^CKF-C*ipD3P%L4!|0YuAb>zqwoS z2F1JGHQ!bIMt%st5lmS8Mka2>Z{#J)Zw4_nJ(f>lY8yYnl%$QQX;kTj{adBrggaLm zN=6;ZeJt1{3-aTS&Qg@6e9}{f>djpYPhA9zahu{7LjcuX8U=K-1*qaP8qlumD9WSe zu2b+1Nq;i$kQ(B7hx)CC-xuK>Qvc`R9Rk82?~r+DhN|kbd55Hp;~i4pP~IU4EZ(8g z9*go0A(}YeF-+L&7vvqHz&3NCA3HHNW3{344Aq8<>bfowB8@U7X)?{lisrs1bkZ->h(O~=qgKcmJ{uJK^ z9AbTH8^&2c3REGqWYyK6;78BsD;@XiFyQ5#b(v_Pf*48eAbY;PG_ zBI$jnYS;AUw)3 z4anA|XpnTQ5v&$cN1*=71Yzkgr07T!W068hrbfv zD(UhUY^}fW&=Dec$#07f4*33Rbwtb1j)>=g;m_)b{}`>>bwW3!|4q6rfk*(UvlF-r!CCA^fknm@go6Ma6|R?o!r@0Y)+QQsO_pt zv{p{z63>O+hupI`T{J__WClb9yB zRDsQ?T5KVLB_zjm8!ZY6_je2Q}zWg!z@@rl= zBf1t7kjNVUlXnTw1%cJhfX{{6v15ZM5Dlep5v64fzdl20`KaX3ddtsLTK){QX{F_( zf}JvR-rb_Klxgi`rKQAvy3+Ck5yqaBWx?r`mU7tfWToZbK~zj>sibV>WDkGj)h|(=$WqpgwOmi+2=R*B;;*rME|aDsDkp({LrF2nl!DT#Q383iJ;Q=vFcJU2+DJe!yd(6q6*4q;}w*0Ux+SqsDiRS zPC=>EP=o5AZw?d8iY7^EI8N3So)ZQ5+*si@cg?te0${P0Ie;t>TeEzcf>N#y^C(z@ zO4q9tl)kfrO7R&CD&?fw=tF6i5!fJ%6=6`J2_MClvQlD|vQibKy9ccm;>Dl%GDERr zcg<8_vJ{qV_lk%Xbi5Q(SgztXYozg>qwd-srjc`Mw$@1!F6L9EbnO>0@JX4~*i^Q3 zioJ5KVXJ%?Sm~`~jftjG={eCd0sT`KJ*sY= zmOE(j^8)-mhQi2v&sISun@-FNMo6o%3hqNk`bQwC+8mdw-ub=Pv}4Th=) z>8X{O53$DA+I&ly85a?(eT1)r)ca(Ls!c01C0)ESGcM_=m6-|%IE7MX_8_>PcEm|a z(Q>$JPNmEoG6n~gnZlxlAxX!69%ZIX{ik6_tIr-}NRsUI4C$E(YQC}?(2-t>fgh+ium6?)&Zj+4=l{Ti#l&1Vkl$p|IEe#LZ2oZ!0;T@JD@GY6Kw`IgD zGi40rDebM^aCX;fW#%g4Pf})Tl)7s^O__-{kZm+Yx=}@-R+)l{d4{M1JCVAFC^LsB z0<|)8aO}i5lGTP$x(zX9rp1(`$tNl^<5*<6ZHp>4KU>3m`p$Skq={`A zCnz>A-l-Lv0^t`_Y)Tfb*hHxrKCf~b2i(G=DyPW9Rhcc1q{=KF_%>N&F1nP?Ql{-+ zs@{4#S#6v}@uo-BZ$<1X$^kTvrmVdI5f9ZU3TS1od;SwqdtH5QOPy2yE_RY|zforD zc~LvWw>F9$Vt5hiKg3aQChp}{xJz&~(wU`90XcArp)1EJip=kEsfYl>rFmxaxl%yb zMe>!{zss+QO9Ru)b-Fk^o&dyQFGtrZ<-pn8Z=#|S4=A{96Mt{1Gf?ZPld^>_10z#P zZvxY06-IXjZlIz^(cHvUaFFdPvg4?&BIf#SgyfGN=WtPGa3QBP`s5q}r;NotgdDTI zN7Tnr=L;knJZ7U^m3^usv;+keYGd@qxYhbkdP2Qiqh7RTHqPl&s`))?L)#s#ulVuh z98dQ54fuwce;AJirT&Sb_ZGU*79PvaZ_J?tM`IkysNDOGc$1JqPU9d-IcgG=c7Gkp zygBMXZws3^8lltgqFQ4+Rz3OCpXFfT>)YcHnoe`T=P~kHj_(#`(71ZZ{h8?eVLUn& zc&Bz~7ga#fkP}?jNz-hn?}ccYNdmW+B{d7?Cn?}~dE+YrWmRTnv$X&AZ^$MYmxl&8 zVP-dr-W6b1wWn30;~6-+8c=x zi#I*y#to-t_9!W$zOiY`mvD~3X}8r<>3Ri`WWuq~cFTq0n{w@qc^2T+4|>5{fTr3z z6$>u!D8HHN9p^Wby%=;Q$no>?hAq-y9s&`ME&3tgS{BS-$mNGv9N&`u(63W77#S{m zvnS+r<5p`%kpq|AbuLfHhc}{_X*3RG61)@qeRl6z{=Rf>W$AO@g9Dfm_oSKcqJ^=} zF*HZWU^y(o*IA^9*1z@%C?6zv%;BFGkj<;06Zs*nF-2&UAJRf|n)O2(Xy)((Ph}te zn&Sy|&Ia>u>c!Deb$;b0>EQd9)4_WKfdA4sDW18(my|3KzF9{<3YHD4()?_!ehZ*znT&7J=RvumTssPDUfXX=XN zmzd2YDJ#owVZpE=g!TAH^Lszx7{qjDQnsK zh41=r-e+qpe1{Q?^`oIl4*WK_A2GF(G z2g^~OQDk&d?1fS+&tIf51@=mF((uYN;PB-ba~*-g*ZkOrd3t>wb1Q%|q__e88Qz*~ z_fifYCf<_tnDoEheoOij>ZLhQxD7&>LHC8 zZ4|y1nCqbIH1mDtD`R1EU;&$9X2()FeVkRfPUs+|9G+F~@*j7wS4)5SkK5ffKjejd zB!47P-!tNmjCR-j0dW11G47g8>LuA-^PlR)tu3GZ5hr6V;_#;VBWd2`Qf29A{)t8@ zH(npDz03)!e3K*7AK__s;@i6{kj&=OUvx~Rd}g8=p{7A`zPhid)C?j|$-yWbl@~dU zVS$Bh{^N<>iMLEw1JLf<=V@eCy}RG%3Y_JycLlHNLp1paG#jBVwMn~oUHSXQ#{pj( zdj7%w*8h4_Hq_S=+<$Y`6MD^eSix2I22Z^l}M8iMZZpPuEt%q3G9z z#u~$8!S{M8R-k-9plpy6Fq_4@g}G@7J!U#MK$YKu>i@wI%;L4zU__-Qi`c_XYw<1= z8d>dnZq73|{xO@q(e;yu9ax{@{nD^HZ;rn)!QYfH^ZgacGvB>4G4Z{bO}sVm);P1% zm*(eIuU+{qGdsPh&kF-tk=WaAgqAE_))GCc!mJYIXO^>}Dd)t7?>~MKbxgDkWW_lU zVm6v>E5N=yXSS`H$GF+tZEf?8HpAJm%v++FpO?%(R$h%DOlKm5`Mn#323>2}TO{{1 zo>Iybo>EMSg~Et+sKOh&4B^V(yvnS?91A^eoY`J6*%T#^Gx4) z8Am+*Ka{lFLr0SX3pkm;rvT*_GxHlHpJMUsKgxOl77y#C5DQ`X-!=3Mt5o7e8I zCNqvKjD@bXM-|SBcoOL?;3+uEl_$6wCr^jXcZI8Z9R(N;RaWDb8RsU1FE}YKF??3; z8c7!(X?=59=|`N);hKKAqEe~}pN$6{+L&=dKqO}NK;%-5@ z_x{E40@jz|#9F{w?J`n~X~vtOW68QZnx`3#4boVJWAA8Vz60kYk!dBS__&a5`R?#A z^QS12s#1}WPZq~+p{960#CJ>O?Gv9ek*gFimhmkgt zGMjAdnb^8STTv-gQEJWhbM0}-y8>F_!K~fDt()e~g=#H^rxx#5 ze=ZgGtBPyu*0im1AW&?R3p>pZm<~$J?>?^1T;})SX#l4H-KFMVrhO90sh8IEMSN?_ zb>pOU;k(RRdGTMG#0==;t;r@5x>?0*iE*hpnPPB35H9vKuGzfG;dy)I?&~=8l8|^ zFH4aN#O4O&0xU1SL^$j_f9^ z;;pC{zfy;;l>)>kK&_KBxN7O94lT_1`|j2z>(UjOC6UbnlzI8kD%~}IB7;=>@gvdU z?maKES?U6fnGw|pE3aMW1yCnc-5aon?fxB%+2?^+2HTwoM7~+NI`h8&!%^gD!)}zD zRev&AL-UC>n9E2WeiA_*hcH2PJzij|;1BxEl#!i{TLuqls62hW`o7NI#r!JMsTjJc ztCRjXS9cRGHn?{3oBtkFu6O?$4_Leg)`AZU9&!A{qS|k*Q|5T z$3^;K+=&m~DWu7wgfrgVrI(gxd0kagZ=72Z$OzspV%UHYQZ;jS?}}2YztbMPVj4HB za{1X@>_C$|^mUBn`n54MDbOhLZgsa(Xw#{oHWtJ>d2?B?8Ug zn{v}46SQ{o)hXhNZY3qj1n=f7*@ywg#S)I9J2Z6Er$ci(WSU5#%{&h?g+TT9# zsrZTwECnO07!4!7Mm~&*EJ^C zE-lPLa4PWZtWHHe$t>omf0& zbKh;O_^*Fj@i(1VJib6>8aO{z{IUBK5-vAx$c%%2T&(!SSn*kd(2rBlD-X8oR1H~! z4X|ox&5Yvbp%ZI>7ULW6n50zrIdu)KLu)AJFxl$NVZMirn|1+zY$7Es<48M=GLFZ!y5$i-%MAoMkktHlKR>sSUAD&Ra7l0v!Cj4(4(vaa(_s7sja5W>7h6)c2l4SvOjhtS=8RYv^xAtgNh z*(H4Yq!I?HqqQ$e9dQ7}Q9+tgjAX`r9L#G!`ssNu7?QWVi;3O3L z_x9ike5Kob6sLiD(ZOEI6*6s=GTEdpGT&m=S%&K|%p2Xm_hpnUGG9CfziMN#ve!G> zGq7?*UT@IhQ73i}e{!78bt!K|F?Nby<-5-IA5FZ+#ck8R%*X4HZP_@GM<8AQFej+m zId)((4+hk--O9emTy~V-efS`1K%1vMe`m>v^Ws|$XJUOs;alQLPR)m};l*Q)M19KU z`$cB%CVBB?G3=3QvgK+e8Im}VITLMKINMxG${2?!3Y)qDkzIS+xD91V42Hev9C}wH5p2o7^?Fp+A+4q%gK(-Kv z`d|G1uLdH~$*jb@0Y9%S`~u15eY|mp=HR->a!1VKOO}RQ6rPDgv&bC|^Io2^#b&aJ z72)i~Hg2%$^SST?>cNkX_)fMX+r%y4lwV_V$U=_W$jBwSQss~ST-F=7A7e4cjW#3+ zjPSQkC<@%rXNt&7GGDv-651$4DHbhqCc;0v@>(>ZsDGhn|3RnwcQ@raj4N{;ld9L) zY_qE;*la#``>fmw!;xFz?_7f?_%*?A&VPC zcXQ&%6iJ?zHw3TGb(pJ(x$a>q^nvCo4Se^70o%AJ1^FkYG5=j%QYueDd%yYABwi_E___0xi1`K^@^e>aDA@Jc*9?x$%~Ue zM}R(fing#^RLP?deB4USZ58hNQ1WcKLvYok*%vt|`e}io2pA5#7Xw_ZnvSFgh@`gq z@wfAmOtSHkj3khhDq4n6m7V`9L1aPYLwx1hIR@oM*~x8)?&o?@pbvOc(7cS}Tf-L7 z6KmaF+{B=^AxE44K1`+p#f+ELSj<@Q&B*i`JPSoecMpzv28Wy$`o6s?V=Bu z&3gvV0-kA}*L~^f=s&rGC9Nr(nAW&#?f!yle6cR^cNKWYuI;L0T+za=0^ca1dVEXD z!>%8RQHCX;_Jl6?Uepsx@Cv{^A%}vrC*)LM_JlGNj6I=j1z=Bz%?$;dRYY;I`*-F2 zumXQ)9hw&R@8ApK+4-L=H6{c>LoWzg)UsLIIJj$W1v?M7ujXP1u4&o5Nr8OhCV{xs zxk&(Sb!-xNTN5`4xUC7B7|`6#3NGExb*m#zkgfLuwA9iM**v8aGI$d28$(h->2RKO zT3E7DyxiUtFJ^nFHlyXNKzHCam-fvtG&B&8gg3Gnmw)h`s!kHPpVi+ zuySnwZa+=vm-{C2TXYl3R1;cs6Iyf=T67aybQ4;lO?Y$dI|3?AIA%5BnAL=1RufvR zCbU>hXgOsQC{Q(lXQE9Zx}vt;o6hB(6dO)bF#)&oUFEJ(7qHImyNVqv_q{&B$h#Bl zPCFgnjo-!?u|vn;2fUw-&}&=eV*=?YBSzydD;j^x`z4FU&x+CbTSB|iA+B`Q7zmGy zRRx;Vm*ws7o@EhwTHX$e&Lu5$9u^|C;kP8G+(~CNr@e}k!kW#*6`R)qrSeIc0Y54$ zqZvnVoA~*g5jS2>Xi9Xrp4^nzPuUdRkk8SMKr*_n$+l%o^aYlKRoT1|C$F-R^}f{| z481;%?>1W8=QBGbt|c!DYHMGO^$K*hoKBizb;{XRr?`0%??Zf)j!D%WlbF_^n{pcF zb3&&eJ-o$*dOLDEI`c(3M|nW}KKqxdTZFCD)CnV9`hpMu6l(WxcRpn? z(d`aBFA-+ToqZ0MDj1Sv(7Px;#4=#@kgBlG6^uKR=!% z+|zFsc*jjutTUZ=7=r9bB)|~lX=ljGlbZ>x9j8hWT+EhC;I(!%HABttCT*cO@v^4a zzi`vUv?gJ$&?T(LVxur0VZ6k_Llp0)M}VBfjl%pvG0cC0=S}Yz&s&P=Ga#1h0a3t% zjM+AZFR(4kXmgKn>7qmgeFqTsb|hA)Lx2M`Iz;oR4W%uTMrf42(DkgWj+x zS$;ccp^~^O)J*(OPDEB2B0a9|-}{a~%KrRdSo3aU7vR%bn=bdB`}wA##I(0yHptEF zwlY~BVY0-fdEa0GpEVIArtL^;W!Ek|o3{OHCfV3@`o-oV>Ba6BrGKKm2%%0su?LY- zMlz)crx=#DgW(fD8M)}j;WFWzVj_~1bR@hD4+VwJ-Zyg&$et7pP_6 zQD39*O%d?nT2wN+AO3Hz$wZxcO zON^k zn=7wDCDz=Hk`;H8XQI)Rv)b9aGbfbR> zbm~93DQ}&wDXJl#uN|SZ?fH#QF*RDqvsH_O&KUDnJOVxBBpflNVa}W09Qso_T(kT)MQ~u4$rK883de(3ja`r;xxB(8 zN$rcS0+ve27_X3wDJ3SOuU+k&fC&iu1U`@K(tjl?g1#`D8LT3w{)O2PVg;w7##vOm z>H>>ZO{yD^75dpgG`2(z{`YbwKz0dA%r@X+In8=MNhuEGX37%tmOG>SUhGdl4EL-s zZh%)A%`XZ4_S9eQ{c=yenl;LL>IFS5&YpS^-dh|!^&-8uB=*#c_}-GxQ=iCGxIGHe zs#?o8I|EC0fx{gppUO#0JmDLiF#oqmqbMxj9bq@DWr^iK7>K2+f@ zp|HiBWZY(()XljtQa!f(ZIyaU(H?nT-(BIpsjj~}0AIxzo$&?Rxp?SgZTerQ)#dN8|i>%aX)#QNk=(4-($M0ouuupaF6cc z`>QM^`AL%{$>=&765_9szorWJDDWv-1N0IWc1fE)O;umt3|3wV3D|co5Yv^VYmW}l z);n+2{U9l$2-k>Kh^;^DuHPv+>m{c*r6XxE#WlRpC7k(MvW}L-huuqoa%6fD?=ML2 zhUvwT=>_UjS?Gn=P^ER9fy&SyO3+Sr@g+m$D`!@?OIyg@@ZvdACANPu>;rFNduP}G zz+cRHq)Wpw{zV^%?P6ljUnp#U`1f6#`Pe1C>O0y*3-&ZP&=n*$w0}UF0}pp>#kY3k zVO_x--|qH94OWV%+N@z%i*Hdw`@wLcWZ}o}NYk}Ms@*{|q+}w8w||I1gfCe`6)i(o zDIY%ILsxre_-`F;UFqcIA;2v@5rhPvI|}KLq8wds(Z&;-VHeW3W&dz@Wsnea<>01u;EsISWVOYWP5mh zP@1xH|IVX3L+eAi?zeC;vv$8jX0tu^Hh)7#B!wYPM%HJICE81zV|wtv{5A2o`q^$)XQ?^f(*BYS@< zVNdOM2n)PUtKAlj+4dz}0B#!ETTYc&9Q2UO7EZBV-VU9z(Cp8bJ%Q|+21V)20VFAV zja7ESuomlME*~}Z4#RrABk3#re!B%)l@Y7wtj9&=jbIZ0y(6)K z82`axtl=VS0$1iH^V1mSexf-ov_FmCj({t7@A4x=E|;wf156qg9#_ad1q^Q zm&FP`Ps;P16D>GP73@DY-kW0nK$UJ{2p_GaBWV=~0CQjrEbiYo{#Jg=pxwequ&r#` zmwqo1;g>s-yeB05Rx}}u(ssu$_odfJ!k^0iipUGwI=Q9^TQdwY)m>Xh!l|+74(`5N z$Pq5OGBZ$U1{NN~x-Yn}vxpmG4lzL>#dUDsE@C2xvbTTNX<2Cd59SUUn)zqHCi@>H zrQVFl^lu^9L`Ivaz1av&diiiyN``os?>ozV|2eP@eLI!EZ@ByZ{{mVLjT2TSmgR-K zcggvWD!-ZJE#b{w`!LCy3OgOh9HKkjfe~9%;XWd59Vk;>9pwi)uq52qQGT!^xu~O@ zo97=q;LM1;#Xgg}wv2Ss=z4 zxXN#i_Rf$>r}#~~_l&9k4OE=>5!6(Z5S(<_!i^M?slY@c;C-CD|5?B1%6mw^3#?t6 z)%!l?Eoogm_@4ncl6;!^>qCOgiDd35JkoKtShwNB&1~n$;-Ge(-DY2^f081Iayd>A z8GTT8ScEK^k|Y}34X!^HmAoVirIO0a*)TJUfed$EvSH4J&BM2JuR*WVtXywZc$$5e znC~H3E+{KQNVs!2yX)dpgY;!(;cto;uq5ZC)Qm+)b#0-Jn{s6`t8!I2!W zk2DP6j{Se_?AdnZ-6Kmn+81@SnL<&}IE9?u(~#}!k^*4wu>vy83)Mgv7w2^ilQk$% zgri<=B9a}|r#kz)`@OlW1=HpFQgic%vSef@_V(`MmgUuDRmyhhEY?V3Q;=%@gfu8{ zlgxE0vD&P)mH{QJMwqusCwKebyWE`18%6~vaHBU~X$?Zjs!8TNNyWX%XxyFXPO-#q zUBgY#Id7)zy3U->NABWMIiqX7=%UHRqN$%v+&Z*P{jm-#j($#+&*)jnt#)hW5=1eg zzv^6QR9C->yQ7?&3ZT^4x3hs}^UjeyVTyBxFOXZjZEG*ZAfnEjw)WET@?;~K)2syz z#?7XGlFH$~+4-`hw~i-;hxt2S4sdHXQRbJZNY6EIP?0Gc*JUU!Eg(|O zxkO;fOxZepvC_=BUoMPmRS>}q;Xjetf!v35>S4CQLMPOlH`*-_>q?MWux@1K@ zZ12=*jGMjX{SV8+UAVE1f!jRH57`7G%`DPLjHq!_+dmW;x1)_;*=!nz<-;I$WmP$( zGKiboSk#ReV~2|dWzz$`t71{#WylL-JBR7RUAu=E5p}wD@iL<@nt%FW{xr!?g5RE$_m?WKRrF8Pj~OT(E|7gx zckK^}X#cRIFhc_}$6d3MK5c7PP*L{}zCp2O_$G|#d}V6ubrFd*+Jvd8yk%u=yNqVZ zGRHS+upzkZ@MR;pkF$!q+buD}rJdQdQ?MlbH>)E{pP^i2?88{%K(~LJ;|AjvN8nZr z5)Q6CxDF5pr#xdWW}quwrS9jPI3^MDOctJft_0Z|S!TstQ2*)X-i zrRE=b6MGD?1i2b{N6wrpZl1>07vyTZyTp?7)Zydid|0O(-?f;?kfVkSsS{2Gf1$&z zA$>5KZHJ_tOb@CWZC9irU=Dd+KA4Y#<|q>z?1_@-5xD&6(d^sR&4P8|;be_F#4DO{ z=Bsnrt&a^zQkdsaZrMi394%eOWP3ld5%WSUsqngNucIm{dyfs z6h*3^e+0>pkCnS*S}O1xeWnZqdiPuo{ZHzco5gxAi&-p#u_1HW+zhw{<&>I+n$B{= zS*2z%uiRR!reO1RbeZJi9EL>;5%#ZQwD5UbGX+4c)~Mz6+$`Ooiy>l7!9u=sv++L= zYuOZ<0bT3HJ;kJMteisQ!igPi(!kX;Od9wGwwE;UJQ_H;V{Ue|fxvu13!hTsK(+8T zUSlmhgc%?i2U|EkzJ&X70Jj#pL@Wzh!$g0@xv*#F*y zo(89POiy7(f;WTf>R+UWGXHzMT@TQcMng_v1|*VElcb{#=BDGm12)jpQ5>_9!p6#6-XZqh8=z2pSYv3I2s~SXZr3~@L z36h=$l-Tnrqa&gHLz!}zaNLGs=LvGCM|0%kvUJDrW1B0<22Ekx&~Za|`-ii)vsbV> zB|q|Z%lvTJ+wJ+gHLp&%!YJ%{-Y$Hq(~T}1V~8HIdqS)8^6-w_-BZ}j@WM$&!u(xk zPvMaS7BXHZi$Pm8Z@a#GM2?g0=_u?*ZOi&pmIhfEtwrY7MwW4GIm4Wc`jt-kM4%r5 z%CkA>oo#05*pKAS;-&cN9o#-=^zSQ-cD9(giqYK=OIL`BaXQYT2RH-AIP&+-4J>f* zUivby)p72b_rL-<-XL-UmlHc*zMl`NiygAdE0V~|FyuP_0!N|<8!7@+N(3n!I)deq zL^wtMP$?i5iIBCo=$DP;P^Y7JXZ{?gzcb^)IZmRDWP64AH2k0JeXDOKH`uccodk-j#MenKY@30WC_& z(={be)RZj#3eJ^coOaHn0&jx9bASzxKms$J{`m=8yDV0n{_K7!1$M`H$eyh>#U%Sg z_3hp8SyuY@F`NpgSwF(qnaDv&aFH3>pOo)hyT3D%V7pNIBXx1Me|0w3CQ1Rzv-dOa zx64YZeX*=DQx`8MG|I>MmoMj&v)$gl80TqH?woAJyb=R*vPD*qJRPw-d@mno%vl~y zBBgZLI~Et2xBf${E1gAE2~{@k)IA`};)TwhIZoNnm^{FXY;a6I&Wr4LOz!1Hc7!H> z#0z^N{>gte5?+XWEMvp&H*MbOB2rA007HZX-;}k()h1B3kvu8F@KSq0tSPu>a1v`1 zelr%sAD%PDNC=sU{>~IB<4nme3rXKu=Zp!DF_LrYwYf&Beg)l}-T_TZy(#T;irUA9 zlRD-Ub&OpWweqdv7Uq-2#332L@nZtDDZ)=3XGjw6%rYzAjjkTCGgzX2oWm%J4xt-d z{)5^0HVVzi)ZEvpxov6qp1Dy zLGjaZ&oJ~s_na#ZZ>Ew#tAP*>MP+Gn(V%D+6liBwIlC?=?I4;)b+m!OU!$@je_2`AxqKZ&P(%*- zEM!v=zSdvc^8IvC=~w54JUdt27wqQ|A${nNVsRJk{Kk#04u7#UtQTlnhg$w@XAJy!YOK27=I1}nil z66ikO{6Vyj!!w0M6i$`+EPcyio`}Q@;%{6oeWP$r?IX+=4-4LNKaD;#6-4P{Q3-NG zX_3;2mQ^K+Rh5kUWfh)Ycg+Nab6nTF3+sf?$|^if?wVw)Pql*6Z5#nX`7LuQaK^|1 zio)U61QBW~#IFN`_G^)jwu-b+N89rX0HR^~->&j}}^fk7Em;V*P1_*U>3mf*XEhbzJNEdi#Y06CwT zux?Uh4K9%yeAh5W-(!fBg|Cz?D$+O=Tov{ZDV@Sb@`xO!e-D%2WBKjUzg_Y>ts-IJ zaDxO{Wk0)|`=F$DUXlVZjAcAPgOF~ob=jJ3EJ9FNw@VvRyH(`_8H-_Xh<~V%A2@`$JiWvz$ zJN#Zvw@;~tkG4{zs}w1cg0llsi`@O|H=_p$lp_lFbJt*E6EaiWf84nRO0!85JUe}3 zdqQidL$1|k*b@PSs1-0F+7J=Wko3B0G)-41&=Q`8Lry9PR1zEGvj)iRwskCPs5oUO#)|$ zF`Q*?S_75%XV|PsEe=sMfM{SmC3fJORTGNLU(qsk7S?H^D3?hhCU$aAjA>3OaLc<2 zQG}>hQ9mFRHe|6vcr}}C3(>6?$of_+$3!K;)6vtQjm$W(?tf1f6U}gpS8%?UT8KME zm(*OQs$)B1sW;tx<*n#;SvaGoVVpP3d`87gBvDlK7qfD1$Mng1@0?4+XW;z91B*1e z&08rL)sZu&ajCduiVBTAg{}#@{dipIoeAGz(b{cZMrv7C_4U4$Ghn1*h<~)yw9SG^ zzCWSV%+O%vx4_mmgqC5S6&<=r=TQ$L<}DP)WXygLjsfLBS!B|m_Ok;x$-y!!GRdhz zmkKjfn5n`n70TJ3$fRr)=BjXt3eQ*JG!+ON9k0yi$b=RCu)ti&S{M3Ky&J zCKWDM;kQ&+slr=Tc)JR{D!faDt5jI6!WtE>Q{lZTd_aW{s_-EdKBB_MRQQAnH>vP9 zDtuanTNE~)RpHYr{EZ4XsqhIEKBmG)RQQkzA5`H3D!f;P>r_~y!fF++QsG@H^s4Z7 z72c}CN)?J9lgOmyD!fUBi&c2N3X4>DwF(!g@JbaHsBo4FFIC~iDx9Xm^Hn%Sg}Exs zR^d1mW~ne!g&8VzsnDrHhYD>f>{s~dQ{fR6cB}B93QZLrAoQe*{`;^m@o>Z8t|?F@ z>jpGJqZRgLb5lB_GSy+Li;R}O;LwXNDj89B-46hsc=i3 zt*QDTznMC1`nREQ5x6?3kKdtAo00AXH}bo(8g6Rt7w*I`6cjm4$!DQqoJPZqFfu^{ z!~XwkG#mg8U##%}8CWOn*KJE0Y}?v{*}6UJDfIuR_H=$`d&GCs9r#UPf6w8+*@f3M z*YG=F+AbC@=n-878>O?Yj*YfeI4cU5!u|s0R#Cwgx>n-Sk$uyC+=Upf^#NCHH`&7b zG*&(W48?fG)I|NmIUt_3uguL%t6QBpAH$yvE+pOKZ?j>hBS$_n_%<&3Eo<=GIKE}2 z$pQ4MbF(BrK4=aZZMU(VX8LZE+X?V%vq~MISW z5(suBunFp&DaCZ^M6Gw8kNxOw3TX9CERy5T%8u!&4BKMg$QJ}ob00x|oru5HSd5lp zL;L0J`rHNOjDL)Bcuv}+%KP3_+usDd+qyA&Jp^30Vcxs<^$K_R4XGZJ*4y@1xQ}D6 zd)pq)4e#U0`*GrKJI2Xk>~|~vT;cvk3z^z0+<)Cc##bxcAALZYF5K?IU-JMqNwUCny)WmdC`P=g8aD%d~Rp!&tHlcx(b|Yx#av8kW zS@Xk>Xp3)3`_v5D63EPLf;uP%+>U@ARG0x_XPNE;EdSd4+p-%@>|jX`R-zp&YdrZW z-A_}cKiUPH=4elM)6-(^AeT+ljDYJ{sjOZj@8~v__sgw!eA$20;T@wc2s8`Gqsagd z#$4f|-(_o4f6wMkGDmxR<(Hzp?XFQi*HsVWt->m$n>S@;O#S#*a`;9{ZVmRA_pAWs zo9MUO-lYLY!2QZM2=3{`hS$RP(+YGU#s_(mycRLmyMOpYDf>kw*1AjUFbNNZx+Y+C z?fCNpGz}%_1ZBv4UMu&)6YctoL}SdI{*Zbu4mDUN$VS9U7+*{*nJ$h3#Br(huY`dN zZ}Lr%LC?D@#%G+uM~nuBdj_1OQJ(f);rYC?hYH_u2@BZOwQH~9J1y{?j}_m^RD35R z#&=xs9XEW(c}MCsd9a_cu%i6Eyg7MuSuDtCHC{LH28BV-P=>OIO*SgZh_XoBEJoR< zHsprd_%=!y;ozq%xTmygEUi-fQMHQJ(Wd(R-PeBqn(!jUKr_jwntcKTZKkDp#lY!13|S1gen!?ZT%yQ&zL_*;07cch!grM? zUYRKUv$MY@Mo%eKDW+TY(UasieAcFXT(D8S&@|WyG#^MM*hoMzvq^*O z9mNu>Dp8CdzG7@Q%SjS>Gm>V{_}(=qpkK!UyQ^}YwEQ-{JTA%b zfGMl$vIQIEmw7+1uPam@Xmz6#Rin>>nVAJZZwf0lTPe#wN#P_4syM-r{Zps;x`2i| zZafKZz>~1DT52#SlR4r$U_K;Y1&mDshKP==GTHET&zLO$tdTyDO=*Sp2zFV@m9kNu z5x$UMkvMrYWm+=2am6aP3yEq_N53v?CK~n`;B7WuE@+7vSc#N0E?pGk>tgAMSI5jIS7ipxm3uMl;vGw)WZuxU4k#k z3_^W_HHjIBpM5Bu);~$k8gd#WS2n0q$3K9`&KacbheURD*Q|hE{Wo_rt^3pEQ(}Hg zNoiobri;IdkUBnKNh3%#=&dsb4SkC;Qi!{kLF^+g}OO@u*sdRkhxY zeRJ=;$E&*7%%9$K=X}0`a$@E^@|}0XbcC3RtbyvIeiIDHR96TWbgnl0Z?gEyt==1e zWm?bmVQF?Ve3tUm*~{S@$7#(g=_g~hJIQ2_MxI2~0%fk7QJcI3%kZ4!NV(A>)#|RkR=#{ZQaO;I<1ne!JvDTc3wrV0qW}1Amp%n7W zjK;P;kxYX>PsVAjy4mdM%Cy+-2+zb919YSf(Pp*){&KspMVtpYT@7~r!|lJ5;cQTF zQtw*ecfi$i#}>+Wsukqi;YT+|FRBqc&=;N(W1jC!@#+lUne5d`(hGauLF|4fj!8x! z*D?6&@(;G|kNN(m&UZdluTREtT#|C0Z>=H!A+a3cSo zr`Uch)tn06jV_4pDI5Uh6>tG8!*WSfm+o`xav6EtYPf63w zIs5bgXY8(3y3LrDEWvIPe*TsGj&AY%6;VV+=Aq}Uu;-&{rA zhINBEu!T9qK2)FVVs;FP+7|$3El6VT;1w^Z6YGUuL%}$E5cUZ-WJ=SydG$6vgcsw` zMv5L{pW!5T+E&l@a(EfX^rH%_?q*oOt?WUZ_D3d46@H1H`-ttqU!xQfdfI1_+?MD- z1|v&Hb=YJta>%Gw;mx+%H=vE8Um=6f{q_laE^ z;)V~Hr#irlX7&OK=k1vTjS38skMHiuZ+?YD?IFQX-)w3FoTT7`$B`Nvrugs39<{Lj z*Maj@I^#K~D9D?*gdlGKywgEP=O?rK7C;(P1+zcEb5-BrD(+FE6F3(a{aaf+UeI@}Em=7G~ABAfU|^#%=S{-7KqQU$LI|CJB(VT8+LML3iVm$)yEc!@!oicklDv7hk zJoL+!KoGH60s=BYok=O`TNEH@VaH(xh2I6~%3g}SR68*n{VBRv;d-llx3;9IG_3Y3 z{bzBpQgtXu8$R%h3W6$wmV9s;Kkd2&Wr}3Q3iCyUQ7_F2Q^U z1@sEjw>1K)zDIDQ0Owz34J@;j!-8ga0h+9LWOzrNZ(+?~CyiGX`KQHLoKSZqtxLWw zy=+uk5-2|E8;UYef(iCFK&%E|+{q-DQ{HaMy`SlIty zV!}O|^s*N(+V(p(krJZ0EOis0HTOBpn1CAi&T=^)Kln z@XB;H2W>}FQx1b__!D+v1j6h$EazC*H~CzSfYPE~9=-pkksJrnG%#TAw1 zDu&PeBXmP-emML#ZoR-z`nh^iZ9(+C2^8|L`|v#+{uJ#BhSeGtd1ho;Yzx`wmk>Zh z2jMSP@6NH{NOL(So&7hLAIz66!mDJFc0!n}(oREehm7b6#7#WY9I(1T25xNT`h^5! zu~jwN6XdlO(#{@fXF_g|JenfO3D(SEAvsH=o%b50olaxiue0zq0bk?i&60M`H{q)( z9u=rGMHHZZAO#(EI5JnL#uXs6XgETtFhOXXDi0QhumhXgiru-`xBCgU(ZJy*)xQ~e z_*LYg7!TkN|GF&$&rpC$f420?&9I-;Bs+E%_|WXq&JZy!B#*^4ZDHw|mVgx(vS6OH z4|{(t^nJacDK5nQ0zxn_E<`1VD2p(WnkS|yv9EC-m2@?r=&)O-S>C`Ya+*O>`uPN< zh~g5_B8l-yW^f&WC1aVDcxhal)#Kw(_4J1r4{Eb$1sUlcb2$VS93 zu2Mjx03szm#7sd@Dj-saCP?B0S?x}1gdl4?f*6zl>W>MZGcA5`Z31E>AV$WAc%DO) zNq~@sCTKmN)DoNBiH#{jknpr~y)7P9i$s~DfN@m(GV=t)Xh4jP4>3|uH3kr4hNg-^ zFRCT!c4vBoP3iFnY5^FC%>c5D_{BXVAjSe>YsFD+uX?JEu2+E8{ zP@X7mJdll#U))FmF#!-0;zM+!V@o^BCIVvO&;+$n_b2@ z{Nm~a#3VpWiVv|=5HuMOlZPf~CZNb*f8TV{^tSzdNvY|_<=$VL-ckA|OAlq>YdGiW zyRN~Ev*d)`c|xk+7*Si!6Y) zmN2`M#gfJ1qr6!Z8U)H_7xz$8k($|I9WY*XHP6yJ@HXa5`~@w%9HUS24Ek7 z@Kb;|6(8aQ4pH_sAif@&tQ}-$mGs)3z2XFPK=%S~Z+x5&ic-G;)Hm@V?hp{C0dYD$ zgj3Mf2Z+9*>B{1Ch3w8yEW1MSQGUfc#riWqc_u!@KLy0MfcQ2(#2-0CSwA59hbF55 zP-@A5-8mq8#aKN6bfeEVAH2)K!|#CVySQJS_<9y!&&K_l13ebT*YHqecwso;sLkM~ zm-c1C5QRcfIEPRa)dFG|MPV0Y2}Lm^Ss9$HKD!fJ4t~jdD4uq% z?~6|tU0sB)FzTH{Xo`Obh+#Cv77kG+G{ul~)d5N^>9;%kW7*XopDed1bO2xZyUp5r)&Q!_pR0X4IJ2sN`zKtRouof&Er zml_HT?Jqg*fSlep{(!dVWIhEX%^9HLC9nIYM=8Bi)W#UaXsUKx_q)7X2bmV9D& zeiF;UA?7{%01TpsnfLr&Kn$Z-8aPCm&?`fdRl~^&+MU5zvWA%V%n*eRGw-nph+*`~ zm)PVFSrd9?NU}NrrIvhQcYYB|))4ca-*S}ehne@>FCd1|E0uyQp;v|^>uOHcNxKtA zsO#MmdS?9)6CaZ(b(o3I$Jl0z{KF`g*EvL)P%J~z^&3E`CEwVc-^8+Ohn?$37!zhbhk#DO?2e@P5LE&K9(G6ag~`k1 z@*XC?I|4@>)>!ha z@ln?Z)bPGL(&9tR77*~hJ4VKbm?$9NeRoI~ChrUK!aHqt2fXlu+_S|;-OOF+t40C! zsQ3{7B_QC2cZ`k?u}(mY0mPUKlUK&cOSe1HW64X8k9vwgodMJt@gc(82fk`7AjZar z!08brAmacr?!x4~NZr<%X-8O34EHkQqyD8p4Hvy*e0+%I0s=02$AtJ0a|8rj^p1%a zCeOyn%d$JNV#&*jkNP-wwy(Mfs4t2S(IOz=uy;&~4Ic@=c*I&378~E#6;Qg zNqmR_?f_o}3)b;ze25PO1T0v`XBV!-HbARRW_Q4YKiGj-eAF8RYD}0N!T1o>0s@w- zaXDi0`=Pd=(5^$JZAo?*Mtw zoxOGkJo|&>^~Oj2oIs6}z}P@P}f9at0?BoDeL9(gqaH73=LA(YH)0Wpk{nJ6H1C37M2zJO0$ zb@tgESR5E654tBFdClB`z6z6T#}G>9zXZfEN@ksa(3Q-E$SdRI_1hi&@@mmlp?A<3 z&r>1Z+aPn8Tyq8U{jWv%8c{Ca{|bBNHlbMJs0|#I*&6KN?)ODPw{&vda*%XOx(FxR z6Z}1S-krzn4lD=^a`9MvF8+dJTLs6RgY-_E`PmWy5z#$yAg&bO5_CVC7(tyrJwLfm*kJ z;*nP*AcoOF69j~=gDyl~H@VB4-`X8mKo}%%DEo(d)K}^DPdxIT77!6#6sPMxARu&o zbRqIe0lh+XVj;nSg@l#7+mqxBVFlg70U}nARDV6*;o6C@go1pP(D||5fprL78DJe^ z)yMHw(LcH0d==Iq97CwHKMIIp)R|vE=<4i3HC_s6)%l6tf%S;N1{q>Dca=ar%xumo zAcoOqpL1_`#G<+od9RVD-5Inyur4u3-Vn37O#<~Wv$>xMh+(wZO#(vKW)~vwB2L~H zb_doc2FV*@HrKU(*%UB%`QaVM{uvJ&Ts4vELRMYH^gl2f4DDx)iATUM+L+%+UyvN)EJ)No96t%zk6 zN7rq_d702H`m{}|e;GN>^)!=%`KN#iK7~)%3RyeHVtd|cu}z+9vAuee#dc)2#Wo4= zz7qJ}@m_@Y4GxR#V;8olE`aa7$YSd%w%D9_|8hS3?{idz7n#Z`{itXv0n;(r^|AHdn#LX zp`OGQBDWwTuA#45*1D^(6iXkw=Foqfd`LT?fQ*pm#vrHnMJSgShV$R2;HDpA1YV#V zNR6N*Vo)@8Q?`hM1eKOVr8%+5HfxkOv;Lsm-Q+gTT4=;Jqvix~rv9M!goYi*N{85> zhO)vLo!IC}OsP=w+-x&Yt8G=-;dc^y8wC2l{p0DZje&WInpN7_oWJL%oxj4~Xh)L~ zn+U&D_i!j|9i(#?RTD|xHh3s1Jci3~st48BLlt%hZb}5N7rL2u8T=R6WR!`0g}+eW z3M@1>867}%Cie|_lyBY0aJDz4?Z%N|x+c~8RltEO4MIw@8OOaAtpshMDr`%;PPr7j zv&=Y*BIK{@bptUQi?eia78kbAbP$J)Vc*-HMC)zXOug7$d)AYULiF<*^u1Q@08WJx zCour(GTLiJyR5?UEM;BJ^st;{mvg4ycO`aNsn);xampBNvs(98?6Vpt_F3KdR|}g@ z45A0H+MvBm+p6>v9rTS>`ORPpz8N;&ZzdXWILJb)y2x6%(Be%LmwJ{je04i*r%u%$ zfW%4%Zrot@-(_9A(7mLpx@sx9Y`C+v6+KREp@zcN!jo7{w4nDYD{!&8ggr5Q0P__Z zZE}-omdh&NR8%7u73IhUMMd&8MRVl5qATU;ML%3;F8am#oFWH)Z(E;Ll!xEK z_31^vRpz3z_gVWAm($)*Y!sIZ12-6*{$yW)!MknILhQ>cpo@l*n=IJpH>%j5Jgd}- zdkHQvw3V1mn$5Q!>`B41Q8VLzLJfAoEsgBZ!pbo2iom*}-+^6ty1GI&^eT{u;(`y{ zM`CfagR~V1JLrT?qsrzV@h>wMR$JuU@>9q6aQhsRW2gNAe(}n2$ z13jJ8bPG;qaUE?eJ=0iv+>a|q%oPFe8ERDf+Z$}_%=R;@Q~Ew?a~(I1dAsj}^74hX zDT^x0*vTC@PNMqoQeR7+8cN;MII`AI=VY5JWT*_(h4e-#M-NR|RDKJ4fS20EOFfKI zCGUwqX(;!=!b)%~M=z(XW?B9}m$D7fa@vhcdT5*vD1I{{JY^ey`J6#zW-f}A%dy5CLV7D^pm93<>n;8=62)Q-0`vE2v<2J!r) zF~+d@@PNew}QfXif}FD5115Eb@pHI2k5|DbYcF5Oi4P@HprY|KTBM zO>YnaJq+Wbal=()mmASEBc%h@mS*iI@k%Bi?U+s)akO^pt_PhZK4NvTBJzDZ4UxEy6DR7Q+e zC|BS2J%C!5>4ms_*Bj(wY}YT$r;_$kNqH5uR-p{%3!LK!D7nN}gbJR4_13}uLIw0x zsBf~1QNXeqwH5Y6WGv@gxf0xfc*&D#e4aq#a|Q%@oSUs#NL?4CF*K=`hRjO$H&P#GLfVDr!jfs^_C4jV=azk_dDuT;+{8_XzIoon&WwSwlH3U#hkT?5ew zud(6~+PN0CHU~VW~=D zv|tQ93`L}?BXJ8Dt^=l_3d+;J)ejh`8OKwpQYZVv?owdU`eX26Vu-$q7PW4Ge$ z6I{;#T9T(3u+*z1PU9-QSstynPBY*X!`bvM)nCrD$AP;j3O9=2jDVYM7)_6-5lDlR z=ZbNI-|cD|vAZRhkjfw44)(oG7r$LaCttC{D1iou9q!ufKelFArSTl0bP2C?Zu)U*=DV;i(x2IhlHu^n84MKhqQ03>!SKf4OYA$JI?qj zoXm%pQrrWu1BJfku6-cj+UsU%R9pu;f!^W{0DA-8d4U&UhEmlqn-4;BqM4=>rQ9>u z!M0NmbG;TQ1+hDD*`w!+;gCG7B6)N==WGG02A5odQEk8(IuB6`K?GYn1bY8dh*Li z#@tSu41AYH@j+U=<8_E9009$#Frp5~iaPLu)(MRK8cUq(!oPI^O>q#wa zAQv_)OKBrGnS@t8>-Y9n6neX52QNN|b3&@9t1!3c@qRe-N}p#Qfn_?!!g%R#;8~x5 zqO-^|gV#WYB17DiOG)AMLX#!?^Ppz5M70g20O|8?*2oJ`^VGFw-m^gdd5S@*Pe)gx zsqzPqh$!1h8h#8_m)8DV!452@EMeyv?I zv>@+qR-O)M(VI9lx)M)?v7)hINpYu=fGn2ir264$hM$yxuKdSE8LpQum^X*iUc7 z=u{eE>>IB1AKtY-9v{w7SoMz4IOfd=W)nQ@c$VIZ#kp!)PqRWX~=j z)NcMiV7o3#+m$pD$70L!bn9aM6qp10^3W7|rKh81P7=4!X0r`z(GDMhMQZ6GSQVv* zVd(_FHc_o~-kevFsNqndzQgZ#f&{4tHhxR>!SQ{9JziX%#1qLth$PB6LdEVF)M=07 z#xdxPCA4(o-J#a)($WPCMAIn722xS}y2CK7)Y1@`18a(#Hs>}VCsL|^7DB1_1RT9c zqbnU3Fnlg~K5&lF`{I>krg28%dR>wSIX6ml)|WJJUl~+|BsS`Zg0Lhjs zc*z$8h4PkjhXXB)V#Pq>9jtneUiA|iuliO}vFBD@=X$c>dgg_>J`1c$gQ0pbr@5$D zdVG&IMtujjg@I8UKc~Lg_rb)2PRt@kNBN%zB7$2Yd>K*-T5<^Sz zpazOagM7{4AnzS4=T^O(TSPfy&MOBdIeDcoj?%SUho3CqkK-I)y%8~?$n&o?>kA5l zO{sJlTlF_wz#Q|2dzE9}q;uXzpYw*XBnn9uZ}g>wp@&A__-sU!HI2xonVWF870!`U z;cz2=mw%4tp?N)ggG&qRtdM$_HMd=!&*#OJbTs~?S}VJJ5_EjCoCddw+ELDaOCrm? zaoQx@*^{b&ZHi3&;T20z+xe`HyzwUCji*D`;2O~@KPrY&J}ML4!ji1xO8tA==zqRo-O5q194-8xnkHZj z8=TRsEuj-@)x&h=CY@tUCMjE*qnDlAio3=_#`WnUt5P^Z9>F2LL6LYMUraf$@X~Rm zp^ZCU`JzUGaJ5lg>Stjtu8pWQqRe&3$h{r9SBpa_-8N~rMF}pE>i-Jj=VOsj?Cv6p z7!GI+<8I9=xXx;$)s$<%6!}ln47E|qNV$qYUS6r$346F>&H8h0Iqz+>g;1b%oe z;cjE)G~&PoY=N@^SDEi2cf|scmk)v=tS;by+3Vtw zz#H}4>2=J57qh$qfkse=Y;qQcf*uOayx**Tjg{F^aAek2gEE-FJ;6chQn`8}mUnM$HEeJ8FQn4Ug0ME?*;hAUT>rbm$?~d5shFOH)B~Wb)6HI^{$ufD z>@7BHrInPCEZ$C5E6R9^zVj;JU`-siS__M}m)(0_$=v2g%VzR)OaySydpFj0gaCHA z*#}d=9q@1Q37YeDZG3~O&)cF#7+E-<5-#E8AgW6zAc(^kQOSv%fUZa-Pk4&RUxRu+ zC&~hIb;_^=-OIj+P=*t0K?LW?0BZpf(4xUa>Evy4818G#cx#ukUy5RisF)6R0Lqiw zu`fX8Kya15?#%nO4Qs`Iv=dp>A@(w5Oe1GDt+C5xa1c8D{9R#ra^5^rSQ!d4@zZR{ zE3b>QHlKI6w#$WS9%9E)rZ%378sU8dlxQhf{loKQ)W&l+SL`A77tRS7aS&q6>R`#~ zT~1J;bZ0dg%PVj{Mg3+Nc=-nrGwf(w99G^83$px+d*K*Y&X%nylj?s0Lnu)4cO{e} zJ#;yqrJcU%tFZc<(~yoIkKrp4%U*UV&T|cxGboVCyRdGQ_kKZ z)sG+~4}J(SSI(A855C18(EnfM4>eLlD;}E0J8+u1&ZSV9^w1wjwbeh3|4L}?n!A)x z$?6*P0GATV!Ns7>uR&Ky4;{s4&owBDD0%`tF}N4FFaY2@ST}=DE$sF@jL$Uxc%IP# zo$0|pgPi%IAmqZynvIn2VdV1^5z#x8&^+AZ!wa5&U#1ee={~CxDqXYMb1Qv*!gDkI zJmR^Lejf5nryrjZLPdQ%&m#F=B~&i|NC_>L%au^2e52C571XYo0ix!+MaisqBpO+@ zK@}16OGCI@w7~)zAX!SbfoySNo9A(04^Dsr&l0c2;iq9#s11FTz0px7;6qLUhp&hn{cfB@U z0d=$TAjFxjhJb8!^PU;}8F7m=VDKcl=sr}An>08u2CMf&tmmIwJ?|C4Y@)Q0%WNlAr=d#ZZ-+GpQ9@u<0>0$>4pB{%7Ckwi@}8x z+ymFm9_-?fy8uavL}LY=X-qumrA`(KE&;c3T7SXmRwIt^eO|AL4b?i`nt+sTdP+L# zrj4ewG|%&TVY6kSnqkN3ib(E(Mee+uy2Zg7avOgUp) z^8g=0$wYXY)xvta4NHLV2HdKAd{#MQS#t?4A_^L?{Q3s?{swsdhPM#6(O-f)#4lc? zO|CU+6KfN(P!qI9zmKm?(voW7JjdDjcYzB+JAQdg=VMe^X%~^y$LPT{46Nvw&wV5y z#iE$feKW5CB37CVZ8$HQ^x4m8dhgA|+TwKFDGk4_i{u&J(C^?M$IO;wnY%K`b1vq% ze@7OMD1Tp*p~xZaJ}f=ek{_P$uj^Jm&V>}VjKxJLx$o!in^MYVH2X_WG`h|rHAM60D--d4A=K9VU{HLDqTb^*%7<>&0=afJP%b|8NNs3F4!f{Lv z;x6_jM6foMoq_OBA#g0irF<)mNy48=`aoL+i1!3U=?QilI)+vwy`1oB~3~s)gQ>nrB^9GX|nlMi3jRe&**iQ4&L};Mg_tnx9!CLe{4n%9lNnySs z%}=-Vfc1QpwU_1o8(rwmqcC`Tl{>o(V1=7KOw{78pT+PyQ=L%7Yq;YbktY7dUF=Wd zJ2e|EO#tdJ*N?aI^h4_6!y+GO0Q;}w>^}r(V*g?Ga{+~tfR5Z}t}g1~Z0vcZ;znbs z{zK8o4Lk9Rs12&fTA{WM!Li8~(|53+90k1{ESGm2&;+#wtf5HN30|Je9hGQo_Ahdu z0DORyoduUB_)B}WNz^IGa@fIc7TEqxpHaO?Wwh)FKKXj?r40}suK8w@>?{`L@t~$j zdMm;#&px;725TU#R8B9eqxvEjdFq8QVS;-0V>T;w1e+ASbPgc`=P&;FlTpAJy=>BPh9p^^@4e)Q}YQAh1mbP7%Ow zod?|HIt$b7V%UjjSWhOmEO{4piB^d6t;zLW3}DtEVAgqnuVZ#gJ-p#jYHQ3f49dXn<%}_wC^m z2SjQ1V$m3D46bxCoTq^|`*oDt-{&ZgL9cS}Iar7qLpy@yV|$IWa@`%27IFRxQCZk8yHOWH9}+-k1I_eW~bDQYke z1=D3@RDp$n(56+0K`$FG81yt;&dMuba%-Q8@!&rQpUa|qD}>>V#d~xGOemmsP;;7A zaI1zaX&O}N#t9P9z3IA1j7d1`X9~S&KYY$yngSzyXRep$`_3$pu@V{L`RxeXs;Uao zmXKm{;P4r?R{}xY{$XzdiS~0H8Z!>hQyAjeOO(1u^b$^?pbY^sWN{HRO{dr;M4Udw z(&t1(b32v{mAzS7W)v;MX!tmALaL{I$SV|?Q}cB&T!4m19W-1euAa%876u1-gcq%; z;S!XjFs?=CF*e*Mj<7cx47- zsR&>lZ#IujlUL!Z9;b#5(2a$4 ze{~Og396oBQ@!1|{R~T9zJg-Rs^vP4?C zD3>Fagdn$0p4iXXJ^At0I%e zOawOg3Kx2% z1pWe=mk5N_6JkF>x;7S2DFpQyy}?BgV*e&Y=MrACl;3j$#S}C9pH)=jy%s@psK^iS z2 zOKJ@@Q{R=7|C^S!_P9LN>B2q0R>QB&Un*eFs!^utu(-(SgXpLVbUt=P>28dOGPR z(bK`LO3zJB&7pQT;tH90!eIhrxHq*9wK)l{2Y^f z@N=xBDdZT>TKchieDss3PhLap3XspyNxKcY-N~+&M|01PmH$to|Kzh5epWssB?0>F zLC&ZeQs$&-bVh;B81D@a*F-&efRIJgr$fJ@tboIG2wQ^cHdt)*SFis)gI^VY|Dpep z6lRbQ3f>w-`bOT!-$kwUKJFTsl@C&X5&KaR)3 z>U3E`>3Y~wupD54TRL$QOv}e+rKMBa9WtE}Mc~@e`>vrF^?^3mz;rU#pauQ7pJoc? zfEATcnCw|pg{vqs6wBX3y>O3S2g1U*M>qpgVRG&2)RvTSn+>2Z%{K&2MwPlm{8Wm;d=` zA{|@_L3>3-t2Ub*g}8F3nDG4`Bh_W`k0d`hN-Z--dQC+07jZ408TCU1C<7T$*5DVI zm{k;A%lATz!@ddf$RqwO8qBsI-^($lRZfEwaL+P zrVW;(08hh_wTViwk5U_ zFwBM3fLWrj8m{7%(6MP)g`+}|7bfvuc0lA^F7gt=h|%M&VUVpQ>#QMeN%h-7GR&cd z-{6<)c?SZX^zm&u1&zq}vInrL6$yJHTjq2tTok{HWDwIX0u|?9vRmNF8?4HH_RK$d zRo>>>^ZQl#@p+8VZeb}@Ao_GSyA(pDZ6W~@jUW6csRUtWpsKJ~j|uFng>DYMi0|y5 zx*rG*K=3JMawsDXi#UZ?7>fE?K;Cq;&9#(S_$@G?geXK1fgsa$Uwbdx3@nA$$@VCl zu|%<#weRQkI>R;QV7+LGg0Z(aJ%i0%5eb}PAW$W5K(hZjTnmil!LyiGV&hsloVC2% zYvI2^FF@>_Xw%DBwJ2#*+>-7G3}hic##hSa1?Ko)bBmq6w>z0~N$} zfL=c?7Y_O7k_w0k0m1Tiq(x0oMp27KxD-G921E+uqf#xTeGW64Yg*Oh3UwvLmcNB* zf_ea#IoGr*_nVDkmr-_Wlf&GK_;b3Es11q;S1}^+84Z@d-U6wh@j|A23If z*Xzm9iLL5F3xyUV0=(%)TeuZS_yiDhq#l~%+z86}N?6EUyPO8vy>Eb)4tBZ|?y5^+ z4v@{3Ds;PUBhXr`(w3}z8p2(UP$Xw$sY1OD)ksFM;diUFAHz#wsMd57{ARyVGa*1Z_d|p(`)h342<%cF zncL={YXe4X>oLu>>dVc8_M#WjC#^81N5hy#3_LfcMW08+gq95}@*|kT(_s!@)^f~D z0DE3Hbw>3Dtl*CzZe?6lR#8e^5dWX%j7l zAb89NR=-qf#*IX0OmQeph@K4j0YA-I%c5d)Nu2l2OsaKHw$OekBtIZNY_tNj#)F zVpj(5M?+%XSRz<~1<%9i`kCA*k2p{6NTY2r;xpPe*S9`=wRf7REY>F12TBjKQbF4W z((|QVSk)wRbMXKo7tqrYV+uZ{5iN@c$PPhQqg7|VhEpaG3oGRJga+YjG%Zv@PO1Jf z;`bx(VEU+pZj&C#;*Ei|vlgWAhSb~d7HQMJp#GK6jZ)wc#z!>Ph81!#D*g;_#m6{? zYu8UwLIu($h3Dq2Nb&I~n|<33B~!0AEhPrCK?A*GVHB-RN$g($Lfzmk@wpDV~Ag+XB+09TALEORoe6om&bA`aGDBX7}*}86tZFI@(6lp*oG8AaR?L-Kt9=8 zr~^K(li}|j&F50o7|S5E!T;bjL|@C38dq}siIVaYJRtXzpOSR+2ozg8ol7sV<3&>G&{nk= zO&}u>aXiF)-=u$E5c$6E-0wfvzh4pg{@?WdaveX!cp74a;QZ-emI%Z{1R)e7W2fGv zB~Y+W2t5S~pr2A)CIdC-tmL!nW{)EeJRJ}O+FC&C__%lzi~Dw@BT>8QJf@q_?e%^{ z`%2K-`cRIE4~3X!{(1pWS za6R$NJB2+97SI^V*fJ2HTZF~lar*2-V!xmjP7W{|0G_>&P=daMvj}R9(PXtdn1kAg z(x~(B(w^Ll9+nOlMYgWC!8$i90G60xpbMHjVh(aO*+uwH1P{RjtJj9)IyfJkiG5#< z?}#rFMUwR2P164h^jF;aS6_{$D6G}+xixoc4t||}?pH+ohvHa@2*{)pr?_yQpGMbi*_3C070!nke^F-x>Rde+fgD#<}Egc5TaxueC1 z$-N2Cxe!sJ`f*Yidu>5C0B9Fujy#^s?5pugia08O`IG>PVjVT1g&XRm`T_6*ac4h+ zs9|Xz#9oJg-aQa;crpf^yBNP56_JI0CsrzW@jv^JdO%k2Z6K*NQZ4o7XB|ihzKnmd zi9b69xjzH-Q4#zPd{WpVvD#Qhw`DcdR_rG6db zd*Pi0lUEU# z`OegM$B-*}q;GA)ZLryzP23AlF6$ic74&5qzTE1a9QmT7Pv#ZXo)Ik2{@^=P<;?)) z#X!$7umvBGm}&RH6hz2K2+qlNtd7x|MlpJK6$LKq{+n#RT*TOsW-z0JJpEf!izYK$V3VqA5&GaUlTHA@eP@1SPU`9e$nJl^pY5D#&X8n)x1 zIR7+nMQL}YqD2B3`b}$A^C^+~7R`R)nt`)#t5N=izMUq->Ol*lML$3tNPmaeY9zou zo2T~oy*GDiKY7M<_vhuF0pa%x;fFxy0krSEsUOJ`Jp;Fhq?t(4_L2e-(_k$d<1Row z=tH!_#>=fd_$+bWjPR7y`17K>fq7p+-LX;uW3*IvSF!24fi#7B!2--U`Kk@qv>Us7 zP;r>?UdxOlmAWISV3}EJAf+3%Z>0K*@JdT58TgH?nxy$=-wER%%6}F_my|CVX{SgZunAIq2_DEvD%F3)lW46A~y!Gf*Z2D4OsJ|;T&F3ySN z#EF{MIL97?D#iZ1h+Xs=g#3;h&w019YJ*PeyZ#W#QcfS+2Bv{EVU4#Gn(%t>TrjX0 zImI~05fu<3gPWZ?DRfTM1qQ3?g_lG6Wj(@ZZh;<2dguuI)6r z4qS#bcE_unjQ=DguI-2m#U4KF*{Qu0F%#@A5C;;nDKkE4_th4AXyO?teU|N_)eCI%IJT|CvTb0QnnuS{P$)8%9-eixT5wdehxu3(Xs{t;1+>+ZSV?j{ zN>7dOl!8}xU`LAJRR}sOwu*H2id26HHWRNbX2V;qFk@E!~ErxN7xVStmfl`CN3UN1Jz1m3DJJj>O@9Si2>7Q6{5xLP>xNLpvUBPd6Ht?Ad`)T_2`Mcfphd7MCS* zl7h=(cUe~_HO)6ST8blynQ5EkO_ekE1q0W&H>-Y!&$J-S}hhtQ0Ja|{4( zb)342zRCJG_(*ir;d?FNdy$ zIiMJXs^C#WNFhye@?*W5pr%|Jr;{{VMXOSR_bYOekA)*6V%7055gOgKsgQ?xwMJoP zz5g=EKnsqH|=6*0+=_tnRgbGIn7GSf#k-8nH#AGG@bB^ zts6XYs2rtQUN+)*GUX>`Ln9wBeK>(YYFLQDN1w+u85`@4lbu$CG#X{Ep~3CW6NVWG zHDiVuN2J}I%IA6fOcq4NKEFutR!zGZ+6=C3-o2oA5o`d(>tew_L!A7j`w_)>ae>3= zy$EMtB+$gjrC?PtkIWH1HOfKExI7(8-AlaJ>vlUgps@tOoJ0SpkKX<@C`Z19jw4JVdQ&ud-!zu zarW>_kcW!c zQD~Q*{}B5%&yTSQ`44GRlsmVfR@;<2w;Mo5y_?;R(UANiF|8pQS#8O6?Wg@P6E{<< zDFq|sQQ-4J5PO1f@=m4HoiNCGzPjVEzp*{%09y?@;PA&53U(~aexqO%O2rbwv{T0$C@=iqBjjoBT(mSZ&%2A~7KDuo4cQGAW?Ww{R;WX;9 z{?dAA-l_b+PB%+f3$84#r_O702REL@1o1Q$#e%dWW8~=D0ttk)Z6lDBxpZ~ z%`_dEw0*HDHcEM!Q`a^ZC#qa0dKEurEwd)tpLqY-*u9OUxBwdND)7y>)|ewTS^Sw7>r;%k9g5py08R! zh6@&L!onKJVfM+3oMGd3QmZmZTrYcxp7Hym6N76Yy{rqVvexiovLJ^MvGov;k|H$ixVjP_0n^mK}=^f!z4~RgPrUWdtS&FdS z@*sq!2$E6^&ErJFitp0y1X`QfbQk1Ds=p2YNe9lwFE%Mj4Rq1G?-xe5*XYz^Ja~o$ z8^(!6gWOiQK!I3cC3047n>JPn-MsF0Y&BXxlC~2)@&bJeE%eUUa|dsSJOTycR(zDp zp{K*Uk%Y8tg3gozblZ>Gi3Du)QI2KGS<1H-=&NsSat8DWhIqJi4IB3Xg+VhZ`-+vW zB%*{CzjNE0KWO)+epSE{s-H{BXS36>((whu_*XgJn3|RU3u%Wv2K~g zmnGje?Ge`BBhVet4n{-pK>$P9A)AKM`Fhk(Q70udbN!vP^w_WzZz%0iKig=OG5qXGQkX%`08d8XuQ2#3s-m-QI#{P&n%`W1 z1U|Dw&WqoJ0w9OGRvU@m$M8!Hvo6Y^paKZare#G18*T%eoCrPBqozU@=^+a4Ljc-} z-&t(0Q2S|%U*W4`W$K&Sg46?A3D7M^@|;%;+4#8*uO9sV0KY5odnta`;&*aUp?9S7 z6*@IaAlK6J_rYL&qGe+XQL47+YpsF#hO;kNY>6n(ia#6vvhbIVzp41k#a}-DumZq) zET08j;XC6vKOPmaitt@|iZMeHZNB4=(Az0uPIv^*5o24QuT+B%NYaBC7t-C2G;{OJ z0|MP4p}vK=FnbRJG@n3*VZw8p@&HDP+B#aL$0uQiA;4#Ft)wj)%v5T{@zg3dJ_2+8 zksG+1qp1T}XT2$HDnOG*)Sy(Kgg35ke*ZSn+Jl8Jtl3d)9xZ$gu-~FkK1)U-+p--n zF@BR-t3U5 z@UtQ+#?^xoK@3p>&&mKB1xmmW+Kv4W07T04>Y5ydZ1@4}CiyXs8@voY0C}RciI}P3 zI6ScJ(+L0CW3x{e>Q~E|_2vfJn9~D)07%Ier2K^xDT44uQurlK5ya#;>fR_Cv{1om z5ncd$v}uyG8ylwbl+cJZx*FoufA&dASi@0Ppk(gqjq)+3sz?y8<6~`7nQ|9pkQ`{ZPLmZ|7bd z9_LL|+Qw*;cRfxY)5OR7A|IuOKD3R}hFyb)1esX;|LUB%k5o_NKxFK-u>ajE&<86j)y=*}PYAY=a6AtZ*a^JS#uch}*xN;cOY64swlDrOwf+9c z9->ZtKGVh8(GrLz({A7xXyW(G_mNyDko1Gg9LXWRjVXfUF#9D(f^w1Fhmy2weY8L` z*4JO`9Yyn4n#Jm25ZZ*O>uxXG`a578+(gEW37i)|c94Ev0D{i{0qo@QM0gRS@FG6N z;l`M{7+)~C;r{t)hGHC$fC+F5OXa63(9=kI%5N?-LZ{*vNa=wCS))K{(I-m;Tu$k8 z@PqbbV=>P!5-@;K0?#iASe!#>l>V!^RS#dn&1XD(DGxov_A`(tqL);M1!#~{L@gaa zGa@VpYH%Tr$#o4VYpsU5YswL_3NOW4a^O(@PD}wPzdA+@sWXu9Iwiare%FNVJK$ey zC8b+zB@PgNQmWg*xvfU;5A*l6Cq9m65NvR?Cq9Ko46}yR7Ju5Kc+Nk#g&=p)nZW*x zdOU9N;h#UFkscqWe^2uFXX){I{A*9#ivN&p3;^5kMAlcxv?k@QW@{p4t!~{#VAZV~ z=kxOh_%AgGz1#HPZ2Z!$q-072J^Z6j|3xpuQN(mgC)Gq-nw<^}_o3m& z-VwPixTd)F4i8I6v9afW2)5RxQ}h`Es_vrG7f)2M04iIBt0Mff@8zX zi}2l;g|!z?L9ebfhx6EP>b`^jHLIcdeiI_Ycsm4K=~yF(7SG_SAQvtFMjo@9|M=bD z-3gc=#N3aN@!H208-~`lWvw{21=l5H0~Tu=xGo`lbvVO}bNeHAAH=^4q2~_~cuut? zJhK@Gy|W+l@H4m_o@mxZ#R45Va`p~1p`7eyuOM6GI)}}aLkWfDOKGTw<9DQ+1<{q% z9{#0@oS9>Qud1qoVe|__A{kC`qf4sWhj`~MaQ?c?%y9vQ^mP7^{`aRUV%HLc#gnaBOOLGwY_Fpt0(0}i;b;; zY;K`C;Yb%$3&D~eVw{^;v1@BBPSVxk0xgR8+ox6#4Q`*BU&} zV#;61EI_~qQ#m7?*o$vUTc*;UshrJRb!59yOJ);*7D1uQNC@w8Suzs|fjgXGLDi}u zBQq%z*pq!%TV`co*IvA#cIo&UPUHB#%2d8IdbOJE#_!>%FZ}a<`jWuTf>!>8(HH)?i@uoHiO828`ocdK z|0lkf8EsCZJgDA6?xeN^HzP@%956o}LS@uE3=pVaDy~U@rGigdotpLZYlMeP`dUMI zIOB128d`|J(moe9920>nP?9|bD7~C*_27CCGFap(NSnvg9*?G_Ra8VV&>jF_fuTJB zt~_Ma;EW$o+a59^FBVHOZU@8gJws_X+v}`SLj@nmbmL!b)4oA1Ff^1`2C^E=H-mVS znz5ET(}A%1Mt-OA@#J^ju)oLk>_X^w9Gj!fhwdc3!cW&A@s}@xCPh7pP!?ZYNvmM~ ztq|ykaKgVfo|}iY*-F>ss@#ru4&=`!{14f2^L!0-x+uRgP}IPA2alwjiYr67IJan5 zRv>_hILBPX;vTxzWCT?-8H!(eC^@Egk6-Vl^JBAP1cs|*59HB1IxK*jf^6PKGnFF;6=svrS~@EL_W0#xk#*#^Cvu~mK4r-3faW?3QrtKSgdqY+~#>X zuZ-q=J|^e)r2kX+ruCe(yrdV~^J5~IihVXF^Y=OkbXl~jBq+34#}}!#i~M+|*Ko!* zfrSgm-!dV66%Z1rnrsNlE|SJ~-pb#XKa=Fe-Z}B0a;#t3lj!j01&Yn~H@v60cHnom zTw1Z4q=zCJ@Gp$>r>_;FPXQ8b=8b0wnYRm!;$@)}UPgZNJ01CngnkQ^E@Y9`F&`3_ z>!4%Moj_^^edRf^VEggp{5|h;5rkhn(<@oCqPYAC^!#)qS9}a$Feb#`@^+km-+M9$26;G3x?1K zDp^_0*|5h9*xlJcosSJw;f($0dYg-HA#-OQ{de`CXC%^;k01StIV4VR7{D?32x;hD zSc!Phaj+9;HLN%69bg?83P?D!(Y>tfx06t=wZ>nd;lLW&kul(g`5G`kNLCYe<8f^Y z=d;l}7U}c0T!RwTHnnd{0X=-A;bnuE7FsNV^0Z&D8_yp2AtO z1&!z^EI@EfyFZOE&>Z(8e+J=jv!l;JeE>%VJ4jDzYeZvxpKBTCaqZt1MY#6IUvsWe zjA*4`*kz>=hGjwYHs46a&b*ly&Kb4>1P#TorNpoVongPmAUMddS}JmAhD||E7*lZ= zR)nI@VOTmge*YgCMmXH;kMQXWhHa*&a~TFJJDdk$rhbPamXN%;q{_-&@8&O_Pew&dIAg34y^$)+U4h}h|L1g`~U zUtKgpz7j*>R6v3e~v6pMX7@xI7KXbamQftSEG@u)9L|YKK$l;w9d_08PbRYkuch zID~@fqP96L zC-{@Xrda*L)&3UJqtRZ1abOGSiNS=(6o~6_wrH(_8^6!z-22|lgrL;^zJL7&PTqU>-Syma&pr2?bMMRF{8sk( zFUt3IG0L%Pb0*L{<-PH9c!~Ay>05LYSBb-W@wp=1>Lu^YfelL6F$ROL)%Je4(wOS# zn2?u$->x&UmMaA1%1b1;kKZ!^aK9AyAbNxzJKB~=3um3H()(5{`(LB6*}fG=!l}Y zwYB^ExafYW~x-sd@QywZ_W% ztsBV1&rFNG7N0=bKK_|i4-JCZfAin7%QvH+x1aJ5&d+VioxSD=&{+8%NJ9J^MMuZ` zkpC!+^?euqZ;KXf>AUJjpVKOj14{eyAVQ#?X_0oTNKz}xE6yLI^t&PXNXRODXiR;O z5RFOy#2=Oli?Td@Z=Uv<`jlTXhhjW3@HF>%PSxTv`08WtzKw%V`0J~``t$wUBv(ux z<*wZ2gCW8%*`i4HtHM{kSFixXepFx1(bmNN>{Xxdf9H146sR0uWoceBy7$xGKl7+) z9Bi^=*Ypz;^$=Rxpd}f1mV5uy)l0tUd;c;tj!SiH!rI~Xc!2HexzdFT*9cfs=ObF* z2Wn*tK?L!>gRaBpUhd_Y=e0Yb^jorb{9}-zdbh*JeDf#Svo`l-mp_et=Er~Z@e8Ny zfeHPw-sgIAjHKx1q20GmImM zUc(`J9lh$Q{qR?Q2gWIN*7{!Mtc|Uj7g7Gghp@1R=rI_G%P-oQSls)<_!rkS?e2xK zkDjcv;7_#YitJhPCB~*bcy{l{zGxn+&^LbbAQ({R_f4J04x-L2i3(x=74`YUv$++q zb`SDp^;|n~FbGZ%#MvdKz5n*~xj{tyPy?Ia$Hw<%PrqpA@sEG}%qd%OHX62)Ci{B# z0e`0>V&&T9Ig83)!)9!r6~DK+??|R@;dga7Qat?iopq%}53AmrEW>=#BPf}Lx^{^M zhy6Wjl-1vFtVMrwb1}~ZSu?HoHP~mDJii9MLKp4C&^d4ExP@(NFqNIf%SYt#Fy3$< z^3*=hFfbV1@6WrNn-SC~;+XXN^V08d2?ZgbY{-BkF1rlKXWyTh+|auOCy(zy-(R$6 z{FXIK-plCwKd))((|tb`r?J1tzQ>mH-I#JY)0RJ${Lgrv7qh40nSG=Hbi;d!0^S1! zU~d4<*n>FT&^M2qG=l>6yu%&eEIqmBogeZRiu5J#kpj@u+wfJ7roQqeI})MZr^f#o zy#@*ZWo#d){Ac!oB72`0kNwK~@%ayWLG5{F-}ue$hQ9Z|t7&1xWtT`9?|~Rltu>>v zP)}?%B2kSxn`OCnByYezb#4?b?ftm9Zzd#bki-sRDzy;A_*!gCOvsxUvef80ODxoukU2+LQ~8FM!^iu1Ev9KDBlS}to^Kf zE55KfeBrxYo&{@LvIf1h6g=r?Kh(On{fQ&#UFliS=bCE~yax-N@vp7TIg_jk8_4Y! zWsnW<<)rD@JOk>I?=uWv(02|h*_-@q5x$j%PfViKt15GHn)@nQcbdOiSY!C}N}a>K z>2(H`zOr_HwnYeAlK(-i$3OARJ~SY+@=;y)Y){`i>kg>9`!cKUb-M1~R&_taelZ1V za5y#Ppzi#tV`A8XzFU9<)*9y^l&+eS1Jxwv!tXJ#cMCKwQfsgX znB`lsgNumq^i5Uzhj&*_+TZg@N#YwlpPZW*hImjTJtl|jkNEwj@qc!HyrZK6r9*$Y zdCg__AkEs#?#Ev&Qt$Zu6Urd^8OzpYD83#RHB;|ptQAyj$s!DEPu~-m%c-%zA+}gK zK=ZYg(H?^~Onq)Kzg!U+j=UJ3yLn&snzeT$ea{1Z_*ne`St)NFfjX}s~{IVmwc;NVvV?W;;JvCC$h`8C-Ud3o;Y7s``y?AmALO> zq#gep@c+ywvw(j$N1%i3nmoR3`U5ZHCQ*bC-Xw=1WG6$|52{{_iGH|B6^4Ge zO4XJ9uo3lITFjnc%@!qpuDgPz*j;fRyW+`=u6THl>WWId(&ESoTriL3pHciH>t`&U zxroLJnj~m11-?8gab-tM1I-4Bb?D(L$T zqrQ&=9v?zI581*fyRY|*cM;t8eaN1RD28|CB=_t;qwf+v!#I%^|B5$lkhDt@NAhxR;xJwY$QTWJ zzwbKE(mb66A2`VEyAML}BJj~~^uiy5>(5oQ!R%pov1=oV=$Dd8bm^BS!ZL;{nS&rz zsWlazsh;P06NYsKOw`=_?cC|#&Jnc4xP@l?(j3@JMnKwIiqHP`4MpL-Ln!LP5rcDg zEnIO{ZOUIWJNMmf-_Fhpt>e8ChW0S{EdUkqKK0XwK(}j!?_vS=TapmJI8-CPi5VT@A_1`!z z0h7_5Rkye?4}9MH5Tybs4o5U_zb^6yX0JhSq*zJn6-2APWdC=A>}2O0hneh(9 zJ`AK#u@JWX?4=c|)Z@P*3bWxs=V>(?)Nzbm`p$#AVzNz{@3Lfv2pYO!pl~L*D)R;L z(ueMZ*rV}2dY|I>5DO z)q2$dn^PU2lAux}Gs{k8^$Di4w8m#!t$1UgaF+de=8GIF!LJ7jX9DO7(n}cB(QKpl zqJz9*GH>R)?4`gB>8N_3a3(0te1W(s!RUd)nP9(~_MvY$>K?HBpVH*9|0sjEROTz) z(MFmRGE`?98E?x*s`R#OWW+5Ssm)U)59Ub)!^pm$4z?DY7vLZfm@dBo&n85Jsuo`! zhrLqwxt$^A2S@t-&q3FW zGl_D`lf#p{`G*k;%Rf$>w(8N(R(%^}Gg49<4jrAHX3?sD=B}NcgC*x*CvL)lO|_p* zda|YO#8NG9k)xzlfqLcXNqoc_IX3s=Th$3>_O!0Ri&kc?+~gZA$m;GauF;+;Nz07g zL<^pH5P&LNvik0}%{RwO9_E%4@&F#t?@%yZgs`8J;B;Nbz_|0(T8o#Gb52F+x zQ%Z(y`yIPL5&IoG2$C-KY61a7w{gB_%FFFd~J=C#lbZ)-?79h-UuX-;R1qjJZaP6J+2n=w0 z{6FQZHGw|pw0H-fUn9Q{e#KB+J9#nWI1+yomAG|#U^!`j zdYA+TE^2_)zH`ozpTTSS|8Ku@PR=v-9E*=Q9G7Q|29yHo0BwLM;M;&}0lxwK0k945 z24F8>`0;thiGX526`&E&3J3$f4Y(fgbHGNxR=^8@w*c8Epe#TkpbT&}paXCP;8ws! zz&1c1V8}P~jN<^sfU^PT0p_C4(*Om4Q2+z*;g~$*RluWw+W|KNRs+I-I>4ELV!+9O z;ed}!)CKSq;6cD`fGYq|zyiPwz-fR{fLy?5C*>J`2fPe;3h)QO?SSh6mja@Ig@6h` zDd1$lC_oik8y&#XJfNsF0fbRot2HXzV2zVIq6yRmR-vN68 z+4*_KHvq>0P6JE?Q~>G#=K!LBO99sdZU@{C*baCLuop1=2=ou&Oh6rADWDs$8gM<} zZopQ+PQV9%Bah58P6hn)s61l_U=!drz}0}206(AxFcokDAP=w?ZQBWW7;rn_T0jpV z1ULsU7cdQQDqt4c^vOuH5%4JBPQcB8?*Uc0B*oiz@>nz0k;D-0=5F)0DJ~8kHHuL%mADNSP57U_ygc6z%IaN zfTKqPub{mRfYpGN06(A(PzE>|a3tUp#QQtoWx!K_hXB6^YyjK{_cpaxI~I1+jD zcgfvDKuW3KbuSFcZ~5)e{QoQ+n*Zw^L+y8ezIjM~%@afOBQFlJ!&0f#ox^V!(O9H= z1s*#hagefMR7R2^zZs4s%vc~E2`vwpj(8b>?}FiAqD2R{BsyXNufJfd+2##~0)DeC z5<|3dfK;?SknsBbv0%6@(mzg_!>^(_XH{0YX3v>hefGSX+PZr8{02{B(}L!Oi_Y=3 z`uu^m_Kx7vWueY+Bzi$Co=7h5>Rz$3bi%|*lc!8QW7_obC9D&F|64vqEzHB=bNFV? zR9D=|GsEOvyvz{-u4b#2CL(4$kT5;*s{P` zAlByf1 z6nHn2@nE>!B-#VNhCZ>P#36>jyg6vNC@uksG8hm>v@=+}6}w=9h8 zQvKQ$OmvumSS%btgA}!>dPXC$1fDyRQioZ(Ng-(i-|>|uph7bdTfzE=1KkPCm5i%N zYk=%ok7yte`^tL6v_uwa{ecFDGak(j(Afj2uF>Z(l=siqVbl!wtq2a-Pwn?;)odt8t%;YYt!??%4=F zug5*)I&R-FHt0Ae?(e}p<5mFf$35gfqX+OX?qS1I1@NkWHT83<>u~R`amux_!C6~W zTQ!BRtE%U?JdNsUj>qG4R~v?FVWX>|&RN6vb&WN(ye_PFHZ{(jXvk%j%h}*+FvcO= zIiItfVKjx~Km}MZ`q1O_)R^96q9YJa1btp%YMlXJhc_II6UR0GQ0GyeAC;yt`62zP zh!`NO0+*`l%0?zCsdYA1&Mm_gFuS_03WGER+D=Bzu1L(!$*eON=R^j%DbVIkh7yL% zi#64*x<;FL&M2NTsd&QSd6F9_L;XKIZ+=sC?g-z@tE%}NCqJ0ltAjJ zu5*z+;2!m;sjr{c--OfZ#jP_@I8tG?n#rb*{?BmioGyMMMep2%TW=6d6p)XC& z)PaQIa5zdQE<~K_8nUX?+#ZPrAh&Q(i-1?@rQjifz$gW}u2?Vu^f8URW8NSWGag)t z`K(PPw;!9xWh$lc*9L7euAci87%tm& zP(}M*wXtZxpQChIH-YhGy~I2*Xw3$&W`yanI2%)LG8&3_N#mt{&<;?F2`wC!Ih1QG z?{bi?w-p00Xvt8a6-2S2MvGz8db|CYN|}o}(-IKyeoi34k*TL-%HJH5dh8*G23KPP zhXVwqID<8%^W$UClgozhQW`l+Mzs-Wh^TEfv_60 z%umwC0!twWGua9VlrhLpx-`fwo*JXE#$zNt#8{b{m2aGwmA_{)u7~)8-bChJMt8Xz z8Vz?n{$O7In)$s7MGNP0{#(7yfMW(D|1}GglubLM*sz(3gJLIq#{V8)_~&d>;wBjYRQ9z z%E$(m@{D><$>h>fw5Ph!W!5=sU9)Q&%?Y46!Ea`%oMkhs%(Voi0H91^*d!~qa_54x zKfdQT0pAu<^<*du9U1k&Pa+nQ^pGVmgqhocm9PuRGiv8mksPq@;BeMso>D#Q#7=7u z@Qz*C4y=StKco;}A`-)jtSZ8e;44sA2}ZxjFYylVGA@ASg_NXbrSyJfsmRFURbXIt zn}k&gS&Fs+kB#=@E@4kE?;rtBYs?0i{riWLnCX?&d0ktruED=dlg_ zx9t_BMrp!?93NM!caIBl zaFw%x8V%+E{+llUiO!PrXX(M9;ancXf}G`Z0#Ugu(O6cS=x!B8ol^mEKND)Hu_RYa zgGEYPW#y*IVtl2eN{gR*g*r)ImU6Vv1j#`bwR(tU;9KvIcQ17KFLcB&M0qeK_NP70 zdHrdx(Ba2_%4Mhm%ITkmE$p90_krqIHSj<&zo zFIo~yX9I}>QkBvXc&g6omx01 z9ur&y)afHacW?}$FV}a$tNHT6OWb%|;hw^lNDaJtMk_dE06NP4=Tc$GB zYk>E~CIn~*o2(Gi$=J~%kWrq%BEZ&vJCf9VSBFBF_(E#5Lfr!PNv0`fg8hmDt~n5l z`GFG-Qr5$t`PvY2RYYr%Zc1hr-8LGj7L^kxo>62?u!aYEJJ3zB^DEJ^2+Z+f-lI`9nj_0m&IV&KZxm&}%WOsr`XC^%zi-`>Cr-lY1?CKx#i{Z0Th34&m@| zuJ--r#L`k`$+c3jGufFoF$TJQfq*DuF_&0!7TeDin^u6CWG#}uzO9Y5QM2h-5vyAR zDB4jHO|0hqJ z0KQBc1Na6E2>5YfX(L9zIUwBIs+4>FqzG&AKnS8rNi-4)Da|WqPb4yn&NP`e5ut7t z`sS|gqC{id!?2XCtq6RsHuVTi*^H{{hBFz-{_XiwB5RnekG2mz^fexn&sKRrQ;5E= zch7~Y(&As17&a#og)nYWsWJ83?yy>~bC|Lnb1`PgP066D>O7Wo4kn7JEEFg-S3)zQ zSavEd_y)DvZPagMB!nGe;*=?i&nsKP+-+I~{es(At0+uu^);~l!N3$*4&-6XVA;au z3c4vReHrgL8Gc1R8R=m|Ko^s*Nsd+>6-P$?Vq*{{1zi~?h)Al{LL*f86Q8_FXX5_; z>|qD2!}m$JOY9Vj0jTFFkn7+3ZiapI=^8JZVI z+zACV%tI?h|6FFy^2UQcG!TlIhCmmsfm(9$ij|Fo!G==bEyB7ItuuIpMLcN&vEU|? zhjCiQ6qJmG!Ais^p@)W16@=art6o({D#%myL(xWNjd92%t8BFiSG9g(+eEvL$$`v} zL`QuMMH{`i)p>ycEcH7kB4~v=i_L1wW|n{fhPF2A*$*j%u>)8%v6`xg4$Ogp7~;7g z5UfDEFiWSe7mW$U69A=#OY{Y0#)Q&Rn0iofI7!xPg`4T&)P-?;Q9+J5Omw}XX-j)n zx?g*a!@34@g;u{7xx!%IXge~{Dn#%`3>hqV8mntvu!)N?jV3WpZA8()ieShjZMNpP z$P*0vM07_55#AKW{2@B!j5h=5n-PDm%UQ+ty6d%E+tg^xaWxuE=#?TT>|1DULjbyC z=(8Blx<}oJ4&Z^d%Q8#Hoz_C7D}&zK4ztquI$*sEfS>SciILVcn=;2h>=knzyJ-L% zVg)YQNHq-FMHd64e^3zr@lE(D2g6aAy$?DUT5>X~XEac208FZ@TAf<@WQ(S(IGN8Xu31_nRVb0as_g^D z0|GdM9zr}j3dl|4Mz~T18Iv0GC_!txNCXFjnezgHXpu7n*@`tnKJ2&>_JHb%{(o({ zF^Q9M{ACQ_!5&wZ4W(2ouC*L*u`-gYJqwB#2-E?JT;!GTuQABm!i~-k&z4^gZ8+9j zj$%{s44Br!Sc~*8uPIfWou`a_Gu_hAUDVapRU~SESb_r_?g3hW(7tZfR|jd25PC+V zkfvW9B#xF(VZRksc-m?VsDVzetqojT6d$7E%g}x}FS9^! z3C42PSQIJ`LNR7*08I~2%R=Fr)K+LN198hOI5(^KRq^BSugQqd(P0HB+?ozpBycYstn)&M z)!;&`r$zFn0uHNs5h7Y6ep*}VEcLEWPi~;#lp!;vvr~yIqhg+(-^&alstB{$a?GGo zD&xqkUyCieioKB6Wv+WnQ-@ExgOL(_&51++0MNN6RT>=V`K0DzpavU1A8t`}%np z6OjlMr0BAaKsUq_A8er^Q|S|I9RmiQw)PmSPO$N;qxzO1*7a z!ep%Ud)Ef_631nMs61rwvbr3FoC7i?NmCN5(p@MJDw}wRB63AliKN&~Kut#)=p85&xnl%AYqVb!!qa|Otn zl(nI_Q1aG+5v(y|&DmJ1(c)r9Bt8$6fw`p1jFyQjs;YI7=r7Gr91x1h-i*d3_<+>3 zK!*z3QXC5j7@?@z=9-1XggQ}T0g;>Dc6bk%Fg$qUqLNC@Il>f0qk??JnxyDTF*scv z3-4S*z~*b#&m;Rv)m8LGEYhf}$Jz(tG<9tWZ+kl;TgWuVnW&S~?VMFzQ{A`-Ya*zO z>4Y-d1vemEJ+2zKv|!z_&{+$g96UQ4_`Sawk9?#=V z`Y>5mPx4tVVTA3Z3P(IqHq!`=pZHag@*!{0<_U+Q>Pq5K1@#Z3EkvB{4(b~P<$~oz zMdnN$xhS>Ganu`fvQo`UQ~Sb8G1MCAhUbsfcGdMrORR7NPI;9O525FTrOOUBJb zsj^g;rIiKBfFcCTbxhN2sE#1*L?6^+sUj)|yC>IDr3lcg*K?Qjmm zq$NyA$G~DZExH$+C=_T@p0X(!Bqf(B<&>fcYxoJ783jiV%P&o2<(FQNl^+GL{#VDK zqlx1l;d^i;Fr2@9eSeiaz{erSFs307jynu>`K?E~T>vAAe7|P?uMa|2reO?LSxP;> zj-LqYnWgjKh4uM5`LI4#KJW#lnb{~9`z_NkZVCC1MGv6o%Es#YI=GKCG*-jyvbxqO ze2G^w8WOYA!``dFC-{n@UcBc2Acbo_f7S0YRH{cus;N?C)dqdBNIU|1sEov5PZZ9F z?&f<4TRv~7%#`~DkmVsPIl$e^V$sg0|rg@Nl&zXhNN{B^d#0&Yo(Uy3S_VX6nR9m#&Q}Uwb zHKB~RRdr=1)1nxIcjbr-mo@Ff!NCKg95mq&*U)Ow)dmA-D_yMtFarjRR!o%4Bc5y} zNLV4BfAgn7`5OTb0?x%VJF$OQg$_^giG%N9LDV$e`oVXvFkV487@}{Cb*-K>(EwL4 zh^k_ZFUB*BQ!C_xKlzVl3!Pcd|I1a&6N+!r;RQ?Lwqz)jS`|?d1iKGakU%6u>5lY=L7tJ4nPPH1#AS|57-2F7_b$v z4X_>XJYWZ4Ctw#~Hy{DH5O68rYQT+v+W>b1;Bl-9#NVdIO8dSU`eExgOR0^Ghp|Ju z*{Q;@chqp|@IAb*QsMXDUU`NZMj?2)ONTQ~rH3cf-TGVh4?yGb-`%x0&%D&U~OoRP3N5^3walOMI`vu!J&Kfn{<5QlYX%L5ueiO zxF_DQZ9sm+CzfyWBYvbq^)oLg0m=akC!VeY{0{Iu;NO5F&}JS(TL-9xai|gIre;VK zjqtIU9Sa&BZ^G~-!+huWLQ{qJao!+KSluD4BN>xGj~UKr4A&LL*~t6sWC&}4cF5*YqaN<8b&=&pRlsLBCQVp;@LBla^Eej*nXVWP zvaM7Y9+l?OUXogde1!M2$0MC3wIjAtS5RvN9J%1dAl_P{`wY+wuH0BeXOB6R+DZhf z$pXuUmD>HU*z{l#CO#OP965(UPkSzj>Z18 z0JuLi(6UJb`cA6ZD5l9a9VVmAz{J)n-!e><;xFb=KBEx*ASh(K0l%tuPa=MJB~7}= zd_6gxNCp|nZ{5km^2gzhYm<)w`Ptd|Za@^U@N4G(w?V1=SqSU7J_~v7&&t0Wz_5G+ zG8V%C=WAd%e^>JzenJct;1fA~06so*8?ro})ka({By7&c zrH%N3g<;Wg+q_Cddas=$Vxe)27u5a)EY~W7Me&ed(YHROylkc0JeE*!cQJiQm;*bt zT@dj73i9;bo@AIr>k93qn$XW(}nRk}%fWSW#R(gW3YsUu){X?!?!{K!mEgM{N{>t75r%6yvgT81im*GzeK}4 zwX+BmZH)bV;BUB*UDs&BNv*Va!bIo>Crz7L6!jIsqYauI=+mIRV6=0w2tJEH+*`g; zN*Qla5#;A_==a&GpSRbj>n=QRnv%da@n_w<>a!awmWv^xU^3T>t^M8APFwa)4qb9O_0t#bX#cs41d&=ICzJS$wh zbO(A*?_C|)xtEKY1tKdEkaRky>nm1Ua@ zw5VgS8jK^d7Os_gj~mHZi(i(`Q~EuTzin;CcrMh!(TIhewv&fos>)Y zV?Do)-ktT7tRxrsmwwHBSRX4NPp#siymCOY!}@5*4Fn84;^1q#RReFzbrZGX&BxC7eR*#*BAF z=&%NnVzTsyN(WR~@*@uT;Itz8W~sR464tK*7TQud@^{_BZ%ocMm6u|1avnd0u5t5&$kc zA+%swPfsCQ?}e!0OiKq?tS3Mev7(?qE?x0I)Tc?AnURekV#=Y8EOZ8bR+^Mf1!IK^ zHMI#x3js7Wkf7sSa%kPinI>HD&Bd@fB;k65z?qoymw?ReJYgo#{Xl}@#^2Ptv=>z9 zLs6f4rvyKHOR+yGJ0nvmQuRJKUr5PdGS+w=61R`4=2|pr>aQt8EV@Kou1A;mwYz+IxX$aYEup7r=c zIVl`u@R5O%*mY|HAwaq$Pe`3XK+4vQ*K~rR4*onAegWj?Q%rSi4wPH5B2Wo8Z1s2W zz%n&MenkEFgFgtpz%U>z=8m299T6Csxa5)j$rPr+T&iXF6i#P>xDX01!~QN>9@RFt z%*tuu*egSfWLsicJqoc*fTIFx0%@8h#39a#Ck_||TdA8T%mOt|(Ofa4*+Z=>+tq}n zyV~=GA*8FvtytE^LWH77uwt+QY8G|Lf)yQI7tVNxFsDsPtL)dD)9frzi_{#HPHR?` zQZ$x|*N?{fMa`J2rhvM*iQ4vhr{){ilLT*=&Y>poZfjPPzj8z_6}EW10->WyxfC{ zD7FO_YbyN%Z7XL_6qA0A6=t$T#21nElZ|SrF?1i`b%Kql^w2hEyeJ} z>~A@tBA(&2_!H{X7NDU4Qj%2&BS)gL`JaQ6{6g&`YfT12i6UW-XbA?Ub>NxaiRXo^ zi4D(1n86 z^0w4~iiJw|%l2{#(vV67H&P$VOU=y#Y*b_Vhc6f?96O8II5`W4iURbt-A11Xd1;4= zkop9<=tAD3FlMS!>oYv`EBaARgmxGwZDKx#Q9KY!?9Qv$u*pn6u25{&|fo!W+9WYj^6vtUFve8L0Hs&X}EY;XTRnzyfu|DGNX|(|H zz}e$o?7gxEksd3So=G!DwF#a*4)JPPNt#-Wd1}S8CW`_L9`TGW(HjYH5MTm3q#%N| zVXv%6)Xa%ziBc;Z$C=pg0H z8+#C0!gc``2udM{O^UcD>!Z?8`k&r$n3KYATcNzBX9CX4@W3sb^UVxEL+g z@w3K420%k2?O|G~IW3bYh38c&#XrNu+JV(p;BXs+8D8h|^_hJ%BCsi7CO-uL`cL zV^`#i3TTB@9U=L}lVF0>N02VV)@syl8*RG4VJFN_ApdrHCB*C<``Em&pv7iynoYzr z%1w=4=(y#)F3nZRH1rJbkz+MwXmc);!%x7T!+uO{zU81H+91V>0%=m&Hi0N>0nHaW zPFxwqtcf_a2G+jZF!%^E=v;vgspLkKRQ2sPH)7~=w_+Nr4Fx;FRK?t?=1tOQGzq_4 zA9kRv0PO~p%&Mw~Q#!c&JrzOtnwkpJ$EWyK;yfClUGY=0_1RGCyQ)w>IGf<4Nv&?s zXyZ6689+v|D8QOC-Lg$Z8VB29EYu>0pIXO1;n?nYgrsMW+5TsvT4OowJk@?aiK(>u z>?eEPvg)EH8qgZ>nU)XHXptk1fdZbu0lfWAXSMRcRxr33TR8zI@+=3=g%emt0xclk zw7ST9<;}`5H(RYUgt*{+1JOfGcX}bgiQV7<6rQ;v$AKW^IB3i@IM_orm&KCWRoj>a zK1ljuzPzV=9miObdu!6hI}3LfLTH4kS9|4z{NUT`gBuYJc#ErYx+tT<7>IEodGm%$ z$EPZxREkm*{Hv_AL?cHR_>nr67W*#II64l)Ra+KPz%Im87B6+Qv@_fUYlT4^v)6c- zE973In+2pDeJJyrdf)Gb9>4uU)8!-9lj;^ZLWO5-uv(Z0f~g|)jx|0Y+^&i}JEHEiH((J*%ZBKZL4gM4dbJYFs25^T z!323X5{c3fT8D)%ml3jg6nW8a*+Pokrz3=TLalfZ)(YICPh{Fsj8O0=aG;>8d%P7XGVWCjmJS)E_z@32m0b2n(0J{Mn0zL!e)}Rc)Xuzp}LclaY6~GNRAJ73v0J;G^fYpHS0j>tD z1KbE$54a7m0dObaZooZ&jez?B4+FLVwgYwms>3FBO)AeP@?s7IP<5f%P`QBf^sMSS z9G?jJrgE;h62lH{c$(bMxj?Nlr`~kx!%=v2De=e6rcEA<jrO=h?H>b%73F(5Rkk7|t{7v0>5asjRMMnX?vQUuLbd zvH>-$a+z?vLfP1Bg?d)eVM|?2>?L$_JE7rW>Y94EwR2|{>WTy=52M6AU)9exEjKNr z(OK!N^qAPv1)eV%NSn|$q-$J+T<|IKiD#4|#T*<@V=SBmC6Ls$87YEW(gUze8_|gX7FT|cjx8#ESYpRM|bqlH+P^+{(r&38*U1h@}ccW3~YPRFJ>Sv>E z%6HC*vq#xB7mg;SQyM;zV^j(DfgkiiHSpjBew>RM(U*vao|uC%=z-@+b9IgMOLM*Q z=&vFk^?kLo(rETfY?(B%xQelqASp{~9y6VKC00`8<#ASmp(O$?oFRufCKbPp=Q3r! z#==0WBWPlkv^;S^CmkrQ{kmULrj=xBFXcexroHZ$m}zmufSx)fp756g>wZAAemV7T zKg0mYRAh!|p472_Ihip)FPQJ-12O1JA}g)I=~=<2JrK~mw4jT#%0%k`QB_!@tEP_I zB#?)P#}Ggjl~ET=C78;CK3a{j#?G8rxN21r4LsneB@w?mkOKSY6Em?ZgvR|wm&%J9rGv7Zg=GH6XfRHAt^97)qq z=XbLrbBT4l8+nKD8;s``jCu4E>ei7&tnP(NborhY*!)P_=a*L$?ot~b4f%34wOJBOB^-9nlR=VK1JGdn*Y5CtH}h~5t0qPr0G zOZc;EU^su9?oe@rx#g<4wZS^ShVmJlHQ)ndJF3}r62YO&Oxve#$KiUOGON5Sx zb)%ey$C(&2c+aw_JJWB~Cn;1r`3W)Q@(ddh{Wy5^9_RqeV0A~@Oz8!kmGgA<7?;Lk z%!fuh#41HuGv!oboJf`o$SuzH4K0&phqY>##f}`dEU_q8)u(a=o>hEGj&jNcPdbPC zkIV9OaZc!$j3X^RR0N{4PzjK6dIG%$*ETi|7F|$!DM-&FS4a>XA3%wW13M9LVI>pI z0+xk5f07L#jwOwMEQmw+3{ht!^rB0yv{O*;nwH8chmkEDsklY(zbh*;2SyWhHe8=D zGw4JT^kjyn!d?gHa7d**c^Y}kH!N@k!}7*`!60r?UnMc}z7$|lPl5+VQxDV97Q_eR z%Fs#a8yF3nX2rNDUUrHefmF)y4lI#*W(IwV?6_&0BnC>sLw9-dK35G^F2o6WK6i9l zr^~ao)_W6pFE-5vG4RAwdnl#;vF?M{n*^7hQF`Hu9UGEI0(n5a$~s|=7_bU($4bS` z#1nGmJP&3h*d~_YFL-IO)7Iiy8zyKo;p&2$C=jQC4k*?$+`tdPE!W^eDK+8RYIg_` zSThO@p})J;+CWZhw)3~+TFVoID(oN#CX}j#9f{~U*gHD|v;o8kX_@8|y*$D^Dh?jB z%VPIOJjm5I+sYTju-2{u6~LIa^NKE9+?UK@vN8~h6lq5!`W>r7e~^dT*QHi=WGL9| zjAYinD!O6u(;?KVLis>9Wt{$wJaIR0uJ+lGM1;j#^>H?$(}Lp)lv9?o2YHpX$hS;X zGN*{{Tr(c~u-pJ_U}-Xh?1m9jTD;h-ROTua2}2P4Y+%XZAya6OWHqUDvR$1t-$KjY zNJL{y69f9(n3C@~TT3AeRx&nj^>qts4VP*j-L!BFxzE{y6P%>z+ zrcmBV>Ju8|P3Z@Rq7>oq(EPyL5UT)f`cWI+#rXr3#?drkRvXo13l5S7%oJ0<8ghbe zJwA16_A_)Ebnifu$Ea^!VJDnp0*>)L>$DP_Vo^+4>g-kz>{+zTa!!@A3=s``h6KmZ7f~A%mlyn?18&9q zB~rIN?@^ELhdD-zGSZ94Fo1Kvw7LnoZO6I0qX$8c@$cOHQhaNsry4p2e4EXUb49lQ zD>r|K8+wRQ!}1G`LOAwCx&c>@gH8ajx)A9A*B9U{m@K7NId!qRvb|sTHzO=3gNdG% zXA(KFp!7hG!2D*{GPA|Lus%-W6o%QTAb*E$SteWGQFSuL$5Eeond8`G8_;Nk4Bq z6}JG9F&l_afL%+qX@)93HG?K1Y>0|u*L=W8TDBs7ADjhgil&VQSCk#W;1Fz6rserk zDn81!Y&*PiW1V9hnOz=vodZ{HwKA+5ogdEDfB;3h1|Nj>wYU`jCg7ew%MK*@m6R|R zb;c!@m6jz1fe?8#1jLU|CKNec4?T^AzM<`u%t3?{>d-g7EU7U3)uAzsx6>mGc`x+Pz2!FRP5LTziH zmeN+%lWL;)ln#B>&y&6Cd9r>+Jbu%aG}6ys5=WHA;coyt3kRG2#xv$o@Lo8G$u0nO zP$%h9sz`a4%$S1+Em-UrH+f3h>1gV-1a+E1S@9C8Pf~d0Mi}TrWQ!)k-P9WB?73E= z5rWQHcx71QBdrRG2a+|3+EFuSR*dqlI!p$yLVan&5F0uQhYMy4lxXo(^^UDTxXf7t`Ee@5r}>7Ze~v_6 zYT7jPxx=Dyf#q z(pe7DE>crI>YRAVG5*?kWzy*;gLZItWKYU3Ka%S53oqX=}Pr>;W%6Gu}KBsl%d;Vzh zzb|3bsnCb%yMcCS7rBrH5Y&$Jv-8f-LGL(Teis%RM;TPd! zQVPN&Q7_D^(w0=)5RT6}+x6xrp2;HlAFmAm`cODczq$X%HPUp7!Ta}WH_RF}XYm7Qynbrk4L%9{Q5yiZsi8$s~Ht>usHXC`i zaKfw(w?$0-A)guuuzCrMoiq`gtbr3bwVN;9>NrRbR)+Wy^e@HYC5Kig;Q`Fw<8eED zS+s2b7ypzP!tdi*au}STl!1jpp&WNhR!f$S$&-xBE^E+#QOKD?Q&a-J!Mv?y*4s3S4ydrax5X`(X^u2 z{-k|Y1+`kySa3O4iGokAfJA(iAq%Qv{8Wxs-P6-#l%5vXs`tU;W~3B}Qn}ncdi-j)wWi`g?Uzmz zFG8Zq$yICI1V3d6$DAYPA^EazI-+%TmD)tr5PBswzoht@lG%%k&$a(Ub~<-?A{0ND zs*`v;RE)(BkOF&-UU#w(l`Fn{FUPN__bI}Tv?ibp1%L1C1V)8_idwP17dX+X(jK(p zGK%_>)PRjhFOI7h6W>0OZovW%a&>*B9I2#DwU|WZqp&F7(idbzI9NES9y{o$OQQlt z43tWz#nI%&iC=OOk{a_|0rbl><1y3!SWSv3H!}|15n-F-78!-BjKS2eHrDvah=Z?h z(yU5-8b$>^T$omQmwaskYe3nfkF6nCyPz2B8BEE(x2^Rar8~6a>SuALrq7~&w&OSG zqp~Vp;s#{pEst|qAgU!kdq`Us=(4=Y8@bYcgy)9EaZXf1bv-o6gcRKDE?bUb)BqHsFA?ohnQwHiIt&OsrTS_RT#IC!wxm{M#vk*slre@rbV!MB)w{tYDi07rc~Kd`LUd@h&w4gZpPjf zXc)mC!IWTdmyJ%#gI;^{0*Zms+@svv^w_5$LWPJmzhER|9`2^D0W;v2)Pr3zp*XE3 z&Ke>I+x65ZvV~Vd=TtTZA7X$PnsuFAYTZqlS~kX8*Tg9BfGZo*P&v7*!qeD*skRYH zf9(o{iCRqKiZ0+KOS3%dRw;yn1vsY=j4*~uM*x3HUb2&>s8|!GXd#&>UWSA6DxI9? zB|RUwMMxF#U*wY^Q7gR$hzDCuXnLiZn|t1Y<}a;^anQP;VX94(7b&z`TY^+YGs?-> zGDHf-yvF!;BdxsDN1#B)SkYjzF?|W_0I`knpcWpkaS-}23pgG_fw45N7|qsse!A1Z zeYq+RwsW-=S4>N$B3isPLoD#rRgX1EMj$uLcIXYMtCWjB@WV&|)VXykUui5}fos81 zLNr+Kt8MwDjH5}?w!r`?-f;>?OqY&+sAphS>$LMseq6u?;$&gGirN(C*^1bt_k|%m)NL$K2jy_C;29xxvYirXJ^UmXWlGa&t)vaN+V3+D zJUfu3F+dj;aYArZxnzehnU{naUG74}`_yUW0Nh=U6I| zu(iqXcSeQZ`a3U>Yw&_j(J}cEm+L^v$SpEM;y&3bw|;1c|rqSnk3prPGVF zu)#?YdRm9?sC3X@_;OP6j`FY7j?;!*O>kb*Me5fRoNRx2~vD5wXmj?D3sjs-hI ziHjZCj0XhtkEVnW49z%)=`Bsl;Tcmo;?Lkadm7fPyPq%+~8LGy`K#ZQxZO>q3oas>;Y;*bme93s>cG z4TS|Iieg&_SeDuIJM*QEBh-yALI_Bf492gb;vh1H*w?>G(f}_siujuaU-&xH-88GF zy3(BIS|ow^-iBQ1VSm6Y18Td8Q>N16!Z3!VEnj(-3g&3*wG7B|>j`nG5IPz_9Ux(l zzUJUM8Za1eIA9217+@%1I3QPF8OCRhbG|zaV7+6$Ov~#C0Q1iWFzg7xks26IT4VSW z0H2-uxl%v7ab=nY9q!Rr?gwE0wAHcf5P_8SX-B5}R{x$llY-FEJl_s9CaDX;y%`+V}?ho8N??fd(VDi2jj zn34a|)q!<|vsz!wa-IC+V@^B0{wK^R`-ej}uUT;F3IES0kF)luu6KsCU zfBLPyCr01)FUPl@c{2L1*Or}h=HG8>VMpT#`tTQ9o?JTo{KR*Isr0x^Ys*nBiCa@tE7L{MCYA{AA9MslS=G zWLL}1p1j+?*i-S+l^eGA9JlNgALg-XH50FWta;U6W}Us;d-5+{nwdZ2f!M#_ye4tf zqD_bY{G0EEUK*GG+*`;m|FRPod+Wo&ao-w!!W-_K@ss~r^3T)Vz8_ui_|K1i=jiXD(N}&k>b{rWcr7*}P&2Qf z>*!q{bv|@W<@~1~|KaIPcf9e!>2Gbg@#nv$Wyq*Fd;5DI?pb}xcOL1?TNugtQ{|Q= zMSJJw9`Vl;7OnrJV9$q7p7pchW7l8s!u^+51ux19@5{ew!Eq~+w_Rlzum9%08Oha` z{NU)bo?KRT&ze^+zd3idtF~kK&tLicnjf6{+Q|1hN>8u4=STl^Ui|wlPh>BAe}2bH zw>p+zwDtm?V(I_%tySlIFygM}bw~WJ$7uWASo7&;A9?Yj&a-}YLhZdzz8byh<(bZ- z@2z`c`vupJ-2LL!Wfk>roOQ>(NLTG?Z~ZEdRF*%X>5gH~E*$>zKcD7ZaQUhemTvy= z^5pWqs=}w|tasi#IQQ{0hx}oE-`1z!Zrb$8>%XbW`q$mxHcyQ^V$WQ>Z{zM?4nAsV zMQi!W`X#qLHOcu#eP`#0F&|7?@aBS%n;qA^_-?_a?_T>{S9$e`zbrawjydhFYoB@Q zlPg|%^3}TUZt7^dWl8WiYi1mI>IJTgz;>J`oPPE(;pShqzIXeYlmGSCPjCJG?ti_0 z%m)v&P3l>F&lzVHZv4|VuiklVuK&a5>z3}H@{Oen+DF~@O2rf9re^hq}+hpwD=%{z07y7q;C{C34*M?bvx`@{41w0v+xXp3W3@4m-xy5_L> zuP)p___CtPyMxK`MTM6(|2+R+Cv7(>RzCJ->&CvNt9RtTdHs`HA8A^X-}L)M+n;~% z(}fc***NG}SIwa5kJlc1r}4;1Z)~braZAtR< z+pZhm^24*Hjri!d*O;Tu=ziw4S))P5 zo^Is-^}~i?t|hO}y62b0lYjfu$WNaVRO$Gd!@e=-mhu^26#U_{)m;lK zZ{B#@?wRq2KA3&s^{t7kMvOW3m0$k;r^UY+<-UFG9n=3lYx1?%{o=LPvc7ok-_Q1B zuULNua?iTqM)&)7?R>28u9?%$sC_iPy}k4ALpIznfA0r_9=`SUhV^Bq760U?Z`|}7?;AUP0cKz$=CkDTG+u8?0hW~HB-C6guaPEd%ZgyRj*xGpIXU&f$wmrXPdfwFGhyE^B+F$l|TIOcQ@6&e~bI=eLFAsj&JDrpOn0M)5$E)$Y1loc{3KA(e<}! zKmGH}`kSA}jO^SZV^HoC zW6-cOjX`;Hjhws&Bj>OsM$Yh{F?e{=7<~98#^7&UZ44gq6JyATUm8R5A2fy>@w74Y zh+W3eBR?>PjvSnoJ92bZ?omZqxkp!K4Lf>K*05uuS;I!J&dM9TJ}d9o`?B(mdoC;Q z_{cKopH!%lEyANEc14?my}GgkiThOz#;Sw_XI5k}9o*JJ+t&tT(;AM=wtkSl{& zi!Z}EJccX2pM@`K`EZ{w;Bs`&0dy%>Y=@ODYf^Yd08(5ml zuLW;ZzL_z~j54DQ=^};~=~$O`#EjyZ_X*rD$D0sp5YI!4T9OkQ9$jsG`c~;|VPqXoY*lWX; z&(%hwtS1;21Wsu$z>Z=7^)Oxl;?>PIg5fq?vT13@?#y(1EoMVUOe+gN7JGvh#CXF4tiGrj#1OCJM}H?uA2hjWbG1o84H9m}V~i z8oB3poR1$qd=>4+FLx+HhZ?!LSaagu;C~il4C(3lZqLO%C}7Zcd%k-~wJQNm@H zT?WQeTH538S&e0C!Rgc7%{@qgLfr1vETy1lbq`V*D5j&MBR6+wcUQD48qLVR060!! zEQMr+$nQl$YfU8Mw;&kjvB#C;$3v0aSZ3D2;-(zC;XeZ}JRE#Sjj!4TB06LSa9bfV;20)w8vu~gtiV$OcP9FRIFHJh zC&yt3IYY>fp*RmYSxnLvqyE>Q0e`vgVLt;P1h^1zJ>X8jR=`fc9zf1o?2iD<0Js5u zz`2$9J|M0=fbRir1l$R@AFvIu3t(J1EPoV$ai`%r7jQlx3Rn%e9&j7r9suKP)z{s) z?gb3L3VSX9GXQ*FZ=H4}#%DZWhasvWiO1o%fAt#{A|)8+u%D$GFY zD4*2!II8y%w>lh6CQ9J+gNxD1-NP z2g@MLO-v|@fPMIwoJFK-YUisO0sA9VX!-!K>P}Pus6<1;%Orn=OC43p^QK|68t$ZN zkG8EE25@y)A@Z=#f)NcZTP{Aa@fA2UjGSSB_s9p9OVk9~cQ|xZm(+{iGZqPPzl1*H zOzJJTrnz194G-7BadP-36RgR)(w6<4`x;Rk@apv!MZ!R)^umGlVB3NJS^Na5+SY>o zSKI()cOm-*3S8CGs`Rw};;tCk>FQk`!BOwzima>HcG74Aea=|GV5&!FTcIuc~KMc(D)ZE#k~S_B&<1>@r=M_0I8f9>inY>Owf^dQcMH}OtueLg z*HjM-Tz8hm`BKp;<>(~xA+=ewObNQ{kn6*=KI9Pt7AQX!A-5G$GtSd(cthNBERY5> zdsfj3r7E_cJR{ZTApnivvkHWWVA!$afEYe3uI{y8#!r*A1 z1nlycz8bQ^Skn}@Iat53H=<}`1aY~RDgwrcn}N85D$D8@tDMaKguOlkZ_4iAj0MPg zozY<2S?8%1n+EL>l@PL`G)isobfh zmFPa74~le${H(btemp4va-gC%F4=$%qcUcsI07U zCMsugW-Q4-fQU{Q@(t`6^)^nWay2pj%9Hg zs2nz4CfCWt^W&loQ{{$>cv+DtlewlWpJOPC0~w2=TujD!KXFp`A9)Tv-dO!WDt`Cs zl;^5z3a87lpr~>Cs*vn z`7dTB={xWeHaUn(0H$FkF7Anup2!!Q=*tp~#BIEKRf8|Pv)NJPKtgqqI_wgcuj6Cn zNmWHcAk1*)XHP7v>nI6oA57fM&mNysT$^B}qnva~F@ZUZcZ65;8lnk7?#QEw3>EpF zXiP1axXHecqkzs?8%;U4QNz96KF{?4_>H0T9Gyl5k z9Es0ku6ne;W$Ybx{Yx}|c~a+}xd!ob81KRrNu7V)lK#Cv(|&x6MjVzB@wz{yPB}vC z`y`3`)()M%T3^&knvU93iK(B9X`+5t^Z#CKJ5BLsaF-NfvFHE&j*#t4?gtphDRQKY~$lkJh|zqr~k0| znP;DCdH#hLx4iW7D_dWE?e%SMy!lq^+uPsS@yB=H+xh;k4|f0Q!;jiN{^Zj=pMCzt z-Y>uU^S;0Q_3QR;zWr|h-~Rsnfq(q-Uk88q@euELcTetdOwW{FsmG=r*ZcVN6Z)Lk z_oS0g>DPb2z(J>;HrR6dkfFoQICJ=jv(7$eWX7n`R-4`7bh$lVpFa=`g(I0i{Y3ov zvo5%>r1Yotf3ftEOE3GMj{pC(|NrImSD%}Y%Nsx8-292$l6l_bqT(r2r%j(RQ>Fh; z>;JDv{|(J*y<*QT$E3HQ9$`;S7xhjnrYGzB4a#f*W0#4@C+p*vPPdEU zMXrAT)oS$9+4OH!BQ2!q+hO{DIh~RXm9WAzQb$?m*R%;`HH`K6wjnyZURNNSC=aWE zS*+?YMARm5=Nka3dttH`&gD4)88dRT`hwZfdh{l-;3cX8J{T}W+;v{wq0XAfdM7k- z;^>Ns(Tin?SF7MR(lU{sMHGwqX?c161q=M@yX7K%o{1fO2G05;yaZ$#|7ESNn3WH? z#B!`YhbKJxtXNRyr?Q%*dt=z|?jr37|%dA~LT5Nv?8)Wc^H5T+DFA zn=r$eD9a+o@+&lOA~>4#s^I@(!++uAZzLlh(U(6_#n{BDj@UxQla!}7Z}PJLaRdS#sY z`Z)Csaq1i6)Em2Xy7_pVIt@Q?OFtJYYZ2X;)o!?#bU>Y~9iwg5)uZ8*-ZpsQWZlkO zQH;i|yl2N2}*wFfszM>psb-y2c@i(f|5^_;BjCb*c)sFW&NQEOb3^PvbM1j z>;tX_PXwF6zTi6WBya>^wWV9a0r+V4h8#x!$1po1~>vd6SRWEK`$tooC%%{=7F-OQwWX(r-K<_DJW&G z5_E%gpa*OOWo@Jh^nuGkxi@Yl$deD+YA_RQ2D89*p!DM#z#MQBI2LRH$AMeH@n9=B z0o)0m3$}rh=X=3PU^^(~;Q%-l)E?=TE_t5rqqHTijB|Ml4wt{KkZcrMWz2J%9ey}g7Jx)0Q z)4%~>Kk!u03XTMWU;r!z!(b_x4OWBm!DV0)4b>_z8Egi7g6qLv;3hB?+ybV7t>6G~ zHy8l-gY!Y{3EZJUO9zv|L10gC1Sq|z6HEm&!89-*8~{!S17HQ1M1$7=CWB32PjCg; z3tSDRf@{Gva0561+zbZ59bgg-;~uaV*bb(G2f;Kj;E#|ZBtBc7GU_`i&llV8*b*8;=cGX1ol#81UjcB)S&DUpcGA=aJMd>dv0>h~7a7bb zrC*n_A?nGfrF>){rMRMAh&qp%kSZr47r&&eh`JcHl#dKXeqz3c(ktposHL1_Fgg@@ zoo;@N?!J_l3{+x9%8aPReJMBMmxMvej>K2OALDD+3}PswBDN_>+q8@iC<1$v4v6+-} zQA@d!vMy?IU&_0rTi3Wq`8V@!wjO@vuha)K3{oddwbYAFwJKv0PN^TJe1V=9X80u^ zl{yw@SL%(Vo7gSa!#s|hFE}6C^K2oP7mt}@z)-7>GAEi>lR4m8nsVL=G z>XJ%#IrlATCuyYW;dt#l-3^IDwqE|!dVvautoMk^(=ns!)fhb;Rh?1hRh?1t8a+N{ zosl#xH1bS^xDZKv8B%pX)!X=TmaWIJ8eb*85;j#&RDO@q($J47J2@svh2$zPe%d8m9j(K=n4pJWnJG5PoP>*&ECwF| zOTlKa8oUl{1m6Oefqw*7g4@A0;P1h8;8Wm6a0}Q1?gqDkvKFut+y?Fep99;$t>ARR zbryIK{3gH^7t^I1dZ<1z!a%;0@qN@M+Ksz69og8^J>GU2qoI3RZ%8-ww9G zH-Ybf)A6qtxB~uda5eZRa4q;AxB+|(+zdVrZUvtQcYr&)@{tee9nA%34_j+=%=);1;k5Y{tADY=vJ8dg0Ficf-#Gt? zfg8cqU<Y{R_);0E|vpv>_< z1vkUL0PX;v0r!FTg2}J+O1~A{i@ky1Ao$zB5#R;jI>O@so$yOQSxe0XGvTiSThaG| zh44+_PIwucM8Ja0d56<0p=ke4z|Hpf&0K(@Br8yOxfBi{S&YsxDp%&-UV90N5LR?KbQxO z1&hHtP|btnB){2rtGkg@e?6PolPRyzXX;8G)mK%Nx=O!4NvY@Qvwx+Yug~z6x|*4+ z>5kgbRB{|EA_uTZu}lEuSVaTKgya& z1|btSWt~XWQuo#TOV0a?TE-jl4W68W@3gDd3S?xW){x{I4Jk+BZw9VNeAT)^1#>cU zEG+g-wc7ht<8b+J%Bz_nb*iOpP-_=*hFxlyjC*8`Jy##$sPSAGGcJ+Km~6Hl4y9JB zUZz^Yq|_>WN?oP}I!!%P9=T4no4wMa zS*0!~7M<#Nd8c_fOK+M{d+W-s{5R!u^)yxTNAHAhh^b4so9 z%T!CBds^yzxQ@w!lX3o`>ziN#@m0h*=q|OznwG2}(^ExThv|qTKq5l`PgkP;> zs`ZyLy*#LOAGM+=>zf(GMB=FC;Hn%ewft9Wo*B##rF~IrD|7YqQR^e~^>U@wDO7mO z^##R=9a+ z`mN^kQsYha0zHq_dXM}!*WuKPty*hPd8X9zU(86|GtEdEsrsPSZxo-YE?nLLy@1!tJ2@etCA~gev(#d)mW|nsg+~3#-sdI>jSF%DYXixQpS<&xQDUpoQGJbO zs%5=Yt-h=EMwQ=c?NqJCt2I59A8Nf+P5{Xopv1EdAINz&Is{k33M zPQl5|oof6LU(zygTWa3n{;HHavRvw|ghb+aT2#t;Yc)-7!JvARkIJT z#WDiuti960cE&*ZhW*nr1OMKP$l5#VN^aF`zBuwIlw7*BvS8a#77pALSIlm@fmr716 z+lRX^X4E&M7Cm*P^vJKPTQVY+@s5OEl`t_c=TX(YG$K8cJsCep?<4kQEZNmvX<;o$ zCC%mLo1Zc#sVlP>DYs(wNNJ(kR%zKJ^;OyJ>Yub^jU90~JUr&Nta3Zhk>X>IXN;;@=sm>L5)t8xs z^i4Cm^#N@mzH?u*w~HD64t+QPaR>od9Rb4p$<%r7_O#hBTE z+VpE1YBQYehFZdt@|u$8qaIF)Ef=8gtN_1OBnjT zuG}AodZeM2w91K7&q6JyFvPE=hFZd~#!ySxS`4+gzZ^Ld6^ z%vYe6xJ&q(P|FDpk*`55dy11$Z-`UxFw_Oe51^KvX$jk~H^iMH-EN+t7I~$i7Jru+ z>Pe{A8EOeztD(+8o${t~N7na780uWqg@#(vs=-i8UavOP6H#w6)DpIxhFaov&`?X7 z40=nsFZq&bs3nfG47H^HGDAHB^;$zc74=rsvYRJi+lyM#S<*_@LnRF*Z2NWds>~mZ zQ;Xlpt+GC@&g}F>EvEy-?_sE=980*Zx_YL*_ZW;blOLz9L@i}k(yI}*?8J-TD|Gox zeGhYOoO(TK)BTn>^$ygs^C)Sw54FVYT+|0q%dWA+v)|jYXQj%46}2hPkCRuRmfcv% zS4j&qUdxf2>UF5ixJw$DYFU@hV&An8oMd2H+JLm4oJvhg$w=;=oW}XfQ&T4Et&MpX zgoX4mZ>l<-JDgLoFY5==+Dp$Nw`0)`=q+)l)S|c0(ra6E*JS-hZt|$n!kCutl;ltD zgih7@iFzw7?n)~ARRi9k6ux4UyP4U9$v}i?f z<-)P`RYheotDR6*!zWRE3B^ZH6U!F!2^3#H@!=ESJn^X$Upet{lLV%i0&5#8H_Zv2 zC!Yv_@^yfcOIa{~)wOeNR+H(#cG*JW*B)^sE0u|g>->MHXQw(&)g)iENt+CQt*N}vB6!@d54p6R!J*faf3 z==t4pjyLYta_Erjh04?K-gW$|ha#rxN5d^MHBvHDlDPp7(x^W=8BVlEF6(C63TLV` z{rWPcX?nD}Me(aM6}B7tilgipyqT7525&J9nAk)jpx1PW-U)00^ar?BZBR#DD`mxu1Z-|RNKYXZeRpiu< zuTN_{=tDnz?WkS1MF!N>-0}86S4eA_@%_#Rn1;cJQhFz}?uA~(%lk=*o&2mP0thTpg` z^4&eN-&nt8G~xa7!dQm3BL5(1uc=>e}4Se zYc97-dae&2_k84`_Ful9d(~+nt+nB#$foBbI}Y9WP5)z);3xI?@w^uzEfA){s`X`1rb2FGecr2P}?!Nqf+|v8ds!EfMFrn_uenrliM@ z{~Y$(mdJUPpO4A5j0$PiUVRqMekqc1%KeY+`w08m-vmn|W!eQH|oZCfKBHNSP&#!pGF)-S&PXvV9N&)N1G*5c(#ul{N<|=%dl^& zdpjr}ncc5mTk~4vvh&Y*YW<%b*q{8;liKT%*!>mxRr~R;?jK7(U;cWezPWM8&_kqG z=BTGXJ!V^E=`&N_IO%mszv>;gU%xFdd-9{iSN4YZ@hn~HPUqZ zH-GQ#qP#c0@a*W!w?I~@3f(#rVkHkd1EH^K688IAA{G9NWb(X+&kgk*|WDt`t(m5HDE)Z zkhU|s<)YQwBa1zEtgrH&L-{>+(er=Y9(gY1_-8--%1?Rt!+npXy%VwTe4_uYH&CCC z)W5{_PkQrkp3z?!*uHmHMC2y6H7VZ2mcfcQvH98eb@L`RU7&aq3%e`cM9c4Y>gG*s zo1%CVM;v-j*Eg~BVa1!cx7pC{VnK zji(s)4XpcgyNZv2ZI3G6#GRKa-o(5D#hbY4RK=UvO!<`ZVB+!@6>nnQ&5Ad1dX?f$ z+!Rr~iOqc!Z=&{PtM0yuJ6}+|iQZckZ(@2(@g~-dSGY}-hCz|X{{ zTE&}aIa~22w(NORH*aF;or*V6o2hscR}NIXiPm@D(CwSpa*N_kES#Zu6WazT-o(;R zx9RpxY+tK*6YCZz-b8J*;!SM&{&n5HiAjlfyyY>reE9Qv2xJ9zHR;^^Q4XV*f805`HucU^z?8@eF@vfLOf9;nkl|Ff3xcarhn`2eR zc#QVCYdyJFY_Jy5F4GQahmsC;Kh*Qk@rMQE5^{Z-6Hcc`LJLbO1`;OFW(H| zVei^{q@^k;Rn#$il7gg0a$j$K;Rk6BiF0htY-g&aSPU07>uT`n-i79*YP5!zU&}M3iK3a*N+EHyw5+DKX7PgBg)#lr zc>T_Okq_rzDO$?H;VxoClgr=*OOK#EYSbuAUU^Q`*L{x*6?V;ll}j?khd54;x2-E{ zD-tv>8E(-okuWYIv8A1fHp&t0P9CnbtYRJ)aMjj}Iw61KY6Y*V)0Ie+JL6$C+dOq! zCQn^(VOK(}|99;i!5gDP(99-M{FQfY$u2zuc_W~K<}q3Ur=B;}#oGA|l?!X;UqJ4% zN6gE~^);3u*%ZgKER2IIY4DN9DrY>KzHgu&I%QwHw$>PDV2TlCNeO6kD|FZu>f;8H+x0PLkd&yYy|_mDb@9vQ zE)j2ZwZpE|7mEhUl9G$vP7C+z7Mxo!X<7ku0+kYa&xIY!qS}sxC^g)*M9X6fDG>{6 zxON!3swcE)dJ%;$uQgSoCS1|_Ir2;c&S_EZ+ZKiCtf+OrP@E~mzw+uTzrRc>eNd@+ ztyYFdGG00Bd`C zwI6dkySTL%et(=>V&+J0#oH6N()_9E!^k&L%TL1PgwKS`IEtAgxfO3u?2f=(T^F~S z;8(=CC1#G~R=hoND-Uyv0-ium(Vy7Rx#gK`MCX% z0lAPs3d!$d1#E_ETJINAv{4M%8ip;<*H*N)6m1oA`%zWWISzA)QOdU_)BRCaYx$hH zoM|w5UX240Yem)>7TLjOT?$#@aY@>!dWpZ@E^G49ui}U4{T}sR zzYE`x#Tu1Sy-m`(cbHwWWJ$$rl1t0~zL!eB`iAmhkov@0F^bVKeg4E@q~urt0mZA#;eV8d+R^ zJ4L1)pQ=@}rem0M>oRL9pRpn{;z~QE-`A(}Buk?|RXa%IJ8HJNvs5cg)ta$5s-9vz z%xV)invq#4+=fgKlgPXNel*&>Rs&7G=>6_`y)yZ&UG)3yI=cSuF8W>F|I_Y7`(5?# z_*0_(jxPQW{OIWV1s@+>|4u`H&k^Fk>Eq<|ZIGnZk@Vf4B&Sb+MBhxGZC%1Q?ej$a zEnW1de37W%HGbW`I=cSapV5Eh%cI*b`WgEZQ+p)DuWSBX-uvkKNyjJZca2|R`qB08 z`5FD9w4>X9=x6jjCmr4X+x?EN-}E#3Tlyc}e(Y!TNB@lbL%P`C*`<7)W{GT#rk8dBk+SeGPA5H&(pV7ay;pp~1yEsw5YxoKmC+c?%pXcVI z>)*oN=<(t2nm^avb4i;J_ z)cn!R%dYN^IR5DR=Na=)(|*@-^5W0f-_`%E(a_Mdwo z(SFx)VE8emZ-#$kmwsmIBZ>N5(|_DUiSBpx|M&+J^}G6?@pz(sSNnH7k*FUZ|64!n znf^EwpT1r5-+QdF9%IC-tNYI!MgNAhl=MfSc=zM|51o>dUI@kOFYS_ks~1ZV3pLF6*YXVXp8B_&c%FjGhp@bzhR!{v*@hUtkVuf?DoM(hBcR((0gQ zs0Au~Hc4Cg9BQbwB}ucs01q`or7tFFmY3jPMjvX2GFf135igS|RIN z+&&c62nTOaL2=CUVgCu^r@{j~nt0BxW) zNIO+Kjk6XO?R0I3Hk32qXRu#9oR`zi($40E*^zuDByW0KdCAqzi;zyu#S3g6-emJ} zB0s=>vbkw-vY6fOD6fOC?%g4&SXftCR#U<9dZ&!7p|ZMo!Ccv(ox@YE z9oA&uERL-!TNsPCz&?e%Cm3gfHw<|Yx5GZ0=+SrwV$qt4IBhg*>k{;hr@G_J@PtWx zIOEj%Q-&3Wd%|!e#t5Bo#6~&ODMrLM4@No8 zCNkUS4RZ``P6C&}#A*`R1dit$t4et2x+FfA7APqXP0!`LkR+;-BxJ7=&8g@}XeE%0 z(^)l=1E+FI>ijSQ#ymgBtPD zgxpq6H1N(P4}!-V(>FAgwMB`ky(lrc7bPU=qAm%(C>F0>w=h;&N%BPNOJ>U^u~8@z z#S4v0j8uBq5G5dA+=ZhqpWGfs#lO?MxlEcX(%-<1Tun;cDX8 z#QLx(S|963YlC6Kib~v&roOqManjCaeJtgZ6wMkZb0gdGaf-GlPS)+@RIL$n`Mo>s z?&zP&*|!vZ-A&w*U+L-Sv+jDN-^?MYT03^M0jXL)$O;uebD%otQs`#rQRr!C8}tcu z07@H}s+|Unf^wi@Xf{*>T?(y+?u9l%TcLNM&!KLE@CzCV`Jo9=C3F>ZH?#@b2JMB8 zIW<)q0F8nsKo>%JgxL#?fciojw4XSB2)zv558VMRhiae#C=88)hCpf1-z|g%dJ}pU zS_@qT)j?CCAao|w7fOK+4o=m+f_6b~LQg~YL#v@>P#rWK%7m=Y5U4Md3hh6QutD3P zr=hjbwa}$dH8cyF0C}M^p}x>RiDx_X3A6*+3N=G3peCpRYLk59mqE9`m0`wd&?IOm zbUI{#20{ZM&Pq0Me5r{=(I)l@o8E!gh;6zK5;s^{ZQ^`o6U(wqeV|()_OzOkpav)g z`Je%m!!$_NaO>bXp4U_hodhwcYdRic8Mmn?#By;H%dt(Y?KiP(-NXo_37fiq>3u0L zxG@iEgqA@!KzBg*Lz|#2(3{XM=qu;|)Qy`JdqV@DGa);a2^Byyp*m<8v>Lh}+6=Wq zpF;Zpue7!s_leYptaCSXbDsSHew`H2+f0*K`WvAp-s?M=o9E5WI2U80tKO&&=RN_ zdK!8YYJ(0!C-);=DSPXn<VwD-)gt`?Z0#4_vM0|dES^-d zfWDQ7v!|Q9KIj>oG-muH4g+7T_10CoP;=|*x`ho?!M|x@qP(G=_=a_POds1glo>U& z(RL(_DG;b9J>m4eRBq+UDk`v*6ctY%UoftuI$ATgp;F#QikHe68@Z1xUZyr> z>eH(1WhJ_N(wGUk*}T?wT$Q~cLE=;P#upUlj?0}~BBMIK?vHn?p|*rajJ?_wN?JUA zVy+Rqngnwy$S3riRG3@9o})h8BGu@3=hl*Yl?!4eHMJa#n4@j#kvp}pqrZ3QT;aL7 zGfMOXJiC*ZlWLOpj2}32L3%!xQk0ivcezz|K5lYGhCXWYDoeH9sncCnAE`HKa&Czf zCC*vQ#g(_?2CDHo&+IkMp%4tu{PC8eV=r#+dj3H`Te`Q0D;V7jhtqE0qRatexLj7sLb2{Z! zvDiY!PWs468{H|7Ez}VehH zIFg?3)a0IpxfAtqw4PYn?K*!k#U)B*s8vF3TFT_Cf*b&!mT<~{VRbY{&Xcdo=7>ZcJ*WD2lxE$a?6@5FH!|qYw0C9Kh;q}YM3=SO{H0RWwd;LiJrR^+LYwn$$FJjg-82^ z&euhw^9_MENteikq}~t}>XL-Qrk!_~tc1P$$+}dcVU$YJ?l-#3n1rZ9k7&xAtyj-U z*+qqNSi6pc#$rWJE-j^toKj$uBji=(e525*S5jWPkW*jB#7Qt|0Zc_O_}*n)tm+s{0^Kh)u6uns$SdkI5<;pFKI3km~vKhLVb4QbAF!k^Vm( zOOY(mT{m^K)XtE_#ZOX3)Bb9NM5?ihx03HSFXUA#|8RR~oJpy_>9ZHCjP zcWt~dLi?9pJY8>e7R2WAkx6y+Y~GKTcPiucx|edY5Z;9bLMxzMdAMM7gT5>Z02jUzn$Q4^`=&(4{gBlh*Jxozoj&Lb|1c zqlRtAWaPQg#i~-yPSBNhwrWmQIpx);v!y?&&v8I1s;b$K>8A7=9A9y$ z59PW}QErjmWT{lxuFE8}u_$W;%(QRQB@%n;X1$&;Mldw(*2DEmbicWq!i<@?WfT-{ zV2GC*hx_IGi`d0^zGWl)DnRfXt(`!I8pGV6^O6#JLTdYkUu1XCnO8}vPzQH4 z?Ni-cta4#P1?M*To?P+RGkn+USyX#Om$S;o0qDi_OEQwXN|%`>&`jtx9a1Bn5>2gL zml_juR`krY)AQQso#h~~ESSW!<)$09j;z(zn=&JZqy=PMNTVKQI2~%FI-}dTXhS}q zzvN0E&o?POiW2yYq+B@@noYMw;jAtqb*0#78@lI5%N9islTYa`V^;e8swG`Da~rj^ zq#XS-n6B0q^eC#1M(Z%KOv~m2kZ7J-aeS%AG>)W?t*tN8+gNo}98WEKPf;$JA&&(aWx-?n*Q!mc{04?@0<2 zEsk;UJEw|8NLq!(S=s`TPSkr+6&CE@E3(4++VU(0{kY0$uI~ACviT~HG4Y7_z_5w` zQoF`8PeA&b?n6U`5h-n)@MG!4<($1%o;;aZgs`+Y$%XWg1&j$R3aik2!HoYzSU#8~@U%cl4@M2q#)|D3TS#i|-iZZm$y7B1+} zy)WLiEYda3Y^}H*pAxx^(=@G*loJVbp*l27rf6FYKSexE8zJ^`sJMDGr)imHtR+<> zV@RMei_J7y)I()KF^hP`wZ%({>Z0XRKjgE3Y7uJDBt6M={Z6x_nYf#+nr_J)GG=^* z*3f-?EGIg9;oP~=`a&{`5~AJKV@ge>Ua*K@IS*MA0^Fo{Guo2){G@iD!~M_}_b86m zFJKzh5H-Bzlrz2>Ol|#G(w{GxOy5tAbHmJsQx206bS=<5FIrZYrO(PDx?1v@{TwkJ zpA+Om@lV$`^0A21*m{xBuI^D>9aBzf*N7UYrs@;HYlS27id!L^?%l`YTW3ON#mwZ_ zo`^5?dTAIWW^+ghRpkg*_wGm}-#R3#HTmR&)lgMaF|)RNe)hz&x(@yVaYfJYsFV>* zTtRvguBr+p)l$UODRdJ#>dUeGY#HTGqK#U(Km}D9jA3`H9{z?hKHsWS&b_51GK-O# zhncqSdc_*U=)1UfT2)0fTaNqh?O`g5YdiF{2b1tSE4z?8QuMlHX8IUChbBi=;`*c< z6?NA21Ih44>Fj7;@HtJwas>Hgk&os3g~GCiN@)l%JE^OTHsyN>4GmeWwmM3Ypmdb! z?T8`5)@?~+t68a*TpP1+&K!M?d9cScnSY2(`z+1{iB*%C*4a2$NQ#ohZ7S zb<>5CklK2Y8_}1N%E?NRsFEpe8{zI@mVueIHF}O3wVqu`F@JdDO{nkDTcRUrb(55h z)0oP-iF~z~rFH)aooU*?RD3%UWv8ASD%G+X1*q1iUOOc6+?t9>bM&OqdL>U<*uXM} z-h!y|Nt&k~E+xb{dj1#D-|@u*C9zzRPc@2K5Bj@!z9@NeSye3B(fVlGxw(@Ia`Vk~ zqj2(hOpO;8s?D*on)0Y#dugDi$JO(qe8#&Ze1-Nx^5ll(weSK~q*OTPqcX zQ3$vSo_oYSZPa5_qtQL)A0Wrzoeh}b?fr$Zv4#H|3}M@Y431M|H+>+Yx&9F z;coq3EGe7KMGkZ3R#wfMU%jBFw(cT&qJ@htZd}a4C;4TK${*4=yV9-w`8_ujkDSB}N~?{NRpyL21p z^dC^yho znZLr~RPBXAs~t(69B$2f&Dnm^O*D0Iqr?V^#^ zQ{E*RjeAo$8=TY;z8s`6%*)#b@(x%P;b768pYp|YiCr<>EqT450v`{*D|-~_)#>h3 z%+=#^r+Xg4;NpDoD9#zn&&q5rNlzbneL!B@klVRCW1i?g;}=dkCy_@IQhCKinK#o} zIJqOdYq&=dT6rykok7k=a|#{%wa69{=Y}}nemUh?*g z#87g&j{C(`Jk%>$zb8d)lnNgwuPy9PTJTBEV|!5LU`t+XQ17Hj8I#vCIP6$(QbVuZ{9vp3^8;qWd|G|GW_zhU` zSZ}lLwf@~Y$aaoxyX`~UA02xg{hjAH3!T%Q70y?jZO+~#|L9D2J>Y)Q^QGr|&#B%q-kILdyjGvzH_kW1 zH_zYVf6c$ke^$T|$PO$EtO|4s_6g1m{xj$b1;W>a?+DlIa(EFq}+gIVc!MDSg;y=m1+5eIMpud0MoZuC~mf$~vg`wYsZVhb;{V|jl z4u&rdUlP74d`Ea|`1|k)kznNfNSSm#nXIh?mso#oz0SJYdYAQn>toi<)=#Z{ZG&t! z+j83q+e+Ii+iKeyTeGdj_NMKA$2LcI=XuWA&T8is&KI01E{E%U*OM-nyV-q?=Pu8O zp21$Pcdoa=dz<$G->bgQd`bTPew%;1zs$ebzuW(r|F8b<`2?g_pif|6U`SwH;IY8d zfzJbf3H&pV6dV{F9<&928+<3YGx%Y!ZzwBtLFgZ$vEj+#8R0*Kw}f*e1(E5Im66>N z_Cm((z))+R^>XV2)<>-`T0gR$ZHw5Z+161;KC^YVkFbaB1@;R2eEVber|nm{zV}?? zZS&fESNL}M&hanxzu`YEP#Z`K4vUP4jEq<#&dB7*1Cl?by#0aOS6P3wo`HMs@fpkc z_Eq*zC=KHr%N>7njB}-UzVi6I5pRX>7T+7bzxmSref|CXgZvi%F#ibuNWazZ^n3k5 zf2KdjpXbl_U+Ay*|Jwhde<&s7iNLGDp&@4|H#9Z0IP^(qT==))zl42}%*Z%mI3==Ophr-YoAlZ;kg}?-*aZ z?}WgqfwKdlz`23@3Ej(qZGr89oq-Pn1B2s&%Y!-L{BUWwB0Mi#6K)7MhA$0Y5ndi% z5q=@u8r~WHHk=wcJ(3@}BJ!Ka>c|?&nue9$cG*s|pJPAP@h8VY$0+B; zn^K0Hed5`n;^*u~&e9Je|pY3n<|HBwyn3nj1Nm4FF9VLWPRlL(s9Vq&pF&_buM=9 za-Kr0rn^?TcDly73*EKu#qRIixt@I5rwyK7-mtgAyVCo<_gk;qH{Ms``_ebb|E2$s zKT4f{Gw@yD`rysMd&q}RgCjy2p)W#@gx?PjkIao+6}digTjY01_Y|q<@?U&h89qEpcW3}TBM}Snn-FX6S^be%^0QYFO z*In&i=)Rw}y4~&coa-s{RC+G)G<&}GM7`IO8)x~Z`QG&9`wRWW{^|Z%{!)L1ztUgr zuk$zf8)=i8{LB2y{VV({{j2<|{cFgrwf=Sf_5Kb1js8uv@-6-?{;mFP{#yc%P*49F zI20HZoEW?z_&|{N8A4ZvUJNXs{$9eR7T7PZ*&^o|2%C^bY z*Iwqh-%;V5@BGMV^K|!Z^SAnU_;=DmxB2(@_xktw+x`3f2k23>Kyn}@kQPV}^bPb2 z3<_8R!vb}IhCpLrX`qR|Zh2ruU?n}?>cE;nb6_p4$Lj&BZOC*4sANHWG@>v}9XsTW#BH!|kI8(MHE6$7V;1V~b-e{Yx1-Im zhyH%JbCmNSpAjazQ`~9pba!8OKldQF#XZbD!adS$bvsG@ZSvi{O` zBVl~jb|)?VV~#BPynCGwI-hqAah>h*x{B%bN?lP`wd-O=95=e=xgT?Hb>~qAFY`R^ z8R2dA4)dMm8|C}jwfMu6J#sg{gLzcz)$+@x1TZxgG&j*eRo)feNeZd*Q*MmO)hvj z+f_xqc+%a+WAW5_7JF{?w0l?k*83jwy-Zy_E-*T9USNIT`#^rMKKP5^Ey25juLZXU zcLi+`Ei*}P2QIZX)6b{c8f+ifzQdl*az{v*}?jv0q`o+J1-q1V^Fc z7RU3BTxYSf*}2~N2&LdPXS>tt3c9jf6I?T0N$wM=7e($lw9S{gm%CfsFS*}#?{a_Z z?&TTkv3oq8pl5++mFGdvQ;!^oL@WVx-MdLyW16T-{d~Sd$IRYMg$Mhf~Wh=_Fc&6_GRCXKD&Rm z|5pF+{Cxv?f&4&Wpg1r+Fe`9H;L*TSfvt>H28ON+jf_Miw?}x3qDkf1$=1PEhc!rT z8g4(&zS4fDeT<{h@rvVPMsI1(e0t?yI4`I5zK_;>n9J!3xGG%txt?{UxKCs5P~~oP zuXTS&tKHvwB0c9C|80SPkp|6-tFNSlyve9-Lb#sM&vB7F-cw29^eyMotgY4^)}7Re zHtQZ{Ec>kO*8SE4)`LvE2iZz(S5k+Q?N)oE{TBNuYVQKaN=nnCj+Y&8IjqhJw8qyE zqGz02o$ot8arUL9akz?Hm%8q7z31vqie)_?_4T@#ikSTUeTLz_)vJoPmBQ> zjW8&X)gI1NS~oB@8fKqL9ZYdv?RmxXePBWGVOp!tgOfrvp$mS(jjrQJtxdI~Z`yX) zs_nPix7(8)y&SzA9><@V!w&GQ@I2<(zX%+rQA7`FxqaGGC4F8pewo zeb4*8phdIzL;eZ=i|E09feC>-nNPVx_k~=H&Id=vFgmY@)H4o9($`Vu+h4H{a31Sg z$$OdiZSQHmlE9q6WsE3%!Q$Y3wEsgx-q5?DSa?L_T;^SS7)ua&Rw}3S z-)oI9?)}jE4kNNZ*+$p{_7eLSj)BhElz~a^xt`lS9?E4dWpIh_9p+of{xccxTtKUP zyMG#aolYtIF7!aSJv=sYr?|`If8uV6wa_|`8J(+RY|u*T?6mE+wb>4mO21)jzuLWq z`Q}=&X2E%3&v2LaF655F; zXz5>be&alb{$_&fLf0d%ZLU48fs8uNbI+xHy^$IEHfHGEJ?As-c)|N;+OQ$MF}`Bb z;9cJ|W`I96zU$81>(0Q=V0-WcW+b_xWud1++2PsYRpCd%Uxpp@MZ7^{Rq1oQ^=#`* z>!+w_cnUx`&Rj0^7;J>m}y_?|E2#b|8@RbI>vD423`v^g|13kF9*hr3n9Oc^oBh3YwCx$&KWyjFyFBCg!0|n+9#fq$=Vs?$=wS;P@l1Ek zV$4(Fs$|qt=W1{@x|Y&%-{R`;ju8I__fzgu7;W9=`GfBPMvbePTQmpP2G<4G2R8&a zGWy=ky2KX7;QtJInQ>Hxt_=^3xEcSfj%bA{ZYSIQ_SYO^@NI@ZwtCt%-aV7teaXFn z@yiR|t={gwT;E*ZCdMzX_%8J41ttb2GxB^O@K)fL!PTr8oD`ZIdOEa^an_i~*UaO) z$<$GsKzWMUUbMY!`^xrrTY$dvZToxnFYJG{4`dW&b!0lOU^IUx3!7mw8aN#-*VjVx)*sY-nqVeeV_YE{ns-xf0xyR_Q1;EDtzu5*KPEZb3-?Ten(%i zote!m;lDD!=Mb&Fnz`EgB=h;L*0)J>nPvIy7uuut<&2wFvdVD3{ZwWbjf{YIJ9;p} zc#WA>cUQe@i+eBqw&pq2Gu&hIc)e4-y?tAJdwmZ7cm7iXxunFRz$Jl`LT$2w!5qAs zwu$|Lvlt;ZP_p+rzH{WTrc}>N@lxlnn1kQwyv=!+a~=Kg6ZAP-oUc2#)9_a~ zz2bV)^+$U2PhDTRzM)Sz`t!PX+U^&iO!-XPIX??dwX$KC79BH+$B4)_K-5Z{0|X zyP2``7JArio>sZ4grEqa8W5#Oi4+M)Q$RpLf`Xt12@;xu zL zqW!Lg=n;CP9>u&Kjb80U?dYWsz`01%C+JyJ`$hUnPX9;xUMfl<)vg3}6k$}wcWR8| zWZ*S*q{{YYo_vl;@)c&t`Am;hn~XyToi4ZQf-z{g6(1X*Ii!-O%o2KW-1i*;sAwv}2v7)S)Mx zs9@*dA02nGdv3GJ_=@;7)Gj=Hv@s3P+jAFABd3mBi{| z0G-lT+=|ci7*+iTD&t99%5ut`N+WLaTil=~{#E{c{;FyZb%DBzQ}iHy!A2BRLEw6z zv6ie2)kmO}7BP!_#AI|DKd%yQo?r|#hElcH;S_#ue8+RUV1zRZ$C&j|#{u&(rr)XN z408^1?^1J}dDtv4PoPtNGUKd=tdTfpQ>_(LrJt<`JJOEj8N}J~?w2j)l=1xE(ZYCo z(mY|8*jE}VJu5AiR-=;dQ9e`Rxn)!QTm5@*ixl+k<16d!gMn*a466)u1o8jBhU==LeyJn8ft< zggDuoGfU_LHSiW2O9`mHXQl5YO@5K;*h87BOjnNJGr2Qel>Y%{-%s&hI&gF6s_&}5 zs1bpRx81}C0zCqc2gU>vv}JteYg!e(B`12OzCh3AIh+6Berz;$o1s=C>mFvJmR6FL z%*@fps%h875lh9j8EL06pJmvS>`Xh$Za{}jcQ#X7zjXK=U)#!fGie1ON$4#M!%shS zOMgEr&SZKz&G|@|zLlEF&1F;mP1co1l(&@+(67;c$v@uz3RUcwe=vRgL$!HeA{}QB z9)DSV1?peN@z{-~+G-uN&Z91PX!&LMP0c=E6`>*X*=aQXXz645JsikU%n@Rs13&jN zl;LG2hA;|CozDwqY<_ts$i$_>F!+|N~9hVN;D$QK3+ zql6Txzx0)H()^KASJu_R*w@eJsxmgY!{q$SdFDHpdi4;{8m+9B5oiaW^@Mo|hu`VM-Y! zr_%jK;$WuB8T_o7OkC6DEKYH@GMAZo5&dsD&wQDvRq~aCw@&#PoQqZT^C$xKgu z=!t{WR20=nHBC*YGfq-7)hu=TKheFLnCN%lJnhA6ynXUX{1<&Mk-n6~IZDBsEx>dB zRo};~|El#Cb?TUvWcRV3vbWmzkhcuShs_DTkLUfJ>md4kv1NTZ{85SXZcvx|QIlU2 zmIzyzrOpdw#oBm4_lb{+!NBvXDweugK$TK<6Au@A@g9JBWoDszNVMd{CT z55qrBVg8@spY6ZuFONd7sdaPIebkXIsQD(ksGIsqX1^BJVCxy{MXQ^4wO~n@HQfwXfKRQF}XsXG-U#gtERxe6CQTy3hzu=O;dyPg1!V_mPxR%(D!mY7U!xwZVD+)?f>KPr!wr^s)} zb9uv?$Ok^dul-t{;eUq=qM0hI->C`I|J8vG+Vk2KZJvHnk0S?r3cqn7UN*JfIAv5b z&XEHKoK$C#v&ZoT9}JEPPIWV~ zl(N1heC}F;K-JF@w&AzLQm?YbcbFNkh?A)@E2M9vi_%@PUv5QBc#ceFfxH!EeMyc| znxTjLC{HRw(Zbovd}RYpUIE&-CSC1o)awx=6B8 zU)RuS1N0Y}41Uww8GX?V3ytrMp{Sn}{3x7VfSl6Lxq&wyO68QKfYb%Ge^HXi5Vr8# zqLcvsPaowqfiXEf!W&Lkb0uFuk!Qk^Rq^^F#W|1YV*R ze8hHSIjKw@JMD{{#8@ZZ>5Q+j%PDYva>9al24(!J_Q6El=Oi@1P3?6&c+vfw>80nO zqR<3o6%_l68RGlQCy~;FoYsRUA{?W2Oq<8{L1~@S*5ipM0i+;5XXoMMNxVf zpM0M5;eXpj3{=esveGOimbyK||BXKmN8yw@J5U8>{{RZURIz`ewdE}jp$^n0L+f)Z zvoXz=IK4Z~PE>-)WY;Bj3r8h!@5_{(gP%Lyb z7@lXQ{JK1wbGbxbCBM(y_XWAfG5M5yUM@kWl;H_SDbY%d63dg0Q{r(X6h%`kC4r~j z7B4dq|2IiVR#JEa14!m)lgn4eJ#5EwPhv`+MU7kHucFpe>(YJhRi#^5Nrcv#jBc*B zLuH9s~XLi8uE=w=KW?gS-=A8H*Vlz`>I{vx!-xp$#V8`md-g>AsS-v;pX%E zY|pyyAh)cSnN_Ag+{bKt2H&%q_=;E=wcw{G50D!xEtCl;$nWT<{rvj_RXNM|8&lBK z*NlmHbmz=FP|5AkdNWBKMp4NhO=XsjV&P?^##L% zk-@6L=wQ8I!{9yScq)8DD^7Vw&UnvYO0ZvW5Z>3w;Fw?rJuNFZgN%A1>F!F>zKtZi zAJgMLCtv**hwFQ<9(s3nTUnoW2X2?(R>kT<9axRVLOh9wCOASHp&dQ2JN3Lb)p7{_ z{3szEiXxMqm@Ui~7C}Ge8jW(3|IJTJmFI)(w})Q*MtzUyci|c#1(EJ#*xS= zq9G=b?YC!=ag}%fm2=3p`0ymWf}q1ede2b~kL!6Lg5CoV!6dkXNh%hZR}4 zE?3Kr;fYqpLH||R5eRAoQP3~}1yc54VTUsEUk}gR7 zQGn~Hu`Q^uE%7gs)xPSaz_h>|?JeyP*?1Mbj^0`CNsph2&woGNn{Lv z^`)nqr8CI@Ymk*{4QIwnv-ldhgb=2?Q+cxbx;{t$T>nbHZsj@Kpmwgg zvqEZ!_xn($xhoLqA)d}}Ep3tq;f;Nw{mR#?9d(<*U(4Uh-%)2S$*N)~4tdu7bfJz)7o5MI)beG@N@X?f&_-nodgNo~ z=+6{iP6&J;zZdDod>>*(SdmtgRo#lVVo0@oxuyU4HKhj}fQ5>>6DMOfj7(KB?Bj+n zKLona=ld-%l<9fCx!&A|TM%N^h5Tt}^|D4-uUhX|8)1OXl2O#OTfiqI)6rgbpJid` zyFQPGdQ==t9=D7n@I0sg9{T(yW`+p49@>90n&boOXjP@YGLjQLRav9l;jiegO&vVo z|Ir_%zKp+AK+ib{%hg2djC(pxTdeKFfeFWL*^Zyy*EkBJu#ny}keO3*+B%OzgYX%O zL%ezI4JzC|F;)s?+L+{ji|k>Px!&{6g8KBm){=ko{{pxV?rDL zGuN{_u9Wc?2U?Q*oX`|~y#AB>--`|Pe)r5U;flCi?(aYC{#KckQ17ga2y}&4YEH$? zHN89|HPmCMeAG5Sy|ceCQJ723I)F+oD>kAgC8OtG7vC0lQE9G;)g-_4fOH<+^DB9J zs9r&@qSw;v>UWcMx6r$ycyAI1RM7NL-$DLqpAf>`Z6mg&wk3+)sBX#JemV~)p&#>=FTeEfZ42ks zM0^#PIn3qTeTT?LyP}+S_`mfBNEz0tpQ(*Ww`Rc@M8h*q=FDE_evLsL{-jqld{JRu zty#=0vW5&{D=P3)`vBehC>`~z{hPB0&LGS?3mqUa-ef{5=R`RY+?h`ZgZ$<9jEl{9 z$L*QN3rX#J1lr>!z79=O+58(E%_Mt@dk+)BygM*W`kVX`nRg3Zo|giD*Glw`xQ(0f z$flVq&}?6lXIv*KuIW7JBsxhjA#BtH^c=t z(a-6DHv(@ne|&>?dxutuq_iE>W`Aw0mz1v6c53_S05$a(CcMG;e`EEDc&u-sgEnzz z&*?vtSvA08GniVsk*JI}CL6Co<197Gnzf-7TA3Zq$6;`em`AzMXUT`}uqu-5*SGw1 zg|XH|D%qP5PPx`P>e(kuGY73As@jim24(FCI~rfBfi2kqn56c0XIQ{~Op&QnoALH5 z_H6r2T%xtS#Vw@GU%;rIvCqS)mT|(JNGHar?=(hdnoa^w_F<5*Ws;1IZuk)9*?8p>!f+}oz$ zhv=d&gWm)TQAC%5SD3ZJe8YK1<%PH@at(Foiev37W@p&kzwN#6X zcmU<3yT}C-@eotUH^zDX=6dS%SJE}f%{i;#-aO1y)|c)yQC`kOaf;N*Q67buTSL#; zjvI4={HYv%OKpEWPC#o;z(A(<;iL|;{Od>?b}}8G@&D|vL=KmNUow%?FpW&?Q(WHA zKz%X+F`x!IlgW(;EDWpD=t{5}Zw6c_Ghkm;4|!+#UW97^qzJr9iJ6 z*}^sLEE#dE+u`k61V3>9&YUnWkN-xfM|T)U_P9qbR_^xqhqS(zH`JOg z`T=)zI`5&oF^9MCymgSd<1r{fw{!Y(!#pn3B``ap#^*sz9g*YFEX)1*YKT^cB&H)d z*$&*C^QfafkiS#)`MCVMc)KT{v%-x?eEzx+%IQ?O+R$whWWq9f^bQ!s!|2>A5Y_#x zVGx8bTl1)B#a0Eo5uQpKT=L)GU#2n-g>aYd;}dQ1dP0~llaIC)eycVeT@|~cRWfka z7oyyM##uMf$EUZq7_uCQ^r6Xlk+I%hOq2;)cF`^nls1!Ecs!cCmtibB2E*3633zV z*T5Kbkjpbkw!;1BsjQ{C*2Tq?;b!y5?n2?}I+Dyit^TG~3)~-g0ye0JHd@QjmvA2{ zLNs?Z#u;xKYm7q>=XFip9BUr7j$6Z_f_;Tyo)+IAJSq1iJI*0BUyZA}OW8*+xj?F6 z;E{GDOYTK>2-A*Nv;uDGBnhFS>S_g;pKi?li&2ZijF*k~P))xWRp5_S+{Ppqne#or za<#P?SKtub)^Y2Cb%~n#esD94L+Lr41krxP{}v?CS=35|UKuyBx!zvyZcZS%x`WEx z!Zu(*dr)p@Cn82;J>DIN=_DHbYnk!B|6#6$NoIjQQ^< zqPomjJ*7S5@ptkT*W-zlBXwHI{i*10iq?OgepLs@t|81$cHlHzKt4X*(|R^!XAT6@ zr)DcsqW*S1ZcS58lbg(6cShiE@&2O1eRKI^0J>}$>~|%x22+kDJ|sTOq%(-=FjTT} z+XpGLls#-HoL26oIzB@(KOSFmDpcHZ*!)lY`ON;ZI*@F24SeqNq@6zm=4q>#qw-OX z-)mRlGM~3(!weM9Zf*j)tY5Oj7DwIn#&i^sT7aQ))c|Ktp zlWt2Ye=X906VkVGV>L{Z^b*{>s!Rlibsy8=ChIQxTz@#N5Ah-IaAefLAZI2%PCq&i zzbM1wQp(XWhM?HTk;|lMAL1F-#VPz4F7}8%C6>O+Fu_9G9v6==Z@n$Aln+op zyU=rXDOGuEE69O*lLyb&4r+Du*3eW#(U8fU$PIM=iuCD0_dKA7;rXt@GCwDd6~BN-keJUiQ9LK4U!=-R zFDCQq1YGJODnWhH%Lj3Hx>IEb!p*z)DOcG^8d1yN2uJuVy!Aksi*Tmr$LVAXv<)y4 zvHEW)u$p9)jp$V}H#7*>^BR3BfP!0Ptw)*VvtdyP1y;;@ z2iv3Vmtf)^%&kJ<#``Hd4OCejIJ;9GfqR}FU2?BB@ci|n5fLedo2sM-w`^oPhd1VHY=IN z3N;Nca4eeaef<~xVNZ!JFjg2_;GYj0Z*s!sT1)A)#nx4;GVkCRn-uOhuDkOkdiI8E z(_FAQqZfoQu?6#sDYZo3b|9VjoP@LrOmizIK>dC$_yQbXxTlTBNfF$UXM&@Ht4Y=P zyK=(4IjJ&kXQa}a8M#y7bz`=%0JS^Z90HX#m;7WajPFT4OMAPw{j8lsm*0g4@GA;9 z!l}gm#4Nn5#m-8+v&VUUqtRPS+`l`w^zR;uH*`s;DBeXU90ea8OS)!AL1{4Q*heH| zpR;{Z2KwIOM6AN6E>VW~H_~^%$FF>pyt0V?rs(ZZt!3E;I*7Br%Jgju_jLL(!%0q(AAu>*YvGQh7!Tjjd>>Z@9rf zns-@`!^*6)_Mn98+e_^zXD4Z6cV?hboF-_k!f>yj?}eZ|&(jFSAxk4qdJRW^fp|i! z1Wg*GclJX4Ea60j%2njLxFr@EGMkBUDgJ3C64+lAKRsqJb#M~T=y(6)r03&tp1KF# zV={NNp;~W!BzgbGWF@EdU-5h@!a}zrPn}@)U@PJZ9MQdOA3f;KI>q50+qp_OB%Ts$ zz_zstq-!oi(E?67irFT{Y2d^;%^k%tP~-QrE7OJQ*2~+MNp+rc(!6b%|G#c##DC~z zj)auT6kdn3*ub96PT^C$fFtZxo#K6zuoF@S-?FM$M{G>m=X#cH#E!U?L-5=uiW?#J zTpjs2wB9kEmFvs=CYF)PNmZoU&;;?4Nbb?ndw);-$$wl$eb`L?`zfdVD|o!KsG_Uv zGllbhO}QPu)${TOW`VGfVTdl%fir+wuG$*!tt->hYwThz#c%$Q zKJ1H%@c6NoLNE4DhOrAbo4uO@;sw$5R>yEJzm?o1WG}p25kz<_?!2x9mHS9O_TyEk z>SO8vihs9OX^Om&MAv zREssrdeY9V%u~Cdy!LZL4zoLRjM?h65@Ya}Bt&@kx`I{Ns%F(<5AQDPZusN&1s`3?-Ev0j>Wc`gkI}@HIQzj`OC_$lxrpfjz;` z+#1L4-*z=|BwWS|-0R9>G;VeRuJZ&oimu7c6p5*?4M|2KkyEek2`I*e)0dgE^CVlncXkJ-9Er{{xthg z*)X#2lGjl1j$1VMB$fYOQzUPTmcF71+;AS+c=HRa3I6jno4Gu zrG_$G8KoTH4BP?PC$b|@pX_@YXLJ|$s8?Vz44lrU$P7J)zPnvNq&MOx>SR1=jDmZd zP35bO67!qgnSQTR(;Hc%NWP}g|KiYio6&b?>_*UCJ)QCF2rfbe?Q;%7Avb~bdY%+! zJgMXBumwwl``q`D9^vu1_4rvD!?rdjVNoFrS__?_b<4mNsO*+x!0)(;$5Fb#_b~Ls zrS0UpJ()tkmw%BfDz!L2Mam#tp%Q-+bz$Iqpn}$1vzh&d!rN`vlA(}i(HmPBLm*>k z7+)~WSMX}W1a_C^n_JDzmcmr`0DMkg=7CHys1>*_C#emgPOKwP*HgXS$4oq|y-oyK zQ`4YLqO=;Pq$v0++9ASYsqQ5mY73z|fE~IiRMHLb5k=^s7=Dh{DED6YdmBk?!r)f~ z_7^)bM^7dNKFQA^p)9)MyRT-eB?gk@W!&m>{(B&RhLN5e$6Kz$`Ir}S&oklD)=u_Svvb)C_%Nw$}w*#$AYnDfWUA1EHoSuiHnvX^~ zh_4ie3)qOCs$#GitT(@Cj&Do$`TmAheOow=yHk@%Hc=c(5;c=fyx2>jK4t^;Q8J}r z(kS?VEigO9kPJG#_yrj1&)BkP2;;FGp2<}ySJ)Bk#|$!r$?`dM6tnC&bpjiytJw&; zs5Zi->CH{s8u&EO2#S)uTJO!RLtz|Z(yfZeY_VybrcdHMZeV(kM4@yx#=SinE$gyEMyTvnGjpRSlLs!M>l0-vwp6go<#8lX{%phbR)p9jNpg zxMFR{3P%OggL6=|hf6c@+z4MZ&%)=WfQ>kt33v@p;(SdI77Dw__6`dty(|bSh76A9=-T=96&d#?~ajBcxThIENvT!_hIFV3vk( zrnB&KKJXIuQex)1d^g#tLT~vSr(+29em2`^?=lOx9_@Mft;cX38GD~9o4vdFd5ai7HZ9#9rDpAJmv;M2ln6obsBm~{DHaq zPRZ5sUy$y*zt7A4-%Y>8a+PviK2oV@t04)t#R=#JNf=>A+4(p2cZ=`|BD_6+A5%iK z5JLje5aKi*l0+flwRp=nX|kJn#2NUdViNhw&~iQ{1d1ur%jN%h8lR%@q4<4@Ze}Ck zjo#$iis0F9@@p===CW(PsB)gpxXGTC@|7-mb{Qq{XU^;o$}H&?g`dZE_cl_3LMvconZhiG zbl%NP&VnqMd)q$iHgDs!=(cUs2y+ruDhsCm528Mg9pM6|)gtEAbIeyIOnW{%1P475 z4_&}r)u?78Z?K`hgmNBRo6fn*^wOSuz9HcV6{8Tk;S9chG1T;B{VKnTGQ^0$|BL!> zHuwL`)eicPHg$Q1iRC;`TU!91Ah z&w{PZ_Rsa_u(PlPhb$Mu?&b~J%}!4~D&h$H3x#a=oT2{~qbV-KC;CYD^I$EP+}IO1 z$1cECvV=%>0Ae7*;$i6?R)l&i z!FdaT_peR{)liRTez){Cc$D4rWW4G@`f&PP2B&zsJ{LB9IS$k&H0EB;a{*`h9Ow8d zUR@;TH->MWh(~!^Yyh}vRWdXCAU4X=;21J*+`8p>X`3L$_Hw!kpgzx`fv&Ov8_8yO z3|rmtrea#S-|gA2OlBW%5X^HLDk75_G8e*qIn2N7i|=I{uK>>f90bT!lKV)q{}?K5 zJSW7$?{81FO@`YZ1Rs%RWpJOTbDI~j2ecL+a0j>fAosb5yIjIe4&fG8w_{-A1*vh-{;@e=anJhJ57dOmffkeX6VJ@HXXqR0|r`SuTiZ~jQ& zTR#%n#Ylk^OJ#>3ovr>XZha1(Q7%ryHu%SU>R%z-_Qh;z`Pj0L!i|b0VGTg! z?761kcBV2pq(e(&!JOvsohk0F_BJx7e6q(vGKykY3?Cdu6df;?+bW=Y66kt~D4!H- z0Hn%DD3wXn)oi@jB_xu0>|*V{%>{I~G$QDa(QGNiQByUvQd>LGPO?+Tz*DKN>8Qml zrn?-pQ!XjPHvIB@QprNpezASo_Bjz~$Y`{39BNs^32EzPzA4TCl=DbP{Yh{P*?3?} zNV)Q0T6TNi9#RO&RgC)b1tZ8Nqe&;@V7N5C3#Ba@AqjqK06FnUYR)9st!!$|5#yp7K-QK*hApgV{q0Kc=h%; z=Y8PQ(@0{bLy9iPY1;vRUI2Gq0&gA(XYOir3$DBys&)_@c?Q~SE}Y(4Z|Xn7)L)Dm zh)}A-=EcM0wZW}ThQS+7P0oZVU4%y4gmZC(>7*FxTXy4>NZO8w+ z9+L~vvW@-yVlSl*5hKJ%*t_a@5HT>~abi4aj)Fq7An@AXB2-G1PY62?QQme#A`D$J zbEmt-knQa+xDKSN>WaKQg%T;!+e#3;eS`$4paGniG;i-96K`@Y-)*rQrzjt`v)I#* z)nPhgIWr^4h4Rqkmti_IsN&(!NG`#W$G-1nEt*=CME%L8<{Y8UL{nRms3+OfkR#NM zXlg|g^&y*@aD+M#&D~GpzGrjCkFb3e&0S97{$_J$cW_&M+|UHv=rnF*4!5w7n-|M% zOW}s)aH|U4dg$YKXS#oIixPOwuD`Gie(@?Pe=JWaMNId;52_I6FqWI-ZhNG2gEsL* z3ZSrjY-hL|89ssE&+7d>A>7JH?xm}>-J59%Ngf9@0B3gzx#(^@!{QrTChlg5`<*zc o-jhhXwexaQO)j~$KbJta+(9oaVH%91-ln)-*8l$B|ClH6U$?1ZTL1t6 diff --git a/src/3rdparty/win32_bin/libogg.dll b/src/3rdparty/win32_bin/libogg.dll deleted file mode 100644 index e875458db102e2d893474310eb9675ad9a0f7de2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 301056 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

    J=YPf6K*RbS|3 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

    Wq@c>o9TemI=kdyhW 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 diff --git a/src/3rdparty/win32_bin/tls-15.dll b/src/3rdparty/win32_bin/tls-15.dll deleted file mode 100644 index 492d15d3e92daa297d1ff589dff6d21b1fc61cea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116736 zcmeFaeSB2awLg3&nIr>Dm;n-qfDj}omPjK5N(e6#VUnl>CydMxAqn1MI*zCa=K!|6 zBt1#Za2!i-^*;7qty=V!UTurjwrE?NkeCUGfMAsttWl}%I8mcg2pT!R?^@@~WCC7) z_wzjeJbzp?`<%01)?RzfBkw;p0?(Yt`#<|9$G^w$e$(^8W4ZjD_cP=95B^?y z`*(s=_k}I>dL(JFB}3YMs(X1NtxHOqG|V!5sFaU}|JI1T@>V>Z_$xvjz0rG`BxTYU z{w1E06Olw@{7aYI$c&7XH~BO^z5iyBRt}Y_i?fBK@KpU99z~?M_uc?`Vpkn5uu}Xd(tt z>vO);%EqgGx_oOW&8z3myxQVyj>=ay>&g`2z6UvGZVK53UyVX&!rXRI9W(7G=0QEzUEg&a|*a9#$oauIAD; zZLVk%OQXN+fshokgeLjL^Vdrf-qYxPm+>xz&wzzZ3elT)mT6em@AWlD-Ikz%71MVTxY-l z&f=OJWq5I&RT)xTXLmF$0DP_73Y5yVn{18ezyRAeSVjmX4Jm3(3kn0XGGd9Lw^ zX#nCE*E5-H@pKdlh^x4am0C12=r+qdY?N`Gah>psOOPL&|1CUxLKpS|q4JO)M_=&knHd?bU^S9B2F9+I@-y5fv^h>lV~D;*#9^lPPgVUJDxTNzLa9vLfv zS?FEMRNM2kh8=+49Nje38xY?^EGUG8JuOtLqv=hA>ZUwNnW=8dk(B8ey%@nZZ?GNc zN6M_hK0Li*)MzT0gYIbl1xjchTiDZwR(ovd?>eor-|U^sg8j(v7dtU2q9R@C6IFN8 zt5rkmR?sM~0v>Z14?7X6I%s1Nbk9JEi5Ha6GWE4NAt@lfg4%&GLB%c$PUT{A28xL_ zgDY~Kpz4oa5IaCzys><-X>O}YbbO2BcR-p|I;+537LlmkNm-CymF$g#0K7)r zg*tR42i*hmQSW4;h~&jY5i2tU;HQkav!qQKmnf$6i)${xP1SW}IHX`*IMWq1sHN(6 zC|P@UfScn(0^$?k23lhH^ar0roL~IR0L+pVu}00}EhAr&=0u8q5xXFk+e5t7d`5Qo z#oOQrzxX+4vKgZu?dAE8rxvUDA<|-Hpg3cJw$WRx%uWxj%(*K=naHyt`X34k`d?_F z!L!LOi)`}?C0ml>Lw8x_d46&4bd<$>XvJhToumhhBEnR6YJFnV1prL02fjY7#^%@87YHwa=udK5(evqD4aj4fPl9W;ZYK2n|3ZFWgn=|^4ArOe{u%Kv+lv+t%h3sJGmpR!+JZrW$DgPB4Pd*szBTlm1ln8z8EEnU4E9KuNuz zdC_>uS;r;o_5chiH+6fyGG2V*FDL+(#c<6INnUZ(C?9u&ImT%Vb9SZ4*=naHyf6n- zC+RACm!qoqWD=zlguNbxG5R4x_p%Hf<`qvPjz)2>A0j&#L~fs0ZJ>{iV;Eu;YDv^c z@4z@EKhbJNvIJEMft(ZE1W=STW>C_O+s8@Hv-rCkf1B_(70qqLlj4p3umw!{dbxqx zH_DIOzxW3EQ3$e;{K&cO0{QXK0+2c>KmMQjsq!PreM4)LN&|Dqk7KI`12Fs4>`zU{G`lw;23M z1H^qRKh&*R*pXhfjkz`~^xI zZ3;lz4zy@gXoycVrGSR)F`MKQYX-+B>jb^DO8biz2?C|GPwlgAoB)Que}d$MaL~L? zZ66ONvTcMtwr%s+xp>mzwNKw#}ai!)mg zmIPDu1{T2T-J(niE@FCoj^zr#8wyipzw1>o5ws_DwON<14v1fGVhV=K z@_@ml;PYH)??r_^1fi*r_)!UDqo_j&Q4=mJ;8N{es^y|m&zq&Nk}LU?@gO~$)@xo; zeT(!B1%A=^8KppNaWrp53W@LsiLc}-kc5+h#~F6vMX;BfutOGx^7Q8f1sb&OXu1}~ zgI!Co$X$Rm@x~lNmX+&C!P5-xE%er4sthr~QGuUu0kjUwP+*XEEiu-AT~y=^a1+tQ zPvUz^Y9&QnV$($>o-|8fy=DoO5=YMDVz3`rx06tqHxQL!jJ@5ANWehE7^}et z5k~`}G#Q)1@>G9MA*pz-sB1qMK3v%s^PDE#<;+5``zU62pRgK*yLW;GATsPwbVmhO zqR)Mz`wTa``#vPm)D7+`i+K9TtONf14=8g6|DeEHF0jWeunYwtiADwQ=jbQQ==q4o zl18iS1M3E&juD>M9iHBp=Op5xW!b`t-P^oB<~g3m->=6!uany4b$HGN{K$Pu&n+~} zU;$FZJjcmY3T$5Y2K>pSxkeIFI0-OF5~b!C>lHUa=0RU!?2i4DTIuY593^OReOQM& zx^joU0s6HKN~xY(gi4`fLyd3-pX4%+aT!~Dn!W-3l@|~XKqEDYF(LR2=lMSJV4Zrc zk#JboHjD>tcM%ilxl;iW0OjeB%pk@hkKG#x_(Y7EgBB#i0%9K*wZ?~rzds&5M=h$W zrN!IOS`w{&A`MT?a~i{vSJTO#ut2q20$^cUAqyV$-_5IhJ*^diR0I9f6o%N+S~m`mj=5FhO2g4c0DyHC7r z;52}4noIYI{exnYL_+&h=Nl|TY0wX%k3TdXI`fZLqH1#qm}!hW(n}&`HZP1KAg(<) zel{89z5t)GVMJM{mDzofTAGc)M6j9M$2g#j)9WKHn#u+C8wFNC7Pz&_98B8dB4v4i zn&Yhs7IK#VOv0R?l^3bAC3(1GVgs=PblKUGaxPqCtST@bM;Se0s93DuGybowNa8P7 zkbI$)^T(VS2r7j(J@AWJ$y)H4Bqm-!PlH~!rqp+9 zqQ0%k`aFsHUP(sH&^+Tosu8-954qw>;xTpr58I9l5qSn$1u-D2Ek^w{-Q`dLOr(HM zP4{;p?FPOZdzwJF0Tn>ql2b$iGF-FU(HsPG20|4P&+{}neY}{7K@vK5HpXh$^StJ9 zh9rkmf*^VXf9(#Z+llA>_r>lSg=?PiN0vRW zwe2MniDROq4K1-LtJQs0EK1dnt?NH&)*a1zkrweeBbDuujpH>-Nt&biX+){5R?3K6 z@rbX8Aw()q8R^>K^ja*RR$xwo+7hHehUutWZL3gq>*fYc*{#()6FiO*zQ_-E;o%h- zrNGANc^*9<`(YCaV*GPKHm4)@k=i=Ph=oqPp_L2s9Zs`_3yVH?Z1tS3cf7ICZC3Ur z7V=aX>Ikl#L(~6>4_Jy&2i2LG-Y_!-y~yDcFCYg{g{X18ifk*y@6B}TGU6v1XWGUh z$m7M3$5t_-8cUH2jZPSA$#FK(MRbSMwu^r(r@TaLVv|^zlisvzAcB9VZ_E=NNT&Gm zJc^H%kEaK%O-y#7`icFdL=3(O9rRMuuaVVn;HCH+6N#xvC|b1%;%=@LgVwB-%>k(x zZh;^(FTu6~IHy{<%cr877aVo+Dw z#ho7-v-H2C>WJr{*C)7kT4B&C>-F_Zn|FOT5ontl>-uwOoR>#)LMJ zq1oeQ`n7;$;q4=E(Wd;8EM>e;RIqBp_8OCO$J6`+_BLyJ(1i15H)G`!qm2?8YLbTm zsCbAYZ2C1~r5{C!%dJLpU9TGL1;=Ar75k{wfQcNub|Zsd95igV(3!zELpet`iCOG(xXwTU4mttUE1n^9 zbtkdlez|mq_ScBdvORqvBk?!6y75aOAZ@&%W&HdyUsc39-zzRDCEo2z|J(#{hY0{P zzY^7I`hBA4W@@1mxIrHXW7&SXt~P8Ti4NKYXQJA8Mli>0()Zql_^cuE84zcEw2Sm9 zLVOyWMMV;W+mNSfj~&{F-E~5I$aYmL=!6zhey+eDKntmTo!}6!ICvG1Nid!R-SWb4 zv}k+g+k`L&+|~8}(iD3CE(p1`iUGxpdJ8AjT-27d*m@cXu*o zTJSi>)Ffj@n#_4)B1W;lM0^>~c!}x`c5(izlBpSyO~d2Y2L(ruPK{2B&j|K%v|gBC zbmX?i#|8U1TBJtX;$Q~3T;0+y$(d*0ocwk?ZP?obl-P&7ObMny^BG6;87LZ%aJq6j zoF~4wlxi@=1*nc#QE$WzbVY){3(yXezX2fT=J8_iJGQnXrA}|8)J|Gul{lAbsiyLj zJ|5|LtaZ|MT$N~IV@%GVzNT(Re%9|{SI-m2tI&WN;wxH{#>(;t3GDvUL;jXe{2Agn zF(ii7!L$LqN#!SY35Z)^|A1HyZ_TR<*N(?}lx*#QPZlP9Lyq_!LHF1JJyw=OARz=t zdquNhiw>7zg`=37GcRVDE2%xpY}yS)ky0qqr2~reQt>RCE-q*i<;Ro)oq(($R*`W* zlX%WG_gSb(AClNKM>#c#HN|9;9)R(Jn`A|k$f!+C8uZU-pFM!yZfZoEOkREVTP8Qj zcbmNWSTd$2xE4dxFCvK;C2Q{{8nf4%tS_e|G*Lp4F;2vaM1njr_%Oq`J`tnX_dZEk zGxjdVLsVW#B5VZ0MC0<4BJB3Rv&Iz=4O5vRnfV}d1LAg$;2rEq{@@+}B9T|j`O(2% zBfsfR5D;#BL)Xz^*ZtW|+}>DuK6mUH8SQ)KHU=LqhqXsOVA$(Tet`KvzQde}eh4Iu zpU*Zp*GAqwat=zRASfX++0)An8 zGAXQ3_)=GYVWS#z^=CI%f3NUTIfs|lz#Qdyy$+dThoMhA!!x!$$(Bg}zphs?9((sfg4Wy7NYe`}eNk?uwMBtWo`9N}{N;{Nf_JzqZI{Y#gCM zKSf)X(|lCEoRPx9wlv4Ploz&s@oFNIY^z&g^kvgTvGMu5_@S2oK&5LZlS8Kplf$EIk1*G# zk!4M$@uA)^aS;$9`-A@i`$HS>XZyp0N&5q-#9wQFc;2u->=>M`DGl-OBrFaZzBI;S zu+d>h5gQ$vz~5|WFxyC$2D5!^Y%tnp7#rHz*pONK#}g&llhdeV{1Aiv2U1LfVe!5nf?`GKiF(SN+9tCbb$MIwtDSXLAxo}jH0-jgBA zx@#g5pj*-Yl|0Ao74MQ9Us6P(!2;B2vBw^^kgo(v=?Aoi84L}5s@YJu!)k+k<6I{4 z2LG7+yB16F`#i*SrbR>C%U?E=pGAm2?Iu%;75wQmjd5Zzf99B+EavfNp1E=m)A8vy zrx`H`A8LC(Gc)L8tT&3pJ&<{!BA7(nksB5Kjq7PU34BTgT3OfF8v-7<_Rj8bnlr#$>t&V_V`l?S($toV*^IN#*e>_`9yP34I)4NzVH63dDoUbeF!~CO#O5Ul{Qm zhfNI;;Vd+0^1g6@ht@R8E%s16T1D}GjvuvRfPFjAW}dIn#pG{A_Q2noan!%017e6X zPg=o~`NrN6)=7S0=am?woH7(cg|@*!G3-zMg$y%ni=eiegWi;1WWaZwIaBUTQ?i1y z=hDhtU^^FDMkC$*S8Ga2}!8Md&GoMrLH%I zmmxlr9FF#oe(TrLF{f$Rqfs&qm-Rs8`%|&MB{ZNI&H`i2@sr=BPuws7f0mY|MloqE zw4&a3p)Q&AUaDQAEdZ!}=8}hng-@(PA7LOSmQ;)b)lZ`2TN8M+EF<6E? zL#{!_dpIM@RA;aO8R1(`*^VHaeoa7xUu87OFDHs9_}QR)5&zmDrai^)B8XX93u%d1 ze&oBN>N$(!!Dz(lK@3DUvX4AM*;%@52Aww9CD|DW7L`i?X5wI{BOg=IH%caOv&4tZ zBU_1r4N4qv*??>vqlpYSd;;-6*>Erg4m7n$dB#YI*P>@`fh+{o5$WV(6KESr(eJQ<*ekM`@AzlD46VB{5GGA>}9rPNGMsSwr z2p&XP!FJRg{{dmVvN^hS9!Mc}Ae{iX@uAIT*kJ@y;=18;5ME3u_vm7!PoSu#y8OGWvx;Mw$RvabWj{ z<$y-RGmW8QbkH%I0r!V7UT zoSif#mD!>NnZN?ne?>~M2zS!ppI8ycZh5*YFE0U2NV6tz-1GAkeq0pX|GbZjJE_71?kra zTBDNgj;&Z6?l}&6`Ne{xiH@QzT*yO*GYgYr$O*S0N#q*MgJsK4TFx4LdLd>-fa7tT zL|jTyA!nq#2nl(@Ya|#`I|3ib#5Su_VRfi2p4ex3=ZQyx>-A}eG#td4{zyHU!dK1i&CPMuGBvNsrqhu z`o7k_w20OH(`mh0Y}~$*#wUT(=5gC>CC@&Nw+$nz#KupE4lJ}i0I1d2BloOw=>VY~ z(9eFD?&%-3tgpnsXxoI%86{=zjbkw3PXU#Dq8M0Xn1Ca4QLtR?V3&ao9w9VE(=;~7 z%ZTwGpQ?}8F&{WtXT<@XFuWi>8Hr|Ls)J*fAT#=2U`c0po}+lP2Xi9j>0l&7ZTUU* zJgc*Y%ijD^iLqrYjuujQyX)@0#V2XnXk{4}py}E~1`YXhF;6r#P zCr7+6eWnhg59wYu9C?y2Ag&m}oP|b=@j5%_Q3HZH{=CvT4SG)zNtcP3VA;}>b@tpShj2t10SG=6eLw?bH z1pWY`u!~I@#e+t20^*PH313VgYF3W+U@ki2#?hn<(5u?Zm=jb{EL!3U2* zfc`0!#~4P-lpBfdHqK0t@{U=lq^!YLf|ONwN0H#7`RJ`!`AlX@-@#Pb4NrTUScPE~ z(0avm#@Vhx3=JM!#`wa1OUN0rV3+wLfHJ2H*-y50c<)ED(fBeey{^OX2R~y>Yh_rV zD+_}~;1{2;8C7%t142sw<12ymBX|eW0kPKT8gt_Fih6vTMkM)9B-f@O!Ydwto{Rjf zfo8D+8-FMuTt;DPiZN?~p1|LAh88)I+BC5b=$b-N{tjtDuxZHN;=WZAP;)oTw6_2WOov78?P;p)D z9$Iwc%`e(ql)*TSnKB=tGjYHa?MbloRKkqJI23bm->^1jR&oM{UQrehKZke$bHaC^ zIl65cywNw!l;knN)#zlLT|U6Q%S7XOq;?M}x(q_wIuqk!3b`>|3taSTaioe_;!1o4 zOs}9z8A~W4!+5wuF3kinrXtWCGi>j}vPP=y86>UCIR}1xe(9D(O zXSFBKM<+X6Ct{u+s@PmBn+*@woDSE(Jz0?O65GxGA+M3#pcni@oZ7LUo7X)DjUsUp zB-<}}#Gf0+#Pw=r5XW%PxQ~0ow8sQd+AnS~%YKELNq@VHvycG^9?Bkkc!QfcfJb38QOC@2i+~|E%KxuB8I8JMZCG{K9*^+9eduKKuRk9%9h8@9tx73d9$4X81Hc%ae-&2AoZ8Y0w(Cs$l0lDeut!%EVp+lXfyJu4 zVpaz6B^#OCgD^<6hfJvi&z<56O(W)_^a~K8^kp{ndoafhkhjPn?^JDR;h@S)c>i7g zuOScDUkOi*;?hE>(8hityD2B|%^O?;<7+1so3&C5R>N5S5{Vzf@+jVeafu`wLk?3{O{Z@wJFye<0|b_eV-RZy zMBOEZau%D>2srQKAoNv(3mNoPdn!`&&t=fMpiyy6r*aQ@S_Z^}EP{y!%|%GjlrGS#Wip98p>i5+I}(Y=OU#cFzcCtx zsFr?Et)#=zd>YSyAU{Nya!Kt77ipgMgy#Pz8{*O0U<;`R;?L#O9$YLCC8&QyQFw2n zrNIV27XO%Jy~qz=OszMpbP75|j0F~T;tpgLS0T|WKB1}%O-$ZwtbutQ>=TzD9Wx_@ z$7(W~BR1V9Iw(7M0XIR&Wqxcf{It--0WFhfVw#3|Jpij5PHCWZz()j71ofglgB$Y+ z5tF)3>5Qjgr4RSj00Xnqkq?}P6g&vY+KPjO_cE=(g7Of*urf%)I}(Z>4i){}1O|S_ z1Ov z7OQ5jC^YKF>Wv8h7O3g-g|fY3C?knEzKi>|eMfdZT+RvO}nCYZ~OxG|z)AZ{d9rlX*+@Ca0@Tzb4x zYcuw*x7+3nS0*&=mq%`|u*_Lv!Lllvrgo$??N?5@^s{e|)8muI>FQw%zmE0?S1q6^ z`=l7PkF|rBpiba)$X@taVKv1gjy4!ph^qS-&-e%WVN8=T07S>O3vi<8XBdvS z%9%CYj{@8v0mSq!N*RBKKQysm*mE4j4lRRIz{wa+HIaJp8*VfR{5pD;R*2@3cqifs z8$XUb^>}?C*_E*LvB0n>_Q_BUJVXb=Og2=xc`~_Za7EP5<0OC9gS}-$lU}1ctg6+wPn*LK)k16#eM6%&D>{ z!>J!z)0&Q=AEWUMn20)INIgmX_y~#xL>i%l8lv&ds-C56CajhxF}Q{C!x?RO>bFEt z0RG@5eTq*z5~=J_KeVnJWBNa2mRJ<0+F>Q%iq$rh=nCJN48uCf_Aro0fIeflCB&V z+g{Sae!x1o12J(2dKs8V@w`B=klFCKxF1>2jYuIz4Cd9sysNw}!r*r1M{LBNG8po4 zin@p)4S4|fB-}RR7h}=2#vm~_q#EXbO9`S0Wld3e)!gaI%7(3$>6q4JUue2l-~hUj zU0&3%$ueD@ADSKzw-}Myk%k4+5y=kRq7k8pU9!%hy{IgE1nCl2>;_&kTZIedo0T^v5i;o}@W!r{XlKFHw? z4)5o%g~QDpZsJhpa4m;xI1F;Qn!{BbuHakkVLOLW4*$gA9u7Bi=;jdH$*8x2!^IqWIlP&}K-ka7|iwC-R71NWK=&d(T-~YCceJ>zCAd zEwA7P962kLCBm4$V;S^~Q7eflC=0<*DISC>BxazXs6r52jX@UlA`q`&TCc9gTy&*) z6)DJ^A6!hS6_i@VsRlrrRA!t&ome)LDB~U5rW20l)$~D%116LCl03mLrekUa%JL{o zqoFiRq}c8|B?L>_O+hqS^|iJVDuDXuz5# zUR|-1zQh?2yv1{BpwVgE=m$|){DK;{5*frX(qX1BO%kX=;(?SjqtBs=s$Kh=qK=1J zwN^2ikPs0RCQU{sS`!*Yghng1iEMg`qj(-6u#NhFR_Ba?Zjpy#%9Jy(@Q7cHfQ$?_ z@gmYmUp+;7>d)|DL?45(A{l*OGWubVm7`VNqFe^c%LJd7pfn(!4wK`G78EqzR-qIO zDH*Dsu2dLMw+uj)XBknj9RXszK&$N0EZE->R>1=*v%;d+EB7R&|h{q#8%2mf=N6c*ins=2RMFtIW5Mb@?4pxD~F( zH;obFTVp{HUYyZ~@769!%brSCbl^J}1#!hYpb|~?M8%#Q^|sUCsXoJ})E{_h$@}g< zVi!f%OJZ_%bB8?S?2(;RK3-3z9X+=nmuzS_rQ|t{l_~Dr02QyM7pw6?Dx#ii!-rPc z3*(Thvd4v;gwB$~O4bWE0e0Nkdb697X@jd%mnDI33W5gguKL^)B zn&`QGsIraU#V5HmO7?6*eA}J|3I+C~bZl*^Hfy-TDsbM@_)5bUd;EIfKu|F^z0>iB z(wsk~fqOd1qDI7e6Ol zU_3~v^cm5%)lZQ0^zXeNHEUjL+*)!(hCtB{^g5m$jy%0HqP1%r6dGTdE48>HgN%Sra&s*rllFWZAV&;${f zLF5!4VTD4TcRr}LmndKnDv7!Ka~Ln{3>ZnoW@HAELs9NI z#8=0=cUw&6vNz1zg;JOwc3Zkzh;qhuNQQdeqHGg?18G2v%Q4(9Gw?YDlF*Fc2tGpS z{l)l{%VtF5H}X0sqMQz>T@zm->_hq0(>k$?Io9dQps5i@&0rw`S3dRBQ!i0@BLYQ? zxVnxE!p4IBA@&bth&O=J!H_NJC6T)XBZ!3So=P~@)fa6a5i3cDNX+o2)fMbHRna-`zY_;1GpQw3yG|9EUaW=q4 z9S=hMlN2;F%!rCHsGR$=1M~$1N5d9SeTXai0mfZ+O--04i1uC)sQd zH{Xv&gd;5!KGa0vqYV`PZZm~{-h{CJ{)e9AN919CJWBVC)ZgE{mLE^8;m5Cncs%l> z=11_*Jl1gYgLsM1%j0;7F$N^+GZ+wuE0asil>L5(!Fz|<-9 zF17jmdr$q?;`}28C7-X)3uyB(!wu06i`l47e-rDrlF!$Di1j*U?V+p`49*H<2WQo% zEQ0o8tmlKfH{uc{eHQXa+M)tycuj#bg1>29*p^{-hU9d;>Q|f7BSu>p(R1wqAJI zs@as3=Gu?LmzPqR$d;2n$IrFTSA?^|8?E7+Y`DB70Mp$`ZA%x%Oyk+|+wM|e9iMgk zUAJ8iWUx$}b(ehG8c-Q>*(e&RIT^-wy@8xECiG(y$f{5ylAFH zk|)nwm6;~VEVwbVAr1h1QAc|v>C-QI&q;RV$QVX%dny38_^^z zINCf%3o_xN;Npx$7>gv;jcxmYUy}=*+Twy7ZF2#pK<%~kj*{~mY$bh;A3O-ea5Ba5 zgQF0NI8p+D>qj|WoI-V396xvfvEA>XOA$rnvaBES`IF!&du?5t7ISs{5_^A=GJK#w z7ce#RN)GjxD0!BRxsK*X>7B%k3mAs0 z-L}XE8xBS|BHL_dJD{dX@@Y}fG^i}S}=d1MDL!Wo&N46Dh`9oxbz56#N=)TB?zR2}d z%QwRYf+?`+D+M-vCSlv+en4B&AKB3VKfu{K2rhl4z@^V5T&sG{xp~y*j=MoIXJi9f zwha_>#)ad>cP^&xJ6}g#%^F#>1{Rtwqod?e+cR6Tu2(xOYRqCpDIaOCF^~Kj%+lJO z_W4tA+0hFg;$j7nn^AfP1uO9v#NTH8nLM(CfTg~}Zqrh3F=IeuN;l$QhiWNLOXQ8r zygD+sm}|u;Ct@j+BOgQ`nV9BiZvv5N2ey~#E#>->o74|2%I92U0*Yv_0ac{qZV~kp z>sOyY)en?=f!Yq~PRVJ*UmpGn@t3F*#;=z0^c39qdoW%`9wTm0Th7L4D9DcMm)t~c zGCq}0jUlxz*!Xb+k{dsv5Z#rDza>rt{(JL)0Xti}YScITgM z?V@~doo$8Yugke04G5%V!o#`SYD6k=_^>$CPb})k7HW#xZBafosS;1e6r**(GahEX|3P{*`bXNk5OY*vWs$yI@Nd54Q?+hzg{_Oq7R--a6qCxFOrpc+L37oslp#Z}f-O)4`3c~GC3;vP5@W9&;@WxE-xL?D2injY-;7+UdMO#t> zQGbgJ^^Uuu^^UbsDgCfxM3x$Jsvq=DJ8Xd1x;QbF7!$}2Ok*_pkq)=5JfDIh3fvUX zL|49wg0;pJmzd7UuT*(Cp47$H&rjA#bNqPB{iGd~JJnb|=5@ra?>XB_ySMVcL^c<9 zCDTp(&$g24Ee~(WD#!F^d?}xuZH0m_$u>;?m>Ed}z=fl_oS$d`&#zdnm0Q)A4NAF@ z4u#MliZRQn^Js-*SyyKe`ABP*ZP*cD`?t>=Yfngy(I>Q<3#>1YdIYP<)%}a=QtgnR;+BcqZ57F zaZ~`1wzK=VNx9pHs{1T+UXiP@WnN`OD)C{*16o__drtqbTvwWwRN05a@~0pM$xZ~M?XE7U|2+xL5lV_ zvHZa%d$zX3nts@2pDlj$KFk(nxaz{r-*67?-i)YJZNl`w9&a2G>hS3B?K=&2mb6;B zh0%2>*`&NaT3Ocgi5=)poXmg=IcNo|5$qdh+*m?1lg%E!5D_eOw+L-3PMY@fZ}sd) ze54%C_~qJS)f%y?8ZJ2Nh1PXj#P1Y$V+HW6rKJ+bAvV=-T?T-Sv%j3nu zIwg5}ke(v%S+eU`VNx2a&7v6X5FHw_2_M-_-+;RZ_H}>d*8^(tR=d0=zI=P7 zu6?O~d0x)ZYWlj@6ZSQ9xht@e;sxm7LVU-^sax&maY-&U6>TPWYTXM!mjDpl_I%=} zh~Wxw%M?4>C9-O7Qoc_?uW&7HGI8P>pgwU2a?=7F7#-8Dw~5D*OkP=R!56Uopcy0l zS`nN@pyFyB)vz3X3hxu~B22X6dJ1S`EMY#40}D2vu0f<>J}pBOG-fQxVXjQa2W)0! zOks1|NYR5BF(0{+Iuqd7q9)!zEV3P>%U5p30)7z|@QVxbmM!&GRRxQ_m$dP)NypV5 z#^6{ToiP3>31G~m9e-=dXB(zRW^RbAe9oy23s>0H?^`A1 zV9K~D%fi_XdECsOEv!&$EBeBP;>_UAut-|K&6o+uv z*fK4cM@M4lU`&pfkG=ud)o>m(Bb>&5x^2sJxxglV&0wtnY16LM?-|ctzf;8!v(P@P zw9FsyX)uf92YHU-=Vf&LHN)}!L+w+o70yiSfd{AJP%l#72UW>?T3Q->7bL0@*Pseu zO{U>B1-7MCs5XaxpMsFuXCqVd6J$G^_qW?&mYKL(%O+bpv1UU%UP?-B>oQ78ts62z z+1Q?83v){T@hSP;&acZ1NMN7g^G-uX%2{3!n}q(Yp@yMiFBq8oD8*-KdaH-ohkI9i;XJlv$yy z;Oofc6GJgZ!F=F~Nr*eeac3Y{jJRySKM8?+>>z7~lG{wDexD^i8gE+1eYoyG&ccN% zdjK2hxtP35w%8rb#+iFlOE5SBa9gn#lf3TlubD9ErgNUmKD<>Qh9T2jR$aA|9hh5gT+8TXIC#nMG{-Co0 zg=`ei8+f*mn*w?ZS;hBJIMGxhYjRupMx#6+5>P$& zpaF%+`Qmc)l^-OC6bzQywab}gqa)w~5u1-9zI=(dZd0~%}Ct61g@oe#QE ziMfBlIJ(-s5h$F-&IEEzrMZn}HC>*gZZ0UqT?Hj_LE(n0Fso_y=fcqUXqu(22XWuzN$a2 zLKnn`nJ)lhr#*;;*6CAl&sMZ5k#*y4Vm$BkeB-!4C2jZndv)-KUY# zkJP>q8!@3Q$Nd(Ki@=4U;ngLb^cKLRbiX>1u|FT{1DAi z;UaXR`0xr+EtJeXGVp4{^$u;~%|z5%Bg&Zov=<4+jR1Q(uSYAcrrXloaFNuND?^sx z4*^s-^5KR-zo#()E+j}LsiZ4Ixj@|t)JWYw6*+^=2)tYfH*j1@-I@bLGPE*x{0$%d z6W_iJij>)iQj~$#TT-+xOU$D8A~BU7*4==~d1|_sp>^hK3zjncic7H)zru)pAJH-v z^AGQ%+JkFp|8)32Fg$NNMKd<;dntrBay4zIVuM}WOw%FxrI;IBf;ty&ACpi7+x(hx z3TFaQXe<>naKJ^P02Hazc}w>+@9M!Bm5!Ndgd8?-87sACwsH7PnJDhX7@ss-G~*GI zMxzRG1tv)d>~1nvV<)u8g?+#l~1bwClM~LMmyU zu4v;s`Zis6mvlOsp97?N967_;Tk?#@TCp-3-V((Dj6R;};bzpd3wbn8v?5&Q3}=RB zqVWN*z*!nn1o45J;&XQaGVT30a@KbE4s?nt00_XNs0;8j$)Wim5|<+BIIgLH3u)M2 zAZXhg$AoYc7Khctes~!i(UpVZ=ZFrMO{ELwQ9;;Wh>JTc#FB1udy2+o^;{bE$Iqq9 zmtl9!A&!&d3sVJq{H7Y^755{yI{uL>`Xc=#FN&aO#pHchh5{jMu2H+;`^L>8fa6@) zTW$~F2Mz*g(j(j?Ia8}_4==$lHMuca8=mfajt^p;l(Vxc?Y9r7t4lEr@&VQOGF)1W zM%XatK4?IkPu?vQORhx^8*$%KE03e{P+cv(c?EI>R12c%)R z<`co+PDMoX|d(+1t z)i!HHfvdG$TfpNa-cE{G?+(Zidj@1@pl3+csu~;bQ@b*pGW-V^R}1 zf*eJ7xcUQ*-{T}_47dF3f1x;PVZHR0sdi=64WnC7xE2!jM~!uPsB}emwBrw!&@FZK zCC4{r)R)9II6}AHQeSdpW3k%zy^S+nN9)yl)8;4z^~F_IavBuFfp<07aa?^#+d3Oc zY)n_9xa{F^{3_pPlfmDayDhwuF(eRi4!gqmL(@qnkNr=QcC61Y3fgX z(|rJn1HV@BU189AbHped$}=VI?=V@B+a&uVogv3Ej0>6vAa#HHZ4|8}M~B94oP+uc zZuJN@{M*CQrGJ0+Q49QM><}KfnP9~V^^2^{L$>Xir+;htPc}Y#$Ntsy3zfLs#~of` z8(=@R2d-Cv$d=xxLzbtXewt1nihp6DTStdI=!lqh1nvaOPHUcCums4K5w?V@tVsqo z7kjy4DXeW~15RUJqY+YtOXlcjOIk(tE{j}@-v`0jc0bm3ZuoQf#rNTO;}y5SK?wr~ zzhRewtT?~Eb-aYT;_J$%nl zYqdF=+YuYNt{~!F6VD7U$FDuwOZF*eVDa1YV>osdTQ=S#FKR4?po+?_#^ML)d0Aue zkLWp~u^1>tmAi3iT_eE6>+wRGUc3e`ynwwKFF&A|8}ZUaFV{5||Eme?Cnm7x(+pt0 z!&A8o8A&Y0FTo3{lj67p&qfL%j=q-Jw&Ml2Q)q`nSlMs~zFCc{VdGBy9xIwV&@1rh ztfofd3K-*5P_4NCHKSkQA9sX!cKQi?dq}qnVgw|0y9!j1Q0r`X7mJaPlseYvnklQ% zYu}*J{S+KbEClc8-Bi_k@LkqEZJ4(j3m|x@kWK+<^ukJf-e* ze#CqeSUng-AYLIwq&nC@5t}LEMUDVtAY*n%24QG{p}0e`hz-CR7sJ5O4>TeT7owKD z{KU?o3GEvS+!h;gHx7)O%nT_;uK3DGLA?giJcQ|%ibfVB(b$g>JCy8@1||K8fgpEM#dhRHz=@#F3Oc zV9cG=>);^^t&hdyM4ooLfd^vfD1gw6NUXStl@e^}gsx3L<4xjVEJ)~Azl27qerb_M zi(>o^UTAb}xJaC&d9QshF56NioAP+0OZpB&|F)9*%Q{Ia66r4rx3<^=raxY z1*HtFBdqjBDo=;E^jAeHarMsWssI#m+Q1@X{ArwX=i^mmpvcFJY8S0opoDM{>FoFn zL!a!2X4oIG{?H4vP_Nj8l33*dM`bkPD|Yt12C{T$XLt6~%iHlAFze!mA1p&Yy#{z6 zhw^a(rv*HH@yoSkecEAdU-2B-2Af4`@ocyr#=_YIfrQ=L;aq|Nd!Zdn0T_PqD7__r z-PsVqI3NnL<*|@gC*!PwGe%k(hCSKSY~k6skS*-7&)APWiiY`@DcMc?cV7m_*D`#^ zXX)v5n1GyG%C~2hwRp}u_C}%C&PP2cZBI!q+wM7!L2(K8BXI2Ucjga6{0hahI?8n^ zZdpP@q+!0~XxfMBFZk&Q#6CkvRq`z};bLe+VY+}ON0(ejuY;bFR_1P)zfwL&C|-@> zF@fum9g!uLhT_WdNp0#(gp)A ze#^aA9EB(%eV(s7F*Uk>LZm&h7NQW%xvV%t#v5C;#VC*t-7!Rb2R)0#IOl@pn=(r> zS-x@c|FL2S{eM9V*`UFC(6{`8gbvxS`Fo`I1uC+0GXl};gEYtGAEFGnKs{PO4^od3 zGQ+U;qE%dL9eb(Ro*ZuuX>lPrEG=7#uEoCvK- zW^TqOP_o#(c%x3+fdJou*L;{dkmrg+focB9G=DHoM7I5@g$}Oni( zFXJP8;!3m&xNoOPquO->uiNMqt0Lph5?9nq|HPl22~lh)nYi9FGoYQ1Lzh{C0&r2% zvWPytelgzwK=VOBn@8k_ZbBF2)WPu>+XPi)!od#0wLYwE8%X{g$6#I@viL+C(~Q}c zStRyg<3K)a8JIcIdza$4?XMQV{2|`J^o+iTjk)HX9| zlbQ6kk<{IY#b@xP2PG%-h}Z!B4*rcki4x+w_|#`Hi$bWWd+hpPoRGRQuDLR46em{7>yqsTY)4eE11WEf13k-FMa9 zP4%*&A1m|{?K50|s=hzb^@VoG^|xb(kG(>_^wo+yd?Ugh;w)I14~4h%LK&^;Io7Ei z(v&{eKAeG9an$7Pb*qZg<$r1}*Jt7MV}}OjM`SW;(GFlIfm9={NON0VpTShU?^tJv zLQO{|s1VAq5-2DhA^#e;r)V{&v@dc0jCLHG)QF7#lr9g*4)6~{7!a$mF>b0>7?9Gj z11@e(*h#g7y>M8hhb?*E>I$(emNG3@u~`fTFG(G9G@iVlnOg+k1+;z?*O*sEftj!m*LYXK{D{{dE^T`c@B9s`r$ z$)NqbL*hC^dnAVpE52WB#Qf$LafmR#_*V=SOq!(>{v7Ku%(Apag>nAII{<0QDCjJh zBVnBsUi6witB8=k zFLBCxyy!Q&11 zZowMXgi6bNQqgcf0oM8vrT6KlwJ&kT=ZV=M85|g3^N(A~8s_KAUu=ix{@h#TiF4P< z&bb>M&97tPilx(TYcis8oL-pi;~9PZ6@G?SX;6MrXYxXzhJyq()+J`VhTMo@e_80)Uxx{ z+dEN*D+)E{p=f$99?fGgMB?dG^GC8tzNU|qk)%pBKLU(97TPS`JMj`qXYTQfxfmNp zS8c;E>PTM>vd_+xzigO4Pq~xdLK(r$U_`$NC$kPyJ2D#4nN}&j087axP7b9e+bB6r zisxe!_I^&jF_}DC?Z~2J3p72Wi@R3-R&beKP z@rn=O98(?6Oqf(z)SmC6UjbFdl*MzzCzuMLI_3MthcNolk|dWdjy0ifVyN<8? zz{Vs@ALxh#G+a^T#{vLa6D>N1(uJG=+mR-T9#m^ACV!NPo+Wd2K>K3aXWOmwu~NV? zB7+^`>#*t`)-qK5nX+FNKkPaaKgKO2D?f-|Zl`;lhiVph18Sw#_-J*W8_k6Y;Rz{* ziKX27gq5GR_#(f^fN~oN;9Sqr$VT`EEe;RWDk{9;;bLVe<~ZE@)QG3%z#ODCdLbxl z(I?sHjWB<=eCV+B`wRO_EqA> zPkY#jBe}plEj%J=`uY52V^#lC$)8S>*t!vP8xBk=)vr?P2# zTVc`MAscOuz1ZhH5}%CkTjyS4e*ZE)3g4y4@BQ&~XgIWv!o)W(G_)>0o7cQh%ItGD z$>ZiOhmR0Ebwai}EbT!LVY8q|P$#Ve(nHR=Bo?ltfOPh3cp2_NgErS2x$#KDImY7^ zwRI34_#T7@z6p>0x_S=uEjhft5c;2b0N3~SVvobFWRz6)Y`_MUHEwhKCYIg`RWVs> z{9)K9fERvcSlo%8hU4FvHXGfEFJO!F*yE*|avHZNonQ%wZk#I8pex0s%aHj@8;$D(&pwwZAuPIVIIPn)12-j;oIoBYxFAA~Ce}A=|-3 zLjXEwHm(U2J8^c#WD4^4Bkoj-C1sS@K9Ep|1emU%`&;}6!-xLqii zXE37hRWaFvEBs86!*|DO7W^WIW$SSIEhtix4k2&cp7`2@27rUiB2_Rt4Xvuu+94zq z8?4o!1X7_i=JHz(F{#LhEfhG|LZii6GK-$c*aWwLG&moP5u@(ow2V*|eB0mwkSpQ# zt90H?B|zz7=11^8W&F(bq&?K-I=cMqnG%nE-Au=C=-Mtrc+J3i9MwR0UFAv&FWc7$ zubQ{NMtFHhVAAD$Fq1%#k)D(5_`{5PD1zDbC0ApJ?4zrb;_o~DkmmTqkZE-J7o*kK zGZhpcSUo}<>jA@*Ei`XIieb5RXspN#FvQeUAP^9ObTmmx}JKNV{LRc^$%j9dJv?? z*PLd&C=N#W3K_8rD$I#F;20=A#*#&vvS*tKoven|R1$5c*@-MYn=w15OZ22oFD_6I_(dmkOk7YX`324c0_PRnsF`rOQ@;Zz zCx?wht`OyPWcRr%kIU)EJ1Ad$3BeKN<||!+K#5iGwE&U|UX%*1jaBeav;w}SG?lh5 zW|JsB71YlLf_gRzYOR1uih;T!3QCp`SNj0Vumdmt`|!>j2=5vVPfv({AS(GepC>kP z{y{!bmiuS&efdx3)2KN*VL^4-7>&;aM=Ir2$}mIQKE z>z^7iNhjuiVj-F2N-3=?18X2&mD8>7s?ead_c^T-$|PE`rt!4n1DJS%Yn8p5@2%B% z^~g!X3|HlGX^(eEzWVTMJ%x%RYiFu=&A8mi_+~UZRn{aH%G2P8O^SNCLUtS6f0ynCU|J2|p`q5AnuMrQuPVo$uV zHN45QgvH?{849s6BcWRI_Qc{p(Y-9%!z2!6Uoba?9*%5?#M+vPe zZ`3Cw6{-+*3wKqd6hZ)_)f_FClBaH!V!hBdgZx;!tPS6-UzXw$T#U-8?$(tz(?^s( z%MtT)ewPFM=sc^2YVs7RyN>Y{!t;u(L~&!yHsX$Ex?VDc+g3{Fiqtl+DqG_M$_Nn_ z@d_dlEoRLGw&Loqh~#(crW8sCY3L5kxTSxCP&lNa>thYInGIbLZRkGAnrzYjh901F zq1yYEG;}6v)_Q!JNF3Nu;SCpB4J}kjW>+_plW-emw3F*!SWh|=V za9EgS(FuZM&TdNhhe?94(Y8L!5gp$O@4?|-c?KbtnyUYSDS-VH36}Pyv$O|&QG_V&sjt@lNh}f}cl0S^) zb9h25VF(EvmM}9vQoWbzeGWVmEU(^wt?xc5IgDCM^BU*bBeo^s-$`X{O-vxq zONABApqtNmE8{_TksPaIkop(PT>Mm#Yu|lkUV&q;(kdLB28Ur>XTCh*pP8VTx@9 z$|icGPp2O;iA(1!FTEyX&$Up&L(p|9gUoB#fM!FQdrMb1&ghZ>B6+AJC+Orl2tXkS zQKsth;#aA8xqD0FvWyTsJt2TKxh%X3#=;sp{}Gs_UE)eCNnJ$iwZIiM3{AD3uHNBN z9gCj#v42AwMK*OBK;V#44eh0&z3wdul1xME zV-0Pjp(rPpczV6f;Y{}y2U1uxBp;j3{*!ymy+sNIuZ<(AmL#?s_m;ZgdR>U#^?Lv6 z-trzv87<2zxVU}UwH&*#PkK_HPtfIy4tjom0XMLg&Q{le)Qnz^Mdc=*bQ&kZIl=pc zMF6y)6b3h>8NCJCpdvWGBTs!TqNgi+BY_FH%LpvnM`F|bR-0|ekjD83hE$Za_tq>s z=xOrpHp+XK;iwi4s>sUpsaMZn>ohQ_Ao#dcf{4lUm3KIpNo+0rO;b?SIa;Xpqs&*V zm4-``SGEYfay=v>x(K#3n{8ZOPb>4}N>p%42aBltOWE5Rm7gpP+EE+c{k#YRivzws zvZlT&O0d3*)G;=hfKxv)cauvKmkrSOt;VC5Eg|0 zf@%_wZxqNeLKwS#6l{+t+)_8i;S36F=;>DaV$CGk-+w5}zWyv)p@~b?Z~qrlZ+9IR z%NQpGY$V~9R`hmtBfIB0CfmL9{2Lu95$`Ou2u6=6g-pz>%jg1ge=Z*OuuvJ5S9&b$ z$}9ak?8qzaj*MPQJr)H2LW+Xu#;8%qku25TulIlh(nN!-UqcY==s$iE1+P}~rTU0p zGkKmNKe90OG*jnE|a`HDN@ zbNtPHvwb5ADHvJ?fMsHmA`*gNvvOhmyYKVz5S$zF_YQU6w~{zGg2y~uqt_|9p9m}> z-1uCHmM5R)zE9M={N*Vg_kCG9mP+hGV#dtJYHqM6Im+QbPZnGWzaRl!j=Sv(R3jWc zQU2b6L*yNSrOkn*yVWOh2p9JmqbMxe(8`Xkgia9?Jk8Y|7ftzs8Cl=tq1X2ri(A4; zYU$fitjh!%N;@qj>0kcA+)hO7T%eA98D%_(w$Ucd9@ZAK&Q~8`v@@Kq{+yqz?4-L> zgdTqZnn?!UElwqeP-OfjrcO8xyD)2_EbWxTx<+1jj}K;VWr26Gs!%=s6n%|{7-*EJ zL?ykJD2sVYa0&LWnH(0j+S0(IT^rez3f09YP+O37Q|#%wn-sJc*^>&9;2SKr2*Q)& z7+cnk>aMqYr*_x7d_(h1J$eS?Oryzo+d?!gQz+s{*0=^?=4C0hj+)CRlePdYfVtG_ zIq7?z#cU#bHcS-m`%8CCaZJ@k{q*0P$X|SQS6n%{B7BF@)Hr`~rTAw}5;n>p{(wso zKqYad-Am~8YQZI~Vk9_B`)N0uhpky1O-#izEBBgnyM<5S%?_XI?{)aniMqlQB!SzI zn2nJqt6GFwU}JJ_ZJM1VNel4O>8>s!CIqL*#|7ix_Gj?>AoT}S22fnUnJTIh1?mXI z7t;ex{8EalaTLDbEJMR>Zht^f(;R{0|_P7)%+VzX^nnZAg`RQV&Z(q#29_31Y=C2^|!kr+I) z-PRjDbG~O1_zV-_@0bMETm=vjRs0hsfjvhw2`5toX_RRa_)#qF|EWo!Nq|~LfxXiF z|AA3pk02sh)<0kr_bFcNR?SLTHD;Zi|6$gdZfT?s>`JRlw-))MjU658=L}i2E2gnytUfFc#njP)`b!I{ zrO`65Co4Mypa!iCA)V?HpbCegi@~9TiT&)js3oKYb=E(CssySAt&Jq(l`uR1K2))i zw4i?S?|*mHS9S?h4O$yeCaBtes6wNEzqxh&fbX{eyMAD3j|pH6U1Fuf)J6S(e*kJ< zKh){}pt%|gB+J~>CYvMGe&MyE5sCcFI~uA$CXTc__StwapT%a=8jyFNHU|U+WFd$K zemr$QJI4S2X(+;5rs2)~b>3*z`2*8XO^wzmwl30x{^n~%-zp(6thS$S!Eu>~%p!#B zxH=WofVxV*GEC`N#b5ma3lx)Pj@p_E0{r{7rpI`Tt!Y%v<3aX=WzRFmV){}Wp(6)y zYNr_QiqN}}J+fcuZ4#qHxlWfMK-3)`uEwJ6V_6lw6&XPAvqy*p!ffgos9=>PwV3Vx z2fWK`1nI<%R+>|Wb>3+82#5{ZT0PCLMLrim=Kt6t^Dq4S=6T8eytqQmYs4^boVwhC zwO1W#l6 zAfxdqc_X@$zyBL8wLK+7gnAk28Pv9amOR;f8Kus`z% zI7C?Vh_e7LYs^z)S-+Y(G2UY?1*UE_nogNca;Op3-e7UP;*=(Gr6cGx;%}V3pz`G8 z5L5OA(JT{UL;aq^g1QHZR%W*b8kw4)UWSa&55);1~ zoTU3yY$=%v7g}dO^<-(LnMX;;rYW*ae*7$&B-&W#C#5cRE3H5&8jUtIJJ#uCfH@fZ zusd+OD{y;iV0z$or#~ktGLU{^AqW&qaa@2X6A-Zvi0f4-a~G0v{a4~rTt9FN4=;ql z9>__R7j=pEiB+;jYz4-6{dG|pm9F`l68#O|22+143b1pGA2V$VwCxbqOTG(G17KW> zgN2EI5fa*nGn$9KiO=dG*sd(?!^Ek(g>2&rwRL{6criHP`-{|=hH8yT`O=6f;iIL~ zq27ES$(#ucQdI|8s9eb|Jia};*@LVJAS0<##A@uv+oZGu99R8E;f-Gzl zOu1;C$&dE3(;+`fTe(&mFfP^rEiBRv&~r{NykP3RcoxFO3y#ceF{L^j`Ej0! zJEd8ZjUtzE6>7l2a$Ntka4k7Z%0QQ%8qVOY1tMG%%6QQQV+oJPHH>nd^E7qj5 zqz~q#_y;)ka=w2Ir~ZR{VmC1$AMWA%I0^TO^#)3!8jWI&BC4cf+sbr?#~qP9hyzn` zu@8-l-dJ(I4Xaw87>ykK-I|}dD_@}-ZQd&Zqn1%WDBF^W(YR1JlyAkMi#QRjNX9Ve}l_b9l3i-5e9|tG69Rx z#b%FXlEQ!+TAH+^Yp~q-j8=03#%|1ngwk)9be)NTVGOUz#6&O(%e7nPRhZ?YS+>k_ zt*kmhFRY=I9f|oFb>ykb(RUYm-1mW21Y(i=MT*iZ{HQ#@`W)a##SV)TP$`l44m3bb zCn}XE^O&yMkBT@_M+|Di0yU}=e@nJ2C0?L_;G!4{A1hLvb#D1sxt;eG-!C#uLmud3 zMGx;lI0G1F`PN59F^Y`{htcJIc9dcUe8)sjwhQ$T;WG)hF#0LDedNewxhE`HCA|(# z(Cqv_qx;eMEWKeA#S$-&Vw^DE43xJ9at{QSc4STPUd4neVM71tQf^PLS$a}Eh4@R4 z-bi6tpuB#Gx(fi1eqp!VS}d2WPhgt!5mC>fzD=x&tO>p?MtLi`b4CacTNzEDW$uNl zbA-N$yNplkc{{N9*tqVVcPDmvr*L9_$8c#gfG*39fSH<++cjHsUBo1n!~SJ**nije z9u}iwmeYH+sumj~NKjF(7=so|z}Kt&*h{@ctN2W?sAWHJ-fJ`qGo~q!d(2aQz*E=VyLe`iA0Z7bnv9SG+wpw0>=W64g*L$ZcAr6E zOokHUXqh9o3%Js}>;t~%L=w2Pm&@(GDp2+|rWsDRrTa=cj{#@-fpI%~_DpOJtB7EVf^hGm#9PIC=rb#}G%YkaVe1AAUNpq+x zx6jjzC#J+D;SGo}mfIa|VvcZKy9}2I2)!fa)>BLmYCn$l2@hX=86O0lKY<3u82D$g z7c-2d$;O*1#23%Rz^#w90mUCA!_)ZJXwPQh;#C3_d6i}a0PG;ksnURWbF7yts_~ttAVDcdmYzkusGaF`2 z#+!3`T361dcJUt)sD6nu!RlA|i)hIHf&f4?q@OYV5m^$gX9UxS!Lfg{Fm#SH!xcIn7YM#ciHcVhe=qQ*)CR@vEe_hw ztvG&xZ*aw{pYmw)j?0U@Y_>@9G5)9XV@|e*%vNDpHhKwFRo9s{47nH{ zuM<`O0=i%M%X+!-0P->DtmPhA_^3eYT*xc%9aba8-L9;=Q4@qYUdEY3C`p9*KiRLz zh6I(1G!DB0Asc*p4&{pJXu3ZjG_>{dh zNWR$K+9+B7+r9M>>9{_x(D`k`JI*&rjU0bnN?v|s+F{Z3|5kK96SfKKD_?8E#E&H^ zua&$$D6biY9ciNVkFJcV_fL{xtDLUYTZGaXp*xwtr{RUmxGX1Nx9UQ%rk}b!|7lqH z-pS~tdsF>tn8|_Es`*dWED~YLlU3$Vh555l|L9G^l+`hwHB{xF)J5Y!a>zta`bIXz z%OlN3u(^=A58nTFf%%H_Y!D`hj3lyR;GCGH*XYPMpAPD=pOR#%GO;x;TE6qj(daSnk zb8-iR^0%>ClGDOxxHsq9S^nW+o~Cuf8qM5kvpx0ezd%e{YX{-C7XUt3-AAdsB7P~C zC+PCG&?VL@$Vza6^{yzgS$bQbT2bZ0a|+2K)CWj^9`hDxE8mMcU%K(8drMWWR0C-; zykg<-u}QU6!}@?7PI@NJJ6clGBn4plqa$-XZy14AGE-bJFm4@T#Pb-7q}p9A1$#HZ3@(qb4pKS97|di<+3G>gD0O}G3oQ4V^ea?f$T+|uYBWG+2-g8+4!nR{T1<9F+xG} zWTP)riB}7dQHtXiG}PRol%M)W^H6!aR$@YZZ*7kHH!0OL2(UKnXS0*ot8#Mq?XD1M zaGdXV-SKs(UE6(+N3FG!>3~@8qTjR)Oe7T*7rU$O5_FNBY}lR>HSNyTJaX84;6aeU zu1BH2&|W@_(}E`jTJ?Pb+&dy`!$NqA8*-pSmZ?9nFoAjKYZ@dX*$p{TVre4hjB}s| zEw#7=)Z$K>YH@|?{T9i)JjeKotX&aD6y=GSKK!f*V&hetz-!>JT1zV$DrOy%mG7Iw z-6up=YHhB!)WxTRFXIJcO{tgbsRXsjNnPb1h(rpR)}`O7GtI4~F>zLG;$V3}M*gE;>+S&(zHma6sn73H5(@^kN*TnfuJd%An`9`|Nf zI6+p0bB<@%`fhF)mGkBY!TG0eI|RAZQcw2A#f6J$v!-V`&NS$ISdC!Oe!{-z0+#v zfOxza?#&|vHJw)ZjUcskqiXM)LN?dDF=H=tZ=PfKw59;U6LEwc--eG^l zS+=!+uH!&LX1n^Gh<2h)HmK~%#L|S|12X}&yu^qLUL98wum>-X?%+Iqtw1XF`xC>VFNQ8XNGt~D@Xa=n~X1#GIt># zV-CBre2Kd7CD4_kF#N*5>lC!52CH9c0O3TkuN$SR<>@R@WSDG%bCix*5a~($`|5*BL_Qo)rZU^?&z+1pI`2SwTU&o zc1fDKKWn@ghx_izTAJuh%^ELezushZxIs?I?kc&uM%@kA@HNwyLJ()}?|hmhM%%8A zfYl0~lG5rpR!~e36PCN`ZnBu5d=qunkj|=2ir+SyFOZ4USzVnG8*#= zm25Y#Iyf8Ta_qeQs;sfzpGKxuDgzLt9g`MK!4@OzGUnAf1J2qxS*f+YuS%WySF5=) z6ckp=$jp4w#J2aw@U_AsIT4sz6E38nwLfDCP@}69aFncpD#su#X4WI%%gsIssWR^(`d?a zdk2eK3O@+6r;r1?FsYsWO8K$Rzcj%d z=f9hiz$jf}7#jDnGR6MS@ty7j17bhMq!BUiaupX~7@`}nL3J%Q5K+#0KS9EEvP?@YGCYl}{jyz=yz3iE z5y$98BLBAFLdvxWDHr)a%reAlOs(lhm@Fo9Slq@MZ}|_MkvUE3ednzKGBZ)Nfci@O zS1l?yOu+?GP}^lc1jOeph~_Ewqwo&_P5UlTOAxn(vX&q&Hz{(F`b$# zNZsl_9$3mw@C}4bL+N=dyX3>%yGT^QP{ulQX|uS{{|G)Mws)SMO)1`K!TAyC<5{|= z=g42*!f>+xiV#4%iyA zKhzgf8riM9O&;LtAv5WnU1VafPBQQkaRB?kUc39j`oQ9rn#CVh?R8g+3YE}U6m$W$ zyA!bde$07@rAT*%!qPtJ^i32dTlQ}MO->umJv^$BzM%}2-K>OR)nxlQaCmXnE%CeM z6FMBX3~SL5n4UZMmXrL~yKH>NaF<>^-}m5PAltAGO_XZ75ww=K>%@W zgT5bZT%Et!F82h8z|b-hF7)My5e@pj%Q)XyQezuC;#L~7Df|=hfa?9|HF?PLC9TIL zZhyA6o%E$Kd^(q5RAz`e6~}f{1w&g7K$Aoz(-7IBE$FWLEniybRbMjt-|7;&%(kJS zLx~P&mt@Zv#A)C2*7}iZH%A()MYmB^_)4Lgwmt(0n-4Z^ks3;^?4@WPWM-UTw9YWK zx#eU?3{~~b4m7zR=aII|_1~Ig_liD>6E*cc8C~CHKj|%31nPp~o}9@?k0Qj>VD4eq z)k&&ath$!EDo^O+(@*t*QJo2VEm%yiDDQ%2pp1$KX`*{`VhTqC&QGTKsuAiuO0wjU z6T{)C)_6nbev&imN}yHnd_{R}XnKLs5X@DfUQS@g@;S8Ssn@ac7vh{9CB&%$+9vm05?C@|>FNZ-LnxT-;le{S9D|VXS4*Uo9@jwB729GL+H> zwdougqI57r%Jl3mldId`^3ElEeo=-VBaMd&?Db~!cR)B^i+f2u9{P~`Wxm(H`hMkf zIjZT)MxNTCNiK7tS*wbdD`i+&HmV9F!-uurFnfeKClpT#ZjhNGBk)S$6LGlScXyTq z#1o9JCpxwE*YTzLr^{$W7ucU9xHl(oHqDGI(6Sm~#*mVyZgyEiJKHEf=HG;!?>V03 z&W)4AWrPd5hx3suvcXwcIykZcg`FyhA~G^uL&;WlK?TPPl(^?} zPvbfiXM@Q(e}YxRppu{u6_VIboMTBRP)bV;L=bzImf} zL+AUnT{fzp|M`bHv6V!t6VFRVs}oNWmrl45;r_2W;VYp7+;y}w+6i|?vvgpjdvaWf z+ZW>6BdZTdH1^ZK+lMf!7||j34mS_*x`!?Fkl|Wx)DKV}VjAPx$TaIajn8Lt^|WsV z?)4rG|Lqh%6gso;%Dmstyaj4dXNJU_A_U=Y?vpt$QUUFo$duxKl4rU`%3-{s`z^EG zrd}d|A^81`6cvm8!{{# z);*eWbeR^S@U(6?#z#*k!6y|H{&2dWKNGQPk5hJW$qfP;eV#tlcz3wBWcRtZo>dHfvNZiu>>jXi`sjQ+=)3cAr zM$%zzBrv^BqvgkNQBYBSL~kY?(al5-NY|=EcSXMw8$F}d6`7rAjZwle*5tw~YKF)u~F{w1aFZvux63du(BQO4j(&|b^ zs5rXu!<>RCk_5x{lc)w5az*a~C*MxK_*slM2_SGNZZ2zeZpr)F(uVr-TY>OUvS zd@}B>FpEcXjO))4OqU#y^&3?}f8q(|hZNJ@sqHWvdf0l}%2Q;s08q~p1@lHW>;4IkrMNUqsy1zMslc`)3~mzVOcft%dKE&zbO7YkLEq(^nFv?-6? zz{XS_Pg%kM4oAj}T%z(tnlPI)78QvRpJbE)XQxc7JgIZ0823sh*?2gAFj$4Eo$ST2 zPh{?lF~D%`qJVQw14K$`X|%izc-nNd}lHZ@t-=G zuAyVnQczr;ptx-uLAAf@p9tyLYYfvukzZ(`$RK0GLTK-~h?d_)_@GbNk!fOM99*z4 z&-6ffs$c9xX>GS}gj&n$7NLhz9hQ7Q6IU%2}e>&gea-{BaPQ^l=^&&z&T=6JR=>d^PR~z4bFMJM5J@WO8g;AH$|(Z z#K1UHBH=T%ShUn$lC{{iZi-M`Pkci&MPX^MpjS*BQHaVu0&?WKEt8tX-Sw6_DGW8- zhli6O7oS|6r+#&o;HeZ!CR!yWkCS*`MY%>4xhjgCgsz?!qpO2BLukp^3EqvMhGZ4~z(24x!EsI@+mS#ahI@Ih0ipcIeV>TPX3Dh_CGWG7{OACy$W8 zk*4@XL>~sr;Er^w>4qoet@&N`#7A9r#jj(>j6tu86S0iGweBj-Bm(_WsScci0-Q0e0lel_~GxM6vl6&^*hA+b;)l@)_5Dg zzVT#m5-E_J3096c`OPm1bI-&nX$1v&I2={esEaq-sm#CQJSn)9sQhlWeqWMbs(6lH z-x<7kk%+G1PgagU%5P+Sa#5HY7~%(}QVHpt=-#3mzz<(l>R3`5cMT3zht6H@KYmMj zVySZpzLGNcmd0NOdshD!Cx5wgPh31JnWUOSTN;;_#|3QblS#%$fd;t582vOuX3Tm~ z{$82td9VC*&#sMUd*0r3mS@-9XL;T(p8!U+@U7?VjYmDZHhu1S`)-$KSGlOI{Oy+c zu9=Sc&RgncIucfODTJ_GAG8blf7&zhEgq{2*L$YDB+=j0g|`S}yFl&S9^-7IQrC-- zVxnF2$CG?_(A9?;S+q-&Lm$P}WNQ;Sm+|LUFr7o`^v`0qSTtWvCrk0Fw{KZ}?MsCV2p+On-p2ew~xQ*htBRkc>i5ATsm*KB7!T7}z?^^%yc;AmO zi96f>`JnKbMQS`itLhLq7qh2Nt=3fzBBE_2eQCF3r_Xd`PnM2mpSP+`dg{oYV)6(A z(_|E%k{$FIiP><7+x8&U3YeT zWSC?QkJu^?p5~3iGnymul4NEJ%#ukSe$4vT!Z*ExJ<*gDpeF#aIfZ&O8x>C3F%GhQ zETdj^yIH%t`qvDbP*rMpG^K_VWAqZHq3n@+y;HH*Y^+V0G1hl_)qd~D+9mcG#ddCe zsS}q*Rr}>af^fX%nuz3So|ImS7T{z5N&j#`Jiw>0$Qsn^q@z18@YNl}&8onvd)-x{ zCt$o)6ucwmhxl!gX5?M1-Xo_L2)L^ileN^boD<`0=!WI5YqCQy!rQ#y$m>P51)1vC z6+bzDx%@Qo+aEP?fdIjAhYr;T!%b<-0#5<|YC83rq0OsPZKyVj}x z2qOnN2_nH2PD53!kuKxO92X1`6!v__)U7&Z9@L}Kl&9Idq92uGzPgq?2r{wF?E@*w z7Y!^urk)~IH1*>~Gf0+Z4r;1YrGmEg#6?|1xmcsM>y=VF6 zL|&F$s^O3F+2jINSCQJtL-_0h^Hs1~Tmj&Z=CmjTucI)GT)9w+oGdmQVf18lX--6s zFamL}?HydCl4RkA<5fEHossts1b{ zyNyz-V{p{)Kj~S}Yrnc0sngu!Jw*(ktcMxkMP;t*0MP>z|(Zew0bigrzq>}W!8 zg~vO_i9Hs95gMD8vu>lwlilj}Uj-(bjfzt3g_<>^5YE)x`Zpt4`?siFc>4L>At(1c z%sc&pibE%A#IEER43t~HuHjW)c#dlMOtf^|+vTWKQk|RwFFLz5E4#z(7aF)U4u&=g zLa!n)V^`IPzFp6Xjs>&B<4WyCn&JKUfY+j91$QNL=YstF*`@KKJtd|raElb$xW4A7 z=FAQu0{)NGfppGtgrV5{HEZ$u^$Vk-Jw$;oVdx3Ss zV8z0e^PS`j!&B~{>Hrtparvx?7C&A!aL#D%3zuSv-BI)_WGBft>htujyVSkqi~^N@ z8vG2L`S>RL=R4#4Cx-Y&mkztOKqW@glch--Ax?rg>ajK^AtR%pa_A77CpO6UerPtCUnXEvu%zB ze+iyKOI)@RkrzkNgdB{@x)t_+8+ND;;)C zNdP?*wD%H%+20WHV2mIwF56>uwJX+D|HmiIw89_g?E1-r{CL`;QOt4c7fmg6Kz##NS|UFJ7a#GGpapM83hG3_yM`C-_ znlf-D$_#l`nz+u5M%$I-|AEClxWpVRoHljIhV}D&sgd&1+h9oH109;7b@=G!1Q0T%vP?k(gpk^Wm|E4-J9!)g4<{77_E zxOBkoTWi6i;4A1!hu`Rb{x!sO_~riRSE(@k@3Mk0sq?SchfYZ=;Q-qkyIvPI5Ec^i z4YsCY_P(HRU$DFbfA&T>Hz@bgB!Br~o9{Y*d56t=PHFtIEMJG*|A=VG`j}teD<>6h zc;e2%M&iZc9}VcjY^BYV`223Qe|i$I5ZfR~sgW9l^`dj7%;RF%NU!U&72kc%<=3PkJ3w9Ef;RtYZncQ)GQ?Anc$b9*J~D! z9^F!zWCN$aOMIsX

    7AeoH=Yyg$D-06yFx|Rw&{@hnvF_|YapJJWy=B&9oEk>aEMzojf2K}#>Ts(B4*)a-eR=}y<889Z^cC$N%IhC4>$7B*1yE5L&Xz+wKW>I+xBnD}L z>#C~)uT&>8%Cn(ZB$uAfo}=p)a_x~GM|0A5mck7nIa<(5!3R$%sMm&B1kd)P87~d0 zGlPQBFJdN{b&J$ZS9$vwV_|ibVM4QN>jrJckWbArAi#7m7pMr^EH)Nbe6cFQF|~0+ z>d;`Ux4Zw~Ob>r4yIrIFd4}ox&Yy%XXT3o2Yn**BT|JH>`|)ofpk> zO;(K)J5Hz1hx&HP(sYZ(|1P8}^K@E59doGCi;==Wfv}!sFh9AtMysj#K*ak=Euy zM6T3IsVg@X1cZG22=;wq0gZJ*W+W>+O|B15hIE&9Io|-IiKU}fq(NLH2dhU&3Z~kE zKXrN9#?@7ayjNJ!i6J7hY)<6vW98MvkZM5h%Qy!1y1pr4H>bX^^#VQY-_QnOLwU2C z652WVp>Yh;q=$s51(*>A)|u#sYu-#xQ=*TQYBmI%5BZWJH!3EYIs)Qc70oDHu_ehu zHOtcFY6`A6Ae<6G{i^Ibb5>aRUZkWW{mNB2T^b-l-qnw?@kJGP25eYzJWD~ecz3e2 zMtvX(UY^F{;99%5v@^=np=TINgo6g&M9R}exoEO5#3eg}868R1s;DGcBN=3LgUPnw z6)w*nJ(5>jQAY9#Yb3|ZD@O7TRFI4V+;UU3kWx(!J(||bJoWjn>6qAExvS3Cul0yF zFru0JB{79W%iskPcZqC{!U);{Z5XxI{Dzaw5E>@ z@8+gK)^yRm&r>3zGp%4QZyKaK*Cd^jI~b>%f(Ox6?2Wd68{BcB45VMoY2S>zJdBaV zeVOL&O4ocB6e+nmpg6Oe>-Z#MGzM23iOrSy*O+s~ba)o7D^iV;DZE!t9yHxR1+s9* z(K4K)!Tk6^?`YUNQ4E#6?=4%flL^Z5`6gSV0Y)HyOhPM){0%7B0iT)dwf!up49*=i!j8+E)xAx?B zdwVJeVreJUn0~%A?i{UZW5v~Zv<7-oUo*yFSa?S^jZJ-VINidt zaH5~p2}%Bw9qT8lsTyh`b)j_#xu)KxJIsrZ3)QZ-DM)lbew1UCBx$~dx7GT{jHtMO z9j1<;rel)H;pw=2O}E^>rheb;t93F%(?e~E6;j2I%XSdmjdt&5KPoCL;5@zI93xQ}Nv5o;jUIHLp4RahqO z$=o@k!#j8zUpG<~*VAT%u3fg=+OYCf{gX_R0cu)jwaKIrH7#&{bpA1RsG*n!nfOQX z#2-MMC$8$3|4J6c{3K6&hn13RrX+jf4_hf7GbP0nudI}F&6HG6{1GeVG&3d56W?W} z#G5JUp7>){%2yBRx~6;LUCn0ghs>0jp7=y7>In%#?+m_*5(9K1qq{J(<1ta$TY)zQt-xiCM(yiQi|XEHYDEp7>TPR~`V0qo22UZF>?JItlpkXx0CE( zU|vm!?R$aS5u%$l_u1ZJFuTQl|CL%ClEb_nXh;{n*ff7W&U;JADRx3bRnk_P zE8G{8RI%DOnE~V2^+OVbXO^CYJ*`&1CgpXN9IIu^Bf6Fk zuVx&-_*ZKP^l|@fi#E_Zj(O5u+NtZ)-psVL1A1*YR4rVnVl2Q$s8`lU@g?q0-V5i_ zM3{9jE9BF`u1M5)*5@|a6?v+V{KedrhLYvtzKQjoCU29(-x8KI9>rlvn|}2wZoX*p zw*z>}rwsRMrXIr`oe)o^u?ofa#Srx@6ub2p!JVEcXCYufHW1a0qDd|j^?xX;Q8CoW z27nOV?!}8zqIb~jikaA79J4C$A33j|wx*CK5fQ1d&hZE)zMZoV@U@b0xX!dbi*fxu z4MZM^&!1vrX_2tDF})3}1Sw9Y%sQ zNs5WmI?j6{z5}I$tz_g%^5${goYK;NK)CLoKub?O=U9a6BAWR3&N(!PTO+8Mqm4C6 zLbP(bFBakQl17^p?LKuqoFObj9lYc|&#z>?NW4Hzk+{Jzr#VKt8ds4wy1n;Psz0MC zRHP}@G!vV~7Eqo#=UZ7mY2PK>1kP^%tVQoZ_PML>VNCo-T<$+!m+my?r8_58Y{I;$ zg74&Wx6Mp1F`Vfo{*F!PGj0mrobK{1?tFyl`G8g4d-4CIYlvkFCNtr|n4F z&bBZ8v(nHfu(_*KffXFK_8xoE_HktB9Luwr^R)0j7OC5YeeuS0*7}%90>Jx5d+Yx5 zX9HH)(zftfY9)1t$C+8*FtffUc|P@%heq3Cb-hT=0d=Y0Q`a?I#BPn}=V&DS55~k@ z{VD~*wy)fGGx#O$$)g{j7yLF8dQ05vTBeq`@2)FxFN%Lrzxbx5#Qn~$--{1z@4{IT z3U4egaeuXI*2NITn}(LS-(8sQYzJ0DiTi@cUFqA8z*S_%1QucLw$ERmOvFWS2KWZ& z(smH6&K_;SSG%aWwZvT?N|+U)?8Zs6F6OAX=|yQn1#LL$UP9wy)wIXgkw|UzM4OyN1#sss=ge zQ!=pVlUj^f>j!$9QT8A1YEMn4<<4|{!PrikF_OLuci%=gREay8v0L|F4B{Jqm6Tx} zx@nU~cbUKA^Z3A|PqLZ6(~|V>B1}*U0k))rf;()Jx^P!St|!t0I``J3YWZE%RpP#` zvBX_`jNhY-%Sqxp$VaIqjg^PQQV^29^7ywDci$(%?#j-SjHzSSQTLC&q;cJ$Lqi;) zZJfXGmc&1QugyJgkF@g%vpsx>$)jJ?@nS~3ct4Qk1C6dD?Wlg9e14kw{%g{ooucE5 z{zg7pv!stQ&Ex})S+2#*+d|%+68GqC-oMH8;E^s%meF-|Bt&Q=G?lnVF`n`jnJ3oh zl6Tnky88NNM&*r=GRwaUnZnO|_NB zCN0vr4tL&V=F)+7*)xSUIghVBGEx~Yg46zr1F;zv+k&W-QF}J zd#He~IW#2geZp+$e^{(rZQt2gy_V*j9P*jZBbX^X%u2ZUv$jtU?o@L9N1Hkr>aMLjCrHVU;$NNT<7>`{?YbxH3tN7&PpHVU_`OBrFN&=59 zlO{edfB$luwBv7qhlIAZx@LYS+oQEX=}OC?mg6m<+EBXtJ#IX&JmduV8t*$={S8Tx ziT@9(Y1?Vm)Al#3dJ>-375}Z}+m<(K-=N~!jsdM`Ioxu1$d2!~MJtTA?QCytP&;H4 zyXB*{ecoXHaFaQ++I&zA`(H&u7uo;3{Ozt@#oyUpm(_1;j@b^xFJo*P+IId>=D}9x z@E|L4F!X~!)Bd^Qc8Z&GP>6tvS7q_qHd(OkLv~s(7xB`Zy+bhCZ;vnG`QT3Gs_xss z9Z9CvfkUjsj4m1?yUUK#wSU|{t}LW4z0Ioi%kzotQxbhDtWCP3Jwc}KGzbR==BAX(MMpKBU)PFVuU z=|UAECeu*yzwo^@?<}*u_@9DS6u>_cc)l~EfKxPJ|2N~kgVbFbx?0*_NqhWr3;-j? zh%t(X4vhZ|&$39jGV^Wgnhp$mg@o|y?eR~4C*yikIb{*pAf>*K*MxN87C~ zivxFxjiP^6y3n76MR0ni`CA%SoDuTgE-D12eiiSPJAU2OkCMG9yQ7)T$kFv}m;_DP2S~KFqw$c~zVvWA z?AinEOOLcC6&d)oPbpjF8AWN0eL$e6U-!i@lF)y;$gAl@PIznXFG zs!Hk%nQ>`r=gT^NfPLz_&Hr!OEvI!=w?anqEDE=0A8Vfw)rRPqGvG|dt#gI12^*qt z<)s`!lqk5j^YL)>gCW=OtzDd|CN}5iv$2$TnteZ3e}Hn&DMsTqZo_cA0{PAS=!V`z zvG({bnq2^0)*5QRE?u^x(!^3%_)_&CW6{32mpm-V_Cp_ZbnlpV=g7kLwu1In^%D(* z+wQ^>x*O7bodN&^9Rq--HpQWHOoow`Rphsq_wE1C{W?yLqvy-~{72jH-;AnTwyS4P z$;8|~%w0={HkSl)d)sd9JteO&)Q=>J_4|w--pW%N2feVo=x@fOH0_ki7`|+m9z(SYou=aAXCClf5lgy* z&nsicpcEIkx5>a{92hnwXiuUDLzbGZ3U!v=_d6wvWQd0s5*`enCG2c(HN8*hQ31|2 zLBef^z|38dtlVUuN4#kGd~MtuC!-#Jr@Ot4EhN6~ekNEaBQNPv?Ho{!yZU|k7Ho%| zdx&IZN6Sy^FF#buli~UAl@&fk476yywztYno)-uc)LnfK32mRZXD68rnd7cPuo`J? z)2*WJyKV%m3SXC%o#-pp!k7Xwo5LmxL6T zWwiAC-$ zu0T*Y*Ek$zou4az(&W!+@@KgGL6OSgD=SS34=)`V9#T4jE4rLq(dAm6k0Z#uBK157 zNb_=i3yhy4%1MH!dwh&{sQ>tQ?w4CpcQQPZo7mdtC;2-*@;5u$m%hl=by74q--U%; zuv)4|d$=M`U8a{pilJMyQkHJM`nHeL#7|ts#W=l_TNzOr!}X(Fz6fr`4aFrYjl+UA zgb@E#U(eDQ!1&1W>!RmpTOWH1dq->@vx=Tc^Eyl8!>2vt(ypqOHavqz=F+&Z+^`Uj zx!uwRyo~re;vCxM@t+!0Ml>xr7x%n*k##Qh5Cd+G%h@stdAuQD@wYB9I5&+PW}kn? z{HGikKng8mEbvXH*26!gr{}_bp42`!1^PDyoRP#l5zH|+iIoGKB2}RG#q@AWks3=B zs~(N;RMUw_gmUmaEj_XJnWv5mXh`$HjjwQg(cR$kj_Jr*I>?8{*tmZ<9`HOq)|oh%QIKy zZ-m6h4t+;rybWOm(v0@SU2UJwdW#O056X-j+_@lJe6THZueo0Bml@gJ+Z-}i(Y$X? zLc6`2;+{}>Mn-v4mh=4m4^^F+s zv0u`iYVp=t1erUzf`D7f<#v^#*J(~2o}h>auxZatlI=nCEnfcxF9t7hc8B8dvdi-? zdG_Zx<7AJ~35=d3ki%&vKuJl0OST=IgZUu|+C__Y`Vs2DD^unim%k(FqB;0OaTy5? z?45OrE1I%LSt-tFN=P}Zq&P`J*WVRV@j7W@11W0Jab{qP+-itkwab5bVp4a#lQ_F` zPNIv84x@2rcRd1FGd-@mp3RQ<;3c>iiB8^W=HxxgoV?j{X z{29g{-{i{Sf*>%9Oqdj5MGX`55J(6o$uo5iv$6cbpPxC#uybRBzk|ymZQij`Txd?; z>1U1!k1-M^)(?}R4G%V>3^$%u7^Y?3L2YyL+QxHlOmk3{7J6D;L@Q`%cp?eytvU(e4JPv^NezAB zto%eX2fq-`>oOU?=_rnv#4p!sB;n6RpiOcEoUJ<;kbI#-PEGKh9JrHL;*brZkWcHw z*NAU4Iw58fj*od3Vsa_R>)hendl`$8iMvWLQy0OV+Af15Pa}G`W{2kZoOFnr7{Y%w z2`LVyx}eTygi0pXb9J^alXjVX+$bNbSSDqP{L#dcj3pL;IC;lFAAcb-KcOVH?5sSb z2Z|<5(A6RSV6MV*aQC#0+vz{_K(La&l2?CIYg@WA(R|qvoC8#eR~~XvYp_!M?x4Ff zDUp>KnRJ*Fu0CHg44He;T{3bo(sgf{gZF}BZvIMfgzyqJ4ym@WHW4k_!A6eD@s{U! z*^tZpb(1~slqr$EvrGoEPvpE_dUE9yr0^?W++a((`AOPm%Y)fK1)7q)2zNqnK*e<3 z{FJ;3tWX#pN^B(o`$GOggfgg$XxI6YmS?`Xnm%w=;>`?Wc6vyi(bIy~rDe57Lf1JAKD`zB0PVl}rw}+C3jT_LL3xkZ*&l%O_OGaLab_g*Ga%B+^3e;jsX3{q zwdZ}g7@0(vThi=QUM4T#T}uDERNkdnT}u%Fv92Y>x|U*fEk$>&l|e`WNHV#T_JsGe z>8|akYYYWlOVwRViFGa6>ROW7wG=v(s=KB;nR~~e@Ad8~Uo>s$vgOiKbJj&Le}WXF zR!%ZWK|)4H{{-yId;`&R9#ap!Lk2sO;E{V#Mz3*5O6m;Ztu{2JSumG7ZA8brd z`hek=nZ%GF*Z0mm*vU>Yp)EDtNKCK%lJ8Ve$u1MwoJbIf7HKzzJ-9QuuRL;6NlnQ;W=o+THhjE0eU` zwP6F^9}|sw?fVfZ?;mxq-EVV`*}o0Bqiy2bs9e6&k#Rh8?^o_MZoKX7EpdC1EqdR? zz22^g&At?VcTQ|}zZ!BhRqu3Xw@?5_SmBleUbIbY-E%0jE+aIt`SOWxUK`CcuO3}Q zsg|8RE3>YrNviUW#wggc%RLV;-n0c~qAyI7>VYSHThKK-xX|6@zAWVX3;|R+)gMV6cR2YTtYaTkW6qAj{T?Ic7V`A*g^Os;bFo( zgw=#)g!zPYLNXzN(EFm@_C8@ZVLRa&!mkMr5bhy(2`dS+36lxjc3|s$!ERH8R>E$= zON1u~_Y>|U+)TKFFqJTY;3TL&+HLy?b%g&*xR>xg{gr>E#IGYDsIS1@uL9D#LedZZ z!EXD8F!DLtOt^%QL%5!>k?x(P$5|7^kx!XGL7uY?-HM#9CsU&-%$!W6>kghWCYx8fZj>>xZxc$iR2*hnZP zTu;a&Tt=8mIGd16NFW^J9)wQ`2M8^MI>JkYX9*7zY6!Oxt|44WxPXvEIQER)c9?)& zqwO`qbA;azY6*7}$_OQdC4|#yxBR=9cnSedk?q*;sFUy(;W@&u2o;1I30DxN6V4*I z2%rCl-FA?$oA46hH-rZW_YiI;loGBZTuGQsIGd0_IQs95D`798p0JtlEa7p&J%p8n zd4$P?k%Vs6$pOMv!ZU>X30{Kydw-Q|IQ{?fU$G@s+3ZO}Kd~kGN3dI1|K91aC9URp z?5n5dkG_}Rxod8_ZN*LARcmfbD_c?GTesq7n{Cp%8EKQ&*=#qhDD$o=S#{G5-W6%y zHEYsVuet4Cq)f>Tt5&bLnIuwfxH)Y=Hk{9_xa05Sy{T-40J_mvQnI3K01T3EPFq{H zYQ4Or`1jzS^3Hm=aINpg)vIoj{AstYT6gOW-kVkqfVpmkH|>ViYi}C}OVVyywRYu- zGP-74GHps$+WHk`t4i+B9Y`}fbxNQ0Yw5m>j`>~>%-k6l=9R7am$DmfO`Fe1tV^4G z`}9lBy>Q{G8_QM{6fC@Oh4-cl*R5N9p$yCgYggPVV>WjV<9S2>(C|K5{jDo*T~l^P z8twC~)z$dQR@er-U%kd`!n)W?;Q4O5<+e2&ZcAHHR<@>0Kd-obEgzEal6}>D`Gx~q zJm5KP@}yPg+H9+CTYtmqRX3-tS-Yal>foBPw42u4=3Q~S7kGT8)hll6Z?AkMl5HEx zR(V(OyKbe=dovA?w3}A1Stn^!oVH<=cjX!%BQ0rZx2<6U@kMR6)vIpwu3oqNrW;nT zzVU{eZjn!5yKPNc?3o#`X8o$0W%}9r=a)5SqPfymUARV<R8Z;tmMAWUKL?N)>??*xs3>qMk@X%6|kZed`C)s8v7!WmD+R};^ zD=J#lsHoJU#Y&Z0TBD+(qDI9Qm1Co##g1beSJ++U8=rjq4Yg%X=c-JIxtj&RG*$2qdF$p5>H8|HApE{gQbT~H_JrO zT$@Ugw9&^8aBCA&lTDRq45_C1rCMuRzs}F>erxuz&4bs?WcsDA=AwS-H#Ij&^^BUf zR$)EbvR1X(xFBwcgpr8Puc?K@>*Dij+7hh>Ouk6;CJM*fO>~&(Bu>&CRW&X1NqL;4 zEpG6CYjbULLX9BXl6VWVYrJWGE1T{9{(UoXWm&}{$9U)1!ji(`u_Z;tr6s|BPB_5B zjma8#xpeZ`rNL8brp_oU)8;89#gk`Dv7DF>teSDxSXr6r9y}$kV(77|Cr{OQs_iYl zsjH9Mk~K0ND(Bw0C0;8&wAZ4z=_BozQcOCzSkEoG75dy04fEoy4GbbxP3>#N>F39s zPxCV$u_)PU8k^f-D+Xz6gN$9ZF33E6Y(v|>WTusfVCx5w-A2WsZl(t*;y zbq(|5%p#iQ`t0@bc3Y~orGdP9y^M;|LZ`(+At)=45&&cr9F5!vy5h@Qgr5r7S@EX z$y?fgAwrF$Xq9nb8=4)W(1Zov^Fr0>NP<%a!r$Ma=DEmNW+W7uH>_CS)Zcj#zsU1RRRR1 zMBTTjk~Ei5&WGil(40av%1{zo3N43LL7mVBXfw10+6L`_c0qrG_Cot1V`4^5CX@wb zLpjh0C>I(9!19d{{p-oU1v<=z??S(RnGIB;k#ZVoz3|b3qg?2$%#grW?hZ4|I zr~_IKt%f#3TcB>J2RZ#ZQ*ADXL0i$sSlpj6Im;jy*k&F>0KEaJB zn8)7cGRzl3^6ugcA}qyl7Jg%)d}so6Ius>Bn8;^fUJ6|ZRWF*?Dl5Pk;#M!3n`V|4 z8DmtpE>6aq=ZUvbEqjWD%rz|fw)t%}Ep^&mOA6Y&Ncu#i>eiMvX;@sVbrb6*kx8eY zFaD-5DeIpVO>L-9?Aeua9r0pB|lE8~Z$!eOms#si%AQ`s<<}JeBH24K1y0 z)V{7El}yys#v4VhZ>&j5{o?h^s8ZQ}HRzv5Uzony+xmi}rSVP0Fsf^tlkDIR+ECSP zb*(ILt!*t$v@(5HQfgFBudJNh*LS_WZT6*UKX`(|%fhF+;p1X7s+${|8kE$NY9I@v zy00-b$ES7NSNy*7-85g~Hr6!N%xBg57mYVC+(8>q%GTG$UumVjmhKnMYU=@Q+84UI zZZS(F?B3AS(AvO=XQ!ff1f*m6A^fyAw5GAO6@oCmb^F>Zdc*w7!blyz(q`X~Zol!` zTCa9{=CHNq9^0v>+DNu{E`k%PYA&v65c$Mb$=J6Q_im77EZQc@@GeT!q*7@3#u`aMgy~A zqmkn8#h9DGTBF%$G2)o!;W8Ifi}Ftx4%{@cpZphbQ^sOatK|)FzM*3}G1;Yf#zK{5 z6Mqwi%Wx{U{^=o88SO?ZF?88f5P5}eOiH8*wUph@ZBk2IZLzH|XUAJ-)+E~cxm8$h zq5+k(Cik*m5gI8}8i@*K9Mm5r?J98zC+FlzSfRltW`eoU5J=un9|8@94u!HI^y~`7 zP3&^SpZFaPS$>kP#1%XelJrICDsD$X!%Y(RQy_7d7ocJ7Nft-m+#(I*pJGNuTHhP2DfhLp_yMPtX>il$d0EF;Oso0{9^*PD7W*+Pl(LGiMz zo#McHqXg9P#(2dgx{t@hYmG)7sT#P?g+FDqiCOqrYOMOJOY)cJM7|)%)JEfmH1pM% zrH|y1Z`UmIPtwdQ)6BF*Z|C;=^pRzn-1tVzFWlu$xhYBDG zTL-p^8CnBvgtkE4P!A+w_L-P74H+2nLzPfHB>q#IdsW}Yv|b&y>?g4_HngG$Hwcqz ztF71CLWGgJh8882$iCh3V~rb>r>SkCGGKASp|7hVI^TqZS{m4RB5p52w;{4BSrV^z{H2nJW8zjWEuobub@3*p4p(`a zTSoSm{of(<=A$cROcH%CD|xClWlV0QKr}5CYg(xC(`{=8Rr#~2?QP-7DOT}%Ons+*!A5x{6fM}-!;>tY z6c%rgX;oTL-f$R3vDNBmYT$y#Wb0yMazZrI39Z0L#V=}$Hz}qVD-n2hFpfl?$Sr5T z40S=-=V|$(6kHB%fsE(k`-A>${RfX zwIV}_JXXV+AaYt?ot@vJtP;OPNp|!5#kGH{xQoeAq{4ZW$I4miBCYhV`%Cv=3nj4P ziu5Qs|LeHzs^+qa>wea`>evV86UoO~LGvkdtI>x@N&5b58Nzok@`%yIDc71ty+Zzh~b?)kKgw86nfqi`mAZL|HYJci&V zvaW1TYIx19-i07*XPE9^hax*8&{wEAy%L3ZIcso3Dqfh9nNJ+F3~tHMf@MWhYLdM< zX!%pQi@GH)I?KxDvZBew1XVI>VKQ0Xj1qP+8I|j0vr?A6CiTj6N}M;+YMxwCiChD% zg*HG7Xvcix9HX3cmZ;rMkueqXLfR?cI9JK!+P%^cdAy>n$(X|WQpw(A7E^C!eVZ|< zrNOA+1si^KH3$~?DJD(LOhww(NZS;^}<)>^eW0A^P0TAy+BuBvP9TPQfniQ^?p66uXq_9J6kM(#D10 ze6WIeNpKo-j|ezZsrw?Z824IGr{AVhm2`AIG7=>ptG;5Ey|r}u%TsRR6mSCVRmb1OX8vN6f8z`r zzWSf7*F{3sWIPn_1yH)haohOwFP*adBYwnE#WZfHBS1L}cxLwlhE zP}U4|{m>}L291XDpmC5LazlP73>84dP$^UfRYKKJJtX0iP&?ECEr(V?YoK+|MraeX z8QKc%gk-LhXE)}((0<66NtvJ=C>OFpcBlXV#gCx8kEQZRVYN!=j2CatHLmQ#ZP&c$6%I1buU1}RW)&F0fVg2jx zesEhUo6K+ew+vmwz<>S2Uy;%GFXLN2=_y>9(f4mq#<%-t#ZRvj8oK|De_02q{csvL z2kFSlWrQ&Tvv$qFY?;LWTUOW%HZc6Rt8HJX9HY;yO&J-Q5B}f&`_-Pe#=y7ZivNO9 zfUeH^mtlOne-?iUUYYi95IVYV^UsQJ`+vLhseQ*4SAK8V_kZxiSzvo*KedRyo1cig%5uDkD9_w##yvHrgMf4Sj-Up=_-*AG3s={Jx3 zcJuFk|7h1^k3X^H$)}#)`pmP>ZF~NO7rS42`IYUj{^5^1UVHtGo&WacpL*VU`<-3y zzW3+d@Bihmd;a}zAME|`qmTFf{U4v~|MauZ5B&3sFO7^rgENO5a%k4j!w%0LcEpi6 zM-4xE#4*PnmwWuk6GokQ(#f_{PCae(>1T||JM*lu$?c(){{{ z1q&06P0h)RT2ifTi!N?oyyQD``0Y*g*ZW_x^wP^N|36*-|I_*Zr`x}9Vo`C)q_ayW zpL1^6l&RA=-=?B+#>`o>&%Z#o|JVEfU(x=R{Gd*L7IG3}flnFLdxnca^y$V%=oRQA zNQ9jU&=e>ES#d)6kpz2Q!?+RpHMAZ27&?k@c4#Wp2+1Rm+mMkX?-FdF=+5)NOwbMv z0SiERA5#j-zOft>9sX=k^z7B3yyK_`vBf%a}j=|gw%Db1nAnziK{h+j?u^=Po zWFQN)ftOi=ddL%`YC4*~1IL%}4N1ug}Lf+E`<4lc)@4Xy%*ft}zH;Ck>#a1$sDw*@>3 z6n(&OQ1k&ugWb4~0C$4NfV;tC!F^yZ$N=Di5%L2^g1O)c;An6ZXa`RO!{A9^DR?qi z3EIGF@Dwlso(i^ur-94B(cnt(bZ`xL2DlC!18xM*1iQeqz-{1Ia0fUJ+y&-?2fztn zR%1qv94$Hmbb~g~1C9f|pda*s#h@Q72Ls?7FbLLzA+QyUf*oKCTmcq4tQ95Ay9{sD8qGH?_)70d&tfo`xIEC8p2W#CM3HaH8c z11|tu!8pjB@;M8^RbT>K3tjbHHQ4QQ$~04?Gbp0LOu4U0}loL;83s_JPa%cv%xvwNU$CZfvsQ$6W%f~ z6I=-%3a$Z%g6qJ;z>Q!w*aeORw}ByW7ns4sxDOmE6XZpN2eZL!Fc%yNjs`?rz4XxP$HD4lWaSKkX%UaE;i*w3pby zjbbmLy~GY~6D+2jf~AyGu#9pFmNQPl%%zOe6zu@!f?CtW?{1VPiSK&R3CUyWB}y(dudx4VKt-IQb4lo_R|112352wf2qQ0h!@MPcDz>MCB13s60(( zx=p4%Y1)%!czN3)k7%*vk@p?)q)0*IMJ6s%C~rjMkvALihz3rc25KTtn;B0uQ}U#G z>!r(=P#QJ*$jpD9S>8ovJ?l-qR1GaBPuwh5qnU0EEg{cBGoHL1k*D5_FYof@S!jk| zXr`Cq?SnjRX1e^+L)nvNI`hqZM0+ofXyD{os5FZ5jeylI+P~3spKsPr+FM#o-cv|O zdAFcjOy0N1dyoqC?TGM4zA@2|by;{M-zZU>A$*Z<6e*cZcq1RJqpZ=wA7U=StTq2< zE4{YxMLrrxS=WU(#5^6d@JBwbuq);^%%y1PG@pojg)+-qp~>iQHGkxz>6GwIaIcs} z77#wkM{_9d!Yfi{NniLSACrU;o)NR8FMK0;Nf_ZBsjrkjWn6^0P^FWiMZ{g|B7Brj z2^e0OC2pmPEBqw+N?hS7DJMgboFvT|W*bT!Cn}j&_)F51c98de(w>sO@L4{&iX0=n zCT6Lx@SCJ5>M!BPd_qe(#Xq0Wg_zq_ zy|j6W3a`z=w^kV8-F!Ge%BkP(O;YVCJS=6C@-(V4Pf=x-w_#Sl=x?&7sJaV}%XMngRd?BI>U1oDi4cegrBxj9}Xog(_o%BwJ~KV~T2({U%Jg)dKYKhNw-Nk`8bI^PO4qiA!f*)I}i zs=2<1xm=aMPp*?yMcS!Fq3nsJ4P`Gs4lG!bks}gRE;e{|Q?4_? zZ0tV+M}rH&JlszK!`N#<8|BRaOR>xPTM1qYR)Y_NdH4?k+p$ZZ7hul>mtmJRXeIbV zuoU+p;2P|*)|X=!9nm`McYqtgYr!s1#_cxnL2w873s7_ovaasJeib;I_=ke~u!}CE z8haLKEalb=ARBxh%mvqjqrqoDJNQ#D3_b#uf=_~#;6|_-`~#Q(yTNu)*7jv!7q}99 z1*|8(q2LC%|&-XMn4* z*NZ>(ISgEjy$oE5|9Ef%_7vET|KZ?f?5n`7;9cN$@P4odlsRV)_z<`s+zjT>Z=$ox zyo`6Ipy;4{;*MQ(M;)Y_4UWPtvcPKmCxCg_TfrXub3r%uUxEdo$T`b#9|o3Tp9WSF zFAtoJeF2z@{baBXdkwgf@JE12>}=hXF7ZfkDfa8Z<=}Z>C*fp(uEH*|;d0W+7kBJ3 zve#jEfa|fhgQ7bNf}5~kDgMMi3KU&g4BUeIkHGC<1-OCmPOu02Vz3nZ>EIsh^T7h_ zqrv^yWrve_c}C7PU_0((!5r+3;3)8WU>5mAz&z|f0QVCv1iG;=13R(X!2;~JfMwvt z;B2rBtOI9&8z}d1Fp2#Ja4A>`E(dP}H{pLYxC;B#U^nS{!A|U#fnE5I0M}!m32w!H z47dsVEN~0B8tevFfIZ-C;9hW@xD)4!8~bD=@bHTT<=YcChH+VZ(0R9Rr z1MdZAgOk8IFbV2?kbD7Zt=%=O`IdPuyC=(Br*`Uk9gi!miZ(YO?^|IOsNKJIU#NEY z+MHk~YlYEY+Gux?nJjnx%LMIyQJTB#R;)0xo43q*7pTK8Hp?t~D=o#>rpfQxMgL9U zZ|xsNCz4OeBu%Xc(Apxs|B`P##a(0!`3;49i`W-e>k33N(K;mgt&s4Mt&gxOxmo=r_Bv2Z*5*c9#)v9v~-e+4|EuS&pvaydtZ3@hSLh8zxmQ}<*(&FU$v=ruUCDh&5i0^nl?A7Hq~aWVY1B9?v}YP z-=yLR?Jhe+D@ld_^Oz%;&W=@-Re_3W3 zd)h32EptNkwRUfW->kj5&R6RQH1BHNlm6aK>oP2N+1CkAi=IWyTFa>QQ(BX$^)EGw zAGF>_YZOJlnNMp<9rYeu^RYH-t*8DDbbroo9Hk^ zr?pVkS?f_2s`*CijkKmx>yxzhQtK2nziK^@)=p~uhfY=RnzWWsbca$08Q*#bCL`W5 zH>y6?`X2df>EX1-R_hvcpJ}t!=xV)#6-L@fj|Z*4(Rpbdp4Rwk9o}43M{U*`U~B&_ z-#^P^*){j~*^{b8E&ZR?8f*QZ)*NdckIq-?2Q>d_vo5DL%U{_qiS9~knY9j2zINC9 zO_}>FeYNaA#jay%f7zR-`-?r@U-qjycO70@r_V0>Ncrkp{4Bnd*;Mql;@aOmeGb;) zQ}Efr!fW^b;bj)J+Cj`#-9WhBwz87RY7!#Qd`}Q`uls!Ec#Ndeb@R%-QQYw zsFZv>r3U!RM7!S4oPyf^nqHFlwN1;qW`AXLF-5tDSp+uO`Wga|H@dDk!ii> z5W8@2pI!J|hpkunYqNaGZn>w_SkvyUY97~mQ=LzudA>vB*#6I65wUsp#$1`&WTCe8 z{go505At*rp`8#t%nURWB6nMld>ZF%X_i?w(_Hk zUy03raQMlN4^EEsPgkcZe=T>7ef8<@ZrSWb+GOEgGd@zZ^60})U%2t95kK-2M6Niq zZs>JcT{D(>7IZvwde_UI8+Hy_a3J={O}Urd_KRZ+JP%yF^P?pnJ(^WG{?Wve3v~Ug z?4(XoBYCLZ&U^m&oA1xN=z(Dc%7wNWR`7|pD0}ts|G562X3U=0U=BOc{`}=NW#I^R z=*O{3gDyHoYd?DZyT1I=^LYI!cf5Y&GhfCm(-&r1R%>JxWMyV$2^pEZ-xV^Sy|K#& zS+Sx8x>Y|gOPphdS>2@#s|z&B3F7*Jrwog)q|nLci;bF8gRrVmQ`@WY_^8G{PM2j~cx@Fc?u_5-)zZkmEA2B*^c=P_` zs@REdU7Ov0Ab@}Ln(?pS92=Qzy7i?Kxa^?o{7-h=*BQH=pQfI7)(QC6KK03GcgA9W zzv9EW-Yon-IRB*M?uoro`C@G3?~cX)=|L-__r`wkO83@TFLM${!4vr|=Y6r0i(lLS z#uDOp{vml(-iFws@?Yj%^)dG95BHqB=7HGu85JkRdMIC4{GTTr^I+`y`71Iz-sXys z>L)wKT(>dy@m+JDU%!QuHagzFFg4_%*lm~Ie%gyq97lTRTz&Dvhhs~cI*0EbJc{_c zrXK!>O|dJ>rfz%JpgskoPu=KxB<7hl-<|x>OZ zXN_I4lF#1y+tpV%r9Ib2hdma%fA9C6EBWzB5u>~HnAoPrV%xvG?!)5`&%i!y$QS25 z9_zX|uVCopei_b zgb!laR~~!E)lbE`Z@S^YxK;liW=E8mZF@TQd}YDhbv8~%DIfLa^&6j#J?Xl(eq09i z>wIC}9kH#k+fMu84<37pYbo~5%syh<*4UpqU%Y+eJG58#pFjB1`On1O?fG)aAlqol z^YYmzzyD0kHu|H)5ia+nF;*U3^Z8NF z#}2>Y{%hZGkBk^O|NO=Iw>=+ACH}biv`Z*o^<~o|$G#BTb=~-n8g6k={y{s(-TXrA zhaXII4e%Kwm|Kmq5eZ7YAZCY^RMNf6doR8VB zKIeVvyYA)ZU;DB<)^W>+|2V<}zqddB`w0av#jbkf)QPq*(r4y$eamLHBPfuQ(mvh-M zq<7TabLYMs8-9HD_>miiM~odsT^Fr>Ikwn$>-vTOC(d*nzUZ-6UyePRb>#2g{7Vpi z`0YIpX1@}1?s(| z3p>86?G}~~)^-bRKi{FkTi7#0+bzud@{h{j!s=gYyM?Q(wB5q)BemVajwk-0;#;_G ziMCtV?a+1$lY3rO;VsO$N82sTi)*`u1*d7dh26WhtN0dH->vNy)-Tj{3-^!Hb_?78 z{)&okVaFrdZlUo#ZMSg$RBgAg{WvqeiOF|f*7Y&5=U3Wp;f~9+-NMqT+HT>d6SdvK zPWV&!#KPrIXuE~U8?@cR*$vum;ij0jTi7{V+buNS?^fwsxZ`ncx6pr+wp*B!(sm1z zleOK#t~0dV!qtYhTiCOa`GCj5j%IDQ&~}!#TiCVh1r^@H>f5y4LgNB$w{YbN+HRr! z56`Rk7IxjJ?G~1wuk9B0jMR1utKZqC;#;_Pt+rd3Y}9rOjS1RrVaF%WsrVKeUE1D@ zMo(-6?IE{Eo(Rg-iz7j~U{Z92a-rqPpzRv1Ys~{s!EOhS0OdNzVW3>)cqHh@U8I}> za0n>ZI*LxO6#HH2{TWhqPvpltY1v>E;aZ5xkajuQ4pE?@z z63y!Huz59el?>L{TsKeBO4Mo5lGBHkM^*jeWHZv)JOYUSycW}cvE8Uz?0}k#Dg->y zKUK*AjWzQ)96~}`&)&=X%Z$i!Y0rjT?~5v0oug7Wh<5o2=bwL1OMR+RX<`2(#&KQf zK!2k3r^T)T60s>%4or_rUkp2nzJdxWX?{PbDl>xsx~$FSi5*I=dJLQ)Yh8O zqW(2V-^c{V+wHaU=EED7y=Z#n=-G0bHGIpIg{#C(_-(w3J6Y{T>iUOM zaqIiJm8-Z3+(c~Gam!V^w)PJUw@Mvu zPd_&uZZB@tH2!#%@#uCbWBCo7E6lQb;gJCrjff>##Zbld9)zi@9&AJwB<$QbzGuJ%1riU^SY&WPJ zQ)LkM^ha*@5qr0Zmc6-3b%SBqw-4~&_YMBfRC6&ABG8K*ZRBi+($i1RU)-Nx(ceEkzWBFa|MltLv)ah{1tj6D`fX0D zpST~troaEd{12@CX8-+neY5{}|Aqg$0sh+tlyC3-{nH;<|4z;@O0VBQ|JOJZ>6`p} z%sUON_8D0JTOREnABBP9Lo2+!tH1xi{1=<&Dp}zNroZCpZ;pTXAGE*4KN|<+eKh-TQJa;O7ZDR>^`fV!Z)kbJaYhpM5KkS&+8K(@1S z8)X=G(zd^X9)n(i-h_5TnKx$`Cqo5LHM9g;3Ed7o0KE)-42|IO_0ynYs0!+UZijvi zZG+y1K81#_$uQ1>3ZV<2R%iuuC-f-vI`lbo!Yvs_2)Y1DL03cfLC-*MK>MI$Z{?00 zC;oilL9@QeL3VbQUiyO7U`a}x}^;V_(r z%W!kjpx5xhN&(m?1p7od8#iVY@Wt9hzIl@`!6)%WWhq~zox@k1Wqjo)dTj11$ai?g z*Ky#P+|yB0Tgw3~=^O94;zcH=~aF7J_Y5bCXdeXItcuk8q>gsTUn3PkW;gwc!_67Y4Yu%Ah z)x<$5a&wG2<~%LJR{}I~R!w@wUkM;b#HR<4(~{E?RMl$X^e#^Lsmgm=0Ri-V0qKczi$ImSMJKI9;#OPpmA){Y2lRmH$^{g> z))6kz87pVbb3b@0;&HHa%&U6_q{9sp>gtJpRhJCZ7mV#>9d0F`hFf&%}F`2wMI`lnmOch6|;+*6!THu1gAE}drRA7vUFdt zzMC%k+{j4o8R>N(iF9-C%to$q6-1RawORIqq$$DDro6uCqIaI?yAVgJASWcNJmqqR zzAjY#M(@b6lX8H%x_&{0lZzgzWKNNR(#o-dsjA)yq|cArLv-u+IqBOO2Bg7RfLd=M zW$6ox^V~QGQR-&ybEic5{-yrG&5IBE(pJS+g_Lv8+w{0o$!MRJ1eK~unN8p4A$pW5 zeKE#>#H==u3GS;2;%nZkqbs3u>ARJqs&@wM%SukRKX_JcEt=QlHoXsHD5{;IaQpm>X zK3Y_&lB0W(xGf(wyBjsVc5Y`;leBp=VpVNDGqn;N9#mn}Y_ApvCN#M*DrFcqE1&t~ z-aFx%(K$)GH)ScExt8*q6)XQfS99e>rcd`%bFsCqa$vDsug7<@y%7sSZK@_GD6{ZMt=W!Mwc@c)+!r}rrVLGA>k}oPQQ@V3 z;_X#RZ~AvDq#5J~Dg5mO?tWA3{*SUFz)D0Cr!dZW0D?6mQ+r=W?z`@YDtF;bxJ&8IhU{b zB!u29@@0eAq@8rqz3udv3MHj6(=)D9E{bQ&ma{1rX?xWsA_S$l_JB{^Zt4x&J9hM# zll#5$-7Y=GtA{0pbJ;!+VX!5g8LFPpi`WeWo(Q5i)kG zxbM<9SGkCYr`hz9%#!KTWyCHtS=*SVT=e!)b9=dRNgwW<^*^L!W_eZlxh3c8tbTKt z+%{TOQ8{gTiJFE~#r4IVpJ~6DCDSKQI=`yCaC+esHA~G))G%?(J6y%IMz^#|zpRee z{;ERpuY~0*;6uwxrieUNC&MLu8knT(N}uSQJ~pIfbj`HO$yWOqf7gC$jMP}|Y~GDI zWmrQKiEv+JlkxpwOn9~2hf&*@G>jjMEya^*PP3_wFydw|axggG3!64Q7hQeGw29|bwYIl9o7loE9EPj9+*2;t;QH=i!oBlJ z^$$j2#Z-rq54i)0k{J6`zi?wExAyUi3*BD&!aw5z-49a>r<7E2{L}oO0zf)_$%(Q8lTFr>dw5dzo6peMsq)!lJ6)cn$q~Uf9UEa#(6% z700m4)f%m0R{2)xn$xHyMU~1)kMAZ?DM%niqfX6kA=RL9geaDw_zwd=&fipfROOUPZd*7Mp`9HvdJDAA6_ z7l+q58>&=^EFWWy4p~$(y>fD~8Sb#Y63C@{W&uP_FpR&MrO;EK?1Z%YKGVI$+E^*) zJ=#^(%n}-w%ZN+VCKnq=sBbOUAG|g)^u9x@v z%zUQRm{sAdvLwQrhs(7Twls3 z21kE2^~rU{acQoV>eeD0jkmmWY?C2Aah;t)xfk< zVuq4&zQilz8o3g^uAL&Sm}bw^nnm%ixMyb+s|(`>dQ_&>ZGc~4 zQ(Z-}p-Hu+an+E@-rI(*7Bj`0siwYb#75z?ZH3q-2{+%JAt0A{%bD7DOMRpR3-$eq zhVjtgGW0m6e@Q#-vehVJ@oA0AN#?VR0*N6;X-K)}1D=|=ST`bPpj*Cjhm^6*C=xlv z^gKGV92sLOy5hQWxl>}%kiKrMY_42Vp|7*9EtB)lD@9`*&ybA7SlQecmQ(yP(l4B8 zmORt@Qk8mPpQ|Jy*|KBm89W6wOT$F&yR2-U#pM)5^))TV?je@3vbopahz*9JlB&^+ zkTMslYn`$sWpixw-bq0_1%wwWTI;N~cvixt*;n^JRh}4Y2bcAo0gpXNeVgi3n;C7& zJgI^6E~We>?Uere%55rhg*X)&9q>B++fY~3To*5APiWkiL7s(0<%aPS$$eVM6ftiW z*P?RiG2wf3?%$};8$3#Qm*Sp-c@2`6=o`iMZ7DlQcU_!K_@Y`mTa2+_=+3nWx8fPY#zdOKRoK$k1`FF*1zL zbxDd?xJYr9F@zCXE6uBe7!{e*YdF}ycRoFswu`r5eAlwy!}n(=a-12|4N1s?lQdef z9ytEd;;HWy{Fc||>b~mv%H`|N!PN!$`g2leOmGpb%+@VawAXzs0hWyhO6pBjeaGArg+ zg8UabeC@DM^N?YD?Xa-@7Zu?Da5DcN9}s5iEuW*$ml13FnviZzZ|JP2GtB;46RZ`72(7kspSfTo`^eN68*`m+b5!Wlv*X1g&;G>=Y#8Y1UpNpSMJ!V7c zYh=3FDw=$c#V1gFbE2Ou#L0c-U(@C0vz73p2>*3teeY%E*S6X+{SW^CuLbzVib_Ep z{p%**O7Xh&AntPBb18oE?eV1t8SLR$dt-tNl-1k+$QZ|X`xx#eMNUO87a5~&z#Jnt zc5_Qp0x3E&W^p_66F>-fd!#pnbo|&E-N!e^+F8fZQ#GBV_rgrMTNX>PsibqVer)^05i%mN& z^8F9FusP&S4Kn%sc&gVk-CM4hY?EDQS$t7E!DWa1jf|;DarGki6}F7AwKWv-Syzg> z&8tbI;$v(RdeaF{`1)MJ6Z(}YJfXL8L=R7}+6_zpPCU4cS$H`k-#3SC%{M-st|^J=o*@>~%e`y7F5j+k!o#IV;pY?s_8ylDs7!$fUbZ6+v(6I3Q@Ezez;b+4S zM|MO$i)2TqM86mPadb~~LaZn@BQ`(w{n(n=gRy60|A+~5&!HGUwZ|P9&ZC{DJAKZm zv)nn$+2Fjyd8PAb&gY!tTv6ABt}9%dT`#!4aGmRZ$o-*vv}dyCNpHgUsPEr=XZaia z8v=Jm=0`V2509M`bH*me;!?K)zV!rtXn)D^jw91K%J~E5BG<27FS-8g%5is4i*r3S zo*#K`^*rhMo96`YIo|o+o4tSb-sn3n;0tyKYeJWWZVi=1UWoXj4oQ#1${1@$*vsr~ z_B-r5?1LO7j(~f*`(gKd&ksCLdmr=p{L=%c2YtcPU{&yp(72E@_%!?!FD7O^$0Es~k5wIvsaA);k__JmPrFvDNXS;}4F1bG+;L zcgNr1k;9xvI*)Ol>^##Ma87of@0{zr%z2aZE=JDpoXj`LTJnGm&&9*tZ9cMTfI+M;; zXS;K$^B7N_r_(dh`=ak`|1^J%{}KPY{*wZ~4m=jv5gZgc6mIf`=7lZ^T_5^o=y#zf zLT`o+36BhW;e~VHgH(7~cqM(lE&O`;t?-}8`^dbeo$c2#w^x`Ud?Y+p~B4yG1-;Z4#`)TZs*m`~& z`A+PE*rzfMI`}OcaJW6kKF)rv{TBN%jtLIGqmI6N+VMKQbcXXc&Y!s+;4|D4+->em zPpK#6x!H5S=REIr-@Cql_zv~I8(0v$HTY!kPr1(`fu~w12s1D6JV9C$FWIq+KGy}+>GsX=Ej7Cb*#9b6Dx5xgaMcW{01?$E2Dtnk_4Dbe}S zdzkmPMBj?O9~~Y$KIVyqV->N6*xJ}HVxPy14V;n3oOY!BG5bWv2Is@h&zvq-t?M$^ zZ(Ms_gWO*C`IPYq_iOGq-S409T!&$re0GNbEL-xt2Y{*(N9 z{$lvOl96_?{|f&t{&oKQ{J-))@BgF!WB(Wa!GWy6nSnrHM&L(*`vT7db_Wg*9veI@ z7zs`beka%vToVj3yWSi6bLhiRHZx)(d`b96;p@Y#&PM0Cp1q#qsL#*6vwg4m_WMro z&+|9>Tm6^#ulKL@-|zpe|4IL={`^2Z&=FV_dW;hMGjwFQBK(u^>hLYBzxRhXG6TQF z%=<}re55XNab##T60M8=GWtqvN9;|#26yutQCMZ1eH!b^jjX|kIDD)u=Q-v&l8#Fp zMb0~&x47OSBe!y35Av)r@Rv(@tsE7(Y{-&^GE@;*(wzv_M4 zdz#Pgi}=p*)%fy|74G*x<=^2S5^x3P2bu%R12+fm4%{DjDo_=?G;~ws#mGs~H)8L` zj2_NDr7T(Y;r6liQu{jlb9SHOd`G)ux${-$eXe8O1@30|tL`H_qdg^_-+5m39_2gH zH_qqtg?vT6$-Zg68T9fx-*(?{|49EC@Nvjr-@L+@1{Ht`5*Of z^>_Q<^uOny5~!d&4+K66d=>}<3xn}sQ}DXrYUYTa2OkVR8+<{T2KB_Al+(j-wnWJI-}n=D5zW)^V1zz}ewks)Ukg&pla z&3&``CHG$UA)Xx11kV)DX3x8xBfR6h_j+IP9`NR}TD-_l4MxGk3I8?zVS$FgaltEs zR|Q`WjtR|zCw~tQ<}wH05_vn)5q&`B1$OI6{;omhTIjgcvBNRW`77soSIqrgPp#*1 zdh{dDA@pO9_ak#&3i`@?7y6RED}Aeccl(}(8~@6TbfkZ8z#a;Q>R1!jvLfsc-4eDj zXFeO56n#5-Dzo=J%#yoea)Hq%^2@RxZMWH-_9gb~?8iCAIXsRiEAL#^-bPyBD#vS% zw;b;?4nB1p#~OQu^J?eq&ik0nUvt`A=eVZ3nq8N>u5#V%y4C%n`zYr1IIHP0&r6>3 z;k!0w$wU0dGHWFQO9NL2t`FSBDmjW3(i!yAr{4?SAAE%w|F6L>f+vPbL)D?XLJzQx zJrml=4>UT$p2*pe^CQnh&O&ndn7OJ*`pm{Rq`+$X%dG!{oyR**aW3&(>b=H0A}}(r zC~yh+{DPJE$-sx9Bf?H(mw%7kAnnUHsuHi*Rq2}Tn&YZ=C0t2YtE(%v1?gj3tUI=y z@wYS9L)+|*?TPJ;?ThV?9pDEd8R~u~!=7o+vS+ixjX**fMVpPb=ds$^?QXl@9<~>- z&XghtmfI`sv+Z;2)%H4jy**)1+FR}I_NDd?`!ZIc750_(Rrb~PHAwht8B6Q!8|)kH zo9vtIT}b>};lXbEcI3#N_8$8#`)>Ol`(FD#`+oZYe#VmN$Z}*mavUQZxsFi|n`5*i zkN&bd+^n==M}ec*QR*mjlshUNvmIeyfv?zSgt9_hP!h@wjSAU9qeFSfpKj#OaHs$Y zv@}%4EI9{GsShPWNo3H~p*5jSxMp2wJ<{jK&?e;1uFw`F&~2e^WY8V-OHXK5Xg6}` z-q1dH>j3?f8O{o4BaMy-=OT~V!lRK$$A#_4r2cRiNu)TuJhmdXGPWwV8Y#b%b!Hv& z>;|}SQ*3jrul?zq@(h`Jjit!q%iPP|xr`v2e>AJXIKSQR_WN0D3s@OS{bl}gR)^Wl zA=Rvk^^CG4b8x$VslUU&j5TtFf2Dtwf3<&&zmr*coqxT5gMXuclYg_n%fF2oW;-+A zPJfSomw&f^kAJU!AM)G*ej1d?%90((35*Ej21W&Jfzg4yz_@@t;12i$;Xpy4I8YiW z3zP>cS#{?i`PBvL1BpN~&>CnDQ1EJgFU8ts=d>Ahx)+xwgA@vPazG+J`ie>CSeKaF0UH8RvGh zYbH|#C;mU%0^bG&ulgtyhZ)VmC6U=_R9wchpKjo!`PE#7V3?cSZ&Y_T3TC}EzO~3?8-1I7TYTGCVRrg< z`S$qs`3@j4W&20KJ)_|qH(XN;$5g^Cb#O{6T(S%fSp|2jg)=t76!z2=IDU^{361$KJv3DsYv$%9%Z?UG>Zz?XC{ja@R`NYF8)g!UoqSR^zR%Zr2W1 zk83xw(tf1fEO(AO*KKp>x$SO0D`ly>+&$Y}?XGtx-R*Gsa`#I2YImo5oqL0Ole>#m zyxYCQ-Q(WP+Oi+HG>i2m*JEQBVE6bv1!n*01!eW{0rOvjNGq zi&diAv%}Nl*^QL4pC7zsd2_tEUYj@1YeyC+@RoYZy|ca5-gs-YHz1^ zop*zG6EpT!Z?|^`Ys_x%UhjT>E|=xY@#Xq#NWpfWpE;$}SMHnbt7cb}^tJmse9L_+ zk>EO6-#7R+`MQwex{;21e7k*nk&O(0mOsaz%NWjM{Q4QYrHtFzjM;j|Ydd3gIpcIS zV{{$ka}#4zR{tH0%iWC0{fx&f#$qnxFpn|lXZ)2i_GUBg>KSwGNLb4QD+8+oo$S6g z1U3b_0$T&!fgOP!B*MLc{ru1`E0`0^4cdZvK|3ps{3ySiVS1K(yxWN+8%6>wV{bbL zIV=%rjVxtfyMkTOn#kJ7diJ!NBU{+fZjbC_Kf5QgkKJr$G@HHbsAw3CNhxPDWvKfs zvYdI0@KQ#1y>q#99iw@xbGI{#(VGXy)Wap~;Edf!4ta1uJ-xn;p5E=wqF+nt%jNXn zR{AW9ek!Jq +#include "libavutil/samplefmt.h" +#include "libavutil/attributes.h" +#include "libavutil/avutil.h" +#include "libavutil/buffer.h" +#include "libavutil/cpu.h" +#include "libavutil/channel_layout.h" +#include "libavutil/dict.h" +#include "libavutil/frame.h" +#include "libavutil/log.h" +#include "libavutil/pixfmt.h" +#include "libavutil/rational.h" + +#include "version.h" + +/** + * @defgroup libavc libavcodec + * Encoding/Decoding Library + * + * @{ + * + * @defgroup lavc_decoding Decoding + * @{ + * @} + * + * @defgroup lavc_encoding Encoding + * @{ + * @} + * + * @defgroup lavc_codec Codecs + * @{ + * @defgroup lavc_codec_native Native Codecs + * @{ + * @} + * @defgroup lavc_codec_wrappers External library wrappers + * @{ + * @} + * @defgroup lavc_codec_hwaccel Hardware Accelerators bridge + * @{ + * @} + * @} + * @defgroup lavc_internal Internal + * @{ + * @} + * @} + */ + +/** + * @ingroup libavc + * @defgroup lavc_encdec send/receive encoding and decoding API overview + * @{ + * + * The avcodec_send_packet()/avcodec_receive_frame()/avcodec_send_frame()/ + * avcodec_receive_packet() functions provide an encode/decode API, which + * decouples input and output. + * + * The API is very similar for encoding/decoding and audio/video, and works as + * follows: + * - Set up and open the AVCodecContext as usual. + * - Send valid input: + * - For decoding, call avcodec_send_packet() to give the decoder raw + * compressed data in an AVPacket. + * - For encoding, call avcodec_send_frame() to give the encoder an AVFrame + * containing uncompressed audio or video. + * In both cases, it is recommended that AVPackets and AVFrames are + * refcounted, or libavcodec might have to copy the input data. (libavformat + * always returns refcounted AVPackets, and av_frame_get_buffer() allocates + * refcounted AVFrames.) + * - Receive output in a loop. Periodically call one of the avcodec_receive_*() + * functions and process their output: + * - For decoding, call avcodec_receive_frame(). On success, it will return + * an AVFrame containing uncompressed audio or video data. + * - For encoding, call avcodec_receive_packet(). On success, it will return + * an AVPacket with a compressed frame. + * Repeat this call until it returns AVERROR(EAGAIN) or an error. The + * AVERROR(EAGAIN) return value means that new input data is required to + * return new output. In this case, continue with sending input. For each + * input frame/packet, the codec will typically return 1 output frame/packet, + * but it can also be 0 or more than 1. + * + * At the beginning of decoding or encoding, the codec might accept multiple + * input frames/packets without returning a frame, until its internal buffers + * are filled. This situation is handled transparently if you follow the steps + * outlined above. + * + * In theory, sending input can result in EAGAIN - this should happen only if + * not all output was received. You can use this to structure alternative decode + * or encode loops other than the one suggested above. For example, you could + * try sending new input on each iteration, and try to receive output if that + * returns EAGAIN. + * + * End of stream situations. These require "flushing" (aka draining) the codec, + * as the codec might buffer multiple frames or packets internally for + * performance or out of necessity (consider B-frames). + * This is handled as follows: + * - Instead of valid input, send NULL to the avcodec_send_packet() (decoding) + * or avcodec_send_frame() (encoding) functions. This will enter draining + * mode. + * - Call avcodec_receive_frame() (decoding) or avcodec_receive_packet() + * (encoding) in a loop until AVERROR_EOF is returned. The functions will + * not return AVERROR(EAGAIN), unless you forgot to enter draining mode. + * - Before decoding can be resumed again, the codec has to be reset with + * avcodec_flush_buffers(). + * + * Using the API as outlined above is highly recommended. But it is also + * possible to call functions outside of this rigid schema. For example, you can + * call avcodec_send_packet() repeatedly without calling + * avcodec_receive_frame(). In this case, avcodec_send_packet() will succeed + * until the codec's internal buffer has been filled up (which is typically of + * size 1 per output frame, after initial input), and then reject input with + * AVERROR(EAGAIN). Once it starts rejecting input, you have no choice but to + * read at least some output. + * + * Not all codecs will follow a rigid and predictable dataflow; the only + * guarantee is that an AVERROR(EAGAIN) return value on a send/receive call on + * one end implies that a receive/send call on the other end will succeed, or + * at least will not fail with AVERROR(EAGAIN). In general, no codec will + * permit unlimited buffering of input or output. + * + * This API replaces the following legacy functions: + * - avcodec_decode_video2() and avcodec_decode_audio4(): + * Use avcodec_send_packet() to feed input to the decoder, then use + * avcodec_receive_frame() to receive decoded frames after each packet. + * Unlike with the old video decoding API, multiple frames might result from + * a packet. For audio, splitting the input packet into frames by partially + * decoding packets becomes transparent to the API user. You never need to + * feed an AVPacket to the API twice (unless it is rejected with AVERROR(EAGAIN) - then + * no data was read from the packet). + * Additionally, sending a flush/draining packet is required only once. + * - avcodec_encode_video2()/avcodec_encode_audio2(): + * Use avcodec_send_frame() to feed input to the encoder, then use + * avcodec_receive_packet() to receive encoded packets. + * Providing user-allocated buffers for avcodec_receive_packet() is not + * possible. + * - The new API does not handle subtitles yet. + * + * Mixing new and old function calls on the same AVCodecContext is not allowed, + * and will result in undefined behavior. + * + * Some codecs might require using the new API; using the old API will return + * an error when calling it. All codecs support the new API. + * + * A codec is not allowed to return AVERROR(EAGAIN) for both sending and receiving. This + * would be an invalid state, which could put the codec user into an endless + * loop. The API has no concept of time either: it cannot happen that trying to + * do avcodec_send_packet() results in AVERROR(EAGAIN), but a repeated call 1 second + * later accepts the packet (with no other receive/flush API calls involved). + * The API is a strict state machine, and the passage of time is not supposed + * to influence it. Some timing-dependent behavior might still be deemed + * acceptable in certain cases. But it must never result in both send/receive + * returning EAGAIN at the same time at any point. It must also absolutely be + * avoided that the current state is "unstable" and can "flip-flop" between + * the send/receive APIs allowing progress. For example, it's not allowed that + * the codec randomly decides that it actually wants to consume a packet now + * instead of returning a frame, after it just returned AVERROR(EAGAIN) on an + * avcodec_send_packet() call. + * @} + */ + +/** + * @defgroup lavc_core Core functions/structures. + * @ingroup libavc + * + * Basic definitions, functions for querying libavcodec capabilities, + * allocating core structures, etc. + * @{ + */ + + +/** + * Identify the syntax and semantics of the bitstream. + * The principle is roughly: + * Two decoders with the same ID can decode the same streams. + * Two encoders with the same ID can encode compatible streams. + * There may be slight deviations from the principle due to implementation + * details. + * + * If you add a codec ID to this list, add it so that + * 1. no value of an existing codec ID changes (that would break ABI), + * 2. it is as close as possible to similar codecs + * + * After adding new codec IDs, do not forget to add an entry to the codec + * descriptor list and bump libavcodec minor version. + */ +enum AVCodecID { + AV_CODEC_ID_NONE, + + /* video codecs */ + AV_CODEC_ID_MPEG1VIDEO, + AV_CODEC_ID_MPEG2VIDEO, ///< preferred ID for MPEG-1/2 video decoding +#if FF_API_XVMC + AV_CODEC_ID_MPEG2VIDEO_XVMC, +#endif /* FF_API_XVMC */ + AV_CODEC_ID_H261, + AV_CODEC_ID_H263, + AV_CODEC_ID_RV10, + AV_CODEC_ID_RV20, + AV_CODEC_ID_MJPEG, + AV_CODEC_ID_MJPEGB, + AV_CODEC_ID_LJPEG, + AV_CODEC_ID_SP5X, + AV_CODEC_ID_JPEGLS, + AV_CODEC_ID_MPEG4, + AV_CODEC_ID_RAWVIDEO, + AV_CODEC_ID_MSMPEG4V1, + AV_CODEC_ID_MSMPEG4V2, + AV_CODEC_ID_MSMPEG4V3, + AV_CODEC_ID_WMV1, + AV_CODEC_ID_WMV2, + AV_CODEC_ID_H263P, + AV_CODEC_ID_H263I, + AV_CODEC_ID_FLV1, + AV_CODEC_ID_SVQ1, + AV_CODEC_ID_SVQ3, + AV_CODEC_ID_DVVIDEO, + AV_CODEC_ID_HUFFYUV, + AV_CODEC_ID_CYUV, + AV_CODEC_ID_H264, + AV_CODEC_ID_INDEO3, + AV_CODEC_ID_VP3, + AV_CODEC_ID_THEORA, + AV_CODEC_ID_ASV1, + AV_CODEC_ID_ASV2, + AV_CODEC_ID_FFV1, + AV_CODEC_ID_4XM, + AV_CODEC_ID_VCR1, + AV_CODEC_ID_CLJR, + AV_CODEC_ID_MDEC, + AV_CODEC_ID_ROQ, + AV_CODEC_ID_INTERPLAY_VIDEO, + AV_CODEC_ID_XAN_WC3, + AV_CODEC_ID_XAN_WC4, + AV_CODEC_ID_RPZA, + AV_CODEC_ID_CINEPAK, + AV_CODEC_ID_WS_VQA, + AV_CODEC_ID_MSRLE, + AV_CODEC_ID_MSVIDEO1, + AV_CODEC_ID_IDCIN, + AV_CODEC_ID_8BPS, + AV_CODEC_ID_SMC, + AV_CODEC_ID_FLIC, + AV_CODEC_ID_TRUEMOTION1, + AV_CODEC_ID_VMDVIDEO, + AV_CODEC_ID_MSZH, + AV_CODEC_ID_ZLIB, + AV_CODEC_ID_QTRLE, + AV_CODEC_ID_TSCC, + AV_CODEC_ID_ULTI, + AV_CODEC_ID_QDRAW, + AV_CODEC_ID_VIXL, + AV_CODEC_ID_QPEG, + AV_CODEC_ID_PNG, + AV_CODEC_ID_PPM, + AV_CODEC_ID_PBM, + AV_CODEC_ID_PGM, + AV_CODEC_ID_PGMYUV, + AV_CODEC_ID_PAM, + AV_CODEC_ID_FFVHUFF, + AV_CODEC_ID_RV30, + AV_CODEC_ID_RV40, + AV_CODEC_ID_VC1, + AV_CODEC_ID_WMV3, + AV_CODEC_ID_LOCO, + AV_CODEC_ID_WNV1, + AV_CODEC_ID_AASC, + AV_CODEC_ID_INDEO2, + AV_CODEC_ID_FRAPS, + AV_CODEC_ID_TRUEMOTION2, + AV_CODEC_ID_BMP, + AV_CODEC_ID_CSCD, + AV_CODEC_ID_MMVIDEO, + AV_CODEC_ID_ZMBV, + AV_CODEC_ID_AVS, + AV_CODEC_ID_SMACKVIDEO, + AV_CODEC_ID_NUV, + AV_CODEC_ID_KMVC, + AV_CODEC_ID_FLASHSV, + AV_CODEC_ID_CAVS, + AV_CODEC_ID_JPEG2000, + AV_CODEC_ID_VMNC, + AV_CODEC_ID_VP5, + AV_CODEC_ID_VP6, + AV_CODEC_ID_VP6F, + AV_CODEC_ID_TARGA, + AV_CODEC_ID_DSICINVIDEO, + AV_CODEC_ID_TIERTEXSEQVIDEO, + AV_CODEC_ID_TIFF, + AV_CODEC_ID_GIF, + AV_CODEC_ID_DXA, + AV_CODEC_ID_DNXHD, + AV_CODEC_ID_THP, + AV_CODEC_ID_SGI, + AV_CODEC_ID_C93, + AV_CODEC_ID_BETHSOFTVID, + AV_CODEC_ID_PTX, + AV_CODEC_ID_TXD, + AV_CODEC_ID_VP6A, + AV_CODEC_ID_AMV, + AV_CODEC_ID_VB, + AV_CODEC_ID_PCX, + AV_CODEC_ID_SUNRAST, + AV_CODEC_ID_INDEO4, + AV_CODEC_ID_INDEO5, + AV_CODEC_ID_MIMIC, + AV_CODEC_ID_RL2, + AV_CODEC_ID_ESCAPE124, + AV_CODEC_ID_DIRAC, + AV_CODEC_ID_BFI, + AV_CODEC_ID_CMV, + AV_CODEC_ID_MOTIONPIXELS, + AV_CODEC_ID_TGV, + AV_CODEC_ID_TGQ, + AV_CODEC_ID_TQI, + AV_CODEC_ID_AURA, + AV_CODEC_ID_AURA2, + AV_CODEC_ID_V210X, + AV_CODEC_ID_TMV, + AV_CODEC_ID_V210, + AV_CODEC_ID_DPX, + AV_CODEC_ID_MAD, + AV_CODEC_ID_FRWU, + AV_CODEC_ID_FLASHSV2, + AV_CODEC_ID_CDGRAPHICS, + AV_CODEC_ID_R210, + AV_CODEC_ID_ANM, + AV_CODEC_ID_BINKVIDEO, + AV_CODEC_ID_IFF_ILBM, +#define AV_CODEC_ID_IFF_BYTERUN1 AV_CODEC_ID_IFF_ILBM + AV_CODEC_ID_KGV1, + AV_CODEC_ID_YOP, + AV_CODEC_ID_VP8, + AV_CODEC_ID_PICTOR, + AV_CODEC_ID_ANSI, + AV_CODEC_ID_A64_MULTI, + AV_CODEC_ID_A64_MULTI5, + AV_CODEC_ID_R10K, + AV_CODEC_ID_MXPEG, + AV_CODEC_ID_LAGARITH, + AV_CODEC_ID_PRORES, + AV_CODEC_ID_JV, + AV_CODEC_ID_DFA, + AV_CODEC_ID_WMV3IMAGE, + AV_CODEC_ID_VC1IMAGE, + AV_CODEC_ID_UTVIDEO, + AV_CODEC_ID_BMV_VIDEO, + AV_CODEC_ID_VBLE, + AV_CODEC_ID_DXTORY, + AV_CODEC_ID_V410, + AV_CODEC_ID_XWD, + AV_CODEC_ID_CDXL, + AV_CODEC_ID_XBM, + AV_CODEC_ID_ZEROCODEC, + AV_CODEC_ID_MSS1, + AV_CODEC_ID_MSA1, + AV_CODEC_ID_TSCC2, + AV_CODEC_ID_MTS2, + AV_CODEC_ID_CLLC, + AV_CODEC_ID_MSS2, + AV_CODEC_ID_VP9, + AV_CODEC_ID_AIC, + AV_CODEC_ID_ESCAPE130, + AV_CODEC_ID_G2M, + AV_CODEC_ID_WEBP, + AV_CODEC_ID_HNM4_VIDEO, + AV_CODEC_ID_HEVC, +#define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC + AV_CODEC_ID_FIC, + AV_CODEC_ID_ALIAS_PIX, + AV_CODEC_ID_BRENDER_PIX, + AV_CODEC_ID_PAF_VIDEO, + AV_CODEC_ID_EXR, + AV_CODEC_ID_VP7, + AV_CODEC_ID_SANM, + AV_CODEC_ID_SGIRLE, + AV_CODEC_ID_MVC1, + AV_CODEC_ID_MVC2, + AV_CODEC_ID_HQX, + AV_CODEC_ID_TDSC, + AV_CODEC_ID_HQ_HQA, + AV_CODEC_ID_HAP, + AV_CODEC_ID_DDS, + AV_CODEC_ID_DXV, + AV_CODEC_ID_SCREENPRESSO, + AV_CODEC_ID_RSCC, + + AV_CODEC_ID_Y41P = 0x8000, + AV_CODEC_ID_AVRP, + AV_CODEC_ID_012V, + AV_CODEC_ID_AVUI, + AV_CODEC_ID_AYUV, + AV_CODEC_ID_TARGA_Y216, + AV_CODEC_ID_V308, + AV_CODEC_ID_V408, + AV_CODEC_ID_YUV4, + AV_CODEC_ID_AVRN, + AV_CODEC_ID_CPIA, + AV_CODEC_ID_XFACE, + AV_CODEC_ID_SNOW, + AV_CODEC_ID_SMVJPEG, + AV_CODEC_ID_APNG, + AV_CODEC_ID_DAALA, + AV_CODEC_ID_CFHD, + AV_CODEC_ID_TRUEMOTION2RT, + AV_CODEC_ID_M101, + AV_CODEC_ID_MAGICYUV, + AV_CODEC_ID_SHEERVIDEO, + AV_CODEC_ID_YLC, + AV_CODEC_ID_PSD, + AV_CODEC_ID_PIXLET, + AV_CODEC_ID_SPEEDHQ, + AV_CODEC_ID_FMVC, + AV_CODEC_ID_SCPR, + AV_CODEC_ID_CLEARVIDEO, + AV_CODEC_ID_XPM, + AV_CODEC_ID_AV1, + AV_CODEC_ID_BITPACKED, + AV_CODEC_ID_MSCC, + AV_CODEC_ID_SRGC, + AV_CODEC_ID_SVG, + AV_CODEC_ID_GDV, + AV_CODEC_ID_FITS, + + /* various PCM "codecs" */ + AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs + AV_CODEC_ID_PCM_S16LE = 0x10000, + AV_CODEC_ID_PCM_S16BE, + AV_CODEC_ID_PCM_U16LE, + AV_CODEC_ID_PCM_U16BE, + AV_CODEC_ID_PCM_S8, + AV_CODEC_ID_PCM_U8, + AV_CODEC_ID_PCM_MULAW, + AV_CODEC_ID_PCM_ALAW, + AV_CODEC_ID_PCM_S32LE, + AV_CODEC_ID_PCM_S32BE, + AV_CODEC_ID_PCM_U32LE, + AV_CODEC_ID_PCM_U32BE, + AV_CODEC_ID_PCM_S24LE, + AV_CODEC_ID_PCM_S24BE, + AV_CODEC_ID_PCM_U24LE, + AV_CODEC_ID_PCM_U24BE, + AV_CODEC_ID_PCM_S24DAUD, + AV_CODEC_ID_PCM_ZORK, + AV_CODEC_ID_PCM_S16LE_PLANAR, + AV_CODEC_ID_PCM_DVD, + AV_CODEC_ID_PCM_F32BE, + AV_CODEC_ID_PCM_F32LE, + AV_CODEC_ID_PCM_F64BE, + AV_CODEC_ID_PCM_F64LE, + AV_CODEC_ID_PCM_BLURAY, + AV_CODEC_ID_PCM_LXF, + AV_CODEC_ID_S302M, + AV_CODEC_ID_PCM_S8_PLANAR, + AV_CODEC_ID_PCM_S24LE_PLANAR, + AV_CODEC_ID_PCM_S32LE_PLANAR, + AV_CODEC_ID_PCM_S16BE_PLANAR, + + AV_CODEC_ID_PCM_S64LE = 0x10800, + AV_CODEC_ID_PCM_S64BE, + AV_CODEC_ID_PCM_F16LE, + AV_CODEC_ID_PCM_F24LE, + + /* various ADPCM codecs */ + AV_CODEC_ID_ADPCM_IMA_QT = 0x11000, + AV_CODEC_ID_ADPCM_IMA_WAV, + AV_CODEC_ID_ADPCM_IMA_DK3, + AV_CODEC_ID_ADPCM_IMA_DK4, + AV_CODEC_ID_ADPCM_IMA_WS, + AV_CODEC_ID_ADPCM_IMA_SMJPEG, + AV_CODEC_ID_ADPCM_MS, + AV_CODEC_ID_ADPCM_4XM, + AV_CODEC_ID_ADPCM_XA, + AV_CODEC_ID_ADPCM_ADX, + AV_CODEC_ID_ADPCM_EA, + AV_CODEC_ID_ADPCM_G726, + AV_CODEC_ID_ADPCM_CT, + AV_CODEC_ID_ADPCM_SWF, + AV_CODEC_ID_ADPCM_YAMAHA, + AV_CODEC_ID_ADPCM_SBPRO_4, + AV_CODEC_ID_ADPCM_SBPRO_3, + AV_CODEC_ID_ADPCM_SBPRO_2, + AV_CODEC_ID_ADPCM_THP, + AV_CODEC_ID_ADPCM_IMA_AMV, + AV_CODEC_ID_ADPCM_EA_R1, + AV_CODEC_ID_ADPCM_EA_R3, + AV_CODEC_ID_ADPCM_EA_R2, + AV_CODEC_ID_ADPCM_IMA_EA_SEAD, + AV_CODEC_ID_ADPCM_IMA_EA_EACS, + AV_CODEC_ID_ADPCM_EA_XAS, + AV_CODEC_ID_ADPCM_EA_MAXIS_XA, + AV_CODEC_ID_ADPCM_IMA_ISS, + AV_CODEC_ID_ADPCM_G722, + AV_CODEC_ID_ADPCM_IMA_APC, + AV_CODEC_ID_ADPCM_VIMA, +#if FF_API_VIMA_DECODER + AV_CODEC_ID_VIMA = AV_CODEC_ID_ADPCM_VIMA, +#endif + + AV_CODEC_ID_ADPCM_AFC = 0x11800, + AV_CODEC_ID_ADPCM_IMA_OKI, + AV_CODEC_ID_ADPCM_DTK, + AV_CODEC_ID_ADPCM_IMA_RAD, + AV_CODEC_ID_ADPCM_G726LE, + AV_CODEC_ID_ADPCM_THP_LE, + AV_CODEC_ID_ADPCM_PSX, + AV_CODEC_ID_ADPCM_AICA, + AV_CODEC_ID_ADPCM_IMA_DAT4, + AV_CODEC_ID_ADPCM_MTAF, + + /* AMR */ + AV_CODEC_ID_AMR_NB = 0x12000, + AV_CODEC_ID_AMR_WB, + + /* RealAudio codecs*/ + AV_CODEC_ID_RA_144 = 0x13000, + AV_CODEC_ID_RA_288, + + /* various DPCM codecs */ + AV_CODEC_ID_ROQ_DPCM = 0x14000, + AV_CODEC_ID_INTERPLAY_DPCM, + AV_CODEC_ID_XAN_DPCM, + AV_CODEC_ID_SOL_DPCM, + + AV_CODEC_ID_SDX2_DPCM = 0x14800, + AV_CODEC_ID_GREMLIN_DPCM, + + /* audio codecs */ + AV_CODEC_ID_MP2 = 0x15000, + AV_CODEC_ID_MP3, ///< preferred ID for decoding MPEG audio layer 1, 2 or 3 + AV_CODEC_ID_AAC, + AV_CODEC_ID_AC3, + AV_CODEC_ID_DTS, + AV_CODEC_ID_VORBIS, + AV_CODEC_ID_DVAUDIO, + AV_CODEC_ID_WMAV1, + AV_CODEC_ID_WMAV2, + AV_CODEC_ID_MACE3, + AV_CODEC_ID_MACE6, + AV_CODEC_ID_VMDAUDIO, + AV_CODEC_ID_FLAC, + AV_CODEC_ID_MP3ADU, + AV_CODEC_ID_MP3ON4, + AV_CODEC_ID_SHORTEN, + AV_CODEC_ID_ALAC, + AV_CODEC_ID_WESTWOOD_SND1, + AV_CODEC_ID_GSM, ///< as in Berlin toast format + AV_CODEC_ID_QDM2, + AV_CODEC_ID_COOK, + AV_CODEC_ID_TRUESPEECH, + AV_CODEC_ID_TTA, + AV_CODEC_ID_SMACKAUDIO, + AV_CODEC_ID_QCELP, + AV_CODEC_ID_WAVPACK, + AV_CODEC_ID_DSICINAUDIO, + AV_CODEC_ID_IMC, + AV_CODEC_ID_MUSEPACK7, + AV_CODEC_ID_MLP, + AV_CODEC_ID_GSM_MS, /* as found in WAV */ + AV_CODEC_ID_ATRAC3, +#if FF_API_VOXWARE + AV_CODEC_ID_VOXWARE, +#endif + AV_CODEC_ID_APE, + AV_CODEC_ID_NELLYMOSER, + AV_CODEC_ID_MUSEPACK8, + AV_CODEC_ID_SPEEX, + AV_CODEC_ID_WMAVOICE, + AV_CODEC_ID_WMAPRO, + AV_CODEC_ID_WMALOSSLESS, + AV_CODEC_ID_ATRAC3P, + AV_CODEC_ID_EAC3, + AV_CODEC_ID_SIPR, + AV_CODEC_ID_MP1, + AV_CODEC_ID_TWINVQ, + AV_CODEC_ID_TRUEHD, + AV_CODEC_ID_MP4ALS, + AV_CODEC_ID_ATRAC1, + AV_CODEC_ID_BINKAUDIO_RDFT, + AV_CODEC_ID_BINKAUDIO_DCT, + AV_CODEC_ID_AAC_LATM, + AV_CODEC_ID_QDMC, + AV_CODEC_ID_CELT, + AV_CODEC_ID_G723_1, + AV_CODEC_ID_G729, + AV_CODEC_ID_8SVX_EXP, + AV_CODEC_ID_8SVX_FIB, + AV_CODEC_ID_BMV_AUDIO, + AV_CODEC_ID_RALF, + AV_CODEC_ID_IAC, + AV_CODEC_ID_ILBC, + AV_CODEC_ID_OPUS, + AV_CODEC_ID_COMFORT_NOISE, + AV_CODEC_ID_TAK, + AV_CODEC_ID_METASOUND, + AV_CODEC_ID_PAF_AUDIO, + AV_CODEC_ID_ON2AVC, + AV_CODEC_ID_DSS_SP, + + AV_CODEC_ID_FFWAVESYNTH = 0x15800, + AV_CODEC_ID_SONIC, + AV_CODEC_ID_SONIC_LS, + AV_CODEC_ID_EVRC, + AV_CODEC_ID_SMV, + AV_CODEC_ID_DSD_LSBF, + AV_CODEC_ID_DSD_MSBF, + AV_CODEC_ID_DSD_LSBF_PLANAR, + AV_CODEC_ID_DSD_MSBF_PLANAR, + AV_CODEC_ID_4GV, + AV_CODEC_ID_INTERPLAY_ACM, + AV_CODEC_ID_XMA1, + AV_CODEC_ID_XMA2, + AV_CODEC_ID_DST, + AV_CODEC_ID_ATRAC3AL, + AV_CODEC_ID_ATRAC3PAL, + AV_CODEC_ID_DOLBY_E, + + /* subtitle codecs */ + AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs. + AV_CODEC_ID_DVD_SUBTITLE = 0x17000, + AV_CODEC_ID_DVB_SUBTITLE, + AV_CODEC_ID_TEXT, ///< raw UTF-8 text + AV_CODEC_ID_XSUB, + AV_CODEC_ID_SSA, + AV_CODEC_ID_MOV_TEXT, + AV_CODEC_ID_HDMV_PGS_SUBTITLE, + AV_CODEC_ID_DVB_TELETEXT, + AV_CODEC_ID_SRT, + + AV_CODEC_ID_MICRODVD = 0x17800, + AV_CODEC_ID_EIA_608, + AV_CODEC_ID_JACOSUB, + AV_CODEC_ID_SAMI, + AV_CODEC_ID_REALTEXT, + AV_CODEC_ID_STL, + AV_CODEC_ID_SUBVIEWER1, + AV_CODEC_ID_SUBVIEWER, + AV_CODEC_ID_SUBRIP, + AV_CODEC_ID_WEBVTT, + AV_CODEC_ID_MPL2, + AV_CODEC_ID_VPLAYER, + AV_CODEC_ID_PJS, + AV_CODEC_ID_ASS, + AV_CODEC_ID_HDMV_TEXT_SUBTITLE, + + /* other specific kind of codecs (generally used for attachments) */ + AV_CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs. + AV_CODEC_ID_TTF = 0x18000, + + AV_CODEC_ID_SCTE_35, ///< Contain timestamp estimated through PCR of program stream. + AV_CODEC_ID_BINTEXT = 0x18800, + AV_CODEC_ID_XBIN, + AV_CODEC_ID_IDF, + AV_CODEC_ID_OTF, + AV_CODEC_ID_SMPTE_KLV, + AV_CODEC_ID_DVD_NAV, + AV_CODEC_ID_TIMED_ID3, + AV_CODEC_ID_BIN_DATA, + + + AV_CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it + + AV_CODEC_ID_MPEG2TS = 0x20000, /**< _FAKE_ codec to indicate a raw MPEG-2 TS + * stream (only used by libavformat) */ + AV_CODEC_ID_MPEG4SYSTEMS = 0x20001, /**< _FAKE_ codec to indicate a MPEG-4 Systems + * stream (only used by libavformat) */ + AV_CODEC_ID_FFMETADATA = 0x21000, ///< Dummy codec for streams containing only metadata information. + AV_CODEC_ID_WRAPPED_AVFRAME = 0x21001, ///< Passthrough codec, AVFrames wrapped in AVPacket +}; + +/** + * This struct describes the properties of a single codec described by an + * AVCodecID. + * @see avcodec_descriptor_get() + */ +typedef struct AVCodecDescriptor { + enum AVCodecID id; + enum AVMediaType type; + /** + * Name of the codec described by this descriptor. It is non-empty and + * unique for each codec descriptor. It should contain alphanumeric + * characters and '_' only. + */ + const char *name; + /** + * A more descriptive name for this codec. May be NULL. + */ + const char *long_name; + /** + * Codec properties, a combination of AV_CODEC_PROP_* flags. + */ + int props; + /** + * MIME type(s) associated with the codec. + * May be NULL; if not, a NULL-terminated array of MIME types. + * The first item is always non-NULL and is the preferred MIME type. + */ + const char *const *mime_types; + /** + * If non-NULL, an array of profiles recognized for this codec. + * Terminated with FF_PROFILE_UNKNOWN. + */ + const struct AVProfile *profiles; +} AVCodecDescriptor; + +/** + * Codec uses only intra compression. + * Video and audio codecs only. + */ +#define AV_CODEC_PROP_INTRA_ONLY (1 << 0) +/** + * Codec supports lossy compression. Audio and video codecs only. + * @note a codec may support both lossy and lossless + * compression modes + */ +#define AV_CODEC_PROP_LOSSY (1 << 1) +/** + * Codec supports lossless compression. Audio and video codecs only. + */ +#define AV_CODEC_PROP_LOSSLESS (1 << 2) +/** + * Codec supports frame reordering. That is, the coded order (the order in which + * the encoded packets are output by the encoders / stored / input to the + * decoders) may be different from the presentation order of the corresponding + * frames. + * + * For codecs that do not have this property set, PTS and DTS should always be + * equal. + */ +#define AV_CODEC_PROP_REORDER (1 << 3) +/** + * Subtitle codec is bitmap based + * Decoded AVSubtitle data can be read from the AVSubtitleRect->pict field. + */ +#define AV_CODEC_PROP_BITMAP_SUB (1 << 16) +/** + * Subtitle codec is text based. + * Decoded AVSubtitle data can be read from the AVSubtitleRect->ass field. + */ +#define AV_CODEC_PROP_TEXT_SUB (1 << 17) + +/** + * @ingroup lavc_decoding + * Required number of additionally allocated bytes at the end of the input bitstream for decoding. + * This is mainly needed because some optimized bitstream readers read + * 32 or 64 bit at once and could read over the end.
    + * Note: If the first 23 bits of the additional bytes are not 0, then damaged + * MPEG bitstreams could cause overread and segfault. + */ +#define AV_INPUT_BUFFER_PADDING_SIZE 32 + +/** + * @ingroup lavc_encoding + * minimum encoding buffer size + * Used to avoid some checks during header writing. + */ +#define AV_INPUT_BUFFER_MIN_SIZE 16384 + +#if FF_API_WITHOUT_PREFIX +/** + * @deprecated use AV_INPUT_BUFFER_PADDING_SIZE instead + */ +#define FF_INPUT_BUFFER_PADDING_SIZE 32 + +/** + * @deprecated use AV_INPUT_BUFFER_MIN_SIZE instead + */ +#define FF_MIN_BUFFER_SIZE 16384 +#endif /* FF_API_WITHOUT_PREFIX */ + +/** + * @ingroup lavc_encoding + * motion estimation type. + * @deprecated use codec private option instead + */ +#if FF_API_MOTION_EST +enum Motion_Est_ID { + ME_ZERO = 1, ///< no search, that is use 0,0 vector whenever one is needed + ME_FULL, + ME_LOG, + ME_PHODS, + ME_EPZS, ///< enhanced predictive zonal search + ME_X1, ///< reserved for experiments + ME_HEX, ///< hexagon based search + ME_UMH, ///< uneven multi-hexagon search + ME_TESA, ///< transformed exhaustive search algorithm + ME_ITER=50, ///< iterative search +}; +#endif + +/** + * @ingroup lavc_decoding + */ +enum AVDiscard{ + /* We leave some space between them for extensions (drop some + * keyframes for intra-only or drop just some bidir frames). */ + AVDISCARD_NONE =-16, ///< discard nothing + AVDISCARD_DEFAULT = 0, ///< discard useless packets like 0 size packets in avi + AVDISCARD_NONREF = 8, ///< discard all non reference + AVDISCARD_BIDIR = 16, ///< discard all bidirectional frames + AVDISCARD_NONINTRA= 24, ///< discard all non intra frames + AVDISCARD_NONKEY = 32, ///< discard all frames except keyframes + AVDISCARD_ALL = 48, ///< discard all +}; + +enum AVAudioServiceType { + AV_AUDIO_SERVICE_TYPE_MAIN = 0, + AV_AUDIO_SERVICE_TYPE_EFFECTS = 1, + AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED = 2, + AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED = 3, + AV_AUDIO_SERVICE_TYPE_DIALOGUE = 4, + AV_AUDIO_SERVICE_TYPE_COMMENTARY = 5, + AV_AUDIO_SERVICE_TYPE_EMERGENCY = 6, + AV_AUDIO_SERVICE_TYPE_VOICE_OVER = 7, + AV_AUDIO_SERVICE_TYPE_KARAOKE = 8, + AV_AUDIO_SERVICE_TYPE_NB , ///< Not part of ABI +}; + +/** + * @ingroup lavc_encoding + */ +typedef struct RcOverride{ + int start_frame; + int end_frame; + int qscale; // If this is 0 then quality_factor will be used instead. + float quality_factor; +} RcOverride; + +#if FF_API_MAX_BFRAMES +/** + * @deprecated there is no libavcodec-wide limit on the number of B-frames + */ +#define FF_MAX_B_FRAMES 16 +#endif + +/* encoding support + These flags can be passed in AVCodecContext.flags before initialization. + Note: Not everything is supported yet. +*/ + +/** + * Allow decoders to produce frames with data planes that are not aligned + * to CPU requirements (e.g. due to cropping). + */ +#define AV_CODEC_FLAG_UNALIGNED (1 << 0) +/** + * Use fixed qscale. + */ +#define AV_CODEC_FLAG_QSCALE (1 << 1) +/** + * 4 MV per MB allowed / advanced prediction for H.263. + */ +#define AV_CODEC_FLAG_4MV (1 << 2) +/** + * Output even those frames that might be corrupted. + */ +#define AV_CODEC_FLAG_OUTPUT_CORRUPT (1 << 3) +/** + * Use qpel MC. + */ +#define AV_CODEC_FLAG_QPEL (1 << 4) +/** + * Use internal 2pass ratecontrol in first pass mode. + */ +#define AV_CODEC_FLAG_PASS1 (1 << 9) +/** + * Use internal 2pass ratecontrol in second pass mode. + */ +#define AV_CODEC_FLAG_PASS2 (1 << 10) +/** + * loop filter. + */ +#define AV_CODEC_FLAG_LOOP_FILTER (1 << 11) +/** + * Only decode/encode grayscale. + */ +#define AV_CODEC_FLAG_GRAY (1 << 13) +/** + * error[?] variables will be set during encoding. + */ +#define AV_CODEC_FLAG_PSNR (1 << 15) +/** + * Input bitstream might be truncated at a random location + * instead of only at frame boundaries. + */ +#define AV_CODEC_FLAG_TRUNCATED (1 << 16) +/** + * Use interlaced DCT. + */ +#define AV_CODEC_FLAG_INTERLACED_DCT (1 << 18) +/** + * Force low delay. + */ +#define AV_CODEC_FLAG_LOW_DELAY (1 << 19) +/** + * Place global headers in extradata instead of every keyframe. + */ +#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22) +/** + * Use only bitexact stuff (except (I)DCT). + */ +#define AV_CODEC_FLAG_BITEXACT (1 << 23) +/* Fx : Flag for H.263+ extra options */ +/** + * H.263 advanced intra coding / MPEG-4 AC prediction + */ +#define AV_CODEC_FLAG_AC_PRED (1 << 24) +/** + * interlaced motion estimation + */ +#define AV_CODEC_FLAG_INTERLACED_ME (1 << 29) +#define AV_CODEC_FLAG_CLOSED_GOP (1U << 31) + +/** + * Allow non spec compliant speedup tricks. + */ +#define AV_CODEC_FLAG2_FAST (1 << 0) +/** + * Skip bitstream encoding. + */ +#define AV_CODEC_FLAG2_NO_OUTPUT (1 << 2) +/** + * Place global headers at every keyframe instead of in extradata. + */ +#define AV_CODEC_FLAG2_LOCAL_HEADER (1 << 3) + +/** + * timecode is in drop frame format. DEPRECATED!!!! + */ +#define AV_CODEC_FLAG2_DROP_FRAME_TIMECODE (1 << 13) + +/** + * Input bitstream might be truncated at a packet boundaries + * instead of only at frame boundaries. + */ +#define AV_CODEC_FLAG2_CHUNKS (1 << 15) +/** + * Discard cropping information from SPS. + */ +#define AV_CODEC_FLAG2_IGNORE_CROP (1 << 16) + +/** + * Show all frames before the first keyframe + */ +#define AV_CODEC_FLAG2_SHOW_ALL (1 << 22) +/** + * Export motion vectors through frame side data + */ +#define AV_CODEC_FLAG2_EXPORT_MVS (1 << 28) +/** + * Do not skip samples and export skip information as frame side data + */ +#define AV_CODEC_FLAG2_SKIP_MANUAL (1 << 29) +/** + * Do not reset ASS ReadOrder field on flush (subtitles decoding) + */ +#define AV_CODEC_FLAG2_RO_FLUSH_NOOP (1 << 30) + +/* Unsupported options : + * Syntax Arithmetic coding (SAC) + * Reference Picture Selection + * Independent Segment Decoding */ +/* /Fx */ +/* codec capabilities */ + +/** + * Decoder can use draw_horiz_band callback. + */ +#define AV_CODEC_CAP_DRAW_HORIZ_BAND (1 << 0) +/** + * Codec uses get_buffer() for allocating buffers and supports custom allocators. + * If not set, it might not use get_buffer() at all or use operations that + * assume the buffer was allocated by avcodec_default_get_buffer. + */ +#define AV_CODEC_CAP_DR1 (1 << 1) +#define AV_CODEC_CAP_TRUNCATED (1 << 3) +/** + * Encoder or decoder requires flushing with NULL input at the end in order to + * give the complete and correct output. + * + * NOTE: If this flag is not set, the codec is guaranteed to never be fed with + * with NULL data. The user can still send NULL data to the public encode + * or decode function, but libavcodec will not pass it along to the codec + * unless this flag is set. + * + * Decoders: + * The decoder has a non-zero delay and needs to be fed with avpkt->data=NULL, + * avpkt->size=0 at the end to get the delayed data until the decoder no longer + * returns frames. + * + * Encoders: + * The encoder needs to be fed with NULL data at the end of encoding until the + * encoder no longer returns data. + * + * NOTE: For encoders implementing the AVCodec.encode2() function, setting this + * flag also means that the encoder must set the pts and duration for + * each output packet. If this flag is not set, the pts and duration will + * be determined by libavcodec from the input frame. + */ +#define AV_CODEC_CAP_DELAY (1 << 5) +/** + * Codec can be fed a final frame with a smaller size. + * This can be used to prevent truncation of the last audio samples. + */ +#define AV_CODEC_CAP_SMALL_LAST_FRAME (1 << 6) + +#if FF_API_CAP_VDPAU +/** + * Codec can export data for HW decoding (VDPAU). + */ +#define AV_CODEC_CAP_HWACCEL_VDPAU (1 << 7) +#endif + +/** + * Codec can output multiple frames per AVPacket + * Normally demuxers return one frame at a time, demuxers which do not do + * are connected to a parser to split what they return into proper frames. + * This flag is reserved to the very rare category of codecs which have a + * bitstream that cannot be split into frames without timeconsuming + * operations like full decoding. Demuxers carrying such bitstreams thus + * may return multiple frames in a packet. This has many disadvantages like + * prohibiting stream copy in many cases thus it should only be considered + * as a last resort. + */ +#define AV_CODEC_CAP_SUBFRAMES (1 << 8) +/** + * Codec is experimental and is thus avoided in favor of non experimental + * encoders + */ +#define AV_CODEC_CAP_EXPERIMENTAL (1 << 9) +/** + * Codec should fill in channel configuration and samplerate instead of container + */ +#define AV_CODEC_CAP_CHANNEL_CONF (1 << 10) +/** + * Codec supports frame-level multithreading. + */ +#define AV_CODEC_CAP_FRAME_THREADS (1 << 12) +/** + * Codec supports slice-based (or partition-based) multithreading. + */ +#define AV_CODEC_CAP_SLICE_THREADS (1 << 13) +/** + * Codec supports changed parameters at any point. + */ +#define AV_CODEC_CAP_PARAM_CHANGE (1 << 14) +/** + * Codec supports avctx->thread_count == 0 (auto). + */ +#define AV_CODEC_CAP_AUTO_THREADS (1 << 15) +/** + * Audio encoder supports receiving a different number of samples in each call. + */ +#define AV_CODEC_CAP_VARIABLE_FRAME_SIZE (1 << 16) +/** + * Decoder is not a preferred choice for probing. + * This indicates that the decoder is not a good choice for probing. + * It could for example be an expensive to spin up hardware decoder, + * or it could simply not provide a lot of useful information about + * the stream. + * A decoder marked with this flag should only be used as last resort + * choice for probing. + */ +#define AV_CODEC_CAP_AVOID_PROBING (1 << 17) +/** + * Codec is intra only. + */ +#define AV_CODEC_CAP_INTRA_ONLY 0x40000000 +/** + * Codec is lossless. + */ +#define AV_CODEC_CAP_LOSSLESS 0x80000000 + + +#if FF_API_WITHOUT_PREFIX +/** + * Allow decoders to produce frames with data planes that are not aligned + * to CPU requirements (e.g. due to cropping). + */ +#define CODEC_FLAG_UNALIGNED AV_CODEC_FLAG_UNALIGNED +#define CODEC_FLAG_QSCALE AV_CODEC_FLAG_QSCALE +#define CODEC_FLAG_4MV AV_CODEC_FLAG_4MV +#define CODEC_FLAG_OUTPUT_CORRUPT AV_CODEC_FLAG_OUTPUT_CORRUPT +#define CODEC_FLAG_QPEL AV_CODEC_FLAG_QPEL +#if FF_API_GMC +/** + * @deprecated use the "gmc" private option of the libxvid encoder + */ +#define CODEC_FLAG_GMC 0x0020 ///< Use GMC. +#endif +#if FF_API_MV0 +/** + * @deprecated use the flag "mv0" in the "mpv_flags" private option of the + * mpegvideo encoders + */ +#define CODEC_FLAG_MV0 0x0040 +#endif +#if FF_API_INPUT_PRESERVED +/** + * @deprecated passing reference-counted frames to the encoders replaces this + * flag + */ +#define CODEC_FLAG_INPUT_PRESERVED 0x0100 +#endif +#define CODEC_FLAG_PASS1 AV_CODEC_FLAG_PASS1 +#define CODEC_FLAG_PASS2 AV_CODEC_FLAG_PASS2 +#define CODEC_FLAG_GRAY AV_CODEC_FLAG_GRAY +#if FF_API_EMU_EDGE +/** + * @deprecated edges are not used/required anymore. I.e. this flag is now always + * set. + */ +#define CODEC_FLAG_EMU_EDGE 0x4000 +#endif +#define CODEC_FLAG_PSNR AV_CODEC_FLAG_PSNR +#define CODEC_FLAG_TRUNCATED AV_CODEC_FLAG_TRUNCATED + +#if FF_API_NORMALIZE_AQP +/** + * @deprecated use the flag "naq" in the "mpv_flags" private option of the + * mpegvideo encoders + */ +#define CODEC_FLAG_NORMALIZE_AQP 0x00020000 +#endif +#define CODEC_FLAG_INTERLACED_DCT AV_CODEC_FLAG_INTERLACED_DCT +#define CODEC_FLAG_LOW_DELAY AV_CODEC_FLAG_LOW_DELAY +#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER +#define CODEC_FLAG_BITEXACT AV_CODEC_FLAG_BITEXACT +#define CODEC_FLAG_AC_PRED AV_CODEC_FLAG_AC_PRED +#define CODEC_FLAG_LOOP_FILTER AV_CODEC_FLAG_LOOP_FILTER +#define CODEC_FLAG_INTERLACED_ME AV_CODEC_FLAG_INTERLACED_ME +#define CODEC_FLAG_CLOSED_GOP AV_CODEC_FLAG_CLOSED_GOP +#define CODEC_FLAG2_FAST AV_CODEC_FLAG2_FAST +#define CODEC_FLAG2_NO_OUTPUT AV_CODEC_FLAG2_NO_OUTPUT +#define CODEC_FLAG2_LOCAL_HEADER AV_CODEC_FLAG2_LOCAL_HEADER +#define CODEC_FLAG2_DROP_FRAME_TIMECODE AV_CODEC_FLAG2_DROP_FRAME_TIMECODE +#define CODEC_FLAG2_IGNORE_CROP AV_CODEC_FLAG2_IGNORE_CROP + +#define CODEC_FLAG2_CHUNKS AV_CODEC_FLAG2_CHUNKS +#define CODEC_FLAG2_SHOW_ALL AV_CODEC_FLAG2_SHOW_ALL +#define CODEC_FLAG2_EXPORT_MVS AV_CODEC_FLAG2_EXPORT_MVS +#define CODEC_FLAG2_SKIP_MANUAL AV_CODEC_FLAG2_SKIP_MANUAL + +/* Unsupported options : + * Syntax Arithmetic coding (SAC) + * Reference Picture Selection + * Independent Segment Decoding */ +/* /Fx */ +/* codec capabilities */ + +#define CODEC_CAP_DRAW_HORIZ_BAND AV_CODEC_CAP_DRAW_HORIZ_BAND ///< Decoder can use draw_horiz_band callback. +/** + * Codec uses get_buffer() for allocating buffers and supports custom allocators. + * If not set, it might not use get_buffer() at all or use operations that + * assume the buffer was allocated by avcodec_default_get_buffer. + */ +#define CODEC_CAP_DR1 AV_CODEC_CAP_DR1 +#define CODEC_CAP_TRUNCATED AV_CODEC_CAP_TRUNCATED +#if FF_API_XVMC +/* Codec can export data for HW decoding. This flag indicates that + * the codec would call get_format() with list that might contain HW accelerated + * pixel formats (XvMC, VDPAU, VAAPI, etc). The application can pick any of them + * including raw image format. + * The application can use the passed context to determine bitstream version, + * chroma format, resolution etc. + */ +#define CODEC_CAP_HWACCEL 0x0010 +#endif /* FF_API_XVMC */ +/** + * Encoder or decoder requires flushing with NULL input at the end in order to + * give the complete and correct output. + * + * NOTE: If this flag is not set, the codec is guaranteed to never be fed with + * with NULL data. The user can still send NULL data to the public encode + * or decode function, but libavcodec will not pass it along to the codec + * unless this flag is set. + * + * Decoders: + * The decoder has a non-zero delay and needs to be fed with avpkt->data=NULL, + * avpkt->size=0 at the end to get the delayed data until the decoder no longer + * returns frames. + * + * Encoders: + * The encoder needs to be fed with NULL data at the end of encoding until the + * encoder no longer returns data. + * + * NOTE: For encoders implementing the AVCodec.encode2() function, setting this + * flag also means that the encoder must set the pts and duration for + * each output packet. If this flag is not set, the pts and duration will + * be determined by libavcodec from the input frame. + */ +#define CODEC_CAP_DELAY AV_CODEC_CAP_DELAY +/** + * Codec can be fed a final frame with a smaller size. + * This can be used to prevent truncation of the last audio samples. + */ +#define CODEC_CAP_SMALL_LAST_FRAME AV_CODEC_CAP_SMALL_LAST_FRAME +#if FF_API_CAP_VDPAU +/** + * Codec can export data for HW decoding (VDPAU). + */ +#define CODEC_CAP_HWACCEL_VDPAU AV_CODEC_CAP_HWACCEL_VDPAU +#endif +/** + * Codec can output multiple frames per AVPacket + * Normally demuxers return one frame at a time, demuxers which do not do + * are connected to a parser to split what they return into proper frames. + * This flag is reserved to the very rare category of codecs which have a + * bitstream that cannot be split into frames without timeconsuming + * operations like full decoding. Demuxers carrying such bitstreams thus + * may return multiple frames in a packet. This has many disadvantages like + * prohibiting stream copy in many cases thus it should only be considered + * as a last resort. + */ +#define CODEC_CAP_SUBFRAMES AV_CODEC_CAP_SUBFRAMES +/** + * Codec is experimental and is thus avoided in favor of non experimental + * encoders + */ +#define CODEC_CAP_EXPERIMENTAL AV_CODEC_CAP_EXPERIMENTAL +/** + * Codec should fill in channel configuration and samplerate instead of container + */ +#define CODEC_CAP_CHANNEL_CONF AV_CODEC_CAP_CHANNEL_CONF +#if FF_API_NEG_LINESIZES +/** + * @deprecated no codecs use this capability + */ +#define CODEC_CAP_NEG_LINESIZES 0x0800 +#endif +/** + * Codec supports frame-level multithreading. + */ +#define CODEC_CAP_FRAME_THREADS AV_CODEC_CAP_FRAME_THREADS +/** + * Codec supports slice-based (or partition-based) multithreading. + */ +#define CODEC_CAP_SLICE_THREADS AV_CODEC_CAP_SLICE_THREADS +/** + * Codec supports changed parameters at any point. + */ +#define CODEC_CAP_PARAM_CHANGE AV_CODEC_CAP_PARAM_CHANGE +/** + * Codec supports avctx->thread_count == 0 (auto). + */ +#define CODEC_CAP_AUTO_THREADS AV_CODEC_CAP_AUTO_THREADS +/** + * Audio encoder supports receiving a different number of samples in each call. + */ +#define CODEC_CAP_VARIABLE_FRAME_SIZE AV_CODEC_CAP_VARIABLE_FRAME_SIZE +/** + * Codec is intra only. + */ +#define CODEC_CAP_INTRA_ONLY AV_CODEC_CAP_INTRA_ONLY +/** + * Codec is lossless. + */ +#define CODEC_CAP_LOSSLESS AV_CODEC_CAP_LOSSLESS + +/** + * HWAccel is experimental and is thus avoided in favor of non experimental + * codecs + */ +#define HWACCEL_CODEC_CAP_EXPERIMENTAL 0x0200 +#endif /* FF_API_WITHOUT_PREFIX */ + +#if FF_API_MB_TYPE +//The following defines may change, don't expect compatibility if you use them. +#define MB_TYPE_INTRA4x4 0x0001 +#define MB_TYPE_INTRA16x16 0x0002 //FIXME H.264-specific +#define MB_TYPE_INTRA_PCM 0x0004 //FIXME H.264-specific +#define MB_TYPE_16x16 0x0008 +#define MB_TYPE_16x8 0x0010 +#define MB_TYPE_8x16 0x0020 +#define MB_TYPE_8x8 0x0040 +#define MB_TYPE_INTERLACED 0x0080 +#define MB_TYPE_DIRECT2 0x0100 //FIXME +#define MB_TYPE_ACPRED 0x0200 +#define MB_TYPE_GMC 0x0400 +#define MB_TYPE_SKIP 0x0800 +#define MB_TYPE_P0L0 0x1000 +#define MB_TYPE_P1L0 0x2000 +#define MB_TYPE_P0L1 0x4000 +#define MB_TYPE_P1L1 0x8000 +#define MB_TYPE_L0 (MB_TYPE_P0L0 | MB_TYPE_P1L0) +#define MB_TYPE_L1 (MB_TYPE_P0L1 | MB_TYPE_P1L1) +#define MB_TYPE_L0L1 (MB_TYPE_L0 | MB_TYPE_L1) +#define MB_TYPE_QUANT 0x00010000 +#define MB_TYPE_CBP 0x00020000 +// Note bits 24-31 are reserved for codec specific use (H.264 ref0, MPEG-1 0mv, ...) +#endif + +/** + * Pan Scan area. + * This specifies the area which should be displayed. + * Note there may be multiple such areas for one frame. + */ +typedef struct AVPanScan{ + /** + * id + * - encoding: Set by user. + * - decoding: Set by libavcodec. + */ + int id; + + /** + * width and height in 1/16 pel + * - encoding: Set by user. + * - decoding: Set by libavcodec. + */ + int width; + int height; + + /** + * position of the top left corner in 1/16 pel for up to 3 fields/frames + * - encoding: Set by user. + * - decoding: Set by libavcodec. + */ + int16_t position[3][2]; +}AVPanScan; + +/** + * This structure describes the bitrate properties of an encoded bitstream. It + * roughly corresponds to a subset the VBV parameters for MPEG-2 or HRD + * parameters for H.264/HEVC. + */ +typedef struct AVCPBProperties { + /** + * Maximum bitrate of the stream, in bits per second. + * Zero if unknown or unspecified. + */ + int max_bitrate; + /** + * Minimum bitrate of the stream, in bits per second. + * Zero if unknown or unspecified. + */ + int min_bitrate; + /** + * Average bitrate of the stream, in bits per second. + * Zero if unknown or unspecified. + */ + int avg_bitrate; + + /** + * The size of the buffer to which the ratecontrol is applied, in bits. + * Zero if unknown or unspecified. + */ + int buffer_size; + + /** + * The delay between the time the packet this structure is associated with + * is received and the time when it should be decoded, in periods of a 27MHz + * clock. + * + * UINT64_MAX when unknown or unspecified. + */ + uint64_t vbv_delay; +} AVCPBProperties; + +#if FF_API_QSCALE_TYPE +#define FF_QSCALE_TYPE_MPEG1 0 +#define FF_QSCALE_TYPE_MPEG2 1 +#define FF_QSCALE_TYPE_H264 2 +#define FF_QSCALE_TYPE_VP56 3 +#endif + +/** + * The decoder will keep a reference to the frame and may reuse it later. + */ +#define AV_GET_BUFFER_FLAG_REF (1 << 0) + +/** + * @defgroup lavc_packet AVPacket + * + * Types and functions for working with AVPacket. + * @{ + */ +enum AVPacketSideDataType { + /** + * An AV_PKT_DATA_PALETTE side data packet contains exactly AVPALETTE_SIZE + * bytes worth of palette. This side data signals that a new palette is + * present. + */ + AV_PKT_DATA_PALETTE, + + /** + * The AV_PKT_DATA_NEW_EXTRADATA is used to notify the codec or the format + * that the extradata buffer was changed and the receiving side should + * act upon it appropriately. The new extradata is embedded in the side + * data buffer and should be immediately used for processing the current + * frame or packet. + */ + AV_PKT_DATA_NEW_EXTRADATA, + + /** + * An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows: + * @code + * u32le param_flags + * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT) + * s32le channel_count + * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT) + * u64le channel_layout + * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE) + * s32le sample_rate + * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS) + * s32le width + * s32le height + * @endcode + */ + AV_PKT_DATA_PARAM_CHANGE, + + /** + * An AV_PKT_DATA_H263_MB_INFO side data packet contains a number of + * structures with info about macroblocks relevant to splitting the + * packet into smaller packets on macroblock edges (e.g. as for RFC 2190). + * That is, it does not necessarily contain info about all macroblocks, + * as long as the distance between macroblocks in the info is smaller + * than the target payload size. + * Each MB info structure is 12 bytes, and is laid out as follows: + * @code + * u32le bit offset from the start of the packet + * u8 current quantizer at the start of the macroblock + * u8 GOB number + * u16le macroblock address within the GOB + * u8 horizontal MV predictor + * u8 vertical MV predictor + * u8 horizontal MV predictor for block number 3 + * u8 vertical MV predictor for block number 3 + * @endcode + */ + AV_PKT_DATA_H263_MB_INFO, + + /** + * This side data should be associated with an audio stream and contains + * ReplayGain information in form of the AVReplayGain struct. + */ + AV_PKT_DATA_REPLAYGAIN, + + /** + * This side data contains a 3x3 transformation matrix describing an affine + * transformation that needs to be applied to the decoded video frames for + * correct presentation. + * + * See libavutil/display.h for a detailed description of the data. + */ + AV_PKT_DATA_DISPLAYMATRIX, + + /** + * This side data should be associated with a video stream and contains + * Stereoscopic 3D information in form of the AVStereo3D struct. + */ + AV_PKT_DATA_STEREO3D, + + /** + * This side data should be associated with an audio stream and corresponds + * to enum AVAudioServiceType. + */ + AV_PKT_DATA_AUDIO_SERVICE_TYPE, + + /** + * This side data contains quality related information from the encoder. + * @code + * u32le quality factor of the compressed frame. Allowed range is between 1 (good) and FF_LAMBDA_MAX (bad). + * u8 picture type + * u8 error count + * u16 reserved + * u64le[error count] sum of squared differences between encoder in and output + * @endcode + */ + AV_PKT_DATA_QUALITY_STATS, + + /** + * This side data contains an integer value representing the stream index + * of a "fallback" track. A fallback track indicates an alternate + * track to use when the current track can not be decoded for some reason. + * e.g. no decoder available for codec. + */ + AV_PKT_DATA_FALLBACK_TRACK, + + /** + * This side data corresponds to the AVCPBProperties struct. + */ + AV_PKT_DATA_CPB_PROPERTIES, + + /** + * Recommmends skipping the specified number of samples + * @code + * u32le number of samples to skip from start of this packet + * u32le number of samples to skip from end of this packet + * u8 reason for start skip + * u8 reason for end skip (0=padding silence, 1=convergence) + * @endcode + */ + AV_PKT_DATA_SKIP_SAMPLES=70, + + /** + * An AV_PKT_DATA_JP_DUALMONO side data packet indicates that + * the packet may contain "dual mono" audio specific to Japanese DTV + * and if it is true, recommends only the selected channel to be used. + * @code + * u8 selected channels (0=mail/left, 1=sub/right, 2=both) + * @endcode + */ + AV_PKT_DATA_JP_DUALMONO, + + /** + * A list of zero terminated key/value strings. There is no end marker for + * the list, so it is required to rely on the side data size to stop. + */ + AV_PKT_DATA_STRINGS_METADATA, + + /** + * Subtitle event position + * @code + * u32le x1 + * u32le y1 + * u32le x2 + * u32le y2 + * @endcode + */ + AV_PKT_DATA_SUBTITLE_POSITION, + + /** + * Data found in BlockAdditional element of matroska container. There is + * no end marker for the data, so it is required to rely on the side data + * size to recognize the end. 8 byte id (as found in BlockAddId) followed + * by data. + */ + AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, + + /** + * The optional first identifier line of a WebVTT cue. + */ + AV_PKT_DATA_WEBVTT_IDENTIFIER, + + /** + * The optional settings (rendering instructions) that immediately + * follow the timestamp specifier of a WebVTT cue. + */ + AV_PKT_DATA_WEBVTT_SETTINGS, + + /** + * A list of zero terminated key/value strings. There is no end marker for + * the list, so it is required to rely on the side data size to stop. This + * side data includes updated metadata which appeared in the stream. + */ + AV_PKT_DATA_METADATA_UPDATE, + + /** + * MPEGTS stream ID, this is required to pass the stream ID + * information from the demuxer to the corresponding muxer. + */ + AV_PKT_DATA_MPEGTS_STREAM_ID, + + /** + * Mastering display metadata (based on SMPTE-2086:2014). This metadata + * should be associated with a video stream and contains data in the form + * of the AVMasteringDisplayMetadata struct. + */ + AV_PKT_DATA_MASTERING_DISPLAY_METADATA, + + /** + * This side data should be associated with a video stream and corresponds + * to the AVSphericalMapping structure. + */ + AV_PKT_DATA_SPHERICAL, + + /** + * Content light level (based on CTA-861.3). This metadata should be + * associated with a video stream and contains data in the form of the + * AVContentLightMetadata struct. + */ + AV_PKT_DATA_CONTENT_LIGHT_LEVEL, + + /** + * ATSC A53 Part 4 Closed Captions. This metadata should be associated with + * a video stream. A53 CC bitstream is stored as uint8_t in AVPacketSideData.data. + * The number of bytes of CC data is AVPacketSideData.size. + */ + AV_PKT_DATA_A53_CC, + + /** + * The number of side data elements (in fact a bit more than it). + * This is not part of the public API/ABI in the sense that it may + * change when new side data types are added. + * This must stay the last enum value. + * If its value becomes huge, some code using it + * needs to be updated as it assumes it to be smaller than other limits. + */ + AV_PKT_DATA_NB +}; + +#define AV_PKT_DATA_QUALITY_FACTOR AV_PKT_DATA_QUALITY_STATS //DEPRECATED + +typedef struct AVPacketSideData { + uint8_t *data; + int size; + enum AVPacketSideDataType type; +} AVPacketSideData; + +/** + * This structure stores compressed data. It is typically exported by demuxers + * and then passed as input to decoders, or received as output from encoders and + * then passed to muxers. + * + * For video, it should typically contain one compressed frame. For audio it may + * contain several compressed frames. Encoders are allowed to output empty + * packets, with no compressed data, containing only side data + * (e.g. to update some stream parameters at the end of encoding). + * + * AVPacket is one of the few structs in FFmpeg, whose size is a part of public + * ABI. Thus it may be allocated on stack and no new fields can be added to it + * without libavcodec and libavformat major bump. + * + * The semantics of data ownership depends on the buf field. + * If it is set, the packet data is dynamically allocated and is + * valid indefinitely until a call to av_packet_unref() reduces the + * reference count to 0. + * + * If the buf field is not set av_packet_ref() would make a copy instead + * of increasing the reference count. + * + * The side data is always allocated with av_malloc(), copied by + * av_packet_ref() and freed by av_packet_unref(). + * + * @see av_packet_ref + * @see av_packet_unref + */ +typedef struct AVPacket { + /** + * A reference to the reference-counted buffer where the packet data is + * stored. + * May be NULL, then the packet data is not reference-counted. + */ + AVBufferRef *buf; + /** + * Presentation timestamp in AVStream->time_base units; the time at which + * the decompressed packet will be presented to the user. + * Can be AV_NOPTS_VALUE if it is not stored in the file. + * pts MUST be larger or equal to dts as presentation cannot happen before + * decompression, unless one wants to view hex dumps. Some formats misuse + * the terms dts and pts/cts to mean something different. Such timestamps + * must be converted to true pts/dts before they are stored in AVPacket. + */ + int64_t pts; + /** + * Decompression timestamp in AVStream->time_base units; the time at which + * the packet is decompressed. + * Can be AV_NOPTS_VALUE if it is not stored in the file. + */ + int64_t dts; + uint8_t *data; + int size; + int stream_index; + /** + * A combination of AV_PKT_FLAG values + */ + int flags; + /** + * Additional packet data that can be provided by the container. + * Packet can contain several types of side information. + */ + AVPacketSideData *side_data; + int side_data_elems; + + /** + * Duration of this packet in AVStream->time_base units, 0 if unknown. + * Equals next_pts - this_pts in presentation order. + */ + int64_t duration; + + int64_t pos; ///< byte position in stream, -1 if unknown + +#if FF_API_CONVERGENCE_DURATION + /** + * @deprecated Same as the duration field, but as int64_t. This was required + * for Matroska subtitles, whose duration values could overflow when the + * duration field was still an int. + */ + attribute_deprecated + int64_t convergence_duration; +#endif +} AVPacket; +#define AV_PKT_FLAG_KEY 0x0001 ///< The packet contains a keyframe +#define AV_PKT_FLAG_CORRUPT 0x0002 ///< The packet content is corrupted +/** + * Flag is used to discard packets which are required to maintain valid + * decoder state but are not required for output and should be dropped + * after decoding. + **/ +#define AV_PKT_FLAG_DISCARD 0x0004 +/** + * The packet comes from a trusted source. + * + * Otherwise-unsafe constructs such as arbitrary pointers to data + * outside the packet may be followed. + */ +#define AV_PKT_FLAG_TRUSTED 0x0008 + +enum AVSideDataParamChangeFlags { + AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT = 0x0001, + AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 0x0002, + AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE = 0x0004, + AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS = 0x0008, +}; +/** + * @} + */ + +struct AVCodecInternal; + +enum AVFieldOrder { + AV_FIELD_UNKNOWN, + AV_FIELD_PROGRESSIVE, + AV_FIELD_TT, //< Top coded_first, top displayed first + AV_FIELD_BB, //< Bottom coded first, bottom displayed first + AV_FIELD_TB, //< Top coded first, bottom displayed first + AV_FIELD_BT, //< Bottom coded first, top displayed first +}; + +/** + * main external API structure. + * New fields can be added to the end with minor version bumps. + * Removal, reordering and changes to existing fields require a major + * version bump. + * You can use AVOptions (av_opt* / av_set/get*()) to access these fields from user + * applications. + * The name string for AVOptions options matches the associated command line + * parameter name and can be found in libavcodec/options_table.h + * The AVOption/command line parameter names differ in some cases from the C + * structure field names for historic reasons or brevity. + * sizeof(AVCodecContext) must not be used outside libav*. + */ +typedef struct AVCodecContext { + /** + * information on struct for av_log + * - set by avcodec_alloc_context3 + */ + const AVClass *av_class; + int log_level_offset; + + enum AVMediaType codec_type; /* see AVMEDIA_TYPE_xxx */ + const struct AVCodec *codec; +#if FF_API_CODEC_NAME + /** + * @deprecated this field is not used for anything in libavcodec + */ + attribute_deprecated + char codec_name[32]; +#endif + enum AVCodecID codec_id; /* see AV_CODEC_ID_xxx */ + + /** + * fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A'). + * This is used to work around some encoder bugs. + * A demuxer should set this to what is stored in the field used to identify the codec. + * If there are multiple such fields in a container then the demuxer should choose the one + * which maximizes the information about the used codec. + * If the codec tag field in a container is larger than 32 bits then the demuxer should + * remap the longer ID to 32 bits with a table or other structure. Alternatively a new + * extra_codec_tag + size could be added but for this a clear advantage must be demonstrated + * first. + * - encoding: Set by user, if not then the default based on codec_id will be used. + * - decoding: Set by user, will be converted to uppercase by libavcodec during init. + */ + unsigned int codec_tag; + +#if FF_API_STREAM_CODEC_TAG + /** + * @deprecated this field is unused + */ + attribute_deprecated + unsigned int stream_codec_tag; +#endif + + void *priv_data; + + /** + * Private context used for internal data. + * + * Unlike priv_data, this is not codec-specific. It is used in general + * libavcodec functions. + */ + struct AVCodecInternal *internal; + + /** + * Private data of the user, can be used to carry app specific stuff. + * - encoding: Set by user. + * - decoding: Set by user. + */ + void *opaque; + + /** + * the average bitrate + * - encoding: Set by user; unused for constant quantizer encoding. + * - decoding: Set by user, may be overwritten by libavcodec + * if this info is available in the stream + */ + int64_t bit_rate; + + /** + * number of bits the bitstream is allowed to diverge from the reference. + * the reference can be CBR (for CBR pass1) or VBR (for pass2) + * - encoding: Set by user; unused for constant quantizer encoding. + * - decoding: unused + */ + int bit_rate_tolerance; + + /** + * Global quality for codecs which cannot change it per frame. + * This should be proportional to MPEG-1/2/4 qscale. + * - encoding: Set by user. + * - decoding: unused + */ + int global_quality; + + /** + * - encoding: Set by user. + * - decoding: unused + */ + int compression_level; +#define FF_COMPRESSION_DEFAULT -1 + + /** + * AV_CODEC_FLAG_*. + * - encoding: Set by user. + * - decoding: Set by user. + */ + int flags; + + /** + * AV_CODEC_FLAG2_* + * - encoding: Set by user. + * - decoding: Set by user. + */ + int flags2; + + /** + * some codecs need / can use extradata like Huffman tables. + * MJPEG: Huffman tables + * rv10: additional flags + * MPEG-4: global headers (they can be in the bitstream or here) + * The allocated memory should be AV_INPUT_BUFFER_PADDING_SIZE bytes larger + * than extradata_size to avoid problems if it is read with the bitstream reader. + * The bytewise contents of extradata must not depend on the architecture or CPU endianness. + * - encoding: Set/allocated/freed by libavcodec. + * - decoding: Set/allocated/freed by user. + */ + uint8_t *extradata; + int extradata_size; + + /** + * This is the fundamental unit of time (in seconds) in terms + * of which frame timestamps are represented. For fixed-fps content, + * timebase should be 1/framerate and timestamp increments should be + * identically 1. + * This often, but not always is the inverse of the frame rate or field rate + * for video. 1/time_base is not the average frame rate if the frame rate is not + * constant. + * + * Like containers, elementary streams also can store timestamps, 1/time_base + * is the unit in which these timestamps are specified. + * As example of such codec time base see ISO/IEC 14496-2:2001(E) + * vop_time_increment_resolution and fixed_vop_rate + * (fixed_vop_rate == 0 implies that it is different from the framerate) + * + * - encoding: MUST be set by user. + * - decoding: the use of this field for decoding is deprecated. + * Use framerate instead. + */ + AVRational time_base; + + /** + * For some codecs, the time base is closer to the field rate than the frame rate. + * Most notably, H.264 and MPEG-2 specify time_base as half of frame duration + * if no telecine is used ... + * + * Set to time_base ticks per frame. Default 1, e.g., H.264/MPEG-2 set it to 2. + */ + int ticks_per_frame; + + /** + * Codec delay. + * + * Encoding: Number of frames delay there will be from the encoder input to + * the decoder output. (we assume the decoder matches the spec) + * Decoding: Number of frames delay in addition to what a standard decoder + * as specified in the spec would produce. + * + * Video: + * Number of frames the decoded output will be delayed relative to the + * encoded input. + * + * Audio: + * For encoding, this field is unused (see initial_padding). + * + * For decoding, this is the number of samples the decoder needs to + * output before the decoder's output is valid. When seeking, you should + * start decoding this many samples prior to your desired seek point. + * + * - encoding: Set by libavcodec. + * - decoding: Set by libavcodec. + */ + int delay; + + + /* video only */ + /** + * picture width / height. + * + * @note Those fields may not match the values of the last + * AVFrame output by avcodec_decode_video2 due frame + * reordering. + * + * - encoding: MUST be set by user. + * - decoding: May be set by the user before opening the decoder if known e.g. + * from the container. Some decoders will require the dimensions + * to be set by the caller. During decoding, the decoder may + * overwrite those values as required while parsing the data. + */ + int width, height; + + /** + * Bitstream width / height, may be different from width/height e.g. when + * the decoded frame is cropped before being output or lowres is enabled. + * + * @note Those field may not match the value of the last + * AVFrame output by avcodec_receive_frame() due frame + * reordering. + * + * - encoding: unused + * - decoding: May be set by the user before opening the decoder if known + * e.g. from the container. During decoding, the decoder may + * overwrite those values as required while parsing the data. + */ + int coded_width, coded_height; + +#if FF_API_ASPECT_EXTENDED +#define FF_ASPECT_EXTENDED 15 +#endif + + /** + * the number of pictures in a group of pictures, or 0 for intra_only + * - encoding: Set by user. + * - decoding: unused + */ + int gop_size; + + /** + * Pixel format, see AV_PIX_FMT_xxx. + * May be set by the demuxer if known from headers. + * May be overridden by the decoder if it knows better. + * + * @note This field may not match the value of the last + * AVFrame output by avcodec_receive_frame() due frame + * reordering. + * + * - encoding: Set by user. + * - decoding: Set by user if known, overridden by libavcodec while + * parsing the data. + */ + enum AVPixelFormat pix_fmt; + +#if FF_API_MOTION_EST + /** + * This option does nothing + * @deprecated use codec private options instead + */ + attribute_deprecated int me_method; +#endif + + /** + * If non NULL, 'draw_horiz_band' is called by the libavcodec + * decoder to draw a horizontal band. It improves cache usage. Not + * all codecs can do that. You must check the codec capabilities + * beforehand. + * When multithreading is used, it may be called from multiple threads + * at the same time; threads might draw different parts of the same AVFrame, + * or multiple AVFrames, and there is no guarantee that slices will be drawn + * in order. + * The function is also used by hardware acceleration APIs. + * It is called at least once during frame decoding to pass + * the data needed for hardware render. + * In that mode instead of pixel data, AVFrame points to + * a structure specific to the acceleration API. The application + * reads the structure and can change some fields to indicate progress + * or mark state. + * - encoding: unused + * - decoding: Set by user. + * @param height the height of the slice + * @param y the y position of the slice + * @param type 1->top field, 2->bottom field, 3->frame + * @param offset offset into the AVFrame.data from which the slice should be read + */ + void (*draw_horiz_band)(struct AVCodecContext *s, + const AVFrame *src, int offset[AV_NUM_DATA_POINTERS], + int y, int type, int height); + + /** + * callback to negotiate the pixelFormat + * @param fmt is the list of formats which are supported by the codec, + * it is terminated by -1 as 0 is a valid format, the formats are ordered by quality. + * The first is always the native one. + * @note The callback may be called again immediately if initialization for + * the selected (hardware-accelerated) pixel format failed. + * @warning Behavior is undefined if the callback returns a value not + * in the fmt list of formats. + * @return the chosen format + * - encoding: unused + * - decoding: Set by user, if not set the native format will be chosen. + */ + enum AVPixelFormat (*get_format)(struct AVCodecContext *s, const enum AVPixelFormat * fmt); + + /** + * maximum number of B-frames between non-B-frames + * Note: The output will be delayed by max_b_frames+1 relative to the input. + * - encoding: Set by user. + * - decoding: unused + */ + int max_b_frames; + + /** + * qscale factor between IP and B-frames + * If > 0 then the last P-frame quantizer will be used (q= lastp_q*factor+offset). + * If < 0 then normal ratecontrol will be done (q= -normal_q*factor+offset). + * - encoding: Set by user. + * - decoding: unused + */ + float b_quant_factor; + +#if FF_API_RC_STRATEGY + /** @deprecated use codec private option instead */ + attribute_deprecated int rc_strategy; +#define FF_RC_STRATEGY_XVID 1 +#endif + +#if FF_API_PRIVATE_OPT + /** @deprecated use encoder private options instead */ + attribute_deprecated + int b_frame_strategy; +#endif + + /** + * qscale offset between IP and B-frames + * - encoding: Set by user. + * - decoding: unused + */ + float b_quant_offset; + + /** + * Size of the frame reordering buffer in the decoder. + * For MPEG-2 it is 1 IPB or 0 low delay IP. + * - encoding: Set by libavcodec. + * - decoding: Set by libavcodec. + */ + int has_b_frames; + +#if FF_API_PRIVATE_OPT + /** @deprecated use encoder private options instead */ + attribute_deprecated + int mpeg_quant; +#endif + + /** + * qscale factor between P- and I-frames + * If > 0 then the last P-frame quantizer will be used (q = lastp_q * factor + offset). + * If < 0 then normal ratecontrol will be done (q= -normal_q*factor+offset). + * - encoding: Set by user. + * - decoding: unused + */ + float i_quant_factor; + + /** + * qscale offset between P and I-frames + * - encoding: Set by user. + * - decoding: unused + */ + float i_quant_offset; + + /** + * luminance masking (0-> disabled) + * - encoding: Set by user. + * - decoding: unused + */ + float lumi_masking; + + /** + * temporary complexity masking (0-> disabled) + * - encoding: Set by user. + * - decoding: unused + */ + float temporal_cplx_masking; + + /** + * spatial complexity masking (0-> disabled) + * - encoding: Set by user. + * - decoding: unused + */ + float spatial_cplx_masking; + + /** + * p block masking (0-> disabled) + * - encoding: Set by user. + * - decoding: unused + */ + float p_masking; + + /** + * darkness masking (0-> disabled) + * - encoding: Set by user. + * - decoding: unused + */ + float dark_masking; + + /** + * slice count + * - encoding: Set by libavcodec. + * - decoding: Set by user (or 0). + */ + int slice_count; + +#if FF_API_PRIVATE_OPT + /** @deprecated use encoder private options instead */ + attribute_deprecated + int prediction_method; +#define FF_PRED_LEFT 0 +#define FF_PRED_PLANE 1 +#define FF_PRED_MEDIAN 2 +#endif + + /** + * slice offsets in the frame in bytes + * - encoding: Set/allocated by libavcodec. + * - decoding: Set/allocated by user (or NULL). + */ + int *slice_offset; + + /** + * sample aspect ratio (0 if unknown) + * That is the width of a pixel divided by the height of the pixel. + * Numerator and denominator must be relatively prime and smaller than 256 for some video standards. + * - encoding: Set by user. + * - decoding: Set by libavcodec. + */ + AVRational sample_aspect_ratio; + + /** + * motion estimation comparison function + * - encoding: Set by user. + * - decoding: unused + */ + int me_cmp; + /** + * subpixel motion estimation comparison function + * - encoding: Set by user. + * - decoding: unused + */ + int me_sub_cmp; + /** + * macroblock comparison function (not supported yet) + * - encoding: Set by user. + * - decoding: unused + */ + int mb_cmp; + /** + * interlaced DCT comparison function + * - encoding: Set by user. + * - decoding: unused + */ + int ildct_cmp; +#define FF_CMP_SAD 0 +#define FF_CMP_SSE 1 +#define FF_CMP_SATD 2 +#define FF_CMP_DCT 3 +#define FF_CMP_PSNR 4 +#define FF_CMP_BIT 5 +#define FF_CMP_RD 6 +#define FF_CMP_ZERO 7 +#define FF_CMP_VSAD 8 +#define FF_CMP_VSSE 9 +#define FF_CMP_NSSE 10 +#define FF_CMP_W53 11 +#define FF_CMP_W97 12 +#define FF_CMP_DCTMAX 13 +#define FF_CMP_DCT264 14 +#define FF_CMP_MEDIAN_SAD 15 +#define FF_CMP_CHROMA 256 + + /** + * ME diamond size & shape + * - encoding: Set by user. + * - decoding: unused + */ + int dia_size; + + /** + * amount of previous MV predictors (2a+1 x 2a+1 square) + * - encoding: Set by user. + * - decoding: unused + */ + int last_predictor_count; + +#if FF_API_PRIVATE_OPT + /** @deprecated use encoder private options instead */ + attribute_deprecated + int pre_me; +#endif + + /** + * motion estimation prepass comparison function + * - encoding: Set by user. + * - decoding: unused + */ + int me_pre_cmp; + + /** + * ME prepass diamond size & shape + * - encoding: Set by user. + * - decoding: unused + */ + int pre_dia_size; + + /** + * subpel ME quality + * - encoding: Set by user. + * - decoding: unused + */ + int me_subpel_quality; + +#if FF_API_AFD + /** + * DTG active format information (additional aspect ratio + * information only used in DVB MPEG-2 transport streams) + * 0 if not set. + * + * - encoding: unused + * - decoding: Set by decoder. + * @deprecated Deprecated in favor of AVSideData + */ + attribute_deprecated int dtg_active_format; +#define FF_DTG_AFD_SAME 8 +#define FF_DTG_AFD_4_3 9 +#define FF_DTG_AFD_16_9 10 +#define FF_DTG_AFD_14_9 11 +#define FF_DTG_AFD_4_3_SP_14_9 13 +#define FF_DTG_AFD_16_9_SP_14_9 14 +#define FF_DTG_AFD_SP_4_3 15 +#endif /* FF_API_AFD */ + + /** + * maximum motion estimation search range in subpel units + * If 0 then no limit. + * + * - encoding: Set by user. + * - decoding: unused + */ + int me_range; + +#if FF_API_QUANT_BIAS + /** + * @deprecated use encoder private option instead + */ + attribute_deprecated int intra_quant_bias; +#define FF_DEFAULT_QUANT_BIAS 999999 + + /** + * @deprecated use encoder private option instead + */ + attribute_deprecated int inter_quant_bias; +#endif + + /** + * slice flags + * - encoding: unused + * - decoding: Set by user. + */ + int slice_flags; +#define SLICE_FLAG_CODED_ORDER 0x0001 ///< draw_horiz_band() is called in coded order instead of display +#define SLICE_FLAG_ALLOW_FIELD 0x0002 ///< allow draw_horiz_band() with field slices (MPEG-2 field pics) +#define SLICE_FLAG_ALLOW_PLANE 0x0004 ///< allow draw_horiz_band() with 1 component at a time (SVQ1) + +#if FF_API_XVMC + /** + * XVideo Motion Acceleration + * - encoding: forbidden + * - decoding: set by decoder + * @deprecated XvMC doesn't need it anymore. + */ + attribute_deprecated int xvmc_acceleration; +#endif /* FF_API_XVMC */ + + /** + * macroblock decision mode + * - encoding: Set by user. + * - decoding: unused + */ + int mb_decision; +#define FF_MB_DECISION_SIMPLE 0 ///< uses mb_cmp +#define FF_MB_DECISION_BITS 1 ///< chooses the one which needs the fewest bits +#define FF_MB_DECISION_RD 2 ///< rate distortion + + /** + * custom intra quantization matrix + * - encoding: Set by user, can be NULL. + * - decoding: Set by libavcodec. + */ + uint16_t *intra_matrix; + + /** + * custom inter quantization matrix + * - encoding: Set by user, can be NULL. + * - decoding: Set by libavcodec. + */ + uint16_t *inter_matrix; + +#if FF_API_PRIVATE_OPT + /** @deprecated use encoder private options instead */ + attribute_deprecated + int scenechange_threshold; + + /** @deprecated use encoder private options instead */ + attribute_deprecated + int noise_reduction; +#endif + +#if FF_API_MPV_OPT + /** + * @deprecated this field is unused + */ + attribute_deprecated + int me_threshold; + + /** + * @deprecated this field is unused + */ + attribute_deprecated + int mb_threshold; +#endif + + /** + * precision of the intra DC coefficient - 8 + * - encoding: Set by user. + * - decoding: Set by libavcodec + */ + int intra_dc_precision; + + /** + * Number of macroblock rows at the top which are skipped. + * - encoding: unused + * - decoding: Set by user. + */ + int skip_top; + + /** + * Number of macroblock rows at the bottom which are skipped. + * - encoding: unused + * - decoding: Set by user. + */ + int skip_bottom; + +#if FF_API_MPV_OPT + /** + * @deprecated use encoder private options instead + */ + attribute_deprecated + float border_masking; +#endif + + /** + * minimum MB Lagrange multiplier + * - encoding: Set by user. + * - decoding: unused + */ + int mb_lmin; + + /** + * maximum MB Lagrange multiplier + * - encoding: Set by user. + * - decoding: unused + */ + int mb_lmax; + +#if FF_API_PRIVATE_OPT + /** + * @deprecated use encoder private options instead + */ + attribute_deprecated + int me_penalty_compensation; +#endif + + /** + * - encoding: Set by user. + * - decoding: unused + */ + int bidir_refine; + +#if FF_API_PRIVATE_OPT + /** @deprecated use encoder private options instead */ + attribute_deprecated + int brd_scale; +#endif + + /** + * minimum GOP size + * - encoding: Set by user. + * - decoding: unused + */ + int keyint_min; + + /** + * number of reference frames + * - encoding: Set by user. + * - decoding: Set by lavc. + */ + int refs; + +#if FF_API_PRIVATE_OPT + /** @deprecated use encoder private options instead */ + attribute_deprecated + int chromaoffset; +#endif + +#if FF_API_UNUSED_MEMBERS + /** + * Multiplied by qscale for each frame and added to scene_change_score. + * - encoding: Set by user. + * - decoding: unused + */ + attribute_deprecated int scenechange_factor; +#endif + + /** + * Note: Value depends upon the compare function used for fullpel ME. + * - encoding: Set by user. + * - decoding: unused + */ + int mv0_threshold; + +#if FF_API_PRIVATE_OPT + /** @deprecated use encoder private options instead */ + attribute_deprecated + int b_sensitivity; +#endif + + /** + * Chromaticity coordinates of the source primaries. + * - encoding: Set by user + * - decoding: Set by libavcodec + */ + enum AVColorPrimaries color_primaries; + + /** + * Color Transfer Characteristic. + * - encoding: Set by user + * - decoding: Set by libavcodec + */ + enum AVColorTransferCharacteristic color_trc; + + /** + * YUV colorspace type. + * - encoding: Set by user + * - decoding: Set by libavcodec + */ + enum AVColorSpace colorspace; + + /** + * MPEG vs JPEG YUV range. + * - encoding: Set by user + * - decoding: Set by libavcodec + */ + enum AVColorRange color_range; + + /** + * This defines the location of chroma samples. + * - encoding: Set by user + * - decoding: Set by libavcodec + */ + enum AVChromaLocation chroma_sample_location; + + /** + * Number of slices. + * Indicates number of picture subdivisions. Used for parallelized + * decoding. + * - encoding: Set by user + * - decoding: unused + */ + int slices; + + /** Field order + * - encoding: set by libavcodec + * - decoding: Set by user. + */ + enum AVFieldOrder field_order; + + /* audio only */ + int sample_rate; ///< samples per second + int channels; ///< number of audio channels + + /** + * audio sample format + * - encoding: Set by user. + * - decoding: Set by libavcodec. + */ + enum AVSampleFormat sample_fmt; ///< sample format + + /* The following data should not be initialized. */ + /** + * Number of samples per channel in an audio frame. + * + * - encoding: set by libavcodec in avcodec_open2(). Each submitted frame + * except the last must contain exactly frame_size samples per channel. + * May be 0 when the codec has AV_CODEC_CAP_VARIABLE_FRAME_SIZE set, then the + * frame size is not restricted. + * - decoding: may be set by some decoders to indicate constant frame size + */ + int frame_size; + + /** + * Frame counter, set by libavcodec. + * + * - decoding: total number of frames returned from the decoder so far. + * - encoding: total number of frames passed to the encoder so far. + * + * @note the counter is not incremented if encoding/decoding resulted in + * an error. + */ + int frame_number; + + /** + * number of bytes per packet if constant and known or 0 + * Used by some WAV based audio codecs. + */ + int block_align; + + /** + * Audio cutoff bandwidth (0 means "automatic") + * - encoding: Set by user. + * - decoding: unused + */ + int cutoff; + + /** + * Audio channel layout. + * - encoding: set by user. + * - decoding: set by user, may be overwritten by libavcodec. + */ + uint64_t channel_layout; + + /** + * Request decoder to use this channel layout if it can (0 for default) + * - encoding: unused + * - decoding: Set by user. + */ + uint64_t request_channel_layout; + + /** + * Type of service that the audio stream conveys. + * - encoding: Set by user. + * - decoding: Set by libavcodec. + */ + enum AVAudioServiceType audio_service_type; + + /** + * desired sample format + * - encoding: Not used. + * - decoding: Set by user. + * Decoder will decode to this format if it can. + */ + enum AVSampleFormat request_sample_fmt; + + /** + * This callback is called at the beginning of each frame to get data + * buffer(s) for it. There may be one contiguous buffer for all the data or + * there may be a buffer per each data plane or anything in between. What + * this means is, you may set however many entries in buf[] you feel necessary. + * Each buffer must be reference-counted using the AVBuffer API (see description + * of buf[] below). + * + * The following fields will be set in the frame before this callback is + * called: + * - format + * - width, height (video only) + * - sample_rate, channel_layout, nb_samples (audio only) + * Their values may differ from the corresponding values in + * AVCodecContext. This callback must use the frame values, not the codec + * context values, to calculate the required buffer size. + * + * This callback must fill the following fields in the frame: + * - data[] + * - linesize[] + * - extended_data: + * * if the data is planar audio with more than 8 channels, then this + * callback must allocate and fill extended_data to contain all pointers + * to all data planes. data[] must hold as many pointers as it can. + * extended_data must be allocated with av_malloc() and will be freed in + * av_frame_unref(). + * * otherwise extended_data must point to data + * - buf[] must contain one or more pointers to AVBufferRef structures. Each of + * the frame's data and extended_data pointers must be contained in these. That + * is, one AVBufferRef for each allocated chunk of memory, not necessarily one + * AVBufferRef per data[] entry. See: av_buffer_create(), av_buffer_alloc(), + * and av_buffer_ref(). + * - extended_buf and nb_extended_buf must be allocated with av_malloc() by + * this callback and filled with the extra buffers if there are more + * buffers than buf[] can hold. extended_buf will be freed in + * av_frame_unref(). + * + * If AV_CODEC_CAP_DR1 is not set then get_buffer2() must call + * avcodec_default_get_buffer2() instead of providing buffers allocated by + * some other means. + * + * Each data plane must be aligned to the maximum required by the target + * CPU. + * + * @see avcodec_default_get_buffer2() + * + * Video: + * + * If AV_GET_BUFFER_FLAG_REF is set in flags then the frame may be reused + * (read and/or written to if it is writable) later by libavcodec. + * + * avcodec_align_dimensions2() should be used to find the required width and + * height, as they normally need to be rounded up to the next multiple of 16. + * + * Some decoders do not support linesizes changing between frames. + * + * If frame multithreading is used and thread_safe_callbacks is set, + * this callback may be called from a different thread, but not from more + * than one at once. Does not need to be reentrant. + * + * @see avcodec_align_dimensions2() + * + * Audio: + * + * Decoders request a buffer of a particular size by setting + * AVFrame.nb_samples prior to calling get_buffer2(). The decoder may, + * however, utilize only part of the buffer by setting AVFrame.nb_samples + * to a smaller value in the output frame. + * + * As a convenience, av_samples_get_buffer_size() and + * av_samples_fill_arrays() in libavutil may be used by custom get_buffer2() + * functions to find the required data size and to fill data pointers and + * linesize. In AVFrame.linesize, only linesize[0] may be set for audio + * since all planes must be the same size. + * + * @see av_samples_get_buffer_size(), av_samples_fill_arrays() + * + * - encoding: unused + * - decoding: Set by libavcodec, user can override. + */ + int (*get_buffer2)(struct AVCodecContext *s, AVFrame *frame, int flags); + + /** + * If non-zero, the decoded audio and video frames returned from + * avcodec_decode_video2() and avcodec_decode_audio4() are reference-counted + * and are valid indefinitely. The caller must free them with + * av_frame_unref() when they are not needed anymore. + * Otherwise, the decoded frames must not be freed by the caller and are + * only valid until the next decode call. + * + * This is always automatically enabled if avcodec_receive_frame() is used. + * + * - encoding: unused + * - decoding: set by the caller before avcodec_open2(). + */ + attribute_deprecated + int refcounted_frames; + + /* - encoding parameters */ + float qcompress; ///< amount of qscale change between easy & hard scenes (0.0-1.0) + float qblur; ///< amount of qscale smoothing over time (0.0-1.0) + + /** + * minimum quantizer + * - encoding: Set by user. + * - decoding: unused + */ + int qmin; + + /** + * maximum quantizer + * - encoding: Set by user. + * - decoding: unused + */ + int qmax; + + /** + * maximum quantizer difference between frames + * - encoding: Set by user. + * - decoding: unused + */ + int max_qdiff; + +#if FF_API_MPV_OPT + /** + * @deprecated use encoder private options instead + */ + attribute_deprecated + float rc_qsquish; + + attribute_deprecated + float rc_qmod_amp; + attribute_deprecated + int rc_qmod_freq; +#endif + + /** + * decoder bitstream buffer size + * - encoding: Set by user. + * - decoding: unused + */ + int rc_buffer_size; + + /** + * ratecontrol override, see RcOverride + * - encoding: Allocated/set/freed by user. + * - decoding: unused + */ + int rc_override_count; + RcOverride *rc_override; + +#if FF_API_MPV_OPT + /** + * @deprecated use encoder private options instead + */ + attribute_deprecated + const char *rc_eq; +#endif + + /** + * maximum bitrate + * - encoding: Set by user. + * - decoding: Set by user, may be overwritten by libavcodec. + */ + int64_t rc_max_rate; + + /** + * minimum bitrate + * - encoding: Set by user. + * - decoding: unused + */ + int64_t rc_min_rate; + +#if FF_API_MPV_OPT + /** + * @deprecated use encoder private options instead + */ + attribute_deprecated + float rc_buffer_aggressivity; + + attribute_deprecated + float rc_initial_cplx; +#endif + + /** + * Ratecontrol attempt to use, at maximum, of what can be used without an underflow. + * - encoding: Set by user. + * - decoding: unused. + */ + float rc_max_available_vbv_use; + + /** + * Ratecontrol attempt to use, at least, times the amount needed to prevent a vbv overflow. + * - encoding: Set by user. + * - decoding: unused. + */ + float rc_min_vbv_overflow_use; + + /** + * Number of bits which should be loaded into the rc buffer before decoding starts. + * - encoding: Set by user. + * - decoding: unused + */ + int rc_initial_buffer_occupancy; + +#if FF_API_CODER_TYPE +#define FF_CODER_TYPE_VLC 0 +#define FF_CODER_TYPE_AC 1 +#define FF_CODER_TYPE_RAW 2 +#define FF_CODER_TYPE_RLE 3 +#if FF_API_UNUSED_MEMBERS +#define FF_CODER_TYPE_DEFLATE 4 +#endif /* FF_API_UNUSED_MEMBERS */ + /** + * @deprecated use encoder private options instead + */ + attribute_deprecated + int coder_type; +#endif /* FF_API_CODER_TYPE */ + +#if FF_API_PRIVATE_OPT + /** @deprecated use encoder private options instead */ + attribute_deprecated + int context_model; +#endif + +#if FF_API_MPV_OPT + /** + * @deprecated use encoder private options instead + */ + attribute_deprecated + int lmin; + + /** + * @deprecated use encoder private options instead + */ + attribute_deprecated + int lmax; +#endif + +#if FF_API_PRIVATE_OPT + /** @deprecated use encoder private options instead */ + attribute_deprecated + int frame_skip_threshold; + + /** @deprecated use encoder private options instead */ + attribute_deprecated + int frame_skip_factor; + + /** @deprecated use encoder private options instead */ + attribute_deprecated + int frame_skip_exp; + + /** @deprecated use encoder private options instead */ + attribute_deprecated + int frame_skip_cmp; +#endif /* FF_API_PRIVATE_OPT */ + + /** + * trellis RD quantization + * - encoding: Set by user. + * - decoding: unused + */ + int trellis; + +#if FF_API_PRIVATE_OPT + /** @deprecated use encoder private options instead */ + attribute_deprecated + int min_prediction_order; + + /** @deprecated use encoder private options instead */ + attribute_deprecated + int max_prediction_order; + + /** @deprecated use encoder private options instead */ + attribute_deprecated + int64_t timecode_frame_start; +#endif + +#if FF_API_RTP_CALLBACK + /** + * @deprecated unused + */ + /* The RTP callback: This function is called */ + /* every time the encoder has a packet to send. */ + /* It depends on the encoder if the data starts */ + /* with a Start Code (it should). H.263 does. */ + /* mb_nb contains the number of macroblocks */ + /* encoded in the RTP payload. */ + attribute_deprecated + void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb); +#endif + +#if FF_API_PRIVATE_OPT + /** @deprecated use encoder private options instead */ + attribute_deprecated + int rtp_payload_size; /* The size of the RTP payload: the coder will */ + /* do its best to deliver a chunk with size */ + /* below rtp_payload_size, the chunk will start */ + /* with a start code on some codecs like H.263. */ + /* This doesn't take account of any particular */ + /* headers inside the transmitted RTP payload. */ +#endif + +#if FF_API_STAT_BITS + /* statistics, used for 2-pass encoding */ + attribute_deprecated + int mv_bits; + attribute_deprecated + int header_bits; + attribute_deprecated + int i_tex_bits; + attribute_deprecated + int p_tex_bits; + attribute_deprecated + int i_count; + attribute_deprecated + int p_count; + attribute_deprecated + int skip_count; + attribute_deprecated + int misc_bits; + + /** @deprecated this field is unused */ + attribute_deprecated + int frame_bits; +#endif + + /** + * pass1 encoding statistics output buffer + * - encoding: Set by libavcodec. + * - decoding: unused + */ + char *stats_out; + + /** + * pass2 encoding statistics input buffer + * Concatenated stuff from stats_out of pass1 should be placed here. + * - encoding: Allocated/set/freed by user. + * - decoding: unused + */ + char *stats_in; + + /** + * Work around bugs in encoders which sometimes cannot be detected automatically. + * - encoding: Set by user + * - decoding: Set by user + */ + int workaround_bugs; +#define FF_BUG_AUTODETECT 1 ///< autodetection +#if FF_API_OLD_MSMPEG4 +#define FF_BUG_OLD_MSMPEG4 2 +#endif +#define FF_BUG_XVID_ILACE 4 +#define FF_BUG_UMP4 8 +#define FF_BUG_NO_PADDING 16 +#define FF_BUG_AMV 32 +#if FF_API_AC_VLC +#define FF_BUG_AC_VLC 0 ///< Will be removed, libavcodec can now handle these non-compliant files by default. +#endif +#define FF_BUG_QPEL_CHROMA 64 +#define FF_BUG_STD_QPEL 128 +#define FF_BUG_QPEL_CHROMA2 256 +#define FF_BUG_DIRECT_BLOCKSIZE 512 +#define FF_BUG_EDGE 1024 +#define FF_BUG_HPEL_CHROMA 2048 +#define FF_BUG_DC_CLIP 4096 +#define FF_BUG_MS 8192 ///< Work around various bugs in Microsoft's broken decoders. +#define FF_BUG_TRUNCATED 16384 +#define FF_BUG_IEDGE 32768 + + /** + * strictly follow the standard (MPEG-4, ...). + * - encoding: Set by user. + * - decoding: Set by user. + * Setting this to STRICT or higher means the encoder and decoder will + * generally do stupid things, whereas setting it to unofficial or lower + * will mean the encoder might produce output that is not supported by all + * spec-compliant decoders. Decoders don't differentiate between normal, + * unofficial and experimental (that is, they always try to decode things + * when they can) unless they are explicitly asked to behave stupidly + * (=strictly conform to the specs) + */ + int strict_std_compliance; +#define FF_COMPLIANCE_VERY_STRICT 2 ///< Strictly conform to an older more strict version of the spec or reference software. +#define FF_COMPLIANCE_STRICT 1 ///< Strictly conform to all the things in the spec no matter what consequences. +#define FF_COMPLIANCE_NORMAL 0 +#define FF_COMPLIANCE_UNOFFICIAL -1 ///< Allow unofficial extensions +#define FF_COMPLIANCE_EXPERIMENTAL -2 ///< Allow nonstandardized experimental things. + + /** + * error concealment flags + * - encoding: unused + * - decoding: Set by user. + */ + int error_concealment; +#define FF_EC_GUESS_MVS 1 +#define FF_EC_DEBLOCK 2 +#define FF_EC_FAVOR_INTER 256 + + /** + * debug + * - encoding: Set by user. + * - decoding: Set by user. + */ + int debug; +#define FF_DEBUG_PICT_INFO 1 +#define FF_DEBUG_RC 2 +#define FF_DEBUG_BITSTREAM 4 +#define FF_DEBUG_MB_TYPE 8 +#define FF_DEBUG_QP 16 +#if FF_API_DEBUG_MV +/** + * @deprecated this option does nothing + */ +#define FF_DEBUG_MV 32 +#endif +#define FF_DEBUG_DCT_COEFF 0x00000040 +#define FF_DEBUG_SKIP 0x00000080 +#define FF_DEBUG_STARTCODE 0x00000100 +#if FF_API_UNUSED_MEMBERS +#define FF_DEBUG_PTS 0x00000200 +#endif /* FF_API_UNUSED_MEMBERS */ +#define FF_DEBUG_ER 0x00000400 +#define FF_DEBUG_MMCO 0x00000800 +#define FF_DEBUG_BUGS 0x00001000 +#if FF_API_DEBUG_MV +#define FF_DEBUG_VIS_QP 0x00002000 +#define FF_DEBUG_VIS_MB_TYPE 0x00004000 +#endif +#define FF_DEBUG_BUFFERS 0x00008000 +#define FF_DEBUG_THREADS 0x00010000 +#define FF_DEBUG_GREEN_MD 0x00800000 +#define FF_DEBUG_NOMC 0x01000000 + +#if FF_API_DEBUG_MV + /** + * debug + * - encoding: Set by user. + * - decoding: Set by user. + */ + int debug_mv; +#define FF_DEBUG_VIS_MV_P_FOR 0x00000001 // visualize forward predicted MVs of P-frames +#define FF_DEBUG_VIS_MV_B_FOR 0x00000002 // visualize forward predicted MVs of B-frames +#define FF_DEBUG_VIS_MV_B_BACK 0x00000004 // visualize backward predicted MVs of B-frames +#endif + + /** + * Error recognition; may misdetect some more or less valid parts as errors. + * - encoding: unused + * - decoding: Set by user. + */ + int err_recognition; + +/** + * Verify checksums embedded in the bitstream (could be of either encoded or + * decoded data, depending on the codec) and print an error message on mismatch. + * If AV_EF_EXPLODE is also set, a mismatching checksum will result in the + * decoder returning an error. + */ +#define AV_EF_CRCCHECK (1<<0) +#define AV_EF_BITSTREAM (1<<1) ///< detect bitstream specification deviations +#define AV_EF_BUFFER (1<<2) ///< detect improper bitstream length +#define AV_EF_EXPLODE (1<<3) ///< abort decoding on minor error detection + +#define AV_EF_IGNORE_ERR (1<<15) ///< ignore errors and continue +#define AV_EF_CAREFUL (1<<16) ///< consider things that violate the spec, are fast to calculate and have not been seen in the wild as errors +#define AV_EF_COMPLIANT (1<<17) ///< consider all spec non compliances as errors +#define AV_EF_AGGRESSIVE (1<<18) ///< consider things that a sane encoder should not do as an error + + + /** + * opaque 64-bit number (generally a PTS) that will be reordered and + * output in AVFrame.reordered_opaque + * - encoding: unused + * - decoding: Set by user. + */ + int64_t reordered_opaque; + + /** + * Hardware accelerator in use + * - encoding: unused. + * - decoding: Set by libavcodec + */ + struct AVHWAccel *hwaccel; + + /** + * Hardware accelerator context. + * For some hardware accelerators, a global context needs to be + * provided by the user. In that case, this holds display-dependent + * data FFmpeg cannot instantiate itself. Please refer to the + * FFmpeg HW accelerator documentation to know how to fill this + * is. e.g. for VA API, this is a struct vaapi_context. + * - encoding: unused + * - decoding: Set by user + */ + void *hwaccel_context; + + /** + * error + * - encoding: Set by libavcodec if flags & AV_CODEC_FLAG_PSNR. + * - decoding: unused + */ + uint64_t error[AV_NUM_DATA_POINTERS]; + + /** + * DCT algorithm, see FF_DCT_* below + * - encoding: Set by user. + * - decoding: unused + */ + int dct_algo; +#define FF_DCT_AUTO 0 +#define FF_DCT_FASTINT 1 +#define FF_DCT_INT 2 +#define FF_DCT_MMX 3 +#define FF_DCT_ALTIVEC 5 +#define FF_DCT_FAAN 6 + + /** + * IDCT algorithm, see FF_IDCT_* below. + * - encoding: Set by user. + * - decoding: Set by user. + */ + int idct_algo; +#define FF_IDCT_AUTO 0 +#define FF_IDCT_INT 1 +#define FF_IDCT_SIMPLE 2 +#define FF_IDCT_SIMPLEMMX 3 +#define FF_IDCT_ARM 7 +#define FF_IDCT_ALTIVEC 8 +#if FF_API_ARCH_SH4 +#define FF_IDCT_SH4 9 +#endif +#define FF_IDCT_SIMPLEARM 10 +#if FF_API_UNUSED_MEMBERS +#define FF_IDCT_IPP 13 +#endif /* FF_API_UNUSED_MEMBERS */ +#define FF_IDCT_XVID 14 +#if FF_API_IDCT_XVIDMMX +#define FF_IDCT_XVIDMMX 14 +#endif /* FF_API_IDCT_XVIDMMX */ +#define FF_IDCT_SIMPLEARMV5TE 16 +#define FF_IDCT_SIMPLEARMV6 17 +#if FF_API_ARCH_SPARC +#define FF_IDCT_SIMPLEVIS 18 +#endif +#define FF_IDCT_FAAN 20 +#define FF_IDCT_SIMPLENEON 22 +#if FF_API_ARCH_ALPHA +#define FF_IDCT_SIMPLEALPHA 23 +#endif +#define FF_IDCT_NONE 24 /* Used by XvMC to extract IDCT coefficients with FF_IDCT_PERM_NONE */ +#define FF_IDCT_SIMPLEAUTO 128 + + /** + * bits per sample/pixel from the demuxer (needed for huffyuv). + * - encoding: Set by libavcodec. + * - decoding: Set by user. + */ + int bits_per_coded_sample; + + /** + * Bits per sample/pixel of internal libavcodec pixel/sample format. + * - encoding: set by user. + * - decoding: set by libavcodec. + */ + int bits_per_raw_sample; + +#if FF_API_LOWRES + /** + * low resolution decoding, 1-> 1/2 size, 2->1/4 size + * - encoding: unused + * - decoding: Set by user. + */ + int lowres; +#endif + +#if FF_API_CODED_FRAME + /** + * the picture in the bitstream + * - encoding: Set by libavcodec. + * - decoding: unused + * + * @deprecated use the quality factor packet side data instead + */ + attribute_deprecated AVFrame *coded_frame; +#endif + + /** + * thread count + * is used to decide how many independent tasks should be passed to execute() + * - encoding: Set by user. + * - decoding: Set by user. + */ + int thread_count; + + /** + * Which multithreading methods to use. + * Use of FF_THREAD_FRAME will increase decoding delay by one frame per thread, + * so clients which cannot provide future frames should not use it. + * + * - encoding: Set by user, otherwise the default is used. + * - decoding: Set by user, otherwise the default is used. + */ + int thread_type; +#define FF_THREAD_FRAME 1 ///< Decode more than one frame at once +#define FF_THREAD_SLICE 2 ///< Decode more than one part of a single frame at once + + /** + * Which multithreading methods are in use by the codec. + * - encoding: Set by libavcodec. + * - decoding: Set by libavcodec. + */ + int active_thread_type; + + /** + * Set by the client if its custom get_buffer() callback can be called + * synchronously from another thread, which allows faster multithreaded decoding. + * draw_horiz_band() will be called from other threads regardless of this setting. + * Ignored if the default get_buffer() is used. + * - encoding: Set by user. + * - decoding: Set by user. + */ + int thread_safe_callbacks; + + /** + * The codec may call this to execute several independent things. + * It will return only after finishing all tasks. + * The user may replace this with some multithreaded implementation, + * the default implementation will execute the parts serially. + * @param count the number of things to execute + * - encoding: Set by libavcodec, user can override. + * - decoding: Set by libavcodec, user can override. + */ + int (*execute)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg), void *arg2, int *ret, int count, int size); + + /** + * The codec may call this to execute several independent things. + * It will return only after finishing all tasks. + * The user may replace this with some multithreaded implementation, + * the default implementation will execute the parts serially. + * Also see avcodec_thread_init and e.g. the --enable-pthread configure option. + * @param c context passed also to func + * @param count the number of things to execute + * @param arg2 argument passed unchanged to func + * @param ret return values of executed functions, must have space for "count" values. May be NULL. + * @param func function that will be called count times, with jobnr from 0 to count-1. + * threadnr will be in the range 0 to c->thread_count-1 < MAX_THREADS and so that no + * two instances of func executing at the same time will have the same threadnr. + * @return always 0 currently, but code should handle a future improvement where when any call to func + * returns < 0 no further calls to func may be done and < 0 is returned. + * - encoding: Set by libavcodec, user can override. + * - decoding: Set by libavcodec, user can override. + */ + int (*execute2)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count); + + /** + * noise vs. sse weight for the nsse comparison function + * - encoding: Set by user. + * - decoding: unused + */ + int nsse_weight; + + /** + * profile + * - encoding: Set by user. + * - decoding: Set by libavcodec. + */ + int profile; +#define FF_PROFILE_UNKNOWN -99 +#define FF_PROFILE_RESERVED -100 + +#define FF_PROFILE_AAC_MAIN 0 +#define FF_PROFILE_AAC_LOW 1 +#define FF_PROFILE_AAC_SSR 2 +#define FF_PROFILE_AAC_LTP 3 +#define FF_PROFILE_AAC_HE 4 +#define FF_PROFILE_AAC_HE_V2 28 +#define FF_PROFILE_AAC_LD 22 +#define FF_PROFILE_AAC_ELD 38 +#define FF_PROFILE_MPEG2_AAC_LOW 128 +#define FF_PROFILE_MPEG2_AAC_HE 131 + +#define FF_PROFILE_DNXHD 0 +#define FF_PROFILE_DNXHR_LB 1 +#define FF_PROFILE_DNXHR_SQ 2 +#define FF_PROFILE_DNXHR_HQ 3 +#define FF_PROFILE_DNXHR_HQX 4 +#define FF_PROFILE_DNXHR_444 5 + +#define FF_PROFILE_DTS 20 +#define FF_PROFILE_DTS_ES 30 +#define FF_PROFILE_DTS_96_24 40 +#define FF_PROFILE_DTS_HD_HRA 50 +#define FF_PROFILE_DTS_HD_MA 60 +#define FF_PROFILE_DTS_EXPRESS 70 + +#define FF_PROFILE_MPEG2_422 0 +#define FF_PROFILE_MPEG2_HIGH 1 +#define FF_PROFILE_MPEG2_SS 2 +#define FF_PROFILE_MPEG2_SNR_SCALABLE 3 +#define FF_PROFILE_MPEG2_MAIN 4 +#define FF_PROFILE_MPEG2_SIMPLE 5 + +#define FF_PROFILE_H264_CONSTRAINED (1<<9) // 8+1; constraint_set1_flag +#define FF_PROFILE_H264_INTRA (1<<11) // 8+3; constraint_set3_flag + +#define FF_PROFILE_H264_BASELINE 66 +#define FF_PROFILE_H264_CONSTRAINED_BASELINE (66|FF_PROFILE_H264_CONSTRAINED) +#define FF_PROFILE_H264_MAIN 77 +#define FF_PROFILE_H264_EXTENDED 88 +#define FF_PROFILE_H264_HIGH 100 +#define FF_PROFILE_H264_HIGH_10 110 +#define FF_PROFILE_H264_HIGH_10_INTRA (110|FF_PROFILE_H264_INTRA) +#define FF_PROFILE_H264_MULTIVIEW_HIGH 118 +#define FF_PROFILE_H264_HIGH_422 122 +#define FF_PROFILE_H264_HIGH_422_INTRA (122|FF_PROFILE_H264_INTRA) +#define FF_PROFILE_H264_STEREO_HIGH 128 +#define FF_PROFILE_H264_HIGH_444 144 +#define FF_PROFILE_H264_HIGH_444_PREDICTIVE 244 +#define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA) +#define FF_PROFILE_H264_CAVLC_444 44 + +#define FF_PROFILE_VC1_SIMPLE 0 +#define FF_PROFILE_VC1_MAIN 1 +#define FF_PROFILE_VC1_COMPLEX 2 +#define FF_PROFILE_VC1_ADVANCED 3 + +#define FF_PROFILE_MPEG4_SIMPLE 0 +#define FF_PROFILE_MPEG4_SIMPLE_SCALABLE 1 +#define FF_PROFILE_MPEG4_CORE 2 +#define FF_PROFILE_MPEG4_MAIN 3 +#define FF_PROFILE_MPEG4_N_BIT 4 +#define FF_PROFILE_MPEG4_SCALABLE_TEXTURE 5 +#define FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION 6 +#define FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE 7 +#define FF_PROFILE_MPEG4_HYBRID 8 +#define FF_PROFILE_MPEG4_ADVANCED_REAL_TIME 9 +#define FF_PROFILE_MPEG4_CORE_SCALABLE 10 +#define FF_PROFILE_MPEG4_ADVANCED_CODING 11 +#define FF_PROFILE_MPEG4_ADVANCED_CORE 12 +#define FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE 13 +#define FF_PROFILE_MPEG4_SIMPLE_STUDIO 14 +#define FF_PROFILE_MPEG4_ADVANCED_SIMPLE 15 + +#define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0 1 +#define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1 2 +#define FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION 32768 +#define FF_PROFILE_JPEG2000_DCINEMA_2K 3 +#define FF_PROFILE_JPEG2000_DCINEMA_4K 4 + +#define FF_PROFILE_VP9_0 0 +#define FF_PROFILE_VP9_1 1 +#define FF_PROFILE_VP9_2 2 +#define FF_PROFILE_VP9_3 3 + +#define FF_PROFILE_HEVC_MAIN 1 +#define FF_PROFILE_HEVC_MAIN_10 2 +#define FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3 +#define FF_PROFILE_HEVC_REXT 4 + + /** + * level + * - encoding: Set by user. + * - decoding: Set by libavcodec. + */ + int level; +#define FF_LEVEL_UNKNOWN -99 + + /** + * Skip loop filtering for selected frames. + * - encoding: unused + * - decoding: Set by user. + */ + enum AVDiscard skip_loop_filter; + + /** + * Skip IDCT/dequantization for selected frames. + * - encoding: unused + * - decoding: Set by user. + */ + enum AVDiscard skip_idct; + + /** + * Skip decoding for selected frames. + * - encoding: unused + * - decoding: Set by user. + */ + enum AVDiscard skip_frame; + + /** + * Header containing style information for text subtitles. + * For SUBTITLE_ASS subtitle type, it should contain the whole ASS + * [Script Info] and [V4+ Styles] section, plus the [Events] line and + * the Format line following. It shouldn't include any Dialogue line. + * - encoding: Set/allocated/freed by user (before avcodec_open2()) + * - decoding: Set/allocated/freed by libavcodec (by avcodec_open2()) + */ + uint8_t *subtitle_header; + int subtitle_header_size; + +#if FF_API_ERROR_RATE + /** + * @deprecated use the 'error_rate' private AVOption of the mpegvideo + * encoders + */ + attribute_deprecated + int error_rate; +#endif + +#if FF_API_VBV_DELAY + /** + * VBV delay coded in the last frame (in periods of a 27 MHz clock). + * Used for compliant TS muxing. + * - encoding: Set by libavcodec. + * - decoding: unused. + * @deprecated this value is now exported as a part of + * AV_PKT_DATA_CPB_PROPERTIES packet side data + */ + attribute_deprecated + uint64_t vbv_delay; +#endif + +#if FF_API_SIDEDATA_ONLY_PKT + /** + * Encoding only and set by default. Allow encoders to output packets + * that do not contain any encoded data, only side data. + * + * Some encoders need to output such packets, e.g. to update some stream + * parameters at the end of encoding. + * + * @deprecated this field disables the default behaviour and + * it is kept only for compatibility. + */ + attribute_deprecated + int side_data_only_packets; +#endif + + /** + * Audio only. The number of "priming" samples (padding) inserted by the + * encoder at the beginning of the audio. I.e. this number of leading + * decoded samples must be discarded by the caller to get the original audio + * without leading padding. + * + * - decoding: unused + * - encoding: Set by libavcodec. The timestamps on the output packets are + * adjusted by the encoder so that they always refer to the + * first sample of the data actually contained in the packet, + * including any added padding. E.g. if the timebase is + * 1/samplerate and the timestamp of the first input sample is + * 0, the timestamp of the first output packet will be + * -initial_padding. + */ + int initial_padding; + + /** + * - decoding: For codecs that store a framerate value in the compressed + * bitstream, the decoder may export it here. { 0, 1} when + * unknown. + * - encoding: May be used to signal the framerate of CFR content to an + * encoder. + */ + AVRational framerate; + + /** + * Nominal unaccelerated pixel format, see AV_PIX_FMT_xxx. + * - encoding: unused. + * - decoding: Set by libavcodec before calling get_format() + */ + enum AVPixelFormat sw_pix_fmt; + + /** + * Timebase in which pkt_dts/pts and AVPacket.dts/pts are. + * - encoding unused. + * - decoding set by user. + */ + AVRational pkt_timebase; + + /** + * AVCodecDescriptor + * - encoding: unused. + * - decoding: set by libavcodec. + */ + const AVCodecDescriptor *codec_descriptor; + +#if !FF_API_LOWRES + /** + * low resolution decoding, 1-> 1/2 size, 2->1/4 size + * - encoding: unused + * - decoding: Set by user. + */ + int lowres; +#endif + + /** + * Current statistics for PTS correction. + * - decoding: maintained and used by libavcodec, not intended to be used by user apps + * - encoding: unused + */ + int64_t pts_correction_num_faulty_pts; /// Number of incorrect PTS values so far + int64_t pts_correction_num_faulty_dts; /// Number of incorrect DTS values so far + int64_t pts_correction_last_pts; /// PTS of the last frame + int64_t pts_correction_last_dts; /// DTS of the last frame + + /** + * Character encoding of the input subtitles file. + * - decoding: set by user + * - encoding: unused + */ + char *sub_charenc; + + /** + * Subtitles character encoding mode. Formats or codecs might be adjusting + * this setting (if they are doing the conversion themselves for instance). + * - decoding: set by libavcodec + * - encoding: unused + */ + int sub_charenc_mode; +#define FF_SUB_CHARENC_MODE_DO_NOTHING -1 ///< do nothing (demuxer outputs a stream supposed to be already in UTF-8, or the codec is bitmap for instance) +#define FF_SUB_CHARENC_MODE_AUTOMATIC 0 ///< libavcodec will select the mode itself +#define FF_SUB_CHARENC_MODE_PRE_DECODER 1 ///< the AVPacket data needs to be recoded to UTF-8 before being fed to the decoder, requires iconv + + /** + * Skip processing alpha if supported by codec. + * Note that if the format uses pre-multiplied alpha (common with VP6, + * and recommended due to better video quality/compression) + * the image will look as if alpha-blended onto a black background. + * However for formats that do not use pre-multiplied alpha + * there might be serious artefacts (though e.g. libswscale currently + * assumes pre-multiplied alpha anyway). + * + * - decoding: set by user + * - encoding: unused + */ + int skip_alpha; + + /** + * Number of samples to skip after a discontinuity + * - decoding: unused + * - encoding: set by libavcodec + */ + int seek_preroll; + +#if !FF_API_DEBUG_MV + /** + * debug motion vectors + * - encoding: Set by user. + * - decoding: Set by user. + */ + int debug_mv; +#define FF_DEBUG_VIS_MV_P_FOR 0x00000001 //visualize forward predicted MVs of P frames +#define FF_DEBUG_VIS_MV_B_FOR 0x00000002 //visualize forward predicted MVs of B frames +#define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward predicted MVs of B frames +#endif + + /** + * custom intra quantization matrix + * - encoding: Set by user, can be NULL. + * - decoding: unused. + */ + uint16_t *chroma_intra_matrix; + + /** + * dump format separator. + * can be ", " or "\n " or anything else + * - encoding: Set by user. + * - decoding: Set by user. + */ + uint8_t *dump_separator; + + /** + * ',' separated list of allowed decoders. + * If NULL then all are allowed + * - encoding: unused + * - decoding: set by user + */ + char *codec_whitelist; + + /** + * Properties of the stream that gets decoded + * - encoding: unused + * - decoding: set by libavcodec + */ + unsigned properties; +#define FF_CODEC_PROPERTY_LOSSLESS 0x00000001 +#define FF_CODEC_PROPERTY_CLOSED_CAPTIONS 0x00000002 + + /** + * Additional data associated with the entire coded stream. + * + * - decoding: unused + * - encoding: may be set by libavcodec after avcodec_open2(). + */ + AVPacketSideData *coded_side_data; + int nb_coded_side_data; + + /** + * A reference to the AVHWFramesContext describing the input (for encoding) + * or output (decoding) frames. The reference is set by the caller and + * afterwards owned (and freed) by libavcodec - it should never be read by + * the caller after being set. + * + * - decoding: This field should be set by the caller from the get_format() + * callback. The previous reference (if any) will always be + * unreffed by libavcodec before the get_format() call. + * + * If the default get_buffer2() is used with a hwaccel pixel + * format, then this AVHWFramesContext will be used for + * allocating the frame buffers. + * + * - encoding: For hardware encoders configured to use a hwaccel pixel + * format, this field should be set by the caller to a reference + * to the AVHWFramesContext describing input frames. + * AVHWFramesContext.format must be equal to + * AVCodecContext.pix_fmt. + * + * This field should be set before avcodec_open2() is called. + */ + AVBufferRef *hw_frames_ctx; + + /** + * Control the form of AVSubtitle.rects[N]->ass + * - decoding: set by user + * - encoding: unused + */ + int sub_text_format; +#define FF_SUB_TEXT_FMT_ASS 0 +#if FF_API_ASS_TIMING +#define FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS 1 +#endif + + /** + * Audio only. The amount of padding (in samples) appended by the encoder to + * the end of the audio. I.e. this number of decoded samples must be + * discarded by the caller from the end of the stream to get the original + * audio without any trailing padding. + * + * - decoding: unused + * - encoding: unused + */ + int trailing_padding; + + /** + * The number of pixels per image to maximally accept. + * + * - decoding: set by user + * - encoding: set by user + */ + int64_t max_pixels; + + /** + * A reference to the AVHWDeviceContext describing the device which will + * be used by a hardware encoder/decoder. The reference is set by the + * caller and afterwards owned (and freed) by libavcodec. + * + * This should be used if either the codec device does not require + * hardware frames or any that are used are to be allocated internally by + * libavcodec. If the user wishes to supply any of the frames used as + * encoder input or decoder output then hw_frames_ctx should be used + * instead. When hw_frames_ctx is set in get_format() for a decoder, this + * field will be ignored while decoding the associated stream segment, but + * may again be used on a following one after another get_format() call. + * + * For both encoders and decoders this field should be set before + * avcodec_open2() is called and must not be written to thereafter. + * + * Note that some decoders may require this field to be set initially in + * order to support hw_frames_ctx at all - in that case, all frames + * contexts used must be created on the same device. + */ + AVBufferRef *hw_device_ctx; + + /** + * Bit set of AV_HWACCEL_FLAG_* flags, which affect hardware accelerated + * decoding (if active). + * - encoding: unused + * - decoding: Set by user (either before avcodec_open2(), or in the + * AVCodecContext.get_format callback) + */ + int hwaccel_flags; + + /** + * Video decoding only. Certain video codecs support cropping, meaning that + * only a sub-rectangle of the decoded frame is intended for display. This + * option controls how cropping is handled by libavcodec. + * + * When set to 1 (the default), libavcodec will apply cropping internally. + * I.e. it will modify the output frame width/height fields and offset the + * data pointers (only by as much as possible while preserving alignment, or + * by the full amount if the AV_CODEC_FLAG_UNALIGNED flag is set) so that + * the frames output by the decoder refer only to the cropped area. The + * crop_* fields of the output frames will be zero. + * + * When set to 0, the width/height fields of the output frames will be set + * to the coded dimensions and the crop_* fields will describe the cropping + * rectangle. Applying the cropping is left to the caller. + * + * @warning When hardware acceleration with opaque output frames is used, + * libavcodec is unable to apply cropping from the top/left border. + * + * @note when this option is set to zero, the width/height fields of the + * AVCodecContext and output AVFrames have different meanings. The codec + * context fields store display dimensions (with the coded dimensions in + * coded_width/height), while the frame fields store the coded dimensions + * (with the display dimensions being determined by the crop_* fields). + */ + int apply_cropping; +} AVCodecContext; + +AVRational av_codec_get_pkt_timebase (const AVCodecContext *avctx); +void av_codec_set_pkt_timebase (AVCodecContext *avctx, AVRational val); + +const AVCodecDescriptor *av_codec_get_codec_descriptor(const AVCodecContext *avctx); +void av_codec_set_codec_descriptor(AVCodecContext *avctx, const AVCodecDescriptor *desc); + +unsigned av_codec_get_codec_properties(const AVCodecContext *avctx); + +int av_codec_get_lowres(const AVCodecContext *avctx); +void av_codec_set_lowres(AVCodecContext *avctx, int val); + +int av_codec_get_seek_preroll(const AVCodecContext *avctx); +void av_codec_set_seek_preroll(AVCodecContext *avctx, int val); + +uint16_t *av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx); +void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val); + +/** + * AVProfile. + */ +typedef struct AVProfile { + int profile; + const char *name; ///< short name for the profile +} AVProfile; + +typedef struct AVCodecDefault AVCodecDefault; + +struct AVSubtitle; + +/** + * AVCodec. + */ +typedef struct AVCodec { + /** + * Name of the codec implementation. + * The name is globally unique among encoders and among decoders (but an + * encoder and a decoder can share the same name). + * This is the primary way to find a codec from the user perspective. + */ + const char *name; + /** + * Descriptive name for the codec, meant to be more human readable than name. + * You should use the NULL_IF_CONFIG_SMALL() macro to define it. + */ + const char *long_name; + enum AVMediaType type; + enum AVCodecID id; + /** + * Codec capabilities. + * see AV_CODEC_CAP_* + */ + int capabilities; + const AVRational *supported_framerates; ///< array of supported framerates, or NULL if any, array is terminated by {0,0} + const enum AVPixelFormat *pix_fmts; ///< array of supported pixel formats, or NULL if unknown, array is terminated by -1 + const int *supported_samplerates; ///< array of supported audio samplerates, or NULL if unknown, array is terminated by 0 + const enum AVSampleFormat *sample_fmts; ///< array of supported sample formats, or NULL if unknown, array is terminated by -1 + const uint64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0 + uint8_t max_lowres; ///< maximum value for lowres supported by the decoder + const AVClass *priv_class; ///< AVClass for the private context + const AVProfile *profiles; ///< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} + + /***************************************************************** + * No fields below this line are part of the public API. They + * may not be used outside of libavcodec and can be changed and + * removed at will. + * New public fields should be added right above. + ***************************************************************** + */ + int priv_data_size; + struct AVCodec *next; + /** + * @name Frame-level threading support functions + * @{ + */ + /** + * If defined, called on thread contexts when they are created. + * If the codec allocates writable tables in init(), re-allocate them here. + * priv_data will be set to a copy of the original. + */ + int (*init_thread_copy)(AVCodecContext *); + /** + * Copy necessary context variables from a previous thread context to the current one. + * If not defined, the next thread will start automatically; otherwise, the codec + * must call ff_thread_finish_setup(). + * + * dst and src will (rarely) point to the same context, in which case memcpy should be skipped. + */ + int (*update_thread_context)(AVCodecContext *dst, const AVCodecContext *src); + /** @} */ + + /** + * Private codec-specific defaults. + */ + const AVCodecDefault *defaults; + + /** + * Initialize codec static data, called from avcodec_register(). + */ + void (*init_static_data)(struct AVCodec *codec); + + int (*init)(AVCodecContext *); + int (*encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size, + const struct AVSubtitle *sub); + /** + * Encode data to an AVPacket. + * + * @param avctx codec context + * @param avpkt output AVPacket (may contain a user-provided buffer) + * @param[in] frame AVFrame containing the raw data to be encoded + * @param[out] got_packet_ptr encoder sets to 0 or 1 to indicate that a + * non-empty packet was returned in avpkt. + * @return 0 on success, negative error code on failure + */ + int (*encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, + int *got_packet_ptr); + int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt); + int (*close)(AVCodecContext *); + /** + * Encode API with decoupled packet/frame dataflow. The API is the + * same as the avcodec_ prefixed APIs (avcodec_send_frame() etc.), except + * that: + * - never called if the codec is closed or the wrong type, + * - if AV_CODEC_CAP_DELAY is not set, drain frames are never sent, + * - only one drain frame is ever passed down, + */ + int (*send_frame)(AVCodecContext *avctx, const AVFrame *frame); + int (*receive_packet)(AVCodecContext *avctx, AVPacket *avpkt); + + /** + * Decode API with decoupled packet/frame dataflow. This function is called + * to get one output frame. It should call ff_decode_get_packet() to obtain + * input data. + */ + int (*receive_frame)(AVCodecContext *avctx, AVFrame *frame); + /** + * Flush buffers. + * Will be called when seeking + */ + void (*flush)(AVCodecContext *); + /** + * Internal codec capabilities. + * See FF_CODEC_CAP_* in internal.h + */ + int caps_internal; + + /** + * Decoding only, a comma-separated list of bitstream filters to apply to + * packets before decoding. + */ + const char *bsfs; +} AVCodec; + +int av_codec_get_max_lowres(const AVCodec *codec); + +struct MpegEncContext; + +/** + * @defgroup lavc_hwaccel AVHWAccel + * @{ + */ +typedef struct AVHWAccel { + /** + * Name of the hardware accelerated codec. + * The name is globally unique among encoders and among decoders (but an + * encoder and a decoder can share the same name). + */ + const char *name; + + /** + * Type of codec implemented by the hardware accelerator. + * + * See AVMEDIA_TYPE_xxx + */ + enum AVMediaType type; + + /** + * Codec implemented by the hardware accelerator. + * + * See AV_CODEC_ID_xxx + */ + enum AVCodecID id; + + /** + * Supported pixel format. + * + * Only hardware accelerated formats are supported here. + */ + enum AVPixelFormat pix_fmt; + + /** + * Hardware accelerated codec capabilities. + * see AV_HWACCEL_CODEC_CAP_* + */ + int capabilities; + + /***************************************************************** + * No fields below this line are part of the public API. They + * may not be used outside of libavcodec and can be changed and + * removed at will. + * New public fields should be added right above. + ***************************************************************** + */ + struct AVHWAccel *next; + + /** + * Allocate a custom buffer + */ + int (*alloc_frame)(AVCodecContext *avctx, AVFrame *frame); + + /** + * Called at the beginning of each frame or field picture. + * + * Meaningful frame information (codec specific) is guaranteed to + * be parsed at this point. This function is mandatory. + * + * Note that buf can be NULL along with buf_size set to 0. + * Otherwise, this means the whole frame is available at this point. + * + * @param avctx the codec context + * @param buf the frame data buffer base + * @param buf_size the size of the frame in bytes + * @return zero if successful, a negative value otherwise + */ + int (*start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size); + + /** + * Callback for each slice. + * + * Meaningful slice information (codec specific) is guaranteed to + * be parsed at this point. This function is mandatory. + * The only exception is XvMC, that works on MB level. + * + * @param avctx the codec context + * @param buf the slice data buffer base + * @param buf_size the size of the slice in bytes + * @return zero if successful, a negative value otherwise + */ + int (*decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size); + + /** + * Called at the end of each frame or field picture. + * + * The whole picture is parsed at this point and can now be sent + * to the hardware accelerator. This function is mandatory. + * + * @param avctx the codec context + * @return zero if successful, a negative value otherwise + */ + int (*end_frame)(AVCodecContext *avctx); + + /** + * Size of per-frame hardware accelerator private data. + * + * Private data is allocated with av_mallocz() before + * AVCodecContext.get_buffer() and deallocated after + * AVCodecContext.release_buffer(). + */ + int frame_priv_data_size; + + /** + * Called for every Macroblock in a slice. + * + * XvMC uses it to replace the ff_mpv_reconstruct_mb(). + * Instead of decoding to raw picture, MB parameters are + * stored in an array provided by the video driver. + * + * @param s the mpeg context + */ + void (*decode_mb)(struct MpegEncContext *s); + + /** + * Initialize the hwaccel private data. + * + * This will be called from ff_get_format(), after hwaccel and + * hwaccel_context are set and the hwaccel private data in AVCodecInternal + * is allocated. + */ + int (*init)(AVCodecContext *avctx); + + /** + * Uninitialize the hwaccel private data. + * + * This will be called from get_format() or avcodec_close(), after hwaccel + * and hwaccel_context are already uninitialized. + */ + int (*uninit)(AVCodecContext *avctx); + + /** + * Size of the private data to allocate in + * AVCodecInternal.hwaccel_priv_data. + */ + int priv_data_size; + + /** + * Internal hwaccel capabilities. + */ + int caps_internal; +} AVHWAccel; + +/** + * HWAccel is experimental and is thus avoided in favor of non experimental + * codecs + */ +#define AV_HWACCEL_CODEC_CAP_EXPERIMENTAL 0x0200 + +/** + * Hardware acceleration should be used for decoding even if the codec level + * used is unknown or higher than the maximum supported level reported by the + * hardware driver. + * + * It's generally a good idea to pass this flag unless you have a specific + * reason not to, as hardware tends to under-report supported levels. + */ +#define AV_HWACCEL_FLAG_IGNORE_LEVEL (1 << 0) + +/** + * Hardware acceleration can output YUV pixel formats with a different chroma + * sampling than 4:2:0 and/or other than 8 bits per component. + */ +#define AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH (1 << 1) + +/** + * Hardware acceleration should still be attempted for decoding when the + * codec profile does not match the reported capabilities of the hardware. + * + * For example, this can be used to try to decode baseline profile H.264 + * streams in hardware - it will often succeed, because many streams marked + * as baseline profile actually conform to constrained baseline profile. + * + * @warning If the stream is actually not supported then the behaviour is + * undefined, and may include returning entirely incorrect output + * while indicating success. + */ +#define AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH (1 << 2) + +/** + * @} + */ + +#if FF_API_AVPICTURE +/** + * @defgroup lavc_picture AVPicture + * + * Functions for working with AVPicture + * @{ + */ + +/** + * Picture data structure. + * + * Up to four components can be stored into it, the last component is + * alpha. + * @deprecated use AVFrame or imgutils functions instead + */ +typedef struct AVPicture { + attribute_deprecated + uint8_t *data[AV_NUM_DATA_POINTERS]; ///< pointers to the image data planes + attribute_deprecated + int linesize[AV_NUM_DATA_POINTERS]; ///< number of bytes per line +} AVPicture; + +/** + * @} + */ +#endif + +enum AVSubtitleType { + SUBTITLE_NONE, + + SUBTITLE_BITMAP, ///< A bitmap, pict will be set + + /** + * Plain text, the text field must be set by the decoder and is + * authoritative. ass and pict fields may contain approximations. + */ + SUBTITLE_TEXT, + + /** + * Formatted text, the ass field must be set by the decoder and is + * authoritative. pict and text fields may contain approximations. + */ + SUBTITLE_ASS, +}; + +#define AV_SUBTITLE_FLAG_FORCED 0x00000001 + +typedef struct AVSubtitleRect { + int x; ///< top left corner of pict, undefined when pict is not set + int y; ///< top left corner of pict, undefined when pict is not set + int w; ///< width of pict, undefined when pict is not set + int h; ///< height of pict, undefined when pict is not set + int nb_colors; ///< number of colors in pict, undefined when pict is not set + +#if FF_API_AVPICTURE + /** + * @deprecated unused + */ + attribute_deprecated + AVPicture pict; +#endif + /** + * data+linesize for the bitmap of this subtitle. + * Can be set for text/ass as well once they are rendered. + */ + uint8_t *data[4]; + int linesize[4]; + + enum AVSubtitleType type; + + char *text; ///< 0 terminated plain UTF-8 text + + /** + * 0 terminated ASS/SSA compatible event line. + * The presentation of this is unaffected by the other values in this + * struct. + */ + char *ass; + + int flags; +} AVSubtitleRect; + +typedef struct AVSubtitle { + uint16_t format; /* 0 = graphics */ + uint32_t start_display_time; /* relative to packet pts, in ms */ + uint32_t end_display_time; /* relative to packet pts, in ms */ + unsigned num_rects; + AVSubtitleRect **rects; + int64_t pts; ///< Same as packet pts, in AV_TIME_BASE +} AVSubtitle; + +/** + * This struct describes the properties of an encoded stream. + * + * sizeof(AVCodecParameters) is not a part of the public ABI, this struct must + * be allocated with avcodec_parameters_alloc() and freed with + * avcodec_parameters_free(). + */ +typedef struct AVCodecParameters { + /** + * General type of the encoded data. + */ + enum AVMediaType codec_type; + /** + * Specific type of the encoded data (the codec used). + */ + enum AVCodecID codec_id; + /** + * Additional information about the codec (corresponds to the AVI FOURCC). + */ + uint32_t codec_tag; + + /** + * Extra binary data needed for initializing the decoder, codec-dependent. + * + * Must be allocated with av_malloc() and will be freed by + * avcodec_parameters_free(). The allocated size of extradata must be at + * least extradata_size + AV_INPUT_BUFFER_PADDING_SIZE, with the padding + * bytes zeroed. + */ + uint8_t *extradata; + /** + * Size of the extradata content in bytes. + */ + int extradata_size; + + /** + * - video: the pixel format, the value corresponds to enum AVPixelFormat. + * - audio: the sample format, the value corresponds to enum AVSampleFormat. + */ + int format; + + /** + * The average bitrate of the encoded data (in bits per second). + */ + int64_t bit_rate; + + /** + * The number of bits per sample in the codedwords. + * + * This is basically the bitrate per sample. It is mandatory for a bunch of + * formats to actually decode them. It's the number of bits for one sample in + * the actual coded bitstream. + * + * This could be for example 4 for ADPCM + * For PCM formats this matches bits_per_raw_sample + * Can be 0 + */ + int bits_per_coded_sample; + + /** + * This is the number of valid bits in each output sample. If the + * sample format has more bits, the least significant bits are additional + * padding bits, which are always 0. Use right shifts to reduce the sample + * to its actual size. For example, audio formats with 24 bit samples will + * have bits_per_raw_sample set to 24, and format set to AV_SAMPLE_FMT_S32. + * To get the original sample use "(int32_t)sample >> 8"." + * + * For ADPCM this might be 12 or 16 or similar + * Can be 0 + */ + int bits_per_raw_sample; + + /** + * Codec-specific bitstream restrictions that the stream conforms to. + */ + int profile; + int level; + + /** + * Video only. The dimensions of the video frame in pixels. + */ + int width; + int height; + + /** + * Video only. The aspect ratio (width / height) which a single pixel + * should have when displayed. + * + * When the aspect ratio is unknown / undefined, the numerator should be + * set to 0 (the denominator may have any value). + */ + AVRational sample_aspect_ratio; + + /** + * Video only. The order of the fields in interlaced video. + */ + enum AVFieldOrder field_order; + + /** + * Video only. Additional colorspace characteristics. + */ + enum AVColorRange color_range; + enum AVColorPrimaries color_primaries; + enum AVColorTransferCharacteristic color_trc; + enum AVColorSpace color_space; + enum AVChromaLocation chroma_location; + + /** + * Video only. Number of delayed frames. + */ + int video_delay; + + /** + * Audio only. The channel layout bitmask. May be 0 if the channel layout is + * unknown or unspecified, otherwise the number of bits set must be equal to + * the channels field. + */ + uint64_t channel_layout; + /** + * Audio only. The number of audio channels. + */ + int channels; + /** + * Audio only. The number of audio samples per second. + */ + int sample_rate; + /** + * Audio only. The number of bytes per coded audio frame, required by some + * formats. + * + * Corresponds to nBlockAlign in WAVEFORMATEX. + */ + int block_align; + /** + * Audio only. Audio frame size, if known. Required by some formats to be static. + */ + int frame_size; + + /** + * Audio only. The amount of padding (in samples) inserted by the encoder at + * the beginning of the audio. I.e. this number of leading decoded samples + * must be discarded by the caller to get the original audio without leading + * padding. + */ + int initial_padding; + /** + * Audio only. The amount of padding (in samples) appended by the encoder to + * the end of the audio. I.e. this number of decoded samples must be + * discarded by the caller from the end of the stream to get the original + * audio without any trailing padding. + */ + int trailing_padding; + /** + * Audio only. Number of samples to skip after a discontinuity. + */ + int seek_preroll; +} AVCodecParameters; + +/** + * If c is NULL, returns the first registered codec, + * if c is non-NULL, returns the next registered codec after c, + * or NULL if c is the last one. + */ +AVCodec *av_codec_next(const AVCodec *c); + +/** + * Return the LIBAVCODEC_VERSION_INT constant. + */ +unsigned avcodec_version(void); + +/** + * Return the libavcodec build-time configuration. + */ +const char *avcodec_configuration(void); + +/** + * Return the libavcodec license. + */ +const char *avcodec_license(void); + +/** + * Register the codec codec and initialize libavcodec. + * + * @warning either this function or avcodec_register_all() must be called + * before any other libavcodec functions. + * + * @see avcodec_register_all() + */ +void avcodec_register(AVCodec *codec); + +/** + * Register all the codecs, parsers and bitstream filters which were enabled at + * configuration time. If you do not call this function you can select exactly + * which formats you want to support, by using the individual registration + * functions. + * + * @see avcodec_register + * @see av_register_codec_parser + * @see av_register_bitstream_filter + */ +void avcodec_register_all(void); + +/** + * Allocate an AVCodecContext and set its fields to default values. The + * resulting struct should be freed with avcodec_free_context(). + * + * @param codec if non-NULL, allocate private data and initialize defaults + * for the given codec. It is illegal to then call avcodec_open2() + * with a different codec. + * If NULL, then the codec-specific defaults won't be initialized, + * which may result in suboptimal default settings (this is + * important mainly for encoders, e.g. libx264). + * + * @return An AVCodecContext filled with default values or NULL on failure. + */ +AVCodecContext *avcodec_alloc_context3(const AVCodec *codec); + +/** + * Free the codec context and everything associated with it and write NULL to + * the provided pointer. + */ +void avcodec_free_context(AVCodecContext **avctx); + +#if FF_API_GET_CONTEXT_DEFAULTS +/** + * @deprecated This function should not be used, as closing and opening a codec + * context multiple time is not supported. A new codec context should be + * allocated for each new use. + */ +int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec); +#endif + +/** + * Get the AVClass for AVCodecContext. It can be used in combination with + * AV_OPT_SEARCH_FAKE_OBJ for examining options. + * + * @see av_opt_find(). + */ +const AVClass *avcodec_get_class(void); + +#if FF_API_COPY_CONTEXT +/** + * Get the AVClass for AVFrame. It can be used in combination with + * AV_OPT_SEARCH_FAKE_OBJ for examining options. + * + * @see av_opt_find(). + */ +const AVClass *avcodec_get_frame_class(void); + +/** + * Get the AVClass for AVSubtitleRect. It can be used in combination with + * AV_OPT_SEARCH_FAKE_OBJ for examining options. + * + * @see av_opt_find(). + */ +const AVClass *avcodec_get_subtitle_rect_class(void); + +/** + * Copy the settings of the source AVCodecContext into the destination + * AVCodecContext. The resulting destination codec context will be + * unopened, i.e. you are required to call avcodec_open2() before you + * can use this AVCodecContext to decode/encode video/audio data. + * + * @param dest target codec context, should be initialized with + * avcodec_alloc_context3(NULL), but otherwise uninitialized + * @param src source codec context + * @return AVERROR() on error (e.g. memory allocation error), 0 on success + * + * @deprecated The semantics of this function are ill-defined and it should not + * be used. If you need to transfer the stream parameters from one codec context + * to another, use an intermediate AVCodecParameters instance and the + * avcodec_parameters_from_context() / avcodec_parameters_to_context() + * functions. + */ +attribute_deprecated +int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src); +#endif + +/** + * Allocate a new AVCodecParameters and set its fields to default values + * (unknown/invalid/0). The returned struct must be freed with + * avcodec_parameters_free(). + */ +AVCodecParameters *avcodec_parameters_alloc(void); + +/** + * Free an AVCodecParameters instance and everything associated with it and + * write NULL to the supplied pointer. + */ +void avcodec_parameters_free(AVCodecParameters **par); + +/** + * Copy the contents of src to dst. Any allocated fields in dst are freed and + * replaced with newly allocated duplicates of the corresponding fields in src. + * + * @return >= 0 on success, a negative AVERROR code on failure. + */ +int avcodec_parameters_copy(AVCodecParameters *dst, const AVCodecParameters *src); + +/** + * Fill the parameters struct based on the values from the supplied codec + * context. Any allocated fields in par are freed and replaced with duplicates + * of the corresponding fields in codec. + * + * @return >= 0 on success, a negative AVERROR code on failure + */ +int avcodec_parameters_from_context(AVCodecParameters *par, + const AVCodecContext *codec); + +/** + * Fill the codec context based on the values from the supplied codec + * parameters. Any allocated fields in codec that have a corresponding field in + * par are freed and replaced with duplicates of the corresponding field in par. + * Fields in codec that do not have a counterpart in par are not touched. + * + * @return >= 0 on success, a negative AVERROR code on failure. + */ +int avcodec_parameters_to_context(AVCodecContext *codec, + const AVCodecParameters *par); + +/** + * Initialize the AVCodecContext to use the given AVCodec. Prior to using this + * function the context has to be allocated with avcodec_alloc_context3(). + * + * The functions avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(), + * avcodec_find_decoder() and avcodec_find_encoder() provide an easy way for + * retrieving a codec. + * + * @warning This function is not thread safe! + * + * @note Always call this function before using decoding routines (such as + * @ref avcodec_receive_frame()). + * + * @code + * avcodec_register_all(); + * av_dict_set(&opts, "b", "2.5M", 0); + * codec = avcodec_find_decoder(AV_CODEC_ID_H264); + * if (!codec) + * exit(1); + * + * context = avcodec_alloc_context3(codec); + * + * if (avcodec_open2(context, codec, opts) < 0) + * exit(1); + * @endcode + * + * @param avctx The context to initialize. + * @param codec The codec to open this context for. If a non-NULL codec has been + * previously passed to avcodec_alloc_context3() or + * for this context, then this parameter MUST be either NULL or + * equal to the previously passed codec. + * @param options A dictionary filled with AVCodecContext and codec-private options. + * On return this object will be filled with options that were not found. + * + * @return zero on success, a negative value on error + * @see avcodec_alloc_context3(), avcodec_find_decoder(), avcodec_find_encoder(), + * av_dict_set(), av_opt_find(). + */ +int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options); + +/** + * Close a given AVCodecContext and free all the data associated with it + * (but not the AVCodecContext itself). + * + * Calling this function on an AVCodecContext that hasn't been opened will free + * the codec-specific data allocated in avcodec_alloc_context3() with a non-NULL + * codec. Subsequent calls will do nothing. + * + * @note Do not use this function. Use avcodec_free_context() to destroy a + * codec context (either open or closed). Opening and closing a codec context + * multiple times is not supported anymore -- use multiple codec contexts + * instead. + */ +int avcodec_close(AVCodecContext *avctx); + +/** + * Free all allocated data in the given subtitle struct. + * + * @param sub AVSubtitle to free. + */ +void avsubtitle_free(AVSubtitle *sub); + +/** + * @} + */ + +/** + * @addtogroup lavc_packet + * @{ + */ + +/** + * Allocate an AVPacket and set its fields to default values. The resulting + * struct must be freed using av_packet_free(). + * + * @return An AVPacket filled with default values or NULL on failure. + * + * @note this only allocates the AVPacket itself, not the data buffers. Those + * must be allocated through other means such as av_new_packet. + * + * @see av_new_packet + */ +AVPacket *av_packet_alloc(void); + +/** + * Create a new packet that references the same data as src. + * + * This is a shortcut for av_packet_alloc()+av_packet_ref(). + * + * @return newly created AVPacket on success, NULL on error. + * + * @see av_packet_alloc + * @see av_packet_ref + */ +AVPacket *av_packet_clone(const AVPacket *src); + +/** + * Free the packet, if the packet is reference counted, it will be + * unreferenced first. + * + * @param pkt packet to be freed. The pointer will be set to NULL. + * @note passing NULL is a no-op. + */ +void av_packet_free(AVPacket **pkt); + +/** + * Initialize optional fields of a packet with default values. + * + * Note, this does not touch the data and size members, which have to be + * initialized separately. + * + * @param pkt packet + */ +void av_init_packet(AVPacket *pkt); + +/** + * Allocate the payload of a packet and initialize its fields with + * default values. + * + * @param pkt packet + * @param size wanted payload size + * @return 0 if OK, AVERROR_xxx otherwise + */ +int av_new_packet(AVPacket *pkt, int size); + +/** + * Reduce packet size, correctly zeroing padding + * + * @param pkt packet + * @param size new size + */ +void av_shrink_packet(AVPacket *pkt, int size); + +/** + * Increase packet size, correctly zeroing padding + * + * @param pkt packet + * @param grow_by number of bytes by which to increase the size of the packet + */ +int av_grow_packet(AVPacket *pkt, int grow_by); + +/** + * Initialize a reference-counted packet from av_malloc()ed data. + * + * @param pkt packet to be initialized. This function will set the data, size, + * buf and destruct fields, all others are left untouched. + * @param data Data allocated by av_malloc() to be used as packet data. If this + * function returns successfully, the data is owned by the underlying AVBuffer. + * The caller may not access the data through other means. + * @param size size of data in bytes, without the padding. I.e. the full buffer + * size is assumed to be size + AV_INPUT_BUFFER_PADDING_SIZE. + * + * @return 0 on success, a negative AVERROR on error + */ +int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size); + +#if FF_API_AVPACKET_OLD_API +/** + * @warning This is a hack - the packet memory allocation stuff is broken. The + * packet is allocated if it was not really allocated. + * + * @deprecated Use av_packet_ref + */ +attribute_deprecated +int av_dup_packet(AVPacket *pkt); +/** + * Copy packet, including contents + * + * @return 0 on success, negative AVERROR on fail + * + * @deprecated Use av_packet_ref + */ +attribute_deprecated +int av_copy_packet(AVPacket *dst, const AVPacket *src); + +/** + * Copy packet side data + * + * @return 0 on success, negative AVERROR on fail + * + * @deprecated Use av_packet_copy_props + */ +attribute_deprecated +int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src); + +/** + * Free a packet. + * + * @deprecated Use av_packet_unref + * + * @param pkt packet to free + */ +attribute_deprecated +void av_free_packet(AVPacket *pkt); +#endif +/** + * Allocate new information of a packet. + * + * @param pkt packet + * @param type side information type + * @param size side information size + * @return pointer to fresh allocated data or NULL otherwise + */ +uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, + int size); + +/** + * Wrap an existing array as a packet side data. + * + * @param pkt packet + * @param type side information type + * @param data the side data array. It must be allocated with the av_malloc() + * family of functions. The ownership of the data is transferred to + * pkt. + * @param size side information size + * @return a non-negative number on success, a negative AVERROR code on + * failure. On failure, the packet is unchanged and the data remains + * owned by the caller. + */ +int av_packet_add_side_data(AVPacket *pkt, enum AVPacketSideDataType type, + uint8_t *data, size_t size); + +/** + * Shrink the already allocated side data buffer + * + * @param pkt packet + * @param type side information type + * @param size new side information size + * @return 0 on success, < 0 on failure + */ +int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type, + int size); + +/** + * Get side information from packet. + * + * @param pkt packet + * @param type desired side information type + * @param size pointer for side information size to store (optional) + * @return pointer to data if present or NULL otherwise + */ +uint8_t* av_packet_get_side_data(const AVPacket *pkt, enum AVPacketSideDataType type, + int *size); + +#if FF_API_MERGE_SD_API +attribute_deprecated +int av_packet_merge_side_data(AVPacket *pkt); + +attribute_deprecated +int av_packet_split_side_data(AVPacket *pkt); +#endif + +const char *av_packet_side_data_name(enum AVPacketSideDataType type); + +/** + * Pack a dictionary for use in side_data. + * + * @param dict The dictionary to pack. + * @param size pointer to store the size of the returned data + * @return pointer to data if successful, NULL otherwise + */ +uint8_t *av_packet_pack_dictionary(AVDictionary *dict, int *size); +/** + * Unpack a dictionary from side_data. + * + * @param data data from side_data + * @param size size of the data + * @param dict the metadata storage dictionary + * @return 0 on success, < 0 on failure + */ +int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict); + + +/** + * Convenience function to free all the side data stored. + * All the other fields stay untouched. + * + * @param pkt packet + */ +void av_packet_free_side_data(AVPacket *pkt); + +/** + * Setup a new reference to the data described by a given packet + * + * If src is reference-counted, setup dst as a new reference to the + * buffer in src. Otherwise allocate a new buffer in dst and copy the + * data from src into it. + * + * All the other fields are copied from src. + * + * @see av_packet_unref + * + * @param dst Destination packet + * @param src Source packet + * + * @return 0 on success, a negative AVERROR on error. + */ +int av_packet_ref(AVPacket *dst, const AVPacket *src); + +/** + * Wipe the packet. + * + * Unreference the buffer referenced by the packet and reset the + * remaining packet fields to their default values. + * + * @param pkt The packet to be unreferenced. + */ +void av_packet_unref(AVPacket *pkt); + +/** + * Move every field in src to dst and reset src. + * + * @see av_packet_unref + * + * @param src Source packet, will be reset + * @param dst Destination packet + */ +void av_packet_move_ref(AVPacket *dst, AVPacket *src); + +/** + * Copy only "properties" fields from src to dst. + * + * Properties for the purpose of this function are all the fields + * beside those related to the packet data (buf, data, size) + * + * @param dst Destination packet + * @param src Source packet + * + * @return 0 on success AVERROR on failure. + */ +int av_packet_copy_props(AVPacket *dst, const AVPacket *src); + +/** + * Convert valid timing fields (timestamps / durations) in a packet from one + * timebase to another. Timestamps with unknown values (AV_NOPTS_VALUE) will be + * ignored. + * + * @param pkt packet on which the conversion will be performed + * @param tb_src source timebase, in which the timing fields in pkt are + * expressed + * @param tb_dst destination timebase, to which the timing fields will be + * converted + */ +void av_packet_rescale_ts(AVPacket *pkt, AVRational tb_src, AVRational tb_dst); + +/** + * @} + */ + +/** + * @addtogroup lavc_decoding + * @{ + */ + +/** + * Find a registered decoder with a matching codec ID. + * + * @param id AVCodecID of the requested decoder + * @return A decoder if one was found, NULL otherwise. + */ +AVCodec *avcodec_find_decoder(enum AVCodecID id); + +/** + * Find a registered decoder with the specified name. + * + * @param name name of the requested decoder + * @return A decoder if one was found, NULL otherwise. + */ +AVCodec *avcodec_find_decoder_by_name(const char *name); + +/** + * The default callback for AVCodecContext.get_buffer2(). It is made public so + * it can be called by custom get_buffer2() implementations for decoders without + * AV_CODEC_CAP_DR1 set. + */ +int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags); + +#if FF_API_EMU_EDGE +/** + * Return the amount of padding in pixels which the get_buffer callback must + * provide around the edge of the image for codecs which do not have the + * CODEC_FLAG_EMU_EDGE flag. + * + * @return Required padding in pixels. + * + * @deprecated CODEC_FLAG_EMU_EDGE is deprecated, so this function is no longer + * needed + */ +attribute_deprecated +unsigned avcodec_get_edge_width(void); +#endif + +/** + * Modify width and height values so that they will result in a memory + * buffer that is acceptable for the codec if you do not use any horizontal + * padding. + * + * May only be used if a codec with AV_CODEC_CAP_DR1 has been opened. + */ +void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height); + +/** + * Modify width and height values so that they will result in a memory + * buffer that is acceptable for the codec if you also ensure that all + * line sizes are a multiple of the respective linesize_align[i]. + * + * May only be used if a codec with AV_CODEC_CAP_DR1 has been opened. + */ +void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, + int linesize_align[AV_NUM_DATA_POINTERS]); + +/** + * Converts AVChromaLocation to swscale x/y chroma position. + * + * The positions represent the chroma (0,0) position in a coordinates system + * with luma (0,0) representing the origin and luma(1,1) representing 256,256 + * + * @param xpos horizontal chroma sample position + * @param ypos vertical chroma sample position + */ +int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos); + +/** + * Converts swscale x/y chroma position to AVChromaLocation. + * + * The positions represent the chroma (0,0) position in a coordinates system + * with luma (0,0) representing the origin and luma(1,1) representing 256,256 + * + * @param xpos horizontal chroma sample position + * @param ypos vertical chroma sample position + */ +enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos); + +/** + * Decode the audio frame of size avpkt->size from avpkt->data into frame. + * + * Some decoders may support multiple frames in a single AVPacket. Such + * decoders would then just decode the first frame and the return value would be + * less than the packet size. In this case, avcodec_decode_audio4 has to be + * called again with an AVPacket containing the remaining data in order to + * decode the second frame, etc... Even if no frames are returned, the packet + * needs to be fed to the decoder with remaining data until it is completely + * consumed or an error occurs. + * + * Some decoders (those marked with AV_CODEC_CAP_DELAY) have a delay between input + * and output. This means that for some packets they will not immediately + * produce decoded output and need to be flushed at the end of decoding to get + * all the decoded data. Flushing is done by calling this function with packets + * with avpkt->data set to NULL and avpkt->size set to 0 until it stops + * returning samples. It is safe to flush even those decoders that are not + * marked with AV_CODEC_CAP_DELAY, then no samples will be returned. + * + * @warning The input buffer, avpkt->data must be AV_INPUT_BUFFER_PADDING_SIZE + * larger than the actual read bytes because some optimized bitstream + * readers read 32 or 64 bits at once and could read over the end. + * + * @note The AVCodecContext MUST have been opened with @ref avcodec_open2() + * before packets may be fed to the decoder. + * + * @param avctx the codec context + * @param[out] frame The AVFrame in which to store decoded audio samples. + * The decoder will allocate a buffer for the decoded frame by + * calling the AVCodecContext.get_buffer2() callback. + * When AVCodecContext.refcounted_frames is set to 1, the frame is + * reference counted and the returned reference belongs to the + * caller. The caller must release the frame using av_frame_unref() + * when the frame is no longer needed. The caller may safely write + * to the frame if av_frame_is_writable() returns 1. + * When AVCodecContext.refcounted_frames is set to 0, the returned + * reference belongs to the decoder and is valid only until the + * next call to this function or until closing or flushing the + * decoder. The caller may not write to it. + * @param[out] got_frame_ptr Zero if no frame could be decoded, otherwise it is + * non-zero. Note that this field being set to zero + * does not mean that an error has occurred. For + * decoders with AV_CODEC_CAP_DELAY set, no given decode + * call is guaranteed to produce a frame. + * @param[in] avpkt The input AVPacket containing the input buffer. + * At least avpkt->data and avpkt->size should be set. Some + * decoders might also require additional fields to be set. + * @return A negative error code is returned if an error occurred during + * decoding, otherwise the number of bytes consumed from the input + * AVPacket is returned. + * +* @deprecated Use avcodec_send_packet() and avcodec_receive_frame(). + */ +attribute_deprecated +int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame, + int *got_frame_ptr, const AVPacket *avpkt); + +/** + * Decode the video frame of size avpkt->size from avpkt->data into picture. + * Some decoders may support multiple frames in a single AVPacket, such + * decoders would then just decode the first frame. + * + * @warning The input buffer must be AV_INPUT_BUFFER_PADDING_SIZE larger than + * the actual read bytes because some optimized bitstream readers read 32 or 64 + * bits at once and could read over the end. + * + * @warning The end of the input buffer buf should be set to 0 to ensure that + * no overreading happens for damaged MPEG streams. + * + * @note Codecs which have the AV_CODEC_CAP_DELAY capability set have a delay + * between input and output, these need to be fed with avpkt->data=NULL, + * avpkt->size=0 at the end to return the remaining frames. + * + * @note The AVCodecContext MUST have been opened with @ref avcodec_open2() + * before packets may be fed to the decoder. + * + * @param avctx the codec context + * @param[out] picture The AVFrame in which the decoded video frame will be stored. + * Use av_frame_alloc() to get an AVFrame. The codec will + * allocate memory for the actual bitmap by calling the + * AVCodecContext.get_buffer2() callback. + * When AVCodecContext.refcounted_frames is set to 1, the frame is + * reference counted and the returned reference belongs to the + * caller. The caller must release the frame using av_frame_unref() + * when the frame is no longer needed. The caller may safely write + * to the frame if av_frame_is_writable() returns 1. + * When AVCodecContext.refcounted_frames is set to 0, the returned + * reference belongs to the decoder and is valid only until the + * next call to this function or until closing or flushing the + * decoder. The caller may not write to it. + * + * @param[in] avpkt The input AVPacket containing the input buffer. + * You can create such packet with av_init_packet() and by then setting + * data and size, some decoders might in addition need other fields like + * flags&AV_PKT_FLAG_KEY. All decoders are designed to use the least + * fields possible. + * @param[in,out] got_picture_ptr Zero if no frame could be decompressed, otherwise, it is nonzero. + * @return On error a negative value is returned, otherwise the number of bytes + * used or zero if no frame could be decompressed. + * + * @deprecated Use avcodec_send_packet() and avcodec_receive_frame(). + */ +attribute_deprecated +int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, + int *got_picture_ptr, + const AVPacket *avpkt); + +/** + * Decode a subtitle message. + * Return a negative value on error, otherwise return the number of bytes used. + * If no subtitle could be decompressed, got_sub_ptr is zero. + * Otherwise, the subtitle is stored in *sub. + * Note that AV_CODEC_CAP_DR1 is not available for subtitle codecs. This is for + * simplicity, because the performance difference is expect to be negligible + * and reusing a get_buffer written for video codecs would probably perform badly + * due to a potentially very different allocation pattern. + * + * Some decoders (those marked with AV_CODEC_CAP_DELAY) have a delay between input + * and output. This means that for some packets they will not immediately + * produce decoded output and need to be flushed at the end of decoding to get + * all the decoded data. Flushing is done by calling this function with packets + * with avpkt->data set to NULL and avpkt->size set to 0 until it stops + * returning subtitles. It is safe to flush even those decoders that are not + * marked with AV_CODEC_CAP_DELAY, then no subtitles will be returned. + * + * @note The AVCodecContext MUST have been opened with @ref avcodec_open2() + * before packets may be fed to the decoder. + * + * @param avctx the codec context + * @param[out] sub The Preallocated AVSubtitle in which the decoded subtitle will be stored, + * must be freed with avsubtitle_free if *got_sub_ptr is set. + * @param[in,out] got_sub_ptr Zero if no subtitle could be decompressed, otherwise, it is nonzero. + * @param[in] avpkt The input AVPacket containing the input buffer. + */ +int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, + int *got_sub_ptr, + AVPacket *avpkt); + +/** + * Supply raw packet data as input to a decoder. + * + * Internally, this call will copy relevant AVCodecContext fields, which can + * influence decoding per-packet, and apply them when the packet is actually + * decoded. (For example AVCodecContext.skip_frame, which might direct the + * decoder to drop the frame contained by the packet sent with this function.) + * + * @warning The input buffer, avpkt->data must be AV_INPUT_BUFFER_PADDING_SIZE + * larger than the actual read bytes because some optimized bitstream + * readers read 32 or 64 bits at once and could read over the end. + * + * @warning Do not mix this API with the legacy API (like avcodec_decode_video2()) + * on the same AVCodecContext. It will return unexpected results now + * or in future libavcodec versions. + * + * @note The AVCodecContext MUST have been opened with @ref avcodec_open2() + * before packets may be fed to the decoder. + * + * @param avctx codec context + * @param[in] avpkt The input AVPacket. Usually, this will be a single video + * frame, or several complete audio frames. + * Ownership of the packet remains with the caller, and the + * decoder will not write to the packet. The decoder may create + * a reference to the packet data (or copy it if the packet is + * not reference-counted). + * Unlike with older APIs, the packet is always fully consumed, + * and if it contains multiple frames (e.g. some audio codecs), + * will require you to call avcodec_receive_frame() multiple + * times afterwards before you can send a new packet. + * It can be NULL (or an AVPacket with data set to NULL and + * size set to 0); in this case, it is considered a flush + * packet, which signals the end of the stream. Sending the + * first flush packet will return success. Subsequent ones are + * unnecessary and will return AVERROR_EOF. If the decoder + * still has frames buffered, it will return them after sending + * a flush packet. + * + * @return 0 on success, otherwise negative error code: + * AVERROR(EAGAIN): input is not accepted in the current state - user + * must read output with avcodec_receive_frame() (once + * all output is read, the packet should be resent, and + * the call will not fail with EAGAIN). + * AVERROR_EOF: the decoder has been flushed, and no new packets can + * be sent to it (also returned if more than 1 flush + * packet is sent) + * AVERROR(EINVAL): codec not opened, it is an encoder, or requires flush + * AVERROR(ENOMEM): failed to add packet to internal queue, or similar + * other errors: legitimate decoding errors + */ +int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt); + +/** + * Return decoded output data from a decoder. + * + * @param avctx codec context + * @param frame This will be set to a reference-counted video or audio + * frame (depending on the decoder type) allocated by the + * decoder. Note that the function will always call + * av_frame_unref(frame) before doing anything else. + * + * @return + * 0: success, a frame was returned + * AVERROR(EAGAIN): output is not available in this state - user must try + * to send new input + * AVERROR_EOF: the decoder has been fully flushed, and there will be + * no more output frames + * AVERROR(EINVAL): codec not opened, or it is an encoder + * other negative values: legitimate decoding errors + */ +int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame); + +/** + * Supply a raw video or audio frame to the encoder. Use avcodec_receive_packet() + * to retrieve buffered output packets. + * + * @param avctx codec context + * @param[in] frame AVFrame containing the raw audio or video frame to be encoded. + * Ownership of the frame remains with the caller, and the + * encoder will not write to the frame. The encoder may create + * a reference to the frame data (or copy it if the frame is + * not reference-counted). + * It can be NULL, in which case it is considered a flush + * packet. This signals the end of the stream. If the encoder + * still has packets buffered, it will return them after this + * call. Once flushing mode has been entered, additional flush + * packets are ignored, and sending frames will return + * AVERROR_EOF. + * + * For audio: + * If AV_CODEC_CAP_VARIABLE_FRAME_SIZE is set, then each frame + * can have any number of samples. + * If it is not set, frame->nb_samples must be equal to + * avctx->frame_size for all frames except the last. + * The final frame may be smaller than avctx->frame_size. + * @return 0 on success, otherwise negative error code: + * AVERROR(EAGAIN): input is not accepted in the current state - user + * must read output with avcodec_receive_packet() (once + * all output is read, the packet should be resent, and + * the call will not fail with EAGAIN). + * AVERROR_EOF: the encoder has been flushed, and no new frames can + * be sent to it + * AVERROR(EINVAL): codec not opened, refcounted_frames not set, it is a + * decoder, or requires flush + * AVERROR(ENOMEM): failed to add packet to internal queue, or similar + * other errors: legitimate decoding errors + */ +int avcodec_send_frame(AVCodecContext *avctx, const AVFrame *frame); + +/** + * Read encoded data from the encoder. + * + * @param avctx codec context + * @param avpkt This will be set to a reference-counted packet allocated by the + * encoder. Note that the function will always call + * av_frame_unref(frame) before doing anything else. + * @return 0 on success, otherwise negative error code: + * AVERROR(EAGAIN): output is not available in the current state - user + * must try to send input + * AVERROR_EOF: the encoder has been fully flushed, and there will be + * no more output packets + * AVERROR(EINVAL): codec not opened, or it is an encoder + * other errors: legitimate decoding errors + */ +int avcodec_receive_packet(AVCodecContext *avctx, AVPacket *avpkt); + + +/** + * @defgroup lavc_parsing Frame parsing + * @{ + */ + +enum AVPictureStructure { + AV_PICTURE_STRUCTURE_UNKNOWN, //< unknown + AV_PICTURE_STRUCTURE_TOP_FIELD, //< coded as top field + AV_PICTURE_STRUCTURE_BOTTOM_FIELD, //< coded as bottom field + AV_PICTURE_STRUCTURE_FRAME, //< coded as frame +}; + +typedef struct AVCodecParserContext { + void *priv_data; + struct AVCodecParser *parser; + int64_t frame_offset; /* offset of the current frame */ + int64_t cur_offset; /* current offset + (incremented by each av_parser_parse()) */ + int64_t next_frame_offset; /* offset of the next frame */ + /* video info */ + int pict_type; /* XXX: Put it back in AVCodecContext. */ + /** + * This field is used for proper frame duration computation in lavf. + * It signals, how much longer the frame duration of the current frame + * is compared to normal frame duration. + * + * frame_duration = (1 + repeat_pict) * time_base + * + * It is used by codecs like H.264 to display telecined material. + */ + int repeat_pict; /* XXX: Put it back in AVCodecContext. */ + int64_t pts; /* pts of the current frame */ + int64_t dts; /* dts of the current frame */ + + /* private data */ + int64_t last_pts; + int64_t last_dts; + int fetch_timestamp; + +#define AV_PARSER_PTS_NB 4 + int cur_frame_start_index; + int64_t cur_frame_offset[AV_PARSER_PTS_NB]; + int64_t cur_frame_pts[AV_PARSER_PTS_NB]; + int64_t cur_frame_dts[AV_PARSER_PTS_NB]; + + int flags; +#define PARSER_FLAG_COMPLETE_FRAMES 0x0001 +#define PARSER_FLAG_ONCE 0x0002 +/// Set if the parser has a valid file offset +#define PARSER_FLAG_FETCHED_OFFSET 0x0004 +#define PARSER_FLAG_USE_CODEC_TS 0x1000 + + int64_t offset; ///< byte offset from starting packet start + int64_t cur_frame_end[AV_PARSER_PTS_NB]; + + /** + * Set by parser to 1 for key frames and 0 for non-key frames. + * It is initialized to -1, so if the parser doesn't set this flag, + * old-style fallback using AV_PICTURE_TYPE_I picture type as key frames + * will be used. + */ + int key_frame; + +#if FF_API_CONVERGENCE_DURATION + /** + * @deprecated unused + */ + attribute_deprecated + int64_t convergence_duration; +#endif + + // Timestamp generation support: + /** + * Synchronization point for start of timestamp generation. + * + * Set to >0 for sync point, 0 for no sync point and <0 for undefined + * (default). + * + * For example, this corresponds to presence of H.264 buffering period + * SEI message. + */ + int dts_sync_point; + + /** + * Offset of the current timestamp against last timestamp sync point in + * units of AVCodecContext.time_base. + * + * Set to INT_MIN when dts_sync_point unused. Otherwise, it must + * contain a valid timestamp offset. + * + * Note that the timestamp of sync point has usually a nonzero + * dts_ref_dts_delta, which refers to the previous sync point. Offset of + * the next frame after timestamp sync point will be usually 1. + * + * For example, this corresponds to H.264 cpb_removal_delay. + */ + int dts_ref_dts_delta; + + /** + * Presentation delay of current frame in units of AVCodecContext.time_base. + * + * Set to INT_MIN when dts_sync_point unused. Otherwise, it must + * contain valid non-negative timestamp delta (presentation time of a frame + * must not lie in the past). + * + * This delay represents the difference between decoding and presentation + * time of the frame. + * + * For example, this corresponds to H.264 dpb_output_delay. + */ + int pts_dts_delta; + + /** + * Position of the packet in file. + * + * Analogous to cur_frame_pts/dts + */ + int64_t cur_frame_pos[AV_PARSER_PTS_NB]; + + /** + * Byte position of currently parsed frame in stream. + */ + int64_t pos; + + /** + * Previous frame byte position. + */ + int64_t last_pos; + + /** + * Duration of the current frame. + * For audio, this is in units of 1 / AVCodecContext.sample_rate. + * For all other types, this is in units of AVCodecContext.time_base. + */ + int duration; + + enum AVFieldOrder field_order; + + /** + * Indicate whether a picture is coded as a frame, top field or bottom field. + * + * For example, H.264 field_pic_flag equal to 0 corresponds to + * AV_PICTURE_STRUCTURE_FRAME. An H.264 picture with field_pic_flag + * equal to 1 and bottom_field_flag equal to 0 corresponds to + * AV_PICTURE_STRUCTURE_TOP_FIELD. + */ + enum AVPictureStructure picture_structure; + + /** + * Picture number incremented in presentation or output order. + * This field may be reinitialized at the first picture of a new sequence. + * + * For example, this corresponds to H.264 PicOrderCnt. + */ + int output_picture_number; + + /** + * Dimensions of the decoded video intended for presentation. + */ + int width; + int height; + + /** + * Dimensions of the coded video. + */ + int coded_width; + int coded_height; + + /** + * The format of the coded data, corresponds to enum AVPixelFormat for video + * and for enum AVSampleFormat for audio. + * + * Note that a decoder can have considerable freedom in how exactly it + * decodes the data, so the format reported here might be different from the + * one returned by a decoder. + */ + int format; +} AVCodecParserContext; + +typedef struct AVCodecParser { + int codec_ids[5]; /* several codec IDs are permitted */ + int priv_data_size; + int (*parser_init)(AVCodecParserContext *s); + /* This callback never returns an error, a negative value means that + * the frame start was in a previous packet. */ + int (*parser_parse)(AVCodecParserContext *s, + AVCodecContext *avctx, + const uint8_t **poutbuf, int *poutbuf_size, + const uint8_t *buf, int buf_size); + void (*parser_close)(AVCodecParserContext *s); + int (*split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size); + struct AVCodecParser *next; +} AVCodecParser; + +AVCodecParser *av_parser_next(const AVCodecParser *c); + +void av_register_codec_parser(AVCodecParser *parser); +AVCodecParserContext *av_parser_init(int codec_id); + +/** + * Parse a packet. + * + * @param s parser context. + * @param avctx codec context. + * @param poutbuf set to pointer to parsed buffer or NULL if not yet finished. + * @param poutbuf_size set to size of parsed buffer or zero if not yet finished. + * @param buf input buffer. + * @param buf_size buffer size in bytes without the padding. I.e. the full buffer + size is assumed to be buf_size + AV_INPUT_BUFFER_PADDING_SIZE. + To signal EOF, this should be 0 (so that the last frame + can be output). + * @param pts input presentation timestamp. + * @param dts input decoding timestamp. + * @param pos input byte position in stream. + * @return the number of bytes of the input bitstream used. + * + * Example: + * @code + * while(in_len){ + * len = av_parser_parse2(myparser, AVCodecContext, &data, &size, + * in_data, in_len, + * pts, dts, pos); + * in_data += len; + * in_len -= len; + * + * if(size) + * decode_frame(data, size); + * } + * @endcode + */ +int av_parser_parse2(AVCodecParserContext *s, + AVCodecContext *avctx, + uint8_t **poutbuf, int *poutbuf_size, + const uint8_t *buf, int buf_size, + int64_t pts, int64_t dts, + int64_t pos); + +/** + * @return 0 if the output buffer is a subset of the input, 1 if it is allocated and must be freed + * @deprecated use AVBitStreamFilter + */ +int av_parser_change(AVCodecParserContext *s, + AVCodecContext *avctx, + uint8_t **poutbuf, int *poutbuf_size, + const uint8_t *buf, int buf_size, int keyframe); +void av_parser_close(AVCodecParserContext *s); + +/** + * @} + * @} + */ + +/** + * @addtogroup lavc_encoding + * @{ + */ + +/** + * Find a registered encoder with a matching codec ID. + * + * @param id AVCodecID of the requested encoder + * @return An encoder if one was found, NULL otherwise. + */ +AVCodec *avcodec_find_encoder(enum AVCodecID id); + +/** + * Find a registered encoder with the specified name. + * + * @param name name of the requested encoder + * @return An encoder if one was found, NULL otherwise. + */ +AVCodec *avcodec_find_encoder_by_name(const char *name); + +/** + * Encode a frame of audio. + * + * Takes input samples from frame and writes the next output packet, if + * available, to avpkt. The output packet does not necessarily contain data for + * the most recent frame, as encoders can delay, split, and combine input frames + * internally as needed. + * + * @param avctx codec context + * @param avpkt output AVPacket. + * The user can supply an output buffer by setting + * avpkt->data and avpkt->size prior to calling the + * function, but if the size of the user-provided data is not + * large enough, encoding will fail. If avpkt->data and + * avpkt->size are set, avpkt->destruct must also be set. All + * other AVPacket fields will be reset by the encoder using + * av_init_packet(). If avpkt->data is NULL, the encoder will + * allocate it. The encoder will set avpkt->size to the size + * of the output packet. + * + * If this function fails or produces no output, avpkt will be + * freed using av_packet_unref(). + * @param[in] frame AVFrame containing the raw audio data to be encoded. + * May be NULL when flushing an encoder that has the + * AV_CODEC_CAP_DELAY capability set. + * If AV_CODEC_CAP_VARIABLE_FRAME_SIZE is set, then each frame + * can have any number of samples. + * If it is not set, frame->nb_samples must be equal to + * avctx->frame_size for all frames except the last. + * The final frame may be smaller than avctx->frame_size. + * @param[out] got_packet_ptr This field is set to 1 by libavcodec if the + * output packet is non-empty, and to 0 if it is + * empty. If the function returns an error, the + * packet can be assumed to be invalid, and the + * value of got_packet_ptr is undefined and should + * not be used. + * @return 0 on success, negative error code on failure + * + * @deprecated use avcodec_send_frame()/avcodec_receive_packet() instead + */ +attribute_deprecated +int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt, + const AVFrame *frame, int *got_packet_ptr); + +/** + * Encode a frame of video. + * + * Takes input raw video data from frame and writes the next output packet, if + * available, to avpkt. The output packet does not necessarily contain data for + * the most recent frame, as encoders can delay and reorder input frames + * internally as needed. + * + * @param avctx codec context + * @param avpkt output AVPacket. + * The user can supply an output buffer by setting + * avpkt->data and avpkt->size prior to calling the + * function, but if the size of the user-provided data is not + * large enough, encoding will fail. All other AVPacket fields + * will be reset by the encoder using av_init_packet(). If + * avpkt->data is NULL, the encoder will allocate it. + * The encoder will set avpkt->size to the size of the + * output packet. The returned data (if any) belongs to the + * caller, he is responsible for freeing it. + * + * If this function fails or produces no output, avpkt will be + * freed using av_packet_unref(). + * @param[in] frame AVFrame containing the raw video data to be encoded. + * May be NULL when flushing an encoder that has the + * AV_CODEC_CAP_DELAY capability set. + * @param[out] got_packet_ptr This field is set to 1 by libavcodec if the + * output packet is non-empty, and to 0 if it is + * empty. If the function returns an error, the + * packet can be assumed to be invalid, and the + * value of got_packet_ptr is undefined and should + * not be used. + * @return 0 on success, negative error code on failure + * + * @deprecated use avcodec_send_frame()/avcodec_receive_packet() instead + */ +attribute_deprecated +int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt, + const AVFrame *frame, int *got_packet_ptr); + +int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size, + const AVSubtitle *sub); + + +/** + * @} + */ + +#if FF_API_AVCODEC_RESAMPLE +/** + * @defgroup lavc_resample Audio resampling + * @ingroup libavc + * @deprecated use libswresample instead + * + * @{ + */ +struct ReSampleContext; +struct AVResampleContext; + +typedef struct ReSampleContext ReSampleContext; + +/** + * Initialize audio resampling context. + * + * @param output_channels number of output channels + * @param input_channels number of input channels + * @param output_rate output sample rate + * @param input_rate input sample rate + * @param sample_fmt_out requested output sample format + * @param sample_fmt_in input sample format + * @param filter_length length of each FIR filter in the filterbank relative to the cutoff frequency + * @param log2_phase_count log2 of the number of entries in the polyphase filterbank + * @param linear if 1 then the used FIR filter will be linearly interpolated + between the 2 closest, if 0 the closest will be used + * @param cutoff cutoff frequency, 1.0 corresponds to half the output sampling rate + * @return allocated ReSampleContext, NULL if error occurred + */ +attribute_deprecated +ReSampleContext *av_audio_resample_init(int output_channels, int input_channels, + int output_rate, int input_rate, + enum AVSampleFormat sample_fmt_out, + enum AVSampleFormat sample_fmt_in, + int filter_length, int log2_phase_count, + int linear, double cutoff); + +attribute_deprecated +int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples); + +/** + * Free resample context. + * + * @param s a non-NULL pointer to a resample context previously + * created with av_audio_resample_init() + */ +attribute_deprecated +void audio_resample_close(ReSampleContext *s); + + +/** + * Initialize an audio resampler. + * Note, if either rate is not an integer then simply scale both rates up so they are. + * @param filter_length length of each FIR filter in the filterbank relative to the cutoff freq + * @param log2_phase_count log2 of the number of entries in the polyphase filterbank + * @param linear If 1 then the used FIR filter will be linearly interpolated + between the 2 closest, if 0 the closest will be used + * @param cutoff cutoff frequency, 1.0 corresponds to half the output sampling rate + */ +attribute_deprecated +struct AVResampleContext *av_resample_init(int out_rate, int in_rate, int filter_length, int log2_phase_count, int linear, double cutoff); + +/** + * Resample an array of samples using a previously configured context. + * @param src an array of unconsumed samples + * @param consumed the number of samples of src which have been consumed are returned here + * @param src_size the number of unconsumed samples available + * @param dst_size the amount of space in samples available in dst + * @param update_ctx If this is 0 then the context will not be modified, that way several channels can be resampled with the same context. + * @return the number of samples written in dst or -1 if an error occurred + */ +attribute_deprecated +int av_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx); + + +/** + * Compensate samplerate/timestamp drift. The compensation is done by changing + * the resampler parameters, so no audible clicks or similar distortions occur + * @param compensation_distance distance in output samples over which the compensation should be performed + * @param sample_delta number of output samples which should be output less + * + * example: av_resample_compensate(c, 10, 500) + * here instead of 510 samples only 500 samples would be output + * + * note, due to rounding the actual compensation might be slightly different, + * especially if the compensation_distance is large and the in_rate used during init is small + */ +attribute_deprecated +void av_resample_compensate(struct AVResampleContext *c, int sample_delta, int compensation_distance); +attribute_deprecated +void av_resample_close(struct AVResampleContext *c); + +/** + * @} + */ +#endif + +#if FF_API_AVPICTURE +/** + * @addtogroup lavc_picture + * @{ + */ + +/** + * @deprecated unused + */ +attribute_deprecated +int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height); + +/** + * @deprecated unused + */ +attribute_deprecated +void avpicture_free(AVPicture *picture); + +/** + * @deprecated use av_image_fill_arrays() instead. + */ +attribute_deprecated +int avpicture_fill(AVPicture *picture, const uint8_t *ptr, + enum AVPixelFormat pix_fmt, int width, int height); + +/** + * @deprecated use av_image_copy_to_buffer() instead. + */ +attribute_deprecated +int avpicture_layout(const AVPicture *src, enum AVPixelFormat pix_fmt, + int width, int height, + unsigned char *dest, int dest_size); + +/** + * @deprecated use av_image_get_buffer_size() instead. + */ +attribute_deprecated +int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height); + +/** + * @deprecated av_image_copy() instead. + */ +attribute_deprecated +void av_picture_copy(AVPicture *dst, const AVPicture *src, + enum AVPixelFormat pix_fmt, int width, int height); + +/** + * @deprecated unused + */ +attribute_deprecated +int av_picture_crop(AVPicture *dst, const AVPicture *src, + enum AVPixelFormat pix_fmt, int top_band, int left_band); + +/** + * @deprecated unused + */ +attribute_deprecated +int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, enum AVPixelFormat pix_fmt, + int padtop, int padbottom, int padleft, int padright, int *color); + +/** + * @} + */ +#endif + +/** + * @defgroup lavc_misc Utility functions + * @ingroup libavc + * + * Miscellaneous utility functions related to both encoding and decoding + * (or neither). + * @{ + */ + +/** + * @defgroup lavc_misc_pixfmt Pixel formats + * + * Functions for working with pixel formats. + * @{ + */ + +#if FF_API_GETCHROMA +/** + * @deprecated Use av_pix_fmt_get_chroma_sub_sample + */ + +attribute_deprecated +void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift); +#endif + +/** + * Return a value representing the fourCC code associated to the + * pixel format pix_fmt, or 0 if no associated fourCC code can be + * found. + */ +unsigned int avcodec_pix_fmt_to_codec_tag(enum AVPixelFormat pix_fmt); + +/** + * @deprecated see av_get_pix_fmt_loss() + */ +int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, + int has_alpha); + +/** + * Find the best pixel format to convert to given a certain source pixel + * format. When converting from one pixel format to another, information loss + * may occur. For example, when converting from RGB24 to GRAY, the color + * information will be lost. Similarly, other losses occur when converting from + * some formats to other formats. avcodec_find_best_pix_fmt_of_2() searches which of + * the given pixel formats should be used to suffer the least amount of loss. + * The pixel formats from which it chooses one, are determined by the + * pix_fmt_list parameter. + * + * + * @param[in] pix_fmt_list AV_PIX_FMT_NONE terminated array of pixel formats to choose from + * @param[in] src_pix_fmt source pixel format + * @param[in] has_alpha Whether the source pixel format alpha channel is used. + * @param[out] loss_ptr Combination of flags informing you what kind of losses will occur. + * @return The best pixel format to convert to or -1 if none was found. + */ +enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *pix_fmt_list, + enum AVPixelFormat src_pix_fmt, + int has_alpha, int *loss_ptr); + +/** + * @deprecated see av_find_best_pix_fmt_of_2() + */ +enum AVPixelFormat avcodec_find_best_pix_fmt_of_2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, + enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr); + +attribute_deprecated +enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, + enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr); + +enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum AVPixelFormat * fmt); + +/** + * @} + */ + +#if FF_API_SET_DIMENSIONS +/** + * @deprecated this function is not supposed to be used from outside of lavc + */ +attribute_deprecated +void avcodec_set_dimensions(AVCodecContext *s, int width, int height); +#endif + +#if FF_API_TAG_STRING +/** + * Put a string representing the codec tag codec_tag in buf. + * + * @param buf buffer to place codec tag in + * @param buf_size size in bytes of buf + * @param codec_tag codec tag to assign + * @return the length of the string that would have been generated if + * enough space had been available, excluding the trailing null + * + * @deprecated see av_fourcc_make_string() and av_fourcc2str(). + */ +attribute_deprecated +size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag); +#endif + +void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode); + +/** + * Return a name for the specified profile, if available. + * + * @param codec the codec that is searched for the given profile + * @param profile the profile value for which a name is requested + * @return A name for the profile if found, NULL otherwise. + */ +const char *av_get_profile_name(const AVCodec *codec, int profile); + +/** + * Return a name for the specified profile, if available. + * + * @param codec_id the ID of the codec to which the requested profile belongs + * @param profile the profile value for which a name is requested + * @return A name for the profile if found, NULL otherwise. + * + * @note unlike av_get_profile_name(), which searches a list of profiles + * supported by a specific decoder or encoder implementation, this + * function searches the list of profiles from the AVCodecDescriptor + */ +const char *avcodec_profile_name(enum AVCodecID codec_id, int profile); + +int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2),void *arg, int *ret, int count, int size); +int avcodec_default_execute2(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2, int, int),void *arg, int *ret, int count); +//FIXME func typedef + +/** + * Fill AVFrame audio data and linesize pointers. + * + * The buffer buf must be a preallocated buffer with a size big enough + * to contain the specified samples amount. The filled AVFrame data + * pointers will point to this buffer. + * + * AVFrame extended_data channel pointers are allocated if necessary for + * planar audio. + * + * @param frame the AVFrame + * frame->nb_samples must be set prior to calling the + * function. This function fills in frame->data, + * frame->extended_data, frame->linesize[0]. + * @param nb_channels channel count + * @param sample_fmt sample format + * @param buf buffer to use for frame data + * @param buf_size size of buffer + * @param align plane size sample alignment (0 = default) + * @return >=0 on success, negative error code on failure + * @todo return the size in bytes required to store the samples in + * case of success, at the next libavutil bump + */ +int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels, + enum AVSampleFormat sample_fmt, const uint8_t *buf, + int buf_size, int align); + +/** + * Reset the internal decoder state / flush internal buffers. Should be called + * e.g. when seeking or when switching to a different stream. + * + * @note when refcounted frames are not used (i.e. avctx->refcounted_frames is 0), + * this invalidates the frames previously returned from the decoder. When + * refcounted frames are used, the decoder just releases any references it might + * keep internally, but the caller's reference remains valid. + */ +void avcodec_flush_buffers(AVCodecContext *avctx); + +/** + * Return codec bits per sample. + * + * @param[in] codec_id the codec + * @return Number of bits per sample or zero if unknown for the given codec. + */ +int av_get_bits_per_sample(enum AVCodecID codec_id); + +/** + * Return the PCM codec associated with a sample format. + * @param be endianness, 0 for little, 1 for big, + * -1 (or anything else) for native + * @return AV_CODEC_ID_PCM_* or AV_CODEC_ID_NONE + */ +enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be); + +/** + * Return codec bits per sample. + * Only return non-zero if the bits per sample is exactly correct, not an + * approximation. + * + * @param[in] codec_id the codec + * @return Number of bits per sample or zero if unknown for the given codec. + */ +int av_get_exact_bits_per_sample(enum AVCodecID codec_id); + +/** + * Return audio frame duration. + * + * @param avctx codec context + * @param frame_bytes size of the frame, or 0 if unknown + * @return frame duration, in samples, if known. 0 if not able to + * determine. + */ +int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes); + +/** + * This function is the same as av_get_audio_frame_duration(), except it works + * with AVCodecParameters instead of an AVCodecContext. + */ +int av_get_audio_frame_duration2(AVCodecParameters *par, int frame_bytes); + +#if FF_API_OLD_BSF +typedef struct AVBitStreamFilterContext { + void *priv_data; + const struct AVBitStreamFilter *filter; + AVCodecParserContext *parser; + struct AVBitStreamFilterContext *next; + /** + * Internal default arguments, used if NULL is passed to av_bitstream_filter_filter(). + * Not for access by library users. + */ + char *args; +} AVBitStreamFilterContext; +#endif + +typedef struct AVBSFInternal AVBSFInternal; + +/** + * The bitstream filter state. + * + * This struct must be allocated with av_bsf_alloc() and freed with + * av_bsf_free(). + * + * The fields in the struct will only be changed (by the caller or by the + * filter) as described in their documentation, and are to be considered + * immutable otherwise. + */ +typedef struct AVBSFContext { + /** + * A class for logging and AVOptions + */ + const AVClass *av_class; + + /** + * The bitstream filter this context is an instance of. + */ + const struct AVBitStreamFilter *filter; + + /** + * Opaque libavcodec internal data. Must not be touched by the caller in any + * way. + */ + AVBSFInternal *internal; + + /** + * Opaque filter-specific private data. If filter->priv_class is non-NULL, + * this is an AVOptions-enabled struct. + */ + void *priv_data; + + /** + * Parameters of the input stream. This field is allocated in + * av_bsf_alloc(), it needs to be filled by the caller before + * av_bsf_init(). + */ + AVCodecParameters *par_in; + + /** + * Parameters of the output stream. This field is allocated in + * av_bsf_alloc(), it is set by the filter in av_bsf_init(). + */ + AVCodecParameters *par_out; + + /** + * The timebase used for the timestamps of the input packets. Set by the + * caller before av_bsf_init(). + */ + AVRational time_base_in; + + /** + * The timebase used for the timestamps of the output packets. Set by the + * filter in av_bsf_init(). + */ + AVRational time_base_out; +} AVBSFContext; + +typedef struct AVBitStreamFilter { + const char *name; + + /** + * A list of codec ids supported by the filter, terminated by + * AV_CODEC_ID_NONE. + * May be NULL, in that case the bitstream filter works with any codec id. + */ + const enum AVCodecID *codec_ids; + + /** + * A class for the private data, used to declare bitstream filter private + * AVOptions. This field is NULL for bitstream filters that do not declare + * any options. + * + * If this field is non-NULL, the first member of the filter private data + * must be a pointer to AVClass, which will be set by libavcodec generic + * code to this class. + */ + const AVClass *priv_class; + + /***************************************************************** + * No fields below this line are part of the public API. They + * may not be used outside of libavcodec and can be changed and + * removed at will. + * New public fields should be added right above. + ***************************************************************** + */ + + int priv_data_size; + int (*init)(AVBSFContext *ctx); + int (*filter)(AVBSFContext *ctx, AVPacket *pkt); + void (*close)(AVBSFContext *ctx); +} AVBitStreamFilter; + +#if FF_API_OLD_BSF +/** + * Register a bitstream filter. + * + * The filter will be accessible to the application code through + * av_bitstream_filter_next() or can be directly initialized with + * av_bitstream_filter_init(). + * + * @see avcodec_register_all() + */ +attribute_deprecated +void av_register_bitstream_filter(AVBitStreamFilter *bsf); + +/** + * Create and initialize a bitstream filter context given a bitstream + * filter name. + * + * The returned context must be freed with av_bitstream_filter_close(). + * + * @param name the name of the bitstream filter + * @return a bitstream filter context if a matching filter was found + * and successfully initialized, NULL otherwise + */ +attribute_deprecated +AVBitStreamFilterContext *av_bitstream_filter_init(const char *name); + +/** + * Filter bitstream. + * + * This function filters the buffer buf with size buf_size, and places the + * filtered buffer in the buffer pointed to by poutbuf. + * + * The output buffer must be freed by the caller. + * + * @param bsfc bitstream filter context created by av_bitstream_filter_init() + * @param avctx AVCodecContext accessed by the filter, may be NULL. + * If specified, this must point to the encoder context of the + * output stream the packet is sent to. + * @param args arguments which specify the filter configuration, may be NULL + * @param poutbuf pointer which is updated to point to the filtered buffer + * @param poutbuf_size pointer which is updated to the filtered buffer size in bytes + * @param buf buffer containing the data to filter + * @param buf_size size in bytes of buf + * @param keyframe set to non-zero if the buffer to filter corresponds to a key-frame packet data + * @return >= 0 in case of success, or a negative error code in case of failure + * + * If the return value is positive, an output buffer is allocated and + * is available in *poutbuf, and is distinct from the input buffer. + * + * If the return value is 0, the output buffer is not allocated and + * should be considered identical to the input buffer, or in case + * *poutbuf was set it points to the input buffer (not necessarily to + * its starting address). A special case is if *poutbuf was set to NULL and + * *poutbuf_size was set to 0, which indicates the packet should be dropped. + */ +attribute_deprecated +int av_bitstream_filter_filter(AVBitStreamFilterContext *bsfc, + AVCodecContext *avctx, const char *args, + uint8_t **poutbuf, int *poutbuf_size, + const uint8_t *buf, int buf_size, int keyframe); + +/** + * Release bitstream filter context. + * + * @param bsf the bitstream filter context created with + * av_bitstream_filter_init(), can be NULL + */ +attribute_deprecated +void av_bitstream_filter_close(AVBitStreamFilterContext *bsf); + +/** + * If f is NULL, return the first registered bitstream filter, + * if f is non-NULL, return the next registered bitstream filter + * after f, or NULL if f is the last one. + * + * This function can be used to iterate over all registered bitstream + * filters. + */ +attribute_deprecated +AVBitStreamFilter *av_bitstream_filter_next(const AVBitStreamFilter *f); +#endif + +/** + * @return a bitstream filter with the specified name or NULL if no such + * bitstream filter exists. + */ +const AVBitStreamFilter *av_bsf_get_by_name(const char *name); + +/** + * Iterate over all registered bitstream filters. + * + * @param opaque a pointer where libavcodec will store the iteration state. Must + * point to NULL to start the iteration. + * + * @return the next registered bitstream filter or NULL when the iteration is + * finished + */ +const AVBitStreamFilter *av_bsf_next(void **opaque); + +/** + * Allocate a context for a given bitstream filter. The caller must fill in the + * context parameters as described in the documentation and then call + * av_bsf_init() before sending any data to the filter. + * + * @param filter the filter for which to allocate an instance. + * @param ctx a pointer into which the pointer to the newly-allocated context + * will be written. It must be freed with av_bsf_free() after the + * filtering is done. + * + * @return 0 on success, a negative AVERROR code on failure + */ +int av_bsf_alloc(const AVBitStreamFilter *filter, AVBSFContext **ctx); + +/** + * Prepare the filter for use, after all the parameters and options have been + * set. + */ +int av_bsf_init(AVBSFContext *ctx); + +/** + * Submit a packet for filtering. + * + * After sending each packet, the filter must be completely drained by calling + * av_bsf_receive_packet() repeatedly until it returns AVERROR(EAGAIN) or + * AVERROR_EOF. + * + * @param pkt the packet to filter. The bitstream filter will take ownership of + * the packet and reset the contents of pkt. pkt is not touched if an error occurs. + * This parameter may be NULL, which signals the end of the stream (i.e. no more + * packets will be sent). That will cause the filter to output any packets it + * may have buffered internally. + * + * @return 0 on success, a negative AVERROR on error. + */ +int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt); + +/** + * Retrieve a filtered packet. + * + * @param[out] pkt this struct will be filled with the contents of the filtered + * packet. It is owned by the caller and must be freed using + * av_packet_unref() when it is no longer needed. + * This parameter should be "clean" (i.e. freshly allocated + * with av_packet_alloc() or unreffed with av_packet_unref()) + * when this function is called. If this function returns + * successfully, the contents of pkt will be completely + * overwritten by the returned data. On failure, pkt is not + * touched. + * + * @return 0 on success. AVERROR(EAGAIN) if more packets need to be sent to the + * filter (using av_bsf_send_packet()) to get more output. AVERROR_EOF if there + * will be no further output from the filter. Another negative AVERROR value if + * an error occurs. + * + * @note one input packet may result in several output packets, so after sending + * a packet with av_bsf_send_packet(), this function needs to be called + * repeatedly until it stops returning 0. It is also possible for a filter to + * output fewer packets than were sent to it, so this function may return + * AVERROR(EAGAIN) immediately after a successful av_bsf_send_packet() call. + */ +int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt); + +/** + * Free a bitstream filter context and everything associated with it; write NULL + * into the supplied pointer. + */ +void av_bsf_free(AVBSFContext **ctx); + +/** + * Get the AVClass for AVBSFContext. It can be used in combination with + * AV_OPT_SEARCH_FAKE_OBJ for examining options. + * + * @see av_opt_find(). + */ +const AVClass *av_bsf_get_class(void); + +/** + * Structure for chain/list of bitstream filters. + * Empty list can be allocated by av_bsf_list_alloc(). + */ +typedef struct AVBSFList AVBSFList; + +/** + * Allocate empty list of bitstream filters. + * The list must be later freed by av_bsf_list_free() + * or finalized by av_bsf_list_finalize(). + * + * @return Pointer to @ref AVBSFList on success, NULL in case of failure + */ +AVBSFList *av_bsf_list_alloc(void); + +/** + * Free list of bitstream filters. + * + * @param lst Pointer to pointer returned by av_bsf_list_alloc() + */ +void av_bsf_list_free(AVBSFList **lst); + +/** + * Append bitstream filter to the list of bitstream filters. + * + * @param lst List to append to + * @param bsf Filter context to be appended + * + * @return >=0 on success, negative AVERROR in case of failure + */ +int av_bsf_list_append(AVBSFList *lst, AVBSFContext *bsf); + +/** + * Construct new bitstream filter context given it's name and options + * and append it to the list of bitstream filters. + * + * @param lst List to append to + * @param bsf_name Name of the bitstream filter + * @param options Options for the bitstream filter, can be set to NULL + * + * @return >=0 on success, negative AVERROR in case of failure + */ +int av_bsf_list_append2(AVBSFList *lst, const char * bsf_name, AVDictionary **options); +/** + * Finalize list of bitstream filters. + * + * This function will transform @ref AVBSFList to single @ref AVBSFContext, + * so the whole chain of bitstream filters can be treated as single filter + * freshly allocated by av_bsf_alloc(). + * If the call is successful, @ref AVBSFList structure is freed and lst + * will be set to NULL. In case of failure, caller is responsible for + * freeing the structure by av_bsf_list_free() + * + * @param lst Filter list structure to be transformed + * @param[out] bsf Pointer to be set to newly created @ref AVBSFContext structure + * representing the chain of bitstream filters + * + * @return >=0 on success, negative AVERROR in case of failure + */ +int av_bsf_list_finalize(AVBSFList **lst, AVBSFContext **bsf); + +/** + * Parse string describing list of bitstream filters and create single + * @ref AVBSFContext describing the whole chain of bitstream filters. + * Resulting @ref AVBSFContext can be treated as any other @ref AVBSFContext freshly + * allocated by av_bsf_alloc(). + * + * @param str String describing chain of bitstream filters in format + * `bsf1[=opt1=val1:opt2=val2][,bsf2]` + * @param[out] bsf Pointer to be set to newly created @ref AVBSFContext structure + * representing the chain of bitstream filters + * + * @return >=0 on success, negative AVERROR in case of failure + */ +int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf); + +/** + * Get null/pass-through bitstream filter. + * + * @param[out] bsf Pointer to be set to new instance of pass-through bitstream filter + * + * @return + */ +int av_bsf_get_null_filter(AVBSFContext **bsf); + +/* memory */ + +/** + * Same behaviour av_fast_malloc but the buffer has additional + * AV_INPUT_BUFFER_PADDING_SIZE at the end which will always be 0. + * + * In addition the whole buffer will initially and after resizes + * be 0-initialized so that no uninitialized data will ever appear. + */ +void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size); + +/** + * Same behaviour av_fast_padded_malloc except that buffer will always + * be 0-initialized after call. + */ +void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size); + +/** + * Encode extradata length to a buffer. Used by xiph codecs. + * + * @param s buffer to write to; must be at least (v/255+1) bytes long + * @param v size of extradata in bytes + * @return number of bytes written to the buffer. + */ +unsigned int av_xiphlacing(unsigned char *s, unsigned int v); + +#if FF_API_MISSING_SAMPLE +/** + * Log a generic warning message about a missing feature. This function is + * intended to be used internally by FFmpeg (libavcodec, libavformat, etc.) + * only, and would normally not be used by applications. + * @param[in] avc a pointer to an arbitrary struct of which the first field is + * a pointer to an AVClass struct + * @param[in] feature string containing the name of the missing feature + * @param[in] want_sample indicates if samples are wanted which exhibit this feature. + * If want_sample is non-zero, additional verbiage will be added to the log + * message which tells the user how to report samples to the development + * mailing list. + * @deprecated Use avpriv_report_missing_feature() instead. + */ +attribute_deprecated +void av_log_missing_feature(void *avc, const char *feature, int want_sample); + +/** + * Log a generic warning message asking for a sample. This function is + * intended to be used internally by FFmpeg (libavcodec, libavformat, etc.) + * only, and would normally not be used by applications. + * @param[in] avc a pointer to an arbitrary struct of which the first field is + * a pointer to an AVClass struct + * @param[in] msg string containing an optional message, or NULL if no message + * @deprecated Use avpriv_request_sample() instead. + */ +attribute_deprecated +void av_log_ask_for_sample(void *avc, const char *msg, ...) av_printf_format(2, 3); +#endif /* FF_API_MISSING_SAMPLE */ + +/** + * Register the hardware accelerator hwaccel. + */ +void av_register_hwaccel(AVHWAccel *hwaccel); + +/** + * If hwaccel is NULL, returns the first registered hardware accelerator, + * if hwaccel is non-NULL, returns the next registered hardware accelerator + * after hwaccel, or NULL if hwaccel is the last one. + */ +AVHWAccel *av_hwaccel_next(const AVHWAccel *hwaccel); + + +/** + * Lock operation used by lockmgr + */ +enum AVLockOp { + AV_LOCK_CREATE, ///< Create a mutex + AV_LOCK_OBTAIN, ///< Lock the mutex + AV_LOCK_RELEASE, ///< Unlock the mutex + AV_LOCK_DESTROY, ///< Free mutex resources +}; + +/** + * Register a user provided lock manager supporting the operations + * specified by AVLockOp. The "mutex" argument to the function points + * to a (void *) where the lockmgr should store/get a pointer to a user + * allocated mutex. It is NULL upon AV_LOCK_CREATE and equal to the + * value left by the last call for all other ops. If the lock manager is + * unable to perform the op then it should leave the mutex in the same + * state as when it was called and return a non-zero value. However, + * when called with AV_LOCK_DESTROY the mutex will always be assumed to + * have been successfully destroyed. If av_lockmgr_register succeeds + * it will return a non-negative value, if it fails it will return a + * negative value and destroy all mutex and unregister all callbacks. + * av_lockmgr_register is not thread-safe, it must be called from a + * single thread before any calls which make use of locking are used. + * + * @param cb User defined callback. av_lockmgr_register invokes calls + * to this callback and the previously registered callback. + * The callback will be used to create more than one mutex + * each of which must be backed by its own underlying locking + * mechanism (i.e. do not use a single static object to + * implement your lock manager). If cb is set to NULL the + * lockmgr will be unregistered. + */ +int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op)); + +/** + * Get the type of the given codec. + */ +enum AVMediaType avcodec_get_type(enum AVCodecID codec_id); + +/** + * Get the name of a codec. + * @return a static string identifying the codec; never NULL + */ +const char *avcodec_get_name(enum AVCodecID id); + +/** + * @return a positive value if s is open (i.e. avcodec_open2() was called on it + * with no corresponding avcodec_close()), 0 otherwise. + */ +int avcodec_is_open(AVCodecContext *s); + +/** + * @return a non-zero number if codec is an encoder, zero otherwise + */ +int av_codec_is_encoder(const AVCodec *codec); + +/** + * @return a non-zero number if codec is a decoder, zero otherwise + */ +int av_codec_is_decoder(const AVCodec *codec); + +/** + * @return descriptor for given codec ID or NULL if no descriptor exists. + */ +const AVCodecDescriptor *avcodec_descriptor_get(enum AVCodecID id); + +/** + * Iterate over all codec descriptors known to libavcodec. + * + * @param prev previous descriptor. NULL to get the first descriptor. + * + * @return next descriptor or NULL after the last descriptor + */ +const AVCodecDescriptor *avcodec_descriptor_next(const AVCodecDescriptor *prev); + +/** + * @return codec descriptor with the given name or NULL if no such descriptor + * exists. + */ +const AVCodecDescriptor *avcodec_descriptor_get_by_name(const char *name); + +/** + * Allocate a CPB properties structure and initialize its fields to default + * values. + * + * @param size if non-NULL, the size of the allocated struct will be written + * here. This is useful for embedding it in side data. + * + * @return the newly allocated struct or NULL on failure + */ +AVCPBProperties *av_cpb_properties_alloc(size_t *size); + +/** + * @} + */ + +#endif /* AVCODEC_AVCODEC_H */ diff --git a/src/3rdparty/win32_include/libavcodec/avdct.h b/src/3rdparty/win32_include/libavcodec/avdct.h new file mode 100644 index 000000000..272422e44 --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/avdct.h @@ -0,0 +1,84 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_AVDCT_H +#define AVCODEC_AVDCT_H + +#include "libavutil/opt.h" + +/** + * AVDCT context. + * @note function pointers can be NULL if the specific features have been + * disabled at build time. + */ +typedef struct AVDCT { + const AVClass *av_class; + + void (*idct)(int16_t *block /* align 16 */); + + /** + * IDCT input permutation. + * Several optimized IDCTs need a permutated input (relative to the + * normal order of the reference IDCT). + * This permutation must be performed before the idct_put/add. + * Note, normally this can be merged with the zigzag/alternate scan
    + * An example to avoid confusion: + * - (->decode coeffs -> zigzag reorder -> dequant -> reference IDCT -> ...) + * - (x -> reference DCT -> reference IDCT -> x) + * - (x -> reference DCT -> simple_mmx_perm = idct_permutation + * -> simple_idct_mmx -> x) + * - (-> decode coeffs -> zigzag reorder -> simple_mmx_perm -> dequant + * -> simple_idct_mmx -> ...) + */ + uint8_t idct_permutation[64]; + + void (*fdct)(int16_t *block /* align 16 */); + + + /** + * DCT algorithm. + * must use AVOptions to set this field. + */ + int dct_algo; + + /** + * IDCT algorithm. + * must use AVOptions to set this field. + */ + int idct_algo; + + void (*get_pixels)(int16_t *block /* align 16 */, + const uint8_t *pixels /* align 8 */, + ptrdiff_t line_size); + + int bits_per_sample; +} AVDCT; + +/** + * Allocates a AVDCT context. + * This needs to be initialized with avcodec_dct_init() after optionally + * configuring it with AVOptions. + * + * To free it use av_free() + */ +AVDCT *avcodec_dct_alloc(void); +int avcodec_dct_init(AVDCT *); + +const AVClass *avcodec_dct_get_class(void); + +#endif /* AVCODEC_AVDCT_H */ diff --git a/src/3rdparty/win32_include/libavcodec/avfft.h b/src/3rdparty/win32_include/libavcodec/avfft.h new file mode 100644 index 000000000..0c0f9b8d8 --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/avfft.h @@ -0,0 +1,118 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_AVFFT_H +#define AVCODEC_AVFFT_H + +/** + * @file + * @ingroup lavc_fft + * FFT functions + */ + +/** + * @defgroup lavc_fft FFT functions + * @ingroup lavc_misc + * + * @{ + */ + +typedef float FFTSample; + +typedef struct FFTComplex { + FFTSample re, im; +} FFTComplex; + +typedef struct FFTContext FFTContext; + +/** + * Set up a complex FFT. + * @param nbits log2 of the length of the input array + * @param inverse if 0 perform the forward transform, if 1 perform the inverse + */ +FFTContext *av_fft_init(int nbits, int inverse); + +/** + * Do the permutation needed BEFORE calling ff_fft_calc(). + */ +void av_fft_permute(FFTContext *s, FFTComplex *z); + +/** + * Do a complex FFT with the parameters defined in av_fft_init(). The + * input data must be permuted before. No 1.0/sqrt(n) normalization is done. + */ +void av_fft_calc(FFTContext *s, FFTComplex *z); + +void av_fft_end(FFTContext *s); + +FFTContext *av_mdct_init(int nbits, int inverse, double scale); +void av_imdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input); +void av_imdct_half(FFTContext *s, FFTSample *output, const FFTSample *input); +void av_mdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input); +void av_mdct_end(FFTContext *s); + +/* Real Discrete Fourier Transform */ + +enum RDFTransformType { + DFT_R2C, + IDFT_C2R, + IDFT_R2C, + DFT_C2R, +}; + +typedef struct RDFTContext RDFTContext; + +/** + * Set up a real FFT. + * @param nbits log2 of the length of the input array + * @param trans the type of transform + */ +RDFTContext *av_rdft_init(int nbits, enum RDFTransformType trans); +void av_rdft_calc(RDFTContext *s, FFTSample *data); +void av_rdft_end(RDFTContext *s); + +/* Discrete Cosine Transform */ + +typedef struct DCTContext DCTContext; + +enum DCTTransformType { + DCT_II = 0, + DCT_III, + DCT_I, + DST_I, +}; + +/** + * Set up DCT. + * + * @param nbits size of the input array: + * (1 << nbits) for DCT-II, DCT-III and DST-I + * (1 << nbits) + 1 for DCT-I + * @param type the type of transform + * + * @note the first element of the input of DST-I is ignored + */ +DCTContext *av_dct_init(int nbits, enum DCTTransformType type); +void av_dct_calc(DCTContext *s, FFTSample *data); +void av_dct_end (DCTContext *s); + +/** + * @} + */ + +#endif /* AVCODEC_AVFFT_H */ diff --git a/src/3rdparty/win32_include/libavcodec/d3d11va.h b/src/3rdparty/win32_include/libavcodec/d3d11va.h new file mode 100644 index 000000000..6816b6c1e --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/d3d11va.h @@ -0,0 +1,112 @@ +/* + * Direct3D11 HW acceleration + * + * copyright (c) 2009 Laurent Aimar + * copyright (c) 2015 Steve Lhomme + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_D3D11VA_H +#define AVCODEC_D3D11VA_H + +/** + * @file + * @ingroup lavc_codec_hwaccel_d3d11va + * Public libavcodec D3D11VA header. + */ + +#if !defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0602 +#undef _WIN32_WINNT +#define _WIN32_WINNT 0x0602 +#endif + +#include +#include + +/** + * @defgroup lavc_codec_hwaccel_d3d11va Direct3D11 + * @ingroup lavc_codec_hwaccel + * + * @{ + */ + +#define FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG 1 ///< Work around for Direct3D11 and old UVD/UVD+ ATI video cards +#define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO 2 ///< Work around for Direct3D11 and old Intel GPUs with ClearVideo interface + +/** + * This structure is used to provides the necessary configurations and data + * to the Direct3D11 FFmpeg HWAccel implementation. + * + * The application must make it available as AVCodecContext.hwaccel_context. + * + * Use av_d3d11va_alloc_context() exclusively to allocate an AVD3D11VAContext. + */ +typedef struct AVD3D11VAContext { + /** + * D3D11 decoder object + */ + ID3D11VideoDecoder *decoder; + + /** + * D3D11 VideoContext + */ + ID3D11VideoContext *video_context; + + /** + * D3D11 configuration used to create the decoder + */ + D3D11_VIDEO_DECODER_CONFIG *cfg; + + /** + * The number of surface in the surface array + */ + unsigned surface_count; + + /** + * The array of Direct3D surfaces used to create the decoder + */ + ID3D11VideoDecoderOutputView **surface; + + /** + * A bit field configuring the workarounds needed for using the decoder + */ + uint64_t workaround; + + /** + * Private to the FFmpeg AVHWAccel implementation + */ + unsigned report_id; + + /** + * Mutex to access video_context + */ + HANDLE context_mutex; +} AVD3D11VAContext; + +/** + * Allocate an AVD3D11VAContext. + * + * @return Newly-allocated AVD3D11VAContext or NULL on failure. + */ +AVD3D11VAContext *av_d3d11va_alloc_context(void); + +/** + * @} + */ + +#endif /* AVCODEC_D3D11VA_H */ diff --git a/src/3rdparty/win32_include/libavcodec/dirac.h b/src/3rdparty/win32_include/libavcodec/dirac.h new file mode 100644 index 000000000..e6d9d346d --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/dirac.h @@ -0,0 +1,131 @@ +/* + * Copyright (C) 2007 Marco Gerards + * Copyright (C) 2009 David Conrad + * Copyright (C) 2011 Jordi Ortiz + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_DIRAC_H +#define AVCODEC_DIRAC_H + +/** + * @file + * Interface to Dirac Decoder/Encoder + * @author Marco Gerards + * @author David Conrad + * @author Jordi Ortiz + */ + +#include "avcodec.h" + +/** + * The spec limits the number of wavelet decompositions to 4 for both + * level 1 (VC-2) and 128 (long-gop default). + * 5 decompositions is the maximum before >16-bit buffers are needed. + * Schroedinger allows this for DD 9,7 and 13,7 wavelets only, limiting + * the others to 4 decompositions (or 3 for the fidelity filter). + * + * We use this instead of MAX_DECOMPOSITIONS to save some memory. + */ +#define MAX_DWT_LEVELS 5 + +/** + * Parse code values: + * + * Dirac Specification -> + * 9.6.1 Table 9.1 + * + * VC-2 Specification -> + * 10.4.1 Table 10.1 + */ + +enum DiracParseCodes { + DIRAC_PCODE_SEQ_HEADER = 0x00, + DIRAC_PCODE_END_SEQ = 0x10, + DIRAC_PCODE_AUX = 0x20, + DIRAC_PCODE_PAD = 0x30, + DIRAC_PCODE_PICTURE_CODED = 0x08, + DIRAC_PCODE_PICTURE_RAW = 0x48, + DIRAC_PCODE_PICTURE_LOW_DEL = 0xC8, + DIRAC_PCODE_PICTURE_HQ = 0xE8, + DIRAC_PCODE_INTER_NOREF_CO1 = 0x0A, + DIRAC_PCODE_INTER_NOREF_CO2 = 0x09, + DIRAC_PCODE_INTER_REF_CO1 = 0x0D, + DIRAC_PCODE_INTER_REF_CO2 = 0x0E, + DIRAC_PCODE_INTRA_REF_CO = 0x0C, + DIRAC_PCODE_INTRA_REF_RAW = 0x4C, + DIRAC_PCODE_INTRA_REF_PICT = 0xCC, + DIRAC_PCODE_MAGIC = 0x42424344, +}; + +typedef struct DiracVersionInfo { + int major; + int minor; +} DiracVersionInfo; + +typedef struct AVDiracSeqHeader { + unsigned width; + unsigned height; + uint8_t chroma_format; ///< 0: 444 1: 422 2: 420 + + uint8_t interlaced; + uint8_t top_field_first; + + uint8_t frame_rate_index; ///< index into dirac_frame_rate[] + uint8_t aspect_ratio_index; ///< index into dirac_aspect_ratio[] + + uint16_t clean_width; + uint16_t clean_height; + uint16_t clean_left_offset; + uint16_t clean_right_offset; + + uint8_t pixel_range_index; ///< index into dirac_pixel_range_presets[] + uint8_t color_spec_index; ///< index into dirac_color_spec_presets[] + + int profile; + int level; + + AVRational framerate; + AVRational sample_aspect_ratio; + + enum AVPixelFormat pix_fmt; + enum AVColorRange color_range; + enum AVColorPrimaries color_primaries; + enum AVColorTransferCharacteristic color_trc; + enum AVColorSpace colorspace; + + DiracVersionInfo version; + int bit_depth; +} AVDiracSeqHeader; + +/** + * Parse a Dirac sequence header. + * + * @param dsh this function will allocate and fill an AVDiracSeqHeader struct + * and write it into this pointer. The caller must free it with + * av_free(). + * @param buf the data buffer + * @param buf_size the size of the data buffer in bytes + * @param log_ctx if non-NULL, this function will log errors here + * @return 0 on success, a negative AVERROR code on failure + */ +int av_dirac_parse_sequence_header(AVDiracSeqHeader **dsh, + const uint8_t *buf, size_t buf_size, + void *log_ctx); + +#endif /* AVCODEC_DIRAC_H */ diff --git a/src/3rdparty/win32_include/libavcodec/dv_profile.h b/src/3rdparty/win32_include/libavcodec/dv_profile.h new file mode 100644 index 000000000..9380a66f0 --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/dv_profile.h @@ -0,0 +1,83 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_DV_PROFILE_H +#define AVCODEC_DV_PROFILE_H + +#include + +#include "libavutil/pixfmt.h" +#include "libavutil/rational.h" +#include "avcodec.h" + +/* minimum number of bytes to read from a DV stream in order to + * determine the profile */ +#define DV_PROFILE_BYTES (6 * 80) /* 6 DIF blocks */ + + +/* + * AVDVProfile is used to express the differences between various + * DV flavors. For now it's primarily used for differentiating + * 525/60 and 625/50, but the plans are to use it for various + * DV specs as well (e.g. SMPTE314M vs. IEC 61834). + */ +typedef struct AVDVProfile { + int dsf; /* value of the dsf in the DV header */ + int video_stype; /* stype for VAUX source pack */ + int frame_size; /* total size of one frame in bytes */ + int difseg_size; /* number of DIF segments per DIF channel */ + int n_difchan; /* number of DIF channels per frame */ + AVRational time_base; /* 1/framerate */ + int ltc_divisor; /* FPS from the LTS standpoint */ + int height; /* picture height in pixels */ + int width; /* picture width in pixels */ + AVRational sar[2]; /* sample aspect ratios for 4:3 and 16:9 */ + enum AVPixelFormat pix_fmt; /* picture pixel format */ + int bpm; /* blocks per macroblock */ + const uint8_t *block_sizes; /* AC block sizes, in bits */ + int audio_stride; /* size of audio_shuffle table */ + int audio_min_samples[3]; /* min amount of audio samples */ + /* for 48kHz, 44.1kHz and 32kHz */ + int audio_samples_dist[5]; /* how many samples are supposed to be */ + /* in each frame in a 5 frames window */ + const uint8_t (*audio_shuffle)[9]; /* PCM shuffling table */ +} AVDVProfile; + +/** + * Get a DV profile for the provided compressed frame. + * + * @param sys the profile used for the previous frame, may be NULL + * @param frame the compressed data buffer + * @param buf_size size of the buffer in bytes + * @return the DV profile for the supplied data or NULL on failure + */ +const AVDVProfile *av_dv_frame_profile(const AVDVProfile *sys, + const uint8_t *frame, unsigned buf_size); + +/** + * Get a DV profile for the provided stream parameters. + */ +const AVDVProfile *av_dv_codec_profile(int width, int height, enum AVPixelFormat pix_fmt); + +/** + * Get a DV profile for the provided stream parameters. + * The frame rate is used as a best-effort parameter. + */ +const AVDVProfile *av_dv_codec_profile2(int width, int height, enum AVPixelFormat pix_fmt, AVRational frame_rate); + +#endif /* AVCODEC_DV_PROFILE_H */ diff --git a/src/3rdparty/win32_include/libavcodec/dxva2.h b/src/3rdparty/win32_include/libavcodec/dxva2.h new file mode 100644 index 000000000..22c93992f --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/dxva2.h @@ -0,0 +1,93 @@ +/* + * DXVA2 HW acceleration + * + * copyright (c) 2009 Laurent Aimar + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_DXVA2_H +#define AVCODEC_DXVA2_H + +/** + * @file + * @ingroup lavc_codec_hwaccel_dxva2 + * Public libavcodec DXVA2 header. + */ + +#if !defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0602 +#undef _WIN32_WINNT +#define _WIN32_WINNT 0x0602 +#endif + +#include +#include +#include + +/** + * @defgroup lavc_codec_hwaccel_dxva2 DXVA2 + * @ingroup lavc_codec_hwaccel + * + * @{ + */ + +#define FF_DXVA2_WORKAROUND_SCALING_LIST_ZIGZAG 1 ///< Work around for DXVA2 and old UVD/UVD+ ATI video cards +#define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO 2 ///< Work around for DXVA2 and old Intel GPUs with ClearVideo interface + +/** + * This structure is used to provides the necessary configurations and data + * to the DXVA2 FFmpeg HWAccel implementation. + * + * The application must make it available as AVCodecContext.hwaccel_context. + */ +struct dxva_context { + /** + * DXVA2 decoder object + */ + IDirectXVideoDecoder *decoder; + + /** + * DXVA2 configuration used to create the decoder + */ + const DXVA2_ConfigPictureDecode *cfg; + + /** + * The number of surface in the surface array + */ + unsigned surface_count; + + /** + * The array of Direct3D surfaces used to create the decoder + */ + LPDIRECT3DSURFACE9 *surface; + + /** + * A bit field configuring the workarounds needed for using the decoder + */ + uint64_t workaround; + + /** + * Private to the FFmpeg AVHWAccel implementation + */ + unsigned report_id; +}; + +/** + * @} + */ + +#endif /* AVCODEC_DXVA2_H */ diff --git a/src/3rdparty/win32_include/libavcodec/jni.h b/src/3rdparty/win32_include/libavcodec/jni.h new file mode 100644 index 000000000..dd99e9261 --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/jni.h @@ -0,0 +1,46 @@ +/* + * JNI public API functions + * + * Copyright (c) 2015-2016 Matthieu Bouron + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_JNI_H +#define AVCODEC_JNI_H + +/* + * Manually set a Java virtual machine which will be used to retrieve the JNI + * environment. Once a Java VM is set it cannot be changed afterwards, meaning + * you can call multiple times av_jni_set_java_vm with the same Java VM pointer + * however it will error out if you try to set a different Java VM. + * + * @param vm Java virtual machine + * @param log_ctx context used for logging, can be NULL + * @return 0 on success, < 0 otherwise + */ +int av_jni_set_java_vm(void *vm, void *log_ctx); + +/* + * Get the Java virtual machine which has been set with av_jni_set_java_vm. + * + * @param vm Java virtual machine + * @return a pointer to the Java virtual machine + */ +void *av_jni_get_java_vm(void *log_ctx); + +#endif /* AVCODEC_JNI_H */ diff --git a/src/3rdparty/win32_include/libavcodec/mediacodec.h b/src/3rdparty/win32_include/libavcodec/mediacodec.h new file mode 100644 index 000000000..5606d24a1 --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/mediacodec.h @@ -0,0 +1,88 @@ +/* + * Android MediaCodec public API + * + * Copyright (c) 2016 Matthieu Bouron + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_MEDIACODEC_H +#define AVCODEC_MEDIACODEC_H + +#include "libavcodec/avcodec.h" + +/** + * This structure holds a reference to a android/view/Surface object that will + * be used as output by the decoder. + * + */ +typedef struct AVMediaCodecContext { + + /** + * android/view/Surface object reference. + */ + void *surface; + +} AVMediaCodecContext; + +/** + * Allocate and initialize a MediaCodec context. + * + * When decoding with MediaCodec is finished, the caller must free the + * MediaCodec context with av_mediacodec_default_free. + * + * @return a pointer to a newly allocated AVMediaCodecContext on success, NULL otherwise + */ +AVMediaCodecContext *av_mediacodec_alloc_context(void); + +/** + * Convenience function that sets up the MediaCodec context. + * + * @param avctx codec context + * @param ctx MediaCodec context to initialize + * @param surface reference to an android/view/Surface + * @return 0 on success, < 0 otherwise + */ +int av_mediacodec_default_init(AVCodecContext *avctx, AVMediaCodecContext *ctx, void *surface); + +/** + * This function must be called to free the MediaCodec context initialized with + * av_mediacodec_default_init(). + * + * @param avctx codec context + */ +void av_mediacodec_default_free(AVCodecContext *avctx); + +/** + * Opaque structure representing a MediaCodec buffer to render. + */ +typedef struct MediaCodecBuffer AVMediaCodecBuffer; + +/** + * Release a MediaCodec buffer and render it to the surface that is associated + * with the decoder. This function should only be called once on a given + * buffer, once released the underlying buffer returns to the codec, thus + * subsequent calls to this function will have no effect. + * + * @param buffer the buffer to render + * @param render 1 to release and render the buffer to the surface or 0 to + * discard the buffer + * @return 0 on success, < 0 otherwise + */ +int av_mediacodec_release_buffer(AVMediaCodecBuffer *buffer, int render); + +#endif /* AVCODEC_MEDIACODEC_H */ diff --git a/src/3rdparty/win32_include/libavcodec/qsv.h b/src/3rdparty/win32_include/libavcodec/qsv.h new file mode 100644 index 000000000..b77158ec2 --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/qsv.h @@ -0,0 +1,107 @@ +/* + * Intel MediaSDK QSV public API + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_QSV_H +#define AVCODEC_QSV_H + +#include + +#include "libavutil/buffer.h" + +/** + * This struct is used for communicating QSV parameters between libavcodec and + * the caller. It is managed by the caller and must be assigned to + * AVCodecContext.hwaccel_context. + * - decoding: hwaccel_context must be set on return from the get_format() + * callback + * - encoding: hwaccel_context must be set before avcodec_open2() + */ +typedef struct AVQSVContext { + /** + * If non-NULL, the session to use for encoding or decoding. + * Otherwise, libavcodec will try to create an internal session. + */ + mfxSession session; + + /** + * The IO pattern to use. + */ + int iopattern; + + /** + * Extra buffers to pass to encoder or decoder initialization. + */ + mfxExtBuffer **ext_buffers; + int nb_ext_buffers; + + /** + * Encoding only. If this field is set to non-zero by the caller, libavcodec + * will create an mfxExtOpaqueSurfaceAlloc extended buffer and pass it to + * the encoder initialization. This only makes sense if iopattern is also + * set to MFX_IOPATTERN_IN_OPAQUE_MEMORY. + * + * The number of allocated opaque surfaces will be the sum of the number + * required by the encoder and the user-provided value nb_opaque_surfaces. + * The array of the opaque surfaces will be exported to the caller through + * the opaque_surfaces field. + */ + int opaque_alloc; + + /** + * Encoding only, and only if opaque_alloc is set to non-zero. Before + * calling avcodec_open2(), the caller should set this field to the number + * of extra opaque surfaces to allocate beyond what is required by the + * encoder. + * + * On return from avcodec_open2(), this field will be set by libavcodec to + * the total number of allocated opaque surfaces. + */ + int nb_opaque_surfaces; + + /** + * Encoding only, and only if opaque_alloc is set to non-zero. On return + * from avcodec_open2(), this field will be used by libavcodec to export the + * array of the allocated opaque surfaces to the caller, so they can be + * passed to other parts of the pipeline. + * + * The buffer reference exported here is owned and managed by libavcodec, + * the callers should make their own reference with av_buffer_ref() and free + * it with av_buffer_unref() when it is no longer needed. + * + * The buffer data is an nb_opaque_surfaces-sized array of mfxFrameSurface1. + */ + AVBufferRef *opaque_surfaces; + + /** + * Encoding only, and only if opaque_alloc is set to non-zero. On return + * from avcodec_open2(), this field will be set to the surface type used in + * the opaque allocation request. + */ + int opaque_alloc_type; +} AVQSVContext; + +/** + * Allocate a new context. + * + * It must be freed by the caller with av_free(). + */ +AVQSVContext *av_qsv_alloc_context(void); + +#endif /* AVCODEC_QSV_H */ diff --git a/src/3rdparty/win32_include/libavcodec/vaapi.h b/src/3rdparty/win32_include/libavcodec/vaapi.h new file mode 100644 index 000000000..bb2845532 --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/vaapi.h @@ -0,0 +1,195 @@ +/* + * Video Acceleration API (shared data between FFmpeg and the video player) + * HW decode acceleration for MPEG-2, MPEG-4, H.264 and VC-1 + * + * Copyright (C) 2008-2009 Splitted-Desktop Systems + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_VAAPI_H +#define AVCODEC_VAAPI_H + +/** + * @file + * @ingroup lavc_codec_hwaccel_vaapi + * Public libavcodec VA API header. + */ + +#include +#include "libavutil/attributes.h" +#include "version.h" + +#if FF_API_STRUCT_VAAPI_CONTEXT + +/** + * @defgroup lavc_codec_hwaccel_vaapi VA API Decoding + * @ingroup lavc_codec_hwaccel + * @{ + */ + +/** + * This structure is used to share data between the FFmpeg library and + * the client video application. + * This shall be zero-allocated and available as + * AVCodecContext.hwaccel_context. All user members can be set once + * during initialization or through each AVCodecContext.get_buffer() + * function call. In any case, they must be valid prior to calling + * decoding functions. + * + * Deprecated: use AVCodecContext.hw_frames_ctx instead. + */ +struct attribute_deprecated vaapi_context { + /** + * Window system dependent data + * + * - encoding: unused + * - decoding: Set by user + */ + void *display; + + /** + * Configuration ID + * + * - encoding: unused + * - decoding: Set by user + */ + uint32_t config_id; + + /** + * Context ID (video decode pipeline) + * + * - encoding: unused + * - decoding: Set by user + */ + uint32_t context_id; + +#if FF_API_VAAPI_CONTEXT + /** + * VAPictureParameterBuffer ID + * + * - encoding: unused + * - decoding: Set by libavcodec + */ + attribute_deprecated + uint32_t pic_param_buf_id; + + /** + * VAIQMatrixBuffer ID + * + * - encoding: unused + * - decoding: Set by libavcodec + */ + attribute_deprecated + uint32_t iq_matrix_buf_id; + + /** + * VABitPlaneBuffer ID (for VC-1 decoding) + * + * - encoding: unused + * - decoding: Set by libavcodec + */ + attribute_deprecated + uint32_t bitplane_buf_id; + + /** + * Slice parameter/data buffer IDs + * + * - encoding: unused + * - decoding: Set by libavcodec + */ + attribute_deprecated + uint32_t *slice_buf_ids; + + /** + * Number of effective slice buffer IDs to send to the HW + * + * - encoding: unused + * - decoding: Set by libavcodec + */ + attribute_deprecated + unsigned int n_slice_buf_ids; + + /** + * Size of pre-allocated slice_buf_ids + * + * - encoding: unused + * - decoding: Set by libavcodec + */ + attribute_deprecated + unsigned int slice_buf_ids_alloc; + + /** + * Pointer to VASliceParameterBuffers + * + * - encoding: unused + * - decoding: Set by libavcodec + */ + attribute_deprecated + void *slice_params; + + /** + * Size of a VASliceParameterBuffer element + * + * - encoding: unused + * - decoding: Set by libavcodec + */ + attribute_deprecated + unsigned int slice_param_size; + + /** + * Size of pre-allocated slice_params + * + * - encoding: unused + * - decoding: Set by libavcodec + */ + attribute_deprecated + unsigned int slice_params_alloc; + + /** + * Number of slices currently filled in + * + * - encoding: unused + * - decoding: Set by libavcodec + */ + attribute_deprecated + unsigned int slice_count; + + /** + * Pointer to slice data buffer base + * - encoding: unused + * - decoding: Set by libavcodec + */ + attribute_deprecated + const uint8_t *slice_data; + + /** + * Current size of slice data + * + * - encoding: unused + * - decoding: Set by libavcodec + */ + attribute_deprecated + uint32_t slice_data_size; +#endif +}; + +/* @} */ + +#endif /* FF_API_STRUCT_VAAPI_CONTEXT */ + +#endif /* AVCODEC_VAAPI_H */ diff --git a/src/3rdparty/win32_include/libavcodec/vda.h b/src/3rdparty/win32_include/libavcodec/vda.h new file mode 100644 index 000000000..bde14e31d --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/vda.h @@ -0,0 +1,230 @@ +/* + * VDA HW acceleration + * + * copyright (c) 2011 Sebastien Zwickert + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_VDA_H +#define AVCODEC_VDA_H + +/** + * @file + * @ingroup lavc_codec_hwaccel_vda + * Public libavcodec VDA header. + */ + +#include "libavcodec/avcodec.h" + +#include + +// emmintrin.h is unable to compile with -std=c99 -Werror=missing-prototypes +// http://openradar.appspot.com/8026390 +#undef __GNUC_STDC_INLINE__ + +#define Picture QuickdrawPicture +#include +#undef Picture + +#include "libavcodec/version.h" + +// extra flags not defined in VDADecoder.h +enum { + kVDADecodeInfo_Asynchronous = 1UL << 0, + kVDADecodeInfo_FrameDropped = 1UL << 1 +}; + +/** + * @defgroup lavc_codec_hwaccel_vda VDA + * @ingroup lavc_codec_hwaccel + * + * @{ + */ + +/** + * This structure is used to provide the necessary configurations and data + * to the VDA FFmpeg HWAccel implementation. + * + * The application must make it available as AVCodecContext.hwaccel_context. + */ +struct vda_context { + /** + * VDA decoder object. + * + * - encoding: unused + * - decoding: Set/Unset by libavcodec. + */ + VDADecoder decoder; + + /** + * The Core Video pixel buffer that contains the current image data. + * + * encoding: unused + * decoding: Set by libavcodec. Unset by user. + */ + CVPixelBufferRef cv_buffer; + + /** + * Use the hardware decoder in synchronous mode. + * + * encoding: unused + * decoding: Set by user. + */ + int use_sync_decoding; + + /** + * The frame width. + * + * - encoding: unused + * - decoding: Set/Unset by user. + */ + int width; + + /** + * The frame height. + * + * - encoding: unused + * - decoding: Set/Unset by user. + */ + int height; + + /** + * The frame format. + * + * - encoding: unused + * - decoding: Set/Unset by user. + */ + int format; + + /** + * The pixel format for output image buffers. + * + * - encoding: unused + * - decoding: Set/Unset by user. + */ + OSType cv_pix_fmt_type; + + /** + * unused + */ + uint8_t *priv_bitstream; + + /** + * unused + */ + int priv_bitstream_size; + + /** + * unused + */ + int priv_allocated_size; + + /** + * Use av_buffer to manage buffer. + * When the flag is set, the CVPixelBuffers returned by the decoder will + * be released automatically, so you have to retain them if necessary. + * Not setting this flag may cause memory leak. + * + * encoding: unused + * decoding: Set by user. + */ + int use_ref_buffer; +}; + +/** Create the video decoder. */ +int ff_vda_create_decoder(struct vda_context *vda_ctx, + uint8_t *extradata, + int extradata_size); + +/** Destroy the video decoder. */ +int ff_vda_destroy_decoder(struct vda_context *vda_ctx); + +/** + * This struct holds all the information that needs to be passed + * between the caller and libavcodec for initializing VDA decoding. + * Its size is not a part of the public ABI, it must be allocated with + * av_vda_alloc_context() and freed with av_free(). + */ +typedef struct AVVDAContext { + /** + * VDA decoder object. Created and freed by the caller. + */ + VDADecoder decoder; + + /** + * The output callback that must be passed to VDADecoderCreate. + * Set by av_vda_alloc_context(). + */ + VDADecoderOutputCallback output_callback; + + /** + * CVPixelBuffer Format Type that VDA will use for decoded frames; set by + * the caller. + */ + OSType cv_pix_fmt_type; +} AVVDAContext; + +/** + * Allocate and initialize a VDA context. + * + * This function should be called from the get_format() callback when the caller + * selects the AV_PIX_FMT_VDA format. The caller must then create the decoder + * object (using the output callback provided by libavcodec) that will be used + * for VDA-accelerated decoding. + * + * When decoding with VDA is finished, the caller must destroy the decoder + * object and free the VDA context using av_free(). + * + * @return the newly allocated context or NULL on failure + */ +AVVDAContext *av_vda_alloc_context(void); + +/** + * This is a convenience function that creates and sets up the VDA context using + * an internal implementation. + * + * @param avctx the corresponding codec context + * + * @return >= 0 on success, a negative AVERROR code on failure + */ +int av_vda_default_init(AVCodecContext *avctx); + +/** + * This is a convenience function that creates and sets up the VDA context using + * an internal implementation. + * + * @param avctx the corresponding codec context + * @param vdactx the VDA context to use + * + * @return >= 0 on success, a negative AVERROR code on failure + */ +int av_vda_default_init2(AVCodecContext *avctx, AVVDAContext *vdactx); + +/** + * This function must be called to free the VDA context initialized with + * av_vda_default_init(). + * + * @param avctx the corresponding codec context + */ +void av_vda_default_free(AVCodecContext *avctx); + +/** + * @} + */ + +#endif /* AVCODEC_VDA_H */ diff --git a/src/3rdparty/win32_include/libavcodec/vdpau.h b/src/3rdparty/win32_include/libavcodec/vdpau.h new file mode 100644 index 000000000..855d387d9 --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/vdpau.h @@ -0,0 +1,253 @@ +/* + * The Video Decode and Presentation API for UNIX (VDPAU) is used for + * hardware-accelerated decoding of MPEG-1/2, H.264 and VC-1. + * + * Copyright (C) 2008 NVIDIA + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_VDPAU_H +#define AVCODEC_VDPAU_H + +/** + * @file + * @ingroup lavc_codec_hwaccel_vdpau + * Public libavcodec VDPAU header. + */ + + +/** + * @defgroup lavc_codec_hwaccel_vdpau VDPAU Decoder and Renderer + * @ingroup lavc_codec_hwaccel + * + * VDPAU hardware acceleration has two modules + * - VDPAU decoding + * - VDPAU presentation + * + * The VDPAU decoding module parses all headers using FFmpeg + * parsing mechanisms and uses VDPAU for the actual decoding. + * + * As per the current implementation, the actual decoding + * and rendering (API calls) are done as part of the VDPAU + * presentation (vo_vdpau.c) module. + * + * @{ + */ + +#include + +#include "libavutil/avconfig.h" +#include "libavutil/attributes.h" + +#include "avcodec.h" +#include "version.h" + +#if FF_API_BUFS_VDPAU +union AVVDPAUPictureInfo { + VdpPictureInfoH264 h264; + VdpPictureInfoMPEG1Or2 mpeg; + VdpPictureInfoVC1 vc1; + VdpPictureInfoMPEG4Part2 mpeg4; +}; +#endif + +struct AVCodecContext; +struct AVFrame; + +typedef int (*AVVDPAU_Render2)(struct AVCodecContext *, struct AVFrame *, + const VdpPictureInfo *, uint32_t, + const VdpBitstreamBuffer *); + +/** + * This structure is used to share data between the libavcodec library and + * the client video application. + * The user shall allocate the structure via the av_alloc_vdpau_hwaccel + * function and make it available as + * AVCodecContext.hwaccel_context. Members can be set by the user once + * during initialization or through each AVCodecContext.get_buffer() + * function call. In any case, they must be valid prior to calling + * decoding functions. + * + * The size of this structure is not a part of the public ABI and must not + * be used outside of libavcodec. Use av_vdpau_alloc_context() to allocate an + * AVVDPAUContext. + */ +typedef struct AVVDPAUContext { + /** + * VDPAU decoder handle + * + * Set by user. + */ + VdpDecoder decoder; + + /** + * VDPAU decoder render callback + * + * Set by the user. + */ + VdpDecoderRender *render; + +#if FF_API_BUFS_VDPAU + /** + * VDPAU picture information + * + * Set by libavcodec. + */ + attribute_deprecated + union AVVDPAUPictureInfo info; + + /** + * Allocated size of the bitstream_buffers table. + * + * Set by libavcodec. + */ + attribute_deprecated + int bitstream_buffers_allocated; + + /** + * Useful bitstream buffers in the bitstream buffers table. + * + * Set by libavcodec. + */ + attribute_deprecated + int bitstream_buffers_used; + + /** + * Table of bitstream buffers. + * The user is responsible for freeing this buffer using av_freep(). + * + * Set by libavcodec. + */ + attribute_deprecated + VdpBitstreamBuffer *bitstream_buffers; +#endif + AVVDPAU_Render2 render2; +} AVVDPAUContext; + +/** + * @brief allocation function for AVVDPAUContext + * + * Allows extending the struct without breaking API/ABI + */ +AVVDPAUContext *av_alloc_vdpaucontext(void); + +AVVDPAU_Render2 av_vdpau_hwaccel_get_render2(const AVVDPAUContext *); +void av_vdpau_hwaccel_set_render2(AVVDPAUContext *, AVVDPAU_Render2); + +/** + * Associate a VDPAU device with a codec context for hardware acceleration. + * This function is meant to be called from the get_format() codec callback, + * or earlier. It can also be called after avcodec_flush_buffers() to change + * the underlying VDPAU device mid-stream (e.g. to recover from non-transparent + * display preemption). + * + * @note get_format() must return AV_PIX_FMT_VDPAU if this function completes + * successfully. + * + * @param avctx decoding context whose get_format() callback is invoked + * @param device VDPAU device handle to use for hardware acceleration + * @param get_proc_address VDPAU device driver + * @param flags zero of more OR'd AV_HWACCEL_FLAG_* flags + * + * @return 0 on success, an AVERROR code on failure. + */ +int av_vdpau_bind_context(AVCodecContext *avctx, VdpDevice device, + VdpGetProcAddress *get_proc_address, unsigned flags); + +/** + * Gets the parameters to create an adequate VDPAU video surface for the codec + * context using VDPAU hardware decoding acceleration. + * + * @note Behavior is undefined if the context was not successfully bound to a + * VDPAU device using av_vdpau_bind_context(). + * + * @param avctx the codec context being used for decoding the stream + * @param type storage space for the VDPAU video surface chroma type + * (or NULL to ignore) + * @param width storage space for the VDPAU video surface pixel width + * (or NULL to ignore) + * @param height storage space for the VDPAU video surface pixel height + * (or NULL to ignore) + * + * @return 0 on success, a negative AVERROR code on failure. + */ +int av_vdpau_get_surface_parameters(AVCodecContext *avctx, VdpChromaType *type, + uint32_t *width, uint32_t *height); + +/** + * Allocate an AVVDPAUContext. + * + * @return Newly-allocated AVVDPAUContext or NULL on failure. + */ +AVVDPAUContext *av_vdpau_alloc_context(void); + +#if FF_API_VDPAU_PROFILE +/** + * Get a decoder profile that should be used for initializing a VDPAU decoder. + * Should be called from the AVCodecContext.get_format() callback. + * + * @deprecated Use av_vdpau_bind_context() instead. + * + * @param avctx the codec context being used for decoding the stream + * @param profile a pointer into which the result will be written on success. + * The contents of profile are undefined if this function returns + * an error. + * + * @return 0 on success (non-negative), a negative AVERROR on failure. + */ +attribute_deprecated +int av_vdpau_get_profile(AVCodecContext *avctx, VdpDecoderProfile *profile); +#endif + +#if FF_API_CAP_VDPAU +/** @brief The videoSurface is used for rendering. */ +#define FF_VDPAU_STATE_USED_FOR_RENDER 1 + +/** + * @brief The videoSurface is needed for reference/prediction. + * The codec manipulates this. + */ +#define FF_VDPAU_STATE_USED_FOR_REFERENCE 2 + +/** + * @brief This structure is used as a callback between the FFmpeg + * decoder (vd_) and presentation (vo_) module. + * This is used for defining a video frame containing surface, + * picture parameter, bitstream information etc which are passed + * between the FFmpeg decoder and its clients. + */ +struct vdpau_render_state { + VdpVideoSurface surface; ///< Used as rendered surface, never changed. + + int state; ///< Holds FF_VDPAU_STATE_* values. + + /** picture parameter information for all supported codecs */ + union AVVDPAUPictureInfo info; + + /** Describe size/location of the compressed video data. + Set to 0 when freeing bitstream_buffers. */ + int bitstream_buffers_allocated; + int bitstream_buffers_used; + /** The user is responsible for freeing this buffer using av_freep(). */ + VdpBitstreamBuffer *bitstream_buffers; +}; +#endif + +/* @}*/ + +#endif /* AVCODEC_VDPAU_H */ diff --git a/src/3rdparty/win32_include/libavcodec/version.h b/src/3rdparty/win32_include/libavcodec/version.h new file mode 100644 index 000000000..10d9ac4eb --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/version.h @@ -0,0 +1,243 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_VERSION_H +#define AVCODEC_VERSION_H + +/** + * @file + * @ingroup libavc + * Libavcodec version macros. + */ + +#include "libavutil/version.h" + +#define LIBAVCODEC_VERSION_MAJOR 57 +#define LIBAVCODEC_VERSION_MINOR 107 +#define LIBAVCODEC_VERSION_MICRO 100 + +#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ + LIBAVCODEC_VERSION_MINOR, \ + LIBAVCODEC_VERSION_MICRO) +#define LIBAVCODEC_VERSION AV_VERSION(LIBAVCODEC_VERSION_MAJOR, \ + LIBAVCODEC_VERSION_MINOR, \ + LIBAVCODEC_VERSION_MICRO) +#define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT + +#define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION) + +/** + * FF_API_* defines may be placed below to indicate public API that will be + * dropped at a future version bump. The defines themselves are not part of + * the public API and may change, break or disappear at any time. + * + * @note, when bumping the major version it is recommended to manually + * disable each FF_API_* in its own commit instead of disabling them all + * at once through the bump. This improves the git bisect-ability of the change. + */ + +#ifndef FF_API_VIMA_DECODER +#define FF_API_VIMA_DECODER (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_AUDIO_CONVERT +#define FF_API_AUDIO_CONVERT (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_AVCODEC_RESAMPLE +#define FF_API_AVCODEC_RESAMPLE FF_API_AUDIO_CONVERT +#endif +#ifndef FF_API_MISSING_SAMPLE +#define FF_API_MISSING_SAMPLE (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_LOWRES +#define FF_API_LOWRES (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_CAP_VDPAU +#define FF_API_CAP_VDPAU (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_BUFS_VDPAU +#define FF_API_BUFS_VDPAU (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_VOXWARE +#define FF_API_VOXWARE (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_SET_DIMENSIONS +#define FF_API_SET_DIMENSIONS (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_DEBUG_MV +#define FF_API_DEBUG_MV (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_AC_VLC +#define FF_API_AC_VLC (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_OLD_MSMPEG4 +#define FF_API_OLD_MSMPEG4 (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_ASPECT_EXTENDED +#define FF_API_ASPECT_EXTENDED (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_ARCH_ALPHA +#define FF_API_ARCH_ALPHA (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_XVMC +#define FF_API_XVMC (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_ERROR_RATE +#define FF_API_ERROR_RATE (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_QSCALE_TYPE +#define FF_API_QSCALE_TYPE (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_MB_TYPE +#define FF_API_MB_TYPE (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_MAX_BFRAMES +#define FF_API_MAX_BFRAMES (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_NEG_LINESIZES +#define FF_API_NEG_LINESIZES (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_EMU_EDGE +#define FF_API_EMU_EDGE (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_ARCH_SH4 +#define FF_API_ARCH_SH4 (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_ARCH_SPARC +#define FF_API_ARCH_SPARC (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_UNUSED_MEMBERS +#define FF_API_UNUSED_MEMBERS (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_IDCT_XVIDMMX +#define FF_API_IDCT_XVIDMMX (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_INPUT_PRESERVED +#define FF_API_INPUT_PRESERVED (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_NORMALIZE_AQP +#define FF_API_NORMALIZE_AQP (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_GMC +#define FF_API_GMC (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_MV0 +#define FF_API_MV0 (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_CODEC_NAME +#define FF_API_CODEC_NAME (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_AFD +#define FF_API_AFD (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_VISMV +/* XXX: don't forget to drop the -vismv documentation */ +#define FF_API_VISMV (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_AUDIOENC_DELAY +#define FF_API_AUDIOENC_DELAY (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_VAAPI_CONTEXT +#define FF_API_VAAPI_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_MERGE_SD +#define FF_API_MERGE_SD (LIBAVCODEC_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_AVCTX_TIMEBASE +#define FF_API_AVCTX_TIMEBASE (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_MPV_OPT +#define FF_API_MPV_OPT (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_STREAM_CODEC_TAG +#define FF_API_STREAM_CODEC_TAG (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_QUANT_BIAS +#define FF_API_QUANT_BIAS (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_RC_STRATEGY +#define FF_API_RC_STRATEGY (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_CODED_FRAME +#define FF_API_CODED_FRAME (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_MOTION_EST +#define FF_API_MOTION_EST (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_WITHOUT_PREFIX +#define FF_API_WITHOUT_PREFIX (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_SIDEDATA_ONLY_PKT +#define FF_API_SIDEDATA_ONLY_PKT (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_VDPAU_PROFILE +#define FF_API_VDPAU_PROFILE (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_CONVERGENCE_DURATION +#define FF_API_CONVERGENCE_DURATION (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_AVPICTURE +#define FF_API_AVPICTURE (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_AVPACKET_OLD_API +#define FF_API_AVPACKET_OLD_API (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_RTP_CALLBACK +#define FF_API_RTP_CALLBACK (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_VBV_DELAY +#define FF_API_VBV_DELAY (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_CODER_TYPE +#define FF_API_CODER_TYPE (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_STAT_BITS +#define FF_API_STAT_BITS (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_PRIVATE_OPT +#define FF_API_PRIVATE_OPT (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_ASS_TIMING +#define FF_API_ASS_TIMING (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_OLD_BSF +#define FF_API_OLD_BSF (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_COPY_CONTEXT +#define FF_API_COPY_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_GET_CONTEXT_DEFAULTS +#define FF_API_GET_CONTEXT_DEFAULTS (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_NVENC_OLD_NAME +#define FF_API_NVENC_OLD_NAME (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_STRUCT_VAAPI_CONTEXT +#define FF_API_STRUCT_VAAPI_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_MERGE_SD_API +#define FF_API_MERGE_SD_API (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_TAG_STRING +#define FF_API_TAG_STRING (LIBAVCODEC_VERSION_MAJOR < 59) +#endif +#ifndef FF_API_GETCHROMA +#define FF_API_GETCHROMA (LIBAVCODEC_VERSION_MAJOR < 59) +#endif + + +#endif /* AVCODEC_VERSION_H */ diff --git a/src/3rdparty/win32_include/libavcodec/videotoolbox.h b/src/3rdparty/win32_include/libavcodec/videotoolbox.h new file mode 100644 index 000000000..af2db0d58 --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/videotoolbox.h @@ -0,0 +1,127 @@ +/* + * Videotoolbox hardware acceleration + * + * copyright (c) 2012 Sebastien Zwickert + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_VIDEOTOOLBOX_H +#define AVCODEC_VIDEOTOOLBOX_H + +/** + * @file + * @ingroup lavc_codec_hwaccel_videotoolbox + * Public libavcodec Videotoolbox header. + */ + +#include + +#define Picture QuickdrawPicture +#include +#undef Picture + +#include "libavcodec/avcodec.h" + +/** + * This struct holds all the information that needs to be passed + * between the caller and libavcodec for initializing Videotoolbox decoding. + * Its size is not a part of the public ABI, it must be allocated with + * av_videotoolbox_alloc_context() and freed with av_free(). + */ +typedef struct AVVideotoolboxContext { + /** + * Videotoolbox decompression session object. + * Created and freed the caller. + */ + VTDecompressionSessionRef session; + + /** + * The output callback that must be passed to the session. + * Set by av_videottoolbox_default_init() + */ + VTDecompressionOutputCallback output_callback; + + /** + * CVPixelBuffer Format Type that Videotoolbox will use for decoded frames. + * set by the caller. If this is set to 0, then no specific format is + * requested from the decoder, and its native format is output. + */ + OSType cv_pix_fmt_type; + + /** + * CoreMedia Format Description that Videotoolbox will use to create the decompression session. + * Set by the caller. + */ + CMVideoFormatDescriptionRef cm_fmt_desc; + + /** + * CoreMedia codec type that Videotoolbox will use to create the decompression session. + * Set by the caller. + */ + int cm_codec_type; +} AVVideotoolboxContext; + +/** + * Allocate and initialize a Videotoolbox context. + * + * This function should be called from the get_format() callback when the caller + * selects the AV_PIX_FMT_VIDETOOLBOX format. The caller must then create + * the decoder object (using the output callback provided by libavcodec) that + * will be used for Videotoolbox-accelerated decoding. + * + * When decoding with Videotoolbox is finished, the caller must destroy the decoder + * object and free the Videotoolbox context using av_free(). + * + * @return the newly allocated context or NULL on failure + */ +AVVideotoolboxContext *av_videotoolbox_alloc_context(void); + +/** + * This is a convenience function that creates and sets up the Videotoolbox context using + * an internal implementation. + * + * @param avctx the corresponding codec context + * + * @return >= 0 on success, a negative AVERROR code on failure + */ +int av_videotoolbox_default_init(AVCodecContext *avctx); + +/** + * This is a convenience function that creates and sets up the Videotoolbox context using + * an internal implementation. + * + * @param avctx the corresponding codec context + * @param vtctx the Videotoolbox context to use + * + * @return >= 0 on success, a negative AVERROR code on failure + */ +int av_videotoolbox_default_init2(AVCodecContext *avctx, AVVideotoolboxContext *vtctx); + +/** + * This function must be called to free the Videotoolbox context initialized with + * av_videotoolbox_default_init(). + * + * @param avctx the corresponding codec context + */ +void av_videotoolbox_default_free(AVCodecContext *avctx); + +/** + * @} + */ + +#endif /* AVCODEC_VIDEOTOOLBOX_H */ diff --git a/src/3rdparty/win32_include/libavcodec/vorbis_parser.h b/src/3rdparty/win32_include/libavcodec/vorbis_parser.h new file mode 100644 index 000000000..789932ac4 --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/vorbis_parser.h @@ -0,0 +1,74 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * A public API for Vorbis parsing + * + * Determines the duration for each packet. + */ + +#ifndef AVCODEC_VORBIS_PARSER_H +#define AVCODEC_VORBIS_PARSER_H + +#include + +typedef struct AVVorbisParseContext AVVorbisParseContext; + +/** + * Allocate and initialize the Vorbis parser using headers in the extradata. + */ +AVVorbisParseContext *av_vorbis_parse_init(const uint8_t *extradata, + int extradata_size); + +/** + * Free the parser and everything associated with it. + */ +void av_vorbis_parse_free(AVVorbisParseContext **s); + +#define VORBIS_FLAG_HEADER 0x00000001 +#define VORBIS_FLAG_COMMENT 0x00000002 +#define VORBIS_FLAG_SETUP 0x00000004 + +/** + * Get the duration for a Vorbis packet. + * + * If @p flags is @c NULL, + * special frames are considered invalid. + * + * @param s Vorbis parser context + * @param buf buffer containing a Vorbis frame + * @param buf_size size of the buffer + * @param flags flags for special frames + */ +int av_vorbis_parse_frame_flags(AVVorbisParseContext *s, const uint8_t *buf, + int buf_size, int *flags); + +/** + * Get the duration for a Vorbis packet. + * + * @param s Vorbis parser context + * @param buf buffer containing a Vorbis frame + * @param buf_size size of the buffer + */ +int av_vorbis_parse_frame(AVVorbisParseContext *s, const uint8_t *buf, + int buf_size); + +void av_vorbis_parse_reset(AVVorbisParseContext *s); + +#endif /* AVCODEC_VORBIS_PARSER_H */ diff --git a/src/3rdparty/win32_include/libavcodec/xvmc.h b/src/3rdparty/win32_include/libavcodec/xvmc.h new file mode 100644 index 000000000..465ee78d6 --- /dev/null +++ b/src/3rdparty/win32_include/libavcodec/xvmc.h @@ -0,0 +1,170 @@ +/* + * Copyright (C) 2003 Ivan Kalvachev + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_XVMC_H +#define AVCODEC_XVMC_H + +/** + * @file + * @ingroup lavc_codec_hwaccel_xvmc + * Public libavcodec XvMC header. + */ + +#include + +#include "libavutil/attributes.h" +#include "version.h" +#include "avcodec.h" + +/** + * @defgroup lavc_codec_hwaccel_xvmc XvMC + * @ingroup lavc_codec_hwaccel + * + * @{ + */ + +#define AV_XVMC_ID 0x1DC711C0 /**< special value to ensure that regular pixel routines haven't corrupted the struct + the number is 1337 speak for the letters IDCT MCo (motion compensation) */ + +struct attribute_deprecated xvmc_pix_fmt { + /** The field contains the special constant value AV_XVMC_ID. + It is used as a test that the application correctly uses the API, + and that there is no corruption caused by pixel routines. + - application - set during initialization + - libavcodec - unchanged + */ + int xvmc_id; + + /** Pointer to the block array allocated by XvMCCreateBlocks(). + The array has to be freed by XvMCDestroyBlocks(). + Each group of 64 values represents one data block of differential + pixel information (in MoCo mode) or coefficients for IDCT. + - application - set the pointer during initialization + - libavcodec - fills coefficients/pixel data into the array + */ + short* data_blocks; + + /** Pointer to the macroblock description array allocated by + XvMCCreateMacroBlocks() and freed by XvMCDestroyMacroBlocks(). + - application - set the pointer during initialization + - libavcodec - fills description data into the array + */ + XvMCMacroBlock* mv_blocks; + + /** Number of macroblock descriptions that can be stored in the mv_blocks + array. + - application - set during initialization + - libavcodec - unchanged + */ + int allocated_mv_blocks; + + /** Number of blocks that can be stored at once in the data_blocks array. + - application - set during initialization + - libavcodec - unchanged + */ + int allocated_data_blocks; + + /** Indicate that the hardware would interpret data_blocks as IDCT + coefficients and perform IDCT on them. + - application - set during initialization + - libavcodec - unchanged + */ + int idct; + + /** In MoCo mode it indicates that intra macroblocks are assumed to be in + unsigned format; same as the XVMC_INTRA_UNSIGNED flag. + - application - set during initialization + - libavcodec - unchanged + */ + int unsigned_intra; + + /** Pointer to the surface allocated by XvMCCreateSurface(). + It has to be freed by XvMCDestroySurface() on application exit. + It identifies the frame and its state on the video hardware. + - application - set during initialization + - libavcodec - unchanged + */ + XvMCSurface* p_surface; + +/** Set by the decoder before calling ff_draw_horiz_band(), + needed by the XvMCRenderSurface function. */ +//@{ + /** Pointer to the surface used as past reference + - application - unchanged + - libavcodec - set + */ + XvMCSurface* p_past_surface; + + /** Pointer to the surface used as future reference + - application - unchanged + - libavcodec - set + */ + XvMCSurface* p_future_surface; + + /** top/bottom field or frame + - application - unchanged + - libavcodec - set + */ + unsigned int picture_structure; + + /** XVMC_SECOND_FIELD - 1st or 2nd field in the sequence + - application - unchanged + - libavcodec - set + */ + unsigned int flags; +//}@ + + /** Number of macroblock descriptions in the mv_blocks array + that have already been passed to the hardware. + - application - zeroes it on get_buffer(). + A successful ff_draw_horiz_band() may increment it + with filled_mb_block_num or zero both. + - libavcodec - unchanged + */ + int start_mv_blocks_num; + + /** Number of new macroblock descriptions in the mv_blocks array (after + start_mv_blocks_num) that are filled by libavcodec and have to be + passed to the hardware. + - application - zeroes it on get_buffer() or after successful + ff_draw_horiz_band(). + - libavcodec - increment with one of each stored MB + */ + int filled_mv_blocks_num; + + /** Number of the next free data block; one data block consists of + 64 short values in the data_blocks array. + All blocks before this one have already been claimed by placing their + position into the corresponding block description structure field, + that are part of the mv_blocks array. + - application - zeroes it on get_buffer(). + A successful ff_draw_horiz_band() may zero it together + with start_mb_blocks_num. + - libavcodec - each decoded macroblock increases it by the number + of coded blocks it contains. + */ + int next_free_data_block_num; +}; + +/** + * @} + */ + +#endif /* AVCODEC_XVMC_H */ diff --git a/src/3rdparty/win32_include/libavformat/avformat.h b/src/3rdparty/win32_include/libavformat/avformat.h new file mode 100644 index 000000000..b0de66ac1 --- /dev/null +++ b/src/3rdparty/win32_include/libavformat/avformat.h @@ -0,0 +1,3008 @@ +/* + * copyright (c) 2001 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVFORMAT_AVFORMAT_H +#define AVFORMAT_AVFORMAT_H + +/** + * @file + * @ingroup libavf + * Main libavformat public API header + */ + +/** + * @defgroup libavf libavformat + * I/O and Muxing/Demuxing Library + * + * Libavformat (lavf) is a library for dealing with various media container + * formats. Its main two purposes are demuxing - i.e. splitting a media file + * into component streams, and the reverse process of muxing - writing supplied + * data in a specified container format. It also has an @ref lavf_io + * "I/O module" which supports a number of protocols for accessing the data (e.g. + * file, tcp, http and others). Before using lavf, you need to call + * av_register_all() to register all compiled muxers, demuxers and protocols. + * Unless you are absolutely sure you won't use libavformat's network + * capabilities, you should also call avformat_network_init(). + * + * A supported input format is described by an AVInputFormat struct, conversely + * an output format is described by AVOutputFormat. You can iterate over all + * registered input/output formats using the av_iformat_next() / + * av_oformat_next() functions. The protocols layer is not part of the public + * API, so you can only get the names of supported protocols with the + * avio_enum_protocols() function. + * + * Main lavf structure used for both muxing and demuxing is AVFormatContext, + * which exports all information about the file being read or written. As with + * most Libavformat structures, its size is not part of public ABI, so it cannot be + * allocated on stack or directly with av_malloc(). To create an + * AVFormatContext, use avformat_alloc_context() (some functions, like + * avformat_open_input() might do that for you). + * + * Most importantly an AVFormatContext contains: + * @li the @ref AVFormatContext.iformat "input" or @ref AVFormatContext.oformat + * "output" format. It is either autodetected or set by user for input; + * always set by user for output. + * @li an @ref AVFormatContext.streams "array" of AVStreams, which describe all + * elementary streams stored in the file. AVStreams are typically referred to + * using their index in this array. + * @li an @ref AVFormatContext.pb "I/O context". It is either opened by lavf or + * set by user for input, always set by user for output (unless you are dealing + * with an AVFMT_NOFILE format). + * + * @section lavf_options Passing options to (de)muxers + * It is possible to configure lavf muxers and demuxers using the @ref avoptions + * mechanism. Generic (format-independent) libavformat options are provided by + * AVFormatContext, they can be examined from a user program by calling + * av_opt_next() / av_opt_find() on an allocated AVFormatContext (or its AVClass + * from avformat_get_class()). Private (format-specific) options are provided by + * AVFormatContext.priv_data if and only if AVInputFormat.priv_class / + * AVOutputFormat.priv_class of the corresponding format struct is non-NULL. + * Further options may be provided by the @ref AVFormatContext.pb "I/O context", + * if its AVClass is non-NULL, and the protocols layer. See the discussion on + * nesting in @ref avoptions documentation to learn how to access those. + * + * @section urls + * URL strings in libavformat are made of a scheme/protocol, a ':', and a + * scheme specific string. URLs without a scheme and ':' used for local files + * are supported but deprecated. "file:" should be used for local files. + * + * It is important that the scheme string is not taken from untrusted + * sources without checks. + * + * Note that some schemes/protocols are quite powerful, allowing access to + * both local and remote files, parts of them, concatenations of them, local + * audio and video devices and so on. + * + * @{ + * + * @defgroup lavf_decoding Demuxing + * @{ + * Demuxers read a media file and split it into chunks of data (@em packets). A + * @ref AVPacket "packet" contains one or more encoded frames which belongs to a + * single elementary stream. In the lavf API this process is represented by the + * avformat_open_input() function for opening a file, av_read_frame() for + * reading a single packet and finally avformat_close_input(), which does the + * cleanup. + * + * @section lavf_decoding_open Opening a media file + * The minimum information required to open a file is its URL, which + * is passed to avformat_open_input(), as in the following code: + * @code + * const char *url = "file:in.mp3"; + * AVFormatContext *s = NULL; + * int ret = avformat_open_input(&s, url, NULL, NULL); + * if (ret < 0) + * abort(); + * @endcode + * The above code attempts to allocate an AVFormatContext, open the + * specified file (autodetecting the format) and read the header, exporting the + * information stored there into s. Some formats do not have a header or do not + * store enough information there, so it is recommended that you call the + * avformat_find_stream_info() function which tries to read and decode a few + * frames to find missing information. + * + * In some cases you might want to preallocate an AVFormatContext yourself with + * avformat_alloc_context() and do some tweaking on it before passing it to + * avformat_open_input(). One such case is when you want to use custom functions + * for reading input data instead of lavf internal I/O layer. + * To do that, create your own AVIOContext with avio_alloc_context(), passing + * your reading callbacks to it. Then set the @em pb field of your + * AVFormatContext to newly created AVIOContext. + * + * Since the format of the opened file is in general not known until after + * avformat_open_input() has returned, it is not possible to set demuxer private + * options on a preallocated context. Instead, the options should be passed to + * avformat_open_input() wrapped in an AVDictionary: + * @code + * AVDictionary *options = NULL; + * av_dict_set(&options, "video_size", "640x480", 0); + * av_dict_set(&options, "pixel_format", "rgb24", 0); + * + * if (avformat_open_input(&s, url, NULL, &options) < 0) + * abort(); + * av_dict_free(&options); + * @endcode + * This code passes the private options 'video_size' and 'pixel_format' to the + * demuxer. They would be necessary for e.g. the rawvideo demuxer, since it + * cannot know how to interpret raw video data otherwise. If the format turns + * out to be something different than raw video, those options will not be + * recognized by the demuxer and therefore will not be applied. Such unrecognized + * options are then returned in the options dictionary (recognized options are + * consumed). The calling program can handle such unrecognized options as it + * wishes, e.g. + * @code + * AVDictionaryEntry *e; + * if (e = av_dict_get(options, "", NULL, AV_DICT_IGNORE_SUFFIX)) { + * fprintf(stderr, "Option %s not recognized by the demuxer.\n", e->key); + * abort(); + * } + * @endcode + * + * After you have finished reading the file, you must close it with + * avformat_close_input(). It will free everything associated with the file. + * + * @section lavf_decoding_read Reading from an opened file + * Reading data from an opened AVFormatContext is done by repeatedly calling + * av_read_frame() on it. Each call, if successful, will return an AVPacket + * containing encoded data for one AVStream, identified by + * AVPacket.stream_index. This packet may be passed straight into the libavcodec + * decoding functions avcodec_send_packet() or avcodec_decode_subtitle2() if the + * caller wishes to decode the data. + * + * AVPacket.pts, AVPacket.dts and AVPacket.duration timing information will be + * set if known. They may also be unset (i.e. AV_NOPTS_VALUE for + * pts/dts, 0 for duration) if the stream does not provide them. The timing + * information will be in AVStream.time_base units, i.e. it has to be + * multiplied by the timebase to convert them to seconds. + * + * If AVPacket.buf is set on the returned packet, then the packet is + * allocated dynamically and the user may keep it indefinitely. + * Otherwise, if AVPacket.buf is NULL, the packet data is backed by a + * static storage somewhere inside the demuxer and the packet is only valid + * until the next av_read_frame() call or closing the file. If the caller + * requires a longer lifetime, av_dup_packet() will make an av_malloc()ed copy + * of it. + * In both cases, the packet must be freed with av_packet_unref() when it is no + * longer needed. + * + * @section lavf_decoding_seek Seeking + * @} + * + * @defgroup lavf_encoding Muxing + * @{ + * Muxers take encoded data in the form of @ref AVPacket "AVPackets" and write + * it into files or other output bytestreams in the specified container format. + * + * The main API functions for muxing are avformat_write_header() for writing the + * file header, av_write_frame() / av_interleaved_write_frame() for writing the + * packets and av_write_trailer() for finalizing the file. + * + * At the beginning of the muxing process, the caller must first call + * avformat_alloc_context() to create a muxing context. The caller then sets up + * the muxer by filling the various fields in this context: + * + * - The @ref AVFormatContext.oformat "oformat" field must be set to select the + * muxer that will be used. + * - Unless the format is of the AVFMT_NOFILE type, the @ref AVFormatContext.pb + * "pb" field must be set to an opened IO context, either returned from + * avio_open2() or a custom one. + * - Unless the format is of the AVFMT_NOSTREAMS type, at least one stream must + * be created with the avformat_new_stream() function. The caller should fill + * the @ref AVStream.codecpar "stream codec parameters" information, such as the + * codec @ref AVCodecParameters.codec_type "type", @ref AVCodecParameters.codec_id + * "id" and other parameters (e.g. width / height, the pixel or sample format, + * etc.) as known. The @ref AVStream.time_base "stream timebase" should + * be set to the timebase that the caller desires to use for this stream (note + * that the timebase actually used by the muxer can be different, as will be + * described later). + * - It is advised to manually initialize only the relevant fields in + * AVCodecParameters, rather than using @ref avcodec_parameters_copy() during + * remuxing: there is no guarantee that the codec context values remain valid + * for both input and output format contexts. + * - The caller may fill in additional information, such as @ref + * AVFormatContext.metadata "global" or @ref AVStream.metadata "per-stream" + * metadata, @ref AVFormatContext.chapters "chapters", @ref + * AVFormatContext.programs "programs", etc. as described in the + * AVFormatContext documentation. Whether such information will actually be + * stored in the output depends on what the container format and the muxer + * support. + * + * When the muxing context is fully set up, the caller must call + * avformat_write_header() to initialize the muxer internals and write the file + * header. Whether anything actually is written to the IO context at this step + * depends on the muxer, but this function must always be called. Any muxer + * private options must be passed in the options parameter to this function. + * + * The data is then sent to the muxer by repeatedly calling av_write_frame() or + * av_interleaved_write_frame() (consult those functions' documentation for + * discussion on the difference between them; only one of them may be used with + * a single muxing context, they should not be mixed). Do note that the timing + * information on the packets sent to the muxer must be in the corresponding + * AVStream's timebase. That timebase is set by the muxer (in the + * avformat_write_header() step) and may be different from the timebase + * requested by the caller. + * + * Once all the data has been written, the caller must call av_write_trailer() + * to flush any buffered packets and finalize the output file, then close the IO + * context (if any) and finally free the muxing context with + * avformat_free_context(). + * @} + * + * @defgroup lavf_io I/O Read/Write + * @{ + * @section lavf_io_dirlist Directory listing + * The directory listing API makes it possible to list files on remote servers. + * + * Some of possible use cases: + * - an "open file" dialog to choose files from a remote location, + * - a recursive media finder providing a player with an ability to play all + * files from a given directory. + * + * @subsection lavf_io_dirlist_open Opening a directory + * At first, a directory needs to be opened by calling avio_open_dir() + * supplied with a URL and, optionally, ::AVDictionary containing + * protocol-specific parameters. The function returns zero or positive + * integer and allocates AVIODirContext on success. + * + * @code + * AVIODirContext *ctx = NULL; + * if (avio_open_dir(&ctx, "smb://example.com/some_dir", NULL) < 0) { + * fprintf(stderr, "Cannot open directory.\n"); + * abort(); + * } + * @endcode + * + * This code tries to open a sample directory using smb protocol without + * any additional parameters. + * + * @subsection lavf_io_dirlist_read Reading entries + * Each directory's entry (i.e. file, another directory, anything else + * within ::AVIODirEntryType) is represented by AVIODirEntry. + * Reading consecutive entries from an opened AVIODirContext is done by + * repeatedly calling avio_read_dir() on it. Each call returns zero or + * positive integer if successful. Reading can be stopped right after the + * NULL entry has been read -- it means there are no entries left to be + * read. The following code reads all entries from a directory associated + * with ctx and prints their names to standard output. + * @code + * AVIODirEntry *entry = NULL; + * for (;;) { + * if (avio_read_dir(ctx, &entry) < 0) { + * fprintf(stderr, "Cannot list directory.\n"); + * abort(); + * } + * if (!entry) + * break; + * printf("%s\n", entry->name); + * avio_free_directory_entry(&entry); + * } + * @endcode + * @} + * + * @defgroup lavf_codec Demuxers + * @{ + * @defgroup lavf_codec_native Native Demuxers + * @{ + * @} + * @defgroup lavf_codec_wrappers External library wrappers + * @{ + * @} + * @} + * @defgroup lavf_protos I/O Protocols + * @{ + * @} + * @defgroup lavf_internal Internal + * @{ + * @} + * @} + */ + +#include +#include /* FILE */ +#include "libavcodec/avcodec.h" +#include "libavutil/dict.h" +#include "libavutil/log.h" + +#include "avio.h" +#include "libavformat/version.h" + +struct AVFormatContext; + +struct AVDeviceInfoList; +struct AVDeviceCapabilitiesQuery; + +/** + * @defgroup metadata_api Public Metadata API + * @{ + * @ingroup libavf + * The metadata API allows libavformat to export metadata tags to a client + * application when demuxing. Conversely it allows a client application to + * set metadata when muxing. + * + * Metadata is exported or set as pairs of key/value strings in the 'metadata' + * fields of the AVFormatContext, AVStream, AVChapter and AVProgram structs + * using the @ref lavu_dict "AVDictionary" API. Like all strings in FFmpeg, + * metadata is assumed to be UTF-8 encoded Unicode. Note that metadata + * exported by demuxers isn't checked to be valid UTF-8 in most cases. + * + * Important concepts to keep in mind: + * - Keys are unique; there can never be 2 tags with the same key. This is + * also meant semantically, i.e., a demuxer should not knowingly produce + * several keys that are literally different but semantically identical. + * E.g., key=Author5, key=Author6. In this example, all authors must be + * placed in the same tag. + * - Metadata is flat, not hierarchical; there are no subtags. If you + * want to store, e.g., the email address of the child of producer Alice + * and actor Bob, that could have key=alice_and_bobs_childs_email_address. + * - Several modifiers can be applied to the tag name. This is done by + * appending a dash character ('-') and the modifier name in the order + * they appear in the list below -- e.g. foo-eng-sort, not foo-sort-eng. + * - language -- a tag whose value is localized for a particular language + * is appended with the ISO 639-2/B 3-letter language code. + * For example: Author-ger=Michael, Author-eng=Mike + * The original/default language is in the unqualified "Author" tag. + * A demuxer should set a default if it sets any translated tag. + * - sorting -- a modified version of a tag that should be used for + * sorting will have '-sort' appended. E.g. artist="The Beatles", + * artist-sort="Beatles, The". + * - Some protocols and demuxers support metadata updates. After a successful + * call to av_read_packet(), AVFormatContext.event_flags or AVStream.event_flags + * will be updated to indicate if metadata changed. In order to detect metadata + * changes on a stream, you need to loop through all streams in the AVFormatContext + * and check their individual event_flags. + * + * - Demuxers attempt to export metadata in a generic format, however tags + * with no generic equivalents are left as they are stored in the container. + * Follows a list of generic tag names: + * + @verbatim + album -- name of the set this work belongs to + album_artist -- main creator of the set/album, if different from artist. + e.g. "Various Artists" for compilation albums. + artist -- main creator of the work + comment -- any additional description of the file. + composer -- who composed the work, if different from artist. + copyright -- name of copyright holder. + creation_time-- date when the file was created, preferably in ISO 8601. + date -- date when the work was created, preferably in ISO 8601. + disc -- number of a subset, e.g. disc in a multi-disc collection. + encoder -- name/settings of the software/hardware that produced the file. + encoded_by -- person/group who created the file. + filename -- original name of the file. + genre -- . + language -- main language in which the work is performed, preferably + in ISO 639-2 format. Multiple languages can be specified by + separating them with commas. + performer -- artist who performed the work, if different from artist. + E.g for "Also sprach Zarathustra", artist would be "Richard + Strauss" and performer "London Philharmonic Orchestra". + publisher -- name of the label/publisher. + service_name -- name of the service in broadcasting (channel name). + service_provider -- name of the service provider in broadcasting. + title -- name of the work. + track -- number of this work in the set, can be in form current/total. + variant_bitrate -- the total bitrate of the bitrate variant that the current stream is part of + @endverbatim + * + * Look in the examples section for an application example how to use the Metadata API. + * + * @} + */ + +/* packet functions */ + + +/** + * Allocate and read the payload of a packet and initialize its + * fields with default values. + * + * @param s associated IO context + * @param pkt packet + * @param size desired payload size + * @return >0 (read size) if OK, AVERROR_xxx otherwise + */ +int av_get_packet(AVIOContext *s, AVPacket *pkt, int size); + + +/** + * Read data and append it to the current content of the AVPacket. + * If pkt->size is 0 this is identical to av_get_packet. + * Note that this uses av_grow_packet and thus involves a realloc + * which is inefficient. Thus this function should only be used + * when there is no reasonable way to know (an upper bound of) + * the final size. + * + * @param s associated IO context + * @param pkt packet + * @param size amount of data to read + * @return >0 (read size) if OK, AVERROR_xxx otherwise, previous data + * will not be lost even if an error occurs. + */ +int av_append_packet(AVIOContext *s, AVPacket *pkt, int size); + +#if FF_API_LAVF_FRAC +/*************************************************/ +/* fractional numbers for exact pts handling */ + +/** + * The exact value of the fractional number is: 'val + num / den'. + * num is assumed to be 0 <= num < den. + */ +typedef struct AVFrac { + int64_t val, num, den; +} AVFrac; +#endif + +/*************************************************/ +/* input/output formats */ + +struct AVCodecTag; + +/** + * This structure contains the data a format has to probe a file. + */ +typedef struct AVProbeData { + const char *filename; + unsigned char *buf; /**< Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero. */ + int buf_size; /**< Size of buf except extra allocated bytes */ + const char *mime_type; /**< mime_type, when known. */ +} AVProbeData; + +#define AVPROBE_SCORE_RETRY (AVPROBE_SCORE_MAX/4) +#define AVPROBE_SCORE_STREAM_RETRY (AVPROBE_SCORE_MAX/4-1) + +#define AVPROBE_SCORE_EXTENSION 50 ///< score for file extension +#define AVPROBE_SCORE_MIME 75 ///< score for file mime type +#define AVPROBE_SCORE_MAX 100 ///< maximum score + +#define AVPROBE_PADDING_SIZE 32 ///< extra allocated bytes at the end of the probe buffer + +/// Demuxer will use avio_open, no opened file should be provided by the caller. +#define AVFMT_NOFILE 0x0001 +#define AVFMT_NEEDNUMBER 0x0002 /**< Needs '%d' in filename. */ +#define AVFMT_SHOW_IDS 0x0008 /**< Show format stream IDs numbers. */ +#if FF_API_LAVF_FMT_RAWPICTURE +#define AVFMT_RAWPICTURE 0x0020 /**< Format wants AVPicture structure for + raw picture data. @deprecated Not used anymore */ +#endif +#define AVFMT_GLOBALHEADER 0x0040 /**< Format wants global header. */ +#define AVFMT_NOTIMESTAMPS 0x0080 /**< Format does not need / have any timestamps. */ +#define AVFMT_GENERIC_INDEX 0x0100 /**< Use generic index building code. */ +#define AVFMT_TS_DISCONT 0x0200 /**< Format allows timestamp discontinuities. Note, muxers always require valid (monotone) timestamps */ +#define AVFMT_VARIABLE_FPS 0x0400 /**< Format allows variable fps. */ +#define AVFMT_NODIMENSIONS 0x0800 /**< Format does not need width/height */ +#define AVFMT_NOSTREAMS 0x1000 /**< Format does not require any streams */ +#define AVFMT_NOBINSEARCH 0x2000 /**< Format does not allow to fall back on binary search via read_timestamp */ +#define AVFMT_NOGENSEARCH 0x4000 /**< Format does not allow to fall back on generic search */ +#define AVFMT_NO_BYTE_SEEK 0x8000 /**< Format does not allow seeking by bytes */ +#define AVFMT_ALLOW_FLUSH 0x10000 /**< Format allows flushing. If not set, the muxer will not receive a NULL packet in the write_packet function. */ +#define AVFMT_TS_NONSTRICT 0x20000 /**< Format does not require strictly + increasing timestamps, but they must + still be monotonic */ +#define AVFMT_TS_NEGATIVE 0x40000 /**< Format allows muxing negative + timestamps. If not set the timestamp + will be shifted in av_write_frame and + av_interleaved_write_frame so they + start from 0. + The user or muxer can override this through + AVFormatContext.avoid_negative_ts + */ + +#define AVFMT_SEEK_TO_PTS 0x4000000 /**< Seeking is based on PTS */ + +/** + * @addtogroup lavf_encoding + * @{ + */ +typedef struct AVOutputFormat { + const char *name; + /** + * Descriptive name for the format, meant to be more human-readable + * than name. You should use the NULL_IF_CONFIG_SMALL() macro + * to define it. + */ + const char *long_name; + const char *mime_type; + const char *extensions; /**< comma-separated filename extensions */ + /* output support */ + enum AVCodecID audio_codec; /**< default audio codec */ + enum AVCodecID video_codec; /**< default video codec */ + enum AVCodecID subtitle_codec; /**< default subtitle codec */ + /** + * can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, + * AVFMT_GLOBALHEADER, AVFMT_NOTIMESTAMPS, AVFMT_VARIABLE_FPS, + * AVFMT_NODIMENSIONS, AVFMT_NOSTREAMS, AVFMT_ALLOW_FLUSH, + * AVFMT_TS_NONSTRICT, AVFMT_TS_NEGATIVE + */ + int flags; + + /** + * List of supported codec_id-codec_tag pairs, ordered by "better + * choice first". The arrays are all terminated by AV_CODEC_ID_NONE. + */ + const struct AVCodecTag * const *codec_tag; + + + const AVClass *priv_class; ///< AVClass for the private context + + /***************************************************************** + * No fields below this line are part of the public API. They + * may not be used outside of libavformat and can be changed and + * removed at will. + * New public fields should be added right above. + ***************************************************************** + */ + struct AVOutputFormat *next; + /** + * size of private data so that it can be allocated in the wrapper + */ + int priv_data_size; + + int (*write_header)(struct AVFormatContext *); + /** + * Write a packet. If AVFMT_ALLOW_FLUSH is set in flags, + * pkt can be NULL in order to flush data buffered in the muxer. + * When flushing, return 0 if there still is more data to flush, + * or 1 if everything was flushed and there is no more buffered + * data. + */ + int (*write_packet)(struct AVFormatContext *, AVPacket *pkt); + int (*write_trailer)(struct AVFormatContext *); + /** + * Currently only used to set pixel format if not YUV420P. + */ + int (*interleave_packet)(struct AVFormatContext *, AVPacket *out, + AVPacket *in, int flush); + /** + * Test if the given codec can be stored in this container. + * + * @return 1 if the codec is supported, 0 if it is not. + * A negative number if unknown. + * MKTAG('A', 'P', 'I', 'C') if the codec is only supported as AV_DISPOSITION_ATTACHED_PIC + */ + int (*query_codec)(enum AVCodecID id, int std_compliance); + + void (*get_output_timestamp)(struct AVFormatContext *s, int stream, + int64_t *dts, int64_t *wall); + /** + * Allows sending messages from application to device. + */ + int (*control_message)(struct AVFormatContext *s, int type, + void *data, size_t data_size); + + /** + * Write an uncoded AVFrame. + * + * See av_write_uncoded_frame() for details. + * + * The library will free *frame afterwards, but the muxer can prevent it + * by setting the pointer to NULL. + */ + int (*write_uncoded_frame)(struct AVFormatContext *, int stream_index, + AVFrame **frame, unsigned flags); + /** + * Returns device list with it properties. + * @see avdevice_list_devices() for more details. + */ + int (*get_device_list)(struct AVFormatContext *s, struct AVDeviceInfoList *device_list); + /** + * Initialize device capabilities submodule. + * @see avdevice_capabilities_create() for more details. + */ + int (*create_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps); + /** + * Free device capabilities submodule. + * @see avdevice_capabilities_free() for more details. + */ + int (*free_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps); + enum AVCodecID data_codec; /**< default data codec */ + /** + * Initialize format. May allocate data here, and set any AVFormatContext or + * AVStream parameters that need to be set before packets are sent. + * This method must not write output. + * + * Return 0 if streams were fully configured, 1 if not, negative AVERROR on failure + * + * Any allocations made here must be freed in deinit(). + */ + int (*init)(struct AVFormatContext *); + /** + * Deinitialize format. If present, this is called whenever the muxer is being + * destroyed, regardless of whether or not the header has been written. + * + * If a trailer is being written, this is called after write_trailer(). + * + * This is called if init() fails as well. + */ + void (*deinit)(struct AVFormatContext *); + /** + * Set up any necessary bitstream filtering and extract any extra data needed + * for the global header. + * Return 0 if more packets from this stream must be checked; 1 if not. + */ + int (*check_bitstream)(struct AVFormatContext *, const AVPacket *pkt); +} AVOutputFormat; +/** + * @} + */ + +/** + * @addtogroup lavf_decoding + * @{ + */ +typedef struct AVInputFormat { + /** + * A comma separated list of short names for the format. New names + * may be appended with a minor bump. + */ + const char *name; + + /** + * Descriptive name for the format, meant to be more human-readable + * than name. You should use the NULL_IF_CONFIG_SMALL() macro + * to define it. + */ + const char *long_name; + + /** + * Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS, + * AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH, + * AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS. + */ + int flags; + + /** + * If extensions are defined, then no probe is done. You should + * usually not use extension format guessing because it is not + * reliable enough + */ + const char *extensions; + + const struct AVCodecTag * const *codec_tag; + + const AVClass *priv_class; ///< AVClass for the private context + + /** + * Comma-separated list of mime types. + * It is used check for matching mime types while probing. + * @see av_probe_input_format2 + */ + const char *mime_type; + + /***************************************************************** + * No fields below this line are part of the public API. They + * may not be used outside of libavformat and can be changed and + * removed at will. + * New public fields should be added right above. + ***************************************************************** + */ + struct AVInputFormat *next; + + /** + * Raw demuxers store their codec ID here. + */ + int raw_codec_id; + + /** + * Size of private data so that it can be allocated in the wrapper. + */ + int priv_data_size; + + /** + * Tell if a given file has a chance of being parsed as this format. + * The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes + * big so you do not have to check for that unless you need more. + */ + int (*read_probe)(AVProbeData *); + + /** + * Read the format header and initialize the AVFormatContext + * structure. Return 0 if OK. 'avformat_new_stream' should be + * called to create new streams. + */ + int (*read_header)(struct AVFormatContext *); + + /** + * Read one packet and put it in 'pkt'. pts and flags are also + * set. 'avformat_new_stream' can be called only if the flag + * AVFMTCTX_NOHEADER is used and only in the calling thread (not in a + * background thread). + * @return 0 on success, < 0 on error. + * When returning an error, pkt must not have been allocated + * or must be freed before returning + */ + int (*read_packet)(struct AVFormatContext *, AVPacket *pkt); + + /** + * Close the stream. The AVFormatContext and AVStreams are not + * freed by this function + */ + int (*read_close)(struct AVFormatContext *); + + /** + * Seek to a given timestamp relative to the frames in + * stream component stream_index. + * @param stream_index Must not be -1. + * @param flags Selects which direction should be preferred if no exact + * match is available. + * @return >= 0 on success (but not necessarily the new offset) + */ + int (*read_seek)(struct AVFormatContext *, + int stream_index, int64_t timestamp, int flags); + + /** + * Get the next timestamp in stream[stream_index].time_base units. + * @return the timestamp or AV_NOPTS_VALUE if an error occurred + */ + int64_t (*read_timestamp)(struct AVFormatContext *s, int stream_index, + int64_t *pos, int64_t pos_limit); + + /** + * Start/resume playing - only meaningful if using a network-based format + * (RTSP). + */ + int (*read_play)(struct AVFormatContext *); + + /** + * Pause playing - only meaningful if using a network-based format + * (RTSP). + */ + int (*read_pause)(struct AVFormatContext *); + + /** + * Seek to timestamp ts. + * Seeking will be done so that the point from which all active streams + * can be presented successfully will be closest to ts and within min/max_ts. + * Active streams are all streams that have AVStream.discard < AVDISCARD_ALL. + */ + int (*read_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags); + + /** + * Returns device list with it properties. + * @see avdevice_list_devices() for more details. + */ + int (*get_device_list)(struct AVFormatContext *s, struct AVDeviceInfoList *device_list); + + /** + * Initialize device capabilities submodule. + * @see avdevice_capabilities_create() for more details. + */ + int (*create_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps); + + /** + * Free device capabilities submodule. + * @see avdevice_capabilities_free() for more details. + */ + int (*free_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps); +} AVInputFormat; +/** + * @} + */ + +enum AVStreamParseType { + AVSTREAM_PARSE_NONE, + AVSTREAM_PARSE_FULL, /**< full parsing and repack */ + AVSTREAM_PARSE_HEADERS, /**< Only parse headers, do not repack. */ + AVSTREAM_PARSE_TIMESTAMPS, /**< full parsing and interpolation of timestamps for frames not starting on a packet boundary */ + AVSTREAM_PARSE_FULL_ONCE, /**< full parsing and repack of the first frame only, only implemented for H.264 currently */ + AVSTREAM_PARSE_FULL_RAW=MKTAG(0,'R','A','W'), /**< full parsing and repack with timestamp and position generation by parser for raw + this assumes that each packet in the file contains no demuxer level headers and + just codec level data, otherwise position generation would fail */ +}; + +typedef struct AVIndexEntry { + int64_t pos; + int64_t timestamp; /**< + * Timestamp in AVStream.time_base units, preferably the time from which on correctly decoded frames are available + * when seeking to this entry. That means preferable PTS on keyframe based formats. + * But demuxers can choose to store a different timestamp, if it is more convenient for the implementation or nothing better + * is known + */ +#define AVINDEX_KEYFRAME 0x0001 +#define AVINDEX_DISCARD_FRAME 0x0002 /** + * Flag is used to indicate which frame should be discarded after decoding. + */ + int flags:2; + int size:30; //Yeah, trying to keep the size of this small to reduce memory requirements (it is 24 vs. 32 bytes due to possible 8-byte alignment). + int min_distance; /**< Minimum distance between this and the previous keyframe, used to avoid unneeded searching. */ +} AVIndexEntry; + +#define AV_DISPOSITION_DEFAULT 0x0001 +#define AV_DISPOSITION_DUB 0x0002 +#define AV_DISPOSITION_ORIGINAL 0x0004 +#define AV_DISPOSITION_COMMENT 0x0008 +#define AV_DISPOSITION_LYRICS 0x0010 +#define AV_DISPOSITION_KARAOKE 0x0020 + +/** + * Track should be used during playback by default. + * Useful for subtitle track that should be displayed + * even when user did not explicitly ask for subtitles. + */ +#define AV_DISPOSITION_FORCED 0x0040 +#define AV_DISPOSITION_HEARING_IMPAIRED 0x0080 /**< stream for hearing impaired audiences */ +#define AV_DISPOSITION_VISUAL_IMPAIRED 0x0100 /**< stream for visual impaired audiences */ +#define AV_DISPOSITION_CLEAN_EFFECTS 0x0200 /**< stream without voice */ +/** + * The stream is stored in the file as an attached picture/"cover art" (e.g. + * APIC frame in ID3v2). The first (usually only) packet associated with it + * will be returned among the first few packets read from the file unless + * seeking takes place. It can also be accessed at any time in + * AVStream.attached_pic. + */ +#define AV_DISPOSITION_ATTACHED_PIC 0x0400 +/** + * The stream is sparse, and contains thumbnail images, often corresponding + * to chapter markers. Only ever used with AV_DISPOSITION_ATTACHED_PIC. + */ +#define AV_DISPOSITION_TIMED_THUMBNAILS 0x0800 + +typedef struct AVStreamInternal AVStreamInternal; + +/** + * To specify text track kind (different from subtitles default). + */ +#define AV_DISPOSITION_CAPTIONS 0x10000 +#define AV_DISPOSITION_DESCRIPTIONS 0x20000 +#define AV_DISPOSITION_METADATA 0x40000 + +/** + * Options for behavior on timestamp wrap detection. + */ +#define AV_PTS_WRAP_IGNORE 0 ///< ignore the wrap +#define AV_PTS_WRAP_ADD_OFFSET 1 ///< add the format specific offset on wrap detection +#define AV_PTS_WRAP_SUB_OFFSET -1 ///< subtract the format specific offset on wrap detection + +/** + * Stream structure. + * New fields can be added to the end with minor version bumps. + * Removal, reordering and changes to existing fields require a major + * version bump. + * sizeof(AVStream) must not be used outside libav*. + */ +typedef struct AVStream { + int index; /**< stream index in AVFormatContext */ + /** + * Format-specific stream ID. + * decoding: set by libavformat + * encoding: set by the user, replaced by libavformat if left unset + */ + int id; +#if FF_API_LAVF_AVCTX + /** + * @deprecated use the codecpar struct instead + */ + attribute_deprecated + AVCodecContext *codec; +#endif + void *priv_data; + +#if FF_API_LAVF_FRAC + /** + * @deprecated this field is unused + */ + attribute_deprecated + struct AVFrac pts; +#endif + + /** + * This is the fundamental unit of time (in seconds) in terms + * of which frame timestamps are represented. + * + * decoding: set by libavformat + * encoding: May be set by the caller before avformat_write_header() to + * provide a hint to the muxer about the desired timebase. In + * avformat_write_header(), the muxer will overwrite this field + * with the timebase that will actually be used for the timestamps + * written into the file (which may or may not be related to the + * user-provided one, depending on the format). + */ + AVRational time_base; + + /** + * Decoding: pts of the first frame of the stream in presentation order, in stream time base. + * Only set this if you are absolutely 100% sure that the value you set + * it to really is the pts of the first frame. + * This may be undefined (AV_NOPTS_VALUE). + * @note The ASF header does NOT contain a correct start_time the ASF + * demuxer must NOT set this. + */ + int64_t start_time; + + /** + * Decoding: duration of the stream, in stream time base. + * If a source file does not specify a duration, but does specify + * a bitrate, this value will be estimated from bitrate and file size. + * + * Encoding: May be set by the caller before avformat_write_header() to + * provide a hint to the muxer about the estimated duration. + */ + int64_t duration; + + int64_t nb_frames; ///< number of frames in this stream if known or 0 + + int disposition; /**< AV_DISPOSITION_* bit field */ + + enum AVDiscard discard; ///< Selects which packets can be discarded at will and do not need to be demuxed. + + /** + * sample aspect ratio (0 if unknown) + * - encoding: Set by user. + * - decoding: Set by libavformat. + */ + AVRational sample_aspect_ratio; + + AVDictionary *metadata; + + /** + * Average framerate + * + * - demuxing: May be set by libavformat when creating the stream or in + * avformat_find_stream_info(). + * - muxing: May be set by the caller before avformat_write_header(). + */ + AVRational avg_frame_rate; + + /** + * For streams with AV_DISPOSITION_ATTACHED_PIC disposition, this packet + * will contain the attached picture. + * + * decoding: set by libavformat, must not be modified by the caller. + * encoding: unused + */ + AVPacket attached_pic; + + /** + * An array of side data that applies to the whole stream (i.e. the + * container does not allow it to change between packets). + * + * There may be no overlap between the side data in this array and side data + * in the packets. I.e. a given side data is either exported by the muxer + * (demuxing) / set by the caller (muxing) in this array, then it never + * appears in the packets, or the side data is exported / sent through + * the packets (always in the first packet where the value becomes known or + * changes), then it does not appear in this array. + * + * - demuxing: Set by libavformat when the stream is created. + * - muxing: May be set by the caller before avformat_write_header(). + * + * Freed by libavformat in avformat_free_context(). + * + * @see av_format_inject_global_side_data() + */ + AVPacketSideData *side_data; + /** + * The number of elements in the AVStream.side_data array. + */ + int nb_side_data; + + /** + * Flags for the user to detect events happening on the stream. Flags must + * be cleared by the user once the event has been handled. + * A combination of AVSTREAM_EVENT_FLAG_*. + */ + int event_flags; +#define AVSTREAM_EVENT_FLAG_METADATA_UPDATED 0x0001 ///< The call resulted in updated metadata. + + /***************************************************************** + * All fields below this line are not part of the public API. They + * may not be used outside of libavformat and can be changed and + * removed at will. + * Internal note: be aware that physically removing these fields + * will break ABI. Replace removed fields with dummy fields, and + * add new fields to AVStreamInternal. + ***************************************************************** + */ + + /** + * Stream information used internally by avformat_find_stream_info() + */ +#define MAX_STD_TIMEBASES (30*12+30+3+6) + struct { + int64_t last_dts; + int64_t duration_gcd; + int duration_count; + int64_t rfps_duration_sum; + double (*duration_error)[2][MAX_STD_TIMEBASES]; + int64_t codec_info_duration; + int64_t codec_info_duration_fields; + + /** + * 0 -> decoder has not been searched for yet. + * >0 -> decoder found + * <0 -> decoder with codec_id == -found_decoder has not been found + */ + int found_decoder; + + int64_t last_duration; + + /** + * Those are used for average framerate estimation. + */ + int64_t fps_first_dts; + int fps_first_dts_idx; + int64_t fps_last_dts; + int fps_last_dts_idx; + + } *info; + + int pts_wrap_bits; /**< number of bits in pts (used for wrapping control) */ + + // Timestamp generation support: + /** + * Timestamp corresponding to the last dts sync point. + * + * Initialized when AVCodecParserContext.dts_sync_point >= 0 and + * a DTS is received from the underlying container. Otherwise set to + * AV_NOPTS_VALUE by default. + */ + int64_t first_dts; + int64_t cur_dts; + int64_t last_IP_pts; + int last_IP_duration; + + /** + * Number of packets to buffer for codec probing + */ + int probe_packets; + + /** + * Number of frames that have been demuxed during avformat_find_stream_info() + */ + int codec_info_nb_frames; + + /* av_read_frame() support */ + enum AVStreamParseType need_parsing; + struct AVCodecParserContext *parser; + + /** + * last packet in packet_buffer for this stream when muxing. + */ + struct AVPacketList *last_in_packet_buffer; + AVProbeData probe_data; +#define MAX_REORDER_DELAY 16 + int64_t pts_buffer[MAX_REORDER_DELAY+1]; + + AVIndexEntry *index_entries; /**< Only used if the format does not + support seeking natively. */ + int nb_index_entries; + unsigned int index_entries_allocated_size; + + /** + * Real base framerate of the stream. + * This is the lowest framerate with which all timestamps can be + * represented accurately (it is the least common multiple of all + * framerates in the stream). Note, this value is just a guess! + * For example, if the time base is 1/90000 and all frames have either + * approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1. + * + * Code outside avformat should access this field using: + * av_stream_get/set_r_frame_rate(stream) + */ + AVRational r_frame_rate; + + /** + * Stream Identifier + * This is the MPEG-TS stream identifier +1 + * 0 means unknown + */ + int stream_identifier; + + int64_t interleaver_chunk_size; + int64_t interleaver_chunk_duration; + + /** + * stream probing state + * -1 -> probing finished + * 0 -> no probing requested + * rest -> perform probing with request_probe being the minimum score to accept. + * NOT PART OF PUBLIC API + */ + int request_probe; + /** + * Indicates that everything up to the next keyframe + * should be discarded. + */ + int skip_to_keyframe; + + /** + * Number of samples to skip at the start of the frame decoded from the next packet. + */ + int skip_samples; + + /** + * If not 0, the number of samples that should be skipped from the start of + * the stream (the samples are removed from packets with pts==0, which also + * assumes negative timestamps do not happen). + * Intended for use with formats such as mp3 with ad-hoc gapless audio + * support. + */ + int64_t start_skip_samples; + + /** + * If not 0, the first audio sample that should be discarded from the stream. + * This is broken by design (needs global sample count), but can't be + * avoided for broken by design formats such as mp3 with ad-hoc gapless + * audio support. + */ + int64_t first_discard_sample; + + /** + * The sample after last sample that is intended to be discarded after + * first_discard_sample. Works on frame boundaries only. Used to prevent + * early EOF if the gapless info is broken (considered concatenated mp3s). + */ + int64_t last_discard_sample; + + /** + * Number of internally decoded frames, used internally in libavformat, do not access + * its lifetime differs from info which is why it is not in that structure. + */ + int nb_decoded_frames; + + /** + * Timestamp offset added to timestamps before muxing + * NOT PART OF PUBLIC API + */ + int64_t mux_ts_offset; + + /** + * Internal data to check for wrapping of the time stamp + */ + int64_t pts_wrap_reference; + + /** + * Options for behavior, when a wrap is detected. + * + * Defined by AV_PTS_WRAP_ values. + * + * If correction is enabled, there are two possibilities: + * If the first time stamp is near the wrap point, the wrap offset + * will be subtracted, which will create negative time stamps. + * Otherwise the offset will be added. + */ + int pts_wrap_behavior; + + /** + * Internal data to prevent doing update_initial_durations() twice + */ + int update_initial_durations_done; + + /** + * Internal data to generate dts from pts + */ + int64_t pts_reorder_error[MAX_REORDER_DELAY+1]; + uint8_t pts_reorder_error_count[MAX_REORDER_DELAY+1]; + + /** + * Internal data to analyze DTS and detect faulty mpeg streams + */ + int64_t last_dts_for_order_check; + uint8_t dts_ordered; + uint8_t dts_misordered; + + /** + * Internal data to inject global side data + */ + int inject_global_side_data; + + /***************************************************************** + * All fields above this line are not part of the public API. + * Fields below are part of the public API and ABI again. + ***************************************************************** + */ + + /** + * String containing paris of key and values describing recommended encoder configuration. + * Paris are separated by ','. + * Keys are separated from values by '='. + */ + char *recommended_encoder_configuration; + + /** + * display aspect ratio (0 if unknown) + * - encoding: unused + * - decoding: Set by libavformat to calculate sample_aspect_ratio internally + */ + AVRational display_aspect_ratio; + + struct FFFrac *priv_pts; + + /** + * An opaque field for libavformat internal usage. + * Must not be accessed in any way by callers. + */ + AVStreamInternal *internal; + + /* + * Codec parameters associated with this stream. Allocated and freed by + * libavformat in avformat_new_stream() and avformat_free_context() + * respectively. + * + * - demuxing: filled by libavformat on stream creation or in + * avformat_find_stream_info() + * - muxing: filled by the caller before avformat_write_header() + */ + AVCodecParameters *codecpar; +} AVStream; + +AVRational av_stream_get_r_frame_rate(const AVStream *s); +void av_stream_set_r_frame_rate(AVStream *s, AVRational r); +struct AVCodecParserContext *av_stream_get_parser(const AVStream *s); +char* av_stream_get_recommended_encoder_configuration(const AVStream *s); +void av_stream_set_recommended_encoder_configuration(AVStream *s, char *configuration); + +/** + * Returns the pts of the last muxed packet + its duration + * + * the retuned value is undefined when used with a demuxer. + */ +int64_t av_stream_get_end_pts(const AVStream *st); + +#define AV_PROGRAM_RUNNING 1 + +/** + * New fields can be added to the end with minor version bumps. + * Removal, reordering and changes to existing fields require a major + * version bump. + * sizeof(AVProgram) must not be used outside libav*. + */ +typedef struct AVProgram { + int id; + int flags; + enum AVDiscard discard; ///< selects which program to discard and which to feed to the caller + unsigned int *stream_index; + unsigned int nb_stream_indexes; + AVDictionary *metadata; + + int program_num; + int pmt_pid; + int pcr_pid; + + /***************************************************************** + * All fields below this line are not part of the public API. They + * may not be used outside of libavformat and can be changed and + * removed at will. + * New public fields should be added right above. + ***************************************************************** + */ + int64_t start_time; + int64_t end_time; + + int64_t pts_wrap_reference; ///< reference dts for wrap detection + int pts_wrap_behavior; ///< behavior on wrap detection +} AVProgram; + +#define AVFMTCTX_NOHEADER 0x0001 /**< signal that no header is present + (streams are added dynamically) */ + +typedef struct AVChapter { + int id; ///< unique ID to identify the chapter + AVRational time_base; ///< time base in which the start/end timestamps are specified + int64_t start, end; ///< chapter start/end time in time_base units + AVDictionary *metadata; +} AVChapter; + + +/** + * Callback used by devices to communicate with application. + */ +typedef int (*av_format_control_message)(struct AVFormatContext *s, int type, + void *data, size_t data_size); + +typedef int (*AVOpenCallback)(struct AVFormatContext *s, AVIOContext **pb, const char *url, int flags, + const AVIOInterruptCB *int_cb, AVDictionary **options); + +/** + * The duration of a video can be estimated through various ways, and this enum can be used + * to know how the duration was estimated. + */ +enum AVDurationEstimationMethod { + AVFMT_DURATION_FROM_PTS, ///< Duration accurately estimated from PTSes + AVFMT_DURATION_FROM_STREAM, ///< Duration estimated from a stream with a known duration + AVFMT_DURATION_FROM_BITRATE ///< Duration estimated from bitrate (less accurate) +}; + +typedef struct AVFormatInternal AVFormatInternal; + +/** + * Format I/O context. + * New fields can be added to the end with minor version bumps. + * Removal, reordering and changes to existing fields require a major + * version bump. + * sizeof(AVFormatContext) must not be used outside libav*, use + * avformat_alloc_context() to create an AVFormatContext. + * + * Fields can be accessed through AVOptions (av_opt*), + * the name string used matches the associated command line parameter name and + * can be found in libavformat/options_table.h. + * The AVOption/command line parameter names differ in some cases from the C + * structure field names for historic reasons or brevity. + */ +typedef struct AVFormatContext { + /** + * A class for logging and @ref avoptions. Set by avformat_alloc_context(). + * Exports (de)muxer private options if they exist. + */ + const AVClass *av_class; + + /** + * The input container format. + * + * Demuxing only, set by avformat_open_input(). + */ + struct AVInputFormat *iformat; + + /** + * The output container format. + * + * Muxing only, must be set by the caller before avformat_write_header(). + */ + struct AVOutputFormat *oformat; + + /** + * Format private data. This is an AVOptions-enabled struct + * if and only if iformat/oformat.priv_class is not NULL. + * + * - muxing: set by avformat_write_header() + * - demuxing: set by avformat_open_input() + */ + void *priv_data; + + /** + * I/O context. + * + * - demuxing: either set by the user before avformat_open_input() (then + * the user must close it manually) or set by avformat_open_input(). + * - muxing: set by the user before avformat_write_header(). The caller must + * take care of closing / freeing the IO context. + * + * Do NOT set this field if AVFMT_NOFILE flag is set in + * iformat/oformat.flags. In such a case, the (de)muxer will handle + * I/O in some other way and this field will be NULL. + */ + AVIOContext *pb; + + /* stream info */ + /** + * Flags signalling stream properties. A combination of AVFMTCTX_*. + * Set by libavformat. + */ + int ctx_flags; + + /** + * Number of elements in AVFormatContext.streams. + * + * Set by avformat_new_stream(), must not be modified by any other code. + */ + unsigned int nb_streams; + /** + * A list of all streams in the file. New streams are created with + * avformat_new_stream(). + * + * - demuxing: streams are created by libavformat in avformat_open_input(). + * If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also + * appear in av_read_frame(). + * - muxing: streams are created by the user before avformat_write_header(). + * + * Freed by libavformat in avformat_free_context(). + */ + AVStream **streams; + + /** + * input or output filename + * + * - demuxing: set by avformat_open_input() + * - muxing: may be set by the caller before avformat_write_header() + */ + char filename[1024]; + + /** + * Position of the first frame of the component, in + * AV_TIME_BASE fractional seconds. NEVER set this value directly: + * It is deduced from the AVStream values. + * + * Demuxing only, set by libavformat. + */ + int64_t start_time; + + /** + * Duration of the stream, in AV_TIME_BASE fractional + * seconds. Only set this value if you know none of the individual stream + * durations and also do not set any of them. This is deduced from the + * AVStream values if not set. + * + * Demuxing only, set by libavformat. + */ + int64_t duration; + + /** + * Total stream bitrate in bit/s, 0 if not + * available. Never set it directly if the file_size and the + * duration are known as FFmpeg can compute it automatically. + */ + int64_t bit_rate; + + unsigned int packet_size; + int max_delay; + + /** + * Flags modifying the (de)muxer behaviour. A combination of AVFMT_FLAG_*. + * Set by the user before avformat_open_input() / avformat_write_header(). + */ + int flags; +#define AVFMT_FLAG_GENPTS 0x0001 ///< Generate missing pts even if it requires parsing future frames. +#define AVFMT_FLAG_IGNIDX 0x0002 ///< Ignore index. +#define AVFMT_FLAG_NONBLOCK 0x0004 ///< Do not block when reading packets from input. +#define AVFMT_FLAG_IGNDTS 0x0008 ///< Ignore DTS on frames that contain both DTS & PTS +#define AVFMT_FLAG_NOFILLIN 0x0010 ///< Do not infer any values from other values, just return what is stored in the container +#define AVFMT_FLAG_NOPARSE 0x0020 ///< Do not use AVParsers, you also must set AVFMT_FLAG_NOFILLIN as the fillin code works on frames and no parsing -> no frames. Also seeking to frames can not work if parsing to find frame boundaries has been disabled +#define AVFMT_FLAG_NOBUFFER 0x0040 ///< Do not buffer frames when possible +#define AVFMT_FLAG_CUSTOM_IO 0x0080 ///< The caller has supplied a custom AVIOContext, don't avio_close() it. +#define AVFMT_FLAG_DISCARD_CORRUPT 0x0100 ///< Discard frames marked corrupted +#define AVFMT_FLAG_FLUSH_PACKETS 0x0200 ///< Flush the AVIOContext every packet. +/** + * When muxing, try to avoid writing any random/volatile data to the output. + * This includes any random IDs, real-time timestamps/dates, muxer version, etc. + * + * This flag is mainly intended for testing. + */ +#define AVFMT_FLAG_BITEXACT 0x0400 +#define AVFMT_FLAG_MP4A_LATM 0x8000 ///< Enable RTP MP4A-LATM payload +#define AVFMT_FLAG_SORT_DTS 0x10000 ///< try to interleave outputted packets by dts (using this flag can slow demuxing down) +#define AVFMT_FLAG_PRIV_OPT 0x20000 ///< Enable use of private options by delaying codec open (this could be made default once all code is converted) +#if FF_API_LAVF_KEEPSIDE_FLAG +#define AVFMT_FLAG_KEEP_SIDE_DATA 0x40000 ///< Don't merge side data but keep it separate. Deprecated, will be the default. +#endif +#define AVFMT_FLAG_FAST_SEEK 0x80000 ///< Enable fast, but inaccurate seeks for some formats +#define AVFMT_FLAG_SHORTEST 0x100000 ///< Stop muxing when the shortest stream stops. +#define AVFMT_FLAG_AUTO_BSF 0x200000 ///< Wait for packet data before writing a header, and add bitstream filters as requested by the muxer + + /** + * Maximum size of the data read from input for determining + * the input container format. + * Demuxing only, set by the caller before avformat_open_input(). + */ + int64_t probesize; + + /** + * Maximum duration (in AV_TIME_BASE units) of the data read + * from input in avformat_find_stream_info(). + * Demuxing only, set by the caller before avformat_find_stream_info(). + * Can be set to 0 to let avformat choose using a heuristic. + */ + int64_t max_analyze_duration; + + const uint8_t *key; + int keylen; + + unsigned int nb_programs; + AVProgram **programs; + + /** + * Forced video codec_id. + * Demuxing: Set by user. + */ + enum AVCodecID video_codec_id; + + /** + * Forced audio codec_id. + * Demuxing: Set by user. + */ + enum AVCodecID audio_codec_id; + + /** + * Forced subtitle codec_id. + * Demuxing: Set by user. + */ + enum AVCodecID subtitle_codec_id; + + /** + * Maximum amount of memory in bytes to use for the index of each stream. + * If the index exceeds this size, entries will be discarded as + * needed to maintain a smaller size. This can lead to slower or less + * accurate seeking (depends on demuxer). + * Demuxers for which a full in-memory index is mandatory will ignore + * this. + * - muxing: unused + * - demuxing: set by user + */ + unsigned int max_index_size; + + /** + * Maximum amount of memory in bytes to use for buffering frames + * obtained from realtime capture devices. + */ + unsigned int max_picture_buffer; + + /** + * Number of chapters in AVChapter array. + * When muxing, chapters are normally written in the file header, + * so nb_chapters should normally be initialized before write_header + * is called. Some muxers (e.g. mov and mkv) can also write chapters + * in the trailer. To write chapters in the trailer, nb_chapters + * must be zero when write_header is called and non-zero when + * write_trailer is called. + * - muxing: set by user + * - demuxing: set by libavformat + */ + unsigned int nb_chapters; + AVChapter **chapters; + + /** + * Metadata that applies to the whole file. + * + * - demuxing: set by libavformat in avformat_open_input() + * - muxing: may be set by the caller before avformat_write_header() + * + * Freed by libavformat in avformat_free_context(). + */ + AVDictionary *metadata; + + /** + * Start time of the stream in real world time, in microseconds + * since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the + * stream was captured at this real world time. + * - muxing: Set by the caller before avformat_write_header(). If set to + * either 0 or AV_NOPTS_VALUE, then the current wall-time will + * be used. + * - demuxing: Set by libavformat. AV_NOPTS_VALUE if unknown. Note that + * the value may become known after some number of frames + * have been received. + */ + int64_t start_time_realtime; + + /** + * The number of frames used for determining the framerate in + * avformat_find_stream_info(). + * Demuxing only, set by the caller before avformat_find_stream_info(). + */ + int fps_probe_size; + + /** + * Error recognition; higher values will detect more errors but may + * misdetect some more or less valid parts as errors. + * Demuxing only, set by the caller before avformat_open_input(). + */ + int error_recognition; + + /** + * Custom interrupt callbacks for the I/O layer. + * + * demuxing: set by the user before avformat_open_input(). + * muxing: set by the user before avformat_write_header() + * (mainly useful for AVFMT_NOFILE formats). The callback + * should also be passed to avio_open2() if it's used to + * open the file. + */ + AVIOInterruptCB interrupt_callback; + + /** + * Flags to enable debugging. + */ + int debug; +#define FF_FDEBUG_TS 0x0001 + + /** + * Maximum buffering duration for interleaving. + * + * To ensure all the streams are interleaved correctly, + * av_interleaved_write_frame() will wait until it has at least one packet + * for each stream before actually writing any packets to the output file. + * When some streams are "sparse" (i.e. there are large gaps between + * successive packets), this can result in excessive buffering. + * + * This field specifies the maximum difference between the timestamps of the + * first and the last packet in the muxing queue, above which libavformat + * will output a packet regardless of whether it has queued a packet for all + * the streams. + * + * Muxing only, set by the caller before avformat_write_header(). + */ + int64_t max_interleave_delta; + + /** + * Allow non-standard and experimental extension + * @see AVCodecContext.strict_std_compliance + */ + int strict_std_compliance; + + /** + * Flags for the user to detect events happening on the file. Flags must + * be cleared by the user once the event has been handled. + * A combination of AVFMT_EVENT_FLAG_*. + */ + int event_flags; +#define AVFMT_EVENT_FLAG_METADATA_UPDATED 0x0001 ///< The call resulted in updated metadata. + + /** + * Maximum number of packets to read while waiting for the first timestamp. + * Decoding only. + */ + int max_ts_probe; + + /** + * Avoid negative timestamps during muxing. + * Any value of the AVFMT_AVOID_NEG_TS_* constants. + * Note, this only works when using av_interleaved_write_frame. (interleave_packet_per_dts is in use) + * - muxing: Set by user + * - demuxing: unused + */ + int avoid_negative_ts; +#define AVFMT_AVOID_NEG_TS_AUTO -1 ///< Enabled when required by target format +#define AVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE 1 ///< Shift timestamps so they are non negative +#define AVFMT_AVOID_NEG_TS_MAKE_ZERO 2 ///< Shift timestamps so that they start at 0 + + /** + * Transport stream id. + * This will be moved into demuxer private options. Thus no API/ABI compatibility + */ + int ts_id; + + /** + * Audio preload in microseconds. + * Note, not all formats support this and unpredictable things may happen if it is used when not supported. + * - encoding: Set by user + * - decoding: unused + */ + int audio_preload; + + /** + * Max chunk time in microseconds. + * Note, not all formats support this and unpredictable things may happen if it is used when not supported. + * - encoding: Set by user + * - decoding: unused + */ + int max_chunk_duration; + + /** + * Max chunk size in bytes + * Note, not all formats support this and unpredictable things may happen if it is used when not supported. + * - encoding: Set by user + * - decoding: unused + */ + int max_chunk_size; + + /** + * forces the use of wallclock timestamps as pts/dts of packets + * This has undefined results in the presence of B frames. + * - encoding: unused + * - decoding: Set by user + */ + int use_wallclock_as_timestamps; + + /** + * avio flags, used to force AVIO_FLAG_DIRECT. + * - encoding: unused + * - decoding: Set by user + */ + int avio_flags; + + /** + * The duration field can be estimated through various ways, and this field can be used + * to know how the duration was estimated. + * - encoding: unused + * - decoding: Read by user + */ + enum AVDurationEstimationMethod duration_estimation_method; + + /** + * Skip initial bytes when opening stream + * - encoding: unused + * - decoding: Set by user + */ + int64_t skip_initial_bytes; + + /** + * Correct single timestamp overflows + * - encoding: unused + * - decoding: Set by user + */ + unsigned int correct_ts_overflow; + + /** + * Force seeking to any (also non key) frames. + * - encoding: unused + * - decoding: Set by user + */ + int seek2any; + + /** + * Flush the I/O context after each packet. + * - encoding: Set by user + * - decoding: unused + */ + int flush_packets; + + /** + * format probing score. + * The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes + * the format. + * - encoding: unused + * - decoding: set by avformat, read by user + */ + int probe_score; + + /** + * number of bytes to read maximally to identify format. + * - encoding: unused + * - decoding: set by user + */ + int format_probesize; + + /** + * ',' separated list of allowed decoders. + * If NULL then all are allowed + * - encoding: unused + * - decoding: set by user + */ + char *codec_whitelist; + + /** + * ',' separated list of allowed demuxers. + * If NULL then all are allowed + * - encoding: unused + * - decoding: set by user + */ + char *format_whitelist; + + /** + * An opaque field for libavformat internal usage. + * Must not be accessed in any way by callers. + */ + AVFormatInternal *internal; + + /** + * IO repositioned flag. + * This is set by avformat when the underlaying IO context read pointer + * is repositioned, for example when doing byte based seeking. + * Demuxers can use the flag to detect such changes. + */ + int io_repositioned; + + /** + * Forced video codec. + * This allows forcing a specific decoder, even when there are multiple with + * the same codec_id. + * Demuxing: Set by user + */ + AVCodec *video_codec; + + /** + * Forced audio codec. + * This allows forcing a specific decoder, even when there are multiple with + * the same codec_id. + * Demuxing: Set by user + */ + AVCodec *audio_codec; + + /** + * Forced subtitle codec. + * This allows forcing a specific decoder, even when there are multiple with + * the same codec_id. + * Demuxing: Set by user + */ + AVCodec *subtitle_codec; + + /** + * Forced data codec. + * This allows forcing a specific decoder, even when there are multiple with + * the same codec_id. + * Demuxing: Set by user + */ + AVCodec *data_codec; + + /** + * Number of bytes to be written as padding in a metadata header. + * Demuxing: Unused. + * Muxing: Set by user via av_format_set_metadata_header_padding. + */ + int metadata_header_padding; + + /** + * User data. + * This is a place for some private data of the user. + */ + void *opaque; + + /** + * Callback used by devices to communicate with application. + */ + av_format_control_message control_message_cb; + + /** + * Output timestamp offset, in microseconds. + * Muxing: set by user + */ + int64_t output_ts_offset; + + /** + * dump format separator. + * can be ", " or "\n " or anything else + * - muxing: Set by user. + * - demuxing: Set by user. + */ + uint8_t *dump_separator; + + /** + * Forced Data codec_id. + * Demuxing: Set by user. + */ + enum AVCodecID data_codec_id; + +#if FF_API_OLD_OPEN_CALLBACKS + /** + * Called to open further IO contexts when needed for demuxing. + * + * This can be set by the user application to perform security checks on + * the URLs before opening them. + * The function should behave like avio_open2(), AVFormatContext is provided + * as contextual information and to reach AVFormatContext.opaque. + * + * If NULL then some simple checks are used together with avio_open2(). + * + * Must not be accessed directly from outside avformat. + * @See av_format_set_open_cb() + * + * Demuxing: Set by user. + * + * @deprecated Use io_open and io_close. + */ + attribute_deprecated + int (*open_cb)(struct AVFormatContext *s, AVIOContext **p, const char *url, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options); +#endif + + /** + * ',' separated list of allowed protocols. + * - encoding: unused + * - decoding: set by user + */ + char *protocol_whitelist; + + /* + * A callback for opening new IO streams. + * + * Whenever a muxer or a demuxer needs to open an IO stream (typically from + * avformat_open_input() for demuxers, but for certain formats can happen at + * other times as well), it will call this callback to obtain an IO context. + * + * @param s the format context + * @param pb on success, the newly opened IO context should be returned here + * @param url the url to open + * @param flags a combination of AVIO_FLAG_* + * @param options a dictionary of additional options, with the same + * semantics as in avio_open2() + * @return 0 on success, a negative AVERROR code on failure + * + * @note Certain muxers and demuxers do nesting, i.e. they open one or more + * additional internal format contexts. Thus the AVFormatContext pointer + * passed to this callback may be different from the one facing the caller. + * It will, however, have the same 'opaque' field. + */ + int (*io_open)(struct AVFormatContext *s, AVIOContext **pb, const char *url, + int flags, AVDictionary **options); + + /** + * A callback for closing the streams opened with AVFormatContext.io_open(). + */ + void (*io_close)(struct AVFormatContext *s, AVIOContext *pb); + + /** + * ',' separated list of disallowed protocols. + * - encoding: unused + * - decoding: set by user + */ + char *protocol_blacklist; + + /** + * The maximum number of streams. + * - encoding: unused + * - decoding: set by user + */ + int max_streams; +} AVFormatContext; + +/** + * Accessors for some AVFormatContext fields. These used to be provided for ABI + * compatibility, and do not need to be used anymore. + */ +int av_format_get_probe_score(const AVFormatContext *s); +AVCodec * av_format_get_video_codec(const AVFormatContext *s); +void av_format_set_video_codec(AVFormatContext *s, AVCodec *c); +AVCodec * av_format_get_audio_codec(const AVFormatContext *s); +void av_format_set_audio_codec(AVFormatContext *s, AVCodec *c); +AVCodec * av_format_get_subtitle_codec(const AVFormatContext *s); +void av_format_set_subtitle_codec(AVFormatContext *s, AVCodec *c); +AVCodec * av_format_get_data_codec(const AVFormatContext *s); +void av_format_set_data_codec(AVFormatContext *s, AVCodec *c); +int av_format_get_metadata_header_padding(const AVFormatContext *s); +void av_format_set_metadata_header_padding(AVFormatContext *s, int c); +void * av_format_get_opaque(const AVFormatContext *s); +void av_format_set_opaque(AVFormatContext *s, void *opaque); +av_format_control_message av_format_get_control_message_cb(const AVFormatContext *s); +void av_format_set_control_message_cb(AVFormatContext *s, av_format_control_message callback); +#if FF_API_OLD_OPEN_CALLBACKS +attribute_deprecated AVOpenCallback av_format_get_open_cb(const AVFormatContext *s); +attribute_deprecated void av_format_set_open_cb(AVFormatContext *s, AVOpenCallback callback); +#endif + +/** + * This function will cause global side data to be injected in the next packet + * of each stream as well as after any subsequent seek. + */ +void av_format_inject_global_side_data(AVFormatContext *s); + +/** + * Returns the method used to set ctx->duration. + * + * @return AVFMT_DURATION_FROM_PTS, AVFMT_DURATION_FROM_STREAM, or AVFMT_DURATION_FROM_BITRATE. + */ +enum AVDurationEstimationMethod av_fmt_ctx_get_duration_estimation_method(const AVFormatContext* ctx); + +typedef struct AVPacketList { + AVPacket pkt; + struct AVPacketList *next; +} AVPacketList; + + +/** + * @defgroup lavf_core Core functions + * @ingroup libavf + * + * Functions for querying libavformat capabilities, allocating core structures, + * etc. + * @{ + */ + +/** + * Return the LIBAVFORMAT_VERSION_INT constant. + */ +unsigned avformat_version(void); + +/** + * Return the libavformat build-time configuration. + */ +const char *avformat_configuration(void); + +/** + * Return the libavformat license. + */ +const char *avformat_license(void); + +/** + * Initialize libavformat and register all the muxers, demuxers and + * protocols. If you do not call this function, then you can select + * exactly which formats you want to support. + * + * @see av_register_input_format() + * @see av_register_output_format() + */ +void av_register_all(void); + +void av_register_input_format(AVInputFormat *format); +void av_register_output_format(AVOutputFormat *format); + +/** + * Do global initialization of network components. This is optional, + * but recommended, since it avoids the overhead of implicitly + * doing the setup for each session. + * + * Calling this function will become mandatory if using network + * protocols at some major version bump. + */ +int avformat_network_init(void); + +/** + * Undo the initialization done by avformat_network_init. + */ +int avformat_network_deinit(void); + +/** + * If f is NULL, returns the first registered input format, + * if f is non-NULL, returns the next registered input format after f + * or NULL if f is the last one. + */ +AVInputFormat *av_iformat_next(const AVInputFormat *f); + +/** + * If f is NULL, returns the first registered output format, + * if f is non-NULL, returns the next registered output format after f + * or NULL if f is the last one. + */ +AVOutputFormat *av_oformat_next(const AVOutputFormat *f); + +/** + * Allocate an AVFormatContext. + * avformat_free_context() can be used to free the context and everything + * allocated by the framework within it. + */ +AVFormatContext *avformat_alloc_context(void); + +/** + * Free an AVFormatContext and all its streams. + * @param s context to free + */ +void avformat_free_context(AVFormatContext *s); + +/** + * Get the AVClass for AVFormatContext. It can be used in combination with + * AV_OPT_SEARCH_FAKE_OBJ for examining options. + * + * @see av_opt_find(). + */ +const AVClass *avformat_get_class(void); + +/** + * Add a new stream to a media file. + * + * When demuxing, it is called by the demuxer in read_header(). If the + * flag AVFMTCTX_NOHEADER is set in s.ctx_flags, then it may also + * be called in read_packet(). + * + * When muxing, should be called by the user before avformat_write_header(). + * + * User is required to call avcodec_close() and avformat_free_context() to + * clean up the allocation by avformat_new_stream(). + * + * @param s media file handle + * @param c If non-NULL, the AVCodecContext corresponding to the new stream + * will be initialized to use this codec. This is needed for e.g. codec-specific + * defaults to be set, so codec should be provided if it is known. + * + * @return newly created stream or NULL on error. + */ +AVStream *avformat_new_stream(AVFormatContext *s, const AVCodec *c); + +/** + * Wrap an existing array as stream side data. + * + * @param st stream + * @param type side information type + * @param data the side data array. It must be allocated with the av_malloc() + * family of functions. The ownership of the data is transferred to + * st. + * @param size side information size + * @return zero on success, a negative AVERROR code on failure. On failure, + * the stream is unchanged and the data remains owned by the caller. + */ +int av_stream_add_side_data(AVStream *st, enum AVPacketSideDataType type, + uint8_t *data, size_t size); + +/** + * Allocate new information from stream. + * + * @param stream stream + * @param type desired side information type + * @param size side information size + * @return pointer to fresh allocated data or NULL otherwise + */ +uint8_t *av_stream_new_side_data(AVStream *stream, + enum AVPacketSideDataType type, int size); +/** + * Get side information from stream. + * + * @param stream stream + * @param type desired side information type + * @param size pointer for side information size to store (optional) + * @return pointer to data if present or NULL otherwise + */ +#if FF_API_NOCONST_GET_SIDE_DATA +uint8_t *av_stream_get_side_data(AVStream *stream, + enum AVPacketSideDataType type, int *size); +#else +uint8_t *av_stream_get_side_data(const AVStream *stream, + enum AVPacketSideDataType type, int *size); +#endif + +AVProgram *av_new_program(AVFormatContext *s, int id); + +/** + * @} + */ + + +/** + * Allocate an AVFormatContext for an output format. + * avformat_free_context() can be used to free the context and + * everything allocated by the framework within it. + * + * @param *ctx is set to the created format context, or to NULL in + * case of failure + * @param oformat format to use for allocating the context, if NULL + * format_name and filename are used instead + * @param format_name the name of output format to use for allocating the + * context, if NULL filename is used instead + * @param filename the name of the filename to use for allocating the + * context, may be NULL + * @return >= 0 in case of success, a negative AVERROR code in case of + * failure + */ +int avformat_alloc_output_context2(AVFormatContext **ctx, AVOutputFormat *oformat, + const char *format_name, const char *filename); + +/** + * @addtogroup lavf_decoding + * @{ + */ + +/** + * Find AVInputFormat based on the short name of the input format. + */ +AVInputFormat *av_find_input_format(const char *short_name); + +/** + * Guess the file format. + * + * @param pd data to be probed + * @param is_opened Whether the file is already opened; determines whether + * demuxers with or without AVFMT_NOFILE are probed. + */ +AVInputFormat *av_probe_input_format(AVProbeData *pd, int is_opened); + +/** + * Guess the file format. + * + * @param pd data to be probed + * @param is_opened Whether the file is already opened; determines whether + * demuxers with or without AVFMT_NOFILE are probed. + * @param score_max A probe score larger that this is required to accept a + * detection, the variable is set to the actual detection + * score afterwards. + * If the score is <= AVPROBE_SCORE_MAX / 4 it is recommended + * to retry with a larger probe buffer. + */ +AVInputFormat *av_probe_input_format2(AVProbeData *pd, int is_opened, int *score_max); + +/** + * Guess the file format. + * + * @param is_opened Whether the file is already opened; determines whether + * demuxers with or without AVFMT_NOFILE are probed. + * @param score_ret The score of the best detection. + */ +AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened, int *score_ret); + +/** + * Probe a bytestream to determine the input format. Each time a probe returns + * with a score that is too low, the probe buffer size is increased and another + * attempt is made. When the maximum probe size is reached, the input format + * with the highest score is returned. + * + * @param pb the bytestream to probe + * @param fmt the input format is put here + * @param url the url of the stream + * @param logctx the log context + * @param offset the offset within the bytestream to probe from + * @param max_probe_size the maximum probe buffer size (zero for default) + * @return the score in case of success, a negative value corresponding to an + * the maximal score is AVPROBE_SCORE_MAX + * AVERROR code otherwise + */ +int av_probe_input_buffer2(AVIOContext *pb, AVInputFormat **fmt, + const char *url, void *logctx, + unsigned int offset, unsigned int max_probe_size); + +/** + * Like av_probe_input_buffer2() but returns 0 on success + */ +int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, + const char *url, void *logctx, + unsigned int offset, unsigned int max_probe_size); + +/** + * Open an input stream and read the header. The codecs are not opened. + * The stream must be closed with avformat_close_input(). + * + * @param ps Pointer to user-supplied AVFormatContext (allocated by avformat_alloc_context). + * May be a pointer to NULL, in which case an AVFormatContext is allocated by this + * function and written into ps. + * Note that a user-supplied AVFormatContext will be freed on failure. + * @param url URL of the stream to open. + * @param fmt If non-NULL, this parameter forces a specific input format. + * Otherwise the format is autodetected. + * @param options A dictionary filled with AVFormatContext and demuxer-private options. + * On return this parameter will be destroyed and replaced with a dict containing + * options that were not found. May be NULL. + * + * @return 0 on success, a negative AVERROR on failure. + * + * @note If you want to use custom IO, preallocate the format context and set its pb field. + */ +int avformat_open_input(AVFormatContext **ps, const char *url, AVInputFormat *fmt, AVDictionary **options); + +attribute_deprecated +int av_demuxer_open(AVFormatContext *ic); + +/** + * Read packets of a media file to get stream information. This + * is useful for file formats with no headers such as MPEG. This + * function also computes the real framerate in case of MPEG-2 repeat + * frame mode. + * The logical file position is not changed by this function; + * examined packets may be buffered for later processing. + * + * @param ic media file handle + * @param options If non-NULL, an ic.nb_streams long array of pointers to + * dictionaries, where i-th member contains options for + * codec corresponding to i-th stream. + * On return each dictionary will be filled with options that were not found. + * @return >=0 if OK, AVERROR_xxx on error + * + * @note this function isn't guaranteed to open all the codecs, so + * options being non-empty at return is a perfectly normal behavior. + * + * @todo Let the user decide somehow what information is needed so that + * we do not waste time getting stuff the user does not need. + */ +int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options); + +/** + * Find the programs which belong to a given stream. + * + * @param ic media file handle + * @param last the last found program, the search will start after this + * program, or from the beginning if it is NULL + * @param s stream index + * @return the next program which belongs to s, NULL if no program is found or + * the last program is not among the programs of ic. + */ +AVProgram *av_find_program_from_stream(AVFormatContext *ic, AVProgram *last, int s); + +void av_program_add_stream_index(AVFormatContext *ac, int progid, unsigned int idx); + +/** + * Find the "best" stream in the file. + * The best stream is determined according to various heuristics as the most + * likely to be what the user expects. + * If the decoder parameter is non-NULL, av_find_best_stream will find the + * default decoder for the stream's codec; streams for which no decoder can + * be found are ignored. + * + * @param ic media file handle + * @param type stream type: video, audio, subtitles, etc. + * @param wanted_stream_nb user-requested stream number, + * or -1 for automatic selection + * @param related_stream try to find a stream related (eg. in the same + * program) to this one, or -1 if none + * @param decoder_ret if non-NULL, returns the decoder for the + * selected stream + * @param flags flags; none are currently defined + * @return the non-negative stream number in case of success, + * AVERROR_STREAM_NOT_FOUND if no stream with the requested type + * could be found, + * AVERROR_DECODER_NOT_FOUND if streams were found but no decoder + * @note If av_find_best_stream returns successfully and decoder_ret is not + * NULL, then *decoder_ret is guaranteed to be set to a valid AVCodec. + */ +int av_find_best_stream(AVFormatContext *ic, + enum AVMediaType type, + int wanted_stream_nb, + int related_stream, + AVCodec **decoder_ret, + int flags); + +/** + * Return the next frame of a stream. + * This function returns what is stored in the file, and does not validate + * that what is there are valid frames for the decoder. It will split what is + * stored in the file into frames and return one for each call. It will not + * omit invalid data between valid frames so as to give the decoder the maximum + * information possible for decoding. + * + * If pkt->buf is NULL, then the packet is valid until the next + * av_read_frame() or until avformat_close_input(). Otherwise the packet + * is valid indefinitely. In both cases the packet must be freed with + * av_packet_unref when it is no longer needed. For video, the packet contains + * exactly one frame. For audio, it contains an integer number of frames if each + * frame has a known fixed size (e.g. PCM or ADPCM data). If the audio frames + * have a variable size (e.g. MPEG audio), then it contains one frame. + * + * pkt->pts, pkt->dts and pkt->duration are always set to correct + * values in AVStream.time_base units (and guessed if the format cannot + * provide them). pkt->pts can be AV_NOPTS_VALUE if the video format + * has B-frames, so it is better to rely on pkt->dts if you do not + * decompress the payload. + * + * @return 0 if OK, < 0 on error or end of file + */ +int av_read_frame(AVFormatContext *s, AVPacket *pkt); + +/** + * Seek to the keyframe at timestamp. + * 'timestamp' in 'stream_index'. + * + * @param s media file handle + * @param stream_index If stream_index is (-1), a default + * stream is selected, and timestamp is automatically converted + * from AV_TIME_BASE units to the stream specific time_base. + * @param timestamp Timestamp in AVStream.time_base units + * or, if no stream is specified, in AV_TIME_BASE units. + * @param flags flags which select direction and seeking mode + * @return >= 0 on success + */ +int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, + int flags); + +/** + * Seek to timestamp ts. + * Seeking will be done so that the point from which all active streams + * can be presented successfully will be closest to ts and within min/max_ts. + * Active streams are all streams that have AVStream.discard < AVDISCARD_ALL. + * + * If flags contain AVSEEK_FLAG_BYTE, then all timestamps are in bytes and + * are the file position (this may not be supported by all demuxers). + * If flags contain AVSEEK_FLAG_FRAME, then all timestamps are in frames + * in the stream with stream_index (this may not be supported by all demuxers). + * Otherwise all timestamps are in units of the stream selected by stream_index + * or if stream_index is -1, in AV_TIME_BASE units. + * If flags contain AVSEEK_FLAG_ANY, then non-keyframes are treated as + * keyframes (this may not be supported by all demuxers). + * If flags contain AVSEEK_FLAG_BACKWARD, it is ignored. + * + * @param s media file handle + * @param stream_index index of the stream which is used as time base reference + * @param min_ts smallest acceptable timestamp + * @param ts target timestamp + * @param max_ts largest acceptable timestamp + * @param flags flags + * @return >=0 on success, error code otherwise + * + * @note This is part of the new seek API which is still under construction. + * Thus do not use this yet. It may change at any time, do not expect + * ABI compatibility yet! + */ +int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags); + +/** + * Discard all internally buffered data. This can be useful when dealing with + * discontinuities in the byte stream. Generally works only with formats that + * can resync. This includes headerless formats like MPEG-TS/TS but should also + * work with NUT, Ogg and in a limited way AVI for example. + * + * The set of streams, the detected duration, stream parameters and codecs do + * not change when calling this function. If you want a complete reset, it's + * better to open a new AVFormatContext. + * + * This does not flush the AVIOContext (s->pb). If necessary, call + * avio_flush(s->pb) before calling this function. + * + * @param s media file handle + * @return >=0 on success, error code otherwise + */ +int avformat_flush(AVFormatContext *s); + +/** + * Start playing a network-based stream (e.g. RTSP stream) at the + * current position. + */ +int av_read_play(AVFormatContext *s); + +/** + * Pause a network-based stream (e.g. RTSP stream). + * + * Use av_read_play() to resume it. + */ +int av_read_pause(AVFormatContext *s); + +/** + * Close an opened input AVFormatContext. Free it and all its contents + * and set *s to NULL. + */ +void avformat_close_input(AVFormatContext **s); +/** + * @} + */ + +#define AVSEEK_FLAG_BACKWARD 1 ///< seek backward +#define AVSEEK_FLAG_BYTE 2 ///< seeking based on position in bytes +#define AVSEEK_FLAG_ANY 4 ///< seek to any frame, even non-keyframes +#define AVSEEK_FLAG_FRAME 8 ///< seeking based on frame number + +/** + * @addtogroup lavf_encoding + * @{ + */ + +#define AVSTREAM_INIT_IN_WRITE_HEADER 0 ///< stream parameters initialized in avformat_write_header +#define AVSTREAM_INIT_IN_INIT_OUTPUT 1 ///< stream parameters initialized in avformat_init_output + +/** + * Allocate the stream private data and write the stream header to + * an output media file. + * + * @param s Media file handle, must be allocated with avformat_alloc_context(). + * Its oformat field must be set to the desired output format; + * Its pb field must be set to an already opened AVIOContext. + * @param options An AVDictionary filled with AVFormatContext and muxer-private options. + * On return this parameter will be destroyed and replaced with a dict containing + * options that were not found. May be NULL. + * + * @return AVSTREAM_INIT_IN_WRITE_HEADER on success if the codec had not already been fully initialized in avformat_init, + * AVSTREAM_INIT_IN_INIT_OUTPUT on success if the codec had already been fully initialized in avformat_init, + * negative AVERROR on failure. + * + * @see av_opt_find, av_dict_set, avio_open, av_oformat_next, avformat_init_output. + */ +av_warn_unused_result +int avformat_write_header(AVFormatContext *s, AVDictionary **options); + +/** + * Allocate the stream private data and initialize the codec, but do not write the header. + * May optionally be used before avformat_write_header to initialize stream parameters + * before actually writing the header. + * If using this function, do not pass the same options to avformat_write_header. + * + * @param s Media file handle, must be allocated with avformat_alloc_context(). + * Its oformat field must be set to the desired output format; + * Its pb field must be set to an already opened AVIOContext. + * @param options An AVDictionary filled with AVFormatContext and muxer-private options. + * On return this parameter will be destroyed and replaced with a dict containing + * options that were not found. May be NULL. + * + * @return AVSTREAM_INIT_IN_WRITE_HEADER on success if the codec requires avformat_write_header to fully initialize, + * AVSTREAM_INIT_IN_INIT_OUTPUT on success if the codec has been fully initialized, + * negative AVERROR on failure. + * + * @see av_opt_find, av_dict_set, avio_open, av_oformat_next, avformat_write_header. + */ +av_warn_unused_result +int avformat_init_output(AVFormatContext *s, AVDictionary **options); + +/** + * Write a packet to an output media file. + * + * This function passes the packet directly to the muxer, without any buffering + * or reordering. The caller is responsible for correctly interleaving the + * packets if the format requires it. Callers that want libavformat to handle + * the interleaving should call av_interleaved_write_frame() instead of this + * function. + * + * @param s media file handle + * @param pkt The packet containing the data to be written. Note that unlike + * av_interleaved_write_frame(), this function does not take + * ownership of the packet passed to it (though some muxers may make + * an internal reference to the input packet). + *
    + * This parameter can be NULL (at any time, not just at the end), in + * order to immediately flush data buffered within the muxer, for + * muxers that buffer up data internally before writing it to the + * output. + *
    + * Packet's @ref AVPacket.stream_index "stream_index" field must be + * set to the index of the corresponding stream in @ref + * AVFormatContext.streams "s->streams". + *
    + * The timestamps (@ref AVPacket.pts "pts", @ref AVPacket.dts "dts") + * must be set to correct values in the stream's timebase (unless the + * output format is flagged with the AVFMT_NOTIMESTAMPS flag, then + * they can be set to AV_NOPTS_VALUE). + * The dts for subsequent packets passed to this function must be strictly + * increasing when compared in their respective timebases (unless the + * output format is flagged with the AVFMT_TS_NONSTRICT, then they + * merely have to be nondecreasing). @ref AVPacket.duration + * "duration") should also be set if known. + * @return < 0 on error, = 0 if OK, 1 if flushed and there is no more data to flush + * + * @see av_interleaved_write_frame() + */ +int av_write_frame(AVFormatContext *s, AVPacket *pkt); + +/** + * Write a packet to an output media file ensuring correct interleaving. + * + * This function will buffer the packets internally as needed to make sure the + * packets in the output file are properly interleaved in the order of + * increasing dts. Callers doing their own interleaving should call + * av_write_frame() instead of this function. + * + * Using this function instead of av_write_frame() can give muxers advance + * knowledge of future packets, improving e.g. the behaviour of the mp4 + * muxer for VFR content in fragmenting mode. + * + * @param s media file handle + * @param pkt The packet containing the data to be written. + *
    + * If the packet is reference-counted, this function will take + * ownership of this reference and unreference it later when it sees + * fit. + * The caller must not access the data through this reference after + * this function returns. If the packet is not reference-counted, + * libavformat will make a copy. + *
    + * This parameter can be NULL (at any time, not just at the end), to + * flush the interleaving queues. + *
    + * Packet's @ref AVPacket.stream_index "stream_index" field must be + * set to the index of the corresponding stream in @ref + * AVFormatContext.streams "s->streams". + *
    + * The timestamps (@ref AVPacket.pts "pts", @ref AVPacket.dts "dts") + * must be set to correct values in the stream's timebase (unless the + * output format is flagged with the AVFMT_NOTIMESTAMPS flag, then + * they can be set to AV_NOPTS_VALUE). + * The dts for subsequent packets in one stream must be strictly + * increasing (unless the output format is flagged with the + * AVFMT_TS_NONSTRICT, then they merely have to be nondecreasing). + * @ref AVPacket.duration "duration") should also be set if known. + * + * @return 0 on success, a negative AVERROR on error. Libavformat will always + * take care of freeing the packet, even if this function fails. + * + * @see av_write_frame(), AVFormatContext.max_interleave_delta + */ +int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt); + +/** + * Write an uncoded frame to an output media file. + * + * The frame must be correctly interleaved according to the container + * specification; if not, then av_interleaved_write_frame() must be used. + * + * See av_interleaved_write_frame() for details. + */ +int av_write_uncoded_frame(AVFormatContext *s, int stream_index, + AVFrame *frame); + +/** + * Write an uncoded frame to an output media file. + * + * If the muxer supports it, this function makes it possible to write an AVFrame + * structure directly, without encoding it into a packet. + * It is mostly useful for devices and similar special muxers that use raw + * video or PCM data and will not serialize it into a byte stream. + * + * To test whether it is possible to use it with a given muxer and stream, + * use av_write_uncoded_frame_query(). + * + * The caller gives up ownership of the frame and must not access it + * afterwards. + * + * @return >=0 for success, a negative code on error + */ +int av_interleaved_write_uncoded_frame(AVFormatContext *s, int stream_index, + AVFrame *frame); + +/** + * Test whether a muxer supports uncoded frame. + * + * @return >=0 if an uncoded frame can be written to that muxer and stream, + * <0 if not + */ +int av_write_uncoded_frame_query(AVFormatContext *s, int stream_index); + +/** + * Write the stream trailer to an output media file and free the + * file private data. + * + * May only be called after a successful call to avformat_write_header. + * + * @param s media file handle + * @return 0 if OK, AVERROR_xxx on error + */ +int av_write_trailer(AVFormatContext *s); + +/** + * Return the output format in the list of registered output formats + * which best matches the provided parameters, or return NULL if + * there is no match. + * + * @param short_name if non-NULL checks if short_name matches with the + * names of the registered formats + * @param filename if non-NULL checks if filename terminates with the + * extensions of the registered formats + * @param mime_type if non-NULL checks if mime_type matches with the + * MIME type of the registered formats + */ +AVOutputFormat *av_guess_format(const char *short_name, + const char *filename, + const char *mime_type); + +/** + * Guess the codec ID based upon muxer and filename. + */ +enum AVCodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name, + const char *filename, const char *mime_type, + enum AVMediaType type); + +/** + * Get timing information for the data currently output. + * The exact meaning of "currently output" depends on the format. + * It is mostly relevant for devices that have an internal buffer and/or + * work in real time. + * @param s media file handle + * @param stream stream in the media file + * @param[out] dts DTS of the last packet output for the stream, in stream + * time_base units + * @param[out] wall absolute time when that packet whas output, + * in microsecond + * @return 0 if OK, AVERROR(ENOSYS) if the format does not support it + * Note: some formats or devices may not allow to measure dts and wall + * atomically. + */ +int av_get_output_timestamp(struct AVFormatContext *s, int stream, + int64_t *dts, int64_t *wall); + + +/** + * @} + */ + + +/** + * @defgroup lavf_misc Utility functions + * @ingroup libavf + * @{ + * + * Miscellaneous utility functions related to both muxing and demuxing + * (or neither). + */ + +/** + * Send a nice hexadecimal dump of a buffer to the specified file stream. + * + * @param f The file stream pointer where the dump should be sent to. + * @param buf buffer + * @param size buffer size + * + * @see av_hex_dump_log, av_pkt_dump2, av_pkt_dump_log2 + */ +void av_hex_dump(FILE *f, const uint8_t *buf, int size); + +/** + * Send a nice hexadecimal dump of a buffer to the log. + * + * @param avcl A pointer to an arbitrary struct of which the first field is a + * pointer to an AVClass struct. + * @param level The importance level of the message, lower values signifying + * higher importance. + * @param buf buffer + * @param size buffer size + * + * @see av_hex_dump, av_pkt_dump2, av_pkt_dump_log2 + */ +void av_hex_dump_log(void *avcl, int level, const uint8_t *buf, int size); + +/** + * Send a nice dump of a packet to the specified file stream. + * + * @param f The file stream pointer where the dump should be sent to. + * @param pkt packet to dump + * @param dump_payload True if the payload must be displayed, too. + * @param st AVStream that the packet belongs to + */ +void av_pkt_dump2(FILE *f, const AVPacket *pkt, int dump_payload, const AVStream *st); + + +/** + * Send a nice dump of a packet to the log. + * + * @param avcl A pointer to an arbitrary struct of which the first field is a + * pointer to an AVClass struct. + * @param level The importance level of the message, lower values signifying + * higher importance. + * @param pkt packet to dump + * @param dump_payload True if the payload must be displayed, too. + * @param st AVStream that the packet belongs to + */ +void av_pkt_dump_log2(void *avcl, int level, const AVPacket *pkt, int dump_payload, + const AVStream *st); + +/** + * Get the AVCodecID for the given codec tag tag. + * If no codec id is found returns AV_CODEC_ID_NONE. + * + * @param tags list of supported codec_id-codec_tag pairs, as stored + * in AVInputFormat.codec_tag and AVOutputFormat.codec_tag + * @param tag codec tag to match to a codec ID + */ +enum AVCodecID av_codec_get_id(const struct AVCodecTag * const *tags, unsigned int tag); + +/** + * Get the codec tag for the given codec id id. + * If no codec tag is found returns 0. + * + * @param tags list of supported codec_id-codec_tag pairs, as stored + * in AVInputFormat.codec_tag and AVOutputFormat.codec_tag + * @param id codec ID to match to a codec tag + */ +unsigned int av_codec_get_tag(const struct AVCodecTag * const *tags, enum AVCodecID id); + +/** + * Get the codec tag for the given codec id. + * + * @param tags list of supported codec_id - codec_tag pairs, as stored + * in AVInputFormat.codec_tag and AVOutputFormat.codec_tag + * @param id codec id that should be searched for in the list + * @param tag A pointer to the found tag + * @return 0 if id was not found in tags, > 0 if it was found + */ +int av_codec_get_tag2(const struct AVCodecTag * const *tags, enum AVCodecID id, + unsigned int *tag); + +int av_find_default_stream_index(AVFormatContext *s); + +/** + * Get the index for a specific timestamp. + * + * @param st stream that the timestamp belongs to + * @param timestamp timestamp to retrieve the index for + * @param flags if AVSEEK_FLAG_BACKWARD then the returned index will correspond + * to the timestamp which is <= the requested one, if backward + * is 0, then it will be >= + * if AVSEEK_FLAG_ANY seek to any frame, only keyframes otherwise + * @return < 0 if no such timestamp could be found + */ +int av_index_search_timestamp(AVStream *st, int64_t timestamp, int flags); + +/** + * Add an index entry into a sorted list. Update the entry if the list + * already contains it. + * + * @param timestamp timestamp in the time base of the given stream + */ +int av_add_index_entry(AVStream *st, int64_t pos, int64_t timestamp, + int size, int distance, int flags); + + +/** + * Split a URL string into components. + * + * The pointers to buffers for storing individual components may be null, + * in order to ignore that component. Buffers for components not found are + * set to empty strings. If the port is not found, it is set to a negative + * value. + * + * @param proto the buffer for the protocol + * @param proto_size the size of the proto buffer + * @param authorization the buffer for the authorization + * @param authorization_size the size of the authorization buffer + * @param hostname the buffer for the host name + * @param hostname_size the size of the hostname buffer + * @param port_ptr a pointer to store the port number in + * @param path the buffer for the path + * @param path_size the size of the path buffer + * @param url the URL to split + */ +void av_url_split(char *proto, int proto_size, + char *authorization, int authorization_size, + char *hostname, int hostname_size, + int *port_ptr, + char *path, int path_size, + const char *url); + + +/** + * Print detailed information about the input or output format, such as + * duration, bitrate, streams, container, programs, metadata, side data, + * codec and time base. + * + * @param ic the context to analyze + * @param index index of the stream to dump information about + * @param url the URL to print, such as source or destination file + * @param is_output Select whether the specified context is an input(0) or output(1) + */ +void av_dump_format(AVFormatContext *ic, + int index, + const char *url, + int is_output); + + +#define AV_FRAME_FILENAME_FLAGS_MULTIPLE 1 ///< Allow multiple %d + +/** + * Return in 'buf' the path with '%d' replaced by a number. + * + * Also handles the '%0nd' format where 'n' is the total number + * of digits and '%%'. + * + * @param buf destination buffer + * @param buf_size destination buffer size + * @param path numbered sequence string + * @param number frame number + * @param flags AV_FRAME_FILENAME_FLAGS_* + * @return 0 if OK, -1 on format error + */ +int av_get_frame_filename2(char *buf, int buf_size, + const char *path, int number, int flags); + +int av_get_frame_filename(char *buf, int buf_size, + const char *path, int number); + +/** + * Check whether filename actually is a numbered sequence generator. + * + * @param filename possible numbered sequence string + * @return 1 if a valid numbered sequence string, 0 otherwise + */ +int av_filename_number_test(const char *filename); + +/** + * Generate an SDP for an RTP session. + * + * Note, this overwrites the id values of AVStreams in the muxer contexts + * for getting unique dynamic payload types. + * + * @param ac array of AVFormatContexts describing the RTP streams. If the + * array is composed by only one context, such context can contain + * multiple AVStreams (one AVStream per RTP stream). Otherwise, + * all the contexts in the array (an AVCodecContext per RTP stream) + * must contain only one AVStream. + * @param n_files number of AVCodecContexts contained in ac + * @param buf buffer where the SDP will be stored (must be allocated by + * the caller) + * @param size the size of the buffer + * @return 0 if OK, AVERROR_xxx on error + */ +int av_sdp_create(AVFormatContext *ac[], int n_files, char *buf, int size); + +/** + * Return a positive value if the given filename has one of the given + * extensions, 0 otherwise. + * + * @param filename file name to check against the given extensions + * @param extensions a comma-separated list of filename extensions + */ +int av_match_ext(const char *filename, const char *extensions); + +/** + * Test if the given container can store a codec. + * + * @param ofmt container to check for compatibility + * @param codec_id codec to potentially store in container + * @param std_compliance standards compliance level, one of FF_COMPLIANCE_* + * + * @return 1 if codec with ID codec_id can be stored in ofmt, 0 if it cannot. + * A negative number if this information is not available. + */ +int avformat_query_codec(const AVOutputFormat *ofmt, enum AVCodecID codec_id, + int std_compliance); + +/** + * @defgroup riff_fourcc RIFF FourCCs + * @{ + * Get the tables mapping RIFF FourCCs to libavcodec AVCodecIDs. The tables are + * meant to be passed to av_codec_get_id()/av_codec_get_tag() as in the + * following code: + * @code + * uint32_t tag = MKTAG('H', '2', '6', '4'); + * const struct AVCodecTag *table[] = { avformat_get_riff_video_tags(), 0 }; + * enum AVCodecID id = av_codec_get_id(table, tag); + * @endcode + */ +/** + * @return the table mapping RIFF FourCCs for video to libavcodec AVCodecID. + */ +const struct AVCodecTag *avformat_get_riff_video_tags(void); +/** + * @return the table mapping RIFF FourCCs for audio to AVCodecID. + */ +const struct AVCodecTag *avformat_get_riff_audio_tags(void); +/** + * @return the table mapping MOV FourCCs for video to libavcodec AVCodecID. + */ +const struct AVCodecTag *avformat_get_mov_video_tags(void); +/** + * @return the table mapping MOV FourCCs for audio to AVCodecID. + */ +const struct AVCodecTag *avformat_get_mov_audio_tags(void); + +/** + * @} + */ + +/** + * Guess the sample aspect ratio of a frame, based on both the stream and the + * frame aspect ratio. + * + * Since the frame aspect ratio is set by the codec but the stream aspect ratio + * is set by the demuxer, these two may not be equal. This function tries to + * return the value that you should use if you would like to display the frame. + * + * Basic logic is to use the stream aspect ratio if it is set to something sane + * otherwise use the frame aspect ratio. This way a container setting, which is + * usually easy to modify can override the coded value in the frames. + * + * @param format the format context which the stream is part of + * @param stream the stream which the frame is part of + * @param frame the frame with the aspect ratio to be determined + * @return the guessed (valid) sample_aspect_ratio, 0/1 if no idea + */ +AVRational av_guess_sample_aspect_ratio(AVFormatContext *format, AVStream *stream, AVFrame *frame); + +/** + * Guess the frame rate, based on both the container and codec information. + * + * @param ctx the format context which the stream is part of + * @param stream the stream which the frame is part of + * @param frame the frame for which the frame rate should be determined, may be NULL + * @return the guessed (valid) frame rate, 0/1 if no idea + */ +AVRational av_guess_frame_rate(AVFormatContext *ctx, AVStream *stream, AVFrame *frame); + +/** + * Check if the stream st contained in s is matched by the stream specifier + * spec. + * + * See the "stream specifiers" chapter in the documentation for the syntax + * of spec. + * + * @return >0 if st is matched by spec; + * 0 if st is not matched by spec; + * AVERROR code if spec is invalid + * + * @note A stream specifier can match several streams in the format. + */ +int avformat_match_stream_specifier(AVFormatContext *s, AVStream *st, + const char *spec); + +int avformat_queue_attached_pictures(AVFormatContext *s); + +#if FF_API_OLD_BSF +/** + * Apply a list of bitstream filters to a packet. + * + * @param codec AVCodecContext, usually from an AVStream + * @param pkt the packet to apply filters to. If, on success, the returned + * packet has size == 0 and side_data_elems == 0, it indicates that + * the packet should be dropped + * @param bsfc a NULL-terminated list of filters to apply + * @return >=0 on success; + * AVERROR code on failure + */ +attribute_deprecated +int av_apply_bitstream_filters(AVCodecContext *codec, AVPacket *pkt, + AVBitStreamFilterContext *bsfc); +#endif + +enum AVTimebaseSource { + AVFMT_TBCF_AUTO = -1, + AVFMT_TBCF_DECODER, + AVFMT_TBCF_DEMUXER, +#if FF_API_R_FRAME_RATE + AVFMT_TBCF_R_FRAMERATE, +#endif +}; + +/** + * Transfer internal timing information from one stream to another. + * + * This function is useful when doing stream copy. + * + * @param ofmt target output format for ost + * @param ost output stream which needs timings copy and adjustments + * @param ist reference input stream to copy timings from + * @param copy_tb define from where the stream codec timebase needs to be imported + */ +int avformat_transfer_internal_stream_timing_info(const AVOutputFormat *ofmt, + AVStream *ost, const AVStream *ist, + enum AVTimebaseSource copy_tb); + +/** + * Get the internal codec timebase from a stream. + * + * @param st input stream to extract the timebase from + */ +AVRational av_stream_get_codec_timebase(const AVStream *st); + +/** + * @} + */ + +#endif /* AVFORMAT_AVFORMAT_H */ diff --git a/src/3rdparty/win32_include/libavformat/avio.h b/src/3rdparty/win32_include/libavformat/avio.h new file mode 100644 index 000000000..f9c5972ad --- /dev/null +++ b/src/3rdparty/win32_include/libavformat/avio.h @@ -0,0 +1,867 @@ +/* + * copyright (c) 2001 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +#ifndef AVFORMAT_AVIO_H +#define AVFORMAT_AVIO_H + +/** + * @file + * @ingroup lavf_io + * Buffered I/O operations + */ + +#include + +#include "libavutil/common.h" +#include "libavutil/dict.h" +#include "libavutil/log.h" + +#include "libavformat/version.h" + +/** + * Seeking works like for a local file. + */ +#define AVIO_SEEKABLE_NORMAL (1 << 0) + +/** + * Seeking by timestamp with avio_seek_time() is possible. + */ +#define AVIO_SEEKABLE_TIME (1 << 1) + +/** + * Callback for checking whether to abort blocking functions. + * AVERROR_EXIT is returned in this case by the interrupted + * function. During blocking operations, callback is called with + * opaque as parameter. If the callback returns 1, the + * blocking operation will be aborted. + * + * No members can be added to this struct without a major bump, if + * new elements have been added after this struct in AVFormatContext + * or AVIOContext. + */ +typedef struct AVIOInterruptCB { + int (*callback)(void*); + void *opaque; +} AVIOInterruptCB; + +/** + * Directory entry types. + */ +enum AVIODirEntryType { + AVIO_ENTRY_UNKNOWN, + AVIO_ENTRY_BLOCK_DEVICE, + AVIO_ENTRY_CHARACTER_DEVICE, + AVIO_ENTRY_DIRECTORY, + AVIO_ENTRY_NAMED_PIPE, + AVIO_ENTRY_SYMBOLIC_LINK, + AVIO_ENTRY_SOCKET, + AVIO_ENTRY_FILE, + AVIO_ENTRY_SERVER, + AVIO_ENTRY_SHARE, + AVIO_ENTRY_WORKGROUP, +}; + +/** + * Describes single entry of the directory. + * + * Only name and type fields are guaranteed be set. + * Rest of fields are protocol or/and platform dependent and might be unknown. + */ +typedef struct AVIODirEntry { + char *name; /**< Filename */ + int type; /**< Type of the entry */ + int utf8; /**< Set to 1 when name is encoded with UTF-8, 0 otherwise. + Name can be encoded with UTF-8 even though 0 is set. */ + int64_t size; /**< File size in bytes, -1 if unknown. */ + int64_t modification_timestamp; /**< Time of last modification in microseconds since unix + epoch, -1 if unknown. */ + int64_t access_timestamp; /**< Time of last access in microseconds since unix epoch, + -1 if unknown. */ + int64_t status_change_timestamp; /**< Time of last status change in microseconds since unix + epoch, -1 if unknown. */ + int64_t user_id; /**< User ID of owner, -1 if unknown. */ + int64_t group_id; /**< Group ID of owner, -1 if unknown. */ + int64_t filemode; /**< Unix file mode, -1 if unknown. */ +} AVIODirEntry; + +typedef struct AVIODirContext { + struct URLContext *url_context; +} AVIODirContext; + +/** + * Different data types that can be returned via the AVIO + * write_data_type callback. + */ +enum AVIODataMarkerType { + /** + * Header data; this needs to be present for the stream to be decodeable. + */ + AVIO_DATA_MARKER_HEADER, + /** + * A point in the output bytestream where a decoder can start decoding + * (i.e. a keyframe). A demuxer/decoder given the data flagged with + * AVIO_DATA_MARKER_HEADER, followed by any AVIO_DATA_MARKER_SYNC_POINT, + * should give decodeable results. + */ + AVIO_DATA_MARKER_SYNC_POINT, + /** + * A point in the output bytestream where a demuxer can start parsing + * (for non self synchronizing bytestream formats). That is, any + * non-keyframe packet start point. + */ + AVIO_DATA_MARKER_BOUNDARY_POINT, + /** + * This is any, unlabelled data. It can either be a muxer not marking + * any positions at all, it can be an actual boundary/sync point + * that the muxer chooses not to mark, or a later part of a packet/fragment + * that is cut into multiple write callbacks due to limited IO buffer size. + */ + AVIO_DATA_MARKER_UNKNOWN, + /** + * Trailer data, which doesn't contain actual content, but only for + * finalizing the output file. + */ + AVIO_DATA_MARKER_TRAILER, + /** + * A point in the output bytestream where the underlying AVIOContext might + * flush the buffer depending on latency or buffering requirements. Typically + * means the end of a packet. + */ + AVIO_DATA_MARKER_FLUSH_POINT, +}; + +/** + * Bytestream IO Context. + * New fields can be added to the end with minor version bumps. + * Removal, reordering and changes to existing fields require a major + * version bump. + * sizeof(AVIOContext) must not be used outside libav*. + * + * @note None of the function pointers in AVIOContext should be called + * directly, they should only be set by the client application + * when implementing custom I/O. Normally these are set to the + * function pointers specified in avio_alloc_context() + */ +typedef struct AVIOContext { + /** + * A class for private options. + * + * If this AVIOContext is created by avio_open2(), av_class is set and + * passes the options down to protocols. + * + * If this AVIOContext is manually allocated, then av_class may be set by + * the caller. + * + * warning -- this field can be NULL, be sure to not pass this AVIOContext + * to any av_opt_* functions in that case. + */ + const AVClass *av_class; + + /* + * The following shows the relationship between buffer, buf_ptr, + * buf_ptr_max, buf_end, buf_size, and pos, when reading and when writing + * (since AVIOContext is used for both): + * + ********************************************************************************** + * READING + ********************************************************************************** + * + * | buffer_size | + * |---------------------------------------| + * | | + * + * buffer buf_ptr buf_end + * +---------------+-----------------------+ + * |/ / / / / / / /|/ / / / / / /| | + * read buffer: |/ / consumed / | to be read /| | + * |/ / / / / / / /|/ / / / / / /| | + * +---------------+-----------------------+ + * + * pos + * +-------------------------------------------+-----------------+ + * input file: | | | + * +-------------------------------------------+-----------------+ + * + * + ********************************************************************************** + * WRITING + ********************************************************************************** + * + * | buffer_size | + * |--------------------------------------| + * | | + * + * buf_ptr_max + * buffer (buf_ptr) buf_end + * +-----------------------+--------------+ + * |/ / / / / / / / / / / /| | + * write buffer: | / / to be flushed / / | | + * |/ / / / / / / / / / / /| | + * +-----------------------+--------------+ + * buf_ptr can be in this + * due to a backward seek + * + * pos + * +-------------+----------------------------------------------+ + * output file: | | | + * +-------------+----------------------------------------------+ + * + */ + unsigned char *buffer; /**< Start of the buffer. */ + int buffer_size; /**< Maximum buffer size */ + unsigned char *buf_ptr; /**< Current position in the buffer */ + unsigned char *buf_end; /**< End of the data, may be less than + buffer+buffer_size if the read function returned + less data than requested, e.g. for streams where + no more data has been received yet. */ + void *opaque; /**< A private pointer, passed to the read/write/seek/... + functions. */ + int (*read_packet)(void *opaque, uint8_t *buf, int buf_size); + int (*write_packet)(void *opaque, uint8_t *buf, int buf_size); + int64_t (*seek)(void *opaque, int64_t offset, int whence); + int64_t pos; /**< position in the file of the current buffer */ + int must_flush; /**< unused */ + int eof_reached; /**< true if eof reached */ + int write_flag; /**< true if open for writing */ + int max_packet_size; + unsigned long checksum; + unsigned char *checksum_ptr; + unsigned long (*update_checksum)(unsigned long checksum, const uint8_t *buf, unsigned int size); + int error; /**< contains the error code or 0 if no error happened */ + /** + * Pause or resume playback for network streaming protocols - e.g. MMS. + */ + int (*read_pause)(void *opaque, int pause); + /** + * Seek to a given timestamp in stream with the specified stream_index. + * Needed for some network streaming protocols which don't support seeking + * to byte position. + */ + int64_t (*read_seek)(void *opaque, int stream_index, + int64_t timestamp, int flags); + /** + * A combination of AVIO_SEEKABLE_ flags or 0 when the stream is not seekable. + */ + int seekable; + + /** + * max filesize, used to limit allocations + * This field is internal to libavformat and access from outside is not allowed. + */ + int64_t maxsize; + + /** + * avio_read and avio_write should if possible be satisfied directly + * instead of going through a buffer, and avio_seek will always + * call the underlying seek function directly. + */ + int direct; + + /** + * Bytes read statistic + * This field is internal to libavformat and access from outside is not allowed. + */ + int64_t bytes_read; + + /** + * seek statistic + * This field is internal to libavformat and access from outside is not allowed. + */ + int seek_count; + + /** + * writeout statistic + * This field is internal to libavformat and access from outside is not allowed. + */ + int writeout_count; + + /** + * Original buffer size + * used internally after probing and ensure seekback to reset the buffer size + * This field is internal to libavformat and access from outside is not allowed. + */ + int orig_buffer_size; + + /** + * Threshold to favor readahead over seek. + * This is current internal only, do not use from outside. + */ + int short_seek_threshold; + + /** + * ',' separated list of allowed protocols. + */ + const char *protocol_whitelist; + + /** + * ',' separated list of disallowed protocols. + */ + const char *protocol_blacklist; + + /** + * A callback that is used instead of write_packet. + */ + int (*write_data_type)(void *opaque, uint8_t *buf, int buf_size, + enum AVIODataMarkerType type, int64_t time); + /** + * If set, don't call write_data_type separately for AVIO_DATA_MARKER_BOUNDARY_POINT, + * but ignore them and treat them as AVIO_DATA_MARKER_UNKNOWN (to avoid needlessly + * small chunks of data returned from the callback). + */ + int ignore_boundary_point; + + /** + * Internal, not meant to be used from outside of AVIOContext. + */ + enum AVIODataMarkerType current_type; + int64_t last_time; + + /** + * A callback that is used instead of short_seek_threshold. + * This is current internal only, do not use from outside. + */ + int (*short_seek_get)(void *opaque); + + int64_t written; + + /** + * Maximum reached position before a backward seek in the write buffer, + * used keeping track of already written data for a later flush. + */ + unsigned char *buf_ptr_max; + + /** + * Try to buffer at least this amount of data before flushing it + */ + int min_packet_size; +} AVIOContext; + +/** + * Return the name of the protocol that will handle the passed URL. + * + * NULL is returned if no protocol could be found for the given URL. + * + * @return Name of the protocol or NULL. + */ +const char *avio_find_protocol_name(const char *url); + +/** + * Return AVIO_FLAG_* access flags corresponding to the access permissions + * of the resource in url, or a negative value corresponding to an + * AVERROR code in case of failure. The returned access flags are + * masked by the value in flags. + * + * @note This function is intrinsically unsafe, in the sense that the + * checked resource may change its existence or permission status from + * one call to another. Thus you should not trust the returned value, + * unless you are sure that no other processes are accessing the + * checked resource. + */ +int avio_check(const char *url, int flags); + +/** + * Move or rename a resource. + * + * @note url_src and url_dst should share the same protocol and authority. + * + * @param url_src url to resource to be moved + * @param url_dst new url to resource if the operation succeeded + * @return >=0 on success or negative on error. + */ +int avpriv_io_move(const char *url_src, const char *url_dst); + +/** + * Delete a resource. + * + * @param url resource to be deleted. + * @return >=0 on success or negative on error. + */ +int avpriv_io_delete(const char *url); + +/** + * Open directory for reading. + * + * @param s directory read context. Pointer to a NULL pointer must be passed. + * @param url directory to be listed. + * @param options A dictionary filled with protocol-private options. On return + * this parameter will be destroyed and replaced with a dictionary + * containing options that were not found. May be NULL. + * @return >=0 on success or negative on error. + */ +int avio_open_dir(AVIODirContext **s, const char *url, AVDictionary **options); + +/** + * Get next directory entry. + * + * Returned entry must be freed with avio_free_directory_entry(). In particular + * it may outlive AVIODirContext. + * + * @param s directory read context. + * @param[out] next next entry or NULL when no more entries. + * @return >=0 on success or negative on error. End of list is not considered an + * error. + */ +int avio_read_dir(AVIODirContext *s, AVIODirEntry **next); + +/** + * Close directory. + * + * @note Entries created using avio_read_dir() are not deleted and must be + * freeded with avio_free_directory_entry(). + * + * @param s directory read context. + * @return >=0 on success or negative on error. + */ +int avio_close_dir(AVIODirContext **s); + +/** + * Free entry allocated by avio_read_dir(). + * + * @param entry entry to be freed. + */ +void avio_free_directory_entry(AVIODirEntry **entry); + +/** + * Allocate and initialize an AVIOContext for buffered I/O. It must be later + * freed with avio_context_free(). + * + * @param buffer Memory block for input/output operations via AVIOContext. + * The buffer must be allocated with av_malloc() and friends. + * It may be freed and replaced with a new buffer by libavformat. + * AVIOContext.buffer holds the buffer currently in use, + * which must be later freed with av_free(). + * @param buffer_size The buffer size is very important for performance. + * For protocols with fixed blocksize it should be set to this blocksize. + * For others a typical size is a cache page, e.g. 4kb. + * @param write_flag Set to 1 if the buffer should be writable, 0 otherwise. + * @param opaque An opaque pointer to user-specific data. + * @param read_packet A function for refilling the buffer, may be NULL. + * @param write_packet A function for writing the buffer contents, may be NULL. + * The function may not change the input buffers content. + * @param seek A function for seeking to specified byte position, may be NULL. + * + * @return Allocated AVIOContext or NULL on failure. + */ +AVIOContext *avio_alloc_context( + unsigned char *buffer, + int buffer_size, + int write_flag, + void *opaque, + int (*read_packet)(void *opaque, uint8_t *buf, int buf_size), + int (*write_packet)(void *opaque, uint8_t *buf, int buf_size), + int64_t (*seek)(void *opaque, int64_t offset, int whence)); + +/** + * Free the supplied IO context and everything associated with it. + * + * @param s Double pointer to the IO context. This function will write NULL + * into s. + */ +void avio_context_free(AVIOContext **s); + +void avio_w8(AVIOContext *s, int b); +void avio_write(AVIOContext *s, const unsigned char *buf, int size); +void avio_wl64(AVIOContext *s, uint64_t val); +void avio_wb64(AVIOContext *s, uint64_t val); +void avio_wl32(AVIOContext *s, unsigned int val); +void avio_wb32(AVIOContext *s, unsigned int val); +void avio_wl24(AVIOContext *s, unsigned int val); +void avio_wb24(AVIOContext *s, unsigned int val); +void avio_wl16(AVIOContext *s, unsigned int val); +void avio_wb16(AVIOContext *s, unsigned int val); + +/** + * Write a NULL-terminated string. + * @return number of bytes written. + */ +int avio_put_str(AVIOContext *s, const char *str); + +/** + * Convert an UTF-8 string to UTF-16LE and write it. + * @param s the AVIOContext + * @param str NULL-terminated UTF-8 string + * + * @return number of bytes written. + */ +int avio_put_str16le(AVIOContext *s, const char *str); + +/** + * Convert an UTF-8 string to UTF-16BE and write it. + * @param s the AVIOContext + * @param str NULL-terminated UTF-8 string + * + * @return number of bytes written. + */ +int avio_put_str16be(AVIOContext *s, const char *str); + +/** + * Mark the written bytestream as a specific type. + * + * Zero-length ranges are omitted from the output. + * + * @param time the stream time the current bytestream pos corresponds to + * (in AV_TIME_BASE units), or AV_NOPTS_VALUE if unknown or not + * applicable + * @param type the kind of data written starting at the current pos + */ +void avio_write_marker(AVIOContext *s, int64_t time, enum AVIODataMarkerType type); + +/** + * ORing this as the "whence" parameter to a seek function causes it to + * return the filesize without seeking anywhere. Supporting this is optional. + * If it is not supported then the seek function will return <0. + */ +#define AVSEEK_SIZE 0x10000 + +/** + * Passing this flag as the "whence" parameter to a seek function causes it to + * seek by any means (like reopening and linear reading) or other normally unreasonable + * means that can be extremely slow. + * This may be ignored by the seek code. + */ +#define AVSEEK_FORCE 0x20000 + +/** + * fseek() equivalent for AVIOContext. + * @return new position or AVERROR. + */ +int64_t avio_seek(AVIOContext *s, int64_t offset, int whence); + +/** + * Skip given number of bytes forward + * @return new position or AVERROR. + */ +int64_t avio_skip(AVIOContext *s, int64_t offset); + +/** + * ftell() equivalent for AVIOContext. + * @return position or AVERROR. + */ +static av_always_inline int64_t avio_tell(AVIOContext *s) +{ + return avio_seek(s, 0, SEEK_CUR); +} + +/** + * Get the filesize. + * @return filesize or AVERROR + */ +int64_t avio_size(AVIOContext *s); + +/** + * feof() equivalent for AVIOContext. + * @return non zero if and only if end of file + */ +int avio_feof(AVIOContext *s); +#if FF_API_URL_FEOF +/** + * @deprecated use avio_feof() + */ +attribute_deprecated +int url_feof(AVIOContext *s); +#endif + +/** @warning Writes up to 4 KiB per call */ +int avio_printf(AVIOContext *s, const char *fmt, ...) av_printf_format(2, 3); + +/** + * Force flushing of buffered data. + * + * For write streams, force the buffered data to be immediately written to the output, + * without to wait to fill the internal buffer. + * + * For read streams, discard all currently buffered data, and advance the + * reported file position to that of the underlying stream. This does not + * read new data, and does not perform any seeks. + */ +void avio_flush(AVIOContext *s); + +/** + * Read size bytes from AVIOContext into buf. + * @return number of bytes read or AVERROR + */ +int avio_read(AVIOContext *s, unsigned char *buf, int size); + +/** + * Read size bytes from AVIOContext into buf. Unlike avio_read(), this is allowed + * to read fewer bytes than requested. The missing bytes can be read in the next + * call. This always tries to read at least 1 byte. + * Useful to reduce latency in certain cases. + * @return number of bytes read or AVERROR + */ +int avio_read_partial(AVIOContext *s, unsigned char *buf, int size); + +/** + * @name Functions for reading from AVIOContext + * @{ + * + * @note return 0 if EOF, so you cannot use it if EOF handling is + * necessary + */ +int avio_r8 (AVIOContext *s); +unsigned int avio_rl16(AVIOContext *s); +unsigned int avio_rl24(AVIOContext *s); +unsigned int avio_rl32(AVIOContext *s); +uint64_t avio_rl64(AVIOContext *s); +unsigned int avio_rb16(AVIOContext *s); +unsigned int avio_rb24(AVIOContext *s); +unsigned int avio_rb32(AVIOContext *s); +uint64_t avio_rb64(AVIOContext *s); +/** + * @} + */ + +/** + * Read a string from pb into buf. The reading will terminate when either + * a NULL character was encountered, maxlen bytes have been read, or nothing + * more can be read from pb. The result is guaranteed to be NULL-terminated, it + * will be truncated if buf is too small. + * Note that the string is not interpreted or validated in any way, it + * might get truncated in the middle of a sequence for multi-byte encodings. + * + * @return number of bytes read (is always <= maxlen). + * If reading ends on EOF or error, the return value will be one more than + * bytes actually read. + */ +int avio_get_str(AVIOContext *pb, int maxlen, char *buf, int buflen); + +/** + * Read a UTF-16 string from pb and convert it to UTF-8. + * The reading will terminate when either a null or invalid character was + * encountered or maxlen bytes have been read. + * @return number of bytes read (is always <= maxlen) + */ +int avio_get_str16le(AVIOContext *pb, int maxlen, char *buf, int buflen); +int avio_get_str16be(AVIOContext *pb, int maxlen, char *buf, int buflen); + + +/** + * @name URL open modes + * The flags argument to avio_open must be one of the following + * constants, optionally ORed with other flags. + * @{ + */ +#define AVIO_FLAG_READ 1 /**< read-only */ +#define AVIO_FLAG_WRITE 2 /**< write-only */ +#define AVIO_FLAG_READ_WRITE (AVIO_FLAG_READ|AVIO_FLAG_WRITE) /**< read-write pseudo flag */ +/** + * @} + */ + +/** + * Use non-blocking mode. + * If this flag is set, operations on the context will return + * AVERROR(EAGAIN) if they can not be performed immediately. + * If this flag is not set, operations on the context will never return + * AVERROR(EAGAIN). + * Note that this flag does not affect the opening/connecting of the + * context. Connecting a protocol will always block if necessary (e.g. on + * network protocols) but never hang (e.g. on busy devices). + * Warning: non-blocking protocols is work-in-progress; this flag may be + * silently ignored. + */ +#define AVIO_FLAG_NONBLOCK 8 + +/** + * Use direct mode. + * avio_read and avio_write should if possible be satisfied directly + * instead of going through a buffer, and avio_seek will always + * call the underlying seek function directly. + */ +#define AVIO_FLAG_DIRECT 0x8000 + +/** + * Create and initialize a AVIOContext for accessing the + * resource indicated by url. + * @note When the resource indicated by url has been opened in + * read+write mode, the AVIOContext can be used only for writing. + * + * @param s Used to return the pointer to the created AVIOContext. + * In case of failure the pointed to value is set to NULL. + * @param url resource to access + * @param flags flags which control how the resource indicated by url + * is to be opened + * @return >= 0 in case of success, a negative value corresponding to an + * AVERROR code in case of failure + */ +int avio_open(AVIOContext **s, const char *url, int flags); + +/** + * Create and initialize a AVIOContext for accessing the + * resource indicated by url. + * @note When the resource indicated by url has been opened in + * read+write mode, the AVIOContext can be used only for writing. + * + * @param s Used to return the pointer to the created AVIOContext. + * In case of failure the pointed to value is set to NULL. + * @param url resource to access + * @param flags flags which control how the resource indicated by url + * is to be opened + * @param int_cb an interrupt callback to be used at the protocols level + * @param options A dictionary filled with protocol-private options. On return + * this parameter will be destroyed and replaced with a dict containing options + * that were not found. May be NULL. + * @return >= 0 in case of success, a negative value corresponding to an + * AVERROR code in case of failure + */ +int avio_open2(AVIOContext **s, const char *url, int flags, + const AVIOInterruptCB *int_cb, AVDictionary **options); + +/** + * Close the resource accessed by the AVIOContext s and free it. + * This function can only be used if s was opened by avio_open(). + * + * The internal buffer is automatically flushed before closing the + * resource. + * + * @return 0 on success, an AVERROR < 0 on error. + * @see avio_closep + */ +int avio_close(AVIOContext *s); + +/** + * Close the resource accessed by the AVIOContext *s, free it + * and set the pointer pointing to it to NULL. + * This function can only be used if s was opened by avio_open(). + * + * The internal buffer is automatically flushed before closing the + * resource. + * + * @return 0 on success, an AVERROR < 0 on error. + * @see avio_close + */ +int avio_closep(AVIOContext **s); + + +/** + * Open a write only memory stream. + * + * @param s new IO context + * @return zero if no error. + */ +int avio_open_dyn_buf(AVIOContext **s); + +/** + * Return the written size and a pointer to the buffer. + * The AVIOContext stream is left intact. + * The buffer must NOT be freed. + * No padding is added to the buffer. + * + * @param s IO context + * @param pbuffer pointer to a byte buffer + * @return the length of the byte buffer + */ +int avio_get_dyn_buf(AVIOContext *s, uint8_t **pbuffer); + +/** + * Return the written size and a pointer to the buffer. The buffer + * must be freed with av_free(). + * Padding of AV_INPUT_BUFFER_PADDING_SIZE is added to the buffer. + * + * @param s IO context + * @param pbuffer pointer to a byte buffer + * @return the length of the byte buffer + */ +int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer); + +/** + * Iterate through names of available protocols. + * + * @param opaque A private pointer representing current protocol. + * It must be a pointer to NULL on first iteration and will + * be updated by successive calls to avio_enum_protocols. + * @param output If set to 1, iterate over output protocols, + * otherwise over input protocols. + * + * @return A static string containing the name of current protocol or NULL + */ +const char *avio_enum_protocols(void **opaque, int output); + +/** + * Pause and resume playing - only meaningful if using a network streaming + * protocol (e.g. MMS). + * + * @param h IO context from which to call the read_pause function pointer + * @param pause 1 for pause, 0 for resume + */ +int avio_pause(AVIOContext *h, int pause); + +/** + * Seek to a given timestamp relative to some component stream. + * Only meaningful if using a network streaming protocol (e.g. MMS.). + * + * @param h IO context from which to call the seek function pointers + * @param stream_index The stream index that the timestamp is relative to. + * If stream_index is (-1) the timestamp should be in AV_TIME_BASE + * units from the beginning of the presentation. + * If a stream_index >= 0 is used and the protocol does not support + * seeking based on component streams, the call will fail. + * @param timestamp timestamp in AVStream.time_base units + * or if there is no stream specified then in AV_TIME_BASE units. + * @param flags Optional combination of AVSEEK_FLAG_BACKWARD, AVSEEK_FLAG_BYTE + * and AVSEEK_FLAG_ANY. The protocol may silently ignore + * AVSEEK_FLAG_BACKWARD and AVSEEK_FLAG_ANY, but AVSEEK_FLAG_BYTE will + * fail if used and not supported. + * @return >= 0 on success + * @see AVInputFormat::read_seek + */ +int64_t avio_seek_time(AVIOContext *h, int stream_index, + int64_t timestamp, int flags); + +/* Avoid a warning. The header can not be included because it breaks c++. */ +struct AVBPrint; + +/** + * Read contents of h into print buffer, up to max_size bytes, or up to EOF. + * + * @return 0 for success (max_size bytes read or EOF reached), negative error + * code otherwise + */ +int avio_read_to_bprint(AVIOContext *h, struct AVBPrint *pb, size_t max_size); + +/** + * Accept and allocate a client context on a server context. + * @param s the server context + * @param c the client context, must be unallocated + * @return >= 0 on success or a negative value corresponding + * to an AVERROR on failure + */ +int avio_accept(AVIOContext *s, AVIOContext **c); + +/** + * Perform one step of the protocol handshake to accept a new client. + * This function must be called on a client returned by avio_accept() before + * using it as a read/write context. + * It is separate from avio_accept() because it may block. + * A step of the handshake is defined by places where the application may + * decide to change the proceedings. + * For example, on a protocol with a request header and a reply header, each + * one can constitute a step because the application may use the parameters + * from the request to change parameters in the reply; or each individual + * chunk of the request can constitute a step. + * If the handshake is already finished, avio_handshake() does nothing and + * returns 0 immediately. + * + * @param c the client context to perform the handshake on + * @return 0 on a complete and successful handshake + * > 0 if the handshake progressed, but is not complete + * < 0 for an AVERROR code + */ +int avio_handshake(AVIOContext *c); +#endif /* AVFORMAT_AVIO_H */ diff --git a/src/3rdparty/win32_include/libavformat/version.h b/src/3rdparty/win32_include/libavformat/version.h new file mode 100644 index 000000000..878917d65 --- /dev/null +++ b/src/3rdparty/win32_include/libavformat/version.h @@ -0,0 +1,105 @@ +/* + * Version macros. + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVFORMAT_VERSION_H +#define AVFORMAT_VERSION_H + +/** + * @file + * @ingroup libavf + * Libavformat version macros + */ + +#include "libavutil/version.h" + +// Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium) +// Also please add any ticket numbers that you believe might be affected here +#define LIBAVFORMAT_VERSION_MAJOR 57 +#define LIBAVFORMAT_VERSION_MINOR 83 +#define LIBAVFORMAT_VERSION_MICRO 100 + +#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ + LIBAVFORMAT_VERSION_MINOR, \ + LIBAVFORMAT_VERSION_MICRO) +#define LIBAVFORMAT_VERSION AV_VERSION(LIBAVFORMAT_VERSION_MAJOR, \ + LIBAVFORMAT_VERSION_MINOR, \ + LIBAVFORMAT_VERSION_MICRO) +#define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT + +#define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION) + +/** + * FF_API_* defines may be placed below to indicate public API that will be + * dropped at a future version bump. The defines themselves are not part of + * the public API and may change, break or disappear at any time. + * + * @note, when bumping the major version it is recommended to manually + * disable each FF_API_* in its own commit instead of disabling them all + * at once through the bump. This improves the git bisect-ability of the change. + * + */ +#ifndef FF_API_LAVF_BITEXACT +#define FF_API_LAVF_BITEXACT (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_LAVF_FRAC +#define FF_API_LAVF_FRAC (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_LAVF_CODEC_TB +#define FF_API_LAVF_CODEC_TB (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_URL_FEOF +#define FF_API_URL_FEOF (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_LAVF_FMT_RAWPICTURE +#define FF_API_LAVF_FMT_RAWPICTURE (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_COMPUTE_PKT_FIELDS2 +#define FF_API_COMPUTE_PKT_FIELDS2 (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_OLD_OPEN_CALLBACKS +#define FF_API_OLD_OPEN_CALLBACKS (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_LAVF_AVCTX +#define FF_API_LAVF_AVCTX (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_NOCONST_GET_SIDE_DATA +#define FF_API_NOCONST_GET_SIDE_DATA (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_HTTP_USER_AGENT +#define FF_API_HTTP_USER_AGENT (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_HLS_WRAP +#define FF_API_HLS_WRAP (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_LAVF_MERGE_SD +#define FF_API_LAVF_MERGE_SD (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_LAVF_KEEPSIDE_FLAG +#define FF_API_LAVF_KEEPSIDE_FLAG (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif +#ifndef FF_API_OLD_ROTATE_API +#define FF_API_OLD_ROTATE_API (LIBAVFORMAT_VERSION_MAJOR < 58) +#endif + + +#ifndef FF_API_R_FRAME_RATE +#define FF_API_R_FRAME_RATE 1 +#endif +#endif /* AVFORMAT_VERSION_H */ diff --git a/src/3rdparty/win32_include/libavutil/adler32.h b/src/3rdparty/win32_include/libavutil/adler32.h new file mode 100644 index 000000000..a1f035b73 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/adler32.h @@ -0,0 +1,60 @@ +/* + * copyright (c) 2006 Mans Rullgard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu_adler32 + * Public header for Adler-32 hash function implementation. + */ + +#ifndef AVUTIL_ADLER32_H +#define AVUTIL_ADLER32_H + +#include +#include "attributes.h" + +/** + * @defgroup lavu_adler32 Adler-32 + * @ingroup lavu_hash + * Adler-32 hash function implementation. + * + * @{ + */ + +/** + * Calculate the Adler32 checksum of a buffer. + * + * Passing the return value to a subsequent av_adler32_update() call + * allows the checksum of multiple buffers to be calculated as though + * they were concatenated. + * + * @param adler initial checksum value + * @param buf pointer to input buffer + * @param len size of input buffer + * @return updated checksum + */ +unsigned long av_adler32_update(unsigned long adler, const uint8_t *buf, + unsigned int len) av_pure; + +/** + * @} + */ + +#endif /* AVUTIL_ADLER32_H */ diff --git a/src/3rdparty/win32_include/libavutil/aes.h b/src/3rdparty/win32_include/libavutil/aes.h new file mode 100644 index 000000000..09efbda10 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/aes.h @@ -0,0 +1,65 @@ +/* + * copyright (c) 2007 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_AES_H +#define AVUTIL_AES_H + +#include + +#include "attributes.h" +#include "version.h" + +/** + * @defgroup lavu_aes AES + * @ingroup lavu_crypto + * @{ + */ + +extern const int av_aes_size; + +struct AVAES; + +/** + * Allocate an AVAES context. + */ +struct AVAES *av_aes_alloc(void); + +/** + * Initialize an AVAES context. + * @param key_bits 128, 192 or 256 + * @param decrypt 0 for encryption, 1 for decryption + */ +int av_aes_init(struct AVAES *a, const uint8_t *key, int key_bits, int decrypt); + +/** + * Encrypt or decrypt a buffer using a previously initialized context. + * @param count number of 16 byte blocks + * @param dst destination array, can be equal to src + * @param src source array, can be equal to dst + * @param iv initialization vector for CBC mode, if NULL then ECB will be used + * @param decrypt 0 for encryption, 1 for decryption + */ +void av_aes_crypt(struct AVAES *a, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt); + +/** + * @} + */ + +#endif /* AVUTIL_AES_H */ diff --git a/src/3rdparty/win32_include/libavutil/aes_ctr.h b/src/3rdparty/win32_include/libavutil/aes_ctr.h new file mode 100644 index 000000000..f596fa6a4 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/aes_ctr.h @@ -0,0 +1,83 @@ +/* + * AES-CTR cipher + * Copyright (c) 2015 Eran Kornblau + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_AES_CTR_H +#define AVUTIL_AES_CTR_H + +#include + +#include "attributes.h" +#include "version.h" + +#define AES_CTR_KEY_SIZE (16) +#define AES_CTR_IV_SIZE (8) + +struct AVAESCTR; + +/** + * Allocate an AVAESCTR context. + */ +struct AVAESCTR *av_aes_ctr_alloc(void); + +/** + * Initialize an AVAESCTR context. + * @param key encryption key, must have a length of AES_CTR_KEY_SIZE + */ +int av_aes_ctr_init(struct AVAESCTR *a, const uint8_t *key); + +/** + * Release an AVAESCTR context. + */ +void av_aes_ctr_free(struct AVAESCTR *a); + +/** + * Process a buffer using a previously initialized context. + * @param dst destination array, can be equal to src + * @param src source array, can be equal to dst + * @param size the size of src and dst + */ +void av_aes_ctr_crypt(struct AVAESCTR *a, uint8_t *dst, const uint8_t *src, int size); + +/** + * Get the current iv + */ +const uint8_t* av_aes_ctr_get_iv(struct AVAESCTR *a); + +/** + * Generate a random iv + */ +void av_aes_ctr_set_random_iv(struct AVAESCTR *a); + +/** + * Forcefully change the iv + */ +void av_aes_ctr_set_iv(struct AVAESCTR *a, const uint8_t* iv); + +/** + * Increment the top 64 bit of the iv (performed after each frame) + */ +void av_aes_ctr_increment_iv(struct AVAESCTR *a); + +/** + * @} + */ + +#endif /* AVUTIL_AES_CTR_H */ diff --git a/src/3rdparty/win32_include/libavutil/attributes.h b/src/3rdparty/win32_include/libavutil/attributes.h new file mode 100644 index 000000000..54d190111 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/attributes.h @@ -0,0 +1,167 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * Macro definitions for various function/variable attributes + */ + +#ifndef AVUTIL_ATTRIBUTES_H +#define AVUTIL_ATTRIBUTES_H + +#ifdef __GNUC__ +# define AV_GCC_VERSION_AT_LEAST(x,y) (__GNUC__ > (x) || __GNUC__ == (x) && __GNUC_MINOR__ >= (y)) +# define AV_GCC_VERSION_AT_MOST(x,y) (__GNUC__ < (x) || __GNUC__ == (x) && __GNUC_MINOR__ <= (y)) +#else +# define AV_GCC_VERSION_AT_LEAST(x,y) 0 +# define AV_GCC_VERSION_AT_MOST(x,y) 0 +#endif + +#ifndef av_always_inline +#if AV_GCC_VERSION_AT_LEAST(3,1) +# define av_always_inline __attribute__((always_inline)) inline +#elif defined(_MSC_VER) +# define av_always_inline __forceinline +#else +# define av_always_inline inline +#endif +#endif + +#ifndef av_extern_inline +#if defined(__ICL) && __ICL >= 1210 || defined(__GNUC_STDC_INLINE__) +# define av_extern_inline extern inline +#else +# define av_extern_inline inline +#endif +#endif + +#if AV_GCC_VERSION_AT_LEAST(3,4) +# define av_warn_unused_result __attribute__((warn_unused_result)) +#else +# define av_warn_unused_result +#endif + +#if AV_GCC_VERSION_AT_LEAST(3,1) +# define av_noinline __attribute__((noinline)) +#elif defined(_MSC_VER) +# define av_noinline __declspec(noinline) +#else +# define av_noinline +#endif + +#if AV_GCC_VERSION_AT_LEAST(3,1) +# define av_pure __attribute__((pure)) +#else +# define av_pure +#endif + +#if AV_GCC_VERSION_AT_LEAST(2,6) +# define av_const __attribute__((const)) +#else +# define av_const +#endif + +#if AV_GCC_VERSION_AT_LEAST(4,3) +# define av_cold __attribute__((cold)) +#else +# define av_cold +#endif + +#if AV_GCC_VERSION_AT_LEAST(4,1) && !defined(__llvm__) +# define av_flatten __attribute__((flatten)) +#else +# define av_flatten +#endif + +#if AV_GCC_VERSION_AT_LEAST(3,1) +# define attribute_deprecated __attribute__((deprecated)) +#elif defined(_MSC_VER) +# define attribute_deprecated __declspec(deprecated) +#else +# define attribute_deprecated +#endif + +/** + * Disable warnings about deprecated features + * This is useful for sections of code kept for backward compatibility and + * scheduled for removal. + */ +#ifndef AV_NOWARN_DEPRECATED +#if AV_GCC_VERSION_AT_LEAST(4,6) +# define AV_NOWARN_DEPRECATED(code) \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \ + code \ + _Pragma("GCC diagnostic pop") +#elif defined(_MSC_VER) +# define AV_NOWARN_DEPRECATED(code) \ + __pragma(warning(push)) \ + __pragma(warning(disable : 4996)) \ + code; \ + __pragma(warning(pop)) +#else +# define AV_NOWARN_DEPRECATED(code) code +#endif +#endif + +#if defined(__GNUC__) || defined(__clang__) +# define av_unused __attribute__((unused)) +#else +# define av_unused +#endif + +/** + * Mark a variable as used and prevent the compiler from optimizing it + * away. This is useful for variables accessed only from inline + * assembler without the compiler being aware. + */ +#if AV_GCC_VERSION_AT_LEAST(3,1) || defined(__clang__) +# define av_used __attribute__((used)) +#else +# define av_used +#endif + +#if AV_GCC_VERSION_AT_LEAST(3,3) +# define av_alias __attribute__((may_alias)) +#else +# define av_alias +#endif + +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__) +# define av_uninit(x) x=x +#else +# define av_uninit(x) x +#endif + +#ifdef __GNUC__ +# define av_builtin_constant_p __builtin_constant_p +# define av_printf_format(fmtpos, attrpos) __attribute__((__format__(__printf__, fmtpos, attrpos))) +#else +# define av_builtin_constant_p(x) 0 +# define av_printf_format(fmtpos, attrpos) +#endif + +#if AV_GCC_VERSION_AT_LEAST(2,5) +# define av_noreturn __attribute__((noreturn)) +#else +# define av_noreturn +#endif + +#endif /* AVUTIL_ATTRIBUTES_H */ diff --git a/src/3rdparty/win32_include/libavutil/audio_fifo.h b/src/3rdparty/win32_include/libavutil/audio_fifo.h new file mode 100644 index 000000000..d8a9194a8 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/audio_fifo.h @@ -0,0 +1,187 @@ +/* + * Audio FIFO + * Copyright (c) 2012 Justin Ruggles + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * Audio FIFO Buffer + */ + +#ifndef AVUTIL_AUDIO_FIFO_H +#define AVUTIL_AUDIO_FIFO_H + +#include "avutil.h" +#include "fifo.h" +#include "samplefmt.h" + +/** + * @addtogroup lavu_audio + * @{ + * + * @defgroup lavu_audiofifo Audio FIFO Buffer + * @{ + */ + +/** + * Context for an Audio FIFO Buffer. + * + * - Operates at the sample level rather than the byte level. + * - Supports multiple channels with either planar or packed sample format. + * - Automatic reallocation when writing to a full buffer. + */ +typedef struct AVAudioFifo AVAudioFifo; + +/** + * Free an AVAudioFifo. + * + * @param af AVAudioFifo to free + */ +void av_audio_fifo_free(AVAudioFifo *af); + +/** + * Allocate an AVAudioFifo. + * + * @param sample_fmt sample format + * @param channels number of channels + * @param nb_samples initial allocation size, in samples + * @return newly allocated AVAudioFifo, or NULL on error + */ +AVAudioFifo *av_audio_fifo_alloc(enum AVSampleFormat sample_fmt, int channels, + int nb_samples); + +/** + * Reallocate an AVAudioFifo. + * + * @param af AVAudioFifo to reallocate + * @param nb_samples new allocation size, in samples + * @return 0 if OK, or negative AVERROR code on failure + */ +av_warn_unused_result +int av_audio_fifo_realloc(AVAudioFifo *af, int nb_samples); + +/** + * Write data to an AVAudioFifo. + * + * The AVAudioFifo will be reallocated automatically if the available space + * is less than nb_samples. + * + * @see enum AVSampleFormat + * The documentation for AVSampleFormat describes the data layout. + * + * @param af AVAudioFifo to write to + * @param data audio data plane pointers + * @param nb_samples number of samples to write + * @return number of samples actually written, or negative AVERROR + * code on failure. If successful, the number of samples + * actually written will always be nb_samples. + */ +int av_audio_fifo_write(AVAudioFifo *af, void **data, int nb_samples); + +/** + * Peek data from an AVAudioFifo. + * + * @see enum AVSampleFormat + * The documentation for AVSampleFormat describes the data layout. + * + * @param af AVAudioFifo to read from + * @param data audio data plane pointers + * @param nb_samples number of samples to peek + * @return number of samples actually peek, or negative AVERROR code + * on failure. The number of samples actually peek will not + * be greater than nb_samples, and will only be less than + * nb_samples if av_audio_fifo_size is less than nb_samples. + */ +int av_audio_fifo_peek(AVAudioFifo *af, void **data, int nb_samples); + +/** + * Peek data from an AVAudioFifo. + * + * @see enum AVSampleFormat + * The documentation for AVSampleFormat describes the data layout. + * + * @param af AVAudioFifo to read from + * @param data audio data plane pointers + * @param nb_samples number of samples to peek + * @param offset offset from current read position + * @return number of samples actually peek, or negative AVERROR code + * on failure. The number of samples actually peek will not + * be greater than nb_samples, and will only be less than + * nb_samples if av_audio_fifo_size is less than nb_samples. + */ +int av_audio_fifo_peek_at(AVAudioFifo *af, void **data, int nb_samples, int offset); + +/** + * Read data from an AVAudioFifo. + * + * @see enum AVSampleFormat + * The documentation for AVSampleFormat describes the data layout. + * + * @param af AVAudioFifo to read from + * @param data audio data plane pointers + * @param nb_samples number of samples to read + * @return number of samples actually read, or negative AVERROR code + * on failure. The number of samples actually read will not + * be greater than nb_samples, and will only be less than + * nb_samples if av_audio_fifo_size is less than nb_samples. + */ +int av_audio_fifo_read(AVAudioFifo *af, void **data, int nb_samples); + +/** + * Drain data from an AVAudioFifo. + * + * Removes the data without reading it. + * + * @param af AVAudioFifo to drain + * @param nb_samples number of samples to drain + * @return 0 if OK, or negative AVERROR code on failure + */ +int av_audio_fifo_drain(AVAudioFifo *af, int nb_samples); + +/** + * Reset the AVAudioFifo buffer. + * + * This empties all data in the buffer. + * + * @param af AVAudioFifo to reset + */ +void av_audio_fifo_reset(AVAudioFifo *af); + +/** + * Get the current number of samples in the AVAudioFifo available for reading. + * + * @param af the AVAudioFifo to query + * @return number of samples available for reading + */ +int av_audio_fifo_size(AVAudioFifo *af); + +/** + * Get the current number of samples in the AVAudioFifo available for writing. + * + * @param af the AVAudioFifo to query + * @return number of samples available for writing + */ +int av_audio_fifo_space(AVAudioFifo *af); + +/** + * @} + * @} + */ + +#endif /* AVUTIL_AUDIO_FIFO_H */ diff --git a/src/3rdparty/win32_include/libavutil/avassert.h b/src/3rdparty/win32_include/libavutil/avassert.h new file mode 100644 index 000000000..46f3fea58 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/avassert.h @@ -0,0 +1,75 @@ +/* + * copyright (c) 2010 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * simple assert() macros that are a bit more flexible than ISO C assert(). + * @author Michael Niedermayer + */ + +#ifndef AVUTIL_AVASSERT_H +#define AVUTIL_AVASSERT_H + +#include +#include "avutil.h" +#include "log.h" + +/** + * assert() equivalent, that is always enabled. + */ +#define av_assert0(cond) do { \ + if (!(cond)) { \ + av_log(NULL, AV_LOG_PANIC, "Assertion %s failed at %s:%d\n", \ + AV_STRINGIFY(cond), __FILE__, __LINE__); \ + abort(); \ + } \ +} while (0) + + +/** + * assert() equivalent, that does not lie in speed critical code. + * These asserts() thus can be enabled without fearing speed loss. + */ +#if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 0 +#define av_assert1(cond) av_assert0(cond) +#else +#define av_assert1(cond) ((void)0) +#endif + + +/** + * assert() equivalent, that does lie in speed critical code. + */ +#if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 1 +#define av_assert2(cond) av_assert0(cond) +#define av_assert2_fpu() av_assert0_fpu() +#else +#define av_assert2(cond) ((void)0) +#define av_assert2_fpu() ((void)0) +#endif + +/** + * Assert that floating point opperations can be executed. + * + * This will av_assert0() that the cpu is not in MMX state on X86 + */ +void av_assert0_fpu(void); + +#endif /* AVUTIL_AVASSERT_H */ diff --git a/src/3rdparty/win32_include/libavutil/avconfig.h b/src/3rdparty/win32_include/libavutil/avconfig.h new file mode 100644 index 000000000..f10aa6186 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/avconfig.h @@ -0,0 +1,6 @@ +/* Generated by ffconf */ +#ifndef AVUTIL_AVCONFIG_H +#define AVUTIL_AVCONFIG_H +#define AV_HAVE_BIGENDIAN 0 +#define AV_HAVE_FAST_UNALIGNED 1 +#endif /* AVUTIL_AVCONFIG_H */ diff --git a/src/3rdparty/win32_include/libavutil/avstring.h b/src/3rdparty/win32_include/libavutil/avstring.h new file mode 100644 index 000000000..04d269564 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/avstring.h @@ -0,0 +1,407 @@ +/* + * Copyright (c) 2007 Mans Rullgard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_AVSTRING_H +#define AVUTIL_AVSTRING_H + +#include +#include +#include "attributes.h" + +/** + * @addtogroup lavu_string + * @{ + */ + +/** + * Return non-zero if pfx is a prefix of str. If it is, *ptr is set to + * the address of the first character in str after the prefix. + * + * @param str input string + * @param pfx prefix to test + * @param ptr updated if the prefix is matched inside str + * @return non-zero if the prefix matches, zero otherwise + */ +int av_strstart(const char *str, const char *pfx, const char **ptr); + +/** + * Return non-zero if pfx is a prefix of str independent of case. If + * it is, *ptr is set to the address of the first character in str + * after the prefix. + * + * @param str input string + * @param pfx prefix to test + * @param ptr updated if the prefix is matched inside str + * @return non-zero if the prefix matches, zero otherwise + */ +int av_stristart(const char *str, const char *pfx, const char **ptr); + +/** + * Locate the first case-independent occurrence in the string haystack + * of the string needle. A zero-length string needle is considered to + * match at the start of haystack. + * + * This function is a case-insensitive version of the standard strstr(). + * + * @param haystack string to search in + * @param needle string to search for + * @return pointer to the located match within haystack + * or a null pointer if no match + */ +char *av_stristr(const char *haystack, const char *needle); + +/** + * Locate the first occurrence of the string needle in the string haystack + * where not more than hay_length characters are searched. A zero-length + * string needle is considered to match at the start of haystack. + * + * This function is a length-limited version of the standard strstr(). + * + * @param haystack string to search in + * @param needle string to search for + * @param hay_length length of string to search in + * @return pointer to the located match within haystack + * or a null pointer if no match + */ +char *av_strnstr(const char *haystack, const char *needle, size_t hay_length); + +/** + * Copy the string src to dst, but no more than size - 1 bytes, and + * null-terminate dst. + * + * This function is the same as BSD strlcpy(). + * + * @param dst destination buffer + * @param src source string + * @param size size of destination buffer + * @return the length of src + * + * @warning since the return value is the length of src, src absolutely + * _must_ be a properly 0-terminated string, otherwise this will read beyond + * the end of the buffer and possibly crash. + */ +size_t av_strlcpy(char *dst, const char *src, size_t size); + +/** + * Append the string src to the string dst, but to a total length of + * no more than size - 1 bytes, and null-terminate dst. + * + * This function is similar to BSD strlcat(), but differs when + * size <= strlen(dst). + * + * @param dst destination buffer + * @param src source string + * @param size size of destination buffer + * @return the total length of src and dst + * + * @warning since the return value use the length of src and dst, these + * absolutely _must_ be a properly 0-terminated strings, otherwise this + * will read beyond the end of the buffer and possibly crash. + */ +size_t av_strlcat(char *dst, const char *src, size_t size); + +/** + * Append output to a string, according to a format. Never write out of + * the destination buffer, and always put a terminating 0 within + * the buffer. + * @param dst destination buffer (string to which the output is + * appended) + * @param size total size of the destination buffer + * @param fmt printf-compatible format string, specifying how the + * following parameters are used + * @return the length of the string that would have been generated + * if enough space had been available + */ +size_t av_strlcatf(char *dst, size_t size, const char *fmt, ...) av_printf_format(3, 4); + +/** + * Get the count of continuous non zero chars starting from the beginning. + * + * @param len maximum number of characters to check in the string, that + * is the maximum value which is returned by the function + */ +static inline size_t av_strnlen(const char *s, size_t len) +{ + size_t i; + for (i = 0; i < len && s[i]; i++) + ; + return i; +} + +/** + * Print arguments following specified format into a large enough auto + * allocated buffer. It is similar to GNU asprintf(). + * @param fmt printf-compatible format string, specifying how the + * following parameters are used. + * @return the allocated string + * @note You have to free the string yourself with av_free(). + */ +char *av_asprintf(const char *fmt, ...) av_printf_format(1, 2); + +/** + * Convert a number to an av_malloced string. + */ +char *av_d2str(double d); + +/** + * Unescape the given string until a non escaped terminating char, + * and return the token corresponding to the unescaped string. + * + * The normal \ and ' escaping is supported. Leading and trailing + * whitespaces are removed, unless they are escaped with '\' or are + * enclosed between ''. + * + * @param buf the buffer to parse, buf will be updated to point to the + * terminating char + * @param term a 0-terminated list of terminating chars + * @return the malloced unescaped string, which must be av_freed by + * the user, NULL in case of allocation failure + */ +char *av_get_token(const char **buf, const char *term); + +/** + * Split the string into several tokens which can be accessed by + * successive calls to av_strtok(). + * + * A token is defined as a sequence of characters not belonging to the + * set specified in delim. + * + * On the first call to av_strtok(), s should point to the string to + * parse, and the value of saveptr is ignored. In subsequent calls, s + * should be NULL, and saveptr should be unchanged since the previous + * call. + * + * This function is similar to strtok_r() defined in POSIX.1. + * + * @param s the string to parse, may be NULL + * @param delim 0-terminated list of token delimiters, must be non-NULL + * @param saveptr user-provided pointer which points to stored + * information necessary for av_strtok() to continue scanning the same + * string. saveptr is updated to point to the next character after the + * first delimiter found, or to NULL if the string was terminated + * @return the found token, or NULL when no token is found + */ +char *av_strtok(char *s, const char *delim, char **saveptr); + +/** + * Locale-independent conversion of ASCII isdigit. + */ +static inline av_const int av_isdigit(int c) +{ + return c >= '0' && c <= '9'; +} + +/** + * Locale-independent conversion of ASCII isgraph. + */ +static inline av_const int av_isgraph(int c) +{ + return c > 32 && c < 127; +} + +/** + * Locale-independent conversion of ASCII isspace. + */ +static inline av_const int av_isspace(int c) +{ + return c == ' ' || c == '\f' || c == '\n' || c == '\r' || c == '\t' || + c == '\v'; +} + +/** + * Locale-independent conversion of ASCII characters to uppercase. + */ +static inline av_const int av_toupper(int c) +{ + if (c >= 'a' && c <= 'z') + c ^= 0x20; + return c; +} + +/** + * Locale-independent conversion of ASCII characters to lowercase. + */ +static inline av_const int av_tolower(int c) +{ + if (c >= 'A' && c <= 'Z') + c ^= 0x20; + return c; +} + +/** + * Locale-independent conversion of ASCII isxdigit. + */ +static inline av_const int av_isxdigit(int c) +{ + c = av_tolower(c); + return av_isdigit(c) || (c >= 'a' && c <= 'f'); +} + +/** + * Locale-independent case-insensitive compare. + * @note This means only ASCII-range characters are case-insensitive + */ +int av_strcasecmp(const char *a, const char *b); + +/** + * Locale-independent case-insensitive compare. + * @note This means only ASCII-range characters are case-insensitive + */ +int av_strncasecmp(const char *a, const char *b, size_t n); + +/** + * Locale-independent strings replace. + * @note This means only ASCII-range characters are replace + */ +char *av_strireplace(const char *str, const char *from, const char *to); + +/** + * Thread safe basename. + * @param path the path, on DOS both \ and / are considered separators. + * @return pointer to the basename substring. + */ +const char *av_basename(const char *path); + +/** + * Thread safe dirname. + * @param path the path, on DOS both \ and / are considered separators. + * @return the path with the separator replaced by the string terminator or ".". + * @note the function may change the input string. + */ +const char *av_dirname(char *path); + +/** + * Match instances of a name in a comma-separated list of names. + * List entries are checked from the start to the end of the names list, + * the first match ends further processing. If an entry prefixed with '-' + * matches, then 0 is returned. The "ALL" list entry is considered to + * match all names. + * + * @param name Name to look for. + * @param names List of names. + * @return 1 on match, 0 otherwise. + */ +int av_match_name(const char *name, const char *names); + +/** + * Append path component to the existing path. + * Path separator '/' is placed between when needed. + * Resulting string have to be freed with av_free(). + * @param path base path + * @param component component to be appended + * @return new path or NULL on error. + */ +char *av_append_path_component(const char *path, const char *component); + +enum AVEscapeMode { + AV_ESCAPE_MODE_AUTO, ///< Use auto-selected escaping mode. + AV_ESCAPE_MODE_BACKSLASH, ///< Use backslash escaping. + AV_ESCAPE_MODE_QUOTE, ///< Use single-quote escaping. +}; + +/** + * Consider spaces special and escape them even in the middle of the + * string. + * + * This is equivalent to adding the whitespace characters to the special + * characters lists, except it is guaranteed to use the exact same list + * of whitespace characters as the rest of libavutil. + */ +#define AV_ESCAPE_FLAG_WHITESPACE (1 << 0) + +/** + * Escape only specified special characters. + * Without this flag, escape also any characters that may be considered + * special by av_get_token(), such as the single quote. + */ +#define AV_ESCAPE_FLAG_STRICT (1 << 1) + +/** + * Escape string in src, and put the escaped string in an allocated + * string in *dst, which must be freed with av_free(). + * + * @param dst pointer where an allocated string is put + * @param src string to escape, must be non-NULL + * @param special_chars string containing the special characters which + * need to be escaped, can be NULL + * @param mode escape mode to employ, see AV_ESCAPE_MODE_* macros. + * Any unknown value for mode will be considered equivalent to + * AV_ESCAPE_MODE_BACKSLASH, but this behaviour can change without + * notice. + * @param flags flags which control how to escape, see AV_ESCAPE_FLAG_ macros + * @return the length of the allocated string, or a negative error code in case of error + * @see av_bprint_escape() + */ +av_warn_unused_result +int av_escape(char **dst, const char *src, const char *special_chars, + enum AVEscapeMode mode, int flags); + +#define AV_UTF8_FLAG_ACCEPT_INVALID_BIG_CODES 1 ///< accept codepoints over 0x10FFFF +#define AV_UTF8_FLAG_ACCEPT_NON_CHARACTERS 2 ///< accept non-characters - 0xFFFE and 0xFFFF +#define AV_UTF8_FLAG_ACCEPT_SURROGATES 4 ///< accept UTF-16 surrogates codes +#define AV_UTF8_FLAG_EXCLUDE_XML_INVALID_CONTROL_CODES 8 ///< exclude control codes not accepted by XML + +#define AV_UTF8_FLAG_ACCEPT_ALL \ + AV_UTF8_FLAG_ACCEPT_INVALID_BIG_CODES|AV_UTF8_FLAG_ACCEPT_NON_CHARACTERS|AV_UTF8_FLAG_ACCEPT_SURROGATES + +/** + * Read and decode a single UTF-8 code point (character) from the + * buffer in *buf, and update *buf to point to the next byte to + * decode. + * + * In case of an invalid byte sequence, the pointer will be updated to + * the next byte after the invalid sequence and the function will + * return an error code. + * + * Depending on the specified flags, the function will also fail in + * case the decoded code point does not belong to a valid range. + * + * @note For speed-relevant code a carefully implemented use of + * GET_UTF8() may be preferred. + * + * @param codep pointer used to return the parsed code in case of success. + * The value in *codep is set even in case the range check fails. + * @param bufp pointer to the address the first byte of the sequence + * to decode, updated by the function to point to the + * byte next after the decoded sequence + * @param buf_end pointer to the end of the buffer, points to the next + * byte past the last in the buffer. This is used to + * avoid buffer overreads (in case of an unfinished + * UTF-8 sequence towards the end of the buffer). + * @param flags a collection of AV_UTF8_FLAG_* flags + * @return >= 0 in case a sequence was successfully read, a negative + * value in case of invalid sequence + */ +av_warn_unused_result +int av_utf8_decode(int32_t *codep, const uint8_t **bufp, const uint8_t *buf_end, + unsigned int flags); + +/** + * Check if a name is in a list. + * @returns 0 if not found, or the 1 based index where it has been found in the + * list. + */ +int av_match_list(const char *name, const char *list, char separator); + +/** + * @} + */ + +#endif /* AVUTIL_AVSTRING_H */ diff --git a/src/3rdparty/win32_include/libavutil/avutil.h b/src/3rdparty/win32_include/libavutil/avutil.h new file mode 100644 index 000000000..4d633156d --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/avutil.h @@ -0,0 +1,365 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_AVUTIL_H +#define AVUTIL_AVUTIL_H + +/** + * @file + * @ingroup lavu + * Convenience header that includes @ref lavu "libavutil"'s core. + */ + +/** + * @mainpage + * + * @section ffmpeg_intro Introduction + * + * This document describes the usage of the different libraries + * provided by FFmpeg. + * + * @li @ref libavc "libavcodec" encoding/decoding library + * @li @ref lavfi "libavfilter" graph-based frame editing library + * @li @ref libavf "libavformat" I/O and muxing/demuxing library + * @li @ref lavd "libavdevice" special devices muxing/demuxing library + * @li @ref lavu "libavutil" common utility library + * @li @ref lswr "libswresample" audio resampling, format conversion and mixing + * @li @ref lpp "libpostproc" post processing library + * @li @ref libsws "libswscale" color conversion and scaling library + * + * @section ffmpeg_versioning Versioning and compatibility + * + * Each of the FFmpeg libraries contains a version.h header, which defines a + * major, minor and micro version number with the + * LIBRARYNAME_VERSION_{MAJOR,MINOR,MICRO} macros. The major version + * number is incremented with backward incompatible changes - e.g. removing + * parts of the public API, reordering public struct members, etc. The minor + * version number is incremented for backward compatible API changes or major + * new features - e.g. adding a new public function or a new decoder. The micro + * version number is incremented for smaller changes that a calling program + * might still want to check for - e.g. changing behavior in a previously + * unspecified situation. + * + * FFmpeg guarantees backward API and ABI compatibility for each library as long + * as its major version number is unchanged. This means that no public symbols + * will be removed or renamed. Types and names of the public struct members and + * values of public macros and enums will remain the same (unless they were + * explicitly declared as not part of the public API). Documented behavior will + * not change. + * + * In other words, any correct program that works with a given FFmpeg snapshot + * should work just as well without any changes with any later snapshot with the + * same major versions. This applies to both rebuilding the program against new + * FFmpeg versions or to replacing the dynamic FFmpeg libraries that a program + * links against. + * + * However, new public symbols may be added and new members may be appended to + * public structs whose size is not part of public ABI (most public structs in + * FFmpeg). New macros and enum values may be added. Behavior in undocumented + * situations may change slightly (and be documented). All those are accompanied + * by an entry in doc/APIchanges and incrementing either the minor or micro + * version number. + */ + +/** + * @defgroup lavu libavutil + * Common code shared across all FFmpeg libraries. + * + * @note + * libavutil is designed to be modular. In most cases, in order to use the + * functions provided by one component of libavutil you must explicitly include + * the specific header containing that feature. If you are only using + * media-related components, you could simply include libavutil/avutil.h, which + * brings in most of the "core" components. + * + * @{ + * + * @defgroup lavu_crypto Crypto and Hashing + * + * @{ + * @} + * + * @defgroup lavu_math Mathematics + * @{ + * + * @} + * + * @defgroup lavu_string String Manipulation + * + * @{ + * + * @} + * + * @defgroup lavu_mem Memory Management + * + * @{ + * + * @} + * + * @defgroup lavu_data Data Structures + * @{ + * + * @} + * + * @defgroup lavu_video Video related + * + * @{ + * + * @} + * + * @defgroup lavu_audio Audio related + * + * @{ + * + * @} + * + * @defgroup lavu_error Error Codes + * + * @{ + * + * @} + * + * @defgroup lavu_log Logging Facility + * + * @{ + * + * @} + * + * @defgroup lavu_misc Other + * + * @{ + * + * @defgroup preproc_misc Preprocessor String Macros + * + * @{ + * + * @} + * + * @defgroup version_utils Library Version Macros + * + * @{ + * + * @} + */ + + +/** + * @addtogroup lavu_ver + * @{ + */ + +/** + * Return the LIBAVUTIL_VERSION_INT constant. + */ +unsigned avutil_version(void); + +/** + * Return an informative version string. This usually is the actual release + * version number or a git commit description. This string has no fixed format + * and can change any time. It should never be parsed by code. + */ +const char *av_version_info(void); + +/** + * Return the libavutil build-time configuration. + */ +const char *avutil_configuration(void); + +/** + * Return the libavutil license. + */ +const char *avutil_license(void); + +/** + * @} + */ + +/** + * @addtogroup lavu_media Media Type + * @brief Media Type + */ + +enum AVMediaType { + AVMEDIA_TYPE_UNKNOWN = -1, ///< Usually treated as AVMEDIA_TYPE_DATA + AVMEDIA_TYPE_VIDEO, + AVMEDIA_TYPE_AUDIO, + AVMEDIA_TYPE_DATA, ///< Opaque data information usually continuous + AVMEDIA_TYPE_SUBTITLE, + AVMEDIA_TYPE_ATTACHMENT, ///< Opaque data information usually sparse + AVMEDIA_TYPE_NB +}; + +/** + * Return a string describing the media_type enum, NULL if media_type + * is unknown. + */ +const char *av_get_media_type_string(enum AVMediaType media_type); + +/** + * @defgroup lavu_const Constants + * @{ + * + * @defgroup lavu_enc Encoding specific + * + * @note those definition should move to avcodec + * @{ + */ + +#define FF_LAMBDA_SHIFT 7 +#define FF_LAMBDA_SCALE (1< + +/** + * @defgroup lavu_base64 Base64 + * @ingroup lavu_crypto + * @{ + */ + +/** + * Decode a base64-encoded string. + * + * @param out buffer for decoded data + * @param in null-terminated input string + * @param out_size size in bytes of the out buffer, must be at + * least 3/4 of the length of in, that is AV_BASE64_DECODE_SIZE(strlen(in)) + * @return number of bytes written, or a negative value in case of + * invalid input + */ +int av_base64_decode(uint8_t *out, const char *in, int out_size); + +/** + * Calculate the output size in bytes needed to decode a base64 string + * with length x to a data buffer. + */ +#define AV_BASE64_DECODE_SIZE(x) ((x) * 3LL / 4) + +/** + * Encode data to base64 and null-terminate. + * + * @param out buffer for encoded data + * @param out_size size in bytes of the out buffer (including the + * null terminator), must be at least AV_BASE64_SIZE(in_size) + * @param in input buffer containing the data to encode + * @param in_size size in bytes of the in buffer + * @return out or NULL in case of error + */ +char *av_base64_encode(char *out, int out_size, const uint8_t *in, int in_size); + +/** + * Calculate the output size needed to base64-encode x bytes to a + * null-terminated string. + */ +#define AV_BASE64_SIZE(x) (((x)+2) / 3 * 4 + 1) + + /** + * @} + */ + +#endif /* AVUTIL_BASE64_H */ diff --git a/src/3rdparty/win32_include/libavutil/blowfish.h b/src/3rdparty/win32_include/libavutil/blowfish.h new file mode 100644 index 000000000..9e289a40d --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/blowfish.h @@ -0,0 +1,82 @@ +/* + * Blowfish algorithm + * Copyright (c) 2012 Samuel Pitoiset + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_BLOWFISH_H +#define AVUTIL_BLOWFISH_H + +#include + +/** + * @defgroup lavu_blowfish Blowfish + * @ingroup lavu_crypto + * @{ + */ + +#define AV_BF_ROUNDS 16 + +typedef struct AVBlowfish { + uint32_t p[AV_BF_ROUNDS + 2]; + uint32_t s[4][256]; +} AVBlowfish; + +/** + * Allocate an AVBlowfish context. + */ +AVBlowfish *av_blowfish_alloc(void); + +/** + * Initialize an AVBlowfish context. + * + * @param ctx an AVBlowfish context + * @param key a key + * @param key_len length of the key + */ +void av_blowfish_init(struct AVBlowfish *ctx, const uint8_t *key, int key_len); + +/** + * Encrypt or decrypt a buffer using a previously initialized context. + * + * @param ctx an AVBlowfish context + * @param xl left four bytes halves of input to be encrypted + * @param xr right four bytes halves of input to be encrypted + * @param decrypt 0 for encryption, 1 for decryption + */ +void av_blowfish_crypt_ecb(struct AVBlowfish *ctx, uint32_t *xl, uint32_t *xr, + int decrypt); + +/** + * Encrypt or decrypt a buffer using a previously initialized context. + * + * @param ctx an AVBlowfish context + * @param dst destination array, can be equal to src + * @param src source array, can be equal to dst + * @param count number of 8 byte blocks + * @param iv initialization vector for CBC mode, if NULL ECB will be used + * @param decrypt 0 for encryption, 1 for decryption + */ +void av_blowfish_crypt(struct AVBlowfish *ctx, uint8_t *dst, const uint8_t *src, + int count, uint8_t *iv, int decrypt); + +/** + * @} + */ + +#endif /* AVUTIL_BLOWFISH_H */ diff --git a/src/3rdparty/win32_include/libavutil/bprint.h b/src/3rdparty/win32_include/libavutil/bprint.h new file mode 100644 index 000000000..c09b1ac1e --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/bprint.h @@ -0,0 +1,219 @@ +/* + * Copyright (c) 2012 Nicolas George + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_BPRINT_H +#define AVUTIL_BPRINT_H + +#include + +#include "attributes.h" +#include "avstring.h" + +/** + * Define a structure with extra padding to a fixed size + * This helps ensuring binary compatibility with future versions. + */ + +#define FF_PAD_STRUCTURE(name, size, ...) \ +struct ff_pad_helper_##name { __VA_ARGS__ }; \ +typedef struct name { \ + __VA_ARGS__ \ + char reserved_padding[size - sizeof(struct ff_pad_helper_##name)]; \ +} name; + +/** + * Buffer to print data progressively + * + * The string buffer grows as necessary and is always 0-terminated. + * The content of the string is never accessed, and thus is + * encoding-agnostic and can even hold binary data. + * + * Small buffers are kept in the structure itself, and thus require no + * memory allocation at all (unless the contents of the buffer is needed + * after the structure goes out of scope). This is almost as lightweight as + * declaring a local "char buf[512]". + * + * The length of the string can go beyond the allocated size: the buffer is + * then truncated, but the functions still keep account of the actual total + * length. + * + * In other words, buf->len can be greater than buf->size and records the + * total length of what would have been to the buffer if there had been + * enough memory. + * + * Append operations do not need to be tested for failure: if a memory + * allocation fails, data stop being appended to the buffer, but the length + * is still updated. This situation can be tested with + * av_bprint_is_complete(). + * + * The size_max field determines several possible behaviours: + * + * size_max = -1 (= UINT_MAX) or any large value will let the buffer be + * reallocated as necessary, with an amortized linear cost. + * + * size_max = 0 prevents writing anything to the buffer: only the total + * length is computed. The write operations can then possibly be repeated in + * a buffer with exactly the necessary size + * (using size_init = size_max = len + 1). + * + * size_max = 1 is automatically replaced by the exact size available in the + * structure itself, thus ensuring no dynamic memory allocation. The + * internal buffer is large enough to hold a reasonable paragraph of text, + * such as the current paragraph. + */ + +FF_PAD_STRUCTURE(AVBPrint, 1024, + char *str; /**< string so far */ + unsigned len; /**< length so far */ + unsigned size; /**< allocated memory */ + unsigned size_max; /**< maximum allocated memory */ + char reserved_internal_buffer[1]; +) + +/** + * Convenience macros for special values for av_bprint_init() size_max + * parameter. + */ +#define AV_BPRINT_SIZE_UNLIMITED ((unsigned)-1) +#define AV_BPRINT_SIZE_AUTOMATIC 1 +#define AV_BPRINT_SIZE_COUNT_ONLY 0 + +/** + * Init a print buffer. + * + * @param buf buffer to init + * @param size_init initial size (including the final 0) + * @param size_max maximum size; + * 0 means do not write anything, just count the length; + * 1 is replaced by the maximum value for automatic storage; + * any large value means that the internal buffer will be + * reallocated as needed up to that limit; -1 is converted to + * UINT_MAX, the largest limit possible. + * Check also AV_BPRINT_SIZE_* macros. + */ +void av_bprint_init(AVBPrint *buf, unsigned size_init, unsigned size_max); + +/** + * Init a print buffer using a pre-existing buffer. + * + * The buffer will not be reallocated. + * + * @param buf buffer structure to init + * @param buffer byte buffer to use for the string data + * @param size size of buffer + */ +void av_bprint_init_for_buffer(AVBPrint *buf, char *buffer, unsigned size); + +/** + * Append a formatted string to a print buffer. + */ +void av_bprintf(AVBPrint *buf, const char *fmt, ...) av_printf_format(2, 3); + +/** + * Append a formatted string to a print buffer. + */ +void av_vbprintf(AVBPrint *buf, const char *fmt, va_list vl_arg); + +/** + * Append char c n times to a print buffer. + */ +void av_bprint_chars(AVBPrint *buf, char c, unsigned n); + +/** + * Append data to a print buffer. + * + * param buf bprint buffer to use + * param data pointer to data + * param size size of data + */ +void av_bprint_append_data(AVBPrint *buf, const char *data, unsigned size); + +struct tm; +/** + * Append a formatted date and time to a print buffer. + * + * param buf bprint buffer to use + * param fmt date and time format string, see strftime() + * param tm broken-down time structure to translate + * + * @note due to poor design of the standard strftime function, it may + * produce poor results if the format string expands to a very long text and + * the bprint buffer is near the limit stated by the size_max option. + */ +void av_bprint_strftime(AVBPrint *buf, const char *fmt, const struct tm *tm); + +/** + * Allocate bytes in the buffer for external use. + * + * @param[in] buf buffer structure + * @param[in] size required size + * @param[out] mem pointer to the memory area + * @param[out] actual_size size of the memory area after allocation; + * can be larger or smaller than size + */ +void av_bprint_get_buffer(AVBPrint *buf, unsigned size, + unsigned char **mem, unsigned *actual_size); + +/** + * Reset the string to "" but keep internal allocated data. + */ +void av_bprint_clear(AVBPrint *buf); + +/** + * Test if the print buffer is complete (not truncated). + * + * It may have been truncated due to a memory allocation failure + * or the size_max limit (compare size and size_max if necessary). + */ +static inline int av_bprint_is_complete(const AVBPrint *buf) +{ + return buf->len < buf->size; +} + +/** + * Finalize a print buffer. + * + * The print buffer can no longer be used afterwards, + * but the len and size fields are still valid. + * + * @arg[out] ret_str if not NULL, used to return a permanent copy of the + * buffer contents, or NULL if memory allocation fails; + * if NULL, the buffer is discarded and freed + * @return 0 for success or error code (probably AVERROR(ENOMEM)) + */ +int av_bprint_finalize(AVBPrint *buf, char **ret_str); + +/** + * Escape the content in src and append it to dstbuf. + * + * @param dstbuf already inited destination bprint buffer + * @param src string containing the text to escape + * @param special_chars string containing the special characters which + * need to be escaped, can be NULL + * @param mode escape mode to employ, see AV_ESCAPE_MODE_* macros. + * Any unknown value for mode will be considered equivalent to + * AV_ESCAPE_MODE_BACKSLASH, but this behaviour can change without + * notice. + * @param flags flags which control how to escape, see AV_ESCAPE_FLAG_* macros + */ +void av_bprint_escape(AVBPrint *dstbuf, const char *src, const char *special_chars, + enum AVEscapeMode mode, int flags); + +#endif /* AVUTIL_BPRINT_H */ diff --git a/src/3rdparty/win32_include/libavutil/bswap.h b/src/3rdparty/win32_include/libavutil/bswap.h new file mode 100644 index 000000000..91cb79538 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/bswap.h @@ -0,0 +1,109 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * byte swapping routines + */ + +#ifndef AVUTIL_BSWAP_H +#define AVUTIL_BSWAP_H + +#include +#include "libavutil/avconfig.h" +#include "attributes.h" + +#ifdef HAVE_AV_CONFIG_H + +#include "config.h" + +#if ARCH_AARCH64 +# include "aarch64/bswap.h" +#elif ARCH_ARM +# include "arm/bswap.h" +#elif ARCH_AVR32 +# include "avr32/bswap.h" +#elif ARCH_SH4 +# include "sh4/bswap.h" +#elif ARCH_X86 +# include "x86/bswap.h" +#endif + +#endif /* HAVE_AV_CONFIG_H */ + +#define AV_BSWAP16C(x) (((x) << 8 & 0xff00) | ((x) >> 8 & 0x00ff)) +#define AV_BSWAP32C(x) (AV_BSWAP16C(x) << 16 | AV_BSWAP16C((x) >> 16)) +#define AV_BSWAP64C(x) (AV_BSWAP32C(x) << 32 | AV_BSWAP32C((x) >> 32)) + +#define AV_BSWAPC(s, x) AV_BSWAP##s##C(x) + +#ifndef av_bswap16 +static av_always_inline av_const uint16_t av_bswap16(uint16_t x) +{ + x= (x>>8) | (x<<8); + return x; +} +#endif + +#ifndef av_bswap32 +static av_always_inline av_const uint32_t av_bswap32(uint32_t x) +{ + return AV_BSWAP32C(x); +} +#endif + +#ifndef av_bswap64 +static inline uint64_t av_const av_bswap64(uint64_t x) +{ + return (uint64_t)av_bswap32(x) << 32 | av_bswap32(x >> 32); +} +#endif + +// be2ne ... big-endian to native-endian +// le2ne ... little-endian to native-endian + +#if AV_HAVE_BIGENDIAN +#define av_be2ne16(x) (x) +#define av_be2ne32(x) (x) +#define av_be2ne64(x) (x) +#define av_le2ne16(x) av_bswap16(x) +#define av_le2ne32(x) av_bswap32(x) +#define av_le2ne64(x) av_bswap64(x) +#define AV_BE2NEC(s, x) (x) +#define AV_LE2NEC(s, x) AV_BSWAPC(s, x) +#else +#define av_be2ne16(x) av_bswap16(x) +#define av_be2ne32(x) av_bswap32(x) +#define av_be2ne64(x) av_bswap64(x) +#define av_le2ne16(x) (x) +#define av_le2ne32(x) (x) +#define av_le2ne64(x) (x) +#define AV_BE2NEC(s, x) AV_BSWAPC(s, x) +#define AV_LE2NEC(s, x) (x) +#endif + +#define AV_BE2NE16C(x) AV_BE2NEC(16, x) +#define AV_BE2NE32C(x) AV_BE2NEC(32, x) +#define AV_BE2NE64C(x) AV_BE2NEC(64, x) +#define AV_LE2NE16C(x) AV_LE2NEC(16, x) +#define AV_LE2NE32C(x) AV_LE2NEC(32, x) +#define AV_LE2NE64C(x) AV_LE2NEC(64, x) + +#endif /* AVUTIL_BSWAP_H */ diff --git a/src/3rdparty/win32_include/libavutil/buffer.h b/src/3rdparty/win32_include/libavutil/buffer.h new file mode 100644 index 000000000..73b6bd0b1 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/buffer.h @@ -0,0 +1,291 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu_buffer + * refcounted data buffer API + */ + +#ifndef AVUTIL_BUFFER_H +#define AVUTIL_BUFFER_H + +#include + +/** + * @defgroup lavu_buffer AVBuffer + * @ingroup lavu_data + * + * @{ + * AVBuffer is an API for reference-counted data buffers. + * + * There are two core objects in this API -- AVBuffer and AVBufferRef. AVBuffer + * represents the data buffer itself; it is opaque and not meant to be accessed + * by the caller directly, but only through AVBufferRef. However, the caller may + * e.g. compare two AVBuffer pointers to check whether two different references + * are describing the same data buffer. AVBufferRef represents a single + * reference to an AVBuffer and it is the object that may be manipulated by the + * caller directly. + * + * There are two functions provided for creating a new AVBuffer with a single + * reference -- av_buffer_alloc() to just allocate a new buffer, and + * av_buffer_create() to wrap an existing array in an AVBuffer. From an existing + * reference, additional references may be created with av_buffer_ref(). + * Use av_buffer_unref() to free a reference (this will automatically free the + * data once all the references are freed). + * + * The convention throughout this API and the rest of FFmpeg is such that the + * buffer is considered writable if there exists only one reference to it (and + * it has not been marked as read-only). The av_buffer_is_writable() function is + * provided to check whether this is true and av_buffer_make_writable() will + * automatically create a new writable buffer when necessary. + * Of course nothing prevents the calling code from violating this convention, + * however that is safe only when all the existing references are under its + * control. + * + * @note Referencing and unreferencing the buffers is thread-safe and thus + * may be done from multiple threads simultaneously without any need for + * additional locking. + * + * @note Two different references to the same buffer can point to different + * parts of the buffer (i.e. their AVBufferRef.data will not be equal). + */ + +/** + * A reference counted buffer type. It is opaque and is meant to be used through + * references (AVBufferRef). + */ +typedef struct AVBuffer AVBuffer; + +/** + * A reference to a data buffer. + * + * The size of this struct is not a part of the public ABI and it is not meant + * to be allocated directly. + */ +typedef struct AVBufferRef { + AVBuffer *buffer; + + /** + * The data buffer. It is considered writable if and only if + * this is the only reference to the buffer, in which case + * av_buffer_is_writable() returns 1. + */ + uint8_t *data; + /** + * Size of data in bytes. + */ + int size; +} AVBufferRef; + +/** + * Allocate an AVBuffer of the given size using av_malloc(). + * + * @return an AVBufferRef of given size or NULL when out of memory + */ +AVBufferRef *av_buffer_alloc(int size); + +/** + * Same as av_buffer_alloc(), except the returned buffer will be initialized + * to zero. + */ +AVBufferRef *av_buffer_allocz(int size); + +/** + * Always treat the buffer as read-only, even when it has only one + * reference. + */ +#define AV_BUFFER_FLAG_READONLY (1 << 0) + +/** + * Create an AVBuffer from an existing array. + * + * If this function is successful, data is owned by the AVBuffer. The caller may + * only access data through the returned AVBufferRef and references derived from + * it. + * If this function fails, data is left untouched. + * @param data data array + * @param size size of data in bytes + * @param free a callback for freeing this buffer's data + * @param opaque parameter to be got for processing or passed to free + * @param flags a combination of AV_BUFFER_FLAG_* + * + * @return an AVBufferRef referring to data on success, NULL on failure. + */ +AVBufferRef *av_buffer_create(uint8_t *data, int size, + void (*free)(void *opaque, uint8_t *data), + void *opaque, int flags); + +/** + * Default free callback, which calls av_free() on the buffer data. + * This function is meant to be passed to av_buffer_create(), not called + * directly. + */ +void av_buffer_default_free(void *opaque, uint8_t *data); + +/** + * Create a new reference to an AVBuffer. + * + * @return a new AVBufferRef referring to the same AVBuffer as buf or NULL on + * failure. + */ +AVBufferRef *av_buffer_ref(AVBufferRef *buf); + +/** + * Free a given reference and automatically free the buffer if there are no more + * references to it. + * + * @param buf the reference to be freed. The pointer is set to NULL on return. + */ +void av_buffer_unref(AVBufferRef **buf); + +/** + * @return 1 if the caller may write to the data referred to by buf (which is + * true if and only if buf is the only reference to the underlying AVBuffer). + * Return 0 otherwise. + * A positive answer is valid until av_buffer_ref() is called on buf. + */ +int av_buffer_is_writable(const AVBufferRef *buf); + +/** + * @return the opaque parameter set by av_buffer_create. + */ +void *av_buffer_get_opaque(const AVBufferRef *buf); + +int av_buffer_get_ref_count(const AVBufferRef *buf); + +/** + * Create a writable reference from a given buffer reference, avoiding data copy + * if possible. + * + * @param buf buffer reference to make writable. On success, buf is either left + * untouched, or it is unreferenced and a new writable AVBufferRef is + * written in its place. On failure, buf is left untouched. + * @return 0 on success, a negative AVERROR on failure. + */ +int av_buffer_make_writable(AVBufferRef **buf); + +/** + * Reallocate a given buffer. + * + * @param buf a buffer reference to reallocate. On success, buf will be + * unreferenced and a new reference with the required size will be + * written in its place. On failure buf will be left untouched. *buf + * may be NULL, then a new buffer is allocated. + * @param size required new buffer size. + * @return 0 on success, a negative AVERROR on failure. + * + * @note the buffer is actually reallocated with av_realloc() only if it was + * initially allocated through av_buffer_realloc(NULL) and there is only one + * reference to it (i.e. the one passed to this function). In all other cases + * a new buffer is allocated and the data is copied. + */ +int av_buffer_realloc(AVBufferRef **buf, int size); + +/** + * @} + */ + +/** + * @defgroup lavu_bufferpool AVBufferPool + * @ingroup lavu_data + * + * @{ + * AVBufferPool is an API for a lock-free thread-safe pool of AVBuffers. + * + * Frequently allocating and freeing large buffers may be slow. AVBufferPool is + * meant to solve this in cases when the caller needs a set of buffers of the + * same size (the most obvious use case being buffers for raw video or audio + * frames). + * + * At the beginning, the user must call av_buffer_pool_init() to create the + * buffer pool. Then whenever a buffer is needed, call av_buffer_pool_get() to + * get a reference to a new buffer, similar to av_buffer_alloc(). This new + * reference works in all aspects the same way as the one created by + * av_buffer_alloc(). However, when the last reference to this buffer is + * unreferenced, it is returned to the pool instead of being freed and will be + * reused for subsequent av_buffer_pool_get() calls. + * + * When the caller is done with the pool and no longer needs to allocate any new + * buffers, av_buffer_pool_uninit() must be called to mark the pool as freeable. + * Once all the buffers are released, it will automatically be freed. + * + * Allocating and releasing buffers with this API is thread-safe as long as + * either the default alloc callback is used, or the user-supplied one is + * thread-safe. + */ + +/** + * The buffer pool. This structure is opaque and not meant to be accessed + * directly. It is allocated with av_buffer_pool_init() and freed with + * av_buffer_pool_uninit(). + */ +typedef struct AVBufferPool AVBufferPool; + +/** + * Allocate and initialize a buffer pool. + * + * @param size size of each buffer in this pool + * @param alloc a function that will be used to allocate new buffers when the + * pool is empty. May be NULL, then the default allocator will be used + * (av_buffer_alloc()). + * @return newly created buffer pool on success, NULL on error. + */ +AVBufferPool *av_buffer_pool_init(int size, AVBufferRef* (*alloc)(int size)); + +/** + * Allocate and initialize a buffer pool with a more complex allocator. + * + * @param size size of each buffer in this pool + * @param opaque arbitrary user data used by the allocator + * @param alloc a function that will be used to allocate new buffers when the + * pool is empty. + * @param pool_free a function that will be called immediately before the pool + * is freed. I.e. after av_buffer_pool_uninit() is called + * by the caller and all the frames are returned to the pool + * and freed. It is intended to uninitialize the user opaque + * data. + * @return newly created buffer pool on success, NULL on error. + */ +AVBufferPool *av_buffer_pool_init2(int size, void *opaque, + AVBufferRef* (*alloc)(void *opaque, int size), + void (*pool_free)(void *opaque)); + +/** + * Mark the pool as being available for freeing. It will actually be freed only + * once all the allocated buffers associated with the pool are released. Thus it + * is safe to call this function while some of the allocated buffers are still + * in use. + * + * @param pool pointer to the pool to be freed. It will be set to NULL. + */ +void av_buffer_pool_uninit(AVBufferPool **pool); + +/** + * Allocate a new AVBuffer, reusing an old buffer from the pool when available. + * This function may be called simultaneously from multiple threads. + * + * @return a reference to the new buffer on success, NULL on error. + */ +AVBufferRef *av_buffer_pool_get(AVBufferPool *pool); + +/** + * @} + */ + +#endif /* AVUTIL_BUFFER_H */ diff --git a/src/3rdparty/win32_include/libavutil/camellia.h b/src/3rdparty/win32_include/libavutil/camellia.h new file mode 100644 index 000000000..e674c9b9a --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/camellia.h @@ -0,0 +1,70 @@ +/* + * An implementation of the CAMELLIA algorithm as mentioned in RFC3713 + * Copyright (c) 2014 Supraja Meedinti + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_CAMELLIA_H +#define AVUTIL_CAMELLIA_H + +#include + + +/** + * @file + * @brief Public header for libavutil CAMELLIA algorithm + * @defgroup lavu_camellia CAMELLIA + * @ingroup lavu_crypto + * @{ + */ + +extern const int av_camellia_size; + +struct AVCAMELLIA; + +/** + * Allocate an AVCAMELLIA context + * To free the struct: av_free(ptr) + */ +struct AVCAMELLIA *av_camellia_alloc(void); + +/** + * Initialize an AVCAMELLIA context. + * + * @param ctx an AVCAMELLIA context + * @param key a key of 16, 24, 32 bytes used for encryption/decryption + * @param key_bits number of keybits: possible are 128, 192, 256 + */ +int av_camellia_init(struct AVCAMELLIA *ctx, const uint8_t *key, int key_bits); + +/** + * Encrypt or decrypt a buffer using a previously initialized context + * + * @param ctx an AVCAMELLIA context + * @param dst destination array, can be equal to src + * @param src source array, can be equal to dst + * @param count number of 16 byte blocks + * @paran iv initialization vector for CBC mode, NULL for ECB mode + * @param decrypt 0 for encryption, 1 for decryption + */ +void av_camellia_crypt(struct AVCAMELLIA *ctx, uint8_t *dst, const uint8_t *src, int count, uint8_t* iv, int decrypt); + +/** + * @} + */ +#endif /* AVUTIL_CAMELLIA_H */ diff --git a/src/3rdparty/win32_include/libavutil/cast5.h b/src/3rdparty/win32_include/libavutil/cast5.h new file mode 100644 index 000000000..ad5b347e6 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/cast5.h @@ -0,0 +1,80 @@ +/* + * An implementation of the CAST128 algorithm as mentioned in RFC2144 + * Copyright (c) 2014 Supraja Meedinti + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_CAST5_H +#define AVUTIL_CAST5_H + +#include + + +/** + * @file + * @brief Public header for libavutil CAST5 algorithm + * @defgroup lavu_cast5 CAST5 + * @ingroup lavu_crypto + * @{ + */ + +extern const int av_cast5_size; + +struct AVCAST5; + +/** + * Allocate an AVCAST5 context + * To free the struct: av_free(ptr) + */ +struct AVCAST5 *av_cast5_alloc(void); +/** + * Initialize an AVCAST5 context. + * + * @param ctx an AVCAST5 context + * @param key a key of 5,6,...16 bytes used for encryption/decryption + * @param key_bits number of keybits: possible are 40,48,...,128 + * @return 0 on success, less than 0 on failure + */ +int av_cast5_init(struct AVCAST5 *ctx, const uint8_t *key, int key_bits); + +/** + * Encrypt or decrypt a buffer using a previously initialized context, ECB mode only + * + * @param ctx an AVCAST5 context + * @param dst destination array, can be equal to src + * @param src source array, can be equal to dst + * @param count number of 8 byte blocks + * @param decrypt 0 for encryption, 1 for decryption + */ +void av_cast5_crypt(struct AVCAST5 *ctx, uint8_t *dst, const uint8_t *src, int count, int decrypt); + +/** + * Encrypt or decrypt a buffer using a previously initialized context + * + * @param ctx an AVCAST5 context + * @param dst destination array, can be equal to src + * @param src source array, can be equal to dst + * @param count number of 8 byte blocks + * @param iv initialization vector for CBC mode, NULL for ECB mode + * @param decrypt 0 for encryption, 1 for decryption + */ +void av_cast5_crypt2(struct AVCAST5 *ctx, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt); +/** + * @} + */ +#endif /* AVUTIL_CAST5_H */ diff --git a/src/3rdparty/win32_include/libavutil/channel_layout.h b/src/3rdparty/win32_include/libavutil/channel_layout.h new file mode 100644 index 000000000..50bb8f03c --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/channel_layout.h @@ -0,0 +1,232 @@ +/* + * Copyright (c) 2006 Michael Niedermayer + * Copyright (c) 2008 Peter Ross + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_CHANNEL_LAYOUT_H +#define AVUTIL_CHANNEL_LAYOUT_H + +#include + +/** + * @file + * audio channel layout utility functions + */ + +/** + * @addtogroup lavu_audio + * @{ + */ + +/** + * @defgroup channel_masks Audio channel masks + * + * A channel layout is a 64-bits integer with a bit set for every channel. + * The number of bits set must be equal to the number of channels. + * The value 0 means that the channel layout is not known. + * @note this data structure is not powerful enough to handle channels + * combinations that have the same channel multiple times, such as + * dual-mono. + * + * @{ + */ +#define AV_CH_FRONT_LEFT 0x00000001 +#define AV_CH_FRONT_RIGHT 0x00000002 +#define AV_CH_FRONT_CENTER 0x00000004 +#define AV_CH_LOW_FREQUENCY 0x00000008 +#define AV_CH_BACK_LEFT 0x00000010 +#define AV_CH_BACK_RIGHT 0x00000020 +#define AV_CH_FRONT_LEFT_OF_CENTER 0x00000040 +#define AV_CH_FRONT_RIGHT_OF_CENTER 0x00000080 +#define AV_CH_BACK_CENTER 0x00000100 +#define AV_CH_SIDE_LEFT 0x00000200 +#define AV_CH_SIDE_RIGHT 0x00000400 +#define AV_CH_TOP_CENTER 0x00000800 +#define AV_CH_TOP_FRONT_LEFT 0x00001000 +#define AV_CH_TOP_FRONT_CENTER 0x00002000 +#define AV_CH_TOP_FRONT_RIGHT 0x00004000 +#define AV_CH_TOP_BACK_LEFT 0x00008000 +#define AV_CH_TOP_BACK_CENTER 0x00010000 +#define AV_CH_TOP_BACK_RIGHT 0x00020000 +#define AV_CH_STEREO_LEFT 0x20000000 ///< Stereo downmix. +#define AV_CH_STEREO_RIGHT 0x40000000 ///< See AV_CH_STEREO_LEFT. +#define AV_CH_WIDE_LEFT 0x0000000080000000ULL +#define AV_CH_WIDE_RIGHT 0x0000000100000000ULL +#define AV_CH_SURROUND_DIRECT_LEFT 0x0000000200000000ULL +#define AV_CH_SURROUND_DIRECT_RIGHT 0x0000000400000000ULL +#define AV_CH_LOW_FREQUENCY_2 0x0000000800000000ULL + +/** Channel mask value used for AVCodecContext.request_channel_layout + to indicate that the user requests the channel order of the decoder output + to be the native codec channel order. */ +#define AV_CH_LAYOUT_NATIVE 0x8000000000000000ULL + +/** + * @} + * @defgroup channel_mask_c Audio channel layouts + * @{ + * */ +#define AV_CH_LAYOUT_MONO (AV_CH_FRONT_CENTER) +#define AV_CH_LAYOUT_STEREO (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT) +#define AV_CH_LAYOUT_2POINT1 (AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY) +#define AV_CH_LAYOUT_2_1 (AV_CH_LAYOUT_STEREO|AV_CH_BACK_CENTER) +#define AV_CH_LAYOUT_SURROUND (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER) +#define AV_CH_LAYOUT_3POINT1 (AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY) +#define AV_CH_LAYOUT_4POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_CENTER) +#define AV_CH_LAYOUT_4POINT1 (AV_CH_LAYOUT_4POINT0|AV_CH_LOW_FREQUENCY) +#define AV_CH_LAYOUT_2_2 (AV_CH_LAYOUT_STEREO|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT) +#define AV_CH_LAYOUT_QUAD (AV_CH_LAYOUT_STEREO|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) +#define AV_CH_LAYOUT_5POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT) +#define AV_CH_LAYOUT_5POINT1 (AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY) +#define AV_CH_LAYOUT_5POINT0_BACK (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) +#define AV_CH_LAYOUT_5POINT1_BACK (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_LOW_FREQUENCY) +#define AV_CH_LAYOUT_6POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER) +#define AV_CH_LAYOUT_6POINT0_FRONT (AV_CH_LAYOUT_2_2|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) +#define AV_CH_LAYOUT_HEXAGONAL (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_BACK_CENTER) +#define AV_CH_LAYOUT_6POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_CENTER) +#define AV_CH_LAYOUT_6POINT1_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_BACK_CENTER) +#define AV_CH_LAYOUT_6POINT1_FRONT (AV_CH_LAYOUT_6POINT0_FRONT|AV_CH_LOW_FREQUENCY) +#define AV_CH_LAYOUT_7POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) +#define AV_CH_LAYOUT_7POINT0_FRONT (AV_CH_LAYOUT_5POINT0|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) +#define AV_CH_LAYOUT_7POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) +#define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) +#define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) +#define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) +#define AV_CH_LAYOUT_HEXADECAGONAL (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) +#define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT) + +enum AVMatrixEncoding { + AV_MATRIX_ENCODING_NONE, + AV_MATRIX_ENCODING_DOLBY, + AV_MATRIX_ENCODING_DPLII, + AV_MATRIX_ENCODING_DPLIIX, + AV_MATRIX_ENCODING_DPLIIZ, + AV_MATRIX_ENCODING_DOLBYEX, + AV_MATRIX_ENCODING_DOLBYHEADPHONE, + AV_MATRIX_ENCODING_NB +}; + +/** + * Return a channel layout id that matches name, or 0 if no match is found. + * + * name can be one or several of the following notations, + * separated by '+' or '|': + * - the name of an usual channel layout (mono, stereo, 4.0, quad, 5.0, + * 5.0(side), 5.1, 5.1(side), 7.1, 7.1(wide), downmix); + * - the name of a single channel (FL, FR, FC, LFE, BL, BR, FLC, FRC, BC, + * SL, SR, TC, TFL, TFC, TFR, TBL, TBC, TBR, DL, DR); + * - a number of channels, in decimal, followed by 'c', yielding + * the default channel layout for that number of channels (@see + * av_get_default_channel_layout); + * - a channel layout mask, in hexadecimal starting with "0x" (see the + * AV_CH_* macros). + * + * Example: "stereo+FC" = "2c+FC" = "2c+1c" = "0x7" + */ +uint64_t av_get_channel_layout(const char *name); + +/** + * Return a channel layout and the number of channels based on the specified name. + * + * This function is similar to (@see av_get_channel_layout), but can also parse + * unknown channel layout specifications. + * + * @param[in] name channel layout specification string + * @param[out] channel_layout parsed channel layout (0 if unknown) + * @param[out] nb_channels number of channels + * + * @return 0 on success, AVERROR(EINVAL) if the parsing fails. + */ +int av_get_extended_channel_layout(const char *name, uint64_t* channel_layout, int* nb_channels); + +/** + * Return a description of a channel layout. + * If nb_channels is <= 0, it is guessed from the channel_layout. + * + * @param buf put here the string containing the channel layout + * @param buf_size size in bytes of the buffer + */ +void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, uint64_t channel_layout); + +struct AVBPrint; +/** + * Append a description of a channel layout to a bprint buffer. + */ +void av_bprint_channel_layout(struct AVBPrint *bp, int nb_channels, uint64_t channel_layout); + +/** + * Return the number of channels in the channel layout. + */ +int av_get_channel_layout_nb_channels(uint64_t channel_layout); + +/** + * Return default channel layout for a given number of channels. + */ +int64_t av_get_default_channel_layout(int nb_channels); + +/** + * Get the index of a channel in channel_layout. + * + * @param channel a channel layout describing exactly one channel which must be + * present in channel_layout. + * + * @return index of channel in channel_layout on success, a negative AVERROR + * on error. + */ +int av_get_channel_layout_channel_index(uint64_t channel_layout, + uint64_t channel); + +/** + * Get the channel with the given index in channel_layout. + */ +uint64_t av_channel_layout_extract_channel(uint64_t channel_layout, int index); + +/** + * Get the name of a given channel. + * + * @return channel name on success, NULL on error. + */ +const char *av_get_channel_name(uint64_t channel); + +/** + * Get the description of a given channel. + * + * @param channel a channel layout with a single channel + * @return channel description on success, NULL on error + */ +const char *av_get_channel_description(uint64_t channel); + +/** + * Get the value and name of a standard channel layout. + * + * @param[in] index index in an internal list, starting at 0 + * @param[out] layout channel layout mask + * @param[out] name name of the layout + * @return 0 if the layout exists, + * <0 if index is beyond the limits + */ +int av_get_standard_channel_layout(unsigned index, uint64_t *layout, + const char **name); + +/** + * @} + * @} + */ + +#endif /* AVUTIL_CHANNEL_LAYOUT_H */ diff --git a/src/3rdparty/win32_include/libavutil/common.h b/src/3rdparty/win32_include/libavutil/common.h new file mode 100644 index 000000000..8142b31fd --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/common.h @@ -0,0 +1,530 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * common internal and external API header + */ + +#ifndef AVUTIL_COMMON_H +#define AVUTIL_COMMON_H + +#if defined(__cplusplus) && !defined(__STDC_CONSTANT_MACROS) && !defined(UINT64_C) +#error missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "attributes.h" +#include "macros.h" +#include "version.h" +#include "libavutil/avconfig.h" + +#if AV_HAVE_BIGENDIAN +# define AV_NE(be, le) (be) +#else +# define AV_NE(be, le) (le) +#endif + +//rounded division & shift +#define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b)) +/* assume b>0 */ +#define ROUNDED_DIV(a,b) (((a)>0 ? (a) + ((b)>>1) : (a) - ((b)>>1))/(b)) +/* Fast a/(1<=0 and b>=0 */ +#define AV_CEIL_RSHIFT(a,b) (!av_builtin_constant_p(b) ? -((-(a)) >> (b)) \ + : ((a) + (1<<(b)) - 1) >> (b)) +/* Backwards compat. */ +#define FF_CEIL_RSHIFT AV_CEIL_RSHIFT + +#define FFUDIV(a,b) (((a)>0 ?(a):(a)-(b)+1) / (b)) +#define FFUMOD(a,b) ((a)-(b)*FFUDIV(a,b)) + +/** + * Absolute value, Note, INT_MIN / INT64_MIN result in undefined behavior as they + * are not representable as absolute values of their type. This is the same + * as with *abs() + * @see FFNABS() + */ +#define FFABS(a) ((a) >= 0 ? (a) : (-(a))) +#define FFSIGN(a) ((a) > 0 ? 1 : -1) + +/** + * Negative Absolute value. + * this works for all integers of all types. + * As with many macros, this evaluates its argument twice, it thus must not have + * a sideeffect, that is FFNABS(x++) has undefined behavior. + */ +#define FFNABS(a) ((a) <= 0 ? (a) : (-(a))) + +/** + * Comparator. + * For two numerical expressions x and y, gives 1 if x > y, -1 if x < y, and 0 + * if x == y. This is useful for instance in a qsort comparator callback. + * Furthermore, compilers are able to optimize this to branchless code, and + * there is no risk of overflow with signed types. + * As with many macros, this evaluates its argument multiple times, it thus + * must not have a side-effect. + */ +#define FFDIFFSIGN(x,y) (((x)>(y)) - ((x)<(y))) + +#define FFMAX(a,b) ((a) > (b) ? (a) : (b)) +#define FFMAX3(a,b,c) FFMAX(FFMAX(a,b),c) +#define FFMIN(a,b) ((a) > (b) ? (b) : (a)) +#define FFMIN3(a,b,c) FFMIN(FFMIN(a,b),c) + +#define FFSWAP(type,a,b) do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0) +#define FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0])) + +/* misc math functions */ + +#ifdef HAVE_AV_CONFIG_H +# include "config.h" +# include "intmath.h" +#endif + +/* Pull in unguarded fallback defines at the end of this file. */ +#include "common.h" + +#ifndef av_log2 +av_const int av_log2(unsigned v); +#endif + +#ifndef av_log2_16bit +av_const int av_log2_16bit(unsigned v); +#endif + +/** + * Clip a signed integer value into the amin-amax range. + * @param a value to clip + * @param amin minimum value of the clip range + * @param amax maximum value of the clip range + * @return clipped value + */ +static av_always_inline av_const int av_clip_c(int a, int amin, int amax) +{ +#if defined(HAVE_AV_CONFIG_H) && defined(ASSERT_LEVEL) && ASSERT_LEVEL >= 2 + if (amin > amax) abort(); +#endif + if (a < amin) return amin; + else if (a > amax) return amax; + else return a; +} + +/** + * Clip a signed 64bit integer value into the amin-amax range. + * @param a value to clip + * @param amin minimum value of the clip range + * @param amax maximum value of the clip range + * @return clipped value + */ +static av_always_inline av_const int64_t av_clip64_c(int64_t a, int64_t amin, int64_t amax) +{ +#if defined(HAVE_AV_CONFIG_H) && defined(ASSERT_LEVEL) && ASSERT_LEVEL >= 2 + if (amin > amax) abort(); +#endif + if (a < amin) return amin; + else if (a > amax) return amax; + else return a; +} + +/** + * Clip a signed integer value into the 0-255 range. + * @param a value to clip + * @return clipped value + */ +static av_always_inline av_const uint8_t av_clip_uint8_c(int a) +{ + if (a&(~0xFF)) return (-a)>>31; + else return a; +} + +/** + * Clip a signed integer value into the -128,127 range. + * @param a value to clip + * @return clipped value + */ +static av_always_inline av_const int8_t av_clip_int8_c(int a) +{ + if ((a+0x80U) & ~0xFF) return (a>>31) ^ 0x7F; + else return a; +} + +/** + * Clip a signed integer value into the 0-65535 range. + * @param a value to clip + * @return clipped value + */ +static av_always_inline av_const uint16_t av_clip_uint16_c(int a) +{ + if (a&(~0xFFFF)) return (-a)>>31; + else return a; +} + +/** + * Clip a signed integer value into the -32768,32767 range. + * @param a value to clip + * @return clipped value + */ +static av_always_inline av_const int16_t av_clip_int16_c(int a) +{ + if ((a+0x8000U) & ~0xFFFF) return (a>>31) ^ 0x7FFF; + else return a; +} + +/** + * Clip a signed 64-bit integer value into the -2147483648,2147483647 range. + * @param a value to clip + * @return clipped value + */ +static av_always_inline av_const int32_t av_clipl_int32_c(int64_t a) +{ + if ((a+0x80000000u) & ~UINT64_C(0xFFFFFFFF)) return (int32_t)((a>>63) ^ 0x7FFFFFFF); + else return (int32_t)a; +} + +/** + * Clip a signed integer into the -(2^p),(2^p-1) range. + * @param a value to clip + * @param p bit position to clip at + * @return clipped value + */ +static av_always_inline av_const int av_clip_intp2_c(int a, int p) +{ + if (((unsigned)a + (1 << p)) & ~((2 << p) - 1)) + return (a >> 31) ^ ((1 << p) - 1); + else + return a; +} + +/** + * Clip a signed integer to an unsigned power of two range. + * @param a value to clip + * @param p bit position to clip at + * @return clipped value + */ +static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p) +{ + if (a & ~((1<> 31 & ((1<= 2 + if (amin > amax) abort(); +#endif + if (a < amin) return amin; + else if (a > amax) return amax; + else return a; +} + +/** + * Clip a double value into the amin-amax range. + * @param a value to clip + * @param amin minimum value of the clip range + * @param amax maximum value of the clip range + * @return clipped value + */ +static av_always_inline av_const double av_clipd_c(double a, double amin, double amax) +{ +#if defined(HAVE_AV_CONFIG_H) && defined(ASSERT_LEVEL) && ASSERT_LEVEL >= 2 + if (amin > amax) abort(); +#endif + if (a < amin) return amin; + else if (a > amax) return amax; + else return a; +} + +/** Compute ceil(log2(x)). + * @param x value used to compute ceil(log2(x)) + * @return computed ceiling of log2(x) + */ +static av_always_inline av_const int av_ceil_log2_c(int x) +{ + return av_log2((x - 1) << 1); +} + +/** + * Count number of bits set to one in x + * @param x value to count bits of + * @return the number of bits set to one in x + */ +static av_always_inline av_const int av_popcount_c(uint32_t x) +{ + x -= (x >> 1) & 0x55555555; + x = (x & 0x33333333) + ((x >> 2) & 0x33333333); + x = (x + (x >> 4)) & 0x0F0F0F0F; + x += x >> 8; + return (x + (x >> 16)) & 0x3F; +} + +/** + * Count number of bits set to one in x + * @param x value to count bits of + * @return the number of bits set to one in x + */ +static av_always_inline av_const int av_popcount64_c(uint64_t x) +{ + return av_popcount((uint32_t)x) + av_popcount((uint32_t)(x >> 32)); +} + +static av_always_inline av_const int av_parity_c(uint32_t v) +{ + return av_popcount(v) & 1; +} + +#define MKTAG(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((unsigned)(d) << 24)) +#define MKBETAG(a,b,c,d) ((d) | ((c) << 8) | ((b) << 16) | ((unsigned)(a) << 24)) + +/** + * Convert a UTF-8 character (up to 4 bytes) to its 32-bit UCS-4 encoded form. + * + * @param val Output value, must be an lvalue of type uint32_t. + * @param GET_BYTE Expression reading one byte from the input. + * Evaluated up to 7 times (4 for the currently + * assigned Unicode range). With a memory buffer + * input, this could be *ptr++. + * @param ERROR Expression to be evaluated on invalid input, + * typically a goto statement. + * + * @warning ERROR should not contain a loop control statement which + * could interact with the internal while loop, and should force an + * exit from the macro code (e.g. through a goto or a return) in order + * to prevent undefined results. + */ +#define GET_UTF8(val, GET_BYTE, ERROR)\ + val= (GET_BYTE);\ + {\ + uint32_t top = (val & 128) >> 1;\ + if ((val & 0xc0) == 0x80 || val >= 0xFE)\ + ERROR\ + while (val & top) {\ + int tmp= (GET_BYTE) - 128;\ + if(tmp>>6)\ + ERROR\ + val= (val<<6) + tmp;\ + top <<= 5;\ + }\ + val &= (top << 1) - 1;\ + } + +/** + * Convert a UTF-16 character (2 or 4 bytes) to its 32-bit UCS-4 encoded form. + * + * @param val Output value, must be an lvalue of type uint32_t. + * @param GET_16BIT Expression returning two bytes of UTF-16 data converted + * to native byte order. Evaluated one or two times. + * @param ERROR Expression to be evaluated on invalid input, + * typically a goto statement. + */ +#define GET_UTF16(val, GET_16BIT, ERROR)\ + val = GET_16BIT;\ + {\ + unsigned int hi = val - 0xD800;\ + if (hi < 0x800) {\ + val = GET_16BIT - 0xDC00;\ + if (val > 0x3FFU || hi > 0x3FFU)\ + ERROR\ + val += (hi<<10) + 0x10000;\ + }\ + }\ + +/** + * @def PUT_UTF8(val, tmp, PUT_BYTE) + * Convert a 32-bit Unicode character to its UTF-8 encoded form (up to 4 bytes long). + * @param val is an input-only argument and should be of type uint32_t. It holds + * a UCS-4 encoded Unicode character that is to be converted to UTF-8. If + * val is given as a function it is executed only once. + * @param tmp is a temporary variable and should be of type uint8_t. It + * represents an intermediate value during conversion that is to be + * output by PUT_BYTE. + * @param PUT_BYTE writes the converted UTF-8 bytes to any proper destination. + * It could be a function or a statement, and uses tmp as the input byte. + * For example, PUT_BYTE could be "*output++ = tmp;" PUT_BYTE will be + * executed up to 4 times for values in the valid UTF-8 range and up to + * 7 times in the general case, depending on the length of the converted + * Unicode character. + */ +#define PUT_UTF8(val, tmp, PUT_BYTE)\ + {\ + int bytes, shift;\ + uint32_t in = val;\ + if (in < 0x80) {\ + tmp = in;\ + PUT_BYTE\ + } else {\ + bytes = (av_log2(in) + 4) / 5;\ + shift = (bytes - 1) * 6;\ + tmp = (256 - (256 >> bytes)) | (in >> shift);\ + PUT_BYTE\ + while (shift >= 6) {\ + shift -= 6;\ + tmp = 0x80 | ((in >> shift) & 0x3f);\ + PUT_BYTE\ + }\ + }\ + } + +/** + * @def PUT_UTF16(val, tmp, PUT_16BIT) + * Convert a 32-bit Unicode character to its UTF-16 encoded form (2 or 4 bytes). + * @param val is an input-only argument and should be of type uint32_t. It holds + * a UCS-4 encoded Unicode character that is to be converted to UTF-16. If + * val is given as a function it is executed only once. + * @param tmp is a temporary variable and should be of type uint16_t. It + * represents an intermediate value during conversion that is to be + * output by PUT_16BIT. + * @param PUT_16BIT writes the converted UTF-16 data to any proper destination + * in desired endianness. It could be a function or a statement, and uses tmp + * as the input byte. For example, PUT_BYTE could be "*output++ = tmp;" + * PUT_BYTE will be executed 1 or 2 times depending on input character. + */ +#define PUT_UTF16(val, tmp, PUT_16BIT)\ + {\ + uint32_t in = val;\ + if (in < 0x10000) {\ + tmp = in;\ + PUT_16BIT\ + } else {\ + tmp = 0xD800 | ((in - 0x10000) >> 10);\ + PUT_16BIT\ + tmp = 0xDC00 | ((in - 0x10000) & 0x3FF);\ + PUT_16BIT\ + }\ + }\ + + + +#include "mem.h" + +#ifdef HAVE_AV_CONFIG_H +# include "internal.h" +#endif /* HAVE_AV_CONFIG_H */ + +#endif /* AVUTIL_COMMON_H */ + +/* + * The following definitions are outside the multiple inclusion guard + * to ensure they are immediately available in intmath.h. + */ + +#ifndef av_ceil_log2 +# define av_ceil_log2 av_ceil_log2_c +#endif +#ifndef av_clip +# define av_clip av_clip_c +#endif +#ifndef av_clip64 +# define av_clip64 av_clip64_c +#endif +#ifndef av_clip_uint8 +# define av_clip_uint8 av_clip_uint8_c +#endif +#ifndef av_clip_int8 +# define av_clip_int8 av_clip_int8_c +#endif +#ifndef av_clip_uint16 +# define av_clip_uint16 av_clip_uint16_c +#endif +#ifndef av_clip_int16 +# define av_clip_int16 av_clip_int16_c +#endif +#ifndef av_clipl_int32 +# define av_clipl_int32 av_clipl_int32_c +#endif +#ifndef av_clip_intp2 +# define av_clip_intp2 av_clip_intp2_c +#endif +#ifndef av_clip_uintp2 +# define av_clip_uintp2 av_clip_uintp2_c +#endif +#ifndef av_mod_uintp2 +# define av_mod_uintp2 av_mod_uintp2_c +#endif +#ifndef av_sat_add32 +# define av_sat_add32 av_sat_add32_c +#endif +#ifndef av_sat_dadd32 +# define av_sat_dadd32 av_sat_dadd32_c +#endif +#ifndef av_clipf +# define av_clipf av_clipf_c +#endif +#ifndef av_clipd +# define av_clipd av_clipd_c +#endif +#ifndef av_popcount +# define av_popcount av_popcount_c +#endif +#ifndef av_popcount64 +# define av_popcount64 av_popcount64_c +#endif +#ifndef av_parity +# define av_parity av_parity_c +#endif diff --git a/src/3rdparty/win32_include/libavutil/cpu.h b/src/3rdparty/win32_include/libavutil/cpu.h new file mode 100644 index 000000000..9e5d40aff --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/cpu.h @@ -0,0 +1,129 @@ +/* + * Copyright (c) 2000, 2001, 2002 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_CPU_H +#define AVUTIL_CPU_H + +#include + +#include "attributes.h" + +#define AV_CPU_FLAG_FORCE 0x80000000 /* force usage of selected flags (OR) */ + + /* lower 16 bits - CPU features */ +#define AV_CPU_FLAG_MMX 0x0001 ///< standard MMX +#define AV_CPU_FLAG_MMXEXT 0x0002 ///< SSE integer functions or AMD MMX ext +#define AV_CPU_FLAG_MMX2 0x0002 ///< SSE integer functions or AMD MMX ext +#define AV_CPU_FLAG_3DNOW 0x0004 ///< AMD 3DNOW +#define AV_CPU_FLAG_SSE 0x0008 ///< SSE functions +#define AV_CPU_FLAG_SSE2 0x0010 ///< PIV SSE2 functions +#define AV_CPU_FLAG_SSE2SLOW 0x40000000 ///< SSE2 supported, but usually not faster + ///< than regular MMX/SSE (e.g. Core1) +#define AV_CPU_FLAG_3DNOWEXT 0x0020 ///< AMD 3DNowExt +#define AV_CPU_FLAG_SSE3 0x0040 ///< Prescott SSE3 functions +#define AV_CPU_FLAG_SSE3SLOW 0x20000000 ///< SSE3 supported, but usually not faster + ///< than regular MMX/SSE (e.g. Core1) +#define AV_CPU_FLAG_SSSE3 0x0080 ///< Conroe SSSE3 functions +#define AV_CPU_FLAG_SSSE3SLOW 0x4000000 ///< SSSE3 supported, but usually not faster +#define AV_CPU_FLAG_ATOM 0x10000000 ///< Atom processor, some SSSE3 instructions are slower +#define AV_CPU_FLAG_SSE4 0x0100 ///< Penryn SSE4.1 functions +#define AV_CPU_FLAG_SSE42 0x0200 ///< Nehalem SSE4.2 functions +#define AV_CPU_FLAG_AESNI 0x80000 ///< Advanced Encryption Standard functions +#define AV_CPU_FLAG_AVX 0x4000 ///< AVX functions: requires OS support even if YMM registers aren't used +#define AV_CPU_FLAG_AVXSLOW 0x8000000 ///< AVX supported, but slow when using YMM registers (e.g. Bulldozer) +#define AV_CPU_FLAG_XOP 0x0400 ///< Bulldozer XOP functions +#define AV_CPU_FLAG_FMA4 0x0800 ///< Bulldozer FMA4 functions +#define AV_CPU_FLAG_CMOV 0x1000 ///< supports cmov instruction +#define AV_CPU_FLAG_AVX2 0x8000 ///< AVX2 functions: requires OS support even if YMM registers aren't used +#define AV_CPU_FLAG_FMA3 0x10000 ///< Haswell FMA3 functions +#define AV_CPU_FLAG_BMI1 0x20000 ///< Bit Manipulation Instruction Set 1 +#define AV_CPU_FLAG_BMI2 0x40000 ///< Bit Manipulation Instruction Set 2 + +#define AV_CPU_FLAG_ALTIVEC 0x0001 ///< standard +#define AV_CPU_FLAG_VSX 0x0002 ///< ISA 2.06 +#define AV_CPU_FLAG_POWER8 0x0004 ///< ISA 2.07 + +#define AV_CPU_FLAG_ARMV5TE (1 << 0) +#define AV_CPU_FLAG_ARMV6 (1 << 1) +#define AV_CPU_FLAG_ARMV6T2 (1 << 2) +#define AV_CPU_FLAG_VFP (1 << 3) +#define AV_CPU_FLAG_VFPV3 (1 << 4) +#define AV_CPU_FLAG_NEON (1 << 5) +#define AV_CPU_FLAG_ARMV8 (1 << 6) +#define AV_CPU_FLAG_VFP_VM (1 << 7) ///< VFPv2 vector mode, deprecated in ARMv7-A and unavailable in various CPUs implementations +#define AV_CPU_FLAG_SETEND (1 <<16) + +/** + * Return the flags which specify extensions supported by the CPU. + * The returned value is affected by av_force_cpu_flags() if that was used + * before. So av_get_cpu_flags() can easily be used in an application to + * detect the enabled cpu flags. + */ +int av_get_cpu_flags(void); + +/** + * Disables cpu detection and forces the specified flags. + * -1 is a special case that disables forcing of specific flags. + */ +void av_force_cpu_flags(int flags); + +/** + * Set a mask on flags returned by av_get_cpu_flags(). + * This function is mainly useful for testing. + * Please use av_force_cpu_flags() and av_get_cpu_flags() instead which are more flexible + */ +attribute_deprecated void av_set_cpu_flags_mask(int mask); + +/** + * Parse CPU flags from a string. + * + * The returned flags contain the specified flags as well as related unspecified flags. + * + * This function exists only for compatibility with libav. + * Please use av_parse_cpu_caps() when possible. + * @return a combination of AV_CPU_* flags, negative on error. + */ +attribute_deprecated +int av_parse_cpu_flags(const char *s); + +/** + * Parse CPU caps from a string and update the given AV_CPU_* flags based on that. + * + * @return negative on error. + */ +int av_parse_cpu_caps(unsigned *flags, const char *s); + +/** + * @return the number of logical CPU cores present. + */ +int av_cpu_count(void); + +/** + * Get the maximum data alignment that may be required by FFmpeg. + * + * Note that this is affected by the build configuration and the CPU flags mask, + * so e.g. if the CPU supports AVX, but libavutil has been built with + * --disable-avx or the AV_CPU_FLAG_AVX flag has been disabled through + * av_set_cpu_flags_mask(), then this function will behave as if AVX is not + * present. + */ +size_t av_cpu_max_align(void); + +#endif /* AVUTIL_CPU_H */ diff --git a/src/3rdparty/win32_include/libavutil/crc.h b/src/3rdparty/win32_include/libavutil/crc.h new file mode 100644 index 000000000..2a1b0d762 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/crc.h @@ -0,0 +1,103 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu_crc32 + * Public header for CRC hash function implementation. + */ + +#ifndef AVUTIL_CRC_H +#define AVUTIL_CRC_H + +#include +#include +#include "attributes.h" +#include "version.h" + +/** + * @defgroup lavu_crc32 CRC + * @ingroup lavu_hash + * CRC (Cyclic Redundancy Check) hash function implementation. + * + * This module supports numerous CRC polynomials, in addition to the most + * widely used CRC-32-IEEE. See @ref AVCRCId for a list of available + * polynomials. + * + * @{ + */ + +typedef uint32_t AVCRC; + +typedef enum { + AV_CRC_8_ATM, + AV_CRC_16_ANSI, + AV_CRC_16_CCITT, + AV_CRC_32_IEEE, + AV_CRC_32_IEEE_LE, /*< reversed bitorder version of AV_CRC_32_IEEE */ + AV_CRC_16_ANSI_LE, /*< reversed bitorder version of AV_CRC_16_ANSI */ +#if FF_API_CRC_BIG_TABLE + AV_CRC_24_IEEE = 12, +#else + AV_CRC_24_IEEE, +#endif /* FF_API_CRC_BIG_TABLE */ + AV_CRC_MAX, /*< Not part of public API! Do not use outside libavutil. */ +}AVCRCId; + +/** + * Initialize a CRC table. + * @param ctx must be an array of size sizeof(AVCRC)*257 or sizeof(AVCRC)*1024 + * @param le If 1, the lowest bit represents the coefficient for the highest + * exponent of the corresponding polynomial (both for poly and + * actual CRC). + * If 0, you must swap the CRC parameter and the result of av_crc + * if you need the standard representation (can be simplified in + * most cases to e.g. bswap16): + * av_bswap32(crc << (32-bits)) + * @param bits number of bits for the CRC + * @param poly generator polynomial without the x**bits coefficient, in the + * representation as specified by le + * @param ctx_size size of ctx in bytes + * @return <0 on failure + */ +int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size); + +/** + * Get an initialized standard CRC table. + * @param crc_id ID of a standard CRC + * @return a pointer to the CRC table or NULL on failure + */ +const AVCRC *av_crc_get_table(AVCRCId crc_id); + +/** + * Calculate the CRC of a block. + * @param crc CRC of previous blocks if any or initial value for CRC + * @return CRC updated with the data from the given block + * + * @see av_crc_init() "le" parameter + */ +uint32_t av_crc(const AVCRC *ctx, uint32_t crc, + const uint8_t *buffer, size_t length) av_pure; + +/** + * @} + */ + +#endif /* AVUTIL_CRC_H */ diff --git a/src/3rdparty/win32_include/libavutil/des.h b/src/3rdparty/win32_include/libavutil/des.h new file mode 100644 index 000000000..4cf11f5bc --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/des.h @@ -0,0 +1,77 @@ +/* + * DES encryption/decryption + * Copyright (c) 2007 Reimar Doeffinger + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_DES_H +#define AVUTIL_DES_H + +#include + +/** + * @defgroup lavu_des DES + * @ingroup lavu_crypto + * @{ + */ + +typedef struct AVDES { + uint64_t round_keys[3][16]; + int triple_des; +} AVDES; + +/** + * Allocate an AVDES context. + */ +AVDES *av_des_alloc(void); + +/** + * @brief Initializes an AVDES context. + * + * @param key_bits must be 64 or 192 + * @param decrypt 0 for encryption/CBC-MAC, 1 for decryption + * @return zero on success, negative value otherwise + */ +int av_des_init(struct AVDES *d, const uint8_t *key, int key_bits, int decrypt); + +/** + * @brief Encrypts / decrypts using the DES algorithm. + * + * @param count number of 8 byte blocks + * @param dst destination array, can be equal to src, must be 8-byte aligned + * @param src source array, can be equal to dst, must be 8-byte aligned, may be NULL + * @param iv initialization vector for CBC mode, if NULL then ECB will be used, + * must be 8-byte aligned + * @param decrypt 0 for encryption, 1 for decryption + */ +void av_des_crypt(struct AVDES *d, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt); + +/** + * @brief Calculates CBC-MAC using the DES algorithm. + * + * @param count number of 8 byte blocks + * @param dst destination array, can be equal to src, must be 8-byte aligned + * @param src source array, can be equal to dst, must be 8-byte aligned, may be NULL + */ +void av_des_mac(struct AVDES *d, uint8_t *dst, const uint8_t *src, int count); + +/** + * @} + */ + +#endif /* AVUTIL_DES_H */ diff --git a/src/3rdparty/win32_include/libavutil/dict.h b/src/3rdparty/win32_include/libavutil/dict.h new file mode 100644 index 000000000..118f1f00e --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/dict.h @@ -0,0 +1,200 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * Public dictionary API. + * @deprecated + * AVDictionary is provided for compatibility with libav. It is both in + * implementation as well as API inefficient. It does not scale and is + * extremely slow with large dictionaries. + * It is recommended that new code uses our tree container from tree.c/h + * where applicable, which uses AVL trees to achieve O(log n) performance. + */ + +#ifndef AVUTIL_DICT_H +#define AVUTIL_DICT_H + +#include + +#include "version.h" + +/** + * @addtogroup lavu_dict AVDictionary + * @ingroup lavu_data + * + * @brief Simple key:value store + * + * @{ + * Dictionaries are used for storing key:value pairs. To create + * an AVDictionary, simply pass an address of a NULL pointer to + * av_dict_set(). NULL can be used as an empty dictionary wherever + * a pointer to an AVDictionary is required. + * Use av_dict_get() to retrieve an entry or iterate over all + * entries and finally av_dict_free() to free the dictionary + * and all its contents. + * + @code + AVDictionary *d = NULL; // "create" an empty dictionary + AVDictionaryEntry *t = NULL; + + av_dict_set(&d, "foo", "bar", 0); // add an entry + + char *k = av_strdup("key"); // if your strings are already allocated, + char *v = av_strdup("value"); // you can avoid copying them like this + av_dict_set(&d, k, v, AV_DICT_DONT_STRDUP_KEY | AV_DICT_DONT_STRDUP_VAL); + + while (t = av_dict_get(d, "", t, AV_DICT_IGNORE_SUFFIX)) { + <....> // iterate over all entries in d + } + av_dict_free(&d); + @endcode + */ + +#define AV_DICT_MATCH_CASE 1 /**< Only get an entry with exact-case key match. Only relevant in av_dict_get(). */ +#define AV_DICT_IGNORE_SUFFIX 2 /**< Return first entry in a dictionary whose first part corresponds to the search key, + ignoring the suffix of the found key string. Only relevant in av_dict_get(). */ +#define AV_DICT_DONT_STRDUP_KEY 4 /**< Take ownership of a key that's been + allocated with av_malloc() or another memory allocation function. */ +#define AV_DICT_DONT_STRDUP_VAL 8 /**< Take ownership of a value that's been + allocated with av_malloc() or another memory allocation function. */ +#define AV_DICT_DONT_OVERWRITE 16 ///< Don't overwrite existing entries. +#define AV_DICT_APPEND 32 /**< If the entry already exists, append to it. Note that no + delimiter is added, the strings are simply concatenated. */ +#define AV_DICT_MULTIKEY 64 /**< Allow to store several equal keys in the dictionary */ + +typedef struct AVDictionaryEntry { + char *key; + char *value; +} AVDictionaryEntry; + +typedef struct AVDictionary AVDictionary; + +/** + * Get a dictionary entry with matching key. + * + * The returned entry key or value must not be changed, or it will + * cause undefined behavior. + * + * To iterate through all the dictionary entries, you can set the matching key + * to the null string "" and set the AV_DICT_IGNORE_SUFFIX flag. + * + * @param prev Set to the previous matching element to find the next. + * If set to NULL the first matching element is returned. + * @param key matching key + * @param flags a collection of AV_DICT_* flags controlling how the entry is retrieved + * @return found entry or NULL in case no matching entry was found in the dictionary + */ +AVDictionaryEntry *av_dict_get(const AVDictionary *m, const char *key, + const AVDictionaryEntry *prev, int flags); + +/** + * Get number of entries in dictionary. + * + * @param m dictionary + * @return number of entries in dictionary + */ +int av_dict_count(const AVDictionary *m); + +/** + * Set the given entry in *pm, overwriting an existing entry. + * + * Note: If AV_DICT_DONT_STRDUP_KEY or AV_DICT_DONT_STRDUP_VAL is set, + * these arguments will be freed on error. + * + * Warning: Adding a new entry to a dictionary invalidates all existing entries + * previously returned with av_dict_get. + * + * @param pm pointer to a pointer to a dictionary struct. If *pm is NULL + * a dictionary struct is allocated and put in *pm. + * @param key entry key to add to *pm (will either be av_strduped or added as a new key depending on flags) + * @param value entry value to add to *pm (will be av_strduped or added as a new key depending on flags). + * Passing a NULL value will cause an existing entry to be deleted. + * @return >= 0 on success otherwise an error code <0 + */ +int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags); + +/** + * Convenience wrapper for av_dict_set that converts the value to a string + * and stores it. + * + * Note: If AV_DICT_DONT_STRDUP_KEY is set, key will be freed on error. + */ +int av_dict_set_int(AVDictionary **pm, const char *key, int64_t value, int flags); + +/** + * Parse the key/value pairs list and add the parsed entries to a dictionary. + * + * In case of failure, all the successfully set entries are stored in + * *pm. You may need to manually free the created dictionary. + * + * @param key_val_sep a 0-terminated list of characters used to separate + * key from value + * @param pairs_sep a 0-terminated list of characters used to separate + * two pairs from each other + * @param flags flags to use when adding to dictionary. + * AV_DICT_DONT_STRDUP_KEY and AV_DICT_DONT_STRDUP_VAL + * are ignored since the key/value tokens will always + * be duplicated. + * @return 0 on success, negative AVERROR code on failure + */ +int av_dict_parse_string(AVDictionary **pm, const char *str, + const char *key_val_sep, const char *pairs_sep, + int flags); + +/** + * Copy entries from one AVDictionary struct into another. + * @param dst pointer to a pointer to a AVDictionary struct. If *dst is NULL, + * this function will allocate a struct for you and put it in *dst + * @param src pointer to source AVDictionary struct + * @param flags flags to use when setting entries in *dst + * @note metadata is read using the AV_DICT_IGNORE_SUFFIX flag + * @return 0 on success, negative AVERROR code on failure. If dst was allocated + * by this function, callers should free the associated memory. + */ +int av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags); + +/** + * Free all the memory allocated for an AVDictionary struct + * and all keys and values. + */ +void av_dict_free(AVDictionary **m); + +/** + * Get dictionary entries as a string. + * + * Create a string containing dictionary's entries. + * Such string may be passed back to av_dict_parse_string(). + * @note String is escaped with backslashes ('\'). + * + * @param[in] m dictionary + * @param[out] buffer Pointer to buffer that will be allocated with string containg entries. + * Buffer must be freed by the caller when is no longer needed. + * @param[in] key_val_sep character used to separate key from value + * @param[in] pairs_sep character used to separate two pairs from each other + * @return >= 0 on success, negative on error + * @warning Separators cannot be neither '\\' nor '\0'. They also cannot be the same. + */ +int av_dict_get_string(const AVDictionary *m, char **buffer, + const char key_val_sep, const char pairs_sep); + +/** + * @} + */ + +#endif /* AVUTIL_DICT_H */ diff --git a/src/3rdparty/win32_include/libavutil/display.h b/src/3rdparty/win32_include/libavutil/display.h new file mode 100644 index 000000000..515adad79 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/display.h @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2014 Vittorio Giovara + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * Display matrix + */ + +#ifndef AVUTIL_DISPLAY_H +#define AVUTIL_DISPLAY_H + +#include +#include "common.h" + +/** + * @addtogroup lavu_video + * @{ + * + * @defgroup lavu_video_display Display transformation matrix functions + * @{ + */ + +/** + * @addtogroup lavu_video_display + * The display transformation matrix specifies an affine transformation that + * should be applied to video frames for correct presentation. It is compatible + * with the matrices stored in the ISO/IEC 14496-12 container format. + * + * The data is a 3x3 matrix represented as a 9-element array: + * + * @code{.unparsed} + * | a b u | + * (a, b, u, c, d, v, x, y, w) -> | c d v | + * | x y w | + * @endcode + * + * All numbers are stored in native endianness, as 16.16 fixed-point values, + * except for u, v and w, which are stored as 2.30 fixed-point values. + * + * The transformation maps a point (p, q) in the source (pre-transformation) + * frame to the point (p', q') in the destination (post-transformation) frame as + * follows: + * + * @code{.unparsed} + * | a b u | + * (p, q, 1) . | c d v | = z * (p', q', 1) + * | x y w | + * @endcode + * + * The transformation can also be more explicitly written in components as + * follows: + * + * @code{.unparsed} + * p' = (a * p + c * q + x) / z; + * q' = (b * p + d * q + y) / z; + * z = u * p + v * q + w + * @endcode + */ + +/** + * Extract the rotation component of the transformation matrix. + * + * @param matrix the transformation matrix + * @return the angle (in degrees) by which the transformation rotates the frame + * counterclockwise. The angle will be in range [-180.0, 180.0], + * or NaN if the matrix is singular. + * + * @note floating point numbers are inherently inexact, so callers are + * recommended to round the return value to nearest integer before use. + */ +double av_display_rotation_get(const int32_t matrix[9]); + +/** + * Initialize a transformation matrix describing a pure counterclockwise + * rotation by the specified angle (in degrees). + * + * @param matrix an allocated transformation matrix (will be fully overwritten + * by this function) + * @param angle rotation angle in degrees. + */ +void av_display_rotation_set(int32_t matrix[9], double angle); + +/** + * Flip the input matrix horizontally and/or vertically. + * + * @param matrix an allocated transformation matrix + * @param hflip whether the matrix should be flipped horizontally + * @param vflip whether the matrix should be flipped vertically + */ +void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip); + +/** + * @} + * @} + */ + +#endif /* AVUTIL_DISPLAY_H */ diff --git a/src/3rdparty/win32_include/libavutil/downmix_info.h b/src/3rdparty/win32_include/libavutil/downmix_info.h new file mode 100644 index 000000000..221cf5bf9 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/downmix_info.h @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2014 Tim Walker + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_DOWNMIX_INFO_H +#define AVUTIL_DOWNMIX_INFO_H + +#include "frame.h" + +/** + * @file + * audio downmix medatata + */ + +/** + * @addtogroup lavu_audio + * @{ + */ + +/** + * @defgroup downmix_info Audio downmix metadata + * @{ + */ + +/** + * Possible downmix types. + */ +enum AVDownmixType { + AV_DOWNMIX_TYPE_UNKNOWN, /**< Not indicated. */ + AV_DOWNMIX_TYPE_LORO, /**< Lo/Ro 2-channel downmix (Stereo). */ + AV_DOWNMIX_TYPE_LTRT, /**< Lt/Rt 2-channel downmix, Dolby Surround compatible. */ + AV_DOWNMIX_TYPE_DPLII, /**< Lt/Rt 2-channel downmix, Dolby Pro Logic II compatible. */ + AV_DOWNMIX_TYPE_NB /**< Number of downmix types. Not part of ABI. */ +}; + +/** + * This structure describes optional metadata relevant to a downmix procedure. + * + * All fields are set by the decoder to the value indicated in the audio + * bitstream (if present), or to a "sane" default otherwise. + */ +typedef struct AVDownmixInfo { + /** + * Type of downmix preferred by the mastering engineer. + */ + enum AVDownmixType preferred_downmix_type; + + /** + * Absolute scale factor representing the nominal level of the center + * channel during a regular downmix. + */ + double center_mix_level; + + /** + * Absolute scale factor representing the nominal level of the center + * channel during an Lt/Rt compatible downmix. + */ + double center_mix_level_ltrt; + + /** + * Absolute scale factor representing the nominal level of the surround + * channels during a regular downmix. + */ + double surround_mix_level; + + /** + * Absolute scale factor representing the nominal level of the surround + * channels during an Lt/Rt compatible downmix. + */ + double surround_mix_level_ltrt; + + /** + * Absolute scale factor representing the level at which the LFE data is + * mixed into L/R channels during downmixing. + */ + double lfe_mix_level; +} AVDownmixInfo; + +/** + * Get a frame's AV_FRAME_DATA_DOWNMIX_INFO side data for editing. + * + * If the side data is absent, it is created and added to the frame. + * + * @param frame the frame for which the side data is to be obtained or created + * + * @return the AVDownmixInfo structure to be edited by the caller, or NULL if + * the structure cannot be allocated. + */ +AVDownmixInfo *av_downmix_info_update_side_data(AVFrame *frame); + +/** + * @} + */ + +/** + * @} + */ + +#endif /* AVUTIL_DOWNMIX_INFO_H */ diff --git a/src/3rdparty/win32_include/libavutil/error.h b/src/3rdparty/win32_include/libavutil/error.h new file mode 100644 index 000000000..71df4da35 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/error.h @@ -0,0 +1,126 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * error code definitions + */ + +#ifndef AVUTIL_ERROR_H +#define AVUTIL_ERROR_H + +#include +#include + +/** + * @addtogroup lavu_error + * + * @{ + */ + + +/* error handling */ +#if EDOM > 0 +#define AVERROR(e) (-(e)) ///< Returns a negative error code from a POSIX error code, to return from library functions. +#define AVUNERROR(e) (-(e)) ///< Returns a POSIX error code from a library function error return value. +#else +/* Some platforms have E* and errno already negated. */ +#define AVERROR(e) (e) +#define AVUNERROR(e) (e) +#endif + +#define FFERRTAG(a, b, c, d) (-(int)MKTAG(a, b, c, d)) + +#define AVERROR_BSF_NOT_FOUND FFERRTAG(0xF8,'B','S','F') ///< Bitstream filter not found +#define AVERROR_BUG FFERRTAG( 'B','U','G','!') ///< Internal bug, also see AVERROR_BUG2 +#define AVERROR_BUFFER_TOO_SMALL FFERRTAG( 'B','U','F','S') ///< Buffer too small +#define AVERROR_DECODER_NOT_FOUND FFERRTAG(0xF8,'D','E','C') ///< Decoder not found +#define AVERROR_DEMUXER_NOT_FOUND FFERRTAG(0xF8,'D','E','M') ///< Demuxer not found +#define AVERROR_ENCODER_NOT_FOUND FFERRTAG(0xF8,'E','N','C') ///< Encoder not found +#define AVERROR_EOF FFERRTAG( 'E','O','F',' ') ///< End of file +#define AVERROR_EXIT FFERRTAG( 'E','X','I','T') ///< Immediate exit was requested; the called function should not be restarted +#define AVERROR_EXTERNAL FFERRTAG( 'E','X','T',' ') ///< Generic error in an external library +#define AVERROR_FILTER_NOT_FOUND FFERRTAG(0xF8,'F','I','L') ///< Filter not found +#define AVERROR_INVALIDDATA FFERRTAG( 'I','N','D','A') ///< Invalid data found when processing input +#define AVERROR_MUXER_NOT_FOUND FFERRTAG(0xF8,'M','U','X') ///< Muxer not found +#define AVERROR_OPTION_NOT_FOUND FFERRTAG(0xF8,'O','P','T') ///< Option not found +#define AVERROR_PATCHWELCOME FFERRTAG( 'P','A','W','E') ///< Not yet implemented in FFmpeg, patches welcome +#define AVERROR_PROTOCOL_NOT_FOUND FFERRTAG(0xF8,'P','R','O') ///< Protocol not found + +#define AVERROR_STREAM_NOT_FOUND FFERRTAG(0xF8,'S','T','R') ///< Stream not found +/** + * This is semantically identical to AVERROR_BUG + * it has been introduced in Libav after our AVERROR_BUG and with a modified value. + */ +#define AVERROR_BUG2 FFERRTAG( 'B','U','G',' ') +#define AVERROR_UNKNOWN FFERRTAG( 'U','N','K','N') ///< Unknown error, typically from an external library +#define AVERROR_EXPERIMENTAL (-0x2bb2afa8) ///< Requested feature is flagged experimental. Set strict_std_compliance if you really want to use it. +#define AVERROR_INPUT_CHANGED (-0x636e6701) ///< Input changed between calls. Reconfiguration is required. (can be OR-ed with AVERROR_OUTPUT_CHANGED) +#define AVERROR_OUTPUT_CHANGED (-0x636e6702) ///< Output changed between calls. Reconfiguration is required. (can be OR-ed with AVERROR_INPUT_CHANGED) +/* HTTP & RTSP errors */ +#define AVERROR_HTTP_BAD_REQUEST FFERRTAG(0xF8,'4','0','0') +#define AVERROR_HTTP_UNAUTHORIZED FFERRTAG(0xF8,'4','0','1') +#define AVERROR_HTTP_FORBIDDEN FFERRTAG(0xF8,'4','0','3') +#define AVERROR_HTTP_NOT_FOUND FFERRTAG(0xF8,'4','0','4') +#define AVERROR_HTTP_OTHER_4XX FFERRTAG(0xF8,'4','X','X') +#define AVERROR_HTTP_SERVER_ERROR FFERRTAG(0xF8,'5','X','X') + +#define AV_ERROR_MAX_STRING_SIZE 64 + +/** + * Put a description of the AVERROR code errnum in errbuf. + * In case of failure the global variable errno is set to indicate the + * error. Even in case of failure av_strerror() will print a generic + * error message indicating the errnum provided to errbuf. + * + * @param errnum error code to describe + * @param errbuf buffer to which description is written + * @param errbuf_size the size in bytes of errbuf + * @return 0 on success, a negative value if a description for errnum + * cannot be found + */ +int av_strerror(int errnum, char *errbuf, size_t errbuf_size); + +/** + * Fill the provided buffer with a string containing an error string + * corresponding to the AVERROR code errnum. + * + * @param errbuf a buffer + * @param errbuf_size size in bytes of errbuf + * @param errnum error code to describe + * @return the buffer in input, filled with the error description + * @see av_strerror() + */ +static inline char *av_make_error_string(char *errbuf, size_t errbuf_size, int errnum) +{ + av_strerror(errnum, errbuf, errbuf_size); + return errbuf; +} + +/** + * Convenience macro, the return value should be used only directly in + * function arguments but never stand-alone. + */ +#define av_err2str(errnum) \ + av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){0}, AV_ERROR_MAX_STRING_SIZE, errnum) + +/** + * @} + */ + +#endif /* AVUTIL_ERROR_H */ diff --git a/src/3rdparty/win32_include/libavutil/eval.h b/src/3rdparty/win32_include/libavutil/eval.h new file mode 100644 index 000000000..dacd22b96 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/eval.h @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2002 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * simple arithmetic expression evaluator + */ + +#ifndef AVUTIL_EVAL_H +#define AVUTIL_EVAL_H + +#include "avutil.h" + +typedef struct AVExpr AVExpr; + +/** + * Parse and evaluate an expression. + * Note, this is significantly slower than av_expr_eval(). + * + * @param res a pointer to a double where is put the result value of + * the expression, or NAN in case of error + * @param s expression as a zero terminated string, for example "1+2^3+5*5+sin(2/3)" + * @param const_names NULL terminated array of zero terminated strings of constant identifiers, for example {"PI", "E", 0} + * @param const_values a zero terminated array of values for the identifiers from const_names + * @param func1_names NULL terminated array of zero terminated strings of funcs1 identifiers + * @param funcs1 NULL terminated array of function pointers for functions which take 1 argument + * @param func2_names NULL terminated array of zero terminated strings of funcs2 identifiers + * @param funcs2 NULL terminated array of function pointers for functions which take 2 arguments + * @param opaque a pointer which will be passed to all functions from funcs1 and funcs2 + * @param log_ctx parent logging context + * @return >= 0 in case of success, a negative value corresponding to an + * AVERROR code otherwise + */ +int av_expr_parse_and_eval(double *res, const char *s, + const char * const *const_names, const double *const_values, + const char * const *func1_names, double (* const *funcs1)(void *, double), + const char * const *func2_names, double (* const *funcs2)(void *, double, double), + void *opaque, int log_offset, void *log_ctx); + +/** + * Parse an expression. + * + * @param expr a pointer where is put an AVExpr containing the parsed + * value in case of successful parsing, or NULL otherwise. + * The pointed to AVExpr must be freed with av_expr_free() by the user + * when it is not needed anymore. + * @param s expression as a zero terminated string, for example "1+2^3+5*5+sin(2/3)" + * @param const_names NULL terminated array of zero terminated strings of constant identifiers, for example {"PI", "E", 0} + * @param func1_names NULL terminated array of zero terminated strings of funcs1 identifiers + * @param funcs1 NULL terminated array of function pointers for functions which take 1 argument + * @param func2_names NULL terminated array of zero terminated strings of funcs2 identifiers + * @param funcs2 NULL terminated array of function pointers for functions which take 2 arguments + * @param log_ctx parent logging context + * @return >= 0 in case of success, a negative value corresponding to an + * AVERROR code otherwise + */ +int av_expr_parse(AVExpr **expr, const char *s, + const char * const *const_names, + const char * const *func1_names, double (* const *funcs1)(void *, double), + const char * const *func2_names, double (* const *funcs2)(void *, double, double), + int log_offset, void *log_ctx); + +/** + * Evaluate a previously parsed expression. + * + * @param const_values a zero terminated array of values for the identifiers from av_expr_parse() const_names + * @param opaque a pointer which will be passed to all functions from funcs1 and funcs2 + * @return the value of the expression + */ +double av_expr_eval(AVExpr *e, const double *const_values, void *opaque); + +/** + * Free a parsed expression previously created with av_expr_parse(). + */ +void av_expr_free(AVExpr *e); + +/** + * Parse the string in numstr and return its value as a double. If + * the string is empty, contains only whitespaces, or does not contain + * an initial substring that has the expected syntax for a + * floating-point number, no conversion is performed. In this case, + * returns a value of zero and the value returned in tail is the value + * of numstr. + * + * @param numstr a string representing a number, may contain one of + * the International System number postfixes, for example 'K', 'M', + * 'G'. If 'i' is appended after the postfix, powers of 2 are used + * instead of powers of 10. The 'B' postfix multiplies the value by + * 8, and can be appended after another postfix or used alone. This + * allows using for example 'KB', 'MiB', 'G' and 'B' as postfix. + * @param tail if non-NULL puts here the pointer to the char next + * after the last parsed character + */ +double av_strtod(const char *numstr, char **tail); + +#endif /* AVUTIL_EVAL_H */ diff --git a/src/3rdparty/win32_include/libavutil/ffversion.h b/src/3rdparty/win32_include/libavutil/ffversion.h new file mode 100644 index 000000000..f6deb6fe6 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/ffversion.h @@ -0,0 +1,5 @@ +/* Automatically generated by version.sh, do not manually edit! */ +#ifndef AVUTIL_FFVERSION_H +#define AVUTIL_FFVERSION_H +#define FFMPEG_VERSION "3.4.1" +#endif /* AVUTIL_FFVERSION_H */ diff --git a/src/3rdparty/win32_include/libavutil/fifo.h b/src/3rdparty/win32_include/libavutil/fifo.h new file mode 100644 index 000000000..dc7bc6f0d --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/fifo.h @@ -0,0 +1,179 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * a very simple circular buffer FIFO implementation + */ + +#ifndef AVUTIL_FIFO_H +#define AVUTIL_FIFO_H + +#include +#include "avutil.h" +#include "attributes.h" + +typedef struct AVFifoBuffer { + uint8_t *buffer; + uint8_t *rptr, *wptr, *end; + uint32_t rndx, wndx; +} AVFifoBuffer; + +/** + * Initialize an AVFifoBuffer. + * @param size of FIFO + * @return AVFifoBuffer or NULL in case of memory allocation failure + */ +AVFifoBuffer *av_fifo_alloc(unsigned int size); + +/** + * Initialize an AVFifoBuffer. + * @param nmemb number of elements + * @param size size of the single element + * @return AVFifoBuffer or NULL in case of memory allocation failure + */ +AVFifoBuffer *av_fifo_alloc_array(size_t nmemb, size_t size); + +/** + * Free an AVFifoBuffer. + * @param f AVFifoBuffer to free + */ +void av_fifo_free(AVFifoBuffer *f); + +/** + * Free an AVFifoBuffer and reset pointer to NULL. + * @param f AVFifoBuffer to free + */ +void av_fifo_freep(AVFifoBuffer **f); + +/** + * Reset the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied. + * @param f AVFifoBuffer to reset + */ +void av_fifo_reset(AVFifoBuffer *f); + +/** + * Return the amount of data in bytes in the AVFifoBuffer, that is the + * amount of data you can read from it. + * @param f AVFifoBuffer to read from + * @return size + */ +int av_fifo_size(const AVFifoBuffer *f); + +/** + * Return the amount of space in bytes in the AVFifoBuffer, that is the + * amount of data you can write into it. + * @param f AVFifoBuffer to write into + * @return size + */ +int av_fifo_space(const AVFifoBuffer *f); + +/** + * Feed data at specific position from an AVFifoBuffer to a user-supplied callback. + * Similar as av_fifo_gereric_read but without discarding data. + * @param f AVFifoBuffer to read from + * @param offset offset from current read position + * @param buf_size number of bytes to read + * @param func generic read function + * @param dest data destination + */ +int av_fifo_generic_peek_at(AVFifoBuffer *f, void *dest, int offset, int buf_size, void (*func)(void*, void*, int)); + +/** + * Feed data from an AVFifoBuffer to a user-supplied callback. + * Similar as av_fifo_gereric_read but without discarding data. + * @param f AVFifoBuffer to read from + * @param buf_size number of bytes to read + * @param func generic read function + * @param dest data destination + */ +int av_fifo_generic_peek(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void*, void*, int)); + +/** + * Feed data from an AVFifoBuffer to a user-supplied callback. + * @param f AVFifoBuffer to read from + * @param buf_size number of bytes to read + * @param func generic read function + * @param dest data destination + */ +int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void*, void*, int)); + +/** + * Feed data from a user-supplied callback to an AVFifoBuffer. + * @param f AVFifoBuffer to write to + * @param src data source; non-const since it may be used as a + * modifiable context by the function defined in func + * @param size number of bytes to write + * @param func generic write function; the first parameter is src, + * the second is dest_buf, the third is dest_buf_size. + * func must return the number of bytes written to dest_buf, or <= 0 to + * indicate no more data available to write. + * If func is NULL, src is interpreted as a simple byte array for source data. + * @return the number of bytes written to the FIFO + */ +int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void*, void*, int)); + +/** + * Resize an AVFifoBuffer. + * In case of reallocation failure, the old FIFO is kept unchanged. + * + * @param f AVFifoBuffer to resize + * @param size new AVFifoBuffer size in bytes + * @return <0 for failure, >=0 otherwise + */ +int av_fifo_realloc2(AVFifoBuffer *f, unsigned int size); + +/** + * Enlarge an AVFifoBuffer. + * In case of reallocation failure, the old FIFO is kept unchanged. + * The new fifo size may be larger than the requested size. + * + * @param f AVFifoBuffer to resize + * @param additional_space the amount of space in bytes to allocate in addition to av_fifo_size() + * @return <0 for failure, >=0 otherwise + */ +int av_fifo_grow(AVFifoBuffer *f, unsigned int additional_space); + +/** + * Read and discard the specified amount of data from an AVFifoBuffer. + * @param f AVFifoBuffer to read from + * @param size amount of data to read in bytes + */ +void av_fifo_drain(AVFifoBuffer *f, int size); + +/** + * Return a pointer to the data stored in a FIFO buffer at a certain offset. + * The FIFO buffer is not modified. + * + * @param f AVFifoBuffer to peek at, f must be non-NULL + * @param offs an offset in bytes, its absolute value must be less + * than the used buffer size or the returned pointer will + * point outside to the buffer data. + * The used buffer size can be checked with av_fifo_size(). + */ +static inline uint8_t *av_fifo_peek2(const AVFifoBuffer *f, int offs) +{ + uint8_t *ptr = f->rptr + offs; + if (ptr >= f->end) + ptr = f->buffer + (ptr - f->end); + else if (ptr < f->buffer) + ptr = f->end - (f->buffer - ptr); + return ptr; +} + +#endif /* AVUTIL_FIFO_H */ diff --git a/src/3rdparty/win32_include/libavutil/file.h b/src/3rdparty/win32_include/libavutil/file.h new file mode 100644 index 000000000..8666c7b1d --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/file.h @@ -0,0 +1,69 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_FILE_H +#define AVUTIL_FILE_H + +#include + +#include "avutil.h" + +/** + * @file + * Misc file utilities. + */ + +/** + * Read the file with name filename, and put its content in a newly + * allocated buffer or map it with mmap() when available. + * In case of success set *bufptr to the read or mmapped buffer, and + * *size to the size in bytes of the buffer in *bufptr. + * The returned buffer must be released with av_file_unmap(). + * + * @param log_offset loglevel offset used for logging + * @param log_ctx context used for logging + * @return a non negative number in case of success, a negative value + * corresponding to an AVERROR error code in case of failure + */ +av_warn_unused_result +int av_file_map(const char *filename, uint8_t **bufptr, size_t *size, + int log_offset, void *log_ctx); + +/** + * Unmap or free the buffer bufptr created by av_file_map(). + * + * @param size size in bytes of bufptr, must be the same as returned + * by av_file_map() + */ +void av_file_unmap(uint8_t *bufptr, size_t size); + +/** + * Wrapper to work around the lack of mkstemp() on mingw. + * Also, tries to create file in /tmp first, if possible. + * *prefix can be a character constant; *filename will be allocated internally. + * @return file descriptor of opened file (or negative value corresponding to an + * AVERROR code on error) + * and opened file name in **filename. + * @note On very old libcs it is necessary to set a secure umask before + * calling this, av_tempfile() can't call umask itself as it is used in + * libraries and could interfere with the calling application. + * @deprecated as fd numbers cannot be passed saftely between libs on some platforms + */ +int av_tempfile(const char *prefix, char **filename, int log_offset, void *log_ctx); + +#endif /* AVUTIL_FILE_H */ diff --git a/src/3rdparty/win32_include/libavutil/frame.h b/src/3rdparty/win32_include/libavutil/frame.h new file mode 100644 index 000000000..abe4f4fd1 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/frame.h @@ -0,0 +1,821 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu_frame + * reference-counted frame API + */ + +#ifndef AVUTIL_FRAME_H +#define AVUTIL_FRAME_H + +#include +#include + +#include "avutil.h" +#include "buffer.h" +#include "dict.h" +#include "rational.h" +#include "samplefmt.h" +#include "pixfmt.h" +#include "version.h" + + +/** + * @defgroup lavu_frame AVFrame + * @ingroup lavu_data + * + * @{ + * AVFrame is an abstraction for reference-counted raw multimedia data. + */ + +enum AVFrameSideDataType { + /** + * The data is the AVPanScan struct defined in libavcodec. + */ + AV_FRAME_DATA_PANSCAN, + /** + * ATSC A53 Part 4 Closed Captions. + * A53 CC bitstream is stored as uint8_t in AVFrameSideData.data. + * The number of bytes of CC data is AVFrameSideData.size. + */ + AV_FRAME_DATA_A53_CC, + /** + * Stereoscopic 3d metadata. + * The data is the AVStereo3D struct defined in libavutil/stereo3d.h. + */ + AV_FRAME_DATA_STEREO3D, + /** + * The data is the AVMatrixEncoding enum defined in libavutil/channel_layout.h. + */ + AV_FRAME_DATA_MATRIXENCODING, + /** + * Metadata relevant to a downmix procedure. + * The data is the AVDownmixInfo struct defined in libavutil/downmix_info.h. + */ + AV_FRAME_DATA_DOWNMIX_INFO, + /** + * ReplayGain information in the form of the AVReplayGain struct. + */ + AV_FRAME_DATA_REPLAYGAIN, + /** + * This side data contains a 3x3 transformation matrix describing an affine + * transformation that needs to be applied to the frame for correct + * presentation. + * + * See libavutil/display.h for a detailed description of the data. + */ + AV_FRAME_DATA_DISPLAYMATRIX, + /** + * Active Format Description data consisting of a single byte as specified + * in ETSI TS 101 154 using AVActiveFormatDescription enum. + */ + AV_FRAME_DATA_AFD, + /** + * Motion vectors exported by some codecs (on demand through the export_mvs + * flag set in the libavcodec AVCodecContext flags2 option). + * The data is the AVMotionVector struct defined in + * libavutil/motion_vector.h. + */ + AV_FRAME_DATA_MOTION_VECTORS, + /** + * Recommmends skipping the specified number of samples. This is exported + * only if the "skip_manual" AVOption is set in libavcodec. + * This has the same format as AV_PKT_DATA_SKIP_SAMPLES. + * @code + * u32le number of samples to skip from start of this packet + * u32le number of samples to skip from end of this packet + * u8 reason for start skip + * u8 reason for end skip (0=padding silence, 1=convergence) + * @endcode + */ + AV_FRAME_DATA_SKIP_SAMPLES, + /** + * This side data must be associated with an audio frame and corresponds to + * enum AVAudioServiceType defined in avcodec.h. + */ + AV_FRAME_DATA_AUDIO_SERVICE_TYPE, + /** + * Mastering display metadata associated with a video frame. The payload is + * an AVMasteringDisplayMetadata type and contains information about the + * mastering display color volume. + */ + AV_FRAME_DATA_MASTERING_DISPLAY_METADATA, + /** + * The GOP timecode in 25 bit timecode format. Data format is 64-bit integer. + * This is set on the first frame of a GOP that has a temporal reference of 0. + */ + AV_FRAME_DATA_GOP_TIMECODE, + + /** + * The data represents the AVSphericalMapping structure defined in + * libavutil/spherical.h. + */ + AV_FRAME_DATA_SPHERICAL, + + /** + * Content light level (based on CTA-861.3). This payload contains data in + * the form of the AVContentLightMetadata struct. + */ + AV_FRAME_DATA_CONTENT_LIGHT_LEVEL, + + /** + * The data contains an ICC profile as an opaque octet buffer following the + * format described by ISO 15076-1 with an optional name defined in the + * metadata key entry "name". + */ + AV_FRAME_DATA_ICC_PROFILE, +}; + +enum AVActiveFormatDescription { + AV_AFD_SAME = 8, + AV_AFD_4_3 = 9, + AV_AFD_16_9 = 10, + AV_AFD_14_9 = 11, + AV_AFD_4_3_SP_14_9 = 13, + AV_AFD_16_9_SP_14_9 = 14, + AV_AFD_SP_4_3 = 15, +}; + + +/** + * Structure to hold side data for an AVFrame. + * + * sizeof(AVFrameSideData) is not a part of the public ABI, so new fields may be added + * to the end with a minor bump. + */ +typedef struct AVFrameSideData { + enum AVFrameSideDataType type; + uint8_t *data; + int size; + AVDictionary *metadata; + AVBufferRef *buf; +} AVFrameSideData; + +/** + * This structure describes decoded (raw) audio or video data. + * + * AVFrame must be allocated using av_frame_alloc(). Note that this only + * allocates the AVFrame itself, the buffers for the data must be managed + * through other means (see below). + * AVFrame must be freed with av_frame_free(). + * + * AVFrame is typically allocated once and then reused multiple times to hold + * different data (e.g. a single AVFrame to hold frames received from a + * decoder). In such a case, av_frame_unref() will free any references held by + * the frame and reset it to its original clean state before it + * is reused again. + * + * The data described by an AVFrame is usually reference counted through the + * AVBuffer API. The underlying buffer references are stored in AVFrame.buf / + * AVFrame.extended_buf. An AVFrame is considered to be reference counted if at + * least one reference is set, i.e. if AVFrame.buf[0] != NULL. In such a case, + * every single data plane must be contained in one of the buffers in + * AVFrame.buf or AVFrame.extended_buf. + * There may be a single buffer for all the data, or one separate buffer for + * each plane, or anything in between. + * + * sizeof(AVFrame) is not a part of the public ABI, so new fields may be added + * to the end with a minor bump. + * + * Fields can be accessed through AVOptions, the name string used, matches the + * C structure field name for fields accessible through AVOptions. The AVClass + * for AVFrame can be obtained from avcodec_get_frame_class() + */ +typedef struct AVFrame { +#define AV_NUM_DATA_POINTERS 8 + /** + * pointer to the picture/channel planes. + * This might be different from the first allocated byte + * + * Some decoders access areas outside 0,0 - width,height, please + * see avcodec_align_dimensions2(). Some filters and swscale can read + * up to 16 bytes beyond the planes, if these filters are to be used, + * then 16 extra bytes must be allocated. + * + * NOTE: Except for hwaccel formats, pointers not needed by the format + * MUST be set to NULL. + */ + uint8_t *data[AV_NUM_DATA_POINTERS]; + + /** + * For video, size in bytes of each picture line. + * For audio, size in bytes of each plane. + * + * For audio, only linesize[0] may be set. For planar audio, each channel + * plane must be the same size. + * + * For video the linesizes should be multiples of the CPUs alignment + * preference, this is 16 or 32 for modern desktop CPUs. + * Some code requires such alignment other code can be slower without + * correct alignment, for yet other it makes no difference. + * + * @note The linesize may be larger than the size of usable data -- there + * may be extra padding present for performance reasons. + */ + int linesize[AV_NUM_DATA_POINTERS]; + + /** + * pointers to the data planes/channels. + * + * For video, this should simply point to data[]. + * + * For planar audio, each channel has a separate data pointer, and + * linesize[0] contains the size of each channel buffer. + * For packed audio, there is just one data pointer, and linesize[0] + * contains the total size of the buffer for all channels. + * + * Note: Both data and extended_data should always be set in a valid frame, + * but for planar audio with more channels that can fit in data, + * extended_data must be used in order to access all channels. + */ + uint8_t **extended_data; + + /** + * @name Video dimensions + * Video frames only. The coded dimensions (in pixels) of the video frame, + * i.e. the size of the rectangle that contains some well-defined values. + * + * @note The part of the frame intended for display/presentation is further + * restricted by the @ref cropping "Cropping rectangle". + * @{ + */ + int width, height; + /** + * @} + */ + + /** + * number of audio samples (per channel) described by this frame + */ + int nb_samples; + + /** + * format of the frame, -1 if unknown or unset + * Values correspond to enum AVPixelFormat for video frames, + * enum AVSampleFormat for audio) + */ + int format; + + /** + * 1 -> keyframe, 0-> not + */ + int key_frame; + + /** + * Picture type of the frame. + */ + enum AVPictureType pict_type; + + /** + * Sample aspect ratio for the video frame, 0/1 if unknown/unspecified. + */ + AVRational sample_aspect_ratio; + + /** + * Presentation timestamp in time_base units (time when frame should be shown to user). + */ + int64_t pts; + +#if FF_API_PKT_PTS + /** + * PTS copied from the AVPacket that was decoded to produce this frame. + * @deprecated use the pts field instead + */ + attribute_deprecated + int64_t pkt_pts; +#endif + + /** + * DTS copied from the AVPacket that triggered returning this frame. (if frame threading isn't used) + * This is also the Presentation time of this AVFrame calculated from + * only AVPacket.dts values without pts values. + */ + int64_t pkt_dts; + + /** + * picture number in bitstream order + */ + int coded_picture_number; + /** + * picture number in display order + */ + int display_picture_number; + + /** + * quality (between 1 (good) and FF_LAMBDA_MAX (bad)) + */ + int quality; + + /** + * for some private data of the user + */ + void *opaque; + +#if FF_API_ERROR_FRAME + /** + * @deprecated unused + */ + attribute_deprecated + uint64_t error[AV_NUM_DATA_POINTERS]; +#endif + + /** + * When decoding, this signals how much the picture must be delayed. + * extra_delay = repeat_pict / (2*fps) + */ + int repeat_pict; + + /** + * The content of the picture is interlaced. + */ + int interlaced_frame; + + /** + * If the content is interlaced, is top field displayed first. + */ + int top_field_first; + + /** + * Tell user application that palette has changed from previous frame. + */ + int palette_has_changed; + + /** + * reordered opaque 64 bits (generally an integer or a double precision float + * PTS but can be anything). + * The user sets AVCodecContext.reordered_opaque to represent the input at + * that time, + * the decoder reorders values as needed and sets AVFrame.reordered_opaque + * to exactly one of the values provided by the user through AVCodecContext.reordered_opaque + * @deprecated in favor of pkt_pts + */ + int64_t reordered_opaque; + + /** + * Sample rate of the audio data. + */ + int sample_rate; + + /** + * Channel layout of the audio data. + */ + uint64_t channel_layout; + + /** + * AVBuffer references backing the data for this frame. If all elements of + * this array are NULL, then this frame is not reference counted. This array + * must be filled contiguously -- if buf[i] is non-NULL then buf[j] must + * also be non-NULL for all j < i. + * + * There may be at most one AVBuffer per data plane, so for video this array + * always contains all the references. For planar audio with more than + * AV_NUM_DATA_POINTERS channels, there may be more buffers than can fit in + * this array. Then the extra AVBufferRef pointers are stored in the + * extended_buf array. + */ + AVBufferRef *buf[AV_NUM_DATA_POINTERS]; + + /** + * For planar audio which requires more than AV_NUM_DATA_POINTERS + * AVBufferRef pointers, this array will hold all the references which + * cannot fit into AVFrame.buf. + * + * Note that this is different from AVFrame.extended_data, which always + * contains all the pointers. This array only contains the extra pointers, + * which cannot fit into AVFrame.buf. + * + * This array is always allocated using av_malloc() by whoever constructs + * the frame. It is freed in av_frame_unref(). + */ + AVBufferRef **extended_buf; + /** + * Number of elements in extended_buf. + */ + int nb_extended_buf; + + AVFrameSideData **side_data; + int nb_side_data; + +/** + * @defgroup lavu_frame_flags AV_FRAME_FLAGS + * @ingroup lavu_frame + * Flags describing additional frame properties. + * + * @{ + */ + +/** + * The frame data may be corrupted, e.g. due to decoding errors. + */ +#define AV_FRAME_FLAG_CORRUPT (1 << 0) +/** + * A flag to mark the frames which need to be decoded, but shouldn't be output. + */ +#define AV_FRAME_FLAG_DISCARD (1 << 2) +/** + * @} + */ + + /** + * Frame flags, a combination of @ref lavu_frame_flags + */ + int flags; + + /** + * MPEG vs JPEG YUV range. + * - encoding: Set by user + * - decoding: Set by libavcodec + */ + enum AVColorRange color_range; + + enum AVColorPrimaries color_primaries; + + enum AVColorTransferCharacteristic color_trc; + + /** + * YUV colorspace type. + * - encoding: Set by user + * - decoding: Set by libavcodec + */ + enum AVColorSpace colorspace; + + enum AVChromaLocation chroma_location; + + /** + * frame timestamp estimated using various heuristics, in stream time base + * - encoding: unused + * - decoding: set by libavcodec, read by user. + */ + int64_t best_effort_timestamp; + + /** + * reordered pos from the last AVPacket that has been input into the decoder + * - encoding: unused + * - decoding: Read by user. + */ + int64_t pkt_pos; + + /** + * duration of the corresponding packet, expressed in + * AVStream->time_base units, 0 if unknown. + * - encoding: unused + * - decoding: Read by user. + */ + int64_t pkt_duration; + + /** + * metadata. + * - encoding: Set by user. + * - decoding: Set by libavcodec. + */ + AVDictionary *metadata; + + /** + * decode error flags of the frame, set to a combination of + * FF_DECODE_ERROR_xxx flags if the decoder produced a frame, but there + * were errors during the decoding. + * - encoding: unused + * - decoding: set by libavcodec, read by user. + */ + int decode_error_flags; +#define FF_DECODE_ERROR_INVALID_BITSTREAM 1 +#define FF_DECODE_ERROR_MISSING_REFERENCE 2 + + /** + * number of audio channels, only used for audio. + * - encoding: unused + * - decoding: Read by user. + */ + int channels; + + /** + * size of the corresponding packet containing the compressed + * frame. + * It is set to a negative value if unknown. + * - encoding: unused + * - decoding: set by libavcodec, read by user. + */ + int pkt_size; + +#if FF_API_FRAME_QP + /** + * QP table + */ + attribute_deprecated + int8_t *qscale_table; + /** + * QP store stride + */ + attribute_deprecated + int qstride; + + attribute_deprecated + int qscale_type; + + AVBufferRef *qp_table_buf; +#endif + /** + * For hwaccel-format frames, this should be a reference to the + * AVHWFramesContext describing the frame. + */ + AVBufferRef *hw_frames_ctx; + + /** + * AVBufferRef for free use by the API user. FFmpeg will never check the + * contents of the buffer ref. FFmpeg calls av_buffer_unref() on it when + * the frame is unreferenced. av_frame_copy_props() calls create a new + * reference with av_buffer_ref() for the target frame's opaque_ref field. + * + * This is unrelated to the opaque field, although it serves a similar + * purpose. + */ + AVBufferRef *opaque_ref; + + /** + * @anchor cropping + * @name Cropping + * Video frames only. The number of pixels to discard from the the + * top/bottom/left/right border of the frame to obtain the sub-rectangle of + * the frame intended for presentation. + * @{ + */ + size_t crop_top; + size_t crop_bottom; + size_t crop_left; + size_t crop_right; + /** + * @} + */ +} AVFrame; + +/** + * Accessors for some AVFrame fields. These used to be provided for ABI + * compatibility, and do not need to be used anymore. + */ +int64_t av_frame_get_best_effort_timestamp(const AVFrame *frame); +void av_frame_set_best_effort_timestamp(AVFrame *frame, int64_t val); +int64_t av_frame_get_pkt_duration (const AVFrame *frame); +void av_frame_set_pkt_duration (AVFrame *frame, int64_t val); +int64_t av_frame_get_pkt_pos (const AVFrame *frame); +void av_frame_set_pkt_pos (AVFrame *frame, int64_t val); +int64_t av_frame_get_channel_layout (const AVFrame *frame); +void av_frame_set_channel_layout (AVFrame *frame, int64_t val); +int av_frame_get_channels (const AVFrame *frame); +void av_frame_set_channels (AVFrame *frame, int val); +int av_frame_get_sample_rate (const AVFrame *frame); +void av_frame_set_sample_rate (AVFrame *frame, int val); +AVDictionary *av_frame_get_metadata (const AVFrame *frame); +void av_frame_set_metadata (AVFrame *frame, AVDictionary *val); +int av_frame_get_decode_error_flags (const AVFrame *frame); +void av_frame_set_decode_error_flags (AVFrame *frame, int val); +int av_frame_get_pkt_size(const AVFrame *frame); +void av_frame_set_pkt_size(AVFrame *frame, int val); +AVDictionary **avpriv_frame_get_metadatap(AVFrame *frame); +#if FF_API_FRAME_QP +int8_t *av_frame_get_qp_table(AVFrame *f, int *stride, int *type); +int av_frame_set_qp_table(AVFrame *f, AVBufferRef *buf, int stride, int type); +#endif +enum AVColorSpace av_frame_get_colorspace(const AVFrame *frame); +void av_frame_set_colorspace(AVFrame *frame, enum AVColorSpace val); +enum AVColorRange av_frame_get_color_range(const AVFrame *frame); +void av_frame_set_color_range(AVFrame *frame, enum AVColorRange val); + +/** + * Get the name of a colorspace. + * @return a static string identifying the colorspace; can be NULL. + */ +const char *av_get_colorspace_name(enum AVColorSpace val); + +/** + * Allocate an AVFrame and set its fields to default values. The resulting + * struct must be freed using av_frame_free(). + * + * @return An AVFrame filled with default values or NULL on failure. + * + * @note this only allocates the AVFrame itself, not the data buffers. Those + * must be allocated through other means, e.g. with av_frame_get_buffer() or + * manually. + */ +AVFrame *av_frame_alloc(void); + +/** + * Free the frame and any dynamically allocated objects in it, + * e.g. extended_data. If the frame is reference counted, it will be + * unreferenced first. + * + * @param frame frame to be freed. The pointer will be set to NULL. + */ +void av_frame_free(AVFrame **frame); + +/** + * Set up a new reference to the data described by the source frame. + * + * Copy frame properties from src to dst and create a new reference for each + * AVBufferRef from src. + * + * If src is not reference counted, new buffers are allocated and the data is + * copied. + * + * @warning: dst MUST have been either unreferenced with av_frame_unref(dst), + * or newly allocated with av_frame_alloc() before calling this + * function, or undefined behavior will occur. + * + * @return 0 on success, a negative AVERROR on error + */ +int av_frame_ref(AVFrame *dst, const AVFrame *src); + +/** + * Create a new frame that references the same data as src. + * + * This is a shortcut for av_frame_alloc()+av_frame_ref(). + * + * @return newly created AVFrame on success, NULL on error. + */ +AVFrame *av_frame_clone(const AVFrame *src); + +/** + * Unreference all the buffers referenced by frame and reset the frame fields. + */ +void av_frame_unref(AVFrame *frame); + +/** + * Move everything contained in src to dst and reset src. + * + * @warning: dst is not unreferenced, but directly overwritten without reading + * or deallocating its contents. Call av_frame_unref(dst) manually + * before calling this function to ensure that no memory is leaked. + */ +void av_frame_move_ref(AVFrame *dst, AVFrame *src); + +/** + * Allocate new buffer(s) for audio or video data. + * + * The following fields must be set on frame before calling this function: + * - format (pixel format for video, sample format for audio) + * - width and height for video + * - nb_samples and channel_layout for audio + * + * This function will fill AVFrame.data and AVFrame.buf arrays and, if + * necessary, allocate and fill AVFrame.extended_data and AVFrame.extended_buf. + * For planar formats, one buffer will be allocated for each plane. + * + * @warning: if frame already has been allocated, calling this function will + * leak memory. In addition, undefined behavior can occur in certain + * cases. + * + * @param frame frame in which to store the new buffers. + * @param align Required buffer size alignment. If equal to 0, alignment will be + * chosen automatically for the current CPU. It is highly + * recommended to pass 0 here unless you know what you are doing. + * + * @return 0 on success, a negative AVERROR on error. + */ +int av_frame_get_buffer(AVFrame *frame, int align); + +/** + * Check if the frame data is writable. + * + * @return A positive value if the frame data is writable (which is true if and + * only if each of the underlying buffers has only one reference, namely the one + * stored in this frame). Return 0 otherwise. + * + * If 1 is returned the answer is valid until av_buffer_ref() is called on any + * of the underlying AVBufferRefs (e.g. through av_frame_ref() or directly). + * + * @see av_frame_make_writable(), av_buffer_is_writable() + */ +int av_frame_is_writable(AVFrame *frame); + +/** + * Ensure that the frame data is writable, avoiding data copy if possible. + * + * Do nothing if the frame is writable, allocate new buffers and copy the data + * if it is not. + * + * @return 0 on success, a negative AVERROR on error. + * + * @see av_frame_is_writable(), av_buffer_is_writable(), + * av_buffer_make_writable() + */ +int av_frame_make_writable(AVFrame *frame); + +/** + * Copy the frame data from src to dst. + * + * This function does not allocate anything, dst must be already initialized and + * allocated with the same parameters as src. + * + * This function only copies the frame data (i.e. the contents of the data / + * extended data arrays), not any other properties. + * + * @return >= 0 on success, a negative AVERROR on error. + */ +int av_frame_copy(AVFrame *dst, const AVFrame *src); + +/** + * Copy only "metadata" fields from src to dst. + * + * Metadata for the purpose of this function are those fields that do not affect + * the data layout in the buffers. E.g. pts, sample rate (for audio) or sample + * aspect ratio (for video), but not width/height or channel layout. + * Side data is also copied. + */ +int av_frame_copy_props(AVFrame *dst, const AVFrame *src); + +/** + * Get the buffer reference a given data plane is stored in. + * + * @param plane index of the data plane of interest in frame->extended_data. + * + * @return the buffer reference that contains the plane or NULL if the input + * frame is not valid. + */ +AVBufferRef *av_frame_get_plane_buffer(AVFrame *frame, int plane); + +/** + * Add a new side data to a frame. + * + * @param frame a frame to which the side data should be added + * @param type type of the added side data + * @param size size of the side data + * + * @return newly added side data on success, NULL on error + */ +AVFrameSideData *av_frame_new_side_data(AVFrame *frame, + enum AVFrameSideDataType type, + int size); + +/** + * @return a pointer to the side data of a given type on success, NULL if there + * is no side data with such type in this frame. + */ +AVFrameSideData *av_frame_get_side_data(const AVFrame *frame, + enum AVFrameSideDataType type); + +/** + * If side data of the supplied type exists in the frame, free it and remove it + * from the frame. + */ +void av_frame_remove_side_data(AVFrame *frame, enum AVFrameSideDataType type); + + +/** + * Flags for frame cropping. + */ +enum { + /** + * Apply the maximum possible cropping, even if it requires setting the + * AVFrame.data[] entries to unaligned pointers. Passing unaligned data + * to FFmpeg API is generally not allowed, and causes undefined behavior + * (such as crashes). You can pass unaligned data only to FFmpeg APIs that + * are explicitly documented to accept it. Use this flag only if you + * absolutely know what you are doing. + */ + AV_FRAME_CROP_UNALIGNED = 1 << 0, +}; + +/** + * Crop the given video AVFrame according to its crop_left/crop_top/crop_right/ + * crop_bottom fields. If cropping is successful, the function will adjust the + * data pointers and the width/height fields, and set the crop fields to 0. + * + * In all cases, the cropping boundaries will be rounded to the inherent + * alignment of the pixel format. In some cases, such as for opaque hwaccel + * formats, the left/top cropping is ignored. The crop fields are set to 0 even + * if the cropping was rounded or ignored. + * + * @param frame the frame which should be cropped + * @param flags Some combination of AV_FRAME_CROP_* flags, or 0. + * + * @return >= 0 on success, a negative AVERROR on error. If the cropping fields + * were invalid, AVERROR(ERANGE) is returned, and nothing is changed. + */ +int av_frame_apply_cropping(AVFrame *frame, int flags); + +/** + * @return a string identifying the side data type + */ +const char *av_frame_side_data_name(enum AVFrameSideDataType type); + +/** + * @} + */ + +#endif /* AVUTIL_FRAME_H */ diff --git a/src/3rdparty/win32_include/libavutil/hash.h b/src/3rdparty/win32_include/libavutil/hash.h new file mode 100644 index 000000000..a20b8934f --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/hash.h @@ -0,0 +1,263 @@ +/* + * Copyright (C) 2013 Reimar Döffinger + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu_hash_generic + * Generic hashing API + */ + +#ifndef AVUTIL_HASH_H +#define AVUTIL_HASH_H + +#include + +/** + * @defgroup lavu_hash Hash Functions + * @ingroup lavu_crypto + * Hash functions useful in multimedia. + * + * Hash functions are widely used in multimedia, from error checking and + * concealment to internal regression testing. libavutil has efficient + * implementations of a variety of hash functions that may be useful for + * FFmpeg and other multimedia applications. + * + * @{ + * + * @defgroup lavu_hash_generic Generic Hashing API + * An abstraction layer for all hash functions supported by libavutil. + * + * If your application needs to support a wide range of different hash + * functions, then the Generic Hashing API is for you. It provides a generic, + * reusable API for @ref lavu_hash "all hash functions" implemented in libavutil. + * If you just need to use one particular hash function, use the @ref lavu_hash + * "individual hash" directly. + * + * @section Sample Code + * + * A basic template for using the Generic Hashing API follows: + * + * @code + * struct AVHashContext *ctx = NULL; + * const char *hash_name = NULL; + * uint8_t *output_buf = NULL; + * + * // Select from a string returned by av_hash_names() + * hash_name = ...; + * + * // Allocate a hash context + * ret = av_hash_alloc(&ctx, hash_name); + * if (ret < 0) + * return ret; + * + * // Initialize the hash context + * av_hash_init(ctx); + * + * // Update the hash context with data + * while (data_left) { + * av_hash_update(ctx, data, size); + * } + * + * // Now we have no more data, so it is time to finalize the hash and get the + * // output. But we need to first allocate an output buffer. Note that you can + * // use any memory allocation function, including malloc(), not just + * // av_malloc(). + * output_buf = av_malloc(av_hash_get_size(ctx)); + * if (!output_buf) + * return AVERROR(ENOMEM); + * + * // Finalize the hash context. + * // You can use any of the av_hash_final*() functions provided, for other + * // output formats. If you do so, be sure to adjust the memory allocation + * // above. See the function documentation below for the exact amount of extra + * // memory needed. + * av_hash_final(ctx, output_buffer); + * + * // Free the context + * av_hash_freep(&ctx); + * @endcode + * + * @section Hash Function-Specific Information + * If the CRC32 hash is selected, the #AV_CRC_32_IEEE polynomial will be + * used. + * + * If the Murmur3 hash is selected, the default seed will be used. See @ref + * lavu_murmur3_seedinfo "Murmur3" for more information. + * + * @{ + */ + +/** + * @example ffhash.c + * This example is a simple command line application that takes one or more + * arguments. It demonstrates a typical use of the hashing API with allocation, + * initialization, updating, and finalizing. + */ + +struct AVHashContext; + +/** + * Allocate a hash context for the algorithm specified by name. + * + * @return >= 0 for success, a negative error code for failure + * + * @note The context is not initialized after a call to this function; you must + * call av_hash_init() to do so. + */ +int av_hash_alloc(struct AVHashContext **ctx, const char *name); + +/** + * Get the names of available hash algorithms. + * + * This function can be used to enumerate the algorithms. + * + * @param[in] i Index of the hash algorithm, starting from 0 + * @return Pointer to a static string or `NULL` if `i` is out of range + */ +const char *av_hash_names(int i); + +/** + * Get the name of the algorithm corresponding to the given hash context. + */ +const char *av_hash_get_name(const struct AVHashContext *ctx); + +/** + * Maximum value that av_hash_get_size() will currently return. + * + * You can use this if you absolutely want or need to use static allocation for + * the output buffer and are fine with not supporting hashes newly added to + * libavutil without recompilation. + * + * @warning + * Adding new hashes with larger sizes, and increasing the macro while doing + * so, will not be considered an ABI change. To prevent your code from + * overflowing a buffer, either dynamically allocate the output buffer with + * av_hash_get_size(), or limit your use of the Hashing API to hashes that are + * already in FFmpeg during the time of compilation. + */ +#define AV_HASH_MAX_SIZE 64 + +/** + * Get the size of the resulting hash value in bytes. + * + * The maximum value this function will currently return is available as macro + * #AV_HASH_MAX_SIZE. + * + * @param[in] ctx Hash context + * @return Size of the hash value in bytes + */ +int av_hash_get_size(const struct AVHashContext *ctx); + +/** + * Initialize or reset a hash context. + * + * @param[in,out] ctx Hash context + */ +void av_hash_init(struct AVHashContext *ctx); + +/** + * Update a hash context with additional data. + * + * @param[in,out] ctx Hash context + * @param[in] src Data to be added to the hash context + * @param[in] len Size of the additional data + */ +void av_hash_update(struct AVHashContext *ctx, const uint8_t *src, int len); + +/** + * Finalize a hash context and compute the actual hash value. + * + * The minimum size of `dst` buffer is given by av_hash_get_size() or + * #AV_HASH_MAX_SIZE. The use of the latter macro is discouraged. + * + * It is not safe to update or finalize a hash context again, if it has already + * been finalized. + * + * @param[in,out] ctx Hash context + * @param[out] dst Where the final hash value will be stored + * + * @see av_hash_final_bin() provides an alternative API + */ +void av_hash_final(struct AVHashContext *ctx, uint8_t *dst); + +/** + * Finalize a hash context and store the actual hash value in a buffer. + * + * It is not safe to update or finalize a hash context again, if it has already + * been finalized. + * + * If `size` is smaller than the hash size (given by av_hash_get_size()), the + * hash is truncated; if size is larger, the buffer is padded with 0. + * + * @param[in,out] ctx Hash context + * @param[out] dst Where the final hash value will be stored + * @param[in] size Number of bytes to write to `dst` + */ +void av_hash_final_bin(struct AVHashContext *ctx, uint8_t *dst, int size); + +/** + * Finalize a hash context and store the hexadecimal representation of the + * actual hash value as a string. + * + * It is not safe to update or finalize a hash context again, if it has already + * been finalized. + * + * The string is always 0-terminated. + * + * If `size` is smaller than `2 * hash_size + 1`, where `hash_size` is the + * value returned by av_hash_get_size(), the string will be truncated. + * + * @param[in,out] ctx Hash context + * @param[out] dst Where the string will be stored + * @param[in] size Maximum number of bytes to write to `dst` + */ +void av_hash_final_hex(struct AVHashContext *ctx, uint8_t *dst, int size); + +/** + * Finalize a hash context and store the Base64 representation of the + * actual hash value as a string. + * + * It is not safe to update or finalize a hash context again, if it has already + * been finalized. + * + * The string is always 0-terminated. + * + * If `size` is smaller than AV_BASE64_SIZE(hash_size), where `hash_size` is + * the value returned by av_hash_get_size(), the string will be truncated. + * + * @param[in,out] ctx Hash context + * @param[out] dst Where the final hash value will be stored + * @param[in] size Maximum number of bytes to write to `dst` + */ +void av_hash_final_b64(struct AVHashContext *ctx, uint8_t *dst, int size); + +/** + * Free hash context and set hash context pointer to `NULL`. + * + * @param[in,out] ctx Pointer to hash context + */ +void av_hash_freep(struct AVHashContext **ctx); + +/** + * @} + * @} + */ + +#endif /* AVUTIL_HASH_H */ diff --git a/src/3rdparty/win32_include/libavutil/hmac.h b/src/3rdparty/win32_include/libavutil/hmac.h new file mode 100644 index 000000000..576a0a4fb --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/hmac.h @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2012 Martin Storsjo + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_HMAC_H +#define AVUTIL_HMAC_H + +#include + +#include "version.h" +/** + * @defgroup lavu_hmac HMAC + * @ingroup lavu_crypto + * @{ + */ + +enum AVHMACType { + AV_HMAC_MD5, + AV_HMAC_SHA1, + AV_HMAC_SHA224, + AV_HMAC_SHA256, + AV_HMAC_SHA384 = 12, + AV_HMAC_SHA512, +}; + +typedef struct AVHMAC AVHMAC; + +/** + * Allocate an AVHMAC context. + * @param type The hash function used for the HMAC. + */ +AVHMAC *av_hmac_alloc(enum AVHMACType type); + +/** + * Free an AVHMAC context. + * @param ctx The context to free, may be NULL + */ +void av_hmac_free(AVHMAC *ctx); + +/** + * Initialize an AVHMAC context with an authentication key. + * @param ctx The HMAC context + * @param key The authentication key + * @param keylen The length of the key, in bytes + */ +void av_hmac_init(AVHMAC *ctx, const uint8_t *key, unsigned int keylen); + +/** + * Hash data with the HMAC. + * @param ctx The HMAC context + * @param data The data to hash + * @param len The length of the data, in bytes + */ +void av_hmac_update(AVHMAC *ctx, const uint8_t *data, unsigned int len); + +/** + * Finish hashing and output the HMAC digest. + * @param ctx The HMAC context + * @param out The output buffer to write the digest into + * @param outlen The length of the out buffer, in bytes + * @return The number of bytes written to out, or a negative error code. + */ +int av_hmac_final(AVHMAC *ctx, uint8_t *out, unsigned int outlen); + +/** + * Hash an array of data with a key. + * @param ctx The HMAC context + * @param data The data to hash + * @param len The length of the data, in bytes + * @param key The authentication key + * @param keylen The length of the key, in bytes + * @param out The output buffer to write the digest into + * @param outlen The length of the out buffer, in bytes + * @return The number of bytes written to out, or a negative error code. + */ +int av_hmac_calc(AVHMAC *ctx, const uint8_t *data, unsigned int len, + const uint8_t *key, unsigned int keylen, + uint8_t *out, unsigned int outlen); + +/** + * @} + */ + +#endif /* AVUTIL_HMAC_H */ diff --git a/src/3rdparty/win32_include/libavutil/hwcontext.h b/src/3rdparty/win32_include/libavutil/hwcontext.h new file mode 100644 index 000000000..03334e20e --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/hwcontext.h @@ -0,0 +1,582 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_HWCONTEXT_H +#define AVUTIL_HWCONTEXT_H + +#include "buffer.h" +#include "frame.h" +#include "log.h" +#include "pixfmt.h" + +enum AVHWDeviceType { + AV_HWDEVICE_TYPE_VDPAU, + AV_HWDEVICE_TYPE_CUDA, + AV_HWDEVICE_TYPE_VAAPI, + AV_HWDEVICE_TYPE_DXVA2, + AV_HWDEVICE_TYPE_QSV, + AV_HWDEVICE_TYPE_VIDEOTOOLBOX, + AV_HWDEVICE_TYPE_NONE, + AV_HWDEVICE_TYPE_D3D11VA, + AV_HWDEVICE_TYPE_DRM, +}; + +typedef struct AVHWDeviceInternal AVHWDeviceInternal; + +/** + * This struct aggregates all the (hardware/vendor-specific) "high-level" state, + * i.e. state that is not tied to a concrete processing configuration. + * E.g., in an API that supports hardware-accelerated encoding and decoding, + * this struct will (if possible) wrap the state that is common to both encoding + * and decoding and from which specific instances of encoders or decoders can be + * derived. + * + * This struct is reference-counted with the AVBuffer mechanism. The + * av_hwdevice_ctx_alloc() constructor yields a reference, whose data field + * points to the actual AVHWDeviceContext. Further objects derived from + * AVHWDeviceContext (such as AVHWFramesContext, describing a frame pool with + * specific properties) will hold an internal reference to it. After all the + * references are released, the AVHWDeviceContext itself will be freed, + * optionally invoking a user-specified callback for uninitializing the hardware + * state. + */ +typedef struct AVHWDeviceContext { + /** + * A class for logging. Set by av_hwdevice_ctx_alloc(). + */ + const AVClass *av_class; + + /** + * Private data used internally by libavutil. Must not be accessed in any + * way by the caller. + */ + AVHWDeviceInternal *internal; + + /** + * This field identifies the underlying API used for hardware access. + * + * This field is set when this struct is allocated and never changed + * afterwards. + */ + enum AVHWDeviceType type; + + /** + * The format-specific data, allocated and freed by libavutil along with + * this context. + * + * Should be cast by the user to the format-specific context defined in the + * corresponding header (hwcontext_*.h) and filled as described in the + * documentation before calling av_hwdevice_ctx_init(). + * + * After calling av_hwdevice_ctx_init() this struct should not be modified + * by the caller. + */ + void *hwctx; + + /** + * This field may be set by the caller before calling av_hwdevice_ctx_init(). + * + * If non-NULL, this callback will be called when the last reference to + * this context is unreferenced, immediately before it is freed. + * + * @note when other objects (e.g an AVHWFramesContext) are derived from this + * struct, this callback will be invoked after all such child objects + * are fully uninitialized and their respective destructors invoked. + */ + void (*free)(struct AVHWDeviceContext *ctx); + + /** + * Arbitrary user data, to be used e.g. by the free() callback. + */ + void *user_opaque; +} AVHWDeviceContext; + +typedef struct AVHWFramesInternal AVHWFramesInternal; + +/** + * This struct describes a set or pool of "hardware" frames (i.e. those with + * data not located in normal system memory). All the frames in the pool are + * assumed to be allocated in the same way and interchangeable. + * + * This struct is reference-counted with the AVBuffer mechanism and tied to a + * given AVHWDeviceContext instance. The av_hwframe_ctx_alloc() constructor + * yields a reference, whose data field points to the actual AVHWFramesContext + * struct. + */ +typedef struct AVHWFramesContext { + /** + * A class for logging. + */ + const AVClass *av_class; + + /** + * Private data used internally by libavutil. Must not be accessed in any + * way by the caller. + */ + AVHWFramesInternal *internal; + + /** + * A reference to the parent AVHWDeviceContext. This reference is owned and + * managed by the enclosing AVHWFramesContext, but the caller may derive + * additional references from it. + */ + AVBufferRef *device_ref; + + /** + * The parent AVHWDeviceContext. This is simply a pointer to + * device_ref->data provided for convenience. + * + * Set by libavutil in av_hwframe_ctx_init(). + */ + AVHWDeviceContext *device_ctx; + + /** + * The format-specific data, allocated and freed automatically along with + * this context. + * + * Should be cast by the user to the format-specific context defined in the + * corresponding header (hwframe_*.h) and filled as described in the + * documentation before calling av_hwframe_ctx_init(). + * + * After any frames using this context are created, the contents of this + * struct should not be modified by the caller. + */ + void *hwctx; + + /** + * This field may be set by the caller before calling av_hwframe_ctx_init(). + * + * If non-NULL, this callback will be called when the last reference to + * this context is unreferenced, immediately before it is freed. + */ + void (*free)(struct AVHWFramesContext *ctx); + + /** + * Arbitrary user data, to be used e.g. by the free() callback. + */ + void *user_opaque; + + /** + * A pool from which the frames are allocated by av_hwframe_get_buffer(). + * This field may be set by the caller before calling av_hwframe_ctx_init(). + * The buffers returned by calling av_buffer_pool_get() on this pool must + * have the properties described in the documentation in the corresponding hw + * type's header (hwcontext_*.h). The pool will be freed strictly before + * this struct's free() callback is invoked. + * + * This field may be NULL, then libavutil will attempt to allocate a pool + * internally. Note that certain device types enforce pools allocated at + * fixed size (frame count), which cannot be extended dynamically. In such a + * case, initial_pool_size must be set appropriately. + */ + AVBufferPool *pool; + + /** + * Initial size of the frame pool. If a device type does not support + * dynamically resizing the pool, then this is also the maximum pool size. + * + * May be set by the caller before calling av_hwframe_ctx_init(). Must be + * set if pool is NULL and the device type does not support dynamic pools. + */ + int initial_pool_size; + + /** + * The pixel format identifying the underlying HW surface type. + * + * Must be a hwaccel format, i.e. the corresponding descriptor must have the + * AV_PIX_FMT_FLAG_HWACCEL flag set. + * + * Must be set by the user before calling av_hwframe_ctx_init(). + */ + enum AVPixelFormat format; + + /** + * The pixel format identifying the actual data layout of the hardware + * frames. + * + * Must be set by the caller before calling av_hwframe_ctx_init(). + * + * @note when the underlying API does not provide the exact data layout, but + * only the colorspace/bit depth, this field should be set to the fully + * planar version of that format (e.g. for 8-bit 420 YUV it should be + * AV_PIX_FMT_YUV420P, not AV_PIX_FMT_NV12 or anything else). + */ + enum AVPixelFormat sw_format; + + /** + * The allocated dimensions of the frames in this pool. + * + * Must be set by the user before calling av_hwframe_ctx_init(). + */ + int width, height; +} AVHWFramesContext; + +/** + * Look up an AVHWDeviceType by name. + * + * @param name String name of the device type (case-insensitive). + * @return The type from enum AVHWDeviceType, or AV_HWDEVICE_TYPE_NONE if + * not found. + */ +enum AVHWDeviceType av_hwdevice_find_type_by_name(const char *name); + +/** Get the string name of an AVHWDeviceType. + * + * @param type Type from enum AVHWDeviceType. + * @return Pointer to a static string containing the name, or NULL if the type + * is not valid. + */ +const char *av_hwdevice_get_type_name(enum AVHWDeviceType type); + +/** + * Iterate over supported device types. + * + * @param type AV_HWDEVICE_TYPE_NONE initially, then the previous type + * returned by this function in subsequent iterations. + * @return The next usable device type from enum AVHWDeviceType, or + * AV_HWDEVICE_TYPE_NONE if there are no more. + */ +enum AVHWDeviceType av_hwdevice_iterate_types(enum AVHWDeviceType prev); + +/** + * Allocate an AVHWDeviceContext for a given hardware type. + * + * @param type the type of the hardware device to allocate. + * @return a reference to the newly created AVHWDeviceContext on success or NULL + * on failure. + */ +AVBufferRef *av_hwdevice_ctx_alloc(enum AVHWDeviceType type); + +/** + * Finalize the device context before use. This function must be called after + * the context is filled with all the required information and before it is + * used in any way. + * + * @param ref a reference to the AVHWDeviceContext + * @return 0 on success, a negative AVERROR code on failure + */ +int av_hwdevice_ctx_init(AVBufferRef *ref); + +/** + * Open a device of the specified type and create an AVHWDeviceContext for it. + * + * This is a convenience function intended to cover the simple cases. Callers + * who need to fine-tune device creation/management should open the device + * manually and then wrap it in an AVHWDeviceContext using + * av_hwdevice_ctx_alloc()/av_hwdevice_ctx_init(). + * + * The returned context is already initialized and ready for use, the caller + * should not call av_hwdevice_ctx_init() on it. The user_opaque/free fields of + * the created AVHWDeviceContext are set by this function and should not be + * touched by the caller. + * + * @param device_ctx On success, a reference to the newly-created device context + * will be written here. The reference is owned by the caller + * and must be released with av_buffer_unref() when no longer + * needed. On failure, NULL will be written to this pointer. + * @param type The type of the device to create. + * @param device A type-specific string identifying the device to open. + * @param opts A dictionary of additional (type-specific) options to use in + * opening the device. The dictionary remains owned by the caller. + * @param flags currently unused + * + * @return 0 on success, a negative AVERROR code on failure. + */ +int av_hwdevice_ctx_create(AVBufferRef **device_ctx, enum AVHWDeviceType type, + const char *device, AVDictionary *opts, int flags); + +/** + * Create a new device of the specified type from an existing device. + * + * If the source device is a device of the target type or was originally + * derived from such a device (possibly through one or more intermediate + * devices of other types), then this will return a reference to the + * existing device of the same type as is requested. + * + * Otherwise, it will attempt to derive a new device from the given source + * device. If direct derivation to the new type is not implemented, it will + * attempt the same derivation from each ancestor of the source device in + * turn looking for an implemented derivation method. + * + * @param dst_ctx On success, a reference to the newly-created + * AVHWDeviceContext. + * @param type The type of the new device to create. + * @param src_ctx A reference to an existing AVHWDeviceContext which will be + * used to create the new device. + * @param flags Currently unused; should be set to zero. + * @return Zero on success, a negative AVERROR code on failure. + */ +int av_hwdevice_ctx_create_derived(AVBufferRef **dst_ctx, + enum AVHWDeviceType type, + AVBufferRef *src_ctx, int flags); + + +/** + * Allocate an AVHWFramesContext tied to a given device context. + * + * @param device_ctx a reference to a AVHWDeviceContext. This function will make + * a new reference for internal use, the one passed to the + * function remains owned by the caller. + * @return a reference to the newly created AVHWFramesContext on success or NULL + * on failure. + */ +AVBufferRef *av_hwframe_ctx_alloc(AVBufferRef *device_ctx); + +/** + * Finalize the context before use. This function must be called after the + * context is filled with all the required information and before it is attached + * to any frames. + * + * @param ref a reference to the AVHWFramesContext + * @return 0 on success, a negative AVERROR code on failure + */ +int av_hwframe_ctx_init(AVBufferRef *ref); + +/** + * Allocate a new frame attached to the given AVHWFramesContext. + * + * @param hwframe_ctx a reference to an AVHWFramesContext + * @param frame an empty (freshly allocated or unreffed) frame to be filled with + * newly allocated buffers. + * @param flags currently unused, should be set to zero + * @return 0 on success, a negative AVERROR code on failure + */ +int av_hwframe_get_buffer(AVBufferRef *hwframe_ctx, AVFrame *frame, int flags); + +/** + * Copy data to or from a hw surface. At least one of dst/src must have an + * AVHWFramesContext attached. + * + * If src has an AVHWFramesContext attached, then the format of dst (if set) + * must use one of the formats returned by av_hwframe_transfer_get_formats(src, + * AV_HWFRAME_TRANSFER_DIRECTION_FROM). + * If dst has an AVHWFramesContext attached, then the format of src must use one + * of the formats returned by av_hwframe_transfer_get_formats(dst, + * AV_HWFRAME_TRANSFER_DIRECTION_TO) + * + * dst may be "clean" (i.e. with data/buf pointers unset), in which case the + * data buffers will be allocated by this function using av_frame_get_buffer(). + * If dst->format is set, then this format will be used, otherwise (when + * dst->format is AV_PIX_FMT_NONE) the first acceptable format will be chosen. + * + * The two frames must have matching allocated dimensions (i.e. equal to + * AVHWFramesContext.width/height), since not all device types support + * transferring a sub-rectangle of the whole surface. The display dimensions + * (i.e. AVFrame.width/height) may be smaller than the allocated dimensions, but + * also have to be equal for both frames. When the display dimensions are + * smaller than the allocated dimensions, the content of the padding in the + * destination frame is unspecified. + * + * @param dst the destination frame. dst is not touched on failure. + * @param src the source frame. + * @param flags currently unused, should be set to zero + * @return 0 on success, a negative AVERROR error code on failure. + */ +int av_hwframe_transfer_data(AVFrame *dst, const AVFrame *src, int flags); + +enum AVHWFrameTransferDirection { + /** + * Transfer the data from the queried hw frame. + */ + AV_HWFRAME_TRANSFER_DIRECTION_FROM, + + /** + * Transfer the data to the queried hw frame. + */ + AV_HWFRAME_TRANSFER_DIRECTION_TO, +}; + +/** + * Get a list of possible source or target formats usable in + * av_hwframe_transfer_data(). + * + * @param hwframe_ctx the frame context to obtain the information for + * @param dir the direction of the transfer + * @param formats the pointer to the output format list will be written here. + * The list is terminated with AV_PIX_FMT_NONE and must be freed + * by the caller when no longer needed using av_free(). + * If this function returns successfully, the format list will + * have at least one item (not counting the terminator). + * On failure, the contents of this pointer are unspecified. + * @param flags currently unused, should be set to zero + * @return 0 on success, a negative AVERROR code on failure. + */ +int av_hwframe_transfer_get_formats(AVBufferRef *hwframe_ctx, + enum AVHWFrameTransferDirection dir, + enum AVPixelFormat **formats, int flags); + + +/** + * This struct describes the constraints on hardware frames attached to + * a given device with a hardware-specific configuration. This is returned + * by av_hwdevice_get_hwframe_constraints() and must be freed by + * av_hwframe_constraints_free() after use. + */ +typedef struct AVHWFramesConstraints { + /** + * A list of possible values for format in the hw_frames_ctx, + * terminated by AV_PIX_FMT_NONE. This member will always be filled. + */ + enum AVPixelFormat *valid_hw_formats; + + /** + * A list of possible values for sw_format in the hw_frames_ctx, + * terminated by AV_PIX_FMT_NONE. Can be NULL if this information is + * not known. + */ + enum AVPixelFormat *valid_sw_formats; + + /** + * The minimum size of frames in this hw_frames_ctx. + * (Zero if not known.) + */ + int min_width; + int min_height; + + /** + * The maximum size of frames in this hw_frames_ctx. + * (INT_MAX if not known / no limit.) + */ + int max_width; + int max_height; +} AVHWFramesConstraints; + +/** + * Allocate a HW-specific configuration structure for a given HW device. + * After use, the user must free all members as required by the specific + * hardware structure being used, then free the structure itself with + * av_free(). + * + * @param device_ctx a reference to the associated AVHWDeviceContext. + * @return The newly created HW-specific configuration structure on + * success or NULL on failure. + */ +void *av_hwdevice_hwconfig_alloc(AVBufferRef *device_ctx); + +/** + * Get the constraints on HW frames given a device and the HW-specific + * configuration to be used with that device. If no HW-specific + * configuration is provided, returns the maximum possible capabilities + * of the device. + * + * @param ref a reference to the associated AVHWDeviceContext. + * @param hwconfig a filled HW-specific configuration structure, or NULL + * to return the maximum possible capabilities of the device. + * @return AVHWFramesConstraints structure describing the constraints + * on the device, or NULL if not available. + */ +AVHWFramesConstraints *av_hwdevice_get_hwframe_constraints(AVBufferRef *ref, + const void *hwconfig); + +/** + * Free an AVHWFrameConstraints structure. + * + * @param constraints The (filled or unfilled) AVHWFrameConstraints structure. + */ +void av_hwframe_constraints_free(AVHWFramesConstraints **constraints); + + +/** + * Flags to apply to frame mappings. + */ +enum { + /** + * The mapping must be readable. + */ + AV_HWFRAME_MAP_READ = 1 << 0, + /** + * The mapping must be writeable. + */ + AV_HWFRAME_MAP_WRITE = 1 << 1, + /** + * The mapped frame will be overwritten completely in subsequent + * operations, so the current frame data need not be loaded. Any values + * which are not overwritten are unspecified. + */ + AV_HWFRAME_MAP_OVERWRITE = 1 << 2, + /** + * The mapping must be direct. That is, there must not be any copying in + * the map or unmap steps. Note that performance of direct mappings may + * be much lower than normal memory. + */ + AV_HWFRAME_MAP_DIRECT = 1 << 3, +}; + +/** + * Map a hardware frame. + * + * This has a number of different possible effects, depending on the format + * and origin of the src and dst frames. On input, src should be a usable + * frame with valid buffers and dst should be blank (typically as just created + * by av_frame_alloc()). src should have an associated hwframe context, and + * dst may optionally have a format and associated hwframe context. + * + * If src was created by mapping a frame from the hwframe context of dst, + * then this function undoes the mapping - dst is replaced by a reference to + * the frame that src was originally mapped from. + * + * If both src and dst have an associated hwframe context, then this function + * attempts to map the src frame from its hardware context to that of dst and + * then fill dst with appropriate data to be usable there. This will only be + * possible if the hwframe contexts and associated devices are compatible - + * given compatible devices, av_hwframe_ctx_create_derived() can be used to + * create a hwframe context for dst in which mapping should be possible. + * + * If src has a hwframe context but dst does not, then the src frame is + * mapped to normal memory and should thereafter be usable as a normal frame. + * If the format is set on dst, then the mapping will attempt to create dst + * with that format and fail if it is not possible. If format is unset (is + * AV_PIX_FMT_NONE) then dst will be mapped with whatever the most appropriate + * format to use is (probably the sw_format of the src hwframe context). + * + * A return value of AVERROR(ENOSYS) indicates that the mapping is not + * possible with the given arguments and hwframe setup, while other return + * values indicate that it failed somehow. + * + * @param dst Destination frame, to contain the mapping. + * @param src Source frame, to be mapped. + * @param flags Some combination of AV_HWFRAME_MAP_* flags. + * @return Zero on success, negative AVERROR code on failure. + */ +int av_hwframe_map(AVFrame *dst, const AVFrame *src, int flags); + + +/** + * Create and initialise an AVHWFramesContext as a mapping of another existing + * AVHWFramesContext on a different device. + * + * av_hwframe_ctx_init() should not be called after this. + * + * @param derived_frame_ctx On success, a reference to the newly created + * AVHWFramesContext. + * @param derived_device_ctx A reference to the device to create the new + * AVHWFramesContext on. + * @param source_frame_ctx A reference to an existing AVHWFramesContext + * which will be mapped to the derived context. + * @param flags Some combination of AV_HWFRAME_MAP_* flags, defining the + * mapping parameters to apply to frames which are allocated + * in the derived device. + * @return Zero on success, negative AVERROR code on failure. + */ +int av_hwframe_ctx_create_derived(AVBufferRef **derived_frame_ctx, + enum AVPixelFormat format, + AVBufferRef *derived_device_ctx, + AVBufferRef *source_frame_ctx, + int flags); + +#endif /* AVUTIL_HWCONTEXT_H */ diff --git a/src/3rdparty/win32_include/libavutil/hwcontext_cuda.h b/src/3rdparty/win32_include/libavutil/hwcontext_cuda.h new file mode 100644 index 000000000..12dae8449 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/hwcontext_cuda.h @@ -0,0 +1,51 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +#ifndef AVUTIL_HWCONTEXT_CUDA_H +#define AVUTIL_HWCONTEXT_CUDA_H + +#ifndef CUDA_VERSION +#include +#endif + +#include "pixfmt.h" + +/** + * @file + * An API-specific header for AV_HWDEVICE_TYPE_CUDA. + * + * This API supports dynamic frame pools. AVHWFramesContext.pool must return + * AVBufferRefs whose data pointer is a CUdeviceptr. + */ + +typedef struct AVCUDADeviceContextInternal AVCUDADeviceContextInternal; + +/** + * This struct is allocated as AVHWDeviceContext.hwctx + */ +typedef struct AVCUDADeviceContext { + CUcontext cuda_ctx; + AVCUDADeviceContextInternal *internal; +} AVCUDADeviceContext; + +/** + * AVHWFramesContext.hwctx is currently not used + */ + +#endif /* AVUTIL_HWCONTEXT_CUDA_H */ diff --git a/src/3rdparty/win32_include/libavutil/hwcontext_d3d11va.h b/src/3rdparty/win32_include/libavutil/hwcontext_d3d11va.h new file mode 100644 index 000000000..98db7ce34 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/hwcontext_d3d11va.h @@ -0,0 +1,168 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_HWCONTEXT_D3D11VA_H +#define AVUTIL_HWCONTEXT_D3D11VA_H + +/** + * @file + * An API-specific header for AV_HWDEVICE_TYPE_D3D11VA. + * + * The default pool implementation will be fixed-size if initial_pool_size is + * set (and allocate elements from an array texture). Otherwise it will allocate + * individual textures. Be aware that decoding requires a single array texture. + * + * Using sw_format==AV_PIX_FMT_YUV420P has special semantics, and maps to + * DXGI_FORMAT_420_OPAQUE. av_hwframe_transfer_data() is not supported for + * this format. Refer to MSDN for details. + * + * av_hwdevice_ctx_create() for this device type supports a key named "debug" + * for the AVDictionary entry. If this is set to any value, the device creation + * code will try to load various supported D3D debugging layers. + */ + +#include + +/** + * This struct is allocated as AVHWDeviceContext.hwctx + */ +typedef struct AVD3D11VADeviceContext { + /** + * Device used for texture creation and access. This can also be used to + * set the libavcodec decoding device. + * + * Must be set by the user. This is the only mandatory field - the other + * device context fields are set from this and are available for convenience. + * + * Deallocating the AVHWDeviceContext will always release this interface, + * and it does not matter whether it was user-allocated. + */ + ID3D11Device *device; + + /** + * If unset, this will be set from the device field on init. + * + * Deallocating the AVHWDeviceContext will always release this interface, + * and it does not matter whether it was user-allocated. + */ + ID3D11DeviceContext *device_context; + + /** + * If unset, this will be set from the device field on init. + * + * Deallocating the AVHWDeviceContext will always release this interface, + * and it does not matter whether it was user-allocated. + */ + ID3D11VideoDevice *video_device; + + /** + * If unset, this will be set from the device_context field on init. + * + * Deallocating the AVHWDeviceContext will always release this interface, + * and it does not matter whether it was user-allocated. + */ + ID3D11VideoContext *video_context; + + /** + * Callbacks for locking. They protect accesses to device_context and + * video_context calls. They also protect access to the internal staging + * texture (for av_hwframe_transfer_data() calls). They do NOT protect + * access to hwcontext or decoder state in general. + * + * If unset on init, the hwcontext implementation will set them to use an + * internal mutex. + * + * The underlying lock must be recursive. lock_ctx is for free use by the + * locking implementation. + */ + void (*lock)(void *lock_ctx); + void (*unlock)(void *lock_ctx); + void *lock_ctx; +} AVD3D11VADeviceContext; + +/** + * D3D11 frame descriptor for pool allocation. + * + * In user-allocated pools, AVHWFramesContext.pool must return AVBufferRefs + * with the data pointer pointing at an object of this type describing the + * planes of the frame. + * + * This has no use outside of custom allocation, and AVFrame AVBufferRef do not + * necessarily point to an instance of this struct. + */ +typedef struct AVD3D11FrameDescriptor { + /** + * The texture in which the frame is located. The reference count is + * managed by the AVBufferRef, and destroying the reference will release + * the interface. + * + * Normally stored in AVFrame.data[0]. + */ + ID3D11Texture2D *texture; + + /** + * The index into the array texture element representing the frame, or 0 + * if the texture is not an array texture. + * + * Normally stored in AVFrame.data[1] (cast from intptr_t). + */ + intptr_t index; +} AVD3D11FrameDescriptor; + +/** + * This struct is allocated as AVHWFramesContext.hwctx + */ +typedef struct AVD3D11VAFramesContext { + /** + * The canonical texture used for pool allocation. If this is set to NULL + * on init, the hwframes implementation will allocate and set an array + * texture if initial_pool_size > 0. + * + * The only situation when the API user should set this is: + * - the user wants to do manual pool allocation (setting + * AVHWFramesContext.pool), instead of letting AVHWFramesContext + * allocate the pool + * - of an array texture + * - and wants it to use it for decoding + * - this has to be done before calling av_hwframe_ctx_init() + * + * Deallocating the AVHWFramesContext will always release this interface, + * and it does not matter whether it was user-allocated. + * + * This is in particular used by the libavcodec D3D11VA hwaccel, which + * requires a single array texture. It will create ID3D11VideoDecoderOutputView + * objects for each array texture element on decoder initialization. + */ + ID3D11Texture2D *texture; + + /** + * D3D11_TEXTURE2D_DESC.BindFlags used for texture creation. The user must + * at least set D3D11_BIND_DECODER if the frames context is to be used for + * video decoding. + * This field is ignored/invalid if a user-allocated texture is provided. + */ + UINT BindFlags; + + /** + * D3D11_TEXTURE2D_DESC.MiscFlags used for texture creation. + * This field is ignored/invalid if a user-allocated texture is provided. + */ + UINT MiscFlags; +} AVD3D11VAFramesContext; + +#endif /* AVUTIL_HWCONTEXT_D3D11VA_H */ diff --git a/src/3rdparty/win32_include/libavutil/hwcontext_drm.h b/src/3rdparty/win32_include/libavutil/hwcontext_drm.h new file mode 100644 index 000000000..2e225451e --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/hwcontext_drm.h @@ -0,0 +1,166 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_HWCONTEXT_DRM_H +#define AVUTIL_HWCONTEXT_DRM_H + +#include +#include + +/** + * @file + * API-specific header for AV_HWDEVICE_TYPE_DRM. + * + * Internal frame allocation is not currently supported - all frames + * must be allocated by the user. Thus AVHWFramesContext is always + * NULL, though this may change if support for frame allocation is + * added in future. + */ + +enum { + /** + * The maximum number of layers/planes in a DRM frame. + */ + AV_DRM_MAX_PLANES = 4 +}; + +/** + * DRM object descriptor. + * + * Describes a single DRM object, addressing it as a PRIME file + * descriptor. + */ +typedef struct AVDRMObjectDescriptor { + /** + * DRM PRIME fd for the object. + */ + int fd; + /** + * Total size of the object. + * + * (This includes any parts not which do not contain image data.) + */ + size_t size; + /** + * Format modifier applied to the object (DRM_FORMAT_MOD_*). + */ + uint64_t format_modifier; +} AVDRMObjectDescriptor; + +/** + * DRM plane descriptor. + * + * Describes a single plane of a layer, which is contained within + * a single object. + */ +typedef struct AVDRMPlaneDescriptor { + /** + * Index of the object containing this plane in the objects + * array of the enclosing frame descriptor. + */ + int object_index; + /** + * Offset within that object of this plane. + */ + ptrdiff_t offset; + /** + * Pitch (linesize) of this plane. + */ + ptrdiff_t pitch; +} AVDRMPlaneDescriptor; + +/** + * DRM layer descriptor. + * + * Describes a single layer within a frame. This has the structure + * defined by its format, and will contain one or more planes. + */ +typedef struct AVDRMLayerDescriptor { + /** + * Format of the layer (DRM_FORMAT_*). + */ + uint32_t format; + /** + * Number of planes in the layer. + * + * This must match the number of planes required by format. + */ + int nb_planes; + /** + * Array of planes in this layer. + */ + AVDRMPlaneDescriptor planes[AV_DRM_MAX_PLANES]; +} AVDRMLayerDescriptor; + +/** + * DRM frame descriptor. + * + * This is used as the data pointer for AV_PIX_FMT_DRM_PRIME frames. + * It is also used by user-allocated frame pools - allocating in + * AVHWFramesContext.pool must return AVBufferRefs which contain + * an object of this type. + * + * The fields of this structure should be set such it can be + * imported directly by EGL using the EGL_EXT_image_dma_buf_import + * and EGL_EXT_image_dma_buf_import_modifiers extensions. + * (Note that the exact layout of a particular format may vary between + * platforms - we only specify that the same platform should be able + * to import it.) + * + * The total number of planes must not exceed AV_DRM_MAX_PLANES, and + * the order of the planes by increasing layer index followed by + * increasing plane index must be the same as the order which would + * be used for the data pointers in the equivalent software format. + */ +typedef struct AVDRMFrameDescriptor { + /** + * Number of DRM objects making up this frame. + */ + int nb_objects; + /** + * Array of objects making up the frame. + */ + AVDRMObjectDescriptor objects[AV_DRM_MAX_PLANES]; + /** + * Number of layers in the frame. + */ + int nb_layers; + /** + * Array of layers in the frame. + */ + AVDRMLayerDescriptor layers[AV_DRM_MAX_PLANES]; +} AVDRMFrameDescriptor; + +/** + * DRM device. + * + * Allocated as AVHWDeviceContext.hwctx. + */ +typedef struct AVDRMDeviceContext { + /** + * File descriptor of DRM device. + * + * This is used as the device to create frames on, and may also be + * used in some derivation and mapping operations. + * + * If no device is required, set to -1. + */ + int fd; +} AVDRMDeviceContext; + +#endif /* AVUTIL_HWCONTEXT_DRM_H */ diff --git a/src/3rdparty/win32_include/libavutil/hwcontext_dxva2.h b/src/3rdparty/win32_include/libavutil/hwcontext_dxva2.h new file mode 100644 index 000000000..e1b79bc0d --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/hwcontext_dxva2.h @@ -0,0 +1,75 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +#ifndef AVUTIL_HWCONTEXT_DXVA2_H +#define AVUTIL_HWCONTEXT_DXVA2_H + +/** + * @file + * An API-specific header for AV_HWDEVICE_TYPE_DXVA2. + * + * Only fixed-size pools are supported. + * + * For user-allocated pools, AVHWFramesContext.pool must return AVBufferRefs + * with the data pointer set to a pointer to IDirect3DSurface9. + */ + +#include +#include + +/** + * This struct is allocated as AVHWDeviceContext.hwctx + */ +typedef struct AVDXVA2DeviceContext { + IDirect3DDeviceManager9 *devmgr; +} AVDXVA2DeviceContext; + +/** + * This struct is allocated as AVHWFramesContext.hwctx + */ +typedef struct AVDXVA2FramesContext { + /** + * The surface type (e.g. DXVA2_VideoProcessorRenderTarget or + * DXVA2_VideoDecoderRenderTarget). Must be set by the caller. + */ + DWORD surface_type; + + /** + * The surface pool. When an external pool is not provided by the caller, + * this will be managed (allocated and filled on init, freed on uninit) by + * libavutil. + */ + IDirect3DSurface9 **surfaces; + int nb_surfaces; + + /** + * Certain drivers require the decoder to be destroyed before the surfaces. + * To allow internally managed pools to work properly in such cases, this + * field is provided. + * + * If it is non-NULL, libavutil will call IDirectXVideoDecoder_Release() on + * it just before the internal surface pool is freed. + * + * This is for convenience only. Some code uses other methods to manage the + * decoder reference. + */ + IDirectXVideoDecoder *decoder_to_release; +} AVDXVA2FramesContext; + +#endif /* AVUTIL_HWCONTEXT_DXVA2_H */ diff --git a/src/3rdparty/win32_include/libavutil/hwcontext_qsv.h b/src/3rdparty/win32_include/libavutil/hwcontext_qsv.h new file mode 100644 index 000000000..b98d611cf --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/hwcontext_qsv.h @@ -0,0 +1,53 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_HWCONTEXT_QSV_H +#define AVUTIL_HWCONTEXT_QSV_H + +#include + +/** + * @file + * An API-specific header for AV_HWDEVICE_TYPE_QSV. + * + * This API does not support dynamic frame pools. AVHWFramesContext.pool must + * contain AVBufferRefs whose data pointer points to an mfxFrameSurface1 struct. + */ + +/** + * This struct is allocated as AVHWDeviceContext.hwctx + */ +typedef struct AVQSVDeviceContext { + mfxSession session; +} AVQSVDeviceContext; + +/** + * This struct is allocated as AVHWFramesContext.hwctx + */ +typedef struct AVQSVFramesContext { + mfxFrameSurface1 *surfaces; + int nb_surfaces; + + /** + * A combination of MFX_MEMTYPE_* describing the frame pool. + */ + int frame_type; +} AVQSVFramesContext; + +#endif /* AVUTIL_HWCONTEXT_QSV_H */ + diff --git a/src/3rdparty/win32_include/libavutil/hwcontext_vaapi.h b/src/3rdparty/win32_include/libavutil/hwcontext_vaapi.h new file mode 100644 index 000000000..0b2e071cb --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/hwcontext_vaapi.h @@ -0,0 +1,117 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_HWCONTEXT_VAAPI_H +#define AVUTIL_HWCONTEXT_VAAPI_H + +#include + +/** + * @file + * API-specific header for AV_HWDEVICE_TYPE_VAAPI. + * + * Dynamic frame pools are supported, but note that any pool used as a render + * target is required to be of fixed size in order to be be usable as an + * argument to vaCreateContext(). + * + * For user-allocated pools, AVHWFramesContext.pool must return AVBufferRefs + * with the data pointer set to a VASurfaceID. + */ + +enum { + /** + * The quirks field has been set by the user and should not be detected + * automatically by av_hwdevice_ctx_init(). + */ + AV_VAAPI_DRIVER_QUIRK_USER_SET = (1 << 0), + /** + * The driver does not destroy parameter buffers when they are used by + * vaRenderPicture(). Additional code will be required to destroy them + * separately afterwards. + */ + AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS = (1 << 1), + + /** + * The driver does not support the VASurfaceAttribMemoryType attribute, + * so the surface allocation code will not try to use it. + */ + AV_VAAPI_DRIVER_QUIRK_ATTRIB_MEMTYPE = (1 << 2), + + /** + * The driver does not support surface attributes at all. + * The surface allocation code will never pass them to surface allocation, + * and the results of the vaQuerySurfaceAttributes() call will be faked. + */ + AV_VAAPI_DRIVER_QUIRK_SURFACE_ATTRIBUTES = (1 << 3), +}; + +/** + * VAAPI connection details. + * + * Allocated as AVHWDeviceContext.hwctx + */ +typedef struct AVVAAPIDeviceContext { + /** + * The VADisplay handle, to be filled by the user. + */ + VADisplay display; + /** + * Driver quirks to apply - this is filled by av_hwdevice_ctx_init(), + * with reference to a table of known drivers, unless the + * AV_VAAPI_DRIVER_QUIRK_USER_SET bit is already present. The user + * may need to refer to this field when performing any later + * operations using VAAPI with the same VADisplay. + */ + unsigned int driver_quirks; +} AVVAAPIDeviceContext; + +/** + * VAAPI-specific data associated with a frame pool. + * + * Allocated as AVHWFramesContext.hwctx. + */ +typedef struct AVVAAPIFramesContext { + /** + * Set by the user to apply surface attributes to all surfaces in + * the frame pool. If null, default settings are used. + */ + VASurfaceAttrib *attributes; + int nb_attributes; + /** + * The surfaces IDs of all surfaces in the pool after creation. + * Only valid if AVHWFramesContext.initial_pool_size was positive. + * These are intended to be used as the render_targets arguments to + * vaCreateContext(). + */ + VASurfaceID *surface_ids; + int nb_surfaces; +} AVVAAPIFramesContext; + +/** + * VAAPI hardware pipeline configuration details. + * + * Allocated with av_hwdevice_hwconfig_alloc(). + */ +typedef struct AVVAAPIHWConfig { + /** + * ID of a VAAPI pipeline configuration. + */ + VAConfigID config_id; +} AVVAAPIHWConfig; + +#endif /* AVUTIL_HWCONTEXT_VAAPI_H */ diff --git a/src/3rdparty/win32_include/libavutil/hwcontext_vdpau.h b/src/3rdparty/win32_include/libavutil/hwcontext_vdpau.h new file mode 100644 index 000000000..1b7ea1e44 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/hwcontext_vdpau.h @@ -0,0 +1,44 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_HWCONTEXT_VDPAU_H +#define AVUTIL_HWCONTEXT_VDPAU_H + +#include + +/** + * @file + * An API-specific header for AV_HWDEVICE_TYPE_VDPAU. + * + * This API supports dynamic frame pools. AVHWFramesContext.pool must return + * AVBufferRefs whose data pointer is a VdpVideoSurface. + */ + +/** + * This struct is allocated as AVHWDeviceContext.hwctx + */ +typedef struct AVVDPAUDeviceContext { + VdpDevice device; + VdpGetProcAddress *get_proc_address; +} AVVDPAUDeviceContext; + +/** + * AVHWFramesContext.hwctx is currently not used + */ + +#endif /* AVUTIL_HWCONTEXT_VDPAU_H */ diff --git a/src/3rdparty/win32_include/libavutil/hwcontext_videotoolbox.h b/src/3rdparty/win32_include/libavutil/hwcontext_videotoolbox.h new file mode 100644 index 000000000..380918d92 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/hwcontext_videotoolbox.h @@ -0,0 +1,54 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_HWCONTEXT_VIDEOTOOLBOX_H +#define AVUTIL_HWCONTEXT_VIDEOTOOLBOX_H + +#include + +#include + +#include "pixfmt.h" + +/** + * @file + * An API-specific header for AV_HWDEVICE_TYPE_VIDEOTOOLBOX. + * + * This API currently does not support frame allocation, as the raw VideoToolbox + * API does allocation, and FFmpeg itself never has the need to allocate frames. + * + * If the API user sets a custom pool, AVHWFramesContext.pool must return + * AVBufferRefs whose data pointer is a CVImageBufferRef or CVPixelBufferRef. + * + * Currently AVHWDeviceContext.hwctx and AVHWFramesContext.hwctx are always + * NULL. + */ + +/** + * Convert a VideoToolbox (actually CoreVideo) format to AVPixelFormat. + * Returns AV_PIX_FMT_NONE if no known equivalent was found. + */ +enum AVPixelFormat av_map_videotoolbox_format_to_pixfmt(uint32_t cv_fmt); + +/** + * Convert an AVPixelFormat to a VideoToolbox (actually CoreVideo) format. + * Returns 0 if no known equivalent was found. + */ +uint32_t av_map_videotoolbox_format_from_pixfmt(enum AVPixelFormat pix_fmt); + +#endif /* AVUTIL_HWCONTEXT_VIDEOTOOLBOX_H */ diff --git a/src/3rdparty/win32_include/libavutil/imgutils.h b/src/3rdparty/win32_include/libavutil/imgutils.h new file mode 100644 index 000000000..5b790ecf0 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/imgutils.h @@ -0,0 +1,277 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_IMGUTILS_H +#define AVUTIL_IMGUTILS_H + +/** + * @file + * misc image utilities + * + * @addtogroup lavu_picture + * @{ + */ + +#include "avutil.h" +#include "pixdesc.h" +#include "rational.h" + +/** + * Compute the max pixel step for each plane of an image with a + * format described by pixdesc. + * + * The pixel step is the distance in bytes between the first byte of + * the group of bytes which describe a pixel component and the first + * byte of the successive group in the same plane for the same + * component. + * + * @param max_pixsteps an array which is filled with the max pixel step + * for each plane. Since a plane may contain different pixel + * components, the computed max_pixsteps[plane] is relative to the + * component in the plane with the max pixel step. + * @param max_pixstep_comps an array which is filled with the component + * for each plane which has the max pixel step. May be NULL. + */ +void av_image_fill_max_pixsteps(int max_pixsteps[4], int max_pixstep_comps[4], + const AVPixFmtDescriptor *pixdesc); + +/** + * Compute the size of an image line with format pix_fmt and width + * width for the plane plane. + * + * @return the computed size in bytes + */ +int av_image_get_linesize(enum AVPixelFormat pix_fmt, int width, int plane); + +/** + * Fill plane linesizes for an image with pixel format pix_fmt and + * width width. + * + * @param linesizes array to be filled with the linesize for each plane + * @return >= 0 in case of success, a negative error code otherwise + */ +int av_image_fill_linesizes(int linesizes[4], enum AVPixelFormat pix_fmt, int width); + +/** + * Fill plane data pointers for an image with pixel format pix_fmt and + * height height. + * + * @param data pointers array to be filled with the pointer for each image plane + * @param ptr the pointer to a buffer which will contain the image + * @param linesizes the array containing the linesize for each + * plane, should be filled by av_image_fill_linesizes() + * @return the size in bytes required for the image buffer, a negative + * error code in case of failure + */ +int av_image_fill_pointers(uint8_t *data[4], enum AVPixelFormat pix_fmt, int height, + uint8_t *ptr, const int linesizes[4]); + +/** + * Allocate an image with size w and h and pixel format pix_fmt, and + * fill pointers and linesizes accordingly. + * The allocated image buffer has to be freed by using + * av_freep(&pointers[0]). + * + * @param align the value to use for buffer size alignment + * @return the size in bytes required for the image buffer, a negative + * error code in case of failure + */ +int av_image_alloc(uint8_t *pointers[4], int linesizes[4], + int w, int h, enum AVPixelFormat pix_fmt, int align); + +/** + * Copy image plane from src to dst. + * That is, copy "height" number of lines of "bytewidth" bytes each. + * The first byte of each successive line is separated by *_linesize + * bytes. + * + * bytewidth must be contained by both absolute values of dst_linesize + * and src_linesize, otherwise the function behavior is undefined. + * + * @param dst_linesize linesize for the image plane in dst + * @param src_linesize linesize for the image plane in src + */ +void av_image_copy_plane(uint8_t *dst, int dst_linesize, + const uint8_t *src, int src_linesize, + int bytewidth, int height); + +/** + * Copy image in src_data to dst_data. + * + * @param dst_linesizes linesizes for the image in dst_data + * @param src_linesizes linesizes for the image in src_data + */ +void av_image_copy(uint8_t *dst_data[4], int dst_linesizes[4], + const uint8_t *src_data[4], const int src_linesizes[4], + enum AVPixelFormat pix_fmt, int width, int height); + +/** + * Copy image data located in uncacheable (e.g. GPU mapped) memory. Where + * available, this function will use special functionality for reading from such + * memory, which may result in greatly improved performance compared to plain + * av_image_copy(). + * + * The data pointers and the linesizes must be aligned to the maximum required + * by the CPU architecture. + * + * @note The linesize parameters have the type ptrdiff_t here, while they are + * int for av_image_copy(). + * @note On x86, the linesizes currently need to be aligned to the cacheline + * size (i.e. 64) to get improved performance. + */ +void av_image_copy_uc_from(uint8_t *dst_data[4], const ptrdiff_t dst_linesizes[4], + const uint8_t *src_data[4], const ptrdiff_t src_linesizes[4], + enum AVPixelFormat pix_fmt, int width, int height); + +/** + * Setup the data pointers and linesizes based on the specified image + * parameters and the provided array. + * + * The fields of the given image are filled in by using the src + * address which points to the image data buffer. Depending on the + * specified pixel format, one or multiple image data pointers and + * line sizes will be set. If a planar format is specified, several + * pointers will be set pointing to the different picture planes and + * the line sizes of the different planes will be stored in the + * lines_sizes array. Call with src == NULL to get the required + * size for the src buffer. + * + * To allocate the buffer and fill in the dst_data and dst_linesize in + * one call, use av_image_alloc(). + * + * @param dst_data data pointers to be filled in + * @param dst_linesize linesizes for the image in dst_data to be filled in + * @param src buffer which will contain or contains the actual image data, can be NULL + * @param pix_fmt the pixel format of the image + * @param width the width of the image in pixels + * @param height the height of the image in pixels + * @param align the value used in src for linesize alignment + * @return the size in bytes required for src, a negative error code + * in case of failure + */ +int av_image_fill_arrays(uint8_t *dst_data[4], int dst_linesize[4], + const uint8_t *src, + enum AVPixelFormat pix_fmt, int width, int height, int align); + +/** + * Return the size in bytes of the amount of data required to store an + * image with the given parameters. + * + * @param pix_fmt the pixel format of the image + * @param width the width of the image in pixels + * @param height the height of the image in pixels + * @param align the assumed linesize alignment + * @return the buffer size in bytes, a negative error code in case of failure + */ +int av_image_get_buffer_size(enum AVPixelFormat pix_fmt, int width, int height, int align); + +/** + * Copy image data from an image into a buffer. + * + * av_image_get_buffer_size() can be used to compute the required size + * for the buffer to fill. + * + * @param dst a buffer into which picture data will be copied + * @param dst_size the size in bytes of dst + * @param src_data pointers containing the source image data + * @param src_linesize linesizes for the image in src_data + * @param pix_fmt the pixel format of the source image + * @param width the width of the source image in pixels + * @param height the height of the source image in pixels + * @param align the assumed linesize alignment for dst + * @return the number of bytes written to dst, or a negative value + * (error code) on error + */ +int av_image_copy_to_buffer(uint8_t *dst, int dst_size, + const uint8_t * const src_data[4], const int src_linesize[4], + enum AVPixelFormat pix_fmt, int width, int height, int align); + +/** + * Check if the given dimension of an image is valid, meaning that all + * bytes of the image can be addressed with a signed int. + * + * @param w the width of the picture + * @param h the height of the picture + * @param log_offset the offset to sum to the log level for logging with log_ctx + * @param log_ctx the parent logging context, it may be NULL + * @return >= 0 if valid, a negative error code otherwise + */ +int av_image_check_size(unsigned int w, unsigned int h, int log_offset, void *log_ctx); + +/** + * Check if the given dimension of an image is valid, meaning that all + * bytes of a plane of an image with the specified pix_fmt can be addressed + * with a signed int. + * + * @param w the width of the picture + * @param h the height of the picture + * @param max_pixels the maximum number of pixels the user wants to accept + * @param pix_fmt the pixel format, can be AV_PIX_FMT_NONE if unknown. + * @param log_offset the offset to sum to the log level for logging with log_ctx + * @param log_ctx the parent logging context, it may be NULL + * @return >= 0 if valid, a negative error code otherwise + */ +int av_image_check_size2(unsigned int w, unsigned int h, int64_t max_pixels, enum AVPixelFormat pix_fmt, int log_offset, void *log_ctx); + +/** + * Check if the given sample aspect ratio of an image is valid. + * + * It is considered invalid if the denominator is 0 or if applying the ratio + * to the image size would make the smaller dimension less than 1. If the + * sar numerator is 0, it is considered unknown and will return as valid. + * + * @param w width of the image + * @param h height of the image + * @param sar sample aspect ratio of the image + * @return 0 if valid, a negative AVERROR code otherwise + */ +int av_image_check_sar(unsigned int w, unsigned int h, AVRational sar); + +/** + * Overwrite the image data with black. This is suitable for filling a + * sub-rectangle of an image, meaning the padding between the right most pixel + * and the left most pixel on the next line will not be overwritten. For some + * formats, the image size might be rounded up due to inherent alignment. + * + * If the pixel format has alpha, the alpha is cleared to opaque. + * + * This can return an error if the pixel format is not supported. Normally, all + * non-hwaccel pixel formats should be supported. + * + * Passing NULL for dst_data is allowed. Then the function returns whether the + * operation would have succeeded. (It can return an error if the pix_fmt is + * not supported.) + * + * @param dst_data data pointers to destination image + * @param dst_linesize linesizes for the destination image + * @param pix_fmt the pixel format of the image + * @param range the color range of the image (important for colorspaces such as YUV) + * @param width the width of the image in pixels + * @param height the height of the image in pixels + * @return 0 if the image data was cleared, a negative AVERROR code otherwise + */ +int av_image_fill_black(uint8_t *dst_data[4], const ptrdiff_t dst_linesize[4], + enum AVPixelFormat pix_fmt, enum AVColorRange range, + int width, int height); + +/** + * @} + */ + + +#endif /* AVUTIL_IMGUTILS_H */ diff --git a/src/3rdparty/win32_include/libavutil/intfloat.h b/src/3rdparty/win32_include/libavutil/intfloat.h new file mode 100644 index 000000000..fe3d7ec4a --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/intfloat.h @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2011 Mans Rullgard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_INTFLOAT_H +#define AVUTIL_INTFLOAT_H + +#include +#include "attributes.h" + +union av_intfloat32 { + uint32_t i; + float f; +}; + +union av_intfloat64 { + uint64_t i; + double f; +}; + +/** + * Reinterpret a 32-bit integer as a float. + */ +static av_always_inline float av_int2float(uint32_t i) +{ + union av_intfloat32 v; + v.i = i; + return v.f; +} + +/** + * Reinterpret a float as a 32-bit integer. + */ +static av_always_inline uint32_t av_float2int(float f) +{ + union av_intfloat32 v; + v.f = f; + return v.i; +} + +/** + * Reinterpret a 64-bit integer as a double. + */ +static av_always_inline double av_int2double(uint64_t i) +{ + union av_intfloat64 v; + v.i = i; + return v.f; +} + +/** + * Reinterpret a double as a 64-bit integer. + */ +static av_always_inline uint64_t av_double2int(double f) +{ + union av_intfloat64 v; + v.f = f; + return v.i; +} + +#endif /* AVUTIL_INTFLOAT_H */ diff --git a/src/3rdparty/win32_include/libavutil/intreadwrite.h b/src/3rdparty/win32_include/libavutil/intreadwrite.h new file mode 100644 index 000000000..d54d4b91d --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/intreadwrite.h @@ -0,0 +1,634 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_INTREADWRITE_H +#define AVUTIL_INTREADWRITE_H + +#include +#include "libavutil/avconfig.h" +#include "attributes.h" +#include "bswap.h" + +typedef union { + uint64_t u64; + uint32_t u32[2]; + uint16_t u16[4]; + uint8_t u8 [8]; + double f64; + float f32[2]; +} av_alias av_alias64; + +typedef union { + uint32_t u32; + uint16_t u16[2]; + uint8_t u8 [4]; + float f32; +} av_alias av_alias32; + +typedef union { + uint16_t u16; + uint8_t u8 [2]; +} av_alias av_alias16; + +/* + * Arch-specific headers can provide any combination of + * AV_[RW][BLN](16|24|32|48|64) and AV_(COPY|SWAP|ZERO)(64|128) macros. + * Preprocessor symbols must be defined, even if these are implemented + * as inline functions. + * + * R/W means read/write, B/L/N means big/little/native endianness. + * The following macros require aligned access, compared to their + * unaligned variants: AV_(COPY|SWAP|ZERO)(64|128), AV_[RW]N[8-64]A. + * Incorrect usage may range from abysmal performance to crash + * depending on the platform. + * + * The unaligned variants are AV_[RW][BLN][8-64] and AV_COPY*U. + */ + +#ifdef HAVE_AV_CONFIG_H + +#include "config.h" + +#if ARCH_ARM +# include "arm/intreadwrite.h" +#elif ARCH_AVR32 +# include "avr32/intreadwrite.h" +#elif ARCH_MIPS +# include "mips/intreadwrite.h" +#elif ARCH_PPC +# include "ppc/intreadwrite.h" +#elif ARCH_TOMI +# include "tomi/intreadwrite.h" +#elif ARCH_X86 +# include "x86/intreadwrite.h" +#endif + +#endif /* HAVE_AV_CONFIG_H */ + +/* + * Map AV_RNXX <-> AV_R[BL]XX for all variants provided by per-arch headers. + */ + +#if AV_HAVE_BIGENDIAN + +# if defined(AV_RN16) && !defined(AV_RB16) +# define AV_RB16(p) AV_RN16(p) +# elif !defined(AV_RN16) && defined(AV_RB16) +# define AV_RN16(p) AV_RB16(p) +# endif + +# if defined(AV_WN16) && !defined(AV_WB16) +# define AV_WB16(p, v) AV_WN16(p, v) +# elif !defined(AV_WN16) && defined(AV_WB16) +# define AV_WN16(p, v) AV_WB16(p, v) +# endif + +# if defined(AV_RN24) && !defined(AV_RB24) +# define AV_RB24(p) AV_RN24(p) +# elif !defined(AV_RN24) && defined(AV_RB24) +# define AV_RN24(p) AV_RB24(p) +# endif + +# if defined(AV_WN24) && !defined(AV_WB24) +# define AV_WB24(p, v) AV_WN24(p, v) +# elif !defined(AV_WN24) && defined(AV_WB24) +# define AV_WN24(p, v) AV_WB24(p, v) +# endif + +# if defined(AV_RN32) && !defined(AV_RB32) +# define AV_RB32(p) AV_RN32(p) +# elif !defined(AV_RN32) && defined(AV_RB32) +# define AV_RN32(p) AV_RB32(p) +# endif + +# if defined(AV_WN32) && !defined(AV_WB32) +# define AV_WB32(p, v) AV_WN32(p, v) +# elif !defined(AV_WN32) && defined(AV_WB32) +# define AV_WN32(p, v) AV_WB32(p, v) +# endif + +# if defined(AV_RN48) && !defined(AV_RB48) +# define AV_RB48(p) AV_RN48(p) +# elif !defined(AV_RN48) && defined(AV_RB48) +# define AV_RN48(p) AV_RB48(p) +# endif + +# if defined(AV_WN48) && !defined(AV_WB48) +# define AV_WB48(p, v) AV_WN48(p, v) +# elif !defined(AV_WN48) && defined(AV_WB48) +# define AV_WN48(p, v) AV_WB48(p, v) +# endif + +# if defined(AV_RN64) && !defined(AV_RB64) +# define AV_RB64(p) AV_RN64(p) +# elif !defined(AV_RN64) && defined(AV_RB64) +# define AV_RN64(p) AV_RB64(p) +# endif + +# if defined(AV_WN64) && !defined(AV_WB64) +# define AV_WB64(p, v) AV_WN64(p, v) +# elif !defined(AV_WN64) && defined(AV_WB64) +# define AV_WN64(p, v) AV_WB64(p, v) +# endif + +#else /* AV_HAVE_BIGENDIAN */ + +# if defined(AV_RN16) && !defined(AV_RL16) +# define AV_RL16(p) AV_RN16(p) +# elif !defined(AV_RN16) && defined(AV_RL16) +# define AV_RN16(p) AV_RL16(p) +# endif + +# if defined(AV_WN16) && !defined(AV_WL16) +# define AV_WL16(p, v) AV_WN16(p, v) +# elif !defined(AV_WN16) && defined(AV_WL16) +# define AV_WN16(p, v) AV_WL16(p, v) +# endif + +# if defined(AV_RN24) && !defined(AV_RL24) +# define AV_RL24(p) AV_RN24(p) +# elif !defined(AV_RN24) && defined(AV_RL24) +# define AV_RN24(p) AV_RL24(p) +# endif + +# if defined(AV_WN24) && !defined(AV_WL24) +# define AV_WL24(p, v) AV_WN24(p, v) +# elif !defined(AV_WN24) && defined(AV_WL24) +# define AV_WN24(p, v) AV_WL24(p, v) +# endif + +# if defined(AV_RN32) && !defined(AV_RL32) +# define AV_RL32(p) AV_RN32(p) +# elif !defined(AV_RN32) && defined(AV_RL32) +# define AV_RN32(p) AV_RL32(p) +# endif + +# if defined(AV_WN32) && !defined(AV_WL32) +# define AV_WL32(p, v) AV_WN32(p, v) +# elif !defined(AV_WN32) && defined(AV_WL32) +# define AV_WN32(p, v) AV_WL32(p, v) +# endif + +# if defined(AV_RN48) && !defined(AV_RL48) +# define AV_RL48(p) AV_RN48(p) +# elif !defined(AV_RN48) && defined(AV_RL48) +# define AV_RN48(p) AV_RL48(p) +# endif + +# if defined(AV_WN48) && !defined(AV_WL48) +# define AV_WL48(p, v) AV_WN48(p, v) +# elif !defined(AV_WN48) && defined(AV_WL48) +# define AV_WN48(p, v) AV_WL48(p, v) +# endif + +# if defined(AV_RN64) && !defined(AV_RL64) +# define AV_RL64(p) AV_RN64(p) +# elif !defined(AV_RN64) && defined(AV_RL64) +# define AV_RN64(p) AV_RL64(p) +# endif + +# if defined(AV_WN64) && !defined(AV_WL64) +# define AV_WL64(p, v) AV_WN64(p, v) +# elif !defined(AV_WN64) && defined(AV_WL64) +# define AV_WN64(p, v) AV_WL64(p, v) +# endif + +#endif /* !AV_HAVE_BIGENDIAN */ + +/* + * Define AV_[RW]N helper macros to simplify definitions not provided + * by per-arch headers. + */ + +#if defined(__GNUC__) && !defined(__TI_COMPILER_VERSION__) + +union unaligned_64 { uint64_t l; } __attribute__((packed)) av_alias; +union unaligned_32 { uint32_t l; } __attribute__((packed)) av_alias; +union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias; + +# define AV_RN(s, p) (((const union unaligned_##s *) (p))->l) +# define AV_WN(s, p, v) ((((union unaligned_##s *) (p))->l) = (v)) + +#elif defined(__DECC) + +# define AV_RN(s, p) (*((const __unaligned uint##s##_t*)(p))) +# define AV_WN(s, p, v) (*((__unaligned uint##s##_t*)(p)) = (v)) + +#elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_X64)) && AV_HAVE_FAST_UNALIGNED + +# define AV_RN(s, p) (*((const __unaligned uint##s##_t*)(p))) +# define AV_WN(s, p, v) (*((__unaligned uint##s##_t*)(p)) = (v)) + +#elif AV_HAVE_FAST_UNALIGNED + +# define AV_RN(s, p) (((const av_alias##s*)(p))->u##s) +# define AV_WN(s, p, v) (((av_alias##s*)(p))->u##s = (v)) + +#else + +#ifndef AV_RB16 +# define AV_RB16(x) \ + ((((const uint8_t*)(x))[0] << 8) | \ + ((const uint8_t*)(x))[1]) +#endif +#ifndef AV_WB16 +# define AV_WB16(p, val) do { \ + uint16_t d = (val); \ + ((uint8_t*)(p))[1] = (d); \ + ((uint8_t*)(p))[0] = (d)>>8; \ + } while(0) +#endif + +#ifndef AV_RL16 +# define AV_RL16(x) \ + ((((const uint8_t*)(x))[1] << 8) | \ + ((const uint8_t*)(x))[0]) +#endif +#ifndef AV_WL16 +# define AV_WL16(p, val) do { \ + uint16_t d = (val); \ + ((uint8_t*)(p))[0] = (d); \ + ((uint8_t*)(p))[1] = (d)>>8; \ + } while(0) +#endif + +#ifndef AV_RB32 +# define AV_RB32(x) \ + (((uint32_t)((const uint8_t*)(x))[0] << 24) | \ + (((const uint8_t*)(x))[1] << 16) | \ + (((const uint8_t*)(x))[2] << 8) | \ + ((const uint8_t*)(x))[3]) +#endif +#ifndef AV_WB32 +# define AV_WB32(p, val) do { \ + uint32_t d = (val); \ + ((uint8_t*)(p))[3] = (d); \ + ((uint8_t*)(p))[2] = (d)>>8; \ + ((uint8_t*)(p))[1] = (d)>>16; \ + ((uint8_t*)(p))[0] = (d)>>24; \ + } while(0) +#endif + +#ifndef AV_RL32 +# define AV_RL32(x) \ + (((uint32_t)((const uint8_t*)(x))[3] << 24) | \ + (((const uint8_t*)(x))[2] << 16) | \ + (((const uint8_t*)(x))[1] << 8) | \ + ((const uint8_t*)(x))[0]) +#endif +#ifndef AV_WL32 +# define AV_WL32(p, val) do { \ + uint32_t d = (val); \ + ((uint8_t*)(p))[0] = (d); \ + ((uint8_t*)(p))[1] = (d)>>8; \ + ((uint8_t*)(p))[2] = (d)>>16; \ + ((uint8_t*)(p))[3] = (d)>>24; \ + } while(0) +#endif + +#ifndef AV_RB64 +# define AV_RB64(x) \ + (((uint64_t)((const uint8_t*)(x))[0] << 56) | \ + ((uint64_t)((const uint8_t*)(x))[1] << 48) | \ + ((uint64_t)((const uint8_t*)(x))[2] << 40) | \ + ((uint64_t)((const uint8_t*)(x))[3] << 32) | \ + ((uint64_t)((const uint8_t*)(x))[4] << 24) | \ + ((uint64_t)((const uint8_t*)(x))[5] << 16) | \ + ((uint64_t)((const uint8_t*)(x))[6] << 8) | \ + (uint64_t)((const uint8_t*)(x))[7]) +#endif +#ifndef AV_WB64 +# define AV_WB64(p, val) do { \ + uint64_t d = (val); \ + ((uint8_t*)(p))[7] = (d); \ + ((uint8_t*)(p))[6] = (d)>>8; \ + ((uint8_t*)(p))[5] = (d)>>16; \ + ((uint8_t*)(p))[4] = (d)>>24; \ + ((uint8_t*)(p))[3] = (d)>>32; \ + ((uint8_t*)(p))[2] = (d)>>40; \ + ((uint8_t*)(p))[1] = (d)>>48; \ + ((uint8_t*)(p))[0] = (d)>>56; \ + } while(0) +#endif + +#ifndef AV_RL64 +# define AV_RL64(x) \ + (((uint64_t)((const uint8_t*)(x))[7] << 56) | \ + ((uint64_t)((const uint8_t*)(x))[6] << 48) | \ + ((uint64_t)((const uint8_t*)(x))[5] << 40) | \ + ((uint64_t)((const uint8_t*)(x))[4] << 32) | \ + ((uint64_t)((const uint8_t*)(x))[3] << 24) | \ + ((uint64_t)((const uint8_t*)(x))[2] << 16) | \ + ((uint64_t)((const uint8_t*)(x))[1] << 8) | \ + (uint64_t)((const uint8_t*)(x))[0]) +#endif +#ifndef AV_WL64 +# define AV_WL64(p, val) do { \ + uint64_t d = (val); \ + ((uint8_t*)(p))[0] = (d); \ + ((uint8_t*)(p))[1] = (d)>>8; \ + ((uint8_t*)(p))[2] = (d)>>16; \ + ((uint8_t*)(p))[3] = (d)>>24; \ + ((uint8_t*)(p))[4] = (d)>>32; \ + ((uint8_t*)(p))[5] = (d)>>40; \ + ((uint8_t*)(p))[6] = (d)>>48; \ + ((uint8_t*)(p))[7] = (d)>>56; \ + } while(0) +#endif + +#if AV_HAVE_BIGENDIAN +# define AV_RN(s, p) AV_RB##s(p) +# define AV_WN(s, p, v) AV_WB##s(p, v) +#else +# define AV_RN(s, p) AV_RL##s(p) +# define AV_WN(s, p, v) AV_WL##s(p, v) +#endif + +#endif /* HAVE_FAST_UNALIGNED */ + +#ifndef AV_RN16 +# define AV_RN16(p) AV_RN(16, p) +#endif + +#ifndef AV_RN32 +# define AV_RN32(p) AV_RN(32, p) +#endif + +#ifndef AV_RN64 +# define AV_RN64(p) AV_RN(64, p) +#endif + +#ifndef AV_WN16 +# define AV_WN16(p, v) AV_WN(16, p, v) +#endif + +#ifndef AV_WN32 +# define AV_WN32(p, v) AV_WN(32, p, v) +#endif + +#ifndef AV_WN64 +# define AV_WN64(p, v) AV_WN(64, p, v) +#endif + +#if AV_HAVE_BIGENDIAN +# define AV_RB(s, p) AV_RN##s(p) +# define AV_WB(s, p, v) AV_WN##s(p, v) +# define AV_RL(s, p) av_bswap##s(AV_RN##s(p)) +# define AV_WL(s, p, v) AV_WN##s(p, av_bswap##s(v)) +#else +# define AV_RB(s, p) av_bswap##s(AV_RN##s(p)) +# define AV_WB(s, p, v) AV_WN##s(p, av_bswap##s(v)) +# define AV_RL(s, p) AV_RN##s(p) +# define AV_WL(s, p, v) AV_WN##s(p, v) +#endif + +#define AV_RB8(x) (((const uint8_t*)(x))[0]) +#define AV_WB8(p, d) do { ((uint8_t*)(p))[0] = (d); } while(0) + +#define AV_RL8(x) AV_RB8(x) +#define AV_WL8(p, d) AV_WB8(p, d) + +#ifndef AV_RB16 +# define AV_RB16(p) AV_RB(16, p) +#endif +#ifndef AV_WB16 +# define AV_WB16(p, v) AV_WB(16, p, v) +#endif + +#ifndef AV_RL16 +# define AV_RL16(p) AV_RL(16, p) +#endif +#ifndef AV_WL16 +# define AV_WL16(p, v) AV_WL(16, p, v) +#endif + +#ifndef AV_RB32 +# define AV_RB32(p) AV_RB(32, p) +#endif +#ifndef AV_WB32 +# define AV_WB32(p, v) AV_WB(32, p, v) +#endif + +#ifndef AV_RL32 +# define AV_RL32(p) AV_RL(32, p) +#endif +#ifndef AV_WL32 +# define AV_WL32(p, v) AV_WL(32, p, v) +#endif + +#ifndef AV_RB64 +# define AV_RB64(p) AV_RB(64, p) +#endif +#ifndef AV_WB64 +# define AV_WB64(p, v) AV_WB(64, p, v) +#endif + +#ifndef AV_RL64 +# define AV_RL64(p) AV_RL(64, p) +#endif +#ifndef AV_WL64 +# define AV_WL64(p, v) AV_WL(64, p, v) +#endif + +#ifndef AV_RB24 +# define AV_RB24(x) \ + ((((const uint8_t*)(x))[0] << 16) | \ + (((const uint8_t*)(x))[1] << 8) | \ + ((const uint8_t*)(x))[2]) +#endif +#ifndef AV_WB24 +# define AV_WB24(p, d) do { \ + ((uint8_t*)(p))[2] = (d); \ + ((uint8_t*)(p))[1] = (d)>>8; \ + ((uint8_t*)(p))[0] = (d)>>16; \ + } while(0) +#endif + +#ifndef AV_RL24 +# define AV_RL24(x) \ + ((((const uint8_t*)(x))[2] << 16) | \ + (((const uint8_t*)(x))[1] << 8) | \ + ((const uint8_t*)(x))[0]) +#endif +#ifndef AV_WL24 +# define AV_WL24(p, d) do { \ + ((uint8_t*)(p))[0] = (d); \ + ((uint8_t*)(p))[1] = (d)>>8; \ + ((uint8_t*)(p))[2] = (d)>>16; \ + } while(0) +#endif + +#ifndef AV_RB48 +# define AV_RB48(x) \ + (((uint64_t)((const uint8_t*)(x))[0] << 40) | \ + ((uint64_t)((const uint8_t*)(x))[1] << 32) | \ + ((uint64_t)((const uint8_t*)(x))[2] << 24) | \ + ((uint64_t)((const uint8_t*)(x))[3] << 16) | \ + ((uint64_t)((const uint8_t*)(x))[4] << 8) | \ + (uint64_t)((const uint8_t*)(x))[5]) +#endif +#ifndef AV_WB48 +# define AV_WB48(p, darg) do { \ + uint64_t d = (darg); \ + ((uint8_t*)(p))[5] = (d); \ + ((uint8_t*)(p))[4] = (d)>>8; \ + ((uint8_t*)(p))[3] = (d)>>16; \ + ((uint8_t*)(p))[2] = (d)>>24; \ + ((uint8_t*)(p))[1] = (d)>>32; \ + ((uint8_t*)(p))[0] = (d)>>40; \ + } while(0) +#endif + +#ifndef AV_RL48 +# define AV_RL48(x) \ + (((uint64_t)((const uint8_t*)(x))[5] << 40) | \ + ((uint64_t)((const uint8_t*)(x))[4] << 32) | \ + ((uint64_t)((const uint8_t*)(x))[3] << 24) | \ + ((uint64_t)((const uint8_t*)(x))[2] << 16) | \ + ((uint64_t)((const uint8_t*)(x))[1] << 8) | \ + (uint64_t)((const uint8_t*)(x))[0]) +#endif +#ifndef AV_WL48 +# define AV_WL48(p, darg) do { \ + uint64_t d = (darg); \ + ((uint8_t*)(p))[0] = (d); \ + ((uint8_t*)(p))[1] = (d)>>8; \ + ((uint8_t*)(p))[2] = (d)>>16; \ + ((uint8_t*)(p))[3] = (d)>>24; \ + ((uint8_t*)(p))[4] = (d)>>32; \ + ((uint8_t*)(p))[5] = (d)>>40; \ + } while(0) +#endif + +/* + * The AV_[RW]NA macros access naturally aligned data + * in a type-safe way. + */ + +#define AV_RNA(s, p) (((const av_alias##s*)(p))->u##s) +#define AV_WNA(s, p, v) (((av_alias##s*)(p))->u##s = (v)) + +#ifndef AV_RN16A +# define AV_RN16A(p) AV_RNA(16, p) +#endif + +#ifndef AV_RN32A +# define AV_RN32A(p) AV_RNA(32, p) +#endif + +#ifndef AV_RN64A +# define AV_RN64A(p) AV_RNA(64, p) +#endif + +#ifndef AV_WN16A +# define AV_WN16A(p, v) AV_WNA(16, p, v) +#endif + +#ifndef AV_WN32A +# define AV_WN32A(p, v) AV_WNA(32, p, v) +#endif + +#ifndef AV_WN64A +# define AV_WN64A(p, v) AV_WNA(64, p, v) +#endif + +/* + * The AV_COPYxxU macros are suitable for copying data to/from unaligned + * memory locations. + */ + +#define AV_COPYU(n, d, s) AV_WN##n(d, AV_RN##n(s)); + +#ifndef AV_COPY16U +# define AV_COPY16U(d, s) AV_COPYU(16, d, s) +#endif + +#ifndef AV_COPY32U +# define AV_COPY32U(d, s) AV_COPYU(32, d, s) +#endif + +#ifndef AV_COPY64U +# define AV_COPY64U(d, s) AV_COPYU(64, d, s) +#endif + +#ifndef AV_COPY128U +# define AV_COPY128U(d, s) \ + do { \ + AV_COPY64U(d, s); \ + AV_COPY64U((char *)(d) + 8, (const char *)(s) + 8); \ + } while(0) +#endif + +/* Parameters for AV_COPY*, AV_SWAP*, AV_ZERO* must be + * naturally aligned. They may be implemented using MMX, + * so emms_c() must be called before using any float code + * afterwards. + */ + +#define AV_COPY(n, d, s) \ + (((av_alias##n*)(d))->u##n = ((const av_alias##n*)(s))->u##n) + +#ifndef AV_COPY16 +# define AV_COPY16(d, s) AV_COPY(16, d, s) +#endif + +#ifndef AV_COPY32 +# define AV_COPY32(d, s) AV_COPY(32, d, s) +#endif + +#ifndef AV_COPY64 +# define AV_COPY64(d, s) AV_COPY(64, d, s) +#endif + +#ifndef AV_COPY128 +# define AV_COPY128(d, s) \ + do { \ + AV_COPY64(d, s); \ + AV_COPY64((char*)(d)+8, (char*)(s)+8); \ + } while(0) +#endif + +#define AV_SWAP(n, a, b) FFSWAP(av_alias##n, *(av_alias##n*)(a), *(av_alias##n*)(b)) + +#ifndef AV_SWAP64 +# define AV_SWAP64(a, b) AV_SWAP(64, a, b) +#endif + +#define AV_ZERO(n, d) (((av_alias##n*)(d))->u##n = 0) + +#ifndef AV_ZERO16 +# define AV_ZERO16(d) AV_ZERO(16, d) +#endif + +#ifndef AV_ZERO32 +# define AV_ZERO32(d) AV_ZERO(32, d) +#endif + +#ifndef AV_ZERO64 +# define AV_ZERO64(d) AV_ZERO(64, d) +#endif + +#ifndef AV_ZERO128 +# define AV_ZERO128(d) \ + do { \ + AV_ZERO64(d); \ + AV_ZERO64((char*)(d)+8); \ + } while(0) +#endif + +#endif /* AVUTIL_INTREADWRITE_H */ diff --git a/src/3rdparty/win32_include/libavutil/lfg.h b/src/3rdparty/win32_include/libavutil/lfg.h new file mode 100644 index 000000000..03f779ad8 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/lfg.h @@ -0,0 +1,71 @@ +/* + * Lagged Fibonacci PRNG + * Copyright (c) 2008 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_LFG_H +#define AVUTIL_LFG_H + +#include + +typedef struct AVLFG { + unsigned int state[64]; + int index; +} AVLFG; + +void av_lfg_init(AVLFG *c, unsigned int seed); + +/** + * Seed the state of the ALFG using binary data. + * + * Return value: 0 on success, negative value (AVERROR) on failure. + */ +int av_lfg_init_from_data(AVLFG *c, const uint8_t *data, unsigned int length); + +/** + * Get the next random unsigned 32-bit number using an ALFG. + * + * Please also consider a simple LCG like state= state*1664525+1013904223, + * it may be good enough and faster for your specific use case. + */ +static inline unsigned int av_lfg_get(AVLFG *c){ + c->state[c->index & 63] = c->state[(c->index-24) & 63] + c->state[(c->index-55) & 63]; + return c->state[c->index++ & 63]; +} + +/** + * Get the next random unsigned 32-bit number using a MLFG. + * + * Please also consider av_lfg_get() above, it is faster. + */ +static inline unsigned int av_mlfg_get(AVLFG *c){ + unsigned int a= c->state[(c->index-55) & 63]; + unsigned int b= c->state[(c->index-24) & 63]; + return c->state[c->index++ & 63] = 2*a*b+a+b; +} + +/** + * Get the next two numbers generated by a Box-Muller Gaussian + * generator using the random numbers issued by lfg. + * + * @param out array where the two generated numbers are placed + */ +void av_bmg_get(AVLFG *lfg, double out[2]); + +#endif /* AVUTIL_LFG_H */ diff --git a/src/3rdparty/win32_include/libavutil/log.h b/src/3rdparty/win32_include/libavutil/log.h new file mode 100644 index 000000000..f0a57385d --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/log.h @@ -0,0 +1,376 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_LOG_H +#define AVUTIL_LOG_H + +#include +#include "avutil.h" +#include "attributes.h" +#include "version.h" + +typedef enum { + AV_CLASS_CATEGORY_NA = 0, + AV_CLASS_CATEGORY_INPUT, + AV_CLASS_CATEGORY_OUTPUT, + AV_CLASS_CATEGORY_MUXER, + AV_CLASS_CATEGORY_DEMUXER, + AV_CLASS_CATEGORY_ENCODER, + AV_CLASS_CATEGORY_DECODER, + AV_CLASS_CATEGORY_FILTER, + AV_CLASS_CATEGORY_BITSTREAM_FILTER, + AV_CLASS_CATEGORY_SWSCALER, + AV_CLASS_CATEGORY_SWRESAMPLER, + AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT = 40, + AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT, + AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT, + AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT, + AV_CLASS_CATEGORY_DEVICE_OUTPUT, + AV_CLASS_CATEGORY_DEVICE_INPUT, + AV_CLASS_CATEGORY_NB ///< not part of ABI/API +}AVClassCategory; + +#define AV_IS_INPUT_DEVICE(category) \ + (((category) == AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT) || \ + ((category) == AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT) || \ + ((category) == AV_CLASS_CATEGORY_DEVICE_INPUT)) + +#define AV_IS_OUTPUT_DEVICE(category) \ + (((category) == AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT) || \ + ((category) == AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT) || \ + ((category) == AV_CLASS_CATEGORY_DEVICE_OUTPUT)) + +struct AVOptionRanges; + +/** + * Describe the class of an AVClass context structure. That is an + * arbitrary struct of which the first field is a pointer to an + * AVClass struct (e.g. AVCodecContext, AVFormatContext etc.). + */ +typedef struct AVClass { + /** + * The name of the class; usually it is the same name as the + * context structure type to which the AVClass is associated. + */ + const char* class_name; + + /** + * A pointer to a function which returns the name of a context + * instance ctx associated with the class. + */ + const char* (*item_name)(void* ctx); + + /** + * a pointer to the first option specified in the class if any or NULL + * + * @see av_set_default_options() + */ + const struct AVOption *option; + + /** + * LIBAVUTIL_VERSION with which this structure was created. + * This is used to allow fields to be added without requiring major + * version bumps everywhere. + */ + + int version; + + /** + * Offset in the structure where log_level_offset is stored. + * 0 means there is no such variable + */ + int log_level_offset_offset; + + /** + * Offset in the structure where a pointer to the parent context for + * logging is stored. For example a decoder could pass its AVCodecContext + * to eval as such a parent context, which an av_log() implementation + * could then leverage to display the parent context. + * The offset can be NULL. + */ + int parent_log_context_offset; + + /** + * Return next AVOptions-enabled child or NULL + */ + void* (*child_next)(void *obj, void *prev); + + /** + * Return an AVClass corresponding to the next potential + * AVOptions-enabled child. + * + * The difference between child_next and this is that + * child_next iterates over _already existing_ objects, while + * child_class_next iterates over _all possible_ children. + */ + const struct AVClass* (*child_class_next)(const struct AVClass *prev); + + /** + * Category used for visualization (like color) + * This is only set if the category is equal for all objects using this class. + * available since version (51 << 16 | 56 << 8 | 100) + */ + AVClassCategory category; + + /** + * Callback to return the category. + * available since version (51 << 16 | 59 << 8 | 100) + */ + AVClassCategory (*get_category)(void* ctx); + + /** + * Callback to return the supported/allowed ranges. + * available since version (52.12) + */ + int (*query_ranges)(struct AVOptionRanges **, void *obj, const char *key, int flags); +} AVClass; + +/** + * @addtogroup lavu_log + * + * @{ + * + * @defgroup lavu_log_constants Logging Constants + * + * @{ + */ + +/** + * Print no output. + */ +#define AV_LOG_QUIET -8 + +/** + * Something went really wrong and we will crash now. + */ +#define AV_LOG_PANIC 0 + +/** + * Something went wrong and recovery is not possible. + * For example, no header was found for a format which depends + * on headers or an illegal combination of parameters is used. + */ +#define AV_LOG_FATAL 8 + +/** + * Something went wrong and cannot losslessly be recovered. + * However, not all future data is affected. + */ +#define AV_LOG_ERROR 16 + +/** + * Something somehow does not look correct. This may or may not + * lead to problems. An example would be the use of '-vstrict -2'. + */ +#define AV_LOG_WARNING 24 + +/** + * Standard information. + */ +#define AV_LOG_INFO 32 + +/** + * Detailed information. + */ +#define AV_LOG_VERBOSE 40 + +/** + * Stuff which is only useful for libav* developers. + */ +#define AV_LOG_DEBUG 48 + +/** + * Extremely verbose debugging, useful for libav* development. + */ +#define AV_LOG_TRACE 56 + +#define AV_LOG_MAX_OFFSET (AV_LOG_TRACE - AV_LOG_QUIET) + +/** + * @} + */ + +/** + * Sets additional colors for extended debugging sessions. + * @code + av_log(ctx, AV_LOG_DEBUG|AV_LOG_C(134), "Message in purple\n"); + @endcode + * Requires 256color terminal support. Uses outside debugging is not + * recommended. + */ +#define AV_LOG_C(x) ((x) << 8) + +/** + * Send the specified message to the log if the level is less than or equal + * to the current av_log_level. By default, all logging messages are sent to + * stderr. This behavior can be altered by setting a different logging callback + * function. + * @see av_log_set_callback + * + * @param avcl A pointer to an arbitrary struct of which the first field is a + * pointer to an AVClass struct or NULL if general log. + * @param level The importance level of the message expressed using a @ref + * lavu_log_constants "Logging Constant". + * @param fmt The format string (printf-compatible) that specifies how + * subsequent arguments are converted to output. + */ +void av_log(void *avcl, int level, const char *fmt, ...) av_printf_format(3, 4); + + +/** + * Send the specified message to the log if the level is less than or equal + * to the current av_log_level. By default, all logging messages are sent to + * stderr. This behavior can be altered by setting a different logging callback + * function. + * @see av_log_set_callback + * + * @param avcl A pointer to an arbitrary struct of which the first field is a + * pointer to an AVClass struct. + * @param level The importance level of the message expressed using a @ref + * lavu_log_constants "Logging Constant". + * @param fmt The format string (printf-compatible) that specifies how + * subsequent arguments are converted to output. + * @param vl The arguments referenced by the format string. + */ +void av_vlog(void *avcl, int level, const char *fmt, va_list vl); + +/** + * Get the current log level + * + * @see lavu_log_constants + * + * @return Current log level + */ +int av_log_get_level(void); + +/** + * Set the log level + * + * @see lavu_log_constants + * + * @param level Logging level + */ +void av_log_set_level(int level); + +/** + * Set the logging callback + * + * @note The callback must be thread safe, even if the application does not use + * threads itself as some codecs are multithreaded. + * + * @see av_log_default_callback + * + * @param callback A logging function with a compatible signature. + */ +void av_log_set_callback(void (*callback)(void*, int, const char*, va_list)); + +/** + * Default logging callback + * + * It prints the message to stderr, optionally colorizing it. + * + * @param avcl A pointer to an arbitrary struct of which the first field is a + * pointer to an AVClass struct. + * @param level The importance level of the message expressed using a @ref + * lavu_log_constants "Logging Constant". + * @param fmt The format string (printf-compatible) that specifies how + * subsequent arguments are converted to output. + * @param vl The arguments referenced by the format string. + */ +void av_log_default_callback(void *avcl, int level, const char *fmt, + va_list vl); + +/** + * Return the context name + * + * @param ctx The AVClass context + * + * @return The AVClass class_name + */ +const char* av_default_item_name(void* ctx); +AVClassCategory av_default_get_category(void *ptr); + +/** + * Format a line of log the same way as the default callback. + * @param line buffer to receive the formatted line + * @param line_size size of the buffer + * @param print_prefix used to store whether the prefix must be printed; + * must point to a persistent integer initially set to 1 + */ +void av_log_format_line(void *ptr, int level, const char *fmt, va_list vl, + char *line, int line_size, int *print_prefix); + +/** + * Format a line of log the same way as the default callback. + * @param line buffer to receive the formatted line; + * may be NULL if line_size is 0 + * @param line_size size of the buffer; at most line_size-1 characters will + * be written to the buffer, plus one null terminator + * @param print_prefix used to store whether the prefix must be printed; + * must point to a persistent integer initially set to 1 + * @return Returns a negative value if an error occurred, otherwise returns + * the number of characters that would have been written for a + * sufficiently large buffer, not including the terminating null + * character. If the return value is not less than line_size, it means + * that the log message was truncated to fit the buffer. + */ +int av_log_format_line2(void *ptr, int level, const char *fmt, va_list vl, + char *line, int line_size, int *print_prefix); + +#if FF_API_DLOG +/** + * av_dlog macros + * @deprecated unused + * Useful to print debug messages that shouldn't get compiled in normally. + */ + +#ifdef DEBUG +# define av_dlog(pctx, ...) av_log(pctx, AV_LOG_DEBUG, __VA_ARGS__) +#else +# define av_dlog(pctx, ...) do { if (0) av_log(pctx, AV_LOG_DEBUG, __VA_ARGS__); } while (0) +#endif +#endif /* FF_API_DLOG */ + +/** + * Skip repeated messages, this requires the user app to use av_log() instead of + * (f)printf as the 2 would otherwise interfere and lead to + * "Last message repeated x times" messages below (f)printf messages with some + * bad luck. + * Also to receive the last, "last repeated" line if any, the user app must + * call av_log(NULL, AV_LOG_QUIET, "%s", ""); at the end + */ +#define AV_LOG_SKIP_REPEATED 1 + +/** + * Include the log severity in messages originating from codecs. + * + * Results in messages such as: + * [rawvideo @ 0xDEADBEEF] [error] encode did not produce valid pts + */ +#define AV_LOG_PRINT_LEVEL 2 + +void av_log_set_flags(int arg); +int av_log_get_flags(void); + +/** + * @} + */ + +#endif /* AVUTIL_LOG_H */ diff --git a/src/3rdparty/win32_include/libavutil/lzo.h b/src/3rdparty/win32_include/libavutil/lzo.h new file mode 100644 index 000000000..c03403992 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/lzo.h @@ -0,0 +1,66 @@ +/* + * LZO 1x decompression + * copyright (c) 2006 Reimar Doeffinger + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_LZO_H +#define AVUTIL_LZO_H + +/** + * @defgroup lavu_lzo LZO + * @ingroup lavu_crypto + * + * @{ + */ + +#include + +/** @name Error flags returned by av_lzo1x_decode + * @{ */ +/// end of the input buffer reached before decoding finished +#define AV_LZO_INPUT_DEPLETED 1 +/// decoded data did not fit into output buffer +#define AV_LZO_OUTPUT_FULL 2 +/// a reference to previously decoded data was wrong +#define AV_LZO_INVALID_BACKPTR 4 +/// a non-specific error in the compressed bitstream +#define AV_LZO_ERROR 8 +/** @} */ + +#define AV_LZO_INPUT_PADDING 8 +#define AV_LZO_OUTPUT_PADDING 12 + +/** + * @brief Decodes LZO 1x compressed data. + * @param out output buffer + * @param outlen size of output buffer, number of bytes left are returned here + * @param in input buffer + * @param inlen size of input buffer, number of bytes left are returned here + * @return 0 on success, otherwise a combination of the error flags above + * + * Make sure all buffers are appropriately padded, in must provide + * AV_LZO_INPUT_PADDING, out must provide AV_LZO_OUTPUT_PADDING additional bytes. + */ +int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen); + +/** + * @} + */ + +#endif /* AVUTIL_LZO_H */ diff --git a/src/3rdparty/win32_include/libavutil/macros.h b/src/3rdparty/win32_include/libavutil/macros.h new file mode 100644 index 000000000..2007ee561 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/macros.h @@ -0,0 +1,50 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu + * Utility Preprocessor macros + */ + +#ifndef AVUTIL_MACROS_H +#define AVUTIL_MACROS_H + +/** + * @addtogroup preproc_misc Preprocessor String Macros + * + * String manipulation macros + * + * @{ + */ + +#define AV_STRINGIFY(s) AV_TOSTRING(s) +#define AV_TOSTRING(s) #s + +#define AV_GLUE(a, b) a ## b +#define AV_JOIN(a, b) AV_GLUE(a, b) + +/** + * @} + */ + +#define AV_PRAGMA(s) _Pragma(#s) + +#define FFALIGN(x, a) (((x)+(a)-1)&~((a)-1)) + +#endif /* AVUTIL_MACROS_H */ diff --git a/src/3rdparty/win32_include/libavutil/mastering_display_metadata.h b/src/3rdparty/win32_include/libavutil/mastering_display_metadata.h new file mode 100644 index 000000000..847b0b62c --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/mastering_display_metadata.h @@ -0,0 +1,128 @@ +/** + * Copyright (c) 2016 Neil Birkbeck + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_MASTERING_DISPLAY_METADATA_H +#define AVUTIL_MASTERING_DISPLAY_METADATA_H + +#include "frame.h" +#include "rational.h" + + +/** + * Mastering display metadata capable of representing the color volume of + * the display used to master the content (SMPTE 2086:2014). + * + * To be used as payload of a AVFrameSideData or AVPacketSideData with the + * appropriate type. + * + * @note The struct should be allocated with av_mastering_display_metadata_alloc() + * and its size is not a part of the public ABI. + */ +typedef struct AVMasteringDisplayMetadata { + /** + * CIE 1931 xy chromaticity coords of color primaries (r, g, b order). + */ + AVRational display_primaries[3][2]; + + /** + * CIE 1931 xy chromaticity coords of white point. + */ + AVRational white_point[2]; + + /** + * Min luminance of mastering display (cd/m^2). + */ + AVRational min_luminance; + + /** + * Max luminance of mastering display (cd/m^2). + */ + AVRational max_luminance; + + /** + * Flag indicating whether the display primaries (and white point) are set. + */ + int has_primaries; + + /** + * Flag indicating whether the luminance (min_ and max_) have been set. + */ + int has_luminance; + +} AVMasteringDisplayMetadata; + +/** + * Allocate an AVMasteringDisplayMetadata structure and set its fields to + * default values. The resulting struct can be freed using av_freep(). + * + * @return An AVMasteringDisplayMetadata filled with default values or NULL + * on failure. + */ +AVMasteringDisplayMetadata *av_mastering_display_metadata_alloc(void); + +/** + * Allocate a complete AVMasteringDisplayMetadata and add it to the frame. + * + * @param frame The frame which side data is added to. + * + * @return The AVMasteringDisplayMetadata structure to be filled by caller. + */ +AVMasteringDisplayMetadata *av_mastering_display_metadata_create_side_data(AVFrame *frame); + +/** + * Content light level needed by to transmit HDR over HDMI (CTA-861.3). + * + * To be used as payload of a AVFrameSideData or AVPacketSideData with the + * appropriate type. + * + * @note The struct should be allocated with av_content_light_metadata_alloc() + * and its size is not a part of the public ABI. + */ +typedef struct AVContentLightMetadata { + /** + * Max content light level (cd/m^2). + */ + unsigned MaxCLL; + + /** + * Max average light level per frame (cd/m^2). + */ + unsigned MaxFALL; +} AVContentLightMetadata; + +/** + * Allocate an AVContentLightMetadata structure and set its fields to + * default values. The resulting struct can be freed using av_freep(). + * + * @return An AVContentLightMetadata filled with default values or NULL + * on failure. + */ +AVContentLightMetadata *av_content_light_metadata_alloc(size_t *size); + +/** + * Allocate a complete AVContentLightMetadata and add it to the frame. + * + * @param frame The frame which side data is added to. + * + * @return The AVContentLightMetadata structure to be filled by caller. + */ +AVContentLightMetadata *av_content_light_metadata_create_side_data(AVFrame *frame); + +#endif /* AVUTIL_MASTERING_DISPLAY_METADATA_H */ diff --git a/src/3rdparty/win32_include/libavutil/mathematics.h b/src/3rdparty/win32_include/libavutil/mathematics.h new file mode 100644 index 000000000..54901800b --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/mathematics.h @@ -0,0 +1,242 @@ +/* + * copyright (c) 2005-2012 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @addtogroup lavu_math + * Mathematical utilities for working with timestamp and time base. + */ + +#ifndef AVUTIL_MATHEMATICS_H +#define AVUTIL_MATHEMATICS_H + +#include +#include +#include "attributes.h" +#include "rational.h" +#include "intfloat.h" + +#ifndef M_E +#define M_E 2.7182818284590452354 /* e */ +#endif +#ifndef M_LN2 +#define M_LN2 0.69314718055994530942 /* log_e 2 */ +#endif +#ifndef M_LN10 +#define M_LN10 2.30258509299404568402 /* log_e 10 */ +#endif +#ifndef M_LOG2_10 +#define M_LOG2_10 3.32192809488736234787 /* log_2 10 */ +#endif +#ifndef M_PHI +#define M_PHI 1.61803398874989484820 /* phi / golden ratio */ +#endif +#ifndef M_PI +#define M_PI 3.14159265358979323846 /* pi */ +#endif +#ifndef M_PI_2 +#define M_PI_2 1.57079632679489661923 /* pi/2 */ +#endif +#ifndef M_SQRT1_2 +#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ +#endif +#ifndef M_SQRT2 +#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ +#endif +#ifndef NAN +#define NAN av_int2float(0x7fc00000) +#endif +#ifndef INFINITY +#define INFINITY av_int2float(0x7f800000) +#endif + +/** + * @addtogroup lavu_math + * + * @{ + */ + +/** + * Rounding methods. + */ +enum AVRounding { + AV_ROUND_ZERO = 0, ///< Round toward zero. + AV_ROUND_INF = 1, ///< Round away from zero. + AV_ROUND_DOWN = 2, ///< Round toward -infinity. + AV_ROUND_UP = 3, ///< Round toward +infinity. + AV_ROUND_NEAR_INF = 5, ///< Round to nearest and halfway cases away from zero. + /** + * Flag telling rescaling functions to pass `INT64_MIN`/`MAX` through + * unchanged, avoiding special cases for #AV_NOPTS_VALUE. + * + * Unlike other values of the enumeration AVRounding, this value is a + * bitmask that must be used in conjunction with another value of the + * enumeration through a bitwise OR, in order to set behavior for normal + * cases. + * + * @code{.c} + * av_rescale_rnd(3, 1, 2, AV_ROUND_UP | AV_ROUND_PASS_MINMAX); + * // Rescaling 3: + * // Calculating 3 * 1 / 2 + * // 3 / 2 is rounded up to 2 + * // => 2 + * + * av_rescale_rnd(AV_NOPTS_VALUE, 1, 2, AV_ROUND_UP | AV_ROUND_PASS_MINMAX); + * // Rescaling AV_NOPTS_VALUE: + * // AV_NOPTS_VALUE == INT64_MIN + * // AV_NOPTS_VALUE is passed through + * // => AV_NOPTS_VALUE + * @endcode + */ + AV_ROUND_PASS_MINMAX = 8192, +}; + +/** + * Compute the greatest common divisor of two integer operands. + * + * @param a,b Operands + * @return GCD of a and b up to sign; if a >= 0 and b >= 0, return value is >= 0; + * if a == 0 and b == 0, returns 0. + */ +int64_t av_const av_gcd(int64_t a, int64_t b); + +/** + * Rescale a 64-bit integer with rounding to nearest. + * + * The operation is mathematically equivalent to `a * b / c`, but writing that + * directly can overflow. + * + * This function is equivalent to av_rescale_rnd() with #AV_ROUND_NEAR_INF. + * + * @see av_rescale_rnd(), av_rescale_q(), av_rescale_q_rnd() + */ +int64_t av_rescale(int64_t a, int64_t b, int64_t c) av_const; + +/** + * Rescale a 64-bit integer with specified rounding. + * + * The operation is mathematically equivalent to `a * b / c`, but writing that + * directly can overflow, and does not support different rounding methods. + * + * @see av_rescale(), av_rescale_q(), av_rescale_q_rnd() + */ +int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding rnd) av_const; + +/** + * Rescale a 64-bit integer by 2 rational numbers. + * + * The operation is mathematically equivalent to `a * bq / cq`. + * + * This function is equivalent to av_rescale_q_rnd() with #AV_ROUND_NEAR_INF. + * + * @see av_rescale(), av_rescale_rnd(), av_rescale_q_rnd() + */ +int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) av_const; + +/** + * Rescale a 64-bit integer by 2 rational numbers with specified rounding. + * + * The operation is mathematically equivalent to `a * bq / cq`. + * + * @see av_rescale(), av_rescale_rnd(), av_rescale_q() + */ +int64_t av_rescale_q_rnd(int64_t a, AVRational bq, AVRational cq, + enum AVRounding rnd) av_const; + +/** + * Compare two timestamps each in its own time base. + * + * @return One of the following values: + * - -1 if `ts_a` is before `ts_b` + * - 1 if `ts_a` is after `ts_b` + * - 0 if they represent the same position + * + * @warning + * The result of the function is undefined if one of the timestamps is outside + * the `int64_t` range when represented in the other's timebase. + */ +int av_compare_ts(int64_t ts_a, AVRational tb_a, int64_t ts_b, AVRational tb_b); + +/** + * Compare the remainders of two integer operands divided by a common divisor. + * + * In other words, compare the least significant `log2(mod)` bits of integers + * `a` and `b`. + * + * @code{.c} + * av_compare_mod(0x11, 0x02, 0x10) < 0 // since 0x11 % 0x10 (0x1) < 0x02 % 0x10 (0x2) + * av_compare_mod(0x11, 0x02, 0x20) > 0 // since 0x11 % 0x20 (0x11) > 0x02 % 0x20 (0x02) + * @endcode + * + * @param a,b Operands + * @param mod Divisor; must be a power of 2 + * @return + * - a negative value if `a % mod < b % mod` + * - a positive value if `a % mod > b % mod` + * - zero if `a % mod == b % mod` + */ +int64_t av_compare_mod(uint64_t a, uint64_t b, uint64_t mod); + +/** + * Rescale a timestamp while preserving known durations. + * + * This function is designed to be called per audio packet to scale the input + * timestamp to a different time base. Compared to a simple av_rescale_q() + * call, this function is robust against possible inconsistent frame durations. + * + * The `last` parameter is a state variable that must be preserved for all + * subsequent calls for the same stream. For the first call, `*last` should be + * initialized to #AV_NOPTS_VALUE. + * + * @param[in] in_tb Input time base + * @param[in] in_ts Input timestamp + * @param[in] fs_tb Duration time base; typically this is finer-grained + * (greater) than `in_tb` and `out_tb` + * @param[in] duration Duration till the next call to this function (i.e. + * duration of the current packet/frame) + * @param[in,out] last Pointer to a timestamp expressed in terms of + * `fs_tb`, acting as a state variable + * @param[in] out_tb Output timebase + * @return Timestamp expressed in terms of `out_tb` + * + * @note In the context of this function, "duration" is in term of samples, not + * seconds. + */ +int64_t av_rescale_delta(AVRational in_tb, int64_t in_ts, AVRational fs_tb, int duration, int64_t *last, AVRational out_tb); + +/** + * Add a value to a timestamp. + * + * This function guarantees that when the same value is repeatly added that + * no accumulation of rounding errors occurs. + * + * @param[in] ts Input timestamp + * @param[in] ts_tb Input timestamp time base + * @param[in] inc Value to be added + * @param[in] inc_tb Time base of `inc` + */ +int64_t av_add_stable(AVRational ts_tb, int64_t ts, AVRational inc_tb, int64_t inc); + + +/** + * @} + */ + +#endif /* AVUTIL_MATHEMATICS_H */ diff --git a/src/3rdparty/win32_include/libavutil/md5.h b/src/3rdparty/win32_include/libavutil/md5.h new file mode 100644 index 000000000..ca72ccbf8 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/md5.h @@ -0,0 +1,98 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu_md5 + * Public header for MD5 hash function implementation. + */ + +#ifndef AVUTIL_MD5_H +#define AVUTIL_MD5_H + +#include +#include + +#include "attributes.h" +#include "version.h" + +/** + * @defgroup lavu_md5 MD5 + * @ingroup lavu_hash + * MD5 hash function implementation. + * + * @{ + */ + +extern const int av_md5_size; + +struct AVMD5; + +/** + * Allocate an AVMD5 context. + */ +struct AVMD5 *av_md5_alloc(void); + +/** + * Initialize MD5 hashing. + * + * @param ctx pointer to the function context (of size av_md5_size) + */ +void av_md5_init(struct AVMD5 *ctx); + +/** + * Update hash value. + * + * @param ctx hash function context + * @param src input data to update hash with + * @param len input data length + */ +#if FF_API_CRYPTO_SIZE_T +void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, int len); +#else +void av_md5_update(struct AVMD5 *ctx, const uint8_t *src, size_t len); +#endif + +/** + * Finish hashing and output digest value. + * + * @param ctx hash function context + * @param dst buffer where output digest value is stored + */ +void av_md5_final(struct AVMD5 *ctx, uint8_t *dst); + +/** + * Hash an array of data. + * + * @param dst The output buffer to write the digest into + * @param src The data to hash + * @param len The length of the data, in bytes + */ +#if FF_API_CRYPTO_SIZE_T +void av_md5_sum(uint8_t *dst, const uint8_t *src, const int len); +#else +void av_md5_sum(uint8_t *dst, const uint8_t *src, size_t len); +#endif + +/** + * @} + */ + +#endif /* AVUTIL_MD5_H */ diff --git a/src/3rdparty/win32_include/libavutil/mem.h b/src/3rdparty/win32_include/libavutil/mem.h new file mode 100644 index 000000000..527cd0319 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/mem.h @@ -0,0 +1,699 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu_mem + * Memory handling functions + */ + +#ifndef AVUTIL_MEM_H +#define AVUTIL_MEM_H + +#include +#include + +#include "attributes.h" +#include "error.h" +#include "avutil.h" + +/** + * @addtogroup lavu_mem + * Utilities for manipulating memory. + * + * FFmpeg has several applications of memory that are not required of a typical + * program. For example, the computing-heavy components like video decoding and + * encoding can be sped up significantly through the use of aligned memory. + * + * However, for each of FFmpeg's applications of memory, there might not be a + * recognized or standardized API for that specific use. Memory alignment, for + * instance, varies wildly depending on operating systems, architectures, and + * compilers. Hence, this component of @ref libavutil is created to make + * dealing with memory consistently possible on all platforms. + * + * @{ + * + * @defgroup lavu_mem_macros Alignment Macros + * Helper macros for declaring aligned variables. + * @{ + */ + +/** + * @def DECLARE_ALIGNED(n,t,v) + * Declare a variable that is aligned in memory. + * + * @code{.c} + * DECLARE_ALIGNED(16, uint16_t, aligned_int) = 42; + * DECLARE_ALIGNED(32, uint8_t, aligned_array)[128]; + * + * // The default-alignment equivalent would be + * uint16_t aligned_int = 42; + * uint8_t aligned_array[128]; + * @endcode + * + * @param n Minimum alignment in bytes + * @param t Type of the variable (or array element) + * @param v Name of the variable + */ + +/** + * @def DECLARE_ASM_CONST(n,t,v) + * Declare a static constant aligned variable appropriate for use in inline + * assembly code. + * + * @code{.c} + * DECLARE_ASM_CONST(16, uint64_t, pw_08) = UINT64_C(0x0008000800080008); + * @endcode + * + * @param n Minimum alignment in bytes + * @param t Type of the variable (or array element) + * @param v Name of the variable + */ + +#if defined(__INTEL_COMPILER) && __INTEL_COMPILER < 1110 || defined(__SUNPRO_C) + #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v + #define DECLARE_ASM_CONST(n,t,v) const t __attribute__ ((aligned (n))) v +#elif defined(__TI_COMPILER_VERSION__) + #define DECLARE_ALIGNED(n,t,v) \ + AV_PRAGMA(DATA_ALIGN(v,n)) \ + t __attribute__((aligned(n))) v + #define DECLARE_ASM_CONST(n,t,v) \ + AV_PRAGMA(DATA_ALIGN(v,n)) \ + static const t __attribute__((aligned(n))) v +#elif defined(__DJGPP__) + #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (FFMIN(n, 16)))) v + #define DECLARE_ASM_CONST(n,t,v) static const t av_used __attribute__ ((aligned (FFMIN(n, 16)))) v +#elif defined(__GNUC__) || defined(__clang__) + #define DECLARE_ALIGNED(n,t,v) t __attribute__ ((aligned (n))) v + #define DECLARE_ASM_CONST(n,t,v) static const t av_used __attribute__ ((aligned (n))) v +#elif defined(_MSC_VER) + #define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v + #define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v +#else + #define DECLARE_ALIGNED(n,t,v) t v + #define DECLARE_ASM_CONST(n,t,v) static const t v +#endif + +/** + * @} + */ + +/** + * @defgroup lavu_mem_attrs Function Attributes + * Function attributes applicable to memory handling functions. + * + * These function attributes can help compilers emit more useful warnings, or + * generate better code. + * @{ + */ + +/** + * @def av_malloc_attrib + * Function attribute denoting a malloc-like function. + * + * @see
    Function attribute `malloc` in GCC's documentation + */ + +#if AV_GCC_VERSION_AT_LEAST(3,1) + #define av_malloc_attrib __attribute__((__malloc__)) +#else + #define av_malloc_attrib +#endif + +/** + * @def av_alloc_size(...) + * Function attribute used on a function that allocates memory, whose size is + * given by the specified parameter(s). + * + * @code{.c} + * void *av_malloc(size_t size) av_alloc_size(1); + * void *av_calloc(size_t nmemb, size_t size) av_alloc_size(1, 2); + * @endcode + * + * @param ... One or two parameter indexes, separated by a comma + * + * @see Function attribute `alloc_size` in GCC's documentation + */ + +#if AV_GCC_VERSION_AT_LEAST(4,3) + #define av_alloc_size(...) __attribute__((alloc_size(__VA_ARGS__))) +#else + #define av_alloc_size(...) +#endif + +/** + * @} + */ + +/** + * @defgroup lavu_mem_funcs Heap Management + * Functions responsible for allocating, freeing, and copying memory. + * + * All memory allocation functions have a built-in upper limit of `INT_MAX` + * bytes. This may be changed with av_max_alloc(), although exercise extreme + * caution when doing so. + * + * @{ + */ + +/** + * Allocate a memory block with alignment suitable for all memory accesses + * (including vectors if available on the CPU). + * + * @param size Size in bytes for the memory block to be allocated + * @return Pointer to the allocated block, or `NULL` if the block cannot + * be allocated + * @see av_mallocz() + */ +void *av_malloc(size_t size) av_malloc_attrib av_alloc_size(1); + +/** + * Allocate a memory block with alignment suitable for all memory accesses + * (including vectors if available on the CPU) and zero all the bytes of the + * block. + * + * @param size Size in bytes for the memory block to be allocated + * @return Pointer to the allocated block, or `NULL` if it cannot be allocated + * @see av_malloc() + */ +void *av_mallocz(size_t size) av_malloc_attrib av_alloc_size(1); + +/** + * Allocate a memory block for an array with av_malloc(). + * + * The allocated memory will have size `size * nmemb` bytes. + * + * @param nmemb Number of element + * @param size Size of a single element + * @return Pointer to the allocated block, or `NULL` if the block cannot + * be allocated + * @see av_malloc() + */ +av_alloc_size(1, 2) static inline void *av_malloc_array(size_t nmemb, size_t size) +{ + if (!size || nmemb >= INT_MAX / size) + return NULL; + return av_malloc(nmemb * size); +} + +/** + * Allocate a memory block for an array with av_mallocz(). + * + * The allocated memory will have size `size * nmemb` bytes. + * + * @param nmemb Number of elements + * @param size Size of the single element + * @return Pointer to the allocated block, or `NULL` if the block cannot + * be allocated + * + * @see av_mallocz() + * @see av_malloc_array() + */ +av_alloc_size(1, 2) static inline void *av_mallocz_array(size_t nmemb, size_t size) +{ + if (!size || nmemb >= INT_MAX / size) + return NULL; + return av_mallocz(nmemb * size); +} + +/** + * Non-inlined equivalent of av_mallocz_array(). + * + * Created for symmetry with the calloc() C function. + */ +void *av_calloc(size_t nmemb, size_t size) av_malloc_attrib; + +/** + * Allocate, reallocate, or free a block of memory. + * + * If `ptr` is `NULL` and `size` > 0, allocate a new block. If `size` is + * zero, free the memory block pointed to by `ptr`. Otherwise, expand or + * shrink that block of memory according to `size`. + * + * @param ptr Pointer to a memory block already allocated with + * av_realloc() or `NULL` + * @param size Size in bytes of the memory block to be allocated or + * reallocated + * + * @return Pointer to a newly-reallocated block or `NULL` if the block + * cannot be reallocated or the function is used to free the memory block + * + * @warning Unlike av_malloc(), the returned pointer is not guaranteed to be + * correctly aligned. + * @see av_fast_realloc() + * @see av_reallocp() + */ +void *av_realloc(void *ptr, size_t size) av_alloc_size(2); + +/** + * Allocate, reallocate, or free a block of memory through a pointer to a + * pointer. + * + * If `*ptr` is `NULL` and `size` > 0, allocate a new block. If `size` is + * zero, free the memory block pointed to by `*ptr`. Otherwise, expand or + * shrink that block of memory according to `size`. + * + * @param[in,out] ptr Pointer to a pointer to a memory block already allocated + * with av_realloc(), or a pointer to `NULL`. The pointer + * is updated on success, or freed on failure. + * @param[in] size Size in bytes for the memory block to be allocated or + * reallocated + * + * @return Zero on success, an AVERROR error code on failure + * + * @warning Unlike av_malloc(), the allocated memory is not guaranteed to be + * correctly aligned. + */ +av_warn_unused_result +int av_reallocp(void *ptr, size_t size); + +/** + * Allocate, reallocate, or free a block of memory. + * + * This function does the same thing as av_realloc(), except: + * - It takes two size arguments and allocates `nelem * elsize` bytes, + * after checking the result of the multiplication for integer overflow. + * - It frees the input block in case of failure, thus avoiding the memory + * leak with the classic + * @code{.c} + * buf = realloc(buf); + * if (!buf) + * return -1; + * @endcode + * pattern. + */ +void *av_realloc_f(void *ptr, size_t nelem, size_t elsize); + +/** + * Allocate, reallocate, or free an array. + * + * If `ptr` is `NULL` and `nmemb` > 0, allocate a new block. If + * `nmemb` is zero, free the memory block pointed to by `ptr`. + * + * @param ptr Pointer to a memory block already allocated with + * av_realloc() or `NULL` + * @param nmemb Number of elements in the array + * @param size Size of the single element of the array + * + * @return Pointer to a newly-reallocated block or NULL if the block + * cannot be reallocated or the function is used to free the memory block + * + * @warning Unlike av_malloc(), the allocated memory is not guaranteed to be + * correctly aligned. + * @see av_reallocp_array() + */ +av_alloc_size(2, 3) void *av_realloc_array(void *ptr, size_t nmemb, size_t size); + +/** + * Allocate, reallocate, or free an array through a pointer to a pointer. + * + * If `*ptr` is `NULL` and `nmemb` > 0, allocate a new block. If `nmemb` is + * zero, free the memory block pointed to by `*ptr`. + * + * @param[in,out] ptr Pointer to a pointer to a memory block already + * allocated with av_realloc(), or a pointer to `NULL`. + * The pointer is updated on success, or freed on failure. + * @param[in] nmemb Number of elements + * @param[in] size Size of the single element + * + * @return Zero on success, an AVERROR error code on failure + * + * @warning Unlike av_malloc(), the allocated memory is not guaranteed to be + * correctly aligned. + */ +av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size); + +/** + * Reallocate the given buffer if it is not large enough, otherwise do nothing. + * + * If the given buffer is `NULL`, then a new uninitialized buffer is allocated. + * + * If the given buffer is not large enough, and reallocation fails, `NULL` is + * returned and `*size` is set to 0, but the original buffer is not changed or + * freed. + * + * A typical use pattern follows: + * + * @code{.c} + * uint8_t *buf = ...; + * uint8_t *new_buf = av_fast_realloc(buf, ¤t_size, size_needed); + * if (!new_buf) { + * // Allocation failed; clean up original buffer + * av_freep(&buf); + * return AVERROR(ENOMEM); + * } + * @endcode + * + * @param[in,out] ptr Already allocated buffer, or `NULL` + * @param[in,out] size Pointer to current size of buffer `ptr`. `*size` is + * changed to `min_size` in case of success or 0 in + * case of failure + * @param[in] min_size New size of buffer `ptr` + * @return `ptr` if the buffer is large enough, a pointer to newly reallocated + * buffer if the buffer was not large enough, or `NULL` in case of + * error + * @see av_realloc() + * @see av_fast_malloc() + */ +void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size); + +/** + * Allocate a buffer, reusing the given one if large enough. + * + * Contrary to av_fast_realloc(), the current buffer contents might not be + * preserved and on error the old buffer is freed, thus no special handling to + * avoid memleaks is necessary. + * + * `*ptr` is allowed to be `NULL`, in which case allocation always happens if + * `size_needed` is greater than 0. + * + * @code{.c} + * uint8_t *buf = ...; + * av_fast_malloc(&buf, ¤t_size, size_needed); + * if (!buf) { + * // Allocation failed; buf already freed + * return AVERROR(ENOMEM); + * } + * @endcode + * + * @param[in,out] ptr Pointer to pointer to an already allocated buffer. + * `*ptr` will be overwritten with pointer to new + * buffer on success or `NULL` on failure + * @param[in,out] size Pointer to current size of buffer `*ptr`. `*size` is + * changed to `min_size` in case of success or 0 in + * case of failure + * @param[in] min_size New size of buffer `*ptr` + * @see av_realloc() + * @see av_fast_mallocz() + */ +void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size); + +/** + * Allocate and clear a buffer, reusing the given one if large enough. + * + * Like av_fast_malloc(), but all newly allocated space is initially cleared. + * Reused buffer is not cleared. + * + * `*ptr` is allowed to be `NULL`, in which case allocation always happens if + * `size_needed` is greater than 0. + * + * @param[in,out] ptr Pointer to pointer to an already allocated buffer. + * `*ptr` will be overwritten with pointer to new + * buffer on success or `NULL` on failure + * @param[in,out] size Pointer to current size of buffer `*ptr`. `*size` is + * changed to `min_size` in case of success or 0 in + * case of failure + * @param[in] min_size New size of buffer `*ptr` + * @see av_fast_malloc() + */ +void av_fast_mallocz(void *ptr, unsigned int *size, size_t min_size); + +/** + * Free a memory block which has been allocated with a function of av_malloc() + * or av_realloc() family. + * + * @param ptr Pointer to the memory block which should be freed. + * + * @note `ptr = NULL` is explicitly allowed. + * @note It is recommended that you use av_freep() instead, to prevent leaving + * behind dangling pointers. + * @see av_freep() + */ +void av_free(void *ptr); + +/** + * Free a memory block which has been allocated with a function of av_malloc() + * or av_realloc() family, and set the pointer pointing to it to `NULL`. + * + * @code{.c} + * uint8_t *buf = av_malloc(16); + * av_free(buf); + * // buf now contains a dangling pointer to freed memory, and accidental + * // dereference of buf will result in a use-after-free, which may be a + * // security risk. + * + * uint8_t *buf = av_malloc(16); + * av_freep(&buf); + * // buf is now NULL, and accidental dereference will only result in a + * // NULL-pointer dereference. + * @endcode + * + * @param ptr Pointer to the pointer to the memory block which should be freed + * @note `*ptr = NULL` is safe and leads to no action. + * @see av_free() + */ +void av_freep(void *ptr); + +/** + * Duplicate a string. + * + * @param s String to be duplicated + * @return Pointer to a newly-allocated string containing a + * copy of `s` or `NULL` if the string cannot be allocated + * @see av_strndup() + */ +char *av_strdup(const char *s) av_malloc_attrib; + +/** + * Duplicate a substring of a string. + * + * @param s String to be duplicated + * @param len Maximum length of the resulting string (not counting the + * terminating byte) + * @return Pointer to a newly-allocated string containing a + * substring of `s` or `NULL` if the string cannot be allocated + */ +char *av_strndup(const char *s, size_t len) av_malloc_attrib; + +/** + * Duplicate a buffer with av_malloc(). + * + * @param p Buffer to be duplicated + * @param size Size in bytes of the buffer copied + * @return Pointer to a newly allocated buffer containing a + * copy of `p` or `NULL` if the buffer cannot be allocated + */ +void *av_memdup(const void *p, size_t size); + +/** + * Overlapping memcpy() implementation. + * + * @param dst Destination buffer + * @param back Number of bytes back to start copying (i.e. the initial size of + * the overlapping window); must be > 0 + * @param cnt Number of bytes to copy; must be >= 0 + * + * @note `cnt > back` is valid, this will copy the bytes we just copied, + * thus creating a repeating pattern with a period length of `back`. + */ +void av_memcpy_backptr(uint8_t *dst, int back, int cnt); + +/** + * @} + */ + +/** + * @defgroup lavu_mem_dynarray Dynamic Array + * + * Utilities to make an array grow when needed. + * + * Sometimes, the programmer would want to have an array that can grow when + * needed. The libavutil dynamic array utilities fill that need. + * + * libavutil supports two systems of appending elements onto a dynamically + * allocated array, the first one storing the pointer to the value in the + * array, and the second storing the value directly. In both systems, the + * caller is responsible for maintaining a variable containing the length of + * the array, as well as freeing of the array after use. + * + * The first system stores pointers to values in a block of dynamically + * allocated memory. Since only pointers are stored, the function does not need + * to know the size of the type. Both av_dynarray_add() and + * av_dynarray_add_nofree() implement this system. + * + * @code + * type **array = NULL; //< an array of pointers to values + * int nb = 0; //< a variable to keep track of the length of the array + * + * type to_be_added = ...; + * type to_be_added2 = ...; + * + * av_dynarray_add(&array, &nb, &to_be_added); + * if (nb == 0) + * return AVERROR(ENOMEM); + * + * av_dynarray_add(&array, &nb, &to_be_added2); + * if (nb == 0) + * return AVERROR(ENOMEM); + * + * // Now: + * // nb == 2 + * // &to_be_added == array[0] + * // &to_be_added2 == array[1] + * + * av_freep(&array); + * @endcode + * + * The second system stores the value directly in a block of memory. As a + * result, the function has to know the size of the type. av_dynarray2_add() + * implements this mechanism. + * + * @code + * type *array = NULL; //< an array of values + * int nb = 0; //< a variable to keep track of the length of the array + * + * type to_be_added = ...; + * type to_be_added2 = ...; + * + * type *addr = av_dynarray2_add((void **)&array, &nb, sizeof(*array), NULL); + * if (!addr) + * return AVERROR(ENOMEM); + * memcpy(addr, &to_be_added, sizeof(to_be_added)); + * + * // Shortcut of the above. + * type *addr = av_dynarray2_add((void **)&array, &nb, sizeof(*array), + * (const void *)&to_be_added2); + * if (!addr) + * return AVERROR(ENOMEM); + * + * // Now: + * // nb == 2 + * // to_be_added == array[0] + * // to_be_added2 == array[1] + * + * av_freep(&array); + * @endcode + * + * @{ + */ + +/** + * Add the pointer to an element to a dynamic array. + * + * The array to grow is supposed to be an array of pointers to + * structures, and the element to add must be a pointer to an already + * allocated structure. + * + * The array is reallocated when its size reaches powers of 2. + * Therefore, the amortized cost of adding an element is constant. + * + * In case of success, the pointer to the array is updated in order to + * point to the new grown array, and the number pointed to by `nb_ptr` + * is incremented. + * In case of failure, the array is freed, `*tab_ptr` is set to `NULL` and + * `*nb_ptr` is set to 0. + * + * @param[in,out] tab_ptr Pointer to the array to grow + * @param[in,out] nb_ptr Pointer to the number of elements in the array + * @param[in] elem Element to add + * @see av_dynarray_add_nofree(), av_dynarray2_add() + */ +void av_dynarray_add(void *tab_ptr, int *nb_ptr, void *elem); + +/** + * Add an element to a dynamic array. + * + * Function has the same functionality as av_dynarray_add(), + * but it doesn't free memory on fails. It returns error code + * instead and leave current buffer untouched. + * + * @return >=0 on success, negative otherwise + * @see av_dynarray_add(), av_dynarray2_add() + */ +av_warn_unused_result +int av_dynarray_add_nofree(void *tab_ptr, int *nb_ptr, void *elem); + +/** + * Add an element of size `elem_size` to a dynamic array. + * + * The array is reallocated when its number of elements reaches powers of 2. + * Therefore, the amortized cost of adding an element is constant. + * + * In case of success, the pointer to the array is updated in order to + * point to the new grown array, and the number pointed to by `nb_ptr` + * is incremented. + * In case of failure, the array is freed, `*tab_ptr` is set to `NULL` and + * `*nb_ptr` is set to 0. + * + * @param[in,out] tab_ptr Pointer to the array to grow + * @param[in,out] nb_ptr Pointer to the number of elements in the array + * @param[in] elem_size Size in bytes of an element in the array + * @param[in] elem_data Pointer to the data of the element to add. If + * `NULL`, the space of the newly added element is + * allocated but left uninitialized. + * + * @return Pointer to the data of the element to copy in the newly allocated + * space + * @see av_dynarray_add(), av_dynarray_add_nofree() + */ +void *av_dynarray2_add(void **tab_ptr, int *nb_ptr, size_t elem_size, + const uint8_t *elem_data); + +/** + * @} + */ + +/** + * @defgroup lavu_mem_misc Miscellaneous Functions + * + * Other functions related to memory allocation. + * + * @{ + */ + +/** + * Multiply two `size_t` values checking for overflow. + * + * @param[in] a,b Operands of multiplication + * @param[out] r Pointer to the result of the operation + * @return 0 on success, AVERROR(EINVAL) on overflow + */ +static inline int av_size_mult(size_t a, size_t b, size_t *r) +{ + size_t t = a * b; + /* Hack inspired from glibc: don't try the division if nelem and elsize + * are both less than sqrt(SIZE_MAX). */ + if ((a | b) >= ((size_t)1 << (sizeof(size_t) * 4)) && a && t / a != b) + return AVERROR(EINVAL); + *r = t; + return 0; +} + +/** + * Set the maximum size that may be allocated in one block. + * + * The value specified with this function is effective for all libavutil's @ref + * lavu_mem_funcs "heap management functions." + * + * By default, the max value is defined as `INT_MAX`. + * + * @param max Value to be set as the new maximum size + * + * @warning Exercise extreme caution when using this function. Don't touch + * this if you do not understand the full consequence of doing so. + */ +void av_max_alloc(size_t max); + +/** + * @} + * @} + */ + +#endif /* AVUTIL_MEM_H */ diff --git a/src/3rdparty/win32_include/libavutil/motion_vector.h b/src/3rdparty/win32_include/libavutil/motion_vector.h new file mode 100644 index 000000000..ec2955638 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/motion_vector.h @@ -0,0 +1,57 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_MOTION_VECTOR_H +#define AVUTIL_MOTION_VECTOR_H + +#include + +typedef struct AVMotionVector { + /** + * Where the current macroblock comes from; negative value when it comes + * from the past, positive value when it comes from the future. + * XXX: set exact relative ref frame reference instead of a +/- 1 "direction". + */ + int32_t source; + /** + * Width and height of the block. + */ + uint8_t w, h; + /** + * Absolute source position. Can be outside the frame area. + */ + int16_t src_x, src_y; + /** + * Absolute destination position. Can be outside the frame area. + */ + int16_t dst_x, dst_y; + /** + * Extra flag information. + * Currently unused. + */ + uint64_t flags; + /** + * Motion vector + * src_x = dst_x + motion_x / motion_scale + * src_y = dst_y + motion_y / motion_scale + */ + int32_t motion_x, motion_y; + uint16_t motion_scale; +} AVMotionVector; + +#endif /* AVUTIL_MOTION_VECTOR_H */ diff --git a/src/3rdparty/win32_include/libavutil/murmur3.h b/src/3rdparty/win32_include/libavutil/murmur3.h new file mode 100644 index 000000000..6a1694c08 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/murmur3.h @@ -0,0 +1,114 @@ +/* + * Copyright (C) 2013 Reimar Döffinger + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu_murmur3 + * Public header for MurmurHash3 hash function implementation. + */ + +#ifndef AVUTIL_MURMUR3_H +#define AVUTIL_MURMUR3_H + +#include + +/** + * @defgroup lavu_murmur3 Murmur3 + * @ingroup lavu_hash + * MurmurHash3 hash function implementation. + * + * MurmurHash3 is a non-cryptographic hash function, of which three + * incompatible versions were created by its inventor Austin Appleby: + * + * - 32-bit output + * - 128-bit output for 32-bit platforms + * - 128-bit output for 64-bit platforms + * + * FFmpeg only implements the last variant: 128-bit output designed for 64-bit + * platforms. Even though the hash function was designed for 64-bit platforms, + * the function in reality works on 32-bit systems too, only with reduced + * performance. + * + * @anchor lavu_murmur3_seedinfo + * By design, MurmurHash3 requires a seed to operate. In response to this, + * libavutil provides two functions for hash initiation, one that requires a + * seed (av_murmur3_init_seeded()) and one that uses a fixed arbitrary integer + * as the seed, and therefore does not (av_murmur3_init()). + * + * To make hashes comparable, you should provide the same seed for all calls to + * this hash function -- if you are supplying one yourself, that is. + * + * @{ + */ + +/** + * Allocate an AVMurMur3 hash context. + * + * @return Uninitialized hash context or `NULL` in case of error + */ +struct AVMurMur3 *av_murmur3_alloc(void); + +/** + * Initialize or reinitialize an AVMurMur3 hash context with a seed. + * + * @param[out] c Hash context + * @param[in] seed Random seed + * + * @see av_murmur3_init() + * @see @ref lavu_murmur3_seedinfo "Detailed description" on a discussion of + * seeds for MurmurHash3. + */ +void av_murmur3_init_seeded(struct AVMurMur3 *c, uint64_t seed); + +/** + * Initialize or reinitialize an AVMurMur3 hash context. + * + * Equivalent to av_murmur3_init_seeded() with a built-in seed. + * + * @param[out] c Hash context + * + * @see av_murmur3_init_seeded() + * @see @ref lavu_murmur3_seedinfo "Detailed description" on a discussion of + * seeds for MurmurHash3. + */ +void av_murmur3_init(struct AVMurMur3 *c); + +/** + * Update hash context with new data. + * + * @param[out] c Hash context + * @param[in] src Input data to update hash with + * @param[in] len Number of bytes to read from `src` + */ +void av_murmur3_update(struct AVMurMur3 *c, const uint8_t *src, int len); + +/** + * Finish hashing and output digest value. + * + * @param[in,out] c Hash context + * @param[out] dst Buffer where output digest value is stored + */ +void av_murmur3_final(struct AVMurMur3 *c, uint8_t dst[16]); + +/** + * @} + */ + +#endif /* AVUTIL_MURMUR3_H */ diff --git a/src/3rdparty/win32_include/libavutil/opt.h b/src/3rdparty/win32_include/libavutil/opt.h new file mode 100644 index 000000000..0d893795d --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/opt.h @@ -0,0 +1,866 @@ +/* + * AVOptions + * copyright (c) 2005 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_OPT_H +#define AVUTIL_OPT_H + +/** + * @file + * AVOptions + */ + +#include "rational.h" +#include "avutil.h" +#include "dict.h" +#include "log.h" +#include "pixfmt.h" +#include "samplefmt.h" +#include "version.h" + +/** + * @defgroup avoptions AVOptions + * @ingroup lavu_data + * @{ + * AVOptions provide a generic system to declare options on arbitrary structs + * ("objects"). An option can have a help text, a type and a range of possible + * values. Options may then be enumerated, read and written to. + * + * @section avoptions_implement Implementing AVOptions + * This section describes how to add AVOptions capabilities to a struct. + * + * All AVOptions-related information is stored in an AVClass. Therefore + * the first member of the struct should be a pointer to an AVClass describing it. + * The option field of the AVClass must be set to a NULL-terminated static array + * of AVOptions. Each AVOption must have a non-empty name, a type, a default + * value and for number-type AVOptions also a range of allowed values. It must + * also declare an offset in bytes from the start of the struct, where the field + * associated with this AVOption is located. Other fields in the AVOption struct + * should also be set when applicable, but are not required. + * + * The following example illustrates an AVOptions-enabled struct: + * @code + * typedef struct test_struct { + * const AVClass *class; + * int int_opt; + * char *str_opt; + * uint8_t *bin_opt; + * int bin_len; + * } test_struct; + * + * static const AVOption test_options[] = { + * { "test_int", "This is a test option of int type.", offsetof(test_struct, int_opt), + * AV_OPT_TYPE_INT, { .i64 = -1 }, INT_MIN, INT_MAX }, + * { "test_str", "This is a test option of string type.", offsetof(test_struct, str_opt), + * AV_OPT_TYPE_STRING }, + * { "test_bin", "This is a test option of binary type.", offsetof(test_struct, bin_opt), + * AV_OPT_TYPE_BINARY }, + * { NULL }, + * }; + * + * static const AVClass test_class = { + * .class_name = "test class", + * .item_name = av_default_item_name, + * .option = test_options, + * .version = LIBAVUTIL_VERSION_INT, + * }; + * @endcode + * + * Next, when allocating your struct, you must ensure that the AVClass pointer + * is set to the correct value. Then, av_opt_set_defaults() can be called to + * initialize defaults. After that the struct is ready to be used with the + * AVOptions API. + * + * When cleaning up, you may use the av_opt_free() function to automatically + * free all the allocated string and binary options. + * + * Continuing with the above example: + * + * @code + * test_struct *alloc_test_struct(void) + * { + * test_struct *ret = av_mallocz(sizeof(*ret)); + * ret->class = &test_class; + * av_opt_set_defaults(ret); + * return ret; + * } + * void free_test_struct(test_struct **foo) + * { + * av_opt_free(*foo); + * av_freep(foo); + * } + * @endcode + * + * @subsection avoptions_implement_nesting Nesting + * It may happen that an AVOptions-enabled struct contains another + * AVOptions-enabled struct as a member (e.g. AVCodecContext in + * libavcodec exports generic options, while its priv_data field exports + * codec-specific options). In such a case, it is possible to set up the + * parent struct to export a child's options. To do that, simply + * implement AVClass.child_next() and AVClass.child_class_next() in the + * parent struct's AVClass. + * Assuming that the test_struct from above now also contains a + * child_struct field: + * + * @code + * typedef struct child_struct { + * AVClass *class; + * int flags_opt; + * } child_struct; + * static const AVOption child_opts[] = { + * { "test_flags", "This is a test option of flags type.", + * offsetof(child_struct, flags_opt), AV_OPT_TYPE_FLAGS, { .i64 = 0 }, INT_MIN, INT_MAX }, + * { NULL }, + * }; + * static const AVClass child_class = { + * .class_name = "child class", + * .item_name = av_default_item_name, + * .option = child_opts, + * .version = LIBAVUTIL_VERSION_INT, + * }; + * + * void *child_next(void *obj, void *prev) + * { + * test_struct *t = obj; + * if (!prev && t->child_struct) + * return t->child_struct; + * return NULL + * } + * const AVClass child_class_next(const AVClass *prev) + * { + * return prev ? NULL : &child_class; + * } + * @endcode + * Putting child_next() and child_class_next() as defined above into + * test_class will now make child_struct's options accessible through + * test_struct (again, proper setup as described above needs to be done on + * child_struct right after it is created). + * + * From the above example it might not be clear why both child_next() + * and child_class_next() are needed. The distinction is that child_next() + * iterates over actually existing objects, while child_class_next() + * iterates over all possible child classes. E.g. if an AVCodecContext + * was initialized to use a codec which has private options, then its + * child_next() will return AVCodecContext.priv_data and finish + * iterating. OTOH child_class_next() on AVCodecContext.av_class will + * iterate over all available codecs with private options. + * + * @subsection avoptions_implement_named_constants Named constants + * It is possible to create named constants for options. Simply set the unit + * field of the option the constants should apply to a string and + * create the constants themselves as options of type AV_OPT_TYPE_CONST + * with their unit field set to the same string. + * Their default_val field should contain the value of the named + * constant. + * For example, to add some named constants for the test_flags option + * above, put the following into the child_opts array: + * @code + * { "test_flags", "This is a test option of flags type.", + * offsetof(child_struct, flags_opt), AV_OPT_TYPE_FLAGS, { .i64 = 0 }, INT_MIN, INT_MAX, "test_unit" }, + * { "flag1", "This is a flag with value 16", 0, AV_OPT_TYPE_CONST, { .i64 = 16 }, 0, 0, "test_unit" }, + * @endcode + * + * @section avoptions_use Using AVOptions + * This section deals with accessing options in an AVOptions-enabled struct. + * Such structs in FFmpeg are e.g. AVCodecContext in libavcodec or + * AVFormatContext in libavformat. + * + * @subsection avoptions_use_examine Examining AVOptions + * The basic functions for examining options are av_opt_next(), which iterates + * over all options defined for one object, and av_opt_find(), which searches + * for an option with the given name. + * + * The situation is more complicated with nesting. An AVOptions-enabled struct + * may have AVOptions-enabled children. Passing the AV_OPT_SEARCH_CHILDREN flag + * to av_opt_find() will make the function search children recursively. + * + * For enumerating there are basically two cases. The first is when you want to + * get all options that may potentially exist on the struct and its children + * (e.g. when constructing documentation). In that case you should call + * av_opt_child_class_next() recursively on the parent struct's AVClass. The + * second case is when you have an already initialized struct with all its + * children and you want to get all options that can be actually written or read + * from it. In that case you should call av_opt_child_next() recursively (and + * av_opt_next() on each result). + * + * @subsection avoptions_use_get_set Reading and writing AVOptions + * When setting options, you often have a string read directly from the + * user. In such a case, simply passing it to av_opt_set() is enough. For + * non-string type options, av_opt_set() will parse the string according to the + * option type. + * + * Similarly av_opt_get() will read any option type and convert it to a string + * which will be returned. Do not forget that the string is allocated, so you + * have to free it with av_free(). + * + * In some cases it may be more convenient to put all options into an + * AVDictionary and call av_opt_set_dict() on it. A specific case of this + * are the format/codec open functions in lavf/lavc which take a dictionary + * filled with option as a parameter. This makes it possible to set some options + * that cannot be set otherwise, since e.g. the input file format is not known + * before the file is actually opened. + */ + +enum AVOptionType{ + AV_OPT_TYPE_FLAGS, + AV_OPT_TYPE_INT, + AV_OPT_TYPE_INT64, + AV_OPT_TYPE_DOUBLE, + AV_OPT_TYPE_FLOAT, + AV_OPT_TYPE_STRING, + AV_OPT_TYPE_RATIONAL, + AV_OPT_TYPE_BINARY, ///< offset must point to a pointer immediately followed by an int for the length + AV_OPT_TYPE_DICT, + AV_OPT_TYPE_UINT64, + AV_OPT_TYPE_CONST = 128, + AV_OPT_TYPE_IMAGE_SIZE = MKBETAG('S','I','Z','E'), ///< offset must point to two consecutive integers + AV_OPT_TYPE_PIXEL_FMT = MKBETAG('P','F','M','T'), + AV_OPT_TYPE_SAMPLE_FMT = MKBETAG('S','F','M','T'), + AV_OPT_TYPE_VIDEO_RATE = MKBETAG('V','R','A','T'), ///< offset must point to AVRational + AV_OPT_TYPE_DURATION = MKBETAG('D','U','R',' '), + AV_OPT_TYPE_COLOR = MKBETAG('C','O','L','R'), + AV_OPT_TYPE_CHANNEL_LAYOUT = MKBETAG('C','H','L','A'), + AV_OPT_TYPE_BOOL = MKBETAG('B','O','O','L'), +}; + +/** + * AVOption + */ +typedef struct AVOption { + const char *name; + + /** + * short English help text + * @todo What about other languages? + */ + const char *help; + + /** + * The offset relative to the context structure where the option + * value is stored. It should be 0 for named constants. + */ + int offset; + enum AVOptionType type; + + /** + * the default value for scalar options + */ + union { + int64_t i64; + double dbl; + const char *str; + /* TODO those are unused now */ + AVRational q; + } default_val; + double min; ///< minimum valid value for the option + double max; ///< maximum valid value for the option + + int flags; +#define AV_OPT_FLAG_ENCODING_PARAM 1 ///< a generic parameter which can be set by the user for muxing or encoding +#define AV_OPT_FLAG_DECODING_PARAM 2 ///< a generic parameter which can be set by the user for demuxing or decoding +#if FF_API_OPT_TYPE_METADATA +#define AV_OPT_FLAG_METADATA 4 ///< some data extracted or inserted into the file like title, comment, ... +#endif +#define AV_OPT_FLAG_AUDIO_PARAM 8 +#define AV_OPT_FLAG_VIDEO_PARAM 16 +#define AV_OPT_FLAG_SUBTITLE_PARAM 32 +/** + * The option is intended for exporting values to the caller. + */ +#define AV_OPT_FLAG_EXPORT 64 +/** + * The option may not be set through the AVOptions API, only read. + * This flag only makes sense when AV_OPT_FLAG_EXPORT is also set. + */ +#define AV_OPT_FLAG_READONLY 128 +#define AV_OPT_FLAG_FILTERING_PARAM (1<<16) ///< a generic parameter which can be set by the user for filtering +//FIXME think about enc-audio, ... style flags + + /** + * The logical unit to which the option belongs. Non-constant + * options and corresponding named constants share the same + * unit. May be NULL. + */ + const char *unit; +} AVOption; + +/** + * A single allowed range of values, or a single allowed value. + */ +typedef struct AVOptionRange { + const char *str; + /** + * Value range. + * For string ranges this represents the min/max length. + * For dimensions this represents the min/max pixel count or width/height in multi-component case. + */ + double value_min, value_max; + /** + * Value's component range. + * For string this represents the unicode range for chars, 0-127 limits to ASCII. + */ + double component_min, component_max; + /** + * Range flag. + * If set to 1 the struct encodes a range, if set to 0 a single value. + */ + int is_range; +} AVOptionRange; + +/** + * List of AVOptionRange structs. + */ +typedef struct AVOptionRanges { + /** + * Array of option ranges. + * + * Most of option types use just one component. + * Following describes multi-component option types: + * + * AV_OPT_TYPE_IMAGE_SIZE: + * component index 0: range of pixel count (width * height). + * component index 1: range of width. + * component index 2: range of height. + * + * @note To obtain multi-component version of this structure, user must + * provide AV_OPT_MULTI_COMPONENT_RANGE to av_opt_query_ranges or + * av_opt_query_ranges_default function. + * + * Multi-component range can be read as in following example: + * + * @code + * int range_index, component_index; + * AVOptionRanges *ranges; + * AVOptionRange *range[3]; //may require more than 3 in the future. + * av_opt_query_ranges(&ranges, obj, key, AV_OPT_MULTI_COMPONENT_RANGE); + * for (range_index = 0; range_index < ranges->nb_ranges; range_index++) { + * for (component_index = 0; component_index < ranges->nb_components; component_index++) + * range[component_index] = ranges->range[ranges->nb_ranges * component_index + range_index]; + * //do something with range here. + * } + * av_opt_freep_ranges(&ranges); + * @endcode + */ + AVOptionRange **range; + /** + * Number of ranges per component. + */ + int nb_ranges; + /** + * Number of componentes. + */ + int nb_components; +} AVOptionRanges; + +/** + * Show the obj options. + * + * @param req_flags requested flags for the options to show. Show only the + * options for which it is opt->flags & req_flags. + * @param rej_flags rejected flags for the options to show. Show only the + * options for which it is !(opt->flags & req_flags). + * @param av_log_obj log context to use for showing the options + */ +int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags); + +/** + * Set the values of all AVOption fields to their default values. + * + * @param s an AVOption-enabled struct (its first member must be a pointer to AVClass) + */ +void av_opt_set_defaults(void *s); + +/** + * Set the values of all AVOption fields to their default values. Only these + * AVOption fields for which (opt->flags & mask) == flags will have their + * default applied to s. + * + * @param s an AVOption-enabled struct (its first member must be a pointer to AVClass) + * @param mask combination of AV_OPT_FLAG_* + * @param flags combination of AV_OPT_FLAG_* + */ +void av_opt_set_defaults2(void *s, int mask, int flags); + +/** + * Parse the key/value pairs list in opts. For each key/value pair + * found, stores the value in the field in ctx that is named like the + * key. ctx must be an AVClass context, storing is done using + * AVOptions. + * + * @param opts options string to parse, may be NULL + * @param key_val_sep a 0-terminated list of characters used to + * separate key from value + * @param pairs_sep a 0-terminated list of characters used to separate + * two pairs from each other + * @return the number of successfully set key/value pairs, or a negative + * value corresponding to an AVERROR code in case of error: + * AVERROR(EINVAL) if opts cannot be parsed, + * the error code issued by av_opt_set() if a key/value pair + * cannot be set + */ +int av_set_options_string(void *ctx, const char *opts, + const char *key_val_sep, const char *pairs_sep); + +/** + * Parse the key-value pairs list in opts. For each key=value pair found, + * set the value of the corresponding option in ctx. + * + * @param ctx the AVClass object to set options on + * @param opts the options string, key-value pairs separated by a + * delimiter + * @param shorthand a NULL-terminated array of options names for shorthand + * notation: if the first field in opts has no key part, + * the key is taken from the first element of shorthand; + * then again for the second, etc., until either opts is + * finished, shorthand is finished or a named option is + * found; after that, all options must be named + * @param key_val_sep a 0-terminated list of characters used to separate + * key from value, for example '=' + * @param pairs_sep a 0-terminated list of characters used to separate + * two pairs from each other, for example ':' or ',' + * @return the number of successfully set key=value pairs, or a negative + * value corresponding to an AVERROR code in case of error: + * AVERROR(EINVAL) if opts cannot be parsed, + * the error code issued by av_set_string3() if a key/value pair + * cannot be set + * + * Options names must use only the following characters: a-z A-Z 0-9 - . / _ + * Separators must use characters distinct from option names and from each + * other. + */ +int av_opt_set_from_string(void *ctx, const char *opts, + const char *const *shorthand, + const char *key_val_sep, const char *pairs_sep); +/** + * Free all allocated objects in obj. + */ +void av_opt_free(void *obj); + +/** + * Check whether a particular flag is set in a flags field. + * + * @param field_name the name of the flag field option + * @param flag_name the name of the flag to check + * @return non-zero if the flag is set, zero if the flag isn't set, + * isn't of the right type, or the flags field doesn't exist. + */ +int av_opt_flag_is_set(void *obj, const char *field_name, const char *flag_name); + +/** + * Set all the options from a given dictionary on an object. + * + * @param obj a struct whose first element is a pointer to AVClass + * @param options options to process. This dictionary will be freed and replaced + * by a new one containing all options not found in obj. + * Of course this new dictionary needs to be freed by caller + * with av_dict_free(). + * + * @return 0 on success, a negative AVERROR if some option was found in obj, + * but could not be set. + * + * @see av_dict_copy() + */ +int av_opt_set_dict(void *obj, struct AVDictionary **options); + + +/** + * Set all the options from a given dictionary on an object. + * + * @param obj a struct whose first element is a pointer to AVClass + * @param options options to process. This dictionary will be freed and replaced + * by a new one containing all options not found in obj. + * Of course this new dictionary needs to be freed by caller + * with av_dict_free(). + * @param search_flags A combination of AV_OPT_SEARCH_*. + * + * @return 0 on success, a negative AVERROR if some option was found in obj, + * but could not be set. + * + * @see av_dict_copy() + */ +int av_opt_set_dict2(void *obj, struct AVDictionary **options, int search_flags); + +/** + * Extract a key-value pair from the beginning of a string. + * + * @param ropts pointer to the options string, will be updated to + * point to the rest of the string (one of the pairs_sep + * or the final NUL) + * @param key_val_sep a 0-terminated list of characters used to separate + * key from value, for example '=' + * @param pairs_sep a 0-terminated list of characters used to separate + * two pairs from each other, for example ':' or ',' + * @param flags flags; see the AV_OPT_FLAG_* values below + * @param rkey parsed key; must be freed using av_free() + * @param rval parsed value; must be freed using av_free() + * + * @return >=0 for success, or a negative value corresponding to an + * AVERROR code in case of error; in particular: + * AVERROR(EINVAL) if no key is present + * + */ +int av_opt_get_key_value(const char **ropts, + const char *key_val_sep, const char *pairs_sep, + unsigned flags, + char **rkey, char **rval); + +enum { + + /** + * Accept to parse a value without a key; the key will then be returned + * as NULL. + */ + AV_OPT_FLAG_IMPLICIT_KEY = 1, +}; + +/** + * @defgroup opt_eval_funcs Evaluating option strings + * @{ + * This group of functions can be used to evaluate option strings + * and get numbers out of them. They do the same thing as av_opt_set(), + * except the result is written into the caller-supplied pointer. + * + * @param obj a struct whose first element is a pointer to AVClass. + * @param o an option for which the string is to be evaluated. + * @param val string to be evaluated. + * @param *_out value of the string will be written here. + * + * @return 0 on success, a negative number on failure. + */ +int av_opt_eval_flags (void *obj, const AVOption *o, const char *val, int *flags_out); +int av_opt_eval_int (void *obj, const AVOption *o, const char *val, int *int_out); +int av_opt_eval_int64 (void *obj, const AVOption *o, const char *val, int64_t *int64_out); +int av_opt_eval_float (void *obj, const AVOption *o, const char *val, float *float_out); +int av_opt_eval_double(void *obj, const AVOption *o, const char *val, double *double_out); +int av_opt_eval_q (void *obj, const AVOption *o, const char *val, AVRational *q_out); +/** + * @} + */ + +#define AV_OPT_SEARCH_CHILDREN (1 << 0) /**< Search in possible children of the + given object first. */ +/** + * The obj passed to av_opt_find() is fake -- only a double pointer to AVClass + * instead of a required pointer to a struct containing AVClass. This is + * useful for searching for options without needing to allocate the corresponding + * object. + */ +#define AV_OPT_SEARCH_FAKE_OBJ (1 << 1) + +/** + * In av_opt_get, return NULL if the option has a pointer type and is set to NULL, + * rather than returning an empty string. + */ +#define AV_OPT_ALLOW_NULL (1 << 2) + +/** + * Allows av_opt_query_ranges and av_opt_query_ranges_default to return more than + * one component for certain option types. + * @see AVOptionRanges for details. + */ +#define AV_OPT_MULTI_COMPONENT_RANGE (1 << 12) + +/** + * Look for an option in an object. Consider only options which + * have all the specified flags set. + * + * @param[in] obj A pointer to a struct whose first element is a + * pointer to an AVClass. + * Alternatively a double pointer to an AVClass, if + * AV_OPT_SEARCH_FAKE_OBJ search flag is set. + * @param[in] name The name of the option to look for. + * @param[in] unit When searching for named constants, name of the unit + * it belongs to. + * @param opt_flags Find only options with all the specified flags set (AV_OPT_FLAG). + * @param search_flags A combination of AV_OPT_SEARCH_*. + * + * @return A pointer to the option found, or NULL if no option + * was found. + * + * @note Options found with AV_OPT_SEARCH_CHILDREN flag may not be settable + * directly with av_opt_set(). Use special calls which take an options + * AVDictionary (e.g. avformat_open_input()) to set options found with this + * flag. + */ +const AVOption *av_opt_find(void *obj, const char *name, const char *unit, + int opt_flags, int search_flags); + +/** + * Look for an option in an object. Consider only options which + * have all the specified flags set. + * + * @param[in] obj A pointer to a struct whose first element is a + * pointer to an AVClass. + * Alternatively a double pointer to an AVClass, if + * AV_OPT_SEARCH_FAKE_OBJ search flag is set. + * @param[in] name The name of the option to look for. + * @param[in] unit When searching for named constants, name of the unit + * it belongs to. + * @param opt_flags Find only options with all the specified flags set (AV_OPT_FLAG). + * @param search_flags A combination of AV_OPT_SEARCH_*. + * @param[out] target_obj if non-NULL, an object to which the option belongs will be + * written here. It may be different from obj if AV_OPT_SEARCH_CHILDREN is present + * in search_flags. This parameter is ignored if search_flags contain + * AV_OPT_SEARCH_FAKE_OBJ. + * + * @return A pointer to the option found, or NULL if no option + * was found. + */ +const AVOption *av_opt_find2(void *obj, const char *name, const char *unit, + int opt_flags, int search_flags, void **target_obj); + +/** + * Iterate over all AVOptions belonging to obj. + * + * @param obj an AVOptions-enabled struct or a double pointer to an + * AVClass describing it. + * @param prev result of the previous call to av_opt_next() on this object + * or NULL + * @return next AVOption or NULL + */ +const AVOption *av_opt_next(const void *obj, const AVOption *prev); + +/** + * Iterate over AVOptions-enabled children of obj. + * + * @param prev result of a previous call to this function or NULL + * @return next AVOptions-enabled child or NULL + */ +void *av_opt_child_next(void *obj, void *prev); + +/** + * Iterate over potential AVOptions-enabled children of parent. + * + * @param prev result of a previous call to this function or NULL + * @return AVClass corresponding to next potential child or NULL + */ +const AVClass *av_opt_child_class_next(const AVClass *parent, const AVClass *prev); + +/** + * @defgroup opt_set_funcs Option setting functions + * @{ + * Those functions set the field of obj with the given name to value. + * + * @param[in] obj A struct whose first element is a pointer to an AVClass. + * @param[in] name the name of the field to set + * @param[in] val The value to set. In case of av_opt_set() if the field is not + * of a string type, then the given string is parsed. + * SI postfixes and some named scalars are supported. + * If the field is of a numeric type, it has to be a numeric or named + * scalar. Behavior with more than one scalar and +- infix operators + * is undefined. + * If the field is of a flags type, it has to be a sequence of numeric + * scalars or named flags separated by '+' or '-'. Prefixing a flag + * with '+' causes it to be set without affecting the other flags; + * similarly, '-' unsets a flag. + * @param search_flags flags passed to av_opt_find2. I.e. if AV_OPT_SEARCH_CHILDREN + * is passed here, then the option may be set on a child of obj. + * + * @return 0 if the value has been set, or an AVERROR code in case of + * error: + * AVERROR_OPTION_NOT_FOUND if no matching option exists + * AVERROR(ERANGE) if the value is out of range + * AVERROR(EINVAL) if the value is not valid + */ +int av_opt_set (void *obj, const char *name, const char *val, int search_flags); +int av_opt_set_int (void *obj, const char *name, int64_t val, int search_flags); +int av_opt_set_double (void *obj, const char *name, double val, int search_flags); +int av_opt_set_q (void *obj, const char *name, AVRational val, int search_flags); +int av_opt_set_bin (void *obj, const char *name, const uint8_t *val, int size, int search_flags); +int av_opt_set_image_size(void *obj, const char *name, int w, int h, int search_flags); +int av_opt_set_pixel_fmt (void *obj, const char *name, enum AVPixelFormat fmt, int search_flags); +int av_opt_set_sample_fmt(void *obj, const char *name, enum AVSampleFormat fmt, int search_flags); +int av_opt_set_video_rate(void *obj, const char *name, AVRational val, int search_flags); +int av_opt_set_channel_layout(void *obj, const char *name, int64_t ch_layout, int search_flags); +/** + * @note Any old dictionary present is discarded and replaced with a copy of the new one. The + * caller still owns val is and responsible for freeing it. + */ +int av_opt_set_dict_val(void *obj, const char *name, const AVDictionary *val, int search_flags); + +/** + * Set a binary option to an integer list. + * + * @param obj AVClass object to set options on + * @param name name of the binary option + * @param val pointer to an integer list (must have the correct type with + * regard to the contents of the list) + * @param term list terminator (usually 0 or -1) + * @param flags search flags + */ +#define av_opt_set_int_list(obj, name, val, term, flags) \ + (av_int_list_length(val, term) > INT_MAX / sizeof(*(val)) ? \ + AVERROR(EINVAL) : \ + av_opt_set_bin(obj, name, (const uint8_t *)(val), \ + av_int_list_length(val, term) * sizeof(*(val)), flags)) + +/** + * @} + */ + +/** + * @defgroup opt_get_funcs Option getting functions + * @{ + * Those functions get a value of the option with the given name from an object. + * + * @param[in] obj a struct whose first element is a pointer to an AVClass. + * @param[in] name name of the option to get. + * @param[in] search_flags flags passed to av_opt_find2. I.e. if AV_OPT_SEARCH_CHILDREN + * is passed here, then the option may be found in a child of obj. + * @param[out] out_val value of the option will be written here + * @return >=0 on success, a negative error code otherwise + */ +/** + * @note the returned string will be av_malloc()ed and must be av_free()ed by the caller + * + * @note if AV_OPT_ALLOW_NULL is set in search_flags in av_opt_get, and the option has + * AV_OPT_TYPE_STRING or AV_OPT_TYPE_BINARY and is set to NULL, *out_val will be set + * to NULL instead of an allocated empty string. + */ +int av_opt_get (void *obj, const char *name, int search_flags, uint8_t **out_val); +int av_opt_get_int (void *obj, const char *name, int search_flags, int64_t *out_val); +int av_opt_get_double (void *obj, const char *name, int search_flags, double *out_val); +int av_opt_get_q (void *obj, const char *name, int search_flags, AVRational *out_val); +int av_opt_get_image_size(void *obj, const char *name, int search_flags, int *w_out, int *h_out); +int av_opt_get_pixel_fmt (void *obj, const char *name, int search_flags, enum AVPixelFormat *out_fmt); +int av_opt_get_sample_fmt(void *obj, const char *name, int search_flags, enum AVSampleFormat *out_fmt); +int av_opt_get_video_rate(void *obj, const char *name, int search_flags, AVRational *out_val); +int av_opt_get_channel_layout(void *obj, const char *name, int search_flags, int64_t *ch_layout); +/** + * @param[out] out_val The returned dictionary is a copy of the actual value and must + * be freed with av_dict_free() by the caller + */ +int av_opt_get_dict_val(void *obj, const char *name, int search_flags, AVDictionary **out_val); +/** + * @} + */ +/** + * Gets a pointer to the requested field in a struct. + * This function allows accessing a struct even when its fields are moved or + * renamed since the application making the access has been compiled, + * + * @returns a pointer to the field, it can be cast to the correct type and read + * or written to. + */ +void *av_opt_ptr(const AVClass *avclass, void *obj, const char *name); + +/** + * Free an AVOptionRanges struct and set it to NULL. + */ +void av_opt_freep_ranges(AVOptionRanges **ranges); + +/** + * Get a list of allowed ranges for the given option. + * + * The returned list may depend on other fields in obj like for example profile. + * + * @param flags is a bitmask of flags, undefined flags should not be set and should be ignored + * AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance + * AV_OPT_MULTI_COMPONENT_RANGE indicates that function may return more than one component, @see AVOptionRanges + * + * The result must be freed with av_opt_freep_ranges. + * + * @return number of compontents returned on success, a negative errro code otherwise + */ +int av_opt_query_ranges(AVOptionRanges **, void *obj, const char *key, int flags); + +/** + * Copy options from src object into dest object. + * + * Options that require memory allocation (e.g. string or binary) are malloc'ed in dest object. + * Original memory allocated for such options is freed unless both src and dest options points to the same memory. + * + * @param dest Object to copy from + * @param src Object to copy into + * @return 0 on success, negative on error + */ +int av_opt_copy(void *dest, const void *src); + +/** + * Get a default list of allowed ranges for the given option. + * + * This list is constructed without using the AVClass.query_ranges() callback + * and can be used as fallback from within the callback. + * + * @param flags is a bitmask of flags, undefined flags should not be set and should be ignored + * AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance + * AV_OPT_MULTI_COMPONENT_RANGE indicates that function may return more than one component, @see AVOptionRanges + * + * The result must be freed with av_opt_free_ranges. + * + * @return number of compontents returned on success, a negative errro code otherwise + */ +int av_opt_query_ranges_default(AVOptionRanges **, void *obj, const char *key, int flags); + +/** + * Check if given option is set to its default value. + * + * Options o must belong to the obj. This function must not be called to check child's options state. + * @see av_opt_is_set_to_default_by_name(). + * + * @param obj AVClass object to check option on + * @param o option to be checked + * @return >0 when option is set to its default, + * 0 when option is not set its default, + * <0 on error + */ +int av_opt_is_set_to_default(void *obj, const AVOption *o); + +/** + * Check if given option is set to its default value. + * + * @param obj AVClass object to check option on + * @param name option name + * @param search_flags combination of AV_OPT_SEARCH_* + * @return >0 when option is set to its default, + * 0 when option is not set its default, + * <0 on error + */ +int av_opt_is_set_to_default_by_name(void *obj, const char *name, int search_flags); + + +#define AV_OPT_SERIALIZE_SKIP_DEFAULTS 0x00000001 ///< Serialize options that are not set to default values only. +#define AV_OPT_SERIALIZE_OPT_FLAGS_EXACT 0x00000002 ///< Serialize options that exactly match opt_flags only. + +/** + * Serialize object's options. + * + * Create a string containing object's serialized options. + * Such string may be passed back to av_opt_set_from_string() in order to restore option values. + * A key/value or pairs separator occurring in the serialized value or + * name string are escaped through the av_escape() function. + * + * @param[in] obj AVClass object to serialize + * @param[in] opt_flags serialize options with all the specified flags set (AV_OPT_FLAG) + * @param[in] flags combination of AV_OPT_SERIALIZE_* flags + * @param[out] buffer Pointer to buffer that will be allocated with string containg serialized options. + * Buffer must be freed by the caller when is no longer needed. + * @param[in] key_val_sep character used to separate key from value + * @param[in] pairs_sep character used to separate two pairs from each other + * @return >= 0 on success, negative on error + * @warning Separators cannot be neither '\\' nor '\0'. They also cannot be the same. + */ +int av_opt_serialize(void *obj, int opt_flags, int flags, char **buffer, + const char key_val_sep, const char pairs_sep); +/** + * @} + */ + +#endif /* AVUTIL_OPT_H */ diff --git a/src/3rdparty/win32_include/libavutil/parseutils.h b/src/3rdparty/win32_include/libavutil/parseutils.h new file mode 100644 index 000000000..e66d24b76 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/parseutils.h @@ -0,0 +1,193 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_PARSEUTILS_H +#define AVUTIL_PARSEUTILS_H + +#include + +#include "rational.h" + +/** + * @file + * misc parsing utilities + */ + +/** + * Parse str and store the parsed ratio in q. + * + * Note that a ratio with infinite (1/0) or negative value is + * considered valid, so you should check on the returned value if you + * want to exclude those values. + * + * The undefined value can be expressed using the "0:0" string. + * + * @param[in,out] q pointer to the AVRational which will contain the ratio + * @param[in] str the string to parse: it has to be a string in the format + * num:den, a float number or an expression + * @param[in] max the maximum allowed numerator and denominator + * @param[in] log_offset log level offset which is applied to the log + * level of log_ctx + * @param[in] log_ctx parent logging context + * @return >= 0 on success, a negative error code otherwise + */ +int av_parse_ratio(AVRational *q, const char *str, int max, + int log_offset, void *log_ctx); + +#define av_parse_ratio_quiet(rate, str, max) \ + av_parse_ratio(rate, str, max, AV_LOG_MAX_OFFSET, NULL) + +/** + * Parse str and put in width_ptr and height_ptr the detected values. + * + * @param[in,out] width_ptr pointer to the variable which will contain the detected + * width value + * @param[in,out] height_ptr pointer to the variable which will contain the detected + * height value + * @param[in] str the string to parse: it has to be a string in the format + * width x height or a valid video size abbreviation. + * @return >= 0 on success, a negative error code otherwise + */ +int av_parse_video_size(int *width_ptr, int *height_ptr, const char *str); + +/** + * Parse str and store the detected values in *rate. + * + * @param[in,out] rate pointer to the AVRational which will contain the detected + * frame rate + * @param[in] str the string to parse: it has to be a string in the format + * rate_num / rate_den, a float number or a valid video rate abbreviation + * @return >= 0 on success, a negative error code otherwise + */ +int av_parse_video_rate(AVRational *rate, const char *str); + +/** + * Put the RGBA values that correspond to color_string in rgba_color. + * + * @param color_string a string specifying a color. It can be the name of + * a color (case insensitive match) or a [0x|#]RRGGBB[AA] sequence, + * possibly followed by "@" and a string representing the alpha + * component. + * The alpha component may be a string composed by "0x" followed by an + * hexadecimal number or a decimal number between 0.0 and 1.0, which + * represents the opacity value (0x00/0.0 means completely transparent, + * 0xff/1.0 completely opaque). + * If the alpha component is not specified then 0xff is assumed. + * The string "random" will result in a random color. + * @param slen length of the initial part of color_string containing the + * color. It can be set to -1 if color_string is a null terminated string + * containing nothing else than the color. + * @return >= 0 in case of success, a negative value in case of + * failure (for example if color_string cannot be parsed). + */ +int av_parse_color(uint8_t *rgba_color, const char *color_string, int slen, + void *log_ctx); + +/** + * Get the name of a color from the internal table of hard-coded named + * colors. + * + * This function is meant to enumerate the color names recognized by + * av_parse_color(). + * + * @param color_idx index of the requested color, starting from 0 + * @param rgbp if not NULL, will point to a 3-elements array with the color value in RGB + * @return the color name string or NULL if color_idx is not in the array + */ +const char *av_get_known_color_name(int color_idx, const uint8_t **rgb); + +/** + * Parse timestr and return in *time a corresponding number of + * microseconds. + * + * @param timeval puts here the number of microseconds corresponding + * to the string in timestr. If the string represents a duration, it + * is the number of microseconds contained in the time interval. If + * the string is a date, is the number of microseconds since 1st of + * January, 1970 up to the time of the parsed date. If timestr cannot + * be successfully parsed, set *time to INT64_MIN. + + * @param timestr a string representing a date or a duration. + * - If a date the syntax is: + * @code + * [{YYYY-MM-DD|YYYYMMDD}[T|t| ]]{{HH:MM:SS[.m...]]]}|{HHMMSS[.m...]]]}}[Z] + * now + * @endcode + * If the value is "now" it takes the current time. + * Time is local time unless Z is appended, in which case it is + * interpreted as UTC. + * If the year-month-day part is not specified it takes the current + * year-month-day. + * - If a duration the syntax is: + * @code + * [-][HH:]MM:SS[.m...] + * [-]S+[.m...] + * @endcode + * @param duration flag which tells how to interpret timestr, if not + * zero timestr is interpreted as a duration, otherwise as a date + * @return >= 0 in case of success, a negative value corresponding to an + * AVERROR code otherwise + */ +int av_parse_time(int64_t *timeval, const char *timestr, int duration); + +/** + * Attempt to find a specific tag in a URL. + * + * syntax: '?tag1=val1&tag2=val2...'. Little URL decoding is done. + * Return 1 if found. + */ +int av_find_info_tag(char *arg, int arg_size, const char *tag1, const char *info); + +/** + * Simplified version of strptime + * + * Parse the input string p according to the format string fmt and + * store its results in the structure dt. + * This implementation supports only a subset of the formats supported + * by the standard strptime(). + * + * The supported input field descriptors are listed below. + * - %H: the hour as a decimal number, using a 24-hour clock, in the + * range '00' through '23' + * - %J: hours as a decimal number, in the range '0' through INT_MAX + * - %M: the minute as a decimal number, using a 24-hour clock, in the + * range '00' through '59' + * - %S: the second as a decimal number, using a 24-hour clock, in the + * range '00' through '59' + * - %Y: the year as a decimal number, using the Gregorian calendar + * - %m: the month as a decimal number, in the range '1' through '12' + * - %d: the day of the month as a decimal number, in the range '1' + * through '31' + * - %T: alias for '%H:%M:%S' + * - %%: a literal '%' + * + * @return a pointer to the first character not processed in this function + * call. In case the input string contains more characters than + * required by the format string the return value points right after + * the last consumed input character. In case the whole input string + * is consumed the return value points to the null byte at the end of + * the string. On failure NULL is returned. + */ +char *av_small_strptime(const char *p, const char *fmt, struct tm *dt); + +/** + * Convert the decomposed UTC time in tm to a time_t value. + */ +time_t av_timegm(struct tm *tm); + +#endif /* AVUTIL_PARSEUTILS_H */ diff --git a/src/3rdparty/win32_include/libavutil/pixdesc.h b/src/3rdparty/win32_include/libavutil/pixdesc.h new file mode 100644 index 000000000..fc3737c4a --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/pixdesc.h @@ -0,0 +1,430 @@ +/* + * pixel format descriptor + * Copyright (c) 2009 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_PIXDESC_H +#define AVUTIL_PIXDESC_H + +#include + +#include "attributes.h" +#include "pixfmt.h" +#include "version.h" + +typedef struct AVComponentDescriptor { + /** + * Which of the 4 planes contains the component. + */ + int plane; + + /** + * Number of elements between 2 horizontally consecutive pixels. + * Elements are bits for bitstream formats, bytes otherwise. + */ + int step; + + /** + * Number of elements before the component of the first pixel. + * Elements are bits for bitstream formats, bytes otherwise. + */ + int offset; + + /** + * Number of least significant bits that must be shifted away + * to get the value. + */ + int shift; + + /** + * Number of bits in the component. + */ + int depth; + +#if FF_API_PLUS1_MINUS1 + /** deprecated, use step instead */ + attribute_deprecated int step_minus1; + + /** deprecated, use depth instead */ + attribute_deprecated int depth_minus1; + + /** deprecated, use offset instead */ + attribute_deprecated int offset_plus1; +#endif +} AVComponentDescriptor; + +/** + * Descriptor that unambiguously describes how the bits of a pixel are + * stored in the up to 4 data planes of an image. It also stores the + * subsampling factors and number of components. + * + * @note This is separate of the colorspace (RGB, YCbCr, YPbPr, JPEG-style YUV + * and all the YUV variants) AVPixFmtDescriptor just stores how values + * are stored not what these values represent. + */ +typedef struct AVPixFmtDescriptor { + const char *name; + uint8_t nb_components; ///< The number of components each pixel has, (1-4) + + /** + * Amount to shift the luma width right to find the chroma width. + * For YV12 this is 1 for example. + * chroma_width = AV_CEIL_RSHIFT(luma_width, log2_chroma_w) + * The note above is needed to ensure rounding up. + * This value only refers to the chroma components. + */ + uint8_t log2_chroma_w; + + /** + * Amount to shift the luma height right to find the chroma height. + * For YV12 this is 1 for example. + * chroma_height= AV_CEIL_RSHIFT(luma_height, log2_chroma_h) + * The note above is needed to ensure rounding up. + * This value only refers to the chroma components. + */ + uint8_t log2_chroma_h; + + /** + * Combination of AV_PIX_FMT_FLAG_... flags. + */ + uint64_t flags; + + /** + * Parameters that describe how pixels are packed. + * If the format has 1 or 2 components, then luma is 0. + * If the format has 3 or 4 components: + * if the RGB flag is set then 0 is red, 1 is green and 2 is blue; + * otherwise 0 is luma, 1 is chroma-U and 2 is chroma-V. + * + * If present, the Alpha channel is always the last component. + */ + AVComponentDescriptor comp[4]; + + /** + * Alternative comma-separated names. + */ + const char *alias; +} AVPixFmtDescriptor; + +/** + * Pixel format is big-endian. + */ +#define AV_PIX_FMT_FLAG_BE (1 << 0) +/** + * Pixel format has a palette in data[1], values are indexes in this palette. + */ +#define AV_PIX_FMT_FLAG_PAL (1 << 1) +/** + * All values of a component are bit-wise packed end to end. + */ +#define AV_PIX_FMT_FLAG_BITSTREAM (1 << 2) +/** + * Pixel format is an HW accelerated format. + */ +#define AV_PIX_FMT_FLAG_HWACCEL (1 << 3) +/** + * At least one pixel component is not in the first data plane. + */ +#define AV_PIX_FMT_FLAG_PLANAR (1 << 4) +/** + * The pixel format contains RGB-like data (as opposed to YUV/grayscale). + */ +#define AV_PIX_FMT_FLAG_RGB (1 << 5) + +/** + * The pixel format is "pseudo-paletted". This means that it contains a + * fixed palette in the 2nd plane but the palette is fixed/constant for each + * PIX_FMT. This allows interpreting the data as if it was PAL8, which can + * in some cases be simpler. Or the data can be interpreted purely based on + * the pixel format without using the palette. + * An example of a pseudo-paletted format is AV_PIX_FMT_GRAY8 + */ +#define AV_PIX_FMT_FLAG_PSEUDOPAL (1 << 6) + +/** + * The pixel format has an alpha channel. This is set on all formats that + * support alpha in some way. The exception is AV_PIX_FMT_PAL8, which can + * carry alpha as part of the palette. Details are explained in the + * AVPixelFormat enum, and are also encoded in the corresponding + * AVPixFmtDescriptor. + * + * The alpha is always straight, never pre-multiplied. + * + * If a codec or a filter does not support alpha, it should set all alpha to + * opaque, or use the equivalent pixel formats without alpha component, e.g. + * AV_PIX_FMT_RGB0 (or AV_PIX_FMT_RGB24 etc.) instead of AV_PIX_FMT_RGBA. + */ +#define AV_PIX_FMT_FLAG_ALPHA (1 << 7) + +/** + * The pixel format is following a Bayer pattern + */ +#define AV_PIX_FMT_FLAG_BAYER (1 << 8) + +/** + * The pixel format contains IEEE-754 floating point values. Precision (double, + * single, or half) should be determined by the pixel size (64, 32, or 16 bits). + */ +#define AV_PIX_FMT_FLAG_FLOAT (1 << 9) + +/** + * Return the number of bits per pixel used by the pixel format + * described by pixdesc. Note that this is not the same as the number + * of bits per sample. + * + * The returned number of bits refers to the number of bits actually + * used for storing the pixel information, that is padding bits are + * not counted. + */ +int av_get_bits_per_pixel(const AVPixFmtDescriptor *pixdesc); + +/** + * Return the number of bits per pixel for the pixel format + * described by pixdesc, including any padding or unused bits. + */ +int av_get_padded_bits_per_pixel(const AVPixFmtDescriptor *pixdesc); + +/** + * @return a pixel format descriptor for provided pixel format or NULL if + * this pixel format is unknown. + */ +const AVPixFmtDescriptor *av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt); + +/** + * Iterate over all pixel format descriptors known to libavutil. + * + * @param prev previous descriptor. NULL to get the first descriptor. + * + * @return next descriptor or NULL after the last descriptor + */ +const AVPixFmtDescriptor *av_pix_fmt_desc_next(const AVPixFmtDescriptor *prev); + +/** + * @return an AVPixelFormat id described by desc, or AV_PIX_FMT_NONE if desc + * is not a valid pointer to a pixel format descriptor. + */ +enum AVPixelFormat av_pix_fmt_desc_get_id(const AVPixFmtDescriptor *desc); + +/** + * Utility function to access log2_chroma_w log2_chroma_h from + * the pixel format AVPixFmtDescriptor. + * + * See av_get_chroma_sub_sample() for a function that asserts a + * valid pixel format instead of returning an error code. + * Its recommended that you use avcodec_get_chroma_sub_sample unless + * you do check the return code! + * + * @param[in] pix_fmt the pixel format + * @param[out] h_shift store log2_chroma_w (horizontal/width shift) + * @param[out] v_shift store log2_chroma_h (vertical/height shift) + * + * @return 0 on success, AVERROR(ENOSYS) on invalid or unknown pixel format + */ +int av_pix_fmt_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, + int *h_shift, int *v_shift); + +/** + * @return number of planes in pix_fmt, a negative AVERROR if pix_fmt is not a + * valid pixel format. + */ +int av_pix_fmt_count_planes(enum AVPixelFormat pix_fmt); + +/** + * @return the name for provided color range or NULL if unknown. + */ +const char *av_color_range_name(enum AVColorRange range); + +/** + * @return the AVColorRange value for name or an AVError if not found. + */ +int av_color_range_from_name(const char *name); + +/** + * @return the name for provided color primaries or NULL if unknown. + */ +const char *av_color_primaries_name(enum AVColorPrimaries primaries); + +/** + * @return the AVColorPrimaries value for name or an AVError if not found. + */ +int av_color_primaries_from_name(const char *name); + +/** + * @return the name for provided color transfer or NULL if unknown. + */ +const char *av_color_transfer_name(enum AVColorTransferCharacteristic transfer); + +/** + * @return the AVColorTransferCharacteristic value for name or an AVError if not found. + */ +int av_color_transfer_from_name(const char *name); + +/** + * @return the name for provided color space or NULL if unknown. + */ +const char *av_color_space_name(enum AVColorSpace space); + +/** + * @return the AVColorSpace value for name or an AVError if not found. + */ +int av_color_space_from_name(const char *name); + +/** + * @return the name for provided chroma location or NULL if unknown. + */ +const char *av_chroma_location_name(enum AVChromaLocation location); + +/** + * @return the AVChromaLocation value for name or an AVError if not found. + */ +int av_chroma_location_from_name(const char *name); + +/** + * Return the pixel format corresponding to name. + * + * If there is no pixel format with name name, then looks for a + * pixel format with the name corresponding to the native endian + * format of name. + * For example in a little-endian system, first looks for "gray16", + * then for "gray16le". + * + * Finally if no pixel format has been found, returns AV_PIX_FMT_NONE. + */ +enum AVPixelFormat av_get_pix_fmt(const char *name); + +/** + * Return the short name for a pixel format, NULL in case pix_fmt is + * unknown. + * + * @see av_get_pix_fmt(), av_get_pix_fmt_string() + */ +const char *av_get_pix_fmt_name(enum AVPixelFormat pix_fmt); + +/** + * Print in buf the string corresponding to the pixel format with + * number pix_fmt, or a header if pix_fmt is negative. + * + * @param buf the buffer where to write the string + * @param buf_size the size of buf + * @param pix_fmt the number of the pixel format to print the + * corresponding info string, or a negative value to print the + * corresponding header. + */ +char *av_get_pix_fmt_string(char *buf, int buf_size, + enum AVPixelFormat pix_fmt); + +/** + * Read a line from an image, and write the values of the + * pixel format component c to dst. + * + * @param data the array containing the pointers to the planes of the image + * @param linesize the array containing the linesizes of the image + * @param desc the pixel format descriptor for the image + * @param x the horizontal coordinate of the first pixel to read + * @param y the vertical coordinate of the first pixel to read + * @param w the width of the line to read, that is the number of + * values to write to dst + * @param read_pal_component if not zero and the format is a paletted + * format writes the values corresponding to the palette + * component c in data[1] to dst, rather than the palette indexes in + * data[0]. The behavior is undefined if the format is not paletted. + */ +void av_read_image_line(uint16_t *dst, const uint8_t *data[4], + const int linesize[4], const AVPixFmtDescriptor *desc, + int x, int y, int c, int w, int read_pal_component); + +/** + * Write the values from src to the pixel format component c of an + * image line. + * + * @param src array containing the values to write + * @param data the array containing the pointers to the planes of the + * image to write into. It is supposed to be zeroed. + * @param linesize the array containing the linesizes of the image + * @param desc the pixel format descriptor for the image + * @param x the horizontal coordinate of the first pixel to write + * @param y the vertical coordinate of the first pixel to write + * @param w the width of the line to write, that is the number of + * values to write to the image line + */ +void av_write_image_line(const uint16_t *src, uint8_t *data[4], + const int linesize[4], const AVPixFmtDescriptor *desc, + int x, int y, int c, int w); + +/** + * Utility function to swap the endianness of a pixel format. + * + * @param[in] pix_fmt the pixel format + * + * @return pixel format with swapped endianness if it exists, + * otherwise AV_PIX_FMT_NONE + */ +enum AVPixelFormat av_pix_fmt_swap_endianness(enum AVPixelFormat pix_fmt); + +#define FF_LOSS_RESOLUTION 0x0001 /**< loss due to resolution change */ +#define FF_LOSS_DEPTH 0x0002 /**< loss due to color depth change */ +#define FF_LOSS_COLORSPACE 0x0004 /**< loss due to color space conversion */ +#define FF_LOSS_ALPHA 0x0008 /**< loss of alpha bits */ +#define FF_LOSS_COLORQUANT 0x0010 /**< loss due to color quantization */ +#define FF_LOSS_CHROMA 0x0020 /**< loss of chroma (e.g. RGB to gray conversion) */ + +/** + * Compute what kind of losses will occur when converting from one specific + * pixel format to another. + * When converting from one pixel format to another, information loss may occur. + * For example, when converting from RGB24 to GRAY, the color information will + * be lost. Similarly, other losses occur when converting from some formats to + * other formats. These losses can involve loss of chroma, but also loss of + * resolution, loss of color depth, loss due to the color space conversion, loss + * of the alpha bits or loss due to color quantization. + * av_get_fix_fmt_loss() informs you about the various types of losses + * which will occur when converting from one pixel format to another. + * + * @param[in] dst_pix_fmt destination pixel format + * @param[in] src_pix_fmt source pixel format + * @param[in] has_alpha Whether the source pixel format alpha channel is used. + * @return Combination of flags informing you what kind of losses will occur + * (maximum loss for an invalid dst_pix_fmt). + */ +int av_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, + enum AVPixelFormat src_pix_fmt, + int has_alpha); + +/** + * Compute what kind of losses will occur when converting from one specific + * pixel format to another. + * When converting from one pixel format to another, information loss may occur. + * For example, when converting from RGB24 to GRAY, the color information will + * be lost. Similarly, other losses occur when converting from some formats to + * other formats. These losses can involve loss of chroma, but also loss of + * resolution, loss of color depth, loss due to the color space conversion, loss + * of the alpha bits or loss due to color quantization. + * av_get_fix_fmt_loss() informs you about the various types of losses + * which will occur when converting from one pixel format to another. + * + * @param[in] dst_pix_fmt destination pixel format + * @param[in] src_pix_fmt source pixel format + * @param[in] has_alpha Whether the source pixel format alpha channel is used. + * @return Combination of flags informing you what kind of losses will occur + * (maximum loss for an invalid dst_pix_fmt). + */ +enum AVPixelFormat av_find_best_pix_fmt_of_2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, + enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr); + +#endif /* AVUTIL_PIXDESC_H */ diff --git a/src/3rdparty/win32_include/libavutil/pixelutils.h b/src/3rdparty/win32_include/libavutil/pixelutils.h new file mode 100644 index 000000000..a8dbc157e --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/pixelutils.h @@ -0,0 +1,52 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_PIXELUTILS_H +#define AVUTIL_PIXELUTILS_H + +#include +#include +#include "common.h" + +/** + * Sum of abs(src1[x] - src2[x]) + */ +typedef int (*av_pixelutils_sad_fn)(const uint8_t *src1, ptrdiff_t stride1, + const uint8_t *src2, ptrdiff_t stride2); + +/** + * Get a potentially optimized pointer to a Sum-of-absolute-differences + * function (see the av_pixelutils_sad_fn prototype). + * + * @param w_bits 1< + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_PIXFMT_H +#define AVUTIL_PIXFMT_H + +/** + * @file + * pixel format definitions + */ + +#include "libavutil/avconfig.h" +#include "version.h" + +#define AVPALETTE_SIZE 1024 +#define AVPALETTE_COUNT 256 + +/** + * Pixel format. + * + * @note + * AV_PIX_FMT_RGB32 is handled in an endian-specific manner. An RGBA + * color is put together as: + * (A << 24) | (R << 16) | (G << 8) | B + * This is stored as BGRA on little-endian CPU architectures and ARGB on + * big-endian CPUs. + * + * @par + * When the pixel format is palettized RGB32 (AV_PIX_FMT_PAL8), the palettized + * image data is stored in AVFrame.data[0]. The palette is transported in + * AVFrame.data[1], is 1024 bytes long (256 4-byte entries) and is + * formatted the same as in AV_PIX_FMT_RGB32 described above (i.e., it is + * also endian-specific). Note also that the individual RGB32 palette + * components stored in AVFrame.data[1] should be in the range 0..255. + * This is important as many custom PAL8 video codecs that were designed + * to run on the IBM VGA graphics adapter use 6-bit palette components. + * + * @par + * For all the 8 bits per pixel formats, an RGB32 palette is in data[1] like + * for pal8. This palette is filled in automatically by the function + * allocating the picture. + */ +enum AVPixelFormat { + AV_PIX_FMT_NONE = -1, + AV_PIX_FMT_YUV420P, ///< planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples) + AV_PIX_FMT_YUYV422, ///< packed YUV 4:2:2, 16bpp, Y0 Cb Y1 Cr + AV_PIX_FMT_RGB24, ///< packed RGB 8:8:8, 24bpp, RGBRGB... + AV_PIX_FMT_BGR24, ///< packed RGB 8:8:8, 24bpp, BGRBGR... + AV_PIX_FMT_YUV422P, ///< planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples) + AV_PIX_FMT_YUV444P, ///< planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples) + AV_PIX_FMT_YUV410P, ///< planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples) + AV_PIX_FMT_YUV411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) + AV_PIX_FMT_GRAY8, ///< Y , 8bpp + AV_PIX_FMT_MONOWHITE, ///< Y , 1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb + AV_PIX_FMT_MONOBLACK, ///< Y , 1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb + AV_PIX_FMT_PAL8, ///< 8 bits with AV_PIX_FMT_RGB32 palette + AV_PIX_FMT_YUVJ420P, ///< planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting color_range + AV_PIX_FMT_YUVJ422P, ///< planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting color_range + AV_PIX_FMT_YUVJ444P, ///< planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting color_range +#if FF_API_XVMC + AV_PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing + AV_PIX_FMT_XVMC_MPEG2_IDCT, + AV_PIX_FMT_XVMC = AV_PIX_FMT_XVMC_MPEG2_IDCT, +#endif /* FF_API_XVMC */ + AV_PIX_FMT_UYVY422, ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1 + AV_PIX_FMT_UYYVYY411, ///< packed YUV 4:1:1, 12bpp, Cb Y0 Y1 Cr Y2 Y3 + AV_PIX_FMT_BGR8, ///< packed RGB 3:3:2, 8bpp, (msb)2B 3G 3R(lsb) + AV_PIX_FMT_BGR4, ///< packed RGB 1:2:1 bitstream, 4bpp, (msb)1B 2G 1R(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits + AV_PIX_FMT_BGR4_BYTE, ///< packed RGB 1:2:1, 8bpp, (msb)1B 2G 1R(lsb) + AV_PIX_FMT_RGB8, ///< packed RGB 3:3:2, 8bpp, (msb)2R 3G 3B(lsb) + AV_PIX_FMT_RGB4, ///< packed RGB 1:2:1 bitstream, 4bpp, (msb)1R 2G 1B(lsb), a byte contains two pixels, the first pixel in the byte is the one composed by the 4 msb bits + AV_PIX_FMT_RGB4_BYTE, ///< packed RGB 1:2:1, 8bpp, (msb)1R 2G 1B(lsb) + AV_PIX_FMT_NV12, ///< planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V) + AV_PIX_FMT_NV21, ///< as above, but U and V bytes are swapped + + AV_PIX_FMT_ARGB, ///< packed ARGB 8:8:8:8, 32bpp, ARGBARGB... + AV_PIX_FMT_RGBA, ///< packed RGBA 8:8:8:8, 32bpp, RGBARGBA... + AV_PIX_FMT_ABGR, ///< packed ABGR 8:8:8:8, 32bpp, ABGRABGR... + AV_PIX_FMT_BGRA, ///< packed BGRA 8:8:8:8, 32bpp, BGRABGRA... + + AV_PIX_FMT_GRAY16BE, ///< Y , 16bpp, big-endian + AV_PIX_FMT_GRAY16LE, ///< Y , 16bpp, little-endian + AV_PIX_FMT_YUV440P, ///< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples) + AV_PIX_FMT_YUVJ440P, ///< planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range + AV_PIX_FMT_YUVA420P, ///< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples) +#if FF_API_VDPAU + AV_PIX_FMT_VDPAU_H264,///< H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers + AV_PIX_FMT_VDPAU_MPEG1,///< MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers + AV_PIX_FMT_VDPAU_MPEG2,///< MPEG-2 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers + AV_PIX_FMT_VDPAU_WMV3,///< WMV3 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers + AV_PIX_FMT_VDPAU_VC1, ///< VC-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers +#endif + AV_PIX_FMT_RGB48BE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big-endian + AV_PIX_FMT_RGB48LE, ///< packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as little-endian + + AV_PIX_FMT_RGB565BE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), big-endian + AV_PIX_FMT_RGB565LE, ///< packed RGB 5:6:5, 16bpp, (msb) 5R 6G 5B(lsb), little-endian + AV_PIX_FMT_RGB555BE, ///< packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), big-endian , X=unused/undefined + AV_PIX_FMT_RGB555LE, ///< packed RGB 5:5:5, 16bpp, (msb)1X 5R 5G 5B(lsb), little-endian, X=unused/undefined + + AV_PIX_FMT_BGR565BE, ///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), big-endian + AV_PIX_FMT_BGR565LE, ///< packed BGR 5:6:5, 16bpp, (msb) 5B 6G 5R(lsb), little-endian + AV_PIX_FMT_BGR555BE, ///< packed BGR 5:5:5, 16bpp, (msb)1X 5B 5G 5R(lsb), big-endian , X=unused/undefined + AV_PIX_FMT_BGR555LE, ///< packed BGR 5:5:5, 16bpp, (msb)1X 5B 5G 5R(lsb), little-endian, X=unused/undefined + +#if FF_API_VAAPI + /** @name Deprecated pixel formats */ + /**@{*/ + AV_PIX_FMT_VAAPI_MOCO, ///< HW acceleration through VA API at motion compensation entry-point, Picture.data[3] contains a vaapi_render_state struct which contains macroblocks as well as various fields extracted from headers + AV_PIX_FMT_VAAPI_IDCT, ///< HW acceleration through VA API at IDCT entry-point, Picture.data[3] contains a vaapi_render_state struct which contains fields extracted from headers + AV_PIX_FMT_VAAPI_VLD, ///< HW decoding through VA API, Picture.data[3] contains a VASurfaceID + /**@}*/ + AV_PIX_FMT_VAAPI = AV_PIX_FMT_VAAPI_VLD, +#else + /** + * Hardware acceleration through VA-API, data[3] contains a + * VASurfaceID. + */ + AV_PIX_FMT_VAAPI, +#endif + + AV_PIX_FMT_YUV420P16LE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian + AV_PIX_FMT_YUV420P16BE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian + AV_PIX_FMT_YUV422P16LE, ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian + AV_PIX_FMT_YUV422P16BE, ///< planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian + AV_PIX_FMT_YUV444P16LE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian + AV_PIX_FMT_YUV444P16BE, ///< planar YUV 4:4:4, 48bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian +#if FF_API_VDPAU + AV_PIX_FMT_VDPAU_MPEG4, ///< MPEG-4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers +#endif + AV_PIX_FMT_DXVA2_VLD, ///< HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer + + AV_PIX_FMT_RGB444LE, ///< packed RGB 4:4:4, 16bpp, (msb)4X 4R 4G 4B(lsb), little-endian, X=unused/undefined + AV_PIX_FMT_RGB444BE, ///< packed RGB 4:4:4, 16bpp, (msb)4X 4R 4G 4B(lsb), big-endian, X=unused/undefined + AV_PIX_FMT_BGR444LE, ///< packed BGR 4:4:4, 16bpp, (msb)4X 4B 4G 4R(lsb), little-endian, X=unused/undefined + AV_PIX_FMT_BGR444BE, ///< packed BGR 4:4:4, 16bpp, (msb)4X 4B 4G 4R(lsb), big-endian, X=unused/undefined + AV_PIX_FMT_YA8, ///< 8 bits gray, 8 bits alpha + + AV_PIX_FMT_Y400A = AV_PIX_FMT_YA8, ///< alias for AV_PIX_FMT_YA8 + AV_PIX_FMT_GRAY8A= AV_PIX_FMT_YA8, ///< alias for AV_PIX_FMT_YA8 + + AV_PIX_FMT_BGR48BE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big-endian + AV_PIX_FMT_BGR48LE, ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as little-endian + + /** + * The following 12 formats have the disadvantage of needing 1 format for each bit depth. + * Notice that each 9/10 bits sample is stored in 16 bits with extra padding. + * If you want to support multiple bit depths, then using AV_PIX_FMT_YUV420P16* with the bpp stored separately is better. + */ + AV_PIX_FMT_YUV420P9BE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian + AV_PIX_FMT_YUV420P9LE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian + AV_PIX_FMT_YUV420P10BE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian + AV_PIX_FMT_YUV420P10LE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian + AV_PIX_FMT_YUV422P10BE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian + AV_PIX_FMT_YUV422P10LE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian + AV_PIX_FMT_YUV444P9BE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian + AV_PIX_FMT_YUV444P9LE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian + AV_PIX_FMT_YUV444P10BE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian + AV_PIX_FMT_YUV444P10LE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian + AV_PIX_FMT_YUV422P9BE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian + AV_PIX_FMT_YUV422P9LE, ///< planar YUV 4:2:2, 18bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian + AV_PIX_FMT_VDA_VLD, ///< hardware decoding through VDA + AV_PIX_FMT_GBRP, ///< planar GBR 4:4:4 24bpp + AV_PIX_FMT_GBR24P = AV_PIX_FMT_GBRP, // alias for #AV_PIX_FMT_GBRP + AV_PIX_FMT_GBRP9BE, ///< planar GBR 4:4:4 27bpp, big-endian + AV_PIX_FMT_GBRP9LE, ///< planar GBR 4:4:4 27bpp, little-endian + AV_PIX_FMT_GBRP10BE, ///< planar GBR 4:4:4 30bpp, big-endian + AV_PIX_FMT_GBRP10LE, ///< planar GBR 4:4:4 30bpp, little-endian + AV_PIX_FMT_GBRP16BE, ///< planar GBR 4:4:4 48bpp, big-endian + AV_PIX_FMT_GBRP16LE, ///< planar GBR 4:4:4 48bpp, little-endian + AV_PIX_FMT_YUVA422P, ///< planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples) + AV_PIX_FMT_YUVA444P, ///< planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples) + AV_PIX_FMT_YUVA420P9BE, ///< planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), big-endian + AV_PIX_FMT_YUVA420P9LE, ///< planar YUV 4:2:0 22.5bpp, (1 Cr & Cb sample per 2x2 Y & A samples), little-endian + AV_PIX_FMT_YUVA422P9BE, ///< planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), big-endian + AV_PIX_FMT_YUVA422P9LE, ///< planar YUV 4:2:2 27bpp, (1 Cr & Cb sample per 2x1 Y & A samples), little-endian + AV_PIX_FMT_YUVA444P9BE, ///< planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), big-endian + AV_PIX_FMT_YUVA444P9LE, ///< planar YUV 4:4:4 36bpp, (1 Cr & Cb sample per 1x1 Y & A samples), little-endian + AV_PIX_FMT_YUVA420P10BE, ///< planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian) + AV_PIX_FMT_YUVA420P10LE, ///< planar YUV 4:2:0 25bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian) + AV_PIX_FMT_YUVA422P10BE, ///< planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian) + AV_PIX_FMT_YUVA422P10LE, ///< planar YUV 4:2:2 30bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian) + AV_PIX_FMT_YUVA444P10BE, ///< planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian) + AV_PIX_FMT_YUVA444P10LE, ///< planar YUV 4:4:4 40bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian) + AV_PIX_FMT_YUVA420P16BE, ///< planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, big-endian) + AV_PIX_FMT_YUVA420P16LE, ///< planar YUV 4:2:0 40bpp, (1 Cr & Cb sample per 2x2 Y & A samples, little-endian) + AV_PIX_FMT_YUVA422P16BE, ///< planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, big-endian) + AV_PIX_FMT_YUVA422P16LE, ///< planar YUV 4:2:2 48bpp, (1 Cr & Cb sample per 2x1 Y & A samples, little-endian) + AV_PIX_FMT_YUVA444P16BE, ///< planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, big-endian) + AV_PIX_FMT_YUVA444P16LE, ///< planar YUV 4:4:4 64bpp, (1 Cr & Cb sample per 1x1 Y & A samples, little-endian) + + AV_PIX_FMT_VDPAU, ///< HW acceleration through VDPAU, Picture.data[3] contains a VdpVideoSurface + + AV_PIX_FMT_XYZ12LE, ///< packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as little-endian, the 4 lower bits are set to 0 + AV_PIX_FMT_XYZ12BE, ///< packed XYZ 4:4:4, 36 bpp, (msb) 12X, 12Y, 12Z (lsb), the 2-byte value for each X/Y/Z is stored as big-endian, the 4 lower bits are set to 0 + AV_PIX_FMT_NV16, ///< interleaved chroma YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples) + AV_PIX_FMT_NV20LE, ///< interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian + AV_PIX_FMT_NV20BE, ///< interleaved chroma YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian + + AV_PIX_FMT_RGBA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian + AV_PIX_FMT_RGBA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian + AV_PIX_FMT_BGRA64BE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian + AV_PIX_FMT_BGRA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16B, 16G, 16R, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian + + AV_PIX_FMT_YVYU422, ///< packed YUV 4:2:2, 16bpp, Y0 Cr Y1 Cb + + AV_PIX_FMT_VDA, ///< HW acceleration through VDA, data[3] contains a CVPixelBufferRef + + AV_PIX_FMT_YA16BE, ///< 16 bits gray, 16 bits alpha (big-endian) + AV_PIX_FMT_YA16LE, ///< 16 bits gray, 16 bits alpha (little-endian) + + AV_PIX_FMT_GBRAP, ///< planar GBRA 4:4:4:4 32bpp + AV_PIX_FMT_GBRAP16BE, ///< planar GBRA 4:4:4:4 64bpp, big-endian + AV_PIX_FMT_GBRAP16LE, ///< planar GBRA 4:4:4:4 64bpp, little-endian + /** + * HW acceleration through QSV, data[3] contains a pointer to the + * mfxFrameSurface1 structure. + */ + AV_PIX_FMT_QSV, + /** + * HW acceleration though MMAL, data[3] contains a pointer to the + * MMAL_BUFFER_HEADER_T structure. + */ + AV_PIX_FMT_MMAL, + + AV_PIX_FMT_D3D11VA_VLD, ///< HW decoding through Direct3D11 via old API, Picture.data[3] contains a ID3D11VideoDecoderOutputView pointer + + /** + * HW acceleration through CUDA. data[i] contain CUdeviceptr pointers + * exactly as for system memory frames. + */ + AV_PIX_FMT_CUDA, + + AV_PIX_FMT_0RGB=0x123+4,///< packed RGB 8:8:8, 32bpp, XRGBXRGB... X=unused/undefined + AV_PIX_FMT_RGB0, ///< packed RGB 8:8:8, 32bpp, RGBXRGBX... X=unused/undefined + AV_PIX_FMT_0BGR, ///< packed BGR 8:8:8, 32bpp, XBGRXBGR... X=unused/undefined + AV_PIX_FMT_BGR0, ///< packed BGR 8:8:8, 32bpp, BGRXBGRX... X=unused/undefined + + AV_PIX_FMT_YUV420P12BE, ///< planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian + AV_PIX_FMT_YUV420P12LE, ///< planar YUV 4:2:0,18bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian + AV_PIX_FMT_YUV420P14BE, ///< planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian + AV_PIX_FMT_YUV420P14LE, ///< planar YUV 4:2:0,21bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian + AV_PIX_FMT_YUV422P12BE, ///< planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian + AV_PIX_FMT_YUV422P12LE, ///< planar YUV 4:2:2,24bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian + AV_PIX_FMT_YUV422P14BE, ///< planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian + AV_PIX_FMT_YUV422P14LE, ///< planar YUV 4:2:2,28bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian + AV_PIX_FMT_YUV444P12BE, ///< planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian + AV_PIX_FMT_YUV444P12LE, ///< planar YUV 4:4:4,36bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian + AV_PIX_FMT_YUV444P14BE, ///< planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian + AV_PIX_FMT_YUV444P14LE, ///< planar YUV 4:4:4,42bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian + AV_PIX_FMT_GBRP12BE, ///< planar GBR 4:4:4 36bpp, big-endian + AV_PIX_FMT_GBRP12LE, ///< planar GBR 4:4:4 36bpp, little-endian + AV_PIX_FMT_GBRP14BE, ///< planar GBR 4:4:4 42bpp, big-endian + AV_PIX_FMT_GBRP14LE, ///< planar GBR 4:4:4 42bpp, little-endian + AV_PIX_FMT_YUVJ411P, ///< planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV411P and setting color_range + + AV_PIX_FMT_BAYER_BGGR8, ///< bayer, BGBG..(odd line), GRGR..(even line), 8-bit samples */ + AV_PIX_FMT_BAYER_RGGB8, ///< bayer, RGRG..(odd line), GBGB..(even line), 8-bit samples */ + AV_PIX_FMT_BAYER_GBRG8, ///< bayer, GBGB..(odd line), RGRG..(even line), 8-bit samples */ + AV_PIX_FMT_BAYER_GRBG8, ///< bayer, GRGR..(odd line), BGBG..(even line), 8-bit samples */ + AV_PIX_FMT_BAYER_BGGR16LE, ///< bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, little-endian */ + AV_PIX_FMT_BAYER_BGGR16BE, ///< bayer, BGBG..(odd line), GRGR..(even line), 16-bit samples, big-endian */ + AV_PIX_FMT_BAYER_RGGB16LE, ///< bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, little-endian */ + AV_PIX_FMT_BAYER_RGGB16BE, ///< bayer, RGRG..(odd line), GBGB..(even line), 16-bit samples, big-endian */ + AV_PIX_FMT_BAYER_GBRG16LE, ///< bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, little-endian */ + AV_PIX_FMT_BAYER_GBRG16BE, ///< bayer, GBGB..(odd line), RGRG..(even line), 16-bit samples, big-endian */ + AV_PIX_FMT_BAYER_GRBG16LE, ///< bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, little-endian */ + AV_PIX_FMT_BAYER_GRBG16BE, ///< bayer, GRGR..(odd line), BGBG..(even line), 16-bit samples, big-endian */ +#if !FF_API_XVMC + AV_PIX_FMT_XVMC,///< XVideo Motion Acceleration via common packet passing +#endif /* !FF_API_XVMC */ + AV_PIX_FMT_YUV440P10LE, ///< planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian + AV_PIX_FMT_YUV440P10BE, ///< planar YUV 4:4:0,20bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian + AV_PIX_FMT_YUV440P12LE, ///< planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), little-endian + AV_PIX_FMT_YUV440P12BE, ///< planar YUV 4:4:0,24bpp, (1 Cr & Cb sample per 1x2 Y samples), big-endian + AV_PIX_FMT_AYUV64LE, ///< packed AYUV 4:4:4,64bpp (1 Cr & Cb sample per 1x1 Y & A samples), little-endian + AV_PIX_FMT_AYUV64BE, ///< packed AYUV 4:4:4,64bpp (1 Cr & Cb sample per 1x1 Y & A samples), big-endian + + AV_PIX_FMT_VIDEOTOOLBOX, ///< hardware decoding through Videotoolbox + + AV_PIX_FMT_P010LE, ///< like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, little-endian + AV_PIX_FMT_P010BE, ///< like NV12, with 10bpp per component, data in the high bits, zeros in the low bits, big-endian + + AV_PIX_FMT_GBRAP12BE, ///< planar GBR 4:4:4:4 48bpp, big-endian + AV_PIX_FMT_GBRAP12LE, ///< planar GBR 4:4:4:4 48bpp, little-endian + + AV_PIX_FMT_GBRAP10BE, ///< planar GBR 4:4:4:4 40bpp, big-endian + AV_PIX_FMT_GBRAP10LE, ///< planar GBR 4:4:4:4 40bpp, little-endian + + AV_PIX_FMT_MEDIACODEC, ///< hardware decoding through MediaCodec + + AV_PIX_FMT_GRAY12BE, ///< Y , 12bpp, big-endian + AV_PIX_FMT_GRAY12LE, ///< Y , 12bpp, little-endian + AV_PIX_FMT_GRAY10BE, ///< Y , 10bpp, big-endian + AV_PIX_FMT_GRAY10LE, ///< Y , 10bpp, little-endian + + AV_PIX_FMT_P016LE, ///< like NV12, with 16bpp per component, little-endian + AV_PIX_FMT_P016BE, ///< like NV12, with 16bpp per component, big-endian + + /** + * Hardware surfaces for Direct3D11. + * + * This is preferred over the legacy AV_PIX_FMT_D3D11VA_VLD. The new D3D11 + * hwaccel API and filtering support AV_PIX_FMT_D3D11 only. + * + * data[0] contains a ID3D11Texture2D pointer, and data[1] contains the + * texture array index of the frame as intptr_t if the ID3D11Texture2D is + * an array texture (or always 0 if it's a normal texture). + */ + AV_PIX_FMT_D3D11, + + AV_PIX_FMT_GRAY9BE, ///< Y , 9bpp, big-endian + AV_PIX_FMT_GRAY9LE, ///< Y , 9bpp, little-endian + + AV_PIX_FMT_GBRPF32BE, ///< IEEE-754 single precision planar GBR 4:4:4, 96bpp, big-endian + AV_PIX_FMT_GBRPF32LE, ///< IEEE-754 single precision planar GBR 4:4:4, 96bpp, little-endian + AV_PIX_FMT_GBRAPF32BE, ///< IEEE-754 single precision planar GBRA 4:4:4:4, 128bpp, big-endian + AV_PIX_FMT_GBRAPF32LE, ///< IEEE-754 single precision planar GBRA 4:4:4:4, 128bpp, little-endian + + /** + * DRM-managed buffers exposed through PRIME buffer sharing. + * + * data[0] points to an AVDRMFrameDescriptor. + */ + AV_PIX_FMT_DRM_PRIME, + + AV_PIX_FMT_NB ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions +}; + +#if AV_HAVE_BIGENDIAN +# define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##be +#else +# define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##le +#endif + +#define AV_PIX_FMT_RGB32 AV_PIX_FMT_NE(ARGB, BGRA) +#define AV_PIX_FMT_RGB32_1 AV_PIX_FMT_NE(RGBA, ABGR) +#define AV_PIX_FMT_BGR32 AV_PIX_FMT_NE(ABGR, RGBA) +#define AV_PIX_FMT_BGR32_1 AV_PIX_FMT_NE(BGRA, ARGB) +#define AV_PIX_FMT_0RGB32 AV_PIX_FMT_NE(0RGB, BGR0) +#define AV_PIX_FMT_0BGR32 AV_PIX_FMT_NE(0BGR, RGB0) + +#define AV_PIX_FMT_GRAY9 AV_PIX_FMT_NE(GRAY9BE, GRAY9LE) +#define AV_PIX_FMT_GRAY10 AV_PIX_FMT_NE(GRAY10BE, GRAY10LE) +#define AV_PIX_FMT_GRAY12 AV_PIX_FMT_NE(GRAY12BE, GRAY12LE) +#define AV_PIX_FMT_GRAY16 AV_PIX_FMT_NE(GRAY16BE, GRAY16LE) +#define AV_PIX_FMT_YA16 AV_PIX_FMT_NE(YA16BE, YA16LE) +#define AV_PIX_FMT_RGB48 AV_PIX_FMT_NE(RGB48BE, RGB48LE) +#define AV_PIX_FMT_RGB565 AV_PIX_FMT_NE(RGB565BE, RGB565LE) +#define AV_PIX_FMT_RGB555 AV_PIX_FMT_NE(RGB555BE, RGB555LE) +#define AV_PIX_FMT_RGB444 AV_PIX_FMT_NE(RGB444BE, RGB444LE) +#define AV_PIX_FMT_RGBA64 AV_PIX_FMT_NE(RGBA64BE, RGBA64LE) +#define AV_PIX_FMT_BGR48 AV_PIX_FMT_NE(BGR48BE, BGR48LE) +#define AV_PIX_FMT_BGR565 AV_PIX_FMT_NE(BGR565BE, BGR565LE) +#define AV_PIX_FMT_BGR555 AV_PIX_FMT_NE(BGR555BE, BGR555LE) +#define AV_PIX_FMT_BGR444 AV_PIX_FMT_NE(BGR444BE, BGR444LE) +#define AV_PIX_FMT_BGRA64 AV_PIX_FMT_NE(BGRA64BE, BGRA64LE) + +#define AV_PIX_FMT_YUV420P9 AV_PIX_FMT_NE(YUV420P9BE , YUV420P9LE) +#define AV_PIX_FMT_YUV422P9 AV_PIX_FMT_NE(YUV422P9BE , YUV422P9LE) +#define AV_PIX_FMT_YUV444P9 AV_PIX_FMT_NE(YUV444P9BE , YUV444P9LE) +#define AV_PIX_FMT_YUV420P10 AV_PIX_FMT_NE(YUV420P10BE, YUV420P10LE) +#define AV_PIX_FMT_YUV422P10 AV_PIX_FMT_NE(YUV422P10BE, YUV422P10LE) +#define AV_PIX_FMT_YUV440P10 AV_PIX_FMT_NE(YUV440P10BE, YUV440P10LE) +#define AV_PIX_FMT_YUV444P10 AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE) +#define AV_PIX_FMT_YUV420P12 AV_PIX_FMT_NE(YUV420P12BE, YUV420P12LE) +#define AV_PIX_FMT_YUV422P12 AV_PIX_FMT_NE(YUV422P12BE, YUV422P12LE) +#define AV_PIX_FMT_YUV440P12 AV_PIX_FMT_NE(YUV440P12BE, YUV440P12LE) +#define AV_PIX_FMT_YUV444P12 AV_PIX_FMT_NE(YUV444P12BE, YUV444P12LE) +#define AV_PIX_FMT_YUV420P14 AV_PIX_FMT_NE(YUV420P14BE, YUV420P14LE) +#define AV_PIX_FMT_YUV422P14 AV_PIX_FMT_NE(YUV422P14BE, YUV422P14LE) +#define AV_PIX_FMT_YUV444P14 AV_PIX_FMT_NE(YUV444P14BE, YUV444P14LE) +#define AV_PIX_FMT_YUV420P16 AV_PIX_FMT_NE(YUV420P16BE, YUV420P16LE) +#define AV_PIX_FMT_YUV422P16 AV_PIX_FMT_NE(YUV422P16BE, YUV422P16LE) +#define AV_PIX_FMT_YUV444P16 AV_PIX_FMT_NE(YUV444P16BE, YUV444P16LE) + +#define AV_PIX_FMT_GBRP9 AV_PIX_FMT_NE(GBRP9BE , GBRP9LE) +#define AV_PIX_FMT_GBRP10 AV_PIX_FMT_NE(GBRP10BE, GBRP10LE) +#define AV_PIX_FMT_GBRP12 AV_PIX_FMT_NE(GBRP12BE, GBRP12LE) +#define AV_PIX_FMT_GBRP14 AV_PIX_FMT_NE(GBRP14BE, GBRP14LE) +#define AV_PIX_FMT_GBRP16 AV_PIX_FMT_NE(GBRP16BE, GBRP16LE) +#define AV_PIX_FMT_GBRAP10 AV_PIX_FMT_NE(GBRAP10BE, GBRAP10LE) +#define AV_PIX_FMT_GBRAP12 AV_PIX_FMT_NE(GBRAP12BE, GBRAP12LE) +#define AV_PIX_FMT_GBRAP16 AV_PIX_FMT_NE(GBRAP16BE, GBRAP16LE) + +#define AV_PIX_FMT_BAYER_BGGR16 AV_PIX_FMT_NE(BAYER_BGGR16BE, BAYER_BGGR16LE) +#define AV_PIX_FMT_BAYER_RGGB16 AV_PIX_FMT_NE(BAYER_RGGB16BE, BAYER_RGGB16LE) +#define AV_PIX_FMT_BAYER_GBRG16 AV_PIX_FMT_NE(BAYER_GBRG16BE, BAYER_GBRG16LE) +#define AV_PIX_FMT_BAYER_GRBG16 AV_PIX_FMT_NE(BAYER_GRBG16BE, BAYER_GRBG16LE) + +#define AV_PIX_FMT_GBRPF32 AV_PIX_FMT_NE(GBRPF32BE, GBRPF32LE) +#define AV_PIX_FMT_GBRAPF32 AV_PIX_FMT_NE(GBRAPF32BE, GBRAPF32LE) + +#define AV_PIX_FMT_YUVA420P9 AV_PIX_FMT_NE(YUVA420P9BE , YUVA420P9LE) +#define AV_PIX_FMT_YUVA422P9 AV_PIX_FMT_NE(YUVA422P9BE , YUVA422P9LE) +#define AV_PIX_FMT_YUVA444P9 AV_PIX_FMT_NE(YUVA444P9BE , YUVA444P9LE) +#define AV_PIX_FMT_YUVA420P10 AV_PIX_FMT_NE(YUVA420P10BE, YUVA420P10LE) +#define AV_PIX_FMT_YUVA422P10 AV_PIX_FMT_NE(YUVA422P10BE, YUVA422P10LE) +#define AV_PIX_FMT_YUVA444P10 AV_PIX_FMT_NE(YUVA444P10BE, YUVA444P10LE) +#define AV_PIX_FMT_YUVA420P16 AV_PIX_FMT_NE(YUVA420P16BE, YUVA420P16LE) +#define AV_PIX_FMT_YUVA422P16 AV_PIX_FMT_NE(YUVA422P16BE, YUVA422P16LE) +#define AV_PIX_FMT_YUVA444P16 AV_PIX_FMT_NE(YUVA444P16BE, YUVA444P16LE) + +#define AV_PIX_FMT_XYZ12 AV_PIX_FMT_NE(XYZ12BE, XYZ12LE) +#define AV_PIX_FMT_NV20 AV_PIX_FMT_NE(NV20BE, NV20LE) +#define AV_PIX_FMT_AYUV64 AV_PIX_FMT_NE(AYUV64BE, AYUV64LE) +#define AV_PIX_FMT_P010 AV_PIX_FMT_NE(P010BE, P010LE) +#define AV_PIX_FMT_P016 AV_PIX_FMT_NE(P016BE, P016LE) + +/** + * Chromaticity coordinates of the source primaries. + * These values match the ones defined by ISO/IEC 23001-8_2013 § 7.1. + */ +enum AVColorPrimaries { + AVCOL_PRI_RESERVED0 = 0, + AVCOL_PRI_BT709 = 1, ///< also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP177 Annex B + AVCOL_PRI_UNSPECIFIED = 2, + AVCOL_PRI_RESERVED = 3, + AVCOL_PRI_BT470M = 4, ///< also FCC Title 47 Code of Federal Regulations 73.682 (a)(20) + + AVCOL_PRI_BT470BG = 5, ///< also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM + AVCOL_PRI_SMPTE170M = 6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC + AVCOL_PRI_SMPTE240M = 7, ///< functionally identical to above + AVCOL_PRI_FILM = 8, ///< colour filters using Illuminant C + AVCOL_PRI_BT2020 = 9, ///< ITU-R BT2020 + AVCOL_PRI_SMPTE428 = 10, ///< SMPTE ST 428-1 (CIE 1931 XYZ) + AVCOL_PRI_SMPTEST428_1 = AVCOL_PRI_SMPTE428, + AVCOL_PRI_SMPTE431 = 11, ///< SMPTE ST 431-2 (2011) / DCI P3 + AVCOL_PRI_SMPTE432 = 12, ///< SMPTE ST 432-1 (2010) / P3 D65 / Display P3 + AVCOL_PRI_JEDEC_P22 = 22, ///< JEDEC P22 phosphors + AVCOL_PRI_NB ///< Not part of ABI +}; + +/** + * Color Transfer Characteristic. + * These values match the ones defined by ISO/IEC 23001-8_2013 § 7.2. + */ +enum AVColorTransferCharacteristic { + AVCOL_TRC_RESERVED0 = 0, + AVCOL_TRC_BT709 = 1, ///< also ITU-R BT1361 + AVCOL_TRC_UNSPECIFIED = 2, + AVCOL_TRC_RESERVED = 3, + AVCOL_TRC_GAMMA22 = 4, ///< also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM + AVCOL_TRC_GAMMA28 = 5, ///< also ITU-R BT470BG + AVCOL_TRC_SMPTE170M = 6, ///< also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC + AVCOL_TRC_SMPTE240M = 7, + AVCOL_TRC_LINEAR = 8, ///< "Linear transfer characteristics" + AVCOL_TRC_LOG = 9, ///< "Logarithmic transfer characteristic (100:1 range)" + AVCOL_TRC_LOG_SQRT = 10, ///< "Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)" + AVCOL_TRC_IEC61966_2_4 = 11, ///< IEC 61966-2-4 + AVCOL_TRC_BT1361_ECG = 12, ///< ITU-R BT1361 Extended Colour Gamut + AVCOL_TRC_IEC61966_2_1 = 13, ///< IEC 61966-2-1 (sRGB or sYCC) + AVCOL_TRC_BT2020_10 = 14, ///< ITU-R BT2020 for 10-bit system + AVCOL_TRC_BT2020_12 = 15, ///< ITU-R BT2020 for 12-bit system + AVCOL_TRC_SMPTE2084 = 16, ///< SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems + AVCOL_TRC_SMPTEST2084 = AVCOL_TRC_SMPTE2084, + AVCOL_TRC_SMPTE428 = 17, ///< SMPTE ST 428-1 + AVCOL_TRC_SMPTEST428_1 = AVCOL_TRC_SMPTE428, + AVCOL_TRC_ARIB_STD_B67 = 18, ///< ARIB STD-B67, known as "Hybrid log-gamma" + AVCOL_TRC_NB ///< Not part of ABI +}; + +/** + * YUV colorspace type. + * These values match the ones defined by ISO/IEC 23001-8_2013 § 7.3. + */ +enum AVColorSpace { + AVCOL_SPC_RGB = 0, ///< order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB) + AVCOL_SPC_BT709 = 1, ///< also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B + AVCOL_SPC_UNSPECIFIED = 2, + AVCOL_SPC_RESERVED = 3, + AVCOL_SPC_FCC = 4, ///< FCC Title 47 Code of Federal Regulations 73.682 (a)(20) + AVCOL_SPC_BT470BG = 5, ///< also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601 + AVCOL_SPC_SMPTE170M = 6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC + AVCOL_SPC_SMPTE240M = 7, ///< functionally identical to above + AVCOL_SPC_YCGCO = 8, ///< Used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16 + AVCOL_SPC_YCOCG = AVCOL_SPC_YCGCO, + AVCOL_SPC_BT2020_NCL = 9, ///< ITU-R BT2020 non-constant luminance system + AVCOL_SPC_BT2020_CL = 10, ///< ITU-R BT2020 constant luminance system + AVCOL_SPC_SMPTE2085 = 11, ///< SMPTE 2085, Y'D'zD'x + AVCOL_SPC_CHROMA_DERIVED_NCL = 12, ///< Chromaticity-derived non-constant luminance system + AVCOL_SPC_CHROMA_DERIVED_CL = 13, ///< Chromaticity-derived constant luminance system + AVCOL_SPC_ICTCP = 14, ///< ITU-R BT.2100-0, ICtCp + AVCOL_SPC_NB ///< Not part of ABI +}; + +/** + * MPEG vs JPEG YUV range. + */ +enum AVColorRange { + AVCOL_RANGE_UNSPECIFIED = 0, + AVCOL_RANGE_MPEG = 1, ///< the normal 219*2^(n-8) "MPEG" YUV ranges + AVCOL_RANGE_JPEG = 2, ///< the normal 2^n-1 "JPEG" YUV ranges + AVCOL_RANGE_NB ///< Not part of ABI +}; + +/** + * Location of chroma samples. + * + * Illustration showing the location of the first (top left) chroma sample of the + * image, the left shows only luma, the right + * shows the location of the chroma sample, the 2 could be imagined to overlay + * each other but are drawn separately due to limitations of ASCII + * + * 1st 2nd 1st 2nd horizontal luma sample positions + * v v v v + * ______ ______ + *1st luma line > |X X ... |3 4 X ... X are luma samples, + * | |1 2 1-6 are possible chroma positions + *2nd luma line > |X X ... |5 6 X ... 0 is undefined/unknown position + */ +enum AVChromaLocation { + AVCHROMA_LOC_UNSPECIFIED = 0, + AVCHROMA_LOC_LEFT = 1, ///< MPEG-2/4 4:2:0, H.264 default for 4:2:0 + AVCHROMA_LOC_CENTER = 2, ///< MPEG-1 4:2:0, JPEG 4:2:0, H.263 4:2:0 + AVCHROMA_LOC_TOPLEFT = 3, ///< ITU-R 601, SMPTE 274M 296M S314M(DV 4:1:1), mpeg2 4:2:2 + AVCHROMA_LOC_TOP = 4, + AVCHROMA_LOC_BOTTOMLEFT = 5, + AVCHROMA_LOC_BOTTOM = 6, + AVCHROMA_LOC_NB ///< Not part of ABI +}; + +#endif /* AVUTIL_PIXFMT_H */ diff --git a/src/3rdparty/win32_include/libavutil/random_seed.h b/src/3rdparty/win32_include/libavutil/random_seed.h new file mode 100644 index 000000000..0462a048e --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/random_seed.h @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2009 Baptiste Coudurier + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_RANDOM_SEED_H +#define AVUTIL_RANDOM_SEED_H + +#include +/** + * @addtogroup lavu_crypto + * @{ + */ + +/** + * Get a seed to use in conjunction with random functions. + * This function tries to provide a good seed at a best effort bases. + * Its possible to call this function multiple times if more bits are needed. + * It can be quite slow, which is why it should only be used as seed for a faster + * PRNG. The quality of the seed depends on the platform. + */ +uint32_t av_get_random_seed(void); + +/** + * @} + */ + +#endif /* AVUTIL_RANDOM_SEED_H */ diff --git a/src/3rdparty/win32_include/libavutil/rational.h b/src/3rdparty/win32_include/libavutil/rational.h new file mode 100644 index 000000000..5c6b67b4e --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/rational.h @@ -0,0 +1,214 @@ +/* + * rational numbers + * Copyright (c) 2003 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu_math_rational + * Utilties for rational number calculation. + * @author Michael Niedermayer + */ + +#ifndef AVUTIL_RATIONAL_H +#define AVUTIL_RATIONAL_H + +#include +#include +#include "attributes.h" + +/** + * @defgroup lavu_math_rational AVRational + * @ingroup lavu_math + * Rational number calculation. + * + * While rational numbers can be expressed as floating-point numbers, the + * conversion process is a lossy one, so are floating-point operations. On the + * other hand, the nature of FFmpeg demands highly accurate calculation of + * timestamps. This set of rational number utilities serves as a generic + * interface for manipulating rational numbers as pairs of numerators and + * denominators. + * + * Many of the functions that operate on AVRational's have the suffix `_q`, in + * reference to the mathematical symbol "â„š" (Q) which denotes the set of all + * rational numbers. + * + * @{ + */ + +/** + * Rational number (pair of numerator and denominator). + */ +typedef struct AVRational{ + int num; ///< Numerator + int den; ///< Denominator +} AVRational; + +/** + * Create an AVRational. + * + * Useful for compilers that do not support compound literals. + * + * @note The return value is not reduced. + * @see av_reduce() + */ +static inline AVRational av_make_q(int num, int den) +{ + AVRational r = { num, den }; + return r; +} + +/** + * Compare two rationals. + * + * @param a First rational + * @param b Second rational + * + * @return One of the following values: + * - 0 if `a == b` + * - 1 if `a > b` + * - -1 if `a < b` + * - `INT_MIN` if one of the values is of the form `0 / 0` + */ +static inline int av_cmp_q(AVRational a, AVRational b){ + const int64_t tmp= a.num * (int64_t)b.den - b.num * (int64_t)a.den; + + if(tmp) return (int)((tmp ^ a.den ^ b.den)>>63)|1; + else if(b.den && a.den) return 0; + else if(a.num && b.num) return (a.num>>31) - (b.num>>31); + else return INT_MIN; +} + +/** + * Convert an AVRational to a `double`. + * @param a AVRational to convert + * @return `a` in floating-point form + * @see av_d2q() + */ +static inline double av_q2d(AVRational a){ + return a.num / (double) a.den; +} + +/** + * Reduce a fraction. + * + * This is useful for framerate calculations. + * + * @param[out] dst_num Destination numerator + * @param[out] dst_den Destination denominator + * @param[in] num Source numerator + * @param[in] den Source denominator + * @param[in] max Maximum allowed values for `dst_num` & `dst_den` + * @return 1 if the operation is exact, 0 otherwise + */ +int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max); + +/** + * Multiply two rationals. + * @param b First rational + * @param c Second rational + * @return b*c + */ +AVRational av_mul_q(AVRational b, AVRational c) av_const; + +/** + * Divide one rational by another. + * @param b First rational + * @param c Second rational + * @return b/c + */ +AVRational av_div_q(AVRational b, AVRational c) av_const; + +/** + * Add two rationals. + * @param b First rational + * @param c Second rational + * @return b+c + */ +AVRational av_add_q(AVRational b, AVRational c) av_const; + +/** + * Subtract one rational from another. + * @param b First rational + * @param c Second rational + * @return b-c + */ +AVRational av_sub_q(AVRational b, AVRational c) av_const; + +/** + * Invert a rational. + * @param q value + * @return 1 / q + */ +static av_always_inline AVRational av_inv_q(AVRational q) +{ + AVRational r = { q.den, q.num }; + return r; +} + +/** + * Convert a double precision floating point number to a rational. + * + * In case of infinity, the returned value is expressed as `{1, 0}` or + * `{-1, 0}` depending on the sign. + * + * @param d `double` to convert + * @param max Maximum allowed numerator and denominator + * @return `d` in AVRational form + * @see av_q2d() + */ +AVRational av_d2q(double d, int max) av_const; + +/** + * Find which of the two rationals is closer to another rational. + * + * @param q Rational to be compared against + * @param q1,q2 Rationals to be tested + * @return One of the following values: + * - 1 if `q1` is nearer to `q` than `q2` + * - -1 if `q2` is nearer to `q` than `q1` + * - 0 if they have the same distance + */ +int av_nearer_q(AVRational q, AVRational q1, AVRational q2); + +/** + * Find the value in a list of rationals nearest a given reference rational. + * + * @param q Reference rational + * @param q_list Array of rationals terminated by `{0, 0}` + * @return Index of the nearest value found in the array + */ +int av_find_nearest_q_idx(AVRational q, const AVRational* q_list); + +/** + * Convert an AVRational to a IEEE 32-bit `float` expressed in fixed-point + * format. + * + * @param q Rational to be converted + * @return Equivalent floating-point value, expressed as an unsigned 32-bit + * integer. + * @note The returned value is platform-indepedant. + */ +uint32_t av_q2intfloat(AVRational q); + +/** + * @} + */ + +#endif /* AVUTIL_RATIONAL_H */ diff --git a/src/3rdparty/win32_include/libavutil/rc4.h b/src/3rdparty/win32_include/libavutil/rc4.h new file mode 100644 index 000000000..029cd2ad5 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/rc4.h @@ -0,0 +1,66 @@ +/* + * RC4 encryption/decryption/pseudo-random number generator + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_RC4_H +#define AVUTIL_RC4_H + +#include + +/** + * @defgroup lavu_rc4 RC4 + * @ingroup lavu_crypto + * @{ + */ + +typedef struct AVRC4 { + uint8_t state[256]; + int x, y; +} AVRC4; + +/** + * Allocate an AVRC4 context. + */ +AVRC4 *av_rc4_alloc(void); + +/** + * @brief Initializes an AVRC4 context. + * + * @param key_bits must be a multiple of 8 + * @param decrypt 0 for encryption, 1 for decryption, currently has no effect + * @return zero on success, negative value otherwise + */ +int av_rc4_init(struct AVRC4 *d, const uint8_t *key, int key_bits, int decrypt); + +/** + * @brief Encrypts / decrypts using the RC4 algorithm. + * + * @param count number of bytes + * @param dst destination array, can be equal to src + * @param src source array, can be equal to dst, may be NULL + * @param iv not (yet) used for RC4, should be NULL + * @param decrypt 0 for encryption, 1 for decryption, not (yet) used + */ +void av_rc4_crypt(struct AVRC4 *d, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt); + +/** + * @} + */ + +#endif /* AVUTIL_RC4_H */ diff --git a/src/3rdparty/win32_include/libavutil/replaygain.h b/src/3rdparty/win32_include/libavutil/replaygain.h new file mode 100644 index 000000000..b49bf1a3d --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/replaygain.h @@ -0,0 +1,50 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_REPLAYGAIN_H +#define AVUTIL_REPLAYGAIN_H + +#include + +/** + * ReplayGain information (see + * http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_1.0_specification). + * The size of this struct is a part of the public ABI. + */ +typedef struct AVReplayGain { + /** + * Track replay gain in microbels (divide by 100000 to get the value in dB). + * Should be set to INT32_MIN when unknown. + */ + int32_t track_gain; + /** + * Peak track amplitude, with 100000 representing full scale (but values + * may overflow). 0 when unknown. + */ + uint32_t track_peak; + /** + * Same as track_gain, but for the whole album. + */ + int32_t album_gain; + /** + * Same as track_peak, but for the whole album, + */ + uint32_t album_peak; +} AVReplayGain; + +#endif /* AVUTIL_REPLAYGAIN_H */ diff --git a/src/3rdparty/win32_include/libavutil/ripemd.h b/src/3rdparty/win32_include/libavutil/ripemd.h new file mode 100644 index 000000000..6d6bb3208 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/ripemd.h @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2007 Michael Niedermayer + * Copyright (C) 2013 James Almer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu_ripemd + * Public header for RIPEMD hash function implementation. + */ + +#ifndef AVUTIL_RIPEMD_H +#define AVUTIL_RIPEMD_H + +#include + +#include "attributes.h" +#include "version.h" + +/** + * @defgroup lavu_ripemd RIPEMD + * @ingroup lavu_hash + * RIPEMD hash function implementation. + * + * @{ + */ + +extern const int av_ripemd_size; + +struct AVRIPEMD; + +/** + * Allocate an AVRIPEMD context. + */ +struct AVRIPEMD *av_ripemd_alloc(void); + +/** + * Initialize RIPEMD hashing. + * + * @param context pointer to the function context (of size av_ripemd_size) + * @param bits number of bits in digest (128, 160, 256 or 320 bits) + * @return zero if initialization succeeded, -1 otherwise + */ +int av_ripemd_init(struct AVRIPEMD* context, int bits); + +/** + * Update hash value. + * + * @param context hash function context + * @param data input data to update hash with + * @param len input data length + */ +void av_ripemd_update(struct AVRIPEMD* context, const uint8_t* data, unsigned int len); + +/** + * Finish hashing and output digest value. + * + * @param context hash function context + * @param digest buffer where output digest value is stored + */ +void av_ripemd_final(struct AVRIPEMD* context, uint8_t *digest); + +/** + * @} + */ + +#endif /* AVUTIL_RIPEMD_H */ diff --git a/src/3rdparty/win32_include/libavutil/samplefmt.h b/src/3rdparty/win32_include/libavutil/samplefmt.h new file mode 100644 index 000000000..8cd43ae85 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/samplefmt.h @@ -0,0 +1,272 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_SAMPLEFMT_H +#define AVUTIL_SAMPLEFMT_H + +#include + +#include "avutil.h" +#include "attributes.h" + +/** + * @addtogroup lavu_audio + * @{ + * + * @defgroup lavu_sampfmts Audio sample formats + * + * Audio sample format enumeration and related convenience functions. + * @{ + */ + +/** + * Audio sample formats + * + * - The data described by the sample format is always in native-endian order. + * Sample values can be expressed by native C types, hence the lack of a signed + * 24-bit sample format even though it is a common raw audio data format. + * + * - The floating-point formats are based on full volume being in the range + * [-1.0, 1.0]. Any values outside this range are beyond full volume level. + * + * - The data layout as used in av_samples_fill_arrays() and elsewhere in FFmpeg + * (such as AVFrame in libavcodec) is as follows: + * + * @par + * For planar sample formats, each audio channel is in a separate data plane, + * and linesize is the buffer size, in bytes, for a single plane. All data + * planes must be the same size. For packed sample formats, only the first data + * plane is used, and samples for each channel are interleaved. In this case, + * linesize is the buffer size, in bytes, for the 1 plane. + * + */ +enum AVSampleFormat { + AV_SAMPLE_FMT_NONE = -1, + AV_SAMPLE_FMT_U8, ///< unsigned 8 bits + AV_SAMPLE_FMT_S16, ///< signed 16 bits + AV_SAMPLE_FMT_S32, ///< signed 32 bits + AV_SAMPLE_FMT_FLT, ///< float + AV_SAMPLE_FMT_DBL, ///< double + + AV_SAMPLE_FMT_U8P, ///< unsigned 8 bits, planar + AV_SAMPLE_FMT_S16P, ///< signed 16 bits, planar + AV_SAMPLE_FMT_S32P, ///< signed 32 bits, planar + AV_SAMPLE_FMT_FLTP, ///< float, planar + AV_SAMPLE_FMT_DBLP, ///< double, planar + AV_SAMPLE_FMT_S64, ///< signed 64 bits + AV_SAMPLE_FMT_S64P, ///< signed 64 bits, planar + + AV_SAMPLE_FMT_NB ///< Number of sample formats. DO NOT USE if linking dynamically +}; + +/** + * Return the name of sample_fmt, or NULL if sample_fmt is not + * recognized. + */ +const char *av_get_sample_fmt_name(enum AVSampleFormat sample_fmt); + +/** + * Return a sample format corresponding to name, or AV_SAMPLE_FMT_NONE + * on error. + */ +enum AVSampleFormat av_get_sample_fmt(const char *name); + +/** + * Return the planar<->packed alternative form of the given sample format, or + * AV_SAMPLE_FMT_NONE on error. If the passed sample_fmt is already in the + * requested planar/packed format, the format returned is the same as the + * input. + */ +enum AVSampleFormat av_get_alt_sample_fmt(enum AVSampleFormat sample_fmt, int planar); + +/** + * Get the packed alternative form of the given sample format. + * + * If the passed sample_fmt is already in packed format, the format returned is + * the same as the input. + * + * @return the packed alternative form of the given sample format or + AV_SAMPLE_FMT_NONE on error. + */ +enum AVSampleFormat av_get_packed_sample_fmt(enum AVSampleFormat sample_fmt); + +/** + * Get the planar alternative form of the given sample format. + * + * If the passed sample_fmt is already in planar format, the format returned is + * the same as the input. + * + * @return the planar alternative form of the given sample format or + AV_SAMPLE_FMT_NONE on error. + */ +enum AVSampleFormat av_get_planar_sample_fmt(enum AVSampleFormat sample_fmt); + +/** + * Generate a string corresponding to the sample format with + * sample_fmt, or a header if sample_fmt is negative. + * + * @param buf the buffer where to write the string + * @param buf_size the size of buf + * @param sample_fmt the number of the sample format to print the + * corresponding info string, or a negative value to print the + * corresponding header. + * @return the pointer to the filled buffer or NULL if sample_fmt is + * unknown or in case of other errors + */ +char *av_get_sample_fmt_string(char *buf, int buf_size, enum AVSampleFormat sample_fmt); + +/** + * Return number of bytes per sample. + * + * @param sample_fmt the sample format + * @return number of bytes per sample or zero if unknown for the given + * sample format + */ +int av_get_bytes_per_sample(enum AVSampleFormat sample_fmt); + +/** + * Check if the sample format is planar. + * + * @param sample_fmt the sample format to inspect + * @return 1 if the sample format is planar, 0 if it is interleaved + */ +int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt); + +/** + * Get the required buffer size for the given audio parameters. + * + * @param[out] linesize calculated linesize, may be NULL + * @param nb_channels the number of channels + * @param nb_samples the number of samples in a single channel + * @param sample_fmt the sample format + * @param align buffer size alignment (0 = default, 1 = no alignment) + * @return required buffer size, or negative error code on failure + */ +int av_samples_get_buffer_size(int *linesize, int nb_channels, int nb_samples, + enum AVSampleFormat sample_fmt, int align); + +/** + * @} + * + * @defgroup lavu_sampmanip Samples manipulation + * + * Functions that manipulate audio samples + * @{ + */ + +/** + * Fill plane data pointers and linesize for samples with sample + * format sample_fmt. + * + * The audio_data array is filled with the pointers to the samples data planes: + * for planar, set the start point of each channel's data within the buffer, + * for packed, set the start point of the entire buffer only. + * + * The value pointed to by linesize is set to the aligned size of each + * channel's data buffer for planar layout, or to the aligned size of the + * buffer for all channels for packed layout. + * + * The buffer in buf must be big enough to contain all the samples + * (use av_samples_get_buffer_size() to compute its minimum size), + * otherwise the audio_data pointers will point to invalid data. + * + * @see enum AVSampleFormat + * The documentation for AVSampleFormat describes the data layout. + * + * @param[out] audio_data array to be filled with the pointer for each channel + * @param[out] linesize calculated linesize, may be NULL + * @param buf the pointer to a buffer containing the samples + * @param nb_channels the number of channels + * @param nb_samples the number of samples in a single channel + * @param sample_fmt the sample format + * @param align buffer size alignment (0 = default, 1 = no alignment) + * @return >=0 on success or a negative error code on failure + * @todo return minimum size in bytes required for the buffer in case + * of success at the next bump + */ +int av_samples_fill_arrays(uint8_t **audio_data, int *linesize, + const uint8_t *buf, + int nb_channels, int nb_samples, + enum AVSampleFormat sample_fmt, int align); + +/** + * Allocate a samples buffer for nb_samples samples, and fill data pointers and + * linesize accordingly. + * The allocated samples buffer can be freed by using av_freep(&audio_data[0]) + * Allocated data will be initialized to silence. + * + * @see enum AVSampleFormat + * The documentation for AVSampleFormat describes the data layout. + * + * @param[out] audio_data array to be filled with the pointer for each channel + * @param[out] linesize aligned size for audio buffer(s), may be NULL + * @param nb_channels number of audio channels + * @param nb_samples number of samples per channel + * @param align buffer size alignment (0 = default, 1 = no alignment) + * @return >=0 on success or a negative error code on failure + * @todo return the size of the allocated buffer in case of success at the next bump + * @see av_samples_fill_arrays() + * @see av_samples_alloc_array_and_samples() + */ +int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels, + int nb_samples, enum AVSampleFormat sample_fmt, int align); + +/** + * Allocate a data pointers array, samples buffer for nb_samples + * samples, and fill data pointers and linesize accordingly. + * + * This is the same as av_samples_alloc(), but also allocates the data + * pointers array. + * + * @see av_samples_alloc() + */ +int av_samples_alloc_array_and_samples(uint8_t ***audio_data, int *linesize, int nb_channels, + int nb_samples, enum AVSampleFormat sample_fmt, int align); + +/** + * Copy samples from src to dst. + * + * @param dst destination array of pointers to data planes + * @param src source array of pointers to data planes + * @param dst_offset offset in samples at which the data will be written to dst + * @param src_offset offset in samples at which the data will be read from src + * @param nb_samples number of samples to be copied + * @param nb_channels number of audio channels + * @param sample_fmt audio sample format + */ +int av_samples_copy(uint8_t **dst, uint8_t * const *src, int dst_offset, + int src_offset, int nb_samples, int nb_channels, + enum AVSampleFormat sample_fmt); + +/** + * Fill an audio buffer with silence. + * + * @param audio_data array of pointers to data planes + * @param offset offset in samples at which to start filling + * @param nb_samples number of samples to fill + * @param nb_channels number of audio channels + * @param sample_fmt audio sample format + */ +int av_samples_set_silence(uint8_t **audio_data, int offset, int nb_samples, + int nb_channels, enum AVSampleFormat sample_fmt); + +/** + * @} + * @} + */ +#endif /* AVUTIL_SAMPLEFMT_H */ diff --git a/src/3rdparty/win32_include/libavutil/sha.h b/src/3rdparty/win32_include/libavutil/sha.h new file mode 100644 index 000000000..c0180e572 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/sha.h @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2007 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu_sha + * Public header for SHA-1 & SHA-256 hash function implementations. + */ + +#ifndef AVUTIL_SHA_H +#define AVUTIL_SHA_H + +#include +#include + +#include "attributes.h" +#include "version.h" + +/** + * @defgroup lavu_sha SHA + * @ingroup lavu_hash + * SHA-1 and SHA-256 (Secure Hash Algorithm) hash function implementations. + * + * This module supports the following SHA hash functions: + * + * - SHA-1: 160 bits + * - SHA-224: 224 bits, as a variant of SHA-2 + * - SHA-256: 256 bits, as a variant of SHA-2 + * + * @see For SHA-384, SHA-512, and variants thereof, see @ref lavu_sha512. + * + * @{ + */ + +extern const int av_sha_size; + +struct AVSHA; + +/** + * Allocate an AVSHA context. + */ +struct AVSHA *av_sha_alloc(void); + +/** + * Initialize SHA-1 or SHA-2 hashing. + * + * @param context pointer to the function context (of size av_sha_size) + * @param bits number of bits in digest (SHA-1 - 160 bits, SHA-2 224 or 256 bits) + * @return zero if initialization succeeded, -1 otherwise + */ +int av_sha_init(struct AVSHA* context, int bits); + +/** + * Update hash value. + * + * @param ctx hash function context + * @param data input data to update hash with + * @param len input data length + */ +#if FF_API_CRYPTO_SIZE_T +void av_sha_update(struct AVSHA *ctx, const uint8_t *data, unsigned int len); +#else +void av_sha_update(struct AVSHA *ctx, const uint8_t *data, size_t len); +#endif + +/** + * Finish hashing and output digest value. + * + * @param context hash function context + * @param digest buffer where output digest value is stored + */ +void av_sha_final(struct AVSHA* context, uint8_t *digest); + +/** + * @} + */ + +#endif /* AVUTIL_SHA_H */ diff --git a/src/3rdparty/win32_include/libavutil/sha512.h b/src/3rdparty/win32_include/libavutil/sha512.h new file mode 100644 index 000000000..bef714b41 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/sha512.h @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2007 Michael Niedermayer + * Copyright (C) 2013 James Almer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu_sha512 + * Public header for SHA-512 implementation. + */ + +#ifndef AVUTIL_SHA512_H +#define AVUTIL_SHA512_H + +#include +#include + +#include "attributes.h" +#include "version.h" + +/** + * @defgroup lavu_sha512 SHA-512 + * @ingroup lavu_hash + * SHA-512 (Secure Hash Algorithm) hash function implementations. + * + * This module supports the following SHA-2 hash functions: + * + * - SHA-512/224: 224 bits + * - SHA-512/256: 256 bits + * - SHA-384: 384 bits + * - SHA-512: 512 bits + * + * @see For SHA-1, SHA-256, and variants thereof, see @ref lavu_sha. + * + * @{ + */ + +extern const int av_sha512_size; + +struct AVSHA512; + +/** + * Allocate an AVSHA512 context. + */ +struct AVSHA512 *av_sha512_alloc(void); + +/** + * Initialize SHA-2 512 hashing. + * + * @param context pointer to the function context (of size av_sha512_size) + * @param bits number of bits in digest (224, 256, 384 or 512 bits) + * @return zero if initialization succeeded, -1 otherwise + */ +int av_sha512_init(struct AVSHA512* context, int bits); + +/** + * Update hash value. + * + * @param context hash function context + * @param data input data to update hash with + * @param len input data length + */ +#if FF_API_CRYPTO_SIZE_T +void av_sha512_update(struct AVSHA512* context, const uint8_t* data, unsigned int len); +#else +void av_sha512_update(struct AVSHA512* context, const uint8_t* data, size_t len); +#endif + +/** + * Finish hashing and output digest value. + * + * @param context hash function context + * @param digest buffer where output digest value is stored + */ +void av_sha512_final(struct AVSHA512* context, uint8_t *digest); + +/** + * @} + */ + +#endif /* AVUTIL_SHA512_H */ diff --git a/src/3rdparty/win32_include/libavutil/spherical.h b/src/3rdparty/win32_include/libavutil/spherical.h new file mode 100644 index 000000000..cef759cf2 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/spherical.h @@ -0,0 +1,232 @@ +/* + * Copyright (c) 2016 Vittorio Giovara + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * Spherical video + */ + +#ifndef AVUTIL_SPHERICAL_H +#define AVUTIL_SPHERICAL_H + +#include +#include + +/** + * @addtogroup lavu_video + * @{ + * + * @defgroup lavu_video_spherical Spherical video mapping + * @{ + */ + +/** + * @addtogroup lavu_video_spherical + * A spherical video file contains surfaces that need to be mapped onto a + * sphere. Depending on how the frame was converted, a different distortion + * transformation or surface recomposition function needs to be applied before + * the video should be mapped and displayed. + */ + +/** + * Projection of the video surface(s) on a sphere. + */ +enum AVSphericalProjection { + /** + * Video represents a sphere mapped on a flat surface using + * equirectangular projection. + */ + AV_SPHERICAL_EQUIRECTANGULAR, + + /** + * Video frame is split into 6 faces of a cube, and arranged on a + * 3x2 layout. Faces are oriented upwards for the front, left, right, + * and back faces. The up face is oriented so the top of the face is + * forwards and the down face is oriented so the top of the face is + * to the back. + */ + AV_SPHERICAL_CUBEMAP, + + /** + * Video represents a portion of a sphere mapped on a flat surface + * using equirectangular projection. The @ref bounding fields indicate + * the position of the current video in a larger surface. + */ + AV_SPHERICAL_EQUIRECTANGULAR_TILE, +}; + +/** + * This structure describes how to handle spherical videos, outlining + * information about projection, initial layout, and any other view modifier. + * + * @note The struct must be allocated with av_spherical_alloc() and + * its size is not a part of the public ABI. + */ +typedef struct AVSphericalMapping { + /** + * Projection type. + */ + enum AVSphericalProjection projection; + + /** + * @name Initial orientation + * @{ + * There fields describe additional rotations applied to the sphere after + * the video frame is mapped onto it. The sphere is rotated around the + * viewer, who remains stationary. The order of transformation is always + * yaw, followed by pitch, and finally by roll. + * + * The coordinate system matches the one defined in OpenGL, where the + * forward vector (z) is coming out of screen, and it is equivalent to + * a rotation matrix of R = r_y(yaw) * r_x(pitch) * r_z(roll). + * + * A positive yaw rotates the portion of the sphere in front of the viewer + * toward their right. A positive pitch rotates the portion of the sphere + * in front of the viewer upwards. A positive roll tilts the portion of + * the sphere in front of the viewer to the viewer's right. + * + * These values are exported as 16.16 fixed point. + * + * See this equirectangular projection as example: + * + * @code{.unparsed} + * Yaw + * -180 0 180 + * 90 +-------------+-------------+ 180 + * | | | up + * P | | | y| forward + * i | ^ | | /z + * t 0 +-------------X-------------+ 0 Roll | / + * c | | | | / + * h | | | 0|/_____right + * | | | x + * -90 +-------------+-------------+ -180 + * + * X - the default camera center + * ^ - the default up vector + * @endcode + */ + int32_t yaw; ///< Rotation around the up vector [-180, 180]. + int32_t pitch; ///< Rotation around the right vector [-90, 90]. + int32_t roll; ///< Rotation around the forward vector [-180, 180]. + /** + * @} + */ + + /** + * @name Bounding rectangle + * @anchor bounding + * @{ + * These fields indicate the location of the current tile, and where + * it should be mapped relative to the original surface. They are + * exported as 0.32 fixed point, and can be converted to classic + * pixel values with av_spherical_bounds(). + * + * @code{.unparsed} + * +----------------+----------+ + * | |bound_top | + * | +--------+ | + * | bound_left |tile | | + * +<---------->| |<--->+bound_right + * | +--------+ | + * | | | + * | bound_bottom| | + * +----------------+----------+ + * @endcode + * + * If needed, the original video surface dimensions can be derived + * by adding the current stream or frame size to the related bounds, + * like in the following example: + * + * @code{c} + * original_width = tile->width + bound_left + bound_right; + * original_height = tile->height + bound_top + bound_bottom; + * @endcode + * + * @note These values are valid only for the tiled equirectangular + * projection type (@ref AV_SPHERICAL_EQUIRECTANGULAR_TILE), + * and should be ignored in all other cases. + */ + uint32_t bound_left; ///< Distance from the left edge + uint32_t bound_top; ///< Distance from the top edge + uint32_t bound_right; ///< Distance from the right edge + uint32_t bound_bottom; ///< Distance from the bottom edge + /** + * @} + */ + + /** + * Number of pixels to pad from the edge of each cube face. + * + * @note This value is valid for only for the cubemap projection type + * (@ref AV_SPHERICAL_CUBEMAP), and should be ignored in all other + * cases. + */ + uint32_t padding; +} AVSphericalMapping; + +/** + * Allocate a AVSphericalVideo structure and initialize its fields to default + * values. + * + * @return the newly allocated struct or NULL on failure + */ +AVSphericalMapping *av_spherical_alloc(size_t *size); + +/** + * Convert the @ref bounding fields from an AVSphericalVideo + * from 0.32 fixed point to pixels. + * + * @param map The AVSphericalVideo map to read bound values from. + * @param width Width of the current frame or stream. + * @param height Height of the current frame or stream. + * @param left Pixels from the left edge. + * @param top Pixels from the top edge. + * @param right Pixels from the right edge. + * @param bottom Pixels from the bottom edge. + */ +void av_spherical_tile_bounds(const AVSphericalMapping *map, + size_t width, size_t height, + size_t *left, size_t *top, + size_t *right, size_t *bottom); + +/** + * Provide a human-readable name of a given AVSphericalProjection. + * + * @param projection The input AVSphericalProjection. + * + * @return The name of the AVSphericalProjection, or "unknown". + */ +const char *av_spherical_projection_name(enum AVSphericalProjection projection); + +/** + * Get the AVSphericalProjection form a human-readable name. + * + * @param name The input string. + * + * @return The AVSphericalProjection value, or -1 if not found. + */ +int av_spherical_from_name(const char *name); +/** + * @} + * @} + */ + +#endif /* AVUTIL_SPHERICAL_H */ diff --git a/src/3rdparty/win32_include/libavutil/stereo3d.h b/src/3rdparty/win32_include/libavutil/stereo3d.h new file mode 100644 index 000000000..54f4c4c5c --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/stereo3d.h @@ -0,0 +1,209 @@ +/* + * Copyright (c) 2013 Vittorio Giovara + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * Stereoscopic video + */ + +#ifndef AVUTIL_STEREO3D_H +#define AVUTIL_STEREO3D_H + +#include + +#include "frame.h" + +/** + * @addtogroup lavu_video + * @{ + * + * @defgroup lavu_video_stereo3d Stereo3D types and functions + * @{ + */ + +/** + * @addtogroup lavu_video_stereo3d + * A stereoscopic video file consists in multiple views embedded in a single + * frame, usually describing two views of a scene. This file describes all + * possible codec-independent view arrangements. + * */ + +/** + * List of possible 3D Types + */ +enum AVStereo3DType { + /** + * Video is not stereoscopic (and metadata has to be there). + */ + AV_STEREO3D_2D, + + /** + * Views are next to each other. + * + * @code{.unparsed} + * LLLLRRRR + * LLLLRRRR + * LLLLRRRR + * ... + * @endcode + */ + AV_STEREO3D_SIDEBYSIDE, + + /** + * Views are on top of each other. + * + * @code{.unparsed} + * LLLLLLLL + * LLLLLLLL + * RRRRRRRR + * RRRRRRRR + * @endcode + */ + AV_STEREO3D_TOPBOTTOM, + + /** + * Views are alternated temporally. + * + * @code{.unparsed} + * frame0 frame1 frame2 ... + * LLLLLLLL RRRRRRRR LLLLLLLL + * LLLLLLLL RRRRRRRR LLLLLLLL + * LLLLLLLL RRRRRRRR LLLLLLLL + * ... ... ... + * @endcode + */ + AV_STEREO3D_FRAMESEQUENCE, + + /** + * Views are packed in a checkerboard-like structure per pixel. + * + * @code{.unparsed} + * LRLRLRLR + * RLRLRLRL + * LRLRLRLR + * ... + * @endcode + */ + AV_STEREO3D_CHECKERBOARD, + + /** + * Views are next to each other, but when upscaling + * apply a checkerboard pattern. + * + * @code{.unparsed} + * LLLLRRRR L L L L R R R R + * LLLLRRRR => L L L L R R R R + * LLLLRRRR L L L L R R R R + * LLLLRRRR L L L L R R R R + * @endcode + */ + AV_STEREO3D_SIDEBYSIDE_QUINCUNX, + + /** + * Views are packed per line, as if interlaced. + * + * @code{.unparsed} + * LLLLLLLL + * RRRRRRRR + * LLLLLLLL + * ... + * @endcode + */ + AV_STEREO3D_LINES, + + /** + * Views are packed per column. + * + * @code{.unparsed} + * LRLRLRLR + * LRLRLRLR + * LRLRLRLR + * ... + * @endcode + */ + AV_STEREO3D_COLUMNS, +}; + + +/** + * Inverted views, Right/Bottom represents the left view. + */ +#define AV_STEREO3D_FLAG_INVERT (1 << 0) + +/** + * Stereo 3D type: this structure describes how two videos are packed + * within a single video surface, with additional information as needed. + * + * @note The struct must be allocated with av_stereo3d_alloc() and + * its size is not a part of the public ABI. + */ +typedef struct AVStereo3D { + /** + * How views are packed within the video. + */ + enum AVStereo3DType type; + + /** + * Additional information about the frame packing. + */ + int flags; +} AVStereo3D; + +/** + * Allocate an AVStereo3D structure and set its fields to default values. + * The resulting struct can be freed using av_freep(). + * + * @return An AVStereo3D filled with default values or NULL on failure. + */ +AVStereo3D *av_stereo3d_alloc(void); + +/** + * Allocate a complete AVFrameSideData and add it to the frame. + * + * @param frame The frame which side data is added to. + * + * @return The AVStereo3D structure to be filled by caller. + */ +AVStereo3D *av_stereo3d_create_side_data(AVFrame *frame); + +/** + * Provide a human-readable name of a given stereo3d type. + * + * @param type The input stereo3d type value. + * + * @return The name of the stereo3d value, or "unknown". + */ +const char *av_stereo3d_type_name(unsigned int type); + +/** + * Get the AVStereo3DType form a human-readable name. + * + * @param name The input string. + * + * @return The AVStereo3DType value, or -1 if not found. + */ +int av_stereo3d_from_name(const char *name); + +/** + * @} + * @} + */ + +#endif /* AVUTIL_STEREO3D_H */ diff --git a/src/3rdparty/win32_include/libavutil/tea.h b/src/3rdparty/win32_include/libavutil/tea.h new file mode 100644 index 000000000..dd929bdaf --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/tea.h @@ -0,0 +1,71 @@ +/* + * A 32-bit implementation of the TEA algorithm + * Copyright (c) 2015 Vesselin Bontchev + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_TEA_H +#define AVUTIL_TEA_H + +#include + +/** + * @file + * @brief Public header for libavutil TEA algorithm + * @defgroup lavu_tea TEA + * @ingroup lavu_crypto + * @{ + */ + +extern const int av_tea_size; + +struct AVTEA; + +/** + * Allocate an AVTEA context + * To free the struct: av_free(ptr) + */ +struct AVTEA *av_tea_alloc(void); + +/** + * Initialize an AVTEA context. + * + * @param ctx an AVTEA context + * @param key a key of 16 bytes used for encryption/decryption + * @param rounds the number of rounds in TEA (64 is the "standard") + */ +void av_tea_init(struct AVTEA *ctx, const uint8_t key[16], int rounds); + +/** + * Encrypt or decrypt a buffer using a previously initialized context. + * + * @param ctx an AVTEA context + * @param dst destination array, can be equal to src + * @param src source array, can be equal to dst + * @param count number of 8 byte blocks + * @param iv initialization vector for CBC mode, if NULL then ECB will be used + * @param decrypt 0 for encryption, 1 for decryption + */ +void av_tea_crypt(struct AVTEA *ctx, uint8_t *dst, const uint8_t *src, + int count, uint8_t *iv, int decrypt); + +/** + * @} + */ + +#endif /* AVUTIL_TEA_H */ diff --git a/src/3rdparty/win32_include/libavutil/threadmessage.h b/src/3rdparty/win32_include/libavutil/threadmessage.h new file mode 100644 index 000000000..8480a0a3d --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/threadmessage.h @@ -0,0 +1,107 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with FFmpeg; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_THREADMESSAGE_H +#define AVUTIL_THREADMESSAGE_H + +typedef struct AVThreadMessageQueue AVThreadMessageQueue; + +typedef enum AVThreadMessageFlags { + + /** + * Perform non-blocking operation. + * If this flag is set, send and recv operations are non-blocking and + * return AVERROR(EAGAIN) immediately if they can not proceed. + */ + AV_THREAD_MESSAGE_NONBLOCK = 1, + +} AVThreadMessageFlags; + +/** + * Allocate a new message queue. + * + * @param mq pointer to the message queue + * @param nelem maximum number of elements in the queue + * @param elsize size of each element in the queue + * @return >=0 for success; <0 for error, in particular AVERROR(ENOSYS) if + * lavu was built without thread support + */ +int av_thread_message_queue_alloc(AVThreadMessageQueue **mq, + unsigned nelem, + unsigned elsize); + +/** + * Free a message queue. + * + * The message queue must no longer be in use by another thread. + */ +void av_thread_message_queue_free(AVThreadMessageQueue **mq); + +/** + * Send a message on the queue. + */ +int av_thread_message_queue_send(AVThreadMessageQueue *mq, + void *msg, + unsigned flags); + +/** + * Receive a message from the queue. + */ +int av_thread_message_queue_recv(AVThreadMessageQueue *mq, + void *msg, + unsigned flags); + +/** + * Set the sending error code. + * + * If the error code is set to non-zero, av_thread_message_queue_send() will + * return it immediately. Conventional values, such as AVERROR_EOF or + * AVERROR(EAGAIN), can be used to cause the sending thread to stop or + * suspend its operation. + */ +void av_thread_message_queue_set_err_send(AVThreadMessageQueue *mq, + int err); + +/** + * Set the receiving error code. + * + * If the error code is set to non-zero, av_thread_message_queue_recv() will + * return it immediately when there are no longer available messages. + * Conventional values, such as AVERROR_EOF or AVERROR(EAGAIN), can be used + * to cause the receiving thread to stop or suspend its operation. + */ +void av_thread_message_queue_set_err_recv(AVThreadMessageQueue *mq, + int err); + +/** + * Set the optional free message callback function which will be called if an + * operation is removing messages from the queue. + */ +void av_thread_message_queue_set_free_func(AVThreadMessageQueue *mq, + void (*free_func)(void *msg)); + +/** + * Flush the message queue + * + * This function is mostly equivalent to reading and free-ing every message + * except that it will be done in a single operation (no lock/unlock between + * reads). + */ +void av_thread_message_flush(AVThreadMessageQueue *mq); + +#endif /* AVUTIL_THREADMESSAGE_H */ diff --git a/src/3rdparty/win32_include/libavutil/time.h b/src/3rdparty/win32_include/libavutil/time.h new file mode 100644 index 000000000..dc169b064 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/time.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2000-2003 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_TIME_H +#define AVUTIL_TIME_H + +#include + +/** + * Get the current time in microseconds. + */ +int64_t av_gettime(void); + +/** + * Get the current time in microseconds since some unspecified starting point. + * On platforms that support it, the time comes from a monotonic clock + * This property makes this time source ideal for measuring relative time. + * The returned values may not be monotonic on platforms where a monotonic + * clock is not available. + */ +int64_t av_gettime_relative(void); + +/** + * Indicates with a boolean result if the av_gettime_relative() time source + * is monotonic. + */ +int av_gettime_relative_is_monotonic(void); + +/** + * Sleep for a period of time. Although the duration is expressed in + * microseconds, the actual delay may be rounded to the precision of the + * system timer. + * + * @param usec Number of microseconds to sleep. + * @return zero on success or (negative) error code. + */ +int av_usleep(unsigned usec); + +#endif /* AVUTIL_TIME_H */ diff --git a/src/3rdparty/win32_include/libavutil/timecode.h b/src/3rdparty/win32_include/libavutil/timecode.h new file mode 100644 index 000000000..37c1361bc --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/timecode.h @@ -0,0 +1,140 @@ +/* + * Copyright (c) 2006 Smartjog S.A.S, Baptiste Coudurier + * Copyright (c) 2011-2012 Smartjog S.A.S, Clément BÅ“sch + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * Timecode helpers header + */ + +#ifndef AVUTIL_TIMECODE_H +#define AVUTIL_TIMECODE_H + +#include +#include "rational.h" + +#define AV_TIMECODE_STR_SIZE 23 + +enum AVTimecodeFlag { + AV_TIMECODE_FLAG_DROPFRAME = 1<<0, ///< timecode is drop frame + AV_TIMECODE_FLAG_24HOURSMAX = 1<<1, ///< timecode wraps after 24 hours + AV_TIMECODE_FLAG_ALLOWNEGATIVE = 1<<2, ///< negative time values are allowed +}; + +typedef struct { + int start; ///< timecode frame start (first base frame number) + uint32_t flags; ///< flags such as drop frame, +24 hours support, ... + AVRational rate; ///< frame rate in rational form + unsigned fps; ///< frame per second; must be consistent with the rate field +} AVTimecode; + +/** + * Adjust frame number for NTSC drop frame time code. + * + * @param framenum frame number to adjust + * @param fps frame per second, 30 or 60 + * @return adjusted frame number + * @warning adjustment is only valid in NTSC 29.97 and 59.94 + */ +int av_timecode_adjust_ntsc_framenum2(int framenum, int fps); + +/** + * Convert frame number to SMPTE 12M binary representation. + * + * @param tc timecode data correctly initialized + * @param framenum frame number + * @return the SMPTE binary representation + * + * @note Frame number adjustment is automatically done in case of drop timecode, + * you do NOT have to call av_timecode_adjust_ntsc_framenum2(). + * @note The frame number is relative to tc->start. + * @note Color frame (CF), binary group flags (BGF) and biphase mark polarity + * correction (PC) bits are set to zero. + */ +uint32_t av_timecode_get_smpte_from_framenum(const AVTimecode *tc, int framenum); + +/** + * Load timecode string in buf. + * + * @param buf destination buffer, must be at least AV_TIMECODE_STR_SIZE long + * @param tc timecode data correctly initialized + * @param framenum frame number + * @return the buf parameter + * + * @note Timecode representation can be a negative timecode and have more than + * 24 hours, but will only be honored if the flags are correctly set. + * @note The frame number is relative to tc->start. + */ +char *av_timecode_make_string(const AVTimecode *tc, char *buf, int framenum); + +/** + * Get the timecode string from the SMPTE timecode format. + * + * @param buf destination buffer, must be at least AV_TIMECODE_STR_SIZE long + * @param tcsmpte the 32-bit SMPTE timecode + * @param prevent_df prevent the use of a drop flag when it is known the DF bit + * is arbitrary + * @return the buf parameter + */ +char *av_timecode_make_smpte_tc_string(char *buf, uint32_t tcsmpte, int prevent_df); + +/** + * Get the timecode string from the 25-bit timecode format (MPEG GOP format). + * + * @param buf destination buffer, must be at least AV_TIMECODE_STR_SIZE long + * @param tc25bit the 25-bits timecode + * @return the buf parameter + */ +char *av_timecode_make_mpeg_tc_string(char *buf, uint32_t tc25bit); + +/** + * Init a timecode struct with the passed parameters. + * + * @param log_ctx a pointer to an arbitrary struct of which the first field + * is a pointer to an AVClass struct (used for av_log) + * @param tc pointer to an allocated AVTimecode + * @param rate frame rate in rational form + * @param flags miscellaneous flags such as drop frame, +24 hours, ... + * (see AVTimecodeFlag) + * @param frame_start the first frame number + * @return 0 on success, AVERROR otherwise + */ +int av_timecode_init(AVTimecode *tc, AVRational rate, int flags, int frame_start, void *log_ctx); + +/** + * Parse timecode representation (hh:mm:ss[:;.]ff). + * + * @param log_ctx a pointer to an arbitrary struct of which the first field is a + * pointer to an AVClass struct (used for av_log). + * @param tc pointer to an allocated AVTimecode + * @param rate frame rate in rational form + * @param str timecode string which will determine the frame start + * @return 0 on success, AVERROR otherwise + */ +int av_timecode_init_from_string(AVTimecode *tc, AVRational rate, const char *str, void *log_ctx); + +/** + * Check if the timecode feature is available for the given frame rate + * + * @return 0 if supported, <0 otherwise + */ +int av_timecode_check_frame_rate(AVRational rate); + +#endif /* AVUTIL_TIMECODE_H */ diff --git a/src/3rdparty/win32_include/libavutil/timestamp.h b/src/3rdparty/win32_include/libavutil/timestamp.h new file mode 100644 index 000000000..e082f01b4 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/timestamp.h @@ -0,0 +1,78 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * timestamp utils, mostly useful for debugging/logging purposes + */ + +#ifndef AVUTIL_TIMESTAMP_H +#define AVUTIL_TIMESTAMP_H + +#include "common.h" + +#if defined(__cplusplus) && !defined(__STDC_FORMAT_MACROS) && !defined(PRId64) +#error missing -D__STDC_FORMAT_MACROS / #define __STDC_FORMAT_MACROS +#endif + +#define AV_TS_MAX_STRING_SIZE 32 + +/** + * Fill the provided buffer with a string containing a timestamp + * representation. + * + * @param buf a buffer with size in bytes of at least AV_TS_MAX_STRING_SIZE + * @param ts the timestamp to represent + * @return the buffer in input + */ +static inline char *av_ts_make_string(char *buf, int64_t ts) +{ + if (ts == AV_NOPTS_VALUE) snprintf(buf, AV_TS_MAX_STRING_SIZE, "NOPTS"); + else snprintf(buf, AV_TS_MAX_STRING_SIZE, "%" PRId64, ts); + return buf; +} + +/** + * Convenience macro, the return value should be used only directly in + * function arguments but never stand-alone. + */ +#define av_ts2str(ts) av_ts_make_string((char[AV_TS_MAX_STRING_SIZE]){0}, ts) + +/** + * Fill the provided buffer with a string containing a timestamp time + * representation. + * + * @param buf a buffer with size in bytes of at least AV_TS_MAX_STRING_SIZE + * @param ts the timestamp to represent + * @param tb the timebase of the timestamp + * @return the buffer in input + */ +static inline char *av_ts_make_time_string(char *buf, int64_t ts, AVRational *tb) +{ + if (ts == AV_NOPTS_VALUE) snprintf(buf, AV_TS_MAX_STRING_SIZE, "NOPTS"); + else snprintf(buf, AV_TS_MAX_STRING_SIZE, "%.6g", av_q2d(*tb) * ts); + return buf; +} + +/** + * Convenience macro, the return value should be used only directly in + * function arguments but never stand-alone. + */ +#define av_ts2timestr(ts, tb) av_ts_make_time_string((char[AV_TS_MAX_STRING_SIZE]){0}, ts, tb) + +#endif /* AVUTIL_TIMESTAMP_H */ diff --git a/src/3rdparty/win32_include/libavutil/tree.h b/src/3rdparty/win32_include/libavutil/tree.h new file mode 100644 index 000000000..d5e0aebfb --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/tree.h @@ -0,0 +1,138 @@ +/* + * copyright (c) 2006 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * A tree container. + * @author Michael Niedermayer + */ + +#ifndef AVUTIL_TREE_H +#define AVUTIL_TREE_H + +#include "attributes.h" +#include "version.h" + +/** + * @addtogroup lavu_tree AVTree + * @ingroup lavu_data + * + * Low-complexity tree container + * + * Insertion, removal, finding equal, largest which is smaller than and + * smallest which is larger than, all have O(log n) worst-case complexity. + * @{ + */ + + +struct AVTreeNode; +extern const int av_tree_node_size; + +/** + * Allocate an AVTreeNode. + */ +struct AVTreeNode *av_tree_node_alloc(void); + +/** + * Find an element. + * @param root a pointer to the root node of the tree + * @param next If next is not NULL, then next[0] will contain the previous + * element and next[1] the next element. If either does not exist, + * then the corresponding entry in next is unchanged. + * @param cmp compare function used to compare elements in the tree, + * API identical to that of Standard C's qsort + * It is guaranteed that the first and only the first argument to cmp() + * will be the key parameter to av_tree_find(), thus it could if the + * user wants, be a different type (like an opaque context). + * @return An element with cmp(key, elem) == 0 or NULL if no such element + * exists in the tree. + */ +void *av_tree_find(const struct AVTreeNode *root, void *key, + int (*cmp)(const void *key, const void *b), void *next[2]); + +/** + * Insert or remove an element. + * + * If *next is NULL, then the supplied element will be removed if it exists. + * If *next is non-NULL, then the supplied element will be inserted, unless + * it already exists in the tree. + * + * @param rootp A pointer to a pointer to the root node of the tree; note that + * the root node can change during insertions, this is required + * to keep the tree balanced. + * @param key pointer to the element key to insert in the tree + * @param next Used to allocate and free AVTreeNodes. For insertion the user + * must set it to an allocated and zeroed object of at least + * av_tree_node_size bytes size. av_tree_insert() will set it to + * NULL if it has been consumed. + * For deleting elements *next is set to NULL by the user and + * av_tree_insert() will set it to the AVTreeNode which was + * used for the removed element. + * This allows the use of flat arrays, which have + * lower overhead compared to many malloced elements. + * You might want to define a function like: + * @code + * void *tree_insert(struct AVTreeNode **rootp, void *key, + * int (*cmp)(void *key, const void *b), + * AVTreeNode **next) + * { + * if (!*next) + * *next = av_mallocz(av_tree_node_size); + * return av_tree_insert(rootp, key, cmp, next); + * } + * void *tree_remove(struct AVTreeNode **rootp, void *key, + * int (*cmp)(void *key, const void *b, AVTreeNode **next)) + * { + * av_freep(next); + * return av_tree_insert(rootp, key, cmp, next); + * } + * @endcode + * @param cmp compare function used to compare elements in the tree, API identical + * to that of Standard C's qsort + * @return If no insertion happened, the found element; if an insertion or + * removal happened, then either key or NULL will be returned. + * Which one it is depends on the tree state and the implementation. You + * should make no assumptions that it's one or the other in the code. + */ +void *av_tree_insert(struct AVTreeNode **rootp, void *key, + int (*cmp)(const void *key, const void *b), + struct AVTreeNode **next); + +void av_tree_destroy(struct AVTreeNode *t); + +/** + * Apply enu(opaque, &elem) to all the elements in the tree in a given range. + * + * @param cmp a comparison function that returns < 0 for an element below the + * range, > 0 for an element above the range and == 0 for an + * element inside the range + * + * @note The cmp function should use the same ordering used to construct the + * tree. + */ +void av_tree_enumerate(struct AVTreeNode *t, void *opaque, + int (*cmp)(void *opaque, void *elem), + int (*enu)(void *opaque, void *elem)); + +/** + * @} + */ + +#endif /* AVUTIL_TREE_H */ diff --git a/src/3rdparty/win32_include/libavutil/twofish.h b/src/3rdparty/win32_include/libavutil/twofish.h new file mode 100644 index 000000000..813cfecdf --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/twofish.h @@ -0,0 +1,70 @@ +/* + * An implementation of the TwoFish algorithm + * Copyright (c) 2015 Supraja Meedinti + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_TWOFISH_H +#define AVUTIL_TWOFISH_H + +#include + + +/** + * @file + * @brief Public header for libavutil TWOFISH algorithm + * @defgroup lavu_twofish TWOFISH + * @ingroup lavu_crypto + * @{ + */ + +extern const int av_twofish_size; + +struct AVTWOFISH; + +/** + * Allocate an AVTWOFISH context + * To free the struct: av_free(ptr) + */ +struct AVTWOFISH *av_twofish_alloc(void); + +/** + * Initialize an AVTWOFISH context. + * + * @param ctx an AVTWOFISH context + * @param key a key of size ranging from 1 to 32 bytes used for encryption/decryption + * @param key_bits number of keybits: 128, 192, 256 If less than the required, padded with zeroes to nearest valid value; return value is 0 if key_bits is 128/192/256, -1 if less than 0, 1 otherwise + */ +int av_twofish_init(struct AVTWOFISH *ctx, const uint8_t *key, int key_bits); + +/** + * Encrypt or decrypt a buffer using a previously initialized context + * + * @param ctx an AVTWOFISH context + * @param dst destination array, can be equal to src + * @param src source array, can be equal to dst + * @param count number of 16 byte blocks + * @paran iv initialization vector for CBC mode, NULL for ECB mode + * @param decrypt 0 for encryption, 1 for decryption + */ +void av_twofish_crypt(struct AVTWOFISH *ctx, uint8_t *dst, const uint8_t *src, int count, uint8_t* iv, int decrypt); + +/** + * @} + */ +#endif /* AVUTIL_TWOFISH_H */ diff --git a/src/3rdparty/win32_include/libavutil/version.h b/src/3rdparty/win32_include/libavutil/version.h new file mode 100644 index 000000000..f594dc069 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/version.h @@ -0,0 +1,149 @@ +/* + * copyright (c) 2003 Fabrice Bellard + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @ingroup lavu + * Libavutil version macros + */ + +#ifndef AVUTIL_VERSION_H +#define AVUTIL_VERSION_H + +#include "macros.h" + +/** + * @addtogroup version_utils + * + * Useful to check and match library version in order to maintain + * backward compatibility. + * + * The FFmpeg libraries follow a versioning sheme very similar to + * Semantic Versioning (http://semver.org/) + * The difference is that the component called PATCH is called MICRO in FFmpeg + * and its value is reset to 100 instead of 0 to keep it above or equal to 100. + * Also we do not increase MICRO for every bugfix or change in git master. + * + * Prior to FFmpeg 3.2 point releases did not change any lib version number to + * avoid aliassing different git master checkouts. + * Starting with FFmpeg 3.2, the released library versions will occupy + * a separate MAJOR.MINOR that is not used on the master development branch. + * That is if we branch a release of master 55.10.123 we will bump to 55.11.100 + * for the release and master will continue at 55.12.100 after it. Each new + * point release will then bump the MICRO improving the usefulness of the lib + * versions. + * + * @{ + */ + +#define AV_VERSION_INT(a, b, c) ((a)<<16 | (b)<<8 | (c)) +#define AV_VERSION_DOT(a, b, c) a ##.## b ##.## c +#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c) + +/** + * Extract version components from the full ::AV_VERSION_INT int as returned + * by functions like ::avformat_version() and ::avcodec_version() + */ +#define AV_VERSION_MAJOR(a) ((a) >> 16) +#define AV_VERSION_MINOR(a) (((a) & 0x00FF00) >> 8) +#define AV_VERSION_MICRO(a) ((a) & 0xFF) + +/** + * @} + */ + +/** + * @defgroup lavu_ver Version and Build diagnostics + * + * Macros and function useful to check at compiletime and at runtime + * which version of libavutil is in use. + * + * @{ + */ + + +#define LIBAVUTIL_VERSION_MAJOR 55 +#define LIBAVUTIL_VERSION_MINOR 78 +#define LIBAVUTIL_VERSION_MICRO 100 + +#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ + LIBAVUTIL_VERSION_MINOR, \ + LIBAVUTIL_VERSION_MICRO) +#define LIBAVUTIL_VERSION AV_VERSION(LIBAVUTIL_VERSION_MAJOR, \ + LIBAVUTIL_VERSION_MINOR, \ + LIBAVUTIL_VERSION_MICRO) +#define LIBAVUTIL_BUILD LIBAVUTIL_VERSION_INT + +#define LIBAVUTIL_IDENT "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION) + +/** + * @defgroup lavu_depr_guards Deprecation Guards + * FF_API_* defines may be placed below to indicate public API that will be + * dropped at a future version bump. The defines themselves are not part of + * the public API and may change, break or disappear at any time. + * + * @note, when bumping the major version it is recommended to manually + * disable each FF_API_* in its own commit instead of disabling them all + * at once through the bump. This improves the git bisect-ability of the change. + * + * @{ + */ + +#ifndef FF_API_VDPAU +#define FF_API_VDPAU (LIBAVUTIL_VERSION_MAJOR < 56) +#endif +#ifndef FF_API_XVMC +#define FF_API_XVMC (LIBAVUTIL_VERSION_MAJOR < 56) +#endif +#ifndef FF_API_OPT_TYPE_METADATA +#define FF_API_OPT_TYPE_METADATA (LIBAVUTIL_VERSION_MAJOR < 56) +#endif +#ifndef FF_API_DLOG +#define FF_API_DLOG (LIBAVUTIL_VERSION_MAJOR < 56) +#endif +#ifndef FF_API_VAAPI +#define FF_API_VAAPI (LIBAVUTIL_VERSION_MAJOR < 56) +#endif +#ifndef FF_API_FRAME_QP +#define FF_API_FRAME_QP (LIBAVUTIL_VERSION_MAJOR < 56) +#endif +#ifndef FF_API_PLUS1_MINUS1 +#define FF_API_PLUS1_MINUS1 (LIBAVUTIL_VERSION_MAJOR < 56) +#endif +#ifndef FF_API_ERROR_FRAME +#define FF_API_ERROR_FRAME (LIBAVUTIL_VERSION_MAJOR < 56) +#endif +#ifndef FF_API_CRC_BIG_TABLE +#define FF_API_CRC_BIG_TABLE (LIBAVUTIL_VERSION_MAJOR < 56) +#endif +#ifndef FF_API_PKT_PTS +#define FF_API_PKT_PTS (LIBAVUTIL_VERSION_MAJOR < 56) +#endif +#ifndef FF_API_CRYPTO_SIZE_T +#define FF_API_CRYPTO_SIZE_T (LIBAVUTIL_VERSION_MAJOR < 56) +#endif + + +/** + * @} + * @} + */ + +#endif /* AVUTIL_VERSION_H */ diff --git a/src/3rdparty/win32_include/libavutil/xtea.h b/src/3rdparty/win32_include/libavutil/xtea.h new file mode 100644 index 000000000..735427c10 --- /dev/null +++ b/src/3rdparty/win32_include/libavutil/xtea.h @@ -0,0 +1,94 @@ +/* + * A 32-bit implementation of the XTEA algorithm + * Copyright (c) 2012 Samuel Pitoiset + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_XTEA_H +#define AVUTIL_XTEA_H + +#include + +/** + * @file + * @brief Public header for libavutil XTEA algorithm + * @defgroup lavu_xtea XTEA + * @ingroup lavu_crypto + * @{ + */ + +typedef struct AVXTEA { + uint32_t key[16]; +} AVXTEA; + +/** + * Allocate an AVXTEA context. + */ +AVXTEA *av_xtea_alloc(void); + +/** + * Initialize an AVXTEA context. + * + * @param ctx an AVXTEA context + * @param key a key of 16 bytes used for encryption/decryption, + * interpreted as big endian 32 bit numbers + */ +void av_xtea_init(struct AVXTEA *ctx, const uint8_t key[16]); + +/** + * Initialize an AVXTEA context. + * + * @param ctx an AVXTEA context + * @param key a key of 16 bytes used for encryption/decryption, + * interpreted as little endian 32 bit numbers + */ +void av_xtea_le_init(struct AVXTEA *ctx, const uint8_t key[16]); + +/** + * Encrypt or decrypt a buffer using a previously initialized context, + * in big endian format. + * + * @param ctx an AVXTEA context + * @param dst destination array, can be equal to src + * @param src source array, can be equal to dst + * @param count number of 8 byte blocks + * @param iv initialization vector for CBC mode, if NULL then ECB will be used + * @param decrypt 0 for encryption, 1 for decryption + */ +void av_xtea_crypt(struct AVXTEA *ctx, uint8_t *dst, const uint8_t *src, + int count, uint8_t *iv, int decrypt); + +/** + * Encrypt or decrypt a buffer using a previously initialized context, + * in little endian format. + * + * @param ctx an AVXTEA context + * @param dst destination array, can be equal to src + * @param src source array, can be equal to dst + * @param count number of 8 byte blocks + * @param iv initialization vector for CBC mode, if NULL then ECB will be used + * @param decrypt 0 for encryption, 1 for decryption + */ +void av_xtea_le_crypt(struct AVXTEA *ctx, uint8_t *dst, const uint8_t *src, + int count, uint8_t *iv, int decrypt); + +/** + * @} + */ + +#endif /* AVUTIL_XTEA_H */ diff --git a/src/3rdparty/win32_include/libswresample/swresample.h b/src/3rdparty/win32_include/libswresample/swresample.h new file mode 100644 index 000000000..c7b84fbca --- /dev/null +++ b/src/3rdparty/win32_include/libswresample/swresample.h @@ -0,0 +1,579 @@ +/* + * Copyright (C) 2011-2013 Michael Niedermayer (michaelni@gmx.at) + * + * This file is part of libswresample + * + * libswresample is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * libswresample is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with libswresample; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef SWRESAMPLE_SWRESAMPLE_H +#define SWRESAMPLE_SWRESAMPLE_H + +/** + * @file + * @ingroup lswr + * libswresample public header + */ + +/** + * @defgroup lswr libswresample + * @{ + * + * Audio resampling, sample format conversion and mixing library. + * + * Interaction with lswr is done through SwrContext, which is + * allocated with swr_alloc() or swr_alloc_set_opts(). It is opaque, so all parameters + * must be set with the @ref avoptions API. + * + * The first thing you will need to do in order to use lswr is to allocate + * SwrContext. This can be done with swr_alloc() or swr_alloc_set_opts(). If you + * are using the former, you must set options through the @ref avoptions API. + * The latter function provides the same feature, but it allows you to set some + * common options in the same statement. + * + * For example the following code will setup conversion from planar float sample + * format to interleaved signed 16-bit integer, downsampling from 48kHz to + * 44.1kHz and downmixing from 5.1 channels to stereo (using the default mixing + * matrix). This is using the swr_alloc() function. + * @code + * SwrContext *swr = swr_alloc(); + * av_opt_set_channel_layout(swr, "in_channel_layout", AV_CH_LAYOUT_5POINT1, 0); + * av_opt_set_channel_layout(swr, "out_channel_layout", AV_CH_LAYOUT_STEREO, 0); + * av_opt_set_int(swr, "in_sample_rate", 48000, 0); + * av_opt_set_int(swr, "out_sample_rate", 44100, 0); + * av_opt_set_sample_fmt(swr, "in_sample_fmt", AV_SAMPLE_FMT_FLTP, 0); + * av_opt_set_sample_fmt(swr, "out_sample_fmt", AV_SAMPLE_FMT_S16, 0); + * @endcode + * + * The same job can be done using swr_alloc_set_opts() as well: + * @code + * SwrContext *swr = swr_alloc_set_opts(NULL, // we're allocating a new context + * AV_CH_LAYOUT_STEREO, // out_ch_layout + * AV_SAMPLE_FMT_S16, // out_sample_fmt + * 44100, // out_sample_rate + * AV_CH_LAYOUT_5POINT1, // in_ch_layout + * AV_SAMPLE_FMT_FLTP, // in_sample_fmt + * 48000, // in_sample_rate + * 0, // log_offset + * NULL); // log_ctx + * @endcode + * + * Once all values have been set, it must be initialized with swr_init(). If + * you need to change the conversion parameters, you can change the parameters + * using @ref AVOptions, as described above in the first example; or by using + * swr_alloc_set_opts(), but with the first argument the allocated context. + * You must then call swr_init() again. + * + * The conversion itself is done by repeatedly calling swr_convert(). + * Note that the samples may get buffered in swr if you provide insufficient + * output space or if sample rate conversion is done, which requires "future" + * samples. Samples that do not require future input can be retrieved at any + * time by using swr_convert() (in_count can be set to 0). + * At the end of conversion the resampling buffer can be flushed by calling + * swr_convert() with NULL in and 0 in_count. + * + * The samples used in the conversion process can be managed with the libavutil + * @ref lavu_sampmanip "samples manipulation" API, including av_samples_alloc() + * function used in the following example. + * + * The delay between input and output, can at any time be found by using + * swr_get_delay(). + * + * The following code demonstrates the conversion loop assuming the parameters + * from above and caller-defined functions get_input() and handle_output(): + * @code + * uint8_t **input; + * int in_samples; + * + * while (get_input(&input, &in_samples)) { + * uint8_t *output; + * int out_samples = av_rescale_rnd(swr_get_delay(swr, 48000) + + * in_samples, 44100, 48000, AV_ROUND_UP); + * av_samples_alloc(&output, NULL, 2, out_samples, + * AV_SAMPLE_FMT_S16, 0); + * out_samples = swr_convert(swr, &output, out_samples, + * input, in_samples); + * handle_output(output, out_samples); + * av_freep(&output); + * } + * @endcode + * + * When the conversion is finished, the conversion + * context and everything associated with it must be freed with swr_free(). + * A swr_close() function is also available, but it exists mainly for + * compatibility with libavresample, and is not required to be called. + * + * There will be no memory leak if the data is not completely flushed before + * swr_free(). + */ + +#include +#include "libavutil/channel_layout.h" +#include "libavutil/frame.h" +#include "libavutil/samplefmt.h" + +#include "libswresample/version.h" + +/** + * @name Option constants + * These constants are used for the @ref avoptions interface for lswr. + * @{ + * + */ + +#define SWR_FLAG_RESAMPLE 1 ///< Force resampling even if equal sample rate +//TODO use int resample ? +//long term TODO can we enable this dynamically? + +/** Dithering algorithms */ +enum SwrDitherType { + SWR_DITHER_NONE = 0, + SWR_DITHER_RECTANGULAR, + SWR_DITHER_TRIANGULAR, + SWR_DITHER_TRIANGULAR_HIGHPASS, + + SWR_DITHER_NS = 64, ///< not part of API/ABI + SWR_DITHER_NS_LIPSHITZ, + SWR_DITHER_NS_F_WEIGHTED, + SWR_DITHER_NS_MODIFIED_E_WEIGHTED, + SWR_DITHER_NS_IMPROVED_E_WEIGHTED, + SWR_DITHER_NS_SHIBATA, + SWR_DITHER_NS_LOW_SHIBATA, + SWR_DITHER_NS_HIGH_SHIBATA, + SWR_DITHER_NB, ///< not part of API/ABI +}; + +/** Resampling Engines */ +enum SwrEngine { + SWR_ENGINE_SWR, /**< SW Resampler */ + SWR_ENGINE_SOXR, /**< SoX Resampler */ + SWR_ENGINE_NB, ///< not part of API/ABI +}; + +/** Resampling Filter Types */ +enum SwrFilterType { + SWR_FILTER_TYPE_CUBIC, /**< Cubic */ + SWR_FILTER_TYPE_BLACKMAN_NUTTALL, /**< Blackman Nuttall windowed sinc */ + SWR_FILTER_TYPE_KAISER, /**< Kaiser windowed sinc */ +}; + +/** + * @} + */ + +/** + * The libswresample context. Unlike libavcodec and libavformat, this structure + * is opaque. This means that if you would like to set options, you must use + * the @ref avoptions API and cannot directly set values to members of the + * structure. + */ +typedef struct SwrContext SwrContext; + +/** + * Get the AVClass for SwrContext. It can be used in combination with + * AV_OPT_SEARCH_FAKE_OBJ for examining options. + * + * @see av_opt_find(). + * @return the AVClass of SwrContext + */ +const AVClass *swr_get_class(void); + +/** + * @name SwrContext constructor functions + * @{ + */ + +/** + * Allocate SwrContext. + * + * If you use this function you will need to set the parameters (manually or + * with swr_alloc_set_opts()) before calling swr_init(). + * + * @see swr_alloc_set_opts(), swr_init(), swr_free() + * @return NULL on error, allocated context otherwise + */ +struct SwrContext *swr_alloc(void); + +/** + * Initialize context after user parameters have been set. + * @note The context must be configured using the AVOption API. + * + * @see av_opt_set_int() + * @see av_opt_set_dict() + * + * @param[in,out] s Swr context to initialize + * @return AVERROR error code in case of failure. + */ +int swr_init(struct SwrContext *s); + +/** + * Check whether an swr context has been initialized or not. + * + * @param[in] s Swr context to check + * @see swr_init() + * @return positive if it has been initialized, 0 if not initialized + */ +int swr_is_initialized(struct SwrContext *s); + +/** + * Allocate SwrContext if needed and set/reset common parameters. + * + * This function does not require s to be allocated with swr_alloc(). On the + * other hand, swr_alloc() can use swr_alloc_set_opts() to set the parameters + * on the allocated context. + * + * @param s existing Swr context if available, or NULL if not + * @param out_ch_layout output channel layout (AV_CH_LAYOUT_*) + * @param out_sample_fmt output sample format (AV_SAMPLE_FMT_*). + * @param out_sample_rate output sample rate (frequency in Hz) + * @param in_ch_layout input channel layout (AV_CH_LAYOUT_*) + * @param in_sample_fmt input sample format (AV_SAMPLE_FMT_*). + * @param in_sample_rate input sample rate (frequency in Hz) + * @param log_offset logging level offset + * @param log_ctx parent logging context, can be NULL + * + * @see swr_init(), swr_free() + * @return NULL on error, allocated context otherwise + */ +struct SwrContext *swr_alloc_set_opts(struct SwrContext *s, + int64_t out_ch_layout, enum AVSampleFormat out_sample_fmt, int out_sample_rate, + int64_t in_ch_layout, enum AVSampleFormat in_sample_fmt, int in_sample_rate, + int log_offset, void *log_ctx); + +/** + * @} + * + * @name SwrContext destructor functions + * @{ + */ + +/** + * Free the given SwrContext and set the pointer to NULL. + * + * @param[in] s a pointer to a pointer to Swr context + */ +void swr_free(struct SwrContext **s); + +/** + * Closes the context so that swr_is_initialized() returns 0. + * + * The context can be brought back to life by running swr_init(), + * swr_init() can also be used without swr_close(). + * This function is mainly provided for simplifying the usecase + * where one tries to support libavresample and libswresample. + * + * @param[in,out] s Swr context to be closed + */ +void swr_close(struct SwrContext *s); + +/** + * @} + * + * @name Core conversion functions + * @{ + */ + +/** Convert audio. + * + * in and in_count can be set to 0 to flush the last few samples out at the + * end. + * + * If more input is provided than output space, then the input will be buffered. + * You can avoid this buffering by using swr_get_out_samples() to retrieve an + * upper bound on the required number of output samples for the given number of + * input samples. Conversion will run directly without copying whenever possible. + * + * @param s allocated Swr context, with parameters set + * @param out output buffers, only the first one need be set in case of packed audio + * @param out_count amount of space available for output in samples per channel + * @param in input buffers, only the first one need to be set in case of packed audio + * @param in_count number of input samples available in one channel + * + * @return number of samples output per channel, negative value on error + */ +int swr_convert(struct SwrContext *s, uint8_t **out, int out_count, + const uint8_t **in , int in_count); + +/** + * Convert the next timestamp from input to output + * timestamps are in 1/(in_sample_rate * out_sample_rate) units. + * + * @note There are 2 slightly differently behaving modes. + * @li When automatic timestamp compensation is not used, (min_compensation >= FLT_MAX) + * in this case timestamps will be passed through with delays compensated + * @li When automatic timestamp compensation is used, (min_compensation < FLT_MAX) + * in this case the output timestamps will match output sample numbers. + * See ffmpeg-resampler(1) for the two modes of compensation. + * + * @param s[in] initialized Swr context + * @param pts[in] timestamp for the next input sample, INT64_MIN if unknown + * @see swr_set_compensation(), swr_drop_output(), and swr_inject_silence() are + * function used internally for timestamp compensation. + * @return the output timestamp for the next output sample + */ +int64_t swr_next_pts(struct SwrContext *s, int64_t pts); + +/** + * @} + * + * @name Low-level option setting functions + * These functons provide a means to set low-level options that is not possible + * with the AVOption API. + * @{ + */ + +/** + * Activate resampling compensation ("soft" compensation). This function is + * internally called when needed in swr_next_pts(). + * + * @param[in,out] s allocated Swr context. If it is not initialized, + * or SWR_FLAG_RESAMPLE is not set, swr_init() is + * called with the flag set. + * @param[in] sample_delta delta in PTS per sample + * @param[in] compensation_distance number of samples to compensate for + * @return >= 0 on success, AVERROR error codes if: + * @li @c s is NULL, + * @li @c compensation_distance is less than 0, + * @li @c compensation_distance is 0 but sample_delta is not, + * @li compensation unsupported by resampler, or + * @li swr_init() fails when called. + */ +int swr_set_compensation(struct SwrContext *s, int sample_delta, int compensation_distance); + +/** + * Set a customized input channel mapping. + * + * @param[in,out] s allocated Swr context, not yet initialized + * @param[in] channel_map customized input channel mapping (array of channel + * indexes, -1 for a muted channel) + * @return >= 0 on success, or AVERROR error code in case of failure. + */ +int swr_set_channel_mapping(struct SwrContext *s, const int *channel_map); + +/** + * Generate a channel mixing matrix. + * + * This function is the one used internally by libswresample for building the + * default mixing matrix. It is made public just as a utility function for + * building custom matrices. + * + * @param in_layout input channel layout + * @param out_layout output channel layout + * @param center_mix_level mix level for the center channel + * @param surround_mix_level mix level for the surround channel(s) + * @param lfe_mix_level mix level for the low-frequency effects channel + * @param rematrix_maxval if 1.0, coefficients will be normalized to prevent + * overflow. if INT_MAX, coefficients will not be + * normalized. + * @param[out] matrix mixing coefficients; matrix[i + stride * o] is + * the weight of input channel i in output channel o. + * @param stride distance between adjacent input channels in the + * matrix array + * @param matrix_encoding matrixed stereo downmix mode (e.g. dplii) + * @param log_ctx parent logging context, can be NULL + * @return 0 on success, negative AVERROR code on failure + */ +int swr_build_matrix(uint64_t in_layout, uint64_t out_layout, + double center_mix_level, double surround_mix_level, + double lfe_mix_level, double rematrix_maxval, + double rematrix_volume, double *matrix, + int stride, enum AVMatrixEncoding matrix_encoding, + void *log_ctx); + +/** + * Set a customized remix matrix. + * + * @param s allocated Swr context, not yet initialized + * @param matrix remix coefficients; matrix[i + stride * o] is + * the weight of input channel i in output channel o + * @param stride offset between lines of the matrix + * @return >= 0 on success, or AVERROR error code in case of failure. + */ +int swr_set_matrix(struct SwrContext *s, const double *matrix, int stride); + +/** + * @} + * + * @name Sample handling functions + * @{ + */ + +/** + * Drops the specified number of output samples. + * + * This function, along with swr_inject_silence(), is called by swr_next_pts() + * if needed for "hard" compensation. + * + * @param s allocated Swr context + * @param count number of samples to be dropped + * + * @return >= 0 on success, or a negative AVERROR code on failure + */ +int swr_drop_output(struct SwrContext *s, int count); + +/** + * Injects the specified number of silence samples. + * + * This function, along with swr_drop_output(), is called by swr_next_pts() + * if needed for "hard" compensation. + * + * @param s allocated Swr context + * @param count number of samples to be dropped + * + * @return >= 0 on success, or a negative AVERROR code on failure + */ +int swr_inject_silence(struct SwrContext *s, int count); + +/** + * Gets the delay the next input sample will experience relative to the next output sample. + * + * Swresample can buffer data if more input has been provided than available + * output space, also converting between sample rates needs a delay. + * This function returns the sum of all such delays. + * The exact delay is not necessarily an integer value in either input or + * output sample rate. Especially when downsampling by a large value, the + * output sample rate may be a poor choice to represent the delay, similarly + * for upsampling and the input sample rate. + * + * @param s swr context + * @param base timebase in which the returned delay will be: + * @li if it's set to 1 the returned delay is in seconds + * @li if it's set to 1000 the returned delay is in milliseconds + * @li if it's set to the input sample rate then the returned + * delay is in input samples + * @li if it's set to the output sample rate then the returned + * delay is in output samples + * @li if it's the least common multiple of in_sample_rate and + * out_sample_rate then an exact rounding-free delay will be + * returned + * @returns the delay in 1 / @c base units. + */ +int64_t swr_get_delay(struct SwrContext *s, int64_t base); + +/** + * Find an upper bound on the number of samples that the next swr_convert + * call will output, if called with in_samples of input samples. This + * depends on the internal state, and anything changing the internal state + * (like further swr_convert() calls) will may change the number of samples + * swr_get_out_samples() returns for the same number of input samples. + * + * @param in_samples number of input samples. + * @note any call to swr_inject_silence(), swr_convert(), swr_next_pts() + * or swr_set_compensation() invalidates this limit + * @note it is recommended to pass the correct available buffer size + * to all functions like swr_convert() even if swr_get_out_samples() + * indicates that less would be used. + * @returns an upper bound on the number of samples that the next swr_convert + * will output or a negative value to indicate an error + */ +int swr_get_out_samples(struct SwrContext *s, int in_samples); + +/** + * @} + * + * @name Configuration accessors + * @{ + */ + +/** + * Return the @ref LIBSWRESAMPLE_VERSION_INT constant. + * + * This is useful to check if the build-time libswresample has the same version + * as the run-time one. + * + * @returns the unsigned int-typed version + */ +unsigned swresample_version(void); + +/** + * Return the swr build-time configuration. + * + * @returns the build-time @c ./configure flags + */ +const char *swresample_configuration(void); + +/** + * Return the swr license. + * + * @returns the license of libswresample, determined at build-time + */ +const char *swresample_license(void); + +/** + * @} + * + * @name AVFrame based API + * @{ + */ + +/** + * Convert the samples in the input AVFrame and write them to the output AVFrame. + * + * Input and output AVFrames must have channel_layout, sample_rate and format set. + * + * If the output AVFrame does not have the data pointers allocated the nb_samples + * field will be set using av_frame_get_buffer() + * is called to allocate the frame. + * + * The output AVFrame can be NULL or have fewer allocated samples than required. + * In this case, any remaining samples not written to the output will be added + * to an internal FIFO buffer, to be returned at the next call to this function + * or to swr_convert(). + * + * If converting sample rate, there may be data remaining in the internal + * resampling delay buffer. swr_get_delay() tells the number of + * remaining samples. To get this data as output, call this function or + * swr_convert() with NULL input. + * + * If the SwrContext configuration does not match the output and + * input AVFrame settings the conversion does not take place and depending on + * which AVFrame is not matching AVERROR_OUTPUT_CHANGED, AVERROR_INPUT_CHANGED + * or the result of a bitwise-OR of them is returned. + * + * @see swr_delay() + * @see swr_convert() + * @see swr_get_delay() + * + * @param swr audio resample context + * @param output output AVFrame + * @param input input AVFrame + * @return 0 on success, AVERROR on failure or nonmatching + * configuration. + */ +int swr_convert_frame(SwrContext *swr, + AVFrame *output, const AVFrame *input); + +/** + * Configure or reconfigure the SwrContext using the information + * provided by the AVFrames. + * + * The original resampling context is reset even on failure. + * The function calls swr_close() internally if the context is open. + * + * @see swr_close(); + * + * @param swr audio resample context + * @param output output AVFrame + * @param input input AVFrame + * @return 0 on success, AVERROR on failure. + */ +int swr_config_frame(SwrContext *swr, const AVFrame *out, const AVFrame *in); + +/** + * @} + * @} + */ + +#endif /* SWRESAMPLE_SWRESAMPLE_H */ diff --git a/src/3rdparty/win32_include/libswresample/version.h b/src/3rdparty/win32_include/libswresample/version.h new file mode 100644 index 000000000..6a66173f3 --- /dev/null +++ b/src/3rdparty/win32_include/libswresample/version.h @@ -0,0 +1,45 @@ +/* + * Version macros. + * + * This file is part of libswresample + * + * libswresample is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * libswresample is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with libswresample; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef SWRESAMPLE_VERSION_H +#define SWRESAMPLE_VERSION_H + +/** + * @file + * Libswresample version macros + */ + +#include "libavutil/avutil.h" + +#define LIBSWRESAMPLE_VERSION_MAJOR 2 +#define LIBSWRESAMPLE_VERSION_MINOR 9 +#define LIBSWRESAMPLE_VERSION_MICRO 100 + +#define LIBSWRESAMPLE_VERSION_INT AV_VERSION_INT(LIBSWRESAMPLE_VERSION_MAJOR, \ + LIBSWRESAMPLE_VERSION_MINOR, \ + LIBSWRESAMPLE_VERSION_MICRO) +#define LIBSWRESAMPLE_VERSION AV_VERSION(LIBSWRESAMPLE_VERSION_MAJOR, \ + LIBSWRESAMPLE_VERSION_MINOR, \ + LIBSWRESAMPLE_VERSION_MICRO) +#define LIBSWRESAMPLE_BUILD LIBSWRESAMPLE_VERSION_INT + +#define LIBSWRESAMPLE_IDENT "SwR" AV_STRINGIFY(LIBSWRESAMPLE_VERSION) + +#endif /* SWRESAMPLE_VERSION_H */ diff --git a/src/3rdparty/win32_lib/crypto-41.lib b/src/3rdparty/win32_lib/crypto-41.lib deleted file mode 100644 index db72fbdc8c9f80c281d6cafef37f05376ea91251..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 775230 zcmb514V+eGng7qaIt+u$ni&xhk&&58gouPj#Jhk91S26C!wfS6gTu@?GawR?nGvzX z8W|C>#1a{?E*Tjakr9y*85t27u`IDft{JgpL`3xeUe|q{bME_`^NjoV&C+1cN%CgI`duvIT`BjIXi+6)re_*%)1+(Dq-#QOZ$vq41x5jSVOqyV786 zj|rz7|1~|jLfMDHaq3qdMd4TUTUmp`3CdCE^9kXcwnSGbjPF_a!!(02_yfE&#CQUQKhi$s z5fsi<7|T%jQ<=d&`6q!f5YDrXl!GYzd6cmOg$vgilz9REa=Fop3dbB5Cq!2$yHNP+ z4F+rGuW*U=r!Xg%1m;`#Tdi>dJrR{fcN_ar_`AWzqbOX~$Jl_v-*-12M&a^uV;L%( zb6hbuDpQW5P&UQbgF>eP#%2`CuQ67l&^a<%QQ?%MVrEpP973VXc;hJ)uIy`2=9Tad z*BYx(;ew-UO;n~FM&TdF7&}n7iadp!tAvY=S2RUs$}tqKo@nes;g!^{Y(U|fuEtVS zc+v5y8Bv+?3<}+b7~4>Ibx&gjD$s7BJL9SxLE$y@U)hO559(JoqVU?Qj0aHR1xL>r zQJHc8h1U%;9z&rQ^()lfOSs^8eSK7>97Lh_D1$NU4R5&KSck&36~FRuraXkD$UO$JnN*OrdXMVcd9Q z2MXhvPldjW7hZDQes@%+Fb227gucdF6z;gpVEpb7jyWcdiOQ76QJB=jcnB5FI3`bz z%9MR5yqkGen5%cg6!H|>G)1`Jm|7o|DTh(09A#`r;ZDXu*@(iltBeOw;k4sD)UVLD z_rP@4xw0OGyU0_Pp#tM6%wRl~lPJ7*rtvHachi4`vArAK$G9nvqA;_ku?iK=JF04< zGUWgYvu-suqfkwIl%=Tff}>_eRHi(Q!t6l?b;3iLs!YcfutP(Q_>jCz>E zd?@r`4$QsIScgJGg+W^ygwu|BGovzvKFouAh8o*YXzXRMMjK)N~tRA3zlD<&H|QTXQ@j5R2% zj12m_QaI@N_~58a*@D8V?#6OdIPdtExlx(&ED8_PPUSHaKGDrsiV80{R!@)0lxI-* zB_Xw+t~b`9 zu&K;wL51fXpPw0(DTh(mJjQqeg)gwq6w3GlJW4qVWjrbzaeR?HWjhL67#C$F3SWwh zR#YHQ*gDGCfx^G{F&;*R3y#MYMP&-@ehmJD@m2Prux+S88Qb8?%%}1w3Xk_RR-^Eh zD~*Myz}O4hCmXv__$u?QJdVN>v`<-s!q>`;rKoV$v7;s`Q|RLk`1)9bx%oOg+0S5& zJ_+CGW^j!A2JF1dpv;{Dv<(VecSgI||>s-q?%+&xsssQ22hCu>=)PJNC_r z$`tC@2S1o->_%Zf^Py1Ye)u8nS7`eWg^P}7TB9}JrHgYeU?#serEV*ZrHsBp&dGuok?LV@Q)juR;Se3o$(h3BRl z&!X@P){*iQ3P+eaN{Ze@t1)d8z=*w^5 zdFoZD^Lc^!7XD|6aUO*i78>;b1^8`~!I=LRUaU0sqVT(0jcq8LzRp;W!tbv(XyfmN z3yw3Cs~kh&f2SEwqi~kvkg^ViKa?A^?+*fP5nh^Z>_g#?gN&^xoV&(gZJiU&IQ}#% zDpL-jaDKe88-+g)G$`ZGaG{&=5GqiP@Rz#{>i!E{9AIoh;jhetLfwBA7*pX=jd1{l zzYR4WLm!JeMLmpVsBqTtclA*xIwt{P@g##Qi&>x?xhTz$FGiVDv=UO7GLr0hfC8pci8h{CI=Ut!E% zC7f_{n;dmgcB1g=YmLrNjZqZTUnP1WxN&o^*1)6@U{wL5h|Q=^rzhlIsM^A>Q^?PFo60M`aVE7@3^Tc z>ZDN4O)zk}!P*)KHxDqV`(_w)l|df{3FHWGCr=^g?J#(-@fZrX^fDes;nvHIC8+SC z;~g`jPRbz^hKx6Mq3}-nrEEfBDD6>JqVTTBXhel0j$vb>P6}&b7!2=gFgC+s#5D$G zjDV4s8T4_aaKl`CRVa*ST$ClK zaMp4Ayr`3M9EAytw{if5J0=@@P?*TPDVtH4#5gJRWs<<036p0Sw0$zXdz7&gg(>|E z#(D}&z1mobLM7`_X-9<@9e375ofO)3Crle^Y)9ce*BR?jm`*v$VpL$fg}dsF(6dl_GaGT#e#Q?9Zah4)29BPu-Sm^miuq|mmRP&LIkjKZw3#*-*i_cs{JYN+XM ztU!fxj@k5Ep>4CFmU_=fP+X}gJp@IG>Yf+e2ZZKx^ z1jb*uXQn|L?tw_wqvps^K&d%GJCp~6{5>#V4g z@+=B%!;HsKXzyjLLSaEQm(QIg%4hBtVZDhwv`7_;jH6BjZr6sIr$JgIL|nV z!iT3D%+ZJ8q45T5;UV}4`;Ee!eFT>EHP)i=(QAz5sBqD-ygllq(6{CAv3i5K_!z99 z9)-TGfPe09Y(`;a4}&pV2_L`AV9Y))oOZ0DT;&)F|1#a64xa0DdYJu4*@MC-=#N6* zJ^`x-8S-!VPZoZDL7@AP!~uW80JC>$SV z>_FjH)T2p@wC3YQ$G8lz6iQ51eN z!Pt$$^YmNUgu?$^V=P65(~cKrMV*ubDExMq@dOGlUT3U9;dfUW51_&s$7#w@DC0Ez zeyFhxg)`S0t5Nvh%Z-Jo@Vw*f%&3z>8E4@Sv`5*F!b_B+Fjp_ZA1Oy^MFr+YILEju zlyMIJ#JDPtqj0{bu@V)|JN{f7by5zZaDjd(Kn8Z!4qnsLWV`3g;YuH!mtzj-znd-Ns=Q{(g+H6NSqM8{1L1;yPnJ z3T0i5fU1{j-B=+e`81cfW31{B`Z z%UFlPb=`~yQQ@59&2yu263|4ElI847%0Wio)A_8Y@wO_6UO;jiV^sGQrq|!mWLc^(egKN@EEsoOTSE8I>!{ z?GSk9P-7bkLwgykPu>7V?PRGDM#6k!no^=jVO%oW~@MkOOD%HqjH6Q z-3}9G8O-?vxMRHW6bcg=XJs7f!coW6 zu~E6g8k-80y$#k_CEOVqwEIrsq+{B&s9bp(h4&0H9z|h#H)A;}oOj$cH!4?{i@RXP zFk=e}@4d=cj0&e5ch88*l>;cek33}u3Nz`ivH^vvs|}6;Rl;e4dN2nr1o zj3-c-*UMOr3TGYn+#QuG&!Esa#GtN5n18LY7KNs+#sjEu#?f38l`98PXrbK-b+^F1 z{f#Xsw01XWORI3f(Y7!uR~YX$Xs2A|5DE*%8c(9Iu%EFBh5LFMt5M;SV^K>~t{g|< z{%OWO6c!INcA)V7z6NXI{jlUpgFY`2Xs_^rR)cl+0a!ZS*o(pk2OEs#2jPKhjddt| zsERgTAeTf4R({Z~r2k za6C-^l&4Vm1oNS+L1A^7LElyjv{U%x41=-%Bs@a@l#M8Ss=}aepMo`!u^1K3IX=yL zQ5f$}!`hj~0Tezn%yn>KC_F}Q>_Gqgu}0)-#lU{J=7;K0?! zGE_M4_;F)Yt{g|<*(t_e6n;Xv%9AJ@9AG?(!cVU?)}e5yyRim^pY<@-qHvgTQI?{@ zdB@LNqH={f{yFfR$HCg+{hab&&<hn6i!}lw4%cEj$coU%9Z^n zoEl;5K;bw24Ce4R@cdQA1E|3G3ID@9Dlek&0&Q20q43*@25aoM@M2$MBMQH}+E|JT z7aXT4SD}p4@cSvo9u&^>H#VT~zs#?)2o)GV;Vko@97N#{!;HsJc!_yXmZQQ;jz7+d z$`!`^k8p0N!5E)|KlLeq28F-xW;}!nXC0R} zMV*ynC|ohc*oQ*dP-8m^oq8LqQ7Er4mY~9EN9P$)XXRNGD#jaoQ0Ow)cmjnh`x%>2 z_=oF_btrVb(pZVYKSstPR5;_fYF^Y?If=q6?lumfaP=r-Hwv$0+?2;qxQ203mZR`0 z>QUNJ;dw{5Sy5-@Fbc1xf69Ioy5DMSMd3Alj7=!?=xscV!fP)#7{k{JXB|E3qt419 z6nGcM@e~TZ`Wuwl3tr#dScXDx+OI4`1{22z|yHdr)}O zAma%Xu47wy5(VDBacoB6`kuyG6y9>Ru>ut?I&Nr987fpUenwHWmEZP0(3u@{9KDM#6g!hl`|bHnqU&Np3VEJ6j=fiRHvDaTQ` zd7?p?H^ZQT#%2`W-rZP*3baiaO#76hDBLpMV2*ErTNz(v6AC=vaXf?ylpzdhH%_7O z&gsS;6o&RU7^|W1F508emUjsk9K+^Cot5WM7(Uk6jlu}}rLfP8fRT)svKoa^e+(Nm1QD2!o0QMRCPTMuJ7D$plkY@=}kg>kF{WgiOTDMw-M#>4HDqpU;)$`B?r z87EP=gYi)gpfGWS@dOH!t}`~HFuAv}4uyBK-W2M1H%uur7Nf#x$JCmrvvLT9%25V& zRKlG%7|h9?Fs+Bd+M5RNpHg*g)p%9sOu|H?t1=0d|&#sjEu)-kUp>Z}|?;U3CSDB~Vz z>}za7VLts*9zuolj;7kEvqGPmpm~bH*fc}S5QDL4fqN-OVQlUdC`V|WYtWWfXrmlu z9}4Y*4c16IEMUGA%2*&=a4c+$IxCFLLbz{+!5X*^7L73I<082KdSe|5i)o+o2nz4N z+Mv(x7hZBKsf{`-l(_^xK>HNN>I1N}tFZ(X&Nx0eGwQ6+rw_sdw;G#K_z?9gD^cOR zgYQ~(R-QxQ!{ZJ5@L_m}c~@4W@R7@n7F0OoST-!`tUQLoN4puzP=Wpl%c)PHuI2DC z>Qi>2u;K=TFsBqTtFXSnQQFwTQu?vMy z^fxx3z;hf&J1VfR3ZJAO$|)2cp zK~$hlVO@Z}|=;c@bmCsFvy^#)`471(~2u>=)PIlek2>a0AC!V`mxEhv2LYGWBHoOA4;e&tyd zzJ9AgU%w7d(r)Ep6uwbrEJcME9Xs!iIx7cJ_~uw+HwwEbSJ{rjxB3`sP(=IfBA->{TX}z{^AWa{Cs6ohKVvHjNBbDG;VArPZ(}VA z$7qMrf(rCa_^%np0Thl?kHVN7hhKFwR-tg>GK0RH5Y9UOyFTiyJcq(b)|o=vPr|SJ z8(UB~#W*R9(JA;1i8p^qd&@%DEx_WQ#PV-{u<)}RCvkpXUb6ypm5<Ap_1Qkv={&8|tq3lHAs{Y0X6kc(qu^1Iza9lk-s!*Or;g#emjMXdQ8tPXb zM1`}CSCOZX^D5{z)SwUD;MM(%M^WfbIm&WWxafFIOH`qpM4`vs24m9$UQ4+OWByv` z+1pr!!s{ZV2^EexdQFKclszcCevq*Rh2E5-JdDB{x*AJS;Ux#(t*TItqwvOQ27P`b z^r3yqV<^0-mqD3tg6ql*#{4?rMaP?GMHR|n6s{j-Jb}Vnt}`A%;fBkM7F3`u!aq$m zoKAZ>3+#L#S}x(T}lGSO@*!ZS}?p6#7>h`%t)Xn6VRu0RxQ9DBRS|ScSsC za)Uk(6sSYEnfX1FDm?Fa=k%yTp^SIJQ2M28LE&A!jfYVfMmfp@sBqCSyfvy&PN6V@ek%J= z7&*w;guLL8iwx#q zJlsChID*0i##4C)g*%2CkE1ZLudx}0Nxh7fsBpnCxhbkpo=4%`v|pi)cf*wN#!eKb z-eA!7sZdG#m8Gb_7zlUP7>7}q#`;taqVOKZMcIqO^uY#gpAL6XkFp+x8CMz0QF!lV z2IKTz;YG*Y>=(*$6y7((*oVT*p~f~8s(Ko$QJ57OthreNeG#hX8YfVwx!c%}!t5c& z78Gi`8Ou@Oyn}ahDiqpQ2lW$;eJJp~D#soa=2EWm1PTq;8V{o|ugqW_&J$S6!acN4 zp>6j-Bh4tESz9GjlzAjU!m>y!J=-)N>sSuxW6f?P#D|$VKL<@l(`t* zKi1fb!V<<;c^rig^fZ{W4+!TROXo%v3S+PoJ~+)_3_b`Cj53}?;X~IMYf*Tx+*pJP zXB{7|k17<#;KRT>IS$(P5PW2qu?vM|v{%`I!bkfV8&Fu@)mVkX$F4LMqrxf2iYZZr zvJZuSrd)+O{ux#dHJ(J_|>vR)z=uy zQQ?B)lZ&DXt0!p!n*DT zYiONt$?@6ts6si3!g}ge4xsR_V~ss1Y#3y0M&WbxUs;2~#tLI8D!k>?wC(Hgfp!(1&lqQ_P#P7!}StzTFyCC}&XEO+S^R zD13){l&4VGGr)Khh41z=)Z3&Q@p4a(dPKOAdN<`3bSYmG-x_)(ehASzsP99SGxD9rZ(`0+x6I(`h# z&NWV<@RNCl{2LBVHW;IW@Y8VSJU{DE#tPV>=2*dm9g<@Sl;+Z%X6i!`k(C1UaS;uc^tHK!k2A-!L zg|U1d{%4G_3xyZ@8?^le_$}>KDD$@hS@xu@{9u4KOyNaQV4(aMDpWJ?f$yM4{6d<4F|C`x%d- z(3$or%TVE*qoO|Qq8ve?%Xot_y1SL@y z;T2^DWAh5(l!Iq5U6g$&ymGMd7z)?)HW=e;fOl#ft*CIq(QQi9McISGt0_mJj8{YV zYYoci4zIb~Sd0p196jbmT@>2a171t}l>I359Aa!k;dRWPvJw?8IeIlkT@>2a3tm6j z*o{K({>DZW-oQ93%TVFG6j~8oN;#Jjh^-2g5Br49d6#ZoSN)oLdFT5Z*D-pp19GkO9Ve6y8~G zEJB4B97AVCU6jKpyla@T4TWJnjpe9t-Z8vB>Y~v1;V^>!E4xq_+0UTvkuZvJRG4Gl zx9Kv9wJMCRG-&f^7(=_2%_!VZsl1N#*Hv`pfJ9Vu@;5f>A%vB3a1ocM1a)U9c5>7d0QI4_?h3Y{DWmH2=PlGaQV0L6IL_Xvl1B~@3@Vv&sm~RwLI{vLP z>Y^}rd{3&&Ci<_?_f7Em?#2pKpnhR9=4}!TL~EqrxS}ws}z(Y_Y_!anLz9zg}_5q?l_JcGji z0mcRtepqHSqQX(fGozv|%3~<}sGG4Ag#$Yr2N`b#+d<*9dZ?;u+#QoAO{uIJ zHG1mEDdQ$rPMT6RyY>E-_U5+^yfLb(nt11g3HgxdgGr2ws2qFe#M`Sz4X+#?RSh3G za`e=xNrB@gO{}VKt*fK3hWRa3rQHR24ecFdiL)T5sqVfGlGHnV^wg@^HM6VgnzS29 zc-E|O^))vR7+e^d@x;-kVpF?CmMYb=Yh-(CsTO2B5?x!D>r-M9f8Fewv>`SlS+mCF z$0ivr@i)w=D=H^2OI&kil+r4*9*u5kZ)k36^Jk zC+Ueq=AGG`V28@2IA1nn4kK5SX^~e?;?CxkPSO1@Q+HGK{JN@^)`q5Z$L$~@TbIA< zX47P^&c!d7Usc^UyVTe<#qMk#OQlqfx(ebusz+9yHlrx7gE5ypb-TPfCfkC@Pj1GQ ziO)_^5}nRaV#*D1=y4@anlxeb@QK;=JHj(-+~|pS-Z6U0@XFDn!UMcaUCx)yV8I1* z;3cRl8=vW<7oPOevt_%Pb!AJ>t_UwaT@jwKy}4?{#8T}yr`9pXA2mDn$@m0zjl6C2 zL|+fRfF%h{EjL>dPj3$Cs=tGf746!aB3ll}%KC zVP^hVlg+h=!tCs{XLHlJFYr{gwR51G)8QmhKoaJ+pwymj)dcQ>yy9`TtYm)(3o9|k zmXwb0xZyVk)q9IJ>(Z8`#!Rb1MhN>3%QVPSXFeypV1t}=)duGL2>Gq>$H}*6M=R^g zw=FkveoBe)%P!ZT;pv*4JhF0n{+hwFYHM^`E=*_FwYFE)H&)L{ZwzD=75c->4wB3j z#y8FHsGigtW;Hj|c9iD1!#qwP9p!oMG%q_VItb}(=q3Z*;h1IpY3brAF=n1Cj88|! zJ5?m@NWEc}Hz-AEo;%F*2Bj#^bGtllu_}j;m@vB3Ic;)bKw)lX7s_TP$HuH9H)WYB zz1fRB1v^K^6}B*Y%u1S|j!bOH_EZ(Mr2YPu@Zg=6?Oa;=)Y0$0bM(ZKql<2QbG|Sm zGptE;GM-a8J{R0i`({_7yPwwS=JL5VxM;BX_ni5h*^PD8O_@uGATJ5X=VmVwg1q#O z#?0Asg>UxDp55G%KID*NUL2@)KeD#Ey}GEw&K^V-_b@%%SRJ|ZOknp*lw)*lU48X} z#`dcD)otO!49m*L_$4&fHO*duv#_=FO15r3f8qlh5Qse!Sygj?)x>e5O2jALY}U)oHFagy zLq{d#95hipNydxzj+B*yZZt=3 zhsnCMhSZoj@P&>{YY{8s7A2lp2GW)MH1VYwEUYhwFGnE+Aa)^=7qufVGawgPVnTctGv^<2a)*$N*wDSQxY2=7|JeI6`tse+(9k5-6ziQ_Mq659cycPI>u(mjjeAF zYR?~_;=24}RBX#G{=goTE9Ms8S=cyDA9TYhjtmzF+l z+|+R$+=&&r3-U4z3$v28h30JY3cOkqHw{&C=Q+Q*c0pr!V9&ZVzNV?*Y?K-`M%OjR zoBD>PhIaYPG`ueRb*XSQes?qQ*p4^Et1ns&AhtV;a;z2Av0@S!+_dc?-E-Qk?EZT zB)wxo=2y|*ph2n8m0>aYsscwCo2@hs&D6}N;|q(e0JYS!_&Q|WkGvYU32)tLt=B~5m9jLl%UwGacybQ|rBPUJdDtI`b5ljts*izoSJ#AI7FK_i)R>C=AOwsF!S*vW<*9;n%eGM;f z$CA7Q=$5K);ok)>1!k?X9ljFiTlhDx^A)xwW0%PIjlQHUi3P9R#(1yx`IZsmZsV0B z@3RiiFk;*!nazpviL<{a4-E{?+~qOiJx8F*jOVc$l2|!jq$Ouz@a8S z8_9fHnKP?_6FARz7PVKk*0r}LmkEU~HD;^U?bxHE%liYhly>g|?_#-wfWUQME7vAf za~4#$RyVb$FCljvlXzRWTk{^6B>DH1sw#CzY;9f5f;q{&`BRql zX!M-c>iJbo%}rJHd^*%vRoB|uoScL^2vC=IsgrKU|Kj)*R8Fv(5`TK39hj1h2Ck&j zmqc^sjG?GHS3+2;*$OK6Jg#ioJGZ(axs1*jWwTy)8o!&d#d&M0+v@l+czY%p+H8w` ztu7ew`l=eUxro^fEpxLGvCT!yPcB;0ZTGJx?(D1DGy6n+m1nlN1&zVZO^905Tiem{ zs4wtZR@>a>1&y*-X7+JXLYKxf`c?jiFBzk5dS4Mpx8r|Raij`HnrLT}2ss41BXw0< z^Xz-lj|EFOV{?4`^GlYpQhPSCs=76K;jh>iTjj3X`$#rt_6(eDc*0Ygeu`M^i>-5; zc`nqzt$%uSmqsV%IIg9+H8^wWiArs8gw7ssn@`G?Kky71U%8PcAb z`{jl3OzFPEVw3lJ(rx*d+iCsu*y6m*ROajW1LRB5|obj^xo? zllL4gXO0cEa;C_(&5UtOeQ+d_`oxlW8`1}+p)J`8maOJuiM{iA634MI+lIs($K`i$ zDJizPD88QS?HqD3V)e-RIdD0HX30PM=bTv7yI_7zU8|nogAm{B#mQAidtI=f@MQ!k zA@OLmUY!I5nkDsyO;WeDsinEaPt{Gy)2B$mK*kpJ^3GXyuW3na8nK`)c@rbucK>P* z_EerKuq~eKz^3EcmaN|NaFyC5x6OZo=Na5T3s!I&50z|LyBImpW*2aq9)6wGMTP6P zEm^(%E3#jRpUIpr$;e%GXslV|sDd+?geB%UE_h!sV~jW3XSY;whHI=2ZV03}-=on@@oM$@ zo!B&jQ+!qOCYBc!*ptZIMX$_2d?}nn$%iw+Tu6{JCNUjcNNbrnf07wq5@nhkI^!IM zrh!kPgR365c4E61Dc5}2)>D8pOPpLLhA(zzt+Kr^d*f^d_2s8!VQf-=TQW&${}!f3 ziOC)A;-lTfsu2^$O&q1)hHGx(L2^15MXnKfqxTM0DQ{rs0L6VFkMF$Go?mL<_cMbb z@-m#=kCZE;aNqF4J!dwjeXblms~XZXRVL31@N*kV4qWWXN0%5jm!M8Rhcj)m%DgtI z*^iU`x@6BiXEw*{n5`kN7Cl&`L*wUmnCChDoCPhMHPTB{ucFvPw7jP7ePHWb?BAK? zkiOS$e&*R5GI6WLyune&RcFT>w-FAwWXEGI|88rq4t5mJM)`dEXXFSy0eB7YjS@3v z0NqjsCQYo=1BL(5W!~;vG6#*MgybBOSTYBQjNLCYJX9os z@$n)ta2WO0X=wJ#lf!Kz7eRIYF71aWUb3c)9ywXZAk(vq-H*)lEQw5xe~BgRS!ni4 z411QushPOxx7>6i&re(Bvso@&c&W^L;8MyR=Or(%OmDf@8$K;F^yM;2)s>{B0px}U zW8HGrs{5K-{i%@mk(^2VZL-?0bfl+Q|OBg;=|=V15FLi$A?B>*O!`HR(4LspUkQE)j)}scYVQZk( z*3AQwx0g$Ko!#A&q>ou-0vH^*QITgYZZmT%kced6upfpiH8zl&Ip`+G+6H+B!^@?? zxxqI|Zd+~zq$bZF&UzdY&v&w2U(G)0e|VABz^7HQ&o4K&mZ%_blXp*RGmk#+@jhJ% zY(zA+&26an4>++Q@%eM+oLKP6mz-q8{Au!R5+T>L!G(2VNxfWtHKgx_n8RE<;KQ>7Q`-# z4{rmc4e=d-{aZ&icbG47rX|YxsiCE{nWu!A8J1fH-)TAF1-uj*0+ z@nT~i8JPmzrrG1Lq$}c$jS^F|NBKsH$)0y&L*ny~H_qvfHF8rHULz+Ka^>Gmb#toa z^;2(3L$k%j7Zgc9Bq}yqOlGf;h-5ztj|A~iK=@dB;2Oh!w$Ml>C@4jmfXnqJJO+xoA?jSb1gqGw3{nOh*z9!W|ayba8I&+=xX_vvWHm~N); z42Cw{3f7MlYimdT$-0r}itg7hc%oF_FeiASKno}x6uaemix))F@pVNf<|M9-_j&k@ z)LdXu6^kW#$ko+^Zf+fKj)0oT())292giW(| zy^}Nh26>{Cw$aWfvf91nlKTD3uy^^)(C=l+OE=t}B(EM7xt4&;=_u26ETP{awmDgS8}t~ zky9pAjT*-_)Z|II@4XcJvR3c>pD9Z`*=Yatk_mTbnJIViv*T5jW2cNBK8kM!dDq?} zi(ENldL3El${825wtDZLmvm)QS$?@X!nBh>C%8C#Pa3iso;9S<)mhd<2qh`+&p{P?V_{JFemeM zq!P~9JbS*>Q|%pRtq#u-#+GQ4i%*<|IaRY~&riP^&|ygEEYT-dXW}f(>8MW2j6=eF z|3iTyPiSMZ(~r9fU7?XTGc!92V2K3K%C$-0s?%qYdpTLv)@Pfq}RumCuXMWT_Y+J@zm?Q7^-jsZd z)?rBEZ0lezY!97t>J{hlKgbFlYLybtcZjoVdUaGUE`-udU(Q+`npY?M%&H zoE*xN=afMe5*~QHtoclO`UUL*hiBq7zY@WT$BUMuZ0Ys{-Z+bo*IJwJud2PDOOx66 zq%Rbf_Q#$DEhSbi4`ou1McW#eC*|CIRktOdik0@8r(iDZ&dN=UY^2o%lMuSR@{;#b z^5HTH@;-}2&+!iZL9p)#W0S*vQGDVo%qiR}ttQKiL&E%ICn%~jaTeyp1$K}bhlKf= zOK~?F*4Wq=W)z%7EZ%v-=-`@AFaIpqzalhKYaK_+^hsn`P~r^DMQ151&Rk)9{w!tD z{#i=)`S=2+)KyuDn7B4du)WcK7Q3TzN=6oxR%`ouiHk*PR$N>@w4glMRsJt+%fuCw z6yA5+O7fZ$-+8B=;&Y~SA@O+i#77_f1b99d_I&=~Js!ywEBiuYofjCEB?qzK%XlT- zo`au^>R{jlua~7`7d!?@8|(Qp8FhU0%Xg*dcKw1TeH4^E-pWWxeqm&BY5&Kfys%6; zd`r5cA&};TAzr?8$9;X-D?dDB(WAns!cvOQk}@i38A(j0gqIoC{K#kWU#4W=OvD|Kw^IDeFkh$!2Ci53w^~A;?rugjaLK9z{ zAr1Au;F&Xf22K(8WcLHXo==kbJW~4Bxu$1J=CD)9!j3g#g0#oO8vao6+?g;r$pqn9=SY6`p|P={y6|0*LSLFu_(v;Cx&ue<8D>%yg{DqF z$9q6&J@RrqXPT3F44BQzxRbo(2}LF$u_uv5Z@I*c3Vdls=53cGI<_Z~*^_XlFCve6zFIr&j-^D9<4Ow8e8%Jno@Q zwpcJX6*WGzTV#pA)U0u}bvG65*Tp{H%AIq(Ak$H-v*J8wnp0|$TvF)uvr1P~@BInh zB!gw2|NXpDUbQ#P<}JPS1Fg^&Zw24E&lqh}<~DibG_-kJ$p;Fd&D#oAfQ>RXiKq|W zs`D-KZ*Dv9EJ7yh(i zV3LiN60HmE5-H!zt;!u}e5*vs+sAy7E3>=%R*kw(-rGoCP7O@5ksLtNJt8rAe)rTM z9DR#RU4A^zr{rin*K zhr})_F-M_&)Yz&?{AS*TjAf*DiR9h81$^}`6X#or z@;^mMHu*>Ljk_>CH2ZOkJ?B(D=}!mLE5-K~XK`QQbvUUfP1FF*E%k0o38$Hp`xaZM z(mL;MCXJFuDZx|RLKj8?y(a6HvvNf)KOPo36C*LQEQ{aIDd9A8z7JATVzsDT?Gh9l zCC2;d>tvIE@bMhKMe4OWHjEmp)4`b_u`EgSxPZ)kz<>={^;ZBva^Zry4>9--Y z`cXmMX;@sZy^U2haX5eBDA=KsH?@3U`u>))25kt+a^n!c?d77wwglnX_LOLfGkdKl zY(S>&;%c)s>VDPYe=Oov<2y%99X^?F^Ybe%w{u&C#*2SbrdVlVtOSCjaOC1CwpUKeTT_KFDZ1<~63i910^8AyAUssyy&Kl|~dB`o{b#;1&*L2LnGl%7K z7-n)Zr;b9Ol$@DIx00PbIaa3?O2NqyoT%_Hni`~J_4xt`o#@aOHG z#s7i9oY^xpb1mA|mVAx3$Rjp>?Snsp!lie*w+6-}W?}j}9idIO_?80$&dc%qZennt zF7#=J_c30&E&mE$u=fo5Pw!Q&bX)!xw-0d z?l>>rL&EUbs!@&2HT)cRV{`L8{tiO9p+jQ*m&(&^`4{i>re9|D4D!$5$Yh&lPmV!p z`@$m=zaU!OKDXw6K4?k4jv~3fRkk}i0u_7XtfC>6(o%aI8IM}pR*8$Pag?mVcu}UW zDVOq!JwBSG<;IrLBe{ys+}VXT-72^<%iGmbda0IlCywNp?An>P`xcqS;GU<1Q_ZC( zucSM16tzmqOYBKxJW*cr{rPio-kpqR;GZ1n^Aq74T}<|hENe}-)8l<;OSioJCS!D) znX9vmG1&C3Yx4HQ5}&w|5u$%o5}RFIhf9crB7d5hOp9NKq$G|YwrCky9VB>Om(}4y zBCp7wW+qMW+m>BRR!VL$W$ad}cTM73(tqbBMlVa`(S;X78`48_-X2@h>lfeR{vFSu z-?iAr@1+f&!mVBp$Zj6Z7c@r*Iq3|5KtS8Yi|VT+tG ziQ!1wKfbe0|N2Tvcj#!VOCO#Wd3>Au8$WVAof}*^+Us8ca^4_|KV!n@FaF;?DCrIy zvzzOyXSWykh>Nk<8Rjf#<)t6_ea^xr&i34edC8CImGTzY{Tq~$?!Zx7H>YT&xwEWu z1@ZhaV|vwDf%_gflS92PZGri(E`n!rW^88P2-+I+|Z&${!PogOW1b1p%MqU-THTPG!Ram%eh|fm&pSC3YU3vvIvl#3KgpDm+%oUobG55x9dqeU@J`&GV*NdR)vNJEhBV zu$RYN=JPUmu_1hDRqXSu!6UA`-Lo*Hc8L{yYqX;X^EEWJ$rHJb3n&$2WpJ$Vj-)aQ zYDvA>V_&j&SZvmBnYm+8keBl&S>Er$g*JaHxZ2ir6yaeB@`7iiAdBOFx>qdAzZMO8+RMQf~mTZOR6PFdAQQQ`P z;HbnHd!D2`oel5TT?-r;6El_TyDLRKnP}=P5v`siT8?G^KYPW?#s?)AF3jMD*^Ql) zS~B+KOU&;TB@6WT3JH=M5BWtn?is@aLWx#(7$3B>WMpw`I|>iV<@LUjyPWhW@W+{a zQ?m3flyQ1F`Q3upc)yr3ZW=$qC>I{t!*A9jC8jq2k!#i-MrL-pw1{}mbN5?K4YdR0 z>7cjZvkuCQO>ON2C-1@)I55c(y=Fl}V|#-gr~FHRBIoE)<9G;Nc~|b0rvgV{@&>~% zLZ3eS27f4W_R$k>8#i%ua5dmrQZGxqsos9}EE%jMGW1#&&k(%9a07$Hq9uf5K)FYBIkpnDiBrgp!XecaCKhOzE zoHBgksDg@}*(-5MVR>rxqNef^ zk~lZNY)j-69ju11mZJSD7m;m2M?>IzMHxwliaRceNk~zC$)-wXcr@T9CHb3-eo<=n z47@kVuNXA&xm?w3eXY@cSEpc9ONaX9$xjf?X2`uiFj~^>IrJJYe)g9ep1^Ba{tr(C zCfm?GExsss=lSgT6^How{0Ktz{PfpD3thf3^D1hg%Qps(B!g}z2a4q5fFLhtjr7+rRG8`-@l)5#}0Q-<^G-SFC6{(!#KIUvM9hxZmpZcy%>KUK6hCYcyiIX z6Mh=*U0Wo^f=iiCTBTrC35>k|(?$vezDqT)4v}Aezx1z!`Uee@b zz=~UvxU;p()3lDpGWBOOlL0EOF>z<}asyJFp9?E2r^7MRBC_KpzcG|sIL>G_$g{!R zK_fQ$F}YnwgS>rIwhImjso5*7X!p0kOo;_My95UNxEc!E=kL)HRkR~}cCUrW8VV*% zViS)aojwD|$EQ9&BfS65XN7(*)9!^c(<&`XJo)J2IgW3uWdRiB6pm?|QnII1O^ZEVbn;vzH&%(qi_SgQ z$Ytds{Op3~8Pcx!Z3lN9EtcH#jM(UvmU&*0Ye~lMWhS>39Xwu;3QNT0O3FTf$TcOt zAqnftmXo>d=x70Gfu-ZUk_(=INY{cVAY#bv5xGv}BD`As-Jm!zJoieC!ToG5DeziN z3!0K^oZLw{<15I>9nSm|@7U>?3l7#fZ@#9YLv@%|TwB3`+Di+L)4sixGLwLOZgSubrrOI*0`j@JrB|wqTwsZ^iVo{uQ~c!|mk|7}M#eaL$`t)s z%DUFp=I{?x6?sD2!rJQg_ zXCtf97sfNO;*n_il-oWYOwUL;yGHWRtz@X2!$>iZ-^{`6j{Rh0K>hI|a5f8f=vyI_In87_1tIU~mL^7lvUcOveD#7=88Kq}Mzlt4~mSo83wPYos)6em1w-bS^KUqzB>P?IEvQlF%C3U6o zb}1S+Ih&Jlr+GA_)Tl{N;`@J$eG8mkS5^JBHuH!z##&>IHP#wqjj<$?G?~^KGnttr zlT2oYd4x%<`7+OD(#gy)kI*82L_|bHL_|bHL_|bHL_|bHL_|bHL`1||Ypu1`T5FB9 z))?!5?epAwpMAf;kJZdwd+mLm_uO;uJ>R+68NU*zOJ7}GS@i8ZZE7=Bg27`B8{u{<7s;mTzG ztt*JWk&&_9;l@bsa9>xy&ZS|b*pk*cwydR>%)Rt+t5Az{R7s>uDi3xt8R#20?CV`s zdTFD4304=zFcv-p`_yN}F;<1^0PpDW@b@vS&!P(P2I_|%&?Jeu|mZe%|Er#!jTj%6y>Zgh)54P{iU zvNKQWO|Es#vI{Ho5c>8Fxh$tKR%Ydz)1qFbbKSQ6wOJUC9C_e zG+NYv3+h>^GDDJ3MI2kgT|i!Zl2VU6MeV^3AJa1j>15!E3p(qHl6xI1xhHg4IGdxz zeB=|}>mnbN^yLUEVa98vsv(3;;#5b0G_p$CT<=V0hZQv+)UgPnXcRXZT#n_B8>lq` zldWaJorKqTCUpLkB}Xj^?Uby{>DUY@OYF2G*b%QLugsKlK%||EY{}|aYpgn5s*%si z6En+mv-j5IL>RS?og43xYo>R>JYNJ&kv&o5L(o~L)All*YAkK81+R;Ih?lxLKcS&y zyjH4K=3-}JdLygydyk>LL@Qo@P4stIb@ML^2IsV~e>; z2*_;AgHPg$rr^flW6#l$1UCe2oPvqCkrbLV=Q5;$GwHX@%rNEIrqR z$Wy^?1j+Lf+M~7@O&Ccr=#Wk>-WM`QilKwOVLqdE+7i_h^LL4#FNYwBRyw&)iWCQ1 z^hh`0xfv)EiH^Ei{Lq1yh(w-q3cS7P>=?q2-Gzp+Ue$XNB1okwvr^TVTwc6eKKG#{ ze28R>KK?0`I$uf8426~+kLt`My*COU{-loTHHP=QYH>#2@h7P_h^V+n*h%k5mNAPr zb0Y3Cz|gIr?+GTO}{eGa#| zrm!w9%`A&g#5Yq2n|d;lswF*_;0#~G$jb(?|79j8F(&V%+x(_QD@7uAG_G6EC{m`R zpzy6}J@O(`p|5Q{@=&dZhY!23?~QR7k;RZHMY~R$QTVV!7Tl( zliZ~w&vHk(bHlp0D633?yvz$h^0I1;yoyI@x#^j?OfCGv(ynyp>9<^DXL-tt-?XiX ztNWd$@Lb_ru;*I$bjls}zMZiK$;4;n+-iA_Ogb`Yrr5q}F-ga9g|9&IfxB9BHsEw? z>Zt9>bJ{=KDC#cpT8WMlx;Pv2pr3cywK8w7zKO2s^t)fsFKd1|zC z109`qMO`pUN)_BL{EVBm2bRW}8QF3E0sS`z^7DX;&@VqZ73S)>?$-Q-uXH`F6`ch-=6o!$dm8NfSw9FcG%oLF?h|*$cBswK)rMYBdXSoH+|&78%<-rM%kj z5fy91aj4gt8G<&;RIDq#^N?41N6|QyZhuuzF9k9k=WET`vZJ#aUe??qd!^@1uB#+I zU0&+)nFM8u*vQ@*@L6ncFFosq<>Z5JC_gclNl+w(K z(%YQgBu_QV5&YC@-i}gqVd^5}=mceoSYLuC=k>Xb_Bu~2tDB-lDp!h-b#;-NmcVC2 zm0@mWg+8$CD%75Noi`*Yed{EZ=O>P^z|CzdT$E4PQq0`As_SG!p|vLw(Lv85{NhSy zEoZLMm{W2KHS4D8!3k%ddrYmp!X#Xm$A{E2^cDB*h4f*XqSgv~N)7$goOL8#DUDf& zmx@`3qvFg$6+zf!bZge( zS{x_x^Jq8P>nGBTOmX6{psF;|N@wTKi*^4FY~8S;%{ryv*EB_`p$H>b!gol&-)Cgh z=;!Ao@tjkjDat6BB+Uu?O{Jhohvz+M-^Ega6T zHI={RLg^GX;n8vH-dc}jOCD2aC-DCcJX>CzzjxQ}owtfyQA&oQ-n*ghlw4km2wvr* z_##eCrf-lIv?3a3X?$NfJ0Wh3VqGB+7YJWnjUj2Gg>F_nxlWOZRysQivynM8|l6;HRCeQbQno%T{$Byj2}hwrZk9Jfl^EkhN-L%2wqT z6}M>Bpk=MR4_XdcgKRnir$YMhs(OXua}tZw+oP-^tIY>LQa z>)t*5I^ylb1%)a&?5WK7TNNWR47QD!8`PI~#_p*FyYYi@` zUx_-Xtu=U*wMOSgU9BaXD2Ze1YAqX0pPE{WUPY}1gI#OcSfo`~YvfYa8nJb?mTW$a zmDO9z>PjTj$U$TZzqN!TkwPPflB9~Gi6@G}P%KsoIxMoENS9ui2=j3(PFzEd%AcvE zhkz6T3%qo>6P4_;%+4N591g^sGIK0~tdSsz^$`w5cgS3fqUwtTskYp~w0O^xsN_FA zvzymc5P;(ft2$=j>3OLvE5<8%?L?-iB4*H0%gTykUSp9fs*M>$WUB(HWV#l2>uwio zDvvXPsi~}@uJpw>xvQEYomu#3VCC`I&a<`{QeloxAqz>%1*CRBo5MN@L+8*Ek3dGHJc)$XuUV zpON@rvn)Z*kvGNo%e(jN+I1VId@}cmCf(fh%!KX@nac_}Hh4ws?eR!q z2B%dIy8MH$VCm=(6$YDQqV?9jJjY}uCRlfOYG20$>#e&wl&@o)brr8&Cl~K>!C2lo z&2>6d(4}}UI6JpIzqGh0eyPRC-tp1ifu7zT_c_n8k*>p7R?L@})tL=HHg=U>WHfyE zJEzjgSr7LP^bTXs0s3~;h{&8}kzCGF$xDW1#4vCQUu{~7tyl7bVXKu(UNF4Q4TGTE zOZdfA{6KGjT~eD$O5=rz`L%R8t~CpTU6~D{g|4P5{TFV9(!FUj>oQn`8t3oMhATIp zN;H*}#`DibE!YbwlJ`i}RFrYh64(lx}} zml~s{`8yrkrrA;an0sY*aXGz6X(G@j`IDzQEAhi}&Lb#xP?kA3Mg!OCvPP-rxza3S zlrtmuDa#feqJ`9Pa|nE(uj{xP;OfkVAM0?Xm+NyS&AVNV)ulwQaHr1BOx?|Y&~I51 zC&n`hO(8s)G;SOdA6qs}k_<2H&5XE!LZE!vcS`)FwcgGx>E&VRluSa;f8%5r5~b^( zD#>w4L35V)>Qbf7O+s&1DanIHs6~AlNeH|2tglW=EPsL;*N4~zq`~;8Dj(Whr}-j0 z4(Hn>e^*C$ru4JP6s%q#d};TtCZ62P{V)Y@<|oYDkBWwsQ&ujMN$Xc87w@Ta@V4a9 z7{zuHL$vl}WTvbNWj%7dt2@T^f75^cPqE~qxsuNeTY9I+bU4S>T`MvjQt8ES4lRr0 z#08Es?r%Q4Ga~)TezPh$cN7O{e^LmFHkG2?qk8%7{)-g>5$y(jE z4WJx{8qez+*qv@K1?3OIy699y=ak5xSv$Yfn4C+$`_n8t&btvR(jSV7aY=b5Tg4tr z1?>rXl((>UeiEPUN;fT*C37n?Q>$}}>7jyQV3gZKR8|P37@uT#CGC1EHJ-`Vvc}v_ zxvn0WO4pbZ5$QF&nO%iBVxV_)q`PYfKU}7b0!MnEJJvhUEpJSkN@|R(584TkpvISH z)OMCRM}}$3WIStdE9gYei2kM~rLU|;<_$%ix0QY6F7scXYi3EQInKyo;-%8cjg!he zj0_#aRoSdMZc4E|X=EcCl-A0K7Z*9{Yv3IS{QwGk=cF?uwj_L{ou}h1m}@oljCSc+ zSNOhAEmBSAF=nD{npJO?7Q52=+(lI?YpSfz&*h~S)9L&U!8A#drb5l~&+W<+3oY$d z@hfJf+OH$E_0g6*XyaqM6Ecfb8@1`Q#7m`Bn@;Nc-{5E;hQQuKGJVAkq+^z@;Ie|J zmn4qFPnO(MN51ugCDWI9CY zv0!+5Cf#XRmc;pOdW&QuO*&eEyEu6c*JLi^Y*e9d=HF&1k`5=aiRkjw*#?i3Ij+D* zl`N5?NoO=!qMSWH=1qt053zj>XY${nu<2#1Wg(6|AWnz$$E^FTDOCl2m!3b2V44(( z-|;tbNmlZjU+7>zp5qMtO`SlQ6Xoo4(;f3^gyBs58!gUT0KqyO740j9H!);|OlK`o z(av@a5ELD_UL-~c&AQ{F{40SWE8^=sBr4if3CZqDNW1nQ>>BCo9`40o=;*s}uZf+c zJJJ-=ZR}qsDUIZwDzk|0t;#F>&bZ!@3zRRv$eJcaV%+g1obH&b$)=Q){!L0q7jah% z+bjJrH4KundV+Hj)yF`q*5{ovKrx)CKE~AY96m^$H%9zolra7=hhE2rd@d!Ct!ABXI~)s*ui>_ zVdbe5RTA{9X9Px$7G(<3&eKSPh3Qn5M2`=(ZgK?4`4l5VQ|~->l-}mR(M)EPIc~F3 zpNTN0a9`E^LXxTfg=5_TIqjmM`}GYR8Z3LgGzhIqIx17zkk?1X{ls&nkveoDZ5&%EM><8r%L@76*Rn{?NZmyd z={v^CK{m*!R+kS1$@co1fC@I56Z`> zwoS7tODtB(5#w}*w8=-u2Wc>a9X6VlzWl;XO0P4M)HyGSDzYLiA@acCeoQBu-MEh6 z?Wd_RA`}-@>CCP|%usV_tx@Pyi$Re2v2l>GwU^mijZV|L*h*)+q)jflrMtZ9+ID^6 zZKA3vL+$0)4yCTZhN!#<*Nb$Xite3y9_!zUD?7L}x#$y9Q!`7exbm$mEiSC!CluPt z7I7fX7idN?3Ukk7qrk8t~>Ei2vLKzKCONGR55Q+*Cd{+AW@XbJMTW0aO4ECg$iswQH z+Uwk!wX*X3S~gy9p26zRx#_vpv?7NE$tF+IPJ~8aMtj}ze7t_M>YB=IRG~Av&+)PS zkWG^#QLStdvY_GtMiseJmtlw$HU(P4n{^{3w>b6U!VKn%^t&EJm(Mb_$?35#54N6M z%b$1BtUE@?HTv`oX1zt&!lpg27pp#>m`}8pUS;bEH{Lsw>bTktG5eJH@D{trR%JcXDhzq8Q*@O#kvE7_*O2hlng{&R-62=gB`%kRs5fBH1L1D7*aVTIAh%al7=a zDTMQiHp`widgD)CH->j{R7{E9zTp zBG0xaMp#&MZCq9fGej+}uJ}p&48PKadf^tPUZ|I6Q`DoCJ0@1rZaW1%IEs%zx}|$O z1Cq=daSxM3;qE0Jv)QrWavVOlO%i{0;!7DgYkKB#r(+C#GlQQ~{&&2&aq7(4&o5uE z^-E@a(W1ls20}d7(QH1>C6`=2VkK834$Y)EnKU9HuOKSfWinpixS@l`dJdUo(mYr4 zbvV_7h+BJ=Z;6Zykr8==^FCegC5I2->9>4zA-d* z5I^$aWuj~}dPcgEiR1j+Us^61B)94x-H+9}1wXRPL zb@dI~9?Y!#hWl$g$RM?Nqh)KIA!*r7kL37K{Wt-4W|Tfn+tfKqh4xO3q1q|9CbRa7 zqlE1it-|XH;|QgwCEA}28Aif2V~P))N@6-Dt4OhK;4nheNku$+oT2>bu_kimc*873 z>`pzV7#VFo_PFTw_`^*y<@#%b^I>M`*St0PSS9?_NM)2!DGKjAWYsulf%Z)u#r8~Q z;b)F-R5xmji@rbybt z)N)A6EfHL#S@@;)F`SZ3c*LR1aEPX?*W;IV(sto#o({f9<;WKKl<6|5WXh@3jZ)gV zPM0GULz&MI8^qb>8 zNS#(jtQmzVlf_7!NP2-&+r6AyQk1C~V|fe=lcDFsnN`px<9Z65W7uPRtby zq=hP0%~d`HrE(=z&N+MHke)XVINk!qE&V-tzlU;h+ zR})H4Ur{1wUsa^FOrzP=CHb0Hm~6GKGSX_KYhG=Vm%8F`-oEOT3OcQJb)Z&8kBoF3 z!rEH)@ZT~8{lTuo@|P|p&zT~q^LK9)d?N0czfsV1h(VD;|2KtYRmYsqp*qxeM$wXQnBT)Y7R1 zL>&r?RLhrQzK}s4OiEu=cvQ3cj#OFQ!V)6W%XKWXqD=?!Rpa!Uv(CzRzCfp-88N#& zhqVgxZmZy$BuYu0KYQoiRKkpGmjKPOV=PFRn5PEU9fK-}8=23_#B6?X=39@{o>sc_ zsI$x`bu=}dbmFO!t&qB3o0I@Wt@yif6knz zy)kGXvc`1&Rcx)98}K_}y`xyInH!eyp3ZeD^bS=>ytzG(PXls$@I=#5MH(lZuqbtT zdPTLf1a&#GI3`<{Ci0f#nhnP;(-Ui}XX$LwCx^D;Hkc`O( zD;rfE<3@5$-Hv;7+Dld+lmy_SSvE-Y~F(gqh7f? zgkcbr&U*-v^BssH&zxrwhwGZa>4mlQighezV*A_}iw^GEmPtx~voOI?l_;=wvAD5J zrDzOZG~F5@6#oH~5fQ8W{M^nLwxLFld@-`^Ib!y->OxvAFS91H)lWNpu$)Q|Dgm}PN$;!|QKsh^2;XjT-tNrm#pH*tCYr~Ek|@Low3hpX`7 z`M?{6s*wc$(0z)&ANv*S_4w|qc*e1hz61-#N1|K29+vG}EzcWR*)lAM%71>mxmPtgF8!Rb^6ooqAH|93-m9g|zs{^wcALyFfe) za2YquhM&%r@X9$8bdkH#8d5smH8h0nV#LdBpE+TXYI*7lc`zw`QHBuQJ;zhpGVf9B zEJMSC<0t*11J}szyLBUdg99>CS5VbQVOgz>;cC6s$_vn3P#TA+eC+;mKS>j|z&LB#t=SKll5rwF-WcmtON;r_xQy_BuFR}q%kQ#)OTyr^D>He+ z2}XoJL*8c=?wVVW`JqAFl`Gn$hf&((5pCW>?6V*!ci@*)QeBJc;Ph~}`xvUe#uc<9 z=*!BcQW{9BuB(Eg1M%sl&`mV$bn<>jP;`Lrs@i!{2GUX`;xe7;f>XoYdoqtdaokv3 zq7Rj%nWv!Wpoqt);XbTd>S5nQWkmW@epjcUGr{j+HJgu%@9mhTOvYcvhU$+wPT%Aa zOWXL4=!QX3d59``V&a-<9aQo{DMKb9(a`xfyAAv*o)2gR@024W4fj)UxlqeADN^L2 zF_Z(PTx5!kzAB2d5I26??p=+u6Dw!ghCL-u%;Y>aU!g~Y*w`v{(}I`EwEm)?i6}lA zs7N{#ANpd1`;$FG$j9^-7A(vx;}M-W)e2rKu>%_~7!Tr1UXMG)nc0c8dAyXDR|FTo zv_>y{T7a(~C}>8Yb?|I}ePO}2Mb^$oWJ#quLTY_VDC)u)=+%iO?eocq_XXF58k*!jHqc6p`&>*Tm)!z1dI?D zI(FCjMyvLsGqujg+q4HZsmd2!)sEiAJ^b0&ynRbeU4&SBxmU$z<}sqGX%w@Tizup| zy*<`tT`r=%Ouw$SecZCXJzrPj-0ITe-}zxg`m>Qg117m}bb$spJ-?wQ_RGw(iR;yK zThru7cV){lSnVkbQ(M8kI$20f^OgGX)3Qb{WBep}qNA=H&qx;8pu&= zTO~5tYNe_5mWD;}1A!W%E$$U${Pth73@XIq=+PGZrvMuPdxJf#&moeN-iAfv~S(Z z(#C;RH%O23AyUkcNGy`j?C#_>UB;w7YehpdX=rW6#5OC#MoWx~7ETow0yv7KfrSG1ppo zB&p0JF=e;R>2o8G9&=x2C0a(t@#{ovKFc5aNiH7c8&1x|zuBFIpxlAGW5D)-_;haX z;ojj?fs}S(6CUgrBqcAHwfV(`wB*aOc&;dCD7m-NgS@(YYMbyV@)^{Q7fK_aK^rVy zt!mpnpY|4A)BdIouh_b}yT^vRx=->483oM=UKb_L8Oq`LxvAyF^Z=^PTJrPrb4|Rw zReNFc#l?l`TDN58e!0dp%a2*@6*MQ@T(P#q+**3omDqcgB_=)<$)Bn^Xfl(5Hth?i z5>52+wjRG3j3-qS0Zi^w!PJ_oD-)C^|N3#QIU3xfYg&K9(sBWrq0sV1lww$fnmrCJ z`N&XRVc+$&<%y~E@YJ?(mNH#rghB;_(Bj8gccWgh5Q{Eav>srt#<@l*qR|SOMcnFK zn43z|{3Zf!qJ8!7dSK2jDYq&w_f#rA&rco7)jkzE-giZX@OCSP%)0UmBUr0ZteF*T zo=dB?Xt(jR6LaZF9}jAXxOs6IAF#oLCEcwkeztKBS1WUQC6jIAtX$k&y}Y2^UU#m=JC*6_%Em|b~NgEgsvY&QJrYk=Hh z4d4qL=J2g}#HSrf=%Fi{(Q7swmmfqi43Wx9`#2N+rVm-FUPIZ)bkG@^)T79Ox{4bh zu(>$vO{FQsBYj!U#7b5A&`BEPVqD56J`Xm~*W-GSqS?n!%7D&T()s%(b%|w#@)n!= z+cw3rpMqKz$??&e71WQ^kwCAbeDep6EQ+u)K78MxC~@GK(qE|9+aue?SanxuSpp}< z2P#k)7wAtp9wa7svh!P%f$>2}XJ$=5l_sVawIihV)1HoO<|p%$X~6lF>3mJT6tkv zG*`@?-1n+t38IyI6~kF5F&onYLqk&dl7*-{%gj?Czf~;C=KCPm+qp$|^^j7$?xnI( za~pHy8aq#cJn1BmBT7hz84I79nJ_yic#s;kj>>1ab|kLQ-natHEVvo`)TGrwR2-?% z5&WF7QSZ(Kg|9h-6iuLKk(N=;Bx@B#>TWSkZ5N}W`)_OnNfUqiY=U{tsUSfYBl)kR z-~{nsOVJHbn4_PZ*17^aD%!2{Q=Xf2eu=`#u2Yy}WOrWjMXrWHP&MbUJinudx`g3u zNY^m@ZJgQStY()hSsG@DDXDhRHD8#yU){JwPT3Yca7me)y|=cF3$ya0{x5!jRBu<7 zRjZjoa=`|V@WE}jI8%13!lKlwlW}?KYn&8~s|_l)Y-%o!EzUXCzNz7B>_{grvNvuP zN)y+cw++dKTZNanfyi>AxsK-Is!EeM+qg%aI@Nyir?btt*45Z~8sv%8+4&)yoXOCq zyNc8v+AS$+yyeY@1~CF-RqnKnY2E2D?4M!48MHu+E9!9YmAas z*BBNpU1b!>}`<`63L*U6%Oed>=m90cDKqv z2?96P*9e~xi+0Z7@3GOoeoRlXvSKNHez2ewLHp&hcM)|~@a~E1^77(x=~9}4o^JYW zxv(Vl(i&=fadCcTBE49#ZGtU|K>3+lpkUDy^lNA!u^hSN1A{Y(W?80*NVF1GGRD<;DZ1iG$$qw<4)Mn{e(1iucyAd(8%T?FbTf9#m8PH< z?UV9Ha$!koyXCxI*n~$>z1bm}g1)Xj$U)iQ!O!e;h(B=JV(Sn08n|p)%NTtY*H(FV zN)_UKlrj3?VE~rPvvbvnBP&%kx$)v;j6T@ZAa`w<7h#HetJ}NGFoV~om!(D5guXBa zpR^X0X9Z(-IMcEUmjgMPnx;Vd6IlEZ!m{ml^q8GrTRB_jl8n-45g(|mbBQ+T;Rm!l!Y$V1 z(bCCCbY-ebJKCg&yYSVd7j4;tCRz9}u33xRCOuL`rQQ%Ko?Mbq`ox;DT%t{SShZt$ zTRIsj)|BNPZPFvwl;sg^@L-d;c;x>ruQ7BUvvUiXp2C_3)^`(w2vm=82}X2ES+R`4 zCygIMoYMRE)~&kYQY_I1ns@Cup{`L<7y?2y-HPQkIyJJL7YKQuUq zPqO(OF(UohI5@W&7cD9kH)Xxplc%6F!B=2vHXqj|9r^K&TW{T!K71FC{J-?;v!#i- zblz%~X8R|0H}C`UM)$D)JT>M|Y2kmZ*)S|z!70yndG#h?(DMrUKMWhxR zn#FUhJjVKqxruZZ**3-2lp+^U>9IC3O-M|WBI`;^3794IY-8nayU5JUQc}0GmW6Y6 zU-4C;bo`qeriqd4L7!&XF{VLA(HtvPHA&MnYJoOMXKHM0ZNzjeQ`NOa*$$4WNuSwR zY2A)l1kQZ}+;4^^7i!kqg9W{DSEH=NOlKXY(%95s zV%aS&^6yLa8ApBFRIw;1)mmEKSn`^2_q3{dDH#_g7)_r>F)T_qXD>XlM7B0DXDd9` zu$D28*M5A?DFtirq7zNrV3mAe@RTN0v44o8GF6&`pS#t_o5O3C9jhh1mW6ZTQHNn* z6mJ@T{jD(;bXogU9v_d_zS|eQVT{P!5Tb{2TGcL1Nsp;8wbMNP#$DCBn+r1|_sQF! zX_g&ZBM}9aBT={u;U`SjQnTzB&jom~!^20%GL_C; zka?Qv(1JUSaGqwmJTp`zJ7hCM&9YB{ln*^NkAU?Y^XiZ+I6&u-_6ZTclbQKSfEUPmC_SG{~sMbS-Cs z&Dio6!fG;2U)<%RuuIaBR<@HN=fzQG#ju>{FHqcq8uJ=wvTv8Nc zElJpwo(|m@h^q_#B}@t+jRlS8j%+{OS~EA8wTfgsua(xNF=X1csJJRBgT5eIW-GnC zu0}Oh$R*_|Yl;Zv%z-Bytc91l6L(!Rrsr(JgC6#k*MXQ0vnDU&R2OIY`H9sjF==)= z2yBXCou=~qG=^#PF)>2NV|7RE5_CdmNNM7_RP!vgsYDpV{?7atSoL;cnV(ou&m?Qj z!ob=<^&%<{vkI>T+#klrjfNXH3%|5x!f;Bq?15F8#ppsyHQC5PhkS=<;p`2WTFff| z6qyeF`^qBKNIPBHUbDC>QWmL>ZeLylQMDKY%{j%2lF!w{#0wW&sd@>L^FE@2vXGNs2AWl@po47x&XNQvR!q&D1u zEjJb;g+Sp^fu>_ZRn@pYZ$ zw0VSSGDz!Y!&OO&m=rbMX15mJs!t1>*`Z5CPFvr4y3FQ#Pj?vaFzpJF)*Ly0Aw#!S zh!f{a(J`b!eJfVASaL@fV6Dc>m&Qg?Q z4S5|N8XOTHMJ{>47%N{ILt{QlvI!5=r+hCM<=#+e#ZEhQ){C$$6R9BcdK!YRutQYpKbuZP^n zXvG-2`(<^eEG};1)R`c7snlmflIHV)C`_vShbl$8DNBl+)YK?$yBU@7QegXH=&MhV zf;)ljt0#vdv*hap+?O7Z8_Rw8Rzt~L@IzmlT6PF^T+A<5RtjVjmSWsX#OQl1cO?bt09-FBYh2o|Z zlg>V~3bLWl)^*M3lI*6Z)iJrJ?3c+>4n(22F8g96iUv`Sa$Zy?5jjr&SMY^d_${qX zTAh)K5=}{O3^(bjOPRC=89Ba`lU4HLbJcXLr>fGB^5lH=EH!Is5Ba3Uc$?3C>dj?c zSrXwND@BcT5wL z^z(b(XemY_pBNjBJW-BFj2C&KQ<0WW;H%cy`Lsu`Sc?f;vLcRuB`~mdelq{W=?Wre z#uwPjo2*PGjVe7UQpxE+mpXAi!sy^|uiMHj-Bqv-I8s`bS8;A+7j|}J61`|=1H0BP zu6_r-B^43!Y34$75S0K4c7CZ06+I9IwfTS{`xIJ!h zPcb8(_UJHNR>s*S_n&PduuQRr%wB*}U_JfH${Ka$()&sYN4w=2y9E24{1s(}!2O!J zz9;x!JDYj;zk{BhSz47VJVfP(UrPs-m45tfYhC@}>JZ*}*xoo@fm@@#hAJ6HR>r@_Bi4JHx|<}%HA9+-W^#q}FV8=m3!k~KY?e3QcTuJ7I6*Vzrv zX6F@o2D{}M`+IF^>&^&@D}Lo|L=Seu5_(OOno0`8n{V(^Yqku<^B~zJ!t)}-(@&7u zCX3BA%If0IxZfvDiJ#c9Ymm~g2=w}_rY~oc)|(e^Cnt+i&o3_CtsXA;iXn$+WIi?X ziegUTu1I31P8Nh43)&tpyo<9*51M>iuNr(Q;3fpj*L@QJ8-2Q|q%}lof%esFA$*F? z%bA$o9)0!5i}Pxi@u1zu5f;7NQ`AFYcB4U$->m=eDcY^mwH<1 z%0~}b9Bk5qy0v;Jo;;#Wd6f5m*@NHtWwvbP!lu$F+beqn8}mSW7`5(LsfvBvR%fg8 zI)N1z#WNRW)rrac z0qW+O(n_6h**G;tE`+FzQC1u;CmZKQP#R~;DSDlxOqKl0&Q|#IS%olK6IEMKrX8MTipH z{|fC){R4fZ)V!@wzeC?uygA!aZzZQXlM?;xz)%RehHvYk#;rY`3PK02Qp z=!JoKO(6bC4=IaNxHS57;bUq&=`{Qm1FL;bdtLdyR=lg#OLOyjT-PJYSqZ0I3Rvwv z?WS+;VO|4UU*KdYex}w$C8Ah2M$tFfyoY|a$*%M?VGZxi@F6#Bvo2q6TV@v%2J6i+ zr?YNxYDIQ^C-ZDn#d)5)CvM=Otvp5HVJU2Hy+FQjc7j@8tlPXGy1eD@MRts0<$n>t zE9$+koCS(dlZSXVH>(DrN%=@mh1iKgc~3l7ViIILH4SoRWIpnaz)Qh#1)U&zB})({ zlh*5Za7>@yy)iPsODoFh9w}tINU6NXiZS^eR^;?MHNmI2{=t4Z{Uf!oC6D-$TV*}c zO6Q+B%&g)gxJ8%tE<%yKYu}(z#-uU(_+Qi5g)!c;-*ujbY1}%UlUZZ5iyi7AkC(-+ zBQ=T|?_$|;>CV<5vsS1}msZ2EUsiLEy0n~2O)5ke3!ZgQFYqOlr&YSo#j+B77!eI7 zpHy(#`Fo<6mvP$Z(w8>r!GEI|mI6@v+grKn_Jbw){`Pn%=(iBm+jz^+bu;nZ&xHDtn<7&WFwN(MmlS^!W zmyW)H=85}yrW$Z6JBr)F_lpaqq(wa6cgkxH&y&#j2t{WP-9KA#HJ9~7E{+r$y`;;< zp_xEh(d8LB;V%Nn=3Evs;tD<~+3+a>lUmr4 z$HL-j*DS7^g*+R$_TbFy;<6kBC^p2=lGO21tuh_yq?4CfrIyC*Q+Exf%ox{TqVd$6 zK2=r}H1R&VUfsrimv82ef%k4+yy8+_8ht9Pz8b~F zS~#(*b-@>x>l#H!b7=`16X4BZS~Du^e$B8uPjkMMNuhCPH0v}`=6J94>kDahv`9a! zFZ8@u(i1QDU`w73{&7(_U7gbZxJHDFl(YLcG{PP!W-niidJ%uS&lqz*eH~7T$UK47 z%+`8)$!lf04at?u9g^AdQ+F!bFWs$ZgIZ&6nnQZw!G>O@4HsbvYIjwm-vd*&%iNXb z>{qM=M-tEnTIo`)h)Rp{WHr3ZO!;NpG0WPkxM;GR#km&wT-Z(RPiG=97Anr1M>EU1C|GQY9>5G`f#; z4R>|pm(hJA*u=Xr`aHGqS98&LoteGOYbL4n=l2M80sMV~w~h^;=;c4`R;*9wP+xC< zPhU@=;$3-R~8ViXw9tXFSzEIN;Z<`u?DgCpxAZ zT_Xd#!p}mhMnQPLiHm3+7-aFhi+S@}~gH(F@mHgq}VJ1$DQjTC}h=IdQ7>TSq z+&h4@``u57y-+e)**DbH(}RzDj(8b6G&GHYZY6U}R?aP92=S8eXRxg->}njsdOh0l zb%Gx-`{9|@k(uYO%`8k|=IBI%VM;en(N|-FjvX@LnuelicP-*<4#iZfO8xx5S0Ia(CbIGV^D-#!DWl@U$kZbN~Owo45 zK2SJdb{Z(B&MwYP&EPrKJl>(DIyEiI6Zg0Cc%(p&$z1~E!#Jjc*>&b&r+1`# zxNm5*Z*ZV$)bY%V#zS5%=b}liKRy(zA3`Plhr5t~ZL)l^>qH-BbFL+lS0I^wZFO-dU0Z@&aanz^YXr9j-Gc+D zqAoNx=3x}yptBEchTM0kuN#v~w?_u{3G-g2f%#!e&mP>1G=>IqO0*lPAhW*bi2LC| zXo-AOD*P3XG9Fd@8Yp;r7+Mf4V&5<>W`n~gd6((YB-f7&^>>{d#a4tNZXY9rE|fdT z(y^rqQ)idcRAqr=`jIZ()IE}_(XtBT`l8l^F;!i`%2eV!B$O2D%m^j6ilD7jk}e%v zDv{-&H1ZoQEVG=Fk?~W&oVYs>cG3Mty5gas5t;KkBX7aLvc{MkwYM9M*hqO}hg>ss z%q@29#r=Ia{d&74r_{8uOnCQ9-O8yMC)A7&TE+;a8fg%fF}5;S7FX-~61G@n1<6xr z;2M4cgHq~Jz1@P6TGsVQ7Y+>#&u;8W?v}vP=8Q%uF-+NmTioH%le9&Y?|Qw0VMT0BBZWwWMr&&7+TS))pp8Z z;B0kYDF$U|=|QB@dWvb?_X3A|4+UL5WSW`Pm8l6#o-kPqGQni!VE4$7pNrrT(U8|_ zPO04-B+QbWG!lkxWVCB^EOefvjilBO_s0{_OZ~A@4dS^My}+T$cd|$*9YnOj5fdh+ zRE}Z(DwUqGm3g>w89-c8>(MpXMurYz?!v2pDmrjQ{E?xauF=qBDS)R8t*9;vON61r z+%pU&DW<1tv_%0&hDcviLbt;~QP+%BsbCB}fiGV64~A37<%yG8k6{$OXqXp)2GPJ3 z>Vd=k=pv#sk6>7eB-4*#e9M=K!F-rCLkD|1+z9Bq2RjrRDG5hhajfT%jKc_~JJvn2 zt0N>8{?=BUt%pN*8gi0A6uRSG-HqIvf;N+dex&PAFJkl58;L8_?)pq8VF;|Q*MW@} zYj!9j?aRsGPi4cEJdLJ74OqV_<&|~B6d~}GM zR)=Xp*FcY$F?ct_sQqz=)HmerWO;!&t3Bw1pcfIbMfTC`)-k4XxCrj#k+ytLpRu?y z5oXYSqLb{?^2m59OZZdS;>^-n<*agagkC0%VckQx%MwJ61N!*L;YQza_uSuCoaXA( zxxCUtx1zGfb~I>_Qo4bF(EY8gB7G=~bcto@#X}V-&O%*6bWqq;Qn(va?HXKVVvxxe zh05Pnu?xHAMB1acW61+Dq?s^vBA-!f)_1~m>_3|7 z{rR!<58rszGEAejE`IfqOEag{W8+*$M@r$IY2f>eOqMB2OW!WkV$W$c8jlOzq1FtC zM^&z7@E)MdAKne*UJzx0Dx>92kff@&CO$U5AXG$kad%S2)v3eXkCc~fneXhJ(jTgr zL}LCrIvmEbq>QA}$4LT>u1*^XrE{Z761k&Np=+MT5Z@SvHqAm@vLv-?o_JC7ktia% z`*YTT!iIxI55au_Q@JA*3wud0g*#FTnRhGSBF}W-BhYe_<=Lr@Jvh;qmg(11yLNW$ zsod&6i?8$Ax3|-Ba);uk-5IxhE&ZygXm$wR`72-1UdjGB3~9 zd7)O!9D2UaYwxZ-xdvHUp0D%j+;y9oL(hA!v-o`i7E}9gZ&wX<=rwa46Xsf!I-Ysa z$_>8U!?|cu>C?;gBuYpqS2WFaumfh#({y((IGN&@I?YJ4 zSW;0tRjxyt>o7>APc@RniHSzCtXp<7O*HEzLB*0A+Mi7ZzB)LT^av;ru5$TdNX&&z*IQbks4f0B#h zl^2FLx^~Ra$61mKC$-)$49Ze}%v5O!56!B=P!(d^Cd(IZ6X^!nC6l}Ynf1nU9`Z2g z?Bm{>=~X`DWg3{DUeM!wG@12r#f~pTJ}MP{PD$aSiqA3yPm{EQU=j6#9;ekL*Rw@E zUdsrfORIW)aLq$WK84)`? zP;yGm*6AcQ=LCYASO!GhAihLOkzb0`$S60c|v0Vj)jHCpM zT63=(;wm4n78H-2x?0qUriGU48C!`*A{3fS(^C>>Fjn)_@i_%+ zH4k}NeD+G~WZdJgI4AQNtg{*3dLa)boZPk1@b^o4gco1sBMf0hkHs00p~jLPEl#U^ zgn=I6D6OYh+`O#Ex#mNr5o>y!OfXsLmRPvCh+h~%TFoi7n}dXTkCR5i(8UEkDJ*Ft zsr7zUPnPmkK8cNsdI~~C!{aUg#4HIDQ!4$M9PQ!Bb|@oZX-^E2R{10%t?4Nl6$Ov~+#*jF zEmMXzFXzdjja5F}7?-$MoKC@5$dla+qxQ#YU%bM}F8)}n_^O|*<*fFgxd*KU%Ie6N z%DCu9$s=v~pw`QZqC}WM`-!e3)&k{(p%IS&s6#nvVs+Gbd*YRHjz}C^?bEj~yO;;{ zTBA%s`}6cHTdj9(%6hz2851WLOHs|*wHH1%SD#`s*5{TaHD#p_*;%Q}RZ6-0sijT) zZpP(W`l(!7MwM$N5xF*O+FSHXv2rT*%T8GnMcIobQr@wkS;}msloPXKt;(yUvNCf_ zUB5KSIo6wXjJQrJyG4d6!+oC96!(05B``%FTx?ophTTIutv$RIK|XWsz>S zq|PEK7CAq1aRteTSwpLmlE2TUqH44`vqG=)D~&PBB`Z_OIi-w~Iy1IXW+$qx+$0;% zj37k{ez8=@246W9DZWa|;$*b=&OIrM{)f`W#|G*2)|?eH^+hJ8B4%w^E=5U;l~aj` zvvsv{itJcqlUGg^L{0-bv2rR%1y`reZ78GYR#ev5js`7K!d;N>;1IgMwN<1Kg^@0? zEWLQBBGF>0P;h_GTG&-ma^)0rm5GU!Q$ZzGPFb8tJFaF*`OAc<6ZwoPZ#JouACx&ek}dd$|)%m&yl=$UL}>KnbT2eNmSP5l~ajx&xzd1 zDT7kcoYt?Bl48DcDqHZxfF<7T4s}FYE0sO+$|=r;#X1I6M$4VR)fW9G+l@?yGB$q_ z5}|Z#l~hWeadqnOM9@V}^0F=cQmGV}ubdJjX8UgClu4>Q@Il+99|@&%qe=?sj!K2D zc^X6fb09;Tt^h7sl3F!Syr}s|6cNM9DVE2;C?)QPSRZmnO5xT@r8sQmRN`dbt$d3- z^PaLuzdw%GWXgylVqRAK8+pDEVy?p=YxRw=If&sEP0BZ|FG((mQA)kuAmmHZ(Pvd| zjx*Pxh^V_@t&=gxtmlu=sVXmshwAz4l)O9J3MxdMo|(Xh_@=O@{nYZkORI=lFkCr1 zxp$A&N{*>#rY4nEFkC58PkCXAMVX4rrQ*1HiN0pM5=yfekC=jXgPNXkWo}^0?Vv1J zkGJOt}K=Ff&r3abYDGusv?=I6c1|0ON>5W`*B>W`Abe?|gP`FEvoIJbb!Y0-e} z&*bBFo`ZpHPe(_z3HHkB#40LE9cIs@@xztS@ewQ<)>bC&DxwNf#%3m&LSe{$Yv-~3 z-^}@t?R=CJ%QLIXbJ!@{l`9`4doFbNOIlJ!oK=+)YeW2=v?y`<+xzDo>GNOSvWSJc zVjL`ppqo4wzhs0CdbbMk(chmE@8RK6j@cypsP^HoqlXvirlV zq0eBFF@FvdNA$H6NBcjLnhxDAxk2Op&Q|v|6*95Us^Bp8diH1XnZsv~+>XC4Id+s3 z?tFkNJ1_iEV_}U>P;rpG*03~)O!RMJmll0#-M^d-S%w2lI{!;+v{ND3+#ksgBax%s zznrBlmK(Ec3scd|h^#w1Hyix@U)h2R@t*FF#IG%^B%kzmvR;^&U&G0SY=*y*<%KiL z*fS3X|3~0)_AT5+i*T{{7FK!aH5X#<<@>ssWY){;ABiPnD{=kPQc$+mbvmtPJ#k`r zYR@u0iLr>5=YRWXnQ2U}&2oi5E>vp^bJ)LJ#A+lis8_J!d|{QMrN6vo=AQ8B>q%et z`q-=TMd+#d@AF?@Nu|65vVl`p_|!c(Yl;O$6vp1!lYyiBbokD_8q zO2nbptjy2M(2(W-3Eb-P)Wph+`#u;>+w^y`&g1)V?u_<-FrGRXT;`|fkHjyy!5_T; zBk?OP>D6WTuV<<2-Gy@@{+n2gB`XuN*n-Vv3uZ|aI(#cwDA5Zwj-uHT02n)!To6UA5(->#ElQ z>;GU~^+Mor;LeY&t3Czn|HF0FJAus~Ust^xcp5nSN9(H30Y^TuuKEzL{g2mGuLrLB z2=jxfb0GY@qlN5v!7X4-46`?`MT<( zz~0XyP2k4ASXaFUX#3o{>ZQPCVD&E%ADI38y6OSo^j{$zp#KZ-1@`{+y6PRk=KI!F zuLLdu^M8Z*K>z*7FR*MRHHvrfC>$>Viz~jK=6VL*~|Aw*v9Zw=IaP7Y%55Tj)(naJKIPo9I18~Pv>#Fww zTmKVn2&{h^^$N877uphd3^@JFy6Uq)&wsD0-VbcM1TAp&{~({h13>>})D5uxe^EEU z=4VkB;Avp`|4?q=&Z?#QB+&UKE!EqBtyi^FZw9Xa(w6EqK-<+V)ysjWfwSvcst1AL zmX_+HKu2p!^)}$TwwCHuK-Jz-Ed!4Lr`NYsp97A5Sxfa{V8=Dk0ylkmOZ95t5-_=; zrTRQ@=qp;P_X9U=gblb1EPQ24^#Cw%ZAS>U%-azTB;WVj{~Q^x~2LQaL1;W z>fOK%U(-^(61W7My}qTo4>F0&D&b4 zHv!jv3(^9f1Ww)DQhfsG_|}%{t-v+gTdE7dgTThdI6pQ#-E4ufR1srC$RA(+68zPSU80;0H?nj^$Hxi z6Zr*pd=KgXxZyPVGVlyA-9SGBZa;%M05(pb&49;%Q=GLJe1u0G#VtpX1NqYLOCz=1`a z6Tpp2XlLMQ;LP(e4ghLBx3$W$I$OG^UF#CNtXMy3DV9Wq+{{EKg zwZOB$*_R?VaPSAvUcgN+Lz@5_e-P~jTm;U%9CZNP@k2--*!l{z0dVyXqt5{k14FMw z*@5jp(o(%1s9uG1fzJY+KZcDx?-13U{%{}f^Yoo_%J0XP0M(gB_X#@~p(2JHM9lndDK zCd2|B28MnXc?Pz<8TA1?3oQH`>JjLF3&uy_=ATDh11)bwy8({^r+)!`960p0mg;@L zO}_{Y(DHU@fct<$zl8b(ZhQyY0jPc%Z3Ns0^t=;o1Z@2kTnm6pz&-CmY+(FXac%+o z-wh40tBPVPNRJE!9VW&fh@009)UOx(C{R6Lkq(1Sa2)G=U?( zh4KKmd;oO{Z2E2VIpC@fLJM337Jdiy56pfDZQO%VDf(C6*&60 zxLyF;A3$D#t$&B}8rbq6&I#b^zejq&6TtLC82^Do|A2l1-25>5EU@7pQ9j_BN6`Mj z#(zROz}1h!7q|?(=$~<(02dxZ`oO}!An(BFNfQ2V9 zb^|B=9d!llxQPAI--hIP+h~H*oYBvPx&H{c;)Xj5zTLExsZL7ss1*SA(L119Qu0LfE%`;PJkzY)8EiqeG<6+#@6axzzyHnTD=N*7MQ;Y zWdi!Y34Xwqt?&ab1M}b9T0IO5Z)>eS2JHA2lm&Pen7%O_aY785ny~DY(Qrx$_8w?t+jd$aP{r2)r)|~fz#j7T73>UdI#DaxaB+1 z?!dE|dqj4>)uH^#JVXLVkej4nhN5)r~ZPCxNp)=wrY@FWMRyIE4BE4je|G z0d^i~t=T9iD4P1Q`c>yj0=Z>{j4+7);t<|T2q2uVMK*s>;57;<}bbv>IQ$vUk z^gI`R0=Q)u`39~XL7ss1qv)@|E_D=PA?& zaNxV41-9LZz6Mm^gL(kI0314vc))O@wfa18&5&j1HjTC4W}TUJr`K(&Ux20R9wzJRg-{VzbB z1GnFUd;;6=MZW@Wcp-d%mhXiR@E9=pBD6Ko|Nqc;fbB0v8vxgSALz6|vM?EgWO4cPH=lpnb6hgz#w0GEN)S0FuL_J>gp;OHxn z9Wn0Z#z4uf{nKjQ<#XfFrL#xq$sYj`V=Nuf@MW=TD$cfSX^3 zasoI0B>D!>_Iivvz{9}kPoZvsJ#RqyfNOsmbqhQLEWHt96EOZW=o7%9H=&;cdw&+^ z9I)-phzs2GbNCn7{1%K8K-9=Am0FM3w`T}tDZ8!!F{vyf=biBQ_dIxaB zFQHz6ws*8vF9Dtg=6@M^1WvybeG@qKD`-cc=Uu2zVEeBk&%m|sMq2<+0n@*R^BEX^ z55^au2Dbecw7`ZBATIC>u<+Zc z3*giTQ5V3$-$9=Sc62Z5nKgcj)hcx&}`V9OsNFTnawATPjEz_~w0T;Rwjkq6-BKS8|%EuTW! zfQ!KFpQ8T)L!WNNyas*#&rmktrq8ruUIXo)qdx(U1CyUcJfQzC&~Jb}pF^DiH~uBk z1~z;iX#-CK=l%*~6maSbXh)#`uhA!fo%f*~fvtaoF%Z~%Khgm<{4K_H;4-lA0DOTH ze~0l6IPf6a5!m|o@ByxU2KVA>VdNXw@{g!9;8|e)5tI$+|0lFDu=7#0 z0dUVnJ1tD_Wv8w0B(8`eGs_%-*J8b zj{>JJLIWK54~!YWO;4d*z}5eW@d~z=oE#>J`9Mt?&h&0A}0TsxJUX+uN#-03GYws<#0*d|6xdI-unm zXn~8sxi4?49tQ5*&{lm4xZ^9@s&@jLHn!ne542y|R$Txd2hLpER(%fW`Kq?+1HjJf z+Ayzy_N&{fR|3xfvzw4MaO7){U*MMOp#iS_T4;c)Hn&wT1TF!yUx%^*M{j7WJ_OwI z_0R&>Zh;oK3|#mIqzz2o*jC*SjDBNV^=Y8zCinn*zp1Ty7qD$>TlHpO%Qv@GZv-}N zYpY%gJPn-vmbU5vVD#p;>XX2MZ$LtKM;Oq|M2{`iYZPojMt+$}g zfVSsA16&5q?SuyC+0|CP54fqLt$Gb`_3pOn9^fLdv_@u*ZQq5ofJcGx14sk7 zy$fjon-8M?fJ?x+ZnPP&zXvwpy56?x#lS`2>>=b4IB^*M!2ToXTfohIXa``^QN#hB z1(uH?E#OQ)$_^Yo-d24W*fD@Q1lA8CKfoiv@DOak_UE=$uLrIgMtuPH14l+sXTXi4 zs577%Lu}w-;KYfx>f^xP=e1RD2R4nPZv)Q&XHTLWz=2b3)jNQV-;I6*JOZ4$6Lka} z_#U(wu>Cap0&r~ueE@g@ICZA2`UJ3N0%Zf*CXpxLe&EOy{D7^~$P;iGI5&fG0taVN zZ@_hTwN)f}(D|b%4{-gfksff>k0CwaAzgU2(Jz3ffu)~9zJb$kK>q*^{50wt*!D)W39#{JP~X5MVEIi*6Bzwj z)FE)-%{Ui;Z9fMs(DoL@1s(-Pf4;5yC~(VLQCGl*UqIggo&-+6t*!bDaNrklz5+MA z9ccj10MoyOz5(og2kHpe_{;DEE&I z!+8l@{T|c@@DyEA&A1&+KA{RX)CH&KT`%llCd;Bny0Zy`-!{|7LJ z0$YC@@qrB=#25iQ4V?QOoSVSu4`B=i#(x**D6sd#CvS)-~$}^SX=cT;Kn~h-v!ox9AyM90<(XF>jrT26X+|zjz31-0vkRF4e&T{ z`cKe~z=2Pp9f9qC3Jq}Wr_uJnGr;_x;amWQKZE`O9QbpTAL#fj>J_-@FVN3{>pzG3 z05<<6$_%XkJjx6_11$X&$_$+P0_q1i@Ym=Iz)knT2Wa^llofakICVez3vkEZqCSAl z4`6%;s=sTi7J!F<@dptHIP~{uN1*c|^bO#~f57UWmAMhw};vZ3Gz`;jw4gLSJ?;J|;N9{`)5LYo3l0cZXbc?b4CjXVQ4{1?ts;4-lA48~93$bTcR zz}8C`KY?d~rT@V=1Dw7Lf8fCXA~vx3S+qS+{U643;67leYOg*9?ERAV>fONBtJmoy?Ou`Ue{iI0@&ZuUcDE%v9%q~blR)+ZSB>IfG2=c?d{cPfTQc% ztB(SmU)El|54h!;cD&aDz|Jku0@r^-d-Zaly0N{w09*vlePes|5ODgY zc09vruZF$}zQB>KC?Bx*n^8Vs@3!{p1Hg`NK{vM09^a6?bR!R%fRw>)DbZK zZSB>4z~~OtC(!xr?bX|XO}9V`Tn3h&gLHutJJCKs=Pr~B*wTUW09Wlsy#bE`(|g)6 z-)XM~ZiN=uvln>)uHV;Qy&AX-EOoYHzJq$Y4P^%Q-i|T@*L(-s8Mq9r-qBt?0*rqr z$_DJ*k9+~we;48amw7>=OEe!*wT%@0JQa>oWO&?a4+%$+z65M~ zE_{HN;r8lF_-)FF=n1Lip73ZVO8&>v9e zqK?2CU|t%22aKKv{ehkpkO4LTt(CAjFuBUX90&SV!$yEvIf9ghYYYs z9m)c_);r`FU>#7o0R0arS_m0nU<29?=-G(212zKHO(+W}ZH7L;m=@>*^jrjefQ>+1 zEAjzK+hB8GR6A?}bnk!+unA~b41IvvOJDRTus1OIc$5L`aRTfE=qJKofe(Oj zC&9mf9w(!30_%agQ;-grd@9-p*!wi-2Dqm?X0{pF}J}VfL^!5 z4!|a$`VQC_m~ba-4D`ASHU>5Vb$4To0w&yp`T_&)g`Pmy`_Q()3ZV3U=mLy*0R0>2 z_8`&&8-Tip;1j^;hfyxj>k;%jzKbK7+Ogik^l2fU(aZ4bcC2^c$et3(x`B2sFG1Uj}Bs1RDTjUxuFngI<9z z0^MIln*r;Axvyc20Y<+Ln*+VyfG+~}n~(uE0CjJnY@qmUjG;izJIDv<@-D_=U?ni; zJ=6&p|31nB27G|F2YP>q`~dwU)CpJxRDKK_1Cu|&cnggB6!`+9K0`YKgFc7tfc{?~ z51{XtXmddS3jG6E3C#W)dIO`rfi6IgZ_)OE`W?yv)&aHOLvNty2jmY7{t@j3^j-m- z0QDza?|>D++?CKDDEb*~3rtvrwgE={0v`betcD)|J$^-d0_GZ&1FQjRe}g{(`D@|# zK+f;5CD4Bz+6L(H2l_rh*28Ck)j;K+NCQmR06zl;|Ao2&-8aJLf%QP;->4%ndK2mh zbpHoF3~T{fHlvM!ng61H0%Nu~$0D5UI&hfZp z3(&5+WF;`$aLGHsSkuKE$0hwO7jqn!*tScK0@ec6j!QlRid~ny1&sGx@({4M?~-eP z?kSgC0N7nzas==lP_m6n9s>qT~R+^J-5 z@&K^MUZ^{u?hU3{1LDXFkqxhE&|k1C>!_=DBa&BF94%PqYgm716*{eTg9F1Zfqnvb>uwg8I@ zT(SnJp5T%%fRc%*H!ye-+8pRoi2Q)fz|zU612A_Ad*OO*r_hL2N+n4dINo? zx#SFB6VOxweSzwOkp`Gt3L61?mmzP;v|B@J1@um%F92j7YzM3X>MCGoU{0k=UIWHd z!G=JOYUB%S1QygFKcKi4`2pkS!v}#eb?_OWUp?#%m=-&!I0L(Vj30MVGx5NK|nH}&MplC6C8yLL=`2#(c z!p^`ZplKQO1!gXXEHLSC*bW$T1Z)TNJ`!~UHUM=;K?h*Q(a-_NKgK1G0DBw@KLhOJ zpaZZDs68G!03|0NKVaO6E_nhNa}xX)7<4k)5$JLXd>!ylg|7oEfYQ@oJ7CP|NCS*L z1LXiC&O};Z@L8w_(C=*cCD7{}ln-<}7i|V~KMy(sn}DU~V;ln(T!6L%W?$%%4}hYJ zpcgRqV&n-7z65Ov^t}|m0`$BLHUhQ)?U!TB0cKx;F$b7*CE64iaTWX)=yf&P0C2B? zPXg&^|!U&9Dj3`xev(=y5A#0sA(L zA;1=3@$K*jpz;pb7npk|+60(!7wQER-;K5bCf@_w0mJTvt$-f)x#T2Z1JH0k`YbT{ z0rV+g?*~yH;68*g99RcbKaBi5R4+!v8QF!?3u2Ml`|z6kVx z#U+;k-Cu>Cz-nO5Ymfydy$)HR-y0Z{0rO3aRlpWt`CF(ru=s7H0qWj?p8*Tr#s5Ib zd(a6O^gh}i=<)%^E?_NC{UOE{VA4nML156wXh)#?CunP6H8Af}=m1Rq3~ddJ{v0*~ z`hJ1B0pv@J(ZCnLq_2<}AL#Q9d*sAPcMmDpzBC1jhdgdjfseK=0qsH`gKz z^!Xk70-J%lb;u9M{{!O;&~H7;2FyRvr+}Fo(0_oOzhDob+eY{(uo0;H+a;d>`J2!t zz@UFHR{*+hh77P7X#E#$4U}&|UjlOegAW0{h)2!?Y{et(zz@I-)gvzeIhu#FHy-J& zd*lp&7#>*+`~b`}J@Otf!Scu>z#!WrHvzpIkDLT-0BT*2d`*8 zfQ>+H7ms`bOy0)BS!9p&@9L3@0CQXD1FQgMcJs(9z^Ls!?A3UrZ+GYnknKIv3Va8Y z_VCDaz^EM{1N7?&89?9BBg=ucz=B@L516@=M_vQQ^!CVIK<}MVKVS>c)Cc(iCA)a! z8DMZ4}c7i zGsYuV0QP|%SqiKI=8Z+YfN=-Gc0liOXiH!tP@9YLfl1?`D=;Vz=>a_-bq2lz$_tP; zkTU_k1$3L}k)wdMz`RKwc?TF@2wwpDPevU9dkTC3SOLr^^2kfTh^ZdA4(L*h`UB-9q=)r?_%^Jz+Qqj0yYBe zOOYQia~bRnj9Csp0(u>e`T?7PmLoj!6;OO6>&<|J-%sUT$4&+rD?Rc7FySh+Kag`Z z`U~J*1KoiifbwfmKVaB(C?Du~y+=+1HUjf*fPH|mH=^!9@0*Y}KyHSw0-pgzw;*p| z;H{`D(Cs#l90RNes&7Ys1IFJ0`vU#$g#N%5V8LCeKQR7o!~uKUgZ=ip}LA`))fXRl!iz`?^mz&W1XvBscp1J140r{;4{QQzU-ifvK+bE>3ou{z zNCWT%kpBjJ0O;{1d>eS^E$ICoegkWOdGEu{xL&UZDsjzTi)-+TV(3{0+XC;PUSB|` zNlzm!(C-=89@qlZJ&Se)#y*EO2YNjZn*r;96)39+W%Yj>{RLPL%y|cG3=DV|;~nq; z%HC@yLUe*>j|k2>5$rz_*pH-07qSiMO1354$abVV*`D+uJCL4aM_k8uBE8AZqz~DJ z^d-BJeq=Y&pX^TdAbXMlWG}Ke*@p}y`;tLqKQfpMAvt6y8AgVa5o9D8MfNA7$pK^x zIgpGc2a$0kmy9QQB%c(J31lLfL<-4dGKCb8sic@p!+o8DNhv8K~=q>@yTYEnaL$$U~r>d6AKkTj4+?3Xl?7P5%6k~Y##I>=(Oge)b? z$Z~Qx&d3}|jv_~sW5}`OIC4BWft-kQ!6%bb$f@KsaymJKoJr0iXOnZtxtOz@Pc9%A zl8ea2r^wUf8S*T7jy#WhS1*#6$jjsv@+x_ayiVRA zZ<4pj+vFYcE_siDZk+tM^oOS+#tS5isOweCsBl(+bBL9%hy zZc2Y;cV!P{Pi26zm$J9Ak1|l%R~e-2rwmqxC^^bdWtcKt8KI0+Mk)I%qm=`cG0K6; zSmhvPoRX`ISMrp6r9hdWOjIT*h00`Qic+LZRf?5qN{Mo?QmT|G<;rwrhH{89Q<D2FL?m9#QXsZc7FDy3SfQEHX>N}W=#EKn9I4N9ZZq%!?Dkmu?E2k)@DyJ!@D`zNYDrYHYE9WTZ zD(5NZD;FpiDio=NDmN)NE4L`ODz_=O zD|aY&Dt9S&EB7e(D)%Y(D-S3SDi0|SD~~9TDvv3TD^Dm-Do-g-E6*s;D$gm;D=#Q7 zDlaK7E3YW8Dz7Q8D{m-oDsL%oEAJ@pD(@-pD<3EyDjz8yE1xKzDxWEzD_K18iRd-eUsk^ED)!o%S)IHS!>R#&J>OSf~bzgOmx}Q2&9irx_ zL)BsGaCL+_QXQr4uZ~s^P{*hTs$Q0C!D^{mrk1PI)fws`>P&T(I$J$doueM6&Q;UuJheitRIAi#wMMN~=c{#Uy}CeM zs5YpLYLnWmwy2BLR<%uSS3A_j>JoLSx=dZJ9bKCix@zNo&WzO25YzN)^azOKHZzNx;YzOBBazN@~czOR0u zeyDz=eyo0?eyV<^ey)C@eyM(?eyx6^eye_`ey{$Z{-~}{e^OVfKdYK64sm1v5lYMQ2NhGuG(W^0b-YM$n6 zDXojPjn-A$R_ms1r*+r1*Lr9>Xg#$ZwO-mzT5oMqqA>!1GRm%LE3)WU~Pz&qYc%DX~VS<+DL7bw!b!7J3t$w9jJ}f4${VHx!QOw zPs`T|vIl6JCoigv1Yns&N&hIXcQmUgywj&`ngo_4-=fp(#G zk#@0miFT=WnRdB$g?6QOm3Fmujdrbeop!x;gLb2KlXkOqi*~Dan|8Z)hjyoSmv*;y zk9MzipLW0YfcBvFkoK_li1w)VnD)5#g!ZKNl=igtjP|Vdoc6r-g7%{JlJ>IpiuS7Z zn)bT(hW4iRmiD&xj`pthp7y@>f%c*Hk@m6niT0`XnfAH%h4!WPmG-svjrOhfo%X%< zgZ87gLimSG}LUo8DjFUEf3BQy-x3rSGlpqYu>g)d%VO>4WtldX7F+AEpo2N9ZH< zQTqP+X#D_vjDDa#RzFA|r|0V9^*lXaFVH9G6ZJ`Yp*~rkq8I5?^aV3-pD0gWjk&>CJkJ zzDRG?+w^w5Ltm^f(UX4`U(1p`bql9`YHOU`f2*< z`WgC}`dRwf`Z@Z!`g!{K`UU!h`bGN1`X&0M`epj%`W5<>`c?YX`ZfBs`gQvC`VIPx z`c3-H`Yrmc`fd8{`W^b6`d#|n`aSx+`hEKS`UCod`a}A|`Xl-0bL z_4=Rs2K_I6qyD$PN&iRRtpBTT(f`wlp%|*68M}L!%h8Q`5W_j4{T6##rMZW1Nv|j5qR(e51gaU`#Y7 z8HL7VV~SB^Of`y)X-0{0uu*E18Rf=wV}@~vG1Hi3%r*`+<`{<=bB(ky&!{jejVhzs zs4;4d`9_^lZ!9nt8VyFH(PT6mEyg0F)o3%?jSge6vBX$vEHjoHhZ{#2M;b>NM;pf& z#~Q~O#~UXYCmJUiCmW|2ry8djryFM&XBuZ2XB+1j=Nji3=NlIo7aA8C7aNxtml~HD zmm60YR~lCtR~y$D*BaLu*Bdt&HySq?HygJYw;Hz@w;OjDcN%vYcN_N@_Zs&Z_Ztrw z4;l{{4;zmdj~b5|j~h=IPa01dPaDq|&l=Ae&l@ioFB&fyFB`8IuNtozuN!X|ZyIkI zZyWCz?;7tJ?;9T&9~vJS9~++-pBkSTpBrBoUm9N-UmM>T-x}W;-y1&|KN>5HpNy5p z&&Dd_7h|>YtFgxT%~)&vZmcu@FxDG?8XJtijE%0fRvzNJ(+1uRN>|^d?_BD4k z`ow>O)&n75j@ znYWvFn0K0YnRlD_nD?6ZnfIFym=Br{nGc(fn2(x|nU9-Km`|EdnNOR~n9rKena`Uq zm@k?y;epgw%va6V%-78~%s0)q%(u;V%y-TA%=gU?%n!|v%#Y1a%umhF%+Jj)%rDKa z%&*OF%x}%_%c~ef0*mdKg|v1U*<;h zZ*!CRkGa|W*W6kwEw>K0jH*?z8T<9_p0l2}Ua(%YUb0@cUa?-aUb9}e-mu=Z-m>1d-m%`b-m~7f zKCnKtKC(WxKCwQvKC?czzOcTuzOufyzOlZwzO%l!ez1PDR#-n-E3KccRn{-oYU@{P zjrE(g*81IAXZ>NVxBj#?Sbtd?t-q~J)<4!}>tAb&^`C{!cw4nKTel6{v@P4V9ow}% z+qYA87keAKtG%t=&EC%LZf|e*uy?R~+B@34?49i1_Re-6dl$Q}y{p~N-p%fB?{4p5 z?`aRP_pz{6mBh@E2(wTIcm?Gg4!dz8JuJ=#9N9%CP9kHrHBsZm=8eCcD{gu@~8`cAMR9ci4;VCH7K#nZ4XT z+&;oS(mu*Q+CIiU);`WY-af%T(LTvO**?WS)jrKW-9E!U(>}{S+djuW*FMia-@d@U z(7wpN*uKQR)V|EV+`huT(!R>R8b`XXwXd_Uw{Ng-v~RL+wr{a-wQsX;x9_m;wC}R- zw(qg;wePd&n`wjZ${wI8z|x1X?|w4bt{wx6+|wV$(}w_mVdv|qAcwqLPd zwO_Mex8JbewBNGdw%@VewcoSfw?D8yv_G;xwm-2ywLh~zx4*Ezw7;^yw!g8zwZF5! zw|}sIv{%?a*(>dz?N#EdkTbal3Mx;fi9-JR{79?lLPGut`Tnd2Ph%yrVvJg35`bgGoU9PS+99O)e89PJ$A9P1qC9Pgaqoamh7oa~(9oa&tB zobH_Aoavn9ob8zDobO!VTyzac=yy?8yz9K@yzhMAeCT}SeC&MU zeCmAWeC~YVeCd4UeC>SWeCvGYeDD0={OGK3esWeiKRc_OU!2v>ug)6hH)pN$yR**u z!&&eA>1=TRayB}DJDZ$;oXyU^&K3uUid@B2UCq^9!!=#YwOz+`UC;I1l-tGK#_j5E z>vnUubGy6SyFJ_;+@9`^ZZCHyx3{~q+sEC-?d$I9_H%c0`@6fld$@bL1Khpbz1@A> zf$qNUAa_4^usg)fafiCY+~MvBcceSY-QOMU9^j5~4|K=62f5?iTz9;i=jOWw?gV$D zJIO6{C%aSJB6q4=>`rq_+=Jaxx6Cbfr@J%UL)@9}EO)khs5{3!%$@6|-Fa?>Tj^H0 z)ozVj>&|!U+c!#&eI%RSpY$353Q&pqG0z`fAD$i3LT#J$wL z%)Q*b!oAYH%Do!L0hN)+)v%l+|S)F+%Mg)+^^kl+;83Q-0$5V+#lT)?oaMY z_h)yN`-{8U{ncIL{^qWAe|Oipf4J-2Kiv)PU+zZtZ+DaXkGt9Z*WKdcrmUxUs;7Cn zXLzP(dA8?xuIG8am-4!J+jw2QZM|;Zc3yXHd#{JLgV)pB(d*^yXmur-gIw7C`B?VaPD>z(JF?_J|Nqr>Rsj? zp1Rz-!n@MD%DdXT#=F+L&b!{b!MoAB$-CLR#k!h6zt%6r;-#(UO#&U@Z_!F$nr$$Qy*#e3Cz&3oN@!+XH5A%onBm9y6D1U!{w10p< z#y`*>>mTHg^KM!$``-l5S_(%Fj`A7T5_{aLk`N#Vw_$T@&`6v6Q_^0}(`KSA5 z_-FcO`Dgp*_~-iP`RDr=_!s&Y`4{___?P;Z`Iq}w_*eQ@`B(eb_}BW^`Pch5_&54D z`8WHw__zAE`M3Lb_;>nu`FH#G`1ktv`S<$|_z(II`49V#_>cOJ`H%Zg_)q#z`A_@L z_|N*!`Oo_=_%He|`7isg_^8`Ct3r_}}{9`QQ6L_&@q9{Ga@l{?Gm@{}+F?|Es^o|IJ_P|L(8z|M1uQ zfBGBzzx<8<-~J~5AAhs|ufN6r&nGD*rKYr$o-$Hq%1YTOC*`KRl%Gnax}>&Abxm!X z>XzCr)jhR+sz+*vRL|6osa~m_QoU0cG_4)Iq6nsod1~R9-4S zRgjvHnwXlDDoh=nnw*-FDoRaF6{n`9N>T@>N>gR2^3?RyjMO2inWUa(O`VoHJ#|KEPU^7K+*CR>FIADMOjV_-Q#GmD)cjOksy?+K zwJ_C?YD_hyno}*QMXA=*nW?iUy#79cU7mG|Mj8AGL zzAsuhyCA>3aB4xiqI!XlO~%L#os5%OI~f%!pNxoVkc^SrJQ){NF-wg25No^wnXM;M ziio6wf{xTH%pIPYM?{9{BT7nJTwXA-pp<^XR%j)@Wz4@B%zQFnBqIh?%tu5gB@5)GN;& zUsRCk{UwR0(B#PosTx6&n2kd+GY9_7YHsjQtbJKa;D==e2Tw03&MSytnL;+qunevj zyLgG}u&QCa!^dt}Au+nDp{AmVe$_iOD(aIWMbx(gf_;lvPFY>iUJ=hL@@bJs@@BzM z-@_-;D>@q5(~T8v!9`ZYHqe8douUb1vV zhVBwkk=4pGE}MyKB@4AF&4I%U(;06TG3Fy zyr!CdSXh{)d{#+;G@i1ctPhQjJefsPf5V5k)6G@w_=Iyi{ldAN8IA5FN~#LYSJGSr zhsYVx7XBaQ(CEx^rWY5^C@3wW+rM8!MY){>_XCAE>Qw!WY1?q6x;}s^+FPTzC>)le@s#%mWZQ(?@Kt#>oQ34#p&7xX(-GbN;alZoJbl3 zWpN>qOoIhmTi_KuS$I)lL5!@4eCb%*S`!#95P~{#;Sh=}&Sa8l5(yHOquOTHunFTX zrR9r9Y0ABtEWn2Y8c?-eZ-_yW6-XTLG=4(H;~zOlZ&esPU#@`#M;-qO*Y zu4xWdmNXP|owk}qX{kyy7^`D@#r<*-JyHp->7&YH7giTJnRCk{UJSqV@@?NKZBj z$yMgVQloSw;EF{?nqEF>T4`bVtaM@VglWMhh$uK~92)_$#&A8ts3`@r3iAWYCfIl; zT#_XppIcU#m(H73j6o|G^UpGoK_*YL$YgmY6XH8I;}Nc{95F1~I{_1JyWn?h*M)|I zO&9#e7E2;!xWR&0dbL_u1CJbEII(#8RCbLYUpS4{pqMV5xFuzVYY35ws;Zh6S_%5Q zt!W6o9%GoSsjWwEiIHs`wQ-V`njuL^S+c64p`ns?h^qG12A(6G)`p7>S_JJ)7)qA5 zr(0{1j2`Vq~Z_v+vmnm?l1m>kB` zW0Y$WR;P(@ouNcLh2ZD~fG2FhMX915BO49YvgQhYS5~yuj2IS%&{Q=-r`mK?eM?;w zYQ)IO(>LKNmTnJiS(|R^Xb??QTb;dv;M?k&I~r&+ge`>&Xmy%TeObor!V&yRqy2e- z)Umj?rQ4dT7SiPb6{2+9z%rArXvO?5kfRqWwuq4kcrvq|a95hRt{K9h}f=jeD3-clw&8Bi0-2e;)vG}G%%gsk8k&&-9(qu4Rm`D(jdBUDY6{p(} zJWCoXnUYsFG78FFlSb3#YN@Cf?MfNUEt=Tefht7_=9^ItwW6(QRBb(-2nB+HQ_+}4 zTp=qvFi8m_<>sN?QpC_6BmKleizVo2tgLBe-6=-U9@$g1v~yq%9q7SYgtlaLE%55UJ7@8^PN6Y={cC#jVrEJco8&o>yBsFb;l&rfH+b z2n3?;&=&Jpj2=QH!*%Jv5;$|@x{Q@NAq~e|nG$0AgsF~TdsRysV?slP7!KQ-WDC(2 zN{8D6EDdF(p@>P)nXOQjMrR$fm|$k7=01?F$0A7dU%}8(gXc+y4q5HR(Pd__tnA{r z?tv>5r^go+7U$DVZTK-JUsTmhlI;e>cr-r7dQ31_TS_TJ`4U4re_+@I-CjqXC|yro zT8gUAq6z0R6hYsKr4j*5T?bJbKZF7pDfkH2|2h`LARceHxIP7=Cm|7P?r-77ErMOoSKe5QEa-pesKno zDOIzS_H!v2h)gLMIxYnwQ>w9pdZd&Wh)k)r<_1iu7j>{POA?OwENK=cD%ZBCHLDai zJF^)ql!h3tZL(#k6>|b+>a^l=){uPJ0M$b#Y|fAg+c9K<#taEK6f=NKq#Nipl{Z#t zL0$Vt|ab}6NXF)o(Jy4f%_8QP zd>R5Vy3(TJbXm`qB5g}50*Wr<5Ql;S4FZ40|G21CaX}ggHD{}QBno^wv~q20b7Q)( zxv71Ab7Kvg#}=pOSMlnG_F|S{g~qACy6Dq`(@pglTDc8}?4Ki~<9treuS>J)}+E6@ad#)%t} zA_?ZvoDIYmwl-s0vyjbMi_;Blb@jEpW%*C8FWro$8gO-KFAUsF{6^oer~3q`3}u4W z62Eg;L&>q(iO6j-WFwCdc}D&c5N-8XSM!0KQtU!PcLIb?Qq^d5ta?#6Q4ubcAcHZH zW zX)GXlj#8MC^Lev{(e#JR$1U3$IW7Omot91of?)5if+8Kj00NSiDewFi@cg0!T8t_l*OZ;xF!6c7)KLXf$3M25lp{jy<9*=0KV#6{IG%>Nf z+_Licb_!?W+ain$w^UdtwyDCIU|WTS5*sUwqn2meDS6UrvsK>Yw{*>xCtr+`VbhCr4Ah0(jf^;p)LZY@b0yU+R4}RZ~ZlTxD7t1szNiSCD zCN;z%F!RO~3?Yo{MBjz!&rx@*QohVn-q)iuIyI zPSmlo6;1g>Rt?Q`;>vQRKP8*7U}!T@Db|~rv{cJPmLeugVLXN|gfYTmu`Oi;l1-#y zl%!mclxxKn(lODFCP|oW3a1+|xe;YhU4mBTJ0((txOI|OT9nQ&ME5V5CT+zgS=Qka zlH83;XO)ysOP5b7Ey&HsRxlgx@{%MSa5Bh_)>gJlmyDp!7Oe6!lhsu)6DCTaHSIhN zjfFpBvW*FEvN#&q(u`{s^LCyuol1)y$%(4UDtZPl8vJ5(xRosOuBvLJ(iP0dge0dj zGKkS>B&6Gn@oYNDJviK#H4UFf#`8f%>0&ZY;zmV8@q>m#qOI{jmPbhE9ODrg8rD@{ zD>a=nILexzwV>OTm?{RHT9_trUNXo#M$;Xup_r92xH`fHp{G>V8!8aPg8PZJJ} z+{z+J%!>slk2->Ct$}yZnNPeraeo)GvcJ=I40?Lz=s{yebBM!n|68V7G-1XtBxgho z|G%>dE^NXOP$Jo1XnuhQumw;fhEdFO*|j;A47Lh3?*r2yEzYQA)sg8YuEbF`+*Q~v zHVUonXkxQ~$m6Isl1%3UxJ#71T)IKd?*wH}9K|Pl4K16-cB&YS%$_MVO=f4K8PXV9 zA*l~yDNS?YXBH$gQ?bzN61|@X!+j%Rf0hlq^(GPU-i47tsR(1(?W&|0TTVr!e7U8H zCw+x3>8fIbVyJIsRARi81d?4kGb))D>qTmvs9MQW?4k~ICvV8m!Na4;5qG_ikBtE# z8*Jf*xzKxjwb(fi2;9|ROgf~JL$L@4Yb%kkwI;c`1*GCEoiL5;)L-E|dtbvUbvKlsOvH?WCe6l7v}s)kh_y|@E+ z?Sf!97BC{dLm;TA{)}Kpy`n6GAl;3rZ^z1j3AHYx=OpM)QT3rbglZ3s=NB^sO;A%^ zGc?{zGKK%Zv}9yKZ{Vb*2BzC?*kunJ zs}=XJo2xOkqRB%Ck^=mq80aV@a59QrD`mPFODeg+`Q||yn`b#FO(+S zsLYi$OCgQLQCOOXfkcSqLD^tc4w~97xmXu;IJ}FnoQfTc1CM0_jup|2nYOqgPfsC+ zA-aGM17eFd9%eI({6gHQDxX$5D|X5>$+FB6lDt-hWhF(qv&su*mIwBh7@jPW2$G1s zhjei+&PekWOtd4xS&=j*nM|IMGLa}L&kWweC%pM(xh1$2hugwa(Cb)2FddZ*^;Hrf z`CeIWx~wpGUJR*ONTg%Gd1;8irZ+z@Nu>}7&Ox#uS}lJPS_V-JwIg@}b8eBJiHzCwCl#vU;%KV+B${ImgI8>?kRs zneWo1+`aKD^l$u@Oc-d~^O7@d&FVJ6f^^q|G2%a9I zi8A7gu8L|*(lR3=%OcB$=1Lr*YiMp>$W1y8zv;FVEe{)F^tKEADH@v}bCNS?sc5gO zT!x9Rs95$k#(5y<9#YN< z9Z~U`gYTs3A|{bZqViOT9sB0`uzpIfg;EeHsE-8PxDurMepE7B)Y!o>y$7bSWYH%!GM+G^-DPv-bZXF9|scpRg}ESDeFj3uaQ zuC1tQPv)Jj>S)E%o1OzoWE4cmHKHAX^L(6)6;NF>KW+^wjk7Xz5Q+(6gm15CYHqB@ zsL9k##?w0mVhC%)%sO4$+?v#mS_E4-xR}JUrcYaC&$zCF9RjKe#yi~Umz$H1$2g=e zWhmTRG#KsbcnmLV^=VvSub3g_2-%RhBiV@}bWC8U*b{9_`K(3A5pod`pJ*!@A?7qO zZ=gK8N%KEUPh~=9#N!5Hzm83!&=8E_9fLpT8*o8SpaMZZpufXjKm*}KOU{mWjMip8 z?6DFUg@J-jCHc}r6vHFfj55iyIz^7ei^HgnHKv#+M0sRkpph6w#C;VZUEkD3pK9(b zI`AM`Tz3DVG1;7f^X!y|D2k1Y!6-r zjibRe$}g*woE1HA4VGN8&A-kzJ>f$t z;!;#!okM3iEU$oSYX`@t4AdzrJL((S>xD0bFPX*VE7u`*>DUS#pa!eaVr z6Pj`O8`f*8r8`*cF;&6iLdlBfQsE&X5nI)WgM@9EQrA>^_>&?$&X z1kWr<1&eb}c;f&D#Vo?KWg@LNx^jvlxQ}GFTy1?T z>pzmTn7%}e|9(a1zjI9wSk7P~;WaahkDDrB#Y5%?u$UQDnh(+S&Vnri8&LpP@_orksK0)Gz z1&xaBO)(jj_(a{pBII#4Y8Ch{8}mZ3)|&Yk@$t->)Yl_U>VzQ~>*X?=O*q!SLt(jd zhh%)*3u$^QH=AyZ&sHRj$gZP^=`2xpU1_4M`qGI1p)(($BR_~$h|U8Vu*;Fz3^do| z2o*~jwPoD#Gle>d?^LnQmFiTX|5KT;Q_F^+x9G!~(+QN+zAPxU5Dmv#QxFM}Sldw% zxyfia-cpoF+JSKy7fQxvy-?B^akYw7Cb)tnDizWR%>zE8l2Sw`Nir%OBuQ32;ImaZ zh)cGyRK0X(&72_QCzD=89p&T!M9w3M9;Vvh?4TQV_jF@MayfRb%& z@1&MLTr5fRZ3FShF_q-mgAZMFiV^ zL-H_)gXL^tkikhxv)L!T5J^W8sScE9Z=m3nz%vZ374!+dATF392~l22St+E*QU}(j z*dsYSg{U#3*;Cu>1y?b)IBpy+${&TnVI^6VJ!6rXFFSsph33cBG9&0M`wTVc4Ww)= z?viE5(!P_O&YB4p?OF2R)4MDYuy_`BMoAWS;xs%ZkSUBeL1ts~%ChBAf~TD_v!HKg z7?RUT#K9UijLSuKM1%VZWgy)X+obNJx>XAJEmA`8t<@8I@+Mw`W$mYSOI-2v3$ zqp;Ma5~S3pSPWgb@eaT{O@d5j6p6DKIk#rK$E+FKKCL*p%Cw=6>+!6G_p<>>FzgI! zQjBl((wfj$Ch_;PP#K)4#0x$+BaFh!5C^nr40yUT9_*~JRP2DIGz5qvm*R|`6hSXb zd<2OGP|78bI8tROAJvjSCnL2K-Wp9GAWP$s6~4hL5n`uHV%VOO6y{4I5QSxB)A8!p zvVzjW+@dI_I348|=Yw41Y?wE0As5rvH!wXzC1Y%qbBqo$j*&cH^z2+bsS|%bu0UqR zLR6;cx)LoZQ*C&#L89miKX_YZDA!oAG>wUQYaM&DNsPuZd~t^?$P{nSsH%zOF@71g zgFP@Xwofq@EL>%9iPmp{UFir+H zDiSQ;>x+~0QdrT_5_HLUWMq4(vUoUNHmwwsw7L`(wzkZ%$!fer_M9#9$uJo0Kb`7H zBeU0;#{3VpXmkrUY1u2I5-lgc@I;DY8%G$j*x8+!nw@w7PFG;f8Fe5RiqvQp6+%jff zPDtrEkxU^M2#L^`+=pZ)tdbyOIc1nv2+7$`&2m+cxbU5F)Hwn^93dqlR3zXqFJK!} zQo3*u6*A)a2VN_|)rSr&2zIw6$|Nxe38CaD0y;TPfRe|EFc=#jz)E8SLTphO^-3`O zaH23r6hlvjN$pC5QCpOZFAyC%&Q&zb7dNj^K`JDO;C8cMW0x^1R*UUdZZ$fI9+gvq zTXjLWU>1TPli_q_YxBb3icS;o*+AGPF^bNaq70ZMpNmk9g0x~DB2ySf2h*u;Yj|-9 zrFm3VK5@yBlkll%q6q0S8k0rlII%(Rc;cBL+Cs5d%x7A~19P#s@S+(?gW+2|au#sB z!So{6NeOI3k6q!z>}V8yZDFibN{abxPztV)LvZ^%X8Di{U$`CS5{trmOe!E2)lOeF z7p0l%%384LfKOixDR!0}bihBjaAgU!@Wn zlAi_%#1Z0(h$j&uF^sm^W2*TTRZ>DQ>|S6Ny15}7HPC2y5gy7)IvjsFRV*>KFHw_l zTxK>B@33N~KzEnqYl7!)!WsxBnMFXywMsNn!cmxy(DsoE1UH0l{Rg(>4BKOjQP?Gk z4U}|;YKYk4mjsh0ffS=MyPzBs?}1@V(s5}-e6JiYrjnZ_7U1KJRM~IY_`3&=hF>Fl0P@k=!L`M(PP@cU(Cer}nVdz+kQ4{bO?4nfB zMRT^|xI`l3`nERum?cv)Iby`yhhEGYD}p<|LHSwg7f{K5%6EoXtbA<{G+HB^=ds2W zd~$qjW2arigVs_-VTDBhbnJ27=c8s>LBxXml* z8#*g$+S2q@8hAfKg3TE|BEjON9{87od7XG_TS}1;mkvkspa?w47bM_i(ntI1s7JQd zRfussl#SF8vbAE~6iVPh+eCKkncNIc%zwjl!K^AE@H}ZejbsX5HlC`COW#PtUe*B?Yof7+}ubp?^FC0LYP6Gq525rkBe zfRSq=IH@L#k!wPUSWPGqs|h7CY7(|YCEmmxGy?q{D9L}*x9ZR?fKXTneuvpr1rJHn zt`O!EXG4F>po6L=BSd{;bXa_h&7ufx{GdXSEM>DOBIry-ctnOGptC3fHd7JSQW=Uc zHdB#+&QL@|Bo(1_rXrM;6lrT8E}Mb{gXXQmjS#NZk9q)ce%AQQR5GAC<6ABs<^ zGBmP;NS2{M)N?|K$hZNO%r~BGXl;lul?tHmDPpE*YZJDtsj6)ZKww|vg1A;U(F+Fv$Rj1Cr&G8xuOBI)NtxQdi) z9Xf2tko|?P)mPWB_e1b#9txZ$2nBw^!eRa_6xyk=T4dN*J)Gx-AJRn;XNdT-sMH9p zRXOQlgCn!jFg{)pjukW<4+JW)n5Z#nFjR;JLVa4Rgg*Fzvbak0H@jGeN@8CR&-5=5 zch!Vcj7#IuG{M)m;9ZqNMu^PlL@d!}(HsE3*h@=kZRv0NzEbg2WHBzxuNrm`RzcCRu zWl!XXwi=vfh4EuWu>>qKQCQjZ@#Uojfn5XffR(ifIBpo6FA$x!aB5*Ww1^XFF%eGE zd_tUL%W-F`jX#{1j0!frDPJ1&XDJ{TB;wOiApw&pAfV;UgIkvD@zu~t=rIa$S58DQ zlVsANRrs@O!FyAl zUL7njLJ>+Pb)sB$l~_zRjp7km9=3s5lA}JosL(qfi70yBAzK6n!|V~XY-|w3v!P^L zW%E*rO_$>xa3yqQTSnj8Jqa(C<$vS1+bPc(wiyxz`D!r?(gMUS2*wHbXTP~ShCkUY z7ZwWKkDe)@hXe!B5<%TB3(eZLXc{u10#oycu|GlQKv;AN`b+8zG#F?xH6PbA z{D~3`4-*ZKCmJ3mVh{e{m{s_7DDmub2G1*$K~rrrNLHC*c6jTM!eaU+NgfazaA7cf zfv$+AVfr>$9uy_AZ0K*XZ_gv?oQ1zNH;o}V;=&i_N)$UW6bR8nX!39VHd-#t4yZ*6 z@M;v4m*wT+BaG~1Ncc5Wp^eRkR>LwxI#81#ruWWI1tY# zsYfBdu*QYNl{HS%E}lJ4z9kix=DS4jl%N*$yjs#UjEiZ+7;czp<%RGWe4ANRFbuN< zVTcLSbA7BEVcUqL!%%n!GGu~#sR<&yn;P=yAW}wrvAfx0oz;4>nB&@cgh2p%pH z%vuN?I;mp8r-ZX7qtU2%hKf>ZybS}7T+yRxon#?y!X#p;`zI*g2dFLRC>tCTWI}?F zsxO!@8xfA@QC6N?K0TNPh8YPqmQ-+3^3tO4GmAVWBcens7|Bm7MlU}&TZ2b2QbPzb zqp1ZiRa7up8aax|%vfq5_N8c6g?NH^+h)ck8a5#yx2lK=Z6m^wabOwt9ZacO0Tm_+ zh*+xW_)2;q@+F(ymGxaDR{n}X-x z>4#fmHi~E|&xnk&#o6Q;xat>83uaMFBZ&>uOPrJ(r;ssjmB#8r4;FJWN*q#h+Tw{t z7>Tl9d&;mriDIRmBSmC%9w|;Ths0*-Lh;z_1!WzgG84v!sqFEI?vzDH?om>-WXsSp zkuk-`J@HzI7QE0C`^-`lWrADn4XYu`d87S$66=Q<$E) z@1WBhdi~>>@Cm6z1hY{_(cE#wMJk#xJRg3yHIk#RqM*|@nmJqB(N8B5A<;+8j#@O02m?6QR7E4kFN$S|mj#Nw<}WbYU+S0aeO`zEM)>Cxm^_CgogU4kT% znu$bg*yKBPvCO0f3^Iu|A$6?aaFs|1f=+V70z???DY*wrM=dLfQ3s7?*R-7jx21+1 z!d)sUpOGueCBuc<@V!Pj_Z$BO}8zs!og?Zy(I<3 zc)u)dTTJTl>BENk&6rizHL_2h;vHPmIu~earY{_kMDP{9jwXChFG$1IA@oxPA;CVr zBZXT!@QUvi+V?~;RV^LxW3(!L@lin5R}9U8Sh_@_*s-iYfbAOuZx9e)k%?rRn%SFC z>hXfMAOU&}Zk^Tejv$H#*OWn`J~{ZhAX1j&aSXOX5Y)LxYFUY$hZ4)*?)UgRePk>r`A4qcANh3bCRPOvv(}5aj_OIVFEWBIAhR@==&4 z!SihF0YrK)1Vzh1?x7(iUJxA*M>5h$4=NI!^aw)1o*D~BCqIH9-w_N#vM^i!vk63` zWSon%h*zVN5Q}(v=9Yz;)4^Pi2I(c1-ntQc-&7+m zM?aY-PU=v(NJ~~+@RnjO%PIM7y>UKWGJQNd*%#!5cZ`a+!b*biH$cWC_)hs0y4@S* zLEnUw%s1SHp^H5{0fsd|abAIxNPKTP%tV~Uj)&R1lh{6eWDi!yjPgpdDTWhIo$_oK zJzfupXI6x^xuiC8f!ygclN76FNp4|jMnq{*lEQpnqSyz?!fMm+Y-edxMt4#h5tpgD zhzL%k#meZkjcFo8W-}*`%3jX@+1@m9vdseyH|Ar?F<QXo3%lBTqkAy-!4a!XSiKR(xq7zi?HD-X(mQycg-NbQBic# zJwuVsU6hGrxG7^3<6hXx>8QY@x}7>Q&9F0P7IB?eJL%L^I-6sMd{*aBo11cSeD1_xhm1DZkR03q0F#v9vsW%aZ%0eJVKuY=rl&l_I z$6*CZ56a-_B&=IRIh5y%bcv{K#XH@q8|cf`GNogYY*{CzWcLN7FxHb54YYDmb!mxh z6}4FMNOF{*OB!A$s!(Oc{G6qHPL@expCb}R*QF0uinPHaKW(xqd@Uv<=mTpwZXKqe zGjjTr8K&mA`xFY{*nwn*FoNH(6H=1V>)YAKoY+Z=G`s5)${+&wnxaD$azsl7zGg*h zkNSpXKy|82tf2xGP-3Xf6`7CZ5fH1zzLdtNI4Ly zqQu$ZClxnY;hiAI+{AsLPR9=2-&12e1|5MHFb>~;U}TpC<)g{@ad@&C*Y(d z)p|I8s5Iz&JV@O$>U)%<%Uf}7B}f%g=+C)fZY`BHcwq~@q08lhFnek~q!JP|IGAs! zMCle**T!;MoWoR&>ozi-TV9U$Y+#c)9LfYY1Ml9LFiT?d3n$VWHIe6!#3>j?1x_0h zp&O0FdlcEZhghKEJ;f@CTOdVOiMJ~6r`;kC?Z8g zWk_W9%tI#|$(p|a&tPwuB2gl9!FEzYQe7d< zcV8o&;cr=5oT?PX#LJC%spS91+k3#-nI!jNI8uS4B#M%#oK6xYl9EUQ17LSga^L`% z-5o731I`TgcIogm;SKP#lWyJ&c8?Bnj&ja9Th4M$bdYnlY|FNsljI=hoNejb1sl1Hi3CYh4IU z7Ga$(x10u9^=39-AwyFuI}=t?_$_*xWU9fUhPHL{b1lA$)LoS*1d)rChyrzks9GVrbyVstGw~-IF^~1J+GJheBCLLuh(ePr%|r=QfLdbCysCuUSeIa znF@g7EKwuGNiTWMKgZm=-3Da1ARBlptcRweZa>|8{HdNj8bGqOPnG_MU#vgv@>F2U zS3xQ-r`_sOnx_z9Vi1jn0c$$X)}KGe(RJQaB@!7{8qNY0&5|zB+u8mEu{R_P8PE6S z2Ey*<_EsS?#0$kCRuO-mN|LK9IWnk`$N!`D=U&_8n{G?@kcUTEa%s7Bh(zyOD=+?@(H;Td)-0}lX8eC zNs^g>r30VGaxJFqMFe2q0VSyR6n+?wZ~+v*aem;w417y#Um}P_Mc*U42l7vQ=^YS- z-h>J2iCl--DL;#obOWTBrF|jo@GJ;vUVTo)~fEw1ezEln{3%Q6Z{WE8kJt9n2P zg5AkcSurk1vIfk=b-JWb$ot7x?%$ie+UJYR)CEBBuHqSEfI);fEwvDg!~`VAfFw(N zW=D8pk}~rbc8Uz-k{{af5IA}yQdGwhXrU^LWT)3*_Tf&s1%QHMrW04x0@c}Sy_ilT za$qwVfH{udn{BUe;DnY$dK@G=ftsDZJjP}#&MI@~G!_o-J};W{_1gU&&gSW%@Ka!~ zQAJNJGOC!yM&;}9u7n96l`&!ZQYN@6C)XLd$gxIqA98PpdM3|IK%v1 z77^|DD1ShBT<$oA&Q3F3`8#cRW$fjY4AhkklTUCfxjvTziJMCSgwRr8qYTIU@gop zI0l!SJi7vr<6AlfpiT|Ie)DdDT!}k%!lp?|r%#ZQAy39>FlK}E**Os66}v~9amPtMO^SV*umBc$IP?0Y&Hs_0~hp;L>NJb|!iUw{1g#m@TU{4ksb zB%T^Vig=Ra@*Mk&9*(!<12`OR&d-hG{~M~5PrR&=b)xYw-l@`7oJlYu*)jat`#|Q|?gz8YXLz3rW=Am_ zI9SzBosbPne>N$cN1QHGRWv-Sq6QUh)G(_<8Y2xKaU`N}0>LTfQAgsoxvgTa)M*8}zN8{x_r9O2AB+$CtE zafd2HvPYzG*+Bi^Y>;g{G+?t>r8kAZz7p^ud0FyRX?Ml~bhWozdhe4R@XO zLw1mNW_aWz`_Rkp7kise#k(4zcRBz)!DKOuOtSLgyB;3M@wbQZ8IS`6*MabaEVD1p z2z4~C(RA6|mbsKsvhl`zfn3*zlvE1ngrs@eD3%mLa`@*JH0(GAd=S# z5}?i+m8dpjRQraO7EQ{))K=NTnqf-RB%ce17d=t{n4GGBp^FQer!qJdH=id1mWav9 z7JEA=fuvN>TUeEZ;A(ON1%5kp)ik(=Y)O!Zy#9UB z0Gt!lr@07o-39iQ37GifxukK zkjqSUtWI*HRjFj5qQ22P4Q2LLi8!IsNW2I2-4`?!(&v-8%1}?U z7Y*x*9PVnO4`A%iFu4&w2Ohlw+tnenTN=f z(KmI2UQ8;1rm^d1;>r zHYf&OIwOVPy3ZJ5Wv4O3N?;a;Rbr`y(4wh8D9hcv6mld4gYYfrI$gm9mpoTou0SM8 z!j&zAdM{=x7{gW^6L1ksXae73RoVRdK`5i@Is+N2mk?qXtpjct6<(mZvkAUl-=#~a!3 zR)}1htzUZY-GJGTvjJ+aBP&-yQ4VYql0muVDd4hg(g;^1BqhXl402M4)+ZdIZM{7Q zj7;)mM+dKSnN0d*!j+5GPx3HrcDjFcn8!ECWZT3j9J1Q!N-}U*@yn=MFe0;$Tr#v9 z3}02O3mFcLEFH5%r6!zDo`xCf{WPP)9vk#ULX_(<9x}(I8u)Wg?r}9`K4CBhRX_N`d`B?uk}!$;c0iPc_b$$ z0}&@s4G|Zcqq3ZyWm?Hnq0^ntaRp8Tx_T~OU0)rYe_k|F7Ig4$-`UJ}jU;o0ei~|6 zh;AwtqT7_J&`kvuQ0bt8Qk_(LJB(>?g{zvTU`-?n=+wz!dh$HXMuY@4gh>{e3(l_i z0CE##1=`WqW+2Xq(ByOSYg3GnDRYcxT|8%7VVua}tbK`jMUCP@&$j`kFG+R12o%Fr zP%ndX^&*aL5`%07<#M&vZ;D+gT|yqBXqB_g?HU?hPwAcOmR|R2sdt)H=w0R#aU)*# zMu|T(CZ|F{Hy)=OB3!A{;XZG3*rG%&j=o@J?SPPRmvd|)=6HPRjS2JwnKLJcA=7>; z9H-Qw1>Q`b$!&CN`^kph^yF)idf}166mWr%>)8N!CWO~EExZapr)%QRfF`j9@RW9* zZzH}IG{4eL5VNaBVG|T(D?1Af%17y`zAEW#siuCFfug7XqR${rGRUI4j3yP*fibHX z6>8a=G-%`SlT?LOsa8mnYc`IgYaqG!2F41sg+Ygc5{+`T;U?$e>d|cB<=|e1sETOT z2|*?=K6I%TpIRhLih00F58*YaUKLBSx+>;ZErMgDMk^+RR$!feibG~qI}SRITLJY_ z(ikhGiqY+#ncDJ|A)rHgM2QkxrC^%ewzeLyNZ5^64OGV}f;hPu+36w>*%g7nJX-0_ zREXI{u0Y!&w|uHaE@-g_NO8eI3GRMM}%o>nUWY zR|AuUNUaGS(k)a=nG0>JE;e`DE0tVI15#401qs3y;uaNGvfv!>q}f6W4QWET3AA;6 zdO(}GC>ZXc=|P^Kl^Z`Ar`^46ga)Kbg&lkwTuHbAQDZz|aeaA-X%MT&(gz0#(h9ni zt#TA1dX90~ffDj{8|CrhBsN0?gkmBx2@u0AIejIOXtpq7O5C`pNaI|s!s7DPlTD{q zA<_Ko{ruvp?0!vIp|E=4+u_h)<fpw5cuLNv$(`YEJJT9N)nTs|3FrPKRN0^x{`Lt>>nHw7OrQ3Fvapa}8^H6NFIj;A$Nvb~k;hlmL`h z7Ba`UeEmGT9!N#f24nxT+GP^p5Z+P>uXh3|!7IEbW0EY&iC4leE>e^dMMM?_rK_h@ z{l+H4(@bd?XbCsd4Sv;ygPJi2R-fGh*BEu0JxA)P`!Ot+2nzI-txTsO zZjiUMoMmiR0i*{A1^~0VO5mbB`HMns+iV4FI|c=GJB5PLgM5LtodF@a9hE_XP_uVy z0P||FG&ga{Qf)Q_0#24{J#@W1r3zwx!$TI5z0)FfaNOgRwN4eg&%(;c1yakUg40v8 zsQ^Xla4o^L4V1ggstKURi+Y)bD^dhHu2WD$bU>T14gAz0{n|AK&*KHIlG*&+3F)yRGZnBf zm68W}Qi;g3&01Y%aat2-oG6J!Yq$}ocv4oQtDxBTstqGS+NV6#Q-hv}AoA=ZtBPC; zPKvfq6QZRArgMg}>rX~f;!sG>H~sNQA3sxNkM)xVb47Z*5)#73jqiZW|A5|mG*D+zM2JlJ^( zgceU(Ig~jgnW{6|n10I2x^0~m#JPJ?6#JM?O7NRRPeaUL>=AW9_K0fl1fsJ|0w&#n z=T9WBsQ{tuiYcW4d^t+O5dl3WyuL46yK1V!w_gPSM2b2|{x*zTGQ-z`?Tn;wrN@3{ z_RiYu@rUcUFNtHX&0V}THQW1YdA8z{5n478BV-z36ZXZ<#~W$OA>Z$BZajUGU*br_ z5w(18eQW#KX4|PqN)2z^G*sC9NPX*$7wfhW)cMKA?qdX6z%Ck71n(Pu{{t*GXIn3x z!kxq?0RmUHX1p@Gfw%}IZwu!!M6*moq!cYc)7Y>Qn#1^JWhXg zIiOT;#W&(6K86C9C>ad|n|)LYgwPmpJHNa9r=nmv89|RW%QbwMn&z~u#K^QDj&baASQ(G9jxn;p$&+AAT5E?ZE}kMx z8nYNoqO`H~;@QT|I^QPj z#I0};x2c&zxe_RhFM>jONhuVLD;{kbX74|W%bs7s-TaY_Cwq(x$M<^YQ+UAy_M^qciQEZ5gS_(yw7EG%A zIYdFabsfOFhAA1mViveBQRX`;j~9C((<`G)R9$fd>UavwGsFspehKB3L{-&{=}2d| zBc7ohc@^Vih9|j`OQ+_d6No`%gcSS62-%lX)AeQ5xXBXxW_aH26|0g6loNm$II?Xn z!cU;iPK!}5%6N`_=R{`MV@7CSJt-@yHCa~T2keL%mzCIwvJyQgD`On2KYEIwt_+9M zkNpw^K_zfa>d{@b3;hYoepygyCbPG0mr5=9X)9EDBP3d9RGce3-Q9y_Nfw2Og}VSV z2N`5NYtRKrf=s#nsFZX2{#L*e=%%NYyzT-x50iRu*C#W1_LO20Jl*G|nLh6c0(kHg zbcCTNLxlD1o>}(uoJPp@wda(K4cYwAqX#7b7}lsTdEJl2*f+_9y+^0%)^E8^m?K{7 zz5iZRh+bWjmPjx!FT1^W?q!NyOE#2K<%Z~}4Hiw|N=bnI@<_maVYt@v%sbQ*uN7-nXNoPzEev><#nasj&HXLzrfg^+J71&?d`{(D1FV`Rv< zu6PyWOZf5T?&ieYY|)OaMS9AZ)?~quUavE{cW@T;RcRz>BTlUFBmt}qc2Sr;y^8R4lmm}mi~_zo?dJRZ zg&J2wye?}^fX8`iaK_vK4i}M4xfH=i>$@=Y_rbLj z$sXH?_Bc)U{m9n+2v8e!IkS1cScXf(BV}NnCe#|I0daAhD@A95MoO+^lp*;Mo@;pV zOsy{;ZEjN%Tji!lEsTQeIs%Mt3puM`;L4A#!Lmctt$}oc@ zNbyczUgNe1?#0wms1ThY3J8NmcX<)l0+pI1|9O!2Xnt`0QaxPSYIpP!_f;6H2*KyB z5Y!+$gQ^5_(rUlO8PkETXQ1Sj+z1_uUTE19_6nA>h8z67~wljhXM2DKt#> z;c1yO*f)Y3t0({(YBgKJa;V})j=+9kBb2I?LcZA4Se>6q!~+YK9_iT~8~r5J$S}Me&tc22Hipn-JDd9zXXjw3MF0K~wWv&TIqWTYRgU z)R$}uo5c?%%b-VNv^SXs9h{Rw>G-~b3vO{Cv8GgckR#~!Ol(ZuA_xGl4liaH&QJJA zhN5!Tw-0rzxyGurgm=@6q)wMDT+)ewRWgl+)}-6B1kQ#=43z&S@<(Ne3)+kDFX!Bx58bAtZ=7Y6>e3mg3)JG z186XAEMeuRWri08Qxs{(yTTps3b(u~*z%UgY!F?L77!XdU}$XX!L9VxO||)ba`81) zY{^=2L1x=WX#e~i5mFTec;&1ev}ME=X6Z8rz&8Wc*A8)Twg#Um3wULUj1;FA)sl$D z%l@&IMA{1~LrY0x7wO1IKh&0u23IkEEI;S#feO)#RUn1p**e%B&5n$x05k!DoMe;- z07%*%?({$+)14v&!^`v2x!S{S&0ZdAVcV8c<+lji{uoDbYYWihH;<56VqI;SO3Y-GAsBlX z&EgBG5pFdpL)L(z?|qeihEIXH=1JXQkk4y$q3LwLfYZx^j+QJ(njJUSp%WBo1j1_2 zP!uUgh_bUC$#bF$`&dEBi=PN@$~P#D95MU!5HD=FsQX0M2Vv2ihGV3&8t#gYV!Ir6 zR*2#XDo&@=_dkf|kd#ce~`BtYT zP?`J~A79*4Tosg$@$qTNS|68`pM4rW`|8{K(s$tm&|R3TWmHXZBjjxU61Rq5>p~FR zjd29J_O$wC6$xKmayxh7{FqNQ;W6Igi>gXikl7xN{=g)ykEMr$U|_5Jjg zu;RBV(d-qVL@iVxMv>;j(iyb8TiM+>``ra?@%d{Pc6I4$sSWIvZFNV{$Uo4%TF=9DZhvc1JvcB zZgzbsndIUe>z}rb$Vs@>HX~Ci0A?%RPV!TbLAvAQOz`mVlsWfRU&y%sEW>B*zxK_Bv#4Ym-;vy=OEgI<#?CtCeVBi*!>Yn_q|L}HL({-Xm-I(kG( zWC>PFCjnxI&MX5-6rUXJ=$M#O#0B0~kpN#X{y$f^8p!bz=|vj_bzWBRcSM&l~e7 zf$3s(QyBJv@gT{B<57@U767q8*h?mc43}~=a+G8fBOQ~F+4M+fQ^g})N%Mwcli9Gm z#xRzZsXL#~@Gs25uPPHF8{xg~{m?L0aq&7?qq_yTLiWq=ii}sv1??A51s<8-D$Z>L z3Vbkh6f|2y+u~mBKYmqR@bDA=6X#pCHEBSV5m7fplo-3NtA|kmx-n6}k=-#Pyi5fw z*GD|V0;K(UaaH{pBm?7yl-4F73-!K+L7?{|Zh@dlVtzEgA1RE+p+DM|Xvk5O6WQZ~ zVb0K$Ds;~djpti|8ULRQq&%v9U%~1wOu>whjwJ+(78@1|pJU3_io?uko!JsAh`P2Q z@GP)A6F#gH5Ro90)fMK`SAhtT+3p24<66MtWi>SUIwwFe86+TSGtPPgG86L|}1RU1k zYj|~OJ|CJb@RJX*^~F<=^!>7_Dp-zw<}mHFN~lZ?i+M^FiHp(L{w6HD8MHyWodZyS zDcVe7ZF)$;b{aAy(oNYpOHW5#>_M6mH>=2A>I?VGc8BZ9hZ)w)f)!*A1uayqZJ%ty zB?hsOJ`L^lzA3*lj8Hz~FnLYWiYBL~482GL|Pj^TSZ+%Xaso5G@cS#{I>>?TK`$z+$wst?y zx;POqjq6WHWcxq?X!QqdqW5NOP&8)h`T16mtAa?XdMrumZjNu)&jIP0F6jEZ>wVv^ zFkkVURKTYC+vOd+qm$#q>SFd}x5Bj#w*vFg+~u;mc@P5^HC)leT-7uq17Gtk&Z3*R zRFoWrQLL4Z+K`RtTu8x#4}tAnp&`)PzVrJeBLM?InnMCzGRQxc^G+K~whY1MG! zF=n9p(0Hn=z=DZg;Nymj$78hEvk=Tt<~d zPN|wUC3J(a0jfcu#@7<_>gQUP-alGPAa*Kcx^SNfS}Qa z!2)j=nG?hdLqflAAo8R=6@@b}B2wZ7Pa@j%Xuzgno`0k==t&P*G|JG@2v3cVV9CPN z&M`vH;na8wbVI6joPnFMyT=%E$>%<~4Z0y^<1vsI;;$EDXg7>8LwY;gcrQ`*B4s=$ zmj;F3{t_WYPvMKw9MW167*-LtN)6x*)trnQO!>-Gpb=VT9a2OWxm%Vqd`!Od+nh(x z%X!;URSxW1awV5jPn3_>FtJP3*Xm5>!}H_)^niWOlR@8Mexz4^NV=e_W3;6#ne|*| z&`0x^k!)EZc$~Mv-ekf&j;FfMPZyZkq+(&Y8%sRwF++IdxCWFdjP7+QVVH6E zImPPLzBu5|%Nzqg&T40=gwn)}O@3EW(@Aqfb0|dM-Xz#ibWBm?9yE(a_ss$isL8@| z+(SViG909WlGmk5H28}=BRA~+DG82lcVp{J$u2}{>;R- zHxuIeGC_57(KAb({PJ8+EK&+VU?6Sp&(*$|NHW;E?98<3As3V#hHF%>7CGBTn1wSgf-x#$royEKHIlGOekEM?NK_0&*vEBu zH~5R=mc9)Kxg{9x;Yc@A91MBU!pwE43d6L0yD=$eK6(IS#<$utAU#YUlZTah)XeZG7`G*m?V=_ny0iH)+`ZYe zeNSi@z4F&NY)j{5#Nud;t7p|V1+lyWrXEs&IlIll_2T4ek+rf7HcvLODcSo}J-eJI zDUDF&(qLVztq(T07<{_1tq`=!*)dNc;FVlUo3MNy$migobf!k$l=AQtcc_=xaLx~} z^Q&IDpc$_`FE$zoZl@i6Mu#D}bVT7wWPPhLCDUSwI7Qmbm^qyQch?VaBE-t;Q4^4jK5So{>JQC{cIHiFSZ5 zhZCV7Dl)8L!49OT(39B*QZ3mLEHW%M^yK{O^{hThVglVML8qs(u=*GXI^iQ>dJ9Nv z0${l0Vo;WP-lSM2{hcc9@#0dA8jY}B2Q_%tLD|@JwwYoA@60wbHCp1`&IJ^gq7%B3 z(xr!XCX$&wN8_TStSHf3kg2R7xqA!R(Iyx-n@b1%cq6f>jfKoqQHXm(DVQXrjq6rH zpD_q9I1DZBgA!(Xn=jHC?T3{!NOP76DD?(kXh{N>rv20A zX0LNQTfas{3-Y84MU8OyWwuxf>m=d?(a&(L?a|X@4sls7=PxlUBVtcC&NWOo&{R|~ z!fD(%V=%VWjQzk?QPJE{k#tZS*Fv!40uen`n~a|(FjXrOn5Y@iZ>(LK3B4{F0dT!| z0xRpNnaL*}#|@dLH&K`ElTN03L$Tjfp~Z*=nFQoYk90d^WdXrMV6 z93~I+gvopLAT-hn!egllX0YrL9G8=WIg0qax(LKk)*Yc(Dl)8Z!4AZv(39B*Vk_BW z@fGY?TqQ-UXG$ouX;te|Mx8<@3Rm)NlE@;?>oPI%T8xL%qY_L@-6xDXjx#Xs?1aZpscP>gZ#HyPyP$S{SR zAPbAykZK;{M@-S8!>k`aAL2gP#?9G{neIw;M>eC{G_vhy}*H*7dmH*N@?29wm8^#J8i zG3l07@IC!=Jm`K7WA$ad<0d6e?;c-Xo;S~C4_9~7I#dg?ASednCoNrk+>Jue;o%sS zFP;*Q2A~VJwd_Ky`KnYmEM|DV6Vsu&ut+1LpO1)%uO_h;#CkcUmx069+dA#}jL$oL(^GHk@Pl#& zJ0Njc1K$UiLLcKgls-kVC~N9-IDLX_QC#-yUtHKh$tLkFtg4D|jD4dieB7!kfzvpR zQCl!u9*Hsr$^-FpjCezhm}E*`#J{oVOmu+*HT6J&(~>@@vPvL^ZVdb4bsbb?QU~Eb z3cFU2De_I+4`{d(N=5}71`V1s^vs_P=XHf~&&N`g3)an03hatp zFj#3S6TPD3CbXPB--Oq4$(V)fq#3Nd2paKln9mvFu^GsC+y$Z^b1N_yZ-MK^TEN6C zv>tXrGGr5IUVB(CfqVM;m!ij4=BrFO3@r#KjC5Y@OCJ&U<`h@G%b9bPI7y z`rg`exX@VW#-{)R6+>qSm*=0^l_E)`b*Iw~gW!talayR~Wz3=$YGzfe5t#ho={cWY zxHT3x)-!;#kdD^D_xTSHkVEqCc#yE z=%rEMnggls_E|Fq-DI)f>}s{tMC+IMEXls3K);i#tUseR6hnoTd{oG|kfN%gwv>!0 z=(W0dVK_#*BKf2(quyAtSOWk#6hY$+d}8 zydDipMK<@!8yfT96#gi!yt?9MxOnFbk>@9FRE4tO$r+R+?ilGwf`A+jq96q~Uy9uG zD+VH140~PPxs4!E>z&~-(SnT1A1X(v#G=2{i>^?>+|x(YrLhxSof8=ZY{9{VL~H*& zbNs9_#bQPdL5zkUjgLm3ijTV=(e_*xj|udO5P;G+-HEFX-^$)oD#_!fc%TzZIFbn_ z9LW;KnHWUR1cRF0jpr{xM?;PvWXS1FDUGlsa4S)VjYh0WeAG)-0(PNJvK2q-CN)9W z`6_nMa1}3OCZ^zV0m8wr<|kG~g|5B0CU6%ijdoDD3C}k;Xnq?PBc%&jEtX3Lb&{&Y zV`T$-HjTc5B}x}j7GA|9RO5HyvepT9E_t?hOxqD~nb&p=DLjaDygc0z(2!%-{2 zgHcNmgHcOx`dqsR1&Ds-&UJ4=gp1`+eF%(2==Ufh9KTBu;6SmmK83v^<3_q>(Ovm= zVN&k)Mg;mD&~9W=_&Bxly8Xb&zCa>kVX8>5Qk@7LL9=~;(u${ zgXBnhUG6T$%+0ceH6rxb%&9~S-1CY(YWZs4%&aw^FLKUzY}W5JHR6(mY$RUU0Au!l zm6BcQ7ck;qMN~S$rcxqeQVS3v_Y%nPwZ5ha6T<@uAbBJK zfFlV297ur57F0EZ$J!tXdRYj#mqiA5vMBIg78%pYLg2kD2o7XHa3BkU2eNS5aB%FU zLx`~7XO(9Vle=F#!>sDdBOqIv3^IK>!)*C7&|)G|-h^>Cn$EcG^V0>F7C8Y z8>BT&X_RXlg+efqj@#w^2lwuM#q_7e(OlxKYAs4I+W`v9YP&#P83g9qFAvvd5AOP=CG?#K5!4ObOz0-F46=11&{c^bSEI{AQzLw$Y`Ri} z$nw%v7N=_>To+gfjt5ycE^s73e*=Pr|pVR;34~h>{%C2Dhapc z6c{CQXeHnt>13Ru%ao|hTFinm3QJ-%k%+RIU?P-7LqWHEgcz5g3n`-U&RAej+M-es zQI$CMS))TuPE=faVx|f&_;J}SItUL@#p~yGE-C1d5GKIY)(JEwqbW4Y1hZ*Gn5gB! z`4=5-wuc98p3_3N+g`8z5Kripl>8mJIX1X5GFPCsVpSjuVUGO;W4g6KbYHFj`7e%;io70 z(2;x?k$mV#NgDmx_2lgrY*T3@zu?(_HI-HlPICb2_h~a&Wk8mREeG0NUl(EX#zejMZ{=K zUN8Ysfk&ivpMQk$B`j(}1;i3!Ky7mdI{^+0>6=#Du+$zo6CQ)?5I-u+rfmEW^GuDg zwfTf{T-Hs!FtZuV%FLoTSWfZM#}hVZIt}RR&U+@Ypam0@UEo^G+k2bP`T zDokbPO&=LTa7a)}S7FYJs=}>bnFBk|vWmq}&@s?6QcZ}`;j~1>BB_{kMMG2J(Z=}! zV|{rjnxdUNlfnU<_%9D%)hBo~4EJ$${-EB<<$@Uxjdx&!it&&U6eWlA@&4k-LBp!|9~%ObY}e()B~0wWUdf1fDoS%H@cpQmJ)U z6lhm2Wb@Pr(xu=fvPbK?n~!%k@C(g|cNxFHJ({(qg}@hmU&2TJR*LMir|5-}Tg!a;r zWXRx7bQ$i*XJ|xwcW-^~h21q(1{oI+%b1Sf&Qp}NFO+~i83B3<+ptA!{P0-m8oq1v zj2ft0#&%`P@S&nL{D|R%irLIm9j{+~3IsFmmCGgTH7h4@GR{yhWJq{(>wQGJS6(*K z=mp`(6mUT2#RfLF!yy70OM*^%1vhA~f{w~4G>0u#a^`k1oz&r?VIfH38!bo@wwh1Z zH(N>33tZ|r61Z6gm6nrDr!)nxwlxnMgO9{18L@o22j85pIdSbie}sosg7JZKLqc_B zFNnVMyU(Aj@7X6na_KTApd~pXQqf4mQUM;20W>0lEuYASCc1si-u`Ig z$*99MWXG$aJUiSI{TM6Dr`vWXAZ1rLM^Rxqg18Hcd0;1y1+R1_lqXjaJ+-Y5o?;xI zT0QK-`q0vJqk}>Z1_+g+Q)-194ih%bQ~@Ri_?}2K$j7O|AtOlIj~Xgb*Cth}zESoM z59b$G=;F(ZbHsjLcHMz1aEZ!$eRY0(+@Tq%{V)ynhlm_)#tDU!Te2f0Z*E_=Wi{6~ zDXZR`i54fY-I)o3yy1-96;I%azV=RQc^KN&E?~vRGwTbS;4tAYj?^oBi4tA4gB+J9 z!T55BP*M3#yt-T>bod%(3%OiCP&Dh?S`hGiyhe;UpXD4+na#hJOwO)ua9@Pe`t_w< zqayV+%$ICMFtXB6INUz)Eo`v8016s0TiKNDvZ&OcU~_qUg?0%j2ctp-FO!r$c`@WW zB`VnhHDWigR~IrVfVtIk>@yUa)hV!03QC;1nct0450!bwsv=)Qopc8KH)a` z9Lw2Pr*ITORNz|6ak8`XFyZoW?fR_k0CRq^1+=Hkw+k4o7WEyC3ca|-6So&_^eL$? zuF)HzSuF^0$+FnLzlJQc=f2>^Hj?RxZL>tZOyQ3^UT5bbhrVzaAK;!d*Bv~Q1?Fsk zf<)H#m(~4ndk+Bz#9pMyRG^t8D^$%N6{cqnTnI#iK3P=LAg>7OCU&u{JUSgSRYBlx z;F_G%nY~AYw&FCHDh_~Q?gTWM6UgNK=*jyb^9I)x8dMWO3>^uxL|=rW6%4FXfx72a zgn7W!LVfzq_n67O?{R_Ia}j}hkK_W>=PU)*XBP{mELD94EykC+VWp}beZUYIoC}XU z2B#g}!_zF@5u)zsduIYWpV^%affz$)bhyZ|9$0qWF7O>XG`{T2=Pw?qTS0}x46&-@7D3bg%p378@dQ-omG1p&w5+g)V z&(}A12I!rqF#_B64xuL2Dn7t)$84Ykf}E5@PBE%*Mo*A`gPxJVq^_j|Q~cjj=SV2l zyMpO;uVUVyf08clfr1+MGeM7g8qw3LT2c(vH7A&oV5qjtH&oq<9IJ0j5~y%RIyLTQ zsWg^H3Y;+`?XBpb;uY8HZ9dgQaZ3nls`C^M@3lm62dW9*)QKeFpd$$`oG+?I&00a?D!rk@k;QbU%PA(?F7ABH zIqrZJJJAVSny4dIY}gq!)^x}eTXg-!-iN#E@8c{%?XnW;(fSAWgn?>-aHIl{Q|moh zN=&!A?sOp&s<@6=#Y6-@+Tf}erKl}kSOK&9VTi*PmF5qZgHU+EEMBV%*tu+!NnFv4 zv0LR-f`aPmQxJW1Xp@2Ui7wQL7E-MSxfH}|qn`pFU*ZLkqZ2;XG0JI@C_{~+qI`f9 z6!xS26AH!)jOAJGA6K)3%0qD5QYCq?=m+~R*S^qufF1>ltZNwSERwmDz#7ZG(AtWU zQ!}g$F2g#)+?O))3^u6Mo1vu5eYWTqJ5#<9H9gSq*YM7- z8hx>U_?d_pa&sj>wOQ;yO$w%O<6hwax!7;Fhca(ryMK*$Y=UMKmXFSM@h;rZ zLL`jct_~LmcwbPv4QE1h6YE<`%zpv=`fRei86B3m;^HzVn{>dED!i8U+0}_CsBnm# zJ^SGOdNYf4eV77q*`X)_+2Q<1L<~({Gdc@vz6OC&Z{2Z$pb+kKt(B*L7nnqk4iF z(NW7`h8YIDL@<^}jJhG;EisN&s-AgI$(N!}(G_QB1IEBvci>L_dv~UgJhY+4*lc*@Lk$JO^U2_jhroA6HPhHqH8W45!Qh8}+#Y8oo&rX$8Qq%xFsRk@P28;94biR8T@GYY28i`Lu+A44ke_}k&6BokG z^_B)U=ND2>CjMArtvKQ~Tv{d}15&C%Z6wz_lrwP3%Ph?+={q4N5E*EQmWydR*VGNp>jtj*4nZbjOb z0J7#jgKzh{ja-K_2LwlzK0we5RSWvrvFm-{cxfbm}0VrWUc7i}uu zOQC3?U)6CVm0KdzQb{ZcHkyspDi>bTz2@gwoo)N+5?3n?R#(yEbOpDcZa)6BUkfy_ zBGiB#g&%&g{&Ya4qCBOF=%{gFR?uE6fBqbEjyzHW$A$TR zz3(X?%$7wpWOIZj5!}Be z2{*42gcuPqRaO&YQ=|Go{hXa&Fi>$F?spzP;6Bo1*o0~Si3)B#>f<2w~-wCd7j;dNdmIJr~mHU!XIYi26lwfPPE6T?u?O z^>lT@1hdnZ$JGE6labZf+oY-CNjx1W*6X$Vqq0yfMmTtewlPFiGU>pyAat5>9lBIu zEmEp+JraIYlZ5T+!WFQoxGag=b!HJ`I+ODYCynx>AH^j7Jj|3ZK^~5CCB$#9f5Zmb zPH>nQ&qJ1Ot*fZl$gBgu)A8x{B z$C*x|EtdRkhkb$Q5nlk^U@uTR&I6?40;R8xHd2^y1UXqxsl^jw5=4J9+u#gy(!&k?FFvo$Qj*^O01WNeoC=uo;5fqh`aL3`<=Cci$?oZ$ts3K+T3RoP@ z=xbS2PJubPRKKxTkSQ=))m+Jjd$LTPM#u(4AM zPXYy}&LB;m>yz`dYLZPDy*5Y?uCzz=Gp?hb;Q@VDA??wQP5S!d$1ir)A0upj^AOiy zT{;aXzthFx<#}D6_Sln?#Sja3@bj~y5Zwx_Nvc-RU>Wm=8^}LW-rt^``5~{lmIZ&^U7G zh%poIFMNg?z|hKGP2=!lkdjA<=a_I`FAnScrg_kj8N0bfT!J!D+r65}F9yo6l=CI7 zPtg9#TSKq*TW~v_|NN5AFtnbdaZ;{DJ2clgYh^ST%=Nr<6f}{jMM4jngAK3u#~}P{ z_k-Eyv*%ba?76O_F|Idh6cvg$N|eHQ^y#t=9gd^vGCG^>H5wCXw#JLvjmtx{Ee|6y zL`3PqMytJ=tx$SG`@4??Va6gRMP{>!$_br3nUZo8eZoZ{CCh^9OTi2zkNfLen@{2_ z?%reOu5$Y8jxL3{6y|Ws!NFp5cPYh($ob@}UaYH3=IWY)r>?6ux(es!{ERUQMdntK z2pP4t3_a}7eFJ2r8PtH-s0M_OYCv3EgJgrwXW@9L)HEzZPvGrRs^#(i;si%Y=Ez5c zpwpb}w|FTY*`8DLm~O1}34jmr1>qVf`bg&U6g?ucgU8!1zzkb)VcmWFsg zi&*5FW)hP+oGeTVbhr7L%tY3BnQF@JS~f+Q`yzkt>fwfeN3N zg!kL3;j@rRPF85PbSKgm*RHFicv0)KY4Zi&sCA{~_1kZS`;qYcP7xR{NB$A9~>zHHQQm2f+a`nw&S>&L?N>yW=a5c)vLnEwMG$xWxIoAqiwTcR- zwuUwHTLlM`T*bL+RXE!}=-UQw=RA+~GTHixt)h)8SE$wF3Z7JA_Two9BK{5H zWs;$IiJTHI@sr|Zg0Xms9f?IoB9z2Um56E&)$))y2Dx&nVQv1jxm6y*8!RVZIUV!FRRsRoZiFF^sF;$V zd6n4V2F#cZrtCVjxm*)vm?lO5S->SB`)c8`FXA}`JtP;v3~`wm$4RO134L%JGeKTe_ZO8V zQpP;Bddbb!xxCh{f~1q6I@p+kVy&c0lGDb7WwjKfZsWEhtj28xMK!DEs0GiOQ86KK z<7e~Hi#=S-#2KS!QITeQ?K0ZCfFaUZ0)}anEnt{N1#ot0Iw9BM_kyk{sPkR3cy~kv zk1)?F9(R;N`$;?eP^ewo)k2~D?oAa+@Ij%(y%b?vx_*%yPl<7*sX2UMDxw>46D@{+ z8L$yl#77VvBbeO+LWFu6gmu}m8W6)>*T!5Y2*#5s@QBp2jlB<@6SXuaiDg`r4P*0N zEE`|LuxOSCWwFwQ0Eg{xp>71rDS8p_-pYhX9-uo|JDM9s0C*T9R?($1&Wa1loW3TYDJhN-*C}~!v=qX*DKw!nv)W1!|da_5_^Vbn#k}H}8ZUDkwVdmIWjPqs_sw9#D!4RpQ@!bqtF~v?|PgaF!l*X%9OXH`EhUt1qLs54^ zm9$CpjcZplQV53cmftC0LwJR27`EdZO2s4-r6M{gRXn;1)R*Sz_V!0F5S*4TJuLRk zs(99LxC-`ie%W`EmLe;AFy6E@%jJcGG}lm-+ha>au!FwPvZPXvVXdnIdcu zLnCYrzc3KOWn~Z-%-;WN1rD1O7iTZA4(Mi7;S;ws+gP%haa=MGB}W89nV1xzOqhZ$ zsgop1f{=pW38wdfqLr^p7}>+s*ype3Z=0-N24zCYVLi~B?h!Ak zvwx^70n>H0t?efpy+I-ecIua}DUc?YlSW1jd>5BS@bF-Sbq$^K_@>Ta-wF*JbJ%&l zjaL%TqaEi253F>kV#1*=cK@ys#z8R2O=X)cyCtH^%w}#ugM4ODg30Xtu%L-gP{tvF zHFMUwda2Sr8!tI3#kgLS6B9Z+B-6gNc~ z>?_*aP9;gYQ-fi{zkXUvnTLMf&hH8s4E!vXANL8X#SDwljr+_3Eycd}6mD)EV-DG2 zi3(yQbB&KgUh%yq<|5ge*kQ3t5~J;VcvaGY+C>`I5B+2tj{FVbMtvf_1V# zRI+xrWNFj2b$xo!&TS8AvsyiItDIk=hV9RvBVP`aoQ)3wt{+5dH^EX3CkM(d3da zkh^z#@ zdVwUdeeK8HKGD_wK?`*v`e@Qn_?Lkym_&V%Q%uQJ7WR#P(lG>>q?fKq5)JhxLD1I? zeo|g&ka~@}7Xq=pLK*6kL1n&b9v-}GW$ zJK$hr7FZ#?1wv%kk7qb3!qZ0>gVRHPeRw~SP)QX{soi+Pi6HNpar+wgjI7lJ=*Xra z;PbaA;1><+jglGNfOq;|7_LBxqtETxC!dG-HGTbOL z`_T0A@|4{M>zDd`z36bK;hiH{pQ1a}P}Lk|rwAlCm8p)-7@mr_MFpI5aj72lv}>va z?#9^~nSeViJQL{_5e+>+MVb5*&Ay2u^|rTs14xELQ|F90!Qsb=R0TJUj_mH;Bq269 z-pFYLOMy^hU@(YSsWkm^tE2O^YfM|m3$J-O9W4$0c&U+67^z)U7RjH=%d+^DNJmI6 zO$c-dwVbG`110x7^QWxK>x&Dx17RayE!;-9;TTzf$YT@d=UZTlws4*~$%@pr zTso>WNdr@L*?oFLnu3Q{tti-iECovNY|Tf*gNf0j-Q?)e?!*b`!C4S6($(pQLAE_z zpu6*$luN*ISxcsAlKq(Z`aY$@me;ZYG+sXfK~8=03=Im`vIJ$b$Y_lE`3udZk+e7XPH0l%0Xwrd`ej$P~U z)j5JTVahte{@m4sc&trMu;OYPD9OpWYM4_d@+$5FwA1sCKhi<41k}CHW}#jB6799f zN|G0#PK{b7J$RC6`v*)%qGz@OzZLIgi`u z_dZQ7I7y$4+-d?mlxknrPhdNpV` zus^{}JA1wji5irDZj!7DOm}+&Z@UNqZ{l$poC1E@%MMJRKVAQH4<6RKJgqD-)J$8# zB6{|+Lv-cUxzv8BWGus*DFmX#CZDtz8t|x2b=9zy8SwEPM@5c5s~IGxOTd6~Mp$ug zJjUbRp0vE$i6s@T*Pvf$rty28mL|y(Rz!e)^O7-A8eyL=7-}`*mTW|C1fGujxzmvD%sW)`Ef54o6e$|MNKk9 z>^}dfJ;!FK0<#&?;=auw^1K^>QcXofU3W~_hP5#whLu^3bDCn+53<_{%ojzzh*KEL|$YKz~vRy0F@sk4KQwOk>K!aZeTG1nJFUy>XdCrR%l10VH}}owS*D8tqC*(gYY~o(y}3L#Hqj|dKK4^<7DWHrXC*Y zFrBbbqQR0xVJue(6s{=?zz*+-KUSi9>y!YiIKN|zmx0aalpaVo4EJD^hO(-I6vYfra-ussBqg900)okEGz}pZ=nS2w6MV9dQlaldi5%r>Byp|s}*Lv4hDy=4i>R$;+q%m+JhgRU)C_- zG~rzyAFe&XEpgc8a4dZ9?%IPwy2rlz&U+4d|KZv@CF{fc?~Ji)cOOjTy?^)Jx@O93 z6=f7}g7Q1}9{3`wyzkxnil&TX*-P~_26*vA>HPSpy>0di$Ah@ekOIGy3N6<5CoFq{ zrDd--##NNF1y#7Uk5#ZWMl9A2yqQ!$ZMIX*FPJ)^7{uYo_PJQgsIHi>_75$Zd?#Jb z0(y&PLwSp4!&r-Eg-1fndaSQZhu#;11E1SLgDD4wk{0pfj3TXuzW^UfWz&vZ$FcgRFVd z00YXMd6F4A^JD@(|44TF#ynXuof$G?M({dn>-I4wNHb`&P;HyyBu#_k&gRF~Jel|h zk`B$2CbcIYm?tHDZ=NjR&^%d?+`oJCq~M0;Nn*7bQp-%k>!MFG49%0oj?I(AR?DI+ zddu*u+13=XdD0Nk=1GGv=1GsK=1GI#I?`U%mcP31$MVdZI z#3K?;SD1lmRrqwK)duyZRl&T;wAvC`)2hIYwXZ=s0ejP`Bn_7#YN6ppQPX>Ql)a{I z5@RGCB78wjF2{zr5vKx==vAC;ZdyN;X_XQosJ#R23LUJbBz+RCla<0)uEw-Vp3byN z5G;<~w3@+zX|>0A8GxM1=Y%RY&+0Opi8;%ag4)VR=4M*0>8xp0gS-5JX*H)WhEm-O zU|7IGEi1}$=}oKT;MY=OgEOYplFFG@8`zsx8>U%MD@+!X%Cu?`+O*m*%Cy>m&9tgv z#sp~)PBW#RjL~R?B;aa5)iSpjv&t5fHmz311X|N-MOo8o1w-dLuGB-nY80MwA? zuN*L=qwhA5LPD8VYuO?ZYBuNGpp{{!aaoQWVi#*2YPP4{-D-l)8kaLhPe?D;t`b9U zpL#vE(Y+pQtt`AX`q6wJ_wo;MJMECKde*uM{P^IV2O(yDco4$_D(6Eg=NINO{DM5` zX?ir5vgn7{DlV7P;LeZ-50ch+izf&G3;))ud8rKn=ldr$x=8uP)xP>fCSdwnAwKPc zHvlLfYJTzR5Z_>{CMyHf!&yOGFZW*#@+g$gd3_3>@cF4`Qv$rH3i^`Bw<86+o4(c| z*T&QZ(Q}*{1$vK&isc3{!!%#(kU@Oc!)9e7 zct}GvEWA&7VFF_$f_&q{=EJouT#mCa=vc_Zyj%oQCydu{dD#vU@HTD_TtaGMGIw3O z!lSOe{LHCn1!&)E0$cbBeDP9jsZ0J;_htxDv1;&XRhWR~Y$;cC6cwe`NP(}}*>&qH z1YK8`d3;@*SGU6S<(XdK^%+GT(zai`cQiY`K0DOlSBqnlOobH&m+P~oOJE*iKni^b zwmg~7TN$q|5BKr1K)WQB&VhI$goB}42E4_D;2h@j;_K@3Ot-`pUNEQ}c;57~N(f(w zguC27M)XC+RDluXLm^%l_32Msh|&hJQW_7hqq#>Y-FUsf#ChP^75wzO`yTb$hCZjM zz^c|2QqDC9u;n8}-RLl%a+iaUe2b&q%RrIb%?fu0u))gNV1=Yp!TMP$+W_Vyu!8GJ-xxng&*?0$W{?v< z{pIlLl&_{rcM003ob1)lc1xjw{QZQ6DF=KC(vJ2j&>iYkc)n~2Fxu<$=`Z&hE(%~{Wi4pQCmqSd!+nPj@Qhmp`eb`m`EL_rB8c|R$=O(EW>(8 zwLYavnjcC1r!``5gr|F5nhk1+@Y4i`Qt2uOb1y8l#j4H42M?+#C>%JwF4_jVUDT@@rP6u zR*t6(pd3s!U^0$?~u1_cdC2T&f;^x7Xfsg&io$$)s!WB}=isRMN!)Ui@c ztPhkLupK2SSUW@#U^_nIr#d*wpZUlreW}AD0pw$%_B$UCDL^|KQowpBq+qpo@_-^A z1QqnVNmTamry^lOdc5=L^F5sipmyM+Q$l3%U{!c_{)0KbooggQ2GnR-a3M!%Pq9F3?g~|z(?J94 z14`zIp~93%B#k;&uxVmdR^U?gwH2N|Fa08;glNWoeS9K6&4U@_2Ua@GE- zzD-gd3RGM<4$uIV+8hDoG{ux(sT6=IX$2N)+SE@)V$ ztC{gFC>ih@OicIflSX^}mCf1)R6C}WwV3E@5@nq4VR=;`Ig>%YrqQPO3M@wW3aG6s zB-p-fo~$5SLMAGL&q=ZebER4rkAfG|dc|2{B;Sg}ChLE5ueiC+qg~HF?IgO6MGE zPhZp8^3(Q^_VhJDlVzr2&9XI}+SB*2t|)d-Uo*&_UVo)MeTAq!eS?Y5Zu^uyef{kG zbQ`8@;1#58;49E=;42)xwtAj4VDiM3?|1`mQF#MTV6a&yINYoY!f)0IEZg%te5|*A zrK!R|ILZjXZ`Kn~ZPqiOZr1I0-mDAIE-gBcDuqrdBWFommJGRYTq5M5EdWEU2d4~0nx*|(e>No2-XH8e-;Wq0josoyz zteX^#jM=P98ogOB0Jm8$V7pltXs}r)+-}xA1k1UBTLBU4U(~&QG;j&!2g-p1#y(T>yEr z-hSuJx&pM#x&qeCx`NdqhP%bQSubd8*6Yveso5ZPvu;3bv#!Bqv)*9AX1yVkFJ}AJ zoA(ASn|B8(o|hJ^Ht!8#YH$54TcR@J%6_`-E1Pd+NvgK>f*fRQs^uuw(agiE4`skf z94rkd?>AX9S%fQwLt2VPPVcF5c18qYri=*fyBQG#HZ~$ObTJ|bL`{)tx>OZNyXRWw zI?ZGSuHPz4gVk(yUN)wIM96>|EekH>2<<5rh|OK0DswU-u>j0hE`L?UUD7;0lF zSfQJZ2&7Pr2>dWcgbYvygH(NIEU0`OyznYUgiMb6N1dhYCo7sp1ohz(!>XVN8zVx_ zRLldFN&y&36A!86W!a6ljm9bAfkAuC5XlrkF);Rap6bu-@*^^+$ug>$}KB-YbikS(+WMbysOonnTKE$@F0`i>;4la^0`w#Aa<;&*3yZP(k-Fx}hZ}|47U;5TN zzx8+jo=<+-m+sv8wmb6Qmww=AesKNryLZ#)ojZ^5<2RR&{P&0MeCMMdSTLOQcdr%H zcj3ox$Nzs<27D|2{?MJfzb&VGCxh>N2Y!4B{7O2)f9TGaf7`d zS|AUY27o&?&BF#E{Fm{c{2!^`x%2Dt7yo?AosaSFY_|FA`S#9U4Jy06gJ%@re@$fo zmbS}2$(;#>`SzOqEj4EC;hNHzZxN08F)1L6c_-AEBSE!)l*ZgIP-@I?DIfVSHRcj`ySRjLo`xb_>q{mvbB)2CnJ81_90Sh}XG;g`Yj$7_z?1b#n3@w>J9O-S@7R(@BPwiVNrji*EgAJ#T|cMl_U)Bl-izIk*Tadr{p7-Hfy+VV z9@b6yO=!wbDg3ar{N`xNPpusDzV)WHdl-)_zZ_cm9fgUd^om_crjB;*Gh!6YJ=ALz>?eah1)tt*ZHYix!+(Mg6RZC+rz8r`%k^ z6Qj+~j`(&gSFPzggPHzULApOD;wUyExdG)Gc2&*~C&r$i8*=UzZmZ9X6RYE&7xIKP zZGU;_s=7MgiMsy$h%aqCMxehRy>+6lzhJ=gR_Z#z_ZN=%-bUY{V%Qj+L1-nkf!Ur&3Hed zJHIUAiSho%{d1xve|f~SQ=Z$b<#$IMd*xYOUneB{DEkKHAB9Aw_RD%16}5-@cV~+Z(~(B zRpTERa_$F>m1{g0Gky>?{=q4}JQ72k0^5ylceQrc^H1K>(Zsj1hE471?hW|fT(2Jv zcF45bt_`@}T&t&c9QP~N>J)!F@|{>AJ_vZ;f@~+&6%PZBw;Tk$zq7C2c_}$8UGa=EhbR7G|sHyMUNOUl>@pFhlSPlIHI(|2wO&(74!9TF$7cDDFyBXTG*ct{^)`KPqAxu19B-lR z9!_Y=W6$r#tv7XE^Tczzh4y=AFp_bPu+jLbFf=oI(BFpLVz7ebuJiqvGox2o6C=aZ z%JuooTkIo!SL#^?W0it4nsGzijtB z&rWZrrh}Q2zCh1=uIG#`9te2#+D`EO;hrxx(6__)!GJGU3OknXE%ebT{oS?P&^Nz1 z`n%Wjy`2`F(BBt5&u@bMe%y2Yrs(fid%m}(zf)_MPa5AH_^mS}@@-my20e!(#iv8g z-Q>FRNHNuieq_kE@4UA;2mB#D-)Op9xvmcN+&B%0G%Z_eQtXxlXj|+;hE+z2bz{9(Vls7O2rv z`}Gzp{3$!_OV5wjWh@8#^)~z_9cMJR9cLuhpUxQKLH+p{DGa<~w$W-SAAyzKv`Lyy=7fndf~nKYMxg%C?{VdK-=tYtECHqg;(MHCvtQgbtm0 zuKk3$`WP^=Dme4}q65~|IZn)%=OIVlw!5KJC)Sr2Bc8m(ZrQG0*NN8rn&*2P7LSXSa-BeLR|&MgNF^V?V(dDZhSDVEzUSOne~cuRjjxc#XeH$)e?nw=kB zA(qOm_#jT%U;eb7`z>;w(x5-xa=wMpXNuczw%l%GG?>uWKcnMz&-On1^%i|`N`wB) zj@vg=gZ`|Z`z>nFl#lRsz3xtp+89tWq+PX62>-@f~-Jktzj zw;w=#|GXhzOgiBpwJP^1o8q6}xTjFg!4h+2eiJM9zo6q6EizZ;IH6B}Vb2jy0CEbS z-TXe%geB@P>i7mz>&hBDpC$K{FM>UPGMK(I9LrbI>TQT zaqLxgb;(Y&=wDrVni%+za98I$aRT?(4ES~eUY+Z}n#g-7f9-&4FXY>7*T1fE=pM0#U9$ zf=;aD{;r;5Cs3m{Z`1cC`2F3EAHr)by<)D)Z)!gJdmO)RV7XOk{=Jsl{EI+gR;}HX zzWjY1zgyW$O|;+N-*H5LcU@xT8cy*02ReSYux6UDqWy!GUm(s^Yd58x|B&U@i*j}C zoY;B)!yUJ8^yuWy@&o0%kK=%0*vKecmgqISQ{@>?!mp53tJrmQCaM9*z@cy(j%q=~WYpR^pW z&u*jrCiwkRmf!37<>L6pewY)z@1L&xP7jiSc6N9Ro}Yt#7%dn7OwSQ3`OevNbuFEc z>OWg~rd9Q9iKEY(>gfc(f3EVQy2M7WReSw|fz9jZL#F?{;)l5WH?7&k9_3%KobU|7 zE!<(9(3XF(@w;4{F0K}@=eJ{Tn&=b%Qo!@(E10RB*uUI3USG}T=RV-zs=6{YL;Nd- z*DdWbCw621YUQ__e{B{FpR4!u3H|)-hFdsXugq_%<^HwG?`r?$S|7%6)s~y$^{*RV z7_D#G&nMQM|3>3AKfO3Xn1f(jw6Y|p=JwywbG(I>{M1hD-|RW|3(wW-I3d-4tLNAc zEUR;z=nwyPLjkU%#EXb}Gi*zbhQ0 z$9$uSY1O(;o$CL4W6s@C$jW>NI>fjc|NfZoZD{XcUBk1y|G;vV*O6~S%2OKkA4WWH zEZ-^H_J0&{ybZ}toNoQcwjeJiq^XwUy7=6ZAKPMjY8r!mjlknhC4_&*b_?@v4f zvT6^V@?Q8|g`0U6&v3A7g}1N>Pwh8;cjgyASYi0S1*fTqME`l_G=8pPRc=%D`Y#H% z@Ue>9`D`CI60Vcd8hlo_55yOw3=$O|E}=cKRldYc!S}p z+A%fP{r8pA^6Vb`(D9Jw<@|WzO?a!f-at=iarz%Rp3CdwZ!pjQ(ePwn_{P`sf9iPN zQavYjH2-tqdANUaazJC(As&siL)Yr3)>HP2|D|%o-TzyP95kh||7+z3BPDLSeQ_nP zs(PdB${IW6Rq?-7p1m+v?Tu5O(f_;VBfXK2t)hNkyY7#8SFYjIos|Eh<1A0N&R$;c zU+$k>&2MbOoYpIm> z|G&z)H-oQQ!zquh|6lXLp27)p^*RmqOMH#)_ZnW^(eKKZG7lNz5h_!Z8sZecYsrG?+F_+6j)<>#ucHT62dPp+Jf-Z0Uu%ynW1 z^HUVp<*W1S6Ry#&E^odDojAAqsg){MfS;wEHdA>TwjfKUH;~`D;jGwLfU7TOu*a|e* z5%F!jpQCxnNXAv5>x#G9ffrk3x9=wU+ON|5!e#TSwVRqb ze|6*b#Z6Z}4+c9qo>~5y%7+%vh*fa9uF!fyeV=EtHr4i<6-4>y}W6x<0(GxG(J~1Ueiz52H!1wf`REa+vvT* zXPIpxH|N-BLmie`f(=Dx>ro5tlUE@a6$L}NVti#(nvcF%(<#x-E zGPkjV?Uo!{N!%p1YdLAs?(VHD$+j9KPsHvFH*Z z;-5Z|%7&uMRVg0VOd+KqP1%&9nUO%Dei?mBu{lMu4{6Rsl1i6R zC7Qe$eDeiPgp(G}TmpygCeqZYF3(&vvyTZ%_Yj@oukO-zF(0VOvj=b*obHiW=OSl; z3^v+a%lRo-$N~=Wi^_5#Hh#L2^sS5X0C>Gz}=9$Laf$LGkQT6l)*v<7eS&s^G z@|;a=)u?7+UxQ1v7gcL#J4EwPwL4T&O!BO#>6OhVNQ~1HTL+S=kYKq_4QNVLOprA4 za3s}Sg5{dKSSoN*n@^A$&76|}h*=<)TIjGgWF|(}#f6K|>=$*1m%6m|!;2d4aH3d$ zLyA?e57(;Y;PW-Gu$@UBjlvCGM^qarTP!O4*w^i1i$=Ufn^!393YO24bDQtrDhzMX zGFEM7aZm7F6Uz2$3~$gf-e@x^KO5ve)*0TQWo+2Y#g<(_klO~()h5GJkt2`Y?tUmCc6`b~-0sRbUkl?@*^Rqf@b#4p?g* zVet^yJRl#Y9ne!aA+&X{9vtS`OpdVv3*LkyIQwV;{8LnGmq=C z8u{T_yD3nW^!N^Gwp1A~=?PsDffT;y_2g)#KlO=y5)F5_oT8Od0 zPM<=3<@xYE0=35HCRi#_3asAqx-92$6Y=T+%JVxEx9BFOfNsDSbSN6W0o{YXu*az` z(z9rl=6rRr=zIh(mJF=li#o*lyq&U0DaaeWxJ!v&hSQ&0a9P?qpn&#K$7DeEge)K$a5 z(_lbW@~S?y-QQw=8X?b0KxBAzf~FD~KnDJr4vUgvjR+3>_G>#NrcfbYJ+N1=>v9?< zRgDzt1}I~AeV?Y|M?vrQ8!VQB2L+XhH`=th9A&TWXdSWt^z5Cf!rba(x}wT;#uF{f z1g1B2xI61r`V4tz_*5idac}Oh%8iB6oPCs%OXb-?^R@0OOdTnnYJ~rQp}JkYw*j@WOLwB-uODq~SQf4b2t69l*QN zJPs$;d{p6lH^VcXxb5S&C8(H;a^3fEWG0A9Edt%FzSm-EoLtcf;(ZpcQKC0n!cPz& z^1VMnjN4J2XGNsziM|c_K!T>@rP0>}A9QG;o*L=rhg_P9Uqf9oA9k25Qf!CFmwqI{ zbel({+JgFeKbj`_O9f*25cOjgm2AFLt5<0PTc~$KtNQT-wc)gHNLLl*)t^X{2AU^* zGRbP$<8Gx=p}700G>J6>DG#mUrxQFT2#GZk)q+3MWz|X=CrMBz`)rrwG=*ud-RJrg zom)g8(dRoX_flOd5y}(3(50Ai7c0KD%gHvWbbU6)2<>ef3i}BkI zXIHM=Dn@h@6uL)%^}Cq0b$zrYvqj^5Kh(eX`y^|=Ufmri7t;1W*sS*CpgRDVno z-2=2-Lp&Lxxl#L5mql~j3gNv}Aa4D+OR5)Xe27!-R+Z{6T^2p^K3J*#njn?)x$vqU zSi!%gSPFfRfc5tTtKu%9c(>3A_8*2dI+C5yeC^kBt~685{@LegzV{1!9UYL0)M- zg(e;Cv!AiJ%=FCo`teap7pEpSkB^RLvKnz4&2`$>#|`elU*$QUnI4?|d{l+liu~IC zF?Y+zX!|2i`lg{09$`Ilnsev@X&ybdY9%RRuZ`+22c~Emy~{{r4@%K!e#`Qx{n{Ii zsSbTb2xXcFr?{@dNUai8NDk?-)|V>IwWpW_>Pv_ANaG4~B2g}TSdX-o8(SpTNRYD} z-eb`lv90h9aHRcriCL3dyr0I(B?D3Dt|?l$7NXvUyY*Q4>LNY5-Jq^h^RaQLFG2k` zckeN&ON>h5Iz)66bdMgf?lk&nTG~B(oSVue`yyVfBWMlpl_Gh@+lqLPST@F{QO9;orAN=X5nskw9KdUHTPmiBA6L5~}@k(^T z+$tC2H{rRFh*E7u`R(y6wfzHvcheJZ%^cAaSgyvaZ>SUYM3&lW)OB951iO0@OO9)+ z)-sEC7f?@jsOBW9p;Ks;m$6i>RYqM`r}W6>sxvrBY^^AMoth%irDX7oZ4|#wOVfhm z7xL?;_gEb_q;PM7PG@J>JTp<)qbyR}K-@EJt}zWIF3OS5vbYV3)bvTF{fv=VTTy;@ zw##&%dR8T#;}A7064i&!Wr|N>h+@2f+$|!)gCQ6pZ0VW$2C!O30|OI&9N79PB@cVDw1~%$26`z zt=Ib4bO5F~X~9#Q5c^^uyH=$pSLZWbv5ujv@R9_Z62f?dpyiC^Ja9g|PlA`9%?}N) zrN9#_(IBapy3`_jF)5eTqf@7lPFixRhB`U2h(%&n*)F_`{T)lFT zJA0+eR@zx4@rakIB(Wzdm`;UtE}I!PA@$2B=8n2V^2*MLDplJVbD8ueXRs!LY&er7 z&dnNY9ipc$bbJ%wu6Ma>)wsYDZ*aL<(t>L5#w2wimtV+5!^^F0mFg~<1U{bRwQt*_ zT)9k>Hn`HDl#G1wRY`KQZuCiMeUWF{7^=33~Cfp33g$YZlg5nO`y_!wZ${XADyqvP+e`>qArrls0N<_P)Bjr zBGMCR3{vc$z{<{8M03#6Sy@z_-I}D*n5BAkZ&cVzrM3J{=fO9zv>6YlQU`uUF1k#GGcu~s&LxSIFLW!0S{2$go?D|~s(Z{^>`vAY z<=YSPD%FVBcyiwr^a~a|zo5{`V>~}W9Q{^%vbN>)8%mzvV1l65E}*RD1`l7Q;{`#ml>j!F7w1F9s{>XS3mR(xzng7-fML4wCMf(2aY=;+6_p znuTVzRV`|)(M;o*G#(I|P6B7GY!XL~ZB3rY5d#Wu@cD9*O1s-U&<9*<&fSDRkC(ka-J6`9+{7Q+S#Ctr0> z96g)ZyBN0GdIRomi)&n&+R5KzVWuN>55r~44dPWsK6Gz_T57}|CBHyJm+6E1z-l)- z``?tH8W}B=SVGh(`G5pVsXpfM6{d^lfeuaSwL4F~cQP>_lw^``q5^vG+)4Cp;Daq5 z9a?sV#vXKLc?id&@2x|%1~DJXGM&a(RZV?ZnyJyDEvd(P;>PWwZ=WA7tfaH&aWF5(ouXt3FPZI@=w-5Fe9(hd^ zeRP6H-`OkPW}+zim;}{4!aKBL`6|AxT6!u#Cy~c;RE;{B=Ui{T5_%lRY;m8*iY4`U z4in)XpQ6_2XgL@By#u;edqR@eYAnRSC^+7Dvd)u8!Y3w(N_T1?OL>w@Q<)5eI{2QP zVk%`~KvSQR=2htlS<_I#sE$-qQRVTe397lNT*}Jh(=7JVS0114`2|Z^d3=WFH^g-s zPw7*t0qE}HnHFCuuL2doXYoYs3LvnxXIsBOuM&rfZ6r4PO;_CkieR8_GTF>IfzNxd4XqP#fCy_wqDT_k;vi_!SOU ztIHJiJ-*VWs`a*_`>&zRdt<>RTdrOZ8#*V5=_|^nb zD^?)gd|Qtf-+#HvB9{(SVBYS~%u~jtrakshY<-?C*kfrA-_c{%_tt{H*hlk1-q|H} zg3t=f6r@t2i14m1ivrLJkD`cq!1CUm;CXPWn)03=uTWf}nI(d3?Y%aW`b^kRE0+{h z5#E=k0!Jg>Phg4fx2Yac#Y`aS2U5(Xng{&B9<`E>%%LjKDv>w+P?EKq9GgA9U#vOE z-+VYhGrleOEf~+-SucWLHZ?6sJn%H4*P({VZQCs)^8Ey7+poDyjnki}+Omvx^XpyW z9z8FEV*58@-o|LMR;*;Rn*(Dznoa%94k=d7Ko0WL-%4_#T5DFpm!Wszzuo20T=7=3 zs6bok(a57oKfcqUseBg;BKdbaocUsUy-4R4y;@+CS)#mvV054--_K?gQkpf0U-FefhJ}<3CNc`o|q6!L03*>J2)> z{-jT##`xw!HT>KFbmgZVnn_@mZpP(p3962+pcVaDf~K>g$cz5GODo+Jo_l)oK~q=# zMTbM<8tO%RM5x%GpnAYB+oafQHt6MoTB!DW^wDJ0x2IUnP*Aa4D7yYC#nN~)8=aVc z?b0+}&IUEc-^9f6>CEWNmwBK?}XB)*tj~$qE(eF5->!RhF zoZ zoH75*F~e6C=;>cLqQ=UCo&2lC)X3~nr2U)4a~4!?g}^HQZqeMu6#E%ZWHPmoe^|6Q zW2!NqV9R9$p5~u1H9Im@FYThE(k7}UJBuoo5@^i7y1dqGxs+#dV);9YZVlza+^u0r?7gY`|n^cXU~WYSbvr+aK%7S>XO; zpZ!f|OLin87CnDlnzNe}Ah3GlE4hcC8>rSfEe=EQz@m&P46#e0TM>~~3#++(Ix zD)bfVUAwG1Eg^}izzXh`q-t3K$Tjbtz8!43#)frCc5@%`LTRacTO4wDc;lvbeSFUcsq>`a*>!dD=-u)t{LeEyxgSJeO zLCQqY=HwpJ9pNM9fc$4!m%}~9Dc>=VMw&C$DLs-qfL$sP%6(4la?Id$czq_O0)KK^ zlB%R1=*zOxlRWdxAARoZ!HRbgWhZAOxhgpqx}Q0-M=Munb7h(tQ{CyLLt^=m-JR7X zGEXN;^##2Tdv=#YZ*|Rw-${ZFl5@JG0iWB>O>lJ1ZAcH#>(Xku=ECe=8m0YFvZ z{4P!ZJOzBp1xc#MxTQLY*7U+8Psg^wnqHKonP_UBi#Orbc|J}mBRYpH?^1QnAs+cm zWqZhwGNWT!y>_SvZn($Ft97NJ=(D27yVD>m_RdJol_@S?VvuSJ`f7ZY&GQx7NY@UU;n^d7O=DlIsBEdJ5KY+@h)6Er9#`tCGC%+XWDlHuXuYW0PtJ z(*MnE*3`%}wZzS2rn6jIoP6Ja=icHFouDh{0X>;;cy8bouc)U6X}U!xJG@QWYYL*o z6vI?lRZsoXROGK_hzjfKu|G3`e!54@)#-d~zO9M4s~quOdNN;gcFFpf?sbl;&dzkW zeM!T6;?a%OR)?puvYtLK)9bj6Cu*!KpkC9aMjO@-FH(EiVy#@{i+l3j1h%rhN3GHK z!j&eE6zeS@?nn?TG?8A32(0tk1Q9K)SW3__ab1@=J-KzN{jqZ3y&0NGdS90o6-teK zy|h@Ww+=3Di zrT+AB3o3oKVp{d zFv^$eDPs6p7=4k@uvyXU-Y6eCXU1Jgr9@t`>5$vlLC1uamm3-rP*r+Yii*`&yviT~ z?oM${L3}B)n>`M7Y4&!nmm9jbNRw~!P#FUf`($*#@&JeHOVOnog(Bbs9cpb55fIcU zALRT3=7=C)X;ArnaEG`lv!h)dP?&Cns%Q^M^4e!~I*x=+07748J~TcZVcM* zJ4vRY42`Aep5{4;-@!K1i={?&h39r?ozFE*N8wzlST1lE3DP}A z9`|`2?$qS?#Ef~vHPqvREcf{-)@)@sK5$w<@v5R*(ifzN`6am}ePNn8&|A_MrCA#1 zJ&zYMUwphcMJvn(e{Bm`FG;hU!;shpJhxiruKA@Ymd5!K`L~y)XvWa5s@1DE6!Xmz z6~q(1jc(OKt6gh6wUCu0^~;^#;ksAuVo$pAYdoEQE9f`8;{Wy=>}8Pq2yid(%G7UI zDDGk1l2mGxdA=$|EX5y%1$#k{ew!YESEqT6C`a$nRVb9Yk8sIX))UFi3HUWOmoC-f z`mrUfcx?gmwJGLeZYRBk9%l`qOrSxpOEcs7$%DOFdVQMM8l)$FLy8rC+C}x!H>OzC zd{f63K~8dOiWny(!?VFRut>%?F+}n@1JutqGelb3Kq889Z%Gl&Y4`t6jC-r|JC;7i zz3u<@8-imT+K;z8zrozP*Ncq?bsVHq4yTbv>YdkkYU^t#BD~}O{yT!#1D&?s>HH3Q zeZ>6kv2pq|XJ&_Q2)LZ+IrE%M+WKLK=qRh42dv{G4$oCq zsdb>ck&ni_i4Efu8I5|9r$%5pem|BbnOnU%^ZZ(?Y`5NuUP zFW*0rV43PwCAbcPqT(l$w8cV1ZOp|z#eA!on+;!4kL8=&{ZA#i?l>^HH2~}Tw8e_@ zi{W0)qb){9Kf~~%M*QNN<-VnQgChQC6I64~Z!B0a@tUHZlg}k-3Vq5*vd<@2CQ>+K zv&E7j`}=}T%Z^wJDcvw;=|WjBE5?{Pq%WRl7jl$H(0Kn z7K+yvR1v>v6Dbj>Zkmf#ck*A zJ_Qy_46>J>JLI~fzM8yW*gTECc+ZZSJN{oGAW+NzPx}JQ~z&MzHKMy|{DqaJxe8vf7io zTtxieu>966z>DQaC$`^Oe3dVS!2bTu<`wq@SAo%c(!aNOHM6kshiB&dNh>K8uk31| zS$}|JohXO;%m0Y^lvo5y@A1axl3xD_(t~3yIQjgUBQu*VjRh!g`-_jsZ?jm>(2d+* zeQbM?G*h@jMln<2`b@l$&X7Z1}sA}*3Y^J{jU(WT!L34j_hr{(X;cI&2eGV|Q-P?C~ zu|`=ABXoDs{o%d|cKA&t%5L^ckouVoow*9;h9*=-bfVoqL9Q3)=`O!mcds&}JBn=P z0G8;KW8}IEa)|>uCR1t?%jr20m}=%h9_C;rJ(#01MK-ad!1Er$G8NcQp496)%EV;<0@DV@`iT>+`&qGHy>HUg1`>n-OE*w*OUF9 zLq6&rKCX%-p-l0fK63l=FgR00lc(p}f@misXy)4ng`0AZ7Mm`X6K$FkoW!>3iA|@wY2|9Dmu$h{jIbe0qw78wloWMK@Rm0EXi5eabobS%|QNwKoWdG-Qs2Uy*o$t=| za|bH#c^6h?hs-B{Qs0OsI$q=<;}lT(3(&3Ua`X$h zBv2e{Q3YejLucFVX{}9D>{CMB9T!{N_>O4_`-U!I`MP~W=zHw@aD3~IO{;$j^)Fp& z{SJ-(C1l5!Sv=jygfiR9IkHMbLcIr9SX8~<12paQ$^^AlQM_LSH$x*Hrjz7}<1Sj? zbv%_x;l=R}oE%2I)WJ$S#&ekjUMwxx*^Gy(AS+no^*og;Xoxim<&YbAE`MxLC2!=( z{INk!_N?^~Wv}Br89QhBFYx5B=hH8^3j6}jNlWz`RdY8b*|n%%w4VeKONw&m%`t6y z+I$)x73=kCU1L%*>ipQ^5_d7fndMS?G|Ke)P4t)z%IYf3IlriKE~s8lcDe0QkMa6i zFC! zC@E}FN+G`>dh*ox`e-;tzN=+lgj{+3I#^<3S4z*1^8NRO^fl65+&!5z$X zX&O2BdDc{<5~4HBeY;FrOym~COyG;|*JGNd>XGckkjDYabr-De{ZrI+8G9a%2ycZ(#|xOj)y!{tV@7dPBXXpT%ni=^mj4E+%TD)@d&EA zx|I}la@|!PsHUXVG;=iTTV7R3YbokfW{Z}jz-DetGdGQ9hlV{^xvan|)gA5{4_0$u z8!4(Oy?UT>S%IxK)6^yLzpWH=CaWeV@cFw^%&p^UOrXEJQ_StFmS4PWg&G(5!aWXG zjS8gQo1(TYLyhY>8!w}?@l7eNQgmC+_kNqM*#~rawPJB+`@m=w0>xed=8;63cnOMjzhenVNljSM9V{y1M9Q;t?D#%FhPN2rTtxmN^$ZZ5~zUZs{>wO16T& zK6zx9Rxjon^x_J*nh`O)^VPV!k4q9&E9vM}y2mG}jN21S2-fro zT~@2o9(528XAbsz;Fj`bkx3jPp!&Q!%tZ0(Eu1tV%hd@l71j`MgfLx~LNOW`8Rdw|nR{>hh=VNNcmDI)*Ix9SoTgDw;OWe5fkUG0;xG(;~-X!ReNw zmaFF$10_Zo)w?XNVjc%hJ@2-tg=$0-2rV&H*Y`avF=|xn&7yq>k!lpG7QWZwa*8D8 zfn4={7B7zTjml6|vPWWzsUVYjzeO!6MO&n~AF!Buz6rfy_d$#5KI1A~SL78wWYJ=8 zU@k9>d$7z!%0(UjAGWx0ywlMlP<#G}MQ!e_1)nC-Y~+vjc-&)e;`IcQeJo8{U#ck7 zctCdcafU~)kA`Xts6c!oO&oWJw2Rjh#E(z9G*>)v{6K#EQ)%MX8r>Ay$|;r*Xw0X( zys=`wS}3kFUqCO$=h8Ht-2=SOCwTR}wI;WmVr>DZ z>@RRU4T}I8^F@ovY@u93flvDq!*fLxuPX2|U$%&>+K6RD5$P*EBKP2(ST?YGUrm!Z z1rAy%Wm!oQ|Ebsu|>oPNyCCMv z3H0=bX_}6n0^W}jyrsx6e$4SSJRH!_pIA(03*{aaWEekXc&>vtY31L$tVwEPRLQuJhWsN*W0E!Lj-h(OKfA1{b(v^1uHS1A zL2UR}l9(&co0)S~C=%}-vhja2yoga4@u~tD|C40$4ZdO-k;eQt$(y66BCQ1#%LdMa z|Ld{nqx!YOQ=2k721vW3Ps{8e7$HMxAj*zgdGGV?9DPY__Z}>Hu(o?omZ@R8D7(H_ib{#@P?T#rK~`+BU{{aeiP7xd zXkvWKauurjbflk5!>tBMzPF#;+|vvtqy0T9O*Wlfw8_gYq;!8#_x8~&k-9!hIs4;q z@$Mo?k8!zqw-hXv6jUvbb%`1$8&F|Cjwdo{v8J5IGgS9O7ER&_F43f^1Jv3Rc_Np- z$h8(s#5jrNM)_*167Cnk$>U^~>!vSqNrCPzbBU%bop%qCVod_nQ+O(K%o0<lcIma2+*pcZgG$D?>Q*ohSvu+(ZfxZVqTsxGvcWzr#yQw*9h zcag;;4{JAx%l!_JaXG`|HdCrW$Wn$lrit06S{SOiz*2@&++tB5af_?Eqbpfz zxTTcsRb6P=4K)lo@a=}BquE?`q#uE7wm{fxh_i``SEr3b6DA&7! z=c=4?S9@}xizw&1(%}}0bGcTz8MU7WjNFep#ruppKt@u0=b#{Fp^Ri*iq$UB57IY` zGCVG5iuDLo+{RK&^TMG@H4_jsE^)wB#q};xqpApG+`teO>U*F*ve6~R*U-#mq1;A* zryqB@3RN#uk-5qx##JwNsFYk*Q2E;AAuH6x0d=#78eZi?tGtD$@`r5kDx-)x;UhB# zLa8T25>N76{;(vL81->X@noj3AePtD({(mQ@~e3&8|K7ZPmXW;3#NH)T*;+7a4Wz{ z$!MLkJeetQN~uV%X8hEA(;h1z)+=O5TX`}~kEHMN0@r!9$73z09o~kx^sI5-46qF4 zdt%ag#J>jdHP#%kx2M^qM#H>G87sF+9TwG^ccj>E7?x@^>ae}mX3?7vd1joLnCV$t zGw=1f6w~7{#1@1+#(i0$N>1)MW1T^A-Y-p!pTLNv4X)xNS?|wL*=sKGo&s4Tj>=te ziT4$G#_LnmMvfk8@S3PtT2Jg-Mmw8JbBoOZ*SBUFog3BCmeXD2_ zxsMCP8jB`&&9OwLO+`#a_2&6BRpTZYoSGLLnue!E@|7%N_ylG|yCFqmK1UJn9jadK zOwrh+PtF6DUuJk3`-iHaiyV_rFvYT>{_G0iYRHVVsM=*`Y1sY1ze}qnX$oJ7A<1s+ zvDD_VfIgRcm!>(V#B<&@?*KNsJn9yW*um@KOasuGNm{!!A9&(Ir-4?FW*(o)6&ume z@Y-lTA3S{(_?ul0b9mKi1tyxVyF10qFXZU&Fn#M&E$Cd(x1h=WtH(CYcM3N#ylBCkFdGXwdw8dqj3j-4Lw1x{mG?l0Hy8fu zAUJ_Mh~e1_D)vJlr+YBR8xH=S6G-?Fh8WEA=&I?Le5k{7KK4-6n1|WCqQX}+K)#3D zJlCzO%J&GHS5>eGAm7b4Z%=qfDDp73q<9w((=(&Nz7+8u>F@^Y(H`aS6!s6;`=c4& zAU)b+INm@#+G82wAU)dS9Nu6(+T(5BfIZq1Y~Fx9+7oTwfIZril01_XD|i@m!}Vl_ zw=~(>QylVOecMwV-e7&((-__$ecRJH-aviZGZ^9^ecLk~-e7&(vuxggecQ8b-hh4E zb8Oy#ecN+woUrb<7r%bT5J+^F=Vghi#Y}Kd`VyWwH*1Fj`B@Bf z6~5F0qgIp zz0|?#?`wSAf$HyTS?XZ*_jN3Du=@LYhshsuH1+olJafSM`$jKyu=;zek2_HPeG^L^ ztp2{4Wrpi7y61dLpV?@xV$w=+R7144S~MrM6w^?(@of&xNiW4bB;DK7JXcv%Y41qW zTs4u?K%V~29<6iH7@DVhGOpt(_jy;3rSlyH`iAS>T^0=`SJ8eT*LzZ|aNS4!x9_!B zc4{t-M@aAAXR#El3~1u}Et(w$#FBv>`#_SVVb6f|!4#_yJZ}JL$A>J|ia={dGgUrp zvlugz?iu2J#N|1rCgy=o@Q-pl+uX#y7<~)>F^=dMou-T*=ZLo9$z=pLX`gV2uK9^2 z1iVi=JU5_(x>Cu#bRrbipicU@mkGHbh|TD`hh3!l~K$@|O~R^R9mtBvOH+M$(e)?OUt=VleWrAJFo zBkDIl1|rdSlFa&wl|w@p+t*sEe&D-ZUa3&bX?Sbk zbH0~mIZ1@r{z2dP_idJA5>gsE6a64XbJbFl^}`g)4d!B&$D^6}`lBvuu@J6>fb-)% z$8J7X)%KqxI9v<1c!4Iwze=)P2PJ0#&++R% zE8IhQ?$k|J#%~fFvarz16;u;`nc9?yL9L}@F%q(rkGLM8O% z0cX-${+=gBi>1)1DX7x?haR<5D=rp>R@<8>)=M;z@sC|vJQY>zEP&3af9et4Pm84b zf;yr8oZt)(+eW8J`b(0uYIUGSBANc0Agx$CNSXeYAgvl24wMPqVE(;FYSPHI+3Gws z7g#vC#)Ff~KWv^Wo|uR1`JY|h?uAmlT&q^g!P0r6^;zVz{uR@<&txXXGGk`WX|y#v zvLO>`Ov**`68`PsDx5-rhyIU;sxXVkQ)N4q*7(1Mx*;=>nI733O^j^GWVz*)dKh%y z^FNp9EUcL4$yQ8-=nj|XE~(f`kc9gjWUXnWFuNaQFZ(*Y!M>BYpTpCz$km=bG*h|u zcZl(T%4&0=Sf6l85za-OG}VD266#_%GQ87}A^ z>Fyj=VU`Q}Ch#5{bEclFH0G*xdn|~2jX@4}Pma8`M$bOlu3oCWr~-DcE_GVx?g5>V zkFZ!u8U*6Xkv365dr5(mL`YyK- z;D?U!a2*FPrvl47)Gmr04Ac@d9US~=NsV`HXPpTv;kaiI)YtVJL@IoalR-n$6S7Ca{= zbLw5@FdHR>356aDHD89Fk|HYDC0Nl@Q!G>NWyh3>wFmiv(;OyeDpI{clV(qMh<-zn za#3VC!{z$SM7+XlJQ{QfY0#N~8|CKc-HjqW#agWwN)_@JcJrBZ1(1(AEB+;Re@~<} z&mWu<&vwX_=2CFavAJ|#sm2ACe6Gzk#!T-B1p7vCCO(g2HfF1PET~kY(1h&sQ_N_l z*l14W>bb>iF|^{b(i8EHB#XMhP&aNF84Z;T_9)MO0wi5Ylp$S|=D823 zhL<=lLzr$e`J!#yHbN)Ydx$I?xo?TQ|WIRJ`R5p{;G zOp&5us9mG8`>Gy`J@AR;LUDPuVU1_ATgN9hL}TOGnP_Tqd}4;Xu#t1YiEoXEJJ=K7 zS`RfmvqatP7aQv4Nm}4==~j5+{1Idgml)2LG5gwEyl*Rk#oedF(5dmDK8Q=ZB*wJG zKE$(Xrhn_QE=R4VgM8!VT^eiJQn`>eT+t@kEk~-_aAk)vcx@Qzk_M~|>$;pJ(T343 zO+_0}t~h2$<}N-Oot((dOplP0&$g>ip?Mte@)?#o=nB+&mKyGR(VfNymZ=a|JgaLu zlQ+gp+RydTHRBU2>?S0+r2{WH-e+|lShdtfOhcW?S0!kz#ac95s#-Xyr$qVqCW|%~ zT&qM8U~`|w7=lzT)H${#O^WEsDfnA7bkdmU^UN1wmDb{Hu^xrqa-o~2$uzN1%r{F_ zyZKbEnc!qPWf3)cY>~EH-RG67xk8{7Ae);`lLl;aS&OD%b0BM->C;@7EY=Uy53)5T zWoELYBU2P>Gt)CsHgomX%)}_$A|Ypcx(CcF1=|2SJo=$`D6RoycfqAT4!wM{Jw>Kv zp58GvL!F&d=5kHJzapu3AhxsMVyQhhF{XFzT10jiT&!it%U_pbYppZteY~$r3|?In zRqp5VG}hGPpUjuI_fHYCQ=3LcIpvk_qeq9#ZC=DMon@61K|jOw4AEU!v7LBo)#i3K zXA{RG`ldRfSEH-Wa2-wVEYGF8o^UR*&AiLi@PS~33og;*ezn%Dd*LEoVdN8vF4s|B zF%MYFoXc}nS8gr9C(OGkw%sF{65u8@aE^(k%vgqU_ z>&;^5s-hiirKl8y19uSV=B^ZL&^Oq-Q#3LJdeXEId;^O#W>1P(FD_Ph*<~!b#sDw2 zx63ncaaLz|5lL0d*H^(Uyy{3#5zP%IbeOBfd{w+&FQdMZO^3`ERC z`};J8NhhE7{uYKy)iIU0aadycJQ{4Ol`pV)&IXEUo_+xH68sBo zn!9;&eE~J~7o~XFnUR^T?5D$G8G(+zm}7>os>cVKyV{p-TwTsluR)^s4fxyK_n zJU+30QYEe-3E$!noduOk2t46i9iF?S(j7#a`nDu*Ylgn&Q>}J@-0$rinQ?|vY08D+@<>U|FhuEG#C$%RO;otA&bAe7uMt=DN4tcPC`GXEG+%Kb>&JQ^}u9Z)^q9`Z+ zaFQ5LQHUeK0?mdm)~zC)l#8lVA91)Ez7fr4`=~>tmc^l{UcAu~Q*5g!_y1Uenw?s= zV}>7cEN6na^Kpi$U?-ru@(G4GSWEe2ia0hhGr}c>VvPkk+NWHiv#4So*u_t~JaP*eSqOXLEi+$ua(1vC5h%L(ST$xWFty%Q*q^eZgY*-p8n;B59)mg#P(SZ4wA zYdvN*Grf(vvo}w&pEQY?z%swiF`cCq6TxnNgCn{NE8k7P{AQmyzF~sySf*JABxeGT z@GXYvEUcUe_VU{d(Op>SUZO8azmp(NY}ia!1Grg4%0`up?|RtGL0i1a=*0Iuj_WO= zh$RO8;rkq!IVwn*Xor8mF+m|k%0@fPkkm$$&EM>SZcj zxei@(MgNkdQ5eZJsue~_#S)@vuYc_^$q3y?-NY>9Xa1ICQRcgxzNDP9N2|$+;2ih& zB(cryrHI}oY&bBIbA9*ETY zCzy>IJ#yiGo*?)1zy}_X=9w>FLp29f?+-h|44?hobnL8M>c9)+?#L`Es$H^RWsfmlOE)yZ5-1@kNbY`EoVS98tu~ z)gI4hx}on8Gp8~W+3aSM_?c-o<}3dyeg3wv*dRw=nX{H!&iAbK5b^JMC;UoP;}@Xn z%)L^-pphSLRl>jY1d;TJBrl%y(Fm`3fk=8}ibva7nzuGo(;MA8MXR-hC8KWs{QN>n*rrsQrB36QH?&x0Y*d)tLiH>GlrE;@W zi59DcRyp`pGqkeDCE1l~?0p<{6|XG1(>Oj!qyl0-M`OR8kvL)t0UCRPMXc~hxs<@? zoS0;ie;dv<^1=G*@#^Lkl#^oK488dpKN8_Cs9ZYW;Z9D|6z+YIEiOybf^89fIeAK& z<(4bO>xd?VoEp<=#R}yDVT7uNeI`XC3La}ZK3$cXghV68Y+kTic zoC`Gc48xsTml=*Iv9_RE`Z+0@vy5_< zr$%Vrrad>sa+gtTec(KGUYoUPY`va7qVEpRw|UM|ilqaw?gE?UE~b3vfKFZ*^D$s{%qw@E_*Ku`{HsEz!lVqu^BRY|+?b70r-fH`mpi+cp6HGpHiHzeFNn97c8T=X8P!9| z<=I?*r*-_2@{o_Ytk2uYUCE1CAo^Y2V^t&eb3pmtd1&U`a7C9!w+K;Y+f+0VsuzPTGxh~0x#x_#7L2fbp9OTJz zP5<3!nwTA#s+V@rSl~_0bLvtZMO~z0HZ_{sx{h9S3e_0oWimFCU0ku0z&6&Wh?&u; zP4V;XG^wC3Lea*N<`WEH7TOoN+I@jz#_NXEVZl;eHXaH zrD}R0ptsj@WF>!qPSn?NT$KzEO&hweL)Fa!QMc*+IQEjnw)-<=ev74+guVuh9O{5F zLeDwTOjN$!`3)*rAt2^hVsK{Y$z047t683?n;n8|BJc8bGDP6D3NF)}%ymw3fLnCA zY8H&*!<@s_%utcnnrF#sSt?lT1&++SE!EtyIR76-Zq6 zuoW^_Kwadi8riGIKORf|xzeR_7lU%m1+k}^BKZYd~H1*!}!LBxLi* zxh_}rY=r#D^LVz>`3SA{^I0+=hpKj70usO2 z#|}R;0qRRU)bMi?vY?mxsS0N&6p>#Rlc{NPXqa?qW@C0_J-xBwe26B_yHK6#XinX$61*)VqmkNcE*`&NIxJqzF~e8Ylf{`l z`86C-V`YJquT3#GWlYyC>8o|b7wZnllwM~Ovm14oz&c)^VA7}9=Ckuq3Bf+T!J_Rf z?k(+_FNV+k1^f8M1k?Dp*yjvXTW@uV+{f*5uL^oX-^4H-A>~A{u5V_Du1SjR14QSy zB#34x6U{W7pa!7G9or$M0+0Syi^`1S6t64F<=C11~xLHsWM&K$U7|>4He6kjXSd4pLl)IP3*fYY9lun{LLK7wcgF}>`&RmwgUY7 zdlEcjC$qWv;XN9C|G+D}*Tc*Q&j&`g4)04+scz_JSLTKb_BjV3!cn{}FI7@mcA>Tu>8-49#Lq*u4x zoOor?E`B7zEx9AoM;Lh;HH`C8GIWpH2`J z@>h`Id?rn*$+embMrCZM+%kd2e9orU))aEhT&Ru$IX~|b$s!r3 zSWfhP+80t(dXFGfLeEX*GV-fmOtNOpfa<+9+r3IH0!8C5C3rM8R3jP#>Asw%wQ3qX z;KRR?;I%5smI10eUv;@UwgF`Q8pl+!4)iVV*Av|K6nRUZ(v}MEkAxl6p$)i1HuHd)3q*Z20BU2ibuO^5b-$~QV zS)3^iO65aZ`rRba%>9ctQVHE!P`QjiW4^}{qwL0!(0xSy{QG@sZMHaUMnPLbYOd-J zTv}AxWdX&jiq7IcOc5FJ#58o{@*{_~ygeG;5>dRSAV&T;$=q3(Q`tk1Q~jjR+cg{; zzsDTqD+@fpPrKAL(a6lqbd;sHm)*-q@w$STe49nwmYE)3ze9luD)m3>Gsng^WU@0l zcLSh;{d0$?a5Dh3^%o9L;ammu=9hh5W@2=D#}vDyV!Z(p-tH2eB^C34&iu;dxl1ay zMG&ceogzk~lM^$U37vHX_V^o~8osu`*Zr1fYOJrPR%ULrf0v|g%WR&U8vG0Mzh{`v z(#o|6SmqxXqPwtCOF^$;|FKUT&t|vM6vUBEi$ z@k!^BM*SJFooyDAJ>Ka&BL4-E-R+iZ7_i>I_Sw@JntK_~MN^5W=qr%Fu~hR^nMnmL z1(VAQ{Knr|va`K%Ch*GtV43d5N_7fl+5cpjgFU(YtIss4XJ$-AkI;Saza65&PI`RA zGP2bFI6Q@21X;v?Ena&jEw`*v-9a4`|Kq7$^9-+l16#R+XFJ;}l^4Alzt17&9St-3 zGCneOCjV-@k%p-I@>JJE<-Q1L)P5eS`?#odh0*=n{%LBIneeA3{<2Qln#lfgqS`58qL3?~~iar!~1rS{)XY@pL z^M%qODQ*`_@B1~2m8Qy6ZIsCz%F-K)wAS=~+aNQU!#HwFp^pY+i-)I~=8m8=SIR4N z@1XkRT`a28m?X9$bQ5ydG_78w7o@0z&@TCknaFnT=3#2g*+;V8Jc2;&c`C2ap!=qy z(>#rLXn<85lcsGe)=P7tox{kRADiH{TQMyY6x#u+C>@uemFA0$jurOYjeVGr>di_| zW@7sJj!&?|-;PCVdP1M1)J=zaB2Vno=1P@ZIduP!S2-!csuzQ;9MoD*?vvt^t_g|>J6>SL$Pegoe$MCk%AF`F36_YhErlhnmpxfp5Hkx(c0iUd_y{`pkAK zt))0pyFhiE)m_%w^n4(V8yi&TUgP5iX94IdqP0G%Mo!?#a?JdMi~C&j88fxkwHmqk z(6a$LUtQ8CcD|Idlt}Cc5bZvFn$l?wWmuQ?X|?t@O3me=(jneu7SE(v!8}mkxV+CJ zR5V+!?sPs?l==Wa8Q2)z%Z81J*N4 zg*657Vgo}|SXXcZys=L-t)JPM>5=gXN_RAL6=log92D`c`LESPk zH8nm#v#=aNHLYc{OVrs>&zbTRvd}FI(-Bhcfxx;>FvRekM12dBF>!iw`;I6cjTgJ2 z%yw#+&W=w`a7!%RRdhozh3U>>i`gFkYkC*1#%y=lPZ)JEpUni#humO)ML#^=|92!e@@5TF*5-&g|Z%^YOcQ z^*nLp1hR(hJyO10%vGE#Gbsz@Svz{Hxe^sx%y1~{5F)05?EKmujjooWy18zlhxZn$ z_OK)|6I2AR>oLpKTp==I21}_LhlBsB1e)kUDx&tjw1xp*x3|*Sky=-9&ye*Jn1VxEfv=2Qg>1$BG}5;|xK* zhk%!ld85Noem1W)+XmS~p~st>UA#NV6QAnboE2`xJYW|Oba}xuKhZttgSx!@LXpNb zD D=03Pfn=9w$!!rqwW|}U&hxAAa9j!n=9@^#5*vVp@q7bu$V*LPq; zN$wh65lRJh?I&_nll=^k`6P~6sRq|bkybs~X0|gDJxlhi@rC3WpMuyrIt}Pgy;FLq zR-=B(r}14kl6j~N$7JYtGh77(9j5qTlSL|_-s?-EVrb;)x4 z7bK}#IX=itUzp^nC&KD(UG%~zfK?t-+)UWX39x?oj5tMVkB*|$%E1zUruc-p1c_h{?|l322po;u-C#Ck)AH9Txz)`}(aL~+yI^~OF$M=QYU z-I`!&=mn}$zbU~Q{9e7eOIx)%G?Ib6dP|=&@V$C#f~B!n=!WKP36`1_dwL+u3lMKl z@CL6N@95B0tR18szq3ynxNf{F!P3wTWXJDLum-U{~8 z#$F*iet&|s6n6Z91W!jdP|w>3W7?MSEg5>Msyr9vtF_=xEyVj!pGPlo7UJC73NGS& z1MS|2EnYl&)dGq$4^IvAIP$_D>GPV!J$8vpNojisy`S63O+6J|&`~XM=kCLiGb=i=T{XGt-&Oy2%a0PGTiqKh*R2 zDT~FrWjWE4-7llH{IpGEoU_;lJSTZmk^GF!V;!cHh&nSrnANmIVsW5s<9r2>s|naOO(Ob7aE6k)&SFmsLIx2}O+e%;}<%GHYfM1^<< zJ*#T6m2dQk%;(}#5~_QCvrjUgr7g++eam4EcK^QZ@KpBCqcNtt?>l{BxTSk;8_ic~ z-|cfW>>PBveb10+dcnx(=+^0x(H%_twLBJpjOF__Ps0v8k-+p2{=nuLYgjDh>s7lA zRBU~K`a_;tE|-F-o{E%to8U(rwLuen^aFUv$Vc$z^?Hd_%L5 zqj9-;^T}B-7o0VIndHVFahoyn!9-8&GH18jS)%P2#9k2i`d>Ljx6NP7^JG^hXZ>}O zXRI`r&$sHiyj@@uGr>Oo#%7vrv=>#Zv1>fuc9^96twStV=?jXQdCbBTQ_QO@CFdtd zWk%NeJLebF_tt3UW1+aKl((BB#ImFLYrnV2)G-v%P=ZqM9;2?4KQPqzTLhi&_dR)_ z`Nr{&4mqB4AFN-iJxnvV=1(@W*l0xY8y9ql$S>qd;eHX=@SkmZwO*j%<-w;ibXNL{ z&5Sjw6g&?F^=SRoX0jvNrB;h3dj8EJ#zXMqtqqPlAbmy8D4i zqB9ghypo_sc2I&uLa9vBLw8;WCwMB}97K>q5-j7z<3z7syfHW<0GfHI#dH-#ynEoz z>oAu_W5uG0@v&eT0rha6O2!{bMJJWJ@YH<0)TEaj?a^)GRR($cT^Vw|+HyWR5;H-h zyc@$T44140788LdxVuXXK8vCA?ma9XMX0E>7{}&NDM6&Vr$wcY)SP3zcvXS!+{@y% z5A+K2HGu9MVKJ3DQ9Pd3-02*dAckjewJUah#AKwjZh4MlU$5r`gmq+bxGG&Q;Mj z<|p>J*(t+{6Y{xSsZ8(ja?izzy(`E>PGZ>_b8t|7>tv3)Xb)Hw%L(js8Anv94I>YD zicMt_cCnP8`f{qxGf6w;>n(czG+2W@Is4hQbpx8* zQh}Uj*gVa9Bw(dya$KFeBu^H!ns)UpmO7C8Bu~C+UJXB+`xSaOJ0AJXm#OD)WIB!( zEAdTQe%3N6sb-^Fv~xLj`xb!43tM2hj(ch~=aJOsv1Gm50CYkboMf2@+|bh_bQ`h4<~ErJ&%~OG?nYNSM4gzA&abPIOy{U9^}$F#S0_md znFZRrHA$B5uq@v@VD)R0M3cv8YALAaTx@f-@b(qe5E<7lw;E4&WWKw*f?+yN zNKORndL=`2oso1Wk=BkdM4wBNa#w-+-MS99`!ulUVp6`kp4`iHfREZt@AafuQgCh^ zbEwW0rCdtjb2B#2b5SXl(Q|HFMk~ACW-_KJX=MaChkI!9Xipi)hy~Rg% zuQTOb;58;ZT>DZ}yvv^WYN`*D9MgZPBA3^rVdneSDUQuut%#|}Z(Yq%mHJvyg=w1O z`Yv|F5~F+TEJxPqa0S{t!%>^1@Ynx9Y}m>&8#ycWm#;23>ulqg{N#2>Kj^1}D!*aP>%_v5Hb z;DztcahJpkM;v+JUif;BI$$rHW0`~X!m}Jx%L@ZPmG5x-oeL5Fq^{Ucq5J%TOI0}S zA!5-bmMY;9$CH_w%Fmoj)QCAClFxUD+gB~WI2zf!VRG8r8ZO^W&lztSNxIPCnj(QO z%!y+;$dXDiZ~II%wvNW0#n(^V6E|WRQEmT*1d~x!F$>kTb|zS+C_(+jI`VmR$IPEB zCzvI=#|!^@7_H`Ff@TKEh32>DCa;oU#iQ0Nm{c>-T~pPtwvI=WwPJ;yo(LqNe74ph zZJin4Oji>$i?6oZ!pU_K)ID!xcyt4#@hv5=^m>PC9z!bD>(x4sluHWg=Zyr@v?K9I zsn(#|mu8AsYmvoQtL9yMYeU6Mu(BhhX(`y&v!zJLts0Ub_( zx)JNuz5F9=aw6Eh2X=|{UcyrOn+GMBOXF`IoFXobzj=tmWKB`No521bnqX?$KeCO7 zb(ktSA~?4_yu+dVa5+sTF#~4!KqX&MKz&4#T5UCr?kMdes1)9uq*9|9J=_@@8G($q zxHK&pf#-Q-lG-GPr^N*R^-)QtFCeSx&!hW9{5+GK3iRhO2`c|QlV%3+*ffpK{5q#M zRNZ)7f?28H9H@Lpfuv7$sZ~0v zJ5Z^mtoEFoO}F;bTxR=7VA`~4gXxS=4PI#=^V40vsTTyxj83%AaG7!GWsq_{GtG=Y z=p3{bKg(qzcx){ zms1=MJUsKR`|zq&Ll=j7XRwB^?^7cBIYF6TpG=&Eaif;8Q@pn$}lx{6ZIavjbYL|19rhxtU>6s_;!Y=qCLPnyu-(g8apjD zlFJIJJMXl(e6y9jb&_TSSfc9RCMt3ll z%7|$|W8UY|nB^1`fqd_`h^1kB^Taey?y-#G^am`Oisb`O{y~nXv7$i64_VB(ODEbyowOK>Uc z7>Zm25wGlOkH%g|7V_~lk8TEYl|rsgEm7UsGQn90(A`g1blTTe@NERR8Tcf}i#wu1 zwHN8qr@Yk2IWCBG$+NfSm61=g+*0_YQ_qcr`G)y3EVD(gF$AB-fF6A|K{Z({SKJY= zEXeRam*DjcrQM($s!6Lr^!$8+Yr1z8auMKlzhKe$$A-k~3c3cqXcM_6P_h481w6u+ zEMn||R6GJYm3*0{Dp)31+pi>;wOqYXj8x8EAXE5ig4od=&M;N?^J^(4&0RI#puCW4 zEDX{vziv~Tdn}yTN`SZfhDB4!YJng4W|9|MB)5%X34x#cR+rfR)Fc}@#dA&Cx6`yJ zzi213nzZj&GsC z+aZwjryMixsSmXdG|l-oFI8zeizjNBiKRb-Y=!wOfcB|u7t*HR`?xCFgu1H#&?Ap#re~s&t=m;{YH(`! zqf2zuNNO)AoA{HB}k!TI68DdLvQ%*M$vl~o14?SC9oLr!pJxg*7-+oi9c^rLrTr_qV?Tas>02w$Ge+b@Vh%q^EHLWX%$;%Uoi2&LjKOx>Q#Y`xMA_6F(^%)tgUc*n_>5I*lP}oRv^)JDp*g zJ~>ZvE4EbRbmFj*jh04#0IDDl+tj=}!cr_HsFba+d2^+5 z@V66yx6fc^BKf z#zL!EsP488X=1wodUHvS8GpBxnV`nPjK-S z(l5hwx7kiiM_&YA&e7e2jhqQI>_wojw3tA3o+4SM`qT{C`VNAkZ51WIA&aw9c&+E#>ds!S8%_-K208feZbdpK3JAhLCs+* zO;w2FC||icO*0WZmUEDPXxe4QZ~hG44`l&a!4G*(I_8Dk8JFBNZDeebU#w549=p{~ zc10GG(arU?G@1G6Rq7j1es+yZi>hV2HBd@KT>#tD#Nb>IdA=QKmO>VYD(TmzY1K-x zT&mc`6}hf>?88jMye>`T%7JnosNCO|;ZbXs<@Ti7g8Js}#}gI0E0EsYKTV}f-V#x~ zs>s(wJsP=|%;-$qg>1fgZ&FaP2e-({;9PjUO)eGo80V@}XI<^d63pA{Ih$NB(l_bF zT}3}$Rq|OcU!w~OofY#onO+jA7w6a%No+|VLn`#RQ=2k7G&X%TbXNlo0k7(*h&Mt3@ zR~6{#4K_76LqKb~)23-?Du~!+o2L+4&>k)_Jf%GZmQhJir>7>f88cVcQdP0efLdLw`r~{X` z#ge(giBw)x$=JnGoh4S?+1)IY-nnsx2#X~JK536bbzQHR2hK`+dpt8|TdNZW)fI1Y ziQ%ymc)$m^JdNlH*7SiXVmw(h*KCH)Bt-t;K|FB@Do_vhlNBmZNalz5$!_sq?ioOb z|3huE`EIO85312SSXTNV=A!<edPIucx%^PDCzNmBoMv)YAL7+T)y7-WJm=~|yq+LGdt{2$(_BV@q*Qd$epHIe zTzrVv6Xgq!PSGgirSG~IbESd4^86T^88J#KmJ-!y9?KGWr!U=0#C@EX>$-d?7j?Zq zp67DOr+l3~8N_+y`<~!%Q&tn~^O4L?^s~dcpoif}4!72tbsfEUozXX?PfjtNq)^WC zctJB0;VCJWn-Gfi7SxKKnqqO+A7YwETTda$p61fr%MbBdq8p{BGsN&2{U{T9Mv7=! zn3OFNSjICQwvJ_>T=!WHvvc>sl~v?>3$m|gJLJKCXZf5obHLwOKG&gXd}oPHz|Tt& zo7H#%O=t!Us=3ck@pQhlMB4g-1aI5qrp%bBtLjbG0owXPj%<8G=<0&g;ENn)w?WIn z$}JQ4`4>A}m8=@9?n@kE+*0I-DUD{x)4$Zm)8#$h2 zeSL}+u1BbL^oA5GT!+wY*Bkq+naSx)G&-|AQo6(RXpZ?-;#P*L5$lk(yoq6&o6{)Y zs@JLEiN3fBt|qPVc)?+k`OSC6Z-3xw8LZe3d;Fp4YJH3E7jUf=V(UTgguNAzxohvC%EX zM|rZ!xmG!}+Jq$jgqN(~vq6OZq=%~#slZBq%E#4- z6+q%od&qO;+EEEdeW$oZXtY?K3h(PEnq)KzADgPyoAaZKk3E%njpo2)N0#B#N| z(`l{|>oV#b`ie!>s8b**ziRQ~UKg{Owu_QW={Y}`*Pg$|QU{yeeBEW5I{^M8FtN1g zKIhVVA zy}<9dR66y>xf{Wo3-+dp{SvU9@3QRh>$jE0X;8Jlh16dc-*evE(Q(`2$a9)L3e% zsF&!EJk>N%an~(ki4prxezwYLqqEbWc{X2!mrLzA$Cx|Czwl(X1R&jMbfWny&vl)N zSX!jjf8(j`_EF*KE}!Up8iYoRmeZR{J~rFzx-?+ zi}utcOdr?3{cQetCtr0?9siG?&XlR8c8zrXzktjXs^wCHd+Y!4>^M++8nDEC^o7SA zJ-%uuH@J(~=kV^!tTC}(yrGzHM(n^?xuhVY-Z#ySj|)6js#_@U+%HMh=vN1)>izqy zaw*q{R8G}^cYwuXLXvz3J+^WN`KJSWJW~cQ&6TLVwHP(`)`GiRQQiNbJ~jR}I=9m~ z!i%LuXRw1UUOs1qc`*(3Dj#CexQ}V2_JCINP>Z)vb%t(;+a%IhZf> z4tHo#u8|)k@h&#eyo6|vIufra%17^N5fx_zfEwl9Y-+pb$68vkrh4*`Wwe)fw}=|` zrIj8Dk0IVY`n*M3NyTyjFM7`;r`Pn%q*!9DL3Vhr6jg(Uyvz|jn%);%sFHPLpQkfX z0_e%T`z+_eTdXG_x*yf!#4$mo8i+dkj_&d3ZK*XHBv)%vho>@RZn#fK z^Q!qqs3%3;&L<{m-RgYYZxiL}MLTViY7VNso#ZFGPg{w16jgXnhGd#Tzsm~Aa=Irb zn^{H6{B(tP%aC_E1(O-U#ry5?`KGJkRF>Y&yxc99ve60Qv=qCj(w&K_tf$*Ns;}zw z@1t}285TA8ZqMWQ%~x+{+AO6no>6DuSsYX2OJ|QaHg)>5Ii}JV&giRza~!V99k|CY zEh9F%{bR*uv2I@gh$RIl zqzhAI&F`3z-@7PHZND_Ca@T?~wB>#3qB)h(E%gn9jNn5(UPo*D*?r_bwj|wEROKHA zWag0*ao&P@WLDU0W2*}CB7IuPGBqScndvGom3h`hyv8d%wYQ_mU##wv?cgouAd6Yk zbYv^>L7K zu179YE#Hx%<(jQ}F)Fm2776)T#uItXSJ2loOzr?Bwnb2NyspnoXed)8l1u8zssCSb zXW`w*k^J#vOpXJ0mt2ygTn^V>FCEL$*sHTFDFSDmOEQt=@mg71QY6{C8)oKXW@ct) zW@ct){&kNuqiLA$d-b|!et*H|RTp%1b#*m=XLO35swopuWkolqr^Zt?Wg;>e+)11k zA$Pl--hfSI2q%n7!JW!QKI4X5TUA!HKcBA9)Rc}Y9pW{{yy47im;E_qxSEK!H0JRJ zZNE`k-kPcMq5hs`$Qyo^Dv3t+NW@wWS$5`mqjmHomTp)GbsbUnz>1FN`jdv(Y!r6L z*=xG8NZP#ty)hWhE!TYGLX{SE-K^?(w(fdC1-BK)wQ%2ys(a4r5K z1y*=1Li8&!%Z)*UYu3gJgM58meGr9Rlixo~oKF znTm4gO+D3Ce+@Vt?bncXjzYCulsO#mnY-NWlWul5drqINv8VObT0ZO6PAVl{gFguA z=93H1jmue(ZQ&L%=Cs87Y0r+Z>y-t^RYaxg80BZ@jA=7@r;y9%EbzcSbMBZ|c8ax3 zu{598kG&vE3B2b#J=J_=L4-PA&s2?v9HG!%_XV7Ka-me5wV+3k6M@rEynH#6%T=6eRf1WS?sA3Z7PAtNEL}{^ zl-Gi<2zae7ODZK0Su%7-d8JS4HK%&4k*~8Zp{O#UO!6v`oUmnv>)*9MruMJtV-k|E8x#6{&#`jDhkGL-6`DYvpe;}ay z(Cb55ll|L0u(X~?cQ=H@$>W8|xP?8W99o9kix*9q#hc)Gx4-Ct|0%~5&KNc9IK=`%ti?|ZN-DaxduIpq3R zkfysHiet~>oTbT@TV9xB&qF(=R)hBQXNRm_Ym*J~nDY)wII8B5tvpAiX#}Jak-tAT zByKFRFJM&h$Ucbnyyq!2jd*loOpeL#<)6=qEV2wwLDTt~oBS!^1p+hqQ_u?qo}H5= z^1m1PJb%m#8(M9l+Xz%YUd&nSnVOr)X4&z_%{kR!`F#Cc70%N zzXDeCdVyMIMYLLGx?oz@LSFd>J<*P}#+*0!Y_>NF+^Tb8-6>`rH&a|RwIXyDev?F% z%f2>a`kQ5zMmRDL*v?x7UTyn?6&<1o@K%wihH-KPK(x1sw8gUQ7GxUAkKZoP>iX1? zOhlge4v|>QFF2KIreH;jDED}$$gO2w)#a4QBfe-YEZ@XOHpDqZ`|X8 zPCQ?Zu(X>KSu%9u`HDi*D34AA-tbkGs3?zWEoeQz7Vw;Gu9|TzXb;^WeSJ(T&-p(( zIjjd&PN1mrA>ua#Vxz}qM%kEr1~mB12r&)bw<0`i`8U`jzOCbF+=8q{u;+hA%TyeL z?uj6des|1tS=DiYCH(4EK_((!{9cr(+nC5S6x+V9&@@V<6M<*^KqV?FBwG#O{V?R^ zSchVzwrHUr66M`L3VG}*ke?G>3ukYTBmOwb%U7#)r{Y#wOMk}v)&cncPoh+|Uldta zt1qo-76tBEe;P9P)SP0@$+^rG-Fh`MD;GR%+Rx7ds>Oa<NSl!$VJKZL{*d$8qHoEcLZy8rlNNb?5$W`mW@*|m!VBu4~bGk*$rrEInA z`h{KgoSg=}6ln3&xf9iOe6rHR?;D`T`nAP$$s~*cn zN+yCx`fr7p%hcphL$@1Xr~griid)cmK*IkjJa%Ixr>%4%I2Zg+OVpSSoeJ#rW`~S= zA^jL$aTZE*PR@o;f~b0PfyvH33v6#Jl;mWCE+_DjTZl|{0Ag{xA}f^aBS6YqO2p!9 zfdyA(dn8MV@{L=C%o;lrXb#R+X}1n&b6XLe(Mi@QjQ~Q5dGD5rzmZQw1{L9I=|dmAhG(wtc6?+ z?D2OId86aKv4miczpFyzoiMC8Ca0wIbp`%#H<`M?c3Y+CkZPgm$C0~>#8H(qQ_Q7M z>AZ)?X8jxavfs-kDV8cPvfRT&Ca(*C}d^iOfau z?nsfV23I-_k+Kzy`rq0;~o_&S$~X-eD>+RV+%N=K3Y$-VV_`sdQ1$}f{n(+ZeIU? zY=o*_z>`-M#Fxj3BnzvFvYE$AGz+U3qdPwND!1CMeGYXLI>0mueDzTi&n_3Lo^~xfVg)(VD$?_rXohZ^O@-qUm z=Yj0KBD3toY0$q{RfuXKn=B#NhiVE>3D9Kip}e{-@Zw6XWC_8}x1c8)$28;-Ckad& zeMzY2WRF5)*Oax2`S}Rg&7#26K2Rpx4f6Vv1)ha71MvDM%B;k_{uG6ntk<8a@GN*e zh-#-vJiqHw+9aqxkF3QNcPfl-L`eRgtfWCd-c@GEmN|vHmR$6>eekgj5|z0-L9plGP_E0h0oAa zw@*wN+c1!IpPssNVwdR(qr2<15!GuCdY$e;L%T)$#`=iFf9~z9EH{i4yUyy8|lt~?uJx81KQrSVssCArohyXe7Em`|10MsrvLRQ#cp(#?5wFh$j&5#&eS!;mw9T}WQ_YaB9G^gnw5SW&H z0z{jGLmvC5EzODZXNA=CCeEKNGERN$TPi_ADbs{(M`R~_Dyfo&&-ykrp&VL6v`i%mW)mixo-D}97f|BD6`X%iq zk*OH~PmKU*{`-?cTH5p9pRAJEbSVqngJ1`FO2ABY8v9cNsz10Vy=m-E3%Th{V}E+U zOko=PGh~+L$WHYY)cf{Kg=gV51Vo=_g}n5pu|IpvOl2DTb0WOtr?Ed*r6oR%{dplX zt+yu6*Ag|(LEpDxdU^RIFTW1#Vhi7GWhnjs4{cO`|-reCWpG6)I6t9@Sb!e$0x^y0=&y+o)8M@}!V7O&OyeimBVMQDY21QprKl_J^;)Ll7<5kr zar6yiW=hl8-xww8p3hm8?@bC#qeMCp?DTI|iHZuzRs(o%33=&EV}EPNOJ^GU+oHVG zrm??0N=<1R`#VBrn$y_d8BkN2#{MoH&$zc4b(Fn3B&Ioy{XGFS)oJYS4XCM4V}GAQ zPH!6f`xSQ5)7U?t5R;z9{y`lv(P``-Qiz&oW8}RP<>?;|iD^t@|42wnXBzuQ172#= z*gqx^lb^=^afO%sH1x3TV;cLH1!g+a z*uNq&Q<%p7Rf(9!H1@BB%rvI4e?6e3GL8Kk5n9sI*uObur815ETOlv$Y3$z?Nr_Km z|Bl2_3Ro5}n5WLxGh1H1;2fycDLf z|5zcWF^&BvGF3Z3o0^fL`NuyMiT03rRZ^5c{amD_GW-1(A~W&X z@4wXWlArzlE0vnc?Dt=bTs4%FqbstX-zYSFqa)R3QD60MMW(WSP+2Gv{4UCh%$v`* zS2{M%HfR$1?-AQr>TNMQ^zp1C=MOPt8xo_Nfj`D^jip68{!<*a-CDLGG1Bp$5!+a5 zq~pH`@z<))0;(rVLFXZVOP^kMk>chO*q5c$uw5gBk=a)0%9tE3*0xLX_`dI)(ND#UzC&h-vaknY39A^z)Bt<@>2L);DI7h8TC)r z9mxNV7g%ZhE$|?fnDE~MCy2y^{}y<#NK5o@frrSf#HWluR3WN`Y_ffVy!v4ZPYKZU zeI0oF!v$U%e+xW9Pc)8cC=c8sFq8gUU_zlK|F^)Tz)b#cfvp11!kGcY>?xU*xYut} zh{<~Wc7%oi79TG3;zXf&*Jau#dHG-m>z+D0>*}nxIDX`3K1l1iMC9o{m2iS!k zJ!ExUCtHpw9n*KAm>L=XY3(sXUVk{>*W$d?7#UAs%*Vzs-CAb4Ab+Jrmlk;6;{>v$ z$-*&p2|jD{@dB@8bJk|e`X0lmnIUyB)TyP3qQHixhrG=+XGCWMW=b!Yb2^@J=7esM z9G|%CHQeS>)AibZq&A&;0rJtAF>hsQ`;;vr@W$DY=rxxt@zDOXd(2CGHS-~>V{tW+ zbWa!)yMtDz-8Z$Bn5s3OqBR$?`s`zxWzV-wcb{ka0|n~-EC|ezKUiR*e*Sr%*=90! z2c5RGpyZtik&2wOw#wFW%^P^eq!>RxlIgA#kUEXEH3?)h8!SgTZlkx?lofMMIfBV_ z;)u1<^UT*SW~bvfij@(k)$V(}fg}*!9%5qS;fz!rk=ovV2}9OVOz$oK)uk3tI?EpG zrEU!5ph1=i_0-fAnw7eHjJ|kwyAUOA^c#C^Ng1=Iyr21`7^V$bQT*Q%a5vW7*1%hr zRY|s+n7o$Xw=IrXJ#Wx!d7I`w2jbPqBbLrQ$uh4{N}MpK!5eNPEl zz12p4)zrhm>Yd6-?FRcWuDRYd4BnzPZiE#1I~r8xdBg-S(R1dkygBr7>-VeKaTs4y&u! zjIcUg&p4+-C#dByi;LB1?(1~rg|z9_-k7HmjZ6ZuYGq97dc9spHheM*#Hzhx78@$R zEV&q&1f*Jxl6cHAWFgyVjalpnW63svkDW2*?eDSeSrU!zV_+TkaTe3n+FGaC==Bo) z7jSLJYR1CIk|C|Fb6TJ6G8z77R`T_`w!pJlze8uij!)fZ>nsTNnXW)$hg><3khM1j z&NOERv<=ftWGW^z;Ag?!h_cdZ%fX5+4Ty{V2#5U!EIBkeE&_=L0V(0r?Z${>>2wPs z)Mh~HyZugY;K_<2uO6_v{UerzlQf9$2gVe)y`dCV=#~d0IvB7vya#Uqa9LwdR;#N00) z#&+0Ce9oHZ$$^1R0s6Vrrwn?{M&C29U7#MN%SNPDdoTaqn*DNZYQvbD`_2_19rWuMx4H4c4Qv{l&d*~f2h9KbZAAo6+Vs|5*(TuCy;;V`7i$ef6tCX3QnLX5hfsGr0!m>?d$l__t*F1ibc~1 zv8)hFR;*~2EKr0}vB`>E5k*2m?8>5|ti43gGr#xD+_}TOd9M1T<2&cfnfuL|pEKvo z^}yAjv92OaC#q~NP{^+xwilqUHDSaMU*q@Ulla)G6198w}J*9Adl4liJ+k>0HeX5 z1TB3Bz-Z*OprLQD9%=YvN!Rg-H1dO>g?#`{_wb1{hBk2O!za=>_Mg$%_k!lH05F>S zLeRoVY=<;|U(hH%8O?19n%oCqH2z4?)K>tECb12pS*&9;h5C#pJ`yzf4%Q=0KNK`G z2Ege*?dZqZ%wT)}oqEx9Di>!6=PPw)jl#8WmsRa&+TeDaRD{*Zhjknk;he5Sn zHydan(GP>>+r@g&ZiZ5q3T!>nW3DE6TdNtiYIS89*HaQ(vmQ2fY7J$UKvp7KS9hKd zA=lL+TlY@bDphxC)FLgib+_B~-JrT%HtZ)tTfY&aHT2C=5ZBwSOLs%5 zX#v#>%zkN>>g;K$e3j;@R=eCPQ8!v4f|wqzzoN0zg*Fw(+BCvSZ7*~+vua{3ceW!p zA%LVLrunBp9|J;B2x5AsvlOaY7Sq##%IMTYu1- zS9C^+5_F5fR;yI28VI6^u1RcJ#v_*)qM9*rtWB#_32SZTS47veET*lFCi-@He#LZy zX0vq1G(d@nE;^y@prw3<=7>gfH)w=(-BLkJ&*-7hRHB%!o?&i|P}VZ4T`o0S#h_k~ zj-RF>is>@PTMYC(2<=En^;?bbkL^IsSW~m6PSsLUJkb)d1GaB8Y7MynEE&<3Lu0Dj zLZUAht*LJdiT+;LXh!Q-b8!uvSsi;wH6hBLg{b`GcF!tcE^r3m#yNny=K(&ygt6-= zzy>~lya@0;XPMLB2W!@Du8Nw*+u{1mGLwKOP3S zj`Rca`wIZ~knUm(-G{U>4)8rbugn8{F$ZuG>+WOuK4Nbozds4^2z9=i!a6MP&!Qa5 zA58$fgZ#s3%qeC7K16yK>uw;Q$GUqAdlCDGG5sz+#|i)+AoXCs_K@DgK7NXIec0yK zGQI~1(=h0QLvRd!4Nt>Ua1@R}5Bvs>LoYlDSK$Qo!Lx80PQf#fhcoa5{0a`kFkFE1 za1r`p6c%9$#$g&R!6b~q0?fcH%)#?84-+r~1CWCu7=&|h7M7s^OYmE`3@dO2o`aL{ z0<8WYk-O2;Jw`r4-J?Hd_Jq7DWF$+SzYBevSn76#J1>w~hOO*6!}#kPp(|oe2)EsV zv%^s)I}l#u40Ig>kQC9z0#s*U%L8XJ5Ux`KWjwN_Y9euTd2}PEj5lF363Z1U&Y;Q} z0jiLVyt&eJMt9E8kcSiANXv1M3SaCpR@5W~R3w<8-Sx$Wt~Dq?eksm#tT1_o$N(wU z1r@x=XehDX8QiebRGfyfcF8eLJfMuiYxH#_6i*IxZs4Iua@`6-l&%jzsnqPW6q|L<1va^!`G-S6;<9;aD|`rpX?V3hhR@nsT6m zv0Nt=k})A}lw7z)j*>U4XcsA1wLt_I?F`AA)iGBnw1haGV3?C{I6l&lxI9B@WtQ5_ z5hcsPks7s&s3weWT{GL^X8X?Y8-fM6hK0W>Mm|@e z_xel;6XakRGYRoKiI0CE{Y&!Q_*{j#M^X>70r7hZA3q~0Jtkd++@nMI?86Lz{f-f% zM&U&75tOm_vEOmb7CsC5UM+1kYR%eCD>t@2o?E+l>lIOL{$*gSA$tK}BEd?%`1dd` z5foV6s#WUP*Uy5kuAi}g0*7#Bm4q9|T68N(p6Q?<(kVm|CeN`y z^2goS#mFaHDeS!mz5>$BD`wg_)(IbjGLPEw<=FoE8UcKx=GkAEO^Y8}ifn(;AK71+ zWs4uv`=?^$^FT*8?T98W#H=G)n3n^ZW8ZPv=3MJyUJEZr@OPBPFzTQs5RiG@7nFmv z@CFdA%fyR9xXuvOMzav{st4DNVWEr^9L<>`5T9k7r(O2+KOW07I8- zSjSId3P#GQY|F2>*9zO>hfORIG!uaAmib2V2@6d|$HRRJM#>$JTji@he$m_Guo^L;&johpeL?68zJedEb@N3 z8PZ{SX6qcma+sCb&leJQ^$@Pb^AVPP2S?4zj_JuUF4&mjg0C|?PgKxv;kl9;0-kFA zd@;{O3r~EKAqbgQi_e?nEVSs>vlB#L+&>UQ#2Zx#mVLE&W^d3!Q`fZ=kd)KSUcyet ze;dGW-6|dtm$2qlFhQawr$hDZiD3&>UNcj;?4#7Uo>9Hz#8VgK6qc0J zjjG4HjV7StS40An{rvMqFJm^QD+$Rym!2ImZXv4A2Gm4SPBp5&{Xb#h@lO&2Ap3aw zven55O@Hs8V5FSRvV>L2ZcnBNmMeJ4jO97yrwP_UobtXIn;}@v@Fnwl^v&2TMRS;z zbrjYAd)ayFFwWSV#)^NvA~JCusnWxg<{DMz!Z#>)9nP0pT458^v7lL`s}mjyLEd`W2rCK6pEBnS>?M; OziK0if5s&c(DPr@+D^6r diff --git a/src/3rdparty/win32_lib/libogg.lib b/src/3rdparty/win32_lib/libogg.lib deleted file mode 100644 index a87403ca3b9f3fb304de36499606706da7118fa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15312 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 W+Ps5i8)RyX)7|yC=ib|OtLs*e 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 diff --git a/src/3rdparty/win32_lib/libvorbisfile.lib b/src/3rdparty/win32_lib/libvorbisfile.lib deleted file mode 100644 index b2b2feec42c0111558f1a1d4dbb4540fbe99899a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8638 zcmcgw&2JM|5T7Ivf*~a2`#Vku6eJ2sh|^Z8+R#!p5#~cCT)V6t2Ml%`*(T*yi36wp z0US7Usl<_M5#q+NNIjGjmr4~U4qVgU`)o)$bfxioGjIHUZ{C|XGrKciyS2it zZ&GK|{^#=rKX15s-C0;((A^s;B3dKrE)(@UA?p2ysQ@oB}BX1O?UqcQWe4(iSA?yH+KhX3JEof4#9W*to2|81tflf`BZvZryQ#7yxe#ddv zE?vEnTX!z}aP9lt+STjE|TM1zMjp7)#w+Wp3+)hy?*(kbK(5@ zdHk;@jj#DTX-5Oav9;t2@x8#88_~cH(Etm6d;ZB`3Y!U0`OO2Y_z&e4%{otrm z+Nw9)t%j}T$ymGIs1@Cc0_46oS}fji^I}T?RcFQ;ua(^L*4;|JsLZVwZ2{}m+@GCB zwc(cKL>9*y+l7jyVR5X{C{>D=%vUU8D;c>CDh8g!59+#7|g2k~$X=}48cTRO!UZ_?oMSTmn&!h1D4Yl90okgWHL5y3xqWTL-ayqB`E@xYNVPy*DAcO;x;YY$;TdkZS773EEGc)JubOl!j=Gx~Yc-Xp|1q z6iri#4$(nM(+tg09}QDKjnFt9Y0)elIEVk7kGv!NfHc6zt&@|-n=9f;*y&iLeS~@A zNR}HJkJTf^B*+OsKM^H=?MJD8f!N^(Nt{NraIim7&;16P2x5jVQ1PFTVNy ztW%yRi;gm^BXWvLxt6GDQVpl;Jt7fL*euX+{I;xRS-@OR9@upMK(l|TAnvWipVZln zy~@U`Ss=6OD&w?5%I*rr3ueY2Wq>z~j)R;oIP?Ww5mOnDlM@(58D))n>77+Pm(zNj zx-2)tkntv!f^_Y|0G?B6RjY!s^Ong>(DIx|GPc_YfmQ1%SAkIag1_*z+(RgcBMMhK zyi6YVHo`CRYw}h|C1uhcb@kamLfZ4K=u7jSbR*@f*w1XB1UYM7p0v_lvt<^((3&?= z*|rYa#WUQ7425hW63Us4V*c*Uxoe6g`VpO94Wru?>izCaX~S)}bBksO35osy{jCKZ zXjf?dnbup@V&oj6{lGJNLcT)jXYFW5keS4DG-T#y)ZcpmBVtzZ96=U)S?Ie|5|^dA z*+`$vol0ldE?-o`{@=r3#UI54gj6Yd$mK|rq8GxV6;xK+Soh09Tifog0Turfk636s z8S__&wRBCYP>j;W*`w3u18 zJg8lI(C>1ga@9>e2(RM4$MT?aW-H@fxzPL5FuMH&d;B5$dJOP;xMtGb&6v$ii|Sl3) zcXv@diklwNH#@#bp~!T<11F8fX2FM_r0Q#mfi0NZF|BijT*N+s_Vzr7M>f zpz+s1|LIM`vV8{4)J9>r#BnTcC--YSRepuR68lPwZJip+)O1ZUQexXO=e(N1_D#H& z$~Qgn0nFf`h722+7;(vz6@j~lmsr@R{8E;wpBU?)#*&qA3$QW~b{&UZDGSSb?`s8W zjK3VxsHQ$|#pz`-&HY6L>B9j$Spc`fMpH%vJZ27<-9b$GW)=obdJmT)GQ>$>9%+Ud zVQf;|Ow4)qSh(_aB5Y>j+n8Bwex7OA*=ys;ZvYz>7G- z5l=eK#V!PVU5V&8(M)Eio29LjAg|{^^UQ7m_3gShC(ZrZBCpjI$j7a;5{bxDi_MgJdNH;}|FgG!B+?meU U$PsBH@&3j{)>$83MA}IG3lWvti2wiq diff --git a/src/3rdparty/win32_lib/ssl-43.lib b/src/3rdparty/win32_lib/ssl-43.lib deleted file mode 100644 index 3b0d95afdb87c080829e1786d670f183129c1964..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62120 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 gG{@Anlq|K`8!%t^yTqN8$-?^0hRhZIBl`Tzg` diff --git a/src/3rdparty/win32_lib/tls-15.lib b/src/3rdparty/win32_lib/tls-15.lib deleted file mode 100644 index 0dcdd768416f69c89c2ce107917d7a8c19fb3a7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20472 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�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 GlKekP5Kn#p diff --git a/src/3rdparty/win32_lib/zlibstatD.lib b/src/3rdparty/win32_lib/zlibstatD.lib deleted file mode 100644 index da56e68b8bdcd43ec200aee958b3c091a3e7cd55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 982438 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±MpbPwoJ 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

    VFsCzq&IPA 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%0Dmient)X)8?g|JQjp-ZlbIIg>mqo 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

    kz*js>NGm6PRKP&!*pvO;7kU7Nzl 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�&W}PS0YR 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 iZ^owUN0umOHtrue - ../../../boost_1_65_0/lib32-msvc-14.1;../3rdparty/win32_lib;%(AdditionalLibraryDirectories) + ../../../boost_1_65_0/lib32-msvc-14.1;../3rdparty/bin/win32/lib;%(AdditionalLibraryDirectories) %(IgnoreSpecificDefaultLibraries) true Windows @@ -89,8 +89,10 @@ xcopy "$(ProjectDir)data\themes\*" "$(TargetDir)themes\" /Y /e if not exist "$(TargetDir)locales" mkdir "$(TargetDir)locales" xcopy "$(ProjectDir)data\locales\*" "$(TargetDir)locales\" /Y /e -xcopy "$(SolutionDir)src\3rdparty\win32_bin\*" "$(TargetDir)" /Y /e -xcopy "$(SolutionDir)src\plugins\stockencoders\3rdparty\win32_bin\$(Configuration)\*" "$(TargetDir)plugins" /Y /e +xcopy "$(SolutionDir)src\3rdparty\bin\win32\dll\lame\*" "$(TargetDir)" /Y /e +xcopy "$(SolutionDir)src\3rdparty\bin\win32\dll\libcurl\*" "$(TargetDir)" /Y /e +xcopy "$(SolutionDir)src\3rdparty\bin\win32\dll\libressl\*" "$(TargetDir)" /Y /e +xcopy "$(SolutionDir)src\3rdparty\bin\win32\dll\vorbis\*" "$(TargetDir)" /Y /e @@ -112,7 +114,7 @@ xcopy "$(SolutionDir)src\plugins\stockencoders\3rdparty\win32_bin\$(Configuratio Sync - ../../../boost_1_65_0/lib32-msvc-14.1;../3rdparty/win32_lib;%(AdditionalLibraryDirectories) + ../../../boost_1_65_0/lib32-msvc-14.1;../3rdparty/bin/win32/lib;%(AdditionalLibraryDirectories) %(IgnoreSpecificDefaultLibraries) false Windows @@ -131,8 +133,10 @@ xcopy "$(SolutionDir)src\plugins\stockencoders\3rdparty\win32_bin\$(Configuratio xcopy "$(ProjectDir)data\themes\*" "$(TargetDir)themes\" /Y /e if not exist "$(TargetDir)locales" mkdir "$(TargetDir)locales" xcopy "$(ProjectDir)data\locales\*" "$(TargetDir)locales\" /Y /e -xcopy "$(SolutionDir)src\3rdparty\win32_bin\*" "$(TargetDir)" /Y /e -xcopy "$(SolutionDir)src\plugins\stockencoders\3rdparty\win32_bin\$(Configuration)\*" "$(TargetDir)plugins" /Y /e +xcopy "$(SolutionDir)src\3rdparty\bin\win32\dll\lame\*" "$(TargetDir)" /Y /e +xcopy "$(SolutionDir)src\3rdparty\bin\win32\dll\libcurl\*" "$(TargetDir)" /Y /e +xcopy "$(SolutionDir)src\3rdparty\bin\win32\dll\libressl\*" "$(TargetDir)" /Y /e +xcopy "$(SolutionDir)src\3rdparty\bin\win32\dll\vorbis\*" "$(TargetDir)" /Y /e diff --git a/src/plugins/cddadecoder/cddadecoder.vcxproj b/src/plugins/cddadecoder/cddadecoder.vcxproj index d434b1ec5..9c37aa0d5 100755 --- a/src/plugins/cddadecoder/cddadecoder.vcxproj +++ b/src/plugins/cddadecoder/cddadecoder.vcxproj @@ -70,7 +70,7 @@ shlwapi.lib;libcurl.lib;%(AdditionalDependencies) - ../../3rdparty/win32_lib;%(AdditionalLibraryDirectories) + ../../3rdparty/bin/win32/lib;%(AdditionalLibraryDirectories) true false @@ -95,7 +95,7 @@ shlwapi.lib;libcurl.lib;%(AdditionalDependencies) - ../../3rdparty/win32_lib;%(AdditionalLibraryDirectories) + ../../3rdparty/bin/win32/lib;%(AdditionalLibraryDirectories) false diff --git a/src/plugins/ffmpegdecoder/ffmpegdecoder.vcxproj b/src/plugins/ffmpegdecoder/ffmpegdecoder.vcxproj index 36a6df77e..c57a60086 100644 --- a/src/plugins/ffmpegdecoder/ffmpegdecoder.vcxproj +++ b/src/plugins/ffmpegdecoder/ffmpegdecoder.vcxproj @@ -89,12 +89,11 @@ 4996 - ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/win32_lib;./3rdparty/win32_lib;%(AdditionalLibraryDirectories) + ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/bin/win32/lib;%(AdditionalLibraryDirectories) avcodec-musikcube.lib;avformat-musikcube.lib;avutil-musikcube.lib;swresample-musikcube.lib;%(AdditionalDependencies) - - + xcopy "$(SolutionDir)src\3rdparty\bin\win32\dll\ffmpeg\*" "$(TargetDir)..\" /Y /e @@ -123,15 +122,14 @@ true true - ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/win32_lib;./3rdparty/win32_lib + ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/bin/win32/lib avcodec-musikcube.lib;avformat-musikcube.lib;avutil-musikcube.lib;swresample-musikcube.lib;%(AdditionalDependencies) false Windows false - - + xcopy "$(SolutionDir)src\3rdparty\bin\win32\dll\ffmpeg\*" "$(TargetDir)..\" /Y /e diff --git a/src/plugins/httpdatastream/httpdatastream.vcxproj b/src/plugins/httpdatastream/httpdatastream.vcxproj index 517109847..5baa7d206 100644 --- a/src/plugins/httpdatastream/httpdatastream.vcxproj +++ b/src/plugins/httpdatastream/httpdatastream.vcxproj @@ -70,7 +70,7 @@ shlwapi.lib;libcurl.lib;%(AdditionalDependencies) - ../../3rdparty/win32_lib;../../../../boost_1_65_0/lib32-msvc-14.1;%(AdditionalLibraryDirectories) + ../../3rdparty/bin/win32/lib;../../../../boost_1_65_0/lib32-msvc-14.1;%(AdditionalLibraryDirectories) true false @@ -95,7 +95,7 @@ shlwapi.lib;libcurl.lib;%(AdditionalDependencies) - ../../3rdparty/win32_lib;../../../../boost_1_65_0/lib32-msvc-14.1;%(AdditionalLibraryDirectories) + ../../3rdparty/bin/win32/lib;../../../../boost_1_65_0/lib32-msvc-14.1;%(AdditionalLibraryDirectories) false diff --git a/src/plugins/oggdecoder/oggdecoder.vcxproj b/src/plugins/oggdecoder/oggdecoder.vcxproj index 2c19cd8d9..4668ac96f 100755 --- a/src/plugins/oggdecoder/oggdecoder.vcxproj +++ b/src/plugins/oggdecoder/oggdecoder.vcxproj @@ -72,7 +72,7 @@ /NODEFAULTLIB:LIBCMT %(AdditionalOptions) libvorbis.lib;libvorbisfile.lib;%(AdditionalDependencies) - ../../3rdparty/win32_lib;%(AdditionalLibraryDirectories) + ../../3rdparty/bin/win32/lib;%(AdditionalLibraryDirectories) true Windows false @@ -99,7 +99,7 @@ libvorbis.lib;libvorbisfile.lib;%(AdditionalDependencies) - ../../3rdparty/win32_lib;%(AdditionalLibraryDirectories) + ../../3rdparty/bin/win32/lib;%(AdditionalLibraryDirectories) Windows true true diff --git a/src/plugins/server/server.vcxproj b/src/plugins/server/server.vcxproj index f04f27b9d..c19ece9e3 100644 --- a/src/plugins/server/server.vcxproj +++ b/src/plugins/server/server.vcxproj @@ -88,7 +88,7 @@ MultiThreadedDebug - ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/win32_lib;./3rdparty/win32_lib;%(AdditionalLibraryDirectories) + ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/bin/win32/lib;%(AdditionalLibraryDirectories) zlibstatD.lib;%(AdditionalDependencies) @@ -121,7 +121,7 @@ true true - ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/win32_lib;./3rdparty/win32_lib + ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/bin/win32/lib zlibstat.lib;%(AdditionalDependencies) false Windows diff --git a/src/plugins/stockencoders/3rdparty/win32_bin/Debug/libmp3lame.dll b/src/plugins/stockencoders/3rdparty/win32_bin/Debug/libmp3lame.dll deleted file mode 100644 index 236326ec9f0af4fe545df7736b9f6b22c6971e31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 745472 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%0D>}U>5)Mm708C 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

  1. ?U{bFxxR2e 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%0Anio>w1L=pu~3Q?l;)G{}->C~5w&GVF}jTgMx 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 WvM4z#PS%>>8>ER4aRdKPfBpkhBg0Mr diff --git a/src/plugins/stockencoders/3rdparty/win32_bin/Release/libmp3lame.dll b/src/plugins/stockencoders/3rdparty/win32_bin/Release/libmp3lame.dll deleted file mode 100644 index 582c7cd99d24cdaf584cd16c1d3deb171ed2594c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 475648 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

    ;K1DUd6@%>vIgX37PAOo@T{ETB14i4 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%0De-#=X_xkZmX!l8kpb395>g{~ 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 diff --git a/src/plugins/stockencoders/3rdparty/win32_lib/libmp3lame.lib b/src/plugins/stockencoders/3rdparty/win32_lib/libmp3lame.lib deleted file mode 100644 index df74a382d89391dabf93d55903bac08f83813bc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52514 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 diff --git a/src/plugins/stockencoders/3rdparty/win32_lib/libmp3lameD.lib b/src/plugins/stockencoders/3rdparty/win32_lib/libmp3lameD.lib deleted file mode 100644 index 4c3ef343ce9654f36ab03a353ef6bd4cb461f350..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52514 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 Disabled true - 3rdparty/include;3rdparty/win32_include;../../3rdparty/win32_include;../../../../boost_1_65_0;../../;%(AdditionalIncludeDirectories) + 3rdparty/include;../../3rdparty/win32_include;../../../../boost_1_65_0;../../;%(AdditionalIncludeDirectories) WIN32;WIN32_LEAN_AND_MEAN;NOMINMAX;ZLIB_WINAPI;MHD_W32LIB;BUILDING_MHD_LIB;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) MultiThreadedDebug - ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/win32_lib;./3rdparty/win32_lib;%(AdditionalLibraryDirectories) + ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/bin/win32/lib;%(AdditionalLibraryDirectories) zlibstatD.lib;libmp3lameD.lib;libvorbis.lib;libogg.lib;%(AdditionalDependencies) @@ -110,7 +110,7 @@ true true true - 3rdparty/include;3rdparty/win32_include;../../3rdparty/win32_include;../../../../boost_1_65_0;../../;%(AdditionalIncludeDirectories) + 3rdparty/include;../../3rdparty/win32_include;../../../../boost_1_65_0;../../;%(AdditionalIncludeDirectories) WIN32;WIN32_LEAN_AND_MEAN;NOMINMAX;ZLIB_WINAPI;MHD_W32LIB;BUILDING_MHD_LIB;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) MultiThreaded None @@ -121,7 +121,7 @@ true true - ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/win32_lib;./3rdparty/win32_lib + ../../../../boost_1_65_0/lib32-msvc-14.1;../../3rdparty/bin/win32/lib zlibstat.lib;libmp3lame.lib;libvorbis.lib;libogg.lib;%(AdditionalDependencies) false Windows From 1796fc9a6f776f7b4cc6b87f1d338f5b7025e106 Mon Sep 17 00:00:00 2001 From: casey langen Date: Sat, 16 Dec 2017 12:59:58 -0800 Subject: [PATCH 12/19] Updated CMake packaging logic to take FFMPEG_DECODER into account. --- CMakeLists.txt | 116 +++++++++++++++++++++++++++---------------------- 1 file changed, 65 insertions(+), 51 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d5565d31..b779679c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -129,39 +129,62 @@ install( # install the plugins if (CMAKE_SYSTEM_NAME MATCHES "Linux") - # linux - install( - FILES - bin/plugins/libalsaout.so - bin/plugins/libpulseout.so - bin/plugins/libnullout.so - bin/plugins/libflacdecoder.so - bin/plugins/libm4adecoder.so - bin/plugins/libnomaddecoder.so - bin/plugins/liboggdecoder.so - bin/plugins/libtaglibreader.so - bin/plugins/libserver.so - bin/plugins/libhttpdatastream.so - bin/plugins/libstockencoders.so - DESTINATION share/musikcube/plugins - ) -else (CMAKE_SYSTEM_NAME MATCHES "Linux") - # macos - install( - FILES - bin/plugins/libcoreaudioout.dylib - bin/plugins/libnullout.dylib - bin/plugins/libflacdecoder.dylib - bin/plugins/libm4adecoder.dylib - bin/plugins/libnomaddecoder.dylib - bin/plugins/liboggdecoder.dylib - bin/plugins/libtaglibreader.dylib - bin/plugins/libserver.dylib - bin/plugins/libhttpdatastream.dylib - bin/plugins/libstockencoders.dylib - DESTINATION share/musikcube/plugins - ) -endif (CMAKE_SYSTEM_NAME MATCHES "Linux") + if (${FFMPEG_DECODER} MATCHES "true") + install( + FILES + bin/plugins/libalsaout.so + bin/plugins/libpulseout.so + bin/plugins/libnullout.so + bin/plugins/libffmpegdecoder.so + bin/plugins/libtaglibreader.so + bin/plugins/libserver.so + bin/plugins/libhttpdatastream.so + bin/plugins/libstockencoders.so + DESTINATION share/musikcube/plugins) + else() + install( + FILES + bin/plugins/libalsaout.so + bin/plugins/libpulseout.so + bin/plugins/libnullout.so + bin/plugins/libflacdecoder.so + bin/plugins/libm4adecoder.so + bin/plugins/libnomaddecoder.so + bin/plugins/liboggdecoder.so + bin/plugins/libtaglibreader.so + bin/plugins/libserver.so + bin/plugins/libhttpdatastream.so + bin/plugins/libstockencoders.so + DESTINATION share/musikcube/plugins) + endif() +else () # macOS + if (${FFMPEG_DECODER} MATCHES "true") + install( + FILES + bin/plugins/libcoreaudioout.dylib + bin/plugins/libnullout.dylib + bin/plugins/libffmpegdecoder.dylib + bin/plugins/libtaglibreader.dylib + bin/plugins/libserver.dylib + bin/plugins/libhttpdatastream.dylib + bin/plugins/libstockencoders.dylib + DESTINATION share/musikcube/plugins) + else() + install( + FILES + bin/plugins/libcoreaudioout.dylib + bin/plugins/libnullout.dylib + bin/plugins/libflacdecoder.dylib + bin/plugins/libm4adecoder.dylib + bin/plugins/libnomaddecoder.dylib + bin/plugins/liboggdecoder.dylib + bin/plugins/libtaglibreader.dylib + bin/plugins/libserver.dylib + bin/plugins/libhttpdatastream.dylib + bin/plugins/libstockencoders.dylib + DESTINATION share/musikcube/plugins) + endif() +endif () file(GLOB sdk_headers "src/core/sdk/*.h") file(GLOB themes "src/musikcube/data/themes/*.json") @@ -215,29 +238,20 @@ if (GENERATE_DEB MATCHES "1") set(DEB_MICROHTTPD_VERSION "12") endif() + set(DEPENDENCIES "libboost-thread${DEB_BOOST_VERSION}, libboost-system${DEB_BOOST_VERSION}, libboost-filesystem${DEB_BOOST_VERSION}, libboost-date-time${DEB_BOOST_VERSION}, libboost-atomic${DEB_BOOST_VERSION}, libboost-chrono${DEB_BOOST_VERSION}, libmicrohttpd${DEB_MICROHTTPD_VERSION}, libogg0, libvorbis0a, libvorbisfile3, libncursesw5, libasound2, libpulse0, pulseaudio, libmp3lame0,") + + if (${FFMPEG_DECODER} MATCHES "true") + set(DEPENDENCIES "${DEPENDENCIES} libavcodec-extra, libavutil55, libavformat57, libswresample2") + else() + set(DEPENDENCIES "${DEPENDENCIES} libflac8, libfaad2") + endif() + set(CPACK_GENERATOR "DEB") set(CPACK_PACKAGE_DESCRIPTION "musikcube, a terminal-based music player and library") set(CPACK_PACKAGE_VERSION_MAJOR "${musikcube_VERSION_MAJOR}") set(CPACK_PACKAGE_VERSION_MINOR "${musikcube_VERSION_MINOR}") set(CPACK_PACKAGE_VERSION_PATCH "${musikcube_VERSION_PATCH}") - set(CPACK_DEBIAN_PACKAGE_DEPENDS - "libboost-thread${DEB_BOOST_VERSION}, - libboost-system${DEB_BOOST_VERSION}, - libboost-filesystem${DEB_BOOST_VERSION}, - libboost-date-time${DEB_BOOST_VERSION}, - libboost-atomic${DEB_BOOST_VERSION}, - libboost-chrono${DEB_BOOST_VERSION}, - libmicrohttpd${DEB_MICROHTTPD_VERSION}, - libogg0, - libvorbis0a, - libvorbisfile3, - libflac8, - libfaad2, - libncursesw5, - libasound2, - libpulse0, - pulseaudio, - libmp3lame0") + set(CPACK_DEBIAN_PACKAGE_DEPENDS ${DEPENDENCIES}) set(CPACK_DEBIAN_PACKAGE_MAINTAINER "casey langen") set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${DEB_ARCHITECTURE}) set(CPACK_PACKAGE_FILE_NAME "musikcube_${musikcube_VERSION}_${DEB_DISTRO}_${DEB_ARCHITECTURE}") From eae2f896f99c64599f9440127a3ddff122119252 Mon Sep 17 00:00:00 2001 From: casey langen Date: Sat, 16 Dec 2017 23:16:46 -0800 Subject: [PATCH 13/19] Updated FfmpegDecoder CMakeLists comments. --- src/plugins/ffmpegdecoder/CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/ffmpegdecoder/CMakeLists.txt b/src/plugins/ffmpegdecoder/CMakeLists.txt index 677db163b..80a02f715 100644 --- a/src/plugins/ffmpegdecoder/CMakeLists.txt +++ b/src/plugins/ffmpegdecoder/CMakeLists.txt @@ -1,4 +1,5 @@ -# libavformat-dev, libavcodec-dev, libavutil-dev, libavresample-dev(?), libswresample-dev +# libresample2 libavcodec-extra57 libavutil55 libavformat57 +# libavcodec-dev libavformat-dev libavutil-dev libswresample-dev set (ffmpegdecoder_SOURCES plugin.cpp @@ -7,4 +8,4 @@ set (ffmpegdecoder_SOURCES # note: static linking is a no-go (too many dependencies). sorry macOS. add_library(ffmpegdecoder SHARED ${ffmpegdecoder_SOURCES}) -target_link_libraries(ffmpegdecoder ${musikcube_LINK_LIBS} avcodec avutil avformat swresample) \ No newline at end of file +target_link_libraries(ffmpegdecoder ${musikcube_LINK_LIBS} avcodec avutil avformat swresample) From 536cac12666f43bfebb50c87831d771bf919c25f Mon Sep 17 00:00:00 2001 From: casey langen Date: Sat, 16 Dec 2017 23:54:34 -0800 Subject: [PATCH 14/19] Added replay gain support for ogg, flac, and mp4. --- .../taglib_plugin/TaglibMetadataReader.cpp | 55 +++++++++++++++++++ .../taglib_plugin/TaglibMetadataReader.h | 13 +++++ 2 files changed, 68 insertions(+) diff --git a/src/plugins/taglib_plugin/TaglibMetadataReader.cpp b/src/plugins/taglib_plugin/TaglibMetadataReader.cpp index 8fd95f94b..282c6c314 100644 --- a/src/plugins/taglib_plugin/TaglibMetadataReader.cpp +++ b/src/plugins/taglib_plugin/TaglibMetadataReader.cpp @@ -221,6 +221,7 @@ bool TaglibMetadataReader::ReadGeneric(const char* uri, musik::core::sdk::ITagSt auto xiphTag = dynamic_cast(tag); if (xiphTag) { this->ReadFromMap(xiphTag->fieldListMap(), target); + this->ExtractReplayGain(xiphTag->fieldListMap(), target); } /* if this isn't a xiph tag, the file format may have some other custom @@ -233,6 +234,7 @@ bool TaglibMetadataReader::ReadGeneric(const char* uri, musik::core::sdk::ITagSt auto flacFile = dynamic_cast(file.file()); if (flacFile && flacFile->hasXiphComment()) { this->ReadFromMap(flacFile->xiphComment()->fieldListMap(), target); + this->ExtractReplayGain(flacFile->xiphComment()->fieldListMap(), target); handled = true; } @@ -245,6 +247,7 @@ bool TaglibMetadataReader::ReadGeneric(const char* uri, musik::core::sdk::ITagSt auto mp4TagMap = static_cast(tag)->itemListMap(); this->ExtractValueForKey(mp4TagMap, "aART", "album_artist", target); this->ExtractValueForKey(mp4TagMap, "disk", "disc", target); + this->ExtractReplayGain(mp4TagMap, target); } } } @@ -273,6 +276,20 @@ void TaglibMetadataReader::ExtractValueForKey( } } +std::string TaglibMetadataReader::ExtractValueForKey( + const TagLib::MP4::ItemMap& map, + const std::string& inputKey, + const std::string& defaultValue) +{ + if (map.contains(inputKey.c_str())) { + TagLib::StringList value = map[inputKey.c_str()].toStringList(); + if (value.size()) { + return value[0].to8Bit(); + } + } + return defaultValue; +} + template void TaglibMetadataReader::ExtractValueForKey( const T& map, @@ -295,6 +312,44 @@ void TaglibMetadataReader::ReadFromMap(const T& map, musik::core::sdk::ITagStore ExtractValueForKey(map, "ALBUMARTIST", "album_artist", target); } +template +std::string TaglibMetadataReader::ExtractValueForKey( + const T& map, + const std::string& inputKey, + const std::string& defaultValue) +{ + if (map.contains(inputKey.c_str())) { + TagLib::StringList value = map[inputKey.c_str()]; + if (value.size()) { + return value[0].to8Bit(); + } + } + return defaultValue; +} + +template +void TaglibMetadataReader::ExtractReplayGain( + const T& map, musik::core::sdk::ITagStore *target) +{ + try { + musik::core::sdk::ReplayGain replayGain; + initReplayGain(replayGain); + replayGain.trackGain = toReplayGainFloat(ExtractValueForKey(map, "REPLAYGAIN_TRACK_GAIN", "1.0")); + replayGain.trackPeak = toReplayGainFloat(ExtractValueForKey(map, "REPLAYGAIN_TRACK_PEAK", "1.0")); + replayGain.albumGain = toReplayGainFloat(ExtractValueForKey(map, "REPLAYGAIN_ALBUM_GAIN", "1.0")); + replayGain.albumPeak = toReplayGainFloat(ExtractValueForKey(map, "REPLAYGAIN_ALBUM_PEAK", "1.0")); + + if (replayGain.albumGain != 1.0f && replayGain.albumPeak != 1.0f && + replayGain.trackGain != 1.0f && replayGain.trackPeak != 1.0f) + { + target->SetReplayGain(replayGain); + } + } + catch (...) { + /* let's not allow weird replay gain tags to crash indexing... */ + } +} + bool TaglibMetadataReader::ReadID3V2(const char* uri, musik::core::sdk::ITagStore *track) { TagLib::ID3v2::FrameFactory::instance()->setDefaultTextEncoding(TagLib::String::UTF8); diff --git a/src/plugins/taglib_plugin/TaglibMetadataReader.h b/src/plugins/taglib_plugin/TaglibMetadataReader.h index ca085f3b8..ca83c009c 100644 --- a/src/plugins/taglib_plugin/TaglibMetadataReader.h +++ b/src/plugins/taglib_plugin/TaglibMetadataReader.h @@ -77,12 +77,25 @@ class TaglibMetadataReader : public musik::core::sdk::ITagReader { const std::string& outputKey, musik::core::sdk::ITagStore *target); + template std::string ExtractValueForKey( + const T& map, + const std::string& inputKey, + const std::string& defaultValue); + + template void ExtractReplayGain( + const T& map, musik::core::sdk::ITagStore *target); + void ExtractValueForKey( const TagLib::MP4::ItemMap& map, const std::string& inputKey, const std::string& outputKey, musik::core::sdk::ITagStore *target); + std::string ExtractValueForKey( + const TagLib::MP4::ItemMap& map, + const std::string& inputKey, + const std::string& defaultValue); + void SetTagValue( const char* key, const char* string,musik::core::sdk::ITagStore *target); From 42c91065a53d30cf3d0e0130753a05a0a897681e Mon Sep 17 00:00:00 2001 From: casey langen Date: Sun, 17 Dec 2017 11:00:45 -0800 Subject: [PATCH 15/19] Make sure orphaned replay_gain resources are removed from the database. Also, ensure we don't insert invalid/default replay_gain values for tracks during indexer time. --- src/core/library/Indexer.cpp | 3 + src/core/library/track/IndexerTrack.cpp | 31 +++---- .../taglib_plugin/TaglibMetadataReader.cpp | 80 ++++++++----------- 3 files changed, 53 insertions(+), 61 deletions(-) diff --git a/src/core/library/Indexer.cpp b/src/core/library/Indexer.cpp index 3b9055100..794eb228a 100644 --- a/src/core/library/Indexer.cpp +++ b/src/core/library/Indexer.cpp @@ -674,6 +674,9 @@ void Indexer::SyncCleanup() { this->dbConnection.Execute("DELETE FROM meta_values WHERE id NOT IN (SELECT DISTINCT(meta_value_id) FROM track_meta)"); this->dbConnection.Execute("DELETE FROM meta_keys WHERE id NOT IN (SELECT DISTINCT(meta_key_id) FROM meta_values)"); + /* orphaned replay gain */ + this->dbConnection.Execute("DELETE FROM replay_gain WHERE track_id NOT IN (SELECT id FROM tracks)"); + /* NOTE: we used to remove orphaned local library tracks here, but we don't anymore because the indexer generates stable external ids by hashing various file and metadata fields */ diff --git a/src/core/library/track/IndexerTrack.cpp b/src/core/library/track/IndexerTrack.cpp index cac6dac4b..17a22d2a6 100644 --- a/src/core/library/track/IndexerTrack.cpp +++ b/src/core/library/track/IndexerTrack.cpp @@ -355,19 +355,23 @@ void IndexerTrack::SaveReplayGain(db::Connection& dbConnection) } { - db::Statement insert( - "INSERT INTO replay_gain " - "(track_id, album_gain, album_peak, track_gain, track_peak) " - "VALUES (?, ?, ?, ?, ?);", - dbConnection); + if (replayGain->albumGain != 1.0 || replayGain->albumPeak != 1.0 || + replayGain->albumGain != 1.0 || replayGain->albumPeak != 1.0) + { + db::Statement insert( + "INSERT INTO replay_gain " + "(track_id, album_gain, album_peak, track_gain, track_peak) " + "VALUES (?, ?, ?, ?, ?);", + dbConnection); - insert.BindInt64(0, this->id); - insert.BindFloat(1, replayGain->albumGain); - insert.BindFloat(2, replayGain->albumPeak); - insert.BindFloat(3, replayGain->trackGain); - insert.BindFloat(4, replayGain->trackPeak); + insert.BindInt64(0, this->id); + insert.BindFloat(1, replayGain->albumGain); + insert.BindFloat(2, replayGain->albumPeak); + insert.BindFloat(3, replayGain->trackGain); + insert.BindFloat(4, replayGain->trackPeak); - insert.Step(); + insert.Step(); + } } } } @@ -650,10 +654,7 @@ int64_t IndexerTrack::SaveMultiValueField( if (count > 1 || fieldId == 0) { fieldId = SaveNormalizedFieldValue( - connection, - fieldTableName, - aggregatedValue, - true); + connection, fieldTableName, aggregatedValue, true); } return fieldId; diff --git a/src/plugins/taglib_plugin/TaglibMetadataReader.cpp b/src/plugins/taglib_plugin/TaglibMetadataReader.cpp index 282c6c314..feb3614bd 100644 --- a/src/plugins/taglib_plugin/TaglibMetadataReader.cpp +++ b/src/plugins/taglib_plugin/TaglibMetadataReader.cpp @@ -83,6 +83,8 @@ #include #include +using namespace musik::core::sdk; + #ifdef WIN32 static inline std::wstring utf8to16(const char* utf8) { int size = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, 0, 0); @@ -115,11 +117,16 @@ static float toReplayGainFloat(const std::string& input) { return 1.0f; } -static void initReplayGain(musik::core::sdk::ReplayGain& rg) { +static inline void initReplayGain(ReplayGain& rg) { rg.albumGain = rg.albumPeak = 1.0f; rg.trackGain = rg.trackPeak = 1.0f; } +static inline bool replayGainValid(ReplayGain& rg) { + return rg.albumGain != 1.0 || rg.albumPeak != 1.0 || + rg.trackGain != 1.0 || rg.trackPeak != 1.0; +} + TaglibMetadataReader::TaglibMetadataReader() { } @@ -148,7 +155,7 @@ bool TaglibMetadataReader::CanRead(const char *extension){ return false; } -bool TaglibMetadataReader::Read(const char* uri, musik::core::sdk::ITagStore *track) { +bool TaglibMetadataReader::Read(const char* uri, ITagStore *track) { std::string path(uri); std::string extension; @@ -182,7 +189,7 @@ bool TaglibMetadataReader::Read(const char* uri, musik::core::sdk::ITagStore *tr return success; } -bool TaglibMetadataReader::ReadGeneric(const char* uri, musik::core::sdk::ITagStore *target) { +bool TaglibMetadataReader::ReadGeneric(const char* uri, ITagStore *target) { #ifdef WIN32 TagLib::FileRef file(utf8to16(uri).c_str()); #else @@ -266,7 +273,7 @@ void TaglibMetadataReader::ExtractValueForKey( const TagLib::MP4::ItemMap& map, const std::string& inputKey, const std::string& outputKey, - musik::core::sdk::ITagStore *target) + ITagStore *target) { if (map.contains(inputKey.c_str())) { TagLib::StringList value = map[inputKey.c_str()].toStringList(); @@ -295,7 +302,7 @@ void TaglibMetadataReader::ExtractValueForKey( const T& map, const std::string& inputKey, const std::string& outputKey, - musik::core::sdk::ITagStore *target) + ITagStore *target) { if (map.contains(inputKey.c_str())) { TagLib::StringList value = map[inputKey.c_str()]; @@ -306,7 +313,7 @@ void TaglibMetadataReader::ExtractValueForKey( } template -void TaglibMetadataReader::ReadFromMap(const T& map, musik::core::sdk::ITagStore *target) { +void TaglibMetadataReader::ReadFromMap(const T& map, ITagStore *target) { ExtractValueForKey(map, "DISCNUMBER", "disc", target); ExtractValueForKey(map, "ALBUM ARTIST", "album_artist", target); ExtractValueForKey(map, "ALBUMARTIST", "album_artist", target); @@ -328,20 +335,17 @@ std::string TaglibMetadataReader::ExtractValueForKey( } template -void TaglibMetadataReader::ExtractReplayGain( - const T& map, musik::core::sdk::ITagStore *target) +void TaglibMetadataReader::ExtractReplayGain(const T& map, ITagStore *target) { try { - musik::core::sdk::ReplayGain replayGain; + ReplayGain replayGain; initReplayGain(replayGain); replayGain.trackGain = toReplayGainFloat(ExtractValueForKey(map, "REPLAYGAIN_TRACK_GAIN", "1.0")); replayGain.trackPeak = toReplayGainFloat(ExtractValueForKey(map, "REPLAYGAIN_TRACK_PEAK", "1.0")); replayGain.albumGain = toReplayGainFloat(ExtractValueForKey(map, "REPLAYGAIN_ALBUM_GAIN", "1.0")); replayGain.albumPeak = toReplayGainFloat(ExtractValueForKey(map, "REPLAYGAIN_ALBUM_PEAK", "1.0")); - if (replayGain.albumGain != 1.0f && replayGain.albumPeak != 1.0f && - replayGain.trackGain != 1.0f && replayGain.trackPeak != 1.0f) - { + if (replayGainValid(replayGain)) { target->SetReplayGain(replayGain); } } @@ -350,7 +354,7 @@ void TaglibMetadataReader::ExtractReplayGain( } } -bool TaglibMetadataReader::ReadID3V2(const char* uri, musik::core::sdk::ITagStore *track) { +bool TaglibMetadataReader::ReadID3V2(const char* uri, ITagStore *track) { TagLib::ID3v2::FrameFactory::instance()->setDefaultTextEncoding(TagLib::String::UTF8); #ifdef WIN32 @@ -389,10 +393,8 @@ bool TaglibMetadataReader::ReadID3V2(const char* uri, musik::core::sdk::ITagStor auto txxx = allTags["TXXX"]; if (!txxx.isEmpty()) { - using ReplayGain = musik::core::sdk::ReplayGain; ReplayGain replayGain; initReplayGain(replayGain); - bool found = false; for (auto current : txxx) { using UTIF = TagLib::ID3v2::UserTextIdentificationFrame; @@ -403,25 +405,21 @@ bool TaglibMetadataReader::ReadID3V2(const char* uri, musik::core::sdk::ITagStor if (values.size() > 0) { if (name == "REPLAYGAIN_TRACK_GAIN") { replayGain.trackGain = toReplayGainFloat(utif->fieldList().back().to8Bit()); - found = true; } else if (name == "REPLAYGAIN_TRACK_PEAK") { replayGain.trackPeak = toReplayGainFloat(utif->fieldList().back().to8Bit()); - found = true; } else if (name == "REPLAYGAIN_ALBUM_GAIN") { replayGain.albumGain = toReplayGainFloat(utif->fieldList().back().to8Bit()); - found = true; } else if (name == "REPLAYGAIN_ALBUM_PEAK") { replayGain.albumPeak = toReplayGainFloat(utif->fieldList().back().to8Bit()); - found = true; } } } } - if (found) { + if (replayGainValid(replayGain)) { track->SetReplayGain(replayGain); } } @@ -565,7 +563,7 @@ bool TaglibMetadataReader::ReadID3V2(const char* uri, musik::core::sdk::ITagStor void TaglibMetadataReader::SetTagValue( const char* key, const TagLib::String tagString, - musik::core::sdk::ITagStore *track) + ITagStore *track) { std::string value(tagString.to8Bit(true)); track->SetValue(key, value.c_str()); @@ -574,16 +572,14 @@ void TaglibMetadataReader::SetTagValue( void TaglibMetadataReader::SetTagValue( const char* key, const char* string, - musik::core::sdk::ITagStore *track) + ITagStore *track) { std::string temp(string); track->SetValue(key, temp.c_str()); } void TaglibMetadataReader::SetTagValue( - const char* key, - const int tagInt, - musik::core::sdk::ITagStore *target) + const char* key, const int tagInt, ITagStore *target) { std::string temp = boost::str(boost::format("%1%") % tagInt); target->SetValue(key, temp.c_str()); @@ -592,7 +588,7 @@ void TaglibMetadataReader::SetTagValue( void TaglibMetadataReader::SetTagValues( const char* key, const TagLib::ID3v2::FrameList &frame, - musik::core::sdk::ITagStore *target) + ITagStore *target) { if (!frame.isEmpty()) { TagLib::ID3v2::FrameList::ConstIterator value = frame.begin(); @@ -608,9 +604,7 @@ void TaglibMetadataReader::SetTagValues( } void TaglibMetadataReader::SetSlashSeparatedValues( - const char* key, - TagLib::String tagString, - musik::core::sdk::ITagStore *track) + const char* key, TagLib::String tagString, ITagStore *track) { if(!tagString.isEmpty()) { std::string value(tagString.to8Bit(true)); @@ -628,7 +622,7 @@ void TaglibMetadataReader::SetSlashSeparatedValues( void TaglibMetadataReader::SetSlashSeparatedValues( const char* key, const TagLib::ID3v2::FrameList &frame, - musik::core::sdk::ITagStore *track) + ITagStore *track) { if(!frame.isEmpty()) { TagLib::ID3v2::FrameList::ConstIterator value = frame.begin(); @@ -640,27 +634,21 @@ void TaglibMetadataReader::SetSlashSeparatedValues( } void TaglibMetadataReader::SetAudioProperties( - TagLib::AudioProperties *audioProperties, - musik::core::sdk::ITagStore *track) + TagLib::AudioProperties *audioProperties, ITagStore *track) { - /* FIXME: it's overkill to bring boost in just to convert ints to strings */ - if (audioProperties) { - std::string duration = boost::str(boost::format("%1%") % audioProperties->length()); - this->SetTagValue("duration", duration, track); - + std::string duration = std::to_string(audioProperties->length()); int bitrate = audioProperties->bitrate(); - - if(bitrate) { - std::string temp(boost::str(boost::format("%1%") % bitrate)); - this->SetTagValue("bitrate", temp, track); - } - int channels = audioProperties->channels(); - if(channels) { - std::string temp(boost::str(boost::format("%1%") % channels)); - this->SetTagValue("channels", temp, track); + this->SetTagValue("duration", duration, track); + + if (bitrate) { + this->SetTagValue("bitrate", std::to_string(bitrate), track); + } + + if (channels) { + this->SetTagValue("channels", std::to_string(channels), track); } } } From b7157b768e86b385f6303ababd3e1fc21192de55 Mon Sep 17 00:00:00 2001 From: casey langen Date: Sun, 17 Dec 2017 11:48:49 -0800 Subject: [PATCH 16/19] Updated replay gain readout in the setting screen to display the current mode. Also added some missing exception handling in PreferencesKeys. --- src/core/audio/PlaybackService.cpp | 14 ++++++----- src/core/support/PreferenceKeys.h | 8 +++++++ src/core/support/Preferences.cpp | 15 ++++++++---- src/musikcube/app/layout/SettingsLayout.cpp | 19 +++++++++++++-- .../app/overlay/PlaybackOverlays.cpp | 24 ++++++++----------- src/musikcube/app/overlay/PlaybackOverlays.h | 2 +- src/musikcube/data/locales/en_US.json | 2 +- 7 files changed, 56 insertions(+), 28 deletions(-) diff --git a/src/core/audio/PlaybackService.cpp b/src/core/audio/PlaybackService.cpp index 6c1e14cdf..2ae7bcf57 100755 --- a/src/core/audio/PlaybackService.cpp +++ b/src/core/audio/PlaybackService.cpp @@ -988,18 +988,20 @@ std::string PlaybackService::UriAtIndex(size_t index) { } float PlaybackService::ReplayGainAtIndex(size_t index) { + using Mode = values::ReplayGainMode; + float result = 1.0f; - std::string mode = prefs->GetString(keys::ReplayGainMode, "disabled"); - if (mode != "disabled" && index < this->playlist.Count()) { + values::ReplayGainMode mode = (Mode) + prefs->GetInt(keys::ReplayGainMode.c_str(), (int) Mode::Disabled); + + if (mode != Mode::Disabled && index < this->playlist.Count()) { int64_t id = this->playlist.Get(index)->GetId(); auto query = std::make_shared(id); if (this->library->Enqueue(query, ILibrary::QuerySynchronous)) { auto rg = query->GetResult(); - - float gain = (mode == "album") ? rg->albumGain : rg->trackGain; - float peak = (mode == "album") ? rg->albumPeak : rg->trackPeak; - + float gain = (mode == Mode::Album) ? rg->albumGain : rg->trackGain; + float peak = (mode == Mode::Album) ? rg->albumPeak : rg->trackPeak; if (gain != 1.0f) { /* http://wiki.hydrogenaud.io/index.php?title=ReplayGain_2.0_specification#Reduced_gain */ result = std::min(powf(10, (gain / 20)), (1 / peak)); diff --git a/src/core/support/PreferenceKeys.h b/src/core/support/PreferenceKeys.h index e3b4cd0e1..f3125f620 100644 --- a/src/core/support/PreferenceKeys.h +++ b/src/core/support/PreferenceKeys.h @@ -60,5 +60,13 @@ namespace musik { namespace core { namespace prefs { extern const std::string ReplayGainMode; } + namespace values { + enum class ReplayGainMode: int { + Disabled = 0, + Track = 1, + Album = 2 + }; + } + } } } diff --git a/src/core/support/Preferences.cpp b/src/core/support/Preferences.cpp index 937394cbd..98f304971 100644 --- a/src/core/support/Preferences.cpp +++ b/src/core/support/Preferences.cpp @@ -184,12 +184,19 @@ void Preferences::Release() { } #define RETURN_VALUE(defaultValue) \ - auto it = json.find(key); \ - if (it == json.end()) { \ - json[key] = defaultValue; \ +{ \ + try { \ + auto it = json.find(key); \ + if (it == json.end()) { \ + json[key] = defaultValue; \ + return defaultValue; \ + } \ + return it.value(); \ + } \ + catch (...) { \ return defaultValue; \ } \ - return it.value(); +} bool Preferences::GetBool(const std::string& key, bool defaultValue) { const char* p = key.c_str(); diff --git a/src/musikcube/app/layout/SettingsLayout.cpp b/src/musikcube/app/layout/SettingsLayout.cpp index a96954366..b14decc05 100755 --- a/src/musikcube/app/layout/SettingsLayout.cpp +++ b/src/musikcube/app/layout/SettingsLayout.cpp @@ -114,6 +114,20 @@ static std::string getOutputDeviceName() { return deviceName; } +static std::string getReplayGainMode() { + using Mode = core::prefs::values::ReplayGainMode; + + auto prefs = Preferences::ForComponent(core::prefs::components::Playback); + Mode mode = (Mode) prefs->GetInt(core::prefs::keys::ReplayGainMode.c_str(), (int) Mode::Disabled); + switch (mode) { + case Mode::Disabled: return _TSTR("settings_replay_gain_mode_disabled"); + case Mode::Album: return _TSTR("settings_replay_gain_mode_album"); + case Mode::Track: return _TSTR("settings_replay_gain_mode_track"); + } + + return _TSTR("settings_replay_gain_mode_disabled"); +} + SettingsLayout::SettingsLayout( cursespp::App& app, musik::core::ILibraryPtr library, @@ -214,7 +228,7 @@ void SettingsLayout::OnOutputDeviceDropdownActivated(cursespp::TextLabel* label) } void SettingsLayout::OnReplayGainDropdownActivated(cursespp::TextLabel* label) { - PlaybackOverlays::ShowReplayGainOverlay(); + PlaybackOverlays::ShowReplayGainOverlay([this]() { this->LoadPreferences(); }); } void SettingsLayout::OnTransportDropdownActivate(cursespp::TextLabel* label) { @@ -597,7 +611,8 @@ void SettingsLayout::LoadPreferences() { this->outputDeviceDropdown->SetText(arrow + _TSTR("settings_output_device") + deviceName); /* replay gain */ - this->replayGainDropdown->SetText(arrow + _TSTR("settings_replay_gain")); + std::string replayGainMode = getReplayGainMode(); + this->replayGainDropdown->SetText(arrow + _TSTR("settings_replay_gain") + replayGainMode); /* transport type */ std::string transportName = diff --git a/src/musikcube/app/overlay/PlaybackOverlays.cpp b/src/musikcube/app/overlay/PlaybackOverlays.cpp index bbd609688..06b9a40b0 100644 --- a/src/musikcube/app/overlay/PlaybackOverlays.cpp +++ b/src/musikcube/app/overlay/PlaybackOverlays.cpp @@ -263,14 +263,10 @@ void PlaybackOverlays::ShowTransportOverlay( cursespp::App::Overlays().Push(dialog); } -void PlaybackOverlays::ShowReplayGainOverlay() { +void PlaybackOverlays::ShowReplayGainOverlay(std::function callback) { using Adapter = cursespp::SimpleScrollAdapter; using ListOverlay = cursespp::ListOverlay; - /* eh... probably don't need to overthink this... */ - static std::map indexToValue = { {0, "disabled"}, {1, "track"}, {2, "album"} }; - static std::map valueToIndex = { {"disabled", 0}, {"track", 1}, {"album", 2} }; - std::shared_ptr adapter(new Adapter()); adapter->AddEntry(_TSTR("settings_replay_gain_mode_disabled")); adapter->AddEntry(_TSTR("settings_replay_gain_mode_track")); @@ -278,23 +274,23 @@ void PlaybackOverlays::ShowReplayGainOverlay() { adapter->SetSelectable(true); auto prefs = Preferences::ForComponent(prefs::components::Playback); - auto current = prefs->GetString(prefs::keys::ReplayGainMode, "default"); - auto end = valueToIndex.end(); - size_t selectedIndex = valueToIndex.find(current) != end ? valueToIndex[current] : 0; + auto selectedIndex = prefs->GetInt( + prefs::keys::ReplayGainMode.c_str(), + (int) prefs::values::ReplayGainMode::Disabled); std::shared_ptr dialog(new ListOverlay()); dialog->SetAdapter(adapter) .SetTitle(_TSTR("settings_replay_gain_title")) - .SetSelectedIndex(selectedIndex) + .SetSelectedIndex((size_t) selectedIndex) .SetItemSelectedCallback( - [prefs](ListOverlay* overlay, IScrollAdapterPtr adapter, size_t index) { - prefs->SetString( - prefs::keys::ReplayGainMode.c_str(), - indexToValue[index].c_str()); - + [callback, prefs](ListOverlay* overlay, IScrollAdapterPtr adapter, size_t index) { + prefs->SetInt(prefs::keys::ReplayGainMode.c_str(), (int) index); prefs->Save(); + if (callback) { + callback(); + } }); cursespp::App::Overlays().Push(dialog); diff --git a/src/musikcube/app/overlay/PlaybackOverlays.h b/src/musikcube/app/overlay/PlaybackOverlays.h index fbaf453c2..70159ed31 100644 --- a/src/musikcube/app/overlay/PlaybackOverlays.h +++ b/src/musikcube/app/overlay/PlaybackOverlays.h @@ -51,7 +51,7 @@ namespace musik { musik::glue::audio::MasterTransport::Type transportType, std::function callback); - static void ShowReplayGainOverlay(); + static void ShowReplayGainOverlay(std::function callback); private: PlaybackOverlays(); diff --git a/src/musikcube/data/locales/en_US.json b/src/musikcube/data/locales/en_US.json index 72625c98c..c6deb557a 100644 --- a/src/musikcube/data/locales/en_US.json +++ b/src/musikcube/data/locales/en_US.json @@ -62,7 +62,7 @@ "settings_server_invalid_settings_title": "invalid settings", "settings_server_invalid_settings_message": "invalid or missing settings. please check the values and try again.", - "settings_replay_gain": "replay gain", + "settings_replay_gain": "replay gain: ", "settings_replay_gain_title": "replay gain mode", "settings_replay_gain_mode_disabled": "disabled", "settings_replay_gain_mode_track": "track", From debe708bec5a7a69296f94a6231b54b8df3e6d70 Mon Sep 17 00:00:00 2001 From: casey langen Date: Sun, 17 Dec 2017 21:18:17 -0800 Subject: [PATCH 17/19] Added core work required for preamp support. --- src/core/audio/CrossfadeTransport.cpp | 8 +++--- src/core/audio/CrossfadeTransport.h | 6 ++-- src/core/audio/GaplessTransport.cpp | 4 +-- src/core/audio/GaplessTransport.h | 4 +-- src/core/audio/ITransport.h | 7 +++-- src/core/audio/PlaybackService.cpp | 33 +++++++++++++++------- src/core/audio/PlaybackService.h | 2 +- src/core/audio/Player.cpp | 14 +++++---- src/core/audio/Player.h | 13 +++++++-- src/core/support/PreferenceKeys.cpp | 1 + src/core/support/PreferenceKeys.h | 1 + src/glue/audio/MasterTransport.cpp | 4 +-- src/glue/audio/MasterTransport.h | 4 +-- src/musikcube/app/layout/ConsoleLayout.cpp | 2 +- 14 files changed, 65 insertions(+), 38 deletions(-) diff --git a/src/core/audio/CrossfadeTransport.cpp b/src/core/audio/CrossfadeTransport.cpp index bdb0294c0..89d3ec6dc 100644 --- a/src/core/audio/CrossfadeTransport.cpp +++ b/src/core/audio/CrossfadeTransport.cpp @@ -69,12 +69,12 @@ PlaybackState CrossfadeTransport::GetPlaybackState() { return this->state; } -void CrossfadeTransport::PrepareNextTrack(const std::string& trackUrl, float gain) { +void CrossfadeTransport::PrepareNextTrack(const std::string& trackUrl, Gain gain) { Lock lock(this->stateMutex); this->next.Reset(trackUrl, this, gain); } -void CrossfadeTransport::Start(const std::string& url, float gain) { +void CrossfadeTransport::Start(const std::string& url, Gain gain) { { Lock lock(this->stateMutex); @@ -378,13 +378,13 @@ void CrossfadeTransport::PlayerContext::StopIf(Player* player) { } void CrossfadeTransport::PlayerContext::Reset() { - this->Reset("", nullptr, 1.0f); + this->Reset("", nullptr, Gain()); } void CrossfadeTransport::PlayerContext::Reset( const std::string& url, Player::EventListener* listener, - float gain) + Gain gain) { if (this->player && this->output) { this->player->Detach(&this->transport); diff --git a/src/core/audio/CrossfadeTransport.h b/src/core/audio/CrossfadeTransport.h index bb2988048..5078a282b 100644 --- a/src/core/audio/CrossfadeTransport.h +++ b/src/core/audio/CrossfadeTransport.h @@ -60,8 +60,8 @@ namespace musik { namespace core { namespace audio { void StopImmediately(); - virtual void Start(const std::string& trackUrl, float gain); - virtual void PrepareNextTrack(const std::string& trackUrl, float gain); + virtual void Start(const std::string& trackUrl, Gain gain); + virtual void PrepareNextTrack(const std::string& trackUrl, Gain gain); virtual void Stop(); virtual bool Pause(); @@ -100,7 +100,7 @@ namespace musik { namespace core { namespace audio { void Reset( const std::string& url, Player::EventListener* listener, - float gain); + Gain gain); void TransferTo(PlayerContext& context); diff --git a/src/core/audio/GaplessTransport.cpp b/src/core/audio/GaplessTransport.cpp index 11716a336..c05cb3bb7 100644 --- a/src/core/audio/GaplessTransport.cpp +++ b/src/core/audio/GaplessTransport.cpp @@ -80,7 +80,7 @@ PlaybackState GaplessTransport::GetPlaybackState() { return this->state; } -void GaplessTransport::PrepareNextTrack(const std::string& trackUrl, float gain) { +void GaplessTransport::PrepareNextTrack(const std::string& trackUrl, Gain gain) { bool startNext = false; { LockT lock(this->stateMutex); @@ -98,7 +98,7 @@ void GaplessTransport::PrepareNextTrack(const std::string& trackUrl, float gain) } } -void GaplessTransport::Start(const std::string& url, float gain) { +void GaplessTransport::Start(const std::string& url, Gain gain) { musik::debug::info(TAG, "we were asked to start the track at " + url); Player* newPlayer = Player::Create(url, this->output, Player::NoDrain, this, gain); diff --git a/src/core/audio/GaplessTransport.h b/src/core/audio/GaplessTransport.h index 77bcbe454..7e754270c 100644 --- a/src/core/audio/GaplessTransport.h +++ b/src/core/audio/GaplessTransport.h @@ -53,8 +53,8 @@ namespace musik { namespace core { namespace audio { GaplessTransport(); virtual ~GaplessTransport(); - virtual void Start(const std::string& trackUrl, float gain = 1.0f); - virtual void PrepareNextTrack(const std::string& trackUrl, float gain = 1.0f); + virtual void Start(const std::string& trackUrl, Gain gain); + virtual void PrepareNextTrack(const std::string& trackUrl, Gain gain); virtual void Stop(); virtual bool Pause(); diff --git a/src/core/audio/ITransport.h b/src/core/audio/ITransport.h index 923f45894..7ac060913 100755 --- a/src/core/audio/ITransport.h +++ b/src/core/audio/ITransport.h @@ -36,12 +36,15 @@ #include #include +#include #include namespace musik { namespace core { namespace audio { class ITransport { public: + using Gain = Player::Gain; + sigslot::signal2 StreamEvent; sigslot::signal1 PlaybackEvent; sigslot::signal0<> VolumeChanged; @@ -49,8 +52,8 @@ namespace musik { namespace core { namespace audio { virtual ~ITransport() { } - virtual void Start(const std::string& trackUrl, float gain = 1.0f) = 0; - virtual void PrepareNextTrack(const std::string& trackUrl, float gain = 1.0f) = 0; + virtual void Start(const std::string& trackUrl, Gain gain) = 0; + virtual void PrepareNextTrack(const std::string& trackUrl, Gain gain) = 0; virtual void Stop() = 0; virtual bool Pause() = 0; diff --git a/src/core/audio/PlaybackService.cpp b/src/core/audio/PlaybackService.cpp index 2ae7bcf57..d82821d69 100755 --- a/src/core/audio/PlaybackService.cpp +++ b/src/core/audio/PlaybackService.cpp @@ -182,7 +182,9 @@ void PlaybackService::PrepareNextTrack() { /* repeat track, just keep playing the same thing over and over */ if (this->repeatMode == RepeatTrack) { this->nextIndex = this->index; - this->transport.PrepareNextTrack(this->UriAtIndex(this->index)); + this->transport.PrepareNextTrack( + this->UriAtIndex(this->index), + this->GainAtIndex(this->index)); } else { /* annoying and confusing special case -- the user edited the @@ -192,26 +194,32 @@ void PlaybackService::PrepareNextTrack() { if (this->playlist.Count() > 0) { this->index = NO_POSITION; this->nextIndex = 0; - this->transport.PrepareNextTrack(this->UriAtIndex(nextIndex)); + this->transport.PrepareNextTrack( + this->UriAtIndex(nextIndex), + this->GainAtIndex(nextIndex)); } } /* normal case, just move forward */ else if (this->playlist.Count() > this->index + 1) { if (this->nextIndex != this->index + 1) { this->nextIndex = this->index + 1; - this->transport.PrepareNextTrack(this->UriAtIndex(nextIndex)); + this->transport.PrepareNextTrack( + this->UriAtIndex(nextIndex), + this->GainAtIndex(nextIndex)); } } /* repeat list case, wrap around to the beginning if necessary */ else if (this->repeatMode == RepeatList) { if (this->nextIndex != 0) { this->nextIndex = 0; - this->transport.PrepareNextTrack(this->UriAtIndex(nextIndex)); + this->transport.PrepareNextTrack( + this->UriAtIndex(nextIndex), + this->GainAtIndex(nextIndex)); } } else { /* nothing to prepare if we get here. */ - this->transport.PrepareNextTrack(""); + this->transport.PrepareNextTrack("", ITransport::Gain()); } } } @@ -291,7 +299,7 @@ void PlaybackService::ProcessMessage(IMessage &message) { quickly. make compare the track URIs before we update internal state. */ if (this->nextIndex >= this->Count()) { this->nextIndex = NO_POSITION; - this->transport.PrepareNextTrack(""); + this->transport.PrepareNextTrack("", ITransport::Gain()); return; } @@ -628,7 +636,7 @@ void PlaybackService::Play(size_t index) { if (uri.size()) { transport.Start( this->UriAtIndex(index), - this->ReplayGainAtIndex(index)); + this->GainAtIndex(index)); this->nextIndex = NO_POSITION; this->index = index; @@ -987,10 +995,13 @@ std::string PlaybackService::UriAtIndex(size_t index) { return ""; } -float PlaybackService::ReplayGainAtIndex(size_t index) { +ITransport::Gain PlaybackService::GainAtIndex(size_t index) { using Mode = values::ReplayGainMode; - float result = 1.0f; + ITransport::Gain result; + + float preampDb = (float) prefs->GetDouble(keys::PreampDecibels.c_str(), 0.0f); + result.preamp = powf(10.0f, (preampDb / 20.0f)); values::ReplayGainMode mode = (Mode) prefs->GetInt(keys::ReplayGainMode.c_str(), (int) Mode::Disabled); @@ -1004,7 +1015,9 @@ float PlaybackService::ReplayGainAtIndex(size_t index) { float peak = (mode == Mode::Album) ? rg->albumPeak : rg->trackPeak; if (gain != 1.0f) { /* http://wiki.hydrogenaud.io/index.php?title=ReplayGain_2.0_specification#Reduced_gain */ - result = std::min(powf(10, (gain / 20)), (1 / peak)); + result.gain = powf(10.0f, (gain / 20.0f)); + result.peak = (1.0f / peak); + result.preamp = 1.0f; } } } diff --git a/src/core/audio/PlaybackService.h b/src/core/audio/PlaybackService.h index 02a4286e4..dcd3194fa 100755 --- a/src/core/audio/PlaybackService.h +++ b/src/core/audio/PlaybackService.h @@ -180,7 +180,7 @@ namespace musik { namespace core { namespace audio { void ResetRemotes(); std::string UriAtIndex(size_t index); - float ReplayGainAtIndex(size_t index); + musik::core::audio::ITransport::Gain GainAtIndex(size_t index); musik::core::TrackList playlist; musik::core::TrackList unshuffled; diff --git a/src/core/audio/Player.cpp b/src/core/audio/Player.cpp index bccc38bde..e5f02d2c3 100644 --- a/src/core/audio/Player.cpp +++ b/src/core/audio/Player.cpp @@ -112,7 +112,7 @@ Player* Player::Create( std::shared_ptr output, DestroyMode destroyMode, EventListener *listener, - float gain) + Gain gain) { return new Player(url, output, destroyMode, listener, gain); } @@ -122,7 +122,7 @@ Player::Player( std::shared_ptr output, DestroyMode destroyMode, EventListener *listener, - float gain) + Gain gain) : state(Player::Idle) , url(url) , currentPosition(0) @@ -287,7 +287,11 @@ void musik::core::audio::playerThreadLoop(Player* player) { player->stream = Stream::Create(); Buffer* buffer = nullptr; - const float gain = player->gain; + + float gain = player->gain.preamp * player->gain.gain; + if (gain > 1.0f) { + gain = player->gain.peak; + } if (player->stream->OpenStream(player->url)) { for (Listener* l : player->Listeners()) { @@ -343,13 +347,11 @@ void musik::core::audio::playerThreadLoop(Player* player) { buffer = player->stream->GetNextProcessedOutputBuffer(); - /* apply replay gain, if coef is specified */ + /* apply replay gain, if specified */ if (gain != 1.0f) { float* samples = buffer->BufferPointer(); for (long i = 0; i < buffer->Samples(); i++) { samples[i] *= gain; - if (samples[i] > 1.0f) samples[i] = 1.0f; - else if (samples[i] < -1.0f) samples[i] = -1.0f; } } diff --git a/src/core/audio/Player.h b/src/core/audio/Player.h index 81a39afeb..f9f16cc6e 100644 --- a/src/core/audio/Player.h +++ b/src/core/audio/Player.h @@ -55,6 +55,13 @@ namespace musik { namespace core { namespace audio { public: enum DestroyMode { Drain, NoDrain }; + struct Gain { + Gain() { this->preamp = this->gain = this->peak = 1.0f; } + float preamp; + float gain; + float peak; + }; + struct EventListener { virtual void OnPlayerPrepared(Player *player) { } virtual void OnPlayerStarted(Player *player) { } @@ -70,7 +77,7 @@ namespace musik { namespace core { namespace audio { std::shared_ptr output, DestroyMode destroyMode, EventListener *listener, - float gain = 1.0f); + Gain gain = Gain()); virtual void OnBufferProcessed(musik::core::sdk::IBuffer *buffer); @@ -101,7 +108,7 @@ namespace musik { namespace core { namespace audio { std::shared_ptr output, DestroyMode finishMode, EventListener *listener, - float gain); + Gain gain); virtual ~Player(); @@ -155,8 +162,8 @@ namespace musik { namespace core { namespace audio { bool notifiedStarted; float* spectrum; DestroyMode destroyMode; + Gain gain; int pendingBufferCount; - float gain; FftContext* fftContext; }; diff --git a/src/core/support/PreferenceKeys.cpp b/src/core/support/PreferenceKeys.cpp index 11aba7c6c..28a97b79d 100644 --- a/src/core/support/PreferenceKeys.cpp +++ b/src/core/support/PreferenceKeys.cpp @@ -54,6 +54,7 @@ namespace musik { namespace core { namespace prefs { const std::string keys::Locale = "Locale"; const std::string keys::IndexerLogEnabled = "IndexerLogEnabled"; const std::string keys::ReplayGainMode = "ReplayGainMode"; + const std::string keys::PreampDecibels = "PreampDecibels"; } } } diff --git a/src/core/support/PreferenceKeys.h b/src/core/support/PreferenceKeys.h index f3125f620..abcd590a8 100644 --- a/src/core/support/PreferenceKeys.h +++ b/src/core/support/PreferenceKeys.h @@ -58,6 +58,7 @@ namespace musik { namespace core { namespace prefs { extern const std::string Locale; extern const std::string IndexerLogEnabled; extern const std::string ReplayGainMode; + extern const std::string PreampDecibels; } namespace values { diff --git a/src/glue/audio/MasterTransport.cpp b/src/glue/audio/MasterTransport.cpp index 060a4106c..fed2a7bb7 100644 --- a/src/glue/audio/MasterTransport.cpp +++ b/src/glue/audio/MasterTransport.cpp @@ -105,11 +105,11 @@ MasterTransport::Type MasterTransport::GetType() { return this->type; } -void MasterTransport::PrepareNextTrack(const std::string& trackUrl, float gain) { +void MasterTransport::PrepareNextTrack(const std::string& trackUrl, Gain gain) { this->transport->PrepareNextTrack(trackUrl, gain); } -void MasterTransport::Start(const std::string& trackUrl, float gain) { +void MasterTransport::Start(const std::string& trackUrl, Gain gain) { this->transport->Start(trackUrl, gain); } diff --git a/src/glue/audio/MasterTransport.h b/src/glue/audio/MasterTransport.h index 5ccb42937..79a49e43d 100644 --- a/src/glue/audio/MasterTransport.h +++ b/src/glue/audio/MasterTransport.h @@ -48,8 +48,8 @@ namespace musik { namespace glue { namespace audio { MasterTransport(); virtual ~MasterTransport(); - virtual void Start(const std::string& trackUrl, float gain); - virtual void PrepareNextTrack(const std::string& trackUrl, float gain); + virtual void Start(const std::string& trackUrl, Gain gain); + virtual void PrepareNextTrack(const std::string& trackUrl, Gain gain); virtual void Stop(); virtual bool Pause(); diff --git a/src/musikcube/app/layout/ConsoleLayout.cpp b/src/musikcube/app/layout/ConsoleLayout.cpp index 9f800f95e..3cc91c7ed 100755 --- a/src/musikcube/app/layout/ConsoleLayout.cpp +++ b/src/musikcube/app/layout/ConsoleLayout.cpp @@ -298,7 +298,7 @@ bool ConsoleLayout::ProcessCommand(const std::string& cmd) { bool ConsoleLayout::PlayFile(const std::vector& args) { if (args.size() > 0) { std::string filename = boost::algorithm::join(args, " "); - transport.Start(filename); + transport.Start(filename, ITransport::Gain()); return true; } From ba0e110e1b6aa0036c90fc0ee8a182b08b3c643a Mon Sep 17 00:00:00 2001 From: casey langen Date: Mon, 18 Dec 2017 00:18:46 -0800 Subject: [PATCH 18/19] Added a new "PreampOverlay" that allows the user to configure not only replay gain support, but generic preamp functionality as well. --- src/core/audio/PlaybackService.cpp | 3 +- src/core/audio/Player.cpp | 2 +- src/core/audio/Player.h | 6 +- src/musikcube/CMakeLists.txt | 1 + src/musikcube/app/layout/SettingsLayout.cpp | 20 +- src/musikcube/app/overlay/PreampOverlay.cpp | 271 ++++++++++++++++++++ src/musikcube/app/overlay/PreampOverlay.h | 82 ++++++ src/musikcube/app/overlay/ServerOverlay.cpp | 11 +- src/musikcube/cursespp/TextInput.cpp | 16 +- src/musikcube/cursespp/TextInput.h | 2 + src/musikcube/cursespp/TextLabel.cpp | 22 +- src/musikcube/cursespp/TextLabel.h | 4 +- src/musikcube/data/locales/en_US.json | 8 +- src/musikcube/musikcube.vcxproj | 2 + src/musikcube/musikcube.vcxproj.filters | 6 + 15 files changed, 424 insertions(+), 32 deletions(-) create mode 100644 src/musikcube/app/overlay/PreampOverlay.cpp create mode 100644 src/musikcube/app/overlay/PreampOverlay.h diff --git a/src/core/audio/PlaybackService.cpp b/src/core/audio/PlaybackService.cpp index d82821d69..e7b4164c1 100755 --- a/src/core/audio/PlaybackService.cpp +++ b/src/core/audio/PlaybackService.cpp @@ -1002,6 +1002,7 @@ ITransport::Gain PlaybackService::GainAtIndex(size_t index) { float preampDb = (float) prefs->GetDouble(keys::PreampDecibels.c_str(), 0.0f); result.preamp = powf(10.0f, (preampDb / 20.0f)); + result.peakValid = false; values::ReplayGainMode mode = (Mode) prefs->GetInt(keys::ReplayGainMode.c_str(), (int) Mode::Disabled); @@ -1017,7 +1018,7 @@ ITransport::Gain PlaybackService::GainAtIndex(size_t index) { /* http://wiki.hydrogenaud.io/index.php?title=ReplayGain_2.0_specification#Reduced_gain */ result.gain = powf(10.0f, (gain / 20.0f)); result.peak = (1.0f / peak); - result.preamp = 1.0f; + result.peakValid = true; } } } diff --git a/src/core/audio/Player.cpp b/src/core/audio/Player.cpp index e5f02d2c3..ca15ddb9c 100644 --- a/src/core/audio/Player.cpp +++ b/src/core/audio/Player.cpp @@ -289,7 +289,7 @@ void musik::core::audio::playerThreadLoop(Player* player) { Buffer* buffer = nullptr; float gain = player->gain.preamp * player->gain.gain; - if (gain > 1.0f) { + if (gain > 1.0f && player->gain.peakValid) { gain = player->gain.peak; } diff --git a/src/core/audio/Player.h b/src/core/audio/Player.h index f9f16cc6e..87a2c055d 100644 --- a/src/core/audio/Player.h +++ b/src/core/audio/Player.h @@ -56,10 +56,14 @@ namespace musik { namespace core { namespace audio { enum DestroyMode { Drain, NoDrain }; struct Gain { - Gain() { this->preamp = this->gain = this->peak = 1.0f; } + Gain() { + this->preamp = this->gain = this->peak = 1.0f; + this->peakValid = false; + } float preamp; float gain; float peak; + bool peakValid; }; struct EventListener { diff --git a/src/musikcube/CMakeLists.txt b/src/musikcube/CMakeLists.txt index d8523e56b..0a85503f2 100644 --- a/src/musikcube/CMakeLists.txt +++ b/src/musikcube/CMakeLists.txt @@ -15,6 +15,7 @@ set (CUBE_SRCS ./app/overlay/PlaybackOverlays.cpp ./app/overlay/PlayQueueOverlays.cpp ./app/overlay/PluginOverlay.cpp + ./app/overlay/PreampOverlay.cpp ./app/overlay/ServerOverlay.cpp ./app/overlay/VisualizerOverlay.cpp ./app/util/Hotkeys.cpp diff --git a/src/musikcube/app/layout/SettingsLayout.cpp b/src/musikcube/app/layout/SettingsLayout.cpp index b14decc05..ee3b37087 100755 --- a/src/musikcube/app/layout/SettingsLayout.cpp +++ b/src/musikcube/app/layout/SettingsLayout.cpp @@ -55,6 +55,7 @@ #include #include #include +#include #include @@ -114,20 +115,6 @@ static std::string getOutputDeviceName() { return deviceName; } -static std::string getReplayGainMode() { - using Mode = core::prefs::values::ReplayGainMode; - - auto prefs = Preferences::ForComponent(core::prefs::components::Playback); - Mode mode = (Mode) prefs->GetInt(core::prefs::keys::ReplayGainMode.c_str(), (int) Mode::Disabled); - switch (mode) { - case Mode::Disabled: return _TSTR("settings_replay_gain_mode_disabled"); - case Mode::Album: return _TSTR("settings_replay_gain_mode_album"); - case Mode::Track: return _TSTR("settings_replay_gain_mode_track"); - } - - return _TSTR("settings_replay_gain_mode_disabled"); -} - SettingsLayout::SettingsLayout( cursespp::App& app, musik::core::ILibraryPtr library, @@ -228,7 +215,7 @@ void SettingsLayout::OnOutputDeviceDropdownActivated(cursespp::TextLabel* label) } void SettingsLayout::OnReplayGainDropdownActivated(cursespp::TextLabel* label) { - PlaybackOverlays::ShowReplayGainOverlay([this]() { this->LoadPreferences(); }); + PreampOverlay::Show([this]() { this->LoadPreferences(); }); } void SettingsLayout::OnTransportDropdownActivate(cursespp::TextLabel* label) { @@ -611,8 +598,7 @@ void SettingsLayout::LoadPreferences() { this->outputDeviceDropdown->SetText(arrow + _TSTR("settings_output_device") + deviceName); /* replay gain */ - std::string replayGainMode = getReplayGainMode(); - this->replayGainDropdown->SetText(arrow + _TSTR("settings_replay_gain") + replayGainMode); + this->replayGainDropdown->SetText(arrow + _TSTR("settings_preamp")); /* transport type */ std::string transportName = diff --git a/src/musikcube/app/overlay/PreampOverlay.cpp b/src/musikcube/app/overlay/PreampOverlay.cpp new file mode 100644 index 000000000..92bb9dfcb --- /dev/null +++ b/src/musikcube/app/overlay/PreampOverlay.cpp @@ -0,0 +1,271 @@ +////////////////////////////////////////////////////////////////////////////// +// +// Copyright (c) 2007-2017 musikcube team +// +// All rights reserved. +// +// 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. +// +// * Neither the name of the author nor the names of other contributors may +// be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// 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. +// +////////////////////////////////////////////////////////////////////////////// + +#include "stdafx.h" + +#include "PreampOverlay.h" +#include "PlaybackOverlays.h" + +#include +#include + +#include + +#include +#include +#include + +using namespace musik; +using namespace musik::core; +using namespace musik::core::sdk; +using namespace musik::cube; +using namespace cursespp; + +#define VERTICAL_PADDING 2 +#define DEFAULT_HEIGHT 8 +#define DEFAULT_WIDTH 40 +#define INPUT_LENGTH 7 +#define ARROW std::string("> ") + +static void applyLabelOverlayStyle(TextLabel& label) { + label.SetContentColor(CURSESPP_OVERLAY_CONTENT); + label.SetFocusedContentColor(CURSESPP_OVERLAY_TEXT_FOCUSED); +} + +static void applyInputOverlayStyle(TextInput& input) { + if (input.GetStyle() == TextInput::StyleBox) { + input.SetFrameColor(CURSESPP_OVERLAY_FRAME); + input.SetContentColor(CURSESPP_OVERLAY_CONTENT); + input.SetFocusedFrameColor(CURSESPP_OVERLAY_INPUT_FRAME); + input.SetFocusedContentColor(CURSESPP_OVERLAY_CONTENT); + } + else { + input.SetContentColor(CURSESPP_OVERLAY_CONTENT); + input.SetFocusedContentColor(CURSESPP_OVERLAY_TEXT_FOCUSED); + } +} + +#define RIGHT(x) (x->GetX() + x->GetWidth()) +#define TEXT_WIDTH(x) ((int) u8cols(x->GetText())) +#define INVALID_PREAMP_GAIN -999.9f +#define MIN_PREAMP_GAIN -20.0f +#define MAX_PREAMP_GAIN 20.0f + +using Callback = PreampOverlay::Callback; + +static std::string getReplayGainMode(std::shared_ptr prefs) { + using Mode = core::prefs::values::ReplayGainMode; + + Mode mode = (Mode)prefs->GetInt(core::prefs::keys::ReplayGainMode.c_str(), (int)Mode::Disabled); + switch (mode) { + case Mode::Disabled: return _TSTR("settings_replay_gain_mode_disabled"); + case Mode::Album: return _TSTR("settings_replay_gain_mode_album"); + case Mode::Track: return _TSTR("settings_replay_gain_mode_track"); + } + + return _TSTR("settings_replay_gain_mode_disabled"); +} + +static void showInvalidGainDialog() { + std::shared_ptr dialog(new DialogOverlay()); + + (*dialog) + .SetTitle(_TSTR("settings_preamp_invalid_gain_title")) + .SetMessage(_TSTR("settings_preamp_invalid_gain_message")) + .AddButton("KEY_ENTER", "ENTER", _TSTR("button_ok")); + + App::Overlays().Push(dialog); +} + +template +static std::string strToFloat(const T value, const int n = 1) { + std::ostringstream out; + out << std::fixed << std::setprecision(n) << value; + return out.str(); +} + +static float getFloatFromTextInput(TextInput* input) { + const std::string value = input->GetText(); + if (value.size()) { + try { + return std::stof(value); + } + catch (...) { + /* swallow */ + } + } + return INVALID_PREAMP_GAIN; +} + +PreampOverlay::PreampOverlay(Callback callback) + : OverlayBase() +{ + this->callback = callback; + this->prefs = Preferences::ForComponent(prefs::components::Playback); + this->width = this->height = 0; + + this->SetFrameVisible(true); + this->SetFrameColor(CURSESPP_OVERLAY_FRAME); + this->SetContentColor(CURSESPP_OVERLAY_CONTENT); + + this->InitViews(); + this->Load(); +} + +void PreampOverlay::InitViews() { + /* title */ + this->titleLabel.reset(new TextLabel()); + this->titleLabel->SetText(_TSTR("settings_preamp"), text::AlignCenter); + this->titleLabel->SetBold(true); + + /* shortcuts */ + this->shortcuts.reset(new ShortcutsWindow()); + this->shortcuts->SetAlignment(text::AlignRight); + this->shortcuts->AddShortcut("ESC", _TSTR("button_cancel")); + this->shortcuts->AddShortcut("M-s", _TSTR("button_save")); + + /* preamp gain */ + this->preampLabel.reset(new TextLabel()); + this->preampLabel->SetText(_TSTR("settings_preamp_label"), text::AlignLeft); + this->preampInput.reset(new TextInput(TextInput::StyleLine)); + this->preampInput->SetTruncate(true); + + /* replay gain */ + std::string mode = getReplayGainMode(this->prefs); + this->replayGainDropdown.reset(new TextLabel()); + this->replayGainDropdown->SetText(ARROW + _TSTR("settings_replay_gain") + mode); + this->replayGainDropdown->Activated.connect(this, &PreampOverlay::OnReplayGainPressed); + + /* style 'em */ + applyLabelOverlayStyle(*this->titleLabel); + applyLabelOverlayStyle(*this->preampLabel); + applyInputOverlayStyle(*this->preampInput); + applyLabelOverlayStyle(*this->replayGainDropdown); + + /* add 'em */ + this->AddWindow(this->titleLabel); + this->AddWindow(this->preampLabel); + this->AddWindow(this->preampInput); + this->AddWindow(this->replayGainDropdown); + this->AddWindow(this->shortcuts); + + /* focus order */ + int order = 0; + this->preampInput->SetFocusOrder(order++); + this->replayGainDropdown->SetFocusOrder(order++); +} + +void PreampOverlay::Layout() { + this->RecalculateSize(); + this->MoveAndResize(this->x, this->y, this->width, this->height); + + auto clientHeight = this->GetContentHeight(); + auto clientWidth = this->GetContentWidth(); + + this->titleLabel->MoveAndResize(0, 0, clientWidth, 1); + this->shortcuts->MoveAndResize(0, clientHeight - 1, clientWidth, 1); + + int x = 1; + int y = 2; + clientWidth -= 2; + + const int preampLabelWidth = TEXT_WIDTH(this->preampLabel); + this->preampLabel->MoveAndResize(x, y, preampLabelWidth, 1); + this->preampInput->MoveAndResize(x + preampLabelWidth + 1, y, INPUT_LENGTH, 1); + y++; + + this->replayGainDropdown->MoveAndResize(x, y, clientWidth, 1); +} + +void PreampOverlay::OnReplayGainPressed(cursespp::TextLabel* label) { + PlaybackOverlays::ShowReplayGainOverlay([this]() { this->Load(); }); +} + +void PreampOverlay::Show(Callback callback) { + std::shared_ptr overlay(new PreampOverlay(callback)); + App::Overlays().Push(overlay); +} + +void PreampOverlay::Load() { + std::string preampDb = strToFloat( + prefs->GetDouble(prefs::keys::PreampDecibels.c_str(), 0.0f)); + + if (preampDb.size() > INPUT_LENGTH) { + preampDb = preampDb.substr(0, INPUT_LENGTH); + } + + this->preampInput->SetText(preampDb); + + std::string mode = getReplayGainMode(this->prefs); + this->replayGainDropdown->SetText(ARROW + _TSTR("settings_replay_gain") + mode); + + this->Layout(); +} + +bool PreampOverlay::Save() { + float preampGain = getFloatFromTextInput(this->preampInput.get()); + + if (preampGain > MAX_PREAMP_GAIN || preampGain < MIN_PREAMP_GAIN) { + showInvalidGainDialog(); + return false; + } + + this->prefs->SetDouble(prefs::keys::PreampDecibels.c_str(), preampGain); + this->prefs->Save(); + + return true; +} + +bool PreampOverlay::KeyPress(const std::string& key) { + if (key == "^[") { /* esc closes */ + this->Dismiss(); + return true; + } + else if (key == "M-s") { + if (Save()) { + this->Dismiss(); + } + return true; + } + + return OverlayBase::KeyPress(key); +} + +void PreampOverlay::RecalculateSize() { + this->width = _DIMEN("server_overlay_width", DEFAULT_WIDTH); + this->height = std::max(0, std::min(Screen::GetHeight() - 2, DEFAULT_HEIGHT)); + this->width = std::max(0, std::min(Screen::GetWidth(), this->width)); + this->y = VERTICAL_PADDING; + this->x = (Screen::GetWidth() / 2) - (this->width / 2); +} \ No newline at end of file diff --git a/src/musikcube/app/overlay/PreampOverlay.h b/src/musikcube/app/overlay/PreampOverlay.h new file mode 100644 index 000000000..6f5596840 --- /dev/null +++ b/src/musikcube/app/overlay/PreampOverlay.h @@ -0,0 +1,82 @@ +////////////////////////////////////////////////////////////////////////////// +// +// Copyright (c) 2007-2017 musikcube team +// +// All rights reserved. +// +// 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. +// +// * Neither the name of the author nor the names of other contributors may +// be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// 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. +// +////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include + +#include +#include + +#include +#include +#include +#include +#include + +namespace musik { + namespace cube { + class PreampOverlay : public cursespp::OverlayBase, public sigslot::has_slots<> +#if (__clang_major__ == 7 && __clang_minor__ == 3) + , public std::enable_shared_from_this +#endif + { + public: + using Callback = std::function; + + static void Show(Callback callback); + + virtual void Layout(); + virtual bool KeyPress(const std::string& key); + + void OnReplayGainPressed(cursespp::TextLabel* label); + + private: + PreampOverlay(Callback callback); + + void RecalculateSize(); + void InitViews(); + bool Save(); + void Load(); + + Callback callback; + int width, height, x, y; + + std::shared_ptr prefs; + std::shared_ptr titleLabel, preampLabel, replayGainDropdown; + std::shared_ptr preampInput; + std::shared_ptr shortcuts; + }; + } +} diff --git a/src/musikcube/app/overlay/ServerOverlay.cpp b/src/musikcube/app/overlay/ServerOverlay.cpp index f6df07efd..ae1d0e099 100644 --- a/src/musikcube/app/overlay/ServerOverlay.cpp +++ b/src/musikcube/app/overlay/ServerOverlay.cpp @@ -60,7 +60,7 @@ static const char* KEY_TRANSCODER_CACHE_COUNT = "transcoder_cache_count"; static const char* KEY_TRANSCODER_SYNCHRONOUS = "transcoder_synchronous"; static const char* KEY_PASSWORD = "password"; -#define VERTICAL_PADDING 1 +#define VERTICAL_PADDING 2 #define DEFAULT_HEIGHT 17 #define DEFAULT_WIDTH 45 @@ -93,13 +93,7 @@ using Callback = ServerOverlay::Callback; using Prefs = ServerOverlay::Prefs; static std::string settingIntToString(Prefs prefs, const std::string& key, int defaultValue) { - int resolved = prefs->GetInt(key, defaultValue); - try { - return std::to_string(resolved); - } - catch (...) { - return std::to_string(defaultValue); - } + return std::to_string(prefs->GetInt(key, defaultValue)); } static void showInvalidDialog(Callback cb = Callback()) { @@ -149,6 +143,7 @@ void ServerOverlay::InitViews() { /* title */ this->titleLabel.reset(new TextLabel()); this->titleLabel->SetText(_TSTR("settings_server_setup"), text::AlignCenter); + this->titleLabel->SetBold(true); /* shortcuts */ this->shortcuts.reset(new ShortcutsWindow()); diff --git a/src/musikcube/cursespp/TextInput.cpp b/src/musikcube/cursespp/TextInput.cpp index 9d4c4a0bc..011db2fac 100755 --- a/src/musikcube/cursespp/TextInput.cpp +++ b/src/musikcube/cursespp/TextInput.cpp @@ -70,7 +70,8 @@ TextInput::TextInput(TextInput::Style style, IInput::InputMode inputMode) , position(0) , style(style) , inputMode(inputMode) -, enterEnabled(true) { +, enterEnabled(true) +, truncate(false) { if (style == StyleLine) { this->SetFrameVisible(false); } @@ -147,6 +148,13 @@ bool TextInput::Write(const std::string& key) { this->position = len; } else { + if (truncate) { + int cols = u8cols(this->buffer); + if (cols >= this->GetWidth()) { + return false; + } + } + size_t offset = u8offset(this->buffer, this->position); offset = (offset == std::string::npos) ? 0 : offset; this->buffer.insert(offset, key); @@ -162,6 +170,12 @@ bool TextInput::Write(const std::string& key) { return false; } +void TextInput::SetTruncate(bool truncate) { + if (this->truncate != truncate) { + this->truncate = truncate; + } +} + void TextInput::SetEnterEnabled(bool enabled) { this->enterEnabled = enabled; } diff --git a/src/musikcube/cursespp/TextInput.h b/src/musikcube/cursespp/TextInput.h index 6153b1010..940e4f745 100755 --- a/src/musikcube/cursespp/TextInput.h +++ b/src/musikcube/cursespp/TextInput.h @@ -76,6 +76,7 @@ namespace cursespp { virtual void SetText(const std::string& value); virtual std::string GetText() { return this->buffer; } + void SetTruncate(bool truncate); void SetHint(const std::string& hint); void SetEnterEnabled(bool enabled); Style GetStyle() { return style; } @@ -86,6 +87,7 @@ namespace cursespp { std::string buffer, hintText; int position; bool enterEnabled; + bool truncate; size_t bufferLength; Style style; InputMode inputMode; diff --git a/src/musikcube/cursespp/TextLabel.cpp b/src/musikcube/cursespp/TextLabel.cpp index 85ef8101f..c04b4f621 100755 --- a/src/musikcube/cursespp/TextLabel.cpp +++ b/src/musikcube/cursespp/TextLabel.cpp @@ -46,6 +46,9 @@ TextLabel::TextLabel() : Window() , alignment(text::AlignLeft) { this->SetFrameVisible(false); + this->SetContentColor(CURSESPP_DEFAULT_COLOR); + this->SetFocusedContentColor(CURSESPP_TEXT_FOCUSED); + this->bold = false; } TextLabel::~TextLabel() { @@ -65,15 +68,25 @@ void TextLabel::OnRedraw() { werase(c); } - attrs = this->IsFocused() ? CURSESPP_TEXT_FOCUSED : CURSESPP_DEFAULT_COLOR; + attrs = this->IsFocused() + ? this->GetFocusedContentColor() + : this->GetContentColor(); if (attrs != -1) { wattron(c, COLOR_PAIR(attrs)); } + if (this->bold) { + wattron(c, A_BOLD); + } + wmove(c, 0, 0); checked_waddstr(c, aligned.c_str()); + if (this->bold) { + wattroff(c, A_BOLD); + } + if (attrs != -1) { wattroff(c, COLOR_PAIR(attrs)); } @@ -87,6 +100,13 @@ void TextLabel::SetText(const std::string& value, const text::TextAlign alignmen } } +void TextLabel::SetBold(bool bold) { + if (bold != this->bold) { + this->bold = bold; + this->Redraw(); + } +} + bool TextLabel::KeyPress(const std::string& key) { if (this->IsFocused()) { if (key == " " || key == "KEY_ENTER") { diff --git a/src/musikcube/cursespp/TextLabel.h b/src/musikcube/cursespp/TextLabel.h index 6c44e265b..117e293eb 100755 --- a/src/musikcube/cursespp/TextLabel.h +++ b/src/musikcube/cursespp/TextLabel.h @@ -63,7 +63,8 @@ namespace cursespp { virtual std::string GetText() { return this->buffer; } virtual size_t Length() { return u8cols(this->buffer); } - + virtual void SetBold(bool bold); + virtual bool IsBold() { return this->bold; } virtual void OnRedraw(); virtual bool KeyPress(const std::string& key); @@ -71,5 +72,6 @@ namespace cursespp { private: std::string buffer; text::TextAlign alignment; + bool bold; }; } diff --git a/src/musikcube/data/locales/en_US.json b/src/musikcube/data/locales/en_US.json index c6deb557a..11e1d6eb9 100644 --- a/src/musikcube/data/locales/en_US.json +++ b/src/musikcube/data/locales/en_US.json @@ -62,6 +62,11 @@ "settings_server_invalid_settings_title": "invalid settings", "settings_server_invalid_settings_message": "invalid or missing settings. please check the values and try again.", + "settings_preamp": "preamp / replay gain", + "settings_preamp_label": "preamp gain (dB):", + "settings_preamp_invalid_gain_title": "invalid gain", + "settings_preamp_invalid_gain_message": "preamp gain values must be between -20.0 and 20.0 dB", + "settings_replay_gain": "replay gain: ", "settings_replay_gain_title": "replay gain mode", "settings_replay_gain_mode_disabled": "disabled", @@ -150,6 +155,7 @@ "playqueue_playlist_add_to_queue_overlay": 35, "playqueue_playlist_list_overlay": 35, "playqueue_playlist_name_overlay": 35, - "server_overlay_width": 45 + "server_overlay_width": 45, + "preamp_overlay_width": 40 } } \ No newline at end of file diff --git a/src/musikcube/musikcube.vcxproj b/src/musikcube/musikcube.vcxproj index 209de22fa..61dd885b2 100755 --- a/src/musikcube/musikcube.vcxproj +++ b/src/musikcube/musikcube.vcxproj @@ -154,6 +154,7 @@ xcopy "$(SolutionDir)src\3rdparty\bin\win32\dll\vorbis\*" "$(TargetDir)" /Y /e + @@ -209,6 +210,7 @@ xcopy "$(SolutionDir)src\3rdparty\bin\win32\dll\vorbis\*" "$(TargetDir)" /Y /e + diff --git a/src/musikcube/musikcube.vcxproj.filters b/src/musikcube/musikcube.vcxproj.filters index 6a6ccfe33..7060f521b 100755 --- a/src/musikcube/musikcube.vcxproj.filters +++ b/src/musikcube/musikcube.vcxproj.filters @@ -144,6 +144,9 @@ cursespp\util + + app\overlay + @@ -340,6 +343,9 @@ cursespp + + app\overlay + From ba5a081b1b59db248967d9e75c073d3d1a95a897 Mon Sep 17 00:00:00 2001 From: Casey Langen Date: Mon, 18 Dec 2017 08:46:30 -0800 Subject: [PATCH 19/19] Compressed settings layout a bit. --- src/musikcube/app/layout/SettingsLayout.cpp | 29 +++++++-------------- src/musikcube/app/layout/SettingsLayout.h | 2 -- src/musikcube/data/locales/en_US.json | 2 +- 3 files changed, 11 insertions(+), 22 deletions(-) diff --git a/src/musikcube/app/layout/SettingsLayout.cpp b/src/musikcube/app/layout/SettingsLayout.cpp index ee3b37087..cc1106e39 100755 --- a/src/musikcube/app/layout/SettingsLayout.cpp +++ b/src/musikcube/app/layout/SettingsLayout.cpp @@ -265,16 +265,13 @@ void SettingsLayout::OnLayout() { int cx = this->GetWidth(), cy = this->GetHeight(); /* top row (directory setup) */ - int startY = 1; + int startY = 0; int leftX = 0; int leftWidth = cx / 3; /* 1/3 width */ int rightX = leftWidth; int rightWidth = cx - rightX; /* remainder (~2/3) */ - this->browseLabel->MoveAndResize(leftX + 1, startY, leftWidth - 1, LABEL_HEIGHT); - this->addedPathsLabel->MoveAndResize(rightX + 1, startY, rightWidth - 1, LABEL_HEIGHT); - - int pathListsY = BOTTOM(this->browseLabel); + int pathListsY = startY; int pathsHeight = (cy - pathListsY) / 2; this->browseList->MoveAndResize(leftX, pathListsY, leftWidth, pathsHeight); @@ -299,8 +296,6 @@ void SettingsLayout::OnLayout() { this->serverDropdown->MoveAndResize(column1, y++, columnCx, LABEL_HEIGHT); } - this->updateDropdown->MoveAndResize(column1, y++, columnCx, LABEL_HEIGHT); - y = BOTTOM(this->browseList); #ifdef ENABLE_256_COLOR_OPTION this->paletteCheckbox->MoveAndResize(column2, y++, columnCx, LABEL_HEIGHT); @@ -314,6 +309,9 @@ void SettingsLayout::OnLayout() { this->startMinimizedCheckbox->MoveAndResize(column2, y++, columnCx, LABEL_HEIGHT); #endif this->autoUpdateCheckbox->MoveAndResize(column2, y++, columnCx, LABEL_HEIGHT); + + y++; + this->updateDropdown->MoveAndResize(column2, y++, columnCx, LABEL_HEIGHT); } void SettingsLayout::RefreshAddedPaths() { @@ -351,14 +349,11 @@ int64_t SettingsLayout::ListItemDecorator( void SettingsLayout::InitializeWindows() { this->SetFrameVisible(false); - this->browseLabel.reset(new TextLabel()); - this->browseLabel->SetText(_TSTR("settings_space_to_add"), text::AlignCenter); - - this->addedPathsLabel.reset(new TextLabel()); - this->addedPathsLabel->SetText(_TSTR("settings_backspace_to_remove"), text::AlignCenter); - this->addedPathsList.reset(new cursespp::ListWindow(this->addedPathsAdapter)); + this->addedPathsList->SetFrameTitle(_TSTR("settings_backspace_to_remove")); + this->browseList.reset(new cursespp::ListWindow(this->browseAdapter)); + this->browseList->SetFrameTitle(_TSTR("settings_space_to_add")); ScrollAdapterBase::ItemDecorator decorator = std::bind( @@ -439,8 +434,6 @@ void SettingsLayout::InitializeWindows() { this->serverDropdown->SetFocusOrder(order++); } - this->updateDropdown->SetFocusOrder(order++); - #ifdef ENABLE_256_COLOR_OPTION this->paletteCheckbox->SetFocusOrder(order++); #endif @@ -453,9 +446,8 @@ void SettingsLayout::InitializeWindows() { this->startMinimizedCheckbox->SetFocusOrder(order++); #endif this->autoUpdateCheckbox->SetFocusOrder(order++); + this->updateDropdown->SetFocusOrder(order++); - this->AddWindow(this->browseLabel); - this->AddWindow(this->addedPathsLabel); this->AddWindow(this->browseList); this->AddWindow(this->addedPathsList); this->AddWindow(this->localeDropdown); @@ -469,8 +461,6 @@ void SettingsLayout::InitializeWindows() { this->AddWindow(this->serverDropdown); } - this->AddWindow(updateDropdown); - #ifdef ENABLE_256_COLOR_OPTION this->AddWindow(this->paletteCheckbox); #endif @@ -486,6 +476,7 @@ void SettingsLayout::InitializeWindows() { this->AddWindow(this->startMinimizedCheckbox); #endif this->AddWindow(this->autoUpdateCheckbox); + this->AddWindow(updateDropdown); } void SettingsLayout::SetShortcutsWindow(ShortcutsWindow* shortcuts) { diff --git a/src/musikcube/app/layout/SettingsLayout.h b/src/musikcube/app/layout/SettingsLayout.h index ab31d7bc7..7b76a0811 100755 --- a/src/musikcube/app/layout/SettingsLayout.h +++ b/src/musikcube/app/layout/SettingsLayout.h @@ -144,8 +144,6 @@ namespace musik { std::shared_ptr startMinimizedCheckbox; std::shared_ptr autoUpdateCheckbox; - std::shared_ptr browseLabel; - std::shared_ptr addedPathsLabel; std::shared_ptr browseList; std::shared_ptr addedPathsList; diff --git a/src/musikcube/data/locales/en_US.json b/src/musikcube/data/locales/en_US.json index 11e1d6eb9..83f49fb57 100644 --- a/src/musikcube/data/locales/en_US.json +++ b/src/musikcube/data/locales/en_US.json @@ -27,7 +27,7 @@ "settings_space_to_add": "browse (SPACE to add)", "settings_backspace_to_remove": "indexed paths (BACKSPACE to remove)", - "settings_enable_disable_plugins": "plugin manager", + "settings_enable_disable_plugins": "configure plugins", "settings_color_theme": "color theme: ", "settings_hotkey_tester": "hotkey tester", "settings_output_driver": "output driver: ",

  2. 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

    ~ArM69@uZh;BONX!fCmnC-mq9$I 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 diff --git a/src/3rdparty/win32_bin/ssl-43.dll b/src/3rdparty/win32_bin/ssl-43.dll deleted file mode 100644 index e566961c35d1df3f7009448e11b84768bdab4f24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290816 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 >^uY_EABd$HnksB^mh)0jI$)E} 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