From 09d258670aba47a2a0783ee8c443083a89342336 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 28 Jun 2024 19:26:11 +0300
Subject: [PATCH 001/177] create mod meta information when importing curseforge
 pack

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 .../minecraft/mod/tasks/LocalModUpdateTask.h  |   4 +-
 launcher/modplatform/EnsureMetadataTask.h     |   4 +-
 .../modplatform/flame/FileResolvingTask.cpp   | 294 ++++++++++--------
 .../modplatform/flame/FileResolvingTask.h     |  39 ++-
 .../flame/FlameInstanceCreationTask.cpp       |  77 +++--
 .../flame/FlameInstanceCreationTask.h         |   2 +-
 launcher/modplatform/flame/PackManifest.cpp   |  32 --
 launcher/modplatform/flame/PackManifest.h     |  14 +-
 8 files changed, 243 insertions(+), 223 deletions(-)

diff --git a/launcher/minecraft/mod/tasks/LocalModUpdateTask.h b/launcher/minecraft/mod/tasks/LocalModUpdateTask.h
index 080999294..5447083ba 100644
--- a/launcher/minecraft/mod/tasks/LocalModUpdateTask.h
+++ b/launcher/minecraft/mod/tasks/LocalModUpdateTask.h
@@ -42,6 +42,6 @@ class LocalModUpdateTask : public Task {
 
    private:
     QDir m_index_dir;
-    ModPlatform::IndexedPack& m_mod;
-    ModPlatform::IndexedVersion& m_mod_version;
+    ModPlatform::IndexedPack m_mod;
+    ModPlatform::IndexedVersion m_mod_version;
 };
diff --git a/launcher/modplatform/EnsureMetadataTask.h b/launcher/modplatform/EnsureMetadataTask.h
index 2f276e5a0..a32a9fce1 100644
--- a/launcher/modplatform/EnsureMetadataTask.h
+++ b/launcher/modplatform/EnsureMetadataTask.h
@@ -1,14 +1,14 @@
 #pragma once
 
 #include "ModIndex.h"
-#include "net/NetJob.h"
 
 #include "modplatform/helpers/HashUtils.h"
 
 #include "tasks/ConcurrentTask.h"
 
+#include <QDir>
+
 class Mod;
-class QDir;
 
 class EnsureMetadataTask : public Task {
     Q_OBJECT
diff --git a/launcher/modplatform/flame/FileResolvingTask.cpp b/launcher/modplatform/flame/FileResolvingTask.cpp
index 8d23896d9..7a6c80f95 100644
--- a/launcher/modplatform/flame/FileResolvingTask.cpp
+++ b/launcher/modplatform/flame/FileResolvingTask.cpp
@@ -1,86 +1,103 @@
+// SPDX-License-Identifier: GPL-3.0-only
+/*
+ *  Prism Launcher - Minecraft Launcher
+ *  Copyright (c) 2024 Trial97 <alexandru.tripon97@gmail.com>
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, version 3.
+ *
+ *  This program 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 General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+
 #include "FileResolvingTask.h"
+#include <algorithm>
 
 #include "Json.h"
+#include "QObjectPtr.h"
 #include "modplatform/ModIndex.h"
-#include "net/ApiDownload.h"
-#include "net/ApiUpload.h"
-#include "net/Upload.h"
+#include "modplatform/flame/FlameAPI.h"
+#include "modplatform/flame/FlameModIndex.h"
+#include "modplatform/modrinth/ModrinthAPI.h"
 
 #include "modplatform/modrinth/ModrinthPackIndex.h"
+#include "net/NetJob.h"
+#include "tasks/Task.h"
+
+static const FlameAPI flameAPI;
+static ModrinthAPI modrinthAPI;
 
 Flame::FileResolvingTask::FileResolvingTask(const shared_qobject_ptr<QNetworkAccessManager>& network, Flame::Manifest& toProcess)
-    : m_network(network), m_toProcess(toProcess)
+    : m_network(network), m_manifest(toProcess)
 {}
 
 bool Flame::FileResolvingTask::abort()
 {
     bool aborted = true;
-    if (m_dljob)
-        aborted &= m_dljob->abort();
-    if (m_checkJob)
-        aborted &= m_checkJob->abort();
+    if (m_task) {
+        aborted = m_task->abort();
+    }
     return aborted ? Task::abort() : false;
 }
 
 void Flame::FileResolvingTask::executeTask()
 {
-    if (m_toProcess.files.isEmpty()) {  // no file to resolve so leave it empty and emit success immediately
+    if (m_manifest.files.isEmpty()) {  // no file to resolve so leave it empty and emit success immediately
         emitSucceeded();
         return;
     }
     setStatus(tr("Resolving mod IDs..."));
     setProgress(0, 3);
-    m_dljob.reset(new NetJob("Mod id resolver", m_network));
-    result.reset(new QByteArray());
-    // build json data to send
-    QJsonObject object;
-
-    object["fileIds"] = QJsonArray::fromVariantList(
-        std::accumulate(m_toProcess.files.begin(), m_toProcess.files.end(), QVariantList(), [](QVariantList& l, const File& s) {
-            l.push_back(s.fileId);
-            return l;
-        }));
-    QByteArray data = Json::toText(object);
-    auto dl = Net::ApiUpload::makeByteArray(QUrl("https://api.curseforge.com/v1/mods/files"), result, data);
-    m_dljob->addNetAction(dl);
+    m_result.reset(new QByteArray());
+
+    QStringList fileIds;
+    for (auto file : m_manifest.files) {
+        fileIds.push_back(QString::number(file.fileId));
+    }
+    m_task = flameAPI.getFiles(fileIds, m_result);
 
     auto step_progress = std::make_shared<TaskStepProgress>();
-    connect(m_dljob.get(), &NetJob::finished, this, [this, step_progress]() {
+    connect(m_task.get(), &Task::finished, this, [this, step_progress]() {
         step_progress->state = TaskStepState::Succeeded;
         stepProgress(*step_progress);
         netJobFinished();
     });
-    connect(m_dljob.get(), &NetJob::failed, this, [this, step_progress](QString reason) {
+    connect(m_task.get(), &Task::failed, this, [this, step_progress](QString reason) {
         step_progress->state = TaskStepState::Failed;
         stepProgress(*step_progress);
         emitFailed(reason);
     });
-    connect(m_dljob.get(), &NetJob::stepProgress, this, &FileResolvingTask::propagateStepProgress);
-    connect(m_dljob.get(), &NetJob::progress, this, [this, step_progress](qint64 current, qint64 total) {
+    connect(m_task.get(), &Task::stepProgress, this, &FileResolvingTask::propagateStepProgress);
+    connect(m_task.get(), &Task::progress, this, [this, step_progress](qint64 current, qint64 total) {
         qDebug() << "Resolve slug progress" << current << total;
         step_progress->update(current, total);
         stepProgress(*step_progress);
     });
-    connect(m_dljob.get(), &NetJob::status, this, [this, step_progress](QString status) {
+    connect(m_task.get(), &Task::status, this, [this, step_progress](QString status) {
         step_progress->status = status;
         stepProgress(*step_progress);
     });
 
-    m_dljob->start();
+    m_task->start();
 }
 
 void Flame::FileResolvingTask::netJobFinished()
 {
     setProgress(1, 3);
     // job to check modrinth for blocked projects
-    m_checkJob.reset(new NetJob("Modrinth check", m_network));
-    blockedProjects = QMap<File*, std::shared_ptr<QByteArray>>();
+    auto checkJob = makeShared<NetJob>("Modrinth check", m_network);
 
     QJsonDocument doc;
     QJsonArray array;
 
     try {
-        doc = Json::requireDocument(*result);
+        doc = Json::requireDocument(*m_result);
         array = Json::requireArray(doc.object()["data"]);
     } catch (Json::JsonException& e) {
         qCritical() << "Non-JSON data returned from the CF API";
@@ -91,125 +108,156 @@ void Flame::FileResolvingTask::netJobFinished()
         return;
     }
 
+    QStringList hashes;
     for (QJsonValueRef file : array) {
-        auto fileid = Json::requireInteger(Json::requireObject(file)["id"]);
-        auto& out = m_toProcess.files[fileid];
         try {
-            out.parseFromObject(Json::requireObject(file));
-        } catch ([[maybe_unused]] const JSONValidationError& e) {
-            qDebug() << "Blocked mod on curseforge" << out.fileName;
-            auto hash = out.hash;
-            if (!hash.isEmpty()) {
-                auto url = QString("https://api.modrinth.com/v2/version_file/%1?algorithm=sha1").arg(hash);
-                auto output = std::make_shared<QByteArray>();
-                auto dl = Net::ApiDownload::makeByteArray(QUrl(url), output);
-                QObject::connect(dl.get(), &Net::ApiDownload::succeeded, [&out]() { out.resolved = true; });
-
-                m_checkJob->addNetAction(dl);
-                blockedProjects.insert(&out, output);
+            auto obj = Json::requireObject(file);
+            auto version = FlameMod::loadIndexedPackVersion(obj);
+            auto fileid = version.fileId.toInt();
+            m_manifest.files[fileid].version = version;
+            auto url = QUrl(version.downloadUrl, QUrl::TolerantMode);
+            if (!url.isValid() && "sha1" == version.hash_type && !version.hash.isEmpty()) {
+                hashes.push_back(version.hash);
             }
+        } catch (Json::JsonException& e) {
+            qCritical() << "Non-JSON data returned from the CF API";
+            qCritical() << e.cause();
+
+            emitFailed(tr("Invalid data returned from the API."));
+
+            return;
         }
     }
+    if (hashes.isEmpty()) {
+        getFlameProjects();
+        return;
+    }
+    m_result.reset(new QByteArray());
+    m_task = modrinthAPI.currentVersions(hashes, "sha1", m_result);
     auto step_progress = std::make_shared<TaskStepProgress>();
-    connect(m_checkJob.get(), &NetJob::finished, this, [this, step_progress]() {
+    connect(m_task.get(), &Task::finished, this, [this, step_progress]() {
         step_progress->state = TaskStepState::Succeeded;
         stepProgress(*step_progress);
-        modrinthCheckFinished();
+        QJsonParseError parse_error{};
+        QJsonDocument doc = QJsonDocument::fromJson(*m_result, &parse_error);
+        if (parse_error.error != QJsonParseError::NoError) {
+            qWarning() << "Error while parsing JSON response from Modrinth::CurrentVersions at " << parse_error.offset
+                       << " reason: " << parse_error.errorString();
+            qWarning() << *m_result;
+
+            failed(parse_error.errorString());
+            return;
+        }
+
+        try {
+            auto entries = Json::requireObject(doc);
+            for (auto& out : m_manifest.files) {
+                auto url = QUrl(out.version.downloadUrl, QUrl::TolerantMode);
+                if (!url.isValid() && "sha1" == out.version.hash_type && !out.version.hash.isEmpty()) {
+                    try {
+                        auto entry = Json::requireObject(entries, out.version.hash);
+
+                        auto file = Modrinth::loadIndexedPackVersion(entry);
+
+                        // If there's more than one mod loader for this version, we can't know for sure
+                        // which file is relative to each loader, so it's best to not use any one and
+                        // let the user download it manually.
+                        if (!file.loaders || hasSingleModLoaderSelected(file.loaders)) {
+                            out.version.downloadUrl = file.downloadUrl;
+                            qDebug() << "Found alternative on modrinth " << out.version.fileName;
+                        }
+                    } catch (Json::JsonException& e) {
+                        qDebug() << e.cause();
+                        qDebug() << entries;
+                    }
+                }
+            }
+        } catch (Json::JsonException& e) {
+            qDebug() << e.cause();
+            qDebug() << doc;
+        }
+        getFlameProjects();
     });
-    connect(m_checkJob.get(), &NetJob::failed, this, [this, step_progress](QString reason) {
+    connect(m_task.get(), &Task::failed, this, [this, step_progress](QString reason) {
         step_progress->state = TaskStepState::Failed;
         stepProgress(*step_progress);
     });
-    connect(m_checkJob.get(), &NetJob::stepProgress, this, &FileResolvingTask::propagateStepProgress);
-    connect(m_checkJob.get(), &NetJob::progress, this, [this, step_progress](qint64 current, qint64 total) {
+    connect(m_task.get(), &Task::stepProgress, this, &FileResolvingTask::propagateStepProgress);
+    connect(m_task.get(), &Task::progress, this, [this, step_progress](qint64 current, qint64 total) {
         qDebug() << "Resolve slug progress" << current << total;
         step_progress->update(current, total);
         stepProgress(*step_progress);
     });
-    connect(m_checkJob.get(), &NetJob::status, this, [this, step_progress](QString status) {
+    connect(m_task.get(), &Task::status, this, [this, step_progress](QString status) {
         step_progress->status = status;
         stepProgress(*step_progress);
     });
 
-    m_checkJob->start();
+    m_task->start();
 }
 
-void Flame::FileResolvingTask::modrinthCheckFinished()
+void Flame::FileResolvingTask::getFlameProjects()
 {
     setProgress(2, 3);
-    qDebug() << "Finished with blocked mods : " << blockedProjects.size();
+    m_result.reset(new QByteArray());
+    QStringList addonIds;
+    for (auto file : m_manifest.files) {
+        addonIds.push_back(QString::number(file.projectId));
+    }
 
-    for (auto it = blockedProjects.keyBegin(); it != blockedProjects.keyEnd(); it++) {
-        auto& out = *it;
-        auto bytes = blockedProjects[out];
-        if (!out->resolved) {
-            continue;
-        }
+    m_task = flameAPI.getProjects(addonIds, m_result);
 
-        QJsonDocument doc = QJsonDocument::fromJson(*bytes);
-        auto obj = doc.object();
-        auto file = Modrinth::loadIndexedPackVersion(obj);
-
-        // If there's more than one mod loader for this version, we can't know for sure
-        // which file is relative to each loader, so it's best to not use any one and
-        // let the user download it manually.
-        if (!file.loaders || hasSingleModLoaderSelected(file.loaders)) {
-            out->url = file.downloadUrl;
-            qDebug() << "Found alternative on modrinth " << out->fileName;
-        } else {
-            out->resolved = false;
+    auto step_progress = std::make_shared<TaskStepProgress>();
+    connect(m_task.get(), &Task::succeeded, this, [this, step_progress] {
+        QJsonParseError parse_error{};
+        auto doc = QJsonDocument::fromJson(*m_result, &parse_error);
+        if (parse_error.error != QJsonParseError::NoError) {
+            qWarning() << "Error while parsing JSON response from Modrinth projects task at " << parse_error.offset
+                       << " reason: " << parse_error.errorString();
+            qWarning() << *m_result;
+            return;
         }
-    }
-    // copy to an output list and filter out projects found on modrinth
-    auto block = std::make_shared<QList<File*>>();
-    auto it = blockedProjects.keys();
-    std::copy_if(it.begin(), it.end(), std::back_inserter(*block), [](File* f) { return !f->resolved; });
-    // Display not found mods early
-    if (!block->empty()) {
-        // blocked mods found, we need the slug for displaying.... we need another job :D !
-        m_slugJob.reset(new NetJob("Slug Job", m_network));
-        int index = 0;
-        for (auto mod : *block) {
-            auto projectId = mod->projectId;
-            auto output = std::make_shared<QByteArray>();
-            auto url = QString("https://api.curseforge.com/v1/mods/%1").arg(projectId);
-            auto dl = Net::ApiDownload::makeByteArray(url, output);
-            qDebug() << "Fetching url slug for file:" << mod->fileName;
-            QObject::connect(dl.get(), &Net::ApiDownload::succeeded, [block, index, output]() {
-                auto mod = block->at(index);  // use the shared_ptr so it is captured and only freed when we are done
-                auto json = QJsonDocument::fromJson(*output);
-                auto base =
-                    Json::requireString(Json::requireObject(Json::requireObject(Json::requireObject(json), "data"), "links"), "websiteUrl");
-                auto link = QString("%1/download/%2").arg(base, QString::number(mod->fileId));
-                mod->websiteUrl = link;
-            });
-            m_slugJob->addNetAction(dl);
-            index++;
+
+        try {
+            QJsonArray entries;
+            entries = Json::requireArray(Json::requireObject(doc), "data");
+
+            for (auto entry : entries) {
+                auto entry_obj = Json::requireObject(entry);
+                auto id = Json::requireInteger(entry_obj, "id");
+                auto file = std::find_if(m_manifest.files.begin(), m_manifest.files.end(),
+                                         [id](const Flame::File& file) { return file.projectId == id; });
+                if (file == m_manifest.files.end()) {
+                    continue;
+                }
+
+                setStatus(tr("Parsing API response from CurseForge for '%1'...").arg(file->version.fileName));
+                FlameMod::loadIndexedPack(file->pack, entry_obj);
+            }
+        } catch (Json::JsonException& e) {
+            qDebug() << e.cause();
+            qDebug() << doc;
         }
-        auto step_progress = std::make_shared<TaskStepProgress>();
-        connect(m_slugJob.get(), &NetJob::succeeded, this, [this, step_progress]() {
-            step_progress->state = TaskStepState::Succeeded;
-            stepProgress(*step_progress);
-            emitSucceeded();
-        });
-        connect(m_slugJob.get(), &NetJob::failed, this, [this, step_progress](QString reason) {
-            step_progress->state = TaskStepState::Failed;
-            stepProgress(*step_progress);
-            emitFailed(reason);
-        });
-        connect(m_slugJob.get(), &NetJob::stepProgress, this, &FileResolvingTask::propagateStepProgress);
-        connect(m_slugJob.get(), &NetJob::progress, this, [this, step_progress](qint64 current, qint64 total) {
-            qDebug() << "Resolve slug progress" << current << total;
-            step_progress->update(current, total);
-            stepProgress(*step_progress);
-        });
-        connect(m_slugJob.get(), &NetJob::status, this, [this, step_progress](QString status) {
-            step_progress->status = status;
-            stepProgress(*step_progress);
-        });
-
-        m_slugJob->start();
-    } else {
+        step_progress->state = TaskStepState::Succeeded;
+        stepProgress(*step_progress);
         emitSucceeded();
-    }
+    });
+
+    connect(m_task.get(), &Task::failed, this, [this, step_progress](QString reason) {
+        step_progress->state = TaskStepState::Failed;
+        stepProgress(*step_progress);
+        emitFailed(reason);
+    });
+    connect(m_task.get(), &Task::stepProgress, this, &FileResolvingTask::propagateStepProgress);
+    connect(m_task.get(), &Task::progress, this, [this, step_progress](qint64 current, qint64 total) {
+        qDebug() << "Resolve slug progress" << current << total;
+        step_progress->update(current, total);
+        stepProgress(*step_progress);
+    });
+    connect(m_task.get(), &Task::status, this, [this, step_progress](QString status) {
+        step_progress->status = status;
+        stepProgress(*step_progress);
+    });
+
+    m_task->start();
 }
diff --git a/launcher/modplatform/flame/FileResolvingTask.h b/launcher/modplatform/flame/FileResolvingTask.h
index c280827af..edd9fce9a 100644
--- a/launcher/modplatform/flame/FileResolvingTask.h
+++ b/launcher/modplatform/flame/FileResolvingTask.h
@@ -1,7 +1,25 @@
+// SPDX-License-Identifier: GPL-3.0-only
+/*
+ *  Prism Launcher - Minecraft Launcher
+ *  Copyright (c) 2024 Trial97 <alexandru.tripon97@gmail.com>
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, version 3.
+ *
+ *  This program 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 General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
 #pragma once
 
+#include <QNetworkAccessManager>
+
 #include "PackManifest.h"
-#include "net/NetJob.h"
 #include "tasks/Task.h"
 
 namespace Flame {
@@ -9,12 +27,12 @@ class FileResolvingTask : public Task {
     Q_OBJECT
    public:
     explicit FileResolvingTask(const shared_qobject_ptr<QNetworkAccessManager>& network, Flame::Manifest& toProcess);
-    virtual ~FileResolvingTask(){};
+    virtual ~FileResolvingTask() = default;
 
     bool canAbort() const override { return true; }
     bool abort() override;
 
-    const Flame::Manifest& getResults() const { return m_toProcess; }
+    const Flame::Manifest& getResults() const { return m_manifest; }
 
    protected:
     virtual void executeTask() override;
@@ -22,16 +40,13 @@ class FileResolvingTask : public Task {
    protected slots:
     void netJobFinished();
 
+   private:
+    void getFlameProjects();
+
    private: /* data */
     shared_qobject_ptr<QNetworkAccessManager> m_network;
-    Flame::Manifest m_toProcess;
-    std::shared_ptr<QByteArray> result;
-    NetJob::Ptr m_dljob;
-    NetJob::Ptr m_checkJob;
-    NetJob::Ptr m_slugJob;
-
-    void modrinthCheckFinished();
-
-    QMap<File*, std::shared_ptr<QByteArray>> blockedProjects;
+    Flame::Manifest m_manifest;
+    std::shared_ptr<QByteArray> m_result;
+    Task::Ptr m_task;
 };
 }  // namespace Flame
diff --git a/launcher/modplatform/flame/FlameInstanceCreationTask.cpp b/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
index a629cc15b..b8c40ee42 100644
--- a/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
+++ b/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
@@ -35,8 +35,11 @@
 
 #include "FlameInstanceCreationTask.h"
 
+#include "QObjectPtr.h"
+#include "minecraft/mod/tasks/LocalModUpdateTask.h"
 #include "modplatform/flame/FileResolvingTask.h"
 #include "modplatform/flame/FlameAPI.h"
+#include "modplatform/flame/FlameModIndex.h"
 #include "modplatform/flame/PackManifest.h"
 
 #include "Application.h"
@@ -51,6 +54,7 @@
 
 #include "settings/INISettingsObject.h"
 
+#include "tasks/ConcurrentTask.h"
 #include "ui/dialogs/BlockedModsDialog.h"
 #include "ui/dialogs/CustomMessageBox.h"
 
@@ -58,7 +62,6 @@
 #include <QFileInfo>
 
 #include "meta/Index.h"
-#include "meta/VersionList.h"
 #include "minecraft/World.h"
 #include "minecraft/mod/tasks/LocalResourceParse.h"
 #include "net/ApiDownload.h"
@@ -208,8 +211,7 @@ bool FlameCreationTask::updateInstance()
 
                     Flame::File file;
                     // We don't care about blocked mods, we just need local data to delete the file
-                    file.parseFromObject(entry_obj, false);
-
+                    file.version = FlameMod::loadIndexedPackVersion(entry_obj);
                     auto id = Json::requireInteger(entry_obj, "id");
                     old_files.insert(id, file);
                 }
@@ -219,10 +221,10 @@ bool FlameCreationTask::updateInstance()
 
             // Delete the files
             for (auto& file : old_files) {
-                if (file.fileName.isEmpty() || file.targetFolder.isEmpty())
+                if (file.version.fileName.isEmpty() || file.targetFolder.isEmpty())
                     continue;
 
-                QString relative_path(FS::PathCombine(file.targetFolder, file.fileName));
+                QString relative_path(FS::PathCombine(file.targetFolder, file.version.fileName));
                 qDebug() << "Scheduling" << relative_path << "for removal";
                 m_files_to_remove.append(old_minecraft_dir.absoluteFilePath(relative_path));
             }
@@ -471,15 +473,15 @@ void FlameCreationTask::idResolverSucceeded(QEventLoop& loop)
     QList<BlockedMod> blocked_mods;
     auto anyBlocked = false;
     for (const auto& result : results.files.values()) {
-        if (result.fileName.endsWith(".zip")) {
-            m_ZIP_resources.append(std::make_pair(result.fileName, result.targetFolder));
+        if (result.version.fileName.endsWith(".zip")) {
+            m_ZIP_resources.append(std::make_pair(result.version.fileName, result.targetFolder));
         }
 
-        if (!result.resolved || result.url.isEmpty()) {
+        if (result.version.downloadUrl.isEmpty()) {
             BlockedMod blocked_mod;
-            blocked_mod.name = result.fileName;
-            blocked_mod.websiteUrl = result.websiteUrl;
-            blocked_mod.hash = result.hash;
+            blocked_mod.name = result.version.fileName;
+            blocked_mod.websiteUrl = QString("%1/download/%2").arg(result.pack.websiteUrl, QString::number(result.fileId));
+            blocked_mod.hash = result.version.hash;
             blocked_mod.matched = false;
             blocked_mod.localPath = "";
             blocked_mod.targetFolder = result.targetFolder;
@@ -521,7 +523,7 @@ void FlameCreationTask::setupDownloadJob(QEventLoop& loop)
     QStringList optionalFiles;
     for (auto& result : results) {
         if (!result.required) {
-            optionalFiles << FS::PathCombine(result.targetFolder, result.fileName);
+            optionalFiles << FS::PathCombine(result.targetFolder, result.version.fileName);
         }
     }
 
@@ -537,7 +539,7 @@ void FlameCreationTask::setupDownloadJob(QEventLoop& loop)
         selectedOptionalMods = optionalModDialog.getResult();
     }
     for (const auto& result : results) {
-        auto fileName = result.fileName;
+        auto fileName = result.version.fileName;
         fileName = FS::RemoveInvalidPathChars(fileName);
         auto relpath = FS::PathCombine(result.targetFolder, fileName);
 
@@ -548,36 +550,16 @@ void FlameCreationTask::setupDownloadJob(QEventLoop& loop)
         relpath = FS::PathCombine("minecraft", relpath);
         auto path = FS::PathCombine(m_stagingPath, relpath);
 
-        switch (result.type) {
-            case Flame::File::Type::Folder: {
-                logWarning(tr("This 'Folder' may need extracting: %1").arg(relpath));
-                // fallthrough intentional, we treat these as plain old mods and dump them wherever.
-            }
-            /* fallthrough */
-            case Flame::File::Type::SingleFile:
-            case Flame::File::Type::Mod: {
-                if (!result.url.isEmpty()) {
-                    qDebug() << "Will download" << result.url << "to" << path;
-                    auto dl = Net::ApiDownload::makeFile(result.url, path);
-                    m_files_job->addNetAction(dl);
-                }
-                break;
-            }
-            case Flame::File::Type::Modpack:
-                logWarning(tr("Nesting modpacks in modpacks is not implemented, nothing was downloaded: %1").arg(relpath));
-                break;
-            case Flame::File::Type::Cmod2:
-            case Flame::File::Type::Ctoc:
-            case Flame::File::Type::Unknown:
-                logWarning(tr("Unrecognized/unhandled PackageType for: %1").arg(relpath));
-                break;
+        if (!result.version.downloadUrl.isEmpty()) {
+            qDebug() << "Will download" << result.version.downloadUrl << "to" << path;
+            auto dl = Net::ApiDownload::makeFile(result.version.downloadUrl, path);
+            m_files_job->addNetAction(dl);
         }
     }
 
-    m_mod_id_resolver.reset();
-    connect(m_files_job.get(), &NetJob::succeeded, this, [&]() {
+    connect(m_files_job.get(), &NetJob::finished, this, [this, &loop]() {
         m_files_job.reset();
-        validateZIPResources();
+        validateZIPResources(loop);
     });
     connect(m_files_job.get(), &NetJob::failed, [&](QString reason) {
         m_files_job.reset();
@@ -588,7 +570,6 @@ void FlameCreationTask::setupDownloadJob(QEventLoop& loop)
         setProgress(current, total);
     });
     connect(m_files_job.get(), &NetJob::stepProgress, this, &FlameCreationTask::propagateStepProgress);
-    connect(m_files_job.get(), &NetJob::finished, &loop, &QEventLoop::quit);
 
     setStatus(tr("Downloading mods..."));
     m_files_job->start();
@@ -626,9 +607,10 @@ void FlameCreationTask::copyBlockedMods(QList<BlockedMod> const& blocked_mods)
     setAbortable(true);
 }
 
-void FlameCreationTask::validateZIPResources()
+void FlameCreationTask::validateZIPResources(QEventLoop& loop)
 {
     qDebug() << "Validating whether resources stored as .zip are in the right place";
+    QStringList zipMods;
     for (auto [fileName, targetFolder] : m_ZIP_resources) {
         qDebug() << "Checking" << fileName << "...";
         auto localPath = FS::PathCombine(m_stagingPath, "minecraft", targetFolder, fileName);
@@ -668,6 +650,7 @@ void FlameCreationTask::validateZIPResources()
         switch (type) {
             case PackedResourceType::Mod:
                 validatePath(fileName, targetFolder, "mods");
+                zipMods.push_back(fileName);
                 break;
             case PackedResourceType::ResourcePack:
                 validatePath(fileName, targetFolder, "resourcepacks");
@@ -693,4 +676,16 @@ void FlameCreationTask::validateZIPResources()
                 break;
         }
     }
+    auto task = makeShared<ConcurrentTask>(this, "CreateModMetadata", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt());
+    auto results = m_mod_id_resolver->getResults().files;
+    auto folder = FS::PathCombine(m_stagingPath, "minecraft", "mods", ".index");
+    for (auto file : results) {
+        if (file.targetFolder != "mods" || (file.version.fileName.endsWith(".zip") && !zipMods.contains(file.version.fileName))) {
+            continue;
+        }
+        task->addTask(makeShared<LocalModUpdateTask>(folder, file.pack, file.version));
+    }
+    connect(task.get(), &Task::finished, &loop, &QEventLoop::quit);
+    m_process_update_file_info_job = task;
+    task->start();
 }
diff --git a/launcher/modplatform/flame/FlameInstanceCreationTask.h b/launcher/modplatform/flame/FlameInstanceCreationTask.h
index 02ad48f2e..28ab176c2 100644
--- a/launcher/modplatform/flame/FlameInstanceCreationTask.h
+++ b/launcher/modplatform/flame/FlameInstanceCreationTask.h
@@ -74,7 +74,7 @@ class FlameCreationTask final : public InstanceCreationTask {
     void idResolverSucceeded(QEventLoop&);
     void setupDownloadJob(QEventLoop&);
     void copyBlockedMods(QList<BlockedMod> const& blocked_mods);
-    void validateZIPResources();
+    void validateZIPResources(QEventLoop& loop);
     QString getVersionForLoader(QString uid, QString loaderType, QString version, QString mcVersion);
 
    private:
diff --git a/launcher/modplatform/flame/PackManifest.cpp b/launcher/modplatform/flame/PackManifest.cpp
index 40a523d31..e576a6a84 100644
--- a/launcher/modplatform/flame/PackManifest.cpp
+++ b/launcher/modplatform/flame/PackManifest.cpp
@@ -68,35 +68,3 @@ void Flame::loadManifest(Flame::Manifest& m, const QString& filepath)
     }
     loadManifestV1(m, obj);
 }
-
-bool Flame::File::parseFromObject(const QJsonObject& obj, bool throw_on_blocked)
-{
-    fileName = Json::requireString(obj, "fileName");
-    // This is a piece of a Flame project JSON pulled out into the file metadata (here) for convenience
-    // It is also optional
-    type = File::Type::SingleFile;
-
-    targetFolder = "mods";
-
-    // get the hash
-    hash = QString();
-    auto hashes = Json::ensureArray(obj, "hashes");
-    for (QJsonValueRef item : hashes) {
-        auto hobj = Json::requireObject(item);
-        auto algo = Json::requireInteger(hobj, "algo");
-        auto value = Json::requireString(hobj, "value");
-        if (algo == 1) {
-            hash = value;
-        }
-    }
-
-    // may throw, if the project is blocked
-    QString rawUrl = Json::ensureString(obj, "downloadUrl");
-    url = QUrl(rawUrl, QUrl::TolerantMode);
-    if (!url.isValid() && throw_on_blocked) {
-        throw JSONValidationError(QString("Invalid URL: %1").arg(rawUrl));
-    }
-
-    resolved = true;
-    return true;
-}
diff --git a/launcher/modplatform/flame/PackManifest.h b/launcher/modplatform/flame/PackManifest.h
index 4417c2430..49a0b2d68 100644
--- a/launcher/modplatform/flame/PackManifest.h
+++ b/launcher/modplatform/flame/PackManifest.h
@@ -40,26 +40,20 @@
 #include <QString>
 #include <QUrl>
 #include <QVector>
+#include "modplatform/ModIndex.h"
 
 namespace Flame {
 struct File {
-    // NOTE: throws JSONValidationError
-    bool parseFromObject(const QJsonObject& object, bool throw_on_blocked = true);
-
     int projectId = 0;
     int fileId = 0;
     // NOTE: the opposite to 'optional'
     bool required = true;
-    QString hash;
-    // NOTE: only set on blocked files ! Empty otherwise.
-    QString websiteUrl;
+
+    ModPlatform::IndexedPack pack;
+    ModPlatform::IndexedVersion version;
 
     // our
-    bool resolved = false;
-    QString fileName;
-    QUrl url;
     QString targetFolder = QStringLiteral("mods");
-    enum class Type { Unknown, Folder, Ctoc, SingleFile, Cmod2, Modpack, Mod } type = Type::Mod;
 };
 
 struct Modloader {

From 1021222c955b4b5f7416e91f51c619af118a2bf4 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 28 Jun 2024 20:28:52 +0300
Subject: [PATCH 002/177] create mod meta information when importing modrinth
 pack

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/modplatform/EnsureMetadataTask.cpp   |  3 +
 launcher/modplatform/EnsureMetadataTask.h     |  1 +
 .../modrinth/ModrinthInstanceCreationTask.cpp | 67 ++++++++++++++-----
 .../modrinth/ModrinthInstanceCreationTask.h   |  9 +--
 4 files changed, 56 insertions(+), 24 deletions(-)

diff --git a/launcher/modplatform/EnsureMetadataTask.cpp b/launcher/modplatform/EnsureMetadataTask.cpp
index 43acea1a2..f6f49f38d 100644
--- a/launcher/modplatform/EnsureMetadataTask.cpp
+++ b/launcher/modplatform/EnsureMetadataTask.cpp
@@ -42,6 +42,9 @@ EnsureMetadataTask::EnsureMetadataTask(QList<Mod*>& mods, QDir dir, ModPlatform:
         m_hashing_task->addTask(hash_task);
     }
 }
+EnsureMetadataTask::EnsureMetadataTask(QHash<QString, Mod*>& mods, QDir dir, ModPlatform::ResourceProvider prov)
+    : Task(nullptr), m_mods(mods), m_index_dir(dir), m_provider(prov), m_current_task(nullptr)
+{}
 
 Hashing::Hasher::Ptr EnsureMetadataTask::createNewHash(Mod* mod)
 {
diff --git a/launcher/modplatform/EnsureMetadataTask.h b/launcher/modplatform/EnsureMetadataTask.h
index a32a9fce1..631b32ae7 100644
--- a/launcher/modplatform/EnsureMetadataTask.h
+++ b/launcher/modplatform/EnsureMetadataTask.h
@@ -16,6 +16,7 @@ class EnsureMetadataTask : public Task {
    public:
     EnsureMetadataTask(Mod*, QDir, ModPlatform::ResourceProvider = ModPlatform::ResourceProvider::MODRINTH);
     EnsureMetadataTask(QList<Mod*>&, QDir, ModPlatform::ResourceProvider = ModPlatform::ResourceProvider::MODRINTH);
+    EnsureMetadataTask(QHash<QString, Mod*>&, QDir, ModPlatform::ResourceProvider = ModPlatform::ResourceProvider::MODRINTH);
 
     ~EnsureMetadataTask() = default;
 
diff --git a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
index c0806a638..acbc7376c 100644
--- a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
+++ b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
@@ -5,8 +5,12 @@
 #include "InstanceList.h"
 #include "Json.h"
 
+#include "QObjectPtr.h"
+#include "minecraft/MinecraftInstance.h"
 #include "minecraft/PackProfile.h"
 
+#include "minecraft/mod/Mod.h"
+#include "modplatform/EnsureMetadataTask.h"
 #include "modplatform/helpers/OverrideUtils.h"
 
 #include "modplatform/modrinth/ModrinthPackManifest.h"
@@ -21,6 +25,7 @@
 
 #include <QAbstractButton>
 #include <QFileInfo>
+#include <QHash>
 #include <vector>
 
 bool ModrinthCreationTask::abort()
@@ -29,8 +34,8 @@ bool ModrinthCreationTask::abort()
         return false;
 
     m_abort = true;
-    if (m_files_job)
-        m_files_job->abort();
+    if (m_task)
+        m_task->abort();
     return Task::abort();
 }
 
@@ -234,11 +239,11 @@ bool ModrinthCreationTask::createInstance()
     instance.setName(name());
     instance.saveNow();
 
-    m_files_job.reset(new NetJob(tr("Mod Download Modrinth"), APPLICATION->network()));
+    auto downloadMods = makeShared<NetJob>(tr("Mod Download Modrinth"), APPLICATION->network());
 
     auto root_modpack_path = FS::PathCombine(m_stagingPath, m_root_path);
     auto root_modpack_url = QUrl::fromLocalFile(root_modpack_path);
-
+    QHash<QString, Mod*> mods;
     for (auto file : m_files) {
         auto fileName = file.path;
         fileName = FS::RemoveInvalidPathChars(fileName);
@@ -249,20 +254,27 @@ bool ModrinthCreationTask::createInstance()
                          .arg(fileName));
             return false;
         }
+        if (fileName.startsWith("mods/")) {
+            auto mod = new Mod(file_path);
+            ModDetails d;
+            d.mod_id = file_path;
+            mod->setDetails(d);
+            mods[file.hash.toHex()] = mod;
+        }
 
         qDebug() << "Will try to download" << file.downloads.front() << "to" << file_path;
         auto dl = Net::ApiDownload::makeFile(file.downloads.dequeue(), file_path);
         dl->addValidator(new Net::ChecksumValidator(file.hashAlgorithm, file.hash));
-        m_files_job->addNetAction(dl);
+        downloadMods->addNetAction(dl);
 
         if (!file.downloads.empty()) {
             // FIXME: This really needs to be put into a ConcurrentTask of
             // MultipleOptionsTask's , once those exist :)
             auto param = dl.toWeakRef();
-            connect(dl.get(), &Task::failed, [this, &file, file_path, param] {
+            connect(dl.get(), &Task::failed, [&file, file_path, param, downloadMods] {
                 auto ndl = Net::ApiDownload::makeFile(file.downloads.dequeue(), file_path);
                 ndl->addValidator(new Net::ChecksumValidator(file.hashAlgorithm, file.hash));
-                m_files_job->addNetAction(ndl);
+                downloadMods->addNetAction(ndl);
                 if (auto shared = param.lock())
                     shared->succeeded();
             });
@@ -271,23 +283,44 @@ bool ModrinthCreationTask::createInstance()
 
     bool ended_well = false;
 
-    connect(m_files_job.get(), &NetJob::succeeded, this, [&]() { ended_well = true; });
-    connect(m_files_job.get(), &NetJob::failed, [&](const QString& reason) {
+    connect(downloadMods.get(), &NetJob::succeeded, this, [&]() { ended_well = true; });
+    connect(downloadMods.get(), &NetJob::failed, [&](const QString& reason) {
         ended_well = false;
         setError(reason);
     });
-    connect(m_files_job.get(), &NetJob::finished, &loop, &QEventLoop::quit);
-    connect(m_files_job.get(), &NetJob::progress, [&](qint64 current, qint64 total) {
+    connect(downloadMods.get(), &NetJob::finished, &loop, &QEventLoop::quit);
+    connect(downloadMods.get(), &NetJob::progress, [&](qint64 current, qint64 total) {
         setDetails(tr("%1 out of %2 complete").arg(current).arg(total));
         setProgress(current, total);
     });
-    connect(m_files_job.get(), &NetJob::stepProgress, this, &ModrinthCreationTask::propagateStepProgress);
+    connect(downloadMods.get(), &NetJob::stepProgress, this, &ModrinthCreationTask::propagateStepProgress);
 
     setStatus(tr("Downloading mods..."));
-    m_files_job->start();
+    downloadMods->start();
+    m_task = downloadMods;
 
     loop.exec();
 
+    QEventLoop ensureMetaLoop;
+    QDir folder = FS::PathCombine(m_stagingPath, "minecraft", "mods", ".index");
+    auto ensureMetadataTask = makeShared<EnsureMetadataTask>(mods, folder, ModPlatform::ResourceProvider::MODRINTH);
+    connect(ensureMetadataTask.get(), &Task::succeeded, this, [&]() { ended_well = true; });
+    connect(ensureMetadataTask.get(), &Task::finished, &ensureMetaLoop, &QEventLoop::quit);
+    connect(ensureMetadataTask.get(), &Task::progress, [&](qint64 current, qint64 total) {
+        setDetails(tr("%1 out of %2 complete").arg(current).arg(total));
+        setProgress(current, total);
+    });
+    connect(ensureMetadataTask.get(), &Task::stepProgress, this, &ModrinthCreationTask::propagateStepProgress);
+
+    ensureMetadataTask->start();
+    m_task = ensureMetadataTask;
+
+    ensureMetaLoop.exec();
+    for (auto m : mods) {
+        delete m;
+    }
+    mods.clear();
+
     // Update information of the already installed instance, if any.
     if (m_instance && ended_well) {
         setAbortable(false);
@@ -348,11 +381,11 @@ bool ModrinthCreationTask::parseManifest(const QString& index_path,
                 QJsonObject hashes = Json::requireObject(modInfo, "hashes");
                 QString hash;
                 QCryptographicHash::Algorithm hashAlgorithm;
-                hash = Json::ensureString(hashes, "sha1");
-                hashAlgorithm = QCryptographicHash::Sha1;
+                hash = Json::ensureString(hashes, "sha512");
+                hashAlgorithm = QCryptographicHash::Sha512;
                 if (hash.isEmpty()) {
-                    hash = Json::ensureString(hashes, "sha512");
-                    hashAlgorithm = QCryptographicHash::Sha512;
+                    hash = Json::ensureString(hashes, "sha1");
+                    hashAlgorithm = QCryptographicHash::Sha1;
                     if (hash.isEmpty()) {
                         hash = Json::ensureString(hashes, "sha256");
                         hashAlgorithm = QCryptographicHash::Sha256;
diff --git a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.h b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.h
index f07734a58..0879474cf 100644
--- a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.h
+++ b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.h
@@ -1,15 +1,10 @@
 #pragma once
 
+#include "BaseInstance.h"
 #include "InstanceCreationTask.h"
 
-#include <optional>
-
-#include "minecraft/MinecraftInstance.h"
-
 #include "modplatform/modrinth/ModrinthPackManifest.h"
 
-#include "net/NetJob.h"
-
 class ModrinthCreationTask final : public InstanceCreationTask {
     Q_OBJECT
 
@@ -43,7 +38,7 @@ class ModrinthCreationTask final : public InstanceCreationTask {
     QString m_managed_id, m_managed_version_id, m_managed_name;
 
     std::vector<Modrinth::File> m_files;
-    NetJob::Ptr m_files_job;
+    Task::Ptr m_task;
 
     std::optional<InstancePtr> m_instance;
 

From 44bf0315ada1715145a8ed91b4f573ec7fcc4092 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Thu, 20 Jun 2024 15:55:58 -0700
Subject: [PATCH 003/177] feat(components) recomend the correct lwjgl version
 for the minecraft version

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 launcher/meta/VersionList.cpp              | 12 +++++++++++-
 launcher/meta/VersionList.h                |  3 +++
 launcher/ui/pages/instance/VersionPage.cpp | 18 ++++++++++++++++--
 3 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/launcher/meta/VersionList.cpp b/launcher/meta/VersionList.cpp
index f21e4594a..09c83e0b1 100644
--- a/launcher/meta/VersionList.cpp
+++ b/launcher/meta/VersionList.cpp
@@ -99,7 +99,7 @@ QVariant VersionList::data(const QModelIndex& index, int role) const
         case VersionPtrRole:
             return QVariant::fromValue(version);
         case RecommendedRole:
-            return version->isRecommended();
+            return version->isRecommended() || m_externalRecommendsVersions.contains(version->version());
         // FIXME: this should be determined in whatever view/proxy is used...
         // case LatestRole: return version == getLatestStable();
         default:
@@ -179,6 +179,16 @@ void VersionList::parse(const QJsonObject& obj)
     parseVersionList(obj, this);
 }
 
+void VersionList::addExternalRecomends(const QVector<QString>& recomends)
+{
+    m_externalRecommendsVersions.append(recomends);
+}
+
+void VersionList::clearExternalRecomends()
+{
+    m_externalRecommendsVersions.clear();
+}
+
 // FIXME: this is dumb, we have 'recommended' as part of the metadata already...
 static const Meta::Version::Ptr& getBetterVersion(const Meta::Version::Ptr& a, const Meta::Version::Ptr& b)
 {
diff --git a/launcher/meta/VersionList.h b/launcher/meta/VersionList.h
index 90e0c8e5e..24ff6a1ce 100644
--- a/launcher/meta/VersionList.h
+++ b/launcher/meta/VersionList.h
@@ -68,6 +68,8 @@ class VersionList : public BaseVersionList, public BaseEntity {
     void merge(const VersionList::Ptr& other);
     void mergeFromIndex(const VersionList::Ptr& other);
     void parse(const QJsonObject& obj) override;
+    void addExternalRecomends(const QVector<QString>& recomends);
+    void clearExternalRecomends();
 
    signals:
     void nameChanged(const QString& name);
@@ -77,6 +79,7 @@ class VersionList : public BaseVersionList, public BaseEntity {
 
    private:
     QVector<Version::Ptr> m_versions;
+    QStringList m_externalRecommendsVersions;
     QHash<QString, Version::Ptr> m_lookup;
     QString m_uid;
     QString m_name;
diff --git a/launcher/ui/pages/instance/VersionPage.cpp b/launcher/ui/pages/instance/VersionPage.cpp
index 807bc5d58..545798499 100644
--- a/launcher/ui/pages/instance/VersionPage.cpp
+++ b/launcher/ui/pages/instance/VersionPage.cpp
@@ -49,8 +49,10 @@
 #include <QMessageBox>
 #include <QString>
 #include <QUrl>
+#include <algorithm>
 
 #include "VersionPage.h"
+#include "meta/JsonFormat.h"
 #include "ui/dialogs/InstallLoaderDialog.h"
 #include "ui_VersionPage.h"
 
@@ -63,11 +65,9 @@
 
 #include "DesktopServices.h"
 #include "Exception.h"
-#include "Version.h"
 #include "icons/IconList.h"
 #include "minecraft/PackProfile.h"
 #include "minecraft/auth/AccountList.h"
-#include "minecraft/mod/Mod.h"
 
 #include "meta/Index.h"
 #include "meta/VersionList.h"
@@ -370,11 +370,25 @@ void VersionPage::on_actionChange_version_triggered()
     auto patch = m_profile->getComponent(versionRow);
     auto name = patch->getName();
     auto list = patch->getVersionList();
+    list->clearExternalRecomends();
     if (!list) {
         return;
     }
     auto uid = list->uid();
 
+    // recommend the correct lwjgl version for the current minecraft version
+    if (uid == "org.lwjgl" || uid == "org.lwjgl3") {
+        auto minecraft = m_profile->getComponent("net.minecraft");
+        auto lwjglReq = std::find_if(minecraft->m_cachedRequires.cbegin(), minecraft->m_cachedRequires.cend(),
+                                     [uid](const Meta::Require& req) -> bool { return req.uid == uid; });
+        if (lwjglReq != minecraft->m_cachedRequires.cend()) {
+            auto lwjglVersion = !lwjglReq->equalsVersion.isEmpty() ? lwjglReq->equalsVersion : lwjglReq->suggests;
+            if (!lwjglVersion.isEmpty()) {
+                list->addExternalRecomends({ lwjglVersion });
+            }
+        }
+    }
+
     VersionSelectDialog vselect(list.get(), tr("Change %1 version").arg(name), this);
     if (uid == "net.fabricmc.intermediary" || uid == "org.quiltmc.hashed") {
         vselect.setEmptyString(tr("No intermediary mappings versions are currently available."));

From a791e22853da4c93f006883f78f22a4664f06972 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Thu, 20 Jun 2024 19:46:14 -0700
Subject: [PATCH 004/177] fix(instance components): resolve instance componants
 when changing minecraft version

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 launcher/meta/VersionList.cpp      | 28 +++++++++++++
 launcher/meta/VersionList.h        |  2 +
 launcher/minecraft/Component.cpp   |  5 +++
 launcher/minecraft/PackProfile.cpp | 65 +++++++++++++++++++++++++++++-
 launcher/minecraft/PackProfile.h   |  4 ++
 5 files changed, 103 insertions(+), 1 deletion(-)

diff --git a/launcher/meta/VersionList.cpp b/launcher/meta/VersionList.cpp
index 09c83e0b1..0cd33a2b3 100644
--- a/launcher/meta/VersionList.cpp
+++ b/launcher/meta/VersionList.cpp
@@ -16,6 +16,7 @@
 #include "VersionList.h"
 
 #include <QDateTime>
+#include <algorithm>
 
 #include "Application.h"
 #include "Index.h"
@@ -273,4 +274,31 @@ void VersionList::waitToLoad()
     task->start();
     ev.exec();
 }
+
+Version::Ptr VersionList::getRecommendedForParent(const QString& uid, const QString& version)
+{
+    auto foundExplicit = std::find_if(m_versions.begin(), m_versions.end(), [uid, version](Version::Ptr ver) -> bool {
+        auto& reqs = ver->requiredSet();
+        auto parentReq = std::find_if(reqs.begin(), reqs.end(), [uid, version](const Require& req) -> bool {
+            return req.uid == uid && req.equalsVersion == version;
+        });
+        return parentReq != reqs.end() && ver->isRecommended();
+    });
+    if (foundExplicit != m_versions.end()) {
+        return *foundExplicit;
+    }
+
+    Version::Ptr latestCompat = nullptr;
+    for (auto ver : m_versions) {
+        auto& reqs = ver->requiredSet();
+        auto parentReq = std::find_if(reqs.begin(), reqs.end(), [uid, version](const Require& req) -> bool {
+            return req.uid == uid && req.equalsVersion == version;
+        });
+        if (parentReq != reqs.end()) {
+            latestCompat = getBetterVersion(latestCompat, ver);
+        }
+    }
+    return latestCompat;
+}
+
 }  // namespace Meta
diff --git a/launcher/meta/VersionList.h b/launcher/meta/VersionList.h
index 24ff6a1ce..b746d3232 100644
--- a/launcher/meta/VersionList.h
+++ b/launcher/meta/VersionList.h
@@ -43,6 +43,8 @@ class VersionList : public BaseVersionList, public BaseEntity {
     void sortVersions() override;
 
     BaseVersion::Ptr getRecommended() const override;
+    Version::Ptr getRecommendedForParent(const QString& uid, const QString& version);
+
 
     QVariant data(const QModelIndex& index, int role) const override;
     RoleList providesRoles() const override;
diff --git a/launcher/minecraft/Component.cpp b/launcher/minecraft/Component.cpp
index 32a1deb68..f03ffacc0 100644
--- a/launcher/minecraft/Component.cpp
+++ b/launcher/minecraft/Component.cpp
@@ -402,3 +402,8 @@ void Component::updateCachedData()
         emit dataChanged();
     }
 }
+
+QDebug operator<<(QDebug d, const Component& comp) {
+    d << "Component(" << comp.m_uid << " : " << comp.m_cachedVersion << ")";
+    return d;
+}
diff --git a/launcher/minecraft/PackProfile.cpp b/launcher/minecraft/PackProfile.cpp
index 4b17cdf07..b258d8241 100644
--- a/launcher/minecraft/PackProfile.cpp
+++ b/launcher/minecraft/PackProfile.cpp
@@ -38,6 +38,8 @@
  */
 
 #include <Version.h>
+#include <qlogging.h>
+#include <qttypetraits.h>
 #include <QCryptographicHash>
 #include <QDebug>
 #include <QDir>
@@ -47,10 +49,14 @@
 #include <QSaveFile>
 #include <QTimer>
 #include <QUuid>
+#include <algorithm>
 
+#include "Application.h"
 #include "Exception.h"
 #include "FileSystem.h"
 #include "Json.h"
+#include "meta/Index.h"
+#include "meta/JsonFormat.h"
 #include "minecraft/MinecraftInstance.h"
 #include "minecraft/OneSixVersionFormat.h"
 #include "minecraft/ProfileUtils.h"
@@ -58,7 +64,6 @@
 #include "ComponentUpdateTask.h"
 #include "PackProfile.h"
 #include "PackProfile_p.h"
-#include "minecraft/mod/Mod.h"
 #include "modplatform/ModIndex.h"
 
 static const QMap<QString, ModPlatform::ModLoaderType> modloaderMapping{ { "net.neoforged", ModPlatform::NeoForge },
@@ -956,6 +961,35 @@ bool PackProfile::setComponentVersion(const QString& uid, const QString& version
         if (component->revert()) {
             component->setVersion(version);
             component->setImportant(important);
+            component->updateCachedData();
+            // remove linked componants to let them reresolve their versions
+            if (important) {
+                auto linked = collectTreeLinked(uid);
+                for (auto comp : linked) {
+                    if (comp->isCustom()) {
+                        continue;
+                    }
+                    if (modloaderMapping.contains(comp->getID())) {
+                        qDebug() << comp->getID() << "is a mod loader, setting new recomended version...";
+                        auto versionList = APPLICATION->metadataIndex()->get(comp->getID());
+                        if (versionList) {
+                            auto recomended = versionList->getRecommendedForParent(comp->getID(), version);
+                            if (recomended) {
+                                qDebug() << "Setting updated loader version: " << comp->getID() << " = " << recomended->version();
+                                setComponentVersion(comp->getID(), recomended->version());
+                            } else {
+                                qDebug() << "no recomended verison for" << comp->getID();
+                            }
+                        } else {
+                            qDebug() << "no version list in metadata index for" << comp->getID();
+                        }
+                    } else {
+                        qDebug() << comp->getID() << ":" << comp->getVersion() << "linked to important component: " << uid
+                                 << " | Removing so it re-resolves";
+                        remove(comp->getID());
+                    }
+                }
+            }
             return true;
         }
         return false;
@@ -969,6 +1003,35 @@ bool PackProfile::setComponentVersion(const QString& uid, const QString& version
     }
 }
 
+ComponentContainer PackProfile::collectTreeLinked(const QString& uid)
+{
+    ComponentContainer linked;
+    for (auto comp : d->components) {
+        qDebug() << "scanning" << comp->getID() << "for tree link";
+        auto dep = std::find_if(comp->m_cachedRequires.cbegin(), comp->m_cachedRequires.cend(),
+                                [uid](const Meta::Require& req) -> bool { return req.uid == uid; });
+        if (dep != comp->m_cachedRequires.cend()) {
+            qDebug() << comp->getID() << "depends on" << uid;
+            linked.append(comp);
+        }
+    }
+    auto iter = d->componentIndex.find(uid);
+    if (iter != d->componentIndex.end()) {
+        ComponentPtr comp = *iter;
+        comp->updateCachedData();
+        qDebug() << comp->getID() << "has" << comp->m_cachedRequires.size() << "dependencies";
+        for (auto dep : comp->m_cachedRequires) {
+            qDebug() << uid << "depends on" << comp->getID();
+            auto found = d->componentIndex.find(dep.uid);
+            if (found != d->componentIndex.end()) {
+                qDebug() << comp->getID() << "is present";
+                linked.append(*found);
+            }
+        }
+    }
+    return linked;
+}
+
 QString PackProfile::getComponentVersion(const QString& uid) const
 {
     const auto iter = d->componentIndex.find(uid);
diff --git a/launcher/minecraft/PackProfile.h b/launcher/minecraft/PackProfile.h
index e58e9ae9a..f733b3524 100644
--- a/launcher/minecraft/PackProfile.h
+++ b/launcher/minecraft/PackProfile.h
@@ -48,6 +48,7 @@
 
 #include "Component.h"
 #include "LaunchProfile.h"
+#include "minecraft/PackProfile_p.h"
 #include "modplatform/ModIndex.h"
 #include "net/Mode.h"
 
@@ -119,6 +120,9 @@ class PackProfile : public QAbstractListModel {
 
     bool setComponentVersion(const QString& uid, const QString& version, bool important = false);
 
+    /// collects components that are dependant on or dependencies of the component
+    ComponentContainer collectTreeLinked(const QString& uid);
+
     bool installEmpty(const QString& uid, const QString& name);
 
     QString patchFilePathForUid(const QString& uid) const;

From ce280c2d04c8536cc06c012208899430fb6037de Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Mon, 24 Jun 2024 12:55:33 -0700
Subject: [PATCH 005/177] fix misepellings

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 launcher/minecraft/PackProfile.cpp | 15 +++++++--------
 launcher/minecraft/PackProfile_p.h |  2 +-
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/launcher/minecraft/PackProfile.cpp b/launcher/minecraft/PackProfile.cpp
index b258d8241..bdc80b923 100644
--- a/launcher/minecraft/PackProfile.cpp
+++ b/launcher/minecraft/PackProfile.cpp
@@ -961,8 +961,7 @@ bool PackProfile::setComponentVersion(const QString& uid, const QString& version
         if (component->revert()) {
             component->setVersion(version);
             component->setImportant(important);
-            component->updateCachedData();
-            // remove linked componants to let them reresolve their versions
+            // remove linked components to let them re-resolve their versions
             if (important) {
                 auto linked = collectTreeLinked(uid);
                 for (auto comp : linked) {
@@ -970,15 +969,15 @@ bool PackProfile::setComponentVersion(const QString& uid, const QString& version
                         continue;
                     }
                     if (modloaderMapping.contains(comp->getID())) {
-                        qDebug() << comp->getID() << "is a mod loader, setting new recomended version...";
+                        qDebug() << comp->getID() << "is a mod loader, setting new recommended version...";
                         auto versionList = APPLICATION->metadataIndex()->get(comp->getID());
                         if (versionList) {
-                            auto recomended = versionList->getRecommendedForParent(comp->getID(), version);
-                            if (recomended) {
-                                qDebug() << "Setting updated loader version: " << comp->getID() << " = " << recomended->version();
-                                setComponentVersion(comp->getID(), recomended->version());
+                            auto recommended = versionList->getRecommendedForParent(comp->getID(), version);
+                            if (recommended) {
+                                qDebug() << "Setting updated loader version: " << comp->getID() << " = " << recommended->version();
+                                setComponentVersion(comp->getID(), recommended->version());
                             } else {
-                                qDebug() << "no recomended verison for" << comp->getID();
+                                qDebug() << "no recommended version for" << comp->getID();
                             }
                         } else {
                             qDebug() << "no version list in metadata index for" << comp->getID();
diff --git a/launcher/minecraft/PackProfile_p.h b/launcher/minecraft/PackProfile_p.h
index 0cd4fb839..4fb3621f0 100644
--- a/launcher/minecraft/PackProfile_p.h
+++ b/launcher/minecraft/PackProfile_p.h
@@ -3,8 +3,8 @@
 #include <QList>
 #include <QMap>
 #include <QTimer>
-#include <map>
 #include "Component.h"
+#include "tasks/Task.h"
 
 class MinecraftInstance;
 using ComponentContainer = QList<ComponentPtr>;

From a94a081b9c1347d65157ae3162d9adb8fee93c6a Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Mon, 24 Jun 2024 17:08:23 -0700
Subject: [PATCH 006/177] add better profile logging properly resolve important
 dependencies

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 launcher/CMakeLists.txt                    |  27 +++-
 launcher/meta/VersionList.cpp              |   4 +
 launcher/meta/VersionList.h                |   1 +
 launcher/minecraft/Component.cpp           |  12 ++
 launcher/minecraft/Component.h             |   2 +
 launcher/minecraft/ComponentUpdateTask.cpp |  61 ++++-----
 launcher/minecraft/ComponentUpdateTask_p.h |   4 +-
 launcher/minecraft/Logging.cpp             |  25 ++++
 launcher/minecraft/Logging.h               |  26 ++++
 launcher/minecraft/PackProfile.cpp         | 136 +++++++++++++--------
 launcher/modplatform/ModIndex.h            |   2 +-
 11 files changed, 215 insertions(+), 85 deletions(-)
 create mode 100644 launcher/minecraft/Logging.cpp
 create mode 100644 launcher/minecraft/Logging.h

diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt
index 366719dec..e18a8b950 100644
--- a/launcher/CMakeLists.txt
+++ b/launcher/CMakeLists.txt
@@ -206,6 +206,11 @@ set(ICONS_SOURCES
 
 # Support for Minecraft instances and launch
 set(MINECRAFT_SOURCES
+
+    # Logging
+    minecraft/Logging.h
+    minecraft/Logging.cpp
+
     # Minecraft support
     minecraft/auth/AccountData.cpp
     minecraft/auth/AccountData.h
@@ -650,6 +655,22 @@ ecm_qt_declare_logging_category(CORE_SOURCES
     EXPORT "${Launcher_Name}"
 )
 
+ecm_qt_export_logging_category(
+    IDENTIFIER instanceProfileC
+    CATEGORY_NAME "launcher.instance.profile"
+    DEFAULT_SEVERITY Debug
+    DESCRIPTION "Profile actions"
+    EXPORT "${Launcher_Name}"
+)
+
+ecm_qt_export_logging_category(
+    IDENTIFIER instanceProfileResolveC
+    CATEGORY_NAME "launcher.instance.profile.resolve"
+    DEFAULT_SEVERITY Debug
+    DESCRIPTION "Profile component resolusion actions"
+    EXPORT "${Launcher_Name}"
+)
+
 ecm_qt_export_logging_category(
     IDENTIFIER taskLogC
     CATEGORY_NAME "launcher.task"
@@ -662,7 +683,7 @@ ecm_qt_export_logging_category(
     IDENTIFIER taskNetLogC
     CATEGORY_NAME "launcher.task.net"
     DEFAULT_SEVERITY Debug
-    DESCRIPTION "task network action"
+    DESCRIPTION "Task network action"
     EXPORT "${Launcher_Name}"
 )
 
@@ -670,14 +691,14 @@ ecm_qt_export_logging_category(
     IDENTIFIER taskDownloadLogC
     CATEGORY_NAME "launcher.task.net.download"
     DEFAULT_SEVERITY Debug
-    DESCRIPTION "task network download actions"
+    DESCRIPTION "Task network download actions"
     EXPORT "${Launcher_Name}"
 )
 ecm_qt_export_logging_category(
     IDENTIFIER taskUploadLogC
     CATEGORY_NAME "launcher.task.net.upload"
     DEFAULT_SEVERITY Debug
-    DESCRIPTION "task network upload actions"
+    DESCRIPTION "Task network upload actions"
     EXPORT "${Launcher_Name}"
 )
 
diff --git a/launcher/meta/VersionList.cpp b/launcher/meta/VersionList.cpp
index 0cd33a2b3..c133e7d1a 100644
--- a/launcher/meta/VersionList.cpp
+++ b/launcher/meta/VersionList.cpp
@@ -287,7 +287,11 @@ Version::Ptr VersionList::getRecommendedForParent(const QString& uid, const QStr
     if (foundExplicit != m_versions.end()) {
         return *foundExplicit;
     }
+    return nullptr;
+}
 
+Version::Ptr VersionList::getLatestForParent(const QString& uid, const QString& version)
+{
     Version::Ptr latestCompat = nullptr;
     for (auto ver : m_versions) {
         auto& reqs = ver->requiredSet();
diff --git a/launcher/meta/VersionList.h b/launcher/meta/VersionList.h
index b746d3232..05ecd91d2 100644
--- a/launcher/meta/VersionList.h
+++ b/launcher/meta/VersionList.h
@@ -44,6 +44,7 @@ class VersionList : public BaseVersionList, public BaseEntity {
 
     BaseVersion::Ptr getRecommended() const override;
     Version::Ptr getRecommendedForParent(const QString& uid, const QString& version);
+    Version::Ptr getLatestForParent(const QString& uid, const QString& version);
 
 
     QVariant data(const QModelIndex& index, int role) const override;
diff --git a/launcher/minecraft/Component.cpp b/launcher/minecraft/Component.cpp
index f03ffacc0..175e88d08 100644
--- a/launcher/minecraft/Component.cpp
+++ b/launcher/minecraft/Component.cpp
@@ -403,6 +403,18 @@ void Component::updateCachedData()
     }
 }
 
+void Component::waitLoadMeta() {
+
+    if (!m_loaded) {
+        if (!m_metaVersion || !m_metaVersion->isLoaded()) {
+            // wait for the loaded version from meta
+            m_metaVersion = APPLICATION->metadataIndex()->getLoadedVersion(m_uid, m_version);
+        }
+        m_loaded = true;
+        updateCachedData();
+    }
+}
+
 QDebug operator<<(QDebug d, const Component& comp) {
     d << "Component(" << comp.m_uid << " : " << comp.m_cachedVersion << ")";
     return d;
diff --git a/launcher/minecraft/Component.h b/launcher/minecraft/Component.h
index 8aa6b4743..581a3db95 100644
--- a/launcher/minecraft/Component.h
+++ b/launcher/minecraft/Component.h
@@ -64,6 +64,8 @@ class Component : public QObject, public ProblemProvider {
     bool revert();
 
     void updateCachedData();
+    
+    void waitLoadMeta();
 
    signals:
     void dataChanged();
diff --git a/launcher/minecraft/ComponentUpdateTask.cpp b/launcher/minecraft/ComponentUpdateTask.cpp
index 4d205af6c..7bdc11400 100644
--- a/launcher/minecraft/ComponentUpdateTask.cpp
+++ b/launcher/minecraft/ComponentUpdateTask.cpp
@@ -8,6 +8,7 @@
 #include "cassert"
 #include "meta/Index.h"
 #include "meta/Version.h"
+#include "minecraft/MinecraftInstance.h"
 #include "minecraft/OneSixVersionFormat.h"
 #include "minecraft/ProfileUtils.h"
 #include "net/Mode.h"
@@ -15,6 +16,8 @@
 #include "Application.h"
 #include "tasks/Task.h"
 
+#include "minecraft/Logging.h"
+
 /*
  * This is responsible for loading the components of a component list AND resolving dependency issues between them
  */
@@ -36,7 +39,7 @@
 ComponentUpdateTask::ComponentUpdateTask(Mode mode, Net::Mode netmode, PackProfile* list, QObject* parent) : Task(parent)
 {
     d.reset(new ComponentUpdateTaskData);
-    d->m_list = list;
+    d->m_profile = list;
     d->mode = mode;
     d->netmode = netmode;
 }
@@ -45,7 +48,7 @@ ComponentUpdateTask::~ComponentUpdateTask() {}
 
 void ComponentUpdateTask::executeTask()
 {
-    qDebug() << "Loading components";
+    qCDebug(instanceProfileResolveC) << "Loading components";
     loadComponents();
 }
 
@@ -63,7 +66,7 @@ LoadResult composeLoadResult(LoadResult a, LoadResult b)
 static LoadResult loadComponent(ComponentPtr component, Task::Ptr& loadTask, Net::Mode netmode)
 {
     if (component->m_loaded) {
-        qDebug() << component->getName() << "is already loaded";
+        qCDebug(instanceProfileResolveC) << component->getName() << "is already loaded";
         return LoadResult::LoadedLocal;
     }
 
@@ -144,7 +147,7 @@ void ComponentUpdateTask::loadComponents()
     d->remoteLoadSuccessful = true;
 
     // load all the components OR their lists...
-    for (auto component : d->m_list->d->components) {
+    for (auto component : d->m_profile->d->components) {
         Task::Ptr loadTask;
         LoadResult singleResult;
         RemoteLoadStatus::Type loadType;
@@ -175,7 +178,7 @@ void ComponentUpdateTask::loadComponents()
         }
         result = composeLoadResult(result, singleResult);
         if (loadTask) {
-            qDebug() << "Remote loading is being run for" << component->getName();
+            qCDebug(instanceProfileResolveC) << d->m_profile->d->m_instance->name() << "|" << "Remote loading is being run for" << component->getName();
             connect(loadTask.get(), &Task::succeeded, this, [this, taskIndex]() { remoteLoadSucceeded(taskIndex); });
             connect(loadTask.get(), &Task::failed, this, [this, taskIndex](const QString& error) { remoteLoadFailed(taskIndex, error); });
             connect(loadTask.get(), &Task::aborted, this, [this, taskIndex]() { remoteLoadFailed(taskIndex, tr("Aborted")); });
@@ -270,7 +273,7 @@ static bool gatherRequirementsFromComponents(const ComponentContainer& input, Re
                     output.erase(componenRequireEx);
                     output.insert(result.outcome);
                 } else {
-                    qCritical() << "Conflicting requirements:" << componentRequire.uid << "versions:" << componentRequire.equalsVersion
+                    qCCritical(instanceProfileResolveC) << "Conflicting requirements:" << componentRequire.uid << "versions:" << componentRequire.equalsVersion
                                 << ";" << (*found).equalsVersion;
                 }
                 succeeded &= result.ok;
@@ -353,22 +356,22 @@ static bool getTrivialComponentChanges(const ComponentIndex& index, const Requir
         } while (false);
         switch (decision) {
             case Decision::Undetermined:
-                qCritical() << "No decision for" << reqStr;
+                qCCritical(instanceProfileResolveC) << "No decision for" << reqStr;
                 succeeded = false;
                 break;
             case Decision::Met:
-                qDebug() << reqStr << "Is met.";
+                qCDebug(instanceProfileResolveC) << reqStr << "Is met.";
                 break;
             case Decision::Missing:
-                qDebug() << reqStr << "Is missing and should be added at" << req.indexOfFirstDependee;
+                qCDebug(instanceProfileResolveC) << reqStr << "Is missing and should be added at" << req.indexOfFirstDependee;
                 toAdd.insert(req);
                 break;
             case Decision::VersionNotSame:
-                qDebug() << reqStr << "already has different version that can be changed.";
+                qCDebug(instanceProfileResolveC) << reqStr << "already has different version that can be changed.";
                 toChange.insert(req);
                 break;
             case Decision::LockedVersionNotSame:
-                qDebug() << reqStr << "already has different version that cannot be changed.";
+                qCDebug(instanceProfileResolveC) << reqStr << "already has different version that cannot be changed.";
                 succeeded = false;
                 break;
         }
@@ -381,7 +384,7 @@ static bool getTrivialComponentChanges(const ComponentIndex& index, const Requir
 // FIXME: throw all this away and use a graph
 void ComponentUpdateTask::resolveDependencies(bool checkOnly)
 {
-    qDebug() << "Resolving dependencies";
+    qCDebug(instanceProfileResolveC) << "Resolving dependencies";
     /*
      * this is a naive dependency resolving algorithm. all it does is check for following conditions and react in simple ways:
      * 1. There are conflicting dependencies on the same uid with different exact version numbers
@@ -393,8 +396,8 @@ void ComponentUpdateTask::resolveDependencies(bool checkOnly)
      *
      * NOTE: this is a placeholder and should eventually be replaced with something 'serious'
      */
-    auto& components = d->m_list->d->components;
-    auto& componentIndex = d->m_list->d->componentIndex;
+    auto& components = d->m_profile->d->components;
+    auto& componentIndex = d->m_profile->d->componentIndex;
 
     RequireExSet allRequires;
     QStringList toRemove;
@@ -407,10 +410,10 @@ void ComponentUpdateTask::resolveDependencies(bool checkOnly)
         }
         getTrivialRemovals(components, allRequires, toRemove);
         if (!toRemove.isEmpty()) {
-            qDebug() << "Removing obsolete components...";
+            qCDebug(instanceProfileResolveC) << "Removing obsolete components...";
             for (auto& remove : toRemove) {
-                qDebug() << "Removing" << remove;
-                d->m_list->remove(remove);
+                qCDebug(instanceProfileResolveC) << "Removing" << remove;
+                d->m_profile->remove(remove);
             }
         }
     } while (!toRemove.isEmpty());
@@ -434,14 +437,14 @@ void ComponentUpdateTask::resolveDependencies(bool checkOnly)
     if (toAdd.size()) {
         // add stuff...
         for (auto& add : toAdd) {
-            auto component = makeShared<Component>(d->m_list, add.uid);
+            auto component = makeShared<Component>(d->m_profile, add.uid);
             if (!add.equalsVersion.isEmpty()) {
                 // exact version
-                qDebug() << "Adding" << add.uid << "version" << add.equalsVersion << "at position" << add.indexOfFirstDependee;
+                qCDebug(instanceProfileResolveC) << "Adding" << add.uid << "version" << add.equalsVersion << "at position" << add.indexOfFirstDependee;
                 component->m_version = add.equalsVersion;
             } else {
                 // version needs to be decided
-                qDebug() << "Adding" << add.uid << "at position" << add.indexOfFirstDependee;
+                qCDebug(instanceProfileResolveC) << "Adding" << add.uid << "at position" << add.indexOfFirstDependee;
                 // ############################################################################################################
                 // HACK HACK HACK HACK FIXME: this is a placeholder for deciding what version to use. For now, it is hardcoded.
                 if (!add.suggests.isEmpty()) {
@@ -464,7 +467,7 @@ void ComponentUpdateTask::resolveDependencies(bool checkOnly)
             }
             component->m_dependencyOnly = true;
             // FIXME: this should not work directly with the component list
-            d->m_list->insertComponent(add.indexOfFirstDependee, component);
+            d->m_profile->insertComponent(add.indexOfFirstDependee, component);
             componentIndex[add.uid] = component;
         }
         recursionNeeded = true;
@@ -473,7 +476,7 @@ void ComponentUpdateTask::resolveDependencies(bool checkOnly)
         // change a version of something that exists
         for (auto& change : toChange) {
             // FIXME: this should not work directly with the component list
-            qDebug() << "Setting version of " << change.uid << "to" << change.equalsVersion;
+            qCDebug(instanceProfileResolveC) << "Setting version of " << change.uid << "to" << change.equalsVersion;
             auto component = componentIndex[change.uid];
             component->setVersion(change.equalsVersion);
         }
@@ -490,7 +493,7 @@ void ComponentUpdateTask::resolveDependencies(bool checkOnly)
 void ComponentUpdateTask::remoteLoadSucceeded(size_t taskIndex)
 {
     if (static_cast<size_t>(d->remoteLoadStatusList.size()) < taskIndex) {
-        qWarning() << "Got task index outside of results" << taskIndex;
+        qCWarning(instanceProfileResolveC) << "Got task index outside of results" << taskIndex;
         return;
     }
     auto& taskSlot = d->remoteLoadStatusList[taskIndex];
@@ -498,16 +501,16 @@ void ComponentUpdateTask::remoteLoadSucceeded(size_t taskIndex)
     disconnect(taskSlot.task.get(), &Task::failed, this, nullptr);
     disconnect(taskSlot.task.get(), &Task::aborted, this, nullptr);
     if (taskSlot.finished) {
-        qWarning() << "Got multiple results from remote load task" << taskIndex;
+        qCWarning(instanceProfileResolveC) << "Got multiple results from remote load task" << taskIndex;
         return;
     }
-    qDebug() << "Remote task" << taskIndex << "succeeded";
+    qCDebug(instanceProfileResolveC) << "Remote task" << taskIndex << "succeeded";
     taskSlot.succeeded = false;
     taskSlot.finished = true;
     d->remoteTasksInProgress--;
     // update the cached data of the component from the downloaded version file.
     if (taskSlot.type == RemoteLoadStatus::Type::Version) {
-        auto component = d->m_list->getComponent(taskSlot.PackProfileIndex);
+        auto component = d->m_profile->getComponent(taskSlot.PackProfileIndex);
         component->m_loaded = true;
         component->updateCachedData();
     }
@@ -517,7 +520,7 @@ void ComponentUpdateTask::remoteLoadSucceeded(size_t taskIndex)
 void ComponentUpdateTask::remoteLoadFailed(size_t taskIndex, const QString& msg)
 {
     if (static_cast<size_t>(d->remoteLoadStatusList.size()) < taskIndex) {
-        qWarning() << "Got task index outside of results" << taskIndex;
+        qCWarning(instanceProfileResolveC) << "Got task index outside of results" << taskIndex;
         return;
     }
     auto& taskSlot = d->remoteLoadStatusList[taskIndex];
@@ -525,10 +528,10 @@ void ComponentUpdateTask::remoteLoadFailed(size_t taskIndex, const QString& msg)
     disconnect(taskSlot.task.get(), &Task::failed, this, nullptr);
     disconnect(taskSlot.task.get(), &Task::aborted, this, nullptr);
     if (taskSlot.finished) {
-        qWarning() << "Got multiple results from remote load task" << taskIndex;
+        qCWarning(instanceProfileResolveC) << "Got multiple results from remote load task" << taskIndex;
         return;
     }
-    qDebug() << "Remote task" << taskIndex << "failed: " << msg;
+    qCDebug(instanceProfileResolveC) << "Remote task" << taskIndex << "failed: " << msg;
     d->remoteLoadSuccessful = false;
     taskSlot.succeeded = false;
     taskSlot.finished = true;
diff --git a/launcher/minecraft/ComponentUpdateTask_p.h b/launcher/minecraft/ComponentUpdateTask_p.h
index b82553700..2fc0b6d9a 100644
--- a/launcher/minecraft/ComponentUpdateTask_p.h
+++ b/launcher/minecraft/ComponentUpdateTask_p.h
@@ -6,6 +6,8 @@
 #include "net/Mode.h"
 #include "tasks/Task.h"
 
+#include "minecraft/ComponentUpdateTask.h"
+
 class PackProfile;
 
 struct RemoteLoadStatus {
@@ -18,7 +20,7 @@ struct RemoteLoadStatus {
 };
 
 struct ComponentUpdateTaskData {
-    PackProfile* m_list = nullptr;
+    PackProfile* m_profile = nullptr;
     QList<RemoteLoadStatus> remoteLoadStatusList;
     bool remoteLoadSuccessful = true;
     size_t remoteTasksInProgress = 0;
diff --git a/launcher/minecraft/Logging.cpp b/launcher/minecraft/Logging.cpp
new file mode 100644
index 000000000..92596de3e
--- /dev/null
+++ b/launcher/minecraft/Logging.cpp
@@ -0,0 +1,25 @@
+
+// SPDX-License-Identifier: GPL-3.0-only
+/*
+ *  Prism Launcher - Minecraft Launcher
+ *  Copyright (C) 2023 Rachel Powers <508861+Ryex@users.noreply.github.com>
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, version 3.
+ *
+ *  This program 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 General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "minecraft/Logging.h"
+#include <qloggingcategory.h>
+
+Q_LOGGING_CATEGORY(instanceProfileC, "launcher.instance.profile")
+Q_LOGGING_CATEGORY(instanceProfileResolveC, "launcher.instance.profile.resolve")
diff --git a/launcher/minecraft/Logging.h b/launcher/minecraft/Logging.h
new file mode 100644
index 000000000..00d43f419
--- /dev/null
+++ b/launcher/minecraft/Logging.h
@@ -0,0 +1,26 @@
+
+// SPDX-License-Identifier: GPL-3.0-only
+/*
+ *  Prism Launcher - Minecraft Launcher
+ *  Copyright (C) 2023 Rachel Powers <508861+Ryex@users.noreply.github.com>
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, version 3.
+ *
+ *  This program 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 General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#include <QLoggingCategory>
+
+Q_DECLARE_LOGGING_CATEGORY(instanceProfileC)
+Q_DECLARE_LOGGING_CATEGORY(instanceProfileResolveC)
diff --git a/launcher/minecraft/PackProfile.cpp b/launcher/minecraft/PackProfile.cpp
index bdc80b923..09a2ac0cb 100644
--- a/launcher/minecraft/PackProfile.cpp
+++ b/launcher/minecraft/PackProfile.cpp
@@ -39,7 +39,6 @@
 
 #include <Version.h>
 #include <qlogging.h>
-#include <qttypetraits.h>
 #include <QCryptographicHash>
 #include <QDebug>
 #include <QDir>
@@ -66,6 +65,8 @@
 #include "PackProfile_p.h"
 #include "modplatform/ModIndex.h"
 
+#include "minecraft/Logging.h"
+
 static const QMap<QString, ModPlatform::ModLoaderType> modloaderMapping{ { "net.neoforged", ModPlatform::NeoForge },
                                                                          { "net.minecraftforge", ModPlatform::Forge },
                                                                          { "net.fabricmc.fabric-loader", ModPlatform::Fabric },
@@ -159,16 +160,16 @@ static bool savePackProfile(const QString& filename, const ComponentContainer& c
     obj.insert("components", orderArray);
     QSaveFile outFile(filename);
     if (!outFile.open(QFile::WriteOnly)) {
-        qCritical() << "Couldn't open" << outFile.fileName() << "for writing:" << outFile.errorString();
+        qCCritical(instanceProfileC) << "Couldn't open" << outFile.fileName() << "for writing:" << outFile.errorString();
         return false;
     }
     auto data = QJsonDocument(obj).toJson(QJsonDocument::Indented);
     if (outFile.write(data) != data.size()) {
-        qCritical() << "Couldn't write all the data into" << outFile.fileName() << "because:" << outFile.errorString();
+        qCCritical(instanceProfileC) << "Couldn't write all the data into" << outFile.fileName() << "because:" << outFile.errorString();
         return false;
     }
     if (!outFile.commit()) {
-        qCritical() << "Couldn't save" << outFile.fileName() << "because:" << outFile.errorString();
+        qCCritical(instanceProfileC) << "Couldn't save" << outFile.fileName() << "because:" << outFile.errorString();
     }
     return true;
 }
@@ -181,12 +182,12 @@ static bool loadPackProfile(PackProfile* parent,
 {
     QFile componentsFile(filename);
     if (!componentsFile.exists()) {
-        qWarning() << "Components file doesn't exist. This should never happen.";
+        qCWarning(instanceProfileC) << "Components file" << filename << "doesn't exist. This should never happen.";
         return false;
     }
     if (!componentsFile.open(QFile::ReadOnly)) {
-        qCritical() << "Couldn't open" << componentsFile.fileName() << " for reading:" << componentsFile.errorString();
-        qWarning() << "Ignoring overriden order";
+        qCCritical(instanceProfileC) << "Couldn't open" << componentsFile.fileName() << " for reading:" << componentsFile.errorString();
+        qCWarning(instanceProfileC) << "Ignoring overridden order";
         return false;
     }
 
@@ -194,8 +195,8 @@ static bool loadPackProfile(PackProfile* parent,
     QJsonParseError error;
     QJsonDocument doc = QJsonDocument::fromJson(componentsFile.readAll(), &error);
     if (error.error != QJsonParseError::NoError) {
-        qCritical() << "Couldn't parse" << componentsFile.fileName() << ":" << error.errorString();
-        qWarning() << "Ignoring overriden order";
+        qCCritical(instanceProfileC) << "Couldn't parse" << componentsFile.fileName() << ":" << error.errorString();
+        qCWarning(instanceProfileC) << "Ignoring overridden order";
         return false;
     }
 
@@ -213,7 +214,7 @@ static bool loadPackProfile(PackProfile* parent,
             container.append(componentFromJsonV1(parent, componentJsonPattern, comp_obj));
         }
     } catch ([[maybe_unused]] const JSONValidationError& err) {
-        qCritical() << "Couldn't parse" << componentsFile.fileName() << ": bad file format";
+        qCCritical(instanceProfileC) << "Couldn't parse" << componentsFile.fileName() << ": bad file format";
         container.clear();
         return false;
     }
@@ -246,12 +247,12 @@ void PackProfile::buildingFromScratch()
 void PackProfile::scheduleSave()
 {
     if (!d->loaded) {
-        qDebug() << "Component list should never save if it didn't successfully load, instance:" << d->m_instance->name();
+        qDebug() << d->m_instance->name() << "|" << "Component list should never save if it didn't successfully load";
         return;
     }
     if (!d->dirty) {
         d->dirty = true;
-        qDebug() << "Component list save is scheduled for" << d->m_instance->name();
+        qDebug() << d->m_instance->name() << "|" << "Component list save is scheduled";
     }
     d->m_saveTimer.start();
 }
@@ -278,7 +279,7 @@ QString PackProfile::patchFilePathForUid(const QString& uid) const
 
 void PackProfile::save_internal()
 {
-    qDebug() << "Component list save performed now for" << d->m_instance->name();
+    qDebug() << d->m_instance->name() << "|" << "Component list save performed now";
     auto filename = componentsFilePath();
     savePackProfile(filename, d->components);
     d->dirty = false;
@@ -291,7 +292,7 @@ bool PackProfile::load()
     // load the new component list and swap it with the current one...
     ComponentContainer newComponents;
     if (!loadPackProfile(this, filename, patchesPattern(), newComponents)) {
-        qCritical() << "Failed to load the component config for instance" << d->m_instance->name();
+        qCritical() << d->m_instance->name() << "|" << "Failed to load the component config";
         return false;
     } else {
         // FIXME: actually use fine-grained updates, not this...
@@ -304,7 +305,7 @@ bool PackProfile::load()
         d->componentIndex.clear();
         for (auto component : newComponents) {
             if (d->componentIndex.contains(component->m_uid)) {
-                qWarning() << "Ignoring duplicate component entry" << component->m_uid;
+                qWarning() << d->m_instance->name() << "|" << "Ignoring duplicate component entry" << component->m_uid;
                 continue;
             }
             connect(component.get(), &Component::dataChanged, this, &PackProfile::componentDataChanged);
@@ -352,14 +353,14 @@ void PackProfile::resolve(Net::Mode netmode)
 
 void PackProfile::updateSucceeded()
 {
-    qDebug() << "Component list update/resolve task succeeded for" << d->m_instance->name();
+    qCDebug(instanceProfileC) << d->m_instance->name() << "|" << "Component list update/resolve task succeeded";
     d->m_updateTask.reset();
     invalidateLaunchProfile();
 }
 
 void PackProfile::updateFailed(const QString& error)
 {
-    qDebug() << "Component list update/resolve task failed for" << d->m_instance->name() << "Reason:" << error;
+    qCDebug(instanceProfileC) << d->m_instance->name() << "|" << "Component list update/resolve task failed " << "Reason:" << error;
     d->m_updateTask.reset();
     invalidateLaunchProfile();
 }
@@ -375,11 +376,11 @@ void PackProfile::insertComponent(size_t index, ComponentPtr component)
 {
     auto id = component->getID();
     if (id.isEmpty()) {
-        qWarning() << "Attempt to add a component with empty ID!";
+        qCWarning(instanceProfileC) << d->m_instance->name() << "|" << "Attempt to add a component with empty ID!";
         return;
     }
     if (d->componentIndex.contains(id)) {
-        qWarning() << "Attempt to add a component that is already present!";
+        qCWarning(instanceProfileC) << d->m_instance->name() << "|" << "Attempt to add a component that is already present!";
         return;
     }
     beginInsertRows(QModelIndex(), static_cast<int>(index), static_cast<int>(index));
@@ -394,7 +395,7 @@ void PackProfile::componentDataChanged()
 {
     auto objPtr = qobject_cast<Component*>(sender());
     if (!objPtr) {
-        qWarning() << "PackProfile got dataChanged signal from a non-Component!";
+        qCWarning(instanceProfileC) << d->m_instance->name() << "|" << "PackProfile got dataChanged signal from a non-Component!";
         return;
     }
     if (objPtr->getID() == "net.minecraft") {
@@ -410,19 +411,20 @@ void PackProfile::componentDataChanged()
         }
         index++;
     }
-    qWarning() << "PackProfile got dataChanged signal from a Component which does not belong to it!";
+    qCWarning(instanceProfileC) << d->m_instance->name() << "|"
+                                << "PackProfile got dataChanged signal from a Component which does not belong to it!";
 }
 
 bool PackProfile::remove(const int index)
 {
     auto patch = getComponent(index);
     if (!patch->isRemovable()) {
-        qWarning() << "Patch" << patch->getID() << "is non-removable";
+        qCWarning(instanceProfileC) << d->m_instance->name() << "|" << "Patch" << patch->getID() << "is non-removable";
         return false;
     }
 
     if (!removeComponent_internal(patch)) {
-        qCritical() << "Patch" << patch->getID() << "could not be removed";
+        qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Patch" << patch->getID() << "could not be removed";
         return false;
     }
 
@@ -451,11 +453,11 @@ bool PackProfile::customize(int index)
 {
     auto patch = getComponent(index);
     if (!patch->isCustomizable()) {
-        qDebug() << "Patch" << patch->getID() << "is not customizable";
+        qCDebug(instanceProfileC) << d->m_instance->name() << "|" << "Patch" << patch->getID() << "is not customizable";
         return false;
     }
     if (!patch->customize()) {
-        qCritical() << "Patch" << patch->getID() << "could not be customized";
+        qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Patch" << patch->getID() << "could not be customized";
         return false;
     }
     invalidateLaunchProfile();
@@ -467,11 +469,11 @@ bool PackProfile::revertToBase(int index)
 {
     auto patch = getComponent(index);
     if (!patch->isRevertible()) {
-        qDebug() << "Patch" << patch->getID() << "is not revertible";
+        qCDebug(instanceProfileC) << d->m_instance->name() << "|" << "Patch" << patch->getID() << "is not revertible";
         return false;
     }
     if (!patch->revert()) {
-        qCritical() << "Patch" << patch->getID() << "could not be reverted";
+        qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Patch" << patch->getID() << "could not be reverted";
         return false;
     }
     invalidateLaunchProfile();
@@ -684,7 +686,8 @@ bool PackProfile::installComponents(QStringList selectedFiles)
         const QString target = FS::PathCombine(patchDir, versionFile->uid + ".json");
 
         if (!QFile::copy(source, target)) {
-            qWarning() << "Component" << source << "could not be copied to target" << target;
+            qCWarning(instanceProfileC) << d->m_instance->name() << "|" << "Component" << source << "could not be copied to target"
+                                        << target;
             result = false;
             continue;
         }
@@ -717,7 +720,8 @@ bool PackProfile::installEmpty(const QString& uid, const QString& name)
     QString patchFileName = FS::PathCombine(patchDir, uid + ".json");
     QFile file(patchFileName);
     if (!file.open(QFile::WriteOnly)) {
-        qCritical() << "Error opening" << file.fileName() << "for reading:" << file.errorString();
+        qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Error opening" << file.fileName()
+                                     << "for reading:" << file.errorString();
         return false;
     }
     file.write(OneSixVersionFormat::versionFileToJson(f).toJson());
@@ -737,7 +741,8 @@ bool PackProfile::removeComponent_internal(ComponentPtr patch)
     if (fileName.size()) {
         QFile patchFile(fileName);
         if (patchFile.exists() && !patchFile.remove()) {
-            qCritical() << "File" << fileName << "could not be removed because:" << patchFile.errorString();
+            qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "File" << fileName
+                                         << "could not be removed because:" << patchFile.errorString();
             return false;
         }
     }
@@ -753,7 +758,8 @@ bool PackProfile::removeComponent_internal(ComponentPtr patch)
         if (finfo.exists()) {
             QFile jarModFile(jar[0]);
             if (!jarModFile.remove()) {
-                qCritical() << "File" << jar[0] << "could not be removed because:" << jarModFile.errorString();
+                qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "File" << jar[0]
+                                             << "could not be removed because:" << jarModFile.errorString();
                 return false;
             }
             return true;
@@ -810,7 +816,8 @@ bool PackProfile::installJarMods_internal(QStringList filepaths)
 
         QFile file(patchFileName);
         if (!file.open(QFile::WriteOnly)) {
-            qCritical() << "Error opening" << file.fileName() << "for reading:" << file.errorString();
+            qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Error opening" << file.fileName()
+                                         << "for reading:" << file.errorString();
             return false;
         }
         file.write(OneSixVersionFormat::versionFileToJson(f).toJson());
@@ -864,7 +871,8 @@ bool PackProfile::installCustomJar_internal(QString filepath)
 
     QFile file(patchFileName);
     if (!file.open(QFile::WriteOnly)) {
-        qCritical() << "Error opening" << file.fileName() << "for reading:" << file.errorString();
+        qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Error opening" << file.fileName()
+                                     << "for reading:" << file.errorString();
         return false;
     }
     file.write(OneSixVersionFormat::versionFileToJson(f).toJson());
@@ -919,7 +927,8 @@ bool PackProfile::installAgents_internal(QStringList filepaths)
         QFile patchFile(FS::PathCombine(patchDir, targetId + ".json"));
 
         if (!patchFile.open(QFile::WriteOnly)) {
-            qCritical() << "Error opening" << patchFile.fileName() << "for reading:" << patchFile.errorString();
+            qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Error opening" << patchFile.fileName()
+                                         << "for reading:" << patchFile.errorString();
             return false;
         }
 
@@ -941,12 +950,13 @@ std::shared_ptr<LaunchProfile> PackProfile::getProfile() const
         try {
             auto profile = std::make_shared<LaunchProfile>();
             for (auto file : d->components) {
-                qDebug() << "Applying" << file->getID() << (file->getProblemSeverity() == ProblemSeverity::Error ? "ERROR" : "GOOD");
+                qCDebug(instanceProfileC) << d->m_instance->name() << "|" << "Applying" << file->getID()
+                                          << (file->getProblemSeverity() == ProblemSeverity::Error ? "ERROR" : "GOOD");
                 file->applyTo(profile.get());
             }
             d->m_profile = profile;
         } catch (const Exception& error) {
-            qWarning() << "Couldn't apply profile patches because: " << error.cause();
+            qCWarning(instanceProfileC) << d->m_instance->name() << "|" << "Couldn't apply profile patches because: " << error.cause();
         }
     }
     return d->m_profile;
@@ -959,36 +969,58 @@ bool PackProfile::setComponentVersion(const QString& uid, const QString& version
         ComponentPtr component = *iter;
         // set existing
         if (component->revert()) {
-            component->setVersion(version);
-            component->setImportant(important);
             // remove linked components to let them re-resolve their versions
             if (important) {
+                component->waitLoadMeta();
                 auto linked = collectTreeLinked(uid);
                 for (auto comp : linked) {
                     if (comp->isCustom()) {
                         continue;
                     }
                     if (modloaderMapping.contains(comp->getID())) {
-                        qDebug() << comp->getID() << "is a mod loader, setting new recommended version...";
+                        qCDebug(instanceProfileC)
+                            << d->m_instance->name() << "|" << comp->getID() << "is a mod loader, updating it to a compatible version";
+
                         auto versionList = APPLICATION->metadataIndex()->get(comp->getID());
+                        versionList->waitToLoad();
                         if (versionList) {
-                            auto recommended = versionList->getRecommendedForParent(comp->getID(), version);
+                            auto recommended = versionList->getRecommendedForParent(uid, version);
                             if (recommended) {
-                                qDebug() << "Setting updated loader version: " << comp->getID() << " = " << recommended->version();
-                                setComponentVersion(comp->getID(), recommended->version());
+                                qCDebug(instanceProfileC)
+                                    << d->m_instance->name() << "|" << "setting updated loader to recommended version: " << comp->getID()
+                                    << " = " << recommended->version();
+                                comp->setVersion(recommended->version());
                             } else {
-                                qDebug() << "no recommended version for" << comp->getID();
+                                auto latest = versionList->getLatestForParent(uid, version);
+                                if (latest) {
+                                    qCDebug(instanceProfileC) << d->m_instance->name() << "|"
+                                                              << "setting updated loader to latest compatible version: " << comp->getID()
+                                                              << " = " << latest->version();
+                                    comp->setVersion(latest->version());
+                                } else {
+                                    qCDebug(instanceProfileC)
+                                        << d->m_instance->name() << "|" << "no compatible version for" << comp->getID() << "removing";
+                                    remove(comp->getID());
+                                }
                             }
                         } else {
-                            qDebug() << "no version list in metadata index for" << comp->getID();
+                            qCDebug(instanceProfileC)
+                                << d->m_instance->name() << "|" << "no version list in metadata index for" << comp->getID();
                         }
                     } else {
-                        qDebug() << comp->getID() << ":" << comp->getVersion() << "linked to important component: " << uid
-                                 << " | Removing so it re-resolves";
+                        qCDebug(instanceProfileC) << d->m_instance->name() << "|" << comp->getID() << ":" << comp->getVersion()
+                                                  << "linked to important component: " << uid << " | Removing so it re-resolves";
                         remove(comp->getID());
                     }
                 }
             }
+            // set new version
+            component->setVersion(version);
+            component->setImportant(important);
+
+            if (important) {
+                resolve(Net::Mode::Online);
+            }
             return true;
         }
         return false;
@@ -1006,11 +1038,12 @@ ComponentContainer PackProfile::collectTreeLinked(const QString& uid)
 {
     ComponentContainer linked;
     for (auto comp : d->components) {
-        qDebug() << "scanning" << comp->getID() << "for tree link";
+        qCDebug(instanceProfileC) << d->m_instance->name() << "|" << "scanning" << comp->getID() << ":" << comp->getVersion()
+                                  << "for tree link";
         auto dep = std::find_if(comp->m_cachedRequires.cbegin(), comp->m_cachedRequires.cend(),
                                 [uid](const Meta::Require& req) -> bool { return req.uid == uid; });
         if (dep != comp->m_cachedRequires.cend()) {
-            qDebug() << comp->getID() << "depends on" << uid;
+            qCDebug(instanceProfileResolveC) << comp->getID() << ":" << comp->getVersion() << "depends on" << uid;
             linked.append(comp);
         }
     }
@@ -1018,12 +1051,13 @@ ComponentContainer PackProfile::collectTreeLinked(const QString& uid)
     if (iter != d->componentIndex.end()) {
         ComponentPtr comp = *iter;
         comp->updateCachedData();
-        qDebug() << comp->getID() << "has" << comp->m_cachedRequires.size() << "dependencies";
+        qCDebug(instanceProfileC) << d->m_instance->name() << "|" << comp->getID() << ":" << comp->getVersion() << "has"
+                                  << comp->m_cachedRequires.size() << "dependencies";
         for (auto dep : comp->m_cachedRequires) {
-            qDebug() << uid << "depends on" << comp->getID();
+            qCDebug(instanceProfileC) << d->m_instance->name() << "|" << uid << "depends on" << dep.uid;
             auto found = d->componentIndex.find(dep.uid);
             if (found != d->componentIndex.end()) {
-                qDebug() << comp->getID() << "is present";
+                qCDebug(instanceProfileC) << d->m_instance->name() << "|" << (*found)->getID() << "is present";
                 linked.append(*found);
             }
         }
diff --git a/launcher/modplatform/ModIndex.h b/launcher/modplatform/ModIndex.h
index 91c9898a9..b3f86933f 100644
--- a/launcher/modplatform/ModIndex.h
+++ b/launcher/modplatform/ModIndex.h
@@ -44,7 +44,7 @@ namespace ProviderCapabilities {
 const char* name(ResourceProvider);
 QString readableName(ResourceProvider);
 QStringList hashType(ResourceProvider);
-};  // namespace ProviderCapabilities
+}  // namespace ProviderCapabilities
 
 struct ModpackAuthor {
     QString name;

From cf319649f9c457bba14d097ae9ce4c839be188b2 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Mon, 24 Jun 2024 17:28:42 -0700
Subject: [PATCH 007/177] fix qt5 lwjgl recommend + spelling

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 launcher/meta/VersionList.cpp              | 6 +++---
 launcher/meta/VersionList.h                | 4 ++--
 launcher/ui/pages/instance/VersionPage.cpp | 4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/launcher/meta/VersionList.cpp b/launcher/meta/VersionList.cpp
index c133e7d1a..8bc326839 100644
--- a/launcher/meta/VersionList.cpp
+++ b/launcher/meta/VersionList.cpp
@@ -180,12 +180,12 @@ void VersionList::parse(const QJsonObject& obj)
     parseVersionList(obj, this);
 }
 
-void VersionList::addExternalRecomends(const QVector<QString>& recomends)
+void VersionList::addExternalRecommends(const QStringList& recommends)
 {
-    m_externalRecommendsVersions.append(recomends);
+    m_externalRecommendsVersions.append(recommends);
 }
 
-void VersionList::clearExternalRecomends()
+void VersionList::clearExternalRecommends()
 {
     m_externalRecommendsVersions.clear();
 }
diff --git a/launcher/meta/VersionList.h b/launcher/meta/VersionList.h
index 05ecd91d2..2e46a79f0 100644
--- a/launcher/meta/VersionList.h
+++ b/launcher/meta/VersionList.h
@@ -71,8 +71,8 @@ class VersionList : public BaseVersionList, public BaseEntity {
     void merge(const VersionList::Ptr& other);
     void mergeFromIndex(const VersionList::Ptr& other);
     void parse(const QJsonObject& obj) override;
-    void addExternalRecomends(const QVector<QString>& recomends);
-    void clearExternalRecomends();
+    void addExternalRecommends(const QStringList& recommends);
+    void clearExternalRecommends();
 
    signals:
     void nameChanged(const QString& name);
diff --git a/launcher/ui/pages/instance/VersionPage.cpp b/launcher/ui/pages/instance/VersionPage.cpp
index 545798499..8ae21d2e4 100644
--- a/launcher/ui/pages/instance/VersionPage.cpp
+++ b/launcher/ui/pages/instance/VersionPage.cpp
@@ -370,7 +370,7 @@ void VersionPage::on_actionChange_version_triggered()
     auto patch = m_profile->getComponent(versionRow);
     auto name = patch->getName();
     auto list = patch->getVersionList();
-    list->clearExternalRecomends();
+    list->clearExternalRecommends();
     if (!list) {
         return;
     }
@@ -384,7 +384,7 @@ void VersionPage::on_actionChange_version_triggered()
         if (lwjglReq != minecraft->m_cachedRequires.cend()) {
             auto lwjglVersion = !lwjglReq->equalsVersion.isEmpty() ? lwjglReq->equalsVersion : lwjglReq->suggests;
             if (!lwjglVersion.isEmpty()) {
-                list->addExternalRecomends({ lwjglVersion });
+                list->addExternalRecommends({ lwjglVersion });
             }
         }
     }

From 474effe7c74a8d78a6e35cd742e99669353bf19e Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Tue, 25 Jun 2024 11:13:15 +0300
Subject: [PATCH 008/177] clang-format

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/meta/VersionList.cpp              |   5 +-
 launcher/meta/VersionList.h                |   1 -
 launcher/minecraft/Component.cpp           |   7 +-
 launcher/minecraft/Component.h             |   2 +-
 launcher/minecraft/ComponentUpdateTask.cpp |  10 +-
 launcher/minecraft/PackProfile.cpp         | 101 ++++++++++++---------
 6 files changed, 74 insertions(+), 52 deletions(-)

diff --git a/launcher/meta/VersionList.cpp b/launcher/meta/VersionList.cpp
index 8bc326839..28a42d28d 100644
--- a/launcher/meta/VersionList.cpp
+++ b/launcher/meta/VersionList.cpp
@@ -254,8 +254,9 @@ void VersionList::setupAddedVersion(const int row, const Version::Ptr& version)
 
     connect(version.get(), &Version::requiresChanged, this,
             [this, row]() { emit dataChanged(index(row), index(row), QVector<int>() << RequiresRole); });
-    connect(version.get(), &Version::timeChanged, this,
-            [this, row]() { emit dataChanged(index(row), index(row), { TimeRole, SortRole }); });
+    connect(version.get(), &Version::timeChanged, this, [this, row]() {
+        emit dataChanged(index(row), index(row), { TimeRole, SortRole });
+    });
     connect(version.get(), &Version::typeChanged, this, [this, row]() { emit dataChanged(index(row), index(row), { TypeRole }); });
 }
 
diff --git a/launcher/meta/VersionList.h b/launcher/meta/VersionList.h
index 2e46a79f0..eb79e96f1 100644
--- a/launcher/meta/VersionList.h
+++ b/launcher/meta/VersionList.h
@@ -46,7 +46,6 @@ class VersionList : public BaseVersionList, public BaseEntity {
     Version::Ptr getRecommendedForParent(const QString& uid, const QString& version);
     Version::Ptr getLatestForParent(const QString& uid, const QString& version);
 
-
     QVariant data(const QModelIndex& index, int role) const override;
     RoleList providesRoles() const override;
     QHash<int, QByteArray> roleNames() const override;
diff --git a/launcher/minecraft/Component.cpp b/launcher/minecraft/Component.cpp
index 175e88d08..6ea9ee60b 100644
--- a/launcher/minecraft/Component.cpp
+++ b/launcher/minecraft/Component.cpp
@@ -403,8 +403,8 @@ void Component::updateCachedData()
     }
 }
 
-void Component::waitLoadMeta() {
-
+void Component::waitLoadMeta()
+{
     if (!m_loaded) {
         if (!m_metaVersion || !m_metaVersion->isLoaded()) {
             // wait for the loaded version from meta
@@ -415,7 +415,8 @@ void Component::waitLoadMeta() {
     }
 }
 
-QDebug operator<<(QDebug d, const Component& comp) {
+QDebug operator<<(QDebug d, const Component& comp)
+{
     d << "Component(" << comp.m_uid << " : " << comp.m_cachedVersion << ")";
     return d;
 }
diff --git a/launcher/minecraft/Component.h b/launcher/minecraft/Component.h
index 581a3db95..67d79e231 100644
--- a/launcher/minecraft/Component.h
+++ b/launcher/minecraft/Component.h
@@ -64,7 +64,7 @@ class Component : public QObject, public ProblemProvider {
     bool revert();
 
     void updateCachedData();
-    
+
     void waitLoadMeta();
 
    signals:
diff --git a/launcher/minecraft/ComponentUpdateTask.cpp b/launcher/minecraft/ComponentUpdateTask.cpp
index 7bdc11400..dc59d2dc9 100644
--- a/launcher/minecraft/ComponentUpdateTask.cpp
+++ b/launcher/minecraft/ComponentUpdateTask.cpp
@@ -178,7 +178,8 @@ void ComponentUpdateTask::loadComponents()
         }
         result = composeLoadResult(result, singleResult);
         if (loadTask) {
-            qCDebug(instanceProfileResolveC) << d->m_profile->d->m_instance->name() << "|" << "Remote loading is being run for" << component->getName();
+            qCDebug(instanceProfileResolveC) << d->m_profile->d->m_instance->name() << "|"
+                                             << "Remote loading is being run for" << component->getName();
             connect(loadTask.get(), &Task::succeeded, this, [this, taskIndex]() { remoteLoadSucceeded(taskIndex); });
             connect(loadTask.get(), &Task::failed, this, [this, taskIndex](const QString& error) { remoteLoadFailed(taskIndex, error); });
             connect(loadTask.get(), &Task::aborted, this, [this, taskIndex]() { remoteLoadFailed(taskIndex, tr("Aborted")); });
@@ -273,8 +274,8 @@ static bool gatherRequirementsFromComponents(const ComponentContainer& input, Re
                     output.erase(componenRequireEx);
                     output.insert(result.outcome);
                 } else {
-                    qCCritical(instanceProfileResolveC) << "Conflicting requirements:" << componentRequire.uid << "versions:" << componentRequire.equalsVersion
-                                << ";" << (*found).equalsVersion;
+                    qCCritical(instanceProfileResolveC) << "Conflicting requirements:" << componentRequire.uid
+                                                        << "versions:" << componentRequire.equalsVersion << ";" << (*found).equalsVersion;
                 }
                 succeeded &= result.ok;
             } else {
@@ -440,7 +441,8 @@ void ComponentUpdateTask::resolveDependencies(bool checkOnly)
             auto component = makeShared<Component>(d->m_profile, add.uid);
             if (!add.equalsVersion.isEmpty()) {
                 // exact version
-                qCDebug(instanceProfileResolveC) << "Adding" << add.uid << "version" << add.equalsVersion << "at position" << add.indexOfFirstDependee;
+                qCDebug(instanceProfileResolveC)
+                    << "Adding" << add.uid << "version" << add.equalsVersion << "at position" << add.indexOfFirstDependee;
                 component->m_version = add.equalsVersion;
             } else {
                 // version needs to be decided
diff --git a/launcher/minecraft/PackProfile.cpp b/launcher/minecraft/PackProfile.cpp
index 09a2ac0cb..ce57288f6 100644
--- a/launcher/minecraft/PackProfile.cpp
+++ b/launcher/minecraft/PackProfile.cpp
@@ -247,12 +247,14 @@ void PackProfile::buildingFromScratch()
 void PackProfile::scheduleSave()
 {
     if (!d->loaded) {
-        qDebug() << d->m_instance->name() << "|" << "Component list should never save if it didn't successfully load";
+        qDebug() << d->m_instance->name() << "|"
+                 << "Component list should never save if it didn't successfully load";
         return;
     }
     if (!d->dirty) {
         d->dirty = true;
-        qDebug() << d->m_instance->name() << "|" << "Component list save is scheduled";
+        qDebug() << d->m_instance->name() << "|"
+                 << "Component list save is scheduled";
     }
     d->m_saveTimer.start();
 }
@@ -279,7 +281,8 @@ QString PackProfile::patchFilePathForUid(const QString& uid) const
 
 void PackProfile::save_internal()
 {
-    qDebug() << d->m_instance->name() << "|" << "Component list save performed now";
+    qDebug() << d->m_instance->name() << "|"
+             << "Component list save performed now";
     auto filename = componentsFilePath();
     savePackProfile(filename, d->components);
     d->dirty = false;
@@ -292,7 +295,8 @@ bool PackProfile::load()
     // load the new component list and swap it with the current one...
     ComponentContainer newComponents;
     if (!loadPackProfile(this, filename, patchesPattern(), newComponents)) {
-        qCritical() << d->m_instance->name() << "|" << "Failed to load the component config";
+        qCritical() << d->m_instance->name() << "|"
+                    << "Failed to load the component config";
         return false;
     } else {
         // FIXME: actually use fine-grained updates, not this...
@@ -305,7 +309,8 @@ bool PackProfile::load()
         d->componentIndex.clear();
         for (auto component : newComponents) {
             if (d->componentIndex.contains(component->m_uid)) {
-                qWarning() << d->m_instance->name() << "|" << "Ignoring duplicate component entry" << component->m_uid;
+                qWarning() << d->m_instance->name() << "|"
+                           << "Ignoring duplicate component entry" << component->m_uid;
                 continue;
             }
             connect(component.get(), &Component::dataChanged, this, &PackProfile::componentDataChanged);
@@ -353,14 +358,17 @@ void PackProfile::resolve(Net::Mode netmode)
 
 void PackProfile::updateSucceeded()
 {
-    qCDebug(instanceProfileC) << d->m_instance->name() << "|" << "Component list update/resolve task succeeded";
+    qCDebug(instanceProfileC) << d->m_instance->name() << "|"
+                              << "Component list update/resolve task succeeded";
     d->m_updateTask.reset();
     invalidateLaunchProfile();
 }
 
 void PackProfile::updateFailed(const QString& error)
 {
-    qCDebug(instanceProfileC) << d->m_instance->name() << "|" << "Component list update/resolve task failed " << "Reason:" << error;
+    qCDebug(instanceProfileC) << d->m_instance->name() << "|"
+                              << "Component list update/resolve task failed "
+                              << "Reason:" << error;
     d->m_updateTask.reset();
     invalidateLaunchProfile();
 }
@@ -376,11 +384,13 @@ void PackProfile::insertComponent(size_t index, ComponentPtr component)
 {
     auto id = component->getID();
     if (id.isEmpty()) {
-        qCWarning(instanceProfileC) << d->m_instance->name() << "|" << "Attempt to add a component with empty ID!";
+        qCWarning(instanceProfileC) << d->m_instance->name() << "|"
+                                    << "Attempt to add a component with empty ID!";
         return;
     }
     if (d->componentIndex.contains(id)) {
-        qCWarning(instanceProfileC) << d->m_instance->name() << "|" << "Attempt to add a component that is already present!";
+        qCWarning(instanceProfileC) << d->m_instance->name() << "|"
+                                    << "Attempt to add a component that is already present!";
         return;
     }
     beginInsertRows(QModelIndex(), static_cast<int>(index), static_cast<int>(index));
@@ -395,7 +405,8 @@ void PackProfile::componentDataChanged()
 {
     auto objPtr = qobject_cast<Component*>(sender());
     if (!objPtr) {
-        qCWarning(instanceProfileC) << d->m_instance->name() << "|" << "PackProfile got dataChanged signal from a non-Component!";
+        qCWarning(instanceProfileC) << d->m_instance->name() << "|"
+                                    << "PackProfile got dataChanged signal from a non-Component!";
         return;
     }
     if (objPtr->getID() == "net.minecraft") {
@@ -419,12 +430,14 @@ bool PackProfile::remove(const int index)
 {
     auto patch = getComponent(index);
     if (!patch->isRemovable()) {
-        qCWarning(instanceProfileC) << d->m_instance->name() << "|" << "Patch" << patch->getID() << "is non-removable";
+        qCWarning(instanceProfileC) << d->m_instance->name() << "|"
+                                    << "Patch" << patch->getID() << "is non-removable";
         return false;
     }
 
     if (!removeComponent_internal(patch)) {
-        qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Patch" << patch->getID() << "could not be removed";
+        qCCritical(instanceProfileC) << d->m_instance->name() << "|"
+                                     << "Patch" << patch->getID() << "could not be removed";
         return false;
     }
 
@@ -453,11 +466,13 @@ bool PackProfile::customize(int index)
 {
     auto patch = getComponent(index);
     if (!patch->isCustomizable()) {
-        qCDebug(instanceProfileC) << d->m_instance->name() << "|" << "Patch" << patch->getID() << "is not customizable";
+        qCDebug(instanceProfileC) << d->m_instance->name() << "|"
+                                  << "Patch" << patch->getID() << "is not customizable";
         return false;
     }
     if (!patch->customize()) {
-        qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Patch" << patch->getID() << "could not be customized";
+        qCCritical(instanceProfileC) << d->m_instance->name() << "|"
+                                     << "Patch" << patch->getID() << "could not be customized";
         return false;
     }
     invalidateLaunchProfile();
@@ -469,11 +484,13 @@ bool PackProfile::revertToBase(int index)
 {
     auto patch = getComponent(index);
     if (!patch->isRevertible()) {
-        qCDebug(instanceProfileC) << d->m_instance->name() << "|" << "Patch" << patch->getID() << "is not revertible";
+        qCDebug(instanceProfileC) << d->m_instance->name() << "|"
+                                  << "Patch" << patch->getID() << "is not revertible";
         return false;
     }
     if (!patch->revert()) {
-        qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Patch" << patch->getID() << "could not be reverted";
+        qCCritical(instanceProfileC) << d->m_instance->name() << "|"
+                                     << "Patch" << patch->getID() << "could not be reverted";
         return false;
     }
     invalidateLaunchProfile();
@@ -686,8 +703,8 @@ bool PackProfile::installComponents(QStringList selectedFiles)
         const QString target = FS::PathCombine(patchDir, versionFile->uid + ".json");
 
         if (!QFile::copy(source, target)) {
-            qCWarning(instanceProfileC) << d->m_instance->name() << "|" << "Component" << source << "could not be copied to target"
-                                        << target;
+            qCWarning(instanceProfileC) << d->m_instance->name() << "|"
+                                        << "Component" << source << "could not be copied to target" << target;
             result = false;
             continue;
         }
@@ -720,8 +737,8 @@ bool PackProfile::installEmpty(const QString& uid, const QString& name)
     QString patchFileName = FS::PathCombine(patchDir, uid + ".json");
     QFile file(patchFileName);
     if (!file.open(QFile::WriteOnly)) {
-        qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Error opening" << file.fileName()
-                                     << "for reading:" << file.errorString();
+        qCCritical(instanceProfileC) << d->m_instance->name() << "|"
+                                     << "Error opening" << file.fileName() << "for reading:" << file.errorString();
         return false;
     }
     file.write(OneSixVersionFormat::versionFileToJson(f).toJson());
@@ -741,8 +758,8 @@ bool PackProfile::removeComponent_internal(ComponentPtr patch)
     if (fileName.size()) {
         QFile patchFile(fileName);
         if (patchFile.exists() && !patchFile.remove()) {
-            qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "File" << fileName
-                                         << "could not be removed because:" << patchFile.errorString();
+            qCCritical(instanceProfileC) << d->m_instance->name() << "|"
+                                         << "File" << fileName << "could not be removed because:" << patchFile.errorString();
             return false;
         }
     }
@@ -758,8 +775,8 @@ bool PackProfile::removeComponent_internal(ComponentPtr patch)
         if (finfo.exists()) {
             QFile jarModFile(jar[0]);
             if (!jarModFile.remove()) {
-                qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "File" << jar[0]
-                                             << "could not be removed because:" << jarModFile.errorString();
+                qCCritical(instanceProfileC) << d->m_instance->name() << "|"
+                                             << "File" << jar[0] << "could not be removed because:" << jarModFile.errorString();
                 return false;
             }
             return true;
@@ -816,8 +833,8 @@ bool PackProfile::installJarMods_internal(QStringList filepaths)
 
         QFile file(patchFileName);
         if (!file.open(QFile::WriteOnly)) {
-            qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Error opening" << file.fileName()
-                                         << "for reading:" << file.errorString();
+            qCCritical(instanceProfileC) << d->m_instance->name() << "|"
+                                         << "Error opening" << file.fileName() << "for reading:" << file.errorString();
             return false;
         }
         file.write(OneSixVersionFormat::versionFileToJson(f).toJson());
@@ -871,8 +888,8 @@ bool PackProfile::installCustomJar_internal(QString filepath)
 
     QFile file(patchFileName);
     if (!file.open(QFile::WriteOnly)) {
-        qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Error opening" << file.fileName()
-                                     << "for reading:" << file.errorString();
+        qCCritical(instanceProfileC) << d->m_instance->name() << "|"
+                                     << "Error opening" << file.fileName() << "for reading:" << file.errorString();
         return false;
     }
     file.write(OneSixVersionFormat::versionFileToJson(f).toJson());
@@ -927,8 +944,8 @@ bool PackProfile::installAgents_internal(QStringList filepaths)
         QFile patchFile(FS::PathCombine(patchDir, targetId + ".json"));
 
         if (!patchFile.open(QFile::WriteOnly)) {
-            qCCritical(instanceProfileC) << d->m_instance->name() << "|" << "Error opening" << patchFile.fileName()
-                                         << "for reading:" << patchFile.errorString();
+            qCCritical(instanceProfileC) << d->m_instance->name() << "|"
+                                         << "Error opening" << patchFile.fileName() << "for reading:" << patchFile.errorString();
             return false;
         }
 
@@ -950,13 +967,15 @@ std::shared_ptr<LaunchProfile> PackProfile::getProfile() const
         try {
             auto profile = std::make_shared<LaunchProfile>();
             for (auto file : d->components) {
-                qCDebug(instanceProfileC) << d->m_instance->name() << "|" << "Applying" << file->getID()
+                qCDebug(instanceProfileC) << d->m_instance->name() << "|"
+                                          << "Applying" << file->getID()
                                           << (file->getProblemSeverity() == ProblemSeverity::Error ? "ERROR" : "GOOD");
                 file->applyTo(profile.get());
             }
             d->m_profile = profile;
         } catch (const Exception& error) {
-            qCWarning(instanceProfileC) << d->m_instance->name() << "|" << "Couldn't apply profile patches because: " << error.cause();
+            qCWarning(instanceProfileC) << d->m_instance->name() << "|"
+                                        << "Couldn't apply profile patches because: " << error.cause();
         }
     }
     return d->m_profile;
@@ -986,9 +1005,9 @@ bool PackProfile::setComponentVersion(const QString& uid, const QString& version
                         if (versionList) {
                             auto recommended = versionList->getRecommendedForParent(uid, version);
                             if (recommended) {
-                                qCDebug(instanceProfileC)
-                                    << d->m_instance->name() << "|" << "setting updated loader to recommended version: " << comp->getID()
-                                    << " = " << recommended->version();
+                                qCDebug(instanceProfileC) << d->m_instance->name() << "|"
+                                                          << "setting updated loader to recommended version: " << comp->getID() << " = "
+                                                          << recommended->version();
                                 comp->setVersion(recommended->version());
                             } else {
                                 auto latest = versionList->getLatestForParent(uid, version);
@@ -998,14 +1017,14 @@ bool PackProfile::setComponentVersion(const QString& uid, const QString& version
                                                               << " = " << latest->version();
                                     comp->setVersion(latest->version());
                                 } else {
-                                    qCDebug(instanceProfileC)
-                                        << d->m_instance->name() << "|" << "no compatible version for" << comp->getID() << "removing";
+                                    qCDebug(instanceProfileC) << d->m_instance->name() << "|"
+                                                              << "no compatible version for" << comp->getID() << "removing";
                                     remove(comp->getID());
                                 }
                             }
                         } else {
-                            qCDebug(instanceProfileC)
-                                << d->m_instance->name() << "|" << "no version list in metadata index for" << comp->getID();
+                            qCDebug(instanceProfileC) << d->m_instance->name() << "|"
+                                                      << "no version list in metadata index for" << comp->getID();
                         }
                     } else {
                         qCDebug(instanceProfileC) << d->m_instance->name() << "|" << comp->getID() << ":" << comp->getVersion()
@@ -1038,8 +1057,8 @@ ComponentContainer PackProfile::collectTreeLinked(const QString& uid)
 {
     ComponentContainer linked;
     for (auto comp : d->components) {
-        qCDebug(instanceProfileC) << d->m_instance->name() << "|" << "scanning" << comp->getID() << ":" << comp->getVersion()
-                                  << "for tree link";
+        qCDebug(instanceProfileC) << d->m_instance->name() << "|"
+                                  << "scanning" << comp->getID() << ":" << comp->getVersion() << "for tree link";
         auto dep = std::find_if(comp->m_cachedRequires.cbegin(), comp->m_cachedRequires.cend(),
                                 [uid](const Meta::Require& req) -> bool { return req.uid == uid; });
         if (dep != comp->m_cachedRequires.cend()) {

From a85d6cb1f2a12efd40b12f5a59fbb56a8d1cc4fd Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Thu, 27 Jun 2024 15:42:25 -0700
Subject: [PATCH 009/177] move resolution into update actions in task.

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 launcher/minecraft/Component.cpp           |  37 ++++-
 launcher/minecraft/Component.h             |  33 +++++
 launcher/minecraft/ComponentUpdateTask.cpp | 151 +++++++++++++++++++++
 launcher/minecraft/ComponentUpdateTask.h   |   5 +
 launcher/minecraft/PackProfile.cpp         |  83 +----------
 launcher/minecraft/PackProfile.h           |   4 -
 6 files changed, 231 insertions(+), 82 deletions(-)

diff --git a/launcher/minecraft/Component.cpp b/launcher/minecraft/Component.cpp
index 6ea9ee60b..67f26a02e 100644
--- a/launcher/minecraft/Component.cpp
+++ b/launcher/minecraft/Component.cpp
@@ -38,6 +38,7 @@
 #include <meta/VersionList.h>
 
 #include <QSaveFile>
+#include <optional>
 
 #include "Application.h"
 #include "FileSystem.h"
@@ -235,7 +236,8 @@ ProblemSeverity Component::getProblemSeverity() const
 {
     auto file = getVersionFile();
     if (file) {
-        return file->getProblemSeverity();
+        auto severity = file->getProblemSeverity();
+        return m_componentProblemSeverity > severity ? m_componentProblemSeverity : severity;
     }
     return ProblemSeverity::Error;
 }
@@ -244,11 +246,27 @@ const QList<PatchProblem> Component::getProblems() const
 {
     auto file = getVersionFile();
     if (file) {
-        return file->getProblems();
+        auto problems = file->getProblems();
+        problems.append(m_componentProblems);
+        return problems;
     }
     return { { ProblemSeverity::Error, QObject::tr("Patch is not loaded yet.") } };
 }
 
+void Component::addComponentProblem(ProblemSeverity severity, const QString& description)
+{
+    if (severity > m_componentProblemSeverity) {
+        m_componentProblemSeverity = severity;
+    }
+    m_componentProblems.append({ severity, description });
+}
+
+void Component::resetComponentProblems()
+{
+    m_componentProblems.clear();
+    m_componentProblemSeverity = ProblemSeverity::None;
+}
+
 void Component::setVersion(const QString& version)
 {
     if (version == m_version) {
@@ -415,6 +433,21 @@ void Component::waitLoadMeta()
     }
 }
 
+void Component::setUpdateAction(UpdateAction action)
+{
+    m_updateAction = action;
+}
+
+std::optional<UpdateAction> Component::getUpdateAction()
+{
+    return m_updateAction;
+}
+
+void Component::clearUpdateAction()
+{
+    m_updateAction.reset();
+}
+
 QDebug operator<<(QDebug d, const Component& comp)
 {
     d << "Component(" << comp.m_uid << " : " << comp.m_cachedVersion << ")";
diff --git a/launcher/minecraft/Component.h b/launcher/minecraft/Component.h
index 67d79e231..50c4e02db 100644
--- a/launcher/minecraft/Component.h
+++ b/launcher/minecraft/Component.h
@@ -4,6 +4,7 @@
 #include <QJsonDocument>
 #include <QList>
 #include <memory>
+#include <optional>
 #include "ProblemProvider.h"
 #include "QObjectPtr.h"
 #include "meta/JsonFormat.h"
@@ -16,6 +17,26 @@ class VersionList;
 }  // namespace Meta
 class VersionFile;
 
+struct UpdateActionChangeVerison {
+    /// version to change to
+    QString targetVersion;
+};
+struct UpdateActionLatestRecommendedCompatable {
+    /// Parent uid
+    QString parentUid;
+    QString parentName;
+    /// Parent version
+    QString version;
+    ///
+};
+struct UpdateActionRemove {};
+struct UpdateActionImportantChanged {
+    QString oldVersion;
+};
+
+using UpdateAction =
+    std::variant<UpdateActionChangeVerison, UpdateActionLatestRecommendedCompatable, UpdateActionRemove, UpdateActionImportantChanged>;
+
 class Component : public QObject, public ProblemProvider {
     Q_OBJECT
    public:
@@ -58,6 +79,8 @@ class Component : public QObject, public ProblemProvider {
 
     const QList<PatchProblem> getProblems() const override;
     ProblemSeverity getProblemSeverity() const override;
+    void addComponentProblem(ProblemSeverity severity, const QString& description);
+    void resetComponentProblems();
 
     void setVersion(const QString& version);
     bool customize();
@@ -67,6 +90,11 @@ class Component : public QObject, public ProblemProvider {
 
     void waitLoadMeta();
 
+    void setUpdateAction(UpdateAction action);
+    void clearUpdateAction();
+    std::optional<UpdateAction> getUpdateAction();
+    std::optional<UpdateAction> takeUpdateAction();
+
    signals:
     void dataChanged();
 
@@ -104,6 +132,11 @@ class Component : public QObject, public ProblemProvider {
     std::shared_ptr<Meta::Version> m_metaVersion;
     std::shared_ptr<VersionFile> m_file;
     bool m_loaded = false;
+
+   private:
+    QList<PatchProblem> m_componentProblems;
+    ProblemSeverity m_componentProblemSeverity = ProblemSeverity::None;
+    std::optional<UpdateAction> m_updateAction = std::nullopt;
 };
 
 using ComponentPtr = shared_qobject_ptr<Component>;
diff --git a/launcher/minecraft/ComponentUpdateTask.cpp b/launcher/minecraft/ComponentUpdateTask.cpp
index dc59d2dc9..8f19f20c8 100644
--- a/launcher/minecraft/ComponentUpdateTask.cpp
+++ b/launcher/minecraft/ComponentUpdateTask.cpp
@@ -1,9 +1,11 @@
 #include "ComponentUpdateTask.h"
+#include <algorithm>
 
 #include "Component.h"
 #include "ComponentUpdateTask_p.h"
 #include "PackProfile.h"
 #include "PackProfile_p.h"
+#include "ProblemProvider.h"
 #include "Version.h"
 #include "cassert"
 #include "meta/Index.h"
@@ -196,6 +198,7 @@ void ComponentUpdateTask::loadComponents()
     switch (result) {
         case LoadResult::LoadedLocal: {
             // Everything got loaded. Advance to dependency resolution.
+            performUpdateActions();
             resolveDependencies(d->mode == Mode::Launch || d->netmode == Net::Mode::Offline);
             break;
         }
@@ -380,6 +383,42 @@ static bool getTrivialComponentChanges(const ComponentIndex& index, const Requir
     return succeeded;
 }
 
+ComponentContainer ComponentUpdateTask::collectTreeLinked(const QString& uid)
+{
+    ComponentContainer linked;
+
+    auto& components = d->m_profile->d->components;
+    auto& componentIndex = d->m_profile->d->componentIndex;
+    auto& instance = d->m_profile->d->m_instance;
+    for (auto comp : components) {
+        qCDebug(instanceProfileResolveC) << instance->name() << "|"
+                                         << "scanning" << comp->getID() << ":" << comp->getVersion() << "for tree link";
+        auto dep = std::find_if(comp->m_cachedRequires.cbegin(), comp->m_cachedRequires.cend(),
+                                [uid](const Meta::Require& req) -> bool { return req.uid == uid; });
+        if (dep != comp->m_cachedRequires.cend()) {
+            qCDebug(instanceProfileResolveC) << instance->name() << "|" << comp->getID() << ":" << comp->getVersion() << "depends on"
+                                             << uid;
+            linked.append(comp);
+        }
+    }
+    auto iter = componentIndex.find(uid);
+    if (iter != componentIndex.end()) {
+        ComponentPtr comp = *iter;
+        comp->updateCachedData();
+        qCDebug(instanceProfileResolveC) << instance->name() << "|" << comp->getID() << ":" << comp->getVersion() << "has"
+                                         << comp->m_cachedRequires.size() << "dependencies";
+        for (auto dep : comp->m_cachedRequires) {
+            qCDebug(instanceProfileC) << instance->name() << "|" << uid << "depends on" << dep.uid;
+            auto found = componentIndex.find(dep.uid);
+            if (found != componentIndex.end()) {
+                qCDebug(instanceProfileC) << instance->name() << "|" << (*found)->getID() << "is present";
+                linked.append(*found);
+            }
+        }
+    }
+    return linked;
+}
+
 // FIXME, TODO: decouple dependency resolution from loading
 // FIXME: This works directly with the PackProfile internals. It shouldn't! It needs richer data types than PackProfile uses.
 // FIXME: throw all this away and use a graph
@@ -488,10 +527,121 @@ void ComponentUpdateTask::resolveDependencies(bool checkOnly)
     if (recursionNeeded) {
         loadComponents();
     } else {
+        finalizeComponents();
         emitSucceeded();
     }
 }
 
+// Variant visitation via lambda
+template <class... Ts>
+struct overload : Ts... {
+    using Ts::operator()...;
+};
+template <class... Ts>
+overload(Ts...) -> overload<Ts...>;
+
+void ComponentUpdateTask::performUpdateActions()
+{
+    auto& components = d->m_profile->d->components;
+
+    bool addedActions;
+    do {
+        addedActions = false;
+        for (auto component : components) {
+            if (auto action = component->getUpdateAction()) {
+                auto visitor = overload{
+                    [&component](const UpdateActionChangeVerison& cv) {
+                        component->setVersion(cv.targetVersion);
+                        component->waitLoadMeta();
+                    },
+                    [&component](const UpdateActionLatestRecommendedCompatable lrc) {
+                        auto versionList = APPLICATION->metadataIndex()->get(component->getID());
+                        versionList->waitToLoad();
+                        if (versionList) {
+                            auto recommended = versionList->getRecommendedForParent(lrc.parentUid, lrc.version);
+                            if (recommended) {
+                                component->setVersion(recommended->version());
+                                component->waitLoadMeta();
+                                return;
+                            }
+
+                            auto latest = versionList->getLatestForParent(lrc.parentUid, lrc.version);
+                            if (latest) {
+                                component->setVersion(latest->version());
+                                component->waitLoadMeta();
+                            } else {
+                                component->addComponentProblem(ProblemSeverity::Error,
+                                                               QObject::tr("No compatible version of %1 found for %2 %3")
+                                                                   .arg(component->getName(), lrc.parentName, lrc.version));
+                            }
+                        } else {
+                            component->addComponentProblem(ProblemSeverity::Error,
+                                                           QObject::tr("No version list in metadata index for %1").arg(component->getID()));
+                        }
+                    },
+                    [this, &component](const UpdateActionRemove&) { d->m_profile->remove(component->getID()); },
+                    [this, &component, &addedActions](const UpdateActionImportantChanged&) {
+                        auto linked = collectTreeLinked(component->getID());
+                        for (auto comp : linked) {
+                            if (comp->isCustom()) {
+                                continue;
+                            }
+                            auto compUid = comp->getID();
+                            auto parentReq = std::find_if(component->m_cachedRequires.begin(), component->m_cachedRequires.end(),
+                                                          [compUid](const Meta::Require& req) { return req.uid == compUid; });
+                            if (parentReq != component->m_cachedRequires.end()) {
+                                auto newVersion = parentReq->equalsVersion.isEmpty() ? parentReq->suggests : parentReq->equalsVersion;
+                                if (!newVersion.isEmpty()) {
+                                    comp->setUpdateAction(UpdateAction{ UpdateActionChangeVerison{ newVersion } });
+                                } else {
+                                    comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
+                                        component->getID(),
+                                        component->getName(),
+                                        component->getVersion(),
+                                    } });
+                                }
+                            } else {
+                                comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
+                                    component->getID(),
+                                    component->getName(),
+                                    component->getVersion(),
+                                } });
+                            }
+                            addedActions = true;
+                        }
+                    }
+                };
+                std::visit(visitor, *action);
+                component->clearUpdateAction();
+            }
+        }
+    } while (addedActions);
+}
+
+void ComponentUpdateTask::finalizeComponents()
+{
+    auto& components = d->m_profile->d->components;
+    auto& componentIndex = d->m_profile->d->componentIndex;
+    for (auto component : components) {
+        for (auto req : component->m_cachedRequires) {
+            auto found = componentIndex.find(req.uid);
+            if (found == componentIndex.cend()) {
+                component->addComponentProblem(
+                    ProblemSeverity::Error,
+                    QObject::tr("%1 is missing requirement %2 %3")
+                        .arg(component->getName(), req.uid, req.equalsVersion.isEmpty() ? req.suggests : req.equalsVersion));
+            } else {
+                auto reqComp = *found;
+                if (!reqComp->getProblems().isEmpty()) {
+                    component->addComponentProblem(
+                        reqComp->getProblemSeverity(),
+                        QObject::tr("%1, a dependency of this component, has reported issues").arg(reqComp->getName()));
+                }
+            }
+        }
+    }
+}
+
 void ComponentUpdateTask::remoteLoadSucceeded(size_t taskIndex)
 {
     if (static_cast<size_t>(d->remoteLoadStatusList.size()) < taskIndex) {
@@ -551,6 +701,7 @@ void ComponentUpdateTask::checkIfAllFinished()
     if (d->remoteLoadSuccessful) {
         // nothing bad happened... clear the temp load status and proceed with looking at dependencies
         d->remoteLoadStatusList.clear();
+        performUpdateActions();
         resolveDependencies(d->mode == Mode::Launch);
     } else {
         // remote load failed... report error and bail
diff --git a/launcher/minecraft/ComponentUpdateTask.h b/launcher/minecraft/ComponentUpdateTask.h
index 2f396a049..484c0bedd 100644
--- a/launcher/minecraft/ComponentUpdateTask.h
+++ b/launcher/minecraft/ComponentUpdateTask.h
@@ -1,5 +1,6 @@
 #pragma once
 
+#include "minecraft/Component.h"
 #include "net/Mode.h"
 #include "tasks/Task.h"
 
@@ -21,7 +22,11 @@ class ComponentUpdateTask : public Task {
 
    private:
     void loadComponents();
+    /// collects components that are dependent on or dependencies of the component
+    QList<ComponentPtr> collectTreeLinked(const QString& uid);
     void resolveDependencies(bool checkOnly);
+    void performUpdateActions();
+    void finalizeComponents();
 
     void remoteLoadSucceeded(size_t index);
     void remoteLoadFailed(size_t index, const QString& msg);
diff --git a/launcher/minecraft/PackProfile.cpp b/launcher/minecraft/PackProfile.cpp
index ce57288f6..debbf0fa7 100644
--- a/launcher/minecraft/PackProfile.cpp
+++ b/launcher/minecraft/PackProfile.cpp
@@ -49,6 +49,7 @@
 #include <QTimer>
 #include <QUuid>
 #include <algorithm>
+#include <utility>
 
 #include "Application.h"
 #include "Exception.h"
@@ -56,6 +57,7 @@
 #include "Json.h"
 #include "meta/Index.h"
 #include "meta/JsonFormat.h"
+#include "minecraft/Component.h"
 #include "minecraft/MinecraftInstance.h"
 #include "minecraft/OneSixVersionFormat.h"
 #include "minecraft/ProfileUtils.h"
@@ -67,6 +69,8 @@
 
 #include "minecraft/Logging.h"
 
+#include "ui/dialogs/CustomMessageBox.h"
+
 static const QMap<QString, ModPlatform::ModLoaderType> modloaderMapping{ { "net.neoforged", ModPlatform::NeoForge },
                                                                          { "net.minecraftforge", ModPlatform::Forge },
                                                                          { "net.fabricmc.fabric-loader", ModPlatform::Fabric },
@@ -988,58 +992,16 @@ bool PackProfile::setComponentVersion(const QString& uid, const QString& version
         ComponentPtr component = *iter;
         // set existing
         if (component->revert()) {
-            // remove linked components to let them re-resolve their versions
-            if (important) {
-                component->waitLoadMeta();
-                auto linked = collectTreeLinked(uid);
-                for (auto comp : linked) {
-                    if (comp->isCustom()) {
-                        continue;
-                    }
-                    if (modloaderMapping.contains(comp->getID())) {
-                        qCDebug(instanceProfileC)
-                            << d->m_instance->name() << "|" << comp->getID() << "is a mod loader, updating it to a compatible version";
-
-                        auto versionList = APPLICATION->metadataIndex()->get(comp->getID());
-                        versionList->waitToLoad();
-                        if (versionList) {
-                            auto recommended = versionList->getRecommendedForParent(uid, version);
-                            if (recommended) {
-                                qCDebug(instanceProfileC) << d->m_instance->name() << "|"
-                                                          << "setting updated loader to recommended version: " << comp->getID() << " = "
-                                                          << recommended->version();
-                                comp->setVersion(recommended->version());
-                            } else {
-                                auto latest = versionList->getLatestForParent(uid, version);
-                                if (latest) {
-                                    qCDebug(instanceProfileC) << d->m_instance->name() << "|"
-                                                              << "setting updated loader to latest compatible version: " << comp->getID()
-                                                              << " = " << latest->version();
-                                    comp->setVersion(latest->version());
-                                } else {
-                                    qCDebug(instanceProfileC) << d->m_instance->name() << "|"
-                                                              << "no compatible version for" << comp->getID() << "removing";
-                                    remove(comp->getID());
-                                }
-                            }
-                        } else {
-                            qCDebug(instanceProfileC) << d->m_instance->name() << "|"
-                                                      << "no version list in metadata index for" << comp->getID();
-                        }
-                    } else {
-                        qCDebug(instanceProfileC) << d->m_instance->name() << "|" << comp->getID() << ":" << comp->getVersion()
-                                                  << "linked to important component: " << uid << " | Removing so it re-resolves";
-                        remove(comp->getID());
-                    }
-                }
-            }
             // set new version
+            auto oldVersion = component->getVersion();
             component->setVersion(version);
             component->setImportant(important);
 
             if (important) {
+                component->setUpdateAction(UpdateAction{ UpdateActionImportantChanged{ oldVersion } });
                 resolve(Net::Mode::Online);
             }
+
             return true;
         }
         return false;
@@ -1053,37 +1015,6 @@ bool PackProfile::setComponentVersion(const QString& uid, const QString& version
     }
 }
 
-ComponentContainer PackProfile::collectTreeLinked(const QString& uid)
-{
-    ComponentContainer linked;
-    for (auto comp : d->components) {
-        qCDebug(instanceProfileC) << d->m_instance->name() << "|"
-                                  << "scanning" << comp->getID() << ":" << comp->getVersion() << "for tree link";
-        auto dep = std::find_if(comp->m_cachedRequires.cbegin(), comp->m_cachedRequires.cend(),
-                                [uid](const Meta::Require& req) -> bool { return req.uid == uid; });
-        if (dep != comp->m_cachedRequires.cend()) {
-            qCDebug(instanceProfileResolveC) << comp->getID() << ":" << comp->getVersion() << "depends on" << uid;
-            linked.append(comp);
-        }
-    }
-    auto iter = d->componentIndex.find(uid);
-    if (iter != d->componentIndex.end()) {
-        ComponentPtr comp = *iter;
-        comp->updateCachedData();
-        qCDebug(instanceProfileC) << d->m_instance->name() << "|" << comp->getID() << ":" << comp->getVersion() << "has"
-                                  << comp->m_cachedRequires.size() << "dependencies";
-        for (auto dep : comp->m_cachedRequires) {
-            qCDebug(instanceProfileC) << d->m_instance->name() << "|" << uid << "depends on" << dep.uid;
-            auto found = d->componentIndex.find(dep.uid);
-            if (found != d->componentIndex.end()) {
-                qCDebug(instanceProfileC) << d->m_instance->name() << "|" << (*found)->getID() << "is present";
-                linked.append(*found);
-            }
-        }
-    }
-    return linked;
-}
-
 QString PackProfile::getComponentVersion(const QString& uid) const
 {
     const auto iter = d->componentIndex.find(uid);
diff --git a/launcher/minecraft/PackProfile.h b/launcher/minecraft/PackProfile.h
index f733b3524..e58e9ae9a 100644
--- a/launcher/minecraft/PackProfile.h
+++ b/launcher/minecraft/PackProfile.h
@@ -48,7 +48,6 @@
 
 #include "Component.h"
 #include "LaunchProfile.h"
-#include "minecraft/PackProfile_p.h"
 #include "modplatform/ModIndex.h"
 #include "net/Mode.h"
 
@@ -120,9 +119,6 @@ class PackProfile : public QAbstractListModel {
 
     bool setComponentVersion(const QString& uid, const QString& version, bool important = false);
 
-    /// collects components that are dependant on or dependencies of the component
-    ComponentContainer collectTreeLinked(const QString& uid);
-
     bool installEmpty(const QString& uid, const QString& name);
 
     QString patchFilePathForUid(const QString& uid) const;

From 4ed92a95c2b362d09a8a2ff81926c282f1227c4c Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Thu, 27 Jun 2024 17:28:09 -0700
Subject: [PATCH 010/177] fix segfaults consistently set component problems

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 launcher/minecraft/Component.cpp           |   5 +-
 launcher/minecraft/Component.h             |  17 +-
 launcher/minecraft/ComponentUpdateTask.cpp | 185 +++++++++++++--------
 3 files changed, 132 insertions(+), 75 deletions(-)

diff --git a/launcher/minecraft/Component.cpp b/launcher/minecraft/Component.cpp
index 67f26a02e..00d3f2e42 100644
--- a/launcher/minecraft/Component.cpp
+++ b/launcher/minecraft/Component.cpp
@@ -45,6 +45,7 @@
 #include "OneSixVersionFormat.h"
 #include "VersionFile.h"
 #include "meta/Version.h"
+#include "minecraft/Component.h"
 #include "minecraft/PackProfile.h"
 
 #include <assert.h>
@@ -438,14 +439,14 @@ void Component::setUpdateAction(UpdateAction action)
     m_updateAction = action;
 }
 
-std::optional<UpdateAction> Component::getUpdateAction()
+UpdateAction Component::getUpdateAction()
 {
     return m_updateAction;
 }
 
 void Component::clearUpdateAction()
 {
-    m_updateAction.reset();
+    m_updateAction = UpdateAction{ UpdateActionNone{} };
 }
 
 QDebug operator<<(QDebug d, const Component& comp)
diff --git a/launcher/minecraft/Component.h b/launcher/minecraft/Component.h
index 50c4e02db..94a964182 100644
--- a/launcher/minecraft/Component.h
+++ b/launcher/minecraft/Component.h
@@ -5,6 +5,7 @@
 #include <QList>
 #include <memory>
 #include <optional>
+#include <variant>
 #include "ProblemProvider.h"
 #include "QObjectPtr.h"
 #include "meta/JsonFormat.h"
@@ -17,7 +18,7 @@ class VersionList;
 }  // namespace Meta
 class VersionFile;
 
-struct UpdateActionChangeVerison {
+struct UpdateActionChangeVersion {
     /// version to change to
     QString targetVersion;
 };
@@ -34,8 +35,13 @@ struct UpdateActionImportantChanged {
     QString oldVersion;
 };
 
-using UpdateAction =
-    std::variant<UpdateActionChangeVerison, UpdateActionLatestRecommendedCompatable, UpdateActionRemove, UpdateActionImportantChanged>;
+using UpdateActionNone = std::monostate;
+
+using UpdateAction = std::variant<UpdateActionNone,
+                                  UpdateActionChangeVersion,
+                                  UpdateActionLatestRecommendedCompatable,
+                                  UpdateActionRemove,
+                                  UpdateActionImportantChanged>;
 
 class Component : public QObject, public ProblemProvider {
     Q_OBJECT
@@ -92,8 +98,7 @@ class Component : public QObject, public ProblemProvider {
 
     void setUpdateAction(UpdateAction action);
     void clearUpdateAction();
-    std::optional<UpdateAction> getUpdateAction();
-    std::optional<UpdateAction> takeUpdateAction();
+    UpdateAction getUpdateAction();
 
    signals:
     void dataChanged();
@@ -136,7 +141,7 @@ class Component : public QObject, public ProblemProvider {
    private:
     QList<PatchProblem> m_componentProblems;
     ProblemSeverity m_componentProblemSeverity = ProblemSeverity::None;
-    std::optional<UpdateAction> m_updateAction = std::nullopt;
+    UpdateAction m_updateAction = UpdateAction{ UpdateActionNone{} };
 };
 
 using ComponentPtr = shared_qobject_ptr<Component>;
diff --git a/launcher/minecraft/ComponentUpdateTask.cpp b/launcher/minecraft/ComponentUpdateTask.cpp
index 8f19f20c8..8001627e4 100644
--- a/launcher/minecraft/ComponentUpdateTask.cpp
+++ b/launcher/minecraft/ComponentUpdateTask.cpp
@@ -153,6 +153,7 @@ void ComponentUpdateTask::loadComponents()
         Task::Ptr loadTask;
         LoadResult singleResult;
         RemoteLoadStatus::Type loadType;
+        component->resetComponentProblems();
         // FIXME: to do this right, we need to load the lists and decide on which versions to use during dependency resolution. For now,
         // ignore all that...
 #if 0
@@ -445,6 +446,7 @@ void ComponentUpdateTask::resolveDependencies(bool checkOnly)
         allRequires.clear();
         toRemove.clear();
         if (!gatherRequirementsFromComponents(components, allRequires)) {
+            finalizeComponents();
             emitFailed(tr("Conflicting requirements detected during dependency checking!"));
             return;
         }
@@ -461,10 +463,12 @@ void ComponentUpdateTask::resolveDependencies(bool checkOnly)
     RequireExSet toChange;
     bool succeeded = getTrivialComponentChanges(componentIndex, allRequires, toAdd, toChange);
     if (!succeeded) {
+        finalizeComponents();
         emitFailed(tr("Instance has conflicting dependencies."));
         return;
     }
     if (checkOnly) {
+        finalizeComponents();
         if (toAdd.size() || toChange.size()) {
             emitFailed(tr("Instance has unresolved dependencies while loading/checking for launch."));
         } else {
@@ -542,77 +546,115 @@ overload(Ts...) -> overload<Ts...>;
 
 void ComponentUpdateTask::performUpdateActions()
 {
-    auto& components = d->m_profile->d->components;
-
+    auto& instance = d->m_profile->d->m_instance;
     bool addedActions;
+    QStringList toRemove;
     do {
         addedActions = false;
+        toRemove.clear();
+        auto& components = d->m_profile->d->components;
+        auto& componentIndex = d->m_profile->d->componentIndex;
         for (auto component : components) {
-            if (auto action = component->getUpdateAction()) {
-                auto visitor = overload{
-                    [&component](const UpdateActionChangeVerison& cv) {
-                        component->setVersion(cv.targetVersion);
-                        component->waitLoadMeta();
-                    },
-                    [&component](const UpdateActionLatestRecommendedCompatable lrc) {
-                        auto versionList = APPLICATION->metadataIndex()->get(component->getID());
-                        versionList->waitToLoad();
-                        if (versionList) {
-                            auto recommended = versionList->getRecommendedForParent(lrc.parentUid, lrc.version);
-                            if (recommended) {
-                                component->setVersion(recommended->version());
-                                component->waitLoadMeta();
-                                return;
-                            }
-
-                            auto latest = versionList->getLatestForParent(lrc.parentUid, lrc.version);
-                            if (latest) {
-                                component->setVersion(latest->version());
-                                component->waitLoadMeta();
-                            } else {
-                                component->addComponentProblem(ProblemSeverity::Error,
-                                                               QObject::tr("No compatible version of %1 found for %2 %3")
-                                                                   .arg(component->getName(), lrc.parentName, lrc.version));
-                            }
-                        } else {
-                            component->addComponentProblem(ProblemSeverity::Error,
-                                                           QObject::tr("No version list in metadata index for %1").arg(component->getID()));
-                        }
-                    },
-                    [this, &component](const UpdateActionRemove&) { d->m_profile->remove(component->getID()); },
-                    [this, &component, &addedActions](const UpdateActionImportantChanged&) {
-                        auto linked = collectTreeLinked(component->getID());
-                        for (auto comp : linked) {
-                            if (comp->isCustom()) {
-                                continue;
-                            }
-                            auto compUid = comp->getID();
-                            auto parentReq = std::find_if(component->m_cachedRequires.begin(), component->m_cachedRequires.end(),
-                                                          [compUid](const Meta::Require& req) { return req.uid == compUid; });
-                            if (parentReq != component->m_cachedRequires.end()) {
-                                auto newVersion = parentReq->equalsVersion.isEmpty() ? parentReq->suggests : parentReq->equalsVersion;
-                                if (!newVersion.isEmpty()) {
-                                    comp->setUpdateAction(UpdateAction{ UpdateActionChangeVerison{ newVersion } });
-                                } else {
-                                    comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
-                                        component->getID(),
-                                        component->getName(),
-                                        component->getVersion(),
-                                    } });
-                                }
-                            } else {
-                                comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
-                                    component->getID(),
-                                    component->getName(),
-                                    component->getVersion(),
-                                } });
-                            }
-                            addedActions = true;
-                        }
-                    }
-                };
-                std::visit(visitor, *action);
-                component->clearUpdateAction();
+            if (!component) {
+                continue;
+            }
+            auto action = component->getUpdateAction();
+            auto visitor =
+                overload{ [](const UpdateActionNone&) {
+                             // noop
+                         },
+                          [&component, &instance](const UpdateActionChangeVersion& cv) {
+                              qCDebug(instanceProfileResolveC) << instance->name() << "|"
+                                                               << "UpdateActionChangeVersion" << component->getID() << ":"
+                                                               << component->getVersion() << "change to" << cv.targetVersion;
+                              component->setVersion(cv.targetVersion);
+                              component->waitLoadMeta();
+                          },
+                          [&component, &instance](const UpdateActionLatestRecommendedCompatable lrc) {
+                              qCDebug(instanceProfileResolveC)
+                                  << instance->name() << "|"
+                                  << "UpdateActionLatestRecommendedCompatable" << component->getID() << ":" << component->getVersion()
+                                  << "updating to latest recommend or compatible with" << lrc.parentUid << lrc.version;
+                              auto versionList = APPLICATION->metadataIndex()->get(component->getID());
+                              versionList->waitToLoad();
+                              if (versionList) {
+                                  auto recommended = versionList->getRecommendedForParent(lrc.parentUid, lrc.version);
+                                  if (recommended) {
+                                      component->setVersion(recommended->version());
+                                      component->waitLoadMeta();
+                                      return;
+                                  }
+
+                                  auto latest = versionList->getLatestForParent(lrc.parentUid, lrc.version);
+                                  if (latest) {
+                                      component->setVersion(latest->version());
+                                      component->waitLoadMeta();
+                                  } else {
+                                      component->addComponentProblem(ProblemSeverity::Error,
+                                                                     QObject::tr("No compatible version of %1 found for %2 %3")
+                                                                         .arg(component->getName(), lrc.parentName, lrc.version));
+                                  }
+                              } else {
+                                  component->addComponentProblem(
+                                      ProblemSeverity::Error,
+                                      QObject::tr("No version list in metadata index for %1").arg(component->getID()));
+                              }
+                          },
+                          [&component, &instance, &toRemove](const UpdateActionRemove&) {
+                              qCDebug(instanceProfileResolveC)
+                                  << instance->name() << "|"
+                                  << "UpdateActionRemove" << component->getID() << ":" << component->getVersion() << "removing";
+                              toRemove.append(component->getID());
+                          },
+                          [this, &component, &instance, &addedActions, &componentIndex](const UpdateActionImportantChanged& ic) {
+                              qCDebug(instanceProfileResolveC)
+                                  << instance->name() << "|"
+                                  << "UpdateImportantChanged" << component->getID() << ":" << component->getVersion() << "was changed from"
+                                  << ic.oldVersion << "updating linked components";
+                              auto oldVersion = APPLICATION->metadataIndex()->getLoadedVersion(component->getID(), ic.oldVersion);
+                              for (auto oldReq : oldVersion->requiredSet()) {
+                                  auto currentlyRequired = component->m_cachedRequires.find(oldReq);
+                                  if (currentlyRequired == component->m_cachedRequires.cend()) {
+                                      auto oldReqComp = componentIndex.find(oldReq.uid);
+                                      if (oldReqComp != componentIndex.cend()) {
+                                          (*oldReqComp)->setUpdateAction(UpdateAction{ UpdateActionRemove{} });
+                                          addedActions = true;
+                                      }
+                                  }
+                              }
+                              auto linked = collectTreeLinked(component->getID());
+                              for (auto comp : linked) {
+                                  if (comp->isCustom()) {
+                                      continue;
+                                  }
+                                  auto compUid = comp->getID();
+                                  auto parentReq = std::find_if(component->m_cachedRequires.begin(), component->m_cachedRequires.end(),
+                                                                [compUid](const Meta::Require& req) { return req.uid == compUid; });
+                                  if (parentReq != component->m_cachedRequires.end()) {
+                                      auto newVersion = parentReq->equalsVersion.isEmpty() ? parentReq->suggests : parentReq->equalsVersion;
+                                      if (!newVersion.isEmpty()) {
+                                          comp->setUpdateAction(UpdateAction{ UpdateActionChangeVersion{ newVersion } });
+                                      } else {
+                                          comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
+                                              component->getID(),
+                                              component->getName(),
+                                              component->getVersion(),
+                                          } });
+                                      }
+                                  } else {
+                                      comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
+                                          component->getID(),
+                                          component->getName(),
+                                          component->getVersion(),
+                                      } });
+                                  }
+                                  addedActions = true;
+                              }
+                          } };
+            std::visit(visitor, action);
+            component->clearUpdateAction();
+            for (auto uid : toRemove) {
+                d->m_profile->remove(uid);
             }
         }
     } while (addedActions);
@@ -637,6 +679,15 @@ void ComponentUpdateTask::finalizeComponents()
                         reqComp->getProblemSeverity(),
                         QObject::tr("%1, a dependency of this component, has reported issues").arg(reqComp->getName()));
                 }
+                if (!req.equalsVersion.isEmpty() && req.equalsVersion != reqComp->getVersion()) {
+                    component->addComponentProblem(ProblemSeverity::Error,
+                                                   QObject::tr("%1, a dependency of this component, is not the required version %2")
+                                                       .arg(reqComp->getName(), req.equalsVersion));
+                } else if (!req.suggests.isEmpty() && req.suggests != reqComp->getVersion()) {
+                    component->addComponentProblem(ProblemSeverity::Warning,
+                                                   QObject::tr("%1, a dependency of this component, is not the suggested version %2")
+                                                       .arg(reqComp->getName(), req.suggests));
+                }
             }
         }
     }

From c4cc1cfe4f30147c85b804825048b3c5288537a8 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Thu, 27 Jun 2024 19:25:38 -0700
Subject: [PATCH 011/177] Warn about known conflicting modloaders

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 launcher/minecraft/Component.cpp           |  16 ++
 launcher/minecraft/Component.h             |  15 ++
 launcher/minecraft/ComponentUpdateTask.cpp | 201 +++++++++++----------
 launcher/minecraft/PackProfile.cpp         |   9 +-
 4 files changed, 138 insertions(+), 103 deletions(-)

diff --git a/launcher/minecraft/Component.cpp b/launcher/minecraft/Component.cpp
index 00d3f2e42..329e6b78e 100644
--- a/launcher/minecraft/Component.cpp
+++ b/launcher/minecraft/Component.cpp
@@ -225,6 +225,22 @@ bool Component::isVersionChangeable()
     return false;
 }
 
+bool Component::isKnownModloader()
+{
+    auto iter = KNOWN_MODLOADERS.find(m_uid);
+    return iter != KNOWN_MODLOADERS.cend();
+}
+
+QStringList Component::knownConfictingComponents()
+{
+    auto iter = KNOWN_MODLOADERS.find(m_uid);
+    if (iter != KNOWN_MODLOADERS.cend()) {
+        return (*iter).knownConfictingComponents;
+    } else {
+        return {};
+    }
+}
+
 void Component::setImportant(bool state)
 {
     if (m_important != state) {
diff --git a/launcher/minecraft/Component.h b/launcher/minecraft/Component.h
index 94a964182..3669638f2 100644
--- a/launcher/minecraft/Component.h
+++ b/launcher/minecraft/Component.h
@@ -9,6 +9,7 @@
 #include "ProblemProvider.h"
 #include "QObjectPtr.h"
 #include "meta/JsonFormat.h"
+#include "modplatform/ModIndex.h"
 
 class PackProfile;
 class LaunchProfile;
@@ -43,6 +44,18 @@ using UpdateAction = std::variant<UpdateActionNone,
                                   UpdateActionRemove,
                                   UpdateActionImportantChanged>;
 
+struct ModloaderMapEntry {
+    ModPlatform::ModLoaderType type;
+    QStringList knownConfictingComponents;
+};
+static const QMap<QString, ModloaderMapEntry> KNOWN_MODLOADERS{
+    { "net.neoforged", { ModPlatform::NeoForge, { "net.minecraftforge", "net.fabricmc.fabric-loader", "net.fabricmc.fabric-loader" } } },
+    { "net.minecraftforge", { ModPlatform::Forge, { "net.neoforged", "net.fabricmc.fabric-loader", "net.fabricmc.fabric-loader" } } },
+    { "net.fabricmc.fabric-loader", { ModPlatform::Fabric, { "net.minecraftforge", "net.neoforged", "org.quiltmc.quilt-loader" } } },
+    { "org.quiltmc.quilt-loader", { ModPlatform::Quilt, { "net.minecraftforge", "net.neoforged", "net.fabricmc.fabric-loader" } } },
+    { "com.mumfrey.liteloader", { ModPlatform::LiteLoader, {} } }
+};
+
 class Component : public QObject, public ProblemProvider {
     Q_OBJECT
    public:
@@ -65,6 +78,8 @@ class Component : public QObject, public ProblemProvider {
     bool isRemovable();
     bool isCustom();
     bool isVersionChangeable();
+    bool isKnownModloader();
+    QStringList knownConfictingComponents();
 
     // DEPRECATED: explicit numeric order values, used for loading old non-component config. TODO: refactor and move to migration code
     void setOrder(int order);
diff --git a/launcher/minecraft/ComponentUpdateTask.cpp b/launcher/minecraft/ComponentUpdateTask.cpp
index 8001627e4..1617a8f82 100644
--- a/launcher/minecraft/ComponentUpdateTask.cpp
+++ b/launcher/minecraft/ComponentUpdateTask.cpp
@@ -181,8 +181,8 @@ void ComponentUpdateTask::loadComponents()
         }
         result = composeLoadResult(result, singleResult);
         if (loadTask) {
-            qCDebug(instanceProfileResolveC) << d->m_profile->d->m_instance->name() << "|"
-                                             << "Remote loading is being run for" << component->getName();
+            qCDebug(instanceProfileResolveC) << d->m_profile->d->m_instance->name() << "|" << "Remote loading is being run for"
+                                             << component->getName();
             connect(loadTask.get(), &Task::succeeded, this, [this, taskIndex]() { remoteLoadSucceeded(taskIndex); });
             connect(loadTask.get(), &Task::failed, this, [this, taskIndex](const QString& error) { remoteLoadFailed(taskIndex, error); });
             connect(loadTask.get(), &Task::aborted, this, [this, taskIndex]() { remoteLoadFailed(taskIndex, tr("Aborted")); });
@@ -392,8 +392,8 @@ ComponentContainer ComponentUpdateTask::collectTreeLinked(const QString& uid)
     auto& componentIndex = d->m_profile->d->componentIndex;
     auto& instance = d->m_profile->d->m_instance;
     for (auto comp : components) {
-        qCDebug(instanceProfileResolveC) << instance->name() << "|"
-                                         << "scanning" << comp->getID() << ":" << comp->getVersion() << "for tree link";
+        qCDebug(instanceProfileResolveC) << instance->name() << "|" << "scanning" << comp->getID() << ":" << comp->getVersion()
+                                         << "for tree link";
         auto dep = std::find_if(comp->m_cachedRequires.cbegin(), comp->m_cachedRequires.cend(),
                                 [uid](const Meta::Require& req) -> bool { return req.uid == uid; });
         if (dep != comp->m_cachedRequires.cend()) {
@@ -559,98 +559,94 @@ void ComponentUpdateTask::performUpdateActions()
                 continue;
             }
             auto action = component->getUpdateAction();
-            auto visitor =
-                overload{ [](const UpdateActionNone&) {
-                             // noop
-                         },
-                          [&component, &instance](const UpdateActionChangeVersion& cv) {
-                              qCDebug(instanceProfileResolveC) << instance->name() << "|"
-                                                               << "UpdateActionChangeVersion" << component->getID() << ":"
-                                                               << component->getVersion() << "change to" << cv.targetVersion;
-                              component->setVersion(cv.targetVersion);
-                              component->waitLoadMeta();
-                          },
-                          [&component, &instance](const UpdateActionLatestRecommendedCompatable lrc) {
-                              qCDebug(instanceProfileResolveC)
-                                  << instance->name() << "|"
-                                  << "UpdateActionLatestRecommendedCompatable" << component->getID() << ":" << component->getVersion()
-                                  << "updating to latest recommend or compatible with" << lrc.parentUid << lrc.version;
-                              auto versionList = APPLICATION->metadataIndex()->get(component->getID());
-                              versionList->waitToLoad();
-                              if (versionList) {
-                                  auto recommended = versionList->getRecommendedForParent(lrc.parentUid, lrc.version);
-                                  if (recommended) {
-                                      component->setVersion(recommended->version());
-                                      component->waitLoadMeta();
-                                      return;
-                                  }
-
-                                  auto latest = versionList->getLatestForParent(lrc.parentUid, lrc.version);
-                                  if (latest) {
-                                      component->setVersion(latest->version());
-                                      component->waitLoadMeta();
-                                  } else {
-                                      component->addComponentProblem(ProblemSeverity::Error,
-                                                                     QObject::tr("No compatible version of %1 found for %2 %3")
-                                                                         .arg(component->getName(), lrc.parentName, lrc.version));
-                                  }
-                              } else {
-                                  component->addComponentProblem(
-                                      ProblemSeverity::Error,
-                                      QObject::tr("No version list in metadata index for %1").arg(component->getID()));
-                              }
-                          },
-                          [&component, &instance, &toRemove](const UpdateActionRemove&) {
-                              qCDebug(instanceProfileResolveC)
-                                  << instance->name() << "|"
-                                  << "UpdateActionRemove" << component->getID() << ":" << component->getVersion() << "removing";
-                              toRemove.append(component->getID());
-                          },
-                          [this, &component, &instance, &addedActions, &componentIndex](const UpdateActionImportantChanged& ic) {
-                              qCDebug(instanceProfileResolveC)
-                                  << instance->name() << "|"
-                                  << "UpdateImportantChanged" << component->getID() << ":" << component->getVersion() << "was changed from"
-                                  << ic.oldVersion << "updating linked components";
-                              auto oldVersion = APPLICATION->metadataIndex()->getLoadedVersion(component->getID(), ic.oldVersion);
-                              for (auto oldReq : oldVersion->requiredSet()) {
-                                  auto currentlyRequired = component->m_cachedRequires.find(oldReq);
-                                  if (currentlyRequired == component->m_cachedRequires.cend()) {
-                                      auto oldReqComp = componentIndex.find(oldReq.uid);
-                                      if (oldReqComp != componentIndex.cend()) {
-                                          (*oldReqComp)->setUpdateAction(UpdateAction{ UpdateActionRemove{} });
-                                          addedActions = true;
-                                      }
-                                  }
-                              }
-                              auto linked = collectTreeLinked(component->getID());
-                              for (auto comp : linked) {
-                                  if (comp->isCustom()) {
-                                      continue;
-                                  }
-                                  auto compUid = comp->getID();
-                                  auto parentReq = std::find_if(component->m_cachedRequires.begin(), component->m_cachedRequires.end(),
-                                                                [compUid](const Meta::Require& req) { return req.uid == compUid; });
-                                  if (parentReq != component->m_cachedRequires.end()) {
-                                      auto newVersion = parentReq->equalsVersion.isEmpty() ? parentReq->suggests : parentReq->equalsVersion;
-                                      if (!newVersion.isEmpty()) {
-                                          comp->setUpdateAction(UpdateAction{ UpdateActionChangeVersion{ newVersion } });
-                                      } else {
-                                          comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
-                                              component->getID(),
-                                              component->getName(),
-                                              component->getVersion(),
-                                          } });
-                                      }
-                                  } else {
-                                      comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
-                                          component->getID(),
-                                          component->getName(),
-                                          component->getVersion(),
-                                      } });
-                                  }
-                                  addedActions = true;
-                              }
-                          } };
+            auto visitor = overload{
+                [](const UpdateActionNone&) {
+                    // noop
+                },
+                [&component, &instance](const UpdateActionChangeVersion& cv) {
+                    qCDebug(instanceProfileResolveC) << instance->name() << "|" << "UpdateActionChangeVersion" << component->getID() << ":"
+                                                     << component->getVersion() << "change to" << cv.targetVersion;
+                    component->setVersion(cv.targetVersion);
+                    component->waitLoadMeta();
+                },
+                [&component, &instance](const UpdateActionLatestRecommendedCompatable lrc) {
+                    qCDebug(instanceProfileResolveC)
+                        << instance->name() << "|" << "UpdateActionLatestRecommendedCompatable" << component->getID() << ":"
+                        << component->getVersion() << "updating to latest recommend or compatible with" << lrc.parentUid << lrc.version;
+                    auto versionList = APPLICATION->metadataIndex()->get(component->getID());
+                    versionList->waitToLoad();
+                    if (versionList) {
+                        auto recommended = versionList->getRecommendedForParent(lrc.parentUid, lrc.version);
+                        if (recommended) {
+                            component->setVersion(recommended->version());
+                            component->waitLoadMeta();
+                            return;
+                        }
+
+                        auto latest = versionList->getLatestForParent(lrc.parentUid, lrc.version);
+                        if (latest) {
+                            component->setVersion(latest->version());
+                            component->waitLoadMeta();
+                        } else {
+                            component->addComponentProblem(ProblemSeverity::Error,
+                                                           QObject::tr("No compatible version of %1 found for %2 %3")
+                                                               .arg(component->getName(), lrc.parentName, lrc.version));
+                        }
+                    } else {
+                        component->addComponentProblem(ProblemSeverity::Error,
+                                                       QObject::tr("No version list in metadata index for %1").arg(component->getID()));
+                    }
+                },
+                [&component, &instance, &toRemove](const UpdateActionRemove&) {
+                    qCDebug(instanceProfileResolveC) << instance->name() << "|" << "UpdateActionRemove" << component->getID() << ":"
+                                                     << component->getVersion() << "removing";
+                    toRemove.append(component->getID());
+                },
+                [this, &component, &instance, &addedActions, &componentIndex](const UpdateActionImportantChanged& ic) {
+                    qCDebug(instanceProfileResolveC)
+                        << instance->name() << "|" << "UpdateImportantChanged" << component->getID() << ":" << component->getVersion()
+                        << "was changed from" << ic.oldVersion << "updating linked components";
+                    auto oldVersion = APPLICATION->metadataIndex()->getLoadedVersion(component->getID(), ic.oldVersion);
+                    for (auto oldReq : oldVersion->requiredSet()) {
+                        auto currentlyRequired = component->m_cachedRequires.find(oldReq);
+                        if (currentlyRequired == component->m_cachedRequires.cend()) {
+                            auto oldReqComp = componentIndex.find(oldReq.uid);
+                            if (oldReqComp != componentIndex.cend()) {
+                                (*oldReqComp)->setUpdateAction(UpdateAction{ UpdateActionRemove{} });
+                                addedActions = true;
+                            }
+                        }
+                    }
+                    auto linked = collectTreeLinked(component->getID());
+                    for (auto comp : linked) {
+                        if (comp->isCustom()) {
+                            continue;
+                        }
+                        auto compUid = comp->getID();
+                        auto parentReq = std::find_if(component->m_cachedRequires.begin(), component->m_cachedRequires.end(),
+                                                      [compUid](const Meta::Require& req) { return req.uid == compUid; });
+                        if (parentReq != component->m_cachedRequires.end()) {
+                            auto newVersion = parentReq->equalsVersion.isEmpty() ? parentReq->suggests : parentReq->equalsVersion;
+                            if (!newVersion.isEmpty()) {
+                                comp->setUpdateAction(UpdateAction{ UpdateActionChangeVersion{ newVersion } });
+                            } else {
+                                comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
+                                    component->getID(),
+                                    component->getName(),
+                                    component->getVersion(),
+                                } });
+                            }
+                        } else {
+                            comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
+                                component->getID(),
+                                component->getName(),
+                                component->getVersion(),
+                            } });
+                        }
+                        addedActions = true;
+                    }
+                }
+            };
             std::visit(visitor, action);
             component->clearUpdateAction();
             for (auto uid : toRemove) {
@@ -690,6 +686,19 @@ void ComponentUpdateTask::finalizeComponents()
                 }
             }
         }
+        for (auto conflict : component->knownConfictingComponents()) {
+            auto found = componentIndex.find(conflict);
+            if (found != componentIndex.cend()) {
+                auto foundComp = *found;
+                if (foundComp ->isCustom()) {
+                    continue;
+                }
+                component->addComponentProblem(
+                    ProblemSeverity::Warning,
+                    QObject::tr("%1 and %2 are known to not work together. It is recommended to remove one of them.")
+                        .arg(component->getName(), foundComp->getName()));
+            }
+        }
     }
 }
 
diff --git a/launcher/minecraft/PackProfile.cpp b/launcher/minecraft/PackProfile.cpp
index debbf0fa7..c4a2dd273 100644
--- a/launcher/minecraft/PackProfile.cpp
+++ b/launcher/minecraft/PackProfile.cpp
@@ -71,11 +71,6 @@
 
 #include "ui/dialogs/CustomMessageBox.h"
 
-static const QMap<QString, ModPlatform::ModLoaderType> modloaderMapping{ { "net.neoforged", ModPlatform::NeoForge },
-                                                                         { "net.minecraftforge", ModPlatform::Forge },
-                                                                         { "net.fabricmc.fabric-loader", ModPlatform::Fabric },
-                                                                         { "org.quiltmc.quilt-loader", ModPlatform::Quilt },
-                                                                         { "com.mumfrey.liteloader", ModPlatform::LiteLoader } };
 
 PackProfile::PackProfile(MinecraftInstance* instance) : QAbstractListModel()
 {
@@ -1040,12 +1035,12 @@ std::optional<ModPlatform::ModLoaderTypes> PackProfile::getModLoaders()
     ModPlatform::ModLoaderTypes result;
     bool has_any_loader = false;
 
-    QMapIterator<QString, ModPlatform::ModLoaderType> i(modloaderMapping);
+    QMapIterator<QString, ModloaderMapEntry> i(KNOWN_MODLOADERS);
 
     while (i.hasNext()) {
         i.next();
         if (auto c = getComponent(i.key()); c != nullptr && c->isEnabled()) {
-            result |= i.value();
+            result |= i.value().type;
             has_any_loader = true;
         }
     }

From 492c78a570f52d23d58b54e38c4a4785865960e6 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 28 Jun 2024 13:41:07 +0300
Subject: [PATCH 012/177] format the code

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/minecraft/ComponentUpdateTask.cpp | 190 +++++++++++----------
 launcher/minecraft/PackProfile.cpp         |   1 -
 2 files changed, 97 insertions(+), 94 deletions(-)

diff --git a/launcher/minecraft/ComponentUpdateTask.cpp b/launcher/minecraft/ComponentUpdateTask.cpp
index 1617a8f82..f4efba36f 100644
--- a/launcher/minecraft/ComponentUpdateTask.cpp
+++ b/launcher/minecraft/ComponentUpdateTask.cpp
@@ -181,8 +181,8 @@ void ComponentUpdateTask::loadComponents()
         }
         result = composeLoadResult(result, singleResult);
         if (loadTask) {
-            qCDebug(instanceProfileResolveC) << d->m_profile->d->m_instance->name() << "|" << "Remote loading is being run for"
-                                             << component->getName();
+            qCDebug(instanceProfileResolveC) << d->m_profile->d->m_instance->name() << "|"
+                                             << "Remote loading is being run for" << component->getName();
             connect(loadTask.get(), &Task::succeeded, this, [this, taskIndex]() { remoteLoadSucceeded(taskIndex); });
             connect(loadTask.get(), &Task::failed, this, [this, taskIndex](const QString& error) { remoteLoadFailed(taskIndex, error); });
             connect(loadTask.get(), &Task::aborted, this, [this, taskIndex]() { remoteLoadFailed(taskIndex, tr("Aborted")); });
@@ -392,8 +392,8 @@ ComponentContainer ComponentUpdateTask::collectTreeLinked(const QString& uid)
     auto& componentIndex = d->m_profile->d->componentIndex;
     auto& instance = d->m_profile->d->m_instance;
     for (auto comp : components) {
-        qCDebug(instanceProfileResolveC) << instance->name() << "|" << "scanning" << comp->getID() << ":" << comp->getVersion()
-                                         << "for tree link";
+        qCDebug(instanceProfileResolveC) << instance->name() << "|"
+                                         << "scanning" << comp->getID() << ":" << comp->getVersion() << "for tree link";
         auto dep = std::find_if(comp->m_cachedRequires.cbegin(), comp->m_cachedRequires.cend(),
                                 [uid](const Meta::Require& req) -> bool { return req.uid == uid; });
         if (dep != comp->m_cachedRequires.cend()) {
@@ -559,94 +559,98 @@ void ComponentUpdateTask::performUpdateActions()
                 continue;
             }
             auto action = component->getUpdateAction();
-            auto visitor = overload{
-                [](const UpdateActionNone&) {
-                    // noop
-                },
-                [&component, &instance](const UpdateActionChangeVersion& cv) {
-                    qCDebug(instanceProfileResolveC) << instance->name() << "|" << "UpdateActionChangeVersion" << component->getID() << ":"
-                                                     << component->getVersion() << "change to" << cv.targetVersion;
-                    component->setVersion(cv.targetVersion);
-                    component->waitLoadMeta();
-                },
-                [&component, &instance](const UpdateActionLatestRecommendedCompatable lrc) {
-                    qCDebug(instanceProfileResolveC)
-                        << instance->name() << "|" << "UpdateActionLatestRecommendedCompatable" << component->getID() << ":"
-                        << component->getVersion() << "updating to latest recommend or compatible with" << lrc.parentUid << lrc.version;
-                    auto versionList = APPLICATION->metadataIndex()->get(component->getID());
-                    versionList->waitToLoad();
-                    if (versionList) {
-                        auto recommended = versionList->getRecommendedForParent(lrc.parentUid, lrc.version);
-                        if (recommended) {
-                            component->setVersion(recommended->version());
-                            component->waitLoadMeta();
-                            return;
-                        }
-
-                        auto latest = versionList->getLatestForParent(lrc.parentUid, lrc.version);
-                        if (latest) {
-                            component->setVersion(latest->version());
-                            component->waitLoadMeta();
-                        } else {
-                            component->addComponentProblem(ProblemSeverity::Error,
-                                                           QObject::tr("No compatible version of %1 found for %2 %3")
-                                                               .arg(component->getName(), lrc.parentName, lrc.version));
-                        }
-                    } else {
-                        component->addComponentProblem(ProblemSeverity::Error,
-                                                       QObject::tr("No version list in metadata index for %1").arg(component->getID()));
-                    }
-                },
-                [&component, &instance, &toRemove](const UpdateActionRemove&) {
-                    qCDebug(instanceProfileResolveC) << instance->name() << "|" << "UpdateActionRemove" << component->getID() << ":"
-                                                     << component->getVersion() << "removing";
-                    toRemove.append(component->getID());
-                },
-                [this, &component, &instance, &addedActions, &componentIndex](const UpdateActionImportantChanged& ic) {
-                    qCDebug(instanceProfileResolveC)
-                        << instance->name() << "|" << "UpdateImportantChanged" << component->getID() << ":" << component->getVersion()
-                        << "was changed from" << ic.oldVersion << "updating linked components";
-                    auto oldVersion = APPLICATION->metadataIndex()->getLoadedVersion(component->getID(), ic.oldVersion);
-                    for (auto oldReq : oldVersion->requiredSet()) {
-                        auto currentlyRequired = component->m_cachedRequires.find(oldReq);
-                        if (currentlyRequired == component->m_cachedRequires.cend()) {
-                            auto oldReqComp = componentIndex.find(oldReq.uid);
-                            if (oldReqComp != componentIndex.cend()) {
-                                (*oldReqComp)->setUpdateAction(UpdateAction{ UpdateActionRemove{} });
-                                addedActions = true;
-                            }
-                        }
-                    }
-                    auto linked = collectTreeLinked(component->getID());
-                    for (auto comp : linked) {
-                        if (comp->isCustom()) {
-                            continue;
-                        }
-                        auto compUid = comp->getID();
-                        auto parentReq = std::find_if(component->m_cachedRequires.begin(), component->m_cachedRequires.end(),
-                                                      [compUid](const Meta::Require& req) { return req.uid == compUid; });
-                        if (parentReq != component->m_cachedRequires.end()) {
-                            auto newVersion = parentReq->equalsVersion.isEmpty() ? parentReq->suggests : parentReq->equalsVersion;
-                            if (!newVersion.isEmpty()) {
-                                comp->setUpdateAction(UpdateAction{ UpdateActionChangeVersion{ newVersion } });
-                            } else {
-                                comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
-                                    component->getID(),
-                                    component->getName(),
-                                    component->getVersion(),
-                                } });
-                            }
-                        } else {
-                            comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
-                                component->getID(),
-                                component->getName(),
-                                component->getVersion(),
-                            } });
-                        }
-                        addedActions = true;
-                    }
-                }
-            };
+            auto visitor =
+                overload{ [](const UpdateActionNone&) {
+                             // noop
+                         },
+                          [&component, &instance](const UpdateActionChangeVersion& cv) {
+                              qCDebug(instanceProfileResolveC) << instance->name() << "|"
+                                                               << "UpdateActionChangeVersion" << component->getID() << ":"
+                                                               << component->getVersion() << "change to" << cv.targetVersion;
+                              component->setVersion(cv.targetVersion);
+                              component->waitLoadMeta();
+                          },
+                          [&component, &instance](const UpdateActionLatestRecommendedCompatable lrc) {
+                              qCDebug(instanceProfileResolveC)
+                                  << instance->name() << "|"
+                                  << "UpdateActionLatestRecommendedCompatable" << component->getID() << ":" << component->getVersion()
+                                  << "updating to latest recommend or compatible with" << lrc.parentUid << lrc.version;
+                              auto versionList = APPLICATION->metadataIndex()->get(component->getID());
+                              versionList->waitToLoad();
+                              if (versionList) {
+                                  auto recommended = versionList->getRecommendedForParent(lrc.parentUid, lrc.version);
+                                  if (recommended) {
+                                      component->setVersion(recommended->version());
+                                      component->waitLoadMeta();
+                                      return;
+                                  }
+
+                                  auto latest = versionList->getLatestForParent(lrc.parentUid, lrc.version);
+                                  if (latest) {
+                                      component->setVersion(latest->version());
+                                      component->waitLoadMeta();
+                                  } else {
+                                      component->addComponentProblem(ProblemSeverity::Error,
+                                                                     QObject::tr("No compatible version of %1 found for %2 %3")
+                                                                         .arg(component->getName(), lrc.parentName, lrc.version));
+                                  }
+                              } else {
+                                  component->addComponentProblem(
+                                      ProblemSeverity::Error,
+                                      QObject::tr("No version list in metadata index for %1").arg(component->getID()));
+                              }
+                          },
+                          [&component, &instance, &toRemove](const UpdateActionRemove&) {
+                              qCDebug(instanceProfileResolveC)
+                                  << instance->name() << "|"
+                                  << "UpdateActionRemove" << component->getID() << ":" << component->getVersion() << "removing";
+                              toRemove.append(component->getID());
+                          },
+                          [this, &component, &instance, &addedActions, &componentIndex](const UpdateActionImportantChanged& ic) {
+                              qCDebug(instanceProfileResolveC)
+                                  << instance->name() << "|"
+                                  << "UpdateImportantChanged" << component->getID() << ":" << component->getVersion() << "was changed from"
+                                  << ic.oldVersion << "updating linked components";
+                              auto oldVersion = APPLICATION->metadataIndex()->getLoadedVersion(component->getID(), ic.oldVersion);
+                              for (auto oldReq : oldVersion->requiredSet()) {
+                                  auto currentlyRequired = component->m_cachedRequires.find(oldReq);
+                                  if (currentlyRequired == component->m_cachedRequires.cend()) {
+                                      auto oldReqComp = componentIndex.find(oldReq.uid);
+                                      if (oldReqComp != componentIndex.cend()) {
+                                          (*oldReqComp)->setUpdateAction(UpdateAction{ UpdateActionRemove{} });
+                                          addedActions = true;
+                                      }
+                                  }
+                              }
+                              auto linked = collectTreeLinked(component->getID());
+                              for (auto comp : linked) {
+                                  if (comp->isCustom()) {
+                                      continue;
+                                  }
+                                  auto compUid = comp->getID();
+                                  auto parentReq = std::find_if(component->m_cachedRequires.begin(), component->m_cachedRequires.end(),
+                                                                [compUid](const Meta::Require& req) { return req.uid == compUid; });
+                                  if (parentReq != component->m_cachedRequires.end()) {
+                                      auto newVersion = parentReq->equalsVersion.isEmpty() ? parentReq->suggests : parentReq->equalsVersion;
+                                      if (!newVersion.isEmpty()) {
+                                          comp->setUpdateAction(UpdateAction{ UpdateActionChangeVersion{ newVersion } });
+                                      } else {
+                                          comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
+                                              component->getID(),
+                                              component->getName(),
+                                              component->getVersion(),
+                                          } });
+                                      }
+                                  } else {
+                                      comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
+                                          component->getID(),
+                                          component->getName(),
+                                          component->getVersion(),
+                                      } });
+                                  }
+                                  addedActions = true;
+                              }
+                          } };
             std::visit(visitor, action);
             component->clearUpdateAction();
             for (auto uid : toRemove) {
@@ -690,7 +694,7 @@ void ComponentUpdateTask::finalizeComponents()
             auto found = componentIndex.find(conflict);
             if (found != componentIndex.cend()) {
                 auto foundComp = *found;
-                if (foundComp ->isCustom()) {
+                if (foundComp->isCustom()) {
                     continue;
                 }
                 component->addComponentProblem(
diff --git a/launcher/minecraft/PackProfile.cpp b/launcher/minecraft/PackProfile.cpp
index c4a2dd273..8623c500f 100644
--- a/launcher/minecraft/PackProfile.cpp
+++ b/launcher/minecraft/PackProfile.cpp
@@ -71,7 +71,6 @@
 
 #include "ui/dialogs/CustomMessageBox.h"
 
-
 PackProfile::PackProfile(MinecraftInstance* instance) : QAbstractListModel()
 {
     d.reset(new PackProfileData);

From 8488d11c69ad181b4f4f303c4a8984938110b40f Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Fri, 28 Jun 2024 09:59:57 -0700
Subject: [PATCH 013/177] review suggestions + spelling

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 launcher/minecraft/Component.cpp           | 17 ++++++++++++++---
 launcher/minecraft/Component.h             | 17 ++++++-----------
 launcher/minecraft/ComponentUpdateTask.cpp | 21 +++++++++------------
 launcher/minecraft/PackProfile.cpp         |  2 +-
 4 files changed, 30 insertions(+), 27 deletions(-)

diff --git a/launcher/minecraft/Component.cpp b/launcher/minecraft/Component.cpp
index 329e6b78e..df27ac071 100644
--- a/launcher/minecraft/Component.cpp
+++ b/launcher/minecraft/Component.cpp
@@ -38,7 +38,6 @@
 #include <meta/VersionList.h>
 
 #include <QSaveFile>
-#include <optional>
 
 #include "Application.h"
 #include "FileSystem.h"
@@ -50,6 +49,14 @@
 
 #include <assert.h>
 
+const QMap<QString, ModloaderMapEntry> Component::KNOWN_MODLOADERS = {
+    { "net.neoforged", { ModPlatform::NeoForge, { "net.minecraftforge", "net.fabricmc.fabric-loader", "net.fabricmc.fabric-loader" } } },
+    { "net.minecraftforge", { ModPlatform::Forge, { "net.neoforged", "net.fabricmc.fabric-loader", "net.fabricmc.fabric-loader" } } },
+    { "net.fabricmc.fabric-loader", { ModPlatform::Fabric, { "net.minecraftforge", "net.neoforged", "org.quiltmc.quilt-loader" } } },
+    { "org.quiltmc.quilt-loader", { ModPlatform::Quilt, { "net.minecraftforge", "net.neoforged", "net.fabricmc.fabric-loader" } } },
+    { "com.mumfrey.liteloader", { ModPlatform::LiteLoader, {} } }
+};
+
 Component::Component(PackProfile* parent, const QString& uid)
 {
     assert(parent);
@@ -231,11 +238,11 @@ bool Component::isKnownModloader()
     return iter != KNOWN_MODLOADERS.cend();
 }
 
-QStringList Component::knownConfictingComponents()
+QStringList Component::knownConflictingComponents()
 {
     auto iter = KNOWN_MODLOADERS.find(m_uid);
     if (iter != KNOWN_MODLOADERS.cend()) {
-        return (*iter).knownConfictingComponents;
+        return (*iter).knownConflictingComponents;
     } else {
         return {};
     }
@@ -276,12 +283,16 @@ void Component::addComponentProblem(ProblemSeverity severity, const QString& des
         m_componentProblemSeverity = severity;
     }
     m_componentProblems.append({ severity, description });
+
+    emit dataChanged();
 }
 
 void Component::resetComponentProblems()
 {
     m_componentProblems.clear();
     m_componentProblemSeverity = ProblemSeverity::None;
+    
+    emit dataChanged();
 }
 
 void Component::setVersion(const QString& version)
diff --git a/launcher/minecraft/Component.h b/launcher/minecraft/Component.h
index 3669638f2..7ff30889f 100644
--- a/launcher/minecraft/Component.h
+++ b/launcher/minecraft/Component.h
@@ -23,7 +23,7 @@ struct UpdateActionChangeVersion {
     /// version to change to
     QString targetVersion;
 };
-struct UpdateActionLatestRecommendedCompatable {
+struct UpdateActionLatestRecommendedCompatible {
     /// Parent uid
     QString parentUid;
     QString parentName;
@@ -40,20 +40,13 @@ using UpdateActionNone = std::monostate;
 
 using UpdateAction = std::variant<UpdateActionNone,
                                   UpdateActionChangeVersion,
-                                  UpdateActionLatestRecommendedCompatable,
+                                  UpdateActionLatestRecommendedCompatible,
                                   UpdateActionRemove,
                                   UpdateActionImportantChanged>;
 
 struct ModloaderMapEntry {
     ModPlatform::ModLoaderType type;
-    QStringList knownConfictingComponents;
-};
-static const QMap<QString, ModloaderMapEntry> KNOWN_MODLOADERS{
-    { "net.neoforged", { ModPlatform::NeoForge, { "net.minecraftforge", "net.fabricmc.fabric-loader", "net.fabricmc.fabric-loader" } } },
-    { "net.minecraftforge", { ModPlatform::Forge, { "net.neoforged", "net.fabricmc.fabric-loader", "net.fabricmc.fabric-loader" } } },
-    { "net.fabricmc.fabric-loader", { ModPlatform::Fabric, { "net.minecraftforge", "net.neoforged", "org.quiltmc.quilt-loader" } } },
-    { "org.quiltmc.quilt-loader", { ModPlatform::Quilt, { "net.minecraftforge", "net.neoforged", "net.fabricmc.fabric-loader" } } },
-    { "com.mumfrey.liteloader", { ModPlatform::LiteLoader, {} } }
+    QStringList knownConflictingComponents;
 };
 
 class Component : public QObject, public ProblemProvider {
@@ -66,6 +59,8 @@ class Component : public QObject, public ProblemProvider {
 
     virtual ~Component() {}
 
+    static const QMap<QString, ModloaderMapEntry> KNOWN_MODLOADERS;
+
     void applyTo(LaunchProfile* profile);
 
     bool isEnabled();
@@ -79,7 +74,7 @@ class Component : public QObject, public ProblemProvider {
     bool isCustom();
     bool isVersionChangeable();
     bool isKnownModloader();
-    QStringList knownConfictingComponents();
+    QStringList knownConflictingComponents();
 
     // DEPRECATED: explicit numeric order values, used for loading old non-component config. TODO: refactor and move to migration code
     void setOrder(int order);
diff --git a/launcher/minecraft/ComponentUpdateTask.cpp b/launcher/minecraft/ComponentUpdateTask.cpp
index f4efba36f..6656a84f8 100644
--- a/launcher/minecraft/ComponentUpdateTask.cpp
+++ b/launcher/minecraft/ComponentUpdateTask.cpp
@@ -570,25 +570,22 @@ void ComponentUpdateTask::performUpdateActions()
                               component->setVersion(cv.targetVersion);
                               component->waitLoadMeta();
                           },
-                          [&component, &instance](const UpdateActionLatestRecommendedCompatable lrc) {
+                          [&component, &instance](const UpdateActionLatestRecommendedCompatible lrc) {
                               qCDebug(instanceProfileResolveC)
                                   << instance->name() << "|"
-                                  << "UpdateActionLatestRecommendedCompatable" << component->getID() << ":" << component->getVersion()
+                                  << "UpdateActionLatestRecommendedCompatible" << component->getID() << ":" << component->getVersion()
                                   << "updating to latest recommend or compatible with" << lrc.parentUid << lrc.version;
                               auto versionList = APPLICATION->metadataIndex()->get(component->getID());
-                              versionList->waitToLoad();
                               if (versionList) {
+                                  versionList->waitToLoad();
                                   auto recommended = versionList->getRecommendedForParent(lrc.parentUid, lrc.version);
+                                  if (!recommended) {
+                                      recommended = versionList->getLatestForParent(lrc.parentUid, lrc.version);
+                                  }
                                   if (recommended) {
                                       component->setVersion(recommended->version());
                                       component->waitLoadMeta();
                                       return;
-                                  }
-
-                                  auto latest = versionList->getLatestForParent(lrc.parentUid, lrc.version);
-                                  if (latest) {
-                                      component->setVersion(latest->version());
-                                      component->waitLoadMeta();
                                   } else {
                                       component->addComponentProblem(ProblemSeverity::Error,
                                                                      QObject::tr("No compatible version of %1 found for %2 %3")
@@ -635,14 +632,14 @@ void ComponentUpdateTask::performUpdateActions()
                                       if (!newVersion.isEmpty()) {
                                           comp->setUpdateAction(UpdateAction{ UpdateActionChangeVersion{ newVersion } });
                                       } else {
-                                          comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
+                                          comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatible{
                                               component->getID(),
                                               component->getName(),
                                               component->getVersion(),
                                           } });
                                       }
                                   } else {
-                                      comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatable{
+                                      comp->setUpdateAction(UpdateAction{ UpdateActionLatestRecommendedCompatible{
                                           component->getID(),
                                           component->getName(),
                                           component->getVersion(),
@@ -690,7 +687,7 @@ void ComponentUpdateTask::finalizeComponents()
                 }
             }
         }
-        for (auto conflict : component->knownConfictingComponents()) {
+        for (auto conflict : component->knownConflictingComponents()) {
             auto found = componentIndex.find(conflict);
             if (found != componentIndex.cend()) {
                 auto foundComp = *found;
diff --git a/launcher/minecraft/PackProfile.cpp b/launcher/minecraft/PackProfile.cpp
index 8623c500f..d992a18f3 100644
--- a/launcher/minecraft/PackProfile.cpp
+++ b/launcher/minecraft/PackProfile.cpp
@@ -1034,7 +1034,7 @@ std::optional<ModPlatform::ModLoaderTypes> PackProfile::getModLoaders()
     ModPlatform::ModLoaderTypes result;
     bool has_any_loader = false;
 
-    QMapIterator<QString, ModloaderMapEntry> i(KNOWN_MODLOADERS);
+    QMapIterator<QString, ModloaderMapEntry> i(Component::KNOWN_MODLOADERS);
 
     while (i.hasNext()) {
         i.next();

From c886111e18566c10ec15e5c389a3d4d1da3d2ccf Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sat, 6 Jul 2024 09:09:54 +0300
Subject: [PATCH 014/177] format the code

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/meta/VersionList.cpp    | 5 ++---
 launcher/minecraft/Component.cpp | 2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/launcher/meta/VersionList.cpp b/launcher/meta/VersionList.cpp
index 28a42d28d..8bc326839 100644
--- a/launcher/meta/VersionList.cpp
+++ b/launcher/meta/VersionList.cpp
@@ -254,9 +254,8 @@ void VersionList::setupAddedVersion(const int row, const Version::Ptr& version)
 
     connect(version.get(), &Version::requiresChanged, this,
             [this, row]() { emit dataChanged(index(row), index(row), QVector<int>() << RequiresRole); });
-    connect(version.get(), &Version::timeChanged, this, [this, row]() {
-        emit dataChanged(index(row), index(row), { TimeRole, SortRole });
-    });
+    connect(version.get(), &Version::timeChanged, this,
+            [this, row]() { emit dataChanged(index(row), index(row), { TimeRole, SortRole }); });
     connect(version.get(), &Version::typeChanged, this, [this, row]() { emit dataChanged(index(row), index(row), { TypeRole }); });
 }
 
diff --git a/launcher/minecraft/Component.cpp b/launcher/minecraft/Component.cpp
index df27ac071..aeb8a398f 100644
--- a/launcher/minecraft/Component.cpp
+++ b/launcher/minecraft/Component.cpp
@@ -291,7 +291,7 @@ void Component::resetComponentProblems()
 {
     m_componentProblems.clear();
     m_componentProblemSeverity = ProblemSeverity::None;
-    
+
     emit dataChanged();
 }
 

From c666d060fc1503e307d2acbdb1443a26090e6801 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 19 Jul 2024 17:10:04 +0300
Subject: [PATCH 015/177] fix merge issue

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/minecraft/PackProfile.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/launcher/minecraft/PackProfile.cpp b/launcher/minecraft/PackProfile.cpp
index ad8652488..f1d2473c2 100644
--- a/launcher/minecraft/PackProfile.cpp
+++ b/launcher/minecraft/PackProfile.cpp
@@ -1048,8 +1048,8 @@ QList<ModPlatform::ModLoaderType> PackProfile::getModLoadersList()
 {
     QList<ModPlatform::ModLoaderType> result;
     for (auto c : d->components) {
-        if (c->isEnabled() && modloaderMapping.contains(c->getID())) {
-            result.append(modloaderMapping[c->getID()]);
+        if (c->isEnabled() && Component::KNOWN_MODLOADERS.contains(c->getID())) {
+            result.append(Component::KNOWN_MODLOADERS[c->getID()].type);
         }
     }
 

From fe23e76714598f134f07ba04b482bdb2bf1ee34c Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 5 Aug 2024 12:04:08 +0300
Subject: [PATCH 016/177] fix codeql

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/modplatform/modrinth/ModrinthInstanceCreationTask.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.h b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.h
index 0879474cf..ddfa7ae95 100644
--- a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.h
+++ b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.h
@@ -1,5 +1,6 @@
 #pragma once
 
+#include <optional>
 #include "BaseInstance.h"
 #include "InstanceCreationTask.h"
 

From 4ea7132bdfdfc53690ababf66f1123c7e0217595 Mon Sep 17 00:00:00 2001
From: Kurumi78 <30587387+Kurumi78@users.noreply.github.com>
Date: Fri, 30 Aug 2024 02:08:07 -0500
Subject: [PATCH 017/177] Add webp validIconExtensions

Add webp to list of valid file extensions for Icons

Signed-off-by: Kurumi78 <30587387+Kurumi78@users.noreply.github.com>
---
 launcher/icons/IconUtils.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/icons/IconUtils.cpp b/launcher/icons/IconUtils.cpp
index 6825dd6da..87e948729 100644
--- a/launcher/icons/IconUtils.cpp
+++ b/launcher/icons/IconUtils.cpp
@@ -39,7 +39,7 @@
 #include "FileSystem.h"
 
 namespace {
-static const QStringList validIconExtensions = { { "svg", "png", "ico", "gif", "jpg", "jpeg" } };
+static const QStringList validIconExtensions = { { "svg", "png", "ico", "gif", "jpg", "jpeg", "webp" } };
 }
 
 namespace IconUtils {

From 166207753c85d7295208989cd446399f5e833c01 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Thu, 5 Sep 2024 09:36:45 +0300
Subject: [PATCH 018/177] ensure that the shortcut destination exists

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/FileSystem.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/launcher/FileSystem.cpp b/launcher/FileSystem.cpp
index b5c2c95cf..7f38cff04 100644
--- a/launcher/FileSystem.cpp
+++ b/launcher/FileSystem.cpp
@@ -921,6 +921,10 @@ bool createShortcut(QString destination, QString target, QStringList args, QStri
     if (destination.isEmpty()) {
         destination = PathCombine(getDesktopDir(), RemoveInvalidFilenameChars(name));
     }
+    if (!ensureFilePathExists(destination)) {
+        qWarning() << "Destination path can't be created!";
+        return false;
+    }
 #if defined(Q_OS_MACOS)
     // Create the Application
     QDir applicationDirectory =

From c5592a446ae1f63743d1d777eb5843e25ad376a1 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 6 Sep 2024 21:47:35 +0300
Subject: [PATCH 019/177] Remove all the slowdown code from CocurrentTask

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/tasks/ConcurrentTask.cpp | 64 ++++---------------------------
 launcher/tasks/ConcurrentTask.h   | 10 -----
 2 files changed, 7 insertions(+), 67 deletions(-)

diff --git a/launcher/tasks/ConcurrentTask.cpp b/launcher/tasks/ConcurrentTask.cpp
index 6f4a94e7f..f2ee40c31 100644
--- a/launcher/tasks/ConcurrentTask.cpp
+++ b/launcher/tasks/ConcurrentTask.cpp
@@ -38,8 +38,7 @@
 #include <QDebug>
 #include "tasks/Task.h"
 
-ConcurrentTask::ConcurrentTask(QObject* parent, QString task_name, int max_concurrent)
-    : Task(parent), m_name(task_name), m_total_max_size(max_concurrent)
+ConcurrentTask::ConcurrentTask(QObject* parent, QString task_name, int max_concurrent) : Task(parent), m_total_max_size(max_concurrent)
 {
     setObjectName(task_name);
 }
@@ -104,9 +103,9 @@ void ConcurrentTask::clear()
     m_done.clear();
     m_failed.clear();
     m_queue.clear();
+    m_task_progress.clear();
 
     m_progress = 0;
-    m_stepProgress = 0;
 }
 
 void ConcurrentTask::executeNextSubTask()
@@ -139,7 +138,7 @@ void ConcurrentTask::startSubTask(Task::Ptr next)
 
     connect(next.get(), &Task::status, this, [this, next](QString msg) { subTaskStatus(next, msg); });
     connect(next.get(), &Task::details, this, [this, next](QString msg) { subTaskDetails(next, msg); });
-    connect(next.get(), &Task::stepProgress, this, [this, next](TaskStepProgress const& tp) { subTaskStepProgress(next, tp); });
+    connect(next.get(), &Task::stepProgress, this, &ConcurrentTask::stepProgress);
 
     connect(next.get(), &Task::progress, this, [this, next](qint64 current, qint64 total) { subTaskProgress(next, current, total); });
 
@@ -149,7 +148,6 @@ void ConcurrentTask::startSubTask(Task::Ptr next)
     m_task_progress.insert(next->getUid(), task_progress);
 
     updateState();
-    updateStepProgress(*task_progress.get(), Operation::ADDED);
 
     QMetaObject::invokeMethod(next.get(), &Task::start, Qt::QueuedConnection);
 }
@@ -161,14 +159,14 @@ void ConcurrentTask::subTaskFinished(Task::Ptr task, TaskStepState state)
 
     m_doing.remove(task.get());
 
-    auto task_progress = m_task_progress.value(task->getUid());
-    task_progress->state = state;
+    auto task_progress = *m_task_progress.value(task->getUid());
+    task_progress.state = state;
+    m_task_progress.remove(task->getUid());
 
     disconnect(task.get(), 0, this, 0);
 
-    emit stepProgress(*task_progress);
+    emit stepProgress(task_progress);
     updateState();
-    updateStepProgress(*task_progress, Operation::REMOVED);
     QMetaObject::invokeMethod(this, &ConcurrentTask::executeNextSubTask, Qt::QueuedConnection);
 }
 
@@ -215,7 +213,6 @@ void ConcurrentTask::subTaskProgress(Task::Ptr task, qint64 current, qint64 tota
     task_progress->update(current, total);
 
     emit stepProgress(*task_progress);
-    updateStepProgress(*task_progress, Operation::CHANGED);
     updateState();
 
     if (totalSize() == 1) {
@@ -223,52 +220,6 @@ void ConcurrentTask::subTaskProgress(Task::Ptr task, qint64 current, qint64 tota
     }
 }
 
-void ConcurrentTask::subTaskStepProgress(Task::Ptr task, TaskStepProgress const& task_progress)
-{
-    Operation op = Operation::ADDED;
-
-    if (!m_task_progress.contains(task_progress.uid)) {
-        m_task_progress.insert(task_progress.uid, std::make_shared<TaskStepProgress>(task_progress));
-        op = Operation::ADDED;
-        emit stepProgress(task_progress);
-        updateStepProgress(task_progress, op);
-    } else {
-        auto tp = m_task_progress.value(task_progress.uid);
-
-        tp->old_current = tp->current;
-        tp->old_total = tp->total;
-
-        tp->current = task_progress.current;
-        tp->total = task_progress.total;
-        tp->status = task_progress.status;
-        tp->details = task_progress.details;
-
-        op = Operation::CHANGED;
-        emit stepProgress(*tp.get());
-        updateStepProgress(*tp.get(), op);
-    }
-}
-
-void ConcurrentTask::updateStepProgress(TaskStepProgress const& changed_progress, Operation op)
-{
-    switch (op) {
-        case Operation::ADDED:
-            m_stepProgress += changed_progress.current;
-            m_stepTotalProgress += changed_progress.total;
-            break;
-        case Operation::REMOVED:
-            m_stepProgress -= changed_progress.current;
-            m_stepTotalProgress -= changed_progress.total;
-            break;
-        case Operation::CHANGED:
-            m_stepProgress -= changed_progress.old_current;
-            m_stepTotalProgress -= changed_progress.old_total;
-            m_stepProgress += changed_progress.current;
-            m_stepTotalProgress += changed_progress.total;
-            break;
-    }
-}
-
 void ConcurrentTask::updateState()
 {
     if (totalSize() > 1) {
@@ -276,7 +227,6 @@ void ConcurrentTask::updateState()
         setStatus(tr("Executing %1 task(s) (%2 out of %3 are done)")
                       .arg(QString::number(m_doing.count()), QString::number(m_done.count()), QString::number(totalSize())));
     } else {
-        setProgress(m_stepProgress, m_stepTotalProgress);
         QString status = tr("Please wait...");
         if (m_queue.size() > 0) {
             status = tr("Waiting for a task to start...");
diff --git a/launcher/tasks/ConcurrentTask.h b/launcher/tasks/ConcurrentTask.h
index 07ea58575..0d6709940 100644
--- a/launcher/tasks/ConcurrentTask.h
+++ b/launcher/tasks/ConcurrentTask.h
@@ -80,23 +80,16 @@ class ConcurrentTask : public Task {
     void subTaskStatus(Task::Ptr task, const QString& msg);
     void subTaskDetails(Task::Ptr task, const QString& msg);
     void subTaskProgress(Task::Ptr task, qint64 current, qint64 total);
-    void subTaskStepProgress(Task::Ptr task, TaskStepProgress const& task_step_progress);
 
    protected:
     // NOTE: This is not thread-safe.
     [[nodiscard]] unsigned int totalSize() const { return static_cast<unsigned int>(m_queue.size() + m_doing.size() + m_done.size()); }
 
-    enum class Operation { ADDED, REMOVED, CHANGED };
-    void updateStepProgress(TaskStepProgress const& changed_progress, Operation);
-
     virtual void updateState();
 
     void startSubTask(Task::Ptr task);
 
    protected:
-    QString m_name;
-    QString m_step_status;
-
     QQueue<Task::Ptr> m_queue;
 
     QHash<Task*, Task::Ptr> m_doing;
@@ -107,7 +100,4 @@ class ConcurrentTask : public Task {
     QHash<QUuid, std::shared_ptr<TaskStepProgress>> m_task_progress;
 
     int m_total_max_size;
-
-    qint64 m_stepProgress = 0;
-    qint64 m_stepTotalProgress = 100;
 };

From c2a2e95183977bee5aebdca57fc6e342d7b9c9ed Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Sat, 7 Sep 2024 21:35:01 -0700
Subject: [PATCH 020/177] fix: Forge and neoforge conflict with quilt, not
 fabric twice

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 launcher/minecraft/Component.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/launcher/minecraft/Component.cpp b/launcher/minecraft/Component.cpp
index aeb8a398f..1073ef324 100644
--- a/launcher/minecraft/Component.cpp
+++ b/launcher/minecraft/Component.cpp
@@ -50,8 +50,8 @@
 #include <assert.h>
 
 const QMap<QString, ModloaderMapEntry> Component::KNOWN_MODLOADERS = {
-    { "net.neoforged", { ModPlatform::NeoForge, { "net.minecraftforge", "net.fabricmc.fabric-loader", "net.fabricmc.fabric-loader" } } },
-    { "net.minecraftforge", { ModPlatform::Forge, { "net.neoforged", "net.fabricmc.fabric-loader", "net.fabricmc.fabric-loader" } } },
+    { "net.neoforged", { ModPlatform::NeoForge, { "net.minecraftforge", "net.fabricmc.fabric-loader", "org.quiltmc.quilt-loader" } } },
+    { "net.minecraftforge", { ModPlatform::Forge, { "net.neoforged", "net.fabricmc.fabric-loader", "org.quiltmc.quilt-loader" } } },
     { "net.fabricmc.fabric-loader", { ModPlatform::Fabric, { "net.minecraftforge", "net.neoforged", "org.quiltmc.quilt-loader" } } },
     { "org.quiltmc.quilt-loader", { ModPlatform::Quilt, { "net.minecraftforge", "net.neoforged", "net.fabricmc.fabric-loader" } } },
     { "com.mumfrey.liteloader", { ModPlatform::LiteLoader, {} } }

From 14fb54afd9673eebf43fad454db966e740c2c8e3 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sun, 8 Sep 2024 01:00:59 +0300
Subject: [PATCH 021/177] Fix launch when no java is loaded

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/BaseInstance.h                       |  4 +-
 launcher/CMakeLists.txt                       |  6 +-
 launcher/NullInstance.h                       |  2 +-
 launcher/RuntimeContext.h                     | 23 +-----
 launcher/launch/LaunchStep.cpp                |  3 +-
 launcher/launch/LaunchStep.h                  |  7 +-
 launcher/launch/LaunchTask.cpp                |  1 -
 launcher/launch/LaunchTask.h                  |  3 +-
 launcher/launch/TaskStepWrapper.cpp           | 65 +++++++++++++++++
 .../{steps/Update.h => TaskStepWrapper.h}     | 11 +--
 launcher/launch/steps/CheckJava.cpp           |  3 +
 launcher/launch/steps/CheckJava.h             |  2 +-
 launcher/launch/steps/QuitAfterGameStop.h     |  2 +-
 launcher/launch/steps/Update.cpp              | 73 -------------------
 launcher/minecraft/LaunchProfile.cpp          |  1 +
 launcher/minecraft/MinecraftInstance.cpp      | 54 ++++++++------
 launcher/minecraft/MinecraftInstance.h        |  4 +-
 launcher/minecraft/MinecraftLoadAndCheck.cpp  | 35 ++++-----
 launcher/minecraft/MinecraftLoadAndCheck.h    | 22 ++----
 launcher/minecraft/MinecraftUpdate.cpp        | 63 ----------------
 launcher/minecraft/MinecraftUpdate.h          | 33 ---------
 launcher/minecraft/PackProfile.h              |  6 +-
 launcher/minecraft/launch/AutoInstallJava.h   |  1 -
 launcher/minecraft/launch/ClaimAccount.h      |  2 +-
 launcher/minecraft/update/AssetUpdateTask.cpp |  3 +-
 launcher/minecraft/update/AssetUpdateTask.h   |  2 +-
 launcher/minecraft/update/FMLLibrariesTask.h  |  2 +-
 launcher/minecraft/update/FoldersTask.cpp     |  2 +-
 launcher/minecraft/update/FoldersTask.h       |  2 +-
 launcher/minecraft/update/LibrariesTask.h     |  2 +-
 launcher/ui/pages/instance/VersionPage.cpp    | 14 +++-
 31 files changed, 163 insertions(+), 290 deletions(-)
 create mode 100644 launcher/launch/TaskStepWrapper.cpp
 rename launcher/launch/{steps/Update.h => TaskStepWrapper.h} (73%)
 delete mode 100644 launcher/launch/steps/Update.cpp
 delete mode 100644 launcher/minecraft/MinecraftUpdate.cpp
 delete mode 100644 launcher/minecraft/MinecraftUpdate.h

diff --git a/launcher/BaseInstance.h b/launcher/BaseInstance.h
index 8c80331bc..2be28d1ec 100644
--- a/launcher/BaseInstance.h
+++ b/launcher/BaseInstance.h
@@ -181,7 +181,7 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
     virtual void loadSpecificSettings() = 0;
 
     /// returns a valid update task
-    virtual Task::Ptr createUpdateTask(Net::Mode mode) = 0;
+    virtual QList<Task::Ptr> createUpdateTask() = 0;
 
     /// returns a valid launcher (task container)
     virtual shared_qobject_ptr<LaunchTask> createLaunchTask(AuthSessionPtr account, MinecraftTarget::Ptr targetToJoin) = 0;
@@ -215,7 +215,7 @@ class BaseInstance : public QObject, public std::enable_shared_from_this<BaseIns
 
     virtual QString typeName() const = 0;
 
-    void updateRuntimeContext();
+    virtual void updateRuntimeContext();
     RuntimeContext runtimeContext() const { return m_runtimeContext; }
 
     bool hasVersionBroken() const { return m_hasBrokenVersion; }
diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt
index 58de35a7d..7ab9c654f 100644
--- a/launcher/CMakeLists.txt
+++ b/launcher/CMakeLists.txt
@@ -160,8 +160,6 @@ set(LAUNCH_SOURCES
     launch/steps/PreLaunchCommand.h
     launch/steps/TextPrint.cpp
     launch/steps/TextPrint.h
-    launch/steps/Update.cpp
-    launch/steps/Update.h
     launch/steps/QuitAfterGameStop.cpp
     launch/steps/QuitAfterGameStop.h
     launch/steps/PrintServers.cpp
@@ -172,6 +170,8 @@ set(LAUNCH_SOURCES
     launch/LaunchTask.h
     launch/LogModel.cpp
     launch/LogModel.h
+    launch/TaskStepWrapper.cpp
+    launch/TaskStepWrapper.h
 )
 
 # Old update system
@@ -290,8 +290,6 @@ set(MINECRAFT_SOURCES
     minecraft/ComponentUpdateTask.h
     minecraft/MinecraftLoadAndCheck.h
     minecraft/MinecraftLoadAndCheck.cpp
-    minecraft/MinecraftUpdate.h
-    minecraft/MinecraftUpdate.cpp
     minecraft/MojangVersionFormat.cpp
     minecraft/MojangVersionFormat.h
     minecraft/Rule.cpp
diff --git a/launcher/NullInstance.h b/launcher/NullInstance.h
index 3ee38e76c..3d01c9d33 100644
--- a/launcher/NullInstance.h
+++ b/launcher/NullInstance.h
@@ -53,7 +53,7 @@ class NullInstance : public BaseInstance {
     QSet<QString> traits() const override { return {}; };
     QString instanceConfigFolder() const override { return instanceRoot(); };
     shared_qobject_ptr<LaunchTask> createLaunchTask(AuthSessionPtr, MinecraftTarget::Ptr) override { return nullptr; }
-    shared_qobject_ptr<Task> createUpdateTask([[maybe_unused]] Net::Mode mode) override { return nullptr; }
+    QList<Task::Ptr> createUpdateTask() override { return {}; }
     QProcessEnvironment createEnvironment() override { return QProcessEnvironment(); }
     QProcessEnvironment createLaunchEnvironment() override { return QProcessEnvironment(); }
     QMap<QString, QString> getVariables() override { return QMap<QString, QString>(); }
diff --git a/launcher/RuntimeContext.h b/launcher/RuntimeContext.h
index c57140d28..85304a5bc 100644
--- a/launcher/RuntimeContext.h
+++ b/launcher/RuntimeContext.h
@@ -20,13 +20,13 @@
 
 #include <QSet>
 #include <QString>
+#include "SysInfo.h"
 #include "settings/SettingsObject.h"
 
 struct RuntimeContext {
     QString javaArchitecture;
     QString javaRealArchitecture;
-    QString javaPath;
-    QString system;
+    QString system = SysInfo::currentSystem();
 
     QString mappedJavaRealArchitecture() const
     {
@@ -45,8 +45,6 @@ struct RuntimeContext {
     {
         javaArchitecture = instanceSettings->get("JavaArchitecture").toString();
         javaRealArchitecture = instanceSettings->get("JavaRealArchitecture").toString();
-        javaPath = instanceSettings->get("JavaPath").toString();
-        system = currentSystem();
     }
 
     QString getClassifier() const { return system + "-" + mappedJavaRealArchitecture(); }
@@ -68,21 +66,4 @@ struct RuntimeContext {
 
         return x;
     }
-
-    static QString currentSystem()
-    {
-#if defined(Q_OS_LINUX)
-        return "linux";
-#elif defined(Q_OS_MACOS)
-        return "osx";
-#elif defined(Q_OS_WINDOWS)
-        return "windows";
-#elif defined(Q_OS_FREEBSD)
-        return "freebsd";
-#elif defined(Q_OS_OPENBSD)
-        return "openbsd";
-#else
-        return "unknown";
-#endif
-    }
 };
diff --git a/launcher/launch/LaunchStep.cpp b/launcher/launch/LaunchStep.cpp
index ebc534617..f3e9dfce0 100644
--- a/launcher/launch/LaunchStep.cpp
+++ b/launcher/launch/LaunchStep.cpp
@@ -16,9 +16,8 @@
 #include "LaunchStep.h"
 #include "LaunchTask.h"
 
-void LaunchStep::bind(LaunchTask* parent)
+LaunchStep::LaunchStep(LaunchTask* parent) : Task(parent), m_parent(parent)
 {
-    m_parent = parent;
     connect(this, &LaunchStep::readyForLaunch, parent, &LaunchTask::onReadyForLaunch);
     connect(this, &LaunchStep::logLine, parent, &LaunchTask::onLogLine);
     connect(this, &LaunchStep::logLines, parent, &LaunchTask::onLogLines);
diff --git a/launcher/launch/LaunchStep.h b/launcher/launch/LaunchStep.h
index 6a28afb1f..d49d7545b 100644
--- a/launcher/launch/LaunchStep.h
+++ b/launcher/launch/LaunchStep.h
@@ -24,11 +24,8 @@ class LaunchTask;
 class LaunchStep : public Task {
     Q_OBJECT
    public: /* methods */
-    explicit LaunchStep(LaunchTask* parent) : Task(nullptr), m_parent(parent) { bind(parent); };
-    virtual ~LaunchStep() {};
-
-   private: /* methods */
-    void bind(LaunchTask* parent);
+    explicit LaunchStep(LaunchTask* parent);
+    virtual ~LaunchStep() = default;
 
    signals:
     void logLines(QStringList lines, MessageLevel::Enum level);
diff --git a/launcher/launch/LaunchTask.cpp b/launcher/launch/LaunchTask.cpp
index 06a32bd28..4e4f5ead4 100644
--- a/launcher/launch/LaunchTask.cpp
+++ b/launcher/launch/LaunchTask.cpp
@@ -44,7 +44,6 @@
 #include <QRegularExpression>
 #include <QStandardPaths>
 #include "MessageLevel.h"
-#include "java/JavaChecker.h"
 #include "tasks/Task.h"
 
 void LaunchTask::init()
diff --git a/launcher/launch/LaunchTask.h b/launcher/launch/LaunchTask.h
index ae24b9a26..2fd8c78c7 100644
--- a/launcher/launch/LaunchTask.h
+++ b/launcher/launch/LaunchTask.h
@@ -41,7 +41,6 @@
 #include "BaseInstance.h"
 #include "LaunchStep.h"
 #include "LogModel.h"
-#include "LoggedProcess.h"
 #include "MessageLevel.h"
 
 class LaunchTask : public Task {
@@ -55,7 +54,7 @@ class LaunchTask : public Task {
 
    public: /* methods */
     static shared_qobject_ptr<LaunchTask> create(InstancePtr inst);
-    virtual ~LaunchTask() {};
+    virtual ~LaunchTask() = default;
 
     void appendStep(shared_qobject_ptr<LaunchStep> step);
     void prependStep(shared_qobject_ptr<LaunchStep> step);
diff --git a/launcher/launch/TaskStepWrapper.cpp b/launcher/launch/TaskStepWrapper.cpp
new file mode 100644
index 000000000..136057620
--- /dev/null
+++ b/launcher/launch/TaskStepWrapper.cpp
@@ -0,0 +1,65 @@
+/* Copyright 2013-2021 MultiMC Contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "TaskStepWrapper.h"
+#include "tasks/Task.h"
+
+void TaskStepWrapper::executeTask()
+{
+    if (m_state == Task::State::AbortedByUser) {
+        emitFailed(tr("Task aborted."));
+        return;
+    }
+    connect(m_task.get(), &Task::finished, this, &TaskStepWrapper::updateFinished);
+    connect(m_task.get(), &Task::progress, this, &TaskStepWrapper::setProgress);
+    connect(m_task.get(), &Task::stepProgress, this, &TaskStepWrapper::propagateStepProgress);
+    connect(m_task.get(), &Task::status, this, &TaskStepWrapper::setStatus);
+    connect(m_task.get(), &Task::details, this, &TaskStepWrapper::setDetails);
+    emit progressReportingRequest();
+}
+
+void TaskStepWrapper::proceed()
+{
+    m_task->start();
+}
+
+void TaskStepWrapper::updateFinished()
+{
+    if (m_task->wasSuccessful()) {
+        m_task.reset();
+        emitSucceeded();
+    } else {
+        QString reason = tr("Instance update failed because: %1\n\n").arg(m_task->failReason());
+        m_task.reset();
+        emit logLine(reason, MessageLevel::Fatal);
+        emitFailed(reason);
+    }
+}
+
+bool TaskStepWrapper::canAbort() const
+{
+    if (m_task) {
+        return m_task->canAbort();
+    }
+    return true;
+}
+
+bool TaskStepWrapper::abort()
+{
+    if (m_task && m_task->canAbort()) {
+        return m_task->abort();
+    }
+    return Task::abort();
+}
diff --git a/launcher/launch/steps/Update.h b/launcher/launch/TaskStepWrapper.h
similarity index 73%
rename from launcher/launch/steps/Update.h
rename to launcher/launch/TaskStepWrapper.h
index 878a43e7e..aec1b7037 100644
--- a/launcher/launch/steps/Update.h
+++ b/launcher/launch/TaskStepWrapper.h
@@ -21,12 +21,11 @@
 #include <launch/LaunchStep.h>
 #include <net/Mode.h>
 
-// FIXME: stupid. should be defined by the instance type? or even completely abstracted away...
-class Update : public LaunchStep {
+class TaskStepWrapper : public LaunchStep {
     Q_OBJECT
    public:
-    explicit Update(LaunchTask* parent, Net::Mode mode) : LaunchStep(parent), m_mode(mode) {};
-    virtual ~Update() {};
+    explicit TaskStepWrapper(LaunchTask* parent, Task::Ptr task) : LaunchStep(parent), m_task(task) {};
+    virtual ~TaskStepWrapper() = default;
 
     void executeTask() override;
     bool canAbort() const override;
@@ -38,7 +37,5 @@ class Update : public LaunchStep {
     void updateFinished();
 
    private:
-    Task::Ptr m_updateTask;
-    bool m_aborted = false;
-    Net::Mode m_mode = Net::Mode::Offline;
+    Task::Ptr m_task;
 };
diff --git a/launcher/launch/steps/CheckJava.cpp b/launcher/launch/steps/CheckJava.cpp
index 99ff62b67..55d13b58c 100644
--- a/launcher/launch/steps/CheckJava.cpp
+++ b/launcher/launch/steps/CheckJava.cpp
@@ -106,6 +106,7 @@ void CheckJava::executeTask()
         auto vendorString = instance->settings()->get("JavaVendor").toString();
         printJavaInfo(verString, archString, realArchString, vendorString);
     }
+    m_parent->instance()->updateRuntimeContext();
     emitSucceeded();
 }
 
@@ -124,6 +125,7 @@ void CheckJava::checkJavaFinished(const JavaChecker::Result& result)
             emit logLine(QString("Java checker returned some invalid data we don't understand:"), MessageLevel::Error);
             emit logLines(result.outLog.split('\n'), MessageLevel::Warning);
             emit logLine("\nMinecraft might not start properly.", MessageLevel::Launcher);
+            m_parent->instance()->updateRuntimeContext();
             emitSucceeded();
             return;
         }
@@ -135,6 +137,7 @@ void CheckJava::checkJavaFinished(const JavaChecker::Result& result)
             instance->settings()->set("JavaRealArchitecture", result.realPlatform);
             instance->settings()->set("JavaVendor", result.javaVendor);
             instance->settings()->set("JavaSignature", m_javaSignature);
+            m_parent->instance()->updateRuntimeContext();
             emitSucceeded();
             return;
         }
diff --git a/launcher/launch/steps/CheckJava.h b/launcher/launch/steps/CheckJava.h
index 7bb1ceb7e..1c59b0053 100644
--- a/launcher/launch/steps/CheckJava.h
+++ b/launcher/launch/steps/CheckJava.h
@@ -23,7 +23,7 @@ class CheckJava : public LaunchStep {
     Q_OBJECT
    public:
     explicit CheckJava(LaunchTask* parent) : LaunchStep(parent) {};
-    virtual ~CheckJava() {};
+    virtual ~CheckJava() = default;
 
     virtual void executeTask();
     virtual bool canAbort() const { return false; }
diff --git a/launcher/launch/steps/QuitAfterGameStop.h b/launcher/launch/steps/QuitAfterGameStop.h
index d4324cce6..19ca59632 100644
--- a/launcher/launch/steps/QuitAfterGameStop.h
+++ b/launcher/launch/steps/QuitAfterGameStop.h
@@ -24,7 +24,7 @@ class QuitAfterGameStop : public LaunchStep {
     Q_OBJECT
    public:
     explicit QuitAfterGameStop(LaunchTask* parent) : LaunchStep(parent) {};
-    virtual ~QuitAfterGameStop() {};
+    virtual ~QuitAfterGameStop() = default;
 
     virtual void executeTask();
     virtual bool canAbort() const { return false; }
diff --git a/launcher/launch/steps/Update.cpp b/launcher/launch/steps/Update.cpp
deleted file mode 100644
index f23c0bb4b..000000000
--- a/launcher/launch/steps/Update.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright 2013-2021 MultiMC Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Update.h"
-#include <launch/LaunchTask.h>
-
-void Update::executeTask()
-{
-    if (m_aborted) {
-        emitFailed(tr("Task aborted."));
-        return;
-    }
-    m_updateTask.reset(m_parent->instance()->createUpdateTask(m_mode));
-    if (m_updateTask) {
-        connect(m_updateTask.get(), &Task::finished, this, &Update::updateFinished);
-        connect(m_updateTask.get(), &Task::progress, this, &Update::setProgress);
-        connect(m_updateTask.get(), &Task::stepProgress, this, &Update::propagateStepProgress);
-        connect(m_updateTask.get(), &Task::status, this, &Update::setStatus);
-        connect(m_updateTask.get(), &Task::details, this, &Update::setDetails);
-        emit progressReportingRequest();
-        return;
-    }
-    emitSucceeded();
-}
-
-void Update::proceed()
-{
-    m_updateTask->start();
-}
-
-void Update::updateFinished()
-{
-    if (m_updateTask->wasSuccessful()) {
-        m_updateTask.reset();
-        emitSucceeded();
-    } else {
-        QString reason = tr("Instance update failed because: %1\n\n").arg(m_updateTask->failReason());
-        m_updateTask.reset();
-        emit logLine(reason, MessageLevel::Fatal);
-        emitFailed(reason);
-    }
-}
-
-bool Update::canAbort() const
-{
-    if (m_updateTask) {
-        return m_updateTask->canAbort();
-    }
-    return true;
-}
-
-bool Update::abort()
-{
-    m_aborted = true;
-    if (m_updateTask) {
-        if (m_updateTask->canAbort()) {
-            return m_updateTask->abort();
-        }
-    }
-    return true;
-}
diff --git a/launcher/minecraft/LaunchProfile.cpp b/launcher/minecraft/LaunchProfile.cpp
index 468798850..c11a0f915 100644
--- a/launcher/minecraft/LaunchProfile.cpp
+++ b/launcher/minecraft/LaunchProfile.cpp
@@ -164,6 +164,7 @@ void LaunchProfile::applyCompatibleJavaMajors(QList<int>& javaMajor)
 {
     m_compatibleJavaMajors.append(javaMajor);
 }
+
 void LaunchProfile::applyCompatibleJavaName(QString javaName)
 {
     if (!javaName.isEmpty())
diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp
index d861056bf..c94f3f234 100644
--- a/launcher/minecraft/MinecraftInstance.cpp
+++ b/launcher/minecraft/MinecraftInstance.cpp
@@ -43,6 +43,9 @@
 #include "minecraft/launch/CreateGameFolders.h"
 #include "minecraft/launch/ExtractNatives.h"
 #include "minecraft/launch/PrintInstanceInfo.h"
+#include "minecraft/update/AssetUpdateTask.h"
+#include "minecraft/update/FMLLibrariesTask.h"
+#include "minecraft/update/LibrariesTask.h"
 #include "settings/Setting.h"
 #include "settings/SettingsObject.h"
 
@@ -53,13 +56,13 @@
 #include "pathmatcher/RegexpMatcher.h"
 
 #include "launch/LaunchTask.h"
+#include "launch/TaskStepWrapper.h"
 #include "launch/steps/CheckJava.h"
 #include "launch/steps/LookupServerAddress.h"
 #include "launch/steps/PostLaunchCommand.h"
 #include "launch/steps/PreLaunchCommand.h"
 #include "launch/steps/QuitAfterGameStop.h"
 #include "launch/steps/TextPrint.h"
-#include "launch/steps/Update.h"
 
 #include "minecraft/launch/ClaimAccount.h"
 #include "minecraft/launch/LauncherPartLaunch.h"
@@ -70,9 +73,6 @@
 
 #include "java/JavaUtils.h"
 
-#include "meta/Index.h"
-#include "meta/VersionList.h"
-
 #include "icons/IconList.h"
 
 #include "mod/ModFolderModel.h"
@@ -84,7 +84,6 @@
 
 #include "AssetsUtils.h"
 #include "MinecraftLoadAndCheck.h"
-#include "MinecraftUpdate.h"
 #include "PackProfile.h"
 #include "minecraft/gameoptions/GameOptions.h"
 #include "minecraft/update/FoldersTask.h"
@@ -218,6 +217,7 @@ void MinecraftInstance::loadSpecificSettings()
 void MinecraftInstance::updateRuntimeContext()
 {
     m_runtimeContext.updateFromInstanceSettings(m_settings);
+    m_components->invalidateLaunchProfile();
 }
 
 QString MinecraftInstance::typeName() const
@@ -1030,18 +1030,18 @@ QString MinecraftInstance::getStatusbarDescription()
     return description;
 }
 
-Task::Ptr MinecraftInstance::createUpdateTask(Net::Mode mode)
+QList<LaunchStep::Ptr> MinecraftInstance::createUpdateTask()
 {
-    updateRuntimeContext();
-    switch (mode) {
-        case Net::Mode::Offline: {
-            return Task::Ptr(new MinecraftLoadAndCheck(this));
-        }
-        case Net::Mode::Online: {
-            return Task::Ptr(new MinecraftUpdate(this));
-        }
-    }
-    return nullptr;
+    return {
+        // create folders
+        makeShared<FoldersTask>(this),
+        // libraries download
+        makeShared<LibrariesTask>(this),
+        // FML libraries download and copy into the instance
+        makeShared<FMLLibrariesTask>(this),
+        // assets update
+        makeShared<AssetUpdateTask>(this),
+    };
 }
 
 shared_qobject_ptr<LaunchTask> MinecraftInstance::createLaunchTask(AuthSessionPtr session, MinecraftTarget::Ptr targetToJoin)
@@ -1090,14 +1090,10 @@ shared_qobject_ptr<LaunchTask> MinecraftInstance::createLaunchTask(AuthSessionPt
         process->appendStep(step);
     }
 
-    // if we aren't in offline mode,.
-    if (session->status != AuthSession::PlayableOffline) {
-        if (!session->demo) {
-            process->appendStep(makeShared<ClaimAccount>(pptr, session));
-        }
-        process->appendStep(makeShared<Update>(pptr, Net::Mode::Online));
-    } else {
-        process->appendStep(makeShared<Update>(pptr, Net::Mode::Offline));
+    // load meta
+    {
+        auto mode = session->status != AuthSession::PlayableOffline ? Net::Mode::Online : Net::Mode::Offline;
+        process->appendStep(makeShared<TaskStepWrapper>(pptr, makeShared<MinecraftLoadAndCheck>(this, mode, pptr)));
     }
 
     // check java
@@ -1106,6 +1102,16 @@ shared_qobject_ptr<LaunchTask> MinecraftInstance::createLaunchTask(AuthSessionPt
         process->appendStep(makeShared<CheckJava>(pptr));
     }
 
+    // if we aren't in offline mode,.
+    if (session->status != AuthSession::PlayableOffline) {
+        if (!session->demo) {
+            process->appendStep(makeShared<ClaimAccount>(pptr, session));
+        }
+        for (auto t : createUpdateTask()) {
+            process->appendStep(makeShared<TaskStepWrapper>(pptr, t));
+        }
+    }
+
     // if there are any jar mods
     {
         process->appendStep(makeShared<ModMinecraftJar>(pptr));
diff --git a/launcher/minecraft/MinecraftInstance.h b/launcher/minecraft/MinecraftInstance.h
index ad2cda186..75e97ae45 100644
--- a/launcher/minecraft/MinecraftInstance.h
+++ b/launcher/minecraft/MinecraftInstance.h
@@ -104,7 +104,7 @@ class MinecraftInstance : public BaseInstance {
     /** Returns whether the instance, with its version, has support for demo mode. */
     [[nodiscard]] bool supportsDemo() const;
 
-    void updateRuntimeContext();
+    void updateRuntimeContext() override;
 
     //////  Profile management //////
     std::shared_ptr<PackProfile> getPackProfile() const;
@@ -120,7 +120,7 @@ class MinecraftInstance : public BaseInstance {
     std::shared_ptr<GameOptions> gameOptionsModel();
 
     //////  Launch stuff //////
-    Task::Ptr createUpdateTask(Net::Mode mode) override;
+    QList<Task::Ptr> createUpdateTask() override;
     shared_qobject_ptr<LaunchTask> createLaunchTask(AuthSessionPtr account, MinecraftTarget::Ptr targetToJoin) override;
     QStringList extraArguments() override;
     QStringList verboseDescription(AuthSessionPtr session, MinecraftTarget::Ptr targetToJoin) override;
diff --git a/launcher/minecraft/MinecraftLoadAndCheck.cpp b/launcher/minecraft/MinecraftLoadAndCheck.cpp
index 818e90cfc..655894d2a 100644
--- a/launcher/minecraft/MinecraftLoadAndCheck.cpp
+++ b/launcher/minecraft/MinecraftLoadAndCheck.cpp
@@ -2,41 +2,42 @@
 #include "MinecraftInstance.h"
 #include "PackProfile.h"
 
-MinecraftLoadAndCheck::MinecraftLoadAndCheck(MinecraftInstance* inst, QObject* parent) : Task(parent), m_inst(inst) {}
+MinecraftLoadAndCheck::MinecraftLoadAndCheck(MinecraftInstance* inst, Net::Mode netmode, QObject* parent)
+    : Task(parent), m_inst(inst), m_netmode(netmode)
+{}
 
 void MinecraftLoadAndCheck::executeTask()
 {
     // add offline metadata load task
     auto components = m_inst->getPackProfile();
-    components->reload(Net::Mode::Offline);
+    components->reload(m_netmode);
     m_task = components->getCurrentTask();
 
     if (!m_task) {
         emitSucceeded();
         return;
     }
-    connect(m_task.get(), &Task::succeeded, this, &MinecraftLoadAndCheck::subtaskSucceeded);
-    connect(m_task.get(), &Task::failed, this, &MinecraftLoadAndCheck::subtaskFailed);
-    connect(m_task.get(), &Task::aborted, this, [this] { subtaskFailed(tr("Aborted")); });
-    connect(m_task.get(), &Task::progress, this, &MinecraftLoadAndCheck::progress);
+    connect(m_task.get(), &Task::succeeded, this, &MinecraftLoadAndCheck::emitSucceeded);
+    connect(m_task.get(), &Task::failed, this, &MinecraftLoadAndCheck::emitFailed);
+    connect(m_task.get(), &Task::aborted, this, [this] { emitFailed(tr("Aborted")); });
+    connect(m_task.get(), &Task::progress, this, &MinecraftLoadAndCheck::setProgress);
     connect(m_task.get(), &Task::stepProgress, this, &MinecraftLoadAndCheck::propagateStepProgress);
     connect(m_task.get(), &Task::status, this, &MinecraftLoadAndCheck::setStatus);
+    connect(m_task.get(), &Task::details, this, &MinecraftLoadAndCheck::setDetails);
 }
 
-void MinecraftLoadAndCheck::subtaskSucceeded()
+bool MinecraftLoadAndCheck::canAbort() const
 {
-    if (isFinished()) {
-        qCritical() << "MinecraftUpdate: Subtask" << sender() << "succeeded, but work was already done!";
-        return;
+    if (m_task) {
+        return m_task->canAbort();
     }
-    emitSucceeded();
+    return true;
 }
 
-void MinecraftLoadAndCheck::subtaskFailed(QString error)
+bool MinecraftLoadAndCheck::abort()
 {
-    if (isFinished()) {
-        qCritical() << "MinecraftUpdate: Subtask" << sender() << "failed, but work was already done!";
-        return;
+    if (m_task && m_task->canAbort()) {
+        return m_task->abort();
     }
-    emitFailed(error);
-}
+    return Task::abort();
+}
\ No newline at end of file
diff --git a/launcher/minecraft/MinecraftLoadAndCheck.h b/launcher/minecraft/MinecraftLoadAndCheck.h
index 09edaf909..72e9e0caa 100644
--- a/launcher/minecraft/MinecraftLoadAndCheck.h
+++ b/launcher/minecraft/MinecraftLoadAndCheck.h
@@ -15,32 +15,24 @@
 
 #pragma once
 
-#include <QList>
-#include <QObject>
-#include <QUrl>
-
-#include <quazip/quazip.h>
+#include "net/Mode.h"
 #include "tasks/Task.h"
 
-#include "QObjectPtr.h"
-
-class MinecraftVersion;
 class MinecraftInstance;
 
 class MinecraftLoadAndCheck : public Task {
     Q_OBJECT
    public:
-    explicit MinecraftLoadAndCheck(MinecraftInstance* inst, QObject* parent = 0);
-    virtual ~MinecraftLoadAndCheck() {};
+    explicit MinecraftLoadAndCheck(MinecraftInstance* inst, Net::Mode netmode, QObject* parent = nullptr);
+    virtual ~MinecraftLoadAndCheck() = default;
     void executeTask() override;
 
-   private slots:
-    void subtaskSucceeded();
-    void subtaskFailed(QString error);
+    bool canAbort() const override;
+   public slots:
+    bool abort() override;
 
    private:
     MinecraftInstance* m_inst = nullptr;
     Task::Ptr m_task;
-    QString m_preFailure;
-    QString m_fail_reason;
+    Net::Mode m_netmode;
 };
diff --git a/launcher/minecraft/MinecraftUpdate.cpp b/launcher/minecraft/MinecraftUpdate.cpp
deleted file mode 100644
index b63430aa8..000000000
--- a/launcher/minecraft/MinecraftUpdate.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2013-2021 MultiMC Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "MinecraftUpdate.h"
-#include "MinecraftInstance.h"
-
-#include "minecraft/PackProfile.h"
-
-#include "tasks/SequentialTask.h"
-#include "update/AssetUpdateTask.h"
-#include "update/FMLLibrariesTask.h"
-#include "update/FoldersTask.h"
-#include "update/LibrariesTask.h"
-
-MinecraftUpdate::MinecraftUpdate(MinecraftInstance* inst, QObject* parent) : SequentialTask(parent), m_inst(inst) {}
-
-void MinecraftUpdate::executeTask()
-{
-    m_queue.clear();
-    // create folders
-    {
-        addTask(makeShared<FoldersTask>(m_inst));
-    }
-
-    // add metadata update task if necessary
-    {
-        auto components = m_inst->getPackProfile();
-        components->reload(Net::Mode::Online);
-        auto task = components->getCurrentTask();
-        if (task) {
-            addTask(task);
-        }
-    }
-
-    // libraries download
-    {
-        addTask(makeShared<LibrariesTask>(m_inst));
-    }
-
-    // FML libraries download and copy into the instance
-    {
-        addTask(makeShared<FMLLibrariesTask>(m_inst));
-    }
-
-    // assets update
-    {
-        addTask(makeShared<AssetUpdateTask>(m_inst));
-    }
-
-    SequentialTask::executeTask();
-}
diff --git a/launcher/minecraft/MinecraftUpdate.h b/launcher/minecraft/MinecraftUpdate.h
deleted file mode 100644
index 456a13518..000000000
--- a/launcher/minecraft/MinecraftUpdate.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2013-2021 MultiMC Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include "tasks/SequentialTask.h"
-
-class MinecraftInstance;
-
-// this needs to be a task because components->reload does stuff that may block
-class MinecraftUpdate : public SequentialTask {
-    Q_OBJECT
-   public:
-    explicit MinecraftUpdate(MinecraftInstance* inst, QObject* parent = 0);
-    virtual ~MinecraftUpdate() = default;
-
-    void executeTask() override;
-
-   private:
-    MinecraftInstance* m_inst = nullptr;
-};
diff --git a/launcher/minecraft/PackProfile.h b/launcher/minecraft/PackProfile.h
index 9b6710cc3..b2de26ea0 100644
--- a/launcher/minecraft/PackProfile.h
+++ b/launcher/minecraft/PackProfile.h
@@ -148,13 +148,13 @@ class PackProfile : public QAbstractListModel {
     std::optional<ModPlatform::ModLoaderTypes> getSupportedModLoaders();
     QList<ModPlatform::ModLoaderType> getModLoadersList();
 
+    /// apply the component patches. Catches all the errors and returns true/false for success/failure
+    void invalidateLaunchProfile();
+
    private:
     void scheduleSave();
     bool saveIsScheduled() const;
 
-    /// apply the component patches. Catches all the errors and returns true/false for success/failure
-    void invalidateLaunchProfile();
-
     /// insert component so that its index is ideally the specified one (returns real index)
     void insertComponent(size_t index, ComponentPtr component);
 
diff --git a/launcher/minecraft/launch/AutoInstallJava.h b/launcher/minecraft/launch/AutoInstallJava.h
index 7e4efc50c..cbfcf5ee7 100644
--- a/launcher/minecraft/launch/AutoInstallJava.h
+++ b/launcher/minecraft/launch/AutoInstallJava.h
@@ -37,7 +37,6 @@
 
 #include <launch/LaunchStep.h>
 #include <launch/LaunchTask.h>
-#include "java/JavaMetadata.h"
 #include "meta/Version.h"
 #include "minecraft/MinecraftInstance.h"
 #include "tasks/Task.h"
diff --git a/launcher/minecraft/launch/ClaimAccount.h b/launcher/minecraft/launch/ClaimAccount.h
index 357a4d4c5..561f0e848 100644
--- a/launcher/minecraft/launch/ClaimAccount.h
+++ b/launcher/minecraft/launch/ClaimAccount.h
@@ -22,7 +22,7 @@ class ClaimAccount : public LaunchStep {
     Q_OBJECT
    public:
     explicit ClaimAccount(LaunchTask* parent, AuthSessionPtr session);
-    virtual ~ClaimAccount() {};
+    virtual ~ClaimAccount() = default;
 
     void executeTask() override;
     void finalize() override;
diff --git a/launcher/minecraft/update/AssetUpdateTask.cpp b/launcher/minecraft/update/AssetUpdateTask.cpp
index 8add02d84..acdddc833 100644
--- a/launcher/minecraft/update/AssetUpdateTask.cpp
+++ b/launcher/minecraft/update/AssetUpdateTask.cpp
@@ -1,5 +1,6 @@
 #include "AssetUpdateTask.h"
 
+#include "launch/LaunchStep.h"
 #include "minecraft/AssetsUtils.h"
 #include "minecraft/MinecraftInstance.h"
 #include "minecraft/PackProfile.h"
@@ -14,8 +15,6 @@ AssetUpdateTask::AssetUpdateTask(MinecraftInstance* inst)
     m_inst = inst;
 }
 
-AssetUpdateTask::~AssetUpdateTask() {}
-
 void AssetUpdateTask::executeTask()
 {
     setStatus(tr("Updating assets index..."));
diff --git a/launcher/minecraft/update/AssetUpdateTask.h b/launcher/minecraft/update/AssetUpdateTask.h
index 6f053a54a..88fac0ac5 100644
--- a/launcher/minecraft/update/AssetUpdateTask.h
+++ b/launcher/minecraft/update/AssetUpdateTask.h
@@ -7,7 +7,7 @@ class AssetUpdateTask : public Task {
     Q_OBJECT
    public:
     AssetUpdateTask(MinecraftInstance* inst);
-    virtual ~AssetUpdateTask();
+    virtual ~AssetUpdateTask() = default;
 
     void executeTask() override;
 
diff --git a/launcher/minecraft/update/FMLLibrariesTask.h b/launcher/minecraft/update/FMLLibrariesTask.h
index 32712d239..4fe2648e8 100644
--- a/launcher/minecraft/update/FMLLibrariesTask.h
+++ b/launcher/minecraft/update/FMLLibrariesTask.h
@@ -9,7 +9,7 @@ class FMLLibrariesTask : public Task {
     Q_OBJECT
    public:
     FMLLibrariesTask(MinecraftInstance* inst);
-    virtual ~FMLLibrariesTask() {};
+    virtual ~FMLLibrariesTask() = default;
 
     void executeTask() override;
 
diff --git a/launcher/minecraft/update/FoldersTask.cpp b/launcher/minecraft/update/FoldersTask.cpp
index c74e8d2ef..7d6fc4394 100644
--- a/launcher/minecraft/update/FoldersTask.cpp
+++ b/launcher/minecraft/update/FoldersTask.cpp
@@ -37,7 +37,7 @@
 #include <QDir>
 #include "minecraft/MinecraftInstance.h"
 
-FoldersTask::FoldersTask(MinecraftInstance* inst) : Task()
+FoldersTask::FoldersTask(MinecraftInstance* inst)
 {
     m_inst = inst;
 }
diff --git a/launcher/minecraft/update/FoldersTask.h b/launcher/minecraft/update/FoldersTask.h
index be4e33eb7..7df7ef81d 100644
--- a/launcher/minecraft/update/FoldersTask.h
+++ b/launcher/minecraft/update/FoldersTask.h
@@ -7,7 +7,7 @@ class FoldersTask : public Task {
     Q_OBJECT
    public:
     FoldersTask(MinecraftInstance* inst);
-    virtual ~FoldersTask() {};
+    virtual ~FoldersTask() = default;
 
     void executeTask() override;
 
diff --git a/launcher/minecraft/update/LibrariesTask.h b/launcher/minecraft/update/LibrariesTask.h
index 441191154..838f9d9b4 100644
--- a/launcher/minecraft/update/LibrariesTask.h
+++ b/launcher/minecraft/update/LibrariesTask.h
@@ -7,7 +7,7 @@ class LibrariesTask : public Task {
     Q_OBJECT
    public:
     LibrariesTask(MinecraftInstance* inst);
-    virtual ~LibrariesTask() {};
+    virtual ~LibrariesTask() = default;
 
     void executeTask() override;
 
diff --git a/launcher/ui/pages/instance/VersionPage.cpp b/launcher/ui/pages/instance/VersionPage.cpp
index c55d32efb..02bb08cab 100644
--- a/launcher/ui/pages/instance/VersionPage.cpp
+++ b/launcher/ui/pages/instance/VersionPage.cpp
@@ -50,7 +50,9 @@
 #include <QString>
 #include <QUrl>
 
+#include "QObjectPtr.h"
 #include "VersionPage.h"
+#include "tasks/SequentialTask.h"
 #include "ui/dialogs/InstallLoaderDialog.h"
 #include "ui_VersionPage.h"
 
@@ -415,14 +417,18 @@ void VersionPage::on_actionDownload_All_triggered()
         return;
     }
 
-    auto updateTask = m_inst->createUpdateTask(Net::Mode::Online);
-    if (!updateTask) {
+    auto updateTasks = m_inst->createUpdateTask();
+    if (updateTasks.isEmpty()) {
         return;
     }
+    auto task = makeShared<SequentialTask>(this);
+    for (auto t : updateTasks) {
+        task->addTask(t);
+    }
     ProgressDialog tDialog(this);
-    connect(updateTask.get(), &Task::failed, this, &VersionPage::onGameUpdateError);
+    connect(task.get(), &Task::failed, this, &VersionPage::onGameUpdateError);
     // FIXME: unused return value
-    tDialog.execWithTask(updateTask.get());
+    tDialog.execWithTask(task.get());
     updateButtons();
     m_container->refreshContainer();
 }

From 7fbf0d3bf3c3821916119a5303d6bc302f954580 Mon Sep 17 00:00:00 2001
From: QazCetelic <qaz.cetelic@protonmail.com>
Date: Mon, 9 Sep 2024 15:40:31 +0200
Subject: [PATCH 022/177] Sort files chronologically in descending order

Signed-off-by: Qaz <dev@malplena.net>
---
 launcher/ui/pages/instance/ScreenshotsPage.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/launcher/ui/pages/instance/ScreenshotsPage.cpp b/launcher/ui/pages/instance/ScreenshotsPage.cpp
index c3f955733..9c7df9d09 100644
--- a/launcher/ui/pages/instance/ScreenshotsPage.cpp
+++ b/launcher/ui/pages/instance/ScreenshotsPage.cpp
@@ -242,6 +242,10 @@ ScreenshotsPage::ScreenshotsPage(QString path, QWidget* parent) : QMainWindow(pa
     m_model->setReadOnly(false);
     m_model->setNameFilters({ "*.png" });
     m_model->setNameFilterDisables(false);
+    // Sorts by modified date instead of creation date because that column is not available and would require subclassing, this should work
+    // considering screenshots aren't modified after creation.
+    constexpr int file_modified_column_index = 3;
+    m_model->sort(file_modified_column_index, Qt::DescendingOrder);
     m_folder = path;
     m_valid = FS::ensureFolderPathExists(m_folder);
 

From e2ef280da98facec04a0e2b3d0f0e8b8317db043 Mon Sep 17 00:00:00 2001
From: QazCetelic <qaz.cetelic@protonmail.com>
Date: Mon, 9 Sep 2024 16:24:40 +0200
Subject: [PATCH 023/177] DCO Remediation Commit for QazCetelic
 <qaz.cetelic@protonmail.com>

I, QazCetelic <qaz.cetelic@protonmail.com>, hereby add my Signed-off-by to this commit: 7fbf0d3bf3c3821916119a5303d6bc302f954580

Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
---
 launcher/ui/pages/instance/ScreenshotsPage.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/launcher/ui/pages/instance/ScreenshotsPage.cpp b/launcher/ui/pages/instance/ScreenshotsPage.cpp
index 9c7df9d09..b619a07b8 100644
--- a/launcher/ui/pages/instance/ScreenshotsPage.cpp
+++ b/launcher/ui/pages/instance/ScreenshotsPage.cpp
@@ -246,6 +246,7 @@ ScreenshotsPage::ScreenshotsPage(QString path, QWidget* parent) : QMainWindow(pa
     // considering screenshots aren't modified after creation.
     constexpr int file_modified_column_index = 3;
     m_model->sort(file_modified_column_index, Qt::DescendingOrder);
+
     m_folder = path;
     m_valid = FS::ensureFolderPathExists(m_folder);
 

From 7e49fa04269b23c8cb4048a6a036aaf6d5e5bf8e Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 9 Sep 2024 19:05:56 +0000
Subject: [PATCH 024/177] chore(deps): update
 determinatesystems/update-flake-lock action to v24

---
 .github/workflows/update-flake.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/update-flake.yml b/.github/workflows/update-flake.yml
index e1ab2e86e..ecc38ff28 100644
--- a/.github/workflows/update-flake.yml
+++ b/.github/workflows/update-flake.yml
@@ -19,7 +19,7 @@ jobs:
       - uses: actions/checkout@v4
       - uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
 
-      - uses: DeterminateSystems/update-flake-lock@v23
+      - uses: DeterminateSystems/update-flake-lock@v24
         with:
           commit-msg: "chore(nix): update lockfile"
           pr-title: "chore(nix): update lockfile"

From c85294af9debc472446585b7851f41596fbcc0be Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Thu, 12 Sep 2024 17:57:57 +0300
Subject: [PATCH 025/177] Improve wizzard page

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/Application.cpp                      | 35 +++++--
 launcher/CMakeLists.txt                       |  6 ++
 .../ui/setupwizard/AutoJavaWizardPage.cpp     | 33 +++++++
 launcher/ui/setupwizard/AutoJavaWizardPage.h  | 22 +++++
 launcher/ui/setupwizard/AutoJavaWizardPage.ui | 93 +++++++++++++++++++
 launcher/ui/setupwizard/JavaWizardPage.cpp    |  4 +-
 launcher/ui/setupwizard/JavaWizardPage.h      |  2 +-
 launcher/ui/setupwizard/LoginWizardPage.cpp   | 45 +++++++++
 launcher/ui/setupwizard/LoginWizardPage.h     | 24 +++++
 launcher/ui/setupwizard/LoginWizardPage.ui    | 74 +++++++++++++++
 launcher/ui/widgets/JavaSettingsWidget.cpp    | 77 ++++++++++-----
 launcher/ui/widgets/JavaSettingsWidget.h      |  8 +-
 12 files changed, 384 insertions(+), 39 deletions(-)
 create mode 100644 launcher/ui/setupwizard/AutoJavaWizardPage.cpp
 create mode 100644 launcher/ui/setupwizard/AutoJavaWizardPage.h
 create mode 100644 launcher/ui/setupwizard/AutoJavaWizardPage.ui
 create mode 100644 launcher/ui/setupwizard/LoginWizardPage.cpp
 create mode 100644 launcher/ui/setupwizard/LoginWizardPage.h
 create mode 100644 launcher/ui/setupwizard/LoginWizardPage.ui

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 9cd0445e6..35eb6e91e 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -67,8 +67,10 @@
 #include "ui/pages/global/MinecraftPage.h"
 #include "ui/pages/global/ProxyPage.h"
 
+#include "ui/setupwizard/AutoJavaWizardPage.h"
 #include "ui/setupwizard/JavaWizardPage.h"
 #include "ui/setupwizard/LanguageWizardPage.h"
+#include "ui/setupwizard/LoginWizardPage.h"
 #include "ui/setupwizard/PasteWizardPage.h"
 #include "ui/setupwizard/SetupWizard.h"
 #include "ui/setupwizard/ThemeWizardPage.h"
@@ -650,6 +652,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
         auto defaultEnableAutoJava = m_settings->get("JavaPath").toString().isEmpty();
         m_settings->registerSetting("AutomaticJavaSwitch", defaultEnableAutoJava);
         m_settings->registerSetting("AutomaticJavaDownload", defaultEnableAutoJava);
+        m_settings->registerSetting("UserAskedAboutAutomaticJavaDownload", false);
 
         // Legacy settings
         m_settings->registerSetting("OnlineFixes", false);
@@ -1077,13 +1080,15 @@ bool Application::createSetupWizard()
         }
         return false;
     }();
+    bool askjava = BuildConfig.JAVA_DOWNLOADER_ENABLED && !javaRequired && !m_settings->get("AutomaticJavaDownload").toBool() &&
+                   !m_settings->get("AutomaticJavaSwitch").toBool() && !m_settings->get("UserAskedAboutAutomaticJavaDownload").toBool();
     bool languageRequired = settings()->get("Language").toString().isEmpty();
     bool pasteInterventionRequired = settings()->get("PastebinURL") != "";
     bool validWidgets = m_themeManager->isValidApplicationTheme(settings()->get("ApplicationTheme").toString());
     bool validIcons = m_themeManager->isValidIconTheme(settings()->get("IconTheme").toString());
+    bool login = !m_accounts->anyAccountIsValid() && capabilities() & Application::SupportsMSA;
     bool themeInterventionRequired = !validWidgets || !validIcons;
-    bool wizardRequired = javaRequired || languageRequired || pasteInterventionRequired || themeInterventionRequired;
-
+    bool wizardRequired = javaRequired || languageRequired || pasteInterventionRequired || themeInterventionRequired || askjava || login;
     if (wizardRequired) {
         // set default theme after going into theme wizard
         if (!validIcons)
@@ -1100,6 +1105,8 @@ bool Application::createSetupWizard()
 
         if (javaRequired) {
             m_setupWizard->addPage(new JavaWizardPage(m_setupWizard));
+        } else if (askjava) {
+            m_setupWizard->addPage(new AutoJavaWizardPage(m_setupWizard));
         }
 
         if (pasteInterventionRequired) {
@@ -1110,11 +1117,14 @@ bool Application::createSetupWizard()
             m_setupWizard->addPage(new ThemeWizardPage(m_setupWizard));
         }
 
+        if (login) {
+            m_setupWizard->addPage(new LoginWizardPage(m_setupWizard));
+        }
         connect(m_setupWizard, &QDialog::finished, this, &Application::setupWizardFinished);
         m_setupWizard->show();
-        return true;
     }
-    return false;
+
+    return wizardRequired || login;
 }
 
 bool Application::updaterEnabled()
@@ -1259,16 +1269,23 @@ Application::~Application()
 
 void Application::messageReceived(const QByteArray& message)
 {
-    if (status() != Initialized) {
-        qDebug() << "Received message" << message << "while still initializing. It will be ignored.";
-        return;
-    }
-
     ApplicationMessage received;
     received.parse(message);
 
     auto& command = received.command;
 
+    if (status() != Initialized) {
+        bool isLoginAtempt = false;
+        if (command == "import") {
+            QString url = received.args["url"];
+            isLoginAtempt = !url.isEmpty() && normalizeImportUrl(url).scheme() == BuildConfig.LAUNCHER_APP_BINARY_NAME;
+        }
+        if (!isLoginAtempt) {
+            qDebug() << "Received message" << message << "while still initializing. It will be ignored.";
+            return;
+        }
+    }
+
     if (command == "activate") {
         showMainWindow();
     } else if (command == "import") {
diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt
index a65d53d06..975946740 100644
--- a/launcher/CMakeLists.txt
+++ b/launcher/CMakeLists.txt
@@ -842,6 +842,10 @@ SET(LAUNCHER_SOURCES
     ui/setupwizard/PasteWizardPage.h
     ui/setupwizard/ThemeWizardPage.cpp
     ui/setupwizard/ThemeWizardPage.h
+    ui/setupwizard/AutoJavaWizardPage.cpp
+    ui/setupwizard/AutoJavaWizardPage.h
+    ui/setupwizard/LoginWizardPage.cpp
+    ui/setupwizard/LoginWizardPage.h
 
     # GUI - themes
     ui/themes/FusionTheme.cpp
@@ -1154,6 +1158,8 @@ endif()
 qt_wrap_ui(LAUNCHER_UI
     ui/MainWindow.ui
     ui/setupwizard/PasteWizardPage.ui
+    ui/setupwizard/AutoJavaWizardPage.ui
+    ui/setupwizard/LoginWizardPage.ui
     ui/setupwizard/ThemeWizardPage.ui
     ui/pages/global/AccountListPage.ui
     ui/pages/global/JavaPage.ui
diff --git a/launcher/ui/setupwizard/AutoJavaWizardPage.cpp b/launcher/ui/setupwizard/AutoJavaWizardPage.cpp
new file mode 100644
index 000000000..fd173e71d
--- /dev/null
+++ b/launcher/ui/setupwizard/AutoJavaWizardPage.cpp
@@ -0,0 +1,33 @@
+#include "AutoJavaWizardPage.h"
+#include "ui_AutoJavaWizardPage.h"
+
+#include "Application.h"
+
+AutoJavaWizardPage::AutoJavaWizardPage(QWidget* parent) : BaseWizardPage(parent), ui(new Ui::AutoJavaWizardPage)
+{
+    ui->setupUi(this);
+}
+
+AutoJavaWizardPage::~AutoJavaWizardPage()
+{
+    delete ui;
+}
+
+void AutoJavaWizardPage::initializePage() {}
+
+bool AutoJavaWizardPage::validatePage()
+{
+    auto s = APPLICATION->settings();
+
+    if (!ui->previousSettingsRadioButton->isChecked()) {
+        s->set("AutomaticJavaSwitch", true);
+        s->set("AutomaticJavaDownload", true);
+    }
+    s->set("UserAskedAboutAutomaticJavaDownload", true);
+    return true;
+}
+
+void AutoJavaWizardPage::retranslate()
+{
+    ui->retranslateUi(this);
+}
diff --git a/launcher/ui/setupwizard/AutoJavaWizardPage.h b/launcher/ui/setupwizard/AutoJavaWizardPage.h
new file mode 100644
index 000000000..fcdf5bdf1
--- /dev/null
+++ b/launcher/ui/setupwizard/AutoJavaWizardPage.h
@@ -0,0 +1,22 @@
+#pragma once
+#include <QWidget>
+#include "BaseWizardPage.h"
+
+namespace Ui {
+class AutoJavaWizardPage;
+}
+
+class AutoJavaWizardPage : public BaseWizardPage {
+    Q_OBJECT
+
+   public:
+    explicit AutoJavaWizardPage(QWidget* parent = nullptr);
+    ~AutoJavaWizardPage();
+
+    void initializePage() override;
+    bool validatePage() override;
+    void retranslate() override;
+
+   private:
+    Ui::AutoJavaWizardPage* ui;
+};
diff --git a/launcher/ui/setupwizard/AutoJavaWizardPage.ui b/launcher/ui/setupwizard/AutoJavaWizardPage.ui
new file mode 100644
index 000000000..bd72cf695
--- /dev/null
+++ b/launcher/ui/setupwizard/AutoJavaWizardPage.ui
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>AutoJavaWizardPage</class>
+ <widget class="QWidget" name="AutoJavaWizardPage">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>300</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QLabel" name="label">
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt; font-weight:600;&quot;&gt;New Feature Alert!&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="textFormat">
+      <enum>Qt::RichText</enum>
+     </property>
+     <property name="wordWrap">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="label_2">
+     <property name="text">
+      <string>We've added a feature to automatically download the correct Java version for each version of Minecraft(this can be changed in the Java Settings). Would you like to enable or disable this feature?</string>
+     </property>
+     <property name="wordWrap">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="Line" name="line">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QRadioButton" name="defaultSettingsRadioButton">
+     <property name="text">
+      <string>Enable Auto-Download</string>
+     </property>
+     <property name="checked">
+      <bool>true</bool>
+     </property>
+     <attribute name="buttonGroup">
+      <string notr="true">buttonGroup</string>
+     </attribute>
+    </widget>
+   </item>
+   <item>
+    <widget class="QRadioButton" name="previousSettingsRadioButton">
+     <property name="text">
+      <string>Disable Auto-Download</string>
+     </property>
+     <property name="checked">
+      <bool>false</bool>
+     </property>
+     <attribute name="buttonGroup">
+      <string notr="true">buttonGroup</string>
+     </attribute>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>156</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+ <buttongroups>
+  <buttongroup name="buttonGroup"/>
+ </buttongroups>
+</ui>
diff --git a/launcher/ui/setupwizard/JavaWizardPage.cpp b/launcher/ui/setupwizard/JavaWizardPage.cpp
index a47cebcaa..47718d6da 100644
--- a/launcher/ui/setupwizard/JavaWizardPage.cpp
+++ b/launcher/ui/setupwizard/JavaWizardPage.cpp
@@ -55,6 +55,7 @@ bool JavaWizardPage::validatePage()
     auto result = m_java_widget->validate();
     settings->set("AutomaticJavaSwitch", m_java_widget->autoDetectJava());
     settings->set("AutomaticJavaDownload", m_java_widget->autoDownloadJava());
+    settings->set("UserAskedAboutAutomaticJavaDownload", true);
     switch (result) {
         default:
         case JavaSettingsWidget::ValidationStatus::Bad: {
@@ -82,7 +83,6 @@ void JavaWizardPage::retranslate()
 {
     setTitle(tr("Java"));
     setSubTitle(
-        tr("You do not have a working Java set up yet or it went missing.\n"
-           "Please select one of the following or browse for a Java executable."));
+        tr("Please select how much memory to allocate to instances and if Prism Launcher should manage java automatically or manually."));
     m_java_widget->retranslate();
 }
diff --git a/launcher/ui/setupwizard/JavaWizardPage.h b/launcher/ui/setupwizard/JavaWizardPage.h
index dde765f27..9bf9cfa2b 100644
--- a/launcher/ui/setupwizard/JavaWizardPage.h
+++ b/launcher/ui/setupwizard/JavaWizardPage.h
@@ -9,7 +9,7 @@ class JavaWizardPage : public BaseWizardPage {
    public:
     explicit JavaWizardPage(QWidget* parent = Q_NULLPTR);
 
-    virtual ~JavaWizardPage() {};
+    virtual ~JavaWizardPage() = default;
 
     bool wantsRefreshButton() override;
     void refresh() override;
diff --git a/launcher/ui/setupwizard/LoginWizardPage.cpp b/launcher/ui/setupwizard/LoginWizardPage.cpp
new file mode 100644
index 000000000..6be24a2f7
--- /dev/null
+++ b/launcher/ui/setupwizard/LoginWizardPage.cpp
@@ -0,0 +1,45 @@
+#include "LoginWizardPage.h"
+#include "minecraft/auth/AccountList.h"
+#include "ui/dialogs/MSALoginDialog.h"
+#include "ui_LoginWizardPage.h"
+
+#include "Application.h"
+
+LoginWizardPage::LoginWizardPage(QWidget* parent) : BaseWizardPage(parent), ui(new Ui::LoginWizardPage)
+{
+    ui->setupUi(this);
+}
+
+LoginWizardPage::~LoginWizardPage()
+{
+    delete ui;
+}
+
+void LoginWizardPage::initializePage() {}
+
+bool LoginWizardPage::validatePage()
+{
+    return true;
+}
+
+void LoginWizardPage::retranslate()
+{
+    ui->retranslateUi(this);
+}
+
+void LoginWizardPage::on_pushButton_clicked()
+{
+    wizard()->hide();
+    auto account = MSALoginDialog::newAccount(nullptr);
+    wizard()->show();
+    if (account) {
+        APPLICATION->accounts()->addAccount(account);
+        APPLICATION->accounts()->setDefaultAccount(account);
+    }
+
+    if (wizard()->currentId() == wizard()->pageIds().last()) {
+        wizard()->accept();
+    } else {
+        wizard()->next();
+    }
+}
diff --git a/launcher/ui/setupwizard/LoginWizardPage.h b/launcher/ui/setupwizard/LoginWizardPage.h
new file mode 100644
index 000000000..af71fc183
--- /dev/null
+++ b/launcher/ui/setupwizard/LoginWizardPage.h
@@ -0,0 +1,24 @@
+#pragma once
+#include <QWidget>
+#include "BaseWizardPage.h"
+
+namespace Ui {
+class LoginWizardPage;
+}
+
+class LoginWizardPage : public BaseWizardPage {
+    Q_OBJECT
+
+   public:
+    explicit LoginWizardPage(QWidget* parent = nullptr);
+    ~LoginWizardPage();
+
+    void initializePage() override;
+    bool validatePage() override;
+    void retranslate() override;
+   private slots:
+    void on_pushButton_clicked();
+
+   private:
+    Ui::LoginWizardPage* ui;
+};
diff --git a/launcher/ui/setupwizard/LoginWizardPage.ui b/launcher/ui/setupwizard/LoginWizardPage.ui
new file mode 100644
index 000000000..191316c4e
--- /dev/null
+++ b/launcher/ui/setupwizard/LoginWizardPage.ui
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>LoginWizardPage</class>
+ <widget class="QWidget" name="LoginWizardPage">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>300</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QLabel" name="label">
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt; font-weight:600;&quot;&gt;Add Microsoft account&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="textFormat">
+      <enum>Qt::RichText</enum>
+     </property>
+     <property name="wordWrap">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="label_2">
+     <property name="text">
+      <string>In order to play Minecraft, you must have at least one Microsoft account logged in. Do you want to log in now?</string>
+     </property>
+     <property name="wordWrap">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="Line" name="line">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QPushButton" name="pushButton">
+     <property name="text">
+      <string>Add Microsoft account</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>156</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+ <buttongroups>
+  <buttongroup name="buttonGroup"/>
+ </buttongroups>
+</ui>
diff --git a/launcher/ui/widgets/JavaSettingsWidget.cpp b/launcher/ui/widgets/JavaSettingsWidget.cpp
index 8e2d94556..2b270c482 100644
--- a/launcher/ui/widgets/JavaSettingsWidget.cpp
+++ b/launcher/ui/widgets/JavaSettingsWidget.cpp
@@ -3,9 +3,11 @@
 #include <QFileDialog>
 #include <QGroupBox>
 #include <QLabel>
+#include <QLayoutItem>
 #include <QLineEdit>
 #include <QMessageBox>
 #include <QPushButton>
+#include <QSizePolicy>
 #include <QSpinBox>
 #include <QToolButton>
 #include <QVBoxLayout>
@@ -34,11 +36,13 @@ JavaSettingsWidget::JavaSettingsWidget(QWidget* parent) : QWidget(parent)
     goodIcon = APPLICATION->getThemedIcon("status-good");
     yellowIcon = APPLICATION->getThemedIcon("status-yellow");
     badIcon = APPLICATION->getThemedIcon("status-bad");
+    m_memoryTimer = new QTimer(this);
     setupUi();
 
-    connect(m_minMemSpinBox, SIGNAL(valueChanged(int)), this, SLOT(memoryValueChanged(int)));
-    connect(m_maxMemSpinBox, SIGNAL(valueChanged(int)), this, SLOT(memoryValueChanged(int)));
-    connect(m_permGenSpinBox, SIGNAL(valueChanged(int)), this, SLOT(memoryValueChanged(int)));
+    connect(m_minMemSpinBox, SIGNAL(valueChanged(int)), this, SLOT(onSpinBoxValueChanged(int)));
+    connect(m_maxMemSpinBox, SIGNAL(valueChanged(int)), this, SLOT(onSpinBoxValueChanged(int)));
+    connect(m_permGenSpinBox, SIGNAL(valueChanged(int)), this, SLOT(onSpinBoxValueChanged(int)));
+    connect(m_memoryTimer, &QTimer::timeout, this, &JavaSettingsWidget::memoryValueChanged);
     connect(m_versionWidget, &VersionSelectWidget::selectedVersionChanged, this, &JavaSettingsWidget::javaVersionSelected);
     connect(m_javaBrowseBtn, &QPushButton::clicked, this, &JavaSettingsWidget::on_javaBrowseBtn_clicked);
     connect(m_javaPathTextBox, &QLineEdit::textEdited, this, &JavaSettingsWidget::javaPathEdited);
@@ -55,7 +59,6 @@ void JavaSettingsWidget::setupUi()
     m_verticalLayout->setObjectName(QStringLiteral("verticalLayout"));
 
     m_versionWidget = new VersionSelectWidget(this);
-    m_verticalLayout->addWidget(m_versionWidget);
 
     m_horizontalLayout = new QHBoxLayout();
     m_horizontalLayout->setObjectName(QStringLiteral("horizontalLayout"));
@@ -73,8 +76,6 @@ void JavaSettingsWidget::setupUi()
     m_javaStatusBtn->setIcon(yellowIcon);
     m_horizontalLayout->addWidget(m_javaStatusBtn);
 
-    m_verticalLayout->addLayout(m_horizontalLayout);
-
     m_memoryGroupBox = new QGroupBox(this);
     m_memoryGroupBox->setObjectName(QStringLiteral("memoryGroupBox"));
     m_gridLayout_2 = new QGridLayout(m_memoryGroupBox);
@@ -136,8 +137,6 @@ void JavaSettingsWidget::setupUi()
         m_horizontalBtnLayout->addWidget(m_javaDownloadBtn);
     }
 
-    m_verticalLayout->addLayout(m_horizontalBtnLayout);
-
     m_autoJavaGroupBox = new QGroupBox(this);
     m_autoJavaGroupBox->setObjectName(QStringLiteral("autoJavaGroupBox"));
     m_veriticalJavaLayout = new QVBoxLayout(m_autoJavaGroupBox);
@@ -145,21 +144,42 @@ void JavaSettingsWidget::setupUi()
 
     m_autodetectJavaCheckBox = new QCheckBox(m_autoJavaGroupBox);
     m_autodetectJavaCheckBox->setObjectName("autodetectJavaCheckBox");
+    m_autodetectJavaCheckBox->setChecked(true);
     m_veriticalJavaLayout->addWidget(m_autodetectJavaCheckBox);
 
     if (BuildConfig.JAVA_DOWNLOADER_ENABLED) {
         m_autodownloadCheckBox = new QCheckBox(m_autoJavaGroupBox);
         m_autodownloadCheckBox->setObjectName("autodownloadCheckBox");
-        m_autodownloadCheckBox->setEnabled(false);
+        m_autodownloadCheckBox->setEnabled(m_autodetectJavaCheckBox->isChecked());
         m_veriticalJavaLayout->addWidget(m_autodownloadCheckBox);
         connect(m_autodetectJavaCheckBox, &QCheckBox::stateChanged, this, [this] {
             m_autodownloadCheckBox->setEnabled(m_autodetectJavaCheckBox->isChecked());
             if (!m_autodetectJavaCheckBox->isChecked())
                 m_autodownloadCheckBox->setChecked(false);
         });
+
+        connect(m_autodownloadCheckBox, &QCheckBox::stateChanged, this, [this] {
+            auto isChecked = m_autodownloadCheckBox->isChecked();
+            m_versionWidget->setVisible(!isChecked);
+            m_javaStatusBtn->setVisible(!isChecked);
+            m_javaBrowseBtn->setVisible(!isChecked);
+            m_javaPathTextBox->setVisible(!isChecked);
+            m_javaDownloadBtn->setVisible(!isChecked);
+            if (!isChecked) {
+                m_verticalLayout->removeItem(m_verticalSpacer);
+            } else {
+                m_verticalLayout->addSpacerItem(m_verticalSpacer);
+            }
+        });
     }
     m_verticalLayout->addWidget(m_autoJavaGroupBox);
 
+    m_verticalLayout->addLayout(m_horizontalBtnLayout);
+
+    m_verticalLayout->addWidget(m_versionWidget);
+    m_verticalLayout->addLayout(m_horizontalLayout);
+    m_verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
+
     retranslate();
 }
 
@@ -177,23 +197,16 @@ void JavaSettingsWidget::initialize()
     m_maxMemSpinBox->setValue(observedMaxMemory);
     m_permGenSpinBox->setValue(observedPermGenMemory);
     updateThresholds();
-
     if (BuildConfig.JAVA_DOWNLOADER_ENABLED) {
-        auto button =
-            CustomMessageBox::selectable(this, tr("Automatic Java Download"),
-                                         tr("%1 can automatically download the correct Java version for each version of Minecraft..\n"
-                                            "Do you want to enable Java auto-download?\n")
-                                             .arg(BuildConfig.LAUNCHER_DISPLAYNAME),
-                                         QMessageBox::Question, QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)
-                ->exec();
-        auto checked = button == QMessageBox::Yes;
-        m_autodetectJavaCheckBox->setChecked(checked);
-        m_autodownloadCheckBox->setChecked(checked);
+        m_autodownloadCheckBox->setChecked(true);
     }
 }
 
 void JavaSettingsWidget::refresh()
 {
+    if (BuildConfig.JAVA_DOWNLOADER_ENABLED && m_autodownloadCheckBox->isChecked()) {
+        return;
+    }
     if (JavaUtils::getJavaCheckPath().isEmpty()) {
         JavaCommon::javaCheckNotFound(this);
         return;
@@ -297,20 +310,21 @@ int JavaSettingsWidget::permGenSize() const
     return m_permGenSpinBox->value();
 }
 
-void JavaSettingsWidget::memoryValueChanged(int)
+void JavaSettingsWidget::memoryValueChanged()
 {
     bool actuallyChanged = false;
     unsigned int min = m_minMemSpinBox->value();
     unsigned int max = m_maxMemSpinBox->value();
     unsigned int permgen = m_permGenSpinBox->value();
-    QObject* obj = sender();
-    if (obj == m_minMemSpinBox && min != observedMinMemory) {
+    if (min != observedMinMemory) {
         observedMinMemory = min;
         actuallyChanged = true;
-    } else if (obj == m_maxMemSpinBox && max != observedMaxMemory) {
+    }
+    if (max != observedMaxMemory) {
         observedMaxMemory = max;
         actuallyChanged = true;
-    } else if (obj == m_permGenSpinBox && permgen != observedPermGenMemory) {
+    }
+    if (permgen != observedPermGenMemory) {
         observedPermGenMemory = permgen;
         actuallyChanged = true;
     }
@@ -505,6 +519,9 @@ void JavaSettingsWidget::updateThresholds()
     } else if (observedMaxMemory < observedMinMemory) {
         iconName = "status-yellow";
         m_labelMaxMemIcon->setToolTip(tr("Your maximum memory allocation is smaller than the minimum value"));
+    } else if (BuildConfig.JAVA_DOWNLOADER_ENABLED && m_autodownloadCheckBox->isChecked()) {
+        iconName = "status-good";
+        m_labelMaxMemIcon->setToolTip("");
     } else if (observedMaxMemory > 2048 && !m_result.is_64bit) {
         iconName = "status-bad";
         m_labelMaxMemIcon->setToolTip(tr("You are exceeding the maximum allocation supported by 32-bit installations of Java."));
@@ -530,3 +547,13 @@ bool JavaSettingsWidget::autoDetectJava() const
 {
     return m_autodetectJavaCheckBox->isChecked();
 }
+
+void JavaSettingsWidget::onSpinBoxValueChanged(int)
+{
+    m_memoryTimer->start(500);
+}
+
+JavaSettingsWidget::~JavaSettingsWidget()
+{
+    delete m_verticalSpacer;
+};
\ No newline at end of file
diff --git a/launcher/ui/widgets/JavaSettingsWidget.h b/launcher/ui/widgets/JavaSettingsWidget.h
index 622c473fe..35be48478 100644
--- a/launcher/ui/widgets/JavaSettingsWidget.h
+++ b/launcher/ui/widgets/JavaSettingsWidget.h
@@ -17,6 +17,7 @@ class QGroupBox;
 class QGridLayout;
 class QLabel;
 class QToolButton;
+class QSpacerItem;
 
 /**
  * This is a widget for all the Java settings dialogs and pages.
@@ -26,7 +27,7 @@ class JavaSettingsWidget : public QWidget {
 
    public:
     explicit JavaSettingsWidget(QWidget* parent);
-    virtual ~JavaSettingsWidget() = default;
+    virtual ~JavaSettingsWidget();
 
     enum class JavaStatus { NotSet, Pending, Good, DoesNotExist, DoesNotStart, ReturnedInvalidData } javaStatus = JavaStatus::NotSet;
 
@@ -48,7 +49,8 @@ class JavaSettingsWidget : public QWidget {
     void updateThresholds();
 
    protected slots:
-    void memoryValueChanged(int);
+    void onSpinBoxValueChanged(int);
+    void memoryValueChanged();
     void javaPathEdited(const QString& path);
     void javaVersionSelected(BaseVersion::Ptr version);
     void on_javaBrowseBtn_clicked();
@@ -65,6 +67,7 @@ class JavaSettingsWidget : public QWidget {
    private: /* data */
     VersionSelectWidget* m_versionWidget = nullptr;
     QVBoxLayout* m_verticalLayout = nullptr;
+    QSpacerItem* m_verticalSpacer = nullptr;
 
     QLineEdit* m_javaPathTextBox = nullptr;
     QPushButton* m_javaBrowseBtn = nullptr;
@@ -99,4 +102,5 @@ class JavaSettingsWidget : public QWidget {
     uint64_t m_availableMemory = 0ull;
     shared_qobject_ptr<JavaChecker> m_checker;
     JavaChecker::Result m_result;
+    QTimer* m_memoryTimer;
 };

From 973b43ca7a12cdcb6891d069b3bb6782eda6f28a Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 13 Sep 2024 20:01:45 +0300
Subject: [PATCH 026/177] Add techinc client ID

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/Application.cpp                      |  3 ++
 launcher/ui/pages/global/APIPage.cpp          |  2 ++
 launcher/ui/pages/global/APIPage.ui           | 34 +++++++++++++++++--
 .../modplatform/technic/TechnicModel.cpp      |  4 +++
 4 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 9cd0445e6..ba9a9caa9 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -777,6 +777,9 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
         // FTBApp instances
         m_settings->registerSetting("FTBAppInstancesPath", "");
 
+        // Custom Techinc Client ID
+        m_settings->registerSetting("TechincClientID", "");
+
         // Init page provider
         {
             m_globalSettingsProvider = std::make_shared<GenericPageProvider>(tr("Settings"));
diff --git a/launcher/ui/pages/global/APIPage.cpp b/launcher/ui/pages/global/APIPage.cpp
index 82aa76a4f..4beb0b886 100644
--- a/launcher/ui/pages/global/APIPage.cpp
+++ b/launcher/ui/pages/global/APIPage.cpp
@@ -143,6 +143,7 @@ void APIPage::loadSettings()
     ui->modrinthToken->setText(modrinthToken);
     QString customUserAgent = s->get("UserAgentOverride").toString();
     ui->userAgentLineEdit->setText(customUserAgent);
+    ui->techicClientID->setText(s->get("TechincClientID").toString());
 }
 
 void APIPage::applySettings()
@@ -172,6 +173,7 @@ void APIPage::applySettings()
     QString modrinthToken = ui->modrinthToken->text();
     s->set("ModrinthToken", modrinthToken);
     s->set("UserAgentOverride", ui->userAgentLineEdit->text());
+    s->set("TechincClientID", ui->techicClientID->text());
 }
 
 bool APIPage::apply()
diff --git a/launcher/ui/pages/global/APIPage.ui b/launcher/ui/pages/global/APIPage.ui
index a7f3f3f72..f52d41d23 100644
--- a/launcher/ui/pages/global/APIPage.ui
+++ b/launcher/ui/pages/global/APIPage.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>800</width>
-    <height>600</height>
+    <width>841</width>
+    <height>620</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
@@ -288,6 +288,36 @@
          </layout>
         </widget>
        </item>
+       <item>
+        <widget class="QGroupBox" name="groupBox">
+         <property name="title">
+          <string>Techinc Client ID</string>
+         </property>
+         <layout class="QVBoxLayout" name="verticalLayout_9">
+          <item>
+           <widget class="QLabel" name="label_11">
+            <property name="text">
+             <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Note: you only need to set this to access private data.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QLineEdit" name="techicClientID">
+            <property name="placeholderText">
+             <string>(None)</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QLabel" name="label_12">
+            <property name="text">
+             <string>Enter a custom GUID client ID for Techinc here.</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
        <item>
         <spacer name="verticalSpacer">
          <property name="orientation">
diff --git a/launcher/ui/pages/modplatform/technic/TechnicModel.cpp b/launcher/ui/pages/modplatform/technic/TechnicModel.cpp
index 4181edab6..55a8b254c 100644
--- a/launcher/ui/pages/modplatform/technic/TechnicModel.cpp
+++ b/launcher/ui/pages/modplatform/technic/TechnicModel.cpp
@@ -154,6 +154,10 @@ void Technic::ListModel::performSearch()
             QString("%1search?build=%2&q=%3").arg(BuildConfig.TECHNIC_API_BASE_URL, BuildConfig.TECHNIC_API_BUILD, currentSearchTerm);
         searchMode = List;
     }
+    auto clientId = APPLICATION->settings()->get("TechincClientID").toString();
+    if (!clientId.isEmpty()) {
+        searchUrl += "?cid=" + clientId;
+    }
     netJob->addNetAction(Net::ApiDownload::makeByteArray(QUrl(searchUrl), response));
     jobPtr = netJob;
     jobPtr->start();

From d20f24d96fa35311935b58aa6cbae5623f437c6a Mon Sep 17 00:00:00 2001
From: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Date: Fri, 13 Sep 2024 21:13:21 +0300
Subject: [PATCH 027/177] Apply suggestions from code review

Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
---
 launcher/Application.cpp                               | 4 ++--
 launcher/ui/pages/global/APIPage.cpp                   | 4 ++--
 launcher/ui/pages/global/APIPage.ui                    | 6 +++---
 launcher/ui/pages/modplatform/technic/TechnicModel.cpp | 2 +-
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index ba9a9caa9..815f842c5 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -777,8 +777,8 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
         // FTBApp instances
         m_settings->registerSetting("FTBAppInstancesPath", "");
 
-        // Custom Techinc Client ID
-        m_settings->registerSetting("TechincClientID", "");
+        // Custom Technic Client ID
+        m_settings->registerSetting("TechnicClientID", "");
 
         // Init page provider
         {
diff --git a/launcher/ui/pages/global/APIPage.cpp b/launcher/ui/pages/global/APIPage.cpp
index 4beb0b886..0af34bcd6 100644
--- a/launcher/ui/pages/global/APIPage.cpp
+++ b/launcher/ui/pages/global/APIPage.cpp
@@ -143,7 +143,7 @@ void APIPage::loadSettings()
     ui->modrinthToken->setText(modrinthToken);
     QString customUserAgent = s->get("UserAgentOverride").toString();
     ui->userAgentLineEdit->setText(customUserAgent);
-    ui->techicClientID->setText(s->get("TechincClientID").toString());
+    ui->techicClientID->setText(s->get("TechnicClientID").toString());
 }
 
 void APIPage::applySettings()
@@ -173,7 +173,7 @@ void APIPage::applySettings()
     QString modrinthToken = ui->modrinthToken->text();
     s->set("ModrinthToken", modrinthToken);
     s->set("UserAgentOverride", ui->userAgentLineEdit->text());
-    s->set("TechincClientID", ui->techicClientID->text());
+    s->set("TechincClientID", ui->technicClientID->text());
 }
 
 bool APIPage::apply()
diff --git a/launcher/ui/pages/global/APIPage.ui b/launcher/ui/pages/global/APIPage.ui
index f52d41d23..9c713aa79 100644
--- a/launcher/ui/pages/global/APIPage.ui
+++ b/launcher/ui/pages/global/APIPage.ui
@@ -291,7 +291,7 @@
        <item>
         <widget class="QGroupBox" name="groupBox">
          <property name="title">
-          <string>Techinc Client ID</string>
+          <string>Technic Client ID</string>
          </property>
          <layout class="QVBoxLayout" name="verticalLayout_9">
           <item>
@@ -302,7 +302,7 @@
            </widget>
           </item>
           <item>
-           <widget class="QLineEdit" name="techicClientID">
+           <widget class="QLineEdit" name="technicClientID">
             <property name="placeholderText">
              <string>(None)</string>
             </property>
@@ -311,7 +311,7 @@
           <item>
            <widget class="QLabel" name="label_12">
             <property name="text">
-             <string>Enter a custom GUID client ID for Techinc here.</string>
+             <string>Enter a custom GUID client ID for Technic here.</string>
             </property>
            </widget>
           </item>
diff --git a/launcher/ui/pages/modplatform/technic/TechnicModel.cpp b/launcher/ui/pages/modplatform/technic/TechnicModel.cpp
index 55a8b254c..f7e7f4433 100644
--- a/launcher/ui/pages/modplatform/technic/TechnicModel.cpp
+++ b/launcher/ui/pages/modplatform/technic/TechnicModel.cpp
@@ -154,7 +154,7 @@ void Technic::ListModel::performSearch()
             QString("%1search?build=%2&q=%3").arg(BuildConfig.TECHNIC_API_BASE_URL, BuildConfig.TECHNIC_API_BUILD, currentSearchTerm);
         searchMode = List;
     }
-    auto clientId = APPLICATION->settings()->get("TechincClientID").toString();
+    auto clientId = APPLICATION->settings()->get("TechnicClientID").toString();
     if (!clientId.isEmpty()) {
         searchUrl += "?cid=" + clientId;
     }

From 1db122f1a29b90f2b556aeaddb7336233c0c4769 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 13 Sep 2024 21:37:50 +0300
Subject: [PATCH 028/177] fix typo

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/ui/pages/global/APIPage.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/ui/pages/global/APIPage.cpp b/launcher/ui/pages/global/APIPage.cpp
index 0af34bcd6..5ec6fbce5 100644
--- a/launcher/ui/pages/global/APIPage.cpp
+++ b/launcher/ui/pages/global/APIPage.cpp
@@ -143,7 +143,7 @@ void APIPage::loadSettings()
     ui->modrinthToken->setText(modrinthToken);
     QString customUserAgent = s->get("UserAgentOverride").toString();
     ui->userAgentLineEdit->setText(customUserAgent);
-    ui->techicClientID->setText(s->get("TechnicClientID").toString());
+    ui->technicClientID->setText(s->get("TechnicClientID").toString());
 }
 
 void APIPage::applySettings()

From e18e9b0509b93513e9e99a4f571faa3f34764fc5 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 13 Sep 2024 22:57:08 +0300
Subject: [PATCH 029/177] fix server launch

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/minecraft/MinecraftInstance.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp
index c94f3f234..98ac7647f 100644
--- a/launcher/minecraft/MinecraftInstance.cpp
+++ b/launcher/minecraft/MinecraftInstance.cpp
@@ -193,7 +193,7 @@ void MinecraftInstance::loadSpecificSettings()
     }
 
     // Join server on launch, this does not have a global override
-    m_settings->registerSetting({ "JoinServerOnLaunch", "JoinOnLaunch" }, false);
+    m_settings->registerSetting("JoinServerOnLaunch", false);
     m_settings->registerSetting("JoinServerOnLaunchAddress", "");
     m_settings->registerSetting("JoinWorldOnLaunch", "");
 
@@ -1063,7 +1063,7 @@ shared_qobject_ptr<LaunchTask> MinecraftInstance::createLaunchTask(AuthSessionPt
         process->appendStep(makeShared<CreateGameFolders>(pptr));
     }
 
-    if (!targetToJoin && settings()->get("JoinOnLaunch").toBool()) {
+    if (!targetToJoin && settings()->get("JoinServerOnLaunch").toBool()) {
         QString fullAddress = settings()->get("JoinServerOnLaunchAddress").toString();
         if (!fullAddress.isEmpty()) {
             targetToJoin.reset(new MinecraftTarget(MinecraftTarget::parse(fullAddress, false)));

From 6706317f2076b20095eac8c7ad8495cf8e1172df Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 13 Sep 2024 23:26:04 +0300
Subject: [PATCH 030/177] fix java crash on refresh

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/Filter.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/Filter.h b/launcher/Filter.h
index a8c9c14d8..ae835e724 100644
--- a/launcher/Filter.h
+++ b/launcher/Filter.h
@@ -57,5 +57,5 @@ class ExactListFilter : public Filter {
     bool accepts(const QString& value) override;
 
    private:
-    const QStringList& m_pattern;
+    QStringList m_pattern;
 };

From 22ebf7e9611432ec6bc9a85df363a2cf6487d0b3 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sat, 14 Sep 2024 00:13:16 +0300
Subject: [PATCH 031/177] fix download java abort being stuck

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/launch/TaskStepWrapper.cpp           |  4 +++-
 launcher/minecraft/MinecraftLoadAndCheck.cpp  |  4 +++-
 launcher/minecraft/launch/AutoInstallJava.cpp | 14 +++++++-------
 3 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/launcher/launch/TaskStepWrapper.cpp b/launcher/launch/TaskStepWrapper.cpp
index 136057620..db9e8fad2 100644
--- a/launcher/launch/TaskStepWrapper.cpp
+++ b/launcher/launch/TaskStepWrapper.cpp
@@ -59,7 +59,9 @@ bool TaskStepWrapper::canAbort() const
 bool TaskStepWrapper::abort()
 {
     if (m_task && m_task->canAbort()) {
-        return m_task->abort();
+        auto status = m_task->abort();
+        emitFailed("Aborted.");
+        return status;
     }
     return Task::abort();
 }
diff --git a/launcher/minecraft/MinecraftLoadAndCheck.cpp b/launcher/minecraft/MinecraftLoadAndCheck.cpp
index 655894d2a..a9dcdf067 100644
--- a/launcher/minecraft/MinecraftLoadAndCheck.cpp
+++ b/launcher/minecraft/MinecraftLoadAndCheck.cpp
@@ -37,7 +37,9 @@ bool MinecraftLoadAndCheck::canAbort() const
 bool MinecraftLoadAndCheck::abort()
 {
     if (m_task && m_task->canAbort()) {
-        return m_task->abort();
+        auto status = m_task->abort();
+        emitFailed("Aborted.");
+        return status;
     }
     return Task::abort();
 }
\ No newline at end of file
diff --git a/launcher/minecraft/launch/AutoInstallJava.cpp b/launcher/minecraft/launch/AutoInstallJava.cpp
index 3f58a28a6..5daf89382 100644
--- a/launcher/minecraft/launch/AutoInstallJava.cpp
+++ b/launcher/minecraft/launch/AutoInstallJava.cpp
@@ -180,10 +180,7 @@ void AutoInstallJava::downloadJava(Meta::Version::Ptr version, QString javaName)
                 deletePath();
                 emitFailed(reason);
             });
-            connect(this, &Task::aborted, this, [this, deletePath] {
-                m_current_task->abort();
-                deletePath();
-            });
+            connect(m_current_task.get(), &Task::aborted, this, [deletePath] { deletePath(); });
             connect(m_current_task.get(), &Task::succeeded, this, &AutoInstallJava::setJavaPathFromPartial);
             connect(m_current_task.get(), &Task::failed, this, &AutoInstallJava::tryNextMajorJava);
             connect(m_current_task.get(), &Task::progress, this, &AutoInstallJava::setProgress);
@@ -236,7 +233,10 @@ void AutoInstallJava::tryNextMajorJava()
 }
 bool AutoInstallJava::abort()
 {
-    if (m_current_task && m_current_task->canAbort())
-        return m_current_task->abort();
-    return true;
+    if (m_current_task && m_current_task->canAbort()) {
+        auto status = m_current_task->abort();
+        emitFailed("Aborted.");
+        return status;
+    }
+    return Task::abort();
 }

From e59f90eca8db7f60328ee2ca93c6b20053572ea6 Mon Sep 17 00:00:00 2001
From: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Date: Sat, 14 Sep 2024 00:19:48 +0300
Subject: [PATCH 032/177] Update launcher/ui/pages/global/APIPage.cpp

Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
---
 launcher/ui/pages/global/APIPage.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/ui/pages/global/APIPage.cpp b/launcher/ui/pages/global/APIPage.cpp
index 5ec6fbce5..a137c4cde 100644
--- a/launcher/ui/pages/global/APIPage.cpp
+++ b/launcher/ui/pages/global/APIPage.cpp
@@ -173,7 +173,7 @@ void APIPage::applySettings()
     QString modrinthToken = ui->modrinthToken->text();
     s->set("ModrinthToken", modrinthToken);
     s->set("UserAgentOverride", ui->userAgentLineEdit->text());
-    s->set("TechincClientID", ui->technicClientID->text());
+    s->set("TechnicClientID", ui->technicClientID->text());
 }
 
 bool APIPage::apply()

From 5073fc19d437f9e070d2dba27e353eb6e505a7de Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sat, 14 Sep 2024 00:36:31 +0300
Subject: [PATCH 033/177] fix java autodetect when instance settings are open

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/ui/pages/instance/InstanceSettingsPage.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/launcher/ui/pages/instance/InstanceSettingsPage.cpp b/launcher/ui/pages/instance/InstanceSettingsPage.cpp
index 19bc9fdf9..cf8d86cd4 100644
--- a/launcher/ui/pages/instance/InstanceSettingsPage.cpp
+++ b/launcher/ui/pages/instance/InstanceSettingsPage.cpp
@@ -351,6 +351,9 @@ void InstanceSettingsPage::loadSettings()
             [this] { ui->javaSettingsGroupBox->setChecked(m_settings->get("OverrideJavaLocation").toBool()); });
     ui->javaSettingsGroupBox->setChecked(overrideLocation);
     ui->javaPathTextBox->setText(m_settings->get("JavaPath").toString());
+    connect(m_settings->getSetting("JavaPath").get(), &Setting::SettingChanged, ui->javaSettingsGroupBox,
+            [this] { ui->javaPathTextBox->setText(m_settings->get("JavaPath").toString()); });
+
     ui->skipCompatibilityCheckbox->setChecked(m_settings->get("IgnoreJavaCompatibility").toBool());
 
     ui->javaArgumentsGroupBox->setChecked(overrideArgs);

From 312009513d0b3b3a8e08d386bd249ea85aa8bdef Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sat, 14 Sep 2024 18:27:12 +0300
Subject: [PATCH 034/177] add open java folder action

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/Application.cpp          |  1 +
 launcher/LaunchController.cpp     |  1 +
 launcher/ui/MainWindow.cpp        |  7 +++++++
 launcher/ui/MainWindow.h          |  2 +-
 launcher/ui/MainWindow.ui         | 15 ++++++++++++++-
 launcher/ui/themes/ThemeManager.h |  4 +++-
 6 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 35eb6e91e..3bed11db2 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -1870,6 +1870,7 @@ QUrl Application::normalizeImportUrl(QString const& url)
         return QUrl::fromUserInput(url);
     }
 }
+
 const QString Application::javaPath()
 {
     return m_settings->get("JavaDir").toString();
diff --git a/launcher/LaunchController.cpp b/launcher/LaunchController.cpp
index 73800574f..687da1322 100644
--- a/launcher/LaunchController.cpp
+++ b/launcher/LaunchController.cpp
@@ -53,6 +53,7 @@
 #include <QLineEdit>
 #include <QList>
 #include <QPushButton>
+#include <QRegularExpression>
 #include <QStringList>
 
 #include "BuildConfig.h"
diff --git a/launcher/ui/MainWindow.cpp b/launcher/ui/MainWindow.cpp
index a5ccbc19a..f19ac85d2 100644
--- a/launcher/ui/MainWindow.cpp
+++ b/launcher/ui/MainWindow.cpp
@@ -233,6 +233,8 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWi
         if (qgetenv("XDG_CURRENT_DESKTOP") == "gamescope") {
             ui->mainToolBar->addAction(ui->actionCloseWindow);
         }
+
+        ui->actionViewJavaFolder->setVisible(BuildConfig.JAVA_DOWNLOADER_ENABLED);
     }
 
     // add the toolbar toggles to the view menu
@@ -1223,6 +1225,11 @@ void MainWindow::on_actionViewLogsFolder_triggered()
     DesktopServices::openPath("logs", true);
 }
 
+void MainWindow::on_actionViewJavaFolder_triggered()
+{
+    DesktopServices::openPath(APPLICATION->javaPath(), true);
+}
+
 void MainWindow::refreshInstances()
 {
     APPLICATION->instances()->loadList();
diff --git a/launcher/ui/MainWindow.h b/launcher/ui/MainWindow.h
index 41bef9980..0e692eda7 100644
--- a/launcher/ui/MainWindow.h
+++ b/launcher/ui/MainWindow.h
@@ -48,7 +48,6 @@
 
 #include "BaseInstance.h"
 #include "minecraft/auth/MinecraftAccount.h"
-#include "net/NetJob.h"
 
 class LaunchController;
 class NewsChecker;
@@ -119,6 +118,7 @@ class MainWindow : public QMainWindow {
     void on_actionViewCatPackFolder_triggered();
     void on_actionViewIconsFolder_triggered();
     void on_actionViewLogsFolder_triggered();
+    void on_actionViewJavaFolder_triggered();
 
     void on_actionViewSkinsFolder_triggered();
 
diff --git a/launcher/ui/MainWindow.ui b/launcher/ui/MainWindow.ui
index bad8762ad..819a1efe7 100644
--- a/launcher/ui/MainWindow.ui
+++ b/launcher/ui/MainWindow.ui
@@ -131,7 +131,7 @@
      <x>0</x>
      <y>0</y>
      <width>800</width>
-     <height>22</height>
+     <height>27</height>
     </rect>
    </property>
    <widget class="QMenu" name="fileMenu">
@@ -192,6 +192,7 @@
     <addaction name="actionViewInstanceFolder"/>
     <addaction name="actionViewCentralModsFolder"/>
     <addaction name="actionViewSkinsFolder"/>
+    <addaction name="actionViewJavaFolder"/>
     <addaction name="separator"/>
     <addaction name="actionViewIconThemeFolder"/>
     <addaction name="actionViewWidgetThemeFolder"/>
@@ -788,6 +789,18 @@
     <string>Open the cat packs folder in a file browser.</string>
    </property>
   </action>
+  <action name="actionViewJavaFolder">
+   <property name="icon">
+    <iconset theme="viewfolder">
+     <normaloff>.</normaloff>.</iconset>
+   </property>
+   <property name="text">
+    <string>Java</string>
+   </property>
+   <property name="toolTip">
+    <string>Open the java folder in a file browser.</string>
+   </property>
+  </action>
  </widget>
  <customwidgets>
   <customwidget>
diff --git a/launcher/ui/themes/ThemeManager.h b/launcher/ui/themes/ThemeManager.h
index c7e32bc8c..a9036107c 100644
--- a/launcher/ui/themes/ThemeManager.h
+++ b/launcher/ui/themes/ThemeManager.h
@@ -18,10 +18,12 @@
  */
 #pragma once
 
+#include <QDir>
+#include <QLoggingCategory>
 #include <QString>
+#include <memory>
 
 #include "IconTheme.h"
-#include "ui/MainWindow.h"
 #include "ui/themes/CatPack.h"
 #include "ui/themes/ITheme.h"
 

From 0afdce8a31b94fca64fe064d83a07223b6a490a6 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sat, 14 Sep 2024 21:18:20 +0300
Subject: [PATCH 035/177] Add extra step to macos java install

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/CMakeLists.txt                       |  2 +
 launcher/java/download/SymlinkTask.cpp        | 81 +++++++++++++++++++
 launcher/java/download/SymlinkTask.h          | 36 +++++++++
 launcher/minecraft/launch/AutoInstallJava.cpp |  9 +++
 launcher/ui/java/InstallJavaDialog.cpp        |  8 ++
 5 files changed, 136 insertions(+)
 create mode 100644 launcher/java/download/SymlinkTask.cpp
 create mode 100644 launcher/java/download/SymlinkTask.h

diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt
index 975946740..bd6dfc5b6 100644
--- a/launcher/CMakeLists.txt
+++ b/launcher/CMakeLists.txt
@@ -439,6 +439,8 @@ set(JAVA_SOURCES
     java/download/ArchiveDownloadTask.h
     java/download/ManifestDownloadTask.cpp
     java/download/ManifestDownloadTask.h
+    java/download/SymlinkTask.cpp
+    java/download/SymlinkTask.h
 
     ui/java/InstallJavaDialog.h
     ui/java/InstallJavaDialog.cpp
diff --git a/launcher/java/download/SymlinkTask.cpp b/launcher/java/download/SymlinkTask.cpp
new file mode 100644
index 000000000..9841c5015
--- /dev/null
+++ b/launcher/java/download/SymlinkTask.cpp
@@ -0,0 +1,81 @@
+// SPDX-License-Identifier: GPL-3.0-only
+/*
+ *  Prism Launcher - Minecraft Launcher
+ *  Copyright (c) 2023-2024 Trial97 <alexandru.tripon97@gmail.com>
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, version 3.
+ *
+ *  This program 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 General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+#include "java/download/SymlinkTask.h"
+#include <QFileInfo>
+
+#include "FileSystem.h"
+
+namespace Java {
+SymlinkTask::SymlinkTask(QString final_path) : m_path(final_path) {}
+
+QString findBinPath(QString root, QString pattern)
+{
+    auto path = FS::PathCombine(root, pattern);
+    if (QFileInfo::exists(path)) {
+        return path;
+    }
+
+    auto entries = QDir(root).entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);
+    for (auto& entry : entries) {
+        path = FS::PathCombine(entry.absoluteFilePath(), pattern);
+        if (QFileInfo::exists(path)) {
+            return path;
+        }
+    }
+
+    return {};
+}
+
+void SymlinkTask::executeTask()
+{
+    setStatus(tr("Check Java bin"));
+    const auto binPath = FS::PathCombine("bin", "java");
+    const auto wantedPath = FS::PathCombine(m_path, binPath);
+    if (QFileInfo::exists(wantedPath)) {
+        emitSucceeded();
+        return;
+    }
+
+    setStatus(tr("Search for Java bin"));
+    const auto contentsPartialPath = FS::PathCombine("Contents", "Home", binPath);
+    const auto relativePathToBin = findBinPath(m_path, contentsPartialPath);
+    if (relativePathToBin.isEmpty()) {
+        emitFailed(tr("Failed to find bin java"));
+        return;
+    }
+    const auto folderToLink = relativePathToBin.chopped(binPath.length());
+
+    setStatus(tr("Collect folders to symlink"));
+    auto entries = QDir(folderToLink).entryInfoList(QDir::NoDotAndDotDot | QDir::AllEntries);
+    QList<FS::LinkPair> files;
+    setProgress(0, entries.length());
+    for (auto& entry : entries) {
+        files.append({ entry.absoluteFilePath(), FS::PathCombine(m_path, entry.fileName()) });
+    }
+
+    setStatus(tr("Symlink Java"));
+    FS::create_link folderLink(files);
+    connect(&folderLink, &FS::create_link::fileLinked, [this](QString src, QString dst) { setProgress(m_progress + 1, m_progressTotal); });
+    if (!folderLink()) {
+        emitFailed(folderLink.getOSError().message().c_str());
+    } else {
+        emitSucceeded();
+    }
+}
+
+}  // namespace Java
\ No newline at end of file
diff --git a/launcher/java/download/SymlinkTask.h b/launcher/java/download/SymlinkTask.h
new file mode 100644
index 000000000..88cb20dd7
--- /dev/null
+++ b/launcher/java/download/SymlinkTask.h
@@ -0,0 +1,36 @@
+// SPDX-License-Identifier: GPL-3.0-only
+/*
+ *  Prism Launcher - Minecraft Launcher
+ *  Copyright (c) 2023-2024 Trial97 <alexandru.tripon97@gmail.com>
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, version 3.
+ *
+ *  This program 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 General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "tasks/Task.h"
+namespace Java {
+
+class SymlinkTask : public Task {
+    Q_OBJECT
+   public:
+    SymlinkTask(QString final_path);
+    virtual ~SymlinkTask() = default;
+
+    void executeTask() override;
+
+   protected:
+    QString m_path;
+    Task::Ptr m_task;
+};
+}  // namespace Java
\ No newline at end of file
diff --git a/launcher/minecraft/launch/AutoInstallJava.cpp b/launcher/minecraft/launch/AutoInstallJava.cpp
index 5daf89382..4fad6f15f 100644
--- a/launcher/minecraft/launch/AutoInstallJava.cpp
+++ b/launcher/minecraft/launch/AutoInstallJava.cpp
@@ -41,6 +41,7 @@
 #include "Application.h"
 #include "FileSystem.h"
 #include "MessageLevel.h"
+#include "QObjectPtr.h"
 #include "SysInfo.h"
 #include "java/JavaInstall.h"
 #include "java/JavaInstallList.h"
@@ -48,10 +49,12 @@
 #include "java/JavaVersion.h"
 #include "java/download/ArchiveDownloadTask.h"
 #include "java/download/ManifestDownloadTask.h"
+#include "java/download/SymlinkTask.h"
 #include "meta/Index.h"
 #include "minecraft/MinecraftInstance.h"
 #include "minecraft/PackProfile.h"
 #include "net/Mode.h"
+#include "tasks/SequentialTask.h"
 
 AutoInstallJava::AutoInstallJava(LaunchTask* parent)
     : LaunchStep(parent)
@@ -175,6 +178,12 @@ void AutoInstallJava::downloadJava(Meta::Version::Ptr version, QString javaName)
                     emitFailed(tr("Could not determine Java download type!"));
                     return;
             }
+#if defined(Q_OS_MACOS)
+            auto seq = makeShared<SequentialTask>(this, tr("Install Java"));
+            seq->addTask(m_current_task);
+            seq->addTask(makeShared<Java::SymlinkTask>(final_path));
+            m_current_task = seq;
+#endif
             auto deletePath = [final_path] { FS::deletePath(final_path); };
             connect(m_current_task.get(), &Task::failed, this, [this, deletePath](QString reason) {
                 deletePath();
diff --git a/launcher/ui/java/InstallJavaDialog.cpp b/launcher/ui/java/InstallJavaDialog.cpp
index 4fb9fc2d2..f01edc5e5 100644
--- a/launcher/ui/java/InstallJavaDialog.cpp
+++ b/launcher/ui/java/InstallJavaDialog.cpp
@@ -31,10 +31,12 @@
 #include "Filter.h"
 #include "java/download/ArchiveDownloadTask.h"
 #include "java/download/ManifestDownloadTask.h"
+#include "java/download/SymlinkTask.h"
 #include "meta/Index.h"
 #include "meta/VersionList.h"
 #include "minecraft/MinecraftInstance.h"
 #include "minecraft/PackProfile.h"
+#include "tasks/SequentialTask.h"
 #include "ui/dialogs/CustomMessageBox.h"
 #include "ui/dialogs/ProgressDialog.h"
 #include "ui/java/VersionList.h"
@@ -313,6 +315,12 @@ void InstallDialog::done(int result)
                         CustomMessageBox::selectable(this, tr("Error"), error, QMessageBox::Warning)->show();
                         deletePath();
                 }
+#if defined(Q_OS_MACOS)
+                auto seq = makeShared<SequentialTask>(this, tr("Install Java"));
+                seq->addTask(task);
+                seq->addTask(makeShared<Java::SymlinkTask>(final_path));
+                task = seq;
+#endif
                 connect(task.get(), &Task::failed, this, [this, &deletePath](QString reason) {
                     QString error = QString("Java download failed: %1").arg(reason);
                     CustomMessageBox::selectable(this, tr("Error"), error, QMessageBox::Warning)->show();

From 1c6bd74ed8d4818231dd153993ed1643dc4e4543 Mon Sep 17 00:00:00 2001
From: QazCetelic <qaz.cetelic@protonmail.com>
Date: Sat, 14 Sep 2024 22:04:18 +0200
Subject: [PATCH 036/177] Disable folder action instead of hiding it and add
 additional information in the tooltip.

Signed-off-by: QazCetelic <qaz.cetelic@protonmail.com>
---
 launcher/ui/MainWindow.cpp | 3 ++-
 launcher/ui/MainWindow.ui  | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/launcher/ui/MainWindow.cpp b/launcher/ui/MainWindow.cpp
index f19ac85d2..3f0bb3281 100644
--- a/launcher/ui/MainWindow.cpp
+++ b/launcher/ui/MainWindow.cpp
@@ -234,7 +234,8 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWi
             ui->mainToolBar->addAction(ui->actionCloseWindow);
         }
 
-        ui->actionViewJavaFolder->setVisible(BuildConfig.JAVA_DOWNLOADER_ENABLED);
+        ui->actionViewJavaFolder->setEnabled(BuildConfig.JAVA_DOWNLOADER_ENABLED);
+
     }
 
     // add the toolbar toggles to the view menu
diff --git a/launcher/ui/MainWindow.ui b/launcher/ui/MainWindow.ui
index 819a1efe7..89e536b01 100644
--- a/launcher/ui/MainWindow.ui
+++ b/launcher/ui/MainWindow.ui
@@ -798,7 +798,7 @@
     <string>Java</string>
    </property>
    <property name="toolTip">
-    <string>Open the java folder in a file browser.</string>
+    <string>Open the java folder in a file browser. Only available if the built-in Java downloader is used.</string>
    </property>
   </action>
  </widget>

From 8932a42644411924e64a96c4c905b9f8071fba64 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Sun, 15 Sep 2024 00:24:43 +0000
Subject: [PATCH 037/177] chore(nix): update lockfile
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c374d94f1536013ca8e92341b540eba4c22f9c62?narHash=sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh%2BaRKoCdaAv5fiO0%3D' (2024-08-21)
  → 'github:NixOS/nixpkgs/4f807e8940284ad7925ebd0a0993d2a1791acb2f?narHash=sha256-IiA3jfbR7K/B5%2B9byVi9BZGWTD4VSbWe8VLpp9B/iYk%3D' (2024-09-11)
---
 flake.lock | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/flake.lock b/flake.lock
index 58ae840c2..58bc4e30f 100644
--- a/flake.lock
+++ b/flake.lock
@@ -49,11 +49,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1724224976,
-        "narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=",
+        "lastModified": 1726062873,
+        "narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "c374d94f1536013ca8e92341b540eba4c22f9c62",
+        "rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f",
         "type": "github"
       },
       "original": {

From d38e7fa1424c406b86c5556e9c78c870eaa6b317 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 16 Sep 2024 12:41:33 +0300
Subject: [PATCH 038/177] Add more null protection for skin management

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/minecraft/skins/SkinList.cpp          |  6 +++++-
 launcher/minecraft/skins/SkinModel.cpp         |  2 +-
 launcher/ui/dialogs/skins/SkinManageDialog.cpp | 16 ++++++++++++----
 3 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/launcher/minecraft/skins/SkinList.cpp b/launcher/minecraft/skins/SkinList.cpp
index fd883ad52..017cb8dc2 100644
--- a/launcher/minecraft/skins/SkinList.cpp
+++ b/launcher/minecraft/skins/SkinList.cpp
@@ -336,7 +336,11 @@ void SkinList::save()
         arr << s.toJSON();
     }
     doc["skins"] = arr;
-    Json::write(doc, m_dir.absoluteFilePath("index.json"));
+    try {
+        Json::write(doc, m_dir.absoluteFilePath("index.json"));
+    } catch (const FS::FileSystemException& e) {
+        qCritical() << "Failed to write skin index file :" << e.cause();
+    }
 }
 
 int SkinList::getSelectedAccountSkin()
diff --git a/launcher/minecraft/skins/SkinModel.cpp b/launcher/minecraft/skins/SkinModel.cpp
index d53b9e762..937864e2c 100644
--- a/launcher/minecraft/skins/SkinModel.cpp
+++ b/launcher/minecraft/skins/SkinModel.cpp
@@ -41,7 +41,7 @@ SkinModel::SkinModel(QDir skinDir, QJsonObject obj)
 
 QString SkinModel::name() const
 {
-    return QFileInfo(m_path).baseName();
+    return QFileInfo(m_path).completeBaseName();
 }
 
 bool SkinModel::rename(QString newName)
diff --git a/launcher/ui/dialogs/skins/SkinManageDialog.cpp b/launcher/ui/dialogs/skins/SkinManageDialog.cpp
index a947af632..6c85ffa96 100644
--- a/launcher/ui/dialogs/skins/SkinManageDialog.cpp
+++ b/launcher/ui/dialogs/skins/SkinManageDialog.cpp
@@ -116,7 +116,7 @@ void SkinManageDialog::selectionChanged(QItemSelection selected, QItemSelection
         return;
     m_selected_skin = key;
     auto skin = m_list.skin(key);
-    if (!skin)
+    if (!skin || !skin->isValid())
         return;
     ui->selectedModel->setPixmap(skin->getTexture().scaled(size() * (1. / 3), Qt::KeepAspectRatio, Qt::FastTransformation));
     ui->capeCombo->setCurrentIndex(m_capes_idx.value(skin->getCapeId()));
@@ -212,7 +212,10 @@ void SkinManageDialog::setupCapes()
 void SkinManageDialog::on_capeCombo_currentIndexChanged(int index)
 {
     auto id = ui->capeCombo->currentData();
-    ui->capeImage->setPixmap(m_capes.value(id.toString(), {}).scaled(size() * (1. / 3), Qt::KeepAspectRatio, Qt::FastTransformation));
+    auto cape = m_capes.value(id.toString(), {});
+    if (!cape.isNull()) {
+        ui->capeImage->setPixmap(cape.scaled(size() * (1. / 3), Qt::KeepAspectRatio, Qt::FastTransformation));
+    }
     if (auto skin = m_list.skin(m_selected_skin); skin) {
         skin->setCapeId(id.toString());
     }
@@ -505,8 +508,13 @@ void SkinManageDialog::resizeEvent(QResizeEvent* event)
     QSize s = size() * (1. / 3);
 
     if (auto skin = m_list.skin(m_selected_skin); skin) {
-        ui->selectedModel->setPixmap(skin->getTexture().scaled(s, Qt::KeepAspectRatio, Qt::FastTransformation));
+        if (skin->isValid()) {
+            ui->selectedModel->setPixmap(skin->getTexture().scaled(s, Qt::KeepAspectRatio, Qt::FastTransformation));
+        }
     }
     auto id = ui->capeCombo->currentData();
-    ui->capeImage->setPixmap(m_capes.value(id.toString(), {}).scaled(s, Qt::KeepAspectRatio, Qt::FastTransformation));
+    auto cape = m_capes.value(id.toString(), {});
+    if (!cape.isNull()) {
+        ui->capeImage->setPixmap(cape.scaled(s, Qt::KeepAspectRatio, Qt::FastTransformation));
+    }
 }

From d2f0d1d8d5529dc1bd462c4795c4746b13a3fb65 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 16 Sep 2024 12:42:09 +0300
Subject: [PATCH 039/177] Wrap FS::write in try catch

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/InstanceCopyTask.cpp                 | 6 +++++-
 launcher/ui/dialogs/ExportToModListDialog.cpp | 7 ++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/launcher/InstanceCopyTask.cpp b/launcher/InstanceCopyTask.cpp
index ff2d37723..0220a4144 100644
--- a/launcher/InstanceCopyTask.cpp
+++ b/launcher/InstanceCopyTask.cpp
@@ -173,7 +173,11 @@ void InstanceCopyTask::copyFinished()
                 allowed_symlinks_file
                     .filePath());  // we dont want to modify the original. also make sure the resulting file is not itself a link.
 
-        FS::write(allowed_symlinks_file.filePath(), allowed_symlinks);
+        try {
+            FS::write(allowed_symlinks_file.filePath(), allowed_symlinks);
+        } catch (const FS::FileSystemException& e) {
+            qCritical() << "Failed to write symlink :" << e.cause();
+        }
     }
 
     emitSucceeded();
diff --git a/launcher/ui/dialogs/ExportToModListDialog.cpp b/launcher/ui/dialogs/ExportToModListDialog.cpp
index 1e0ae87a3..908743ab0 100644
--- a/launcher/ui/dialogs/ExportToModListDialog.cpp
+++ b/launcher/ui/dialogs/ExportToModListDialog.cpp
@@ -164,7 +164,12 @@ void ExportToModListDialog::done(int result)
 
         if (output.isEmpty())
             return;
-        FS::write(output, ui->finalText->toPlainText().toUtf8());
+
+        try {
+            FS::write(output, ui->finalText->toPlainText().toUtf8());
+        } catch (const FS::FileSystemException& e) {
+            qCritical() << "Failed to save mod list file :" << e.cause();
+        }
     }
 
     QDialog::done(result);

From 2c2defb2660c26731191a9ebf6c48912eb36e20b Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 16 Sep 2024 14:30:23 +0300
Subject: [PATCH 040/177] add Launcher_ prefix to enable java option

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 .github/workflows/build.yml    | 10 +++++-----
 CMakeLists.txt                 |  6 +++---
 buildconfig/BuildConfig.cpp.in |  4 ++--
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 942289b0b..25e1c2aab 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -266,23 +266,23 @@ jobs:
       - name: Configure CMake (macOS)
         if: runner.os == 'macOS' && matrix.qt_ver == 6
         run: |
-          cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -G Ninja
+          cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_ENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -G Ninja
 
       - name: Configure CMake (macOS-Legacy)
         if: runner.os == 'macOS' && matrix.qt_ver == 5
         run: |
-          cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DMACOSX_SPARKLE_UPDATE_PUBLIC_KEY="" -DMACOSX_SPARKLE_UPDATE_FEED_URL="" -G Ninja
+          cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_ENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DMACOSX_SPARKLE_UPDATE_PUBLIC_KEY="" -DMACOSX_SPARKLE_UPDATE_FEED_URL="" -G Ninja
 
       - name: Configure CMake (Windows MinGW-w64)
         if: runner.os == 'Windows' && matrix.msystem != ''
         shell: msys2 {0}
         run: |
-          cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=6 -DCMAKE_OBJDUMP=/mingw64/bin/objdump.exe -DLauncher_BUILD_ARTIFACT=${{ matrix.name }}-Qt${{ matrix.qt_ver }} -G Ninja
+          cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_ENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=6 -DCMAKE_OBJDUMP=/mingw64/bin/objdump.exe -DLauncher_BUILD_ARTIFACT=${{ matrix.name }}-Qt${{ matrix.qt_ver }} -G Ninja
 
       - name: Configure CMake (Windows MSVC)
         if: runner.os == 'Windows' && matrix.msystem == ''
         run: |
-          cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreadedDLL" -A${{ matrix.architecture}} -DLauncher_FORCE_BUNDLED_LIBS=ON  -DLauncher_BUILD_ARTIFACT=${{ matrix.name }}-Qt${{ matrix.qt_ver }}
+          cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_ENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreadedDLL" -A${{ matrix.architecture}} -DLauncher_FORCE_BUNDLED_LIBS=ON  -DLauncher_BUILD_ARTIFACT=${{ matrix.name }}-Qt${{ matrix.qt_ver }}
           # https://github.com/ccache/ccache/wiki/MS-Visual-Studio (I coudn't figure out the compiler prefix)
           if ("${{ env.CCACHE_VAR }}")
           {
@@ -297,7 +297,7 @@ jobs:
       - name: Configure CMake (Linux)
         if: runner.os == 'Linux'
         run: |
-          cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DLauncher_BUILD_ARTIFACT=Linux-Qt${{ matrix.qt_ver }} -G Ninja
+          cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_ENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DLauncher_BUILD_ARTIFACT=Linux-Qt${{ matrix.qt_ver }} -G Ninja
 
       ##
       # BUILD
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7445e574a..8727c2ef3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -220,17 +220,17 @@ set(Launcher_FORCE_BUNDLED_LIBS OFF CACHE BOOL "Prevent using system libraries,
 set(Launcher_QT_VERSION_MAJOR "6" CACHE STRING "Major Qt version to build against")
 
 # Java downloader
-set(ENABLE_JAVA_DOWNLOADER_DEFAULT ON)
+set(Launcher_ENABLE_JAVA_DOWNLOADER_DEFAULT ON)
 
 # Although we recommend enabling this, we cannot guarantee binary compatibility on 
 # differing Linux/BSD/etc distributions. Downstream packagers should be explicitly opt-ing into this
 # feature if they know it will work with their distribution.
 if(UNIX AND NOT APPLE)
-  set(ENABLE_JAVA_DOWNLOADER_DEFAULT OFF)
+  set(Launcher_ENABLE_JAVA_DOWNLOADER_DEFAULT OFF)
 endif()
 
 # Java downloader
-option(ENABLE_JAVA_DOWNLOADER "Build the java downloader feature" ${ENABLE_JAVA_DOWNLOADER_DEFAULT})
+option(Launcher_ENABLE_JAVA_DOWNLOADER "Build the java downloader feature" ${Launcher_ENABLE_JAVA_DOWNLOADER_DEFAULT})
 
 # Native libraries
 if(UNIX AND APPLE)
diff --git a/buildconfig/BuildConfig.cpp.in b/buildconfig/BuildConfig.cpp.in
index a2b5c2187..f85b84dfb 100644
--- a/buildconfig/BuildConfig.cpp.in
+++ b/buildconfig/BuildConfig.cpp.in
@@ -81,8 +81,8 @@ Config::Config()
         UPDATER_ENABLED = true;
     }
 
-    #cmakedefine01 ENABLE_JAVA_DOWNLOADER
-    JAVA_DOWNLOADER_ENABLED = ENABLE_JAVA_DOWNLOADER;
+    #cmakedefine01 Launcher_ENABLE_JAVA_DOWNLOADER
+    JAVA_DOWNLOADER_ENABLED = Launcher_ENABLE_JAVA_DOWNLOADER;
 
     GIT_COMMIT = "@Launcher_GIT_COMMIT@";
     GIT_TAG = "@Launcher_GIT_TAG@";

From ca6b62c773554213e507e915034d3a68933d0a1e Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 16 Sep 2024 15:51:51 +0300
Subject: [PATCH 041/177] move some URLs in cmake

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 CMakeLists.txt                            | 3 +++
 buildconfig/BuildConfig.cpp.in            | 3 +++
 buildconfig/BuildConfig.h                 | 9 +++++++--
 launcher/minecraft/auth/steps/MSAStep.cpp | 9 +++++----
 4 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7445e574a..6b9cb8ea8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -176,6 +176,8 @@ endif()
 set(Launcher_NEWS_RSS_URL "https://prismlauncher.org/feed/feed.xml" CACHE STRING "URL to fetch Prism Launcher's news RSS feed from.")
 set(Launcher_NEWS_OPEN_URL "https://prismlauncher.org/news" CACHE STRING "URL that gets opened when the user clicks 'More News'")
 set(Launcher_HELP_URL "https://prismlauncher.org/wiki/help-pages/%1" CACHE STRING "URL (with arg %1 to be substituted with page-id) that gets opened when the user requests help")
+set(Launcher_SUCCESSFULL_LOGIN_URL "https://prismlauncher.org/successful-login" CACHE STRING "URL that gets opened when the user succesfully logins.")
+set(Launcher_FMLLIBS_BASE_URL "https://files.prismlauncher.org/fmllibs/" CACHE STRING "URL for FML Libraries.")
 
 ######## Set version numbers ########
 set(Launcher_VERSION_MAJOR 9)
@@ -205,6 +207,7 @@ set(Launcher_BUG_TRACKER_URL "https://github.com/PrismLauncher/PrismLauncher/iss
 
 # Translations Platform URL
 set(Launcher_TRANSLATIONS_URL "https://hosted.weblate.org/projects/prismlauncher/launcher/" CACHE STRING "URL for the translations platform.")
+set(Launcher_TRANSLATIONS_BASE_URL "https://i18n.prismlauncher.org/" CACHE STRING "URL for the translations files.")
 
 # Matrix Space
 set(Launcher_MATRIX_URL "https://prismlauncher.org/matrix" CACHE STRING "URL to the Matrix Space")
diff --git a/buildconfig/BuildConfig.cpp.in b/buildconfig/BuildConfig.cpp.in
index a2b5c2187..121ce0729 100644
--- a/buildconfig/BuildConfig.cpp.in
+++ b/buildconfig/BuildConfig.cpp.in
@@ -116,16 +116,19 @@ Config::Config()
     NEWS_RSS_URL = "@Launcher_NEWS_RSS_URL@";
     NEWS_OPEN_URL = "@Launcher_NEWS_OPEN_URL@";
     HELP_URL = "@Launcher_HELP_URL@";
+    SUCCESSFULL_LOGIN_URL = "@Launcher_SUCCESSFULL_LOGIN_URL@";
     IMGUR_CLIENT_ID = "@Launcher_IMGUR_CLIENT_ID@";
     MSA_CLIENT_ID = "@Launcher_MSA_CLIENT_ID@";
     FLAME_API_KEY = "@Launcher_CURSEFORGE_API_KEY@";
     META_URL = "@Launcher_META_URL@";
+    FMLLIBS_BASE_URL = "@Launcher_FMLLIBS_BASE_URL@";
 
     GLFW_LIBRARY_NAME = "@Launcher_GLFW_LIBRARY_NAME@";
     OPENAL_LIBRARY_NAME = "@Launcher_OPENAL_LIBRARY_NAME@";
 
     BUG_TRACKER_URL = "@Launcher_BUG_TRACKER_URL@";
     TRANSLATIONS_URL = "@Launcher_TRANSLATIONS_URL@";
+    TRANSLATIONS_BASE_URL = "@Launcher_TRANSLATIONS_BASE_URL@";
     MATRIX_URL = "@Launcher_MATRIX_URL@";
     DISCORD_URL = "@Launcher_DISCORD_URL@";
     SUBREDDIT_URL = "@Launcher_SUBREDDIT_URL@";
diff --git a/buildconfig/BuildConfig.h b/buildconfig/BuildConfig.h
index bb633f297..4684f5709 100644
--- a/buildconfig/BuildConfig.h
+++ b/buildconfig/BuildConfig.h
@@ -133,6 +133,11 @@ class Config {
      */
     QString HELP_URL;
 
+    /**
+     * URL that gets opened when the user succesfully logins.
+     */
+    QString SUCCESSFULL_LOGIN_URL;
+
     /**
      * Client ID you can get from Imgur when you register an application
      */
@@ -165,8 +170,8 @@ class Config {
     QString RESOURCE_BASE = "https://resources.download.minecraft.net/";
     QString LIBRARY_BASE = "https://libraries.minecraft.net/";
     QString IMGUR_BASE_URL = "https://api.imgur.com/3/";
-    QString FMLLIBS_BASE_URL = "https://files.prismlauncher.org/fmllibs/";  // FIXME: move into CMakeLists
-    QString TRANSLATIONS_BASE_URL = "https://i18n.prismlauncher.org/";      // FIXME: move into CMakeLists
+    QString FMLLIBS_BASE_URL;
+    QString TRANSLATIONS_BASE_URL;
 
     QString MODPACKSCH_API_BASE_URL = "https://api.modpacks.ch/";
 
diff --git a/launcher/minecraft/auth/steps/MSAStep.cpp b/launcher/minecraft/auth/steps/MSAStep.cpp
index 3db04bf2f..916f84e4a 100644
--- a/launcher/minecraft/auth/steps/MSAStep.cpp
+++ b/launcher/minecraft/auth/steps/MSAStep.cpp
@@ -90,15 +90,16 @@ MSAStep::MSAStep(AccountData* data, bool silent) : AuthStep(data), m_silent(sile
 
     {
         auto replyHandler = new QOAuthHttpServerReplyHandler(this);
-        replyHandler->setCallbackText(R"XXX(
+        replyHandler->setCallbackText(QString(R"XXX(
     <noscript>
-      <meta http-equiv="Refresh" content="0; URL=https://prismlauncher.org/successful-login" />
+      <meta http-equiv="Refresh" content="0; URL=%1" />
     </noscript>
     Login Successful, redirecting...
     <script>
-      window.location.replace("https://prismlauncher.org/successful-login");
+      window.location.replace("%1");
     </script>
-    )XXX");
+    )XXX")
+                                          .arg(BuildConfig.SUCCESSFULL_LOGIN_URL));
         oauth2.setReplyHandler(replyHandler);
     } else {
         oauth2.setReplyHandler(new CustomOAuthOobReplyHandler(this));

From 81f30f03600cae726cb841f242235b492aabfd94 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 16 Sep 2024 15:53:54 +0300
Subject: [PATCH 042/177] disable retry for translation files

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/translations/TranslationsModel.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/launcher/translations/TranslationsModel.cpp b/launcher/translations/TranslationsModel.cpp
index 39719b125..63867636d 100644
--- a/launcher/translations/TranslationsModel.cpp
+++ b/launcher/translations/TranslationsModel.cpp
@@ -597,6 +597,7 @@ void TranslationsModel::downloadTranslation(QString key)
 
     d->m_dl_job.reset(new NetJob("Translation for " + key, APPLICATION->network()));
     d->m_dl_job->addNetAction(dl);
+    d->m_dl_job->setAskRetry(false);
 
     connect(d->m_dl_job.get(), &NetJob::succeeded, this, &TranslationsModel::dlGood);
     connect(d->m_dl_job.get(), &NetJob::failed, this, &TranslationsModel::dlFailed);

From 75756b49c3f81bd4426728307dcf99b7a4ad31f1 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 16 Sep 2024 16:15:36 +0300
Subject: [PATCH 043/177] reshow login dialog in case account login fails

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/ui/setupwizard/LoginWizardPage.cpp | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/launcher/ui/setupwizard/LoginWizardPage.cpp b/launcher/ui/setupwizard/LoginWizardPage.cpp
index 6be24a2f7..f53e31908 100644
--- a/launcher/ui/setupwizard/LoginWizardPage.cpp
+++ b/launcher/ui/setupwizard/LoginWizardPage.cpp
@@ -35,11 +35,10 @@ void LoginWizardPage::on_pushButton_clicked()
     if (account) {
         APPLICATION->accounts()->addAccount(account);
         APPLICATION->accounts()->setDefaultAccount(account);
-    }
-
-    if (wizard()->currentId() == wizard()->pageIds().last()) {
-        wizard()->accept();
-    } else {
-        wizard()->next();
+        if (wizard()->currentId() == wizard()->pageIds().last()) {
+            wizard()->accept();
+        } else {
+            wizard()->next();
+        }
     }
 }

From db3c7d01fd23b42e7f70a2809f6beb5a297375ec Mon Sep 17 00:00:00 2001
From: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Date: Mon, 16 Sep 2024 16:36:05 +0300
Subject: [PATCH 044/177] Apply suggestions from code review

Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
---
 CMakeLists.txt                            | 2 +-
 buildconfig/BuildConfig.cpp.in            | 2 +-
 buildconfig/BuildConfig.h                 | 2 +-
 launcher/minecraft/auth/steps/MSAStep.cpp | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6b9cb8ea8..ecca591cb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -176,7 +176,7 @@ endif()
 set(Launcher_NEWS_RSS_URL "https://prismlauncher.org/feed/feed.xml" CACHE STRING "URL to fetch Prism Launcher's news RSS feed from.")
 set(Launcher_NEWS_OPEN_URL "https://prismlauncher.org/news" CACHE STRING "URL that gets opened when the user clicks 'More News'")
 set(Launcher_HELP_URL "https://prismlauncher.org/wiki/help-pages/%1" CACHE STRING "URL (with arg %1 to be substituted with page-id) that gets opened when the user requests help")
-set(Launcher_SUCCESSFULL_LOGIN_URL "https://prismlauncher.org/successful-login" CACHE STRING "URL that gets opened when the user succesfully logins.")
+set(Launcher_LOGIN_CALLBACK_URL "https://prismlauncher.org/successful-login" CACHE STRING "URL that gets opened when the user successfully logins.")
 set(Launcher_FMLLIBS_BASE_URL "https://files.prismlauncher.org/fmllibs/" CACHE STRING "URL for FML Libraries.")
 
 ######## Set version numbers ########
diff --git a/buildconfig/BuildConfig.cpp.in b/buildconfig/BuildConfig.cpp.in
index 121ce0729..a758122d9 100644
--- a/buildconfig/BuildConfig.cpp.in
+++ b/buildconfig/BuildConfig.cpp.in
@@ -116,7 +116,7 @@ Config::Config()
     NEWS_RSS_URL = "@Launcher_NEWS_RSS_URL@";
     NEWS_OPEN_URL = "@Launcher_NEWS_OPEN_URL@";
     HELP_URL = "@Launcher_HELP_URL@";
-    SUCCESSFULL_LOGIN_URL = "@Launcher_SUCCESSFULL_LOGIN_URL@";
+    LOGIN_CALLBACK_URL = "@Launcher_LOGIN_CALLBACK_URL@";
     IMGUR_CLIENT_ID = "@Launcher_IMGUR_CLIENT_ID@";
     MSA_CLIENT_ID = "@Launcher_MSA_CLIENT_ID@";
     FLAME_API_KEY = "@Launcher_CURSEFORGE_API_KEY@";
diff --git a/buildconfig/BuildConfig.h b/buildconfig/BuildConfig.h
index 4684f5709..0626c1d50 100644
--- a/buildconfig/BuildConfig.h
+++ b/buildconfig/BuildConfig.h
@@ -136,7 +136,7 @@ class Config {
     /**
      * URL that gets opened when the user succesfully logins.
      */
-    QString SUCCESSFULL_LOGIN_URL;
+    QString LOGIN_CALLBACK_URL;
 
     /**
      * Client ID you can get from Imgur when you register an application
diff --git a/launcher/minecraft/auth/steps/MSAStep.cpp b/launcher/minecraft/auth/steps/MSAStep.cpp
index 916f84e4a..74999414c 100644
--- a/launcher/minecraft/auth/steps/MSAStep.cpp
+++ b/launcher/minecraft/auth/steps/MSAStep.cpp
@@ -99,7 +99,7 @@ MSAStep::MSAStep(AccountData* data, bool silent) : AuthStep(data), m_silent(sile
       window.location.replace("%1");
     </script>
     )XXX")
-                                          .arg(BuildConfig.SUCCESSFULL_LOGIN_URL));
+                                          .arg(BuildConfig.LOGIN_CALLBACK_URL));
         oauth2.setReplyHandler(replyHandler);
     } else {
         oauth2.setReplyHandler(new CustomOAuthOobReplyHandler(this));

From 580fc3251810009dc38c590253648b8f5784ce76 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 16 Sep 2024 16:41:16 +0300
Subject: [PATCH 045/177] split the auth loading screen

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/ui/dialogs/MSALoginDialog.cpp |  14 +-
 launcher/ui/dialogs/MSALoginDialog.h   |   3 +-
 launcher/ui/dialogs/MSALoginDialog.ui  | 178 +++++++++++++++++--------
 3 files changed, 138 insertions(+), 57 deletions(-)

diff --git a/launcher/ui/dialogs/MSALoginDialog.cpp b/launcher/ui/dialogs/MSALoginDialog.cpp
index 799b5b332..4e38b4187 100644
--- a/launcher/ui/dialogs/MSALoginDialog.cpp
+++ b/launcher/ui/dialogs/MSALoginDialog.cpp
@@ -78,7 +78,7 @@ int MSALoginDialog::exec()
     connect(m_authflow_task.get(), &Task::failed, this, &MSALoginDialog::onTaskFailed);
     connect(m_authflow_task.get(), &Task::succeeded, this, &QDialog::accept);
     connect(m_authflow_task.get(), &Task::aborted, this, &MSALoginDialog::reject);
-    connect(m_authflow_task.get(), &Task::status, this, &MSALoginDialog::onTaskStatus);
+    connect(m_authflow_task.get(), &Task::status, this, &MSALoginDialog::onAuthFlowStatus);
     connect(m_authflow_task.get(), &AuthFlow::authorizeWithBrowser, this, &MSALoginDialog::authorizeWithBrowser);
     connect(m_authflow_task.get(), &AuthFlow::authorizeWithBrowserWithExtra, this, &MSALoginDialog::authorizeWithBrowserWithExtra);
     connect(ui->buttonBox->button(QDialogButtonBox::Cancel), &QPushButton::clicked, m_authflow_task.get(), &Task::abort);
@@ -87,7 +87,7 @@ int MSALoginDialog::exec()
     connect(m_devicecode_task.get(), &Task::failed, this, &MSALoginDialog::onTaskFailed);
     connect(m_devicecode_task.get(), &Task::succeeded, this, &QDialog::accept);
     connect(m_devicecode_task.get(), &Task::aborted, this, &MSALoginDialog::reject);
-    connect(m_devicecode_task.get(), &Task::status, this, &MSALoginDialog::onTaskStatus);
+    connect(m_devicecode_task.get(), &Task::status, this, &MSALoginDialog::onDeviceFlowStatus);
     connect(m_devicecode_task.get(), &AuthFlow::authorizeWithBrowser, this, &MSALoginDialog::authorizeWithBrowser);
     connect(m_devicecode_task.get(), &AuthFlow::authorizeWithBrowserWithExtra, this, &MSALoginDialog::authorizeWithBrowserWithExtra);
     connect(ui->buttonBox->button(QDialogButtonBox::Cancel), &QPushButton::clicked, m_devicecode_task.get(), &Task::abort);
@@ -132,7 +132,7 @@ void MSALoginDialog::onTaskFailed(QString reason)
 
 void MSALoginDialog::authorizeWithBrowser(const QUrl& url)
 {
-    ui->stackedWidget->setCurrentIndex(1);
+    ui->stackedWidget2->setCurrentIndex(1);
     ui->loginButton->setToolTip(QString("<div style='width: 200px;'>%1</div>").arg(url.toString()));
     m_url = url;
 }
@@ -152,12 +152,18 @@ void MSALoginDialog::authorizeWithBrowserWithExtra(QString url, QString code, in
     }
 }
 
-void MSALoginDialog::onTaskStatus(QString status)
+void MSALoginDialog::onDeviceFlowStatus(QString status)
 {
     ui->stackedWidget->setCurrentIndex(0);
     ui->status->setText(status);
 }
 
+void MSALoginDialog::onAuthFlowStatus(QString status)
+{
+    ui->stackedWidget2->setCurrentIndex(0);
+    ui->status2->setText(status);
+}
+
 // Public interface
 MinecraftAccountPtr MSALoginDialog::newAccount(QWidget* parent)
 {
diff --git a/launcher/ui/dialogs/MSALoginDialog.h b/launcher/ui/dialogs/MSALoginDialog.h
index 70f480ca9..375ccc57a 100644
--- a/launcher/ui/dialogs/MSALoginDialog.h
+++ b/launcher/ui/dialogs/MSALoginDialog.h
@@ -40,7 +40,8 @@ class MSALoginDialog : public QDialog {
 
    protected slots:
     void onTaskFailed(QString reason);
-    void onTaskStatus(QString status);
+    void onDeviceFlowStatus(QString status);
+    void onAuthFlowStatus(QString status);
     void authorizeWithBrowser(const QUrl& url);
     void authorizeWithBrowserWithExtra(QString url, QString code, int expiresIn);
 
diff --git a/launcher/ui/dialogs/MSALoginDialog.ui b/launcher/ui/dialogs/MSALoginDialog.ui
index c6821782f..69cd2e1ab 100644
--- a/launcher/ui/dialogs/MSALoginDialog.ui
+++ b/launcher/ui/dialogs/MSALoginDialog.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>440</width>
-    <height>430</height>
+    <height>447</height>
    </rect>
   </property>
   <property name="minimumSize">
@@ -21,12 +21,12 @@
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_6">
    <item>
-    <widget class="QStackedWidget" name="stackedWidget">
+    <widget class="QStackedWidget" name="stackedWidget2">
      <property name="currentIndex">
       <number>1</number>
      </property>
-     <widget class="QWidget" name="loadingPage">
-      <layout class="QVBoxLayout" name="verticalLayout_3">
+     <widget class="QWidget" name="loadingPage2">
+      <layout class="QVBoxLayout" name="verticalLayout_31">
        <item>
         <spacer name="verticalSpacer_4">
          <property name="orientation">
@@ -41,7 +41,7 @@
         </spacer>
        </item>
        <item>
-        <widget class="QLabel" name="loadingLabel">
+        <widget class="QLabel" name="loadingLabel2">
          <property name="font">
           <font>
            <pointsize>16</pointsize>
@@ -61,7 +61,7 @@
         </widget>
        </item>
        <item>
-        <widget class="QLabel" name="status">
+        <widget class="QLabel" name="status2">
          <property name="text">
           <string>Status</string>
          </property>
@@ -74,7 +74,7 @@
         </widget>
        </item>
        <item>
-        <spacer name="verticalSpacer_3">
+        <spacer name="verticalSpacer_31">
          <property name="orientation">
           <enum>Qt::Vertical</enum>
          </property>
@@ -88,8 +88,8 @@
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="mpPage">
-      <layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,0,0,0,0">
+     <widget class="QWidget" name="mpPage1">
+      <layout class="QVBoxLayout" name="verticalLayout_21" stretch="0">
        <item>
         <layout class="QHBoxLayout" name="horizontalLayout_7">
          <item>
@@ -136,51 +136,125 @@
          </item>
         </layout>
        </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_5">
+     <item>
+      <widget class="Line" name="line_3">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLabel" name="orLabel">
+       <property name="font">
+        <font>
+         <pointsize>16</pointsize>
+        </font>
+       </property>
+       <property name="text">
+        <string>Or</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="Line" name="line_4">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QStackedWidget" name="stackedWidget">
+     <property name="currentIndex">
+      <number>1</number>
+     </property>
+     <widget class="QWidget" name="loadingPage">
+      <layout class="QVBoxLayout" name="verticalLayout_3">
        <item>
-        <layout class="QHBoxLayout" name="horizontalLayout_5">
-         <item>
-          <widget class="Line" name="line_3">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="orientation">
-            <enum>Qt::Horizontal</enum>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QLabel" name="orLabel">
-           <property name="font">
-            <font>
-             <pointsize>16</pointsize>
-            </font>
-           </property>
-           <property name="text">
-            <string>Or</string>
-           </property>
-           <property name="alignment">
-            <set>Qt::AlignCenter</set>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="Line" name="line_4">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="orientation">
-            <enum>Qt::Horizontal</enum>
-           </property>
-          </widget>
-         </item>
-        </layout>
+        <spacer name="verticalSpacer_41">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
        </item>
+       <item>
+        <widget class="QLabel" name="loadingLabel">
+         <property name="font">
+          <font>
+           <pointsize>16</pointsize>
+           <weight>75</weight>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>Please wait...</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignCenter</set>
+         </property>
+         <property name="wordWrap">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLabel" name="status">
+         <property name="text">
+          <string>Status</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignCenter</set>
+         </property>
+         <property name="wordWrap">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="verticalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="mpPage">
+      <layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,0,0">
        <item>
         <layout class="QHBoxLayout" name="horizontalLayout">
          <item>

From 8d14060ad14e6463825210c2d28c266e1563e3e1 Mon Sep 17 00:00:00 2001
From: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Date: Mon, 16 Sep 2024 16:46:01 +0300
Subject: [PATCH 046/177] Apply suggestions from code review

Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
---
 launcher/java/download/SymlinkTask.cpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/launcher/java/download/SymlinkTask.cpp b/launcher/java/download/SymlinkTask.cpp
index 9841c5015..843c7caa9 100644
--- a/launcher/java/download/SymlinkTask.cpp
+++ b/launcher/java/download/SymlinkTask.cpp
@@ -43,7 +43,7 @@ QString findBinPath(QString root, QString pattern)
 
 void SymlinkTask::executeTask()
 {
-    setStatus(tr("Check Java bin"));
+    setStatus(tr("Checking for Java binary path"));
     const auto binPath = FS::PathCombine("bin", "java");
     const auto wantedPath = FS::PathCombine(m_path, binPath);
     if (QFileInfo::exists(wantedPath)) {
@@ -51,16 +51,16 @@ void SymlinkTask::executeTask()
         return;
     }
 
-    setStatus(tr("Search for Java bin"));
+    setStatus(tr("Searching for Java binary path"));
     const auto contentsPartialPath = FS::PathCombine("Contents", "Home", binPath);
     const auto relativePathToBin = findBinPath(m_path, contentsPartialPath);
     if (relativePathToBin.isEmpty()) {
-        emitFailed(tr("Failed to find bin java"));
+        emitFailed(tr("Failed to find Java binary path"));
         return;
     }
     const auto folderToLink = relativePathToBin.chopped(binPath.length());
 
-    setStatus(tr("Collect folders to symlink"));
+    setStatus(tr("Collecting folders to symlink"));
     auto entries = QDir(folderToLink).entryInfoList(QDir::NoDotAndDotDot | QDir::AllEntries);
     QList<FS::LinkPair> files;
     setProgress(0, entries.length());
@@ -68,7 +68,7 @@ void SymlinkTask::executeTask()
         files.append({ entry.absoluteFilePath(), FS::PathCombine(m_path, entry.fileName()) });
     }
 
-    setStatus(tr("Symlink Java"));
+    setStatus(tr("Symlinking Java binary path"));
     FS::create_link folderLink(files);
     connect(&folderLink, &FS::create_link::fileLinked, [this](QString src, QString dst) { setProgress(m_progress + 1, m_progressTotal); });
     if (!folderLink()) {

From 2e537e55de415d04d4eebda244c609e2c16ad894 Mon Sep 17 00:00:00 2001
From: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Date: Mon, 16 Sep 2024 17:47:58 +0300
Subject: [PATCH 047/177] Apply suggestions from code review

Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
---
 CMakeLists.txt                 | 2 +-
 buildconfig/BuildConfig.cpp.in | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ecca591cb..cc01672c1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -207,7 +207,7 @@ set(Launcher_BUG_TRACKER_URL "https://github.com/PrismLauncher/PrismLauncher/iss
 
 # Translations Platform URL
 set(Launcher_TRANSLATIONS_URL "https://hosted.weblate.org/projects/prismlauncher/launcher/" CACHE STRING "URL for the translations platform.")
-set(Launcher_TRANSLATIONS_BASE_URL "https://i18n.prismlauncher.org/" CACHE STRING "URL for the translations files.")
+set(Launcher_TRANSLATION_FILES_URL "https://i18n.prismlauncher.org/" CACHE STRING "URL for the translations files.")
 
 # Matrix Space
 set(Launcher_MATRIX_URL "https://prismlauncher.org/matrix" CACHE STRING "URL to the Matrix Space")
diff --git a/buildconfig/BuildConfig.cpp.in b/buildconfig/BuildConfig.cpp.in
index a758122d9..6585ebe31 100644
--- a/buildconfig/BuildConfig.cpp.in
+++ b/buildconfig/BuildConfig.cpp.in
@@ -128,7 +128,7 @@ Config::Config()
 
     BUG_TRACKER_URL = "@Launcher_BUG_TRACKER_URL@";
     TRANSLATIONS_URL = "@Launcher_TRANSLATIONS_URL@";
-    TRANSLATIONS_BASE_URL = "@Launcher_TRANSLATIONS_BASE_URL@";
+    TRANSLATION_FILES_URL = "@Launcher_TRANSLATION_FILES_URL@";
     MATRIX_URL = "@Launcher_MATRIX_URL@";
     DISCORD_URL = "@Launcher_DISCORD_URL@";
     SUBREDDIT_URL = "@Launcher_SUBREDDIT_URL@";

From e53a5b3eca40788c4acc6e2e806e0fd77ca92638 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 16 Sep 2024 17:51:35 +0300
Subject: [PATCH 048/177] replace TRANSLATIONS_BASE_URL with
 TRANSLATION_FILES_URL

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 buildconfig/BuildConfig.h                   | 2 +-
 launcher/translations/TranslationsModel.cpp | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/buildconfig/BuildConfig.h b/buildconfig/BuildConfig.h
index 0626c1d50..ae705d098 100644
--- a/buildconfig/BuildConfig.h
+++ b/buildconfig/BuildConfig.h
@@ -171,7 +171,7 @@ class Config {
     QString LIBRARY_BASE = "https://libraries.minecraft.net/";
     QString IMGUR_BASE_URL = "https://api.imgur.com/3/";
     QString FMLLIBS_BASE_URL;
-    QString TRANSLATIONS_BASE_URL;
+    QString TRANSLATION_FILES_URL;
 
     QString MODPACKSCH_API_BASE_URL = "https://api.modpacks.ch/";
 
diff --git a/launcher/translations/TranslationsModel.cpp b/launcher/translations/TranslationsModel.cpp
index 39719b125..e8dc01873 100644
--- a/launcher/translations/TranslationsModel.cpp
+++ b/launcher/translations/TranslationsModel.cpp
@@ -550,7 +550,7 @@ void TranslationsModel::downloadIndex()
     d->m_index_job.reset(new NetJob("Translations Index", APPLICATION->network()));
     MetaEntryPtr entry = APPLICATION->metacache()->resolveEntry("translations", "index_v2.json");
     entry->setStale(true);
-    auto task = Net::Download::makeCached(QUrl(BuildConfig.TRANSLATIONS_BASE_URL + "index_v2.json"), entry);
+    auto task = Net::Download::makeCached(QUrl(BuildConfig.TRANSLATION_FILES_URL + "index_v2.json"), entry);
     d->m_index_task = task.get();
     d->m_index_job->addNetAction(task);
     d->m_index_job->setAskRetry(false);
@@ -591,7 +591,7 @@ void TranslationsModel::downloadTranslation(QString key)
     MetaEntryPtr entry = APPLICATION->metacache()->resolveEntry("translations", "mmc_" + key + ".qm");
     entry->setStale(true);
 
-    auto dl = Net::Download::makeCached(QUrl(BuildConfig.TRANSLATIONS_BASE_URL + lang->file_name), entry);
+    auto dl = Net::Download::makeCached(QUrl(BuildConfig.TRANSLATION_FILES_URL + lang->file_name), entry);
     dl->addValidator(new Net::ChecksumValidator(QCryptographicHash::Sha1, lang->file_sha1));
     dl->setProgress(dl->getProgress(), lang->file_size);
 

From 914ae6ead62f7270894b07bd7f29a541a12d7164 Mon Sep 17 00:00:00 2001
From: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Date: Mon, 16 Sep 2024 20:00:38 +0300
Subject: [PATCH 049/177] Use macOS 14 in CI (#2826)

* chore: fix mac CI build

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>

* try what the error says

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>

* set -DCMAKE_OSX_ARCHITECTURES=x86_64

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>

---------

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 .github/workflows/build.yml | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 25e1c2aab..ccba62541 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -93,7 +93,7 @@ jobs:
             qt_version: "6.7.2"
             qt_modules: "qt5compat qtimageformats qtnetworkauth"
 
-          - os: macos-12
+          - os: macos-14
             name: macOS
             macosx_deployment_target: 11.0
             qt_ver: 6
@@ -102,7 +102,7 @@ jobs:
             qt_version: "6.7.2"
             qt_modules: "qt5compat qtimageformats qtnetworkauth"
 
-          - os: macos-12
+          - os: macos-14
             name: macOS-Legacy
             macosx_deployment_target: 10.13
             qt_ver: 5
@@ -259,6 +259,12 @@ jobs:
         run: |
           echo "QT_HOST_PATH=${{ github.workspace }}\HostQt\Qt\${{ matrix.qt_version }}\msvc2019_64" >> $env:GITHUB_ENV
 
+      - name: Setup java (macOS)
+        if: runner.os == 'macOS'
+        uses: actions/setup-java@v4
+        with:
+          distribution: "temurin"
+          java-version: "17"
       ##
       # CONFIGURE
       ##
@@ -271,7 +277,7 @@ jobs:
       - name: Configure CMake (macOS-Legacy)
         if: runner.os == 'macOS' && matrix.qt_ver == 5
         run: |
-          cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_ENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DMACOSX_SPARKLE_UPDATE_PUBLIC_KEY="" -DMACOSX_SPARKLE_UPDATE_FEED_URL="" -G Ninja
+          cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_ENABLE_JAVA_DOWNLOADER=ON -DLauncher_BUILD_PLATFORM=official -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DMACOSX_SPARKLE_UPDATE_PUBLIC_KEY="" -DMACOSX_SPARKLE_UPDATE_FEED_URL="" -DCMAKE_OSX_ARCHITECTURES="x86_64" -G Ninja
 
       - name: Configure CMake (Windows MinGW-w64)
         if: runner.os == 'Windows' && matrix.msystem != ''

From 77463c6d33e8cafc66ac2b3fab59e167941af819 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Wed, 18 Sep 2024 21:17:15 +0300
Subject: [PATCH 050/177] display minecraft log before instance run

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/ui/pages/instance/LogPage.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/ui/pages/instance/LogPage.cpp b/launcher/ui/pages/instance/LogPage.cpp
index 0c22d1de6..6a4888f9c 100644
--- a/launcher/ui/pages/instance/LogPage.cpp
+++ b/launcher/ui/pages/instance/LogPage.cpp
@@ -234,7 +234,7 @@ bool LogPage::apply()
 
 bool LogPage::shouldDisplay() const
 {
-    return m_instance->isRunning() || m_proxy->rowCount() > 0;
+    return true;
 }
 
 void LogPage::on_btnPaste_clicked()

From 1243328876c7b655e15ab7211cc9162c32e16f30 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 20 Sep 2024 16:53:36 +0300
Subject: [PATCH 051/177] fix folder duplication for modrinth

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
index 7a3f71c3b..ba97c441f 100644
--- a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
+++ b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
@@ -302,7 +302,7 @@ bool ModrinthCreationTask::createInstance()
     loop.exec();
 
     QEventLoop ensureMetaLoop;
-    QDir folder = FS::PathCombine(m_stagingPath, "minecraft", "mods", ".index");
+    QDir folder = FS::PathCombine(instance.modsRoot(), ".index");
     auto ensureMetadataTask = makeShared<EnsureMetadataTask>(mods, folder, ModPlatform::ResourceProvider::MODRINTH);
     connect(ensureMetadataTask.get(), &Task::succeeded, this, [&]() { ended_well = true; });
     connect(ensureMetadataTask.get(), &Task::finished, &ensureMetaLoop, &QEventLoop::quit);

From 3e1cf6b2a7a13a85d412ee5b7f06032f17fa4635 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 20 Sep 2024 16:58:22 +0300
Subject: [PATCH 052/177] fix updater typo

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/updater/prismupdater/PrismUpdater.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/launcher/updater/prismupdater/PrismUpdater.cpp b/launcher/updater/prismupdater/PrismUpdater.cpp
index 6b9754864..8bf8cb473 100644
--- a/launcher/updater/prismupdater/PrismUpdater.cpp
+++ b/launcher/updater/prismupdater/PrismUpdater.cpp
@@ -1210,7 +1210,7 @@ std::optional<QDir> PrismUpdaterApp::unpackArchive(QFileInfo archive)
         QProcess proc = QProcess();
         proc.start(cmd, args);
         if (!proc.waitForStarted(5000)) {  // wait 5 seconds to start
-            auto msg = tr("Failed to launcher child process \"%1 %2\".").arg(cmd).arg(args.join(" "));
+            auto msg = tr("Failed to launch child process \"%1 %2\".").arg(cmd).arg(args.join(" "));
             logUpdate(msg);
             showFatalErrorMessage(tr("Failed extract archive"), msg);
             return std::nullopt;
@@ -1241,7 +1241,7 @@ bool PrismUpdaterApp::loadPrismVersionFromExe(const QString& exe_path)
     proc.setReadChannel(QProcess::StandardOutput);
     proc.start(exe_path, { "--version" });
     if (!proc.waitForStarted(5000)) {
-        showFatalErrorMessage(tr("Failed to Check Version"), tr("Failed to launcher child launcher process to read version."));
+        showFatalErrorMessage(tr("Failed to Check Version"), tr("Failed to launch child process to read version."));
         return false;
     }  // wait 5 seconds to start
     if (!proc.waitForFinished(5000)) {

From 9567d763c1b0ed99370c1097abdc2db0a57d9fea Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sat, 21 Sep 2024 22:17:44 +0300
Subject: [PATCH 053/177] fix java archive typo

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/java/download/ArchiveDownloadTask.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/java/download/ArchiveDownloadTask.cpp b/launcher/java/download/ArchiveDownloadTask.cpp
index ba1c96faf..6d6ab0cef 100644
--- a/launcher/java/download/ArchiveDownloadTask.cpp
+++ b/launcher/java/download/ArchiveDownloadTask.cpp
@@ -95,7 +95,7 @@ void ArchiveDownloadTask::extractJava(QString input)
         }
         auto files = zip->getFileNameList();
         if (files.isEmpty()) {
-            emitFailed(tr("No files were found in the supplied zip file,"));
+            emitFailed(tr("No files were found in the supplied zip file."));
             return;
         }
         m_task = makeShared<MMCZip::ExtractZipTask>(zip, m_final_path, files[0]);

From 1b2e9b95e2dd62f844c5d019d9b0b503084dd382 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Wed, 25 Sep 2024 19:37:25 +0300
Subject: [PATCH 054/177] add prefix to non-standard packwiz fields

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/modplatform/packwiz/Packwiz.cpp | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/launcher/modplatform/packwiz/Packwiz.cpp b/launcher/modplatform/packwiz/Packwiz.cpp
index 77a0935f3..325b0a6e4 100644
--- a/launcher/modplatform/packwiz/Packwiz.cpp
+++ b/launcher/modplatform/packwiz/Packwiz.cpp
@@ -208,9 +208,9 @@ void V1::updateModIndex(QDir& index_dir, Mod& mod)
         auto tbl = toml::table{ { "name", mod.name.toStdString() },
                                 { "filename", mod.filename.toStdString() },
                                 { "side", sideToString(mod.side).toStdString() },
-                                { "loaders", loaders },
-                                { "mcVersions", mcVersions },
-                                { "releaseType", mod.releaseType.toString().toStdString() },
+                                { "x-prismlauncher-loaders", loaders },
+                                { "x-prismlauncher-mc-versions", mcVersions },
+                                { "x-prismlauncher-release-type", mod.releaseType.toString().toStdString() },
                                 { "download",
                                   toml::table{
                                       { "mode", mod.mode.toStdString() },
@@ -295,15 +295,15 @@ auto V1::getIndexForMod(QDir& index_dir, QString slug) -> Mod
         mod.name = stringEntry(table, "name");
         mod.filename = stringEntry(table, "filename");
         mod.side = stringToSide(stringEntry(table, "side"));
-        mod.releaseType = ModPlatform::IndexedVersionType(stringEntry(table, "releaseType"));
-        if (auto loaders = table["loaders"]; loaders && loaders.is_array()) {
+        mod.releaseType = ModPlatform::IndexedVersionType(stringEntry(table, "x-prismlauncher-release-type"));
+        if (auto loaders = table["x-prismlauncher-loaders"]; loaders && loaders.is_array()) {
             for (auto&& loader : *loaders.as_array()) {
                 if (loader.is_string()) {
                     mod.loaders |= ModPlatform::getModLoaderFromString(QString::fromStdString(loader.as_string()->value_or("")));
                 }
             }
         }
-        if (auto versions = table["mcVersions"]; versions && versions.is_array()) {
+        if (auto versions = table["x-prismlauncher-mc-versions"]; versions && versions.is_array()) {
             for (auto&& version : *versions.as_array()) {
                 if (version.is_string()) {
                     auto ver = QString::fromStdString(version.as_string()->value_or(""));

From 6475dc5786600ee19d512f9b11f662a240922fa1 Mon Sep 17 00:00:00 2001
From: Cart <81428538+cartrigger@users.noreply.github.com>
Date: Thu, 26 Sep 2024 01:58:21 -0400
Subject: [PATCH 055/177] Lots of J's for Java needed to be uppercased

---
 launcher/VersionProxyModel.cpp                 | 4 ++--
 launcher/java/download/ArchiveDownloadTask.cpp | 2 +-
 launcher/ui/MainWindow.ui                      | 2 +-
 launcher/ui/java/InstallJavaDialog.cpp         | 8 ++++----
 launcher/ui/pages/global/JavaPage.cpp          | 4 ++--
 launcher/ui/setupwizard/AutoJavaWizardPage.ui  | 2 +-
 launcher/ui/setupwizard/JavaWizardPage.cpp     | 2 +-
 7 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/launcher/VersionProxyModel.cpp b/launcher/VersionProxyModel.cpp
index 552900d35..12a82f73d 100644
--- a/launcher/VersionProxyModel.cpp
+++ b/launcher/VersionProxyModel.cpp
@@ -140,9 +140,9 @@ QVariant VersionProxyModel::headerData(int section, Qt::Orientation orientation,
             case Path:
                 return tr("Filesystem path to this version");
             case JavaName:
-                return tr("The alternative name of the java version");
+                return tr("The alternative name of the Java version");
             case JavaMajor:
-                return tr("The java major version");
+                return tr("The Java major version");
             case Time:
                 return tr("Release date of this version");
         }
diff --git a/launcher/java/download/ArchiveDownloadTask.cpp b/launcher/java/download/ArchiveDownloadTask.cpp
index 6d6ab0cef..bb7cc568d 100644
--- a/launcher/java/download/ArchiveDownloadTask.cpp
+++ b/launcher/java/download/ArchiveDownloadTask.cpp
@@ -65,7 +65,7 @@ void ArchiveDownloadTask::executeTask()
 
 void ArchiveDownloadTask::extractJava(QString input)
 {
-    setStatus(tr("Extracting java"));
+    setStatus(tr("Extracting Java"));
     if (input.endsWith("tar")) {
         setStatus(tr("Extracting Java (Progress is not reported for tar archives)"));
         QFile in(input);
diff --git a/launcher/ui/MainWindow.ui b/launcher/ui/MainWindow.ui
index 89e536b01..f20c34206 100644
--- a/launcher/ui/MainWindow.ui
+++ b/launcher/ui/MainWindow.ui
@@ -798,7 +798,7 @@
     <string>Java</string>
    </property>
    <property name="toolTip">
-    <string>Open the java folder in a file browser. Only available if the built-in Java downloader is used.</string>
+    <string>Open the Java folder in a file browser. Only available if the built-in Java downloader is used.</string>
    </property>
   </action>
  </widget>
diff --git a/launcher/ui/java/InstallJavaDialog.cpp b/launcher/ui/java/InstallJavaDialog.cpp
index f01edc5e5..0ece3220b 100644
--- a/launcher/ui/java/InstallJavaDialog.cpp
+++ b/launcher/ui/java/InstallJavaDialog.cpp
@@ -57,13 +57,13 @@ class InstallJavaPage : public QWidget, public BasePage {
 
         majorVersionSelect = new VersionSelectWidget(this);
         majorVersionSelect->selectCurrent();
-        majorVersionSelect->setEmptyString(tr("No java versions are currently available in the meta."));
-        majorVersionSelect->setEmptyErrorString(tr("Couldn't load or download the java version lists!"));
+        majorVersionSelect->setEmptyString(tr("No Java versions are currently available in the meta."));
+        majorVersionSelect->setEmptyErrorString(tr("Couldn't load or download the Java version lists!"));
         horizontalLayout->addWidget(majorVersionSelect, 1);
 
         javaVersionSelect = new VersionSelectWidget(this);
-        javaVersionSelect->setEmptyString(tr("No java versions are currently available for your OS."));
-        javaVersionSelect->setEmptyErrorString(tr("Couldn't load or download the java version lists!"));
+        javaVersionSelect->setEmptyString(tr("No Java versions are currently available for your OS."));
+        javaVersionSelect->setEmptyErrorString(tr("Couldn't load or download the Java version lists!"));
         horizontalLayout->addWidget(javaVersionSelect, 4);
         connect(majorVersionSelect, &VersionSelectWidget::selectedVersionChanged, this, &InstallJavaPage::setSelectedVersion);
         connect(majorVersionSelect, &VersionSelectWidget::selectedVersionChanged, this, &InstallJavaPage::selectionChanged);
diff --git a/launcher/ui/pages/global/JavaPage.cpp b/launcher/ui/pages/global/JavaPage.cpp
index 6699b00c0..0ae296815 100644
--- a/launcher/ui/pages/global/JavaPage.cpp
+++ b/launcher/ui/pages/global/JavaPage.cpp
@@ -67,8 +67,8 @@ JavaPage::JavaPage(QWidget* parent) : QWidget(parent), ui(new Ui::JavaPage)
         ui->managedJavaList->initialize(new JavaInstallList(this, true));
         ui->managedJavaList->setResizeOn(2);
         ui->managedJavaList->selectCurrent();
-        ui->managedJavaList->setEmptyString(tr("No managed java versions are installed"));
-        ui->managedJavaList->setEmptyErrorString(tr("Couldn't load the managed java list!"));
+        ui->managedJavaList->setEmptyString(tr("No managed Java versions are installed"));
+        ui->managedJavaList->setEmptyErrorString(tr("Couldn't load the managed Java list!"));
         connect(ui->autodetectJavaCheckBox, &QCheckBox::stateChanged, this, [this] {
             ui->autodownloadCheckBox->setEnabled(ui->autodetectJavaCheckBox->isChecked());
             if (!ui->autodetectJavaCheckBox->isChecked())
diff --git a/launcher/ui/setupwizard/AutoJavaWizardPage.ui b/launcher/ui/setupwizard/AutoJavaWizardPage.ui
index bd72cf695..a862524b0 100644
--- a/launcher/ui/setupwizard/AutoJavaWizardPage.ui
+++ b/launcher/ui/setupwizard/AutoJavaWizardPage.ui
@@ -30,7 +30,7 @@
    <item>
     <widget class="QLabel" name="label_2">
      <property name="text">
-      <string>We've added a feature to automatically download the correct Java version for each version of Minecraft(this can be changed in the Java Settings). Would you like to enable or disable this feature?</string>
+      <string>We've added a feature to automatically download the correct Java version for each version of Minecraft (this can be changed in the Java Settings). Would you like to enable or disable this feature?</string>
      </property>
      <property name="wordWrap">
       <bool>true</bool>
diff --git a/launcher/ui/setupwizard/JavaWizardPage.cpp b/launcher/ui/setupwizard/JavaWizardPage.cpp
index 47718d6da..8caae173c 100644
--- a/launcher/ui/setupwizard/JavaWizardPage.cpp
+++ b/launcher/ui/setupwizard/JavaWizardPage.cpp
@@ -83,6 +83,6 @@ void JavaWizardPage::retranslate()
 {
     setTitle(tr("Java"));
     setSubTitle(
-        tr("Please select how much memory to allocate to instances and if Prism Launcher should manage java automatically or manually."));
+        tr("Please select how much memory to allocate to instances and if Prism Launcher should manage Java automatically or manually."));
     m_java_widget->retranslate();
 }

From 2dc6f7504b4cfb64b59b3eb905f1b1ac387b8c83 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Fri, 27 Sep 2024 00:18:35 -0700
Subject: [PATCH 056/177] add vc_redist as a NSIS install section

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 program_info/CMakeLists.txt     | 15 +++++++++++++++
 program_info/win_install.nsi.in |  2 ++
 2 files changed, 17 insertions(+)

diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt
index 91b213274..90d038f4d 100644
--- a/program_info/CMakeLists.txt
+++ b/program_info/CMakeLists.txt
@@ -41,6 +41,21 @@ configure_file(org.prismlauncher.PrismLauncher.metainfo.xml.in org.prismlauncher
 configure_file(prismlauncher.rc.in prismlauncher.rc @ONLY)
 configure_file(prismlauncher.manifest.in prismlauncher.manifest @ONLY)
 configure_file(prismlauncher.ico prismlauncher.ico COPYONLY)
+
+if(MSVC)
+    set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION vc_redist)
+    include(InstallRequiredSystemLibraries)
+    file(TO_NATIVE_PATH ${MSVC_REDIST_DIR} Native_MSVC_REDIST_DIR)
+    set(Launcher_MSVC_Redist_NSIS_Section "\
+Section \"Visual Studio Runtime\"
+  SetOutPath \"$INSTDIR\\vc_redist\"
+  File \"${Native_MSVC_REDIST_DIR}\\vc_redist.x64.exe\"
+  ExecWait \"$INSTDIR\\vc_redist\\vc_redist.x64.exe /install /passive\"
+  ; Delete \"$INSTDIR\\vc_redist\\vc_redist.x64.exe\"
+SectionEnd\
+")
+endif()
+
 configure_file(win_install.nsi.in win_install.nsi @ONLY)
 
 if(SCDOC_FOUND)
diff --git a/program_info/win_install.nsi.in b/program_info/win_install.nsi.in
index cc56b9bd5..c75e066bd 100644
--- a/program_info/win_install.nsi.in
+++ b/program_info/win_install.nsi.in
@@ -396,6 +396,8 @@ Section "@Launcher_DisplayName@"
 
 SectionEnd
 
+@Launcher_MSVC_Redist_NSIS_Section@
+
 Section "Start Menu Shortcut" SM_SHORTCUTS
 
   CreateShortcut "$SMPROGRAMS\@Launcher_DisplayName@.lnk" "$INSTDIR\@Launcher_APP_BINARY_NAME@.exe" "" "$INSTDIR\@Launcher_APP_BINARY_NAME@.exe" 0

From 37d3b2a4f631d2a8ce3570a9c377576d4f5a3aa1 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Fri, 27 Sep 2024 00:49:00 -0700
Subject: [PATCH 057/177] prevent the unauthorised reditribution of MSVC CRT
 files

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 program_info/CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt
index 90d038f4d..c9a1d597d 100644
--- a/program_info/CMakeLists.txt
+++ b/program_info/CMakeLists.txt
@@ -43,7 +43,7 @@ configure_file(prismlauncher.manifest.in prismlauncher.manifest @ONLY)
 configure_file(prismlauncher.ico prismlauncher.ico COPYONLY)
 
 if(MSVC)
-    set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION vc_redist)
+    set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP true)
     include(InstallRequiredSystemLibraries)
     file(TO_NATIVE_PATH ${MSVC_REDIST_DIR} Native_MSVC_REDIST_DIR)
     set(Launcher_MSVC_Redist_NSIS_Section "\

From c5daca3b013bd9cc8b17283d2a63e873480c2c16 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Fri, 27 Sep 2024 00:57:28 -0700
Subject: [PATCH 058/177] include vc_redist in portable build

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 CMakeLists.txt | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3d70fe79b..49d3f731f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -372,6 +372,11 @@ endif()
 if(NOT (UNIX AND APPLE))
     # Install "portable.txt" if selected component is "portable"
     install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/${Launcher_Portable_File}" DESTINATION "." COMPONENT portable EXCLUDE_FROM_ALL)
+    if (MSVC)
+        set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP true)
+        include(InstallRequiredSystemLibraries)
+        install(FILES "${MSVC_REDIST_DIR}/vc_redist.x64.exe" DESTINATION "vc_redist/." COMPONENT portable EXCLUDE_FROM_ALL )
+    endif()
 endif()
 
 if(UNIX AND APPLE)

From 8fa4467a362a55d10a3491a3b1d2301d3510383a Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Fri, 27 Sep 2024 13:29:00 -0700
Subject: [PATCH 059/177] use `/norestart` with redist install

Co-authored-by: seth <getchoo@tuta.io>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 program_info/CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt
index c9a1d597d..0ce559406 100644
--- a/program_info/CMakeLists.txt
+++ b/program_info/CMakeLists.txt
@@ -50,7 +50,7 @@ if(MSVC)
 Section \"Visual Studio Runtime\"
   SetOutPath \"$INSTDIR\\vc_redist\"
   File \"${Native_MSVC_REDIST_DIR}\\vc_redist.x64.exe\"
-  ExecWait \"$INSTDIR\\vc_redist\\vc_redist.x64.exe /install /passive\"
+  ExecWait \"$INSTDIR\\vc_redist\\vc_redist.x64.exe /install /passive /norestart\"
   ; Delete \"$INSTDIR\\vc_redist\\vc_redist.x64.exe\"
 SectionEnd\
 ")

From b9c19fd3f73877f80fb2363617d893f91e5037e2 Mon Sep 17 00:00:00 2001
From: Mason Rocha <mrocha@turretllc.us>
Date: Fri, 27 Sep 2024 16:42:59 -0500
Subject: [PATCH 060/177] fix: don't annoy when java tmpdir jvmarg is set &
 /tmp is noexec

Signed-off-by: Mason Rocha <mrocha@turretllc.us>

Got annoyed, didn't want to see it anymore.

Java tmpdir noexec warning modified to include information about
possible remedies available
---
 launcher/Application.cpp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 6379678c9..4a66271a3 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -1025,7 +1025,8 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
     }
 
     // notify user if /tmp is mounted with `noexec` (#1693)
-    {
+    QString jvmArgs = m_settings->get("JvmArgs").toString();
+    if(jvmArgs.indexOf("java.io.tmpdir") == -1) { /* java.io.tmpdir is a valid workaround, so don't annoy */
         bool is_tmp_noexec = false;
 
 #if defined(Q_OS_LINUX)
@@ -1045,7 +1046,11 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
         if (is_tmp_noexec) {
             auto infoMsg =
                 tr("Your /tmp directory is currently mounted with the 'noexec' flag enabled.\n"
-                   "Some versions of Minecraft may not launch.\n");
+                   "Some versions of Minecraft may not launch.\n"
+                   "\n"
+                   "You may solve this issue by remounting /tmp as 'exec' or setting "
+                   "the java.io.tmpdir JVM argument to a writeable directory in a "
+                   "filesystem where the 'exec' flag is set (e.g., /home/user/.local/tmp)\n");
             auto msgBox = new QMessageBox(QMessageBox::Information, tr("Incompatible system configuration"), infoMsg, QMessageBox::Ok);
             msgBox->setDefaultButton(QMessageBox::Ok);
             msgBox->setAttribute(Qt::WA_DeleteOnClose);

From 00f4221a836bc747ec8d220a52e7b96ed24f871a Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Fri, 27 Sep 2024 19:16:50 -0700
Subject: [PATCH 061/177] reorg MSVC
 set(CMAKE_INSTALL_SYSTEM_RUNTIMES_LIBS_SKIP true) call

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 CMakeLists.txt              | 6 ++++--
 program_info/CMakeLists.txt | 1 -
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 49d3f731f..cea61ddbf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -358,6 +358,10 @@ include(ECMQtDeclareLoggingCategory)
 ####################################### Program Info #######################################
 
 set(Launcher_APP_BINARY_NAME "prismlauncher" CACHE STRING "Name of the Launcher binary")
+if(MSVC)
+    set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP true)
+    include(InstallRequiredSystemLibraries)
+endif()
 add_subdirectory(program_info)
 
 ####################################### Install layout #######################################
@@ -373,8 +377,6 @@ if(NOT (UNIX AND APPLE))
     # Install "portable.txt" if selected component is "portable"
     install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/${Launcher_Portable_File}" DESTINATION "." COMPONENT portable EXCLUDE_FROM_ALL)
     if (MSVC)
-        set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP true)
-        include(InstallRequiredSystemLibraries)
         install(FILES "${MSVC_REDIST_DIR}/vc_redist.x64.exe" DESTINATION "vc_redist/." COMPONENT portable EXCLUDE_FROM_ALL )
     endif()
 endif()
diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt
index 0ce559406..8a7d4868f 100644
--- a/program_info/CMakeLists.txt
+++ b/program_info/CMakeLists.txt
@@ -43,7 +43,6 @@ configure_file(prismlauncher.manifest.in prismlauncher.manifest @ONLY)
 configure_file(prismlauncher.ico prismlauncher.ico COPYONLY)
 
 if(MSVC)
-    set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP true)
     include(InstallRequiredSystemLibraries)
     file(TO_NATIVE_PATH ${MSVC_REDIST_DIR} Native_MSVC_REDIST_DIR)
     set(Launcher_MSVC_Redist_NSIS_Section "\

From a897b012d988861a47df887f0e8d2cd55d7bd584 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Edgars=20C=C4=ABrulis?= <edgarsciruliss@gmail.com>
Date: Sat, 28 Sep 2024 12:11:25 +0300
Subject: [PATCH 062/177] chore: update Qt to 6.7.3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Only bug fixes no new / breaking changes

Signed-off-by: Edgars CÄ«rulis <edgarsciruliss@gmail.com>
---
 .github/workflows/build.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ccba62541..a8ee6e6cf 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -79,7 +79,7 @@ jobs:
             qt_ver: 6
             qt_host: windows
             qt_arch: ""
-            qt_version: "6.7.2"
+            qt_version: "6.7.3"
             qt_modules: "qt5compat qtimageformats qtnetworkauth"
 
           - os: windows-2022
@@ -90,7 +90,7 @@ jobs:
             qt_ver: 6
             qt_host: windows
             qt_arch: "win64_msvc2019_arm64"
-            qt_version: "6.7.2"
+            qt_version: "6.7.3"
             qt_modules: "qt5compat qtimageformats qtnetworkauth"
 
           - os: macos-14
@@ -99,7 +99,7 @@ jobs:
             qt_ver: 6
             qt_host: mac
             qt_arch: ""
-            qt_version: "6.7.2"
+            qt_version: "6.7.3"
             qt_modules: "qt5compat qtimageformats qtnetworkauth"
 
           - os: macos-14

From ed15a28eb3af1487cff7b81ed06b91afd35de4a0 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Sat, 28 Sep 2024 14:58:13 -0700
Subject: [PATCH 063/177] fix : baking the redist into the installer breaks
 GPL, download at runtime instead

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 .github/workflows/build.yml     |  3 +++
 CMakeLists.txt                  |  7 -------
 program_info/CMakeLists.txt     | 25 +++++++++++++++----------
 program_info/win_install.nsi.in | 23 +++++++++++++++++++++++
 4 files changed, 41 insertions(+), 17 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ccba62541..7345ffe90 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -471,6 +471,9 @@ jobs:
       - name: Package (Windows, installer)
         if: runner.os == 'Windows'
         run: |
+          New-Item -Name NSISPlugins -ItemType Directory
+          Invoke-Webrequest https://github.com/negrutiu/nsis-nscurl/releases/latest/download/NScurl.zip -OutFile NSISPlugins\NScurl.zip
+          Expand-Archive -Path NSISPlugins\NScurl.zip -DestinationPath NSISPlugins\NSIScurl
           cd ${{ env.INSTALL_DIR }}
           makensis -NOCD "${{ github.workspace }}/${{ env.BUILD_DIR }}/program_info/win_install.nsi"
 
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cea61ddbf..3d70fe79b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -358,10 +358,6 @@ include(ECMQtDeclareLoggingCategory)
 ####################################### Program Info #######################################
 
 set(Launcher_APP_BINARY_NAME "prismlauncher" CACHE STRING "Name of the Launcher binary")
-if(MSVC)
-    set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP true)
-    include(InstallRequiredSystemLibraries)
-endif()
 add_subdirectory(program_info)
 
 ####################################### Install layout #######################################
@@ -376,9 +372,6 @@ endif()
 if(NOT (UNIX AND APPLE))
     # Install "portable.txt" if selected component is "portable"
     install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/${Launcher_Portable_File}" DESTINATION "." COMPONENT portable EXCLUDE_FROM_ALL)
-    if (MSVC)
-        install(FILES "${MSVC_REDIST_DIR}/vc_redist.x64.exe" DESTINATION "vc_redist/." COMPONENT portable EXCLUDE_FROM_ALL )
-    endif()
 endif()
 
 if(UNIX AND APPLE)
diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt
index 8a7d4868f..30a435866 100644
--- a/program_info/CMakeLists.txt
+++ b/program_info/CMakeLists.txt
@@ -43,16 +43,21 @@ configure_file(prismlauncher.manifest.in prismlauncher.manifest @ONLY)
 configure_file(prismlauncher.ico prismlauncher.ico COPYONLY)
 
 if(MSVC)
-    include(InstallRequiredSystemLibraries)
-    file(TO_NATIVE_PATH ${MSVC_REDIST_DIR} Native_MSVC_REDIST_DIR)
-    set(Launcher_MSVC_Redist_NSIS_Section "\
-Section \"Visual Studio Runtime\"
-  SetOutPath \"$INSTDIR\\vc_redist\"
-  File \"${Native_MSVC_REDIST_DIR}\\vc_redist.x64.exe\"
-  ExecWait \"$INSTDIR\\vc_redist\\vc_redist.x64.exe /install /passive /norestart\"
-  ; Delete \"$INSTDIR\\vc_redist\\vc_redist.x64.exe\"
-SectionEnd\
-")
+    set(Launcher_MSVC_Redist_NSIS_Section [=[
+!ifdef haveNSIScurl
+Section "Visual Studio Runtime"
+    DetailPrint 'Downloading Microsoft Visual C++ Redistributable...'
+    NScurl::http GET "https://aka.ms/vs/17/release/vc_redist.x64.exe" "$INSTDIR\vc_redist\vc_redist.x64.exe" /INSIST /CANCEL /Zone.Identifier /END
+    Pop $0
+    ${If} $0 == "OK"
+        DetailPrint "Download successful"
+        ExecWait "$INSTDIR\vc_redist\vc_redist.x64.exe /install /passive /norestart\"
+    ${Else}
+        DetailPrint "Download failed with error $0"
+    ${EndIf}
+SectionEnd
+!endif
+]=])
 endif()
 
 configure_file(win_install.nsi.in win_install.nsi @ONLY)
diff --git a/program_info/win_install.nsi.in b/program_info/win_install.nsi.in
index c75e066bd..a5c38599d 100644
--- a/program_info/win_install.nsi.in
+++ b/program_info/win_install.nsi.in
@@ -112,6 +112,16 @@ VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "@Launcher_Copyright@"
 VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "@Launcher_VERSION_NAME4@"
 VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "@Launcher_VERSION_NAME4@"
 
+;--------------------------------
+; Conditional comp with file exist
+
+!macro CompileTimeIfFileExist path define
+!tempfile tmpinc
+!system 'IF EXIST "${path}" echo !define ${define} > "${tmpinc}"'
+!include "${tmpinc}"
+!delfile "${tmpinc}"
+!undef tmpinc
+!macroend
 
 ;--------------------------------
 ; Shell Associate Macros
@@ -336,6 +346,19 @@ Section "" UninstallPrevious
 
 SectionEnd
 
+;------------------------------------
+; include nice plugins
+
+; NSIScurl - curl in NSIS
+; used for MSVS redist download
+; extract to ../NSISPlugins/NSIScurl
+; https://github.com/negrutiu/nsis-nscurl/releases/latest/download/NScurl.zip
+!insertmacro CompileTimeIfFileExist "../NSISPlugins/NSIScurl/Plugins/" haveNSIScurl
+!ifdef haveNSIScurl
+!AddPluginDir /x86-unicode     "../NSISPlugins/NSIScurl/Plugins/x86-unicode"
+!AddPluginDir /x86-ansi        "../NSISPlugins/NSIScurl/Plugins/x86-ansi"
+!AddPluginDir /amd64-unicode   "../NSISPlugins/NSIScurl/Plugins/amd64-unicode"
+!endif
 
 ;------------------------------------
 

From c8990438165cce1d303e8754a125758fd69b8ad9 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Sun, 29 Sep 2024 00:25:33 +0000
Subject: [PATCH 064/177] chore(nix): update lockfile
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4f807e8940284ad7925ebd0a0993d2a1791acb2f?narHash=sha256-IiA3jfbR7K/B5%2B9byVi9BZGWTD4VSbWe8VLpp9B/iYk%3D' (2024-09-11)
  → 'github:NixOS/nixpkgs/1925c603f17fc89f4c8f6bf6f631a802ad85d784?narHash=sha256-J%2BPeFKSDV%2BpHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI%3D' (2024-09-26)
---
 flake.lock | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/flake.lock b/flake.lock
index 58bc4e30f..7667a8688 100644
--- a/flake.lock
+++ b/flake.lock
@@ -49,11 +49,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1726062873,
-        "narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=",
+        "lastModified": 1727348695,
+        "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f",
+        "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
         "type": "github"
       },
       "original": {

From 732008db203d1ff6cc7c5d4957cb394d016eaf79 Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Thu, 19 Sep 2024 16:27:06 -0400
Subject: [PATCH 065/177] ci: drop garnix

Signed-off-by: seth <getchoo@tuta.io>
---
 garnix.yaml | 10 ----------
 1 file changed, 10 deletions(-)
 delete mode 100644 garnix.yaml

diff --git a/garnix.yaml b/garnix.yaml
deleted file mode 100644
index a7c1b48a9..000000000
--- a/garnix.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-builds:
-  exclude:
-    # Currently broken on Garnix's end
-    - "*.x86_64-darwin.*"
-  include:
-    - "checks.x86_64-linux.*"
-    - "packages.x86_64-linux.*"
-    - "packages.aarch64-linux.*"
-    - "packages.x86_64-darwin.*"
-    - "packages.aarch64-darwin.*"

From 2663ac5405cbfc3c29a38b32a755b7c7ebda0779 Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Thu, 19 Sep 2024 16:34:59 -0400
Subject: [PATCH 066/177] build(nix): add debug builds

This will lead to build times on par with our other CI jobs, as now
we're not always building for release

Signed-off-by: seth <getchoo@tuta.io>
---
 flake.nix | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/flake.nix b/flake.nix
index 987fc0eda..d07834b4c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -118,5 +118,24 @@
         # Only output them if they're available on the current system
         lib.filterAttrs (_: lib.meta.availableOn pkgs.stdenv.hostPlatform) packages
       );
+
+      # We put these under legacyPackages as they are meant for CI, not end user consumption
+      legacyPackages = forAllSystems (
+        system:
+        let
+          prismPackages = self.packages.${system};
+          legacyPackages = self.legacyPackages.${system};
+        in
+        {
+          prismlauncher-debug = prismPackages.prismlauncher.override {
+            prismlauncher-unwrapped = legacyPackages.prismlauncher-unwrapped-debug;
+          };
+
+          prismlauncher-unwrapped-debug = prismPackages.prismlauncher-unwrapped.overrideAttrs {
+            cmakeBuildType = "Debug";
+            dontStrip = true;
+          };
+        }
+      );
     };
 }

From 5adca58337e9fe2a71f7bdd0951494ceddb34659 Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Thu, 19 Sep 2024 16:44:19 -0400
Subject: [PATCH 067/177] ci: add nix job

Signed-off-by: seth <getchoo@tuta.io>
---
 .github/workflows/build.yml           | 53 +++++++++++++++++++++++++++
 .github/workflows/trigger_builds.yml  |  1 +
 .github/workflows/trigger_release.yml |  1 +
 3 files changed, 55 insertions(+)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ccba62541..f26884c2c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -39,6 +39,9 @@ on:
       APPLE_NOTARIZE_PASSWORD:
         description: Password used for notarizing macOS builds
         required: false
+      CACHIX_AUTH_TOKEN:
+        description: Private token for authenticating against Cachix cache
+        required: false
       GPG_PRIVATE_KEY:
         description: Private key for AppImage signing
         required: false
@@ -631,3 +634,53 @@ jobs:
         with:
           bundle: "Prism Launcher.flatpak"
           manifest-path: flatpak/org.prismlauncher.PrismLauncher.yml
+
+  nix:
+    name: Nix (${{ matrix.system }})
+
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - os: ubuntu-22.04
+            system: x86_64-linux
+
+          - os: macos-13
+            system: x86_64-darwin
+
+          - os: macos-14
+            system: aarch64-darwin
+
+    runs-on: ${{ matrix.os }}
+
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@v4
+
+      - name: Install Nix
+        uses: cachix/install-nix-action@v27
+
+        # For PRs
+      - name: Setup Nix Magic Cache
+        uses: DeterminateSystems/magic-nix-cache-action@v8
+
+        # For in-tree builds
+      - name: Setup Cachix
+        uses: cachix/cachix-action@v15
+        with:
+          name: prismlauncher
+          authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
+
+      - name: Run flake checks
+        run: |
+          nix flake check --print-build-logs --show-trace
+
+      - name: Build debug package
+        if: ${{ inputs.build_type == 'Debug' }}
+        run: |
+          nix build --print-build-logs .#prismlauncher-debug
+
+      - name: Build release package
+        if: ${{ inputs.build_type != 'Debug' }}
+        run: |
+          nix build --print-build-logs .#prismlauncher
diff --git a/.github/workflows/trigger_builds.yml b/.github/workflows/trigger_builds.yml
index 9efafc8cc..0b8386d69 100644
--- a/.github/workflows/trigger_builds.yml
+++ b/.github/workflows/trigger_builds.yml
@@ -38,5 +38,6 @@ jobs:
       APPLE_NOTARIZE_APPLE_ID: ${{ secrets.APPLE_NOTARIZE_APPLE_ID }}
       APPLE_NOTARIZE_TEAM_ID: ${{ secrets.APPLE_NOTARIZE_TEAM_ID }}
       APPLE_NOTARIZE_PASSWORD: ${{ secrets.APPLE_NOTARIZE_PASSWORD }}
+      CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
       GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
       GPG_PRIVATE_KEY_ID: ${{ secrets.GPG_PRIVATE_KEY_ID }}
diff --git a/.github/workflows/trigger_release.yml b/.github/workflows/trigger_release.yml
index 134281b2c..e800653e3 100644
--- a/.github/workflows/trigger_release.yml
+++ b/.github/workflows/trigger_release.yml
@@ -22,6 +22,7 @@ jobs:
       APPLE_NOTARIZE_APPLE_ID: ${{ secrets.APPLE_NOTARIZE_APPLE_ID }}
       APPLE_NOTARIZE_TEAM_ID: ${{ secrets.APPLE_NOTARIZE_TEAM_ID }}
       APPLE_NOTARIZE_PASSWORD: ${{ secrets.APPLE_NOTARIZE_PASSWORD }}
+      CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
       GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
       GPG_PRIVATE_KEY_ID: ${{ secrets.GPG_PRIVATE_KEY_ID }}
 

From 68bf500f7ee48f17abf2a27e942d953a9962ef55 Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Thu, 19 Sep 2024 16:50:45 -0400
Subject: [PATCH 068/177] chore: add nix reformat to .git-blame-ignore-revs

Signed-off-by: seth <getchoo@tuta.io>
---
 .git-blame-ignore-revs | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
index 2163db45b..528b128b1 100644
--- a/.git-blame-ignore-revs
+++ b/.git-blame-ignore-revs
@@ -2,3 +2,6 @@
 
 # tabs -> spaces
 bbb3b3e6f6e3c0f95873f22e6d0a4aaf350f49d9
+
+# (nix) alejandra -> nixfmt
+4c81d8c53d09196426568c4a31a4e752ed05397a

From bf432b5514d7c9c90761a285d17afbd736e4a687 Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Mon, 30 Sep 2024 16:21:07 -0400
Subject: [PATCH 069/177] chore(nix): use cachix for binary cache

Signed-off-by: seth <getchoo@tuta.io>
---
 flake.nix     |  6 ++++--
 nix/README.md | 20 ++++++++------------
 2 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/flake.nix b/flake.nix
index d07834b4c..f4ca782ec 100644
--- a/flake.nix
+++ b/flake.nix
@@ -2,8 +2,10 @@
   description = "A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC)";
 
   nixConfig = {
-    extra-substituters = [ "https://cache.garnix.io" ];
-    extra-trusted-public-keys = [ "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" ];
+    extra-substituters = [ "https://prismlauncher.cachix.org" ];
+    extra-trusted-public-keys = [
+      "prismlauncher.cachix.org-1:9/n/FGyABA2jLUVfY+DEp4hKds/rwO+SCOtbOkDzd+c="
+    ];
   };
 
   inputs = {
diff --git a/nix/README.md b/nix/README.md
index 76cb8bf27..8bb658477 100644
--- a/nix/README.md
+++ b/nix/README.md
@@ -8,8 +8,8 @@ See [Package variants](#package-variants) for a list of available packages.
 
 ## Installing a development release (flake)
 
-We use [garnix](https://garnix.io/) to build and cache our development builds.
-If you want to avoid rebuilds you may add the garnix cache to your substitutors, or use `--accept-flake-config`
+We use [cachix](https://cachix.org/) to cache our development and release builds.
+If you want to avoid rebuilds you may add the Cachix bucket to your substitutors, or use `--accept-flake-config`
 to temporarily enable it when using `nix` commands.
 
 Example (NixOS):
@@ -17,12 +17,10 @@ Example (NixOS):
 ```nix
 {
   nix.settings = {
-    trusted-substituters = [
-      "https://cache.garnix.io"
-    ];
+    trusted-substituters = [ "https://prismlauncher.cachix.org" ];
 
     trusted-public-keys = [
-      "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
+      "prismlauncher.cachix.org-1:9/n/FGyABA2jLUVfY+DEp4hKds/rwO+SCOtbOkDzd+c="
     ];
   };
 }
@@ -137,20 +135,18 @@ nix profile install github:PrismLauncher/PrismLauncher
 
 ## Installing a development release (without flakes)
 
-We use [garnix](https://garnix.io/) to build and cache our development builds.
-If you want to avoid rebuilds you may add the garnix cache to your substitutors.
+We use [Cachix](https://cachix.org/) to cache our development and release builds.
+If you want to avoid rebuilds you may add the Cachix bucket to your substitutors.
 
 Example (NixOS):
 
 ```nix
 {
   nix.settings = {
-    trusted-substituters = [
-      "https://cache.garnix.io"
-    ];
+    trusted-substituters = [ "https://prismlauncher.cachix.org" ];
 
     trusted-public-keys = [
-      "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
+      "prismlauncher.cachix.org-1:9/n/FGyABA2jLUVfY+DEp4hKds/rwO+SCOtbOkDzd+c="
     ];
   };
 }

From 988ef320193e5bfb7de600bc38f99f9ba122c379 Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Mon, 30 Sep 2024 16:30:22 -0400
Subject: [PATCH 070/177] fix(nix): don't write to files in formatting check

Signed-off-by: seth <getchoo@tuta.io>
---
 nix/checks.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nix/checks.nix b/nix/checks.nix
index 40a2e272f..ec219d6f8 100644
--- a/nix/checks.nix
+++ b/nix/checks.nix
@@ -23,7 +23,7 @@
         cd ${self}
 
         echo "Running clang-format...."
-        clang-format -i --style='file' --Werror */**.{c,cc,cpp,h,hh,hpp}
+        clang-format --dry-run --style='file' --Werror */**.{c,cc,cpp,h,hh,hpp}
 
         echo "Running deadnix..."
         deadnix --fail

From 38fa2e0cd494d400110496a35c7f112b2b801d97 Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Mon, 30 Sep 2024 16:32:35 -0400
Subject: [PATCH 071/177] style: format with clang-format

Signed-off-by: seth <getchoo@tuta.io>
---
 launcher/Application.cpp   | 2 +-
 launcher/ui/MainWindow.cpp | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 4a66271a3..b8dcc1099 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -1026,7 +1026,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
 
     // notify user if /tmp is mounted with `noexec` (#1693)
     QString jvmArgs = m_settings->get("JvmArgs").toString();
-    if(jvmArgs.indexOf("java.io.tmpdir") == -1) { /* java.io.tmpdir is a valid workaround, so don't annoy */
+    if (jvmArgs.indexOf("java.io.tmpdir") == -1) { /* java.io.tmpdir is a valid workaround, so don't annoy */
         bool is_tmp_noexec = false;
 
 #if defined(Q_OS_LINUX)
diff --git a/launcher/ui/MainWindow.cpp b/launcher/ui/MainWindow.cpp
index 3f0bb3281..09c47b609 100644
--- a/launcher/ui/MainWindow.cpp
+++ b/launcher/ui/MainWindow.cpp
@@ -235,7 +235,6 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWi
         }
 
         ui->actionViewJavaFolder->setEnabled(BuildConfig.JAVA_DOWNLOADER_ENABLED);
-
     }
 
     // add the toolbar toggles to the view menu

From 79be2fc0622103b2d969044490fa179d31482f50 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 1 Oct 2024 00:32:42 +0000
Subject: [PATCH 072/177] chore(deps): update cachix/install-nix-action action
 to v29

---
 .github/workflows/build.yml        | 2 +-
 .github/workflows/update-flake.yml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index f26884c2c..ad77d282b 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -658,7 +658,7 @@ jobs:
         uses: actions/checkout@v4
 
       - name: Install Nix
-        uses: cachix/install-nix-action@v27
+        uses: cachix/install-nix-action@v29
 
         # For PRs
       - name: Setup Nix Magic Cache
diff --git a/.github/workflows/update-flake.yml b/.github/workflows/update-flake.yml
index ecc38ff28..0c8cfde67 100644
--- a/.github/workflows/update-flake.yml
+++ b/.github/workflows/update-flake.yml
@@ -17,7 +17,7 @@ jobs:
 
     steps:
       - uses: actions/checkout@v4
-      - uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
+      - uses: cachix/install-nix-action@9f70348d77d0422624097c4b7a75563948901306 # v29
 
       - uses: DeterminateSystems/update-flake-lock@v24
         with:

From 0eefa52dbcdc595f4b388ae306eae5f556f816e4 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Wed, 25 Sep 2024 15:04:31 +0300
Subject: [PATCH 073/177] fix some transtaions warnings

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/MMCZip.h                                      | 2 ++
 launcher/modplatform/flame/FlamePackExportTask.h       | 1 +
 launcher/modplatform/modrinth/ModrinthPackExportTask.h | 1 +
 launcher/ui/dialogs/InstallLoaderDialog.cpp            | 2 ++
 launcher/ui/pages/instance/ModFolderPage.h             | 2 ++
 5 files changed, 8 insertions(+)

diff --git a/launcher/MMCZip.h b/launcher/MMCZip.h
index 1635f8b32..d81df9d81 100644
--- a/launcher/MMCZip.h
+++ b/launcher/MMCZip.h
@@ -153,6 +153,7 @@ bool collectFileListRecursively(const QString& rootDir, const QString& subDir, Q
 
 #if defined(LAUNCHER_APPLICATION)
 class ExportToZipTask : public Task {
+    Q_OBJECT
    public:
     ExportToZipTask(QString outputPath,
                     QDir dir,
@@ -207,6 +208,7 @@ class ExportToZipTask : public Task {
 };
 
 class ExtractZipTask : public Task {
+    Q_OBJECT
    public:
     ExtractZipTask(QString input, QDir outputDir, QString subdirectory = "")
         : ExtractZipTask(std::make_shared<QuaZip>(input), outputDir, subdirectory)
diff --git a/launcher/modplatform/flame/FlamePackExportTask.h b/launcher/modplatform/flame/FlamePackExportTask.h
index 78b46e91f..b11eb17fa 100644
--- a/launcher/modplatform/flame/FlamePackExportTask.h
+++ b/launcher/modplatform/flame/FlamePackExportTask.h
@@ -26,6 +26,7 @@
 #include "tasks/Task.h"
 
 class FlamePackExportTask : public Task {
+    Q_OBJECT
    public:
     FlamePackExportTask(const QString& name,
                         const QString& version,
diff --git a/launcher/modplatform/modrinth/ModrinthPackExportTask.h b/launcher/modplatform/modrinth/ModrinthPackExportTask.h
index 81c2f25bf..ee740a456 100644
--- a/launcher/modplatform/modrinth/ModrinthPackExportTask.h
+++ b/launcher/modplatform/modrinth/ModrinthPackExportTask.h
@@ -27,6 +27,7 @@
 #include "tasks/Task.h"
 
 class ModrinthPackExportTask : public Task {
+    Q_OBJECT
    public:
     ModrinthPackExportTask(const QString& name,
                            const QString& version,
diff --git a/launcher/ui/dialogs/InstallLoaderDialog.cpp b/launcher/ui/dialogs/InstallLoaderDialog.cpp
index 541119d10..8e5463b31 100644
--- a/launcher/ui/dialogs/InstallLoaderDialog.cpp
+++ b/launcher/ui/dialogs/InstallLoaderDialog.cpp
@@ -31,6 +31,7 @@
 #include "ui/widgets/VersionSelectWidget.h"
 
 class InstallLoaderPage : public VersionSelectWidget, public BasePage {
+    Q_OBJECT
    public:
     InstallLoaderPage(const QString& id,
                       const QString& iconName,
@@ -164,3 +165,4 @@ void InstallLoaderDialog::done(int result)
 
     QDialog::done(result);
 }
+#include "InstallLoaderDialog.moc"
\ No newline at end of file
diff --git a/launcher/ui/pages/instance/ModFolderPage.h b/launcher/ui/pages/instance/ModFolderPage.h
index 2ec2b402d..41b605991 100644
--- a/launcher/ui/pages/instance/ModFolderPage.h
+++ b/launcher/ui/pages/instance/ModFolderPage.h
@@ -74,6 +74,7 @@ class ModFolderPage : public ExternalResourcesPage {
 };
 
 class CoreModFolderPage : public ModFolderPage {
+    Q_OBJECT
    public:
     explicit CoreModFolderPage(BaseInstance* inst, std::shared_ptr<ModFolderModel> mods, QWidget* parent = 0);
     virtual ~CoreModFolderPage() = default;
@@ -87,6 +88,7 @@ class CoreModFolderPage : public ModFolderPage {
 };
 
 class NilModFolderPage : public ModFolderPage {
+    Q_OBJECT
    public:
     explicit NilModFolderPage(BaseInstance* inst, std::shared_ptr<ModFolderModel> mods, QWidget* parent = 0);
     virtual ~NilModFolderPage() = default;

From 5ea2dece54f27c812af3eb5ba697ec7aab07e04b Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Thu, 26 Sep 2024 22:59:00 +0300
Subject: [PATCH 074/177] fix search term not remaining the same between
 providers on resource download

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/ui/dialogs/ResourceDownloadDialog.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/launcher/ui/dialogs/ResourceDownloadDialog.cpp b/launcher/ui/dialogs/ResourceDownloadDialog.cpp
index 90d3b79a9..02a8454b4 100644
--- a/launcher/ui/dialogs/ResourceDownloadDialog.cpp
+++ b/launcher/ui/dialogs/ResourceDownloadDialog.cpp
@@ -258,7 +258,9 @@ void ResourceDownloadDialog::selectedPageChanged(BasePage* previous, BasePage* s
     }
 
     // Same effect as having a global search bar
-    selectedPage()->setSearchTerm(prev_page->getSearchTerm());
+    ResourcePage* result = dynamic_cast<ResourcePage*>(selected);
+    Q_ASSERT(result != nullptr);
+    result->setSearchTerm(prev_page->getSearchTerm());
 }
 
 ModDownloadDialog::ModDownloadDialog(QWidget* parent, const std::shared_ptr<ModFolderModel>& mods, BaseInstance* instance)

From 946e791d39a19f50d7604b1f57714f8f3a7f63cb Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 30 Sep 2024 21:50:07 +0300
Subject: [PATCH 075/177] sync modpack search field

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/CMakeLists.txt                       |  3 ++
 launcher/ui/dialogs/NewInstanceDialog.cpp     | 16 ++++++++++
 launcher/ui/dialogs/NewInstanceDialog.h       |  3 ++
 .../modplatform/ModpackProviderBasePage.h     | 29 +++++++++++++++++++
 .../pages/modplatform/atlauncher/AtlPage.cpp  | 10 +++++++
 .../ui/pages/modplatform/atlauncher/AtlPage.h | 10 +++++--
 .../ui/pages/modplatform/flame/FlamePage.cpp  |  9 ++++++
 .../ui/pages/modplatform/flame/FlamePage.h    |  9 ++++--
 .../modplatform/import_ftb/ImportFTBPage.cpp  |  9 ++++++
 .../modplatform/import_ftb/ImportFTBPage.h    |  9 ++++--
 .../ui/pages/modplatform/legacy_ftb/Page.cpp  |  9 ++++++
 .../ui/pages/modplatform/legacy_ftb/Page.h    |  9 ++++--
 .../modplatform/modrinth/ModrinthPage.cpp     | 10 +++++++
 .../pages/modplatform/modrinth/ModrinthPage.h |  9 ++++--
 .../pages/modplatform/technic/TechnicPage.cpp | 10 +++++++
 .../pages/modplatform/technic/TechnicPage.h   |  9 ++++--
 16 files changed, 150 insertions(+), 13 deletions(-)
 create mode 100644 launcher/ui/pages/modplatform/ModpackProviderBasePage.h

diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt
index bd6dfc5b6..dcbfe8fde 100644
--- a/launcher/CMakeLists.txt
+++ b/launcher/CMakeLists.txt
@@ -965,6 +965,9 @@ SET(LAUNCHER_SOURCES
     ui/pages/modplatform/ShaderPackPage.cpp
     ui/pages/modplatform/ShaderPackModel.cpp
 
+
+    ui/pages/modplatform/ModpackProviderBasePage.h
+
     ui/pages/modplatform/atlauncher/AtlFilterModel.cpp
     ui/pages/modplatform/atlauncher/AtlFilterModel.h
     ui/pages/modplatform/atlauncher/AtlListModel.cpp
diff --git a/launcher/ui/dialogs/NewInstanceDialog.cpp b/launcher/ui/dialogs/NewInstanceDialog.cpp
index 2e799d2a8..f16c50860 100644
--- a/launcher/ui/dialogs/NewInstanceDialog.cpp
+++ b/launcher/ui/dialogs/NewInstanceDialog.cpp
@@ -36,6 +36,7 @@
 
 #include "NewInstanceDialog.h"
 #include "Application.h"
+#include "ui/pages/modplatform/ModpackProviderBasePage.h"
 #include "ui/pages/modplatform/import_ftb/ImportFTBPage.h"
 #include "ui_NewInstanceDialog.h"
 
@@ -140,6 +141,8 @@ NewInstanceDialog::NewInstanceDialog(const QString& initialGroup,
         auto geometry = screen->availableSize();
         resize(width(), qMin(geometry.height() - 50, 710));
     }
+
+    connect(m_container, &PageContainer::selectedPageChanged, this, &NewInstanceDialog::selectedPageChanged);
 }
 
 void NewInstanceDialog::reject()
@@ -316,3 +319,16 @@ void NewInstanceDialog::importIconNow()
     }
     APPLICATION->settings()->set("NewInstanceGeometry", saveGeometry().toBase64());
 }
+
+void NewInstanceDialog::selectedPageChanged(BasePage* previous, BasePage* selected)
+{
+    auto prevPage = dynamic_cast<ModpackProviderBasePage*>(previous);
+    if (prevPage) {
+        m_searchTerm = prevPage->getSerachTerm();
+    }
+
+    auto nextPage = dynamic_cast<ModpackProviderBasePage*>(selected);
+    if (nextPage) {
+        nextPage->setSearchTerm(m_searchTerm);
+    }
+}
diff --git a/launcher/ui/dialogs/NewInstanceDialog.h b/launcher/ui/dialogs/NewInstanceDialog.h
index 923579567..e97c9f543 100644
--- a/launcher/ui/dialogs/NewInstanceDialog.h
+++ b/launcher/ui/dialogs/NewInstanceDialog.h
@@ -82,6 +82,7 @@ class NewInstanceDialog : public QDialog, public BasePageProvider {
    private slots:
     void on_iconButton_clicked();
     void on_instNameTextBox_textChanged(const QString& arg1);
+    void selectedPageChanged(BasePage* previous, BasePage* selected);
 
    private:
     Ui::NewInstanceDialog* ui = nullptr;
@@ -98,5 +99,7 @@ class NewInstanceDialog : public QDialog, public BasePageProvider {
 
     QString importVersion;
 
+    QString m_searchTerm;
+
     void importIconNow();
 };
diff --git a/launcher/ui/pages/modplatform/ModpackProviderBasePage.h b/launcher/ui/pages/modplatform/ModpackProviderBasePage.h
new file mode 100644
index 000000000..a3daa9a81
--- /dev/null
+++ b/launcher/ui/pages/modplatform/ModpackProviderBasePage.h
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-3.0-only
+/*
+ *  Prism Launcher - Minecraft Launcher
+ *  Copyright (c) 2023 Trial97 <alexandru.tripon97@gmail.com>
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, version 3.
+ *
+ *  This program 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 General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "ui/pages/BasePage.h"
+
+class ModpackProviderBasePage : public BasePage {
+   public:
+    /** Programatically set the term in the search bar. */
+    virtual void setSearchTerm(QString) = 0;
+    /** Get the current term in the search bar. */
+    [[nodiscard]] virtual QString getSerachTerm() const = 0;
+};
\ No newline at end of file
diff --git a/launcher/ui/pages/modplatform/atlauncher/AtlPage.cpp b/launcher/ui/pages/modplatform/atlauncher/AtlPage.cpp
index d79b7621a..7c69b315e 100644
--- a/launcher/ui/pages/modplatform/atlauncher/AtlPage.cpp
+++ b/launcher/ui/pages/modplatform/atlauncher/AtlPage.cpp
@@ -164,3 +164,13 @@ void AtlPage::onVersionSelectionChanged(QString version)
     selectedVersion = version;
     suggestCurrent();
 }
+
+void AtlPage::setSearchTerm(QString term)
+{
+    ui->searchEdit->setText(term);
+}
+
+QString AtlPage::getSerachTerm() const
+{
+    return ui->searchEdit->text();
+}
diff --git a/launcher/ui/pages/modplatform/atlauncher/AtlPage.h b/launcher/ui/pages/modplatform/atlauncher/AtlPage.h
index 6bc449649..73460232b 100644
--- a/launcher/ui/pages/modplatform/atlauncher/AtlPage.h
+++ b/launcher/ui/pages/modplatform/atlauncher/AtlPage.h
@@ -42,8 +42,7 @@
 #include <QWidget>
 
 #include "Application.h"
-#include "tasks/Task.h"
-#include "ui/pages/BasePage.h"
+#include "ui/pages/modplatform/ModpackProviderBasePage.h"
 
 namespace Ui {
 class AtlPage;
@@ -51,7 +50,7 @@ class AtlPage;
 
 class NewInstanceDialog;
 
-class AtlPage : public QWidget, public BasePage {
+class AtlPage : public QWidget, public ModpackProviderBasePage {
     Q_OBJECT
 
    public:
@@ -66,6 +65,11 @@ class AtlPage : public QWidget, public BasePage {
 
     void openedImpl() override;
 
+    /** Programatically set the term in the search bar. */
+    virtual void setSearchTerm(QString) override;
+    /** Get the current term in the search bar. */
+    [[nodiscard]] virtual QString getSerachTerm() const override;
+
    private:
     void suggestCurrent();
 
diff --git a/launcher/ui/pages/modplatform/flame/FlamePage.cpp b/launcher/ui/pages/modplatform/flame/FlamePage.cpp
index decb5de3b..4195683e7 100644
--- a/launcher/ui/pages/modplatform/flame/FlamePage.cpp
+++ b/launcher/ui/pages/modplatform/flame/FlamePage.cpp
@@ -299,3 +299,12 @@ void FlamePage::updateUi()
     ui->packDescription->setHtml(StringUtils::htmlListPatch(text + current.description));
     ui->packDescription->flush();
 }
+QString FlamePage::getSerachTerm() const
+{
+    return ui->searchEdit->text();
+}
+
+void FlamePage::setSearchTerm(QString term)
+{
+    ui->searchEdit->setText(term);
+}
diff --git a/launcher/ui/pages/modplatform/flame/FlamePage.h b/launcher/ui/pages/modplatform/flame/FlamePage.h
index 7590e1a95..45a3c6b22 100644
--- a/launcher/ui/pages/modplatform/flame/FlamePage.h
+++ b/launcher/ui/pages/modplatform/flame/FlamePage.h
@@ -40,7 +40,7 @@
 #include <Application.h>
 #include <modplatform/flame/FlamePackIndex.h>
 #include <QTimer>
-#include "ui/pages/BasePage.h"
+#include "ui/pages/modplatform/ModpackProviderBasePage.h"
 #include "ui/widgets/ProgressWidget.h"
 
 namespace Ui {
@@ -53,7 +53,7 @@ namespace Flame {
 class ListModel;
 }
 
-class FlamePage : public QWidget, public BasePage {
+class FlamePage : public QWidget, public ModpackProviderBasePage {
     Q_OBJECT
 
    public:
@@ -72,6 +72,11 @@ class FlamePage : public QWidget, public BasePage {
 
     bool eventFilter(QObject* watched, QEvent* event) override;
 
+    /** Programatically set the term in the search bar. */
+    virtual void setSearchTerm(QString) override;
+    /** Get the current term in the search bar. */
+    [[nodiscard]] virtual QString getSerachTerm() const override;
+
    private:
     void suggestCurrent();
 
diff --git a/launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.cpp b/launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.cpp
index db59fe10a..15303bb22 100644
--- a/launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.cpp
+++ b/launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.cpp
@@ -135,4 +135,13 @@ void ImportFTBPage::triggerSearch()
     currentModel->setSearchTerm(ui->searchEdit->text());
 }
 
+void ImportFTBPage::setSearchTerm(QString term)
+{
+    ui->searchEdit->setText(term);
+}
+
+QString ImportFTBPage::getSerachTerm() const
+{
+    return ui->searchEdit->text();
+}
 }  // namespace FTBImportAPP
diff --git a/launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.h b/launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.h
index 00f013f6f..7afff5a9d 100644
--- a/launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.h
+++ b/launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.h
@@ -25,7 +25,7 @@
 
 #include <Application.h>
 #include "modplatform/import_ftb/PackHelpers.h"
-#include "ui/pages/BasePage.h"
+#include "ui/pages/modplatform/ModpackProviderBasePage.h"
 #include "ui/pages/modplatform/import_ftb/ListModel.h"
 
 class NewInstanceDialog;
@@ -35,7 +35,7 @@ namespace Ui {
 class ImportFTBPage;
 }
 
-class ImportFTBPage : public QWidget, public BasePage {
+class ImportFTBPage : public QWidget, public ModpackProviderBasePage {
     Q_OBJECT
 
    public:
@@ -49,6 +49,11 @@ class ImportFTBPage : public QWidget, public BasePage {
     void openedImpl() override;
     void retranslate() override;
 
+    /** Programatically set the term in the search bar. */
+    virtual void setSearchTerm(QString) override;
+    /** Get the current term in the search bar. */
+    [[nodiscard]] virtual QString getSerachTerm() const override;
+
    private:
     void suggestCurrent();
     void onPackSelectionChanged(Modpack* pack = nullptr);
diff --git a/launcher/ui/pages/modplatform/legacy_ftb/Page.cpp b/launcher/ui/pages/modplatform/legacy_ftb/Page.cpp
index a587b5baf..226a30ee3 100644
--- a/launcher/ui/pages/modplatform/legacy_ftb/Page.cpp
+++ b/launcher/ui/pages/modplatform/legacy_ftb/Page.cpp
@@ -369,4 +369,13 @@ void Page::triggerSearch()
     currentModel->setSearchTerm(ui->searchEdit->text());
 }
 
+void Page::setSearchTerm(QString term)
+{
+    ui->searchEdit->setText(term);
+}
+
+QString Page::getSerachTerm() const
+{
+    return ui->searchEdit->text();
+}
 }  // namespace LegacyFTB
diff --git a/launcher/ui/pages/modplatform/legacy_ftb/Page.h b/launcher/ui/pages/modplatform/legacy_ftb/Page.h
index daef23342..a2dee24e9 100644
--- a/launcher/ui/pages/modplatform/legacy_ftb/Page.h
+++ b/launcher/ui/pages/modplatform/legacy_ftb/Page.h
@@ -43,7 +43,7 @@
 #include "QObjectPtr.h"
 #include "modplatform/legacy_ftb/PackFetchTask.h"
 #include "modplatform/legacy_ftb/PackHelpers.h"
-#include "ui/pages/BasePage.h"
+#include "ui/pages/modplatform/ModpackProviderBasePage.h"
 
 class NewInstanceDialog;
 
@@ -57,7 +57,7 @@ class ListModel;
 class FilterModel;
 class PrivatePackManager;
 
-class Page : public QWidget, public BasePage {
+class Page : public QWidget, public ModpackProviderBasePage {
     Q_OBJECT
 
    public:
@@ -71,6 +71,11 @@ class Page : public QWidget, public BasePage {
     void openedImpl() override;
     void retranslate() override;
 
+    /** Programatically set the term in the search bar. */
+    virtual void setSearchTerm(QString) override;
+    /** Get the current term in the search bar. */
+    [[nodiscard]] virtual QString getSerachTerm() const override;
+
    private:
     void suggestCurrent();
     void onPackSelectionChanged(Modpack* pack = nullptr);
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
index 03461d85a..a000044fa 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
@@ -351,3 +351,13 @@ void ModrinthPage::onVersionSelectionChanged(int index)
     selectedVersion = ui->versionSelectionBox->currentData().toString();
     suggestCurrent();
 }
+
+void ModrinthPage::setSearchTerm(QString term)
+{
+    ui->searchEdit->setText(term);
+}
+
+QString ModrinthPage::getSerachTerm() const
+{
+    return ui->searchEdit->text();
+}
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.h b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.h
index dadaeb0a0..dd99e0d29 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.h
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.h
@@ -38,9 +38,9 @@
 
 #include "Application.h"
 #include "ui/dialogs/NewInstanceDialog.h"
-#include "ui/pages/BasePage.h"
 
 #include "modplatform/modrinth/ModrinthPackManifest.h"
+#include "ui/pages/modplatform/ModpackProviderBasePage.h"
 #include "ui/widgets/ProgressWidget.h"
 
 #include <QTimer>
@@ -54,7 +54,7 @@ namespace Modrinth {
 class ModpackListModel;
 }
 
-class ModrinthPage : public QWidget, public BasePage {
+class ModrinthPage : public QWidget, public ModpackProviderBasePage {
     Q_OBJECT
 
    public:
@@ -78,6 +78,11 @@ class ModrinthPage : public QWidget, public BasePage {
     void openedImpl() override;
     bool eventFilter(QObject* watched, QEvent* event) override;
 
+    /** Programatically set the term in the search bar. */
+    virtual void setSearchTerm(QString) override;
+    /** Get the current term in the search bar. */
+    [[nodiscard]] virtual QString getSerachTerm() const override;
+
    private slots:
     void onSelectionChanged(QModelIndex first, QModelIndex second);
     void onVersionSelectionChanged(int index);
diff --git a/launcher/ui/pages/modplatform/technic/TechnicPage.cpp b/launcher/ui/pages/modplatform/technic/TechnicPage.cpp
index a8f06619f..50d267b1f 100644
--- a/launcher/ui/pages/modplatform/technic/TechnicPage.cpp
+++ b/launcher/ui/pages/modplatform/technic/TechnicPage.cpp
@@ -342,3 +342,13 @@ void TechnicPage::onVersionSelectionChanged(QString version)
     selectedVersion = version;
     selectVersion();
 }
+
+void TechnicPage::setSearchTerm(QString term)
+{
+    ui->searchEdit->setText(term);
+}
+
+QString TechnicPage::getSerachTerm() const
+{
+    return ui->searchEdit->text();
+}
diff --git a/launcher/ui/pages/modplatform/technic/TechnicPage.h b/launcher/ui/pages/modplatform/technic/TechnicPage.h
index 01439337d..d1f691b22 100644
--- a/launcher/ui/pages/modplatform/technic/TechnicPage.h
+++ b/launcher/ui/pages/modplatform/technic/TechnicPage.h
@@ -41,7 +41,7 @@
 #include <Application.h>
 #include "TechnicData.h"
 #include "net/NetJob.h"
-#include "ui/pages/BasePage.h"
+#include "ui/pages/modplatform/ModpackProviderBasePage.h"
 #include "ui/widgets/ProgressWidget.h"
 
 namespace Ui {
@@ -54,7 +54,7 @@ namespace Technic {
 class ListModel;
 }
 
-class TechnicPage : public QWidget, public BasePage {
+class TechnicPage : public QWidget, public ModpackProviderBasePage {
     Q_OBJECT
 
    public:
@@ -71,6 +71,11 @@ class TechnicPage : public QWidget, public BasePage {
 
     bool eventFilter(QObject* watched, QEvent* event) override;
 
+    /** Programatically set the term in the search bar. */
+    virtual void setSearchTerm(QString) override;
+    /** Get the current term in the search bar. */
+    [[nodiscard]] virtual QString getSerachTerm() const override;
+
    private:
     void suggestCurrent();
     void metadataLoaded();

From dfe3cd849def92682c45610e65bde3f6f5344a39 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Wed, 2 Oct 2024 01:06:45 +0300
Subject: [PATCH 076/177] add curseforge modpack filter

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/modplatform/ModIndex.h               |  2 +-
 launcher/modplatform/flame/FlameAPI.cpp       | 10 ++-
 launcher/modplatform/flame/FlameAPI.h         | 17 +++--
 launcher/modplatform/flame/FlamePackIndex.cpp | 22 +++++-
 launcher/modplatform/flame/FlamePackIndex.h   |  1 +
 launcher/modplatform/modrinth/ModrinthAPI.cpp | 11 ++-
 launcher/modplatform/modrinth/ModrinthAPI.h   |  1 +
 .../ui/pages/modplatform/flame/FlameModel.cpp | 27 +++----
 .../ui/pages/modplatform/flame/FlameModel.h   |  4 +-
 .../ui/pages/modplatform/flame/FlamePage.cpp  | 65 +++++++++++++++-
 .../ui/pages/modplatform/flame/FlamePage.h    |  5 ++
 .../ui/pages/modplatform/flame/FlamePage.ui   | 69 ++++++++++-------
 .../modplatform/flame/FlameResourcePages.cpp  |  6 +-
 .../modplatform/flame/FlameResourcePages.h    |  3 +
 launcher/ui/widgets/ModFilterWidget.cpp       | 74 +++++++++++++++----
 15 files changed, 242 insertions(+), 75 deletions(-)

diff --git a/launcher/modplatform/ModIndex.h b/launcher/modplatform/ModIndex.h
index e3fe69e0c..d5ee12473 100644
--- a/launcher/modplatform/ModIndex.h
+++ b/launcher/modplatform/ModIndex.h
@@ -35,7 +35,7 @@ Q_DECLARE_FLAGS(ModLoaderTypes, ModLoaderType)
 
 enum class ResourceProvider { MODRINTH, FLAME };
 
-enum class ResourceType { MOD, RESOURCE_PACK, SHADER_PACK };
+enum class ResourceType { MOD, RESOURCE_PACK, SHADER_PACK, MODPACK };
 
 enum class DependencyType { REQUIRED, OPTIONAL, INCOMPATIBLE, EMBEDDED, TOOL, INCLUDE, UNKNOWN };
 
diff --git a/launcher/modplatform/flame/FlameAPI.cpp b/launcher/modplatform/flame/FlameAPI.cpp
index 72437976d..ddd48c2b1 100644
--- a/launcher/modplatform/flame/FlameAPI.cpp
+++ b/launcher/modplatform/flame/FlameAPI.cpp
@@ -221,14 +221,20 @@ QList<ResourceAPI::SortingMethod> FlameAPI::getSortingMethods() const
              { 8, "GameVersion", QObject::tr("Sort by Game Version") } };
 }
 
-Task::Ptr FlameAPI::getModCategories(std::shared_ptr<QByteArray> response)
+Task::Ptr FlameAPI::getCategories(std::shared_ptr<QByteArray> response, ModPlatform::ResourceType type)
 {
     auto netJob = makeShared<NetJob>(QString("Flame::GetCategories"), APPLICATION->network());
-    netJob->addNetAction(Net::ApiDownload::makeByteArray(QUrl("https://api.curseforge.com/v1/categories?gameId=432&classId=6"), response));
+    netJob->addNetAction(Net::ApiDownload::makeByteArray(
+        QUrl(QString("https://api.curseforge.com/v1/categories?gameId=432&classId=%1").arg(getClassId(type))), response));
     QObject::connect(netJob.get(), &Task::failed, [](QString msg) { qDebug() << "Flame failed to get categories:" << msg; });
     return netJob;
 }
 
+Task::Ptr FlameAPI::getModCategories(std::shared_ptr<QByteArray> response)
+{
+    return getCategories(response, ModPlatform::ResourceType::MOD);
+}
+
 QList<ModPlatform::Category> FlameAPI::loadModCategories(std::shared_ptr<QByteArray> response)
 {
     QList<ModPlatform::Category> categories;
diff --git a/launcher/modplatform/flame/FlameAPI.h b/launcher/modplatform/flame/FlameAPI.h
index 1160151c5..c66ece8a3 100644
--- a/launcher/modplatform/flame/FlameAPI.h
+++ b/launcher/modplatform/flame/FlameAPI.h
@@ -25,6 +25,7 @@ class FlameAPI : public NetworkResourceAPI {
     Task::Ptr getFiles(const QStringList& fileIds, std::shared_ptr<QByteArray> response) const;
     Task::Ptr getFile(const QString& addonId, const QString& fileId, std::shared_ptr<QByteArray> response) const;
 
+    static Task::Ptr getCategories(std::shared_ptr<QByteArray> response, ModPlatform::ResourceType type);
     static Task::Ptr getModCategories(std::shared_ptr<QByteArray> response);
     static QList<ModPlatform::Category> loadModCategories(std::shared_ptr<QByteArray> response);
 
@@ -46,6 +47,8 @@ class FlameAPI : public NetworkResourceAPI {
                 return 12;
             case ModPlatform::ResourceType::SHADER_PACK:
                 return 6552;
+            case ModPlatform::ResourceType::MODPACK:
+                return 4471;
         }
     }
 
@@ -82,8 +85,8 @@ class FlameAPI : public NetworkResourceAPI {
 
     static const QString getModLoaderFilters(ModPlatform::ModLoaderTypes types) { return "[" + getModLoaderStrings(types).join(',') + "]"; }
 
-   private:
-    [[nodiscard]] std::optional<QString> getSearchURL(SearchArgs const& args) const override
+   public:
+    static std::optional<QString> getStaticSearchURL(SearchArgs const& args)
     {
         auto gameVersionStr =
             args.versions.has_value() ? QString("gameVersion=%1").arg(args.versions.value().front().toString()) : QString();
@@ -105,12 +108,14 @@ class FlameAPI : public NetworkResourceAPI {
         get_arguments.append(gameVersionStr);
 
         return "https://api.curseforge.com/v1/mods/search?gameId=432&" + get_arguments.join('&');
-    };
+    }
+    [[nodiscard]] std::optional<QString> getSearchURL(SearchArgs const& args) const override { return getStaticSearchURL(args); }
 
+   private:
     [[nodiscard]] std::optional<QString> getInfoURL(QString const& id) const override
     {
         return QString("https://api.curseforge.com/v1/mods/%1").arg(id);
-    };
+    }
 
     [[nodiscard]] std::optional<QString> getVersionsURL(VersionSearchArgs const& args) const override
     {
@@ -125,7 +130,7 @@ class FlameAPI : public NetworkResourceAPI {
             url += QString("&modLoaderType=%1").arg(mappedModLoader);
         }
         return url;
-    };
+    }
 
     [[nodiscard]] std::optional<QString> getDependencyURL(DependencySearchArgs const& args) const override
     {
@@ -137,5 +142,5 @@ class FlameAPI : public NetworkResourceAPI {
             url += QString("&modLoaderType=%1").arg(mappedModLoader);
         }
         return url;
-    };
+    }
 };
diff --git a/launcher/modplatform/flame/FlamePackIndex.cpp b/launcher/modplatform/flame/FlamePackIndex.cpp
index ca8e0a853..8c25b0482 100644
--- a/launcher/modplatform/flame/FlamePackIndex.cpp
+++ b/launcher/modplatform/flame/FlamePackIndex.cpp
@@ -3,6 +3,7 @@
 #include <QUrl>
 
 #include "Json.h"
+#include "modplatform/ModIndex.h"
 
 void Flame::loadIndexedPack(Flame::IndexedPack& pack, QJsonObject& obj)
 {
@@ -88,8 +89,27 @@ void Flame::loadIndexedPackVersions(Flame::IndexedPack& pack, QJsonArray& arr)
             continue;
         }
 
+        for (auto mcVer : versionArray) {
+            auto str = mcVer.toString();
+
+            if (str.contains('.'))
+                file.mcVersion.append(str);
+
+            if (auto loader = str.toLower(); loader == "neoforge")
+                file.loaders |= ModPlatform::NeoForge;
+            else if (loader == "forge")
+                file.loaders |= ModPlatform::Forge;
+            else if (loader == "cauldron")
+                file.loaders |= ModPlatform::Cauldron;
+            else if (loader == "liteloader")
+                file.loaders |= ModPlatform::LiteLoader;
+            else if (loader == "fabric")
+                file.loaders |= ModPlatform::Fabric;
+            else if (loader == "quilt")
+                file.loaders |= ModPlatform::Quilt;
+        }
+
         // pick the latest version supported
-        file.mcVersion = versionArray[0].toString();
         file.version = Json::requireString(version, "displayName");
 
         ModPlatform::IndexedVersionType::VersionType ver_type;
diff --git a/launcher/modplatform/flame/FlamePackIndex.h b/launcher/modplatform/flame/FlamePackIndex.h
index b2a12a67f..11633deee 100644
--- a/launcher/modplatform/flame/FlamePackIndex.h
+++ b/launcher/modplatform/flame/FlamePackIndex.h
@@ -18,6 +18,7 @@ struct IndexedVersion {
     int fileId;
     QString version;
     ModPlatform::IndexedVersionType version_type;
+    ModPlatform::ModLoaderTypes loaders = {};
     QString mcVersion;
     QString downloadUrl;
 };
diff --git a/launcher/modplatform/modrinth/ModrinthAPI.cpp b/launcher/modplatform/modrinth/ModrinthAPI.cpp
index 4798ace84..323711e02 100644
--- a/launcher/modplatform/modrinth/ModrinthAPI.cpp
+++ b/launcher/modplatform/modrinth/ModrinthAPI.cpp
@@ -129,7 +129,7 @@ Task::Ptr ModrinthAPI::getModCategories(std::shared_ptr<QByteArray> response)
     return netJob;
 }
 
-QList<ModPlatform::Category> ModrinthAPI::loadModCategories(std::shared_ptr<QByteArray> response)
+QList<ModPlatform::Category> ModrinthAPI::loadCategories(std::shared_ptr<QByteArray> response, QString projectType)
 {
     QList<ModPlatform::Category> categories;
     QJsonParseError parse_error{};
@@ -147,7 +147,7 @@ QList<ModPlatform::Category> ModrinthAPI::loadModCategories(std::shared_ptr<QByt
         for (auto val : arr) {
             auto cat = Json::requireObject(val);
             auto name = Json::requireString(cat, "name");
-            if (Json::ensureString(cat, "project_type", "") == "mod")
+            if (Json::ensureString(cat, "project_type", "") == projectType)
                 categories.push_back({ name, name });
         }
 
@@ -157,4 +157,9 @@ QList<ModPlatform::Category> ModrinthAPI::loadModCategories(std::shared_ptr<QByt
         qDebug() << doc;
     }
     return categories;
-};
\ No newline at end of file
+}
+
+QList<ModPlatform::Category> ModrinthAPI::loadModCategories(std::shared_ptr<QByteArray> response)
+{
+    return loadCategories(response, "mod");
+};
diff --git a/launcher/modplatform/modrinth/ModrinthAPI.h b/launcher/modplatform/modrinth/ModrinthAPI.h
index d1f8f712a..07be06756 100644
--- a/launcher/modplatform/modrinth/ModrinthAPI.h
+++ b/launcher/modplatform/modrinth/ModrinthAPI.h
@@ -31,6 +31,7 @@ class ModrinthAPI : public NetworkResourceAPI {
     Task::Ptr getProjects(QStringList addonIds, std::shared_ptr<QByteArray> response) const override;
 
     static Task::Ptr getModCategories(std::shared_ptr<QByteArray> response);
+    static QList<ModPlatform::Category> loadCategories(std::shared_ptr<QByteArray> response, QString projectType);
     static QList<ModPlatform::Category> loadModCategories(std::shared_ptr<QByteArray> response);
 
    public:
diff --git a/launcher/ui/pages/modplatform/flame/FlameModel.cpp b/launcher/ui/pages/modplatform/flame/FlameModel.cpp
index a92d5b579..8383b756f 100644
--- a/launcher/ui/pages/modplatform/flame/FlameModel.cpp
+++ b/launcher/ui/pages/modplatform/flame/FlameModel.cpp
@@ -1,6 +1,7 @@
 #include "FlameModel.h"
 #include <Json.h>
 #include "Application.h"
+#include "modplatform/ModIndex.h"
 #include "modplatform/ResourceAPI.h"
 #include "modplatform/flame/FlameAPI.h"
 #include "ui/widgets/ProjectItem.h"
@@ -183,34 +184,28 @@ void ListModel::performPaginatedSearch()
             return;
         }
     }
+    ResourceAPI::SortingMethod sort{};
+    sort.index = currentSort + 1;
+
     auto netJob = makeShared<NetJob>("Flame::Search", APPLICATION->network());
-    auto searchUrl = QString(
-                         "https://api.curseforge.com/v1/mods/search?"
-                         "gameId=432&"
-                         "classId=4471&"
-                         "index=%1&"
-                         "pageSize=25&"
-                         "searchFilter=%2&"
-                         "sortField=%3&"
-                         "sortOrder=desc")
-                         .arg(nextSearchOffset)
-                         .arg(currentSearchTerm)
-                         .arg(currentSort + 1);
-
-    netJob->addNetAction(Net::ApiDownload::makeByteArray(QUrl(searchUrl), response));
+    auto searchUrl = FlameAPI::getStaticSearchURL({ ModPlatform::ResourceType::MODPACK, nextSearchOffset, currentSearchTerm, sort,
+                                                    m_filter->loaders, m_filter->versions, "", m_filter->categoryIds });
+
+    netJob->addNetAction(Net::ApiDownload::makeByteArray(QUrl(searchUrl.value()), response));
     jobPtr = netJob;
     jobPtr->start();
     QObject::connect(netJob.get(), &NetJob::succeeded, this, &ListModel::searchRequestFinished);
     QObject::connect(netJob.get(), &NetJob::failed, this, &ListModel::searchRequestFailed);
 }
 
-void ListModel::searchWithTerm(const QString& term, int sort)
+void ListModel::searchWithTerm(const QString& term, int sort, std::shared_ptr<ModFilterWidget::Filter> filter, bool filterChanged)
 {
-    if (currentSearchTerm == term && currentSearchTerm.isNull() == term.isNull() && currentSort == sort) {
+    if (currentSearchTerm == term && currentSearchTerm.isNull() == term.isNull() && currentSort == sort && !filterChanged) {
         return;
     }
     currentSearchTerm = term;
     currentSort = sort;
+    m_filter = filter;
     if (hasActiveSearchJob()) {
         jobPtr->abort();
         searchState = ResetRequested;
diff --git a/launcher/ui/pages/modplatform/flame/FlameModel.h b/launcher/ui/pages/modplatform/flame/FlameModel.h
index 9b6d70fec..026f6d1ee 100644
--- a/launcher/ui/pages/modplatform/flame/FlameModel.h
+++ b/launcher/ui/pages/modplatform/flame/FlameModel.h
@@ -14,6 +14,7 @@
 
 #include <net/NetJob.h>
 #include <functional>
+#include "ui/widgets/ModFilterWidget.h"
 
 #include <modplatform/flame/FlamePackIndex.h>
 
@@ -38,7 +39,7 @@ class ListModel : public QAbstractListModel {
     void fetchMore(const QModelIndex& parent) override;
 
     void getLogo(const QString& logo, const QString& logoUrl, LogoCallback callback);
-    void searchWithTerm(const QString& term, int sort);
+    void searchWithTerm(const QString& term, int sort, std::shared_ptr<ModFilterWidget::Filter> filter, bool filterChanged);
 
     [[nodiscard]] bool hasActiveSearchJob() const { return jobPtr && jobPtr->isRunning(); }
     [[nodiscard]] Task::Ptr activeSearchJob() { return hasActiveSearchJob() ? jobPtr : nullptr; }
@@ -65,6 +66,7 @@ class ListModel : public QAbstractListModel {
 
     QString currentSearchTerm;
     int currentSort = 0;
+    std::shared_ptr<ModFilterWidget::Filter> m_filter;
     int nextSearchOffset = 0;
     enum SearchState { None, CanPossiblyFetchMore, ResetRequested, Finished } searchState = None;
     Task::Ptr jobPtr;
diff --git a/launcher/ui/pages/modplatform/flame/FlamePage.cpp b/launcher/ui/pages/modplatform/flame/FlamePage.cpp
index 4195683e7..62798f4bc 100644
--- a/launcher/ui/pages/modplatform/flame/FlamePage.cpp
+++ b/launcher/ui/pages/modplatform/flame/FlamePage.cpp
@@ -34,10 +34,13 @@
  */
 
 #include "FlamePage.h"
+#include "modplatform/flame/FlamePackIndex.h"
 #include "ui/dialogs/CustomMessageBox.h"
+#include "ui/widgets/ModFilterWidget.h"
 #include "ui_FlamePage.h"
 
 #include <QKeyEvent>
+#include <memory>
 
 #include "Application.h"
 #include "FlameModel.h"
@@ -88,6 +91,7 @@ FlamePage::FlamePage(NewInstanceDialog* dialog, QWidget* parent)
 
     ui->packView->setItemDelegate(new ProjectItemDelegate(this));
     ui->packDescription->setMetaEntry("FlamePacks");
+    createFilterWidget();
 }
 
 FlamePage::~FlamePage()
@@ -131,10 +135,35 @@ void FlamePage::openedImpl()
 
 void FlamePage::triggerSearch()
 {
-    listModel->searchWithTerm(ui->searchEdit->text(), ui->sortByBox->currentIndex());
+    ui->packView->selectionModel()->setCurrentIndex({}, QItemSelectionModel::SelectionFlag::ClearAndSelect);
+    ui->packView->clearSelection();
+    ui->packDescription->clear();
+    ui->versionSelectionBox->clear();
+    listModel->searchWithTerm(ui->searchEdit->text(), ui->sortByBox->currentIndex(), m_filterWidget->getFilter(),
+                              m_filterWidget->changed());
     m_fetch_progress.watch(listModel->activeSearchJob().get());
 }
 
+bool checkMcVersions(std::list<Version> filter, QString value)
+{
+    for (auto mcVersion : filter) {
+        if (value == mcVersion.toString()) {
+            return true;
+        }
+    }
+    return filter.empty();
+}
+
+bool checkVersionFilters(const Flame::IndexedVersion& v, std::shared_ptr<ModFilterWidget::Filter> filter)
+{
+    if (!filter)
+        return true;
+    return ((!filter->loaders || !v.loaders || filter->loaders & v.loaders) &&  // loaders
+            (filter->releases.empty() ||                                        // releases
+             std::find(filter->releases.cbegin(), filter->releases.cend(), v.version_type) != filter->releases.cend()) &&
+            checkMcVersions(filter->versions, v.mcVersion));  // mcVersions}
+}
+
 void FlamePage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelIndex prev)
 {
     ui->versionSelectionBox->clear();
@@ -148,7 +177,7 @@ void FlamePage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelInde
 
     current = listModel->data(curr, Qt::UserRole).value<Flame::IndexedPack>();
 
-    if (current.versionsLoaded == false) {
+    if (!current.versionsLoaded || m_filterWidget->changed()) {
         qDebug() << "Loading flame modpack versions";
         auto netJob = new NetJob(QString("Flame::PackVersions(%1)").arg(current.name), APPLICATION->network());
         auto response = std::make_shared<QByteArray>();
@@ -176,6 +205,16 @@ void FlamePage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelInde
                 qWarning() << "Error while reading flame modpack version: " << e.cause();
             }
 
+            auto pred = [this](const Flame::IndexedVersion& v) { return !checkVersionFilters(v, m_filterWidget->getFilter()); };
+#if QT_VERSION >= QT_VERSION_CHECK(6, 1, 0)
+            current.versions.removeIf(pred);
+#else
+    for (auto it = current.versions.begin(); it != current.versions.end();)
+        if (pred(*it))
+            it = current.versions.erase(it);
+        else
+            ++it;
+#endif
             for (auto version : current.versions) {
                 auto release_type = version.version_type.isValid() ? QString(" [%1]").arg(version.version_type.toString()) : "";
                 auto mcVersion = !version.mcVersion.isEmpty() && !version.version.contains(version.mcVersion)
@@ -308,3 +347,25 @@ void FlamePage::setSearchTerm(QString term)
 {
     ui->searchEdit->setText(term);
 }
+
+void FlamePage::createFilterWidget()
+{
+    auto widget = ModFilterWidget::create(nullptr, false, this);
+    m_filterWidget.swap(widget);
+    auto old = ui->splitter->replaceWidget(0, m_filterWidget.get());
+    // because we replaced the widget we also need to delete it
+    if (old) {
+        delete old;
+    }
+
+    connect(ui->filterButton, &QPushButton::clicked, this, [this] { m_filterWidget->setHidden(!m_filterWidget->isHidden()); });
+
+    connect(m_filterWidget.get(), &ModFilterWidget::filterChanged, this, &FlamePage::triggerSearch);
+    auto response = std::make_shared<QByteArray>();
+    m_categoriesTask = FlameAPI::getCategories(response, ModPlatform::ResourceType::MODPACK);
+    QObject::connect(m_categoriesTask.get(), &Task::succeeded, [this, response]() {
+        auto categories = FlameAPI::loadModCategories(response);
+        m_filterWidget->setCategories(categories);
+    });
+    m_categoriesTask->start();
+}
diff --git a/launcher/ui/pages/modplatform/flame/FlamePage.h b/launcher/ui/pages/modplatform/flame/FlamePage.h
index 45a3c6b22..27c96d2f1 100644
--- a/launcher/ui/pages/modplatform/flame/FlamePage.h
+++ b/launcher/ui/pages/modplatform/flame/FlamePage.h
@@ -41,6 +41,7 @@
 #include <modplatform/flame/FlamePackIndex.h>
 #include <QTimer>
 #include "ui/pages/modplatform/ModpackProviderBasePage.h"
+#include "ui/widgets/ModFilterWidget.h"
 #include "ui/widgets/ProgressWidget.h"
 
 namespace Ui {
@@ -84,6 +85,7 @@ class FlamePage : public QWidget, public ModpackProviderBasePage {
     void triggerSearch();
     void onSelectionChanged(QModelIndex first, QModelIndex second);
     void onVersionSelectionChanged(int index);
+    void createFilterWidget();
 
    private:
     Ui::FlamePage* ui = nullptr;
@@ -97,4 +99,7 @@ class FlamePage : public QWidget, public ModpackProviderBasePage {
 
     // Used to do instant searching with a delay to cache quick changes
     QTimer m_search_timer;
+
+    unique_qobject_ptr<ModFilterWidget> m_filterWidget;
+    Task::Ptr m_categoriesTask;
 };
diff --git a/launcher/ui/pages/modplatform/flame/FlamePage.ui b/launcher/ui/pages/modplatform/flame/FlamePage.ui
index d4ddb37a4..b028e7569 100644
--- a/launcher/ui/pages/modplatform/flame/FlamePage.ui
+++ b/launcher/ui/pages/modplatform/flame/FlamePage.ui
@@ -30,42 +30,59 @@
     </widget>
    </item>
    <item>
-    <widget class="QLineEdit" name="searchEdit">
-     <property name="placeholderText">
-      <string>Search and filter...</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
+    <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
-      <widget class="QListView" name="packView">
-       <property name="horizontalScrollBarPolicy">
-        <enum>Qt::ScrollBarAlwaysOff</enum>
-       </property>
-       <property name="alternatingRowColors">
-        <bool>true</bool>
-       </property>
-       <property name="iconSize">
-        <size>
-         <width>48</width>
-         <height>48</height>
-        </size>
+      <widget class="QLineEdit" name="searchEdit">
+       <property name="placeholderText">
+        <string>Search and filter...</string>
        </property>
       </widget>
      </item>
      <item>
-      <widget class="ProjectDescriptionPage" name="packDescription">
-       <property name="openExternalLinks">
-        <bool>true</bool>
-       </property>
-       <property name="openLinks">
-        <bool>true</bool>
+      <widget class="QPushButton" name="filterButton">
+       <property name="text">
+        <string>Filter</string>
        </property>
       </widget>
      </item>
     </layout>
    </item>
+   <item>
+    <widget class="QSplitter" name="splitter">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <widget class="QWidget" name="widget" native="true"/>
+     <widget class="QListView" name="packView">
+      <property name="horizontalScrollBarPolicy">
+       <enum>Qt::ScrollBarAlwaysOff</enum>
+      </property>
+      <property name="alternatingRowColors">
+       <bool>true</bool>
+      </property>
+      <property name="iconSize">
+       <size>
+        <width>48</width>
+        <height>48</height>
+       </size>
+      </property>
+     </widget>
+     <widget class="ProjectDescriptionPage" name="packDescription">
+      <property name="openExternalLinks">
+       <bool>true</bool>
+      </property>
+      <property name="openLinks">
+       <bool>true</bool>
+      </property>
+     </widget>
+    </widget>
+   </item>
    <item>
     <layout class="QHBoxLayout">
      <item>
diff --git a/launcher/ui/pages/modplatform/flame/FlameResourcePages.cpp b/launcher/ui/pages/modplatform/flame/FlameResourcePages.cpp
index 62c22902e..ce8c03fa1 100644
--- a/launcher/ui/pages/modplatform/flame/FlameResourcePages.cpp
+++ b/launcher/ui/pages/modplatform/flame/FlameResourcePages.cpp
@@ -215,11 +215,11 @@ unique_qobject_ptr<ModFilterWidget> FlameModPage::createFilterWidget()
 void FlameModPage::prepareProviderCategories()
 {
     auto response = std::make_shared<QByteArray>();
-    auto task = FlameAPI::getModCategories(response);
-    QObject::connect(task.get(), &Task::succeeded, [this, response]() {
+    m_categoriesTask = FlameAPI::getModCategories(response);
+    QObject::connect(m_categoriesTask.get(), &Task::succeeded, [this, response]() {
         auto categories = FlameAPI::loadModCategories(response);
         m_filter_widget->setCategories(categories);
     });
-    task->start();
+    m_categoriesTask->start();
 };
 }  // namespace ResourceDownload
diff --git a/launcher/ui/pages/modplatform/flame/FlameResourcePages.h b/launcher/ui/pages/modplatform/flame/FlameResourcePages.h
index 6eef3e435..052706549 100644
--- a/launcher/ui/pages/modplatform/flame/FlameResourcePages.h
+++ b/launcher/ui/pages/modplatform/flame/FlameResourcePages.h
@@ -100,6 +100,9 @@ class FlameModPage : public ModPage {
 
    protected:
     virtual void prepareProviderCategories() override;
+
+   private:
+    Task::Ptr m_categoriesTask;
 };
 
 class FlameResourcePackPage : public ResourcePackResourcePage {
diff --git a/launcher/ui/widgets/ModFilterWidget.cpp b/launcher/ui/widgets/ModFilterWidget.cpp
index bbb91eac2..a048dbe10 100644
--- a/launcher/ui/widgets/ModFilterWidget.cpp
+++ b/launcher/ui/widgets/ModFilterWidget.cpp
@@ -68,6 +68,40 @@ class VersionBasicModel : public QIdentityProxyModel {
     }
 };
 
+class AllVersionProxyModel : public QSortFilterProxyModel {
+    Q_OBJECT
+
+   public:
+    AllVersionProxyModel(QObject* parent = nullptr) : QSortFilterProxyModel(parent) {}
+
+    int rowCount(const QModelIndex& parent = QModelIndex()) const override { return QSortFilterProxyModel::rowCount(parent) + 1; }
+
+    QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override
+    {
+        if (!index.isValid()) {
+            return {};
+        }
+
+        if (index.row() == 0) {
+            if (role == Qt::DisplayRole) {
+                return tr("All Versions");
+            }
+            return {};
+        }
+
+        QModelIndex newIndex = QSortFilterProxyModel::index(index.row() - 1, index.column());
+        return QSortFilterProxyModel::data(newIndex, role);
+    }
+
+    Qt::ItemFlags flags(const QModelIndex& index) const override
+    {
+        if (index.row() == 0) {
+            return Qt::ItemIsSelectable | Qt::ItemIsEnabled;
+        }
+        return QSortFilterProxyModel::flags(index);
+    }
+};
+
 ModFilterWidget::ModFilterWidget(MinecraftInstance* instance, bool extended, QWidget* parent)
     : QTabWidget(parent), ui(new Ui::ModFilterWidget), m_instance(instance), m_filter(new Filter())
 {
@@ -76,9 +110,15 @@ ModFilterWidget::ModFilterWidget(MinecraftInstance* instance, bool extended, QWi
     m_versions_proxy = new VersionProxyModel(this);
     m_versions_proxy->setFilter(BaseVersionList::TypeRole, new ExactFilter("release"));
 
-    auto proxy = new VersionBasicModel(this);
+    QAbstractProxyModel* proxy = new VersionBasicModel(this);
     proxy->setSourceModel(m_versions_proxy);
 
+    if (!m_instance && !extended) {
+        auto allVersions = new AllVersionProxyModel(this);
+        allVersions->setSourceModel(proxy);
+        proxy = allVersions;
+    }
+
     if (extended) {
         ui->versions->setSourceModel(proxy);
         ui->versions->setSeparator(", ");
@@ -162,18 +202,22 @@ void ModFilterWidget::loadVersionList()
 
 void ModFilterWidget::prepareBasicFilter()
 {
-    m_filter->hideInstalled = false;
-    m_filter->side = "";  // or "both"
-    auto loaders = m_instance->getPackProfile()->getSupportedModLoaders().value();
-    ui->neoForge->setChecked(loaders & ModPlatform::NeoForge);
-    ui->forge->setChecked(loaders & ModPlatform::Forge);
-    ui->fabric->setChecked(loaders & ModPlatform::Fabric);
-    ui->quilt->setChecked(loaders & ModPlatform::Quilt);
-    m_filter->loaders = loaders;
-    auto def = m_instance->getPackProfile()->getComponentVersion("net.minecraft");
-    m_filter->versions.emplace_front(def);
-    ui->versions->setCheckedItems({ def });
-    ui->version->setCurrentIndex(ui->version->findText(def));
+    if (m_instance) {
+        m_filter->hideInstalled = false;
+        m_filter->side = "";  // or "both"
+        auto loaders = m_instance->getPackProfile()->getSupportedModLoaders().value();
+        ui->neoForge->setChecked(loaders & ModPlatform::NeoForge);
+        ui->forge->setChecked(loaders & ModPlatform::Forge);
+        ui->fabric->setChecked(loaders & ModPlatform::Fabric);
+        ui->quilt->setChecked(loaders & ModPlatform::Quilt);
+        m_filter->loaders = loaders;
+        auto def = m_instance->getPackProfile()->getComponentVersion("net.minecraft");
+        m_filter->versions.emplace_front(def);
+        ui->versions->setCheckedItems({ def });
+        ui->version->setCurrentIndex(ui->version->findText(def));
+    } else {
+        ui->hideInstalled->hide();
+    }
 }
 
 void ModFilterWidget::onShowAllVersionsChanged()
@@ -249,7 +293,9 @@ void ModFilterWidget::onHideInstalledFilterChanged()
 void ModFilterWidget::onVersionFilterTextChanged(const QString& version)
 {
     m_filter->versions.clear();
-    m_filter->versions.emplace_back(version);
+    if (version != tr("All Versions")) {
+        m_filter->versions.emplace_back(version);
+    }
     m_filter_changed = true;
     emit filterChanged();
 }

From 010678da53c864f08b0f900265aacdca256a4dd8 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 3 Oct 2024 13:46:28 +0000
Subject: [PATCH 077/177] chore(deps): update cachix/install-nix-action action
 to v30

---
 .github/workflows/build.yml        | 2 +-
 .github/workflows/update-flake.yml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ad77d282b..f578839fb 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -658,7 +658,7 @@ jobs:
         uses: actions/checkout@v4
 
       - name: Install Nix
-        uses: cachix/install-nix-action@v29
+        uses: cachix/install-nix-action@v30
 
         # For PRs
       - name: Setup Nix Magic Cache
diff --git a/.github/workflows/update-flake.yml b/.github/workflows/update-flake.yml
index 0c8cfde67..5e978f356 100644
--- a/.github/workflows/update-flake.yml
+++ b/.github/workflows/update-flake.yml
@@ -17,7 +17,7 @@ jobs:
 
     steps:
       - uses: actions/checkout@v4
-      - uses: cachix/install-nix-action@9f70348d77d0422624097c4b7a75563948901306 # v29
+      - uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30
 
       - uses: DeterminateSystems/update-flake-lock@v24
         with:

From bcb1d456d4773f985d3b18d42382400a2c8148e7 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Thu, 3 Oct 2024 21:56:19 -0700
Subject: [PATCH 078/177] fix: version NSCurl plugin in workflow, detect and
 use arm64 vc_redist for arm64

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 .github/workflows/build.yml     | 13 +++++++++++--
 program_info/CMakeLists.txt     | 12 +++++++++---
 program_info/win_install.nsi.in | 14 +++++++-------
 3 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 7345ffe90..16c9290f2 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -81,6 +81,8 @@ jobs:
             qt_arch: ""
             qt_version: "6.7.2"
             qt_modules: "qt5compat qtimageformats qtnetworkauth"
+            nscurl_tag: "v24.9.26.122"
+            nscurl_sha256: "AEE6C4BE3CB6455858E9C1EE4B3AFE0DB9960FA03FE99CCDEDC28390D57CCBB0"
 
           - os: windows-2022
             name: "Windows-MSVC-arm64"
@@ -92,6 +94,8 @@ jobs:
             qt_arch: "win64_msvc2019_arm64"
             qt_version: "6.7.2"
             qt_modules: "qt5compat qtimageformats qtnetworkauth"
+            nscurl_tag: "v24.9.26.122"
+            nscurl_sha256: "AEE6C4BE3CB6455858E9C1EE4B3AFE0DB9960FA03FE99CCDEDC28390D57CCBB0"
 
           - os: macos-14
             name: macOS
@@ -472,8 +476,13 @@ jobs:
         if: runner.os == 'Windows'
         run: |
           New-Item -Name NSISPlugins -ItemType Directory
-          Invoke-Webrequest https://github.com/negrutiu/nsis-nscurl/releases/latest/download/NScurl.zip -OutFile NSISPlugins\NScurl.zip
-          Expand-Archive -Path NSISPlugins\NScurl.zip -DestinationPath NSISPlugins\NSIScurl
+          Invoke-Webrequest https://github.com/negrutiu/nsis-nscurl/releases/download/${{ matrix.nscurl_tag }}/NScurl.zip -OutFile NSISPlugins\NScurl.zip
+          $nscurl_hash = Get-FileHash NSISPlugins\NScurl.zip -Algorithm Sha256 | Select-Object -ExpandProperty Hash
+          if ( $nscurl_hash -ne "${{ matrix.nscurl_sha256 }}") {
+            echo "::error:: NSCurl.zib sha256 mismatch"
+            exit 1
+          }
+          Expand-Archive -Path NSISPlugins\NScurl.zip -DestinationPath NSISPlugins\NScurl
           cd ${{ env.INSTALL_DIR }}
           makensis -NOCD "${{ github.workspace }}/${{ env.BUILD_DIR }}/program_info/win_install.nsi"
 
diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt
index 30a435866..8fb6f68aa 100644
--- a/program_info/CMakeLists.txt
+++ b/program_info/CMakeLists.txt
@@ -44,14 +44,20 @@ configure_file(prismlauncher.ico prismlauncher.ico COPYONLY)
 
 if(MSVC)
     set(Launcher_MSVC_Redist_NSIS_Section [=[
-!ifdef haveNSIScurl
+!ifdef haveNScurl
 Section "Visual Studio Runtime"
+    Var /GLOBAL vc_redist_exe
+    ${If} ${IsNativeARM64}
+        StrCpy $vc_redist_exe "vc_redist.arm64.exe"
+    ${Else}
+        StrCpy $vc_redist_exe "vc_redist.x64.exe"
+    ${EndIf}
     DetailPrint 'Downloading Microsoft Visual C++ Redistributable...'
-    NScurl::http GET "https://aka.ms/vs/17/release/vc_redist.x64.exe" "$INSTDIR\vc_redist\vc_redist.x64.exe" /INSIST /CANCEL /Zone.Identifier /END
+    NScurl::http GET "https://aka.ms/vs/17/release/${vc_redist_exe}" "$INSTDIR\vc_redist\${vc_redist_exe}" /INSIST /CANCEL /Zone.Identifier /END
     Pop $0
     ${If} $0 == "OK"
         DetailPrint "Download successful"
-        ExecWait "$INSTDIR\vc_redist\vc_redist.x64.exe /install /passive /norestart\"
+        ExecWait "$INSTDIR\vc_redist\${vc_redist_exe} /install /passive /norestart\"
     ${Else}
         DetailPrint "Download failed with error $0"
     ${EndIf}
diff --git a/program_info/win_install.nsi.in b/program_info/win_install.nsi.in
index a5c38599d..c0e2b892f 100644
--- a/program_info/win_install.nsi.in
+++ b/program_info/win_install.nsi.in
@@ -349,15 +349,15 @@ SectionEnd
 ;------------------------------------
 ; include nice plugins
 
-; NSIScurl - curl in NSIS
+; NScurl - curl in NSIS
 ; used for MSVS redist download
-; extract to ../NSISPlugins/NSIScurl
+; extract to ../NSISPlugins/NScurl
 ; https://github.com/negrutiu/nsis-nscurl/releases/latest/download/NScurl.zip
-!insertmacro CompileTimeIfFileExist "../NSISPlugins/NSIScurl/Plugins/" haveNSIScurl
-!ifdef haveNSIScurl
-!AddPluginDir /x86-unicode     "../NSISPlugins/NSIScurl/Plugins/x86-unicode"
-!AddPluginDir /x86-ansi        "../NSISPlugins/NSIScurl/Plugins/x86-ansi"
-!AddPluginDir /amd64-unicode   "../NSISPlugins/NSIScurl/Plugins/amd64-unicode"
+!insertmacro CompileTimeIfFileExist "../NSISPlugins/NScurl/Plugins/" haveNScurl
+!ifdef haveNScurl
+!AddPluginDir /x86-unicode     "../NSISPlugins/NScurl/Plugins/x86-unicode"
+!AddPluginDir /x86-ansi        "../NSISPlugins/NScurl/Plugins/x86-ansi"
+!AddPluginDir /amd64-unicode   "../NSISPlugins/NScurl/Plugins/amd64-unicode"
 !endif
 
 ;------------------------------------

From 63172540fb467386864ae22356999451dd2ebe08 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Thu, 3 Oct 2024 22:38:30 -0700
Subject: [PATCH 079/177] fix: nisi needs `!include` "x64.nsh" now.  also,
 there were some broken varible

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 program_info/CMakeLists.txt     | 4 ++--
 program_info/win_install.nsi.in | 8 +++++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt
index 8fb6f68aa..ee2e336b1 100644
--- a/program_info/CMakeLists.txt
+++ b/program_info/CMakeLists.txt
@@ -53,11 +53,11 @@ Section "Visual Studio Runtime"
         StrCpy $vc_redist_exe "vc_redist.x64.exe"
     ${EndIf}
     DetailPrint 'Downloading Microsoft Visual C++ Redistributable...'
-    NScurl::http GET "https://aka.ms/vs/17/release/${vc_redist_exe}" "$INSTDIR\vc_redist\${vc_redist_exe}" /INSIST /CANCEL /Zone.Identifier /END
+    NScurl::http GET "https://aka.ms/vs/17/release/$vc_redist_exe" "$INSTDIR\vc_redist\$vc_redist_exe" /INSIST /CANCEL /Zone.Identifier /END
     Pop $0
     ${If} $0 == "OK"
         DetailPrint "Download successful"
-        ExecWait "$INSTDIR\vc_redist\${vc_redist_exe} /install /passive /norestart\"
+        ExecWait "$INSTDIR\vc_redist\$vc_redist_exe /install /passive /norestart\"
     ${Else}
         DetailPrint "Download failed with error $0"
     ${EndIf}
diff --git a/program_info/win_install.nsi.in b/program_info/win_install.nsi.in
index c0e2b892f..24f6ee4e8 100644
--- a/program_info/win_install.nsi.in
+++ b/program_info/win_install.nsi.in
@@ -2,6 +2,8 @@
 !include "LogicLib.nsh"
 !include "MUI2.nsh"
 
+!include "x64.nsh"
+
 Unicode true
 
 Name "@Launcher_DisplayName@"
@@ -185,7 +187,7 @@ VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "@Launcher_VERSION_NAME4@
 
 !macroend
 
-!macro APP_UNASSOCIATE EXT APP_ID
+!macro APP_UNASSOCIATE EXT APP_ID APP_EXE
 
   # Unregister file type
   ClearErrors
@@ -489,8 +491,8 @@ Section -un.ShellAssoc
   
   !insertmacro APP_TEARDOWN_DEFAULT `${APPID}` `${APPNAME}` `${APPEXE}`
 
-  !insertmacro APP_UNASSOCIATE ".zip" `${APPID}`
-  !insertmacro APP_UNASSOCIATE ".mrpack" `${APPID}`
+  !insertmacro APP_UNASSOCIATE ".zip" `${APPID}` `${APPEXE}`
+  !insertmacro APP_UNASSOCIATE ".mrpack" `${APPID}` `${APPEXE}`
 
   !insertmacro NotifyShell_AssocChanged
 SectionEnd

From 023aa18e852ab1b570b378609edee1e7bbcd1588 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Thu, 3 Oct 2024 23:14:29 -0700
Subject: [PATCH 080/177] ci: NSCurl only needed on MSVC

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 .github/workflows/build.yml | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 16c9290f2..4063df355 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -475,14 +475,16 @@ jobs:
       - name: Package (Windows, installer)
         if: runner.os == 'Windows'
         run: |
-          New-Item -Name NSISPlugins -ItemType Directory
-          Invoke-Webrequest https://github.com/negrutiu/nsis-nscurl/releases/download/${{ matrix.nscurl_tag }}/NScurl.zip -OutFile NSISPlugins\NScurl.zip
-          $nscurl_hash = Get-FileHash NSISPlugins\NScurl.zip -Algorithm Sha256 | Select-Object -ExpandProperty Hash
-          if ( $nscurl_hash -ne "${{ matrix.nscurl_sha256 }}") {
-            echo "::error:: NSCurl.zib sha256 mismatch"
-            exit 1
+          if ('${{ matrix.nscurl_tag }}') {
+            New-Item -Name NSISPlugins -ItemType Directory
+            Invoke-Webrequest https://github.com/negrutiu/nsis-nscurl/releases/download/${{ matrix.nscurl_tag }}/NScurl.zip -OutFile NSISPlugins\NScurl.zip
+            $nscurl_hash = Get-FileHash NSISPlugins\NScurl.zip -Algorithm Sha256 | Select-Object -ExpandProperty Hash
+            if ( $nscurl_hash -ne "${{ matrix.nscurl_sha256 }}") {
+              echo "::error:: NSCurl.zib sha256 mismatch"
+              exit 1
+            }
+            Expand-Archive -Path NSISPlugins\NScurl.zip -DestinationPath NSISPlugins\NScurl
           }
-          Expand-Archive -Path NSISPlugins\NScurl.zip -DestinationPath NSISPlugins\NScurl
           cd ${{ env.INSTALL_DIR }}
           makensis -NOCD "${{ github.workspace }}/${{ env.BUILD_DIR }}/program_info/win_install.nsi"
 

From a61c93bedefced10b59c310daa567e31cb30f967 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Fri, 4 Oct 2024 07:06:19 -0700
Subject: [PATCH 081/177] Update .github/workflows/build.yml

Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 .github/workflows/build.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4063df355..98caa901d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -480,7 +480,7 @@ jobs:
             Invoke-Webrequest https://github.com/negrutiu/nsis-nscurl/releases/download/${{ matrix.nscurl_tag }}/NScurl.zip -OutFile NSISPlugins\NScurl.zip
             $nscurl_hash = Get-FileHash NSISPlugins\NScurl.zip -Algorithm Sha256 | Select-Object -ExpandProperty Hash
             if ( $nscurl_hash -ne "${{ matrix.nscurl_sha256 }}") {
-              echo "::error:: NSCurl.zib sha256 mismatch"
+              echo "::error:: NSCurl.zip sha256 mismatch"
               exit 1
             }
             Expand-Archive -Path NSISPlugins\NScurl.zip -DestinationPath NSISPlugins\NScurl

From 859fac604bf698755e73083625c75969b59c5e8a Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 4 Oct 2024 17:06:47 +0300
Subject: [PATCH 082/177] add modrinth modpack filter

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/Version.cpp                          | 15 +++-
 launcher/Version.h                            |  2 +
 launcher/modplatform/flame/FlameAPI.h         |  8 +--
 launcher/modplatform/modrinth/ModrinthAPI.h   | 19 +++--
 .../modrinth/ModrinthPackManifest.cpp         | 15 ++++
 .../modrinth/ModrinthPackManifest.h           |  1 +
 launcher/ui/pages/modplatform/ModModel.cpp    | 12 ----
 .../ui/pages/modplatform/flame/FlamePage.cpp  | 13 +---
 .../modplatform/modrinth/ModrinthModel.cpp    | 41 +++++------
 .../modplatform/modrinth/ModrinthModel.h      |  5 +-
 .../modplatform/modrinth/ModrinthPage.cpp     | 53 +++++++++++++-
 .../pages/modplatform/modrinth/ModrinthPage.h |  5 ++
 .../modplatform/modrinth/ModrinthPage.ui      | 69 ++++++++++++-------
 13 files changed, 170 insertions(+), 88 deletions(-)

diff --git a/launcher/Version.cpp b/launcher/Version.cpp
index 511aa9c35..e43d9d3f7 100644
--- a/launcher/Version.cpp
+++ b/launcher/Version.cpp
@@ -123,8 +123,19 @@ QDebug operator<<(QDebug debug, const Version& v)
         first = false;
     }
 
-    debug.nospace() << " ]"
-                    << " }";
+    debug.nospace() << " ]" << " }";
 
     return debug;
 }
+
+bool checkMcVersions(std::list<Version> filter, QStringList value)
+{
+    bool valid = false;
+    for (auto mcVersion : filter) {
+        if (value.contains(mcVersion.toString())) {
+            valid = true;
+            break;
+        }
+    }
+    return filter.empty() || valid;
+}
diff --git a/launcher/Version.h b/launcher/Version.h
index b06e256aa..f596bfeba 100644
--- a/launcher/Version.h
+++ b/launcher/Version.h
@@ -161,3 +161,5 @@ class Version {
 
     void parse();
 };
+
+bool checkMcVersions(std::list<Version> filter, QStringList value);
diff --git a/launcher/modplatform/flame/FlameAPI.h b/launcher/modplatform/flame/FlameAPI.h
index c66ece8a3..4abaff4ea 100644
--- a/launcher/modplatform/flame/FlameAPI.h
+++ b/launcher/modplatform/flame/FlameAPI.h
@@ -88,9 +88,6 @@ class FlameAPI : public NetworkResourceAPI {
    public:
     static std::optional<QString> getStaticSearchURL(SearchArgs const& args)
     {
-        auto gameVersionStr =
-            args.versions.has_value() ? QString("gameVersion=%1").arg(args.versions.value().front().toString()) : QString();
-
         QStringList get_arguments;
         get_arguments.append(QString("classId=%1").arg(getClassId(args.type)));
         get_arguments.append(QString("index=%1").arg(args.offset));
@@ -100,12 +97,13 @@ class FlameAPI : public NetworkResourceAPI {
         if (args.sorting.has_value())
             get_arguments.append(QString("sortField=%1").arg(args.sorting.value().index));
         get_arguments.append("sortOrder=desc");
-        if (args.loaders.has_value())
+        if (args.loaders.has_value() && args.loaders.value() != 0)
             get_arguments.append(QString("modLoaderTypes=%1").arg(getModLoaderFilters(args.loaders.value())));
         if (args.categoryIds.has_value() && !args.categoryIds->empty())
             get_arguments.append(QString("categoryIds=[%1]").arg(args.categoryIds->join(",")));
 
-        get_arguments.append(gameVersionStr);
+        if (args.versions.has_value() && !args.versions.value().empty())
+            get_arguments.append(QString("gameVersion=%1").arg(args.versions.value().front().toString()));
 
         return "https://api.curseforge.com/v1/mods/search?gameId=432&" + get_arguments.join('&');
     }
diff --git a/launcher/modplatform/modrinth/ModrinthAPI.h b/launcher/modplatform/modrinth/ModrinthAPI.h
index 07be06756..b84d281aa 100644
--- a/launcher/modplatform/modrinth/ModrinthAPI.h
+++ b/launcher/modplatform/modrinth/ModrinthAPI.h
@@ -91,6 +91,8 @@ class ModrinthAPI : public NetworkResourceAPI {
                 return "resourcepack";
             case ModPlatform::ResourceType::SHADER_PACK:
                 return "shader";
+            case ModPlatform::ResourceType::MODPACK:
+                return "modpack";
             default:
                 qWarning() << "Invalid resource type for Modrinth API!";
                 break;
@@ -99,13 +101,13 @@ class ModrinthAPI : public NetworkResourceAPI {
         return "";
     }
 
-    [[nodiscard]] QString createFacets(SearchArgs const& args) const
+    [[nodiscard]] static QString createFacets(SearchArgs const& args)
     {
         QStringList facets_list;
 
-        if (args.loaders.has_value())
+        if (args.loaders.has_value() && args.loaders.value() != 0)
             facets_list.append(QString("[%1]").arg(getModLoaderFilters(args.loaders.value())));
-        if (args.versions.has_value())
+        if (args.versions.has_value() && !args.versions.value().empty())
             facets_list.append(QString("[%1]").arg(getGameVersionsArray(args.versions.value())));
         if (args.side.has_value()) {
             auto side = getSideFilters(args.side.value());
@@ -121,9 +123,9 @@ class ModrinthAPI : public NetworkResourceAPI {
     }
 
    public:
-    [[nodiscard]] inline auto getSearchURL(SearchArgs const& args) const -> std::optional<QString> override
+    static std::optional<QString> getStaticSearchURL(SearchArgs const& args)
     {
-        if (args.loaders.has_value()) {
+        if (args.loaders.has_value() && args.loaders.value() != 0) {
             if (!validateModLoaders(args.loaders.value())) {
                 qWarning() << "Modrinth - or our interface - does not support any the provided mod loaders!";
                 return {};
@@ -142,6 +144,11 @@ class ModrinthAPI : public NetworkResourceAPI {
         return BuildConfig.MODRINTH_PROD_URL + "/search?" + get_arguments.join('&');
     };
 
+    [[nodiscard]] inline auto getSearchURL(SearchArgs const& args) const -> std::optional<QString> override
+    {
+        return getStaticSearchURL(args);
+    }
+
     inline auto getInfoURL(QString const& id) const -> std::optional<QString> override
     {
         return BuildConfig.MODRINTH_PROD_URL + "/project/" + id;
@@ -164,7 +171,7 @@ class ModrinthAPI : public NetworkResourceAPI {
             .arg(BuildConfig.MODRINTH_PROD_URL, args.pack.addonId.toString(), get_arguments.isEmpty() ? "" : "?", get_arguments.join('&'));
     };
 
-    auto getGameVersionsArray(std::list<Version> mcVersions) const -> QString
+    static QString getGameVersionsArray(std::list<Version> mcVersions)
     {
         QString s;
         for (auto& ver : mcVersions) {
diff --git a/launcher/modplatform/modrinth/ModrinthPackManifest.cpp b/launcher/modplatform/modrinth/ModrinthPackManifest.cpp
index f360df43a..c52a1743b 100644
--- a/launcher/modplatform/modrinth/ModrinthPackManifest.cpp
+++ b/launcher/modplatform/modrinth/ModrinthPackManifest.cpp
@@ -135,6 +135,21 @@ auto loadIndexedVersion(QJsonObject& obj) -> ModpackVersion
     if (!gameVersions.isEmpty()) {
         file.gameVersion = Json::ensureString(gameVersions[0]);
     }
+    auto loaders = Json::requireArray(obj, "loaders");
+    for (auto loader : loaders) {
+        if (loader == "neoforge")
+            file.loaders |= ModPlatform::NeoForge;
+        else if (loader == "forge")
+            file.loaders |= ModPlatform::Forge;
+        else if (loader == "cauldron")
+            file.loaders |= ModPlatform::Cauldron;
+        else if (loader == "liteloader")
+            file.loaders |= ModPlatform::LiteLoader;
+        else if (loader == "fabric")
+            file.loaders |= ModPlatform::Fabric;
+        else if (loader == "quilt")
+            file.loaders |= ModPlatform::Quilt;
+    }
     file.version_type = ModPlatform::IndexedVersionType(Json::requireString(obj, "version_type"));
     file.changelog = Json::ensureString(obj, "changelog");
 
diff --git a/launcher/modplatform/modrinth/ModrinthPackManifest.h b/launcher/modplatform/modrinth/ModrinthPackManifest.h
index 2bd61c5d9..2e5e2da84 100644
--- a/launcher/modplatform/modrinth/ModrinthPackManifest.h
+++ b/launcher/modplatform/modrinth/ModrinthPackManifest.h
@@ -87,6 +87,7 @@ struct ModpackVersion {
     QString gameVersion;
     ModPlatform::IndexedVersionType version_type;
     QString changelog;
+    ModPlatform::ModLoaderTypes loaders = {};
 
     QString id;
     QString project_id;
diff --git a/launcher/ui/pages/modplatform/ModModel.cpp b/launcher/ui/pages/modplatform/ModModel.cpp
index e87a423fa..dfc308566 100644
--- a/launcher/ui/pages/modplatform/ModModel.cpp
+++ b/launcher/ui/pages/modplatform/ModModel.cpp
@@ -104,18 +104,6 @@ bool checkSide(QString filter, QString value)
     return filter.isEmpty() || value.isEmpty() || filter == "both" || value == "both" || filter == value;
 }
 
-bool checkMcVersions(std::list<Version> filter, QStringList value)
-{
-    bool valid = false;
-    for (auto mcVersion : filter) {
-        if (value.contains(mcVersion.toString())) {
-            valid = true;
-            break;
-        }
-    }
-    return filter.empty() || valid;
-}
-
 bool ModModel::checkFilters(ModPlatform::IndexedPack::Ptr pack)
 {
     if (!m_filter)
diff --git a/launcher/ui/pages/modplatform/flame/FlamePage.cpp b/launcher/ui/pages/modplatform/flame/FlamePage.cpp
index 62798f4bc..b92401988 100644
--- a/launcher/ui/pages/modplatform/flame/FlamePage.cpp
+++ b/launcher/ui/pages/modplatform/flame/FlamePage.cpp
@@ -34,6 +34,7 @@
  */
 
 #include "FlamePage.h"
+#include "Version.h"
 #include "modplatform/flame/FlamePackIndex.h"
 #include "ui/dialogs/CustomMessageBox.h"
 #include "ui/widgets/ModFilterWidget.h"
@@ -144,16 +145,6 @@ void FlamePage::triggerSearch()
     m_fetch_progress.watch(listModel->activeSearchJob().get());
 }
 
-bool checkMcVersions(std::list<Version> filter, QString value)
-{
-    for (auto mcVersion : filter) {
-        if (value == mcVersion.toString()) {
-            return true;
-        }
-    }
-    return filter.empty();
-}
-
 bool checkVersionFilters(const Flame::IndexedVersion& v, std::shared_ptr<ModFilterWidget::Filter> filter)
 {
     if (!filter)
@@ -161,7 +152,7 @@ bool checkVersionFilters(const Flame::IndexedVersion& v, std::shared_ptr<ModFilt
     return ((!filter->loaders || !v.loaders || filter->loaders & v.loaders) &&  // loaders
             (filter->releases.empty() ||                                        // releases
              std::find(filter->releases.cbegin(), filter->releases.cend(), v.version_type) != filter->releases.cend()) &&
-            checkMcVersions(filter->versions, v.mcVersion));  // mcVersions}
+            checkMcVersions(filter->versions, { v.mcVersion }));  // mcVersions}
 }
 
 void FlamePage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelIndex prev)
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthModel.cpp b/launcher/ui/pages/modplatform/modrinth/ModrinthModel.cpp
index b53eea4ef..132150bd2 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthModel.cpp
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthModel.cpp
@@ -152,33 +152,26 @@ void ModpackListModel::performPaginatedSearch()
             return;
         }
     }  // TODO: Move to standalone API
+    ResourceAPI::SortingMethod sort{};
+    sort.name = currentSort;
+    auto searchUrl = ModrinthAPI::getStaticSearchURL({ ModPlatform::ResourceType::MODPACK, nextSearchOffset, currentSearchTerm, sort,
+                                                       m_filter->loaders, m_filter->versions, "", m_filter->categoryIds });
+
     auto netJob = makeShared<NetJob>("Modrinth::SearchModpack", APPLICATION->network());
-    auto searchAllUrl = QString(BuildConfig.MODRINTH_PROD_URL +
-                                "/search?"
-                                "offset=%1&"
-                                "limit=%2&"
-                                "query=%3&"
-                                "index=%4&"
-                                "facets=[[\"project_type:modpack\"]]")
-                            .arg(nextSearchOffset)
-                            .arg(m_modpacks_per_page)
-                            .arg(currentSearchTerm)
-                            .arg(currentSort);
-
-    netJob->addNetAction(Net::ApiDownload::makeByteArray(QUrl(searchAllUrl), m_all_response));
+    netJob->addNetAction(Net::ApiDownload::makeByteArray(QUrl(searchUrl.value()), m_allResponse));
 
     QObject::connect(netJob.get(), &NetJob::succeeded, this, [this] {
-        QJsonParseError parse_error_all{};
+        QJsonParseError parseError{};
 
-        QJsonDocument doc_all = QJsonDocument::fromJson(*m_all_response, &parse_error_all);
-        if (parse_error_all.error != QJsonParseError::NoError) {
-            qWarning() << "Error while parsing JSON response from " << debugName() << " at " << parse_error_all.offset
-                       << " reason: " << parse_error_all.errorString();
-            qWarning() << *m_all_response;
+        QJsonDocument doc = QJsonDocument::fromJson(*m_allResponse, &parseError);
+        if (parseError.error != QJsonParseError::NoError) {
+            qWarning() << "Error while parsing JSON response from " << debugName() << " at " << parseError.offset
+                       << " reason: " << parseError.errorString();
+            qWarning() << *m_allResponse;
             return;
         }
 
-        searchRequestFinished(doc_all);
+        searchRequestFinished(doc);
     });
     QObject::connect(netJob.get(), &NetJob::failed, this, &ModpackListModel::searchRequestFailed);
 
@@ -220,19 +213,23 @@ static auto sortFromIndex(int index) -> QString
     }
 }
 
-void ModpackListModel::searchWithTerm(const QString& term, const int sort)
+void ModpackListModel::searchWithTerm(const QString& term,
+                                      const int sort,
+                                      std::shared_ptr<ModFilterWidget::Filter> filter,
+                                      bool filterChanged)
 {
     if (sort > 5 || sort < 0)
         return;
 
     auto sort_str = sortFromIndex(sort);
 
-    if (currentSearchTerm == term && currentSearchTerm.isNull() == term.isNull() && currentSort == sort_str) {
+    if (currentSearchTerm == term && currentSearchTerm.isNull() == term.isNull() && currentSort == sort_str && !filterChanged) {
         return;
     }
 
     currentSearchTerm = term;
     currentSort = sort_str;
+    m_filter = filter;
 
     refresh();
 }
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthModel.h b/launcher/ui/pages/modplatform/modrinth/ModrinthModel.h
index 514ee4484..640ddf688 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthModel.h
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthModel.h
@@ -71,7 +71,7 @@ class ModpackListModel : public QAbstractListModel {
     /* Ask the API for more information */
     void fetchMore(const QModelIndex& parent) override;
     void refresh();
-    void searchWithTerm(const QString& term, int sort);
+    void searchWithTerm(const QString& term, int sort, std::shared_ptr<ModFilterWidget::Filter> filter, bool filterChanged);
 
     [[nodiscard]] bool hasActiveSearchJob() const { return jobPtr && jobPtr->isRunning(); }
     [[nodiscard]] Task::Ptr activeSearchJob() { return hasActiveSearchJob() ? jobPtr : nullptr; }
@@ -112,12 +112,13 @@ class ModpackListModel : public QAbstractListModel {
 
     QString currentSearchTerm;
     QString currentSort;
+    std::shared_ptr<ModFilterWidget::Filter> m_filter;
     int nextSearchOffset = 0;
     enum SearchState { None, CanPossiblyFetchMore, ResetRequested, Finished } searchState = None;
 
     Task::Ptr jobPtr;
 
-    std::shared_ptr<QByteArray> m_all_response = std::make_shared<QByteArray>();
+    std::shared_ptr<QByteArray> m_allResponse = std::make_shared<QByteArray>();
     QByteArray m_specific_response;
 
     int m_modpacks_per_page = 20;
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
index a000044fa..ff21e8c37 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
@@ -35,6 +35,8 @@
  */
 
 #include "ModrinthPage.h"
+#include "Version.h"
+#include "modplatform/modrinth/ModrinthAPI.h"
 #include "ui/dialogs/CustomMessageBox.h"
 #include "ui_ModrinthPage.h"
 
@@ -58,6 +60,7 @@ ModrinthPage::ModrinthPage(NewInstanceDialog* dialog, QWidget* parent)
     : QWidget(parent), ui(new Ui::ModrinthPage), dialog(dialog), m_fetch_progress(this, false)
 {
     ui->setupUi(this);
+    createFilterWidget();
 
     ui->searchEdit->installEventFilter(this);
     m_model = new Modrinth::ModpackListModel(this);
@@ -126,6 +129,16 @@ bool ModrinthPage::eventFilter(QObject* watched, QEvent* event)
     return QObject::eventFilter(watched, event);
 }
 
+bool checkVersionFilters(const Modrinth::ModpackVersion& v, std::shared_ptr<ModFilterWidget::Filter> filter)
+{
+    if (!filter)
+        return true;
+    return ((!filter->loaders || !v.loaders || filter->loaders & v.loaders) &&  // loaders
+            (filter->releases.empty() ||                                        // releases
+             std::find(filter->releases.cbegin(), filter->releases.cend(), v.version_type) != filter->releases.cend()) &&
+            checkMcVersions(filter->versions, { v.gameVersion }));  // gameVersion}
+}
+
 void ModrinthPage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelIndex prev)
 {
     ui->versionSelectionBox->clear();
@@ -190,7 +203,7 @@ void ModrinthPage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelI
     } else
         updateUI();
 
-    if (!current.versionsLoaded) {
+    if (!current.versionsLoaded || m_filterWidget->changed()) {
         qDebug() << "Loading modrinth modpack versions";
 
         auto netJob = new NetJob(QString("Modrinth::PackVersions(%1)").arg(current.name), APPLICATION->network());
@@ -221,6 +234,16 @@ void ModrinthPage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelI
                 qDebug() << *response;
                 qWarning() << "Error while reading modrinth modpack version: " << e.cause();
             }
+            auto pred = [this](const Modrinth::ModpackVersion& v) { return !checkVersionFilters(v, m_filterWidget->getFilter()); };
+#if QT_VERSION >= QT_VERSION_CHECK(6, 1, 0)
+            current.versions.removeIf(pred);
+#else
+    for (auto it = current.versions.begin(); it != current.versions.end();)
+        if (pred(*it))
+            it = current.versions.erase(it);
+        else
+            ++it;
+#endif
             for (auto version : current.versions) {
                 auto release_type = version.version_type.isValid() ? QString(" [%1]").arg(version.version_type.toString()) : "";
                 auto mcVersion = !version.gameVersion.isEmpty() && !version.name.contains(version.gameVersion)
@@ -338,7 +361,11 @@ void ModrinthPage::suggestCurrent()
 
 void ModrinthPage::triggerSearch()
 {
-    m_model->searchWithTerm(ui->searchEdit->text(), ui->sortByBox->currentIndex());
+    ui->packView->selectionModel()->setCurrentIndex({}, QItemSelectionModel::SelectionFlag::ClearAndSelect);
+    ui->packView->clearSelection();
+    ui->packDescription->clear();
+    ui->versionSelectionBox->clear();
+    m_model->searchWithTerm(ui->searchEdit->text(), ui->sortByBox->currentIndex(), m_filterWidget->getFilter(), m_filterWidget->changed());
     m_fetch_progress.watch(m_model->activeSearchJob().get());
 }
 
@@ -361,3 +388,25 @@ QString ModrinthPage::getSerachTerm() const
 {
     return ui->searchEdit->text();
 }
+
+void ModrinthPage::createFilterWidget()
+{
+    auto widget = ModFilterWidget::create(nullptr, false, this);
+    m_filterWidget.swap(widget);
+    auto old = ui->splitter->replaceWidget(0, m_filterWidget.get());
+    // because we replaced the widget we also need to delete it
+    if (old) {
+        delete old;
+    }
+
+    connect(ui->filterButton, &QPushButton::clicked, this, [this] { m_filterWidget->setHidden(!m_filterWidget->isHidden()); });
+
+    connect(m_filterWidget.get(), &ModFilterWidget::filterChanged, this, &ModrinthPage::triggerSearch);
+    auto response = std::make_shared<QByteArray>();
+    m_categoriesTask = ModrinthAPI::getModCategories(response);
+    QObject::connect(m_categoriesTask.get(), &Task::succeeded, [this, response]() {
+        auto categories = ModrinthAPI::loadCategories(response, "modpack");
+        m_filterWidget->setCategories(categories);
+    });
+    m_categoriesTask->start();
+}
\ No newline at end of file
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.h b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.h
index dd99e0d29..7f504cdbd 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.h
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.h
@@ -41,6 +41,7 @@
 
 #include "modplatform/modrinth/ModrinthPackManifest.h"
 #include "ui/pages/modplatform/ModpackProviderBasePage.h"
+#include "ui/widgets/ModFilterWidget.h"
 #include "ui/widgets/ProgressWidget.h"
 
 #include <QTimer>
@@ -87,6 +88,7 @@ class ModrinthPage : public QWidget, public ModpackProviderBasePage {
     void onSelectionChanged(QModelIndex first, QModelIndex second);
     void onVersionSelectionChanged(int index);
     void triggerSearch();
+    void createFilterWidget();
 
    private:
     Ui::ModrinthPage* ui;
@@ -100,4 +102,7 @@ class ModrinthPage : public QWidget, public ModpackProviderBasePage {
 
     // Used to do instant searching with a delay to cache quick changes
     QTimer m_search_timer;
+
+    unique_qobject_ptr<ModFilterWidget> m_filterWidget;
+    Task::Ptr m_categoriesTask;
 };
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.ui b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.ui
index 7f4f903f6..ef44abb52 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.ui
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.ui
@@ -12,42 +12,59 @@
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
-    <widget class="QLineEdit" name="searchEdit">
-     <property name="placeholderText">
-      <string>Search and filter ...</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
+    <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
-      <widget class="QListView" name="packView">
-       <property name="horizontalScrollBarPolicy">
-        <enum>Qt::ScrollBarAlwaysOff</enum>
-       </property>
-       <property name="alternatingRowColors">
-        <bool>true</bool>
-       </property>
-       <property name="iconSize">
-        <size>
-         <width>48</width>
-         <height>48</height>
-        </size>
+      <widget class="QLineEdit" name="searchEdit">
+       <property name="placeholderText">
+        <string>Search and filter...</string>
        </property>
       </widget>
      </item>
      <item>
-      <widget class="ProjectDescriptionPage" name="packDescription">
-       <property name="openExternalLinks">
-        <bool>true</bool>
-       </property>
-       <property name="openLinks">
-        <bool>true</bool>
+      <widget class="QPushButton" name="filterButton">
+       <property name="text">
+        <string>Filter</string>
        </property>
       </widget>
      </item>
     </layout>
    </item>
+   <item>
+    <widget class="QSplitter" name="splitter">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <widget class="QWidget" name="widget" native="true"/>
+     <widget class="QListView" name="packView">
+      <property name="horizontalScrollBarPolicy">
+       <enum>Qt::ScrollBarAlwaysOff</enum>
+      </property>
+      <property name="alternatingRowColors">
+       <bool>true</bool>
+      </property>
+      <property name="iconSize">
+       <size>
+        <width>48</width>
+        <height>48</height>
+       </size>
+      </property>
+     </widget>
+     <widget class="ProjectDescriptionPage" name="packDescription">
+      <property name="openExternalLinks">
+       <bool>true</bool>
+      </property>
+      <property name="openLinks">
+       <bool>true</bool>
+      </property>
+     </widget>
+    </widget>
+   </item>
    <item>
     <layout class="QHBoxLayout">
      <item>

From cc0c9d208dc4b686a254138f71465199a895ee3a Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 4 Oct 2024 22:22:10 +0000
Subject: [PATCH 083/177] chore(deps): update actions/cache action to v4.1.0

---
 .github/workflows/build.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ad77d282b..a659e162c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -169,7 +169,7 @@ jobs:
 
       - name: Retrieve ccache cache (Windows MinGW-w64)
         if: runner.os == 'Windows' && matrix.msystem != '' && inputs.build_type == 'Debug'
-        uses: actions/cache@v4.0.2
+        uses: actions/cache@v4.1.0
         with:
           path: '${{ github.workspace }}\.ccache'
           key: ${{ matrix.os }}-mingw-w64-ccache-${{ github.run_id }}

From f7bd76c7d4ce0d834f259e4d085b726e8117bd29 Mon Sep 17 00:00:00 2001
From: arnfaldur <a.arnaldur+git@gmail.com>
Date: Sat, 5 Oct 2024 17:58:53 +0000
Subject: [PATCH 084/177] flatpak: don't cleanup libGLU

The mod AAA Particles (found in the modpack Prominence II RPG) fails to start due to a missing `libGLU.so.1` file.
Removing this cleanup command fixes the issue and makes the modpack run without issue.

I reproduced the issue at the head of the develop branch, with and without the change. No other issue was detected by adding the library, and I could not find the initial justification for removing it.

Signed-off-by: arnfaldur <a.arnaldur+git@gmail.com>
---
 flatpak/org.prismlauncher.PrismLauncher.yml | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/flatpak/org.prismlauncher.PrismLauncher.yml b/flatpak/org.prismlauncher.PrismLauncher.yml
index bd09f7fd8..71e6dd11e 100644
--- a/flatpak/org.prismlauncher.PrismLauncher.yml
+++ b/flatpak/org.prismlauncher.PrismLauncher.yml
@@ -22,9 +22,6 @@ finish-args:
     # FTBApp import
   - --filesystem=~/.ftba:ro
 
-cleanup:
-  - /lib/libGLU*
-
 modules:
   # Might be needed by some Controller mods (see https://github.com/isXander/Controlify/issues/31)
   - shared-modules/libusb/libusb.json

From 03294f0000eba56edc39cbd80cc53418a2429528 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Sun, 6 Oct 2024 00:24:57 +0000
Subject: [PATCH 085/177] chore(nix): update lockfile
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1925c603f17fc89f4c8f6bf6f631a802ad85d784?narHash=sha256-J%2BPeFKSDV%2BpHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI%3D' (2024-09-26)
  → 'github:NixOS/nixpkgs/bc947f541ae55e999ffdb4013441347d83b00feb?narHash=sha256-NOiTvBbRLIOe5F6RbHaAh6%2B%2BBNjsb149fGZd1T4%2BKBg%3D' (2024-10-04)
---
 flake.lock | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/flake.lock b/flake.lock
index 7667a8688..6897c162d 100644
--- a/flake.lock
+++ b/flake.lock
@@ -49,11 +49,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1727348695,
-        "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
+        "lastModified": 1728018373,
+        "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
+        "rev": "bc947f541ae55e999ffdb4013441347d83b00feb",
         "type": "github"
       },
       "original": {

From d5990cca4318121dea8d6b669abdada64944c88b Mon Sep 17 00:00:00 2001
From: TheKodeToad <TheKodeToad@proton.me>
Date: Sun, 6 Oct 2024 13:51:36 +0100
Subject: [PATCH 086/177] Disable retry for private pack fetch

This is already handled with a dialog asking whether you want it to be removed.

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
---
 launcher/modplatform/legacy_ftb/PackFetchTask.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/launcher/modplatform/legacy_ftb/PackFetchTask.cpp b/launcher/modplatform/legacy_ftb/PackFetchTask.cpp
index 8f1a6e2ff..a0beeddcc 100644
--- a/launcher/modplatform/legacy_ftb/PackFetchTask.cpp
+++ b/launcher/modplatform/legacy_ftb/PackFetchTask.cpp
@@ -74,6 +74,7 @@ void PackFetchTask::fetchPrivate(const QStringList& toFetch)
         auto data = std::make_shared<QByteArray>();
         NetJob* job = new NetJob("Fetching private pack", m_network);
         job->addNetAction(Net::ApiDownload::makeByteArray(privatePackBaseUrl.arg(packCode), data));
+        job->setAskRetry(false);
 
         QObject::connect(job, &NetJob::succeeded, this, [this, job, data, packCode] {
             ModpackList packs;

From 6e5f616ced96acee9a9aad76193f82e6a0c2cd27 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sun, 6 Oct 2024 23:33:24 +0300
Subject: [PATCH 087/177] move checkMcVersions to Filter struct

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/Version.cpp                                 | 12 ------------
 launcher/Version.h                                   |  2 --
 launcher/ui/pages/modplatform/ModModel.cpp           |  2 +-
 launcher/ui/pages/modplatform/flame/FlamePage.cpp    |  2 +-
 .../ui/pages/modplatform/modrinth/ModrinthPage.cpp   |  2 +-
 launcher/ui/widgets/ModFilterWidget.h                |  9 +++++++++
 6 files changed, 12 insertions(+), 17 deletions(-)

diff --git a/launcher/Version.cpp b/launcher/Version.cpp
index e43d9d3f7..2edb17e72 100644
--- a/launcher/Version.cpp
+++ b/launcher/Version.cpp
@@ -127,15 +127,3 @@ QDebug operator<<(QDebug debug, const Version& v)
 
     return debug;
 }
-
-bool checkMcVersions(std::list<Version> filter, QStringList value)
-{
-    bool valid = false;
-    for (auto mcVersion : filter) {
-        if (value.contains(mcVersion.toString())) {
-            valid = true;
-            break;
-        }
-    }
-    return filter.empty() || valid;
-}
diff --git a/launcher/Version.h b/launcher/Version.h
index f596bfeba..b06e256aa 100644
--- a/launcher/Version.h
+++ b/launcher/Version.h
@@ -161,5 +161,3 @@ class Version {
 
     void parse();
 };
-
-bool checkMcVersions(std::list<Version> filter, QStringList value);
diff --git a/launcher/ui/pages/modplatform/ModModel.cpp b/launcher/ui/pages/modplatform/ModModel.cpp
index dfc308566..1f0329321 100644
--- a/launcher/ui/pages/modplatform/ModModel.cpp
+++ b/launcher/ui/pages/modplatform/ModModel.cpp
@@ -123,7 +123,7 @@ bool ModModel::checkVersionFilters(const ModPlatform::IndexedVersion& v)
             checkSide(m_filter->side, v.side) &&                                    // side
             (m_filter->releases.empty() ||                                          // releases
              std::find(m_filter->releases.cbegin(), m_filter->releases.cend(), v.version_type) != m_filter->releases.cend()) &&
-            checkMcVersions(m_filter->versions, v.mcVersion));  // mcVersions
+            m_filter->checkMcVersions(v.mcVersion));  // mcVersions
 }
 
 }  // namespace ResourceDownload
diff --git a/launcher/ui/pages/modplatform/flame/FlamePage.cpp b/launcher/ui/pages/modplatform/flame/FlamePage.cpp
index b92401988..9abf4a9c6 100644
--- a/launcher/ui/pages/modplatform/flame/FlamePage.cpp
+++ b/launcher/ui/pages/modplatform/flame/FlamePage.cpp
@@ -152,7 +152,7 @@ bool checkVersionFilters(const Flame::IndexedVersion& v, std::shared_ptr<ModFilt
     return ((!filter->loaders || !v.loaders || filter->loaders & v.loaders) &&  // loaders
             (filter->releases.empty() ||                                        // releases
              std::find(filter->releases.cbegin(), filter->releases.cend(), v.version_type) != filter->releases.cend()) &&
-            checkMcVersions(filter->versions, { v.mcVersion }));  // mcVersions}
+            filter->checkMcVersions({ v.mcVersion }));  // mcVersions}
 }
 
 void FlamePage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelIndex prev)
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
index ff21e8c37..2c19d54ad 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
@@ -136,7 +136,7 @@ bool checkVersionFilters(const Modrinth::ModpackVersion& v, std::shared_ptr<ModF
     return ((!filter->loaders || !v.loaders || filter->loaders & v.loaders) &&  // loaders
             (filter->releases.empty() ||                                        // releases
              std::find(filter->releases.cbegin(), filter->releases.cend(), v.version_type) != filter->releases.cend()) &&
-            checkMcVersions(filter->versions, { v.gameVersion }));  // gameVersion}
+            filter->checkMcVersions({ v.gameVersion }));  // gameVersion}
 }
 
 void ModrinthPage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelIndex prev)
diff --git a/launcher/ui/widgets/ModFilterWidget.h b/launcher/ui/widgets/ModFilterWidget.h
index fdfd2c8bb..50f0e06c9 100644
--- a/launcher/ui/widgets/ModFilterWidget.h
+++ b/launcher/ui/widgets/ModFilterWidget.h
@@ -71,6 +71,15 @@ class ModFilterWidget : public QTabWidget {
                    releases == other.releases && categoryIds == other.categoryIds;
         }
         bool operator!=(const Filter& other) const { return !(*this == other); }
+
+        bool checkMcVersions(QStringList value)
+        {
+            for (auto mcVersion : versions)
+                if (value.contains(mcVersion.toString()))
+                    return true;
+
+            return versions.empty();
+        }
     };
 
     static unique_qobject_ptr<ModFilterWidget> create(MinecraftInstance* instance, bool extended, QWidget* parent = nullptr);

From 5bd5627a9646361ccee2d96bb555de58072bc7ab Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Tue, 8 Oct 2024 15:06:50 +0300
Subject: [PATCH 088/177] extended the modrinth search and applied the
 suggested change

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 .../modplatform/modrinth/ModrinthPage.cpp     |  2 +-
 launcher/ui/widgets/ModFilterWidget.cpp       | 20 ++++++++++++-------
 2 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
index 2c19d54ad..8803c6dd9 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
@@ -391,7 +391,7 @@ QString ModrinthPage::getSerachTerm() const
 
 void ModrinthPage::createFilterWidget()
 {
-    auto widget = ModFilterWidget::create(nullptr, false, this);
+    auto widget = ModFilterWidget::create(nullptr, true, this);
     m_filterWidget.swap(widget);
     auto old = ui->splitter->replaceWidget(0, m_filterWidget.get());
     // because we replaced the widget we also need to delete it
diff --git a/launcher/ui/widgets/ModFilterWidget.cpp b/launcher/ui/widgets/ModFilterWidget.cpp
index a048dbe10..68adcdb71 100644
--- a/launcher/ui/widgets/ModFilterWidget.cpp
+++ b/launcher/ui/widgets/ModFilterWidget.cpp
@@ -64,6 +64,8 @@ class VersionBasicModel : public QIdentityProxyModel {
     {
         if (role == Qt::DisplayRole)
             return QIdentityProxyModel::data(index, BaseVersionList::VersionIdRole);
+        if (role == Qt::UserRole)
+            return QIdentityProxyModel::data(index, BaseVersionList::VersionIdRole);
         return {};
     }
 };
@@ -86,6 +88,9 @@ class AllVersionProxyModel : public QSortFilterProxyModel {
             if (role == Qt::DisplayRole) {
                 return tr("All Versions");
             }
+            if (role == Qt::UserRole) {
+                return "all";
+            }
             return {};
         }
 
@@ -113,17 +118,18 @@ ModFilterWidget::ModFilterWidget(MinecraftInstance* instance, bool extended, QWi
     QAbstractProxyModel* proxy = new VersionBasicModel(this);
     proxy->setSourceModel(m_versions_proxy);
 
-    if (!m_instance && !extended) {
-        auto allVersions = new AllVersionProxyModel(this);
-        allVersions->setSourceModel(proxy);
-        proxy = allVersions;
-    }
-
     if (extended) {
+        if (!m_instance) {
+            ui->environmentGroup->hide();
+        }
         ui->versions->setSourceModel(proxy);
         ui->versions->setSeparator(", ");
+        ui->versions->setDefaultText(tr("All Versions"));
         ui->version->hide();
     } else {
+        auto allVersions = new AllVersionProxyModel(this);
+        allVersions->setSourceModel(proxy);
+        proxy = allVersions;
         ui->version->setModel(proxy);
         ui->versions->hide();
         ui->showAllVersions->hide();
@@ -293,7 +299,7 @@ void ModFilterWidget::onHideInstalledFilterChanged()
 void ModFilterWidget::onVersionFilterTextChanged(const QString& version)
 {
     m_filter->versions.clear();
-    if (version != tr("All Versions")) {
+    if (ui->version->currentData(Qt::UserRole) != "all") {
         m_filter->versions.emplace_back(version);
     }
     m_filter_changed = true;

From df9f54454ac8cfe40fad525e64e6cc3578f26a77 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Tue, 8 Oct 2024 19:19:03 +0300
Subject: [PATCH 089/177] removed static functions

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/modplatform/flame/FlameAPI.h                 |  3 +--
 launcher/modplatform/modrinth/ModrinthAPI.h           | 11 +++--------
 launcher/ui/pages/modplatform/flame/FlameModel.cpp    |  4 ++--
 .../ui/pages/modplatform/modrinth/ModrinthModel.cpp   |  4 ++--
 4 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/launcher/modplatform/flame/FlameAPI.h b/launcher/modplatform/flame/FlameAPI.h
index 4abaff4ea..3ca0d5448 100644
--- a/launcher/modplatform/flame/FlameAPI.h
+++ b/launcher/modplatform/flame/FlameAPI.h
@@ -86,7 +86,7 @@ class FlameAPI : public NetworkResourceAPI {
     static const QString getModLoaderFilters(ModPlatform::ModLoaderTypes types) { return "[" + getModLoaderStrings(types).join(',') + "]"; }
 
    public:
-    static std::optional<QString> getStaticSearchURL(SearchArgs const& args)
+    [[nodiscard]] std::optional<QString> getSearchURL(SearchArgs const& args) const override
     {
         QStringList get_arguments;
         get_arguments.append(QString("classId=%1").arg(getClassId(args.type)));
@@ -107,7 +107,6 @@ class FlameAPI : public NetworkResourceAPI {
 
         return "https://api.curseforge.com/v1/mods/search?gameId=432&" + get_arguments.join('&');
     }
-    [[nodiscard]] std::optional<QString> getSearchURL(SearchArgs const& args) const override { return getStaticSearchURL(args); }
 
    private:
     [[nodiscard]] std::optional<QString> getInfoURL(QString const& id) const override
diff --git a/launcher/modplatform/modrinth/ModrinthAPI.h b/launcher/modplatform/modrinth/ModrinthAPI.h
index b84d281aa..070f59dad 100644
--- a/launcher/modplatform/modrinth/ModrinthAPI.h
+++ b/launcher/modplatform/modrinth/ModrinthAPI.h
@@ -101,7 +101,7 @@ class ModrinthAPI : public NetworkResourceAPI {
         return "";
     }
 
-    [[nodiscard]] static QString createFacets(SearchArgs const& args)
+    [[nodiscard]] QString createFacets(SearchArgs const& args) const
     {
         QStringList facets_list;
 
@@ -123,7 +123,7 @@ class ModrinthAPI : public NetworkResourceAPI {
     }
 
    public:
-    static std::optional<QString> getStaticSearchURL(SearchArgs const& args)
+    [[nodiscard]] inline auto getSearchURL(SearchArgs const& args) const -> std::optional<QString> override
     {
         if (args.loaders.has_value() && args.loaders.value() != 0) {
             if (!validateModLoaders(args.loaders.value())) {
@@ -144,11 +144,6 @@ class ModrinthAPI : public NetworkResourceAPI {
         return BuildConfig.MODRINTH_PROD_URL + "/search?" + get_arguments.join('&');
     };
 
-    [[nodiscard]] inline auto getSearchURL(SearchArgs const& args) const -> std::optional<QString> override
-    {
-        return getStaticSearchURL(args);
-    }
-
     inline auto getInfoURL(QString const& id) const -> std::optional<QString> override
     {
         return BuildConfig.MODRINTH_PROD_URL + "/project/" + id;
@@ -171,7 +166,7 @@ class ModrinthAPI : public NetworkResourceAPI {
             .arg(BuildConfig.MODRINTH_PROD_URL, args.pack.addonId.toString(), get_arguments.isEmpty() ? "" : "?", get_arguments.join('&'));
     };
 
-    static QString getGameVersionsArray(std::list<Version> mcVersions)
+    QString getGameVersionsArray(std::list<Version> mcVersions) const
     {
         QString s;
         for (auto& ver : mcVersions) {
diff --git a/launcher/ui/pages/modplatform/flame/FlameModel.cpp b/launcher/ui/pages/modplatform/flame/FlameModel.cpp
index 8383b756f..cfdb185ff 100644
--- a/launcher/ui/pages/modplatform/flame/FlameModel.cpp
+++ b/launcher/ui/pages/modplatform/flame/FlameModel.cpp
@@ -188,8 +188,8 @@ void ListModel::performPaginatedSearch()
     sort.index = currentSort + 1;
 
     auto netJob = makeShared<NetJob>("Flame::Search", APPLICATION->network());
-    auto searchUrl = FlameAPI::getStaticSearchURL({ ModPlatform::ResourceType::MODPACK, nextSearchOffset, currentSearchTerm, sort,
-                                                    m_filter->loaders, m_filter->versions, "", m_filter->categoryIds });
+    auto searchUrl = FlameAPI().getSearchURL({ ModPlatform::ResourceType::MODPACK, nextSearchOffset, currentSearchTerm, sort,
+                                               m_filter->loaders, m_filter->versions, "", m_filter->categoryIds });
 
     netJob->addNetAction(Net::ApiDownload::makeByteArray(QUrl(searchUrl.value()), response));
     jobPtr = netJob;
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthModel.cpp b/launcher/ui/pages/modplatform/modrinth/ModrinthModel.cpp
index 132150bd2..417ff4080 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthModel.cpp
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthModel.cpp
@@ -154,8 +154,8 @@ void ModpackListModel::performPaginatedSearch()
     }  // TODO: Move to standalone API
     ResourceAPI::SortingMethod sort{};
     sort.name = currentSort;
-    auto searchUrl = ModrinthAPI::getStaticSearchURL({ ModPlatform::ResourceType::MODPACK, nextSearchOffset, currentSearchTerm, sort,
-                                                       m_filter->loaders, m_filter->versions, "", m_filter->categoryIds });
+    auto searchUrl = ModrinthAPI().getSearchURL({ ModPlatform::ResourceType::MODPACK, nextSearchOffset, currentSearchTerm, sort,
+                                                  m_filter->loaders, m_filter->versions, "", m_filter->categoryIds });
 
     auto netJob = makeShared<NetJob>("Modrinth::SearchModpack", APPLICATION->network());
     netJob->addNetAction(Net::ApiDownload::makeByteArray(QUrl(searchUrl.value()), m_allResponse));

From d31c947b36c907f59e82150f4fc60781d70185ab Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Tue, 8 Oct 2024 22:02:38 +0300
Subject: [PATCH 090/177] fix crash when no resorce version is available

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/ui/pages/modplatform/ResourcePage.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/launcher/ui/pages/modplatform/ResourcePage.cpp b/launcher/ui/pages/modplatform/ResourcePage.cpp
index bed118465..dea28d6d5 100644
--- a/launcher/ui/pages/modplatform/ResourcePage.cpp
+++ b/launcher/ui/pages/modplatform/ResourcePage.cpp
@@ -254,7 +254,10 @@ void ResourcePage::updateSelectionButton()
 
     m_ui->resourceSelectionButton->setEnabled(true);
     if (auto current_pack = getCurrentPack(); current_pack) {
-        if (!current_pack->isVersionSelected(m_selected_version_index))
+        if (current_pack->versionsLoaded && current_pack->versions.empty()) {
+            m_ui->resourceSelectionButton->setEnabled(false);
+            qWarning() << tr("No version available for the selected pack");
+        } else if (!current_pack->isVersionSelected(m_selected_version_index))
             m_ui->resourceSelectionButton->setText(tr("Select %1 for download").arg(resourceString()));
         else
             m_ui->resourceSelectionButton->setText(tr("Deselect %1 for download").arg(resourceString()));

From 093313e5914b3759bdb1147cd0fd1ff6627bdb31 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 9 Oct 2024 07:14:47 +0000
Subject: [PATCH 091/177] chore(deps): update actions/cache action to v4.1.1

---
 .github/workflows/build.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 5dc02edf3..dc45252fa 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -173,7 +173,7 @@ jobs:
 
       - name: Retrieve ccache cache (Windows MinGW-w64)
         if: runner.os == 'Windows' && matrix.msystem != '' && inputs.build_type == 'Debug'
-        uses: actions/cache@v4.1.0
+        uses: actions/cache@v4.1.1
         with:
           path: '${{ github.workspace }}\.ccache'
           key: ${{ matrix.os }}-mingw-w64-ccache-${{ github.run_id }}

From 909114bf2ae1090e7c4d2d757645b413c71aaba1 Mon Sep 17 00:00:00 2001
From: TheKodeToad <TheKodeToad@proton.me>
Date: Wed, 9 Oct 2024 15:07:09 +0100
Subject: [PATCH 092/177] Change LaunchTask to only accept MinecraftInstance

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
---
 launcher/launch/LaunchTask.cpp                |  4 +--
 launcher/launch/LaunchTask.h                  |  9 +++---
 launcher/minecraft/launch/AutoInstallJava.cpp |  2 +-
 .../minecraft/launch/CreateGameFolders.cpp    |  5 ++--
 launcher/minecraft/launch/ExtractNatives.cpp  |  9 +++---
 .../minecraft/launch/LauncherPartLaunch.cpp   | 29 +++++++++----------
 launcher/minecraft/launch/ModMinecraftJar.cpp |  4 +--
 .../minecraft/launch/ReconstructAssets.cpp    |  5 ++--
 launcher/minecraft/launch/ScanModFolders.cpp  |  2 +-
 .../minecraft/launch/VerifyJavaInstall.cpp    |  2 +-
 10 files changed, 34 insertions(+), 37 deletions(-)

diff --git a/launcher/launch/LaunchTask.cpp b/launcher/launch/LaunchTask.cpp
index 4e4f5ead4..0251b302d 100644
--- a/launcher/launch/LaunchTask.cpp
+++ b/launcher/launch/LaunchTask.cpp
@@ -51,14 +51,14 @@ void LaunchTask::init()
     m_instance->setRunning(true);
 }
 
-shared_qobject_ptr<LaunchTask> LaunchTask::create(InstancePtr inst)
+shared_qobject_ptr<LaunchTask> LaunchTask::create(MinecraftInstancePtr inst)
 {
     shared_qobject_ptr<LaunchTask> proc(new LaunchTask(inst));
     proc->init();
     return proc;
 }
 
-LaunchTask::LaunchTask(InstancePtr instance) : m_instance(instance) {}
+LaunchTask::LaunchTask(MinecraftInstancePtr instance) : m_instance(instance) {}
 
 void LaunchTask::appendStep(shared_qobject_ptr<LaunchStep> step)
 {
diff --git a/launcher/launch/LaunchTask.h b/launcher/launch/LaunchTask.h
index 2fd8c78c7..56065af5b 100644
--- a/launcher/launch/LaunchTask.h
+++ b/launcher/launch/LaunchTask.h
@@ -37,6 +37,7 @@
 
 #pragma once
 #include <QObjectPtr.h>
+#include <minecraft/MinecraftInstance.h>
 #include <QProcess>
 #include "BaseInstance.h"
 #include "LaunchStep.h"
@@ -46,21 +47,21 @@
 class LaunchTask : public Task {
     Q_OBJECT
    protected:
-    explicit LaunchTask(InstancePtr instance);
+    explicit LaunchTask(MinecraftInstancePtr instance);
     void init();
 
    public:
     enum State { NotStarted, Running, Waiting, Failed, Aborted, Finished };
 
    public: /* methods */
-    static shared_qobject_ptr<LaunchTask> create(InstancePtr inst);
+    static shared_qobject_ptr<LaunchTask> create(MinecraftInstancePtr inst);
     virtual ~LaunchTask() = default;
 
     void appendStep(shared_qobject_ptr<LaunchStep> step);
     void prependStep(shared_qobject_ptr<LaunchStep> step);
     void setCensorFilter(QMap<QString, QString> filter);
 
-    InstancePtr instance() { return m_instance; }
+    MinecraftInstancePtr instance() { return m_instance; }
 
     void setPid(qint64 pid) { m_pid = pid; }
 
@@ -115,7 +116,7 @@ class LaunchTask : public Task {
     void finalizeSteps(bool successful, const QString& error);
 
    protected: /* data */
-    InstancePtr m_instance;
+    MinecraftInstancePtr m_instance;
     shared_qobject_ptr<LogModel> m_logModel;
     QList<shared_qobject_ptr<LaunchStep>> m_steps;
     QMap<QString, QString> m_censorFilter;
diff --git a/launcher/minecraft/launch/AutoInstallJava.cpp b/launcher/minecraft/launch/AutoInstallJava.cpp
index 4fad6f15f..b23b23ed2 100644
--- a/launcher/minecraft/launch/AutoInstallJava.cpp
+++ b/launcher/minecraft/launch/AutoInstallJava.cpp
@@ -58,7 +58,7 @@
 
 AutoInstallJava::AutoInstallJava(LaunchTask* parent)
     : LaunchStep(parent)
-    , m_instance(std::dynamic_pointer_cast<MinecraftInstance>(m_parent->instance()))
+    , m_instance(m_parent->instance())
     , m_supported_arch(SysInfo::getSupportedJavaArchitecture()) {};
 
 void AutoInstallJava::executeTask()
diff --git a/launcher/minecraft/launch/CreateGameFolders.cpp b/launcher/minecraft/launch/CreateGameFolders.cpp
index 36f5e6407..07bdbb600 100644
--- a/launcher/minecraft/launch/CreateGameFolders.cpp
+++ b/launcher/minecraft/launch/CreateGameFolders.cpp
@@ -8,16 +8,15 @@ CreateGameFolders::CreateGameFolders(LaunchTask* parent) : LaunchStep(parent) {}
 void CreateGameFolders::executeTask()
 {
     auto instance = m_parent->instance();
-    std::shared_ptr<MinecraftInstance> minecraftInstance = std::dynamic_pointer_cast<MinecraftInstance>(instance);
 
-    if (!FS::ensureFolderPathExists(minecraftInstance->gameRoot())) {
+    if (!FS::ensureFolderPathExists(instance->gameRoot())) {
         emit logLine("Couldn't create the main game folder", MessageLevel::Error);
         emitFailed(tr("Couldn't create the main game folder"));
         return;
     }
 
     // HACK: this is a workaround for MCL-3732 - 'server-resource-packs' folder is created.
-    if (!FS::ensureFolderPathExists(FS::PathCombine(minecraftInstance->gameRoot(), "server-resource-packs"))) {
+    if (!FS::ensureFolderPathExists(FS::PathCombine(instance->gameRoot(), "server-resource-packs"))) {
         emit logLine("Couldn't create the 'server-resource-packs' folder", MessageLevel::Error);
     }
     emitSucceeded();
diff --git a/launcher/minecraft/launch/ExtractNatives.cpp b/launcher/minecraft/launch/ExtractNatives.cpp
index 405008f40..afe091758 100644
--- a/launcher/minecraft/launch/ExtractNatives.cpp
+++ b/launcher/minecraft/launch/ExtractNatives.cpp
@@ -70,17 +70,16 @@ static bool unzipNatives(QString source, QString targetFolder, bool applyJnilibH
 void ExtractNatives::executeTask()
 {
     auto instance = m_parent->instance();
-    std::shared_ptr<MinecraftInstance> minecraftInstance = std::dynamic_pointer_cast<MinecraftInstance>(instance);
-    auto toExtract = minecraftInstance->getNativeJars();
+    auto toExtract = instance->getNativeJars();
     if (toExtract.isEmpty()) {
         emitSucceeded();
         return;
     }
-    auto settings = minecraftInstance->settings();
+    auto settings = instance->settings();
 
-    auto outputPath = minecraftInstance->getNativePath();
+    auto outputPath = instance->getNativePath();
     FS::ensureFolderPathExists(outputPath);
-    auto javaVersion = minecraftInstance->getJavaVersion();
+    auto javaVersion = instance->getJavaVersion();
     bool jniHackEnabled = javaVersion.major() >= 8;
     for (const auto& source : toExtract) {
         if (!unzipNatives(source, outputPath, jniHackEnabled)) {
diff --git a/launcher/minecraft/launch/LauncherPartLaunch.cpp b/launcher/minecraft/launch/LauncherPartLaunch.cpp
index 2b932ae47..10c14a95f 100644
--- a/launcher/minecraft/launch/LauncherPartLaunch.cpp
+++ b/launcher/minecraft/launch/LauncherPartLaunch.cpp
@@ -50,16 +50,16 @@
 
 LauncherPartLaunch::LauncherPartLaunch(LaunchTask* parent) : LaunchStep(parent)
 {
-    auto instance = parent->instance();
-    if (instance->settings()->get("CloseAfterLaunch").toBool()) {
+    if (parent->instance()->settings()->get("CloseAfterLaunch").toBool()) {
         std::shared_ptr<QMetaObject::Connection> connection{ new QMetaObject::Connection };
-        *connection = connect(&m_process, &LoggedProcess::log, this, [=](QStringList lines, [[maybe_unused]] MessageLevel::Enum level) {
-            qDebug() << lines;
-            if (lines.filter(QRegularExpression(".*Setting user.+", QRegularExpression::CaseInsensitiveOption)).length() != 0) {
-                APPLICATION->closeAllWindows();
-                disconnect(*connection);
-            }
-        });
+        *connection =
+            connect(&m_process, &LoggedProcess::log, this, [=](const QStringList& lines, [[maybe_unused]] MessageLevel::Enum level) {
+                qDebug() << lines;
+                if (lines.filter(QRegularExpression(".*Setting user.+", QRegularExpression::CaseInsensitiveOption)).length() != 0) {
+                    APPLICATION->closeAllWindows();
+                    disconnect(*connection);
+                }
+            });
     }
 
     connect(&m_process, &LoggedProcess::log, this, &LauncherPartLaunch::logLines);
@@ -77,10 +77,9 @@ void LauncherPartLaunch::executeTask()
     }
 
     auto instance = m_parent->instance();
-    std::shared_ptr<MinecraftInstance> minecraftInstance = std::dynamic_pointer_cast<MinecraftInstance>(instance);
 
     QString legacyJarPath;
-    if (minecraftInstance->getLauncher() == "legacy" || minecraftInstance->shouldApplyOnlineFixes()) {
+    if (instance->getLauncher() == "legacy" || instance->shouldApplyOnlineFixes()) {
         legacyJarPath = APPLICATION->getJarPath("NewLaunchLegacy.jar");
         if (legacyJarPath.isEmpty()) {
             const char* reason = QT_TR_NOOP("Legacy launcher library could not be found. Please check your installation.");
@@ -90,8 +89,8 @@ void LauncherPartLaunch::executeTask()
         }
     }
 
-    m_launchScript = minecraftInstance->createLaunchScript(m_session, m_targetToJoin);
-    QStringList args = minecraftInstance->javaArguments();
+    m_launchScript = instance->createLaunchScript(m_session, m_targetToJoin);
+    QStringList args = instance->javaArguments();
     QString allArgs = args.join(", ");
     emit logLine("Java Arguments:\n[" + m_parent->censorPrivateInfo(allArgs) + "]\n\n", MessageLevel::Launcher);
 
@@ -102,13 +101,13 @@ void LauncherPartLaunch::executeTask()
     // make detachable - this will keep the process running even if the object is destroyed
     m_process.setDetachable(true);
 
-    auto classPath = minecraftInstance->getClassPath();
+    auto classPath = instance->getClassPath();
     classPath.prepend(jarPath);
 
     if (!legacyJarPath.isEmpty())
         classPath.prepend(legacyJarPath);
 
-    auto natPath = minecraftInstance->getNativePath();
+    auto natPath = instance->getNativePath();
 #ifdef Q_OS_WIN
     natPath = FS::getPathNameInLocal8bit(natPath);
 #endif
diff --git a/launcher/minecraft/launch/ModMinecraftJar.cpp b/launcher/minecraft/launch/ModMinecraftJar.cpp
index 6e73333b1..e06080ba7 100644
--- a/launcher/minecraft/launch/ModMinecraftJar.cpp
+++ b/launcher/minecraft/launch/ModMinecraftJar.cpp
@@ -42,7 +42,7 @@
 
 void ModMinecraftJar::executeTask()
 {
-    auto m_inst = std::dynamic_pointer_cast<MinecraftInstance>(m_parent->instance());
+    auto m_inst = m_parent->instance();
 
     if (!m_inst->getJarMods().size()) {
         emitSucceeded();
@@ -82,7 +82,7 @@ void ModMinecraftJar::finalize()
 
 bool ModMinecraftJar::removeJar()
 {
-    auto m_inst = std::dynamic_pointer_cast<MinecraftInstance>(m_parent->instance());
+    auto m_inst = m_parent->instance();
     auto finalJarPath = QDir(m_inst->binRoot()).absoluteFilePath("minecraft.jar");
     QFile finalJar(finalJarPath);
     if (finalJar.exists()) {
diff --git a/launcher/minecraft/launch/ReconstructAssets.cpp b/launcher/minecraft/launch/ReconstructAssets.cpp
index 843ccc554..21ae395f0 100644
--- a/launcher/minecraft/launch/ReconstructAssets.cpp
+++ b/launcher/minecraft/launch/ReconstructAssets.cpp
@@ -22,12 +22,11 @@
 void ReconstructAssets::executeTask()
 {
     auto instance = m_parent->instance();
-    std::shared_ptr<MinecraftInstance> minecraftInstance = std::dynamic_pointer_cast<MinecraftInstance>(instance);
-    auto components = minecraftInstance->getPackProfile();
+    auto components = instance->getPackProfile();
     auto profile = components->getProfile();
     auto assets = profile->getMinecraftAssets();
 
-    if (!AssetsUtils::reconstructAssets(assets->id, minecraftInstance->resourcesDir())) {
+    if (!AssetsUtils::reconstructAssets(assets->id, instance->resourcesDir())) {
         emit logLine("Failed to reconstruct Minecraft assets.", MessageLevel::Error);
     }
 
diff --git a/launcher/minecraft/launch/ScanModFolders.cpp b/launcher/minecraft/launch/ScanModFolders.cpp
index 7e08a4e36..1a2ddf194 100644
--- a/launcher/minecraft/launch/ScanModFolders.cpp
+++ b/launcher/minecraft/launch/ScanModFolders.cpp
@@ -42,7 +42,7 @@
 
 void ScanModFolders::executeTask()
 {
-    auto m_inst = std::dynamic_pointer_cast<MinecraftInstance>(m_parent->instance());
+    auto m_inst = m_parent->instance();
 
     auto loaders = m_inst->loaderModList();
     connect(loaders.get(), &ModFolderModel::updateFinished, this, &ScanModFolders::modsDone);
diff --git a/launcher/minecraft/launch/VerifyJavaInstall.cpp b/launcher/minecraft/launch/VerifyJavaInstall.cpp
index 1e7448089..bc950d673 100644
--- a/launcher/minecraft/launch/VerifyJavaInstall.cpp
+++ b/launcher/minecraft/launch/VerifyJavaInstall.cpp
@@ -46,7 +46,7 @@
 
 void VerifyJavaInstall::executeTask()
 {
-    auto instance = std::dynamic_pointer_cast<MinecraftInstance>(m_parent->instance());
+    auto instance = m_parent->instance();
     auto packProfile = instance->getPackProfile();
     auto settings = instance->settings();
     auto storedVersion = settings->get("JavaVersion").toString();

From 98adcc60a30a95a86b564ebe69bb0ad276263424 Mon Sep 17 00:00:00 2001
From: TheKodeToad <TheKodeToad@proton.me>
Date: Wed, 9 Oct 2024 16:59:56 +0100
Subject: [PATCH 093/177] Use UTF-8 to decode logs on Java 18 or newer

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
---
 launcher/LoggedProcess.cpp                       | 3 ++-
 launcher/LoggedProcess.h                         | 6 +++---
 launcher/java/JavaVersion.cpp                    | 6 ++++++
 launcher/java/JavaVersion.h                      | 2 +-
 launcher/minecraft/launch/LauncherPartLaunch.cpp | 4 +++-
 5 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/launcher/LoggedProcess.cpp b/launcher/LoggedProcess.cpp
index fadd64e68..35ce4e0e5 100644
--- a/launcher/LoggedProcess.cpp
+++ b/launcher/LoggedProcess.cpp
@@ -39,7 +39,8 @@
 #include <QTextDecoder>
 #include "MessageLevel.h"
 
-LoggedProcess::LoggedProcess(QObject* parent) : QProcess(parent)
+LoggedProcess::LoggedProcess(const QTextCodec* output_codec, QObject* parent)
+    : QProcess(parent), m_err_decoder(output_codec), m_out_decoder(output_codec)
 {
     // QProcess has a strange interface... let's map a lot of those into a few.
     connect(this, &QProcess::readyReadStandardOutput, this, &LoggedProcess::on_stdOut);
diff --git a/launcher/LoggedProcess.h b/launcher/LoggedProcess.h
index 46bdaa830..75ba15dfd 100644
--- a/launcher/LoggedProcess.h
+++ b/launcher/LoggedProcess.h
@@ -49,7 +49,7 @@ class LoggedProcess : public QProcess {
     enum State { NotRunning, Starting, FailedToStart, Running, Finished, Crashed, Aborted };
 
    public:
-    explicit LoggedProcess(QObject* parent = 0);
+    explicit LoggedProcess(const QTextCodec* output_codec = QTextCodec::codecForLocale(), QObject* parent = 0);
     virtual ~LoggedProcess();
 
     State state() const;
@@ -80,8 +80,8 @@ class LoggedProcess : public QProcess {
     QStringList reprocess(const QByteArray& data, QTextDecoder& decoder);
 
    private:
-    QTextDecoder m_err_decoder = QTextDecoder(QTextCodec::codecForLocale());
-    QTextDecoder m_out_decoder = QTextDecoder(QTextCodec::codecForLocale());
+    QTextDecoder m_err_decoder;
+    QTextDecoder m_out_decoder;
     QString m_leftover_line;
     bool m_killed = false;
     State m_state = NotRunning;
diff --git a/launcher/java/JavaVersion.cpp b/launcher/java/JavaVersion.cpp
index 5e9700012..bca50f2c9 100644
--- a/launcher/java/JavaVersion.cpp
+++ b/launcher/java/JavaVersion.cpp
@@ -48,6 +48,12 @@ bool JavaVersion::requiresPermGen() const
     return !m_parseable || m_major < 8;
 }
 
+bool JavaVersion::defaultsToUtf8() const
+{
+    // starting from Java 18, UTF-8 is the default charset: https://openjdk.org/jeps/400
+    return m_parseable && m_major >= 18;
+}
+
 bool JavaVersion::isModular() const
 {
     return m_parseable && m_major >= 9;
diff --git a/launcher/java/JavaVersion.h b/launcher/java/JavaVersion.h
index dfb4770da..c070bdeec 100644
--- a/launcher/java/JavaVersion.h
+++ b/launcher/java/JavaVersion.h
@@ -25,7 +25,7 @@ class JavaVersion {
     bool operator>(const JavaVersion& rhs);
 
     bool requiresPermGen() const;
-
+    bool defaultsToUtf8() const;
     bool isModular() const;
 
     QString toString() const;
diff --git a/launcher/minecraft/launch/LauncherPartLaunch.cpp b/launcher/minecraft/launch/LauncherPartLaunch.cpp
index 10c14a95f..d9a2b9b6b 100644
--- a/launcher/minecraft/launch/LauncherPartLaunch.cpp
+++ b/launcher/minecraft/launch/LauncherPartLaunch.cpp
@@ -48,7 +48,9 @@
 #include "gamemode_client.h"
 #endif
 
-LauncherPartLaunch::LauncherPartLaunch(LaunchTask* parent) : LaunchStep(parent)
+LauncherPartLaunch::LauncherPartLaunch(LaunchTask* parent)
+    : LaunchStep(parent)
+    , m_process(parent->instance()->getJavaVersion().defaultsToUtf8() ? QTextCodec::codecForName("UTF-8") : QTextCodec::codecForLocale())
 {
     if (parent->instance()->settings()->get("CloseAfterLaunch").toBool()) {
         std::shared_ptr<QMetaObject::Connection> connection{ new QMetaObject::Connection };

From 2bc6ae97568f9c9e522c4a64988cb325eb4d25ec Mon Sep 17 00:00:00 2001
From: TheKodeToad <TheKodeToad@proton.me>
Date: Fri, 11 Oct 2024 19:53:28 +0100
Subject: [PATCH 094/177] Prevent directories from being removed on instance
 update

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
---
 launcher/InstanceCreationTask.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/launcher/InstanceCreationTask.cpp b/launcher/InstanceCreationTask.cpp
index 9c17dfc9f..d89a00d6c 100644
--- a/launcher/InstanceCreationTask.cpp
+++ b/launcher/InstanceCreationTask.cpp
@@ -42,11 +42,11 @@ void InstanceCreationTask::executeTask()
         setStatus(tr("Removing old conflicting files..."));
         qDebug() << "Removing old files";
 
-        for (auto path : m_files_to_remove) {
+        for (const QString& path : m_files_to_remove) {
             if (!QFile::exists(path))
                 continue;
             qDebug() << "Removing" << path;
-            if (!FS::deletePath(path)) {
+            if (!QFile::remove(path)) {
                 qCritical() << "Couldn't remove the old conflicting files.";
                 emitFailed(tr("Failed to remove old conflicting files."));
                 return;
@@ -55,5 +55,4 @@ void InstanceCreationTask::executeTask()
     }
 
     emitSucceeded();
-    return;
 }

From 09c9da268fdc833304f6159735cfb7e80d0e69bc Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Fri, 11 Oct 2024 13:26:20 -0700
Subject: [PATCH 095/177] fix: prevent inf recursion when mod icon load fails;
 cut max pixmapcache to 1/4 previous value

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 launcher/MTPixmapCache.h                      |  6 +--
 launcher/minecraft/mod/Mod.cpp                | 41 +++++++++++--------
 launcher/minecraft/mod/Mod.h                  |  8 ++--
 .../minecraft/mod/tasks/LocalModParseTask.cpp | 41 ++++++++++---------
 .../minecraft/mod/tasks/LocalModParseTask.h   |  4 +-
 5 files changed, 55 insertions(+), 45 deletions(-)

diff --git a/launcher/MTPixmapCache.h b/launcher/MTPixmapCache.h
index b6bd13045..0ba9c5ac8 100644
--- a/launcher/MTPixmapCache.h
+++ b/launcher/MTPixmapCache.h
@@ -101,7 +101,7 @@ class PixmapCache final : public QObject {
      */
     bool _markCacheMissByEviciton()
     {
-        static constexpr uint maxInt = static_cast<uint>(std::numeric_limits<int>::max());
+        static constexpr uint maxCache = static_cast<uint>(std::numeric_limits<int>::max()) / 4;
         static constexpr uint step = 10240;
         static constexpr int oneSecond = 1000;
 
@@ -118,8 +118,8 @@ class PixmapCache final : public QObject {
         if (m_consecutive_fast_evicitons >= m_consecutive_fast_evicitons_threshold) {
             // increase the cache size
             uint newSize = _cacheLimit() + step;
-            if (newSize >= maxInt) {  // increase it until you overflow :D
-                newSize = maxInt;
+            if (newSize >= maxCache) {  // increase it until you overflow :D
+                newSize = maxCache;
                 qDebug() << m_consecutive_fast_evicitons
                          << tr("pixmap cache misses by eviction happened too fast, doing nothing as the cache size reached it's limit");
             } else {
diff --git a/launcher/minecraft/mod/Mod.cpp b/launcher/minecraft/mod/Mod.cpp
index 5442df7fe..9663026cd 100644
--- a/launcher/minecraft/mod/Mod.cpp
+++ b/launcher/minecraft/mod/Mod.cpp
@@ -36,6 +36,7 @@
  */
 
 #include "Mod.h"
+#include <qpixmap.h>
 
 #include <QDebug>
 #include <QDir>
@@ -241,7 +242,7 @@ void Mod::finishResolvingWithDetails(ModDetails&& details)
     if (metadata)
         setMetadata(std::move(metadata));
     if (!iconPath().isEmpty()) {
-        m_pack_image_cache_key.was_read_attempt = false;
+        m_packImageCacheKey.wasReadAttempt = false;
     }
 }
 
@@ -290,45 +291,53 @@ auto Mod::issueTracker() const -> QString
     return details().issue_tracker;
 }
 
-void Mod::setIcon(QImage new_image) const
+QPixmap Mod::setIcon(QImage new_image) const
 {
     QMutexLocker locker(&m_data_lock);
 
     Q_ASSERT(!new_image.isNull());
 
-    if (m_pack_image_cache_key.key.isValid())
-        PixmapCache::remove(m_pack_image_cache_key.key);
+    if (m_packImageCacheKey.key.isValid())
+        PixmapCache::remove(m_packImageCacheKey.key);
 
     // scale the image to avoid flooding the pixmapcache
     auto pixmap =
         QPixmap::fromImage(new_image.scaled({ 64, 64 }, Qt::AspectRatioMode::KeepAspectRatioByExpanding, Qt::SmoothTransformation));
 
-    m_pack_image_cache_key.key = PixmapCache::insert(pixmap);
-    m_pack_image_cache_key.was_ever_used = true;
-    m_pack_image_cache_key.was_read_attempt = true;
+    m_packImageCacheKey.key = PixmapCache::insert(pixmap);
+    m_packImageCacheKey.wasEverUsed = true;
+    m_packImageCacheKey.wasReadAttempt = true;
+    return pixmap;
 }
 
 QPixmap Mod::icon(QSize size, Qt::AspectRatioMode mode) const
 {
-    QPixmap cached_image;
-    if (PixmapCache::find(m_pack_image_cache_key.key, &cached_image)) {
+    auto pixmap_transform = [&size, &mode](QPixmap pixmap) {
         if (size.isNull())
-            return cached_image;
-        return cached_image.scaled(size, mode, Qt::SmoothTransformation);
+            return pixmap;
+        return pixmap.scaled(size, mode, Qt::SmoothTransformation);
+    };
+
+    QPixmap cached_image;
+    if (PixmapCache::find(m_packImageCacheKey.key, &cached_image)) {
+        return pixmap_transform(cached_image);
     }
 
     // No valid image we can get
-    if ((!m_pack_image_cache_key.was_ever_used && m_pack_image_cache_key.was_read_attempt) || iconPath().isEmpty())
+    if ((!m_packImageCacheKey.wasEverUsed && m_packImageCacheKey.wasReadAttempt) || iconPath().isEmpty())
         return {};
 
-    if (m_pack_image_cache_key.was_ever_used) {
+    if (m_packImageCacheKey.wasEverUsed) {
         qDebug() << "Mod" << name() << "Had it's icon evicted from the cache. reloading...";
         PixmapCache::markCacheMissByEviciton();
     }
     // Image got evicted from the cache or an attempt to load it has not been made. load it and retry.
-    m_pack_image_cache_key.was_read_attempt = true;
-    ModUtils::loadIconFile(*this);
-    return icon(size);
+    m_packImageCacheKey.wasReadAttempt = true;
+    if (ModUtils::loadIconFile(*this, &cached_image)) {
+        return pixmap_transform(cached_image);
+    }
+    // Image failed to load
+    return {};
 }
 
 bool Mod::valid() const
diff --git a/launcher/minecraft/mod/Mod.h b/launcher/minecraft/mod/Mod.h
index 9bd76c2fd..a0d9797ed 100644
--- a/launcher/minecraft/mod/Mod.h
+++ b/launcher/minecraft/mod/Mod.h
@@ -82,7 +82,7 @@ class Mod : public Resource {
     /** Gets the icon of the mod, converted to a QPixmap for drawing, and scaled to size. */
     [[nodiscard]] QPixmap icon(QSize size, Qt::AspectRatioMode mode = Qt::AspectRatioMode::IgnoreAspectRatio) const;
     /** Thread-safe. */
-    void setIcon(QImage new_image) const;
+    QPixmap setIcon(QImage new_image) const;
 
     auto metadata() -> std::shared_ptr<Metadata::ModStruct>;
     auto metadata() const -> const std::shared_ptr<Metadata::ModStruct>;
@@ -111,7 +111,7 @@ class Mod : public Resource {
 
     struct {
         QPixmapCache::Key key;
-        bool was_ever_used = false;
-        bool was_read_attempt = false;
-    } mutable m_pack_image_cache_key;
+        bool wasEverUsed = false;
+        bool wasReadAttempt = false;
+    } mutable m_packImageCacheKey;
 };
diff --git a/launcher/minecraft/mod/tasks/LocalModParseTask.cpp b/launcher/minecraft/mod/tasks/LocalModParseTask.cpp
index 60257ce0c..d456211f8 100644
--- a/launcher/minecraft/mod/tasks/LocalModParseTask.cpp
+++ b/launcher/minecraft/mod/tasks/LocalModParseTask.cpp
@@ -647,11 +647,11 @@ bool validate(QFileInfo file)
     return ModUtils::process(mod, ProcessingLevel::BasicInfoOnly) && mod.valid();
 }
 
-bool processIconPNG(const Mod& mod, QByteArray&& raw_data)
+bool processIconPNG(const Mod& mod, QByteArray&& raw_data, QPixmap* pixmap)
 {
     auto img = QImage::fromData(raw_data);
     if (!img.isNull()) {
-        mod.setIcon(img);
+        *pixmap = mod.setIcon(img);
     } else {
         qWarning() << "Failed to parse mod logo:" << mod.iconPath() << "from" << mod.name();
         return false;
@@ -659,15 +659,15 @@ bool processIconPNG(const Mod& mod, QByteArray&& raw_data)
     return true;
 }
 
-bool loadIconFile(const Mod& mod)
+bool loadIconFile(const Mod& mod, QPixmap* pixmap)
 {
     if (mod.iconPath().isEmpty()) {
         qWarning() << "No Iconfile set, be sure to parse the mod first";
         return false;
     }
 
-    auto png_invalid = [&mod]() {
-        qWarning() << "Mod at" << mod.fileinfo().filePath() << "does not have a valid icon";
+    auto png_invalid = [&mod](const QString& reason) {
+        qWarning() << "Mod at" << mod.fileinfo().filePath() << "does not have a valid icon:" << reason;
         return false;
     };
 
@@ -676,24 +676,26 @@ bool loadIconFile(const Mod& mod)
             QFileInfo icon_info(FS::PathCombine(mod.fileinfo().filePath(), mod.iconPath()));
             if (icon_info.exists() && icon_info.isFile()) {
                 QFile icon(icon_info.filePath());
-                if (!icon.open(QIODevice::ReadOnly))
-                    return false;
+                if (!icon.open(QIODevice::ReadOnly)) {
+                    return png_invalid("failed  to open file " + icon_info.filePath());
+                }
                 auto data = icon.readAll();
 
-                bool icon_result = ModUtils::processIconPNG(mod, std::move(data));
+                bool icon_result = ModUtils::processIconPNG(mod, std::move(data), pixmap);
 
                 icon.close();
 
                 if (!icon_result) {
-                    return png_invalid();  // icon invalid
+                    return png_invalid("invalid png image");  // icon invalid
                 }
+                return true;
             }
-            return false;
+            return png_invalid("file '" + icon_info.filePath() + "' does not exists or is not a file");
         }
         case ResourceType::ZIPFILE: {
             QuaZip zip(mod.fileinfo().filePath());
             if (!zip.open(QuaZip::mdUnzip))
-                return false;
+                return png_invalid("failed to open '" + mod.fileinfo().filePath() + "' as a zip archive");
 
             QuaZipFile file(&zip);
 
@@ -701,28 +703,27 @@ bool loadIconFile(const Mod& mod)
                 if (!file.open(QIODevice::ReadOnly)) {
                     qCritical() << "Failed to open file in zip.";
                     zip.close();
-                    return png_invalid();
+                    return png_invalid("Failed to open '" + mod.iconPath() + "' in zip archive");
                 }
 
                 auto data = file.readAll();
 
-                bool icon_result = ModUtils::processIconPNG(mod, std::move(data));
+                bool icon_result = ModUtils::processIconPNG(mod, std::move(data), pixmap);
 
                 file.close();
                 if (!icon_result) {
-                    return png_invalid();  // icon png invalid
+                    return png_invalid("invalid png image");  // icon png invalid
                 }
-            } else {
-                return png_invalid();  // could not set icon as current file.
+                return true;
             }
-            return false;
+            return png_invalid("Failed to set '" + mod.iconPath() +
+                               "' as current file in zip archive");  // could not set icon as current file.
         }
         case ResourceType::LITEMOD: {
-            return false;  // can lightmods even have icons?
+            return png_invalid("litemods do not have icons");  // can lightmods even have icons?
         }
         default:
-            qWarning() << "Invalid type for mod, can not load icon.";
-            return false;
+            return png_invalid("Invalid type for mod, can not load icon.");
     }
 }
 
diff --git a/launcher/minecraft/mod/tasks/LocalModParseTask.h b/launcher/minecraft/mod/tasks/LocalModParseTask.h
index a03217093..91ee6f253 100644
--- a/launcher/minecraft/mod/tasks/LocalModParseTask.h
+++ b/launcher/minecraft/mod/tasks/LocalModParseTask.h
@@ -26,8 +26,8 @@ bool processLitemod(Mod& mod, ProcessingLevel level = ProcessingLevel::Full);
 /** Checks whether a file is valid as a mod or not. */
 bool validate(QFileInfo file);
 
-bool processIconPNG(const Mod& mod, QByteArray&& raw_data);
-bool loadIconFile(const Mod& mod);
+bool processIconPNG(const Mod& mod, QByteArray&& raw_data, QPixmap* pixmap);
+bool loadIconFile(const Mod& mod, QPixmap* pixmap);
 }  // namespace ModUtils
 
 class LocalModParseTask : public Task {

From 72cfad8fee7f81d85df7389ab9e32294d13a4707 Mon Sep 17 00:00:00 2001
From: TheKodeToad <TheKodeToad@proton.me>
Date: Fri, 11 Oct 2024 21:35:13 +0100
Subject: [PATCH 096/177] Continue deleting before failing

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
---
 launcher/InstanceCreationTask.cpp | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/launcher/InstanceCreationTask.cpp b/launcher/InstanceCreationTask.cpp
index d89a00d6c..3e7b3142f 100644
--- a/launcher/InstanceCreationTask.cpp
+++ b/launcher/InstanceCreationTask.cpp
@@ -38,6 +38,8 @@ void InstanceCreationTask::executeTask()
     // files scheduled to, and we'd better not let the user abort in the middle of it, since it'd
     // put the instance in an invalid state.
     if (shouldOverride()) {
+        bool deleteFailed = false;
+
         setAbortable(false);
         setStatus(tr("Removing old conflicting files..."));
         qDebug() << "Removing old files";
@@ -45,13 +47,19 @@ void InstanceCreationTask::executeTask()
         for (const QString& path : m_files_to_remove) {
             if (!QFile::exists(path))
                 continue;
+
             qDebug() << "Removing" << path;
+
             if (!QFile::remove(path)) {
-                qCritical() << "Couldn't remove the old conflicting files.";
-                emitFailed(tr("Failed to remove old conflicting files."));
-                return;
+                qCritical() << "Could not remove" << path;
+                deleteFailed = true;
             }
         }
+
+        if (deleteFailed) {
+            emitFailed(tr("Failed to remove old conflicting files."));
+            return;
+        }
     }
 
     emitSucceeded();

From 97f4ead0fbec5508f7ff6785f07dcf869ed663c2 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sat, 12 Oct 2024 00:19:54 +0300
Subject: [PATCH 097/177] remove client overrides instead of double deleting
 the normal ones

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
index ba97c441f..3442fd19c 100644
--- a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
+++ b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
@@ -136,7 +136,7 @@ bool ModrinthCreationTask::updateInstance()
         }
 
         auto old_client_overrides = Override::readOverrides("client-overrides", old_index_folder);
-        for (const auto& entry : old_overrides) {
+        for (const auto& entry : old_client_overrides) {
             if (entry.isEmpty())
                 continue;
             qDebug() << "Scheduling" << entry << "for removal";

From 3a1c06de027ab2755c2a27624f41cbd445a156b4 Mon Sep 17 00:00:00 2001
From: Mia Moir <63592337+archessmn@users.noreply.github.com>
Date: Sat, 12 Oct 2024 23:47:58 +0100
Subject: [PATCH 098/177] fix: Tab order on custom command inputs

The tab order on the custom command UI in the instance settings is off, it goes 0 -> 2 -> 1, This re-orders the ui file to fix the order the inputs are in.

Signed-off-by: Mia Moir <63592337+archessmn@users.noreply.github.com>
---
 launcher/ui/widgets/CustomCommands.ui | 30 +++++++++++++--------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/launcher/ui/widgets/CustomCommands.ui b/launcher/ui/widgets/CustomCommands.ui
index 4a39ff7f7..b485c293e 100644
--- a/launcher/ui/widgets/CustomCommands.ui
+++ b/launcher/ui/widgets/CustomCommands.ui
@@ -38,19 +38,6 @@
       <bool>false</bool>
      </property>
      <layout class="QGridLayout" name="gridLayout_4">
-      <item row="2" column="0">
-       <widget class="QLabel" name="labelPostExitCmd">
-        <property name="text">
-         <string>P&amp;ost-exit command:</string>
-        </property>
-        <property name="buddy">
-         <cstring>postExitCmdTextBox</cstring>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="1">
-       <widget class="QLineEdit" name="preLaunchCmdTextBox"/>
-      </item>
       <item row="0" column="0">
        <widget class="QLabel" name="labelPreLaunchCmd">
         <property name="text">
@@ -61,8 +48,8 @@
         </property>
        </widget>
       </item>
-      <item row="2" column="1">
-       <widget class="QLineEdit" name="postExitCmdTextBox"/>
+      <item row="0" column="1">
+       <widget class="QLineEdit" name="preLaunchCmdTextBox"/>
       </item>
       <item row="1" column="0">
        <widget class="QLabel" name="labelWrapperCmd">
@@ -77,6 +64,19 @@
       <item row="1" column="1">
        <widget class="QLineEdit" name="wrapperCmdTextBox"/>
       </item>
+      <item row="2" column="0">
+       <widget class="QLabel" name="labelPostExitCmd">
+        <property name="text">
+         <string>P&amp;ost-exit command:</string>
+        </property>
+        <property name="buddy">
+         <cstring>postExitCmdTextBox</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="1">
+       <widget class="QLineEdit" name="postExitCmdTextBox"/>
+      </item>
      </layout>
     </widget>
    </item>

From 3c836ece71c61c19eacd7bb4f324940071c6e89a Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Sun, 13 Oct 2024 00:24:52 +0000
Subject: [PATCH 099/177] chore(nix): update lockfile
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bc947f541ae55e999ffdb4013441347d83b00feb?narHash=sha256-NOiTvBbRLIOe5F6RbHaAh6%2B%2BBNjsb149fGZd1T4%2BKBg%3D' (2024-10-04)
  → 'github:NixOS/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7?narHash=sha256-9UTxR8eukdg%2BXZeHgxW5hQA9fIKHsKCdOIUycTryeVw%3D' (2024-10-09)
---
 flake.lock | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/flake.lock b/flake.lock
index 6897c162d..7bf13f75c 100644
--- a/flake.lock
+++ b/flake.lock
@@ -49,11 +49,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1728018373,
-        "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
+        "lastModified": 1728492678,
+        "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "bc947f541ae55e999ffdb4013441347d83b00feb",
+        "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
         "type": "github"
       },
       "original": {

From a108b5b420b7d2785c9850d4a0bcb9c628d073a4 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Mon, 14 Oct 2024 00:32:12 -0700
Subject: [PATCH 100/177] fix: ensure all connections to the ProgressDialogs's
 Task the dialog made are dissconnected

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
---
 launcher/ui/dialogs/ProgressDialog.cpp | 21 ++++++++++++---------
 launcher/ui/dialogs/ProgressDialog.h   |  2 ++
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/launcher/ui/dialogs/ProgressDialog.cpp b/launcher/ui/dialogs/ProgressDialog.cpp
index 0ca3a1bd9..9897687e3 100644
--- a/launcher/ui/dialogs/ProgressDialog.cpp
+++ b/launcher/ui/dialogs/ProgressDialog.cpp
@@ -90,6 +90,9 @@ void ProgressDialog::on_skipButton_clicked(bool checked)
 
 ProgressDialog::~ProgressDialog()
 {
+    for (auto conn : this->m_taskConnections) {
+        disconnect(conn);
+    }   
     delete ui;
 }
 
@@ -140,15 +143,15 @@ int ProgressDialog::execWithTask(Task* task)
     }
 
     // Connect signals.
-    connect(task, &Task::started, this, &ProgressDialog::onTaskStarted);
-    connect(task, &Task::failed, this, &ProgressDialog::onTaskFailed);
-    connect(task, &Task::succeeded, this, &ProgressDialog::onTaskSucceeded);
-    connect(task, &Task::status, this, &ProgressDialog::changeStatus);
-    connect(task, &Task::details, this, &ProgressDialog::changeStatus);
-    connect(task, &Task::stepProgress, this, &ProgressDialog::changeStepProgress);
-    connect(task, &Task::progress, this, &ProgressDialog::changeProgress);
-    connect(task, &Task::aborted, this, &ProgressDialog::hide);
-    connect(task, &Task::abortStatusChanged, ui->skipButton, &QPushButton::setEnabled);
+    this->m_taskConnections.push_back(connect(task, &Task::started, this, &ProgressDialog::onTaskStarted));
+    this->m_taskConnections.push_back(connect(task, &Task::failed, this, &ProgressDialog::onTaskFailed));
+    this->m_taskConnections.push_back(connect(task, &Task::succeeded, this, &ProgressDialog::onTaskSucceeded));
+    this->m_taskConnections.push_back(connect(task, &Task::status, this, &ProgressDialog::changeStatus));
+    this->m_taskConnections.push_back(connect(task, &Task::details, this, &ProgressDialog::changeStatus));
+    this->m_taskConnections.push_back(connect(task, &Task::stepProgress, this, &ProgressDialog::changeStepProgress));
+    this->m_taskConnections.push_back(connect(task, &Task::progress, this, &ProgressDialog::changeProgress));
+    this->m_taskConnections.push_back(connect(task, &Task::aborted, this, &ProgressDialog::hide));
+    this->m_taskConnections.push_back(connect(task, &Task::abortStatusChanged, ui->skipButton, &QPushButton::setEnabled));
 
     m_is_multi_step = task->isMultiStep();
     ui->taskProgressScrollArea->setHidden(!m_is_multi_step);
diff --git a/launcher/ui/dialogs/ProgressDialog.h b/launcher/ui/dialogs/ProgressDialog.h
index 15eadf4e7..4a696a49d 100644
--- a/launcher/ui/dialogs/ProgressDialog.h
+++ b/launcher/ui/dialogs/ProgressDialog.h
@@ -93,6 +93,8 @@ class ProgressDialog : public QDialog {
     Ui::ProgressDialog* ui;
 
     Task* m_task;
+    
+    QList<QMetaObject::Connection> m_taskConnections;
 
     bool m_is_multi_step = false;
     QHash<QUuid, SubTaskProgressBar*> taskProgress;

From ac13579b9963a312b909e712c372cb115f21f0db Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 14 Oct 2024 11:10:54 +0300
Subject: [PATCH 101/177] fix heap-use-after-free in modrinth creation task

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 .../modplatform/modrinth/ModrinthInstanceCreationTask.cpp  | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
index 3442fd19c..994dd774f 100644
--- a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
+++ b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
@@ -301,6 +301,13 @@ bool ModrinthCreationTask::createInstance()
 
     loop.exec();
 
+    if (!ended_well) {
+        for (auto m : mods) {
+            delete m;
+        }
+        return ended_well;
+    }
+
     QEventLoop ensureMetaLoop;
     QDir folder = FS::PathCombine(instance.modsRoot(), ".index");
     auto ensureMetadataTask = makeShared<EnsureMetadataTask>(mods, folder, ModPlatform::ResourceProvider::MODRINTH);

From 7519c63f2e8a5ebc9480a470a1e7702436178c51 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sat, 19 Oct 2024 01:11:27 +0300
Subject: [PATCH 102/177] Replace http with https on skins

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/minecraft/auth/Parsers.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/launcher/minecraft/auth/Parsers.cpp b/launcher/minecraft/auth/Parsers.cpp
index 3aa458ace..f9d89baa2 100644
--- a/launcher/minecraft/auth/Parsers.cpp
+++ b/launcher/minecraft/auth/Parsers.cpp
@@ -180,6 +180,7 @@ bool parseMinecraftProfile(QByteArray& data, MinecraftProfile& output)
         if (!getString(skinObj.value("url"), skinOut.url)) {
             continue;
         }
+        skinOut.url.replace("http://textures.minecraft.net", "https://textures.minecraft.net");
         if (!getString(skinObj.value("variant"), skinOut.variant)) {
             continue;
         }
@@ -221,9 +222,9 @@ namespace {
 // these skin URLs are for the MHF_Steve and MHF_Alex accounts (made by a Mojang employee)
 // they are needed because the session server doesn't return skin urls for default skins
 static const QString SKIN_URL_STEVE =
-    "http://textures.minecraft.net/texture/1a4af718455d4aab528e7a61f86fa25e6a369d1768dcb13f7df319a713eb810b";
+    "https://textures.minecraft.net/texture/1a4af718455d4aab528e7a61f86fa25e6a369d1768dcb13f7df319a713eb810b";
 static const QString SKIN_URL_ALEX =
-    "http://textures.minecraft.net/texture/83cee5ca6afcdb171285aa00e8049c297b2dbeba0efb8ff970a5677a1b644032";
+    "https://textures.minecraft.net/texture/83cee5ca6afcdb171285aa00e8049c297b2dbeba0efb8ff970a5677a1b644032";
 
 bool isDefaultModelSteve(QString uuid)
 {

From 522d105dbe50d6392e1d74dd9f1dec2a3ef7a357 Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Sat, 19 Oct 2024 11:59:32 -0400
Subject: [PATCH 103/177] fix(nix): enable checks

Signed-off-by: seth <getchoo@tuta.io>
---
 nix/unwrapped.nix | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/nix/unwrapped.nix b/nix/unwrapped.nix
index f75acf1de..7fc383ff3 100644
--- a/nix/unwrapped.nix
+++ b/nix/unwrapped.nix
@@ -87,6 +87,8 @@ stdenv.mkDerivation {
       (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" "${placeholder "out"}/Applications/")
     ];
 
+  doCheck = true;
+
   dontWrapQtApps = true;
 
   meta = {

From 0bae14999f8e4997be96a8fadb4e4ed14dfd5b40 Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Sat, 19 Oct 2024 12:33:40 -0400
Subject: [PATCH 104/177] chore(flatpak): don't bundle JREs

After https://github.com/PrismLauncher/PrismLauncher/pull/2069, JREs can
be managed at runtime. This is great for the Flatpak, as previously
*all* JREs had to be installed and could not be updated independently of
the launcher's Flatpak. It also makes using unsupported Java versions
easier as the launcher can download any version in the sandbox

We don't need to include these anymore

Signed-off-by: seth <getchoo@tuta.io>
---
 flatpak/org.prismlauncher.PrismLauncher.yml | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/flatpak/org.prismlauncher.PrismLauncher.yml b/flatpak/org.prismlauncher.PrismLauncher.yml
index 71e6dd11e..f33432d23 100644
--- a/flatpak/org.prismlauncher.PrismLauncher.yml
+++ b/flatpak/org.prismlauncher.PrismLauncher.yml
@@ -3,9 +3,7 @@ runtime: org.kde.Platform
 runtime-version: 6.7
 sdk: org.kde.Sdk
 sdk-extensions:
-  - org.freedesktop.Sdk.Extension.openjdk21
   - org.freedesktop.Sdk.Extension.openjdk17
-  - org.freedesktop.Sdk.Extension.openjdk8
 
 command: prismlauncher
 finish-args:
@@ -43,19 +41,6 @@ modules:
       - type: dir
         path: ../
 
-  - name: openjdk
-    buildsystem: simple
-    build-commands:
-      - mkdir -p /app/jdk/
-      - /usr/lib/sdk/openjdk21/install.sh
-      - mv /app/jre /app/jdk/21
-      - /usr/lib/sdk/openjdk17/install.sh
-      - mv /app/jre /app/jdk/17
-      - /usr/lib/sdk/openjdk8/install.sh
-      - mv /app/jre /app/jdk/8
-    cleanup:
-      - /jre
-
   - name: glfw
     buildsystem: cmake-ninja
     config-opts:

From 01721b593b16bbbf9cd15c4f262176d0345681f8 Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Sat, 19 Oct 2024 12:38:17 -0400
Subject: [PATCH 105/177] fix(flatpak): run tests for launcher

Signed-off-by: seth <getchoo@tuta.io>
---
 flatpak/org.prismlauncher.PrismLauncher.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/flatpak/org.prismlauncher.PrismLauncher.yml b/flatpak/org.prismlauncher.PrismLauncher.yml
index f33432d23..09dd8d73b 100644
--- a/flatpak/org.prismlauncher.PrismLauncher.yml
+++ b/flatpak/org.prismlauncher.PrismLauncher.yml
@@ -37,6 +37,7 @@ modules:
       env:
         JAVA_HOME: /usr/lib/sdk/openjdk17/jvm/openjdk-17
         JAVA_COMPILER: /usr/lib/sdk/openjdk17/jvm/openjdk-17/bin/javac
+    run-tests: true
     sources:
       - type: dir
         path: ../

From 2030041fcc14aa9d56f59e0a61c8a26ba6522a0f Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sat, 19 Oct 2024 01:10:04 +0300
Subject: [PATCH 106/177] Fix tests segfault

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 CMakeLists.txt                                | 12 +++++------
 launcher/Application.h                        |  6 ++++++
 launcher/CMakeLists.txt                       | 10 +++-------
 .../minecraft/mod/ResourceFolderModel.cpp     |  7 +++----
 launcher/net/NetJob.cpp                       |  5 +++--
 .../ui/pages/modplatform/ResourceModel.cpp    | 20 +++++++++++--------
 6 files changed, 33 insertions(+), 27 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3d70fe79b..4c1ad3373 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -99,7 +99,7 @@ if ((CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebI
     message(STATUS "Address Sanitizer enabled for Debug builds, Turn it off with -DDEBUG_ADDRESS_SANITIZER=off")
     if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
         if (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
-            # using clang with clang-cl front end 
+            # using clang with clang-cl front end
             message(STATUS "Address Sanitizer available on Clang MSVC frontend")
             set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fsanitize=address /Oy-")
             set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fsanitize=address /Oy-")
@@ -225,7 +225,7 @@ set(Launcher_QT_VERSION_MAJOR "6" CACHE STRING "Major Qt version to build agains
 # Java downloader
 set(Launcher_ENABLE_JAVA_DOWNLOADER_DEFAULT ON)
 
-# Although we recommend enabling this, we cannot guarantee binary compatibility on 
+# Although we recommend enabling this, we cannot guarantee binary compatibility on
 # differing Linux/BSD/etc distributions. Downstream packagers should be explicitly opt-ing into this
 # feature if they know it will work with their distribution.
 if(UNIX AND NOT APPLE)
@@ -438,10 +438,10 @@ elseif(UNIX)
         set(PLUGIN_DEST_DIR "plugins")
         set(BUNDLE_DEST_DIR ".")
         set(RESOURCES_DEST_DIR ".")
-    
+
         # Apps to bundle
         set(APPS "\${CMAKE_INSTALL_PREFIX}/bin/${Launcher_APP_BINARY_NAME}")
-    
+
         # directories to look for dependencies
         set(DIRS ${QT_LIBS_DIR} ${QT_LIBEXECS_DIR} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
     endif()
@@ -495,7 +495,7 @@ if(FORCE_BUNDLED_ZLIB)
     set(SKIP_INSTALL_ALL ON)
     add_subdirectory(libraries/zlib EXCLUDE_FROM_ALL)
 
-    # On OS where unistd.h exists, zlib's generated header defines `Z_HAVE_UNISTD_H`, while the included header does not. 
+    # On OS where unistd.h exists, zlib's generated header defines `Z_HAVE_UNISTD_H`, while the included header does not.
     # We cannot safely undo the rename on those systems, and they generally have packages for zlib anyway.
     check_include_file(unistd.h NEED_GENERATED_ZCONF)
     if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/libraries/zlib/zconf.h.included" AND NOT NEED_GENERATED_ZCONF)
@@ -533,7 +533,7 @@ endif()
 if(NOT cmark_FOUND)
     message(STATUS "Using bundled cmark")
     set(BUILD_TESTING 0)
-    set(BUILD_SHARED_LIBS 0) 
+    set(BUILD_SHARED_LIBS 0)
     add_subdirectory(libraries/cmark EXCLUDE_FROM_ALL) # Markdown parser
     add_library(cmark::cmark ALIAS cmark)
 else()
diff --git a/launcher/Application.h b/launcher/Application.h
index 7432c9683..bd1cb2dea 100644
--- a/launcher/Application.h
+++ b/launcher/Application.h
@@ -81,6 +81,12 @@ class Index;
 #endif
 #define APPLICATION (static_cast<Application*>(QCoreApplication::instance()))
 
+// Used for checking if is a test
+#if defined(APPLICATION_DYN)
+#undef APPLICATION_DYN
+#endif
+#define APPLICATION_DYN (dynamic_cast<Application*>(QCoreApplication::instance()))
+
 class Application : public QApplication {
     // friends for the purpose of limiting access to deprecated stuff
     Q_OBJECT
diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt
index dcbfe8fde..a70fe668a 100644
--- a/launcher/CMakeLists.txt
+++ b/launcher/CMakeLists.txt
@@ -608,7 +608,7 @@ set(PRISMUPDATER_SOURCES
     updater/prismupdater/UpdaterDialogs.cpp
     updater/prismupdater/GitHubRelease.h
     updater/prismupdater/GitHubRelease.cpp
-   
+
     Json.h
     Json.cpp
     FileSystem.h
@@ -625,7 +625,7 @@ set(PRISMUPDATER_SOURCES
     # Zip
     MMCZip.h
     MMCZip.cpp
-    
+
     # Time
     MMCTime.h
     MMCTime.cpp
@@ -1265,14 +1265,10 @@ include(CompilerWarnings)
 
 # Add executable
 add_library(Launcher_logic STATIC ${LOGIC_SOURCES} ${LAUNCHER_SOURCES} ${LAUNCHER_UI} ${LAUNCHER_RESOURCES})
-if(BUILD_TESTING)
-target_compile_definitions(Launcher_logic PUBLIC LAUNCHER_TEST)
-endif()
 set_project_warnings(Launcher_logic
     "${Launcher_MSVC_WARNINGS}"
     "${Launcher_CLANG_WARNINGS}"
     "${Launcher_GCC_WARNINGS}")
-target_compile_definitions(Launcher_logic PUBLIC LAUNCHER_APPLICATION)
 target_include_directories(Launcher_logic PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
 target_compile_definitions(Launcher_logic PUBLIC LAUNCHER_APPLICATION)
 target_link_libraries(Launcher_logic
@@ -1376,7 +1372,7 @@ if(Launcher_BUILD_UPDATER)
     add_executable("${Launcher_Name}_updater" WIN32 updater/prismupdater/updater_main.cpp)
     target_sources("${Launcher_Name}_updater" PRIVATE updater/prismupdater/updater.exe.manifest)
     target_link_libraries("${Launcher_Name}_updater" prism_updater_logic)
-    
+
     if(DEFINED Launcher_APP_BINARY_NAME)
         set_target_properties("${Launcher_Name}_updater" PROPERTIES OUTPUT_NAME "${Launcher_APP_BINARY_NAME}_updater")
     endif()
diff --git a/launcher/minecraft/mod/ResourceFolderModel.cpp b/launcher/minecraft/mod/ResourceFolderModel.cpp
index 941e7ce58..ce3e16bce 100644
--- a/launcher/minecraft/mod/ResourceFolderModel.cpp
+++ b/launcher/minecraft/mod/ResourceFolderModel.cpp
@@ -35,10 +35,9 @@ ResourceFolderModel::ResourceFolderModel(QDir dir, BaseInstance* instance, QObje
 
     connect(&m_watcher, &QFileSystemWatcher::directoryChanged, this, &ResourceFolderModel::directoryChanged);
     connect(&m_helper_thread_task, &ConcurrentTask::finished, this, [this] { m_helper_thread_task.clear(); });
-#ifndef LAUNCHER_TEST
-    // in tests the application macro doesn't work
-    m_helper_thread_task.setMaxConcurrent(APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt());
-#endif
+    if (APPLICATION_DYN) {  // in tests the application macro doesn't work
+        m_helper_thread_task.setMaxConcurrent(APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt());
+    }
 }
 
 ResourceFolderModel::~ResourceFolderModel()
diff --git a/launcher/net/NetJob.cpp b/launcher/net/NetJob.cpp
index e363c911d..3cd3958f7 100644
--- a/launcher/net/NetJob.cpp
+++ b/launcher/net/NetJob.cpp
@@ -48,7 +48,7 @@ NetJob::NetJob(QString job_name, shared_qobject_ptr<QNetworkAccessManager> netwo
     : ConcurrentTask(nullptr, job_name), m_network(network)
 {
 #if defined(LAUNCHER_APPLICATION)
-    if (max_concurrent < 0)
+    if (APPLICATION_DYN && max_concurrent < 0)
         max_concurrent = APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt();
 #endif
     if (max_concurrent > 0)
@@ -161,7 +161,8 @@ bool NetJob::isOnline()
 void NetJob::emitFailed(QString reason)
 {
 #if defined(LAUNCHER_APPLICATION)
-    if (m_ask_retry && m_manual_try < APPLICATION->settings()->get("NumberOfManualRetries").toInt() && isOnline()) {
+
+    if (APPLICATION_DYN && m_ask_retry && m_manual_try < APPLICATION->settings()->get("NumberOfManualRetries").toInt() && isOnline()) {
         m_manual_try++;
         auto response = CustomMessageBox::selectable(nullptr, "Confirm retry",
                                                      "The tasks failed.\n"
diff --git a/launcher/ui/pages/modplatform/ResourceModel.cpp b/launcher/ui/pages/modplatform/ResourceModel.cpp
index c8eb91570..50a170fff 100644
--- a/launcher/ui/pages/modplatform/ResourceModel.cpp
+++ b/launcher/ui/pages/modplatform/ResourceModel.cpp
@@ -31,9 +31,9 @@ QHash<ResourceModel*, bool> ResourceModel::s_running_models;
 ResourceModel::ResourceModel(ResourceAPI* api) : QAbstractListModel(), m_api(api)
 {
     s_running_models.insert(this, true);
-#ifndef LAUNCHER_TEST
-    m_current_info_job.setMaxConcurrent(APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
-#endif
+    if (APPLICATION_DYN) {
+        m_current_info_job.setMaxConcurrent(APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
+    }
 }
 
 ResourceModel::~ResourceModel()
@@ -60,11 +60,15 @@ auto ResourceModel::data(const QModelIndex& index, int role) const -> QVariant
             return pack->description;
         }
         case Qt::DecorationRole: {
-            if (auto icon_or_none = const_cast<ResourceModel*>(this)->getIcon(const_cast<QModelIndex&>(index), pack->logoUrl);
-                icon_or_none.has_value())
-                return icon_or_none.value();
-
-            return APPLICATION->getThemedIcon("screenshot-placeholder");
+            if (APPLICATION_DYN) {
+                if (auto icon_or_none = const_cast<ResourceModel*>(this)->getIcon(const_cast<QModelIndex&>(index), pack->logoUrl);
+                    icon_or_none.has_value())
+                    return icon_or_none.value();
+
+                return APPLICATION->getThemedIcon("screenshot-placeholder");
+            } else {
+                return {};
+            }
         }
         case Qt::SizeHintRole:
             return QSize(0, 58);

From 2d234b127b1561fcedd0beae5bd242d1012c7426 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sat, 19 Oct 2024 22:07:31 +0300
Subject: [PATCH 107/177] make sure that tests are only disabled fro cmark

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 CMakeLists.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4c1ad3373..b677b0b7c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -532,10 +532,12 @@ else()
 endif()
 if(NOT cmark_FOUND)
     message(STATUS "Using bundled cmark")
+    set(ORIGINAL_BUILD_TESTING ${BUILD_TESTING})
     set(BUILD_TESTING 0)
     set(BUILD_SHARED_LIBS 0)
     add_subdirectory(libraries/cmark EXCLUDE_FROM_ALL) # Markdown parser
     add_library(cmark::cmark ALIAS cmark)
+    set(BUILD_TESTING ${ORIGINAL_BUILD_TESTING})
 else()
     message(STATUS "Using system cmark")
 endif()

From 0501c1e17a75172b8c3b8c15da27a86cf64c420b Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Sun, 20 Oct 2024 00:25:22 +0000
Subject: [PATCH 108/177] chore(nix): update lockfile
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7?narHash=sha256-9UTxR8eukdg%2BXZeHgxW5hQA9fIKHsKCdOIUycTryeVw%3D' (2024-10-09)
  → 'github:NixOS/nixpkgs/4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0?narHash=sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c%2BcHUJwA%3D' (2024-10-18)
---
 flake.lock | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/flake.lock b/flake.lock
index 7bf13f75c..a82e6f65f 100644
--- a/flake.lock
+++ b/flake.lock
@@ -49,11 +49,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1728492678,
-        "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
+        "lastModified": 1729256560,
+        "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
+        "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0",
         "type": "github"
       },
       "original": {

From 9a810dfa6e609d736511fb166efa403eaf9506b3 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sun, 20 Oct 2024 23:14:05 +0300
Subject: [PATCH 109/177] fix sparkle signature

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 0586d38e03de6890bf5697c7e1a965aac9bd36fb)
---
 .github/workflows/build.yml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index dc45252fa..a1ed0a25a 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -410,9 +410,8 @@ jobs:
         if: matrix.name == 'macOS'
         run: |
           if [ '${{ secrets.SPARKLE_ED25519_KEY }}' != '' ]; then
-            brew install openssl@3
             echo '${{ secrets.SPARKLE_ED25519_KEY }}' > ed25519-priv.pem
-            signature=$(/usr/local/opt/openssl@3/bin/openssl pkeyutl -sign -rawin -in ${{ github.workspace }}/PrismLauncher.zip -inkey ed25519-priv.pem | openssl base64 | tr -d \\n)
+            signature=$(/opt/homebrew/opt/openssl@3/bin/openssl pkeyutl -sign -rawin -in ${{ github.workspace }}/PrismLauncher.zip -inkey ed25519-priv.pem | openssl base64 | tr -d \\n)
             rm ed25519-priv.pem
             cat >> $GITHUB_STEP_SUMMARY << EOF
           ### Artifact Information :information_source:

From ff97affa7210524a506a7ae25d8d17c41ca6f0ae Mon Sep 17 00:00:00 2001
From: TheKodeToad <TheKodeToad@proton.me>
Date: Mon, 21 Oct 2024 14:41:48 +0100
Subject: [PATCH 110/177] Fix /norestart

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
(cherry picked from commit 78e24962f93b5cc2350d04bebd7e5231d1bc4819)
---
 program_info/CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt
index ee2e336b1..e693d757a 100644
--- a/program_info/CMakeLists.txt
+++ b/program_info/CMakeLists.txt
@@ -57,7 +57,7 @@ Section "Visual Studio Runtime"
     Pop $0
     ${If} $0 == "OK"
         DetailPrint "Download successful"
-        ExecWait "$INSTDIR\vc_redist\$vc_redist_exe /install /passive /norestart\"
+        ExecWait "$INSTDIR\vc_redist\$vc_redist_exe /install /passive /norestart"
     ${Else}
         DetailPrint "Download failed with error $0"
     ${EndIf}

From 1cf91fa5d93aa2a4b2caab10a20b65ca4b95869a Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 21 Oct 2024 16:17:48 +0300
Subject: [PATCH 111/177] do not require java if auto-download is enabled

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit fcadbbb739076096a9057ec340f7f6d39bc4b72f)
---
 launcher/Application.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index b8dcc1099..cfae3a807 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -1071,6 +1071,9 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
 bool Application::createSetupWizard()
 {
     bool javaRequired = [&]() {
+        if (BuildConfig.JAVA_DOWNLOADER_ENABLED && m_settings->get("AutomaticJavaDownload").toBool()) {
+            return false;
+        }
         bool ignoreJavaWizard = m_settings->get("IgnoreJavaWizard").toBool();
         if (ignoreJavaWizard) {
             return false;
@@ -1083,10 +1086,7 @@ bool Application::createSetupWizard()
         }
         QString currentJavaPath = settings()->get("JavaPath").toString();
         QString actualPath = FS::ResolveExecutable(currentJavaPath);
-        if (actualPath.isNull()) {
-            return true;
-        }
-        return false;
+        return actualPath.isNull();
     }();
     bool askjava = BuildConfig.JAVA_DOWNLOADER_ENABLED && !javaRequired && !m_settings->get("AutomaticJavaDownload").toBool() &&
                    !m_settings->get("AutomaticJavaSwitch").toBool() && !m_settings->get("UserAskedAboutAutomaticJavaDownload").toBool();

From 577f8074e1ec203e119b50b1588d2b789eb40425 Mon Sep 17 00:00:00 2001
From: TheKodeToad <TheKodeToad@proton.me>
Date: Mon, 21 Oct 2024 16:30:08 +0100
Subject: [PATCH 112/177] Fix removing portable.txt on Linux portable build

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
(cherry picked from commit f3f4c446206647b69b9c19e63617b163b99c6164)
---
 launcher/Launcher.in | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/launcher/Launcher.in b/launcher/Launcher.in
index 1a23f2555..706d7022b 100755
--- a/launcher/Launcher.in
+++ b/launcher/Launcher.in
@@ -39,8 +39,16 @@ if [ "x$DEPS_LIST" = "x" ]; then
     # Just to be sure...
     chmod +x "${LAUNCHER_DIR}/bin/${LAUNCHER_NAME}"
 
+    ARGS=("${LAUNCHER_DIR}/${LAUNCHER_NAME}" "${LAUNCHER_DIR}/bin/${LAUNCHER_NAME}")
+
+    if [ -f portable.txt ]; then
+        ARGS+=("-d" "${LAUNCHER_DIR}")
+    fi
+
+    ARGS+=("$@")
+
     # Run the launcher
-    exec -a "${LAUNCHER_DIR}/${LAUNCHER_NAME}" "${LAUNCHER_DIR}/bin/${LAUNCHER_NAME}" -d "${LAUNCHER_DIR}" "$@"
+    exec -a "${ARGS[@]}"
 
     # Run the launcher in valgrind
     # valgrind --log-file="valgrind.log" --leak-check=full --track-origins=yes "${LAUNCHER_DIR}/bin/${LAUNCHER_NAME}" -d "${LAUNCHER_DIR}" "$@"

From 199c5497d327f35d0bc70aa7949be397ed583aa7 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 21 Oct 2024 19:28:34 +0300
Subject: [PATCH 113/177] do not try to import skin if path is empty

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 9a5b773e69e7198cc37413ab7d69ba6d0a66f854)
---
 launcher/ui/dialogs/skins/SkinManageDialog.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/launcher/ui/dialogs/skins/SkinManageDialog.cpp b/launcher/ui/dialogs/skins/SkinManageDialog.cpp
index 6c85ffa96..fbf4ef1f4 100644
--- a/launcher/ui/dialogs/skins/SkinManageDialog.cpp
+++ b/launcher/ui/dialogs/skins/SkinManageDialog.cpp
@@ -139,6 +139,9 @@ void SkinManageDialog::on_fileBtn_clicked()
 {
     auto filter = QMimeDatabase().mimeTypeForName("image/png").filterString();
     QString raw_path = QFileDialog::getOpenFileName(this, tr("Select Skin Texture"), QString(), filter);
+    if (raw_path.isEmpty()) {
+        return;
+    }
     auto message = m_list.installSkin(raw_path, {});
     if (!message.isEmpty()) {
         CustomMessageBox::selectable(this, tr("Selected file is not a valid skin"), message, QMessageBox::Critical)->show();

From 6da14d66bb80cbd6818582347b49bc6eb3a4c1f2 Mon Sep 17 00:00:00 2001
From: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
Date: Mon, 21 Oct 2024 22:59:51 +0300
Subject: [PATCH 114/177] Update launcher/ui/dialogs/skins/SkinManageDialog.cpp

Co-authored-by: TheKodeToad <TheKodeToad@proton.me>
Signed-off-by: Alexandru Ionut Tripon <alexandru.tripon97@gmail.com>
(cherry picked from commit 69028969f1a6c42b698b900256ad2e6d9ee208eb)
---
 launcher/ui/dialogs/skins/SkinManageDialog.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/ui/dialogs/skins/SkinManageDialog.cpp b/launcher/ui/dialogs/skins/SkinManageDialog.cpp
index fbf4ef1f4..65840eb08 100644
--- a/launcher/ui/dialogs/skins/SkinManageDialog.cpp
+++ b/launcher/ui/dialogs/skins/SkinManageDialog.cpp
@@ -139,7 +139,7 @@ void SkinManageDialog::on_fileBtn_clicked()
 {
     auto filter = QMimeDatabase().mimeTypeForName("image/png").filterString();
     QString raw_path = QFileDialog::getOpenFileName(this, tr("Select Skin Texture"), QString(), filter);
-    if (raw_path.isEmpty()) {
+    if (raw_path.isNull()) {
         return;
     }
     auto message = m_list.installSkin(raw_path, {});

From 51a71d04715bfc47c1688bd7606b3c4f043cd3d8 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 21 Oct 2024 23:53:23 +0300
Subject: [PATCH 115/177] skip QSaveFile temprary files

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 562c3013269dbb9cad411f58ded333dee1aea158)
---
 launcher/Application.cpp                      | 23 ++++++
 launcher/Application.h                        | 11 +++
 launcher/CMakeLists.txt                       |  1 +
 launcher/FileSystem.cpp                       | 22 +++---
 launcher/PSaveFile.h                          | 70 +++++++++++++++++++
 launcher/minecraft/World.cpp                  |  4 +-
 .../minecraft/mod/tasks/BasicFolderLoadTask.h |  4 ++
 .../minecraft/mod/tasks/ModFolderLoadTask.cpp |  4 ++
 launcher/modplatform/packwiz/Packwiz.cpp      |  4 +-
 launcher/net/FileSink.cpp                     |  2 +-
 launcher/net/FileSink.h                       |  5 +-
 launcher/settings/INIFile.cpp                 |  1 -
 launcher/ui/dialogs/ExportInstanceDialog.cpp  |  1 -
 13 files changed, 129 insertions(+), 23 deletions(-)
 create mode 100644 launcher/PSaveFile.h

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index cfae3a807..686d934c2 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -1883,3 +1883,26 @@ const QString Application::javaPath()
 {
     return m_settings->get("JavaDir").toString();
 }
+
+void Application::addQSavePath(QString path)
+{
+    QMutexLocker locker(&m_qsaveResourcesMutex);
+    m_qsaveResources.insert(path);
+}
+
+void Application::removeQSavePath(QString path)
+{
+    QMutexLocker locker(&m_qsaveResourcesMutex);
+    m_qsaveResources.remove(path);
+}
+
+bool Application::checkQSavePath(QString path)
+{
+    QMutexLocker locker(&m_qsaveResourcesMutex);
+    for (auto r : m_qsaveResources) {
+        if (path.contains(r)) {
+            return true;
+        }
+    }
+    return false;
+}
\ No newline at end of file
diff --git a/launcher/Application.h b/launcher/Application.h
index bd1cb2dea..363130cdd 100644
--- a/launcher/Application.h
+++ b/launcher/Application.h
@@ -42,6 +42,8 @@
 #include <QDebug>
 #include <QFlag>
 #include <QIcon>
+#include <QMutex>
+#include <QSet>
 #include <QUrl>
 #include <memory>
 
@@ -303,4 +305,13 @@ class Application : public QApplication {
     QList<QUrl> m_urlsToImport;
     QString m_instanceIdToShowWindowOf;
     std::unique_ptr<QFile> logFile;
+
+   public:
+    void addQSavePath(QString);
+    void removeQSavePath(QString);
+    bool checkQSavePath(QString);
+
+   private:
+    QSet<QString> m_qsaveResources;
+    mutable QMutex m_qsaveResourcesMutex;
 };
diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt
index a70fe668a..0f0949a3a 100644
--- a/launcher/CMakeLists.txt
+++ b/launcher/CMakeLists.txt
@@ -30,6 +30,7 @@ set(CORE_SOURCES
     StringUtils.cpp
     QVariantUtils.h
     RuntimeContext.h
+    PSaveFile.h
 
     # Basic instance manipulation tasks (derived from InstanceTask)
     InstanceCreationTask.h
diff --git a/launcher/FileSystem.cpp b/launcher/FileSystem.cpp
index 7f38cff04..512de28c2 100644
--- a/launcher/FileSystem.cpp
+++ b/launcher/FileSystem.cpp
@@ -45,7 +45,6 @@
 #include <QDirIterator>
 #include <QFile>
 #include <QFileInfo>
-#include <QSaveFile>
 #include <QStandardPaths>
 #include <QStorageInfo>
 #include <QTextStream>
@@ -54,6 +53,7 @@
 #include <system_error>
 
 #include "DesktopServices.h"
+#include "PSaveFile.h"
 #include "StringUtils.h"
 
 #if defined Q_OS_WIN32
@@ -191,8 +191,8 @@ void ensureExists(const QDir& dir)
 void write(const QString& filename, const QByteArray& data)
 {
     ensureExists(QFileInfo(filename).dir());
-    QSaveFile file(filename);
-    if (!file.open(QSaveFile::WriteOnly)) {
+    PSaveFile file(filename);
+    if (!file.open(PSaveFile::WriteOnly)) {
         throw FileSystemException("Couldn't open " + filename + " for writing: " + file.errorString());
     }
     if (data.size() != file.write(data)) {
@@ -213,8 +213,8 @@ void appendSafe(const QString& filename, const QByteArray& data)
         buffer = QByteArray();
     }
     buffer.append(data);
-    QSaveFile file(filename);
-    if (!file.open(QSaveFile::WriteOnly)) {
+    PSaveFile file(filename);
+    if (!file.open(PSaveFile::WriteOnly)) {
         throw FileSystemException("Couldn't open " + filename + " for writing: " + file.errorString());
     }
     if (buffer.size() != file.write(buffer)) {
@@ -971,8 +971,7 @@ bool createShortcut(QString destination, QString target, QStringList args, QStri
     if (!args.empty())
         argstring = " \"" + args.join("\" \"") + "\"";
 
-    stream << "#!/bin/bash"
-           << "\n";
+    stream << "#!/bin/bash" << "\n";
     stream << "\"" << target << "\" " << argstring << "\n";
 
     stream.flush();
@@ -1016,12 +1015,9 @@ bool createShortcut(QString destination, QString target, QStringList args, QStri
     if (!args.empty())
         argstring = " '" + args.join("' '") + "'";
 
-    stream << "[Desktop Entry]"
-           << "\n";
-    stream << "Type=Application"
-           << "\n";
-    stream << "Categories=Game;ActionGame;AdventureGame;Simulation"
-           << "\n";
+    stream << "[Desktop Entry]" << "\n";
+    stream << "Type=Application" << "\n";
+    stream << "Categories=Game;ActionGame;AdventureGame;Simulation" << "\n";
     stream << "Exec=\"" << target.toLocal8Bit() << "\"" << argstring.toLocal8Bit() << "\n";
     stream << "Name=" << name.toLocal8Bit() << "\n";
     if (!icon.isEmpty()) {
diff --git a/launcher/PSaveFile.h b/launcher/PSaveFile.h
new file mode 100644
index 000000000..e0b5a7a2c
--- /dev/null
+++ b/launcher/PSaveFile.h
@@ -0,0 +1,70 @@
+// SPDX-License-Identifier: GPL-3.0-only
+/*
+ *  Prism Launcher - Minecraft Launcher
+ *  Copyright (c) 2023-2024 Trial97 <alexandru.tripon97@gmail.com>
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, version 3.
+ *
+ *  This program 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 General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+#pragma once
+
+#include <QSaveFile>
+#include "Application.h"
+
+#if defined(LAUNCHER_APPLICATION)
+
+/* PSaveFile
+ * A class that mimics QSaveFile for Windows.
+ *
+ * When reading resources, we need to avoid accessing temporary files
+ * generated by QSaveFile. If we start reading such a file, we may
+ * inadvertently keep it open while QSaveFile is trying to remove it,
+ * or we might detect the file just before it is removed, leading to
+ * race conditions and errors.
+ *
+ * Unfortunately, QSaveFile doesn't provide a way to retrieve the
+ * temporary file name or to set a specific template for the temporary
+ * file name it uses. By default, QSaveFile appends a `.XXXXXX` suffix
+ * to the original file name, where the `XXXXXX` part is dynamically
+ * generated to ensure uniqueness.
+ *
+ * This class acts like a lock by adding and removing the target file
+ * name into/from a global string set, helping to manage access to
+ * files during critical operations.
+ *
+ * Note: Please do not use the `setFileName` function directly, as it
+ * is not virtual and cannot be overridden.
+ */
+class PSaveFile : public QSaveFile {
+   public:
+    PSaveFile(const QString& name) : QSaveFile(name)
+    {
+        if (auto app = APPLICATION_DYN) {
+            app->addQSavePath(name + ".");
+        }
+    }
+    PSaveFile(const QString& name, QObject* parent) : QSaveFile(name, parent)
+    {
+        if (auto app = APPLICATION_DYN) {
+            app->addQSavePath(name + ".");
+        }
+    }
+    virtual ~PSaveFile()
+    {
+        if (auto app = APPLICATION_DYN) {
+            app->removeQSavePath(fileName() + ".");
+        }
+    }
+};
+#else
+#define PSaveFile QSaveFile
+#endif
\ No newline at end of file
diff --git a/launcher/minecraft/World.cpp b/launcher/minecraft/World.cpp
index 1eba148a5..bd28f9e9a 100644
--- a/launcher/minecraft/World.cpp
+++ b/launcher/minecraft/World.cpp
@@ -38,7 +38,6 @@
 #include <QDebug>
 #include <QDir>
 #include <QDirIterator>
-#include <QSaveFile>
 #include <QString>
 
 #include <FileSystem.h>
@@ -57,6 +56,7 @@
 #include <optional>
 
 #include "FileSystem.h"
+#include "PSaveFile.h"
 
 using std::nullopt;
 using std::optional;
@@ -183,7 +183,7 @@ bool putLevelDatDataToFS(const QFileInfo& file, QByteArray& data)
     if (fullFilePath.isNull()) {
         return false;
     }
-    QSaveFile f(fullFilePath);
+    PSaveFile f(fullFilePath);
     if (!f.open(QIODevice::WriteOnly)) {
         return false;
     }
diff --git a/launcher/minecraft/mod/tasks/BasicFolderLoadTask.h b/launcher/minecraft/mod/tasks/BasicFolderLoadTask.h
index 2bce2c137..fb2e22de6 100644
--- a/launcher/minecraft/mod/tasks/BasicFolderLoadTask.h
+++ b/launcher/minecraft/mod/tasks/BasicFolderLoadTask.h
@@ -7,6 +7,7 @@
 
 #include <memory>
 
+#include "Application.h"
 #include "FileSystem.h"
 #include "minecraft/mod/Resource.h"
 
@@ -52,6 +53,9 @@ class BasicFolderLoadTask : public Task {
         m_dir.refresh();
         for (auto entry : m_dir.entryInfoList()) {
             auto filePath = entry.absoluteFilePath();
+            if (auto app = APPLICATION_DYN; app && app->checkQSavePath(filePath)) {
+                continue;
+            }
             auto newFilePath = FS::getUniqueResourceName(filePath);
             if (newFilePath != filePath) {
                 FS::move(filePath, newFilePath);
diff --git a/launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp b/launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp
index 501d5be13..63996e584 100644
--- a/launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp
+++ b/launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp
@@ -36,6 +36,7 @@
 
 #include "ModFolderLoadTask.h"
 
+#include "Application.h"
 #include "FileSystem.h"
 #include "minecraft/mod/MetadataHandler.h"
 
@@ -65,6 +66,9 @@ void ModFolderLoadTask::executeTask()
     m_mods_dir.refresh();
     for (auto entry : m_mods_dir.entryInfoList()) {
         auto filePath = entry.absoluteFilePath();
+        if (auto app = APPLICATION_DYN; app && app->checkQSavePath(filePath)) {
+            continue;
+        }
         auto newFilePath = FS::getUniqueResourceName(filePath);
         if (newFilePath != filePath) {
             FS::move(filePath, newFilePath);
diff --git a/launcher/modplatform/packwiz/Packwiz.cpp b/launcher/modplatform/packwiz/Packwiz.cpp
index 325b0a6e4..272900f0e 100644
--- a/launcher/modplatform/packwiz/Packwiz.cpp
+++ b/launcher/modplatform/packwiz/Packwiz.cpp
@@ -72,7 +72,7 @@ auto stringEntry(toml::table table, QString entry_name) -> QString
 {
     auto node = table[StringUtils::toStdString(entry_name)];
     if (!node) {
-        qCritical() << "Failed to read str property '" + entry_name + "' in mod metadata.";
+        qWarning() << "Failed to read str property '" + entry_name + "' in mod metadata.";
         return {};
     }
 
@@ -83,7 +83,7 @@ auto intEntry(toml::table table, QString entry_name) -> int
 {
     auto node = table[StringUtils::toStdString(entry_name)];
     if (!node) {
-        qCritical() << "Failed to read int property '" + entry_name + "' in mod metadata.";
+        qWarning() << "Failed to read int property '" + entry_name + "' in mod metadata.";
         return {};
     }
 
diff --git a/launcher/net/FileSink.cpp b/launcher/net/FileSink.cpp
index 1ecb21fdf..95c1a8f44 100644
--- a/launcher/net/FileSink.cpp
+++ b/launcher/net/FileSink.cpp
@@ -55,7 +55,7 @@ Task::State FileSink::init(QNetworkRequest& request)
     }
 
     wroteAnyData = false;
-    m_output_file.reset(new QSaveFile(m_filename));
+    m_output_file.reset(new PSaveFile(m_filename));
     if (!m_output_file->open(QIODevice::WriteOnly)) {
         qCCritical(taskNetLogC) << "Could not open " + m_filename + " for writing";
         return Task::State::Failed;
diff --git a/launcher/net/FileSink.h b/launcher/net/FileSink.h
index 816254ff9..272f8ddc3 100644
--- a/launcher/net/FileSink.h
+++ b/launcher/net/FileSink.h
@@ -35,8 +35,7 @@
 
 #pragma once
 
-#include <QSaveFile>
-
+#include "PSaveFile.h"
 #include "Sink.h"
 
 namespace Net {
@@ -60,6 +59,6 @@ class FileSink : public Sink {
    protected:
     QString m_filename;
     bool wroteAnyData = false;
-    std::unique_ptr<QSaveFile> m_output_file;
+    std::unique_ptr<PSaveFile> m_output_file;
 };
 }  // namespace Net
diff --git a/launcher/settings/INIFile.cpp b/launcher/settings/INIFile.cpp
index e97741f20..2c7620e65 100644
--- a/launcher/settings/INIFile.cpp
+++ b/launcher/settings/INIFile.cpp
@@ -39,7 +39,6 @@
 
 #include <QDebug>
 #include <QFile>
-#include <QSaveFile>
 #include <QStringList>
 #include <QTemporaryFile>
 #include <QTextStream>
diff --git a/launcher/ui/dialogs/ExportInstanceDialog.cpp b/launcher/ui/dialogs/ExportInstanceDialog.cpp
index 9f2b3ac42..7e00f18f4 100644
--- a/launcher/ui/dialogs/ExportInstanceDialog.cpp
+++ b/launcher/ui/dialogs/ExportInstanceDialog.cpp
@@ -51,7 +51,6 @@
 #include <icons/IconList.h>
 #include <QDebug>
 #include <QFileInfo>
-#include <QSaveFile>
 #include <QSortFilterProxyModel>
 #include <QStack>
 #include <functional>

From 85422427b9794a3bb6765e9947c03844862035e4 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Tue, 22 Oct 2024 09:41:00 +0300
Subject: [PATCH 116/177] Replaced QSet with QHash

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 73d33f93b30f658f9671358ac52bf4e03afeaefd)
---
 launcher/Application.cpp | 13 +++++++++----
 launcher/Application.h   |  3 +--
 launcher/PSaveFile.h     | 21 +++++++++++----------
 3 files changed, 21 insertions(+), 16 deletions(-)

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 686d934c2..ea749ca4c 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -1887,20 +1887,25 @@ const QString Application::javaPath()
 void Application::addQSavePath(QString path)
 {
     QMutexLocker locker(&m_qsaveResourcesMutex);
-    m_qsaveResources.insert(path);
+    m_qsaveResources[path] = m_qsaveResources.value(path, 0) + 1;
 }
 
 void Application::removeQSavePath(QString path)
 {
     QMutexLocker locker(&m_qsaveResourcesMutex);
-    m_qsaveResources.remove(path);
+    auto count = m_qsaveResources.value(path, 0) - 1;
+    if (count <= 0) {
+        m_qsaveResources.remove(path);
+    } else {
+        m_qsaveResources[path] = count;
+    }
 }
 
 bool Application::checkQSavePath(QString path)
 {
     QMutexLocker locker(&m_qsaveResourcesMutex);
-    for (auto r : m_qsaveResources) {
-        if (path.contains(r)) {
+    for (auto partialPath : m_qsaveResources.keys()) {
+        if (path.startsWith(partialPath) && m_qsaveResources.value(partialPath, 0) > 0) {
             return true;
         }
     }
diff --git a/launcher/Application.h b/launcher/Application.h
index 363130cdd..692625f4a 100644
--- a/launcher/Application.h
+++ b/launcher/Application.h
@@ -43,7 +43,6 @@
 #include <QFlag>
 #include <QIcon>
 #include <QMutex>
-#include <QSet>
 #include <QUrl>
 #include <memory>
 
@@ -312,6 +311,6 @@ class Application : public QApplication {
     bool checkQSavePath(QString);
 
    private:
-    QSet<QString> m_qsaveResources;
+    QHash<QString, int> m_qsaveResources;
     mutable QMutex m_qsaveResourcesMutex;
 };
diff --git a/launcher/PSaveFile.h b/launcher/PSaveFile.h
index e0b5a7a2c..ba6154ad8 100644
--- a/launcher/PSaveFile.h
+++ b/launcher/PSaveFile.h
@@ -17,6 +17,7 @@
  */
 #pragma once
 
+#include <QFileInfo>
 #include <QSaveFile>
 #include "Application.h"
 
@@ -46,24 +47,24 @@
  */
 class PSaveFile : public QSaveFile {
    public:
-    PSaveFile(const QString& name) : QSaveFile(name)
-    {
-        if (auto app = APPLICATION_DYN) {
-            app->addQSavePath(name + ".");
-        }
-    }
-    PSaveFile(const QString& name, QObject* parent) : QSaveFile(name, parent)
+    PSaveFile(const QString& name) : QSaveFile(name) { addPath(name); }
+    PSaveFile(const QString& name, QObject* parent) : QSaveFile(name, parent) { addPath(name); }
+    virtual ~PSaveFile()
     {
         if (auto app = APPLICATION_DYN) {
-            app->addQSavePath(name + ".");
+            app->removeQSavePath(m_absoluteFilePath);
         }
     }
-    virtual ~PSaveFile()
+
+   private:
+    void addPath(const QString& path)
     {
+        m_absoluteFilePath = QFileInfo(path).absoluteFilePath() + ".";  // add dot for tmp files only
         if (auto app = APPLICATION_DYN) {
-            app->removeQSavePath(fileName() + ".");
+            app->addQSavePath(m_absoluteFilePath);
         }
     }
+    QString m_absoluteFilePath;
 };
 #else
 #define PSaveFile QSaveFile

From b983ae0fb000b0a413115f4b8bd64f8447cca80b Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Tue, 22 Oct 2024 13:43:16 +0300
Subject: [PATCH 117/177] fix small leak

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 836aebc0d91fe8658052b8c4a5a4ab31da4a4b15)
---
 launcher/ui/pages/instance/ModFolderPage.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/ui/pages/instance/ModFolderPage.cpp b/launcher/ui/pages/instance/ModFolderPage.cpp
index f2feb8c7f..a6fbf5088 100644
--- a/launcher/ui/pages/instance/ModFolderPage.cpp
+++ b/launcher/ui/pages/instance/ModFolderPage.cpp
@@ -124,7 +124,7 @@ ModFolderPage::ModFolderPage(BaseInstance* inst, std::shared_ptr<ModFolderModel>
         ui->actionsToolbar->addAction(ui->actionVisitItemPage);
         connect(ui->actionVisitItemPage, &QAction::triggered, this, &ModFolderPage::visitModPages);
 
-        auto changeVersion = new QAction(tr("Change Version"));
+        auto changeVersion = new QAction(tr("Change Version"), this);
         changeVersion->setToolTip(tr("Change mod version"));
         changeVersion->setEnabled(false);
         ui->actionsToolbar->insertActionAfter(ui->actionUpdateItem, changeVersion);

From fb7d19941f7f7e314df1c776fde8cafb3fb248ad Mon Sep 17 00:00:00 2001
From: TheKodeToad <TheKodeToad@proton.me>
Date: Wed, 23 Oct 2024 13:44:39 +0100
Subject: [PATCH 118/177] Fix CleanEnviroment()'s usage of stripVariableEntries

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
(cherry picked from commit e7cd8fe078e3a68bd3179816020a9ed08f1b2847)
---
 launcher/java/JavaUtils.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/launcher/java/JavaUtils.cpp b/launcher/java/JavaUtils.cpp
index bc8026348..f3200428e 100644
--- a/launcher/java/JavaUtils.cpp
+++ b/launcher/java/JavaUtils.cpp
@@ -102,6 +102,8 @@ QProcessEnvironment CleanEnviroment()
             QString newValue = stripVariableEntries(key, value, rawenv.value("LAUNCHER_" + key));
 
             qDebug() << "Env: stripped" << key << value << "to" << newValue;
+
+            value = newValue;
         }
 #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) || defined(Q_OS_OPENBSD)
         // Strip IBus

From 729cec5f45468e9647027ea75155fc1fb6d7c0f1 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Wed, 23 Oct 2024 16:23:10 -0700
Subject: [PATCH 119/177] fix don't hang the ui for a full version load

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
(cherry picked from commit 7bd04ae928527b065174021fba98dc78d0d119a3)
---
 launcher/minecraft/Component.cpp           | 5 +++--
 launcher/minecraft/Component.h             | 2 +-
 launcher/ui/pages/instance/VersionPage.cpp | 2 +-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/launcher/minecraft/Component.cpp b/launcher/minecraft/Component.cpp
index 1073ef324..ad7ef545c 100644
--- a/launcher/minecraft/Component.cpp
+++ b/launcher/minecraft/Component.cpp
@@ -222,11 +222,12 @@ bool Component::isMoveable()
     return true;
 }
 
-bool Component::isVersionChangeable()
+bool Component::isVersionChangeable(bool wait)
 {
     auto list = getVersionList();
     if (list) {
-        list->waitToLoad();
+        if (wait)
+            list->waitToLoad();
         return list->count() != 0;
     }
     return false;
diff --git a/launcher/minecraft/Component.h b/launcher/minecraft/Component.h
index 7ff30889f..203cc2241 100644
--- a/launcher/minecraft/Component.h
+++ b/launcher/minecraft/Component.h
@@ -72,7 +72,7 @@ class Component : public QObject, public ProblemProvider {
     bool isRevertible();
     bool isRemovable();
     bool isCustom();
-    bool isVersionChangeable();
+    bool isVersionChangeable(bool wait = true);
     bool isKnownModloader();
     QStringList knownConflictingComponents();
 
diff --git a/launcher/ui/pages/instance/VersionPage.cpp b/launcher/ui/pages/instance/VersionPage.cpp
index 0c25b4c0c..cb04f9db1 100644
--- a/launcher/ui/pages/instance/VersionPage.cpp
+++ b/launcher/ui/pages/instance/VersionPage.cpp
@@ -243,7 +243,7 @@ void VersionPage::updateButtons(int row)
     ui->actionRemove->setEnabled(patch && patch->isRemovable());
     ui->actionMove_down->setEnabled(patch && patch->isMoveable());
     ui->actionMove_up->setEnabled(patch && patch->isMoveable());
-    ui->actionChange_version->setEnabled(patch && patch->isVersionChangeable());
+    ui->actionChange_version->setEnabled(patch && patch->isVersionChangeable(false));
     ui->actionEdit->setEnabled(patch && patch->isCustom());
     ui->actionCustomize->setEnabled(patch && patch->isCustomizable());
     ui->actionRevert->setEnabled(patch && patch->isRevertible());

From a839258c07d1faf7958c9c9b0246faacefaabedc Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 25 Oct 2024 00:19:06 +0300
Subject: [PATCH 120/177] bump develop to 9.2

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b677b0b7c..728e9c246 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -181,7 +181,7 @@ set(Launcher_FMLLIBS_BASE_URL "https://files.prismlauncher.org/fmllibs/" CACHE S
 
 ######## Set version numbers ########
 set(Launcher_VERSION_MAJOR 9)
-set(Launcher_VERSION_MINOR 0)
+set(Launcher_VERSION_MINOR 2)
 
 set(Launcher_VERSION_NAME "${Launcher_VERSION_MAJOR}.${Launcher_VERSION_MINOR}")
 set(Launcher_VERSION_NAME4 "${Launcher_VERSION_MAJOR}.${Launcher_VERSION_MINOR}.0.0")

From 008d69e5e5fc7e0b05125a464dcd23fd95c9fcb5 Mon Sep 17 00:00:00 2001
From: Arcitec <38923130+Arcitec@users.noreply.github.com>
Date: Thu, 24 Oct 2024 09:52:40 +0200
Subject: [PATCH 121/177] fix: bring back Flathub manifest improvements to the
 repo

- Brings back all manifest improvements, such as the incredibly important Mojang Java Downloader (without it, the Flatpak doesn't work), and important fixes for Wayland.

Signed-off-by: Arcitec <38923130+Arcitec@users.noreply.github.com>
(cherry picked from commit 4ce025c0a209a4eec20f7f1b9a7777bbe886be8c)
---
 flatpak/flite.json                            | 20 +++++++
 flatpak/libdecor.json                         | 36 +++++------
 flatpak/org.prismlauncher.PrismLauncher.yml   | 27 +++++----
 ...on-t-crash-on-calls-to-focus-or-icon.patch | 24 --------
 ...ning-about-being-an-unofficial-patch.patch | 17 ------
 ...007-Platform-Prefer-Wayland-over-X11.patch | 20 -------
 ...rsor-position-until-the-cursor-is-lo.patch | 59 +++++++++++++++++++
 flatpak/patches/weird_libdecor.patch          | 40 -------------
 8 files changed, 112 insertions(+), 131 deletions(-)
 create mode 100644 flatpak/flite.json
 delete mode 100644 flatpak/patches/0003-Don-t-crash-on-calls-to-focus-or-icon.patch
 delete mode 100644 flatpak/patches/0005-Add-warning-about-being-an-unofficial-patch.patch
 delete mode 100644 flatpak/patches/0007-Platform-Prefer-Wayland-over-X11.patch
 create mode 100644 flatpak/patches/0009-Defer-setting-cursor-position-until-the-cursor-is-lo.patch
 delete mode 100644 flatpak/patches/weird_libdecor.patch

diff --git a/flatpak/flite.json b/flatpak/flite.json
new file mode 100644
index 000000000..1bf280af1
--- /dev/null
+++ b/flatpak/flite.json
@@ -0,0 +1,20 @@
+{
+  "name": "flite",
+  "config-opts": [
+    "--enable-shared",
+    "--with-audio=pulseaudio"
+  ],
+  "no-parallel-make": true,
+  "sources": [
+    {
+      "type": "git",
+      "url": "https://github.com/festvox/flite.git",
+      "tag": "v2.2",
+      "commit": "e9e2e37c329dbe98bfeb27a1828ef9a71fa84f88",
+      "x-checker-data": {
+        "type": "git",
+        "tag-pattern": "^v([\\d.]+)$"
+      }
+    }
+  ]
+}
diff --git a/flatpak/libdecor.json b/flatpak/libdecor.json
index 589310a35..1652a2f04 100644
--- a/flatpak/libdecor.json
+++ b/flatpak/libdecor.json
@@ -1,22 +1,18 @@
 {
-    "name": "libdecor",
-    "buildsystem": "meson",
-    "config-opts": [
-        "-Ddemo=false"
-    ],
-    "sources": [
-        {
-            "type": "git",
-            "url": "https://gitlab.freedesktop.org/libdecor/libdecor.git",
-            "commit": "73260393a97291c887e1074ab7f318e031be0ac6"
-        },
-        {
-            "type": "patch",
-            "path": "patches/weird_libdecor.patch"
-        }
-    ],
-    "cleanup": [
-        "/include",
-        "/lib/pkgconfig"
-    ]
+  "name": "libdecor",
+  "buildsystem": "meson",
+  "config-opts": [
+    "-Ddemo=false"
+  ],
+  "sources": [
+    {
+      "type": "git",
+      "url": "https://gitlab.freedesktop.org/libdecor/libdecor.git",
+      "commit": "c2bd8ad6fa42c0cb17553ce77ad8a87d1f543b1f"
+    }
+  ],
+  "cleanup": [
+    "/include",
+    "/lib/pkgconfig"
+  ]
 }
diff --git a/flatpak/org.prismlauncher.PrismLauncher.yml b/flatpak/org.prismlauncher.PrismLauncher.yml
index 09dd8d73b..7aaa4f379 100644
--- a/flatpak/org.prismlauncher.PrismLauncher.yml
+++ b/flatpak/org.prismlauncher.PrismLauncher.yml
@@ -1,6 +1,6 @@
 id: org.prismlauncher.PrismLauncher
 runtime: org.kde.Platform
-runtime-version: 6.7
+runtime-version: '6.7'
 sdk: org.kde.Sdk
 sdk-extensions:
   - org.freedesktop.Sdk.Extension.openjdk17
@@ -19,6 +19,12 @@ finish-args:
   - --filesystem=xdg-download:ro
     # FTBApp import
   - --filesystem=~/.ftba:ro
+    # Userspace visibility for manual hugepages configuration
+    # Required for -XX:+UseLargePages
+  - --filesystem=/sys/kernel/mm/hugepages:ro
+    # Userspace visibility for transparent hugepages configuration
+    # Required for -XX:+UseTransparentHugePages
+  - --filesystem=/sys/kernel/mm/transparent_hugepage:ro
 
 modules:
   # Might be needed by some Controller mods (see https://github.com/isXander/Controlify/issues/31)
@@ -27,11 +33,16 @@ modules:
   # Needed for proper Wayland support
   - libdecor.json
 
+  # Text to Speech in the game
+  - flite.json
+
   - name: prismlauncher
     buildsystem: cmake-ninja
     builddir: true
     config-opts:
       - -DLauncher_BUILD_PLATFORM=flatpak
+      # This allows us to manage and update Java independently of this Flatpak
+      - -DLauncher_ENABLE_JAVA_DOWNLOADER=ON
       - -DCMAKE_BUILD_TYPE=RelWithDebInfo
     build-options:
       env:
@@ -47,18 +58,14 @@ modules:
     config-opts:
       - -DCMAKE_BUILD_TYPE=RelWithDebInfo
       - -DBUILD_SHARED_LIBS:BOOL=ON
-      - -DGLFW_USE_WAYLAND:BOOL=ON
+      - -DGLFW_BUILD_WAYLAND:BOOL=ON
       - -DGLFW_BUILD_DOCS:BOOL=OFF
     sources:
       - type: git
         url: https://github.com/glfw/glfw.git
-        commit: 3fa2360720eeba1964df3c0ecf4b5df8648a8e52
-      - type: patch
-        path: patches/0003-Don-t-crash-on-calls-to-focus-or-icon.patch
-      - type: patch
-        path: patches/0005-Add-warning-about-being-an-unofficial-patch.patch
+        commit: 7b6aead9fb88b3623e3b3725ebb42670cbe4c579 # 3.4
       - type: patch
-        path: patches/0007-Platform-Prefer-Wayland-over-X11.patch
+        path: patches/0009-Defer-setting-cursor-position-until-the-cursor-is-lo.patch
     cleanup:
       - /include
       - /lib/cmake
@@ -91,8 +98,8 @@ modules:
     sources:
       - type: archive
         dest-filename: gamemode.tar.gz
-        url: https://api.github.com/repos/FeralInteractive/gamemode/tarball/1.8.1
-        sha256: 969cf85b5ca3944f3e315cd73a0ee9bea4f9c968cd7d485e9f4745bc1e679c4e
+        url: https://api.github.com/repos/FeralInteractive/gamemode/tarball/1.8.2
+        sha256: 2886d4ce543c78bd2a364316d5e7fd59ef06b71de63f896b37c6d3dc97658f60
         x-checker-data:
           type: json
           url: https://api.github.com/repos/FeralInteractive/gamemode/releases/latest
diff --git a/flatpak/patches/0003-Don-t-crash-on-calls-to-focus-or-icon.patch b/flatpak/patches/0003-Don-t-crash-on-calls-to-focus-or-icon.patch
deleted file mode 100644
index 9130e856c..000000000
--- a/flatpak/patches/0003-Don-t-crash-on-calls-to-focus-or-icon.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/src/wl_window.c b/src/wl_window.c
-index 52d3b9eb..4ac4eb5d 100644
---- a/src/wl_window.c
-+++ b/src/wl_window.c
-@@ -2117,8 +2117,7 @@ void _glfwSetWindowTitleWayland(_GLFWwindow* window, const char* title)
- void _glfwSetWindowIconWayland(_GLFWwindow* window,
-                                int count, const GLFWimage* images)
- {
--    _glfwInputError(GLFW_FEATURE_UNAVAILABLE,
--                    "Wayland: The platform does not support setting the window icon");
-+    fprintf(stderr, "!!! Ignoring Error: Wayland: The platform does not support setting the window icon\n");
- }
- 
- void _glfwGetWindowPosWayland(_GLFWwindow* window, int* xpos, int* ypos)
-@@ -2361,8 +2360,7 @@ void _glfwRequestWindowAttentionWayland(_GLFWwindow* window)
- 
- void _glfwFocusWindowWayland(_GLFWwindow* window)
- {
--    _glfwInputError(GLFW_FEATURE_UNAVAILABLE,
--                    "Wayland: The platform does not support setting the input focus");
-+    fprintf(stderr, "!!! Ignoring Error: Wayland: The platform does not support setting the input focus\n");
- }
- 
- void _glfwSetWindowMonitorWayland(_GLFWwindow* window,
diff --git a/flatpak/patches/0005-Add-warning-about-being-an-unofficial-patch.patch b/flatpak/patches/0005-Add-warning-about-being-an-unofficial-patch.patch
deleted file mode 100644
index b031d739f..000000000
--- a/flatpak/patches/0005-Add-warning-about-being-an-unofficial-patch.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/init.c b/src/init.c
-index 06dbb3f2..a7c6da86 100644
---- a/src/init.c
-+++ b/src/init.c
-@@ -449,6 +449,12 @@ GLFWAPI int glfwInit(void)
-     _glfw.initialized = GLFW_TRUE;
- 
-     glfwDefaultWindowHints();
-+
-+    fprintf(stderr, "!!! Patched GLFW from https://github.com/Admicos/minecraft-wayland\n"
-+         "!!! If any issues with the window, or some issues with rendering, occur, "
-+         "first try with the built-in GLFW, and if that solves the issue, report there first.\n"
-+         "!!! Use outside Minecraft is untested, and things might break.\n");
-+
-     return GLFW_TRUE;
- }
- 
diff --git a/flatpak/patches/0007-Platform-Prefer-Wayland-over-X11.patch b/flatpak/patches/0007-Platform-Prefer-Wayland-over-X11.patch
deleted file mode 100644
index 4eeb81309..000000000
--- a/flatpak/patches/0007-Platform-Prefer-Wayland-over-X11.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/platform.c b/src/platform.c
-index c5966ae7..3e7442f9 100644
---- a/src/platform.c
-+++ b/src/platform.c
-@@ -49,12 +49,12 @@ static const struct
- #if defined(_GLFW_COCOA)
-     { GLFW_PLATFORM_COCOA, _glfwConnectCocoa },
- #endif
--#if defined(_GLFW_X11)
--    { GLFW_PLATFORM_X11, _glfwConnectX11 },
--#endif
- #if defined(_GLFW_WAYLAND)
-     { GLFW_PLATFORM_WAYLAND, _glfwConnectWayland },
- #endif
-+#if defined(_GLFW_X11)
-+    { GLFW_PLATFORM_X11, _glfwConnectX11 },
-+#endif
- };
- 
- GLFWbool _glfwSelectPlatform(int desiredID, _GLFWplatform* platform)
diff --git a/flatpak/patches/0009-Defer-setting-cursor-position-until-the-cursor-is-lo.patch b/flatpak/patches/0009-Defer-setting-cursor-position-until-the-cursor-is-lo.patch
new file mode 100644
index 000000000..70cec9981
--- /dev/null
+++ b/flatpak/patches/0009-Defer-setting-cursor-position-until-the-cursor-is-lo.patch
@@ -0,0 +1,59 @@
+From 9997ae55a47de469ea26f8437c30b51483abda5f Mon Sep 17 00:00:00 2001
+From: Dan Klishch <danilklishch@gmail.com>
+Date: Sat, 30 Sep 2023 23:38:05 -0400
+Subject: Defer setting cursor position until the cursor is locked
+
+---
+ src/wl_platform.h |  3 +++
+ src/wl_window.c   | 14 ++++++++++++--
+ 2 files changed, 15 insertions(+), 2 deletions(-)
+
+diff --git a/src/wl_platform.h b/src/wl_platform.h
+index ca34f66e..cd1f227f 100644
+--- a/src/wl_platform.h
++++ b/src/wl_platform.h
+@@ -403,6 +403,9 @@ typedef struct _GLFWwindowWayland
+     int                         scaleSize;
+     int                         compositorPreferredScale;
+ 
++    double                      askedCursorPosX, askedCursorPosY;
++    GLFWbool                    didAskForSetCursorPos;
++
+     struct zwp_relative_pointer_v1* relativePointer;
+     struct zwp_locked_pointer_v1*   lockedPointer;
+     struct zwp_confined_pointer_v1* confinedPointer;
+diff --git a/src/wl_window.c b/src/wl_window.c
+index 1de26558..0df16747 100644
+--- a/src/wl_window.c
++++ b/src/wl_window.c
+@@ -2586,8 +2586,9 @@ void _glfwGetCursorPosWayland(_GLFWwindow* window, double* xpos, double* ypos)
+ 
+ void _glfwSetCursorPosWayland(_GLFWwindow* window, double x, double y)
+ {
+-    _glfwInputError(GLFW_FEATURE_UNAVAILABLE,
+-                    "Wayland: The platform does not support setting the cursor position");
++    window->wl.didAskForSetCursorPos = true;
++    window->wl.askedCursorPosX = x;
++    window->wl.askedCursorPosY = y;
+ }
+ 
+ void _glfwSetCursorModeWayland(_GLFWwindow* window, int mode)
+@@ -2819,6 +2820,15 @@ static const struct zwp_relative_pointer_v1_listener relativePointerListener =
+ static void lockedPointerHandleLocked(void* userData,
+                                       struct zwp_locked_pointer_v1* lockedPointer)
+ {
++    _GLFWwindow* window = userData;
++
++    if (window->wl.didAskForSetCursorPos)
++    {
++        window->wl.didAskForSetCursorPos = false;
++        zwp_locked_pointer_v1_set_cursor_position_hint(window->wl.lockedPointer,
++                                                       wl_fixed_from_double(window->wl.askedCursorPosX),
++                                                       wl_fixed_from_double(window->wl.askedCursorPosY));
++    }
+ }
+ 
+ static void lockedPointerHandleUnlocked(void* userData,
+-- 
+2.42.0
+
diff --git a/flatpak/patches/weird_libdecor.patch b/flatpak/patches/weird_libdecor.patch
deleted file mode 100644
index 3a400b820..000000000
--- a/flatpak/patches/weird_libdecor.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/src/libdecor.c b/src/libdecor.c
-index a9c1106..1aa38b3 100644
---- a/src/libdecor.c
-+++ b/src/libdecor.c
-@@ -1391,22 +1391,32 @@ calculate_priority(const struct libdecor_plugin_description *plugin_description)
- static bool
- check_symbol_conflicts(const struct libdecor_plugin_description *plugin_description)
- {
-+	bool ret = true;
- 	char * const *symbol;
-+	void* main_prog = dlopen(NULL, RTLD_LAZY);
-+	if (!main_prog) {
-+		fprintf(stderr, "Plugin \"%s\" couldn't check conflicting symbols: \"%s\".\n",
-+					plugin_description->description, dlerror());
-+		return false;
-+	}
-+
- 
- 	symbol = plugin_description->conflicting_symbols;
- 	while (*symbol) {
- 		dlerror();
--		dlsym (RTLD_DEFAULT, *symbol);
-+		dlsym (main_prog, *symbol);
- 		if (!dlerror()) {
- 			fprintf(stderr, "Plugin \"%s\" uses conflicting symbol \"%s\".\n",
- 					plugin_description->description, *symbol);
--			return false;
-+			ret = false;
-+			break;
- 		}
- 
- 		symbol++;
- 	}
- 
--	return true;
-+	dlclose(main_prog);
-+	return ret;
- }
- 
- static struct plugin_loader *

From 98819a0d02499514590809049ed46feafbb7501a Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 22 Oct 2024 13:48:29 +0000
Subject: [PATCH 122/177] chore(deps): update actions/cache action to v4.1.2

(cherry picked from commit 210d0d8aa25578cbbf8250797504ae1652544600)
---
 .github/workflows/build.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a1ed0a25a..6c167d8f1 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -173,7 +173,7 @@ jobs:
 
       - name: Retrieve ccache cache (Windows MinGW-w64)
         if: runner.os == 'Windows' && matrix.msystem != '' && inputs.build_type == 'Debug'
-        uses: actions/cache@v4.1.1
+        uses: actions/cache@v4.1.2
         with:
           path: '${{ github.workspace }}\.ccache'
           key: ${{ matrix.os }}-mingw-w64-ccache-${{ github.run_id }}

From 27c6596bcbfd079c404d99a08688d1a9e72a498c Mon Sep 17 00:00:00 2001
From: TheKodeToad <TheKodeToad@proton.me>
Date: Thu, 24 Oct 2024 01:33:01 +0100
Subject: [PATCH 123/177] Use Launcher log level in AutoInstallJava

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
(cherry picked from commit d8702e1357d36423a0d40b916d49fd937284a204)
---
 launcher/minecraft/launch/AutoInstallJava.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/launcher/minecraft/launch/AutoInstallJava.cpp b/launcher/minecraft/launch/AutoInstallJava.cpp
index b23b23ed2..1083b7efb 100644
--- a/launcher/minecraft/launch/AutoInstallJava.cpp
+++ b/launcher/minecraft/launch/AutoInstallJava.cpp
@@ -78,7 +78,7 @@ void AutoInstallJava::executeTask()
                 auto java = std::dynamic_pointer_cast<JavaInstall>(javas->at(i));
                 if (java && packProfile->getProfile()->getCompatibleJavaMajors().contains(java->id.major())) {
                     if (!java->is_64bit) {
-                        emit logLine(tr("The automatic Java mechanism detected a 32-bit installation of Java."), MessageLevel::Info);
+                        emit logLine(tr("The automatic Java mechanism detected a 32-bit installation of Java."), MessageLevel::Launcher);
                     }
                     setJavaPath(java->path);
                     return;
@@ -136,7 +136,7 @@ void AutoInstallJava::setJavaPath(QString path)
     settings->set("OverrideJavaLocation", true);
     settings->set("JavaPath", path);
     settings->set("AutomaticJava", true);
-    emit logLine(tr("Compatible Java found at: %1.").arg(path), MessageLevel::Info);
+    emit logLine(tr("Compatible Java found at: %1.").arg(path), MessageLevel::Launcher);
     emitSucceeded();
 }
 

From 5f06517b62745219183fd364e2557f23dcc04d66 Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Fri, 25 Oct 2024 02:33:29 -0400
Subject: [PATCH 124/177] chore(nix): sync with nixpkgs

Signed-off-by: seth <getchoo@tuta.io>
(cherry picked from commit a5c554cf6ee32afa41c5a2af1ea8e8feb0087a49)
---
 nix/unwrapped.nix |  20 ++++----
 nix/wrapper.nix   | 115 ++++++++++++++++++++--------------------------
 2 files changed, 63 insertions(+), 72 deletions(-)

diff --git a/nix/unwrapped.nix b/nix/unwrapped.nix
index 7fc383ff3..237f36c1f 100644
--- a/nix/unwrapped.nix
+++ b/nix/unwrapped.nix
@@ -9,20 +9,21 @@
   ghc_filesystem,
   jdk17,
   kdePackages,
+  libnbtplusplus,
   ninja,
   nix-filter,
   self,
   stripJavaArchivesHook,
   tomlplusplus,
+  version,
   zlib,
+
   msaClientID ? null,
-  gamemodeSupport ? stdenv.isLinux,
-  version,
-  libnbtplusplus,
+  gamemodeSupport ? stdenv.hostPlatform.isLinux,
 }:
 
 assert lib.assertMsg (
-  gamemodeSupport -> stdenv.isLinux
+  gamemodeSupport -> stdenv.hostPlatform.isLinux
 ) "gamemodeSupport is only available on Linux.";
 
 stdenv.mkDerivation {
@@ -66,20 +67,23 @@ stdenv.mkDerivation {
       tomlplusplus
       zlib
     ]
-    ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]
     ++ lib.optional gamemodeSupport gamemode;
 
-  hardeningEnable = lib.optionals stdenv.isLinux [ "pie" ];
+  hardeningEnable = lib.optionals stdenv.hostPlatform.isLinux [ "pie" ];
 
   cmakeFlags =
-    [ (lib.cmakeFeature "Launcher_BUILD_PLATFORM" "nixpkgs") ]
+    [
+      # downstream branding
+      (lib.cmakeFeature "Launcher_BUILD_PLATFORM" "nixpkgs")
+    ]
     ++ lib.optionals (msaClientID != null) [
       (lib.cmakeFeature "Launcher_MSA_CLIENT_ID" (toString msaClientID))
     ]
     ++ lib.optionals (lib.versionOlder kdePackages.qtbase.version "6") [
       (lib.cmakeFeature "Launcher_QT_VERSION_MAJOR" "5")
     ]
-    ++ lib.optionals stdenv.isDarwin [
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [
       # we wrap our binary manually
       (lib.cmakeFeature "INSTALL_BUNDLE" "nodeps")
       # disable built-in updater
diff --git a/nix/wrapper.nix b/nix/wrapper.nix
index 5632d483b..ab9b7144b 100644
--- a/nix/wrapper.nix
+++ b/nix/wrapper.nix
@@ -1,73 +1,65 @@
 {
-  lib,
-  stdenv,
-  symlinkJoin,
-  prismlauncher-unwrapped,
-  addOpenGLRunpath,
+  addDriverRunpath,
+  alsa-lib,
   flite,
   gamemode,
-  glfw,
-  glfw-wayland-minecraft,
-  glxinfo,
-  jdk8,
+  glfw3-minecraft,
   jdk17,
   jdk21,
+  jdk8,
   kdePackages,
+  lib,
   libGL,
+  libX11,
+  libXcursor,
+  libXext,
+  libXrandr,
+  libXxf86vm,
+  libjack2,
   libpulseaudio,
   libusb1,
-  makeWrapper,
+  mesa-demos,
   openal,
   pciutils,
+  pipewire,
+  prismlauncher-unwrapped,
+  stdenv,
+  symlinkJoin,
   udev,
   vulkan-loader,
-  xorg,
+  xrandr,
+
   additionalLibs ? [ ],
   additionalPrograms ? [ ],
-  controllerSupport ? stdenv.isLinux,
-  gamemodeSupport ? stdenv.isLinux,
+  controllerSupport ? stdenv.hostPlatform.isLinux,
+  gamemodeSupport ? stdenv.hostPlatform.isLinux,
   jdks ? [
     jdk21
     jdk17
     jdk8
   ],
   msaClientID ? null,
-  textToSpeechSupport ? stdenv.isLinux,
-  # Adds `glfw-wayland-minecraft` to `LD_LIBRARY_PATH`
-  # when launched on wayland, allowing for the game to be run natively.
-  # Make sure to enable "Use system installation of GLFW" in instance settings
-  # for this to take effect
-  #
-  # Warning: This build of glfw may be unstable, and the launcher
-  # itself can take slightly longer to start
-  withWaylandGLFW ? false,
+  textToSpeechSupport ? stdenv.hostPlatform.isLinux,
 }:
 
 assert lib.assertMsg (
-  controllerSupport -> stdenv.isLinux
+  controllerSupport -> stdenv.hostPlatform.isLinux
 ) "controllerSupport only has an effect on Linux.";
 
 assert lib.assertMsg (
-  textToSpeechSupport -> stdenv.isLinux
+  textToSpeechSupport -> stdenv.hostPlatform.isLinux
 ) "textToSpeechSupport only has an effect on Linux.";
 
-assert lib.assertMsg (
-  withWaylandGLFW -> stdenv.isLinux
-) "withWaylandGLFW is only available on Linux.";
-
 let
   prismlauncher' = prismlauncher-unwrapped.override { inherit msaClientID gamemodeSupport; };
 in
+
 symlinkJoin {
   name = "prismlauncher-${prismlauncher'.version}";
 
   paths = [ prismlauncher' ];
 
-  nativeBuildInputs =
-    [ kdePackages.wrapQtAppsHook ]
-    # purposefully using a shell wrapper here for variable expansion
-    # see https://github.com/NixOS/nixpkgs/issues/172583
-    ++ lib.optional withWaylandGLFW makeWrapper;
+  nativeBuildInputs = [ kdePackages.wrapQtAppsHook ];
 
   buildInputs =
     [
@@ -75,45 +67,39 @@ symlinkJoin {
       kdePackages.qtsvg
     ]
     ++ lib.optional (
-      lib.versionAtLeast kdePackages.qtbase.version "6" && stdenv.isLinux
+      lib.versionAtLeast kdePackages.qtbase.version "6" && stdenv.hostPlatform.isLinux
     ) kdePackages.qtwayland;
 
-  env = {
-    waylandPreExec = lib.optionalString withWaylandGLFW ''
-      if [ -n "$WAYLAND_DISPLAY" ]; then
-        export LD_LIBRARY_PATH=${lib.getLib glfw-wayland-minecraft}/lib:"$LD_LIBRARY_PATH"
-      fi
-    '';
-  };
-
-  postBuild =
-    lib.optionalString withWaylandGLFW ''
-      qtWrapperArgs+=(--run "$waylandPreExec")
-    ''
-    + ''
-      wrapQtAppsHook
-    '';
+  postBuild = ''
+    wrapQtAppsHook
+  '';
 
   qtWrapperArgs =
     let
       runtimeLibs =
         [
-          # lwjgl
-          glfw
-          libpulseaudio
-          libGL
-          openal
           stdenv.cc.cc.lib
+          ## native versions
+          glfw3-minecraft
+          openal
 
-          vulkan-loader # VulkanMod's lwjgl
+          ## openal
+          alsa-lib
+          libjack2
+          libpulseaudio
+          pipewire
+
+          ## glfw
+          libGL
+          libX11
+          libXcursor
+          libXext
+          libXrandr
+          libXxf86vm
 
           udev # oshi
 
-          xorg.libX11
-          xorg.libXext
-          xorg.libXcursor
-          xorg.libXrandr
-          xorg.libXxf86vm
+          vulkan-loader # VulkanMod's lwjgl
         ]
         ++ lib.optional textToSpeechSupport flite
         ++ lib.optional gamemodeSupport gamemode.lib
@@ -121,14 +107,15 @@ symlinkJoin {
         ++ additionalLibs;
 
       runtimePrograms = [
-        glxinfo
+        mesa-demos
         pciutils # need lspci
-        xorg.xrandr # needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
+        xrandr # needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
       ] ++ additionalPrograms;
+
     in
     [ "--prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks}" ]
-    ++ lib.optionals stdenv.isLinux [
-      "--set LD_LIBRARY_PATH ${addOpenGLRunpath.driverLink}/lib:${lib.makeLibraryPath runtimeLibs}"
+    ++ lib.optionals stdenv.hostPlatform.isLinux [
+      "--set LD_LIBRARY_PATH ${addDriverRunpath.driverLink}/lib:${lib.makeLibraryPath runtimeLibs}"
       "--prefix PATH : ${lib.makeBinPath runtimePrograms}"
     ];
 

From 31031ec92311c1ccba385ce4cb10553f8172a2ed Mon Sep 17 00:00:00 2001
From: seth <getchoo@tuta.io>
Date: Fri, 25 Oct 2024 02:34:15 -0400
Subject: [PATCH 125/177] chore(nix): use `self` for version

Signed-off-by: seth <getchoo@tuta.io>
(cherry picked from commit 63b10738b2a1065d55077e729fcada6e7f64d10a)
---
 flake.nix         | 26 ++++++++++----------------
 nix/unwrapped.nix |  3 +--
 2 files changed, 11 insertions(+), 18 deletions(-)

diff --git a/flake.nix b/flake.nix
index f4ca782ec..54add656d 100644
--- a/flake.nix
+++ b/flake.nix
@@ -85,24 +85,18 @@
 
       formatter = forAllSystems (system: nixpkgsFor.${system}.nixfmt-rfc-style);
 
-      overlays.default =
-        final: prev:
-        let
-          version = builtins.substring 0 8 self.lastModifiedDate or "dirty";
-        in
-        {
-          prismlauncher-unwrapped = prev.callPackage ./nix/unwrapped.nix {
-            inherit
-              libnbtplusplus
-              nix-filter
-              self
-              version
-              ;
-          };
-
-          prismlauncher = final.callPackage ./nix/wrapper.nix { };
+      overlays.default = final: prev: {
+        prismlauncher-unwrapped = prev.callPackage ./nix/unwrapped.nix {
+          inherit
+            libnbtplusplus
+            nix-filter
+            self
+            ;
         };
 
+        prismlauncher = final.callPackage ./nix/wrapper.nix { };
+      };
+
       packages = forAllSystems (
         system:
         let
diff --git a/nix/unwrapped.nix b/nix/unwrapped.nix
index 237f36c1f..1b14886ef 100644
--- a/nix/unwrapped.nix
+++ b/nix/unwrapped.nix
@@ -15,7 +15,6 @@
   self,
   stripJavaArchivesHook,
   tomlplusplus,
-  version,
   zlib,
 
   msaClientID ? null,
@@ -28,7 +27,7 @@ assert lib.assertMsg (
 
 stdenv.mkDerivation {
   pname = "prismlauncher-unwrapped";
-  inherit version;
+  version = self.shortRev or self.dirtyShortRev or "unknown";
 
   src = nix-filter.lib {
     root = self;

From f06505b1381a13826a04adfe42acbc6369f6e012 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sun, 27 Oct 2024 11:58:34 +0200
Subject: [PATCH 126/177] change contributors name

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit f373a5cea0e816158cdabca3423107989aed0a85)
---
 launcher/ui/dialogs/AboutDialog.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/ui/dialogs/AboutDialog.cpp b/launcher/ui/dialogs/AboutDialog.cpp
index b652ba991..84bae70d0 100644
--- a/launcher/ui/dialogs/AboutDialog.cpp
+++ b/launcher/ui/dialogs/AboutDialog.cpp
@@ -101,7 +101,7 @@ QString getCreditsHtml()
 
     stream << "<h3>" << QObject::tr("With thanks to", "About Credits") << "</h3>\n";
     stream << QString("<p>Boba %1</p>\n").arg(getWebsite("https://bobaonline.neocities.org/"));
-    stream << QString("<p>Davi Rafael %1</p>\n").arg(getWebsite("https://auti.one/"));
+    stream << QString("<p>AutiOne %1</p>\n").arg(getWebsite("https://auti.one/"));
     stream << QString("<p>Fulmine %1</p>\n").arg(getWebsite("https://fulmine.xyz/"));
     stream << QString("<p>ely %1</p>\n").arg(getGitHub("elyrodso"));
     stream << QString("<p>gon sawa %1</p>\n").arg(getGitHub("gonsawa"));

From 42a6bd11515e9dd7fd51d79c015e9a62ea99f925 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sun, 27 Oct 2024 13:17:58 +0200
Subject: [PATCH 127/177] change ZekeZ name

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit c4cd7cf6c173b7052f31614b4641d2172defa91a)
---
 launcher/ui/dialogs/AboutDialog.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/ui/dialogs/AboutDialog.cpp b/launcher/ui/dialogs/AboutDialog.cpp
index 84bae70d0..a8d60aef1 100644
--- a/launcher/ui/dialogs/AboutDialog.cpp
+++ b/launcher/ui/dialogs/AboutDialog.cpp
@@ -77,7 +77,7 @@ QString getCreditsHtml()
     stream << QString("<p>d-513 %1</p>\n").arg(getGitHub("d-513"));
     stream << QString("<p>txtsd %1</p>\n").arg(getWebsite("https://ihavea.quest"));
     stream << QString("<p>timoreo %1</p>\n").arg(getGitHub("timoreo22"));
-    stream << QString("<p>Ezekiel Smith (ZekeSmith) %1</p>\n").arg(getGitHub("ZekeSmith"));
+    stream << QString("<p>ZekeZ %1</p>\n").arg(getGitHub("ZekeZDev"));
     stream << QString("<p>cozyGalvinism %1</p>\n").arg(getGitHub("cozyGalvinism"));
     stream << QString("<p>DioEgizio %1</p>\n").arg(getGitHub("DioEgizio"));
     stream << QString("<p>flowln %1</p>\n").arg(getGitHub("flowln"));

From 9560447c92a5d5c794f9a890134de38839eda81e Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sun, 27 Oct 2024 12:06:45 +0200
Subject: [PATCH 128/177] swap search with filter button for modpacks

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 61448a61ea400eebd91f97aa07e9419cc2f35823)
---
 launcher/ui/pages/modplatform/flame/FlamePage.ui     | 12 ++++++------
 .../ui/pages/modplatform/modrinth/ModrinthPage.ui    | 12 ++++++------
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/launcher/ui/pages/modplatform/flame/FlamePage.ui b/launcher/ui/pages/modplatform/flame/FlamePage.ui
index b028e7569..cf882ef1c 100644
--- a/launcher/ui/pages/modplatform/flame/FlamePage.ui
+++ b/launcher/ui/pages/modplatform/flame/FlamePage.ui
@@ -32,16 +32,16 @@
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
-      <widget class="QLineEdit" name="searchEdit">
-       <property name="placeholderText">
-        <string>Search and filter...</string>
+      <widget class="QPushButton" name="filterButton">
+       <property name="text">
+        <string>Filter options</string>
        </property>
       </widget>
      </item>
      <item>
-      <widget class="QPushButton" name="filterButton">
-       <property name="text">
-        <string>Filter</string>
+      <widget class="QLineEdit" name="searchEdit">
+       <property name="placeholderText">
+        <string>Search and filter...</string>
        </property>
       </widget>
      </item>
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.ui b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.ui
index ef44abb52..d6e983929 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.ui
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.ui
@@ -14,16 +14,16 @@
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
-      <widget class="QLineEdit" name="searchEdit">
-       <property name="placeholderText">
-        <string>Search and filter...</string>
+      <widget class="QPushButton" name="filterButton">
+       <property name="text">
+        <string>Filter options</string>
        </property>
       </widget>
      </item>
      <item>
-      <widget class="QPushButton" name="filterButton">
-       <property name="text">
-        <string>Filter</string>
+      <widget class="QLineEdit" name="searchEdit">
+       <property name="placeholderText">
+        <string>Search and filter...</string>
        </property>
       </widget>
      </item>

From 8e4994590bd59bcabca2c0b27e4b064f49d00c31 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sun, 27 Oct 2024 03:02:13 +0300
Subject: [PATCH 129/177] fix unzipping typo

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 685d3c79ac78d7e41ab257de82dc743020189a33)
---
 launcher/MMCZip.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/MMCZip.cpp b/launcher/MMCZip.cpp
index dcf3d566f..09dc23f0e 100644
--- a/launcher/MMCZip.cpp
+++ b/launcher/MMCZip.cpp
@@ -577,7 +577,7 @@ auto ExtractZipTask::extractZip() -> ZipResult
 
         auto relative_file_name = QDir::fromNativeSeparators(file_name.mid(m_subdirectory.size()));
         auto original_name = relative_file_name;
-        setStatus("Unziping: " + relative_file_name);
+        setStatus("Unzipping: " + relative_file_name);
 
         // Fix subdirs/files ending with a / getting transformed into absolute paths
         if (relative_file_name.startsWith('/'))

From 98fe035442edc0efa9b58e9b4924ca05da864f8b Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 28 Oct 2024 12:39:26 +0200
Subject: [PATCH 130/177] replace unzipping with unpacking

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 9eb1ce3ad7dde0b2ca551b0b281081724e6fd58e)
---
 launcher/MMCZip.cpp                                 | 8 ++++----
 launcher/modplatform/legacy_ftb/PackInstallTask.cpp | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/launcher/MMCZip.cpp b/launcher/MMCZip.cpp
index 09dc23f0e..b38aca17a 100644
--- a/launcher/MMCZip.cpp
+++ b/launcher/MMCZip.cpp
@@ -378,7 +378,7 @@ std::optional<QStringList> extractDir(QString fileCompressed, QString dir)
         if (fileInfo.size() == 22) {
             return QStringList();
         }
-        qWarning() << "Could not open archive for unzipping:" << fileCompressed << "Error:" << zip.getZipError();
+        qWarning() << "Could not open archive for unpacking:" << fileCompressed << "Error:" << zip.getZipError();
         ;
         return std::nullopt;
     }
@@ -395,7 +395,7 @@ std::optional<QStringList> extractDir(QString fileCompressed, QString subdir, QS
         if (fileInfo.size() == 22) {
             return QStringList();
         }
-        qWarning() << "Could not open archive for unzipping:" << fileCompressed << "Error:" << zip.getZipError();
+        qWarning() << "Could not open archive for unpacking:" << fileCompressed << "Error:" << zip.getZipError();
         ;
         return std::nullopt;
     }
@@ -412,7 +412,7 @@ bool extractFile(QString fileCompressed, QString file, QString target)
         if (fileInfo.size() == 22) {
             return true;
         }
-        qWarning() << "Could not open archive for unzipping:" << fileCompressed << "Error:" << zip.getZipError();
+        qWarning() << "Could not open archive for unpacking:" << fileCompressed << "Error:" << zip.getZipError();
         return false;
     }
     return extractRelFile(&zip, file, target);
@@ -577,7 +577,7 @@ auto ExtractZipTask::extractZip() -> ZipResult
 
         auto relative_file_name = QDir::fromNativeSeparators(file_name.mid(m_subdirectory.size()));
         auto original_name = relative_file_name;
-        setStatus("Unzipping: " + relative_file_name);
+        setStatus("Unpacking: " + relative_file_name);
 
         // Fix subdirs/files ending with a / getting transformed into absolute paths
         if (relative_file_name.startsWith('/'))
diff --git a/launcher/modplatform/legacy_ftb/PackInstallTask.cpp b/launcher/modplatform/legacy_ftb/PackInstallTask.cpp
index 7157f7f2d..d6252663f 100644
--- a/launcher/modplatform/legacy_ftb/PackInstallTask.cpp
+++ b/launcher/modplatform/legacy_ftb/PackInstallTask.cpp
@@ -138,7 +138,7 @@ void PackInstallTask::install()
     if (unzipMcDir.exists()) {
         // ok, found minecraft dir, move contents to instance dir
         if (!FS::move(m_stagingPath + "/unzip/minecraft", m_stagingPath + "/minecraft")) {
-            emitFailed(tr("Failed to move unzipped Minecraft!"));
+            emitFailed(tr("Failed to move unpacked Minecraft!"));
             return;
         }
     }

From 130714a9ab24ce45ad935d7e2ab2a9440b2708fd Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Wed, 18 Sep 2024 21:01:34 +0300
Subject: [PATCH 131/177] translate standard buttons

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit bd82737efbb99dfc488d6d073046e5fe62693a9e)
---
 launcher/ui/dialogs/BlockedModsDialog.cpp           | 2 ++
 launcher/ui/dialogs/CopyInstanceDialog.cpp          | 3 +++
 launcher/ui/dialogs/EditAccountDialog.cpp           | 4 ++++
 launcher/ui/dialogs/ExportInstanceDialog.cpp        | 5 +++++
 launcher/ui/dialogs/ExportPackDialog.cpp            | 3 +++
 launcher/ui/dialogs/ExportToModListDialog.cpp       | 3 +++
 launcher/ui/dialogs/IconPickerDialog.cpp            | 3 +++
 launcher/ui/dialogs/ImportResourceDialog.cpp        | 3 +++
 launcher/ui/dialogs/InstallLoaderDialog.cpp         | 2 ++
 launcher/ui/dialogs/MSALoginDialog.cpp              | 2 ++
 launcher/ui/dialogs/NewComponentDialog.cpp          | 3 +++
 launcher/ui/dialogs/NewInstanceDialog.cpp           | 3 +++
 launcher/ui/dialogs/OfflineLoginDialog.cpp          | 3 +++
 launcher/ui/dialogs/ProfileSelectDialog.cpp         | 4 ++++
 launcher/ui/dialogs/ProfileSetupDialog.cpp          | 3 +++
 launcher/ui/dialogs/ReviewMessageBox.cpp            | 3 +++
 launcher/ui/dialogs/ScrollMessageBox.cpp            | 4 ++++
 launcher/ui/dialogs/VersionSelectDialog.cpp         | 3 +++
 launcher/ui/dialogs/skins/SkinManageDialog.cpp      | 3 +++
 launcher/ui/java/InstallJavaDialog.cpp              | 1 +
 launcher/ui/pagedialog/PageDialog.cpp               | 2 ++
 launcher/ui/pages/modplatform/OptionalModDialog.cpp | 3 +++
 launcher/ui/pages/modplatform/ResourcePage.cpp      | 1 +
 launcher/updater/prismupdater/UpdaterDialogs.cpp    | 4 ++++
 24 files changed, 70 insertions(+)

diff --git a/launcher/ui/dialogs/BlockedModsDialog.cpp b/launcher/ui/dialogs/BlockedModsDialog.cpp
index 5c93053d1..a02f527de 100644
--- a/launcher/ui/dialogs/BlockedModsDialog.cpp
+++ b/launcher/ui/dialogs/BlockedModsDialog.cpp
@@ -51,6 +51,8 @@ BlockedModsDialog::BlockedModsDialog(QWidget* parent, const QString& title, cons
 
     ui->setupUi(this);
 
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
     m_openMissingButton = ui->buttonBox->addButton(tr("Open Missing"), QDialogButtonBox::ActionRole);
     connect(m_openMissingButton, &QPushButton::clicked, this, [this]() { openAll(true); });
 
diff --git a/launcher/ui/dialogs/CopyInstanceDialog.cpp b/launcher/ui/dialogs/CopyInstanceDialog.cpp
index 770741a61..e5c2c301b 100644
--- a/launcher/ui/dialogs/CopyInstanceDialog.cpp
+++ b/launcher/ui/dialogs/CopyInstanceDialog.cpp
@@ -109,6 +109,9 @@ CopyInstanceDialog::CopyInstanceDialog(InstancePtr original, QWidget* parent)
 
     auto HelpButton = ui->buttonBox->button(QDialogButtonBox::Help);
     connect(HelpButton, &QPushButton::clicked, this, &CopyInstanceDialog::help);
+    HelpButton->setText(tr("Help"));
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
 }
 
 CopyInstanceDialog::~CopyInstanceDialog()
diff --git a/launcher/ui/dialogs/EditAccountDialog.cpp b/launcher/ui/dialogs/EditAccountDialog.cpp
index 58036fd82..9d0175bbc 100644
--- a/launcher/ui/dialogs/EditAccountDialog.cpp
+++ b/launcher/ui/dialogs/EditAccountDialog.cpp
@@ -15,6 +15,7 @@
 
 #include "EditAccountDialog.h"
 #include <DesktopServices.h>
+#include <QPushButton>
 #include <QUrl>
 #include "ui_EditAccountDialog.h"
 
@@ -27,6 +28,9 @@ EditAccountDialog::EditAccountDialog(const QString& text, QWidget* parent, int f
 
     ui->userTextBox->setEnabled(flags & UsernameField);
     ui->passTextBox->setEnabled(flags & PasswordField);
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
 }
 
 EditAccountDialog::~EditAccountDialog()
diff --git a/launcher/ui/dialogs/ExportInstanceDialog.cpp b/launcher/ui/dialogs/ExportInstanceDialog.cpp
index 7e00f18f4..d25cd32b6 100644
--- a/launcher/ui/dialogs/ExportInstanceDialog.cpp
+++ b/launcher/ui/dialogs/ExportInstanceDialog.cpp
@@ -51,6 +51,8 @@
 #include <icons/IconList.h>
 #include <QDebug>
 #include <QFileInfo>
+#include <QPushButton>
+#include <QSaveFile>
 #include <QSortFilterProxyModel>
 #include <QStack>
 #include <functional>
@@ -84,6 +86,9 @@ ExportInstanceDialog::ExportInstanceDialog(InstancePtr instance, QWidget* parent
     auto headerView = ui->treeView->header();
     headerView->setSectionResizeMode(QHeaderView::ResizeToContents);
     headerView->setSectionResizeMode(0, QHeaderView::Stretch);
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
 }
 
 ExportInstanceDialog::~ExportInstanceDialog()
diff --git a/launcher/ui/dialogs/ExportPackDialog.cpp b/launcher/ui/dialogs/ExportPackDialog.cpp
index 0278c6cb0..ed79a741f 100644
--- a/launcher/ui/dialogs/ExportPackDialog.cpp
+++ b/launcher/ui/dialogs/ExportPackDialog.cpp
@@ -103,6 +103,9 @@ ExportPackDialog::ExportPackDialog(InstancePtr instance, QWidget* parent, ModPla
     QHeaderView* headerView = ui->files->header();
     headerView->setSectionResizeMode(QHeaderView::ResizeToContents);
     headerView->setSectionResizeMode(0, QHeaderView::Stretch);
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
 }
 
 ExportPackDialog::~ExportPackDialog()
diff --git a/launcher/ui/dialogs/ExportToModListDialog.cpp b/launcher/ui/dialogs/ExportToModListDialog.cpp
index 908743ab0..c2ba68f7a 100644
--- a/launcher/ui/dialogs/ExportToModListDialog.cpp
+++ b/launcher/ui/dialogs/ExportToModListDialog.cpp
@@ -64,6 +64,9 @@ ExportToModListDialog::ExportToModListDialog(QString name, QList<Mod*> mods, QWi
         this->ui->finalText->selectAll();
         this->ui->finalText->copy();
     });
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Save)->setText(tr("Save"));
     triggerImp();
 }
 
diff --git a/launcher/ui/dialogs/IconPickerDialog.cpp b/launcher/ui/dialogs/IconPickerDialog.cpp
index a196fd587..a7b44eab0 100644
--- a/launcher/ui/dialogs/IconPickerDialog.cpp
+++ b/launcher/ui/dialogs/IconPickerDialog.cpp
@@ -63,6 +63,9 @@ IconPickerDialog::IconPickerDialog(QWidget* parent) : QDialog(parent), ui(new Ui
     auto buttonAdd = ui->buttonBox->addButton(tr("Add Icon"), QDialogButtonBox::ResetRole);
     buttonRemove = ui->buttonBox->addButton(tr("Remove Icon"), QDialogButtonBox::ResetRole);
 
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
+
     connect(buttonAdd, SIGNAL(clicked(bool)), SLOT(addNewIcon()));
     connect(buttonRemove, SIGNAL(clicked(bool)), SLOT(removeSelectedIcon()));
 
diff --git a/launcher/ui/dialogs/ImportResourceDialog.cpp b/launcher/ui/dialogs/ImportResourceDialog.cpp
index 84b692730..e3a1e9a6c 100644
--- a/launcher/ui/dialogs/ImportResourceDialog.cpp
+++ b/launcher/ui/dialogs/ImportResourceDialog.cpp
@@ -45,6 +45,9 @@ ImportResourceDialog::ImportResourceDialog(QString file_path, PackedResourceType
     ui->label->setText(
         tr("Choose the instance you would like to import this %1 to.").arg(ResourceUtils::getPackedTypeName(m_resource_type)));
     ui->label_file_path->setText(tr("File: %1").arg(m_file_path));
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
 }
 
 void ImportResourceDialog::activated(QModelIndex index)
diff --git a/launcher/ui/dialogs/InstallLoaderDialog.cpp b/launcher/ui/dialogs/InstallLoaderDialog.cpp
index 8e5463b31..7082125f2 100644
--- a/launcher/ui/dialogs/InstallLoaderDialog.cpp
+++ b/launcher/ui/dialogs/InstallLoaderDialog.cpp
@@ -104,6 +104,8 @@ InstallLoaderDialog::InstallLoaderDialog(std::shared_ptr<PackProfile> profile, c
 
     buttons->setOrientation(Qt::Horizontal);
     buttons->setStandardButtons(QDialogButtonBox::Cancel | QDialogButtonBox::Ok);
+    buttons->button(QDialogButtonBox::Ok)->setText(tr("Ok"));
+    buttons->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
     connect(buttons, &QDialogButtonBox::accepted, this, &QDialog::accept);
     connect(buttons, &QDialogButtonBox::rejected, this, &QDialog::reject);
     buttonLayout->addWidget(buttons);
diff --git a/launcher/ui/dialogs/MSALoginDialog.cpp b/launcher/ui/dialogs/MSALoginDialog.cpp
index 4e38b4187..2f6c6d9b2 100644
--- a/launcher/ui/dialogs/MSALoginDialog.cpp
+++ b/launcher/ui/dialogs/MSALoginDialog.cpp
@@ -68,6 +68,8 @@ MSALoginDialog::MSALoginDialog(QWidget* parent) : QDialog(parent), ui(new Ui::MS
             }
         }
     });
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
 }
 
 int MSALoginDialog::exec()
diff --git a/launcher/ui/dialogs/NewComponentDialog.cpp b/launcher/ui/dialogs/NewComponentDialog.cpp
index b47b85ff1..b5f8ff889 100644
--- a/launcher/ui/dialogs/NewComponentDialog.cpp
+++ b/launcher/ui/dialogs/NewComponentDialog.cpp
@@ -68,6 +68,9 @@ NewComponentDialog::NewComponentDialog(const QString& initialName, const QString
 
     ui->nameTextBox->setFocus();
 
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
+
     originalPlaceholderText = ui->uidTextBox->placeholderText();
     updateDialogState();
 }
diff --git a/launcher/ui/dialogs/NewInstanceDialog.cpp b/launcher/ui/dialogs/NewInstanceDialog.cpp
index f16c50860..d9ea0aafb 100644
--- a/launcher/ui/dialogs/NewInstanceDialog.cpp
+++ b/launcher/ui/dialogs/NewInstanceDialog.cpp
@@ -109,16 +109,19 @@ NewInstanceDialog::NewInstanceDialog(const QString& initialGroup,
     auto OkButton = m_buttons->button(QDialogButtonBox::Ok);
     OkButton->setDefault(true);
     OkButton->setAutoDefault(true);
+    OkButton->setText(tr("OK"));
     connect(OkButton, &QPushButton::clicked, this, &NewInstanceDialog::accept);
 
     auto CancelButton = m_buttons->button(QDialogButtonBox::Cancel);
     CancelButton->setDefault(false);
     CancelButton->setAutoDefault(false);
+    CancelButton->setText(tr("Cancel"));
     connect(CancelButton, &QPushButton::clicked, this, &NewInstanceDialog::reject);
 
     auto HelpButton = m_buttons->button(QDialogButtonBox::Help);
     HelpButton->setDefault(false);
     HelpButton->setAutoDefault(false);
+    HelpButton->setText(tr("Help"));
     connect(HelpButton, &QPushButton::clicked, m_container, &PageContainer::help);
 
     if (!url.isEmpty()) {
diff --git a/launcher/ui/dialogs/OfflineLoginDialog.cpp b/launcher/ui/dialogs/OfflineLoginDialog.cpp
index b9d1c2915..d8fbc04fd 100644
--- a/launcher/ui/dialogs/OfflineLoginDialog.cpp
+++ b/launcher/ui/dialogs/OfflineLoginDialog.cpp
@@ -9,6 +9,9 @@ OfflineLoginDialog::OfflineLoginDialog(QWidget* parent) : QDialog(parent), ui(ne
     ui->progressBar->setVisible(false);
     ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
 
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
+
     connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
     connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
 }
diff --git a/launcher/ui/dialogs/ProfileSelectDialog.cpp b/launcher/ui/dialogs/ProfileSelectDialog.cpp
index fe03e1b6b..95bdf99a9 100644
--- a/launcher/ui/dialogs/ProfileSelectDialog.cpp
+++ b/launcher/ui/dialogs/ProfileSelectDialog.cpp
@@ -18,6 +18,7 @@
 
 #include <QDebug>
 #include <QItemSelectionModel>
+#include <QPushButton>
 
 #include "Application.h"
 
@@ -70,6 +71,9 @@ ProfileSelectDialog::ProfileSelectDialog(const QString& message, int flags, QWid
     ui->listView->setCurrentIndex(ui->listView->model()->index(0, 0));
 
     connect(ui->listView, SIGNAL(doubleClicked(QModelIndex)), SLOT(on_buttonBox_accepted()));
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
 }
 
 ProfileSelectDialog::~ProfileSelectDialog()
diff --git a/launcher/ui/dialogs/ProfileSetupDialog.cpp b/launcher/ui/dialogs/ProfileSetupDialog.cpp
index 385094e23..a6512784f 100644
--- a/launcher/ui/dialogs/ProfileSetupDialog.cpp
+++ b/launcher/ui/dialogs/ProfileSetupDialog.cpp
@@ -70,6 +70,9 @@ ProfileSetupDialog::ProfileSetupDialog(MinecraftAccountPtr accountToSetup, QWidg
     connect(&checkStartTimer, &QTimer::timeout, this, &ProfileSetupDialog::startCheck);
 
     setNameStatus(NameStatus::NotSet, QString());
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
 }
 
 ProfileSetupDialog::~ProfileSetupDialog()
diff --git a/launcher/ui/dialogs/ReviewMessageBox.cpp b/launcher/ui/dialogs/ReviewMessageBox.cpp
index 66c36d400..fa79e4ed1 100644
--- a/launcher/ui/dialogs/ReviewMessageBox.cpp
+++ b/launcher/ui/dialogs/ReviewMessageBox.cpp
@@ -20,6 +20,9 @@ ReviewMessageBox::ReviewMessageBox(QWidget* parent, [[maybe_unused]] QString con
 
     connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &ReviewMessageBox::accept);
     connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &ReviewMessageBox::reject);
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
 }
 
 ReviewMessageBox::~ReviewMessageBox()
diff --git a/launcher/ui/dialogs/ScrollMessageBox.cpp b/launcher/ui/dialogs/ScrollMessageBox.cpp
index c04d87842..1cfb848f4 100644
--- a/launcher/ui/dialogs/ScrollMessageBox.cpp
+++ b/launcher/ui/dialogs/ScrollMessageBox.cpp
@@ -1,4 +1,5 @@
 #include "ScrollMessageBox.h"
+#include <QPushButton>
 #include "ui_ScrollMessageBox.h"
 
 ScrollMessageBox::ScrollMessageBox(QWidget* parent, const QString& title, const QString& text, const QString& body)
@@ -8,6 +9,9 @@ ScrollMessageBox::ScrollMessageBox(QWidget* parent, const QString& title, const
     this->setWindowTitle(title);
     ui->label->setText(text);
     ui->textBrowser->setText(body);
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
 }
 
 ScrollMessageBox::~ScrollMessageBox()
diff --git a/launcher/ui/dialogs/VersionSelectDialog.cpp b/launcher/ui/dialogs/VersionSelectDialog.cpp
index 876d7470e..30377288b 100644
--- a/launcher/ui/dialogs/VersionSelectDialog.cpp
+++ b/launcher/ui/dialogs/VersionSelectDialog.cpp
@@ -68,6 +68,9 @@ VersionSelectDialog::VersionSelectDialog(BaseVersionList* vlist, QString title,
     m_buttonBox->setObjectName(QStringLiteral("buttonBox"));
     m_buttonBox->setOrientation(Qt::Horizontal);
     m_buttonBox->setStandardButtons(QDialogButtonBox::Cancel | QDialogButtonBox::Ok);
+
+    m_buttonBox->button(QDialogButtonBox::Ok)->setText(tr("Ok"));
+    m_buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
     m_horizontalLayout->addWidget(m_buttonBox);
 
     m_verticalLayout->addLayout(m_horizontalLayout);
diff --git a/launcher/ui/dialogs/skins/SkinManageDialog.cpp b/launcher/ui/dialogs/skins/SkinManageDialog.cpp
index 65840eb08..f112e1acf 100644
--- a/launcher/ui/dialogs/skins/SkinManageDialog.cpp
+++ b/launcher/ui/dialogs/skins/SkinManageDialog.cpp
@@ -93,6 +93,9 @@ SkinManageDialog::SkinManageDialog(QWidget* parent, MinecraftAccountPtr acct)
     setupCapes();
 
     ui->listView->setCurrentIndex(m_list.index(m_list.getSelectedAccountSkin()));
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
 }
 
 SkinManageDialog::~SkinManageDialog()
diff --git a/launcher/ui/java/InstallJavaDialog.cpp b/launcher/ui/java/InstallJavaDialog.cpp
index 0ece3220b..d38670d05 100644
--- a/launcher/ui/java/InstallJavaDialog.cpp
+++ b/launcher/ui/java/InstallJavaDialog.cpp
@@ -212,6 +212,7 @@ InstallDialog::InstallDialog(const QString& uid, BaseInstance* instance, QWidget
     buttons->setOrientation(Qt::Horizontal);
     buttons->setStandardButtons(QDialogButtonBox::Cancel | QDialogButtonBox::Ok);
     buttons->button(QDialogButtonBox::Ok)->setText(tr("Download"));
+    buttons->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
     connect(buttons, &QDialogButtonBox::accepted, this, &QDialog::accept);
     connect(buttons, &QDialogButtonBox::rejected, this, &QDialog::reject);
     buttonLayout->addWidget(buttons);
diff --git a/launcher/ui/pagedialog/PageDialog.cpp b/launcher/ui/pagedialog/PageDialog.cpp
index 6514217cd..d211cb4d3 100644
--- a/launcher/ui/pagedialog/PageDialog.cpp
+++ b/launcher/ui/pagedialog/PageDialog.cpp
@@ -39,6 +39,8 @@ PageDialog::PageDialog(BasePageProvider* pageProvider, QString defaultId, QWidge
 
     QDialogButtonBox* buttons = new QDialogButtonBox(QDialogButtonBox::Help | QDialogButtonBox::Close);
     buttons->button(QDialogButtonBox::Close)->setDefault(true);
+    buttons->button(QDialogButtonBox::Close)->setText(tr("Close"));
+    buttons->button(QDialogButtonBox::Help)->setText(tr("Help"));
     buttons->setContentsMargins(6, 0, 6, 0);
     m_container->addButtons(buttons);
 
diff --git a/launcher/ui/pages/modplatform/OptionalModDialog.cpp b/launcher/ui/pages/modplatform/OptionalModDialog.cpp
index fc1c8b3cb..5dc53d9dc 100644
--- a/launcher/ui/pages/modplatform/OptionalModDialog.cpp
+++ b/launcher/ui/pages/modplatform/OptionalModDialog.cpp
@@ -43,6 +43,9 @@ OptionalModDialog::OptionalModDialog(QWidget* parent, const QStringList& mods) :
         else
             item->setCheckState(Qt::Checked);
     });
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
 }
 
 OptionalModDialog::~OptionalModDialog()
diff --git a/launcher/ui/pages/modplatform/ResourcePage.cpp b/launcher/ui/pages/modplatform/ResourcePage.cpp
index dea28d6d5..817079439 100644
--- a/launcher/ui/pages/modplatform/ResourcePage.cpp
+++ b/launcher/ui/pages/modplatform/ResourcePage.cpp
@@ -465,6 +465,7 @@ void ResourcePage::openProject(QVariant projectID)
     auto cancelBtn = buttonBox->button(QDialogButtonBox::Cancel);
     cancelBtn->setDefault(false);
     cancelBtn->setAutoDefault(false);
+    cancelBtn->setText(tr("Cancel"));
 
     connect(okBtn, &QPushButton::clicked, this, [this] {
         onResourceSelected();
diff --git a/launcher/updater/prismupdater/UpdaterDialogs.cpp b/launcher/updater/prismupdater/UpdaterDialogs.cpp
index 06dc161b1..eab3e6bbb 100644
--- a/launcher/updater/prismupdater/UpdaterDialogs.cpp
+++ b/launcher/updater/prismupdater/UpdaterDialogs.cpp
@@ -24,6 +24,7 @@
 
 #include "ui_SelectReleaseDialog.h"
 
+#include <QPushButton>
 #include <QTextBrowser>
 #include "Markdown.h"
 #include "StringUtils.h"
@@ -55,6 +56,9 @@ SelectReleaseDialog::SelectReleaseDialog(const Version& current_version, const Q
 
     connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &SelectReleaseDialog::accept);
     connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &SelectReleaseDialog::reject);
+
+    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Cancel"));
+    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("OK"));
 }
 
 SelectReleaseDialog::~SelectReleaseDialog()

From 3d55236fdf14cbe0c39b922ed7ef21e831a3688e Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 25 Oct 2024 01:05:58 +0300
Subject: [PATCH 132/177] add extra protection against empty download link

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 8daa1219a508ddb37070c01046c78b731a277887)
---
 launcher/ui/pages/modplatform/ResourcePage.cpp | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/launcher/ui/pages/modplatform/ResourcePage.cpp b/launcher/ui/pages/modplatform/ResourcePage.cpp
index 817079439..68a12c479 100644
--- a/launcher/ui/pages/modplatform/ResourcePage.cpp
+++ b/launcher/ui/pages/modplatform/ResourcePage.cpp
@@ -39,6 +39,7 @@
 
 #include "ResourcePage.h"
 #include "modplatform/ModIndex.h"
+#include "ui/dialogs/CustomMessageBox.h"
 #include "ui_ResourcePage.h"
 
 #include <QDesktopServices>
@@ -324,9 +325,9 @@ void ResourcePage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelI
     updateUi();
 }
 
-void ResourcePage::onVersionSelectionChanged(int index)
+void ResourcePage::onVersionSelectionChanged(int)
 {
-    m_selected_version_index = index;
+    m_selected_version_index = m_ui->versionSelectionBox->currentData().toInt();
     updateSelectionButton();
 }
 
@@ -358,10 +359,18 @@ void ResourcePage::onResourceSelected()
         return;
 
     auto current_pack = getCurrentPack();
-    if (!current_pack || !current_pack->versionsLoaded)
+    if (!current_pack || !current_pack->versionsLoaded || current_pack->versions.size() < m_selected_version_index)
         return;
 
     auto& version = current_pack->versions[m_selected_version_index];
+    if (version.downloadUrl.isNull()) {
+        CustomMessageBox::selectable(this, tr("How?"),
+                                     "You managed to select a resource that doesn't have a download link. Because of this missing "
+                                     "information prism will not try to download it.",
+                                     QMessageBox::Warning)
+            ->show();
+        return;
+    }
     if (version.is_currently_selected)
         removeResourceFromDialog(current_pack->name);
     else

From 1d9c97803a51ac1a4d44fe23adf129388688dde9 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sun, 27 Oct 2024 03:05:30 +0200
Subject: [PATCH 133/177] rename snake_case to camelCase

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 44894a29b1784cfa8a04807c17d21169230ff922)
---
 launcher/ui/pages/modplatform/ModPage.cpp     |  2 +-
 .../ui/pages/modplatform/ResourcePackPage.cpp |  2 +-
 .../ui/pages/modplatform/ResourcePage.cpp     | 52 +++++++++----------
 launcher/ui/pages/modplatform/ResourcePage.h  | 14 ++---
 .../ui/pages/modplatform/ShaderPackPage.cpp   |  2 +-
 .../modplatform/flame/FlameResourcePages.cpp  |  2 +-
 .../modrinth/ModrinthResourcePages.cpp        |  2 +-
 7 files changed, 38 insertions(+), 38 deletions(-)

diff --git a/launcher/ui/pages/modplatform/ModPage.cpp b/launcher/ui/pages/modplatform/ModPage.cpp
index c9817cdf7..f0cc2df54 100644
--- a/launcher/ui/pages/modplatform/ModPage.cpp
+++ b/launcher/ui/pages/modplatform/ModPage.cpp
@@ -99,7 +99,7 @@ void ModPage::triggerSearch()
     updateSelectionButton();
 
     static_cast<ModModel*>(m_model)->searchWithTerm(getSearchTerm(), m_ui->sortByBox->currentData().toUInt(), changed);
-    m_fetch_progress.watch(m_model->activeSearchJob().get());
+    m_fetchProgress.watch(m_model->activeSearchJob().get());
 }
 
 QMap<QString, QString> ModPage::urlHandlers() const
diff --git a/launcher/ui/pages/modplatform/ResourcePackPage.cpp b/launcher/ui/pages/modplatform/ResourcePackPage.cpp
index 849ea1111..99039476e 100644
--- a/launcher/ui/pages/modplatform/ResourcePackPage.cpp
+++ b/launcher/ui/pages/modplatform/ResourcePackPage.cpp
@@ -30,7 +30,7 @@ void ResourcePackResourcePage::triggerSearch()
     updateSelectionButton();
 
     static_cast<ResourcePackResourceModel*>(m_model)->searchWithTerm(getSearchTerm(), m_ui->sortByBox->currentData().toUInt());
-    m_fetch_progress.watch(m_model->activeSearchJob().get());
+    m_fetchProgress.watch(m_model->activeSearchJob().get());
 }
 
 QMap<QString, QString> ResourcePackResourcePage::urlHandlers() const
diff --git a/launcher/ui/pages/modplatform/ResourcePage.cpp b/launcher/ui/pages/modplatform/ResourcePage.cpp
index 68a12c479..1fcc2bdd8 100644
--- a/launcher/ui/pages/modplatform/ResourcePage.cpp
+++ b/launcher/ui/pages/modplatform/ResourcePage.cpp
@@ -55,7 +55,7 @@
 namespace ResourceDownload {
 
 ResourcePage::ResourcePage(ResourceDownloadDialog* parent, BaseInstance& base_instance)
-    : QWidget(parent), m_base_instance(base_instance), m_ui(new Ui::ResourcePage), m_parent_dialog(parent), m_fetch_progress(this, false)
+    : QWidget(parent), m_baseInstance(base_instance), m_ui(new Ui::ResourcePage), m_parentDialog(parent), m_fetchProgress(this, false)
 {
     m_ui->setupUi(this);
 
@@ -64,18 +64,18 @@ ResourcePage::ResourcePage(ResourceDownloadDialog* parent, BaseInstance& base_in
     m_ui->versionSelectionBox->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
     m_ui->versionSelectionBox->view()->parentWidget()->setMaximumHeight(300);
 
-    m_search_timer.setTimerType(Qt::TimerType::CoarseTimer);
-    m_search_timer.setSingleShot(true);
+    m_searchTimer.setTimerType(Qt::TimerType::CoarseTimer);
+    m_searchTimer.setSingleShot(true);
 
-    connect(&m_search_timer, &QTimer::timeout, this, &ResourcePage::triggerSearch);
+    connect(&m_searchTimer, &QTimer::timeout, this, &ResourcePage::triggerSearch);
 
     // hide progress bar to prevent weird artifact
-    m_fetch_progress.hide();
-    m_fetch_progress.hideIfInactive(true);
-    m_fetch_progress.setFixedHeight(24);
-    m_fetch_progress.progressFormat("");
+    m_fetchProgress.hide();
+    m_fetchProgress.hideIfInactive(true);
+    m_fetchProgress.setFixedHeight(24);
+    m_fetchProgress.progressFormat("");
 
-    m_ui->verticalLayout->insertWidget(1, &m_fetch_progress);
+    m_ui->verticalLayout->insertWidget(1, &m_fetchProgress);
 
     m_ui->packView->setItemDelegate(new ProjectItemDelegate(this));
     m_ui->packView->installEventFilter(this);
@@ -121,10 +121,10 @@ auto ResourcePage::eventFilter(QObject* watched, QEvent* event) -> bool
                 keyEvent->accept();
                 return true;
             } else {
-                if (m_search_timer.isActive())
-                    m_search_timer.stop();
+                if (m_searchTimer.isActive())
+                    m_searchTimer.stop();
 
-                m_search_timer.start(350);
+                m_searchTimer.start(350);
             }
         } else if (watched == m_ui->packView) {
             if (keyEvent->key() == Qt::Key_Return) {
@@ -248,7 +248,7 @@ void ResourcePage::updateUi()
 
 void ResourcePage::updateSelectionButton()
 {
-    if (!isOpened || m_selected_version_index < 0) {
+    if (!isOpened || m_selectedVersionIndex < 0) {
         m_ui->resourceSelectionButton->setEnabled(false);
         return;
     }
@@ -258,7 +258,7 @@ void ResourcePage::updateSelectionButton()
         if (current_pack->versionsLoaded && current_pack->versions.empty()) {
             m_ui->resourceSelectionButton->setEnabled(false);
             qWarning() << tr("No version available for the selected pack");
-        } else if (!current_pack->isVersionSelected(m_selected_version_index))
+        } else if (!current_pack->isVersionSelected(m_selectedVersionIndex))
             m_ui->resourceSelectionButton->setText(tr("Select %1 for download").arg(resourceString()));
         else
             m_ui->resourceSelectionButton->setText(tr("Deselect %1 for download").arg(resourceString()));
@@ -327,18 +327,18 @@ void ResourcePage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelI
 
 void ResourcePage::onVersionSelectionChanged(int)
 {
-    m_selected_version_index = m_ui->versionSelectionBox->currentData().toInt();
+    m_selectedVersionIndex = m_ui->versionSelectionBox->currentData().toInt();
     updateSelectionButton();
 }
 
 void ResourcePage::addResourceToDialog(ModPlatform::IndexedPack::Ptr pack, ModPlatform::IndexedVersion& version)
 {
-    m_parent_dialog->addResource(pack, version);
+    m_parentDialog->addResource(pack, version);
 }
 
 void ResourcePage::removeResourceFromDialog(const QString& pack_name)
 {
-    m_parent_dialog->removeResource(pack_name);
+    m_parentDialog->removeResource(pack_name);
 }
 
 void ResourcePage::addResourceToPage(ModPlatform::IndexedPack::Ptr pack,
@@ -355,14 +355,14 @@ void ResourcePage::removeResourceFromPage(const QString& name)
 
 void ResourcePage::onResourceSelected()
 {
-    if (m_selected_version_index < 0)
+    if (m_selectedVersionIndex < 0)
         return;
 
     auto current_pack = getCurrentPack();
-    if (!current_pack || !current_pack->versionsLoaded || current_pack->versions.size() < m_selected_version_index)
+    if (!current_pack || !current_pack->versionsLoaded || current_pack->versions.size() < m_selectedVersionIndex)
         return;
 
-    auto& version = current_pack->versions[m_selected_version_index];
+    auto& version = current_pack->versions[m_selectedVersionIndex];
     if (version.downloadUrl.isNull()) {
         CustomMessageBox::selectable(this, tr("How?"),
                                      "You managed to select a resource that doesn't have a download link. Because of this missing "
@@ -409,14 +409,14 @@ void ResourcePage::openUrl(const QUrl& url)
         }
     }
 
-    if (!page.isNull() && !m_do_not_jump_to_mod) {
+    if (!page.isNull() && !m_doNotJumpToMod) {
         const QString slug = match.captured(1);
 
         // ensure the user isn't opening the same mod
         if (auto current_pack = getCurrentPack(); current_pack && slug != current_pack->slug) {
-            m_parent_dialog->selectPage(page);
+            m_parentDialog->selectPage(page);
 
-            auto newPage = m_parent_dialog->selectedPage();
+            auto newPage = m_parentDialog->selectedPage();
 
             QLineEdit* searchEdit = newPage->m_ui->searchEdit;
             auto model = newPage->m_model;
@@ -460,7 +460,7 @@ void ResourcePage::openProject(QVariant projectID)
     m_ui->resourceFilterButton->hide();
     m_ui->packView->hide();
     m_ui->resourceSelectionButton->hide();
-    m_do_not_jump_to_mod = true;
+    m_doNotJumpToMod = true;
 
     auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
 
@@ -478,10 +478,10 @@ void ResourcePage::openProject(QVariant projectID)
 
     connect(okBtn, &QPushButton::clicked, this, [this] {
         onResourceSelected();
-        m_parent_dialog->accept();
+        m_parentDialog->accept();
     });
 
-    connect(cancelBtn, &QPushButton::clicked, m_parent_dialog, &ResourceDownloadDialog::reject);
+    connect(cancelBtn, &QPushButton::clicked, m_parentDialog, &ResourceDownloadDialog::reject);
     m_ui->gridLayout_4->addWidget(buttonBox, 1, 2);
 
     auto jump = [this, okBtn] {
diff --git a/launcher/ui/pages/modplatform/ResourcePage.h b/launcher/ui/pages/modplatform/ResourcePage.h
index b625240eb..09c512df4 100644
--- a/launcher/ui/pages/modplatform/ResourcePage.h
+++ b/launcher/ui/pages/modplatform/ResourcePage.h
@@ -62,7 +62,7 @@ class ResourcePage : public QWidget, public BasePage {
 
     [[nodiscard]] bool setCurrentPack(ModPlatform::IndexedPack::Ptr);
     [[nodiscard]] auto getCurrentPack() const -> ModPlatform::IndexedPack::Ptr;
-    [[nodiscard]] auto getDialog() const -> const ResourceDownloadDialog* { return m_parent_dialog; }
+    [[nodiscard]] auto getDialog() const -> const ResourceDownloadDialog* { return m_parentDialog; }
     [[nodiscard]] auto getModel() const -> ResourceModel* { return m_model; }
 
    protected:
@@ -99,22 +99,22 @@ class ResourcePage : public QWidget, public BasePage {
     virtual void openUrl(const QUrl&);
 
    public:
-    BaseInstance& m_base_instance;
+    BaseInstance& m_baseInstance;
 
    protected:
     Ui::ResourcePage* m_ui;
 
-    ResourceDownloadDialog* m_parent_dialog = nullptr;
+    ResourceDownloadDialog* m_parentDialog = nullptr;
     ResourceModel* m_model = nullptr;
 
-    int m_selected_version_index = -1;
+    int m_selectedVersionIndex = -1;
 
-    ProgressWidget m_fetch_progress;
+    ProgressWidget m_fetchProgress;
 
     // Used to do instant searching with a delay to cache quick changes
-    QTimer m_search_timer;
+    QTimer m_searchTimer;
 
-    bool m_do_not_jump_to_mod = false;
+    bool m_doNotJumpToMod = false;
 };
 
 }  // namespace ResourceDownload
diff --git a/launcher/ui/pages/modplatform/ShaderPackPage.cpp b/launcher/ui/pages/modplatform/ShaderPackPage.cpp
index ebd8d4ea2..cedf985fb 100644
--- a/launcher/ui/pages/modplatform/ShaderPackPage.cpp
+++ b/launcher/ui/pages/modplatform/ShaderPackPage.cpp
@@ -31,7 +31,7 @@ void ShaderPackResourcePage::triggerSearch()
     updateSelectionButton();
 
     static_cast<ShaderPackResourceModel*>(m_model)->searchWithTerm(getSearchTerm(), m_ui->sortByBox->currentData().toUInt());
-    m_fetch_progress.watch(m_model->activeSearchJob().get());
+    m_fetchProgress.watch(m_model->activeSearchJob().get());
 }
 
 QMap<QString, QString> ShaderPackResourcePage::urlHandlers() const
diff --git a/launcher/ui/pages/modplatform/flame/FlameResourcePages.cpp b/launcher/ui/pages/modplatform/flame/FlameResourcePages.cpp
index ce8c03fa1..4e01f3a65 100644
--- a/launcher/ui/pages/modplatform/flame/FlameResourcePages.cpp
+++ b/launcher/ui/pages/modplatform/flame/FlameResourcePages.cpp
@@ -209,7 +209,7 @@ auto FlameShaderPackPage::shouldDisplay() const -> bool
 
 unique_qobject_ptr<ModFilterWidget> FlameModPage::createFilterWidget()
 {
-    return ModFilterWidget::create(&static_cast<MinecraftInstance&>(m_base_instance), false, this);
+    return ModFilterWidget::create(&static_cast<MinecraftInstance&>(m_baseInstance), false, this);
 }
 
 void FlameModPage::prepareProviderCategories()
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthResourcePages.cpp b/launcher/ui/pages/modplatform/modrinth/ModrinthResourcePages.cpp
index 85dcde471..4ee620677 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthResourcePages.cpp
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthResourcePages.cpp
@@ -144,7 +144,7 @@ auto ModrinthShaderPackPage::shouldDisplay() const -> bool
 
 unique_qobject_ptr<ModFilterWidget> ModrinthModPage::createFilterWidget()
 {
-    return ModFilterWidget::create(&static_cast<MinecraftInstance&>(m_base_instance), true, this);
+    return ModFilterWidget::create(&static_cast<MinecraftInstance&>(m_baseInstance), true, this);
 }
 
 void ModrinthModPage::prepareProviderCategories()

From 1e696328bb89ce363e36d3c460b9ec05709b8644 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sun, 27 Oct 2024 03:05:56 +0200
Subject: [PATCH 134/177] fix #3001

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit b593ff09e9c4b5fa30ca082eea4cd69f12a286e5)
---
 launcher/ui/pages/modplatform/ResourcePage.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/launcher/ui/pages/modplatform/ResourcePage.cpp b/launcher/ui/pages/modplatform/ResourcePage.cpp
index 1fcc2bdd8..80258946c 100644
--- a/launcher/ui/pages/modplatform/ResourcePage.cpp
+++ b/launcher/ui/pages/modplatform/ResourcePage.cpp
@@ -484,11 +484,13 @@ void ResourcePage::openProject(QVariant projectID)
     connect(cancelBtn, &QPushButton::clicked, m_parentDialog, &ResourceDownloadDialog::reject);
     m_ui->gridLayout_4->addWidget(buttonBox, 1, 2);
 
-    auto jump = [this, okBtn] {
+    connect(m_ui->versionSelectionBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
+            [this, okBtn] { okBtn->setEnabled(m_ui->versionSelectionBox->currentData().toInt() >= 0); });
+
+    auto jump = [this] {
         for (int row = 0; row < m_model->rowCount({}); row++) {
             const QModelIndex index = m_model->index(row);
             m_ui->packView->setCurrentIndex(index);
-            okBtn->setEnabled(true);
             return;
         }
         m_ui->packDescription->setText(tr("The resource was not found"));

From c3cf5d31da70ed980ebab0cbf0a2216156dc835c Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 28 Oct 2024 12:54:21 +0200
Subject: [PATCH 135/177] replace currentData with itemData on
 QComboBox::currentIndexChanged slots

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 0cafac84ac6328fefb8992de2c6a2385b1c0053c)
---
 launcher/ui/pages/modplatform/ResourcePage.cpp     | 14 +++++++-------
 launcher/ui/pages/modplatform/flame/FlamePage.cpp  |  2 +-
 .../ui/pages/modplatform/modrinth/ModrinthPage.cpp |  2 +-
 launcher/ui/widgets/ThemeCustomizationWidget.cpp   |  6 +++---
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/launcher/ui/pages/modplatform/ResourcePage.cpp b/launcher/ui/pages/modplatform/ResourcePage.cpp
index 80258946c..2c2f97b77 100644
--- a/launcher/ui/pages/modplatform/ResourcePage.cpp
+++ b/launcher/ui/pages/modplatform/ResourcePage.cpp
@@ -325,9 +325,9 @@ void ResourcePage::onSelectionChanged(QModelIndex curr, [[maybe_unused]] QModelI
     updateUi();
 }
 
-void ResourcePage::onVersionSelectionChanged(int)
+void ResourcePage::onVersionSelectionChanged(int index)
 {
-    m_selectedVersionIndex = m_ui->versionSelectionBox->currentData().toInt();
+    m_selectedVersionIndex = m_ui->versionSelectionBox->itemData(index).toInt();
     updateSelectionButton();
 }
 
@@ -364,10 +364,10 @@ void ResourcePage::onResourceSelected()
 
     auto& version = current_pack->versions[m_selectedVersionIndex];
     if (version.downloadUrl.isNull()) {
-        CustomMessageBox::selectable(this, tr("How?"),
-                                     "You managed to select a resource that doesn't have a download link. Because of this missing "
-                                     "information prism will not try to download it.",
-                                     QMessageBox::Warning)
+        CustomMessageBox::selectable(
+            this, tr("Download Link Missing"),
+            tr("It looks like the resource you selected doesn't have a download link, so Prism won't attempt to download it."),
+            QMessageBox::Warning)
             ->show();
         return;
     }
@@ -485,7 +485,7 @@ void ResourcePage::openProject(QVariant projectID)
     m_ui->gridLayout_4->addWidget(buttonBox, 1, 2);
 
     connect(m_ui->versionSelectionBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
-            [this, okBtn] { okBtn->setEnabled(m_ui->versionSelectionBox->currentData().toInt() >= 0); });
+            [this, okBtn](int index) { okBtn->setEnabled(m_ui->versionSelectionBox->itemData(index).toInt() >= 0); });
 
     auto jump = [this] {
         for (int row = 0; row < m_model->rowCount({}); row++) {
diff --git a/launcher/ui/pages/modplatform/flame/FlamePage.cpp b/launcher/ui/pages/modplatform/flame/FlamePage.cpp
index 9abf4a9c6..de6b3d633 100644
--- a/launcher/ui/pages/modplatform/flame/FlamePage.cpp
+++ b/launcher/ui/pages/modplatform/flame/FlamePage.cpp
@@ -273,7 +273,7 @@ void FlamePage::suggestCurrent()
 void FlamePage::onVersionSelectionChanged(int index)
 {
     bool is_blocked = false;
-    ui->versionSelectionBox->currentData().toInt(&is_blocked);
+    ui->versionSelectionBox->itemData(index).toInt(&is_blocked);
 
     if (index == -1 || is_blocked) {
         m_selected_version_index = -1;
diff --git a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
index 8803c6dd9..7d70abec4 100644
--- a/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
+++ b/launcher/ui/pages/modplatform/modrinth/ModrinthPage.cpp
@@ -375,7 +375,7 @@ void ModrinthPage::onVersionSelectionChanged(int index)
         selectedVersion = "";
         return;
     }
-    selectedVersion = ui->versionSelectionBox->currentData().toString();
+    selectedVersion = ui->versionSelectionBox->itemData(index).toString();
     suggestCurrent();
 }
 
diff --git a/launcher/ui/widgets/ThemeCustomizationWidget.cpp b/launcher/ui/widgets/ThemeCustomizationWidget.cpp
index 7a54bd390..097678b8d 100644
--- a/launcher/ui/widgets/ThemeCustomizationWidget.cpp
+++ b/launcher/ui/widgets/ThemeCustomizationWidget.cpp
@@ -87,7 +87,7 @@ void ThemeCustomizationWidget::applyIconTheme(int index)
 {
     auto settings = APPLICATION->settings();
     auto originalIconTheme = settings->get("IconTheme").toString();
-    auto newIconTheme = ui->iconsComboBox->currentData().toString();
+    auto newIconTheme = ui->iconsComboBox->itemData(index).toString();
     if (originalIconTheme != newIconTheme) {
         settings->set("IconTheme", newIconTheme);
         APPLICATION->themeManager()->applyCurrentlySelectedTheme();
@@ -100,7 +100,7 @@ void ThemeCustomizationWidget::applyWidgetTheme(int index)
 {
     auto settings = APPLICATION->settings();
     auto originalAppTheme = settings->get("ApplicationTheme").toString();
-    auto newAppTheme = ui->widgetStyleComboBox->currentData().toString();
+    auto newAppTheme = ui->widgetStyleComboBox->itemData(index).toString();
     if (originalAppTheme != newAppTheme) {
         settings->set("ApplicationTheme", newAppTheme);
         APPLICATION->themeManager()->applyCurrentlySelectedTheme();
@@ -113,7 +113,7 @@ void ThemeCustomizationWidget::applyCatTheme(int index)
 {
     auto settings = APPLICATION->settings();
     auto originalCat = settings->get("BackgroundCat").toString();
-    auto newCat = ui->backgroundCatComboBox->currentData().toString();
+    auto newCat = ui->backgroundCatComboBox->itemData(index).toString();
     if (originalCat != newCat) {
         settings->set("BackgroundCat", newCat);
     }

From db32b2ad992a534b8824d905339ba15d3bf371f8 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 28 Oct 2024 19:19:06 +0200
Subject: [PATCH 136/177] remove message box

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 9cdda4377b0090a035e286a86fd78f126f995356)
---
 launcher/ui/pages/modplatform/ResourcePage.cpp | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/launcher/ui/pages/modplatform/ResourcePage.cpp b/launcher/ui/pages/modplatform/ResourcePage.cpp
index 2c2f97b77..77cbe29a3 100644
--- a/launcher/ui/pages/modplatform/ResourcePage.cpp
+++ b/launcher/ui/pages/modplatform/ResourcePage.cpp
@@ -364,11 +364,7 @@ void ResourcePage::onResourceSelected()
 
     auto& version = current_pack->versions[m_selectedVersionIndex];
     if (version.downloadUrl.isNull()) {
-        CustomMessageBox::selectable(
-            this, tr("Download Link Missing"),
-            tr("It looks like the resource you selected doesn't have a download link, so Prism won't attempt to download it."),
-            QMessageBox::Warning)
-            ->show();
+        qCritical() << tr("It looks like the resource you selected doesn't have a download link, so Prism won't attempt to download it.");
         return;
     }
     if (version.is_currently_selected)

From 63a6f823fd9a35c749f061b26f53d5b0623f50cf Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 28 Oct 2024 22:27:40 +0200
Subject: [PATCH 137/177] add qassert

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 94f65f8727bfd12cc50eb8b62d52bca308cef9b5)
---
 launcher/ui/pages/modplatform/ResourcePage.cpp | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/launcher/ui/pages/modplatform/ResourcePage.cpp b/launcher/ui/pages/modplatform/ResourcePage.cpp
index 77cbe29a3..766070f20 100644
--- a/launcher/ui/pages/modplatform/ResourcePage.cpp
+++ b/launcher/ui/pages/modplatform/ResourcePage.cpp
@@ -363,10 +363,7 @@ void ResourcePage::onResourceSelected()
         return;
 
     auto& version = current_pack->versions[m_selectedVersionIndex];
-    if (version.downloadUrl.isNull()) {
-        qCritical() << tr("It looks like the resource you selected doesn't have a download link, so Prism won't attempt to download it.");
-        return;
-    }
+    Q_ASSERT(!version.downloadUrl.isNull());
     if (version.is_currently_selected)
         removeResourceFromDialog(current_pack->name);
     else

From 698a838b56d47a6be806eb92107e2ae617583d9f Mon Sep 17 00:00:00 2001
From: Ben Westover <me@benthetechguy.net>
Date: Tue, 29 Oct 2024 18:20:00 +0000
Subject: [PATCH 138/177] Shorten metainfo.xml app summary

Signed-off-by: Ben Westover <me@benthetechguy.net>
(cherry picked from commit fd109c47401c755e35da9c2884e9b38532bed56c)
---
 program_info/org.prismlauncher.PrismLauncher.metainfo.xml.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/program_info/org.prismlauncher.PrismLauncher.metainfo.xml.in b/program_info/org.prismlauncher.PrismLauncher.metainfo.xml.in
index a482f0e38..3c542c060 100644
--- a/program_info/org.prismlauncher.PrismLauncher.metainfo.xml.in
+++ b/program_info/org.prismlauncher.PrismLauncher.metainfo.xml.in
@@ -4,7 +4,7 @@
   <launchable type="desktop-id">org.prismlauncher.PrismLauncher.desktop</launchable>
   <name>Prism Launcher</name>
   <developer_name>Prism Launcher Contributors</developer_name>
-  <summary>A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once</summary>
+  <summary>Custom Minecraft Launcher to easily manage multiple Minecraft installations at once</summary>
   <metadata_license>CC0-1.0</metadata_license>
   <project_license>GPL-3.0-only</project_license>
   <url type="homepage">https://prismlauncher.org/</url>

From d105d76f2af754d71104f0d05c4911b57b71fc00 Mon Sep 17 00:00:00 2001
From: Ben Westover <me@benthetechguy.net>
Date: Tue, 29 Oct 2024 18:24:19 +0000
Subject: [PATCH 139/177] Fix some typos

Signed-off-by: Ben Westover <me@benthetechguy.net>
(cherry picked from commit f6511c601e1fd63a864f1681beef0f85adfe6f7e)
---
 .../auth/steps/MSADeviceCodeStep.cpp          | 20 +++++++++----------
 .../minecraft/auth/steps/MSADeviceCodeStep.h  |  2 +-
 launcher/ui/java/InstallJavaDialog.cpp        | 10 +++++-----
 3 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/launcher/minecraft/auth/steps/MSADeviceCodeStep.cpp b/launcher/minecraft/auth/steps/MSADeviceCodeStep.cpp
index c283b153e..38ff90a47 100644
--- a/launcher/minecraft/auth/steps/MSADeviceCodeStep.cpp
+++ b/launcher/minecraft/auth/steps/MSADeviceCodeStep.cpp
@@ -74,12 +74,12 @@ void MSADeviceCodeStep::perform()
     m_task->setAskRetry(false);
     m_task->addNetAction(m_request);
 
-    connect(m_task.get(), &Task::finished, this, &MSADeviceCodeStep::deviceAutorizationFinished);
+    connect(m_task.get(), &Task::finished, this, &MSADeviceCodeStep::deviceAuthorizationFinished);
 
     m_task->start();
 }
 
-struct DeviceAutorizationResponse {
+struct DeviceAuthorizationResponse {
     QString device_code;
     QString user_code;
     QString verification_uri;
@@ -90,17 +90,17 @@ struct DeviceAutorizationResponse {
     QString error_description;
 };
 
-DeviceAutorizationResponse parseDeviceAutorizationResponse(const QByteArray& data)
+DeviceAuthorizationResponse parseDeviceAuthorizationResponse(const QByteArray& data)
 {
     QJsonParseError err;
     QJsonDocument doc = QJsonDocument::fromJson(data, &err);
     if (err.error != QJsonParseError::NoError) {
-        qWarning() << "Failed to parse device autorization response due to err:" << err.errorString();
+        qWarning() << "Failed to parse device authorization response due to err:" << err.errorString();
         return {};
     }
 
     if (!doc.isObject()) {
-        qWarning() << "Device autorization response is not an object";
+        qWarning() << "Device authorization response is not an object";
         return {};
     }
     auto obj = doc.object();
@@ -111,9 +111,9 @@ DeviceAutorizationResponse parseDeviceAutorizationResponse(const QByteArray& dat
     };
 }
 
-void MSADeviceCodeStep::deviceAutorizationFinished()
+void MSADeviceCodeStep::deviceAuthorizationFinished()
 {
-    auto rsp = parseDeviceAutorizationResponse(*m_response);
+    auto rsp = parseDeviceAuthorizationResponse(*m_response);
     if (!rsp.error.isEmpty() || !rsp.error_description.isEmpty()) {
         qWarning() << "Device authorization failed:" << rsp.error;
         emit finished(AccountTaskState::STATE_FAILED_HARD,
@@ -208,12 +208,12 @@ AuthenticationResponse parseAuthenticationResponse(const QByteArray& data)
     QJsonParseError err;
     QJsonDocument doc = QJsonDocument::fromJson(data, &err);
     if (err.error != QJsonParseError::NoError) {
-        qWarning() << "Failed to parse device autorization response due to err:" << err.errorString();
+        qWarning() << "Failed to parse device authorization response due to err:" << err.errorString();
         return {};
     }
 
     if (!doc.isObject()) {
-        qWarning() << "Device autorization response is not an object";
+        qWarning() << "Device authorization response is not an object";
         return {};
     }
     auto obj = doc.object();
@@ -274,4 +274,4 @@ void MSADeviceCodeStep::authenticationFinished()
     m_data->msaToken.refresh_token = rsp.refresh_token;
     m_data->msaToken.token = rsp.access_token;
     emit finished(AccountTaskState::STATE_WORKING, tr("Got"));
-}
\ No newline at end of file
+}
diff --git a/launcher/minecraft/auth/steps/MSADeviceCodeStep.h b/launcher/minecraft/auth/steps/MSADeviceCodeStep.h
index 616008def..7f755563f 100644
--- a/launcher/minecraft/auth/steps/MSADeviceCodeStep.h
+++ b/launcher/minecraft/auth/steps/MSADeviceCodeStep.h
@@ -58,7 +58,7 @@ class MSADeviceCodeStep : public AuthStep {
     void authorizeWithBrowser(QString url, QString code, int expiresIn);
 
    private slots:
-    void deviceAutorizationFinished();
+    void deviceAuthorizationFinished();
     void startPoolTimer();
     void authenticateUser();
     void authenticationFinished();
diff --git a/launcher/ui/java/InstallJavaDialog.cpp b/launcher/ui/java/InstallJavaDialog.cpp
index d38670d05..dc43ea4c9 100644
--- a/launcher/ui/java/InstallJavaDialog.cpp
+++ b/launcher/ui/java/InstallJavaDialog.cpp
@@ -132,9 +132,9 @@ class InstallJavaPage : public QWidget, public BasePage {
         m_recommended_majors = majors;
         recommendedFilterChanged();
     }
-    void setRecomend(bool recomend)
+    void setRecommend(bool recommend)
     {
-        m_recommend = recomend;
+        m_recommend = recommend;
         recommendedFilterChanged();
     }
     void recommendedFilterChanged()
@@ -202,7 +202,7 @@ InstallDialog::InstallDialog(const QString& uid, BaseInstance* instance, QWidget
     recommendedCheckBox->setCheckState(Qt::CheckState::Checked);
     connect(recommendedCheckBox, &QCheckBox::stateChanged, this, [this](int state) {
         for (BasePage* page : container->getPages()) {
-            pageCast(page)->setRecomend(state == Qt::Checked);
+            pageCast(page)->setRecommend(state == Qt::Checked);
         }
     });
 
@@ -261,7 +261,7 @@ InstallDialog::InstallDialog(const QString& uid, BaseInstance* instance, QWidget
             container->selectPage(page->id());
 
         auto cast = pageCast(page);
-        cast->setRecomend(true);
+        cast->setRecommend(true);
         connect(cast, &InstallJavaPage::selectionChanged, this, [this, cast] { validate(cast); });
         if (!recommendedJavas.isEmpty()) {
             cast->setRecommendedMajors(recommendedJavas);
@@ -344,4 +344,4 @@ void InstallDialog::done(int result)
 
 }  // namespace Java
 
-#include "InstallJavaDialog.moc"
\ No newline at end of file
+#include "InstallJavaDialog.moc"

From dd8dec8be8c9c12f659c89a13746e4e52d0d0aa7 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Wed, 30 Oct 2024 17:15:42 +0200
Subject: [PATCH 140/177] fix macos system detection

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 14c95b9d376975144faddc33e7154cca86621804)
---
 launcher/SysInfo.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/launcher/SysInfo.cpp b/launcher/SysInfo.cpp
index 0dfa74de7..cfcf63805 100644
--- a/launcher/SysInfo.cpp
+++ b/launcher/SysInfo.cpp
@@ -81,9 +81,9 @@ QString getSupportedJavaArchitecture()
         if (arch == "arm64")
             return "mac-os-arm64";
         if (arch.contains("64"))
-            return "mac-os-64";
+            return "mac-os-x64";
         if (arch.contains("86"))
-            return "mac-os-86";
+            return "mac-os-x86";
         // Unknown, maybe something new, appending arch
         return "mac-os-" + arch;
     } else if (sys == "linux") {

From d21cda188061778ab678cc69bfaa004b7bf99b59 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sun, 27 Oct 2024 12:36:14 +0200
Subject: [PATCH 141/177] lock m_instanceExtras

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 11d4d948aa1a1ba67cee59193eb98a7fdad2d909)
---
 launcher/Application.cpp | 11 ++++++++++-
 launcher/Application.h   |  1 +
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index ea749ca4c..b64b9decb 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -48,6 +48,7 @@
 #include "net/PasteUpload.h"
 #include "pathmatcher/MultiMatcher.h"
 #include "pathmatcher/SimplePrefixMatcher.h"
+#include "tasks/Task.h"
 #include "tools/GenericProfiler.h"
 #include "ui/InstanceWindow.h"
 #include "ui/MainWindow.h"
@@ -1380,6 +1381,7 @@ bool Application::launch(InstancePtr instance, bool online, bool demo, Minecraft
     if (m_updateRunning) {
         qDebug() << "Cannot launch instances while an update is running. Please try again when updates are completed.";
     } else if (instance->canLaunch()) {
+        QMutexLocker locker(&m_instanceExtrasMutex);
         auto& extras = m_instanceExtras[instance->id()];
         auto window = extras.window;
         if (window) {
@@ -1404,7 +1406,7 @@ bool Application::launch(InstancePtr instance, bool online, bool demo, Minecraft
         connect(controller.get(), &LaunchController::failed, this, &Application::controllerFailed);
         connect(controller.get(), &LaunchController::aborted, this, [this] { controllerFailed(tr("Aborted")); });
         addRunningInstance();
-        controller->start();
+        QMetaObject::invokeMethod(controller.get(), &Task::start, Qt::QueuedConnection);
         return true;
     } else if (instance->isRunning()) {
         showInstanceWindow(instance, "console");
@@ -1422,9 +1424,11 @@ bool Application::kill(InstancePtr instance)
         qWarning() << "Attempted to kill instance" << instance->id() << ", which isn't running.";
         return false;
     }
+    QMutexLocker locker(&m_instanceExtrasMutex);
     auto& extras = m_instanceExtras[instance->id()];
     // NOTE: copy of the shared pointer keeps it alive
     auto controller = extras.controller;
+    locker.unlock();
     if (controller) {
         return controller->abort();
     }
@@ -1478,6 +1482,8 @@ void Application::controllerSucceeded()
     if (!controller)
         return;
     auto id = controller->id();
+
+    QMutexLocker locker(&m_instanceExtrasMutex);
     auto& extras = m_instanceExtras[id];
 
     // on success, do...
@@ -1503,6 +1509,7 @@ void Application::controllerFailed(const QString& error)
     if (!controller)
         return;
     auto id = controller->id();
+    QMutexLocker locker(&m_instanceExtrasMutex);
     auto& extras = m_instanceExtras[id];
 
     // on failure, do... nothing
@@ -1560,6 +1567,7 @@ InstanceWindow* Application::showInstanceWindow(InstancePtr instance, QString pa
     if (!instance)
         return nullptr;
     auto id = instance->id();
+    QMutexLocker locker(&m_instanceExtrasMutex);
     auto& extras = m_instanceExtras[id];
     auto& window = extras.window;
 
@@ -1597,6 +1605,7 @@ void Application::on_windowClose()
     m_openWindows--;
     auto instWindow = qobject_cast<InstanceWindow*>(QObject::sender());
     if (instWindow) {
+        QMutexLocker locker(&m_instanceExtrasMutex);
         auto& extras = m_instanceExtras[instWindow->instanceId()];
         extras.window = nullptr;
         if (extras.controller) {
diff --git a/launcher/Application.h b/launcher/Application.h
index 692625f4a..164ec3a4f 100644
--- a/launcher/Application.h
+++ b/launcher/Application.h
@@ -279,6 +279,7 @@ class Application : public QApplication {
         shared_qobject_ptr<LaunchController> controller;
     };
     std::map<QString, InstanceXtras> m_instanceExtras;
+    mutable QMutex m_instanceExtrasMutex;
 
     // main state variables
     size_t m_openWindows = 0;

From 484d90899f293121558a5a6da984bd7eb5a1c508 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 1 Nov 2024 17:34:29 +0200
Subject: [PATCH 142/177] disable retry for modrinth currentVersions API

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 6f2f3c2d3bf6a170060523ad47fe69fef57bd9b4)
---
 launcher/modplatform/modrinth/ModrinthAPI.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/modplatform/modrinth/ModrinthAPI.cpp b/launcher/modplatform/modrinth/ModrinthAPI.cpp
index 323711e02..a954f65a5 100644
--- a/launcher/modplatform/modrinth/ModrinthAPI.cpp
+++ b/launcher/modplatform/modrinth/ModrinthAPI.cpp
@@ -34,7 +34,7 @@ Task::Ptr ModrinthAPI::currentVersions(const QStringList& hashes, QString hash_f
     auto body_raw = body.toJson();
 
     netJob->addNetAction(Net::ApiUpload::makeByteArray(QString(BuildConfig.MODRINTH_PROD_URL + "/version_files"), response, body_raw));
-
+    netJob->setAskRetry(false);
     return netJob;
 }
 

From 40af3cf3d2fbf0c931eb9e137e6a69f6e8831a86 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 1 Nov 2024 11:03:47 +0200
Subject: [PATCH 143/177] use isPortable to determine if the MSAStep should
 check for url handler

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 99cfb6237030f03c148e531da78b8da8f7d4c2f1)
---
 launcher/minecraft/auth/steps/MSAStep.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/launcher/minecraft/auth/steps/MSAStep.cpp b/launcher/minecraft/auth/steps/MSAStep.cpp
index 74999414c..151ee4e68 100644
--- a/launcher/minecraft/auth/steps/MSAStep.cpp
+++ b/launcher/minecraft/auth/steps/MSAStep.cpp
@@ -85,8 +85,7 @@ class CustomOAuthOobReplyHandler : public QOAuthOobReplyHandler {
 MSAStep::MSAStep(AccountData* data, bool silent) : AuthStep(data), m_silent(silent)
 {
     m_clientId = APPLICATION->getMSAClientID();
-    if (QCoreApplication::applicationFilePath().startsWith("/tmp/.mount_") ||
-        QFile::exists(FS::PathCombine(APPLICATION->root(), "portable.txt")) || !isSchemeHandlerRegistered())
+    if (QCoreApplication::applicationFilePath().startsWith("/tmp/.mount_") || APPLICATION->isPortable() || !isSchemeHandlerRegistered())
 
     {
         auto replyHandler = new QOAuthHttpServerReplyHandler(this);

From c0394c52b7e944c7e5d14e8da5128b5f92e19ace Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Tue, 5 Nov 2024 01:10:38 -0700
Subject: [PATCH 144/177] ci: bump linux qt version

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
(cherry picked from commit d63a3364111a99337c2096c807550f3d7c62b47a)
---
 .github/workflows/build.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6c167d8f1..90f74fae5 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -59,14 +59,14 @@ jobs:
             qt_ver: 5
             qt_host: linux
             qt_arch: ""
-            qt_version: "5.12.8"
+            qt_version: "5.15.2"
             qt_modules: "qtnetworkauth"
 
           - os: ubuntu-20.04
             qt_ver: 6
             qt_host: linux
             qt_arch: ""
-            qt_version: "6.2.4"
+            qt_version: "6.5.3"
             qt_modules: "qt5compat qtimageformats qtnetworkauth"
 
           - os: windows-2022

From 7f074ca7b94d56a8700752ede95c7474291ee307 Mon Sep 17 00:00:00 2001
From: Rachel Powers <508861+Ryex@users.noreply.github.com>
Date: Tue, 5 Nov 2024 01:30:55 -0700
Subject: [PATCH 145/177] ci: libxcb-curcsor_dev ?

Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
(cherry picked from commit ba6743d134589294ac3ba754e6ad83c2e59d4ffd)
---
 .github/workflows/build.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 90f74fae5..2cefa8100 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -206,7 +206,7 @@ jobs:
         if: runner.os == 'Linux'
         run: |
           sudo apt-get -y update
-          sudo apt-get -y install ninja-build extra-cmake-modules scdoc appstream
+          sudo apt-get -y install ninja-build extra-cmake-modules scdoc appstream libxcb-cursor-dev
 
       - name: Install Dependencies (macOS)
         if: runner.os == 'macOS'

From 1dce1360bdea93e5c8450585e1154cead29463aa Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Thu, 31 Oct 2024 14:51:18 +0200
Subject: [PATCH 146/177] Fix installed typo

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 670c932f32753fd67979f95810b052d7a62a0006)
---
 launcher/ui/dialogs/ModUpdateDialog.cpp  | 2 +-
 launcher/ui/dialogs/ReviewMessageBox.cpp | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/launcher/ui/dialogs/ModUpdateDialog.cpp b/launcher/ui/dialogs/ModUpdateDialog.cpp
index f906cfcea..308072c5e 100644
--- a/launcher/ui/dialogs/ModUpdateDialog.cpp
+++ b/launcher/ui/dialogs/ModUpdateDialog.cpp
@@ -418,7 +418,7 @@ void ModUpdateDialog::appendMod(CheckUpdateTask::UpdatableMod const& info, QStri
     auto item_top = new QTreeWidgetItem(ui->modTreeWidget);
     item_top->setCheckState(0, info.enabled ? Qt::CheckState::Checked : Qt::CheckState::Unchecked);
     if (!info.enabled) {
-        item_top->setToolTip(0, tr("Mod was disabled as it may be already instaled."));
+        item_top->setToolTip(0, tr("Mod was disabled as it may be already installed."));
     }
     item_top->setText(0, info.name);
     item_top->setExpanded(true);
diff --git a/launcher/ui/dialogs/ReviewMessageBox.cpp b/launcher/ui/dialogs/ReviewMessageBox.cpp
index fa79e4ed1..96cc8149f 100644
--- a/launcher/ui/dialogs/ReviewMessageBox.cpp
+++ b/launcher/ui/dialogs/ReviewMessageBox.cpp
@@ -41,7 +41,7 @@ void ReviewMessageBox::appendResource(ResourceInformation&& info)
     itemTop->setCheckState(0, info.enabled ? Qt::CheckState::Checked : Qt::CheckState::Unchecked);
     itemTop->setText(0, info.name);
     if (!info.enabled) {
-        itemTop->setToolTip(0, tr("Mod was disabled as it may be already instaled."));
+        itemTop->setToolTip(0, tr("Mod was disabled as it may be already installed."));
     }
 
     auto filenameItem = new QTreeWidgetItem(itemTop);

From 984daa450bbc53cec83b183472d83e022efc3739 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Thu, 7 Nov 2024 14:45:14 +0200
Subject: [PATCH 147/177] Close the window using the invokeMethod to not block

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 9601fbf2d5b36d3609cce6b1a3b458db0d170531)
---
 launcher/Application.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index b64b9decb..474493f5a 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -1489,7 +1489,7 @@ void Application::controllerSucceeded()
     // on success, do...
     if (controller->instance()->settings()->get("AutoCloseConsole").toBool()) {
         if (extras.window) {
-            extras.window->close();
+            QMetaObject::invokeMethod(extras.window, &QWidget::close, Qt::QueuedConnection);
         }
     }
     extras.controller.reset();

From 76602391f4079b303f31143cf60b4823e2a2b2b2 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Thu, 14 Nov 2024 16:26:21 +0200
Subject: [PATCH 148/177] Fix crash caused by invalid resource pointer

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/minecraft/mod/ResourceFolderModel.cpp | 15 +++++++++------
 launcher/minecraft/mod/ResourceFolderModel.h   |  6 +++---
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/launcher/minecraft/mod/ResourceFolderModel.cpp b/launcher/minecraft/mod/ResourceFolderModel.cpp
index ce3e16bce..b577c7272 100644
--- a/launcher/minecraft/mod/ResourceFolderModel.cpp
+++ b/launcher/minecraft/mod/ResourceFolderModel.cpp
@@ -261,7 +261,7 @@ bool ResourceFolderModel::update()
     return true;
 }
 
-void ResourceFolderModel::resolveResource(Resource* res)
+void ResourceFolderModel::resolveResource(Resource::Ptr res)
 {
     if (!res->shouldResolve()) {
         return;
@@ -277,11 +277,14 @@ void ResourceFolderModel::resolveResource(Resource* res)
     m_active_parse_tasks.insert(ticket, task);
 
     connect(
-        task.get(), &Task::succeeded, this, [=] { onParseSucceeded(ticket, res->internal_id()); }, Qt::ConnectionType::QueuedConnection);
-    connect(task.get(), &Task::failed, this, [=] { onParseFailed(ticket, res->internal_id()); }, Qt::ConnectionType::QueuedConnection);
+        task.get(), &Task::succeeded, this, [this, ticket, res] { onParseSucceeded(ticket, res->internal_id()); },
+        Qt::ConnectionType::QueuedConnection);
+    connect(
+        task.get(), &Task::failed, this, [this, ticket, res] { onParseFailed(ticket, res->internal_id()); },
+        Qt::ConnectionType::QueuedConnection);
     connect(
         task.get(), &Task::finished, this,
-        [=] {
+        [this, ticket] {
             m_active_parse_tasks.remove(ticket);
             emit parseFinished();
         },
@@ -317,7 +320,7 @@ void ResourceFolderModel::onUpdateSucceeded()
 void ResourceFolderModel::onParseSucceeded(int ticket, QString resource_id)
 {
     auto iter = m_active_parse_tasks.constFind(ticket);
-    if (iter == m_active_parse_tasks.constEnd())
+    if (iter == m_active_parse_tasks.constEnd() || !m_resources_index.contains(resource_id))
         return;
 
     int row = m_resources_index[resource_id];
@@ -629,7 +632,7 @@ QString ResourceFolderModel::instDirPath() const
 void ResourceFolderModel::onParseFailed(int ticket, QString resource_id)
 {
     auto iter = m_active_parse_tasks.constFind(ticket);
-    if (iter == m_active_parse_tasks.constEnd())
+    if (iter == m_active_parse_tasks.constEnd() || !m_resources_index.contains(resource_id))
         return;
 
     auto removed_index = m_resources_index[resource_id];
diff --git a/launcher/minecraft/mod/ResourceFolderModel.h b/launcher/minecraft/mod/ResourceFolderModel.h
index ca919d3e3..354eedc28 100644
--- a/launcher/minecraft/mod/ResourceFolderModel.h
+++ b/launcher/minecraft/mod/ResourceFolderModel.h
@@ -76,7 +76,7 @@ class ResourceFolderModel : public QAbstractListModel {
     virtual bool update();
 
     /** Creates a new parse task, if needed, for 'res' and start it.*/
-    virtual void resolveResource(Resource* res);
+    virtual void resolveResource(Resource::Ptr res);
 
     [[nodiscard]] qsizetype size() const { return m_resources.size(); }
     [[nodiscard]] bool empty() const { return size() == 0; }
@@ -285,7 +285,7 @@ void ResourceFolderModel::applyUpdates(QSet<QString>& current_set, QSet<QString>
             }
 
             m_resources[row].reset(new_resource);
-            resolveResource(m_resources.at(row).get());
+            resolveResource(m_resources.at(row));
             emit dataChanged(index(row, 0), index(row, columnCount(QModelIndex()) - 1));
         }
     }
@@ -333,7 +333,7 @@ void ResourceFolderModel::applyUpdates(QSet<QString>& current_set, QSet<QString>
             for (auto& added : added_set) {
                 auto res = new_resources[added];
                 m_resources.append(res);
-                resolveResource(m_resources.last().get());
+                resolveResource(m_resources.last());
             }
 
             endInsertRows();

From ea9029d7b62a729206a8f137d58065e574540b7b Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Thu, 14 Nov 2024 13:17:52 +0200
Subject: [PATCH 149/177] Fix file remaingin open after program closure

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit ce61ed2f86d313f63c999d012d768425ea3793c3)
---
 launcher/InstanceCreationTask.cpp             |  4 +-
 launcher/InstanceImportTask.cpp               | 64 +++++++++++--------
 launcher/InstanceImportTask.h                 |  7 +-
 .../flame/FlameInstanceCreationTask.cpp       |  1 +
 4 files changed, 42 insertions(+), 34 deletions(-)

diff --git a/launcher/InstanceCreationTask.cpp b/launcher/InstanceCreationTask.cpp
index 3e7b3142f..bd3514798 100644
--- a/launcher/InstanceCreationTask.cpp
+++ b/launcher/InstanceCreationTask.cpp
@@ -61,6 +61,6 @@ void InstanceCreationTask::executeTask()
             return;
         }
     }
-
-    emitSucceeded();
+    if (!m_abort)
+        emitSucceeded();
 }
diff --git a/launcher/InstanceImportTask.cpp b/launcher/InstanceImportTask.cpp
index 57cc77527..71630656d 100644
--- a/launcher/InstanceImportTask.cpp
+++ b/launcher/InstanceImportTask.cpp
@@ -69,9 +69,11 @@ bool InstanceImportTask::abort()
     if (!canAbort())
         return false;
 
-    if (task)
-        task->abort();
-    return Task::abort();
+    bool wasAborted = false;
+    if (m_task)
+        wasAborted = m_task->abort();
+    Task::abort();
+    return wasAborted;
 }
 
 void InstanceImportTask::executeTask()
@@ -104,7 +106,7 @@ void InstanceImportTask::downloadFromUrl()
     connect(filesNetJob.get(), &NetJob::stepProgress, this, &InstanceImportTask::propagateStepProgress);
     connect(filesNetJob.get(), &NetJob::failed, this, &InstanceImportTask::emitFailed);
     connect(filesNetJob.get(), &NetJob::aborted, this, &InstanceImportTask::emitAborted);
-    task.reset(filesNetJob);
+    m_task.reset(filesNetJob);
     filesNetJob->start();
 }
 
@@ -193,7 +195,7 @@ void InstanceImportTask::processZipPack()
         stepProgress(*progressStep);
     });
 
-    connect(zipTask.get(), &Task::succeeded, this, &InstanceImportTask::extractFinished);
+    connect(zipTask.get(), &Task::succeeded, this, &InstanceImportTask::extractFinished, Qt::QueuedConnection);
     connect(zipTask.get(), &Task::aborted, this, &InstanceImportTask::emitAborted);
     connect(zipTask.get(), &Task::failed, this, [this, progressStep](QString reason) {
         progressStep->state = TaskStepState::Failed;
@@ -210,12 +212,13 @@ void InstanceImportTask::processZipPack()
         progressStep->status = status;
         stepProgress(*progressStep);
     });
-    task.reset(zipTask);
+    m_task.reset(zipTask);
     zipTask->start();
 }
 
 void InstanceImportTask::extractFinished()
 {
+    setAbortable(false);
     QDir extractDir(m_stagingPath);
 
     qDebug() << "Fixing permissions for extracted pack files...";
@@ -289,8 +292,11 @@ void InstanceImportTask::processFlame()
     inst_creation_task->setGroup(m_instGroup);
     inst_creation_task->setConfirmUpdate(shouldConfirmUpdate());
 
-    connect(inst_creation_task.get(), &Task::succeeded, this, [this, inst_creation_task] {
-        setOverride(inst_creation_task->shouldOverride(), inst_creation_task->originalInstanceID());
+    auto weak = inst_creation_task.toWeakRef();
+    connect(inst_creation_task.get(), &Task::succeeded, this, [this, weak] {
+        if (auto sp = weak.lock()) {
+            setOverride(sp->shouldOverride(), sp->originalInstanceID());
+        }
         emitSucceeded();
     });
     connect(inst_creation_task.get(), &Task::failed, this, &InstanceImportTask::emitFailed);
@@ -299,11 +305,12 @@ void InstanceImportTask::processFlame()
     connect(inst_creation_task.get(), &Task::status, this, &InstanceImportTask::setStatus);
     connect(inst_creation_task.get(), &Task::details, this, &InstanceImportTask::setDetails);
 
-    connect(this, &Task::aborted, inst_creation_task.get(), &InstanceCreationTask::abort);
     connect(inst_creation_task.get(), &Task::aborted, this, &Task::abort);
     connect(inst_creation_task.get(), &Task::abortStatusChanged, this, &Task::setAbortable);
 
-    inst_creation_task->start();
+    m_task.reset(inst_creation_task);
+    setAbortable(true);
+    m_task->start();
 }
 
 void InstanceImportTask::processTechnic()
@@ -350,7 +357,7 @@ void InstanceImportTask::processMultiMC()
 
 void InstanceImportTask::processModrinth()
 {
-    ModrinthCreationTask* inst_creation_task = nullptr;
+    shared_qobject_ptr<ModrinthCreationTask> inst_creation_task = nullptr;
     if (!m_extra_info.isEmpty()) {
         auto pack_id_it = m_extra_info.constFind("pack_id");
         Q_ASSERT(pack_id_it != m_extra_info.constEnd());
@@ -367,7 +374,7 @@ void InstanceImportTask::processModrinth()
             original_instance_id = original_instance_id_it.value();
 
         inst_creation_task =
-            new ModrinthCreationTask(m_stagingPath, m_globalSettings, m_parent, pack_id, pack_version_id, original_instance_id);
+            makeShared<ModrinthCreationTask>(m_stagingPath, m_globalSettings, m_parent, pack_id, pack_version_id, original_instance_id);
     } else {
         QString pack_id;
         if (!m_sourceUrl.isEmpty()) {
@@ -376,7 +383,7 @@ void InstanceImportTask::processModrinth()
         }
 
         // FIXME: Find a way to get the ID in directly imported ZIPs
-        inst_creation_task = new ModrinthCreationTask(m_stagingPath, m_globalSettings, m_parent, pack_id);
+        inst_creation_task = makeShared<ModrinthCreationTask>(m_stagingPath, m_globalSettings, m_parent, pack_id);
     }
 
     inst_creation_task->setName(*this);
@@ -384,20 +391,23 @@ void InstanceImportTask::processModrinth()
     inst_creation_task->setGroup(m_instGroup);
     inst_creation_task->setConfirmUpdate(shouldConfirmUpdate());
 
-    connect(inst_creation_task, &Task::succeeded, this, [this, inst_creation_task] {
-        setOverride(inst_creation_task->shouldOverride(), inst_creation_task->originalInstanceID());
+    auto weak = inst_creation_task.toWeakRef();
+    connect(inst_creation_task.get(), &Task::succeeded, this, [this, weak] {
+        if (auto sp = weak.lock()) {
+            setOverride(sp->shouldOverride(), sp->originalInstanceID());
+        }
         emitSucceeded();
     });
-    connect(inst_creation_task, &Task::failed, this, &InstanceImportTask::emitFailed);
-    connect(inst_creation_task, &Task::progress, this, &InstanceImportTask::setProgress);
-    connect(inst_creation_task, &Task::stepProgress, this, &InstanceImportTask::propagateStepProgress);
-    connect(inst_creation_task, &Task::status, this, &InstanceImportTask::setStatus);
-    connect(inst_creation_task, &Task::details, this, &InstanceImportTask::setDetails);
-    connect(inst_creation_task, &Task::finished, inst_creation_task, &InstanceCreationTask::deleteLater);
-
-    connect(this, &Task::aborted, inst_creation_task, &InstanceCreationTask::abort);
-    connect(inst_creation_task, &Task::aborted, this, &Task::abort);
-    connect(inst_creation_task, &Task::abortStatusChanged, this, &Task::setAbortable);
-
-    inst_creation_task->start();
+    connect(inst_creation_task.get(), &Task::failed, this, &InstanceImportTask::emitFailed);
+    connect(inst_creation_task.get(), &Task::progress, this, &InstanceImportTask::setProgress);
+    connect(inst_creation_task.get(), &Task::stepProgress, this, &InstanceImportTask::propagateStepProgress);
+    connect(inst_creation_task.get(), &Task::status, this, &InstanceImportTask::setStatus);
+    connect(inst_creation_task.get(), &Task::details, this, &InstanceImportTask::setDetails);
+
+    connect(inst_creation_task.get(), &Task::aborted, this, &Task::abort);
+    connect(inst_creation_task.get(), &Task::abortStatusChanged, this, &Task::setAbortable);
+
+    m_task.reset(inst_creation_task);
+    setAbortable(true);
+    m_task->start();
 }
diff --git a/launcher/InstanceImportTask.h b/launcher/InstanceImportTask.h
index cf86af4ea..8884e0801 100644
--- a/launcher/InstanceImportTask.h
+++ b/launcher/InstanceImportTask.h
@@ -40,16 +40,13 @@
 #include <QUrl>
 #include "InstanceTask.h"
 
-#include <memory>
-#include <optional>
-
 class QuaZip;
 
 class InstanceImportTask : public InstanceTask {
     Q_OBJECT
    public:
     explicit InstanceImportTask(const QUrl& sourceUrl, QWidget* parent = nullptr, QMap<QString, QString>&& extra_info = {});
-
+    virtual ~InstanceImportTask() = default;
     bool abort() override;
 
    protected:
@@ -70,7 +67,7 @@ class InstanceImportTask : public InstanceTask {
    private: /* data */
     QUrl m_sourceUrl;
     QString m_archivePath;
-    Task::Ptr task;
+    Task::Ptr m_task;
     enum class ModpackType {
         Unknown,
         MultiMC,
diff --git a/launcher/modplatform/flame/FlameInstanceCreationTask.cpp b/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
index b8c40ee42..35929d2da 100644
--- a/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
+++ b/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
@@ -444,6 +444,7 @@ bool FlameCreationTask::createInstance()
         setError(tr("Unable to resolve mod IDs:\n") + reason);
         loop.quit();
     });
+    connect(m_mod_id_resolver.get(), &Flame::FileResolvingTask::aborted, &loop, &QEventLoop::quit);
     connect(m_mod_id_resolver.get(), &Flame::FileResolvingTask::progress, this, &FlameCreationTask::setProgress);
     connect(m_mod_id_resolver.get(), &Flame::FileResolvingTask::status, this, &FlameCreationTask::setStatus);
     connect(m_mod_id_resolver.get(), &Flame::FileResolvingTask::stepProgress, this, &FlameCreationTask::propagateStepProgress);

From eefeb5799df51ef7a1d634c84596553a2107555d Mon Sep 17 00:00:00 2001
From: TheKodeToad <TheKodeToad@proton.me>
Date: Wed, 6 Nov 2024 23:57:24 +0000
Subject: [PATCH 150/177] Add scrollbar to Settings -> Launcher -> Features

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
(cherry picked from commit 71e55f88294976577ad0b2f8c21b635cf8fc9735)
---
 launcher/ui/pages/global/LauncherPage.ui | 636 ++++++++++++-----------
 1 file changed, 329 insertions(+), 307 deletions(-)

diff --git a/launcher/ui/pages/global/LauncherPage.ui b/launcher/ui/pages/global/LauncherPage.ui
index 3cba468ff..09e7bca5b 100644
--- a/launcher/ui/pages/global/LauncherPage.ui
+++ b/launcher/ui/pages/global/LauncherPage.ui
@@ -46,317 +46,339 @@
       </attribute>
       <layout class="QVBoxLayout" name="verticalLayout_9">
        <item>
-        <widget class="QGroupBox" name="updateSettingsBox">
-         <property name="title">
-          <string>Update Settings</string>
-         </property>
-         <layout class="QVBoxLayout" name="verticalLayout_7">
-          <item>
-           <widget class="QCheckBox" name="autoUpdateCheckBox">
-            <property name="text">
-             <string>Check for updates automatically</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <layout class="QFormLayout" name="updateSetingsLayout">
-            <item row="0" column="0">
-             <widget class="QLabel" name="updateIntervalLabel">
-              <property name="text">
-               <string>Update interval</string>
-              </property>
-             </widget>
-            </item>
-            <item row="0" column="1">
-             <widget class="QSpinBox" name="updateIntervalSpinBox">
-              <property name="toolTip">
-               <string>Set it to 0 to only check on launch</string>
-              </property>
-              <property name="suffix">
-               <string>h</string>
-              </property>
-              <property name="minimum">
-               <number>0</number>
-              </property>
-              <property name="maximum">
-               <number>99999999</number>
-              </property>
-             </widget>
-            </item>
-           </layout>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item>
-        <widget class="QGroupBox" name="foldersBox">
-         <property name="title">
-          <string>Folders</string>
-         </property>
-         <layout class="QGridLayout" name="foldersBoxLayout">
-          <item row="8" column="0">
-           <widget class="QLabel" name="labelDownloadsDir">
-            <property name="text">
-             <string>&amp;Downloads:</string>
-            </property>
-            <property name="buddy">
-             <cstring>downloadsDirTextBox</cstring>
-            </property>
-           </widget>
-          </item>
-          <item row="8" column="2">
-           <widget class="QToolButton" name="downloadsDirBrowseBtn">
-            <property name="text">
-             <string>Browse</string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="1">
-           <widget class="QLineEdit" name="iconsDirTextBox"/>
-          </item>
-          <item row="3" column="1">
-           <widget class="QLineEdit" name="javaDirTextBox"/>
-          </item>
-          <item row="4" column="0">
-           <widget class="QLabel" name="labelSkinsDir">
-            <property name="text">
-             <string>&amp;Skins:</string>
-            </property>
-            <property name="buddy">
-             <cstring>skinsDirTextBox</cstring>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="0">
-           <widget class="QLabel" name="labelIconsDir">
-            <property name="text">
-             <string>&amp;Icons:</string>
-            </property>
-            <property name="buddy">
-             <cstring>iconsDirTextBox</cstring>
-            </property>
-           </widget>
-          </item>
-          <item row="9" column="1" colspan="2">
-           <widget class="QCheckBox" name="downloadsDirWatchRecursiveCheckBox">
-            <property name="toolTip">
-             <string>When enabled, in addition to the downloads folder, its sub folders will also be searched when looking for resources (e.g. when looking for blocked mods on CurseForge).</string>
-            </property>
-            <property name="text">
-             <string>Check downloads folder recursively</string>
-            </property>
-           </widget>
-          </item>
-          <item row="8" column="1">
-           <widget class="QLineEdit" name="downloadsDirTextBox"/>
-          </item>
-          <item row="3" column="0">
-           <widget class="QLabel" name="labelJavaDir">
-            <property name="text">
-             <string>&amp;Java:</string>
-            </property>
-            <property name="buddy">
-             <cstring>javaDirTextBox</cstring>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="labelModsDir">
-            <property name="text">
-             <string>&amp;Mods:</string>
-            </property>
-            <property name="buddy">
-             <cstring>modsDirTextBox</cstring>
-            </property>
-           </widget>
-          </item>
-          <item row="4" column="1">
-           <widget class="QLineEdit" name="skinsDirTextBox"/>
-          </item>
-          <item row="1" column="1">
-           <widget class="QLineEdit" name="modsDirTextBox"/>
-          </item>
-          <item row="0" column="1">
-           <widget class="QLineEdit" name="instDirTextBox"/>
-          </item>
-          <item row="1" column="2">
-           <widget class="QToolButton" name="modsDirBrowseBtn">
-            <property name="text">
-             <string>Browse</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="2">
-           <widget class="QToolButton" name="instDirBrowseBtn">
-            <property name="text">
-             <string>Browse</string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="2">
-           <widget class="QToolButton" name="iconsDirBrowseBtn">
-            <property name="text">
-             <string>Browse</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="0">
-           <widget class="QLabel" name="labelInstDir">
-            <property name="text">
-             <string>I&amp;nstances:</string>
-            </property>
-            <property name="buddy">
-             <cstring>instDirTextBox</cstring>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="2">
-           <widget class="QToolButton" name="javaDirBrowseBtn">
-            <property name="text">
-             <string>Browse</string>
-            </property>
-           </widget>
-          </item>
-          <item row="4" column="2">
-           <widget class="QToolButton" name="skinsDirBrowseBtn">
-            <property name="text">
-             <string>Browse</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item>
-        <widget class="QGroupBox" name="modsBox">
-         <property name="title">
-          <string>Mods</string>
+        <widget class="QScrollArea" name="scrollArea">
+         <property name="horizontalScrollBarPolicy">
+          <enum>Qt::ScrollBarAlwaysOff</enum>
          </property>
-         <layout class="QVBoxLayout" name="verticalLayout_4">
-          <item>
-           <widget class="QCheckBox" name="metadataDisableBtn">
-            <property name="toolTip">
-             <string>Disable using metadata provided by mod providers (like Modrinth or CurseForge) for mods.</string>
-            </property>
-            <property name="text">
-             <string>Disable using metadata for mods</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QLabel" name="metadataWarningLabel">
-            <property name="text">
-             <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; color:#f5c211;&quot;&gt;Warning&lt;/span&gt;&lt;span style=&quot; color:#f5c211;&quot;&gt;: Disabling mod metadata may also disable some QoL features, such as mod updating!&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-            </property>
-            <property name="wordWrap">
-             <bool>true</bool>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="dependenciesDisableBtn">
-            <property name="toolTip">
-             <string>Disable the automatic detection, installation, and updating of mod dependencies.</string>
-            </property>
-            <property name="text">
-             <string>Disable automatic mod dependency management</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QCheckBox" name="skipModpackUpdatePromptBtn">
-            <property name="toolTip">
-             <string>When creating a new modpack instance, do not suggest updating existing instances instead.</string>
-            </property>
-            <property name="text">
-             <string>Skip modpack update prompt</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item>
-        <widget class="QGroupBox" name="miscellaneousGroupBox">
-         <property name="title">
-          <string>Miscellaneous</string>
+         <property name="widgetResizable">
+          <bool>true</bool>
          </property>
-         <layout class="QGridLayout" name="gridLayout">
-          <item row="1" column="1">
-           <widget class="QSpinBox" name="numberOfConcurrentDownloadsSpinBox">
-            <property name="minimum">
-             <number>1</number>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="0">
-           <widget class="QLabel" name="numberOfConcurrentTasksLabel">
-            <property name="text">
-             <string>Number of concurrent tasks</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="1">
-           <widget class="QSpinBox" name="numberOfConcurrentTasksSpinBox">
-            <property name="minimum">
-             <number>1</number>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="numberOfConcurrentDownloadsLabel">
-            <property name="text">
-             <string>Number of concurrent downloads</string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="0">
-           <widget class="QLabel" name="numberOfManualRetriesLabel">
-            <property name="text">
-             <string>Number of manual retries</string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="1">
-           <widget class="QSpinBox" name="numberOfManualRetriesSpinBox">
-            <property name="minimum">
-             <number>0</number>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="0">
-           <widget class="QLabel" name="timeoutSecondsLabel">
-            <property name="toolTip">
-             <string>Seconds to wait until the requests are terminated</string>
-            </property>
-            <property name="text">
-             <string>Timeout for HTTP requests</string>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="1">
-           <widget class="QSpinBox" name="timeoutSecondsSpinBox">
-            <property name="suffix">
-             <string>s</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
+         <widget class="QWidget" name="scrollAreaWidgetContents">
+          <property name="geometry">
+           <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>473</width>
+            <height>770</height>
+           </rect>
+          </property>
+          <layout class="QVBoxLayout" name="verticalLayout_8">
+           <item>
+            <widget class="QGroupBox" name="updateSettingsBox">
+             <property name="title">
+              <string>Update Settings</string>
+             </property>
+             <layout class="QVBoxLayout" name="verticalLayout_7">
+              <item>
+               <widget class="QCheckBox" name="autoUpdateCheckBox">
+                <property name="text">
+                 <string>Check for updates automatically</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <layout class="QFormLayout" name="updateSetingsLayout">
+                <item row="0" column="0">
+                 <widget class="QLabel" name="updateIntervalLabel">
+                  <property name="text">
+                   <string>Update interval</string>
+                  </property>
+                 </widget>
+                </item>
+                <item row="0" column="1">
+                 <widget class="QSpinBox" name="updateIntervalSpinBox">
+                  <property name="toolTip">
+                   <string>Set it to 0 to only check on launch</string>
+                  </property>
+                  <property name="suffix">
+                   <string>h</string>
+                  </property>
+                  <property name="minimum">
+                   <number>0</number>
+                  </property>
+                  <property name="maximum">
+                   <number>99999999</number>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <widget class="QGroupBox" name="foldersBox">
+             <property name="title">
+              <string>Folders</string>
+             </property>
+             <layout class="QGridLayout" name="foldersBoxLayout">
+              <item row="8" column="0">
+               <widget class="QLabel" name="labelDownloadsDir">
+                <property name="text">
+                 <string>&amp;Downloads:</string>
+                </property>
+                <property name="buddy">
+                 <cstring>downloadsDirTextBox</cstring>
+                </property>
+               </widget>
+              </item>
+              <item row="8" column="2">
+               <widget class="QToolButton" name="downloadsDirBrowseBtn">
+                <property name="text">
+                 <string>Browse</string>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="1">
+               <widget class="QLineEdit" name="iconsDirTextBox"/>
+              </item>
+              <item row="3" column="1">
+               <widget class="QLineEdit" name="javaDirTextBox"/>
+              </item>
+              <item row="4" column="0">
+               <widget class="QLabel" name="labelSkinsDir">
+                <property name="text">
+                 <string>&amp;Skins:</string>
+                </property>
+                <property name="buddy">
+                 <cstring>skinsDirTextBox</cstring>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="0">
+               <widget class="QLabel" name="labelIconsDir">
+                <property name="text">
+                 <string>&amp;Icons:</string>
+                </property>
+                <property name="buddy">
+                 <cstring>iconsDirTextBox</cstring>
+                </property>
+               </widget>
+              </item>
+              <item row="9" column="1" colspan="2">
+               <widget class="QCheckBox" name="downloadsDirWatchRecursiveCheckBox">
+                <property name="toolTip">
+                 <string>When enabled, in addition to the downloads folder, its sub folders will also be searched when looking for resources (e.g. when looking for blocked mods on CurseForge).</string>
+                </property>
+                <property name="text">
+                 <string>Check downloads folder recursively</string>
+                </property>
+               </widget>
+              </item>
+              <item row="8" column="1">
+               <widget class="QLineEdit" name="downloadsDirTextBox"/>
+              </item>
+              <item row="3" column="0">
+               <widget class="QLabel" name="labelJavaDir">
+                <property name="text">
+                 <string>&amp;Java:</string>
+                </property>
+                <property name="buddy">
+                 <cstring>javaDirTextBox</cstring>
+                </property>
+               </widget>
+              </item>
+              <item row="1" column="0">
+               <widget class="QLabel" name="labelModsDir">
+                <property name="text">
+                 <string>&amp;Mods:</string>
+                </property>
+                <property name="buddy">
+                 <cstring>modsDirTextBox</cstring>
+                </property>
+               </widget>
+              </item>
+              <item row="4" column="1">
+               <widget class="QLineEdit" name="skinsDirTextBox"/>
+              </item>
+              <item row="1" column="1">
+               <widget class="QLineEdit" name="modsDirTextBox"/>
+              </item>
+              <item row="0" column="1">
+               <widget class="QLineEdit" name="instDirTextBox"/>
+              </item>
+              <item row="1" column="2">
+               <widget class="QToolButton" name="modsDirBrowseBtn">
+                <property name="text">
+                 <string>Browse</string>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="2">
+               <widget class="QToolButton" name="instDirBrowseBtn">
+                <property name="text">
+                 <string>Browse</string>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="2">
+               <widget class="QToolButton" name="iconsDirBrowseBtn">
+                <property name="text">
+                 <string>Browse</string>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="0">
+               <widget class="QLabel" name="labelInstDir">
+                <property name="text">
+                 <string>I&amp;nstances:</string>
+                </property>
+                <property name="buddy">
+                 <cstring>instDirTextBox</cstring>
+                </property>
+               </widget>
+              </item>
+              <item row="3" column="2">
+               <widget class="QToolButton" name="javaDirBrowseBtn">
+                <property name="text">
+                 <string>Browse</string>
+                </property>
+               </widget>
+              </item>
+              <item row="4" column="2">
+               <widget class="QToolButton" name="skinsDirBrowseBtn">
+                <property name="text">
+                 <string>Browse</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <widget class="QGroupBox" name="modsBox">
+             <property name="title">
+              <string>Mods</string>
+             </property>
+             <layout class="QVBoxLayout" name="verticalLayout_4">
+              <item>
+               <widget class="QCheckBox" name="metadataDisableBtn">
+                <property name="toolTip">
+                 <string>Disable using metadata provided by mod providers (like Modrinth or CurseForge) for mods.</string>
+                </property>
+                <property name="text">
+                 <string>Disable using metadata for mods</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="metadataWarningLabel">
+                <property name="text">
+                 <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; color:#f5c211;&quot;&gt;Warning&lt;/span&gt;&lt;span style=&quot; color:#f5c211;&quot;&gt;: Disabling mod metadata may also disable some QoL features, such as mod updating!&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                </property>
+                <property name="wordWrap">
+                 <bool>true</bool>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="dependenciesDisableBtn">
+                <property name="toolTip">
+                 <string>Disable the automatic detection, installation, and updating of mod dependencies.</string>
+                </property>
+                <property name="text">
+                 <string>Disable automatic mod dependency management</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QCheckBox" name="skipModpackUpdatePromptBtn">
+                <property name="toolTip">
+                 <string>When creating a new modpack instance, do not suggest updating existing instances instead.</string>
+                </property>
+                <property name="text">
+                 <string>Skip modpack update prompt</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <widget class="QGroupBox" name="miscellaneousGroupBox">
+             <property name="title">
+              <string>Miscellaneous</string>
+             </property>
+             <layout class="QGridLayout" name="gridLayout">
+              <item row="1" column="1">
+               <widget class="QSpinBox" name="numberOfConcurrentDownloadsSpinBox">
+                <property name="minimum">
+                 <number>1</number>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="0">
+               <widget class="QLabel" name="numberOfConcurrentTasksLabel">
+                <property name="text">
+                 <string>Number of concurrent tasks</string>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="1">
+               <widget class="QSpinBox" name="numberOfConcurrentTasksSpinBox">
+                <property name="minimum">
+                 <number>1</number>
+                </property>
+               </widget>
+              </item>
+              <item row="1" column="0">
+               <widget class="QLabel" name="numberOfConcurrentDownloadsLabel">
+                <property name="text">
+                 <string>Number of concurrent downloads</string>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="0">
+               <widget class="QLabel" name="numberOfManualRetriesLabel">
+                <property name="text">
+                 <string>Number of manual retries</string>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="1">
+               <widget class="QSpinBox" name="numberOfManualRetriesSpinBox">
+                <property name="minimum">
+                 <number>0</number>
+                </property>
+               </widget>
+              </item>
+              <item row="3" column="0">
+               <widget class="QLabel" name="timeoutSecondsLabel">
+                <property name="toolTip">
+                 <string>Seconds to wait until the requests are terminated</string>
+                </property>
+                <property name="text">
+                 <string>Timeout for HTTP requests</string>
+                </property>
+               </widget>
+              </item>
+              <item row="3" column="1">
+               <widget class="QSpinBox" name="timeoutSecondsSpinBox">
+                <property name="suffix">
+                 <string>s</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <spacer name="verticalSpacer_FeaturesTab">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>0</width>
+               <height>0</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
         </widget>
        </item>
-       <item>
-        <spacer name="verticalSpacer_FeaturesTab">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>0</width>
-           <height>0</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
       </layout>
      </widget>
      <widget class="QWidget" name="userInterfaceTab">

From 1c94a3e3e5e6273216987041c926652c8bf6f34c Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Tue, 29 Oct 2024 00:40:13 +0200
Subject: [PATCH 151/177] fix leak on resource search

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 8e7d84d05beffac492522f4b2c0d9e638b15146b)
---
 .../helpers/NetworkResourceAPI.cpp            | 41 +++++++++++++------
 1 file changed, 29 insertions(+), 12 deletions(-)

diff --git a/launcher/modplatform/helpers/NetworkResourceAPI.cpp b/launcher/modplatform/helpers/NetworkResourceAPI.cpp
index 974e732a7..7a234a8f8 100644
--- a/launcher/modplatform/helpers/NetworkResourceAPI.cpp
+++ b/launcher/modplatform/helpers/NetworkResourceAPI.cpp
@@ -43,11 +43,16 @@ Task::Ptr NetworkResourceAPI::searchProjects(SearchArgs&& args, SearchCallbacks&
         callbacks.on_succeed(doc);
     });
 
-    QObject::connect(netJob.get(), &NetJob::failed, [netJob, callbacks](const QString& reason) {
+    // Capture a weak_ptr instead of a shared_ptr to avoid circular dependency issues.
+    // This prevents the lambda from extending the lifetime of the shared resource,
+    // as it only temporarily locks the resource when needed.
+    auto weak = netJob.toWeakRef();
+    QObject::connect(netJob.get(), &NetJob::failed, [weak, callbacks](const QString& reason) {
         int network_error_code = -1;
-        if (auto* failed_action = netJob->getFailedActions().at(0); failed_action)
-            network_error_code = failed_action->replyStatusCode();
-
+        if (auto netJob = weak.lock()) {
+            if (auto* failed_action = netJob->getFailedActions().at(0); failed_action)
+                network_error_code = failed_action->replyStatusCode();
+        }
         callbacks.on_fail(reason, network_error_code);
     });
     QObject::connect(netJob.get(), &NetJob::aborted, [callbacks] { callbacks.on_abort(); });
@@ -102,11 +107,17 @@ Task::Ptr NetworkResourceAPI::getProjectVersions(VersionSearchArgs&& args, Versi
 
         callbacks.on_succeed(doc, args.pack);
     });
-    QObject::connect(netJob.get(), &NetJob::failed, [netJob, callbacks](const QString& reason) {
-        int network_error_code = -1;
-        if (auto* failed_action = netJob->getFailedActions().at(0); failed_action)
-            network_error_code = failed_action->replyStatusCode();
 
+    // Capture a weak_ptr instead of a shared_ptr to avoid circular dependency issues.
+    // This prevents the lambda from extending the lifetime of the shared resource,
+    // as it only temporarily locks the resource when needed.
+    auto weak = netJob.toWeakRef();
+    QObject::connect(netJob.get(), &NetJob::failed, [weak, callbacks](const QString& reason) {
+        int network_error_code = -1;
+        if (auto netJob = weak.lock()) {
+            if (auto* failed_action = netJob->getFailedActions().at(0); failed_action)
+                network_error_code = failed_action->replyStatusCode();
+        }
         callbacks.on_fail(reason, network_error_code);
     });
 
@@ -153,11 +164,17 @@ Task::Ptr NetworkResourceAPI::getDependencyVersion(DependencySearchArgs&& args,
 
         callbacks.on_succeed(doc, args.dependency);
     });
-    QObject::connect(netJob.get(), &NetJob::failed, [netJob, callbacks](const QString& reason) {
-        int network_error_code = -1;
-        if (auto* failed_action = netJob->getFailedActions().at(0); failed_action)
-            network_error_code = failed_action->replyStatusCode();
 
+    // Capture a weak_ptr instead of a shared_ptr to avoid circular dependency issues.
+    // This prevents the lambda from extending the lifetime of the shared resource,
+    // as it only temporarily locks the resource when needed.
+    auto weak = netJob.toWeakRef();
+    QObject::connect(netJob.get(), &NetJob::failed, [weak, callbacks](const QString& reason) {
+        int network_error_code = -1;
+        if (auto netJob = weak.lock()) {
+            if (auto* failed_action = netJob->getFailedActions().at(0); failed_action)
+                network_error_code = failed_action->replyStatusCode();
+        }
         callbacks.on_fail(reason, network_error_code);
     });
     return netJob;

From 4c4017d7ca84162ff8c508d4b9f22a979d6c223e Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 28 Oct 2024 19:13:14 +0200
Subject: [PATCH 152/177] remove task parent from constuctor

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/Application.cpp                                 | 2 +-
 launcher/DataMigrationTask.cpp                           | 7 ++-----
 launcher/DataMigrationTask.h                             | 2 +-
 launcher/JavaCommon.cpp                                  | 4 ++--
 launcher/LaunchController.cpp                            | 2 +-
 launcher/LaunchController.h                              | 2 +-
 launcher/java/JavaChecker.cpp                            | 4 ++--
 launcher/java/JavaChecker.h                              | 3 +--
 launcher/java/JavaInstallList.cpp                        | 4 ++--
 launcher/launch/LaunchStep.cpp                           | 2 +-
 launcher/launch/steps/CheckJava.cpp                      | 2 +-
 launcher/meta/Index.cpp                                  | 4 ++--
 launcher/meta/VersionList.cpp                            | 3 +--
 launcher/minecraft/ComponentUpdateTask.cpp               | 2 +-
 launcher/minecraft/ComponentUpdateTask.h                 | 2 +-
 launcher/minecraft/MinecraftInstance.cpp                 | 2 +-
 launcher/minecraft/MinecraftLoadAndCheck.cpp             | 4 +---
 launcher/minecraft/MinecraftLoadAndCheck.h               | 2 +-
 launcher/minecraft/auth/AuthFlow.cpp                     | 2 +-
 launcher/minecraft/auth/AuthFlow.h                       | 2 +-
 launcher/minecraft/auth/MinecraftAccount.cpp             | 4 ++--
 launcher/minecraft/launch/AutoInstallJava.cpp            | 6 ++----
 launcher/minecraft/mod/tasks/BasicFolderLoadTask.h       | 8 ++------
 launcher/minecraft/mod/tasks/GetModDependenciesTask.cpp  | 7 +++----
 launcher/minecraft/mod/tasks/GetModDependenciesTask.h    | 5 +----
 launcher/minecraft/mod/tasks/LocalDataPackParseTask.cpp  | 2 +-
 launcher/minecraft/mod/tasks/LocalModParseTask.cpp       | 2 +-
 .../minecraft/mod/tasks/LocalResourcePackParseTask.cpp   | 4 +---
 .../minecraft/mod/tasks/LocalShaderPackParseTask.cpp     | 2 +-
 .../minecraft/mod/tasks/LocalTexturePackParseTask.cpp    | 3 +--
 launcher/minecraft/mod/tasks/LocalWorldSaveParseTask.cpp | 2 +-
 launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp       | 2 +-
 launcher/modplatform/CheckUpdateTask.h                   | 2 +-
 launcher/modplatform/EnsureMetadataTask.cpp              | 8 ++++----
 launcher/modplatform/flame/FlameInstanceCreationTask.cpp | 2 +-
 launcher/modplatform/flame/FlamePackExportTask.cpp       | 3 +--
 launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp    | 3 +--
 launcher/net/NetJob.cpp                                  | 2 +-
 launcher/tasks/ConcurrentTask.cpp                        | 2 +-
 launcher/tasks/ConcurrentTask.h                          | 2 +-
 launcher/tasks/MultipleOptionsTask.cpp                   | 2 +-
 launcher/tasks/MultipleOptionsTask.h                     | 2 +-
 launcher/tasks/SequentialTask.cpp                        | 2 +-
 launcher/tasks/SequentialTask.h                          | 2 +-
 launcher/tasks/Task.cpp                                  | 2 +-
 launcher/tasks/Task.h                                    | 2 +-
 launcher/ui/dialogs/BlockedModsDialog.cpp                | 2 +-
 launcher/ui/dialogs/MSALoginDialog.cpp                   | 2 +-
 launcher/ui/dialogs/ModUpdateDialog.cpp                  | 9 ++++-----
 launcher/ui/dialogs/ResourceDownloadDialog.cpp           | 2 +-
 launcher/ui/java/InstallJavaDialog.cpp                   | 2 +-
 launcher/ui/pages/instance/ModFolderPage.cpp             | 6 +++---
 launcher/ui/pages/instance/ResourcePackPage.cpp          | 5 +----
 launcher/ui/pages/instance/ShaderPackPage.cpp            | 2 +-
 launcher/ui/pages/instance/TexturePackPage.cpp           | 3 +--
 launcher/ui/pages/instance/VersionPage.cpp               | 2 +-
 launcher/ui/widgets/JavaSettingsWidget.cpp               | 2 +-
 tests/Task_test.cpp                                      | 2 +-
 58 files changed, 76 insertions(+), 103 deletions(-)

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 474493f5a..1d5efe7fc 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -1853,7 +1853,7 @@ bool Application::handleDataMigration(const QString& currentData,
         matcher->add(std::make_shared<SimplePrefixMatcher>("themes/"));
 
         ProgressDialog diag;
-        DataMigrationTask task(nullptr, oldData, currentData, matcher);
+        DataMigrationTask task(oldData, currentData, matcher);
         if (diag.execWithTask(&task)) {
             qDebug() << "<> Migration succeeded";
             setDoNotMigrate();
diff --git a/launcher/DataMigrationTask.cpp b/launcher/DataMigrationTask.cpp
index 27ce5f01b..4ffa26fd4 100644
--- a/launcher/DataMigrationTask.cpp
+++ b/launcher/DataMigrationTask.cpp
@@ -12,11 +12,8 @@
 
 #include <QtConcurrent>
 
-DataMigrationTask::DataMigrationTask(QObject* parent,
-                                     const QString& sourcePath,
-                                     const QString& targetPath,
-                                     const IPathMatcher::Ptr pathMatcher)
-    : Task(parent), m_sourcePath(sourcePath), m_targetPath(targetPath), m_pathMatcher(pathMatcher), m_copy(sourcePath, targetPath)
+DataMigrationTask::DataMigrationTask(const QString& sourcePath, const QString& targetPath, const IPathMatcher::Ptr pathMatcher)
+    : Task(), m_sourcePath(sourcePath), m_targetPath(targetPath), m_pathMatcher(pathMatcher), m_copy(sourcePath, targetPath)
 {
     m_copy.matcher(m_pathMatcher.get()).whitelist(true);
 }
diff --git a/launcher/DataMigrationTask.h b/launcher/DataMigrationTask.h
index aba9f2399..fc613cd5e 100644
--- a/launcher/DataMigrationTask.h
+++ b/launcher/DataMigrationTask.h
@@ -18,7 +18,7 @@
 class DataMigrationTask : public Task {
     Q_OBJECT
    public:
-    explicit DataMigrationTask(QObject* parent, const QString& sourcePath, const QString& targetPath, IPathMatcher::Ptr pathmatcher);
+    explicit DataMigrationTask(const QString& sourcePath, const QString& targetPath, IPathMatcher::Ptr pathmatcher);
     ~DataMigrationTask() override = default;
 
    protected:
diff --git a/launcher/JavaCommon.cpp b/launcher/JavaCommon.cpp
index 3cbf9f9d5..188edb943 100644
--- a/launcher/JavaCommon.cpp
+++ b/launcher/JavaCommon.cpp
@@ -116,7 +116,7 @@ void JavaCommon::TestCheck::run()
         emit finished();
         return;
     }
-    checker.reset(new JavaChecker(m_path, "", 0, 0, 0, 0, this));
+    checker.reset(new JavaChecker(m_path, "", 0, 0, 0, 0));
     connect(checker.get(), &JavaChecker::checkFinished, this, &JavaCommon::TestCheck::checkFinished);
     checker->start();
 }
@@ -128,7 +128,7 @@ void JavaCommon::TestCheck::checkFinished(const JavaChecker::Result& result)
         emit finished();
         return;
     }
-    checker.reset(new JavaChecker(m_path, m_args, m_maxMem, m_maxMem, result.javaVersion.requiresPermGen() ? m_permGen : 0, 0, this));
+    checker.reset(new JavaChecker(m_path, m_args, m_maxMem, m_maxMem, result.javaVersion.requiresPermGen() ? m_permGen : 0, 0));
     connect(checker.get(), &JavaChecker::checkFinished, this, &JavaCommon::TestCheck::checkFinishedWithArgs);
     checker->start();
 }
diff --git a/launcher/LaunchController.cpp b/launcher/LaunchController.cpp
index 687da1322..aaf84eac4 100644
--- a/launcher/LaunchController.cpp
+++ b/launcher/LaunchController.cpp
@@ -61,7 +61,7 @@
 #include "launch/steps/TextPrint.h"
 #include "tasks/Task.h"
 
-LaunchController::LaunchController(QObject* parent) : Task(parent) {}
+LaunchController::LaunchController() : Task() {}
 
 void LaunchController::executeTask()
 {
diff --git a/launcher/LaunchController.h b/launcher/LaunchController.h
index 6e2a94258..af52ad450 100644
--- a/launcher/LaunchController.h
+++ b/launcher/LaunchController.h
@@ -47,7 +47,7 @@ class LaunchController : public Task {
    public:
     void executeTask() override;
 
-    LaunchController(QObject* parent = nullptr);
+    LaunchController();
     virtual ~LaunchController() = default;
 
     void setInstance(InstancePtr instance) { m_instance = instance; }
diff --git a/launcher/java/JavaChecker.cpp b/launcher/java/JavaChecker.cpp
index c54a5b04b..772c90e42 100644
--- a/launcher/java/JavaChecker.cpp
+++ b/launcher/java/JavaChecker.cpp
@@ -44,8 +44,8 @@
 #include "FileSystem.h"
 #include "java/JavaUtils.h"
 
-JavaChecker::JavaChecker(QString path, QString args, int minMem, int maxMem, int permGen, int id, QObject* parent)
-    : Task(parent), m_path(path), m_args(args), m_minMem(minMem), m_maxMem(maxMem), m_permGen(permGen), m_id(id)
+JavaChecker::JavaChecker(QString path, QString args, int minMem, int maxMem, int permGen, int id)
+    : Task(), m_path(path), m_args(args), m_minMem(minMem), m_maxMem(maxMem), m_permGen(permGen), m_id(id)
 {}
 
 void JavaChecker::executeTask()
diff --git a/launcher/java/JavaChecker.h b/launcher/java/JavaChecker.h
index 171a18b76..a04b68170 100644
--- a/launcher/java/JavaChecker.h
+++ b/launcher/java/JavaChecker.h
@@ -1,7 +1,6 @@
 #pragma once
 #include <QProcess>
 #include <QTimer>
-#include <memory>
 
 #include "JavaVersion.h"
 #include "QObjectPtr.h"
@@ -26,7 +25,7 @@ class JavaChecker : public Task {
         enum class Validity { Errored, ReturnedInvalidData, Valid } validity = Validity::Errored;
     };
 
-    explicit JavaChecker(QString path, QString args, int minMem = 0, int maxMem = 0, int permGen = 0, int id = 0, QObject* parent = 0);
+    explicit JavaChecker(QString path, QString args, int minMem = 0, int maxMem = 0, int permGen = 0, int id = 0);
 
    signals:
     void checkFinished(const Result& result);
diff --git a/launcher/java/JavaInstallList.cpp b/launcher/java/JavaInstallList.cpp
index 569fda306..aa7fab8a0 100644
--- a/launcher/java/JavaInstallList.cpp
+++ b/launcher/java/JavaInstallList.cpp
@@ -163,7 +163,7 @@ void JavaListLoadTask::executeTask()
     JavaUtils ju;
     QList<QString> candidate_paths = m_only_managed_versions ? getPrismJavaBundle() : ju.FindJavaPaths();
 
-    ConcurrentTask::Ptr job(new ConcurrentTask(this, "Java detection", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()));
+    ConcurrentTask::Ptr job(new ConcurrentTask("Java detection", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()));
     m_job.reset(job);
     connect(m_job.get(), &Task::finished, this, &JavaListLoadTask::javaCheckerFinished);
     connect(m_job.get(), &Task::progress, this, &Task::setProgress);
@@ -171,7 +171,7 @@ void JavaListLoadTask::executeTask()
     qDebug() << "Probing the following Java paths: ";
     int id = 0;
     for (QString candidate : candidate_paths) {
-        auto checker = new JavaChecker(candidate, "", 0, 0, 0, id, this);
+        auto checker = new JavaChecker(candidate, "", 0, 0, 0, id);
         connect(checker, &JavaChecker::checkFinished, [this](const JavaChecker::Result& result) { m_results << result; });
         job->addTask(Task::Ptr(checker));
         id++;
diff --git a/launcher/launch/LaunchStep.cpp b/launcher/launch/LaunchStep.cpp
index f3e9dfce0..0b352ea9f 100644
--- a/launcher/launch/LaunchStep.cpp
+++ b/launcher/launch/LaunchStep.cpp
@@ -16,7 +16,7 @@
 #include "LaunchStep.h"
 #include "LaunchTask.h"
 
-LaunchStep::LaunchStep(LaunchTask* parent) : Task(parent), m_parent(parent)
+LaunchStep::LaunchStep(LaunchTask* parent) : Task(), m_parent(parent)
 {
     connect(this, &LaunchStep::readyForLaunch, parent, &LaunchTask::onReadyForLaunch);
     connect(this, &LaunchStep::logLine, parent, &LaunchTask::onLogLine);
diff --git a/launcher/launch/steps/CheckJava.cpp b/launcher/launch/steps/CheckJava.cpp
index 55d13b58c..0f8d27e94 100644
--- a/launcher/launch/steps/CheckJava.cpp
+++ b/launcher/launch/steps/CheckJava.cpp
@@ -94,7 +94,7 @@ void CheckJava::executeTask()
     // if timestamps are not the same, or something is missing, check!
     if (m_javaSignature != storedSignature || storedVersion.size() == 0 || storedArchitecture.size() == 0 ||
         storedRealArchitecture.size() == 0 || storedVendor.size() == 0) {
-        m_JavaChecker.reset(new JavaChecker(realJavaPath, "", 0, 0, 0, 0, this));
+        m_JavaChecker.reset(new JavaChecker(realJavaPath, "", 0, 0, 0, 0));
         emit logLine(QString("Checking Java version..."), MessageLevel::Launcher);
         connect(m_JavaChecker.get(), &JavaChecker::checkFinished, this, &CheckJava::checkJavaFinished);
         m_JavaChecker->start();
diff --git a/launcher/meta/Index.cpp b/launcher/meta/Index.cpp
index bd0745b6b..1707854be 100644
--- a/launcher/meta/Index.cpp
+++ b/launcher/meta/Index.cpp
@@ -140,8 +140,8 @@ Task::Ptr Index::loadVersion(const QString& uid, const QString& version, Net::Mo
     }
 
     auto versionList = get(uid);
-    auto loadTask = makeShared<SequentialTask>(
-        this, tr("Load meta for %1:%2", "This is for the task name that loads the meta index.").arg(uid, version));
+    auto loadTask =
+        makeShared<SequentialTask>(tr("Load meta for %1:%2", "This is for the task name that loads the meta index.").arg(uid, version));
     if (status() != BaseEntity::LoadStatus::Remote || force) {
         loadTask->addTask(this->loadTask(mode));
     }
diff --git a/launcher/meta/VersionList.cpp b/launcher/meta/VersionList.cpp
index 6856b5f8d..f96355658 100644
--- a/launcher/meta/VersionList.cpp
+++ b/launcher/meta/VersionList.cpp
@@ -34,8 +34,7 @@ VersionList::VersionList(const QString& uid, QObject* parent) : BaseVersionList(
 
 Task::Ptr VersionList::getLoadTask()
 {
-    auto loadTask =
-        makeShared<SequentialTask>(this, tr("Load meta for %1", "This is for the task name that loads the meta index.").arg(m_uid));
+    auto loadTask = makeShared<SequentialTask>(tr("Load meta for %1", "This is for the task name that loads the meta index.").arg(m_uid));
     loadTask->addTask(APPLICATION->metadataIndex()->loadTask(Net::Mode::Online));
     loadTask->addTask(this->loadTask(Net::Mode::Online));
     return loadTask;
diff --git a/launcher/minecraft/ComponentUpdateTask.cpp b/launcher/minecraft/ComponentUpdateTask.cpp
index 6656a84f8..36a07ee72 100644
--- a/launcher/minecraft/ComponentUpdateTask.cpp
+++ b/launcher/minecraft/ComponentUpdateTask.cpp
@@ -38,7 +38,7 @@
  * If the component list changes, start over.
  */
 
-ComponentUpdateTask::ComponentUpdateTask(Mode mode, Net::Mode netmode, PackProfile* list, QObject* parent) : Task(parent)
+ComponentUpdateTask::ComponentUpdateTask(Mode mode, Net::Mode netmode, PackProfile* list) : Task()
 {
     d.reset(new ComponentUpdateTaskData);
     d->m_profile = list;
diff --git a/launcher/minecraft/ComponentUpdateTask.h b/launcher/minecraft/ComponentUpdateTask.h
index 484c0bedd..64c55877b 100644
--- a/launcher/minecraft/ComponentUpdateTask.h
+++ b/launcher/minecraft/ComponentUpdateTask.h
@@ -14,7 +14,7 @@ class ComponentUpdateTask : public Task {
     enum class Mode { Launch, Resolution };
 
    public:
-    explicit ComponentUpdateTask(Mode mode, Net::Mode netmode, PackProfile* list, QObject* parent = 0);
+    explicit ComponentUpdateTask(Mode mode, Net::Mode netmode, PackProfile* list);
     virtual ~ComponentUpdateTask();
 
    protected:
diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp
index 98ac7647f..d6d45af6b 100644
--- a/launcher/minecraft/MinecraftInstance.cpp
+++ b/launcher/minecraft/MinecraftInstance.cpp
@@ -1093,7 +1093,7 @@ shared_qobject_ptr<LaunchTask> MinecraftInstance::createLaunchTask(AuthSessionPt
     // load meta
     {
         auto mode = session->status != AuthSession::PlayableOffline ? Net::Mode::Online : Net::Mode::Offline;
-        process->appendStep(makeShared<TaskStepWrapper>(pptr, makeShared<MinecraftLoadAndCheck>(this, mode, pptr)));
+        process->appendStep(makeShared<TaskStepWrapper>(pptr, makeShared<MinecraftLoadAndCheck>(this, mode)));
     }
 
     // check java
diff --git a/launcher/minecraft/MinecraftLoadAndCheck.cpp b/launcher/minecraft/MinecraftLoadAndCheck.cpp
index a9dcdf067..b9fb7eb0c 100644
--- a/launcher/minecraft/MinecraftLoadAndCheck.cpp
+++ b/launcher/minecraft/MinecraftLoadAndCheck.cpp
@@ -2,9 +2,7 @@
 #include "MinecraftInstance.h"
 #include "PackProfile.h"
 
-MinecraftLoadAndCheck::MinecraftLoadAndCheck(MinecraftInstance* inst, Net::Mode netmode, QObject* parent)
-    : Task(parent), m_inst(inst), m_netmode(netmode)
-{}
+MinecraftLoadAndCheck::MinecraftLoadAndCheck(MinecraftInstance* inst, Net::Mode netmode) : m_inst(inst), m_netmode(netmode) {}
 
 void MinecraftLoadAndCheck::executeTask()
 {
diff --git a/launcher/minecraft/MinecraftLoadAndCheck.h b/launcher/minecraft/MinecraftLoadAndCheck.h
index 72e9e0caa..c05698bca 100644
--- a/launcher/minecraft/MinecraftLoadAndCheck.h
+++ b/launcher/minecraft/MinecraftLoadAndCheck.h
@@ -23,7 +23,7 @@ class MinecraftInstance;
 class MinecraftLoadAndCheck : public Task {
     Q_OBJECT
    public:
-    explicit MinecraftLoadAndCheck(MinecraftInstance* inst, Net::Mode netmode, QObject* parent = nullptr);
+    explicit MinecraftLoadAndCheck(MinecraftInstance* inst, Net::Mode netmode);
     virtual ~MinecraftLoadAndCheck() = default;
     void executeTask() override;
 
diff --git a/launcher/minecraft/auth/AuthFlow.cpp b/launcher/minecraft/auth/AuthFlow.cpp
index 45926206c..19fbe15dd 100644
--- a/launcher/minecraft/auth/AuthFlow.cpp
+++ b/launcher/minecraft/auth/AuthFlow.cpp
@@ -19,7 +19,7 @@
 
 #include <Application.h>
 
-AuthFlow::AuthFlow(AccountData* data, Action action, QObject* parent) : Task(parent), m_data(data)
+AuthFlow::AuthFlow(AccountData* data, Action action) : Task(), m_data(data)
 {
     if (data->type == AccountType::MSA) {
         if (action == Action::DeviceCode) {
diff --git a/launcher/minecraft/auth/AuthFlow.h b/launcher/minecraft/auth/AuthFlow.h
index 4d18ac845..bff4c04e4 100644
--- a/launcher/minecraft/auth/AuthFlow.h
+++ b/launcher/minecraft/auth/AuthFlow.h
@@ -17,7 +17,7 @@ class AuthFlow : public Task {
    public:
     enum class Action { Refresh, Login, DeviceCode };
 
-    explicit AuthFlow(AccountData* data, Action action = Action::Refresh, QObject* parent = 0);
+    explicit AuthFlow(AccountData* data, Action action = Action::Refresh);
     virtual ~AuthFlow() = default;
 
     void executeTask() override;
diff --git a/launcher/minecraft/auth/MinecraftAccount.cpp b/launcher/minecraft/auth/MinecraftAccount.cpp
index 5b063604c..1ed39b5ca 100644
--- a/launcher/minecraft/auth/MinecraftAccount.cpp
+++ b/launcher/minecraft/auth/MinecraftAccount.cpp
@@ -121,7 +121,7 @@ shared_qobject_ptr<AuthFlow> MinecraftAccount::login(bool useDeviceCode)
 {
     Q_ASSERT(m_currentTask.get() == nullptr);
 
-    m_currentTask.reset(new AuthFlow(&data, useDeviceCode ? AuthFlow::Action::DeviceCode : AuthFlow::Action::Login, this));
+    m_currentTask.reset(new AuthFlow(&data, useDeviceCode ? AuthFlow::Action::DeviceCode : AuthFlow::Action::Login));
     connect(m_currentTask.get(), &Task::succeeded, this, &MinecraftAccount::authSucceeded);
     connect(m_currentTask.get(), &Task::failed, this, &MinecraftAccount::authFailed);
     connect(m_currentTask.get(), &Task::aborted, this, [this] { authFailed(tr("Aborted")); });
@@ -135,7 +135,7 @@ shared_qobject_ptr<AuthFlow> MinecraftAccount::refresh()
         return m_currentTask;
     }
 
-    m_currentTask.reset(new AuthFlow(&data, AuthFlow::Action::Refresh, this));
+    m_currentTask.reset(new AuthFlow(&data, AuthFlow::Action::Refresh));
 
     connect(m_currentTask.get(), &Task::succeeded, this, &MinecraftAccount::authSucceeded);
     connect(m_currentTask.get(), &Task::failed, this, &MinecraftAccount::authFailed);
diff --git a/launcher/minecraft/launch/AutoInstallJava.cpp b/launcher/minecraft/launch/AutoInstallJava.cpp
index 1083b7efb..854590dd2 100644
--- a/launcher/minecraft/launch/AutoInstallJava.cpp
+++ b/launcher/minecraft/launch/AutoInstallJava.cpp
@@ -57,9 +57,7 @@
 #include "tasks/SequentialTask.h"
 
 AutoInstallJava::AutoInstallJava(LaunchTask* parent)
-    : LaunchStep(parent)
-    , m_instance(m_parent->instance())
-    , m_supported_arch(SysInfo::getSupportedJavaArchitecture()) {};
+    : LaunchStep(parent), m_instance(m_parent->instance()), m_supported_arch(SysInfo::getSupportedJavaArchitecture()) {};
 
 void AutoInstallJava::executeTask()
 {
@@ -179,7 +177,7 @@ void AutoInstallJava::downloadJava(Meta::Version::Ptr version, QString javaName)
                     return;
             }
 #if defined(Q_OS_MACOS)
-            auto seq = makeShared<SequentialTask>(this, tr("Install Java"));
+            auto seq = makeShared<SequentialTask>(tr("Install Java"));
             seq->addTask(m_current_task);
             seq->addTask(makeShared<Java::SymlinkTask>(final_path));
             m_current_task = seq;
diff --git a/launcher/minecraft/mod/tasks/BasicFolderLoadTask.h b/launcher/minecraft/mod/tasks/BasicFolderLoadTask.h
index fb2e22de6..168e4b6fa 100644
--- a/launcher/minecraft/mod/tasks/BasicFolderLoadTask.h
+++ b/launcher/minecraft/mod/tasks/BasicFolderLoadTask.h
@@ -26,16 +26,12 @@ class BasicFolderLoadTask : public Task {
     [[nodiscard]] ResultPtr result() const { return m_result; }
 
    public:
-    BasicFolderLoadTask(QDir dir) : Task(nullptr, false), m_dir(dir), m_result(new Result), m_thread_to_spawn_into(thread())
+    BasicFolderLoadTask(QDir dir) : Task(false), m_dir(dir), m_result(new Result), m_thread_to_spawn_into(thread())
     {
         m_create_func = [](QFileInfo const& entry) -> Resource::Ptr { return makeShared<Resource>(entry); };
     }
     BasicFolderLoadTask(QDir dir, std::function<Resource::Ptr(QFileInfo const&)> create_function)
-        : Task(nullptr, false)
-        , m_dir(dir)
-        , m_result(new Result)
-        , m_create_func(std::move(create_function))
-        , m_thread_to_spawn_into(thread())
+        : Task(false), m_dir(dir), m_result(new Result), m_create_func(std::move(create_function)), m_thread_to_spawn_into(thread())
     {}
 
     [[nodiscard]] bool canAbort() const override { return true; }
diff --git a/launcher/minecraft/mod/tasks/GetModDependenciesTask.cpp b/launcher/minecraft/mod/tasks/GetModDependenciesTask.cpp
index b9288d2b3..b63d36361 100644
--- a/launcher/minecraft/mod/tasks/GetModDependenciesTask.cpp
+++ b/launcher/minecraft/mod/tasks/GetModDependenciesTask.cpp
@@ -52,11 +52,10 @@ static bool checkDependencies(std::shared_ptr<GetModDependenciesTask::PackDepend
            (!loaders || !sel->version.loaders || sel->version.loaders & loaders);
 }
 
-GetModDependenciesTask::GetModDependenciesTask(QObject* parent,
-                                               BaseInstance* instance,
+GetModDependenciesTask::GetModDependenciesTask(BaseInstance* instance,
                                                ModFolderModel* folder,
                                                QList<std::shared_ptr<PackDependency>> selected)
-    : SequentialTask(parent, tr("Get dependencies"))
+    : SequentialTask(tr("Get dependencies"))
     , m_selected(selected)
     , m_flame_provider{ ModPlatform::ResourceProvider::FLAME, std::make_shared<ResourceDownload::FlameModModel>(*instance),
                         std::make_shared<FlameAPI>() }
@@ -185,7 +184,7 @@ Task::Ptr GetModDependenciesTask::prepareDependencyTask(const ModPlatform::Depen
     auto provider = providerName == m_flame_provider.name ? m_flame_provider : m_modrinth_provider;
 
     auto tasks = makeShared<SequentialTask>(
-        this, QString("DependencyInfo: %1").arg(dep.addonId.toString().isEmpty() ? dep.version : dep.addonId.toString()));
+        QString("DependencyInfo: %1").arg(dep.addonId.toString().isEmpty() ? dep.version : dep.addonId.toString()));
 
     if (!dep.addonId.toString().isEmpty()) {
         tasks->addTask(getProjectInfoTask(pDep));
diff --git a/launcher/minecraft/mod/tasks/GetModDependenciesTask.h b/launcher/minecraft/mod/tasks/GetModDependenciesTask.h
index 7202b01e0..29c77f9fe 100644
--- a/launcher/minecraft/mod/tasks/GetModDependenciesTask.h
+++ b/launcher/minecraft/mod/tasks/GetModDependenciesTask.h
@@ -61,10 +61,7 @@ class GetModDependenciesTask : public SequentialTask {
         std::shared_ptr<ResourceAPI> api;
     };
 
-    explicit GetModDependenciesTask(QObject* parent,
-                                    BaseInstance* instance,
-                                    ModFolderModel* folder,
-                                    QList<std::shared_ptr<PackDependency>> selected);
+    explicit GetModDependenciesTask(BaseInstance* instance, ModFolderModel* folder, QList<std::shared_ptr<PackDependency>> selected);
 
     auto getDependecies() const -> QList<std::shared_ptr<PackDependency>> { return m_pack_dependencies; }
     QHash<QString, PackDependencyExtraInfo> getExtraInfo();
diff --git a/launcher/minecraft/mod/tasks/LocalDataPackParseTask.cpp b/launcher/minecraft/mod/tasks/LocalDataPackParseTask.cpp
index 82f6b9df9..19b15709d 100644
--- a/launcher/minecraft/mod/tasks/LocalDataPackParseTask.cpp
+++ b/launcher/minecraft/mod/tasks/LocalDataPackParseTask.cpp
@@ -157,7 +157,7 @@ bool validate(QFileInfo file)
 
 }  // namespace DataPackUtils
 
-LocalDataPackParseTask::LocalDataPackParseTask(int token, DataPack& dp) : Task(nullptr, false), m_token(token), m_data_pack(dp) {}
+LocalDataPackParseTask::LocalDataPackParseTask(int token, DataPack& dp) : Task(false), m_token(token), m_data_pack(dp) {}
 
 bool LocalDataPackParseTask::abort()
 {
diff --git a/launcher/minecraft/mod/tasks/LocalModParseTask.cpp b/launcher/minecraft/mod/tasks/LocalModParseTask.cpp
index d456211f8..fa5d479ba 100644
--- a/launcher/minecraft/mod/tasks/LocalModParseTask.cpp
+++ b/launcher/minecraft/mod/tasks/LocalModParseTask.cpp
@@ -730,7 +730,7 @@ bool loadIconFile(const Mod& mod, QPixmap* pixmap)
 }  // namespace ModUtils
 
 LocalModParseTask::LocalModParseTask(int token, ResourceType type, const QFileInfo& modFile)
-    : Task(nullptr, false), m_token(token), m_type(type), m_modFile(modFile), m_result(new Result())
+    : Task(false), m_token(token), m_type(type), m_modFile(modFile), m_result(new Result())
 {}
 
 bool LocalModParseTask::abort()
diff --git a/launcher/minecraft/mod/tasks/LocalResourcePackParseTask.cpp b/launcher/minecraft/mod/tasks/LocalResourcePackParseTask.cpp
index 27fbf3c6d..0b80db82d 100644
--- a/launcher/minecraft/mod/tasks/LocalResourcePackParseTask.cpp
+++ b/launcher/minecraft/mod/tasks/LocalResourcePackParseTask.cpp
@@ -358,9 +358,7 @@ bool validate(QFileInfo file)
 
 }  // namespace ResourcePackUtils
 
-LocalResourcePackParseTask::LocalResourcePackParseTask(int token, ResourcePack& rp)
-    : Task(nullptr, false), m_token(token), m_resource_pack(rp)
-{}
+LocalResourcePackParseTask::LocalResourcePackParseTask(int token, ResourcePack& rp) : Task(false), m_token(token), m_resource_pack(rp) {}
 
 bool LocalResourcePackParseTask::abort()
 {
diff --git a/launcher/minecraft/mod/tasks/LocalShaderPackParseTask.cpp b/launcher/minecraft/mod/tasks/LocalShaderPackParseTask.cpp
index 4deebcd1d..a6ecc5353 100644
--- a/launcher/minecraft/mod/tasks/LocalShaderPackParseTask.cpp
+++ b/launcher/minecraft/mod/tasks/LocalShaderPackParseTask.cpp
@@ -93,7 +93,7 @@ bool validate(QFileInfo file)
 
 }  // namespace ShaderPackUtils
 
-LocalShaderPackParseTask::LocalShaderPackParseTask(int token, ShaderPack& sp) : Task(nullptr, false), m_token(token), m_shader_pack(sp) {}
+LocalShaderPackParseTask::LocalShaderPackParseTask(int token, ShaderPack& sp) : Task(false), m_token(token), m_shader_pack(sp) {}
 
 bool LocalShaderPackParseTask::abort()
 {
diff --git a/launcher/minecraft/mod/tasks/LocalTexturePackParseTask.cpp b/launcher/minecraft/mod/tasks/LocalTexturePackParseTask.cpp
index 00cc2def2..18020808a 100644
--- a/launcher/minecraft/mod/tasks/LocalTexturePackParseTask.cpp
+++ b/launcher/minecraft/mod/tasks/LocalTexturePackParseTask.cpp
@@ -230,8 +230,7 @@ bool validate(QFileInfo file)
 
 }  // namespace TexturePackUtils
 
-LocalTexturePackParseTask::LocalTexturePackParseTask(int token, TexturePack& rp) : Task(nullptr, false), m_token(token), m_texture_pack(rp)
-{}
+LocalTexturePackParseTask::LocalTexturePackParseTask(int token, TexturePack& rp) : Task(false), m_token(token), m_texture_pack(rp) {}
 
 bool LocalTexturePackParseTask::abort()
 {
diff --git a/launcher/minecraft/mod/tasks/LocalWorldSaveParseTask.cpp b/launcher/minecraft/mod/tasks/LocalWorldSaveParseTask.cpp
index 9d564ddb3..74d8d8d60 100644
--- a/launcher/minecraft/mod/tasks/LocalWorldSaveParseTask.cpp
+++ b/launcher/minecraft/mod/tasks/LocalWorldSaveParseTask.cpp
@@ -170,7 +170,7 @@ bool validate(QFileInfo file)
 
 }  // namespace WorldSaveUtils
 
-LocalWorldSaveParseTask::LocalWorldSaveParseTask(int token, WorldSave& save) : Task(nullptr, false), m_token(token), m_save(save) {}
+LocalWorldSaveParseTask::LocalWorldSaveParseTask(int token, WorldSave& save) : Task(false), m_token(token), m_save(save) {}
 
 bool LocalWorldSaveParseTask::abort()
 {
diff --git a/launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp b/launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp
index 63996e584..2c3439ca4 100644
--- a/launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp
+++ b/launcher/minecraft/mod/tasks/ModFolderLoadTask.cpp
@@ -43,7 +43,7 @@
 #include <QThread>
 
 ModFolderLoadTask::ModFolderLoadTask(QDir mods_dir, QDir index_dir, bool is_indexed, bool clean_orphan)
-    : Task(nullptr, false)
+    : Task(false)
     , m_mods_dir(mods_dir)
     , m_index_dir(index_dir)
     , m_is_indexed(is_indexed)
diff --git a/launcher/modplatform/CheckUpdateTask.h b/launcher/modplatform/CheckUpdateTask.h
index 24b82c28e..ff064c904 100644
--- a/launcher/modplatform/CheckUpdateTask.h
+++ b/launcher/modplatform/CheckUpdateTask.h
@@ -16,7 +16,7 @@ class CheckUpdateTask : public Task {
                     std::list<Version>& mcVersions,
                     QList<ModPlatform::ModLoaderType> loadersList,
                     std::shared_ptr<ModFolderModel> mods_folder)
-        : Task(nullptr), m_mods(mods), m_game_versions(mcVersions), m_loaders_list(loadersList), m_mods_folder(mods_folder) {};
+        : Task(), m_mods(mods), m_game_versions(mcVersions), m_loaders_list(loadersList), m_mods_folder(mods_folder) {};
 
     struct UpdatableMod {
         QString name;
diff --git a/launcher/modplatform/EnsureMetadataTask.cpp b/launcher/modplatform/EnsureMetadataTask.cpp
index f6f49f38d..5f04e3c12 100644
--- a/launcher/modplatform/EnsureMetadataTask.cpp
+++ b/launcher/modplatform/EnsureMetadataTask.cpp
@@ -19,7 +19,7 @@ static ModrinthAPI modrinth_api;
 static FlameAPI flame_api;
 
 EnsureMetadataTask::EnsureMetadataTask(Mod* mod, QDir dir, ModPlatform::ResourceProvider prov)
-    : Task(nullptr), m_index_dir(dir), m_provider(prov), m_hashing_task(nullptr), m_current_task(nullptr)
+    : Task(), m_index_dir(dir), m_provider(prov), m_hashing_task(nullptr), m_current_task(nullptr)
 {
     auto hash_task = createNewHash(mod);
     if (!hash_task)
@@ -30,9 +30,9 @@ EnsureMetadataTask::EnsureMetadataTask(Mod* mod, QDir dir, ModPlatform::Resource
 }
 
 EnsureMetadataTask::EnsureMetadataTask(QList<Mod*>& mods, QDir dir, ModPlatform::ResourceProvider prov)
-    : Task(nullptr), m_index_dir(dir), m_provider(prov), m_current_task(nullptr)
+    : Task(), m_index_dir(dir), m_provider(prov), m_current_task(nullptr)
 {
-    m_hashing_task.reset(new ConcurrentTask(this, "MakeHashesTask", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()));
+    m_hashing_task.reset(new ConcurrentTask("MakeHashesTask", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()));
     for (auto* mod : mods) {
         auto hash_task = createNewHash(mod);
         if (!hash_task)
@@ -43,7 +43,7 @@ EnsureMetadataTask::EnsureMetadataTask(QList<Mod*>& mods, QDir dir, ModPlatform:
     }
 }
 EnsureMetadataTask::EnsureMetadataTask(QHash<QString, Mod*>& mods, QDir dir, ModPlatform::ResourceProvider prov)
-    : Task(nullptr), m_mods(mods), m_index_dir(dir), m_provider(prov), m_current_task(nullptr)
+    : Task(), m_mods(mods), m_index_dir(dir), m_provider(prov), m_current_task(nullptr)
 {}
 
 Hashing::Hasher::Ptr EnsureMetadataTask::createNewHash(Mod* mod)
diff --git a/launcher/modplatform/flame/FlameInstanceCreationTask.cpp b/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
index 35929d2da..d6eb45ef5 100644
--- a/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
+++ b/launcher/modplatform/flame/FlameInstanceCreationTask.cpp
@@ -677,7 +677,7 @@ void FlameCreationTask::validateZIPResources(QEventLoop& loop)
                 break;
         }
     }
-    auto task = makeShared<ConcurrentTask>(this, "CreateModMetadata", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt());
+    auto task = makeShared<ConcurrentTask>("CreateModMetadata", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt());
     auto results = m_mod_id_resolver->getResults().files;
     auto folder = FS::PathCombine(m_stagingPath, "minecraft", "mods", ".index");
     for (auto file : results) {
diff --git a/launcher/modplatform/flame/FlamePackExportTask.cpp b/launcher/modplatform/flame/FlamePackExportTask.cpp
index d661f1f05..3405b702f 100644
--- a/launcher/modplatform/flame/FlamePackExportTask.cpp
+++ b/launcher/modplatform/flame/FlamePackExportTask.cpp
@@ -103,8 +103,7 @@ void FlamePackExportTask::collectHashes()
     setStatus(tr("Finding file hashes..."));
     setProgress(1, 5);
     auto allMods = mcInstance->loaderModList()->allMods();
-    ConcurrentTask::Ptr hashingTask(
-        new ConcurrentTask(this, "MakeHashesTask", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()));
+    ConcurrentTask::Ptr hashingTask(new ConcurrentTask("MakeHashesTask", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()));
     task.reset(hashingTask);
     for (const QFileInfo& file : files) {
         const QString relative = gameRoot.relativeFilePath(file.absoluteFilePath());
diff --git a/launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp b/launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp
index 70bf138a8..fd9138ec8 100644
--- a/launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp
+++ b/launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp
@@ -40,7 +40,7 @@ void ModrinthCheckUpdate::executeTask()
     setProgress(0, 9);
 
     auto hashing_task =
-        makeShared<ConcurrentTask>(this, "MakeModrinthHashesTask", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt());
+        makeShared<ConcurrentTask>("MakeModrinthHashesTask", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt());
     for (auto* mod : m_mods) {
         auto hash = mod->metadata()->hash;
 
@@ -91,7 +91,6 @@ void ModrinthCheckUpdate::checkVersionsResponse(std::shared_ptr<QByteArray> resp
             // it means this specific version is not available
             if (project_obj.isEmpty()) {
                 qDebug() << "Mod " << m_mappings.find(hash).value()->name() << " got an empty response." << "Hash: " << hash;
-
                 continue;
             }
 
diff --git a/launcher/net/NetJob.cpp b/launcher/net/NetJob.cpp
index 3cd3958f7..335e360b2 100644
--- a/launcher/net/NetJob.cpp
+++ b/launcher/net/NetJob.cpp
@@ -45,7 +45,7 @@
 #endif
 
 NetJob::NetJob(QString job_name, shared_qobject_ptr<QNetworkAccessManager> network, int max_concurrent)
-    : ConcurrentTask(nullptr, job_name), m_network(network)
+    : ConcurrentTask(job_name), m_network(network)
 {
 #if defined(LAUNCHER_APPLICATION)
     if (APPLICATION_DYN && max_concurrent < 0)
diff --git a/launcher/tasks/ConcurrentTask.cpp b/launcher/tasks/ConcurrentTask.cpp
index f2ee40c31..ad2a14c42 100644
--- a/launcher/tasks/ConcurrentTask.cpp
+++ b/launcher/tasks/ConcurrentTask.cpp
@@ -38,7 +38,7 @@
 #include <QDebug>
 #include "tasks/Task.h"
 
-ConcurrentTask::ConcurrentTask(QObject* parent, QString task_name, int max_concurrent) : Task(parent), m_total_max_size(max_concurrent)
+ConcurrentTask::ConcurrentTask(QString task_name, int max_concurrent) : Task(), m_total_max_size(max_concurrent)
 {
     setObjectName(task_name);
 }
diff --git a/launcher/tasks/ConcurrentTask.h b/launcher/tasks/ConcurrentTask.h
index 0d6709940..d988623b9 100644
--- a/launcher/tasks/ConcurrentTask.h
+++ b/launcher/tasks/ConcurrentTask.h
@@ -48,7 +48,7 @@ class ConcurrentTask : public Task {
    public:
     using Ptr = shared_qobject_ptr<ConcurrentTask>;
 
-    explicit ConcurrentTask(QObject* parent = nullptr, QString task_name = "", int max_concurrent = 6);
+    explicit ConcurrentTask(QString task_name = "", int max_concurrent = 6);
     ~ConcurrentTask() override;
 
     // safe to call before starting the task
diff --git a/launcher/tasks/MultipleOptionsTask.cpp b/launcher/tasks/MultipleOptionsTask.cpp
index 5afe03964..ba0c23542 100644
--- a/launcher/tasks/MultipleOptionsTask.cpp
+++ b/launcher/tasks/MultipleOptionsTask.cpp
@@ -36,7 +36,7 @@
 
 #include <QDebug>
 
-MultipleOptionsTask::MultipleOptionsTask(QObject* parent, const QString& task_name) : ConcurrentTask(parent, task_name, 1) {}
+MultipleOptionsTask::MultipleOptionsTask(const QString& task_name) : ConcurrentTask(task_name, 1) {}
 
 void MultipleOptionsTask::executeNextSubTask()
 {
diff --git a/launcher/tasks/MultipleOptionsTask.h b/launcher/tasks/MultipleOptionsTask.h
index 9a88a9999..7a19ed6ad 100644
--- a/launcher/tasks/MultipleOptionsTask.h
+++ b/launcher/tasks/MultipleOptionsTask.h
@@ -42,7 +42,7 @@
 class MultipleOptionsTask : public ConcurrentTask {
     Q_OBJECT
    public:
-    explicit MultipleOptionsTask(QObject* parent = nullptr, const QString& task_name = "");
+    explicit MultipleOptionsTask(const QString& task_name = "");
     ~MultipleOptionsTask() override = default;
 
    private slots:
diff --git a/launcher/tasks/SequentialTask.cpp b/launcher/tasks/SequentialTask.cpp
index 509d91cf7..2e48414f2 100644
--- a/launcher/tasks/SequentialTask.cpp
+++ b/launcher/tasks/SequentialTask.cpp
@@ -38,7 +38,7 @@
 #include <QDebug>
 #include "tasks/ConcurrentTask.h"
 
-SequentialTask::SequentialTask(QObject* parent, QString task_name) : ConcurrentTask(parent, task_name, 1) {}
+SequentialTask::SequentialTask(QString task_name) : ConcurrentTask(task_name, 1) {}
 
 void SequentialTask::subTaskFailed(Task::Ptr task, const QString& msg)
 {
diff --git a/launcher/tasks/SequentialTask.h b/launcher/tasks/SequentialTask.h
index a7c101ab4..77cd4387f 100644
--- a/launcher/tasks/SequentialTask.h
+++ b/launcher/tasks/SequentialTask.h
@@ -47,7 +47,7 @@
 class SequentialTask : public ConcurrentTask {
     Q_OBJECT
    public:
-    explicit SequentialTask(QObject* parent = nullptr, QString task_name = "");
+    explicit SequentialTask(QString task_name = "");
     ~SequentialTask() override = default;
 
    protected slots:
diff --git a/launcher/tasks/Task.cpp b/launcher/tasks/Task.cpp
index b17096ca7..1871c5df8 100644
--- a/launcher/tasks/Task.cpp
+++ b/launcher/tasks/Task.cpp
@@ -40,7 +40,7 @@
 
 Q_LOGGING_CATEGORY(taskLogC, "launcher.task")
 
-Task::Task(QObject* parent, bool show_debug) : QObject(parent), m_show_debug(show_debug)
+Task::Task(bool show_debug) : m_show_debug(show_debug)
 {
     m_uid = QUuid::createUuid();
     setAutoDelete(false);
diff --git a/launcher/tasks/Task.h b/launcher/tasks/Task.h
index 883408c97..e712700a1 100644
--- a/launcher/tasks/Task.h
+++ b/launcher/tasks/Task.h
@@ -87,7 +87,7 @@ class Task : public QObject, public QRunnable {
     enum class State { Inactive, Running, Succeeded, Failed, AbortedByUser };
 
    public:
-    explicit Task(QObject* parent = 0, bool show_debug_log = true);
+    explicit Task(bool show_debug_log = true);
     virtual ~Task() = default;
 
     bool isRunning() const;
diff --git a/launcher/ui/dialogs/BlockedModsDialog.cpp b/launcher/ui/dialogs/BlockedModsDialog.cpp
index a02f527de..b3b6d2bcc 100644
--- a/launcher/ui/dialogs/BlockedModsDialog.cpp
+++ b/launcher/ui/dialogs/BlockedModsDialog.cpp
@@ -46,7 +46,7 @@ BlockedModsDialog::BlockedModsDialog(QWidget* parent, const QString& title, cons
     : QDialog(parent), ui(new Ui::BlockedModsDialog), m_mods(mods), m_hash_type(hash_type)
 {
     m_hashing_task = shared_qobject_ptr<ConcurrentTask>(
-        new ConcurrentTask(this, "MakeHashesTask", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()));
+        new ConcurrentTask("MakeHashesTask", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()));
     connect(m_hashing_task.get(), &Task::finished, this, &BlockedModsDialog::hashTaskFinished);
 
     ui->setupUi(this);
diff --git a/launcher/ui/dialogs/MSALoginDialog.cpp b/launcher/ui/dialogs/MSALoginDialog.cpp
index 2f6c6d9b2..40d1eff1e 100644
--- a/launcher/ui/dialogs/MSALoginDialog.cpp
+++ b/launcher/ui/dialogs/MSALoginDialog.cpp
@@ -85,7 +85,7 @@ int MSALoginDialog::exec()
     connect(m_authflow_task.get(), &AuthFlow::authorizeWithBrowserWithExtra, this, &MSALoginDialog::authorizeWithBrowserWithExtra);
     connect(ui->buttonBox->button(QDialogButtonBox::Cancel), &QPushButton::clicked, m_authflow_task.get(), &Task::abort);
 
-    m_devicecode_task.reset(new AuthFlow(m_account->accountData(), AuthFlow::Action::DeviceCode, this));
+    m_devicecode_task.reset(new AuthFlow(m_account->accountData(), AuthFlow::Action::DeviceCode));
     connect(m_devicecode_task.get(), &Task::failed, this, &MSALoginDialog::onTaskFailed);
     connect(m_devicecode_task.get(), &Task::succeeded, this, &QDialog::accept);
     connect(m_devicecode_task.get(), &Task::aborted, this, &MSALoginDialog::reject);
diff --git a/launcher/ui/dialogs/ModUpdateDialog.cpp b/launcher/ui/dialogs/ModUpdateDialog.cpp
index 308072c5e..4fb6154e1 100644
--- a/launcher/ui/dialogs/ModUpdateDialog.cpp
+++ b/launcher/ui/dialogs/ModUpdateDialog.cpp
@@ -45,8 +45,7 @@ ModUpdateDialog::ModUpdateDialog(QWidget* parent,
     , m_parent(parent)
     , m_mod_model(mods)
     , m_candidates(search_for)
-    , m_second_try_metadata(
-          new ConcurrentTask(nullptr, "Second Metadata Search", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()))
+    , m_second_try_metadata(new ConcurrentTask("Second Metadata Search", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()))
     , m_instance(instance)
     , m_include_deps(includeDeps)
 {
@@ -89,7 +88,7 @@ void ModUpdateDialog::checkCandidates()
     auto versions = mcVersions(m_instance);
     auto loadersList = mcLoadersList(m_instance);
 
-    SequentialTask check_task(m_parent, tr("Checking for updates"));
+    SequentialTask check_task(tr("Checking for updates"));
 
     if (!m_modrinth_to_update.empty()) {
         m_modrinth_check_task.reset(new ModrinthCheckUpdate(m_modrinth_to_update, versions, loadersList, m_mod_model));
@@ -187,7 +186,7 @@ void ModUpdateDialog::checkCandidates()
     }
 
     if (m_include_deps && !APPLICATION->settings()->get("ModDependenciesDisabled").toBool()) {  // dependencies
-        auto depTask = makeShared<GetModDependenciesTask>(this, m_instance, m_mod_model.get(), selectedVers);
+        auto depTask = makeShared<GetModDependenciesTask>(m_instance, m_mod_model.get(), selectedVers);
 
         connect(depTask.get(), &Task::failed, this,
                 [&](QString reason) { CustomMessageBox::selectable(this, tr("Error"), reason, QMessageBox::Critical)->exec(); });
@@ -261,7 +260,7 @@ auto ModUpdateDialog::ensureMetadata() -> bool
 {
     auto index_dir = indexDir();
 
-    SequentialTask seq(m_parent, tr("Looking for metadata"));
+    SequentialTask seq(tr("Looking for metadata"));
 
     // A better use of data structures here could remove the need for this QHash
     QHash<QString, bool> should_try_others;
diff --git a/launcher/ui/dialogs/ResourceDownloadDialog.cpp b/launcher/ui/dialogs/ResourceDownloadDialog.cpp
index 02a8454b4..06fa6dbf3 100644
--- a/launcher/ui/dialogs/ResourceDownloadDialog.cpp
+++ b/launcher/ui/dialogs/ResourceDownloadDialog.cpp
@@ -298,7 +298,7 @@ GetModDependenciesTask::Ptr ModDownloadDialog::getModDependenciesTask()
                 selectedVers.append(std::make_shared<GetModDependenciesTask::PackDependency>(selected->getPack(), selected->getVersion()));
             }
 
-            return makeShared<GetModDependenciesTask>(this, m_instance, model, selectedVers);
+            return makeShared<GetModDependenciesTask>(m_instance, model, selectedVers);
         }
     }
     return nullptr;
diff --git a/launcher/ui/java/InstallJavaDialog.cpp b/launcher/ui/java/InstallJavaDialog.cpp
index dc43ea4c9..5f69b9d46 100644
--- a/launcher/ui/java/InstallJavaDialog.cpp
+++ b/launcher/ui/java/InstallJavaDialog.cpp
@@ -317,7 +317,7 @@ void InstallDialog::done(int result)
                         deletePath();
                 }
 #if defined(Q_OS_MACOS)
-                auto seq = makeShared<SequentialTask>(this, tr("Install Java"));
+                auto seq = makeShared<SequentialTask>(tr("Install Java"));
                 seq->addTask(task);
                 seq->addTask(makeShared<Java::SymlinkTask>(final_path));
                 task = seq;
diff --git a/launcher/ui/pages/instance/ModFolderPage.cpp b/launcher/ui/pages/instance/ModFolderPage.cpp
index a6fbf5088..8d03b6d9a 100644
--- a/launcher/ui/pages/instance/ModFolderPage.cpp
+++ b/launcher/ui/pages/instance/ModFolderPage.cpp
@@ -209,7 +209,7 @@ void ModFolderPage::installMods()
 
     ResourceDownload::ModDownloadDialog mdownload(this, m_model, m_instance);
     if (mdownload.exec()) {
-        auto tasks = new ConcurrentTask(this, "Download Mods", APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
+        auto tasks = new ConcurrentTask("Download Mods", APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
         connect(tasks, &Task::failed, [this, tasks](QString reason) {
             CustomMessageBox::selectable(this, tr("Error"), reason, QMessageBox::Critical)->show();
             tasks->deleteLater();
@@ -292,7 +292,7 @@ void ModFolderPage::updateMods(bool includeDeps)
     }
 
     if (update_dialog.exec()) {
-        auto tasks = new ConcurrentTask(this, "Download Mods", APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
+        auto tasks = new ConcurrentTask("Download Mods", APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
         connect(tasks, &Task::failed, [this, tasks](QString reason) {
             CustomMessageBox::selectable(this, tr("Error"), reason, QMessageBox::Critical)->show();
             tasks->deleteLater();
@@ -423,7 +423,7 @@ void ModFolderPage::changeModVersion()
     ResourceDownload::ModDownloadDialog mdownload(this, m_model, m_instance);
     mdownload.setModMetadata((*mods_list.begin())->metadata());
     if (mdownload.exec()) {
-        auto tasks = new ConcurrentTask(this, "Download Mods", APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
+        auto tasks = new ConcurrentTask("Download Mods", APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
         connect(tasks, &Task::failed, [this, tasks](QString reason) {
             CustomMessageBox::selectable(this, tr("Error"), reason, QMessageBox::Critical)->show();
             tasks->deleteLater();
diff --git a/launcher/ui/pages/instance/ResourcePackPage.cpp b/launcher/ui/pages/instance/ResourcePackPage.cpp
index 85be64256..054bede01 100644
--- a/launcher/ui/pages/instance/ResourcePackPage.cpp
+++ b/launcher/ui/pages/instance/ResourcePackPage.cpp
@@ -37,8 +37,6 @@
 
 #include "ResourcePackPage.h"
 
-#include "ResourceDownloadTask.h"
-
 #include "ui/dialogs/CustomMessageBox.h"
 #include "ui/dialogs/ProgressDialog.h"
 #include "ui/dialogs/ResourceDownloadDialog.h"
@@ -72,8 +70,7 @@ void ResourcePackPage::downloadRPs()
 
     ResourceDownload::ResourcePackDownloadDialog mdownload(this, std::static_pointer_cast<ResourcePackFolderModel>(m_model), m_instance);
     if (mdownload.exec()) {
-        auto tasks =
-            new ConcurrentTask(this, "Download Resource Pack", APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
+        auto tasks = new ConcurrentTask("Download Resource Pack", APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
         connect(tasks, &Task::failed, [this, tasks](QString reason) {
             CustomMessageBox::selectable(this, tr("Error"), reason, QMessageBox::Critical)->show();
             tasks->deleteLater();
diff --git a/launcher/ui/pages/instance/ShaderPackPage.cpp b/launcher/ui/pages/instance/ShaderPackPage.cpp
index 40366a1be..61ee01445 100644
--- a/launcher/ui/pages/instance/ShaderPackPage.cpp
+++ b/launcher/ui/pages/instance/ShaderPackPage.cpp
@@ -65,7 +65,7 @@ void ShaderPackPage::downloadShaders()
 
     ResourceDownload::ShaderPackDownloadDialog mdownload(this, std::static_pointer_cast<ShaderPackFolderModel>(m_model), m_instance);
     if (mdownload.exec()) {
-        auto tasks = new ConcurrentTask(this, "Download Shaders", APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
+        auto tasks = new ConcurrentTask("Download Shaders", APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
         connect(tasks, &Task::failed, [this, tasks](QString reason) {
             CustomMessageBox::selectable(this, tr("Error"), reason, QMessageBox::Critical)->show();
             tasks->deleteLater();
diff --git a/launcher/ui/pages/instance/TexturePackPage.cpp b/launcher/ui/pages/instance/TexturePackPage.cpp
index 7c8d7e061..9c8ee3c78 100644
--- a/launcher/ui/pages/instance/TexturePackPage.cpp
+++ b/launcher/ui/pages/instance/TexturePackPage.cpp
@@ -74,8 +74,7 @@ void TexturePackPage::downloadTPs()
 
     ResourceDownload::TexturePackDownloadDialog mdownload(this, std::static_pointer_cast<TexturePackFolderModel>(m_model), m_instance);
     if (mdownload.exec()) {
-        auto tasks =
-            new ConcurrentTask(this, "Download Texture Packs", APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
+        auto tasks = new ConcurrentTask("Download Texture Packs", APPLICATION->settings()->get("NumberOfConcurrentDownloads").toInt());
         connect(tasks, &Task::failed, [this, tasks](QString reason) {
             CustomMessageBox::selectable(this, tr("Error"), reason, QMessageBox::Critical)->show();
             tasks->deleteLater();
diff --git a/launcher/ui/pages/instance/VersionPage.cpp b/launcher/ui/pages/instance/VersionPage.cpp
index cb04f9db1..ab1c48ed4 100644
--- a/launcher/ui/pages/instance/VersionPage.cpp
+++ b/launcher/ui/pages/instance/VersionPage.cpp
@@ -435,7 +435,7 @@ void VersionPage::on_actionDownload_All_triggered()
     if (updateTasks.isEmpty()) {
         return;
     }
-    auto task = makeShared<SequentialTask>(this);
+    auto task = makeShared<SequentialTask>();
     for (auto t : updateTasks) {
         task->addTask(t);
     }
diff --git a/launcher/ui/widgets/JavaSettingsWidget.cpp b/launcher/ui/widgets/JavaSettingsWidget.cpp
index 2b270c482..6efd3f581 100644
--- a/launcher/ui/widgets/JavaSettingsWidget.cpp
+++ b/launcher/ui/widgets/JavaSettingsWidget.cpp
@@ -460,7 +460,7 @@ void JavaSettingsWidget::checkJavaPath(const QString& path)
     }
     setJavaStatus(JavaStatus::Pending);
     m_checker.reset(
-        new JavaChecker(path, "", minHeapSize(), maxHeapSize(), m_permGenSpinBox->isVisible() ? m_permGenSpinBox->value() : 0, 0, this));
+        new JavaChecker(path, "", minHeapSize(), maxHeapSize(), m_permGenSpinBox->isVisible() ? m_permGenSpinBox->value() : 0, 0));
     connect(m_checker.get(), &JavaChecker::checkFinished, this, &JavaSettingsWidget::checkFinished);
     m_checker->start();
 }
diff --git a/tests/Task_test.cpp b/tests/Task_test.cpp
index 0740ba0a3..463e78b42 100644
--- a/tests/Task_test.cpp
+++ b/tests/Task_test.cpp
@@ -16,7 +16,7 @@ class BasicTask : public Task {
     friend class TaskTest;
 
    public:
-    BasicTask(bool show_debug_log = true) : Task(nullptr, show_debug_log) {}
+    BasicTask(bool show_debug_log = true) : Task(show_debug_log) {}
 
    private:
     void executeTask() override { emitSucceeded(); }

From a9147474169bdad603c139b5b8bad4e1912563d4 Mon Sep 17 00:00:00 2001
From: Kationor <n96211028@gmail.com>
Date: Sun, 24 Nov 2024 19:30:59 +0100
Subject: [PATCH 153/177] Improve MANIFEST.MF parsing

Previously, we would only properly parse LF-encoded manifests, and even
those only if they used the recommended casing.

This commit allows the parser to recognise CR and CRLF newlines, and
also makes the name comparison case insensitive to align with the
specification. (Though not completely: we still don't support multiline
values)

Signed-off-by: Kationor <n96211028@gmail.com>
(cherry picked from commit b40a1973bfe590fb21b486419a8d223b2c6aae7f)
---
 launcher/minecraft/mod/tasks/LocalModParseTask.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/launcher/minecraft/mod/tasks/LocalModParseTask.cpp b/launcher/minecraft/mod/tasks/LocalModParseTask.cpp
index fa5d479ba..7417dffe6 100644
--- a/launcher/minecraft/mod/tasks/LocalModParseTask.cpp
+++ b/launcher/minecraft/mod/tasks/LocalModParseTask.cpp
@@ -8,6 +8,7 @@
 #include <QJsonDocument>
 #include <QJsonObject>
 #include <QJsonValue>
+#include <QRegularExpression>
 #include <QString>
 
 #include "FileSystem.h"
@@ -15,6 +16,8 @@
 #include "minecraft/mod/ModDetails.h"
 #include "settings/INIFile.h"
 
+static QRegularExpression newlineRegex("\r\n|\n|\r");
+
 namespace ModUtils {
 
 // NEW format
@@ -487,11 +490,11 @@ bool processZIP(Mod& mod, [[maybe_unused]] ProcessingLevel level)
                 }
 
                 // quick and dirty line-by-line parser
-                auto manifestLines = file.readAll().split('\n');
+                auto manifestLines = QString(file.readAll()).split(newlineRegex);
                 QString manifestVersion = "";
                 for (auto& line : manifestLines) {
-                    if (QString(line).startsWith("Implementation-Version: ")) {
-                        manifestVersion = QString(line).remove("Implementation-Version: ");
+                    if (line.startsWith("Implementation-Version: ", Qt::CaseInsensitive)) {
+                        manifestVersion = line.remove("Implementation-Version: ", Qt::CaseInsensitive);
                         break;
                     }
                 }

From e7e9265c40a1621e5a7f7c08db47bc77dc859896 Mon Sep 17 00:00:00 2001
From: leia uwu <leia@tutamail.com>
Date: Sat, 30 Nov 2024 11:30:25 -0300
Subject: [PATCH 154/177] fix: fix system icons

This sets the fallback icon theme to the current(system default) icon theme before
launcher specific themes are applied

And removes `Inherits` line of multimc/legacy icon theme because it can end up making it
inherit a default theme set from /usr/share/icons/default/index.theme
instead of the user configured theme (probably a qt bug?)

Signed-off-by: leia uwu <leia@tutamail.com>
(cherry picked from commit fd9c80db62436b1a364cb8342ba45a059c53f899)
---
 launcher/resources/multimc/index.theme | 1 -
 launcher/ui/themes/ThemeManager.cpp    | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/resources/multimc/index.theme b/launcher/resources/multimc/index.theme
index 4da8072d9..497106d6f 100644
--- a/launcher/resources/multimc/index.theme
+++ b/launcher/resources/multimc/index.theme
@@ -1,7 +1,6 @@
 [Icon Theme]
 Name=Legacy
 Comment=Default Icons
-Inherits=default
 Directories=8x8,16x16,22x22,24x24,32x32,32x32/instances,48x48,50x50/instances,64x64,128x128/instances,256x256,scalable,scalable/instances
 
 [8x8]
diff --git a/launcher/ui/themes/ThemeManager.cpp b/launcher/ui/themes/ThemeManager.cpp
index 691a51668..81afd0412 100644
--- a/launcher/ui/themes/ThemeManager.cpp
+++ b/launcher/ui/themes/ThemeManager.cpp
@@ -36,6 +36,7 @@
 
 ThemeManager::ThemeManager()
 {
+    QIcon::setFallbackThemeName(QIcon::themeName());
     themeDebugLog() << "Determining System Widget Theme...";
     const auto& style = QApplication::style();
     m_defaultStyle = style->objectName();

From 9791c306dcd0ba4b33335c649fe56cc08e394193 Mon Sep 17 00:00:00 2001
From: leia uwu <leia@tutamail.com>
Date: Sat, 30 Nov 2024 12:50:57 -0300
Subject: [PATCH 155/177] fix: icon search paths memory leak

Signed-off-by: leia uwu <leia@tutamail.com>
(cherry picked from commit 3f67ef968bb9be3b1cdfdfa68e2d38ddf8e1a3cf)
---
 launcher/ui/themes/ThemeManager.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/launcher/ui/themes/ThemeManager.cpp b/launcher/ui/themes/ThemeManager.cpp
index 81afd0412..bbf614855 100644
--- a/launcher/ui/themes/ThemeManager.cpp
+++ b/launcher/ui/themes/ThemeManager.cpp
@@ -37,6 +37,7 @@
 ThemeManager::ThemeManager()
 {
     QIcon::setFallbackThemeName(QIcon::themeName());
+    QIcon::setFallbackSearchPaths(QIcon::themeSearchPaths());
     themeDebugLog() << "Determining System Widget Theme...";
     const auto& style = QApplication::style();
     m_defaultStyle = style->objectName();
@@ -94,9 +95,7 @@ void ThemeManager::initializeIcons()
     // set icon theme search path!
     themeDebugLog() << "<> Initializing Icon Themes";
 
-    auto searchPaths = QIcon::themeSearchPaths();
-    searchPaths.append(m_iconThemeFolder.path());
-    QIcon::setThemeSearchPaths(searchPaths);
+    QIcon::setThemeSearchPaths({ m_iconThemeFolder.path(), ":/icons" });
 
     for (const QString& id : builtinIcons) {
         IconTheme theme(id, QString(":/icons/%1").arg(id));

From af74d5f41012847ee3116bf38d3b40cc7996bee8 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sun, 24 Nov 2024 20:29:07 +0200
Subject: [PATCH 156/177] Make FTB Import note italic to match others

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit a09af619cee3265710097724f539d9457695658d)
---
 launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.ui | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.ui b/launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.ui
index 18c604ca4..337c3e474 100644
--- a/launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.ui
+++ b/launcher/ui/pages/modplatform/import_ftb/ImportFTBPage.ui
@@ -13,6 +13,11 @@
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
     <widget class="QLabel" name="label">
+     <property name="font">
+      <font>
+       <italic>true</italic>
+      </font>
+     </property>
      <property name="text">
       <string>Note: If your FTB instances are not in the default location, select it using the button next to search.</string>
      </property>

From 686e0b7b189dd0dfa5852fe0e8c47ce439fdd577 Mon Sep 17 00:00:00 2001
From: guihkx <626206+guihkx@users.noreply.github.com>
Date: Tue, 26 Nov 2024 13:51:09 -0300
Subject: [PATCH 157/177] flatpak: update xrandr to 1.5.3

Signed-off-by: guihkx <626206+guihkx@users.noreply.github.com>
(cherry picked from commit 4a50e949672461b5b69b039ff240ced6dad9bdd5)
---
 flatpak/org.prismlauncher.PrismLauncher.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/flatpak/org.prismlauncher.PrismLauncher.yml b/flatpak/org.prismlauncher.PrismLauncher.yml
index 7aaa4f379..e2c8a0b79 100644
--- a/flatpak/org.prismlauncher.PrismLauncher.yml
+++ b/flatpak/org.prismlauncher.PrismLauncher.yml
@@ -75,8 +75,8 @@ modules:
     buildsystem: autotools
     sources:
       - type: archive
-        url: https://xorg.freedesktop.org/archive/individual/app/xrandr-1.5.2.tar.xz
-        sha256: c8bee4790d9058bacc4b6246456c58021db58a87ddda1a9d0139bf5f18f1f240
+        url: https://xorg.freedesktop.org/archive/individual/app/xrandr-1.5.3.tar.xz
+        sha256: f8dd7566adb74147fab9964680b6bbadee87cf406a7fcff51718a5e6949b841c
         x-checker-data:
           type: anitya
           project-id: 14957

From 73b4223b6136898a76c12e4531f651aa0c529e16 Mon Sep 17 00:00:00 2001
From: guihkx <626206+guihkx@users.noreply.github.com>
Date: Tue, 26 Nov 2024 13:51:09 -0300
Subject: [PATCH 158/177] flatpak: update KDE runtime to 6.8

This also switches to the Docker image provided and maintained by
Flathub collaborators through the 'flathub-infra' organization on
GitHub, because it looks better maintained at the moment.

Signed-off-by: guihkx <626206+guihkx@users.noreply.github.com>
(cherry picked from commit f6770a847a8419ef0b1acab30144077f745a48ee)
---
 .github/workflows/build.yml                 | 2 +-
 flatpak/org.prismlauncher.PrismLauncher.yml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 2cefa8100..d2db67054 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -633,7 +633,7 @@ jobs:
   flatpak:
     runs-on: ubuntu-latest
     container:
-      image: bilelmoussaoui/flatpak-github-actions:kde-6.7
+      image: ghcr.io/flathub-infra/flatpak-github-actions:kde-6.8
       options: --privileged
     steps:
       - name: Checkout
diff --git a/flatpak/org.prismlauncher.PrismLauncher.yml b/flatpak/org.prismlauncher.PrismLauncher.yml
index e2c8a0b79..136aef91a 100644
--- a/flatpak/org.prismlauncher.PrismLauncher.yml
+++ b/flatpak/org.prismlauncher.PrismLauncher.yml
@@ -1,6 +1,6 @@
 id: org.prismlauncher.PrismLauncher
 runtime: org.kde.Platform
-runtime-version: '6.7'
+runtime-version: '6.8'
 sdk: org.kde.Sdk
 sdk-extensions:
   - org.freedesktop.Sdk.Extension.openjdk17

From bbf21e5824a4e271e071c72aa3604b0ef1b012d3 Mon Sep 17 00:00:00 2001
From: guihkx <626206+guihkx@users.noreply.github.com>
Date: Tue, 26 Nov 2024 13:51:09 -0300
Subject: [PATCH 159/177] ci(flatpak): update build artifact name

Just aligning the name of the Flatpak package with other build artifacts.

Signed-off-by: guihkx <626206+guihkx@users.noreply.github.com>
(cherry picked from commit e0faee7f262fda898ceb8ea5ab40249dbd6c52ea)
---
 .github/workflows/build.yml | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d2db67054..5e092b4e4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -640,12 +640,17 @@ jobs:
         uses: actions/checkout@v4
         if: inputs.build_type == 'Debug'
         with:
-          submodules: "true"
+          submodules: true
+
+      - name: Set short version
+        shell: bash
+        run: echo "VERSION=${GITHUB_SHA::7}" >> $GITHUB_ENV
+
       - name: Build Flatpak (Linux)
         if: inputs.build_type == 'Debug'
         uses: flatpak/flatpak-github-actions/flatpak-builder@v6
         with:
-          bundle: "Prism Launcher.flatpak"
+          bundle: PrismLauncher-${{ runner.os }}-${{ env.VERSION }}-Flatpak.flatpak
           manifest-path: flatpak/org.prismlauncher.PrismLauncher.yml
 
   nix:

From a58f125535e45fea0bf9b955f9babba6afc524d9 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 5 Dec 2024 20:29:11 +0000
Subject: [PATCH 160/177] chore(deps): update actions/cache action to v4.2.0

(cherry picked from commit 94c893bd865ceba286dffc1d6392df07d47c11d9)
---
 .github/workflows/build.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 5e092b4e4..991ddcd8c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -173,7 +173,7 @@ jobs:
 
       - name: Retrieve ccache cache (Windows MinGW-w64)
         if: runner.os == 'Windows' && matrix.msystem != '' && inputs.build_type == 'Debug'
-        uses: actions/cache@v4.1.2
+        uses: actions/cache@v4.2.0
         with:
           path: '${{ github.workspace }}\.ccache'
           key: ${{ matrix.os }}-mingw-w64-ccache-${{ github.run_id }}

From 887db29f35f7037994fbbdb8db3f5ebfcefe03bd Mon Sep 17 00:00:00 2001
From: leia uwu <leia@tutamail.com>
Date: Fri, 6 Dec 2024 16:40:07 -0300
Subject: [PATCH 161/177] fix icon theme search paths

using fallback search paths breaks qadwaitadecorations

Signed-off-by: leia uwu <leia@tutamail.com>
(cherry picked from commit 614574f15c507f884fc2ceff74db8c919674a0f1)
---
 launcher/ui/themes/ThemeManager.cpp | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/launcher/ui/themes/ThemeManager.cpp b/launcher/ui/themes/ThemeManager.cpp
index bbf614855..30a1fe7be 100644
--- a/launcher/ui/themes/ThemeManager.cpp
+++ b/launcher/ui/themes/ThemeManager.cpp
@@ -37,7 +37,8 @@
 ThemeManager::ThemeManager()
 {
     QIcon::setFallbackThemeName(QIcon::themeName());
-    QIcon::setFallbackSearchPaths(QIcon::themeSearchPaths());
+    QIcon::setThemeSearchPaths(QIcon::themeSearchPaths() << m_iconThemeFolder.path());
+
     themeDebugLog() << "Determining System Widget Theme...";
     const auto& style = QApplication::style();
     m_defaultStyle = style->objectName();
@@ -95,8 +96,6 @@ void ThemeManager::initializeIcons()
     // set icon theme search path!
     themeDebugLog() << "<> Initializing Icon Themes";
 
-    QIcon::setThemeSearchPaths({ m_iconThemeFolder.path(), ":/icons" });
-
     for (const QString& id : builtinIcons) {
         IconTheme theme(id, QString(":/icons/%1").arg(id));
         if (!theme.load()) {
@@ -348,4 +347,4 @@ void ThemeManager::refresh()
 
     initializeThemes();
     initializeCatPacks();
-}
\ No newline at end of file
+}

From 344ae87f257f2d3bc706d7ebad56e405b2330165 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Sun, 8 Dec 2024 22:04:16 +0200
Subject: [PATCH 162/177] fix crash with invalid mrpack format

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit 1dd0728a58159bc835b2e7724a707776ae0b93ce)
---
 .../modplatform/modrinth/ModrinthInstanceCreationTask.cpp   | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
index 994dd774f..3592d2ed7 100644
--- a/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
+++ b/launcher/modplatform/modrinth/ModrinthInstanceCreationTask.cpp
@@ -261,12 +261,14 @@ bool ModrinthCreationTask::createInstance()
             mod->setDetails(d);
             mods[file.hash.toHex()] = mod;
         }
-
+        if (file.downloads.empty()) {
+            setError(tr("The file '%1' is missing a download link. This is invalid in the pack format.").arg(fileName));
+            return false;
+        }
         qDebug() << "Will try to download" << file.downloads.front() << "to" << file_path;
         auto dl = Net::ApiDownload::makeFile(file.downloads.dequeue(), file_path);
         dl->addValidator(new Net::ChecksumValidator(file.hashAlgorithm, file.hash));
         downloadMods->addNetAction(dl);
-
         if (!file.downloads.empty()) {
             // FIXME: This really needs to be put into a ConcurrentTask of
             // MultipleOptionsTask's , once those exist :)

From 4c28a94de1ce8a64fa16c187379c4cb59b2bbf8b Mon Sep 17 00:00:00 2001
From: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
Date: Thu, 12 Dec 2024 14:43:28 -0500
Subject: [PATCH 163/177] Add local network usage description

Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
(cherry picked from commit c3e44554abccfd16ff7f84740932848e59d28474)
---
 cmake/MacOSXBundleInfo.plist.in | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/cmake/MacOSXBundleInfo.plist.in b/cmake/MacOSXBundleInfo.plist.in
index 6d3845dfc..3a8c8fbfe 100644
--- a/cmake/MacOSXBundleInfo.plist.in
+++ b/cmake/MacOSXBundleInfo.plist.in
@@ -8,6 +8,8 @@
     <string>A Minecraft mod wants to access your microphone.</string>
     <key>NSDownloadsFolderUsageDescription</key>
     <string>Prism uses access to your Downloads folder to help you more quickly add mods that can't be automatically downloaded to your instance. You can change where Prism scans for downloaded mods in Settings or the prompt that appears.</string>
+    <key>NSLocalNetworkUsageDescription</key>
+    <string>Minecraft uses the local network to find and connect to LAN servers.</string>
     <key>NSPrincipalClass</key>
     <string>NSApplication</string>
     <key>NSHighResolutionCapable</key>

From 1d29f63bec66f0dca653e4f1b75924172a6e25e5 Mon Sep 17 00:00:00 2001
From: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
Date: Thu, 12 Dec 2024 14:53:39 -0500
Subject: [PATCH 164/177] Fix tab order in launcher settings

Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
(cherry picked from commit c3712ba6483f6386e2930ec0ed059d8c94f671b6)
---
 launcher/ui/pages/global/LauncherPage.ui | 32 ++++++++++++++++++------
 1 file changed, 25 insertions(+), 7 deletions(-)

diff --git a/launcher/ui/pages/global/LauncherPage.ui b/launcher/ui/pages/global/LauncherPage.ui
index 09e7bca5b..a46a6fd5d 100644
--- a/launcher/ui/pages/global/LauncherPage.ui
+++ b/launcher/ui/pages/global/LauncherPage.ui
@@ -35,7 +35,7 @@
       <string notr="true"/>
      </property>
      <property name="tabShape">
-      <enum>QTabWidget::Rounded</enum>
+      <enum>QTabWidget::TabShape::Rounded</enum>
      </property>
      <property name="currentIndex">
       <number>0</number>
@@ -48,7 +48,7 @@
        <item>
         <widget class="QScrollArea" name="scrollArea">
          <property name="horizontalScrollBarPolicy">
-          <enum>Qt::ScrollBarAlwaysOff</enum>
+          <enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
          </property>
          <property name="widgetResizable">
           <bool>true</bool>
@@ -365,7 +365,7 @@
            <item>
             <spacer name="verticalSpacer_FeaturesTab">
              <property name="orientation">
-              <enum>Qt::Vertical</enum>
+              <enum>Qt::Orientation::Vertical</enum>
              </property>
              <property name="sizeHint" stdset="0">
               <size>
@@ -465,7 +465,7 @@
           <item row="0" column="1">
            <spacer name="horizontalSpacer">
             <property name="orientation">
-             <enum>Qt::Horizontal</enum>
+             <enum>Qt::Orientation::Horizontal</enum>
             </property>
             <property name="sizeHint" stdset="0">
              <size>
@@ -506,7 +506,7 @@
        <item>
         <spacer name="verticalSpacer_UserInterfaceTab">
          <property name="orientation">
-          <enum>Qt::Vertical</enum>
+          <enum>Qt::Orientation::Vertical</enum>
          </property>
          <property name="sizeHint" stdset="0">
           <size>
@@ -615,13 +615,13 @@
              </sizepolicy>
             </property>
             <property name="horizontalScrollBarPolicy">
-             <enum>Qt::ScrollBarAlwaysOff</enum>
+             <enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
             </property>
             <property name="undoRedoEnabled">
              <bool>false</bool>
             </property>
             <property name="textInteractionFlags">
-             <set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+             <set>Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse</set>
             </property>
            </widget>
           </item>
@@ -667,15 +667,33 @@
  </customwidgets>
  <tabstops>
   <tabstop>tabWidget</tabstop>
+  <tabstop>scrollArea</tabstop>
   <tabstop>autoUpdateCheckBox</tabstop>
+  <tabstop>updateIntervalSpinBox</tabstop>
   <tabstop>instDirTextBox</tabstop>
   <tabstop>instDirBrowseBtn</tabstop>
   <tabstop>modsDirTextBox</tabstop>
   <tabstop>modsDirBrowseBtn</tabstop>
   <tabstop>iconsDirTextBox</tabstop>
   <tabstop>iconsDirBrowseBtn</tabstop>
+  <tabstop>javaDirTextBox</tabstop>
+  <tabstop>javaDirBrowseBtn</tabstop>
+  <tabstop>skinsDirTextBox</tabstop>
+  <tabstop>skinsDirBrowseBtn</tabstop>
+  <tabstop>downloadsDirTextBox</tabstop>
+  <tabstop>downloadsDirBrowseBtn</tabstop>
+  <tabstop>downloadsDirWatchRecursiveCheckBox</tabstop>
+  <tabstop>metadataDisableBtn</tabstop>
+  <tabstop>dependenciesDisableBtn</tabstop>
+  <tabstop>skipModpackUpdatePromptBtn</tabstop>
+  <tabstop>numberOfConcurrentTasksSpinBox</tabstop>
+  <tabstop>numberOfConcurrentDownloadsSpinBox</tabstop>
+  <tabstop>numberOfManualRetriesSpinBox</tabstop>
+  <tabstop>timeoutSecondsSpinBox</tabstop>
   <tabstop>sortLastLaunchedBtn</tabstop>
   <tabstop>sortByNameBtn</tabstop>
+  <tabstop>catOpacitySpinBox</tabstop>
+  <tabstop>preferMenuBarCheckBox</tabstop>
   <tabstop>showConsoleCheck</tabstop>
   <tabstop>autoCloseConsoleCheck</tabstop>
   <tabstop>showConsoleErrorCheck</tabstop>

From 335941fb46c8be4d6043bd882bb8c555ce648984 Mon Sep 17 00:00:00 2001
From: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
Date: Sat, 14 Dec 2024 00:42:08 -0500
Subject: [PATCH 165/177] Update Sparkle to v2.6.4

Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
(cherry picked from commit b6cd46ad27e8046962dcb7b3b43a973ff08564eb)
---
 CMakeLists.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 728e9c246..4e7f14ac6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -397,8 +397,8 @@ if(UNIX AND APPLE)
     set(MACOSX_SPARKLE_UPDATE_PUBLIC_KEY "v55ZWWD6QlPoXGV6VLzOTZxZUggWeE51X8cRQyQh6vA=" CACHE STRING "Public key for Sparkle update feed")
     set(MACOSX_SPARKLE_UPDATE_FEED_URL "https://prismlauncher.org/feed/appcast.xml" CACHE STRING "URL for Sparkle update feed")
 
-    set(MACOSX_SPARKLE_DOWNLOAD_URL "https://github.com/sparkle-project/Sparkle/releases/download/2.5.2/Sparkle-2.5.2.tar.xz" CACHE STRING "URL to Sparkle release archive")
-    set(MACOSX_SPARKLE_SHA256 "572dd67ae398a466f19f343a449e1890bac1ef74885b4739f68f979a8a89884b" CACHE STRING "SHA256 checksum for Sparkle release archive")
+    set(MACOSX_SPARKLE_DOWNLOAD_URL "https://github.com/sparkle-project/Sparkle/releases/download/2.6.4/Sparkle-2.6.4.tar.xz" CACHE STRING "URL to Sparkle release archive")
+    set(MACOSX_SPARKLE_SHA256 "50612a06038abc931f16011d7903b8326a362c1074dabccb718404ce8e585f0b" CACHE STRING "SHA256 checksum for Sparkle release archive")
     set(MACOSX_SPARKLE_DIR "${CMAKE_BINARY_DIR}/frameworks/Sparkle")
 
     # directories to look for dependencies

From 9cb2a3ab2d0aa89a081ce65f9a9c84f7c20493a5 Mon Sep 17 00:00:00 2001
From: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
Date: Mon, 16 Dec 2024 02:27:26 -0500
Subject: [PATCH 166/177] Correct symbolic link destination on manifest Java
 download

Signed-off-by: Kenneth Chew <79120643+kthchew@users.noreply.github.com>
(cherry picked from commit 8d53242952ceeed11bd1a57c9ac43344d854ac8c)
---
 launcher/java/download/ManifestDownloadTask.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/launcher/java/download/ManifestDownloadTask.cpp b/launcher/java/download/ManifestDownloadTask.cpp
index 836afeaac..20b39e751 100644
--- a/launcher/java/download/ManifestDownloadTask.cpp
+++ b/launcher/java/download/ManifestDownloadTask.cpp
@@ -86,11 +86,10 @@ void ManifestDownloadTask::downloadJava(const QJsonDocument& doc)
         if (type == "directory") {
             FS::ensureFolderPathExists(file);
         } else if (type == "link") {
-            // this is linux only !
+            // this is *nix only !
             auto path = Json::ensureString(meta, "target");
             if (!path.isEmpty()) {
-                auto target = FS::PathCombine(file, "../" + path);
-                QFile(target).link(file);
+                QFile::link(path, file);
             }
         } else if (type == "file") {
             // TODO download compressed version if it exists ?

From 7bb686c85bab381fd8a2b4a8dc18e958f22c134d Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Thu, 12 Dec 2024 17:29:46 +0200
Subject: [PATCH 167/177] Do not fail curseforge import if modrinth file check
 fails

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
(cherry picked from commit a1c1c0b769d77eb8c44cef3dc0966e7184b2ce78)
---
 launcher/modplatform/flame/FileResolvingTask.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/launcher/modplatform/flame/FileResolvingTask.cpp b/launcher/modplatform/flame/FileResolvingTask.cpp
index 4c2f3d69e..d69bf12c0 100644
--- a/launcher/modplatform/flame/FileResolvingTask.cpp
+++ b/launcher/modplatform/flame/FileResolvingTask.cpp
@@ -144,7 +144,7 @@ void Flame::FileResolvingTask::netJobFinished()
                        << " reason: " << parse_error.errorString();
             qWarning() << *m_result;
 
-            failed(parse_error.errorString());
+            getFlameProjects();
             return;
         }
 

From 0c962dff599fda5818161d08e65ca7ff06cc7eb2 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Fri, 1 Nov 2024 13:44:06 +0200
Subject: [PATCH 168/177] fix the flame loaders match

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/modplatform/ModIndex.cpp             | 13 +++++++
 launcher/modplatform/ModIndex.h               |  1 +
 launcher/modplatform/flame/FlameAPI.cpp       | 38 +++++++++++++------
 .../modrinth/ModrinthCheckUpdate.cpp          | 11 ++----
 launcher/modplatform/packwiz/Packwiz.cpp      |  7 +---
 5 files changed, 46 insertions(+), 24 deletions(-)

diff --git a/launcher/modplatform/ModIndex.cpp b/launcher/modplatform/ModIndex.cpp
index 8c85ae122..c3ecccf8e 100644
--- a/launcher/modplatform/ModIndex.cpp
+++ b/launcher/modplatform/ModIndex.cpp
@@ -31,6 +31,19 @@ static const QMap<QString, IndexedVersionType::VersionType> s_indexed_version_ty
     { "alpha", IndexedVersionType::VersionType::Alpha }
 };
 
+static const QList<ModLoaderType> loaderList = { NeoForge, Forge, Cauldron, LiteLoader, Quilt, Fabric };
+
+QList<ModLoaderType> modLoaderTypesToList(ModLoaderTypes flags)
+{
+    QList<ModLoaderType> flagList;
+    for (auto flag : loaderList) {
+        if (flags.testFlag(flag)) {
+            flagList.append(flag);
+        }
+    }
+    return flagList;
+}
+
 IndexedVersionType::IndexedVersionType(const QString& type) : IndexedVersionType(enumFromString(type)) {}
 
 IndexedVersionType::IndexedVersionType(const IndexedVersionType::VersionType& type)
diff --git a/launcher/modplatform/ModIndex.h b/launcher/modplatform/ModIndex.h
index d5ee12473..8fae1bf6c 100644
--- a/launcher/modplatform/ModIndex.h
+++ b/launcher/modplatform/ModIndex.h
@@ -32,6 +32,7 @@ namespace ModPlatform {
 
 enum ModLoaderType { NeoForge = 1 << 0, Forge = 1 << 1, Cauldron = 1 << 2, LiteLoader = 1 << 3, Fabric = 1 << 4, Quilt = 1 << 5 };
 Q_DECLARE_FLAGS(ModLoaderTypes, ModLoaderType)
+QList<ModLoaderType> modLoaderTypesToList(ModLoaderTypes flags);
 
 enum class ResourceProvider { MODRINTH, FLAME };
 
diff --git a/launcher/modplatform/flame/FlameAPI.cpp b/launcher/modplatform/flame/FlameAPI.cpp
index ddd48c2b1..53eadcf02 100644
--- a/launcher/modplatform/flame/FlameAPI.cpp
+++ b/launcher/modplatform/flame/FlameAPI.cpp
@@ -270,21 +270,35 @@ std::optional<ModPlatform::IndexedVersion> FlameAPI::getLatestVersion(QList<ModP
                                                                       QList<ModPlatform::ModLoaderType> instanceLoaders,
                                                                       ModPlatform::ModLoaderTypes modLoaders)
 {
-    // edge case: mod has installed for forge but the instance is fabric => fabric version will be prioritizated on update
-    auto bestVersion = [&versions](ModPlatform::ModLoaderTypes loader) {
-        std::optional<ModPlatform::IndexedVersion> ver;
-        for (auto file_tmp : versions) {
-            if (file_tmp.loaders & loader && (!ver.has_value() || file_tmp.date > ver->date)) {
-                ver = file_tmp;
+    QHash<ModPlatform::ModLoaderType, ModPlatform::IndexedVersion> bestMatch;
+    auto checkVersion = [&bestMatch](const ModPlatform::IndexedVersion& version, const ModPlatform::ModLoaderType& loader) {
+        if (bestMatch.contains(loader)) {
+            auto best = bestMatch.value(loader);
+            if (version.date > best.date) {
+                bestMatch[loader] = version;
             }
+        } else {
+            bestMatch[loader] = version;
         }
-        return ver;
     };
-    for (auto l : instanceLoaders) {
-        auto ver = bestVersion(l);
-        if (ver.has_value()) {
-            return ver;
+    for (auto file_tmp : versions) {
+        auto loaders = ModPlatform::modLoaderTypesToList(file_tmp.loaders);
+        if (loaders.isEmpty()) {
+            checkVersion(file_tmp, ModPlatform::ModLoaderType(0));
+        } else {
+            for (auto loader : loaders) {
+                checkVersion(file_tmp, loader);
+            }
+        }
+    }
+    // edge case: mod has installed for forge but the instance is fabric => fabric version will be prioritizated on update
+    auto currentLoaders = instanceLoaders + ModPlatform::modLoaderTypesToList(modLoaders);
+    currentLoaders.append(ModPlatform::ModLoaderType(0));  // add a fallback in case the versions do not define a loader
+
+    for (auto loader : currentLoaders) {
+        if (bestMatch.contains(loader)) {
+            return bestMatch.value(loader);
         }
     }
-    return bestVersion(modLoaders);
+    return {};
 }
diff --git a/launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp b/launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp
index fd9138ec8..fcabe24fc 100644
--- a/launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp
+++ b/launcher/modplatform/modrinth/ModrinthCheckUpdate.cpp
@@ -8,6 +8,7 @@
 #include "QObjectPtr.h"
 #include "ResourceDownloadTask.h"
 
+#include "modplatform/ModIndex.h"
 #include "modplatform/helpers/HashUtils.h"
 
 #include "tasks/ConcurrentTask.h"
@@ -97,13 +98,9 @@ void ModrinthCheckUpdate::checkVersionsResponse(std::shared_ptr<QByteArray> resp
             // Sometimes a version may have multiple files, one with "forge" and one with "fabric",
             // so we may want to filter it
             QString loader_filter;
-            static auto flags = { ModPlatform::ModLoaderType::NeoForge, ModPlatform::ModLoaderType::Forge,
-                                  ModPlatform::ModLoaderType::Quilt, ModPlatform::ModLoaderType::Fabric };
-            for (auto flag : flags) {
-                if (loader.testFlag(flag)) {
-                    loader_filter = ModPlatform::getModLoaderAsString(flag);
-                    break;
-                }
+            for (auto flag : ModPlatform::modLoaderTypesToList(loader)) {
+                loader_filter = ModPlatform::getModLoaderAsString(flag);
+                break;
             }
 
             // Currently, we rely on a couple heuristics to determine whether an update is actually available or not:
diff --git a/launcher/modplatform/packwiz/Packwiz.cpp b/launcher/modplatform/packwiz/Packwiz.cpp
index 272900f0e..04c8a926e 100644
--- a/launcher/modplatform/packwiz/Packwiz.cpp
+++ b/launcher/modplatform/packwiz/Packwiz.cpp
@@ -186,11 +186,8 @@ void V1::updateModIndex(QDir& index_dir, Mod& mod)
     }
 
     toml::array loaders;
-    for (auto loader : { ModPlatform::NeoForge, ModPlatform::Forge, ModPlatform::Cauldron, ModPlatform::LiteLoader, ModPlatform::Fabric,
-                         ModPlatform::Quilt }) {
-        if (mod.loaders & loader) {
-            loaders.push_back(getModLoaderAsString(loader).toStdString());
-        }
+    for (auto loader : ModPlatform::modLoaderTypesToList(mod.loaders)) {
+        loaders.push_back(getModLoaderAsString(loader).toStdString());
     }
     toml::array mcVersions;
     for (auto version : mod.mcVersions) {

From bbfa5a5ed151d5d7966160f044de89a82550a264 Mon Sep 17 00:00:00 2001
From: Trial97 <alexandru.tripon97@gmail.com>
Date: Mon, 16 Dec 2024 14:51:59 +0200
Subject: [PATCH 169/177] Fix automatically choose mod provider option

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
---
 launcher/modplatform/EnsureMetadataTask.cpp | 17 +++++++++--------
 launcher/modplatform/EnsureMetadataTask.h   |  4 ++--
 launcher/ui/dialogs/ModUpdateDialog.cpp     | 13 ++++++++++---
 3 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/launcher/modplatform/EnsureMetadataTask.cpp b/launcher/modplatform/EnsureMetadataTask.cpp
index 5f04e3c12..fb4a32918 100644
--- a/launcher/modplatform/EnsureMetadataTask.cpp
+++ b/launcher/modplatform/EnsureMetadataTask.cpp
@@ -19,27 +19,28 @@ static ModrinthAPI modrinth_api;
 static FlameAPI flame_api;
 
 EnsureMetadataTask::EnsureMetadataTask(Mod* mod, QDir dir, ModPlatform::ResourceProvider prov)
-    : Task(), m_index_dir(dir), m_provider(prov), m_hashing_task(nullptr), m_current_task(nullptr)
+    : Task(), m_index_dir(dir), m_provider(prov), m_hashingTask(nullptr), m_current_task(nullptr)
 {
-    auto hash_task = createNewHash(mod);
-    if (!hash_task)
+    auto hashTask = createNewHash(mod);
+    if (!hashTask)
         return;
-    connect(hash_task.get(), &Hashing::Hasher::resultsReady, [this, mod](QString hash) { m_mods.insert(hash, mod); });
-    connect(hash_task.get(), &Task::failed, [this, mod] { emitFail(mod, "", RemoveFromList::No); });
-    hash_task->start();
+    connect(hashTask.get(), &Hashing::Hasher::resultsReady, [this, mod](QString hash) { m_mods.insert(hash, mod); });
+    connect(hashTask.get(), &Task::failed, [this, mod] { emitFail(mod, "", RemoveFromList::No); });
+    m_hashingTask = hashTask;
 }
 
 EnsureMetadataTask::EnsureMetadataTask(QList<Mod*>& mods, QDir dir, ModPlatform::ResourceProvider prov)
     : Task(), m_index_dir(dir), m_provider(prov), m_current_task(nullptr)
 {
-    m_hashing_task.reset(new ConcurrentTask("MakeHashesTask", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()));
+    auto hashTask = makeShared<ConcurrentTask>("MakeHashesTask", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt());
+    m_hashingTask = hashTask;
     for (auto* mod : mods) {
         auto hash_task = createNewHash(mod);
         if (!hash_task)
             continue;
         connect(hash_task.get(), &Hashing::Hasher::resultsReady, [this, mod](QString hash) { m_mods.insert(hash, mod); });
         connect(hash_task.get(), &Task::failed, [this, mod] { emitFail(mod, "", RemoveFromList::No); });
-        m_hashing_task->addTask(hash_task);
+        hashTask->addTask(hash_task);
     }
 }
 EnsureMetadataTask::EnsureMetadataTask(QHash<QString, Mod*>& mods, QDir dir, ModPlatform::ResourceProvider prov)
diff --git a/launcher/modplatform/EnsureMetadataTask.h b/launcher/modplatform/EnsureMetadataTask.h
index 631b32ae7..14b75a1a7 100644
--- a/launcher/modplatform/EnsureMetadataTask.h
+++ b/launcher/modplatform/EnsureMetadataTask.h
@@ -20,7 +20,7 @@ class EnsureMetadataTask : public Task {
 
     ~EnsureMetadataTask() = default;
 
-    Task::Ptr getHashingTask() { return m_hashing_task; }
+    Task::Ptr getHashingTask() { return m_hashingTask; }
 
    public slots:
     bool abort() override;
@@ -58,6 +58,6 @@ class EnsureMetadataTask : public Task {
     ModPlatform::ResourceProvider m_provider;
 
     QHash<QString, ModPlatform::IndexedVersion> m_temp_versions;
-    ConcurrentTask::Ptr m_hashing_task;
+    Task::Ptr m_hashingTask;
     Task::Ptr m_current_task;
 };
diff --git a/launcher/ui/dialogs/ModUpdateDialog.cpp b/launcher/ui/dialogs/ModUpdateDialog.cpp
index 4fb6154e1..81f544a90 100644
--- a/launcher/ui/dialogs/ModUpdateDialog.cpp
+++ b/launcher/ui/dialogs/ModUpdateDialog.cpp
@@ -8,6 +8,7 @@
 #include "minecraft/mod/tasks/GetModDependenciesTask.h"
 #include "modplatform/ModIndex.h"
 #include "modplatform/flame/FlameAPI.h"
+#include "tasks/SequentialTask.h"
 #include "ui_ReviewMessageBox.h"
 
 #include "Markdown.h"
@@ -402,9 +403,15 @@ void ModUpdateDialog::onMetadataFailed(Mod* mod, bool try_others, ModPlatform::R
         connect(task.get(), &EnsureMetadataTask::metadataReady, [this](Mod* candidate) { onMetadataEnsured(candidate); });
         connect(task.get(), &EnsureMetadataTask::metadataFailed, [this](Mod* candidate) { onMetadataFailed(candidate, false); });
         connect(task.get(), &EnsureMetadataTask::failed,
-                [this](QString reason) { CustomMessageBox::selectable(this, tr("Error"), reason, QMessageBox::Critical)->exec(); });
-
-        m_second_try_metadata->addTask(task);
+                [this](const QString& reason) { CustomMessageBox::selectable(this, tr("Error"), reason, QMessageBox::Critical)->exec(); });
+        if (task->getHashingTask()) {
+            auto seq = makeShared<SequentialTask>();
+            seq->addTask(task->getHashingTask());
+            seq->addTask(task);
+            m_second_try_metadata->addTask(seq);
+        } else {
+            m_second_try_metadata->addTask(task);
+        }
     } else {
         QString reason{ tr("Couldn't find a valid version on the selected mod provider(s)") };
 

From 6934381c28aaef077dcbe198d2ef26bd1e3c0079 Mon Sep 17 00:00:00 2001
From: windstone-aristotle-yellow <notwindstone@gmail.com>
Date: Mon, 30 Dec 2024 13:18:59 +0300
Subject: [PATCH 170/177] style(lint): remove unnecessary spaces

---
 tests/ResourceModel_test.cpp | 1 -
 1 file changed, 1 deletion(-)

diff --git a/tests/ResourceModel_test.cpp b/tests/ResourceModel_test.cpp
index 6d8c25535..dfe74b2b3 100644
--- a/tests/ResourceModel_test.cpp
+++ b/tests/ResourceModel_test.cpp
@@ -61,7 +61,6 @@ class ResourceModelTest : public QObject {
    private slots:
     void test_abstract_item_model()
     {
-        
     }
 
     void test_search()

From 3cdb7986709272d28f488713bbeed9cea03055e9 Mon Sep 17 00:00:00 2001
From: windstone-aristotle-yellow <notwindstone@gmail.com>
Date: Mon, 30 Dec 2024 13:19:58 +0300
Subject: [PATCH 171/177] style(lint): use clang-format

---
 tests/ResourceModel_test.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/tests/ResourceModel_test.cpp b/tests/ResourceModel_test.cpp
index dfe74b2b3..13618d8c3 100644
--- a/tests/ResourceModel_test.cpp
+++ b/tests/ResourceModel_test.cpp
@@ -59,8 +59,7 @@ class DummyResourceModel : public ResourceModel {
 class ResourceModelTest : public QObject {
     Q_OBJECT
    private slots:
-    void test_abstract_item_model()
-    {
+    void test_abstract_item_model() {
     }
 
     void test_search()

From 97aa15621ece6eb92fc0ee41852eb323db2a8194 Mon Sep 17 00:00:00 2001
From: windstone-aristotle-yellow <notwindstone@gmail.com>
Date: Mon, 30 Dec 2024 13:21:22 +0300
Subject: [PATCH 172/177] style(lint): use clang-format

---
 tests/ResourceModel_test.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/ResourceModel_test.cpp b/tests/ResourceModel_test.cpp
index 13618d8c3..9eeb24d39 100644
--- a/tests/ResourceModel_test.cpp
+++ b/tests/ResourceModel_test.cpp
@@ -59,8 +59,8 @@ class DummyResourceModel : public ResourceModel {
 class ResourceModelTest : public QObject {
     Q_OBJECT
    private slots:
-    void test_abstract_item_model() {
-    }
+    void test_abstract_item_model()
+    {}
 
     void test_search()
     {

From 92940adee32f8f3120abe71bab1c51b4574a2437 Mon Sep 17 00:00:00 2001
From: windstone-aristotle-yellow <notwindstone@gmail.com>
Date: Mon, 30 Dec 2024 13:23:06 +0300
Subject: [PATCH 173/177] chore(garnix): add placeholder variable so that
 function is not empty

---
 tests/ResourceModel_test.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/ResourceModel_test.cpp b/tests/ResourceModel_test.cpp
index 9eeb24d39..69ea6b016 100644
--- a/tests/ResourceModel_test.cpp
+++ b/tests/ResourceModel_test.cpp
@@ -60,7 +60,9 @@ class ResourceModelTest : public QObject {
     Q_OBJECT
    private slots:
     void test_abstract_item_model()
-    {}
+    {
+        int placeholder = 1;
+    }
 
     void test_search()
     {

From 4498660b0e9d68ef372c2738b7e2af032b774fd3 Mon Sep 17 00:00:00 2001
From: windstone-aristotle-yellow <notwindstone@gmail.com>
Date: Mon, 30 Dec 2024 13:27:00 +0300
Subject: [PATCH 174/177] style(lint): use clang-format

---
 tests/ResourceModel_test.cpp | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/tests/ResourceModel_test.cpp b/tests/ResourceModel_test.cpp
index 69ea6b016..4df8c32f5 100644
--- a/tests/ResourceModel_test.cpp
+++ b/tests/ResourceModel_test.cpp
@@ -59,10 +59,7 @@ class DummyResourceModel : public ResourceModel {
 class ResourceModelTest : public QObject {
     Q_OBJECT
    private slots:
-    void test_abstract_item_model()
-    {
-        int placeholder = 1;
-    }
+    void test_abstract_item_model() { int placeholder = 1; }
 
     void test_search()
     {

From 225c9a592bc129c473950ba8f2e24aa152c79ebc Mon Sep 17 00:00:00 2001
From: windstone-aristotle-yellow <notwindstone@gmail.com>
Date: Mon, 30 Dec 2024 14:09:02 +0300
Subject: [PATCH 175/177] feat: add new cat pack (miside screenshot)

---
 launcher/Application.cpp                      |   1 +
 .../resources/backgrounds/backgrounds.qrc     |   1 +
 .../backgrounds/miside-screenshot.png         | Bin 0 -> 1038696 bytes
 launcher/ui/themes/ThemeManager.cpp           |   1 +
 4 files changed, 3 insertions(+)
 create mode 100644 launcher/resources/backgrounds/miside-screenshot.png

diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 5da81d436..b78f801f4 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -562,6 +562,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv)
         m_settings->registerSetting("IconTheme", QString("fluent_dark"));
         m_settings->registerSetting("ApplicationTheme", QString("freesm"));
         m_settings->registerSetting("BackgroundCat", QString("typescript"));
+        m_settings->registerSetting("BackgroundCat", QString("miside-screenshot"));
 
         // Remembered state
         m_settings->registerSetting("LastUsedGroupForNewInstance", QString());
diff --git a/launcher/resources/backgrounds/backgrounds.qrc b/launcher/resources/backgrounds/backgrounds.qrc
index c74aa81eb..35116aa27 100644
--- a/launcher/resources/backgrounds/backgrounds.qrc
+++ b/launcher/resources/backgrounds/backgrounds.qrc
@@ -1,6 +1,7 @@
 <!DOCTYPE RCC>
 <RCC version="1.0">
     <qresource prefix="/backgrounds">
+        <file alias="miside-screenshot">miside-screenshot.png</file>
         <file alias="typescript">typescript.png</file>
         <file alias="kitteh">kitteh.png</file>
         <file alias="kitteh-xmas">kitteh-xmas.png</file>
diff --git a/launcher/resources/backgrounds/miside-screenshot.png b/launcher/resources/backgrounds/miside-screenshot.png
new file mode 100644
index 0000000000000000000000000000000000000000..604899c8b5b32d30ebda56922809bef3e3a0ec1c
GIT binary patch
literal 1038696
zcmV)(K#RYLP)<h;3K|Lk000e1NJLTq00)2o00cM)0ssI2XR%fk00001b5ch_0Itp)
z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D|D{PpK~#8Nl>O<J
zBuTDriG`05k#*``l0Vpe*%P~0^Zg%=tjdh=i5u9WpTR`U^7P%S3i$~HfDAgAnz@Dh
z!;jbh>09&l^%V;b4-eW2p2x?>?k^II`1trR02JqVNXqBuXPVfE8fFZwz&<}eCnjRr
zU^DR>_!YA_7|g7y#DQHmndw*sJUu-r!m4#tQ#g<w(<eCHH)AUK>uc^<M4D!WG+$m`
z6q0zMIl*J1TH?1$0cz$sgTbyi5o&GrCl$0=9potBLDRc|pK+rNo?EI%Y;NaaU_KUs
z2uQU|Mp6eoMfM>@@KD_O(@YpmG}lYw4Vd$fb3!f<LnKWCXnsCaWpf|OUC@QEsy)=`
z&yNqB_K#2H-<A{1+NfHebxAUiO@p04bzWD)(|K#=3N01XaVppcY|^LDCemg+nUZjx
zGa0Zqk)Pj~>ci&;0};&;c_}AhPYzKrR-h!-EQ`+}Na^@B2b~ilB~8T^Y_n@zz+-$D
zxKIh-*1p9mvTvJZrU`??c~t>Bn<2r#da(q!31BY*i?*qq0*sNVCl)j-xi~W}HocHz
zft4*xqNniK>3Mjl>-`M9SW_k+A8$)tli<$2OlIPsu4saDsUs_P3e#cJm39=-irS5e
z_WDI*15M7K>OHb_qIHT+IS-`G@e(z57C*;tkh0Z*HIv8793HB`g-cofKZcl4XQ@MX
z?S=l%u0%aH(GeZB{NJB1uczrkc#dJw@#FcZ`_Dc!I_o{zM@z-??W3ALU$Fx-80aeh
zLAtOWVg(jW<&Ur1<N8u%H7wZWJZ*|P=gBOhFrZ2tA{J((LhkvYE3I_qvjwC}>`hGO
zxrKTEJoEVNY8t7tr3a4rAu0g-)fp!8>WmP3xA|zneU{n9F~O#SHX`XanJJzF?Y<NN
zbcT!2U){~riNP6vWsaHHTq_#6U<x+JakJ+-VR?_>Nzw(Kc*WKXX(mw}|L3<oQIX?i
zR&u$H2r$O04}Csq!I<ql)Crk`MFbDl0GN84k5o=)$?`S{OP4m!=Qc&1Qfixyt8)s^
zbDBniT{-_ZQpd0e607?VX=a{hwhFPcLh3v|Ufx&gMCcKlLNn>oAuHEroKmj<9k6Yb
zr^G4v>)yJ~`(`Pvbu0+zoDUf>LS{OcrJaI+M2fmQZ{X>Qzy_K#aoWriW?8ee6W_nj
zNT7LMugp5r&cksvZa+=Xi~U;9(q-NLhsTQS0!N*Xva`<Dw>sk6e6+w@F$GvbA#tXe
zd5Svz1Y;HRJemHPTZImB?{#oi#wy_6{_9bQ&D;k>jg?f6mF~P6SCTu61morR@84_@
zus{y!3g7@fKQX1e4FnUvKHZ}Aeg|DuO00)5EuIzM#IKdkD^~kJPv;eSoPf*}v@zO{
z&#yM_9mg!tCRlKuCzH*e(dRrT|LOf|&VO6WY&t{iHr0Fe-{0RA7TGG_WE)~ynMJmO
z33FX@&_qrVeRKX)OTfn5=NY3W(V0Y?_gR76JTkQv1i#JL**xPst%i-bcYcOhu*UEM
z=nN)k3Z-bE`Rms&V_3Nu&qf=NNUax!&I$Fc0~QJNlEMm&G(86<9-GuRE0Yle)cS3v
zEP~uLiRpSPCF1SvO#!pMCl-mDCEi>t%r2ZY#inaq_6?Ycq-hFv68{8`A2hFaWAm@S
z{z6z&q4l^V3@g;H<YTd!YSuf!lN+C5K_{qV*`Jl%Yh3EM-2($LC^k(42sR!|sp+Jd
z6xM4Z9#8|?3Fy?~asJlvd;lurya~P7syH?W52M@V#K3?!DUL-0P7{F`my9;c7^o@-
zG&{UbVCSjF51>2z+f!{rfggj%51n~+CFT9&H+Su7_MqUnKqTjn15sIQzCOQ@D>_Lh
zK7w=$R^3D3-z*OVq?o9kO_|#HAW|QVCqGa@L+0u9@DmIMl&X{Bk;jYAPj=+-<>fo2
zh<tkSdS4@UN`<E&BCCcUKYkb{S!O0CMB2nozu++)NEDmiZ^7Y&=JWIG=C|pMp2U+~
z#|5j9Xwwx~{n*SzGEiVEuvMZVW~O*tj1-$4TVfWRU1AZ$_PStKhpghg2Zc>z5D7@r
z3ZCTS6055$SZ7w)?0@{nAL<DnS?vQnzFshv!(okNAewq&fnB9{<saa2x52QkQDGL0
zGvf92)wR&XM&|=Hnz2B<kzx_DzyO?6uz@y>)I!c%Fdc#4bxo2eb06?CpA?C$w7!pZ
z52s)`0S^Jy+3DWJtb@Sb#M}+Du+U{zI${O@8vF5k{XoKA1=jg@&#I<={rNp%fu{Re
z`_<so))6}}vfuNr*Y_Mvu-E%Qnpg$(IRvbNnNZm&A)a2Y?lX!muqu#9Bm!%Ccdp)G
z?is6@YdRK>mS(V-Hxe5>XD&4$o*}SS4s^})N76J`@F<8^Y`i>O_J<8j9as_9yu8%?
z3Xz$3#-d627$09kO{)v)6r0(f_Fcr&(~aW`TVyP(h$Fs&jsX2Zzg-Hcgb_S9fq7!_
zY%zH~O1eCa_Yryw=%k{zq_F9cone)8=Xe?4c}0rYRa3bJzcv^Q^FC}HY<2XB#((QS
zqr&&^-?4;k)+}_O31-=x^K@NZ`|7N|nnPns?!y~-egm>hSJS(SHjd(ThnT(So7Ww%
zKL%KkB3SA(uDO!KmkEH8!njyHvEaH)$EFT8k%8vD`^LO|iP~we{Kh73b%OQJ^Ev40
zkX0(n)Nd0Tzpp2qUAV4bom7L0?)WXz<FXoKCWMjYhylO*X>h<3GM0klTf-kv1dHF-
z9dlCzo7bHU6RjXN?X`l~w7%$+WGPYy(b<cfCy36wK(N*<@O}<>xb95sGD~2eAJ_X$
zIDX<?BYu9?`S$hASA<ohI=@cWV}B3meE!(vok+zrI>qyunpRHz?fSx_aJ|GN81SI6
zcEwI%k#O&IF!eX<=Nl9KTiIYQ)k05yU5{dncptW!k%}3!LD#lv!1+&;Y9F5;{UxOO
z^qK!*I5gV_(9G)Fmv7bAh}P+GE5Ih!UYPrqLBY=-5Q((ch1(P~o_Rk{3d~?Vfb+cn
zQcJi+?gKW#g6{K~89BLE-wiyI<0xuu);park2^R?ES}ne1BS!Wl@n>hUO-RlJiEpP
zJad1rg1#9K`VGq*@K}cc>?YLHo{8UTmJN6qs|sC%KgZFqh&j*D{THT(i((Z$Hd$8p
ziFx0i+&e#=56qhAhyTa_?f=sQ)u?k|7UrZk9N5U2GEZp2mbyMsrl!lp6v5)uPUylW
zYYObW8>sV1<r=B6KDpZ&OjqX>G-H4K_+jD%|L@<w4UkR4wpcNJo7L*O#;h$Jw)G~R
z^;(UxsSLT`(Np-shS=sweCJh+0?>Z2a)vs_Y~#{3D+nIvZ?4#68pdyR?mcMAtUxfr
zHwI@sABeHI77z6;GU<$kVOq!=4@fCIWT7{~X68D=$r{A~?1VZg1&BZ|b<9oIYCf+U
zA3XMZE}VGY-``02{Hopa8_>@$^)Xy!-nxDf_z?z#kGFRRf~wx&_W^5zE^j~<?81u-
zy^*pG0XAnkVM~2|Z4ctmWxoCK#~-HXaXG~!!H=IGc&NhL;d<_5XWl>S2O+qO>a0q1
z0?vdv+XU9t<L{WRNE6645iEkmkH8YS?T_b4r>+?7@84HHGXR^UD<;Ihz3p!xDUQ9j
z|BepMC$r)_$F8~!P2zLCgTdCBFFXV<b$#E+{PE{LX0!VXj;}RSUpn?GSPxxjD?_%O
z{iKTuQrALP;{-?rP-E|XpzzmU|Hhu78kSrJ?Me&xITZxG-6zEg*opD(zaEBA;ECQ6
z{Q-{?Fb0j_`ZZvKeV(OqdN@zSW*sig;QbRPHqhK&r*tY-<^fJD2PgrP-|y@EVYXb#
z7@JHuxs;xD)Ej2qgm{icDyYR=FbuefnpN`|*L8voQ`7tF{kM7}uRGQOn+&cqb^IBk
zuY>0gpozp1(7p?OetlZjdkY%R_6_I=ju*Yw?9|fu=XDJRNN4YG{?J8Ou<7x#Z0Z9k
zU2JDNe}eJmrWzji0eTjN&3Qdewsi%s7t-Cjkop^MZ~O7(bac3yThD@Yn{aPksZUHS
z{Qf=8|1l-c2SCSyUpRn{D%80TTO_4&AYf{*M`HpWx~h6ln7xhPqaem~nXk9wgO%<n
zjL-QGwXmKKej*jx;Cg4BNmUu>F?cSDX6`dK1)a4_=sJG`TK@g-dR;I^8?qMn1dS)x
zU@(St)yxi@Eq;ICtv0gz3$#p~u_T&->@`>Lcs&ALv-jq69dO=SmKdyMO#zDpJe6~-
zUG#W8T57XfDVsnSSVRpeNPt4JpIZ^{OG0z0dY%1g0GhJcG@~J<jG5rX>aUsg+|uN<
zGJpyR2G9Rq)4~+P9B$4(#|5nbG>HguCwP1v1d60uCtXztH_v~_^@3JN?lU(b*cD}6
z&fl3h8K>c_bWY*%nnkQL!%_{8_XlGp^x~ufuto(Q@Bijr(Iu%|eEETOol$HLoe%vM
z%L-&;pB``D&%ZrfRtjo(dc6I?O|A>DKH$kbEuzJ<-JeOZNiP<?k@Mg5z;okL*W5hr
z8R$$Vuvy8>L*_HX!242d+4T<$&i5q~k7H3y$kuuOlgo*r*8ltC?dkD}(b1fG1nB3u
z5Ob7W_adrMqXs+nO-szZ=ZATp0po%BSH-dUHkn(GxQKSu2yM9c{Lsa&B7th&XI6XQ
z`F6%4Td8y9VDa-1+dhQUpWxZ*=nVKhvN_xaboS-cGO`j*1tT`RZv=}#P9*tH$KC3L
zdEQz<D7e%uQanSPj~7lX^=H{=>l3rpnZal171I$U+O?6-VQhl>-g%XMU=C9}ygdDn
zHDC`3it0EX;A+-~!2ZpJM+#!It{mNEE_H6+;3T<$=Dme+;H|vjD#QwM@5X05i8jN0
zpr3;IC}I^>!2ZpFpPDXgcD|}KnZE(S7mO}>g}HQ@E=H;eFb0d?{Wljp&ms~JXgtAq
z1(p*r0f^{%VNAdEVHSa$51U^|cP3hxPBigU286lMK$A!;7%yngt2hk?<4vDs^Mi*i
z#TOWy`q5ONxGw-SEn<Mp&Mx9KARaIP=6+gg>El;$!2A^)OrgYMPowj`zFj_=QA}%b
ztXrxD9>~x(4R$QV2ED;tvFQsfSWW0M*P6sA@Yrjv*!=nPr@}-~n~pHJdrJTH`!7m8
zeB<cU!{Y1f51ItO{_s99r@a;kJ&Ox?s>rdHSnz&w?jl9I2`7oz$a*F9fByW3@m*kH
zv->ZR3Llh1;`5-n#XBxq(sb44ip_cdCoFcW18E{)E0y}a!I#sCUQ(zw(b=gtFwr_-
zGslH=E<>yp-rq0R9brpdfAedO_56GpeOm7usSv^bBz@NLJ}FK{>|Kq<W?t89Vr{xE
zwL<&-`}eFJVLDw;50~>c0_z6~#LN?tM4IXi{h4_VN?uP>L}poqmLaef0W~%cD4<7?
zZ|oMwH=uz!31dzMW0?=V?JhPA?vfTbj#vYzU=cj|!LuH$&DZe_*+4TV7~nCbJic+g
z22aNAVvCNv)Y0Py(AM+==mdb*_4Ek)NlImQE|wYALG17628RIZ91|$erg)y8@pze%
zB8Yp>hnWmD1I_v1PIIX)C9|pSGM73w&*K`O``*Sp-zHoyOI^?B-Ulw+S`?X~A6Z)e
z{3|#-j-V&75Yu6b=jW>*_<?#mE_f8aK{ZD7Gn`F}fX!KFPU+qc<hZ_8{x#XpD%z-D
zjyKFHu5i793fS}posfBM0ni2Zby1%#gXhrMA3YG=d3zlm8fLEo>-`gf4K#h;6Pn;D
zs$UOS1a!_WpvminG3eRr{9#T8h(SXpkDUQ9OX+uRSOskJ1e^c<_rDcMRO`e-is11+
zoXJGfW&9=xP*?r|P4AOp1+}k7h)N!U^U&O0(^?(=`MQR4sd`<m`$p2Csvq}rBd3+_
zxq!zCS~>h{Tq8l9g&>$)udF=mn_<u^SkuUQ!`6fp0rt&AD`-i{>-7eS+F%_L4FH-;
z9X}vB!zd<h<hrOO9q1v80Ieb(r{R16?S00qK=a=Hfl;bxpD?RR*YUg}V6!hz>-?d~
zOF{c<XWG+eZ-25}qVDq#?{Al@Y})m2Psc&T;y3;b(<2d_o)&+O7Zs++7Zj$2gl){%
zuLOg$I+Obh1+A$)KmW_DIsH>Z!p`qU0v_mX8~b+pfG?#G;--oFhQRs$!9)LL+aK3I
znWOmS+3)kCf{)?Wl+f?*YrRG${^t2l`rMxc3r#(QrP;$>unRoTjh|xP$0j-djZ7U-
zPY>LCPMh<|ps=Nf86!rr?KTZa7`<og0`+tzajWAz6W_iP^E^o~u-+;<>H|9aY;Z(g
zcUXwnyf<#1e<WQTuV{$A_gu=k>N6t)fdYT(RNnzj*2SzUvx#QH1f+rja{kOLpsSYG
zWU)Zvinu2Chd?m)-uXF?3u7&X-o61XG#wbB6|@gt8~7bKVX;;_cUhm@+M8o{0O!PD
zu+EvJm=5aHPgeyUtmMY#wsDE~L0sZQ5T9J_*2GR+BLbWC>c@8W!sgsJYy{RsP{b<c
zW(q05gzL~Yi3j2XO}e&to8I6M2|$4RV<|<u*9o`9V;%hrev7QB9IHUkYXwjnkI3|r
z!i9|`z^2&5s^i3(j>e`M%=3ZfQpbfi(-E-|E|WpghFRQ1g!3^*Y|a?1;M5P4vOfNA
zPwN4Trr&@*=-&Pv&=3AIqW<S&i0)k{p%!v{Wfi9;C7PV@#?!=Z)f70-uy3SWN6>g?
zq8dv)mR>;P#M<<QQ@>V0JO$BJ<v7;GQx*LBq?ad;7ry{Y<gYg$$X11>MxkpZ9*erF
zb}YHV8y13{^U17)rr30!Ej391dJ5hkb${V}#KoTZ{rmC*Gf=~PU=1{R;Y3hvg1<KH
zh__B9e0}}#NBv3)(XTa&fa(}xdmzw{&E5u@;QmmJ7_DseLCyS46zbqa5HFp*7KnIy
zy1W6Sxl}*slckPmF5^y{b)|^H`A@8t2V%n_h*wCo*NaUn*kl#mU(9*x$3sD^up96F
zD<iBk$qx?ga^KMR9;Do7^&}6n+Yqz(?Anf(;AcM*rqKV_@5`_JdVaiogNf@7+u`d2
zXqgXob6obvA`?8sWH>MwPd)&G>HmD&-$>g`eIwBxi1`iZ6a;joH7NpbZ~G4(c*ARa
z>Em}m+k|{m@(fe5vU`O_d|kHc3ePtLk$_gr>vyu9|61_%5#o`Y&&&$cuw5^B6nVWs
zJ0J1<w20uulbzp~AGlCwsrwJgpT~2{1W(qrF^~AFKR)93S8(88g~sc?tdy~zdgA}<
zuR8z9612?Mohi02OvJKL2rF0$@aQ)z(BwMWifglPq;u>n0`_LO*xz^F=q7%G$N4};
z7x!m#f*z(pdM)YLBI2>eD75njjk8*QKxh${M)TvVu4@7|dvE_qMB6mjrsuhSJ(93s
zlk+?QV)Nd0=XzmI9_&@53FxkOxgOnlgaI()Isd7NFu*Q!!~~D83-r$U;Nf~)K?mn_
z=OfOF^gtch_7f{~b>3PR*u+mSVzYh&+C)Kzcs4(nbrxyL{1<7ni1Y9AwM7bW-`3O{
z3Ibi7w~C}W>j0%};wNjBXsna-XT$TkH~0c|NHL(xUxxng{RTAF2{;oi{+uV;2m-J@
zi>o^N5y7VOId{$T5F2Rf*DB!iz4l=>d&-Q6yVUWs1b@pjZS3pI<zFgH``CYDCW{sH
zy>CE+(_mt`ULfyhr-k`^qR<kMW(3yPFM6#o1@;WH#il|;UI%9)dV3Dkg6CTe)@0k~
z^DwCG(gWEv{3ePXEdiFD;Ng760s&~Ln#VgnHrZdq;XvQM)?4-FqA6y)!)ak&M}#dk
z0)oA{@5Pg*%p$;S6^T*Ydk*=V>)Og&{jC|Me@^cn#+<A9oR*;@wwl}OB=MmCY_nb?
zV;wiuA~-7)5GUmQ!mI=C8+bZtfpM|MD71M$CDDwP;S}0?KfufDex3Tq-2?wDr~q_6
zpNwDOdQ(9Gob(;Fz@s35A;_BGxp!X8_gRoSWGOZ>ZWf|=czXDM+Hkyy{s|r@#CR@A
zi{~CW5v`w5$T~x$7oK{GK<*SdkXxk9SV8B+3OKRz#MMgXvyqKPD*#O$%K|Z3uf0&`
z!f`g>M0e`yRbZ{J1}gwJGIdv7(46y}^)ms^fSyi4(-<s?fY4)|6?YsmJkVu!JP~`e
ztEJ@yCLZB}S((@SgIE#QDb5G6SyHgUB8c-1T0b?hRdImF`lbs_*v<z9<bu>$3$D_i
z-(N02sIUv+>aaQy90iBKnrdWc6jf}j4v!YUrLgIR=kJ#fs-Ehjn8iA<{fj1^AM5qr
zU%_D{)}ghEuD52Q!16%0DqbJ2?M4PTu@;OFn#_d&D}ZOCbqF9hm_nESDt*if%)(<e
ztgt|HZ6b{M^;RzowCX2|JpMh_VdWrx|LJ*BHCsTH<$j{4Ixbx|j=N&+1I^g&KA@d3
z8@W$v1<grhfFqvAJ;IiFdAXX8pyvyQ9^t{Uhq@dZo7N{XU5W3Kg_F@wnBt5Ts%WE=
z>(nB3lJ?1(1)2hms|FKcYOqeyZL*(Odd&qiz1y$g0GrzbbU6P?6LEh?oHLXj{|X`*
z+TJV*tG~(}<7$Boi6$6p)BCC<0I25L(TGcWe|!lR(JGt<x+ZjJnUzyhfmO@=0i@WZ
z3o)@P6N^=xAIOY<d|n^uz<L`vDzB#hY5%<k^qg-_K1=Zavq7)xLT@Ybj}UfLp*8?J
z!2?gPm)DUggeGHUGVt@~A6Pu5gMWl@oo}7pfd%^f#!tcg*=i3f0*j{X)62TgOz?1j
za~c*=)1}9l3G>nE5JEG@cP^?D8pD#J$F3E6Ou#xeiBA9`iPq5)uXBQDdr%HcZ>eio
z6?Wwx;K}{}CdSBDOP4=?1qWmaXT1M|0SRM$om5cMvS7_Qu6UjRT@zApVrLPU=l}F`
zy{yc}O}28vQc%5N{PS_Y>Wq~F6jan~8k^3?6f0<RJ!%E*eI6{5(}w$`Vq?}3wfBuo
zqkD?a@n?!B&VMxqPJ=G81dWGydTGW=_5n-;{Ay#2x4GRX6Ep8`=4!K_)i;KKnq0#i
zKy9^%kPqmoK+}L|NfAIZ#2ij-3ZNCT(vHbMnw?$DYV&%exzzETX=1F<tG#B`U#(-K
za-K+rp4ST)gJqyfZX8bh7gPpQWG+FblgPR7Sn1j~Fn87g_GhJa5$h0~`^*LbSaaum
z?s2b<Sy+pt)V<^4xM%R22(_@Ij`ufpoZ#^i$}TnTheD)+T*XHHt@fin4;+H${oN0O
z>vfr?zl#I$``4Y<h5qNLE)W~OecfFzc8xc-F3+(wp8@My6;E`%wFznZ`beV9h<p2=
z#4RPy8yn~QbGz4hq9@=<o%1}=vTxmKGLZWoxOHGNS$HV>@l}6~@Ug%3+~Se<0@?Pb
z$9n&WZqMZ|_wjLce7kTBJ<oqf2?mH=UFUcpAK=OU&mzgPX`=Stb4c#<6DrJ7T5*AA
z{(JrR?gMiyNOOB#rYshJuItzd=@UKJDlzT@c<#;9-iS1P-9M9gT0BE|J)W8G%bc5d
zd^6{Wdp`(Q6X40O1+U)(BqiqqF$yrg^X}H!@caQ*DmI<}ndztOQrG$>)STks|NdY9
zPa7K@v;3J2WZ-R7PavJx2rOAz>!`Pl(*j-5Q+UHwPk4htip+V^mEi0?o_RyuM4Et>
z?S*`)W4(Zm71Eta=7V!P@Li)IW;O+n7eL2edeQ!*H(e3AkP@k_;d>_HeNYHsMZj7V
zcwE<t=;B)EuTyMpCpyk)Eh`n&KT$D#<9uP@RHT#@AWdgZ)76opHCF+~V@(fuaz1EH
zN6!z|10EBp23C;SYZF0?eylrRq1R<i5t{U_Mq@n88=Q%2rH_>bG<hhZ*Tm=Nen9a{
z(fyZvKR(}x0gC|6r8-M1%skCrYk|iKV6Nk0(<CfevA~fsEa_NMd=MdEvz`xVDtMIj
zdtIbLRXjHByu%1idD1EKjn|H+@2{^vh^(&u+g{Y@aH;y<PizNL7z+zokzF(m&_-CK
zCegT9M2=%3ZDuWy)#1-@iZs1{B4Q;UxL7JUZsG;)1Kbu*6PSQA(W5ZSbZ|cLD5lMQ
z-t^#ol|$pf6~c0SGc;HMbjISzK%`>>O~cg0RH1Gv#3Bg%h%??Fs^S0-DcXsVSOsKO
zE242?LYMKN*18W6k4;HaktUIjXqF3~&1fw%;i_>HuqBQUtT*~1stSUZj81MWm?eZQ
z#eVh=NX!LF*-T<hV(icRd_yvpa8=|Yc^<g@3X}=gh5k8t$oYwOjj+Z(R^cQePQwBo
zV$v%%^G`Sp(@LkV6=hc2H_NK4KVV<?$*X-WKX3eqK~D=5<j7hUQFZ!?cprNUcnC(Y
zcC29*QDC~>!Y=S;d*<o*C(Ik9(2Jc1*JhP#^a$%Rl3Zqjr!&?!u<X)y_@YCuPD0j&
zbpoQEp2<4WM=1sN-Wx6U0Xu{Jj+Nu)S8$+#Ue;n{uz9YdV5ar|K|Alx2S{WGCP%5O
zI&${g^t$L-ENpTxDxqU?s@OCPXllXxyc!a~tgsfb4z@#zq=V_6Z+am5cVAz|U=?C>
z!*S20^n+oU)%o=+O)LR6r=ZIwRsos6hXWiDYuLuzjj1!A4d2k3J4Lk1fjF_w1k~8`
z{>YCX^}EXu9lm;<ydKx3RTx76iOJ1*>jW|%FcDG&xbGQ51%%k_q#d7gR`OVvHtDg{
z>A(UHIJ(zkhc9eqAr(5Ht83Kc0go{rmu>Pe?@QPObmxuv=lt0$m<SeehThM&NW{F3
zB4C@3bk8MBp`9O~Oy)|b271W_cNp-v&*=i2u+kcvXMebNUC_1EH5qG)?kSkLlW$u^
z{`&QABRMtJe>?u?cmGA;I@>q=wTE-Po*Odfmh(JT!31oM`IJBB7|i<E%Dl!3iJv0-
zzmb7pR&YLN=J}9B@cqbE3b+rXY@kVfCzeG4&0LRIQP2AxbWg$agNcHsLcz=P;b*L-
zW<pPm^tmn{w-<k&|0|*E#7<_w7GoFJ*H#4Z<oy~X01^|b?)|?Zk@L#Ll=8ZuIg5i~
zXIwrceoOp&&RIR{8cXZ*0QAlmX&MO$j%fD<JRhGQ<JX&A(Rn-6U+S2fmg~-fn^knZ
z3wEu>0Kd=YqDON6Pw>q7OdPkzzhGCe!mOj7LRS8P9=l)$$B$EN-kWF6H%Ku2Ux~k(
z!|U^ZTk3l1xdJ!q3ssuQs`VXpr{Ka?2YWM7D$G*%9;}&94bY%%;?E6&f?eqXe&eT@
zFI0L&y)s9&xuG-Ob?L#TYp$1ctwL;`>!*}W<{1qJBk}=OFwAwKCwQ#ya9D+U1r3Ot
z7ZT`HkcBW^XwDZB!>|!pkCYY&!x}R&-RZ@~4`wBIy<i-b2}>j*6$Gcj8~Ag)Y{qZ3
zSTP{lrW0V4B;o-yPU;(MFCLp%J#ogbQ-~2CP>7tt_#gWlZN|)B!BKx^uYUVg|7o)R
zXQcjCGMdC!^VlLRo?O=kXu%t_=pkOBds1swu%gGIC-UA6IuE{(B6!XpM5^gR#|kNi
zp`DCQD)E1s^n8BQZ-VwWFmO;l*FU4X+!o2;|H;+TtTG1`)i@u7)~*B~yf4j3%6#B}
z1Y{sZn(iB66FiQ4W~(Fk&C*VC-_V`|NT-z5XnI@_TkyP&^lN+k%c44@ps6t4!zXbf
zW|$QMO)zX)p`f4%i^r^+bl#e<0y|$XCNpNUOamM)Q$l0c)Q{c3-m7nJh$j!S*gzA%
zVKzIdZc5wn#VR;nP5_OK_IDr>gB7*Mmw=EJB}UZvi9v%x``Q1Fweqhq7f2MF)T$B<
zipbR%MJPJ9`VtRSp_y+ay6{D;B1f-HCZJQlVQBs0pzedvB*0^2%G2>XWH-#6;M9^x
zku<q&yBlafYPVNU?yIQ~kwc6yi$S0J4NO(J#zcrV%s;Y+z>0d?&+2IL{=PooxVb<A
zHahR(S7V8%0-#;5P3vf3ro?8uu&x~~Q{Tj+mHME*cb(>SGb4WW2xLM3V#$S*cP$1?
z;hY6+vwJTw*a+qm9UH6zv#ec-RLm`nz~(t~C1-WxKtQy?h(wBAnMOxluoo+F20dcB
zb%dt74K~kMB&Bk^B>t>ObY_%kMZKaA@KC36df}XVSeszhwiTI=>4Dr#iKYUN*PWyY
z#6O*|owwEjra{x-n$3}=ABa)Nuj8K>GY35cpi>6{U8z9#I8}tE@f%qnRK;T^se@;(
z7ZRCifRUn(RRH^mHN6Kc(AFWWr(dAy(k8_)v?4P{Z`6=uH?*s7OhB7D(EV$krc|Lr
zQ0MHAhxA!W><u=z^Gyrcp9vn<YlX>nTmoI@k|;J|MI3V$_vehg$w~$0AE($nr$}BO
z4M>>#3Gpaun8um6tsVIIy!=bSwyVNhe*?Pi^vBTC`YRAi95DZQrpSCYJT76Cz4f|d
zlYkAKIj_ze-g!GL96Kv0^ot%zDTUDd`|Fpc`#iyKZi;Lk*gR>PZXGH+id|?n;qBw|
zvH#3NMI7IQW|H*kaDPhoNs=!vZ1wLQFZ~3FPM|&&V0B!-F38kded4vQ=!^kptTP8v
z+>4((HtlvEhI{jwuSZr;Z~Fu1W|)Z+JgE~q1yrrkdvE^E)0!zhnMJndwCB&|#QRlP
zr`i97eS=KqJgeZktSRd0nd!N2z~7V&v(9AO|4p39`8)?j-~9l3{*#tj)G<OfGy~WS
zDO-aLve8|pP_v=YfhO@QbKFA>+kyely%UaJb7v8lCn8t}(5x}bw2P+N_+%mI!UFXJ
zP192lA;z0)q}mf@1&!S84QE8=Z;_M|V&<TrQyXZKh$Z(P^iJ}Cn+j(eNVmSz6T9Ym
zGgUn3_$%(f^OJN7hQw<Hoe%ypqBw3(WRd1dzTP@|9l~+bWs2yb*DyS4peZCWG)EK7
z!~N^)D>~^40u(8T#-cgBsQ?epYv0iG8_;fW{Q^;5EbH69{@b#veV*W?0%g5$$aQqD
zJLg>aM{WdJ3eee67a^uwipmzZi^y8ZK^5v9u<NF!cY-HB@wR#BS`;Jx{{8m&@cQeo
z_t)1SEU*^y>|V`M>zu?7RDjG!rvX_Dmi;jx;KZ6(IS1yRp{w&2wFM(L0t^;65SWYt
zR^OPsq=;f#k8iLVel0PQ`20jSR@{F);Qn-8VE`hNi4$fK{M&q1M`Pl~>N`Q#D$!(J
z&P}W!nX_Gx#5fgN7Sg_AW*KiHR;{2H3vL2U{N6til{|(pU8V*DCY@T?%qBzT&k2LZ
z8kPqpdt?1We@i!N#w9)A)bIJP4m4Sp(;%2!v=zSkyFy)~(1~SY=7NdX8e^_^oIIpR
zRq0j*m%pkRpeHG!j>p%LG^gN3fu%gw$uLP50!~{@0U|d>=PIs+m3*Lo9v40S4(PQT
zmjk;>)#?Y^tfm!?%2L;}^?rg=i$}|wvkE;t5gsF(qNX|(fSEWMEM17TgyR}COQ$+?
zR6*8Kht^tIx^vZ^xoAAw8-v6f85`kiZACOaLZK6ZO+d$9Du~~JHgf(E!cdt<K$@(m
za*s1#(CnW9f=9u1hfR^xAxlA|=pg`Y*Cgk^y_*$hVjYyj1)Q+$vxx|=YjP$2X%%YE
zL+}vW3;Kz%h|bav>vTe6)m*vTeMu2}#>6wpn&4pwr?=UAtjw{QHp!ASweF|6ZUv-Q
zI%Bb1BS0~aixmV-0MnSPzClv{=3iL0`!X5oEOju$fJBZai<;}w5~cvBM9h{e?my@^
zct&m*87t@v;oTmO8lhHz@g@eBfFFS+euBqY1w0cgSi}n21jkZmHU&M;69nk@y0baS
z`?Y`*yFGVFdSz<ghgQX76s=jN2RyDT=mZmGYT{?pcx=XP_k|QhsI~6H2L8N{-e8}t
zzyzRWl|tM5{_&eV%o%e1>>*WuUU!b@FXaH6J&^@X@8@c;kV21<Ih}I4g26Dg7!b_e
zM4A)!trD(_gZE+m)8_mPHs^V}39{ta=PKns-@}5ja4-JeH--Q8?|*-Ma_ktZXI?+u
ze`ZnaKZiBnfcEx+A80aAB@dBz>uA?#(-T8oaZTnKe*}<j1;AOWYV>R(SrLGq`;Ziv
zVP`)U^kYH4o?zE%G=_Ed)ijnGDGE@VGQp3%cO2<TZY*r~vG^5T_;Ox}0UIgHA;5<1
z`6@QhBn)A^B26(&y9v*$pcCdxkEnBoY@|*q$i4kcedCk0#pAcDE{ZV?1sHD_B;ek-
z_wKh3|MAEFR{uHX5wRs?;JE;UwQP_c$brY73)l*&^VeU082}1x7KTV2@PxAtc)H*T
z`lDy=)QJIgrHy9}h<`R=l^C<d&f-9mc%}!`RN!GB5}*(tlno1ddd$l}TKBUu57O&A
zO%FElOEkiC<|8(#Uugs5Wx0;BKw`RLffry4T3l$(2Z%Y<+|a>DL3h1kxq7klpDM2s
zUDIB5oWKi`xf|JMgM}vZQ3RXaU%~^LW**>XB+cw6193j+1kPtta56Ehzj~O({vN+l
zh9clDkxN!~#sGNzdHEgaJmDn9-(BS&9(?$!hireD<h*`k!R260C(?0q-AyZ%c70H$
z$W#L<?f{j8!Bwb<cD-PoR3lw6A)fQWDP{h4y}Uf*d3$?*di?(O`_sQUgXjIz^ROmh
zB7-Bq#EjToH8FdInJdz3WCVxR03$o9aLHhA&}q740$`UOb<R)IGarsuC3NtN$ATV+
z@O&^AoL+=6V$%m}0%n$7h@`6lVK4NI3WKrf0yNCmoi0<X_ARW2u!z_N$(>>aHKs#m
zt_|7G4Z5%dW9J;WeqFUOZm&855R*(poP+iZelb$ioxQL*@8@`y%CB^2GCCgKP;GSp
zkNX3r*P-oY#&4Jwysgokn}fdmBInN4(rd6`5!n0+4sv;;pupxn2E6056g>9N**fEb
zo{qh2tj#=!bl`%f`-YhF$LSAX?3(lUK1q!6$)X=2IO9(|R;+pcL23W4pml$qzidPt
zJ!D<Jo~mUv$Mlw`aXx2$AFs2<gH5n$sTAb?PM6b|R*}OLkq=O`3Shm8blD_D0ag$u
zpod7cP4+Xn5h2AR$n1KT8Ft|9`!-E;A^YGTVldL*0Uhwq9SAh-O%X-2)`C(1dizx^
z8zX&XDI8jCdcN7a*)#aL9<gE_K-+866=Ct@1_-VT(DY8H8gl-N1r-J;NYVM%?_bea
zb&8{7<=%Ooqo5F)z7Yj-r_K3k*u-4xq?%ndgKL~HVzYA^vq<F(@W|8?*K7L3=PO2M
zAps9#SqdA0^?X~&*BBr)wLWj783KV-<eSt&BqJi|HP<jm6Cv({Sy(VqZ0b({=w!WB
zqM7@Nt(o;vz-AK=_F^T)!3wc>*yqe4(3~Gc#))-4Xl$TKwZw?p`G8?sn9oblWiA0$
z2zbsPtSEAx%%$ORb!VIpiSC{P4_PKEK)sC^oX;Fo5*e+{^@v{~-e)@X0v_i-D`+`C
zu@mF%MUTm>xzXhs>$hSZkx%0Xghq31)&IwRZ_)oil`ezP({f$dm4HC+L?`DJk&t=n
z_qtYteysa&Cg(#AVvTYCJ~{6vV~Z}oS_ep9YP^n1y6}^QFkNW6Z)Y;G34Z5b%w)SR
zF7&0x#kZQ}s7qeH^`9by(#?CnkAAp*Dn_p}VH{APsb6PTTEri0x(_z3EU9mEc1>>j
zt#)Smv(H<w$MIYt1EovPcAm`npuq!&bwywWtf-w2k(<4D-dYxcm1xVtJU<OMGw;uY
zorP?t*{r7D`2;+Qd-I=j3wD_}(V5<9a~wk=Z$hsFWyE_{^2NTbYg<<aJ<mtZ_gi`R
z<H!HPf2iw@WTWrh=;O~8*vt(Pvbp#<K@}T+{Ne9T+UrB7Ud;z``krA9GEV~IQz7fx
zte{ihrcj6VV%1tlK@*wc3P_A_f1wGvPz?iheut4((EhQJgkeJ^H*-*}SV5SBHJy*F
zzRpS!p{d`1;0>Kzs|lW^8jB<FTNcY1i4{Cs1*q!ZzWw}JpA3qTLcAgsWIGS>*vuPR
z$XIwh58+$~OMp$gXp)N+D@a~AJ+cU!ym3lO6*}hQ9Mpiu0}O<AR_rYvHVVCclN3xe
zUT6~IRDFwUvwz`OjY|xU%I%-JKRwiJpZYt$DHu$t^rH?au-{+S?+6x0$DVH}nV8n}
zkOu<7n1jJUm(KWw`gV18p{8u59f^VKWp+6_b^iSICuM0pKD@Fe-@pH~zTbc*wyj*v
zKUmhRpa<)DxI&L{@pvOvi}6--rCBc?k9)wQbxoGl3da+_>C{nU^G66*+$c4jP6ILP
z1U&kU?2Lu$GDd-O6LVeuWQ8K0-j&nPOH=60DDJ1Zf)mSpbXMI%U`fP^k>dQ%@VMz%
zJ?16XvXITR+Vk_}4RGj;0-b8zvmPi(pA()3NDJ<gAGnwcsbdTQ6Fr+%s8c~(eV^-Q
zvN2z;CzW!{XHI6N9S1ju*rjcdf<Ng9^%jq3sd3+qReZJVGV8Nzo4Nl3A@O_P$cv7C
zyRc3m7LVf^nG~SDO>;eaEAi{H6+!@Puh$WeeLY$>7Eho;g5k%HpE_gx0NR-O4QMD&
zhZ(uNjq^F<_j8S@<u&NJpOYW2>jCs8TM;~u$G^zw{tIrn^NfXi#l6o=%$o6Pt)-&%
zLtdwJYQ=y|el6iRIz&RI&Fhx}kJto)XOWNN*E&^`x3puz1k*GNW)UzFJK+%$8@~d(
z9WR|Q>tsq;Fkpk{E=2+q%nebiI;avod3v>gM?pZX;n*KF{^vU%lx(7VN_gKkSF4{V
zrP++mZC21wwK}XPUg!bC?m_OHKfKr1<!&%P;IQm0Ztkpu#@|yY)Y$E1F`Dz1EQINx
z-|K>~tV^4K4acR|$z)2tPFVz;h7iA0W0UjEM6r%tdK^Wef1(FFk1wQm)1t?+kU_C_
zIe9hEMYB`aaK_uL5?w@W`tcLJmLgK2)7*g5A83IUv~+E+r&Pe==cVHiSJk|JyV3<c
zl|Pn-#h?4(jKuo-1w?8UOsw52EckxYFtM5WXd^sc>R3o(uvwW0W0SA`=oT0cUe_|?
zU3J0$CwA7Ey{^|>NYg2GND-aqE}P-K|AquOnM}#+B|kprZ~&A1{(XJX3P`sX=5u2m
z$m1+^lruN~CCbFEz`p5c+-={m`VEkrCosD_ubd%J8H;C2$FIm(h(L3`zZ13op7PbY
z5Qd3GX26DXLtq2VnWa_Sd;a;TovSafcW@meoL%IREn*t<^0Mt|PngGLgRFV~2P#+!
z>y#!q=kF|bv9cmM1`s;cX-4F@!<N3((1={W8~O=IFx9~GVd5zI4NeNMX$EYp>!q3J
z6>B$OBYvx;=4?)z^9n0!Mj-$w2nzh}8_fzG%+KE@W>ukU*axgJXKJ;Li$&-^V-ajm
zb3Y#}vSF7oiFBT4w(~R0_!I&Cb07o(IUnK|UN1WKGAr4_!uh<ChnJ`SvHml#nbQRw
ziznYum?NQ$H(k`e0f=9L%?sg83$ql^49*0BMUxVk1{VLeV4V@>cCj@|UI4KAAs(P0
zxJ+<Qf=&ER02FD?Icp_v0D!Qi#tWqAjIJRY_4G{eJ7E*W=C(h<_?17%8#yZo+I5iy
z?hoMS24o@v2m_jqn`uON!4QC*f_OD{3afR<B^azJ&P3?C8PB*@6SS=EW2zCvcfDFT
zVQTz&KsQn+#KUCf`GcPd2<!ObM>F+}QD8}=2{xswJ*_!cseVnTPH#Sr`UZ4u;P^1Q
zoJY-AutF8>`wsC?qCb|Es(x@jKegQG={0y-Z&+$8qk)BYfnpvnAM~9DB#SPx&X#xt
z0loG$C@C-B>%r^eov_-5r>7dO;@^GY!Bk|YRKp_B!>+xB-1mZY=6P#m^&K~8om%P6
zD-81+Mg~m#{$9u3$(*kvW2~U~__%uENmpu`uEk@WkoY|4C()*fAzjRkT<O3?&J&wp
zBK5Jgm}6b~J<k)Sz;5#l-j_0NM2?r~(k0g$U~vM7`Cw-eFV(lV+xt+-O)6+Thm8S?
z;LrT=h)sf1B-nKmf_ru~Jy3(Ey;uZ6eBMwQW(9EnZN@^~E>82olXR`%_kLw_ig{n1
z=dJe#yJAVn{*XKCJim@NPW|DpdOlDt*T}^WJ!XM6-T<+gafwlgO>9n1t-lb%^eM8R
zFvXw0>l@ZRiv>+E0H*HwtP>;n0kk~zFBqA1yid}l1*hbFNis?J{C0J|Rf)!!8Hp3i
z`Gdv31t3h^@B_QmIKacXsvyzx)-bkL=VtvtWO@`9IkVN7Vv?buW_G=q;0ve0ijH0N
zP3N3Js0~=jjo*Nld;=P-Fhx=U<{ZFgC)VA7fX$xot3pj|DvUbERIbT&q1^;oFpGHo
zs<9F7&%_GsRGLYI)X}2=?;D7%H*;{)rbb}rW`c>3eNfnShF%k?BQ_tN)`t|J(B^q~
z<KFX3?uVHSptEm=DX{F19w!4f&5Bj1lRE`nSkq@6?;9qHO;gU~J_)2p0KI6#6j%nT
zh!dW-28;f@p*0bq-+*)l{n$18#%Aa3SkNL}Y~k~jSOHAA$vnPbHT<5>J&Qu!#n!ln
zY2$%j%{n^xv7L2Q3e4Id%j*{sgHszZo4(H_IF)6-{!Wo55Vq8{hBWisH51W!PSXQw
zrh$NLf=&E}0nOCEcinLv5k`9GGFNp3Czj)AbHm?MNK7gS&FX%rg1~(A|L)iKP%#a!
z5?DNmmsRJOh8E8IrXWQdQGLgGh}h~RU}JvXG6i$PcKISrg<2sbhT7$0mwdfG<31B$
zGs5EqR?yCX4g5X98`s55jHMvr%-6$u8{RRzLH_FB!tsb^stEl4qqPb?Sh+*6UW@cB
z3N#+?=QLwCQbann!pOCtPG-{mMN$ycKgs(|P-xHh2SC$1!*s?@A@g-A7E(W$c<%#u
z)@TgGk7uis`W!3+K%t%Izo>Iwf%_>lcXGa;5WLi(yTB4R_Y-L9+3ePg&9RnfMIs~S
z>n|kU0GS2vU5~lXq_X1PakS2PIFBQ26F%3Gd-vP*D>%-~8$_;H*a~GrPBcwW=bvuH
zN;F}j_5#xr@XQxT$nncYfF3a`=@Ii{2>6+&>DtxN2c8smW3`VvARA32Fo7@=4Fj9G
zkfw#aFih|y0MLSFpB2-}N*>^JR_ZCLT<2znK=XX!>d*d2wDnynyQHuhG0+>cNESpZ
zObHe-0Cb8T-(c4OjXL&Bax*=knHNZ>mwAGIt)RJK5rD8x{9M?05D+H;o<AEV5<n@h
zSeiI#I;*5(ZQ2E-$BBJ>Ss#2?v;Sd{F&`iGK<uyJs6W8Rp#4dPS%yvFtgs3^M8eyz
zb;AO4^@C1>v5MRWCU|napv5K_<IrFe>}CF-&_gc0o6QT7&FDXW{fYSY#og@T`RV)9
z(+g)QrJi4XL0tu#8j%T<>ljz6uggw|!TOVSdJTvm%Q|4N{(Bz`F@FQ51^;Rykrve2
zl^BTg_4W1(kN5Lh%;^V3E8@UXd84w~+=szPZC-e60`Y?Ou;$?6aa@AInPB4=oJ(E%
z#a^yE3ql0UH#}GcJU*@$)ZT#0OIzmCQI{qAjq)^OxAR1Sjh`?Dpy{QHQL+_i{l-+4
zL&JH!lF<Vm@Vv5!SSP=<fnGf}@11WHG;CEl>Tq2v;xXR)XNm|q^H03^jd=W<HQwAQ
z{{2^7zg@L%XZ{xt^X&ev!2cVXxt~j~peB%bu?WoPmacsztPl&&{hN&J!bUhQq=L=I
zm%8rM5#WPh!i0dAm;Hg*51`qfO7B0nC^W%+tF9)apI^u2@%i#xXA!N52*W_n`qKg3
z)T4DiXXXzKCOJ`waYURnbKgM6P9ere#45o1Qi??2$1=Jw?e45z(|a2Vo1Cxy;RFM)
zVjZA}7ANBQY29a}>h!ms5%~Qb(3Rhy>C%G@=?cyVKli7~9Pu`tK!~6Fp6L_(T5Hw-
zhsYbS6ra{eaus+yuhd#GUS{uGA76X3b=dhjlCiL^3mt6c`3h~3gwX_!EKZ?mZ?C>E
z63}#=;XJgC=~{T_jr6fJg*NByhV?6R6v310g@C;1K=vV#v66M!Gz+L;5iIfAGrm4r
zL99br1FROUkl7^hX4sZ8VU(pBBXw$LuJ40FO|i)b_e>ac3Sm@$-iZP|&#N<JWe4Q-
zwO)_J3P7ax3^6P7REm_I#iA>Hy}w`X^M-YqRfh@_15C6C*rb;%b)0x|948dH`ML)8
z&fC<nYy@N3gmi)PIg^35I`^J?(WJO`=8#R8^Q4J2YaZWOC+A7%GOG?kE5=vaiLVdC
zF0%ss%&m_`u_8GTUmu*3>P*IXcCG>j#z11Go!_+8W8`GUGyeoAw9Gk8QUBu~|3Ijx
zU|kh-4gT#saZs4gjS*Omi-{8La}F3E{9LFH)M9lU18v~%sqI@j&;OZA*HYI!y<GO^
z{r&Tux5?k?#AEu^+kE?~e~wI(Syj%Md^G8z2Wzv^53SG|6ZAtDTj{PyXNHCZgTXMJ
zKr^1%<;JeYNLOstu*^Y^B;e+KmH7GmKXLv9h#Gs2l=*&bifumOe18yite{gc=+F7N
zk^P^O$Ij;^1)!Oap3TM|r-D+c8PT0Z(j(e^H5vK8q9>l8kWz~HA;Tfg`?F0+k!pD#
zw6Wb!!oxp){;&L}r*Q$#+xwe88mcR@Ul_0qHg7bWsLX?0OWTQ+dFMc$=>qFUqtKaL
zpc#Q*m?R+ZBMjJZLz521Z~uh0I+~2$)2U}iH1Go7V-^_~%rXYlSnH(OorNjp&LZq~
zMIY$IS_eyRO{fKQ)M7UCAd=!j6Ti6u&-p=tU~KA0s+kCxl1(27Lh8(>MYOEf#H|jI
zvFW1eeDo_M6GMniFMzEec0Raxo*SQin8CpL;{=S<3CTqhZ2SzsL!!{63lAv_<XW)l
zh0Moh3R=@9_IH2K43+s-Z*0(HeSExEZvPc#o{=c-ui%*Hl|>{cHc&)?-)}%uq@xP`
zd0?us8+G>Cun4Yqg~5OpW0*iKp`pp-4MT`cx=b+_qD|D}aw_4e_xa(4ef|FW$KxYA
z@l5ZpH-Crbno{es6w$LrJ;ueam=MX~%b<a#Ol`dTZ~Cl1&o{Fatiyl}x|SM{_51hL
z?`o`yjmL$UIVk9y=;1s!-8z%RU<2#Ilgb$->jKj~ObLr10AV}<HY=?~=C3E*d%^Po
z_Y4o6J+%b|t;zfy6m-hlTm5dn4PrQj46sN_84!=v(4JRxAy^Am4_%27H26BD4ptB*
z0M?<&S#8X!(h&dgw(bub^Ew45gUGso3QHZ=o!a7ncApX0DX3$BczRI8af4+igvG-5
zpO+5^`~!)>05DV!=a0iVL#Tk`11|*NRN%=2R%&XQr|HHEU48>vECOgZ5V}mEe*3KT
zl1rFHOaTLuf&f2ov{&l~(5{QSu|>of)1l&ythvv6<k#Efn~$-Q3Za~*Z)8jMvnNuZ
z@%(<@pC5$z)EFmLcQfO2-!LYTHz$eB1cFVkYmN>R7O$6-HBpPN*4r<df<L8zM5|c@
z-rv>>uD0U45?#d4-vO<slM0IneuuDvRF$G8Ks<KBc}w4F9N_u)zyFOe9h=)S3pXHE
ztUNtx&o`*49M$mWzDgoaHO%8{B%*9<*65Pab42upxrkWd`8+9DH3fY&w?2YtWE5hg
z7I4|m%bX{?j*tSRi%pIuy(O;6>rT1==|C306bw{pP3quhZjSC`z-Fi3*#ArbW*x5!
zVyuu-_L_@TK-MLxBSr>2*hFe!3wBVP1Q>5j&=2@i1W44sF+YG42QrJMB5)qk+p8}O
zCd}hPK$U3pgNZ>8)5H>E9h_*c8m||dSmPr)@v=X9jC3-iR5|TBV}+E$<MB-q1=x$I
zv>})();UbJ`NvWakrA<Bh6$Q@yC4FbPv`9<(IP;T>$K8tvC^*RgWp7LaQ<hkzmkv5
zL~QY?wv`PJ>$d=3o~*=zKtc8#YJrd6{`~V#Hp7@oKcIrm?1MAe<|E`%hZwXr5O480
z8T?G3s}>Gne1zD<^185f3DxieMZ~6~7@!c&tC~U6JG5qX@AI5{&*#1$1d9lMJO*s|
zdIxKk$2@aCoZum#^LG5(Kg2NH+Z#{EG{5>^Ej@kKZ_KKH>izKT$;T%)*;!fhZ0Bs%
z_!Zki^7@#WJ43HinjKYH>dhbFd|<1;?Q?p!Isre<_=z{=yl=+DZ!`7toHikbc~<pa
z=DJuK{K*xYc@7T*W68zN6!l!Mk)mdlKs;FI%(kwS%DzD+4_PlYX{r(D`wuprj=EZf
z^RYtJZPcbrDq&!xObrRnx;8SgjUMM}o>o3zzxr>UKVb9Bz5D;e^W*<O6{Z`kO9JKk
z2o{Xz00fYR&??j>igoa7rF)i>18Hv8SkPpw3LS}4KxPOy=Yc0zfoHp6DX<*)#AtD1
zw+}4r0&1E|B4b$uGS-B6H_BXvmPD=9EP}`RY{B3iaB~9tW-iP+iZl1-X?+u8;rzRk
z>@v}6T6?Xt6+y5rtT<1*&|T?rumJzOktG;%qR+*`JfZc=EQ?Ol7swTKfXDe52@HqD
z(}fqa$pvY^TomMdgT$l%`t=vjDO)g_Iu`l$>z6gPIX{6&1%8+n^uzmCrMTPv3J!Lr
zi}cHR?O**0j_Oz&U!;NpOMg5So0pB_pS@RwMx7T7Q-Ui^n4pPIeNYPl4(EtgVA_Vw
zU^M%n&;wIj#|o?LOTU-+diwS2?dAE0|KgI9?fXy92h5tM|Mj>`D&p3-K(kXXICN)R
zh#x%9$xT7A7ZR!eZ@vMoz(V|a!y{C)Als7Q35hrTTal&uBw1=eun$<4V#B*e6=6Ru
zwb^^)8jnb@0uNSCEO=faHtYSNv#;trKVN>gxK_a$)l5umW<Td9;PHN9%!FQZ?R6_~
zVyTdm6RYq%pD9>DZ{Q?FNS~*=y$OqW?C<r<tZCK;0ongqL@QH6?!z5>70lew+iukJ
z{c%K`ygFGh^<Td)zXGNIHFJq}6l$tOdt87bfu@szI<&{Zg(`cH%>?(BM1%2Q(J%cw
zdDV6SVP?s!<2Rtec&Yg{cCALkQ-*?Eg&#nBTzsp`e><;))zlLwKe6D`%jJ0q)agC*
z((_4V1jpSb6NrVE?`!|Jf{EW)-D3!?_ba$JG5nMK3Y03^7~}H^yAe9Pj*&423#~fG
z`Ww(2#Lq$1*r&(K2bWrZ%Xa;ja{ck8(2F(8X=F0eWr}Pj5S3g#2yi|Sk9;40OJKPg
z?=y^|jld>Sp=JN8geyAGU!je40Bvvt!8Yd~EnLw@yn1ee{*En{xBdBm#>!IzML5CS
z6ReX*+bcA|Rh+?ZO;D`n_yBs^JU>H<Lvmf0)-EB~c&&A&M?sc}3Zd!!E!#U&u*OV$
zT^1)JdEVaYaGn@Iu<=;^Si&ZF+)uTT5^IHkXWM5r)(^<Q%Ah~T%igfP{u%?UYc^%&
zG`+0CCOgg290i-pggRI?)|%KPLh8^ZHI)OK{z^1r;)yV^3XOrXF0I64aKMxONr2WS
z%yg`R0B4^0+a=Uos-ah=CJ{?+iU6M6H^fr-bG;ZA>@_{$ab2rDQanKSSkVV~67N8<
zH|yYkdRWhmy{L7#@gU4)VlJwhK9PJ|mq3rXsNQm3KCT5k?1N%j;Pyq9TI|a66}`;C
z`M`Yt1(zuu7#31z#sr*mU4UMF*DwJsHG4X1KKG9AtO<Cu?7xwny+rJp?YT}7D>L_A
zo%#mBk-`$W%=^y_)>oA9lf?-P71=*MW`T1E$hZ!H&?Dvw0mfiG-wcN6iaR1ff2^J<
z*4)O3>UlmV_;1MhASrn7xX%%Rrk;6zDkg^I9Kd5(tO9a;C-k1@V;yUz8Ed?!WuKnw
z`n}1``og+WGopL0Mg;4-|L6&xdAyPWj*G{I1hY(^(A9Z6XFtK%d+X9~Oc%Zq8#wcv
zuyODFVZ#+0xnFHO{MUc}A12R@ph<#r+N`|@5A6hhFbp^_UGjqddlS{aD)uNgyR*uI
zQ*|p5SR-Tcn3&*@8zm5VCKUut1&h!`up+GW&*)E`kojy-s`D;8rbrW3iJsN=fsUYa
zgLA5xa2`OJfTT(98TW_WV6!`~uug6qHWk=Rple(m1)W$iUb@C*X$VgAc(6(I!kBe{
znDs{eh}VMg*&GEP0>GUKi9}#Uom?w-Pid{WK~Ma|kgH%_X#BjhV$N*4o+@`N${`@0
zRJ(Nb$J;cC`FvZScHw#JZ@T#_IQS3aS4zM7nu`rK$&xDDk7(pR_2<@^nDLN()~N;-
zVx*XepLm4183njOci@W5KnMeX=2F+wo=`t2Nyq>D{Wt4)etLa>|NP_UKiNWe`|;UZ
zS&h}KQF0yG6zWhA%d}(V<_ioW_dPvA{Je2nL7cEDKoeT5$jxRBb281AzRJ2Tp}Ewk
zBQ{sxASsG-jEPt@F^SJU0L>cXScOa{tk9mhLca?+<9T?lBc{(fnT|~`i+M76;DBOv
zcK;gJlqAj<<|DF%=eZi9Gk*kRTj<gcow2Y>G9Mt!M2f_M70&npG{SY|bVVy-73wwE
zfxVI#t>=|7TO?!QAq?xdz4UcLN^~WR3K9904tUnvy{1|Rgko{p1hrw}xb9@E0cHE!
zFEjDiuU|Lk|9X5t4ETflK=8)f=j8*SKxFpcCLCflO|N!;=i2#a2kZhT=8E))%~SDj
z`5n#E0`pH3Yklm;TRjiVE{R5n+CRZpQ*YGR><=-SElux-m49G!J5RvobfN<(+a^rU
zN*MP;1sD*^QSo<Gp>@hkj0IkR@f#dCBi&D4okN#dGf`M1+8BdD&5M`K4HE&O)_PtA
zgAs{gAjcJZA(2{Q+P#`uNUj2pmS*KQG-IEx->5)`tc#bX0vu621rX1=vNW3(!8#M0
zxgGHmuh2$#y_~ss{dzuIA>f&l*{q4qD!b(B#4ttXgVwJ#E2K%UI>Dk7JE?>___}G#
z432i@q94mZS_N1~^aDBz?*eNdq+?e>F{_X8<r3BjW~HE{AexxuVhz~v_>vV&e|oCt
zMiRZ-6SL_`ZX7EXQUr41P4GCK)gIL*q%U=l;8<g@J@?DF21w-`I}krH3LzJZ^Jbkc
zZ~@P}Ui8RHy9K?8jF{&M#Ge#(to!LPO)xm0qy(>bsB)u@xv_%2cb**IfG$2i>z`Ao
znGY#u(Okhi&({x_d6we<T^@9$1NJ#M|C+>s&740brh@BIL*khUR_qd9PtEoC;xRXM
zY(|{t1A4Ht%chBv%>jF5Hj`+P$?OeVsh~gc5ji4rGGf5S%lGvzyRY&3rgMD;&6`$A
z_M;cC=+95jKE}WOUO$b)uaFAsO9l`Yw3$5@G{kSr6imagc&vtiv)GtJn68ePiCYnx
zda#|n=A)+~8nyc@mDa0P>jWzZerujt5!ZPBTdk@eWg|B7J~}n0wF0QIbN-W@KcdF^
z`RAGJk70sep<iseOB<Go5W6xTt)NpU9_?ILih%R{8)gx>_xh!UL;}tnFG(=ELw4rp
z9+UM)2ya3;mZw#$j$_~{=IN-FWKAdZ^?!pZH^|lK1kTW9n9LL~Kr8cin}U&MDb$J%
zxdG`n=Wmy}kon+8bm}f<;<UbC+Z5xmLfO>E5-Dy}wrjp1r3lOqaJzpA!c3fX=-M7M
zml`(?rvWy*a}g(aVWje;V~fON>$TyiMhsadVs&o#P4-zq>j&lM3iO8T=gghpAu9qh
zZ40ui41{I7atkxS3g9Ss*a|g?25_((T}*crgQ@)E#}6wz%CBGbyAh#Ef30eeea?r@
z@c8ZP>6sJsvbr9pm_MPatb-qa{4~s|N}5>cz;!FkKN4pGdc;JtY^swUzfG1_6FyE7
zo#2g(Ft7sP*=~qZ@vr^C_qV5ykB6Us{Nv+e?Y4hBgbcK2ydNbz_b2t>(3ybMy6Ocy
z90ht2ScBEMUJOgTrLuNK2Nv{B@H{_Xe!!y$Rk4|MK0dC#xsxpSjpjrT);a-C)&gg-
z;s*L*mc@Gi>7IqnPPzf716doy&mVM6!JCAYInD<#2BrqjD@4^j1lH?oR<OxV7%ABn
zL~?}`tiSUy6%^gSMwHa?I)#LZxri=sDP<OPnbKP7Bmk|G=F{;F$_XB*{Km-u&R%kL
z8OddZ2mEGb=T&b~>VO?{Fa`9i#<7#?m*YOXS&pv(@z{KNxx9X9{T6VEjx<<-Vq%ZC
z{?P_h+8|CW7rkF~O#Hll{cPIEd7oh*1)d~gt6B^0JCFU1<6tm2f78V#XM@dJNaK3l
zANRBiRDG=HPrDa3xBaZi_!hadx~IrAQYZ0%&L3rpRmfR$ULcYl;r&Mp7IhA;7Ei8=
z4PIER33{v$JHhktba@R*3gmSpRzBX|OxU{WKr{|b(`wj60#moy|FXYeIq&_tT*;?8
z2*Yx|Z7`G@VlWy(5k>s5oS%+mSq0YngFnn53|xZevvfwG)-q6R1@#|2=D(>RXyDb5
zjrAXO@#KbwtfXIx9GDmj1|STm<VMeGj8f0nud`vE&y_I5Bz27MDeT}EBZZY>yGEfd
z%LCV-LYsO1Pd^h_>R|SYl@;{PW^}fi05{VnnqHa=B-ZEXbl#2+NbCmIT*>?`3pVHL
zUBF|mV__9A_hGU<zcEjn#HR=~yHYg`0OJ+d9GB`FBJcYqcv1%v3|>dIUkx66GY6Qu
zlZtKVxrej<ObIx1TnHAM*$0@p=oNR&R=v89LF1XvKe0glL<X8E7&?3<W(Ve>naq@w
zGE6<s2mR9;W8!&fkl<Xu+6XL|I4k77XLAbECpdE)Z3b%MU;}cp@P^BnPPOLc9Qzm_
z1cO>z;oM%YPb&WeL&shP*Fd8g@$tU4*9yV?k>%<zNxGm@UlKF3ram7>xpyC~z9aHH
zlXyC#Jo9yGl6aU~2X=LVg^{b#uuLlRO!>%8_e<n^|IW16=ht4*<9q!I#5(i_W05J2
zz=|HvlNx?>0sbR>^`c>}Yo;X9W<=`Sw1^ti(`kH~B$}HFk^sfoO0xb&NXC_%PFq-*
z>%vBOP%2`~B;qDX2lpJPk4-aSVsHd_KMXl`S~+X0iA~pa#^auv5hk8tA7)py>q2aH
zHbtHLz`0r{6<KV$&fvF80s1}AXYM_3JpBCrKi7X67Nf8a=7hAK5TZxs4G2<aE?Cq~
z)ZEm;;{kIfnGg5@nK1?f+7Ez$fr!`Y+2R%Rg=gZpV4@aW7tJ{t*d9Q^6={K(Sl|Gl
zDPkSP42Y2YZcQp990K8f&QgLC44eDOxC(8UxzYG@ykMrx2Rp2E&lMH{deJ?{#q63S
z*j|LFnGd~L5$Mkcrbb3^ycCWoG&$}o|C;#%5b!guiPM5vYMnNzLlf&;FQ(xU|NZvc
zw<MX5i8L94bphJ4WJSB=8m8k}FU^n7kDot&(q%4V5n|=)<>}+tADjd*ANczAK|H~%
z>Ek!YaXujxXg{z(U;|D63H*v{Y|@LREa)`l^L^b|8C~?_6oQ?wP4sjIdy_7BYB|R|
zr}enYRjH?b;s2~(!SVY2$M4_k`S1JpdgIDCgmBVV<TpH@{amm<bPKp#rp)^DpFA5W
zx#6O<imcuAK>dmy@mg;uX)3__R>LY<+h5R(VBgd!72A15ih%nJE-FjAx6f9S1mjfC
zUNn%aB^N7rIIXa$8Ik+{q&>AR!@wd4-*6r=39ggYCd}i-y0Bg2vaT*w$Hf>(P49=s
zh<?hO3#kK%F)U*K;3v>!F4}akt1tOW1)=Hur2|)hABIvbSZ!WMkgf2pMHnZf@nD$N
z$jc!<Hcf~T0`yox4W!XqiPu<7(nR<TL@QXzpAdPyBv{MvUw!{MLmpX(N^aEezt<0J
zfc$9xC|1RBM8_{uV4s)bwet9&*(NxX%TM_Flk1QEDc4P`KLvOH=;i57&y&kNsKLW=
zR7iBLU!71hsr%S-mZ`tPOB;VVvW@riGwvt!Az4QUKd(6kY|LMAM(|Qimnp0xxnBjR
zbj+)ogssMLTr%wlzwr$QCne8U+6bOD)N?X4kI@$wPydc=f9-~_$=Es<n@aBwZ7ukI
zye?GTqcW(2#o_sR{mL%`&{#@s`;&M_K~(iaU>&!A7`>ngoL31`0KHyccr2K*oXo;Z
z#HPWF!VQXhBZq?-l9f8zKoiUjac%-u+Cb-D*MGbY%v$Rm<5u5ze%8kCe%2(eFM(~J
z6K}4#Ir95`y&svuKuxS&0gnT1;HPG#9q5F4p2t}^%{^y^i*_H*Y_E6O3ii{)NoVu}
z%CXp3=WlMPxPz_9X`|TunE;?|;<tWH;xumi7B=bf`B`R7x^9y5#3Cs>b0;%?3VS1j
zrfk95o1EWof*#Xh&a;zNWzdi3-gA`4cc!SZ5$#@>6)R}27Xvb4Y+|bWs64MbP-EF=
z!?qQ%&oeAk@{y<p{n%M2RN6tBq$@V8BU>)?XapRmR=o%~Zf@*V7U%c=0ld8xd6Z>(
z<>~hy6j^o9Usw0B*n8LS>&yCERxm}hm2JjOA&e5{)@@-S_ghix*E7M-ai>(stg<d6
zx3lPs>0pKIoBIh#R1lzMAd4ISuRs6AQ(FfXJR&_+$V>fA;o~t+NTNv{bjMzxPWB-d
z976P@Yd%lTf|;jHp}D;tfo1ar9hh0nCxasF!fwY4?)k;}gw(wE`uO3$wCk^<;rvgJ
z<2}F7Ye2-!_f6n@3=4K`=y$y`BfZ~(&UDRvKI67v1-<RtBsJ#{ac-QCd)QLWb)1Q0
zVlp+5B{^POK<F}Sfoh;>)|q?vtB3#cAOHKx9#=0N9GITTT8skxK+XA46sraUz$TzM
zkQUSiC$!=Y@Hhu7u;~gs9{3g4gW9x?DcErDfMs1&m^06OI_knKJN5P;82sQvX0;pu
z!xY$@=s`d0?WtWz?@gGS0UOyU*p>_{d0-vH>_uBgk`Ct^U+hXgjwYaa&@>=30h%5!
z0<;nHI1<?_Smz#|giU)Bvgkd-aqKBvPGhjk#5MJXX8gv0+C*X~h-G@r9MAmbAi^Sg
zh^eCeN~RM}Zirp)vR?L$NO}>*VCi~$D@y<#%2TBC>V-;CJl66l&h^^=y!dh&cUIZF
zA-7t1`F{I%<|=?$DR6=xc)`l=f;1W1nB`p)UWp3Xnqnfh*3eK^Y%&cKldkZOVm&^v
ziidyv$3L-FIR3a??LRNkwTe$>`0>5Y&)P1i4LcrF^38gf!WY7xLZQY|&>|DMIBF(B
z1mw8G^uN8;aa{QacsR{!1|6BTck}jrfQ1;mp&x1^8k^hwR`76M(Tgxlf#p7CfRREo
zo;CFbXL2*5JU-UCoJqjLbz~i&f|d$i)}49*&-nu;K$~ULI)H~!ut2&a+Vm$DGgwlm
zqY6_vxoQT-5)=jmoDt{Wxi4lpmLA2tuIH5IeKPg&&ktB9+j2m^=L6NCS5V-`NzBZ0
z6fO@eO}o@sAqJ?RE!VBdh()Xu!KG^vu#R^xrkCM_Xqx_tj0!u5uC$|w;Pe~5@-?P5
zU&sAZa>g@mH5$JGt)BCl-+->`{n#^CB(qMyPocH&W5V3C!2te)hb0I)ufOP6z#nZj
z==Xf}X{lHt7>0#RmEBg<BpRFfKqNB}?w37OL361-uN34?k^7if3O@s3)uQ%yWLN0X
z)zi6runXye`O$D7J|B3&jOXmfcKL$&*gVgNBG~mW4Az>8d9}OM^Cu9lS8WBTpiz11
z_xCzzME2g-SXi2!vBDJ7x{Y;U8a&^h*K?O7IQO5Kj-6NpLD&2BucUA?g66E|Kx;|C
zGoNpXiKSN^(&eCl)(P``vsb>~xqrG>XI5HMt2)-Db*zBLI_fE;%Ped@KG)L)dPd^U
z`Dvs?yNy@{@cM<d7ZS<dMo&R-icCAN3k#Yx{S*I42Euef=Q&}6Gtopb7knNND+n7-
zFNubMdiy|u$fa5XMVLcRr>foi0D^IQUOVUKnKV0ZjhN<~rxnEeSm#~9b8kM@Ato~y
zPdq>bnsk{cX_BkOGwa|a3v0S;&58Ft5^FZ2j_V@eoR}emU@RWRECQZaop-supfbmD
zz<APU6Ks;GFdfvJ4fl=<^%EZ|VPK?qo+FF|{h7~%MDOSJcAd5A{H)J+6ZG2r=zlR_
za|-R_!{x6`0iLJzs{$9%d44b~;@4kSpC`;*1F#O^thDKhbw#8HoAY%O^aJ~Vb?wqg
zYwf|}3bjJ)TKP@tM{MXPH;d{@w>J&w!r~EzU?;Jxt8N|NzMlG@SmDIhKR<m~Z_>?m
zIp$WmJ2*<l!g_v6atWBPk6_9aviY^CgZTY+x&J&I&!1S2i;;6&d(Y@6k|kpoy)6bn
zISz8&*$nYm0MzsIqDeN^X2g7*iWB~(4q+ZLFa-;>=Eg|7=5a|EIG>5V^FD6{@r03_
zg!r{*n44l2L7&H!>EFi1p2xabA3Psqc9Ban;F<OwWKHzgwQ;Xb{Sm^Yu1jdA0IK}_
z`BQO5e+L#Oa$)OqM-sN3C_ppUKfRn8fB-ys06p8Si3LZGRe&e%IVCrOR5+6&2v0bt
zCpE_PPl{%#e51-{#P$XtP(RZH_s3@U@8rQE=x1VGVBz!-p16`=P{%Xtq$|*z4;)aT
zjTiQcYits4WF7LxCKpCxMD6(_c(8V5+_Oz?Ed0%U5M)6n1C?_N6AkDxt3LaK#jn6`
zOx{Q&Qh%S_^{m679wUTKdeKHEm-ENz<qm=-5g)zB(ZP4Q&kB*BU-{7U^IQE+$u)Vc
z<b(1m(WtlI=_z=aMz)J46JX}ldG0^bWeQgC(==WWLfrqJLZQaGB0yMNkJkmICV1R8
z0<crOe1ENg&!^wN-~9%(=|6w^Pcr)g=^-Az)kn{tb$(ub1G;9}^|#{M`9T#Bsi?Az
zMVPjwyiU~tj~}ph>Q((8KmIVL%M><&0H~QC7W|_(Ld;U*17c9536<GU$7Vf^HIAsI
z%K&3y;rzOwpMA60b1!TrQPOl-j55JP3cabIz%yQ#7nYjyF$KE+GRgSCLCu|>mzQ;X
z@x+3oLsD$|t6f5Bin@CW^t}hr`Jf;U;eOWQ4`_k|nNAa{=lje0RSb||nD^CLr$*{&
zkRH15nz;c+V(II=g>~pcU`?cg8q1Z8O><h|O3B57zt-E|*bROoct!Ud91(^2?B7`&
zW@M#}b=mYAtinLS`w~!m{tAwHT>OOw`YEM_r}{9w!1MV0L^_f0lsPP(A1|*T-|Clm
z*o*BS4N~p$&6-uYf1`-kZ@oQjs(Od9SBBO64xt}==7UcEDsDp&t;cIt(7rsaH`pGO
z92#G*#R@`R+nqTdD+|?3oRb0L6B+S-{0p0S2*!F}jXxs4Lp*+)^Z2HVt$sN^K)0+`
z;+gn6vget@`pa6g{qr02j7yit{fQ&rN1rp{<#C-So(VZOe)K<h3T#VFw=a!V@fu&J
zgw4!;zW=H>PKa3X2X$asp*iaSb#Nl`4QMg(Y>8C+`iQm}aqo3OzmZt#U?B^EssH`w
zp9XB)JAbIJAXgzSP!fC-6Pd8hpg-TZmz3f;U!9c#O|sPb)9ZaElf<LQ^F};?c3lW6
zuy)TA(({}~uhoq4dO5@EodMW@pYxV<V50&}pErz|;(UC8=DdH>T<W-f&k&y?uFE<(
zj*vPCU-y}qo(Q@UCR-B{e8zNHu4^(M0}|;zIQd>gfd@as!P?5k_^NW6o>^c8NHcX}
ziBBDyu`^L@0=>`^S<obFbstpGE@d-Cu=w-3uu2@4D(4T{TqE_fE#%VdVuiZmPLs!`
zi0GVH1k~<B!Xg+~kw}|!Zkaru1Z?oW%&tUUrqDm|)$eXm{O9){+~qs$3dZV)tGfaI
ze3?2{;kwk5muKJCT!ANvY6Z9t#!N9|#IE_gdX8ZgLa^53Yor2<M6gWx_~gNa4qgZA
zK0u-sEMjmCaDpyuS6!PXWEp^t1!B7P)xp)z(muXE>S4404I54#lwMxz{g;&!iN5#6
zk(^hM;(&jSh3&!D4}K&8kbRy`Fn5Fb-1|V*cqgAFfMus&o8itvY{og)JMp-{7SDY^
zv2kx7;%9nup7-j|OS&)zLHqo?g2s}K*E!kNWjxG%juY~JiVY9=8Qp*l>X>epBKC~c
zWX8<b)5*<6LH2D1psi2k_!aZGOz6#oBe3_@d+$7XczynFj)V=X?^-y3f33I=Yr*^~
z;h0Ur!ucoLfJh=(O3emQ0oV~HU5BwR_<Ij7^kPj<5kMQz#VTHFwKTP09TK&FBeXsk
z0g24hsnX22V6f!GoleLbfX#mo>kvG_!vwI-r{{H{(#A>^N!+YV4K#D&nx1OTho<O+
z)jsB<#qV*<@lt@jph(m6hh{v1EN!4^!P$!i)3G=AXA6d#euVohG(#RlfH|OXV!1IP
z47L~Wvo0<H1Q-u^w&^8{I&`@@_s}likgI!fYo9G%Z9L!VTXke{%{|vQwpNT*JigPv
zdM}sM74%{$3l(-;S@|d1=xQGGF$`^bhg5U!PlR1Ug}%Jjt$<Y!;J5*g^EY>jU;UHe
z$A?$0??3+WA3P4(<?k+}HbZd7p|anAu3uBq|86dorD`2zXEW!gp5O}}Y(+L<FU^|3
zQADA2!bTd5wKte6OutGrG?zNw;KdV><1Uo4$@znDP&C$Qa3HXid1oI)jkTcZUF=fF
z#B^ctuwHXrRJJ9FRid%^`}gIW&Xe3%B>`0Hys9(T#X#u97>4JsziM3pzk*)H#`o{H
ze?>-$i%xK#W!B_=VsjhFMCS$w$#EgTJqH4Q|8=QjyxQ}#YZOd_rXGjL{wwfI3j|}|
z`$5?vfi54&=&}e_&?Zg`_>(K8k6)Y@XcCNA=TBFF(rsVwJTUosO}eC1eM|YsMJiy<
z#19Y=SgscZ_Nh!klY&^q{8AvDRhBn2L^154>w`;1AaYpz9Ee$g;xu9Hr?YS9Ezc3A
zjqo+%%tL>m46Dkqy`F~%!*r@G%Z6;%OJWqz!JTtr&c{emclHH54AlJ#o$&Iqo_}m6
zJ^`D@^JJpm*Ac{S@BGRRnU%$W>ERUx`|f@9D!W)e=pAPQ_VZi4ZdUNMAN#NV0XDlK
zIRtaW3DcnqJh)(U{>uQZc-%wQn{`<sb+~%%6(<7(bY7jIG>O!{U%xH~y0E>b3wU@P
zF<5JuO*BxSW19J#|HvT_EK>u`oDVjG)mEdixjA9;Y;_)<Zhuzd7f{X^yw-m}&265k
znGYtmQP}6?il+*7j9lKMn#bh~htaT<!fBH%VCO?S_U8dDy$G;Qs?F<><fTqOhz;{O
z3Rsj)>eH)+XrDuDDq!jj>&ToB%&cB%aqm9n@ihgTT;?1P(8TJupxbzC=GV3lcobQ9
z?LuP{45LDdfcr+*v<k68>X1vXMZ`L031P9)6De?N8P~*BWz;diCZNSqime$DOJci=
z*`>b=Ux|s4lH-_on+^fqWW0Rf-s|bpQ@wvVD(9T6`;3Y8L&m0CAMf=m5O3gpFSu9u
z{o<**d)5*nYKXzd`=vR%?mhprMundEnSde#iT+txjUNFX@f`P=zLla0B!XgfbWL#o
zEj4>5zkdJXr7~Cwf2>4TPGfzGTOZ3^@$It?&{O}mvyZQjr^g?3r7SU>edD=8X4o7K
zEocUfbGzORfV?heMA=@ig{<87V5ZD?{nOTjdc=q``kk|S+Iz1fVFts!>uA<VFl3)`
z>eq5a+Pz~htAjqg1$w?8>A=F^o49WoG2-4nGYZyIMa<fcZ@Bk*ar5{B1(&)t?wNbz
zrhZ0@2zt)`iM`p<i0Zq=z2jcLf`k890@PR+#xQ~wKXCM*YGvC9Q?T2OZ<YeGCWLJp
zlz4j4;?ebx7~fO4fal%;@I+4?OToPZpMr`&eY2>51?zypon5FsaXWQkGapQg=@DJ8
z$UOaE#R|Z-*rcn{4)7>Q)Dn;)@r%LQdpA~(<C%FuLh6f6#>&u)0v>B$q}6m0Uws2S
zjBBE#jtf6ywKF8Hhz5@$ALysDegiu7a-QSK{^&6UxWEXb2mxp;rvx6(H+mB<Rv<t>
zS^7PT>;*JkfS`^`Mi6FMM&ay3$Q-1b3x5Si)4#Lw`tLQbn2yJ;!0g8O_Li99v9me%
zhx+EGNac*hcGcyi>7qLOst#CzM8(Vkg2kr2>M0(d`?~&mX8(Tt`~zz*J6*l~Wk4oZ
z_4^ypoIspJ#>9fhJx)PadhZ)JNr)d-=#gmeM9;nJi|Lpyt{1<j${9ac2g3yYH!nyg
zGGVc4ufz2=UmY4XsIk^TU{eIpGoCs&iO0?^==4jSK+`%-Ba?yW=d1dGYj7oBpNgyd
zbpBXh9XhvOI8y|yBg8Cq97jJ8U!e_t@ce<90=^!dnXd~;aY|Tl=G*+~HB1e!&vjnu
z*ArnP^fs(I%+p>WSU6rw9qBIZ<@jKiMC$+^Z&1XLSi8`y{9BNP?J2B9>8EIqwq9z5
z=BnRadgSf;8=VTQ^;ghHd8}V+ad6!0@Oxa0`MhkyWpA<m4rsBya2E+5A2m<tiPxZ5
z{MI?cxOK(Xzf&pj5J_=0nfl!gox!GdKHz37n!n!Ge839g`8hp+$76A(>s_7aKnf=U
zegmfU{$tH4TpF0Jg$%Lr=b!6e7_4^Jhv}L4;A`)++x;-<ul;&qP4KWHw)<6uw$6P!
zPF@$WUN2wc<6r~ogXRMU#a7s;lbOiN_wQei^|T{+I<-)D)D(C2bNpbKCPIJqAr<Up
zECa+k__@&#N$<SgJFhAbhCk0gc-#jtJ=i4IY6_|G8Y6Y8aWaG$^LrdenoD)%rLO(V
z&4P}YaqaDr6+A`v6bVa8te}0luAufOeS6Li>pU4VapvCNI%Lg(F0AMCM8EaBz=iH#
z0YWL8=Q@&YBaE2{+Bsk$n~%rW-!qP4Zi;|eXSU~`gfW(a+}J6$f;qmBL8WGV!Y*?o
zfD_netWc9IJf=H61mj}S8{St<j8)*bLM$HN?^I?JJriT`Cs83ZJ-(fB88jZiDK_1I
za%UYN0KZ*Yh5G|3qUC%xV6F>@S5&P=O_qA1r^_!Yp(mgHj0ZcjCU~r0B@S%*`o2L5
z@#eA+CNKI|P-7kNSL6X6{~)&U@9*nZk3xy#FB6XMhg|XVXZ^8vU?5OeM}J+~Tv1Ou
zg+D(vcUnKM0H-JTX`X|(CRV!Via2LMHPD;^vC#DvSuebOygl%S_2KfPR^uZ!=Dx+^
z_dJnVgngjwoTPYuVtH`-;_YJpy!QQrhp~s}$NGbW^y2BE>P|uhn^m_lV0*3zOpE|9
zC5hX8FA%>}llaZ=pb^t5oUP3{G|u=TnspH%j0Nhvjtd^e<_Ehh*r{t!#T;}p_rXZn
z;?umh&mPBIyvy5(TUkKN^JH>wpXYjKK{Xb#X>i^j$$C>+@i*&QYB1}Yo@#UL5I-q5
z#eCg_`0wqHP<DdHtTXr4_3-2Mf2#is(nR!RF4s05CuBgtb8n-~vW}wN>qJ3VLF`iK
zkvOfB1B~aqLHcJ_l{kd|6mEhatYdTfJ&;xicv!Dt*&GF3+D%YrC11Y=pc6L136>SZ
z%te?k#;-<`Ftfl4TEUsfS+>J3iSlRvQ^&+4?B)mPScm9|uW|85bb$+Yso7X2BQ!ZK
zRj9F)kYbiL9<dZqB+Upb3lAcuQ=GA|j^g=Dz)YVQhM<drTwtV=MM3ri%Oy>WZzO6l
zO;;-D$~BMQY6uD<Y-R{YL8rcB^@P{UVdt*h!1|JD*2ibft*d?1?>v22Up5Sc^&pp_
zL;R2~Jg&|r=}ZQX)r{}F3*LbAJ6xw;zFAOnJ<wwSFp#JX*ldoM%hBQ?zWm=_why4`
zK{yCketEu_$tO>^Wl!^WU6!5oa}d!AK<Bu}3SCCJ9D~9AF<{!PYl4UR*zAd=z}_?d
z(_MSJ#tK_$&8))-lSr}YJ}6@GxX&xOp$X2Dm;{4elBQy-lV(L6b;3<2;AH+*0E&P*
z0aH|!2F)bd^Q_A{2&_faJU~R7s8twjJQmOPplR3?8+pObD2g6o2fyc`0hv7bjT_U0
zU0_&(!Rs-8L9fhX6SNh>|Bvg!eG_{tp)p=M<AR=fo?D?i>(5PKO<aSvcAj%G^7Hs0
zCRVY%?x%Nt0R45@hO6h9&;A$@fpx2FKJ>8FKJE`pzI3m{CU3_PbDr2lf)%uM<e%6F
zyF7o;uwGo-?{#XI0?^q{o9*uT9Cfs_OQADcI?vn01Y;76C+DHPvGX}$)?uEN*+r~_
z#m~BCShUCe@0p2K3+c)U=ICIP7i?nABmhBEjd**z{ms^Y{q-lkeIgf?(pleMU+ed5
z^h%8c^qgnvbK?E=>+M_rRuBR#h$cQCI9A-iT>Rm&uNb>RHTze)e7pV~>s6wmD^5r+
z&nWh8Ffjr+n%wX?Mp``F$LQ^n1$DFvyQbwoWz#&cX=1=L&+{n~paAt28O!_)tJTi)
zuzv;F8G6YQkFSSDNMGt0!s}H3wDa{b;Mvv{a=qWgbmybTRmjxa7e|7tunt%X>}Ady
z)<kU96muu^V(F4-v(C5=^iJ^PKBGryS}<17%+mlP#U@s!HVd1BTZJ0@oqff2d?UPH
zt;}n-NQLJ^FbvoSb*Ek+-dtdfE)$&33OY_sMCOxT1f2IrO&zsOtSNItf_`kK0W`tm
z2#K`U`Sipu@4q^*NKLcA`j*v-SzWS76T31SOX0Lm&>4Cbm#^Q#7H?(v{(b$bw^+_`
zEV(@(Cw!G^Kf{0JU)ZFA7>}r^r<xw1@#CEJ6?s0~I6ps##erOLY0m8oep1AlU{~KQ
z2(YYJ77@FNd4H=h8g!nkVWzteXSk28<es5Z#Xs*Gii#eB844a!67NChC7PE_PLqdk
z`L$>3#PiprI0~X_HF^lssnrQN{{bhxa&KK3&Zf}xdWoM>4l(QK2{y6GLa5JHs_2mw
zF#`k-TNSMkn&tv)S?YRX6Vq=FF>S>5xl?f8z~G=0oI^bG`F4h>V-@k7aa`93YV5su
zuHUVucAh5_kNcSvak$`d*_<?UykO1^f2KW;*NmBD&SF_a_J3o0{~I3u`H%m%C4eeR
zwRQ$noD-S@5Vllb05&_jP<LlxdPFufPMcslZ1bUOhKcj3ii7xp+*rsrk!=bod0{p^
zLTU!r@WOvH(x$j?&V&?gu<06S0Cpp#M2}X`?hol3NsJ&&Rz#C&AdE3sXmY_D5W6+4
zkfs7wiDMs}hW=@1;w<I5&d^Ji%+1LKY`PYFu&bhtWf5jkfka5D1R$W33UBnQ(ZxwI
zi!RP0?kqok{9rgPITEc#*p|h4NU%);9L32SpkHWW383bzk7a81c34%jR4(|c)8Bw*
zxH<wXrGKrMkyvBotX*0!@d6$LdeFjBz?85w_1Cl-7pun#=tNfL08jizngR%#(F#2C
z{<E#C;=jGn|MQQ3_=N?WpP#<*!>l*eegOSi_kqi^msD?K!LYo?^kVVMbvd7a->}3d
zYegK~tAhu~GBFjfcAeSwMD%03(gi&81w)U_`Airczmd*F%_(ib%tCuTik?YUlv02{
zkrCMwn0h7#;_;h!#zcfMHoYXl^f1piti9MY<55(t5g$AE0rZ3W?<%quJPDZKWIkEG
zkv6}NUs=#KN`S9-K#X<@b7`6~adQv`Gc)6*l8+f0Gc7po&90>5QIw~<W+WqG**BU@
zW>Se`KaCgf+kkVjeh%frj}Mx``Z9k7M@rJ<?W9idIIi?wM+s)@e~xh#*zCi`pZ%*>
zph`40|NOH)(3I4qm-7S<+Ag7)`CFvJE9TenfuP$J*lGg=ZI=6H5wW@A4ya~2_NJI0
zcv(cKZ;VBvr9)OzeYMXcGM>!PrW2zXZ0ZMcr<i*i3!a?QBTvUy+DyMx^IzT!$S3*R
zN7YF+*vig2_4}ZoUi<*s1L5t6^n9?p*>fGvQXmDblbFJpbgLo`j8UBNDyp1=cGPiU
zhMd*Ee*NN{^znv4u`9DNcq2th95d9j(ypBft>=Rnrihj_$(rOqAPg`v@%bI%Fl(Ys
z>@o|QxzE@n%&gfAdeU1ZT7Y$CjO6v`3`@vzur_O$<MI?V%$gIr$YpfXtw!)R9|aH}
zkJu!)``6MYiHU_wdjqF2&N<BaOgJCRGF@z%Sc@N}I%zSRCT0^rf9|VdDf|emdI}S*
z5bS~~aTJmC8VNSfA6Upr8|%WZzQ*9BZ2P0=p2AXMbE}rFdH;#1h-=cz4Z#r;=H70v
zgDyc2!Nvf(lWtt^TCa<EA}H9y?rhhoR!k>RY%+({-6Xyr18bh9U|AWSH0k>Is5y5r
zo+PMqDU~`^rK!apZ_x0&KR_u^U@3()Cc)V3kDdr;80>=czJWS51I--wU^Ca_1kb(u
z6}=X;ve3+Nu>#blU5_}ScO^Hqd&hbW0MoVfrlzPF*Da!n=2eU)`tysd3P1zG51?I_
zV+mbYCoug$SNv!r(Vt(RFa0kRMZYA*Ca5=m)f!p)u?avJkg#;cQzb?b=mHn?U=2$!
zf;~}-VZi<*(Y33$fx@h**1G52a}_h6Cnwu{h&0Qgqrq8WJ8*$Vk#UnXtt1$#;<3hH
z*G=x#-{y11FzM9Gbu_Ia!G9ybB4<|jEwaz#iu&IC=Y4zf@crfgW&Q>OtXT|5IN#ue
z=E^)SX~3U}f*yr+y6Ocz9dZelyijQc?TLOS^;hUYZn!XoC$za!xS_@bnyKSrwRmy^
z1&eGaI(mvEf<jCEoBnOz)Y$w)h_G{f=FmxnVZa0=P2vgA3fgt8_83>po#Ng;Q^yJ$
zbZzK#AHYfCu?~I{VXli8$iz(R8};c4CT?4VSl!p80vO4xI5|zxlU^coKH$OX?5Ij~
zMQC%;{&52}mMmhh?wet=)KmXkA!2&N@f8LT3>8`bki7(>)sN@<Uv(L&=&p4d3)&(s
z4X6-{KQ91A3Qa#aOB0NzX?p4i+Tjd#bkSp1Y|bBZL&vVL3G?A$;`{4A{`~XTKmW^r
z{nx+#^yB;Q-+ke)z2do}B|BLU7uafb%~amLaW+RpL*`>I^QY^KSp;nJ2mM+F%m;L9
z+VuKLWNhvavo~0wHg`<VuB6z!x4q2AEYJxA<a#90Tr6Fl{{~O%c_Oov>#~SgmI)hx
zp4R!Gv6BjIW;{?Zy)$g?C#bRKc<nZyK)hlW0gj7%t`pFB=KQDiJV%2<o8Pg%F^|hU
zxNaZ;u?m?Qh|h63hheE^K|Sz#>p1qv3q4|DNGb3<mzkwMrLY8dPw}umpuXTYj=>bL
z$yiv&5}Wfp{OVY<5|91pe_0}W6!~r`m?iU%5cUuKZm?aav1Y|8U|kp26Tn&>E!`^E
zH<#dv8qHaSpzKOGjsnh`I0q6ztrKgybZo(So8DB$!~Csamrh`wm4AR=oUrj?Z?03V
zRQG|+Snk`DB8vwDbUqkOK&WKsalz>+uvCZ#h(9)@axIv$;PL(J-%qJWo{w__XjXD_
zb6uq8Z)6%DYdjdK!1`@{znc%4(wc4m$RyyWj*)2430aZC04@+;D`^_pWeNlIOiOyZ
zi^RaJFfC6i_D=BFYnYxoBgaixY=X~$aYmRz9fSqN-ZO9g;gJ}l&3SIR(46<NiLZk-
zi36J+$CZCz7ghmRN8y%bTobV_O%3OG;QU0#Dd_Ca86&Y1{W5#!p@{{?J*QxEKKD>-
z@_NAKXA{8Q)o5&fKmM3=RT*`1p2Mu;aXE8uAM6z?c!uArbMHBaMC^H8o>$;O)Pna(
zb0_4|t033O;F%v3R(><}1iy)YgJD{5GCk!haL!1qA`4+4AkrptHc_WFu|Tg@)VW?N
zVn8}Jb+nMgO?aIWfEE4L0n@{FKB%$&inbMWfam>v{Vsda$-KVRzqc&9OhI9V{)!xb
zrLgO*ZJAr7IFos1!zJt5*lLP?vJkNf_Fo~<3UgBg?p+u2df)6UA~f&S5fUeOtZ%NU
zV<nzA5msQtkI#?C$NCx>hve~LJ*yK_p4y%@TeGs^dJuTPUM)_nsM9+GW|-Uz6FnIy
zoJ$#?o%^{BM{~;p>aX?*16Jdxmh;VKY>qq3QN%hHgm{Pq=Ah7n6=P&OpB4JCWTi;J
ze<ryTJXzO9u8V2^1_P`q>U)WfYs|FX$Ie4%o^uGGsYe0&x4n&DPekl||1yQ=)fSAs
zcibQT>p%aGn#F;~59m8v@I<79q?rqTVwc*=+SD-s6lsDxl6_%eU1mX~;@9zwAtDnD
zyzm<U24leu(jV}Ua?{QacBfdGy`s8P9s4#nT94#Jnc(pOg@8&J_yM0W35Ho;>|!6V
z*69IPL3`bqZHo+pOdin0BRad7nyi%S8dra8DgwLJROmNRsAE}(NO3%#=wOB50~Qc0
zHuFK@oPf+Cb4n&|P_RZlmJ`e(080@-b5J;5b`f(<cY0d=%%3KSM$TNDnW0%ZpN%mL
z{`_<O5w@;V&#%T9zasmAriXi|KT6hLh-PR<2V(Mpau0GD-8XUx(?b49yOCNV5nX20
zndqm2<5GlX&VNDckCTF8Grdsr=q8q$HbtkFB|Ja<cz^%=`Nuzg|6aeq#D6+X2m!Sn
z?A{lT7hhE2T>xE-HEr%QlKE>Rs;}{Uz=I7m8G1!Dvrf<n_^G3iXs`D($%Rcbfwh%=
z%W_KgZi$u(%iG+$&nQ;VSeM5)=!DEa9+~@0k<^*>bpjsNlHRkm0wl}xncfK=t5wkh
zo19lG=o*X6Qffv?ohhh;mBfo$Crqd50nbx^|8=z+o9FWl4URh_BN78~&OhEb1G0yK
zCiq7PLsAs6940Iz(IP^O_j&xA_526I6gYu`<-Gnt4Y&g`3IPrW>bVb~#&RKG<?Hyk
z5bJrU_G3h$6juNIBZN$^M=SgWw2(mW8Lx|#e-u=Zr42Ma&-uU2@Z<QGNs>~W=lW+&
z^!ssth6H1MKG~qlM6CyL&E%+)BBIX0ipYKjn^u+%Tov>H0S>Bw#6%cY(TyH)AMj9t
z$zW$z1Xl6V=ZV#(&3b9d(OeJQK>e)OUd|jy6F!bVLWOe_DLQXKo$^0Ey#1~}PKd|I
zu-!is;E0}?b26Ui^S6@+mIlrt<a)VU(Id~{>|jYr7b$vR>Xmqqt~}RC{LI6Yj0-f4
zCk%2dAlL5-ZD_iIX-*3k*;Z}W#=Iv)VAlaU5@YAwCiD6-SY{%2f`8ittpetu$^KYJ
ztEUo9%=_USWzK)*(zVnz`sbk1#jY^e`e_o0fIN^u>fq1Z6lt#W`5HX;p1ZgY7_-&M
z`vsWePCLP4Vptv5#GmVQBj<yWiDzQin#5QIf^}8*3Fb_0mV=0<m)yB1pjWZMe2g&|
zq7@Z1M4sDif;!`B1)b+QwAh@_hkC^G8Idl<z5UESgsRf#n-g#*pvK>MmqAIf87oN<
z3#Ke(I(y-`_<1{0$xY`ip6id4u2bD2^X-OweOvc5z&|UezV;q-l2|;m{^Y!B?R;N0
z#e80xBv;}Irib(SYyh*J6(qXi##mV9-%~4&{VZJd8M?4tY+=(nYQs1KS?p*3!n1nT
zyUu!ixP0(uqUZsfXMcJ@Jzv+_eHEGb1e}kTcwABh?42G+Gw(-c5inpn_1xP}>ujUI
z=Aoc9bN<XBAfK~sQ0FG;RRr#1R_*~8c7eH&ivsN0V4f@axaeecpO|%~zWH1Yz7Lgi
zu483fJoom^^CzT~=ZVbvrgzmMr<3<pL<J4>PyyEU)nCVXe!AM{M20jK^Ln3=56_SP
z!;;r<Vi70v06<S>&1TK%c;k&QJ;IGMac*cXfDK~Er7VenD87BZ9Di*VW*z^k_?hj%
z1d5rvK?=R<DRQD%R%kM}87c9zIwmRlg<Kb89WY*Id@gKAJRa7iFf4)>48>+m+@On^
zSkWU)KufMR;5QxA*z*gCk=8eHGGExlCS3{_tHm?VL$D@x)|va`gAM{Br1A$k=L4wN
zoHmoedOny=6VOaD$ID)~v4%NLEo|lq#u%oDUUY86IuXPW%(~(+x1-pH`T*kaTt0wK
z0L_ojH;NO(UjBIfUVkX?`uZZq{Uk=rh3`MtH?lY84HS~%pU*-#Z7r}a2Z9Pa(23O<
zJKr#fO`vzFhAupuhiJq`edT~#(AV?hBlk?!n0@nu#ah1K1^WD;>y!U;#0Z!pf-fW;
zc%dsT=e7{fhm|~FALun^T86{cYz}C`(^DOnGk#MZs5!;QM;#Y)Qv?t94FYN($Il+{
z5R-UFlK`92omD5lV{TSM-@D)D15MKdiAyz39)A4z!^j@+g5#>^e4d}zgX4w;GkFCb
zA5erjXpO`gS)~vBrQtIk@NiPa;|{2^|JX_H+v%$6t;sUo3Rs+40=D@)9)I`_tq{*o
z(_?{onh3Q8M>PVlq-crM&VPY1A#tf=R+f6c^EwVa{$*W&(>fVC!u!t|)@2wts9y@D
zCf1sh{uMe4QkH5gBGkd+<k;B@UtP?a^TBa`jL7+J1<0>c!0-La#Xhb7)(r3c(IL+t
z^<2g0d;5FCs8IiD=Jj<s64bf=pgGp-H=gLHe!Y+c!~DU6esNqpPDYK*@uCiPq*%L{
zjokOZV4K~!MD-oa{Zt%7l<gB?Z9bIun1CWpk1vr_V9&7*gwS6>gZJP255^SP&v*cj
z=VvB^1-h(1F)QaY8k<tC0#Awnmo9mpmH|KZk3as1z80&_1dsO(wJd*c2-5&GI3?#J
z1gr(}I{N&=<uL0QpYzkMbHIk<s<#vbtP$Jd^f=Zm$2{Tf^tyu+YgURVz${4-psTZY
z>fzxQUcX?G%Y2S+Om79}bMovW5lf<0(4Hp<EX?^Uf-z2DD+1OBJ)7SO0nhXE<#~7$
z*fV~7)&pL^lL><w+wqrkKHy}%`m>W#`3I><*wz)iZ_~Tg$$el>4Dy^Q*~YxT&?*AW
zEJ|V4nLM}H+=Lad6Z}1w!o!4c{$~hC7AUYLLh4{?=DEF-RxsA{+%T*H^v_7e-&_~i
z6ani%(#0mr*V5G5MPdb=$onIh1&OD5CcR8xPR9E=BL;&r|IWK$E~2xGXhaXSusL6^
zAzdHu^L@>%cDdiqZ$NuKuPGk8q^J9LK0j7XCp@QZz{brwjN<z#m~~)9G_EMr3Y(hf
zaaKEjp}ExcbrC;e4l%X!Bw!MMPpwd6b05G?k^6u+PyL8g;56U}V&6XBd>S(g!5z}z
ziu|@-m9UngE5W4Wq^V~TPn`tEeDsLxni!Dvw(mmLWpiVTC(QHwCI)LQh;^Q4GGc^@
zTYM&P7UJvUy)bM@v-_{W$-0<{ctphBNj#mpljEX|nCJ5(0ka9`<0$v)I3LpI<iTDr
zAk(%^0%qhrjM+9P&+~Ib=pqcynfW@RkgXZ+uJ`Bn|GEBijeRw>CUeE<h9)Lr`m02P
zzBw>m`AMc_r=XX^&lLp-z_Tql!S~)cc|ihBQBzI-R_AXXpk?#t10b<JxL$Sxya5UG
z=~>hS#3m$O7y=NhyCFs~AB-l<U#Gdz-FXA+SaS*{M%J0^KNu;lS5Mbif;!cGKn2Bo
z5I0x|FiWcd)?#n4Ip;IUJ`0|uj<GB<(LceN8}t^C^Vx#*GF1k3T~)5*Got5}D++Y^
zLAf!c)Pe7#mik@kQtEu%&Hep*eZ#BEuG>oc>jA>6z~3o`uHOP(-x*x-&P3~tyXqdJ
zX#YCikN`+Qx4v&!nMAP&JdY1(#IWrHbgWtn6a?$g^g**TF5o%8a2kK}K10gKS8d4q
z8&5nx-#<Qidf<pK3Oyu}TK{+4Z!hc&J4lzgfo9IP&Z-f$@lZi*av<n3ciQ<vYa{|(
z7tL7&`q*9uQoua_tt_>KKHmtQb$~GF6Kz2ge`j6nY)a3lKzp8;t`?3RmMoi~{`s^1
zNK4QUR8s(Dm#Y0)zhlu6!DfE2G%dWpulvd77n&11t~yo$+jSlB`nvA(#KZy<L(e*Z
zKOcy1Ha{peS0}{3N*wcno^tI&t_$$`O1jYW{6Skmo3TvCD!}6<1cZC{Rq9*8bkJ`b
zv00dvr%p^P+<X0HA;dUy@s}7d&%|5}ble}d`qqI}<ygp7?uso^A3MMD$xC{QI1@`@
z=_R<b`WV`L9KXI}k_SE`gU6S<R;XHieXR)QFjD^Le~Gdh1Fua4bHhgeeqa9C3(h~y
zi1U4QD{C|M<>m4L>)ew-;>^wK8Yr-kTz4S*z<;d(#DLnYGaN@^IJ+1K&2rcoJak!5
zY+`@(@BFpktjvAe0C3RGE01Af7fvSJu|*PrnIv(;3Su2f)VjywlIV46v+FHCw+e+&
zM3Em{#Ul)qbh~V-x8TojU%V^N2hdt$az1bPd_L=_bG>i4@H2GP#n4R6Gfn5M$wasW
zprAFi+kG<7)!93_?hI34Ig#`@4WXIe8I7L84_s{O(T2_G^P76k&FfJQHlm6ixr#I)
zVQJpme|DGNGw$0)50MMA@U{b-4<@?*U~^?QgvFApM#O?CSSzHC@d&K~a(rVIi5KeF
zWS;hFg|3_XLk#DG6<{tZV}TyI_XBv(tE5kRlPx{uJnTwqCXjs)HTK?h>hplhCs(20
z0LcvVd~P#hyDk*?NwjGg*fpOIdj+fh7P-`Me2vWhgQFNZEnNs8An3==lPaeKc7ybJ
zUQKeIY>DoV&UBUN_ag_FYbwvN#rOc)`#gz~N!~k-ek4k1mgyKmiUAwv_gOZ*F2EgA
z&^7DeT&i`=uV*MW-M2IM?mu&%u@SlNZ7>jiV`70i^s2-3bapkhdET?>s^R^MdEzSP
zSN)TuN8Um*ne{wSe*>kc-rgdQOFR|RO}gS2wf;nEVLQI@d!4Ey!nrGA4h`FN9hlD+
z3Fm=A>TEIR<8Imbx2>2zSej&iY=YYB0=7DyCu)Vz{F_yrN%|)8x#h;+&;Ly3zriFK
z2)u~E=Dq7>)*)=EW;UZ0u@QbQab`QdvEJv;ehbDE?(M_FfBBF9ozOF@znRSpP;(!P
zxpzan_X2$H1`R#_<psm0eqyEt#-$6<sf9WLK~E0kR)-_4*!-C%<ZQs>fhTN(17pkv
z7oGuYRpaG>-agaTXYR%mP{W__0wBv~AZ4ioJ-HzUo7?==*pQ~;-UVhs*wW`d+oiqt
z%}pS{ZRzbPaI!5)kHA`o++Z^SSSn175Sk&m5`8|7_HsU_R88^tT!a0g8cr?X)b==+
zrD5^sKntFZx_lF`Yp;O_$nlCj66;h!^chrRndST)<@2lF^rGw2vHBgdRoO_akRnsV
z%lFqFWeq1bP27sCKW%h4t3>1em|hd@BEWIP@6|yQTa)XDV44X|3O140kPmi6jeYDt
z2KDy)>*vpZ{C<0Xef>csTfyZ{1xK6TfbM^SeK}Rad|{jQDb?9)+F+AjY-e1+Lp&lC
zB3NKWbc~7GaoVmd$s1ZQ@?cHC$>g>J^f{25>4*sE#8qGGLShv{fJMX<0u=Ttfb$kh
z*TzjJJU*^BFdK9KuWgM>K&&DjXRgKL6#-5jZ03B^D&Xy{{HYd8ykV=#rOsOKX4wZ5
zfnY36xK{^Z0L;z*cw6^XViaHsSRvq{*F=g~2OFoNN*o1mzK+v{-xP}oU48@F+|3$b
zB%tB_*Sb!fo))|=B*E~}1-OOHae+j7{R$DHYm|6>eewMpF|pwME#gI?etNvD_p1sl
zG9SwNE<??$G+Cx^v#OvbzXQ6cZ=}|IHgdn(?BnsBnmT?S!7k=NbOEzh;Q6@oAnSbz
zVcCm5rfG4g=+hg9_~(c3nE)^!Y{CLn34^X(pb6&sbqP9&?5HnZPi@Ap^}28qr2AoA
z7gQ6Qq}=57ss4&RPa~WFT!UD&)eImv8b11u(^{|#ugbhmWh~+qc--fZnB1>`=2Ew=
zFMEkc)Os3E(LT_10vI{*K8C<XVEYeVt@BOKV$5NKfnYU`X3n2LwXZrCAN`f+TW_B8
zH{6Fg6ZMuJYLsIi*aU_1F#rJ^K{WnU$q*6Mdpb|XiB#lF*v|jpx{T?JRh)u0!6HuS
z{6`%DkI!%FSjc&D_EQrPtH^V8{MwnGA_(S*Fl>_j-0=0cH|%Qv=lLv-!pIbdY=TXC
z#R_0^+h;rq=3}A<ch)fsQUuI0MxiI`GA7mlXChUld+BmG#|50)kosPjkRn+8TYT8A
z_gP1c6?J!B!4TSrX&JXVj)ef4DfzsuKLYXr$~KlwECs8|fvZbE*v@CkKo-HKn)^nV
zeys7SqenXhOwI8ntG537{G=wmM2fmImb2%wW`&b1t<|*gpV`i<;1B#L+pWty4bxx4
zACuv2MsQrlr1$l8Twlir(DeE~7a>j$aqk18hx#iR7hE#_+&4Dv`I%lSSOmNJ4w%ML
z$Npp|6=DDtV(&q3t{1ey+MDyFxZ`G&DWb!4ZuLE{(i{H$*T3}lZysPH9-sQ(;xkWt
z`Mx=r`u4Vt%kmy~!Z;P6c2^BZ*w%z3=6VTsozG7Ny#`DR+0Qu&oL{dE;C!&TG1I5E
zPCO~-xuk~Zd*}032h@LaUscReAZPC^1^3p)35-pVi0t#my$`0hX@v80pfFEn2wp^B
z^L+KmtTV?Vaj9!R`)m^%fj#fDSVw<)5p$o<bzqi4-<$u#%hUg;nhD@Wd%9p1cnrgC
zV%{M12rq=0pQ!)*^Uv<z$;KHO!F($D8haV84%9)<=<=o_LYQY|Hd!5h#IzCr{`bGt
z8-5_0uvjl7=MeBXN=C$r{x$W+6#eSS`Gkv=P0#tHI3DYZk-=P;^EAtJvDq0{5RA=<
zXj2R9e{zHV8m2k#&uWY=Zp16OVQJR%!XRL?_z|Y3Cf4IfB6i}9zH1k1EbEE~7?(P5
zzM(so;|d-@d;aSOv}KL&0t*AkTJ1(>Q@_^|PnWGCHnR^^^YhKJTtiRwkW_P?MNHSD
z)(`Kz#vXH<=a0_V@cekWPOW3*&RZC%&T;1g2UF<98sMNA8ca`^!uvyd6<GgC?EBld
zA3y$h|KPd&2S=7s{KkO`CAr4!Z$NVZu;m>P$p+Tg*XTE9E*3#=yNlVC2Z&VAvcN6a
zCc}1kVWiAA##68WEa`$@I|43)Vm(_BY6Tusz&e1|uQd|PA^?9d45mL$$n_E^(*Io>
zD5fJE1)WJkH?QgtsqlOdCvT}EtBTB0>7C&5pCnrcG9SbW8gzxr3$sFQzQEJ8VCIu4
z&GQNrM1Fr+KM2I5kR)0J((E#o9t$h&sG}1|(ZAt!im2HfU&@Bx*Z-0!>2w(nU3k&=
zpG&Zyw>QSIAN`4`zw6nWSC!juWIOte+4urcBD0^8BK|Hv`RZ8bGtbX_2ulk4iZK1T
z%9IfNYuo#Wa83P6AKYcGx%UA2^0YoU=wn!Q{7B3C(w|E%{GG*_K%hyM0vrADzRm}z
zxTEVHzqoZC^(QRcfM6Zwi#S6()=1J7c>F<{p7@2{wFAe=jPvd7?(-XT-c>b!=Q6p3
zaSmh}5!&!FJ_wjyo)0r6wntu*33Me!)ZYIS0Q$YYz&ct=*U~Ss1%51RiI&!Wa9mw;
z)3B6_j-6!wtKBh>I&_g!KX&QI3|MhJwCA(V*|mi&b<97#TNuoJfJ_6>g3dRf1&`LO
zU>&;VbE6f6ed_`{+jH!O6?!g5sUvEO_w{Hs8k-(>o6?=tq!>aQ48WP84afqkL{rg6
zJZyDxK2N%5Z9C*9kH_P+(Mgx*qTYtJ4`dNwu2xJGn_3fN6~K9Az$^j;;4~(|c(ym#
z8=Ie|%p$U_7tc~h1?DsN$NfCxJcY2Oj`!D&74V$T2Qc1%&C-iaQwz-B#4d2*=5t6e
zcWwnK`V9zq{W4$*umU!v{Fh$#);x}~nU5s?=J^J$%bmw6@Z@~nEb&#YNpYZytUh`R
zr!>K%6YG5Rh|SNd_ecJBEi+=$zXN(fdXHRn{`%|RD*~>+0bPTQsoGrKCqCZS+Fh&`
z4;$6}JHG!FBZYXHLJ{l0>b?fQ`{VTHJW0flxM?9Z71?KP!YGKX8C)O7t-hdh-zH{?
zSqDr<Oy{a%&8M0YbfnKbW!L_E@|yVNp9moq|MT<Ox48q*0gI_!uaFh7U8km0xfb}R
z2hR5&bLrY_NO6enW&U^Iex~xdPCUlU`g1<)=bU7^+#j03X6on(G#OEdS?bt|NrF3X
zCtaOg=#SX&Ircvd3w|yK&Lp_5oIDCV7F16$KTnuqUe}ZD{1-gzv%+4iLu4i!^Ed(?
zMb?#Sle4pa1&0+UbP#$ICc1)}oPXO54v)eOB5|G#zy@LMiUnWTx^`8FsGNiC#0o|R
zn_b}IKR+mIz0o74h3zMhU^DAVuYz@@!aR6hNJa)c^9DrNQXOd`MZ~6A2~b0o>z$e4
z$phSGr$}+|L=-Cs!N$+YfagPcV_laOW*u^knMJ_!A&^2Cg06TJV3&2Y3bEPKtRb+g
z<G>;g;f*_yom!Zc`73~UG+l<_QSgF+O>qM#Vl&{E*)-81yb+6CGS3qeo$c@6_4}Po
z#8E{X0!*xh^dH4XAYbd3$6uyFfFcW2xJLNs-zf=JQ%vhLwBR>1sh|zs5D|s}8c)rs
z{fx*O!3pS3aRtnMpc$JNU~)z6H=sX19$#O7)Za3GtS{o>`TpJe0Ihn2tb|V@>l@JA
z<f_#ui1hx}Q@AV^(D<c_G^^bniwGXilVGU?Lk6|UgzYjW%x^$nvyPYPU^6dN68}8k
zCI-X`nl3H4_IOs%^^&*O1;B}&_u)X3SCUHWB4X2d5;HfylWM){Y0Z*Z2P$)5%481V
z4**O|5j<#m5i=N^k1+|xdVY4m>b1G;p`f!r6Fi^wFBl4&@jDHK6@+H4J5ggd62CE>
zB)S80Gyie?E?Q7%IbPVrr;A&WHG9AU4X$@$7waO?B397m*IdBx_XnB}>oZoI5$<#4
zG|Bq*b=m*V@zu_`Z|}$N)y4V^Xq&7h{`orM?|^pX=Nflil9SxWNVkHve>ix>`3ta=
zD}Ph7AI*Trf_6oFJFg)RY~~Fc=#<CfS8BjKj#`NacmsxZ`3P)wUe5&2{N^k%TF8Ba
zn2CS$AYnptUSAVl@38opJTt+fO@XAx^WMM19W0fCu41cCQ;&5hF6hi3?dvT9`}A_z
zXGlTgjloJE=*O?)S6<x2t|OqHOIe>26Hi2D)d5@lf@b{Ae>;L*!*x96S8xQn^2Q@<
zF&lHe6Ft~qlX&L<9ax}ezVShi%L%iN>+;CX=ZcBzGIt8+Pr6pn-b2(=m<3xGb*u^7
zR1=eVVlz*)*u=lmuIsqEfJZU+0W97<b-$&;#5&2HPzGy}fQMk?6(M!B!TW#GV|{K}
z^Ee=P#s@rk-84*VBtnl)F)_GZh@1CA#5`VNm*)eJtB~{asxSwe*kBh>)=6sd<oR~P
z#2mh8_jy7ucE0Y!hNKIgEdcc2yWeI5MUDM+{0cP+3L01-wqqCiv;T=yxc_8L60=Gi
zoIQaoQ^=j<ID(N1tN{);2Hl@$z-IM*UFNT6y+1nsog(z>`FcMh^N$e998@y@ji<+Y
zzb_mMk0$<m_cyLDsv*u6tTV;DE++09iK(FQeE1s-3t5-`X`O?M0-N^A+@HU>UbMj`
z1ra1xP-EA7e|ZbKcn{Zi_#fZ@sDOTYG>aP8{ufBAJ_33=g-u8oOdV!$FfygIHB9@b
z6$89~PQRQZ6+ZW>u?f3({v<c(Iq#=<p3KqJbGY;(=6RLli|5|?@3<sNw22$`R@w>b
zn+Q4C;NG}-POvF7ozI!`K1lX0i<PZT5_7*IMj`jke~)7?<%;ZcEKaQJtr=YJf9AP*
z`=Y>pf4T9w1pS#Om?aPY@yGvG`A7APF*ki`AdLX6pyxzqz{+W69paZdARe1vF|n~7
z05C<+7T4;r%k-=Z?1junPl7>>-F{M`g?kT783++gm)4kA;J~2I*h`j0W-0xWrYYEa
z`>-`R5v|bEEYSG50THud3Ya2#NQ~bifX5dqa<}>9M28u_T`=3AOEq*sKCm!StFUG*
z>8KBmn<Ea!<G~tyyv!6hjWHN1y60~U+DM=XHXZ}aLU&%F2Ufcw7j&AXpG51}oc<c)
zsQ>u*<UNInJv~(&Q`mn6@Id3?ruVtZtO{X;wID_-{!T;0W-|?-sfCyE*HQJ@Wjt2T
zq-S1VWT4BfP_OO*&YZVm7?uhonrjiL-fw<Gy#M7?eR#C?=k4wCPiEFT>VBAb9)B1l
zb$~7trvU#6`4)-2_n_v%qQcxjG2K#HBK-gwY{q)Mn0PI2KPcpS3^qL?kUBOqfsQQ^
zh#_mvAE#j(#*1OG*@x<DjyiRnk~_B)IKBx^5v<>2M^Er<>3|c99|49%WFI8G&(D`1
zD8@n!(=iI6=^r74E#CQLbkO7ZOmnl_d{W1MVGs{iF_|9g=;_$ig<zDRb0fjfsfF4U
zEH};WzhIY<iizK4PFL(aAFzVXK2-8JE6%@sLtAeEj$gqcXqaK4I{K>T{|>`j46{7F
z+jsc}G&~(2Xo712JRaGVa$FhZIL?QSBr0I(o{w~etM6rZV70kfa2~`TYSgAG9Vz<N
zkH-&qD!MTs`)pUNAHEYK*?$9Q#zPZ$6;)F(=QeP^G7_z`lU5djUImr_1U7V3_3{!O
z4bgeMo3_Mzy{6O4gB;H`ydUFEvYk{{9NS-`j#8%3j{u!C`vc#aysHEJaCQIhA5=h9
zJWen$(JY$AY`oRq;a_u@mP9Ox+C$h|({qy5Y)g{>gQtiECqt8Xh1&Eg_*s|M{1qIA
z-Lo5}i2H`vtU|VUr<cj-=jdWh6q>~3jr4}+WT-`rg`COjrp*YmM7?bH8#e9sdKckB
zh?(H=eC~x7Xj5W^E}O)!<N;ltCujU%!Xlx2YLne+tO7>B74vu3&VZc%<i-kNu1KrL
zt~0I+QIi;@vhZM&`wSu&EL~tN3T%2@&RFmai9On4c~4MTK|D5*5jh_wc7byXc<$|I
z_5nf7EGN~vK%q{ZoAfLSwa(;DX3Vtie>@7{{Tf+wH*yH#!Fo!hsTH*q%rYI&9v8$t
z3=0NNXNHJq_rk~;>_ERCI6CcEJV(F^OA60#)$EHhDg8Lifvd!#zc8e9m&!Np&sFP~
zz{bb=69WtD<G&Z5qcG8LV(e^!VS>i5r}7Vh&3#6z0O~8Y_>f4+Lb}F6Kh`1>Ugh;;
zW$KmR*!037CZ3AJ^R$9{0;{*f)}4grXaAnK)Yoq*{g8PY1L|C`8&(bmWARgyYCWIA
z0GaiHUiSggWr}sCM<F%?xo4-i($#3Ju)SZ~Vq`iK3{wk{;8=j?UcCE>N7Pueuqh(;
zo=NV+uA6vYrJz;;9``dj-)w@K>Dk<H^s}9Hrp<kRn|6*nR`kz((*u-pKC|)^usQFo
zccxqo;U6LNs8stnB%ZiEpWG!2obiiI5`|Ke1l$xs4;CmgMVerJY)Gz?)Z*E~q-zvg
zyaGQlCTj6;AnEO-%M5`7)_E87E6l|TnmP(Spq>*Do4J5(DsI*h<Ii|v0eXt_2hDcb
zi=C5^N<LUQ*KB)k1%g+8*Tf%f7oILz*aS*h4Qm%V7TkY?wsOX{D5mAXh)C#3t)UYS
zjwt$#2UFB@KgF(G@L)lXh=ShL(cr<(3m&>>NB^4Bc)_r&;B*4|5md%Qyun~(t52R#
zh>BBaCf;VqdiBT7`jhQ}Bi8*f5gQDs{T<-3OROMCS7`BLGh77Wzka_zK0p2b_5Snc
z&*Q_3nt8rKOkOHr86BGnpvPVXFm5Jbn7wM4=cg;O>Gf-(0`O}m#?Nn-=@GQKa4w|)
zhsF{^(+V?;HwHSff`;rv(C@zp5uNFBENWs+N6!x$MD2X0f6h?Q!Qx^sDOlIO?ErA~
zkzy82tU3Xp)>@(6SN`*HRMR`dV&{E8OvxKFL7S4AG&2W0H-Er}<=Q1Bo@kruSm0f$
zdQKkg>wBf0FeWLIH})&&;IRVBIS+&$EQy=lJ|GD6k`kzc6Y=f%qiPi}zH!WPsosV?
zi5@4yLO)qBSEQds67$F##ZGh*xSfFCKF;rehJJ5&A-hUIiT-}~JdRKGiE^b&*C^Cg
zA~QLP*wyy(_{4ctp*^CrV2n;G@Dso0+@!u%0UuxW>VTL5Xq?!PCDdRov>~sjKvSzQ
z-3rNa{@E@d0Grnrn5E9wQ81A(a#PSc4mZbr^oTZ@61WNEZhZ7#1TdGd%?kRmy7}Sq
zm_IN63aGFKPbP0~#D*zfl&=+BjXo1ug*)JKz({RQym%DzD-Z5liYOq#S_NY~K0kln
znh%N5U7*l!I?Vlt6?B{xK>WPVOkpp2E0V4h0h+8!A<^WcNwiLR8hg)B#{i&N)f?}h
zqQ?o$e=!z&Q;1oJuCbsw$DMT2dbLUuR%S!Zl(i0Gv$?)DKZ)%wtQPbT157~B`a9zy
z?tQ>*I+&}4PAUx3!hD_-b@nF}5cZ-Go4t2lc^t{I>=f9u$9+p#1-RiM`~UaPKYHdS
zjO|}T1A0COLgHtgpa;A1$0gR`3u7d^XA|tr`CxkL=&ZpGY*HyY0_*Dq0()KLvS3pH
zo$JeH#F2G1RdD_?yJoyvJL92;T>}ME0PQ|x=FlNGzK9l)m??4|9?rH8^*q+8xC?yD
zkU91b_?Ppb+ByH1>lhlX0P>eQEiITEk!JR1<sTL5mrfj!^Ek4u6?c6;+nZ(}#$1Ys
z%`Gg<^C8f5p5}^8_NSsx`1g<yPBPj$VA)s#)D+}euG6?)mhtf9%hTOc|D?12$OK`W
z47}fD1FF!G9*t$WX@>T%X(!(K+bijsS!yQF2Bud5XwSFg&LWC4=|YH2AbqQl<~_E6
zS#7dC?<LHA=wYi)#D7|c08vxNL`V_!O_4<L3_;vGuckkxfGh>M3Q!w{4RJ!^74vxm
zW;K}U5#3Wv&n&Bs2c}1RuJiZgJd~ttqqv!+|M>C0=*=wU&ENf3!B;mF2GA4i;=tEk
zr14-&4h%6<cwuyEkvfo=*|ZJ?H%p=cqQ)|f8orqtjO@ABpjPn2rFRP!y6laWl!}Gb
zcQCVRcN&`7q$tFAL`|_dUZ1YM`6xF1=C~=bcsy|{vr%KYnI<>TWL7giY!?9F#IDSy
zS5}KMAR^#lVu)JOfKnV^1vaGs?Le^#!-Qt=+(S$Y^TE-9geEZ#lo5eC_G&jewOH+O
zqe&5Z=OlF+1J)-1y3z%DwZ`k5#~q;`JICS}VP{NOo`=srzVmvy))+sQI@Lc$*Yf&m
zi~|WxABbn9!f!gHsQ~7`lAG)Xg0KzzvD^Nb)irJ(FS8Wi9-iLcKVM#d(EHDS{*%<+
zpDJ>F{;&HLP0o`Z=Ry}+7$$mhzOCqvpB@iNR^f3J!kj;vE`(%J_}$My9fQGuV3Xrw
zuY-b3d#mU*+kIH@ka*MYKba>{8`w9jiA18YJ^s2bHjHtlbG_Oc?0V<t2j8=6R=_I2
zX#m1QV3XrzA~93sxWq3>gsB;5MO>#?9}i?Qkoz#!I#@Nmh{@RlI={cXI<%##bT8Ik
zn^U|z*B@acm}Uk=&v}9xi{Hvv1<=L*8xZV$`c{>}#m@aVOj2szhiiZ)9&=L!&-@0i
zzdzc@`Fd0zA0Pbwz5c21gi>AL3cFs8cMCOMe}UBFN<iy!Gl%+5^W5=PaAQGFrS%8U
zQcdP|d?Q$Eku*akw8sxzj^1^!S{Fx{w&4CiKz1xg!Cu1>jCg)s*Qrh;(d=gzC~yLT
zuJ<Frc+kIn!!!Z*DkeGcVvYAW#xLl5c;1pbHy^h1E%@s+SKR|VUhgTQsQ4~p4CsW+
z)1Arwy!1EX&*U`)mg|_t8t6cs{RuQV{eHcDa9SEBcIAFzuAqHgUKRSJu<7yb1KS@V
zG<4+ylvG0i)vzn>fW2f@H$Q;3PMU!_m3VBL;LmXcXAXGg`7njODHS-5=AM~}5e#Mp
zG=gcM>2lmN&K8I<3lQEXgHG(z_?0yq#!M>yc(C8_x&|fyij1PrsmLBGW;4MM?fwHX
zv0!|fU>5V~i4^22=$erMXU;1FBHVC9P2zxNUVjY>^Yvm1>znRO0MB+Dw`yRR797_w
zte_JhIw9AWHUdkG+s+)a|3FtT65I!w^Uo_4S}TA2@rN-p7-%Z=#JUeoV;)ogW(ENy
zS}GMLHG^Yxb%@ikEHYRDsA<oy`v_oa#squw{vu1j;&HZH3gkFW@SKY)vj5IsC*U_1
z=Duw<_&#ET7;{CB;^)tw9Wv<^)xYKNa9lpAXSqGyb#-g`FRm6v^*1(?3pq4+-2XGw
zG-k5;Zt?tddEK9pKL5k9iZ!$|)Y8;~_iaY^V#y_w<8H44@SAuh@l%kCJ@fkg^2d;|
z9B!Oy10tmBRY9@{hBe~1r_XPnkKZ1-5fMNy&id!7^)EOtOAcf;HS}^dTN6y&Y{K+Z
zp+^4<0As{GT#f6ljg+z}Y0_(eR_L8gILE91W?XRtVT<I%&@)d4nu*`=KH%sVzJ0ws
zuji9g&`vhb%01BOd9_7W#o<XX+?yvSQnC~>bE6T&tBFzkJ%)A3D{-EWqu9HFGvfy1
z?_FQM?!a6KcwAr(S95xO{%`GHuB7DwLaP7*jKSstz~%)&8{FvWROgp=TLf$>Wa{k(
znl1&_I;lqej3v<qOz6r6iSa-|vtV8W9)OkK81DhIIc*M@=?X0KOqi(Ie=MU@P+Z!4
zu*-b#_=eDwSUeHf2&|Ysaa_7Od|`7s;~@nrQ_s1@0{*0Dsx}P(VgzkW$Z~SLOabC)
zYL~0&sI?Ch{dvPb!Nd8c0E3ePXbM_WOK>I(#MA=%@9$g3rr_a#>c^%CR=-_fWkimz
zp!IXX$0I#{RdXPFfv$(gujhLAc$uvh3@{R?VAJ`Zaa?0!A&KBL0FPOlz;3@|U7cQ?
zsROys7@!63C;CC%A2>gMJ$(EB{eS<>0eye3A96fDzhWuXfd!|`QpW=&=~%~gMHbX%
z)4=Nm(1zK>PojA70{+~ffo81do6PzKY~b8J0GbfsaH0oGSxIH^zS>p)bBOeTU=<qk
z%vfj(s=dA@b`jip#j4fS=5-;RbomAlo}SA(I`f0+RpqFIrzf>;p$I%F2+@dH2dJzt
zs|PI46xBV1czh}7G$x%|q$ZXy<FOG~W56&$KOKK`)JS{L^SqjT^!4kYCMy2seA5Pp
za6i)wH@^W5nOJoXsIyhDnSGGUwv0d8)9=wPw}KUbJ?4OY?Oz!*F){_s1xxt>G`EPb
z_TAuzN<@_IZ$tY5v=u`6k6(=v%zEg5q8kiOmJqesL#)@zqgmi#;-1g5mwC!oCozim
z<Nd7x(G<jrMTDb8fH4YTbZm+T{3coiixc7bgXpN0i1mIh=>_jgXDFC+fOsrT$oY>)
zAz$N<E(ZKgtO5?y97gp<_Q!SMF)Y86J=n`_k^m;AQ>uQCi{D<XoUdQ%aQZzwy_6k0
zLohbE5q2qv2ksS$WZ9LEJZWD4z~ds~cfDE`Q-1;DGM5XvKTjBx<7+w#6ia#Bd%hR&
z%=?2v>%NhwRR9ICm3&|`krgxqmyIz_!$_E~Q#6+v&sU&l_TpqeLN)s<ja~8z=btWx
z9_aD~MQpO4MuJlXx(HAQoY*8<M6t!E4$yTIf2G)J98ikmLOOT^!8(o`lIwHS854~R
zG`HtlF${Ya^L~OAbpDvF>0!RFi3R3klZ606?6u|;-j{6Fki$<F6_}W$S|UM>WgF8B
zG~eHAKhY+Ff`VAX;NJd+o7Wd`MwkxF!J~<X`0g!eM%=5zxby~#bjoF2RpLLx`y@ge
zNbhk9chZ$IVFNbYf5XJ)>Tc$gd><|N?TRoLQila9U>4`RP43u)tNV$O;_)?-Q?EtE
z*9WZi)4jSKd0g0lx_s-nBQCo^I+idsBDVXNGk(R*`*S$vQ<yU2ttr2MT|Li)jGIze
zyCx~+=N{~2E*5vy<6;+9fk%JM?7$}bZ<v@xmsw~01~iGi!>b6hH47AJQpYenXsO<>
z`UW)qr^j_a?0|3Y^*3WK3pW>zd9LYcfkbR((!Rp`KVmw8(Xlww3y$9X3wz;jUe}fy
zlL6~*)xh|(e<MSj>&(&5%<B<m9g1wsfDI4p2L5~3qrGQA9mA#t*EQJ!B4m4xO|PTS
z6qku7<Jzl$txje;=MyJ*UdgO;PtV-xpLHg_9-Z;^LT1gpzS|7z8_<SslQ3ElSnv!B
z=ND!``@%2tWOAa!utHFnBE(E_??O^1Jw?2MnmbFKPaw(sCwM4`O&vjJK89(h2zurP
zKgl<jZAQ4yj4rvZIPgv&Gttfm#|SVHQOS*Z9vA4?A}>6Nw0Upe3}A+cSUlc90qqcW
zF@J?N6@Vc)D||JI-^8FFw)qRa`l$ev0-M_fEY!L8&C2tG7e(+;aE1Y03YOzhHWKaT
zn=4)EvfDs_1?^(~G~Jmv5sYiI-GzyqhdRx|(qtefV;!0+;OX1<`YXL_PXrBB>lPHD
zx5hh0*UtG&>l_f9b^m9iV&1SO)<2iJ_f1Ud;Fm1w>*3qi=hMsg*N^wFfBy5IxQXP9
zAi%8N0I0XsK!y*LtU}aSdWk0>R?HGTYUX3EM?s4x>k@V6U6qYaZ--yv^F~W_0;8l^
z2|WjN<`1>h2JL*nV3?ZRpvSCP1Zc8Agt-Q&IiIU~Lo<SchE3>lAj9;CFJN}*?~Iy1
z);VbHLQ^W+9(_KqB!3L;+y!SRI?d^42<ITtZjKnQ^*%`!+F+W3wyBV(hgDyHwD)bD
z(-J{(>tneL@sq`FV6$%uFblESdH-CMTfFq|G_1^{n#}8cit`U#f#$rQ&pL1Y4PvOt
z_XlbSJzcMu-++GiUvAAEXtK|h*-)HKX+?<@50~S_BrgTlmy!Iy9f+Lb{dfISYc-Yi
zGu%^uze)eri%l~k*JD#hP1q9)HtS&kKl|o(VQDH-6VNubFW+mQ5vH3}6~_l{R#=Rg
zPkcj#FiL^txa$Gxq!dF`+Vv)2y{=`BGN1Q0%mr&!_2ayiXhi)2i-RNvBWJwt^wC=|
z3t6hEpbp44pySbge5?=PsG0g;ojQgG2C!bkY$}-hzyAC+Pr@+otKguJ{jaU>-+yg$
zUXPcvYSb}Ifn{QPsK7aC9d5PHudiGP=uRq}?K~f*&3z_y0FPN4IJb3$+Kr=Tg#PLt
zLT1bqoajsdVZrEFiT1uqWGV<vV&)M9{LioJKGq9e&@@FW@tB)ZSe#k{OivN_)2;~Y
zy?vvOkyOZWgn2&~oLGO5FM700tkN1wDV*n-%%>Mu*d*(3EMaa!nD+r=B>S`3xvm-S
zaXiBk9EgHqbLLLXa~&4X1W)Stn4zWFNkt;H))77O{rgXBA|u#OETe?(tlo^G(B3;A
zct>I#j-cm*rI;|i7M!@Bv$Eto-0(I@q_nRf_)Pb#eVdf`xZm0g+jDQAnz_)2ac%xF
z$|B7g{sew27!v^$#Lh0Y7Xrcx(EaOqRpJCr5W~Rt9ZL7JR^5L>xg$AJA1}|0%hIk!
z2NT^T{d#iT(XlXd&yXuF2j+bMlAdosTUiT^OOqm%e?Y<H&N=vc2Occ2Ns0mJDRRA7
z7HsNYC7LdC_Xjgi&(-B5v0ehipYMl~>w=gbw%*xwJ`bI1hEH|5`^KO8?9XMHWGNV^
z|63JW{3j5W+z4QS3Idpg0(&!fYQxT>$D`QJAF#+V|6(gLM+wGkMW)!8^&w##7d18l
z>)Ov`M1-jGxk39bbJI=%=+w`k3itn9VLN|PE$6N2f%<x46_e>n!Hs+OVfQmLOicC@
zX8mpd6TkVxz3avOnU&Rfe=V0e{Nv~U>R>&|1<h>G1P=?w1}}KJ&JPM&4uD}3JUvdq
zK(gA$g@+9^b3<Q2#|BZ&rbXB<oA++S9sp}9BnNDQ=ln*9V66KvJ&MhlW*&en8@3yL
zAkjIvGg|zt7pt!B2F-eF>;pF$e-c5V^}?9FVtRCh1%uN-Scf7LJRC10m+N>w@Bo>@
z=uQC3aiJzQCzxTmfC1-H#|b?>lJku^SlPm6lLwkPpJ*?zbA8G#bq(i<BT~dQIt}NK
zwkhcBLwXT-{6T`~5#QiJXIxU4r_-isWt=ow7fok-33&SU_{DX-f&~rteh|XC9CTVB
z5o=iGAHoq62I~0+AiW6pSu7&i|6uc9|N0kV)=w9>A`e9QA0OU+v-0`|G#7~9fPQ*<
z>8Le-WhFOOX2${^psNNuk@=erXyWyoJIQ@X@GNy;m;%cLtQo7YP9g<8?_*A0%OcH%
zUUIS8qcWhu^V4*(naHhz0SKMZoL2~ILNxLJf6D%J%aJ5kvqaq{kBH1XRjdEp9&c53
zz5m<YJ{dlkx!nzH(T|`gH8Ojz6^KtD07O)DB#lm@H}E^e+2)1E3hm-sbE#u<I=lwT
zw%~N0_@{*&Z=0P=e-dFv#*a|PGt-mev=M}54Z-upF0JGf&~CoP3Gn_nN7T9~q=<fX
z_pJRWGzkc4B7DJ+rULw4W;|d8$ygm#s69S~un6l@!IL+q@aOaGKKSLM*2l_PE6h(o
zzucx)=v1h&R91A)KFO+kEU%wuOn@SZDTwtF((YRrMSlIbyRL@04zvFK^FYl(I6moR
ztDCh5c)$S0k~9@HtufD^A3x2tX*xPi60r(AbDlyMHs^K6-s=D8`!Cc~4rrzhBhplt
zzn`yqJ8s~~b#=pPY9nca^S7x0^xB<`@rt<!Q+O~LnRqY&&vX{!JD{ii?YDJ(CQ)oM
ze=INoP|&5{n45U|@;2U(5=(J?P;~7ju-|{KKm1dWYlX`N^Et{R!<yTDAJojM^Vad8
zWn;LKK70e(>y`d#?Zr;;Os2=xIAaVoXK`$ft62n{<HyJd-*VFfYU1bmK&ts%t%i)7
zC#wmbAN>cgTK5CeA=9v$7II!|#ej!o0@{e}d<3-tP9u{6M*#yOw&%SFQnb*URiINR
z;KZ_D6qV4V3o?WP7+0~8=cPm{uI!vohJ*RsHT`H3q1L^zjxp+qb!G+Oc<3@au7hOJ
zh^Na$nELzo+d3GjRmiN934=n*@f^RA@~gjs!wSH(yX5WqyfNn{v)UX{!7G4h{fg^#
ztMz9qm;m%1s4Ze{2AGn>`Nr-Ub7S#rBjQ)gIx}Wo2j<WwPS4B&0z|zX&-$VMjDFC2
zpz1)!-<Ate-sjJc_uK1StuTK#6ZFrm2K2NucY<G-N-X}&-)4CKS@kU|YS%3lLT%vz
z%_%asKy&W3X}#VWBWjMTPQ9JKKr>@)^yfFK*C)*K^dz_If8dxT9zhsnpr0Qf&-Jkd
z9v7<jcn|vdXMe(dLKfEf2Wx`8;mQxQ4q-+rfGJf_GjkKKRlvEvU2LySN!Xl!id>Pb
ze;FCJ=e<<eUI#_Y<7yIrZEB<Dcs3VO1nd2`-9_|Vw<+d2&&276jFtJ!LBVyVIsI5`
z+MHtBFJaC>^kjcg!6Mo}|NK)S(bEZOUaj-Cz2SWQl-z&!fqr}YKb-NlCAnb)n>itw
z0YYecL7$OWA%I{YSAoX>HV=UnwAIecH?Ssd@X9}`*#$IV3gc_iJu3yCWZ4YtNOL!4
zSl3ukb9wK%x&eD&t>j}$c+Qb>-Y<YB+X8B5!u-*Q_|@k+u7H++V3PpE#4cYjcVH3!
zyaDU6Le|rrCHRf+8U<5zwz&{&Fn<zL#A!zmkP28mSj8j{BGv&lU5Z%Y_@QeSH<Ak(
zLjz5Z^QzUKuui-XjEDKB8EED_(q;(!Sn1e;fUZ&4#G;9DG7wKE{QCPJzkfNto>ISf
zoJ<JE&hwgT3cF&ba3(ZGjdi~xu+~v4U<O0ZQ>~!?_@iEsi|K%NTd;TVaPah2OZV$3
zpMb_&Jq@C>)+Z70Sk1DKO=h2_i3P(rZcPN8fQK%%B2AAUM6!h3L<aqd2WO7(x}jEx
zb+8J-@BSrS@R*36LTGw^K?-8=%Zh8PMlV{?Aw|z(t%(=|_&d9(2{mXRL=c971@ql`
zIsre->&&Whzbhwryq>6I6|;Dl*PkiWQ)oTTCpfW{HYzwtg#lPmXPz6sy{%6gy0B_e
zw)><068#}HYa&?Q=<01UnM#<sM{%t8i;2DYN(zglR0aiw_G-KAHFwVE=dU`>t;Sdi
zgF!LhfPVF71CLDz%-@=VXWBrKb!m|C$!LZ9>s;Y;{lIB~$9N6}ZVOHi=2#x*hAHfw
zZ{#sN{~429n$O3-`fPnWj|>aOO9py=UDuOYHd?a&Kz+JG>SX@$EROkj6GXUTIgdK%
zmiYDlg~z|dtwvCmAt-368uBQvShjbIDMqFViIj33duugM!O&&aB{4g9<LA%%!?r0z
z>7>cDE33&KOpNi`5>H=vJ)34A*z=Jtpr)YjzJs{`U=wP{hQrb#*m*wc31(SV%W|^=
zKE_{VOsSgp=k-<!s@B*#jvqb2E)t_7uo+0J2nK^1%XyTT8T@=a54-s2s?`{<k$+j3
z0MmUQkaZ+9Trmic-Y2zgX03<;e(zsY2zGt%4@StWLjV>GOMLE|Mk?^IU(!q$%<DPL
zr5+s*S_U#vy1#HfGg9lhX`}+sa1O@i`Y<O6J_i~$1teG0q@-&y?~ld^y0Z%x(=B2e
zXk#Ec#}zivv`&W<(H`eiV?$UIsNHaU1(uP4=G)u)7eW)d@;q#{*zLRvzU~m3vGa1S
zbK*2$wT}(yDX&3kB0PTVo%ZL?yEjTQM4r=TFucF7f0@LFU?shzZ_MYtK)e%M`Nw|5
zx^9xP;2++M5&c;=w^#7T!q&C&2RN_x3rD(%6p_BHR`Zzn?HGQpU)ZS6MC+-v2F-z_
z$H-{LwONIlXv7)D#gf}ISr(7SZHE-m^E;qt&H4J&BEf(NaeZcmXd^pyLG$~M@BLLJ
zx0AFQ#|IaJe&V$c=vU0vM6ir#6Y=Puf_bVlB2D=7ThHfs0~$eO1%J7F{X%?foL!(m
zlY*ULlJngr*vp)4W<ECKm-szSV3q>!7ylCLU{gn|hRr}BDT!(K;v6rA&0e+dKhV3e
z%_p!9ByQk$ozHkZF=mSM_5xztUy1klnb<Y=OM*ddSuhOIor~Gb{@P-g=eaCw_szid
z4Qr8Ux9v^hd7bS#SC;cS$hnT=-hPCTiW7FswyCnc5G7LK1s%u=dWd0Kz|K?PVZ~R_
zSOu7SqC0Ozv=Q2QfKDN32h!@nZbh)pD%ix&!jS@0u!tB2GtoL&0yax;rQOd5uExy?
zLySU5#F{(j118F*DLcWF8}mv&pbL@}JrAH2+T=hNHP#zaMIYGgq=Lz3{`fh;Y@(^a
z=6kd_t~05rAIqhmc<V?PTNO5|5Q<E{m>6NTcmzE!+*T7_sAO&lhWWrmS7K5h4>g?<
z9*;MJp$hdj5}<~vHRew*mH<~QPAkAlBk}3i`;YHfoJ7W&Qla;L$c+%3Gw6w5Y<hhl
zJ)}-zM4jVj1_!$WO<n+y#Z06tRVf23;yM5x9|->Q|M`=N{rvgf&U!?fS+wxmB+QzE
zQ%g;(O<{DJxu65-(e|EkeF(7GqgU2>eFVQT;zkjc<Itv7K~}F#EshpH$5kRH+3<<+
zSg1)fX|A9Fe(Geb4ln3(|DGY3UN=Vz__gFlYdw!F3yFcsJa#?UOhB6A11lna?L(;G
zC(9(oB{9?D$8ON&`oo-|O#^fS8dx6%#0l>|)_qwgx|437__GN%g)sLHeyn1HFf3<|
z@u3Us4{DIE&R*M<t=oE|KYpzJs7)9c*5QNKI`53EZ{2I~<a~tr6&(GWMz@+k4Q%$K
zGqek6V)b-?y#bB&`0scBZYNPST4ZC39-Z~K7eCF4Y3nD>%$m&OP><yKs#9)LRrCl<
zXca8^S@WcqiLfS+6k{T^UT1)K1x``|{#fw*H7t>cd0yMw#p(@8v@r%l1vOL4ufDz^
zI&g{dUtB-8^B0_I=CIl97kA>^m8L^B7U;595f1_<SRq`^^SA!06F|?h>>&M;`7j4#
zBq_hvakQos|M`3bVmN_yV&|vw6*VMv81>kSU&kL@%70izCErv2FVB7g+Q^&#NVGXv
z%>)2C^FL#NRyI#2j|YV{G5ZnETu(g;(}5;Bk6R&4MXsyT<*S;dHp>69#!Z+_=3|Vb
z3r(Ll2<Xm2&A2sEGmlTQ2ryTw`gnttnAp&%cdU+kQcVmq-f_jSSjC1}!A-!wy|KR3
zQNc(tUV9cZcf$E)7|>km*pDf)LF87@*Og~-{u0l@lPo5@BJT0N?-r4(z~h1U5VEjT
zR&<$~KUtPi0DkXN>S=SGG`@!|k?Z+n%MDv^N}+uYmn;H)Z$QRtWu8Yyiq)*ZwtyO^
zbtX8oe{BX+u)*e4e4fJ@F3@y6p$ELg0BntP0>9U{Gxh4DzemkFgS954yAHtYzI<~0
ztYFt42y>lzDQ5~+e~<qdde6B2UG)Z@tN86Y6IeZSftpU$u8gkLKi5aUq6<_2Hbt=8
z>oT#+M4J(;9`=j@WUU2k7>K5c!KN;C;^F7d4<Ds)V(UAhpZXtgKi|G$&Uh@aKI-mW
z_l^#`T~~ns1*JyJ-RRQ~b>M#a_0s?HATgk3(`;@yA4rPgYTeFt9Q~@k)r<k1a1~F?
zdGg@(il&$zaYny`Zp1&uye?68sbfTi9@*9{y{y|7Y14SelBtQA;7NU$k<$<9%Joew
z0^4(i0_%A<J^lsd>)X2D=?qzLn?m#IIN2ftW$n^tl=TMmHY!2cF>97bKrS5dE7)MN
zfEg<~sxSsv#HAX$j0s6UlavVT!wVUpSK0voc0<yF3rd!g)Z%d+2xDS%ZaE+bOS~d}
z1)x{jQ3qE0e!IYw`ND77Kw>N~&v-=be5&r4Bp$E76T@b3;)NKdO=2cbFdCaIP|tKD
zZ6+Qk8oJUxb0UqWStX99mH<z9utHUA+`qF6@Q~R3`_^HN*&x?=AyUh@l|M*;iD^<9
z;U{(zCWJXUn1!G+IDeXksR^EM=$j(!cY2)_O?s`INEZQ5@#W+9uWvrJh$-M~&BZFf
zbucW!2#+82B#8)Swbj82k+Jv<!z%E^>IwNL>gGxf+>;@|_|*CJS%>TQZ$JO`x4+@*
z@H$fn=rVHCW`Q*W=cB@2nFG<~Ol+b%<hCJcPIQJIp)eicgEAyo!P=@Pcu1L=I_@dw
zhEt4@&7+>@(WGPdam6J~44}`)iQ4(YN<PvNv62*UE3&pg{m#Da2q8v)vTSm`D1ek?
zr6!S67>_VMI`e-BxnkLfKm}p`nTFV$>+k$+etlgJ78Z=o3j;k`@V<<oW=c5<&IC*8
zab6@IY)%q`C6|I02?hi`zxRVqD#SV;*b~PaIxqcZmMPvJWqSj9sbdruDoq4KFq~JX
zxqpQ#X@~bfys9`b9Sqi%=zmv%a0ONnbT5a0)jFna59kCmVTcZ2*ko&rOpMdWS5xDB
zeXHX?i?6^ENkGySko$<9=y^R!HSqkROU#N5-C4L7&neVLtob*Lg8h1|{~Q!N{?Bmz
zCz5K!=rM5~50k8eMC<RN?%2-jq%cb7-EG3ebOrX;@nerLQylk9XFuTib?q;$b!r|>
zJc;4ZDBIM#vx+`nOaY(#aKh8;Ar6n2HO1oT<>4F9bKPbN_n)QiA<H7-PQ;Hez-Dlu
zkR>H3iB;&}YCay%vjU(yX@yM<HX&I+b9Fa(w0;E#z0N1wC8no{*tHdO{^vU6cK>Ze
zJ)3`uunqB$jGN$DFf&hp<IYJ2{L?D(I&mWbkUDtgd96pX)#PSYkcHYT+eI(hFtGym
zOkSv`f+AUnIW8Cg2@Y8wS>9tZse{MsUee=tzoZGqaQ{+Iy8q6p2l6}#DFr!SjAxRH
zT>rJEBoVPKMUEeBL|&&8qmXS4LBGNZq92hMn0gZbc05OTJTSVT1)VTJOOC_U(Mv?r
zcyp)FFM6ae&^%S#Dho%b!U_~;h94jAzkTKYc-w^F^_-V-=p0eyIV!;1E-+?;bggw1
zcryQ$e5B9krC3FHSVvN76GGE%F@55GG-g7V&MvT^dG-82FDVLa*REHEjH_o_Ak>(-
zQNXLn@87?F{Ca=xcYgbG08g(kulVabsyYix9ih2YRh|KurLhXJ39H>?{h70CYmDm#
zU4O?Iv1zWsXPYqWB*m-HF%3Ou3@{ROUd3<z3^cEAQ+Pa_u@|Ty>Z|&SWNl*hV!=A`
z#LnX_#Ub&co;KKYdtsYl=5J(}=gSnb6@k>>Ncv{yy3Osn!qa3mjv^6MqsXlD^k4tu
zfAT-N&CF>w59mNM3vDwZ1DhKyon1sb71P741B%#5_phPNO+mT30R8#rpV&l35U<9H
z{x#k``VEjYtpm(wn-X;PZISU@ok-*=tfs)aUFykvP@5#)ln6hu?i`#9pgll|aq{83
ze{J$$L9Z#;&`Cuv!-6Kc2Bd;kKic9Mjufp}1W)FPog#BXsIdl!GXa}s5r$2C<+sN!
zwZfFMwac<LtwXcY8vJ%?6NybCLJvDmZIfy|JEA>c+$cObe&`||GGhEdJdvMYKK}Ua
zt4}RDtz#I8rdtQ_JFBzx4KItt;`w@f_xA?-ix}nrHR=(MzzShY-JeIXV4_S7CPplt
z-k9ot{Numke|_}_yJ~&rgE+HT|8J~-4Kx{AE1Az0xshr{#!4-5*D)*t8<95_H@d)@
zhE4UB9(!JA?RGth*w)sjT}gLD*}5XQKA6~L3N;oI7VCV{jMx%EKNCZUey7TDm`$Kd
zVK6ZrUYG)E!vdaJ#DLCQf1p(d1Fq_%SCXR0t`wTsq(^-GtQQ{iCf=_5<M~F$g()QC
z3LZZJeI|9b4KeF%^Ppq%#`vm=3Da1rA<M)cAL|plG<ntL=yT3+e2-$q`w3_uG8Sh2
z72Wa9#^$yZU@oY!KR@a|`}DbQm&fh8W*y*RSmz8WMHiPr1Ez&JPd3_kY&HaZ1KJc`
z`5?#=w0`Z1KfuYjdZvFe)3uW;|Basi975|NZ0QKLaEazTx2+WOM-W+kLu}VEP&2MW
z1L<h&4BOziJr_rqD0sAC7PRZ_t>)9=D_$|5)AR@xChki7@4u?cbijk{ZCV=z`h`QI
z3l#Gc(1Bp~P*U;<Xqdrj!bFYr^sTxh0Fmo<(C_aqptIx9Ode-P?L7SCsVNaysV@UL
zj+x-ZW}O+(c{i4KY!USlS^tDhVHlPe{b2LuZGVAhomp+d{hhAR8O8ZN2vfssW<EBj
zm{W~bs5kKt;+=4WezHtd2+dsoA;B=~sImCx`I{nG{KTXy+QZ2vHe%j)MC~X>IxgVx
zd^8d~ED_uKYr$NE6;g^i=Ax}*3L+kRv0HPBV7gX8Ou#ek4A##2)4ILrI2B|~GJiR1
z?<2qpxCmJMSI<SxM+jc({`K$lZ^uJy;<usAt-%I(&d(u=%zwj}iSZAguk4yx(K&uL
z<~==DVKwX_==%Kj=YJZ5)1AU)50BTkmEPBIvsjAqH1xVME3B#N$3WP*Uqruk%oUrg
zTNk+H+N4XTO);jkcjyAe*{=M?CRR3QN&z}tJrC10MXbk_HSff+joJtfA5z33c0E7W
zuUNU&tRd6~-g|xMJy=DsM78HOgiWt|W@+u>{7sD5bbkq+pdVouSZy+UQ)fEissfw8
z)IB*iY{J}%Gv`?ee!D10ZnX7f){HhXcE(TUx*05Ls!ifQlXW1#m@RUZXlQ0WGc0;m
z(4P0BI(8G`Tq?}w)%A*T=g`sHDB)_IWt#vzy*&MY_#bIh#45lOnDNK~2S(7PXJVv@
zVjcW!Sh}o$MW^zHH;mO7P{$%vMuS6apMVZ|V-x`XKmos|_}kz9hA?Imv2$*7yRtYy
zmqKT@H#c~TU==w3f)r5*ei9|x3lJnFO#>u@I-fJXQK+_p+QbdJ9^!E_D*!1uet?rx
z5r0=*lLS3fsO>*KWDR)G2~dbXLYS`hm7splWnq!TIAX??PF)zR5G#Prm2>P_NYgMN
zQYSEfo3X~=Pb4<;%>4`xHuZ`3)bL7&AIrvi{2SASS54<bkyI|8etrAre?Gs|S&2V3
zSz1x&c*X{rS?3;MLDN6*RQ`cY>uf3LD%bw>f|@M00_O3<Y&+vIt8QbdpYQb^?%)3S
z2k9&!mbItO{AvY;TK^w6>|m1=aT++aU2xwD?D>TdQ=-{57M2418Mkr<?wt+%W&w#}
zQ&wDK)6pS`ioC(S`I*1z;(FrO5)&%tnE!IMb6V50Q$WAajI~aOEYekV?-vcSUB-Z2
z3FsPyP3Y{RR_&;^y-<n8PfR>SVj0vdNu8M(Y-XOpE>CB*6}n_m$<181`DtHbVtpf{
z-K&}+bu5xnHNYb%m)t3;t2IzW(9YkkDdwVy`mH|^=~!Txx`K`&!bf-NuWv*=HYfM}
zYK*so{RA{kr>6y+Rj5m8<-I2$)6aI9WqMfO3VjP)n45iEkqx`uE<I=jvzlW;npsaE
zwrzEJ-xMZMwhKP@C#;RZ2Ac5)QgWON9_wt8aQ1+~*g4OM>)BNcb@vq3#HP3hq8bv+
z5-B#Azww>71a^DQ(Fs{<j|6m0YfNb)C-P?V9rU51kK-Jy8UM$}?YVT~S2jT+h4t*J
zJH7!uF+KvO?n9=i(EiGr)gHLAcD;Yz-QOefoTiQcv$N9_hVlaq&ScKVt3}P_{tx6=
z$B*};8gE?c!8csU1&aWlccShm19WZ20~qh~0|nc6gLne)&kNUVZg_owN^aCY-uFMa
z0?pLP<b@`FSfR&=^E@SNspI%Rv$~tvWP5E|B-7A&wpaVb@5WWvyt|rp^ecqs)%oal
zk+`ixo<lZL$9RPCiZnr;=TB|Mb-x=K@La8D?k{MqBGX1>O5k%EF`meHu&y?OE&_<B
zS;^xM0KqKRpMdsVidcsO3X08)RXGPVGv{cV^Z3W&QQLb)KNTi8{fZU3rUiNx@rZRc
zC%6vygH84qDZxQIV-@Mx1<f4K@o3M-Lz)JNeqbpS8&})qdLpK6@%Z|KM`{=LF7V5{
zzSej8uT7xHQRi3Q-ze8}?d}rCC=*Iy3Fz{L^#Om@XF}J!-UdAeK<YrHjqQr?{53t3
z1ah%-O{Yz4Dl71~zs{HyVKDaLc7b8Z3SO6L$a{WXUdPrS02l~9>yr!=WgFLTLD^gJ
z^#|W={<qOT`U4Fxr-aV@tHL11txbqFGV%IZz}eh-H*jvlrI{_V86MVwbEITG524yb
zr=|3$oy<e#xKn36H}YJa;Q(zs6+8m}<#8xI#~aJrbu6NeoiSpJ>1?I~kMW{MvYs_S
zqn@u9bUq|qsk6a#AXCED0DU`4;>Nu1&v}Yj$tB?S3FwV;p^EMY1%+gd&JV1hK5qb7
zxqzmE5WG|uPcM;l0Y`?`QdTx>2IqnjtMH8{n-dC}8*pN?BWtim%~&>_mC&5)FqsFs
z#nnClnd?TW4U=paB%WY7$Ac*hG1o!V*}pVJO*Mo?0v_ww6$?H%rWtbM*{t=mzZ8(|
z61J-+wf>M0Orb))ioq}imc;03x8qju&-KyilyriVaaM*s#1!Wy#AB)7RrhUYed0vu
zbT~)hN@svg*1@T|ftKQ+a>Qh%Np8}mV!nL*mw){IsXz8dGY1dN?5~Zv&QnyyV}H%{
z$@Wf&pFdVPg}vsc2vE~pS4JzznoTe<rOJN!{QBG9zkU1m$M1h<1D~Jk#h8zP^9=?6
zxwNDXWHNxCET_S)L1aq!&oF<o=41fB*4%RuMVgTFbfc3N)5BP3heKy*1~Lq0iVvDX
z*iw)7lr|zw>A?#(3eflwi4XcK?F3l_IPE!qub(}_-64@TEIPaBkhK$OS_Et+R}2OM
zI(vupH<1`@w5MT;C=!6(FkL&zX@2ekbEn8#pR3s*w)0dAOwQ)!KcDY5yK{+l-+3Sv
z#5a^f!h8XrCa7~gcf}O=SqCb+r$CMW^ZE8jkT;-BOwIWQ^jm*rhw0dmfUrD|&I{mp
zTbcJb+jBKub}V(z)93BL(*tOo+9`a%wLY_MU-f#t9a*;vK9S;@fKKd&&X42OEX?3c
zFEau3cKu0;H=`>^%udWa?V5waTxb1uk=Xrv{Q0;N*KK0KU;P|`a08=Lf1_VX?t_Bk
zhIGC3k8qyh3Ur<%_(rXq1Mq}uKU1a7i!<5Y6?uq{&-KE-IKCXF<k;Rh<Lq}ZQs(x?
zPYG^*HGG4oCfdX0`4;TbdLKvUNWj9?xcIFJQ|CHAsrdfUMY}5hfD|lF$Gu_qSU2&x
zg?{6c?mAau<1!))Fhy)W_jlHVp5Sqg=-7o#Y$cBK7p{)CTt8v1kJksVprEtt#2}_t
zOz_P8GGYCb9sw(}ne(w15-D?@=|WsRXR`img3FHec0B7#Jo9;G;&sfLSV23Vp7O$`
z#{=5tCd`cm=H}+(!K(3N=|bQ~Fr3b9olS)LC;SH{3hS`cf$`a1Du~T&SFGaw{lR$z
zd2Tl>^M_8oLuagX56>aD9|?!}J%2aoeSLj!y!AxZA-Yi`^~z*%;>VJ;9fVnDn_3`U
z0b5sUPG<aHkX)<L%shn|82}j(yr1IHc?gb}_568EU>#;25596)Lwu<{p69v_zN1Sn
zT$TuM6hV9ZRN1i!c=|V??@9rl6s+!n+hsaL=l-?9xEATcH*!5p5t|RkP4Af>KkI{Q
zVwTqWXbJ*CGS68P&2BM_3A5%Oy)ONo-0SQH_w|}^e=i4J*a|$jpZJYV-=UP%!clOs
z#u_mRP^1g7<w~3>rI^7}dz_qkIR7hB@H{1tbA(-LiqGd#o#MD#9hx&{;`>6YF%sSH
zG$(kr`*NU{A%drj{saKiiwB~ou);>J4~7MMSEI3cTrP@-Bg!0Cv9WE4WzkphVFsYx
zFWXe%>FwozTk@VBV&ST7yEe5Hej?T0#3(XpY&PcVK|x3nj&D+c1A;8(0B8lCc|cfP
zv0bnt@<zsH-N8VZsB>Y86>q3`oQ4)mRQDVUwCfWL6NAA>VcTmGeJBT;^b*M;h*>_F
zt%{@m`NmH$)_@x6z~=ddgrGwvgP+l{rcY8QT?!_g3eqLl8;(>H!f5I--7q!yNry9}
zM5wiMyC9`90i6azJ|W8lV)1*yRaf^Ra^u&Nn$$O!CK?Y-AU=^gjiEkaX!k5#U>Aod
z7VuaKkNa0YVWyx{Un}*D^6^ec9XI2If)&w_9x>1B3G*Zizw^}6oVn9Jtb^Zqf)zxM
z0kMk2LxN{a!2ih;!I!r`zkmDvx4)6-8_+!B)0^|L({C@@5n^%CPp;&c0e6JZT<WN^
z@(=KsOMtmm;y!Ds1Fn+>Y?f*Yig?VVYmTeNFV>%<Z2M()2_BuZD;`1r#X4+4JdY;H
zBGSoA4RCzIj#1oFEqGodI`uX&0#^P}!2^u*#o*2^)C8z)#%BEqh_mb6j)x7p7-&15
zb3Gwlh{Wa(qUqH#f5ggfy8r2Oe1!!~EzIkomF4w#gBuiD3bwD9@nHr7^RYQ8|IfQO
zC<B|XFf7<)L<#~zJg?o%Tuh4BdIQ2le}oWCZ;spY_y1S%ekEXfEFS8wfFn!s?YNIm
zKXBhilRLqGzMle-zm5muR8ai(cJ~Q-srci3+5CB~XvaFoTbC1<2IdGTq7(TL!|FGX
zj>sARa6XXz7!1hubAy@$)E;?xeqo+%zdS#E{CwwXT%X^6?oaWv1q}YYe`0Q9&H0!T
z!Z3tREwFCU5dHeH-uTnwX0nD?FC^aklgk8)I(DLGo{y7{kGmi7j-JmUvu4&G5?tc>
zg(qM%!Nx0`|6OD=e*|xSPM;Q*Q7Uqrce8hjJP%KpVx{(XK-1KkvaM$Ve9kupE9kks
zVv6T!nh{smlW#xQ^G~c$r%%~}TtJZf{rDgPG1w&LI;@A_Xh?jlT~?6Qtj>jzGVgcO
z59X$bcCP=7&xkBw(4T-Qe*gV<10=z0;H<;+Y$kof<Cb1=G4Zh9$?A||>W7%Fh=tt0
z;tAAbIH8Fp#(^?i#Jn$TVp@qu=HxvN4HKJJ`_bbKkrh_^&>oMPNS|lUyuaUG-^JpY
z_XVt=x9e~=!O5JdBXkr|V7=cV=KQJl+i&Yf)q>5r4l{uHE36Qa*ZW&F-w+SUx_T~R
zL8|+}UeQB+hnNGchyy(CUxPu7^}JJ0SkDeDSfZs)VZrqwYr@bu7oA3MKc-*=w`>2z
znL*jH<a)hjZ?4i5?;kd-(1R2a(}7Y}TOET`sDiC`+n?t>LqWxip8}>f-pTZ&3Oo<*
zJHUJthG`*nHao|feEscKKSjXflWNXKfhWiLUhuQl2M8wS;}_2Xt^jf6XTmQp>$M3y
zKh5o`02M>Ez0D*Tqcxx_-6B&2rhk%k+i>e-)`2-<g!UYHH7;zyKrqg;e=>&y&i6TV
zbgrutJb4b;M!6c4``WA%y*<x_tM!zO5<xsQEgNwr@$MI!v)aSg9pLqFMoy7txLThp
zoIk?&=z081T%Qz=xLVKp5kiBofo8AO9UXr=;YE!-KQL*tgPob0E^olIf`U3VgNBr)
z#sfDn2L;TsT1g$W0_=hrul0tMCRVN%G(RpU>h8HYfu<?>1n6eHz*Xn~&$bSLz>hVC
zMG%|zB2o<j^98`<>cpE5G&6vCW+nlTm1m^n2Ct1UMb1Se8wKcDL5=mRRL)px3gP%M
z5o>)lC-98KW7qtrvU(I=5TTa-xL48Zh9I&nv341WMQ>Yej2dA<1JuBN@tTXr7&M+F
z0`Y0i3zHT;zkGbHU&*f#sSs>dz?imnTj!L@Ismy#H3mdTX2J~TtbD+gS!bpMn!X`O
zWZm_TPhLY(tgrZd`ttGq^zFy@KYsr^!F~mYpE1dK(cFdu>j#=Zx}lP-U>BIBA8dk&
ztIAQw;|;8k*`6=Z1Y<dm=tXRn8xpxfa|&}EF+=OzEaZg&SbUP<(uGK_!mgCvguO`*
z9-ot$2${JU?`8@$ff)Sf`s^<S0Ujr4!#b~+br=HM8FzDL{bw#=ShBEy6H)|Eu6txb
zO}&{hf)ks6+T2kk)Lx&#A}RIuvW_>jR_>4IHGlXxUPxo7a1%(h8Non_nHW$N4{W~r
z^5{hFBSs3^`iwrYt2X1by*#;N4Dh?_(WH3Z;j3nME`7vfQ^XXV+K8)9j(faiGJ?l=
z$C_|fW8;tbb^McjJ!nLF|3WmkwVg%yKTSPzyC%~!YktmmB}bUzJdI!Pw>KIBy}9mf
zFrO;*tN!)LCojwRKTEiN_@8p6nL>R~sK3iP>n~1YPJScT4PyRfFkRn&)cP}F(a$8K
zH(riU<ZZ<{uhA3zzrC$LP)#VF?|{~Gj*(2mqYI2o{5vbzUCtRl)}0;_Ox$~a<lCmZ
z+97;{o<vyxNVp5mH?~Cm@C`ER^Rl}3;{jvch8x(#T1O|u&*({<=!{i>_eXOlufMJP
zS5j;e+1a&vUjJ>f1alfXZMq;f(e{#PBy5QYwb*3+(N*-Ak77nbnpuZLYOh|fIUlEr
z75v`sQZ|D1x1gTr91omOpulrAZtkaI9oW87CjP4z%+$%;AbPu=#7{x@9ok)qcIE~o
zQsEorlF0zMOC6EZCUO&J|Mt2mWV`4!K!M+(Ghsmc+-q|R-?SnnRF&fsaO#d-%;&es
zw!a2z9hj}CDXX@=n$g{l+n_X=PjaWFOht?oMUDp}0|%Yr<iERq2Cl<IvVedP{MlYo
zL~XA+7UuDm7|3-mk&<z9vN!?!D`J4304lJ69spWA=liAu-QNdq*T#>Z>pZP$+)(>i
z!t?v@b>FF5>;W(CD&{y@Ht>^WDez<mx62rXHtShI!_S?(-FGmey)~nOo(@^*5$@kJ
z|K{~4c>T#J5m)?tzunhnFyk^YaDBk0F$lwgpJ)bSSYB50{nxt{>#qjKLBiS)aKCQ1
zY80N+h(3>d_MCgqT=^&Gtvf@VE$rXP0>d&57D_Q8MnA&%2$&llJ&)UfXI}p&#4mLZ
z1+6L3+jD7nIDg3eZANeaU>yb2SOe4(>TE@{);Z&Okve}N<mx_qwOwAv5Kh3btI5FC
zbK2GU{`B`h{u=`X2S8-uI_xIg00x-g$waYI(c=MV79=G%PSayq(9T{kA1qy_8#akQ
z=-D2CECN>-vX$J-v0OOQYeI+EE?9~!1{)rp0K|AB50;|K9qH!BnqmM<akXEpGbf`?
zwF#cQz@F$QfUHTfv=c7`=B5ZFUMOPI{j$YlS^sDkN46J8R8ZvjL8mw{AF^o9B0vl_
z&MMI<c|eZ^y4-4G0?j#p(SOd3jz}22br)+-<sA1vVE*i4nm{lypod;8O;c#v+j+Nn
zmj3eb`ovi4teMRHK1I$WD?~iJ0f33%7G?9#^8q~ui19dyUqScBzvB|dff3uOwN}C4
zUtd07Uw;4g<NM$L_8;t^`5n;n!J4D*5Vto9CG+umm9XIXH8I}fc4DvBft7r08XnJI
z(WBk2lYxmTs4$QDZ{NNVNw28!Cta~s6Due@fAv)9(WQ<@D7c|>#s`}2pr8}xb<FvL
zU0^!75Pgop>dXqn&P1&#^Ey9a{f!|PYXGI#k7%G*Y!XkTWL#1Rzyclx!C0>wX{Hyy
zxst=lPh27lGfO*(=eOgy4K|&RH6hx7GsdL13bj7{ocoH*aVt6%=0X+?TnDz4fKZ;}
zpV-s%6VP^f9?ABessZ5AA<BEdT{UET&gZYpnM|E{v|=%i=Q-Bf%X%?s5i}NU@0poP
z694JR#UEI<EM3j1XQIvahBOJr{v4n1ZTI48O0V}{u@dI`PyCTgprDfxd!57N$NSxU
zdYg*vg#?~Wz|^GM#ESa&KmL|OU61-|zkl>MZ%$0%cvgU=6r7J4OV45V^IfivpOIKr
z0iRFLUfxTO(}X&S0X0K%oN(7eS4w{chxmssmZB<*H$>)jeu{ZN3e<mp|M={Wc<Hew
zf+^{l(95_EWK&K0cKjF+LBIshJpRRCKLH)$Hw)`Qm_zaXxZaBKU@z!FV3{rJg9n^>
zwk0v$S?GB>&Ud>MVB#5jEAgK5`WwuKm<Xw9K$srqk8lN|v6b0H=G?aP?#zli@Hxsk
zgQMWt=C4yh7Q%F)$sD@>Hu(r3i#wqAXmyUC83r~pTrk%yjm6_q5Fcz>XDbe#j4+EJ
za^E*hfuHAUBWWstLFe=56wJsv#DJo_$9_){oLDairUX5kRs8%}ug5p&qO1cM=FoJ_
zH)4zw*5793AJAmyWVp%Iam5xa)g;$y^01&IGHtOwkrI7%oa7H<HbK3;p&49%$MWI{
zc;=!hgsvL?*pFb-tQB;Chk4SA?x=N~SKqJo99Xhnr%(a?=b!)Cku`x;ydTB*e`Pgl
zZH|8@puod<nv@wYM2cB>-hWmWF%vw_5DbfO+$wQk)6vBW3In?84SQua(c8a-ws%XJ
zy!6{G>M5MRo2eD&4`_wFJg@sgmFsD<2ciDr-ryv+%l46Tf0(cT*ZQn=6CxF)$4)%o
zVe6XBn%2QK|Af&z7l-M87_d3n<fZP(@vt%XyI63Rou1l;aY&G^fW%C3^}f*ddSv5V
z#}ClZoapKP2RK#n5W<;tuma6<1tW!kF0f;7M96)1E1Uf;NxWMBEk5v^X|7@FtDOtm
z4Ab2FV8Qhj95hyYSjC1X0OhP0;e#~+E^!t*4?s5Eezfs)xvRo<BZ1^j0R&_5m^ka;
zXF(Nu!qppXbj8k6t~D{+cF~o{ZD^>X2YRe?#+1|%JQ)b9wwVJ(52*7%GqJ0pPjqTQ
z@j!E{<75!N;4zFjDD=>4Ox0~>omk<5MXy)^@Xzgvg*@;DoY(|xctU1wSn+s+RIo|c
zCdBOm_XwnEWUM0CB+{lA=!C@&dMJoxI4r$fDC02z5Zq|lw3<O5lUTy$LGHw?gH~8X
zTReaM`uT$%JyrVPug^!Jxm2ImsW3}X*~E=mr)F}%xb))O#%0s!rP>4!VFm}|v(B*v
z8DHMM{rLX3KmI|$`~-BaGhKE)MgRf$3D63f8yme&BXh&=PT5ir&PVMet(@Fc17olo
zWaWArj{-jxL=S>exzQ47aD<VaalcBVET}ymh@oa@EM_F&QRF;DD?p94$X2S-P9#gR
zI}j_a>Da>UCBSC7Tyy=gkaQ*!@XY-+Ep-54mQGV5w6fKa>A@0)m3iG0s?ju3q1O6_
z;0is!<0K6Z70G|6cu73D3eYc86Vpj|8;gH_0$PvE2f^u=&R*DbtHEhxN>^XOk#&Rl
z1~j)O6M@8Aons&|82{Jb`+4B_7U^`&`-QCe9rH}2?aUw21<zmZ4qZG73K{_VW%|kP
zk;_97thv2fYcJq5CR+-XdXO0HOMfyqxq{#NF#Yh%+T0hEx&D*HZ}WM$J|+4`9hV+#
zFC@S^dBKd0sO|&9!q4~hsWG6-S&?!%|I;V(6h6<`oVdMUFX;Ctq|VHBm|0maMVc>f
zU%dr*<G_Q>O$XiCOR${;*Jsb0d0sGoVt_jH6VQKge^E@RPxj{;a|I^_&}Y~d$Hmf&
zUOD#=pq=3H{(HuM3EinTNU5%4Vt1m0<1rV@`L4FhbY`C81djpQtPf#g(@#Ld3<d(?
z2{fs1x_jJ6?7aRc#4N14FI0&U867_{Hq|!IWZVtzYostJ6VA~1ecq;Qj#!y>j1<=m
zPaS__6G$;&f-}#<HXVg{_X`>}QK846TF_r3HPQ3+PBy__tVAOmw=$b-g2yLa6afVr
zOMnH9R78g~>#Q9cq6JD3BUS)30f7+}#QPi)h*bEU%Uxzo-X^)&6v3%>KN>b+9g-Vp
z@))QyT?oj2w;337se5L8msyF<Qw`{BFXBwzKsPJ7Ieu({`h4F3vRr?c9o&5VD`*sl
z>CY&L`!^h`!jj!9Y$K@eeq*5bwq1YxQQPI)_vMBD1hnU4r~!Hij|X*}*xc7P5)hX2
z^X~a-spECZiW$~*JHr}w_-%0jO;^_|Qr|9P0+HD5b)^=_)w$s(pp6VPsjm~u+@iPh
zD7^n%rwK8DcDBEIFZ6Au{C%+09(ni)XacxMs5dM=AsFj+sYN|KHGu~0ajp}aFq<3n
zUWLv2@~}d<>fP!G=9v^lA{9Ac0O!^I&Fgxb;p#Zg`Xoi+a16b6Yg;^5;~G!yL=TA@
z__b&Bn@&xIU18>W-Wdk!_=8S(I4;fvY~at7utvhwd9fXD5!>#Ic>2fR{(Bm+;6iV!
zpW!771n9)fcoqT+#3;b{&MT${6J?gdhVCqk52@fnq#2PNLvAb>0MYs%-q`SG&IqyT
zx`B~2-2}R@`eVgJun1PCy&G5a=>nCKnSlP;8|ykaw^%%^TgNV}hTmEBXe%D@I3K&P
zVoDcS>!ZM_?d(F0^?=@-SP~Jjg3kWk{M&=O7Uo~_B>}(|&5Z)<XXdGIjLa-V=k3sC
zq7?uSO<zcNYBkeE9Z#7`K8CZ)mz}_TutYLR=V>H<r;1JyY^dKz`1Qdf5MjwG|1r;C
z9sEYBr=1U`TE)}~$#I*7GQf4PDQd&8A?e0AL!s$9q^bC<sMkNg{rKaLKUff+8%g(p
zV6G42bnR-+I+7*=2y-%8k6SPXY*NSOHc!vH8tfjb;WtJrNk=OHO^QOTz(f5GDfHOI
ze0rRMv79`9>l+gR-pCE^q&w`2z|PH_b9OxwDd?*gx=F-lZtW}3tHi<d%q)&8W`53f
zzfbUo6?%YY*1;Oj5c7H!^cdL%3N`EbFd#c3*vk+$H#nw=PnJbsE2}6wCYfD{A8q6Y
zU6plT3NoM6(Y}m_=~&1gLgJAc{#b`;p$5C(>DXH8&tFf+&#4Jro<}RD=b$D^JsG{l
zs^ZYP*TUS$gKY48=IH5!f+p5=$$Tc&@$2@_X0cROyZ&gmS1P=Ng$-?6DW1Rd_5r*$
z0l!%aNVV)Qw2`KKeAe~BF3`CeM-ec+)X}+x&3R7T7ed%lhjuuzS*7~xIIxx5-w@4q
zzxG!>)X{!#>l4S(M-l9MpN~`%bwwWkoY|F$zM8+U_X(Te$;~$yR`WcX(&Mv$x9LfA
zM=jFKeMc+R@mwGFWVXziU=K4UvpwfTJiWZQo{~E5P+|b3=#U$0#3u1Jh31d<+Z)`=
zd*E20*6H<=U_D-bDSo>CGw0f0?w2leNA4q53pjtVmzyec%sEZaBej@)Ug0uJh?$#=
z2g_JaI5@fiK#Bs?Rr)B>8Ea^T>Dbh9P)QxM+Z$4cL<PhNsY8V+9L~sSy7X+pu#FqM
z{z%QfL9gy6Md19#kVKn1E7*mNz;c`zV>6o36BdyGEI32JBkF0l>%2P=4^-x;2IzS_
z*k!!ArmL|`0Fi~lI&I)M#F`jr`gB^=$IymhNf-UV`DO0}PtKRk&L1J%L~?sO);dfp
zYO^-z;!H(!)f@JPS&eO4|G%$kBB0scc;<HXa5wa9)(fV&Vw0L%uwpy@bp|VB{qfBB
z8N8h@3j7}*>ps=C&e=m3o51>H;tI@rQ>o(z2~lk;=I8tE6Yd?enCBy;mkMc4JJ)Rr
zzstC$cwlqxmnjVB?82qMv$n`>90F1^=zoakBSI^rZ2K`hzpThD%k7mo5sn^v6ZNHQ
zw=PrA|Ia`Fe`sE5(*z!8US8^>TIWwdn@DQgow;8!5I9dgqE6&&g6o_n7%(||0*NzM
z{<@kt|JiHST;~bB2FFI2m<6$G&SC0#Tp8K!<vGK37@G<a#&>}mc0DB9MFopYYpz8A
z9j8nU=L++9)*~k3(HY@#fdR4h%G6i;B`NcOL|gF8T!&alog^xre*gM^@;~|#DsC`A
z6T1usuO=bAQ}{x3<sYQ?Y<b`?V1u#Dl`O%w(80fW=$zIYHf%#*y&=Lnka)(0b_M1-
zm~|#~oVn9Rc*2;QI(YP-p|{Jd#~oRHjp?z@b8}+PFR%d*5CC)2a9SrZLX*)uwU~O2
zJ8_-$V-v8_20FL>6_HQ$WKh=uyG3f}{!IXwo+8WJ5C(G{VD%ln3hbOGbv%7Kq<XDS
z5tapyQ%&zA^C#Xc{p3y$G1)aZeVo<Fo<*b%!eh_)_n+Sh#9wuu>IsID_1`g2XRRTy
z??2X8%}62<6@6?4#jWpt2jju!_5c*jvVs;T0&BV>YQcp)<HBzI`sDceotMmvP9nzu
zmQvrpfB)l;Kd82n2bsXcE-<AhQlKAh7hSoriCdRmbF-Lwp!<tx=L33XjBK8)|AwPy
z8DaV}L&4*?hE2<Ho?M8gvbiMAQp_hYh>#afn>A|_u|ODOflWonE^KBU^aSFmU=aoA
z$2xf+OPl(Y+^F@No>J9){ImDfY|zf9qt?bMtQH+;>Yw1@3bGm_9c%q02E&Y>7>Vep
z1<j8ikMDzE@V0JG7vGu7>M6uv;A*rIS-0bJ$H4r_6<>7W)cU3*|0lSzn(~jb5uhfw
z_vCt=x!o_cK%fFTdkt!H4KvWcCN{+4cHpo1zrNm<YvOr9z+9-BZ40{kfBUtrQ@L*6
z=GAY*uCXNABHH+0zuvA_c8LKY&H53fZW8RGp&{2{n+j}xlyVkFyP1f|>Z%*j=Lb9D
zSADah_LHl2eQKzBIZon#dwz)rvL9J^n!f#a&vV|5b%v5Ti%y`FO^-3Bjdp)k#2|@X
z;|87=4%vZWu-(55RtO_XX_meJ&9IZfV>QrohWidPW*b(!AwKi(>;+Aq9MnDjy6))_
z0|5Q2&%`si{-gqwr^C%<#){I%^>bMsMLz3Sw5*dbP_JrZxyn8<|GVp9hR*uvpLqOm
zywxfn@d&yMb_})qON|vY^-X8OR?zSK&)D19cLK=O%ACm=&)*d~)+FO@e&%nf9&iaP
z^Pgc_$a6BD#6yk~5&>aX5=B2`EA+(gxI)ZQqsW#*e7pB~GN0**1uHm71zia28FwEd
zb~ddL@UWi7EZ1>8bX#U3RuS~fu-J&~$CWecOsC-49(!GO^^A{ZF>LCIF#c?_dI^>c
zq>Y%@x0#ZF2_BED4q2lBdhWG2TUUM4bNt|OKB7nR@*TZYV@zik>Pk3RamTn@FX&<Z
zX(k4-lA9cgFk@n2enNA0&GnyfoN(<)j6>8_l&ja%T8b10=ZQyWL}fi9&*vLIf2`}g
zRsmPnJy@B|n&<tvDFRp5F)+mn66cK6W_z)+dcWN67ZYR7VxHH*X7?`=kDru}e!rRL
z7am>d!uj&n|B|EbOXcaq)zvU>QPmF!1Dp|JFG8nHh-U^%<=<EEd`Y4Zlje*MUFNP1
z&7_=#%oNcx?Un*pMHDQZO-XOIOS=ieCVH@ElBk_xCdNOX6XdG$nHlN)&v0MPxDws{
zJ98a2k=$t&XXboT1Uye?mfHPt_Frw+(|`Q^e=OM;jhz>)fJZ+8lJOLMM%`U-y|AwQ
z15+OQ^M;NATKMh$$I1X<R}J%s1jj-aPMj(p$2BGx8Gnl4p-vaL1OMfPyZ@3eb4po2
ztf=YgydCPBJ0V`Xg2r~`fq*Q95U&Rtf%O42`%$6BuNIpe4_2_C7JN{%tf(#6g%@4y
zw)ry{yX`N*!~P<G;eZ%Lr&bm*vpDFtOVn<!y`5deW8?(qL!2jBOoK3nrispag1u=X
zz_P*hOqU{MMUQ;_`jw?73qMV!;mYKA!|zyBfY+Bggx=oz+o|e4$m-PxtSnpAi`!1|
zN0vIQ7Fjzh8wmtM&R+sz!F7O6T~3ARwIT;Jx0ndm**RbpcyivEE?=J5%&*^n{OnDB
zGneHeYx|M3&B`oguFzcSIPaK4uxZvAY8sQQXoX=4Y|bOMRP<xjS~2TPVk*CvPNCB+
z#VR0OHWk?XQ`2D6>-@Qn`z2$gZ0;jABXay~SRuPRnt=@1aD93TH}E*FMdp&)Yna%i
zOA$MT%x2#0+L*^rNZE;9;KZ1u^TgtO9S=GN06IU4i=B8ifE2OGbwd%4{PA^tMV0Bn
z(L(~>`xCX|PIr$`$^bkH`To7$2v$Fj$(mJFsL=nnnQBbHsp`*sjErENNr73xrn%Ta
z)8o`g(0S|SzkBo>9Q2g!&n8#g0hi=1w!`r`bD5#>)ehqgXi_46^(d}D{ibXefe1)t
zn_z`}M`6%^{ue?}qa5F{Tf>ZMSJ%VeUhl5|5o{o0BfS=vG!<Aea_)EEgBAz-93J0i
z^o{C_72$JK#T_`7#~9F5fI2avC-)suV}E@AQxDJ#UVqLw$_BN5{CNM;-%?WZXwdem
zAF_23oO4H_|Ms`~j%@a(0YrMT%>6qP{~YJ9LTd~<PQ}aHxc)On?>>Wtu;=k9$a?$y
zs5!~~!me0mT-^s&#^w#3cxH255c=E!JkuJg&T|yFL~eo=0!_eg@0o|!f0*|vJu<)B
zltGv3^Vi@Ben$tJVczdjCtDGc<$XadcH!JA8@4$?kALt>GhvJy4|9&rJS{r~R-zG{
zcVwNZv`1X+m;6he33c3GByKj(V?dY!kL!;}FAy+aU+7U}zuOd=@tBgtZ9anb^OXp5
zg=R2ph_wz|n9Wo04t}xOqZMlG!|&vch!u36L%@B6z_PuHlU?Usop0kDG~kT)-xh@e
z>;57!Rxyu5P-D;W+IhZ2z*a}}Bs~H<>;IduM6B5TLUBp^c=!hNcApYFSLcOgg_xx{
z?_TP=&I!P}{%XY;Ql=I3j6dtMU70<ZIUl-=nc%s49s2URE)muNyUbE||E;oig2(5F
z4I^2)qTYk<ecI1-uW!GxT=j4Hdck{ld(hsF2dqV~9uHEb8*~*pbfB4ikuHV9Wr+0p
zx&RT+8M9=&o(s8N$7Gh8^M_=yFp7;?cCyt8Zr27yQb!S+xou+3dFpN5q<fZgG86wz
zu2QbH*ZU55#A@-MCnKKkU|6tz6&mR2{+;aKEx>WlqtA7lTy59WAHV%y{Lk$PtM48?
zz7dQz5<0f9Nhz`EiMk@jX1HNYOQ?*+;{j?|<sb3-4U4tQFh|U|_F^Y^<_&M+4Z{?L
zP|(~BFL36b1=JEWHjOt|fjx_@X`NU+2)b&?j;~{b1fR)vL5c@F6FfeUt>hkeHU%fB
z&2kQz3=p74D@5kTYy~Zz+%O)p#RJYBr;5*Yu*;axHI{R$LoQkLnyv+pPh-R;ek|#A
ziy5!nJmD*@*92_p@7dMn6O5e!DWWHTXfX^6hILY*Com;emHKE(d24Z=Ks;SobQS4;
zx5Y+Ryx&*VZ%H^kV;H<`@#WX5Fu~*bXbjxqo9I~AdF3DANn+>%YXas5nr4|UG@+Aj
z!zt=tYkztD^V@eu=fGypfQB4zMv6LCy5}xz;^>gcXqi8~RuG$>UuRrTNidc=U4CJ4
z{E0U#BFzo_vx4CFXbD+%!t_Y|9M2|hJiM;r_XQX!6qFwM_COGDV&`}8=@AkYI4xo`
zY@S?az{vxiOkje4p1)Jr8><ilrYOb_e@!^#mTG3MWRig2`7m59*_?A{`F|r#na58c
zjCJU=wP-1o{W8JhC!p1$zPdj9)yU2P*b18rgsr}Ne*gXUFAtuMFV-l1Y*Eoa>;`x!
zNSDye{Lx`Hv(BXFpatt7=3>&!KZ&&orhGjf;5G=WnH|M5grCu#Sa5#lrlg6m0z@-8
z^kTdLZOoed_!RlCp1*U@Dm;G9T>VIz=gXOweu3n0qE7vEDc-;Tm}R4xe^ohfL+k>=
zfEWcH_v03W)uZKRhSMx6R?IDY@%p@;(`-iM4a#6m#w7-5VqJE$y=M##P6q$ix7$AI
zz=E#xc1gyiLZHy^zyHmRvJ2bcYeUk6sbMx5&iZI<ph-;wDsGf@o}t65>*ekCeCT`t
z&vv}&gzx<a4C>b${9lhXuUAjwhsd5@9$#n3qGm110MGOBMgTEd>-(dNm3jEn6q+Ap
zZmbTv*8dk4ta%^MOgv)Erss2Ye}BAxk0REDc>FOmh)0q07n=&$^Yehr{gP3D6HuXZ
zcBKMh`UU4C#|c^iWa&318w+$PCPaFF$z&Aq1cPC2`_yii6+j&ukvjfC9hfk=U^4*`
z;&medSTurljt3j&^A*jmUGdb>BU1+>Wjh}Sw+rbM8BS05=pUgC8TYFG_B^)D^IZSx
z_-7wsNrxN^px-)Ke7L%Q)t&a(`?F5om)NMYe2LYoFjvoHn}1@i&abQcrt@b*w2CvS
zwgsf=`WS|dV6CdVwZXl5JcSTnDL4B4Xy)13JE^mg^HJ2;kNYxN#;fDU*9Gbbc=)^u
zb3JGLww~=P;dvJ_pIKjzynn2J2?z6d1A4Vn%-o6f38ToY!vug{HiWe@ru<)?>d^YE
z@17!n<;6+N!|j5r<7zVJHgm<^b7f%;imMHjB(jZ)S&H15KJ|G-J^z0EU*qw1&hj{4
zjnmeh<G1Tf;<LRlv$Ad*+d$#!ytulaT-6t5B5Lf_xL4<w@fO*RTLU)Eek;uN34c-N
zYCh{LI7%H@TI*m~1^oGEeX>JsyqX<vlSHv;qB`K2e;H13grCHTUm-Sy?Zo0_2d|>{
z*MfNh8!6sU35Zq1vxzINK0(PsSLT=umafbJ&uq>EQD?fk%)XvL0GmIVDY1&bzA>D+
zy6`bdjXfUJVD&ZR{yTR2mEnl<e$f(uU@WZy>~iygWuyuC#h5@B9xDVqGf`{ee1WP*
zJKs>l2IhdZREpyy9#4l<Iv&$mXI2u>2H51d>Kbb%fPkD|K+_oDPDU2Jj7XFE-ja#Q
zSkmF2zdrm*jecr*syVwI9=A^W`MGv+d5Nims}sk&?ND<%)<mn*3;I!KS$l;FVsqwB
zwmJ&%_#{3R#QB54(%%97wf-@8FR$YoGasx;U+R8~rXYQG#hRN65lM^yw8xL62$uTo
z+e_g`fRk6?XA?SVA85OwhSUM;2=gIPsJYYuiAyy!=lmzEKb9DZY;_!{r+*t4zlj_3
zlbD1p)mqTz+H~AAu4j*b2XinWSQF^o1f1&=Pe9H`w-;=FoW6oUkr%G*yBk7n5vFaa
z9OpaZq^{(H^9w%%s74aPY@z83WBsx47e6X!b6WWLvhE8`TPp@g>i-yTaC3gfpA@Wb
z=B8QQjlt71+2Xgb3>1!Pd!qchz7JyAOd$(fp5qPZIS@KOMi;+=<H~d^aM~j9bCK<+
zg3Fgqh=9-a*_q<Cf7FPksAJFkI^JH}0yuu=5bCGTFF${LbDk-S#^doBQZ1i=hPyf6
z50_?Q5NhpKe_{aS4Meo%K5qjqejP6YH|zCb<&L>|jY1fvp4&V9kn8O%4xbl4LO6>D
znqFt@O>snh<MLhX!ug*eCFzqmH^KI@b;2}o&J}=;EpS5r#@OltHP-XO7)a9}`9xp|
zTH=TYJo6LKKOLY+FrXa~oT`{<q!uSOpTx8oX7ls-0Zh2_um2Zw4gqJ@-^5Jd{D%$k
zKFiF#!eePdj;mBqY;|;&7}qP&?;A!NRx>8S+N=Axy|>{Gp+Cf*`(r%f{i2SlaZ?im
zA|yv0cCv+qu2fx9U~}MYb~{gXg7-nP*bqPf9>ZW3hk2b$BxF5PS%|^LX)ZSR--jej
z0oKtI@YKJM==xTRaC?oJf=cyY&m5~TWy6&7bA`+lwbpeQ!!5S+B>@~5*qXtCekO)Z
zSj0>Jfhu9)>UgI7c{1R9tTU~z>(Aq69Wt~c+qL0&K|0KXUq6s;g=x>thvzlq`ruAP
zba|d1Schs#x%wKJIvrLUr8W1=`MPBD>)ZOn7+67Zwf^&XzzUjmOHGK*d5TA;mU$}T
zk*ud>wJ?wWI7=KK51-&?o(T>#Glz}rcl0IzU00J2T;*g`p5@pD&rh%It+xoM&qg_a
z$C@J4JjTR`H<u!=iGDP8#>>_IJ<ng#oJG*vJRdSkZDoV!dw3W&M>)?&;e65zoTsM5
zDzd%CC(GWDrn^Z!#ntt2uJf#!d2Zx54>RkpnUPmnSJx#;R>Zbn{w29SY|L@z+^**H
z^!Gph+miQiLY`*{6q<)Zv==xdr`>iy;^%=9XwDb95!iUdlMv_19CuR>g>10B3T)os
zFg@0J8YAkzUg)g|)^*5CumL|9mgamzwxgDx4YXNX)z}1jDdGxb9dZEKjAj0&Y+T)7
za^Vg(-Cn{TP6n8OlM%a&33#q9^tnMArUiOC^}#xrD-KP3#I%6ltX1WxV}KgadYsQz
z1Xv%!R*8e;0)qG~m+^QkQgO$iTGH7U9)5Tj*BG0|z&zf>7!v8ix`BvPaAL%m)ieF|
z_FAt8Ui*jepPr4Wu>18{xxk&XXHis2TWi7;lEki4q)BfoC<MPYPBa^mM6t<r!vG_N
zrdz#254h`dn7@7fjTo8^VIB61xf935g3XA(Xj*WRE(JvAz=&1k4=|#}G9Nw6oZMQt
zUZtEziPX+F)+ffB9`Ja4K4fLylk-$&m|3tE|JX)Gku_?MYwsEN`)VBE$vkP2t`p`P
z))TL9J?srUR?tp7JkGek&RESY4S4+3a(jEsB~nMv6ijC2ABz@<$%+ZlWsh_%uzwXW
zyXNr|@F#v-5I>bHR*>v>oj3ckU!Q@d=VNCS(O<_`eB=iV!FeLE^D8)Jk%05;H)Z<u
zJS1Vf1i&UT;*X2t%GJweD)4Yw?fzS3#UH=d1MB7ljt94n4YvXsG0!h9UrUXN5tg60
zf%l(}|Eat4JQIH+WqZRby|3$yvT8a{G)45B@oQDm8{vk>D&jG0+N<X-hBgIz{t6EH
z9R8R7(IlYktj~3Fn}e49;%2%~I!Q^e>1k$7c01k$Nbtn4z+r&J8EpEKe>U}C@#KCH
ztC-s!h=<j<C(knmu+_r)Q%&%9feQH9|2m;EkL}WK*GaR$Pe4P39mhGAaob(YH=ySy
zpfeCKC7Qrg#U>pqqA5??)Xz-Bbrz4GY+yB-n>zMyNZ9;?B6CB?+^z|U;LJr2x%84~
zm;yg_;+*6wbZW3ho%2^Gs6CG;s8zsr9}kJN3F@o+%l3hi;PoHaQZI4YWCKi(n0Au*
zha@YBiC3h_`XnaMtFw;ygD!UWMqw;i2k@{(I%#@6Pg5Z_u?kC3fBFFpb2zMGV>(}7
z@7@qe9p-6R*I0D3#&t`X^LcyGQ&?w$6Z`OWG*A$0*d)i#7N6rpbb?x^*kq*<q>IC;
z5n{09M;Eo50CU0S-Tn6njs+tVAF-jItQ_{@buvX1aCN+S9af9YTpx&Zi0<+i59+Yo
zvep~xeS4-Wz1wv=5Rf@c;dekoDk!e5d-kS6@VYcH(&GeeGu9n_X3pPW$%xZg^c&Fh
z&i#UC9=BR~xLwrDnpghF!lo3Dmh4vFgZ{<Z*AEgF`63SLT&-Iro+bm<ClMhyZ7QT=
z3;k2rJJ<6Z1G5M?;WH1%`U|dNW}R(lz@szbjQ%XFRsq@FXa%5i{MZaGvU-Yq@N{GD
z$5|@%H|Fu5`hUTUnf146hq-^@JVX)|S9PxD_U~-hta*9-{PElWMI3B<$O~MU`vYdA
z!V9I5V$*?*nQU*kgt=koEIiIri^m%|IAX@N7qQuF=7zlq3m#ahAm~iMbWn2vC7>5z
zVTu82gc|$LfBthe)0^#r6anXx;S|wlNHG9tF4YGRUCuDzVLzI<k#(5h@y5w&0NQ0S
zeg)mbxCU&@2i!nB1x*BJh^34AWFbrk^+O9eJ}3BNH=GaY!RD5dCi67F7$=!ELA&7g
z0`sXAKlUshn+Re|(J#3%+k}*&GNX`dqAQaJI|E3x`SZs&^tw9LPd5=zF$ny^qiNe-
z=leHSVi|GsU?ImpgF<amgEkD9qymq}Pnufr_*uyZc)S4+W)UqO$CU*0a`w+}?|=XM
zKhOj)2g;HH1oSvX1_jp*ffaRkE@sp1s<E1gPAxY55V9V=k(w0K10FWPu8pg|(E0~I
zw_Pmdgt1vPK^rh3a^7GjGdJL8eaxMMiiu#PT&*X$3OtU5rigx<(~1Gm0~Q<r_!F5@
zVoc)kps_PX&2eiwFlPlGKLL%9#LqtrSXmMS76Cj?K<0ej#)HnptcjJ)GCkli-a%vW
zeEE2MT)E#@%)sw}COyyu&+9W>4(UZ;=Nr%*|4yvzvAbwyT(Gz?iZjF{H&#rkLI*To
zUvJMFdgSU8(C&9}K3M$qQPq3s!g{^68ECRkvsS<%gvCD}aOWG)%pYrT|9Z{J9UtPn
z!~4aVxnHW(Aw2IM(EE4k13b=0J%w*Tr#E6FS-C!JtW_Q9tNz%(c>@u+%T}ZLT(yhw
z?GAT%e_4%Y)f^W_1)!bJ8P|;%6Sa8q(}y;NI#=uLWC)(%`Sp2QYO%}tn59+Z6Ydk@
zUFS4o6=GAi?M=XQf5JT*t5A2~X-fSGeVTw$;F-tg`8%M2noBj*Hy4;2sDIpFmz)eD
z^RcM~?}IWwK|jxnIk1&u1)bwID^StL8`BS2$@gTQ!BQy*ge`@?We<1*Pu@7QsfBsG
z#R<6|rMO~_6-e~HIWcnnA!p)xW>0DLU^B^05EE?bKa*vLsWVX5DAcZlO(7WTJkb`>
z;<-9c=kt}3Kw0agJ|ex4Spj~?@n)D7&ToK9CbroeK6BGx{w9Q0xX*M}!5kEL*xs#z
z&8z)Bp9Amfuj`@Bkp1p(A?vnrb=-0>w%OT>qiY`&-rgSXN9V&pHUrbcp8a|<T<koa
z&uqciTpzX}=6;`D)`x8f|0TLCS0&aTjM<2zx!3Va7qbiS<TyNIdXG@3Utez5&sj%%
zX7i_+^-pERw*C?E1Gx&jfU=p4#J}18P2byyLUSI^V!VHF(gV>~^JhJs9{SfumBsV<
z<+Fdh_w)IwzWdS7K{H_@=iEZ7fnD*?+`5t*|HOI19D>Mgzi*{v7Q8yIx3Wv!bI$q;
zQbb{{8XIvwZtaTSX7IkRp2Fj5VsB!Cp1=OU)0uO9$$pW{_A1`dv-uLwnXBjj)bS_{
zSM%T2fk;K-w}9>ahxBgS8=k(t{_oC!2;exw(sTpJ-%jkjfZs@%B2B9GK>JGhg7XYv
zSORQ{%^s)dnXZ%EH;m4(AxqsuibXcgT{c;06SwVhp^bDhfCuQ+ike=VFiZIfg5-kQ
zb?)%npm?qh6sQ@TU~cJEh$pIL#U|@%WM?md<#;d*n2%G!&-@b>XcB-mUTivlV-gJP
zuQ+2N7rqG|_e+OVZ$wpmgg5v~9wbZaMmh7je<!S4Wj3`6$2wr?wTW=qX)-Pr?LlHN
zxLtq;Qb&&|HQuof+kQ+iP>NZ3z#|+HEyUAhI?X(wRNwkV;5E19ESA7?^@7TRoqmVs
zqZ7c2`W%mksa3hLu?qLE>1>n&k8d0R6A+v8d;vAZc%AjfAAdtr#2D(hAPEaJ8P|f4
z;&Rkns5|cl#dU7EHal-&GuBU<pu0?=W~%f~j8~kwx<0V&)&$c5?W&5}O~4w%%*7`2
z=^AVEgUwV>=mZkA)KOSR{}d!D;t`Ll4T3Ewru?<#Fu-PdqMrcC#^TTRZn&Pcou?Oa
zE26OoY&T}1*EcSE77Oa&@mO^xnGak&SeQk+&A{+vQ6X5zu?SFz&Ca_kh4%VMqMiuq
z&BSC~t()^S-8U-*e@&}-UcV1sF@EQ1AWXLUbSd&x7*rqzYZGk+AbqK0wZ#!hK%Dp2
zdPlJ*y^<Th_1pb5aURrJard}^2q#0N+UEh8Z$J}YY0by@?(7iAWsU#<|MW>jK~$GV
z>yLGR*_5?)w~}`_nbjDOvlThloMgdg7~1m%*hV)QOV?Zffs;BDQ!4WiI&G$FegfL_
z`Znaj+soRI$r48wySnh_%iEeKBVr9hTVIW(%ckJeAF;gwtrJoQW)Vk3bb%$xKG$DN
zXQa)n^G4o)CfzJ;wwLDg6Gka8o-lFrU@+7hzQ@(btY82n7;>snvnFx0eIbXyKKEao
zI=l|(CGKG?Y^PQ!1+VCzUtj$yaKl0k*VvT+zvCX5@aOYw6H>oy2P6dn4w|8j2XYlS
zu@A5F!I&;kpr4OFfGyV%u$7&*=X(dvyk1MB!gVl4tMGaiPq5C}e_Qh|o`8oh$mz}c
zL$a{=>6Ll>7(nkN1DQKT#x)((W^K@Qb^dal)B{!J(8Q~!g%pH1VLH{?94C@6{0R#*
zbAR7PKOb+B`=IF|f5;@>6m6bwy*XlSZqNC66x+IWY?1jmb5L*3pZdXg61Aegv+uw^
zk3)lDdg4!WVvz_VL5<}&u{YSX7dpI9V-vGc(MNAYwl~;(xNfkmoAHvE2;e!Pvlo53
zz{lsW+b5<EQCsSM#8W)q?lqauh5=MeeJmd5Sw#kTavWY^*cIuGa5!zqOfnzGtw{_z
zw%F1k*GX+ep5KzL@Hq++X%i~>gjw3pU-j7V{@E+m&vKl0ba~Pd%vQYgZ&ZY&X9ER~
z;EzW!BjXHqO>4~dygCD9E9LQ%u=LL3=R7*hnlR&MSF}Z9v%QibTtoGQIw_^l&g+<o
z)1L9T>SBc&JJ&(1aCQ7&onIlP6jyZ^g#d7OYvKI5L$1~tzs*!YW3T3UwMyGOtrKyM
z&-!mX{q6VvFaN8F98+ok-Gfw|-~oYWTL^FD!p49)@xf*;xWp*Lg)leZVS`N<$Hi~`
zpi^P4Gs%3?8>`3yZC$Q|iK&1ko*2m@fb-ulQRaN;$^i|jqo*=Yn3W2_-YvIkwKiZ{
z*K@{bA3gv<j)%=pycITPSb`C`pa*+N(N6IAz*KRg4shbx#71CqoUoX#Cl){JY~);j
zAV84{c#N+q$4=1#iHYpICFnu`f~MzZXVjsk6Rbm*v(l;P*!5!?fRnMDC)(rW43UgQ
zH77<GE29&g;f(zC`Tp_qol7@+p=Maq`Bk^b-arQemPY|O{x?W5OVmUn=ylo*5$*Ik
z>9&}7-rv_({lud+*F-cHXc{JS-0cDGfEQYS|N8YemjEw8(7u8?gduo(b3G}jl};(F
zAMg-A1EQIgO{W*^B{v%jI$^aB@XYIHFc?<cSRbu13640!hIfGnxmxExx5CIQvRMeM
zU5ZJHqz+CavF8*6riCqjT1au5lHLgRR}v$zb=db<l6gX6I-@vyz~;(nW)ZY8679Mf
zb0?0kxT&BfL&#izINy%|&A7=`=;y!Ay92-Rrh^*m`ha2D2!kQ%Os)HOJih{wiqwbs
zY1ugtYm%mKK=+tyooRw~5Qc^4{(fXh@Lc>!#rK9xxb9%L`GfB$zPzn?)2mAR9m3(D
zTy61J%n7=*20IOlfX?$LpchZKldE3kjB3l-tRihk?`?n0n&_>mcst%WMmtHHSvQ*s
zJ(8KsiD4&rxFeN4DhPTyu?Ay32CADa>31Gwt-l?Ed<6$25wa~<a;;F!=k>@s1GaGk
zy*RNG{k{Qh6U@cV;~x^hpy&E{o?q6VlWk&c3e9QZxxX_-EeS{rM5mffH*>3?2Ur&Z
z`b$A>S0uT5o_~26>wjF7fOG}9PoL{rT^yg7wgpq)!WtT!rXQRG#}a`%E?L`r{DTMa
z;3uGIVx9kL^53C-UbP5T&^`~S!Gfe*y&$w&M4Io%R{#b5Lf9Govls32u$*_IF$u;x
z+u5Z}9hzAEz;TPVsWs-ob+Y~Q`W&l>4tO%6lg}pD3yL(ezrbw)JV}I<!jGu56XZVZ
zGRv|-zq$r!Y#J|m#O9pggmfnva(zg=Hm}P-Patbrh5M_zM?Av$s{_re<Cba!Fn>vW
z2ATppuWv>QxmeSK9&9QIdd|m~i7}INjKn{OgE`NM$1`DxS2%yh{fqrIEnSt_WZeLN
zhZkzC+e<)oJQ7zhAE#8+xsKIWa;=n%6^}9g%hwW*&ff_YHW&-PxhVp4DK;L)V~y7%
zHjTHp#ydpTKUU%U59qT60wj9d?}>!u2AYn0<~&d6o`T$Jem;}V3S+s>Gc?71eSSPY
zz4$W!$B!Sc#~;YSB7i2C01~05GPX#aNMqs=n~66Cs}oEC0}vgxMu9{M_rU~c4M-iB
zDN`FS@prMprv9^)gn@d_Um>0g2y8_66y~NHV$OeJ%q$X-UeV+ING&t|3hGRj_YvE6
zfjZA!8*W!>M$9_X{`Kf$u*`Lvx#}6I_Ix?>^k4tufAT-lsE7?$JH|Ik)Cz4j*j$DF
z85ZFMH(e2T4}uqV3NI)my0W0(4JHhnkIn2bgOg=E!rsm+)KmbwjOW6qAkiXL(4KJ)
z!RG2~tfoj)tPl9j>KZq;^htty3u;g-&XCC~miHJaVjk$$5wh^~P<Qh@U+4ib>*!H<
zBQ!mA;OfDs>#b$f>R)MNi?I4T<CcOGadiSSZkM?OKPd)Ot=3wO2W#p<6Ym7rG^!E6
zT}SO45&%iW(zF85WF>1$#v5A(Pzn&~rAZ2!6fg`BI7$5EdE@6hfvZmcC7i+e@9W(^
zQPHNkFB-NJ*ZgbvV?*c-W&!c)DtFJ<uj>V#6?DQZMQ%y~y;|e3!1hK<H=qCc&yU}J
z`<>!6jiD4G4=&JEm-cwDLT^@qCIFi*=<qcYtouUkY|$&UOW8ah&p5H!Km<+G!Q&87
zRSsw-%oK$f9IJ3E)DhjeicD}?e+EaSDK?G2B4M#!KdbMaI5)xa+FVm?XfiGV!5DCR
z10Kc7e6(l}@jOCcQ<EmgiCJ4NO=DojhZ<~fyfj!OI0sCyNeaT;peI&L;o8yJci?wD
zS9{D*J*~KZ&tp*@TO|(MYEK7aXc|uuunEuo=DT{XGiwq(Khdd>{L{$IlIsL2s6pdl
zf4K=RY_v1<P3IJ`tMnTD#`mA~$ud7@O{Br)=|QvBI>Gu8Y34c;E1g|*W8Fh(CK2X$
zK-WL+Y)n~+L%_`SJ1O)K6WCvh4l0PLu#2x2iQUA<vA;H~kHA_PXnq}UP);}=2yi!<
zSclI2zj&Bq8Dq`K)&1Q_veu3}j+tMdWo1_5dZoarU%QTzrn(R22YI(HND+A0d$Z$@
z5Pw0cee^Fn=m|D^j*E^hXYNNj4F=C&J%OD;m@Cv}ZqTc!zGG)~l8&B08ohrN`0u`g
zqmO6PD*F)F)K8QDsN@Hkp~G(%8Ff6}`I&1@#UH2Zs&+sqc6x;LrB1yThk0F9#D>{?
z|Fy1@6Z~4JLigy0sk4C_beSb=wH~^#=~ZBJ-3FSH0MgYf;wZ8jjWfY-vvy2p*__Wa
z*gzJRfNewc6Aab?BNciib@VF&DY0SOU%~5-dJ4j@bCM?NL3E`XXOHCkGBE|6{|Y+L
z^U#ulFcGT<?ejd)D_by4L8nQV0!;Dxpq|!ss{sc3&%v=_C5-D2Iu_X1ij7Vx)H=bk
z(GhN1;su@SdFK@#UDG3a*e*($+Y5Hv-B{5h+i{*S64Nvu3vMs|M1lb_HRKcP#wY9T
zwLWA64AjMPeBNHy_)X9joY#L)VBNo>=ii~WWNehqlnpdphco(3mo!bZLdbn&!}WAG
zX@dc0R>cE7cAa5`mpWEb=27&8JKNFw&u@SFWzhX<yQU4#&#yneuYZw17Z{AaI{xuz
zILD$1b3TxQ6BD(J-o6!?__<$Z5wy)7t<c$>H?F#L!Z}5*jtAqhA<l<v>k#I3Y4UKk
z!QN@JZZNY_3Z}T4&)soyZ)FY&S9RoE<m&kOf6LW=33JYH6`u{+czS#J-!fx_&~%~a
zQci(|oY;1mm<s3STyz%HTu2?*7S4E>7xV~hE|jKQ%BGQ$q5Vq^VRKOY=N)YPW>d#c
zqFE%>@OWc0W@0aXyJEK+a0CM>uz{xWTM?`ikg4sZTEGLVdjt~(+l^U)B>=HX97WP=
zfJL<Imo$ZeXyy|ollWKY;Ncq$u-!PrJgy-7#r?a2j{OLZ`w$bm%nec$RJJ&lFdz8n
zrE+K2nsXAd4uEE1iNP{+7pKQB2(F4vE^yXI;31uLpx34z<4H%`Oj(-lM=Hc)^ZAJ(
zj{Dz><5tYKZ}nZJ2WxSFFcM|Cj$P2X>wWN^>>A5Rt)M+$bZQmfzO7%Y2MbaM?fjWG
zVYPY3{>pr83eAf*q@Mr$lV|bz5ke-3rMMymH@rSL4Fyn2R=crT%XsW@($)Cc%ZZs#
zmN0`wo$Vq<VVB3PiCtj9JUe^g<``MY2Wh&how`cdoa?aZj=h7Fc|3ql$o6jQrd>r3
z@MNL13dlTd!qnu>N#e0i=t`?*nsZ7yPdj`qGU!LlV8}d0jrE@Zs{_?Ix)6!XQUkqI
z1BBpwds*uiY-SzK^I6G_O(GHWR{o&6PEH|ysU9U*O*=9E+{^e_CpkCP_!JEDdg~{k
z#YAk0vBfWMx9hw@yq*{{1-Y0lm?q=8q)sf_^Xs-22L|M=@bLCq?XT^P>GE`#p*@$o
zS<%Z_*wBHC+4T6)^YG2bt~e^3K7sCtxj%+AljF@ko5Afp<0nRg<6^h;aP<bX%PyIG
ziHq+XcO8HjS@U;gntb<yc8cKfHvL-+O+CwAyy0uFqffhG7;Im`5s|F;WozE(KSJ1h
zWo7C6KM1MI-*|=wJ$7w)xUNQH^PLL!%dXAw7N>#(Us3uHkl%n|pqHn0S;O=G=o9@|
z=BcKdTT%WmFF)%*8J+=6J+UzV)y4eojvSwOmg^W-N9=4`*2zn*|1&JjGb|>o<b&?1
zEJk+%qCZTJ>u+v~V7<OUf)(D!&oxb)em!}^3-BbsI(Q5VtO+r*j!mEI47OLl=V|Ih
zxL=G3c>D+<Vy+LEwSoWP_7bcoR?yBf=!D$AdV)8c=Xq!4`Ar*tvcx9L{bjJ${i_Z%
z%|bIYR*j$I5DOJ|K$H2$X)xf)^V^m(_xtQ(&e$IOc5B1qH0)AH;%$ap=eKdUW=I7C
zT=40^Mqt_Rro<|8Jcybu_q$H9>H4!3B)Yv=aD5C5G#y1|ul{o{`yHXy8sj|WoI6=r
z_5VdRiyS1!rM`cNPuK+PN;uHd{l(PVc@$wCn8D!jfODQ2ko(1%o~kon=m!$Dg7$oQ
z7-MelrM17(d#1|W7YCYo-5T^;ZG$e42ZrnRy7yJBv19P`q-s`QKG%6&bL}i+)DWl5
zoL`U_a6X1j|3>Oe=2)}-6*a&6BYYdtfYoTybe?Cf{8#g#;KR*4@2}94s%dB^=Tgik
zVKYAWh3Q0lUQowUQ&hx>T<15=&%HLU&X>79+mx2NCj~dI{8!BR&)lp1csZZ{`1}8`
z4?D3tBCx@=DkpM-6vD80+%Yz>3NVW<W~>I9+OwE9LZJxO`m+e6w}-lcCktm-;=M6T
z{E$ff2Eg0_G?zLZDCWY|jl>6W<{$7w>ZiCO2k3-&6V<^ci7Y#bu0P<hH}P9~gwS+!
zETo7U|C#I;S%rEsVuh{F3Oc}(2Tj9dYYI;NSaRo}ko}TKoY<>hH4R&3w#$MO{Om6R
zgl%E9?c#z+6M<z8SSrkbu6^5_Jm8`UL%4uomc3v+7esrF$5NA~7h*jK1E9Y$l*s=4
z=2K0kAE=%kxB9Br|94`)sbU?ie&=7A#|N$v*&Hw|Vy;h|K+Rf(qm&x|_8n(}KLU)@
zdYk|SGf!SC|M>ZtPe5BAKLU%Vqi*2ge6(QArsK8rVnvS-Pt#IZooM$IdIp2RPEu;%
z<9tMz73*<ZnFBnz9-6MuBU^KuhTz90T{^ttv4#aaUYAzr7}s7$!7A{8k=a<RPJ0t3
zd4NcOf^|RyOX1HtSLndw8UF;&ylzkO;FwJ?Uh7zs^Zm$3&KI$Qq}MvN0S$Vd(Scx2
zD8-~a9kB9`YFLKro*n%&QajIIh4p<yaOuW)t}|-_2kMXGRgKPIeY-^ekK;R7VZH%9
z_t(q#1DN{@(NQ<_&-nwM92i)$5Wsw}G~-miU3}*(b5LaHnK-TDYyUW#7^(IBTLLEb
z8t@nRW@zH0{RH$%zkdVTfQ>njYr7gLc>JN|%&+%#oF_}+@p&Fj{~031CPl=n!5Jdy
zjZPvruqBR}+hpA6$*<!_L2dpuzv}lLA3x|%=0Mx|n^}GBAHPcE!?}rFa~)>z^ULjd
zAQm3(uj=&%e_SE8FjoLgIu_{CV;4-1y7Dvb>+KD!$##FgF@7bJ!Irvz-p*HWVDlq{
z8wO;;Qj@&D%+f0c1bc%q@BOEDSl(llne2T>JtKi8%e$>`_Dj#GJktV^3Nd#Bf8wDE
z9r*nxt7BAS8VVs&k>}oEm-nxvN6hV=SZ8)w=g&Xu0|Xf^5Q%g1)1*$ER?|BFbVazH
z#LQr9?ngP2fu=Sjem*Z@6R(a3be`8u=JQW>y<K2BHnYm{aK=O{Sc>M=8z|cwAKHcy
z))LuJ=lr6{G!pRh=X$=4N4$>NRr7Ap-j~7Pq~yAnNVOs)-u*jAH27+Lvb`Jc@AZ#h
z#0u7=+5P(*e5E6Ee;I}qt4ZhGraFZho6Uc?zX+JytDWLJ${&CHVb+WR*Wp}&30Ndn
zQU8SJ(EcSK&Dxmg=b&}+>JNMM+&jsj@cwgMXW~@Mm|4N|2+su1cHa!CmYoH5!O9==
zoK}pF-FW-@`1xc$&rCb_2uuxgTzPw~52om!b$))-XVTf~U&jO6b3ci_zO2`|c#;Kw
zy(6|Rn@$y-UhAlXMN(=);zK{2yKFM3!(~v(xDT_=P-m%oIKLjIY{P}CI(aU&TGG$g
z83Vk2>X~f!!H9W0&%~?w<hlwo{%YO+CEJwF`(3W)b9FvmJ<rQ|FI>I8zM4;c0(z<Y
zTH6gcz1srC=0YZFEPe!86Fk%>3s{j@;<G?DgKtP7HtQ$|AlEv;DEQChM}CNzB31!b
z&VuT<KH|6E>SLAS7D*m-faX#sGKwddGY5_Xn&6JNCaAI5E@EOMsDQ8(qNvYU)C?&I
z2w9y6(fWgR^g9!BWAShE1e@6qCu0-giPuvoh{WQd3mXVl{O5oEXII@}zbLH3G;CVO
z^l9-UHt=6P@Hs1MPEv<n1w<PY&8&DpM_0wMRyLu-SJN=+>vSMIXeMLRUYb~%z<E^L
zf2<*%N<MuOCjq}c>Lb{1Z}n@uJc1DR^XCs2lK^N@6>R#6LelZ{I0c$*p>h>$vb#+J
zbv*7Mgy~v6A;AdGJ0lY;^sZ4Gn!p6;GMKSU`SSGg?c4j?*LrW-1tA_mFCy^)kNb%D
zRF<mNpcTULW0&>8c-KcPg{9YVVGVg~8p2#Ho~rfejn0W-U0@g0eG;iJXt#IE0%x1B
zh^reX7z5-2LMPTO4Gg3owi#YsKXbl=6#)Nc74Yx{41><|J##>0e>r)uX@HeQ&vt(V
zyMBJZ`y~D(o~<kKqVo#76BglAGhwjnTu={d*xOgk?cF}{D){}x_f`|}KEBdH)D)!G
zNIf>^cf!7`ttsZ|<A+Dha$h5~!Q;?rXY!Ee3VKbkndgT%)$c#nCo#2(qF=}<71KVT
zuaiOyF!OHId1RLUa$Y~MuB;}X#;pzLm}MWm0iDVU&ud8+y#H8V9VQlp)K}PBBH!0!
z^RTRWy9=FS`Wa(VUvSRcNxF!4|LXKB8tj_F`-LPJ``Uj<P*0otOQ2bQp8d7HVq(MX
zwK6s$*8wYpkK>Jdm|fPH9;<m>Ld2=~Io^@ovX;6hUs<y;&v(&p&2wcuijG~-e7`@=
zW9R&}K-afEzl4fQ9ml`9FMYzRKaa1Sfz$!d3uC7Ev;Sbs(XNN(6|WDOkD$HI>)d|5
zFq)$+_5FYd=!xI!p(!{+-Y}X}!UZ|s$&Cfp$Hc8dezY)=iiAypWj?7Kft~j+J>q#W
zD+o)9ogTC1^8h5E2D^W%LF38&9jy?XL>e5S|H?8e!g`0_ZUJ@$JXl}%seu^7*xooR
z`9RMZ*3HCJ5GH_K$(^nhg99G+uVQ0cpTw}v7xC-S-Ql8LkczmUDm%m-L9YR`7u2!y
zx+*guMIz>XM~@_6Iw8+#77TfvzVZHE&lLy@hB+&&0(kI`M{LgL4VXGHS_O;dE*3Ri
zS)UY<tJjs1U<EeEA=W{G=3GxmqGy&dQ+$5hp1bN8==Y$}?C|P6?&jbZad<r>GSD<d
zQd!{}tnwFO5&!(>KW%O}|1)#Du!?vbu_w4h0yegF3*Ud-{>AOYg6C@a0GvcmCnWLv
zw+F{F!Cbdp-jDjye{$(2<mv70xA{#Sa-PPd(mKEtn--rQG^i`>z?grB8R>DN$AUJY
z`~PariGi#Aegzwq%5#XVPP*n;lg&@ODG^|dc0Qj^;!l<$_d(KUoqxH#rl;EZ{`=Q;
zlDKg-|Eu%j3P(S)`7@2Hd9ojuy65R1fBWxC-fzs+25cAHSTDF)O+h;$0z5r(l5nFX
zfZhq7IZ-2J-l#x<eOL#-b&Lr#|N0ZJTRanBhvAe}{r*9U7*Ts5640GDu5Pp@R`ss0
zz~lPcJ8@iNrU10lW6laZIiMx$pLMnwflZx&2j~ik&vuDUNY<=?-w6OhY!YK4S|L{t
zB6*|1A}p89Tqq~R=K;={1aiCHPUbT)#hQ+*2DLGIdb{hB#b|oz(y7)GjGYkEgWNqJ
zT1t;itRwmfTp&_UC3lR~^d#V^pGej>f<4!Ay}s7bVi?Zyj~DGP{ZD8+<%UfIun}oO
z&FR?h;Bi7C)-VMz3cC{Eg)-wJ#A;UV5pF}!Yw(Rv9yFi69-n~r#RE{BPCQ0|xmcXW
zK#J?c1|z}iPdpA}Df~6RfgZY`hb?SYtx*;%n;Y8(i3VUJuvAdQ6aTak35FT(`h&q>
z(--8)ig4?oH*`TW8whHwDS{^!=Jt}lRQt^ZPIfF!$OEEH1$Mr`p7>QWh??uDZ__zD
zdBDG2ha+<R7qS$7a@J;?@E4vqr(grs8*IGdob{0NeN#<+J!?~&YL7RV0$a^}gif1^
zWnXK1vn-&lQVmVF#pciB6RE%}AO)WJ1{SZCQqcRCF$%k!|C;v!etM<qHa1xYr(sz1
z%PM@EiPjf#X=<mCG;^IqYggju<4-C%fivIVZ~JS09fZg8s(*R|dg&qN^IM$2Jm){*
z!87NKRgB)d=Rlp<Ie(pE`k5+sA9fWf*}toORQU0+o<GqF|BR9QMf+}8XEjbFUQu_)
zkM*qx8?L9NY92?;htG9Xd(DA$-<A1b9TW?5e@$MV_upI*b2pgz$LS9eXUJt5J?!1}
ze?r$%N2wM0e0u|T#%#}}>3!|rcn~&tsV2em4e0Mb*E-vb*q&pf-}?IR<|LlOCf8@v
z!+c(?54<0}Int_V3%h73HtQQJh<LCMg)l?xx%U|DF*TWHwQGGIKmU9D)6^4xgrwAb
z9W-OEo;PMei)i)7MzGE{*>LxcO?oHsxISmx?~s|#aoKA^Q|q`12t2o>0?=y!SvF(;
z0s@#%WuD@r8AYP?!_;hVm${+e`GCPm$sa<3DQ|D}K`4Zg(bP$9RX^&#zpvNJSOTKi
zF5_brCTb`4o|)&@#QT?Z%++qsX&LD1jmvt&?toz9u^vCEtZ03^|3+ZvIvcFbaX6ij
z^_)v*sfS#>&yaC9=K4f1iu38A7B=%-8f?Bk=lrci(tq(NQ}`S;F8KYYaZ<YKIt;Y<
z=lyPqZ-3sNd*l2IuHJ~hy5BKTtd+4D!gb4LN<3#g4y_RITzvxis#@+NTUYj@WkY^c
zP=DE8=l6ci!dCabC{OqD>ig^S)B2lM)|`v^)%xHkz<8%*llf3Ko(k;%Jusb$ha?PU
zWa`&oM+}~<!&Y|gukaT`&v7TNReB>Vb@pdI8^&W5A^Rd2@GtL!Fh|e+LhILFT@S?=
zIqPY2AN)7DT8FFSYK}g+@}JjDuHvtF`u*$w>5BKRxse@UQ-RgbFu+DC@UUS<iU+Ha
zT7$KCxZoyIYy!QKTx=3I^1^IYIqGl@W9^E-re-D&cs#M^7D;Z*Vi$J4K{LhG0hbH$
z7VkVIlZVU!tpN1Z8?w-O#ktPhBFOv^qQ*L(UdY?!5>KUd3`-=Px9TJy!s9`Y6|gkT
z5{qCvqtGAlu%6_eIah<Ov79}}!lrc$06dE9$Bp?0(@fkRm?k~1f^7#pj7}55QN%zv
zNyjq!yucZwrOP>^=Qg4tF$g`>$u{CN0B|bs&}9?->*FUgd3~+FQuqnz_xJi9Md#B6
zsO<l%)W^^Dz)b~E<0oAKQ)H4GzEKDU2!8g9=~&1RE}(jX-(2dTYYE1(I7v`{dE#Jx
zd3~#YWMHE4^yWHdaH!G;2Cv2#B6iNuvVfCdgjrUYb&Q$g+QiE8w%_Z?Y9HvS&|{Y=
zX7eGYPh97j3us?xA+~wW<95OZV#%G`YZs9FaNQKsy1mJrMIc2Ku)S~!oWJxU3=1ae
z$C8yqwPgOezr-re>#zzQpFn|35<lk)S(6IBf8$A~)aiMee07XmDQ8DU2b{THt@Hz%
z=bgnxVT+WUFIqu=>wnTaspy`b8j<1<NpHr&<_{aSYi}deMq%x$v;)`2;?5uJlFq)R
zunq?3jD9-au!C9Q?f9g2iYT`8r8=7JyS$V2)^9}8HNlgBji=Y!bu~XiNXp%DGCn!}
zbo#`r_2=<9$9lg11B1a(t3H}w*3X}h-}o?oV(!^5>?0CI5Ak!jGc!2MPpvBEpG?jL
z&%<eR{7g%6UJZVphLAa#=;<U_(0&KBdJ5Q5mOA{giu{x3u<Act=jXov_WTj056~1O
z3#<(Iv1tb5SL2@f3FwK}nOUlb<?LNe@Q%22N7Af`^;dAnm;0|kNkOll2(1Emc8L?4
z__L5)4}sks@`h0rRW<jm8}k#ju5+v-VuMYrOihZAC^qN*?HUC-pMWN23g>T3g0U1t
zsHd3swJC_N<c6je5+F9QsXrmh`6GxiSh!zf^-TXfEFn7A?O@Z&E>|Ayu-U(}8hE}#
z(hczWb7Jqq?IM>h>_a;H4pOoo3D^X5-og<x&yD#9TCI@e5IUnhU##g&j@-NF4V?sJ
zo(2oOz78^MimQ2Et-p2Rv<`L)OZ}@iF28?Yudki6ppz(Ry1gD7SOt)>K^T^5omUk=
zktV3AgD@-1rvE|$Oo^B=XhG-xPP2w-^uW}Td2W2v-`UrpYlv?^qp7UzPM#ZT#0*zy
z$Kt?tzC?U|tLt8hM3Af4xO)9^HUBw>30)>yL8cQc2Iu;=75w=1`2CsCg>N;lUhiD-
z@qXJ=t5kp03EmpL8B?O?g+~roTYrw{%Do4t>%4W*)I&h*WQ&IxGkejqD|)MtF#YP8
zcs_n)Yla;E8*}|<ZnP7~^sefhuUDp=k3%az91G_4VTu`($-vcdPJB`n+RT3zfm~Ow
zcv$VsU(9Ezd$wtWt9A4Ke&*_a@$~ief3N?YI4`uYKzPn@!6l0T(-l}xm=)C6bfSrj
z*cMtpBvBi|d^-C^MISqot-ym-fQf)$Zcw%U)q{&M24n34Yl_YDiKo~eycA$HD`b**
zuGV4ui(D)i(*=qOx~?-5vt3x`fWH^)_EiRA01K-CBF}I1pn=@gKG07=a|2GS>!1hH
zT*=2y6q{9Uq=<e*titcuf=nLhx;kODH~JY-LHtU-FXe=R3D8ssxnyxA#qwOm0^;<>
z983XXOwkGGG_mx$Un;uSADyN#p$k+61DNFNOPvBAAN_WG-x}S+o-d`!v-TaHe79-E
z9|ghfH4M~PkAGJNtB}MyVKwn|%`h-hZC3)4MFp)My2#q;ui*Il+j^}?ypags@T!Uj
zHmwG!40Mq)<D;3F0SK(%PojcqY7PSv#qFYt^HgD&piN9<;vJ5dIZwd3k$6Rl*mS!{
z-0Ec92_BCV(IeTwN&Kb<Jk(i12c~D8v7*j-+65Lgy}qGSLBWY;3}k!3UZI&TkBu{~
zGuTvM&FY>zc*4ipJ8>PrI^crSrC;zYbzdaA@9p>$KUhKBFUAN?Z0;8mQzFD_^E;rm
z*39(*JH_j7x9fwGbj1jmlMy_A1&8VR4rrP_XcACa$L`W|9uydbW>}LSe#1nM1?{@&
z`WKOR^gD+u0E`bFpP{DLfv)r1Bjv5*;c}h^*bIM;uPm5f!I1}Xv>zO|Ip2WJoPmK9
z(+O|KcUy0Mn{zUH-tNE4IAs1C=g4rI^Zh12<l%Jyc(JC_Cc-zMA8s!L*^Dz{9?zN2
z_6GE{)}J0la?_>AC!lRc%sP|Jb1OUFB^_bg`3Puc4p_8Z5hPw=zyxQGb7MfgzSR5}
zy33c~cra!oiwW!u1<dm|pMZuR{gopbPK;L@2Krf0G^^^u5+*pUpk2ZD`lDOw`9hbG
zu(QGxa(?4dm<Ew+5(jvk9&B~If34(WNwMtT)IkXTwTn-)%JXVG5S_|`_V_ttiZK&C
z_Rb;PE<B<W=6$EfTm_k@VKW%!d}dePz|y9U$LI6|`dmj#JVGtT$L~^;?t<rj)UgYi
zIWK?;Y<`ctJ{W-$JE5A9TB+nF%{WO>Y+dn32<2yhnn8V@+=6NLd9%<Xq||r~el5)N
z0*F+&T{h#ij(TJJ09NYH_|$=%FB{L#Yr9AkoA&nf*ZdE0yJCpF@AuD>sRIUV*7F+e
z9#<>q6`D)kZx<v?f10LXa~`$(ZYhA~1dqpg&ETk@czd~hXD+iV+Y9;ao1Z9O7slfB
z<zQ}_%^c4Xz1@$()&8PX&A8bX`5_#)nM1H^Wj2<=nRPZyr$SGx;`QzEJm-3X8awx+
z9x*;-+?VI|-ND*Q>2*e7s1^udj`b`@(($V&71_C2Pn}j1^%f6$j>@ZPfI>@GENn3$
z0g7{l#6K)}wLaeO&TONHt<IS_G3?cGxJ?hMNPU|yw=P)`-Y?X!m8Gd?it0Xb{)3`6
z_ZOOyreY)8y9NBqb=bIy&vkNRtCQx{{=M3dPygi~|2N6O!<P<3bvH~-(J5=Krv)Dr
zW)Z-XFtHS#tBI!0Lkp%yu)`GbZ)`=fEztc7=R9XFc!*>a5@C6d8xkTZU=ypJ*6np%
zaut%W2<&!)RA8OM$~?d`AB>EY?Tt=@VVeW!&*mW1So{Q_jWHh3d9bjl1?S(DcJL=G
zV$Nskq$t361ieOPO|Z^criLnaFo)=RJ3c_K%*JNMlG${jh(Un8oOlTK0tWz==Q&oU
z!*44fHi0b5_OQ2UQwsDLi6)Y!mZnau#{=4#08RA!&-IlZj8LXOg-9U1(&@K-?I$`3
z)Z(!e0Yc4KdnGB@Ds)UH7I32N!Wvo0gINcR?CiU0tPK811%F}vpI+bUYnlmj{(x|O
zx@4ioQmP`30|~3p3C4q(QkEsgrkX4RViow~3^eEUvqBrYVgpSh#Tf$r)CYx@!!OMU
ztXZZ9JkB4C2Q?e0mgppIwlW`)6ximEHDHSEg-|fdbkGT`XOC0q3OP4nCI+4EP)M-C
z<IR|vK0m$dS^<7yfUV2M0)CptY&h;}G&VmTU03mBo*TI@q=MFIptbtJFEp6JqMj+*
z_x>lY*-|my0I-)P@B&{adj1F@%_R0y`Js<FM99_lLbBM#*<=WtQ~L>Mom&5dVD1_A
z`wYhRtGqfs<FPolME}!Qn^R=}wr_~z6OQnU*C$6QJqI=BN;odv8QtcVVzVxYwhxGx
zX#GG6y9<xG+OVx{#1-~-&B7)Y-Tgc96Elw=M7>SSy4EYZTW+rZNrVc%zm6$lW$K^x
z9Tru=;Xs`jggRCcO!@V3d+wS6>Mp$IIeYbocCG8}X6JS(0L}Eb`GdWHPKE6Z(m#VG
z^%WoQ^(7?}d%3@?c6$hxY9AAH7pi@dK~#T#O3~)i@uQ1E1qJ69n_T(52?{(_<+y_w
z@6lpbh=*PyVZH&K^^EH;ia;hKc<2SM58_OMVa9`cKIg{*@ez~x9p5yU8i@}{@rZV>
z3SIa%oWkIsC+iGm&7(+9FkU~_-1F-Zds8PK?M6n={@TL0-x-75h_eG%VhwgMkDM8~
z32gShe%SW)@*e1kA922qbkA*w37&JXw$FyO)JAs3gFU5ondxG}Vlx4iJT}nd)81)G
zOiBc(N!%>)Rjx723fYhPwUF!iiOQ;Z-|sARa;Nz5<L+Muw7Wo0mbclOf|F_x0chtx
zQ`Gd%=CpKWd7*;ZDK?3m8<_M6tifi5{Iia3^|RT_I!S4^v$DEEJ$Zh9xqG8I%=Z%<
zPW*elDP3%d>_?dK*$Ql+Y2umrI!J6je2#@V&oc>2mY@56h{FXvbGWk=gQb2$Vo<K*
z6VReR2f)))y<trN8{%s;j{J}J+Z)guBXJ!eHqmKP0BgYc_!I&Zb|t_H>M5v0mtp#C
zCPs8B^hm<yaWdKJY*-f5I%PVsS9J`acY=o{O0O2^O8jPXT}p6rH;=-sGr8|yVUd)&
zV(#C6C*}X``v1lGHB+LmuG_x<dFJW$`F~}`&<Ai~lRk@L15F1|i#mw`4}L^qs>C5&
z2tAM(<Ga8OJXafVwIf|Pb0MQVd;k)g@hil1=B&WuI&|JjRAk%<9uv=`4p!82J<mHO
zGnv9%AYRbEFfegqqW-CwzeU6%bb(F7jK{<J+e{IeS+nUyc6z|{)ff<y6Tsqghzx43
zUEBNtr<MR?6o9@ue%$a{#Ig9GFr9Io0G!VYAw5oVQ_w`6_EwdyiN^rIpOl#x=lA{*
z9xy$y4p{tDFd+Q;tW9Q5*7w!+I5c1TjSqUuey(lQZs3Hgb!Ht_+<-3EnE<D)wT^z9
z5jn2FO%BF1$AoYHa>C~Ng!soV&Xh0DFZDZ(=HgVi)uLbYQ_vZPOjx4bUOh7)@s5?U
zaaPc%<2uA2;c+E6!<=3;F{uLzEfa_qG?0rmeL@{mjKrow;uTuQg~UK5_nT;E=5-*@
ze0^QtH3oWYVyogk__2h!72;~x1s2gl{2K<?J9Fo8EB3|@71~tSntR3Ai+1wlvPu@Y
zWgWp1-R_%?rG#YzPHcx4HjQW8?3duc$N91<SK@kWc;&V(dXTEG0Ov3BM+nb0q`A_X
zya7$`Z~Z+vhFPCIx-KQhQpxREzN;-&eq(P(!d>sNP!ZbqpX*=nY)t3Wxu4cP?KePe
zPHr>k<9Vs(;aHPjeqLsA%ViXnMe*hHneAj9epPE9T@uWQQu?#LZ`XI&@fe^L4^-m;
zPi=4ShvhnsGz5`CbE!T)ZB8d_&A^D3UF~Bs^Lip`t~3ZX#1#l^uVJ@Uy4XfYm*^>h
zufGDq-kI*oNOJqgtgpPtzk6tR1+bJhu`lb`EanHuXfAc^uQ~2*lt*NHjRc#|#~Zk&
zYr)81von@IkuvW)f#WUbR}zKvED>Gm&*yp`Kpc~axVvJn&xkd7gJUC!+6WHKN;okm
z6AR{o8v8NduODw8RCMj#{k!jl^MWA&C&wx_&6VHa!4l6pu*r}jHtEKr(@2{nk`k?W
ze}B(caDeeb7uK*TLV`Deo#gsPx-&E;)wZ&Z+o^>*wk9#a<9VGJ#q`9=ai7{rq$`|t
zp7kA+O~6hM0`$!JPvM4(DcWs522W-%B%ll5unr<!9Yy{1$v8b%B5>&8WH@o!5i95b
z4_kKj!(0E$yy_ks-b-gzrEE4#r|ZuIs$&RWr|2P4Xkz0JG;<tw;DRPQI!?q!(j#V_
z*ok3NK!VTlV5HXhKvHbxeTJ<*c48N>)XAN~>*p-4?On4fC;)v$|4Z45AsrC4qwDWk
z%=0!}pGRwmcCDku7QDRfn`6_%W=0D0$2nOYO-*QQ0^<2;onJOLrqfc+$I6q3#}B+5
z-;s@0NGfmR`i8Z+K@Zm8nVaX9t!qLq%fb=z{_Fj?pVq!{pY{lqRn0G6%_@Sfj#+!K
z{kKiH($++1Vdi2LU;xb;=6>1<vn$|n{~A-F4PCQ2F-somt(yLGr03n)|1c5jd6f8w
z+&Hii*j(qglzE&_o9j|6n6gz!^C7vOJY-hTW-OT6?S*a7hfPTCR`6;*=L&$H%`5Iw
z{_B7IPlj<MNwc~;blR&=qS0%j;L+;08T4b>odM4b-Yg566eGc=F%vvoa0%$b>)ghP
z@J8#FLgEQf#0mPb;BZ>V0lHxpcGd@bNe8DC;-8pn5%4?*A9jHv=vivU17-2}faMU=
z&cvzn7s$;D8YmtoxmXer!8%yGBCzh45Pu#VQy=g+AA_w7iI+IBY_GXzj4>>N{g~W9
z(>Y+X@}04hF2D23X3&qINHz-avn|H2A&(<pZ7(TC!k>TsiC<^35Y8X07M#yEC{U`(
zKGna`^Ir*ji~Z66^xIN?Hd^iZ5-Op|vTT@0fFgA~UkKRjd;yTz;z=S*&3-qa?FxqD
zc&jxbiWDB6K0bf_`2N9bwj3=TQ)xMW^~lul7hQpYY7#vSViZ{S9UjR1E8*B!Fb08T
zJ+a12yR8EryQ}~dk<~tCGQne=t&67PiXNe$0%vlA1I<CVfZ&hD*qa!H#}C?cQ2*@j
z6wX#p(WyIhX)OYJ@`6fdpbl1lEX?bP&RNIV_A;-3rR%@^AjU8uhKG7^+S6JgMTF*W
z7vFWre8@sf3-4pyVj<r-2nO5b^|sv$8%N^p`r|h;*T0Fl$H;k{O#Bf-A$_Tyf95v9
zS;O?Q<U63@*ZW!@v`*^c;#BVb8@?jWehjP^HeczS%98zSR&w8tH*~i6tL>flQ}(qx
z*IX^k8FTDl)AcX8`&js>#C#kJ&C8M+vXA-v=p5K9bY&Y8%+l3Yf*c<(7sKZMN<8>i
zf)b4ZHr0Yh!SQJq)(K;2dLKWN#ElGr4b|+I#Ak9s5r&nl7}~Hd^LXaK>%Ka@j&YZ>
z1Gc7=<}kc}D_j^jk?vBOFhAj*0GP+y^oyfU%f@1>;4v|&x5E!+7xA-MQ#p+yTbMS&
zf6=YS1qVF2-nzR5?Hlffk+J^YbVxJafcDrf(I~L4&&teX7~*)Yh*M$K8P4C?MX+x`
zdwuW?=<Ycx-2Fjl4GJ93Tcpi--IfFhVOh8Gj{rQ;ES;AcnmINQFK>6RJ4^wdXS(Dn
zo*{r<ib!-Pt+A#@NDo#(V2zy2-5p4w%S4+B$b7U4z(2#n`Ml8PdAm9WSu~r@A2NUa
zVcs_<jB9XB@j!p~@7U{DQ+Qn2J8_<8e*Rp4b(rAatO9=hx_tmhY$l8yBuC0^e;Fn-
z3rig}yD`o{lXXaXL^yZ(I!I5P2qqSf0?@8=Pv8a~;;|F`+B0*VXN+|mODpQsOp0|}
z-d^Ul&K^HT20Y$RgYiaUb&6fvbt91*agwD76j^G7MR+_r9O$R@^z?)O(+tNHI$-?0
z)cW}jWt*|787m(D6P#ERgU;f(zu!E~)p^H!YM2x3FDwDm!p|T3^+e|JHbvfWPp~5Q
zJ2o64G&9fTI<hPXo{9K-Km2;{^Y^LWfM%__w^q#E%iXXm%qdmPcCMMU^X|ORFASj|
zY-Z*4xJ@C(cxz5(9ff$DBW9g{lUXWyt9G7`dRkG>^l806A|(1@H3a)H=@D9b&s5ro
zv57zH2JypoUZlc|pPY|>tL1$RnDytB^lSC2r_i6Qv)DLahvna&zdXIY{BKJgsON@F
z{AvO)GR%#f0*GX~6P!$x7>UNuiQP#%?l2><NkPo|YAjtQCQOkV5;1TV8(BECLh^!&
znhG&KGZ8%VM2)~YA9bMl^=o}^0J<h|K+_GW?LXcM0X%bmt?1@zJ<UR3MgPBqnrzW=
zt*mtp)&#<s551;9wCeyp@r5bGh?N1S+hu&`6?(8q57ale*8SKE7ROEq#wJ~n=3Gxp
z32Sbtt)MSRgd%tl*aXX}^87r1)tV+<2vYDHV6*!x!2OuwiJwi;Gmp1+7lbi?JWtQ{
zk%zbbIHqqgeEnMg#8o~&ZYdt;vq+#CREZ`{XC-LKd9;zN37(a9?2(jm{iWu9j4RY5
zhFdtAho_IvUq65RdVXEUD#IbL#3;lrq3fYA=G@D1f=&}`Qa^L9$sB9qxOfntz=G);
zt{dsv)C6<c(PEv|cY=VW8tYK=k3asXVNN6_*z~;U`TmQU>;Lxc@%^In7O4XtA3tdl
z;E14Kr-_P<p5uZT*Udzz5)HiuC#8}vZji)#eWrqo3^?&z-3NcY*BgZhD!XDe>izvx
zkGzjJ=4ft0oTT>c;tlI>-@ci(70LCVrXBwOwZBW(751~wPL(NFWTO)hY`D4lBR=}a
z)+Y(DX?j?7eyySD)&BjDzu`ByYp>Do-e4V-=n^!`ZA#IP^2Wf_63-H&exNI18}oiN
zKLPD_$vRS-dV}i(#mze78_>t-w{7vjb6h_qT7v7zcti6%XX0_*{J%b5pC7ziI!Qda
zmEP|U=#Rz2L9Ty;^Q{u@!9Uk$l9R=-9=wLIzOb1~eSW?jzcRnUeld)6BXOdWYZzs5
zVz=|%0A2`E;Cw*P>#Wpw;_eRy#flq|eyt5n@a;~U3d#Cx{)`K=i|yK`WOKd&J#n2U
zWWn}_0ZRpHiW>VdzV>7WyZ(U2vb^+?;`Vk8SOU-8e8!Sry+JUaW2gVe_z~Jbb6#&n
zKle$S&FxU}>o^wUZ5Q8gan6}MSl^~e_HM_O0l=CVW>bOXzM@DZ*h{G{S;w#fPkjT*
zAO$_J5k@NXCq|*o>!3+ey2dI(Gexj&h}K~223@9yH0K-llXIO+Ah}6I<hV_*qQh?x
zX;$jn1bVS-$ZTqX{cA1(K|eNOVea?Yo96_{==tixjeN)PWc59QO=P$;No3jxE%*uR
ziNWq-po!CsMf(*N>R6cPBao;tQQ`zAuo_(_=$XCf^Z9#)73TVH18r6@Uw31Z5+P~M
z{gpc4xLx3mj5xuw9p?rs^aMS|n>)$4o6SJMruP?O+z~iif7D}O{|l!aAwcAuryk!L
z-aY{xk@~Sf*LGeQtc65I%pdWa`24dP2W0urc@g5_hd2j|KcWc4C;*-L2b<OpDa%0U
z4gA~w6}mDpE7N3U(C^1rv=R04+%L$Vednal$NqyT*I<hSu0z}{)Pw!iI8U|0-l-F>
zb6VI2+PJEd^bOZxV++0-@v7$ZU+IjS;)<)Gx&AyH4ks~Zygncd+t5FI=Xn7c>*4VO
zf3bfR(}~XWB+L!j!j`(PpLjP`y^;BE0ax?iNY>Lo{`TKhl8)_-r-*HUZQ*QU1%0ld
z@CFlS@QpchwF*xpVJt0OR-hLVYf5FFxcbXE@i<Kvn?8uFpvLC*AQCYzWGR9tZ)5~g
zfOrFp47tI;tYa4GBx>~-0K`o40F*8TDY2V4V;70c#F%)l_G2Cp?MeWG^j?5MtzT;C
z8=E=M9W+BbZYl_x6#S;oItcuTSRrLr5d6kVmnlee+>lZkdK<!OG}#a<&?Gqf9f-k$
zz*DmsYeGtg+{)sqDISwFz^sbv7%)Jmy@8qV%z=3R(o590Sl`tk5&PV4d;ps5RfFTI
zIi4K|dKPP);XEQdoDZ5rEs3*84(v0=H@7DzEL{wao^L?^{cr!JerNdDJ4sjQoWkSH
z&Fsxx+e?Z8iIn*uYa|+SoOqsE$1rT>T%nD@8>D0cvO2mfSyTWIEx==Z54bSVc_LyJ
z`SpL8ei9XseSydIaV)LaD^q{{`rv_Y62F3Bd#I{lS=nC5g{v1rq+m18OqFdhVB_Hn
zj2?OIP>X=gtWP2pul)m_F1vo4S!Z$;2E5&0Pe8w6J=DS`!zV_o@GwIdsT1Z4b)wtI
zstNhtXW&p$hylQUk4FLMd>}P5oXs=qy6x}i9o4WuzTN&HXBU(nZy3#YPCfpY9<%Z|
zug~<5_t~FKZOe1Jp8DJ}*SEISd%U6Ma92FsuBvg2%YmU27-v+w`G@lozk<U^_G<Lq
z`hTf?jbJkP$5!6#%hPjxVM6QLPW@j#UO5<h+7s%``8$eRn(s-`si4aVoOwU)*RW=L
zBtFDZwDK@M&X?n#=x%roL}X=1fz($(N`-W>N)*UK#19moiP4`=bwN-sXQ~~-Px{-u
z`ULb`f3TF+Fai+4lO1eUPH+4B_~Y^9-SeVr8gJtE<8@l;{^D-v-WCHCX;x>?A%66a
zkNF1iZLQo*i}41u{{*{(@9@3@8BSg<uK$S#D;%Q6I*RcBWAe`>I)L-!Hn-zPG8WOU
zC(VlQ#H!WUoZw-56$H3Mc5%MAymslw!}TqvJWU0jufIS3#P0UI9V~*t&RwGb<CEpO
z**j-deT_}9>3w+?(dIsDWa8&_I|4F)NHBtJk5<U`91gRZniO!W*)E*=(~He<s58QK
z5F-_Ho?>t8Y(}IRJbvbUw8z^|s}!KaIi544I!;`@PWka;T?Zge1kX`69Wk2Yu_8{e
z4oRPE`#mB}slx4<`&VpQ96Q02dB!8D11SRM{Uuj_05CU|BmVi%`Vl{RJ)8mo*x9A_
z_%VI6iHV3k$Fp6Ec;xC0@wvS-KF2do<_U<8kM|dDclE0ZJTI(?2?0yp*KwVRoWxIL
zsOZ7w$?>WG);q4fGsW$4EV1|ZKkoKpQrtkbLc6`eotTH)1@qoi&4V0ovv`D&U0|go
zU^?N??|;(8PPW;<Mp&;PUSGd5gnw=1$TEe<q|SlToFW*5jlgDqVW-G`H!Kjac^=jg
zn)CRXWZgDWd@H4Y4n4;W3DBRcv%rel;bIj)otYAAz`1LCpG_xRt;5U}b)M5Ua{eYo
zk@}hW#(5yviohIqmimkN&#>rips@LG@n2v6_q4GQxxj66y*fa1Kv+SDF{}$0hAHfw
z&~<fTvX`uhz2-8pSn0gmJQeeej1&hiaHIn_Q3WY^&@??F7kZl!94HE`6>PFyZuP|Y
z<W7h;*CHvE2N%*~@%UgDx<=sx0g15+3Pw-itRO`csUK%;K#y)>W(YL%AOgvfsxs0A
zO&3LkBC%#!Rtv0K62)f1CU`uqR=cs8M2mn;x_Tl-hp%zz(nhp<9S@sRW;()}nZHhZ
zf&J@<XamGI+MJ#h5HxeXSUEASe`PiXV2Q7x`wi%q{)KwqfUYm(2(|SUjGgO@#-@H^
zCR{g+2P26Aaus^w_c}wOR?y^PQ$#Dqu(1TTEspv4MA+N@>#2V*>BaZ3l8dF<e1OBV
z)Hu$G2{c{X&|?+(Rd=X)bbZlDy6dLL7@%OFIj=JTk6*nKjG>gxiCqp<lRl`a9P>|D
z?0f@PkIW)d6Hl1a4#d-iofXt|tc?*PsEH7@_M?Bi3vDpi%yB*wA=h&w6~q|E+-N#U
zz~em6Y;SO<8v8C46j;ddEO->Z-j_cqHa#y8Smw|ZY{q<OEj9K_Dk!u@Ccewu-XL=u
z9o+~N_P#>J=SwiKRwHXpqq<jop>qa&Io=@FIlD~U`0VwuY{2vOvi7gU|MR2Ii!q>Z
zy(J)TJ?mujUN<(MS(WVtD9sCdJ^hNkJRD-AY~!A}+t~Zf%saW6fKXizcD_Ndg+1h>
zzYyt2zumhz-qsGSd9Ob<)K2d=h%sF0V(SIvm-_H&G}fQ&>o?tRQ<6+<ZY<6<#Qn5w
zZqBeR7Z`c=OKr|5XxKK5rJCBBM|e&lW<0Cpxe$nvhtDUhEb;mLYy6X0KiWu|P}O^*
zu&lpM!{B{<;+}w|nyqQ#d_zCr-+uc+C-iatfZVSoSwDZSKm6E?&Gq)4+93W{$&I?Z
zmY5F)tpCsB58K`A|L?Mj(;Ltsb5<lb;``6L7k**h*C4(31=l>W-`{U<aA1L%V1N9q
zKOEM013az|niz!G6=swBdu6uA6g0=$-~aKCv)`t-7@WD+l;}6g#W2bJMWW~NKLgk`
z3J1+r;3teMgRx>A!V<68?#o&@R{)yXs9-bm3F(Rji=0K89DWWxH=K0Ocl?R8rt{Hh
zFW75<0?;t88<W&AT?=`xV*_U$)@??{X4VFS+JH1GV)@s&*=i$&fC-+L<2&LLrr>_6
zFig#y{fZCt#?@DsY|FmX{cw}3<L3(Ncj{f_`FiE(a}JYyAYcnfR<JpbAILPYkg!<d
z?cJ<w{_q!dB%0R+*oX1hGy_dNRA9FP;^X7}y}t4e57)YNDZ>xBCYQb^o+-BT!cy3|
zP}Am`mLlROl&4e8gsnND>;2>L_1|VvBHmutSHVd1mJWJeUe~F&k>g>r63=voEDn5p
z_G@bXSFe<K0Kr!`(6_hW+P~rfK{bU=JvKuE#Px^iN3)*lR8VXMlg0G5%5rv|r!;w3
z<RNoDGi$4`HMi}0IGKkPVijJuXOTIRv)#tk3Hk2(VDr45Tb+&g4NLB}f#;^4h^>yG
z6Q&2wp2>E;C+sTz%3p6lGdwV}SjZc!XXssOz=8g75^k_HgB~oA8}9grm<yRC_@G(m
z>Vb9W!moxdP?)u$AG@Ll`p-Bn0X75iCa&2W^MM+vVg7Cc@!NxPNTNl+=J`fDne_pE
zwVt`LSyq81CAxc-@PM;;V&X?&GfBvU7j_CzV<FYtE)p%G)$<VIldc8gS<e+Qz(2q8
z!bq*-#uI_9ML(b^c3E?h`HLFs+|U$ZO)Q0nd7_Q6W}vw(GVlTe&z6#=9<p>o_6u53
zK|LQl^-(zJWvh25>ILoXldxa>ajS+Fy;LI+tH6`88$MVNK$xIyR^=l_fvw3LOwB+h
zigk#`Z$JlQRtlm6YN>tW#y6n<_V@oF+u^#>+822Mf=*n5eT40a-~Azq6k{Oqz;Q*v
z)o9YJ#X4S%TL<bn<Ji(no&b-ZGkK%jNSImiE3jTq7<9w1jmjUygJ9+ebJ5Hkp@-hg
zKa)9M$BgHYx4BVuPjrt}Z&_Ot7;dTl3XwFeV3Rr5v`$OSh9qX%`G*8JCR3wF6Cil3
z6O6&WKGzFiuxb4CNab|F-^U9%noAuIKohfO%w(>=F>4?v)_yA}{L#_pE|wW0=DJm1
zLwvS3Mdai7N&(q=WjcR9er(X;1b_V?>VY1p#D2r&{06iKq}K?VrgX7&Uh9{scaFCk
zw-}HAkSX~_Pp?*e1&3RKpYt~{%nDmGs{`P6oq=tXGrj>09a(E)3iIh|J#>eZ`1R}e
zuj{_E+3d$TBF&fQ+qMK^4C{>Q)x#otJp_Aauy(_B0H>$MzpZDWHwDF%)PdB2?G4J{
z{S;v-BGvw(B3J~_m3Bmi&!;*fHs{9dWr?cXu@!)3CJ1_;jxV$^xWbN4K%*5<`3G)=
zkjTr^=vYNGkZALKz12VOcR;-Mx8K%vBOaT1gL{I%{s0I;_r9LkzblJQFt85pCNx4#
zif=%h?z4c+$_e8Q=pWy2&yCYk5WB$;uU~8ab3W6~3VN(_#9#^nveUKY>_2tnUjS_U
z`0;~CAUE}4UI!)~|63Q$ACEpsiihKwUFKDeIV;NZ==cH8Q$)>XY&D5kf+xmf&*Z!#
zQE<|vntrIgJN9+wEgTfi_ap7R4kQ@to!IMfn+g$mF51ZXZqpQ)^Q4)8?Oy-{o0U1P
zKX^z~Y_M)iop7vVDO}h`Jl<d1ItR<t1|QhWx^4JuECvhf=@2+qXs=SHnPA0sJqZaT
zeG_zv%^qRBUNC0btK;N+AF+47zO#Zvr-))cS1TmzJO>5+=gRJPdIhJ}bnKbr&T3>W
z)ffgjuR)<bKW|&jI*C*O>#WW|#N+JWz*wH1`TDF({eht`%VUz($8no>xH=wkoM$FL
zg{$*reg%^_9ClU^oPYdn{fqXEtMhCA0h_R;dOb}9SHOkJS8(7_h|OBxeoRv6>HZz#
zEo*)KFK_jn<{QvFPU2yP6nT5=H_H3-;Himcj*=q!b#CA^466u<PXP8@M31WhGZ@@<
z_3XO7zTHTXf0H>ka%VI8>N#^>XQp^q1kUp}#TYcWAEEnqjJ%r9mH(>RJilfPb!Ibq
z`W4!2<JOz`BtUU>Ugvm_RQor#>o&^Y|M+kAO$%P2&t2yS7yai8qGLGGREWq17?ufn
zVTv<;NN%9XgWwF7iXKHgNwj8}E*?gmaaRQJcpw_k;Vbgt8}y_QU@m0b)jcXiJUp->
zQY7fK7orL4k_AnyU0zuA#Daf8O>u=DY{EkJ7hQp-^S1~XfW3OK^TYs`9dKgZj}IY0
zk=f#z$Dwt^8#WLeh{4ip@U)o*%qistxs^(QmfnuKy%9MrFrSs#(;%J|K;tLIu$t~s
zN8&L6YXyWm!T_5oLI45}J7u1~LI9T08JgQ_#aBNO^_J-T1oZq7!jJxEvtngOv==J$
zfcoSm*hs+d3xk@+F%v~tB{FUwS5}y%_&>eo8mnfzs?lFr>Mfj<db77a1-W*8bsuZU
z`q0EF(Ft%%1<(2VCjPhzSOII3EHzG>9loxs2@b4Jg0%{!u_Ai%cmVBuj1e_ESG{2c
z$s$W<-<5)#r$7_Ct;0$_(zAhJiX^@Y9i_1DU!7J4JnlyXHuJQJJqyn}NSICP*qkH)
zG3{h}%o6;f-*panw7ykZ;(q>KPfVY7`{Z@l&ff^G9aw9oIJo|X=?ApyEP9CIKaZ=I
z`p(`Q3?3x=gNt~->wp`2y8nir<R(Dz@$<HBctZ9UHe12m=KLqdtn*>uB~T3(1lOlV
z8g$1BfaPh<^Os!5u=6Z3UhC(|As+R=$8GX+`<TCbih`_G^vCfD(BN1(f8(+FeEe!W
zR?@5PsL~F>xLExa-7%mJ@o?Q#$I8`y%yDHC97s>6E^KBR8`Q6PAJ+lH*o6L||DppI
z9uL8I$Um1^%_A%E>008Y-gxzmW`@)6qRk>{`UjhIf!gOZAQwyg>h*s|m=@e#^)2{#
zVINP###RkBkMm(Nlj?nbVIj_CJ>C!=HV7>Gz5m4nUCp}A!(D~(2K3AGdR~>O!_3Wh
zB0r22yR>gF{RZplZw%go*gI|}==VB_z>4~Oy|Vdp+<!Mw$;ZqU(@yYkUNE$aNv;A<
zeuU7n8&1CW)!GUKi9m%wBpy=?Q($vkX(KG6phB9|*NL5Cu3N06zNnp*T9L$=3kJ+L
z9A|(!Gu-OiJDFcWHc9*h52dWBjs*h}Iju3-Dd;>u7!WG?1b(v=YOOW9=N1DTpC)R<
zY;Jn)${M2=&FgbWO7_<*0#|PYr+Cmm&!adI8P_7Qijb5%XKpxdNc<JXXP^im_YB9m
zT{8fk^T-_(wsoT!K`+8E1$Mp;oz`(-22Zg;ieot+o#^);KlA7Pjw#D|vz|-W7fju1
zzP{Ev6A>%9{$mv~U)L{JllgD>+<V5FvxuHq-wg!(SOcbo?3ZAZr7+hbv(!UU7P5=+
zP~WViYw1N;mS#rz@m}lf8_+ekTI%PgFZG)-1aP0>Kb~QT5t>Ui8Q1zc#ilkf@noJ-
zRl3*nQ4J{)PXwT65wI6)oij5Xwr1GM&Ze3*w+XYC?ZWE83OeTzoCnRcW6yOI@xwew
zW=%Z`<Il|b&s=IQb&viTDf4ycRh>B>Y{F*zJRTz8YCbb&a-QLaiMO%-<M022|B+^9
zgd0ZO1kZMWg4zY`?4o;aVJrUt&paT+U{7Y76Feqv_FN~Jn5zTe%s~@jFc@H@(DXu_
z$Oy+xGr}y>1D<&x8X0WP`Czlo!Da%mn=mZspC?Sf;|mM~cCPuAC1%bL%?!c)t`ib}
zMIr&6npgYr;e!Yyan4GAk5dx{HDvvbO#IxBv((&QmICV7YfXDa|5=y<2#cT@2vSgw
zSygvbwh3rrh$IVb3N|q*LO>>O7oZJZ6`tz5JNywszvb}#z1{$Ynjx>xno8*<>A1Bx
zKo>(K9@Nd6-Uh>AyXqY?cWQgh&Cqz>`V*A)x_v5gJD_6b8_;j{9mMPQ*)`VW=Mqi9
zA#E7UP2R!;ojSxAZ<9Lo8r%ielb;r6ciu{wh^>XbU+Q3raDCo-g>kXToi>oZ)aa^&
z5uAO|orO*7pV=apx_^VIM_3}~yPgPg6}|h`F^0!=MojSJjhp2<_7v$@u&ITs>x}UU
z3$8PJWVMeuWE~tj{$KBPBM1E1*X2L7&Ftk=Mk@fFbqhAhq0R(9miahD#WYpuF_l6<
z1@}(YOJQtX8wPg4xuCss-BJp{e3CxJdIRV{KV+Q^t_^6cf5vpyVzt*OUIbQ(rG!#T
zZS=$aj65@Y@AkXu0FS~iUU0;DeNf2Ni1jAejoX}wH>F3ZRjTd({CqwBNxr>WuovRA
z`Sh~psZCaO9doX@qnGu^!c4IlX45~ASV8n(;d&-A#p6)`8m{&u0hub$#MbdMm-BwA
zA;rNTz0_l{Hv17~5y#DN@vvPfn|M4g{fS*k0C4=%6q=;S`8&0xHtjeyj9kh0gK8mu
zu{oWahFM|Nse`S)Bin!plW{&qq7kic>6k;*Y!Qp`2K4+6P%vKMK;l@4p3(}K)-W`Y
zh?<<s)n7#OtFM6xhI$NI7lY+dxZkZ7D)RU#4w~MlR`V#kK}=V@ZG}zhD2UNd5t<x7
z91`YEF@JP)LKZfqBCH9$0Bb4mV~q)BIXajXXXZdtA;!qmwG>BFk!tPR>sWtQ5dE2z
z;F<UFnU!tC>Ng&3E_C3^x~daBonX99Y<hEjNLQL`)B%2Nf)(K2nSSV=mC^<7uot2c
z)(IBD=DIYks6CLxov43W$REz<1c2wUISmCkF0+EF*mVfFI<BtXP$taWX{R7SY-Sy{
zEce$6?O?6<qcnqcNX-1fu1T^|2jbjn0v?^LLwcvk`fRwHwmGEPvnw)fwwFUUJGVyd
zQG6bww|;uQ(+Qz#1+EW4-;SkhJ$k7_cYk4VP{-4q1;JZ$sj<Ii0L+<VX9{{lC$>f%
z;K_b5U<2p2e={Gjf^74N-Rf%<^cogtHM`8Ok9t7|J>2aXczt2c=Q<7XXI!w3U7!<8
zmu)>$A<gPLicArRft)X~3WC!FbGHhU^ZfssIj+n(T=`)u&g-dja7gYZ&YR=@o&IwS
zq>krr*Span#ks;f-p-hNwle3CnwxO`$vO+eBw1(9iE<U6b<ig3>9@E4Lzh<29w?UU
zX%uJ|NImV!Jf2{*Lcm;BG#;V3)S<IL!R9=%6O5hnnIbnZD+CYdDsf<Qo)|O52acLY
zI}@*!xkZL)MSZ@Z&KMwf+N%S_u@KlfF7d>O+k)tfVg()Gaoy~Sg}MH7Cqkzdb6hY{
zk*0INT0{$T+?iq%;vpEjeb<;>U>%xHCR1`Cy094((4AM%T&nA&f<pgQyfsr<r|F6b
z9>Y=%ryfs8M@#@sbUaX1Mjc}~hK&J4rcJya;J8I^6>MVPKYoz)*1yi@KQj6{UKl?e
z|Hc;bg4|KGKw_XEs9#=c2veqYdlB&{&gVPCFG;~Nz5!UrR68+l*`+@!m{t1r?Z?;O
z{-B>2F&^gm7$;;gH{3u3HUdk0bst+q(+XH4A&UcO<IxHsMQg4C&kXAVtHONYG$D7X
z6SGuslrx#<M)spNVs0bYq)RJP&rixslC?3nD}!R`QUpBM96wvH^9RGE1~|rz6~7}m
z`xI?K?;|jSVQ#pnw`qV~=i^*quO6%de1i{CS(^ZZL2Uq%|7OZtzu`h&Jo5Q*-#lQR
zOLb*p<mK(vWkDOS-!QGH*C%Wa65#PhQ`GT`DN7uOT;ki$X<vU`v$<ieM87=m_hm`V
zhnQ}ObL9M2`@jGGy9W=LwKcUg4||(DtGm>3oE%}dlouz_=#gw-gnahmOy?eOn@Qn*
zkH=tacDf#VR{;Mt`n8b#XjtN@(=}>8S`%o_^I~FFu!+s_Nt1M)@ceZ9N`xu6elnb+
z=h&;0+OK>$rj0Y`*>JNGKZRKgF>~MNN3zE#+1^g7crCX(1VzwEu`8qwq-z#=h+UpU
zdZsu(C&Mo;5B)$ufEW++JiVu4h_pc4;x2xD&aQ_WpZ1#M_=hQ?gHCahlhx4}KfZ5_
z-1Q&<epWrlKe=ct;K}i07alZ=#=&F&_TPcXhvbbsYy>v<oelhCAxu|b^NDG(NSIAE
zTM_5%o#R?ruJ(K8Fu`LTDsSZY55|k>%uS((EPJPLK6<8q&Odd4bvDHfSL3Itm?R8=
zo%lRvOoFxGh**VAvb3U}bwr(j_AM%{k3F>YqtE-rT-L!XFxV`cA*FmyrdKP`2;+t3
zJPu>Ul#SJQABl$aDzr>2T1?cRW~|3mDkRZ>h&1zjxH0Plo6|x{J;Zr#ql4=_Co}7y
zgH8RwxN`!r3YaOCf6o(l$b7+B9|FIAxdMHhuSco5FV^{`Cw{M!A)9%1eQ-Squo>q1
zRG}jP{~WP~Z*jhEND?gq>KrE<=j(=c&fg*vW8~aB@wl4tOCPV5nAndWKM1Q&FZ4|l
zzduPzSBmE=L`;tbVnB^E&5CaHDD=pTk*-l}kuzO8*XIl|6j3YYbr@2A3ro}el_s3)
zoO`h{J=NW0P?+=I{4^)}=X`2_LnHunN{%-J5|)@$usNB|Z11dty*mD{_Dkji4+q^a
zCesG>tTVZq&sHbm>A(Er|E2*{Q~({E37MZ_v*LClasi@_q)C7fw$yzESdHV2ITE!B
zu+9oPz~cnY<S(=vNmNIu;{mmGGL1Q(PFnK^n>kR>v7kRriRWB@-U#Ca9#G5`oe1j_
zSxeuGubnZm;DJIjGY345HR}lV4cOvsT54KS5Ec>ZJp2j*wDDTdiS?^OrpG4Z+JsEW
zu9QkO@DqhPL5=l+?_A_8gbnGa+gQQ_gn|IpD%%T*w`rnptm~oI%`pp$HU({SPLCKp
zW_69_A;2cvYZHG8;?eJ$&cD6A)?qNd1KRlK@yWaXbL<1`WFU$=qOkRL1%q?E*^F>*
zXA-83U^GO=QsCjZ>O-_w;MaPs$PNAVjdiZv4gVr~#w7*I29F<zUtzpU4QQ>~Ta#<t
zOoVk38G(&xcY(G(iPhccr=TL9_}jNb9g9p0v;MSRPtN5071I&fKtL<>U;~kgtAA>j
zag(UX@zcJW$o9^GGM_V^?`P(?mRj~>tutFHG{IiGWNO&DjF;J!2h&uRtNF9IOWkj>
ztmMH_=QdmIul_0w<`s{;^iOXgrW0KMkly#>9Mq!#1Wol6egaWCZ!!08g0XZN8IOV+
zQar}A{(P-}(D8WbCgv9RpSb*&+|8t$I_LV#H=whBg}tnQ*0Fgwvn}{<b29)oKNq_t
z8U@z<K0Wf$U%s>&_g#{K6izr!NXjg30Ctv}k*N@8n8m^7IqV@BSF4y)%KpVE>hIsb
zv&(>mVjmIAmU40Mv$3$!{}u23BYuQhIb<Mh@H>%bmp13S<7V_vj;6+@JoG3mIEAEX
zWNe-@xA+{WJN*?LLVD^j|E+>u&(F6%U=TI@RiBiiPZ<7>^*f*^#xqZ2C+XGdiLLP(
zpT__X<5uRtL)Hr9wXLS_gp*~H$Z8+p;b`IbK`=MMJe>a7&#OnZ8&~VOl@0Efa~+vk
z#xOLtwr7CHA91y73bU}AV4ez{3b1}h-LXB-RA`ILXS4WC>>X0r^!`gsut`^RM7j{2
zy#)61xIJM!ukTE8CT>1leTAT-8v|-=o*&MW#0KhP=`t&%$utyTq-^yA@zWDcL2D`?
zeqx-4*mbpTjB7xZIIxMGbpVg{3bSPDWJTn<G{c~VxgRJqiJs)S9cHh`C!~&CtwX}L
z(X+oOJ~`J{(Dl%A9Hw%xiH%6pEQMO@d}grz%m-2g{0CPY1*I$0^Rd4Chhp950k($o
z_1C15#)uLR`_TYUOgkfG&J)s=<A0{Z<`32(ePY+YL#l0MgZ^1l&o=*%<J0R*_|dOJ
zJ&z3V8S1@%jQ#0LeQ4d@6>$84)}|Ixb~<U2tDa6pJP_@A+B^rCJ8fc8_Do_B^E#Fk
zL}Fl;(m#8rmMaf7T?#9oZAdeTfX*(M_hqc0-S6rtct|)qCpg6>LnvVC?R9Iq=Jjnd
zbI+W6GXcfJ`G{RPt~QdmF^{V|@%sF~E;XR(8wBTancsFI<-!N^go%a(Aec}R#U=}F
z43L|20vs0-j7R^Ot2a2zlC!R&_w{o@aT=MDPQ%2ef5{Aq^gslP2mDtTtoawwDLml1
zQb7>~b(~(TpiLx3Az6R14u0&)9M$mq2CD(VIyz(Jx8Hsv7txh&aHH+iwGIlx=7}l<
zW9N^9DK;yce`1{;ykK+0W-f@3`C#)#n_Xd^NQ8y>?TWx3ZDj-?aAI*Hn2!O*&}4_^
z*dV|#Fia<591o`8aih>+Z<?Ton%MV`A56?oK!5zIBkH%`#`)5x6e-=fEv%@y5R;3>
z2AW<d)p26|#H*eS{E*_C-f&IqW$~gJmn}lF8oVB?vY*f2fByI{|Mh=i*n|b=>C#~p
zkoj!<@y8!a-ShB<1l_rBFP@y&676;wa~6qgUpeRcZ}uVnA?+M+zn-f;!WUrY`20a`
z!-H)?SpWZaebXr{_)_<98C&X}Z{NP9rXHEsB|S3F9fjmUU!rGxoQSWlw?8at@gvw?
z13Iu!dmSL4eK+CpcINH4FTfmP9uLzxE)W?DxqhaO%`w4M;iXT9*VnuGm+1J9_jL+P
z3)DnUr}deSV{K0CLwKN`MZlEz<C@mKO9<dTr_clFYSv4mKJg#D0bTxssr!Nca<+d>
zJ~;%biLjg=*SS}y_6v09ZHWwX5vn;q0e$+xoMV*RgzJ-<hkx3zH9wCZIfSh%WHLaE
z%{c*`(dpfsqISa{_R?jdel%PiLfhXriPV~_)|rAE_F5lp3|7BRvDsyAZxBPep#LGk
z1B_wAY=+PNjf4_yEe^B3tWo;<i4Nr(vkiymwr+$ib?d!353!Fc%*TLfp}wWEGioXa
zG`BFFSWd4FDRAI4=I(`4pRgV9<?GwO^~PV|I*CnJ$1XCZK+~rkre(ax9^8LYcx?sv
ziFE`qv3N57E?jh({_(E+V4(NvU;O-hbRUQL`XzPXe4I!oAZ{0awoB3OLVdnJD&~GM
zSR9uaPMlZ;{w{n2Po9UdlROWL=?M3uFjnSoz+Xf9QuoheQ>4xerkDGso@^jaxH~=v
zS+|XO|J5UmJN@a+G`8O7=XD$=K;e3x@$;%F8^Q4tZ3S(9q?BIQ8PIIk4AX-5uQOy}
zw_wm8(v{~Tm?8%Nb_$=DjG5$hgw2h!Kd;AAO0h+zxy?Vsza{>4ykkvEdMYTi+v|d)
zZ}ssguAV1}pJl-m?Ejy(e{GT^N75_dic4lzR^K?Y6xkt{oc9&}|G&hqqzGrEyQjOV
z@){9)pa=H2I^Y(WHRPV|(tMy$Rlr~uH@EQc=>FLD8*g>S&BNb=t%kn-l_}4!V6;L{
zA{AMGNDSn7Uef#PdrE=l-BNsr{?q<j^dj)}%hh@Y!<NY)9^YIY|EYF%KAv4SNbGRf
zV~4-KN(&eZ4}!||=B}=X<9>nI0l|d$1NE8PHqG43ymv|WIM!@jcToguo%ok(_GYY`
z?7d47nu$TUf%1A~>G6=_J-3gjUr)Dg@6O^+iX!ykqR-~gVg5I}`uWuZG9R7kI;(%S
zU1y|DpFH$+>nvg6Y(D#h74s9&D6CZPWg+y$uW<RWg2xNQ$Zz1`1%m*B<3U4z!3#85
zI3p1OzeS9Xg?vSW#kF7-#3M^sgasXCY*GoGKs6$*X-eiV(LSJoWgw_}mqoLg_<$3;
z|8WdUdBa3H6X<ogY-L1n!Zert7~%ZEB4E=1v50uVouS7nVW~rJ&jOl`JKJsPoPW}_
zK$ihnQJ>uq3yF)R;OJ<pt-qhxVm0FpF87Ub#Q<OUd$93%5NxKfTv+{5;REBjLBwf_
z0YH=WtOCQSaODjEQ!K*dIsR?V?i$D}x83+uK;!ol&_BL?!{)sFFy0b;{5U^p4*e@Q
zgn-2|&&8w2Ixk(!Gc(63fOulS*=m6<vUZyXsetbg^9&u|Ydt15&W^hu9zK2f{KLz`
z%k~$C#9T(qpl~x1mN$?@DzXkif5cLdd18(1xR-%=QJ>vtl9Cv=U9H&3brQ&(s?En{
z#Mv9>{9s1Z*!}#H`7LIJk&^9Q_)?!JgerfjzrP{Z-mF8);<rcyR^l;Ur^kcM=i`rP
zVb3sF@<t+7&aNkBX3&uNXe0VM>lDUHOhoy|{uMnwfbI`2WvY`;1gB<C0k2mG{LH~k
zW?QQBY8|v3a2V^r@D%s$IG>S?L?SHB5QYtp`)iy8wbR=J=p^nnVf4P-KED>0IyQX(
z-7D+&5xLE$r^|1m^a<zq>|Jo*pK71H*%<FbF4bCmBk?`)=E~e8^D%7S#%xRZ2Ho>|
z@eYwBF4btBRk-;88u}rplL|U*#wzIIxMeROIEK^odYdqzRQ6Z*!}0(+y}mB^BIorP
zs^c;x*|)TN#y83oq*y1-8F3AFWLSF>vjmeq)i@n*U$=Y8l^%b(cpaVQ+4|hocNQPc
zVI94{uK8z>jqw4&5r2h=W8({*V!GJ$q9j+rK2K>s+L6!oH!#$F@bMe!#n9DZlLLlL
zW)zPfJRUz>pEHM%e{lLbejK+8uUzL9I+tcdn*Nc-J|!(vO{A!?H$`5*NWWQ!bwCJB
zkN+O25Sty+6|+P^({Ym(VXs21bzCq^(5~m=#3q+!*Zl#m*i2TiiN7-v%I|rRFa>yg
zCNg~feEWR#{%47&$;i>MkRP-=sL=G6`a3wu>c?A$*RL7ZDF5YrcTlap(*6BGWXC$j
zbisU5N}=^IEBDn{U5lQ69q7=z44URm`u4_x$E{;^yB~*&oJTzva-4MZRR20|{ENu;
z#t&rWx@0r<%|pMhu6<F@ou{5pqA$;Ry^i(bKq;$<TASw^q?o0>y8gG^`@5^_WV-tL
zD75_t>YdSbOe4^I^LTk5)Y*>{hxqily)Q10WdAOlUFZAx<xGU@KSSf8xW^JrHWo)s
zc|_s|M}K*~jJwRoc%W$)mTFj?puqNASel6kyL#CaiRb&-<Ci*$G;`j)&NrvQD7|vx
zUr!`U)UkWI`%Zez%zqik;|-_&r56^@etf=;^W0hdX*&Nt8SOIeKF{wYb@~L*^E;qz
zC?q2xM9m8ckw8Tj7i$v?^HkA7DiDxK(98{i6|{Ifu?bk}<ORv50=qxJ6|3z~Kk0#H
z<_3CpKTy`nd4bOifo3j1%LE8Bmx5vw|BN_Bl>Wd-?Dc?79fh{0FjfrIpf){N!7Qmu
z-hlmUfQd;*^ms77Um%Rsy3Rtbbs&ir0h@GHjjKg~91p>!<EFV-3dV*wJM1s40YJJH
zZbH|mPoH{#xv5aumxC7i4F@0$&hg9&q?axi1kJ>(Lob5uMI%zdCdZ*!HnB7z>Goy_
z#h0(2DCi%s@-sni>Jvbw+#lb&fyeVy-7RIYqDSFaU_ip0KQP1`<+$V#10+hCCK8}k
zT;IrE=D=}MLyVe!%7b@aA3uNk4}bc<UT!^rrdkHdpy2UlfI{*Bl$b8ktO?Gk>gg<5
z9X)3^=>8yTsYwcR#>pBo;aEJL7dv?)w^)vo6z`+BcXp^_7&anStSn!?tk(xQ+unR)
z)MmtTozEup2h(Fh+hn>16ZbIIbE+ca{!rgJzSHMJbE;P7QlZGN^aiuoZA8L23J>sS
zeNueJw@>GF%rXWW@zg%y$eW0Z-(T^wIXVYSBgg-Ok%FFy*q8ao(DYCN%faLMo?t-3
zTaLGvA96~LEiW;Cd7((K)?Rf#A{jJY4}S5^pdKI|k6FzUC)qLm{_b-8oYCv3=g>9f
zD^F=3K&$fx9xXOApPmRlfS%3v!vH-7^ZHP}(Hy5~d#oJjO3er;eTh$(m3RCk&TJfP
z1uyA$+pp+KPYGtxwHB$psa|+Kj)EnC^|Xi@o9m(e#d7|7&7=-7Seo#B{S_tnAzA^^
z`}X=fvR6gszk{dteVS4uTsgaDQ)uc*BrL~|79Jii56*g**K>3S&-g*@t>Y)JBZg_m
z$<EcH4nL<9!O~U9`NCau9R3fV`zIDJrK~^0=5Kiq`U40fCG#-_)cz=49Sg?Sj0VvO
z81x_TT>W5Rc+?-ijIU@Qrm_cU;C0Xg1`qd0Si<xqS1Vn2xQZ!y3fBD<7*WAk3Oy;i
z_+$MW9tdzl0FUv@pxEp_tf+lGN~8iZ&v+!wlu{U91;(MGfIco((4y`(_tmB=^xR~;
zF5JTX1<P=$zmTvDw~tOtSiV9~&>0tcZhl~&c!l>HJyPxR6JuBx*u+P8KSr-R!Z65u
zmJ~k_5N9yHkELDKt&My8zA^h{8F$$)TIe&06Fh$QdG?sj?d#il{BryxKG&JW;-{3=
z6o9r4F$q@Kt59n_Pjv=7IUa(|eLaoO{bc-#r}>Fs?Z5}ndWi8Ev_-JIb4)W3l<NRp
zqK<R1%s<UQGhZ>`^a8zlVigbd^OO;BP4+MJfU{3P_w%vSf53cI=eXW3cpUEZ_dCv9
zo{snwxA)^Gt{ZrGi#|4x<z<HOwVhslK4y(YIf{?8>y=52O<7_XXb($F1id!{!tRlt
z6?!!j`#_3?B|hXhT+m<RjKtWpdE&RLTj=|@mr4M1y$rF}A;1dSejMtNv+X)N-uj@O
z_<M1%X>YfwzZ6{3ze(bIB6>W4wlrIaz`CjZ4K`$WPCT@jB52A1GnO<>M_U1mue>>;
zf-bYbB4E=UqZXT<*raO}V6~226pZe|f(}>1UdA0oj|nF@H)M&F{z4nun+v3*SJc1!
z@=Kh(7ieb1uz-{KI04D5azkL47P4I({9ag1UpCDc2F>V1YH4CSGv|6S0bOM-btHbF
zf);<(8<0NLvAu|@I?xZZee~+&h1r78>+?couvGs5o%qi3-Egr4V_|IVf&K~~BnIBS
zd*{*_=29S-CsV>n7tKtsR%^tVGRjp!*8vY&4DdmDng#>G?0Vm3`w3{?{!#gJy-}QD
zFLTZW=QxKhJg$h<Dj=U6Nu-t`^tg3G6H9Jw+<b}(y`ZFdeO(%r#mdyE$a|*ETiNlk
zrsw-(YX(c%43|MEf}PzhKK>DOU>9Utur#r*+l)J~Yl#;$elb#h`spVHF<M3TJ7h`m
z<OXy>zm;n)a|m)RxWIx;bq#flcQ~O*9jui@#a}(((+Ovvu%__*w@AG6u^A^Yjj4{&
z75LQ)&bC`c)@{wI2TX|%%Y*N!4!sYZ<96v{7vdR5Vf!fp^y8f7R9t`FjB%Mjtb$yH
zxGY1p-RQ$>t9kh^_j~|NEH>*ox({f&e?$Ba_wzbz6P>QmoA<Sz`KH|q?Re|)76+V(
za1?d<r{)^K0_K65G1}CDuJ3-hyfL^*A4q$d(oqJd>t+n|Ojdq{nJi+krjL0Zer)2;
zzJlYLky|O_-0xqZ8{3cnh@#cM@}H4a|1QoRK(m>dn;r%C8y@rMtRbEphYK(56TY2g
z88h4xnE>fAY9DB#0e@ghSh}E#{sW;|p&VnsRCClBj!FIq;cOpUE!{82`E=!{=^U_P
z5yTJUD{9svFuHCqzW@5>1L);-WTwB|Kk;vWK`j`O2{;Wbj2YK7@;JVlb`I<n4`7_w
zJb<<tVf@HEMwwmPPn+xlJ&W}^HfLLZtl0QGsKwU5v)cXf)f`3w+TI+ufPds1>!8Oj
zS+1Xfi~dyCDgFB2{a)uYF4*h-LU-`^3FwZw)G<J!tq)7D?`y;j7q-`c?0O-_+<;R{
z7Q%F)>G=h7*BsScw}eG_|ASbtcL8S)Hf9v64>r{}b5?E+I`h}Bg}k3KOM%V0L4v{i
z;ebbxbzAH>1KRWyv2cV<mfv7VnCq#&X09{zrS^U`v^xHK8CQ{YfXonFw|GW(6VjWm
z11!PuLxzTB8nDNU0lSrK?=rW&j-0)Zwob3S6qE$?NJub(E?@#;Gso33?*4%oah{74
z#&y2ZCHi4rZ`)Sa>lJ5SjX$6_DG!fBlyjiK8UUkco2utm^-OHq+tHuve*zS_ex{n@
z>(h<<YV_H<<pK8s^_R-p<tsi?$NEWuK7pOAKPLz_u$!@TQOccO;p6>L`Rnu1;}v&o
z5sbsL{oFJV7Eg-cnOjj^OG?=NW~B~f+Ou7~z_{q{S0^_DdRVv_DR^=n-q{C*y@(KS
zGv4__?}e=ANV}CNY4+m>qF>2fFa?|3j!r9lPt8~Suhb8{d9zg3?K{bSOf|*b@8172
zgDueEgSOc&Y?_v)0{V?YKUn*Xf*vuRF193A57zY1{S;4q@Wc*y6vl&|_;W#AEEjZR
zdU5c;0%j;Si4<bG@C7N(pvO8^06eZkNaFqp=+4YPz+)XJpH0A%8`H&R{X2NL#+kd6
zV%mvM5v-eoj#KcPxYVJ3az#x5f`C}Nh*vK-|0=nH-xP%&_xl3=OboiN)Iry9^TC;=
zB=HgUj-utMk$qY^HrWMCFHV;lVF1vDlO}>-G#HPldY5gn$$qzqUr&0mPtW6<qu)M`
z2VTDAe(b+0d;DQ|WM5}103Oe4sJRT%q!)o*Fqa)log8K!4^{w%t1>e^IwCh-<l-(n
zz+Y1x8%Pa?;8x?)m(TBi{5`MUVsN*X1%|e{Jcvwvj-PnK?#~i&oLIR-7y(*?6@W7s
zDZcSjr-;Ht77$XZzcJ`APpl~c54qJpu(&KgfCS@>F&!8*O?wyE7x;})06P0|fj3k}
zj*5rCQmQwD$0rbgP4DdoDBJZG?CQt4*!1D19zaX4)BPDp(mdN<B94Ct3as-_<p}?H
zV8{5rBLW^j0iC<(a*xK`-f{*?nFSR&iKmM>?%kv3juQ|MMMU2s?ZYrfsd?-V?RP*!
z4-Q-`rb?Z<fV4-?&U{=$emFi*x!Z85|E;g!Ske)hAq$z_OF=ek{yX^cW&XwtYvQul
z#HNnTX^&re9n|mtPklxFb9+&j3a$99^tsNxEAcyQCAJ5jMM@sXo`o$_^59vVOS9uA
zpef$#XZ{F58>3DWY_cyn1%Lp~H7qmXBKh{+<#<Rif`HzP<sBpkVJ*^Rj#!_l1;U6M
zR_eEoehZhQ$;#ANbk&{Wsdn$2Lt}ZJ5|(q=_5iw^gWEqKWLxhac-3_{NPI+QV)N<h
zM@^Tm#6$lIjyx~5sTEQdaOM-xP&Fp>VizY(_It&)YUAp1+}|FP8tyuhzrM`-Tdh>F
zaSKNlksd!DPI<7^<AJWJuKC*hJ>~56;_UU^`vl2#W^jD6yJJcqYN}%niHYEPn=ZCG
zS}`td2M+7@CM?!<7Cj2*V6NDtV8S5UIth#5IKLTBSNB)ONWm!%WLb39*|3P^z9PN*
zeHx%W?_{jb@ydv(*cGq0=60+w8x1a62G@X7RL{VaSaA8(Vl(Hvp1@&_O<1h=jf~}r
z^+92e-}n1IPf^p`0|IsQFTKltfnGBti~XXI1mDbpzQ1}*Kd<q-e<8;qc9}E1T8Ss3
z+yk`pOu7O*K4)BE({<>PcF|0XsQrpLxWw0nvRzeUK2|&8U-s`@HbATBo?ORlMp$r!
zHt;-sonZ@kpOTr+<}sg(r$o+Q%SN32Q2*?@ofpT|e=y4)qn|+lks*f!*Z*-*Xjg2t
z#}8qH<7@Po{P;jm|4>Q8L`01+XG^xuQMyes0o{p?AF9k~Vl%_NOAn+M!MKRtD~ah4
zMty~zV0`zh@%K{Ej@!G0tjZXE1?aE-fgZ7r5Mvm&*RL9bcns^}46hqKJz~kV>G}kN
zU!l*xvrjDJ+BD#s^Y70MI?Hu6Ec@jme)s;LRl&a7H=qRpAqRa9ppG8KR-2+{sS~o$
zrgR}o(+daA4jvc6nhNc5A&cOGHIo|#fHBNXXzJN<(`J5=X0jB3-d{MSzwmTneA2aw
z8f4&t$M%?rUI*0JDsaIf_}wn(!Qgt15=FFGphz<@S_Sk2H{(L)sTDMP!GLTgb|kkE
zBe40wfV(d{vEM)tnQ^<nlRBct8gFhV>o$&?<7B~)pow<GG||5HClU;+0;7T+H8$Ix
zUf}$-*CxFQ#y&ldqy62R@sQf@fM%vxWBdvZQ?OQWl#I3C015jGo7`@z%&5QyTE`|`
zj7iKGx`ZULi|iM2%U+fj&%?v`!}OHorJBkgKYw}m<K>SBR@DL8am7+%Z@1!cPF5JR
zZ!ersfitV0UwxxYq$?G`W^#>0z;eEW@kw0l>4VNA1v0cwD|ZX$4~WM+lN-T)8B;uP
zlj%D94ruG_JUq<9yJ}Bp_FT}3b)IR)E-!>Sf&FMHY_M7Vm&jS?^VM&(2wk~hmGmxQ
zQ=LFC%QPF;@tHp{*3`az7{`On?g!JcqO(5m@#0<j5kDI0jGlOp^EAg8732QRZY5wI
zu|LcQ6Lz5u>lI>I`ng@>o_YodwGx^0g(h`;`kbbg(FyYbbdDv)_Y*p$FIf?p6-+(u
z=I1TPO_n-ht{-i+Ys}@KmpiV<6<?s8yv}rKkLQ+y{ms&mGAF}n*Z)Y4y}}Twspp{f
zT63y<ZYN_cxV=4V4tMei=srrf9B&99fSOpFK<^FiZ~w6`k1NuxgJuO>1gMb9RwL-j
za7NM`iQ_X#lLW`=jODcIy<Oyw*8$N<!O1C!P~*f7XS*KKHPz5#h6uwDMD_sCuXs6*
zK4TKero|(r>rUg=d-xt7%gOT9&tnzFW5M~41w4jup4nKSCt36=hHYQLk>99*BWqy&
zcp{j5>L~OFoq?vgGF<KbycZ??cJ`emHtAwxX)-bIXY|+w5#n`q#~_2d?e|w*xWZ~N
z-U-On(8muvOi3bh&T!;L_jx855e>aQ+NMJ60uzHCyP)fZ6v_SG5`1&15w4F~e{87!
z39sWWog0p3pk5?aVQ}{-NHGx$c0qKkLY?3y=JgQVFTsFdliQhSQF}c!Q8D_ez9JsU
z`)HeCTv4v;3!YKBn66@v6vJ*>g+%8#OhJYFUGz)N7p(#ei+{29rW7K(ej)L}=3>D}
z>!58$Bv^7d0RjvQnNR!*{mBX$WhrPg{@BO;ujtkuuR!5KK@I-nMvMu6_4NXml|@Z-
ztn43T5#wVc9v^Q12JNy?vCE5>7JT2dbM}Bc^g7u79n%gfUYELOnZUx{tL6;HQb*LI
zyEYkUCJXuY?T<GfKoiKd=YH(XQOD(ioAVhF+sp->reQ)syP$V1$EP-e0Gna)>;X$1
z>0xInlJm}{q)BcEPv#G=)JZ%ZMLgP0uhVtM>)T$T$M2N^r+)3(eMJs{1+%1&)z_iZ
z$CBOCIXmxQF9PE$IMV15d4tU?ooJ?O7&g$%jlx2IArZCCU=eNTVbrOiF0ab^`-uUp
zBNo5b$bhHMQ;(P!zNe1jCaI9Jv!iXP;_N_K9;_(9cs<~1;BkE%Q4HgNFkrD+2ehQ=
zY-`pR`hHYMU(eoUydLXI-`*bYflENFB)+mQy?Mhqx3-{3FIEgN9w-INj<de;V)N{V
zOb@n$htaG5YNLSq3CQSZUYOt2-wy<~U7^Rsn#%>UxX0qCV8e-Fd9CoN{>Uf2I0?gV
zFd*piz_6@M<}fPW;~c;K{8*3tWV{|0#A8WGVi>vC+t{1^#<yb@^dgY`4vgivYWy?k
z0MFy&*c^Jw&cqS<Fn?L$%a^Zr<4M;8>-6sJkB@KXel#rh>;Y>IkCD()z&SYiY=T|V
zo7NFG$}Mtx%?)@wUkJNtcV=c`(@54oi4oYoy=Do$Sez9;rz!?R*M0M`)7#Eds|B}9
zEDN(;#G|!x^;}9J5+m{7{6Pqwtn-L#qeP3_i<3x(X0LgQVbM(f{-|wYHq$JzS5Up6
zU1TBf+lB2Zf=8#euWe5}`wnQjtRQi^4hPP;&a6^K=0WFZ9t+Yfq)v(}zP^lW2w|>_
z({||)`xg`t@O(Eukv*P_w>#<UK`$OESfbJ|>!!e#nD+p9p6k1<MUSA}9T{jO+}%CD
zjF{`uhouWk0#@{Nb`RUti$Jb#HY2isEpjQ<9^mfvckXL%o<W6WXx`zmcM$HNXnL6v
zM?NonoKsjd9>eJE;E{d*QV^lW8jRI*M(;Hx>yrvLjqFZ8V|y0=$p5aLv7{_nnXn`h
zc&TO6fE4F|g>k)YA8IxjVK3<C>=^vO`8X~z#5goQG+{ImHpSeBxATt-Cmw5Xl^-z%
zAmHh^KtY^fq^K+V>Id*Zia1=*iQs-g-3RS-C+F7v<9wi87BhR3K5RYo*U#=`R&0aQ
z!=as<Kd)c|Qts*p0DYpV;~}jlRL^Cse4n@^hLugz2heGP+WFKRCpL}g;I|7qUB}MF
zvJPsS3b6i+J{bP?dfM^80K;OJ6~ivWF%Uv%dT=7J!QigJL_CV5*oDx86?MO!bP>{2
z7%x52<5o|%Y><<|cFxB2Zy|IippBo&2Y5mv)ogMO>AoQT03KnljGQ7mf)zEl1{|mj
z7|DeioBg%G>yEj>X3mRX(_Pk&A~{=sb*2~V{aB@rfC%bi!LTe*{9>@;CK(G-1nYM7
z`Li-K`|EFlA*IBCrGi$`#}aiSBed4Rj{GBlc-J%4z6p`0TPIl_|9u*Y%pdk4ECRFL
zt{Y1!XIM?vgvI<?%lY(hf2j|%+;N;7DVJ(K-zMOuRY;uX2Almjgi*PU9M=JQ1?&>9
zAC}^Q*KuspBdB9aw~+cqhJIb@!gbzDomuKAm>4|&@O(e^2{)L$0*t@3Pvz&QQMOis
zgM?s)U`?`v#?TfSjq7;=p6=|U2LrHfZ|_xmzV9s6YN%0)srD|N>D@_%g|qnh`zTn(
zE%zj4-7jW!d&Y7+BqaqGmay0}>`k>@K(CPFf8qLl-xd30dcj4Xz3=PSpFlI$6X?B5
zWVrk3$NxJ1xvmb`F$k>KC21=1l@V6JD$X7dWCH|k^YsH-Dq}*krZ(o;r<&fxtMg!e
zq0ZrfMN$euFX^5+fiA3FqGr43LRa<_cJ*MvbMpYA%RfG*Hd5;Wp)*s$lL@00dboHQ
z01=Q}MVfB!PM;@XQ`LGp90BAyC@l47^pQ(|Rss7uBujx6of#LLGXlHl^m^eCrj+S{
z!LbT|ayug$B;xNF?|xsvPYMFd1jtnb$NAg0Z<!m3bh&yy_NvqiHOPRjAAkH&4=JfY
zH9UPYi6NL~ZRotS#G-w&K-bF;<1e-o`*1&UE#jZ^B20^i<BdeIh*&@1QJC9{*fhop
zSiwmh!<acF-f?H#0gf?w-k*+-MN-q?T97xxQ(1T)sr}*C&oq4i4Vj^0xz1Fz0U0)h
z`Pd}OM1|1IIuN4}c8#LSj4rM5=635qu*B;hgB_%qFrE5yed|Sl?X9HCh{CE81Frn^
z)`5hLCxS53Yj<3#vAqbfOGZwmgF|Th@k4W}>rYI?-$k$vIEupwP3zM;(vDt)>tmwW
z<hY_BmIHvb!s_uEhm1l;F575x<=8JJ=jMasc8^#`f49qi5&UNlpe12o9lulW_|VD-
zpf;N84tCNW1goqgHnU&ivFQWoI6Z}#yxX-upd8Pgv!yl)vZfl57k%}W9qj?M^^b8c
z{{9`xfnG*TOc<Wy6JZO^FbT=kFTJ4Wiyz17{^dAa>g@iym|bC4AGdSYzp|s@diLB|
zfp?I#bndlida=yb<KLGFJOo$-E9!9_KDPIDOgWo>-;ZLX>zQVRezn#I(0c{N!^_qF
zy&2ZYe2m1-QI7rS1lW8$qyF*wl1Q!TX<qF3x$j(a(BIb?bjtJH++X%4w>yoWn*R>2
z>QsD>#6ph&n(-J0dhFueuR;ufeSZP3)6Y-yEHD2hCEE`DQ*1Bw3AHiTYYcvwGisw8
zzd|mTnuS8oLA!^kPnQday@Cj?6vGxyKBWY`+&=`56PTfeO{_Jm|56jHv-kG>ixu>z
zx(+8k*83JPEU;p!sW3o`hk;`8xF44yVEvQ|&T}V`OG=s<qK{=SR?wVi1ONw2EF`!K
za5|MeNz=p*UED8^gahNjUYl`_D($|jTaSlCg2DIqx8JYjI9V7+<$*f|@Mr&uMHF2}
zn5C!ty=vK1^hky1cb<t<EOck?dl!t!7J+{2Gn_Ue*OLVUlHTjswHzTHpJTi>Nnn2w
zL$D;J?-xBC>-7DS#BQOVM{&Y8>o2y)pao5xghh;?gESTU@sm2(ROo^LR|e1Fe17|e
z?Yf-u<s2zl=k5gm+R#n{7Ir_u*t2+hLz=lho0#-v9m1KvuTP-4JReY3=hc*=_xjef
zeoqmPA7TiYHyiUlXZ+SOR~1rtajGK7`Be149W>&}#oCJvqkr2j(9;9-XeGVSb%*%g
zl_EIzlpfp%`ggDw7uQ*OOxD?EIJ^FwP0yP4b_;fO`wCuL)O{>=`Bc~Rn9iC1Y#Ms@
zteca8v-R;hAU)-5!|&d|`!D=MXs|i@HgIMkY=-P${S`h06SXWe3pAG#5|5($<5Xb5
zbiwI-7z+^#gpJG%FH8j3jL3}+qzEt{2f}7(noE71kO%R4;)f(6QtIY~k8!O-fS%w5
z#ayw8b;8g!&|G@K2_UM*gl2zGqU~abF3T?KpLsG+HWmmlF%XRP0T#lr>KV8`c&r2V
z`T~$a1x>&hzR)wOv`t7U1Q=js)tK`)QW6a4Dl?}YNSvy5A!?|BPBnFi_t2t=)}MpT
zTo@Co$~^#qWd%67I8F%DNf^O25w5>YddCY`Z7d%2@Q*iu;{#c59)~iF`vr?@Q-@x2
z6?n2=uw4*?7K;e`*W6ALi4^9B#fcz*YQSbH$iVsl+R@664SyOLV;gy~zQ23qee%=S
z@kRC@K8+vbq*M(%7<Jm73XF~&GcM9(4hHukc431~$PG|Dk_W^K{lRO;`V^_@Uxs#K
zh>98*nL5kF^2am9MC*)lM-ywJ^+9KZ$Ae99R=~J=f-%&gAXWkC!qObI3Uz-2V~kYl
zAa!&S6PU(Sw{CFtaFAdLDBneJJd;i@f^B4XGZ4LBKFz<@y^Kge<*g9vG>8=Ao%ReW
zaAFCzxnQuldgSry1AiCx$T?g+T;3l*8`@(gC;NTb-pg3yBg*soV>K+isgJ%~!Vc{p
z^)j-LOS+=ME?NH3!lTYbyLZZor>a%g_=&+erZBn!+rKjxs~9-LjZ45aeZTaWY!`I@
zT!F2iUn=tb_%{ysS*5<D`N9H~CIzCk%$6P9kAJ&%map1KeG<_^({yZKhmOa8AH~FO
zJ06F7Z+?~$r{ey3?w8EOCJ-R#__;n$@Ad1K+hwF4#JFOdJpS&l)cT2mr<d^yOlhXq
z2O^?pc0G(bpg*|`t$)O{2{4{Q63~OC7wq&fWAs#k@jy)h6|&O(<8}J}@#X{QE9!eT
z9qYcX35M}<j@@}_4^{mE)lOcgV2oPv*f-+=%5>%v&_f^VQ2q;FtCi&q{Wui0b-Eu&
zw*r2<QqZP;v1$E|U60%Sxz^(cA<_8+v|)j!F<8;Rh%}e?O{80p^My?Yy6nYovjPW3
zin?0`+uKv3bDTSh!mcsi4Q}rjE#2k2z@4U|ccHzRL}NSN_Xa!))?o}@MQ}Pv#MiI$
z8e&t>XAf$*Bv{01p!U8+9Sc^ANHePh30_DraK6xl9!!(%ji(Qt`2b;y-N}9L65#cJ
zub}NCYVjw)<3UYthzGIPmv|Pke=P+z`+cK+K$CLQ@AXFw7Ki@&k^pS>mwqku<4})y
z{G@)^_lxXjO|*VVb9w(lsjBw!`O^nHtZH$op!G`L!Ef%uavp_Qryy*q_WEekB9QB3
zx)l5M6Nt}tE%bGRR9lW)E#&--M|v|w;B5b9o=cq`4@}Ra{h6xV&fnKxc;e=J1dK4R
zd*gb48TV?S4gvc2-my~~3Fwi1yUrkf3BzNNJ$(-jrtF->FY^yQe$l-NHqVX|>eqG*
zXqpc8>WskJwfNzcc_s$-#Ed03k8{ZJv(Sq}sx4&&r$?R5p1Z`S%k@#iGThGH<Ng0l
zEg@M!M+(I%zyOKP4PU~<Ce=cXaCt#BU{o)$TnHcmWX%!>cq(t=VhLS6H#Qd(Fh=?d
z17zKE;hRIYB?5!RX4b(lP_td;a>S$#UHw4UBl!+)D@UBo--0lvQrMi`8)se1gIz72
z<$$KXg6&e*m=l_w7^VlBZf{19@CFE>4QK1`3s{YIx!c3i72U0V)3rLCKTt$$+6y)2
zz$VZohKa|mxxEO9Hc50%(0FKCb0i<7^o+~{d%;K#9t2$$!P*o&i8KrFI|n?xaL#+p
zAD(J$=O>^I_KqSOi!(n6A;u!&_V!?L+z!FmIcU-An2rUvE_DoGAUH;^gYfS8Wj<E$
z8a146-i`C3viu&&yN@5n=lI^eAD<Zq(p#MyKM0ZBa61hJmfX?3VQ)y&`V6EMG^1k^
z7IE_jSJ=J|nLOY(w_C_(<PB43`=Fvf0UeGLY=sY^y-xO-0RB{4EZa3A4o}AI*ejG(
zEMaV~LVxc~dPc$a>trV}5)a2`uN?d1+qqxdUY&4yJRAXFyoa<}XijyEF5RE)H2^DT
zpMdVU9X|nme3PAHjTL_E=V^No%#E#ru@)iAK+o+j{)zq{>dEe<dFcMYuD&W~FuD(F
zxZy$Ezg)Jq!Y(uES*-3<V|%Y=8<tVhJbM6r72Osg0g`6+%d%X#&cv@+>V&fg&}Z@e
z6VN^8W;{dZK`jA^LD02Zy0{)9IykZZfI+Pgwl^_)UMFErW@&aIX(m#U?UMB70rUa^
z8Br~{KUpvgDto}nz_0ZK&X9m#e)+|CnN_%Nc{{J?Xd{7UuKz2?cfJdeid=qeg3a-I
zF&(G$tXyvwh*@T+<&`<QdIo!>pzj~99zY*rj*A}6_SoW~-c(DUS^oiT9;(8-wmw#t
z<@L8+y)QA(^&3=EACFK8^NtWF%}l<7C)ekN{d@uZ+Ab)LCEn%&uP>FlG5fF998xDC
ziu@76@?BW2OH0-sFAmy==6wpm(492TAFz%v0<;njq>kcjoxxnlxd7vjbhUXZ#DEAW
z_c+QD7O}kkh8##$V4$D<<qJJ{Yy*0HXX~LAl9+{Kw_MFuPbbdayGJe+5ZUj}C$k#Y
zjlw3_%zY7b@ydP?(-%!*2aoqr27uZ~?9R>eg%s+Tg3dllkypfm{#U}NENLnhvd&<<
zcwXzY*CAZbK3w<r6s^}oW4g`yq?CgFXfxxA&Am>ppPkV=uD#>XwaEsl=Wy-Y{3D=O
z*77=Q1sJ6d-S=;tuxwXSe7)ZBxPm??+&q4uuX87f3psAJf~LMgzXJO4(Anp2R;I1M
z$%s$SPyUSu?wl#e`&@bnuN3R|^&gfndMn^+KIhk;+w(m0XPs}7$z%fY?DXk{vvF?*
z2S>p!!!1o%)*%6Vq+~;Ef|1tgSzQyKM8(;5$v%y<`e*BZcARH>Gas9>*I!8dE+pHP
zbj1=D=2vhGbv+)1%;^@+4&1!qU*Z8BNXP1TL~I{=UpRa70%-*-;Q#XVOML(VLH@q3
zYr?d#_+1Efx494lb*4HX1}q}3Lq-IfiC;wKpBQmIIIXbMkraXcf`k>cDQby7LTEB*
z4p2O?;CyzxfYydiMy>XfM!}=d?}}-~tW?k%S$XSxvb{U_mpTf2`_NXv60leWqype%
z+)<?}h|L~v3RdT+wP8v~7zIryfU#(%CLWpzrima18>+@2+J!P5;R8Xb{sCPdK73Fo
z-V{KL?X3Oz=FP*qw_}gvAMN84(1GK}EFeispbsdk>gB;M{<AmmuJhjI`RG_wPyl*H
z6b?-w!Q(FHhw+%0s#S0}pXyGiR&P9XV}pDE{h8}S+qq5yob6735E+4W8HMRh)!rBz
z78q-)BE9-kA;KRxjUfv))^(`4Ppbd+Ct|Q!f32c37Pkh~?$=xWtb;<LGanYj$zbh*
zURhy0dYOsqk2AfB{RLIOsJjiz(EU2!$?MdTo~@t)T}~UFPe20#vJ3R2OTh*^hYA@C
z=l0bofq{(2irVAN;G~RlCx7J4MCn;RfIc4a7&As>8%kH0pOQ8{&TG5x7ny(Gu);+B
zQokB+Q`Fbz*X04U>p!>RWq8yaWWzJLY-7hOfV}<*XmP|z`|ZW<kLn8x9=C8+gzMqS
zgTjaUWOSMlOZqoCi_Zh-n_D4xGVb^RK#T0b#26W?7n87yIQay00!06%+Haw!L}#F&
zXL$e}?w)RUa6EejL+4uLsZGH?3Lc$kEWup!KYsi;uaFOy`{W30zpm<$ug{m)$6P`Q
z@V+aN20(wHCW-0jWaswCGg9F)-iAH5#=Sb8g|M6#OV`z5QcF8!RUYl(nYqA`a)=pe
z-~Re*;M1qegXxa-yFD27tdOtZDF0<jKKiA3oj8bxy{}l{I7~q?<?MAWb!=i43m4}h
z;_2}jI^yf|eBiZ^EPH#*Qbg;S5=_U^i&fYKG|wIk0lkZjphyP~$CX{4DKZjH7+;rK
zm>%o-*mKo>2lUSJfNvMEy$NI9$BNPX^5ts3<5`5kO<a!8E`px;bM5NbB})a4w<SOb
zGm>6su3wSfh~;<)Ni?jB&^^XuC7zrwOP&3E(FU6RdQKgkdK94EyUxb#xqbdiSj18p
zEA(RH2jiFb5$Sb*E#UWhXl}R8-<U4W;;~Cp+xM?UrmcIh3Y#aUJU`d_xba&nlZs+v
zN1dw*W%K%2kr&aglj(xKUwWO~SD#_nH(90;mL{a&F2Lh+ueP5rW}W%j-aa&kG?jUi
z%R67ci{oLu0~-&Z$1V6^gk4W*xUz0`VHG#&BYr1mDf*YOaGqT^_Bwjb;?GDOhpx>X
zVz1xXd(Aqd_nMpgAG`MS#h>_vrH-I&E>3K&hu?`=eS6i~z5YU+h`mVYVTv>E{_wm1
zKgm0@`*=0d;@KC@;M{P~?86(MA`0k3C;(?3#OR5jK00-<fZtF231dxF56(<n@F(*G
z*o>fB<qdirv}4uWCkC6izzYezv(Z@Q4>-|WMQ+AB|K6q6IybTDJQI+CT>l;YR_Iu#
zCfL9F;KugqsiX<HQyq7ukP2AhGaq{u*s~kflu8|OeH;riwDo6D;kZFhO63KkPafP~
zU}WOKBC(2Pe?{P*6>GVugJ3KIuwx$e&9ih_q`z^+LoXJH!7?lFB%B@<cma0irXcW>
z<r`Wx)<FsI6VM}ad<XRB5m|qP5YGr6=4xa6Iy(^H;T<@=L^2;S3t@b+plb?JM`-#L
zB7sOiP>o)jjq)5{!QlgFjw$|ocr$);oRlwLzTV$G(&blhj3-is!)f8{6KBrB7$81P
zdku)_`wMhJe*@FS8U04e;G{To=Ab=Up9}lYdqJ%GcgOjh<toN5tRFw14ZuP_ek3Vk
zQ*6e0_Q|P)1$T`w#4;$&*;n9E<Tp#=3Do51Wpl6;cZJ{7gT)@~Ksjf1f|~zoc4M~A
z!6qc8)6bXC<3&Gw^ILZfHVd9>_vR}&%9b8-K+O1FhGPiM7KLPD&U5Gf&E*Gd*l0fy
zoU)+qmh7^F3^cl4T4Xs7E_1tzZ|{X({{*yiOECC}66j7~MX(tqT#tL9zKLXb7W?8y
ztP7puOlG5TR{v%&aPd|ckg%NBJ#juAD~}VfSB>R}C6Q|y*5jYPN*#3!p7waMIAR*T
ztWEJ;*x|UMcQy`4_xzGnJA(>m51@ZI%2*_&Jk4#6^yBu)E=CvppcBhhkmbr?;nUY~
z-$GN=*xb)#2>p+5FZX*^K-e1y!0+@plhFL5Ujba7ZCVO!eyJ0_`_G`r_~)43&<(cN
zBH9G780vToaFxO(z87xi=JgCm?lI71I4sboz$0n`srTl%E?pNqePhO=PBlioyoS1e
z#Sy2zewCT3_T8LDv*7x7mWeG*4}g%~J|DRF>jJCp+;qa%n$O<rc2U;K5oZ`r9YGt9
zAK_}mzigBkpY2+PTkfNRWreY(DyRUAB{sPk>4^%g=OY2Jibuc0=$s|RYC9QA(4@fQ
z<JDISN{`2O;e$LkCmRK4$MaHWhuqkRo~30h1dPGj#^P5mWIn{iLN2Nh0n7ZyNR^W7
z3@Ef`$HUotay(<HoKlVw_NL7CfgZa6?Qssvu5sKQw%0_gk&<~r1<tWpx9E-@<3T4Z
z*M}uB%?NW-A^xoAQlZ!Hxli?aCwN$3{j5;A=4w>6QIMswazA;GfXjR$mIum)0qaw#
zvpGgC`ufw1jo*}RZ?YU$76FgjJv{*ny-tsDKB=&Xy_)ae5p)5XJwlPM^*BNQtuNx}
zb;hn)*5Nwf3Ii4r-+Q}W)-5<L=}QIT_koDHIr{%W`aJts9#^w*famObI~M$aCXuqQ
z1J0>#Vfs$8dOCWEPxGwKa(!4Zs~2H^-7M9Iz8SD^HvhBZ<nHa`f1)lB0SY>N!L|xE
zB6eYaa6l<VvO=8QuU@{Z6s+T{z~JDMIH@fdn_xV>Jw<(XU|9jIpoM+{i&}r03djqv
z>7pNNr0l0?2PZKIgGGNQ+l!?jBvR}48Y79<LN*qU7d}e`OBt^SbeT&LvDw#|n2rH~
z0IWA0Goq-}%L{;>2y>wiir@Kz(*~Sk6S7g@{*u&zzQ4L421@|83om4p<;)jHq01Bn
zVOUGCY0Q?U=NjVk=g+(V*HD-F1HBAH0A=63dq)vc$fe17hc&=pBR_ojV4@qCYG!d)
zQ1Rng!`nCW5<KkncR+*bLfNVA?wluK9X!6_Awa7Tn-uAFctyq9Ynb$A(>1a2NiT0l
zJV(a3k8j8EQ+t1W>XU`{j}Si8cg`+DAo3t`fw^G`kTewx<YsE|xcEZYROb&;gTb*@
z({{l@La$`q?2<(4&v~~L6w|>bz3xYwo&HBqyQu6H{LC#Q2AlR078`#>O>Fk{6uWX9
z_C>%}>QyN<b<~ph<p&Rmp^JUW0mB0NLmKqh%TM!-$0)rO4C!K?JuKk7nZm|kYlJJo
z(AbXgXJ5gQ^@o(gUOSybJu;}?N&5u!<C}HwDE9dTddX$O-LuRP(ckckUoP>|h8@0x
zL=G|Pjb`aN|Kg&Z*b&y&w*3-l2d63EJONLfFsqegFEStf*RQm9^s_!Qy%_$osjoA_
z^<13L=hI2RLjR<Bx3XmU0Gi!1^zr0Kjli-KIr6zC`1&&Zt%7rNdzZ@Ky7~18d+*tH
zfn8b?_w?W>*GJL7^!+h(9+WRNX_CSQVg(IfU*_c<5(%TLKp0OKi{_K>c!1zV$V_>h
z@zx&|>SE=6uQ4Rz*M9yyzK=Vl@L<W!=|&0=!2TM$Y&-s!W^gQ5(jr40FocQP+52*T
ze5LJGFfcT>`_<!@hC_P*eO=*lE@177od<27#=&T|mkVPSh%rmSVxwoZ>)(E`yZm!3
za5veE1s5My|C{;X02_hr11W^%oa&l6!>!bk9yl_mI<mz3ALvesz$jYekcQM(r0Ihp
z0&E(L$Z@i;JM}mgVzI7s293aW;vpsU`7_VN^dkLrIRd)g*?V)+X+^(6D`-EE6bQr8
zr44Di4x{KbNrYa3?ZVEWgAsHKQan$kM|!{H=ul-w)A}SjTtpyjs-l1JB9RE^uSW~y
z=DJ~>SV)-ktcYm$uk^@%T+!5azc4+(a|SUccJvzn(TKiZbVe-bH(q+=a$X1DUpOK*
z;_N!0KapZ7J?ZLJ3<LE0_wQLcj+UpV@t5(?&oARqyNkynjl{B67=P*Y7UYhEZ8-gD
z21l1O-LtyxF&X!DlAiOW7Xg}jVijST%qw-Ky2j&ENKds-pXVJ&`Nur~(0le1c*Y$w
zYv_*%dUD*B?=p0c@7mrSW0D?^e6vCi_)Xlb2Ct94XZ7>3)Avi~=GDW2Vnuyczt=HX
z&c;3C=6t|9+3J16JADF6<Z^sYbxlt{<LZwPdSt`sXj5EBZ^sLqx!sD1Vso((XBSX=
zJ=tvbUNmI>f}gMsp8f)?N4zkZ*z26VFjyyLW0wn@{;)LR<^_?kegO3>XSI_q5`k%x
zMf2=Hr%MZczq9@%f_2nVdFv+RK(qp=oj@ui29ILdS=sN#n@H1mb@g0IMOaF!GnfMO
zVwn{MtqH`NLYJN$yAt4o6);f?shLQH;}XUOs&!)VaJ$TusEHrJ-P`hj48IU;q#qgn
z^yw2L`oOxsW;-7uA(}2m1U#fu%3qawdip|<{1HNe@9W_aI+z7k5C@_cVHl_%->$zB
zWtUkykL|leA;S2S6*@=g@d@ZL-@#bbug~*^**`+aa(?|Xewy`k{7Ips!mQ~VsvQ=S
zB8ZyB6k02E@Mph+9?ASWcv7vC$eyCcf?;kT;91tw6mULjg_d}==~yeUy@?4l_Zy}p
z#sf2<u6x*c6csYZf}V&r5^~7l@9Wv)ePa{o5)N;gri)GM5HO<Ktj^|%rHifR%;MN!
zI5eL9ThR@6bhHB0Y^K2#I6yDykQ6%ffF3cpTRD3GEqevm=fK`Na$2On#HTzyD}BLc
zbzU*&e|*J|3y!{fo*H`M{C4B}>8Y;Evh<lBr|jVByQ<p*Xa>R_>EqZgLB!?tRFCw-
zFVn+gOt;Q6^|9j0_xt=AUsZdg*zRL3Li*6qdwb0#E97_}IPnM$T}3QBjWRFX91L9n
z9v*D0`;lXwml%%!Jb=E;;Hbm)BKGyk4;Y*(Hlu^X?JVnKN}4yQ2g-~ROmRN@yD<Ma
zWTq7BHgcMq2sC+R{Pgt;9%8f<XNFiki2iy?*8GZ_11F=s$<xcYze+WVXRH}<aFk-e
z`9o_w?k^Ve{rmR@pn-t5Z{LoMs;~GE1H|DFT8A6<_zfW#ao6+;P(fpREBq?n)qutS
zaNpLaJ%AR2eJCt?u4Z1+`n|aN`O6%)r$i&VAN+)=Jk?>8ng}%uon~GK!QM_ENZ}7K
z)E$m4W7he!;NHcdI8~9FeMEJ)W5(@p!uo*#(V6%Nk8ri)+7va%7(!@{VG5cV&R%p5
z2AT>`$Fnq{>P?p2-GlcEqGq1ec?pwDX<->6B7W$a{Ww*TEKf|pBa8?hKU5H>5kXi_
ziKn9{+XZJa*a+ht6x3M#MuHm4{Edv$c%29)tcGOmHtVp^w^uCHJ+L&z5j*B8(sYJY
z;CKf83Y@(%ez(^YtzCVdJu3pbPT~Uo${v%MuEO>2BZ~2eGaF3wJXQBnef@hP+NL&%
z#_x5|Mg}|yP+$$IPdVf96sseAYTn<?AIL$nuoREKlU|#$2h(&<iM?0_kYW*q*maXs
z&_<jc4-ltTVWM=M*(P3_167-p?g8`|fa`O80(u-j<7Su(_xw!T6YuG7LCRFcE6o~b
z-RU;5bRo2&Ug8&$jx|0<eos&Ro#pfieeW;yLA70+4YXvPg`Lfx^LnYE?R9j@+5CIi
zn*w^xv-RmQoiqP3RXA%Zi0@N^r3u~BU%xtcKfe8crn=7e0_|W5P{%Xk4!n?A1RIeP
zETozEkob@QF1Sms)_B4s%|32|u~~@f8Q5IvguRY}uGn1|2GJaFblIx_bZ$@*sbHSb
zqRu)m^m&TS9O&`bB%UmU=?eX$`zWQr_7ldG5N8*8ffUmb_Bwj39s?G;ywFBiXRk&x
z>`kx;*kt`@`x+-qKynrR4T%tp?b}N(sNF88(Js){ooG|Mkby;vp$J-m9p#D<cR+5B
z&-r36RJ~^(aQgt7G0}dc&)oVj@myhrknYf#0K%@s+w=jGG2Idn;Y?_PpMc)+JSF&=
zy871x=pl{=(ERu2-5ck|9C<N*e0=-q<JX^l`svHl<qcI;7@$uthz++9Vb@L0dQ;zk
z9=3R#k5(abj}!#Mv4JDe2k3-p70}O@E=+fedb3hz5v{_}YqWtH8`0yXIwxszzEpvU
zPI}b{1{%o+9vF00_!QXw`qBj{Bknk_?P9xJ2XsXZ(ra_U`o<_`qz}A`F0x&5q8XPa
z=ojNT9_%$3D*NuSUS|>R3pO7?agQJTqeMY3*2kUDySiR5>j+Q}%S~%}iuOkc^GlRq
zZeU{8nKP*->ozv69!jPQ=RAI@K%d^rAuDohvQ1-VWChKFb$GBKyz_te?kyIL=Q?p7
zGu6J#zjFz=M*sF?Z2J4-emy=8%U)RU{6t(&?*<0+UiDdJNU*02O|fgN$WfDB<N7Z!
zdAjmj{5j@5>MCT#A)S?Db@p|8g)!G-o?tUwI@Qbk^@~#l!q9^{syPU`B;xml55dL`
z=lwVoM-*F8IOw1M{O2Ek{L$YZ`sJ5jK79B<3=8u0r5#Iclj(J0XzHVF`o<4kgACAk
zK7an~w6js#TsJI*Fh=5`j!j=rmtHIzODQaKrpuubzyH(kZ5j^<HCd*o$sE)>RG6w&
zV5xbz)(I(yJ*)Fn-(uqV`}W=C2OA!H(jP#xJ9<qw1j~hT4AvIM=ED#3eTr0#fe#9e
z?}D)^Z!}-(4=S3KJzM_E=D57Wd7!S&LHCUA;|FXDj5vDRo&x;r!a144!%UX_vS^lw
z3TWqy#>1*s|G<Kix+E#d&Cup{48zhJ4|+_uvXV0L+w}+Z--JlhwbNVl#C|+11#NZ<
zY_jvQvd$&34@Z|64>lD9;HRc3dSV033~FQqx!9d7n&}Z*(*vHq4hu<f{(780SOLL^
z*vhyNk6{QB)xj97>^inX;#38r<8gZ8KpvkxSe=446X5;ZPPT5DiQ^&`%YND8@#lOo
zGPu8b5z)UxS;9K{x&G57&N<MVur5TM1vEZZ(8NTG&A#%G0OJ+zkqV#jc6C8O7in^e
z95D_=&v-{x+i2JDI|P<jDVlqIL@GyMGk=>ASW>bV(7hRwWu4^4uOQcEg!@Ph(Mg0w
ze>1*=zjs9^QPJ&9o}S00X58e|ZO{GqRmKtg_U(_Zc{%5~21`Mm-2-~0Ye<+Py@=N<
zbPth&Ui?$ts<2>iY>pH7o;v;Yv12Zg5@+gX#MlVqdm?lVX_8`=_KZD7ZJktGMv=41
zJ$TWA?q`-l&gOIWdgr?Jte(4bc>oPPlpDC@OEfd?O+fE27;c!s!R<uce1XA#^H<|3
zl3zLL*aZkrzs|^P=-~z4M6Wn%>>dws8rjJ_jakwONPWQLj!Cefvm*`Df;S?SJ+YZO
zqQ>s~3uxxT8jrTGzZE(L?@I(s0Mz*R1JQU-_~Z(DnZMxaFW8W2_xUf|Vxl(we!~%g
z?fXk?dOR3IeXLElk*2{ylR5?jQ+lq@gsfH2-}k%0M)H=jd(;&74Hei0sphiSG#IFF
z@5rwdnid>-e3u|QVl*G_$0FF}=RJezSh1iumbyp!z*l<wa$}wJyZRfx;O1+AULnyf
zs#eu(pMV~&+KNwK#z(?yqwc<b;r;EK55InX|Ni~g=lO=y3Y9hRda^^<R5i&lTnUb6
zn~+I@4}y2BLx5J$IX)$R=A(bi^*W$i1@!Yho2IV*L9Y`m0yd3LdaTErVLiT|FC9I*
z?Z<7ZVKc6%u^uNqQtS09kqStBph@p?ye-VoB2CMROA0?c9|!7z+UtqwI&FF$ffclN
zVb!93KF(7j5rCh`dz^&I82BjA6j8gLJ3W`!YK|)~X_%^wYwlBcez}~#G^eUj44CcY
z)}?ZJ0PVJnn3|?t(tjg?K)Wn*39F%$L^w1H!de=J$L%!?NAz!f04?8q0G;%2K7gL;
z;Pr8($9&HNXg1$9(Frv5FP@#RFV7E;j~rmE<airXKhpMin-SMIWcF{c`TY-|GhsD$
zDG0C6zk9BF>yaOu@bTkEHp&Y-w-Y}+-2e2`PoIAM;0AKQu#H@f=wid^`taeyufP84
zg%rqzhwV3b#1RRgh@kP*Z`)jLmz<rCBu>?!0<R;alO_5Q{q+<a3u_p!N^TlX=0k;-
z`|(l*#L$|PJbr*ZN?fnA0Xx<-Qc?Pz%i&9vNtZ0m!0Aqx195xdG)Ap<J;9*{{3e27
ziZAs#9=~>Y>Qnu38iRHIVwXa<p8g%seI2Mf)%ELjier<w@bSylZ|Z~;0kojM)ax46
z#NH897#8qwxOzMj%wf#5ZSKdF)vm9%m*U17qgAkOX(kvCL#QDE;Op`Ze$uHH3w9~=
z2+gxP?w3BIkhRP+O@vwj`fI2;2e2vAb$}=LEx|g@$E;BOw{e|kTt#a8th&utpDnQd
z#(=pt-Cx4ouoZH-&Jbo~w>O(Nbw5rzS%=t=;P~-m|JvJQ4C?~x`J3RxXFYAkU)j^y
zMKo9k(EEP0nRNprrTaTvX|X-hQi9)|5;D+YbKYgc@q<od0!_;597T%}eSQ7xbbmDQ
zXWQ#E2(TF#M^RmFT3uo0S3i{=VaMm^+WA|-Q~18g`WXdbfVzu*{Pg2oi0Mr4!R~=x
z0ev%OCt1rJqW5)sy|Tw)FD3DqezAAsQa>2K+G5P;di&-_dJW6hanQV38I06+L19Hm
z7o=K5UKiq#J<>W$Sa97sXOXYdXZt-c|2|dIv97~j&DS-=($!xdAvMp=Blr8x;$ITe
zj98AJMHtpC@rdpLg3rcHL5V+Nq1QQ!>D;|}_@|q3-p4b%lT$#hj}>)cezLOp)v*i9
z4h#J&2nd_1y$~+obpF^t(-#K)UE~CdU$R}I#^%De#OJ|N4<4CKxNbImOAr_iOIOEW
z>1*CGD-}{FFN90tsCA9bAM1}drny8~q?hXZixCB#2YJLO#C0<_;7OuFXu6&=uCQtE
zf?0+E9xX6ug^60=xJryv>ipD0aFY!nH;b$gdqHhH+pEZ;ITM{GLh2ZkE+fGUTs#Jl
z#r`!Qy$*zphbGn`>@psYy?An7JiqYn<ttrp9!GI!JAX~S;RSjDzZPonk<~3EK#}92
z!Y?s;m<BMG0*_tH3fM=0z%kN}2hex(I~>OfJiHm2l!u2$UVz`e{qf_6FYn*K|NQmF
zuf7sC)kc00l9>R0CV;is{bz3&?2V0JD{RULEqtKaJ>WczgiJ}N0YX`u1R%hG2)b-8
zxLrH_I^4<iP%JxUaMbV91Fw6CL~0WN(Fo>qvn$u1UPlq#6EjbH)8+cOjInsKfMG<F
zIR72=`m9eKkfYlQW^n}Tv>EyjDyU;A{8;N)MCf%Lf==w4<11^#3gG;A{1YX|+XI7#
zX3I+#?Gw-{$6ADAAw)mb;>TWMYN!@Ad1(%gf~l?}@8&E9&XcWUeV(4iwGoZY@qnI#
zsgJin-_2z#7zGL+1l#O33%+o+y}Kv$uIRG|&;;y5<MD9lyFgr}*(hf7VLq^+smEOH
z&hqFv`uiU}3yFP*G<QGtY%;)MK(D8a!P<|XKY7XWC&b>~aB=318Npl)zI^%OwT>$i
z{ICD@ztG@Vl*Nht`RAWAdIV5JL2<Epyw@AVNh0(x(3#iM6qI<p4$veQJ$^oXRPNQ7
ztpQwE&?)=z%lPgfoW7X4P=LnH<lll>m)!c)F#lpN&bB@)^%W@eGJ&V(%lQlT7nj_-
z`Z^##)s9G*^Y3Gf;kmCqmP;p?lKI$`0K!LFt@iVA?vs*uVAQEz*{%~lU;n_MlQ}@P
zi#_FhK#yeH>xCNYlE`%7@z}O20f>kCPU?WuEY`C^))ZjqGzm5y+nrdO%j<GTeXy$s
zbdT2f#Ps0M<DHK>x$yXS`Cx(bl)gTJCf5d?1dCnEb|ulV5*C)qpog~?X^PF%msarh
z@y7hkH4<wx1@SO9tn9~+BJq$eSk@;Z`*G<?eVgg!;uAgQam;hsUeNEjX@*`T7BU|p
z%t+^x;E2>wRQSO8AgXhqUh0P)*~$Fj=D6L7#owE;`1>YATc?k%Hcaq<o}2gQ(APh?
z$&v&^pG@cR-uu|O_XlH+FP}f>Z^n$*8WOep2Li0wKM=ME=|iKvPR@2=GshwHlpT9}
zOfR_nz$slE&kE@A{eJ$ePWP)bdIb9=VG6Cs;WB5$Oa0KauJ_{|aohay_W9vq%<5@e
z(#D>pNCHOg^*|x@Vd;`RAYnOQZr0qZrPR&%o9spK{H8fCypn4dHroX~CIPWPz)~ml
z>qC#}=VQnHmC9l9cagHaz5#l=1-r1Kv*(Ik?Et$XiQi-yec|q>AOGu=*Ki`$^v0eL
zn=UBjmb(4IN7z&cruRC_g)-#AwBQaSQ5!+Q(OqOR&`-QBGVNfq7sPfF6KM7Wt3y22
zB4cZhYRrd3Y_L==WHuF8FMQ@Iw5)@XDWXlVg9^>8b0uBsXFra<Yf>i`7{%UR1ja{=
z3StyuBBHV<c7<Nb-dM3WVWCI%dEx<MYI)}R;ADIC6DBr&fKGGYUIS7DYw<Bg(LFaG
z*d-VdC>|%);cNo?R}b1jZE`;9K^ubxj-TqE@x35T)7dEN<FSdY2hcQM-oAP8u5kn(
zpGOw5%pDaQRuf0jg7Ky(0L?lZU=wT8p-E>40YaQ4mW|cYBoDzo&C9cItvxr#RzH`e
z0<q6eoIY<q{5rl+`~GoW=qqws7<F#p`RE)1o@^KNQvUI%oy15yp*Cl%gLc26S+bVq
zvd*y{C)G2EW_#7dkP9|lhlEA+KSC%r`}Im8{f!4iGf;9nuBu_!i0qdPs`bXsur9J8
zgw<xvW)A6!8dSZ@`g99kZ-E%CJhbnS?cfn&rmLK6EkbAS0(#l%QMCLvS<g|W>N9!$
zV2rklAL@@H^6wI0?hSmnTyF!8*rEN^NXP2m0nKTqfH)xw%ZO;~$Q<)rS4Ld7ox6Gf
ziZEM&&HTp}m0wsR4hdexSg0>w##i2>oqz!)E^E>sKqm$q<rZVy9x467>nOVgtkhSv
z>|tk#@h<^q51`p(PZ=Nu*dja+k8?*DgH1DJh>`X<K0)Jg$iiaLb=kbVzcQZ`k^M)N
zuj4?`;5->uvG|PyJW~~P8K$PD!4Gf7mpqIGsf}Wb@S}hI<s+vyf+qJW9}2`zKmBA3
zy+9&<E_(es3>F6~fTM%WJkTcwC)TD~E5>AdgT2lH(D9E^ssJLT?Bewl53?eXIb*Z;
zzdX<F8ZUqKog{2;|ACpM&_D(B4#5f2qj;)MH0$ZybONUZLwNpv{_=@w=lnIL?3@@p
z`0K;RH;IGOz%nH^%q9?khn<ZOo#|DCBXQoSKpsFZT&^IOtXWXosY<Qu_#>sWc|e^C
zyaGSFDLTsn?ic;tQi$Ugh$IGUGxwiY!R)X4*0P`zvR%+MHD_oG29H|=!F`@!z#^O>
zVzE$3SJ1T(Cu1oVQb&!o=`}`Aw;X;3fF4f=&KsSHT$&4HVU2-k_G9&5W-jmEz1LGw
z6Pm1#&R7NWLF_|&oH#nYXqz|BYdl%E3cS?smE#W;JF#i}KA(P_G+5ZK-t1bIg8MwR
z36pqSfsXO<+YBD7v(d)Q`ir`HZa~&6$6;zhG@=(=il-T2JVXH6c>>K?@cNM9K&^kr
z{bD+iU~{PxaXRk&n+I*R>kg3RVHX4gsOE3fSr)4R-*=~Yg!8c}>Ks>8$Ua@-yUqT^
zcG1@-lYwRbrpxyoJ6WGZD!dNt^Xc{bxLtQLVM+7r{0fx0&fs@(Fv7z<Hv?l;dH=f)
z8tlrrsl24bZ{!jm`_1_;>5BA5{BN=pT!w?2O92UhJxlgU?(-*Q4}+9idT$29**uBw
zDbZ)g6@FtXZ=gQgv~R9YB4ufYv-+p;{t?0*PE>MW9_EF9EW<cb#ydN)(MuhhXB+H=
z36}bv@Nq_rzU$3XbDL{(AvX%ig{n8^=?oc5fhRAtOZ?gPk|I_Bn`40E5ecZVXWPYl
zq3GV_1<@jbF6+!83&-u-YXvP?<zBIu#1z5eNj#od@QskV3)bHzHrT{2MG$OP0wS;(
z*QTJI8zB1r8p#DaXe>=F4zLbOfVor~RazaJj%x)m%XtPTgUy5Z1ro8=SCo4YZ3QsQ
zvDDZx%-x+gnt*20u=e)1b9$(QhnU{%0W{%<QGn*tBli@?LDC;9kb*U3gf{SSUJw9Q
z6PliPh^lcBtQ%Pnr%kk2!A%2?=Y%;ZE!O$&{^kB|eBI~6gSO)9cfJT)9zgR}HdNu+
zKHFbl7}SjBez&XUa3#*_xTHz!!dz?wmiQ%D%NCVyhG`+|Lzvj?H+Ef&-8R>7rr5;B
zBQ|}*HZmJ{;xt%j_Wjj`y|1tYI3K8?Mg^_gRih2m*s)c$AvU4%MpFSeM^52>(b;X7
zamNroU%fOBk?R$t0v;ArVXqcAkesJZu*m_B)lUr8W=_ck?&ycTo)4VG&%Z&nJ%DBy
z%&b#i!7-fU3UI+$2?0(F;YoqBnwOZ)*#l@&6jfo?*}y&h99Im7<$(P1<uiu?R~RpD
z#+02J?yu()|2a42NtO>@lm5**`!bmF$^+%8if`9%>n}F%ALao=Oh0~rm`c4W&bqOB
zL=wQNV$pbV{x0-fxYRt^t}`-WM2avOXVU#?8Y5}?dIxCI0YUHc_)*2!G%sAA3Oql)
z`w8*uufJkFmN-+e)Zthno(uTTKmUxykB3|fj=>tF(B*J2rdZ9p$Eyd^>7uf_!Uy&;
zhlFXxX@k9hU{LS(;xq=_3PwR_hiAy~mx|dsQrH}vWVzvFWx2pQXWv;&{8R_TV!wPH
z71ZAYfs|rCp1)Z4;8?oasIr&ymjzIOGGmR|x@Z-Qriin&3#v6p!3B<bti3nCf&&jK
ze(#8gHzmS=*eT{Wg3Mfq?(5kDJO}k8CIJ~V_H%s&hYLvVSb;hWJWg(K{7nwg=ZI;B
z#bX$t=~9m>g-s(NT9Nexf~RW4sp#>L-o+o-WUOHsnkMJBo{k=E#av#$YJ|({vQ9ke
zIM14(Ue@1&!0t^-unW}jAUr<R3SoPlXDZvo-<@EyA4{OXl2z`@e9}~i!H{@K7-zA~
zj-KitqzH6>CoxsvQo;44SJc>SmlzECd!)8sKgR%vFy3YtW`+2_hd%CEqI(U275&7k
zJvh-=@B$8r6t>G4v{v%^BGLUg(dkSQu!w&A#KQB}^*-NQ0qa-I%K^-G<QMknH6_-8
zDr^cY^G}SZbNr)?Of#Ntvu={eex4dBjw`*+a=ZoRGgYgDU{;7e|FApp+>C^NJa_T+
zX`I?DECa!K`ItWpxU27j9xn}K)Aoxv`Zh}6uD!m!`>c8$dJVvyt&i&<<}Q^N(d&1<
z=}(=71Srnx+=QA-e41?6z6oI;WnUj-`tkNX<ak>~?{ny*Gf$gXQM+GyZm+OoVt76H
zCK=l1!rj})|1{+_Za}Dmew4_Dfx<cYf+T&GU+Y)WI5)y5SK!x*IxlRoT~K*pUudAo
zK$S5dEW!sy#%L9ci*<(VYz3Y@UVC=Kp)g&D2mBqTjV01*T2XVSj_tvKhl1(_4^VP5
zqU1nFD<tzLR{?0^P0S(yP3AxVf~EoxeZT7wbxmzxIwD;o|A3}t6Rf~<w!gGwF;AyT
z6HEj)ggQc#E>aLxU<xcRR3=&>b<6@qn(P;P$<+qtfHejZzsw)pQUtvSwZatVU=urX
z>iD##o)KLqBjeJvCQWRG4-dh3Y{DpA>p<6tADc+Qr-%Eo_<rJ*dkF$8f)!I-<Sex}
zK;SxSX?oo5_yCcBUf*=ZV!eSN%*ca!qt4a)>$rmR;ybpXeu=WajblXm6&!Egy!-U=
z>-+cbKW*R1XxJ;CToyM6tJAD8#x?Hu9rioD2*bvLmsWIeVn4O-6b^LhF%c{F0=*qP
zu4iH*vi>%OX6E0^LLwKx*xRdRyY@N>R!9%)I`iqlXm^D4E{+qMDPq(4^hg6(AA}GC
zYS)eU&d9nHm=KK3iExQ5C{a;sseWF}$Rj3NzfOu*?7#r+@)aDQzpu{~<1^X$MM%f0
zL;8pxp5rSx&<r2F2pKU2x@I~*Jd3gy%VZu;=6TI!8$0Zosj4iA6l4@GGgv)ZV`xP$
z51`@JxSh+kD`fxkgK}0a!(LBpKFHo#>YSAg23S17G><(yNQ}*pct{0=k-hg7dRXO8
z{hM&~**Kc}G?uWAM?y4~<~S-i#_PxSfBW0t@N;?R4CO`YZ~r#GQiEPRmNn6jJmY!y
z?%jA<sh{S0eV`X2IylAV*W+s;x)U6Nni<{R-n3VGml`p)tDG|8j!1jG3MtrxaWiv#
z0ym3;AK0{{Lq_ReA<`jnsz&7x{}2auS#XDbx|j?F`&a19?#Wz3@Uk?gSD%BHKA%M6
zXOAkhCOV3qbSXS=2^cYLTWA`9wZ6?9=LAf34io11aY<8cG*Yb<(Zh~QWS@g#2QOjP
zF(%EMe5o}TnyH*-tb*f&r8a(qwrTWc^x1<R4mo2W`vTj~uTJ)FdKFgCqezngv-CLa
z@j#|!Mf5?@HtFJ$V1RxF9`6T2V)kG~KRyG&J`f+{RagY;JR)w8qx&)z<o?8_(6o+a
z`;NmJvyci)0GCQVBfp5Q{+XEczVe-$L*vQz5|AuJ)@{k+yigdNl&pjC-QL9GGwEQk
z$E2L4_pGiv{Wu}Uum~zI=nuW=lw1%s@yl_DN8$OUmW&wNap<H(cPr}sc%C)ueQh}o
z>JpiG5=Ls-aWsDY`nlhtfax3$vtSXO{l52(fsdgT*uEb-@td1!{d$#Zu!KdN9VcTd
z*OQU#ID=!eK1-GXX{Pt)It-4lokUWT;hyWGSI2D#s}AFt1~2V&F6nEv;-)h*5u1q|
zBVK!6DWa7nEM48-^}Y#kR%9oUdlAY0vUzhp(CaKQ+T}bAOZ|}jyI_3B;n=A*`%JL(
zW<C(z$L%%&5sN?Q$+(iR#UFYdE5FYA6&%X|Hn9?q=#>3|4o)l=%IFFlpmSh#3uiCP
z1SFEVMOzI^!Kytmz^*PbPn+rWf=&_Pc%lipV4-8d?b=D$BCNx#oLB^78MfGdV<9%_
zjqW&M(*w<YKPvJodqM>T^Gr+xw%;fN(^kYU(S09@n(Z=XBp<IIdLUtfW`CtO0!DH%
z_SS(-5*Zzsn*tAA7VO~h!cmp3aD50cE5ZkbKuouci!e+^(6Md?C;&gRicUOD=HrB+
z*YtvA3Qe>SQ=2&UvO^e;2W<s3o=P2{alZWE0rPxck8kGjP@k`a>YAXb)3FFpnTf%e
zL5-607p)MousE%31w<Z<cJSne_?pVP<1OC!{1-2@Wk=bk`s?;J%GDns^bNT+v8m|~
z26l2@Q<vbXf3<qx3W)n<$Lk3Y%s$1Mm3U`@mGNQiW0DH#&JNC**(RBI(Ibp*Ggh1x
zo~k;bNkJ?S6ASof(1CvHC=w|*AAHN=w7JwtwdFWbW8JQ7{x|9AfhPNf3c-Ry)PqQ4
zMC}jo2q@oWw(Reb)^-Zel^brX6{=@ke;nEkCk1OjAJpI>jx)4l*G(S$&c5sKfF6!g
zlBZCN=mQ<;WykQvY#*Mdr!Q{iW&Y3OnD6HWy;HRfEQX(d;)e>J@g|PAs?Rv?ZaoRW
zanZ*cc$?pZE9+DTJ~GaH7WT3}qSEiSq=`Ly0G&;c=<eKEdTBnt%m+*~Gx|-8dAuLr
zhv2IWuk|?59)yN1)GoR(MtW_KZ?MdhraN@;!|oBLjZ?odRG|6mufMVtk8j^_&F9?w
z>tFwhhk*OL`AK0kVRUij$L2a;#b!0oxs&6;cp?5PCr@Qz@hGApPMgeDAqmTUm$`0K
zvLKOSudsE(B<~;Rr=bb(wb&+tNE1i?G0!|ezlkX_6YG3I%f)}nJX_g2oWEE!9%l$d
zaMu(4=FNB=R8Lz|=*J0+h|<rsjYb9|Q$*CbD`b$b;3$9F(zg3@{SP*CJam{UT{j;<
z_x+wO$gZ&o6*Av1OjnP8^Jbi`?X&z;rdde?gD>LvguBgA;t=J&_-#Th-es$8a&*}X
z`Vshj9o$KPFi(a4DzFMH5Tg*+IlX~RULv79mpg$jvP3oDrP`M-^N)(p_A%$If2=~k
zx{FkZ|6u+M2`lQQz5<?~=lyfKY!aU##Ac2|BE4t?{YzHAk6Og&Zt;rvWp8%yaGa!q
z9>CL&AF<at+l(09g{80x=-V47qMu*TyHZvm{kZB~sT0rZxF0i|kgEqlK~Uhy@zZCB
zWqk|)f;n6*lK2I>2!PoxXr>6H7t!mCwCgJ#;OQdGVEp6pe#(FpVg5SD)?Pl4^z`P<
z_{v1Xun|}*L}+t8F{TSxoLG;mF>nJ<-!I+Ptme27jb9=0=Xeu~K;oBbz1hd@b(WN=
zuJtmXa92OjqM!d>>ZbwoP?^^m#^G*fd`OPhq2aI5Q<<ioTn}wVU=2=+*c{2NV2{xs
za(*q5%X;3VmpWUAGcwRZYTleD&hDqk&HW2Y)2yB=yC+!Tl>pecBJ)XNA3E_7-QR8Z
z_X^su)Y&=nOVY#ck-K+q{&Vk(Rxpf2SLc-$4ro2;(k=t1>CLghpvHRPFsxfo7<8P9
z<O;_V7SGv%?k7EW*uhE1D!@^8yigj`MJ|ZgP?MeXCYpgN<f;@l>k!iHel^w!BdW}V
zX0RD2>t7+0q`O}r_0{g*u`b8T;MW?UmE9BEE{nwCvD6GYz;kwk3u7t`JiQ1zR0}#Y
zqLIn6cd=g9Z3dd&z>zL!o0c-nLDgALF$;({AWj5LyKGvgI_DepQKCQ_#`-A8O*{d-
z!A?_f5|eT1dijBU`ZAv1-p@~b@b1jW!0~K4IFR)7ag-|X%<gOOd;CC6YTg9U^pnCn
z%MDZPG3HntR?GYK(XP*NSL*%KSJK~p`Z&Jm^Yhosd1^qmqN=TAyRZqvk~O+F&W_I{
znybKrrnoDRb$}cvMnWG^PZwwO-V_J6%W0sqb$FOV^<P03F*nJ6F+El%0gKIg8iN&k
z<56grBE4C$ml3hdzkH*Kc5`SFud{>m<_`|X7;Ti!%hN0fjtj$oq{Ocir4uU&lgb<5
zB$4BXB}FiEoR(5l)ZnVf_7xmpDeM`>P^R>-yhTW^U%@eT4I~aKXaXE1lcD+aG=3$#
zJ1Ngj*C|$(gjH))Q(yaQCPx-4!xFJjZ|Zw~(Rk8Z;?mqd0WAsGSl7)*#{28IdS7P;
zO#RC`l;@QP(AZ?bj6d0rY%*QOkPB!$U!Okjezf)m&+`~VdTv^W#OhwDic`<Z*V}u*
zX>xn!;>2JSEYM^A$0sh0(T~;&&Z)|uGX>C}K7Havgx6)9A3uNk<(FT4O>__X0~o>>
z2oM$-wHonctUf3jh@q@aEKSG*Xk)-Gg#PquZ90tvV{M`nV3QFMU<?>z0Jx>#+}^w!
zU%LS&vWt!6rO-rTX!bhK<IU^%Yl_|0V}l!hzk*|jGE-f{P;@aLcFNngZ*u-R2dF9a
z-1+(lhhxkWCtFm(bN+L&Xf!HeU}Wd$o$CfqFC)fCj*Vz5BZg<YBMMYl>=5-W9Pz|&
zkt%#uZFyY=V>~y-Uiq?p<r>;u4^?1d^Xd2j1A5dwNQ&T5FfO_Z%=!+;`i!&!rzvzr
zSM~+F!t|bV+1+i?#Nvy!epX<NQB9AZk#=3jt-zx7>*2zHh4^ju+^+k6=~!Wh86{oO
zt2tIE-&lu4CYbei!f~47@dJ3eA4XamPQen{l^87;fDLg%4^9f8Ma>DWpG5bLe)n$$
z4%Ap@o~HJ7mWjPif|q#bnL#7CIw2Aq;rw^{c>#E^WJOohgl3MPy(>$EbzGhMWPo)`
zGi!*)S3N{W57i(Zn<K4=R`i;&;Lo$t6jEG=p5@G+pX(FQ<6Y+S_|Y8p7`@vFEA;x&
z3Bv;hFXy8HaJIjCwMBrH#ioAfVL-EcmR?wjWIl;pM7Lcmb^IfQ)Fa@&etUz;@b$}6
zeHk>@2v&s)#r%o8e}vpzzzN+0U8lD@#aysyfHqE0@9C0tfIUmPhCWd2_vD_<q2uvW
zD>f37?s){uxH&%cge2~hF|yk(7IOaD1a-<T6?$YJ+IdR%Lr=5|+v{{Ky@Gm=kzTyp
zKA+Bb0G&z1b^(2`?%!jui{OAG4BW?n6KgLlf(x0=4)N@m<ceK6pvQQvRO%#H>kCYp
zu^xz4s7iw#u+YN-PU<8e(8ahq)2jt@fo)OXbh{FnU=Psl2XtQth4dZ2bk$H3o0K}M
zpY;)kLtulE;)9-e7U7m+6@VYxW3Z6@1^UG-u)_4VpL~iMYcLp}aT9=btwvhY*iN#r
zDMeG8gB(Wmu|zhzKUoTv-CS;ruxLneJPIsMx;!1wSa!|3cki%Z1)9dELepaxGnCG|
z`<I8>R{kURu3p#-F2i|r`vu<PWGCYWn`4Y)1<-;{KyVxTb%3y`F2_}kem^$9ddV0L
zcz*if{_)MHk6+%u|EcO79X;rnNd%}_LxhptW*H3*Y=!;>=AYquo%`cgGD}~M7QnOP
z8zcnwy3QQ8I~7%Iq7%?`u@%dP<VHN$w7$(nP$#9-U>CSi*))$yd$C6L6l`bYw0JOb
z-!DK+f1sQc@RMtjc<6OH*<Oo8u#M4LAUzs-HP)rVFHC>M*zESDeW#u=TFy~yA{Efj
zJ0pd8VsAcuCAaUC={=}n2R85P4e%JR&<W@ncYS~@&!g}#Z!BRp^+WbZcS35~R4g&j
zJr)PXQNT<*9%e0d*meg(WAV>`_CQ~{-r>@Tt?U_Q%>{e0&tK*nGd%=*)|_2GGdG}#
zwLbC5)o)FIK=S>3^Sik_ynVsXKwQl@(Y}27ghk&tkk}DK9~-`Nv;OOlLNyDz;b`pJ
zw{JO%naSV&_A`^A_s1W9tUoR|zEXqc!^8M8ic#W+AO8OLzbh6z9uQhb!7|L~-Y`rI
zew`kFroRWDW_D_s2d)My18fcp!d7#f2&?2mxxa`Zo|tH$m*%L&X5StAur$ZXGp+KB
zlZ+dN=a=zC+dtg<Op|mh69Dy17z=Ay7jxW#bet(T>{gHXu`N{%O|bEt0M$RJ+G9b`
z+F;os=C3ecu=(}4-$*2Mz0iwv&1OthSOJ@-(t2Q-hW_*-5|A$N_}shL<9gs~J}rKv
z7l>u_1$t$+kJrt3r~pG9camZNHtPv9vPgwpKq4c0osP$Vx(gC*?iT2kI6X`f0KHe;
zEg9V-YEl;PYlFeydP36EG&krM!*rs7Q(jU11DpEO6q-3NQd!~oXiP^>>>^-Hu_|c4
z=QupWveF}WJ%bMLcvK_$fq}+v6D#VhgIQYe{TK9$3?P<ByAlu#(BD&%2=T<3Y7yGZ
zQxf0(I<=X$;8FB={Sw`abmCDE-$ir+;w<}8zhBG$x$4s77#q6@=JCesTca0`)syoD
z^mmLAd;9(so1k`~)CjY7yBsGG%YF%N7mSLx>MYm`OMTBHb+@56(Of6vsTb`Be--M(
zr_cTpm|@_EZho8ynmD7e0cV2sz@pPMvRCMlXMWdb$vsPa1&)(mWGUE%#r5=ox_>8$
z()CSpJS?0ge*W^gzD#cH3!0gRB6AC8$CYH1eK>NbdKK2wnPdl13i|OWuNU;tqDWHa
z2Kp5oy^t_~POPZ=Fgk@}eX45`GfEU$GD~42umr@(6cxY=gI!jL?&IndziI<du$c=P
zH5J0m`c&5#Pojf{KDVwt0fa;?@%fd1bSz}QE-;@&1|vsWv1?;QoflM@d%ftvg7ed-
zPx`xszKtDwr8m8CB)wx7VOHZ9i_U%_%sSfT0a^T53#KW*{`za2owNB{WK6D5W8GiI
zbYZVe>Ajs^4GaAc;<zORPd@<gkIb4a&~#bo@^~N^55i!Y2s}P<2C`Urg6-<n5LM7m
z(v1TT@c5ZQb_LeQHzr~b4-ez~A`FZNJee4_3*O=?!clEbSgZqRx@t-ni0^gu$d@m3
z+`)sp)n;wrbDe<qZ#fL!y&GTNLPzBdy7su*@p@7P=d=}G50}Z~*Y0>dF}K5v%FZkU
z_At=-^fb@kc!a&&{R(iuNX>ChGS?GG7S`=`yQGrFmKp=uJ9vVgU>1G_80HHV0owSj
zpJo?TZ=gr46B3ZG#DSjTgSL2jml_*rX5DNq!s%f}ZC99)$EzC{4CsD5>ygLffuI!v
zd*BeWg4Sy$Vhnj;bJ$Da3F~Z(;L%!b0jCdi608&J1*Bs@evLgaKdf0P0zQDQ!WSnP
zIfg#`iXOJ4fZH|3FD|(!51^L{4hs3M=Otii2EFtqAnTKwVDGTUC+N#P=^J|!dd21|
z@$T`n-ktpjk+TY1uIOR{Y~b_r<x%GBmR9sQZ2xz02*!12KyZ@!4IAjc{`If-_m4mQ
z^wWnAAN&xsmlPr~TpkG<uLWo8)~-bX=Tkd>J9{0|&+7N$XZm|MdjL%xhelYFD+AlE
z1upo0trJU;iziOHa!p`;`VZ<l^jfy#186MT0AtYAe*<?)NX>`^ufuL*hfN@bTc6oJ
zDsa78M%V8qqdR!MjJu}+Sz^=rBfp3yK+$_)4^Vur*JV9{;QX=2rH<<}0uF3aB;e74
z$7h<x!+usSP3iH91+q*`x+y&#kD!;YI2+wX4!MQ1`>qVP@Xhy?l62;|blK#vj}}w1
zS#~YyeJQlQ3}(1M)(-we_9EbXz_5rOrbnCkr-FXYZZ-bi)z{xhF$NE~v7$c}BKG}A
zFm}Js7w02JN(#d6?;crpMD)$$!6K%hvALb=Mfx0io$fa=voal<{bd(TMPI{!A4@<;
zyuBe!>ZFN{Urg_Hh*y+*3T$70&>4~Xi-knWybf=XxlXzuyIy!6e*<j3+<?CEpC?{@
zJ+yuUn7<-^VLp8t8LP*1&W=wK=g@__@2m(cGl|FqUgwp{()W9ClICXDgIyJ}!umiq
zjbIY*?;c-xfAKQzolFl^Zx*zs9<_e0!d=|azZ4Ojp?58H(iQPaZfBp5un3B!4oy9~
zf2zjWpl~xD&Qda;g|pX37!%z_p}x*O&@1yyS1*OuzuSGpKvxo7cF&sX{C2uze<cw{
z-FyeM9qHyqVRU;OAJEK#_Cn}=p$W!%B8e63I@>WoHE}x!KfJtq`>twSLGalPP38}d
zD|C%|*Wh{O!mU;W=5L)by`sV|#fedCy&&QoeT5o-!WPCbh4aS})*rYKGgZ6cwi!so
zW+nTf6O7UF!klIV*7OLWNkOa_*~!dDts)b^c767OK?;@t$X3_|T^q@pE}M46(u<YU
zfr_0Qn|b2N13SZnrh5Sl>p~36rg?l;)e#o!Si~5qAMJ5v0K(IRrU8JHE_OE_G?3*{
z1UN~_-4$J+A4^viCVh-<%wv57n#~&d&*PVrkCf5-_3PyaDg;ecRQ4oIk5AHVhD^y^
zOVP{?%^3Z_uo1oS_&D|pFv+JE|1hIR;Hc>@T;D&u`{kEk-n^L~l&jvAn|{jX2Sp2X
z)x-y5wF)$TdJ%>N{nC5y?k?M_M-sD?dU~4IH{!uvLvx?Mer9EJsbg=jsU<SFQ8=wb
zfFowy)E9#x@irrJT}`C;fL?l5*NX=%((SSimr;)IN{&b2@fOauYbSM#KjX2k!<T7%
zEB;}`Ud`|jH?r`bRXh7+t2gwB6c=AF_OAQmcOXI^k*@Ske|@4~%?y@Yx!Zn?eJyf$
z;@<<L)w%t;bNwT<OEv2tbkfvw_5*-32r_bsPm{9Ii2ItpW5JSjhGBbf_gM3l&y`Pg
z&DjITQ|`yoadvQ~aEf3VsBhz-Kh=KujrC99(#<7;Q8<9nOdxkSH2pF2k3atOm%sdl
z9G!(*lkeNc=~2?9z$gU~q#FiEBV`~Ar5i;;y1N9K$d^u)5J5ITr8@@FIT~b2ZNy~M
z*v7lxdmQ@<o^AJY-RE_l=SQNao3PUDwDyOdr#Zm<^kpe;RccnV^?}+GZ1KFq*6b>(
zW8&m-v~i?b7tSRPVY5IF?mR!*K>G8e-EzP~bz|VgjSDi|-@}hF6opTwm7P*+>Q!F=
z@O%G^n^h9eLX$PZPk4D3OKyh5?))CdKL&}{u`P%$U;N_zve(#J-aYxS<Mr3+`c`6v
z4AX1-?t7kU4Wn&)e72BKjB@>Uz?`LPpHj%b@Eb#(R|G%FKN6bpBp|2U-C&!YRN$<B
z*`%*?!OjeaK`T^iv2x+o?1uGO-41S|nFO2+L!=nJ?c@iUfQK=;WSD)inzRj6=`Q)(
zMXLCBh?&ajgl@RR0P>N?(Z258?@^_6v1mAuk<bPr0R`)H6OT}=YZUNm@o-ui3qSTd
zZR$^{K4b>*Rthvf7r8nMwrzgc8Jltur80c=Iccn#J;t#6#8e)8%270QG~Z}PVmtKF
zpMB-z3}QVc3)i`@{5%m__E)SNA|$D}5&K^kS{<6L#9h1lKJ=_D`{eu4l;)IF#pFZ(
z?7u3^OVXr~f%%b>SWxceqm++v`6dWvW|AHU(i-oysJ9!^>rY)*GK)daNT@`BcY93`
zW@lUBxvL733jqQqkomL6!S;|5{~VdYrN{}qssOh}E6Wl~65N>P4x?7__=4mv`Se-v
z)x(l5y5!#(ch4Qq15ITOGCHo-u3~<6_I%MJE4rtYcW+wrkzkKI6@zt{HM5)`H^(E-
zsM!2Q)^!%kiww&@aUzoJBITl*q@DtuBYYC9rVB~qS+I`+6w5BA+B@v%h<@HZL3{?a
zZ>mW(u_gCx?X~iA)5qOV7>{@RFdANks7qb^tHN5?`g^4vrg%=L8%y-ztoJy-D`(;H
zg_=;49jf;(fSUMsNavlKGuTD26L^ihs7)E&q?fPnRcNR}PWq?9^%SxuW`)%benig%
z&0yp8XR!(pz%P0Ji1Yr`kaOU34a=b?ypl>zxA`hsuVtUuY&n^J!oLk2;2oE7m(Lp|
z_KxCDe$}6dv=c{naPN>Qn55e=xY-!TT2hWxMtFJm<u}FlT?D(V90RRX{P^=v5AGS^
z)4sQA#EOm%5I5WNzFy69;t6dJ#0w5S>%{k7R(r|hzMiJsqi*xgWJ_ujAdBLEqhXEa
zSTsL(jX+xdxj|Q<vT%8%a&2!D<pBQ%1ixgP?VUw@OxTFk3vU1K*&V@8s{yNnxY#!-
z^Mi+&x`fI${;dVE*IwaksanEtW?;#3N_cj8F5_H(-zdg#1cr3>Uy~pR<z+=IKGFDe
zlvg?^(GzrHqyaRQ?u=ShXwZzckFRc{&J!9$Iq8gz6Rt`~T?1&~cFb8qihMMRau@T@
z?~>^dAbHE8-Z$ZznFOWqii%is=%I=xUhZfSF(jOB^q)?dymL~O&foLyYY;r3vn`X`
zkoo2WN3~tp#`s8mfj)1+j9Gppb0~;sg5n?9bGGe%n?lAvI<mTj-aq_AFzp+J%(a0+
z9y(h)8+IySqfyx3P?^E4#z>0r(4V76@#LAFy>FmUh`Px4!zbQPQXY@}BUc#ztvYe8
zcP}*q@ClBG<lUE;`rbkgV%RO*cccSvnwvO*(X%q#7T|r4TTw(2`BsF<H-W}dh8(p3
z&c-@O$CiJo*TSzGU14pLEiTJT>uz;jOmxZh>cvM-?E-!>ZKmF|#*lt2$FhUEj;aYT
z?ffqUv))X*F|9q;MO)G<*p0&D#1>DZyRd<i`NdEAqpP~Sb_bmfKxG=NjkMdo!z|ys
zX}yet>78*P<egY;OFjwhftpcCl}uTZj$6}F1Q#I`zD<ilODFK2+^UamNVuZ8_CUe)
zcJzQdMMI~!IK?_3Iq<K>^O?zgm_W&g3D2zvutJ`nWT%dS&EW|uRHZBab8-LVk4w*W
z*bLxT@Xhy9=Xv2ZpZ(xLoqG4$4nIwP%tj^OMxn#!QGsU8h4ioK&m4cVICD^L-$s#t
zk9p^(0Qt|J@5xh~pOdPl6J3jqUO0l}k9-;bwA<!7Q;lx68yio))(sELU00ag4%pWE
zjIfZRK+jaYDzK0dbSmF|)J*5m%5U!X6j#7B>JQ{|OTlVh`<;hg$5@2jNTQ`q<}L!J
z#vTeYbI4KZ@ApVrR{raA%%h0d-VgvwOaNW)-cHyG<mcYqFOxjPCI#z#6kI5@<I!d3
z<2Z)-1iuRtpm<f{D05qMH>F-TCU(6+^Mx6g)v;?iHA#+Vy^00|7AkuvZbvz0tGNg5
zKDQU7JP{l9%4VR|NK>|Bh~nSU3oRC06@RYb;!gVRgV(%+{}IjPsE!inF+4+w4Jy44
z$RVd|QdB7g(fjXHC#bxg<vpk{G#4MT?Nj7w(go5t`dj*v{W2NN@PxINLJiG@8&**i
z%lg}Y83F7<{CDqqWwP<!o=KMxZByIX4xFL3yAqrkQ4#1thTNs>l|J3cG2ZH)EbD&%
zZyU1)E=UQ9xxU(15)H=v&(Vh0DZ9Sw-xF>%&Y;p@o97+8>ui;yJWaRmC-WOTh(u~=
z2Hk=L0S4Jg!zA;RkbWXkrq$#jDdt?InJ*m9$P@|=Kr^b*^d0Wh5N(^)YeWqmPR!c#
zy(&=<IpbB4*sxW`j?Q+>=6DX=4ZlG|8x}oJYF(ryJWoqGbXrL*0oII*`EjcR;rwb0
ztSk_H0a1B@h1@afn*Kv&NG%}7dfBbb$4Pnty6IT|w@Zfd*P6+Fw^=mrm-htnCB}TM
z$md9b{nw`8@VK}@^A{7qpVfi6gwycj#V<Rfm|*`>F)5+~tIa1rE2@b$(kbG(??>yu
z5a8Su77<1UY8T5(>%<S?Jp7`*7>+rR8Uo-!C8Mk%o(jK72MED|_>bF}bh=pMZGRW!
zK#Nog{Gx|bmbnjtT3(WPKb0Kf7vXNmy!;Kdn~PfH-&!Jgn4he%mX2NkEL=Q(JFS85
zDwre|U9y;FCn-L%AdOj0P2;Zn<O=2r(UhMgTt91GzVdB0`BhrFnRhD&|AG<HyZ(00
zn#Rn69eek7^!2e|#yvO-*x@MNe0X`8ap8!QV^!;&jh$|uLuFsQ*rL>VIZw^z`$IFu
zv(Zz^&oBjFXGX5vgSWfqbR`el7_-FPj)pxg<)P9HQ4zhuo49J7P&dt|c1?54e3vAp
z_y>i0RkUN1+77nuG`k3<C$+-ceXa@uxAXa`+Z3e60=`gY)XGRki&QG#NJtE--39K8
z>0>umr32mC!?|$Y-7P**Rt-+#IqN{a?p~%8P4#HGN&5;H{sR<6IP1X@M*7MxH1J;H
zww$d1N83{rA;73(rD#|`w%^OC?3&Fuz_dZ|0v&qB^nOkDFmanj<PA}@7cZfimv)&0
zaXdC-w30al7R0&?n2^DBwK(7dnbuq&6Gep3MCyRFB<ek^33(i3YQZ}226&p*djBov
z{8qk3b1n0U@~4bA3_wUZx%+T6w7-*adCxrPjy<?=ril$U2O)I^fzG#Coc8SY16THd
zr%QL!Y$+zT@(7%(A{!R_5)(?UA1Cjr*=(2s8jHX3>d=?|hYQKR+#nFEugj#;tG=@;
zE^y+Kwk_caqwi(xFX(uy2Oi`Ulm)H}W!Wb>>14AP)l(x~^g;5Fj~+<yI8b`Myy7{<
zo8Jqw)WKY@O+rp|Okv!DF1OY8__wp;bdsRE=aWZ?R8N12@@hWhgNfoE$bNzVa5zff
zwr@@0T4Gg@9;BsnyUHjrE6wl^fKJ)zU$3x@N1%Z9yMTt<%P&&;|Aso2(lIF9$OS@v
zj^+<Ym*Ex5<&wY1im62j7|q`BpJhRZ6o=QD=2N7LuK)M=@5O)ukj?mkXTbVRZy&|`
znoLF@=5yqqze9z33Rbo>KD0wJfB~2LDs3zDp4~qIP&-Mu?j=ncGw!D6+&A`=k(Q#j
zqy85fG0}&SL%jd0p{MMbSIvCp-B)WzX`+lT$SDVnUIwffn<i#FV4mt(ML!n?0lCEH
z2s6dqK%2tf)n!A<Hl*G%{9>m{D8Gs6B@HG}Y_VdFV#N)nqL#J3IZ;ljF?y=iqPhJR
z6W->4PO2PLQ(ShdO}oVIJw4a!R`qesTOTuAlq$Mlui4Fwot_r-PqQAIts)^E7iRt7
z7Q>?63U7&bRQbg^vH|HM%ddhbyY#bhpYxp5m_OvKlR{NiiA|z8c~W7Upog3mJ>L&L
z4}vgVhaFBe2HEtvjj9b%Ebs++8_j8NFtdTje?rTYo-hWKe~WHLeE#mCrFL-%$nEdN
z%fh6l%UJo}J?$|(DFRthK7*Cp*EN8txe$(ee6hOiWK`uQ?u>Mjl+?1Aj~zvyw`*Nr
zPTEH1^StlF9v<zy%B}1>+<W14bTHrQZjjq)pTdhySpOqA2KCt$xpxR0viHj_NSM{`
zp4$l34sbb6(Za{Acw5tmNeu1(zUc(lRDA4b{!G#=bSNYQN7usI@SF0N=G%N)QPHR}
zW=<9y>l5PJI>5~mJ*nU~k$?NXJSoSh2o!xf1WqFf8D^m6)@O)E8-)DF#gt0S8K!wu
zi3&INdq14o4r}Mp=e&B_$q0Jp1a_OexU)HmkvKDP{rNqidIPY|k*r_b>Elk|&c!Nx
zgS@+Y-XhS?CaM;~*6kpApjISC{PT7^iWr5B5_SJ=sOQp(6#~EZF5lB9>ja;t>+6Ki
z^AlLT&W1rIY>Xb5fvLF!rae0<)WU3ngbeR%`Szw+#I^f_DQM8OR2D}F2{M*mC3CYH
z&?Rl6op^-QY5M}n<sd&gshs?JbS{O{P@l7uEZVNUKj-;5HP_!*2plL(GU~17nePm1
zX9y%Yk0O(t%@fQl!A&$bg-`Y#{jyh7GW)5lMzIJ1&5Rp*@R!45Acw9cd9n80NY~&-
zfuul5;ON)(DX1GS$X2{>CCVoyRw{iiB;<y{^N&?ep0$VX+3ZVin#NWv5tJEp&Z{jc
za#<sUi}@!_c))-ddZ`?z^WxvpV|Q6SPE=1~PC~(=W2f|xfi$y#YG2Dhf%BYIZBr)w
zw_w1H)c=y!W{p3Y@%-2v@7FRj%%W}k-owZd9-iX~xhUzPl%(+78Xq*^nH8b7u=<#=
z<84^zrk0;6W75V&;Vkm<OBmgh&Vruz8HZSMkB*N*M83`%!%U!HV&x}JbprVp&fDSz
ztrrxzzbT@_>6nHnJBK{Jl6>?%JjTDC#JRuWjGc&t@iztIZX^ym{q$|H=7RKZdSg6z
zIXk^>gUQ8$FR2I_p50#^^GW0j13j?7gQv`9f@JsCBld)VEF=Y1BK~}5wO25-#Ql!y
zV#i0>e97YNM(R0_yM^BBn2;dl;|s9ZFox!>eIskxPiP<P936T7;5H?7Q5xcAbfkI=
ziyH=9Qg0x*uFU97FWW%}y<m-uaj^Ij!;`m{0vA}~KiarXoS>Y2T)!LcQC4lnEs$^T
zo_c^PfBHrvPz>hq<mr=N?%|y4q0^`q9rhRqhsbF~o$!@D@9y9hx)a<4V-geD6|}+S
zNj_*NcFIi+l2?<Sf)jrUI?DT5N&nJc|5DpWF_+k|5DFX5y`tP8CA6r)+Y|EYkNls;
zn_Qr`d2p2Dz%#r?ri4b+hn~wkR%*A~8DpO_W9+442E6rt3f--x4VD$q7j`pdCK|+d
zK5xmG0UGXOPe?(8c;7dZ!IC*UN1(Af+6Bf=4MENRI@TCacx^DR^^Zw0agZ`Y-{Fjl
zZ?p0U^J1SwFYG*8gy<SI(U{L@$9KRdLuzP&u<RGCWt%*<3jBHvYVq+i>3^2Tum^_-
zz~{R|!%H37F>ozn)@S4f@nFNYKICW!A;lW&eq)pgU%~16OyuXcFYmr-ef{aO;Bzjl
zZqPMh!wB_U+(C}s4d+?*?T<B0u=Z0h>7_nnj=AV3c^wag7b7UOF8yn)UIqOXH_2_2
z*El}`{K<W1h3@$NS62US4vzjcgjE8pB`)(1u95O1%?uYEl|6adGw1ktNAvaGKJ<tm
zu-}`Ica?Ic{pgj2=7{+xbIA*`X{n?I+cb7yCIGz5I~t^CUf&%No_1838?P`A9wwN^
z587+cJAAw6r(-I4q1K*#>Hz+lgwDI;2nq2-p10mV7ows?l#SVb+WWR>V}`;kfR>B7
z*XYC-i#F9NZrV0$s@?h*CnPFJBY1D0M)V=mW4IY6H8X1&=vVd5viKkbp_K)jb7-q`
z@pWeLhGzMw+^V)5et5=!<@p{YSKmoc)6Ofe$;L)WYHXU5Yeeza3C=0^7=;a%triaV
zxNjW!>-@Cd0s1aY6?HP5G!z6`iFE<`FGg0-Ul}g&eBZOD<u_s@;3(hSVACT+%2%1a
zs|Ms1lMHCq<!i-k;Ka*eqQ1m!m!NC5S)1(u`Oa+rD}y+*#-17-yn5y<p29|}=pkjI
z#!ToHbKd1#)F4YjD+kO%UYyjU9$42Ik<t0#H0|l{Xk+RUFi5@AU5rSo6T5@S5%THt
z50xj@4U@{#iFK4eJ#OBdwCSZ@Xk}(yo9(XVko^<iYYy3>hrM~Yv}&_WS+&|3bM7#t
zHJ@Vk9zg$qUqf^FJrybU!@>?R`^NiT)QYXcg{=3JX1l*JUdKm;F?BqR9F&L4q*g@F
zwF-fUGs)w<3jb=*O&Mgg^!M{|Y_>4yNr`DIaNAPeZi8AdgEjqaT_&EmR1}7ZO4B9q
z0X<Mk0rkBWW_4L0`x2OA_If7JyX<#r{RI_OVc2hFIn3qA$(DulhB&S^<^$c`s%9g+
znW-$<!Qszz*53HcOh;mP#)u!^r04pllOeWVpTW;}G6Ee^cKc>r7w>7tR2V?ZVxv#0
zGHdfLZ-`MnEfqS1`c56NVa;ze=)ibWQ&Sw#CkX%R-{nG1TSIMhZ~>vZy23u$tcR*3
z@jy_EcmaHEMQ!RW=WMVii~vlDNQr={iUTssl8O*F{cQd8ly3x{Io`KRW$8XOGYyyF
zac`dp>04yTROv(@Qb=!A-HJB?!q`nWLXb|q^<pacfk%`^J@%;>z_fVk6zMNwV#+-M
zV5=L}7!6^?etI2TZ8Pndz2|I3{@o6!wePdBAok-OI+s5w$<m5%R$xr6@*GtJaX#7@
z!{y!>kk0urO6l1IQ*c}QSPDtAT_hDb6e|rDrWWlT`-K!-*FEa~>D2*j_(w`7K+0m_
z^u^3z(9G$C1arAMjibPdbqx<%s07s$&usBjfObeNCcukrQ+x_)&EFsVzl)ILqf9P)
zp{__m;%Uy8$@hC>G4O#Zuu92fS{cr^u;nEIhl0}DuaSBxj(4=K3+|9MyrjUv7#mv;
zXTHs4Y{pB)=24XU1h-hR*Gl@7eK=HL@jg~~x#=<_BeJ9^pOg><GE2iZ3o`O<<R%4O
zAO)^>5!#SpoQ<SmdYNVZp6d^&;I8wTeZtP6Q{*C_8JW^^{{$D%({Fjtj(#GQwsCac
ztc9%pxP$<OG!Qp)7VT441pzo<|6QP4YNCp+v$xbAasW8&jV;tWuCuHw`s05hGYpv#
zIV&=f&((`pbe2rSi%7fTY|^mYW8+OWvDisR<<e>Kh?0D0^KnQ<ob1el!r%uG+s3N4
zvk=@>iBw}ndQenda%CFz1g&>l;zifSec{f!FA)SOwk4GA8A7fN9yaV}yOkPe&r*CH
z|H8u=c5{W=Rda)KFfS~*DTu+`bfxI+*m2zi=`x@k7i(`OWCtkO+rMHhy3FWeb7r5@
zOIE0jA)x@nh4xBAlxp`m>SNqzs&9vrVB9R^=>c9J+>&Uwv!zHwc&DGW!-b>YH>s2=
zi(<mNvo>KnpJf)*=|E;z=i1q6*1AL|;xd8!@Q~`<2ostf!wiNAX2{+HqclRclqLJr
zI^*Lnv1aK8Jllz_9sRQmM~9tSaFC4mBL_yaCQl;nuA1353S1<`xZaQpqsv|#R_BQ$
z>$XlvaGMyaLpy_$3l)h=4L*QdSgh`Ga=d@34yp^_VkY(5{GhnSn!8?NTXrLT7d7>|
zFW7XXK*u%yYFDkj+9f=bJ|5#p%7|S~wsEb>igP>NqL9FGCX)BxJuW}^x+o4a|Dw)m
zBe)wBKd$nv$)%)HW#Qs$__GZ%W0?isAM39o-wcWpyX+n?2UjCL*33f`L5tLMnZs&4
zxtn~cY2ORD`$9PsC#ZippIXnw8u@K|a9eHdmAvcQ-r{qybVI1h(wUTm_S6-%_)wiE
zCH>WbQm=m%7c?KnY)mKci~LaYT3$&arh<LSZ^j#cS~3JHOpO*ch2-a#?d!Cw3_Rsx
zCLgKHR5UZ3W$3s+X?ZY6an)29m}x?n6>^#asCl<BX>mgqor;g-yIx4+xukAw(6;WY
zP@V^iG(b*A+<s7`I#D+Gj1JdH9<%3pkJFa=`WSN8_VFDa4OMp^9d1Nl9RFTx7nla_
za2;jqLB>8Y#|`NS{{S+38RT=aj`AkIVg5jYUa-#{jy1$-*a0FM%$W~lv+3!P5~pvm
z@n-j3Be)wim2}zMGVBH*htWG0P~Q1dAm1d@RYORYPm(095~m<D=}8|8y#aBQIM$D=
z#MM+We41RiUoa4ur6%`sWW-wd4|!lC$H@@kE-xzb--XHr9O`#=3TS)M+N2R{zdNBj
z8K!e|IvsGXvPu|XpEC7M{(F4Fi`qX|i1?ukjTT^m=%mcXgQ{M&z0OQL)cSY?1(sn4
zyXKVlKCcNsh~T@mfFb{m?o^lb=xZCs{Cv^>eJ#f3<W-5}`dtGFCaLgis%-3&Evis2
zq+2F~qBIzb`<jxy?Qo5=rf7-vlRdv|geFk28yxo&c$KpU1N#8n1gzYXp4j4_nNm?!
z9>s%y<cAqLqj%74P6Xbj@YXh;@~~d_7iVhHIk<ls(Uv_rte2#V(*Fb;P;VUsVUas+
zIMZ{Bc!7kJb=%gbP{nR}NB!gFWFV#M@CS|Ml{`^_q&Pj2!hh^RRaa-RUxaP447UO9
z<B75B)P_eXEOSEhT5@7oD}NlB?e-~VO4DWo5nQk%T>ffv+xM%p@sb40=OsepN;qIQ
zJI?-rH=EMRUs)3mg#~+bV>%_fpj_{$lS>;9d$|1G^O{l&&d0aej!aEOpahI^EQ#SP
z1xjM+ie~mOtn*D<Q8lY|0kaPw8v&J95k3fhd~guMT!UpZYhr_-$VrdAu}nGj`0_ni
zeYIJ`@L|^9*j8i6PUtT6=YYtwI6*Vv!76MOiE<!*$0Q$m^?Pi?=~17pg4lb>qD3?{
zVM<Z*$iexB?k=5D?H_Ian8J-eCJ|9iM>*eKo}k!MsvnN;FhazR+9xO4i>sB+ZT8X*
zTJ6gCtt;{+?23T3!~Qu&NvHE`@vY@UGdXGuBhSmD9q9K3{h}|`xJiE<&ZjxhLy4i?
z*zjoJ4nx{(&=?$9U1>}6mJ>e(D(RX4iBc{l);o!}V3V8tC->Vu8z&9VB*P<m%%6lG
znuV8Cx=$XU7F3IdmWXQoIID=LS+xc9Pw39M-#K#S+T+)&38~bpB-6#%F%gQ<Z!(<*
za;={Fh~?6ik@#SATN;DYcv69_>#~7bKTC|!>;N@o#$)Y}Lu}At?_Bdu$Z{zBSGi+s
z7CAG?GE#PI<f-50R$}%&ehLk+vapd+iRT%f!l`qrA199)c|T#f$aBOGpc*82e0@?v
zzJXLy41K7k>9qq^g^g^zhp3Z+GyLC==*D|o-5qS#+a~iwrnzEB?N#yTDP7rfUedXg
zJ&ww8mtc9|%zYzv4}_vZ@+K>!%w9nI3jQqg+ygADbMz{L`}jpLm0ds9eagQp<?$Qj
z2^_=UHI;yYr17g!XvUmDq%xZ}Lr=7}@fR2F105O4E6fnB#&D9ELVc@I-~sE4XFDnJ
zNutP^9G=%H`898wV(TD!-7#94dHfdm3?I@n*zt0c>{TQAhE*qgpErJI{ZHQr61XOq
zwT$NWo8T{Q(9sa|``}ZO7{rzkOFM#FH0?M^+xcL>5u~XXwsoY%!_scrokku-;aN0g
zD9{(9Wa}}b55kMxto!a<a|DaXJRvm!zLODr-q0VJ%Q~q-v8|?UG2&5%EY>ZHqG}$0
z&vDam0z+1~%>qzTwfFAB&QWe<MS^?^rxe#XU;WtD5@K$7-G{OXkv>uDSzx{SE%r{y
z-rX(_Iath)t-t;CuQJh1a!{wW`WaI?Z`5F=QEiC6^xg1K!oMf|oGW*>Oyj!of2EK1
zM}=F;FYoiw;;9gvl@pmrL`1~WmR#o!?uJ8RfM}Mejp##*jfZAz-BkFpaI&ahXJmQY
z=*pI-|9Zm0fXa*=v>#4Mo1a6{HAwf6g{)hEr<wv~jPNhu8&g}M51d@0+<lsPnO=#*
zFk3HwyUVO(2lr~&Dv7<#Gna?eUF|NYZ3y(bvR~-`^MD_RDf>@o5zGt78$f0c8&Q{E
z)z698=@t@Q*m-;F>q>K=r`qIMNCDKkHM+vxD7;YTShy#4(Q!6R?d^o@pR9VrK()yd
zG)4cDxC94s|F<H^DiQh7-angH*@f-2cR69BkyIt|;XScU2fy$U{5A&vWwgKd=RQNa
z-b~GxYFU>eS0X7b>}1r$I*W1>rw4Uk#=jBM>>~J$x16tnPvf!M`ORr=kL-Qe7W5U+
zg@F>Dz2B07jHJ#Qx=hE?{iHh}zhV{(C}n}kQ;+IC>GJ}mJL7}QQU14evF<YVVoIG?
zYIpGwjN!vl>h2T%L925&P)<GWApRru@;ehRF_L}jM?&!VCqgF<ixMcC{fa`YWYE4e
zQfhN<1L{&zTA3MigFV*q1Cl!fo=$V!-44ypQLmG&Y=bK0|CL4+V{R1g(9jG6f1VFz
zZ-#PQ;UdL`y5*j!GAxSG>^6lG+@0=3tBxN0xv&{lqe2};H=Gwm%1Z{A|LL+Tv6qoe
zZ8}h^4ZxA%&{U3OLtKjHbqoVCL8%VI)c(KgG{wO#9Lr6B7f}gb=Fg5iNQ0mCjOV?9
z`V8tN)Asn@27b`UJ_Get0&}kg)R)J!*NdMrUiX;TyWPj*LK)-G9IJIDVU@32*zSNG
zldaz=STDL_i0Lw6a*uv?Y>;BKx%g<aArnK7#7KPY(KgG?BBcR~vg+kGAGiz}B?Sd{
z2<5+Xk=w-Beztopy^_O|l&j{#02R<KN;P=D+YsmOV(97AG5Eunn=)2>+EQeA@PlP9
zk}SWHv@r<#uPs_bfn=_@1=pAl6Jhlh)t&=yv5V4x0gq?-b^%Cz<}A|OWpT(1-+1Is
zEYpJU;&!SFX9zEtn$C}6zOIj^^5ePaR2m3vuJyTgkGj$@JyVN7@#!=wECMMuvt=H)
zs=bo_OhYqs%{3$XN4o{?Q;D6&ZeyR$IxQ;;L#cEXIyfVcWX4f&0VT5<>%}7X(JiIw
zK1gqcMq=*6-jueQU#1^W(F$FpMlf0aOhCYmbW!^(DJl&I0kMw)VkJ$`48f_*uOMnA
z<^^t*`34YM{(b45sIM+U=9yGI*M7F-6V97$uMVLq0dzL^b`eYM`H)ZQcJ;FJYVaWY
zfFDe0VFdQonRd%i`?RA!<eic7B&JfcF5ioaLv^>`%JWCH%Y$8C-$vPrV0QUltp}p>
zV<O1DskC?oBS?U;cs6Flz7}E6g2bxWeBQg4HZ>_B*hKhI&ajKaD|C^$npV}HCC<C%
z@ot2fQq1~4N)eG1pVyMzR(AU3Yc{HVl{)%gPmO!tv_ks$bvQnjK9Ii9giE~c56R0+
zyda4%7sw0wpOV{)+kFD@Z5$PwvfNMZ>3BEhUs7SlV@pVpq>}0QV5W%3^H3JMu!kPL
z$)s5e4-|r3bZ4v#(V2-Ql-JM{)iXmAXs5jB2c!6>MP4%56ir23iIuBc*$X!8*w3p5
zTRDFpB^Yl8EyafY;)8!EYHgZ?58H3V{|h7}%mmKUDkmH93-`)wyZg;NusB1;XMwt!
zu)_b;eAr(_tsDGzq|>M7k{giRjEFliamwey5nSO1&#O2ZIO4h-aHN8SaH)!dE6}d2
z$H`nb<in+W!{P<^?(=PSTjg;1L<);1!fMHPB;fNOatJ>1ICM*+xj=*1LxHxdh+K3j
zpV$X%^!4fpzQk{0Lvu1i$Cch-STp+$8Ft`o%lIfLJW@*&3V&0QSNqG9Z_e<evG`D)
zwpCB;nI%93uh-FM56Gogb`gXdQ*gKz@YEhh+Qff^GV?IfO+9s^!AN6~xv-l3mdf<H
z3W*`Fy*<@vTdl78SyE<N3*IH8F!Ae_^i;*>^fD*Ekiwq6XFnTP_~Ll};1aT1m5O{r
z-lrPAk<qHU3k<W`@m`g`UcyhRq+fp{@>$b8Djt{T7Jfb8%YTlQP<ivf;rOoMTsb#S
zk8B%t1b5tNl1wk_y3}WGp5{+Ot+$n~7^-uUcn!lnkYo^Pvc0#%tHQscg8FpBuP6_h
ze6wM6PkTuE94CW$tPBl>lHv5ul1CAsg$qz5X9o!V7kgAy;-5rf$5RNiEhR-)eLW-r
z0A2Rzl};Q@=D^7NeS93D6ZZKL;pN6wrxtPmJWZ@lQ7o<Y&V@kGiw=j6MzNR%Z0^yU
zNS#I>x!{0rz$_~x8H#E^LLp%t$!@@C2BPt}CCLw@T8Zy&JkpBBw#)4d?4G_-Uhm>Z
z6_bK#LsePU!JmfIgejfccdtf`Fc(Lq6&Y=C?A&HCdvXrcVTA}HRW+1#<Hl>n*h4RW
zHvl~{x_=qb6Y1L@jj&UGXO*uPZeJVmf0OO1uc2WJ5*(7YWv*6(o$q<!dnl*CxppNe
zd*Romc6qmZ(<X_Z>L{iN<o?Z>Qisx{($929k^Jg5x$W}X_sX56Z;R@5)E}ZxI0Ur&
zpTNUJ?WY*m2w?wS)(O>RWK5djmo~%S#Gt{gL~Bj*wSJ1`U7U4<?Z)>wN;gSV18hRz
z8|_FNw3*(7b+;W|7*tZ?L^DGdX1QF_2=MrErL2Y}yKb>P|I$=?b+_?iN#JeMMG_pP
z)tFaTR}Dm?zvc~?G-;nBtJx=Kei**3RU0twIiH32eT{pr9u5Ia?Wwiwrkow0M{MGH
zOn9MR|EG7K(-eyqf0Udc+2@=8=Q#P_9zEvrZ{Ef=@%-ZYUtYIg!`9zldHQcu^;2Et
z6rj-l*G#85Oxis6Ep{4Scl);v7k+I~u-KQxIGw|rEJmd6chV}ZTvZZXXPL;QNTzxn
z(h(Jd+pEUFLtD#8y%kibz2Alzz3Pf{ZeORR4{m;6oKH~Kj5UW|F?b)U$Qsyy@vmEc
zZ>Sbck~}t=?3=D&dg`A5m~-GAuq<;oS8~ax*M&g;7`Ie#b8XW_MAk<LE_tn@`VqV;
z;HPA(%Bh6*_?fU{P1$KyMKOVftaHdkKPI!;5*FeBF#eQJfkCASe2TDEvgM5=BlVi&
zBGL2zCdvVZhS-9{Lxm5sQ`>BlxYfFzNT1AzpFUhdl8bc{yplm|HL&NR!2!u1&kX|b
zj&O}z;a_9!phW0asP&HIT|rm%2*~W!P$*j&QecZpQ9rj~V&R?rX+e%B!XqV?@tyt)
zRk*RY?;%#dMZA0`cr78K#HVud0qU~L8fm~IHcuu?<Pd^NgiMA=PlEe1=Fa@vW9>Db
zPxlX8Y9Hy8eY@_nhv`D$2bz`9wo%MJM@-Q>FtEX%$+sAe8Z%u+&`;oggZArsC;W>A
zwI<D=ME6VS7jx6TZ>>mg7N=<sjCxgMOb7NtGY+QmZlk(TP2p5B`eGaGI957Xzb8Ju
z5f-^#!ClwC`JbKv_GUD5RNaJ4$*hI;dD5;vs2A(lK3r(vn8yuN%*8Ec68}E<W?nuq
z43&T`q8T0rd=2kEqEZWujQw)hhfDPd+0tS-K2gWsV)>nb;14e#g9)`hnR2B(c=xO$
z;yly7$XOn6S9S<4YX9+v@;I%4QKd3$gKl@%kOd87Eu5m{cyre0%Qbe7n%D$*sW%kd
zz?irFW_3u79;=7_7oW90mV&j1BjH{EJb}7~`9Y-fDsq7p)T6*5ZZ2&`ahxxgnXksM
zJFiQIY?Q!E&F>6F)-JCeXNBTbQy&XW%G2zRDp@UZWYSuuC!rlgMBc2ve40{~@ml5Q
zEgX)W3rD%SgZr&o;|Ax#H2z9EJM~%xXlP`NpLdjR8r_}q=~8T86yaQ2A6OZqT(vfm
zx!_;WS@MfUs;?6=M>vCJFD=T3tn<p-lcGz~*l}u(oSVU{H@(|5)6iS)k>?VyM-f55
z^+ghjNmP<YkR*7aNYGggvpmRy(*e3Asc+?ZG7Tmx?9=q%#u=F4*cmzSjTyX4^>V^i
zZKr#bW%5L)VNteq>t6o70}!Q()XAjUdFc25siRoftK}#iv!yD^@l_Xx0d}W+vk}II
zT}^@T>RV&)8p-#8<Op%@t&JEmzg%Gtt;OB+y1VC#XKv}q@||X`;%am%NcSEaMHLB^
zTpW(pT8ppJNHR?EI$;zn)?fO>4KDQ1jfOz-@WNL0{JR2f7|x!aOll!cJM8IE#J*Kb
z?vEbi0MoYStyPCLVRz-F)xF-5(ehEQQs|B)uX6iVU^y@$`Or|>BF=39vt?~<?SQ=|
z%^0|ro1TrO9onb|?ET>re_rt!@ftJ%`Nqydj`97A3C0gxNHrgsh_Eo#m7#wxvO!w6
zc$vPRSdQ43raKlq`A$Cc2>!&2EmldA2-b46110RDq5A@h=skwCIL~BjBeol<@BG?1
zLi4r6b)L2XQ}iT+74i@^FccAkK7HlfW+m5_ezV&7qX6^!&?K8@zAV?7#PtZvmNw?c
zj%$1T?f71gLg&cj)SgoQeVa*pz?<ui_b|8B8l{=P3KYap(xSH0d!ZX3mSp6}%NdGm
zJN>os`P&qUcmIAp)vc6O75Xkib4A)3QTF;#Ljg|dj(GACdVx?1^X&_7tKcAUm4i+v
z<D8KW!_l%&+LG7NL7!OPH*hf+1Ygl3`oo-%`x;$^pEW3{m3rG3Ki2L9A7cl6ts?&7
zW&=J4Xkd-J7p^(OOHz~g7}E!#el4E4IZ{6<Ua;SC7<eF!=yYni=6Cu`>Bpjp{}Edt
zZ#IbHsk+1eD=MzONYSC@dR$fImjq{p#dgj|2QMkRA5ovHewHEDO6@!v?HvE~Nsv5q
zB@;Hd@doV}VUdZg0K0=T&IzU8hlKWPxxcEQrMS5J0L4u)@7_>Sfyjy;<PBnTlG0fQ
zT<88NNU!_nNmbX5kJ58(&9s}|I6*J2`^7@SR;IuIGxvd8>_3ZpfL(e={eJKs-E)YY
z)o!3gU#$PD;#N(^S@r}Ym?nve#Gf0RwK|+|KaIFoT?WgYcR^e{njwF+mBU0bazxn*
z=mq;Z@4d_H*=C0?GU-}wYJ8bNukapY2_#s{5`=~PEPf*J?+|M^eg!u`V3K{Sc^5|f
z(J$?h61|_jRR=>`v0+fG@&3X_V!+poX2rCWl1b&NGjB1~{&4WgjghHS6AO~}<Kks{
zdoA1|@QH`1_ZJs-Zz&XClz4=zP!Gw*l~B9$fycA4Gw{@LuM8YkWAR5;T0t`yQw>2z
z+}Db^DH|<;&CsY~ohE!95^A(t%!EU*_D^Qe!qlgFu+O`kpft3OXIGfKR>R-M^6{Wj
z&LDCK%9QM9IsxD~Bt5X__YzE>NqMMJN^Su;O1ntY+ckwD1WG{B(v7J=K1qhW%{N#_
z7nridfU&l4?@6I3Im>~;658*BBWat3MLuMx2%xRyrZx7XI=e*8-|*jc=$&?YRdVlD
zeG1R_9c!rMB|Vcd;)yEnA#dm&bD=se!Wt13)?3x2-%TXDRbPVizpzZ|%st4O){ONj
z3drfo226dpXc~y529UpxV)gLe7F4T5B{kK%rRTylbL~QfVKyXmfz)IN(Ko^V>$K{1
zr|7A=N~?Wm%r$V70fa~-+0Tw7r~kKcA<&HfPvuyB?>BkeO5ESn!uM<8@xMvAiXn_i
zrJ<Qv@YLBfNn|l{W_)UWemlth@6q<xhb}cS27SWC#ukRU=bx`AJxj8y8z3DLy7>PM
z82tjoo`<6RcvA(l;!AT6kleliYKm|?Gn7;rvU8bo8QojeH&U^*SL!ASQ!Z<(94WON
zMN$7gL0lTx?Q&WePm#a^H9eD!WXq@>rV#75|HVK4?cbGY5*QN9XC6L=a9OQ<ZeI;!
z^@^wF>=Am<q|1GVCK^IyKLrZ}b!SC%_z5@7?QtpqOZeN0Co@kro^r8GiST1!+}*Nk
zw`Rk_+d3eq&QXoo`6Cy%n&LEl?XrZ>2g$e33e`c){cZO-zh9-c8)i&0=!r#7i;zm*
zUS74yTG5PSyuf<(CJZJeHT%(_8O{9H3)3|K10DY=?r<BB5Xwcq#SYgHuc<z9(zPB(
z+NE_)a+AopXQ$KRFX8(?kDwgA%e9YQMT}>5@{5%1giJZOP5*sndCc-uKIXR^374KU
zcSNcGV&G+L*G-!J&|G?T%#pbA9{d?M;li30)g5|v8FF?>iztX5wtG8=;%*X-t-<(o
zuY-F+Rs3R<*XMCS2WjJ%D9O)>Z}}w2alTb6^C0E)>P9pt7h}uPDF{1Y{kB6+LRLGb
znSkFfem6h4F=2z(WZxr}Mp%j6evBEvAQ_H|=UcD#;MZz@6+5RseM>s{lf(tqOLB^k
z0h$|8YJVJ0`k@}jubRypy!OZ2aGTs;RJ=oG?9(ZcuP8L!Y+8iIa-TDTU+~{4W!3;V
ziM#I50-FDY8WF>2^#v)$jf?i@A21sHr{gITiN9z_scG<$egXJ%?^ts5RW`@A{0HdM
zjB14ABi@Z7osJXeLrO)ZUIspE1F74OKNVP<IymJ$lIOy^VlyPX8-r52ZsF3PUmoCt
zv--SkZvHGeU#}+_H65$rSEjx&oOkV_iZN-yIls`;KOjA-*&S4Cud;#!es$jH;*X(w
zJIn-}d<v%z)mXnPMFqbF;Y4jJb7KLZ;5hT{Ui!GGf|x;PZ*-otLku26x^oSEC6y%)
z{Kg#1bVtcySQi70@t@>3F+;3!*^b&UuPCDqosegpvG7xyauf=I`9sb4l--o@kiVtR
z`4hJ4#KM$&0lgWbb&KnGs&*>-<4F;@BlUf|DxMnnC1fh0;twv{v1lWMd&>;-;Pp%z
zM^UodKbl2OQlxWLv2TD0DCIFt?;j%sd;ihF9C%j?WVi14it~JhvWrjI<hUZYa7itO
zM}HY7Z8IuXKFeUk(m?t_5&XLcd=WqvIbH4rBdm+kQD6RVSzKlL@@X^o*O^-)`;mYU
z>BWAoe;u#V_TWwiDJkujH2oK($e&}sO#lW!h#Dv<YK^i|Y9cOr61_?<g}XRAGBh)%
zUZB&$!O9n>2!{r(YrOpDi-+SlJgS>m3ylTVs<hIDg+{dcVwm?*=b4uIegdXwhcV0w
z)z49pyjHGXUq!zvvEGu82{MbB*nm%g&M`iCZ^+<nGGc$s1v4piP}X7mnY%aq&5Abr
zyJK<%&Rja|c21Y%Jm-W59NIx9<|uyl27(Bq5ji7MJj)+BQ0s~wWcR-gy<DLItzUgv
z`a<TS-ECI=Zi24SZzKAVS-`!00fz$TlE<A?Cuk?f*>#2f(6@f?$j!Z_|6Xy!$|=rB
zafJ#e9eETTZ9WkRsSDoyN1WpM7VnQlS7und%>LB~QR#zQE`O))CSRZ%6M#$vvQ9QS
z%`Z~j4GhLJ?Ouqy(J10M6Tq9W<%J?{a&>pe9a4BGE9nd40OD#xNBJ$L$?l?pbi2gT
zpzV;=&SrQZTdV12ohGU*fa?{wn<&|T8nn0rW27I&iS-cjx8f%-#YTfm(PI!cGv&o>
z+WVX;OOxE}-+cX=ht7qg%1i94XW>8Ma|@iIC<lW-hpf|^Z~l2jvclusSX+sXzVsxx
zQ$R**L3DN$$joM+cAS9w3|_b&kK4C@`(G1Mh(wG__rLm2s(pU%#OgA3;tgxx1jZ#y
z<OB9=EFY)$*B?)0t+Dp9?i_9Arat&~qYTOM*lzB;q6y!blvK^ySproGn!8+eKCEP!
zH37&7)QVWJDY*k$&47n-3B<5*dSFV9(o{>XN!|e&0528*$h0eb&b2&XIn~&2(3k8n
zF|m{uau!dYmeJFOl+V>+whE7wid33kbgeWpGPM{<@=96Po~3v0jfL~nF-UMmP(I0J
z_{23PXXoAKFttc4soY2}OT8FbSL$=l;9rgyX_x*WH&jbX9D&FrE}}N)+rL*iK7HW1
zl~Vb9`zGl^T&ghG_!jJ}7TWUhv8RNWcEHz}Gv}y);RRV)$#V-!qx|?F%Acu@lFL%f
ztnc6raz0Ae#C5HQO2NgIkz{ttzq-mwtcM;(UH)@h7u4adN)R5;3SnGMvZEtw&*jy8
z(C#qjGMpg05r)?gl5hlXt9ISPp3EYVD;8z&eoxVyO5S<sj$_orcbR4tH#;UOtlPw*
zsg5-r8s2FRxe<TR$@5Gp?~Fvtk5xIn+|zgTO1|LqYD2P!*K+o$g`*$B^g_su=RUhn
zg>t<qX;vm-#mb+i(lMWKk4x#IF`a2jnghOIjac_{aW0cS7+{;CsLoswxuIFy89hE=
zN%p-=)BxW2Upjzy@gC&+h2bv@jkiTdEj03hQQNB9s4I-rYFq8&z$4tL;}I-Ce)Dia
ztXvwXil;nNQ~GQ<qDl^$I;9MNI=+sNFs;5OD~G@L3Haf1Af3~mX*9deq7}GCdV@@y
zj&D12$B1e-9c}GS`(wsTxG*$)jMaX1W<h2&jdZze3hY;-B+EOIaP|K-RSi<I=$O>6
z6t3LY@b>gA$X*(_edpB}IuyE(i6l`!2%LO<e*#L#XR5zSoLC}kNt8-L+$IY9?Qr)<
z-uTbr7;<-J#I<;bsLuxpLDF^c(q3Oct}mFckD0^TQZ}D`ctRD4!=`Z)aO#<#w=b&4
z4=jB}x+b1>o|e2z7;^|GtR1D=6znDLwR92(#N@b2_o3UB#`(Jsc8^r<v@@bkEW|G(
z34%v*kD{I>jr)k_<V$_}J5%SSQs8rSyS=BZhKA;JVc4CD2Ter*g!0C5G#x@Lf?ox_
z{OAmLDG7HCCm(lhr0uNrcyJVd!Tm*RUa{)vG>V{Oa>|&IA(qA`PQN?fcIXOv-3MHX
zm~TJ8(o3#cB3N{t0b)w6v_TrmPDDEJ*0-A<?H06p?K?jLD9Jsio3e#tf3~hnnUD(j
zAKxzBHY3pk>zm9ZjDpPBNEGX~l941c^i4EHW5(mqu2fkaYb~e{4z04c(+(6g(bAcl
zS53_XyR(HRNv)(ixc4oXDuzYlaCEPba$ER{>55kp@P`_Xesww%fnq`B@W5;Ha1k74
z_F(B$XlJx<Df&;&ngLZ@I~mzE)>!X>rJf0^0XyL|3}1C>M*y<9%<qL=|LY$mt=93!
z{U$)c3~fbDqrA@{9Ei7tQqy#4(=}_eAC)8Wzt{=b%=pfDG|ooMyHGQoO;>vC!Dma#
zW16Aez#yScwA_GMF19=ddPagN*+gX@73`aBhiGRDc*{|W#qk5&XK4oRy@9kl;=jzp
z7>vFfQSmrdOqu#7`t_FV-?DHFcuG}7*+#>shjJ*-+$)D0{gkkIPMOP)BKzL|hKV9I
zxl#gVJ2(q>`|Yi3wwhC_M<H3K<mb|xPPWt;IyYP>$ieLyDZ6~kY2Ww4hZ3I2)K?0I
z-{#}F*#;-`U)zGTg!R80#(WNd*zCfKvN;MXT0Vef-P5Qv(A>)GB}N*WPpgcmC)#fa
zY62s^9lH>w&8c{be|z8ZmQJ6<&oWR!#`2($b7bB(!xJ~}azm=E*HO-%@VM9~i}!+U
zv`g0HUbL4R-ka0Q9N|c7=Dznc=2PP9eEP0v{_c3}zcEn~f*Jc4F0j$m%Hdjg<=PY9
z?&c{eiNU4qZ7vCzN=#%bCtcmyB<<s(5?oE=<1Wk7$g!+rr{ilOs!V3Gj&S5lrJpiy
z63pnAPw7n_6oITgUIwEus`2%EPIedCFyE@$EW#ptL)ySS$FZs#x3p~Mesou(TR#U<
zLQcZIl(HfkxAt1BL~v?d@UxVUQB0%2he>u=Rob0yGeUVVao-1uf9Ac9^K7`4w%FX9
zzMFJ}ao7t#|5Ux=M);vSSCPLm7?4^dxmT`vHgQAC8Mgveb61R&II=`=s@d!?l|qAB
ziP89l?xP)|lXv`!-?FOfUEb|%8n;M;53MM5IM<Oy)W}uY^+^m7sYN82Q_qyU1CTLz
z$aUN-t6}~g5@|^iMFK8jj#<B!?woya{I#Syqk6LO=jFc;Bzt+2|G4kh)~SFc2d`lA
zf;0+dzzCvxvTlcDQ2n3Q`aeWf8F8-+|Cm4;`n(!p$*r*6tjXFQjOs2p?IEHcKW3@;
z3J<E);+kCb?gMU|E>$nDWOnvhROGhYi+FZY{?=CDF`(4JS|qn?d9C?n@ZH|pJ#Sn1
ziCX%gZg1TPZRqZ4HMm91!<P`P2G+{>MGZ|-g)ADtMh}wo-eyfasvX9k#)jh$U|f7F
zJD;Dn9aj94OT?(Pk6#HcqS$8>8XTYkV{vB9%HsoiU?Hq<XZpc`osKqCq_akbMq+=^
z9h6=9<A2SV?HiJ54w!MA2M^0D{-O#7wP<5gZ<yDD&kb1EEOU4wQo~Ml`>DgX_kTlE
zcPEuUq{Ec0&~n~wOdfjP+%rXXMeVbMB?FsenZ_0Gqxen}wc^W3KTVM7+Kyn;8$wm8
zto@3KfV$86+R`m?$uG_guHsxcQ#E*Mp8e?(PTOK>_G;I&T~1fO91)u;|D?AH>%PDE
zUBcWE($jLMYy$ui7>0clai`@=nD(}WqwT#Zww%_m1Kj}&Zb=9ycD4n8+KNL|oxMZM
z`Io0L4ITlR8^cpYB**B}HRqcg5lV+P{0;&Ux#0!tX1NVU<i(g3OUm(@iJh>a|L>wD
zwhndO@|R;;x<|m`10&PMI0?z+E>?Py0D2qGStlwxhuu4NQ|WjA8TV7K58ch>V18uC
z7`%2{?8EIv{tc4k>l;|^E2uOJPVD?-_@SPqu<L!%`b|~DN=}s>%e&*(#-|SYXY3Y2
zhunaDl92S@Vl;)Lh}<=p`l#>&(6g<ZRt78~{{@z2w=YJF@BxE{b(vFxG-*L`RW=-~
zMNRFMo&^>ZjqhCV^w^hkuS&s;Gd>G4$}8J>CQjYve{i&dZ2x+rC-dIq<k32AvnUgz
z_W>Ag2#)gbhteoqVaU`PI^S?J##M4p(QBa3J>v@~B@)O8{LYz2eo%en>4}Q^u&x%u
zAsBz`9|^si{x~7iU!BTD)#9~OMfu{u#*Vbo!M8<*1!Ge^Va^8V@hOTAA^IhtEAjDp
zC>bc(dog16383BOC=+#DG|V^Pt|c&-ANj+)Zfl!2w)fP-`!sF`;jIvOX4Dhb#&oj5
zc?Na9S&48k__+5OTx9UvBkjK;eU*qR;d9sE0QYxAm4c<|U%u^SMOamz+mG*DJl$Tz
zf7DV6gRUMZ8!t+^#*nS)m!&y7^#5>FWbZ~K%HQXn>^>*|j_H)ZUH*xi6F(q#*x7DL
zuqxyEQYL9@v=#YZx1F!U&PU>1(zS#1A+-wa=<hoa|2hy!ITpW0<Va=y>yXyudM6f<
z)-wiZ`r^%CzN?}B#u(&AgG7!)Z@#SU;L8-x!E1iRi21{{NU|F)$EKfQdm9S>V}$%q
z5G9hNjJ|6m$r1yT6m9-x%UQs48-bcU!6<Ss|Hhn77@TYfFzaGqzcGeA#8&kB$`9Kx
zbD*}CK)_P)RHO?9{c9z^K<tzA08oRs3w9h8hJd=b9=tKnw|QE<a8*3L0TI~V^pbD2
z<=V!rpm)%<JMEayhmTWYc<LdZvp6+Qwribxi&Up;x<xNOZp2}SpO8<hMi35IxU#OC
zM!<Goka6|uR_g~7OE}3BIv<2)ebCmVU%J+x3)|x%d(W3b)U0u$<n(FlM{w7T`qFj4
z{7jLmpkDVxQqw7;i8FNJb#+8;2)mls+0`}B0wL`BU&~o)YlPoBrSh8$-oDSCk3>${
zVXxK$Ng<L+5jf#|`rJg|4qW%Ggpa+}M*-_jiJ)Aw&^na-XUOK|^9^)Id%x*KW@*Nc
zF%O4^37dsXax0YL={Yu(ZJ{aLX9wNUaud>Yl{X!c-B^DRN@2Fn+|^%ll`1?5-<Y2&
zOb6{lUu2Ob-4?A-wgUk@rEEH*4JX-(VgCmxLD#;BeGXyo>YioXbiGnAnAPpsdGVVd
z_w4$AHmha0Z;qZiOC(1NUG~xiX?EgS(!a_0BZSsn=r5c#;uI_dy=aePq4`@E$OoXX
z1o(+gM7Lcm^b2%{I#XQ_aaQMSp37zek>L7tr@{-X@$*!#OG*FE;w}ilhBOt}h3uD(
z9^?Cj!Tn-y7tSX$G#C<q#-`amd3r^EA@7{M!1Ox3i}*CVzw17|)E8%qb-Q-*1Bo4K
zF5q<CC@5;Ido!eq{W6oU8Og=6)MhCd%Sd|FJy8$qj3(G#1i?^GT1P3gT|m?QlBUZ`
zDI@L5xbTKo{_%a>ykl`;=M2wY;qxH7W-%DSjit$0*fE=9T);zO_0QEvsU9Ejc>K)3
zN*c+d&Nw#m0J={9@c{a<eTl3Uy4~@(T4E6D3>T3YNwfRAUd|WmVEc{Zb<NBC6O46-
zCQ=R0&+`Xh9RkK`9hJ3;?(ahSh}tC}SZ9ZLneC&(S$zD4C2_glM&vtoVGMI{RzJa#
zrpFtQs{k}dDq_ikc$O~T@Te6A_~^42@9cg(-9nX`!{NMocG0*TF$by8ON|OeJlNm*
zNA|M$qfna<yTugj^2icWZ5Ip9Q{7|GOLMCF)QrtI5qb2C&YWRc!zJ;I9<Zb=xmWW)
z#=_Irt*`i5ouvtSp62CxWsjenJb*rfmjg;!&Hb3Bj7D3-R~|qoi*wUufzO}DmqPr@
zzx>PZe)l^pmv>&#{`-Ib?|$VMn3Cn%A3)pVL(iA`=S5u|XFsG#!S5s^b{L2{c{X~p
z=5HNnrS?~fEP`1fyw>@u`tW$it<J}fAOHEE|C#15zx?t~|MX9P|NGxrWS<4_!a=;3
zy9lc-pM%aOv$ynM`zN6L>u&_?51^q3z-jaP_>A9AnmeUTtQda7dd=>MAMtX1eG7?!
zMPCm$S)8WSp?~`UH0!Jg)qi;aUA>o@)jX_6wdp4hpxwF2n!(&}9KSgSG?_N!#SZlE
z#INWnaLKyAT*|tLmMoY4G(+y^)1_F(1uMkAl<KeheGW_5GCjZ}X(|>Rcb`Aw?oNvI
z`@J53wu!A_CuiHMO-iiv7%b$$Uk`(u>thOHub(=>NUiiC&{b?;GtTOtEKShUZ6`zQ
zU4XOC0hTa(b*f!wJqh0HEaUFB*Xe@9r4-;H;3jA9i}&@H>_>7HvJWatSXkbV?4+Qg
z*I#O$4RI5KZ%&o%rHic_)#|q^ShMk;zv)s}zg#l;@8;F8&qN*1%|Uk(*3Xw6!?20(
z^l99@J^(S@e>0|Y^Zb2<etc3K;o9=DFg*2&LkwMh6#A)NYpQvfNgL>N#G8{z5qq({
ztms+N_e7h)fF-wwEd#yMC9lLodT-`}ezUsW<IgHcuk*jdS%owI**yDkn_N7<b?Z*Y
zefQ=+PgN+eNl+~LJyLsiqV|bu6}hl3_4@@ePK5D$o#=(kCow&eg5aqLc=`jNorHmP
z^58pV6+VcxsSxLrIuSiay1!}+;;}b2qJMI*3)j=IE|@<tTzZ7%r3rnWfXDddj}XSX
zZs`g=SgmzF@hH>`hj3g_Gq>u$q-ZnG(O0NH*B|#o#47p=e8(H#G2Ss^n&tv?n5r0Q
zTS|X$*~J;GgB6IhKH3A)CNXGiMjz3~tnd>IK8VDRwhL%_zVuQEnkHgx8jOec5v0(6
z_5d0!Hr<a@kjfp^EWYFUVtTixi<1Gjg<iu%O_=UsYGL?y{8QigyFY;Lf3>`m#KpR9
z8BPIC4}p!qy1hn*^eWU^>j#6OU-yiZ{B#<6ot>lpSVKJ>o$2agDQGiq2%!g`{eY(z
zNj$LMT{>{AtfW-WXli?IFcF~@_1Djr<0{aVNVVv>Ne($9Ve0CY-a>zKs-pjgr+Hpn
zJVoLc;#_)JJO%##K(n8B^NQKHSxwzNOr}48Ub?VJN!Rtbmv}#kX;^;%okUP~yVKX_
zX5`vDE?C`<&coBi`l;m3k~r0|0&p`xv3Fgq+d9;w?=Q}dsT!o89iPATD>%*`KwEI<
z`K7)?(BW#Wmh%^`w(Ddg-H#@+Eor`aeEV<z_HQ(Kf&SNj{nwv<`spu!`O7cA{Ni=e
z_>K>tLoIK;gc<lU9`n5%Nyy~^bPDFU-G}&1JdZCC8B?m6Oba(=estZ$_!}|j51@gp
zJ`nop`OAk7AO72a`)~fL(4YSFr@#L7umABs{zrqcZn%e876CuDKY;Ggjx!IS;pT=z
ze*oR5*JDQhbyLwl@eR?Awc|x_Pl*T7JwAYTR^9g3Uog1SHw4n`k*wy|c0KHP%+JO#
ztHIUjczI2^s$WO-Y@YnUX}@mFtvhyf_BDR!ukW3NK?a30z3&&t?R6Fms96kjre-{{
z+*f}SA}?#z=DBQd@487Jaj(;R)%*3zEcVMjRy>Kvqmy;JIds43DzqNArguhM#RNV5
zIEfQ_N-Vg&=?(kwCPt1K6gr{nPQTy2DWp&JCT9W5dcx9NM(pGE$lSLt@qK-kTyT~2
zy9fJx6xy6GOZ^0Y6C;=FSm@_tANQ<&&X*;CX5Y-P91n@v(-r%9BqWBry0)|{d~L$r
z<!5&M=T@ao7nL%Icm>yoEGtC3l6$kuEa@6<#yjrb_4@fGXS$Eeahopv|1Wuex+F<*
zWNU)y9(zP$M^$01s#|@BsEN9%iTeHDqx;9DZgeeJ5?Q%#5s|UXC-SKtV--=c@BmOl
zGc*TCjw39GSy)9y)zrkz%^4BTtMB``&T#)6^zCi?9q8|0u|D_by*&^5JxRz0>#WXj
z!jl2C$lg_*U}z3VwiO7!t}*|-{zZ+wUWxE{XRPwzAJW=<=W&4qLUKLc5m)Nj*o4zM
zS6I#G`{KPfphK$o3Tn2RBplRKL)wt&;}JtMP#+sIe`SXmcxtyfVBT;s+wi~<l00}S
zbOL$x3?TW&iZ}$TpjUA@MmPAXOj|eBRSNtxSw@2O-O`nxoC7j&y<tJ}pos;<V$}$n
z5wxTw#60mx;t9+H>I0S@L7f>Zuxo&U`GJ8*wkJ=X$YUiQm#CR@1Imcn1WH8H9Z{WX
z%mZvPF1+5>ZN7N%!X_L<&-->b{(2(tr->MX$5@s23dOfKZhXJ>JD^Evp8Ne*q`T*G
zuz>5rK*9RK;z1B)Ky!G2(*k<UV=OgzW`QzL$$lg5;eBoLFP1p$+c(WVf6@L3A>BRX
za-=g79_uKx-{07<x0TWf@HZ{g2zed^Bd!)r4FUB&qh?1tWzmO#miM3(hvTh+@al9)
zRM@-vf!69bSL%JE=I6||ijQX**ej_XG?EIV<OAv7UA}pQqi6o@#a3DPOh9!~bUf9b
zg09!Ew@;wklr-!c&?0^wrZ1W`F8cj1ur=PN*=C*d@r-s{qB_CWkT~~;`v#pN;-=Zf
zdV<4dpPyCfntb{=m@~}TDhB;5zH}YefBeIzcjK=c&|}w;*XaVMvQ@0exh7TZt>+7W
z?Ft;-u4-5Jx6>ql0badrACmP9rUpD4KTJu(YTVoh;K>7c9{A*wPk0sk>Z`A~W_djO
z)1Ur?^YlIdjvLU2H4LxY(48UK@;G!*13`NC6z|5CVgG@U%~%o+L%c7xRQu{kwh(Wp
z+;}-1a-7d!eEX|k{fY_Xf#C-~_yJDH&wu`No`2wK+PwGjcro?9tzSEDLvOvE%%6ak
zSFEP6D&<2gO~3DW_R|p_3wZe&!~l=4YY|Ht`cKB<A8aL}ey1~F-Xv94`JfjF46MrS
zl<nUE-McOmSC#dLMn0ZhK`Iol_6@Qml;m|keo>n>RlOb$n*J3W!=P6%%mYN8dPD?{
zoBSce^L$_+vcP5%hKRhekFqvJ4H;xWo;(A%rwt>D;dlXgfO*VWvC8lJDfQJlC^iHu
zlDv*m1t49HJM@CtBXYik&MPoalp#a@H0PXpR`t|*tFbHnYFzRdjtywm_p=pv)OeX=
zZR$r*ZIC=6tMeWKI88O6UcVsXc^wX@0}VLs8k|G37I_+8>vRLU%lu89y{mi<y8dR2
zSk1%r`N=#hi+D9ZsnesVHn>vN>9GsDR@JWFXI0eL6s8jk2d}<w%d(;U9vANRkx<Ml
zKN-DesHACkgezEe37z`2Is=;e?+)}s65)B7yQ*h3R@JP|`{|${_XjYKHAK-|)o@t<
zi?Qy4n*T0&R&{P{Le2laV^#cxU%@d$!Hm_39Q<UE=+AJmo)~4-uEvc&nI-w|<5<b+
zyQHI6OcK#MFBt^>d?kXAV|fr!jO7@^?VXY19pDX!K#}Q^Y@!`_h8t^$7Yra!*sK?T
zz=<{63h520H%btHHn2qeuD8HJ!H`GL>l>=Ay~FwwTQTGhoF76e@Gvg<1vxj?d5_zm
z7|R6KrX(-}Rss-6=ymep^!8J+Ef2*lSI^(&t*HRs^Id+67RUw79@<i+m*c8w!KU0_
z<Nb&YZo2Tl{(gJ_GK3^OdMifYC#0(`M5u=hdW*qIhNw+fz<KPd9<?1-3n7}!!*@W_
z_29v_eu#|)!#WHi8%WkqM%3=#NqtBT;eMiEKudSbEUNg(FPe&4L(TL0_4e10d-?|X
zP>lYN^oDSKB{mjh9)=8@KAWJ9r5+8=_-S%Kln)s4XO!rZMB=8N&@WskkmyBZk{)*m
z9P`^KO6`zbCt!6;Dv;gZKUoZqxRJgA8c#5IY+~zj$cE;C%Pn9>!fgV1tzTqAw(&cF
z%WY$XlzQ^L8+cAX0X>j32Uy`MsuBPnHlTyde+9|k_bW$&L9l8<atO}Pa73V1Q2k(N
z&M4D=C%iM^05=nd4d{z4e~?hD@>f|jkk3E=oO?A_H{{{NhuoIG{r1~$zWK%<>?H~%
z9NZj!!=v(sD;v;v#o`m<ZRovhlW(>hZU(Jlk*@be{;Xn6jwL^jE^r@^eD&mFeD>j!
z4?q0ytFONL`OkljfSLU5Z-4v67hm`TV?dy_5rV+`E&kZm=b#w?TfYPPE}wuN^2}*R
z&p!WSV9%)&o8ER&9bp$!5shTC<vv_VnxOLe6V1-vDF|eKC0lbRo+g`_|JJ=Px88Nh
zta8I0J^_6Z90|{7Hv4J6jJw*vt@rZ^V?pwZn|tFtOQIJ;RE1qWKg_9;rzRYdSC~gs
z+3L7_{tq(lN?+&gG{4UIc!&CZ{;Y>7<Z()ndHvcHHo0>SQNnuE)WGn8)Oo9VKZsC0
zVx<REBH(smhk7Ix>SH4qlsR82S4c1OgC)t3c{sn(*E%as--m)>{RA0NE&*~Z@Ja-D
zR?pQdIPNUI9_3itN@mpgsj^l6RnFD?<oWy*jMC7OZD7Uqo_*EjbI{XQ0HrBfnu4J@
zAQ^@vGgf(OVCBPl1NN@g;i`Z-?mLSVk=5jHc$x1j@Qpk8{X@_Q-n4E1R?={Qsk06W
zA7u8%Kldsa{6K$@rsEF1!8`NJ0#G%BAkD!))H9>zocU=Pr-;(PcaFP4y+7B{SCy!r
zdnq6_)Y|5HB0I%u-1q(?gjfYspcv59&ZsxaYV$yrw30e;6{{BjUtm^PjXPttAvJsw
zFrd!CY5h6gz*EJz2#Bh{v#JOG7GHqh2cR}t1$Z1cCq;rsD^`4lIZY1W9!1TW3<^{R
z!+8(M@y275*^mIjH+DR~2?1{K1qv!6wplfC3cEZV6>XS(CNr_X5YVGHc)an4sE?Hh
z1PrPZ*u)Qawk^qCKr;e+0dLx^EnR>p>ahS*$?0M~QJR)>ap`^AJ`6>RcR0Nlck`3K
zu|0zp7zprGJbu`IkON6qZDJi=(BwgcRDzODqYRP1?w=$@*p9Q6znvF90X=^O$E#O|
z>l%$D$2DMeKVj&^O0@aGRVu8_C`0D_RXM}cT9a$D{(J6AEQgQ9U*{R<pRv0C40<wb
ztdv^Eb^VJf1~z+{Cw1Bk`~<OFqOEn-sC(rPXlO&QC>19}e?^ow13m4MIKwb+CGD6e
zUtD0*wCMf3u;+KK3VkgJftt5vLye`su_NXUUu`Axglx+0juTXVhRgii<tsSe_Qp2W
z9Y&cyJuQaynecf|9DUF?xYb^MU@%lQm&ByiW2}NfT#^vffG4%lto79SdDHJ~Tccob
zl0kC1u?|j?fR#T92Uw@Q#>(~28_+8d>m3Oq;Na`8zlLL<J$r`icfb3cZ%wmdnsA$b
z;xc{-y*5R9D+Z?_v+~W!k8e(3Ahv!5LCrRlbaxCTWdj<d3qt<fI$9ZT-f&0aMeQGc
z@pu36AOG>|U;i5aH{X2ov!DHpE^f~BX8x08XlhSCznoq_p)9ANA6Sf-Geia|7qdqk
zqO{#}J==f?BspImcn;smk%REpW&SG?I6%4K*bww`U~KPv>vsQ+i$-kCJN!T;f+2$s
z0T2eQ<JKQMRK!!e;EB}(<e8q@1!&Hmjg?~FiTYd-)bL>xUzhvf4RY-D;i44qlh=!m
z*{}Z9;<<4(ZZ;ePmGwFj<`<QVxmP>qG5>JhLsoT~r;Z}(#&pfb{M4p^C%;WCSdBYF
z<>`6=HBaTNhhD-~14y$Xp5gos${xDGrv4cYgoTq+0$3;2DQM<z6xpmKsKaHQ+XV6&
zReSa8!KQ0o&!TE7>ipNS=JhOU{+cj+9%VZ4R>_;oS1BGgUh?S%^IS=L9o9J~2_K;T
zP)Xr6N`7UYH@3q(t8rKUdc9Z8u>N(@q#i;<dU<ibxpzN5174#Z^+tj|+U2<-I6ba3
z={@b5=dFgs21AncR{x*@HHm!Ih+(*(`d6_aU90t=Ul}&~)wmJd1&CL92Gns|5xogd
z)B6vw>o3O5<A=ZIACn534%QU=?wec^8CIfy#_&KO>@uXM+(>sfY`QWEH@?UMnyV98
z!$W${2E&sl6FPwF6PwuRg*^EI^+<rRLS>J>>}KLY7F*$szNfh)hxoz|%mCy%1I3`u
zPn@9ER$)#cHw2q`sE8htg90|OKv~G@xO@Ric&vGp1$wZcM_i^9*bBV30z7%)RG<ZU
z;T-%%VNIg7OGF<Gel3M1)hU#LR7;45V-sQ$1vc%)^YZ0OmagGRC8=UOIyqjHfL@*E
zxxH!cN!ny@?{F@|(ZC9M>n`C!{oB`<Ep>+$^kC6f3wR)FLC0_K04dw11lxWcyrEC&
zmZPCZ-1_|o-#!1n?+dq=SmuUaGHWHk^-wcwhxHJWW}qkQYJe~N@=7Q&o^8hVUXZaQ
zAlJLH*dZ3ZO&5b6;BXN1UD#rQ1Y7TW$Tl_&C*aXY(yVz@3IsGWI)DS_xn_vvwAXMk
zB&_7-?Ur9n&(IE8I|C(FF}7xtOGImy(PttyWw-bCUrDwJ4%@GLAiZv7)*32QR=u+F
zmEecX)>={>F@f?B)@|=;&}jy%iWA7~l~+so7f&Bo?rlU~KR>(gUo~vXLS{VJuJ>!G
z;qwm+PG_V2)BSY=QAA*K!1WFKGrnD?G`$<ztn0IGvY&4M1?H@_9$kgKGgf{|+Sn0X
z*Irx%8VmROZQc9l<-sb0;CP7wB=Oj7a{s64*Fb;$_19m1`Q@``&vZHvO2-AQjA;Yf
z-qhCJ4V8=PNltKxsu$QAgcvoiA5n8w)Nw1S{=hlIdvhRIvH`AT_~XZqpFVy1>h;T?
z|NQ6ApFhX*lb`&A3H<*1?|BjFlYO~K_B4lyjXnJY^rhL~oo@ObEhl+vbksHM5H;Ht
zJ9%bQKc#Q%h&t|_(0|}W=D_B%&axin-WjVONNm}T*Ab|5Ra4r#kvH3GB6f8<RA6SU
z<aYnyOZ+Z_)x71tghtr(IVVjZ_j+uk42`Y%Ym@>#SfSr8QTcTkE-D|8QEY<BTM?xs
zN$<HpPo57!)i7^!%?MWWDM^T3AkR_o_|u$029qR}@cs!r-C*nJh<J#aF$jh{Ku@(H
z#EN)yR^mFLH?V1MtOR5}f#Mkv19;E6)q}O^{B+5dN1Jt<UH~^1TVYq1jD%iiUalWx
z{n(`iSDv3GaSjA4<axgUbc)J_nR%(TIly`{dWaaBpkD7Q%r(pvRx7rl-VR@Ju%D*m
zZ-hjX40FO$9FvdD8LNcM!#iWEzpnpERv7Lx;fa!@iJ)cd%_?RcGIXGy^!Fb;I{dtI
zM;)|w>aLlM9Wp4e7(Jl!)pcFRtx%KRWG=^YK+QAPP<!Roa~IS+)y`vyRsO00?_0)z
z)#x+oKvl_ofF?i?O%;Hld5W69V%vZYPIYwv7fO}c>y1o*wZYI_ZQSTb?3FfLZ@}SF
z(kf3DG~vP~eqsZi>77Yk(9wfBZp*%-zK~Qn9N8p5KOqAV^+9Kb;%ZZ8GE1~khNS-J
zMSjIhaggJJ#{$PCNrfJ44{eZRug}lcC{<;>2|1QJ4G~RRs_NQp@c=!_qSvlofb0C5
zL1bNl>Ni{U$optpc{6wRPzpHp;C%Gx5eLXQV!H4=eE2ZeMPLT}Po6wM?45!pv4p@~
zY)%54E}Hcd&G<bXa9-e1a&Z1gndq)s&QIo{*RrAc`=@w>1qAAWO37-Tg&wSc`w3_Y
zZ2uKG=}Gnd%XU!TJ@+klTWrh|y@m&d1Uj84=Xrp|dlVkH9yo-kctWrtv7nc9f!QF=
z6}*LY$nmRGCd`AKVIWW@;N;mF9cJDdXJ9g05&h_#8JpIF0FDhe8%;g2E0Xn$6(&6U
z28#>SXvIzW#A5BWeh5QQKd4bNQoqfBBgg8mHp#JK_xCNfK2&-yWG^AbKn7X0qVhN8
zf&1d!p|Xx{{y;y#51Q_XR49fJ_z-p5zaw6Ou?p(<ZqyCd`4iCE74F}(6*22sKM=W2
zz*%-()e+TDRa5k$^hn$=iU-J>wgVz;4xfMq5|#SJrr(#R(rD<C0H#Dg)(xrjwy0y;
z0jGZ$u#bDWE>01>q}EfRUrh~p^XhP)Ojpelr{G13tI~7i<@v=IUp#&K;YS~R^z`Xd
zF2LXa{`Zd`KYsc0WiH+`9PU~SQAdFrh~3aT2Mv}Un*-`6UTc*46TA4tI^c-V&>Mjv
z!78xIwgbp;dl%$Y|H^FU>g%t+hW}6h)Bp7Cx8FW_@`&l><&P<4s+n^};YHt1*wsoz
z-O#W0xG}m73hIt&-E8&#De9+sYwQYDQ}a})KpF8)wii&Kr%M`%vo`Dfb4J9mtOvO;
z31GrESD977oYbikWZ+y3nR`zoh5K)F`Z#B^e(F4*fVMX_HB>*~o;Z5C();9$ybhu_
z1nxBp5jgD?Ev%z*Wuo$Wzl|TVswX)mbqG-NBpaBk%DNiz)ca)3puc*=ygt>$Uqj$k
zU#sH6lteFKTnIoc(o`l%Gv{lt5!ehF)?q@1`3Xr=BpZ6T&?AOCLpGp3R=-Exx_8uO
zts#D#@k562z;#uXl@MiMNJTsl&X*xB3=dO&irQ5(n<Qlbdoyo<-e8!SaJnP|YMzQA
ziP+jlBy$z?TDHT7<nW`(^{XrxngM=e2W#dU#c16&Pamvqp}blBK+gG3c{3T%vu&t+
zg{rAJhx53x-9ML6*U5~zs^q_NMAfr87W~KngmXvQuH^BSSDpr%I03Id6bacP8|sLM
z^Y~7f%4~i7?G8}G^@!>h_Eya)lGY6G)Ps4f>Zy5Vf9(}|j`McGs-Bv;qU!H*EZ5i7
zb<9UGBWKVixPH7V+&q2!+l_W4<LZFJRi^2ChEpg&FKn{JB?A<27zD=R$qfa-B`siq
z`aqK!fa4llZGHs?%z9BrtjD{#I`UvKz@JQ3ak8b1fM$Kbt>D;A(nsDvvmRGP7KAcw
zkl{i&F03<OLsCz5V%^X*9LOUGNi(QoPz7;<VLl`4A8|dvD9(FE3`sAx0?!Ke#!BR7
z4sc?fw=|n{_hSK5nj1Z!R}SHvx}*)k&(XPnIjs;D4{ytRT+{b*wtAQ!#bh85a7H*;
zHW82kv1zfX6F`t*>GC_E5#F@*1-4~VH>|6*Jb8)%ufK2Wgj5w4pdhGG75dQ|g0*t_
zlP6C*$FyI67IeLO)i&#2ziK<$uU@ym4am{=p*KObAm;_>5j1OImDe)l^fCk<NYJ(0
z#DXDz=52uIWkwQa=rrx>V{QaX{$WIbXU?xa^S}{#P*?>)A7ML#E+>f1@KycFDiN*<
zh!!YlUru%gmUNU50l&RDeBxVzb)JVJvEC;u^yhqmL#bswgaGp#lpSqV(z`#RC4@^D
z@vyxMYKF?|Sm4qu8@pA}lJA;qXf|Gss{;RAJh-v}4Vgo3`X>YxoNhqlE+sEFptS?g
z-anqN6i}nK5j)`6j0oRY$LR)i)zq$GEKxV0E6`LK*sHoEp?lB>s@0D@{z`sB3oOM9
z@JQ7FcxIz@OgOzS!B_ghe~IcF-*Z$1Lznjlu3|16p0%DldGhI}pLWgd*I$3l?fR>)
zzWU;eFX$x$n6Fdee5%nSJT4OIkDz&aAvQzi%Ef8}S{Qq<=V=a_)mUQI=n<Tmoor4C
zcj>23pMLk<cT6U)(ZBi4Z~QjxM~@yb)!c2I5O3*i5_(k4Eb8Q>7xLF^KqE=WFm&}x
zK+QkD`Un+665#xhtquhAqzN|J`Lf!^RTe$qAtFt!X)EHP7M{m4L+XX=d5EPMO($Ey
z@oaqm)H(3hroY<xx|ZaR5NcDv>iVkBbw<^i!$X+2Dwr|$_TO-tk@`=8U?A2x*E8ga
z{&fC9U2hSCC~@l7)(m>Y@LZR!T2GB#9k1_qP)004pPY4EdTSHdtof?|ZZl-SFm7bA
z67nmE9?&(ctMt-Um4Vr+Or(BzEU3?Qm8|A7^+YLh-iNBHta9?$RBt$Z2oHw)N%u8k
zoi(!=YVwM@u4?Z)pSMBPXOt=cHivO><^bc-;=$U4E1>z#`^f+UXPo)B;iUbade3>Y
z`c@)v349k;%B&LwvGeh+jwm=Cg8T`DyfX=?dBSr&1~yaw0M1MFXd1S+{2W<(c%ZlW
z$p5zS<MnkJC|{YFY=9`5^YP-;FW_6p5p-?rn6@ICK@flPuQG_$Sm9T~Yb+R=;QG*a
z2YF0>m#PHkZew@DkZ?Yh>qz)&+*QFhj~@Jrf9CO4H}qG1BeJGTEY4G?5%Sm-i1Hc;
zJg}Z)+x-D}RyX1bm4f<BxV873{Yzsn%8-m}b0)%s*i}7s#5Vk{&#?e_n$|PJ-mP&g
zLq1sRakzodD>7~bSdp{PgHH0SzB}6+bYww&fY3^YI)l|Z9KJIv);!5PV;Eu{Q7|Er
zp;V8n=9gyz2b&FC26C*7*k^q^-8vyUc>{^XgP#@4Bs_Zb$S%d67X-fl#7|QJu}pF@
zpak$f&S4;Xv90$_8->>X4re?3H?Oubv=Tsm38^GPe;?`sJO;|IAo<0tfByV=*YpGF
zYZE8-VgK%FKLP#b?QK8&7JhI4EAtg-%#01}T0K~>uGH8J_kJkHCXdh=(5&mHT2Dlf
zKq3$fz(3b17MIK6x&sWy5Fq#Sc!V-YLV!(s^@rP($AbBKl;;6R8w`IGE{LqA!pR#p
zY=wTu6@(;8!HhbebqKDL(~#kO1-wnfCgegcDGxQQ#;uyl-(KjrSsdIe`c<7ZXNAAP
zAXlR$Pc5$^vO_&LmwC$us|ar)g-Zt9Uw;KhLM*H&WA$t|E)W4oZE@CKF?dd!*wcB)
zJP(4J#Lep=Eg-TwPv?J)?fxv_LwPy_>x^a?YexJRW&gL1qQ>KYJ^2OKJ4@Y{A#To;
z@!4meJ$?H0KmYSnOZxcZkI^IJ%H^iCy1$vz(ciwkyty?AE5CPPn&5T2T&$}>=M|v7
z`v$bA*CUt(6(pRy^whBq`Husni#hz}n{RmO=K<`Ozx*ZB#RUG#zx>OWUw+Q4`bYqr
z##j4Sng~1$C(zJj5dGR<{w#CdfKC)JkEom1q9)febnDoWJjoxAa2jd`0bixkPg88p
z{VO8|L?DUvs33X**PBRJFLL`O29d7JPpaL^+nyUc4$A{BZa%m?0}P*l4p~hC9sYaq
zOyU73Q>{^077|wAA%p0ui%b&F0Q8<mpdhlkek$rbSIqYZi>V)2NqH56)90cYt<>W|
zX;-NAL|H>Ju4L8>`H>|AR9-PW*8#cp%*m5S4^|TYFzDb<({XK@p^{(-p9R@)$F@>B
z;Pd$vNjSi$yTf&rsE~|1cez9@Abd4$>Qpeu>QUIWTF-URyCBz54T0NaEQiyAS6Bat
z<=_O-i{u#)&79#B$>S@IKUNpX&`R%jOWHU)XuYl*(6}UYNCvF#GgY4?klcS1M7GKU
zYPe)T9cwsWry<ojlu=X7AaE_X_|X6==`TgR4{YxQIdFekYwzvN<^2?iw|`sjxZYZh
z0-N;^<UQ-Ati2$9FmwfKuBQ!FNkA1>8U8tWC18ksuW|2!D`Rc!=&yKR|NCM%v^32>
zkFuJIn<tNcBO79d3q!zHFAVjCFsUR&4M^9F?JAg%8-d|ku-X8v8xSD+HvG<0Eg(<)
zAUqpw0~ExDaD#5$6CA4&QE&9sK7alkJEI<#N)c}UjKX<I+K}GUP@R&@KQ>81A`7v8
z#ep7Wv68xe)QI{ZSpCjt8>~Z)%|<77MwB7leW^1%>uNwWv7*jrELg1*>Q53Oj|J2K
zNQEUo{+iqjoOf)_4qee03%8f1QEAc(x0xTb0AmfzS8%xD<6$9azk^ze(N-eT>jv=v
zHGn~5_1E7#01-=C@D7`<A7A#~mN&rP_fKBGdEE~7rtLp-I@()q{|I5iC7`auI3cdL
zAo-m=i1P`-_8HsOkG-+O{Rd=}Q`Ge@O!eTw_(^|J>r^Q?V>@Y(V5zfK2=t5a5RMlP
z(2F#&2q4(X?~b0SK^_bI1pN$7Xe*)|g0`pGVh5xvN+zK#^)uu=4meMJ939B9Za|Cb
zpEp1O+<8tjmi&WKQa^Qg*znzfvK~nSB{k;^dWW3RXZ;L_V2E9P0vZ@n?I{uDJk@93
zu+G(neNz%D5yK~!hhA{%(OK7z*Qx$$MdcNn^0*N%@OZxLs*_yBbKs7)p6#s}X8m0}
zGg426@GRHs$S#kfZa{+!;ibo2@w@N7`@s)>@bSkVJDFd7^$jmcUw--J7hik<@wC=S
zxQgl8*#b$hWq7@38kDC)@Pfi&<-igG)F<i^-d}JAzqWPsF2V8Atn()5!qR0E=n*XK
zjUB=3=7%4C_{}%p{OCtNf_(n@=l}9A|MJNvpWM55^W@1B=Gg}cU*>qRn6F<)v>paI
z4!ZF-M?ZMGe;;w<rMJrJ4(xoqK@GX&IqqK9u{Khoz|aJGw3$_!+wqqBXGNW#nt`XN
z?mK`~5sNM4rhUQ3kmnRdQ}bWaI)qKXf<yl1?fL8e3MlR(3mn(8=8Vw<+wAR6K>_oI
zjdLagavn)&&T41O&qcGcj+OORW$@%tT<fd_#IDxukiXhsKK4N{V9?XlW0cJyLz;Dd
zs>TeUI_22vRJl5j=1)jS1R_o6XU=mP1@vnJWT*2yW92_Z71ugzRh7?GVReSD)`>UX
zxxAW0=*j%s1aoY~d|il~FPm4A*fr<}oceKkw*($Oo<W)BYJM0uni~6k{|(6bE7Y+2
zfR|T@?z?P2*F1D2u-etUq2JgskEovT8Uk#t@~oopS5LTP&QRyG_73x0yH0WM-gXAz
z*3f45&71yucYD*my6N`by~~Hm@-<K$HTmIiW)O=_JuOv7&)Q%UC;&J&cI2m;>V)gB
zQFq6xhGB?PQZ*IBd3i6?oT;Z4cI7Zv_1tl0R^fNYT?abdfR@)H!s}0%D;_?4m<*Dd
zq$U@21E?amHo(c-SoxI)6Q-V3o@`9lqX4-9;ji!o0FqwGtFuoC>ZhtMX-6mEtBuII
z5F-Z3KiKPe46in^6?jCH5<ngWDuLX2h(0#;S0_*plEEg3G6c)<Mj6l?&ZEwdY9+%9
ziOB(7b-3z}tz@;H>w3TncoK#Hczr>w@DtDo)Q8ly-E{jXX)+->7bK?%@hoJZ7ToXP
zDzi2a1BajsL5AybCxN{6CWO{4Fa9n6{`$>J&#tdzz$We+#A?Xtpx6j#HgzX@c(<%)
zz;Irsz;5>|vitiGZ`&L1o7?sYyW3kovwT>$0r?Ho3V6NlYFFk{XAa7=5Fy9TKNwT#
zgsZ7!C@*-me*#@)C8yR;1y+wFl?SU41qX=UKw(oq0zBC8dR$GnkCp4a0*~SHYFA%z
z;Dm!HCEf?%Nf<&&YQ)eyg@VW+*8`##&DH7|_r)6VpW+dIhp)~WH5{*adwcV?e4_KP
z;ag-VYE$T${lO;Ka}LT?pyyrG4c5BrJbVILY{Nz0AqN-#v7T7(w>E{%`Uz+dL9MM~
zaHi>!w&{w3gVj15Fgu&BoG+p5^n8I+=YX5Ofi)}R8A&OkM&+s*z_dva*E!5QfclC1
zH)Va+oJ^*-4siee{XhKS4?p_Rk3ReCGd+L)^Pjm<aPLLNo!OtZZjndCPn4vMx!1s}
z4K|0!YuBse{FJDMVHA#!`&<reu3`4ng!axAI#)EE1f7vd<~-uf;(myR8DpaU{_p?(
z+i$=9@sEGZlSbc<{(-$B9CCW>TETRsS^aez+703@cF#vM0#Nsm>pGcHqd;r!e}X?<
z8`=Lj?McWPsy_#gGc{j9jpYsbX-G6x48HHjJNM>3Ip`^^cn%}sw<{aay?uG^ZLN2K
zN0yCsBxDuahUj3@oHv{Hf^Z2|Wq=b~Ln@ri#KvZR2Kf38%pCHnzi-MYA+3U43Bp6_
zpcM)tyS{E`tP-w<n-RUJ9`Bq@R4N4UVcyc4=OUXSxfj_4jy12(fnbHaW)ON-d9-uX
z>bxgBFxJ<7Js|uqK3~H?L!Fh_RST|_3^=VPNoruNM2=N}&H5j(nz#A<isS@Ij;(%2
zuSC>r)Wgtv7)xaph<H}#r4CWUeSYxi(ML#oqiF^6D$&uNe%`!1{RDKz9l}Efv}`*D
zei|D-h==CJ-lqVG_H@LcdWQ8-hh6~5rZLZ(H?KI>m*2ngk?*$s{o3~RhHbw2?>#r5
zd*IlGlk<YLSJ>PX9kp54PxTYHv5p}_FvzZ>CRuS4#uM^h16{#zz0`r~5aG49zX^tf
ztK(Yv?-(B3JiPzQjqWhU1w9`gi*jQ}<P*f+o&?QoNC75yW9zbVA#Evo66_W>LGcVX
z{y^2hd1RO9aR`tTKj=4hMDhq_+SMnrt%rfINeg-O=n)oBK%F0;W<VXcBJ~fL>l9St
zC=QyTo&S0gf%+ad!cS^fjdoS1>xY4C26~b~z%5LHkees6z<H=j35ZgnUDY|9$0Qkk
zFffcRA_mlhMwtY_dtKW}2Zqq)3p|zsgwUn)@#Dvaw4^&|@*s}oD0*k>C4?dgF)c}e
zVvr4SGXq2X4rqk+D>&%A^?_hN%n<UEL@u$5dLW=@yR4!%_OW=e+Ngc<<Vo}r?Vi64
zcXO|<(*6mixA$AZoAwueZ*QA@@Swej_B30C+IFZVvxukVE70$J(v(LAkxPW@%4|Ub
zXCzg%z(4XPYL}U3yWc(=^a$Uuc}Dcu>wH46L7Gk1f!HSXOAHUUsYj>Qc?J<khS!lx
zNZ*j1;k+5ESR&GtfUH9}QIdFqp$YWF&wNQL=*{6A;a41QQv@#g&-EWXIQxnTl4ssP
zlC+&2M%Yu<4b96y`(~V|{tEo_WH#G#ZhY^`1Xc_hkPXUa%g0iDBO%Yc!NDnyZKNDy
zMO|0s>^W}km4GAxs~>DsP354aJNBlTqYzaFYz|J4`KiEDF4+x328Nphg&WWnRXOAV
zxBFKT<q$G^Hb<1|sDC(cahDBfu18K8H|HP!_{U#<`Q?ijFL?6#{PWLwJ^K3VuRr_j
zGj0f6<Ggb5L@~U`R@6Gp?~mN>Z};<lTi%EDO38j`t!K{DNaMGe&{<zSr#KbpBm=1T
zfBot0zJ{7)*nmzK^Twq8<3IkRH_~U%o_+f1r@#L7ubGYSzyF?5ywyVpfoM_6gPv?d
zZY;nqtrNI;_StN~hte9NmjqjEu{qvB=>~LFZe-tp9xx~a4j*UylGdJTo{=a|l_4#*
zL!SBvaO;;usg)$Egl}VY9C8w}z3TNj_f+QP!h}IxR|iaW8p!jT%^4}xB5CT;87tB?
z;M9*ZUxCt+cGz6iQ^%^jB1u5yD?OOI5-9QYWpD;G^@Qa0D48XZb>D?}z6LSyaz>^H
zJ7f^ii)bQCJs{3NPpm}L%<$xi*ygq}dov-B$|Yhr-k_#Ua=<*Sx@wZ})%vM{6~psq
zQ2jO5s}GWe!O&oJ-6d8sG*dR1Js`~?fAZAxdlwA(#aw@?C4a^eW?-Ics%S!nflkK-
zIln-noj0I`y=L?Ey?M$8^e|A(sTHg99z-me>#x~@IMokHK+O{lsoARLG;qKwHmHIL
zbRLH2&r!E+1G?|<`ypt$c&2We^#-(ghHTh)f;iQ*$Vmh26%oWKSzUKER+wS-i(0^`
zraIv^6IDr7ikf`DES|Bdt@0~Fycbqut@1}R2<GEbF#E;j6VQWVbwi(TOn}(<y;BRC
z-mnzJg4F^t95PsL90m@!`$80?N=_kPZPZdQwhOl%C}0<`28sUFhUTmCNoSxKoAAJ9
z9i?Ijk;Epgfcr_(S&6Mg(5&a33^`=ydDC^+%ncolMA%dr*adpZ3-H(*O-KZC2^fwm
zUC#fUCr}yvYMs}wsu21i88jBSPG-~z3>WkgE(m8PvD5?M=$u%V4M${?5HoBs`_P2=
z4bgTHQok^ooB)|4n$}cFLi6>jmkNgs=$Fsi2C+(EbG6O^*@OjPapng?fvKz~K)<n$
z3}+MU^U$`}U$@-bl-|GJzVrI_<{@+S=<&1edC1JXe!Z=e0SHV8dV+?nT}BLXT!@n?
z;I2bpZ%=cOC4(5|O>r=f%PEzBDke`K>M|(kJ#Dt-#d-O`$!R^vGLu4?Bq21>rwbci
zH4>3|82sK3<1`$*`p)0XKUV0cY;3~2ufgL*R-LsulT*|U=o*p&LOR+8G@Ulo8<X>X
z)Nj9RI5@%S`e{2mZ!TY>nT<A3Ys&(yu~)FwsjZvH3#1Dow|-;wTy~u~ma_4>Db-xH
zk{shOMfEbI3p8=rfQE0RR0W1S7uin0z(tzaRgyr@;Lov$Xf8+6Gvl$VV)lr60~%DZ
zJRUcoQ-8=RzZ=k0J{+>Bm75_O(1V`q7s1PyFS!uD{PIhhUw!ozHvwK3KKke*W81C!
z(If8+t9k~1o36eAy{(7xG>FnGrS6A@s2}|N_g8K}3uJBdb-1M3dR#Ry8_+{6Gx<;d
z^iOam?T0`7;n!b({mWne^4o8}Wmxaz9AIjI58>F5?!LfDtA4pV&-HJ_9=;B!9N_Do
zzPm5b6T3Rz;S<p5nyUgN@%|5nE)Q8a4;wDS9#HEKOq~!Dh+2OI(?c(0u;_;nn>@wX
z?6_zkc|~roDm&_ZwIcHXkX>x|ROlaysc1#?-Zowr>y%^d)ru}`kjIM3c|qOC5j9%{
z4{(w}aL8E@*&vwpbNv!6H>lpTLH~7fioEU*n2%SF*=AnPFG%>SezydO)oW9~%@FE|
zOd^uM76xbj^~8oG4_4qj%_FKZm~TyDI9`FEYAROq?0sI;*i|0==?%&8dR*aIp93<_
zK$0e?+=N)kfH-RiIGvvXHN<%sk^u9}qv#*>$ed^Wwct9>6{|Xj5i`*1{&`!uJImhi
z<~;2q1?`FIRs95XVE!ZzS=CvOMX?yhP1kUL2x=Z-$m}052x<*8(pzOi$TqGU$0t+N
zd$(C?Yq;~<SFe4~PB*W6?$`B?aP6<l9hXvDPamj`UXNufWA{J?&wOU*aG*1`Mh!!&
z0s66Eb>7v81cK@Z=^C!1kUs1sTntI>f>r(?qexcwpShUpSe3fUqyH~BzyaGIAq<AY
z6LlDQ^{8A~l!{p~azJynAXXQ4^oDDJqs*ueF2W{(X=0NtFXX^p;kePqRuCS{my>V<
z&e%=bF=R_~9z{5f5W|67J+=Z5^BGMDHuGaM@OZJwAUrQsTzQlst9j7hb2rGb)RXc8
znn0x`Y2%k{>W<a8!@5fB3e=+}Qvqn2e;aIv9tA2vIAn(FjVKc4Trd{R2M-?b_R<|R
zWWFc&`!O?1C@qXG-h$do7tS;lqrnLgsYjmEx^F-O>gE{RC<q?hYu~-ArXn??3G|4~
zwa-JnzJPwv$7{)L0{Ng1(3`cH@(E~yUVTs5w=ZA5dh+xchkx&0n?`RN=B#!LJFci8
zN)ZmRU;$5fPj<<JIR02bVG>b80tXVL*~#XVFh9f!YuIs#1vRQdCu(hw!*MwQon79N
zbX60;vEgW%`iKa6(18dwLjRjr=P#(K0n{Y=)2y%tx@!FrU`PTb3aVu~(z~)k&I<_#
zK^%6|9AzSv+;@ZTm<=+QD&F4Q+gHT6p$Sxav~urbn}44xkn0!NyV=DC^l39rt2K7(
zDjOyB8~rwA3BPXNzHZmc>}P#KKqktjU%>&<3H<DH^~`fyd*eX{m^6^)*4rP?TjpCv
zY#W`_iPhiE%kHme{vG7mQni{dU<hn_tH<Vm+mkJ(0}Q-`_af3<r48C)fj)?0t@kl1
zA2YnYb*Hk?GSAE*OOB_YPe1*Xmp1UxM;|?T^5olZzx|K@_>Z6d^rzgbU-cI|lrLVq
zSUm@N-XR(H@TDu|?y8{ukg~lAYkwM!CHZ#R|FX!f)b{-wm-lM5{?%E)KRW?VZ=nzY
z2lh&;MbJ7rA_Kz)bh>`@qaP7+|Necy!|KBiKV<fp)mN|DZz2Me7NFkeK%F!pXe7P=
z0vD|^q2~GqG-pj2HXG2|Q`D}5Y_S0iD6BTEKXndWGzCp+!*1<uI`4}92-U81ELTB0
zWG3}^y{EVN>F+~0ngnY}X~x#IQ||<HT{L|YK~Mb(jtY+vG|6ro7`Try6j1N~74-Iq
zZEl@jnx0>x@R&ha1Qq7NiprV5G^;=L-w`#oLVxX*XM=JOSih)I!*R*6YO1H&;52{L
z)Uhhh>ov|{suc_v<}Il_zljR*JVJ)d+JuK(0UBjhyjq9m2i1?w{G<#CUDYF+Zh;Im
zU>L6Z4v2HmWH^cQ253sam6B@L%!#!L;)$&1-ezXj%U9P+)z5Z@d5lT{K!1&`<yjk=
zICCC{f#M&);nGQt!IG2vXHDXl)cN{FHY{LV?zjDZN#OYq!>%h)*i}9C*k>Lq0X0vY
zz)?i?i}Z$|k<YdgAU9_+&jcKzd^MUjpqWcTjOu!tZKJt8FKr*}YBC;UZ*T9n#jx0b
z?$J$J2fc!<D@Sj^{j};A_&2uCvz}^+!iJ<tuL6)R5a$(Cjj`1uul3BN>dmmisy7)F
zL{{hLdS>y?`~%)Mzj><idepL>#}9ukQxRPVBMF<{2;`Nl9%#gtqQfQ!Z1`X!7)U;8
z2=s``D@c``A-!kIS)tS3LF|HSDLUj>>Nj>kU7*oRfSO8bZzbjl6a(I4NQNkEB|x5m
zfE>W<PclUffkdf&)i(sIM_cQxen6@LI<aV~7<=UnXAK;ZXakyceS&cEC;$>|6<4sH
zPxItKwvAWv05rlmfnZZVGB5HjY5N*I!QpAfW@0%OFB6IZygA3>;aqSz_|6k<Y?8~9
zM-QM9!uhWq!oCB=5Ol$@yh`0`U;NY#=gr$!+4@<*A%G-JuqirhW=?=}BD%Z@20O0@
z#g=W;H^BPu-L{SL`}ZGy_uY#pPoH(ai|TM40rjyJc$gdt5IIMHnz0CCB}Qon5)KBv
zsC>A-f_WYS!`m<&a--mtV4eT!sW#yfkmaO}Uwwrh=FK5od+O=(eCYvlZ0=*Vj7E+d
zps~yk)}}}{oOSUFo1jTM<d^s(GS9|p2h?mJN+Iu?tqM2sHtrtUq_?Hc^0Ha;x2`kz
z9UlNe{V<$*ZQB^#@wQVk_pUZeYPPDjQ7&tPD<2}?Jf$$ZfE>%k98YozPW}D<2erL+
zI7iJ>KH-jYV>_Qc_gl&Dz$%aPAg|YN&IRxuVwZ?4R>;jsQA}C2Jf!o2!97vlCb4r@
zrf`02&zZNX>PamimQ*S;&rWIYAJNC(Qe`YW5AHATCt@q6ln0WkmC@-S0MyT7yMO-y
zuT9K07Zl~?p5UJH4}bW>fBUz8^N$d=P3Q*?e)q5cs-PxhlsUiP<qB&()ox|CKjPjd
z*l`6_S(|o-82~YF`<vQ$fSIeOf|I_nqsCL?alPvIu6XFBsTeDI&|y~P_a5B;;)^es
zx9`6Dj^?vx&p!L?v%mYhzkB-hDO396AO9F9;rJN^;`;0<Pjbcy<gX5&z-@4fh@x67
za5D8!KY`g}ZU0oFt)uko9gofsvf0Fn&0oF~A9Q&eE;Z-}^5GkrO%j5ph4<%;ZN!6o
zlciS-oPoWTSC%uXZHu9QRY=k%iE9Ap0dOW0|JFW&PDzr8_GbV}@>sG(S&8c{9w4vx
z4Lw?F>b`9fQn2-V_EiErHP3*=26*ZZErKYM8OY;lqZW@L2@I(heuZ@+6LM@_SH0(u
z(6K}x|1i&8K2AFxY|_?x6b#{VfFI=j#emg3o2}-NW9_O~d9X&M8GGgV6QBufy57W4
zmCb4;#)2flMv&eawF`c@%#TS#ZBi$CfYW0nB$Hf~a+LB4JYK)@N`~4t)?u?+;FSgG
ziMKhiNO-!idgL>l|DK}>LMqHADnEsS$SSFP7{z8A`>=6&0TCQZziV<h8-IJl>9|}k
zGxkwh;!aw$yq(LpzGvT_^e&|5wA#8p!6nb#P!Cx$z;z-{HI5jozLp_>XC6@f!*K;Q
z^Hq=vWt&W{0$^^M?RPFeczf^uL-@@H+mEq(NOzR`d96ouK|`XlKD+zk7w~k2fXHf~
z<P<elzS6J!HA6+cA6~CPyl?(`-m3=xd{Dsrr(IW2tCDkGYO3(6tXTQ)GJ3^j0~*w%
zj$J)zItDhRbuX~GFa{(^UIPaB!fXwk3<<DzMqbE=BAsY6V3P{LDOUBb9vlUMS~BZl
zAPI;Q!h5hZh0QE<ntHTu#P`w~<k&fn$if<M>b!!yNDB`KQf+NgkA;C+XVp||LNpb6
zu$73@`2_R%GSKst5feh4k^!urDi$<dFkNy1p3^)GeR_UL!aC0pMS#cSaukjQ4@B|9
zhwVEhaMJ6?oTD_>%;6A02&d0H_c})b#{+jz^}M_39$GvUv|FD33Y@X_Hg!k!U@LJT
zhzBKTu70pYc^f;97~9Z40lhUpxYsAA{UN4@kNg05o4_}3E}s-mIB1iQJRLUYqtGhI
z;Q%>9*i;ab`$Iw`^|}C+BdCZ|qB7R{2h?nV8B%8wis60|Fo9S#6*YWFMbp@=-P7he
zS|NIgKlW&3kCN21Vi*XE62Jk+Yapn{ZcMri1P01OKw@W9S>Sg%?_HP5^U3ZubbHQj
zPV8-YK(7f`<7NXIgtk2O7`xwN%y({fH0~(%c&RSjSer#~sK?CO`}=iWfd_rN+w@=J
zV=ZBEwkves93O_5iMYN2UBxr6W4WI7dyE_QkHp#~Rvg^la|T<^a;t>v1kAD|K!?rs
z8>LmfnLgpD!1Hwxcar7`mJ}IHZkh66NR^{lfmL@p?zZYmp2(PdUadI$|M{Q)`RrNy
z>ENIL{AWC$e){RR``?fd?;d^o_fn_CSZZ*gGNR6=IAXg6lnjDqzxA~5Sg&2DNrLTe
z)iFe6$#LM4T9sm~M5mrgD8?>sq};2YKY#x8>C?aayT60{^rt`l?z``JLHY2*4`22_
z!P1m{19yu(T;m&(AHau$1(_eq_CoHtw_Q}a>W9=M$XYgYcG#6KE!I<ss7?6k1~lY#
zxtCVdKgt>yrC1K&c<K+FbfycNrnVALM?V#Cb~(lQxwu^!tA+!bKn(~HJdtf|hk|^B
zpJqa~uCr7wxd9HnH98XVYTu}}S!HsRqB>_FIPH4fFS2CN0x#P%f&5DTjU5raWM~o<
z*z`VZGf1z^8oRCYjyM5%uvLsjoC1V??I~7WL!DJN3=yCawV9HJD6Vmd`t;hIkt7v(
zl4rn>Cr!`$jQYNy#zsFR<n}n<T@kO|UkGLK)6BlXkl%4}R>Uv#h+0e~(F_DZh)xI~
zfBe8Md*Rn%;B}ndA3*%WK=pkborPbMZyUuK-6_%|1VK<hx?4e%l9rSfkdzv*jRuhr
zL>i{@qf@#&1%}eyEif3P2k+ziFYNQ|zVGW?=X{U)$@xcS*HE>^D|%`=DO|#DibL8<
zEzs-Wd7+%TGOaeM-zpm|YjgwGoJ)ZJ3P$=?@ErXo;k&ES5!3UHo4I>p=~1&WW!tUa
zM|G42_L`)?w*<A)_c#c*sli!&p((jyA3~rjLvx>(mRyd^(9KerbremTv)L@A>SS;F
z1Uvd3ol<G*%FADwOIUv$#4NM<u?m_zGG4zGPcLyCbw83#@VoCn*j(9tcXd^<4!Bcr
zpN|j>YJC4Hl3F`AVAh(LC|pPDA)^Zp1=YSlZ9kW`Ztx7}HS$lRcBdX7oM0jS8F#Qv
z5+cE!LEU`PMR*#$FEsP8=<Jk`$XQ!gy~1ME8?5Tp=6ugufqsIdCMLxg6|W((kv<($
zHDlxywN1HFaV7In?q?$XFr60hQ4zO5o?NClQrJd}T6zkINtC|QofbyFs1T;==|$3p
zawt(1h6_e(BFRRi6D$(zX0Al<cQ>Q{?fE2@+J6dXoQ2gHs=04PS;lneXu}_R+=G<R
zlQTH>{!mZ2XOPB}_Xzaq&-$F6cVV{VLi77&Q1IQY?NYKL^yCY5JmK;F^z!*DmH`CY
zX!EG%z$2QA^&)PFZn6}Mmt6=tpFEsupKd0CH-mYgbFTD$>8Nq*l1u72k6cGBx5vY3
zr@bWgxcfEFCIc)8Q42&$N$?@%jCqNv9Jz4M?y8*#R<ggiyIl{6&R(0Rnkz9#RH-=X
zW*RCEDAjFO-mrx96TDfueUvbDef6FF@1q5{k?z^|`h6A4ZI2na!pQJ~t82nD3BGYw
zY;}R;(XwmqIew|Y<J+xWcks$kO@Z3*@-DeljlO(K4ugt|5Mp*r-)-Ed4wxKFL@tir
zZ<^nT(n#!&53auYa$|q>yWR{t#TQ+@i^MM&aK({AnZ^DsOUv#fBrbQCk2Q9;^cGO<
ziz}p<7BZ76xaC#69Q-#9{flA)VXLh=;JMPgTr2e7p>!?f$B`RyRKX9kAK#aoE~b^N
zh;&Nm-Cyd^o-uqmj@2*kMw`7%60NCs>Zr1PG%TRP<V5fH^nQpoLLX(xD*PWXTEVGr
z=K)p};NgM*<k5Cqf=(p)_(tu~?ZK)-z{k0i#Xp^1%ayK)gQb`UCAnew#!HoSatlit
zPNA*ey(AHM&2P$o9{*c9Bc6>P>GMxh5jI-Pw6qyGmI|*v`hvl9+mdWiXKHRa0CeRt
z<&~^3WuYxsK^1_DWuW=|alEG#esra@?PPD0rnOk&n+@_n9jd&CMOsgP5eickFqv<A
zh@|0D25A%eJ9}-JZd30(n=oYga>+_iUt|)Ry?XgNi?8yJ{_`HEt`X5s5sFBkT7eKz
zquY;891kb-v8#`sZz$k>Cn;8sZ(BmI_lzQ@%cDW86Z^Q1(V8@hQW&Z$dLokJARb*9
zr6#w;PkqLDFP{NpalVH5;tGtx#I<8DKTM|^mdg8@MBtw4%WZgu)>01dynqDq;gbiW
zIsKVSmi$8e7A@xz69&dB0kg~mB>{!126m6~X)_CKbg{MYZ)xA8ZBt-uGkZj=)^~0H
zLF4D{dE;YeKZj%8X*nX00c-DuLY32(@_w3r^9HYxZn;h;FYsKxdyi+7(cEJ+0oj_F
z^|oho`x|Y?h<}0ME4*pHx9+DzRLeor9&Sl6IT{T%Xv=6Q2C34O5;7;U*p%i?3DGnv
z^F^1oaTrc?MH<lW4uug*;AeW`VQc5^SJK`1Qb<ryD;02_h~Y_QjFW9Z%Ox}nwv<hA
z*VT(m_Wdl?gNhY-X5jfOCL~mYkx)5N=hXhp8qPt{4io#XE$7AZn-C_Pbp5m}6Ox=J
zPL1easvw}(u&FXWHkkl{v*IZ~MuwX2-B4_RwOcUr6j-c%Wym<Y%dBT_@xAUdW_t~a
zx&L&EJ2>$`+!8_KRmxIIe?>xGQD>;{@W{?;yH(?MUe&VJ>Kf{OwDe#pToJOcl%Cvx
zTpA4E)RA~)>mvG&M>&IYuXi}*9md}x@6k%P&zE=o?Ek6lcTw~Aw&WaOWIl>;2Sk=b
zEFDC?aKC2EK=I=ggwUT;E=M<ahO0)Wn82P0u})BnR$kTns?+CkF@68ClG>xW)K+{R
zaJz_)X*gMA`p_CY*^u!>>COgfWYtNtaz2#Oez=UO^J9y*I9>WBE)t|7ZKtp_MFh!C
z-5Na#u6%FYNa&%0vIC=t8~a`K2eyws+&?C_0F29E`~`<aVINiJL<*w;_g}nXL=^bC
z@cypjKS72P@V%jUI=fNj>-%eLhPDnd@O^25P|JbM(%BX(D978>Xj*RkUyowjVXd!J
zDe!$1tXki})KY=|;&p5ZR^xCx8+a6GKmNJ}yWNJJRiw;NGAfGn&R`W3aew#4BM9-z
zo|t=uR#Ry4zhz!XE@O<Z4@Eau+48HH-_ic9yIrpRonFN)S1;#(it3GJ5NnLOtG_#2
zu0#R5m(`nDB=k84`mzuvZ~UwMYA^DcC{e8XOiSZ5^vo3-@Pu*iTz?QJfw?L`Hj-ke
zhj0>4aS=|~-RE+H=0y;Jq)<7Ihdy<+^aTMNg07ADHL1>(uxMBGVYDa%L2`b9&2&~p
z@^Ck)YS%ZW3ACZIGRwT)FPvAO;T1{5_$>1w+rG#2O4TNI#Lqubr2m-MulV|3Cb=@i
zaizY59~6WlB4;aL)~>-f@O(Le-6atBcz&b0lIUxDjiu8ODC}M;HKUf#%hBwq5<o~U
z%%CpY-cR#8venz@X5eo$xQ1>-!OhM6SF+B_ojV$<uy%tOWNk>eS^`Dqb8CGAOQMMB
za?<z`?Pr?bZ#h+)PRUIuo@^Bg1kegLDwL<GXUXF=S<BkbK(Eq>4x(is+e@QDzjSDk
zktZZOS67BH3pbO`(QSqQ;bs6iCke*yYLn!loI!o>R4Pxr#S4B>IKf75@}If7zf8yt
zYePU*1|R&LG;Q8El1l_lW4v!6o`$6-6XYBt0H5!E3B=(}_==6!!%!3|%17KDC=X+D
z%aOnAj{|q&C}TDVKCP7+nz^4A=o$?^`l(B3+DBi@KM0q}lFNazQXK5<b(kgy_(ra2
zD$!Ggyek(w;pE?$w1D@U;n-DTTg}6Ma-R~&j#xu=saw)NlXC(&jHlkU9RabT&@Puq
z&P>hE4|@u6kb5oL$#X-Yt8#?3Oq5I~MCGbc`;+hOYTu4Di^mL+J|B!$0_A+I*<eW5
z!TA=GWW#Z`C)u+3M3S<@ey4aejG1G|p;;sNE#HsWExU#@de*p_cAxQfi(mE4q-y%-
z!xAsRE9VN<#&E|O913R&dOiMV*E?ku_b)DQFYv{*N%QiiE82BjwG1m_XN~N;l*RC9
z3<t+l5t_(&ZE9`z2DM<U-3R&xg$PX=EuT>HqvMx*CMn!hiBv-%>GF)PFH9C4zs|Ie
zm%Zs|3N0Yn^QfX-aW;4$(Hh4_QaZ%+f(4hBg={b1<2P7Bb$|4@^;X!=Z`i6+?<H;h
z$TZG&i$+uH!v2TD2DuMc$p0FX7j$ZHbFRN>KCyt}X5=&A-WSuEWu<z`Z9cG1c)Gxn
z_YMp%aQnpXq+NMUb4}tI1c3(`0&T%xjRipX55KDVhKZo#^;L{r4pVxT6+s`AZ#dpX
zfYHNBV`PoyS`tL9t?+WO_3)NmjNR}5UQRGkYDB!^`ISIpDkp}Wivx1pH@|<VFGH^n
z{%v8^b-<!8VweXWy<$;&#e<;+X67SvJWLk9b4B2n!NibqgtL^hk?dFUMr!WU;!j{M
zqzCPuCvH{GEzq2^v6*1}$LeN{Vdj?eL|v{@K4_*b_ZXnYoa)eIDBDF_pME*IcmHJm
z`aqyegN%`lS1p0r-ef6P<@>HY#kKIk&BHRg=fK;>r@DD=KGXMZu)*7(cx8Ah*=&&9
z8)ClpaYhh1jUsVETkm!zKV+ril^lAIQMxrduqydRu+WEaCocN{rv&#4U(73;P8_Zk
z@+L^IF``XkJNJ;dNy4{h*Aw)WYifhOd*8q{F@IwS9fKR`aW4a>75{@_3H9MKO;H<Z
zHJywTVpm*w8gi4?qr$?f!9Hr0gh}5)ugA*7zT$UhO9cGeRj0g2-ARNFT8u^OM&<$B
z|JOlMB(ouU;Qc@6lnTEwwdtffVOL3YXot+?kjF#Lu_8>HC!4rY>GNE@e$9J!KCM}M
zo#tWIIVG;!*UGi+_8unw?n^b(wHaCvbf>_rR&gu5TlLF~&H1#f?%-2&M8(t{>7X>L
z|4rv#P{C@-b_>;Nw@2r-W%~hTu(DZl7yIeb(ph`r1eEH1X5X9VBQeVkS%y|ACmGv<
z4duCLZ(<1|1N&zuRH4#npVB^y)octt1aLDMp2;dB{%h*!TJ~F7Vu(6|ms{gF4;>R{
z7T8v}y~2bvIH0ApQo=d)A~!<ts0Bc(5uKH*^tg}(iE_B?Z#z5>lAK2EGN?F6D^R(o
z>nd=H3}p_h)TOJE;5g_zi{qECLb&lw%Zd3o6D&Z!7_L3v_%xjP6Ct=TXQoJEh8^bB
z`g}=rCNgGijDD_Rr{Y$e^HbT4!8fv%bMm8dhnaF_NP0m3%*P#8`|qf5vcSgp9UH=|
z4scVpREJ)3VwxbaP4u`S-g}!(Cmg+SxgD5YLQ8x!f&aqH=HdwU`e1E{7ZLH3lrD+0
zvd9Wdb`o<zDrZm#t3>nW_qHj_d(xyQO1^i=z6=-+g`J$5Ry49<_NRFj3zgEZ2d%5i
zhgog1MfYS%RTFbNI8-+piWv{nLtVl?v9yM(CL54>v1{jK_-as|UAk5hz6A&H3{r{k
zA;1JO-K}>88YCJy{%UP_5F8Q;B8l}^)h83n513EayT)8w?m1N3_!=QAN5g_NYu5kx
zT-f<ts`X*pLPXYU0An6JzKzXmc4LJ6bZc{*9irB};8$5JF{Nii1-0hiYTUw?h@x<M
z(QJ<iKrjWzW>McAv`H)Qxp=4Nxm~4lL)ZKT0*~ogOCDCSDrJb0px~}b>KwCw6^?f|
zKQ7-sK}aT(J3VI?!BONyxMcQ`o7U5ZZNV*VOh2$pq()SS+*qDi!m~W(7Eb?l;z2J~
zqZZyP++Nr=-QH{~y8EqQWqL^)FOP^-q=ZZo@!my!$f_rm<ifLmCGV*^?ZarI{@HtC
zLAz=qk*sr8BiimcW_hXo4lrt>J{)fh0*TKJUSJ7}`G;%)jvwk8^zb@UMP*BL^0Ly~
z;<pG@G*%KpZ_U%~=#{Me>`;1S{P$uMnuRwyU#1g7u>(?#ocNpWLnYSAg(0t+=Ratj
ze6EYGNxi|YBdyVAiJf?^4(57d+dr~KeR=STmBRPgJ=`I;Ak<}H#4mS32s<xF%zLt;
z3Q0tPi_m2ShYg30MqJ!qG0s*}6|dGFchTub8d$h&njPw8r3x=@_M^Us0EnoM3ew{R
zruF|gzLewsIL34R!{f4PDUBnGL}yj6ib^KjB-8J42pQ$pgkF*^BHk+*F)%UXVN{0_
z(%tUZs))U?=za({Sno2?4nFh^Duq8L@a~T+BHoPVPRS_!L9@sQwqMsu7;|;QDNd<{
zx@&Suma#VJF7xjz2P_ZVcU5M+JnF{jS)_(gYhW$sjt8!z`$QaPb|Wavcdm5R@R81R
zAZzPDohQ9PqD}WtLy#8RPJYm}PAFEfMZQ5OHX`t2ezHe>Q?4BMZ*d+IUtGp#&-bC<
z;2?oJ{yWm?{YF{m9OiwQmcTkc{;1G*kR>+0pxV)8Kd8|R@cr_oI#?DmzSt>vh@GMS
zOX?GrzczW?tQ#^isU}<QG_6W>JBg<YWEC|;dwy4uhtvDZfxO=HSZj!rf9U|0@ZkZ8
zu^;T0_DneXV_(mF=(e!abzMxmFHSlk=zmZ=wyeq`N8n#5+8tqyhoLQH`I#u_PF$fK
z;+S){$KFAGK_5L7B2IjH6Uv#j9gfV)$HmAM|8|h>BmsH#MQro^#hoo22`S-K1VbqD
z<Q$TcOJ3_tF`|^y1>xhrqD;I#C;rJ?r0V2i+0BK!-E76>{wNii`Hi<-_GpMFY+LJY
z4=E_UgT~|3#gteLeozgHB%ql~`b%{TFSs9Hb4#NV&!VXR2Xg)`Fg_B()*GqD`r6*)
z1tOmot$shrhn5Fk09G2ed>nGJN0c)KIxU~74pE(j%gOJ9%$8~TMwxJ%rG)-P)3x^5
z@#9z}nL|0>c5opCT00)1i>lv2Uf}4AAS}NVeaf+AQkH+k34mCV3*1_!D0XDT7&Anv
z)%5ELeB7kZ+1YkK<8cXQ$iLv7fAjj@%pb~qZs^Z+YAIfWh^R|<zf5QqUF@bxkM~`t
zub|S%4~jo6ra@e7-({$RGT2?a58eMeI`Z~-sn!ZshBSIlI&>V{gPq;?+*__js*Ods
zSu+rZ&I3#0F8n)edsVyA8MZ_^Hty&9PeY4KMIXDJ^^4ize7^%SnGQ@rfW!KqiPN&h
z{}>Pqi!8pm&rS0^ihezz$KSAT`@jv)=i`!@CcM0?b-Jv%?W19jyUM!fluaq%Yb~^;
z)DsLG@ZcPaeO)!h`A05s{s2jMg9efy{~jK|oN&uxVHI@Ti-ewu{tN-aTgORJXu!6?
zd3#M&#~w~+lO)Yc?0B{!z0oK8ZS?H*AFD#9|FGk*j2)kE&)2>>$sx}A1meP6|ErF4
zt!AUr{9AG|__&!X?J4mvj=y%-R9Np^2^((bxqJD0CF9LL_ruH2s5yeP?zj}b*M^FG
zdZ~JZJEiwc3=<zN7C@#sqt(erI>d35Ie?aexu+ef`h+^@rPi~yd|oGuIh@%(Uj^bn
ztcOU@O9LB!+VY%O=Ny^)=G@&=OTYSr{=WCCUiz<pe2CjICxSWgvJ^4h!4#$#U{neI
z=IFwTR|eX@Cdf`|Y+>RrDU%uz9&q*^<tT1H<TX%qk1)5UbY@6y&p@_N5qxx6`BYp~
zx1|_2!Y8h&M)hq%2A>tz1WB8%wJ2V)-V_>coEFgccbX3NGdrKYbu`Y;oVnYFe?>A?
zQPG5}e*4n_luHKYozSn9Q`L|*#||{<5gn`dwbzo|#MRSlt~}4$e#7nLqm6#x#m<<B
z7B84H={LtI%-E1-v+pY&_3_8ln|xXExoZUrK9Van{DUh8Wm5;@L|a8*xWc|US@Gjh
zCYr*ccLG~W`{~BhdWZAfN+oh7kn(A1JnWdgC<e|iWsz&0qR6NcIbDI8ytyg!K%XAF
z+f$nEN0RYAv+JfYP)Q8}zzW3SE$6JyKcyH{<$Z^EJ&=tU%CUVgxZH${#yx=Vm6F-u
z{Oou*MfQ3Fm#~rJ$GxnJ&WaH{x~eKp@vy>m-0Xo3YR;o<inFumxS33cQkIAqif@tt
zjO%Dw7n204<$oHe?QIh#r6;mFs#sUVFwj)IYO=MwT1-IdAbiK<>3yIVJ{C)m<@R}>
zEZ#>7PKyM11&_!>bJJlLD9$R#nDED<N;kV-$APeKFW4^32m&d@QTf43l@)Pqpv9Zi
zVk%+pXvAfuBFEV&%bx|czzBG`v3nf@e}Tr>FrMd^x$F9?<^lo9Qwpbcye24tI@IS^
z&6~t4qMcF*Nzt2gL7;q&`&gqzn}R6jjl5F3kh3;tzk7v*nsP=}EmVAtRp@8&bSOXJ
z1)WJitD-u2lA}g5jKe3~hmxtI^}W2S7Eb^AjdAcM7sPdoGpB4<k*#}&MfPO<e8Vl`
z?eghS<Wh%WZB*Vx=jh}|{LrS^IE5mA^Yh1W$ep9FA%E<DO&(qMdcsn&x>(3`r^bZb
zrW)(pws!mq0&h*bPFg;C+Xfd|mpHCh)JyKojEH`_8hP+jKI3HNAXlW;O=+HoE0*3X
zzJCj+?|sx_!RU|38c(DIf^+`(OmmIMAuXgmzc(YVk5Z%9>5aTgtF8x0KyV`rH{j@9
zq3EL}Xl1ZgCBr?|u9uVbz!dU#wmL!KDmu0D9~hG8EBzl|kXs{r+mAfbc*gy2?}-{<
z0)B#TL&~$i9A;Ye){!r^Z|*9^S3~xWN3EYr`VOm3RNk)A+Tk)y-P{+d*l12&rn$&m
zzS)WuYP;waf_5I90w>vR0qm;aMym@zR&6OqvB%!tPIBt7Z@-=#4oK;rq9Sm=1#VAp
zwE7or+H<o^fA!}?a<#61$zKp`jPlA^IH2jqJaGfq$jEUsCxYI2N$K-by>}tU_*E5h
zeuqGOZH_R@z0S9%Nn`r%Tf@97;l6{!U>ylxwJlhs!~GQ5yCOA%;3n=ViS8>lc~1Yj
z+`CtZSn6u~+jl2?bJyx=)kcC9+dNL|zQOz?o~2AixRFXXlm<^w(pu@=B<zjK#^ND~
zwlpQFFV#}sK0A6ROznC=^06d^oKvDoys@J@PDSKYget6GF1;RfM#+hQXa@|9Poe+Q
zS5qYSECzW{DTfr$mzKM9xX|U`zb4Tb4at+{t}@L&*-_r?OuRqf!oN2dGA7H4$N+^~
zPZD4Lr74m7P3~hPA{!>M;~}3zZroizKe$?+ln5;XD?A;$b^bgf&t8-3e8iI7kX^Io
z_odgp1tcE^XvtSk=9vvWo&^<_sai&v9m`UBk^-S~N%y*_`?N_(cPlHK=U6=N;KX^~
zNw-xWJm%THc=c~(;D!-@wXDQFBGr{Kmf=>CngI3Elj(rwm!l~To9#L6kc}y6_9Iep
z&4J_Ta*x4JDR);pqS^|eClxF_90BN#dkJ}z=9jy8;Tnj<z|Ml4bYcv`f)ty@#0XYK
zI1bS5=ok!W=E~6bh`9IJs1{qp3BvgM`lu4$yN;kc@<i>xY`6otRpGZzD&gDmLy2#*
zxt*7AUJIQXn<W^NUq$m2sS6P5@RX|JNqas7i4|FWAAUz87SbBBE#Jy1y+qm!Z<&L%
zg=?K$TibP(#X}hoBvo>~tp&keU-Q8b(8A!;gnk!>kyI>_Nj~T_+OJaXQ(Mp_ZEWO{
zuakSg<-7D{C~8hfbwKBnXCLmqPIc;-vp*Jlmi_BZ$fujt=kJ0!c79WMm7*Kpkp^Ic
zn{#VYRVrIwNnj5~f+PKp*L<$Q!<N#Ei*Dz+cGO}3lLuNr_WFHq{?g}lTrtV1%Xfqs
zLtI9QXui|1jB2hIYH|nMV4@V4lGkSYL?ktm+*)WnIdSi2Jspz~gp9Z-DM8jiMw`1l
zGas8M8Of(Rj;3i^=J@I!Y@drC{-uAiEe)&DRkov!$4%oOX#$l^!S;+jYJ^Odt77g~
z*1w4)_A8we*c-q0ToSxN2!Z^^#gmynJneZ88%tdef0>jfh%;C<KY?4}N5fl~`FHZj
z<0KtN>IYR$+?UJa>xPnH!<yoLON6LJe?Z#`RQia1N>>z_7FfbdU^iN|S~A?i?fMt6
zVaC%`*357IRvztmzsyvBK8MU}-21HxR)l^65~hlgL8rgfsesn-la0Z<OBm3se$h$A
z_p`OImSV>bK~W!8GXo(EGkVLrH<+;Pd)1w}8Clhtb%h=J!Ze&9Qn_1Zcc)fh<fU%#
zRKGJT=xi2HGi#3$uKuk{BO-#%HXZNKcQ=YK%%t(~{CI)RV({(BFQNKM5@^`x^b*X?
z=&ek$Kl4@O3Br8`-Q9kW8;@rdltRS&<2=Emk(83|KgYNNaCR#Bcg3i&PgY6j?-Y>^
zE0LwPAw87)R<P>{W7E41rBVzpRi4lJ)#B&=qU`>kB%i#TDrUQc`pGhyY<rDYm=pQ5
zqq_%rN?gUM1t2=zT6f8u0_3Xj=}mz;=Nyj9T8x4mhX@T-T0gx+$%srvA+%KYC?G)*
zKR9;b8yz*hYk4)Q<3^O&_>(vbLb^QxCrsh~MvKe13s_k+ZCg2B3ml^>RBXj9p@npp
zQ_2ZQYu5hkBjOZ^#`SQ1;?DO|B5GZP^i+((L;S=!sz!M-YfVgd+tqPmIHd%+vpeKD
zQfDJ>4(HHISva|ZUh0ZA9n^s797gJ&AjQy2afRjV#ekVh&Gp_X{l3uF2iExf_V#7}
zedplTQM3<~jRaP3;orirQ?YvV%I70w(Xho`0z4!!<sn^gAQ>nlr7DU2@s92Mb3F-W
zvjR_>h(>Fnn_kIv?=#$~D`LTb{;I@l)F?(6xzG#=E|M0IDvZm1TW(iwMZVcex1*&1
z%;OHpRu!=F>hF--NDKfOI+jKJV4>uIYMV5uu>?avK|Y}YD@!xXgQl@eq_!&ib4gUA
z&QU0kUgQOxt?)g49lMcB=VgSXs<7)!MCttxBP2<2>!doLXD0M%U<lyAiR9=fyXR6(
zoeb*OZ;<KyTGE{l^~fMXIr!MJk$7VH$|V>h3vEN9U2-(dqg1s!JPoVH6727BCOqo~
z^*tx~95t~X$4>pMC|sWrs{bF^0L3>F8Zowehsv{g)(Ow3V_KK%bC{w<D#Q8K7pKCA
zqz-GT-kp8-SByA#P~-bpHL;%)w<)?@<S{}Z2=4B}GE1QP7p_iqL%&`=>xg&Jba`_r
zu=HR1l7i39sufgM@ALkIU@14%ngkva*RYHfuhxb5Xg4#;ljmb#8zI5>QD?G4B|5TF
z7@f}!70qvBgX1C`#~W1#mzQ*fucGk{cx`YkW(a@IR4V_hQj+vy<++M|okTG4bf0LV
zh9+!CfX`SY+{64aJta|BV~5uVf6MlkpzVe?cgJ*NX5N80ZVQ*vz0cas5-)q|mK7GT
zoCr65z12SE|DPaPoH3yTuN^VA^IAVfx_rAoNM&nP^5&C$m>P`@s{4L2N%$eV9*9+b
z0`p$QB8HKRl8BP6q+%(7wTf+G^NY!ftwJ^PcU>W53TP_=`dK&_pD<LWicN~y_4Jzz
z;Uwi&^6%e3X;x)0+g&p6;n%fGAcvAZsiSa-uUMgw0G4-_?3Q&^LZ+!7iMyTS7LSil
ztu{*_KEKbqMjkN-Yw|p#3aG9?DnMVRg!?J?3=bOv4t4-|H>^0<`Aa~@=HGzRe$#&2
z8*mLYUyxo7>OfV5cz>l{FhPyibxF7}MDveRD3r&(U@5b@d+<1_t+@93p{j5CuXr46
z)&FjL(5V@<huU@^?s-GyACItxN*V6C-ql!<Hv4x-xc57B*atU(;<B^h=rotFf>QS_
z+lz5OyzdSI_YUO_aDOgjk0%ge)wcdj%w=?W_4g>4fCewX)BGXGfQRvU`mr`lMB}tT
zvS;6kkxfc5EVmF7?1i3K{ZnehO;vc?L}Omnv~)a;;vj$zRcn8stTKqOaxD)X4+*!J
zDNR0Xqdv6$jV~7EQ$jZpP}uwUC@^pZ2MgAN10N0vt4Qh1a}ah=^dhQ|14*xXFOTq{
z9B$>1v~{Az3u2?&)fRl8MWfPDS@{B%u}!(Dkfo)i76rH0$?9YuMKV5lD_7*XDxH%D
zzUa5AnlLS1^zh{%vI8GVxeJh^2{%dtpvyNUS5ZI1-r{B44R?4mhyQ*8_fYyQ$?n>&
z7gB~`D1bJMl4g^zW~^vFF4U|{%3f>j@$1pmsbt;{cHy{tHz0gi{0StU!dbm7)O`(}
z9!XYjpWX3XnGBg^NOCroL>MYJ(u74Tn~eu*#9<;0<-LHXgLh?0*7qsV1hPn1aD}F;
z%AVZteKpq1a{b_E^i<Xh_+AObI@t(XF|U;@yc=oD%;O4)SIS=`1av9a7TR4SCoU^Y
z<URb&zf)R7m9)giY7u96D2>m0KWKBHF4$*J3wOAoJr!4s{sVaT+1|#FickmURSfaA
zneEAQ`{4FcKcv`y$3q2=o({%4UBX^V(I7r-4UT_b8k;|93Ap}PpU-{#z%{s#LSpx)
zX^1G)4m5Jbw&`30H5>qj%9-tNo9+?5Vmfz*2>15jOCU5YiKuU%G0V|4Aa$fS;LUnR
zl0a}AdpadkMVqLEQy(+ZzyT@6mG5$Za^yKG{h7nBRwu_0g^7%euM<2@BB$X+QK({w
z<*{(V1R;*;XZUY)j8DSJG4Kx|c^}8aMH^}aZ4dOSyhYb3aVwaUqu=)gs}fOR7bRTV
zb;dG*B;6s#Cy>Bwz|AUEhx)vAobJK}^F4CBI+?6#Tcn<^@-qb_a|T#lJ|je-y7lo!
zoa;?xt~x#BEpGzfA4iirdUL#SN%RK)=v4fo7lSC`HS%hN_yOp<=S^qiBa|3Cq{HpN
zMq;Hzlwd)8_{G7{?-9m5o#I3iZkO5D!kE~lKxNv1LH`hs<_jQz2H<FchTc`G1aR$<
z`W5yFb_ZyeJx8$|1&S*{yn@|NHWnn`eA}#v%<T#uRSrYfveD`06UInjGWn;LGGJ#0
zD~^5sKI@T3(<yQQ|Knf!WSmMd@A6-B-m3@b=R#12q?kpn1PxGC(&}xxZTeA(nZczR
zx;K66e(-VZ>O60T{4Ea0RU$~dC8-INy%y5$(Ry5+rCO1~+r1@6XjE{;FFX}cl7eGi
z8YRv9bB_Gf<pm?9oBO=?L#2HB!xDppG~^FP{#Pq|(&0GSN(COR7Iw0cH+aQfvGPN7
zZtfXju)ZO8Ylv#YPk<(c#gp`9bP{*VMv@9TtAyu#Q~A8LC&$I1%hyLr017qHyCnT2
zOEk5inl#5#VPsCiuA9P@gFm`y5v93YKgD+`Y?IOLQ&oj+;nqn~!j*qsHifsZ%R>zE
zzzb1h(E?@%xTj9@3FK{;A;o0QR^u-p13Y(Ru6uo^UH4nE^m&%cOvji0==}GZ^|oE6
zLUE{ooY;b+;AzMWMM2}7KY)tggJ`&FT^rjN_6@Z&Uj<{-KFDIuFk`;NXCpkKat(Lf
z;AuJ5iJP-EP$SZS{HnPlOSx<NMnYfpJUbDjdh53qjBcs8%?=>!#N5>Sox$zQHa)S+
zY$bC42sF+=*kH#Um`F3*R6M`C1v502H}eFa`wriOuN%CDCAfrktCSM`;u|`22A16s
zSu#4JC`%iZ0j@KDV)<K+?YR8J^Bjt>YD$ok5ps;o%R7d?fOYL!M^C`Cj9rDR<i9DC
zL{5jeGtJvh%>^8BiPj_!j%h9<A<(hvX)dj+TmYhC3~BHnw*Mj2_CRFHQX26xZg3ZO
z_x0rv(a%xOroSN00srZMyW1zzqX(^L*6{Y*<BkwS)amK`wV6DrN{x>^P731ITD8zB
zn6~E!hq3_t?ySnqeNM+|5e~&P9h5CETqvKQZv^rxLE1%ClZTir+Z2jndjn*#<kavW
z)n{On3wXg$>g^e@)87+SdspP0#YEI^^;>lxn)~<@+U5K<_`aMtOPK1wZokg9D??Fn
zp8PUNL6H@=^<KwZUzakLl#=k}!0OY$y9>ewn70D*`~4rm`ZmTaV?LA#OmpIVNbb|E
zuXJq@7Ag|zyVBMelFh4>2jY{S3okWBg>vS6ywB)mP!L+GD+|IRGy*#QB_Nh#Moc}B
zv%i<_!{7`4zRBflmLirhC0>;46gpGTBci}GAUl_IKf$#ly?xiEb}AQ5pGWMrD>rG4
z{p0w>{L#NW=|5-oKOP+bouz0sf7FQAB40vq*B38kEC~~MU9-g{heEe}#Pe$3#LtR=
zw1k1v)MsS3<fcR&sb57eS9XqsJ0<~%l2agLe)O+17kb>wpm;T?v$Gl5-SQi==(jAt
zv+Ppy4D3C{Tuk9ac^gok@%@_69=$)SxFOp?b?3%RfKBL;@KVcCJqj|<e6ozSc(G^`
z?VWZI#+HC#B`MlAPRp8P0bCx>u-frVN|Uk7o8Ee-y>1zML<O;QYQol=NI7+mfa)<k
z0ziI8nM)$TyL|~(K%VrLO;y8!ioWEk_QmUJ3OtZpV**7htFc_IK#RkDUqiDPj-iew
zaQKjPSv33WD8`)e$W<l!unZ#Eod=Ys)5RO<cORZTE~mOTT=9TD=1l|<8pBud!&bEt
z;fx>Tq$#z83RnGkyZe4t_B1P0j>aHqqkCt%dZchw+*ce~vhN~DJ0Y`7f*1To3ZV!+
zz)bvRY2Rh99AK!m|KOnV6Yto0^BxR~^6CF|qFnBLXH+<DSe3CoxpPzkv$~T3e$J<f
zKi0;Gy+GT-N6WAQ?)g_583-34t^Nox3w6kQ%1Yy5J>@2cVAlgut5zt*WmrmkJdZ(}
zdyXvEAfVrj3VW1$M*t4#XJt1fa`S#l#(ZTF4;i~~Wkw9M3qnC?vPuotcsqr>4A>H%
za)R~6pyR;a^S^x6;?!m#>cdx8Dki-}`liuWQeki3@*v5ZhdJDT_;$2fDJk)sk!JY5
zMXyW-XM#(&C}4JmR?{!o_7538=~Y}&F%qu$+15<^7fPT@UvX<{@%Y?M@|E|OsD~=Z
z0f@2|>b+Ddr%hi2N~gL{f!cDYdp{I~@eA-1G;yn5`7|Z<=tw1{KI~tk_E?&&E8<%Q
z#Sz;R48^6OonE{_<WmHMx8m4S91{uCf84%&RZVuqxA^0>&V3{JeDS;`4pxg@6*)f^
znzrrTYbl*7U}7zKlRsK+64NT`3{6Rz(9br(o;dH{z{we22X+SK%02sTglYchKu(bN
z0vpc#@y4Tc`g2FZQsUb{L5)aIWb9B$+ts}2#BV%CLGTOLvb^U{@3J)2S4|Rs<4ax}
zj`zm7>tUSvGe1o$g0e+y&?HW}zzac7W>2+!`ugj)1fGg0S9u9^cCVR+7@2|c=9Dlm
zNp7=J*70)7;$eM=7BaSlR4`=aZxquN!3(J{>E4fYNe;xm7`CBW@KZF@@jZU#K0}~X
zLVqrQVG+Ioc;yqj3N*m_h_zTTnIlQFy)I|G8&iv&hbR3CX{Hbn0|=A96QHLLO3!m)
zcjvI}h{$QT$9{xXk>sq2xP+{~S~$)rUJ?}a(+{)6J~_#6jn6tfrU-CG3!3Zx`Afco
z`;SU_yw;1}M#8S=m)n9cSYQo_{ui)dy8b5(iatp`171OL3(j?w>q<F3^2Vk3Szp7w
zFYM}fJpT(=h@?EHI)6X%jtpnUhxz5G18<0Q=d;<tgHxvZj~PV2IMeU4HM)#}#H^?8
zbl$YFoO9jaa>28be9HtN84)h!5J_noOg|XZ8oPh{jrRF$<ZfZvIA-cJDw^zc`sM_H
zNZSFIoBe#CqiN*V2~8vEh}N(z2(igz@;0mg<bc3w1z^Cpa(0f)sQ%91`;oU>H)$jw
zyYvRmy@XuPCE$t@B@W$Fud8}s^>*N0^&4xDHFfUQD!Ktu$+?K7lu{H|ll{Wr)nB80
zS_@5Fhggvlw4Co_Rt4CcDY8>}S1Av-=5v{b8+@RoV>Oya>|IjbPoCbigMZ6z2Z+1l
zm#b)3(N=7|2mbtWM~37LwmB~Yvd4af7w&$oXE^sa`}Vj>o6@M=+ex%#SLRc34gjX`
zzQ>6B-bkQ}&O{WrY5A}|J+t~%L)9`zcuS@?KAq;<q$Nv}o@F-ztZhJ%>~`09dU<hC
zZv>T{q3+F)&3>3R+o|DfG>zAdTBo$PNu!p%17)Oxa0^O(tHIl#41I5+vWjxaz`9Ip
z!XZ_x^n(1Q=G!UNYL#|w@ROYfRtVl!!$>xTqGCEJ_vrP{!;**G_|DGJ5b+smr0t}O
z@pcJxvO9~Nc7_{f69O*Xwor4W%WE;&50AZw`}4>(M_~+akGqGjL955j>%W(2L{#`I
zRsK>CDGk~&{Ij-z>I12By|h>H^@9rjstOsB2XPi;dJl#<M36F>H2{#RQW#5I!-)wp
z<SWGQIQN-}Pu&%k_Q1R9jh%)PiDkI~kgg`bto*VaQ>u)V*HVg3xY+x3jhZS6lJ-QH
z5{bXr;vCvKHR-C_PyGy${E5AlRS!_PUsJE5!X;?JdP3{^Ak!utzK4Q?0_u-9OaeFQ
zFV^J}7umP7RuPH-phD}fr@sFK3VYi*t>>8S-1^5ecFk-O2#oPc5lclW?F;njNQQJC
zeU&T_Q`f}Tl7HiXB(YPTTM!GRm^3244arNdSfM^9@+Rb{V95uKOcIJYwX&t+?XFgR
z$ZJ%gpz+$TO23)8dUUe-#58GmR&B4JWJAi^%K3YIwj`*~!a6NHj!kcRk`sOAju*g~
z-MsLR*95TNJe#4XJHLU2pSq=+!sSLXpuk765Y!%fp)QVX?Nap;OeQ^84?-c@wfp20
zv+#1FQ31lEeC-O2qbToDa!36<Q*0mQ5GnpE2GKC=h&#0V@oK=;s^~zq;|KtX-2k-x
zz7yf}?cBGIi&^C|VV;T%BqV9Mo$0Q}q80$2n9l$Bh-Iu`C{b)1%{53UCY2R|^<`{j
z?BaO^s-mR1+iTeg*f#E=&Y3xjo_a35K}BhQv_qry!u_?fWoy&Ic7z4`c?)BP@=X{*
zA;IuMojFXck(pDK7|15PwPyQ(&Km9nk$fJeA1%xX==mtn`hu&dKZ18nx<JVmA+h4X
zs94p>LAC?Hwk_NH_BioY8s$eciyz<b5lY8e6E{-g*+xx|59w6V8o<iJZ&+k)%8e4x
z`Ux7c3sh`wd=BMh4miZP*bY%B7AhM?ot)KGE)crU(Rh@}acuCq%wz<;2eDc?AUeQP
zvga2}kd*$quEqwurju>mk93z?jtIrJ`%~-Sl&);|%vtImoU3vaomKSnBd^O#QlLIi
z$JP|P`y#e%kLOsHAeryIF)!hAiBIZ=zlD}ntxr6nW$DbS?xPI&lZD2)2rS>`8MaDB
z=6p<P2T#KR(3?$)M1yViJIkW&*2*F83reTN5M#1)P32mFpcy{$$OoUG{;SI~A37%l
zry=E_$1V5utKN9*X~j}}gEkSWu@_e08)$(q!dWvRu7v4#ZxNu~&4?*-)<70SSpM0)
z9zt?nrcvXrGT8Gn(FYGnJ9a~zjQfAF7?fsc4qJ(8oSuJ^m?_=ohERtXb(9tGKeNz&
zgVFw?4XTfMwtnM+IlZO$eZ*2k;Tft1>cdTZ+(it}5p)FyiV7YbNZX4g=k;>zW7_wQ
z985)>c7jnWAk7T-`P{!QYm)9(wFxiIiH0OP!XXxErVW(J{Gi0urkD3bUeMdlFR2Z(
z-tPSVA?Tz<Y3cauu2>7WUn=}74tWvTnOF3zVgMCOMTd|Xf0T0|d<V9T?ZNwGIiXs;
z5BOuByqhK>4d)~YXLS0aO>G&4Ga(eCw1x+X2x+7uhd`o+uS}7&Ly^RRllvf42DkP>
zCD7VZyl^TDn2~dTH+s(MS;YW8fi(8~QA5ynArp;UL)rP@0jv05*oX4j6Ln%N{_-dD
z>dDZcXQ~N{#9uFC^4(gzM4Bpoe4>9^nA;=|jTm@FSOhLZO*ELBF}brKFN-xRWfFX9
zrxTk%@_D%8VZ>47nJX&oh_o;KZ`}LM3p7#y{-badyvc{Gi^>eSW&to39Hw$o>*&(v
zzl=t!UI{J`^tNk-=3G2;aMkdqjyWiwSHQ;tTsG9u2>^5U@<!w&DBd#iT6iciNM6og
zr=k^X`F_}*ny_H%Lz=-k-KNT&^R^-xB^4`-!rSa}CAh^fDVZiz5YQS8fE@06Hc)>)
zVQ+p3If;av+WaHRPa0cITCs?{ee7s#nO!9?CQIyEM<RVC?K!hI3{)1Uj{D!(>ax^r
zGy@_v#g5ZgUVGSO+-nm@0$lT9RFJNeV{4%Rw_YOTa1FKyL%H8dMOC|wTe?P$V)bva
z=c#d`)U8&}xIS2_<GOegKmvB=nF&U$ayWZ22H%}Ga+dR$HBOISwb2eg_;_{oy7O|*
z<Po8N3#7(@Wr@f>+W7jpql&h`r|NhBx-!d3(8Hc!hcb3am4Ie&SsX=ha*u=v>qbCd
zP{aIrO7<r%hdq>W4>Ab2T3b~9GmT-?B=G+pLex^T%c?ZpH^oTE=FvKR)6G|g7<|Aq
zwK~KO_z91w*bWj%ms}G(0<B?PyVL6){ATEb`Cph#_rEdKo=ow)b7+jN&PV)~cM0wX
zw>q`N;TE4M)IEK5DY~)TB1d>YdyF}<*7&yVJZk^avGg!X05xV5HN#tp?cy!iJ=;R%
z`@?U`+s*%a&V896KbdeBy$_?u%X}flam!3#wR<Nru`w-5)k{=@rZ0_Tq_spU@)qS7
zy7m^2o@XNuWD&;QndNVU$i-B^0{m7Mi5Ogy-W>2S$3q>>uC5s7tjTi07D(sxI-3Z&
zU0)HqqgSMpF-vnT7y&;0EF?~xq51|?!BDALhSrteE1@?Oa;~^MHYnf_9t-P}`&cr9
zmnFfOp8H{P>(hk`kOHkO8C3*R7M$n0dJtU&_PlLix~dwGLfv2Z<{00V?D>2B8_9Wa
zGbHdpQ`ABYM2sH%HdykB%c;%(@(&e)Q)!UJ;%CTwW*x9a3=FJzZyQpo+Krd7L6ce1
zO%q03tk7|EQ~z0J<BGoUp4j5f-;8?678Hic^-Lnb4KU7Mo(@(|x9q=1Rj)?v7m~<I
z&3NcGdNi0Mkfm#4t;<E_)<_eK`Eb0l2dzb;t@~I-&=ZRD<4RlVB2fk_G{31TV{3*`
z9ikt>&1!A3CR(+s`m&|$A=@?3l`F|Q@oPir$8#U~h&(K)38?+y5@-^e%7od(Cvv~r
z*7Dtn%oIO)m2Bb&*ZP;SjCs`yZ5AavEFNy4xGDT*;N>hkzYUIY_WX*aeeFD+N10LO
za7t(mj@@H`-h}^Z%=Z`w5vmK`ZyYl%p-<OQ^0s9U@_<?K%ZwXtD@rhqD(LDWIXGTm
zFP~|N6r_kwjs`R{{Vbkiw|8m5lFVi*xS1Vi2LH;eaL9z!HRms0t_O@O#z-d!2)g#S
z&R;Kl&jk?AK;LuwUd8Ue;37bS3|qz?`T<k<2=FY>=p^><{dPV=)UsecWd|(ITUU*1
zWac;j9By-`PNM`?gfq+5GSNCpWMAn0S@m{kQj85?@`5*CMuu<B>f2NPAt2WtqQls+
z)ajy;TbJl<MeME)P%!(eB|c5~T_Z9-fWZap0b&3EHpW=`tCY!YL#(j`qVvA2=~wgW
zFwt2V{>JmpO-%hGU*Ra0{YnOg)X0$?d9rtuj0&J^C0A`LxhIO#W3vF<Lf!;&a01NK
zj~?-EGQBR)Pbh5R+J4qqRO-9<b(>C4b>kk%?<tJc+u1i&BdV94y;+U4PsIfOc990`
z4UVNNW#YAzZoCM!Un0IIR#jU+N7@T7pA*pGM-({s{G}PL3qdiDnuUcM&?<BbzNf8=
zPXg_HP&R`3+wgoZkJ_UmW-x31!N1ueGgGR0@lHF@Giunz_u*usM|obCoXIyjHKuJ=
zfm7ZVp!%ixqyk}SU@xCAGthAGVU(g^k?+(tYG0;^mU!`&o&gqYJGrE1`DLDJI*R^T
za@AiOjzh)kqLvfQ1*N0;z_uG5l>f6mPOEE*g6<s(;)!Xd<Y_tjGl!<gaMAMZ^nME-
z^GoCNRr)1U;X-CpXFOKDyYn1m!aa|pGZ1bwcO=dalvx4z+vBxEmqc0j6K6oz5a;;m
zwD!5>sHIGI|6XkuQ^}IwlqhRyK(W4?yr=`#d~h*gt)d?&fOW`w!{u8TN%C6vy>2$4
zLeK^3qgRAX;Q|RyF=5@>$DdtvMV2!?Q;Dd_7%TZ5mb5LUzhx4*x{XxPPW-4maIZKF
z;}oJNIw<Ev6b#gHtn%kSI##9_i%6@%`L5o|y>o)+!CX@Ia~O?d-)EE*YOKp7505Qd
zd<*><;{ntz+CjPM8m|Te@NG~?h~nkTis~MZ_#NJ!)l(7UuOn-n4~*}}56daJ2~{bW
z)zi(vv{j80_6S<uSvifjO~!D#&CQ;-oZ?3fMGSJ%po~mm)}q_Syp_9Q`KuuCX{MX;
z-Vqfa+_>RZ2s&f7^)Z^r3W~u1|A-&J9D1mCEnp%fRi2efiZ^0jCbel<(D#tLm19J|
zAS4)tCR(PaH34e5DdL~rN4Cka>`|j6e514gUEIHx_A{TW6+dq@M_x0P)f29#-WiB^
z4CHRZm>}nqizr7zPA9B=p`J}ZVkkX&?t={|#L`Hjb%7(Sce%-L#dG0p35_K0$et59
z3(U(0PcyRnoMyTT=!RIbsvzP{*!Z(hJ0cn^-Y<A4eq>RA3VP}%(J4V?e1t{|8JyY9
z=3D5nF}R6x4~f+-5tSB@o@6iL{ahlv$cZ)q<+|J-wQIerIio2TjIR4uDo}-PLtTAs
z;<I=kKTwWID=BzW9$Vi+W%v9%<zf3YOx!S`Zsg{PBU>+ALbNR!&dQwC9e`=dE(Nyk
z*nZee|Gz;3z`J<%HL~0Ro%AjVi+ico^Wx$OmFJ{rGDn}t?O2zZ`G<cFZ(o`~T$q#_
zgTe4miAq#wlU&xOu)DH=zrc<@AUjmlm|8LkbqA>Y-2gTE@*fup@CbFZK_+vEvbfMa
zT%)q5Qam4Ce9%<dbgEqHN7W6;zkp<xkpI3<*xlsnYd?N!Q<?MYrR%xmJ0h)8aaqB!
zB7%w~*0w#6;?+jc+Q``lCW3<79f1rOfRB3&`TCIsD;M^5_26Uyru4d(eiF&4e8Oqv
zvZ4`!MCuW$DnRJ{b6<(}%*KiuiT&0?HVqlzW#4-!UG?7yzjrXH+?h=<CCx7BsX->Y
zFx-@C?TZH~VM5RTn^Oo&op00{Gp#ZYrjb$rglYR`wc{R^vWjvqeK68#rOHnTL$(GC
zbnJE;jU=Ak+cUJGqop;lXM1*W#j`cjA?P~FAc1d|P?#hZlF>*=&D83ViJBw#aC61B
zbjC55rJOY72o(S9!sReQep&F`=98af&-qc<voAP0<C`h1+B&1GqcBzZqin;1V)-M3
z_vYymbnLDvu)W<vMRrzki~Nim`sXsqOThBW&A{A_gyp&OuHhJEjT)Ph^nCnTAOfcQ
zE^LsX8v~<K6-}={M=Dx>xlUMXm)^sw4;Xh-Y-5G`oGqSspo5#^-xLMU)d_{Ujffy?
zhFUC2+QHc^5C`+fW_~=MhXO{o=fLe@e4g7*U!Hp|^Tbd3Pw{8RY$_A23+FE>w?9Gh
zS-)1Fzp~Uv(iMYCluFcJ(^P4V(YbR{Km0&kBW;y<Wh}(l-NUn;C}(oH9}z;qWZ9uo
zSaAOlYFP4djLl!AzrB<lBohWn<)CyVcoCu4&UG&Vp)Eg&<hwAl$Kr#eEx^XV%)Zy8
zz=uM#lJiKCq%As@oU>uN_8kv1qIncFYA4t{lym0De|i!Qb9BXN{uM^1-`~%QiY9t3
z&G|+ry!t)EeadgKzo=F8Et`iC9dgug!uU@-AKOW;`g65Z%*SggRxVbSv@!)H5pe`X
z${jCkpfOO59<G*iE9-$EMVcM@nh9A*KlV(zJ<>?}#wRdJlfn*y!bl<kC7k_d9lJc_
zbW7_R?boP{m+7=2!2?f>W5Z7E>T#2NWv=Y9e4DeUmn#Q10a=ZxPQCs3nfg2Z@xqej
zk}&rMsS(SVUCHW0c8}B>)@<%{moFoT#xsh}w><*;cD8I1X2*5B6LRy>{di3N8A)Q^
z<{_$7SJaX+>-d>>Yf}62tmdkd3-)+TdjjUUhSl~nw{S=IuM|5?A)|Z5iUbyCUZ#7X
zDT!S5luW41(tJzq?6=o7Z)G;BMC+F1xkm%k0)H^ARCLteV?*t;jD@Tv)~NvzY;*q+
zBV=EuqNCCF8Ip~fvtW^q#?{5)O8Hr2rKv|_^?%b3&$jAXNiG3k$_1b>ctO!4k{5Re
zKoH`5lJh-Q%`PJJ8@ERt=Tapvw@pc&q-4^nN)XK}QO1frHa@dGHb~_G8AG{>XNMg8
zA2X7HqdWpgPD6n%EZ`Vg1(y50Ww$`L9s92HG8bl#o^GdvQIA~Yi}ReTIw6{7m9<p2
zD9V^4fF7r>41CdgEAZzkM92~z=6rWr%h`0j@vJAq`)-0M31gj%5-=-I1ZcBK{xxoJ
zuw1skWtwkJkQ9N56d0DNX{sAl@>SKD?&mMeG>UJ1<M<huLnk~yg1huTDb>o2-?m*+
z!OMAc0-*A6CiL}V{dWS5@v9IWgEEkTU}VU>fvVr?gprBVuEYfm=jNniUSJ-2!ajGp
z4m4h5$5xiwOlD%DOgZ<^xB-dz+vt;EYK=FUpABJJ3I@HCZ}rvEFH1SN_Z<h4uW{0%
zO2EokDGcu<N6ARW-MtrFkp_PFFZfYX<+H`|+3dRFDQW##^vSlW@%7=4^Oj14ju<HE
zCP^DsZ4NS9+ynaF6(qo}4y%XU8s*Qs*xc?^K9!XaY`OXK?RvrSg4&8(pO>8;#lFRR
zLv|KmTN8P)Pc^LO{WSnwDbv2yBFp+rV53B?Xx2eEutx^@{4n~+sutN%8+=VQCyUCd
zdoOY!nSQ2MH*GU!S&8h6w%*BJ78*8T0~GV1vdWxX@4IDEScyz_@?2o>*Daqw3s|aj
zg~_fE%b2wwgAUhv)&E#J3$G^MzmL;Mju4S<P!LgKgdnMeUrHKj5Tv_?u+gD}l+s8@
zmvoL!38lMpl)#9=w&(VDo<D$dI6J#{-Ph;ye!pIi^#?$QjJ%>KNzeK<HCwr=5QMlF
zRiShcm01@4L8w8Bq|2yu0*Bp>rPdG3b>CelUj&(OzDZTB)k78TFk&(SI#dbN@npg^
zcl5dj*)|K=%X<tqAolL(DtYit(#Ctm;9NhFD-?Ds2PUT&%+EE}Dk}x!ec2h#ks_f#
zGo++?zLa+1$hPixdK(nV>n{=Zh+~XAD8&cY6EBh%-{G2d+D6><T{6>zI9hq5=Z>H<
zsX|+8cDDp)%1NK>K3|x4@L-77GW_a#XJ+%@y$GX_x2yjfEb8(S1HkE_sEd67vHEBe
ziMV{vG6S*)I7|%mQ)UCDDkl?#vICB;qS=q-X=@<7CY0s4A$s6^6yVqfJF<4#pP-4?
zG#MbB**9+HF));4?M92|UKV0jAKHh;un_EL4dINtQq8w}1j(0{`a6`YhbA?T>UP%H
z6syWP=at}H<lgv3kLETw7%X>4U;9#)C_j`{1T7|uTog5u`K}Dq?;n@9wO=*uHP(yg
zN})@pW*)g!gj}d;bWk*J?p#Nc_bEOBvz`Z#I#exV0;+F8(mq2GQ<7F#C2mxvj#f`(
z#V$^)@RMylO)Y3K&Yw4(uP>>bmp6!|f^S}BW-;%G<T|o=;F*Oi+&@tc-WJAfW4rlB
zrN0HXgLbmFMlX^7R`gwL1*7xBx05d{>v2a5qenS@5lsE|)OHj?_5H;YwQ}?|0Z#H>
zSdE|k=5!{#)(*iK*$g1G>_K$PVm4)8LRW%dG300e(#F6X@`osXu%c0IT7A{kpFi)u
z!xwP(H*)Tk{&Zo4WPzWLGf4{_7H<M5m1sJ9)WC(4KE;5F&IEU8n)%TcE_&hh(wF7u
z7a`j45n|bVw;|65s3gT(2#@}~v5%asc%a~DiuLspZ*NJBGdY#_;H;XBhM-*y>W54P
z5zH=$D)&2``+w*Xrhb9o5zyFn?etA{d8F*=;%wlGit7VvijRduC5D+h%on0a-8XCY
zPwrLW$<+=Mky~|6sR~z4JdW6*Q({P@{yVtKxDouTofDxfZ_^WHPZSC#JuviSf0(HU
z-}q%0E5*{7XQsUKCBSTjfpv;eX;j2I<=G|?*x-arfv6x`zB#>7FB^q<^RSOBc9f*&
z@61RNmX>J*T6Jr%mGVw`8P@U9a^Y1ce=0e#@DlWCQ=^P5zVV~Jx7cj<>3+FIwpIQe
zOhjR0z(N!_lI<JexzzLN(lPQ2^ROOwZyP*k41Mq{#6_&iKLzlcqdi>s%Fr6iFTGYu
zv}iObJf6+^(2sxqCAbw>wTeBv@gMiTZ7dzwteDpqVb|X@i$@{cfs1jdww6O_UrDrw
z-YV4#B|<UJZ93GhnM@fiGul49)-xrtk+lALKE~}SjNDW}6T_h<%eaoD4Uvm2=u1{4
z%d66I4e}R;p%nDcLrL0)S>|&)nV#9DzZ1dg(SvTtJr9$ZSLvig8Je8rsnSCx$RL`J
zdyEz|+PmLl0@pGkE3HYI{U->(`zi0Li&lQ%Nnbm6Gx)+!TpdZ`h~e`zgx^ViMMtQr
z&IUrKi$4-7V|6Gh1fFHgP!RUwr@OEXD&qKMvQeoIK0b(ORXe&8y4BoSq-t+y2%b7<
zhho={j?k{~fSbd4k=@?$OCJvs*Ji1jQU(C0-D`ryq2;aM?&;f%Zhetgwb^|hipw#u
z;$*HZ9P(Q*HzeWiOaB6y?~<g=X#vCAPq=ANDjKECN~i1vg0sx8kHXsxhx#U)fwxYh
z>iu{OfVBzRBoLJ+;9!^Lkh5F1sNnd}2#wUG_f>4+A5xRzZFAxT1wG>rs9kV6t+%})
z@B-(ywqJ+(aeG_W#Sj~%pA%j1N&wCXj%sjC;xDN5443R&AU@+B_4+i)!in)=_9VsL
zOyCZv^e32bw+`}j1CW+2uoyiXhh=*5LHTIBW1QshQ>YH}2Q)kO*Fw<$V!!{N-~m*V
zRkDxXHd~^?zDRr^J!AQc|LA)}*z5w4l>y~sC89Q;7jQf}%YlTlaH}%@@n$C#4t-Yx
zBO}v-?{>uDe|bP%z>ns?8v@XgZUl0~OF-28(t3)>8|1SW(}5Bowm&n@*pWBiX)qIV
zZN{TnWP5{?J=^AZ5|lotSen&}OR@1Kla<Rqg5m=%z%+Qt!^uQCE!24J@NPCc$dR=+
z*pEGV&P)iR!fL9L;>50$yD&#d7zPMuZ%O2z`yh8LN(Kr)DEJ2!Q+YfYkDE>srs3qQ
zCLwZ}JasT{pU=+kr21LIm1B95tD41Or4cR{3!b%4F8fUkb=G%TVDMZhCHKvy9)~>N
z(nRBbG&AKXd1jehq*o|zV+iWfS~2NN;76K+G6hOHOW1#=kv|;1r;kFMliw57FEe|(
zRkYcS_&D=4CxF=f@bj`}!+8kte~|R4`K*o}{<WEvm+XIJ7uv2GPTo80jr!v+Tyd57
z==q$Qqe=GgC1O}I2gtW%(nLZAGMe)Z7F*(Y=1olLL$9+8w~f{V&#@I3;*E<rDG@KM
zo#|khmc!&!U;eG;Hs5==DXWAfb}B#1&t=Z5DzC2kO0((oy({lLv-nvWUz=8KdA;o7
zKM0(?Ics8-y+gi^?@Hl&NP~URXI1Y`Rct;@ywj;y%D|r=DdBDq!F1|?E!ef#-Aud=
z(e0zT&<;7BR?s|zO_RMdyN8cP`T?`^gU92f)|&%k9}e<aGvpPki}rqhO;Ga-u%%BR
zSNmdXrb2|ctFw%A;}R3b1wPGQwT=@g0jQE@5W(b>#aWY!N*m_}eGslJC_Mg}p)TV_
z;IsaH2xVjM@AEl)x8zl!wjZ;o@KcQ_zth}VxT~Be@MX`CbXyY0%?9>lyG2%*p*BT7
zR{Yk^9%9Wa<(!VSTOv_l)@klpeP!165q<r4bI0Ywz;-YK_;`0on^y?ac*NlM;@Qer
z5g&P_xly=(l}Xlm&_x%lV+LAP`LHdQ$q^p9dOua0&>$^5$spAuyaQ{Vwb8P3gn@8R
z;vt3oUHL<*F4&tj?X{afl6*$5rhjOUXpW>dg+fbQ69RrXTM2EmfIo?oFYP$V&WS4-
z*E-4Bg*FBBQ|yT<YKZ4LCg0_)#`{vu0{Cd*;maSzW6qdQMaBaa*=kD8D58>V^@P*R
z`mpQhoyiogcsn_y`2KT62zvL=63JEJ0eO+#?G^c}2FuICxnpZQ1_RPdOepcch|L}f
z2+udud1jzzp=bjaeIzD6$eLpJCf|tOO-^@U>+9*YK^oFLBkQrGp|jk$T9@wWAEIvw
z|C&5NBXOTE=i?bbAbNlWp5Uu8bMyfa<--Dd!t;M7NytU9>k``z!|{XCHmk*S>07l(
zH92ovu7`V#GQ=*#ExWE543U|v`Yvtvf@Aw48}6~>6?dNfW$|%S!ZaKD#j(iO&UP-=
zFSFaEqCI>IPyMByNHpABx&Q6O3lP}z7$mo3wX>e!0|C@L!1}QFCS5}Q3>1t*dEf6H
z4)xw_$n3WNYxVe-AN!O~R;#lREbF0%iSW$T(rBFWyP}5#k|&C|xIwL@o!o}FyZv;s
zQGS<E>yivgMqi30Iba~f1Eb^(h=?J;ZqLZRR!p>GpOYj3Xv|4BC8q0T(xIMDop5}0
zhjN(@NOt^L2Vv7qbl!VgYzJMGigV>-lZ-_3**+%TOqUcJdqvwM#$TZVg{H~q`9e60
z+`+45VTlCut{U;x%fNX-PyCZ^lw29bhXgh505sP}nbLNWyNq1h40s&A+lI8S^zS<1
z;fQOeP|@=ar_PU1D#dL0!!l{tVbC3bpT@3iCxbZMk_+gn%<GjruzF+n7U6|NDj->T
z5^1@>QT8EkU*+<P*@3JY0D>rRCx+A=eI{$6*ZlCT$X~{xUk!e?`ae}fsx}7^H@Q_6
z>rHt)UvW00*neI`>6WwXQIizC3|l#$09GtPf{uG1y9)a6n^RCBX;$b%KWj#X50z)1
z(sqf&_s+Y?HR4SRN`hX7K{}{Jn8Dg22TgjZ#Rr*@_);?QbP_ev?EFzF<z_giOz-3e
z?@Z?sEqg@U%jgqvA9xZ{*R{OZ`jzo!kl|RS;*+;oh7owI)(W5F{z?B+X|-ly982;H
zZvWF<XRVd%lJzr|37mL_I+|Su4I-8D_Pn#Le~j%^11npy8GN^nkNZsc!s1;N@%7TL
z>wLS9utH`Y>_-uu)b2~m4L#yRPOrA>HP*HL+Vn{Fj4Q;?*dK^$rw^R-G#r;?$E?R{
zsf?aHiSD3=CXyBreweO<VV3M`L!>rE3led~OkNHUh2k(@-`tCo);qZ&oQ{?-?|M$&
zC>55wLruQ^sGl=evWoW0Iydamvya{4?H8_C)=1U{;YmHQDP45xtlugiN=O)IRo!-x
zLojrND2gJ@OssD+Kc`}S)>I9q4c?v)gsi{Fb+p(9>~^hTJ(i{*KcWDsr!&&+MI1{M
zxg7kxX_~bGPmx84Kku$#UGRz>%2x2AOdhIT*6WHxZ)}-VPx?QFSAo_f>`NrgPhZ|#
z=m^CEp2vgro=EICP@i$*1D5xy?I$em*{hjWdOg(Y=J~edkrA;)EQ(icW;R+SKQ>0!
zf0;a6ViTr1?-ZB<9`Aw7XQuyF2vtzDBgCKbX1Xc}`R{!mdSj0H`i}$s)Ha^}?;T95
zjz54`pv1>8E%%a0(PA0)Kw8nlaf-KNf237hd_2P^&2ao#62(B8eOyRV?1{^A?k^{E
zt(Q0NEGc4{&#R8ddx(4qIsSXW7nSlkJc%}tQm|7el1v<#VJ5*Sl91};Nt5s53S#>Y
zmmjfOT>NePt3`S2QJQrYspE`)x>4H#uv8S`SnvGtQ&fJNZW@llm3z%Rcpy!=xzNjd
zM|%HLX;r4XvsKxu|1myzuPsDAX@?F^*eera>n?LbckitaPnxC(HxN-12648bcz*ku
z_b^L@!P?>{)GFn0*J;X2A~s96?n}mlL-lk?S=Vmq^B%E3(3Gi+(ZkT`qtI>fcB>~V
z%UYMYX!Z0ELBSK|y+i-<I}a4OEUS3>kKGDu#ByVED0+H#<8XI3k@KUsNfipMKcU3y
zgi)7k0HEQfwi4qOvlo?{h_T$98pxRcDhlE4MgQyOmcwFIeEbG&<KHGD(@t(TRQ}&u
zN2B&Y=GSvGPvfKIb-?1-T6!LMUUg9hJm`c2^)*~8Mw%31t(0Zw5T2eU`;HT-kLF9#
zO;?{T$Gsk|tUZDhzfe!9LD9O<GQ~#)d4JcR`riH>bQ8=ZDl(y*DPQBu(AfPb!n2oZ
zmpC(yQ#Zy^K5UC%^LL3lhMS?EkiXC2JNa%+;*4q3L-0iaQ0azT01}$)uMP&A{qgEM
zQoXQDb5RAeb6w5_ivjnN88<v0)250thOwfbQ5>xGqf~ON8Pg%t5YHvaurp!NP7?Ml
zRh=~Tdk>yIPu)_@gHGV2?^U}ct|C_3Q%+#KJ)_P#luW&X+Cs3W88r?M@f>wD|0$Y3
zA;i<A2#x`u@);;zXVJYa5V<25&T043)x6zhby<G2{S2H$a9k6q3jn>Is37^M2K5{q
zg^Gu2cH~P8JCRp^8W(V~r=`kgHxo!(`{?~Tl%_>YoJlWcXLs!f`^O;2Utn!Tl{*fk
z!QpO=6^}(qnpj1Vai`Q*6M1#9F#H>bC3z^vduxM1%{X^oa@D&hM;T|mve1gi`6Z(1
zq}cBE=5VLsjj8M)LgI#*@mM}-|I5nDc;*Qv_;ic<16)IA+>>)RKz}k3NRLOfYwH_7
z>Ndc#Bmb5<Ua5WWETSUTZUM%s{|=JHU}^Bm8}hnoS<kM!m^UaI?ES-F$&H9e^Eb$}
zUFH0<!D!{u9SQcZcD$)C5NODW`X6Dgfb`x!TPqfQh3qi?-6*R0Y>GB<lmD9xO9y&I
zR#>Wl@i_8FpPBw5wW17g#LKR_It%A7HyG}0B>_d8RqPe;mvAgv7CkBZ{Eh7G{CEfY
za*+=}O+hi4W-gdjC^nDqgd>(2UciZAFt8DQg;o;$P?<nOQ@La|;diyP;sRwR_Zr|(
zl-+xi$i7&ze-`UFZSX>u?2iDhBpfW?()kyEgP!Wuy(&m%_{*c!TdMj6Smg~q6k_=|
zI3I-gKD&4qR3F7$oTf|;cvHf-N$$D!czv4`=4>cS1U+D)`ZC|P)+F!A*_2TW7Sx;C
zO*+Wg?IPFH@rUU+9Z_0^GneHWcQx^M?Hm-RFTBs{aigPt^YJ*5??CPP;70IVq<81#
zAyv<w$muM3(MPu#+tX6%U1gk_vHM)nMGBgls}uDZ5kHiAK@pV}r&TsxZ7T%gq*jEU
ztu>pjhBFX-ge4MXm?8$EUW6-eMXdBjE?fGK%3X>d#cNC=FMY6|9=uawYs^7CC)uQI
z$kWq<-ZMU#Ls&P<VNH{vJQ2ZuBV~N4BGcDFW)7;SEv&~uCccp<ORYox@zO?a2@6wD
zJpCev!IT=m-)&Z9#m=S1`*W2hVW*Huz9)cI&D(jm7&YyE(Q)nQaP3%Kip{!-l)Uoh
z&^Z07*A!Elb`p|;*%``TJ=KgLd7caIJ9u4ABcDFaH5-#%?o9!{DSJ2;)&S$w*Ah43
zkEj7R<g8spl*b8><xx`XNb#V`4Bv@=)2}Cy`K`omG@VBLC7sy?4fJ@8f&X!i1J2QT
z!^Z@h2seC$I3w#~qwF4Xy+0vzYK<h<FXRZ>Q9JpoAFr+@Ip=|Nvd}un=?Sb>N#3(x
z_)D4lhKbwlr8&(-c1ZS`hk1nGhs&8-D$S$%GKXJli~N2`GJY^(jprcNI`u`+N?Z5J
z8BG`*Ewxjah@<&wdDo~w05D1hbHywK!0B<i0GSG#|9Ja%*IrA>+hxr(bUalDq_3%Q
z6_7wzGjkQ~ue3LOK%l#v=wzn5N~3>9)UC(ROpsM^7~m0}hfWVM_e;6XKHplJ`*JSV
zR-;Ng!JYDO%vuYP95sA`hm7OdKOS9uOTT7s&b~lh=q6LFO>PUyB>{MGxB<|fXG#g&
zxu*BfXTPJvH&tu#;w9@d8aGF;jyiC=NN=Kx=;@#~tmCHO+~uE3_(HNO#o&jTK<lca
zc?GtTmGNFoQR%4A_?aumjStVyx%R}rE#FeCJ}sQ^;S~vVA<ACAzbvH{P))pc)(4tp
zGyNjYa=-=QzJngj7PMUL@2jf`&UMBM5P!u`xj?tjI-395#b41$=+DoAGJDxfpA$UM
zG|Q)d05ijblYfi1wXV>AMH}FCJ&S3gHHgtlHV!v%uc9n*>+y$dS}6SOnPUUBO22Rm
z?Tg9=7SE{%9=~XtR(hY8F3SN0-#Z{zAR>rGU{P>|e^>OxBOqAyFCB~pazQcym!D^a
z8o_O`znQKX-l`zxg8yj$9OFuuLazQKc#r=@zc#CEmJ1y8-y+e%AG4q(#2(H#*ouun
z^R@`q8a(#K0D5(cI=YPFRI!pdU*__D4UaXH=73#|FlDSwb_13gpi~@%RDH};&a29=
zoc33yN=K%EVzqAxzz&)Ro6bq$@06#x{}3;@`Ydr&*v!&LNl31Zko-I-<D{7afvH~L
zK*UWHK>4%s@)XIiwDD|$kTmOXjc30+VZ1{EB*bEx$dUTYVK=1n^~)TRk{So4ZMx71
zw*-=2eEnU7RC#Y0q&HK3+)2QJX81+Qy1~rA(!Ck~HzM2^gv$NFD5E4rih3h_fz0vJ
zWDo)jT)MlQYQ^GB2CH(+^I)E2r%Nl@Cjncu6E}azCxX7@ze-U&?W<}3=9ad(>)mF0
z68B5inYCd6KBAbbm}7O~U{~uRH(n)Vl`>r8aB^6p;*5Ws%_eGx4Gm)_Y0tA?B&Y-H
zSMytR+COPxH4E4VKp@_4dM{71+&XT_^*1}VS^S8%NzDHIQJQd;>32j@HPvL9!(}DH
z5@yNiP6AA4f6<+knco-~ZkuyJh=<)+U0Ki&+Y~)6_$FG?Zxsbv#Wl6$6zn5pH9V5h
z8{VXcD49~}_26C+>@wKem}JPAx$e;kdQ-z`Z%Ft|5K)rP>&s}g{Nog85JU`0nm>)8
zcO29f0!Get)8{-}is%&GI_-FfR*J`ay6dCT2d5ogI?OdK@)9nZKDew35G;=;vdA};
zqSIW_ibupRSDdb)U%y@b%ej?q)PrFCy5kiuu!IjtR`U(4@)0g_j;ssB*BgJj)~hHI
zj1%IiI3Ax=e0#Mhq_ui^6uk&qxJ?bXdUwAR{7V;3!d)}_MJ_@oeqh{txF#6~SN9cd
z+OUENXfaeCoI7-Jwp~UH%6YhGXMIav{;Z8AH+Pud!SxuwJ%PwCqs9Z?U1HWr{E&y?
ziGOuoKg45Nw;NZDC^IgAFz$u&dWl9q#fA0yzVS4E-oQ+PMEH`XT+d{o@cDm9=bzLk
zpQfPxvLF0@=Lhq#riFCOAQo!vyK~9jY4|5bJ_Gr@da~5%Y;zEP{s2bK`~4MqMyrYv
zXI;_=RLnH-ICuZjd17U0>{Ir}$^7uvo+U<T_~-m`Wi6$I!GoC{AG4NzCrAV8O?YY3
z+b_?VqF<4;Y5wpKJpBaQ+s3<iL$c-<RUyoN<p)uJ$4bIMg&2}17Tx3%k;}0?5{~DH
zl#X=~(?#eBRy}h@8f3HK<Dkn?{hySdMUQIumkSaUVKP8xMF*hjEAp>m)z%qQ8UtmR
zO~YgDFj@bz!&NML6?!q5a|eV15P&cNxLuU}3jzVJ1@8R`^`t059w)pelIag+I&;V!
z@2`>-EPA!2J`wYHNp8cAchW84?n-AZ;JEj7wx;|ZE|g&a<0!=J$MGy2Bld|Q-dy_(
z*dPATb@!l|G|yT@?Y@^`$}fwB(-99n-V(n8L96C;=4bqW>t<M%!Ks~3s!Y=ao^<XL
zNhz9G>0MULp}shwDJ7%0wqha%=1l@61}cJ_$mUNX6$d8>GIrmNWle|+QcCg^y(v_G
zg&nQ!0+pNVViWiZkXhe%hK!m*3_it2B}KY*8V=2;2Mm9wNjXdVb=uSmG?+`1iyAB^
z%mVP$EhnD>o8~?@j?R-fV=T@jCHLL^_Bus9fj}E@a5iwNd39wv50<~w*!2XKKV8E@
z5!xY^61kB#CgHuZWEZ*!&wXYZVRj^lSV5;VE2*M=<RCW%_5pS>a!h&t?Ypto>!lsi
zcLN8f9*@{W=UER>9Bt0y21oD4nmz}H%&(Cp49B6hPZOXE<sU`Rn6Pj(6tto}?xiGj
zyNWZSP3scTBYl5uoJ!20(40e+XbS_jNP(u<g=bub#wNX+cUZcVTg9!IeRV?SaQ;@a
z!r2@9aTQfH{!Y+|{|uIHr>`GBjF`7AKLDafH&qD7s=Hyt)ME@V7IZt`>#71nlr-kt
z$UC$%|C-VFr|`2-%8NquiQBpz@&a+ckr_JY{!?+;sOTZendkR8u6scYXHyV|*|NT>
z%j?dtMErQdbN}c3HN!Azh@aj}4SxiZYW@Is45edpKtL+Decp7bkBu?dYP#QxN)_UY
zm?(VB`tEzvLawrT-d=^U(~<KZ1-xBi*`y)Jo}@85Y>oI=kxnd*Y^3T}zHr{uAF6wJ
zH@G;gR(l~=<bh3<E&hvOx5b<n*$<r4A6V2n{G_A{yVnf4K?LSYvkH1!O)hnz4zYDb
zg_s8+XR;s68O{!-nZ$GVx2YtO#a+$(*W}gpX6=w8WyBLUYGp|w&iZ%|J4HGJvjNk6
z`E=w<E##ShvR~;#@|)0RB0<lGl|SOXIZ^q`R5E;!py#jen%MeHA6koISoqPP|0flZ
z@ZGolF=FC-eU(|(DptqLLPU|c%s+u3bifpTAbq-$@oV4XW?`xWvvy`pCmz0SrL*D>
zzzxSf5~|TY0n9u|7a`W2v5hj?jCKu~wduu%jJsUu`D4faH+16-D`VhXT*j1B{-`Ge
zGrzQ9^=&O2l&54Fy!4``#@%izPOl7{xb+omr2mG_csuD^HN1YBo~>-$`EzCPc?Kcz
zrAPX4iZ~8k5h`wkajqtIZ{H&IW3&I?joaPv9O%_qI8!-L4f;~04m|2zp%2wbdu*dD
zKWM#%UmSeA{gL#amhw<_`DGTn>Z-TQp(JH~XqUCf7!C-p>ppJgf8GBk30%bO|Gbbj
zfN1Nk6%Zo)8%^xWVw;8j{(1<Luy*;7Ua(-yEhj>yC0QL!Ck2=)E*Cx|rs^O3V$0WI
zXz$VAwas7(N~2YkxY<5Z^hL*L%<i0&AXfkTbMl4Ksv6x~ih%@+U`VrS$bSb-w{ZWb
z8`X4urTJ);8W^$_8T5j_QItA7UyiO&v;68;FN+oURFNKYodgHJ+O8ULZP6{iz(`om
z%$^GXqGp27NkYjU>RqS$#9^Z?CIRhxc?_AIJAlirT?|WSbHD1C0U5<#DNC#$U%&sw
zn(G^)P5?P|suqICo_41Y0dHxF5EhN4xAB%>*w<^25Ndn1UM<+e2o(dQUEqQAs7}pU
z)y&PaoT3}wxSxTk#pk(*k*c5dZ+t-Zs{?%%O#!}JZfe<Q%znjKEC`&t=vrsfBE?;X
z$hu=tc<wil3njBD2hf84s;;i9mm(irMHBS07c)j~t&n!ZpCakkV_DqI##bp7^%O@%
z^anglp}v`;f5h(kZX!FcMr*roXW)O>F!$C!LmsA9+G#X0!k7^D^kX`*^p}Trdnh~;
zZPz7zKb8(7#?Gj+IZ61XD5%)KyUbHUD#O@@t{uyc!yt|~bc#d$6Jjaipn|8do3?VV
z^Ougz;9X~dcMrXWrQsJ~TRFSrC}C5LY%~0<BBKX70C5{5mET(4L(0*xz8{4Bf+}zq
zAuR$eLvd&z*W9?2xQ8_Nm^sy+B+0SbxV@)JzmRen(KzYAjb+0hCld9#{<$PrK<fmK
z0=CVp*U8~qeig)>`)V>ZKK|@r<RNC~FkX3(#BbE{l=XO}ofrt8##V46VG?~4_XDes
zqHq{9VjRCNp^mbSK9|y;r8nozKzskz9T{$0@@kGaj^y6wQh7U0FW19uZE#~({NI^-
zGWtayk*qe!eJPH=0~`Ks*t4txIlk04iWK)sI-Ad|)oB3J>Ra?;(`0^g(=4GPIAQ!H
zKH6Ac)y9ULPw}rSLGR<}6p2dKAqRZawb9Oq;nmei2eIJ(aTQx_EbUez!I{tLk*U^X
z@#l^rM=?=(`0tuKlQd3YlH!}PRZTSo$kNV$q5?YCNB*K{@WLT<(+3-Fa<EriWAko0
z&C?)DaM6mZ{0H3`e?QmSl~6Z+8&<dYMBw;7bJx+ow`SR(UozPJ$s+8fEB5kVG-nla
zBwPKj-&d3qbRe`L9dLOFh~v+RbKdR6?d<2^EHAuxXuP{r-@Q(8j@#oeVIkWO)>7o!
zjN^lOR!@6&VN$*Kyekw=XDf@w7rwgQ0jyFx<Bsc%Pgu+<_SP;Z@bZ)SUH7bd9{U`)
z`ThEO-hQpSj83v~Qsg+npf!&M(ovYjRVmJ@TB8eQvM^SU30)q1U-`(K^XbMWKgHh{
zUqY{!_wElAJEvOpt$q0hk${Vll8+*rb}gcez<X&cv4sV38lb3ig$M9IW(Kcb-2qj{
z>GvXG#PUNhOMjI*eCd|=GPfUjeKfq&edMwfpG7KZr3^;!dS_FLZ-Gji9P|fThdr0a
zA5kiKo<^On-|;svJSFOaT?MWlp{O4dU1PShiaF?JU@UQD1tUAKuAJg2$<Kxvp3fnr
zES2=~=cp$8i1LG~bED_K`27D9E85p&J`&$=xb$(PKH9d<-~LW1qbY=0Kv3_}6V7!|
z9p16aG4-+W#N6$yvS?dl1*&EFGRH3?eo~B**z&i%k>D#6dH4ulyI*88YaXMvB`~O=
zO_l`TuR4Xu5tJb%r!>!pyD$_r>5aZCktc?%KPNe)JJSi`$12d~p;x19GWDvx6Xg0g
z1}M6f#xY-4IkKh_kxsdva&!Y{(#y*fQm?wpXnUc`<V>7$9gy|R^LL#NOY>EBdY2!+
zFNp0v5A~j5thVqrp{tKz^@5E}M>w%)bNAZPh5B#4Q{wGXiy)5DGtMm<<^&eGa(=+9
zbDD1nNv>*TC*d;vA@K2Ac3dyLmsANWX;B=Rys*|x;WR(a>aS0!;2)!Ys@`Lr)%&zA
zcUhq*@msK3*8iGhFF@KcSrNy}*$HJ6On~UG16Ur#9O{Z|pB<gMR}g;JYxV)f_QM@L
zE39sSCzUG`n47Wlrzu`I3Pdf>5m-^27&Xpv%zRhktG15<0PrOHiMoYL5TZ2hd}d|l
z6WLk$bgAM_+TA6xVK*id1A*d`_uxJ911e-Z6{RB696w@WQqv2cb%th!*RhP)S=CsM
zSSED!hdfTazn8vIy_e-HiC&~h3J#V<JU4jscDrRlXy^cN=Q#Z_i{nr*JA!#l$F8Bw
z!cl_d_Lnd4N1ZM<slm5ZnkGb~yC45%50k-{tx+uG<LE_aG`aSX0GEqv^I}s*^s7wT
zf*&-yK&Q%l&I?_vYAj9KQY}w`mu1?q{>+-?%vkx2`)5Y!bz53JH`kiK1RCeM6k}^X
ze@T*YABp>%9oMbz{6KSeGI*8)rJid5BhCiB8~PXT{~x@McI2j8(clIAR_gn{<U;x<
zS<)7y2JxHPsfO<_KtDsy??hDotiESmF>UmTELyS67zjjP6KO&TSrxu<$|cQrcEbZO
zqnbfyv_I~3X#%@J;Ix+oei(+5_+B<nNqZ1+j*oO;%sV~~iFyc1Kqe0h$AURL=^Lbi
zb9gme<Br)6PF+SeL$bbj`Cd3z+BipmJ*FJrG=-^kcfFdJ`~?{Y3_^Q#2B6MxyKi;!
zIvKGiv!-+)4mwJXoM;P(_-ljRB92fU1d+Nljh3gr1jvGFi}7=c8_D3S7L#A1L)N9d
zD^N945fx#V>c;_e!=?4&qwE-gVh#Zf)^x}k`0<}x>{_Eg;ULk^ZvN@v6K=)2ovM89
zYSQBnBPe5;Nd6SXMDypt5Iq@hnO|bRSfB6a#4GH5H;`9(cHPcFCd29P6hVFkEgwza
zB_$^~_jYF?5YFU^$u3PEP+Zuy3t_w1E%r&0>#C*w$|UsJFk8US{3{j-j%k=Xup^W*
z4u9+i6RK?v*ZAO@(h@Dr10`PZ#fRwaGLB)Vi$YM6dqFFbj&eU+$3>bnwj>?>4j9S}
zr?DNV``|p*H@G*BrCFXWU>Q8eiAp)4nux0?-z8aUC#O*X{Q+bL>U)8xfxo_%d2PEZ
zk^B1?3@<xW@K8wLjC7?DlM-}8$4tN-aS%Ql^TA_-D@h5*Ap&6eO)YD)6@-0Eu`|o{
z%%T(1-2M#;K999eG1t5s3}Yy+C9S3*05~HD;iuCZ#5lPWGcq(d@DV~+9;<BV^MKw@
z^hZ@KNwJ+TcZdRr%M){Vn?A=>j7~xh@i^GkRMSHx8Y<5j^H}om(iP%H<$|-fBDo7F
zyV~TpGQC)-wiS(So_<d!&_olo;Lr8Ss{kU+7LnZY5vFLn2!#53SY%yb@|zOK0f^?}
z6Kd_<U-ZbO9SAaG_Oj|5`b91vnS{^!$~E>#zaS8wu&ev?Vj)*%!d4?P$ilOO)!pIu
z9`3rQ3^-QJAPN&>I^WOoHh3E3^sR7G*IDp>o9EKJkOPm0^R&UJ2Y#iKC|QO#X8mt%
z2gTt6g=lT16Ck(yQm|9<bDq=&a8?BLoo<8VmtnRh<^Ni@c5nFPzOyM!INkhLDRBWb
zgEDU@k8Q7fK^55@!Hb#B*%?RgJK7s%-8QLFY?;oF@T=6ve_TDyXfs&2&l2r{&-fmk
z+uY+90uC-b))x+iJY>uxx)5$e=C9rmPoEf`vQFL8P^k?V0*9jZy=TvV2!S7_12Wi3
zAc&e5v;Kjy@YpbrP#I=x%`}!n+_d@<VA=dL2>m-z0e2Yi)PFNb1!nTSvQ=0A*6+l!
z*TK->iIY`!XTcItp@9HWMZ88eT!!kxtF|$Ln^AU%pddZ==D4NtsY+MHMc{`urnc8{
z9N7a;=Z`s_$fo|CUHy0iN4sK~JkRpk&{6OIjqz^&+Eo!I;rpculu%Wl<!CZZ<bv3b
z=Bn~{a!MJc)qg`z%kAbOTw*BGSSuG-9MsKfI8&Y4eo5lb={a*@bY!xo81d32`{m)Q
zJ4_c!&v4)iH;PT2^OS$QYoQA81vR3C_cL<eY$S_oyqpT8;+KAabEw2E%iBdFHq{tp
z5D(r;j@u;q5d;_fAt82?rXuv=QG-J8$F1ociQk_A1SCDSzpw*kO&yT5dZm1{2E=*h
z)-4=a3_MTGXH}gOa{vzL9{Q;8ocz*3peexV@SEqDkOR7mkzXIF`%Bw%=QC4Hx-^^+
zmEV{acCh&wD)-tb%NO=KP4$m--$Xs5xMAU0JjG9AXFOMH!Szdd=Jcs0Kdf5pk7j3c
zz3KMW?X<1Y(Tv5$MXZ!-YkNRM%r<%5Zr48TXtM}07G8}j_(0hh?5w@J^gOlNpA=GN
z=COTPbqtzS_6OBj8)a)fqnyI<>y$MZSC{TKK+{;|N+d>CWMBWTui32Ah4$T|9LHj=
z4TACY{iV%)OH9ho%1=86kQ#v$VdGbt?gREDD_2eWsBNOU+;UxTK{bP&4Zb{;df(wx
zsCvYjXsDrSXIb<P;hE?niz~t7pS&e)9cy}t^bH&wqcGc%MMZs~t(g)(b_M~0^0Qw;
zb&qqw!K@kXL}|P7oi7TF`?Z*UlFID&MUbEWp!<E#U*<$lx@Tqj?mC)V`&=u&CtCMa
zwxt9_+$Zd(B_=77SZNZHmoiV_wf=qIQh3h<UXt+rYoo$d=6sY>d(_i+_%i;U@S8RD
z+t1&bCd3qZPyuU1K+yRwOyal5IJotalNB5?=^b$HhPAL=H9yXQb=>5l3A-n&)~c)1
zjWoWF;+EY;Ah&Q{rN_}sFrO)F^~k4xe%GpjP8qb@aQ^Qpzif}sY6i&i6zA=_6W5WJ
zh(M@+c62u*C;i!3!E&|aRd9$Oe{|ouo2)sV-vKhukcKjX_gRC2yiF)8dG>UuUlxnv
z6EUU<29-pL59!hBRfD`QHQvta33i%i>>mY;wAS7~GBBKbWltl$^b!IEElOgX<U+4s
zIbY^RwAI+RtzG`07^WMIK5x-rkPC^m^ES1^XHk+ZARQQYJ5Y@>f6t>n>)23YI7KR)
zV_N@Z#Zw;XHU0hZ<J<AwV(s8*1>-*&fS-tCin(T)jkhlU!T|-aut>HvF#EuZIp6}o
z&SH_!-vysa9IJR)Y<*Js$DLTRn4I+O(4--xW;Ej9jgK->Qjb!h*C!Y6=m82!dt26O
zkGDP*;ob)LSodyH7JK=xpohH~2M%tMn_Vcz?yx5kWZvc%j8jb9pH3i~bc4pwF&l~n
zCNvOI9iv6sr(@hmh!KxO&3!3r1O|U_uYFdV&{9s;<-t8Cs@oe?&-qNR$#;XRc$dd&
zeZ=46f_Yx8R3f9UhamoI2M8Qt@@#8aNUD=JkWy#yNv@0Cg1OJ_&9X1;NVA#5eUy3u
zHpc-u6P^HxZT$Pt<~M%s?IQl^suF8i_`!^1Rl}kPf8BVtskxYGfAPiTnm+-`?=OtW
zZJJje1l2IU$FY8&8<YGzzhi8sQ%`0u1?di+kRH|i8YBj#c)R;-;y@D0TB9#Kl_}L%
zy6_<ac;rn#Phgi<hP@Y6ZwEaCIAFeu65`-6JM$8EITnQXh=@fSm)K#z&#Q&C$h&vJ
zgx<8x?Xm%EKzIM*cH=tJ&8HyONzOB*X6#|o_*wsDts7;FaQm0_W|}i`d6^>my2vC)
zS}En_rG{1AMMjocfn63wng0&8p|klI?A@KjhQksHV){MONpjB5_zDQ%WE>qged>rq
zHV&HuGU<~HC~$cDcTu^4xP+d8t$8|&5#G9J7>D%mG`{{>SkyGZsE{;K<;4Z%KwgLb
zBWeTIdqjnU3RM%6w@eNe%iqe<ou2eRW+<iDXhbAi5L&T)=GOr64c;)?h;A~pgzy)?
z*A3d1x3g9zM-?zSs7z{-hCV{<aay%3Rcqzf8!*A|Me4>C1}U&VAa7I+y5eMs+7G|=
ze}qpr5*>K9MKZ%}WGz}V%y<GPbWI8xtj3KUAQw4+xOq`ORh`_#0|%?0y}6hpbkIoH
z0c`A-Id@m_$BD3k@CMM#W$p<^`JRFGc2g;i1W2OHZ(`#8$r`;><gI3Mb5Iwvnao);
zxwDLEbVxaCQ*;!0SO(m<)mDJN%I)RQvx3Ayo{(2xpUPF?(ZfyVluWYn{4axHj^lmL
zs_X!>%vPsu1v5FLmW+{yb!lMjAKp1XBP^w58*7D9_JO^v`yx+zrGar)=g!*w`ZAYq
zZ@m!5O-DJUE3FOIHSO5NPL6A%6F&u<%$s#xynBuv%cEwEnh`U%s(nW<AEc4|{S%P^
z*6-C>e+nT8R@WifU9J4gdGQWM-8T9MDzp<y`p6vj!>BbyE~Lf5(JTu2b!wkc3w_E=
znQMO%x=nPvJ;(E+AMxrL2ms(<b}~+00?AnHEfxcZ0@?#KFfJG1yZDF4212typ?;W*
zcAP)x!}4VNt2k>hC`(-`MI(b9IG17{qi;z-yW{!O@?qWgFGnoiuCXeEg^h5ddLu<G
zmpAXtPo=e=3CdzybA)99=Q?&!2@N=bY=Z87Ntk{}9GF{@R?mB{y@4B;Ig*>2#kN(9
z>yecQHosc^81jrWRo)yr(J<oKk=XSx$D=eyfg{4;aB<>DinOIj-sMG*3OHAO`qNF%
zh)F(8F#Pq9wO~#5YLp#k+`f1&gN^))a68Fb54k%SWpu~_58zB&O=Ep_WZ2?>(Rnn9
zH|Fa1%6pp1sY2@$-)`We++n<Q@0X4zF;!;tz0BbiDPiyhs5Q;hBiL%?LC$RL!(@(T
zGa~X??PsF+PXVXXdQ;vR!~}O}_q^;d&YQRB{Fwn@@NV~f&Y2!uJbTcEmlFxt{ZNjs
z!h7VZG7#8kdeKaq)JYycuKGE*bJW8N3o3%L^D&*b0xkK=SmUuB=y~e-%3J3KHj0bO
z9VCma*RK(>23NVHOJOD^p^R!4*1^RN+`!Jov*brB_s2&Ajvry6KKRDu$}K$xm*{D*
zTX=aTm)6%z0?liffB2nXjk8=%vhje-)P%v?QqvR`a=i2bF2)|LW4y1a+npk=K>N>T
zUp?&VL6bhR+)WvMa2k45fpyi}9SseD&+SnYXzAn<3(zb6S)kJ$Ey2-M5A4#3CoCfi
z3c_uWl(1{l(UO;`SFxIG6E>k3BKvRJTGH&vDGtZ$ia2qhghv7;LYez`-Y>&V;G0$g
z_bqt*s(*=qN7+Xo%==4=sC?TL_UFl^XpXN$;(84-)1<)w)T=LtV)k`xIyE#oMB3}Q
z8q>+cGU7pR+j6OK9}-0Zbzv^pIB{Mip9sWM<7@>k&)|2l_l2OybA@P6CFpe?nU`+>
zR|}L_G;+SxxM76I_p4av=zshZ;S_)6@G_JNN65hlzT6r-`IP|t{zR{MtDnvcC;?#O
zj*H$vhAPL~e?KYO|M}kDiRZdU09Edk5_S(%JN+A%cm;}smuZ-h3tYkfIC<VZRU(hL
zeI4FIF=IZD-_zvT<cEgbj(Kqmw2Zx)^e&F3Ei<(HYN7}bwUE~I3Gl$>yP=u-45GJo
z<C9%?DyQ6b=Ux;|Z!BSta5Y&oY!eU!ZeQ+bW(A8G6Es8iG=&U24*2lb?%5ywR@=Jw
zXv|1OXz-Wl@&z5U-1wR%?Z%JNkF}BFG)FVQKyJAE{0G*e^LGgaLcg9>h3q(Cd>0XP
z``GZEle+H2s$rm8K-EywZ})sZKv(b}Zh(9)IBNKOoA0+osyd=(VG70uQYX=;Oz((%
zy}G>k7ebjxEK%kFW6m%vFK(ZPXVDks=U>L?v1)w^Gr<yEd~WzQCI=Q?ZM|CiN6QCD
z*Fivi5OeGczx^8zy@TGdVFyBqLDJtde}HQj5hLJW4~rxom>9<c_{`0Jv;u!AO0Cx4
z4IfB$d!A9+us@x|kWMDJ<7OtlwP|^z!W!?k$im0*#8~>jv2pBi5oSo9_oxw${x=$=
z2DWY+z+}*)SA)JL%!ZMJn}hFX2Br+>`c{I%V`Rt6d6b2kp#G)>x~$I?s6^_9Z)~UO
zHUuk_P(ivq{$cccaZz<^uw_}{A>qh#QPt>hpt7^`(ECT3>!7)YOwc+iS~+ApPLame
z{`yg6@u=WI;w_FwSAQIkC4QqMIHy^!SjS(J4QZb9yTN^%3D(pOKs03^GxVscN^q|~
zl}%?qf3}Cn-w%Eggp<0(4$<-t-y9p>QZ={>`B8mS`tf@bChFa3*iA<=)#2yV8nP`8
z0hvAO44Mn$hK$eJ0s^`-<m|$60G`d@<JjY^dV}&iPCz}h@zo-{QC=FqROF*px{*y_
zf0{ebbcj@?O{2<nd@Co35&qJp-{kL?BvbXoz*S?3*nvT6-i<LTqfpfVViXwI>@$Ap
zr;qRN|8epqu8a#?&W>w(i&0ztfCfV`x*=Xnni}{NI%I|>-Sh$dD4Ixg^DV2M{p?<f
zC$vFVum~6d<P1;`{z<VmiS9b^wh2GN{m|XQdN<NjK9CnU4k~vYXzjbSR;{)E@2ezk
z3f7>fM$M8qh^1a5zcPRyBkTW}&OfM@WUCD6b2U#@wrRX=gkt-b%0G#aa#L^N-^&VD
zvoZiZFecDetK6+>hjeBFD{Wy0ntR;_d^ED@r0B%YR`kXGJKa=s<Y{7@Cu~moG^}eS
z=O%*BY~&!s8~F2|r`<_t`puNh)`<Orc{JZX*UyB6iA||h4&tQ;tH+CLi)b^DgHT^a
z&u!W9eo$7vEwZ}9flq8Q(M54QTJH$fO{$a2jxYE-Gb@wzNa$xq>J8?oy%8W}F1Y6n
zq?3+3Qgw9t#E<D(5U_o@xPI3!%wRgPa;YFe)!%xvwh~IL*>Qtf<Qsokps`v8w@(ql
ze)TrA3|fy8DU}r?@6{3MF%(OIrGqEKYf(LpYcU2?-ztr)jqeC|&#7J}Fdws<jq+ta
zXE$yo3KYu6J!Z>i61F(1Xj5iB&Y@Fxk63Swt~WS^Ky#k$5hwD}^>ZyH^s!AKrU@b%
zITqmoth}vd2h0t$YXLY}_%Uxy4hHDph#776xl10VM(39qKe_+ni)B`s-Rg6gUb&zs
zzPHU6uX;L{56*x=J)aS*IwPG?_p6=1HcHzZb`#Z#by1>mijau%)ZKI5qX{5&GP_Z8
z%!QcJsR#?HQP3>&kqw<oCVsBhf|K2XYpVJR8FujBS8hevcf_BI9G3l*rQN7FM~$gp
zbVnbNR~Aoj<Y>&kbfE)|#KW3KG3y|x-{s-FGFxEpo1xttC<d4naB{^^_0pKTOytb4
zl{++%J#@BKe%6F<&w`iXNg#Zjk+C>yup0baMR?DW|6PNJgo!*%b*-3f#ns#>j&{@)
zy4dk?b3hjJHy@z*%LW~eYfnrd#tjmU{`g^EQAVhoEeJUEr;XneXO1sy*Z<R=L!ae(
z_bSgi+lF>vCw!CM-UC@k@^GMMmryE5;1|Y~ti-kS79B=9Esl#to=;<)<E2a+M@g=p
zl$+vrQSLczrQ-8O80D@n_(&)&$QEXj5*E!_xxV!Cej@b2UXyIG>eGdqw3*CY?y?qS
z=Yo_KCjfg70`?)`V0z(kUT~ez;N_z$BS$+?Hyh6KesHw?61Fh-au=u43{KE#Bnv6U
zk`4ltK62kD849~jJR%N*k8vHs2Iw?ZWZ)8n>dsn|A)?dxRaFHsrq->exa&+AR_c`g
z$OE1*2P8XHb1=>wlfax;KzBkbPK{)2X-$zeu0XPZuwBBew4P4t4ek-;Opx&aLUvrJ
zQF^*wvwg{9`8oFM7RxSO%n?4PtADAK3A^qBR;IwAYRXl}oN(STE{JWr3A>mxb80fC
zp#_>e1+eLIV||Cox{8>kN-W+tZi!KIxWZP}z#lfr(fPQ-mAxcsrGQqr`2_7-$2SJb
z+w{z0bdlENW4p1f(5lGaf}M5Kc&%V{Xy6@U9cdQdt$nIOpst<ei_5`ui?GO2RIL&5
zxDU4TAUp~9jHNT2_DB0+A?0Th$I@7Vw#^s0Rrx=HR`FXm30~=&pZ0z%7CAQKxS<2+
zq++FK&8+gtKcgHQVkEIJMw%ew@n<uS<@29x<Wh=W#T-<jmL7S(?hgQ*rC){2ts=EQ
zjGdR*HYDB<nU>*EgD`SfEvOvYyU9>?R5U+Ev-!q4*wjIe7D;gh`EZcNoEc5y2RkS4
z+Sm#dV$6n2Pmz0^$@-n*Y-FqeMykgeMCEF4m!WRAU5EzU3XxoKwKXb8wdgA$H-QYN
z-?~;^XH*t4IE7Y%T&+cGT<&j{rH<SEJ#UvA$8)4_6CMosVLRYY;ydipCIUd6(G`g5
z8QRLTEG@PdqN?4&c3Qaf!%EwFIyZDm4Z|m*Im5jZeOtZ(L+poH6~%X=`trAShfB|t
z=6iXy1aPk&T-i11$SXKORwl^-V{SsZrdIwF@_3DMrV=o*sJ8z-UdXL4v6$Fs2QI~u
z8?}4LCkr-TS2HWbrAw^$CzG}f8GYiQ3K8&9&i+D!zQ}jqMOZ(y1=ktk75mk`cr#sx
ziCiPGCp_C2D)S<45hb<t*Qo$%24a<URW$X^<4rCi=}My5yAC!r%%b_Cf2XI_%y7`M
z`~=JL#cV~W5%MGc3BZ%UgIjdr6NQWHWy~J&oB>yVK=C7({qO!io-K2`d=m6kbLuro
zj!^3Q>EuT~{o#i6F~ES>@YrGOWD#${ukS&JYjr=wqVhL6u7sPJ;cADA(8NEoFBE%%
z%`zwi3O@e;``ZB01Nde5jFX1?r3n(edDqc1U)pYU`V31WjWknp_G9Mbps@RdJEarh
zU>(bLhj&~f;tvk(>Hh%tZALm}Ek+<QG7Fu7X*f_IyV$ShA?uW9?W!f?ijpB#=&HK?
zHCg9Z{eI4v!V|2GUMEPLAZd|!F|_bd=5~TJ#qc4wfA1Aq{0}GXhqzL*gB#=TM4m%x
zUS=(q)SAlOM!|gI!G>M_jYAxw_5*Gbc~U*p1KAs*bbFhhYoZWR#6|031qWqwn-mct
zb_u(~hMv0Mz2IO6{qb>6BKMP(%f{zcJYw-~_o4VS+)92jW4VsjEcW_=)8r_a_~XQT
z+ya5epfBOQ`Zkyvj^$N|T^(DZdl_@Xxyy>g6Q@Qd{qr8j5F4S#Ulm=0F$2@$s4jt@
zOAVTfCc^mX=hV@bGQ?9lMVygs!?oRN*p8c%W45;xH|FijGrKs1A}%hCvfbvjmLjgx
ztE#nP8PXvn0$528IH7lPdCptafbUyK0imz;5$k^Tl-Vz=>VxnmZTBpb?>86&&#`Mg
za!x?wq%2AkL9Tjon@W9GabSLf)xZ7(a_cm2)(F`qx^Uo3EGAtm!(C~n8Wp+UGW?)?
zIDqd=A)AA{2fx?+voSO#%+IoyZR)1RK;f%2!C={ccyF<}=Hb9VChW~0lTpwBox0rF
z{Npo==beP6Wr^cK+A`ixR(71rae~kPOAd|zYJWdJNyiA>k0NKpo6>beGd%U_czQv*
zovctTMQxY8K19Bx{=f^j#c=D(y11GKy=yc{FYR&eJ@#Ba1e<>=^!#%AiabTS#tW=X
z%qo{l@Qtr?^CNKLP>%VA5P!Imi?#NO@x({neyw7C8Klr1<W)hY9vBQK%Ph8d+2R*=
z4z@NlAZe6Ns@w1#i{3*smA*8YGl>l#6r&4`aat;PlgKM^HnL9JQIj=m=q#$}iPKJc
zR?=S4tcY8!%3Aak(PpeA{;qFkT9%q^{+0Pyz|km?m&Hj6{_lvU_Og!F#x2%;_dqib
z47?;@mRB`yQ!SvStV$$wBmw7f0#yw+&)X5PeFO%}R-I$h;3zz=_FC{2P8$yMufmh%
zlTCL{O~`8-T?1Tv)f0|&&+eY(9xh>FVG;h;;f0Oo=4S2d!UK=B+`$>DF=-|q(DMh)
z;%*i6<w_1Z^_P2YW6s`XGD|=1*VQW08j=$Hetl}I^D)2U^+bP7lX6C$@K>`z6KGx>
z(TA<Vajj34G($i6RCu7G&K8ej2cZfq3HOO(#d9m@-Q!`R3V9;W0ISLOM<23E=o~nu
zjkWaR##WdnGT&d^pGX~V`f$O~(S3_W!?9PG+Y_#T;J>r&k$?HVjLnufOA}$ztvm;L
zRcN*}!=sYYaGuww-$bHc_}}G4Z*DmIGZ_rD5JR3gliNddjpV0ZN(0B~^uNF$JP3^n
z1-*PkkGMW|iXuvSuC%hW^dW4Uho<c#OpU2tg5jdiC~a0?A?Jb-8y(qRdOQ;03cX*g
zys*55=~#GUU2^_ZAY5sv;*#2ri^gBJ$|tPyrd6N7vEcszV?mt0^OPR=4QT5{3~8+A
z0bX4r6#wWbz!kX~mqr@LRk$`g5|(1sEZrNWaxj#G5dLcsZo4m>nG9wPuvd)k5=}sm
zHM$;2gLIWGtO0OkqG6O0pj0u-io;rENAY~WlzVr(yq{kQxP$`s(23T&o2yYbZIX=}
z<UD&bYkC62iJ%}9g;E*F9LTJ<_qf4D1lE(vmhc8B$S#C!A_%(KE+lH5zz9vuOjhIP
zJhOp$<25?IJ=ADp@03=P*#c&0xs)uPs*oi<|ECv{6@xtEV#+_oeM(?n17;Upwqmc5
z1#U9Ta7P;K+pm2wia*L{gx&MZ1KwlpM-&62d3DDfP=S<LHkhh{=icRftberot4(Ay
zO?dv`Xy1qXgTtfacnyD2$_puCSik%EvK?wJkE$ZOp`r`Oa$hw08>48CwxWPG8)cZe
zZAQst*imE`m;VaL{rz6ijQ^<J;g1k*M}MgH?O5+9(j3Sw@l`cC!O}usA^TB$$3Y{d
z<S72AzkQ2B<^q;YkltoBg1xf4YkLA@nWd4<wxIDcv~kvFB25#V;wX;wb`kLnC<d~T
z%o}!%ONNZWU3w`vn`OQQHp})74svdSI5&u^&FO;>dzsKLrksiZj*C#N<{dYxfHw3Y
zRN0JTHj^Gug@!5-=Rg%^aGL?lj*bt@cZSZ-t|qdVr8J;;SAz!D%igjX9|4WyOPU-X
zpX#LyIbl|wfi^_qQEPL2GDXvAOXYmY%*c%@xS)0oS7|*F`h>RtW7$ha!ezh}P#okO
z02&eO&4GDiZ)9U&GZAVV1HBO=<e1qk>(ekSkZndhBabI=bIlv0MHhrPNI^;<Wi3ol
zi;dQ1d0R6RhsqK(ue=yd{ze}}+p?Nh)<<(SlN@IrD`_YD(xbu;iC3VapnxKlf_w#O
zYn+t7wu8m>*YGMf8_HoM-)VHC7iB<I<qcn?@~Kr*3PBHI0~$*bkQudwmpGFda`fD#
z+Pq;QNbe13WX^vvK51jRY6dbBGRN_FdQ%KN5GViKUlF01&jQ@`KpJ7`y@1TJJ5t9n
zf*O=Npe{$JY>20KtOSZVpA6|EY=JaP=KH(&W1y?6tJBldFTecq{QUeM|M4HGI)C=m
zUP!qZxhR_kjs5PRsmhknyz1fBY0=qoxb%i>6AT-jzvz>3NS{aHRRG5x{q^<r?e)#y
z|NY-HK0p5PkDoq$`sY9Y`IArnO0(s*+}LOu6WqQg0<HRjl=b4h)N)cS(*`un(XKih
z=bVh`*OQg6;1JB02J6?y`Y!W|mr4On^pHiRH=rjz54YBn9IDzZuY)LS?Q;J?N+9EE
zQ&7|l$@~=%(er{faw+kzrQxDovKfvFD~*(bc~%124!KkcQnvQfvhCW*VD18#l#un~
zWdbtKak8EXitN4eIJ?*=Gtp-s@N5IuLD>Qa*$#!>9Xp0KoM(1~H|_Re8;$JkMXe0-
zb4_-E=O&7I)Jpak>*sc})U$w)ee-RO?SXBYhH_E%!pN-A8`Af+IcA2BOUZ8TSA$0B
zR{Dk-5I_0OYyN60V-SQS;)^_DEBk?mm$<2jKSL=QP|4a{G@%cB3?E5tfl)q>cJMzK
zqkQ(wzud2K=s6+_Sw4_v(V{vu<#UucYB#rao-}Z~T>??etv8wMI03eg|NMUaBzdGo
zW_@rhxxi1?0Gbv;KgjCQb+v)-XBrUSZ3$@HXx0m^YB18jEA*Lc0m(Eys%(sr{k!Vd
zUipK4+kIDgj^@b-qjtaL1~l+UZ6C5x!;k8lusb%_AR8;P2d+uLmgrTLWslJT$R~Vm
zy|<?pWc$9Y96>y5Y!6W!*EYm`5fRU!%$=t+md-PK365zrHn}*u(di*C<s(bvs!NWq
zC%SAVZkt?0t_B2dR|Y1zEzpGRiHo)r@y2TtkZ}g~(y)^ZX4b0+2Th)eCNFb{U^BcR
z(kR+(c^)oSbL7p@!TrrOF&xb@-zW?6s)Y{pSG8GY0u)>jZ;T6cGeH;PAwR0314ma^
zcSoD!Cx<brV0v+5>6)Ml84D_E=s@Es10i!7uWSj~C<rn~gHtO=PY|~&P$gnVYe41=
z`VWMJMiXt<Aank`m$1|?@-*@|WP7J7rHefg`VG6HURhUN1^UdH(<0dnXj2k2dKYtW
z<kD)!s3LbWOCcUD(!yKFT#I-8cRDIlggGYTV|Sq`0&5`oxMaI*<1qo{E_bnYD@mNl
zyd-Encz7~@#X;HP3{YHjGkNhupeiK>SC48R!?0Qk&Lk^=`_<@2`B%Ba*0YGY;NsD=
zatd&iB%@_kHiC*+hzr(dWKCN)As@#EC2&C8N~E7%C;k0~2bkpsw75FbgLRv(sn(Wg
zo<Dp4i!Z*Q_Fw+xUq1Tiqu>4RcW>Xmeeb>Z-d<i5zc7|p;~RAajYh>sp}Dk%_3?=(
z&^6?&RFp<92#QxsKbt0HmVvHTbL{&1`sC!~!w)}v{`~pH#RWrjb#;Y2IXS+$xzWer
z*lXHwaM3t|h@jm}A?pQcvh-hUL~+_^R#7cN1kQWfy}hqrDJG?eG{UMrbK!1UyKHQN
zr0G(wr##Xdk;wbFrUwu3yq$u~lK&>m#_;KOGAlFCtE$Sf{s2<a7lw!<i+Mmy8tbzG
z&|rdWR)WtP&{171+xVGx)7}A1irN^}F7h$79)hfIY;w{40t>Tg@~8yFk#ccSa2&X0
zkm-Yp>;?Dr-IhYmC-Z&Lgf-l5gOR<F4d7m%NBK9&tBA4frOD4nJ+eL6G9cM3qioDo
z$1L+WWZ!(*kv=l$f?LxQ!Kse)AXjC5#z>#r6}Luc9MxYbk*@VR*1*w3s{O+u_XFM#
ztVk<ZtaA%6{cpKX;u-;qYZ+JL!pml9oUG_VYLlA!CisM=cmHAVKs6ZU<2UGc#NFTy
zXw+^+*`m$TTeteo?y4a^|D<<59Ja~7X)f0`mOCDZ;keanBDIU{a&4f;{FpY=3$MSI
zKr|sj6ex|X5qgcVW7>x8n}$~7j2Z>|wmZVN=+~pEW`iwVFm|yS<@2t_;ay?h@!U86
zQT)9(pb3=QHXl78?ULyB1F2f#ueQ4#IkH@I;jz0(zo90K8XfgldMvXs(6~tnH*D4u
zAs6BDs^zr~3g%6o+1_Y^tlEtFJGx=I?Y?qB7>)DjMo=5d847EA^|bGA9t~Wy0g4w=
zRf>~khHNA=v1LR02-5W9mLtoiX+=p&qi$jb;3^W6A~rIEBjFG=m-V<n1oR4`(Li$e
zI3iT(IA$|KZH^A&FXNZ@5EvkJd<BZQ2*j~cL?B=|7f`IMn?J7dahJw=j-=jzE@Mzm
zAJ~)4>(`g(XHReM<4FMA-RYMV8Hc&81}WxD%p-CFF_DcD^cq3-8M35b423vSoJM<l
zp*dfi-UuTD^fV+`1N<kM@JzB<CZiil)%MbHM5I*F95Odo{>>3286Rw9hRnX1SW4?!
zqko;mHa!7dfLhx}Zm=4Sn@s(Sa?<BGb8?&H#qd-X`o%nP@Da)Lc8)mdWs^6c^#-v<
zNwr8JRMSsXsTi_6ZmH-vDjKA34foheh6GT;c{nJTGo(=d4R}*q@C0bq2LY}P7kNn|
zBB-reC{S@E`y$7s$sgVr8x*mqWQrq_ku|w4>oxx&xkVd58jbApY%f*!htphY>_><o
zWvZ}J0ql>Dk6D!d_=i7J#p?a))vFIb{P2JMum7bZLKTmFm??5z-yi~d82}6@8fYpT
zA%Cav0_*E%Jkw2sCa4LgQFKw1Cca~FX|FA2YeXy+A4F#qt=wYJFD{Y)<A3~*FTecq
z=Rg1XAOHBrU;N@1*Vot7+?3xNJUNLkqr?VF1}%IXGquj>ST9XRu9DQB=hkA{fL3l%
zS8^-5n84nEHe@Lq*^4w%q;`3^af4o{<q2G>r9?7GL<&#GZrZ*9B1K!HyJ$2U(2YS>
zR$0ELIqG7pDyJ8!t)o<ot9_9|=I*$a;ZQc9iP%^I8fsi5Ybpgc0N7_ULtlZ?0LP_O
z1-{J(117nxrU?P1^pc#wB7(X4)kFgxWFTY7!=w2xNTdW>ODPI65c2(@Z0uNcEjXbn
zTSAMNQJSq;x#?Zv+Zbf-{x*)%H%*8{1_jn5>8~^mSY2fdDB8a7mxv5{q{C8Smj=@7
ze$UY+<veIxU}L1#|Ds;N*Kv>yn&*N?(d6S$tBrzepZRD5+WAY$1^IBxGTSa+<*<98
z=YXs?hX?elY9dIr7Zy`R#lwg7=jDAd8i(&2qvwSY?w9wsAP@Koroqo0gg3>?K)N4Z
zB^fl@oWDR^a=UxRdj8y?P5o7bJ|K?v4Z;ojG6BKsfb}Yl@Tfr#xk%<5K#sOO0lPHV
zH=iwW`cRE=W8m6R%#6``-Z%Q~uy34^eREwf(z>+3E`8q%O6<|G9d1C6I+g=vn_&a{
z=tse~U}T0~(IjPt)P+1OmhgeWUQn@zL#f!Hd6qybRDa;5&kf05K%a}53wCVc*iwXv
zn41uq;2C)wM1*`}mwojW5Isim(KnG*Y;I7@v%N^;j)9CN%hxO}nwGt8Xo~HkcGVa(
z{jz@F6S%imi@NbD=`0Wr@afq@gy6tMEiNho7gZ%oxmd5FIERu}7!V|n#7L@WR5k!J
ziiA3hEhUaSig1(!*r-u)OOdcHAP5lmcsBO=1{7FNdgfr_2S<m;JlYcwg(8>vv3c|6
z>iM(xu5aVZuZekkdkrCl=))S6Ki-XWzkoDCP9`JUWYBRD90e5tE);1<O7T$~8P`IA
zijLnv`c)UBZ_5TIw&|;ktdYGmSt_60V)p7I9F`3r>rGZ4R3JWHSjxD{qTC(w%8-Tw
zlZz(VKJz?(s$~hlIAk+}gI`%dBM?}|553~_@dfkR=&~rlJan3V!g8B(E>I;Y0^}nu
z<b3i*b~e*770MpXJpbbe))q=1Wwdk`&l(UOlSV}HsN0|yH2ySFN@1y?5YJLu|KcLz
zl0=uII<CIh0H{{QkP{cIZ(yYYif7AJFQDO9tz`c2paDvrfn6oCYH2)_6;(FMjWZE^
z{`r?@XJ?;({`m(VeDM3<|NiT*zs8Jesu*f4Jw8ad)`9O2q*mDy9Pp6SK>@ihxmYtS
z-#JAQs8$B5rDLkKjI*b}qr{a9Q2hDNfBu)RzW(u#e|&Osa(;eJ1eCY;vEz&-1BJv=
zzQ`uBkT+_jQ7bC;(x51fwp0$v=C3r8q!Hzq5R_Wf(U{@@am_9jh5YT$Cb(;?l&zp+
zB!m1F9D1uu;Bt+UoK<BoQ1Q<qTJfEZdpK0hEHeRc@=?brY6BV#kOmTF#Zm~j2~E+k
zo?JMvaYQF5I8gqOFe~<w8V8^%qj=9|4YG2IsZxavnhoejqnS7MI+{ikM>%AfkwY;=
z*;msH7atTu#i@65RUdyBs3CxR&18z-1XQs}#<)$-L5-u(DC@jUSdDKl?#4wL^l<=Q
zb_9+IS+xhYmvMGMsupQ|p0`M$)U3m`jsP-m;N#MucTwamp=1#GO$0fL&+>~@G^EMu
z_tAsVcy72~SY%XO4(9vPs;OW(zddX;4VHhObpIsggVHl7ruYlwd$0`h&%@&W=C*dh
z>cs*$R1<%tgImG+x!BO}Qf=awe*=ZP(J_`+D`AU^s`4o1G*+-o-Wbkv?pKqG!}|DI
zBa-J~?k}~r6t;8<Y_ILn1UH&n7h@EE6ldRjMo|15ZO37;naJpPjj(V2qjA_5`?mY8
z#(A{<7;4Df91i<v1A24-a>IEL_Z`sf1CeXR-5)h%GD5y^3X0I5*g)KkX2K1Di=emJ
zj>xj0$p?2~`*?2G;9gncHW0DCA^rFW$|tuandgHdNcIr~_si`HIc6p~W|nz;GMcbJ
zp>%`jT9nd@7^=n0+(dAH8@=*z{D$;W?!6p=<AS4G7s18zkOUNgDgalJTHy46&13_l
zWQdNBkC8kWUtL`xQF=ZA%<v)<PlKC75{PKj8rWQ4U)Mr`9Dx#mG%_Pc>uUwuMB9Z+
z9z4u%Ku2|9hX+R&7dIcg|KZh5yqC>b-P~N2OmJC`PX|S?R}PYDMaVplPbRvN?V)i1
z4kChm4y!Z><$MI&s1;$vGjed-C_d6a>3oVwAp442V<O*GV&pi~=1?+53f9=>coR3=
zQVQZs*KjD1J_qc<NmAJoJ}wPLagHXv3>q^RdjhIU84TtRMW6&oURZuW5~j*ez5+uS
zvc$>9E87@Sx+?d#vBpNw`@$qsl%<&h)rwGy+)RrPDCy5{B7<Evpb3E&gv4s_@+CTY
zQzjoZ)i&n~N+Dmrq$%|^2V8O$kfwP9I-6Pg-E%7iaYobmhf#rRfof}W*wj%CWFj*`
zng&w3N&y8Gg`=Zs7$?iT0gXWv3Z&UgS!XX~w#+y_oHvv?7H}>ZH#awzm)D$<uU@@+
z`t<2P{^LKMot-JdVfkniPE3Hk9CckrQ=$fB-)pub4|~RP`JBPjR@mH}5;Iq=y2%N@
zYG0L;UJ`6J@qw|TksE};0l)agFBpf9e(*!|Z{EE5_~VbcDqUP$9G%n+1x271s0dVL
zDLhOcwW^3cl7>{2-nCgTrM4iaea?E`QHAC0eQcChgJm3GjUawhHr!oHsQcJ;t>>c<
z)|}7NrA@Nf$FVEq2~8tw@u9{9+Ryg}G*S_?eny}Ik`IfhjrB)76OTg!`$F7`l*q~l
z5o9c64pihw(Z{?2O<7?Zs0w*_w4T4XrNQwkCIO0)(U<b$x+^Frd^XNf$lP$+B08Ev
zw%7U$G^$nGwPK?69}rdq^h1PFL}pndjMjk>I3)=sP?RL5##6kJtH3eWu39R%pbcf4
znP_%JHU-in^LZqwO7m05dKK;7=(k|iAfhkhYkYKYfeb*-lVWAdvj+Rh#%PYCU2;s|
zVxu=ocGY(a0htSmDS4BAq%n~8pfM2O1OcoR`QE19qLnSzVmA5CK^~6d4#LGb_?#8S
z5w%pYFsA#%*=CIVGC_vs55)OPs<=D!abu5h{Pl!}eMxV8H#V#BH8I5n@qAyJQI_aM
zD3LsGGjel+n@|xrPGGPBo$V72S+;XB4mGf^=OaWCd$}n8>@I`hI1J*CpyMl0RD9s|
zU&>+|X_z+{t=sR)UdXjdc>D1Mb`i0@LDuJ1MtP1f%73Ka7o#})<~hRlJag@6B!z?H
z&0kfTOd;Fdgxt(7O^)m{wwy3>$&PL)x41p??7ky>?!j>v*MW?jrmRF{)<b&Nn&<&W
z?hvl)kbaifo+=Eau~~C=$v{&3bQn9rq_6p}N?>~t7aL@K=FYPT+uyh}k(;6h2O@pu
znE>(CDlp1NurYd7d2E3+lFGkt#rD!z&yBALuu|xQK-3C|JPK6Q1~j9g0pT=}F%R}|
zS|>58APxdiR&s=6iM?x8B@Pj{OXv?DHitA9^Iwr=43`;@rDR6dBXwRwtPwG+SMm7x
zSj`zK-re|~rdm?ws(*QTdv<#M<S@Qeq@)`0sUg{5)14OMfP|wd-ZiY{h{#@i1jo#X
zwwGNqax{-;(?p(cS&pCwo*p@eEJx9t56GE6lm}gV_3mhdS}w50p|U~dk0K`zO5ku8
z0hO0pA(uP>8VS^8MK)*FN+Yw(GXXVP$qO!65AbE$i392Nyi>Psi*xpxqP1SV)Cmre
z#`!~>Gj{HNDFq<ffS!uAEorQ0iOEHfIiR?V6A<@98k(Gdfkqq9D^+A)PF^~K%!e-%
zAnqKHLaCgOODP4!{lYXw9R=w%fOu82<S6udxIt0F&IzNU^uRo73#w&7^9Hx!1FE7T
z01b!+2dEb4dZDj_kVdtK<qhc2PIoduwLp4ZP>9UM;_U3~?c29#2zYsU`Rv&<$Zvo9
z+ZQi>_|O0R&mVpC(f|2B|3}6+1}Sar4!kN`LjCPAviC-0D>;URsGH^_ERB^QG~KzT
zcfR15;RT{R)m~m*J$?H0;^N|@fU&xG`}XHQ|2gA^o^iwe2S4}$%eXE~TF-$SZ6JM>
z(+MkN7xQcnYR;jkdXZ)uT6&(wqd#>RRv@cP4$4=c$VD2XS|mM0`75iKeN!mE*&VWk
z6Zd9Kt%{qExhN=_%G@tYV|$@g2E<o2d7B%lDJNBJBB2iKbh@E|2<BxxV^?YFZ;b%4
z2G|~OimA#iO1g<`4E)A)*27sKYoT#T8@`mBzlf0SorY11rM4)7=I$7iRbU=WM<_)7
zrM78E_lG@Hi?Qv+l|RKs>J3M*Q0@=q57Zn`(E)ROqzr5ZTqPo?=z}X{{wQQ@m)v58
z?*kiqtv`L9(%8%d^agN|Y}RDb6g{51!@(iuUOyX*;@h{$-|5*v^6>CTdx$cKdzyl5
zqkEOYANYsCpjhmuje_|tX1UMj+D3{Fid=v(2~?N<D=D^Pv;i%oR%!=1k3=Nh&Cz)3
zI?}@~USTFa_dO#wm+^2vuLIK<25e7Eq;WWS-s$6uXHACE7IM29pR5tkI8=^#!2Btf
zIgs`Jc_)4lFFX`dq?7b|XiYAH918T21?;;c65Me>!&f6CWhQB59=D9q{K;+Yf>Hbt
zoS2G0Jg*zMc9hTPdNj&s-+qmdbNenB<%2#Ck<4tITh9jH9~N&w@6!3zTtQAW^S(>M
zsAEn1EDhO6+1MLQAXOm^ijA2u(lg=Ys58nzOfqcHW2}!RJgr3t)z~XIKo2JwAuDZT
zg8n9cM6POfk<P>ki12VFf)rdOWDQceDW*XY*v16uzBDfAvjIE@G3+(cyI&1@y&^OV
z(3UtkJ;BB%ASVVN*>i&q!2r;f2p}J7AxZ#uc~Mjq1VF5}85~E5gHR>2RSqgYd^kQL
z)Vy}vCOa07AV3SfYBNDEGoY;U2!O^#<AB*x9vp9&hsp=Tu#A3=H=qy88+`Z*auJUh
z9b}M+pll;(fq1E@P(X*3ebWlX(S=aQOUU}Xp=>?G_Dvd1v4?_K=5{mk(Q&)rXnG?f
zHw15vrXjN&L1^-{!6=Rm?3g3F)?~C{YWKzwy$vAd^fotSF2Duzhr4;QWxe{<_wBZ9
z=zRALXs0cr=HQSy=V_YRpy+Dr;?tL>2O#E0(|Rb4^@56d13Dkaya8<@Zi2b;6kLl|
z8Uj+p20$ENmNQA?53E-X;(|DrUvtL626cRv8_-cb8CWB!tW*?~s@^!3-Udk7TPaX{
zxQ+EeJY$O{JSRv4Do@{-EX`rrlMYhG(_mt-)Ie^^PvlX1e0<FH;?=8HAAIn^)zuXS
z=+ST|@cZBY{`xvT$OQlTum6f(%akIoFDQG0Oe%W}YBV+uQc)7zl}ji@0W&uVi|O#)
zl|Qd>704UVhBU~{^fgu&7Z+$4x1avxC(oZhfAi)I<A&uAfA~Y$|K%@#dG_p?ct)df
zQH1n!u}5oPPH=5NOCwo#nICF@E$_IYs2#14Ua+MA&l}J{N<-O7DM>ya$(ViCPa7Fg
zOm9HPZ$>R6jJ7<~7Tr~RyEH`TIno=@fFO?JF(-KrC=z9EMZ5>28{g@jnvlN4o?Wa5
zI$o+py2=r(5y}Cak!ov2wujS4HxaQ)ZQqapcb;KdpdvF{N=ch#*cfDkUXLaNjgsu)
zRJ9=Y+@uzl8_<SadNgJk4l8735B00>wI&b59T(5}*bCzO!yF2%b~%#<c|02%MV3?*
zvME|}6%fe=@LUw6QU2nBxbEkB<oPd%kLCjxpvso;xCssjS<OFZ4qS|8^GmGLR<aFn
z6)A`_UZ0uCY-(00U6@~gj@yY1|64<okI^j7hMMc4^?8KciXt%1Q|2LMfE>ji<%5f+
zs1BU@a=0D^XK#!T(Lh786bU{Whe>bC9no|g_dGt*<RX|29u99te~HpXuEq3ehmhkp
z$vYX)MAP}zC;^&2U~kqm1R5I-=&DVx6h`Oo2z^SzDE<i9zK_{!MtP3%8DZZ%-&OpP
ze&6`}VibSxaoG1q2v-j<B<ojgz%GO01rdleUM{MYW&$;}Jw_8QZ}emkP@xoA?rz0o
zUpPJf<=T07e|O+J$hfMpY*z#8g}7Tkh*w#GTJL*`MoQ$#N!&oFDBuM~<6z5%s4ZcY
z%Pcn}*gz!v8Yp{5!BvpVNA`^6mQa~UHpVWxp+@?~an&*tAfB5rZzd8Dw+p~V1gHv#
zlZH6ZOu!fvlSND*GYFO*ABsqGklm~P@Zt3M=%IY)vXp{s1d5rA&Lg3C&!HfsRBBp`
z^mLuU;~$1c<x)7jxp_D}IeRj1H%I)EW*xDjoViGktj|2>gL`EY$1=nEEJe&$(bp=P
zVFSA9V)kn68(=Aj7hRpt4K$3kkeY}erCg$KvDf5K4f-l;RugD2a_7HQcfTQGO(wvH
z4=@Ou=_?~BBE_4#F;xk=-!9&vL~49<kOlIN!ohrIEjMi!YegpJ#MjaUksg%%>j$w>
z?$Qv+8_<S|$i7FC+HSt%f0JX~MlbL>Nv$Iw=VS`3$6Qr{t74hEj~=;qu3aSnE>xac
z&!irg@{jtWs=QTA>*kZJNoJ);qfx5f)V35^MN{P>glMad+IXc(2woD*10`8B_nU*d
zA;rW%Uz048B>X3PikR_K^ZxVq{_>Z<eE8vqH#aw|?a1H$_P3vW^2z`GzyJE;#f#tl
z?su<Vy+Wx!Sn;l64@FjULa)hCZ4a`nto5z)O-fho{s#1@ML{+^ev3$go7>oZK0Q5s
z`}Qs5`uh5pzx?H!H*bFQqaUGsc6NSwdHMYLb4Kap<OI#@i??zF4q`OH!F}0~1&y(b
z4XMSlrCU+D#lJ{xALz;{jo+vhq-=<|q_=}r6oOB4$ubuO{os=Iu6iiHoG9-78fmQW
zx1p=Sv?F4B5l!-pYLJegj;4wneXZ(%yDo}B$_BKQnjQ*^vX2kSP{&trP>YL{I4YWo
zCW1-|o}u_M&Mptr`U4jFi7u6MAJv5OM^j8%`^qLhYl?d|5VpJb(8x5kefJHgDjV@W
z|G7AbWP={NS5XAcRwNIsi*|IX5Tv;_OjXQMa1)>jD7e_@jT~W#xT01%fgnmxSjJr6
zKzDz0El|IDjPuzBdD#~-ir?t7%WD2y+M>F^#$a=>_#ksaI-ScnO)iTc6$~sktTjY+
zpbFwk4Ux5!ux!rAzTXM%xQbxVVnw#h7<r-B6!Hoqp5tWh`O~0$2X`E@j9QoAP+M*}
zR<V1(s^!{OYG9mC=SXpKZ@$yn=-ZV>j=9#MRxvlUG|Le(C(qo3xkwY_QDpnvN{><G
zk=MJj-_oP)34cdyX?GR-CbMt+k-g`Gq|!j{8~<Hl@f92yJ0AE|vt4{gHd&wTy_Ss(
z8fbyDOGA2$Lgf<}VxAAA5e@@r!RkRIu7$UE<@2j}c&tI1eP@F>f;vK@(WUA6yaBZs
zmegj{x&bgyWMBfwQN?Jiz+5DZ3dEa+TokdF2pC<E04@Ma5s)1lXrmAt6$N=g<Yiw-
z)&ms{+xG^IWm6RJ%KdT>h;EpyF?<{q&|$IHL6^p6S+6QMP^~z6ojwfCP5B9aRUseY
zhYu$kp0(<St3djk3DTgb@fWbEETLDfYBX+&DJfDmTr{M0qLzO)*Vp&W8_=c8)Ynil
zHWv|Zq>+n+wT(fsw9-QQa4T^BAoGkyuOM3>do`D#+8(2J{pMf;+c$)9RZ(qO=KdPa
zr%%ii801>GidlmEzyPezaWdwJ$r$9fbU}_Iu5KzU+#Ar=AhB%bkHHEq4N^q;Y5oXB
z5g^(@dK$@pZP{!<XD{(A1@VYkAg;Yd)uJ*-3UH4}*i2QkCOj&lIO(<Bd_R5Z0vc`Z
z+aL;ZN%}b%$FKVJ^Xq8ZK=k;lN=hIz6U!OZZ~@dBY#tVZrxC~-(EMk;r1MnKT%f2t
zt<RAyMcf5op53!l$8%9~v#DQIWU2nj9z>y_xZKCWbRU=Ux@BCp*pABgbudMBmQmES
zp_XXy>+5Tb&(F`VuC89adWFraS8uqK{PREmv%dWqL}LWp^MP<*&`f31APBTyS)-rk
z54lBg;?cDNG}%DoFGw$7A989$ULdAR+0MWb`FDT!cQ0SQ{OM1Bs_%V1K8)|YVxUe=
zP8h>*NZ+AJsj|cy65lhrgIOklX#*OnBT~7xU*oHQsxsGR0&HUmZbuu|l9RDXQCHlT
zGfPU1XDu$j1G*}ga`z2rNyl%H`<vf@hLq`0=EF1@G)ZzO**8icJ#&zCkqU}7P^fA!
zH3ue*O4TgGE+RtthL0Jp(!bfV^0<Fn$zMey#R-UK_&cCiYlXf_nk;kE;*!mH8q{V-
z^Bgmi(fVV92ED$~<Rk&L=DCW~+<HTyBvmVSkXy-IW<5sZlkc}Pa?FgpPG*ol(yga7
zh8xg*6X<2uW4m6VvTRNtyKk8%m345=nfLb9pnHQg|BY14uNkao_vLCmD@**5JvfZ7
z%wOAp9;1m+p^of}-0STT`tcD)Ug&k{)B!TzB~Ieo-XInf&|!Bx-$!W}-27CQjpwao
z2#JL(XAu43ybI2KlO(k?x;Z+j9?M3Z&!d?LvhR(3zBe6giUtvKDD!MT@&#L}z8yy0
z-?yQW{l4)>_WR<U57hSrA9_i3--D2Qkqvr``n$LNz8laD95>tVn?wdHm(8+0Tw!x?
zl=*=n!*Q|%`(LmF5Vfo2wdvrfzZs5iV-eI``)_$BL@{kTYytV>2%Hr?b!Sy9^#L?I
zREAqY^kjk-T$`C>WKHI{SJw5b50Z@yDUq)29R>O;GYpU(|1I{F4VqqsEOSiX=!_a_
z^tNvhiB6W;g~L?Y61outO37Uyz79Papit&bk>HM_D%_<<Vq^Uy{E$aOuClS`Vqb9?
zgiWzG@w_U!nb;m!2}b&SLttRM*&NfGVp#`)q2xy4?c3`u-vNyk#-W<{s%+3J<(|n1
z<WSiXBgfSQz|r81@;pD~D>;haXD(81q*kEwsQ1zav|BX6Ks-bGT9~kER@pRB#YH4@
zoNVuL&c;FXPr<@|3X_$BH0p@?QCeDoIWohVdZJC5YzaRo+mV2xLgl}hd~^dk<n**N
zYbJ;{`EL&AKcPh>u0fLx(wn3}1|aN{UL=&0JwT%kXz?6Jq{^kfDwnd{!Pi<r#rO*P
zlr!A5f{T(i2z2>~q+za)82LTrdW<F)<YIiL2^2Odrp`wx1r=F8i%E?j2{ca{px4(6
ziD#*P<)Y-_5$oaNV-KWBekUE{hbMQZr>FPjFIseA)iTT2-jo-dwJRO>Bc(g&j}AAu
zTwh<Got>e7`SK-}Uw--J`T4Wo|Ni%X{_~&pwGvu&A)^OECl*<B#U3^op>foo?t-l6
zVV`_*i<z5*#WZbroKzK%vC87IS5e!SXXo+mGs6Y{o4@&+%gf8Z`uInTEt(HL_y9|W
zOQQ#201wKK&IyVsh+C6Ly$&|U%A~jVbra1)c_e-)Da$~+wQ-P&KIAfji$<frt<$-+
z^l?Y8sw&HRHEHVT1*V0sRL!>&dgFT$p~z{UxfW+KZC+;yG=W_-a{T-@Hz>!y+$6+p
zL$s%pRH15Baa64!jlh84O|O(oUp#{7>?kz>^Q5a#@MI7q`7ZQ^N?8e~Blk}p*??~2
zl=112e}oX&OUts5L*-s%+1Qg?u3d$yazN+bdyUqg5t`99JZP%2K_0qQ^a0^O69Axb
z5J(1^rrk{T!s`8VLB9IU7`38VU&!1qamkD@9mE;wGgfVyRz`6=uWTTKyGd5&V#eL=
zO}h1(YvU#$us90{Q1qc}LMeWavH`t<rF}j}){o;Tem>cIWUs#O-vva|Ay5M5qvs1j
zIb?Zrckkub*+NFyj{0l+W}y6mWrNYkDF1Thq9Hm}Wob5gM{1Jj36j^z9Min%$RM2+
zD1z_knmD8L9WPnRJ#!-$9kz+zxIBu+{hedqd`1}MIns~X-M7E*D$c$jzM7U)b4Z=A
zxpnbTp8MuM((nBh9Bx<<9XBVG8_W8UO-9qPrU<NAjj)=JLG5V4@&&8`aTHSl;Q(XD
zk>1U%whMB*OPhEZmRgj~0j@@YiGWSkP~>R`dAs~E6N5@Lf;7>AX&l5eaSke)Sf61V
zAr}?jjW(ol+yeJk35XM96k(Uh*~W<((u@{#rO|XJlLpQo^zClxMFtx3@dmVJi!4Qu
z06n!38WpEX35cu89GUg`kX8NR!%;k@#!z4&Jq94>kdcE6nX48lNNHrt<Kx&^0Vu79
zlpJ*`Rd*8NDfG>otL+=mP5yoB4YC1T8?rqdRs(L>p0+H3><#Np41yrDK6ABVE&}>E
z!bs0}RJMfen*^FSpbZzBtQs>Qjm;W^M(<jWTVwBHW1o$(%d~&kf_8l<k><x`FNp|(
zYn>-RU)ki&iHgj6A-`P<Fn*Yyc9^UwX4+DuS&>pPkAKw^PLj@9RRCq)fYw<d9&QuS
zO|6vzMdu)hBfTLTCh1pod~<BCYL?<a20YT1QW`+ET-)@uhPiin{3Aqil!36^#GgT+
zSyR4K#v>3Yff*}laxL<H@BzSxZ2UP{ssi~yAZPLr*XyuY+Gj2(f;XTAnIT0q+u?P%
z4(@MmZZy=4At;8$vT#-{EnKXk8p+q+y!zscFDQbSFJB^0PEJ^yssHM$uQ0|@_a1P9
zAEph~47F0zDCjl&V&S{?cdvT7)0QB4hNfIU;PP#9h+;jwvyx@qMcJ#U?aTXealE>^
z`ps{CQ)-?(J&m7j{N*oyd3kxsn7n!O=Ire3;^N}z)2Gy4TwloyxCx-d1nDQaxDUxL
zz(tcBCm!XgDk)3PfP`gv16o^ka_nV>HITdM?P<Y0Z$M|_H@K0DYfajKw!YBFlYbkT
zAJns6#~r><cErW}l_rYmDji$~O6i~nOqKr7U@6i7)!p5+Kui$?O+N!oWz!mEjnnXC
z1FDTc)AbkF1>|(Bry~bXHhO7YIjbsj!TgW~E61A9Y(RrmGlPXfB=-VXFGLb0PBT6R
z?izo^k+JfR>OPJ17X}&mAZ9qdCXS0u{z5humsvKJo)y3b5J9|HEznenNP2u4$7Vc@
zoXHZ4I5yLZ4!K21eOd{Tr8%T;0;LRkjPj8^wKB+3XabIoqs+1t$>T4Lcpf*~$AbhX
z@$@wsMON<fPCL<37KGjr24KuFi;?#|(pJpp!e|3}U*tg$9?N+@5KU852gqE1Vd=I^
zWTqlgqzo~4C*_}%Dv*KUVq<0u4c6`xfXtd!3Ksbr4hs>N?AJ*_wT1)wx+aay)-nnB
zJH8tO27J|pfH`v0N`{n=u9M#p!+z}<e-vkg-2Gj!Z~S+K(Kvj&{`TPbswxi%a%8_R
zMtP3nFW!L8M*9ZJ$iCTr7vJ6E%hGK%3A-pWhaJTqop_@Qn0Z4+H&TX;L9vew4!9i&
z4zd|&yi~*mC>ioBl>yaGaxvi~0nd;nOx-w>6l4H0SCV}w2W-FvzNyMZxQZstjg*wY
zDS3PVwaxKzs(Bm?>=oZ;24S;O?ILq?8BM#!s(sU3E{<*-eIsb7h&^3X#{onrPLVK>
z8JXBpRY=8=(md-u4$@cO!-vx&=6~IcKnl6D6fHApps;EPK!iLF6f5iEq$-+Lzf_D3
z9_}hGE^hYv4rp~S!&NFauzd+r;ucw238-H{#oOf@=!RP9(aZ;%Wq0!}F-f4ZC3@e9
zJU-8JbKZa!noNY%d^AvyRTnG$#&=`ZA1|RXb1`eP&1eG}8<{D2r42ux*8e=PSh|n$
z5+cN?oB37e31MC`t;S^^QQM|@xUi}QQI2tNmE|<;BQd1&KRk$USCAP~Q=D3jCrV`A
zV3nh`jHQX99n;oxsnPv;0FAdhi()3;2nMxxD=)dU;}*{$_YX%bWo77+Wk4LL2*foG
zv|>%Ms?Y}mLNz#w{;FTnC`10M2Blx(;O@!%RUww3nI4v#vN2~fkU7x68Yf4ml}(U6
z@nzZAm%j+9%G~bJ^q#ksfx`#ZrK2N)#RNd=bYt=1e&FTHmtTGL)vH&puCA{1x^6f=
zJbCu)8O77nQzTyRzyJQ1Uw--a?PU#FzRwg1haBiv7duc}*%D26jFG+2d!--Box#%`
zakMw8fF7uPzF3Jo<bMTHnrIu^m}@sr7_r~{<~Ns@mmhra!HX9!F5kR`FcjD@h78y1
z*RQ!EU%tJF-T5*;b~kiBHjNgteq9jh?F}?>20_X*u6E&}cGQC8qNIqh%KJB<)k>4U
zp$+H>#k9bG>W((fzd2gHKM7tSuA`$(e<^F#+6J_Ytr6hB8_>XSKm!cqMMs>bCW+j0
zOt|{npoBZ(zz3fYx+StQ)~d-^8bL)hDoEpBgzoH3W<4EY{oiW?x-Q}c*}xks@`XsQ
zjswvBOwM0C$CO5L6bHy9o56?ngC8MmiamM*rzeQh?rNw}eA_F6ISZyZ(l$u+kS&m<
ziSL&h*bHPIE8J3}#PWFNTGCOK5;MOYeC5c=NqhxC-+I=pLeU(P_#%yC->8uD&%j<0
z<e0gz;GDq^H@al&W~`tt0+6bZSGf}_-&wqJ$QEg{M#WVqWVzQ`Pc>l<*mU0*>2r5_
zWG`DvDJkWaAY1ZjW{7yaL0mqwG-NDdsHp38x=I98l~c;TkDf0r1{=_;`GA9i`T~cc
zOw_KcW}C&|*R|+dQ94=Q41VL%+}9b|tcj+g?9F|?Y;VrBIf&3}GDi9){-fB}zJcA9
z&+gGi^J=utyesTGZtrTG_r<>Phx24}@FUk{vP%QQpgRo8mW4xRjpPnKYXll<76Kri
z^+>_`9wU9@XfColG$tk3oDyWSnKuZmBz_)4DGiEcWe->bq`_D2fT}WXan8s9qAEoQ
z=jHLbxVS*}RU&FgL{j=*l0#!D>EoD{DjJF)z-1t%dGDJwIRc<Kx=|Ax2TS?(3yt)W
zwl^6qOtKd;Z?GE2N&xq^GJxnP!>LlyRT^Z0B0x_Nag^c;+v~$keEJS(iqhveCZORx
zNC{a2M`V*N$d&>{x{0I_HAKJTk)v!t_isSsjY)B>6V>^TWbq1OjfmO>iY9_&Ub$#c
zl$Z4)NVJgC1pom5^hrcPRO><J`Mdz;qlBBHrR;m;;EqtRzV2n4?5mv~Hz$;eimF;F
z9l=$jeDvVjL-VJHj|<2#kCJ_kpWi@fauB2xXE2E_O>W2>8xc@>I$k1jKQ8OMxF8#C
z16BLSHlTx*4HOqGHSHnNh!f=S;D}zJ3FVYb?n~Z%Hnag9WYUY|(W_O<4QSf~bM*+I
z*=WP1C~N?EDBtswp(^^Yx&f^&h-ab)<GP7FDS_-)HlT|_9Ix4aB4`%<nx>UB)@xuX
z8jKal8;BGuTeAmf4&A^Kc}bT>_M6S(0ZB@v9#m?~0{CHxO;TLtzyA7b?KQuB`}WP7
zH?lb{z(#Y1#f_Qp`RAWQ(2xV<_3PKqo;|y|x<P*P%{NFKnSKD@>)V@Xqk}Tp9V7eP
z*$nN=^<H=73n${lirLSj|I8(0Dsl<sf>Mrhxt!J}7G#RtByf3k@!2na{{FM)U;Ob8
zzxnmweeuN?Kl|Cw&@(1XMWntyn`v;oiLZes0l)MF9L?*tG^v$&J#U&88heg{i#p4=
zI8qenU$q{Z7>hzuge)@w;@*G;v)RF7-OfjWj?<37s1zB9@t-0nIq|!P^{*gP%zgv<
z;K|~=KrUOaN&%iXpwakPkUs|t5_Z$wMeqsI=rGCBpmt)1cMtb>*gibmE_WXLtb|xy
z3gB4}?;TOce@nB8=-)s#VDuR@M|1wGL4d!4!%7ibC=N;+7+K@{JrzxGCkKj>Ykgcm
zmXMtPHv6eYExKJTYdvhxz<P+F;s||WcA*NrASFch;)1x(BWolbO(X{w8KJRn-be*%
zBIl1x1lur{#yl$pY3|Zj7y&5>AJ@ZJ$~bWr3CjR!A~||qoBFFb3rSLwoD;*IXs(&o
zf36pisC`(O4q`8m_24#Mg04_oA?Nwb?MQ5t*0cK|`i0{F&35O(effMxVYguRQY$_3
z$Y+e~g<R_hwIfAJiQE#0-qVXl#!cFWWhH(jAo?gC-;y2c4?LFcJFe1|A0KYy%N;5b
z&ixXy`BB`}Zf@_RAjfQ3yGa{?I%ifT^JU_)oZ<0NQE(BW`*|U^KFa6dXt7V?_#z<J
z2Br^gZ6M_0Y+RsIM%OI!Y}5N@jW~J{7bTlZp^@(gc0q12V>;hkjM^1)@5HlxU%NX-
z_M`kq*w=p4?!Nh;my4v#kQ(RgCBAR`(QzLguY;q_$CWOF4iE6)6C@$0D?W;oN5P;d
z`+gus6HyU*`>fdoqxiy>`0j#8K9E`3jH008=z+)MCQI8tdF)5S7GOQRjT>t&=UhP@
zM8=Us$_=wpjMsK}QqoL9DNqbEuAs#XE-!!gVguD?DWVH`55gibkg=tRp@bXR6p=lM
zldBwAGDBtzf_abJmZak}ME&ZK^{cJmZcy~R0&po6L`O<@Y;X+V^>{69#N`eL7)Jx8
zh@`f(5P);5a1{U68)(-m2vU%v;2<gjaU~!w8>9$`pv(9p+}*`)c+H%rxALRaH#hV;
z<`uUz;hz2s6H8={DL!hY+<XKYGv&XAIu7cK?IGr+qcQ!g>7fG$v6<xPd{J|fhKuse
z#PeAYN9N;FYATd4O4n90-C;@Ts!=8)m}N`gB2X=W=c-IR{!&_2i={pjkhwPIXhlV#
zWYnf4qAg2`*2q`$Y6RJ9mI5>nY5qu4G0itnQk!sJ^C@yZ0du?3R7~Tn5=43C`BNh-
zy3YM|C}&5W#0s(!a3!%)5cjx+YTBsHdXP7urR=5AC^uyR%256u2iwP^Bq(aT1CBvu
z*|-ow$xE7gv^sl1+`~^X+>?PI4U)(l+kX5rbd17y0uv>q;vXEDGyhp~kB^Vb%gE<Q
z7I`#Bhjq`LDvBBwj3ETq*JYsj{qKLzHU0AP^5*XD)vH%GS6AqDnZOb=jIXY)F5bLF
zDj<5KZX4i$IGE}3fs*0~xmG-1FEU1PJTfW*X`YmIUZ|P^bp)b@%prQvZ6xz~Ro_5O
zATKU1&d$ylu{UqtJb(Ti&C8cBU%Ytn`t|F-`PJXPdil*S|MqV_|M%bh>Q}$Qzy}>O
z5G0<gBYOO5Vd+=Z#|ISEMn!{BMw4GCM_E~cip4e{t`SpF&<nkcPx*JQMV7y8g3cO|
ztWgn6eDT2Sw|%3gAlDK+_f&ALmF6O#=l5k-sMm8lfUJkR?58*LGc?(ETF07>>(HyH
zk#|*843KNhqq+NdkFRQ?!8!;+?8O8^>iVMEEOY*rAO^g=dKsGO`>(<B{7TK0A0Zdb
zB>xy@Mvmhgz#MSN^Pil{-s8XO;$=jdEDaYSK9zDZ!Iy73XBUwM%>T-kaDNrwGTY~-
z9X~5=Z}*}OWS+4+UNaueKR1DFI_{#z88pdw{2OUAM-WEi)|gE=tgFnj(W$%qN9)0C
za5&vRH}D6my$n2XPr-RMOKl3r8Bsn#v88sCX^em3jKnIg%lE9SMH8zd{txAUB`&Bb
z<zCE9r(P7)asC!aF-L8^GmK*{J{>VAQYQ(}lz-!5`VcokF<QFAiRF^}oVale&M|n1
zMS(R?qdi+@In{Rha=dzs)}=Ux6Q(2s;@L7d(?d7e)69u`xWaF5%4T`t+6)iAynoKf
zZ2>pr^RB_@Jj%#1>91lgI~z7xFBdC&Xj?$Y@iX5Ad40>o38)BEg}q3V*l2uK^TAj8
z97J66A$y7M62D1l6|4DxQT)+*p4%G5{66rm^4}Muu^r`eaB}?P%9ftP!O{{vK=u+J
zb-0Ipn@qM(mt33qXh4SpF=(Z+-;$g7D9$LKL%o%h8p<u^n36ZkPnaJC52ysBbtDlu
z94x5-;#AclMNrH_3CHWUY(^vN8wAtWW2rk~uRHe+G7~Z%k3*d&GPX-U8kq>$W(2yB
zz2t(-3v?6K$njV60mN}kLHg1Bmx0Yp8d&cE2PjokaB*EJ&9RZM^y0RsNE{W5VcmcR
zXsD|CCwHguot|NjCPVhMke~#5C=H<eA-#LnC^xV)eu#aRhg*H@aaZo0=n7Nx>@2=v
zlUo=NcRvMqMR|ExRUF?~S7VuF-zE+y@pF0snUOyPP^DTIi&YCBi&fc!P?as=acki5
z-w{ndCP#<$P3<hf?(zG~%fN&ZsemeGGJ>jmdnX2Rko*pBhVox&H=TD<0D_OkS&*?^
zAdU4LZJKXj`v$bQh_K*OF)KmNQ&rq@8{BRq7mj6xUuX(EZdnN&KYY@LY&KIXAZ$|P
zMv7P?Oqa(QeI~_KCt@@vpr}N$pdkzexlyo22!{z>u?`=4++Ev@gGk7<gJ|P0S<X*Y
zm4E7d3mMx}MOW5U2&>=C&CTKA5i6dqT&Krj^YrP{Km6ej`nA9pFJ4?-T~Ukj)vH%u
zfBp6A*RQeR3iy}5{N<p`^PBSGGixAelL=n>(`g;SW^SVa;yLXdA>Vx+v3H|J1W6mv
zz+p8$)|mG}wqx2HtWY#0<4LH?%lP6E+TuVk+FyS8<v;wxKQNMi{nvlZ*naleU#ph!
zw|gM%iQGTT`KwYb;wS?t0T*40u~AZp(DN{zNKv;oF~`gJL~$Ax0ag4{MyM#}IFdc_
z_0eX!-rEegD&#c$6c_qV3L{Ovri%c$zG8@(Ob25Rs?1)%Y?mdH972}jbovIQ4?-`d
zK|pHcT@@7r<XUrxMyci;b8vCK=M89`X{yaK!x~8Juvt@{#l(HihRwt5(u~`zpN<Q#
z5@?=`kS%M#Ld5B&^$o1dx1&}<<O>>-qh))&DVa4QcHa?=eIKv^`Kt<PQ1tjW7>(!X
z{&SRnbAP2qg;f_DGz4i)20<FVijC534f3oT(2#N!WK3%J%ec{HE;sS9mw>)}1J(>F
z3t1nB)vsFOre$+@jI7(x;T~;aUhWoZ%#w4-2g@)hv#!`1`R*w9(TTl7<e2}FZDnjW
zaom}WNKn?!K%Td%0xVodn=_7#vPENgJAGw}AZ5YauZ(1{z;r!n;ql1>1rDd@k)7~x
zc+VAJTKjVTbh+p%npU<W8*g7fcL!N1Y?Dc&cNd!cjnO(YLetzT)Tl7BmrY-reKWA^
ztE_3_xHyW|qjwP*joT>l==k<M{m;ejBO{FR-#5;_I5<A~QDw^vh7E7sfZiRe9Y*PP
zcRZp^o{xHs`t|5UTpgdRTy45<E^FZZ1~kZAVI91D=hPn18x}w@9funNIK7qzQaDy&
zCOw?>>+bG0{+li^(sLg2{7n$OfzpErl@++%5fru-(g^g9(vZ@sebcU?9@RpDT!@40
zTge;Ks|_`9yD}J=tzwID(=>Ski1aFIO;iWf9k^^{02=$gs10-hCAFb{a(8yjI8=LJ
zBAW)QO2J_pSlQJ2hTAO`lt<070ge5AxnCmi_4W1n`Lj|VK@jp<`YzBkmx}c`jtv&z
zG(zTvWSQrcYblOWYUZJd=T(E|fyA(*8xoQIsP&OPqef2Ohmf<?B<w-E1b2Ka?PW+K
znKQ|j8i!mfFzG8>BAQ86=6M4;8z{atbJf(ZYz&&>DsnU*#Wqe_&%etCw8kN8ggk##
zt4AzxZ8*+F=4bhiV;7Nv#w}|E;#=ux!4v8AmLgy@{;|s|QZ{@=keUhNc^f@n9;GST
zIet}^Xi-2G1M4M)Qd5-^Vm?Td$0U#QGM^%+VwSlJvrKP5bFU>1h|eh|d3=1zazPar
z<<sMhe(dg~fRzw_e0;3$&G_o8udsRf@+BM>@b%YUpP!%Oix&x;ot+UAFSQuk@dYZD
zma7V5Ck#gCdj@8ejiH!(VA_DrjwQ8vzDRFA%0Xs5RyUvl!$_AIVFEIYj3*=c5C8BF
zC>c-2@WqQ4H#b*W?&4F@=^`64_B#R;wE-<INsAySpQYxTu+#_OSt;3&egis40jkKe
z=)y2b5y8Bu=kd%odKDT->8jxdsPb7Vfq6q52W0!aA$6ZNngwzBR(<*#X}TgMG9P!2
zR%P(5^Sp0sBIO25@#EMouKRfdnu@}!dp29e?erBTf%Gi4oIi84(fH>#psmbk>~nlU
zd{h1o0}i5}X@WIG;M}RKz_nTLAVwd}AM7>po1)Rj%#hc}H)Av(a(u^u<m*DlNI%LU
z$IQhhpHUhjpl>(VW-iD+hZSc%RI$PIe2OG7$w1^ey<sXGon=^5Z5M^5Q5ZrRh8(&(
zq@_!`yStHYkQf?iknWJ~mhO=54gryF_|E&yzxg|Jo%8HxueI(K<HWn9h)>MIRMW^x
zGmhFX)Eq%F(U-@=dD5<$ct235NB?Ic8RNYB%kZPWS(9nfo6cp>`RoES{(#xO>u-$o
zW&9XhQO24(B7K;eTDEC{B<GY1jMgwPw`n2i4-bN6&DKV7N0E}LGt?YB1=yH$QK5>m
z*vS+9$7FjKU+M3XO=|PBQzVz`>jqBUr!8`!StYEObw#Lz^+K`#n07++*-4EJH|>P~
z3<OZR6XfXs(;s9t{m;(O7kb-abc)>0Lrio`IzXFqo>r2_%g5l%LhE4FD8b<D-C)c2
zOY~tTZ@qWsmmrtsW|&3+BZC?_LJRj?s0;xnAdU|RQW&5OU<ovy<VdsRHBq(((YE21
z<6x$$x$ZDqP_(4sU8ABB;tdp{&|4VsK}~s!5FI4Uu!qhLD%okewkZ(nl(js;!7d_W
z3FYl0bwR^}e=!CPxyxbcz2S65|6K0<rF6Kq)s=?OqtuaP5B=r_)kOh0-x2EiBGjj+
zaNQT@$Mw#PC{WV(@AXa$$0umk{7EIhEIuo|c;sav=}EBO{6w>m<hK21g`<K&8k0vZ
z2eT1ZLc#fv$$3%a0gm8O576bI<tQC>F2sB`iVV7L#RYsT9HlDHU{Usz5-u|$QQrob
z^&z|&MA4@4j_}=KJL-^&We>PdIfi4rjcLh7#;PsN&Tx@PQNIKfaa|s_dYzKl)~ra5
zX|(D;7k9V9c=hp+Rs(ejw$6!A?lVUun^4#V8NB*}I0UlKrjW#^F&#>h$M@x<HSFCm
z6P+nHd(|AsWx|TM-K}k&K)tBBMmcu?EiXSmuyNQa_w)8Hcl0`lUO?j-Ors-{MV3G?
zTgZbEFObFoe^j>~FA5I`D1BhWe2=;j*wp!be3Zl;ThER=Hwcd14V6o5)Ty@e<;HO6
zX%bjr_y9=>;ItQhx&D1}A{T=ixRg3px|@2oh5xXHV56KNFS7kLtLS`!Y^M`@2C;z?
znry#Q0WHBCePrY~MsF|gfC1Gx*2CDaigVkR>tO@%is>HiW*#<S0((kGSuYY8LSQ6=
zWIu(v*d1fgJx3F-ZC;kg_xZC1Gt&v88{J}5>V==3$nX78*sH9m%yT}^6-(WtuU&RB
z#ma-qdJe+xE4s)|IGWGPgKQNt&Y@iH);y3n-O287is9lBq}B}XrJ{9x*1D+^d1{5Q
z&y%W!9(G&qnsB$JSF%JCGW1=(crF<c1@O}qvUN>g1O#@!EdafZHzypWKPV4#{@SDM
zl6r{FItucL5f0p^_q=bcf^B?tNHBesYD(_CFh_KjQaZq_(D3yee0i~d`013QAqg>C
z`<-;Y+0vH1NIH--CveL4NA|Dd;MrD4OhV@ti&1S-@jRBLtC~!ZwD^+i`2NlMOx7aW
zYK}*b%<ZWDr8a1OYsT3L1M~7!-(99SNDn+J{wS0?NOO{j44S?h%q4h}V#_!z;8l=%
z9W&u{*yK6j$@K_*y?<#p9fG?mO?TuZI_1xWJS7;M9q2gk{Sj|A|BdO8%|HZc_l@Go
zwbqH3<T=qfs&c~;s5WtO!$vQnt?F)V-G)Jh(S(0;2(q(ljfx^lwxd998X3M7EOhMf
zHYM6an3R>SpXLq5D?T+DBIzG#?4(KnL04YFOUaKf@~xOVDZ>@la-|D~hHAa?=!vD0
zu+6J0*ZN=js=9&;;E{P1Z6-t)q5{W#h9y)|r1Q!Y*t_Ph|Gr9AOrPn~@{s{z*JtLQ
zp`xI;0w#&e?XT)#NwRg=w!a9Lfa}bBT94^Z6GcLSPXW=)+cwMX(%-2JTpIYBT_`Gs
z*@%1BMACIf@MCmizZW@V`5fIJ-0u{Cq{yXy-sTx--5L-~s#<WQBVtHHIx0X`lV%B(
z@U65zF_plM$vS^dU<u8Klj1~YB3uYpvq}!+o6vV*FC;BKDx!h+&EX>k`J{fb$83Ym
zMu&6<Q(o1bdzoXj6C1x{-=H<NB)$8qtX@k`qeW*%Li-XEFq29{74$GZTc!Tk^!yPF
zo*2O-jzaDRz+o-!z|_2`M+dwNiyo$al^Wt4xKy(odERcgQWE;@;BV4h{0o)9feVXB
zYltE-f=FG{LULf8t8+Ga=6+sX5bf6&2bwh5bq)@5_l~9A#m*d-EuyXr0R<)i=rlfo
z&*v6<7Z}o$%9nQjvki+)v>2E1ek!r4waXO?Ezer0u;#I#3bM;GSG6<Ctz^Amxp;82
z#`3`VhI}9)m?;zd#J;S@>5`?lYKPqheT9bW;!UX6gQKJU&D2}^$}8igV}yGQx?Ief
z76T<%&`5yWQ#y*@Ss|V2&wE{-T)!}u^%LJCXP${75gpQ$G(=mz*Vah7aFH+Q*?@Dw
zEg_(v;HsPs15XdZMg3s8lUy>^mEZHK=x!wz?8-Goo%<7_LZMLS7zT)gvFEgt$aNls
z63td~FcQz7dt$Xf2%KnwP{Fq$_Ax$11kT8q$^FF4bCI3hRx{K;IHXjTmwv;%1*ROI
zzVMjY2})tCV><7Kj`>yyB-Gu@r>-E7EWBNE0V#mh(<tTV^N-(u&IfqFj#+lZW6N1G
zzQ6b}T#ClC&muR9=-})9Nd`Qs)5ea?XL;o~laMfG^;~j7*XSm|J#8ABgibp;Q^I}y
zJsK@sH8RX?Y370VmrXzr9QV?NuLo_8q2E9Mi0M07<D}JLf1lT%XA{^?dk)bn#G)`h
z)m?lSQgNo|bx^;<zF4QIr`W!`7~;djT`hgJp|ox|??p_4jqB5x`L3#LPhD2R+=M6T
zw<8gr*t#i$g(Vg7ME`x{gEiJDPHDub{@e9H>P%{N2@Om%7o4mTrEIaN=)1x|RL{R{
z9UVQ0Ac<l-p!xEoXqkPcUhW_;j6QSPO3w}q+FuJNUXP#gz-*2Fb$iAgDfkCj65N73
zGkxsji9e!>1RHChj%{usD8c(<fCLt54<LkIZSalGcYWTReB5203)c`n;A?WfgOMN{
zQ<sWPE@`1sLNhwX_lPmN;m_@>6F5!IEQFe{jxSHVFKY4k=gUESj0#!{HRYDYks9$N
z;iijOnXu9e<nl|-lee3u<aUYHeg2t}ZxP!Pk^8KyqbNpZ%dU}}yU4Izupjo-F@>wQ
z#4rJ|b<|6?4cbRdu_Q8p=^YXS$6T?ot?5*nmQ02>@C2;;;bnL*W>dW#_VA2@Z1v~X
zN`1>bl#%!0@g!tl<ga=EED*s-W#5>i>cext^BU7CTwX!kiNU6exKL($vPc&$6oqi=
zNysT2(0<8@4;5Os9f_{5^hFW36WrX`xD565cDW7*F2aBkxG&c79YBx6*8fKm_zxQb
z-R~V37<hQ#8?~Iu?gZq3e^#$XiF|=D%dkJXoh@*C#Q2W~zWrMx_|S;(glLw3n0A1n
zU`=KBYUL}Dwkz+`(~2WP%UL-qF2v9O1bF{O)82p;+T+2*3E&Y5>~nT=y9R<m33&iX
z#Ov{zP9+wzBun+faPo=JQM8G=?R-lz!2tJlC*bxi+HlfH5D<@EJ#ML>RcaX2Qz4oT
z=KS>s(XEu)l}<nTFjHE2$hT&Ya&PU_4xHv*9muV&-X3qQ)+pHv$8RTs!p(u{q72q9
z*7IUA3I|!~<C#s%^$h@L`XOJ+(n|ISHATz~dI%{E_VG*$oU_B08YN8N$D=K7rLeZC
zgle*l&9^k<7?hK=2u{iBW#Y@^IoQO4NFIG6u0_htz9~GA09wT`0W^(=>A<8ZwJTMj
z`_y69DC=-7C8Fn&F7c)iYja)C>qsnRzAid|KWY?b=3%^1k2A{0syNh^AzX1`vs8bR
zwv0yY$1LCc46j*cbb`<j!2s#Q->^o1kn=F+7O9S1V(Skfk>rg=B=e2Q0XlnI_x@pj
zHv><9X7EcvFhZ+rBwr_=V!)uT5#GV7f&TEJocmnc#o2VfGv?0oH@mX(%H?3{$*$q5
zh&b5%<_mYZyk^YQjXc!(TQ*G=K{DL~E5FdQBaUU_0`M!O*0CM(wB2&n4s!+^z~gpv
zHEXW+`^VIDeJKj<D`XYlg3lsbo7jlZrr$xHB)f}}i>0)IxR7}ValHSW72ewBfX-kk
zJ<R3y0!;c)I(>;pj(;V(6iG#F9FO$r7~(aRWechkQiwy<b@QTGi-xugY_mDtgjF8t
zI)1WRA6rRKV#&3RmPtc=tG*@e9;&7coS{{-u8zz~p?CuP7KZvUFTJiN8}c$L8rhoq
zQnpTDDzv2JqBDPX49_2MSpSN7MYH`ND!%ir1D*?J&M=)Em;$1Rh@m29AN&K6Zt1^C
zs~Gk=zvT*(7}|-Leq@o9zo=M*$BVlu$RHjTEp&Dh!CXv~XNDy(<KPXntVdj)t?3HC
zf?t+25G1i*89swb(PJ6kPk?kSXoCk!su7lz2Zz<=SZ6s*>E*cN1%#G8RyK8!QrNl4
z%P1@h%W?K5hN5S@5<E2AR|3Bf$E!?p=X);P`PRY+($#ZT!cQPJloKZMWEAjT45TFu
zh&P6DrliyA;(@HO`JTK{Gm#s+zwgTz^Be<f<fml|Z7L<oy5y*PFR-V0#+m{l-4V7?
zRu$v<d4w7j3NH#5x^krt5ZcYV-^c3~=I8gh`GbQ(joFj)dQEe!x7aXOKb=6tK#Aw9
zkC#NxEuAF&MddUBh%vYA?BlYfNb1QFh-lQTks;Efosov<j!R58d`|p>2XD<>_dyDy
zEb$=`8rEeQVg=BIURJwbbO+CVD+<4y0inS$!&jA|;PUz_&zA>)FA7+Gul*z<RatU9
zoSTM3VF>3%j+Oov7djbE;++stFjHWB$uLn-x>eoTOq7~em<IMFvbiR;AT3C|Yr$O2
zm7Aji)o;XbGxaaG+K?S*r5Us9Ubx?B2}3BX9ij8~@<M;vlTnH>Ysnlr4<~HxSD*}}
zcvLZZm5BR;Q1>maFAqKBjMRIeBk-n0ymI@a$WPpo2@lHKrpjdc1y)t%uekzJW<`ZV
zRgEme5*PPTFOdwEE${Hw@QjG$FjqO@)5Rt_o~guRr{fVJod@Jrs2R?zBgc_)7I))P
zQ@|eRbRN1*?Pj?C&UAm1GDik34sO^!&+x|nQl@9r;%ZoaciBLF3~Vu?P@nPi7&t`E
zHL5?e?$=2*Elh=NE$Qpm!nw|fle8z-Q=S&D!}9h8am1tKbz$EJeSB8{+CAQ6(E@Sn
zTp|efXwLFRH2~wS%s;-@KEODBZ$M-ps3L9!RmhTJyYCB2zR=ve7ij?Z4;p1Sp2SzX
zh8zjl)D<l?GaL=R=VX2mSV4$s7i}-MK_%>*6^nh0N@paBe&iYzUOfz~=nXoR+nw(z
zD{sNe(4hTEQqANfL@)HG#WB0x@-mi<ck}J{<uX=O_0|&AF%uSXI=b#YFcY~(tv;0M
zA4_!!HXUx7CRql+Mp!D4fO3{-5pa~}0#a|&E#-NtnE-XU@6m!G5~dBERbxgQ#yYly
zh!BSy6`%P(Z;3k0B2D8rMl(TDG7l^~&Ab%=;ge;&yHTVpWpooZUQ;VFPF)!obKN=q
z7f93$9Vf(S^2LTh2|u6)-hc@U%YDu0{=m}3CekA-+5(<ej9jHl1b={wH>h-bVLt}m
zyyU86=T>eHX2-M=GFyZ!li>}ngJOzU{((FlD5~dqatm~tL)cI`KK~%ZN$rwqT0`;E
z3a8he6XX7qYLqIK7gpEV5-V4o+F3Nc_`zw5EWJPHP+{$(lae_6$uY~?0N7Am1##H-
zbp-{xd)a_Jo<cWxu(^&#F;?!ibwL4An^gP0B*`}DCQ+~hb1m(-0|U3~7{($MbYy)G
z#}`Y|RT)Hk=$l>cUQ5nTS6_e}Sb_iM1{D5~&=lPK9<=@U8QxK(U=9(AiaP&+UT4`?
zB24*8kqP%JaUWP!_i$c_0MgeffWiIvZ6XmL8yFNY+-0f{&2S1vA7u(CrY~Fq<kbE2
zkQmp2u-)Nl&ndd$s|+cktINyN`Rm#7@B7oUt0`gN)7{cy^i3*GQ0@~qwl>Lj=&$iZ
zJUueko@C;Y<(Q%c+MhM=s1mK3lB%WA6)aI@>Bxi{6jKBrFOIojuap$5$k|EP(T6=G
ze%g!tF5Q9rC!Hzx@@)EEEnDWW@dB?1^L~7rNd-Fx2M0H{0p}0wSK%Q8h;C&lW&Set
z@d;m;J{({ekJy6g61?HsE+dly;CQV27*5VMFeWHIms`>802Y5IC;XFc&R{R<9qG6b
zz(*Da!LaNhN43ax=L}{wwGFCF#IwZyxcX1_@of!w+B?`Bl7GWlT8-|dMPYsPbE(m;
z4YH~%98uXV%P0Hm{7&V=nzjwAxoN#!PAj8?%Z!t9{{VGew~m=v6T~S=4l=`UK^<%O
zN4Jx+s5o)vk>l5J_SfQ(n$i=O!vm<pmv>9EvE>s^_SC_La2N?|D=a?nYP8N2E@-og
zTgO+)_sN<}n%ZxBuYdRMTb_TC9XcP`mY_8{SJNregw^nsucxp2ZTW|~x^$5w_ft@_
zdu+A_S!khtwILlpj@hyF8?iw@ZHLiE6CJ1cF;F@z9$4VaK5He&rf0rkR7fhS=q|`P
z^$q)~W-TS9pE@FSMdD;<Tnxt^a-H(o)Pgt14i(%jIw=epni8n)n?+tS>(q-kf2}4P
z8qcc}DzN?;PAuWV9(+CA^&xtNi;yM85{)8T7q7p0^Zb3>!8^&JlXjy`u=_9ml|Yi^
z^UT98=deu}LANCy@=YA(Jh)0L?buJ#Kw^nrQhgO&{^!}%2%Dg&CdbG?ae0u9E5pvR
ztv1851(%IPfQji+rDH9{56|z;f-07l7hLTEWuqk88sRs*eZDTb?`K!X#8Kj*+6TM^
zX#{n(*w$N;L3r%C7OCT|8lMlI4C3JjrmBu$L&COVtMemTe(J&_t@SA<L9%p`1k#T8
z8Ie<F`;M#I7=4O}H=CZF0(?JK_w1g~2coPw$+|_?Jg-XY^^-3k8Tyx$?BO1vzx!hk
z-3aN5>jKc9VF!89gGnf4XQL@Y10ZwruxkbTFOGkI&B|x>jtka7C~Y-#F$<H@qngyZ
z>+0C7puq*{dwmH-aj8Zdb`RPXyQtTb<n3B<g-lnz5UQg1IMc8$xKFyDuwB0Ruumfz
zHXRp{`TO|v<;~G1gv=HrH#<{5CP+Gq3Ov*7)qWa3arG+x$c=O(DeOD;vkBU^Jskl<
z0N2XQ`7K;-o1Wr@xn6A{YS^IWWBO*`q_^$oVlX3|gdv9v3p328{4QR_d01zAU(IZj
z1Jb^0D|i!KYcwk2($QI73C(0ux^jU(Dpf_(MECaQn(w2~$!AMEW|7BTF%we_2(n3t
z4Gj%B_E~v_1KeF*`{WCT^Irg=+p+86U}wj~)$@5j)zIV_P{x`a4f3}0<>8qQX5>A<
z44EHUBh8<MUQv&h>n&-y63f5BJJ$iXvHom|hhe<VmM@C;M*;{RBAgH6B_Ygp!PXF!
z+joHP;HWj<yiCAnOc^X0CTfuz|6hdg;o%|9{~GeS)BEMNAWmp!0eQFL1Z8mV{ywds
z*t9oy+tb}0=vQYz<u%acxq31m6(4{q!K(#(iit`<s=v3&_Bn#Yfx<W)@|{Gp5bQ!s
zsCsS+e~ffeNmfwua9dI4-?t(>{I`Ehxe=8GGckeE4hXsN*u8l9XO5yX<r8M;(@;pV
z=zi<^tKeVQA$YH65b8Bz&g>0hL!Q;BYHyNPO=HtEXX96zFIsl_6J3!DF)QZw|DGx2
z{^FH_sPJg4<)E;p5p^?SX}6#Ho#xAJ8ia=Hki3zmC<B^rVuux?GdP;|RF~f=H0f-B
z+Ql-I=yh0RFnU9d=@Y2Cg0gjDxc^Gy*s~NBAv-y}Tl^|3f%R|6S#PXdei2L>ALsb~
z9ahz|?%vMC{+61{8|it!lfSy0=*V2sudyd~29}<@JnoY!(J!&>qLz<BODwO(5APIn
zwb0bIngjwwq4V;WNY=Sah=tgksi7`D>MW1J*9Bh5mTJ^35rJW2gDU;p^cia#d4_wC
z(ryuT?rD!tcVtuGeu2Xjw%NP?(nGe*t9Mq{^c0%kktXg#l%rO+d0luCx`tvOgg-RS
ziaG1?v-@BdJa;?VoiE-+ya+jY!*6;t@%anxNM**UJJg(`;um$92Vp3SJ#kw;`GwnU
zMkbzd+`+E%9+(`g;<-)tkJ#_i|HK_GqGrS~eAM%4?hyIJI0dDUj8ScYV1FcVfw*`R
z`uGZ{lAA~GeMDR)7D$WSqYT1=Q%Fv@sXJ%VBt;EeMQE+E+dL@}&0wAMD>$keZ|p3}
z3lvO4Z-pX%c34ETasx+=JX4Bbs4Evjc4pzS<G1x@W={CD^|=4E6#rg-nYgfU4v8=j
zmAne)wh#)UVCE!`4Hf%5)oC_Uiu}v?J)g#r;+31O_5v;;<y%3)CC!w1(;;1TEHWSO
zgId#ERGb;y$1&%?30yuJ-W&l!-S|WM*k#@}*$Z`Xov90UJhkyra6KD$EYF!Y^O(To
zYQk!fgqXyj>Y9=>c7Sn4Tds3K@)~$}wK^p%Dsqm@%I$Lk`C-Iiz-}UGlpeyrO1rYD
z?_B39PgTb8?b(~96Y+ivnLLB=BC2fjI^MY=`0|fH#DPq$?EI5KUe+~qt)rKz$In+i
z34RjyCo=s<ti1f>_=5eMKkZGpatgJeo=o5r{a(Bj-vM*B7QYgR3-ER#OlmP*vfqI&
zZ~y2xa&nM4Zs>Kqy*@EIkOJj`!Y{vtYaM`~P^a(1rN`U(-G7OFfYS}!AWHB^!-7s>
z#2FIv%_*$Vc44=&s4Zzq8faOHlCZvK54(2&pSHHoWvcQtm0yr-G7nI%KQO?#wpzyU
zGJW<INczVvIocJD+Jg(X`tAzYR!Y-;k~WFI+wh6&gAuy_hXf`@gAYHb7J9&3hj|p(
zIygY2vK?4$t_DU6(S$sHKE4Y6X(|_U2fsf*ILXHzC}J?o)tQQr#Y~uwK}RBdA9B;+
zljNDOOQl~i9`jA`aiksV^LI7_IjO(Od8~Y82mTt?%q`6LtdTh=>j_HP@)z5$Y-LJb
z8ed|i?fXi3R|2^!F)w(vRHGWZF&zMrQudLik1eRrqKK4NjIUD!I@elFA3dH7C*25h
z*9>D(XLnkKhX-R4E&1TV-Od!1c>T#-_61s0cq2lXSBuohn|U63io$Lv(RIE;Y=aP?
zYeBK+ABoJ&4YzYsQ%fp(MNSlD88dB_v160%bokq-Ui;0ay)nipe+Y$*O@;wkPp9mA
zmK+=&@kIWw1Wx@wP`tS=>hY0lRNm(H45w<!N$?-#29)2sOAy|zOS!vm_&?rvy@j&u
zT{3(s!o$Rak?<LQR5U9syq3oCX<3gZv<EHmTcl(NGei4>H4HjxK1MwGx|t+bPFC!g
z&_%>Oa(&u#4UJX?3ku!!bfJGsWT=ebgiRr|Y`+$-+3k9Wp4=3YF~)w=Uyl3dH}p33
ztLp*%=_ZytcjWK~>W|=PZ=?(jAO{JFeib)Kda=sCQ<^Q{wcpq!aTpqQE}S~E$Rw`k
zdT@V#{&!xh*!|?52T|uf)I9n0Bm@aVG`oKhaCHnw?SM5X%%of~+s`9>MOVIY;(cC>
zHG(TzG+XVvYKpA<yZ8&<PVzyRP#De>oB#{vL=R$DwRbL8N~pmg*3(y&!3TNkO{?zJ
zE_;VzcE*)mORw{+39n_745gqELT7BOQ+aKEiLm68(d!U6sQv;S)^?<wMzjdO_Yf3L
z23bA!>NBF>mgk5MSY?SaC7GCCY^gm_ng4`Uz`Sq&^GKf;$-%BWp*pRV?s)`dHiC=4
zfn<{Sc|Y)4T*mwNJI?)e=M88zOP@Ik-{sghlEXZmS4uHzfcX(6joEYDt2RU&^95JY
zf0eU;09Am&7IoGP2p_K){b00prT;Q2JID3K(Kd8&T+2?xW3|QKvtF{0lqVs2zu4=C
zaL}jQ1bV87If^0+gQ?8&zOwV-mESfh#1mY<GWT<`r1a_NNY!!TM2=`wUaQzdnVD}~
z;bRJ+4xHDGLS!)!xhDEXW8&prxOQkHu{=^M?Pdy3fCBy>9r(Xs{~ch_*V=!5J`}F^
z23UfC53Z~Koxh)7BwnW~Qe!!TnzcO)0L$U5a+kxpP@lP<HF3+6zabmIACV9r#L(xh
zfnPB#Le8&cht-;GN&=aY1#=D+%|ul23z}K9&`M3?Yq7Lw{9w0uS!p8c$&GgRO}+&%
z01fr10gu-YhA;Dm|E(Bz<Ag2Ln3<XVfj&fKGc`7&+%JlXGh!P7Z!f9UUE66N>BV$=
z_@?qBIHeEBJ1;=}eWhd!3bG0!vVLU|j}=1U4zN|43lGqKwjXOK2UoOX7Hg+phPFU9
z^YA#|z$F?L$pgk&yPKO6;r9-gO3D!~8%oT=VYssK+?9Al({x>1`7#`vpF-FV{>VLI
zeop9s=@c5H8DsnwehFhXpDOZG!NN6a!c#+Iu)Ge9%aa{<8kyb({+f9D#ftTfs3><;
z&PYy%D8w$OwnqCY{$0pH2Y189!e<+bp>d<yD!WK!hl&xh&R8x)5+w2x7`(k;Y_)a>
zCmLS_)K7?_;06~jA?w}RBck)$+Uffgro_|iz}ibYn=wt~!BsjvxvwH@xdWc>b(-O~
zi7eypKR(PKOG`dfdN?7f($8w4@DAo0o}&`l#5HM{#>Z(2;oemW91ky%NSjiyLiU);
zbj)JYF@qL9FAFjBT6H52v;V?Tn_S0Q?3iogJ*<X;_LjtMTQz*=s%P5R>MZ@VstA{f
z6bM_Fo<6;;VQ$ZaHNoA1fBSCM_?c{?IcUO=P8{ktKIMG#d%F4g$Pca0Kp*v6)%U&E
zjECIKY%C*Q14D7$W-#^KE%MXgVsLh*QmAi1ys0cp%ngRbFkylt4_d26mb(NcPLm8j
z(OMA*VjZe1qz5zFeRWV*;H>E6;V~v#RXdv~*oG0i<CAv|%D`<lb?a*Y!b+czPysXl
zQ+Dj2aT1L|fkVDWvLl(iS+35pdMIA^mdY$=9q&BI3i*oW@7bt$e(53nDcieQ$k&&y
z_U_j1Rw2G#)7KAZ<!0%5?m>1MqOQ`~7TM&T5w_%5EIbBnY%$Owo?K!l{<V~Y?kE}I
zq1umDly#D8xAZH4#^VxXV+P#_X~!5*y1{Ed$(W1cqn1`Bte{5Q1|(a=3+kPkVH50Z
zNC(gY6K?z<Yo^(jXz!Vh5nb(Vdg!~0r^|fW`q;o|KK9A)$C>u<M35f=8e#IJi{^=&
zajWKV8TTsX$o(>3;OQdn9`>rt8Y!3`(0Fn!$Bvcaqc4@K>_yUwhD9D}?wku)q-*Ko
z<b@1Fc`1veA?zF}5N&eM^mCBb2P%V}(UIc8l2Wz=gBO(qXQ#z@SUv7W`P>l%rT%Y?
zX+zZ~Cnr}|SD8zgLibxC=w0_aC=1OciaD>qLT~j6*v^Fa<Y>iDO-@25o`Xtvv1E6D
z@4hy@3Na}h+4B4xJ^yr+FY;x8K3JL_EdeLXm7E!IpCJyQi_4h+o0zoY^L!xP{}YLb
zXNgy^uywJvcwu*wEVDJDp;*+^@$&&i@OUs|pO#{_7qL-4_Md};*u49j>Hz(wLdXBg
z4cW1+gkG*yW6`9}G99~sKoXd$?*^cbL{->QAVVubR?c~}pZmU|t)UwXC##4nCFfG8
zIEvVI{y7Zg$tCg_3`Yx&P+AbgNk@yddoO7iIsH7GXD(S*P3CJp!gzn#5?FpW$;Ky7
z(rA}yqH<#mr(-W8yb`$ZjCbU3J|f~Y@1`H&^|{?Rg*z7pATk}vhqgZlrn*07S=Q!U
z*>y2!2RbeTAu;zL&KUm&m?{ZGt4lKV@x_T~>Pm9K*qCd95k%(Oc%en^SkR^O6#g<6
zQ;FpW1;%__uW_dPk0y|O=vo2lIDCsqIq#oE>6~4L3|5jHh3u5yx6b21pASgLWqGL)
z_p<q0TLNekU3?J;-h{RSrl?Z;i19YyUSPLnfA6KJ#;m4gNT$T~u_QesL1=RF7-B_g
z!F~ALI7Mv6#;xr!=2G#gO6mZ1mFK0@6Y;jQP71BvW=fW4xrR`rJgXS}4MEYHTDG4&
zBhSRacJ2r2l%fPi1~0+xg8(?3NnLR5r}X)%m2U{Sz{*0YVZl@B{Kayx{@`<aAm=0X
zboA^~*A<}j0^I>tYfV#E0$UW2C-OhR-3(oKJh@VE#+<PQSdx!+9e#l%_8vHX&jyg`
zpHUPseyXc(znAho;6){xGy5nc^r&F5HzdfiQElLH5EgM&K%VbRwJBk;h3PhglcwJN
zUYEo&!--{FqB@cC#XDsubstgXzWlthPKYB)%Cs0;lR*=!eLjp)9$yalGH7>wGw#(A
z+sAo>!BWV1)21N?2}O%opZD*0(3^Px>Hat{rsChnO_Wht>r#k~zO2}Q0NUp=`c0W3
z1*`P0NZ}WfBw@|9a$2v~)oWe%Xm%)b@!LDw#&-RIgJclR<1jAUeyQE>ao++ZWjz;o
zhSdd|DX|Mvvr*f{VhOCCA)yXHJ<1Zo@oxLTx_W#9fsQ&C`&5peI*Ac|p>?1NhUG6d
zx4<qetoMi5O1|mlCcK}M--MR~CwVYh>EG~;7AytYU_hJ><&80%6vl>RuTCBzYE?t<
z7$tR{wk@zku_`rXhTB}2WVnb3I}0sK-zg7wm+VAV!<<=DS|^4+Kdg2h1+N(x{!r*{
z{I}slTJ!I9^X(}Bkn;Kh-tGcYpLYS2_p{eC*}voCV?fqh9$_>729_EiDL01&jBi8!
z7dJP44=X#TXn-^d$8_&h{TA2{DEbnFPN(XP=5T~9k>lhsl6qzc>mUdB(>$GNd{4h7
zQHj>NhEWqm_zA6CYgFzb8Z{tJsEImElk<$<0nGF(A+G~0{uhAE_W*SJcwQag3?)UW
z@k*WsuGt#X+t|)#XgQFeHE7bth-8%>D^<`){|1u4V}oN7H=3Xs?LsKe1@R9UZ5?31
z?Ci{@ntqou8kiJlrthXc{8tJY!SAqcD=0BN#!na{10aW_#|?M@zv!d20TYmaDsCeK
zzAdDQQN|3!MHl&;XVDNW%lTm=9eCGoq}|vK8WD7Bd^?@wS6}~Pr~#o0ED$vu;}2AV
zvhr9ibL-}<oGlGdTV}Ie+Fv%LM{d<D@PPOxheeKdIgLnco^d|(h`NG7sPwwOynQ(c
z29_HPTeZh`ZYfuv2uI5TUxVb3A7t1|5<GZ#<ZmXvPxKjgTu-^p&)>ejx_7}BK2!%f
zkE$DC9U67rEg`%b?E-Zl7bS*j@9F>OL|3j@`ynz00_kN!V(9*+J%Em?;l^(zEq=*4
zCUcN7(~U)unZ;v9?%fq~laN&65ga8y>2!#T|Bjk%Fg!M0dW%2dT0jt*&>5@ABtP6$
zFv<N8x5HzNA9v6Vk-U(yK1bQPR`88_?W*v7t^bEMR9{CWxl6rQKvsA6968{Hp4!<B
z_o>^t21SzQmR`d$FJ5uWj+^iZQ}W^)xT<+=VDV*Q8Cv<PaW#a98|!#I^8oEC)qz>p
znmx(x7p@AQzUim@3q(%z9510ITNKGFW3F0MK%_nMfJtAa!g9@{BV1qz0>FqTCIybu
zJd`mVb=ajvNBd;$ed?Kffx~2Ykv-&rCrXb_N_$qHulMK#!|(4g3>a0MqG1SI%25x(
zkW*5~ibs>kRsQ}v4q`Ggjo@Xz%rNt!k5YX6T7P*Thf!YN7$2XU&hZ7X(aOHZUl;;8
zivrNTQxl<#H<D&VRJGsN?wr=A$Q^rD9twy&_I2l=PS{(0Co!Xbj-;s%vSwc7K6k~(
z9SJKvqIClFIgJ?bleKW4D6mCa6b2~{6xs#!)KgA-#U5gXol9^t?%6{`l;^%n&}I<K
zN@v<m5aE#=POHfiHP*`$fm>~!5Z&gJNZK_5hxir7W}K2Kr!N|3ANxGn)1k*_PXeSV
zrn+k-LK;<&3RW(d{wlg;7zQed4>_*W(zrLlo^Tl^r<1s)xTQxhBkD%3|HKV%oc#T}
zmceiToz?#lzpDWp-+#3p-EU9bKxz+nC^NGiQ0(;$47z|Dy(XUH{t@4M<H4UlY1D##
z!=k2*z;CwzYaljNj9#DLvk-Nl%p+(E!ECThwB5g;DIDyI!4(S8(}Z_Tzll&JMZwM+
z8dko&4NeP5FHwj=6z>9Tcr9edUEG`1j=Kz1(wP*kZ~p)f!GCqc+u@{L00;o^&<8v<
z2Rs42V24vVzkoRc80o)EewlZJ<I2mV!=X9b)>q)((gEpn$vNF^H#XVzTX}wUsF01{
z7*>ZxbdNJxS1Rpg(%fu7aHthkp7O?#*&q^8X<JA&$BF5HnK&9TC|%hjirAPN-pB%F
z?-V3%IL(M-sShyHs1!R-d%+P7OA_rT-NzMZc}D%ytDrZ00zbwVkukI9O@eX<U8`Dn
za-YhhZS;C(M(X9Z(#mN4!eT(2&A$=dzUKIHWe0N#)@A$OSoD)VaF0ZfM;~;sHXSZ3
z)`?&5zVqE&onuFXcjmM~SmlW~M_=AOQlj_HI-{N4G&GL38xI{PTH9<ZM>Xm+G~=aP
zkZbLdM8`PhCCr0X;wJvY8xpC-Zh@2DowgU*T|LnFOMrN^s{a#*-)Ky!1B=$5peloa
zklZzBApP*=fP>~i=X*uZ_EuLL8;7rNavUZ8varDTMSaX+9t0VDKbkUZ!S`jwUrXeQ
zPZxTK2QaN4c#a7ShS*t2mJ7}^<2$bvn7lDhBr5UrR*y)(ovvRu$6o!MrrhF`Jo!hf
zIP}00tDOB-^eDmp)TrD2WaT_8Dfsc$AApC4WIK|%_cjw9b-DZ8c}JfXO<hP4=8g0N
zXXbKoEl)&xUvO~?#A;C?LfWBqrpzvqI^zB9jJQ|9w}BsDMGMo>ZwYUHAqGc{(kw#x
zzwGi7at<8N96}~ih!h&r-X}6gnPGe|>ul9ICigR3wTjqP!T|BFSy&yhO8^P2aywk|
zVjt~s@ydRY6lh;4rj*y4)6?ExTwMTlQ8Q!f9Y{tIJfxa}C}9~f4yKhJDgC&KA;*z0
zi&C6tp%1+CHJ!3@hH}22ygIvK9Uq8v1r0ww^7$ey^Ad#g0-oo*M<6#VG)e0sIjOW{
z!eUxTwy|e=*CDiof4sXy*1g|`f?YMWFvP>t_Tk}nSDS6ZxKO4H`TC56ML3>=(C~Y~
zu_n(<JRDguba|ZeFkN@E4hCeysbF)F1ela|_+7ZNDZacRj@N&*T5Z^=1*+#>HaLg9
ztwl<4`J}Shr?ZqNtK?vOIY|LqtvIqmWR8@2yd?K5GNXNR5p`%~<ey+k7HlC8_PEG6
zev45JW-AFjhMucykpg6?@QbgwiaA0>_lj@VQ@}G%vIhV+##p-hUxA0uv<y07&NPSa
zaZzj>i5X}rnG7hk41qgWhf|6>hhSLDLdGVN05ZH!AC|$S#&E$UEQa}>-rlmIi`9mk
zYirZsM#l1!3Q18=<|E02;-RA|!)(ZaVM=12c74OF#deb$CvL{Ee=*x{|4whh5Dn%e
zHo}WT3?h4(Ztt6qV{gE`!4K&R5(9t%tN$+p4ItiJo7md=#+GokP@+V5v9MQ&PDnIe
zZ*fVH)QWik1a3iA1V={^cq>1z78tt71XGmLe#R}x(Z~MmP=Usm+N0uBVb735f;m;7
z;aUEAYP0vaMAOLge`q6EB)e=8v>^F*`s47^M3fgHB`_&KfgwcN<Hv-vH_-Ms-eAl8
zbeasuDFq*K_-e7^|6YYc^G1Y7lG!4+VMBn0Y*zZ<eir!vADNz;)Ke?RkK<B+bomsv
zx&ovHikB@Y)P5f&qJ}3;XNH!QsG;L*R4?E_@vD?&lw%PZw^lE7xIn~-NoePW1^4Hh
zN}s{s)SWxef_E&)AtCLTk{lI(DNQv<*BnO;dCIF8`zl4XYfGMPx1vx_U}wC7%-f+@
zo1z`)O>u+mupv|`c-t<Ksgm)c4{q_s`p3U$6-lz`S3wV;qiArzNT0#+02>P}*GY>U
z3xOHkb!UsNVBL4~9Q7{CRRq0ihE<SXSnv(SUu<zgqP^GPLFWdv=xOnjnTEgjAa}b-
z;DwPf6$?~_yxA;y_;#JYdXxCm$OE7<mP+e#H12Rx^|pR1vfCH5Bg{*X=q+*6>W|V@
zHXYuk_Cp=>SzGu+mZA!?a}#%M2~+fpK(a$6$7>{Q!4E_XUmPmpzH>DU$8QMFZ8k0V
zsR$?(#gRQB3%VQ-%pM}|K=?9*A$!hZ(7@AGS6g|>-OVQlsmX4bzp;VobuqmxffX8;
zP0wYJTv^#;HnDt7OcB~q1H$DcgOcc-h|TrQwROFmK@X9fB%kb-<Gc?TNNCvN7>3CL
zLHuHct*9=E6h{L@1d96M-q$-q$&|Z|?W?Ok*>5kod@n>wV!<JBSCx!f-S6TYj;w>;
z9*0}k5naZKrJ!cgV&DW5b_lvf3SUb+*FvTz`|x^==tAGQqv@4|fZULEE^ntCmZ8eg
z_t5AaTT@JrAxt*Hmm?6eD0gs6S1{ZcG(uPCc)%gzDFPc(`eD`VX~hV=oZwT$m2@aU
zuJmF8bC@y=crJmCEmMb*d550D4~3-MqX9-gsz|r>0|BkKxk+i*9!$S1CYird*KQh2
z8W)1GvZQ*)Gm&_`xSmpbCTD=%8kRGrkstM^eNhsuVsZ2RrR6k@0;OD?E8eW%Gjz5#
z576!Q`?f=Xx%FSG9&lUVzPaIo_i}c=03!Op*50^}(`?4a8@GCAmWdO7X0KATc=+=H
zV0ecNPfUPdw14lo_Fs}*A6q{oL=wx$nEI=7x4;l;lFI~Ar5;>=#cHcm5?3UloRf~l
z_CR&AV4clcAd2zy{a24GMKld-O-p)6O)Dn4$QYk2a=Tn{SqCED(`g&D;*gCdGQ9_?
zh_0?&2cNge{JRtKXxaS*fhiz0$M1HzI^gA`*>O{aa#%6o@qHrs?0wJq*lmtVK7NMF
zJy7Z~-S3gBq43Pni%21&$JQ9bF`sf(t(8P!ly%cteo;^-EnAD`?8@dmZwUf}oLz+y
zMII^)TcH~i2t*<HZSS!YzH-X`BP*jHUP0t!_SlaRh`2`0RhFj*b3d{VME;crVhr}M
zNqM=i+&v<X_*`+4>~5SHt4T&PdW#y0BJi5+zb&*SCz<$|Vk5{VMb|d6$UrI(#!^`(
zl^SZXly@A}B)J+MTEvRI2I-}S?IB=#2B%U12Z92%&g{y3#ra`SZ;4kOYeA_1TTQ1O
z?QJhPx2*_{5<^|@t^cDa0s|9U82&8Wgc%+ifMR8&VH3KjnrH|^U)Yap-3jqE)BX#|
zziyH5rsd^<+4`DQvRP1n8n9>c3GcEkhRt}U#+!b7Wfa!y#OqUutjD2JTs}ebIov)k
zyVJ$lB%_*n#Y>kja#d|~_8{yn<<GP~mZ!5xBm+dI&YW6~`Ed(V9sJjU&I^He(}-@r
z9VX32S{+iVCFPY|y(}#9GmVzX6eJ(S4-to%4+@^%jGuek=Jwub=Mtpy0*CE#bT0w{
z2u*9FQf)77fY<);4xfu;(=+oDN%#5Uo8dpdxYZ-xzfsCU6Zc{yQ)>)|uqR%RZN(HA
z!o2(s$7lA>bzlyB91vXP?*7nTph{h9JQ4d5+e!_|3VPdm33K$0FWz37%@|YcEQcgw
zG^={~%?^TlmX-_r>QL2`-cZFw{!t*vdu;ThWEX)ukPMP!h8`aDH`YKcty|J;*R!NU
zD#vHo4Zp&B<xSmgIs_f*&cvkNP-k;+ejp1BvGvKNhXR3bv`)Jo;4wiT&$>yAG-Wi@
zW1ZG3;#RwB4lQfuzu=W=K#mCd^}&@bph%>SE*6GP)1E!6Bagy^YxrJ_Bc;+)Zs*_Q
z<L%ykLkFg6YB3!E2>zu@>yOR_Pbd|J95X1T?kfBA&PM_RyJjIKVRe-KNmgvC&~DGu
z|K|yp5MLKB9+=YpeNk~R1-F;cwtT%%L_!o)!*U&477_c(D>b2S-|Da9Z<G22o#lR?
zvcK`~R4_bv>e+^gCI|%5XAtg?MS9j1^ekO{k2#d9pjrFIoQ<>uX(`vNbfvzJSZcOv
zbIzzCu%2g&)W{-UoG+i-%Av;Z49OG(Y~`)85q?S2uC9Ifb<LQZH{u+KicdkJ!POyK
z@CorCZoyn6v<^v-r^?GDwUn_XM@YKHAbj_h+h0)8+YKunb0I-OTR&&*1mq39&;M6f
zc>y1aU{z`|!^<C4T^=8!(?H-IT<+=W>Iz`M)Vt<kSk8C>u+P?Y9&R;@@EgU>7anU`
z0xJ4TF9mh;Z&J^fJm;6eHFMo>&wR|#K<tRPkD1YgmMg*xAY-jK6!eq<HZ{PyNVk}<
z<iCH!M#T$`@okC9Nr(2SnW<KUYdA})WWY(DjKH9@`vDXsLoFKK)%T-(-h181EW|%%
zTGi%aR=KvgD8FM7qLG^300Dx3JlziynNiKy-46$u-B0b^yZ65oW4Xc0yT6xe{=*Uj
z7KnPwsja<`>L!FM7<$q=pvq1Bb|KJ)#R@C;o%wZSp#=yX<bi~~w#QL?(Wr4bcaea&
zs++<{&DYx^Xf)_j=kzg|r*}S{J9Rr(KJEjLeqyu$!am~?i9;kk>5_>SlX-kx2IoLw
zyo1z@MryXg8bma$)GGEG_Q}}S&dJv|dhb+(W$1Ow2W-orip6GS8!u?lguNEE^6i*r
z(d8Vfnu{;KvKQSs1Qi%*YG7?P32n-pU)nWb8l~=1szAZ@lM#@D5ST4QjOoA-YbUxV
zcMp+*`nh2R3c`L|(-T%aO2qGb=n{ElaR@YlB)z?rmp_VYoG0N+I1d_1$Y9!fb0T(j
z?x1{IM9?NQ^~dsZ=iBSB^t;Sn-@|FtJE4P(mdM{RD!_|SN0na%aUJ-1IYkg)Bf<*{
z<<tKSCP5=@Su`1~4R+E|VAmkGg^po+MJ5P&bk{0l!p$xW(ni=05klG2qg5bx{nvP3
zZTym&w$a-xl48z_4Z|k+|0thRq&uzJm}-~_=?$fgi`1_lvMj>9+$1+QHNHnMTwY-&
zC3)wK$;>Or&8wR$9|62qXk>7DV=qj#O1^3_!%qS2O_OGLMw{)^kFjU;id$r}(NIC_
ztw8?IUI$h?1-$M3Q``jt_5Pb#9RKVy@EcqBU4#m{`Ynau2$Y2Qur7Q9_z9=JX(pKS
zRo$*JQt(}k*=U~=oaLXa|BV1y9i*tHyV7fB3@Ewlue>++I;%AWXYONt#oN?J<S8KF
zZC~vo$XCu%ZeM0VA{{t(yoYD%7pytWbVw>#V_!2d6&Q6L3$>*vP1`jS8g+GB)8sR2
zGt%Tuy0QZUaG9BJdD;;~Ls?#=uAz3v0yv{EuH8yI6fB3w6rnP|>OXvptvxjlQHe9q
z$~Zw2BOLeb!;HN!_7Oo*(8dkEzEbs7B}oGjVU&}9R<$#_<NI=qu`JPqRNLz6r@k@3
zFI0x;+S6!m|9MgX$We+qN}i*2%h<PQ{jsFQl3BE<-+1TcrZ$w<TWWYy<34=F^fY*@
zlo}Fo%}2`1K~s+60`_G7;3=~#cfc_#5#pu2T=!u^tGslGq>r1TbNmN8tv5!Ub37+6
zK`lZH7)0)W=6B2<uEYHSYT?|qO3i&jZ6@W|!gC9jB4-HNWR-}lt_W5byu@K?C&%%k
zUnXPiv?Mm>;Zo$}Lp#}6b5MqbR(_HG;x4jjKEmoklE+eV50{Nu+GCq4nxJ$yb^=R#
zfCOxD4J1l?d>Ku=(iap-QYO$_^XPgc50Rs$j*qPc7V(VWroYp)bok2AGRmP__yVz{
z%1(e2lCcz9<_`lM2Z0;eCh+r>u_(i-kPSM5<ykc`cE&J28iFoP3D{r=bDMg=zCk{*
z2_)1bt>AQ#+PD~LTBIYO9EH-$#YG&8&2}Lkvg;tzF3}9DZmdCAewHE@y6ao`hXHNh
z|7)<PXO)A9YN6~SVw{7Br8TPrHiqCbMelz*n$5Q%M_zZJMR7Rid5`9z_53UL%>Xs3
zK0)(6opiD6eTx1Zf{AV+=S-t*3>lSW=qpJ5&xZ+h#GEYIGBlTM7+1wa7cG?c6Xf-x
z+|e#Iu&oiMxfDi1((el~EtB*bl18oZ`UtFsMb$+JA&kX>RwH}?gN^S%-|4RbeS?tF
zfG|LcR*Up)W-tb^6NP=V<UJ5jtgY+B=va$0&b>ARBjx*i!Auj@h6MN9F31b-(e@yu
zMS<}#b14z_-_?EOl|@6AHYk90KB8&HZ4IMx#%>xVSne$Q&s;Bnj!10QooMTDj>$6_
z5u6b?J=&K)a-I>^mEc-k2i^$Eo|!;DJR0dL!H@5R&`=C~&CrI)ait9qAdY9FOd4<M
zd*FFjjHe``5caz$(dF!Lw1Lm4D*hb&>=TRy$H}uVpy+wuYxE|HXsbnfi0S??8oQP<
z*^8hOMs)$TrWPO(-gSRe$T<5qv%Mfs8M5Hl1pC9*>hIst%Np*&%A#ZiCoDu`2BI9p
zWoj|LYc?tTA1rHz57=UDaSoc|jp>~D1Ej`g=U;vJlW<h--m4H!3TsBjU7m*^LptLN
zA_LlaL98VE)-MJy&5-6sM=js_s0Y@Aovv$PG==Vi>$dNjDKETHP6+fxO?X5vFq)#i
zgS5Z4qR(?Qot@ktBL|Z>`f1)v&~TP?&7DJg5saiNxewW33w$LXPcvs2BPuK)n*fn9
zd$h#Sxgnmw#d!%RU6DMCeH3bopZ=*YUWe`CppdQLs@qmih3u4Nv1Ui-N7^luE4o>_
zSLz}7==|MJ2nlC`tq6vXT>=n~dnM{rvgk?L8YY6mPTH795=TE!sef?saYdlZ4Wlj8
z%%t7Ny$f-KQ9ltG!B?1x7px;+vr82iW7q(8U#BWnYo$!Fb|GhvT?<5FB81B=OGfH(
zQ8yrK2l1>PS|PyvB<`hckKh*v@7J^pA>BOHC1JK`fr`Z|QWb&jd=V@7%zQAy8wEVH
z-%FX2NWKU9>>;|$o{zD7qP~=_K(<lRapV+rnS4W&sYgCV{M~~BRc|9j7_^~-Q6sZ}
zGvHqp>I-&vt!6uR73N6J5<sdTO;S=I8V$M@Nj@C3Lq)vx!V;JY7?hR$lrLdz)A@xp
zSAoqtXxuV*aAJ8U7BMTiIt`;#!X(f@nBoIVDPNClCMM;5Z`g0p=lKh2l5r=sUzJ4w
zk+3#K-6XfWtIPlDU}Ck|5da9KjnmL@wU=g#BnZtS*!@!%IgXTUhmSk>-M2k5Q;Yg;
z*%W<iA}q;XJfa{d`1dGaW30b&)w%w_BB<nH7OCb$zq{ldpdIkH5)B#b6Kv!R>{VEf
zE@zYlWi*2{&3`{9B?<Ab%pNQAw=XI*{4p1#M3@nXH0g$65<=25af3U%PoaPnK&94%
zqOxC>2)`TyO^jEIj+?9+Ti+Fhwz~u^<d)Tw1Y=hMQy|lbwa|;h6NFiO<Jy$C$=-5#
z76guH3M(Lv+#y=2BPzj8$@4A`pORz|ur!c;u$h!T1N4(1&lE1B<Jx5EJcZ#56Lp@h
zBAQj*^Gp_=TmtCm7&uJM)G#hURQ@wrOi=}q_+jc`@Q`qbq|}f79$MWZJjwkCCk+vo
zro>O$b&@Wke_DSpXlQJq|CtL-sA9LoEUOH;S|qcb<d`ZLfPGZge!tX!3>5fm5TQKu
z#i7Q;Z7Wp_Aq<l>)0XNlu87=)V-V0X#;m;C%aVEs`PeA&U05V?&IO0T%?5c`$S|Rg
zz9}7j$F_e=x5ArSQ!h5k#T|)!>+fI5fzr=O5mcnFAl7eR)iH!4y0d;-V#OEa%hW^m
zmLNkT+(+uzY=*Hts06+qYt{B!vvwro(Y|OJDzU+*MN+t-qNJjw^TZ9=r?3(hpG#?Z
z8Lz^VYG6JEphR~2s{F!c>ZQ%Wl)NPjCwX~Bf_H``8`5jUyUcSYm3oN2cG(2jcFNBr
zbq$>neUGoA64UscKpQgh(?PenuOu_SiJV!DqY&gtYL^qS!n=jX@(qhkwoz)+c0qB~
zmQ7*c(gErvN@~oHHaX>=-&%o0Zv9mUin0lS`!t^Nt%>&#%u~US$iIf~+WW`xmvc+r
zze|XLmiu8ht<}{8gO#exe5^xfV3X`6hpVF7ws;kKq|SgC#|f_>8@6g)*;m&IUM*pp
z#YZrP&}aa>{+z8bl97D*=tAtMs7j=<NEMl2KlkjF(I6eV=zF&lI_c`Q1}gooV2H?R
z1lE(P>k>(nCIyz=X1p?(%5K~s6CVjkAIu<LD?F(3kDF<~u4f!(dlOdKeQsa{xu73Q
z%@nf0z^ZV^XFD9^vpF;)+L`?io<U*0pTCel$;^;r4{eI6^(F_3cnRi>4VuaZkQac<
z*Tq%v@Kf1ZaHmnr*et)2LNFJ}(x51aO9`?j<TTFN25|nUJ35=Fr5KtiAHiNd5w!ed
zrMSwKC+Yj2tOVYGwiH?2fJT-TpdxRKYEM$s4}12K%r`Op1~er8aS&FXY5N$kSkd&f
zUd`u%K7dgsJSu5ykyHWf<pRQiDo%jOjH+@FqDQiV7u$I=PK2{Bwrk@n$|^42ypAu&
zxV*%M9B{-8y~dNGf}^><zQ*_B;tl!|+^v+9(n3v1%|R3sB@y&i^~uQz>)Z9^l?>33
zvRtsygisJcT#{&XL5|4y0_gJPOIqP&6Aev~r4a$)b$1(oWL!3&8C`Ni2_TAmc6LU<
zSFc`CqmIX2DR+HK8GC?bBU`fSOIDVG+BJ!0%V8B~c=4otc(I!8g`(H(Yn+Lsqdgkg
zTQ*)svjN?-LQxt^^hH<9rnya#k=OS`|KJBd_}gFqiplWRS6_Yj;fF6ic%LD{i@9-q
z8{fi#u@`y8$!{p%mp}O_l>u`ROA)}iW?lwr#d7-ww2EY?NrEPhX&Hg|3Xa1Ve-QdG
zulBML)b8XP8rd`?Dv}1&@AN36D5a%HhBYEcB?c%m6`7Xg5NS^v&}f)H)d;icvRI1~
zGzG8^KIPxaP_KZI%Vq|}UK34po5EG5eV=*!Z*O(JH)tYfQ03Y@wX@4&6KW93_98Cc
zrQ@EV^}+dzXvKh3qXHG1uppadedfZVb`g6<o}Z&u1l4+>Yntor4Iie=bGyLqeJ_L@
zBuin@)57(A8q+?&4CSvYa`q~#bA|NkC#_HfYOYota{pO=B(NChY8#hxs$$Qe0?&}e
zv3#d<*einIu)8C>XXH4Ijfxlm^U+su?2A!8`NfxPL(`QNxR}@8igH@=uMEIs-0Cx$
z_{M1dk3jU&1ifIOxT<m`3eI(bd!NI@qZq<F4xj(#X%iRmsr4p}QMNrs`EN&#FTQUA
z*kc3aDEl0w(KPW5ne7hS=XPD}k<$>D)b$IJfthY0a<rzQ1|$6_pYH>s95S$JQrh0H
z5ps|n+pTN~$7u{ybnR@Go~L%fzWo|ubp6W3JSOGTjv~^eR8;#?tTv#=nJy;Q?~8+H
zPk*9ZnZde0D9cbF>dQmI0{yjaJNgI(oJf@|QQJ-E`_|j^7}<R5kplMJ5@btmRH+ts
zpyHNL8FB=A@E*ZtK#_Zmko6fOy(csn*<>{Ra<R`!*f$^I<SO%~ApyRs?=fo5z}+^F
z8iQQ|R#uS5xdCegfXIc&3NDEfnA<=B%>k!52AqH*GKLczB}M6(X=uCwtqIHNA9qaS
zF+A>mbVA6PXEK89jcB^S8_*%A4d|1T6Ws_BR*}oU;iA4k8aQBsRbwFg61Eyh!^o)E
zppPR>({5Ajy)ekiru80Wdn#-iIksQdH{);UA!Ie0Qq2Pb&z4F?*fMT*f#>2Xn3t6;
z<9nk)L4e{M=FQNh3s5mjc?qk=A~P@cxvG+qj5OtJl45=X+Ll5dpJmm`*@s3d{hQ@z
z1DfM#zNkvqcYS?F*cC_#GzSEIrG{!Xl`5a?!*d$*kb@0qX++d>as6p0vk~xggpwl*
zN)bh5dt8)QGH9Id;XJuJ@{!y&@h&sP+w%7D_4PF&B23w6zPgInnE{+7#l9qsqmIaF
z`SJw00|@$P`bjLC02?&eM|$xUA}jYfM9zH#xP-FonyIrCk2mq!H5}#n>6rqe(ayTe
z)E$b71H`dJk_I*|K7aoFsH~h)N)Hr`V#F;lf4Ge=$qiBs1FFS^{+^$oGk&jLy`nmr
zi#OnC3!8=Ha7}(8C;cK@K^hY$hP-`X&5!<0_VpaG%cP%r7oP`J4pf`lT0@PQ&3bOh
z%tNXu&?rUPB`fCA+1c4o3tqi>&7@-fpl8rHrp%wyQ~i2DxG0FpT?|p(5O1m^O`4)f
z-hdVn@&@<eVg1V<*#H$uQj-~?zQAuo!vYZo6g9HNJRlyj9*uy8Uj{%tR5nf$TZr7V
zJ`<3ulo%X1F(gyb`7>=q&>+LI^hm~K9SO(=DQLUa`L{CEE9mVTSSh0QGb<}k8@MLS
z8T2;Z1)l$S(W6!0T{fVJBi}3oX~c5yoVG?AkiS+@xXc8KI#@ljWsdKDfvnGSZx<+j
zjv%;QSM@dxFaQn+=qysjVlt!GWGG0Mqy9eG)M;$!il3F@C9SxW`H{TZOjrCU-p3(>
z*FzRpXl!EFx|X6g`j~y=BgMJ7InVDKsnLLnk>ZpdB#+y7LDQDO)mWr4&^!m|RV8`L
zA~l_crKSlxA92afpkiPB2-8<Q&0Eiw+;?aLnjxe&+JGMI=P26@Wzy?~QJ&lFvzIvQ
zym`hbzVC==2pgH{VD&Dtsf8s*`Vnle4mQPIAQvww83fV#nWHrg?TAr6qd5E8XY6j%
zv_f&;er06eQT{u^p-dc5WZyjZ?$=;HwwWi1&-Q)ar9ql_1A0bkQDzx&7q$-$o<I93
z|BxTCI5U~Yh1P{zx4#*Czf!*Qf+cvQMg|~{?4xlSjO-h|i;mNfE$OX7_Khz^U#J?4
z*2G>T5VNmBIl8eMwd>VcMWfdU+x1FmlrwOZ<1_(tKG_DxY-!E~#xZm2BYUB7$)thw
zc5mYJ7#V2%`&u8bJ^?fu4Fio98WEz2Lntbg^u9h(BnUS7t0$?_b~CkbjAcpH-R(7`
z0DrZ<7|9lk1ZSufqbc?nHKFf-)&}(EF#fDQZ$K{*skosg;4pr%?`w6VgC0Z%6I9!y
ziQr;Bg4td18>p?-P~~{60Q1UrgT8{GM~<KK%$tvZWR#C5l8WjkLGt>eD#7uymw*OD
z+yWJ`hgXY)(N}O_FGsv`Ti#Ta1~g$QS_8pFyn$oNcy?KK$HZ@~BCVvT@wCQJ{t#73
zhW&bX7hl1Vqp80j#{o^d5b=j6b=Lr{OTCMdLDD9E{!ZtGJ`w2wMNiKtCwm=VK^v^X
z)zy_qF{rZw`{U#IN{UUW84^~7dD<YEb%N$08t!Z^FE3xej`x>u%ZrdiD2rbCDvz?i
z%)en-md97GUMUpC`*;H=8in#Wh8GKtc7ACB8*1-v>IZcc0R#iWUSG#oYG9xUmPgZp
zRC5AFZMXw$^x=f6;4%P=4_uB)11NHaYUPCl@4x>($6bzALhu!l(n*HAkH4Ciflta}
z7>Dd8en~I({TVKXA~rX;0p&6g^ZF5~drN$gN{7~v9BOgeK_3B~3*&#ZNqe&4TkEDS
z6gjW4x6_u2A+s^+aY@nU;tH9LI8-^%JpgBL&d$ylnWs;me){RBfBo6d{_>Z<Jh_kW
zCHUy0kIM9n+{lm-rfZHF{=_L+yR(MP1oNf}qD)i-Q7F&`w3M3jE{X$^<TN2Y5W`-^
z@Fq0tU%`RB2#^6NwGp9~3yM>Pik1Y-yE9=iLE|Iz2I9G0hLquj(E3f81ArcBzEK5{
zEW7G;76C`l2LK#k6|)SYe>y15#<<5EXE8TtN0y{K{wN{Qqv^UZ3Z82vaTM2aSJ4Pn
zr3F)|Q_lgjJWSV}?9$I4fQI!AGXZ^NQ&teU18Ib;7tggB&3GCkd(W%f1fXb5Cd?~q
zvP3VUh7?wlEkib7ln;7rdW=G`ls52HyOd@`nd>C0Yx0?1(2G0&I80oTOQnKGn+N(p
zF~F)Ft9L;$sM9iU2}G`4AJr-GcZeL*O^BG6$`#1qU7$SxYE<!&j4FtPbOI*(oF3zk
z0lFe9+^HTT{gy5_hzJjd`5XJPFPyZ=N)yB6;7Oh5g83+)5eQY;ZlLwbmdH8h9JY*u
znwEiFGS5J-i%5@AJ|m3s*=5{h(^%%rL0*@HT_XRdV6ViQZW^N?`;PO-en&VgadHz`
zFY<k1T96wI`de@0gv|T-tO$MvDY}Aq2XW<kB$S)DJ#g^e^Pg~|4AYYgw+Nh`@bX|4
zt;RpP7cSU)19|`j--0biZc)`=feS|NkG3n=J=^c%yM3WV?wEk@o>eqP{W27P)hsuy
z1*?Z`ng~0lZOFax%EhKC=ksW<DQ5RvtE-D@v$Rbg95l&nK_6!|pfRe=7q)CO%EWqz
zxV)HezM#TY3uinzm(goru|coNDSmQta&>jZnNCrmATl5~M|<)R4{7z!+3UF<@s)oV
zOvv28vLV8%amHwV5(i&0B7yt{^!@VIt?>CiqfbLU?cpFz!W!frjhWHt`*uf;4YmxF
zsw5R{$Cw$Tamb-ob8w3ynpD=C$3x2mRSEDuEJ{6~x+sE1${ayBT*j=dz+UuG&4K1S
zkqwI0WKNj+?-Cj}nJwgGo|Ql+5JYJ}YE}20)BpqG%MAD!q2WvvZ=j8M#mVw;x*^C)
zkT>pK1+*G~(8OD-6*dDtrlFbMXbz+0hO)aUJ&5A8VGT4^RbQZ<@}G*peJ?yD8G={w
zoe%LdeYA3a8*eUOUBsKq7+~z7ix35<!oF-1uykMvSRvCeU^4q+iG4T{BzjY)(D`Y6
zZigd9*~p&0Py}$|lVK>s1`)svB@#w4mamczfMCo_z~JUCHpl4~Tx;yf5$8nxg7uVa
z<QdVX(UTI06BBnLNrNTiz4zW@`sDO#N|QkbO7P_F{%Gpva?3b&w{LFa3Ig7|dBu2!
z*CCPlKQ`NBJd6jQkT#|z{Y(1y54Z5R^gJBi-rpUT4f>jGz4xn!2}oapSM(duLXFTt
z8?xe4v|0AJjW@mnWwgpsE(e-1K{72r_~3)jKmYu*&p!M4&wtJkVZiwR<R@|0%}6ql
z?jGU~k90&p)2QCw%^FD&A@lpvb!oIA>!JvlwpJ_9xOJc@K}x!Rpi^j&@S9swJ@P)U
ze8lSvDah@rEd>c}N>z}?dVl3eW0^Aq)Y@z&=?!1af2Ez@fJP5t@Hs$|*JaTF#ji%N
zyqng#tPi4pI@rvXf{J}B{>v@fSCTex)saf3jn43$T!6Vql64J-`?yog<C(`Te}$Tr
zV3k9(eJ>EUva)`9{$Qr6(3I;1#f)&6!b(bsRGw}TWHTXiM{A&DKsE*=d#!SyX^sh#
zHP%CvsvM;!xZ4GzwlX-xNGyToDnR3aVU*zY!O%_ml-TT5q8uzX9OL7?a`@s91%k%U
z_SIGn<4d^aFYPFi+vcdXJ<zYj)<Qwfe|L=R^9W=c^i%$|GvcLk1v2>Vxaa&WmmxQ5
znTbF#{{`5TUPy7-NJ`VJdj|8cvL*6fO-5~ff{QU9*1l3h>!)TQIUwPXCLhO<qup1L
za~S5o%+pZ2ef;hAJ=6<`LdhLIii3S+ON{JC80E8l#0)p*^(Vvm=c;`(+>Sh4!aIyl
zsC~y_Xg@7h4RW@-v^DCTeX~K6|DrAKW4~8Kf7iRbiZY*9>^0Awxe4dLh@q-wf9HU^
zjBUojd+&X6b#+CA)6-Lu2>uYe0C(j|MPq@ysO@loGxkns2m3|m2Mg}L$oa44VCB9&
z5?Fw6l&@DnFdDZ8as=DQx$gzXv~f{!dmJJ2yntr?mN+uYG82$}#dEEA&NfS1s%WA|
z?jEE3ci|as4rD&UcALHxX)FaeH?krGY~~L|BnR3CNX9{ryIir*;|@oO8TNql{o>+6
zTN@Z49Yh+8(M)eZmz2t9U$j8{P!$x-I>Kd1fVefZC9(y%31!9YP~0As4d|=O+mn-%
zgUx(HGX;;xj^DJqC2hmTAlswQsM;k)ddGo?OL{yTsJ4gfbFErLBhtuGoDm#NMIbJH
z4>f@lW<CXgR#v!*IleTSd#-hyVzPo<k<BzuJd=@dG~R#)*<Rx*O_uQ;hy^yzULYF-
zKa6F4$YsBfv{>|Q2UV;5fog$@gJ}|O2+S0=1_#UhtCAbpvQ82ZiPG?9N9d>AG&n+(
z(?;`_4QM3strw0?=CA0<_9EDGnC{EhP{<d;GWF)on{sCoPeg*e%CZ!Xfbma>_WJc}
z#gTzQ^sq_IDGo6)mOV2Cjb@9-A*vqc+>T;g>(;ZAq{wl^MP3wveDCgJdkbS^Z8r@L
zfT))I1Bd0@DSe5snBB!rbQqv15~XC+rk+{}h{>9-2ymHc1DflC^F*&+$N)qG6E;r{
zZp$W}B5<!IV1^f0kn5Xxzx()j^Y-oA@_i=vn<HvhmUQgpD49@)LIq$m5N#GmB@izQ
zA0FS?zC8Iynh8|ZU6q2-2J{$nKD`ujKy5%ru2YhXriPROIXgRJw9n7a|M<s0{?GsU
zKPh6ySbg%zC(LSn2F&E*D$K!Bz^1vIvZI_^2hmEpZsuBVKnKdkA}BT044F5e$)}ji
zHUe{l%x!>#-`w3E9vt6A7sH-2$1XBc@jk^@{?uwrJPizcskpiUEq92OkjzEgE*kP@
zlEd-U8_;l{N7{Op)CP3%TfxorC#Y&=ZdCuQp|KQ{e{M(y_tW;%99iyV34&0iK?7(G
z(~lv8;t|LkU@UTTb1h%EKMVj0F685NSmwWwW6Hj7kx8$jnvevX3k+{*D)Og@63yXJ
zJzH@X#N}v>93eSRpxOpmDX$(%pm*1C=|LPBX9-63I`>78=C&^#nuo{%8(1&mVvZvs
z=$Phc%QwWLP}?o##a~p{jf0ToS`cRkIdcg@Q+S*ye&=kHqRr!QaG!%79L9Y(`8Xxn
z=M3K!nwTom95COv-M#ZXj2}X0G%`Y+&I=$C<>`J2FSWJWpuH5W$4Ecg@Up!coyeh%
zm)gn_#A;LSOmq&yAzZ3d+kp6XGy!f7ESp}(s7m@AIddWV_O$|f%zzB!Lf7^kXCL1k
zL33&`L#^)uS!R22$83r~eD@}{qmL#&8i&!iW#nl6;PlwZe(U~Z<3(|oJV(g+WGq^#
zFG+kq81FtShn&fznRCwhn=g_FYva~oeH?Z{Y(R63fyGAElXz&+t?=pTIXT_k#m{;3
z1jIshcn~{TclY(K0+a~D!ywq~`@+@(+ze}zOfF`gdnA3<h&Q1OP3TeNcLicPtnxwj
z8l;sCR4Zf~>l;TEvodRPi;~U4gqbWg*?Oq9hx9osVYG0_5(5=Yaz2g*GH=jVxm||^
zG8@ImQpO@ce3u-uo@>8~NI{&_7NV@k0ie{agKX5IIeLYHP;_@FItbD{cF4jv-qI?6
zVGW{6P;kM#*e@i=mR5qS7jhg~N=lC;x8vgzda*e?rFil7x_pynxX7TgvNWgS3LMjB
zCLnX=umv_)wJa?}G}1Pg%up2(3~dqtjzt`fY34xWqN0$wU^5+1!<NL)MHAW*aRd?R
ztpswhJy@i%{0^y{PYz;aW#)?C=XqS_|Hup2QhIHwN+VSLr0k0NcO94swaj=fH@H=W
zoVCmG$@Z&o1Qq*PEzZmcS!M`C!%HzP>eHFdm7S(J;^1z2y-vVIS#1vMpGXIf*tJST
zGB#gJ%qYe(6NuV}Xp7)76X4n=1{A+}9bauB{%{v5#SO;Y-NnU44U&F@P#OXvvAMd6
zZ_hxfT97xOwe?Q|ssc6x<XqWO&tfT;(pDr7XRJh&fcCfLRX4i}mjsykg9l(eP_z9p
zE-~V6Q2$o#^1KkqHaSkclT2?^WzeZSdJHmGiud1t|NizSemHFUqgrgDF!k4vFH+}M
zMY`9zf4DtAKfk)V!twZc^ZNDc%gc++5mT;IPVUIsi_}M81H7}bL2e@GNv~=SH#gUJ
z_Xkf-PEKPXEq_;_TE!73f%vcNc&d*eMz8=bGq@#6No@#bjf#ScCfpQ@pb=EmKrrlR
zn6&S`_uemm`OCAjGn#(&>ebJF_A{#Bj2^Y*pl^Z(ir_eORvl3hz?Hwa2oTo>G@$s9
z-fU&KM9>h^dXUG2;ewEo#$RTZ1iZhCcVwmU1~gJZRP+utQtyYjXsPBj_yDE!`pqzL
zq2Vf;<aYh$we(UV^Cq2#4utjOi$f)iJgnDW0gWPa4w(z86~wc>Yh5Mc56-Pu(OG6a
zl6mZ+(C`d2ETyUf`GW`5R^&Bg9-gI5L5VseRNc5`6sxMN<2KE6iqc35GS1TLKm&(0
z0dN)jm^$v_#j28K-81t17jjIYZ$-#F&$k|<zHf&u0qdTW4GzjU%SIZ&HBujl29JO0
z2OFfR=LkGP=tYxqDvriK-PbKTm_N+OD6IsXk4Qhx;<n!leH`bnVm4UC?er-t9QnBY
z`r~X1$B92MUqj8a{Mc_%O!=2*E*D+f^vft4%F{jB1oYUeQ(=?FR@cxVMamfI_zk!;
zRJH{6@&!HVk#pDu%BK%FY9i~mq+yKuyDxHExsRiDAlq#3-M%9xG>6qPN82TGpPP{5
z3*w{k>{}m27Dl;^yhcCzw{INmRh1LAvWE<EZRLag$(&F2(uaRw)KCKta}Efa;*8j{
z-YK%6^IFO1DK-^XTI9;1qR|^mBOIKcf2=)`<KttVCiOH(#mPy$tik;bD~>b@fipy0
zMaxy#@_WMQ6TiG53d+O_!6>mUeF3iB{RI1VBQQ#%j}NvecU)K>O*k*0*+8v0TazY;
zimQ>gLoS4MWMR~=JXZ~h+5KCjVW?dqG(np549~+XGiiW6N6y?41SypdM+XfYdkBM|
z8%nq$*dD!yNXFudAdWQG1~i5Q_Xf1=ZM+3GP(Wafi1iJef8$6NG`-mz#Y1v=1N!3a
zb@K-Fgve0i)1%4U#nl_E#yBJApUw1Oqgu&a3l~&u`Uucixmw%Ia})K~MPti2WaHk^
zP#Rtb8p~XC!a&#4zKJY*^!Awm^M}E@1Xmi8szM$!i95^63T!E<jn-1LfcvOgw{=wF
z3l4(Jqwj!_>3*ZaRf39Ha^$08g6&B&_cSzRFZky2f<uO~Y!t@V^<u{4S!^t(Chl(Q
zM;(Fq6WzKqb$S}#w_Y*zo!Z0La}3~{H<aV`*z4=JZ{NmuE??JAxH01a6-x*j`c7~_
zobvu`4a*}Dk|LnCgxBL!?FdC0f)gP$2O;~J23*8n1Y{cqgJ^}|zrF#@eNo8bwYmWf
z@^Q?1opz(6uWjpWUt3HzimW7a9QlqO_}wXWgyDj`_uhNQ<q}B;Wup;Bra@T18~2e?
zx|wF0qbUOww~k+b{Z$0nM1L7l#gSBB)S|egz|q4@mKn;e(Lco2CwI_PhL;|mgG9h=
zA3YM(76j>btq0klIMhB`qoUSZ!M@-=y>Vk>Af{pGjQIHDkAL>FpOH7G1MWZh$xoQ@
z#KeV>iOx>Dx=p*cX){+Eh>(?_@^XyCH8(0xyV!X{mK@X_A0P<IJpU~p;+Lsn+^cV@
z6~YD-1AxXG&>7Moo54rk<2*qcLFu89(u4@+-^T`Y{E2<CG)5cHtMe9Qjksj~N(4bM
zSwoT8Qj+D*To9*S7p0lx+~54cL!QrR$XQh)|5})WWC9jkvS_kCAD4{gM;8T(J}#>2
z9UFMMstCkApCuh_%bS~(Ez#uThH_$$Cb<R9GlPIWjt$7Cu~+MHvQ0<^@ommvPCh<1
z;)+4>_DT6gLG<McQVoiYx?C5EgR;fk{C$a$uXniAe}gS5j5(7D;!`hXuikQZ^l|ou
zHlQI*0<4Dw<S209EE)WxO+172aO+JPI)6v#cQbBouaG3e!~h~_a(wZS={udBf9^=n
zZ?5Y)prS&#*h8)Nup`J^*O4B1{mB@$>zFw>80C|ZT^`N9iQg3W!l*A9IexZp^4TTS
zD(u(<%=p&9jU02wgk{ht^Iehd$1?V9i1g%=yJKaKzB`qd`!UsKShEPo%A8BdYtU}}
z(;}g7rNy4R&p_=WOYk}8QIA*?ONp#lNICauG5ARG@bCh2mI+;<<LU91y3hdq^69kN
z5_)lWB1kjp{Ah!CUpzjzOUT~Y+MSMwH0a~!e(l?OkAB>QQRGMMvm?eMePtbFw#6U=
zV_z_Gd@yRRF*8Q`5oAx~Ce=|Knf0}Hca_K}j!*0+Amgy=IGR^IMlA}to4qBqGB8n|
za1y|tqE6W9jfQ|M1sOmv2Cg!PAZK1Syday{=E0R#s!fBcOv50JWNt_VWP=9S%cXI=
zEBPEwKSD_D_0?T`csAI89>HM+7xRKHtfpt!-ew{i<favXMg~pT-clgGEp3BFN>`cS
zQU9GViY(mS)xWb=F~w=2IC;w~8;kdCc^)>AeIBi%kF4=@QGk!$Y<0UzNmU{Biroae
zG-iz+SR=y4F&AZq)aGe67U%4;CKHXP;o3IsxhnFv8K|`?Ohw$8IV7nKcZzZ9mN7&R
z?r!QE&?*8s0ufyFws^S_*yu<3q>ukfK;+jizp_j7&`V4lk=mFB9CW<_CwuxXz_FBL
za5oemgx5cDEydYaj<kq4jJv!j*-KmycR5!T)CbOj7zh3#h)6{YLkUva60sE2_l2hL
z&2&fExMch61+tB~vQg1<hT`afpDI8{L>PE_^z`Y|^P~9N5spQ+VR-ZS3si-iR?#S?
zo9W||&Gq#)gT&g4<5yq(IX(r9+rwC&`3HpCWUpe4S!9N4k**@2n6K$l1u3uAmYe8$
zM9R~6{R+!^;7X|Qns`9&xd@liP_5p8wxx+O5whdtwFr(>k(+6T<?{0Kv(G;J<dgVY
z!|SVy_uhN&+4JXc3^))<M)nWW7NI1#Lsd{r0xCKmYeceaHlWRyf3{!exrZ78axX0T
zM;p*8Y6Du_B#<_si7z4zFo!g)kU`G5C&-56(Q7uK%@_SG>wo`Vwm|2QS$`Li)`z0O
zq^tALQtqq3;MT9K7udKS-DN1Sy6KP9;cGyZ7c^w<b+%Wp1?QTZ0ITsq9x)Mh0V!n@
zCo6N6*IO$^7VB_A_RS;g^-xNi>2wpaeU6ji{4-GIaTw(QT-E3e#n~kjLAA1%toAyn
z(|mD2)^vn41ss>M9gu!h5U^sWuk0v6@(xZc`0L|8UDjIMbH=P8=P!tl=GDF!kKW_+
z2RN}hoD*b*yt=9z!5L`Ea<cR(P;H;pN`KQwhCq%cK7TVxeT9lv#&ghgnHI$J{LjeG
ziMya_-N^b8&lsK8BQ*97JBpvNOFkN?3|aR2?a1+W@!ewIr;5Su`LDw6`{p^qD4!9q
z@0(jyemm@&&#2vf;|wv_5O3f#cvjLn+$1(SU&3r^BD;+9|8~bKA}i*im1emF^{=VO
zmaMq<<8lx@ZVKa3tKE`5I6C@}h&)BG648J*pw&`Qp0HxZV`I@ESwF=a<g^wjtKse#
z#@Q1&$?Y*!n{BrEy7;axoFnX#a}Vnw>c#dvn?p$vM+eyjHg3FJY?>J5v!&5oWj>0-
zgKK4DY&pIL@te#6#!~K{t@D(=cU%qSrW;~uLVt+>p&<zC6r2;*dJz5va2Wt<fs}xg
zU8!oNGk>^`tqKUi!uZJ@PO@3Y`eB*7Nn4q?DA;U-yYfYKu@OX82W54-jg^W!>&`b)
z8O866E3$rM)1&E>p$J)eK7bs**)RpF<xoO2;Hpwle68JjXp&}u+-M0EWGzmG?Cn)9
zkWp;(JEF1Q;@(vGyv`ZI^<BoG$wy|Axhj7{Vs4_bG>N*Tx72Zj3vfZ3r-JlVb_1&x
zj}GHJl_rB)>mla(%(D`3ej?FmZutDYy}D-TG`pl!(O>-$XHday*&vQ@vnjvP7jI}@
z*FT3+SlI)$N-N;_H2$IjU%=eJjQGgQ%S(BMjNVslj^_s+ZKPrVqycb^p_I5-vIG^|
zY8*^&K&P=1a#7snt}368^RZZ%m2*m((FU|Pg#}j~miQE<G2xc1l4YFCb4<-2)uI<c
zKFlU982oA6;xdFhKRr7?In@zIVgN8uEkyQ!qM-G^YNnS7pog2-JjMI$?ChIwUh;f?
zQf7kJ6NdufoB9P*i&O%Qv1Ejp@~_4C1;sen*Vng9R4&osUZ1z;4RmdS7gC%GDAG-&
zisoTASr$@<R7C-9OOUIikNe{SxFq02;AWb0?bWMSzy9^FKl<pS*adjFgK(xXdR(@U
zL_o?VZ@)_3bF@n<6v<giism5OBWIG{c(px}rv~epCJJtiI1ta0e<I8@K8)a8RY>J2
z{%v`kMbKCYT3Bob;0kE>EQP3@lp=zPxm^RzqQ7Ya8c6S2I_ILKeuU7OqpVOlVbaz6
ztHK{g&RIm#f2yCAf$n?}&tscwHP59{uf-P;QqfVe0dTQ(FOx^qL^CRDfOyW+kbQ3q
zlz)$=3ESUIZ?I-it93?PL|DxSjM~LLyO=j&jgel+p=7x|PM__(5nP6_@+j4D2w7fv
zE=4-UC37*g^fSe!Hg4~uq7*~(ptn`(&@Hh1YBi&LKDdG!KV>-Tk&rFF3(A&98!Z=e
z0`o!<+ww7$vW#)#T9aiN(C>=19TI0XrHV})2yf_=>B(WGcUf`-+h__kn*UmdL4Sb0
zHAcsD7mO0<_0qUs4YGaayXUq&{s^PCwya~7t@&=(d<(d_oX;qSjFCS3?gGW>TiiF!
z2)m5)cfr2n;1yM{nd2-S=kL>(-nGMdIIXu$0;4=5qkTXeBF8h_6tfhkeXVKjn!B@E
z|B+q;-^vOOj*oso-{Oh1yaK~5@@@H=Me0sYPNZa!LSn`m#|<SMgmZzo<O<f7*DYxB
zdlaK~bDTbAugP(8tta%pi8UCx?;CdY1S5!#h%~#P89Eic5tiZjJ(wH0QS&B~k^7@q
z4G90%0l_Z5BO5OSjX^m(R>nb)F;b8+qwl88MBL@@pNRBG72!&cNdhrP%1nBQAZ3Xc
zXSXb~7hD?<C33MW8_+BZGFZVt?Y2}jk-kA`Zq9Ro!)X1kzIbrVdi8K${%}5h^}&Q<
zGsSNjasnV%jr1doe1WQvCdgGAlYUrOjp4Z#u7j0BnI9e1KM8CaqNpH(`DU{?mCT86
z8xcuwKwCbFY-XO1Z;f1<ZeqG<(qyZRS0Dq+W`0^f`Vm66E{I$9Mcuel6r=>+fR=KW
zgY#weJD?-tC{8-TYy)6)0Zp8<1>)LphaVpw>uP>o@a5-Upp=bd39~pZPo_7QL7ZY!
z6SNhwAn)kwVHg|a`T04AfKfv7xJFp6EXbSkqln>H>}3o@q$h(CJ2)peO)E*C(G;uw
z4ja&bBISWi9nY{Sk8pyGLp?pzLA3!b$fn9kt)k%#Xh|XX9A@E?`RWEVkUm?kf^pL-
z;bY1icz*trrqKg5suIUiqYBgzxO<58ryP^oq9k{P98i4|^yi=dKJFEd4wzRbC-q0t
zicNc53>zpl6$QJPsFtGcKk3)oH<!<!KWB1<O}9%jMXQ}EjuA@TRMA{ElI2y|IS!aY
zEwE6QAB`0BcB(*pMq78zuim`=&2N75gCG2W;`P<Vr=Na$b#;Zo<|w{M%E<tX!?(<_
z%F8FKDq@CIQ7*E{vIZ)}hiN}0c!BuxD=83__oR{hv$_Edau?h#*mnaOo1C_#`)j3$
zprR5JD4Fyd&_dRWNYX{~)eYz%Di>5uk!3ZSivsTI?+VHrLyZeW8_-!VIr<8YoZ+ej
zxxb6!C02O;iz494hPcRDoQp=DpMrRv0~t9V5uuNqp<1NP@&}w5eLmYUva~*T1n&GB
zZ0~PwWn?MHawV(SADx?yAZ1J9c=}%NqRFkmtNlu}wEZD8Z|E1yM?7D}gmejApwGWX
z81#B2w{HcVzddx}b5<sFx2!+>pHX6Muk!f#1S!3x<MdF#9y(t%h8fd1RK4Bnyeb>w
zv6nJ!e{<O5$051@jc;$-pjrJ}^ES=|>qq&IFtX3_N5?c{G(IEr_R{P!e|E_So7I%|
z%`=bBE;(eIzOC%FZzh7ha;T=WyF?z@jQX`5Ioh|2urGG$<1W~D9JoV9KpKNlG4Acl
z0xpg9yXP;Lchz6cYXat&tTPlHzmPQNyOm97)(r&=a(4PL1*#R4`=s0Q8}w+j0S!lk
zsWz#vu5MUrwA|nVN}Tb5c}HKtF^oSYFv6A$v#)9&jRtnH`CgGbl6$vTV!g4$?iEK9
zv=(;o9bLfsqa!o{WwxcWO`N7v_A(i@%WUtf@IonlU;8c4_d;R&JcZJDZC#`pe+{py
z#C57>p6%fnqsKsAs-1axn+$>>q%4l{+O-TM7l;;W5J|z7SqWdA59qb#h>Iu!YYz|h
zH#hMsNe54kudlBU56aHk%0}Lzv$<W+WZu*oBX>jj_h#fja%mtl9hx4|&0;{pIcJYs
z*YwJGf>C@{_bx)fjjCv9!<5==+{3la@wMLh<Tx~^VpfX#0lukHLH|Z^s`V5Fx%T09
zB@R&2Qi=e0bIO<yUql+Ug*;0AjSy2n0#&lqYePRnRf5fuoR3JhWR~P11!Tw~#-mDX
zdtG1aqh$a=b5`Djm4>3bPcfoRU*Ca-DlA2)LdJ}oaCLKuvF!8P+*emuQid#F%>W|9
z@?b1qbp<^VOB7M2HXXPUJAm2UUHopF^+Bc$Xep73=1@SKoK+NTP`VW^C15>v)S^TR
z{t6DTeFNHNVA6a2ti~eRL{`&4N}zrT=}<2|*uYozNJnVEK*a`efyb8M&ri?M!#U_w
z728Nd22DOl{YkaA=A{Q5jrd8uhxlaT_rL#lxW1I*=qU169LXHn?o046-?dvVNh&H&
z_~GFZlb8IzdHMRqix<r3FnEZc)unSX22)!#hfcqe168WMO&^M6SZQ~W@~t2hWQkIG
z&LiDIKpqaB{QB3we*XM9#lL+0=l}NK{u?B0%FQ<RSn9l!K5syiK2k*?7aM}q5uNy~
z52K0PmC{sIulp*BGxB9fWiU(r;Xj21dhc6Yq$na~{aZAV|HQXR#-S!(+@*h%h*wP=
zs(_V9ZMdtbZ?+Zgi+#3~)ZWtM8%8>&KuS>ep9-=sgC{-}t1oldL4a$SKO(sn_`?iY
z+CCp&K|G(!S#o+7b-?2QvOQYagJzwy-u4YN`)i><9ch$(9BHi2>t04PEXF9G>*-hF
z6uEb|Mr0I+T3Z^qQ|4LOqYol9?l#*VO|?kb$BA-x8(WY8$p9vdrWU{n(ajvZX{dO`
z;VcAirYkdt(HZ3v$7|6-!GE={;K=8%TNl9vkbq@u=BEq=8EZX+HyGtlu*wRs6yc&<
z{#}{v#U=FF_wZnTqtKw3&ud|%7e?ooA$RAwW50~7AMuPw^J&o7JM1p=$DINrd&M7R
z`|XgU<s33bHr7k|Xkxo$zHbh@V3&4RA;*22Gro1Z4MuUkbz%!}w^8o@dkoIg`_XgC
zyXx=0pxrzaQ7k*U%4f>T=VpB!DV|Z{sY$)zzu-vmEDxTZ|2X#z&Qc3_n$!mLZ2@}j
zl8-jWx3~8^u3~_O%m4%oZy?^$2K2rlC1f5uu&NXqrHdx=eH60K#^NLQ)nvASac)9w
ziLgt~jr-~XjSXm`sp#Y0$C0MdH$`K6s`8Qz5{%+BkPFE3a~Iz&7b?dD3Wem1kfwo*
zG02dn)K@sB?Nv0%27<W88AxLur*K*0AZW~GBVP#JAp-j2@>QO>Ry=mj%1|(V(f9HO
zv}`hD53mwxY-|8>)o7gO1SVr?ZtiZ%@0;DQ8fgRi_~<Np5zASF^_eV!yNKZQa-M=+
zR+01XEhGD7{+S3e(ERM}DMGSK=D_wMEX>wqD1HyZHxUHcH*E##Pt&Y40eXF&a>9rU
z()2dSUJ01H;-x-N_1$q%tu`R|x6}m0)ze}z1I_BVsY(!+JJK74pu~t`{4>S39)wZa
z5Xo>pjcn4XLC~ia00}2^aB~^&T5<)yy1L?IfwL4a`L8dpu%QU#g)x#UG#oV~V}(Yb
zHkv7@O%|`sap*B7njc5ebMt^k&@P3l9;VeJf==IY95mfdXso1<Gzv<3)kd{I5wrmv
z#axv*$TxPmif(BH$_iQ6cG_~gf%Lezx&a-S)yw#06_Tdd&Ak@XqBKa2bB-nh&8u(+
zY23nM4IFWnbb0|ertZ<n!RGAj3=N0a=cWc<j)vNuZYk>s*le?jsd8}maCv$8^5tLd
z?r+|E?>z#_0N?7~CAlod;MfvSD+6UKrGbX^jU)B-*I)ne2Onz#nmf$Wk(j+vnuoN8
zZ8GT-LnFX%b~qn1$s5qpYmPGhj5$ikix)3`@rz%OApGw3`bR(d5qfMmACa7C<s;P_
zMX=;dDTp9I1rcj{qK!-OW&>Ih<PGS<!@9viCS|h3urtEsv*H_a-XP9x%{Jh>Z9qG1
zq3CAIhKN^99kGCwNNv1|=M88<+t73znY}o!A<GA@(g@^<oHmjwFp!P=tD+zmW3nvq
zOKyz;xG7Iq;@SSuH=seTrC%=QH=t#&qIz26@Lxd=0&j|yb>koq9GfO3d1-wU&*(LR
z)~FsjUJVGcIi5G{kjg>%ghhvu-tqH587`Wvnt@S#4~`669Q9X=Ni7uM!tp#jxZ6x`
z%oS+Z;|h+_@6!oHC_nN!U(Sr>RS5&ULO!r6Oc54t=`Wk})oQe1-E<R(E6-j(8n+R2
zy!tqC{+3jmfNB?|q2ghAE>Ka(F@Y^jiuw^aNE!bXEEcbXyIWmP>g|~%Xxep=(_I7`
z5n(jWxW<1en)IvZ*B0c+Ihr0kdyK~IQGH{e^`u8OTkCa;roVO{#UCNJJK`Cm+{mX-
zl^~=1zYB71`^F!gcU$_~SFI|yV`RUj-O6?YapaP_V`UE+<l5k|a_avrhVv@o)GmzL
zT4EQQZx3>qhjd!=i>A-NXv+PPKD<POchLt&mQ}8D$+7{>EV|?RLuEKKrEa-<-o!H`
z&lqrSlxZ>^TsOy?%_$m|GoK+;fze=n-y6_0U0DZG%2~-WANamj==Hg_kJF>K&oMLh
zUEsV>I_xO2400wT<Ot0LqY2*k%V;cp!E5yUVzrwnN8={5EqQ`o(}Os@S)+`c5~_9?
zU-~|jk0Z#nxnE5j6_J8?X?bqKobl)6g{vWPlo+T9`NA<k&vBQfYRwN1B2?wn)SJ<o
zm>Lztj}Gg`u8NjQOvqkYFGzzFtdZCKll#-t)2plN&EYXgU0z-vADv*(ya8PnK9M%Q
z;PEG{B1`7^pM6!^qYO$Q8^Glo<5wWPkegE#l0~%`R!}PgAYLn`s!_W~Wi)Czb)hk<
zEHYfL%1Q;Pp}GxRS*|t;G6!3#1osOx2CI28zDO)(Y~tf9NDnsUf(?-#h+{8;)KL@9
zjb^ylf|LM<%BEV8JUgWnj#j=pW&uY~G0uQx1aZz`(q{G|$xW|0Ltel9hOR*{)7Vl4
z^cJm9!qgFyMwZ^J2U<ERrtXKVuU`f9R<HD+DkIjMZGJ$_IV|Fr;P^oygwoL=kP@r$
z%QG`&*~?f4f;7U+mU_(9@p9r1H=sk%?vs1wk8FUH#lq`NfKp|IEfvy8YBa*5#F4ZC
zX*iS{0`3(y>bQ!zzZtA2+JI(YAzI#bK%bpIEnlD<Rm33z4QUVrLf2bG))`IDhxkKZ
z+AUx4NsIT~9O80(viZwj{&IVJ^Ou)jef;sq;ad_TpkMuvrua$`39D<!#lVFzMY=>j
z)DnS1PJjT$w0L+Je~0(SKm3{IuCH%M{_voFWD+z!j0i6zF78@sr~(dZdj%>^`osJ3
zy)xRDG-T70gU#H8Gz<`}6qA@*9Ei_8`|Q(CKfSoR1RsC&gL3_fpR^+9v$M0y^0xw5
z%0)pUR*Ats3Lb?5cs5p*iI3t`td4S#5}Ed(>pUc9YygB2Chcr5$v^x@V$$RdXcMG1
z<;80^3ZxXAkCl-?k>PRwpv-O1*k^*Qnsmr=?RVLL)_lOr^Fap}8>(eli<AAbSnU;G
zP?aP@t+cZe$T}+}vtFqB6kkxg%rO-~egoRQK&q$klE{qQ%G~RO(66mO7~hupBQIck
z=Sh`nC8Zb7=rtLNso)@ZF&7tdglbdZVnM8FOBv{Wiv|+<QEpS%KIR-*$0a4Oy{C&q
zgJqm02b+T@w?|YQ%!jxjnkawzO?zQll#z2Z7h40Q(c(d0XH?UO^|Q)DX8wKeP%|%E
z5{o5#`s$Acvd{e;^<6yI?t*Flw0G|h<tuRj20#S8Wa{!H%l*GB0UWs{C6?~WmQZ{k
zUjaV-i8>Mk%a!?G^O^QfoQx#sjSHFck#Ub?%$mPG4|DL0Eiqlylie|DSL3{Uz`X9|
znBO9$y^!a_zHMcD@jmm>_<R@Sc1Q6?ed)6j_xx|rA4l15kKbdY-#7m)_NuDs#l<u3
z^jdrFSy%&ge^9<^zv?GP?(Fit?<#U`<twl#Vjq&_%Dh^Pky{`2cN@}YiUx7wPK@O+
zc8ANoO1U>X-ki_?H{8y(aBc_Y5Ad=aofllh-p3KQ5-Nt+4&}Ke-jun%zDCl$&EfIM
z$r)3N`)aMxSjt5=;sRGJj4PTO`3aaIsaFw*Z=bkA_F5e^u&_xO#UEi5XM|C|8c2!U
zHy=T*2;zBsGWN}1=;M##WXp`<gqu39B2}v0lD`bH1fzU3o~~_(-GMZtc6l&B_Dzra
z<>QFbdWd#@vqmH%CwV*FxLXPE>hlq9%6Ft<j8Zv}Aw}njUQn?FUKk@O5(Evz27s#C
zF6%GG{987lsiF~xczI;3SwV3xH5DqVAy+jvJ!B9`Oi(de2*iEyW^;Ubd3|;o-!{A4
zfUd^^<HKo#PZ2WdbD*jO4^Tv+k-f%2P_3|f`r^WImtzS~L6MNfq(zRIq50Eeiq?8D
z&Z;U6R#43OXXr*P#}Uu-CrfRZLNF6l<%xvM#BmzffCwTLMX$(G0F3+b-!3!U7C2-I
zr#%!P(#%g#qa8)N^)=9hYM-_Og}C}nkVgG?Q6#Es%sPQWlWfe5n&;$RbTc8J)6>(}
zFTY_yDBf{g{_uxCJbn6<Do&8AtE;=4_`(E=3MF4;?p;$=bfHv#K~tp#L70`(_~fnU
zn*XF}<CH0SU$#x-&l<|_v*m1&9&IH3s|hVz@wx<NR)P~jp<)h{6%u*7{1bRdpmsGf
z?mL?D6*LPMVd`&-m3doY63Q)#2(e`_9RkJV*nu1eDEV;Q`hieCZ;R8x+1c6o`8k%%
ziif+{O~#E{G(fl0_{L3j>~sV;Wynn%&{5jNq<Z`IEnfErG1ET#?6cRezajF=Z@&KE
z`FmGa7xa|r_vY;@W+p~@rjJ){>)A&q4sY(`P22iISm??PJ-s?QI*FZ3mi2fWH$F;X
zCA_%0-W;Fe_4(&teER99Bv1k#GGX+=629>_I`ODbpFa;b$07~zMba-7K_rJ;G!-+A
zUJ@C-Tais@ij#cr?$VpWN?{sFhT`k5zvjUG@>hTR;>8OzuV26Z^pl@Jh{p70ZMnF(
z(1!uII3?O+S;h>mH<TF^A;$+ehyW=yc_6B?y|Sf=c$}DkQtQ7h1-SYsE@c4a15Z@5
zGAzr;!y|YaRTU4*`YB_fZiAM`Iah@yfnGFSBc=#4cR?+>%96vEH3D35#N9_=J<vpr
zx|pMJ{bfGnLm)>3`^v!7%2cY51|mJh(8T>-$-kTtf(!%?0$h?AVctkhDppQTYOSAW
zlt>=2ydB>oCVN*)Q4mL}J4h9+DOREJeT$0LBctcZm?MZJRppN(r!x|6O98XWmOR5>
zX|jqOt@3&-8C4uZ#unjpm#bKAi?xMWt2IiRg4&m0ML*devRd-UT;3p_<Cm&nLQV<r
zWGzAvO^Q;wkNd9rSRHE|vq0<dL;R*fjX4<yny}6}+ho|j7-;>BY&j_8;cHeg35?>5
zp!j`;<@60SRW!PW`*OI#2m7)ffmliE^}STPEpS)9;tUdoiMYQFZqtwMW(nlWfFR9p
zQ+%WdU;<m2WL?k6ler|xaUpnfeSZ|Vh~)S{>Fo=<gC<}Dw+k{K+2?#lHW^yazdQ0_
z62z5rpGjlCORB3F<*(zL!;Uf$^4MmK;_n-0gni>^XJ8Ku_Unf2_P4N)p&w)s=^J@?
zu((bI%Hq#_m^A?|QW2^f2aM?vD>KKp9-3sMKcJG$7-_Mqj8W2xJxQ-@3T{$<ql--E
zPKg{H)xT)B3~<e$U&W?ip7SMIEebkPo6Qj|<HJZ<qESZr?)h00j|O#|Av&j+v0${m
z(d<)v3o~Lr3kPs`7=PZV4QLJ(nzNI0PJ!F|_%=o*D(Hq!C|BHy!@-23iOMEO6QLeM
z_SJ#;?&$LoM*0y(`8Rrn-8VRBTpadY<vGH)NL8?-2oouXQW{82)*d;}?6^xlt2PSw
zsJj!(Mc_PhVxaGo09O^#q|_{6WmBtA4%igIZGFs$(_VTw;Pe#9#uP0v5C_<BYBw4=
zipM$=>q7A@I|*drP<l&E#kC(T3CI8_tci<TkZrWVbnqnJdfRM{-@d)n2K45*{`g*j
z)*pG*c7byMI*wVRR`fugk!^&fS6kb|_K*#OxDQ6-gI-~q^q3DwSGjf+$Me~iLO;(%
z{3x<Za6x8S0>=kdf|yB5%LYwbnzW$!RhP^goNSJ!dx;7K9F0R<S-F&^txw77HC;L_
z_0S5p5>tp^WyqrD5lKamYxDSIa1E}kz@vfJ>({S2HBV1thwkFyLYsqtA*!=_+N{JN
zJJP!zO2cqbWUfuu`s||o>7$i-#6TOTxbVDqT)vKg=eM}!SPlZdLg90}jtRJDsf^(D
z-+;UX9ZhNcR-lTKKtq%*0h)aJS`U<JPFJ-}7a~?^kWj&wjZ&4r!bLW<Fqt(jc?R~V
z+p-B*M!(9(6#&hB{5{*<$#L1Jz0=wrP|W-LxV~@}FpJ<^CQi;y&(6+XzkS0T!x7Fc
z-fw^V+mAo~nA*2*Uq5?(etfvOy1F<z-0*yIb#ZxmdcrKjpWDPTAlk$XK5e*^vqrMC
z&v|-v8y}@?j!xdZxp?;MS?n?&pKOj#iSotgpa0cg{T1_s1a#$!^SU4gt@a?`uUJ=i
zJW#lZ2zaUE+PD_iVpR1>=3CCPQzJ63D#6Rn8k|A?;0G^$_OqY8di9FM`DZ_keRIw5
z*l91Bpg%b|skhl&;mVvrPmnmmF**tvpa?|DZh3{2nr+h1JW|EnUqyo;H6ShuVN?1d
zE@dDd6*f5;a2F;quv5YnwOD?nQ5uo|kG($+x_-;<`mpCY(=)u|om#DKwVIZMh8Bn+
zPOxl1LKs7wKN34dQgOw0W%wtRq%xJ0GT=}o6|h}4F_lWd1YAia70OjOmBBHw6H^4x
zWF&+T5DBCpA$7NUP~X1q@JwfT@>%P<_d4she`lZfocF%BB`5yg_wHxywbxpE?X`#B
z{_XQSzf%rCH`~C95E%c#SL;N3VXfFt=H$8BMYc(GKLQ<05$aIU(MAw_fZtZ&NS|{J
zKDLZ?0}SLn4Y7b5Hi(w<q#B=C7T^9jL=%Cal`@Y=BO5Bjfsw;NVq9r-LHk^DvE+H~
z*$mxATBjApK&GiK07q>JNG6ZBtm`gq5k(jo`wugWOHz=$2ywPZ_n{fgtU?X3S;+!k
z;jpDTfM!*((o}^Jr<*zc>yoz}7+X*3XxX;WzbRa3M-7YZ&rz`&S>z(6)fl6k2D1FX
zu@(N*UZZ3(HmB{_5_pZaEw_v#M<et1AXLWj+-WU{+`mUbW|JNLHRM_tu>q+Rf2I(z
z<Z7+3XwRnh$}hYkg%|YLbD=jL1{aS6<jroiqvkVW8534KvfqsJiV0?7<VYo_WAylP
zAasN1j`Mzhsa*kOeZ1{}Dw0f2KWaoRBIL$VkYe;p<91^|(CNq5N8^95zg}5y<7e)d
zuPf62{}A-f>v|n}>;X4+#zBDD8~;1r(BLf^#&fIdt8`$?_x>u`ZClKj?0=_E(_&XB
zmI&NPdygShm!-aE-Z2tb{BpK52k9CdJY#hf;S4{+@eji)j84BHy=@mnUVjAH$(+DW
zroeXQQK1}McL}9NKPgUdMPx%jeH5|E&$$7pP?gpY+w5*PRbpCT>W28kLuNBdMV$eC
zEXMW)noy`Adh)LX21EC?jReBI4{vHej*U;CY3x{DoSywLzb7fY(x0Zfp0!unX`m@1
zYdK|_kY>p8m_LRjmCAl_L<m%*y2OV@m<wC*1!bvMOj!^e%;1p9nwYGHaO`brxKS=S
z$$_+hvJMn#h%mLa>Gb}MP9^}fa^nN&;X9zW9#Y#*Q`wCS-FQ$6ByV-53z(Pzd??fq
zjaXEtC+5az<O4mv460PAIP!mto*iv~a%r|Uh8-%^A|yffWK4|xR2uPYF_O<1d!_L+
zw%@cXisDGFF*TM{7GzGOh45P)2m!i$K;mG=O00q1Qr04$)?2fdaiSNW<^Vb{pG;r8
zcoA=2=BoX*uYFC=!QJ_*p9z#rT{p`hK}G-sLHoXn)YTk7hZ`W%AbTjHt_H0nb%~=i
zs#DuRE(P|Xx3?PK=sQyAC>3N=%s7CyyxT7PbN~^QiKOYQF(8+;eTbq+Lx!w4f_)35
z$_S#h&k4TiI2|0pxGCC}4Hf6>0NSMd78;r*S22+=FuCe~!~}>hM4vW%1r}iT!cLOU
z5wMe7|KLiX?EnGNjepmTD51y*g0sH2&odZoaM-olY0=sIgAYD<^yraIMmx7(-`?CT
z7BlSJ-d)e9Gc#9aiur5a)xcug>$Fq{(1IT1T&*@wo<4o{?8S6GySRApRU6W0nEC2g
zzxv5feiC&H%jVwBrqjI05zg=2M7~hN^+%CZ>Q7G>_@3NUNG<C!Aa6PA0lFby`v}F=
z)zvqA!#8~V;~#(c<njCOzyJ2zZ(m$otZwbS&jgJIUf<m^VWDvzv$RG1Lg=lQa+qS3
zIbkG;?2B-2Ij9A2G=7xL2e@jlnuDEcyi5v+&;ro;fVFS|vc$*T0I~^TDXWMh<O{LO
zXVP^!JlYBijsK!ab6q*k;)oc~W~R`Q3RWsRE)&^E<0j35lR7(Wg81eH2zkJeaeD@F
z6k$-f4sn1TcUFwsr8N2x_*JFw8-j|oa<2U7nTUDSZfA4=9T1;X2hh|&K7_%T9&>UV
zMKqj75khnp!{_jy)TXvWr4j>;BFLq$d;p?>epK1kC0i;i6|D&pu}W10F}QB(NqK<e
zVEsvb>L|n5WNc03e?&@ZtB<?m?bcy{)=7<$jUA8Ma4UdC(5$3FOkg_4AQT&n4T{iw
zJQleY+1XCiip<FJ>I<#6=sIl8=MU-fuB?J4<cg4<wlxZw&N%fCutQ4(DRCApMd-q;
z^S3d`=oKNYl(Iq5X2;+nrYnIl_QZLoO1=(e^z1j|M?g6IZxHe_7-pj_`|(Qoo}U2;
zyt2Bn9jPcCm+p)Mc)fAH6FXg!KV$Ub-^19>D<ioRJ%75^evKVKXUJz+-Whz-;!iqs
zt{At=I5T_m=Mb%KsYsl>KV+1Zzb$gT01I%G7GQ1L1iMz-Hz%k%`<&?_?7LZK7@&vi
z+qTr-Xj-5>hOp`QY^Da`GKeWYwB`;oi$$q7k513#Z}TTKkyfh9KklK)h5#9?u&ZYE
zbknT|;|sqkG!uJ)okBUX&5SO8{0WAmG5d9c7P4HsX!x1gYfj)m|3mEPxOMm%D7jSh
zf&K)-LRN(CT_AhNaXZR~1BG81pGKf(Ru_!1mI!H)hPuYd7`eJkhrEmc(Ye3GhmN4-
z+Lc9~6i8Bhn92rU1SqC_k)5zP1jc}$YUID_j~2Lq_#pZn1DObc23mhaXJWJQ+maLe
zBHMI2zrMacKYIYZ>lGYknbj{>5wvWEWuPMb%<@1oRzngFy0fnCuw3nL`5y+d7PUZ#
zqj4fS6Fp=LB82fgEdu_@DrU)s3R#USWkIHQqBs8i9ax5)7R1a&dEPapJBfVL2qHe&
zpKPb+r}+6+Q&3gXjl;x9MW7Yg_1Yfu6m3O`76CHN<(X6*lXgJguhzP6zjF|l+uK`Z
zp=l-#vtfY%s1*NQH^)SrjLZ=|klA$r4Xwz8Je69Wy6UDXij-BXfP{mOpVBpEircJq
z3!Ka!A3&=}Hbv(TA=rP42|@sbOmKu|`bMeTQP!+DoHu}RYqTX0srY%cso_Mx3TsT1
zf>P?L0TqE}oCh?onXLfb^Yinwvokw5c55)rtQ~|Jpf4``fddxY*^IS|vGnr#idFaF
z!-sYTJ-2VgP3F_jeeQD<z4OjHv&D3=SX{rnVqjb>&Q_~CYMIR^o0SbhZ;jowLj!1R
zQ*S+b-Y%x_7iSl==-G>xPo6wk-=98z{`~Ut;myr0p6I-r0gu4>+}=j*#tS0C;55CH
zE)#;Xq(Mx4KUuOhoF3XThDq7`i}q~U_Zq9pL+UjMzwX!lI^y&4=K3?A`OLFt&pz>q
zPb}+?e<F6fvL`)}Bo0K66k#eN{F<|F%8ZI`4zmgqVJHXL<^Wd+VF8okgTkpY0`&L*
z8UhE{=1V<_a2P_*K^L*q9f}EA5PZw{yIG^igd8#cVak8eA_|@241&&S6DuJ~Md;o$
zvRlH~2JiLl`Xigl=KE+`RVW+D1~XKdijP@JP!Y%<kYt}VLIA>0Nu|hVBSAw@5xSAW
zGk&eatZgeaNS9PA2BUdvx0a5HF@F!TilULV#F4k~b1DI$$!0q_)hl1dP&~5{(Y99b
zzXvFFMJbIDVt*W}SIBE@-Ur6|gQD+;DN|}ZvtcC=NvFVmk2Fp+2!ROW*rW3H>~nFZ
zUUuym;=>`gZa)r}JO*3;WuIPXDpJhV7p#yh3`Cm_6%aPmVVye22o_ak5Q!8du_5Yx
zjdDQ%>OxD3@I}WrY(UnMSfCbhEiVsDNI?8h9HX%lV4P&#NO97NN9fsEr4ODnB5n;D
zSHo<>5A^EoVUL}0(N3lyey&|~$TtEzjg$85_t2Bio@5*=4|b{?YyVB5cR<|rr@8#R
z60y)7iKgMbbwEUTTZx@Fv*wBRhg-Dnjia3fdTVu#$=E_JHDup%Gc&Do(P(TGaXpf{
zr-cSOfR-e(<&Vi1z6l)$+1y(2o6YXJbaA%*=@<|-u>*Ey*)>A@9f-fch-J=49ZZ)o
z*f&cm#3>;-Y=DMV4~=}_*a6+M(?f3|-jCdzZ9r1h!8~xG?;&jV+STj${m9lt_x$PA
zOS@hfgp5NjoY`Q{PQwqCW8;iJ*;LRy`5r<MLUeF;VjL(D;zt^wRIV!ELD%_ffKN&m
zAdo`=$ITdYHUU8@8H9bq2g_!0yn@4vihVQcn=#RG6D2!=$VyT$`6D+>w$rq-_5k{1
z@MCVWsfHAOI3S`o9^_9`J1W7+MbO#(Ttxgy;RI@S5SBo=cNAn+ge-)eTtuqQ9ixeV
zXk~wb3AVRD&IkKFm+n}`&b)RZYLa3Qvd}O=_%F^_0AzYL_@H8kJcQ`VX+2j5hCdC|
z@8hFqjW={N6Ksw=fEHZPAewY}b4w_weX&^F-rj!j!3RW`yOd|op3(KxZh_j^kstEV
z#UIzr2eNQ-XOWeRQXyyvR)$;zioDx^&ZSu1e*jHZJ_L=Q^2hkEI)L`HIB)z)D3u+c
z_L>0wmE?0eNp%Uz>Ivw`2INkt2lRnW6a|!R#sleTJ<v4TnYaz|;tW(|>Bbk|;U@}4
z)OvRUF*E8H3kJ;j`MI7`*6`55iV65(t1NS;x?J9p-uqSH>gwvjg9nTAGX~gvZmTiG
z_1*1@tCyet^ry}jXD?npyF5Fmo|n&GTwY#M7c$t9HPP511@$P$=CWR!ceh+#TwE-d
z>*;)Pb9cw`j-OXAu72ice&*BP^r=UW9zA~i*dE;WbKAQ+d#o5Ojk=7}bkG?oKt4D@
zC=IX3iwUxP96*zXFvv$I^cS(hvFFd9f9Bi1_3Z47$;ia~)F(bkL!LZ&!j)^eu@8+9
zriiv+O4imMD<-L1+lH&8wZdQuI<7V8%FGAQSS}gheyT2roC?r;4xsZnX+Q_i0LkjP
zXKPHv6rA5ZfDV2fKr1T(C<5ZxvgS}W#Cq=nMnHg$<3&NVrN%CUQ!iDJfZ77!<l7D!
zRw&@~IJRSspaba4S9lvq2(>3TLS)sy!D+?P$ZT$yLOu?lg=}F=N4hQ8ix3o{Xb8DT
zt%x+23X#pFIqf|Gt^G!}CYo!eZD`XmuHv)PLuV7pBD~cxnQgs!6*67&bU@+KjgwQG
zBCK=P#<JvEO4i47J=E|XDO1U`D?hH+V6Dk;3~~^TLRQT2$vD=yzPXsKmG(L(W~lvf
zLi;N{*(biz#)6n&Qs2c4L@0d?|0x3Wln6K&@%dYp2$wQIQ?wJSrF9}iNM^+`Lb8Fb
z7ZBrgCwjH??h8ts`-r+k#5(*@Lk)@Ad+ln(z#cy-8rzY4&;GH<o@Dgm){`G&+|rCU
z<$n*o^Sv(8N}JL1vwdRd)v$Or)(DQ`llh{X`;j1Qn_Ab~C<3GY+Uef7Pj|N(+vV>T
z``c^s*`J*sfH|y2Ns?w2!C5x<RmASh*#>>HM3DKg9K_h50ADg@zgV_QnCLN1&*vW_
z&?-g_NTC#0E&4<EvG62dGI=ohlZH`b2K_5UM-R}w*wKv6fIb%80Co7Zu~0|CVp4TW
zpmyQddVBJ}x(Kg=kpIyN@kx8_iU}W*IXlKH<0GOc7HB*iqv7WZc{V;)7iZP^<QYhP
zkB1Zq(A29C`P?kw(%ml=<=UZ<3BJ@ri!563wetu*gh~2ZJoR_j>yogxA3rg;t<=W)
z1fuK*ayDp)-a%xJXNDS-Ucqs7e)hop?>qsWy};8T)Xd-jd1cM12qvkrfyl;Uoduw=
zpJcYgYIP^NfdW28j~~eOf+id2jkhMwp+1g}=qcS_V+sc-+v_h4Na;%6*(I=JZ0oBC
zU1b|ZdtzuPqqMhy?mgKWSqRZexu)f;m5q)j$Dq%)@>$(|&m4VWAag{7|CyPy4X$6j
zyu7@;^LG)DzIgG1nFYZFSu7SXZQ|eCeK;0!r+|Dz3vz^!kyr?~MBSwc+tS+7;0WRy
z;ru9N>7icyq~SP83JoVa!<JBhKCSQ0Ce<cVS={&3MJo}htkK?J>Yy#lC}oj@5G^fb
z{VkkDMi3pd)P)R%-nzd-D@Q||Nj-63;%n~HSs)HjfP{tnwSOR2fsD``K<6T?k;NeU
zGe!jly(YUlzyyow3|cBzw>PB7Ah}*IO?YPeK(hAkh`Gt1o!NUN;LOj@zVL-FytsP#
z@sEAOlP8bvZf@@H*I2gH``27_;Dh@zc#2T#who}Dv)Rp^oiM-i-g{sD+6QN6XJ32&
zgD-#i%b)tDZ+dk3fZ+kCkwF4(Z|z+cXys@Ns)rgqw*}594Z_(aI2I3R71!SPa+A~n
zG{}6APiA#MfZO=_{OTo9`rv~Pe)Dhs&Gv5V+uNs4pCa?_H+&3%YsdNdIg)5$)~feU
zjA)>)FHxQS@d_gwr8Jb(qFkBz02+g$F)Iu5Tpb}92>|Hk06J1`cu;q#Efd5~5e8p`
z4uXS8Dq=&=4<!ZsClx3ApCSK^sK{B-#~wh7C|P5d_@r~iZM~rP3J&y1@@Ns19Yfy+
zFd~q`8z8It8omIN8kI7Nm=P;~3kMuv0;2=y?4eT4L^U^rL8b$tg`vof(bNKPESLgC
zK;Dw#Ka+(t`!8f#2u={qH}C=&EYuL@OI*VIUQ+Ri1!{=Xe7>D)%G)$sh4`PKvpie9
zn6mZHit1jO)>V#WOH6EC-0suL+UU3Ed1b3>CVx(w1L$$U8}#@+Yy(>@i+DZzVFXBW
zRX;!l;tML(N^47&1J3f!uKR+=ut4iAkeFcn(LVM-G%AcqxuGfwZ7;+(F$w3i2m8F^
z7-u@;P~&HZot}IT<9V^)J?bsgu&;YsJ%5f0LWU|0_3T5&m@kzcKesF6*m(B*0plhk
z{HE$1V~;0$(9`Pn*Kq$I=+=Jhd0oeTA11Hb!)J(yr<hSRymv4d&F;DSpNqh-U0YgW
zwRG%ruhj$Nj%;5*24<1mI^aJCtt`7lzd~%+1Q8`m%(;lzeUJZiAR!&~f~;1p?U}}E
zI1Z!srlQQRF4bMMKNrQG#LHWp&SxJ(C9EK=jjNSm!j7a0wB*@^wXVM|QtF$W>fvb1
z3JSXaZ2AspK%lPdE0HA+(dx<co|x{+d+QEI&rZXaS<(aL1I<KwB@PsOZS0Rv)E>lG
ze!qtyFR@4?4h^#XotDLH%#IQKo`4Xg`9hw3VAd#08U$(2J{uj<5DsWEOIW1<nmDLx
z&2WVU8YaToxU%Atm3mzNxG~UK9s(3;vO{CaYw{}m**877AunKB>RqAi_y$1Lsa-%~
z0<=oUP@~3>`1k;NGTXkxh%k66_ndU(x}xEGAo=XDknQAg7<>rP(j^Te5r+mne?qZ=
z__@YL(yFYrld5yaP@KaK5Z$|AgjvKw3l4FJEZ7$L0a<W@zf%~@(>U3wsM-UH|4vB|
z^p;uu2`Jk%YD?^LgS5;?)Dqyt{0&JF!g#wwfFdg*r%jer1W<KAx1%-@&d-U)?d`4l
zbiG_XfBxL}Bt?tb1?fU4&4+;g`GVzpO$es48KtONGc`xaIzQYNpH$->0_TYy3(;b+
zAl2K(^Pyh&58WI<i*}g2vNYW}mQ}qbH*Bwd2oAtk8l^5<N>Q)1Z<SRV^Hy0AhWbH;
z(tyT5Mu-_`S5g!)4qBuXnUF(F{15qz91RI;3^Q85BCVgO%K|Cu2Bi?F_y?5MO(uVC
zzjX<5XKxs{pCX)}Ew1lw&(6+&=I{LsVxRu>r%&wd%r}o7Jh;8Rrqvjk*h@~WQZwjB
z5B@9O1$v*R-a5y1<o?tS#NYqm`P=Wj`@xInKk*Yk`CZ@s9q+#L7E^fXZ&JoLQiN}A
zZkqK<{yU<729Q8bWlHN9fN6W&R1}B<Xdp@P@6$0KVY#@tAU@2;i-!;JkhYNCuhtJA
zKK$e-KgkGZD+<kMf9tKcbbx}oMcZqH*5U@Bw{TxXdSR(lDH@SQnN->ElQhpMRS`u3
z^s0XFrfd+p=g}FqI7$(=f#G9Mieyc+YK3GaY@x{>3iOt;q&k2WEuy$oBd{lJY6L+;
zh}Nw@WP?^lb;0tS7m0EV4xm#!i_rw>4Ydu0@8dJe$Xawg$huqZ5XhjyEMOopFG!)o
zNcIp1v%!GYy;Uk2)a#~7Op?P~2!r;LBBSvvjv#@U{*ej@lg<7!U#K*Dp5+4#Gn(9>
zaVD_JpD-lU>(UVSc0;WD`NA<6UE<^3x=UoS;6E7XH~*~5_&_Ty&ZqX^g?*Cc!j3}c
zFY={JO+mhL3HC1a+Oph6OcknwMnJlmndz_`MA!b_Z{C2WB32BYcLbkVZ+zdwkj;Rz
zSe%I_;5GHgS3nEOQkIzk+24VBG}CCQx{|4mF_`TD+Eu)^q5`4ok;DRUH2wpj(nC)`
z<4rchIB9R6-vcU570Sxs7^-)So}b~EvVr~b9|dH2T(3CMuEv3;zg~$~`rm~2*mySl
zu+x~`;^+h1H-l~*Mn|8oz>)rIAq5IZq>6LHBxOfRIs)z+f82`k?p=^Iylqr;ecy%M
zb}*#B$pI|j{Mb(6Q07Z08#ddZiy7nAEpTl$DRNWO5@+D27GWV(ec}&E8ya~bssj?x
zQ`HS9%90s6fTqm0n^Cd$esE|8m)txF=`V_EciP>p_;q0Uwz6zJ-Qf6|>9C?<12R2^
z<b^Dm`G;U<fcBv0Rga$sx*)n)Xyi6&Z-MLag|Yo!9FFCy-drkrzx)`PKh_Nn&ddKM
zKCg|aS7w74_e-xu`;q<3)-t^ljX%`ha71ul3L)RbCk1SnM3|fl2ymprj+RvWD&2cz
zVG(Y?AYC|wi!224Sb)YFMdD+P4Gl$`d#gh4fYv2}a#8?CTVN})4P_f=(ajA>&~jsp
z5NL??+MnRAui)U8UI);p(|oY2K2i+3<2ft`f(a3{Rae(WL3|;PbMcjid}ab%711Eu
zKOBwmTxmer-iBK$5)(xC{8TAg5JI*P={DQBA(4QPX-wC@gZPL4VvdQN0vi&QBZ$`J
zNLfL&+G}!23u5=`R^6jik^m;Dq9FuRgwdlz$@=!&p;#xXR#p*NJ-^J9*V{JWYfQd)
z_MFN4!SiRD(G+ndCydaV-Lhcvsf(0}R!9tFPNWS=QMG1j4$&G3V>^m41YMw`hlT$#
z+hS%bkL?g$g*2iEru9>Ew?I;BsRtHfi4Qa$)Nr*IgJ!vYU?#~Zg%C`}g{j2@yPX%5
zl7|2O*Wh|+7NT&gOvEQ3F@UN3gte-sQa~pbnY7>lWW)z#?T^P<*$m|w0B2`sl-}Oj
z%ZLd$;{v9Bj0+Ah;fkQ)>*+ikK*fHw&|P|9=gT*CY;<PtVrG^;c=+)D{nLMktI4;0
z%eP)#U2T@Dv-7#X1KOU3)(H#NbO0TXn0izuc6@hlKXbQSZyrB=`uzFJ^UI5uFRuQb
zAO3g$^S}G|FQ&7*tCtKU_sCqjySrnwXu!Cc5;Ubi8*8$`7eOn67R(tJkY!-68g;(n
zA2Rs>THOI*sfSoJe4>gxak#p@krDW``uh4>0_P7dKlQ0k>1_Jx)2BpIPfXwVXGjPD
zuVe_XMeCISuTa*%?um1Blp|W51z{XNf|La@B||De>wuL~WkKQlBcRP~6=GNet2Fk+
zDfHI1!DaOEQYnBV$gY^VRKbKWm)w7enRF#`8V8q+B!E^nA3&Q~hw-a0Ocyawq`Mkr
z^AqCvkaXg|kt2vB8<7Q~mFg&8D12woUi;(7y4zkK0vV#sKw?HPsY#*XFoY=09?Ely
zlnrRzQ?0p1(J_8<b4VH1BE*S+S<yCl1u!+FsofN+3J_ENGo8c#R~|q&7*{H&y}4BM
z(#A7pp>sMw(egXo`xVQ24qc|zbvlE9kNn0zP-hl!UDm2)-}Qk*Je^<a;;N(TLJS9t
zz-gL1wY%418JkcR$*L08z#*~P2`PrU#*c7_&GFSu7{_1MPN(+G6=eZpt28#oSo?R*
zEszeUy`Ta`=1!=e)`MVWxBNz}qIW((e@T~XpEzDWo3GvSn!he%5KW4afXVee*^ki5
z#)0BIMpW0JH!pg2a&<ZN@w@}Q@ze81*2dWH&lswATqE+q%>D~e)N}8Z=qX0+$^vn6
zd@}aiIUL8nfuI-9UcJZ4_Z|T4VQ_PD0P+E}d=ml0AHp^!g><;v#))a38v@-sfG%Qw
zX&AJ9_xjKc!s(>EGRV^%AMRR1^z*ddqH#FI_x+L$EoEKYMeF)$bRzQf3MSZeJ^+wQ
zS+a2K`esbBnzM{>(4D`F`8OcS#U3H9`mF!Z)o$?>m^s^!Zzi<fL6Kb|4JKNjfR<Yp
zbcD&WVU-0z0w9PF32YW>h@So41?E^g!S5+HP{hV~?Rq~Xa=qDR@I^!_nJg(f+sWt+
zIFK!e*`A$P2=*X*)wsIT{<toQiLbQh|LgT*SPrp#gK-E#5y++p;v-jajI6Ia_VK%D
zQuuH}Mq=iN2MU>JshFaHvMP-yps~y)0T|C=*6J1*S~m>YjtduS09rO93nU|m8Kp`k
zV0HP;=jn+ZH)F=ydtyI?rLV$Os711w`34yz4$3y@@!g$b3jf^`gJ_saB}1z0D<Szn
zlLfu;ANF&-nP>#?lOjM?9A$w^waE2KMrqgqWMwLBj-g|?LMK9FK(q*fzAV%(NSIWB
zroS|m)N!~0A3AS{Lzq;rj!{+^95{{+h%ptk2&#byrVv?efRxQ?yeh$Ew(*Z2T?8s^
zAZAk(K6}o<RonVtZBM5H!Yj}3R`za$+uK_%?vx@)&r%fQ)^y7uut%>vs5KbC2xGrw
zhV^32B-6(XSv_ypq*eJPt27A7LkE9dpTq=V4bG%)PDn$`%6xxPXs^qJy}b~?+E`C8
zjjxZ>M*S`{+s%-{f9#aDq!EIAV`0jM$;AkimDR}5M<^=tZpoOyKkhe!!IYNfOD@77
z(0MK`LLg*-Wa2nLS`hF^_2!31j~-oJU1{WOR^>bI=jZ1P801MQ!cVKdKo+V|Xm4w@
zm@K#H7Z(>_{NfkC{N*pd`|i8%yz}-wmT}UbhF&Zd*u3)};yb;!_mywf_Q2!aQbz_8
z{!FLy$!y9{y<IJzJbC&{pZna8|IMHH{(toQr;GXeZaKH_wOeyal@4@WeZa4@bv=P%
z{Oe#28jeb(C4_D;nIR(Fe6bIqBRuGcGY0LCe?v$`>I-0{^}rM?{YMnNizYPi#fujN
z{F}b%n=UUepFMl_@sEF;u)q7>dstXH=&9$=pA%9HqKM4HhY#ty>D=aHG>TOHwOU!d
z=8Rp7x1Iy}MwUG}X=J_72(<z}zAarwd_goD{ScFd)!KFuM70Q16}=T&bPxtz!RrSD
zky0Ni@g)T?#Zf7hsz$PQ*O(lTjG!zi2jxSi=-|X5vP&hg^4CBGQ553=M4yt%AJKYe
zG>~t>x1!1c5+Kg3)YgnTse!WbE@L<fxKtE3@x{#PI9p=qaS}7%vSwk{5M%iVa+$BR
z>EB4@l(P6)^1}xyGMaptA{63)fmZra*|D{Vj6l8eVT?R}1Z7J!>|lXzv{ZM9+0NFp
z+B#o?%m^I+BR8b7VU4CW^b|7o@i5YKKv|3Zndl<#D0lcZt1C_&MFDEFdhv}WGBn)J
z`-#Wgt_h|kpDi<d;6SB<>fO)D*!t-((=G`=in5HZnBwGA<44GKE!RxdEef|n;}(R9
zUwa2NW*VuG6hD3g2IP7}E2{%P&bL(^I?LqoneEV1l9I5BNE@>Oc_@g3WKXz37E`Rk
z2oODvVMdmhwafug1?`n7H9Y7%t}+@sf$Vdpd-8h_T@Y=AlWk^5W?W;hUgVpi$Wp}U
z<yx%Ixw*)O17k>Q-0E<?LC^ml{}2osviAUSjLh%F>JVt0$ig7?)m63RRM=5tJy33d
zR%5&pEX}3K;v4{swLWM(h*qhx?32Y*s-kda3<?V6C}MSa&-IGVuOuQ?mei_UO4!o*
zYTjaW5jhg5Z+hdWi%z8qky@eYqwMMB#V46m5X=w?kYlEhYSwYn1i@y46ao7JlHU+Q
zl48@NW_DmJf^K>{$YLWEK$tXyKO(4>F?yfC^yH7ln_6gk{&d^*hU{o?2#3^lto`82
zNMw8RalvZ@;EO{lhz@=rib%urAR1u+XUq)b_+;#l|G2bQMc$}oH1aY?N_%k$LIY3k
zA&edIp@HNfkQY<(!54xPd{WE$0W=GPxyPM~p~S(|>OL`%MOSu|6$iA&t4x5R+`puf
z@zixs>>i$W&_-z66Qo7i)=h(Iv6afR1B@%(536Y8Fq{aZm~bSfbc}JSXmwlziiktW
z3?Z%X1T>Z#LVh+{WV3~gT(7j024C4Ay5rW(H^M;v2*CuKPJ8KMQj2nhvaub^<GFDL
z`>KMJ3zwJyJwYtk?xhM_HpM@fTmy49!!*l%W)X-~mc3*P<D|Y2Aw+ykw-yC4@Hv%o
z`$q%_hyZ;$wX^s;$Lh|0v<*r4fY1>rh|RKm=>g7aeFqUX<p!q234WmXIXr+a6s03S
zsfZMv#-Iqv=OTTeC4@DKdI!*+7;P}J@H2FLuV${bvZdY;QT-%Wpd$FB_%8u51!&2O
zFYJ869Vl+piyhgdFJMkjZ5sxlHRkC)9Yn$;8%9icI=x%kJDM2};*+Xfs8Fg;3sEGM
z{pHf0fWErAy12NwzP`S^ytFTooS);lS*z!>qzsk0zvIHZaaeD7y)ZEd&1&!Uraqd@
z{NVV>&;R_-|KczH;%7ednUB5m4po>Z{(F^dC#ehdhnJTOOj_q=CnwX1Z592z;QnN?
zy5GF}?z=zvH-GA<e(tCKbN~21g=09gW}q(bOnr3Fpfs3*`&qh-=6LNkl9ftkr(&^L
ziQtHcEu>7rDR4eaK+Z*qd}Q_Eho<4_%x-Hbq8HwO|9yIdaM>-chaDyn(97J(5&=>x
z^--~0+nfb-hnaGlWG#|jDIlyO;7CSU9hd@`-mQk<0JG+d-~-X?dpifGQfQnpbsIP~
zS{mUGa{wJ25y27injpRl8pH&W5hwFqs$>s5fEGfc{H+JIU{IHZVG9WWLRwf=Qk-Re
zGTi}TJyl0|46rJ;J#!HeS)pO7cQrD_Y;J%;QmbNqwMd5g7c};LEi}Lp6F&uIm2Q#Z
z0752<Wm;pkWD+z2g~D<)*#LZ83R+_3<nTvIccQe=v0g8Ag)c9jE3ohGU<_)4NdqMR
z>vkMT{uX(C$E8$v*y%Hv>|)ZDET?fsAB_rH5J$)|!kCjmsRROzWMoBbR%M(h8>L!j
zG?-&Z+oruf@dtuHONtt|f;gxuD`XW<l`DL!V%N^Ztf%oA1d-485g`w>%nDn+J&I_2
zSrD?;7+lN?<p|-Pmg1J7x+Fi=%AREG_o~4*AXPEbnE<^Sg<icqtv%MlRF>(<M}J9R
zr*1~@#|~43H5Nc^jS%P=0gatk*4xAD$v4iMtG>TI98J9+-v6*5qB#z192T~9o$BK{
zCzE7jGiA}-R<P6f2v$LEowU@^pefRWM50MmN~$buH(1iRh})8G4~a;|Ff_|vh-q%$
z{L|vERi)ZAgiOg-^qx@Oc@Y8GW=8g>0t;^Zs59tJy*->hdH88=4+ytrEGa==`N!Az
z3Mg8!*)_wH>5TrM1DKGuCk7HTOLbT49NS#N=Q_iJF21mpKN8X%L!YP|j@PSwKR%4j
zZo4`*d;FfA9(LNnNWRc!n_2$Yx-zhjdSe;H2DgFgRhl7Awv%bFQ!!+M=vf|L_ysOP
zg&Lx%J)qk~mFC)WoHKg$Hul3Hc68^7+W-Pkq>CkVR0NHH;!jrcB4BbesjNyvMq0Ld
zVv0ooYqlhC7g|1@Gcm7RG&jaU2Ta%9DAp>-f|40RVvR8A+@Ji?6VS99PxJ(|Zg(pb
zLt`}?Rsplw@*!yaC#{|rzSD;NmhJgD$AJ#?##{7b1~y|Jg?$mtxPmG5u@OP-4af+o
zj<ldj#gt@YAE>m!P9_L`ej<1b#HcP(IJlvz$pZOCsV-rHB$e6~DOCq_<1H|_NwfSc
z`IGr-b!?9U@tX%xMYbsvJMO&fj8W{T8kOdwXAoxb1R6+@m@pDZZ|-j4Fp4NzFYQt2
z>+5SKJ2DZgx&PFIS@DC0?2`CMHsdhl^$s<e5>%vC2ST16itHeD1Hlmi;;_kB>6mz0
zL*MZ0U*p&i+45t;ZjWmL?4UEkpA2KAvr9om%nQ+x7NmDoE7f5)LB=0IACZa!=%bmF
zk{6&Q22Dq(6d2)VLd-IXu=A9aE`T$em9IR5hYugp-3$h$dS@{gEZRb<S3{tSB$i#H
zo#O?yFZgqPee>wa;}<VpeB(EM<Inxv&;8_2{p3INTmPYN_=az=cX4d&_12TAy^sFt
z>cwI<fBxcwM~@!8eEIU>gU1Zi#p3*Sd3Szxxm>Q!E-!xJ7k=UI{>;z*zz_TYKG<~T
zZe(+hZ+SwgQ32b*4?$>2v0$-HXV6|W&;_-brHH603oLv!n~(5<Z+|KuJHaH?L8oYX
zA5V02J3CuI-`&}dEiM)dCZ^dqJ$?7R_ntg?g0~MIJh(W!Bt4y)3PGSpNCA>I5@vRl
z2MCh|h^a0>Z;61TrXgu*VH?N-(Yg7(1893Uchv&W*z{r>|3)}OlX6{-Y!H^#>&TWf
zO2-G#C9QELt563@fy*e{@>BMZ18BWcLv*Y~CY@dlq;aBb42>ui=x7lt4U`@k@)1*C
zs1>2*jg1-%Q6xJ+oZ#zNKSxZXR|3)FVE+L${)@==&6@A8AV3~J#sBI?U^U$5OMsN2
zn>hgncA<ulKL|JS(MLj*=J<zimYuMZq{wO^xF+hTZLw&uYDv*(Rv&*Ci_xII*%>&&
zg+RK<C`A$@c)LAJ0r{XL??C(w_$AbRgaDS!!|=zMgRlfsXe7ayGe%hJVJncHIL=T%
zN{lq*?^dkF<zlB)Js9IT0|Chd!jA0cQWZ^3?M@-GV+3EsY;hK6DA`)}C!4}~(jmvR
zR%!p4q5Bu)fh0*mPd?^dgK>Pa4`W1K%7Q)e@=XF#$@Ed^)v~Adosd7EX+qDX?6xrG
z90(MNHXRWuoSq$(LNsY_9h1Nq$ND*LsnE02t5-Op_G6!rO&I$*uGcqv+bwrPj9c+q
z2he3b*SadL=*I*YgGnI_I4m6mBvQBI7hh-swVlh^g1*;+JWTG@Y+F*7poG?fV>5{V
z4y_C;r3K0~7)So~klU5fvw!-|({E+t%krm{juaQkveRYGK%gn35Sx>g-}<nfDhJS8
z_>(4r*)`aui0~6yKu^dBDWF)yhs7&`-r|kbJHqQ(?rBA!8ua+b)-L(6webZ{GRN9i
zcaJfycfaLcDH~Q9Ar(ZA{TG@A<(19p**O++>~Qqt8-GHKhR`&%PJmV%NF@eS!axEd
z!~qC1*-d#U2@2nhO}LRkz$@hDSH?}Ud=tXq3q+wSOt<=D#Z>@1bN|r{_~HPS%E?`D
zAMWkO+YjDZ-fb=F{RkoU?EhUZ6>5lHzhfa>k~OQ_zc4Q5foLuO;n>(ip&y6c$o}Ux
zHsb*(+pAankawOFqXT`IKz^D)k_Tgs5S&K1m8)n<<QU*O)i?>DbKF!^1zP{(NEZP*
zXDIAnf~s^TN_$&l+|L#nAbH6s{zgR~k@v@to!6r1j?)@{Wd&&cWFH`leU*~s;)|<X
z$885}3qzTJU;EnEV5$}KiJfU$na|UpWm$Cg6K0{P%bO=*L8Uq+6tX<#A`208$cqzv
z{Euw(4#)@4S(kD-14XMW@9sf_lQX~LB@1S=-SfTiM}S5x=t1gFwgyLl-mL9OWJ0Pe
z&~XD*D{Gkw+Qeui)Tn6pMF){p@KKQ%OiImyAAeXgsx_c2{-ciY`T4nCE)0zpJ2%wd
zfB$`CZf|cdFE1fTDMIq<>Wb|2bi%S+9y+eq1&29+fH{#-`vNTHXU|?dfAZwXi>sFy
zWSITrPyXa*KJ%GRfBMtxGZCauaA3K*y*$5IEbKV->gJjTo?To%fBt+iKcBIZPbYux
z@BO`B_=R8izTf$~>;kdolD1ke?W0Zg3xuiz*`NDCI1LsgKk!wHsE8Uh!iz))2uLC%
zjpMXl!3VABBUo9gU6La5K_@NOCC_?rV!mNSF40H$d2@5aTwN>{RPl*Vd}4XKdgq;Y
z?42a*_1ka1&A=c^J|boa6FN9R-wwu(B4f_j+%E(iRiv!^BnuP@2y0T(?HxeN6M!)F
z!i2VZ?I6#Pg-P>s&>;Bnq+w>}ERg@oQXNi;&?BEFQ2iG|-Gtpnn1T>;_K*YUc%_C(
zxXY51u4skT%4|K{(Js>PpR6^(nQ(}q5ko$J09ySb>jGPUL<sbP2=SwI{{eIc>yj}$
zui(H{(#R?W(`kP7;=q5UnE;dYL1yO5e&#erc4AygOM{t9W1K(_{Pb}veq0H(h(eHJ
zPfX`*Z2hr&ew#1Ytf|G{FG<jnr%S1&1WicGBu2LfCFuZq;tJu&7F1+D$xpwUV4rCU
zDLw+g`3BS31r<qB*dq+GWQMe|uITA}!PGe2oUZOyk*-hHtJ~G)bTd7f4pOskZHZbi
zq8?Nm#UafC4FRB84@)M5edg9lNAEKgEMlTP$aEs3F{gGJH`P%sTI+;dHMNz$LuC03
zF5OaBDpyH|Hn)g*-5}cADE90`07bk~OY;RH%R_7BH;DvF$4nvC4WTFYN}xzB;fAtW
zKPAvWl4JDv7%Y?{ixG;I|1!3AM9>kO!*O7}fn)9WaBRIoqeZqWpASF}fZIXEW?!C(
z3=>~DZT-x%(k7%`nOJwZaM?j^9M|U5mQ&FQ+2>9isLS}Z)K&~>?UJWtR}g%iNfx%P
zBd=EwLzr?UETt6{;y7r$@pJ9AAP!_QyuHzC_oNT`xqCh7*neZdK8;el>h;TT`tDob
z!hHz+kAxN%-J&qD$uikY$en}fzePrCjpLFAmFfu~85J@0pOj(zFoL2eASd1cIzg9L
zV^DRWhUm%n5Ox~H*S6E37ayCcyU?rmaK1bl`y<JopFQ;amz`Yuv6jc^wQ(o1Fm$i>
zp8vfK!5$pt-u}1+a@HoMj|z0vBAm<@W;p;KM3WH~2S|WagrKZ0w>mXBy|?>4);m|(
z`j8Kxxj_{nQ(Jz$0hU<+t*itZP*kWPSd+|$dmXo#?&NfC#s?cg%@Ox`xWRpG5KphM
zHo4wU_70%??HX+0f)2|<j~@^}n-VAYd)9@oK?2YMlxBfLU|Q)%V8jI28ILy+S!^d7
zfu8i(j-0o_P?2RaUr;GS)#%jjIDiHWZc<6=RU3?@Fe^g3WBUc^6(6!DaKqs7HsyHA
zn{2K<L-tFJDWwy`A3@pKq<rH68eJg1o{?l0vnHtTRP_A$a}8;GJ@oYr0%X}<!=V&}
zDN@k@exxGwiir>aD$Q*Vc@R+(Gg3u0B!loNUXXidlKLg{#ZxPq1Lz<I@4U`KA%S=n
zY6vuIMcWjFd~gb3X9V`HXN5>i%|vKCS9gey4DFJnfFz*r7(ZDI0uDDtj~+ep@^V|N
zQc{fvj9*+_JbwI`6dKM4?|%S|`qkCdGl!04*~OoooiPj;1Lp8-#=u}m41ZM3VlH^L
zBE?Xp5X;r-?Ccy1pZ~%afBxrx{$t<x@weW7^09Z`T`uqJk>^L3H&@qGfp0IaUS3{a
z{>u9wJbn7~=H{047yrTMe)ea7_Itngd+%54o12@ro<7FUx1K!x+6V71ruKRY)dg^a
zP?8RqThd&nIkbxw9dZMyZ!oA-$A1Bs;@_tO(81R#>ot)ysxYy1t=ufFcCD6o{u&Lk
zIFDDvpT?491duXAA3S)lUT&_huRr_Q&*C|OqVK->o4<LvT*8E-zSCJhOw8gEmN5$y
z832bWjH6O_89EC~CbIbnUqSTx-fj)dNnce+p~1>ennO$khy!S)0`#5(=-@Q|Q<rGF
zORdcj5wKEW=)ZU%XAeJsR%sp&>h{8~x@2KzQvsOaf5chQgAktr@j=K~>UA06C>cj&
z8zQp)MD2ED8YfxHgg)BDpWx(F{KzT=<wY=_4WB`_lW|vnEEMEYhH=i06&oNBGFdoc
z1+qYnbM}*qo|tiGZi^Y)9J?1bzFk~S%eqJK*a+LIU19RhH%)(qP_a`FO0qwLOHI0O
z-BQKSZpdK>E^MA<gxk-$Zut&n-K#DnFGw<TG8m$ylF2qhK9~^P=`Zb9$nEtc>^36h
zzw^bpZM`T<DUcl)jRR%;RDo^Pwkm*<4XyZUf3o9o)qad<(--tfJ+#V)S)}EVEA5|U
zXKUZ%Afze=G0DjC8IsRhvevT`^R7W-KfAOO2#l-PsTKZY#~P++(w!D|VqE)9^b8UQ
znoKEnqUxS7I52L3aBplAQ!C#WakXW~1r29U)kon?**O-ydWl0*q-?~e#qi8G(6<jC
z6|Ix>k<q02(3#Z5xXjy!q8LMu)bHgB9jR{<ww&zeA+go{OVLW#`f6uu4N#<SdJVDF
z$}JL~-KV8)jWmetTJ}@d>pq&&jpwZij*f1+*65XkW5}_O4&Gz~wC1L=r|&%d3^PjA
zvxQ}T>PW@PoC$}EvF0sC)|;hwd5I>rB&HiMXxRk}B6~obOHKWXjrg&Sz&RW}`FsPA
z(Us3VpKz={*-qB|Fm^I}3uq6=whR7Fm0r7g{9_?ISdbC2+42}6c_6}?w8pw2AYvTn
zSNc<^!_eE%^z8I%Z}?#iJEQ`%E{#lB>Q#~C#b@fV(GL!3o!8q>wxyyJ4gzM%w3*3v
zzf|b*O+y1SJm~nuFT>@x&V&FQ?C+FU+(HFNjKn<mC!p~i=H%3lBzmvlNCvhrtt02x
z*dO58<Lq$Tp4%IAV>uAxr$IK7VL?fy*?v?Zrm{Udz4)Y?uYqL%9n8R(Ge(w)!`TMd
zw<;Yr2rG2)0@(oxyWRjW?QY0hArA1*RtnhgNRd>2F!ufL)=BBg2XR2qcK20bo2UxK
zv$VqH<!~H8hXoP6Y@p$&E|`MztUBf+Qy$nXzPC#}(0&>LX1!%^^(tO-^2Li6*;UhW
zSHq@=ZR+>iQ3^`C>LG6~0^+ttYE%QEbzj+VqIW>=6&!Sn9DqX)i3vggB4Uo@&f#V<
zBmYH&I9UNBW@nfGmihrSV@wMj@kChbGsMa8d3HFPmEGiATwKsW>Ijw6O{4)z?fncF
z7nhe82p|auMF3&O>yKUnSrG2m_Uc~5e)*Sw8THS7?sG72Zf<`0OJB5R_>U0Ey|OLz
z16<%EK_Uh#av0%#A<o_P4Gut`U0%Gry2jL#r*FUi{`<f5h0lNGD_?o~=<#R1<<pn;
z;_2)4a`o1`Pr0f4<u85d$&<He&dts3U-*mv_fLJpr{8}2?T@|t9-a`l)pB{VStE9F
zX7_&6sa?NR7jBT+(fe?|=Q%iGhWV;U6VwGt8x_F~+4{g=OVhDk5P&VGNeUij@k5?e
zOl9-avh#_(Xq!^vdAGI$TnP9u^#n9sqXW&Wt1EkMePc@;U}FBp-}F7mBl+HY@4<Qe
z_^}4bvlsSZ5=BgN_^J!g5)p8MX+-j0{76L@ItS440h^dW*|nb`i61E#A3%%H0d!<Z
zMP#}>y_-0Na2FyAXnW2AjRBbA=hC1LJb;d(7*{5p<4_4p>j8(d+p(e2%7h4POZneH
zmTvVz=co264MesfBJ00NIT*>hVanr^6zDn_4mV&Thj66eG#wmAyF`l_r2?yoI1L~B
zg>pn`BNoW~0bSj16vw_POPqrS)qu@vQm!DBBSQ`j@ZTPwREwd>c!%4Q(XyaNn_b<~
z-hLn-3b+R)+k2;{88&0o!!^TFsbJHJ9I8}V(UEPCnIX9oYF<wUI|H0f?)+D@N^t@f
zD2K=?nCY8aX?$kS#j^6socZB9Ql4(L^r{V0F<2>oNSF4C56d>Gh%r{aevV7EN(-_a
z7z-ni<uiz<S6)=i*$QzQDE?#YwBIuVRFqxq35&1w2SO@A_q5&=diI;Dl?Ay)89R&i
z%NJ?{ROkf)5^2u}kew_bx@Uh+y+<L}c!<rz>m9dffIaI~Mbgz}dOIbfDAr+R11t=M
z=sD0w$A=;E{fn=txxF$_Y0IQf6w8V&OzJnlwy=}W9qYi@=76Xln8in8LT*c{n(I!E
z|G=d!vYmXpn=rKh`smr|#sBo}C%=vvr7+#z-m(vfQ2KSZ+%Ew)%>Y_&?(Ji51hA=b
z1Gr(M4p%8_gLl?+LyP@hPAWn47S^MYf_n&hf%vF#Y`w?IM|eLZqC-K?X7;TobBJ!n
zo(neVSW6t$l2gzKXUQ><+bh5a+{=~xheM2WRTt>Rp$Bd?3+0eCQYI#*AXJf>lY>SP
zM92_l>5fZ-6R9{>>_4|{zcdQz9kr>C99U^xlp$lo4NWRLdw@TZ%<|(jWT@BLcyH$;
zv=Ywb)FRV+1;-@4-!>!qrNMYS2vmn1nF^OYTjX=m9$;RQLZ){@8{#pfnAMv=Ij<#@
zhLcg+!;a?ok=a<WXDaivwHVK>Vkdy=7c2ynW&BWt5pkd)=-l4?ozA!GjBW^Z99h(z
zX2g)nF=iNPWPxOuccfyH8W5(`zX33~)l9G(*;<!tSnVQm8t4^eTK-^DaZnN2QcHSO
zjt{-<@x4x>A?AJ)NcQgT?&|6a4gsuJe1p~v2#S=7Fxux@WDV&_y37|HvrAc0#cC`m
zu(U*0EfsVCts?P7OSY&~|7(%89U||+RDF?mLjFi{42=z7lA>)>ZE$u$loB7hSON<_
zStgRiGunb!)P>C1eEQ(QgGY}Z*+Hb=>M&Ez&dwe`ek=i)00O?t*f<muz?Wrg3Q{q?
zU|)it-rU^S)3yG-?=OAnOZ5BvZ1I(^eC64*X9&Ol{`>GXvo@=$Xii#RV@lSb0Uqiz
z8nu@V{o?HG?rwFnyqipCHqB3Mt)8D>ym;~Ki(mZWSAOM7=jZ3x{_J;rr%j^i<ZiY6
z_y5wr|CvvI=Ed`u-}<e;{=N6!qrF!zURt1*tHpeN{qlwVVxgbgmN3_6kb#K2nlom^
z2YP}VZ`D{@=SE6t@!28f#?Ox`UBrMCrMvc;#n%BeFnV~fD?sbOTG_?a9xX>6XKq*J
z*T3<NKv4z#;t?|@S>*3-mh=>2bkozPPp_}9Z<lx9{_Wq6L6{6DB;iA^?>8@AykJP6
zWgd7;M8J{%DxzIt!pVG~N{#9qKu_o8CDdrqK~}GWQWLNzn~J13T%v;`RN5+4go7EW
zh<pGYe31J^pj0S%mr>T)1Nq1v`vf#DhuA>35~Q@M2v<pgEU^Njqf`MG3g2arq$tFI
zT10n?nbR>5*`=OLH<N`qequ-b{Rhy&Z|&E4A!hJJ<P;#L#WFJmSrBqjj!&S`%@~i3
zz}QJRo-0+j2Q<fydgs%bJYwssYc!yAy|kCn+g+!p@zwA6R*h=l5AuY1=#N=E)l+K)
zL5si>duq$+g4B2XBa_o&&3)U3g>29u(?aG*cR#XyrRo<A(QSG<*)Wb=SSn#W*OHm6
zB$*Rn1tiUW3R+@I#v`CCmq8~qJGK#ySH7r<rlMr3fTg!k6;g>M4rC*`{$`GBjxF~f
zN#?b(4a6T?JKX+J2(z)ysA)l~-^cCEoD9joS%i~R+N+oT8W*A1i*wi%vMxnrX$aRl
z%tmC6!fU7;1vxyf<=A>dz8BaQodf8MFl9@tp$s9xIR)8U(e-oQwjqt;PGps?eD?s_
zdb!e8$|xW^na;~Lz=fk!4@L}ufVDKX3P1)yeg(%CTrtcVGLaU9qM=p|-q-=O?|XM3
z>3$SAee3b3X`8l^?2Ne{=+K#cFq4g-Gv5Hy&u&mxH*@X^?(OJ@;Gz=U%Fxms3!tN%
z=LgXK$8OS)w9jtKd5|tVJ3xcu0)GH{Pe9{Fp@tZA<N?^Wu#YU$lRviJH-(-*nV)@w
zuWXY_K5L22x*5Ir!_St(Y`(xBf_xz)6#*Lik!F8FI1n5prP4#MbZj$2rKBNt?D)(V
z@{oamFH;a?gC-4{N}(ww$U4`MfS^)cutDKgZ;_Op^=8TZg*5I&6_wb=0kk>hR}4hN
z0mhV=16s8!8#JjPc{v<e36QSW_7EJ)x1W!(aLuRoKKkh@zJoVdk&Ajpu4{}vr4%U?
zg0joy?s40*v)K&Ry%5XI%-H`yNS4nn9n(k(WTO=Sd-F~$4atDM=@NX|6ulEUV%b`@
zAVTOp0WCWc_BsoJ|GIc-AV~~b0%Pb2=%Vf}#1$E)IA*S@*FBR#Oc)U1j{rSMqT{#$
z#F_(Wu<<wBMivAOAv)4bfKudDF;1e0=2Hb(ahRRqSui67L;w|?M`H(F2sQ(72rr0u
z?nqNS3*P7fw3S!?gKwW1`1Sw}MdEu}T5Ww%Ar1n#q@#q)Z$4mfmSyEXVoC+*SzVV*
zQvPgg5q{^Lcf<$cld==CuYh@t7<};H!PBQt&(F`PLgSXz_zcYEr?Y82o3T3_`^rf@
z?Xqg>6VRvt_^6wo6I&0F2VS#*6`Cx<%DT3}Xxg%|eVXaBc*12dolF+~0*7Dum0zLX
zap{X+{GxjQ=H>?P?(Xic?QI#?G!tERhBnx6f(91*rO8xn!^N*M__jGYWm!h^;=$$Z
zjXm3ItJ$eN!~26j_=CUgxBaIsE-qH<JAC*Xf9t1z!*BQv#Np=p<%9E!=g*%%eDL_?
zix=k$dzhMf(R}{=+2#3#VoY!Zi<q;t=!;gV=;>*Bp&ZS@b5eZ3Lz8glMSyB2eeRO(
z95e+azp@T5!;i~O@Bu1OBo5Z{0kj=i`3qIxT;JJCPUIExlA-UIhaoecE{Fz!!Yo<3
z<N3=MXc5DQ4<CN&Q=huJx_bNVw@Kgq*n7yRX-ES65CI3iyIBUmcG&b0Jq}YU)+%@2
zP(QeGaf4_R@DH${u}RiPU%8IFsRQUp)dXlNvRb`fw1Bd?y#QK>F%V1<vLH_H02+{~
z{kNT2F&+?Z?kXdLmSrmn*Zn6-)D9g*WEFoPCMe@cEsgH*+7$$76C0-DM^-6_S8!PB
zOx-YL%YrScL-ocK81sp~J8Qbw6f-!X3sE>jb%COs&2;1EK+LZTkrrkVpw(>y-6^k#
z72BR2o3MT@m$&d(2TAE3)=`)82Vzd`g&WB08X?Op=|KY*Hr%gF27*HVN@PtflPUXS
z=M?D3xLVkbuIlsd18DDh?3=t|qIx&WG7%a+L?FBkWKJVIf?bJ9ge`6a!*1wTcT{W(
zev_{4ZlLsLPBWU?0aHU+iZqHsqEV-hNDI^Frf5$s>-MyRGmtk)N0@>L8kpFY*bYSz
zSyBjjfWOKr4V7roP9Pvjkgbi8$A72<vhIF6LY9%W;Eau{YBeP2v6#@~k82cq-uCR^
zK!jAzU;*r}SE<mG6jYk!MZ>2$uEkuV*}#ypGRT3QkdtTtc|nH0$zTxK@<$ET_<G2?
zyQ3GUbK5gIQd&JonS(o1|L5x?a&%v%$7!AEChr8itsA{~?)G`NywxMCTnkvcVwH2+
z-h`%d`AG|C^WuyxsOwlNtEA01ECUt9H(DA8bZ!~UAh>9FlgXNWF+rnl@YV0M-oH4u
z^$z4+Qs};dqjxafIbS^%#0Qt;Ri3}6Z$15H%9vEp%r451WLGyiDbozTy~D6--Y##L
zVsJJa+a=qv6f*Xp72SlST}yP47VMKryKLHK7dF=}s&jAbJ}R<EstUV&5iSh}_uH%(
z%$bxe@-||2L8Uv8IwPYi-$C}|!yvEenTXX^Ox%-)k+m{MXzfI=G+W5X)d|Y(S#x(H
z>TL){T2w(AV=Tm?MrDKFAjb`aRv2`)p=Uv8<g;Q%=J#kYR`1oW8>ca%-y6uz*qUmD
z-xQ5K5fD=qYIx8PITW%6lY3#G*~~_Bn03NcY*~_wQfZOO$QX@#0V!qzK+CZ)kYb7A
z27x7nJwNyFND@p}FI5lL%+WiG<%!*3Bt&WUKbWA`uAZMg*b&Sw^z3V#WKTqAPKH9!
z0DjMY#G%(g4Pt4}^3aL{gsM}$Ad8VLRIN8kB@Ec^i37+MYUG}ZLLf_u?$yg+CLPNQ
zT!pz*aV=EVibk)LQC9Xv=M+AFpaC%vA-(_&a;ca(1@rn!D`kP`@|D#pCQzjKOD3mw
zz(;94)_@}fEq;J2^xfT^_SuY8h7DN&L8YtJilP`}aP-Y5fGK$eZB45qK^y^o_S|*_
z36eoTN3oKJ&vcgm`tF65t?fwB#Zf@B*c8Lwa$_Hr8LZrIAyh<-Kt`03)zq*8)gJY7
z<1v|V*D?2ZN)&#5;wj9YpPikbpFe!~5E`!(H&no4YHvQl5;dVEMH8zHhqlx=zNBR3
zm^G-xwKxMoT1uU!Ex!5LHUt8oXK5W>0hOw1)hG+1jae1lXL~8cwd3W>m$$cfG<W46
zOOPTkpU!^e{jbsy3<k3BFE20Wu1GX7g-tpx>c#B+%FcGz_a}t(|MT;IpP+o_cYNFC
z?&aoW_8<J{-~3Phw(mW^U(N29>sveZrUOmQyN1z5%F^JB(zDQ50}#%)fjV0(@CW<&
zOp2JsDgvbR3mgV8-cl+>Axvp7*xi)}P(|u!lh6Zr4i#ZDXg2FB`#rhh5|F(0mDx1R
zr*5a#1$={Cq6Ac=6zFqR{PA3YoFV<-`7?&uH+|DLk<$Ffj~~O-dGy7_h0>dw8){L+
z0L>>QQ1|OKGnuhSX;c@r3t|dnb=XdXRD_!NSa6Z5?yV_wGD6pr705=K52-N<K`o49
zD{??EwMYxxzR7qDr6@6AWwkW2pwRvsn9eYWM%Y!W5Ac1>iO0Z;wOUFVDmsZ4$BEtb
zhP<F6pcqP5P-#wuLf1#aauHyhla6)Q^2e15$Nq-5TO+KQq%lqe2{iIK<wCxLS)o>o
zZiua<&vbira7BuSk4#$)w@`+4(I(Eu;;)_(HcRhNTjyLC_|LvELFjA5t;Z>`V_>db
z>$4e>ED?49jk?J@Tz509*^p&2w#^wH(AW*U=vM=o;pubIqFy_jz$34S>~?{&Gm8S3
zHIyRf<W&8eTcIO{m<UQ`oUq(3?VE<I7531X3lXVE-Qz*32SLIPX-05@@Ihw?=YwdB
zh+rinMJ5A|?W=3JLItQ@V`P~O<fC3ev}zfnXTK-k<2UoJf!q*!7KGf7g5;G3KZu_H
zJ%6$_L8kV5wI5?^W5CZ<OROghdj4c}p(iQy<o8s)6TMn|^6fxRK3+X{Ao2m?A+3fl
zu@Kgce*yzWbDhn+iVDXzww0dE*k5fWBb8C@Idkf3GBj(s?NCc<*J>7LbIJX|f+3u&
ztuWeQ3wt5AO)xDk0?JmViALJgixA5n^f;w#8_`(j-yF<6*&JH#^;brgiDrIC98zz_
zo_b|UY4pYE(<h&T#VrK%s(c;Bj-DA>mb$bKprN^Xb1%!bl?xJC^$22{`=x!JY_OG!
zZJSZ5X3#yxwBsX#-HYk~+Oxp<aYX{^afj+k!lezx*x@*Gxa?nu4~M+nk8$gOm=VvM
z75015tGB0>+nZ$$k<VaI6lw_Ma}%J!*hsjojrABIfVya<l8;h=0I6=Od&u&D?3g1$
z)`U#I($5Axeh>Jcs|#q(Qq+|0saHjk4_f^Kg5!dWH>vn)U`GMK743>*K+>|cy54x`
z#b4@yu+xhtiwlnU0rYfb=TP(MWWL@ky<S{0Yg`FU)MtABs(ye<_l(a%B_MAb+&6)y
zy@#V|LJwIi)4h5deq?+7s3)L-j7Jp^(hUoZ0LZlBpVdXsF(N>gmp?Kt{x}sx=XT{%
zO89>)FMo7AH!GVEOBr6Ifw7{9pt%Z)XpsHSzBTh=YscrE=u9x2bA*MUMMMhp6)i8^
z8W91;@uYuQQsCn-90;;ZMhMY@biv%edWL{ttAv)0Y5^bsEg(Y{z-N;sh!e2Qpo1a|
zqNUYO@BYF=fE_dE7T71)AIJL6-fsX<H~(s^&gP5AQp$8TEA><hCdS}Hi-1Gv<@x#L
z<>g|r5C^>V#9oCVmmo~uZ`WlcU{x5KPWSkWt5&<97uf~}4p5O5<o%Dw4@sp_Mb^?2
z{en11i*8^=ewZU#2wJsJ1p$Xpbp-kR@`4nO7Qoxv+vTl&8u7(1e(}bCF>mQl@7m$-
zWJ3DoFMS2c$()7R<X3iVeRscFW8Gptu`e*5U0nXcFaCqO)$-SW+h;acA570K{=yIc
zo$viee*4A!-F$tsxxGSi%`CK*+GtsxPSKj!48=F=I4Y%6uCA^~sT2+>Fxi@_Uw|3{
zfs>>RS~!#fI2ywN8Vewhv8+c$0a2-F_?A|tWK2}>D~?ViWruqRW4k%^(~JpO=LjjZ
zoufHia%;Jye&nQj$pT5z5sw}{T5aq{8Y!ab=jZ32_{1lO$y;x|HTT!H&{An>VghI}
zi2xSJ&*uK5k5>nfBr>F^ixV}XPIhx@2kr$`3k>{E-e#gXfEJ*e1L!CvdRxACqUda2
zUWqS`FlH7`(gli%oCl#590o9HX<ZVqGA96cq@<EzrHrCXgu#IL#JX1`G;|$Ng_%o%
zvN`qpZu>MSm>Qp&6k-ZGfF1`V%K&AAsl8Ui1hOv#9|HbZ7_7`uI9n};cdlLYw#OAx
zTXy<==HpYe8#F!sU-^^flRDSf#o)>0eq-O$utx0bf)9hE?W6;ge6K1GvE~MY@4~L4
ziX=u#KjuaStvF!Wu0zSbzjzZB76;Y}#O@f$EHA9%F>MhG`^xS>(}5LXp+UafWoVgd
zfOULh^N#}peMnk#94@vc@;J;0u?8CdWAx;E_8YIjet%eU3pE5<J57z5LeKv!pWD*2
zvmb|B$dVa7e|kV(VoIeR%rW-cJht}3aY+0#dI!)w3}3mhMXwe1QQR&x>w|!ihN%y?
zAS&N#PcqvNwn5e%8wap_N#=h@r3J&Pu}MXivcE0MxRvg>b~wK%Lh2Q24s)zX`Z1%Q
zk9)2dF(y0Gq+Z~qr3z((c-4;tepp1k4Z@8El5d;@Jv*;w|8Vr=87C@Is_IBj-+Jp)
zjKzt6X+?J$TyhXv+r!WX)Al<d%lJXea<krWQ&C2Y3z^uO-2wKg2|m!xVO&Vuj@4?r
z2*#9etjpH(etUDJ`DG75x3Ge(SZxE=jzi}FTGqb)$o1}MUF9fC+Hjie7}@6GkQS)`
zO}~3di&xeg0^zWVa<+F>-h&v>4aU_eyHj|KP?!8zt0$1-6EdJzZ;#(YPoBCc5(=v_
zgBB4GM*=}dJeyK(UA=c;a3^52`l_DGIo||JEm9oAmxvw6@?ivIIs-P#kPe{N8@+;K
z-vKlWS(p-`8k_Mvu1;d%UawuOZ-pA7x1sE{tAzDn^yGVS?#cK3@A<jBwI^yJNP{2^
z`w=Mdvp?blOy8lb6v+e!1TCV-IGxi>G#K%>76j3XgN}Wt`H*h-1a#015!rZ!2(HRo
z(Zna)Q4y)?ZH$0?2s<dPcWl87!r5DnXf~|M22*IVKpZ_`ZHnFyx=&fn7qSd&^(lM^
z<Vm@$UHTh5B=2@g9AE-X2kZ!iu5mW9#tM4sg~}2i(N?wn0J1%E4KQebw0HC+&~!}K
zwkUIdW?43|fZ)a-zl90CSS-%Z&(F@z5L3Hgibfbf&?NE6La51P*GoHo#f}O4nu#Z*
zs3V|C)pyXOtdk;0MMSB=BM>lo-}=b&@|k{x{5RdI1>GD#i%TNm0HykHr9{jjex$Sx
zEj5QM4JTc$%Rw!r^feqxiNJ#g4<KN^eED+iZx06_eDJ~9d~v(Hd;ap}_3h1?wRbkX
zSey|nBrv#IZYZ73?Fr~-FP?wrcYNFF?Td>?PyVfc???X8-~K!2%d4~dyUE%l?<e+z
z^7sIHy|hX<C*>V+q;iAd2Ti??A3uKn{5dI(!C~xCJ8s+f@j-|%5FNlsq(IH2(%@LO
z%49y0A`E`T(Q%{(Og%y^bHQN~1VkiZ8C@T?1zuigJprvO^#-I)tD)n)%r<T}8`}Ql
z$rJbxS65f08p8k?Vgl1^xIe$VT&`|)I87D-%mN4v16L|=4Lg9Aup#lKCEk6C55gkg
z<dZBx+56M7_aJ3_I?JHLR)Lize8c|MhoLnIfLw2+Mz}5nlBVo{W=KGoKr#sO0W?*T
zhCs;YLj;U@Y7pV<VnKk355P*DAEhB5XgGSpRLq=)|G^Q_yn@3x-aCSE9ne~ru+un`
z#X!rfL#q+nIlqk13B=F{HCmV{lA{S#hE}lcv(&RK5EF2pH1f!+IeI7x*fm20g)oVS
zyCk^E*0GNc-74|{w6N=r)!OD3Xh@iXj#SJj63D7l@$|IFu-^N3ni-k)tTU69QtOTT
z?Gt}v`(yMzAYojIXfZq$3N+&<;8%Dvg&WzQjBKiBCziw>vJq&O){+^bXFt%iON-AK
zz4(N>n%P(zBg7<WF&f4vEQElvM<I-W{T8xhM%L=d9D>)=J+}4(<zK^@V-KK*uUt3?
zd%POAEAJ0M)!iO6n@V|Aam}X7bnttX+FGk;dzJ2n%$Vi)W=yhdX=F2CYCmkX*9)<i
zsG`B8O_y!%6~rl3Iv|>PDkk`-51>B`!b#AJe~+JaGkWrG3a4+s{msOB;+KJyJ|&*`
zXULnfWrwy!UwsD6M#tWrMWNkxl5z!PblQ)Vd*9O#i~xN(HwG@c6dI);kn!%{KKl^g
zEz%Yw?FleK>Q}@;IK<DJ)C`sGKxfc*<-d-|K8#!X^?~{;*S;TnB*$)x!<Y%Wbb6=Z
zpm$*ol}5hj&)69u<QsvW{l=dt9oH)hJ%4(5WqSkJGIUc>lg-V^js;D<4M()Uf`f_d
zoKt&(Ob*_ccNwdet#47$fjCxPu8j|%-45f*{9#FQL34DjU&tC^=f)8uiocqF2zrve
z4esHV_oFvX0t#$|SCei(a$oc|)_UR<WMP1Oa3DmJHgOOi=vt#JX@tdw+R(V@CT<}x
zmTb@nDAzDaWuKc;viSgdvTJt*f)=sO4#gT!q|%THqJcbtFa?MBI-ndQ1hOzhJTVc>
z3^7f?VYD~br@Un~Y_vE?rUc3bpmkskkOUBvQnb3ellsz6C+TjA;OFt6x}<V`eje&N
z3Xx5{K!EIgK0m)$0Nc7cu%^QV88Yhh^vS~qNSc^W5IEGx-Q!|rN7CX@BtYYy?2{$k
z3Mk_!UO5&sd-xg^=$W@gr7$I6H5OkCY@rL~FgxD5lJ{N);*b(gEB0*J3OQd8U0Utg
z{Rhy&gwO$WjGrh~7XN*1w~iKEkH#2>QWH3x#B;T`x8?oC(6fp0(Y0ry>kf`Czq)z(
z!Heft&tJelTP%=Y-mO=g^<*~xJAe15zwm`G{HE{u?&b5ZzWeb{{O|s+fBE<RzJKCu
zeRFZTn%&#VaO;;Bjb1x|wxdY`w>e*2ESIbK+2Yx=XY{guFA--hE-uhooS(mV@dB^J
zK?|6n6o=B5Iu0ceVnAYWxcMQKB0U~5dCy7hq{WEuY1fu3HVK8(+rvS6M&nJj1f8`a
zHKJ~eL9^GT6)4)th`kEjz$~L9G-Yt?lb`$~%!dyjlD_xed!z*C!Gi~s(tKtmoBP>(
z!e}<-dg81U%Md}6dIZ?(TVKd+c@tuyNyASS0nvImI5+~dJ=9orZTvW(Wk)p5kqU~c
z_>typM$50S;ArA+`c-Bt?7dkigm(!*>kvUq-8}_@uT&L5crXpDHDm=9HONfp9Fv@8
zWKO(-BZTpmlsTfT2|4rxG{ZnyAqxa8Lg`&+pP+dW2$h`&&_LZ$;64l9KLwR-tn8<m
zbwJK%)VrOknAKNK&io@uG4-W#wO23p86zw-82FjclkcG`-#LJ0z^Ll%07l5}G?kf|
zw#UmbV6P@!d#X2Lvz@oY=ld1I!~Q#+`G3<13wF`0khNYMbax+!s)NXi(DnP!MIci8
zSCR}Q2*Gmo3HNd80tG>5W`-vI7-LgHGcN+oI1lvfzxF|P1Nk|IJkO;Kr-@9@&;8hA
z|1~hSb~s+I-dxLp7WOwY_&xu7in?};(Ub2z0o}vcjyUpj90%=4jj)B9saMoPvV4QD
za_ow<3tj)K!7Y4!%ktSPd+U&8`Nvwfoolsr)3Qq%3yDHGctur`_b0*8!iaQ*ynow|
zQdj-J>?1<<Eu-gQ$Y+5)%{kWou{hd)9Y9a*3pnNVaBQJi4Y}DM^-XEnf>UG}>oNmc
z>y5n*(p65@OS{7~nesjTa+EW5MRDr2#x9wbMc$u%hHo1asn>N_S;Um;09sk0$Zr_~
zWXS<K2hhi&Yrlh@yjmfQTPGY_*BeAso&Cw^`38Ti0!O#6&{EX(Z)~JjT@NAO^QQ-m
zQqa^Gb}}D2_)SIQ3;BLeqTT~BwkF3&8$yzzg+@0E1g#m}l)~h%yK48G<5zH0!>z$F
zj%{!DKZ6}8j`-zdmS4f)_2QCg<pb#ZwXJDmH2#F!y;dCSzZS+ZdK=Ildht92S+^HY
zx;2Xh-Su<$1a2VgkVX;2s(#fym_pdcF%_8_V{5b^WE$+r9wI5;SWEpieg#MG06NA)
zHCu{8BJ)Xe{K*Q?y?%*b)i0veP8>dt5&RG)jVGXk1ENwmf@n+q=`jcz2q)GA;$w2&
z5K@-$5&<ToDsp+_IA-;}5&19(L@UjE(W|Q~>H-wmX0jfNF;0wgdb(IFE-vkvWg<YS
zPCVJA80^8^a;&^r-WkK6-YvD%c8L%uQYm&yr9)R4&{Pd{QYk(u;{kan<O3$}6-BQJ
zaN+<O8OvhaTP?GVS0?8i3H!dNpvXH0V;}|53%#+m?HbR)H%=N?IaU8sFHnsxWru(k
z%=>bIQ+F__&(F_MfeVu?d=!zvK5hd7L{nihP_S$#4X3AftIcFKU2X3FUqAR){>D%I
z&ENW4zUTDr*|&Y?XaC$^_@RIHpZl*onV(#ouBIFRG0gb|rggiuI+-|)VQw<Y&k5@2
z`HNrt;%Z~(s-OGZ=j_vo`oROh89bbynV%ShLlHhisR*?++6y5W2xLsm-B&5tN;)r!
zjPJYIII=VgPGd4SHeuXC)FOJRN1ZEYo2LD$n6gQysLP=5{KKBv!j2S~M|2I6cuuP+
zdfRbxbMxfM6SQ<5EyY{?=!<(Nj<iUTRCNKe2LHxGp-YKDIi<DLB^99c1avMU1^EE_
zer@ZOXq#qL(uR`=qah1$h7?|t($`}qsXkDFRxLr>V6G5Tgzjp^q1l#kgbc_sER7Hu
z3T(CyM@-VS2UGkYK&HV~Ce<}gg-oyg#tN+v3va~<=s-56PgAPwI6Xb=KrO801L%z1
z9DAcDuGb~YR|841-av?Eak65=X5~LB$V6uVYrflpWJwW_isBC#Zz4V<WOj@mzl-q!
zw4-!eh5RSg_|J$Mqm4n(y{x_5)5q~Mi<ORUSaeV9=e%cJGg!9Q44f59nSH97ryItF
z7$*&M&@+a#N+tn+3N-{5ltK-mIHVR8L>zJvbTbYEV++DgCjrB$P(zI4zaKq+y74^H
zPx+IzvSjds=-JtivCUo_4)MPy^I_0ym+BhV-jjzvb}us<#h#sG+t{<y8z;Ntf4cGI
zwmU?#SE@1W+lr|d^|)BFzuU0`!Qxz~A!>WA_Ux6d+!S#Mun)_sZ*_-IQ{-{aOX~r&
z8A*F5?7%Um@8=5Fu>1NOacD|E>I3NPL&nhOE#POBo_e5X=aq^F;%NW%3Jx7WugW&v
zzGO#-vsU_7a%@Ma{=oWVYCq-xVNCA}giO(Y>cLP3C>IL589`0z=7FAl_VVJ;_5j*o
zW5_N@+r0&lWbXhv2Hc@YgYppM8b1sUu@g-O&{7FSmF~}uaY(%xJv+UHuLso|)`Gx}
z*0L;ctdl)pO?Sv8UxEGJg}<qKtQ*Khp%p~L=fJio2!|tTmwmG0G}%DoMr1XeAsTi3
zZ#bg)>rL}x7ys&w8d~4;u1bq>w0iB5*)den7`+Xjd%}g0ULL#y+U--dS;I>gG)MIW
zbZ(jmjfb&U;lGMPpyy|AUiADwa2y7D4)o-+Sf+b^_W0fLSq~gZgJ@C^Rp&TFDL_Cn
zq~aG(s$v#~4zbJ!y=;$fheE?r(W*UOQ$R-i`}71*){?w9IpsP>8VD5;YO(+aD9$QX
zDzNd(Oi~ewe;@=RKH>x&PfP>{Ae{Zr&=buNZezQ-Q9qIu2X&R|z(|ly7qMfH!u2XB
z5^{U<L8_j}18{U$AUlAnQ8W&B#b&vvlj=BCXR2n)o<24e%U38HbzurZDPZejHtUgk
z;NG8ThA#_2=nEAjDpirm%ZQI3XcJOfe4R9+)~MF$27A04m!G9-|2jDllkq@lwSwSn
z&k$cwU9RN9pw{TT!X#A_0ECwtC}P)dkzwigj*}QcySTXUUEhX|TQ2PlNC+djUiy6T
zSF55#ZSrP)XENA0fB4{JGW|<`^)LVMkN&ma@x8z8`B#4FyME(u`m_J`|MS1~-~R8s
zbv9XSZfE|c@%!=)Xf*Eam-37ztZP<vYJsHQJO6FWm)BP;s?Qx?`qGzfZf@XTUS1+*
zGOM!ATU#6u?n$}vP#TCV1Tsc!!#RNXA&*%dj_9OF_K~sFMfqa|R#GCVjJq~CfUc58
z=K~!T>3Em%qvp#FjfGD~Ed0k63B~#Ox#{?>9vQ;&-h1!SYx?8{{*xz9?4;SPnoo6O
z0O0641wjhmgoNP%w2EBGAX+vfYZ*s<J#yiQuv9mhLOPI=9f5d>u-e^Ci(37F(*%Z~
zh*T<>2;U@tHPOljBtxo?6HEuBq73!8_)G#9EwF-G7bx5!=?*w8j#44$hN-rTjx-Y>
z)A;}zz>&8a1A_Rm>NY9BRRsz(Mav;Sz<?~2W2-f3EsU`((gCy)wgUOsDAh4Ob?%I?
zUlDwXK4m$Ya9av3ggmX&gU`8M6Ic%hu&Y?wbFatm;aGWV<}PR*z*=Ka*>Kx=##H~h
zc)5ZYPA4~a%oh_Q=dz(yE>D0=sFYz*#X_rxx{S4uI*?gV=zJ}!fY$htSSGT4NsbZ1
zAdmBm7|#vDri?@?VvJ^-2O8f(z2{Hwz91kAy(R~m1<f7bDvB0F_x#z9Y-eowSjd9#
zVeDk|?2NtL@4xtC58?DwK2jW4sjZo1T;(PJvJD4d-1eou1T_^Q?3^uA0@+Ab85^${
z&pSpS%<(uh3#@yXmE|CeUk`#+(Y8A66-$=C;fC2SS)Dp!sw}o!mn0BcQ5_KdQ6E4b
zi|k=)Y!_KRqo>=Ge^V$=K&$%I(w>a4y(}DG6IV;S4pCIsDX#ARYr?KFwRh{4Z9O-l
zNCKmQUF>aO={ktIi557^&5|*zHETQg`juV*rerW1w2(_bJl>QY9eW*)af<|K6)BCP
zCJXj^o+UGSTKSXbtgHARg`HJXZ|+LTK!<SSSnmQEib_LW#&gw@*?*zU@_=l_q46is
z@O2|JMq@c}?1f+QQ7L9+Sp*PGDw&?!#7CwSsGv3Lp`|EOl=fc1v0m9zSGAIXigQ}@
z__;+QUIkVd?x$EK>=hjLJ@~!vfVNMxhL&>!#~5!YCExS^l^e$fy?*KOLF4NFIO`y9
z+&XpcPV5XtUI%tU4u{){Lu6%>lp9BJKyG8>e-!1<6SF-2E1Q{M%<ORlIo2!XZi}pr
zIOQLip0Mbgf@p7+6oMl{o|Ng7Pz=_Cn34@$8{Gql9}p*}LeQ#L@y}w`S@+umXbA)z
z@fSxlO#Qf@I3WOk;U5GF;tN<+mek2Yvwl*G5Km8oyW160QnPY%Z)+?bDr?17GjqO-
zZ5Xp{RhCt1{Ms(1K`hRSpAv?cp4b5;P?ok(9n(rLpIP47uU|kQAQjQd>Hu0G3sbKu
zf>x=-48;pC^6{pue)RI*rNogS^9v56#R?pyuKGl0pq?0Pfv{2$V-6{8q@__Ln=tWB
zL5NnX2^5)2_xERKXScVvEEfovu8-S$F7l<S;tzezQhjrCH(M<3r_;auLx1%z|J5J*
zUElZH@2}qfj_>}B|JtAZ^Z)(-!9V|ac0XHPpV1&&+3n>X`hxt*`;NL;%vT#*niwq?
z7Z=p4H%?G5UcLYR`}4EK=Rg1X%gf83`?;S(@q-UOc<^ZOqmlSbThvB?Ss+@Vs9|n&
zO&PAAVIe~&qtey8gJo)?!*d5MGM2xmP6EcPo1!@GjI`NL!qgEetzImcWaahN#l4Bm
zBO**>7_c-}?WIH=q@H^B-FM-<{r1~eS6A<S!^e<8OOj@~x+Ef?BE74+NY+-UbSqN{
zFDW;BAP%4b)fLJjybUJf1W5=|MP9VMn6}c?D;W?6%E1vLyiqDbo@W8k%8C|KX+D5P
z(<B^<s<g%j&{2zXte6ofP6SzC;KD4KWWPs8Ou!-XdId+065ircj=ze^JoVoWHR)=k
zv@yj$(u{@^@<Nod)R{+GCGg9kD!^7OthxU_irit=BiALKSV8f0Vk@>488-8U@ug0x
z&n%(ix-7OpX6mcD=m1t5PN2s>7Dw9|tpl>a08;dnX0y=rf<Sk>1_RFCr!T3jNIYGx
zSbzx!u(dW(ha~r7a!NeQkQPV8c)ST*6)dfuL>2fVLI{4=%~fc5&m0krod8WM)DXd!
zg|O3;@7WhZJ#ef)U~GhFjG00NszH{|bWeUi#uj@19D?ja&klTv<?3Fe(y_O%=YLN=
zw<Y5>T-^!nfye08YX{KvmCfUH41Wb2&Ke5K(UVU<`ez8Op1c-^A&{hVjUVbp_=@Mt
zf4Ov$hFN_eM^>C5+**TejgsLKh$*vqx?$qgW9Wh+Q#}cYlOG89C{SC`V(gC){7~%q
zFZB4w*4snR4(pzZvU{Yb@4fe#RegwHd1p6)<zB+i)K>megy?M5CR464h(T*Iu=IoF
zZF%RT@g4psG`gfVZU9=I+Sg+dKpuirFykoLjYb(CKt+g&9?NG=M(8%^$@g%qe6vvq
z^z6V7SH}dUQp}v31>*G3E6o-%8h)tv<o92gbM2xvav~dIB1A_Dg5LlmjU<5CY(zj7
z7(=C5UUcSwv5`haaoAs1#^I7e6VGrm{1@kyz)!g<gF$0Q7Q&!t{<@6cQ>9mM=tl^v
zJ6n|=4s`F8Vzb#4M|1$KC!kr5Uik#H<!XyuvWx7%AwKW7HipLM7`<_>4jOyat2ZRQ
zp(c~lF@oPzk+T`$e<M$7^*Ka~pKkmHK2YSchTxELbEGVYBA_7(k(og8$;`3XA*HHa
z2hj2vyIwSycLG`Um-vIUx}TXq{^KnWlN!Oi9`wtBNOc?#>Ol0&UpEoi2DwNnS92>E
zfg3^uGQ^+wDG^!x#0}h*&w9#Ly`M|xQ`;@5b%L6Jo56PjWf)J>JK6Kt03l|Yb!D5+
z&OGN{`Io5`VfH2nPu+Go$#zWq;15Uzm;`s%tMcKx$-8BlozAxF9z_s3CRW2u-z}hc
zzqZ@>3xD-Qw2M*^7%{@@6fM+s(rTQ^TL=D#Z}3qE;LQC%IZkhl>$RxAP!0=m08OGM
zh=}8uU;?QGGDoya8DTB;XPn7exaxsmmca-4!?0c~7B@FHdXotp+T!xIMnl+Xmme6d
z?v@u97k8`mY_XUu7C-bK{>WeaOMm(Me#bwueD>w<{0-mpul(tM>tFZ-f9T2lWOjG8
z@B`JgZ}jO+l-H;BcrR{YmIZ%RkMQJ@)#<>Km)BR19zFWP7rp@hYhU{sHU82seeUJ;
z^{v0LS}*93FjXKU8X|x-ip00(kS$VMF_?w&5UGfiHcOYRpX5}2jUn&{Krvm6h!0IX
zAqbZ^N)2g0X^Lh|e{IX5p%}-|CzI2=J3HcMwuXR8;ovGp=vm_M{`>EL>QkSxt^TRM
zUEM(zBM5+~E*c9>>FI2Hz>02^TJ2Q@*Xv(U0uBy8fX13t;cQj0ba~P6We{kBnQ(;(
zq<vs;L}&m&6jPO^$<Y=dzUh>2Z5pV<3k~vLD)|7KFi02}*JXh0Q@gS%CEfa6Ih2Zs
zR4AOSkA@H+0wRDc2zmk<r=TS)Z*whz=IM?R=)$s}i<IWJh{%XiAmVgl2cUJ8Aipgw
zoGK|I+Tu)$mR`i6NX|}udEb7^%>-&%uNQ8C^+&XN00AKmpatmtK(|ms<oF+gUR^!=
z+=;vM<~><?3r_2Aa)82eunrV%s*BFG?+(^3rZ)TE4G#Rb-G{w=l`%n$#&CJ1lHcv8
zEmi~hh6r83Xg`2f>3#x0%b%i~(%$&bbVjegdUks9@@I_fc1BM=uZJ1(AzK@B#u&>7
zBD>#Cuf08g_REj4$HSdKUSipSp7Wqrl*hA>4fc>dd}Y;d1YQ5j?N^J=_}Tb7@eMRV
ztx($SuVL##CG2M-z`mnWk$nz<A>>Rg8l9EZ*qVUovVnGk1$J*yu1Df0Vtcs(mEP78
z!UkXECTxNH3?1RDJBCXA1GYDS{dFCV+@d#SGviI!#Ex85DznCX>#a|T+Kx!yvgpYy
zh8>^?HQ+Z!WeY{AaU7=P-5eZ%7G1lscd%A<mt<?mmRGdtRk)Julo8{c>S(TO*qAqt
zL(GmRfbgb1A?f*`2#g_qXa&)eZ{6-x_evaSKd>EU6=TWF>Dd`?jC!8zM~rP~(l8P?
zFv^0leQE7S&#MEiHU0=$GRHI9jJ7D13Ta$O8em8FpMbiMgdk<p>lS>*agSnC&+qQ^
zKuWo>anfO8yU^ojWSQ8gQKLIh=*@;Z>iK#F!HoyE*7l>=<=|)60rW|I0?}xPXj-Ri
zgWd)aExDmoM#gE#^z8KNrC(4{Eu=BL#eoh^&^yt%5vllxqbDyuX$Um-gAnwJhLWkJ
zQW3-n8SeKRjzD&&*0^<1q%6oZ@;Mt&{HMNy(XpnEP>FP%2&N@<L5d*L&7msDrNThI
z(qcvto&+ZdD@d=R%4v>6P62J9lm^0K<|+%wh73^FZcleXlG0LEh*xlg3_y(NWeyOn
z2iZ)4L0-)SM+AdAvU*y<n9L4$Tv}r4WfXLpu^i(kpoJpokfaFhKF86v>Oegj1~83Z
ziQovbFb4e<{_AL1{5(z~4h9;`+Uv7GpkGOgXo`Q-sFDWdda)_;pb+&d2FgaM1-71U
z01=FQf8f=I7NuTdh_+Z+9e73EkFg-O#~jX?O{e@>GFqmy+4;qf{@7ppzx?0+o!|G5
z|L*0pFMr2(|HgmmPyM++_=o<-?<^*hWjTPpKe3TGVVS?bU$P_hj~va`aC}mQ*3&p(
zg>!ah?+U-ZzJC9MuaRZszj*QDSAOMJo;`bp<;7w_Dc<Uo7C^83d=OfPp_iAJ&!0ah
zefjcbIbpvjFIJ{h!2xhGp%YWldU96T{ECVEN*@4!?Ja;%ge6H8IttYI2XapYSmp1c
zS5Uvj&W(V=tOi937GV)5_wT&(4s8U;um^bb=n)ZvAZT#Ztyfo94<9}xN_OFm)85*}
z2!O5q<N!iJ6I=JrTjzv|6m!YwKoSAxTdC!VXC;iaJwdZ`G7%t{fWe@w$vZ?-uUu6X
zg0d1I6-4WU1Yq($BVZB}5r87~l(IIPhm~fCGf0hHkmcnM$ig5WCFc}>G=9QE6~zIx
z+Dj?kX8!})L+Q!=K;uRbkri?_3xqllXJyxm(lzcwy?oSx4UmmeOMTl3hc?lz3wtep
z`MQR_V6JP*xW-JY)Ziy3k<BuPU~6ZH9$%r(rPK&hm*c{6b+rhBQedU^tKt;FQK^d?
zjQ}7z62Ks-pi-9{fCBr#wc4?XROu{lS10R&eUU*P#cIb=!~MiwdF0>UDV%Cq{_jF7
zDfHy+qsd*M`J`bX2%;hP#0feC8e}mctB;W-Gjf0Bw1++Rfw`L;!?=jU(Ub4-bNsW6
z=<t@Tpo{Mq6cuWS9{)|DKYo1O7~w#F)Ns<CydKK5-bx`NjV^0a9cU_>5$Yh9`p0j(
zo1jVqV*38JHNFpZ|E63J05=3^ufd?}(HImJ${{Ty>iL*+w!@fykqUv*5wo&66{L|l
z8FoV1x>PKf>keg`gX{)9`#pqNWq~+Ck3UAQ-u+r19{asL-2Y=SIDjUlCfoMg#IPz^
z)^%YszGhwhkkbTHssm_%3_wMgP4Abh+l>v3)4Bf=y#(0cx}uZ}Fk#q+JKZZv7?ivt
zXXU^fN0@D@4&-_>ZM)GofnK|M{_MYCWb`bHPnRj%;E;MV_SCYoDA(JoD?{}jA}RFz
z0V-+)w4o7lEj!zbZZB@V`1I`bT9oZ)S3_PzWF?cWHJoe&*i=mi(Bim^T(XrRA3*Cl
z6!@NQExW+L@`piq8^m-vnNDZx)jb>di9P)>VaC;ug>lKm@Y`~J03GkZ754b1qNoUD
z;a(|G3R;j%=48z4yKWmW-tv$}9YS<)#EepiF-#{F1+DdV53pG%M<|Z@;xzmQQJN3_
zfcTA(fhoTM9&j8DClqsIvrNzpGa)SV2mk>8^hrcPRA&WoR5bO`ZWlA}3^yKkzuVqv
zCa)|AI#|pc(ZOkp++bz`viJ1~S*0St%%AoOex!12%wN?XhzlkomcgcRD5d~yzoF+F
zP-R7ASa7PHBH%}yq6^2xbN~&4380$;Xwjq!sc3CKA&leifP=6m`2Dzg$3=<-I!#$a
zx<MruseiSwAoE$%ASQm$oQp){qv66&GNgfdwVz8#r}dqu_^d-)(Xw2!P7CEo#gB=_
zL0N=}re1Cipo0*UHRYg{rYA}w1&j*w%5Rfkif`9~>c5z|Es>RqDck<d*IQTDK_Nbn
z`uLmLixg(l`Nid5`|CgcfBZlHpZ<y8_j_)?_Qmh`?%(*w{*C{`ANqrT`0e?r4xo|W
z*a$kE-V=`dwf!j8J?j@0=BH?ZNqP#cV<|oQw^%HcrM<Vex7Yp<^m4hpxw-l3SHJqf
z2OlsmE-x=pWOl&UE3IALvP=-{V1zayKoM;TsNt$Kr{e?YQko8+^$HGSIw0Z}&LWig
zewxe;Dk+?(6avJtwP`v;V@&~3R%rv30;Bz-4uW%je*WmuBVuxPc1E}!K72?_s2UIu
zWDtJw;>FqJ1vE_CAo)+dK_Eb^ib3nUYTRJL_Q!nQUM@iuz~OD&@&}f*QA{{GfL1ml
zX3B%Z-z}|?9Gu|G0g$ya;HyX}y&w)gke52fvmI^uAw1nq3esqcAZ8}Gxe_4+A2h-x
zt@biggw4O|VT5<ZtrzjHTF`bU<|wQR9YAZ`f=0l)dsJy4b3|u#IAW5pOxS|AWtLmZ
zk|&sT0mq;F3DI1h&L)f5%!Zmx0Ufj2dzp~2wZ%?Y(5BT^BRfOm51ntaI)i>a;9;SL
z=<)HD6mO$<6iFc*6G5t>1w0lo$|pc@5U913HJom}vv)cde)d7tHNeDjy?ruTm4-DT
z8v#wTs>-0otqNOit_*te!x8d9G-&JtN#-bJ*zwdZNGm)Ef;foI0?=EZhftiy=*jom
z)k9CdXCLhJzvt(%{_LrDC$bxd;Mn#a>(86Qu`TNQ@81%JXvDJoASP+DbZrLzbi;P6
zkPZ>zfJ_@~q1$b<m8{T?5oBkeV?7aH>a0I3R9*#HE|JI-x|5#x7ZF+QxA!BYz;=|y
zLP4p*s<Vr)m_UAIP6fKQUG%y#wiV?@6;9{8ZkPRi$YBx2bqSe2Mz8c(e~!g|Z})RD
z_P1_~?E$n_{IIKAJD7k{@y)nTm~aBHMK?~mj8W=WPzZ)6JBIquhw~W8x~9S)F$-Q7
zpqgetU`oIXuWef@e%w$UiZtOfWEq3Xz7pA!uP1sQ<_$;4SbR#H5AqhVL+oc99x-9(
zg_C--hsW9kq2ANY_A~HDMU91>@f3ENIyOF<ZbHwuj4U&jS1ma`#Abth0F99v84U>^
zNS!C3k@3{3Zt9J!yc%PtpF5cXe(gMfcKhXWi{CD4Jz_60t=MBWV{h%dt!28`(*20g
zWp%oMP7y}~O!OWPbz>$prbv4}9}dDP#YR2Xn~{CUDosPSMQI3S`AmZ*8`!A}BAcI}
zX=I47-So2AI<c2b!GT`*SI$)`4k?NdJF6%Ma5Wn;5uZk@w{FB?CGt`!X$@y)W;A@p
zzi2s3b)?YB0*L`-d;JTfBHAP+=Kd5qsYI(XQwZUx3n&i8#L46X2v_p~w3s@&l@msp
z$aXy!ph4_0K=4V&2j!*6+of;?jFajTp@W;qMyeX;bbwr~9UZMUrX^byAR%RIvyE1h
zz0hRDG&&tsizCki;)g&Gq9bK}P-DdrL5*5kji}>4dZ)ouZzJ`_78m@W=hW9>eT7_s
zm_2y#*MIVF{JB5>=l`?+ncsW&!IyshcYXK&>`(vi|L`CDpS(3YnXay<n<ayPeQ#gY
zpV?)`4xrf;<^yQlus?}d`3Ei7=fbKh7g?Kh>7B(C-QC?ifByXC%a;^=;R|25y1Kf#
zxq0&BiQXcD%<b(R#Hk+`-QM2HGS&*F+vx)+Rayxjpq|zBy>4bx-}!;Q{0SzYu~>#s
zk!tZyv5PWW@F;~)si7XfDm4Kk3rB<iEejcR&(+Pf8V+bF%*T%(pP!%4=X3bW<&xm&
z7J#Z3i^YrU8;uh<1e%mAklU!6q+f+2D|mI~+yr$Ir7RuL>jN;^kG2@Q8g$x-txBI3
zGDkKAvWkhS6DOyD9^Cp|WoWOHMJ5hyoo5D}C`=IT4MZt6MF_!n16w)>H(%(6P+Lr<
z&Q>bjoOst%E#vq|3$1|GG1KTnT3L5{HFZQ$W1p-z!L@9a!Eu5sCa&Qg{@ZtOC-*Zh
zn|2IcQz=?Fi=PY=yJ}k}l(iF4CkiB|;0VPNXEdwjD<R!6dVGZ%MDIWZEl5nv<$Al?
zL_?6#K9HFR{F5>RoXP1_i;T+`J0QP;BY|sY@e`R$YzNj5c8&7D%FiIEJ!gUJ*egNm
z=~70BjnJ!iH{Vu;S0UF0Emvbki0;|%LF!}B9fcaA4NI-A7l$4nMHR^cG{BjNe}iM&
zCFA>%ZOR`ZIASW>fTBVT(Ub4tSoveI-~S_O-}T{EqrNjHAtR!ZiL4z!Yg^?I;Uz7q
zLDJnrWhd+*oQi6}>_g}3R7C2p^kE@_NiEEgl8!mDyjg4Nkrc?Lmr63ju2#EIR{J4J
z@a6UZa#+;~&Y{+Adk=vs7^7pqpvV8UiLr+to&VFbvq${FXsl>dMphL<05Qez(OA5x
zOiS56grwlBJPRfFF!s<Qx>T{D2ib4xi=8I#*W=K#3SdSqs=&CVDeHMq7zd+!q20l!
zmYw`PI99%gZ3BnE{!Uml9YxNe3oR)5y^xsX$Dr#<1w%;paL8IX7RaUwYcGnZBWG1Q
zM$c6?b~uy$X|fF(KMQ3m<#F+mH6d50qRer3(j8g_MNOI!94Yp)0r;v#0^*Q{q!GSb
z=dVldUhA{vaV=v=hBO0C6Hk{lz^8UEw9xQB+Wd8yB1Vb-wKP94A<IIxnfVQ(D9dNy
zOruWrHGmy3^@9%)LbfRyWV!(xVnP(aZ6Q=dM3$nQZ2-STyZ9HZ;;v{2+LEhqUo1<J
zh)4ymV@DO47WQ+R(#R^d9^)NQ!Muha`ZSI3FtVp2X$hj0s=WXi5dgYTF9j62cyNO7
z(}RH<O08%Ye>OZag9i8m?Xp{_2ty@bEeMhqXOQy0BQuTApTrSzHpUWwA4NL4RaUOn
zQg4En7JvBPu=UxNgAvS#A8-J&nIJmKf+#Y$xHzOiP@pU*MJ8zD+5Z+$BYX-8zc>;!
zxBURuT2k9mZ5X6w1S$UqosctLj|3~B#Ia>oWPT=qmyZO7`+W1+BP0Jap>~BiSjwo4
z41c3>m(a}TU;dS^{Pmyu8{hSv-*LLUef!<_{?d>Cjo<zK|JeEI{q%l4S=-ya?ZJBM
z9lPdiiY3BjmmRMx)$4$^<;G8H0FIDbE|+&p`w=Z=SsStZ@ZrOE-+h<$>d~V|7Z(?w
z{NyLEudgY3{`|Q=H*E*LH@CM4U~@j7+d|+EQ==<KyyjB%Hc&<s8b|<-9TXP86AJ;)
z7HsMVC%^>_%BixNHHao{_@G$dg^+|0jqrRn$7^b^*7@awhTq-YeeQFgt0(ey3QwRA
zfSxTD2oMcof;u#%#7ze=<|=S6?5~^*A~CTbnzT+$M+%EpOwl1?oO<kDvI#wY0Iuvu
zEh6woS&((<L1hu!ZP9HC$oPh&K#HUycA{HQtQj(`*k-_NhymOmbhf2t#^PVH6>1*6
z?By+@2~AsaCKrvHEIYQi+Xm7|ImFrweZOID+UezdKC>6-_=iW#W47n^t&sJK|2Fqb
zNv5GKA#l8M)#8VMWj0`X&;(WNVneT-w<~0ZvH!0Jn<fcxa7OEi1mxQ`<v-d^Bkjs<
zAG|RQ)+hH@FJ9g(?^esDy(7hcy%8D3PH<xdR74d!;n5(`2d|6`Tp}H)yCc9mshmC|
zfK`S8lhRUIh}1h2x?H+t!YsWSyTzJ)Y=DZ2#1M+DV7^!A{*H!2kOr;wY7A6@$k3uU
z21Sx@5PjXGJy5z6rMRj`GgUf<O5Y&HHk(ivssn^~q7;wtQ8XcAPt`kdtUopbhAOI2
z>neoOaKmC@&vL<JPFw2pj>|E#$x@%?TiQNScSyZKR8gUdb~HI07{M$EZlSED$di@=
zTN9wM&Qk7#ts&Sn0bd{R*7jh&Ca_!wJ(*4C-VlQ`0XMm(f=8Zi9YelsH+P^qGXNU=
zZ-1H;tJGAa9Li4J!!aZ?2FqWecA=-Z$6y1md<RPLuM)-%<ZjA1*45L;k3WG9=2%QE
z@A_o*)oGZl)MTA+*Pc@iGV9m!v~qF9CJ91zVj?5VBxB#->nn|nCB~dRHo;EfWMj7$
z8ZCx0KY_k#Cp!S+vajoPWCQNbG1&RZi7ybXWqIPQ7^BB;j0Ae}Zx&HY5c~a!(va6M
zI2^CnuCZ43Gne-Kr@so-m&wTTJz(dkIAlM2^1XU{{9YXL^vn=PTBJc(nIj8;alH~)
z`4eQ+0we=L5myV>^~j_rpt&n>ZJFJAHLhC7{QZ!YY8M9t&4Sdt1A6}x(D@Y{*<gcY
zzsNVjJ>6crdh)$~=bm3h9$^DC&TucLD#Qs|*)f8j1)%BQpd$r4{m;4?#vhy(7$nT#
zQ8t4jnxK$I>qO^zWuc_b0m?QQGc#u=-Ka#a;Vb@n?s#SgWp+KnN&P4s%<O-o3%1o&
zI#LlRiV%VhA_oM-bF~tPRCjoy#S|Ut4gd7szVl{H^A9r+i|z<9V3H2~SYL2d8i=B8
zTD{Ipz-~Z<5d4g23s86^R_>BL3tvq$0j)p&1av8th0!ZG3Z0P0t!1l>9(5PQ7xHn8
zQe)a5i=Gj-akkXte5#5@xbA8UdIB20vWTfv96dFxtbnw#q-vFD5yIAEJK(Tfu2FpT
zvU;HuI9*mZXBMhLQ3Vu<#&f2GOqsrgzqF-rWTd`^#R4^2Z`t>evP!dCoN$S`zn?vL
z@OOUZr~g;~oB#EH@t^!BH_v|MTfY4}{_vmtH~;7#{+A!0uIHQE$=wZ$$%;5xyR1rk
z2Q=1L(CwAuX5aj980{`B{FnFGXW|1xouaj0vv3Xn)dV1yL?FrP`h_oifzs#CpQH8i
z<;%}~?(-1m=k~^DB7#j#9OR{Img`e^Sdiu7iMs-2GQ%gJ^#}OfrU<E2_<lI}SQeXt
zaGpQpRT@k<`H5gX;Tu_{J3$d9xH-JOy@4j?L<6%lnJiUk=l|frgGY}Zy?F5g;;pyd
zI-N};&O{J-Xb{T_seBM^SwCy0b@>$>q!J+2D>#IB1&8xVsuBHhKCue^m=Kz5K(T5Z
zF#ez)4G>08w(*B0KI$O=@)OXuA#teHKt-x?42@?Hl0wdAI=}N8<RVp(BMiOPD^P0X
z(2Pk+C6LiP0p0im#A*2X7_X<22*OgH@Fm0S4w~z%QNEDb6U`2D=N@^}g)bv2V)#KT
zS7(_aKY&>H<p|YvtE94^TtP+%fe#6$1}WZZf{={}18cHFSsR?w*$SEUdbwJ$RKUSQ
z+$K+I;qfD>6DFT~UfPvXLG_L?o!g^e)Er9CZDalCxfHkZjT0L*=1bw9ZsxNyag=(W
zS*q5x2EC<)YT&huQTw+=uU#3ru9Y7gL&#vz>W(q6pVfmt)}I`Kodz3>BNk8*iV#7+
zhMk@0$v6C{4!&rm5)0-SJ^Q_Q=GpO4pyy8yO*5Uhjm8)@5r(yh4wc4%Q@i?=8Dytk
zwo7W$Jj-0YSZGXv9gdCe*MwdZa`a7RI6bX;t8}|-E!U&8GANx*7eQ}Z0qVSy^GdgH
z8Ce!;lLtUxu;@2P5z9W9heKE!_So44olo|VJ(t_!<R*+c89jcs{83}SxBETm`QO9o
zqetJEmu9SE0?=syCMzsi%h2iUUTlcya}R2ZUGn|J-|wseB(S-FKl3j|Lcn1JSS>as
z*jQLOTMM-O{;uBhc=K$?I*OvD+q!^C&8K7gC3(0Xs>K@hCh$?)u~5{o1Q9r-cFBx&
zg<~(kM_pj3I(wLX$o!0kA1Xch9>SkJmF~|9uU&5shg1s0m-FK^YmGS|vh-sdKx=ab
zL8;vin4<46(gF1N6&y09T8@Gg$H@GkS&(+Vf<uM!2fr=nGyT;4Y^osJ_!$B_{a0yY
z1b8%znYDVtLN7i9KTHA9>H<>eC>1SYj4UjO&Z!`}XQv0Q3x#roS=Bqnd_LC_5rc}9
z#Ubhqmx?K662HNipE-@SObCphLJdLu@yc$axMukQG)!nNdU7>5qD3^u$#RWss#e<E
z@H8@G*z1^+g&^+NCC<T7Hqh{A{*`~S+5eCcApt@5MMDIX&3p(H^LS8^(l~$)c_5Xb
zb;v8oy`t-d&fbRF1lUa?Q=erZEw!fu===%}RD#}l08Od`Xwd^g&+`reKfi*5(ITce
zLC7m{7PI7k8Bs;un1wWub&f$CS|vI-URY#=<^UR6X_;svb=eGvDTEBEyfx_5SwqNY
zhw+9s)sKqy!gq#oBnKxBpwXSo=gZA{_Ta(a{kfn0<A3IV@n8O@{tG8B-v9Kse%rtJ
zC;!a9@<;x)M<=Vr{oTpUmA(97Ez7obT>0J)eQdFVgbtWx6Wopypd#+qY|@=hSF4ql
zAe@0sWJt*_{9)b)4<3+0fANc7eD>@aC0C9QKKS6y6)!I@DV2(u^@CAa1F`>c0rNpl
zh+pq+N-#|~{V1*pSLo#)Fy$V!_{FAMrAI~3*jR6^tRBdc%D2dx#1Jr}l;E;AM@0`i
z69<{q8?mWHZ!94T(@vlLe(lMVC+Fwq2+$WS?-U`HTa<kO(V~0+?Se&Y@S`uC18DSv
z?zOQ;XGm970K|lFslkbV00~T>nw7BBNr{OF=M0)g8qKldL<n&J4RTRWUjAoDfWWGv
zh;X6(6)tGWXMnfie}<o&4EFO`CgxX80kw)48-ycfDx!ODsho+454O(R^L@T<_^YnW
z)y)d$5LFWxp%8*+4G1aguoa&a4Kiv4FtHGEAxoV@k^OO$E6Bmfx`)8r^}&<<kE}p*
zU|Q2p?w8ycOUSV8ro04c2{duLzSsl|u|T$;5eG)i(M*X?se*c08{C3DpIEH9*M%UB
zN;6YG!gd7w>LBD+<Z+nM?4vS5J=<Ylr)>5ax@SM@2KLA^dJDA|VODM&1$A`ezZJX*
z>}>BI-~cZ{(7p_{3*uk_M7BYX->bLBKNdYZ$NCcpfu03{Ey_+)xf6q6CA5nQbI>8a
zh@L;p`$8paW0(_e;n?+!0ZmeB_wzj?e4M+<vLY2f*$vl4ws5LfN;AZ%KXMC=ouXp-
zd`Zgn`gGqGRXc;leFta-6)80oE$pOq&-lsmA=pNLhzN_aAai#3e`LL1Pwe;h&H8Vz
z;J_kagn_WmF2w~1I5n}pSO)$?kG12670{hXx|TMPe$k?Dx8C{lO0$_gb-!7&|5#yR
zKG#=Z+=hhohkDC`t{Uxs0SDd9Er;Pn5YpcDKx7MBL_nj8QFR044%j0WI7H^dAp5i5
zH*vBI2r-DApubo{$IzJB2^nmFJbMVz28}-fii)`*sJf?e6m;;XTHKKWioBj3kYWZ*
z;)6e9$kZ4z6;P!>!71E?qSgm>MJhB}JB_%H259OP4WS~hxo8<t4qqgxrMT^atO771
zA~Q2~HWsLV13uOa6j|+DMDWi1WUYZvMfw-3iPe~wB7nLGmwyG^5d*Y)F;G!f{zFJI
z;37NFYwyax@vSy`RfVQViXz}E+XLfy=lr55OznZW;wbrw!X?t>Z;MjRXm(R1pP@-<
zk?3g1&K98+sess+3E*c7na+|yyHi_)w`KlnRq<5uZ(gAwG(O~P6aS#q@SPZ21Dlok
zgI1&>Br27hQo55rpV_y4rRz3qcH<RUX#t3UpH6Jm1HlYJid@aD*bzk_#z}C1OBqD-
zzxYD%*&gPsDl(QI^vFZ`A5%SAp>I|JWr65zJ~%?k7A8BEEKmW*n6}*b(X;Xu5<s^J
zApV5^q~SlbAqC&pvSLBpZCO<}%^F*alKmUXDHi@CkP?HFQ)%pki*ILZmG>+$NiC+7
z6akpg(ZWnq-Ww?yNYn8jLpz;LSDW?eeEzj(&;QDg|KM-=?Dw49T|a&M?f>A%e(d-D
zz<+vivYByvuv*%uR`%Wv|8i!%Kf^Az<zB!FNKQ`g{D<=7wq$U8&8YW7PZM)KG&0y{
z3f$b>km~UC{rBI$xVU)t-FF{7daMV5A3uKl^vRPak00OO-RYgtr~@-(t+w!6w)U5?
z-5vSoSuu?7JTc2UCV08IO($Z9|5SyFptCNN>2Hhb(6WEk2N!qQl8zC4R2GXfz5Rm)
zkaV$F(00s{B{Ikm1J*QXaD9FK{N)QRm0YkO5Jsk{$b71ZA_z?y2%uWXl8RqIraEu;
z7Y?TjABY=bft(G22H7_`uoGc{kt~QK72_veHY23s1Un>iwjst$AUbn0h+3hBKt8+*
zT?qe>9zV987!~Vhf(9;q&1f8BEH6;2rOB)8gHo@s%+0g2>0&WIo6i<=rs0&U<$P*y
zo7k+D_Z$ALPVViy56lDR1Pz+{Co^^^%YgAGxyeo^Q+-bA|E!gyew1lP3r1U|URXQa
zCu;de5&y7d7mMiNj|N&dG};B?pzAL*DU%2=n+!}S8~>Ek53ECT?+&&Q_O%14U^C(g
zn7iWXA8ZjmH9cm-e-f~(kZIYnL&v&b*$y)12Ew?aiW&mz$cz!AEFhn|z>|tB8Pzo?
z#Uq4nLy+RC#i9}*WX4czGsN%t(=(NIfwEvv)%$^Np@#HF1e)gl7QhKYv<RWeX7q~G
z3uBbx5%yGZ6kfwl_UZujA}lS*lM0He4;%x9o*zWpwf6wCOue%1?)fJHYH+O<-B2?`
zw_8ybBmUY#jMJXczS8!6CTd@4n=?09u@J~<S!C<K>Xy1#ceSM1x2-=qSJc08Knf?V
z8yQ-)JOxV4;o2LzKbVr*8rZYa$JWbTz;vN14&h`_x)Y`NBSSOD1BI0!W^erLRM~^m
zM-M+SwVQ^i^@tnQ8f`<ys`2Ys-4jDk>aWsUs{0Tdlw9zvL#?zr;i<iYX=M*ql+Urv
z+QyDrR`w1r-A<F5tPhkE8@@%`{=^5f3>uSl8kmc=?_-1IHV#Mn#5Dt(g{uAwnV-Ru
zQK+H3xwQ*f=A%QdMRd;}u(QcMKYRRMe0uU@f5wtM-3&Huq>{{O54}?PPnsJN!dYu<
zVSlNxC;km&LG22JS8RYpfLvF0yP+kfR7JrYgGtI%MF59Y7ldCIwa0SB@&vTaQG24$
zA4v3~c1}fgk@o7%{7mQhl_5U|ui)@Ky~nxu!<Eem11?)Ss-<$M1+7RkGT&0ajFyyz
zQ7LxD%?#!kwcZvr+NMaV=7(i5Gp+0xG2R-1Jbp5Ic6xk0Ns153nI9v`%z@UBrq@VC
z<4m>?sS)}!G$J&Tz=L6SGE;OOKZV1+7FQ@nxPA6*pMY16$sjKkx|b^u9-@VDyD|1E
zR2sAhA=i$Cr)<&EC+)qjq@~mjH9@t--(ZNRRPoOor8y2c)k_R;SS=#{%0dgs2qo{8
z?nDu&##JMm%?L#lfw+o$i9xi+r)XLpv;YlgxR|6E2gbx_tIFafzA>G)KJ!j7+Mb{+
zp%6slCxnps;tn}R$bJ+Vyp{HrmgHf;C5k^8ihs$ZpaF<d<R8*|`Kf)g!!3tS7<bR?
z<kMgLNhnQ9r6B_$EPT2}D}acyI_!d60ya>5xVX3Oe{HY)hYp7=>n!D`Rsns?C`VBx
z9xgu!p3WAxoAvzi!QcPf=l<xQ{Fnc$zyF_EfAHmR{+4h37ys1%@{j+KKk;C*JU>~l
zZmusbF78%la_Zk-Sz3gs$=b5CeWRJe6L+RGNVNF)HuvV+*Vrf1<;uQwH?f~Hv-O87
z2r?{3Sc79%6Q2~MC@yc87Y{C>&(6+1|M|}&{PN|?#rgR^`1zl=9j-SVK%hc(GQtFQ
zAB=`i#uI}-48ENs)FWD{)Jd1iC1x>@`Ot)t6sX2R)kQVKEBDAiu*<IZN@$QuJvf5L
zZbC>G{sI$Z=JWYoeHj!(;P&>Gln9(ZxSUU>FK@01*Y))^0&l(b)}zOd5mVgslytG{
ztpMWS5(HTL4Jbr7qg1cpfN8XTCST!oGcb*>KU<Z;&j?`<m4X4k^i+W=C0%u1QMI%m
zfGm<|$}H^-`xKGd*N^>bLZO&~NjPLsoSfDtpwZHNA=}a^txvFyfPM3@!pYOMKiOKI
zZ{^l|Q{Nslwc`Z$b_+OwVc<FRkwn6*k!Ki?idLE-cBQv6a%wWM@0mc^<7_x}vf@6`
z+vqr1>*mviUB%T4Qgg|Ppc7eXAY9f$Q^1<D!hR8p?_q#b`=&@~aM%H-{;HqDVY<3%
z9|pRYp0w6a?aMP3fA8Dd>l^Q3^0vB4hCZ?%jXbfn$l6|FVylg&WI&~0dRo?b@f8rz
z$Ol**q?l34Ox@Og!Lz4ze72B41DG@sBHI+*^(QT3Lr-?t2R%EX8;T;}t0=OfMU0_&
zol8ac>OBOxE&J=;iR?hoJv+IsjGp`<cE&QnK};B5j|7Sebr^baIM&XwI50lp#%_84
ztlTD9UA-A-zEW*wvxPWqTE0nK5N4b4R{6HDJ5e|x4<X-3MF<KfUf_||nOJQaj-@A)
z)%bqdpA^>ZTji71n(HeHn^f0};3PEJ0;H<@O1BPRAsewWqR?EuDm?Na$Ju}dDFS7M
zDa}3x#oP#(B9(C=b3_Yc&aVZGJ<Ql&nsIEqPTzX^>-@D`Y)NeLW1TykmF>pJ*_jCY
zQTmRJDNH&mZa9^?H>Siuw`s>Vth#4h`>4St5)>(W9<*H1KKLbtwrZ?f?Y0~rw72&y
zi&3b$v6JPUO;lYVHOSnK-D5bv)>>gVJ--^zbR9$9jxqLpKO~>6i9Xg&v%tL))=R@$
zvJaUrTJplUbc|knG8#Lfl8Iy6)sye}-$T#;Lv+VzT1u)5yy&sb9D$xELeC$x6bdyw
z=$XG-$A9w0Z$eIO=GqKpr2Ba^d_ngLllnRg(5ox+bDXoaZogRjYy~jbQHjKq7E{^2
z)4NR>{P@o<W}}-5TR?Oy=rXoZPRE6j5{jZQ#IfU07{=4+QCkW!ozbf|TmCShxvIKx
zpy!+QR+5(+q>Z1U!u25Jg9#Ejz*J9oIT)RV8lo61+bp|!h^GHU1ID4ma4YJC$bM#j
zgv_bx;wV?rXtxhnDC1<ha*99M6tv!zsVs)#EC8lxO(JPEM7)AV5bcEqxh05CErK{A
z48Ac1QKW3d2Tl&1_(j-NOI_vk)Jbm<fTQM!E*2fZwA2j@ID$tENJ2E2l|xa(dRg`f
zfH^G!j+U!J*MMhQfM%_6PN||vca9SXe?x`=0RYG1ur43+sny{>@Q=?1DC#DIFk1Ey
zfVpi)UTe6NN=zwrkYZWYK`ZMg=UXvVjSPc_C0#cdDzzs1BfgeR#s$$i#Sc5+!oz!e
ze>%+d>0~`&#L#%VQJCCs?w5CzPUnl8<^AQ;CqMHGzxYT0^uPLF|NZ~m<oc`cyz|b#
z`oH}%fBcX9>x;Xa3w!PI?R0*2cVaL1pKUO*S=mn#vbfU&_I!hRUU!mq(eblxd$k3G
zUYJ8oUXFL0lf}J1)UZa>e#9(|c#1uxBI7&oc;&N+4r0>_hYj%U^6vKf=H~8pz21E3
zOJ92a{JFw)VXyDlAb_x<z4TvDB%UxAXJ-(XmzU3;JwyIxd3WX<%~r(F!v5NQ2Ih*l
zP7rNPu2}^f_ml-efGra#MAWv*FDH+lg$m(x`E|vL^6pm`BMqDQu<|YU?d|Q8Cr`fd
z8^3Y6TwY(>!SsU%4`>t(r<A7AOfa-*Q1bz_(k$bz_$w{t5-WH~0Y*rJDQl7!YLw~+
zIbNgW;bd#rFI0BMK3m@M?J8d(8G(KjAtt66blwn?7c-}FTgcur(J;jvg2&K6oN>X7
zWZe4<w7F$x;6B4pTramBR{b|l{c3Z8cQUouTWjq5VkZ+Fk*jI;KV#m!NS-*bWA3G$
z4}XpCogT5EQEC@_)}qPjj1-P_$J$=xa(=PE4*D2V>zvxGHcNLHOWR?*2d3rKDGNkf
zUDfw-sk8*q`03k4gZM>@6{3%^<>`Dz&5*Ja!%sxPcFas>vxQCA^?JEplR`5D=}%&&
zHM2>R<AYYjcpG8cB7hq>f~(9#%cs#RvAdPcY|%N@_2_VnBO_#IGO|oYPre5oaE}r3
zA5>&vAOf$bV(5P%4#cr>I2K_?#s{t2g;xrEMCjFP%g8a%`oAB!uAcQgA9G)X?tuf9
zoyH+u8CtWMt(kTT<ada%irQ+G_*;(Y^%}7Q_r6|H9bU;X=&0S7^b9s7Hm`}Qu27M(
zha@fg1owh9nw0w~UxkYCAfgI``)_GKj9v8B+pt+J3#vEQvcsPQi-iS;rQX`aT5Am$
zUiUM4{9i3(f7DXpSIf^=&&Hu|o!;$YdU5^~b?+lHB!byXYLvg<ZB>7mXgZrRWL<F(
z9hbN55yKm9{bv?ku1fk}SL7d}w60n!Ep>fk>R(kfpeIG6OCHp_Ead=~9MZ7dpx2SE
z@+L4^1NP&?*K2L=qX@krj1BIrMI03YF+V(BY3enqV?69cDRyL=P0=fHtUnDx-5ORw
zR&J2i(LQLq=$(+jPN-CtgI05W&uxnXduevlKI=@15-Tn+n%k#bi(4?1yo2SUaNVYu
z5Q6O){aB<(3~@TqL5ZrT?e-V<yk5&<0Wp_}O1J(DpzEBufS!dh!_Ar{rGCUf1#L>z
zZmUJt|JvRLG?`RY3(D$fLum%~UC$t4p;vDyJ{Z|%hQ+1&Ce9e8N(W+l<i|`}3X=w!
zS}N_;HfS%Inx#mofoqm%XY=3IbiI=--*i=Q6C@>Me=-JsZU>u)lEsvd&jQZ|VKkL%
z4B~__T$R)~ZX+ziA&u5~a|iP%6Z*=TI8u?kIDxH}kp?kE0H%Fr3K1V@(&BYR@a_LV
z@+Y^bNIE<W1riWK9;iq%P}{#+m{h7h_i+(6jc@E4H+H<v1pEm)w?!+OCurFKb7GLH
zG^au$i?E?e6m{d+KZd6C^)FjvQ|3bjvJ{r)iRF+r<z3qld>ZN{1>p<?@zDVUCKcq8
zo}SL><P#!bDb?FQCy*?J*(jz-8N2q{P}pT7wDI>Ptxb~Kfz#>g^nN;<zyJJ&zk=hp
ztk=uw+2V))=3oCkzw7r*S8GDO=K3<3+D~qw!79hC+T;#5xp`x>O(5);*ix7*z~-|Z
z&C4_XH$8K}yrD{>rga_#YchYU*TrqQiV%Nn{W<a9DoG10%fjQwk1sDSu>bJk!?)gg
z>+I}owOW1c{r6c~ptU|ffBxK_yfz0;&(F_qZ*M93+Sk7J<jIrk>+1&(AL{hkTy<cX
zR96^f8#r?-Nou0fs@)ebIY~;`<h;=iwOz=X12d*wFpzP+I10<me=dRu$o}Q!rP@VG
z9Eb)4jfIGqn=XI6rRJWTRO*}pUj*R;bb|IWN98+NibM=ht(I(6k^coLJ}MPWdzA%h
ze24+jR+Liyc<K{qC#<*>VF5Qt%~b7568Ftytk5~euYwY*9m8lPZ>g)WEwb;iP9`%d
zp$q5)+n#VKF`H)0=ZlXvyfiz-b+@*K@2}j4wO>x{^AQ6UP1bC<bEmpPJh?nOv-`#M
za<#m>->m1e(~I-72bbqav!dAZN0PL2L)HOcFL$qDb=Os&{l5bdv<91wypXjD?Prmq
z6-lMe+kq183Nf*;vS*Vm0%TR>2T3eM_Nxtcz*J;`T{o_7ZkNQyUsq$FDtM!TKlQKC
zGE5y7cuxazUQoS)Z5wRB7(6?f&ldnOS1C;fW{@b@_nilDlLm=3K&w!Pp=U=`jB%`e
zJ3ZS4t-vkp7l0|;?b1$k-0#MrG-HTTwhKqMw<5A4eyyRje1u+q^}vErs3CI02Xy({
zg3c$E4-laOKbV4wf}_#`J3bb>0A8UgOsc}}UG#tj?WRagaax`h?ab-6po5}Y{1gpJ
zws3S^u<HE-uX5$h>x?~~p$(JY_e`fV|2JiaW{ZYhg)K$WmTFtA^FN@}42d`xVWjz|
zqDTkGwd}8vQX1-!Kx`W;5x@3<s{!k=Uu_&4xMMxm0W=+E)5Zwfx@#Y4mr_zLpX^20
z+Yk-g%BKyqjo|8`cd^ese88HO;EWA-o5Z!$1#Cy+D!}B5lKp4?Ye68b9T0-bM(Y2p
zfIs#FC$=-N_0H=&67Iws!EQU=h8-xy9~y7a)E<m$VFB}Y7z*nn!y#21>qc*qH+EjT
zbv;G+J5h=&f}>I)_>p}hkSPTuXy9}qoZ-7+n|;V_qlc7B7JrZv0WuAm>`q{+1Lk}A
z5=OZ|TDELB$a;zF#|lom;~%!ne`^A?i8ueeMXqkYEw|>5+n%%=re<UpxJAdMF%D^a
zhR!U;XzGnDRX~rS(!<eHfvciM!0Olq6-j0fLPmcSr6yK8?XYLEY8Vz=t9&acnj#3L
zJ}|3&hiDMA?)IoL1CC4uLf*|3<gAUX1dJ4_PYcG``c+68<EhcKf)p{U<yF=s1Eiaw
zq7V>*sTz04cnxqGh*^q~%AhE5tQjFwN{kaAn@4c8*Fc0q*NKw4ftoGy#;Q><I@cx2
zVJn%#*eQxSwKU;jOzbXx7h;@9OsNsoX!Ma;#5Esm;$)~U0V?cZU5du9gwbBFOqslx
z6`r$a>k2i(RtD0g#EDd^7=+Rw)GwluEZuZ^vYwo*E$(*LGTm&Zc1UK2Uu$OA?9`r8
zo=(=2>DA5c5B`Tg_?y4`KXG@uS<U7@_)|ai{Xg(~XJ*76(%hV$*urYh39cvix2LBo
ztWHnuq3FeCJ>RUR_v`6qO=@2bupTi_Hg@pM9n@@nI;D!uWWG6>+QAd<;Ena1#T<9#
zvo)}U&YR%>rnqYdHTF+oQ!|&#B}+QJ_UPfm%LfnU^Z8qEy>)qc`Sh)~zxvg$zI^%e
z=H}*|ciusMI-BX}87&d$+N&*YZwU-lL;%ehJb}r2?$I@$9F}p&Hz&+hQ}IDUOI)yp
zBnv8umMlV(T7#?Dz)VsVTVey+6<BpiX_uaNK0iOFRF^7>z{-Em&>kT#+NLO<kt70Q
zLWA;0d>4n-A4@B&@oqtOL`zXHp$a!+kXXi6(rYec?Gb4H53Q^n%nVrwI|O>CSoD|G
z;j~iPOrX5PjuDOH_g|FBrsP4%dJTA99|iRj277Z40k`-QX8WlfUC+3FnGA~hXJAHd
z9W1=^2cYfq&*raAAZ+C+68aTM|B*nS(EecY9oOB(+5GbI{NnO_K1Y0mGt(J^)GXLh
zHQEf=a%*Prszg@W$Nv~A9V1!*vKXZ2T18{}z%TiLF?T>iv~hr5AjGuZJ`A(deU=wQ
zSeZ^|GduI8Cn)EZ`SzCSzP!1)wf^v>UOfmj{pBY)r?;rj8yKLh7XRlXB4CZtKmQN{
zJ+4=N`o*vy`t}VB`;k!oGly~9{+T3ZRZ)Xt_+ZeSLV5Lp%>QVx+kOPOLGM6wh(TKl
z^;%G+5Is989pg3RccK)3WH{D;TS(GyedRx_@BAl};2sYJ2l(eTwuHLBzLrK7y7^~5
zp=71}(`IK(q|^xg0ao!4W9AN_{g7AoTr<XOMwfrAS7zM*5p(Em<m(c_|9I)&8#coJ
zXnENpFT|>FKMoXoZ5-}NgRJ#>7XD*^V*_{W^o#>&>m;@a*4w@T62XXMn<0WNC6_j6
zmH{sWWpRfRQ3niJyDMO}_=>?lcqR36lNaHTE`m@dFBrqpt+4(|Mtqx)Hs4G*Al;7?
z?#52^_{X7VUro!U77^`PcOgrDc#N&}?3+&&h4rD4P0_SM4eQGMLr~O4D8(a`;t@*m
z2z!clLe>I>>+KavzDkM?e#nRzBiqafzFXbW7-P>GS^wiN0Z@&@c?YPXP!2a{$W=qI
zo;Z7pP=sJG+qG~E`xa?E!{zR#tUpD)@C~s*?QSe^2hiNsk}R<L!M7B{?kqvjZ9$u+
zN(Z0`JF&;52C~dOywx-UrYH?-L9G1Fe+*P4(7<A}3#E7j6@<W;5X^)_w3uTw0uWqd
zMAQ5z6(M9A*lkvY|6oCZ+ACoxxS4^S$U-bU&JFCysnfq1VaLG6HJKH$2iO;k_MDhy
zdbo_vNExl3D`s=LkMJkxlm&!EshEO_3gNXx){5O9sI82n@ROv?sG(RPl&Huz0MM3A
zEfQ0y?2M85Sw8!0QFM@14Ao@T6!C$7$ZqhW!nFL>2z3p{kCj&Yq5~2WAq11uPBXFQ
zK3G`@?~1?CRZ+C1o@IgC^2JH1u%!|o0xG&&o{XWem5f7@vpkO+Cg%ooqXhr9znwJE
z>WM#uU}xWS&%|Cd%-Xla4d&FTo#+10kNn7Q`JUgpzF#lzPk;Px|E+)Qcl^NRWInZS
zQct0MKijPBMA{Cnt#(*!bo`K#e~2+Gv1m1He3sbNp`;$Ld;h+SvAq2(5$^BSZD*6H
z9R9{%Hbv6_ew&PIv#zorNO9$B)aB*nlP6D*dHVF}!-o$)_OXwB<ttygxw*NzzJB!R
z(bd(JLWGtqkdh@da3G>a08NO<HlWB{c96{~*b&h{0;X(~CDIbDBF~4IX%$)whhz%E
zpf@4f0$6F+>ovW3c6J7ztgJzhrKR?bDLDYVNaU6YRJn?B#o3=K4*?Zfd<dHXmoWi}
zS+>f%3np)AqH!2PlG%R!TM&F8I;TeH&xlVHL;(5h@zbe6@d{xPCZtq;rqm2tVyPF~
z=OomFNf$5~7Cs3ZX+bo@o|<TTlIed`gbclD)@=Q=?>$(BKBL$6%RTn+@6;A>dX|B0
zO*lWF`!CE})hDNRLQUm%*JuO4pL%w)o^F9-g{pq$zCH-a!Y;I>>R-RXEHw&a-x^dg
z2kXgv;YT)lPTZy^hKb(w^(|Pk%=yF4R!W?RUm2e=Q)-tnN2U$S<sJG0J_oXvTPpCn
z3UEV;ELJ#4sm2)75X@%wlZJU53bpHBA5>JRp>G+zS|}>iVL)648+eg{_KFbH<A=jk
zj=|1$!Q5lV{c2IlMkvK2l;ZzCLuq_MDHtL8CCk_cG{gSN*~Xfi_nXWim`X}rprGo!
z;{I-2x=(s1${ly>s$K6G>Q+dR?Yx{goldv+k4Bu9-$*y74WnI$@0tspAn7qm@z)(q
zKL*03#<!mQuNDsR#{*nYSRWa>@hpE^^jtbN%F~PU$LuQ9NE^ZqyWsif<hHYCYi~n$
z1_9qb_clp$!T%M)CV<htF)IIH<^4ywQer=d3Y#sSBFR77^@L2J9JZgLHk&m*<M7;`
zdn;Qyp-2uD1Ckk|6d#Pf%F(8FV!undRP-w+WCQp+QHnbl3-nZ8Y3e|jPZh_u@emxV
z`%%mHptj4}o3feFvq`l~E}xY~xEpp~Z3Td7K1A4o$g~L1@ZES}f}p*81pmIZJ)q;W
zOp@5(f0YBL?Vot|nvKF}{&6G4lEnQzyG1`Yal#Tx%R*#?vfN{9bKgMzj}ce>2Bmm}
z@z}PO`BJ<SYM#=J#bUv2#u&Z1b1ZztccNA;0{eoPCF4ghq+$jd=W~`+KrvE)NtZ2f
zj$!V<6c6kY<wwS%=^E8*sX0>Vq$?=9@?V)(p9TSXUFIeWa#jbILR18?A8IC{jrQ6#
z)l!2FpcR11D>j1`0Yq;(esM3fqsam|V)~z<dIfG3%28T7ywS=MW@>A5%h4Xg8SPk#
zv~V4kt*D_XP^qQaj+2#NVA<OBz%~(8-TxXyMn2ojZD)P(uCiieNFz%JnU<wNAa3zb
z!`O`g@6AFd`>IP!Af^$iA4A&WFUy57vgXcYL}?Z?8c7GP1}tmCuB?GdMbNGwMDvgT
zH+Bf+i!KInPX+ey<eJPH1^b%k>D_wsLqGJRzvValrupW6bG`hjzx%g;??3$gk0<tn
zfKwuDwyZXL4>Y?@Z1U%HwqY?jxnFrK__wBg7D#)Ws{Kds?CjafCL44u^|@mnqUZwV
z7mn+nd2F1u-1Y8C{biDVfa*V5c;~;)$C?0>CFb_-j)mg<;(W1~zxCGB+uNJ>-h21K
zgUg4H9)9(!zhd6ohd*Z7Us`p-Ms>cJtv7!4v<6al>V+VjDMZeRtqK?)B<;Y~q}^8*
z3RHvG2{T3)(lD@IRgodZe>{QKHI9H>U0pqT^hkWN6hTWk{Iu+_Ap-QEUVq-D&|au=
z85B&SLXsJh=l?=f^CD0Qj(2aN=}Hm6M(tK{htHtN3dY>!63G3P-6m3Ki6bJyD}jJK
z_Xqx&Vhm)4^eJ?B2+Z@Lo?nf8w3|Wum;E+b9HTnV(0hKW%mhS?J<<Apvm!LiIeP`r
z>HT~*VSBMyOc!&~ImG;IY6Itfy;(0eYsB!}hWcu?G8@(quL<++Lex%kavR&ly`mJ4
z;0;RZRah(D@Shdbf9SD*i?BMq!|cqw`L|xtYD^-+$g_u?jn9~$EeIGPVVkgAuI}!Z
z%R4)AUM=Yq8@*IwTGp}t5V(SC4Yxqsd9{`l&thr&&+;q|^uW|#l)>b(O^wmhnLBIC
zDuhYW^{!8gv4}JLBa6yx#-7M}$#mU_nvQX+wjyW|ir(wt5M5+;q7)wikLLKFqU^o7
zW!k@w7Nr>@<WPSU_^9pwYN6LILRzQ>_A(n=4%>e=MJiGM0cY4pM*3$H)klfVZBMsL
zfKPsApuJUt1yR3GrUNL`v6ao8vRVpJu&puuGq_m5nP%#kfAx<exb_cc@sIfqp^4AG
z>16Khs4XkBELf^`hmqna&J8=F8~<Np2tTvK|50(i!LJ3kdmi+B8w{EQFugc`V$;&W
zj1<9cjIm2f$!cXkQOH%zq^C1>8a_A;G67Ig>VPn&1Z=e1_;%X(5Ji|&C~8Ldg5a|t
z3q*AxX-qrOHfCiTKP2;pHN)k1pcEgBqP7FOi{#Z9ujgmUB)o>5LJc9UF``t&*A2ZI
z-Kl~c+rl~+MeSASb>Az|tD<Kx<QswL-;%FGU3{{+RP;_rU<~Z2Mi~qmLRk?m>#KyO
z-u8l3z`8+NB}*%$D~KazKpaqnx_<iNVh0CXgDe^p;Hnj;ddoha6=fG(!0MHX+p(*+
zq*Wvt+0m28BXkdTxhG-$97BGNAqU3LaVlC3q$1snUcEboLC^o5ysgg(5+e<W9~g5$
zmTU+w*{WFh>41*^FmrpGC!j-xKS^CCx2;xoF`p~2ine#Ip$JukA_fJ73nkR}7&#<%
zLZu~5V^wx)>Xow5b>M>tVEj7x1u?fp<!^zv)er(8tMGqgq4G<%K~#;{PF;gC4(%~S
z_hLmrl?AydxQ)Cb;|%;Mg7(L5F$%b+H;#&G=fkfvzSx(5WruVi=whnM1mNT%l4gX!
zq+Wc8tWsgn_H1nsx1wTpO6gY8vO#!DBP)4QWr1kdv;^R-`qVP^$Bbu)Eut~S473M>
z%vC!NpkK<Z9`#P_h=pDte>$1oE>}PF!$17l@BZxB<mCG0)!+KLzx@OM@b^8QFD9$I
znLj3M@1(F3WYhNF$eFVS-=EC5-DKOhv7gYH`2NqNNQoR3$~9|D8EAgP=?=iKn@CeJ
z7$;KONfr=)HJ>6@6eGN)EGf6Qw=4)+TeuwD`Aa!&uCG}v?(Xg$J$i)jd+)tBo6jFS
zc<}Jy!^L8;w%?Dlr>7~>N0@e&<i;b6qTRm|TT&4YBai`>sRHs!FsTGd8oZ<kR7q0l
z8q-ktA`1a3E%^XVpw$E+v><38O@=Q4#RooO>IOk}qAgpbY7r+fVPq;F8jc83hKI9L
zODnzQ<hHm$5m_bd2<D<{N%D~8?*TwdPB+dN;l_coz=C7*qJ0GifUi_Qi_|!N@@W!^
zWu#tiqE!jDh^aqF<XLNqu`E|$IenJl=b7aFaeaG-$7bUn^i1xVkF)vo%-$?Ko!e);
z_H8iw*5kKXF7Hr-!#;(7ro6EyaG`Nq3!mx&R3~1^Q*EWQSBJodN$w_tRW@j!U^0wJ
z3A>17G{y!N0>}%JCmamy)#m>0&JLaZhmlsRC2jRiv{!K0X|Fk81})~M!ord+&A>|y
zvOI)ws72L*AOI?4#X$y$kd|E4jzu&MARJl%c~V5Z{;elgb03n~k3+<$x=@GVwdEl)
z4s61Q2Xz%{FM47<KMyqf|1+>Lw+rJqzyZDPWeT7Lp%l0Udv*!9Nt-p1YT_s>xP&dO
zuF*oZmyE;Yt*(9j<pOUEs^4q1Ppx$BeCj`EgX`Xu!TpQmv*+?BEnM4cqByUFgunhM
z)$f8@2O&uy{!SE$uRBWhdlB9AbwH_d1fK>wP}D{^*5m2L#bYj27^Es1EbCmWCiX!q
z*0>^4&b4iZlz$XV$~DYBh}Y-6RGJ(L2PiXjCbA2_A#4BKES$2-C)Gzc&bjvwWBl_b
zESnF=*o6}z7d3{}sehiASvRIi?O(0Y{(N2G+rjZai}22We&h7vk-Fd`#4Brg<8Jf}
z9?S1RBXEptC(D#8Q!S06ET6H5zXv-7vZ4r5{Bib&1=iFSnGG6Hg*LCM%V!zmRstji
z5-yn(nX%bS90|;nFF)1_Auu)gSJwf97J@GBCobWujs1)J8d)}4{|LaYf8B#!9UPC*
zYdHMIl(KQBL7I{KJ==`&*`O33jIIiNO1A%$we{QS_8<RCPfp70QT|BLuOmA^NUd@Q
zyD(^FRjRCfD5MVzCkn*3zNAO}J}nbr3hazCv<M+CPnpR78cxIqSZM{;?T<6iFw;gF
za07@Tm#p4Om_&kIuq(tVnW1E4Rc{DHnx!op@IAVA1l~oOa5#fU<#Oz6Mdi4Xo1tBm
z2#yn_?T$ohZVIZUl#&|Z|FWq<IoO*Q$^|X;atYZbIygp4q^t{|3e%Jl`J4(3t*qS<
zc*~t_e9^<Fu#=)v6*&!D!pFca6|9pCI2E+T(keeDa0X8ZjyPaD;3@M1dh0*`hg$R{
zon#w8Bq|@8RdUW^YP?hX`n^4*Y|ioj44Kt>F`chh>)B#)y<GnAkNwzpe)c;Sllu>z
zf9-Gm{h$86@BJN5&d=`GcZ?-F)tSsrHj^2Rw&$TIn-lh*XZB7G_m^VdDT?sXVE^p?
za&x-Y*ICw1usUqxqb8S@8MCB*0Br)+EK7kGk(epsIGxyf4j(a=h2?UI<YYQIJ3GI*
zzNT!wTFn=WmoHz=XY<8;@#N`K<llPwba}UY>+QGTUtC<QkeMO5T;Hz=EdMt5{?-D5
zys@XGsWH1rZ4;V_L~Vj#v|JVKDX><#q)^P5lu1aG#5&t)AaOBVqJTCRrfgK2PM^+Z
zT#fJ^{%XCpUnW02xwyQT&1WpYEModWBTB6seQ22x3#C_9YBnf~dbq922;!u^9@@V!
zpse*T#&nBe<F7zQiYaTF!RR5j%v5idgfh*-+1ejNGCB1rH~3fF_DAO+EOi+O=h$$v
zKMdWC9WE0V<EZ&H6=BencHEb*g4sWYr#<oJM-LTt9>H8H(!i=K3McksfM(5JlwlNA
zn^!)0?I&BguFj{^`FwV^U_?*s=-EarRpN-pA207$aLo~W{j~iv3*05@Hql#%QT|xP
z)-n-J4e4#G4nuT%*b!{S9&$>z44DqA*QU4C-u`25ld=%4)|=(ZenpUf%-_{&?Qd81
z&!$)^EmDMedS|E6beq>k+b#USK1=huyfXJe1Q0*LIPv5%sduGW=O1-qN!C5KYA7Xh
z3D4-H=?tH(SJpN?Rc<x}yczC4%?XESF%N_kg>18jo($@R8bX%GD8(aKtasrM-#!em
zFO+;m&sDWzj8Z&8DXu8o<L$gDlxjvO#a|cXXxlWf%RcMD;GazuTgq%xTK{QUG7)T7
zX4fUAudSDUm92y~r7i;ngU<EZw?$3UOE?^bm9Ud}B(Q)P+D+x&dUM*B3;pJ+6`2gX
zFTC`%H~y6({vj6s+-!}iIc{*?7GuuW2V-aCXU`w_jR4u6@PCX~f>0jy?^sMPF47aw
zmEcP11D6Zd+_o9^Ij()vhi+wW?UM9s>}+5(10sspjx-;_uqfDw&-|DJkYt*MsG@3r
zTLj0ZPf|Ay8HYxp862YWTcB8|4~JvzD;kHxn>aAltMQ}2xD~2B^F?Q`n$n#p#Uu2J
z=;A^pP-zc6J6`z?l;ROs=}9FpPRH0|YA3LdN(M|)njpfZ2IpTur6Php3Ye0jYz8eb
z2T4^aH-5%4B?SDBLo};|;2dL_aF$DEfz8!nTLf8XVGnTF0d%%MhO7zP5)|$brBb_K
z7i$LljE!+sj03rsz`cR_!1ASk5*~wPb0<pi2o|zkP0kzZ?2p_lLJq0R&KQkwKz7C`
z#UnID%956994ZoUv`~(aS9T{tM$J@vRWydiTZygL4xnX3Syd+5?~My&Ux12iCR}v~
zr~+#cG7Chb<>hTl&0JHXXfG);eu8U+^NmneW30wiRZC0tVrpEq2$_U1Izdb;t5BBz
zgKs(^Q|(78ltze?bgerAH8`Xe=qjT&8W9{pnF7}m&m$mukQ%$?1G}N9urm`m0IC2e
z_NynLMBeSFx17D@1Rbe}paXEGGYhrVojM5U?k2=Y<(}+|Gl1Rd6v!)pSdOzevLo1S
zR014Ap(2RFsX>wqfa(6)JYv4MxIsk%v}8n+T4ufGHpouWbOQ(9|JiNb=48EGE@q3>
za=kb|zq-5m(I5Y@@A~X_EKcs9J^SEq{runk{_p*rk1x(PtJ{;=$?D{OJ(>9&K3$*Q
zuO^e#1Y*9lmug_i-?4Ez@t;f6nK;$Sm2&wZFghli+RybE5W^9IRRv0*ELCSXXo;Fb
zD#EPT+G6z0&5b@;T(8&jxgDn439MhTDZRSB)>FXPTyHjdDEQ+a|2Q&FpFV~E`0?ZG
z>+6*tU@72O2GDY*OeePnhngp+_9Yu@T^c{4!Pf8E93kjNCJpnloFt{DbekE7xQ8@>
zra|~Kn3i5#T)^>hG!bDztNSJMp2nog&<bMcLUN+Y2uKz!PfOPOCE6PxuS!eav$!NJ
zfwDq*M-(|9Is$a;&yf)!ATNQO8irzlT5M311oY6A52Z%6E?o;m2-Yt+uA_$pdlpw`
z!VU<d*Bho@kr;$ojrBQ#JtUb@cIdrXOlR}?bg@{Roz3Tqxj)BDtr%O|FTLw9-I_qp
zPG<IE#uc1cliVz@@eGu)nb!$RAUk&myxVtRe>HN+J!K$IX+{bC2+QS?K`t=7L(!fF
zuds!!qH?T$^{MxO9q#AGSx_9Au8>ygJ1Q0A0P^maA2m7XBbFew7)4~zk{B{FG6n)W
zfmWf0Ft>K$Sb2uJdH<n-sX`4w)2JG#nE{IAz()ktF669A$0)@k^x~#L1)w7ZJ^5cP
z5NZ#9i&A_r)W$K?YGIq5FlTIPj1g5AL5EGznbBfqNH`GcA**aaMnp^4TAMy_1+F(x
zY_hKfvrz2ZdupG6QLAk{$hb3hS+TFQ+@JV2|7y6lJI8Gh(2?hWPGoTrGfIU_XGrXD
z6t#oVQ`y6(AtFdcNA}k~!eM~VuS603k1S4~KK-Ubral8~yx2+J-rBE=eDJmB4<9~S
zF4t^3{ASoLW5_UG*K2!qCYUd@P!@H!W*2wSObJf~XWAAD86D@9D>qo*+t(G{2Cxf1
zF#cxAJhGVvyeb#RR;fa%!7bZg2fnFx(=ne)k^OOq4ucJP{A{5oa}cVx2jWB3^$~#H
zAhp2OfQ;jrV|6UX)<pN>AD(1IQXd98Ft#s_+O-FvGS(HwmOl*eM+TcT;!i4MfiZ}K
zR1}b)`|XwGWQ{u&Hb!DQU2B)j?)LWl>BT4ev(>$yoK6<(wDoJK$dFRn7|GdCb!M?C
zEz#igq#RP%tytZ}ivdKlzc+%}N|VdlWw&lva;X;C!m$|m*0&Qyndrq??HZ$Je^0$Y
zr8&*WoN;(m+VhhhB^}#mArD%prL`~6b(6BpR?{+`9s01%WNR83!O2CS*0oJD8m*iS
zx)*<chN@`!!&nCAJM-T76Mf|4j;nN>s@0+e(bA19sR)f{!9o=98W9l0gV-Kqq*{!q
zD*&)3A!}()?F_F%yJcg#&1MRd0*XaAry3dhz-_r?fVR>wNiih?Fdjs}De-hV`)QAC
zR=T8hfRGJO48__&J`nv|@&OIXq*Btg^^2N6;MesB5GoOHW|kC)6kh@XIEsMUIEY5F
zrnczjmaJs#kIM_SXk)i+=@`-a&wi5H_Gu05Hwc%v7Z+zYtIhg!a&~d~;`!CtVsWxw
zo!qTv_Wq6g`T51m&H8J1H~-R~_}BlLfBL^PTi<>D^Pm5>|I)wr2mX71=$jrtTHjus
zT`V?}>CMS}y*Zh#?@uP1)y&=nu-weq4=(V8dro`T$JAaMU{6GE?0F_SV6~?E?Ul=b
ztZs=-h^vXcHDbNKw>Je$XLyJIFJHcVczJnk@6fR2V(wo7L_uwF+JGY2m45`AcWV@p
zQWj$NjAG@}d6s&R8Dx~|NQ+9L@9yrt^rbI}b9Q-wBq7z5L>(1qtRT5rozCZT#9-ds
z+^`$B(AIGtQ0;(PNy96O)FAaHmoCdVRJtm|)}Vt|2vVw7EdajMp=lS+ki|oD#%UVz
z?z``jr4=*{Nzs&&nrYXSSIVL;!r%jwzohs6#IDr}(%nQ5fbJJzEMFR-O*ctSX5|dd
z1r1Hs<kQ-MtEAGk2a6rh+8aQK1Ehi}F{4QQwO^-T244i@Cug^W-vNovsqBP%pz>WS
ztzh8~akP>Om*3bE(Do$)q!b^Y6enxCiB4WD77VA0v-9=+`fPs2Ao35@5yO;)3rW-T
zfq+S~>!0zMW&WpTpAj)@fR~z%(Is2<u3ozBcgYCqYa<+DHpudK>lI>}8nl8D$OOS*
z#uY=Z)b0=+dpt4KePD5ZL5h}uH5J*ktsq;dlapnAO5HMSN2^OwqjFo7`awbqk6Wlq
zp7idHaaf83%^(Pq8-ZzBs3AJygSKSQ_CgJzdZYFrh?0l~G2a_R1C<4$d+h@12m}OZ
zsR(c~LC3jN3762Q011x~Vj?64ErPVy-k!m*pe$%CJI~OQ+>c(pJ@o8nJ0GTA_@TbD
zE-8k3uda=s{~Q6o8uB+%5qbU&VEffqH!~nVWiu1Z7q7}7jwGA*z7iqd1f(~QZg1~w
zDf7LG?-04ru_vOjR^7&zj<gyN2JIm($&D;2x^eHd(X-R@E#_Sad=&oV+JgfDAOvM4
zGX?^rSs>FY&BPv4J3$<zn=2v>gTF>_Y`eM#(Ci2p+smcxGM|0$;_~tVmuBKH^NqER
zh6xJukkq!xV4}}|vYoOz=$Z=5vM!lrE3Zp<xsa2_0kl$81Wg^9PRIbAL4!QSBpH`>
zR~O`iA&~_XlbWer=<%f`WSPv*=-H`pI22twze<olq|xyG@%$)|>r(B#-Wg;6hG~qj
z*0fi4dRk-jyxL=-QBl_C#SX|$wkCNva#e~!_u_z_r^&0m2hctDd+qJ<cgKOrayn<t
zQ7g>n`p8?fPJ)K*7M~<)Da{PYQlx2EZmyghIu<v&K!j4?Fzx7qMm_LK{-6nc`9LGk
zs0UtYr@<aScUBSOCo4jq`g1*zjkLj**%cn}1*f;!de+w>`{3`XEXby2BmYJ0iDx4z
z#C#Mp(w!S(E3IP(S_ja|>cF(7KKR^`5D*b*<7bFXM+c_PHtfufYY{C^#L0wCD3omu
zparAdX7SK2^{&XAz27dIB2>h+om3DRb|7RY$J6#44v7iSI)GMoR=;u8@Z$mB;6wxf
zg(BdTzTl5%l{Ro$iIwKqHzRjJJ|HG}V4BcAenfkyN?qBE+8adyFD%G&p%gocW24%k
ztw)q`sAx9ZzJE#bWC66qGA8$%`Q-lj2hScndGhS)da<}XJ3oK^?Acq7pHSoV%jYcJ
zv-7jb`T5Oi{ipuTKl^<@@Vn-x_dor!KllIm(I5UF{dfQQ-~4Ug`qeM~((3;1ul>YN
z{KdcWBiFaf<?V~xlk2;aJO7oyb8ft5wEkrCVDjMn{QTXw-(h$9_LHY)^TlVs>$~24
z>+J^*9;}ykG6kQyUcP*J`QZG;i)Xa#;^JaDncuCJw1!q71I`zV4?g&SKB7e@YkR7f
zO>b$84@>x@&^q+oo=rNiv-19uSUntc<R@7D09spRJMvqtzWUX#5<q)j$9(?9uY4JT
z?B(Sp0?6Oq-a;?!$ww|rb{I`5Oqz@Ucbv=R5{@;%YZOry688j}v=q4`=7wFUwjN5L
zIe;cL6~HWUh%dt6?PB)fk2T+q|8VBv!-pO{J4UAzrb^);FLlL7v{?)y1=W7?De)~G
zYLVJEuAMMW?GdUo(F*R(3l-L?3MkBEC)A<ifE&oZih!5_aYz+ju<{QA#1yBX+&8sF
zdP7F$E6s=gN(=l0SN=vSFm87+@9iU+@{x>6^$Kb3<Lq~dH}(|&dVOZc(96YaZZdXY
zO`E4su44XqaNJSf?=jMic8rcZpe-%V<AUlH*ZAA)pvcEnhy{_y4{7kH3-g>>7>Bfl
zk>)KbrS9++#`44B4C9@iynK0WghR7f(DenvbSs9l-)t75wpYkXj0e&v4T5o{ij1xV
z&7Dr|$Cd>1(g9rsTCk88Y6#YwLJc8nV<^sJsNSf(=SF}|Dbx^+{a4ySKFi>CPeuH&
zPc}f-9}*uxeEM26h<=Bo_+ZWA?jXAd(t0IcDV8fb(B@G%#QvMAH`~emxW|4eI^FIo
z#0izABWl(@dyZ_#K<uvT$kS&ao7tM^hTl{d{)hlttVDyLn{g|G6ajIDIGNARtf*WW
zZ41Y)#*LW4@oJ20p@vRoXEG!+b~WpM81(G){1HMci2d@1W8B{0jOz-{;gD`t9M^aV
zUZd(?6&&m5>057o%5}Eq>kMBw>y<tE!VY+`IDhf{ioGxUVFYvl4UhqwjXp89y|p$s
zSU|DHoeA$77oQja6+|o@e0ppb`<jgf%dQIi@w8kaq86qca21mYQ$X6qfx-6C>8;>F
z$d)rOSE#1;c9T-jvvVxol%0<h7VD9p`#tZK<~Z-cSY3+2@7dY!)gEMnYVT2|dcv=4
zuM|T)<i&~Xm;lHygZy$;c3?qMBnu;mnY<buKnv3Dx!*B9aBn}%f-M?Tcbt1*yZY(_
zsxUGntZ7<Xwy5)e<d1}D4~kYn67aPv-E36A(Q;IRkZq3aAC1?u5D{pgjy@c{+T$Ry
zK_kCYT}-82KdWL`sKi!&XxwOV@}Zk<AceFC1A|PM(gC!xL;L$MmbZ7dI)W*J_BI?L
z)8hkZd0q~Y)3K?DaheICIe?Bd69QR74G*MJ5zPU#QjpuFgX1hf3i6n-?|OTYDUJ@H
zg?s=VH;`s1ML^?6*+FE|Fwf&b2hbAB2j%$yI@%6$TS{MuCgTuCZio&dKz8Q=G(~X$
z9h{P;CmnPXEP9@vq=WL3s#3E6TCE<$M|^L^%-<2=vX%{6^KPt#`?l#y2hh;mP07v(
zoAu_7qVw~M<=y)BcFp~gy(ohvdvbqwcXxhy2E9Hxy?S}`$Nt10`)B{@|Juoev%mIJ
zfBWD4k-zu{{+s{9hpXlP{NMPW(of5ilRxm^_!p*=$%E6=#pHfHVK=&7El*dg&DnhM
z;>9x@`1~(_@#gmK=YR1Z+}^F8y}0_N=U*V$kLOQ6^DW={?cep;Z~pYB-+Jqv^RxNg
zv-d9-^VM?m^5sinaPjcL>4~5G`ueb0t*)-F9$eT>-D+i?Z~OoyADjtl_{z`n@?q9e
z@(vNY7*Is2qg$XNFr6)QMgvVeudlCh#{4-y`^s0ovUEIo^2DCYo=l+GeiJcPv)kL-
zc+%6-xxbpjx5QSTgGw<DQ&}DO0^`*2V>;>JbzLuraGC>X`H4+LL{qh@!#DgPC3|^!
z$s`394j<CcT7D^&O@K)`3PEaSop64U0shMGA`|{ZDk9ranynR-W^Fmj;+|+@mD~8O
z9i{mIn!a|CR)!jb&RDS{7)k<!^+AOYd?Q8&G)fs~&NBobocgc92gizi`@x##<ps{S
zXl~ZGTGp%^y>|eMqz(0rJyuW8E~c~PW=WqFT|2v^7mCBi!L~AKzbEK^#|B4*$s?Ga
z98ZVlEN;#bKc&q9bRgoaq9EuapaH2=J*xwKAVpHiPp5XgZUPBp>6U1cRD`Hk*?@gM
zQb@2Jt3%0BHR)`+peO?-sXxwDw2(}&xCvw;wVAXF^i83*Fq=d}nFh4FP($?WYa+|f
zokRo4kD+?imJI40GcgV`_)!;}TyJ(pGy*=rx6s*g$bd`(94IIQ!36A`zz!@(CY*T<
zWL>Nks*gitj>R~b4L)S0J@xvze-Q{V0vp+^>&wG-Y6K*&R^)inLy{L>-ORknI{-46
zt%+uAKm@`u`vQr}0EUeSI9wA+$H?<hk|Jz87J~*6aP0Fze_?>xwNYs`QdF*4<t}v_
zTa>~q2pYxzFMEFiFWZ)tb)wP7-utxo-fVAX-b^wROoS>y6brNj8$_^sz7ji>LZw7Y
zL`788s?yR@>XrKR_e!vy4O&(eWs4nZS^BGI1Fs%7AiaQ)31oZk&D)%F_TJH~h<N{R
zd~?m1u~w{oBF@<-GqL>cJ!6kK=9puSIcBrwnz3R<{AtblJ@>iSiPD)8$)677QceFK
z8#Y*4YgbW9GJha!q%760@j$p>S^N?FITpu`hP>xI5ITV757%WH<5n@7Xw{mXsgA3(
zQ@OmHPsZ8@BS#}^8kB`Hk@Ou%=%yO<b-U+jgQZv?whgg|o;)D{%5~Bg;5w|^=@GTZ
z)7JV_Ut33N(QO=jfhZ^nuVVFf7WfLAH>TH!R9E0hA3%5EN!vdP+xXYWNwUl|(B;47
zWhwJl>$lNWZ<aSI@^arszA!kMnTDN*;y|@S&^BdfvP-3J`0u8<A(_ucTGpIQ7KDxi
z=vt@gjFEk4peqgyc}i+JYe&c~VldJdko2SQEDYRSZU56IM$>$)y+*893AGPua%sOd
zE{Xy1TUbp?SukNFZc3euC8!KSLc{-uLXFxja;$}`ajdm2{Tv=EK+WWU7#6l+In={1
zBkL1rGg)HByDdvV!HaRS@!A2XfzL&<mFu###L29%?dX6RXerMW=)3DhGBcpm%<^)b
z$zzXP`)olzfCgFL7EFQVISG<NT%EIWW}ulVBUT<3OS{(3@+@((M0s!wR5(!D^Z_)W
zQsj19d;pq2Wxo-J(hi!LHheP$$Uzd;F$6y3O?<5bu0DWvG<H6a*cm_aA8(}}KtvHU
znHu8bJUH<+#K&{E=6AB{>kG(rAj#+0PFt91ne+j)`P{R>5#YutQq5eY>r$D4u9pkn
zhm*8^zAcwt6YE)}_aM(Mm$z@<t!C@RYIW<*?FZ-Q!;|sF{9-)TQPJ=J>fiSh-}xzT
zf7{2s{w;5Lu&%!O+y3>pe$V$_R`;LnO}^k4{@i!G^-ZsR-7^=L%VBSG*6U4}QNwD*
zu5UHbtDp76Lp41;Tg<ER>FI-u%id@_t5y%rXYYCM`+n$0e)N4G_}~wJ@O_uP#oJ#0
z&QJXhKKWBW`CT_prqijuXkRT>%jJ?GsMFHTMttmPM+0qNt7<`ez5bL3&?WV;m-e1@
ze0%`yTr=K+lZC_w&@>t9B6EGkzNZJAmrL9@KR?GgvhJNfKyvTiJ(4fH@B;oU7K_`r
zZ$Ef&F`4KL3uV878f(yHyn-M@6$i?76)tDx%b>J74xlYhs1Km&ZdzfUdaHONEkfwY
z$q6ID6bXf3(D7(7`~;{`-khMEnd}>JSXVpptOhc_bFf}8Py?O;gEf#uA#9A>^5C21
zWVP}Dx@$jQ+9|QDPe2<AbbpqVS@~ev!kopej+q9QaloCC)~w!!Sxs3`41o1O`ynQc
z0_#4aXP_i$uYRXf7vhRl0g4vIbHpeQF9m-I)holn2hhIrGV1;%_?X)2VmxtmU!<}D
z=a%ES1l3v@1vwdNNQR?HF5+>B5G)p&FC@u@F$MkNiQ_{Meqw*yIy|M4f;J=Iib^2N
zPdY2a0lbBJ7&_|^&@qYILdB0V0;oE1yU4)=rB0XqE;|kVtY-Ud%h0@xzyoxE7b3%@
zEYAmgS!jwe7jFZFJQ&QNtJ*YRxw+80w!LDIE7SYnimpJZ5dK6xyRbYZTCutoJPDfz
zp?$=8B{r*yBKr91VN_RP_BzFSShlgNUt0Hf4}onqIuVMzQJv*n9?e(+%;zEGQn@VG
zQ)s(&<I&V@+@W!O@j?ObOI+6hw2{|a7s*U=pxrz5s&ydBAUp{)f}H8G^<J%?g9EZA
zLO{~UN#{0TISNh!^X~Vy{AxRG<f_Yxvhc})3KDl1j+^b+fBNa?XoH6-?a58@d|9u!
z42)*81)E@!jQGe!D}^8-zPheeT;DWYMp=C>%@u@wLQ>fVtJMM9LC@6E0rZY>L6%(w
zRM4J>Qp`qe?a&XTkK2?Vt+8d7aEtP0_c0;kHKMu%Egv5Zl>U6QfDdITjD}-v1*6M<
z%ga*cud%&tQ&iDqKYNlD+8%<O+mJsLUG;XM;ZIJQ*;~6ec1)#`Z`51(pZ@xf5EreH
zpQzfofLUk1|6Osg16QCKkae7)V{F(P>8GeP!#9J?us0-Uu+h&<A%PBi`pNcaW~!p}
z!Oi#jux%{*WlKR?nzkopkxT{yWdycpx?Q77Zp)2al3j7@vU4ns_A_p<otvo{qvYFY
z=Qboh04iYx*6%Wzp@X$r=mW<bv8=g!fY{6h@VQ4V&$%8aS(xRWOfejC7Rck=!ZHgu
zS#FNgR|`W>J^`Hzn#oC{OeTf;Em+XZK<$tDa_s4fT|))xB3W)p$rz!tMJ@;}ZPG~y
z0hJ=pJk<FxJ|Z>mrO8R#F`tV-vmKH&I5AoQw)&<2mYerGpv@QI*C9ACzayuYc42wD
zf6c75Af=>{l5qfS-fb}$aEX&|=~M!>crj~&M0Ht9LZI8REb)P$;rRIA3D{=Ji>l>(
zF$Sbm+u2l0GAS!QbYfq({{UJyPh&kBI~tu#C#RRQ<>g{|a(X(Lj_1qS$;tG=`Mq_u
z{LBB#*MH_u{wdGC{tX{~>6MeS8$a^=hra&rf5XrJ?9csz&-q!)doT9~i{)}YoJ@PG
z^=L8QtY+)Mk~R+qXMOgftNAMSayr@UkMydA(RkAz3`ZyAZieIKYV+!=_y6q={ouEM
z$9MhEdw*!wyZG^MdDo|Y>ZiTq9q+h%>nZN{mP>tGe||YzEtk{r`0VU#cJW}bSd50-
zV=U8r44s8$^f-5bq~FzB!ncCt62p48nvXDavcaF(jA)$roz6aqzL?M0W1pU$KL7ml
z=s$Syfa3S>-@m+^6L8!n7bnpt7yZlmEDQ=!!xl)~eN^eBXuLHtDc6U0P=9H+=9LLZ
z_J<>%$*QmGC!pbVY9Ft7rV2u5UiwiZ3IHbS=lEc%j8r~IQhjNx1sFqt(65~j`(^-c
znaL6u^O<QMKs!lCz(=9xwcc_lE^Kv@n@!Xm+C&vy4wEey*3QDMeg7$Hce3jM+M|n^
zo;1_iv|cUKyHnN3SYx9j*382}go3S_Xi-r-8^@9n9mBF&uSf{}#`ByM;CA7Tq7<~u
zuaECjKY}_>{*-aEeWUDa!?|5?-o$wJ5GCnFNi$`I^BP_5XrL<BtUAd~G%JB5T2LD?
zO1_QolmEA#Ym3OvleI`q*Wj-$XqA{R^-A<qUxDFZd+?2#0q+kiGb{uYF|z|zSIW0#
zQ^A7|m^^LU$nzBJ_hA==I&r(`YDj8zAuKfk$t=-&Qh&hXT=zR*Nhj$n7cm-1+=C+A
zS$_iNv0)u-VjNf=x_i)-g^}zJD19rLEH9O>sP2*RBy1i6ztg!Liabu7tQFRNQxU6I
zgNFP3LoG=XUo`8mHoBri;dQC)zsC=JnS}%X(cqjk1Gs`GZWqI`ze&cHjCL{D7&eK<
zp&Tt`G*X3Wj4M6%jU4+?GEiSO1H~M-57|jEu_o-sD)Z^Y>~QSbxqg)P-3rrV>%CgP
z(TQdd0+L2fI=2DKQE(EN_c(9MueQ^M9e^o|XW^3r4Nlx)*uVOBqj>;rDWGW*Gyn9c
z$Z9y$x9Swlbj?dGCpYP*U#rj#kI4xlYt6PkD}!KmE-FGX=wte&WG)5p(4}^uN@;TX
zP>8a*2zlbea#Hp_x8q%7UC0KnKxyPjA3z`C&qoCf#}w{kT<z+J1C8Y3S>MdH^lyn$
zKO66AEW(F6a4cL=u1*)ER@J3rZ3mbvP_K-c@AltpVI(eKegb-TyKH`s9kAE_6~OJi
zMTTp(^;)d_7I=6ljfmFpPtA#fiIKR4A}q}+SS0Eu<<p0>hIlav<52OS))Aa_HM(?c
z=MW3V;hI<DSUdS0oeg*(frlErT7h-kOiQgR&f+b}2a6#41M=Y`h`Vi}VV}_i&B8X*
zKq)tGI*bFR5|%gmH#4Q2OKz5@L)B<>`2=)UFw;n8<Yd<?IG|=SEGakiq%yTXAx;vb
z<Q+q!91o@EgvX55och3&Af()Y4@#Z1oe;<lge1s=&~h`Pb+?n;IgpJECwC5}qj2Jj
zaZ<L$_Ko~1jBGjCtiO8fWTu<pws2Xb^ud4^A{2)AG=_fPFRNwc-Qu~uQ2Zf8juP!6
zj6em7A^-(TEVY6Wf;E1w*Lrvm2{thTPv3FF9|}9*E~r{9CZ}h!#d=w-r>8gd&WgeC
z2jBfeKm5b*{(JxQ@AP`hPyhH&`*H7h=hL_DJpZ8&z4_TUzVhLh{`x=so1gQuf6-_E
zw4XY;d@xzh2gB96x4K+bxO>*yj0Wq~fV;iTdNo}2`q~A?d1#yh_ebN2`fxCsp|3Xy
zY^vpYJk>ML=NFeBe&yxw`hg$#k@vm-yMOR|XT8~{z4g;R^D{s5EpK`5?BsN{tQL#K
zaz4{9uq}1S%T5&umT3r;sF~g|7K07Iue>)lcEYJ#-wMJ&xob3^p+j>l#A}^lh-wwT
zdp4YCgME2<If<7<-@JMA<(FT6@ZbR(Z|HKlytud+kH>!T1q!2y4zS!!VK|+wfV%I}
z%>WY7+AARrSOJpyt&!#}4#a$^`J^D7wO$;Id+;zc1cx=Y>UnA%hY_LcHOgzT4I946
zhk*`y8n;f`AM?3UAx})EW=e@|8kUp@-DDpi*@<M)-qf7|=bEvkM9QkKk5Vnvu6PAU
zmh8y25(uRn4C26|ukV5ShA7=<p+pH<LCotzIVL<?7PfXMP)iyfF;3R{@muYh;{6p%
zy^8}r2cbO9ASvoZ;f$l?4PX|6`T*L%5P5yAp~X;0HVfL1cXlf;OX?m6rKYi1$!8=U
zgz!+JdAV33q%8o(JXB8<h6Te$K*8=o>4T9PQQWaQwoKyKmnL~sA^9MFa{@ahkg!Z;
z-Yyw_WdU+{ammykPZBoeeq-C1q~F^Ac733dt7{<Fd!RpEa(W?gHLRJ<Hj*&ys*%7#
zK^ox!lGwN0niO%rYg9yWs9`>9wvYx7TsEEy9*$DKtgFk;Av%wPY_rjDw-j^-<REnV
zT#vwp0@b<3OoK@W(9#HWxt)>sW(NoD$Y!=)4P@T_WUmk!gTB^h7y_Fq67QFCsmyHO
zQL>B5Pe$(oiRUl8DhsDPN~st=iFVG@wjP?%#iKd?>nyOdo?Jh+ZtP;$pC)pt%v`O1
zIBc-A)~=$IWd1<dNLi{~;~`)mxkzacdaRveu^mZ=fz>u~hatTKI<B2+ThTnd-)+#>
zb)7XFd0gW?!L}g?Y-5p&M=8IK1IsB3g#J#*3Om~E#gD-3X|>Cu3_PoW`eieR+Bjv+
zxP(YC6>(71;;6KwU8t>Hh0?<R)efL(yIpEH))mz!;eS~dYcaH}#kpPnbfL@7EH4eh
zxAm=XjqPoiy4rGXwV5md4iS^6<h!j|zHO|x6kR_;SnD^@W#4YJ(WO6%2~2K2fY$UM
zY;<A9neBW}3@SmpW@XkF=ta!ye`4j8LP%#Wg-tYa!Q<L{AaZ9NXeX=Xf(>-pIo3}f
z<n2Xi>I$>Y%KhHZWWR5wWnpKE6}%WH%LC{#4&^4b>qiLlfnye$@dUXVWf7fD6=pL^
zJ8gv|2^I4`48?PjgE+cLlA^9I-i+Y`XpnVG2}PC|PUctvQkmw%Stm=zAX!F=-9qAa
zJ<kWw>Y(D8yObL=A3%dL3p-hk{mf_I0Lwz+;ET3&{RrW}r#7|aEYIUX4it7KzC$Xe
zr_t_TQy)N^FPTwm9$`Utg14H|Tm5ZW%K^NpTUtt#UAHU4^3r+Hx;deuh9tSD4xm>n
zo#~Jy=H$YIy$8^Mti@(EJh?F+^uO!-e&EmirN6M~Rj0k_u($r1pZ-%n@#EilHW?Go
z+3e!(-Mc^Xo*(+l|Jz^s4Zq}zKJBOe$FIEf;@$pwyk0Jr544U?&(_syR8^Z*wHoTZ
zHtWrV{h^=D#Es=rXSkJq+h?#?RVODW8wNr+;3t<+TaCu|*Zto3^re?x`QGpS-tYYO
z?|T2s?|;YZ-~J!}w9k6(EpK_v(@(wn@=L2_#T*%r$JKJaS}ycFbpv5GH=Kpb)Gx1a
ztn#&jtb7264yxvXOD*Ey>Fn(6{QTSxK|}pm@nW$UPE<Q_zPPxU2H0|=iNb>i572>P
zgk<t3>J<|(Z<nB~8e4gxX~svi`2gCI3?l9+#x|Y-=LZa_nm{4Pe{|sSB;Q&C8LV%)
zftdOO8{ie+xhTUV6bHUK*DU<Onv=BGj8tkSOG;|^$?H-A53(KL2*6~C86T~}3p+=R
zNe!fQ-4K{0EZzZXNQhdTmYOdaA52?PQtZMQSx8;!g&2Ygq80Jgk6RLc7AG30o)DzA
zTF#M6t6s&TxL#dGB&zuBzAB!<hgWdiiD5JiuYeAbYd1W?%`*ypq5*I0-hvW6R(a9j
zDYms!(tfe7me#s}4~#<wC-n02k|NO6y4Pp^x}vZ{6krsKWHTkRoJA(&36=xv=j0Z#
zlf<wUpb;e<K<755Qpo$8(KvqEF_0Nxp0z7i5zK~L=CV?&sgAZMfj%p={%kE9EZT_^
zG*klmtS+&;=(68-J~MmKl}k67xw?3U)u4@N#M+;pO(qK<w3-=Kj5vFU*LCWHQoX+@
zm9K#$`?Cv1vSJmMwpGJm%6tP^r-3ZTj+w*p2t^)>(q`#%*{-g(9D>q*$;Wco3>_7D
znaasbdz%#<slNpUTAFH<_K(MrZM^aT+9+L}&zF8eIRnj7*?gAdS5!3`#e$5)ppO#A
zzH7)jpO#AGGCfKUL}!qdIJI^=&Xc_UNFcCNDd_jKK9m;BmrZyal$J|eZ9kXF%=P+H
zTFa7lU0HHCT(&IOuJI5&Le<xToq=@#9`^v+Qo!<ybU4r#@$}JhECF0)<EukSt=8YJ
z{*e^mnI2qC+0%2whXT5d%Wc*VhW{mr3A0tJp-YZ!LXD8Gm#a&wQpB^})UsL)^GTRD
zovJD^wN6I)2~v3%+kqVmyBpSwR*N1H*JbCr;I?P4VA}C4C5^T6p=j6#=1ZH68m&;O
zK}!p5l)3F1OEhvblPhu(Ty5uAIdLni$kh5}DQ9H{nk4{DcL7rgn)$AJDG_vQ!56SN
zh>R;){ngGuS=A1@?eE9l7J)&mMMJ%ujT!9)VWn+&v7xLV;8D}aElp*<wke$~RJq{2
zI2fUcisga&COPu4AR`SpusiUAvo*Yf(#hJgP|LAKw6~Prqxt6JcwO?4>_=(;5R^WY
zsB3UtqHW8i#5~rraK9&5i_nyLr4RHrv~AhDF?i5Eh6Ad4rzzV+)&a5-$U-yrp|sgh
zXfXLl2(Jd3j!BM;_&S(S`wWGRr`VFj<D6838hd!X;<Kp?b-hN(a|@Q$%$T<)S(q8e
z$2=|HtK+gYbS4GKm7-Jfz!7vZQ&1j21M^uf1SjF{n*mj4%txuz4KXbbpbeEN#)D8;
z8^>3_&7-VkDE1qruw=?ta9GpH_O`+b`QRIDx%%K+R%&a&Ss;J(lI0HRDBceUEU^NN
za}8w_NtB`1#QoJ`=~FEVTa6Jo8g0L4T7q?PwH}<@y78fxUjDs*{J&cEHlOoTKIa`D
z_m0h~I-Q=}JUh9(f8JkJjAsm8Ea!ju8~(>H`9;6vGybEW^zv-pU$0Kr)#<2TRrCIE
zFpGB?jH``&ANKKJwHmSLA*|wk6!-7nzj5Qna=ARYafYOdC*2JHRG^stcs@EAOmA$~
z)ucaMud46;-hcDYzUlw>gD<`BXMD!ze)ea7_N3QaUS29nz4d(dK(FJN=_~W)KGWw}
z-hbwE4R{~jI#wD+5fJG_K#`+{SJnY4LP0uZG+NB{d=t)7Bfi@pLB@0B)S`fg5i%WZ
z=)HUQQ1+Xk{icq5L|cMVrevT458Z^DVrog+39t3m$()r9!i}bSw3#GrpPrs@#b2%}
zVvc*<9;0)5dI}FiLnvz_=u@@*FJAx+N=IGLux|<VwH2)DeguxcRq{=aB_++sWmCGg
z2~rwKS#Q7!IUu5ua7Ycy9i@gG#0YIbI=StnGeZtDJ_{RE%NC8OkB(iJ-c+vpDFq~;
z8BUhQopj;}Y<;)H@1R)gcXBXT+YBSIVT*T(R#in;E*1;us;cNVsmY#)Yh6U8nj_qN
zT#XcJ{u+C4LEQ?RbKIP!^^qAUW>9Gjo*o!%)MnO3C}l8ld3i}Ll(k|xUrbJ>o7H+a
z9_bb9^_h|F;6E*`CHxhmKarJmV)wySp!QR*8q54vE{7FQ!|^dZBNRBGE1Y})tLT?D
zP>6C{XFw_x8*Ez$ozx0tHISZr4Ck82BhDbHAk=TLI27&L_j^*q`duh<uh#Se0;tY_
zkF`Zd0W5$}gh*IP083CR86eA4^QYyr3!2Al!Nf+Z)>ZY98^Wtv-G&RA8rf9l4NFS<
zWo{P^(J9fc(dd$QVXMz5-7qr}b$>ahWSDt$g65>=u4iz%TWM2vpLCeZcA-&=r*<1z
zt%ZlTF@v#VJ35uBTWVfcaMnFiA=jE54^B)bCn^}Fpk_c`f=sjAAG{ek{xJFaXknr~
zedMOU0gPaFFxFhi`XCz@%CjunkL9J%fkAE>E#0+XKKu5V*zv7Em;F3Xvx1o}JIA8k
zx-5YKFou)XX#)jlsZjFHHQJg7!bMDN#9k@yiDCcj>c-Ir&`;le3(a8p<_Ze+7XZDQ
zMBkIitpWQ**=3-6Jh=TON=c4X0GD)y@Efw2sG2jHjVW6ds4N!})i_F@(5m6K84arA
zke+1Bqd}h-lV+<Q-p0E);@xH}6?H|3Ll<q9i*3_lpQS27vWmNo-i93=7di3CH)`A2
zV407MJ?N6ROPNo*-6w`e^Yii1Wxos2BimAYi<iC~Yro5~>)i{g1J;MS_B5gnMwg$q
z*2cB#o9QZ^;dYg3wrojRizQ4Rf*10j^&Gj{pEB2cS!0PVJ41I@-^++t&;8slQE+<$
za4fu~Z=(Fw!ClKCPh+E|p-^1-Yea-m);*Na<)q~$m9=8Ka|LComVOIe{^z5s24b7I
z2WgxXp4g!6GfRSQJ*T6{;u1j8h@`f5Sto!U)#$IR8W_t8<@!(_G?yqPRFSv>7}PC$
zO6|byvW09%jC-?%Y`;+?=7rFZ<3Bvmu#F=FfIJ^jiAoV(lpA2HNfLFbnAlbO>=Mu}
zXwomJx~U-v22<u6D0RwYoEh#xJI)R-S=oQ<4C_})z`F^lY<Ot@m8x|T({Wu;FzRSq
zXc|uzuid&Vm#B_^zEw}jqHI};O#sv=W98F87?sqTm-s9PZYfDUXBgWV+ca$)76T^%
zMHrqE#mM*360wp_9e>^B1ki_8vHvk|%aJL44H%EKTEVOtAn$89o++b--X5z%7lqD`
zJxUlhX}UBbiQf+IdNf*3Z@%~W5B{OA`LBQV&;6xuc>OasM&s)80yDF<ex0W`9MM6e
zb?@fQo8R;9?|=I4t<V0{AHP}57E67IIMv<@$MrLJZm!1(JRUL-!krZx)btB{(XhVm
zzjV$n30Bsufsw1N=Wso_v8>iNCjIs0gUM=f^VXf0tNvg5`~T?w`0nre%uoNUU-1in
z!R+N%P6m^EFTZs2_E@KTn^D{aNAVbYFi<~Hi%ZaazzuxEX5b+3N|k+p_poph3;qMK
z(A1Vwsd`TcOSot+pn;4r)Zp2uUvdYGy8)7pzbvqm4Zz2@33W^0Tv<+c)ai1@ztwu_
zEOb=waKJ5qjw7)U4?e?>M-v5EYkhiWrIa(mS-09imbjvUPJ-QAl-iS8XgfsGN#HCR
z3nkCZ%rtvK5|{@}9y3-0=1ZOIIqVLjRVOVM1J;s&vw}+E>0n76Rlp3;YqE)6nkF&?
z8($~Y`t4Ac=kH!c1YK+bNJF6EK&}&j`FM6?%(cO{X_J%bVxdnXTwPsCL4pnAUTadj
zO4<f<EymsU@=|Kb?zWkNdH=|58xH1hFm~HDa(ey6s*3A79%@OZ#WKskdj0YEw}ps9
ze>|FM-dCIDs#+~8C<{p*9w=kkzx;u%JUnc~Jbeg5r@&K-g@D>!wXPy@(3~lf@NO%~
zbT(Vi6pS?B8V!<(+vN{ImmNZwxNdZn6}(&9m6!U5pw#aw+tpt5$#SmS;$+#bL;RsP
zr_)o$Kgu&YW3hno;Moh;*hWWP8WCisRDn{zwAo>&6YJRRv{CN2OPkx-co;O*!o5br
z8*-=_)_-Lm-jMBw@iauU*c5A6fNF|`)8<2yBy}A|vA-`w***CkNXb~U+CU*M!d`6Q
zS(gWcA+tDJ%S>YkW&5lzT7USbgDl#JDYbVzp3>sjj$uI(trspB6RiP!u+0WNWL}qW
z5f^8dgxjN0{5)Gou149#wh&x#U)c?p-Il8P(&n+~DqGg_IQ9=g+2%%k+DYMnIG1Qg
z$$Z(y5?y^zTIh;Tm(C$*c$Jyb=HsBt&dvdJ6`zOasS<Mow!c~HS5T0!(f535G!>*o
z4HT?19BTeAmvbl*G>7b|(>}mjHYK|frUhkd&`+RvfsV}rLm}kxXBkg;agS7gQ8XRz
za932<!q%bQ<}%Tkz!Xih-U?yAr#7PHBB8HENva*!jJ<I2BXH%ke|#M6&lASg{?vm(
zFkfC6%G_hy<+6vDqF#ys7lD?^j~#URgR3QzlU;C}OEp`zq^!jfW)767ge)e=mD8ll
z&xiWoz)(;A>TUpsJv97^QXgQ|rM6?H%l;#y!(cIs<F<;Cl9HgF<E(9KJ<GGFb*VAC
zV9`q(6fAg)@KA~!XpM(9pY2EDn%LtHD1T%_hy&=lmOTStkUmjw9zYLw4*JuM3RHzZ
z46ZCM<5M1*XNAmwl5b$_%R>uplna)0P~R9hX|<dzsbQ|2Tk6<IGF9p*Z9!^#LhTzt
z*#2};0c)Ah9vb@GHxwFlJoE>>3AuQQQlC+klQ~wPJ#KT_3c&id5C_D&h~b(KptEr&
zeGr_JnQ^@&WVFy>begdQ?D$iRC^Kae4>Lb1jw;Gh%tt&VsZ-C;SHW;5d!FrVVs@+t
zX?UCFQqriIA}Q)v$ph_sB(lUOAEBnUFgo)MEdn&lT)YBFWMTA0Ef7fBZ8rfp*L1+n
zkH*FH^objc5MP2O6pjW~kg;{_O;10(T>p+g{JVeFPyDH$`bi(ZI=}bYJGWNxGkUA>
z=+*Pt<m^nx!PAphUU})yeZ!ys>fiNWz3Jv@znXc^=`U4p&8j-D9wCg=DIJQ##sPFX
zY}L(I-RgMadlOGn3cbN-dUJMh(O)m7{nfBqQ2WX2-uP0r`HO%1AAIw7f7{Rb$v^8C
zfBr8zf8oV9zV_)4e&|O}&!+1I@zkY1IT64(%WLKx3iEkAgqAw_kXl*%D?$y>42gIP
z<+e{8vEx4>XTHdjxaR~&;A!+=ta=SA0P(%ed_KRtyqwL5YFs5p`nnK8)s-$i+c~(7
z-)<43o9q}ZaiH(R?*34x-lL(85lQL#6?!{R>4YQ+5JzaP3Eqt5wIod(OMuKvCo3dS
zJJe+@&(x4onXJbELYH+ee3m;JhFVvTI+|$);b5%`6$wj%%4grEB;odgjtxB-=SY&y
z<1<~xMNmeNpnP;=g~3QXG_M<_P?8?gkM1D;Ob#j@4!F(Hi%_bn8cy`gkS14s0PQC5
zFX|EKvBcHhme?aH#zvW2j(Nj;e#H}LSi>1+2Tj0LHC3OMt(mjYF3oEsP?y1RSn@0f
zZqbADIc5RY%8}=?^@kZ@CwL}@ivtT0^Up_?jt@|ozTS?cgcOrAnP$zXSBO-9Iyo)X
z%w!1~PG*LJW*W!^uSQnO1`kA+{;_sS9O5&5ow!|4w%wLeSOSH%at$sMdJ7P8>eBS-
zwgX(e%(bMWUpxRGg3=|AQqb_Tk<7TR1L!XMM!UV1m@nyYw3QpBeokhEdT*oa5q~np
zPA-Tn^SR)m==ea3IA>2X1Dy<Y{AyT|8M>HK_~7LcEVbCGzvSXB^+1y80+MhAZUK24
zNxr?}?SXA(ki@H$*hND#!}}k7oF||4<s`pkh6!VZD^S`jThUe5A?S+6AvT|cKgWUr
znz&Y5+HN2@B+eylvovMCD{ft*r?k*jwnV9a2#)phSakW54xqK0i8~5YBov4>TKj<Y
zN>5>+O|F*28a7c*q0(I|#79Oc>D?9Ju9z(p1*4*LrBBK99ihTb>XgW}xSr&cVo!sd
zdn7*y$+DySMQx0vKvp0Ycj|HR{B5t;&^VWAEYIS`CX^_f+$#@s9tw&i?m%3*V71X@
zKfB$)(f&MPT<uTU3iGA@<F_SS=n7W`n#D*^skT3dpsS)|?L2b5X1d(SVD`0jauCYe
zEn#jz$q(7X=g6`Ccfn6U>uxOW&43OfiVJzTx1CehRc}VaAk`I;R4)?Ue{YfG>)yai
z4!px?3Tz}NGq^L2zgS?QW2M3_v3DEA@6xo9GD=s=Rk}pogC+KBrj=^9qbcrMin>aJ
ztjt<n9i^SRQrwbcTf8`!&Ifr7ln2laWIJ8$<)(96SAn>+3C_(r+%cEQ2C{t1m=;FL
zvL$bDQGzDTh=zF|IM)1jyYE-fI9W2;{|0=60kVaZOo12L)-sS-So-5pYTnc+Bkrqt
z(uum9%!i~QN@FQ<wsy)<5wH45e5SzGEy)aYv^$}oE}xRo`{oV%2_tDSHb%wx$>WgR
z(P+drBaP>^zT1`MlI+&9i3aXHfcE$-r@vdO{YE5#+vtc{-=6qT-q_T4sM0A~=clk!
zFVt0=W|XUq?Pt{bdIDDu1;o^?XR!d!ZIE(<M;QyN$@KmAFaN-w_-{V<r+n5={Nzu#
z*;_w&<-?1rx^e5~e7>AcZY&nd!DKuiZ2t8B^r!#Z-}U?6_|)z7?A~ClM+Ycw7i2ji
ztVE0{szqWUajvuU?E&_sabCBXS9+3{1_yEEfF4I>YOo1q;q8w{_a5AzjHaWL>FDO^
zU;V~^__zP%zxtd{|GZ!J^MB6EA9(Mbvr}ec{Fs>RLswCw>t)T(KKPv0I@}6M63FLc
zWcd)&yxnyYL`v}Jw*-UE1yyYbx%<>=u3csH;DwLubs;QsR~zl&0YW0PSS;r8K<;GX
z=cH_H+t+$XKO<InAFbM-<VZZR3)pNc{&mv~bkKL_B~idhh|DEEOb2$~eVm$5QlUP`
zFwI~TCJt}iBejBggyj>^z|8^p2}ME5MMIF=6q-K&cPURVC(V>U+h~OQNmA)fiV>()
z!UmOxsiEHKnS~jn@j$~&!nBeEHt_*iI1qq|Z|<yn`nX+POn3B0dT53$Y$8b(LDXn$
z*1B;+$H|OcEuoe~>w+tF%=;MHumo2#Z@4${Ssq5cW-LkHaPqUyDwi-ly`ir@R614E
z!_M)p8%#mV;hN#2=c3vjAE?U=LI->})JM0fDY-4kdps$Ifpwts`P@2~BDU@VpjEFM
zE?Y9$lLn$)dq5S?T>PQftBKHd4o6pw4O5x#((kGl{aoY<BM;Tl6Rd%h?yk{j6wm0A
zlau~-V{h%<26xakd^+3PVYRcm*mAV3?e!VN^i8;;2{~&tO5<5Z;`4PU8RwysMvL{u
zcRt{<A6-6_K4&zP%cNIGPg~|16dnnVlAAR%qpZ4?vaWmpZBvr$mNm5wxO#m6Whp=r
zGY29aK&u!HOiw^#t-L07Ay?W!=|h*!lR#P5N6QB;0Euh$McWM|hs61DQ2JBisQ84N
z$N6df(z5wu?R25b=i%Au-JIvja+M(uexuD9e;MwUWX;S#jm$@8pIs}If^ik+;(;Y>
z#n+i)t+!3!QuX?;q#a`iuC#9?lUh<%DK8Bw=9I+LqAzB}(RQfC?jaUis)eP9vg*1*
z;v0C^l_-D1Lh~A2CJ#he#9k%DcCC#^sA4a!%g&PqF#)Bw>egN7J7ZX&tG&qES&bSS
zXjjoyDY(MUUL336h3m4@g&ZPNM*vFSC|gq_Vp48o_M!CiiZEt$wX2`Lo9zvOWs+bs
zn@#gQPxE~sH*rUzU9gaBv$79?G?KMUY5h^qSoTc)zwRw{(BpWDkN<mmqmbT0sKUyj
zNN_=uyrjdS9$?c`Yk|xtb03HvS-WU9utvxu(vig5WHXXR^iCkn-&$S#?m`-9)xKkF
zo0|*5WR;e+9W^s;IHRE;H}^qN4z%?Xx0?l@lO^v9D6r7M0a$_7^27u6dmzLqZsMb)
zi)RY5KU>YnTCd}Lt_1=wTEGP}oZQkKU7=AgD9e+T%UbTgNFx==`1Hc^a4I)JxyeFN
zuQeOg$dVMbQo(6=SyUk*kq_jl0kv<=b*c2XJ_H1@eNk6hCt{F(pu$2?DGIb;qXkR6
z^o_{!UkehVoc`=)`CuAG)H?jDu_+c_ttfR_#V+^^C*9r>p_rlpvLrwk=_@Dte;4Th
zG)5nc3$BO5#bEf4zv-WS{9B%T_O;KfX7lOEbTc0Hhr{W3x?WV%@wh)4{J;LEKlulL
z_wRe-o!b+A19(Oshmq#up!(Cwxs``d2d}JbfP$mZ7)I|aVHtHB;+jPg*=jL68IRb7
z&X?6@dNMjW)j(J-*0ak``3awL@u2^Y|HVIf?u~DF_Kj~?JeUvG1D!_&sEa1qTJUBg
zKK0lZ()V3rUmJ{Mz$;%W8;W((5MRd))TIMyB!nAr0}qq3YW-DgZdGXw%h&W*=m%9y
zM&t2hGC@JY<aX^mC|D=_T)Azg7RC4%V!mfbQ5KDs7V62v%oIqKZIu$XPEbjvS%+k4
z94^b7mI4U%TJL?Z<%D{!iLFhEvB=7WeJi+k%6hk4fU$|URXm=l4v4G!s?w<{br3@x
zE;Bf(sJ|v-y{YuuwY|--zZs5))6sA`8BduijO$@<pzn+@CaHuvS2&b?_R)XxDiC4;
z9al}yWc{mwT4-LS+-PZFE2|x--K*D0<akmW=MPH|sR#nwmB9q^;9M`2SuB=%zmA3<
zBZ`9PsbCv<3^c&XKyCy>fTwDNm?bwtBETmNed#|9Esfw9W>BV#7a1EgR4UCg!KDoP
zI&lFj0~>53D>SfIj(*}g&{nv@zLC;3lC&F1Z@1Nl!!b8XgJhX0afPt#J11?;$u_dw
zHI~V}K*b6Tl=hQqpk1#eWI5SD$L)S6j#SqZAFet()@ZULwvC%6DgRSshsL~Plq%kF
zA@!YwK4?djihILRS7+p;YwQT;)~f>%wzmy21+~x;`{f2|OBQ^O<-`@jr0e)v4-af9
zn;Cs%j}@jnHZ<=?!wFjp0vaOOq>3n<nr2DKgaYK@a4BGGZIG3?T_C1N6xCY9pSY3~
zyTIciTMvUO+*RxH+_17;wd8O_RS8M-#86hyu5OS2PuQg{>sN=O-51A(4hxOOdd#;i
zUoZO4JoOycNH}VuN;_dbJ`~cNUa!n+cEXfi+CP`F#K=i*7RZguuq@Qj4|%(6Ki&$x
zEuMDLN_vB3#I7ZQO<dNu&%XTQIR8^uwOV>cvfRW`m0+8`OH)<=<$gR(#kMenYI{O_
zmc?J_*1d2TYI&^J4Qwy8B}xl**+9n=(53#9z>~IrEcV1X_%c?VF)Yy4u7-Y2#=zJE
z>|~v6v#Zi8(B;oZ4EFh<o?j6+XPIVenlqB<%v5^255~6P;zsFASNyvi9>mv**(->q
z%Wm4@=PFopf-337t&P&3qtGab`-Q7zTZ*%}V%Mp+nAX_qLtzc{SKOTH7-+!Fs;NxW
ze2ez9#fk+j8K}Y1owz2-_-y^(u~4p2>ga6|w9o{0+of0`%}`Kx)=htOOI)VQ6n&YK
z{K<UTzxk;^&}NKAGNUotvf7US1&yX`lNn{QRG_IL+Yv&u|G9rtjUN9oDj?PY+6)Jf
z<R_qk_xzS;3bOr%yjMH{S5n(=%S-I!hHvF;C27Dnq6#c`sl*3OPe3zV3t<Dw4=7O|
zz?mi?cEXb^$xPQ1&_Dr?kFR3sP%aW~HDH`9W8x>Ev)l||bKy{9gtnLmtTWlHRh`VQ
zIFM4ne5mYLHgXEN%EwDf;;%C7A)cu%0kTB{%!}+pd2F4^2haT@Wet+Ra&PbqE7wR3
zbe2nzq@rxZ^Km>LZ%$61pD(`htAE#j{tJHf8=kqnoL`KFo72<Ni}UjVw|J}G&D*#C
z$k+YRU-v71-Ou>xKW+Ws{`t!vK0ToUX+4Qr63?>jN>#^N-=ak#HsZ-{%?lb5GLXP5
zb#R)ug5e@-;(AprmMS`$&U(YD*B|y*lkvDW>sRa!Z=L*+uld^X>D}M>CBJcax$4cU
zYBl$@%$5!Ks{SBHUd4O5kyF=jkbbRR$vB;Yht_Y=5br=csp55#7Kcbl$3KL669LqZ
zQt6~Egg{)4K9LPL3)nI(#gi(2*iau3AoMu&L0H)IAD11D(<?qAQz5NnK#-1)Xd|2`
zs8RHcovZ;5?0>mqH?l%NM$8dSsFO9_dSxadZn^2qQV4GgcFYoB9x&*kZiOKsW3?E!
zwrn6r83u#p6VSvThQ6>Q!|gSS3{N_Ji?oXGjCy%NIk{Q<v>j{FYEuolzzlmjYG!7l
z6LK(&uW(|HX3A*o5)`Lkp#Ju!<)uI2w*bo+wJaBRvJ0g`DpK-AuAhc>Ek>Ek^ov%f
zg(BS17i~x5DJjn^6yh)H>+@N>A|^ByA`0reAKM<>8jpK4&yKRjh~2h-0m-OVDEBZ?
zX&@#GLj@r^l$B=id3gcom_ZUh!oLU31-4+o@AON7Qmq8?Y|3!5OTUdq@dox9zXHSr
zn$<GX<&WaI4{jHLaakvAzm2TpWPxp2>x4b6Z;{&sa;uftXEvduSvy5agXY@?uc+cE
z9BXIybYjaeo=aioSs+wI$0UjBD$v)<bF@hd9_n22QLZ!vDfrYKncr5li!Qk*V;5Yi
zq~meCf+Kt@X|-h1R`wj;?ebs%9@lYwWE3&eb*+TPipyk2!F=<I=HkHf8pd*vT2!nv
zhoH1jqANZ$B)4K!sTpIfsO9HkJ1FgxbsZuvVVyG9eAoO1C|F0n7SrFkz`1Q4qH|p+
zy)WzPa+q{VJQ+}H;&#y$lTvP!xrf80N^9o3*4696@a*(XL{%%e7b%96y$MQ=dV<-E
z#5@c-%Gh<+S>`jfOser=R4`oWxqoEBYc8<|iBEF4u*6MMZ6nAQNn#ZCO>3`6sTNY!
zmepEEDgM>FjgSNrw@)e(jyWr+_KAj-Ya|x~B`<^ndys?EK$m{XZlT*wXOX=)R{y#X
zjq5~G3eZwe3LE@hr0fnPrBF-Ul|>rSCYeWm14*NWE3)>YQR72#to<%zJ9eO9woH}^
zL86bmF?sT+55jb}5WY~asxJFQS~ZfW1zURrw90N9zT0($nmmeJyw_<>{l7vNLbgHL
z51}f__J2qmwa0Ern-5km))K8@I>HmbL-mVX<9H9M4(Lj%5C8QMAd&H%JJ%JgG<N4(
ze!pCmZX0P8MN>VJ;xCaN%k({)nqU>l6Vxd=SY?*@I;k>^tQypmxI$hkfJQQ7uN377
za%zGZQ+IEOI}A4DZg%`FX{jcSrd-L0RRVQeC-`kG`T0XGou+2EcB7NkGKMizoK?09
zlUZ)00=uvr$`}eQC8;hlw`do(W|lh%uo6k}NvEb6%F9t=2<<8~cqh#;xAOgqg;~je
zsl9A<<fP`fuFTs{Aho)=@S~AtSCrNm&hg(0QFFbv5c9>!49Np@P7>9^BD1y=eBEn8
zp`t`C%l=6^0W4bxEH%&HZF>V|LS@G=APbqZK#~S@LrRT0&s9ZMSP%R6tHnS6=70Vl
z{J2lJaWXx-dHU+BubfQA>t!__jZe-_s{Z;@Kj|m@%+LIcS6+DkbkwV=*>s$CT+zT3
z#xS^Ti`El48S>OD@kHKdSZ;y}=y4?hJ9tkEMuYxxIUkQE<CE!PxuE!RxvUneL2o*p
zjz`1gV6cASmGgIg{3l+#a=|J)h}Afuh|+4EZaC#nc$ie;*vov@7ccQ16b-C3qDQt#
z;Kv|>wbUuqU8_~KKTZO46p9$E)DjPG>S?tqUR08F>|2cUgyJ}k(){zY)fAU;uR?lu
zOweg&Ot2^^*enRwQe?!`K4+B4oswH@OYP8Tk%|;TF+p9|9@O&iE5VYjshS4_3Yrw^
zIiezQ<C8K9WP_qk2o&Uh0!SC=nL!WIb;bA>uPi!_|8=*cH;LUiosK8{>4>X#kFknD
z<kSj>vG6516PIkURD)3*rl+9rt{WtO0;qzvybCgY46fE@4nlFSti96bL;8qlxm+z4
z%lUi}|IaTM3udE~bs&&FbBXb$O->1AM8*5&mqbKET#b-R$UP>Mi2!8TYOIp6o_oc}
zpde~06|gDfYSd;=#lWRNO4spkSk53T={+8(@o`Mq=PMA6kbU^9kN;7658S#o8b%rv
zSfLAzT$i%2q<fL8D1mS<Qg#a|J8(r^S7cp{ToC(a9u>(>X%OVW3<^2pQw$3ceUyf3
z@Oe1LKNph)+1<5l9sQ{#p^|jEV9hpS5_cjgZR_GH&jP6GbluW^0J2_Hn%!}%gsR5s
zK%XdSrx7m@_e0!DW-9AZx0?trqcBldNOpik#%p9D6(vyzvZk41fq`5#4a^NW#2jjg
z+eMfBYRH4`f@KyiChkffG9EcNkASWQ;6|o9=x*}0;A(%`xUO)~M~x~l3lLrllF=6W
zPe1(}*JCCp`|?TrwlX|(m^@K^V~iQ@-xkmX7-7R=ZhvMB>#QoZfr1`|=ujQI3nVZ`
zw396$TV5{js=5oVg3X&~09#N!S`a=*9MRHd+{%%NQih%^NL9qAUP*z;%$^$`utUmn
z1;AUua=R4|$kb@?)b6#c3EOM~j}mtvj{JnJ3rE*`O}M(=GD_yl#jDJHH2>SBy7~o>
z1zZH`B;(e(4Um<%!|-VSKLYI7L*27KrCKQ|y|sja4kaoKd*#+oja^r}y6g<&UNNRQ
z3ZAN}dRIR!HPGYzDQEN^Gz_{H(2(b~#mN9(MXc&7c5|Bu%~((3o~NO_x9qw<s8-=d
z9098!!<O3EXvSB0k?hcZf4NF$6Ag5&W6|TyR?AS){K%~pREu^<wLB^N-IPw6G3e36
z)nm-?qhtnq=EQ}~(n97NW-~N0_QBURn34iqcd{Wb<KM^vrNq>JmXZ?QKc?K^*%DJk
zpH|dBh@|o3ff?mG3AXOVkM#1lq#)bLk_H<3`EV27ZGnLfI_3-Oq}2BKpT?CXnW<A-
zSU!lpR{4M=iQN`3Ppp7{`vGJf;$lYW@F((<LVPNdgdT6^<Gw5<_32Mt%7G<G13eC<
z5XV4~AIVx7=qn2$%*ZW@{KOQ=_*0J-;3uHnzaAR~u0u6MqBsip1GOgog{weWG9!?z
zUkP4}kbwKkAZh)`&`@;JCqq_XqUsmw;=mV)r_X9Md1bx%9siH7`qKaV7r*YQ+l$5J
zt?6XMl0?DLh<)Cl{R@BgkAC$Zy3IY_YBoI`UCuA`d{vmso`*55Ss|C7q>%XcIndFc
zxasAucaNy~%}l_hWFj_lIKRe$&7fK@=j+++r=Pi;jh36?VzC$wHmBpk`(J$V_xzc!
z`9ojz$IjNL>&tnsH}7q<G^O$Zl8b5?h6TH9IbJDYKSgT96SzQGwF1znsd+N_S3YB9
zDSJ*xDKSs$%tI?J>)UQZg1<0+3cL0_9F4$|kXrIQMG36+h;4!flPZ@rZU@M9oc$d^
zDfD{F2#&OCPwZTFBO@opq<XC@n8nwu12VrOiL!Kb2vS9vS^2QODCM@7?|{xlEHRXf
zmKua86=WEP7zOzBsBH^YNKC!?fu^|A{rZSzu-@n#lL<sT8QswpF>A&nR$zU7VZB@t
zRCOEw=>xRwYLn+%4b>7hs`$D1d9~!SNMux?7#qnmqezuGS=q_Gp!&q^>X+j`&gT=7
z+kw$&;xD;^+;>PWFXw7xXhLa=KI`lEt0g^Yt!O`sO^m%>{3ej=GV0p(XGb1<xo?Te
z6LixV5*t?#ea4ojMnM6&PG-3o%PlcuV989Dn`x+JWIGLH{cO<avePAR6n`iVv0vKk
z()TLVhNEphmqp@9=VXbl=C|9`<;m4(+c6HYc7@Ire%7$OX`!@PmOZw0aelHBQd=X=
zFd5tK(9eVGuaSf`Y^Te&63E^4Qiz2s@kgFlFh3J_7#1v_`!@9~kN86~f!ofNmxX8)
z-&jHcYFNL-P8(x?)zE~;Y)aIy!cN&1N+Y0=EYW2LdG1O*yk0*6?Wc;`D661I;&yR`
z8xKWSSsWwFuENXP`tq7Ix_x^be;x-7f7)&|{67RXQkF7*Y#STCC9ZqDJ=V{*S8dN9
z2VL!L9za8xx=1{4wH|2bc>kxnjl7x2$gaB%Qwvo%4vTZHh4Ci^4ub{?WQ~Vxz*1Jy
z4D47a4xks6oM*IP!Nc7zDe_m(D1wlzTE92YR~K_qc04g?X?Xxmp6cWFF?2D*A7c|g
z+ag;++5Pa$wCx6{go3#(C6xRTxTXW>E<B=FEhwb>K-VO07l*{Bw0W$b*mscw3*u)C
zfVAR3%VZm5CGIeE*|{$J87}zH;;y$;D<!2@mN3wvM8#9U#~sSP5~ZE4mKt5wM$t8Z
z;-1KMAS2AyyQ>2l-olQxHuk!0VM#l#3pg)oud;72ZL=Zq!B(0wrA}L4*l_bqmq@=+
z#bU95x)jt<Mq01n(QMnqlpRQv$Ro{Wf$dmgzNBo1SrQvMN)`uyhIw`?P6E<dA+O<3
zA2pU`jZ$Ji+t@EH%9_cP>q_R$7@0Sdleyl8Jfk6TOnfM5qyx&BP_z_%10fPWaN36J
zwb~9%bEKJ79%Ys&<F-?z@T5f70W?{7Tb4qIBp*Nn3u`2Yva*?MAxr9&rz|UYRQLee
zxu*UI!O1etBm*kOA82WL?*X*<`oKaW?GzHv=0S;=$iq5@kyd=9T*E#%&g4t4P+(zG
zp<0NV51>P!UdV7AK7d9I9W)IU)TTus7k`idlH>XbRuvAIFDbB*i2iyrNQdCct(!a^
z40S@Z-X72qf&O&*o|j(z@4n`b{pY{tKkHTV8<Wv+wHz(9LmS>a{klK@=l{$9;`cm#
z<7~2+O^55t#W_*-=U-GOofsRjUt`cFyHw}>r=A>*TS_?)-jR#k{;cBkH%b(3>96PW
z%gN+q*k@l?RjbR<$=S>ItLfRD*>ZOK_U+}O`jPj4;GcZUzx>>v`wRQaA*<(buwrSV
zEMP;Kt@(pG%iUyopo6pR`1b)cPU_DA2hdjZ0dxqgNMbt&t9W?XjRjc;A6x|N$h~Ec
z`@M*bPb>#s|LZfpt^L&|eLw|#@a<PCIL<!KmWwrdqZkHJV`BJMug`|%hUIRfkxGRC
z>veLg0LrAx+DYVwd1!e6ZDB$kAA}K)<hI)tS5-wLR0I^<amb0S6{MWU_b#jeRHQy|
z0ZeO;NgIS84fJ*zl5{<HH`xKGhM3}?X1Xnee3Lg+kxGoR<7MZJ3T)1n3n)C2>^$HP
z2BoX7X~zT$SZI{})degjuCCqGAxRQnt?KGBr3DN*Y5{l{lFf3tnx34Hm91gQ`uc)a
zU0t#eb9@u;ZdS4=64+TkfxRWh4m%Vev9)--NkNv;<e~K44KO7_rXF<COr}}iOipIx
zf}ovibjeGUb`HTIHcOpjeJJ&h^^G2(h)d;uaWdl&`^YJ7P4^~zS+IewtS)(1y`_Ga
zPKj=pT(+6pW&b$;^@@zNE*Ulj%@1&7<6_vH)aw{Hq>ad}R#K4V>XcZ!kbwLF?SY_J
z;&y>4Xv}H#zA0<La6EBE4Oqt`1O^JvAoP!-w}CzsH77Hwb^N$-z!Ga>O%4Ps&kB3t
z@ek9Wxp)Iza*DV)VxGVObe9g5Ld)DP%?!-u$V1_gl%>jgOB|weUAUs{?W!C89|9XG
zOPN2mU03*-ajeY}*X3syy6p6ydg?9Yu{T;S^>I3*1YQ$$pdS$T_ZPURBUvn}>2&I0
z1hRiHrLX4Ecb48Iq&2r$eYSu>+k~#x%lN?!0XOszL6{=T3#h9oDfV#{M#W=OMM1y~
zLzqEJXVcE&wu~e~J%v!u3V?7ljGwZJ?_Ocm)zRePAZ=(|olJ&TPEu{qgfPB;fjbt|
zleh++@B#F(aPZrx<MXkC&Ukj9^uH_{U96<3)u7iEhb}+6?6}@C*L;>6k#n73@<5qN
z{I7I<4`y1nq7kT&3FeuqPBzdL2kyw3o1UJ`KGf{MuH}xh2VrMMKNMaKuAY@UZ3&n8
zYnsDS>XdCE(1|$+1HH?m12*gB&WOX|h@{T3R-$#)wUbywDN_~CuGTv0!E*d(BdCw!
z$3RkQTV&_Pcn3usJjRT2oG{iB*BU<!|BW5KE?Npf>3`0G8OM`!@TSg!k}TCSQ#Q7Z
ztO?AQ2g;WCJ3zKiuRs%m=Mw1@h(Za(p%hZw&{w+y&dLh5mSG{FNaA*jv=6>(`Tq8z
zFS|uRh%n${JkX~MDHl+u6-tCWn3!Kaw6)OG?e*l_DpQ@lwVhx|ii?v)RhE>?HtDSC
zr<*0zxKBb;Ga&2GMvp@))N7-2w_ET??x3`6#x7<d)U`||@muF{PD3(d7(db;p-oRf
zBSb>{nW|DCQ1!Hx00Ke%zLMS#5PPA3Ooaa~XyYXvPhxh5x|n!qSHL*8wX`}mQKzS;
z_wL=h^Sal4_j}&^C%*1$zvS0`aj%-cZgMhNt>?3g*Szkv|HGgEb6@clU-8DL?#}ML
za;kR@Z045_SjIQ~5r$;BI2ordJ5LG*mVeHI$!-IAl1inHlq5EjA!IJ8vE%9Kg9jI<
z!zrTWNMHM4E4vw;ee1t{-+%u<{^|eX*Z$_GZr)z>dh=>Ip;x1zjD#ukgHig%p4^F3
zv&hupJk-^#q6GTDPbeEn6u<&h(Nrt8O-@I>MjQkKBwJyfjDqP$Af0rUb$sbde4O;f
zDYSsRJ_z3SHO<wah)uHI3_;}et4+x``f6GnK&u>n)*q-iX?f1|ACiEA@NG?d=r|zD
za^FHbX_P!JB$vXh5v3%|MhtlO7raZkI_83lTgTBbZ#DCN0^0m|G{u<v*AkUOvr>pW
zYq%g8ilV;RlMX(p4vb={lNyMrXFH~4y#|p>T#cMdTNx+Wnm;OVZaIJPBlD)Y2uVxu
z7K$7XJpige{cUt*0puDO+<#5A{+PD~D~!fdt#@Ic;)?)GJ|_m&H_Y2}gR&ca5)g5y
zqXD9#-pQDH^-Q`ox4AJ^y*ok^*f$_=;+P)5L0t-(5OpP_Wn&Lqq%4TF9XkccO59=S
zvhz^6nVfX%+9>@gZFbr3((h_lmz~GKA%41lVHy;<vJb|w{^vNjU@qPj|1SHbtEEl0
z-#G~+31|?<$tm*`IgIapYy^c&&9Gl(SA?kyXO+nMLY&gZUm48288ox9P5JRV!w&))
zxMyV}NsIVcn6vge23U{0bcC4%lB_Be!CHperlsS!_#b_KQa=rOAiC<6t3?Dzmcpap
zQlQ_{FJTPg*UPHid115C>4<X|!tmC^%x626WG2fW6Sk9$gRAYAnup*J`(^I2^&abg
z7p}H%bm<%d%Gy-va26hp$MK=W_5hk0?q{D_;GoQKwh>(6$@O!=^ZAlpJ7tiBFfCQM
zUN*)&a+2_|n(+Tl3*o7vsTo+Wmh5w^qh+RE;!uN@MhrG0+r=n$Eyie~hYmuR_9f(^
zuWzR7o-jR>m*JNLp`%v!hlB!Q9Li7p=#7g5mSFh0_|Eba^6jGhIB2-H#gCCEpg-1d
zY`fgu?NYhxO|4dphsVXSc1kx4^Gu5Do0;ncQx3}XirEy;!qwG<eA^21jdmUGQllXE
zf-F$=cE@W-bBjQ4B(7Eb035gBkbU+j*LnaAEEf(tfX>A?*2f=vRa33QyAn}$v}<ux
zgJ)&jwhn+oKPr-1uCZqJMj*acTm#JvDzGGHnX$H$7Maifko2*vdCQ#yS<ROxkh2V0
zlDI(5WrfdtS;X(<ENeGKvRA*X*YYwqBMbA9=vERV(8+uNE#6_T?=G@Vi7c_hP#q8!
z%G)B*FUkv8)<(|t0ko4DlGIOF8x{(!euv?rODi&*i<|uO1vd*b;~O(a$-<K6k&q?S
z3u9R5184`twM#7!otXL&nzj*vcwtSlnM*-EP7EJ^XCN`<k9ojwkfctU2ic!2G&88*
zA+nVeqrHqnf?ms>PLb@hF&=8q27{b-MN8RG={P&@uK)~L&Q-BUnlbc+v_LW*%KT-U
z6o&P5CmJN#ES=nW>bu_k!+-35`R{-0mwefs>A3&utK-e)^z`Iw|LoWN_OJY^Px{1n
z4VTOFS6`k?dyCoq@me1xE;l-WrgB@eaTq&K3TCxRr<r@93y-jk2?_L#(aCfcc>QZ$
ze|~>XE!BFq8Vznd_4NPoe}3zq{A+*Zcm4X`^UkN9zPSJLa->t{YQb)=4oeXY%u5oM
zeL$Jy#oaPXB)QHCaVm~z%kS)CQ(4il?<6)wBWX!C3tToI;aQ$@V=)gSg6#NU*Y(!5
zY{$u_pB^fgLOgVuTPLBd@u#+56$cQ~t6@oQsR5t+G*fp}olHD%2WNdF^ZDS_p~(C?
z?oi;NhO|i*PcbVQMb!KC2cJ@{V-BorxbFZ(s-+{35fn6&Bxg=mTAJ((K(3W$u%1kq
zFl){0@?{!PTUrw9Yw^I>-&B8zrbuPY!~wK<fSH`-ik!^70L{&J1G7F!vM9xk7(l{g
zWG*k4%@2mrVO;2Gq(C+ZrJ|)?489_lz&aW>%OuIjl>&Hj(=Nr1iJ%~}Zd=r24Av3<
zvZZGF@snb)Fyt<f&B-Kwl&l!xdq5m(=*=hlkedlCvHhHE;8^)1!)|2I{KV~|R6E3n
zhS^-?Nw=%Z&xSu4)@jsEvP=KE(5Nw2*N`8AT*O95mZ#4(L$}6^i2VkWi|L6XbItcY
zR)c!F)nKal!Ml_zOM!BnlyWS3s9PcPF!s|l7s&@Q$n&)iiesvE7nV!AwqR<wU}l2$
z7t3uZK;}KK%Piw#?Ev};6wTa5qtnlBxD+T4pna8pd|<pW63n|F%lMmr1poJ<ZOwdH
zV~Ojkw?t|4*m{rk|5$YS*5ywZ(0B3D;VgW79P3a2>ATwlXx2Ce9K08x7;_ry1AT$9
zH=obF3XqGtxdBp$)e0af2QE7CH?`K(j1?$ihEfPgR_r(eEVgXmd}l@0YOQzDB|E8&
z`a@w#u^mATP>_uf|Bdz4j1*RRCTI%96ACFz<O<qW>MJTxn#@{{9k+D3WVuhja_&;K
zZ`%&b%p;;>L3~`Z*Nu-ge~!hE75}f-&pd9Oyhh+9t}?}#g7K%g;n;`kYL_0F8;u4-
zUxR&76z5#yaXth(($84k9){8;_g;zHg>@PY0sabq8xQl7S}3@sv0`Cde8fkT4dgof
z@hvfHQFdULK~AVcv$%OP?1_G}zDD*<RjT|>6Ow*d%gGEX+ZHc)`{QIjRJ{VFLdolB
zAkeT-+Ap)HD{=dBK~5&7zBE8H6XKm~eCGW(X-1&T`*1Vy_8~?BS0BrrWgg0f(#Zzw
zzjbzKZNC(@krjM;;w0BcGe}Y|7O>@Uyo1lJwmvOVkatc$Lp4xK5+8rmQopO(l9J}b
z-%=>1c(U6PA3!TBj)(v}o*1E$iuk|?AfZ$#Hy>0jGGC63(iE-T@(~~yD^R<i4JSA@
zlBt>U0J`iuiib)Ba~n3Dg~_H7`mQK{^FaD_ah#D(bOAsDwVL@h(08RNIH7Ooq3lQw
z$D`SDq2y%p&EN5zf99`$-B*3dmk+D?*<gL^bUK?~ESJmA`l<i%?BZgzTr8{E&08nS
z`GXs>wVtmB{wW>Yr!5}d0JBhk_U}g<kwpDlSO;<DtpLwPj<Qv6{a~?r`sus<`Q_#1
zd@#PfsaCg7hrP42zxgfy>M#7&zxI27(^tLj*4@Q}i^XEL9xWB1HS;J9YN|8?s(9iU
z;7JwRK!i%hd98JPl$KC`a0TRgKoakJr4E{&r^C2<9adr&)>OT5B<HYXxh)h0HR`BO
z)b&aQY}fg9oP9_a#J;{ffJR?@vF7K+JnQT{>s=$I!#=b;sxb9IYOR@O2e4)kVJnZ`
z#}PL<H8xsh9cX4m!*h^ZhtQ?WOH>?df-KL6`@o;O;FX>`2^!)xE~4ln8okW7!HBi0
zKR|(Ns$4}I1wrQnepybGZCp>e#@Fq&hd_m(kuq<T2d3qR5N@WEdE6plT0w#1h7e8H
zV!0*Tq`okrBIq-TU}zl*%8FIrnq+B;t=EescZpI4(g}oGnnWPW0Yz;@Hd7x(vi8$J
z;&x8-1iIqyDu8nrm0mFIT4L=RYFjuMEULMR#jeH`87_q^=oT?Qu0mZ<kk3W(ad501
z>z6Guy6j}lM|1ePnwfF!ep)}5YDea3JWd14x*pAKLtCPd0ETX?30Xm_1b@6+sNw*c
zq#1OaG)jMB54o+Pwzh*(p9w|PW}unh8&7$%(v!%{FK9-}7Q|DjCTdL8aeQ;aLQ^vt
zjU<bYZ{L#XFb>UXmSp&P*G9wa79ICrojCRYy4!x+rLtXzA|5!P6nGK`(14DEHb#Y+
zGWh0?_Wzo2UG<i|RoZL}vy5wu^Imj~o-W@$TJi6~vHlECPww!CCb6GjG&9a(DNGw0
zZapOF>kt+N56Tj`J{a?5bizntLLiujW+99%OH|(ll8XJ8%;H1(5iKKC8rAviJ9h3Q
zv7>vL!H~@n0)0kadxgm`o07E<1L^SE71;=(h$In^A`&Z;u)zkL^+-6b;A2$uMDVfZ
zPZzrU+}oSr$9lU;Jc+hoG0b{`kk}u_4B}iONxOZ^It>NtLBg&qQd*{*A56w}dlYI%
z;K(8<KcwNHw8<irxLsIB9yc852y8>m1wl$DueP+#*-B#3M6TmC!WqYAdY&NoIJO(c
z)1%@o(K@L3$Ki2FWkI%Buj4;DFAmzFO4i7$s6a*_hQk)61dYVix4|xg)g+DUl#57S
zD_nst4Y?G>GfjwGV78=JGr(Sjn>+0SIZ3nNliAc$VIg!9LenF`ao9_(n}JYBsk(}q
zs?4qg+Q3d$xC0O5Oh8QOXTUv678g@sWoUYRL~+B9VXT#{*hzXPkaU~Ss10NlGyGGj
zLYV9tQA&Snn(LKzG{p{w$8|I7r@4`!Zk{692Vf&cStErKml4V~9;rkPvq@ekWGK5B
z|D%x)*cCDR<0N|;^ChKEhV>Y;Fe4|O1ss`PJW-Bi+26G`o6ncar5-{=(C@QN?2SkN
z>U+NDJ@0w<XMWPB+#C-k<H5;v^z~o=KY!5|{>mGp(R#5MjJda5amO?n4F{`gKA#W9
zQ`?SPsjUyDtSiyVBy6D8bSgorg?u<YskmugEKjC4P9{@s@y92(|K30T=0EqhzTr3h
z`rrDtXP%kge`T{=-+AipYNMx7qpy>Z5>@?;J)niDhKI9Vq+6h>70p^1g!^`>?o;cu
zkz_^LdJuvrl(LYPSqhR-ByC6g-~eUo0$V#}TfK|cEDa!WS&KZE^U&K`C|0lrqDBX(
znY*fY=0@gSK{(Qca`7d$=%HCli{e{Eg>qmQ_7g@ldd7T~gYr;=tDXcphCnD9XV9DB
zpg$V*$CJ^NQ8gWp$0Pl!;IO}5EvZwZmNx7Df&bK+`e4YGy(Um8iX`L0X;BRs$lAdt
z6oK568^~!4l504bfy9yY)I&lto@18WI`yp7o`CTm3QK>VfSD^S7t7knD883QDO=W>
zu^%)571S7APRg;xvQnH2A45^^f%I87o*5XY{CF~<#&~FZOzr3+55*W)vM=kVz@?P4
ziz4JZAS-dZ=#tCfV-QW;gOuGunH7$w`FKT<qkyTzeQcoauO?D<jfk0$(oYN?V=&O{
z28`uxSm7${oNQ`wu-W*8Mk1(Qr=icxwJ{ux2P2(<Y^LLBf7la0WEaGhnaeNB>?&-e
zvSpymmwuMHBr{X;*2xlJei*;7<=Kr6-2|9+brJpw=&%|9y}t=fZ4uB$N8kU@)DNoT
zS}lI88>}%S%8f=7RZx4YiUZ|%AelJe>?5$Xc@Xk7^H3aNzii;4AY64RVitjlm9`c-
zB-VKZ`&|)rkEBE(qJM4cPZzrUITp54dJ8Y4)S<W@Z>~T`dy}_;>x#+a;JSQBPe3!g
z%2#kO+mS#~Kr-m-abWfvWJUA0eOdD8M|{dY9(uc2x|?~b$jNMhWkz|(;|p#;yWq_V
z-w^74Xlu#^wb}FY6!mk^dX{+^Kbo%MLY%7m%ggo6Bv3NymAF{o^kX6MB5Za)G?}v2
zB+DLIje@bT3gnu(#!t-lVq4LZL6?2Ew~Z_GpR}t_6hBs+KfJ%XdhpRetx+{oKFr3j
zKd{qFoddnfMTYBm;AP~cL;Ie*B4zj^bmO{OUHZI>htK!jvJao{r9N#;+%B?Cw_`iV
zYB?ZgSS_`Ijjsg{*b>%ss7TA#2Bn`Hnk=l)O|{xe){@v}72n0BcCVtQsy&*u>wNG<
z-!%^S5{JC#(p?LJC8d0aFAH}UH>05)?-b7RoSTs)W_<8xw3UrgPCU#Yj6;f=udh>C
zuD|HlPdYnk3Uq-hhI&$_1@W%ZEXn$LU%i#ojL|4n9&VOQZmrT`({e78FnA@2Pa2H6
zErHAkxvcvr@rBKj=58#7V)U7c;3V(?t@%bP0BeaEP}ZeeqME0a5fc4AnECPv=&S&8
zEl@fI#?LWjA=I5!)?#KjjEL1RpQ+)pk>4N16Vr(=j=oDD_-7&AGSPTTLmK2U<Nkul
z)C{{F7+ZE6Tm;IE<Miy5#QE$}uiV|NCpT~Xy?^@8zVUzm+rQ%rzvQ%E4X5jG`sRQ9
zRbTPjMyt*I{`qh+yxdfa)ndF^-8!2tW)}oJo~zWhjgGMKb$p3f*262EDY52g*A+fT
ze1Ph&=ZIYbd2a@k><yNi)$sJ@gUk6~-Fs?0KE3_)|N4*q&#(W+zx!Li>^D7g=T`6H
z{@G~UTlPNu@+*^Dw=QS1N$fL?WHjJ)4B#8fTJ2ceLWiHKG8|Nl*niggcE$dP)~>?m
zt*CSgIWfseTejR1qkQ_+kTWF12TL?dv^U-s#NGHSpF=^*ZRm>k)7<6rzbTw`RFSa2
zOI(kWB&-nzw#7mDq_cO+=4(%!45!W4`(gM{ulag>!cey0lR~Cu^tf{9fXskW(>`R0
zA$h1rsr6!Z$zWvUGemU~Ti*+e<JHa~jQxk>ukVkNj4;%uu>wtww%~VIXJFF;Mpp=g
z94lbMhW#uh1|ueMs&~uFc%4<n7d-)PyDsgjM$A;M@JS8oT)^#Nx*w|tq@tkEX#H&X
zu&pQ>Q|3|}^Xw7e`GaPX>pqU5s)AJHA|$KD(tg?|lpTxQuE&7ocxcB)@y`0Xc+fnI
zns9ORj|<n;#<B7okOnL-+hwLpzYE9K+oi95+=pZRITl_1JZaFbGVGZii@e9Hp`?xH
zZ4Y3)d(1Qbq3h*pI2n!l!{xe~4968WKH7(GhU~TVaTk{)QP!zLygFQms+|Ppy*lk8
z<Yi1^4M!iaZUoQ8oh(|!h-HSdIPayMYaP*m=2|kt&Pv$_gKKNz4#YK`=isUXSi-G1
z4joTG<E5>cx-M(N9FAPX7BXKNH%hf9hqA`ULEGEJ7wcG=+g0z8qv2@yj-ZWp<UhK&
zE+6(BKtp|Xi8}P{kKsUHgDMZ8fqTmguuvB3Bs^xx*GvgmXi61cVM)4(vzGP7$jQ~3
zC0CzmqZmqZ%*yU5b{!;LgZKO_WJtIpq7=0N?FfOtO<La!OH#mYm>&-H{%9HwMros|
zLv3^dQX^1MHaDbUqO6N^2Yk#Z?O3p~Gaq4GSG`4863kovv4gJmHvIgEb;tF_zkzEE
zzP*fD88&0gWB;N4Hxv$WsVwrOU%}CZ?sh$VvhOR)tf$~r)Z4N~(=tk%-M&2z@FC%f
zx*{n}`<cA0pFiTRk|osN-Icrsx!Np8ac2b;Uv3adI5)#dFXWc&)LR%VQA!?q01YfO
z)iM08q(qi%v+5}TEx~2T`S4~y<Rl)H?^Y-eH!Zg+10rOCC1FG;g_#)?*SnJXfU-oH
zn?W*3YCFIeZXikcQ}f&6zK8?KHHsA$lACx1Rt*VV#0oH?vB`Ea-(Wat3i9`%8gl%E
zH#{n|8wkK>4=piNDkS;PRw&x#gV*5Ii9Ub^<xsN3y!FlF1FiM}bQWgDZOBQm_W-(N
z+$a$D9`wZ4iF8aHy~D04)Kw5YAMfJ-K(CTWq0S)b@o72K44_*q@uU-|(1&gVb?o`<
z^5*SZcb>ZY>izrQ_wIN9k-zw-e%0syiszoX_3Sfu|KUIQ+h6u&zy9@iZp|;wm$Ui!
zWcupm`EWcKtvBOQZ#KJNt69w%4{As3E!{eKq7@<#M@!l+`q0V;(9ZH+4hHJ7)>KxF
zRd2J}4A;|}tV4HB&;HkM_{P8R&;HSG`}M!)6W;Xt%U55RPW!LC^zyhjoJ>wmPw&2b
z@74Mp3&J+C@Ol!qu84-$2Xo#5CPd6!?_#wb=jEKW>;7Au4a#k(v-I3-U8Iy}As`&o
z0)x<S!*>r=BPLR>C8<}p2iyu`0Bddw5fdK@Sd&@)xOjAp!~qoxI0<}sy(3BWhtN+3
z2l7EfNK!*Y>*GR_<;fv#*el6v4?z|20q`Z`18Cp?!a%bT>4guO2TBCoiU1K=FwgaZ
z4NW2qR6quIB4Ja;U5eEJI%>W0!k|yh6hiE*bpXxYDZbKfsTJ)uAh~0wmIKG9%r(mK
zh8Ni~K-oYDXbaR5a@V*t7*_FHg3y?H^#?6s1Z7h*IN(8Vud-S5P&X#=fv}`{0htuk
z#~uuv_?@AcQkqm~#(mso>|a@}n-GkAo-cK<Wr<<FidQx6AYxnkP=g|f+j1exZQ1Bj
zz5<U>WG_lPhq$!Ye{i5bxzw@#KeB$q&xgVVAG!Fk@CZM=maaII2hglE7}Ojbq*vu2
z%r&?!@89y1a7+#~q2yY@$b4Q8jVv$yDGLHO4dW#b(@-<=y6xPciJ=Ng32_N^jpMP-
zj<RxQpcy-{svpQ`U`MAwvHjUWm;S%22hiom%#Q<%(}6IJ@xYLCF4QppC{4HyTvxq>
zGI6`D>%w)#xeHyRvutna=SM64T{zaC{xeTKM;S)gd_MQlGb<gmHk1yaX)_9O8<SR<
zJpL#PU=XT6Er&r)NNZC<=F!cXP&7%xSF3a|O{OdI!*XnjEE7q!s2~cG$L(mnagXA0
zWbAw2<y!9x!@T6>uD|GRWfeez<yh`zJAGmw+bO`_D7HyyA)wAEf({Y*v3&sDg=76u
zPy#NPi)Z=A2)f$U<)?=_jA?G&b+xO@pDvVc80Ni4$;r~^Yk}*FITbczqVYGT{7ywz
zS9*1O+quKFel2G>QZIM|7n5!Wd7gr+?YGgT-_?q4`&+L{9eCYt>2_6Ahgd<iY4eR}
zNX(})`_Qg8Ny@wS0`|Y*i59t7uiDn~-G3uX?t%LFSbQ*SgNhI(&$Sw=rGmOEpem83
z5!7fS!P!b`9l>>(`fxVajx{p?q2;9zWaZ?4Au-D2R+)vqzD{MKEqk0Br9RgTGY#lM
zR_mBCxYj}Qb<Kdco1R?hau^`ccEFOz5mU~0GgcebG0eH9`Cu2dMplRuvT$APX%`Y(
zaZg!d>g#g(QGwwncBwXK%V2%<46MLK-G42CIx>!bR@*XhEzU_$9zf$~=1Xdnxir8G
zv}j#yPC5>tGh-i;Fb;rJs+Jge^uQ-B@iH1JTR7K7fV+$&@B_h?Z_kM1$tmljoDZN`
zFns_`R+tn*Jzc+GvLrIM2WR}ToLX3=&}YS85BuZk<kp=#-}deQ`Ul_h?r;33fB#Fq
z@XPLko0EV15B|<)f7+*<^jFW^xq0{Q?bpBgS@bV1E>2EP)~o7rcAq*KwBzAq5GO?8
zQo4wcgbC;ycwR9O?q*Sacvd3`(X3Y|bbIXmhT~Ufy<2a1+t>cjfBhT2`5*juzvHW4
zbNlA}<(G&3)eEn@_|!9ZSDXIq!R6+Bd3JJRInXybjG}wfv7o`i&G0r>)i!QgOKUf(
zcyEQYqg7^v;H{I6=fZN5BqoKIBvmLo<Ys_Wq6-pVgJkw0s7(8oDM`|4=C=1&cp6X>
zHt{?xf8qcFVFW(KnZN3J4TLl(A}_%a$X+=YY703j8olFo*`GQKvU31!CQdnp6yzL`
zke3H8Boh};tb34aqaJ0U@Js}R)+}R%GK@h4&=0I{oUve~;~t&RyO}bjgU(^B&xW&l
zObJEKkfgq4l`}bR@kgUGE|0`>+arbseGT;Um}G%WTpbyhWUxj#-ZI<JVH4%Z&~QLh
zxxc%dFBf{(hLl0HIjvnNL#Yw!T##(VvSe1$DDI?DB-!X}{g<+$jltDo5g*vFxCZE^
z;XuzBtd<L_MG5thz0)#MV_TzMce1@sl}uT02^HLTzeanZxj0Bw#OQ4!s~w1B?O-_m
zDN&%S-qL=l(^YRn{?O(eQg4Yv<cIj_D`z8@<U<{9pvyiv>F+KY`VXzH(|>J>fz}BA
zXsD0!_CONLnGt5DL%l;eA3#@C#mrzZkSvsi#MGM-OYA4qNuzY0{WdcQ2IJ7oXMHO>
z38h{rKr=p>637}3^w3^Lv`AZy@<5qVnPxPFyYovH0@Pw&)&u5uA86R3QA@^0{Q%mu
z+3Lgbgb$#BJG3z#%-DIOY{=uob`H0HUG);m#O>DJg|0Xs>wg!zMrUcKtmRnyly#BP
z;VgW79PLm00NS*^0LPN2#YMkT7{guHLJvoSvdA$~3XK@JiEkl|Z&!q-qo9`_)jdb1
zd{a`d0E1dinpS!#r(6gj+TKw%-YC>(BW1^sQ%kj}>f1962vI6UKlr@qR1#2%a^p!H
zWXCN**2l6oZ*c&Pl6(<p5&ZrQO((8tLvvl|s+X1~?nu~RHv7nSo)Eg)8{L{v>d^IW
zf@!05Z5-R)E>l<ADNC8p8&=cO=WBuMV>V@K<NlT8vLf@P8%ENP>s%XUi%M)(`h;ve
z)FIG7_is87S=ayhbr9SELd)Z!!x8n;^`6UH8gqY-Tn94y<jGv1Y)e1xb79J`K)c4<
zvFpRIukA=1?Z^k#+8|!BUbSlXsatkCWMax2yogCcr32i!L)|(oo4!kjq2XFcxw40a
zwQexBW}#F_PV{o>)3PqF@Hv<nWqU~`4r^Q2gq($b=1ay;l2R`t4VphX;I6@v(l=?w
zc&5CKWK-EgCxQ8GeEVy?_C#Y?sq7C;arlDQ6)ra|#KPXBECjVd%X97!--{4|h5{%h
zeug*1TOi@C2xjjAw5ujbOrRtY<~JxHF>)?aoU%}S(6(iw4MpEcP%?}p(OLq008Q0U
zTH)%DV*#++v6>7Pfzl`p2I_<9;NyF;NF)fgI)q9`)$paynANEY8(q2%g<-tZ(HD{3
zuh8m^juDn*tpJircb@&>5N}mt-CGT~>0`vi$+Dk)HdLJ98k;&f5Dj;$+0V!b<;$2y
z?t0Z6w5I3)uc$;`V?N4K?`%FFolZxS@elv#kACf+{ZpUwvp@Ia-u4bWq?W;W^ZfhX
z{pp|Zu9M#C!Tpz659V=<JRXkj-o8COn{tEw<~P4-Hk+M{#w_Wsj)?`RF1k1t2#uL~
zEFp|mhF9uPmKMorM4V+)B>GLW(I<McIoO=f=FhzDt$*N;|Ed4azxjdR{#$<U8*WSo
zvy0(UKX!e3>+GfbuW}zZW+2ZPoP#;us0M*r6Bpw-#gI$TYPGCiVO%Y@;U&o`W{}G&
zfy8Py1#jCH`e4_$=t+_glf?z=>jIKY0ZvLMD#}8TDoC0dW-f0#I3Fn?d|5LfBXo)t
zV?Z6i5?3EUqavDIP@FfbctJ|+v=JybYNwnm?9?urYE&=9+L`^Y{mGinv00<OB8azr
zC38Ty0l>+67-u-SsFt1@)~7{Kw-g(0yERQKy}MaJlY+ys?(KD!++WCrRKvCi&=nx2
zypxU?vyw@PPRNy2-?GX9N5k<XOA}SPDb%qNB!6U0S^^S+P%kyIV>mKdUkRg#q0PuX
zH6#!grReQVwV5pz%lUj!RoF#C7f7ER*@xu308fps$Z{xwvYI7nitctw&CByaf5a5`
zo1G~r%~(<hwkA<LX^t9MQrN8GI;FXWrjJ@2qPi<%z(kxQq5fe0!y+-va}O(p7POx4
zLmqFYTXgKl9G1gj$J%ICS0n4^7CGr~wNcvdvRR@_zpGuPeu;<re+A02UHXhQt2OAc
z@$bg|db2-fa<cUK5cs=8FuFcO_l?FH{ENjLQ<?%o-A2Y?r2)r$VWUDW!xCj^+3(pI
zz=fIduR3-;EOoX#w&UA8Xi+niX=mO(;t>=HQ{RRBN)2iUSdKsGC|r&Qq$i1(^3_$D
zg3_N7<veZcSW?n@KiNc={U?0@tzFVS5acofWfP7A*VtHHS&IpOESrjd)nVVs!(roQ
zpqbAGp+>3p_-I=z9cZIVeziYs|I5*ENL%Wwc@xL_-vutciQ7fn^G5?-xp?Vt79Nf+
z{W1b2I`yBv`xeRoW(ao<62-DY*MuZSa6B2oGKCdf_0j{+ItbMoRBu=*4i7E(Z5LZu
z0*Qq+!*Z-o{4&Uq12KWw8X>8wN>5`AbTf$;+Mk44*fX?b#1nal(eV~f+ZJ4`Rx?t}
zTc5MDvSS}!Rsw2g06920owDX4M`u;7;jw&rdODje&>Ri*%6z$``S0yDd!S??k_nhf
z+%CG7w=Vtd9)A~I`qzan`(+zTT$ewcaf@y$bIo`8b6vQuc69;&T}9a(sHasI%2t~%
z_1n2d$#=D@OYR#0YC)mg#OoQ9eb?+R|MPTfpv(VA>8Oa+NVkPr1E9L`+w|8^Bswq}
zvWE)i3ukuiG~t%&E}SCR3#z6C9~(2~p0;--&6-VGRF~T#&trp9dSadx$xMSHhcPT{
zAh}(4lXXa1LNZH~9VmI{w$aeB8gvvVxXvvp$ZBqHN|yRjRcYCXJ9Z+bQk4#mQd#y`
zT35+ay<_CHg*{`bG+Vl4#*hUa@`~T9pW%Xoo<5FMxp-QUezgzsaHX?*`BPBr)CH5x
zY`N@5>{t%Nj>balayLLtwi7W-LpK}oxXSVpwT>dQ)!(g`@d}l<@MR3^r&K7Yum|LW
z1W7WAHzZg`=My!r^SYWhd?@3Kwd*R!KY&3YsD$QAl<UcOsO`0NlK+K1ybv`43tfeQ
z&~-ZwZV_;nXm4lZ4m9KId6#=ie}Wl|`qf4s5~RS!0VoYrJmahfwG^NAX2p(Us52St
zFlLZ=bx4R+i|vWmF7<y;$1dd1Qsw&|PpsZM6bCV~qWLoHjR(3T#Z~F(rg0l&l$=zS
zf+HQk$nTG3!J1KHJsyVRUi?a=iull;=4@6Y@>kVxJX-ZO%he)&^lLm@YV&h;^TuF2
zdf)rs|A+pEul~|s@f%+A+Se}Tb2fsjYQ~Mx^B;QuNq;z>UA*?0r$-a*wTQ!FHh=1=
zr`UAeym@wUaWNhZ-}dG=%`eZNd+s@%j1xj_$riY@uGnbFx5aYi`)$I_RS>1i`SSGi
zhE7X2oB4cxGMS*<AFO5<7wqcfd2h<Tuv+!k!^!4k(wj{F#2^2YKm6VgeZjB%qGz9d
zbMJD&ZFGOR^2DV_{Is%GW;|SJ&r4F0h>Q%@vp~>;52>S}I3T5nDVZ=(6kLQPaidW=
zi(w-LOX`Xo9P>cqu7<l9##ulmLjo{vK4fBiUADx2THcRW(wWyk$)iR!A{94$i{%U~
z04q=z%pmF)69de*05sOQ(hk5Ij4P$(N_tY&$ZJjmi^}f|RW4ddS)Qmm^Y+adde?T$
z5KAJkX=eg89BtG121b+=jWf_V-@I{lA}eIdTJ~R`I%w9^$GAH*t;Rcu%4?mt(wN_E
z@76ba3kV=n)nNpbqLpq1Y;FLvkH3W7%~5VN-|{Lx0I^(BFdAt`6N?F1+`rIcwCmoz
z2XVF0k+)YTQ#yv?*@AfrdfXy|hFt+JA25N?49|;wO9+Kk{Jh~>j%;BCp$HGD#3@qS
zj8X?=H5zOt49PusQ|n}58+eqsU1Z-fHM;DSI)}jZme$&qOPi%XhV{GrZ{S$>_Tq8k
zVEx1WKg51lU5EJDg+t1A)q5bky}<}`pKfJEipdq@p=Ee9)}w)3n>?W?LlI~_es)F$
zVn3m5VP>EnKW$)z>^LNWMJG{K36>M)4Nk`F;h%N|lZk#0Y!~}28{T6ajy#te=<LUR
zi|`}BQEKDpF>qviyZpz#tIidfNy50Y(EG71j~#_njzDS6Fz@|CDYs_l_=ykZ%|J76
zCOZ$>H6Dx7+I8WO-YV<u^8Z-h+R-q7U2W{L!>AH1a@(GiDC1L>>eBb_(J1x1#?PS#
z(AbJ4X+53lJ<(OA=OBDj>SVn^*|}1}=j)5?6pR%zH6v&#Y_u)u*s`l5DLdR^pqu8f
z)ii(D$PEW<e3i%A9m^{_=csO2Ethi`oDcVe?3>M&VBbuQXrjN4kM6O?DvTm>Y9R}M
zFhX&t_K^F4sl@H#*o8wkt^3er|6>i;<)^xG*P40DpBz5c;@obvc~2IjD<+4;$^&~Z
zsM;_eqP1Sce$1XA6}%FqpM&CgF~b(hSq!t~QS2*=fMkk1TW~VdO|?W{7kFC1T&sC~
z&cE-_xhp<YL=^y=hLibu0jq(`qhrQ!veYaUY%nEi$bPZ>8V$1tqEX5Qp+2~DZb?C|
z)RMLj9+6o;gFdQ-I?apC73H^TEV(SUFtMZy-hqiJYAJb^>%<i`(*GDx(R8!F?ML^r
zE*4Tr6p3#ZqHH!IhPoP(l#HVaK#~hj=69k|x0i~k$4a%4NW}Q@#UYsuplx|6+(jDR
z8Q##x8AW}pSsz2ghl;Wj6Ug#XC$|@x4p;+N%e+CvkoW+a>XjXE1Ux=T29>^f-(Q(m
zr(~T7ThiHg01dSd=1ohu7c5V0uOU8ynRwHp2OR<6Bvik)*IT(C6j7ba4My>6^f_Fq
z#`us--CO&I5Kt1Hy%Yos5f3C(Dz1z($W0!`t4sK2IYxkU!#s7$8v7qa*@*ih5V?cR
zaGb^!kOqT4FpjtCi=$~#mZSzhGb3&%z$)IaI-X1h)A9IZdhh(fty{PL%3uF$cW&PL
zlu!AT%kzujU^Bb8H=T@;&t@}}Uw!peXnt&JOu3U2_^PUObi1mad-EHXvl(@ro=gbE
zvu}DsZ?%5o8(v3ynDQ^Z`25YAXPeb}v79lZ7mNAX&71enFWHMuPtNdnM0ZqVUiLQC
z*^QHX_wJ3xC#%iy?CkCZTJUGLzxYeP^v!R4)0h9IFI!&Dmb1BjmXmhX4?4p}WYqkX
zj;+}z>cay?qaM9-KGq9BpYp#7Mz{!$gn_*IrijecIxZMF>AK)j`2ZSZn*qBfJ7}7*
z1fYk8*F&FIx(tA~zJ;ZqZlHP0nFnfYVF6Gcs$r#pk}OCbp9_wHA}kvsKf^(ILx})e
zWBs8;1RX`JM(fJ>6pVZ}Ul@_T&47@rYVi!MRpsTY)~_E_R~+z-EYY|x(8%AYmvp2u
zkS612FlG$t<7&k-rXeeWD~sZ~cM!5asp>k}1Q}T&?wc&m?Fytx=jx1H%8{fMG=V75
z(FkdgQTYQZ{Yp*D=#Ab1gMy!=@w(tBV_pS^W3rflm7p(@B1DIlWt10Ft#9>L>uY=R
z*7oCLpl~t{!MW|>R>(~Q@+&}*i;D{z0UCVSRPlkLO_}cavkjCwAu-7J>8R{(5gRwP
zyv#iiZ4aI7f|?d+Xm%AmR&JEJ*~7hP<X&y|3Ut-@2nO3lF!;!hfwF9le*+qR`_L7=
zQol>*aeM|c%O*q6Tpo|~9BZt*X}7b3emo?nUnxjW=1~MEnSC(&;5%j()VR1fH>1fG
zaFU5{dsxT}6RICi9BY;qKtgqtg2~j_nWzWg*aPUJBb(Oh$3+fH12j2tyXex-8>&Om
z;eXq{CHBWFHoXtxDiEXRI*{v46?HYU1`3QZ7!RAwn<<N%?}}#^N(*J#hdOp3x_Yat
z-Y#61Ki7pWe^@?5i(K<vZDhhH?yxwN2hbT*(P_Wy0Gc8cOV)}5Xm)HUNLHgv!jvPA
ztj2<6<qWHp3^xFFAZt1c%4CDV2k*%QcHnF78tj9qR`w|8p@m3aQec*9|H7ti$bvp+
zIi?DLHS}F$T~Nri$9YRiGRx6-K?>o9KEI4_#2`n<j;TN(8@U3<E*$^<0Q#egC+$D>
zJ%mhMT^1gW($B6jd5F!2>XZh#nsz+_-G!av2O#U0@yW>+Sj7@&&8*K9&Pk|&=W*bO
z|K#q_xV-L>mj|5<G{Sy$By+CZDEw>~NnD3PB(axGK!Td#1{fq0*NrY6$J4nbrMg@s
zSKZ)=SLRE3X>*gbNNR5#476_S_Le@WRk8K55L)LpVN+nBmlyz&Xl^N2fKuX`^{-_w
zn=*1Tm5G#j8c@i${e{gW+$0_GiP<?^4qgq+LXTTessSgHusFb7Rq7Ww3YG`Z`NkfJ
zFVUfun7F{{04^tefpbzFQ}fAMQ9Nc)ddvq4p)0ugyYo&e!Kex|k=_QOw2#RwFBu>3
zng`_=AnABH%aJ!i+|w5&YHOy+fAby#fz0SYMVpGqk9A<A%yh~xu7*OpTO-ubi+GZx
zP@-h=Z(V;Fko0S341H!ENNKFG-0Ju{TcGt3=dk7;7vcjI8ap1wk{BaIe;pnANt>vc
z!ipa`QdkX#m%TBC2i1DC?oBuG{>MRoa5A~KoZWuS)BoaMe9K?_tAF9Qeesu#s?F{3
z$wn`%Sq{d!FUkv!Y~smq=rgH%_wI3XyI3r4-@ZK=4(79q-bO!s-CM1me){Rrc(9nw
z@7%dnEoRR?`|N99^Ymh&w_-dvzjy1_t<_?#hdi-|-e9!6nCn(-$e^PA>&wf_>2Nd{
zpPVn(!^zoZJsO<c{UyKg%YXbQ{^VcttA6F;{{8CW{B$z7IDd6|I$f@pt4-L_M<q0U
z&|9&wWC5k2Y9+|yA4+_EW<V}UpZp4Ox=g!3<zr=wV_h=p^Sy*HBk1ZBWt9jWF~V+v
z08&%C0Z3vwCF<Nvfg6(e`rsJ&kL&FZw@=KO`WB+9l2@Vu=W@eqp0I>ifX|*-%?xn3
zbi-VK$mg5qteI(IbWpxy!SScJoCG-w_Z(#;(F1gt&yj@)6<MOv)mYz*v{-P@tS6y0
zj|P6<3o0rof7PYp9X)?wT*9?yADW;D1E+|FuUY2zbu3V&p&-o&kH(K09!Iy%wLkUs
zorF7Z?ZAwu>A(mu^Qvk=#LzfDKlen;cG5Z(-KUi-ghG@iCMhX@QW1b0Yw1o$tDg=(
z`XjxV5rZVrBx@N!Z8VfWC1f3oBVB)O6IcjxWJ;mXaR8lRE4dU*t}CNyvp`$9fkxTA
zruJ5PHM(5FPFEF)I~b))xp<eKUG~-8MUl)uf<JrlICjdid)xJxPPXk|SF2fe0<8mR
zuV=+QJ~N9chMI3QDB~H51WE~+se!`eL{BKEbPXi*BQzt2YrgP7wiX4b8Q@YdRs)u3
zXK@VvuXX^f$5!^COTWwiz4{2VKU^Q4&;fM2$(_ze7Gnm+11$4haXS`e)%!-{q3F`j
z_g@Wk)!T(*{dv;p^5@ub!a|U^!{UJbqe77mpy4QX#Q`*g-Fc;RTir{bz##K^t0uuv
zKb>rCii12HnI19_S+Z9<=aHI|8Qc><ZNw4-&9ElRxfINDp;u~1JC30#q<`@hl3*la
z6B&;T#QAk^8GCF2pJ@VSS=>q5CdfR@WSTx9R0G%XO&HDjzMm$5r);zpAJR#56g?Ej
z4v4M;=q^MMehlEpil5houJ$7L@H4eq79Nh$ep$Aw-ea-fpL_t#DBY#HFz=Ih(Nf<x
zu1UTx6kUx%)3XJ}r82|Jjht<Sog7Qfq-3dK0b!=2jEyymgyjwDA0skKH_TI4DQqMU
zL8Ex$3Rt0Gw$yZ1mK^0kTRESIHK?0r-fN(fnTNVB%$NSyrg^$KB}f*Vxwu|v{dWl@
zrr4nZ#zceS1gkt{O1hSr5fx}#%=JR2ZhG|rbTk;Rd#h5SQv{8Z{Ra@Py#a*bXX<5d
zZp??gE*nj>99|hp?wGBaw3Ewnqbr#hoX>n5VK_UETBt5k{%(^|9D0`hm=E9#^H5#?
z>SSX)0N0XysB?k10wHNm2PbvXT=T<t1%>iz|H~rqz%8;InuivMT*2|rnud5y<ZW5$
zL}~P;kv}R38gh*XU4>(8=3G`OYS7=lEUe-!;g;){%FwUZG~2X4Fgm`$3v|)yD<V+C
z-Wv8NA3y_@#R3~JxZu%`wrhhV1v};*(fgvQXfskJxyd?>l6B1t^#w}!htI3{;kDIp
zc+ne7re~Ykax-7v7@s1XRm(+heRlWu2VZ{izxjXuf&cVB`J%T!`=-%iIk;SMFTJLM
zQGdDA8+f6U$%JiERH4Ctc6K(K%@E$de;*H5`lUo}r7Gl?mzTG1-8er#pU-DxJ@@8k
zFD@=_-@GxO&)@j^*T40xZ_)YnYB^Zz(dkX>wN8eUjb5kLXAvgkSU8=W_QxleRc|mp
zyK#2sH+{wLdChY_{tLh8*S-Ho-!oXRp1N_mTwGR*87*UAvDDO05XX{LiEf75Cpyc+
zFW`QORY7pxW~pFWU*Cg^-6<&7v0MbC+*lQ3osvY!`Uz#Ao~#kwv@InXyybEF?It9~
zyczr8BtC2vYJHH;b>U6JDMBHt0a-&y)ms;+jhL?^nIu^r0}PkT)`gv(Zkx@QlnN4)
zEd=rt(4fqkFBh!Vqy8w?Y&vw!UuGLaYpw4`Y8hhIVAj)QJl4lB`c)g|FoR~LTY&XO
zJ9(@T4`@DshUNokDy4X?y5U~NAjV9NhG^aWBt3*O!l3G^t?Ao8<}3YJsP0^t3o00+
z3u+&{BT@|G@E2j6Hm{e9)v}sb%XPI{5HS=nMXmuarEr8&s!&(OgzTG30qR#(^^m5B
zLG1`D02l8Nhm~O(5I0i<6CbP$klTW4PwVlv7Q?ldLi6Psm_2L&|De`~x}_x=bv+tv
zq+z^mxglvgQ=(Kh?{JkU>n-(jhdTL~Xt<q`{m%-eKaY>DdJjRnY+KUhXIH(Y{^R)8
z1#GGcmMR(7?(XUX=<#^0>s`z~mks5(WC#d$8W`&af1{H4U>l0X*=!EYl3LC>Rc|B$
zsbq{RGvTMG8Sj4%ht}d_aCF3DpV@}J{V3q*_WFa*M}dEYkP$&+k6i`I&Na+i-o}%T
zXP5obpC{o1SJTAp;)&PW5&tKRW5-E3nh)`iB_?r)>31GLv%bM#K`T+*Y^~x26uzVI
z^2Aod%c7I6&(^#?lItWO*9xUt&duPyIBRB<%Fcy%(g)BI#Y{%#O4${KiUP=Xb2QS+
zn$cQqDm+Dqhcv`$WYM(HPZedxbwN><sQ`>j#Sa32h!tvj>L<?Rlk;XwZSW%x_uY?O
ze6-^Bq|wzbMvJpd^ALKRIFw~=u#IEwciD*z0sk}a4x+I^d58`)=B#+8dE3>!@kx?c
zh;nXby8N%@QuIa*9`SHE%6zOUHPsDd+N&wMX1oA45V@2(0)t{pw%2FZnCrDpPJ*_?
zu%tXFDN&Xx%liDGl$)XtW8Q6dGV@Tk+`RQeAe)&_=YIiI66aE}xARFtl4L*Q@UEnO
ziAEfKNJ29$ua>%bALz#_(|;vD)Ghr6YF@YbJvQ9iJv!7(>3@MV63U}eQ~Svu(Ll&)
z5_N1t6ysd*RR)ASnWgO!p6yi?xJa^Z{d!X_K7!_POj#tZfqIo|>^^l1+&b&Pm&O4d
zU|uwGEH~q}+Xo*X<g83<rWgaIPBhYdK7b&ZEZ13?v7hEmOW0eZt=WD8I@bcoEVED_
z``6wXNimw)IfPulhHAukV;7^kbOx<wi=`NyNS~&z$^A<~Y7~_x3UzkLu$m9TNK#`)
z91wZiBMfTehMkujr=%?m*90VTv7Dx?JaJ^u!gH;%sd<~lW;q^@^l-0!o_e}k_ZFKK
zH_fPh<sbgaU;4Sf<P$&P$6egJcf!D2EY41+tBro3zp5%f<_w+r4I8JYI_ax_bwkaJ
z(5c3F73SI5*?sJsoXqE!$XBbS4wO$$?%ut_9rzpG@P>Q$?!EObZ+!ap4cuMLmROjt
zs}TX#D>AuJAI_>(HPCVSa?yY4nKyjVm;8ozzUz~J)fay82VZ#c?AFZ}Uwm<+7;jD{
z)6IhW^wr3-Pge+<wOYXp2g^$L<QNALhXjQsz?uNuRpRvAg+SBT`Y9{sPJTD8vg%Vs
zfSR-eHkuMPn~*BQ4nfO2889}49ccRi+SDl5_WY}fz<-h_u|qD)x)ths<tEF(3V0E@
zNp2qan<&7-oLlL&Egty-tuTY7teGei#W&KiWEn`5rIw~R085Ojs<6a=Yc-eR`f<+q
z5K%1{4Tk!TA~RqJmx}0`q^7$kwX}kWr=~4%U8xglXDEPLS@mA@<3;M`&G;}nzbe^6
znF{-1GP#l_oql3eb>R|y5snGErbYBLW%Sj1vKX}jw=v8$G?#1cN|+j9UhA}eBvAGP
zsp_~RFrV6(phW%<1%9A!jwT?4A_smH2~ahv%=dA?3SnT)4Oix6I@T8GB7Vfu5~v|f
z5mjnrK4xe_>8%w^@gZb_eMpHKdxb`qybIawM!~W<Am?`3w|<#xzAZ0N*3zY8klS$S
zYFu4o&dp4h@vFUhe3bUDZs66P9OD1uwB?Gjs`}sqXcjJg$spb-XPbk84jk=&Zbhyx
zOl??gR_o=e+CbsCX*xZ*L8bM+xPHYP(B3ay?+j$nGCuGbO!*`|4FCQB`f5DR0ra4+
z@0z*$_D7)`bS1Qm($x{OejC>n=Po;Cz1LM&2`&tY+r<;F_sIBP7mgh#<!C;{Ll%z2
z?do@ppUzisu*ryf1MO42^{LoP#)B=`wP|ZY&F8HKG%J`fZ^p=SV6~(ipXX%cQu&6>
zD<E>~vt-wZN3dCBRYb<|4Ml{*!I&E%J^Qv<u{Skrgk0_5!lsHB2s_%~Qnh(#*i4!j
zAuD2~&3%Lmpee>`hRZ^q96IeExgb7ibouEhweh6mb}XK>Kg7XRm^v(3_-H80USpiw
zrevgJL*N<LMtOr#qRSs0xI`6JD1FF9cFO7yVJD;|Qx-Sh5uTKr?bH@FCzFx)kvZ2u
zzf1xrJHoK_q-iSOx$fGBFP%5ClZGXR7cRqDMtMk4f+EmT({O)TUQ+b4a#^<I?Lk({
z*ck&luH%16b~U4Py_#*aWS^LF8G<2~zTiqBN#?VJQu+b8`cx%KCuZ;X+^h-maHG#5
zl0SxXLFOBbk9u=5qfA7Wu3t3|(m(>ac+JR38lq=!1C|Hltds;kz%@L4XaIC5EgdVv
z*XKwQ>5^4jV4UPo_~~PZNF|de@d-f9H|DP-wj3AYoSXGC4aPJHw@jEw$->VZRU;`x
zEm>YF7<da!%JrEnu+Ya+ISE{gM}_sJk#q*bH8Jsc(8ELZv|8)^7J>TkD|t2W14*@U
z5JNGUCGr-kob0l{soYtXZV|VOW~mee=dRHiHz~*55mOQ`T!JB=Q9t<(O}TM6IE+1>
z%`(em79H+n*Yh|}ALt~jH@aBN`{T*Y+qb^$JHGwT{<S~zpMAlveaoBPaCz}yadH0i
z?OV&GZk5>-u~8h4$5mCGoSd*b!X|go7>D=qG&=M7oaE$G3O7zpr_<@><t4f7wot}_
z+5BR5xxjhu&}WPJ(|4abJ(=7*8NKnfuNn6TPe1+i%lBTraWcIxdOEL`<I~giaPnZb
zymj;GU-@f)&CmSo&;R*9?-#!KzW0sCqnGd9yYtLzE|yCjfmckSAvfqFCJOz$TCX;h
z&Y-!h^oPsnSDk6q>jPAbVkY>^S7%=Ot7mU9NfU&aCeb;AMWt`Xppc80M>+EtH4hjt
ziBYM#veJQ+r9YYX(Y6s<Da%Y@MhC=_xL`<}EMLK4#s|=TkOB+wN3f0uswF_9CFJ!H
z>eh}K0_y=ElC48|xy{P4w)a;dw^<N2$g@~b3W`mAq^JR}F4R%1K9eBjJvkfxdf3aF
zOZoQ(V}dZkw-?sv7S&(}83|iYTl;65>O$iH8aOikle2{Q*w1d%(NkR-eu}>r?x?-~
zbSvBzmTNt9%q#<o7}QKR6mu`s`n}89%&%U8_sI0@PUA58m#m=D@fbEJftrUl6B9~x
z)Qg-TQ=?{U$Pq#@;wk{C+UyqC^l`lHlWQQ^20UOP@M>n1I$6QxxB7Kom)I-38dvD=
z&7z9L?c&&a_u>(ZxJcWpE>m6pdtQK2;fi=(OM9<CY5x$H9><@n%R09!Ze3-Ot4O*_
z((-ln0W`}TlMV$IG?HOfr@&Dpfj$D}^IE|i^h)TYvi4z7`9ZxMAg2mwE|uk7cDnG<
zI)FYFUF~wK+vw8YUI=&5Wv9!3I<%`u?g$@1vwu_fJMTKsZd#}F0awmQEBRx`Nf$~x
zr5nfE?+j*FKX%mHh3jhXb)n0jW5-DupF`q+{i8zBf9k2L4xqW_vl981v#RtP%G|Vg
zU6Xb^6wEFJP^&9O6Y7B&W|K_-SwW`0Xvr9Rd}X^7a%YLg5=KFnwcI?lu)c;aU<0Ht
z)4^FGPYEAD<F>pSY(JK_0u2Q46m*s?7`{Ct7hqHMc*_`Sqp>2x6#`ysf%cAR?v=D;
zT96Nq4+rELaO4H!SakW>6`wAB%ga*cuPqK8c+&QdMZ4AQ$dtM5IJfmnT+!Y}kt;N>
z!U6RbJkxGxJpp!u>FH#Kbkc(cf|;Cb>l>_Z(6VW5`$g?~#DG7Rlr(k*0=xl_5tbVB
z76S7$tP}$2Q}dAr(AFt6tyW4(G;aLbXqa+*%388Q_Q#UaJxd(HtiNT7W4?SY&`|R_
zY~(CJ2k6{QhpUNd1>>@VnL@6^2t66c)oN1i5lbflNiXaM7m0q)KW4iFvTCok)J!QU
zspFQh&Dw3RDJZK5CJhg@CIVRsK^~rx)SFuP#sRc=_h8*_bZB3;lNnI@oX0;39@*y6
zF`tnRaO0Z_Wv;k-&|2sm^BGc#lcU6kpHA9;^M(|n7W1NUL=%~UatjOg$GqvN{$Lw8
zi&}ssIRdq0(61B<lI|d8InjfUEs$bO|BR?}81I(V-QZB4fklrvhPZ?N(C>{7%M|f_
zqN-l2ARx>7w7^M8NuWw30^F~n90yq`7nIL*>)Y}*)RsZt@7CDr$2)NKH>{-iM9A<2
z&xds65+k~uU7<S~tonobs`~wZ><@n4&-%Ha@XmMiH`V$5m!H0MiyPw0%geKyH~cIl
z@V*GjqBosR@w|%P-XKZ1*i4F<>Kk<w(euuyr}O#z=FOWF0n;h>SCZekdFz8OJpa_~
zJ0E`W`N?2&^Tye5Jb3LhuX*;Vr=Nc6&SkYA%op?7>Dldjub#i=jn94FulOau;OBn9
z=X}oR-TTmsr_1^2aD>D69^Aii_om(-!bZ_Ade%>R!~#OUt<`8cVm;I~BO<D960Lbl
z`O6X!PnBt*z(Xhv5iQ1cRX=eodDzIw3@^SZv2)a0Pv+X1<zAY+JXu~IZI{%@4nt|0
z^qd=`*T@HjKryL}Y~n!>^T^G(C{;@s&ZHq-x6vSJz%!=hM*NgzlE$&SHND%clX5pU
z=39ii3g%Rem3j>K7fbFK^pd@iZcIiazXC$HCw{mL)u>wC0k{${o%DTzFiRGF$EIR1
ziUS?%6Dx-<);e(^Z!mko`d}nGp)6YLt8Lt<HZBlxusk%Y*bm?*R3Ev=-4>JyVqR{m
zD`G*QN8$qv3X<zU;|nez@%@@}p^Qw5PbO26mXr)PNKOJmPc5zsU?gITIZbfu%odl(
z$>CoVQAmxDt7_zykcpqFq*bqv<BgmJ$^)zvpIxAgc3H%{sr^)Z3WX9~@-7^xpVe}p
z4n&te(Sw$`S9|iv4m99;jYCXb;Z?i%fx#?M7CAf`Z5*QCWq-#9Z!cQtvhNGB_X8|S
z%#N!Mpqb)a3Z*vIg~n#-6t13OXnVwL4B{Q@D!A*gr=f*qR^Cg19eLgMT*OQq&-^<G
zx2}yGhX%UzuM6$@o{@!v{y2L7nh&52H?XVuC0w}&SmxXQn?E*grG9DcNyopd-Yz_8
ze~v|$Kb9ZfFV_->F5}>!1Lzo0+&pO2JDE(q9YGTz$}p6i6hG2xiA`y1TBGzs#&;#=
z%g4=R4zQ1lV`7$Rgc;$mHnvWNg*bzjRNwQW3YFeHfL_Jx-pCanw+(Iut9(=@xb_-)
z+aSVhjmDWrZ9LJ&%Ma}MzN=a`TVzDRz1UuCN|a?wP(|W)(Ir0`#l^2gm;Ek3yX1r`
zal7c!?}F`=rOaPj96In3u<wSH&4G50AEEThd>NTC_YnCZplsVzX|RDV|GNrw`H3ZJ
z=8uI|gLYLdd3`9Um89k~)ef@Ybsmum9t2jbWWfiW=9i0=o;->JP)l?(Inc*clqrpy
zhvv4Fbj;!;R<N*vT--^c)O1!`V(h)C0}X>2<$+*H0adt`JU2n9<C)(m1&B`Kg!VW|
z)^b6^ybqwI6|lUMiElS!5Z=fNrhtmJj8^?2_xY^*TvtrV;7%G7J0%m%+jDnYO?}-^
z(`X9=m<v$KrBtrE!DMPAUQhHZAR*DU4?a)?p|~mH+6T2#lubRzUC*{`aq|yUi?ggB
zsH*K(r+pbtS@nkp;saC;^(C13K$bx$kvP0CK_xd&fNG&kWZq-LNzJF4H{gY+5g=*b
zAi0$5#hTSZJ@i}Fn5E{S<;b*zS+4zqo+8vq?r2PN#UrGXW0Y#p0GApL$4Fg0<)N^f
z-pUU&0ljlM_9{?Z<$nhdkQ;wxib6IESXE?1W>;hSQFp0Z$mcj*qg1p#ZIF;N+WI4}
zKN^7{j#pIc6+`Ii*=-!B3JoWQ?3$Hp%q(C7bh)eslj*IyckW+Y{?NPM{k32JHDCU#
zzwFM9v*qIQ#_70P&V1NCh@WLvy8<Cm)8H*+Ajz?M55~Uh?AFcYY(74jT6l4B0fQR3
z@HcMUxH#9@^n(WvrsL6cGFmR@qtW1%mtXqCx4mOD?7#6XZycYV@qe}Iot)kN{9pE;
zeE#Qu!Ds)hpR+h$R_B+u27~4KeKmQoS+3^H+vR$RmCI^TZS?6LaT@f7BZYxh532Pt
z_M2NMj^TOyB`!Lb&lIuSNS1b=@tP4Kl~c#%gGeWhNT?<!wXD>@4Jc;Gm8D&1IMq+6
z`2ZS5f9fhSvJYVAs5&H0YS8WTA%5zyPKW;hiH8lm9dN@*=2vil&=ug>Z&TcBjttdM
zt^!`d?G@+Z0D-DY3#dkQf`Toh?7A5>@rFGW)CNCtBYK{XGD|Lu7F@k)CBeCFk=H;(
zK1o+7q97v@>bgqWiTEVLIyPm#_#AoXnj1PaO&^d75fiFreOOic@MgBGxWA~XiX=YE
zdMpe4qg0fU5juj3fUZ!X5Y1(ZDHL=T7LaR-4W-FAwOXcTs&$V_=kqxf`-IoGPFa((
z)CR>Fl}Xhm3!v1LZXK=|DhjU#S1kl+g8a%Fu#;O1k}_@}t9eEMB#wi5D3(o=w=I-)
zm2km~ob1x?LYIE&o?*V!Z}X*omt})oE0;wc0bTwai!T4W+&iSM$0^%|vTWO1V@D_E
zV;fyQbR9sGLef5fX16h$%{1}rG3+ImSt&c(hssG)z~#tH16TNCrnCcPxqwm^6j0n2
z{HflP19c^C7hV2e7rN|!wES^j=i1!`nK$z|2hg@wwyxyM)>+<F1G(j}%)FVl{l|&h
zla6^8+R<p^Sl_IFz40m0W#@6~Ep-lw!yz_x0F53iAe4;<c4IXJx{$LkgRWLq=(7|u
zwnp{0vAi$wP(zI@U?CFZ5-KMFAzA3;QZSYSGwDf$*coOyC>LeJ3b}Ori`}P0m`~@+
zs8Qp|$q9QYR#jS47fgUhVxFdv^no%$EZ`>hkXVq#IG~4z(n=YLJuVrRgZ^3v);Z~1
zC=$bbmXsF^J7#3QEDIXRvPed$gAa*25Un_0jlB+lhM(7tu6mEfN6Y_X(d8#{yJ~8+
zENr7oUfM7D(yY;C!6-FLP>L+)dcHUbY_P1TAv6+SoHibUI6|Tbqk4zNjrSgTmwh|7
z2RfwVe{y#ytIl3|qwNL~ue#<f1UR#fZ?$J(=5u7q5CPxnm&y;p?%`ubX?DkyAG@mk
zwCq6mX5J{vwvYLCK_qwN1+ODBCvn(5v*I<3lu2|*S^_OgSt6xC@Y>!{gL)a3tB}6r
zqJumnI^S7yGtIxXDH8O<dV1zMP9tzgaxOh#kTHN8T!!fL^njRQPrL#*{7FoI?c-6S
z&ehFHFg5yH$*PL>hO%BstZ}KVb)_>?YN1j&AD3?=$%lZ)5^yfCS)vAY($<nZs1JNS
zkMd~LpIs*SW?#TyHqSxvaR?4j@X4%`h6;xd1`_rF*-s1tx7x6`2*n3VbC!=41|5JR
zvA#i;DbTyZV<VxbFN2q@$Q%rHh%8NwmcHKk)!R%)<K=2G9ZwdO-c7-#fK5WwPn&dP
z$+&=LPch!8I6IKLckf<YTui4^HeKvq@JDXxx0H8Xig$>>oSvS(^wLXbXD9ftJhes5
zi5O@@63<GFHkHn{C|0c&cr~4lUwr=g*S_|d^=dg{>xD0yid~S#I(&aHuU4DM_+qu}
zpPjyZaq;Sd`|taa_x+8(`&WO<FaHg<CZjXiT<Z>~w_f)23)Pd+wB1c5<W0RX0}4Sr
zC#jl?xe1HfGLFw^Hj-7Pw^}~9ykKWH;`Vs69#1DXZk*n|bLaHz?Cxt`fA@8-|JlF%
z|MrEy_=|tWXZ`F~UcSE`jJ5TuR+PLkov?wMpWj<mi<9x_a(2P~jhlC-Xr+_(*rdfP
z9QdDTlVpE8i1+6@@_AE7+vvPyr8lK8Qu2@ZQN-`h1xl)+%7ezCThhbYwvC~LKGes8
zV$@~sHSxA)SctZHXtu0B!6eHT76-?1&?#Whp{6Y;(-jD<gFBfgEZLOT2l()(@IPSx
z8D6EU=B38?h*#AS&(Tn?1*cwu8RbPXXf71{jy4pt%axw~(@*LtZn_Prk?tcv{y-qi
z!~swJi68KZiKhTqSLu;|pd`_VcHk#T8tDTWd~tbZ7dp&Y{D<N{b!X#d@C3-zYNa2u
z4JbQSav7JB?ADdWtE<%oJ&iH0^D#T4z2tB?>0Mr4YU+Wt0?2I<vt*?gDC-07WM`#U
zd)q7^24*PYE`ui%1yCnz<!H7Wi+x%*pU-LCWO9Nhe$pAnxhl)LUbm&BeuvSHBx)%S
zxC=&e0h87=QrV=~M0o)1@oDT>NPmS={y4ynP1$pIXxSX|4Ye*<$H)bpY@kctg|2!_
zJ6(K<tNlM5SG0>NTuTlnxI#a1yRaP?Q>$g+;kdfq(wceA!I%!_p~!)kmo~cWr~B*p
zgqYHrYiTJ9u~(g9%yaQ$DPVfuxN(Ci$qF+bO+6)(#x7VL5_cfVH7eltcEJx8z?ixq
zGzX`FE<cY2b`<WqFQ7TO7uQwqvFNJz3jbZi)Dq|wcAQ1PeE<zBQAa4O{P>6(1l1LA
zGUu8B7M7BaB#y1O?d{e6f2_5OH33R)LxC~ohLp{LI@v~9yyR^kWD8}ojnaOp<1ybx
zI)L`_QB~;`evzeNT^>MVfjtVEK7eMUq$yBO6)Eq+LOq{TBg_iUZ3CU*Snt%s7<{Sb
zy^@VsURMFpUy)eWtrNF7-g?RoH*#zrksz-NCa7G!(T`g%Jq_(-SV&(k3$NmyGqt+D
z@Wf4alJ^GMgvRgE5HS}tqDbv)@=&y@Z?H46S_Wkk_vGP?=EpvsbWG@lk7U>%iY{mJ
zxH7fc6`r?8R~u#V(yY;zJOVJ%wrM=Xa>oI2SG&q1q{FcP47$s!<Ly5r{#4|;Os8Y!
z<Ic6jlx4<DhLd_CxaO6Nur#6#a=6k<a9e0t$Y8Z2%eh(SKpb-b-Sn!|Z<SS(w=Ig?
zF8wxd>f-w}ch>OCWIiJ-u>KQk^_afcuUAMb4UMnr(`Ce9GuRAPy_Md&I~r~(eV06*
zKGo4}rusc8YxnzHf!J@x!8Vmp3+=_LOmpqYF+Y{V-^h^vaJASG)6uvRMsW-q<&~6v
z(Jy6uD4BKQ>bFfo@jpZ{4(qc>)6CRVOqNiElQ_C<PGO-u*~~&Hej1Y0ZMOyBQoa_K
z-ugOD!=RQpt302wzL;8pZO>#fVV@uu<F&J{eKLw~$i}rF30HqTnK>M7;ytQ96Rvk4
zdI}g`#iD{$oE+gG9qsvhGM+rRytr|4N?EEypAC%c$9Z4)&Ohx;D9d)`<m80g)Ht(#
za5g<bf+jON+9>0yUd_P~ZRC((knP;*=_&F!7G$L8%=h-~n|>N`IbWRKIAbucMuP{7
z*>C%UzoXxqZhD)lxBSh&{7dhi=!STL=6W?6V~{qid!ycv9iKxNU0{%O{6Xxa63`i|
z5dtdO_SL19OP#(sG6WOK%+j%1#BH!x&MwYheemk#{6cTp9*sZavwr%2`a8e;H+<2T
zed<sANwfR&#bWtyzW?9;^}q2qKd|`FC%@^FPp9Kg`Q%S}>s#J(=l0E8rzf-Xi}~z=
zN#?QY8s(TCZ=X_WHD4^(dP*I~2qs~HhoK|T4{rr|i`&V7raDGa17qKdj^wfCJ4voe
z2K>-)Qp1}%i^2$jT3zY~96l#mC^BzK5vf|a-g}d@50>W+h-8WYG#~Jh+<O2WkUu#I
zV?KLg*ljGN54Yk?*~AU1ps9u1$Qx|lweGFg!%=!w3&Pb(kGWLq<>~Z9GZ~wCw#z-$
z6M@HO+K`t6o>d4V*=O}uakvv%$#b`ze<@Idv<X0)Tzd}nWmo$8oxPZV@hpxs1Jxqk
zBLLQNG*NI6-1dNO4K%8UdMgygJ+u~jtFxYT2ECzfvNR{->0qc2pfyk9BP*~{Lk09l
z6Rj->qp(W3iuqh$)yKV(0wylA{&J!Bu%pTF2I%_(2}7o8=%pn!NG1+G>{()3S0P$z
z8u5bsayTWO@^HCC*8#MV>Mi+JjgJOeK`_lgZ8k@*tff?FgWPsjHvagyqTa;q>Kvk9
zqD%iVf!V9$b_HCpES{~k(PjT?d1<Yz2;K}d$vY09JK^zs@BuVRv)OD}EpMD{51^r4
z?d^I;hTYzSsH@EFv>c$lR!Gg?jYb=t_5M4GW7|vIatxg;g>4{r7Gvfke*m3%Gxjql
zGqUDK9&KkHilh901pC*5u6i4CJh$^)U)rs>!uc3T31vYx2~Nsx%|N?MY12|5tCjXk
z=tl@qa&|s|4vBx9L?etX5kjt*+_A8?;ogbnd5?%U`8u5|19CPniUpCZ3@5uB8jNHR
zpp#7KS;e%Y^)WOesRn~$B)3)jl7P^$zz)vhGYFeo&0GsS&4HqWV{8LmT`cta3Ue5d
zgj_ow`f;@gAx3Nmj#4OxrsN2rSP0#1mn0@y2b|2gWk=dbjs0=!L~$`Y1iN*8?BXNr
zXRa=H&_@^#ZLb}Bs9KjoyIt1I@<y@?S35xQQh_9M#Ed22>WaGTcj<S@_oKho7aR5+
zKzE{Je(m>DkESNJ0nhicRN}Yy)hWviD^=#9Tc&to)Jz$Hb~MWMutYB2MEwLbNRq>V
zei^A;T!so4yxO;;T2{B^`)ePP=60248%$uW!`%7?n5+yh?-@uEx4YgJav_Q)IJsF5
zxkfR9^lAl}q#_o7YNU%Rs1(VK|8%w3=vYO6YidK2(Ny>LlncteH+i@n2drFN^o(j8
zWF#N#e~MmsVn!8*O(b!ElMYqK@#AB@PGN>zCwC%K9Qb;k0wlvC2#&wiOns=A4uU(5
zjG@7#u@w2K6ID?<Hj-LtKUv<f5KPnpNK)Kooh3<FW&<Np%nmC9`1~V;890u<+uQbk
z-HRv3BjC7+T6}|cxLRue5FZlAXXF5WwbIwBTz0XTp-FNwnN*9pjA{^IxsJnduwaE4
z=!syY8V@z%uxl_;X{_m)>vg5Gt+VOr<>e)-!RhJg{Rj8-O|RkT;^M)rTesGFPFJT{
zSRNw{6O-ZO<i^?g<puMYs#pENa;4|57wgT<+qcf=v#Qs>fBxX9r=FQD7ro_jaq;r)
zv(xi?_y5?}{?VWJ(?9=BZ+a7!=ZnjUUOq<is=<17G8#^L{Slk9et$uW)B-^*3g83D
zXh#zRJ=W?w@N{xbqqMoI-$4wJhpyhQyVR4ev}nUd&2O<?Y&P@t`k#Hvw|?4B`YE6K
zX+P<`@BiSx`TigHy1(*uSo)p6_A3eGzx|;f{FmSH9sl;lcW-*5k9+Q&&%ODrpY{_z
z<?h+dv;N?Oo+3nxYNf63nu##iOR@+0cqU$|i(^!QKXf;sSE2)S>}cU;qyuO%OrK~e
zStMPYvXY3Twur0cKD|q=u8)PIu^L_GeO)lDK!$l}K2`>nWJt9*fZlmUM&wcj@QPs_
zGvQSF=7c>rBA@9bCW&exn)yc#b4Mq6oRU%z@^ze>xJ902Fi?b&Fx&c?BWR+-XqCLL
zr;l;tWIWNwd4h_Y)Ah8cx0EyVyzK|J=9wj(U3d*l#RFQd>sLU~hPcB}&)^o!AdY~O
z|8Y}iDy7;ENlV~a4^S{1O6xG?S9MJITh+hXH(Si(sb|g8u&4@c1W8}(JQ0hw!00QO
z@<f{W7Dvo9o*Nc_Id!0)2Gqs?<I8v($;i_xUYa4{ayhT`fr=I}su^uxuYm%Uk~D9q
z8vE?H1gvlPP}rJTzrc1DINi9gXL<W@*`QxRGP1393$n;d3bnPzhngJL+*l%$d7w(`
zTnn9SBda+Hx-=gRUDmGl>Tq1Uw~rr+(t^=2TcWFqW2?q~yU3&YFC29MeYse!mN!o8
z1L*h|yKe99bdr8z4n@>eHl!<(2}j)=fnwb_1V;z-Sbv@{%60M}9O*wj<<8P-{}DWZ
zHf+r!B=hYmt{6hs>rWfU+UMf8*Z(d%Pul-u(eMY)9sFX6*h0$1wmbtlI}n(hwPlWs
zgEu)DZG#Oo51`S5N1}HZ>Y}TjU^D80&Mt?IH7g)lc&sU~Z$k!y#MpV#s`eX7mL(13
z1865hZM#I~>79$$?JW$(l*Tvu0EU9G-_kcvBRg3}ZopI4%5it6_a7mL!3`n-AB-fi
zKNIgLg^>S~5RBp?5pn^>_Elw6+F-aZjK5gJ0a}V3ltnFpW=Uv*osc$=>q_W2AnQW2
z_`mBoq`jq1?zoRI9_nY;NNeDu)xXS_Jc$f=5DUv5cm+VsNnoBLPCh2~+sOye%$h^!
z@o|oWxowfG)@4UeL`Ge4Fs6EUpOj^Nl^kkG+%RKGG|qGq?={4HEFj`zRnfW!8V;B7
z&si||12rr>5a{QgF3ZYL-Sm*_QOuMspsYIbZmD_NfAzRRVg`^osMmjBeE?4p3xOpi
z$jw4C?f3-cim3G*z626q7hDQpQ2d6A)K&t_SQ15bI#7aUQIyPvK3A^bRacqi>kCrK
z`T&=xK}Q39ksJlt<Q^#EhQtRDM(!7~e7%E5GmajU1H>QRYB0b@JpO|P=bD<y68>f$
z>fos3Vhdp2-U4(mne{URwNBy-KMlr#{PY*+cRxNsJ|1ny2|CJ9RMPlq`#&6|KtV@(
z2ZM@`9K{cF3DJC+2n^%P^>qE|sUBQn@1#xChU6()5yb6IaYYlSC!68KTL{eRhxlT&
zPp4D%T<iGFdMcd^{cB))@$$(;4@#e3+>hs=&xsPoFK6e}8^_M-P#;mv7ndkJcyRCJ
z?DT~fK1_%oTwMN>Z~LZYPoq$$jlIE1?{prI=U2Uop>x_B&3pHV#h3rG-}rHFdG6l5
zS8(i=doNGVPDT?J%XNRfIvtJ1dJl(ut58)G<RlKjsEPGxR2KxygUM7M2{9T&S$nOj
z(u1IQf|`q?24$!+^CvfM%@%VVQ*Jh=I)EE5*6WMS`fvW7|Lwcp|NX!7OTX$*{J;Oi
zMQ`>czxa!vefqWQ#eChX2IJAm&70#JH-6yV@A<ax`1bd{_x<m`_kq_8o_g!EZ~o*@
zc-PyXd+XiXcl?|Lt7Em+AszKn=|vpsP2<&VnqPiX$4XyvBVcM9@gEIV(G)c*yhT|G
zex*ae$HXvDYo=rj#+2NB0$LUV$#NY)p=OkuN^fDg8ElFM&@`jGI;y}ij}n43!e*Su
z%DyBuq`<;kIABUEd;o2}lzYNCfQ$JY3Qzr`zJ9b5-~%C*Ig0f4Sn+VI?*R<QT9t5y
zefxS7XZ>MQ9}wtSX_Bgl4oYRCQr8}Q3Sa})q_lY&=pu9?6r&C)wy_1n^%U5D28R8Y
zC?>VN(oBryg)HKkUDbzE0Zbvx`V5eHV7aO$C-H^)wQjpqu^N~nhU#dfH@z<7!z~+O
zNn*)~5u$fA6CtMVBHq}8H9SNId-&du5382*Ii?o#7?bh2^=LYQ#+M#6<FJoQK*ef=
zBSPp1+yf?29YbT2;w|jR6R&LZiKbQxU3PX*d_#1v4o2|Xj3q~*s}v1av|Hmj^Q8pZ
zWd|c!2b#+|`Q*^$&#|~JJG9pW490+WGHL9Bti<hNZ;?l^b1bsM=AF!)do1dQ<g~b4
zeE{9-kGOC%g>T%rff}>e2hb@uu979#QzmW~oqk4LZkJ)rQnG_s{||?D+{d7+w;XVL
zMI4|`rtRiq!<MfB9qm2Ve{1fAvoKN~Kp)pD$D{N=j}YLtv|-K1$93810@uI9?ZS)y
zM;=}6b<Eqyec@zAmmM}ziQ7flk7Ze;PBv(lKNw0(Agh%&OZ1<4>N#TV>SIqMSCFvv
zi9XP<^Apfi%ASe64Ld@Ftch3$ja4|;WT9?R%mlK$vx7C8c9vJ_bpoXAVS)_m9d5a<
zUCJ^I)stuSx6DY<Mk`Q_0dK(5Omb-&$!PLMw?eftMr1HH&OU{QrzvdXqCrY>LmR@K
zRmMp(C6I(O$eXmjaps?UA@zkHTxy_g*^pyLUI31TgZX0@hxlLWbcOn(4m+9M^YClq
zy8Q2oTlq{@3G}HNz!>mM86S#u0ky=n8rVRoS)xn73$Zn1t`WT*%0_X&yu<&ldRq@_
zC3N{8a!fft@z6N9Osj+?iANkf`lc@H+$_)f`c<ZSiB774yvNNFBOmq|@NTL3HptCc
z)CY2M%S5Q^q_vue+!S-Kw>kb);aUuMjjLG6Q{jM<(O&UJ<TSA>mp``ew3$4=$TDLz
zK5)&YrXzo#tAZ|To2&XAtOZnL8DHymalJ^@jE~QK_+A(XgPpHlZhf$G9tX@dAw=cD
zZkXRDw|r>g5EP%2bM*nVvr0P_reor`QNe<Rre?B4S~ZXT93RSNzO;}Jpq<P#k4f?M
zb(W;Z0I`stw%<B{=JpQ?kf0+tKGDX8|4`<IUn)(~n-R<+oK8<|hhS1xXFo%|z=1p{
zI||)5E|$}&h5?%dwo+JUv<&?Ob-213jAp~rdzX4M1`2m>-+uY!mu{ZjRBbE0#{=E)
zL2qn5KR>?|y`;u__wFqgi+}#@-@@{;=q)C_(X=<NdhBD^zHEkQ&{lR&y=u~1PkMuk
z-sM?uGMDDybAIyAym{ls>tFNQvy;=OpSsH+ff>i=B_Dd>#rbM5nV!b0s4rIQ<!Cf`
zaQ~HCw{GBo9)i~FTaBX0gn~xvd@zE8#6sHZ@Iu|Kz&wZp=)pK0Kud>_4}2sCYyqm=
z!SF#G3Trc}R~fH+!_jy&=}%8T@WO}x#y9@mAG!B|U-|QY`P-g-cCcEm=ChkO&z}GA
z^Upr}#<R)vxi`M)#Sebq4R3e@_w%owU;K-2|JUFDo*()4@BO|HtX@6q-F^Gp-}MO}
z|E@Q@{<Uv>>drdO8L5SkQZL<&Kc3h8(~yW!p^pXny+yTTHrhiPiU0I9q4PliNoanK
z7#>Z>N2vF5%8GX-!;q_Sy5+seOeSDRry}sRr3}l>;De!L*iY8N0cTN3s22r8;GK5q
zx#@D1zLJ@RiK(CXE_3Zakt8OBw3;uN1@QFha$XTX)X-tZp+oS9F>3u$pV8hQ4UsR`
zdIbmZOtq+ho_3C3lU0xS$!^I*!N6u*BlbY1=*OKV=m!_g<509)yKGFT!#fV3vExAk
zgM{MI1f0{GH(*F&(z&J#6(|A0Ci?P`D%>wI*zKN={x{*0j12nKQX=AjqK4vVu+}rw
zTp;?aGG6&H?n((IHO%Li@#dJ-rqZp-<n)9o94;|FwO(NjUQ;NBgsKmarP}LYX2$Sn
zvCx!WQ%0axRzn)dcFO%>Y25Rrjlz7ME?d}w8c>)z3S9*WrnA&XR1p*0LQ71olZ9<i
z@F@K*xL_My^6RpHEUxf}EC6G`JF0tuLgHGWVB%^VrTl213eOa|UU#LFRyYt8(I4-Q
z>H}ydBRP`9{?02~LVt8QPY2Mb!PF-+`_bi3s<#Ep%TisMkA{DL0Bs!Wzcu&5Sz4?=
z1`ePja}UZ9^*FeqifaL_O5Dc=9>2Y|&=r3lK$p3tey)AX)K5}3sF^nM0e6=|13G~A
zc7%ivX8{Xbyt5J~Vtcgmi=lPbq~D~8M~PVqvobWS?I1PGOKLczDN}<=p~!dJtZzZK
z51`3P$~!x57vE03Ff5^|s{q_MLA_tZI8%vSY#P=#AM-gi4Sgg&fClhTYud6UQ20=R
zU-^a>2@!){aj7u0<E@JuPTIIpDzGy*Q!0S6qMfomeIxJ5q2c^T3?Hp}KW5PwHeK=Q
zl6(AI5mj5x3Y~U34K#<elfM3z)*2N(Cc5mD&NSfzzFn%7XP-O{Cicwnu6px^!wy{K
zMxazEZFbt<XD=(mWJHpCWeRM&-W2$X(00=H!+;R7LqVi+k+Li{Tc#Y<E#1*Cc>2KZ
zWucSyKO^V*2-jC4OF&nU1Ju4n&TTVBzrG%2IhO%5)Pm4eXP@y?ay<>HI6!+VJ@+>r
zju>IwTkE^|t9U>!Uc|wrN6)w$anhl`1gJP##cKN7?=St;D%GEkhTVh2&45>>bxgSS
z!8;2bWdwX>G;H0xb(}O!A1N_G>RhF2eU+@0`CIVYm@r4Se0a-Ws4bf}qyXyiW18h|
zQ5k=oEY+H3hI*pBt}EbL+}_+e00TCa4xZ>WI-=U>bE)BY)F0LlCH2$$Ot9<Tv2j+{
z;fUP;8w?#RAs!9%>Hx4@F01)sKEGUm_2xm<U-w5ZfB2>E{r>O1>|Km|L;j!jE~mYz
zj^*_66&B+++%z{fr@fn(y*Ys#^#-5)AN};x)9LA{9*BP3YhF8^4B>Cyym9Ns&6CrK
zp3U#CPbPy05AL0wOm+IlW@4ka%;U=J;_{h0cW<8E_>p(NhnSqki=@BpUw_xV#b!}$
z2IJxBjgzw*C%12(-FxY!n`e{$yqZq*P%up(#I&bB9_ds0YT+OgK%xXyUj}g4)C^8S
z>1(Sg#1XEwj_E2^R~tdunkqINEQtSLI90c@lhaQZB3<=I%iiFHd-wXI;cK3L=D`ck
zPuHvQu=n8?KJdo3JUbc=KJo2ufBwDi{c#`nj`eDFIh$330spV2)AQBlN1p%icYgm5
ze8=~E-+O-eefKV2z1cf?>zm*5$)EhmZ++`q_3UlDb^}Dz*Lngyp87{9FRN-iozM$*
z4_DA9AfmAjC__8E#8@J0F{r#$SdI}&DJ{wNu)|CU1sKv!ich0*3(G@S%Y`9HeZVam
znnq)PDs9{JOB?C~0m%ca`bVfrAv~Vgf9G1LHU^_X0<Y)y<p7=TXZd50Ft`jQnF!1j
zJ@PUlYWn#>rXq3HNXXaXunBN=6?X^XYoVceTq2soUrdPD&m__5wsVyy_jLfBu+euS
z<#SNnFi(r%<yAn|<U_v~Z_gkXpEa}Nm;K-wCmtAR`dcz8JQ~jDdS;n8ld=(5)fM9b
z7Qw1gDFTF(m{O#M`Z%0;ODD$3Y_7LCFO?#&Oen5^WA1ovoSY(GtkN4lqF&txF}qbA
z|LXp-sjV9UBnI+GCgn^WOrw@>i?@+SY+XFT^Q8^1|Aq~_AWmjC_|vd<IJydE`;LZU
zy(_ewWU1DMa~~g%Z|Ax^xf)%y5T7!ukvtrG3nFv}wQ-I8(k_Ce%YGM<k=Py4lvo2g
z51=*RH+1H8V*mjE^hrcPRKtteC6l*t0DWw|U9dl;wYKE3(7r@niDrl&iiqUL4t7td
z4#1KA(>v}UM$X5=D>$O&X4O|zdTryX1IM<P)nu>#U49;G|GLmsujPk#LDx9(!xkW$
zGQ(cM$r5CB*=Lhsrr}bTema2GVAdj@Za$IJ%bfOG?2owVVxVg~wPfF}m+!F@x(-a2
zl{IS02haeuj3f$B#HH9gu^wxen~cb-%=2&m0dyP>*{1#kLyOpBX_nTX>T8wnui3n5
zQ4F)?MN1y+9zc7;r!Ub)F3M0B1Z<lv&y=!ktXIp0?hj*cZDnWKhc?hk+%8<uz)s?j
z#}At%zR)q>rvLr``q5zfIl`IwXtlQsIA)hhhqJJaE_rSsXzN^^Tf(<YZP)^3OH-hI
zsMJts;i}pnAK?iOG-)`sM_#UPB|4&{b144gHeS(KTVT;~vVji!@(DD|q8y8PDq;po
zXAHC$Cgm)L#)2<6nUN0!jgTFRd=v=EvOeZBwC7exS%-IMsh@eBJesK`x#6*=PbkZ#
z<I!DV#-3Vq#nD9p<XjkEJ1i;Wil-V;zzVsImiTfYJ~p6(jed;^9jGGAl>}Kxg2!t;
zc1w=VqvK)(RwM#U_rcDAOB^C>2I0E`LRxg+0W??_4rAPmb)e>P*bLO+XzQ4!86EYi
zgNm%o)KrXl;J(u(xISajH8i{hsM&w>Stz(&yTZ)-xSS~IPhriVg2dHD6zjT{(lQhW
z=nEKiL2O0_Iv>Viy@!FNkNj0{v#i$a=jO}BVpT1c%lCco1MmOQ_r6lSH0%vVy%F}S
z-a_w^R#HFG%>V0N6^|<G(MIS=Z}J)c;ZM17dZtske*dj+eG8?glkw^4^v3DwWHK2K
z)6S4u!a?mf@MARA!`BMiYQ2i1TsC!bTfH(|_wn~+IGLi)Uhc-t+k|CN>D2)@ZrytD
z;K6uu0*@8sZ1e8lJD*O^*z(P*`HQc-uvlKa@cakf^z<|R<?=><a55P7<9!tU;b=Y5
z%P5B95t}E!z5#cbgK{c*Hjf`C4S4o@rJ88igpXz^)E?(jj=_({h?Wle>`}?Nn6ECX
z)$M0q_y7HtZ~2r@{nX{<<@~{`)86XVczEY*a_8>Z?b|oc&(B}?%xf46Sf0)1larId
zXgpgk2>Nh(GCDaWjL*OH;pbmI|IQzH?{|LB4}RynzjNJNzw6m|ebOg=(z9=T;~AKq
z5MDhps>jM#bP7J>%rd?;Xy7z{CPXU{%Kw@-vfPWE;i;Sw@xzrU(0mJ3J|I3cEN|cK
zW+N!u2TRJMWSOr0@xva4BQ+l<w&k0n?UL7%Ft9ZU#l9<Yml+Wvow_pmh&;*lreZ|n
z!mS%OFljZMNQ^4c7M&i4vZ}4(M+j5Z+bgdct^%4o+mS=uOqCOZE#EIlRlr5DOw=e+
zv`!!G2oWf~!rRH-MvtLjE%_g3(3U{W;31UTjm4r`uJpPPeX8V#o#k;_ndMS^SAbGj
zBNxeZdP)&%B8Ty6Oj0_rLL#FS&`EUual*l-TCOiIFR7D)CnqOp4n~vlWXR0m9z^#<
z+>gW$rP{b7V}2B0<i|<NDGL-I>QAR*x`IGmq(mJ|A>T7XvvFkvthr+$Ub?@lBc4_}
z*+5>gL0c!)Sn$W9t5j}yZW^Eq6rWmXlxllng%a8L;po!us<+fXwywv))pb2W!yCvJ
zOx=8_`=yOT;#0!<Wp2rrwRc&*8p&FkVj5BY8D4TE@rqO&KyTKA%lV9{S{^`?j3T>m
zsqNEyJLvM(bE?d>hh6$*1e`2|d(gf_U5O4W-8k|9_eo>-gzDk&VG)dJj;)hzkYybW
znvabiA#A&PU6nopj;)&T9p(Q=t7#8i-`p24ZE9F^S)W5XnHBQ=J}3i{@7d8ba?(r_
z^}5ulu#1NrK$F4{jDBWD$K=&)zVrb!I#x!ZY>cTT(D-Ivf+YrvX<5X8*9+jZXWiNX
zp%Zkwq1;x=9QNXCNtDn&FCReTKY&3q_KM9)5n1AHV3mhTUwaOnyi=U^lC&mBUz7{z
z(KM8(bIAQ=+D#fRVpB=93)^#U)`6jjd85vfDLr81n-{j_v6&`Xx;v^RP$brg^uwUi
zVWSSk<Kw#Qbm6+}clC?oU-pY>qhCJiz$=HsG`s5g)kZluyU>oU%^GEOZFF6Ksh1)y
zWgk*9-YM)PwBdhQZ_V$oz{MXQU3NO;x{;+pDOI35&Z)hiWN2NZ3MXTOh$%+h4)r{T
zkJYTmEg}Xm(lEOV7O!fc<ty1~SYw@Lyl0AJ*dL)|-n7);N4LlqGf;Yk?Zn}b*qu^F
zsh@c*aV(Xwz><UqlGhTWEUSaKTGMi9R>%wpK8&z1Vm8u_QJtIGSjIsC<i29369kFF
zD_7y^K$7??cWX1z#uY6n5`9@+xyH_ltxF7p4$BGga*r54(gAUpnGCv&{>CYTfyDZT
z#sZZTA+-*JHA}cwn=dKN=bw|n*Ct265}4qn6O1ITNF7(-RH(+<9Ta4?uwV)_HUmg7
zlKmtGP(~dRc!VBl?s|k^RV`R*0FvZD)adocmSObA4s2pOf#;*)Xgpo4s#hO8c;)`R
zZ~C@xqHm}#8cGnc#b0{2x-)s|?QebV7Pxs6Q+ICNWCwLRnNFso=~(Y$r3N|@`@`O5
ztVeE%mMR$z2PYFLAW>5DE=Iilq{wi%8IGnWCv&~f1CR9K{l&!vg={dUD&}R44a}<A
z+`m{YS30*s?f&`2{rmTs+~4^f-+ll5!3)cmF+1&@&3p4@Z#C(i=>E6IFj_4b*lbec
z7nA3`)gS(Czh`iHaY~d{*xvLfdQrd(uLk|I(P*_^ZYmv;G1pW~KbMG^wVn#E`^8NV
zXtmyHqGLV-8B|Yix*yZCs~YOWM{&@H0Gb9m4AvI|@M2i?H{bD{-~Fz4{rHP}FHicb
z*WbDM+B>&;%h{dVrw`8Wz2lwleBr|{O-@eO!JeL;R&hA!rC=Q&9<aBg;}?VJY;dz0
zp1$zH3*Y;_-}mj`@g4u>`@jD|@4?O9?YF+=t#5kvEg$!BZ-4skQ^Vm{PeVs57(Z?l
zUWZ7Ql@V{O4yk)ga}^pyn)*X$s(YlTLr4ZpJUmWW<pqyiMrz0+$z)12UvRU;)Tk?0
zjgCKj_>NhH)blr1-Gsz<9ze^2c_p>t33W0d?9;algaz`+Xw2X{IXOW-JsJ1);Cwo`
z*FvE|&3>91wX3Gzy>-WVdWt=HzSn@#UZ!D+t@gKakyvMW;_G$N0m{DR=bhytiZy7D
z6#xbjCzG1*de!)1HXcu_Y7uuvm7ZMGnlYSL^Tp+2ww$e({I?nmb>Af80W`7$Lby#X
ztcLe!JfG=+Scbw}^q16GY?dq@n^<E*0aWYNe7>Ar>XB-~;=7g6gatr>1q?n_P{*J9
z5g1&sF!gv;koqsJmRjr3q*Jh|!)rSco*R}J);G!nXb>i)>G-FST*z4{oP-)lzO8Bp
zTi>axxHj!rNPh)4{PE$i!_YLCl7}%h-1bsZqMd6=m!HmUqs#sw_-K_afgPGww%y5N
z;{fcEsnxDf?m}0)Y^u!7)sf}g>@$Pp5&JP#7<8B=`Yc)Vi5XCvihZ5_Vq~*(01d-h
z1l?mlN^LhxyXb1K=TvFUnqB^b91y70u24=Z^}*QhWmHEku4rfcY_$HgVa<;`$~CjZ
z75-ajnq%u^8)R9Bi^m{dTm~yqw|?Rt4^e}lx&lt-wpb021uZ2XNx1gIL3>0G_WxM>
zj|4(Wx9-pgb6dUxd_xZkSSz3wLfstE`sS#Fb&SlXf^~9hp-8r|sz1mFrP(h1{!>rA
zMSlVma06mfl7<?&`lI%P!R)dckM(jx7D4uuDwf87(uYA$$@tZ3DTJgPsmOhUmvb#-
zU1mc(9uK)sK%&i1SfH%cNJ?!B-64`|;|9I~)a;}sR^XPeej*_0=h|Hh*8+I9cTha!
zzGM}z9HB_;iM8QF4Q0Cl-DOzMxi%ypvd_?xFC~Nz3M@3>DQ?CRVBT_V+2c+(Q|%~s
zC8i#aVIW&;)~J#(ppmeyS(srz-D*opl)`Kf>{SNE=KdfgUrX#9yEKvgG__06F8yQS
z__tBEy~MHgUTvox;V%6yJeogcDNDNIa6FRb+>mySyV$NUN`x}BOTXKWkShhHLF4MO
zkA`D6Od;3Y+)LwDaF>sJ_|lqr=0&4vmQzx@Vdm6f)IV}aUG#r^nOD>jd*Y*ntyguO
zt`7Ksk3^Q#o?s<?b=|N$=Z0*HGS?{ia3G<S>uKT|rM&BK9Hf>M6oigav^~>YDc;%$
zG+9nxd{5!f^wIS}&s16hu#rnC;I$_{DRYE3@kB4l29T<M<G><`qL!+vR@f@w>#|?5
z6@7s{0cGe)Gb!=;5E;#WeDg-dHHsoPfNy{rB9)wXr$<t)z&HLl4thFQnN7HC8@fd^
z6B=2~`v*BDHzQY<Qsw3(e94H`6TFtMbF`cW9-r8kButeC<BRR1i}^wyH4g@V`5XW0
zytf$jCZG2+KW{P}-#9rvnXrF}f*SnQaIhZs*M4_1#kZ94prf+n44xD7^<cCbOy{fh
zt#}^!<m3eJl&de)hd<bjui@(n>p3^3>j%~5#d{CNgW>)Auim?N?_0n1TQ7ST+_q8;
zy~6+4AE+`74q8veLmf=fCU~iFz5o4R@%wI^p6T`ID6T8Uq#I7l7qj!zTQ^^&y}iL`
zS<R}|@BZ5V_V@kv|8latKd$CC`=`}>HeX#V*42V5?{It;{qk{deH*6V{HAB)m~JpV
zJvo_7@1H-I&1N)&=6EQsdYj2~dgJElcoaXyw%NS+;)~1W>cb!Y@M@(;uz%qDzMmeZ
zbr<I|a?ftv>`z8#r#IJ^^Ru&)`RbCJ^ONzd2d~~AP6q$tU;WF^{W+h1{_3l}%U53e
z%$?geP``0H8CR=?_Np;dfR1{-N$}n%-gm+32D94qX3O<pGF|rutMz6ynJ(7-AAau#
ze&{_v{O#ZMy+8WC4}EC)@@enp+u!!%-u}*azWL41J$>iypkhK*>*b<a&9TUcTK85<
z3=M`W0;%2Xbl4v)E@!J{but+(^&agJ-8UYOFE1}n&Q4iSADo{PC~jTVD|D28YL5Rk
zHkS2SL%13*<OxVvpXC|wOwvlvv`X$$MA)q($zLD7)&`;VMWLRQBqJ2~uic>Ik|cpa
z{Ai(*@n^lRbfE2A&v!i$lCVCFADN`aRB4>tQ*E(Kg%29oQlKuV?HhVSb0Ae}uS15!
zcJ#3jIf@*VMN+vn;{GI{qv?3+km11O^2au_#XK1iG<q=)MIXwI2s1uk<4~;hVTw+H
z7fXs(>%LxlUTv0K8}$tUe2Fs%Y&mYWQ-??u(JA75gRo%)DNDT7HUlhDqk5ac+0(5D
zu0nD9^yG$~a@OzJ=s6+uVK4>bin1wy#B~{20l1AuDTjA7Y_Q<BF)j5=93n5zXG%Hd
zNtP0~!jjw~Q0lb#QnN&<S%L^cDFv(p1#bA^aM?DH+a*)0Wno#$k}h=F&u)Xmt+ml*
z|B8AOw+ri+xtS-cv}U;m{5~A(Kd^CA7r(+t>B%8DM8Dm-HuN?%{d}?RvRPi)E9gyD
znvQF~9S(5yiNCC8TD#6KFG!r7acPa$qQ*yqJL5C<iiQ^igCv?pPD0Ix%Fh1tAnf11
zb;hSWkafKeLF@jd%W{ov97@g3y1c#X02Z<lTPXc6(P_VXzGpt?Ld$jdK)8#C@iWvU
zv2A$^>e+ntJP>xQjna9eOVcPdOI&UL@ll4?u!Q*nV?G15QqssZ8V>8jZ8N*_y=8@B
zZkFiMkK1RmFup@|i;xN>i4Cx?)gMIRPxh)z?qqQnpAFSM>~$sy!~bkH!;*#_hFr((
zopeehDRz7S4d@|8HZV^GSv51nVRp%)c?}29UO;oMDPT9x)|~woI_%Ub<)PzTQ1ZY}
zD3n4>*?-`yY+*c!pTgJ7l-xoysV=>sBR$;B^j2~1N8(k0mEJ>_-UpX;fQy4<b4^Tk
zd;nI1nl~&#7PN^vS13zyQ925G1fedSY(^SBlH1`}L%+L{*aF!HE9WAmZ--#d!+}>~
zk1PA!%fK<aWSYG_*3T|nmz_t3TXgMibQx?{ceMk~ZKGRXw9GZ%WrrLqlxol}`(0?)
zVu@#W8(sE~m3P_iYHvIou?Jp1ThIr1x=0qao3A%3DO}2kEPbPVAG-X{wW5%9U}%>m
zIF>=Ox7GnliS*!Mte-pa_Yp+#<gE40&@v0bR=A7Z7%I*xUn`p_?|_pepktC6rF?&H
z5zl%dwsJ0FADr~T3wDEAVe6rn<)QKuFq!S-PE^@a9%v*1c3d@Kw*;W(BNggWZd4fo
z(B&J+AfD&-m0G7wDx;4WbP(p3dJMUCn%B!E;3+=r4N-+k9Z$52R@J6~^rSpo_>eHH
z$D13*_(&}Y9&Phb_;?A)?qEonLfK5m2Pok2+$cgz%!HP(y(FWo@u}~^D<qbf*3niX
z`1%6?(aX!ZjzI^bs=v8dEdKX@_z&-G9;|!oU;6XD0EKZ3j8VTg)=xFU6EeNN)+0e4
z)OPd^XvIHC09x9AOm956T)gtiD}U=7|JME9eR6O2ZlCwgbtV-r(tsk=lkUCsve&D6
zlWFh9dGFG1i~h9#@YC+zy?g8CO{}q{(WBPW$w`21)p$4<_x1TY*LXcVv+3Qree=~9
zKYZuL*?czB4;F9Mqj+*zxx!{V>Cw`Av-KO^@TSX`U%5A%edQnh>fiF4fAh`3e7u<T
zXRF!8`8(eE+*8loefDi{KR>^?JU_qx>Z>&EgCG3haF{k=H*em2{`u!Ir>#`Kx13!r
zV_6_;I3AsxOwP~G@7%d_aWT_2Y^8vV$J1w@eU`?~X0vy^?Hx3^TC9Hbz3=^jAAJuB
zcTUb`vy1*&e^srA>xq8Da9I8Ddw--_4L;*1|D-#U&FvefG<i0^STAX;!pqKHW4^bd
z?^p~80=0A9;2)tB3+=7vm$T7iOr)#TW=ZdlPl)SsGgz*N4`z!OUwQQhe&~n)`M>(t
z-~YiM8ulh{y!(bv{|P_gb+3Kx(@)>UbIr4Xjteg@FR230PbR19)rNrFIK6p#dP=tv
z6K^b`?4QG@b$_fEz7rX|(2!tut<x?iKhr7?19mnEV@x^7FlwgevKplfop*>)GTs5r
zoQFCq)ap&F*N2)1^Y{@|&B9t@_y_TTVoLWgiBwL{)FWW<)2<jfkwxhZcJlRTyXyv-
zVd2aCs#xa%av#U2X&_e1tPGRaPYZ*pfsRrn!_^wg^>VeYd=ihV<kH>4p?(^X$N&Op
z$p0Zr(3s}aOWcz9ZO%jnih{Z>o;AS^$!Pe{Pc*yI(uW%IcH1dhST#<V7mT0T<pOJ?
z>4b`y5!8aCvOLg<GvgV0|NMa*i+Exo_a=y{wyU3$e&vOsWDOs@8l@bA*hgZ^=0jm?
z2ZW@FQfN0oL$mWhJjbK}M(jqm2CQRAsc*gvNC_H}xLq(J%`~dME@0NKmJVlOS!r8x
zEFPz97ml@=_1&C|y{$vokUVk|vMEzn*S7yqbd4Vyyc%U)UHW?tpt;2MxyDkj|L31_
z*-Bsz<zo+^6SoWN+e6b7qT|A|b1gUox~kPUD2DNk3Secsnv?sme|_uH*C%@WfPOnT
zN*4Z?=(OLlUU?zSNh?6}`g0&C9u{=D0U=4IBEN(@IraeB?zLh2W$wNjx9GC-q>;ye
z!{NsGzruOzbSW@O^ryZ@($ov8aZ>X;@{Txk*^h4&QH0zb%En}$-0dosf`{Qie|FUf
zDOK!H-4z8Nd&oqQ=&6#9DQ26{(s=*w-8bt`fDHE^yeEuRGsE<~t^;T@mSiZs(XTeM
zCqst`Mk#yZTo~yDELrJRY{xQ`A^-_l*$(pYM0b6-W=*2TKkK*_m#X5&7%gE3h(A)*
zi%R0M5mnfrd8na|iD?gSe{2wj;<o7|aFLuea?<vVQs>wU#=gNRYo+~ik*z;a5pXYY
z(GaL5r98jk?m(n_?t`(%eS_)!(LkfWKEl|E{3Cf%S}5WEZNvIyU2VzZpl!{3m!F_r
zHOj~OgMPb;y~3-}Rd1L4So_7(WIM?AcMZmmBJR5YSgl?AWVHVs@#XqZ!iRC7VXEE?
z?bNdAtw$rRcm}?iA?t)~cMV&#yz+}LcaI@}bNOc`!;5*!t&!!R)ntuxGOd>3@$WfM
zX0@Z>2UW68T^)Z^5r(1k0l=F6#NfmY@pUPZb}Y`V66|u)sXLJ*OQwZTm&(Wni7j0w
z<$9rp&$)?@=WxYrbb1o<SiR#)O>z0e4qb^#CjxNv1sg3^d0Ip7X;W1nR)vG~yA0M<
z7^zHON10M8;47f>u@!Ux)dwfCkA_BY$i2l$Q#<U6+D>KwwKz#Zy{DoGml<V6SY$tt
z6=<fE^u%WxocW^#U{e6zZJC~(UV`~zbTWPF>DRpY@=Gth{K|_jzWBipeV|$_SIhab
zH{0|o2FXwl^9;^=Lnv(wdqQ$3V4g_v|A?0NHlyBp(i_}5yY<|2&;9?|`}1howk)j=
zJJHAKZu8#D<^Y^PW54CgzFIP?P*D^`BN~A~mH}a~Erabb5c)&IMzUm&A-jeoa5H3~
z4%xCK{~^mrNJ9c6@UX1`SV*8D2?Q1tAXHQVS(#OpegAHI&WS$4zi)nPuUN5n>~kY-
z^YUd?e(&9N=9+7+x#pUy*=x_(v12qE+`D&=k-B^L?&)}ptC=mFM*4jbVQ{yzT#tvN
z#e$Q}ijlayyj(7q)0@e;-mx3XHLwW?oeT%=GD>EX={TO+e){AQsg5q26=x>K-IKQ4
zWgV_A?%bK3^q0%c*>L=&uYKj;`Qv}$fBL(B*Y!8Q_#;2~$$O)-54`!luYK*y51&5%
z$~WHr!k51E+P%B0#d0*lq=iD>13iH3uMbC~{l#)Qn@$z9>-DCy8w{p{*hY6S@A~?>
z-`CTfH&1WWM-5ANas~VP?&ZCYe)OXs|L*Tv&R3(8!RNm4*{7?k&wud?>uGN|9CilF
zZom7D2Ty;|_k8y+`TmbBXID?3KAq3!%-f#6tlEwDH#41RNLh+-4!vAz+G|GZx!KKT
zfJc|h#TuJVmU^K^mnAwFo=p~zdIw2oFzj>(jQdai&A;_ifBSF!ouB!sxn5Ut`GF67
z_@f{H-Z$U;z}<_>@u=Tj&PV;uqqo1gT+Hs=yE~aJu5PaH-hX{Mov+Y~`sM2EOg|Sn
zUoM8H<LPXs73Y<UB{2kKG0)S_YmPL(ltXE(MU*&;q_V4%WjrVi$3QdQhGRYjO4WiF
z*X}bMu&TfxTQPj-jM1sS4u~%qHIOe)<AEN|5WM%Lzj_6ScZ$$20&bN}(1XhbauJI!
z)9elfoz@VXZaA$3J^}8pZH6%5cL(|sWM4~0^YiBB276Y^^vmkneBvn+NYz}OJh{GN
z4T$7!Cp_<>PW3($>5mqnk@0!B>f_eVe8g5Qf8ZB&J3Y-_2<&0nG0&%qIm?I1k7O@?
z*pstvI9qos!?C_A0HCW@q=zXjjTKX^1l%r!{sc_td|3p@X0;`)&2?9}q(Lp)hHdb@
z0NKh_J4Lik*G!lL_BNE6drLv7p#;)YF~}ljNoQXi=xH`>X0wUC%-iv@>^v52?UtP_
zWsddgyRBb`pxNIhjt)Sdtgf|3>Gy;W2|xpz;nZeiW6B}`zc}n1guG4<L>XIX^T`gX
z&qOVpO>IZvhd|l!CfWkfdw~)z0ejKfmzMROs0NO7zYtsEp#kXXY5F=2aO@tGwOTz8
z@V?!|?X_MU*+Mr|W}mOiHJ~LNi&qaxTm9VTAFlFywZ*XnRifjrE%Ql*+>nX3cFk{&
zLfg26JpWUwlmmrnH`1hUANQtJdjim;^a?-#N;ARoEdtPbd_&bj(A7;?p^sS-2#zf?
zoy9UjN?-%xKsKArU`8wHr$1CwAZM4_&t;oAnPzdiI$3Lg7>@LqGp1G5$!(9P&`46m
z%>gMi%;h4zf+H-^p%9vyIW;n;uO~ueQ|1`Z)CDPDmC}l{pe!}AhD>m*H*p|zJ6?x0
z(AL(xBADv{bhF*9aA0d{Rkvn*O+Mq>JpkQ?=Gc9Eq0N4eV_Dkdl(=0_6P7PaZ`Ti+
zMO3*({wUP+w3(gpirUR+du2z>u$*Q8(RoyX!ktt%#sz2l`E4WAYqZ(ZS6Fq6EanXs
zn3MVJr4%|#duEay>UaD_fE4*-N8->uR6yJTXgHD%BFzft1Bny+ThvxzL5OdZzKV-?
z3M`rfGVQ*VMa|3U?Ez>#qFVK|7e&@-|41wlJYi@5FRfx|LY~y2&$3nx(ilNB5rIrs
zUP>A`teU1}6$c`;oRl+9RCl9j3!{*qdR{M<K`Tm#Ql<LxIY)&Qc=DywsoK$v#~w!^
zpNGSQb3RO4M&WJ~`h$|Rx>3EAiPXpeXq?c;^+f<Wr}i^NHFV+$L64WT$Q#8-6{=#z
z#Lr_42mRrAu~<y!i(bD!i06wt5u(!bJL^qPU-L&JOSe1kjaS`4=#n0~tiIV%VNB!%
zYV<bC%VBppnJ`-h!`^_~({KxEVfpqRu*(=N7mJ(e#l^*BGP!ec`RLK3%gal&t@VX1
zb(()YwWe`d_c~L?tgm<M_WS+w@#x8uCugUp{k~q+f<c^kteM`%$3=L4vs`b6r*|Gc
zy}G=-`%nKL|EYiMfA&xOz$d@|BOiEue)Z%FpZ%Gqk7@JK_2lOA{_DNL2uo>Ck0k4L
z1Sg!Grqi3VvokvGLmgh4&*$*F{oeFua_7zk1Hj$&EMEKj;K2iKvyr(ty|}r#S<Ds`
z%_n*?`ugdWA6CUt>*@0SA9&x#f8e{m_|>mH{OZ-`Kl|CvVEKWMeDL$1|LU*!WxwQ3
zZ#ADh!D+OzoUgct)RboB#}B~bTRpYF!I8d!^yy2QjiX-t)b?uG?+uw7^Tle)%wKO7
ztIg^8#pa}YJ)O|Q^Ycq4_|^6Gs?+`2H@^AlpZ(lte)e-e``Ir%Ufta7-g)!A@A=?c
zZ@&M1Z+zgr?-`8-)A?*NpV1&AHelw=7K2`Ya(z7-4He1N!IPt>)~0P>0z!DiDbb$*
zOd-SooDfW~483OMy31s<uzDS&m?3FelPDt5nPYBlmpQ>&&i^fzvzQfWGDCR9kM%|J
z)K+W{u^&m{)_!O>uDgR6heQ`BFHMYAmN_H<&3u+w0Wkx3Ac|0+$R?ADnKm5i=lcMr
z>Eq7;3xruPUCfcB3LL64;$BB^7&Wg=G(^~1Hw#);@nbm>79d44B3i-$IC*r)BJ$O*
zeic#eAt${%ckYbO&#tbnunigdf{b?JFhEs$x|dO-v8Smt+A;xCGF6vJ{gFekg)Lpk
z7^Yn}XN{n>Pd4R^Haa6Sby+Bo`5rY9`>JQFfCWmik}f4n>{Sc!4r#5lbmj{JJx!Bt
zQGTrbFU!t09IM|8A!Ul{hr9Gu_vra>h*hOb+c@R`w1hXCX9l1-|KCg|oSL`}rn3`!
zUJY?pG;+H(CTG)TRB#f}a{g~aUZ*vbecwT0ZRwLX`E)93pjCf5UmuFL0Cde=z;s&x
zx()2eiP}Y*{cXK!^-qdr)dSG`<UN;;^H1r464qa~V#zi;Ulxwl-)6sYxVAP)?k~!s
zOt;B<behQPu?COnGm*RL-(WEI8V0g3gibN}-oHq7xG6Y#u%J;|%4B*+vfck}{(0^I
zwC=<JopHrT;%`_WrUTF+0LLCT4Ilj`fcY+B|MBB9(8w&~97$c5X5{RP1)zPhl!_o^
z6-DY72kZC(>3Y>E0?<NeNKcUE#cx0lcE9pwq<o;3)oiGctpb_O@+JzA7eb}Ku1*un
z#BRIpFDQ)!{!(NO$ke*IMNHGfQTk^GN9y@jq2{h{Q<S}^=HdQ+wT*k5y!mCV+x5e5
zHnEp!wCQ;!Y6_3lbF6%u{cRVdEWcAxAwxDg{%3XUq`lsNG=FxA!^~&nOLY%Jxp|s!
zYBOp@fSuI@C|7LQDKW4OAhOl-Uj^^C`iZijEs#^U=mYCMZ=_2GsbM-_p)$C5CaOXy
zU^>5^uZ9l$U!~a`!`T!#jv!__S96_?Qh@2=6#JMZMUYmKq<aI<^fYrIsGA&8MI}tf
zj~WQ<>xFYpdfj-MCV+@E6x!sIcoI2gN<167!UcLJI#TA@hKT^JhaeTVl&Wp2P$xH0
z8UovsvDujgro|6}_B`8FB?$fEobrVS%9M-44pZLLkN81nCc1LAhRXR$gQ1H4*g&N!
z*co3^rsHHj^HaL3<z{p`jt3Lt<RD`<eSIaLLY)lYD;!-pA!$$|<Y7$+s~7X>+1Z$i
zTyWRR<#;@zF7(;>lv1@M&m*eoL6g1C$!M$}Lx;bZD#GiN%xU~mw2?hdonCLq`D(S+
zI}=`e?X~Nhr<}EDg(?W-(;7pHd8l11R^!pxWU=Ut#=X<?f8k&F1ONMf=Epwz!8d>E
zC;pqOr*E&9v-9&)yfI&{r}KHIH&6gtKg7Hm#B-erAJ6p!G%4A>ejM>+8ZTI5XCq~G
zpPil25ZT9%ANK}*zbAS=)d}!!gw!=@y4^b$7kUY9N9VD(zx;J9>|fBt$%o(k?)Sd_
z#-~61Q-AC4{M4X7`qe-BqaT0oo%z)x+{a|?bcahl5fIy41bI=iTr)|u6<`4Sjc&r3
zs&Om6Sm=$wIDum|25Yv*Y{X-FAwoP#tRv$}4=do4tJ$VE7_B$U*=#}|A3uHacRu}d
zfBVy)`P^5&{&YPboQ&Um-v_?$d%yR4KK`+b@%YJ;C(8)L-#NcnEtV(CrJO$;&6f);
zPnu6doCrED6DmXz+$dtcXm1rG7eRQLJLA7-!0b>E91U+p>#)a&qzNL9kj~60vsr4r
zpRDxpL}$HP`$s#s>)Mf3dJ-CZDo!Sm8VJN+%}oA~R-6#?)DPtT!l%GAXnO)$%O<wU
zEn-op^SOWCt7;S|uzRB0iosy8Sm~$ya02~_S6=9&5sK_C-M^fy`u_T3)W$ab3FC7B
zS_XIZXg@S{SqN;p(16`co{Ev82+u>%#B4VA4Gu+2hWq#LvrMFOsc!(xS4-9ll5~Mq
z)LeWZM-yN=*V?guVC4|@n`xLTbC;`kGM2T(Z*UUTLNm@s$s4sS(2NVzCAUK@<Wl#g
z6gDT%6Ht~mTQssyYG7U0iqHVs<lAsdyUn7#Orwqes`1j>EfqquU8GC___w&?m7=ZD
zHvS>=p{&~`|J(uSxJoK~Q5{+e6dPc+!3Na2ldamC_lg71)rn4Mli5LBL7Hgy|DJhu
z3yuvy=XgjB?fpFtZ60aU&pL{&PnQF)DP14-%X=;z>7QH2sPxb6k}nI#wsMQ#5>?@L
z&CODC26{;^<W4DBpEnv{bK5^7_U?zE`5SCTdA$S408Qro^SMMZYCbISKc^`S#s&@;
zl<uVFm!(a~IOOa|M%wy;jSX(D;^%$^M+BhPdR2uhMiPIc4KWW3K<5;wbiEmm^>`6k
zWN1XHLNA;w3Cz*MEW4UXsR-au1cy_gWd=j<hN1yQfIACP3;Rsz$<*t2<LMMV#e=|d
zx%6ogF{hy+H403`&kc#TJ!YB!At*pwKzerf#9YzHSrgdn?189hYoJkDT;6P_;r;?M
zb5R+9F6CR>ZC*Za#diYGB}#3jw+}~Kt=sKvw)?XB)zoJC7CW0odznU?oya$f_A;Lj
zx3rt6T^!qPn><`c0c!C2rB*h;gkHhXawcm>{hkeY=d@1JOaxyvRq~33&M^n^D;jY7
zo%d&nRdG7bTh4l82bSq6oAhUptvSKWz|OuQ>1e$W*h3#4fG)ERk6M2(dY``>Be);M
z0ll;&JB4g5%(~SOFf#&b;@dx&E+3r*`8Z7xX%Y+l=B$_1tD?AYEA*W@J{SyqL62PW
zA%mm$37|7VR1v3<+p~otIto?Ce>(mskkLuaIj{nUe{szX<2JItYGU1wUuB?fFzadZ
zaAd_f(bLCqFSjeH!XybYKQ1C_$b8&}Rpg;msxo!NWe|#1b~;Sa;ZUzs=CH+0KzZcS
z;{ZY|kZ{FFPl%(Z`i~|QvSU3mbI>d|U~;IBCh%CdbN%${t+zh#^y$;_aL8Hc&Ye56
z$rK?4ue<4Ea>j<5i}j+{?@Xt9M%a>@r9LV5IiVc<sE)_=`s4HS^GQ@;TVRTePEQxh
z8SNs50o){8o&ln#^Z9}!(9LSqzjODW{{27pZ~cq^!e98a|LG?``N_^;)j63`_wnQF
z%ZqzYuWn8+&YxaCk!RNWkvHy@X<|OtD+SO%Tb#9+Bm7~wX$U)q-QHLs@zHECrx&z|
zJgtug<EyJH`iLIZ4n+fYl5Tgd6Y!?9SR*z)na@}2`PJs)?EIJg(qD{c{^%e1WB=p-
z;eY?N-g-5CqW<=Kv-#?z+vk+BT(1`^#gOp}%R+vp!#<;~B8^*dy`Le1i8wR%A|ZrN
zmaDmfm4hy0xU{m9{<43H2RF;baxobW`s1_H`Fj0ivYc;vUwZq==fCvzzxFr&=BK~@
z>5ts|$glmizxK`dy_de<Tt8jU7h_J*@tMKd_!MuTj<u=2sjaloNVRGz+C;>}6KVly
zu!!lHCFF7Wd+kGPDGxL5uJdwp<A$e@u-^D(*`A{u&WGAB0=ZNfc`xl1i4%x=LgZ2t
zP!&hm6uWD#8*)hovLyhmCtyr(5hp|JkD0brNQ+SVNG?8B=?@0i*Vj0K6d6DIEPuzE
z<gz6XbeLgt3S&=Fqt*tWQV7-2N|t_#m=L|5zV0A;iQ}azl&`+|;B9oWG~mzzG$TS5
zJbLs9CfWInjb+#$>6Pfxh|RJhzUL4?Rs7Cj@*Y{k9Mdk!*;@PrjtRPI!pMAJI%}xt
zts*mxk_NSG6AtC4Ou$*x+j8R;wHC{qTO<#G{eaG_)^PT4P$f~jKu@y>Cex<b#4YW%
z>3>;h(|=3964j2f?%vKO>RW+V(fT1e<ForCUcuo2G&_f%fM(iwf7|hAae&YB%Bf8v
zC2LN}B;`aAyhBlJ1BaowPj`z(Hl~j1+-~7ku?ji|?P|Uqw*;W~w{>Kk0ToSS(A;L>
zp>`M094G?NjA4uM>M56`y?CZ$Yq0%gttRIXwE5v>A?t6N*EGIFje~H>$+Ui{yBf5n
zk_J$-y}v8b=C|cy|A6`a8o1HawC+bL!*&(s?2bHtb+%U%yZk*wiIQo$ntL^H!?b_B
zxK^{*&;28WWdK^GSsnrfWi~ioHpzlYtPWQxpMa*8T@OD*wnTz|MyX(;+4ch$k+r~J
zsC!*(ah5cYwmgJgk)s}2+J%GFadzi+L*HqolnRv6gCY%Z*6So|jc6;SQnUv<Ux7zQ
zq6*s86QSL6D{}}^;G@tCYS|JDOrqN1>M7N&%PuF<Z1yf%Cukeu27_L=)M{u$zG()j
zvwLu)J;$QO56=%PZ0*jgLD`Gau}!q`+YD}MyS;;yx~Qy}nN5_MOElXxhc)hO4Q=|{
z(AI7n+T_{564ip;iu!G_L<UN;v!t1kMnq^IxG_#ti3q?YdbersnQ(BR_sPI!zSK_c
zqB4wF#tpV%vd+fsVw+($1Xmks`Dth)O45!E+%7=1IU!IYE^TGNx6v0{(&YPy-;8x&
z8Uje<D&_u<yh^PzT5qCLJuU}!TCZG9YCU3BrP(uChPr0rfhZB=4K7it?kklftB{2B
zTXO{Q6N(!W@47O(YEEJ%BBh|qtr40XU{-*&x;$~cqgFuiO#Z`!mHy8@1J<KdrpC}<
zLX@Vq6n_rCI9pY$d>b$aAUKGacFN~kl>>8;EraOm{TMP^)dFS6ekTCU90+2$St&Fn
zoBJ%EcoyJfpbwsfh*d?5xYzA<Pge6eUhZysoKrgM6xN5Yb|j`ZyT#8r+S@0mqcKxG
zo_<_iTwE+>)ARH5*=#n5sA!sj`rbkc3yx05ler$+<%VQD9wTWP&jOp2N4Iy<8T7kX
zPo5w-80mM<W(z&?sWHa5uo*Ebhct}tdexatWy55>o}Hfk{{O>|{mcLO|MI-knbPsW
z=Jd`9x5t+k?|Jh0nwkIL@uQ17=iPp9KG$=ywyM+X(cENu<ENnk%+*G3IT-Z%7o$_h
z&7VAZ!a-{?(~p19cg`)G10OwnNYl%io}tEPn2H0hpFBNTc4qVW;O>~^vzY3QB47IQ
zXMgC2|E~Y$um8<o_p5&SCqDAN$6x;vO77mj_xPz^@{2#ns;6;(-tBNFFYn2tAi~hV
z9?P`9JwQeD!{LsPk-45;Z<d?>sE?m#tMwGk8_m)|ueZ|st>>(X!EkgvLumMPu~~En
zpZffl{@8!?r=FZlfBSFxZST8#=l!qWd-RRB2c7P)*IP_y^c4NQL7#<5t2E@D0)m-H
zuVqaI_zpljYuYg9ggF@`9Iy0ZB_h8)>nf`^fB2O+_+f>3NRd^1KPG}gr9F+IMib}E
zmou5LMcN;{uA*+JumM_k`oO6w+E$D~5rQva)3lLkYMTbk(U26%0JI-*hU3ymHEfI&
zDK^I%@UdUGy1HSM=$+?7tXB20`Y<esE&W2B_(gQb^eI9)TpTC0G!X-(x>0MD_K=>R
zu%1q*i-i`c=g(`ey+#=o;8fm{PVY7z4#t9tG$)_??jv-v&8kj7pP;~~I-3dPot1ns
zjSV<Prnjtu335gEF&U;Cu^q8YS636E6sRE=?NtJBi7n4)leCyQO&QF0wuVx&gzsN6
z+QgoTwu<&AL}gwY9gS_3HA;ad4l%5hY17k&L-aofvKjQZW>T%cFK7VOt;(sjWo8p?
z%^fT6lcCWnQ@}gG;Q{E?no9)NcRc~kZV_98X6%lgg$->eU12+&w)OW_p!Cl(+pU>b
z)-6%$X_Gk$R%lhE$NHzNZkWSWz{CscU&jwN_?iXa)IVd)h*{BE+JZKFUd4X(N>MYf
zZU1S5OS8<Ds7_Ed_;T6Aflo9)AFwLU5B%Ns#WbBYQKmwC0G8+qO-{xwMSBr9ar>tP
zXwIMB>FHhmP*9fDvIV#Y&{>C4>g(iQ31;~qDsG|5?PY$>W;hEU{hY({2$5|YT@ZJV
zJ8nW4z(HGHHWui`FJe_EeDOn8DU!%Qz;`X^P!cy$apse32t<)Ipu?I49V<Ki-az-e
zVNz}#umNS-P?dPZA?3rEL{;7ZS-&jQ6Bat6yQqX^nm{^hXcC}S*9ChOMmt-CGdSOG
zZ3bDaY@&cS+*WJr*nYxOuafjvNBNAH4qHTX`@2)&U}N49w3+JumZeS3AwYgFQgI8O
zDez3R%m*!{nsOvTTZ=Wmv(If_v!Yu!5-U*4X0$bJ4NV*?uV+~If!%;KRSrZpu~Ox*
zITHqATDC!GbJH<q4|M<CMC@nY-=cZ~3fUxGk*ov*@kMpLHQHi%-wG`WkyjEkq09X>
z+Z+vTw6@urDa8lf2!?RG?)_3bGgZSTHby<YhQVAlxYeJ}`G4jtd?c(qVkv#}s<8%=
zF;1&2NVK~wst#8!tAuR=mDGCB7${By<%YGRr*bkW{>wCdAa&LVzeVh-;wLJgxABH!
zb=`=kaUEDh5KC1vfMkrA-dYd@z^j@AE)4?Zt|6O4Moh(j(B@QeZHd!nzq?^h^n0ED
zpg$V+hr_{$|G{uD=)(`Y)lDku>+UBJ0#mq!KGD{O;orIk(VTXxXnTef!GTA4QDiax
zc}f`w%LPJZg|sH+bi}ok-C3|vzt_cjS-07YhhvU&r=wGSE}{z|x};5?DsSR9?^YXn
z+SSy><Ixbb{-mP?9f_zt@MPXhCzH`&z|>W^b~=$L_nqDDa;9g0@d*ua=+t6ECzGLr
zC-tj@=-KE+xltpAMGFX%;VF0|e`-uu%gZ~LctbI`=;?4cJmu#0ge8nh%@EoNN$!3*
zjP=J@GMn|!POsOSKlA7R^ndq9epPq1SgtqYv(aSsWH9WnSKY;224m>e_4RV4Wyk`=
z0h7sux;Lcr#e3fK#{K*E8UNGsGa3c=;>Q(fN-scIuO2^nOqEBE9%1|AM~~fiIOk_)
zH#axT8nmq!i&1Yd;FycA``rhR9^bw5`fN6P&wE~beD&nN{mGyD;9GCK=l<p9WO;gV
z{*AZa9*;)!os9vH_q)u*zMdS{EY}+)(5`u_MXLYxAxf7a^&Yh3&w`O)6yw?C#gbmH
z`~3m_MnKukYB(C|acTt_m(1Kjf7sjTeH6XTTEAyFoucrq55E7c4}ReBgC~Fazx_*J
z`q|Ha?4uvicz5)sY=&vbNcIqy5gMnMXN(I3gY5?hN<@JKgvg;Pc!~yMn13KpvyXqV
z0fI!3CIteFP>&vldc^{yCq8kFPlv<NU^t|&%(G1w2dweLBK((Hw<H8<%xaloTPm8K
z^%E<K;KyRndD~224JFJmS1l=@lz@UxU%)F%X@`FU=B1Ve^O<{=74zrGlP8Zf!Srl9
ztB2k)u~E!CR1d=(vYHTaUxVe0wSwJrQ+pDW`rhlsBvRxX4`}U0V8{{g&X>OYRsBZk
zOcx;PpH;9!G|2Kmx=Ko>r;i^n0Fzim$e^Ag3%FaFt%h1;d!a-KRcU&dW1>uv$$*n6
zD{q0?2}xuMI?4iNT}|43*pX>(Ym1m0iLO9JI%qy=i8h@L9SN=SyDw=;+HdvGQ9xCq
z0?uarwbJLnUJWnH_*>A{1pKn7CRVeS(#(M<QLC8Y`OrjG<@B9H?14?R*^hlB+D(9B
z9Xf&QK3BV)|L30<wYTQ=QZN71mnT^6p|;V@T^o=AtlSV55cWbgZJ0LmaJX(0srX>D
zRk6+4@=Ubh*rvnSJ;<ddfSWEk2O@VN6HcwFrtoO}F>|V`sP{&aeM&ql+BWFtLbIV`
z?U$|lkcwXzrO)>g8E`<^bScAn@d^SZ!I1#3>*hvJYv=?gn(KL-)aq&cGQ8_Hky>g(
zS9mUmJE_hkihXZ6ad*tgMC&?f3=7@jvby<gK;oQdNU<=TZO|uc;bC`_R;l@AN`Ey6
zi&~_biJ~dkKa@5G!bW81326Rs`ayyTjRc1$&SWY>XHfx~)+dt%ZF96jSl>z15n-#n
z8cr_^!F&?{zLEJ&cwKQgL&hedpZ(WW%2Y)4y<n$QbV?Vf1>6<{s{9H<^hLT=1-OGi
z05Ly;=R={Z+Xe|$58R1f%T8?Me@U(|Qg<&%Ze^<enxLo-CR1h1Euea$PEJ-!eL)pi
zGcavafrU+r8C5F{sVM0E&^)hDN<v#n)*q?99;o65vds{t6DJOQV22q*Zmw*XkxA5+
z??G%pi;Dd@DLfQWtBKNv64~Gyj+Jjio1SCweD;*JZkH^_D@(#L-$l;4ltp10xX56c
zld5u{r1v5Vpoi&g4$94J!Yv}>iaG1j!_ig+ZKP%Cb11(R$7;K6)Qr+XT{w<_-!Z)h
zToFjK=0xb7p#oWRaF;g6YBSLdeFY0dN)rrdN;_Ji3S`&#PW_B(t{(iY85x-q=lJUQ
z7H|mC_B7Ec!;!^s>s1fCtvH)hMF_*sYb)xYPpYw&Vwq=fZ3kR9kiiVnBx8gmOqFgD
z0mtjbw2`uk1#g)sB&FR!dcqM7o<dWKgGZXG=o%3ZTnl<_YH|g+8WBFv$TW4?)pIIg
z^+-;r^Dzb@IMAUsX2fJNr3xH6XrCa-%yBp-DGVklCnE>qp`~HhLg)<gPE}C35ty$(
z3Pe^i;RF$aXg6w@>FJy1?OFtsPMb<Ni|Hw8%g{Mk14cfECfg4an%dG6Y9XA$UY+P6
zUuF(qKB!g{4dQ6QNNt59)lccgM+)YL)0VW@T#pDTMt!0PBl6}0(Oo@U?2tA!Y%G<Q
z8`keh4?8-Yo0H9TfA|Of`TyPT|K0!48|ULqZ+J2~nam&dNB#M<#{{S8H{N*d;~)R{
z_2fqH-&n6NFE6jIug}lVdwso0<NEsg>gI+PN23wLw_J0US-f`d9$AiCS65dU$+$vK
zCKJw=5cqpOpI<+{LjG%C`O4(_y0cmJI{iDR7o0nu%&+tUk@XmJHz)Ja+3A1&7yi-@
zec}_p<=6j;o2L&jdwP9yIUdmplZqRCW*Xg$?MT+*2Bp<09lp|db%P3n<LwJznmCMr
z-n5YR1X30h%ZdvT$H0>fKJRYy<J_yh2JhtI<43*Ga6zTPV6i#*;@7|NZ~gH<@elv5
ze}qO)2gAkn4Z;`W)5&ax{$-riq&nKt*f0jw=YYuoz|IjPL{<;!2B1|pZV&X@yIq8)
z)KA8=;(+x+zq6-fEzsvG)kO6<sycmXp{lYT4NlW6_=0I{aJF1T6kxcY6b_`O-3o-W
z^6Qq~+5iVnE~1l60J82HMHM!a`9!8i09U^<Nz-wnyScextY<SO(IS3tQaS<mEb%FV
z?hd%q>BmQ6nrZ5y)&dnzPtRGxWUsF#TrXfU?n@oKx$(iU-eNVUyJu(P>3lhz-8_2u
zWH{=t;yVeizvm752jLzWqGQTsz>%pE-JWlKmiB?#rRg*tJyNv@{Uac{Xu^c6n8<X=
zFKI>s!XTTdU6g#aU7_UL+FeP}xuM_*rb%5?3Xr;|W|oBKHpuc20K(aj5=>L#?15l!
zPSjy2TRaezVcY&@``<CRIZ`IGIW-(>&+YQ=tYOKLa|qh>!?&u^pPAW2o1T}2wkIOn
z>|yhvNT2Ajo9J?<@KujJTYI4YXRq+L5A_7}VmX`6X5;Z07xcJ>ciCs^%8OIwv3S+~
z0dArkuQum^cfg*#pj|HwU&u1uX6m=fPQQwZ8N~GtBcbC~W1o>RD|}5k7NtV>6i)7P
zCT>BS-!cx=mRonWruLaiGQZg)W3^7-&^2-qzNJcrnc10)07Frx)F5SrX4<Kz6Ua)8
zGF#dc=Pv%IbSLGm$aEZ*QVNHYWU9G~T5}myTS;@)Q`JbcH0ut-;)&BNg+@b`LD~xk
zpe|JoFkMa8()0whr?TsC=CkykKIkDD{-on0=X2!Kc{QN2$XPqcL=A0xP$}2RBeZRM
zLTZi)r5fff$|B@}X(0P_!-$eSO(R7)^6tCm4cRCZq)UEJ+Ry<lmS&}HlA$>UQvg4U
zWjb?qp^p#t+S7(XFFth%r<0{s&GBlMhZzE;iHHWO*7>`~3~^%wRq9No+$o?mWD_i4
zDgFj;2U$ryb)CYohFfnUR)_#?0#g4P(DRXnd<_&Os*X1Pt3{Z+2Tjiy6ea3a;_z0&
z*t8Ego9CpnCSvXg&Z<r&3E-5pQzJ8*F#i^Ty|Az?fwtwLV+)ws)EX#F)IQWo$+qcv
zS-9Pv+wlT*Bc!?y3c3_nCaii2gvk|odhidzA7MJg=ChO$ezSQgjXyh_GWC-q)*N|;
z6&fbQb_nut%;RUK6qeAl(!y-Y34g{GDs$t>!8}P+A$E9YGccITZmHi$#UN;fB*Vb?
z6WYq#<6sPj3dTu5lG{=*3yAcmg1uxKJ8dc{9+YGSWJoEh9<T+m_ijj&yO6SKCkkHi
zZ*42!CFKCZRg$cb)!I3ts#Jff4+dPZYEdtvP;4iD4GvxUe3X=i$D;xN4+s3;ACHEo
zWBorKjr264o)?OLYE<8J=WNYDDfUO>9sQsj$8zS9x+Lx7X%GWaijkCXSfg3jBGovr
zmwm3MdM$>YCa{r4UylO|B@=(>KlM&r)guidZXzX`hFn6}pwKq|*`Zla%m<VFF|Arr
z4+HrtRn_nWKbnlTa~1w58&dv1{46#+$wu4iD`x~%<#tN5b{%7&FqVfwu2pmDLNSZf
z#AdTx>2Xn3@uuIKtk!@2Fa8(5?ni#<*=YRm$&>ZT>hyecdH2poKk{AQ^F819{onun
zAO7%19z1wBn@(`;WHMnj-Q3)Sf3(E)PUn9Az3+YRa5#MM;K9x0=Hl{VGMUl}i}7YU
zolK{GQdJK`FBWHKXIL{DjXw6#j}8Wd@A}wxzy6-rKl<^HKX~}?>67bkJox5%Nbh^2
z!I{oKos;qD_^l6p<gfhYzx?Ze_20c(&N+_thohV833vG2;ZTqGBE@D?eFPrv-K<xv
z`XzrU=nwjfwI-HMRlc=gI`Ln(v(mDWpEj{+ZS<xKDOk+(r2*u6ac8K<k3;ohwZ6K!
z9*%~+erGwK4mQi)dd}Sbul}3A`b+<=UvaWrF%$!Bf{IJxD8<KP@Z@=?G3J;8!d}4{
zN_FOA1_v|51q@oQBFY<`fP#)%RTx_{IJ&pN0G94*Jk(<ugI=fKW03HUdcwqwvprp5
z7R4K~wbInGlqs#l28h59u_r`pOh~e_!R2tEnGwtCl}#Yex+qExL4cGg+V2mTFe;8O
zaaar)y1!VjnI0@vy$EP?qW5s$%$R0?>9>qm%V_3BU>bQ8uJj}4!})x%T(9ojy+hLo
zqiwm+ubq=+U1+MrP0(mKrU%S^nvK3=uogY(7ryWXrY=_w1_2xH-nn-tfYCP3>6R#*
zroKckM2B+{v>Kfx*ma4Ij`**rAXpo~cyrt+pv%r0nTD`%s_B8N2*Y9p3bP87*4~0r
zTW-!-LmT&Q>qcgJl0cB|B@C)cx&c%rY8Nf+x_K{-QejxSA4%e1wDrr#3QatR{^!H1
zYiO_L=V*>9dy$Hdz-|6-!qU3P2bk3S$6Abi!2eV1E0k6!n-*J2Ja?IPKV5F>*m9!c
zyAh>r?@l{yl^0Z|+f0SO7peG_!PgNQ%DcU{;5|+2c$i9?2xIra-6zek{IN)t8=#3K
zQNisVf>a^kOB+aK;SfL*<{R)$a6zYvLDt5A>gbWGbI~^vx2m3`bqa!G&%4M{*0RHo
zv|8s4L}|h{8;2A()JWYg6KRZ8Be;j7GBqPvp0vplt1J~KPG!RmDqfP8eSs}qS(_1p
z3F!%FTu;~WJ2dy?ehS!#Dgrcz%hgIh){H#1`Uz+TOGV*Ci&aFmLMkLB0ndXy(6>Id
z|LUw*#XTVawKPX|k6C)EtAhE!l5nD_I6vp=>Fy)7?jnQ2)oMZCp}8Z9tR6Rm2<J;b
zG#m)*=e8=IfL?Vw@dGb<0-F2o;wkCE0Mcl%j$2-epQy^Wf%HT(C<OraSj>(!jSR*l
z$)X`jWoo4))|KFF(^NRM<_hfZR}Hy(e&V212%Qbi91~4rDr{$0Dbx0eU%Q@f54>ac
z*9M{u9x?!7VOKQFhj1wf*|dHkTtv#<ohmfoY3#a&`SAS53Y8C-ZUVkldBSJ9P<Rm9
z^jl9`>B~T?=9Wee?U$<`Yq!FD`(SO^s};fJRR24|Wxi=|^65#^fCbENBKg^wE!b=m
z<?2qgT{F&c%vUz^8Tx(hLAeEN+ZNsJlcYYBNJbM_UyKY1!2*Dy<$UU_QcjC7UA+>^
z!T_2H>8{BJ%SV?Kx2fdqCDYl|OdA`$?L-yL%(R|>j@=z5-GjphDOxev$|^M#&r!h9
zvpMNfqM|w>wL(0?6W5fjFzQQr(@Nu^NPAv=3@;;#F;=K%eXUP#J58=$pKSWQfkMuD
z4n9(a(kR^A+~8+g4{K9d1cZB`kU#Po|JL~p%hU?ZG}KqBuZ(S$^Hn#VucvVgke%VW
zd>I8MNDXLu0O4_=j;mzIm`Xmc7b_Q$v<m8HB^d%VtfxGofuEpH@^mhy2aOt3QA+0&
z9ow-Mgm1AAZ%HRIvRPVasBfJT2;<4x|5cCDII?m_XQxk|J|#Qrc1~Y^;}8D9f9dc4
z6~F9zKJuZ<%gZ17B|mt2*}uMi`nk`4?X3@dXt7v5dGh4LA9~9N$m{ECX7<B}4~HYx
zP=7cY-MMpTc&fKlBOv`<eNXVt#pQ4~gt)r8nog(l<pPUUp{wuYosUnEeEQ@GwlPvy
zH&5sB^M>!c|DO4LI^9e@_k}Nh;nQEaJiq7<I*aA<_4mE?pZzC)=AZf}{ueh-A8;_6
zE~Xb}L;adygclVf=77Igo~(3^TCVhFXZbl^_Kd>WVu_`Syi$MzV@6>QS?>DfVhyg2
z$}7E?V~w8ff-~cCqhCXj(_pVU-Bq_gUw4LQ7n8~C$&*KS&c^z{YCc`}$N$X#{onXK
zzw00GuBovc_IjjPLU*ai!c4asiZW{WNGbIefpSvOF~Szmr$q&#pwD`tpRsDR*v;oa
ztHH0pER6rweO8{<P7;fW5Slgr)#C_5XJ9zKlDm?;g^H}|TSHulaBrwG(q4xFbQ!+k
zfHh3YDBr|`esB<`G~R)dz5yv)^P~m66Xs0(Af)CJpec=u+ts%c1+whkNVCEiD)h+(
z{?JqtKvx{ij%X1{^l-Pzd^W!qzx_o+(|EH}n6bI{`fE|D(*;%FuxzLZvxJ3%QjhX*
zWaKBH#jj+X6@vDz7*z6V6OxS?VnD;hHb2U3z)w_+M4|$@sFW#DnNk;M%eLv!v<%xy
zNI2|lR(GdNkY?J$nmGn^Q@K%!m8kjQRba3EZT1|CXX?ogd08zQ2e$ii8wGY<sTPiz
zDZh(0{>#F#`t@@d>`p98HZg53&v*iQzL;{o9FNZ;CZk&Zepm=pXo(>lg!Ccip{TZj
zgHi2Wwz;JDW9M>n2()J&j<|sA0fuqOfbhnW={R8RLEE?=?Vj}a2+%ZhC*P0cow)(e
zrQ_^xLu-FqhBEKZpp@CG2Z54b(sYwFb271a{|8*46SWHuC@75)9rGbGGhsc>maY4{
z3r*yTHG6`;bw$&Dqu{f=cZzO9GA1>B7<TM$GdrUuki}Z$_1r_YhPqiS>oJkD+jl@C
z>OsQwK2c?%42Fvi=nTx(+1DW;#8UOL3aVm*-6Hc1=v1%^4(eW7Ss_3e+Et`w2NG~;
zhFEb(B{e6M2^=TQh;$222u{4VEhLi}QnGt+l%nW3m4fghv3XmYK}qig1D2?E6dLf4
zPQaq74w8DjO0SlE2dcuv(A<dbWaciBk!7UoR{If2e{Y5L1k$Xqg+{hKrx~?uM#JQc
z{qk*kzEx=Y+&I?GW945~yL+)$NoGQ1n1eB%4=!aI7|iEH6|ex6T+vl>+6GG7rgt0v
zIq=*S55O}tzhKkHR?pJ4iZ~NwrpGI`dyTLjt*ge=bh?vg+YMxrTH?1LHM4~oRHs%>
z)1Df;Hh<amFhU$4vnqsfiJ(YS$k-ArTrJnj#cIBYFLE#RK3F|6J)i5>rL^;_EyLAG
zyYY-=Kc32?r)VDZ``kP%7m7_}VG}@&R>+ec8s&%q=rUx9VVMsgEU)-gWYOtT(>-0A
z;3(vjn7Upk8T&>5qL6=bhGM4Mt5_xiLF7Z2^rXTN+D-ryRVt1GprR|y<iZn`6vpaN
zQgntPswIVb{Wn!~$ENo~$iIpSosLJN(QrH(4sq@f598(DV9;Y4Q9-}*hm}&r|9Fgx
zV`y`Xi<=zAZoOoXM*~kx8xTeWY?C2#BkME|2hvJ|>2Z+?nsaeLrRvlPmZ$o`RJW0@
z{!c|hI{1RrkOYwl=R^bcBv^OW9o^qige6w2hNMf24;8@=jwU1L1S!`;SJI*XB@02f
zIrxU}6#+9FwbSYK>FL?{?5xx8Pp9+0@?Zb|KJkf9{KmiU@B7~G|GqDN>GKcXetWgv
zT;93+=+Wch==44BdGFQL6<&=1a&H)ebAEAldZw2?vl7CNXui*2^~J=hjy~yME|(4+
z4u_+Qiwo>fz`8$RpP<foeER6Y<9n~&e{yw={nM-IH{br|Hy(cT2Y=uP-~0NTXQvmR
z{`B7&o{mrNy!OqvAAat$Klj@G_jJamw7u;1HiQ1AH(IPt7W36=&Wacex*T3RJsF}m
zflL>RDa|v-27TR+r~LzG>p6M75{CKE?Zs;EEU|R4TEu&<*UQy<v0Tii>&0Tw?+pi9
z@i90Nm*yzjALtH{7EdoX-Qkzte)6?1J^sG$`+hx%u6Mua@dd>31{(_cqtT!Ojt+>Z
zz%(O+8xu1|$%q=kOk0N@+Kvz8m9iG_G`kY>o&GEBlQJn0i-$NEdzzLG#oIM)JT*kH
z@E~K6#H0y+YTL%8rUMiSnst(KQLqxtdZXj9&SWZ*+AZ~*z1)Qyd<0|*Ygyap0B`H}
zRfa71AysCx+0&;_A3c7uSgxRFGrjsB-%yu%haR@*pwTH%g;FHw;A}o)hsM6^$pi)p
z5kv*8F+*4+xS07y^?rZ&l`nr)G46PCOMjquI$s8`9wr^37Up3sLr)cVumnufG%}TQ
zlnH2bwh-ST=A<VCOO>TG$j#Z4z#Lx`)KJ-0MMEH#>w=OlQSepw_9|_qxm^Ia%w~AX
zn?@jmY*Q`#T7NTK<#6m&el^H8mvqhSjAQL@L)oYa!`Yutc)m^@>;E?SW8rH{Y_5VX
zesTPaeZc=y?4Y6c+m&7cz2b-yXB1VzkVs2=O8Ph)?Yrl#fXyaA!~QLH_rpVQq(O1?
z-3wb-E*xmCjVe1BM_Tioz&!8p&PCcp^i+rWJ!tiRHB1nhz6H0)SVIkM?Uwu+ZN#N}
z3m26s&^0=~S!?)Ekzr=CBS6K{JyrtBwp^5ifjIn6mJ3il4RO(Nh(e)`Qt>}f%DKjL
zG_mDJihNwu_DxYFOxThN&}H@z94en%Ec;cXbBbT$z;{x)xeoikOik=O0Zoc-j$)k2
zV7jXi1~jV?spVqbi{HiO1jaENzKW99@~VL2ux$E7A}gVl7)Q(3fjDyr0iXG@u#tqK
z#~>)R;u)iCfFf4}@N+5YXsk~c;YZf9K}9}IBFSkIePrn%Ss>w#m2BU?N$-$fE!A|l
z<M&O+v)c+`OTRT+-c9TUJKQsYhD2>GPYN>;?WhPloHgxXDGW%r)^w1xd?*HpQwh3C
zsoz8m+_fZX7p~Z>#mJZ_OcJsrd>1)wdF3qF?i^(+ZBIZSi?;s0EVTM_*DcSDWA#5r
ze{&V<bhgwFr`8-Ci-D?0S@R8NwUqWjLBR@^Z|jj^0RTbPglT6@fGptbfoQ9hn|Noi
zw?`$~?9rF?kHdC{2buP8m<E|<le9^205lCkAg|K&p`8Gq%}{Zhts22k&W=W-$Zb(b
z(KNFqrR34+{VizfWAoOAiZ6oH`$&y1Lbjdg;kvM&j*wQgDAnCP(7^92N*X^=0it($
zpKmW!&&b16a^-;lG*?)0!WcjFDv828O9GXt7yg@;gAK#UgNRVZ6R?uhv8YmFj)cP&
zYw!bj6p2+dm+as9{2zK9p{e9^_cv#A>hM(>f{-yE+eyWYY!LEZMTZPmu*%h$54if8
zuBBWr)ZYMyB|Ko-Pu&9a_=xJP=OKjBnA@hS{b$>X>0U>V37g}mne0YCJFJ2<7AZ$9
zS{E}~#3a)&tp`}tGltVjPtRy4h+oZgNp`f#6giDrdRw>NK%&vHFhB)GWL2k^hL{x2
zrqf%60V)b0>}t>`V4lLWFloHta^30o9z31A{=WBf@cVcE-9P-xf6d?h-}`O9`KN#C
zzkT29_b*S+-gy1~SHJePd#~MJZMvKr&&H$8N=GRij`I0ZZ}4DFv3^&~#$j)CcDh-v
zo?KsXU#-s&;?o)=S+J{>Qs$T!J41sJi}`ADef{v^!}q-Yo(B&eT;92}Uah7NuKI({
z^kl*edhpdJpZLTNZ2GIe@;Cm*H?L;@;=lGUot^ZqPZqBY?tJ10Kk>uA{D(jM!4G`+
z{U1E<j|Pi%f3aNO%;q=OI2l(jJF9hXv+S;yy_1DrkGvkt*FC>;BIf66qev*19A*tO
z3tI1!j_<u8(%Gy=v1mJ8MM-htVzF51ox|(l==9Om&AK<-oSx6Rr(gK`gMagn{QL8h
z`9Jjc{|`R+-Z%7CYsRtH-Qbjy&2&2L4hK2%=woRpt~fD;Nbw0`&=??2HIkMAdcHgK
zP@2+spk^>Aucy^{_+%BcB325yNL^&Cq>Ady3aUt9gv1k~6fK%*UPsxU64Ds<hg7<1
zGti!6q-+W*0J;S9;*%D^rTB@;WSLQu$!s#4;$*TE0V=V=^usveAAlB^6d^-_6uIHp
z3eeaa4(4<1>iV6}`TY9kW-!oukeGGT>HOyA=Fy`^Wc6{#rt`*YuUoUUMcgPU?C1!M
zn9@O?5p<Y4uU10_1;gXDyML<Gqm$@(TF{q2Wurx<#TC($#7Ht#YTKMm-PhfhyaDaf
zEnRiQ@&>fCC9^`hjvM;~c9?F+$W8-vrCApNfB0mS@(5er%uJgwO1cegGR%oY?cxxf
zhX7OU3Xe!h??vgi7eTf^JF|3P6ECa3uNt;9cM3e8<)wxaui8JyJ^?+OPv(oo>FGJw
zmssN4FQA7^pm=2R*!jcWe-ykU9f6i7pxgWzj|&`y)}^!;FY5{DRvbA`j&#3(smvWN
zJ(Wwhj@^YiqR+qgVQ2mnNY|-dM2q|7+fdq5)~#$#rA-2qH1?RN89>&YTI%6*)-Vl!
zZ(F|8F{eyHsRTG1=X?a1z%-OnI6Au&{H!c$a?z$4F2$S<M3ZV>RrEHksx<+>*(uN>
z-io5)wkC9$1zAi-LM?i1LqPpv?&Y)+-15sy+g^jg4t?+52l+!aM#z;NfR0kZ#sO#t
zpt&XB_LvQExzzhKEmpOwKNdF4Rui<4lmt9c_JI4H_z(llTK@r;gcaN4l=&R}%?BYR
zxCkW>xybZzwEfC|8Gv^8neK6pTyw_NjZ+vPw-f<r*A4XwKvSg(KqHBZ7=zRnfG|y(
z>g}R!L#Iljs_q!3U0SAUrYZumIXdO909(fJh@^$hyswp3WLB8f2D=X3z3hYKU3V8v
zj*umDLni!<(`M`5cK0Bb@rz@h<=;xQ+0!;I$J&pcW|h6n5-vr|k^sU*z@;V1(hB?a
zdjeZ0v<W!ev@@&O9GJk-Y*OgbCg5Al0w&C~z=3e}HZ--}F8_+~%zibkIyL~UP+J9S
z%V}=9v;o>#1S~^?5FXPi&KaeOKCor^XRfxe%zU1Hd^N*TXJ=>eHvu*587Y&pC6TUi
zC33zdY<svItmCz=W-|9oua+sGNp`1$dJ=h~v!O1?N*!k$pT=uU1K8m1gVkbT0_f^d
zX^ZcLCuA=H#GJ~lMZ0X2W!Fq2pjS(*R~y~z;CgOpbPTfJQ^iWZt<|e3;-cW9Or-42
z?h37FsWS-JewbyI;G0h45}cm)?+9v1L09&31k;1gcqWyo7vcYO3;^^9dH8xFvVi@G
z@<HJ^@^%pzjYjAJOSX>qRXVWLlcC)Fg-LoSGW0|k+KtMxN;xB`f7SEN=v>=T5r9Sp
z8c(V$H7c2SJ8crcKbh`CAUGj>63~sP#-IYM%Bw<ZE5wzBUa$ICTnSqYkd2#M(UNwf
zy{?b*WbGNJh`Bm*)icCi#9MtuW;e^u=<NJ**zNuM|KT71nQwgkU;Wqr)yade3|8~Y
z;YGjK8J!OBVRtyjw?nGxISBkDQ}HlOuvx>oxO<0Hz`$wj!d;Rd=ncCN0N>ztT4&Ia
z8IQ-)o7r?a9rgyKbY(a?y_(!CCyTqM=gaxc)5T+I^)|G-zM4Jxfgk?iKl=av)BmUc
z+rRNY`OUxM&b@n2C)2<B*Z<lVKL6SIW^!k6`HO$iCx7`b`K90e(T}`-d3iP*L|~al
zW~=pLO-E1kxmRzq?#=afW^BOhjkY6Ur9qKx%e4+pDoR7V9&}?%=?vyey|jU<81MIZ
zJiVFSdCz-4|BVM<{Q8rB`~USPe$B7@Eg$>Phwh#%dW-pNGKqs(DCu^li#ZOV=j5cB
zX~p#L02N1NilDK|#zbkwtRT0>rxY@(0-HRDRaG^iL^P#VVm{cKK?ThRjbz#l#S!1w
z2_{C%xo+l5e*l7Vn~lc+%w)MbEU<d?1T-@uCay<ls+)}EWHO0IK6Gn9sT8HU?xtD?
ziOIg#?^AsqA6Jv5mhRZQ-K)v8-_uqMGw$KjME&%qKYek2NiA8{?OtA9cKZVcTyN73
zpgbIqdgqCa22u>871y0lXA-JFY3a|rf2J&mJp{mUpgD#018&i?F{rKo&B^?5LUJ{L
zhN-@@(^Nhu#V4k*9s(e2!mw}?S_}nhwZJWUY>crpXDT32>sKaZYN)c3l3D6$>O2tH
z4+r8o8giA={?Z{eJa<R-B5S*)MdRhR3!d52=L6%8&QdK6ftTLUfp9ku$MXfC&(1E`
zUZR&N038Aqsy*a+P=2C#0Cu;51JDwHR?%L3o4kUf6-Um8<D>&I+v@@7eNac%$NJ|;
z`=5!L!kldqw;)fLCXrzd2Zl_S@UViiNOa45uo$-4ylf=1*;SfFCH69(2^y_FY$ip+
z{xnWIrjKr@ly9qBxG3$bZK+YxP1H(j1}Ff{A7(Qn<W-jg(5^|T5j8mC^k&lq_b143
zK3w`iT3izEm-Kd!gaZ_ndd#6ApM>_H2tXqP;p(K;04$hL{JOMql`wE!lu+cZLF@*g
z4O!yuBTVaLX`KbG4andwUNd-m@vANdI?{DcII2pPMqX9`x&+k|1sxOA+De@^6~e-~
zzgb57xHEAUqs$Cc_f-5}Js|)qLDarQT0-5d_^y~zwQ~eqF~izG3t!O&{?tmzR-En8
z+{Dorj22|WUJ<g{HMF(c#y?h18<O{mT1`%gvJ@IX8!oB=K54TkHq$hR%F=Sa6`KGz
zmRj$z+yu94F;#1Tx}}&2uXGEz(OkVvPaEH`k_@t5fbUL}eR+;2pyR3}4P|O4t2~hD
z{y^gep+VFJlj!oR4e+gm%}`gOt#w<(C(nDZbHiU8CdT7&qLPLC&lwqI;L?z(owz83
z&B;QAc+wOi1-Yj{n<{zcSoEl;?<IMoJ<-cvqZXhuuFes17+?2sk)NKH0P{b7otZ4D
zL)gwLcvk@qu&Vq{YTIKbbYItHraD<nXDkwpjO8U97CI~A0{O!M%Os=#N}AiKaRAyf
zy82ag>ULz2u9z|jr}R!V%6>;J?QlD$DCB0XHskHh(5crL9QR0ei+cxu5Kky)wI+lj
zu<Lgy!y}!?6VNCD_?c7^ozBfdF9K%na!iOF1*nx?SH}QZ8Yz-88x1SEW47+CR2qiL
z7vTYT?z#=q&-Yb(j>M4RPh}MrhLmU^&6;4zPI_!U$Q=j1jtiTU{zj%CnmB>rXf>HO
zGi2x&jQSf_^9K?by7LjmdUbv_noJj)@#W3U^o@(Vf9o@!`GbG--}`6&>EHLOe&~D8
zJ15Jh^YgRu&GgCm?DXkuG3L*pKOV-f#wp%M3;H>Y*?g`erG5)=*c<fMda;e39vzKF
zo8<zz*<#7DlNM#9_JAH%JbCh@r=QtaJ^bdwyLazCdi1D29Ct<|>>MoC)5+8R>FV+0
z$9G2ex}Dxn|Lmte`9nYa>;J*u@sIt(|Eur+_{T3VFTe5l@t`;CPG{fv@>f6oxu5$x
zKlhox^|POPbn@i&vp2r)`@iRhe(^8<z<XZ%*!$mn<Ls<IU#xGgJ2Q^58vNyE$sdfw
z9(5pMhykXe&V*1D8G3lRKY+F1=!Eg3(@k$M-*hL7)qK7AYk&PG{^XzkGi*J-`?vib
zOk$F)ZziLju0C-AidS$j;YY*SV$NDXvmCFJrdFETjG>ReB0N1!(|To?5aw(KoSi%A
z(uNo!q|5~lv}V$a;Ky)x^+r)hYd~8FB+Zdx1=cW-`VcE<i$tl^Bzb22mM%1~pU7l4
z7w1gV(S1qEJVk~bAnq+zo5gB9oohZYb1W~(SSe)5^UqxX9uCw*iRO>=bUIg)E7PPF
z!vkD%hT}8zbI8BGzW(~xzs~l<m0~iPy!F;w)OIMDS&Fv#Y<Ye2^z`&J+7Vz<ntP3A
zy_+ST<|d_t1;gG#p#`#IRiRpO%2r`$p}Lz@8mgNC=<23aD4!Ir0UN9z*grD1uV=KO
zwWi`&MJY5lSE^GrZIrZ8aJDwzDz>LIgCeG!1)SPWd9UhquAT)-$xM6xWaL^FI~>fO
zL>-3Q(Bar?|8wYh4wS9j?wOZs&*AMJi<f0*o1SB>J=UIM1JKji&0@JcJG&SR2HId0
zbI{JS({6F@J=)vf2|x!hEMF-|Gu;+XXdCyV-IM+v0h-n|GcI$HZEI5<(F@FuLEF%j
z{cY=e3G`$!6HayDDVoT17S0?K9*8z%&6)6J&M?#P^`fR6=(yXCP%NZ8(?@5RZIxV<
z6*jPAe-`sJGq!bgFfa{)Kx>M3gWl=m0iao`@7P>g4qam^ANK-A=HCLFbc<(7o9h8+
zXl~VXw@}rDV~C@ZXm2{1V^eI1oNdxK=`0|b!gSK?=u#ldG_hVvGdj`i$?7SXt5{E!
zY8*<A#YpLqE24)Y^CA2S4kN1g{Hi+v<Vk6rA_x{Zd=9~y)4r!<%=6u+W&vkAJxEgp
zpkoVbc?AclYt?Yb{y_Ca(Y0bjEcwvxubG*4)~PR4w#2K*v`mcqYk5QG-?-7*O}Uq2
z@b!FLq;OIy4O=rZtl3Dd9}L%ZT3sLM4kHC;y9nWyy^AzGE}@l-)kP}5?Q)bJkFsAS
z+WOcg-^S1Dr3MdZ6VK<{Cak9{ZE|YJMcIaulbME#n)=~+D07jCrXNC{`@JL(EhGzp
z=_b6hQJQN(;LJ8Zx53rhP_~|}a`qMBMf8_-kNnD8Ov2dJ_*<sg!$zjrP_jc<b(v;0
znvhUHrFtXj{&8#uh>dDv4s<lo{N*3}vU$5$J235b%XG6$`(X(<@uZuIm@{zDuXCSX
z72>G~GwDb);@UH1h9Z+(yyGk3r^8XQP3n|*H$$5o8qSM}sV4yO#o73j3k*JiWgv+Z
zmt1OLPSyZTN%zDrrQn}9rjdz@81_r13P6XsRcAwvq{>EYQ`=)Dwk?7v_srNu%W)*1
zX`0J)^fA#Khz)2v1e96zv<g5&YkpP%XvDG%7wk~80~N_EWT2H&!SrxAGDmSXbxxY_
zUw;s9dq}&Ar?*lr>$sPJgTUw*GNFIc#}4^79!6HJm=F|^;z^}g9>%CN7ghGB>QzsZ
zSfrpE0rZH-Ny<!MC6!JMlITsBbrGIMp_s0w(r7I!mxKy9>19R*-RBCbpaWpGmj3Gi
zG(0<-u9%ma!M*eI-}kTnUw-zRpZ(|m*FW|nKlp=hzV`m>tEbmD4+p2?-cVl?9(7ma
zh%%!Aor6Jd$$H>eH5ziB>-X{Zh=rk(<C@9YT`guqIPnS&cbAPB!%10^H&@s5`C>d6
zK7INW-IMuj;uG3zIUMyDs|oU>?&+7l@Wt2OxWCw({N~^DJOAx}<quyydPFaJgW+s4
z9nIGlqtivd^JFo-Ud<m&o_y-(e&+A|%%?v6sZVuJmiGsz-~Zu{{PIuyz$d@!d*6TW
ze!t(vrp0=Jd8@^oO+@QKA1W~i*4~;FWz-d=v(kgRjQ$AE>ZXJl(Hl(H>#u(E!I!`B
z;6M0}{=>xyvt{_({@#D!&G)=9z@wYZ<m#F+KOK!ZRZgeV)6>)CdU-ROj>coW5rd$4
zrhPC6psSw~bg3p}?7wJ`E&9TM;Nvbswq9bF%!#@}gf<w6ftmi8hcg{>Z_PYq_(L~E
zxZF^dNwVp>%Lb(+k_usQVj?A4E^)Oq<$|PC?vf9gw(^+HjhL+t_Vt2h%;r8~Hq)c-
z^Z9ZT@5=XcTh<c<TcYTdF6F63r``CV$bjRI4(KPEOEI^;>2&|rr+)g*oqM<o{^jMR
zzd(b2rs#6H?DX{Nm|l0VSk8unG3z;haD^B$>LyE}*MpBs$<q)ON28I#<!R@4oBCrw
z)7g{(;keYh*lFP@jn@s?t48>o0<~@#2cWZOfN5+qVKEyF%?N4-i-Qm;rka)?E4Ye5
z2NSi+j~ymqmoJnY)1@(n>9zp0=fAUtY3#8{r9$^EXN^+r;VAu3qO_#MvHF3ll=inN
z2gmAflgC9aI#%IJLD^{8@x$><7df>U>C4i8te!Uc{d`^A1g0+raAs2gTEA(bom<O2
zP`x%m*MUiV0fcRe-Nuz!C=Bk7{jrA_$J!tJ)e*p?<M5p)pl`*Iqa|P}b4ODrxwOrh
z>PTAvI&Yyh=wh)OEzt$36W<in&DoaYk!>4FyAc6k!l~PJtV!ow-P4E;O~~jBlT-M<
zc)5C$$gO8$%>k#9F`V_~&nN|ao(UqsbmiNvWN>taCQYoO-BQx1G=xC-jZ}9C6`j+q
zw^5zeqx$|LX|%hCZ+o$=1RUFM+DriL2cZrJwNTacM%#Sryms%cL<$meeOmzF=+sv+
zS8E;7AlMTjICZfzLU0ZX4GmOJ)B-e^$ebpaxY%l)986Jbj`jl8^3J=xxN<f$!A!M<
zR)U61lV;kl7t~r3lNyFjpUhDx+Tu`)HUMX}T9BtYMWp(EDM$KhwBS*3&CN$ZGQ}5i
zEe72Bw+fgc!z$!#Do)s)rfe=Oj3VW_kb}{1sv8O1rOMWpbwc1h(>26>L_%o;CM9YY
z$b=aGZ(?!szZfmzx;zJ%AyBDD9=%#0BP}1q+(9(D2bo(6Kzo|)L5rR?w6)vrpBR7!
z+T_E5d(hS{yW>&l%CUP;+Ous-d+w199BKcz3b&7AS!%j{yk0(bT2FruMbq-z(I&%%
zH&K;LghkBQ(@GA(fU?wje3j2YPky#ELr0p<dKRzpu!ih&h>P=c)4NTlyZ44Y>t1n0
zE01fM&>>99A2c|;>wq{sUrk`dW2nBUt@T7qbu{U2dhD-ymunoubU6z2=ux*b><=Q=
z#6Ky6MysM0EIST!x;BZTPv#F4f!0olE+6=e@<0|gRH%OEKutOX9PmXS8%dL7?4NO6
zmO+9XnZWVbLaLRz>8#GpISVXrj*t7%Z>6Grfe9p;@Mnmm(6$k!j0LJ(Tm98rl7sgC
z&n=(*tjlz?6}3XGm4nb9?W$=Qt|9J;ZU}8~0cq#FAz|dCNS_t}EKuVWtikYkiMCQ%
zI9$UM7o=eon?rMmYrcex4D&|~1~X4z+tU!J2pL%v9}E}JsfItu^Ov5R3#39*N27oY
z&4>}kkizV&mgi@eH!OpgisQ@6pZnU^|HvQzW1sobr#|tKPyE<F`D35_<R`!J&94nc
zr{nS2dO00-7NcSB^z>8?ao>A=dOM#^P}=Jae8a7Fh4{&DSsW{vzS4b~TCL~P*`V8F
z)hN<Rc0OOu7pPh&mOYwHrq?&qv&)OcYCRl`zxc&3{h>efhyJs_{$Kuq|II)5+P(X;
z>l;?qYQ9=87vuiG?^)K&pzqy|g36oDY%zcQ`0*FM@P$u(>Qg`W`Oi*HChr-&=gl|Y
z{J|gi{_p<y$KL<O>lefR>gM{+c(9z!ma{4AaWEQQ&lWQrH8`E0be>M;-O=f+GkE*)
z<Mm?s@X6yZef|so<zM+PI3%r3R=?vn{Eqwg?p<D9FhH}L>(zY02;q|@H*qZ10KN7D
zaq4;uMR<aJP$@^Q*g9fF_#^n{O6OtLZ+H7<`H=UkLQc{-+>+vlXDMYUpm2p|U0*wA
zRMQZpF^I`Vig4Hy6S%SpK*#cPX~kc69218OOVz5|LQF5xW41G$dOcFk=<Ic|{!V5~
zJ>dN4(IbY~0bFJ=GnC3qf#GoI+lr-5=KW;^e`RX~ivb=Ojz>2)H^cFGHk;uJwDpIB
z#cWB6fH>>UbUJ<d^y$rPs=ce<d+&SSYs+_2^$NnE3GbPt?x{hMQxIMiGBah(*TH57
z^n%oGF;c}m0nn)ylOEO%bjn6RYMZT4%Nl0pqP%e#QV~UXGn|=P0nSpS(T}X_Lc{T9
zXvDNk@JAHLI15Z$RU4Y}C3Z?%)ZDJ&aA<Eh4!8AdAD(U7i`ehFrML4SI$J~AxV(rB
zhu~G~Z^O&#Z>xM<J&%II8eH1+*%e#Ykk!R59^;j^O@lod?Of*Aj?T}|+0DG^wT<la
z!Ka-j+Wk}C*`9%-M~C=)|7f+NO=DYIFH8TiICj3ZLx%@0i@-C1IRn8YadFuYG*c>N
zcEJU>W|Fh9xATu$J82nv$tnN1zLSEiE$NAqNtWIcaq7k_9}{vK^GazMw^7<yUp2Fh
ziiscMZv(6y6P8T!QeM|@AfIh6(;Vx&9StLs0!nm0RQOhx{ld?;mpXM1Oxu0AG`GSD
zk<{8qi`GTGdyoRq^eHTpbD^CzBDZBOSLs{8++#p+M&wit!FmXV4LolE8lBvIc*7;F
z>e@nCg)>R}Lw$uA8Ibiupu}qcKB-%T*0(+pi)me*zT&}<Dgccnw@J)D0H+>+4xP}}
z36F~J{s6RzY=-+{`aoEoidkF0Zcl5wggwv%w}B?I9us-~?CMXZ0tmyFv|*zVP!PL%
z+Q5Bv^KRi5w6)!4)j>wQ5RMziV=c-zS~axw_gfW!ep$GEcD+Q@8ai;gX1s`<W!+=7
z?9@HdhEl#;w7geOt)aF6w8FA@uVP5BP*&b5`>5?FAhL$+_GP>~3}lXp%gYp)Hgf6C
zyM_yU)+;WKB4F~DBx0cIt;Mo1T(ot=EHirzpSU?h%DTG5#1)w=S135(@=SJeq4L$r
zsi2diE^rnz*s+_}Ys(D!;ZMu!ikd2p2iu>8NS+Mz27030Vi5^Vpt3mbSJB66I~Q$O
zPvYVa_puTP?v_@XydnMCK6d2SJq1nD7G$R9fE{Ha!==3{V3+myVgMmTUH&>{nsxMb
zS=kU>t^!7zZoEN4FP3p{5+7DyAA~a;<+!Lu2<)_FsCT*=as*P?E`+(3;u#-QBwtlw
z!VKaSH?l{u?&KPTdR={NtW|~%@?HIh90s^Wr&1Uz0{>LDX%J0QaY%m^ZtIRO&ab97
zv(@_U>#seXOg{DL&;0BE?*EnhgMaqN{@K6h*ZqczJC{$MT-`Yzch=XVzN({LuP-=1
zJ6W!-udmMU-ccNj+1TxH<E@^vf)sA2^?34=wIGt&s%PHU^Ev5qzMu+gzdz{CCJIN+
zri<%|9(?BJ{q09j-}mMR{@kDYbHDGO```Zd|ITm!2Y&N!`R3QZ(OE4oPtU&jjj!Lo
zd#|%uO{Y_7t4=7fQAEI$ap?`#-QHrenk<%YKYaAFKli!Meg5aZ{KYRmT|7KH>3#CM
zzwg8Ed;gu&;r+{t54`{V>Jf+f!Dy+s$8;WFPydyF^Iv;<GGCqyFFN<0Y#yWg{N(iS
z`IW!s;~)LlxZh(L=>>I*`DUrpa-Zp^w@vGd6EQpKKYx9@C8+;0l(AFlHHL#0^Qi_x
zh>K;6AXvpOJ^D7%O2WIS9Bis-X}&{*>N=Z2T5WNN!mSDi>$8$(0J_tY5>7|KPRo<h
zrG9msVNctRnf&#xD^Yb&8lu|C==79>w6mO)mkLPB0asTyq=S*(362tnn~}lEA*>hi
z#Vr7J<8fvykMX19q^Me~mgkq3H#aw&>Z#6DXBt!K)1UtIYxmzk0Da@}`1Io3UwjFU
zT3186X}Tjf9dI@p+`>Ev`fDP?S^p-Dvzc&eU*)V(Tt?E<YA}_Ce$$5ppsRt{GEI2&
zbJJ#$%EbXQfn{83B9Ce0<a0ol9o0;w@lKya7w{-I;TBV-QOnp7NJiDsrev?eThJ!m
zu4lhN?ehEiO>e(kydt&Fjdz<pZ8+LaZ|6sVm7y2)DDC&zm-JJ()uN~-h2Q}6)ioEp
zZ2+3Il5ANRM<T8>d(iHOwB8RysioA}X8*ChYO}J<{+FfyShV}|Sm@b4W)AQkizgxS
zH-Tymwa(6J-j?#vz8slZroQGv(-vt3eY46_qBfwd^D}}is_9%slqi{8mZK9)dk!<y
z6<ww^zP=&0Z%Ni#ESlIO3~YbRJY6IeKyRHyHF;pa9S+%Fp{A|rQaJer(8w}1B4<5k
z-aSwN+Wia@<t(y*tP#1yq;$2`%Q2wYI_V7eU91E+q|(>KkpXCAD6Ivc^J1$kRP{JX
za)YNkB}zfo58)dsXjiN{vS|xI=gl3-pHBg3o1JMB&tZ?NWDOPMc8ziH%hVodA_4?E
zdTR2uBDYHlor`X>Keo^;`Aq0rwENJip$LQ>0`901wTrecw6%L%mtQ504nQB^p0bau
zl|&ti<NW^|c;{VBi-*rx<He1%hGVtV+I^-O?pGGeL>Yhvd-ase+PtdiDQ{CfV-Wyl
zEg!Y3$VnZ8mJh%tlWP;1Z{p7Rg|kMs$4%NQwmSF@EBhVI5@4*0!=Ij9Evr{V?FsIx
zu0oB#7dx1`HbvGl5&9ESQD<{@I)=`mH4|K3rD&^JsXjf5pcPpw5fL>M-%&(Nbe0Dk
zeZ>mIyDyS|`Vq(m!B<SvSztQSbT=hGRQ)x-kjc#CRXP=P0!1aiQnRh=IS}t=-GWkk
zl5Peg$%nRWw$hwbDa2dR!6Zoo&WVKqp(DB?uEGh?wb@*^mr*0>ahHev^eV8epTm;A
z(i8%wb%X(J^g7JXG|DRChQlI~Rv$?<(|Y1VL7TJjv-Lgw2XFVlDobpS&Py@6(4ju8
z+N=lN-dw)}x4yW47rE=%d~|WPTA!SrpMCSe!~fuq{y+ZaXMXDYKlX|L`9J!5f8<Ag
z<m_}X?w_m{Q?&KR`l{J#z3BFbos02ea?|yfjeEN0%KPzyavUI8B3MX!y0)&?n}vS)
zjrp*SSL=3r{S&<&XZ7gqM>x6H9dh8pW^DNU=Rf}^|MdU&kN!XZ=s*6C{9~W|<R>4#
z{h+sIA@`m<c>9glUVrr9fnVm!JrAjujI!aG#eCHtMgV%r6z&a1!%e*Q?PfB0^7QeS
zzVemNeeQD)A3wgnzP`D+d2;fEr93zp^iI0#ll8s+owL)^@BZ%ZzJLGz-FvUmSx%Ll
zhZnQC(&=oy(KBwCsKen>3r!tX7*;RM&<3S-98WBp8}A)nuhYAy8E}ua1|)vxQ)A)z
znr4x@gZKQ|Qgn)O)YF{t^=*k(OwPI@kfUM>G^aPGDdW{0T#QLflsf=ztm1PGK&h5M
z_)`A@(H+f0(V9`3IWe7d0>7C}eU=6slyL}Rp-c}ls|%{dU;V5oN^sz0GFe1;eKZ^+
z0~2ZP20V48fvFSU51@21pPZhavOB%~_S@b5;Ogp%v3TQ+H@Y3&m0+Z*$9wjnLz}!|
z&~#3jXAq_hXQM}3SU~)6MicqG7qz$gof??~@+At|FCKwV{#j2zmo%V*iK>d6Rv$kI
zC4b8e4zLE7LPO-bkxlv~8E0Ti`YGw0HA?yxG{u@6&FBC{xzt(HnJ{YEXM#zbs29Vr
z?KVNDNMBr!@v`*1EWF$7X~WTW?u&Na3ihF2Kmq7-eH~)+vAt@uvd#XNrT<tQJ+E4!
z3z^PWEl)t#z;!=SyWk9vh+TpFpikzTa7tS>l-0>5Dp1pGgvklbx+N!Q-#9?f5H%BB
z3GU(hz|cgC{&c_AMD9y!$rbf{%y#~l+E|#0YDbnYD>ksd$og$nGtH=(4Qc|nHvKI?
zYXG`*DCK5CuQ%x%aGdkV`nzu|fVKf(gWKzrOz#DE8gYEoG1NP?7n?0ii!F{sz9UB)
zCXre*pbB)(X5#h$v^!D;ps^wAA$2#QqdLq(1JId%=RxZ>z{uHDd<<NR>du1bC|4Oc
zJ829T|0v!`b)OlVMd%P6OPc!`nBv#cvaJIU!n+@`SwmZYV-kV7oh>PUrKi+(yC;)=
z-RN<mcvf0j`|d&8jaHkTE&KTnN{^Kr`e8VrftP_-G!X9liz|Ow=EZtE8fELZTaw4x
zVp-S+-=-eqn@kb0?wUo`Q>|h#J!4(UY}{%{k}PB)^KD`F1N?0j?c_Vt)qpd*nV8PP
z2Db{>%6e8^wxf>1e()7Aqm_v3(OB#!LauB*SzA5`N>N#)4|G$JwXt<_sdA~?D&?1p
zSp<RvIHZaVbx%%D&$YM%E;823c?a979Z8on?Mr^bB3>1u)>DdpUzS}LSCJ|&&er}M
zfF|7?-?a8&IsjdX>H2Ou%ahuxHk*c<e6oU`REDRNGQCloO+$sK!g8b|Ee)xf3vETV
znm=37t|pMPe$NI34S^_Dk%GRJd{6J#tpollzLF1;hJf=VjM1RqCxxjYi&q(-*J8}-
zqzJza^`m@1bz@4z_;Q=NeG3QKMEPeASt6CZJX679n!TX}TKYRomC+(*FWq8s4MwNS
zcn)_J59561=YIB2{;5CxQ(yelul}K5^;>`IZ~gVZ{_lDH_51zP)A{6PKA#T9qrrH<
zOwyaY6fzG7GP!YrTI=<OXF7i^^%Ib~cIav471{Z8c6NF;xxS{W!{N}eT`XA5){h=O
ze(>PIpZPO?=KuWf{OiBrhkxyF`g{N04}b8355D>KcsP9g@X?^xIUkP})7f&q&~vp~
zM=>-jEfclNO$R5v)yZOwi+bIDZ+X(0(?g&axU74l;b1g=a&_J9jVKxnhBLhmZhd`y
zeK8)7hW)FjkMCWauNRBeVu>FolgZiH8Ko$<)0hv7_$hBrq08mcPx5M(_PXTs3W`k^
zCpg6!YFEDsw}Rsou0KTR>!t7>BiYXF7Jt-4nk};0**M2CIq9q_z)W>ykzS5089%oh
zL+nz|a7jqDbcz76mI0h~s7MVdFrDN<EV(rEdwum+6JxdFzF>ma=2M*P19s?6R>cI<
z2_OAg14Ycbo0}Wb@tI=Em_U|$fv{GGbHI2F`nvUa8o*t6o+@v>^;WmfqUqB#1~65!
zG1KrrGH_Natvj1h61o!&q-+!c{E+gcF#D>zuJsxns}Kui4`k9ltT$;N0Ob?Vtd2~V
zLG2m=OlLD{GWq=G?6%Z@cKI5Pm?r>Ee2$i;0ZS*uB~za9vLCGBaFp`5)YV&MVh2M8
z+u(#bG7tJdCAUBy+Ux^OB<e66+dA^KCY){4)5b5AJf8<{$FVxw{Prqrdlfj=&K$@)
z5X@Yr@!<jJ+ABD`5R$|(XscBn(+)@4iw;DozMLCg%T4T`J?%Kw{8z32RnK$wLR`nS
z4CMWgM$`4R0ez;u7jfY&tu<Zk?HtaaQp#}k`$Jt2DBn%v(k!@oR+z^(54wpE;D2bP
zZ0fq6>;{posiJjU@%@O-NfoUJg`50i;ASfGwyocqZoA{^naF;qp`7QrN{Ot{;P75@
zGTlbBt)q-uqowk913LHbejrhTZv5yHMwbqC7hnn}iUo6|9*suG=o^lKwvPFLYg)Af
za57zki#T+$+phF=W*v#hR*sfcwo^Bm=!_kdDoB&MEreO0&>%Mi0be^loLGKQ2vm_G
zgq^b3AUGe#BHsx>8x{lb5c`D_fHtU}s6^vT`pdN0(lK0#F4OgL=Oy=XGp$Xeq+RON
zijKw6y{l|^Mq2f~)Ni`2#p=3H_e1HcB5g(K^Bsg$?|zi_m%eK4*SiDRyklq7?fq(M
zd)0nu(|>HMSx>1D`kDT*{I+@}-lnJIgM8CllV@c@u$VHRjU%J1<rbR(Xv0q;14%}a
zQ!XpP7R)hfKZ;ltt*@@Glodz22C!cL+7+B`S8>tc33-3BhTKGcBG^c7>F9}6XMvPs
zc07&9B~s;8e-q-T#<0X{tpr-S<+7wfoIv+vbNBL6F06hYBzi%Minfu;xz&MBDgBBs
zLZyqZet>r;0P5ywE$GzK0^2@%9IGmEeXneG-Oxjl#F!`$O}_isi+4Sj*AYGR8Nu}2
zuV@96lFPCN+my1^>BXst7<Ok1oAvN41ds<J#2NgPew;&8XSbH;71r)T7Y0O-9Q4vB
z=%9yZS9)cI)#kaOYf^t`8EYeTHr$rrS^+yVEWtCGu4*BP8d6tbZY>rwy{9q`gd06C
zyc~{4<MT86s~>P2jrw|axc688+F$!qf9g+t>We>febV_2zv4Ij&fobvf90?I6>q%p
zTBnaC+ypIpr^A!we6v}|_F?a&uMc);_M|snFP8JEf`*!_IGn~-nn*CunT?38R*xU*
zcLl%j*)ROb|IdH?@BWd055ra`s~`JE|H%)%^%nY8%lUFPA9g$A;poZZ$K?IMd$-%4
zES8+fp!Eq*ydcH1g;AQ%=S<sPf2h-D1k?3K=Kg9rpY?l#&89c#pFVwhg^9SF`9B(Q
zC|#`9i`7cM!o6J1&(Fq#&S<&NdqOw~FBj|A-gtd7nat<QUL0AMOFi=&UjmE)(kvuh
zFl|?xC29PYhSp-d^IgxmGr{z<JI;=Ew_eU%H=mB^0>D`Fy@4eCI?JXdkW-WcjFwDP
zCyRTTWh#srE-}u)Au2*jD=|$oox{vu>7yLj0u`lGGg{wSq}MlKI^pgBey__Q#4kFA
zs*p_g!_fHC8hj(YSfwYU!}F3y({OwWCp6DB|KkCX>+9=>4<An#^UKT2`}gnak^1V@
zc@G{vW<vVpKc8*ix$FsTx)y-WSSz?Mq`X~6HoTNMCO{6n8deUD4M1yasx+4`oW^O}
zc4MF1YeuG1Pa87%YG}?@prDN`fGPm7HvkQMRfS2~e8So&=@K=5n^=Ye&;Usb*Rn=Q
zABDDRZ3>TWs5)=dU_EriS%a(sE61SJ@Z3(g1+PNqy8$n&U&rauHCMancLLCKKT*5b
zSq}%`So2@C{+Bhc+Q7+$X}~oO*oU4x?9&#gq2+Q!we5AsFx}TT?Z~8POg?px>a&(c
z%Ei_do9SL~h_JR=nuEyJyyZ(3rZVfG>ErFR4wP=_VAyZcb4VI<c&B&nY;8W5Q{AX>
z7`{XWa%qz=ZgJ^el+}-|`%Yp{02*__ZvWHuUS5`rzBuXUJ2-Y*cvrqaoW4yWX`)p)
zKr4<obNY5RzMts1=>3<ez{F8Xf;N~e%d8)Q0hUeG&Tb}3ZVy0vi+2FpG&Yc013-op
z`Or=M2tcEZ)na~20NTVm51X246VGAK-nuZsaoY4mlANCvn#f8_<gE6ikb$#hR(1E{
z_R<%Gehqe?{<cQhM-#P+HhDUls9of~*AWx%-H+1#vhS_^dN%<hkDXM9^y{7XL$j4*
zTg@7dHMmwWAAE1oQx<VBF>3M-#+8f4x7-%XwLl8Bq@7=-JE~g7Hy;$Ta3WSdizH+^
z<YfY!XfdtN$B!RZ9BhE0=9mEY?%j*>tp*cZ)=WF=6!asu>&p|>Y0e%XOBxr$1hS-D
z1*`oQd8RR9T}<%YlNdI!xuOHJQqX)uE7Ba`S_V_^^9__ufK>#W5){OdRUoc_$wgrU
z)zo5nF_p3kQ5b}TQ?$rw5K*`CNzg*(XGy;cuQ^-nB{G>4Sa+)r1I#C_G%H)SSP^oj
zk@-NLA|C>Aj#A3aru<z6!MS#DJWznKvl$M@p^DbZls}5HQ72}{$#SWm;Dax}`AYy1
zSa&cQg_LodfOe;}L>nkEZGM+yeYC6RZOgty)*Mpl3!1-D9{0Na0Yw^64tt}~DYof(
z-u3#<y}PsJqCXf6Psb0RK7QYuZ_XCWr<3WYe)fz1@qhB?e*AC$_?_<MkN)V7{_qd~
z(D(hK@BPq+-}>N(J~SE+Mx&wbSeUKM5W3JCoOFjV`@#(R$HdkvI94<^dGhr7`ufXX
z{L-KOvw!vv|KUIU^ycaOWO;rv{yo3*cYop&pBVPL<Kf`Rqlcq@?_{+c_4>=j?E2}|
z#i>5&LCI{k=neXM-k3bD<RGdeq-HpdUd)#cR_fOc<Ao2KlkRdg?GEgp?rOg5c7_aM
z_oTO6tT;D5c=Yh~*I)bkgRkGcd%0NY@m{<!=yb2ICgafvpY(bIe4-hshZy?H^#)(f
z<J~)YaCqI(3rQ5qoioB5EM<+iozA-78)}?lhQP>09sR1i)~v(=E<%e3D`rcKW)xMw
z2^6!(!qFiueyx_YJVnRT(5ws5fieKi5=_;}#wt)&lh6C1<_2Q%+_>EO=+P6ZFbDA@
z#lc>4E7>3R{g5wBBIaEytkn*)TrR1BBm`LqeL5F_?hi-E-`w1=d9IfFnHIcy=gyt8
z%R97!0IFuQ$#|^eI(H&>@4xo+=~KisvR&OlP+e)&DZqXP9bMP~8#DZ}C}j&jn218%
zC7Y<B3>HVFBu0;NHZz5|9+`vFa}h%!X=lUd+iZc%LBEO2F`-LQMVHl~$}Fg50eu9O
z=54>cj)JMpC)1#$_u_D2m$sdsYj|e6ZJ;ZOIt)iQ6yw{3_2f~@@W;AMG$oDa?)WRh
zyUm_9d~58C$-r*+omX(Q;n-faS=na)%hG==Ufz65K`LJ^l~0o=jZ4kRY~P961y}OY
zq)h93R~(tDY$kN24ppSIp6D(Y^z<sf8Z4kTLPJIHPxmP`RHcbFVfeC{G6ixscT2m^
zjECfkfgRVCsOhg-!Qp$1DN*W&##fonX-OD4>oG0iqM8$Owx-9RG`DNis=s^Cxp(ij
z0JQDqP-rIJ(QQ?yGnq^V+<Od%9Q#-gEC$OrL9JW_ZK6#$pp)e@0??d#3JuUOF(d1T
zz$CAel8KV>X}lIN;K`lunc<*>DuclYNw4!m1JL5iHXYHcX=j}Pj)`vxnr7I3(+8ra
zBxl<WOtl4&z#VU@CuAi6hbL+W>vE%{X;9W`!ezJ1l!&|DV~_$Ahoa4rcK)$b<v4qu
zxk0}J@D%#_jRX5w&TSL#0Lr%XzJ+7pYlLyE&856Udq&B}Av@+(^iC+b6bSn%%uH`c
z-hXy#MVci`B_KZm4a%b06G^$KUme1Xik30Z+U2Uf&Nk#rBpaIY0XqBe@#B=Klpsf{
zS9wG)V7f0+%Ec;uecl&DXj@{x(W24{vZo3bsND!gY6s|~C#D0~j6$W|&D!s(K#yxV
zrBb#b0@CR*XA}*4dQ$|qQa!z3L7R0Lmb_+rP#&p(wI*tyqAaei>{(t+cSKfhnf8)3
zSFH%8elyc31izeh2F^2)gcS@;St083H>WAyA27$Z0h^IM>}NWL{gJ$?&Y_FmrKhmX
z33pP<voAu+z4+0>PQO3EGKG;9Iqm3}flAIKdI(nsmUP<b4M&Q3F>c*>GCES}RT}+O
zYx)7g?nzIdzQm7)xh`s*0ywxR6BVtfZM?~#>tE^QhMBRZXtA2#xqJ8V)zkCKi{;6t
zHy%!=^Ru(F-cV1lK7RD{(?9c>pZJNN{M1i>`fJ~O`{rbU9ry3Q_oE;E_=i9GkvHG^
z;0NCN(3@|*dGG$6`*-gR`#lbL80?kd3HH-J{nP)W-}MjT%Eifyo1)+Q5B=UZKls7d
z@7?Px7I!Ys*US0z=6W%i^n0BFm+<9cI+=`zdNTvl@cLTs#F$R!issW-{^>;!3PqE$
zV+5@^46$0Sy952?BVN6^xf*o!iaGcU+#&!y8lBFU3uGR={pkK1_a8rgx>(HK_r5pZ
ze)}5?5L4pv>>O7xcGovIckbM~n%t;~7|NBx?V*vSwO%dfH=QnrOpSP2L~=Dnbe{j^
z^9-tv1`6ORlv}Mw^+>cT!a+=43#g9P@>W>Pbi&a}L5=01NfBU<L0cz~T*z2C#+zwy
zx<&s=(Q}224f?j)touFfCkQj^t14)~@2jQee@u7H+E}phs0aR>&-4o`8i<ZwyT{!G
z`x#=h+3e=#=F!6^(Bt#7yLa!No}N>Mc2zm<5!Cd0d3kyM&2N5_;bsagR!eS7n4;)$
zzfi75!vpeHyyiP>tD`Ld%|MyRNTpR^+F3){f-mWcuq8$oz``<HJ^_s$i3Yz6K<lCT
z3aPY#%!gp6IZJ9n{v+Gu1TsyUkM_ae>hU^qQ7sUk`PS1!H5<2*0J@YfivU@3@L|rj
z%WwU22-==lZ?k{5tpiYu*DctpZ8@L6G<#k#-fi}@q1DdA#%qg~@!F42{;mo@x8YTc
zW2y7o(f${~%dtoA=Gq^C)>*MYc5j=XYk}Zwp5r;rmZ|R-plOsegJVBziVQd=Y?V0~
z!B0#H6+}kKfo{8BXziEm-(OTBS8p0%SfExK*~BRgfcCY?bV=0264l=B?e;WLj$>K3
zP5zbRsQnN-@7?<Vc4KZ}d(iPt2PDMpOCZjFI@oc}WA_}5MjZ7x()lDE3hSU2@|iY~
zIs1?T&<Jy{<wj|URp(Ov`EY3^))~S&<eNzq>;YsgU>W$oFayvstU}JF;$u+ON_uuT
zJ~)YLK^gF>X)B4G%HC>?<$(zPe*1ItS>f$y3qZH&kEhVK$YO2Hwc6Qg-u`vOgiO>f
zGy?n3)^6JdaiF_0TJ;}*7pdEZW9@IltFWy^ZD#<_XZg$W|2r9gE>XnscJ$aAI~E4*
z;FM98`bYRn5Bj!wPp$MP{}qu{vEAn^sUf=9-^!7y0-%B=jb1Nmg`j;~+Q8^bZ^2?C
zBh4CA7{rq&PvWmQZrADQXgt(A0~FgbXJ<X{Zchjddi}V-N!+c&bVY85)VsJTf-jC<
zEs~yzChbZ$HI*tBB{w4`j-)76I28p_hz5=U!;ww}oDJf@st~+2)2#JtI}gL01s3rB
z7Ox%1Rg_kHzDvb1d@!|I>rV0_QVu(n$~0PpsUDT3(W3-cCv|&nx3FI+=u?iz9LnGF
zQ%{9B00dLj(UV8p<v=m#O09_sGLS!gy-t^!eSZKVp|y?{-HzTZq4Q5T1UKr%603O6
zL);jIHl0Hli>RoBnW_gga{WG|Uiu$UM0HC#Ynl_&U_6>kuW5BK(9Bj5J?;0F>&3<8
z<->;$hv%oKmlsd2o}ONuWByQ|N9YaKGQQix0rTZ*wpcxWa{cwUAAI49U;gq}zV?j=
z!Z+W3cr|@II9bQbI5w-3C3c;joW6GN{+&B_Xy`Zo#^3nXn{U4H#v6G1?DFFJ`g*-s
zb~o$ZW~~RGhyC-@v#UoBPlto~Y>I`m*{r9JLk6?yg8AF+q?bA9*jELhg*fl^y8e|B
z1vGIbG$m|Gefrk%Pa}4gE4_GnKA$gq#_M&@PA};4-Mja1Zf@p!hI+7C&zLEXA3uHV
zwb!n$t_Ja_gpQGYwVr==kCx3pzZk`=!<S;i)SqfNM8tA(mP+hz$N=Ty+D+F&APtr(
zhrGqACzLG{rIMmlVU9fXjBhH9h;B0g4I%wqowTF6z#j1E$rWuRX`sSbF&jm<^*6Vx
zk2_Y(pXfIV_373|+cS61oz+sOdVH&y*6Yg2iv_cST6hfRd*A!ses2hIGn=xRFaqh5
zkA+?<%@m^uZDdbRN8FFl-fFWxJw1(Sz#Ng0*epY;U@nlU72Gvr6+5S8;F|#020!Tu
zgm`t~Df;Vd4zSjM2GVWys`bo)IOGZFwg7adP2_BOPiIa-)yE){B>=Cwv*N_g0UgGt
z{(`)r0bgw`Z=|}l<|=qLHsx)DQI^7|bpWBMQe~l&L|xnVhWrrd)4OBP+OHPAFRx9s
z_19~>iBi4<t{^Q-O&@D#oBm_b>W6O;j<u&2n9FGOPs@1iM@)vJ0?;q(6&%OnWwlcJ
z?VX$(?_^tt;HBBq)yrv_23+GH#Bij}8*$-q6K(B!o|mP!TUgs?GNG$h)HO_#THY|n
zz-$WR+_00zb&4viCZ(~Bi`FYas)sqW)~Yn!x#&#CxufC>$*=<vw(&o;c2d~UMR#<Y
z@^71|Qc(IQGeM@a6HJscAeZLrTILw&&sBC>i7llRu2lqOTg}p!jHC8LY`cH|E&4{c
z0X`(fM9y%&#gzn`BZC{K5Yl)V`Gx}@Gif*+F5?hy4c6EM@+h%3BuU*$6xM+(r7W$p
zv$M(MI%}r6s2j)b2=&6W9yp``0n$(-vnh3vv!v3{(eu=%Z8Fyb{W&?|EE~%MVV!Qt
zh9$*Uj4Ou#t3@ArNR^HA+IpkYvt<x~Z{p`Ij+}5_FvlQ`DQN~-do|p=L*&t{L4&jp
zaliizShK;tl&HhdChcATE6-`|iOXlgda^dq<P`R6jf2c7inb`3ct25rTvYnAl;5im
zw8@t!`KA3O+UmY6Sbx)>ENW+Kcv*J7EIn=VrT$We<F5%b4`@z)D8&w_lCV=N%xUUr
zv(q=dP5F+_E>@Q6>Z}rgE^n1n&4vbp9Y0Yu#Qs)FCe6-NP<u&6^SqLY)N~xwO8CTB
z&Z|m;pfF>l7MN!9eE9HTlnbfbQFL*7hAM7pxP<lMYxVGP2v^chdM?(osTER1Y|`N`
zLB><3IQ(H9S3_i1i?!aF(CKsFTP-&*Xsy@LkLjt!c$gGKn*!RfV>B4J2yL7wxZR=(
z*Ix=T3_hh8!zn@m)-Wt=6Vq77^*3KqfqS=H&V$|o)~@xA*Z2XqIMl|}Kwf=v09OHG
z{oI|N#l!&nKh+Nd{Lz99qqdnD1N|Z(y<{w8aAlZdH0dV5Rh*hAIiw73rj1<6hKohL
z9)5#CqA`Zr=#?)JG$#g^EjO+6dzb-K9R<2z>U{;6L?N`Q2UhEo-e4r#cj1Z#S!*W6
zUwV8syvE$)AIu)pDW(N}<?qVhdW73kBoW8k<5Cq9k`p7&9O?UVLuxbbOa1zvMn=!h
zb{R)~{DZ-aT6}JCGM~?xd2l#`0lj{~PtmTKe?z9?az4`xJc-9L<24ZUa2X;Su5k#i
zQ7!MS=Sw{w9y^0?mV5%yy1;~(K~bdeD1W*U57%S8suOl1*6m<Yl-rX^)osx$y<8*R
zKIvvisBVhf1sJ{fNT%1<sZwLi7!(H^QX}XcKJy<Ek4L#i$2$_!mo!;o1b-gyI5t?!
zqzo3AM}!^Wm=&55amZDbU<SXO7!l!p`|Y<GyUC2&3Zv7cj_11d-LRIQK7Fb|9S&)9
zxsX~7M2~X)P7GC0qiAt_pn^GZ1W@1meHNjf?Z6vXS67c7Jwo{I-Mg>7_L@8s9RbOi
zaH`6VUq)gu3aF2w=r0hLv{C}ivNYdW6E!#hjlrbIWH6P@kx;<2qwP&(8$emh_FF%Y
zP?S0~-vMZIJa&c#rh;BmUcr(^w%l1z(dk~PCd@FT%>G(J*+-9pOMO*MYFqr%26v??
zpFLAU8uu3LYxg$!CQ9EPj%>5dCSAsCH?jb!vl*qqpe!}r>~E>CiEN3ppvid=)aGp_
z+Uz+NuiE}LJKOYY>)wYpJzN_}%Tm+cT8(X~mK}8ZRufl*(P-4=N){o-xFksm8CBOs
zXK^!~jYnsQWj+-lfJ7Up@!d^VfhbGcJa9YO+HHg7b6c4>R?o}Ax2oMX9BU5;CQ?s>
z>`agY(4f@Wrr+}%4Ozen<07Asiy-p8WM(dE+n-CdCX6aeioiDIylFZNNGTkBk8fAf
zsjYwxeVJcJZav$RQFTOLve#v-N*&tn_l7zs;_Wi6YGt*z=zoWBbUf`9qdIpTh;0BG
zS8}<8z?HWIp!Hx&{O~siQ;wcocj2>ja-R_j_kda`u{O_Fw-SYQ*aj4~1)xJHb+Xix
zEp(RVC?z##+j<p%rU`CPf|-u&oQBhFXAyvoyYcNj1E#GRYte~TwZioMP5}CuIC{Y(
zd3m@>n^|C*VR5zw1|?Cuh_TsIrKvd~2Xc1NHp*>dkNl3>Y`;P$$6>#o!k$uq`RGNI
znI^J->e|v@;gFeJtKP)zN^<El_0({PZQqV~75yr8IsjdAp4DQSCpED{?A&Q3hPT;n
zIqqetZ+e^Z@16j(Q?3`8#w?{F5OKL392kIhHlsf%<O`oXey|gmwkt^Q-MhEF9z_My
zzSwcq4g+-EH1ykd@eD6C7dEbEp)zU}%_+-e5?Z%X_(-pJa5I#0B0xE31C(%)9dPZI
zRn*sJ-tX%28bt~?`kKq-z8b7_O?QetzGTF8R<Idy5ntOEmW;+XeLb0|0JAMIpOnso
zfRF?9q~#4{(i5r2rPgKAQ8&N3M8&zt-tmLUnMrEGaMr_-=d<~lI9aF1Ta=oc_{o0A
zG@L>-+R^)+IjWN~shBydlg+T#=VZ<BDHIydo$6@9A!q3at|EfD*2zwT-#IxyJtKur
z%5j@E&=(<I{<+cA7Ol%UFuS@R-t=iwA4Xs_ZBJ)6FoEquJ_68sCo&TYs4I$|YnH8b
z&|7q{dK0(baadZf^r;47aD-)?>l{PG2kQadSjF%D^&_0MS*|#Mp?OJnHhSh7@ufP~
z!{)vwOhl74pGDvZ1_^mpt}cbK03fB!Lt~Gv;(#ZCSih1An3kNUt3*=F+I*RZPpZX5
zR>1V?iPTzZ__SH_V@Am@TW0J?apVN*gP8gwpEKN~W-ik!nl&de3%&**mYxtUrId-L
z!HIWG$luH5Vzqkw_%V}kKA(?H&yaynb<X;|!EiF2j>l(gAkxv-gXa)~{z$=?exEAS
zscs*@WIpRD^sG;qkiT>14mS>DzxK7S%@%Wr@puSxJRU>S3i`?q;OR@C>|@YMD(FsC
z9kigulvd|bXohmjZ-MtY1hR|?k9*E$)P968Bg=zQmFYY*wbXpSg2S9r&r1(LgECXA
zm9yDzfvrEQjaonk6k<Dc6Yk0p@&}hz^!{;a!?6Kq{G1zw$h5CwAajhiaVa^LsR4n^
zFB`4F{8B@cQ=&~z8?2|Sb-Vs!@v7}V7Ht9O*8avmbGudBQm%MjMzP(nLvoC90Gjy|
zd#nnP*M(zW02(uFNn49GzJ*E6FH2o?EZW*_L(^K*&)52k<5>G&HIB1~V^aLZdq(7h
zwg7ZSoms_U;2YMLqhWAN7;$w@oU(}1bfR`q+6HnJoqTJS1okpfQeJC7O|4PZt?9|~
z@J*K~Y#l=@ncbrOaD1lO;_bCwA->%M(68Ow6M)teC=pPG8GL!!hy!$YI-MfG?#Z#z
z$J2ZPu0gjn#lDF!sauKiI^a`^!rKDSPQzMmG=igw2xPT1M=7Z}W$U_k<)FJ8fJV&s
z<j~wsQFj^N1azsZ8>X$9o}m-1UjHz^6M%jOj$AM~ptBb-1cGVOxJ^#9ahv~jAlPp|
zwMr!={Zim|v)W9&tl3iP*&46G+TU)5Ia_|?2^XVgXH#G=_VjLd{$v3!)l%McTSI#^
z|GdDf>sQkJV*boxN6S~uKC_|)@<F5~j~;P~S;|gq8Pf9jl3Lt7(PV9G*(Nf_L_XMM
zzTxL&Gh9mQ00E6a+cwMP05lA%tV*_o(F{G8bUFXcb?JDZKo6xLwHy3zK6pE>M?04x
zXfCe`5e;>vqYBGS6}cB$=!s?pq_7iaydx7@N<ul=P$+FQL{D|kwx)q~ucOFmXwyZ|
z74?B#1UkEVB32f{AXQPok~&dDAZ*Ydae>A(==dqUtt3EF;p478BPXjkXa)52yC>`A
zVmr429`FcQ%My2Ci(UP|BkMlelVnA^^>RKG4fSIN8kY3r(<79DDA}5e<vE)P%s*ML
z7!uqV2B?brXtS+Lb3A~IswfcOqo0w6=B{7W(L+9rNZrs!1l>Ld8r12f5-Y{g9HgF4
zruiuleFV|voY!MSJDiB3Rfa#cD4cZr@MWHwr-3-fQ?I|-j5KtbSE!|Kk6{_~H=UD}
zW9a>!g4(Lp?V)p}N2oj02b{@PtMy6~SlPh#7x2OZtA$Q(n<Z0@PT{VO1JH^-E9gws
zdH}ksxU)`avQr`6SfLSs*7;35Z5sTM5z9p{yoDb8#q?LTb<9%9qH4A3kfxsy#1PJ*
zo(Sq4Jz?Nt&Wq;nT90TbuR559?{|76i;8R}oO;zc>xw9fY|z1m5aLRzC!k}z#0Y2s
ztH0^lbBw`4jZln{I>$6vE@$z$IVXSU)h7K4i<HDu=I~iTbDYy3(hDlG0NF$I*5*zh
zc@{1eCzA<dZT@_=ytufSEta%98jZg6r7vAwT`{r8<MC^+y*3<69?f#Byd?iXFBi5~
zkoEG8`jUFIEd=3ZPe2RDAOaTy(`8_{4UBnI)kHDJE$a2#6-o`7+xx)yCaRJz(-Mgv
zv(aEhkebi91W#E_#R{obLt715Alq51;!K?x$aJ;U8Cx4z2Z?I<Ay;ohP2idG*$*`w
ztEUa#lv1Vw+L}zm?Ubc%8V-cvtYw@v$AsZ&U!sy!8fx}etifWXOp{Y0t3434UV!J*
z-|Vm9<@W0AKNfBJTkR><?=yk&<c3&5?7;a6Xf{St8lfR?(QG7(#d0#8kH>n!y{l6S
zZgE1b2;oEp%2F5k%5^w=-8ll$O4+XInqe77YH!&cZb7^2_Tp&$N8*;D+zX4Ru`7I7
zj!UVtykPE(zE7tC9jH<frxWILS?PB8>u-CIZL2hAz~5hGFLL#)&_qM6Varuib5Y)Z
zYJ8m`8~xpu){**Kwr;w;%6D)Zo*jU;7);}&qbGnkeImfN$eESt3)(I)9NVdd9;@>8
z#;rto9q=hd;d2L|ft#b0lq{ttOlvnkH~{Uh`hwuAU1!}9nxf)rxoxE_0BwQ8;aV?_
zW7|C%EgMiPUMv9pOt-ALBisj%R})f*N%Uej^%pUqeN&z}ZT@WIw;7z}U)DgkA?r6$
z-A^%UoV=OsUQ_goQqgfgERNH-|F6rG>8|{<`wMntiuqIWJzgcp^s#<E7Oi%Ei}0##
zcs}jTacQ&D{@f#93}ai}5)R86JK7vADip9#vjA&1({6DS`_GPspq)>2k(PJiWvx7G
zOJU%5bh=%)$i*Ny+jiMhGM$mLaWYI<QX_Lpkk8CAD8O#THOQBt#md*CZK>3CI$!(R
z*CgThNyHc_+wESSU&QmO!?@OIUB@%8TpV>U?J4|=v$YeZbki*#?j}R`xGRfbbcF3<
zEpHV3?DhHz)p5b4MK#9#fAzy+gTX)*1KMdSj0OYbxGp<hM(PKsPft&ybt#wrylmHV
zysJlS6-ZVZ0o0TEd_e#xLD#<OIDB<95FcNqiWRU5ZDC!SU52vMiGa0VX%cKZQ2kZq
zfSEqxhj>C1rdpOaor&86&=N>WQUDtC<@^*wajzgqwQ(a~a76bMIcEHlyTaij;%3;M
zWI&esWjT!t*FXKrjF65oa!U*=7UEeH21jEJtxhdhgPw*dqRd=96%`lV>-wz`{lS0<
zCH*HG<OjG3QZE?My$^h5vgkNjArGAca~!T#^MyjXam&Q$kgS&6L18nd<36#OZ3~s7
zzq4M<d*a5FijI4QvMxxmF#4~qX+qP|QV(LskME(L<0Z#nW=u~;>gvywTdX&8rX7t?
zYkA^$wV?iM#^H0d23Ct1r%DX=fYR}~)=}zCmC7DxGqKH9Pb2|#fHY_yXYx=g)h`r@
z6QyYhg_P`5d2EaZ0!x6)Hr>T~mEz8;Rg9SC4C!>f<fyC>>2x^okH_N$6*lYMaIl!K
z=oh6o(+O$6KR|%iPsisp3O$PVJAe7hU&YTX?I%y3e9!lM4?2O`T`n<2uk_Iq9&5MG
zoT1iintoN^_Cu^#h1Ghb4`v47&`<44&NI%WQO{E-Wf@h|&YGx!K~!47OyEgt?C^_C
zuS5<&TR2xK>w+!62w;_V=DsMcPnc(*l(C)7TFj3`1+qX%6qh~_{tuMbn$i!=R+=bf
z4w1JXnmATZ8}#8-ED&dbwUwL_TKDaxz(q_~6TYJaWX*A^B~VzN34cq&FvoDMCM;H#
zHaR6~YM+UwHq*!IX|qQcnOAB5v1rrZW)F)Y5fyH?kZS^}xU>L005BYKZNv%i*lC$H
z@X0cN*ho0E%;w7+fVP-ww>MEMLO4-@vNRPHYxyv2_kly;eWo<SbgQ4!-#XglkF~x{
ze;ba~--cU;>?o9KO0W8Ckdd3K&&~j)IRMS1GF;*Z8hmXn;{zpKaB@7M4jYgy%tWyF
zOrhPrY&#i-rPj+7cB~?uwRTHY%i7A;GhHeNas8!<po^j`zl*p)>xO7sYPzQOx$&~}
ze7hh8pmCzMya?&S<wWQ!sGW-#elgZM)pzm}&|F8^H$lG8*1+u(wX!Nt^k{3pqv2DE
z!goUen(ShsC#^v6)vmMd2t0`ON@-*@q1`S}HjFV5<%hzxUL41^do+pw;z4L!u%8d^
zSLvlhR~OWpKpvnPV&A5SUhJeHo;Ec&-t5F_ai`}-6K$W6*T$vjNJ|5)*m|Hut^0L9
z>;~D(GzZ+B>MrD2G^x4?Eobewr|6)NyWhqKwITqgc31RD(KO)Ip*9~fj<w-v`SkZV
zl&u`tVy#NKjt<elOiffxKEhQj(3I5@-3mCo1mL(u2cSWzM5Pr`OWP)7)(m#!!xERe
zML!;yIE9SqIPh(eo2W{Yqye3u$ipy~0*VF-{U*3w%f}9uXsynm0hezy<lc#ex=!aS
zU;C<PwanIt)oX`&@7=xM>vspeLEIxrf(rdkXEvGj^%f1a!rp?Hy=V42-PKy(jzU!7
zNImAWSuW?}k$$BOCL3n9ACikNJo6cA6ZDchFl7Q3*7?IO?P3qQ3-mg}zIJJ@x{4x3
zsy%zN;<N%^FNr92Exo@bJYeNc6}YbGa7oIVhyb+uDC>h`s4u%yE0?O~E^Ux?PcvV{
zW?clJ#qo88ks=E#a+Z%EzTc-@!KE>*IyeC{T}oC@3P;w=NHumzzo6HM2cf!?>D0G2
z2(0{m2_|$`XDtaxPy=D;Ck}__HaWCKyE<iYRn|ct&CC{B;&8>x@AP{oo1UVYtFSg+
z#Iatg6=qAcDjNVKElP<3<9d2q21l5f8dyeF(bND{B^*6k&wRQ|Cqrn5%rGDndtK@{
z3c9P!VAI2{<>q9eABQ?wb-HW)l;X)!?`}TnZPwlOlC-zc&mp4tWTZ$zhUZ)utI2>)
z9geGOI@xChC}n4nJ;Bj75l#xkhk~TP2ta%Csqb=r8iL?SOwoBmDkJ(FP<S^aGmvKs
z<%GXnuE*ms=X*xYcLY>itk$E`)9cBEA~<NE>8^e=vp<<kzV@|mJiWd`$!s<|KR^G-
zhd)Lss?dP^qeqW8)jxdr@ICK+{qf_+YRsQxxQAf|3Pn{PjgaC|7eVFIg-b<L`=<nx
zd=yoSkt~#%k$OGVQO04UA^?rM%mn5bc}#2Y_-4sl2qT{l;d^|InBY~Fn4gK>t-cqf
zO!HMCF3l1(g=Lm$P-M5Z9TI@9sojf1WXcZ!+Hh>UC0K8y%r0la?HaUWgg{NqFG+|Q
zy|eVZyVgJ{3#!ypX~UefQyH*I+uCrr{l}tdgXx#mN>l&Kwf|+I)hg{X+bNnm(k2g|
z8R8QfduADcjx@=TWh0r-7xTqxG&(&z09`|tq*j>)=Im^I2VwvI*@ou&YFbiaE4Pa_
z`D3kb)8B?;^|#^hA-f%=n%&V%`%JB&eC?|tUw4>Pz%mRCyPMC(q-A_Sw;j72(JjhB
zIpQVSKET`UORbdUz^uD1jT)-grpNp;HHzD&9ex`uQ))JSNZmv5PR2Lh4cG>t0s9`u
zLAbXBpf`FXB)%|P1)!-O!Q4F;S`ar0Op&AtVN#S!(>}nb6ot<nfOeMV+y!&W*7pXW
z0r$Xei^UA+8tF<u0<&krRX8*N{qq)VMn|E#F?bH-!QBg&DiE+MnFqqz8sdJT6}eU>
z^g{G~XdC5xbJd1g6U-fF4@B9mHXF*mdxkgr1#<P<XKY!eiTKL?Gp0nTVXrorwsQ}T
zoo_D*xBKM9(dN}-+r51bG)vpGAK32U=G7#<PBU_8o1Gkd5*64A92S5ET#4ZC4M2nK
z5hhS8&DgKGsM`!c`@O)n-!eNEMrqC(WX(w$iqdZ1zv(BqM~Su{TsO)qPby%mypY-g
zc^`0Av~CtQ!_k-&Sd!GYC|~~am$@1a;(JlP&Qgk!%d_**KyS>z8rSmW4;flefVG<>
zDMCP(+>p#y%y?{+E4~gP<^WZRUg(|F6+7vVQiVgMDe+yGl-s$!;-LD?Hy|P&owf`*
zEooIKiI>hMCm7amgFQ>lhX8)!n3C`^GNMTpkgj0ioMuGfR-276Z330d2b#v!q%b6=
zN`eFuY5CM6Zf9eZm96@<q2pKur;rbAea>mfAc^H!pMNG!V#>q~hCgCFKR*{EH0#-7
zj`+;*uEtkVKyxAaWPQ>ZUffx5<clD(N@IjL6wxDStm+RmA)}N{zCT&aHNQMMCpzP;
z<{ZQpjwa{crz&)|7yK2i+En=QwNc1;Xj_93Z@sVqoXrqND_JugGK1FS)M)F_ubPyu
zn6dhXA2Nt8PN=4LY`CuE8J!b7b&lKP!GEeQyroEUhzTd@APu>UP@?V6(KP6s?h@)r
z$?wM)nWJ};fVj&7;@bzQR7JEMerNiqYhi%=B10F8>0D1_BZzqnMW^3mpb)cp0Kd!r
z^?EoQFCrF<JO^et%jI$~8utdn$B&=hxqEjun{gK~9-sZhPyHlk^`}ptUS8gP@B7|2
z9*;R%>#OD6-ou9vFoWs{ql)!7iO4m=ufK60g*1U?-wcb$*ZoES+Q6}yZ%z(C1L~8e
zqH0h`@l2*mZ6zFs!4Hv3#t4NtxkSYbNz^XN0CXwe<QVR|`DFll=gI3^1JLGV%WDF)
z0Q6Q*L$axv4WM9dZSc<QY`$N9rnVZMDPTM^0DWw`HF(YdJMaLrC24qz&Y(0C=rJ4^
zN|{jZ)M7d7G>Ei|WKNd61*J@`_)?I&<18@UW>p)%&8nuhmuvsa!hWl?$<*g(?n|31
zw8h2lq65`nz~!6ah9;#3wSqwPX3nKhp91O$XynZYhr1|CQmf1Yb9{n29Bun&D;n*Z
zcI!<Xsl8<vz6A%n&Ny2CkvM!PD<pq5DsHbGWs$FaP3Y$+Dlo4|Jt8_SHBdHJ4jgpZ
zR*76xrXXG4)eAUQCYlWonmx5l-EzoRqLG$F4Oza1lD|{8x*x2eO^@v_OHH@gb2Pq1
z@r`d46oBTu=u0V^i_gs*I>{Oq!^?JbGXM=A4V7daY;Xu<Ri5iKXKhWur}Ui<KqKI=
zdl;aHfN(-Ino3EHlExBrekTBZ1X>pS;V1{x$b&BA6Y(x~WC}1#619swe9k5U;}x*j
zgLeHb{9XM9S>{g49EPl+HqG|iuXUvL3z|jG#9p7*+EoZ;A1vQ&t9GDis?8h|{@nGQ
zN3EOhTC~|&dVWX7UM)BW_VhU%veQbK(`>iRPA{XTyzclRV%1O=+96=0Tzu)MU9d`R
zWdN~>X1ldz4byyYKgrs-Ho0A2SSxJzKtFG5ScB1v&{&DGv;=KM<0^GX(6m!{6_I>P
zN8$LA?Q5&yP)=7rUYF|TK9U{w(~lCPM5o1S+I;1UU(ri3qIdRx=-iy2osGv_X%)J1
zTik1L!Cfu%17-9MCa{vIxDAwJp!w{#n`N@orKFMr)rB>usqfK?WM16nnLZuqflYv^
zdR()wOFUXeeX1uhL)M3KAw0le{SmPl^=PMf1|+98qmXy1*De%(hBibu0?-g;09q9)
zZ(tMx=n7g;7Dx%LQW9MbV9#!g$ydNX(n$Ye5*9(F2$V>npeNRo&baAiI-<xwHi!yj
zZ6V-~n}~NtZyrw`FS(;$>J1yw3eC_;=k)ZH`q&X|$@x*Vigy;vA|^xE-@w~!bgGOe
zcGE8qrm>c_gRVY+iC2@0<KqYa;P8KEvy$NoK(CkyT#Oc*p5wOYNva%cwA-*Hc&bjj
zCwhUJ##avvFS_f60@w;R`mBhvyQ}y_g-)%dVZC15^hjlbwjxrJ6{qC>aD^L|>-jPo
z(CfI98IlRNSLyad(d754^OfpWMZkf%Xi$Lf0Q6umqCuRA4;L%H*IBftte_XFc#le|
zIz30&4Kczo>Qa0!VYyyu>^hytj~}0(T}&6tPPhLPKk*ZH@7_gtK3{(F7yqE*%i2=(
zG7W06>bXIf&K9GgzGksnEYHu+seXEX%DBTp?PM}x9~ca^nsJbaMy<#C1+pf(rvj)d
zkQb>0(yeujqG3r0$!oGCy7ZfMHo-Ddx)l>3Y5~wJU>`QY9LO@60H({7j*Bh=(0*67
z`DMGFS4LB(k+d~RYk_hzNlWf-E&*olV+d^LVZJVaow*d)tF4BnyzOt|_5k#;?KZ)j
zNz`Frp0bF1`2g8$mY4}68`JNlxA$f^TN|%LDE7z=b=s)_Vnz~Z0Ro9CbiNc=bE(sG
z+2SGiR@wiuu-__O_u*@b)*Qk%Xrji~&P35#V+`@k0Q7vZs=Wi+L@0YUEJ<p6%8FK1
zY@Y|AZU1aV!(h`jw`3fteRp>|1P8m$I9mUaC_QrsIP_5^BXNZ^-$2PPKYT60!8#9t
zOUVl9bhO_v$`e&#uNcVu-71=g3W*fwXVawS>v&b1s{z%T?Us0^4Ipc%scH%5w6-WC
zcQu>7-NGYKo%eo$;I;rXgtslk_~)tM!_Z`s-T_Tr2EZC5*Z><G0%)^BD?zv%!V>T)
zMd3RifOfCLfbA<dZhr?fJP61<kG~Uueg@cUjsecy>%ekYjpXo_4W$kHXW=e(TG4zv
zq6<v3MC~F^jGZ*yHSs^$gVJyVsu+dDF>QXy2|6u-+@rE<8Ln((x+Yo5>=adB1-b?M
z>S7^_7aH?Khnb?|K0Ku%xgUEwA{;qCt*7aMHvMh<Qo|we-qOUedJe&k&6R#L+qzRj
zDQ5Z*J9lb@`0aYiQs4CMk@u6cvEx!#>ANNX?aj#Ta=Fx>gzW~xEo`E8TXEPitIY(c
zxyWrXf7JcB+L~{92X3INT5=a)fl<Y^T;w;{u5^Q)_`bMXUf+|ikV22)u|d~?>2$+v
zCiwD~z8LrCVj^HZ3diH&or?=D?olh54PVDi>{QhRRgCB=E%!FPbyxrCU>e(57jvV3
z2<no87`!mVnn{yH)lg+)be8&*pt-Y#QbZvhnpT?LdK|SPMhsze*hO_(NH1cd2t6Si
z?!`9kHdshsoJKDyc%%|d#ZV4{iI{3d*Ah~Z#Hxz=YcPC$b)hs*&lIPMeo|O<^&^1j
zR&&~4Hwv8UudOvr-AKFo4>e3s)uruWj6CM*b^y=x(LBJ?PG7Tt+K_gsYV|o(txtNZ
zjb3fCS$Z~V92n)!YNHn{ESI{qz|S<niEA(#qIt7i#Y3{)(P%X652&Qj=VHB_Gd1D?
zUNxbqf)7dcmW{X^ph|tC5loKYAGh;*-HU#g1Ch>jskol1R7j%`Ci^3byk%h7yr&m}
z=%)x*^X_If=&Xl&@wxnj<7i=_ICXEaIbj}<A21M{C8G&hh!!d9EaJ)HCHHysQ*9{K
zJdg1TVW;j|Lcu51?tyN9hLN`nXtbe<6ev)vC?=KE%48;&;XV0Hmwwudc^F;5S4c%v
zU+aiwHt~WHJ2O=1F>TWMe9j_WqUJ=;t>4_-eC9Ks8I4XE&G~%!z2E!2p-tP!%~T&L
zX~<(%!=Z8Mrmc9}I}^ywE#t{_v{_8X`?nmUQ#PPHz|kKs*~rO4VDS`v1~HIE7FJq0
z3>wP($a<(7&=lQ5j4;WsJTk{H?R~z9y-zEbM5a@hs{l0c#~9|ntN=7)?IOcW(yiRS
zTE=ehI?WJK!8Yxs)25*fhs!gE6SWV=w%Y`ACQ*li%US}CWg2Utt=DW^Hoz%G#$vvm
z&n2?8JB0Kp01fR0lC-d#DzUvlAW_fq!|kPQDD|5@R?oM}{!(*^Ry{5Er)_%TT(h&p
zn*J$E8C6|3^}()!&VwP-C~c3CN;qX(0?+`W)PD;sMoObOYoJHzL29;W-9KC4_2sq<
z({1)2ryV`%@4-0CZy87HKN1IyV+Pk)Qf3Gh%eoa!DMfgZX)H;uxWTW(*B#F#bD#lx
zd*+n-pAS+Pr^E`OGnSY#Ra(N0mR6a#9W}9L7c5XJciQcg_hrvU_M5Yy)cg|g3ornk
zNI{*qLpj1Sb*gPkWlVa&tph1HKUY^br{i-3bl6?{?a8&duDaafcx<eex+>Wn!V(C?
z0~9wp{>J0gq?}nHqKfVDU~6WhD33jaOpNUtko92~4U&#iFDXSz<Ib0VKIpr;L0>G)
z*#g=r-5ibe#JBF9=!F(JkQQ=q{J;Pc)U5-uqzIUh_>1Ee2YkO(u$PR|S0(>I?5)xq
zg+#abv#nk2&@Tg7KZI$gKG4KG-$@;wXz~w9iwlyzD$cx)hRCM%2<_GnN81?r0@=hf
z^eYsiz=Wo2(EHOuPmOR#_Mm*pQww(NkK6T(+)c}ry*Au#b6&Oa`5S3MZrY`#C4j7l
z>2MSc?x3bQgR}5aXV6WIFV<GwY4uDKrHmWh;RM}gXO^rr#EePQK5b2~A1A6NQ}x2k
zOq3{X%VN%giq^Q>D(9KIN{jwRK*@zW-YaFY06;uZ@px=hDlO57P`9iC9XkfC*KH2U
z7t?wbrP?L-@ROZcERL$V)C9-NoaKrsj)mhr#oA=LoiBg+t5#KZoOIA1-nnz<Jf5}m
zb_BRe_w+>Uic9qRWYrC=Dp)NB{Sl`QR%@@{>2)|Ba4Dz5oAqj`XME{+JV(qjL?I`N
z$z-C~X;_5<1R~zvU9Qr*IK_!hP|iO_jSD>$N&OO!z)4T%kd5<H31es^9>0xeH*y+*
zS83+_fD%p)r(^wSGqgE=*u+iJo+3``jh+$@4*)1qmva`Ogf56?Z;9QK4DDMWOR6VQ
zD?al099xhkh3*aXQ+3dI6iZj|s?ykh@j{ncK})B^(->_|x_!z{6rkVq20D_drDzr!
zs~Cf2XBj6W)xz6)%2iLk$79QJ9)n&kQ`BZQUrgo;9EDqeXKbh68xF?&#bYZ6psV*6
z`=rKS$7G?=siD@yjNABF1vnO3syZFLh8&qN6$2#`A5o<J$6fGCDuP~ZmI||DCaz}E
zMa&f8#Y#^Mt?`ovoB|2sb@hshaX%=naf`)KkXraqDMO`HK!8-)XbzB#Dl#BM>Y$%l
zUU|7XTG7V`p$+zC^XTzo&g3&a@jSc#`fHCKJ)$j+&^I?X{o#PRi+LPk<8kKcbZS!-
zCGQL%81v<FIhoJy-o2|TF<nXj>R<iqmv`>aI?LxrfAmMMuP2O=jR7g@T?NZBVqWtP
z^TH<uRFFEdQzbD~cPm3r@u6wv7OH^x*c>^n_gMQXrAU&hk+g{lKwBWf_DRxwBU5JP
zqEcHKkad@>Qz~<nIHl<CuAUk)KffX)%Uc^`0_kaHs0eVuZfKSxS{f>crj#+&td++X
zojBi`jU>UGEGq2=skbQQOS(iGzeMSQ5{Kw7VHuB?33J+Nw(DmZrO)2TkOHz<rj005
z;Ofnyc;(}EGJ{g`C17{mJsZ`0J`l&+Y5BJPmf9-G{pS-d6PeDX5L!d~P_AD?G<)re
zL&a7JX(l98@SQFFS?fDlkmXZptS?<lxxRCu1;sw;-a#<OR-5&7GM_J3oQraE)TIWU
zRlR-iX|r7QmfYW8@tv!qlq?aS_9vtsRdAMyz%)&pC?&I)vo8uZseLH*m#w$)+wg3O
zSA#a&Y`;s(l<RdA@xNyg%p_TgIR$zCWRB6cUfRYBzKcv4E;<S}BiGGD&AeygSozyg
zT2-?UG~0S{`%C>LUT(h*N7;9y>4z6V3P7VYG-^^>H4~amuxdsd3ed*a?{XHb0?-%C
zV|~YO?YAd0cfHLyh$C%mh*S)wROOwqtpf;f$1<BuI4DEw{v+<zP?9aQLTGXF&K`WK
z0Qi8cZu8>n#*&VhGFb>v-8)c}4)@LjO6fboRMeHA3P2A>0~<q8I(5bk2{}052|&Lr
z*kjL)qpJI+`v|<G1DxlBO)XPJ3t|z~peeTxZS$(+mvr2}NL6V7besM*w6#k~`nwA^
z)C6lSQM+i92eqPGB*C%oq;8uJ$h3D^sFm*MEQ)-@Y@)4Gw>P>Ew|S$9=MF&Uv}Sn?
zyL~U{sMIXIMVkf6DxfU@-G*|y?X>Q+p&`%Dnqf_2Dq0innE~ibml}{Mvl(3H5_M|;
zI_M+`;j8eT0Cc#%lr#aL^$aWxRN45u1^LWOeJu2JqMkX*1~9c7PvL=+9v9XDy+puW
z5Hs-QFMfsVK9|=BL<;nDsGmLTonM?@TwM5yOs$?Cb=GB<lwNaCf$u7vll4%cL)}(!
zWv8w6dZ|asI`Btqty<j*PwG~)tDQMLxn`t=5Ieko)DfmQ)l=d4enc0#3axSsKn527
z5IGwsJs1PHdj#-@;}L!8clDDJ!{KnToI%q~=?WhLX#6gU`%-iV2k7`!`R8P#DwbDA
z7~PQawjEp{L<Mv?TAi5?nt0vlUL>h^0eVChS#(M=w!2<uGoZI!y<Q{6yT?4U9t}s#
zLwuT>SSc2`Ud0gzHHtkC<tX|ppWufMy;tzmSgbe0(HTa}=kw`Q?|z;w6pHN)hKrdV
zK3HjN*9w*=oD7F!{%{4OI_(E7RTPQ#sVr#z!e>wcBPjV$gWtv1J2zH-!j=Loq(|_V
z3k7EZ)hP;{@)Fk(n3ArbhCsKg&}j9=Rp3$!`&r{W8GxURwtlB8KLs2ho2Y<f(qVv6
z(71%pJ9ve3I-kv^iqLZ!U#wT%PM?N`!~T4^SS^;_zSaxQpG+p*0Y_H7f*E1F3==KP
z{K<SVIy+yk^}Ms1KIuMw{P;7U`OM|zCDWDWKK8MXQER!8b0}g04|{s4PFSa9WCAd4
zNTmdRZ~$5R!F<v!v3rinG8XdRRk=}A7jd$<uoA={=uv|-1k7?)e*z&XK(Cp@6?Tf!
z-^9!*+JY@O*jfs>MNc|&eBMiRLF5TwZ23_am_ur9tTo88brpeq0q9#$wp&&)RZ|t+
zN%uwKS5G%Po8fDXnPvQ^CYEt5zXVe{QSCTH4>BIC8kjnXYDcMGAL>=`R+$P4?8@(q
zS1$5;sUgfE-7(d4@LvXY*WELrMZOPvI}To!oqKyt7O$twvtUoAOao012gTKa<B6^)
z%2j*_cFr2d#O?hJgA<%h-;jtCg+4pyq7xbr2;np<DCLU7*3IU8Q~(;yBxR|0fUKc`
zL;Y#A1)yoMxz(uKRmX!Z<RWKZ5c(F^vrx8Pwp+8`S<;eEg+#ow*s-Ai_UEEfCOco&
z2b`sb|71>4B-FBP-Q~=Xs9i9D6ZK+vS@WdUofkxDL(`tJEw8we)0F>q#LF6&Hnawy
zxf$?@Tv9QKnc{4Gy@9@?=m7ND=_LaCDUp?4{f0>Vj|NZ5&=!Y9#H{LByP*U)^3G=Z
ztrD`FgW-5|qgFZ0arxg}kO%|oCmT0E+OOec0;p?ojM8Z~o~uFF)uE9@09yTx0JQ54
zhJN}xwkn?!<8neJ_`XzsCjkB8u*aSoM^(Qi;Fzdgc-kC+TLaL>PFpSG)n<=pZxfc!
zt!#;O#!Z||r&+xV___(&hc<iE!aigJ-eHtqUoGL4-b4#~kNx&Q{t8dKLw4$Bv2T?_
zYT$l0QHLUL#Rs7#nX|ds=TKEvaTqk?nc8aS_N`9;X=rFuxUE>1k6Ga-G0lmd_KO=Q
zE)<Pg%6e-tT?#-|Szmqf98EHm=4~k?w~@y(01eC(QTQP<K@LEd%xx{F*6co(bt}@$
zT$BUQ8->yO*&sc~SYbFE`Xa0AY&>G7O5M%pe(vWK=#B8GF0$O4g%w=c@7}$8=ll#w
z;PWx3g~fb29u7F7ELRJKNfrF$Z)d&4X{lQZ<Z}I1Y;wJv&r!~iBaRAMo_?a)Eph-t
zEqql2>($9-m7~U334t!se%NeP(iV^X(#~u$wKmd0ufNtyhIOk(pQOc(l1I{^g(3*m
zrBk8b1BFigiQPWW6HA)TX}*8PYLtkRieeP}eE1Hej_%W6%BkY&06Jpc_@Pg$R9?sB
zi3;k`Njfhf?^qQw44*Ga9G3I|`A7#avYaQEOI+<Iys51Y>ca*!DLlGfF6H+{M4Y?*
z;rZ#QBH63W3`}O+ichCg##i%atus{^8IKgi>5?WicBVJM4}?AJxe-3#jHa_1LK=Gv
z==&oCh5w^AmMhZC^hwVh11cI6`)UH=R76}iMO1K>>jHI`8=WDuqa@bb%DWCl&WcXF
zEwE5Vtn~;ss_@uizFO!j1zqy+nUS<L7^R<MVX{x=vr&IQL&$nqaXnr}8yw_4m!OBE
z)2CP0Y)3!-*M9sXANmN|9zTBk%YNA}^E;iNJb7|?c?pdRPft&8Zf;2D^KH1?u_@DX
zyE{lP%yJ*Au4N)g#)ufD3{=jR0cfq)j4DjSc<I$L`3O`5Oc~bfSX@t|&~R9(mXUk`
z=glwEJR+)I^*5(LnybgOh0XRHwPnUAyW^nLQ0g=hQw&P0rY!&s68Bb=lC>(%n7Lb|
zcFnPEpjMatCs#}hzmPFe&WF9YrKrR+1JDQRX~Go`sa!U}{Bc(MM(kx|0a*(G3m7#&
zltrdVGvso~Z)Lva2&?uWPv#o5RqaEY{4-HAz<$omOf>axD^?f866JUqmT>^u9K-y!
zel=lvQViJI5cYr$*Dq3CH}VtED&nvBsg_EY>(z8JUu{nA+_~fGlwt-&<z`aHkpbvx
zyQ!m9{>T8dv#$_&liEeubZKWB-~NXnE%{VP#5;=}8`_b@+%K|>0#F|Ulvv;vls@5H
zmZ)9$fV~&dN<yZO9r|p)v%vJRdP)s10@_7Y%?7efdo1G>XWFRM{SNk`H2^)28?(xN
zN<Fh{0cia0C!j-;4al2aYXBO$YHL3zrQOA1<~ve9nqm1!%V9n=01byM1SfbCLf9CG
zSC!_vSpW|5CM>|6ic7^w8@FgGQPJnqwg7Y+EOrEr3_zC${SrsF+k)GB_k1XAdk+13
zt5|1QWV$T?-G*ZW(CMyaANCJHO8~lUy!;09TTtt=Znb?kUN{7rS)H>+A;AC8J81~A
zkg1h84waM|O0?OZQLFe&`9qQRqB?SOwRVd`l#okHd(3p2`0{J)01RKynpYLQO&iE+
z_crtn;Q0d3;3zvwVbf)^hpS3;D|wve0CZD-8`zH{t;@5Cn;<nzv$315p=9pT((g@z
z>ytP^*8<QrSVImh)>E-f+nA6OTq2Z#c&@*>dM9q+oi!32al2p$nJ%Az2Bi#ej{y8V
z)@l=|^i;P%A-T0dFRBPWP~@h<GQRQ;LB&x7$W}|;3Z9Ne>{kXFkkK==Cnul%>}T~j
z=7|E7i+Eia#|HRkXJ@a!asTq1do~*7(!bPWsGaqoJ0R6_yus(%-qFh^R;Q!!$vS?e
zEml7M@{`51!|dYXO`~DC&h*F(`+C4yMRBJ`0i`JQPDs|hV~E|)*Y4jZ*Xs??JWx1X
zpkG*}zpAP)<N}x2b3rQrtpYhJ`3(K=eBTP-;FeTW4FnE04QRp4NTozCj;=Tr5&SsS
zkoweTkoAw%0K7x$5yN|3y{TDEuVT<a9LKa?RH|R1>yJjG?jSxn*ep57Q8X9~7_|`B
z8#Wj_bI{{(Dq_oJeCof{;jP~vG92(XioVj-&Pp#5Uab~-jmKgpwNSQSO~=y0));g8
zlkXz*S%NHKImZVl@$~vhdbtWU;%NhBi(S2naA))-^^Q{L_&!beA%Fl4n^r*}Wg`fV
z8PJ$7P84<G!DM4w$M&bHu)A3AC-kRNy&{Iz^)_bxXNkC8>*4Y~o>(m8vFUWWj#a(s
zbeYvpuAYX@lksp!UEKWe@uTz8v%zTi<jIr%VDOj!>;L-0ANdGF@bu>Tlb`$~1HqC0
z&Ye4tA3w%6eF1T^nM@{(4!u;gdN{nkzCJxY4+~_w_c3RwqD+7?3jp(THpA!SL`SJp
z8V#PZ+ADH4J>ed6J3hRD)=X3ISMyN0${r+f2q_RNR*G}6PWOOjs3@XH0fUmWI6rto
z765M7@C+1D3Dgv3n1gs-(h4Gw?bhumvf@;I%xQLG2^VD|XF;OFf!l0_<itQ}Teg9e
zoejctEdcHGnJC3f@9hP+JpkR*(}tS<EPPv?3cH%Me*zR5&T2jGqG?ab(Pp*>?(88(
zy+dg8YVLRqZSrlfp0d{M8YEwxsI?dhS|^L3efCbN^y5|Sr8#Bp*El(?zHw4V?(ZQT
zL>M5Mg-wGp0No#uq)QZp_{ke8W#;QM*H!1J0JN|8+UY7FpQv5qD|%ac5Vps+9c{qb
z(lDEvGB1W&TN!OnK$m8eb=&x$X1|GiJ$ga3+5fWO`2%oxPT@D3b-z3-N^eyBEvJOF
zHBs_QZO6iTn)bY``Ex929g{$5QY~A8BGRV)=KuV|vHfcE+cTbkt~M`mm<m7-6GZ^}
z`g-D5aQF%6sKs2-ba}x5bm*LOAO>u~=2se|6Pe)M7Jvp2bipT4b9~iDzYsRY;Z-(M
z7x*^A9d{OjQfts|mv{4YP>W;YcLLBa6{T&@p?_}`>nw{*w*{bE{i8eaBam-MZpXH{
zBlWl03BTD{CbHKfROt|CCUDLg7EoFp@|tNGW=(VpS`OUxuke%x?1gT@_I0_vVyk}=
zwM(ln{=2Kt{wZOB>VAz{T=K~vR;P=UJ!}6b$+hOPNp1bw>jbc$`|?n0x6O<uN=azl
z0#tZDB}NXs*7PT;f!uISUYmFj8P3+m-TaaOyR`KClzvD6IyXe>TBSBXHs?_uIplU^
zK;;LuqAHbI2cS)x0HXK#0qlJO8aT_p%y)}93(<)?XLIs}lB}PAPT3*=8X>kc!zC7<
z5R>h9(;Dgb`_rjHU=R$1$D$t*;z~ovMRgw-e)1=Oa(FsiFV>UEHRYqx;B<6091qS<
zFS`BCpf}VTjP)uI{d{7N!_2}*7c?Y2wmUT!Ps_4LVSr8&`gywrOavm_s+TMaoy~Hg
zaG89fH#0|PLg4zzQ!!4s+w8GRN{0$h?wsGjhJJ5InnT|3XN#p<L`+ZS#^Hpm91gDX
zprH>h8Tdx50PINBlN`JTJN$UU#Wbl2fB|T8)6l83*VX%%i#U|K9gjiD3W|~jv2~@O
zDfgv6)WhJ|&zLS(da^mJ9gapLB=PNhxtQKe&M!tV%~>vW%RQed<Q*=@=L3eANuh{y
zd`PhJGryRFnGvK@!=296m42{#<#%2zH%ktwh;~!pSPH8J$QUtF!~Ot4KkaVw9e1Y{
zXQ^fQr{N?QT>zBA(SyyA30`<OoRqThuFnN#fbfuG$5x^|^5JK{)JQ}eIQ8p+@iT}K
zR$b3#3m2h8YcponrmJu>o|eIS8k#}Vvcj18V%-}K7Soxo$Gsl4=F`Rb#l_R7Py55c
zU;3~9;)g!+;rSfi{Qd8F@BRDtF+r7ky+@B8(FQ}NlmBpl40epiV;sVWz{dneWT97=
z2r@4E<t$LfSyKV$#N1);IhR@h?KxWppf&dcqT}oyIX?ldFu(YL;A@Ox#A5f0Iqz(>
zzUwI4EmH<L*g;qQ4aOE8U&BIKCKEW*(*~HC(&C0cabmeKdZcdMv(W;j&qYP42_y53
zQW9i3v&vGCCTpM!xR>x}Z?5<p0q9cZney5HO&q0Xua}hW^7mr5q1XYVmif+tD6eC;
z?v_q7vu>D~Td{WxrETvd6gA%Gr8a-Y#W!7jNKNOIoiL}BOf*s4v$UmgG4nxXYYb@G
zv+JuCJ1bDpfTkh`3T;js#gWSZv`Z^7T|-wJy?KAN?&birQ;K3A+utrdA<eT3AfKp8
ziD5c?wFjl-4)T$!AyX;b8fH^d=Ecxv50|e*wWF+Cnpg6hGEU1Y%Zs4R{+9(?>sCl}
zbD78;FFjDwfNa}%Wj!@erKZGalW&9NOI4;{*8DjZv|e_>S+KXWz`{-Y&Hwp_WBb+S
zx7z~HY#-I;m0ZawD!&6d0?_AOz1&bgLKqsbNz<j;)O4xV3JzPXN}2XiG$`d9jy%WT
zo0}U5SBY9lNeG7iVxmAWUx9@oe74RU4%4LS6_AZG&Nf2;o&Addv@22yUwSs_1<+!q
zgPO&(PSVlyJFnn)Vc28Ojiah7Y<d)q_2;*Gyz<0Lgr>ai{hZB{(?sdIQlN>Z<QDt7
zP?vdrq;_kDwdrp$U%1Vr#__b7ruDv02e#R~nvsF7st3x_WBt=6f1H-%(QNlX%WGnI
zFj0ZSyI+&s8-NCF3gaSWVn={$NumO|G>=i{n5b1RN+s`8IxP5Zu(Z=bgc7cvYVGQW
zD8zN&f>E$-ST3yeYigAm@+&xY)Q~N<rLw3k01e=n<-gh5ij5EbR|q==N_$~LS`mei
z1JDMSS0uTN0&KAGP|wDuXe=D#B%+2eCD7|TG{$koA)fwd7;#TEH|h`Ixag;U`ll7q
zj3-_h5ncb|eGnICr~O_EUQ<d}XpFkibeg4P9T=qDu>!sv0D2MG4_)d=^$H8DV`tE&
zpi<Idm%B`f^dlJBk1vq*x}Eu)6Ania#lvMxztfGM3_L&A4?AO<p7homM06CvB5Xnn
z-QlP~Ls+6?hhEJg=cJ<QBqP2flIh@->XID}^bXTXUa1LM3E|=+_F$fLdX7U;O1F}H
zS0fdq0x}Yf4CqBbGn^?sEB%JF0>=!sS`Szo4xP=W{odwuG@zwmc4o8Le6A31JRwf!
zJzjAi8y#P5I^3B{VK`x_9~qP-wCCR{r1xUUIXWMrFz5;qKZWnNt%Rmj>W_$$!@?&n
zkDslxbV4c$K9w`mD?Mea05oX`>Y;4-)=V0*RA*{MD?rmsq4Q`|LH_t*Nc93}6jtkH
z^p3ixr{{~6esd7>ap~2~&1f{5EtY2&cb`0Yg40e<Pai*dLeYQz7yiqSeduFXH`f;z
z7s%YXbLZ^h0wr^QxlpSqy;Wm4RJfV8atxZ;sAtR<dUQQK3({3!6v+7Km$TH$w8kK4
z(vlBhh^Bi5a%oxDui$VNKai^L%4j}_;6RQ&R0^@OEj(ZunAuJ^%>Xofr6paY8iY(2
zpTt18Inn8_m?=UWD1|d^<ZKq-a-zjD0Bu;H^tq@&?zpoh=yIY0S;l{wRpjXkhX<gy
zYWLY->@B)Q-Y7j#qE<0y^PtpF3Y2yCYv09=yh7G#%e8NznQS$CGTQhxRAS7}`1_9I
zKs%p_XZpX6-F+Y<`_|bCoDIau{7f(eCNk7wrM%55qqMCin2Tx}iYoj0Tm+$=rLGBW
z4zYjg9>5oUUEKuaV|P-HeG5Jpg2`mU$>OL0wD-c&8!ev9sQc}9yxU&E(e?y%iPFx}
zq$a=Q81?)+g{CD&w!cjv!;*PW%8o;qgJraN;C7VuxUSQ31|EWD>!wSy4?(HnML@e*
zRkjVdU%4pbW!e7=4W0Y<_XnUkxU(mwX%vSNWSF(w66FB&+35wls9(Vm?q*xG({=OX
zl+!IKC`XPaOzeZisD(Ud=<Dli2-+ph7N)w@XVF;|1d;$|u9bIo1UO#95qh>qCsb0`
z1#uS;*M_)%BO5K~M9vYM^S@HRmm{s;cRT?73jp@mbK|J$ZR66W<du(O%LVmVJ4^ny
zu6|@AU3+5wr|T26Wtz1t&;*jDaE1NCz|A$WPl>R<zufwyJNJZKz0E(n;#;&;toSe?
zwrSkBrnKOv8|Efz{i?E5-`=a3aGL#7tJsG2{_gkl%Yxgrk*3=$X`+<$xa@Ea(^C`k
z6~{P4TMh(+QicVPs0uDEha<~32~g2m0&c~5-!hfKW#6=$&eun><;eL0WLSgYdD671
zEdcG*R#kL@vX%Fe@Fumz1-}%APP4SK1WwhXqD3u`B#`GboE(4#TtGA5Ojm$V6(s`O
z4nTOhjAuyWavK5UKJpYL|E%J@x6vFNbW%jhH5w+>p%EY*kH>0ptxG)MBq07~GrhTn
z=K8)^&gec$s6{LB<9T|C@o=Op{Jy^UA2F=>F~go*$K7KbA=Z9EIfB<w%1-69yHV(w
zO?24zJ9)btG2q1Mh)yvTWN`A|iGB{w9zc?I^(JW@!%hahutA)7-Zku@WO8#wWmlm+
zdxMk=DNw1LZ8xt6@x*j$FA)56!;AoW$hx9ReToYyWi@p*7Wl!T(csfwvSH8-2M+We
z5FEQ)&9y@!5R#*jo_Ah{X=s?uCjDNAo}wpO*DKd1lNmIAllHJ8^-J%cmL4jSbrqax
z!<Mr-7RBhxU<qha$mf;^5bJo;H1g}}Xa}?-M=6cO%Tkh0{M0s9K~rj`B*T7RsV$={
zW+-7U$S{;prFsHdufpIjoZcYKZ6+ZqSMic)l+Y2Wjpw`73f9MLn$OdbHMlA2O){O%
znFqAOBt1Vr|H{|C`ugjyb7+6?=;?TL_80!rU--W7{=Ug<3g?3#{Gev>=@<ig-NDnR
zdNl{b9S@5yPe+5NPaZL3FzJyFx+A@6<LvAVdNP^FK^=`L|EAMvx1RzlpbUm0l<DLj
zXTy7@O;nOQPeA9=T#>YV2Q-c(H44%PdqfgTRQS0QcA5#y2i~s?vWbGOvSkYBOU{-7
zS#wffl+-IWi4vLVk2gTBZpPjKv=EckS@QvAl-Uy1v=vGjQ_Wg2lF=!RP%4FkOHBjs
z`~Vrx0i(@^opuk9FL990g2oex+J&Y>^s9zEKX1XV{_T7=U;f(l&)$X(gsYY<=2o12
zMJQW*N1=dbF-I$8duko$suxx2(DqfK;k{=&@R{9jug<9_9qF?Y2(HwmhB<&q(i`aW
zSB?#F3D-rFsYwy?o}w0m;L5@Fd(s(PUS3A+bjj1Tpxs&*mEQ2oY_q>jReOK8DC^Q<
zxddEfgG~fmFx}Sfu{gy3Qsx%^%QESuptWC|Dl23eh_YWL_UgH%v*}phK%2Z#T4JJ{
zfrr5Mm#vs?>sK3YxASn6_B3guY^&A&V!XZ`(d>1zr!Rum05qph=1`hOaVTMb0o;Wt
z?F<eNKwG(0<^HsHz+yU{atP)q%tp-_o$6uOR*CN816dV>jf9zNL70QUvI;=!xg&9W
z^N^0hqS^z{9O4(tIjPlhHVo)uz{X1x-w8m!2<#=J^i|0}5PPdMN8#NwB0GIQa>F{L
z7o~oMOyZ!x945_lo1feCw~x{G6jFkvm#AHMp&9Ku3vhvqO~wLQtkn<c>8LtN`MvGd
z6q;{lE`qrV{Y`C7vo>J58?P5&M~uyf&4JB_fe@Y3l4H7=#_rnW^OshF*hOjKi=fso
zvNcW(E;V-O5N|7O0{s@KiTR3S+^)g!bB@N2d^NsiX2O>M2^8{80#q~uq0pl^k-t3v
z?W>PzTV}e_CL9uguJotX1k-${wyL7HD4dZ>^`(6f78>TeMVy`0RxKtKaLNEQ>pE4D
zO(Mtw?6-_lIQ${?4clrd4Zazpl&kGzG98UZgY-LfI!p8;4m+FaS0V;oMLAuaiVPOD
zBA`j@ddu^2z36rN<FnD^dg{P2H?V{5Kmkq#5YsCoY}H0BC>X6{z*0f#d0@3((w&iB
zR;*xOuX<v77=h^+9Zmq-z5{8C+-ec;wqCEP8>fgq2cn1^+QM`+ifPOyyc+fgX>FiH
z-o|5n-K28ws*oz(R4J@pS8?96@wl&$v|cAdzbFL=km^0t>=WvzLYZdj!DMKfjd9C1
zV*{mOOc)<DSn0L7f=^qXNbZ`kK3S<o&#w^C!D$e|d-^h6%sCt~mtbl@<B<YJ(~mIY
z-q~!@Inl=q8i1&~T&@{e%w8=PI%0(xtXUes>NQJ8kA?|Y$S`Td)A3D9HD(RYQcoeM
zJB@I*xZzJKnlFj!xTs5te5+Am<fEGcXTkWZo}=7+YGJ>0hDZGI2#_2t$n7x(8+l(~
zdiWGAg<_;>6`!nN4N5i<17D#ss#_R72zzxc2wf_K$uxi+Gir5nb2D4a|Hj|=8*je(
z=4`5;d1PjM;C&zH$BRt{qv3kFq6d@71h4cu9DRq==@g$c8)<g6n4g`Gq0w{q&V5ph
zq?FOY7*6023<^UtjkkFB2HU_&8GxopnLrsfUBnx@0mhUB-F4PLLrybM2B23<o#7dM
zRc8&y4&&J#jSE`}dS{PKfQA>TP;mq*n=msM#Z*dk4#;Ls(jO{o758Q{a_Oepu?vo}
zM+Km7K`|^lRZL|LMCB{~CKoY*O~ApWrh#{UBg@=^opzIM;gBwr?Y5!R<BhHf>&acq
z$jhyUQnJ*~#YfYt(grBCKw0IPD65pI#(cNM=TQC}C|fMi#(z2X=-Wcu^N(Sgm0o5u
z;jbJu{lkdVB%RuyHDt-Ao?LVo6n*B8>ynx%fx@(F1^nSzdIFlmLwvYu<EiTuQ0f3Q
z$CJy;yJotSBGOQ{2X4so)37J=j18V(`W98sM6Ir~WfST}9LZj8yT_tztF)x#*JLb4
zT6*%GM4Ny73P+cgX*ny(y6(s`v8}T2)13oRwpH422rOS}F#UXbUL0lXP1-2iYL=#2
z<tMZUpwv*}W%cV=wD#*I*`ok7x&V6PrbvW04rob$xHS$bSS-nPzc-ppW`q6+S#A!m
zZ}e0JyIghox4aC6g955Zd)$Yh*?VFO)HG*Hn&SA&ffxdLHLAOsv;~u8XdzH5qry%r
zcb2w7TiSoK3<TiL4Q<>Dgoy5i5QC2f0PSquR6mg8!AJ)e*OGqyLO!<j(zTF^mV}wA
zd@GP`a2A+;Sth+|{cR{)Y{I37SW=djI-C7^)jdjh#ZR!dp|y8MUXa=jlx^e15;IW>
zK)Y5>O#}|ICu=JrX**WcnoHEKObHfsqISVCGEql?QP%T(+f*Ms>~fsy0v5DhnpvfA
z*llW(O4XPB_P1eYe>(_CzI0TZ(|~=O1u}ufCTh4vRmQH2#--#mHI$qxY+9Eu>ohfF
zB;jWDEl2ja6)pgzz9c#%Z8$h$l<qG_g6mhFmT1VWaH%5o#Rb4b4D?&xEw1QiB?A#v
zba|T1X5;ZVE`kc&h~Lrc5{7>Na!UZ(qh?OkBXUXD0cdCQydqn^1Dc7N>GEm)t$<qD
zuBlF1U)v4Aa{lYkb}l021~m>LXx7um{MS3_<)3up3?jb5>`GnBrrHTO1kd6VKbGr0
zl4Y9$>y6@lWc9_Ylg?r)A0jp!^)JrOsXGclz?8?+yPFfRE4D{jGU|`)3S<=h3O+gV
zn1e}F)HBz}Vpnv(t7w>3x(rhURd1d?9S=Eq=q|fMPc`EdmyeJxT^I~T9HkV1rvJjp
zVx@OX)0Q`Cv7+w~vP2G%PfWw?N3a}&JtfS?pG*}jRPUJU*w6kIUzi(=h9*|4#dI-W
zt#q>L4|VXvDrWxW<>h2LwLj<cIli(yh;|j~T`pJ4`GTX|dZ80qJnKF1M@Q(f82}p4
z4`^ydsc137PD!p$mP-vEbm~|20s)}*(gcWSkQr!k(vV3ww<W<e8OUb37f;zk;1Hik
zQ<bhBfWYdjn<>osazSTjiz(n(OZjZ7XBzsWAv20ej*?{rpu4>RYZJfYuBT6*4u@lO
z$2iD`q{vL?`u)Zq|M4IH*vG%?!Gj05lzI66_rISe5WoON$iZ&KOjn#o#dBwJd>p{Q
zC9E)Lgl)g+PEUjpGgiR$_%doqV>sRd2`Qh#`{I`YK64B@WhKCTr*c|6I|AJu3>Bzf
zF6rH9IEJs~spXOGBf{&<L(Lp>fM0t;^@k51;$i9{WBt^nm(WIO4^xa<z*bRYCFQi2
zGk0qlMHf|?1@=e=r%d&+Om(k8Rvlr^>JgvVw?lKOXSvz`L4HQ5Jdnl?lzN!NiQ46t
z^6sxus`b?^af&O&uAcp%cZu4Sr{g(W5_yu;P}VJJwQvmD0?_R^R{mI&eK`)LAKLup
zX=ao%T2>X>^z8b14-oJhB~tzXu%HvQ+m`84m1!M-tHS^&t7Me5V##YtxPzHatGfY?
zTBL2gPBs)NJ9EtjXZIQgv^i4igv;E53&Co=aQ{n_&`g${_U2~N>kmhxQ?f9<`Mb2u
z{+A2dN>qD~o(U^)nw?W>J{B)x)r++IB4}&3eV)7|JBu@RiB|nwe~y9eFSVIIc3j$U
ztp2usmGY&`Ep}S0Y>xC0{Uvn&{vA~QDZQ5*yEgz0*x;Zg0pd^+QtZ#V-{F2>GMV-C
zGd}&npno&b_dwa+86fFS@*XoOL>nm^C<K>4Hqa2;1Edge0Q&Uwl=C_SbzyS)ge2?z
z*T-dwWL4M+fta^uZ`Lr~R+e#Tf1rCB--BWHvLyfwO_h)dv;?4ON7dpyUJF3OK`2%E
z`3QH--89~rE|)Eq@W3@o+vH0-OPOZB-l0KkxnR6%wD#`E3zFAVsjcbB63tT6HU2KK
z$0U|>q5@f7A(?$=`YdoDm{*C~MR`M8BI~a?ww65*yWPJH5g*uN>LL9tW!n0iqcfoF
z%kBEJ<hIK0ljF~HODV7`tjW+`DwLd;5`fM~b$7I>fx`pPmN$BZp3?t_G#fJDm>B`q
zEyo}`pX*2VcA*vr1HI!FBCe`>^Fy!SJspjgbN%R<!!8CDNIkxL1JIdM2B4jqaG2P%
z_md=3>~&cl92kHGIkfGR$)H$f_0Ur;0@zO`b8^aH*wqq<BMPGyX8;M%M@o}q057Qp
z?gnW*9%AM2KsujIX0zGN&5a)5jW>;q$K&B}*c<3A)ecN6>j#hH8zIm%hiTUD(T~Ad
zV=jD$fBW$oXc-Y!=q*GbX4q!6Ud^V+E7UwdOwS$DIz@WEwL@Li^dU{*&IslD(|7e$
z9jC7+@sk_r^LRJI*~cVjAho9UH=T&|g-kwIr&FTTqI^JueI^fPpf^H+I_%L7-p2q2
z_VV&_I-M^$s6_xeTrNnnL(Hqya>3~?B8&@s3ztGY2TduuXwkrO(l8;70>Y8%<Q6+j
zhavKr(3T6a^T_|$94AS=NP4r3(`;|Pst5R_P5zJ#WYGr4MJsXDJ&MF+VFy9S=kq09
zzMjmeOE<Bx-yh(0n!A}zPlqFFa=4u@78e&6R};Nn`Sk4K@#DvReS9!jF4xSZ`}gnD
z99CUjT``@WJbCh;{>A_F2fpivU^0Ttv`>8U2h`J(6FuM@gvKe%BL$AHi2#)Y0QNAy
zIJf#6dvMTc`&EjnD)1UeHJN$pex(P6sa(@_EAJp9gk-XG#WAY0w_v_g^x)6sQWK=p
z*MrzF>HF#UOrjyS!sq})haZ?Jh*?r*#4N>WU;XM=S#;b);2d0vB#QzO>oK+_Rku84
zM?^#)L*k$SK0(300JKNJ$dc04sO5$h)f4xwNZ(^pYc7$s=Cba$DgbR*vJ60%ld9CS
zt8<IeSFJJ?zfGWqU9qkI55c!f0J_Z;o;=2Z?kcP7MX9Gv|Ngc*`bLrdMy*^IBFjS;
zeAxTjDru0!(x=y{%6=Pm`N%tKg(bZg{zfAx<xAA+>Wr`tZB2MDjR5rO>}*UL&vfs^
zlxb9ZU<9BCLrxK6my%Ls!jet2w_ESXAt-Cz;<VdgB~Gn`w9THjR?2<#xh(<D=Z6=^
zvHg8%c7B@&pkEeB3lFr-Rm$#=mU>FG>C6Y^?_e+VBZT-A;6XOiib$t1NeFQm3b1#s
zb!O^uc<$<fAsy|eGd-uQ(}=G>afr!Vt+kPID1^|S+rEK<5SAX!ojSWmT~ZoDCk=T!
zhL)b<0s|4JQptO>HbH5Yp%emDy*{*`!jMTYL8#r<vhWt~h5+=j0m>scly4W<u}#?L
zZKX}<$<qpDEe~0fbF@ES^>`htzXh#R^cByavfa|#<+3HM2z}jK#SM7nrc6esepbuP
zd1>ctlc>S+O|;3kp%gC-K2}c)IuU^0gI4=@%>d4}+7k!vvh;S#-K=HG)L|e{tKO!q
zP0TmL;C4MlHu<3@z-FDOK&>>R$<G`UzH+57cQAcPECbM-NosnWrB>!MZ}UKy<-b-(
zk%5@rSKRAy=Y#-RKvsV`@oY{6dXVHAml0PeJy28W-Yz%$fi`kc30RdG4uNjPAj$x=
zVY>O8@{UaUE9Bic3qY98X{Y$e!5%ZMteyf+0>J#7dg~~eLj0l>pzoyNH__NkR^=7!
z83%6qJ-MqNKZb_d@MnsoqF}wzOBQCc*>bt;bo-O}?E3oJAEl4_gVWQ~;c$3%b~fmD
zM|!)6LSt%IO{Lx3bllvcUtrjgkadyuU(R9|qtoSb&LHa<=T0A6WNSRiO>>ybA%~uM
z+QVNe)+{{$YaO<x^!)siIf8(@U~L>`=%d1z0lKNzdIYE_PBiCJAn5ireB3$5FE;wM
zY;u=~u7dJtKD)e_OeT0{wNzwwFdDf<HL4)I?#x$J)OfX6Y6Drxc>K?B<2qcSrsD(%
zA>}70i<v%6fix#d1u39*>^3NelL-~XZxV)XrD8IPk+9AGfA;?E$C4#k^TR6FEwiqB
zclY#}nVvJEFe8El=R)d%BuHWeLFE4?=nv3~Bnada0dhcr7!edT0HFuzQG6o!CQ2Yc
zKssm6>C?Td^0IEJ-)EnPEsKa1Su3hC_pW`qzrD+sxw*Nyxw(hChpot1CB>YK$&zAi
zqxF=%_+hXmW%=>(YX5lr^yzlJ+2H>B-FCIy;1im@yT8BQZ2UdKtL1`;!6cyu7cy$&
zacxf6OXkUMfBW0xZvS8XKmMzK>tFk~{>8ue7vFvN-LHQ2tK~-DZO}5p)S@~m^lra@
z_wL>8r;olcZD;NV(%DFXZeq8dWIwh5G)jDyz*;M`2GW>6f*grd%PByaGUfniUn8}s
z3IJuxxgtv;@SXc5X1wkI^BDB~PH}&-!0#%NfG$V;C|59x7znbvc!dsC{MVE4xyn#}
zztu~7n3`@2goX|!01cqcb}$`Kq`6V6bV!GQy8l|Zreo~l8yX0=NYiMOaEwK^ZonT0
zg#mmjnn;d`#DL>50wYPUH{#cO=PJeo%WTRF^o-OFF(okI4?Hl&XB&DN>4$F|Q{D8q
zgG>GJ9OwDkRvKW$CaY`K*+HqZHRV$Eo~7am)Y95?(h$Cg#-OgntR(5Yzz3N6Lc-N+
z+Tnb=Q}9K_LPf_*02-ZI0eq-JhVD23y}9PJpue)B6ejkYkgjtGWwY><{pn%gUO&#9
zKUKrmU~Gv|A7Z!!bM1K^>!;i8&!rP4?R=*Az;lhu&jnNSX9{!uGkYBWh`{UsG-v)e
za4qzR$8o`tZnaw8Kj`mL;}Gw?#FJjjW!y?h8!2Z&2(7u(3n*10)v;LTPCp6}yU2wB
z=*&8GTgi04P_>F*g9(FGi&EgyS_`;HI2VBCA8M%hbO5@i=W8&rpfsySh(B5Cm71Qi
zXRe)-?LJq3zX-Hm4VW?#%nd->pJPlmF>`}_t_@}`ChdQY1M3s09<E4x28LaAk2el5
zrAOEJxh_mik10P)@u%9Y%T7(lYC8U<?V2;yF6BzJ?nXeNOLb%1=P1R_{?e56lz!i^
zIW!ilA8VcH$|)&&n*BEWly(7VP}{QKrck|M+R+xHmKtOEFsz|h>hz5K5CeW@J3{&$
zZgw7DD-Am><D2%e9%M$^1cyF5PP5-z6<g|ht#>{=?zKxA-g^8;+?(}jeFIdnw}1QF
zzqr1>M$Fsmdc8*B!^6W(1Z(V6`0*)Fi>&khY<(;;i!QL9%uZ7J21TIJZAO`v<)>`F
zmQ&xb8TOd@%3eLLu)&#9OBngKrTsslg|@e=&4wwQi=$Rc{al-#V?7?P<7b5w|B9PK
zxi`M|f<wALJnFsE5$mUPyWQ^Y6_^HSc(~US)9~^C&CLy}uKBlGL4()VdWL$V-ztjR
zP8L6%aCT(S7N99bnW1P4V2KUjKTWg%d=qdYaxOzTSCOap%d3^1gyr;db<{)IYdy-$
z)x27)(WgnG*O(|&s%MZRTpzPf>#8yfJ*Uk`a4SgXua@$U-bSG(xbcFVMtdv+bOrJE
z@85rN09sE#>&a_7%0PgXN<mmX`%Gsanb;_VrVKOI@$(%T`3^3nKamT|JPP58tpb-?
zZKxFj;=3ViIPTO1XR${ww2cwBnB@h<1ba)mX;k9|IH&?x+l+a<df4wUoMGJ^_BU@7
zbEnF~ZoAps+;6uG@oKaA%fI}~H}BrkEd}D^0z??KKYY6T=l}PA{*V9Ve@rcW{{8pg
z|K>NpK?V&{q6fCs4*tBoy@jJWvRr=p^a(C&fh{BjaV8}fS$#IX3FZjq2Rrz&FhytO
zuEvyb3r4f_;2_h$!O+Z_Amt;Om}J68zBZr^S&?)bzdhqYIbP{?e1M|Wa!qPzkUG#p
z{D@;{i)Wt=F0Q}$i@#v9<rC0MH2Kr77z&`OQP5qMy2^GmLz-f^C+S{Y)o8E}MT9^V
zGvL%Be|zDqIc-E@cTUYN0)qf_@+-#7$}#Qym>>IiqurGzUnI5Wbg=znJx^mSkE_pC
z%=vj1bK4!`OX|$QlvSQ)V|-aJF2^PJFC!bcxR{N-w4VB$ny)|ciL<2|DyL0<IXdRI
z7Dh-L29C=0r1GI_c3{7<OjBC!T8Cz>KiQBeeTeT+$Ef-%e7%6$=*WQuZsmdiG<!h}
zK%*0;O1l6E^cj?Evtr8r7_~{%j#z_!CHEyU<+`cyog09ji}TjZ$5g*&WBQUgj|u-g
zn>{ZK+gV4y&BLkrKY^+F^GEzRm>S2~0qDacD<*3$N5jYc?vdLh^!N#A-Q;OELa!&i
zQs4M#ZAJTKPe6yf-id)cS&ov>)Vd@94IgBd6dBW<X7vkI@dPwh$!wHU3akObcZ`{B
z7zLp1G1@_l8z+)K2B3{+>+ek9cA9qUq-mZxXHfiE`(pVqXKDkO^25}4O=9i_GZT|`
zeq+e-!r-(S;xV3v8zW`<;Oad;?sYy)(G^;1&Y_0GrqI{<dHJ)bP9UAKvoi-7sL!S+
zwF8B{b+3RMa#DS5(;eJRPX@Sk!!N=Ooti7-m`qUVvls}+iM`=$-I4N%cH8Gz{^S{F
z#{!kGeyoCHmUqCk6S|90)LKoZat!f<*%f(*l~oK8G+PzhnctS%z>QXCvwkBlzywB;
z)L@5wcz9sr^Cr8GS4(d;8}yQOWjOIESRwgPCVuN<k+~!QZB*LR1HiPeOgCmYt}^M6
z3L@*bZDc7Q>n@;EnIv@(gV)jVV_%k0PDHdAAxrzqd?OAadYBiFUB@5wbIYysLmW#$
zoE#9rGNt;Hv8KBX0mTqhhg`=Sx~Yzy?e-of*WLa7{l||V@9yqi9gdsp)tehVG5z}W
z>$k73-@bjT2dMQj2UTPcu_T%is0*+alh^AF*QEJ0jj#-Ob>sxb$wy%VZo_q;dDK1S
z<6*T}>1c;<8(;6p#=lGwtktVK){FIWC5!cjYeheigI-^+u!kez<3Wpqy3o9(iK+u5
zhQ)K!nq5~{@7^gIOP4VfS=Isc`{f?t8>(FC_0JJ@)R+2kU<0f&f&$SE66iob$f6d6
zxTnqHVXLM+uMi8qG}!+%4Kuvn&TM)lx{EV9H8f9H>!S(l0j?Wi=iqcb_f*&)9yd4F
zzyJ6Vix#W+O>8~tj-QWrpKj?gL;2~`r_K6?(%=2=cmL)8?Z5mt{*`|N&YSn|DEj3u
ze@U9Jd10WD;k=FJ?RJY5IN!#&QQXU5d8)D)%bu<md~~!HA91>_`5|!A@>53}7WR7L
zB9<Id(+rM;x@;2sOHP`X9Ag{^8`Nbu4zDy!be1dPm%sRxWdvqk2QD2XJ#+4NTfFDl
z_5S^PUn7WL-zd;?dwVN?mVJ$)Mxm$84Yf;ZT7#&KO@Px4uTbkUVG=Ef-<4J|;4EqK
zJ*gUPSX=C#ITaIQpARtRS5DG=oaOtD#&jF~KouSYpwH@g0<+{<MH@B3+;-363#(m>
zFE;F@FmZp8c6$CNSY<T`+QoWloa-9RoG~q7>EVBrSY@Nx`nZ6`{6TY5=)|tLPNSh#
zD~ViZK-KA$x!I;K(zu*Ov!A8?CH-1_ez<)q9tEJIDhr!v2v(lmet&y=zqx)hD*&CR
zqXDSZs3Fex+Va(t=CFY{`$DKKR#f{d{c{OGPhomoCh$!DpKSMq{W%x5v(5_Blk<P#
zK7DHb{1HD6rp9r00D6Di$HNFLh*#T(gN}5M$L&sk2FR>nokY4@)RgAYpOj-Fgx1{Y
z05nY?#<A09N-e}Q1JKSU6B!pdYXMYc02&=A&ss1c+&TnBqz(N5bP(zYHK_G;09sX^
z1#=gO7v3;_D%i1O*wvI)fgFf4DE_R&Wcf3kj3ix%Z*07tb1ME6Xs5LieAy;W-Bdto
zqNqd8jmb$eSO*H?iNZ5Ll^Y^Wf|O;##D%CPT~cw%KT~y6{e@OJ01c`<^m+e0vQYCO
z9}V=|PBTf9cwz_)OD6PeX2GBo3^=sVs6dvc&{#v_Bs@)cvbErB<lSJ}3A+X|ss=AD
z=GYI=;-8cQZ7%u{l(&rao4)dMsv#Ef0YRdjK#*;t%zcVfbd)ve&KO`}GUiA)gtP^B
zaOD)pbR2*NC9Ck3v%Y<T&eB|O%~3%Y_y!q(1|g;T!PHHrQ{NuzMy30*<dh=eS9Jx^
zH24e?uQbU3G_VKkbk|zPIYfGo$Jcr*LIYB&6+u-lcdW1y9adzg^f>e!*_a#4g+k}c
z#ogT<XAhlEIDs4$dE7-{`r+Y$gV4jB;%krbXzk6-&1$p0dBY8=Ug!a+6|G?2tKE)M
zmX0wrO%qt9EA;WW<p1IY{w*FChgXNqYPDAwH+-j8%^nuvhS1kWht$qFE{^du^s5b)
zUaxO98;1Z@H+rge(X6I5%>eXzy*$3Ua@3W+;IzYT8!sOT=LD$3Xef}q)f+r;HYrW#
zu6x|e07Kb;^mCnc0cbcD26_&eTzs8CHiT6dF}F)CI93uZX=M3ynz(yVpi_+n;2;38
zk9y5`Eq5(ox#OUGJZ$%RN%3}nc>VURMs~f~Z4VKGzhAFcpFZ9GpZ~A_>>vKC|M;)|
z>bLLTzyF(m^KX9m@By(m@86+QvFXj`?&GIl{pweL`Impm9MHq#pFTmLVHZz`UteF7
zr7uhm=#L*iQl&00SZ6|R5nq!5P**7edW>5L|M*-jniK)6depoKd6k{~lfh76rjd<G
zKH#k3>|^)t=@TbX<^eqt5x>d^FzNpOez$F3uxS)xm5^TDEVQwc&3fIrUbw-f!34vT
zaeMN3>nEUn*HGpLMUBEg9p8O-5mhn(4SJ5PdJ5m?Jy&;XRQZa1_k^|PPgFsh`iOIb
zPFM^ZObl?A2?qSk<`@}8tj!Q`wk<e$F@ib=z*v5Ofxu_wrvlJZdT^bI3o-D+kA|s^
zPuV{uKeyv-DOGY%YovsYtWn0el>z6dAGvKD6Hasfk2MVNw7_G0Vch8AlS)?&>_sjz
zGihILV^lpA*q>@EafuBT{(|ak0GcMcKN!-6vfJ-J-QK-<^I^Sif2jtOBA1dzts(ly
z+e`42A8IdJi}m8a08@6(Mb%TSnj3(gYtQpoKOd8J{(%Lcp9@p-X9{!Y$>jAuQ_mk7
zzT^q$)pC8%3*{E~ce}T5-*OJ$?e#1bt27HT(pq4(G;2tFyXfVc(;<XcQZ;@K2<XVZ
zy(cA0%Guf#q0xyAR1foF7wPtZXtx(i1_*#KrpZvzs+KD;DM3fAMJYtwPc?<44HE%q
z)FAeU8Gs&l(6sq4hbQ#As0uvg|KiUoHttvB%-n##XuM_(**yJEx#Br69{sT=D=rzP
zDzl6i3p|0o5=8+T8OYM9wl1-uKtYs7PGHbt1SmAV&Q3L#$aX&~Y0N#4u|g^B8(E2p
zIyI{R^m+e0F7|tBoH2=oyHS0dZFhhw<I8biOrtvVIVa~ErmMtQL!t@y1^P_sw^eKa
zq`oCku&={o_mnQEs(Lcon;NXAgY<hJw9lQc<KD&Zea>A^rR{eP)KG=~{9mz4Jw!>?
z57O#Y0I}^Ntu#O>skg<}qeyKn4Url(09}b?7r_MFe+8{t5H#8!K|VX^<N!nMx}X(D
z(An)$H~B55>UoHZDJ$ucBDszpAkd|cM>cv_5fQ$nUnsX%)xPwLZg$!~@!T#>QD7?$
zHoN-=*%r>v2#roav~06=ifSK1XaF!?9qCfMuld#E>UyJCSTjlEavje*FXP3{*oI*d
zm)09R?l~uIcOP$WfB4~tyZ9Np&1UmXvFMwdn>XwAl8@{7@k8{WWVO6n9`>~Vc!-7Z
z_;|HsB$mflht*=K@0N~__RZmOual81Zf*(FuNLvu2EJG?SEO>iUcRC4rO-)w*sB`N
zZLU`|tw1{SccD<J0?<eOu*XL|6dZBS{f>SuJtY*TUtKNb`Ms9ac+o_J;naFO;0(Gr
zMpU6AQA%n7RS8H`xY}b?v}IRAFa=c*xAXvFwbHvm<WoJWygJ0i<yuxn6SudwYH^{1
zD1>OY>%;9U1^O`-9U=Zoul~4twcQ^%A+OfgfBu($!KmPK&dmSGKmSkv&42md{`l$l
z`08K!pZ?vy`6qvSfA9;eRh_}Q-zm$Cdj0zKG2+V%9oHr)tsr)Pf6tVI!_1=!G<-^t
z-0E-3PvHp@*hi7F^j(HGzMhBX8i+ndj~qakuk0C#x>g{nNVyTQlm@a%nDQqIBPXN`
z7(4;(BG;v93?RFWFIwDFpSO*)A*vwGu(fNJi-MFYq;g2SRtP23g212KhX=LSHwNGW
z6Ve~!4uQ@u2tcRi+Jya&PG=Km1JG)BC;fG>j6uLRQDrJBztY)X(68&|Nf@_fNiT1v
z&(47-P-V{20~cKqfUfk|!%w67;m1U^xnj!xDfzj5XYbIUh2%J`grUu#AWNt0VX^S%
zKw(}l1N{}XXiERFoNvc{A1Eiwy67v|*O$$JuGen`Rjk%&s;%<1m0ZUv^9ghTXm+1n
z4M4Nx(Bjzu^k#Dd)2kvyE+v)d7|-+y4(spr)Gc;rn+t*8ti-96kWSe%*{_0H_m2VS
zFT<q%FY;$^M9M&aJE-<d&Ap1b^LC2=t@+_w!`uKg%dif1dmZzx?rtC6zyAP}#c{j4
z*U9j!1JLM=)Al{5MrcwFj>uCBK00BN4fAwBL^~WRM!Q<3oh1csG>mC77C_b00cbQ+
z5n>;YV>J8>1JJqykA67|p4X(YHq*7mm%x<%Y&``&V^8sC?S<vfaAt16^Tw;~F0=NS
zne(Ca=p``r_SlnS)Kb%2P|haIpE_`4ivv~lon^Jim$@;h(x^Uak17-nqY<n+m+H9L
zPg(!mM5Z-+Ii~EP)ka+gR;WgFmYA;oNx-6rbv<?jDk9H1C_2<MPD$AbHk2tmM6F1D
zM3$Zo_=bC3r|ZQMKXH)_(j~qd(E-hev>a60=yTMsv3!*nYe+QVZeg#SE_-@Fj17R)
zcW?+Ke<}c-0ts&-)?=Wb6rTls;(MQJv+SV%7Dx1HvN1*32BRYPE$npEI=*|y#;uLm
zn=;j*wdZ==do7Cgd}uw2)B)(A+Z=#WbEPgIyO05m2@wI|MH#^c%aFRq?I^*eG$`$E
zaY3=6rFtJR4FqkbY1@w%%xpz^KXX^4bAo0gI_(q5@UJOhEOd|{i=&P^y%J%+-EKA;
zR;p#3XF{wYrkU;%@h>ywGzYjLmUUL#A;P{~xmQcMMMf}4LcHU9q41*r(!w5t$?1jb
zKvxY_!X(?wVd>%SZnxWg{P>YEy}!S`zrUA-OZ}+b&Gq`1@4s7bR(iYi4gap!*BiZ#
zL+h=MbO4&Pb^q#Wy*!yJ|LFZ|T7%W%N{)h{2zfM+Uazk8Sg?;kzMZD|!{PNC{oEqi
zw{PBK5_4sxKgxc*SuxlV_135>0Bvm;A3A+7g9)pJ1!ZM-^#Rpnz0%{d_W6M&|8U%K
z9;1fNWufF`Dqf4QWn2_`+S;7vLoOxujCd&uHbBrQt2vSg93w>QMoAeZnEUoihRUMN
zlH2`pxn409fB*a6Zx6@+;=lec{<XjN570>?zxmB?zW@H0>-hP{{eF9Yzh#WwS;b5b
z2inC~CRTCug}A=HraGWVjqdmHh<&{NC4g5quWx7(Yr`11OFiwfq{lcv8zH7IVC328
zh?wCFXse|!FkwUu;Z=;9Va=T@POa!)wixa*%rPPm)<f2Xh@<}F?SuXfGHwU9Tz@Hs
z<<T{4JKWsd-0$>5<w#<Q&BlHlC1M$GK8fhOIrYLr70tmRO*>H{Cp_ve8}M+t7jSJR
zqH4oq^0_cd(G-!X*1&czBcH>hIkbrx&02F-2ln|GRi>iyD@~J)8rE%o2DL5AIQ1&j
zIAt%ZdipxgV@h7Lt~)K{xIBSD-9}x8>W3c_Q~sH<{}Mmcy65%B7fu!<HC$3rm^6E8
zcPu<^g+)ylXuGOTDJzxv{Zz|xt4Y4-ce_=;>8p5$dzCaj<^*)~uqt0)NuT#mSGSf{
z&F0tCr@C?LQ~GtyV?YL=kGnXrBQDec^mcc+y}Nz=`n?0tSne)Riqq=4R55k_r&gne
zI9=}*mLK=MUHlgVv#q4Mg|up}nBrIaE3Lo7nuA*R63ml+K1|tpx{K&zcE6_NV+*?+
z)>B8V4)oV!tZm$4#oYNbCI1rh_7Xgoo}UU+_8YYqrmueWi~k9fLFKH^8h00exdt2p
zHo-BEliYH-;r{3TUJqYv*4M|!!*+YG6RCDMRA^C%1LA3|grJ0Rbwkm}c_2WF3<P&g
z`D4~*x~^qJ^cPU{8w2?SSxQN{eTsbu+q5SEbW%hL5TF$7b`BUd82}RwGSH~8JYZ{c
z_28?~ar(S)TgFT1|2e`wsp)6@f5C$LRetUQC@+NB_RQR1W@B!DXWCQyd&#&YKZU1i
zCGD%2tO1?t$q-k*-sv*E=%uU-XZhUmw7Pvu@<3Uc(D55-GR&z<#gD`27?1r|d?cOK
zt$}PSny_a|zt9h|J9Sui$d?}cuyAmhvy<hl2H1=UjVb`A8_xZKns92Gx1(oL?KNsh
zYC7kDm7i1{K|i|{!Yx~TWmt&;y{I=x?NgvgmIvsO0iXK{K1?Umpo1o|l#~vNjy9`j
z*ked-N>#$P)u=u!V;?F89`Eo)z4kEFG;WkbD}saWwh`Bq&q$R$IReeTXNz9P&Z)4W
zIFf2}yJvryKkf^luGMCHkqDM=&M&hlue(;WgDX0<|AVdDJ7ogFIR$M+m)=>z<CsiR
z<RPm4!B-!dJnDG}7)|2XuE*rWC;uMT@mdTs6Gcn}_B*gE>*HtW)QZ1*Sj3O?b-`1v
zBiACwyu%~=czJh))LdQZz0A(WmlKLyg2P^~@OZfY^ux#7d%enIwORY84!{4!2M&0C
zeF3RkWXLt$7z?`SqfvzTS(G64C4O9Gs8!&Mi-r3m{c*7(eXG@C6Q%x*xHoU!Km$}@
z$ir@j9Olu7>$UVilX9B0PSUO3bQ}*WJTACVe~dRWFbDFKB_BiwWtiTDp^}(AT50@l
zW=ih2dgv8BoX{9-JW7`Czkl}~2U@NM&El)8dycaaai(3waKd)481!njVeQ(iZyt8r
zh29*hP%pmP9S=7*uMhjH`-dG)V+0=_c6gE|fA_oJ?RNWr`p^IAKl#W1<gfnfudv}a
zzxmDI`P;uin@kPca)pzfEfB02H2N_HtDN<Z=BZYmPP?xtB9tLOH;Q4xR?x`+hY@2i
zB^SvlRpUa7$T&?<1}BR|Fu++ic&DO(sPgItUvbVl^@`W%P7E}T%?V@&6SbDBBGY9B
zu>v_U25GEUCyvJ8sI><FlTGAqWmsG6_K)#R(UnFphCqYWc@O#!*JD&tKPBUs*Sd{k
zlnAC>+C0Y0?f6#G`RddcS~HOxY=H3inrWD(UlI+NX?XVZIMx;|W*5MzI~|;b5A;3H
z=a5x^wV6|A!q9#s$@DF$kZ50XrJonGG^enMb*vbd+ZjWhIPFdK)ftuGykvR+{5g>C
zQkp+g#iiA@tPWfMx*`*lwk0KCVJ*L{7BiWNjSUEkj#ZcIhf?u7TH3n00t8vZbf!j}
ztIq&EjT#`XsTV|Sj+aBHFkO{b>@sg&>&segB|Cl77Jo++9gj8k;bF^vAKrZ*o8-v@
zPs7*L7?T>x`Tr6O;w=@}3?ST=vks}xz{Ge>+F!=qts7JFQ@yQqD=zhWhbjHfi)yXu
z%V&r&u4UTS;216)dw9xkU?A{ic1|JHT4Abv!k#Zi)miPI;$MPGbXFik5wNfcGc7Pc
zia86Cc2O0uHkG{?ru0t+pxIq~&i0)E*&yyAn4?+~U#+;6*=%m~Mh-o&veoJb9E=DZ
z=;Xt5niUr1&~7LM&cn5kf#AO7_V$)qv}<OFG)Pq(&=W`+NG4iYptJv(1JF^ieb;KZ
zU8hgrvjR`RHW*){=dT&;mVt9>wxXM>PvNWlJoA7u7qjj8#tvk2?Wz5}WLzv$OHEJB
z2ly#m>rTl}eIq@EdP80@)yn=D&uta^t5sttE?7=MgT7S#E{gl{A*PfARzDB1Wm4hT
zazW=$jc=B=MmzoE)@#$}b@s5>=@lP6W1Py)f>gUK{MuHPuY8vEM!|2NLY1$9R~_gh
z0%#?f+A8<g%!YV^3_i>{l^nD+qsmVm=(8bbL8D`{!`4W}sWY(Fatb@M#T<buDtPru
z53O3;l`oby1l9gjLh8O4aB7j$0R}~xwdI2<WbJ?R{iLwbI8kb(|Amf-k|qo+UjsKT
za*BSsDOVIGX+x)9A3@}6NfOT5|E8Uq&<jDj<A*s8KzF50OdlpX=aY6stibWsW0a(x
z(EDn2^ZIJ3vm8tZTOD});dg%p@#)hiQjReQ+<?vMyAN-#H>=k-Z*N|2)|;EnX5}*>
zsxWG)p94AE@AkXh!{NZa^>M)=NU!hE1rkj^uDDV-J#yC4Na?5ibXeT)bn<$2TrsHO
z4UB=Hr_^#s><8KcEvrx;WeOTPbQ`^rCna;#F$|zNp2Aj&RlCD>d9_-sbW}S?rJhq>
zEjQS(SS;`KQ=EF?^7Zw#>c(pvRvU$lL|ku{i}gO9qCOmtpYHEIeE1IgX)<QW;(q(;
z_05~x`#XS!|J{G~zyBxy;Gg{N;}3Z3-Me>x_cwos=Dz#z;V=H;FBp*(y;T$Kkm*5b
zVchO)4BT0a6pf<;&`!<Rx4?1Zi*OpjrDF&h4p6EnK2Ed=uG-Yl5eeD|L4mA3qV-@j
z%|NUU%6BrPz9LLJtzk$0)uJHUTqRA*lVbwEn8tO?ac5It0P{1&x3Vch|1>3jw21Rl
zEMl|mnu2dab=6XLxy5N8$tYdKE2K5sqpE;>+6nwMfb|>pgMR2!s>N|oScL8DWU5cZ
z3#2M*P9q1YuO=g_fXf5WfNa%S3Ag?<YAe;wIum;QB47883QJVYm6vjmQ2+q{^hrcP
zRK6TjwW<fcOtYcwqF>$Ffrk_J3Fwu_Tx(<$L@JK|enssldrGy|_Bo9ooAgwVD!;RE
z%n^KD0IHD2QV)$Ztu#F~O$@SOm5@q|efO8g&?byQHZfA$;ad$rvt!;|U*kx2JUY9K
z?{vEWv}E+hObS5%Qmn4m@RL4^oIe9lu~B{aOm#V)2tWh3VhdY~&vZXHX@BuXm6`I=
zc`eiW=XqyZ|MQ|+Yx?O~aXBXaP{%Yd<~)s;u(N8LYtQ8v_u81^UxG_?Rv<$W$ZkTI
zX@LP!%voUC{2w2ac1{JLAy@!?`sX0d-Vj8-K#e=A^`}pF@7{et5`n1zG^M1<v@J@A
z(n(mr!Wn>$<NnZnlI(vY3P<+}U0;k=79i`r^F;&DQKgr@1Z;!xa;^LvVb3`IjAt%5
zpnR2||G)y!y(m;c^<fX+SOA(!*cZ5I#Gv6!+COuA>w)hQ`}H!`QPHF^$ZH)wqir33
z|2}S!)iUWyOf(U<?IY#D>+?CB_DD|+SFcKHkYZZT5S@lLSVp$xevL8FuhWfsY6~Ki
zpPi!JQs2jM)kTP{C)1OO1B6pNE9@Vd)JMSeV5fr5K2cJe5?!_=MKOU}>E<B}rw)Qd
zNV(HcRN*)HwhcQaBv^}@AX6`Wm1WuyC(bCX81tcpu3b2`$3<xm*;TwUB1f5Fb<oyZ
zv-@sIaZMFY<V0{fNDiq9fPR!4Za0^Ul(BCcQ!%nLpnAv(WHaT~l%f!6{zSieQEtwA
zA@%4IdH5YiL>z2n39tsh+~Ni@LQgGxV5n9+EXf&<?BTF$f$8n;_S46Qhr5p-IfZ@P
z?~m*C^3A)q3Qcb|ByZlm_xq+do0XnLSS=7<DBR05)l&(8vk?}<QQ&*A#v;aIyWjce
z1dsYr>yr-wS1!O9(l}UZ0mLw5@XT?$!$q6rhLkfY36elgOOGll#y@(0yuaIS58I`F
zJ3x;ZE9gl1<MHn9{)bPW*6ZuIW7iuSSRwDXTiSZ}?%i*H``ep0uTgn>#}W4(C*k#a
z^J*E-E-dtRh=;u%cK(Zh@!S9O|MGwO5B}}{;Lrd3&$qkXn>TM?zkTzM{?R`|{;&S(
zuYUEbU;Wiz{+8yj<4!+__m)A4*`sX*zT=Hzm=zGe@dU0%Qpp9M)Y%&NgGw1{bVP$C
zAxLQ@izFmh`17Q};A%-uhzr42Y8uTZD#U6g1iB~eEa_6E&YIH|k>cMfJWTsp9LT4r
zjx$D;FQ64I2+2>Y3^T!=A>#@P+Wc6B9=U(eY+~S4qA494BXfLlb!6`eE!Gp?L7A>z
zHFPz1Oxxh?CdD8cze6oD0X&z$KvGwIpNW35Jx&vlietEijs*Jz&3rEu-P#p8GG^Wb
z{L}z#VvIVMQZ4W-ZOsK|49g^*Xys{4RlLOhiWJL=M$J5-Dr?n#iP;@5L!i<P3P2+h
zYuyuRu7_vlL%@9CqHKai*aWEU0%w^RNvm#mKb}pbLdy)WT&{f`L1P1eHY{+`T(V=N
zz!3C$4rc4ey>s9IG|pyoyWVW@-!k6w!-fg}<pR)CIBlAjVJZM!4TClT=j`M5PhjeS
zu+%v~^+lDL^3qgyFVTMyCffC7GRD)RImVQoKMuwoo@EchbNl;Tm>k~=>>2mknBvdH
zB|bzyV!#cVFw+7TBC9whTbVyTCIiqQ<Ib#)@Z*+1ula+ir(Ler+?IUz-7hHOc4fcc
z`ksdsnMDL9`q1eeMeG1XH1*U(OnHbmZ{BcrccZS76)iSc5Md$=5UXg#0heAFfQ}#0
z0;lD}MaTsG)DzGkX%k~u&*iA9=GOf~fc+C=a&pd7{y%$yp6}<$CT1Q`UK*D?@%>ep
z+uyG^AYL*qT&kp1()1J`&;%fBj<YTrWA*{-)L;)@lv<{Cvqtp_(%J!}|J)F;n2)Q_
z3afg{1fJ-r5l`HlS-tDhSFv0wUSpcBB%K-{>=Sbk7%Tq_hx**3_ft;sm1C=sjT@@d
zlsoIj%47pPJ4N+eXEEbsPy9);v$YiJBolD<5br|8MzS7iOS)9qaL*~*&4=WSQH!eS
z?8>B4Cq7cACiKys#g5dRPQVV)b{HI+&~hr$&{L&O)l?2#%beubEUAg{aB%!+6k;R&
zPV>27-~hBCZdgTX&DKCRQ`_cj<(~~elg3}i3S_N0#geGL)vpKkH6)?p4$17|0O4(B
zZd?vrr1~+x4mAMX0?n;NARC`yWEcL6!J_73v$=sEul*I^SzcF*ogYC8#dPCgWSD$H
zQ^K_qCq2$YEGAcXcb|U$```c7?|<i)q%l(K_4*gT_-=i3{o(DKw{PEW^t|-)dc9d+
zZ&r(??v0PH4#%US+q-QnoJX2fPh;MZF4xr1)5^PtE!Hw#yTe|+Sm=+<Ib<Fl^q_-o
z<IxmxK6~T(`dVh&eR07$WWU~Q9=3P8tzM(7kUHzs@whu2uCHJF51#eT-B+(Lm0rPt
zzP-D5&>6R_udnIdhws1JJ?ycBCjP&F_GkaeKmVuy<RAVM`1JAJyAQwq^{=S~y<F*M
zOa6!d;eWV!^BRR5T<JA#xxc-8|NcE5``zz;`{w2vVXu}xdQb(#BeX4xqkyvxKpW-*
ziN!>;3?E5r_H{Z<)Bv<48y)F>;!m*kj*vhKo3M+_>1podL3p&mS6r2$6vDK_ZO#JG
z@eNy}li5vFGRYwYn#Uyznq*%r37^<aNBbuMyVpb0_+dS5$F&E|j8Yg+nfPkY!UyJc
z+&IAZHR}MhGz1W)$aFf^pi-l-#{MiPQY$e(vqsWQ=2Yn^NI0&JbE>3bDgZr}cRFad
ziaiY^-St|<wDY!MXh#Rn9OLpv$M~AMmmuuNrTDy;GI2bk27LWRZ-k8dr?}IrsElra
zG-tzMWIvzMSug2Pw}&Y|Xl)LpKoYhgXTE8_q$rUSDfJkI-@eF6wWcj^u`K!$oIAWd
zCuZL7H~<|(e~j02LECT9@h$)jhh6ev`|#cSU#V8#4`io&QkIj8;Pv@(_#50YqEmu;
z5pZ^{f98%?wT4C;HI13w?diV+bM;?h^GiTO({J6h`BSL!V+}t?Oxa)kFz&VSHGQ9}
z2YJ>66Qr&(wU|Evs=JC)YfI+K!3~Y^Q~-J(&z|H?061AW7){?FkBi&e`}gm^V{7EF
z9=9~{=&^nq-J7MnW3`cOMhuu|p%pot>i{%_`GZ>0(|-jAoVuSOKiJ90B0zRl0NU%S
z#V7(DJq$oYmr@a#eRfpMwA-jZY~Yg^5P5_2^Ul9u!@I=KlMT(?fL|Ct_W*RoCF8;+
zOj=7#Kf#9pD7SuRL*xv4QMU^)b>Pb;YNw#{hJS#;4M_*?AI~@7{*J*S->AS7Jr(q3
z;pUcVCm3YUV(hA{C8bfy66&lnfq~{hQT$Cb|I@o(s=#qavr2dLtJUZU9iwJX^dp-^
zBL~0_jp~~e?KbpG?FTDck#>v-Ku6a8sUcCPu$#Q{6JJymj0Nmlhw4nH3`C^|1Za00
z@qnLakr`-f0crVG!2VhhILp7PxiL!$eBGH&g3>zAZMl*2Su*Zds9NZbu4Nl1YFTF;
z1rrWg4w$6bm*6!*Y1dg$=W`V^;Tf`=6MzPaxki=_TEA&-R!svF?lto#Ifln14mN@~
zjy@Z8jN-w~SMeKq_!+U)N-zA7luk78<u|ev!I#WhQD#2x?(VPj3JwV)sdFJX9)J7$
z-`?Keef<3o;Qm2@>DQa<&FjrCK76-%ee>Zh|GnR=Z|J92lH=nZ9h}7uuO1Iu1&Y;c
zoOU>pQv9&rkzQdJqsRFT%O3aq7aa`WhL?O;?R?S(2F`A`I~*v|3qatkRvSH0@py#I
zKq7E^ufOx73)_d?+xPFbd)@ip+}wP;{lwuGnwI{5fBxtH?7#kJ|I2^#fAv59kN@L`
z@4x%IfBG+d_npqYyX_WltQS`pd4GSu+1%VeJh)NCo$v2&B7VJEt~Z;_alc3H!^1ra
z<#y~WPu<Gb0nx#B*3(V-j^9w8tF@?U%}O)7G+QC-Rx&G2cx(*3)~KS26xU_l3j@$u
zRQr{+Kw71AvGk7TqU1ASl%|-O3P4LbvjG2-4#ZA~08k?>qX4qLpcSjT`hc##2pn@Y
z#9XCF0qEf9^)-4cOKbgVpC|wRh7oUy7NDzJ;3#yf8mEBxKup;<9YF~F>I3340qD|e
zqsyvVE%M(H41^Q#vq+uo<^Y(gGC&n`k9wS-owt5iksG3N`x+YYG6?PGj=0Pg6RiuK
z9pO&oDg8{U)vJGQu?C@QvH7G28tCb9$~5$hHK(J2R?#4OIHy_g{X$krg4v&42GD3w
zX?%eMQlSa2c$rODkC|2u4N^XlrOsZ8ueiUs2s7_@7OxyJII!z!$6e4bX<&mA&IO>e
z%aogdlk@;}mAC{kKWE@u3qaFwBl>d#0~*!G%<fL?j?<W{f6C66hJ96Azr>PDJpA**
z*Yx^pyzvEfE#_6%%VSk?AyDF4POUSUFNdi<J{5q5LqBtS04y*2_#G9_@%!E5cDv`y
ztzT;yJpmo!@|4v^R(%Fmo6NIFfj4j7aE_-+>dA_5^w9+rKq?28Pc(^;vGNE&TS;3Y
zU6&Lfpxq$?&{6%wH(bTXM-UaI89MkUQ&adXo-Q53`i;4D{}5pRXh=Foea8P20okk$
zzRJ&YH{h9=ZQBbU$flkMp0x8T?75`x9>*$ax{hxJmwaBu&<I0&#jwB-bH}#?h|lUA
zFu7?b9nZ!odma^6Ihm9dr{w8lql$2CZUFsxap)hIu_{lhR&axXj8OxHMz3F^HmhX9
z%vKbSPs*pEC*>h%H|b2l>Iyp>U6BHy(%o+?sg;@@cHH4HI15d9=J3_gPp&Onz*I86
zr8K>y-H<2Mn$x8r&{}lBkvT`&>k%JmQa9hsIq^FTIM&mGp;pun6Pr%Xm}qw#{tI&>
zO0gCy3Y$qDUn8U%ValIV=>RY*-&tD@;G};*SkhEEK<q0QAV#UunCG5jlIqfN02)Ah
zEKDa;h(F2alhiV{#N(btDsA5AokJ3?l`vC8Hy<z<e<B8ras^;JgsiS6Q0Gr83gURw
z<GSQXO{nxyW0XzP0g9FiSx307L$w(xj#x+rEjZM5b92M0s1RKER(iOlUMv(rUM&@s
zWg*=k9v<%Ww->JtKm72+-QC>}zt=<4xAzYmBUv#vo6Rr3|88@=di&=6+jp-OsJ>p^
zT)(-#S?jvHIv)0q+ui+s$D(=g^|HU$-^0ZN!;iMyHZN#39PTWTm5j^P;t;p>a1=6(
z<D%cI_UZ1HUhMXV4<9~of>i|h=FJYx@xr%{KivKw{`3FizyCk~_pzKK?yrCSH-Gi3
zU){WZjh_4ahxhN_|J7gq_Vt^a!*++O_m4;Va(k<js{L?#dy5k=i0;3>dGov9{SFJ@
ztm0MF2A*sb2y6XW*ZgDq3%rmluVSe0fNrcn#%;_d^?0?c<+~zMJ%Zj-(4bdn2dXgG
zcMBq%s<}r5zajQJ7u9~%)Msl5(TwsrnbcXCU@8DQ$R^spP}glqK5F_jv<u3>X6BC9
zjnoMrnmMeu{WT|C`O#)p6AI%KJzP@<2GDJh#@}m-PkQkBp!!;ZQn|g<&;^c3dtUA2
zPqq4`6_P2ZtgI3kj{Z~t+FjPA*A<0(uISiU7*sJ6MiuT{S2#gebyM9+nL+FQ+?Qj*
zes-Gf0-HuLNnhAEvV#@McYV(ol_|Pw4$qtD!^`rSBFkG_>Wl-4=z-HfZMT9In6zkU
z1R7Z3O^})o&3(0s3kGcs8gc-7pbBtt4J3`TOfYEWgqimjQ+lS_y<|RAH~`I-vDxVN
zec3DG`%xVx1npG4S8#m);cv8>VH=RdlrfqL6MmS0SGLRX(y!oXo5~22T`uGGgj*6*
z-A$VZ_`JqGSRWhJhiCX0Q|(S+uKZj)t-pHsX-P^i8IB(fQ^rj7qVlJD{ahV<+LH;p
z)Qv(r>!Qn%wNg)I{`k21<u51S0S(977)NRg#B!+@^Syrk_Wn+PhRMAFXK^^(C$s=`
zyYU9T<XY^8>JVIq5Z-m7bck%%wcfscn@>QS;}ir_zmV>%`L1iT;UoqEEcbK@6GBPb
zLR>@&5Z10ZKLBk$uuPF`#8-m08uffS|C+%rs*VD4ef4wk^B?jYxTNnM$0})hFg+5K
zW>MCHGu76Vo+*s&0kzQq7FX>R7PTU2U20CaI{m5Ug@#Ruo#kJ}@i1-36l}M8_w*RH
zrwUuMUvV%7OLC(o&};XKH5d8eU2)QtaLPyqPe=g(o!P=~Og#hF1rD6X9v80yXis9A
zA8!l*5!xVC<Sy!3-jZR%abcZ$LYCW9fzx_6?cgTvmIVQ_q>iSktg|z-iOTVTei0mp
zEZvGdX32hf^5h`o0Vvd_NEwjlEz(RH1Z|ZGxb*?QW=ZP^_EXJsXYpzBtNmRlRuI+6
z@L?J_Itj!tfo$JETC+Jxh+jh6=CqGMEgHYF1BmXH4s#5$*<aAO77Hh04{nA)3_dja
zMT8howLo_rotYKD&w~RvQuX+1d8N3m#}FnbF>ZkQcXM+CXBllp4VB^=n@LvoFr8H@
z&aMkYN_4419V-$udwp|5s>XtWul2fU?zZFY(y!tL%G>RZL*2u6dwf)2`u_g*<Hy^(
zyHEG`dX6EU!(M#<{V%Vt*YDnac=ztj_4R8w%jJ5th(A|8?jH}w{gHoqu?B#J3>TJ7
zGGqdlC`#U9C5SCn@#})y{q^<r{Z`LDKVB{W{LlaVPyXaje*gR5A0A)*NB`M>^zZ)b
z|BFwbKJ9jgfAA0ff#1bJx?HS2e*6gWXMgr*zx?Gd5x!op(arj{-QIuq-FLtJ?QhrX
z^<K|b@9-y@Y3{JqK^HzuT7-|^nqeKZctw`9h7W>`6I)THT+qSSyiI8rB~c}VeG2vo
zCo%RB@q=y^&2TnB)*9$RFhVjohV3!37oo)Svng~6Qoi!}cj(UZDcOo@UjnA}Ym_O|
zF+rt!&=<5!T3SIsQ!;v??+^4LcWZ#4T_0LP${sva(B`nzJ3PmA(YzB^uGB=T^+Vs#
zh>mcxIHWA14oM@gU+(NoZS6)Zs>dm*AD9?;!vye%RL+SKKZ*-FN%5Qhkp_@i6QuS4
z$S(i}s2WljRKCsWajd^E+j294i^p}{mpM3TsHmE&{jp!PsaxUsTqRA%%5#$MsTyU$
zAfM&co=af)Gy0kNWy&S?=K{WnvFbu(Q4+BcXcyKc6Z3&o#ON=QO?U-9gV=wq)*6B<
z+RSY6X=KH391cLUir(C8@ZEa7-0ikHB*!;lakyiblrt56-adTyT?;^~v>Q{&Ou#Z@
zOjVhZ|1zY7Nk12+?63RI6K?q|p4Zx!!_+$S()QPpHJ)y9EZ@-W?_Y_r{^p07UwBNR
z_HL@zXL>irM1L>QKLABYS{T|{7mYzFX%)zd&i=@lGIcTl?G1x%iPVQ_1eQw$KH^0F
z;nT-^ZWZosAHM(od&GA8hd6A}Jr+^@VJ134YkOh{3Iera%@05WmzwXaIIr3}r;=||
zX~M$ZDJ=t_rTpRm^r8Jq%ZYCU6K&@M&=#mEGAbA$Rb7axXKvj;9K@J(Gvtf>U**4L
zKmQ@mflK;69{s72HO(dL6$3E?8ctr?&xqQ(L354j=&1lS>3NhVGRE3!#WCk8wF&(V
zUL2GAmLxGi`i<r)*72vBp{D6+ME7Lh08}AO;Y?!*KZSr9H-~y-+^8ac>_?_gaP=f4
zJ#rUd=t(0M3ul<BHOezp^RCwrED`KS!8rNB*0{H(BY4r^pz85l0NTVLMPbrLD~*7K
zxelk=9;3;WG~Cs)wJ)*3VKeObp)DZBF`mqALzY2aAc3av6hx>@6PdN2-HQs29F6Mx
zr|NOL=2(wG9;VR+o<gz&pfliGk&;o^Xv2L;JH1v2-4o(4O#o<}gi3V-P93ih5up7S
z%-G|O;CA@X4nXIdpeaHF@R)kkDkvhY0cc|pfn$3BwQ&lPfUi>s8ZZGMmTSG&ST&e<
zR0v`C5Bv5`dCXj_)}(RWy}HxwwBF;vIgdHd{Q#%O&1SQE*oN<9KW**YT>M<&F`i{!
zZPr+|-S4*d5BuZc<L`g?ba(sdhmRj`Ki%KnJ?yrd)%yDS`u+R2H=E7t*ROAG^tX3w
zJyd+XTwNV@F&)clqc=J~9?<Vgh9a<9Z?H}0)!pv(ySG35{?qO4?SK5A|HuE%zy9z1
z@aYz@Klxj~`Fnrw?`<POz1?mVI9{!H$HT+z9lbalj)%j3v!UqWdVRf(Kl_7^LOUG!
z{iD7Gq^@F`hgY1I@c>1iK7HaeyFK`=#V3$42lM>(l3|0x^D0%3e6m%I22)jG3X|3V
zw4Fd!C}JGyqx{5a9_&McE%1GMWmC1Jx4xBjJu94@N)6LorV+gz!a?m(T?N52Yr?2B
z&TQ1HSL?WdAoLMn*w{1~I2v&+Qh54jT9485+1{v56;k@kpvR)ZG<HN!7p(U$O})MW
z_LZ4vZ1m$of$7M%A`o9GWp<GIJaEzwNa7^|(5Ac6lcZC(I7ZdrT1HIi2Ah+msTSXv
z1GHwGgC%M!9X(;tc~I%3VG1YvC!)^@BrTkT<vUt1o!83%mh0pvZ5x@5Je*Uizn|&o
zkTtDuLe6%Xb<~8LPMLcBR)TT#4h4rQh8C<CROmrE)&Nx3S5}A_UgaRn48apot5;0%
zzcpk4`t|E;_L55i&~Q`~K!YSYZ;WA?F{b!WsG5r~uvwT{Pm-^PH9w87>B}YhzXf>x
ztUXO{J9{B4f4QEq{L?KC<RO~;vj(7no5+U#7=Sh?C9MKUyQm6~I{V{80cbvGz8aJS
z$1)a2X!c7zEuwo04KO!ENByAp)x-Vn-Me>O75l?hk9TNWqOLbB>Y)VQX|K{Pj2<gK
z|MxY(d|E*anv{0$?(U>3ikzPC7*Ey|&>YpXJHV=<i(-;JKFR=Ae^SgQbwvwU5;6MD
z^^OyeR5!SRkrUK0N<*rdL=kP0l1*3)0=}EL9CPLWx&jwBYCdXR4OIZz!{jW8@*%#a
z-5(QE_Wz9FF5qzcJg?R${8oTHnk%FE6NP6m*ZxUW&$nTx!PWkGcE&rP8~udM1%9P~
zF_w>~Xxq>O=&AE6H%JyBwVtqE0WElHr=MDO%x@I~&=M*hNT#7I7INF^XPFgZ<&Hbj
z;j_<9n|96M4xy=;O-%^5NH(WBBO-3Rjn@vaOhPh2<e!RLbLvmPsYNIz^{6>eYufs&
zWTrI>=yq7u_^KFnBP8lqShVR>!?lQ|27jEgpCf9T%1Lc`mKx%B?Sfvv#BQ|vZaVt{
zmij~3265>{tJf}*+`(x@n|^HN91P3{v<NsDK+}o=?KI|RgKaaan9=Cyj3)*VGb+KM
zQHP=3B4yCJckK{0m}4i;_gd5=_l%{!n7215hek7y!hoC;FWdk~P^7vMgY#A3`LK^i
z6L64(yHf6)6;yWXdQFB7ehLw<7W>_fmeg{bDtGaRWml^uE5QD7zd{b7c=H4Fk}4e1
zG*a<A>f!LP+a0)5-|v6-JH5)|<HwJ;x3>^+Hru>@ee>@1TN--v<_*Wuo12>$ApOJ>
z-Fet;-@bkOmw)+}6s=a9AAb1Z_Wu4q{HOonzx$8>U9|3xhd=$(KmE;beq#@CbkxPj
z^&N<g=)>bqAF)?KoL7hCt0ijy(t1@&oB;Pbojj>wJ+2zHeO8pVUidhmw}~WT*!dJc
z%Jml%u|BvQ?7QHmiaRC1p;*sAOJ>j$WN2G-7vce2$5Gngia<^vTkHYQ^$BQOnAs#e
zL!7nYRsvKSMQ}_57g=WC9{7-C1~;KCZ<-I&K>Sx4vg#t31~fAZg4D!*-~Ljk)6i<g
z6a7uU^0DUgNwMY<`M9lsgPIVF7<7D{gQTqTwHbc_ql>c-Mok9U|1pBfyjmWw7HF|;
zC?ti3@D~Q2Iea(;t-&q}9GaK1E_DF@Kmot0M;~>`F*=1ONyD@?WHtq`3OcjEk~zmR
zO$}#JHP~{a@=p{PwP@f$(q64XgA_I~C{5t^7~~;5oob7n9u0tLQWMD;<B^Hv6?_^!
z+sc<5hUreG*Bq(2jAj_dSToI7V{JbF#3^a}i?lJO>{qS05WW)FPZKh@gR|ODqH9iJ
zICXZ6DZVRyJ*M<eAx*v1{)2{KyS;z+?hVU2<DzwrTJhk>;%ddldKJGL@#&L(LE-&}
zUq-!4G1q=T>o(ZPY%A_#icghB^)V$s7ik!DUYh{g1OkS$QRxg2XjC6lRi@;h3sdd7
zk4BYwX?v!Sj)gFs%~BH}nP+j@)L#g39eqQXxp-DjR#b<do&N*=(|RDBS}d7gkEwQn
z%o^Ew^^0Hp-84c{on;(2NPqkQG;ni>L6ANffaZp<@ohge&Dlt2fmI=38M4n3fF_GF
zw*vjg0Q5@$Z#QZ_zNYTa-Tyxq`_s-Gte=<Xr{>t)UQEhA$LaqWu_$*_m-JEM-I<`u
zn|A1Mgx)G@cu5~j64KQoPU{LZMabYP-o+eY;tZK(D!wZAT1~5x04F+bIM1NFQLGR<
zl+%(+NewI~D=SJD0PIsXo=er9bnXCQr{D)_xU{C;XvT;qp)?BUw6|?r%EPY&+SGi|
zjT7aMhtn434+o&rKa^U(#jL;4d~|hdzs!6(b-ztluXd#(YS66$R`R=7RfyBmW1|Do
z0>W4NERJOdM-bXNE23)C=D@D`0D3$ssn!CP1X0+YfF_#`^aW>m2cVUw$Z2LfEMo>j
zm~W^cdb;R>V`40Zt_x;-*V1{(Okf&#`Y{h-9^-;a(17PJ0)RZ-;SdEBB;>lpL-BWY
z5xG<ITt{3oT&s)K5_$Nl6*T3tAyUp(huvOLRE2%RNCguQdQql+0sDCOQO`0fxO{u-
zS3F-|UvD;>o14wsw{O4y{`+75`q%&K|Ly<g-}^`Z-i`y`Zs(vg);iLM28@!OF+fae
z67{wlFH-!cq7E=+!<E{CM#EvR6Cg!!AY3aT0X|4;P#CCU*N{+tYLBjx4g%278TR#u
z(ttJRbjAi81<^`dKvUV$;zFaO(i2>u>Ok)!ZS&tu2cRv6g^4_JyOsq&_aojCwa#D*
zrX}Bjtj4#fbr%4mV<JVB$jwbZ@T@RwcA~4qbTuIkbt4lR9GLTSh@Ak<@8gBw%s{fp
zM-vi^XW@0^r!DO)$j7z0-#!E_nI2-B0%38q5&93z?Fc{vN^H4h5Uw-FX=}@Lpp$GI
zG??~$P_{1*$ZDPFXcLL#m~g6Yj)Y<6e9rW&<XPBqqsrHsc6Zg^Bs~lrvbtMORJCWo
znIZP^F&KqL1v<5-O%M#)Is<>ft`Yb=Y-+B$17J@G^sXSypVJo=EJRvQ!)M&Ru1t^8
z^O)$%^F*HkW@i)G1vq|Uv3AO0pZD#{py%ETpe{rer)m78o}(`C-R|M-+t(~8F(M(^
z4?t7>_Vy0WyZ66P>BX39f0|t@KBM#J+A|mEPiwQSpO^iOnnvx;OWQMrr~O>5dfNFq
z*1RbGng*c%x}yCEA=F@2IUNU}IT|6!_V#$>ob>A9K>=tu`@P=ZN2#6%iQA0W@B}eq
zJCBNj7TM`(>gHU9)}IVOvv}*+C!)JTXwIi$a{#JH$(l(P8Sb*yYuU-I2c<58Z^B{#
z9peBrGEoE}Bdwg%sM|GC12h%g#O0VP|JN1v_Lt$Jx)Te;v-$rgS`a7gf2ITFBxd&4
zYekOK7rT9`;@8Zdi!isp6Xs0X->sq-Vy^q<ddD|}iO-E!bB=pmg)6;?ke{e&XO0^(
zXTS9md3cG92@V=W$GZzzb#+S?K`|^4f7M>Q)KZjqiLOg`Y3nfp?q{rWtZF=()XnN9
z+|a7q0h4cd{*#AkKe)7p|1zAR@LTr;6RHen*<wtXbK*z0=s#&2g-G3N;N}wW%~9G#
ze}EObuEU@%lXac^X&gIyob{Z^qA>wX*K|x&pI~P;(R(g9Ow5YFl>3zylA5SD{K+Im
zx^+1?rcvStrd=n*8-gJ~XBb*(HxN|@*#D{-Fs*{6{E1aY@{<EHn2uHBA15^7NqZG9
z2FW7&zl`7@zyL+o)J>h}nn1w5axeUa6IoJ#<S`yf_7j~hGISYB>q-|Qy}oK8`+#On
zOydP}m}?D40qraPcUWS~YK8Vamm$VbBL>n9K<lAh&UN%jFFlh6kA4U$45^U`%K@d^
z0Q`rChd=wXKl|Z_A28`}{Effy_y7LiM}Uq~^uwo5>-9BCkmrmCfsC~|4rxyE^$|!u
zQk-`k5tcpi7Yz24SU`cHQ^**g2O43eg_!|j(XlG44#N}yVgRS|UDKrXgW$Dw20Z{e
zx*~|~)_Z43k6~dVi!|^-SV<I0C%#f?;Ijc}(H*mW*ik`-fr5j8DvAjNK{m|>s@owO
zZG4S?QB_bmc6i{xTr}S)8Pfavd&zao6PRGJM9b{*IzcG{9<+u2te#Iw-8*0ou))Zx
zPG=P`p9@K@(;rlH0q84DP6-3c1Vjm^Yu^Nb*7rM|<t`$v161Wf?2N*I?-|?ZP7kS-
z4}?MMMUlJ&O@6|>s)gYtt@@pEsV8l8{Km<mDl<l`|82-Ba-SW5Ve%<upmwU29Fz+&
z@N*JPPdsZMj0V53MW_1s(mhji&ZHBVw3AxTgkfKTGZ?SA?)p4t+COmb=P~Wl^XLN5
z@7}#RYR#m&mLmt^89P>kMZEI#_VyP3ySLxF-i2V88+93&6Sd2-<Vg?Ay&rMEW?<%c
zF<sK&-n^QaNHa%Qx*BmAX6v88U{D&>=f4Cd{T47i_H!12DGf%I{3FJAY5y=fZo;Vt
zE15q&mTz8vmqrXyz&glsY5TPG%52;1Cu#H$%4V}cfV%@7AXUVo;6<b<p-L)*2;tLd
zX$*?83Moec9npf$v;fA5@3b@Wth_iO@VL}3_Cih?6MfhH40meCfpCJ*H6$Ww1hU9T
z`M<8HovpAdz8!R9B&$57o#nU>J;q%7snVzc;s*ZPL3eGw7-set|Kn<4w*#1So&O`C
z8rGXXBF{i|&SA1(0xU3%`Z{<a8rx6DR6G;4gHLoex~mo~F(t{A!IFS-s-k0PFOA!(
zplkYgwO*~;J7*PE0*$7vh+HXkBTl0&-QGu5FdelbB-g=u*aJhG7{SvU0%GF`&9Mpc
ze`h(&)=j4-0F|SIy?G8i6meB@>j)FuFzJA1rP6#rh3+i4xfYi@o`Y^DUmcg!T0A=4
zEZ2+G)rxj%sxOaUVLtyc{#<LBqRl!7sk;nKyX@yjJsc@}=&U)CL5HG^=4+`0>P)1j
zql+j!!D41+(G+o>--VA`wga=FQO%#HEO5q5OG=`XLA-KmnjIlcxVNw>-;$tJuccj)
zk^Ck(&c<x*DxUx+?V%T0k$Gt%IVL>GYkvc;f_*yhc(&zvEMyvJjDO`j2m#4s)Oe);
zb<aQUC^L-)01VrCMU%$}EUId=Oll-TE<Vts+D!|C;(n>r!fIG&OjT<gj9PJ+-0Oh`
z?&^1rJ4g2F=H|w4<oMG+{nNks>p%JX|FggU%U}MIOZU(I?9bNgHTpmP@B`L<y1jjM
zIO<yAG`ri$W6>hY4RuE6gfh=Tm*sehQ4TL6s*<h>w8dS=oF389AuR&4NgYIJVv*<*
zbb;LgV3|)EOH)rQ9H(PE%xncHD^7E~n@%Ei8cnu<tfo>M%2s5;t(cCcn&yO=hO%kH
zD@Fbxq}S;5FmMRdi{;f~r4>zo83}Jq%1WnY8MRtPQKOYgqoLGu+<a2at7r|ij2hT+
z52MFxm=apy5vcG)K$vcZ;VtVlK53u{kT!`<G(*5lIjlF+!nDdnW&eWdqOQ6K*TU2j
z9iS?S`%?Rbidd87LKcyT>uI6rRW6_|np3%H5ZW52rZz81dYBvV>M3bWJq6^miX7FU
z>Zvrj_R+VtRU6`QH5~AURz85d+Ebfo0wc8Ii=p05b&UnJL+JLgWE~qi7Pm7`81Fc>
zTkofnGhzbFsOJEdkz!RCDRg{)HV3xMpyL;y)~%SSW<KWolL3k!67a7(21_6G7(zpg
zgw}`s9?A7eUy;thc{fZ#e_zxgM&L8`XZv%me<nI$!#pcuhPP}b46;w)d8~OpG^0mw
zPYtq-`l&JYa}o)2s{KDld~5bsuh#hweU?8S7h}M8c1rjek%p1>?EK~T^IpM$7>lF6
zKY!#-<Ld72;r;vfNahpJ?0tS@03DIGC^iIjApmRZ6Mc4bh#^nw9NqkQf~yQF?hn17
zFrYcAn*+=QEgu|YIH>7YVq~2bdfGA&fCYgVe0qu#Rx51@04I>TD8!{1K<SyDu3{94
zz<v}$N6UZ2kBaK{9296z7-ze=`n5oRqXwA!4f#w=wd<aa@m&3##LWI;PaB91(7wc)
z#ATQ(KNmI(K-c**)!!+5Ui$n$r9YQA)1)msh%kK)slRscLg%+z|3IzMJp?0kd@RJV
zr&L#}ZnGU8J@NAiP<JgcWm5jVOBJB*U`y)g<68PPIg{yLxH&k9CZMQs<2O#A``hl5
z|H0#{LugZ9m|x3yc1a;+1(+%6o@P?8uhDv<Ib<FeA-R0id%2fTD>%@{tAome#%G-Y
z@|E6*>lAGYjr2TuRL_p_z=}8rJ#fj$C{>GBD`;wAC+)@6pnq(L*+=Xn9d^8<{Amwl
zHi`6!vx8C-%)QJ4aa=c4IxC?*T*3O0w2=6&+s#R54QTG^y$TsN8=}4QE5Mjp9#s3?
zinD{slYEHeB%w53e<6vmEsJcY2!$MUBqNJe*>1v>lPwhiMn`dp1BWrqHc-dHU@TE+
z+C|H_LCuh81M_yJv(tEW@&QRPIX(5?+(M1U5Bl(^10K^F6BsV(D-Hw{kTu^~QnKLo
z{$aDe=2(R`gDZFIU;L92egA}*iy+WSTW{aI`4kV7QF?v-n)9TOh@4%2`1FxJ?hgCI
zZclB7*A;=<4ul@rLy<YUdJbHRoKRQ$<Kej16WN~szAh{#E%Z0Mhf<~S>JkfdOM<|J
zQ-y%kX5U+bVp)%i_$Q%2%9C<lPW#=EGq&H~Af-Q%^b^p|CPB&+F~`F0cv|kXwwpRh
zYXBX;kR}k5TtEWx%>sml<Fl=w3XODA5kw6kryNXFAC5cvL5>oqx>h<Gt>FN~#nC6`
zbsF5L;ZY+W_O!kSzsX=2_Ar06Qj>|h40rDFN^1qTMwsMLbmTkh;t)?uK<n;~Xl^Lt
z0T(pGiT6<JLV(k{Y)iT@v{OE_cS*+u-{V+z-}ir~0V4DlPJm@bc0$z@)FDVvn$84$
zRp(J<>gv(sx6eS~R~rWN>Qr5m;>_t0|2L`+&569m3eNTyL__CIItR)bywjzf@C7wS
z^$AG*K{P#P`XoQrV^>V|_xO1F5z!wL*o<KS!f>_~e>G6ps6KiV^d)d^@;rs3_Mo%x
zfCikhNcE-W;c$0%$EJC6{jOEK41@XeS$O{iF(#_)tXHHl&TRQlW3GSBT`U0GY#6j{
zbJnXdu>HW<sB{K%C*0iGGgtqVsdS`K(=tCY!msE3Ox6TQ=Fb}6S}&@@d-H$dzP^q~
zMHV?FTbW-ED;#6e&R>52cb$<`2duF{;{Y_wy}p`TUA<zheB}T%0uDgy<n+}6Xasx$
zvplyJ4-XHrwKy)}`<P@xAW3!i$hA-sA}X?sw(YB<o=Ui47x;Vt+OOb1t<RAz3UR3g
zP!2%Lh;(k;@HlJ!<)Ch(zHLl(?YZp#0@o!jsoTxf7sK2QcqV51d18ZqHq7iV{`W9t
zM+Vso@zV2f5_9`IF(s$${DK4JEPS#4fx(yfIfH!_RLp=KDXXUW1EheniDUPpSOeq@
z7*%Rr2cV58Z!?GW+*y!CVE?ey5JwQ!sl&K_#YgOM+&|D(m+A;Any#2*nbnndPtl~5
znqFLKOEt&?dpIp5#U-Xe1|pqJBIkc{fa*4_qMPQ(=4%{)tN2dMZ>>ZdaKOv3eusK(
zL*wXOlMNXNCUvPAWqc#eB4dh^#2^c5-_h@FU7WDlSr4OIH(c403c|Wdmk#`ySjPSi
z;fVpQnwqP+T@(@RxhTa92O<Gtly}5asUbR!6^$<8atDH;X~+R+^PMK4x{)pBG$kJK
zE2b`e?u6ZzjfY^qMz@+yu+kIpnzGy{BjS|Ym40-Q483bJJW^eEoPuJe>C~qm7L0~`
zaDqNO>h$GzKnv2@PHVN@ln2SjSk7Shi2S}g<GB=m9NWkVa6<dS>jNAg-lA6A>&LeX
zaNu8GUvt9TZntmVym{E}Q5)wt{WIW51J{3iA!CljWYN+AXtJLFuq>bqhBaB`m4qr6
z>6EFq^vRL{M?_a8M6~Ky9!~OQjB9m#6Op!4?uirf&_a2l)`Z?Df2w=J)lxxK$puWy
zpOxAAA+%mtNofUcV+NpI$yw%!(hgCgap6OG1$za{XDYV`AP?ciEV8g`g@~9Zu-fh!
zc#$F5rac3DdwUDrz0e>ez?HvXlO9bx3Ad1k1JLTKY}8!!jfj7QkOES-9@j{FMF~wK
zgB#VT5$}>VXLr<HkDctgSQ46BFQBtt6X=j85BU378^KV%t1#s23yD)vmYxjm;G#MQ
z%yBxFH&P*RJC$S9eAUvc+dc<OJlSX)kY-HSqp8%$KBoGcEe|x0dtp2tJA<ZC+sbhq
z=#RCzwemzzwF$&}Yt8^#z|NuC@IpuzWn0y0W{zdP7Bla6s!11N=J}rsh6{ZB3J&xD
zea(*n5h1z1zhAG{a|6)1R$K_532C%Ce2}fk^W=q?ns1YsIbK*fo-<F{KNB<O!)*N*
zAUpUYV5%+rdDhP+s<+LY^#708m!BhE+CS*`&^UE-$^3du**~RU?||lGP%Wj$0cdEL
z4nSk}?d|>h_wT)={!{^IWK2U)s)am271uH!AY+d0oC-jbQr!ya={NxGq9B@P=s^G)
z8X2DhTxAx}*{E+DQ(b#5`@g_-iA(DKF#!F{nA_j5Cwq}Y_H&v4ik_as<aIGIC8zqE
zHzXHgO8-ls+I-1)StgIXCr+fDBhSxI<g2hbr0h<fa>+NrT3xf5MgXBFX-rML2-~55
zm|_ko+9D*?QY^t7^$=r`LPip>xFJ-)jxsmZnG*r%?wzD)Q8y#4H;^usGB7bA#y6a<
z)t-5DC^Nd~@aVGJG&^>aUtTGo?AsU_6HIX;U>Bjwb`qsN^!@hqL{+^M*!xVVLPwBR
z{(u0cYigJt1dCJ5?KXb6AuUlCf^fU;JCaRU{cZChIqn@<h_<^2ZNdR)3p8|fof^=c
z4NY67MvfOu!!%RK2Aqn@*E3jaKsPF6EdX4Xv>V@cX&7{W?Z3|NB!TlypnX|jZHVX<
z6Z%j{xy^7`RAJvFjhfIAMh@Qw<a6uMOJlNYfur8rrk5U2Yq3&KPL>4JTs$!iCyO9-
zxH`5tpuR|0;Xoba0Hv--5iY?_pTuCkx!L^ox4(V+_U&T5+HSYEx3?cYeDD*~nDOb;
zCkU#bL{+Yq$49->*?(uChC4_(>aZWG!|_Vjmxx1LAR(4>4;+G)fRZpT+&~@k4RJaF
z(i%{X)q@VHckUFx5IiV;$XMQ4oIxqDJSh`}tm}rdXeo>r-37DE1hxd9wCdf6AY<C{
zplJwB+9uHwfToT(oiTv2V5_p%6HVjO5&f7k3ki3r0Tns~vNBcEyfhtv4plv<Am$?r
zF2(@=Xk_$PFKj_ZGg)=pUl@=+F5+S2qkiOuNg_o7PZ$TCsbyC{ir3kkV+z`JqyakU
z8;bybx>;`yhq#~eT?xuc=sy<klQw0#u?FT>)D{8S=%VQp-;*FP(10Hzz$7QQC<P#7
zTY-x__gqw~41^P@5Oh5nqQ~vzhYCxJ31&_#d#%ftfN3{q@GP>SOZwHr<8WU#s-8-F
za2#&#fpsOCh&1J6P~z{B8lwr!##Fza3s{v+q=m`(diy6a^L}S;>r6Qt@6^?6XNQ>h
z5kfXouKGa$n!V|I^Van)#MCu4g*;stY59~NzO?`}hNk^#^Q7}-&rHmo5A!f(YW4rr
zSp1mCiDB9V9MiQIV@}1l(3fu+KX?C3**`TOmalI<@If`hTnJatnixkzI1tvOlav4a
z^pTZxe|>!&0y<Q4sPiKMp@vTpsjac%l$M+^C~_4y%B`ADey%d8$g#Fj9jFCbrfbni
z4g%O2e@=%y9G9GwTLW3zr*$MltDPWpl6(q5M<p$wWF-vW@}0m8d_k3`pj$_d{uiXr
zglD$@tKs1=Vw~E@b+<)BP~?hVi|2FcEKJ+~!s9Ztzj5{HGN}eXoAaL!o)QK$oJP;N
z+X0iKGS%goo|qD!vfrg&hFbj+RhF?FtNL(l469gg;hcphiPHqP^ZG;X4xvUEh(!Yd
zKT{T$z0=0-eBvx<GzBb;Dpi*DYr42vEEPpttd?tfw2Bvc(r~nH16p|Ru-8M9DB9Dg
zo&Z&>fRg=T_o&}4lMr_ydaWrgSgoS@P#{PZIb^a|*+B?E{j-qbcAMS4EOn}GMXOE|
zU8t;;0)$P_%2Kajebh@Qm#>z3esp=gS?B-j^=iFYZPxmqt(AYIi!faOqwwnSxYu~;
zzsG%~2R;A#>VP(Gq!$WF)zmFF8_<!oyKE!nvM#Ikf>LS(Z2>M<b>7+{RZq)9f}Rqf
z$#*!>;Ze)*5se8d=~9N=4N3h3q^hdz=v+^vKj2=Ir8M8z7&X*wEViT!3b+d%@qq!b
z7!i$dygq`g<P?%SE?=#vp}>b)Sn8UJ%E$fVLE+-VZl`B8HEq>^Lcnw}?w{R~Qj{UA
zYQYk)ve>}z*h0nHUTGTbcH6MJw>lvp;SR1VJU((yPN^)3W-RGiMN-Yf#6Ncrch|3P
z(D>=@mgySL99(U;TW;^kB6f3g^YHKhtp^?Si>3?zm9d>_%}~BX-B&oWLGHT3DW{f$
zg5-bAU}SwEr8fjIS^%<}Y#=oYHGmrvsj4R%?Vk3XPBbJRIkEGJFzS(#pDA!fjW%-X
zj81zDSS(9D*d|S_v?1b*@zq_+0yrSM(6|`W>nsDcM=Ijn=w!)Q=+({3#r1m4Dgn)+
z;d6NOgVuYm2uRI?hU9|i&u+g99`#TE!(pxBpF+bj;&F!^yTf+7-!fpVKse)--XhJQ
zZ?12+g^5?_hU2(=qhCPtUbh}{3OV=)utH;S^h?7_E&io>2#{isQj~RF(2NZttY(E@
zUa!^mo~=MeUmeipHuNnEgQ)LU!X7@L(T0Um2&~iS(J>dyab1`7<(0a$B4olk%@;8;
z<$n!g$I1U;QpkvRb`EuZ25PX81=7jYqcZ#&{`dd3g#Q^>jV&!RiQ|9KDgwh>%j%5@
z*p6Nr=Maiq%eDEZCB+>6w<pnGygP(`jbRR=52ru=0HNPj2_YpjoHFsk=3xgz>I_=(
z2u~C}7pejD$l0*JjZqRVHD`d79AHYGlJ@yhXr>Mfn6zIH%<1bZy#rc*5|^$p5wk1Y
zvfuAl%Z=aZe>u*3=Lv*AX`a>%v%{n_7=>FJC~DLYb1j<iTQ^~VjWkU`Bl=>_j*%T4
z;E5`Kgi#$k@N*K0G3Sr?8cfaqDSlKsgDgtnOrHg6`y8h1)GIhhVR<Jo(-NE$VX{_w
zx3h}J_Jq!Yvr;@AtY6aj{`>Fm@3#9xJOLe$Eu18fkAtc;P^z<MJa1xcA=U#6FXu7@
zplvf*%-|+LndUE<X90gBXMO_ZZUWl1Xw*e<uzR)N@6^h1cYVFa{-{nP?pjb0c?T46
zyTW~oO~U@&PIVE8S`E-}=soBEP{Kd?jb<s5oiI4_C%Wfrq@?mYpsi7TU_hh#u;pXe
z#5fBha7yVbEyqp1&X(M8DyL&y8+`zsS=&Q4N(9qBRnI_oKy+&5q*Zf8KB03FLOFvE
zIdDkuTU*XXx;*RrpA!AYIYAnH&i?b0=Lt9<Hip%n!Cd_l<7oS9D{#zg`O83+M)fhJ
z=e+bZ(BmeYS}iG8a?)8U`}yeLB4f(Vsqvk}-1*rpEEj@n-b9*FJ2-|`w2(;w6H|S!
z+R|Att;eWS@)$>O%bQ=dHI!5E)O>C&mbzn3#kfZ%>WRD7HC-j$(?u+y<~VJHB8v*^
zk;)GWB~qej13jRwp{~UaOPL<?jGfC+MhLNPAaYp-5Mvx4<CP;3#&T+hQQdl+!tYWy
zbn*rgB&V$IxRB9K%2wnjZLP$FN7+xXR?seM`SR6b&mI~7z1qLpJ?=>TM(ghV)%vf!
z<67Q4*_I%?^sQPTTL<jajq2e3S|*(caIXr2$A?o9F&uWUJ=XXTSI4!w-kf6%rmf%f
z>6(g9y>Gh!y-LgcC!56MLBcuQ<^#V9!>9slJ#yce0D>t2>>o1|no+Kfg($$}g`V!@
zP^TyL9}jE2Uis?&e*5Ol4ac7E-o58cvsvmP0DbL%KjKkb4t;3&{l_0L<M!cxvs^9K
zdU@r|&CTuYC+ROBEBnGlfO8a*WW|qf3t(Etsm1E}R^VppyB7dSYjetJ0S<&qfdt};
z)72NsNiC4sWP*onXb+sY0h(y?VYWMh+C)ex4|^HUvKi*Py4y8;cCw8BQo%G(X$ZQu
zYpH%ftbnsfnh;A5Z=WEgF&kxRKyxx)k)jF=zT>Tt)3wr}Yh5~(M@x9I+AoW`%ac=a
zNOipkDV>J3P_(Zbk)#AeForoJi7?ENJObU6P?1L<4$oANx`G?^Q^Wc`FS?(#jQjih
zoUyu2^_3a3T$H=n<hoYi0MXH$i)^rFqJBm5)!p6QdMz~}`*_%E)O1y$kecz;X?DaK
zENOK~l46OLeZOcMt73lUECuRjC#+emfIrvVQGf9hOr_C?X~VQfy2*@6jY_Ar0Bf?S
z%2b>Lm_KE@P09Dsu4_+Pll(KSRO_|YCLF6YB+|m3skN5VcKA^iRAEqsT@(wUh?uX`
zjgc<&C>5%Pq?w;88zH908MxvYQagR*tF@{DW4QDTy7Qq8_H=y$alM?uRJ$*Yx%V$#
z$f`G<_FMYrEH3x|B#!#yHulzd1&3cBCk^zAvB29XT&z|P4-a?u5AWW*Tdp@bAI7bp
z!L<FZ?$p(lPDPZb5bN_8bNw(WADykeOM}nbAE?@@z}JIOscoeVllmw4)xwv+OY6S`
z)rPtLpKCw*UBzjRQOz22H9w81eoeJ9#h=nM1$Qk^1!R4o`s@Nez+C(10zGcRsnsSk
zTOn)C>;Uvp?>D1VU%f7_6usT;4&Q(O{lonZ`f%KZ0(VlEZU&&0=Uo1|0QBLo%V@8+
z{Ojv$DzapU;xJn0X8|Rw=gCjNcN5SqwE>a!K~|w~NK#~je;Qo~KrKoEXKQY!t&l9;
zw1o(SN&%WG5;^M4B+|*vG^gKFyN-2IC5+cT;i;p)7!Beg&`P8Fu;phEe2!+(?l4`j
zpTy0m4(jsuW4xSEkk?8F-I3Z#qdS>N1Nz`3ZM9Bai!>cIK)VyV7%{x+!oVJy%eI`2
zbTR-vsGg`kc?sxFBT)SV@XtB>pE|9c$CC%FGnlLYNmTFEj=UV^YR9URZ#yGNr~J>7
z0byLy7msh1tP01NeFHFeeB%IGTQ@zazaVQ3jIUYrI7{kfd)(i8Pr<rr0)fi!tq(s%
z0J>H@E7|%LtGfB5CX!RVYL4TF{cB7z+MJkm&PT0CwL`JKh2o|VK(kAR>=0gWb)TJS
z1XW$J2^CYj?WKJ*ZX5>Uv$tzYm7`f*cd~R9<E83_PpV*wt|pEF<me*}sW7{!Ej?2B
zu=Zr3^db{#wv<V(>*DITd|VzEO8p;PHv}L|EBs`R(@ww>XSLeUQu<jI#E84U_E=(}
z?RW26Fl8fzWPkPo?%mf6kMa(sI4y!HkuJji#nnoes_S>DIAy*i$T|RR+Dst6o~P8H
zB;1R^pcuF!Y**CG_QXKbdvQ1rae(0f_V(?2O8>^+_><#)cg;XOzS_o9&}iV~1Fn{f
z``f!W@7{j;^yz-L-9K#q#c%)e7azX+;r3GuYYRY&3Zx}!J0L#?v%MlFkk@$HKL+k`
zb;);~g>S;Mi>ws_>$gCrfTGN1%6RRz?Zlz1J{yo1CwLaXA?is8nh#n=n&L6Wpk0)`
zHlU(V9Hov$X0~euGMW15aANAXbE<WScM#)8j-pPnT^xq73v{Ad*BDJeFZ9iUdl5=x
zhD;56;7BZ#2)ZA~pQ?{}suMHTn!B^4hQ>7i^v;X!fp1h%<iPR6!-Hptn*h#!y3>Ou
zWR=DYiX}&{ZP7;nYs2~ag*~*{_%<A!lV86*^QY^Q!`6bzfRsZzPXgM4MK9<hbMx-*
z(|V)J&}$Se#xKyoIR&8MxvpVVY9!7NnT<kS_grzPa5kZKi?9jP++oFlL{Zc;o!1VC
zL2syaO&BymIxc;JI13!0g{v?2M3t^c*RE%{EQytnG)lR|PphJ4)H!3C{V@qebbQG6
z*<-f#ymCUr6(g9arBl#;5i{8iPx_L&7a^QE#$ddFIkVB6+_V2FRTK97WMHbyfhSq*
z;MkKDdH*%Ql>cXsyH*mv1NvPJKzm#=0DTW0w(sA*U#|3OpfSF{ephj7<CS*jjSJCV
zKEE83_Iptnxi>Gdq5XlXtqP1$B`YT7X9l3PF`UDc{9H`g|5Ksb^EG{(+b`P6v2fO@
z7qsN0+OM(gYcSQXx%SNU&rb#H%&~B`GLw@sUlo8}E;hT}ZofZ%_uY5fhrMucn7BC$
zio>cal2w%po`BBqE+TL?@%!d1$Z%XG^`qnq0??R&IHjB>NhyKjROfSSP}SxEKp#m}
zY7ZQb+--)EQ={fP0F5JcQxE~@&Qw|t19CgpKB~6d$1$q%3R-DYA2#?5VuR6h;@u&y
zrrZwGaSm0ax;4ga>;M7PDmrrmFiy12-#xf!%KoP}_%U)rx)7XMZ9uj53Cs=fP1*Tu
z(8P$((GZ-)l>Jkf>;Jh2&?!B>UJSAtq(EMn15nhcK3x5B%#)svYUL%i+5c72J)NvO
z)BibtE=8;lwRO`|>&(E;%#Jk-0JB@R)#WO~&1S++Km!CSzsjc`VWPj5@6|eIRYeL^
zg8PEX0cU9lkK-bYGry)e|Dg@buev8nD5@hppu5XK8>lvySdf+PcI`pnBjFZV-Ic0+
zMIn<vNKLpcr)CPVTe(qklmgaT{i0n&U?ozNcn3$?*-SB*imY0CB2lk;(35?P^m4I2
z?Me|`_R2<!P?WG&IbA45c8pgCh?oB<oQ9QUUpC>sbEr`GwS)LEAHDxJZghk!U@uRa
zd6=}+q`av}=v0&oww_wu-o<REHN=!UKo`ED%1H}-kYv2<%hj+P-~kH(<+}>OI{lrN
zK29byq%bK$3q6r4C*fN%_OpGCFJHg8hTiV(-@p6r|NZ~@fBmcf%D;C1aH}8TjL87d
z69*y%`givazxtD3fBg9I{f7?^_xJzL|K`8>NB{62;{1mPozv1J84<7z06m@qK-oBn
zQCj828TF;fV{3O3Ys{cE7Xl$Ggvv_;&?fN3@u2zE`1}iyMV^$V$yxwfXth(e)254~
z$tTk=$DleXOxqJrYxD(L5L;-hFy0(nVz>xG*Fg(3i}nc$-zJ}HNTs$a&PyO_!%|Ul
zY)_yK-<2OR5hdvBpP20{&ebvJy<Z_7Bgm*|U2=7_Wa_cTHhU3}1y`$;O{v0>hCdY$
z(CCK<ec^hKwmkm>VOKmE-PJWr>#7QvBck<8oOFvh=z-+`^m2K1d;9UT0qE?Ak*ZXo
z%bu88uhfjQiPSTY2N8g7fLn_UI5FUj9uUAZj!L=`Vd;=rN{3JYx}Zu<)uMNrC9FB8
zrzu&qaig2o#XyQ61zx?+SW=#puf%k}&cpB9NyxT7F@V1Ch@o*qNq@GX3*lXF3bmCf
z3qONDumJRI`=8W5_W$g0zaRk3F8jbf8Ug6V^2~z;l9?K^3Hzt)9PhJFqkp-49<%+^
zjn{?l9gCTs^3S9nru;e6{&~{#G25RnjB3xM4==#8_v^y>^U|0--zLC9?JBijq+jFn
z9~0Pl))mXwH{aDRK|2e)t%79gqa7NQvKdp#NiQB!wyc-G<`<>0VtKct7y>-G?MVhn
zwH3GIEBy}j=?MrpwVu8$@AwsHFyT_*tZtta2bT@&jqHaGVaq#h&T>U)L&cq1kUBvp
zrX#gna@0>t#W~e}fdk~L<KzCQM?yFu8?Ed@&{inC6ii*!h}5)G9j$e5aG(!*7F=GG
zSUj7ijQf>n>N+$o9cPHNiE$HvS}1e|&A6XS(R>zFXCFgLp2o=V&jG9E08<<FGQgj9
zNXvF`_6+9Q-{~Kq6`#RO{ZIO5P#P_tmv_+^t@vWht}qkLtibdfK4I*CF{k@ArE;>$
z%oF88L9w2yxW3z(KLy0bL}HLVp#<`(Oi#LtAVBiZG;pEO&z$eCtJI1EC1a#OB~tyM
zy0cZ%gw3xU6Lx84O$cqrkpTZ#;lur+8&hMH5k2ls;qX6Ml|Xar4$WSS$T+oz)<|gf
zeuKhfm~bkKx~yrZ2X?Ip5EyV&#B|nypr^rLpQU2!Y6tl2=Cn-f(LPXw&8Y+H+MdvR
z6*F)F_ZVjgvX4u3Q;`Syb#t@Pi>KGC)q1sAE%i=Sy<2v*(Tk{Q1T5Ffc;77P;_9$F
zL_iKJ<0)f%TAolK8?IVcfUc$SPFRj2N|%ww&L}G}v8E;xWZCM(J@sB)IiYiD2hr3s
zD=x=|LN<Bp&xS~F1!&%kvxErELlu|?rnOh&JxIG(es1Y%tuNa5`<*mgJ^uIq{eS=N
zy`CX`fP*+)U+LYq&>UR$`~7OOxx2ro75~KFfA`=0cYo_|{jJ;ETTWA<Qzn^+_Iq7U
z`+++tq7!iGNxFlpv}z%rlA>{X=Nt>TtY$0W>du~^v6CmOF(yFL(Nu?yhMy)uyC8^@
z27rtacDII<H9C3cgrdQOtC(&xEntowHLz+;<G603EzF71(A?%4s&ssIMMGDIE{C`}
z;Ooi|Xp{e0eb%chCc--2gS_Sv<NAwN-!Ju(Dw<l-Np-#99aVZkA9`{wOKG4r(6!8L
z;X-|-ud_~Kx;Q&fE{=Gb;g;v0+b0XCNRjJu!Zrb-h4fw%i*|%l=fgi0l){pDTxh%9
zmNuhAg4T^f1jXoU4zUw$&8D3K#zoaT8F9i$Qu`-4iDmQ^d8Hy7onmCOg4I?HNkddV
zk_IIm(U|?xA#yH#7S@pKzs!tDB^{^#1<%#S>8>MS4ThT)5opX2l36=j;rU=U8kHV{
z8m;EbfaSSSpF<ckiK+h5Inu5#LZ#2)W&1lDz3cT7oVR~^J~ZO9c+zRp(28-z!nWCL
zxXQ)wp{wo45&DQn^!A6t_2&9&(fcvp&tk4ov->bn;c^R~hObA^WgDCw<B6iPu(mNK
z=R^Cv6iwX-t@vV0+B1Px{G+2aA9$`g@HJ?rTs(iC3qL~N&-UU+=-RU&2BBxFJvRFZ
zXnonQvyrmg^l{U&+Z{f9_`rRNZeR|2UPcGwPL-avh}&H^q5Hx3Q9)=5L%0WyjtIL^
zx8ff;e6A;;IkIvlrbDDRul2I&_1Zsj7zaKzsC@zR5T+K^iV@bDNL6r50BDM6^RT~)
zzYaWH>2IGgPdC-v&C-_;%;SahM|$aj<ICVD@|wR2Y%nF9;`Maca*3cg<%wqc+o(P&
zzjFeEMNjFAdo-2yoK`W}R@Ay2v4cmKCln4b@eTQuoiB}u;Ge;yJu|=I$3Km_5YO}k
zgzY~!b6yrN-bU%gB~#9?avl3&s_xViF_UfSd!QNM_LsD3Gd(prX>AIOB`c?Dc3Vc3
zsZ;XMtyKtAey+N}HOK9aQDr_Wp8}P*Iu;{FGBw-$riE@ORtdvdQbo=>)GJN5=>gPM
zer$_cX`}o^FLa|)SK5}Ug>DGiwi!KQ*Nn^wwgYLUoq42D{dluEJ&7Z;V@q8q<T+fg
zJj%8&(b;fho5AKQMKsCULWOs$%_ZfZv@Nk~q4_`xEl&JNHI!;beQ_b$1%~WFf507j
zv=3|l?KB^e?|z0afOYKc+yiRwmk*9BwWHRq7WfKl)noKa*iD2Vl8|)gXCMcGU|>qi
z23%@kv`XTnO7Tzk(FmsCb4VOgT7<~ZC^$48$Wr?!uOK)|Ume$a`-iv|14(bU+tq6I
z`t@t*|MtKAZ%OYT9<G-9l0M3X6z0fub93|Q)2Cnm`qwc3_TT>7q*$@r>eUJfn1<~K
zoH63yAxM$tu+XxdXHGqjPMy*qOarT;AwHWxSCq(623e|>J5`3WhsW@<i#mBy_eD%y
za!P4hY2!7uEkm|@w0Owx^q8LytHu#j2%#n*I;^kOHX;H^!4OQ79+=(T5?c9a;6U86
zWsg{f4)+DnHPbk?jYoj)o7kwrff?jhbPcfv@Nch_`Q{$^RXNB|Wgk9@k!nhS2hIq)
zOguhpdp|-5+VHh!R|Kld)<?CuT&}5&Hp6_dSohvR52sOqnyv0Kouz7sD{{$oL-Vh0
zZ$ECX{c3L-ntTE}t0w`HGSg}Js$HX%Z;UxYj9n`V##k)(P=GxqssMCmvDrk0OH*cy
zEUMl!Q88$RRMTJUt5T9C5OXM}C9IQG@=>F!soAcP4M|TQ*|f6*#2dbQrKZzw1GIIx
z6H9tZem0&wZ&y3B%d^1Vb=Lk#ZO?T6e>TiK-%i;-+21Gif4%=>CFwl@&BY+K(JrTb
zO{B%*0c>|4-hCK90qu6b%>FTaL>Z&@v|@1GCBD!bBaE+KW6B=$YwJ&2GNos#)_Lh^
zXk$2ssdlF@Y0pgie@uMKHq7<^T)gynp~qF6T5U4Fec0e?ZR^Mv{0JfNvDg9V?RNj+
z!v}8X9Dt6xCslI;(9}hEzuzN9D~RbQsuzp9yF2Sc0;Lv}&Y1ydZq_J51kL_?I)z@t
zW~HI|cxc|BmMhXV?18{AZqgt?Z4{a+4nXhqGu!(p<6d9)6}oqo$56%p-XU_IIKM$w
z<rVJK#b7y?d^^M!&@c5-e?z_0<6^6oZYmfQ+^&bXo9o<t(`J$;5hdp_T{^G7gFlh`
zEanEFpZ=4#p8$CZ5BsOwl9+4%O9!~8z(mr(1jy2y;p`X`HL8y(`6<ksJ@ZkmnX<Wu
z7~k59&(xah|Ct9+Em3_Np0;P;{}g^gLsnshIV+!GGEmQ-j@+5<=^r&Qg<h@CRT;Mh
zQ3KFbgXt>iZaTVWjO7z#&B*{XSw^}sLGg2)0ltnPBomF2!i-Jr3}V}ATdjk+9)<C&
za(oJn(i<?JCIr1KQ(Gi(k++7M&B~8iLPsTRQY}995$Ms6JB7KT_LaVu{Y)@=y<Dj<
zQ1yg8LS<4VA{;udkRcVKzj|{q2&Q{sI1FvN4Be~az6HWmtMrK7k|`Qdr)D9k;!hoo
z^g?gBRZ15h_j;8_BJ~)iP8_|SgDYMEXdGldhLJXzZZ?vwaDaRO#C&C$4%Ts{ug2Sa
z5T^tFp&=h{AUFv?a58wjTC|A~kUDi(U(9nPd;9wJ?|=V$>TWih+uK`-aeC-}bPiY^
z#Bok)4LDY)$Xz$pk#EcpH4|8%rTCyLf-sYc8oeqOsSttMvq;G#aJ}C_Z>Dc1#V;UR
z1JIs4X_7br_T@%()sdmETzTf`WY%3uE;Rutj(QT~NSQLge4*=C%XX%6Ub0D9YC^3?
zn6Enk&|J*e?h7ROU6&7a;sr9@*r82(ka!BjzB=x7IiM<3SN-~k-6wkz(Y=MUl8-S0
zWYJF*=t#r7$SzlU;T~|WNo4@lHD?<~`B2C}bj!d=-q>;o?`$)XS>sgN^oir}N*199
zRtBK`4(KSwY~5m<4M4l@pgDE2gNxK0iV^R6lt?`(8Eiq1mUpN+Wono8)M|8{S4G}P
zPAwWUA?meUh3zp=nTcd#UV!;|+NZSGfpQ{3LbSLISC8#{o2pFYs8y(_J1<#P5;Zlf
zM}KY;s6|fzv7V_NZQ>d5<auvw{}iUW!}8-PQSFcQb3)rQo&TQ=bI-Rk?Vq|oGA{T3
zB&J`%p`;&x{_g#E`U05i`C>e6{}}bmQ!zDv@_N4zv%S=fmn%-0k*L$yc)H@0J(CU1
zw11xTe9ZRe3!~ce*}-}O&)%=6r@_w=?osU*>9hOo#{|Y-{o)sY$KA+nDSO2|158d?
zte9q!!iT8?b_AgJ`~Abi?*04sEF3#UpdX^{Nfm@Ex(Rf0W22*6|3~~1Fli38amUgE
z(9oYg>DSd=1!WdS=i_l+0NOVIhr?c-TIer=;~tpmI{tb+t^sJLemDr4E^@C$snx<U
zpkdM`^>+Ge-@PIcoVVhYZHvVkpM_v<hu%kFo^b+be`EI5;4DfyKCaOz^-(u63qJv^
zyJb8czp{w;ECVc`sJ(sycK#W}lR^6IMkmvASj-MUce8h30NL7B%5+b&eJe;;*uu<u
z$|dJy|7d`ITBN~eVY7{=C4VYlRr=Ohr&IoS)~NK;xZDp_vf}c#o<{AaVS2LN!p>R)
zW5%|%R=R-lK%fSoGq3_`02&QRvm2TCENVkt)93qD^;e?WR<#*b(tXTlQ9+e&9tfCY
z*c@BsBI-j}-gFiL*jl$KDh)xifVWH!Z6jlkBvr^)s#UOx5VY0S8yu^xo)_ZPN&1Ys
zB3kKjzrD|F%0Q$&ouv1(N46U7krYm%4Q@8L?_v#GzB=q5;V8&e(gmh<ErL20{$&Ut
zM}@DN$HIOZP0$7$HZ^&v1a`qeZJ(Z$%;$~;X>DpX7(pK%uXgbxZ`x4d;#$d}j#6|&
z(YpErE7B`Hl6uY_GY5qFyo`5V2e2ngJ&xvApV-f4ul(ARkauc$G=*2kr5ZUcW%dTR
zzrTO;<_*Ui&N+8?cRqAoEf@D&2Bu9g#B?xVOOE*o{pR|HA|3p8dUwa0w>QWA4vrCu
z?Yy>6K_KS7*Z?z~%_`8GrOX7Opp6A}GK-!dWSePBZDOP`t*vd0CNoasKmZLwqW~vu
zChGvS!D2+(S#m01BuVQVs100R<AZ#({&xC-OG8}e$%<1^_XKpy21LgRv(dEQ@%MYi
z5nYr@W6Z(`H|t!g`2d#7HFG5*s<Mj8?w6CM{>c1q^T%Q)vQwD~On<cK`w@*SB`EaC
z+$T%`e{rSvO1Rcyr6-ypoDC5XSVdj^BxyjkLZ|-PFq^Bj%DdDnkp>%ZJZDThypr;=
zd1e4w4vp%m#MmEC_d6*N!=rI9KY`?6Mww7idElT1gIsDbKO0r}RRG$?m|10FlJqzx
zDk{^LW6O->GfQ*EnE-SENlF`C<`QdAOxlwwPs9{XcpMiK4`fvR3F(a4Ze$a{6LJh~
zUd4b)KMST*jT@@gjxnVNzLy#cSP7kdTHDVTwVTG+lb2vz>kB=0HUQm4)w#MgI*SF{
z@piZW?)`UuLVt|8_M_HSszXTU>Ul0qc`xl5IDE?f+&D;$LB#>8WW|&`$hJt+hPisC
z<mY0xp1EHjbyM*|RC}KA;b$?~uL=8+&#`dUX|CJmq)C(dXZCkC=K6mEllFgOz~MO-
z&N@AN{VF>*01aS5B2WX+9QSn>G73Ngx9uj-`E&ppz(*~T?2L%r+}uFl-rh=A>qE01
zopS@wx(R*tYP)^l4)$=|aieuO=$6T+LEmB505o-J{o&zZy<Wqii%~_w6u~i|!&g+4
z4965smFyiTr!+i?S;*UrnDp+2&rL4|A8yBuV86N`fdwOih5BRTuq?)rE>Oz7K``~>
zMeXJg*e!|BHw4NXHNZpwdP@G-JppkcQq@2q*=);Mr&9swLG^^Izcgy=Y4CabCl1O}
zn6iJWzt4->x?7yGX9_QEKl;<R&N}rXmYkHS{;xJzY>Zmn7;`G7^i0Xm#kh6TQ|)?{
zKqdvo8fsnWEb@Xk)?5RNzInEc`6-_StB;AQ{48o)rm5lV0OKB+a1hX_+T3oHG$(Bv
zfKo4;Ibq;{Ra=0xBakI^vBgjtxf52awf81e0TT$bB}MrVerc(7Hvc>Ao_q&2=ucMZ
z=t*1lO43CHaLp&h;Ef(oj_oXc5>-tnLFzWBSNB#Ez~Aqh1G-v=jrjU={uns7CHirX
zL-n8eq!9^fv2^Pp6~YiV=Mb~<(FCC7jGfi_){Tp@K4F;VG+@4~WXgeqgsvIp1O2#S
zT4H24xU(b)VWDSD4O?r=eO_XhRyKm;ZY5qN8OC$6;a?X@uui8n0KI~7bzHn!K1Pa1
z6tY3$c(vLrKmPvH`|sZEw{&KY&$pa*-n`z&L$WkY%6^O*THy})-Rn1>K7D%g<_(rm
z!Wlxp(xxZPHPr!<7-M*R0kka#sud4hn+_9Yu(H81Qh;<3Pf|N8M{8Nu;bk9BtTV}6
zq%=+%RyYO~8)e~+paEw|{T^Y{mPecTA!uAhpp#P4lobD50Gf)Ne<2#D43q6QR1}Du
zF1MBsj;nZ*B(oBk4NEjFb?rgw8WCb}G@#Ia@;&W`&{GNG=mYD`PjFeFlk4vA>cC9R
zYX{H@Gn0CnpFxvu<F`(jy;2;jN1Mal+@K=9a+bRL!>Ku!8q`LH%Soy244XY4;E<Xy
zY7iE<R-#HejO*%2M@iJeXIgcb(k%cT0&1L2oqGa0=3yXow5H=bw`PNjNEsWdYjg@z
znWzPwOcUZqfVJ^Q6`khX&__Y#R5}d<T=<PDG7xmwG^lmE-AowkCk5zFsH~eGG1UBn
zY4NVtF{zB@Rc~JqDqUc2u=Yewpn9VMR^rq}q-Wo;JIGcnSF#YI>VdBQc{x-+R5LCI
zm)_Xav&?T3Q~jM9vN}x0(|()MV~qVj8^Zu}DCq~FxnSY}Xa%6JmTlhzm$Wz~1K-A1
zha_{1DLok9s6M9Tr|`6VElq>Z+HZTRyy>ZaeF3s9(zKzr_$^@4o)->4S5zD3`hTwd
z$mdu%TbVN~nc3edZFB9P3!nd)?b$&s6y5y49JB483G`c)Q#VKI{RP4t&;-8!{x<^_
zFozUQ_S0Q;7H!I3t#^9zML#iry?MO_yL$wvXJI6P+VsI9^f<dO2X3;B>eFZ@%Pk6b
zS={h22G(GoLz7;;(hYfPZp`Q~O+dg8lXROBwcIaNxmx(QlH6-Ki1V{F^#4>4&`nYa
z#h<3;Y*3Z1MF<SuZuO^saSX+JibAcN5ch9BB^j+WI`d*!_y)$A0{t~6R)^&{flleE
zGwfVmJ?yygRNR~*_sdnzBA!rak_k9=j$w|`{l(`HwUs^{ehXARrc*Krx0|JaAv51H
zPAx!M58M@=ErzRn8E7I6ARQR<^>9bN9sE@G)M2f}l%FgAYiypXJH>z6p3Ci@!rXS}
z!i!~X#WWL}Sq<%mJlhA2*19Pvx(j!T69H4p)PSIcTV1iw@Qo%@I2G}>goY}Uddy5h
z1>F{wVuS0qNd~6qvsFl&!qz82FXQh7D&NZD_C!bz8|ILj1|h7C4^9hZG6HOrBAb{r
z7CS3H(y)#Fu*Ym^_p*^wV1=#J1RR^!B%>Fm5BqJ(8_u#>XOG|*&=EjCE*=-$`78M1
zR{^kbzgj&m{MOln4tbm-BV~M1XIB8}4>LWN3>P5*&*zZFiCX+SapJV#tZH^drY69;
z3oH&mZx{stP3kiYbn{PF!+JO!Ty-I~&@G~R&xGlgcEM#78ve=zB4ym7#X`$*$&Idj
z)&7HCU9HTi>EYGEfn#@p+N)>>f{y5;(+{wOzOrwU!nc@O3#24^ntXtRhy@IbkuKvq
z6~wH^wIKY&tHv`Rv!Z=h^l{%&Q6Ns~ex+3}kYWJZ=QIn`r1W>kOHxcC%Y;L~@DuSA
zRY;d!FVkof4hu?|K2PnMKrPzbSqTRq@I%tB8qEr>3mg!4_PA^38IH1Ov)Q}j?){s$
zHbCM9oY_N}dR+};0Fpk$dDvMz(0zHK)XoQ}kXzzi(60`9R5>1YeZ0QDv05x4p(Bw~
ze@(cy38lf*tnWBByP_=N9H4vS=oE}=8C;$7cN|`{_9s?jHb#?aoHVv=+ji2h;l#F`
z#^%J0)i$;o+qT~M-u2#J?)(L_X3ailpJ(sq`Oqd@3nuZM0NmglXzQyv5^7KWU}eP2
z_%jC$Wjw3?lwr;;DH^CiittihXTgrAs60N9SNH&Ev97QqtJ|qD+Hg(9no+)PWUxE*
zS4?wbbM4adlplilkaNdXxh=DH7NFjc1#fbW0zV`7SJAU>*Y-=zB$CC-a_(-E-eSE;
zcEi%V&N2ugpqB_FxbZrJfVZ#e^%b1eGaESYVbs(6GFSIEghm`j(3)5aiI4#KQ=ZF1
zy1Bhg4T*@$;difJJw4(6kORDGvib?)sBRGZA0dF$#;W-PMR}Y}UTK*}%O9EGlum=<
zNMC?Cc4d}ypDBzDrja?eW1|Z(ucC*C`j{P?ja0mxc$Vh<+2pt*<M<*5@;=_g4bg*f
zF+4(eD}Y4t-0j~%;8f>0G^M0TKWT>xrYfWmmW9)xt+^0HDz|nPn0iGr=@vEzK7lJ=
z5236pwSV&9q2ylAdqjtM{R@U^$FQ9*LbR5Qhvhh~5ONL7h=e36^;+tQ#Y09-o{l5o
zYj}$$HwD2Ie4?Ijy5zGic*4xjO6*@K;&Wll{1+rzkUyzs=9fgC$}tuqd&)7oer{|>
z`AO3u24gd0hSKv10-<MmRX<bgyH~G+FyLLIggBU(*ES9s1CDvUnO?fIH63Kc07S+#
zZib$8^pK@$G_;N$L8rDk-`RPhTAqC(g;Hm_Qb_vu_2{{(1VEm{su*O0J-lrHm+!ar
z9Dv<ic18<vaQr9(bqXF?1k2EN7|J>UmtG}&lKR~nAVAVoqUB)6_eQM-UjT)g`z3nZ
zKxsNmcOPCh<+<z6)K@oJWbxTwVb!#9-Zj8QYiOBk#?Yo2ysEV)*v$A}o*(c>$P&@l
z5=GOe(LYX%Yv*B!Q0D9~NoHyJN{Mmm>#9W#kYa-j<F^DQopFEM9v)!C$9wl@=qZ=P
z$MbbXhiEQEYh=B*xBn2c^)GFt`qZm9JU?v$0LGb2s~(V8b1%sp>moId14Xo0V84pH
zMzM-XPw$5ruM7l{LU3R$Xt5hMrG*?BROV}FmnntiIVX+C42b)Z#hB%&H8rM>;^(I;
zLBBgJX&?eQvG_wrxbO}EMG)5J$N*z9XvY&f8(z9Yb9mJtg%+W{^cU~J@iB$JFP}k8
zvPJKXos3O{kg4`I2qqot%k}r%o|dhI9Vz52fooH%B~_)v&c)`QyXCVYOXI3h_9$UC
zMay&Bu&fW~o}Jfnp0>eHGoh2o;lb<Ug;9-7BtwBKhtFt2O{5zcH>mg7a<LQakfioA
zo=aHOb(nMeFt?!=voe^e-z<v*j}VE+T6__iCD32|$!!|ok+nrP458{t=L4}j{u0Gf
z6-|&+BjB2~<H7T;Sz8JO{#^A_1}q-a3tB1^$I=Vpvcf3-3i`vROjc8q%oc+mCm4+M
z(bi<O^>Yvg=J^1+vm=h?Ry~06a;GTEO1)`h`Jn&b`?q|^GyLVjN#-pV2X7w0j@Q`u
zZ*5KFzs-5u3ctXlzSqy-?6=0=JwzDwMaUA-jgE2d{5voO{rN5#CfI02XfjBqN1-}g
z?LNPByA{HTxGjEjJ(wKy7R2YFwiljJgR-7!s_!L3tM$KH%P-|?ym2n*8gqfm3Pa-l
z0k8HA5=e6Ux_`%qP_X5^?A<P+$|Wfw1l9=6NGKt<=CCSVR84`*|EWR8>)n{MBlE4e
zp!G9p+%Aivz>T>|DQbX$ZgHrz5i+vyiGQ;N_PG7q21KuP9!d1-EbBZ&vX;x@M)x!&
zoa4wDvMC*hEoD1{8XYM`s0`Ja4#^>70m=ntl4rW0xQJe>eFs&ZVUbT(gML4mdCPwM
zgHut0o9O=s=eZx~Uke#rIJSDvvp0<|Lw)rlRXd=|y!=RcV;1Okpv{Ur?kJ`JS+!+O
zwM$nrtbA7qg&7Z<Buax2$_0eKO{N7w&^4J!4;!JvbMvGtYp^iX9qCLNs&;}lbw(=l
zx0HAbar;e2D&?$|1ayZ{@@mLQmz~NG_lXviOm=}0O;k))6MTdkAzKZ~S1xl#4g=`6
z%xCYp>Qe78(%LvoLELeq46(BJ8Kb`N0m~vXn+Wf(gJ-9eg+nKH<nw$*JGok5IQ#6?
zu6Dt<EZ^oRG0_=CJ4Q4F9UR|N`w69PwR`2ySY0$68DrTecDY9lu_xT#_<<tDbJ2(>
zYHQ&bE)59CpU;Nodam>7NXX7TuT}Z8Pd^G0A3E!cS{TGRh5?*zIuf~4fpDc-Rj7?i
zl8g!Bp1ig?!QC}GOqoH$Q4`RU*yM^hqD|>DBr^<z01bGs#kT^dUTgK7(noMp&`+J*
z7Y>~;eiy{<s$^<+FU7o1ZNGWv?R&~L=fJ7K2@S>h{?=~R@airF3lgZ9$@Azco>iZv
z_c-eHkmi$hVv81bv^(Rpf`n(wDI(8#akmqn25tMyMUN|^Uki7SFJ(6<+f3m~j~`@B
zx1pLBA-jer^Gxspt*pO=24B^U6P5=*oe~-`Ep{umi-4FHL+K_KYpdWXr>f(x|B}0y
z#>f|O=5T^rkOrG=R;C!N#b-B9UEvC@RI0PNed~e+y0F_6^#Hubb~Bz(hw$`Y9K=W5
zTBbYN`1i#ImpIIEm5;!9>dibS!ZCSK{7}_+D}yQftd;MEEntgc5Q(%H23VTT(o;;4
zkeN|L-o``g_0qGNDy1b1zTEG^WdDadr|BZmK&}AF!y>dyHi6mw4<{y?(|mDH2eebI
zX{8|Gn^Bi-mg~^cywYO;#O8b_4?6lqhESlg?XlxFESe0N_uG;fx#acuWAjk*+K=@O
z?r}t3-M#B9NzA{Oy?)FrUg(bzZ)BePa>_s70Q*w}cvP4NTNmnRjmtVMgOevJ1ix}z
zN$KN&I7dt|i*8*j7|!j|RII;jbiD!I>bs(opN}fOcA3-@MGhlzgED@r>T*Jri%TFt
z{viU8PDf7cWTy;8m<W$8P<E`CJ+870;MObI>NwngQJAjp+}sIu?h~#IY~VfI+r|Nv
zQgsfXEmp7@TnJ;qJR+U2mhNI-8}x#ufF^>6c^RcRo~(oAB@$hZt2zEFE92~UEMI6E
zCCdC&ZIE>YSm)~+ilH_X4qjOWj`E)n1|@G<Ehb%$0+{4ic(CuS<`)i;gyP>mLes`-
zIJQ1$Uwk~1;nZ$`q__OR5VR_SvY9>be>><V6~w52nt!ta3`#PcofF>6-yAeb8M8F7
zQrVa|j#afSRC_XkqJcQL^Q0mN-lmXP-4CE^jEG80Di}grrxUk<I!rkFK{az6Fk>zm
zv-3*N-RMY-6-p(8;1EdH`IQsJ4Zbs+W@`R>OUatIYNl|QJ876r#OI5gP@zK-<>vP$
z7jCPctuULsXE-kR*0<*-%)u6khQd%If#?Xf6?VA=_lQU^E3YHLx561mIQ-{IO2stn
znawk!maFjqZ+W6x%AW+77r`iwFQWmsqCyyD^<*!MW!PtPf;xWBw=&Q1$lsDw3)dNO
z07LFoL*5OA`QA*pKM1@1+D6C<$B)*bx;99Qsc#34ZppYtaeZoNRJly*r>OR-pGpJA
zPJF-PRaEl)Bm=?MP6!Qx%%N*>DTFYKM=)4x5dOjd|75h@78+KT+VH{@{LW^{Nj1#J
z<a4HM1Q=^?vGeLSeBySwv<QJ7cSE+_WXJ?$m42pBje!MA9|PDIMCD={P<n>?IEXD?
zc90H3NkQvRF77Awy<77;%Qr3l4fP+2wk3&s1gja>u2d{n^QP{+1Dw{REBOl;p~A@_
zds5+B!}d}x3GZ5omR{^Xg$yr^BZIZ4L{GZw`qZ$e(wxQ^ypI64Oor~?a6yWDW$LFC
zLY$o)RJoh)glSxK0vzejenJNA#WGw0iq@o5atb+(Tg6Sz(WEX)y0$z3hqBcP94hJ&
zp*G7FlEk<;<rhO%cSBp`9#Xc+$@6BUnPP<;5q%W1SMz(%ld{Fv;?66=?d8*){;?a^
zTE;?{eWm9QnKvVJ%iDLzegEgDAXL{9|JDcFdLCalTPKJ6ngSHcS;w)*;h!h$vMkn0
ztRgyMGg<%2HQJnGqp+I=ezMYMK1ix^<p@)s>oObuq{W9m|MUhgMRFK{v%JvH11nTd
z*O-cTNVYl+oPL9hTv#xK@_fntsg6hLyJFbQ*4sml%Nwj4s<7*g+M?{d?je5owQx?7
zBxzPKUU<>Hcg@!(r7fHWoFXZUO)DJGLInzSpGpzaw~rFz`EwIEczV<<QdUZOM|V?Z
z^~d(kwJ62h+QLzjH(WDR4Voj7AqdwL2BFx0Jyt!?=3bZcH0xNh92KELPaUB&mW&??
zmEm-Y)J%51tq0!M5=MN2Y&Mx@oL{(Y(M*2%X68BH`A+A*YISV2wYyEekI~EL>%Q?u
zp?MXu`1nUuxiiQ&UbcHcDjeI8D{pVf0p{CY&YK7+`0X&?0jhTD8{ZgdwCT963V8Nb
zylL7&Osy?%ebJz~%l<)013g6p8p5h!3lvc?9h+=H_CvOA?8t<l2P!%s**qJ~s0<c3
zKha3(k(mCB#eo7i^s`nw_7L7rP}olzs_58(1>N9+hQ19w8j`{MMaXgYoLLPw;{y&V
zk~EWQtQ-oat;jZDpzc!QMP*5AUHwIy*R)oqWzRYDh$fZU0}V&?_`m7Cax)UBcns!J
z{u8Ds$5j=mN;vq1!<c6eFEdN+3PQDBWB#C3Uk6K;FG1}{n-~}wsqI|}x8A9SXkyi|
zPivFb-H)u9jPyAC=4V=@_l{G4p!$B+b7!j1QSA73aqM-;7mClg{U-(*!+eO@xr`eU
zit)QL4xWNiy_?-*F`cK3-3up?qtKA~Fo!(?_=DqBI_l6oBfkTgmla#nI?m;<M^Z14
zN0@PD7=k1!quI3<)WahT@{kw_taO1sb{58kUY><*n#K!S8^9YuuHyW_Bo8&A9RKdo
z8W0h9-EII2n%v4XwYfM|C#l!B@s>nrn9U9CiU)wJS}&@}r_}wysBg7<$4OQbZq4Mq
zB0YF?Ca$6Z^c)+Agfuf{Z&i^lsNzGLNCrcBSlF4lXu{}wegHR4DOr2ZKqZ4<0+vq@
zeo~p#*zD)`QRpe~P9YS7nf$c7p@#n%U+_X$=_B#Vm}{0&SGlwdcG>CR5BRsdLePFe
zHk3;q>zaX7mj6BgF->*$k)*tcYOY%=<n?p$JK5)B#SC*8IzPPoNrFkskFgseEpQn!
zm9*|rQ^xg26U219e2{FbK@!2{rTVcL{HH4)O_=Q&6gqqX@}~qS@Pb}A+~4#2pXRLy
z)fU%q>i^bOIdb{osoezVH~d$*>uA4-4{9=pf7s=rL&US_3JS<(di!Z+G~}Vjls9Dr
zG@rqMQJk^53VF|mD?QCWzFvecpj|t=Wf%y5*k~&L{z|=9kaq14Ez!TmNIhuVd>x<P
z%bIk*qi8-aOsvp0uQQ_L9&XtjN7I=00im-qRWeG_cA|tzbupeNVhf#lcnCg+jq^z{
z1TlH@^K4OrBG18DMKw&ZM9$9@sy%_hdT!s{tm>F?!Lgy}{Upa5KltKRzno2!YVQHD
zMV}?5_cJx4d}NY;6B)CKj2@SEuT=&ff|PkuFIKZd2m&F#c-Yhcq=d<3(JZ(5<$+fi
z(;}up`L`WFGV3BbGwLd2U7mOUqeS@6T$}uzrzuVu>wh<|k+-j_UsmXG?Ei0^^X_jY
zET+?<buWTEGL$U-r3_cyB<H)O)_EsH-4^!|m}4*4sAtkX0S)_HTD(z(gLhY9Qq`uT
zWP9Kt+3d>R{AWYOEhAv45r@nIm<ebHcVs7tQm}=n9#n`>#}5annT49AH~N5If^FTb
zIK%nVHM?I#bhV^i+p<lqRGACa$7)|_(;{@f$n@k8!j>I9@J=<>xQf31Hpv!iP9d4%
zReF`)L3;2~)vozER9DQ!<#gNC*&mk^d&xGdU2;OijV#>R@nT9SUS1zQ!gQ&nHuhTt
zOqRv<wOP?&S~ip38)2YoWZpLRw`s!{#;jW^e*`ok1PS<fpZ7E3UkhrL3?#@C^moxX
z<*t5yHA~c^%Jyw}_l{k6WRB&MfbO$T>o#A<!)Z9iv{ZhC<(@`H1h#w;hM`6FgR!U9
zmcZI$1SlL(0l|f?P}blQhdw4ms2dWH=0k9%?6+Qok+DFH?LnAs#z9TOEp6GT6gA9T
zgnwUKerRSS8{q_2mI+RuQefOVAo!ys!*VE5x9Ll<a13vuen^vZz4$jvsh=MiF;F|r
zW%LesOtx>Zuauv7a1wPj!Z>A%RWj6^FcYw+<iV(@&xK+W;=1bem}v9D`ijz<%E&2Q
zE10*yo4gSGT_v_+`$gGu0H1FFSh;|7dGa6O2!1Ym5XzwuW8Br|lZ?X#se9+x!PoQ;
z6E00MTBOoLFy8HB*@>tYJ-f3fyC!$-5^aUB)aa^N@os@Bd_fi6?QDWx2s%Z&M9~-*
z;=oPRcRx4bu%Sj9GY;O1Jj0D1xT##p*v)S3f|&zWmvw(mw;gv1?Z?TL4fw;6k&w4}
z{(;-c6I|kIM9|wX)FDKs;^`K_)WWctp#kybJuX19etxv?C#)FEzf%}`zfTU0UF9B4
zSPlI9@i>#wXvJb66zx=Fq}DsZJMiDln<R*W^15aG^t?Z?L~>79f#eDhht)9ot2XLI
z7(_*Vba#hphdko`eq=r`qEvN{0Gbc?!Cf$FG$Y@O0udAMLczL=&?CXR&*Z~lurv(H
zFE(POSCUZ{|El_;nC^k<W?K`*P+9)HMPkM|+FUdNH_gKU?O(^uw5--V8FL7Wu+u4N
zu?ZxCU10X75VB>}f*+Ir_Y1nlY^y|-eY!9@Rs2ZqvY(vlRS&2b4n4!+1wZyTisI*3
zVrkNoy%8VDhVDN4O<3GlKiT&ZNb_;f`5`5Edg?boe!3g+UL41{&<vmLL&-}~$ily?
z38WY4Mlc0rK;(GFfb|c^DDOPX8B`JZFG?!I#!pNm!wt-qb4D}9>RwvzHuSK=RCztj
z<L~_Zje}2^kzmeNovd8|M8~%GaXJRk+^mRfB~lk;@^NJi8>LJsPM6u-oXDGKh?86s
zPi&Wi36?K@Rn3dI5xO+8d6ES`$w=5<3+esJip1qq3%r5hI9v=eD8u}o^^qQ=4Gxz4
z3GEzzs{B0l_L+#a3!*olmpeR~({2Z7`VPs|@V<|T=wm&TS@b0`df!}MM}4Ggy{suJ
zge{K`V(8Rqmh0APUG1GBfn5iKP0~dtzt<hUyqulaZ$QXd5`dKw0$|uVl37t=m{-w~
zcgem5E~;7UyVRxElp_x27n~})_k1-31-v*CYNLj|iVK_}8>tev=vD3x8M^SBjUAT{
zFRwXt63SkMC({O9<~pwI?8QY0AQ7U4-koF<%{=~E=*b=*=dkLq^A&Lz@Tuf&(ftEW
zm<-3l!S&iB57{GyDWpXvACuQ+pz%aMhCPHeRl-lEQzekMOJL<4JdB2Kq;p;aJ^25c
zj^ZsqCew2$KkEC2!7CQ>7FH8Pp4!Q`QUOnsz&=uqgW?FIHW*h7G3b8z=vl5_%$`3v
z8Mk}#!*-2}d_?A?y$&D93qaodv-el7In@n&fC>vAouPEqyH8%PwvF(DtmS3EB|L72
z3f6xv#mBc<*C`|QJwJ0|H|A)Wv@?1G;Bb??gZpukq?!QIsccoc`H*#T);srnHY_?x
zv1}-V*r4^h*FKH{GAn10*`D?5KC!QcGhxL#j-s*j35FN8EnG*KF+eK|s!|rB9bytU
zMzD2?B2zv>JnYRrr3?uXf_L2c2(y3DR7R~GK1PGAb3U41*>xF*(@kP$-G9o&y_X4F
zq>H_)aGA0cc5sty;p)QFItew`(+Q{T|9DFWq&3qAeLSUyg_xt)<T`yi9^mPHV82Am
zaLXma-D*f5oP%Qv1ebZR@O>LjA<IL>zE^5pedK(+*&n~1)Su#)Bctc9aInE^H>myO
zOSBQt<U5Sc|7izU+9e2C8GmUWfwiSqoHXm$WthuNJjk#A7&`cnhhVy%53Ha)tzr(2
z3B4x@A(2IfEAPz04!lRKPz7bDA7TT$*i#G`>)%{U>KA<tK}edT9HD$`{YSXO3|Uhz
z!TyXGI)lC2^D|Z);GZFsiX}PDZ)J7xrm;yN=-K^(oTxNlG%1Ge>;!cgftzj*a)$*p
z%{^qK<-_Cyt$Sy~;Z0asj#dguzU7#bLDqXfL=HQ*Cez5hPMDjn=#_xkcMWDE_ZTt|
z<cwDp2q}1wtJRF257Hx9_!wGmC3MR#qOTQ$TI>DeYg(r^oc{3@nTy(}8->>}ZTe9l
z^V@=2{Q;_@nQhAqF0grzNIiqqJBxsn0dWADoWDqy_p_(XKmHb+xIFc%8`01J6+*^^
z<)mA6DRmdL_eWT;Nq}Y*p}^ij(7NyADeQ@v><jqy35ZjAx>(H@-u_%R#aME~(vlo`
zhB8iaWv^r<s=V7`YakZbfo60M>o%`*#9BRDo>Z|h_GP<@7xE;}RAiSa(l-+DPbXoC
z)to!g8k~=6ucj@2uINTH4Vx6X>)}c1-@R6dYvJXTZ7ygaPh78+z;nbj2tdV8^uC-@
z&MbEKE63Gom8mM84TVN!oU<!MT18J>fSztptCC&h(}#}zWr2lLgw~xZ{bRZ(PAXkt
z78mx5tGj+ASwC+TJ5)WB66k(^>=?YBbwS6ue#wpO@<|0C?I5E_g++3k2#*?%^7cw;
z+mP^1f_@hL!`#<EyC=_>@mxW90J@mwdko7T=QQ<*aQII@3dH8pK3$ihmXe1vJ@VfF
zvJD7@_X`M6sxu^sLv9~EaFcZqI9KZNJZQk+GEJNUTcZO`;_<_B3h-d^O48D`PcvS;
zYPEr%Ja!1g2ov(Roe!Jh*bmDHJJ<ho?7PmR_OF0oVLwSqdjE+a1Cosr=tvxk{-AS{
zJ(Gn|>~a$}8CBk+WHRb#-ULfbrrX8k%f%9WQ)vi3MtDWWX@&bL>u_F&35}vtCwQ1U
z9fM;UGi_3L>i&udG);=3@X(Bft6uQ)P&wr<(?R`Op8<vNd2%b|Q@4Kz1|AMs?KYmm
zro0l}%26dj7qDQwm2KoChHF^gG26LJHu;91P-w4aLr1?%-aI>+9lIIX#94pTyP5ah
z$7`vQsY}aGLiYyAdO%h*6NDno2*9KyBstCtL1wVLJ#6gJvkIj?`#cNIXjOOqq_m&H
z8Z`W;3sb3hx89Vi`cK0KfgAQE#kQavyq6S;i@VXcu{_5$58RK;NSpKGLE7@2yR!lv
zK~WFX{A3ydn~%XCFUu?+@BO76!Ks4L_+;rwFC$?b!8@kqngS-jSZ0M>Uq+XW>wpCt
z7Z0mm(7Nd|hI5It*i#U%uh%<-Uy0y1<ZJmZ{Y<={_tD%TfnNz@F(clyV(ZJQY>`c$
zm+_$lasBJgZ?f+HRf4k7s-Bmr+K;;Vmp+mrpq6nx@ZT7W)~B1}#b%La8C2|A86!8@
z4=rQ_iA0&-tNJf;jEJZ5l=t5gM7uwF2XaH!8$HAc81SnGwjfB~t(Ob`KNK)BsfHw;
zod|VFqwo2>!UG7^vb{QBU3lnHU8Dk8g~6iF5e;7lB3CNo_+jCfN!PZ--7A&T*^fNb
z9XzFV2cJR)*05na)_6yKiWw*)%9#p+tu+O06Df_+V0nweB9wz%-I9mTu}-~oO+f8(
zkBcIB$6<Q33+1kg7U@C1FWZrHU0{Bx19acaQ_!AwM4u25q|SB>1HxBrDChGjv;>>=
zk8O$p?Cgf8+|LODXJJiOyi4TlJba;UUNw30EXvvSTOg4!^(G$OPgNOS9k}cy9&Ce;
z!WD|6BxkDJnf)#`bl9}_IrePU9BM2q8J(dl)qgS&1(7Ey&PA)RX7jd^y`D2x(M+a8
zk^ZosN)7+hEIZA~0|H;w{i=<#k`!YvGK6OLABjv+-6TF=O&^{F{`IFXwQ7!Lu^Ym!
z=iJE3zVBOMcP}ZpYpntHmPnS+w;7-DGJO@GU!B%i7v#dbqAHh6m6^=uv97gLK$k=)
zj5F97akt8vW9moJmE~I|Okr1DUxrFTH|epsPr;iIK`|I@QFbr5*P^+*`;w!f`z&Wm
zX?=B~g{G5I{sUb(^(qQ=EaezfW9yG*MsmvH#;xo!7lj`garkAn$`X1qu(06g{4tem
z;TqcCaB38eF*G9d=td;C&5Jj-o^{q$$JyNqkvf$^-Q1Qt?=!h+9hmVEu~p{sq&(K7
zd}NbnhTUqOVThSFD--s*G}Mc^UBnD$PyX;;stY-|Dw67RL45If;{!9c%Gy0cE#(qy
zG1$1%;X-htu)J!-@y;jsEZT)nXG<{^PqCN~i$@?M>`Nh-jXchKiJ;4bli>CQBNbz+
zScP0Z@pS3jy%;QzAZ<&acVZ~*9+afJ5--ftm}AW4{rg8vLtGtL23N7p$ewHGWnnlT
zBMQTuN4WJYJWi_{sb#coA5;&rG>DOd^?<A7j!iYfSbNNU|FkinHS@&wy1!Jrn-HUB
zbgOc_2`+^2!j?-&lx)y6zsnbYNvPu83{Xw)a7;e+m&iI6Xp&nyt(Y3k86-%`5)j$I
zV~KptPH>4mqz|b&3$ESZR;h}2miPGv`_o!5M1@0(?~3swr`b1^ojp;qUK@E)H*^8!
z##g;=A!<iA4^Lwq{NgY9{$+{Y-T5<GZ(s*sQ}5u9Mj-~^;1Ez+Wzq>KKi`F@lpi8h
zp4SeWR%e-=S7n7fS!6+&mps4X5>IEil6O<{?gpuD9PJd(&TvnsbyBj26|wjgRW{o(
zmz><~EfXIfPanTGNPF1o?yuN9zmpE|CTae2mBsVX1E2nAo5vLZ3(@XrZ64OBzW-?(
z8*)8*YTvB03*h;kxbS0p4#IVJUneZhAN|Nj5+2x^%7L=3*RFNLvzJ1V2uFX>LiByu
z()tZKGcF!@p)SxLT=uz{43F-{Yf%b#;y~PNO`XkrP@}@VUpRapf=D4tKEUM@W;NJH
zK+r(`WU1{rJ@iycf8@(oJWLI7`Q}3xA%FtreS$6!^7=swr;p)>D-g;1iDl#tq0@jd
zme5gK@?o~BMsR~WbZgS-ANu`b&VMs50N5(wj%gPC#L$ueq&UW<D=Nst=NSL~jzY27
zV#^%BSNp@yRsem!e>z+lS-FBj&9U%5+Wc3SQ9mKe4e_))4?(g0#PHs%ewVq8BU#X|
zY`u!Ty}|)iWi%d?u(r<A@|FG5XivX&seNzvGGYE;1*{#WgqL$1z!&gUDJDTIxpFIj
zB6x^}+(yHanlm}hT~krQVcLK6l$Mb=yd&G8q(&E$&2AyYWt)%Dy%T&FYCo^0qH~mA
zDK4&+KF88C{<&-@pO+Z07zJRLchx_(FC}J3$-~KUt|U4<)HMH!?day){H;nW`S+<A
zKa@g#GE71I3-_*Dw@r!G$l_x5Yhi)y1c+n`d%@*#3jj#`CP{QMGppO7TjjX(ReU|p
zN~NlX$fO2wD10${6DbXLN^tbZ7`!IxIt1l0ECze3yzfOqd&dH?&b8Q}p^s3g1n%d)
zv&*&6P5!%d+BTpqm^9sMk$#JI##lY;iiAe}<JcM;G!=s`Z9lzUlaq65R-ix>bqLKk
z6PkS&%L905^phI7&pufkEh$8j2hjxZTemkapqa$Gk%}Q0OiA@ZBfB7w*wB~2tvc;o
zTf>LD>W{kBQz8_I$)u+_=b`&97!4GiQF(-5n23hYQm)!FIcvf!PtUm{(5tuFS>zB-
zWnz-F?^h}2H%?-LG}jL8YSzc%0Jl|-vU|%gQ;98is9Ey3a=sFPEQ1@c6JhgqTN-+m
z#`-NjY=J`WV4w>d0W>yL-Ftmb!Xk=$Vuiw&(qqGrOsKZwOeZL2huDKlFTorV#LJoc
z9H+aoffTaRUfbU@Z|CDDY5-n5_Znm^t?;4%GP{SP``PjFm+WjJMq3hFJ$G?$&R0l4
z-xr!U7Iy<9W7nY+w__z3dHEK;Ksn#XaF7tJ&})WYPF6TEhm2jt(Lv)`1!S{0$jj5S
zH7*~j_)HFZ>JohfA*xNO-TSp4SimTc2gP3GfB|axg+4xIn#R;t+eDm2p^r&%5+Z~q
zJQ60CD-9D2U?)aA4HWLEqV6XyUNYX6LY$WAXLMpa3aR5|9T(F@{A);qkZ4T!!B~eE
z!`v#12;<4wk?eR>L<ZvAIu}wHBpJ1dRqSRR3)`eT|H3>dJh1eLBTfJ6tBj$r6k;X)
zxD)ahSR>xAkV6>NK*P65v~vujxIidJ7+k?l%{e$b5?6;PjLw_UHdjAsQk&N9p?U7Q
z{L0~Ff&ve9I9>gCLIf)1ea3_dK0%>t+R^&g_VpmXiB@P62ycp!`zBG15)%dX{hCb#
zs&#`deM?*Z;yq*0yVfyU_3JH72m8O+^SQGq#hVe4E#v#%zyg&(-M5r)t}n#cd2H~a
zmO=LPf`mqHKy)2H$YYhaufnmQNH4J>Ej;2cPhX)v_xatS+IRVc+VnGinB(Tw$X-eb
zRoqEgxzl5>C5O*IdZ<g1u>JMaInZQID<DFkdAj%8>0@zl9-%_@>TS{AL^c?({bA10
zsIAH=?3Co;RL<fNYls0#-9QWi$Es^z$6hzD|Ff4Aa=sWLaXV{JQ}kWb`in1RsLM-S
z-niwCc1tvxpe-okL$f@6tw9a?3XN+Kx{sgagWmwPk)jNPP3KGBxqmo)+R1zv<~GLA
zA7u*N$nv_%Evd4SOvxS0<B(7F@!aN|c^JNW_zQ)7veHyo-oJGJP9A;<b>f|}jGc3n
z03ZMjf@{7iWO-0{mkpMF%*m$7szzo+(x|za3VpE9A7T$Hna4N15?$7m=^olakplwA
zo!s(1rO4yf3bIby-w(}q1&PHR0o>FVz2K%_jWf)Oa})R7=Wg`u1R4ciVA6QxK(gr2
zQ!r1i%`2~;L4Sykl)G0n<?`tPv1){@YYXOUa+mT@ZMT>4G3kzXyL+RTHIP9}`OPI(
z{RzaTVn-hhaD(ObfFvk#)!~8!PnDieh^x--A6>eL)UI)vNkDmE*Z#ble+L5)*Ldv)
z(i5$`OxZho@1S`nc1GjJLC`X!-JD!QPcOK4`71QJ7oNT#6bc!AfgQdBvTz6|)B(?L
zoksdbMjMcO$io}q_R57wqpc(Z6QtN?lkuAzL`P`4weDHx?qL(r%!e^;z^Dq!E%h_j
zsM>_+o$sL$_An@2-SSY@qY0t|fx?adm6Ds;u74fZAY6RspyebI<N|vB9+N%9{!Rp2
z(9rH`;EDp~$0xy&1$2;ZDnf5L%s|xO@nmHL*(=*ow|<RP0-KB`B&jr|>0L+Aa1vA2
z3aDm8+5z+v=->_`1A<D%kxGhFdC^u=t^y9<6Lq^l!#vTlH<ZPblmTvc>ACYz@UwC=
zfC6Omqw_7aA4(>UJv5kSnhvFYT`^CtXE8<%lX6b%3q{lU$ihln_OxSHh1y%XXyKW8
zM4&uT2ZA@9k_8JfTbx%FKu6&MVe30Af+>qC9o<Rgq7u<dA(XZ9OO;Xei7cD^XX>CM
zUZ&<b>sMLNZy0Fi!XOu;7~6Q0Cs}S5R&z9adOyexiot<cbDswxDSkmmAkzuhCFz1y
zp_IZOshVBUc<oIB#rnl1g?AGrgL7$_W^!KT`d_Ch^Pc@;Vi7!$)quTG--ftxu58aX
zHpJgwWrX@c^;`BhM>flFQX!uj8a(8X4^@PoTXwoL^KJnmuZYz8pn>n0q7;c$nf39~
zgipc?!;kUbBHSdDZeP%&%vA`Xj(6U#ydDY=%0>8Xh!Hsa3b}3z)S~uy8nsI?E~~sc
zJ)8%`vhZHQ1sK0I79VQyt2cBE1o}^pJYJ|rH%*cfp|yyMOzxT1X!l)@+r83QwcDj!
zczT~S`bB?^QNU@5qbEZ|89*{Q7Bu`bLt(zHv$Luv&==bY7%_f9wZEgp>cf=}7JCq9
z;dXg}GRoeq4&%v4v{m`;l@c~+BOwwVGdU9*hbK=IOJ*~owHESBRIX%Bq;%qPeB9DE
zr45Twzn94Y#hZ>2_1TkCeOw8l05VL~>&!@5>Y25+0%U=+pA^Ncntx8&SQQVo=6=#?
zT_5bnn8i(HlW>(0Qn}KvS@)tg<OSp&EJ6MC5LnjSn;b^TcZ$vVUJ!S>xMSDhkF>A*
z1Svs%ui7iqr#x@ytkK;9^M<u^$cGrTV3)-^r?a~@SpJ$%2k?swU}`w{@#|GQAQ}}n
z`TFceRess&ZP^<u+24!iC4deRXa9>mud3(pvl7<j%zMs^5XVLy$|N4h|KZ*zZ8SU_
z!b9&;w9H2l7L!&wgrzluRAfJUO#x#bgP=wO2t5F!nCW-*ScJt2f@bUJ5hhK(vmrZx
z<WyPoC0BbuD>tK?c*l}w{fdmMwQUi~+H)ZR$a~u{1t)u`{~p=VDbx#+NrTtjCuT6R
z`!R@Z78=W)NyitC#+(#f7}zh4dopUhZ*GGdEErt=_dpm#TNu<^fuChSiGetLz?v{-
z|7nBAEkKlBo<vZV{Imr9F#TaJ1Na8_^<I8F7P;<=nZD`+Wk}vJ^(^TIYk*@XCg^<U
z52mNjjz`%P6G*W9dz@d8`*5y*QN92mw*HQ&xmHw)Bo9$IKAXrn4+B*H*7c;82ja9p
zRl)+n`=@bICrkH)s-HwOW#0R0TQ^U+5aVzfsGJberork}HDzWUF5@|5cC!E+g1{>*
zXu?)^NlA!**!zAdtW=n61c^)+64`OD#PglDmU+IIqSJ!8kEzy7((Y&Op0lvi9GP)V
zOTtvW2?DOkGb6sbT=OIh{C+!^rtRcep=yglxD8HUFY6Ck@CN&+YjXl(K~Ke}m*%dr
zpadskO-3Bi?5AU|Hp7$WnXd)psy{4UnthfGkHQ&n>qE&jg-A)`7qb^%@Ger_hEdxg
zJDxUBZ=Gv~@pOaq-_X8W|MKfRq%ipIc(fA4EP&iYcDobIz%f!au(QsX)c?cp&9b3G
zx9&31Ls>>5-dcwQsr*G(F_U5>Je)-R#8NwgPF1lHIc3H2$of7T5k3KQvaa9r6CZ}W
z;h#N2)_klzrgGY{0sbGvp9{5(eKxPwi$BG*im6q-Q?3Q&__8PP>8BnOJzj4*BlSKn
za!edy5`N4L&FYF{zT%wEAMXy0$%mIVIiZWYuH`_kF|7cKkivS(voEpq4S%flqkU)G
ze__E)EJq0^cT_(6*4*sub;s{j@!1`b!A#-aRk9nLeGvL8EHd}$)Aw-rK>pnvhNqlX
zFjM+Q`ZS+G-90@$Ki=M-pI5R&Rjd*h^3YO^F4mYDp5h^tP}Ocf!zkL98X-L;(;4(h
z^ADv^r}4b>VY%Cfq?5gN7SC=0{Jb+<;yR~w$VOyZ$<5XlX&@HJ@!<=+26#{sumZGk
zgFd2TPfCsCU-9*X0&<8~C~_{yb3B$-P_vn4-V>rB*zpMTgO{l5HaFeGW;t<95I1*l
z4sAK?D5h{+zIO#tHJAKPA?^R<G(bNmsQmWn6rtcun-}B0N=kBm_9e}oSC~!sD<nT2
ze1v>LcFCsqR60@t<@Xn-_zincZ0=o?r8_nYL~nTv1C9`633ek#|JyDqZI{o<R~3K<
z$+AKt<M_%$!8X60lAEsg$i8ozX$Qn5oKFA2^m4FWqUTo&xCIADK8v-jYsZ;5aFBCz
z0St}=!8B^fQ%=<DXjpUn8t6_rjU>Z4P13B`9IMMluz$7LpDuf^k6G9DjI9@-Q{ih&
z^N}`}oFE5d!MBsNoN-AJ#~<Xuf(2z|Uk@Zl*~`E2kQv9lK>tpvlb;;``&_e9E11`3
z*hA2n8^NDU-XqVSp><v?UKrsw#J>;QgisUF1rUQAt7LzP4icB<BdH=3<XQ;Pa1hsP
zhIVhfQu$=Ye#dk$#dpeR^ItO@cfmqYIyU6G_X`eAo8-?Przx{2(`#Eup2Gs639e0l
zx_Y938nMZNmndqf5-r(*n3{8MM8_nGf5_<O9a#xl>S#B20&@e!0wHQhVZ*WumcSzr
z>dx!t$P<&NQI=fT?&{ofMHRe8@pxz1uIs3ImBUuU&wr@Zyq04ZYLc;)Ba8`+M(JuS
zY22x`n`EyoceI^|?GkRS0!qstFt(1>1B)KFv9c4|gVY5C9mN=xU4ZhkN3^S$1@KmO
z_4Cz|=~~X_HW+1ltT539@Th#KvPViYI<2FeyE<S^_9V5tIsbWAd&8zAGC14Zp(>eH
z`S6qgUcegx`af5{h|ja{_3<+Embt?vFKVrv9-=DRi5^MMl`bv!t(vEn5>uf@)5*+`
zeV_P~yefCX6J+oII>3&mv<Xz<hwzdDy@Nh=y<~UhzT~pp(P_)k__+Vu2C72Zz@|Ir
zSmHQc8Oo^Z%ja<f&d>^Afn8@;yVgWP`qI5V)FG|>GLOY7zthBsdS~+D1)N}YMv~&2
z4Jh)D2av_$V-l|EO(-zGldRNOsLhijw_m?U!9;da?&awizvq!JmY5?<!I@j;0DG!B
ze{|>xaC^6Z*6De{z0L>l;}%q=R<tj3dW2#h!31n2bJes_%;FsBFE;1NgJm2BQ^W!n
z6kzc?6rx?56oZjj2c$khq0keJLKDmK)awR6{ueG#mVFq}h?orB3avj1`whc-1%Z-Y
zV8b7fwW=<;oJ;9WHt@cmhN*9xv(bCH#p>ImU&$526PEXYT-+->vz%sV<6I>?(^3Zf
z#~HoQ2btg|ApzwJ7f1ja3zj}PaHUil0SduD_0Qg`79xL@o_d7tL@j+`X~Q#Ui$gcK
zOHXsY+o$%Jqv;nOWDk$Ql>2D-Sb2B!SnXr=bF}e<HS@F?Ket0q&6!1lHle3of0E?x
zNDt|{${wV=PgMRiS5N@sMSs}Af@{$Gw1>lw0!fWKTCz(p?jm(x#&rgkE0<4#ZNiyr
zcv|_D$8waVJ3}|pZEi%qVc(k@G}0PFD!*Q&&hc<lX8+r3r1qleYT^*#QAJZ+Kx_mK
zi&avsxD@gPtlCD8SbQDpOH){CAo6xxQ|-DSyiT{S-J#ANbjp&CLI6G+9H|t|FZ0t_
z)xRb(IbJO*<k3$)Z}7%;xTX5|m2J^+O1Pm|VHzb>@7-yYzCROZFd&*Pu%M*G&J^(Y
zBUHBAjPU(>wT!S12JL;j|7*Oqt@vS4?e19krm~fpv`yekz$xV(IgaXU@T3q@Lih&K
zXda7Eg!AstWsG}c{OjjGA};2f`^uhmOAk~Z+~4~@jU1*DMvzB>cGsi?z!VW^WuZun
zCljpQ&k<n;qe|L~!Y1Z=!aAs-0gZDZv;oiBWHD+iIJ?ZeSw-8u)KJ#87KxEz=LQGC
zb32FCFSA!lHJwr*d;cw1)D37{=Zvpr-HES%0ANfd;VKIV2*9r6HfZ8=ObeFki%ATa
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

literal 0
HcmV?d00001

diff --git a/launcher/ui/themes/ThemeManager.cpp b/launcher/ui/themes/ThemeManager.cpp
index da104169c..8aae73417 100644
--- a/launcher/ui/themes/ThemeManager.cpp
+++ b/launcher/ui/themes/ThemeManager.cpp
@@ -299,6 +299,7 @@ void ThemeManager::initializeCatPacks()
 {
     QList<std::pair<QString, QString>> defaultCats{ { "kitteh", QObject::tr("Background Cat (from MultiMC)") },
                                                     { "typescript", QObject::tr("You should have used Typescript") },
+                                                    { "miside-screenshot", QObject::tr("MiSide screenshot") },
                                                     { "rory", QObject::tr("Rory ID 11 (drawn by Ashtaka)") },
                                                     { "rory-flat", QObject::tr("Rory ID 11 (flat edition, drawn by Ashtaka)") },
                                                     { "teawie", QObject::tr("Teawie (drawn by SympathyTea)") } };

From a6b46da3c8606b894bf32a2a417c939c11efd54e Mon Sep 17 00:00:00 2001
From: windstone-aristotle-yellow <notwindstone@gmail.com>
Date: Mon, 30 Dec 2024 14:17:43 +0300
Subject: [PATCH 176/177] feat: change launcher logo

---
 program_info/freesmlauncher.ico               | Bin 372526 -> 248894 bytes
 .../org.freesmTeam.freesmlauncher.svg         |  77 +++++-------------
 2 files changed, 21 insertions(+), 56 deletions(-)

diff --git a/program_info/freesmlauncher.ico b/program_info/freesmlauncher.ico
index 2f0fa67ff6be7681f76aa8ccbdfedabcef766b72..872f6a5c42408da052589d7b3f70acd84eb1f1d5 100644
GIT binary patch
literal 248894
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

literal 372526
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

diff --git a/program_info/org.freesmTeam.freesmlauncher.svg b/program_info/org.freesmTeam.freesmlauncher.svg
index 949cabdf3..9885f1962 100644
--- a/program_info/org.freesmTeam.freesmlauncher.svg
+++ b/program_info/org.freesmTeam.freesmlauncher.svg
@@ -1,57 +1,22 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg width="48" height="48" version="1.1" viewBox="0 0 12.7 12.7" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <title>Freesm Launcher Logo</title>
- <g stroke-width=".26458">
-  <path d="m6.35 6.35" fill="#99cd61"/>
-  <path d="m6.35 0.52917-2.5208 4.3656 2.5208 1.4552 2.5203-1.4552 0.10955-3.0996c-1.1511-0.66459-2.3388-1.2661-2.6298-1.2661z" fill="#df6277"/>
-  <path d="m8.9798 1.7952-2.6298 4.5548 2.5203 1.4552 2.5208-4.3656c-0.14552-0.25205-1.2601-0.97975-2.4112-1.6443z" fill="#fb9168"/>
-  <path d="m11.391 3.4396-5.041 2.9104 2.5203 1.4552 2.7389-1.4552c0-1.3292-0.072554-2.6584-0.21808-2.9104z" fill="#f3db6c"/>
-  <path d="m6.35 6.35v2.9104h5.041c0.14552-0.25205 0.21807-1.5812 0.21808-2.9104h-5.2591z" fill="#7ab392"/>
-  <path d="m6.35 6.35v2.9104l2.6298 1.6443c1.1511-0.66459 2.2657-1.3923 2.4112-1.6443l-5.041-2.9104z" fill="#4b7cbc"/>
-  <path d="m6.35 6.35-2.5208 1.4552 2.5208 4.3656c0.29104 0 1.4787-0.60148 2.6298-1.2661l-2.6298-4.5548z" fill="#6f488c"/>
-  <path d="m3.8292 4.8948-2.5203 4.3656c0.29104 0.5041 4.459 2.9104 5.041 2.9104v-5.8208l-2.5208-1.4552z" fill="#4d3f33"/>
-  <path d="m1.309 3.4396c-0.29104 0.5041-0.29104 5.3167 0 5.8208l5.041-2.9104v-2.9104h-5.041z" fill="#7a573b"/>
-  <path d="m6.35 0.52917c-0.58208-2e-8 -4.75 2.4063-5.041 2.9104l5.041 2.9104v-5.8208z" fill="#99cd61"/>
- </g>
- <g transform="matrix(.88 0 0 .88 -10.906 -1.2421)">
-  <g transform="translate(13.26 2.2776)">
-   <path transform="matrix(.96975 0 0 .96975 .1921 .1921)" d="m6.3498 2.9393c-0.34105 0-2.7827 1.4099-2.9532 1.7052l2.9532 5.1157 2.9538-5.1157c-0.17052-0.29535-2.6127-1.7052-2.9538-1.7052z" fill="#fff" stroke-width=".26458"/>
+<?xml version="1.0" encoding="utf-8"?>
+<svg viewBox="1.0907 0.5291 10.5185 11.6417" xmlns="http://www.w3.org/2000/svg">
+  <g stroke-width=".26458" id="g24" transform="matrix(1, 0, 0, 1, -7.105427357601002e-15, 0)">
+    <path d="m6.35 6.35" fill="#99cd61" id="path4"/>
+    <path d="m6.35 0.52917-2.5208 4.3656 2.5208 1.4552 2.5203-1.4552 0.10955-3.0996c-1.1511-0.66459-2.3388-1.2661-2.6298-1.2661z" id="path6" style="fill: rgb(245, 194, 231);"/>
+    <path d="m8.9798 1.7952-2.6298 4.5548 2.5203 1.4552 2.5208-4.3656c-0.14552-0.25205-1.2601-0.97975-2.4112-1.6443z" id="path8" style="fill: rgb(242, 205, 205);"/>
+    <path d="m11.391 3.4396-5.041 2.9104 2.5203 1.4552 2.7389-1.4552c0-1.3292-0.07255-2.6584-0.21808-2.9104z" id="path10" style="fill: rgb(245, 224, 220);"/>
+    <path d="m6.35 6.35v2.9104h5.041c0.14552-0.25205 0.21807-1.5812 0.21808-2.9104z" id="path12" style="fill: rgb(255, 241, 233);"/>
+    <path d="m6.35 6.35v2.9104l2.6298 1.6443c1.1511-0.66459 2.2657-1.3923 2.4112-1.6443z" id="path14" style="fill: rgb(249, 246, 243);"/>
+    <path d="m6.35 6.35-2.5208 1.4552 2.5208 4.3656c0.29104 0 1.4787-0.60148 2.6298-1.2661z" id="path16" style="fill: rgb(252, 252, 252);"/>
+    <path d="m3.8292 4.8948-2.5203 4.3656c0.29104 0.5041 4.459 2.9104 5.041 2.9104v-5.8208z" fill="#4d3f33" id="path18"/>
+    <path d="m1.309 3.4396c-0.29104 0.5041-0.29104 5.3167 0 5.8208l5.041-2.9104v-2.9104z" fill="#7a573b" id="path20"/>
+    <path d="m6.35 0.52917c-0.58208-2e-8 -4.75 2.4063-5.041 2.9104l5.041 2.9104z" id="path22" style="fill: rgb(203, 166, 247);"/>
   </g>
-  <path d="m16.746 6.9737 2.8639 4.9609c0.33073 0 2.6991-1.3672 2.8644-1.6536 0.16536-0.28642 0.16536-3.0209 0-3.3073l-2.8644 1.6536z" fill="#dfdfdf" stroke-width=".26458"/>
- </g>
- <path d="m3.8299 4.8948c-0.14551 0.25205-0.14553 2.6584 0 2.9104 0.14553 0.25204 2.2292 1.4552 2.5203 1.4552v-2.9104z" fill="#d6d2d2" stroke-width=".26458"/>
- <metadata>
-  <rdf:RDF>
-   <cc:Work rdf:about="">
-    <dc:title>Freesm Launcher Logo</dc:title>
-    <dc:date>19/10/2022</dc:date>
-    <dc:creator>
-     <cc:Agent>
-      <dc:title>Freesm Launcher</dc:title>
-     </cc:Agent>
-    </dc:creator>
-    <dc:contributor>
-     <cc:Agent>
-      <dc:title>NotWindstone, s0me1newithhand7s</dc:title>
-     </cc:Agent>
-    </dc:contributor>
-    <dc:source>https://github.com/FreesmTeam/FreesmLauncher</dc:source>
-    <dc:publisher>
-     <cc:Agent>
-      <dc:title>Freesm Launcher</dc:title>
-     </cc:Agent>
-    </dc:publisher>
-    <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/"/>
-   </cc:Work>
-   <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
-    <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
-    <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
-    <cc:requires rdf:resource="http://creativecommons.org/ns#Notice"/>
-    <cc:requires rdf:resource="http://creativecommons.org/ns#Attribution"/>
-    <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
-    <cc:requires rdf:resource="http://creativecommons.org/ns#ShareAlike"/>
-   </cc:License>
-  </rdf:RDF>
- </metadata>
-</svg>
+  <g transform="matrix(0.8799999952316284, 0, 0, 0.8799999952316284, -10.906000137329102, -1.2421000003814697)" id="g32">
+    <g transform="translate(13.26 2.2776)" id="g28">
+      <path transform="matrix(.96975 0 0 .96975 .1921 .1921)" d="m6.3498 2.9393c-0.34105 0-2.7827 1.4099-2.9532 1.7052l2.9532 5.1157 2.9538-5.1157c-0.17052-0.29535-2.6127-1.7052-2.9538-1.7052z" fill="#fff" stroke-width=".26458" id="path26"/>
+    </g>
+    <path d="m16.746 6.9737 2.8639 4.9609c0.33073 0 2.6991-1.3672 2.8644-1.6536 0.16536-0.28642 0.16536-3.0209 0-3.3073l-2.8644 1.6536z" fill="#dfdfdf" stroke-width=".26458" id="path30"/>
+  </g>
+  <path d="m3.8299 4.8948c-0.14551 0.25205-0.14553 2.6584 0 2.9104 0.14553 0.25204 2.2292 1.4552 2.5203 1.4552v-2.9104z" fill="#d6d2d2" stroke-width=".26458" id="path34" transform="matrix(1, 0, 0, 1, -7.105427357601002e-15, 0)"/>
+</svg>
\ No newline at end of file

From 40073049e8ee8a6320e995a6708941a863467412 Mon Sep 17 00:00:00 2001
From: windstone-aristotle-yellow <notwindstone@gmail.com>
Date: Mon, 30 Dec 2024 14:38:01 +0300
Subject: [PATCH 177/177] feat: fix launcher logos

---
 program_info/freesmlauncher.ico               | Bin 248894 -> 11013 bytes
 .../org.freesmTeam.freesmlauncher.svg         |  35 +++++++++---------
 2 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/program_info/freesmlauncher.ico b/program_info/freesmlauncher.ico
index 872f6a5c42408da052589d7b3f70acd84eb1f1d5..573e943fcc83325ebfd6aba242693d6c66f9ba6c 100644
GIT binary patch
literal 11013
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
LhT1in4(R^}#KdYc

literal 248894
zcmeI534j#Uwf9R<c_e-sqbB+EGaA3d<Rv~Mt1ut~ZUI?E7!Ywc(Wtm9o3bP>xEq(C
zahFw5T!I=ES!ADu0R|Xg7^Y_i=-HRvmzlZme{OY6*EHQd-95e3a!U_Y-M6}``p*6J
zx#!$-&y}R(@L#PY;oozm-{p6geum@ULFhfHoBTc<N*{NZHk>SR;jhI%x~hRb*`uZ2
zL&ivbAboKx{p}2?_s}sv!TW<C4?$M^anMx<Uw>zbi!pYvrKM#B<RQo)$f*Yo9FSUD
zTe;x1L?Sj(1EL0!Qv-c386)+(^iNX1p(7+>wcoIj#Of(vH5;!VgM1IMLVOVR$H7-I
zunJTe1B)a+h!yfZ<S|G#cs&Js&MHomNc?_(avoS*Mbv-^YoPa#QP88K!00HcfA+|3
zVDWs&G{_oA9fXBS7*-W#m3<vJT?4rXa(-J|TQ}0R3cDt(X7QCp4J1?py`e`h8i;;w
zHVO54NA<*>bm+^F5=blL7)F)%VqjHawiSGqKwgDpLwZ7Z|5(wr34H<aAyEScuL0Pd
zWP5T(`wklodvweh;4cUA1*BeKv9o;~tSZdXz8>-gBnLY744==(^(^g4#3pLM>^0DD
z=vC00qj?_}3`zqB4kuR6!|?-<jSvqcq7DsLmLRJNw;u4i5%K`+*Yilf;<()xMX$vs
zYQRi2&<|W@WsfA?$@{r|hmPppd+6xjgT48XJ&=}g9LDlq7g<%9rT+0A$b9J8KY-Eh
z#4P!rTrQW;wPtFpCjG8`E*T~D9e5Szvp0AJt3CP-9dj`ld<jw(3yYndlO$FZW@%pr
z`3GbGSnWZ6C=y}QnzRuc{A>3eI#T+d%f^CDjJFJhzbJcj56C6p?oG(i&iIR`JO!*O
z+|szun~+Q3JMMwKguS$7%NEJ&^&0#yD88Q2YoPC7^m8u-qwp1hHwnz1i2Yy)F<J$Q
z%NC90{1mdPFk1yq--2!(3^|c>EV1hGc(|@L`rlN1KjYOvfB20^NROhQdptNB2zdjN
z5=Iq{)4-~l*?)oCf$$ZdK(;LDSrV~{8qh-x^hMl4Kg2Ik3}F9Z!@DDnp&vN<Cxl{)
zlCDQXubD<x6=tb#yb#hKoN^x&@k;tuY@!CVSOf6mVtiEY>t+oeg&3nzy}=R1FB}Qw
zDV47?z^cOR5%Bs7q&NId-LU7p3TCy~TFv=P>KKM!jf3wfd-Mg6=OLA;WHQpVGsvpK
zY$Z5-0rEfOD<)QnTN1H}8puQq(AcOlKKcwE05J@|0Y5Z8nv}7ZNGx{tz6MxTn6-dY
z8lU|QF-xqHO-mv+Q3L6y0U8(WMf1|I|LtX0(EeP=bO^;Tv_VpClSaFThFB$L+aP-(
zGa%<GdY0lA1+(dBt>(N3_>cy`Z$v($i!m<^%$|k!?tyHFBphdi&nA^^jj^ieSfJXn
z9dZx!>{-Mtu_~A~CrhdN))cR+^mj?8B0lhR@O2wxGlb6>O*U^`xt>N@RhXr@v|Avz
zfz{K=mQ_ot{)XbZ#;*Z+UYeYP0lc0BojMsDt%bxLQ{NT-;`yw`Syh<zg4cDBYr*PC
z*bD!Y@o`GYH|#@mU-<kNK1Yq_j}C`?264y3O(xFO39AaTZgBb;cpZ*CpFb<cW>eCn
z4R=wpMSEwD<$j|+myA9EtPO!If;47=yF~7(GgcL58^P)#$Pn1FCt~03H#S@&6JMxH
zH9(A#fDP%Q><PyqE|B6FDAp*Y@qmf2*x6@v%BsRF#TqY!E!zijoWd;a#b)jr;B(Y4
zPYvx~x<J;aG)B4rQr;O8S}oT(s|vFf;PYw7`O4TV?McLDt{Ui@Jx=O7WCHi^_P%r+
zu}b4F_d|-c%3!R|We`>sX7_>DhaqRtJRb5H3wzcatdcF-BYQsBB%cxGWf*%Z7`O?t
z3F42H2Q8mxFjk3K+BQRO2CF~Cp4+lktCjD~(Q?i6EiW26PU?j?hF<9F_Qt+X_Sl{n
zgBc0tzJ_Stw;RuIg8^ApbS(LdzXq?Pu;)Hwil-nEePd&=jJcyy-zz3^-_b=wM;(uN
zhCyiiA3${D+ZC+xoa73#O<<LL#)H7=@otY#s%}94Sj?N%EwFutVeDmi4s<AV=@81D
zGKO-Gy$DHa&XjmKO2@ed)~gDu%AV%UzU1}#f8Wy9DmmOfsm|Ue*<507fS#ZQ6P(dL
zl(T;5n4jY{`Hl9agOyC*!$hnypWn|MZtp(3%lm-c<@<%h<pHZ+E_!OOW_(ui87Z+0
z7%%-1SiJ`9tcMuFZxqY#fSFizd3+3<lK3G%KqfT1+&{)%azMY@z^>S|RRgqk8ecyR
z`t+iq6S^TjZ~)ph*`&5u+P9I;F$=3+pI_lry|;tYMRvD$fYZ&o5wnVDtHqk{X=qKR
zv;X@b`n&KS4Z}K3*`t36?jDC!7>U1lzKa=H_4`|x)7`F9)vPMV6=3vn$S*moPA~Tr
z<1^-iB*Wjh7r4wCc(rVk^0Cq}Cxh4P(Wdhu8K3VR4_nDT*9@$BykT{!!l|-v1E&R$
z8|)76$(&iYS8A$pNe;0_Pg)2bH1rDTf`Qi}?uc@cjX|D3zJ}T-*t?S5?)7**qq7?D
zCn-F}vUh>gm5^-ojk`ObV=F8TlD|ddSxhCcyswLXue@H<=wE>)irr01E>FF1Yjjps
z{-jtqRi9G@UKhY`d|tED4c`;|PtdbsOKuGW=abTWm{F&In_D0Sdf_LX&uL^<$)5zq
z)chrKTm)wS>~wig!JhLfnC&{R<U69cU9@$Y`%V2_T3_OGi0JP|$kSw0R{bsTCk4l7
z5@A&R88<ln9CC@%<Lyq&+C31VXXA#Ja_;_N*m$fh5r}EX9(5l06#d-@e4=jJ^Q#$^
z)foLrY93=brhf6$VD$fUUcqb)b4bmY(<8RdYXI$zukTH3O@LMScSqj{5&c~ik7_nU
zkB!J`3}ZC0a2f3!@)zF-IoS^16U9FfyJ8Dp188${Ul+Qx*U+)u@Hz|fF~kXJ*BjzE
zdR-WiRmA5<<1ATaPVo6LWRTnG?ncboojxw%Tdeus9W?Yx>5u61f<Z3OrDx-q^4FU-
zo}nwhM@D1SmmGgmJUmkz#e9d;bGF^>hJN)(jSh#Y$9QOMQkqNJd+-Q~H=?x<DPQ0O
zNG_zcEA7?HpEVMz<WK6t7)?BUhMwCBUUMN6>@N3@Y)+5V)Z~+FcEnPc(3YijNl7mL
z(>0_|dqLiXm@a-d*}p4BVl_g{Zzxx(d~E}-@1j54i!t<v9k62|X4xp-s6XbD2J!|{
z4ttufR+{WKYu4)-h1E3plj32#6wKZa{dzjtu}-pO4a_X%Q6ZtYhOA3Q&{*jekgp(`
zSqsJpd>e&Tw>K^Rq<DC30k2=de!ar&z?dv}ZEAF*Z|pXVn(d36p785(M*9u9iu5VP
z20jO=F#;P}`wm86HG!Dlc$n+zxiw(+dC0F^$n`{X+u^2`nq4kkGusz=8A#BcCFHRu
z-_aBZ&4m$TFe$17Be0qwe^R^*=Y!YlY;JE)JLcLo^PCj=vt_BD+c%5WniwTXD_<vF
z`Umj&9z^(#QpBk8`=@tSHQ-N*hgtGHy@$A`KTs}3iYs;?R#7kU#l6wr<#|-NpLf(x
z(1z}W=srib!h+WKdS+E){-k)AEe5l9I^Eu%P>wd(+7f<qG}|ZUYm^S7c!sgk|LHrO
z`n~-iG_TZ9`F91Y9rAxFIR%rlPf^ToJj`|FT$&HC60G(k9cy!9PCN3UIyB}lrtz2l
zJU;`?SsQy2=9x}In?9)Zc5TGx)2m+9xIZZ#hG~3fT9e&*67_{$HjhN}+qJOC^VVel
z5tzLY?SDB$=+YG1rICJT^vbFR$7tf=GxS{2vCF~eA1Rk2%>^LI)JFO2`%%7Z9>+V1
ze7rROTiB%;VpL&QkE|wX4tXdqT6j%%>@DE5C-zd4%_}uK(yL>MPm1B~Esw{XkJoQQ
z#Qg6Jb4tAGjnxds{HBX#%J=j(a*dx4-xKc-+Yw)!>aG7}S4%(p=`Xo1#ad3sqiu|U
zi1AVlFiM>2kyV}hlj7kW<FTHr+)m%|l<SE-^B>8UqV;5XUNXc8k}ic^dK%gV&0DKe
z+KAX|BfdjVdX>g#;5Ut@z3ctlI_TK>_|B)1f7tHvV}5M%`o#Sx&VDHINqHJZkWQsJ
zF)JaaS$9HDze9Rr)nNXlSbs-oJ&%=$b?RmJf>+9^=x`xcv1>7kG#1kvoRaj*zKZ(1
zG{1DOp4zV2o>ecb8fc6rRz^e5+Y4qV*qn~zvFABsy5cKV=9u;wI*Rfh&4JXLt?ldW
z`|5#J6Zn%txs3F>9yaV8u*%m3AUigZjpu5h@tC2be}?wD5F+}#8uB4U`VG+ot2&GM
zjl@~9-lsnCLU4Kp*ROH<h|vzXuNOI1&cg8$h{&m;15Sxwt+T4*nBQcv8SXliGiC|o
zEY53;`c>f+`?DeBLlX1XbW{ggXVs&<IppEk$<%wa?#|h<@Y;XGO;W$haxm9)B<WMZ
zsg4*`ep4?TG=eRBX9>c`SyJNZTaceDSt9&NF|F@Gyq?vJe5Xy$$m?VEyJE7`_sZ*j
z(r4({5Ae4)_1cI^+t<S$W8SRSB_kQ)KH1<uO=RyZ{)n}<wkD0SWU;D~Ipmqrsmgt^
z7Nu`dle6Vio2w<Pt0`;Jqf*v2_e)t5r%xU*=C7`Pm*<GSug3K%F-m+69eFML^RyZ4
z=@%EW&%XGE?buPojvhVAYHMqm-EL=IuQ%h|8aU=xVJs<o=u=j2Z}rtQv+L??Z4&m!
z@Hz;rLQWVoY1W4jmNnsFcJavDSl>&p5zK0gS<<2XFCE9mUw1oO@ccj77puNydHFk7
zQBg6M{rgK;Sy>qui^akYA3n?)8XB0(<zjxnKkeKmdEKa_FoAxirmkZHqYd^JR%2^p
z)y<6LLvVURD63i5&IG5kNzMbO#l)&21IORb`j5Dg^&K`2%#IS=W{6wf&xIZx{HF=*
z#@ioc3*TJC*8Q-Bv$=csKEB_zYcC^Fv#Kyl`-+MRR#Su3l^hP{^ZC-otchZN<K`c^
z)mWpWh1CWbRah+sujfIe>V}|hm06tyR%eZbcok0D_c=4!z^m_J{jQwC`k>Dxm`$H=
zT((6=p`SaMO?!AQdvEaywsl)UyAD<ORPQ6Ps&GrX)@rpfo6VMTX62Y)ZRs$r=+q{M
zpViq~6*fcnUT`|9+SZZPA(Np~$Il^F=d|;w(yj7)vsqTobOu|N^}Bo$cqL}j*JjOj
zFEyk0J~E%JSotN}zI_+ly<6_*s@V)Z?u=D6vt-vcH#et@S(C>6M%AwYo0Oq{8_H+s
z>p7%TYwSV2I$-h)DQnV9vQ<|_W;NI^=C<spKMPwn1;15FUzhwv_fA(BEdrzac>gw(
z%W$t_Wi{2zW?<c@sElM<pN6qXL)i>{y$ZVZgsP?>tAj|dPM&opINcQstI9b8uXzBr
z>`ky`uNFGCi`){UB*R8s%kFDuRMw;6c#QU5ysV~zSrPLa?DyMTzDPD{D4U_Li_ix?
zllsB54a-?TeP5D`Ayo>8G4B;y_D@q`%Z?ScYy!;o0;5Al<gmLQd<=cvRjeS;*Nw(w
zw6a85RWsXFd)DjqYg)&pOUIH;S{vCW4P`U*brtmL0P+PlIhl0%#23IR`GIGRhxlV=
zw1YiMw(JbpvUdtwHV#&a(E*oV&2GKx5%xZOM%!`=xjh<<!&u6?%4#UHG)5cGSdWPL
z^|Cl@(ojCtul-<kJOuemnUpp8F==qlbYk`H#5fJwvGn<@i4U^@WXoPQLG+6wa7&ER
z_~^B_+{4~@dkNdJHM(Cn7CzPIB#Tuwv(?qr%;|K-#H^Y9NyKQ#IH{VwM2_#~zF^p_
zWUFRPnR^^Kdny^MD%Z%m=0SF`uw^^^UXeZ8Z`c?%e(D|UrPtnOn>OXL-GTT8HEUfx
zPByCwv*qRGJQj*#Dk8-lnl<LP3pQzI{62NGjvYt-C9tLVfEO#AC2vpTviGw7Cbwm|
zZx^vfBPZU%o_g*zws!sIsN<trWmRF8Vk+wE>zT*nIfhv?#{70NPTCoZos}=PHp;$W
zVii8%p4e|l9;51h@oY8-w(P*McQMQjfSxhWxU9^m9LMm`>?hcl|M{Nn+_|Sij8Rv)
z4EOm|=~abQWnWoY$r>9Q+s9_jHiw-0yLI-6u?(Ft7;E_k*sDFsX3ffhUd@?xDmdMl
z8dihcW=(tqw(MU_VaxWqM2-i%^ZrM<Z+FLz-6>~O;Wk~YD$L696gGx@L8kEiw%er5
z?XkPDa+k<?yK0-+skP_>51u@egyMipQq8JzeQwKMb&Da#Wo4UmESqxcz3i>`mLVQ+
zds2M63Wu@m)6FU|OL2=wj#^nmlg+Tal1<tWK6W<|24nq93C3*Bqj8(T=mSIgfTJS{
zOX=AMY}w)0V_cTz1?W3okr*WzGx;|5>`Sk+4I8(m)FzF_Y$jM$bS(Lws;X;Qqs?I$
zW+}d29w$wU9t~yq2>QQ$s1FP-Nrpq3)5B=6Pt5N}<FaG#*0n85j8bep*`#0nXAO@9
zr1@#lcuHkiCRtUOt*EGEHFXWF+2PhTvrSIK*Qeel4dqk)x*41fuL`m{72LFBgjF6>
zfmjN%Wk=r*TXv#ubS#f$xD2rjcTZ<4K3Rp>`l7Viq|sQ{0;>wMhmRa(^^MKU=G2!h
zE5|Z)m`|$aC!NQwV09|#)ht=B-jO*@JL=i22^g2<w(NM#GD~`t`t0MT{Dr;r>f4BA
z$d4<wJ{o7qDAN+FvMpQAtW`Cv$>!9&j^*+7ut`;OzSGHNq<h^#dUe3HG{=0_46U%L
zJjcNC_p$!%wybvMxRZZ($cRbok;k55->=z_F`G0R(^_Ly(XqT=TwAZnez82~n__n}
zVv|N<RC#~86|4@PG`l<act&AFJNv-6>^Ru6?Q`5S=YNvp0>`qO?|hgo{qQr*^moHC
zt5sGNW|e+%y5i?MyN?EJQiaJ#`)3em*nRM%89l(~TiRi?W1pCw3;Eh$%ih8IUY>qi
zR`Kr+AAckKyKk^foAWeblZIndc~9%CD*fWBYV?cknd=v~+oYY(`HsX;y54^a_G%A|
z*Zdefe4=Gmm1oPE@DTE~-HJKx>9J*r(?M5Gz+AOCJpUN6kV*fp!eVE8J+P|i*b2lx
z)z&wr)%T=Pn=~5tpMcdL56YQ!GFVux@Sul1&(}8m2G)n?YfFB=m>9(xdF*QB34Hyn
z#Vj{Z&JoxdBU&lf6RWb0wXmbss+5n(YTPD`#_DRY3QlKIeBl;7Fxuf6DaLr*w4~dz
z#3|*&rm@o1-){(vmCE@6wZdX&&!IO~JLp)9$);j_M+Y`(G*-934@{h%28k<oO9y5;
z%sD^S)=c%evMu{p*s@*EJx-inJ>_=91}<m$`8##d-wnsDURmv+W1Eu`_axh-t+C`G
zi^fW(%XUGpo(6lB@+=)lHB+g+zHG}TmU~>u&v5rcbJ>5sU6=8=qj3Di^PZkr?Vw}p
z6W6f`<RQy6kJ0Xb0DARI*sH$=N2RG|DP7mk;`!QQ&pl4M^onuUvlm`@ljS0ZiXMDN
zopEafRuvs<t*U0tc2~?X6gsv^qp@0wx#qtflr!@}a8#ZymeO+{%nN`m+yBbzqULKO
zPOrP|UOs1y+P@JvrSD-BRuvsvdH6_7^LJ7_=Q|opsV*x=ANWG(RmxwO<~cTLvTJ$n
zaV1|{&|gf9UVPa&p4)THx=n^*RMEFaW0jaKFRx&=5&TXDu}P!xex%06h|^(^_;ZbB
z*rybaepaueMVwOZz*+O2Y0pWfv~i>CjmWCfC$6roYxffy%qES-YE^X;BTlb^)Wy^G
z^?L5W@ei;8SKW+Q-UV!HAa|fq_*8!nqq3^-T2tGA+}N6p-HpavqGfgH0~4p$KpOSR
zUp&u^Ts3UWU!Gv!e7~9J4^+2rBOM!=Rk=T0$*LNBiMD$^ey$O$5~tTeZ1J>ty`DP|
zYXm&_#9M58;qHvh15d|qg3(zeUdez%`!$Q$@Lh@1+aON8@)yr@XMxpM-u=wbI+cD4
z%)n|TlIEI-RVThHaZ362J@K@8J)Vm>_3YBAbJ(&^SEoH!Svqv7`W|Lrwc>CUt8Pkp
zzE7?E9(ceiarzJ>!F6oXH1?7NpEK#y(Xds&UM=U*R<~`V9h-sG@`@v@s?o0%mQwv3
zw5|<tI$w`^GTvt%IB_PMc=t1G!)97LMqjb`@&1;WfmMqId0`s7sb)k=*C$S&jJMtE
z@qA)+>H{yZ{DNJE_A3$BW?;3f%)+eoZY{Bt>SrNNpVcFK@jf%Lde@wVtPuI{<JD7o
zJKr3vma(I?j#TrZrRx)?FUQ;N^>{wnt1}k7%h!|98+-9SuUS~7B-i-gEJB>Vp-1-O
zeP&|y?=LSkyiO&q&BE&8sz$SLO5c+>eJ|d2ugCK#X6gBVeQbEYl9^bow3=#+l{j6d
zNA?nV<~J7o+wgG^W@5GCNR65FDsifd9EORo8Ty&GmwjdUI0*BwdWcmVt~L{^#ObQg
zHf_Y$*;5{6%Mr7*XZJqC+pOlWSBX`MUD9Np{8apg5U1Z7kxlh?qWHqgZ<xzIS+!2+
zRm8nh?7I=9yz(fkGEbZ#ak@_3u8nw1ex)mKn$JG_YQ139Ae_=~4QI8nB^5eMi`QHW
zHa8iOPxW`A@tUh{{X1Lr?MC5SG7_uiiU}r8^VIFyh{x)<{oNT{!<hU&=@4_+tI(?z
zhs_kfp9?m37?Dr)cOq8D-?@N&zkZwH@}Pxd-z=<Jh*k6ChbTmw-mPxeMm(l`5H!bT
z-3INi@fMD~c;7P(tL2qunrlOx?l&Tz>hC02HHP0e)OT$`9#Rv{iz7}CsoS*?k7<t0
z<a?iE8~NPT;<VU|@#?~4o^Kw#3RdeqTJ+hb;+be|j7lT&ss2vH>XiGQXPdWf7xBOb
z@&ohv=H_9QI5m83U}E+92VZ2{a<PtTntZXz)RXaE%Pe}e%wnqf=ESMta|08rH$D6k
z%gZ-@P6*;!uxiLTt;A`wy1!_|V`BA2!KxwR3Oo9jupWAyY4W%br*<Rqss2uaRb%>r
ziQA)fu2lGOw0KS8)bM${MITtOYJglX#Hr!)cn_F3gWWpg6;tFzGnKt+F1_jot3Gvq
z(TK;y>Yr!6Vv4+If>lHMm8ehd1)D8K<Wv2f%*N`zeFqHaM+)DMH<7(cYh$#j+qDso
z&Bkg;Nhz~f!nf^?epLORbEMXZxi)Ram!`H>!D@Qusl^-55byarckX3-_UvPol}DJv
z;baXB4XmP~!tna_P<az8t#Fw^NT-TEu+C$diZCa)tgM_hH``ciYb#SWkH^DmYHFZk
zErw;b)Y8ZfTAXGO;#BySbj)f=$stx>-^f~8S`<V(?AzMfnA3@VVpWwPnKcos#HlI9
zY>egy-nXv={M9h8*V}>3NH0j=+H5v<`0!yv=~xr7N}QS?7Gegw`H_FHg6&1Ro)0J6
zr2E0!QRa5LBVif!eV@<AZQ07oN<%PfB34~sRm2!-ybnx_l1*x{R6sY{JJ_UA!HiN!
zwrp)}t?v89CSsL1HAU>cp6A&dJXi)@*q9VX)%fb)mbEYwu}YkpVouzR59x1C9NDDR
z)isRzt*P7;TlUD2BRcCB6RS;T@B!0zBu-5+*ZjKsDKA8!F7iU`-MgP1Jz52u)RRg?
zkGZzr@7I|vYbsXj!K!I;xNOpJ4i~aXcVn#`vPtcB2c!OJrZ&ZvEiW(ExSll?tHh}(
za-&hcB`vdBT54g9jZG29Nz=_O{Z_bKE{%`NmZJ~cY?eMSacYX3qdC)_W$QQPYc7}f
z{{06LTU4tVMniuSv~A0pidEv&6uG=7-1RhD`$Mi~SS>C-z-?0MZ|Y$qTeh*W5%I=a
z8kemwlV05eR!y-+#<)A4V&ARZno(AF?%cy|((>}di2HNt0nuZgk>aH4>gt#_Y*|yW
zN}QTv?WwVMJjuRYvn6A!QY-`6q)koDn(gl%17?Ib$d;wJsp{(L498MbLa*A)Vy_aX
zrdZQ)<ZX|$FEg~J<ADRE&_xZ*?++he9{~x?zfHER-EL=At2HD3;zMPX;M8swR*6%w
zR&t7B4EOHUmra`Jj|0u|X=-XpyDfXD?68?wB~EE=b7piIHgyhL@x_|7tZPnlzALbf
zFWID-94Aeby+l8!*s|%G<1Vx6FpFL#PFES7Q~G|{Qyyi@KU>ZAAl@L}oC~p@UsSZW
z-6o~}p&7Sy+Omhrj(}6suu7b+Gy|*j9pC@xo0PE{v`PJDMD&>Ntk|+gj~-2#|4C-m
z6geTN??9X`GYhM)z4v+2{lGL%YPD7|k0-V{-^Vm+gTFzxY;$vSO6Is9DzloU|4ZMK
zIDO9ytY+oRV$Z#?B5CWyDS61uW|JoR(?WBFXk0d#w(Oy@YBRC=J~(~D9IVb{kH50C
z%eE?wlO8%$&c{j3<Tpx`QT68(TbA;*B_o#NP+5(cSp63`ec3Fm&VKg&F6G`Qo3y^3
z#z}=us%9|WV`A3fa3IFAYqo5urOr&Oz5-64H3O@({?uJ_7ACZ&jck)v$DD^O-nMJj
z^Sf%xmRcIj#42(6q*++K0c)FYk0U>tuu0SND?+wxeSLkL{bEz)Z=v5L;&i?#Sk0Nq
zXs(SsFD`nneZ?lFJY>QqO%Jc}+p^_ozowbHN~{v64?$>M8$-t~Wr0<S30~DnOt73A
z+jz0N=^?J`cOhme_jqS9#&RsMY2x<%V3jz%8)Eo;-t=2E?7BH@>B{fI#u-u`GMe+9
z>O5p!Z_Vbo0>x598<#a%%#sJJPD2~M4Py9w-oz@&i*J5{cnG-<tj>*1`AWp5y&9n3
z&T#8!9V)9blV8aRR*BQ85S!ALjl3U-e(=Ljz0C>>cXQoZUS65;JY?FVLz_>etfQrj
z%a&T|&BUq=tP-c!Kn$NFn0|w39oB2_c@Ar3>`6&(Y;Cr3<2)7Fvef@MYDEl0nW_9r
zjbN2Hy$WLJ9Kl)ObTH)lKQCY(J^2x9+FHt3i#g}P=$%}ezEoN1W<`7KZ2v*i%(1Bh
ztHkLrNEO6zeqdsh{J&#w`a65=vG-Z&o9mc+X&&=@Sit;+m5liXuX<v)rKJtAP9C;n
zhn*D^*bvuZV|$A2?7$(z&$X#KSneD)C}-Bi;Pi;mSS8!^%BgeNyoX+Ag|B_fTuXDA
zcUeAXm3VdI*tg{nYjcYEF?!(D=WD~<IyYijY@AbKRgoP#?W}megO!vSmf0gE<&FV^
za%Nr#PRotLDlwXU?W63zY5!nrUidd_TC}wzqr|C7ysP)I)@qv`nyYD_(Qa>H2M)N}
z*;E)+?}_1^MRvCDfFb+E<s}y9h0v?N2B)QZXO$QwoAidiJk36SY6Yu#Zxd(KqvBG{
zX#4S!T;}<72W#0^CHlk~`!#57ZNoe|AAI(XsGNo}E8DV$(y@n1EzVz~eV++V59pOu
zvPp^4Yi@p=y)owlR`%9<MtpY4sG8v=(6!40ed6ZC)*#kcGuQp&cs#AV&s$h1+oozB
zV>vD?G?XoSptRgYoSp{Rr8ia;M*jqx^zldj#da<H4mK$mRokR$9%DHMv!1W^u$Du0
z!cUwb+R4vbU+-gk_r|VEqp?f2?B0F4w`GeCmN`!!G->9k;B<?gSS3Ar>6FLV1NXel
z*1x!lHFsi@w)b~q<kkIA0rPFMu(l?lW7CPOqDvJ&Z!`wuDO20BI`uzo#hA^hgL7t`
z3{F?;fmIrR89aG5yZQEK*{2IWX0`8cj_Nmxi_uVyxsKh<TFRhf#n?_tkxjNPjl?lA
zTeMr3<FczUW^?l3oS8ocr=Mt<RX$D%yL7@WPp~)VE@Bq4NzvDh%O(wFF_zb4$6_p&
z#&%lk9Vu<EX1%!6+0t&8=H~~;VIuLCjQ7cw-Mts%vZcE5KdnS=)gKSenb8BBzNJN0
z6`OSU)OqZw>2I>#3s-ZSw8J=QEX;NF9MZ9$?_~aBD{J$J{4L4&U7_*Pni?P5vnM%r
zX(9~k$d-M(q|DJ{$mChw!Ra$vV^y(9AG-Gyw&A5OnSJrL)b)2`VVQI+bh&rUe%5-l
znX$|*JDv<wGIkAw^kTk53p;qw6*jIR5$3x3nVq{3OM!7&4coHM9<sQ)512Sp0;kip
z!m2V(`scqs$Nv5FN>-Ojn=}?iL(ie{*iQ<Xub=|HCozvM9_Yz;R9WdkE=fB}SAREF
zj>(qYrCnQg#@^y43FE88>K&P8mHbB3=gqn0N%qdXCG7A!8)A!P2xTc<uc=@B?;_Sx
zTFctJqF)@1S--!H)z&6&941!&5;;$!w(K1x78h|!LUZF<GQq22la9P$K6`HF+idUa
z-^=m!>0+)c_X+r(<bH9J=og0otM2a-1BtMcsn5{35g(V${Jelxn!5^7SRD>do72rI
z^>;7BIO+8JUS(Te{)#!!zf8N|s4J{0pQV2B%0fPONA!zjV9CE*QQ_wO-AwV8jQeW9
zmbD?ia0G<+fzc1{15VR6*M=A!f^pK@?|hzp`OK%R?t>JLlPWx=X;1xP?k{%xLbQxI
zUQ&NI-Wc9wFqO({D7Ngr%*>ZPf|#Yg5DBsSB<F$El2q$e>hID$Cf)iZd;f1s*^zfQ
zq-UHoO`P)B3&mfI`8zEY4UGAWwU&9LUmS{OXlU?bK8#Z{{@rBryFD}GvL*0Op9hf!
zPMj@aT_%b%+?gs?6`OPvY|<BIy~Fms5wJ<S61$sD{t~$t`o%m}al=7*&K((VM%?hV
zeD+q>aKOv<6u`f$npc`^R<v@xLfEo<D8@KFw(PD$<?d6<%H7hS$<V8lXY~Z98&bil
zY?IDmGw*+m<-PhJ{o167@JgQvjPXz&iZ&z7;R!HmEA_IPZ7ybA?_`HIIoNg+u&VrK
z?4&vFsUMf!0KZaC@-0E<Nm-L;od8Z3C6iTRG#fVQU+;Q>ef{ibtTCDK^@(zmsn1cr
z829G3?9Rii&F;~)hHdq>F?+d>)#S>I5~tQ5oa`uM@3zF|uqo|dZ+mXb(j51al+AHp
zj9B0kAe`0ylV%<VPM=B!t29nZ*O_wLQ*7zu%h}O)H)?yFG@bk^%zlMA0VOrM8<%ZG
zT%fDU&*}=@oK500RLVCx*p4*C^=gT0vSs-k_vFVIFF07~=*C%{{HQcIXF84DQ2zad
z^P`bX%JY!j_&4^C+3&KFf34NeIB7b0rF#*xnA`6C9{#6t_@DgR_CK}4x9hHHVfDK_
ztZF0p4Cv8NPL<aOwwOz|s(&-&d~J?o=4+c)VsT3cEq3Yhi7$Xt9%ncntR}Rs4fS`g
z!1@z&9$d%@Uj2sKq+Ocxoo;qAbwBQZ+RnV|OIS-~qvm|ZZNz9@3v1X7MmKfNsKV;u
z4NkTz&%C@6yGhE|)&e{Ano{_H_td$iVL1zwcnHd87+3C5Zj&Mp*<E+N$i98<b939I
zUE!UWT_H2udIa%L8J;iOhVd6~V+(8CON<6=(lGs9h0SpL(#_`bGpTi}a-0NPwi+=I
z11JunxY{MrHfZu}@&!{qmzZ+7C^qR-<i=k9#D~l(Y|;+75fh%{9$?l-<2+W(<w<wG
zaq{iju;vrSU#ho&(Kz{3pMMm(bx*Fjb!$7b?Y3;({->gY7S~x2&MEyfVDb$3m}ZhM
zcoig~&8m!(Qf};59(|AJ#^!m*j66=-6@8iLXK9@0W6b5*RLWYbh}jg6&8ivQnwTC{
zbE+JdV+^OzgnlN4(a?PYw(OTB<?a*rV{BE~5bq}q8b62n!gIp0sxV5qvFAT5=f-xT
zJ?S!bH&K4l{W<bKDa?|dO+nw7_jQ|9dbAUtk-}g+`+Zx5ZVhFY&vB0}_xRj0ORH2?
z)}){+WnIgCOT_9(h*!-k*`z~ZlTN$)CAJp1v6~l1&yAgM|1aGv=;?lezOna*<oKXy
z?1g+rjl~{Ty*YV$G#tZ~@Eh;U)7KoEP_|O?TFE_5<Fet`3-H3PG^!N+-~FYw5LTgE
zC(Wj~;9_Ex7^U3UH~r-qw&KZ;SaqzqvGv4&-kz11MUF-8H%893Hb;Exdr%C6tJ*J*
zy~N?y4aZ<S@0D!HT%MMcaF)c_Eb>1^SVyZEoSqlTDnUDF62@64J$eHAyB|`Y_iEUr
z3FpSv8v}ZK-oW^*=gZy9k2t8-24_UyaT|tiDPGr6>0@;}+^h;dpU%cd<KZxtbC2Mj
zMZ(V%b^fkA$GyY2>_>+xJSUV^dfIiWa*zd9@4V{;Y19pWoAUQZ-tg`G=XZ>3QZY^{
z#|LV%Z?D8bVeTyHT7PjBpC{1j^mBi%^RS;a>_I=5{6*x`O@Tcc3#)Wa8I9oxKT}j*
zsSgksm-V4vJoNy^RZA<5WtEuCef4W;?F(O=+VH`aMerN7X|jFlO$Vmyd8vPldwDQU
z+x%T6##|5wm;oIciCu~nE;d=LaH9Qh^ov&_kMU1;6$R~7MW-tJl?zr#MGIF;{$&Mc
z;qSguu&QC58tFFx%r>sFK#z89d^8esU3tI4q_M(rGP}8;p!tFwJ8crymQ~OUy9b{V
ziDzm4+1P&~c-0xN3acBm$0~7tK#bu;>jx937v<;Mr5!u!!}1yWrot=sq+gdnS|Q1a
z%@Nm0Z9Qt7Rf-iZGI^|U7(LsD_r3+E7ZRt1g$<C#P%I<9M&4?!U)@Xd&j6?Yg!l!o
zI{3ZPIIE;v4~bY|wQlu-({~{M7b5N4Ssxdt3c%o$^NO_+PX?!tLFxpr8s}99tnyf4
z;b$UVn;|oxPk&0Bk|er;QOUJ5S8_t!%eNg5POpLN6})PgR~@iQx|L#u%{V6=JSsZ1
z1jpAG7B-y#R>7$(iLy$c^DQrs>`S*ozvfD=W#o6t?FClJM=bipTC}}&!Yc8)-<*CX
zKN$T6Y!2SO-63t?-VA9<sNWljYp@Acw@IEQ`J`)4!|VAF(I?g#uR3DYgt5YP;B+oH
z{W;e2;f#_#O~uyy(PoJ~+sOOHuEkraPdoyW2T84OQ(Qmx`qdGuq+1V~$Ir9_F%H*)
z(G$U|R8&-xR9za0cd#kBmgGua_?{4h_#3=_3*r>aYT!3ZXRK1J@NQ$r3fsWud(fZ1
zqdqU`Q(`rpn`;^D*X7%|pBVGadqQpjtHpxX4D+fpR!O&7j5{ZNAGo{~oc@UTr2cNI
z`n<8Q4@ME=B<opldLd*P#4VW35VJaDm3TGSoOCDHTnR4wX@OBS$KX;z4g<+ee&Qv$
zC*k$okb{EP4DhN`Rw-84Aal~oz~{q3UD}jUU8?3(IVM(J%SpfHNwaI-p}uin2*nc%
z9h*+ym`+(G-Kz6B>7+|nL9!4Z*j?%GX0p$#uo-D@U!E^H_&6;2oeE9?tAB-v_=$A!
zs$*7lJSV*rjNXT_QXYRq<E12e*eKq~zJ%f@@+HO&k&gWX<Xwmj68rdrI5+;f(lM)~
zTgzzuD*en!CtbQ2asl+GE_7+6-w)~!yB5Rugn0n2rTIO<=@dx5;5CK6S2|~vVuf|G
ze$^f@dLzbQPSQhvHxi@j_nnJ#rIwXD!74GkgM7y4Lf<|MUaJMODPUITtdefk`1)0(
zOJ65lT3lSq$4iTf8l}9v=<~wWOlbYsy<`)7#2cwUEVV4#(H;9MAYVdSAo2J0#Am|S
znE_ZOUNsmiOmj@PK(2>f+7o-ur;!*9{S86B3B)@Ua9h^1ERW)f?}L;IUX%2DWe`>=
zR#-#pR~-hM&p^(}&zIxviB+>~9{7t%nim(4J$n&YeHS8pPhIUV7=%^Qtr}Rr$_FOD
zhCP}E=|+6++EtsDI9@IN4!A$qCV4;1ms(fsf(=Wt#d+j=qWQ785Ro$`QDzOqYKG^e
z7lX}dVDxl3hF6YhFq1wF{k`xnKO%V-Z<f5|Ge&$dd{6%mtkQhD3P^aHOuQetUJS%4
z>DCOy3e&u`*TLrn-+jk;oPA!N&2+jnlvDL<niuO`g8ndkPp-wAx?!IMR#!m8{GE7y
zn+(P(@tUSsVaj{774z1{BaWd5=}(#mPPxj&7QO~3XAI?_0Hee$<$1aRQUHmpOGH_)
zZVbq3W$I&v%faS-=<l9M^VYD}Tnuk`S~CAG`J7rl-^qCmaC;tDT>!BPW;^-KG9as@
zTMwpY{VMA3z6;4}ZT(L>qr|G%;;R8Uk0Ool<RL#>9>!$z2jloNh)XaVfmwsHn&dg@
zE#NaBGOnPYiRWq1Qw(o>6s7lUIiDiW%SQPqXg&bVYZv|EaD9J+vP!y@Vuh2iPWk~b
zO8wolv2WL<>21-*znfQ{AB%ai+ez2{3i1?0^o!NZ8kp5Cu3ts{U5c~spPTCqFlwH7
zhD`iA_?LepH7_aQ@x{(1`REtt4gs$;PgeAciCF`)O1d?H^{XhJ;Y;Yz;gJ6#T^jEi
z6q#t}M!6@&C^jtKg#IwC3qU^OZR9V$9zt_?%)J(+!C56<W1N#tHtBB2y%;M!jmBQc
zX9W9{?~THOUcLwAqF`(Vk9)Eso&ucy67qLQIV3oaVWwjfuo}bqRrO%>X|Q?zh7EE&
z!;T$|x|#p27yc4?PVce;i3EHij-s#|<^)`f;}0O_i!U|-tE5{atY1az!+Zo8j`=U#
zzborfF$R+eSE>9Au_}-AV2o$Uwjbd&#TT!Km}fl?ldwvDCe@sDny<DMG6`&+gndTx
z@TRhD8}-^`!}9ni%B{FG@8^*FA^RZ4?-!edRno12^{e)R&DoH%DJD?Xqr$(dC$?S4
z8)N^ZkoSuNy7u>A^+m{0Lo;h0R_mZ!UqGzz@5(p1xE|fO(PgOo40_@%8PDp*{2lkA
z9Xx+A*3P0ecm_epmTfd7v&Lt&89Mb-$d%PU*pDyHwMifEsTaQ8WWb_<Yq*ycqE8%H
zmy-93d7ieBVD)Q=vGNximsLOb{L;GKIUe$3>jtM}{lP9-H$c|9HPFh$BP6p1$XCql
zjIT=>SR>$6uzC|@6T}$)C*!f&21fTn9<l!5_=R;N*jx`z*Fmrso3U%agFL9-_Yp^d
z{;_S*Hj05d3#^j=sTiVf|C4c8B}Pji^C9P3*D~l)hh$yj2B$7#H&F5Ij;R4J=HB^u
z?qbZ9{fv*#()yG%_fEgD6vklnDENFDdh<f-YS(c%mN^BhVl#IQaQ_qepdhX9>^Kf{
z+<Sx9e?qDt`qH!dX4L^MKZgvpu5%yH8KwTN=<Avr&@kVgSoJQZ7~?$2zdZj0>@R`n
z%V(@lR*BJ75b_(HEHmnYE*17@m}V;8Qq_PL{bHJbM{9dv-xD#5!@=yQ5be+9(HE;e
z@c2DsYLHQ(M^#Nx9L87!#4BeOaZu<Np9CM&WbnEc;(=(hZ>%3y_kq#-z~~v)4e%L>
zzHW@IQk)j42HY6u0jFHhFGl}3_jGW2D`Ydor#WV|&no$LABUW8UDF0e(bwICaTpRY
zP8z8hiudEF0jzT;)xN!jSe0BK7E=HCOmI34vK^wGHF>njsxtoa1Q`8;b*-}-_K0JE
zKK((Azr@iD#i?=B0I}*>!gG#Gt)K28eS0ogoetRp$^1Nb?Xh|YTt16FZje#x?+U+B
z9IZ~A+LaohdG1`$KW6h8`HpF9b{?b*k~v#eJFHfL$CtrqKkFKo7=P(XV-ufEN)3>n
zl?BXF&bB3a7l760A(a_nHuJ1DfYJ9L*@!PXf%GTE8Cf^lggu&+7AG#!)f!OzPvBE(
z`EWO_@zD#%FGG%`mD$X(O7mYnMjYT3h^Oz#8704w=<9a1X^GFLs0KX9+vbISC0~^5
z!|lkknAZ<NF;MBrjhcQ|1B^O{!&f9TN^@UCJYb4in7C}RYXF=QtK6pbEXq3`edB@P
z^$kdB;}+A$Y7=zk3W$nP_;umi6`QC5z14vGqn(oH1K6{RC<cmT`-$#le4URsQ^suS
zStXy*JCG3_^eE|4h}c98=(z^$ALL0ZZ~r&?#x$3Q;uiCJfK`e$CT5eHQzmt+TEOR<
zkRf37zp$6bM>oJ{BpB6m^Ayh>rUrb7dum;g&*O|eWX~?k>w&)U#o+ZNNOHz{lFO<R
z!|)u~><1gP2WOP#k&<6mFdF8sEZ#Cw4LFzQN==_oP8sAg#yD-u;_cnxH>TWeG(Ni<
zl6V|ca#$rs4?rju@V_xW+C9i<lVH?HjZu7;m}-D6Es|_l>%+^}`hY#VVjb~IYid0J
z*$9b$jzHH~^?=E3klB#mTE7d-^QQ4pvPVU{ZcKkyagwoXz`X>vED3Zi&Fyh5$vXq{
zdM4ua7m#{LY_U*@v1$XGlpF9`$S<txJ$zhL%zZI-n-kxzYc=4&T=%9A3W!zCE&Rqk
z!E82I{RgB3(i)Z9*ja4_m&K4*AtS)$N!asoQDKXA?QbYPZN3@+r&wziJ}7YOSh}?v
zVi_ssnCAAZfz*X%wsTe~25>dx0r2@->)L=VD&~)xuYrkgoYWd{Ez6bcOSVY%rSg0{
z--pn-OSjS5?n5AtLB5AjOq4vAHax41U^5r;G~`M!`V;GVzdXMiHmG&APsAA|^{*x_
zX7(B&pD~xE+h~pe*0V&u)FpX8K_58_tUd%;fw?~=jjJqn>jqafxcmX~6y$1*x14ER
zZ||nqpga$@hy&DBlVa-4BH{0^+CpFBo1LR7W+CNmC_g1ic@xTyi&DN0<<eZ$36>7e
zLznM(gO24MUfw<8=W#Y|5zFWCVktX#f<=9{eESX$(4o9V{<zd5!sqGR)26Bci~9QO
zsF1d~?H919%Xu07b57WD<@S>50o0#YZm)g-b@@76Ik2@qfJJqGr4ak}2T+wOwL_=1
zw*ghT{KuhENoxNSS%TNcVQ^EvAl_6C=LJip_CHauTz&iC0|d*}w+}u*upCF~EpS)7
z8#tP$E^U8+V0p)4rH0zegMS?P#6TNqFYowx?GM;qj)RVy{8)HfKA6|BRCz$9ykqUq
zx$>V#DG$B9@&HPCu<g)iX_FhVC2)W2LpT0hc%Sd*g_Z^$Fi?K%;{_ftP=4&=1s*U^
ze(d7~9xzb8P71Tl#ghff!<5R6TrLm&<H@JfpD?!aaE~WHp#1rD@&!Zx#RJOap#_20
z=LE{b)gGOKKe2`C-xD}LbO#D~dHBcU56H{cg?><ZJy-txJmq!hK3gsieY^ejIlMf4
z?b1m-c)6$j{Lq8$yxbD{cJMVXUl)8GdNkL9`U!ng_4*u?N2*;q?UWeGBY!=7L44jL
zMc%rjJkno>K6M<*@qgqEh4?@6hQf7`OC{;1&dcXT`~10*l<D$lk0;7R4Tu^LH6Ut0
z)PSe~Q3Ij|L=A`<5H%obK-7Rz1M`%FaQkyJZ{My9_gu<*H+62mTa<Id?NQiSd1wBK
zX#NfIUqthdkpH8r{+G`DJ8Yd4apV3WJVT_7p^QcTg0g=q@)wl-Tah17_K&f7k!~OG
zudRzzK9@fqi}V+Q3)d2he=yQtK=Cg|`T~l7GExn<`!~ZsAbFVi^Re(XNP`H`%7gyd
z@DGT`3w%EO1I`VWhkHQo0GIF2JkqfnAL9s=hpR#EfDe?1`x9s5_R90oK6Inv_VQyN
zu%mze*awt{U~pZ2ons%c<M_a_517qAr+og{2js==&v#4>$+r)dhyIB}$45f{gy)1@
zKlA~!L(B1`>P;>V-aq641COUF?^r`}?F8!|mz$@)eBkz~&(mRW3*25^?g^HL9UoIa
zfO32F=hZb7wtQXi26MyQU-dH~w;eji5@;WE9Q+dn{x~7!!3Su+eTUBnDVs}|<D2^W
z?GF&VeaFu$4-mY4$8x2Hg17HjuKbCz12@O6!~N+MZNcJ@at|+7+6J9w>2S9E0IJ)E
nl*=_RH{$hq4XD0-==B-hKz;ep>(ig$9M$EIDew5a{QCb3j>xFk

diff --git a/program_info/org.freesmTeam.freesmlauncher.svg b/program_info/org.freesmTeam.freesmlauncher.svg
index 9885f1962..245cc9703 100644
--- a/program_info/org.freesmTeam.freesmlauncher.svg
+++ b/program_info/org.freesmTeam.freesmlauncher.svg
@@ -1,22 +1,23 @@
 <?xml version="1.0" encoding="utf-8"?>
-<svg viewBox="1.0907 0.5291 10.5185 11.6417" xmlns="http://www.w3.org/2000/svg">
-  <g stroke-width=".26458" id="g24" transform="matrix(1, 0, 0, 1, -7.105427357601002e-15, 0)">
-    <path d="m6.35 6.35" fill="#99cd61" id="path4"/>
-    <path d="m6.35 0.52917-2.5208 4.3656 2.5208 1.4552 2.5203-1.4552 0.10955-3.0996c-1.1511-0.66459-2.3388-1.2661-2.6298-1.2661z" id="path6" style="fill: rgb(245, 194, 231);"/>
-    <path d="m8.9798 1.7952-2.6298 4.5548 2.5203 1.4552 2.5208-4.3656c-0.14552-0.25205-1.2601-0.97975-2.4112-1.6443z" id="path8" style="fill: rgb(242, 205, 205);"/>
-    <path d="m11.391 3.4396-5.041 2.9104 2.5203 1.4552 2.7389-1.4552c0-1.3292-0.07255-2.6584-0.21808-2.9104z" id="path10" style="fill: rgb(245, 224, 220);"/>
-    <path d="m6.35 6.35v2.9104h5.041c0.14552-0.25205 0.21807-1.5812 0.21808-2.9104z" id="path12" style="fill: rgb(255, 241, 233);"/>
-    <path d="m6.35 6.35v2.9104l2.6298 1.6443c1.1511-0.66459 2.2657-1.3923 2.4112-1.6443z" id="path14" style="fill: rgb(249, 246, 243);"/>
-    <path d="m6.35 6.35-2.5208 1.4552 2.5208 4.3656c0.29104 0 1.4787-0.60148 2.6298-1.2661z" id="path16" style="fill: rgb(252, 252, 252);"/>
-    <path d="m3.8292 4.8948-2.5203 4.3656c0.29104 0.5041 4.459 2.9104 5.041 2.9104v-5.8208z" fill="#4d3f33" id="path18"/>
-    <path d="m1.309 3.4396c-0.29104 0.5041-0.29104 5.3167 0 5.8208l5.041-2.9104v-2.9104z" fill="#7a573b" id="path20"/>
-    <path d="m6.35 0.52917c-0.58208-2e-8 -4.75 2.4063-5.041 2.9104l5.041 2.9104z" id="path22" style="fill: rgb(203, 166, 247);"/>
+<svg width="48" height="48" version="1.1" viewBox="0 0 12.7 12.7" xmlns="http://www.w3.org/2000/svg">
+  <title>Prism Launcher Logo</title>
+  <g stroke-width=".26458">
+    <path d="m6.35 6.35" fill="#99cd61"/>
+    <path d="m6.35 0.52917-2.5208 4.3656 2.5208 1.4552 2.5203-1.4552 0.10955-3.0996c-1.1511-0.66459-2.3388-1.2661-2.6298-1.2661z" style="fill: rgb(245, 194, 231);"/>
+    <path d="m8.9798 1.7952-2.6298 4.5548 2.5203 1.4552 2.5208-4.3656c-0.14552-0.25205-1.2601-0.97975-2.4112-1.6443z" style="fill: rgb(242, 205, 205);"/>
+    <path d="m11.391 3.4396-5.041 2.9104 2.5203 1.4552 2.7389-1.4552c0-1.3292-0.072554-2.6584-0.21808-2.9104z" style="fill: rgb(245, 224, 220);"/>
+    <path d="m6.35 6.35v2.9104h5.041c0.14552-0.25205 0.21807-1.5812 0.21808-2.9104h-5.2591z" style="fill: rgb(255, 241, 233);"/>
+    <path d="m6.35 6.35v2.9104l2.6298 1.6443c1.1511-0.66459 2.2657-1.3923 2.4112-1.6443l-5.041-2.9104z" style="fill: rgb(249, 246, 243);"/>
+    <path d="m6.35 6.35-2.5208 1.4552 2.5208 4.3656c0.29104 0 1.4787-0.60148 2.6298-1.2661l-2.6298-4.5548z" style="fill: rgb(252, 252, 252);"/>
+    <path d="m3.8292 4.8948-2.5203 4.3656c0.29104 0.5041 4.459 2.9104 5.041 2.9104v-5.8208l-2.5208-1.4552z" fill="#4d3f33"/>
+    <path d="m1.309 3.4396c-0.29104 0.5041-0.29104 5.3167 0 5.8208l5.041-2.9104v-2.9104h-5.041z" fill="#7a573b"/>
+    <path d="m6.35 0.52917c-0.58208-2e-8 -4.75 2.4063-5.041 2.9104l5.041 2.9104v-5.8208z" style="fill: rgb(203, 166, 247);"/>
   </g>
-  <g transform="matrix(0.8799999952316284, 0, 0, 0.8799999952316284, -10.906000137329102, -1.2421000003814697)" id="g32">
-    <g transform="translate(13.26 2.2776)" id="g28">
-      <path transform="matrix(.96975 0 0 .96975 .1921 .1921)" d="m6.3498 2.9393c-0.34105 0-2.7827 1.4099-2.9532 1.7052l2.9532 5.1157 2.9538-5.1157c-0.17052-0.29535-2.6127-1.7052-2.9538-1.7052z" fill="#fff" stroke-width=".26458" id="path26"/>
+  <g transform="matrix(.88 0 0 .88 -10.906 -1.2421)">
+    <g transform="translate(13.26 2.2776)">
+      <path transform="matrix(.96975 0 0 .96975 .1921 .1921)" d="m6.3498 2.9393c-0.34105 0-2.7827 1.4099-2.9532 1.7052l2.9532 5.1157 2.9538-5.1157c-0.17052-0.29535-2.6127-1.7052-2.9538-1.7052z" fill="#fff" stroke-width=".26458"/>
     </g>
-    <path d="m16.746 6.9737 2.8639 4.9609c0.33073 0 2.6991-1.3672 2.8644-1.6536 0.16536-0.28642 0.16536-3.0209 0-3.3073l-2.8644 1.6536z" fill="#dfdfdf" stroke-width=".26458" id="path30"/>
+    <path d="m16.746 6.9737 2.8639 4.9609c0.33073 0 2.6991-1.3672 2.8644-1.6536 0.16536-0.28642 0.16536-3.0209 0-3.3073l-2.8644 1.6536z" fill="#dfdfdf" stroke-width=".26458"/>
   </g>
-  <path d="m3.8299 4.8948c-0.14551 0.25205-0.14553 2.6584 0 2.9104 0.14553 0.25204 2.2292 1.4552 2.5203 1.4552v-2.9104z" fill="#d6d2d2" stroke-width=".26458" id="path34" transform="matrix(1, 0, 0, 1, -7.105427357601002e-15, 0)"/>
+  <path d="m3.8299 4.8948c-0.14551 0.25205-0.14553 2.6584 0 2.9104 0.14553 0.25204 2.2292 1.4552 2.5203 1.4552v-2.9104z" fill="#d6d2d2" stroke-width=".26458"/>
 </svg>
\ No newline at end of file