diff --git a/ModpackUpdater.Apps.Manager/FeatureTypes.cs b/ModpackUpdater.Apps.Manager/Api/FeatureTypes.cs
similarity index 80%
rename from ModpackUpdater.Apps.Manager/FeatureTypes.cs
rename to ModpackUpdater.Apps.Manager/Api/FeatureTypes.cs
index 946c0b4..066a7f3 100644
--- a/ModpackUpdater.Apps.Manager/FeatureTypes.cs
+++ b/ModpackUpdater.Apps.Manager/Api/FeatureTypes.cs
@@ -1,4 +1,4 @@
-namespace ModpackUpdater.Apps.Manager;
+namespace ModpackUpdater.Apps.Manager.Api;
public static class FeatureTypes
{
diff --git a/ModpackUpdater.Apps.Manager/Api/Model/IMainApi.cs b/ModpackUpdater.Apps.Manager/Api/Model/IMainApi.cs
index 4cc22f3..91ba65a 100644
--- a/ModpackUpdater.Apps.Manager/Api/Model/IMainApi.cs
+++ b/ModpackUpdater.Apps.Manager/Api/Model/IMainApi.cs
@@ -1,12 +1,10 @@
using Avalonia.Controls;
+using ModpackUpdater.Apps.Manager.Ui.Models;
namespace ModpackUpdater.Apps.Manager.Api.Model;
public interface IMainApi
{
- IWorkspace? CurWorkspace { get; }
- IActionSetInfos? CurActionSet { get; }
Window MainWindow { get; }
- void UpdateItem(InstallAction action);
- void UpdateItem(IActionSetInfos actionSetInfos);
+ MainWindowViewModel Model { get; }
}
diff --git a/ModpackUpdater.Apps.Manager/Api/Model/WorkspaceContext.cs b/ModpackUpdater.Apps.Manager/Api/Model/WorkspaceContext.cs
index 28bda50..b2a9991 100644
--- a/ModpackUpdater.Apps.Manager/Api/Model/WorkspaceContext.cs
+++ b/ModpackUpdater.Apps.Manager/Api/Model/WorkspaceContext.cs
@@ -1,7 +1,7 @@
namespace ModpackUpdater.Apps.Manager.Api.Model;
-public class WorkspaceContext(IMainApi mainApi, IWorkspace workspace)
+public class WorkspaceContext(IMainApi mainApi, IWorkspace? workspace)
{
public IMainApi MainApi => mainApi;
- public IWorkspace Workspace { get; set; } = workspace;
+ public IWorkspace? Workspace { get; set; } = workspace;
}
\ No newline at end of file
diff --git a/ModpackUpdater.Apps.Manager/App.axaml b/ModpackUpdater.Apps.Manager/App.axaml
index 58d3f76..e029af7 100644
--- a/ModpackUpdater.Apps.Manager/App.axaml
+++ b/ModpackUpdater.Apps.Manager/App.axaml
@@ -8,6 +8,7 @@
-
+
+
\ No newline at end of file
diff --git a/ModpackUpdater.Apps.Manager/App.axaml.cs b/ModpackUpdater.Apps.Manager/App.axaml.cs
index 9e46992..5c92bd2 100644
--- a/ModpackUpdater.Apps.Manager/App.axaml.cs
+++ b/ModpackUpdater.Apps.Manager/App.axaml.cs
@@ -2,6 +2,7 @@ using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using ModpackUpdater.Apps.Manager.Ui;
+using Pilz.Features;
namespace ModpackUpdater.Apps.Manager;
@@ -10,6 +11,8 @@ public partial class App : Application
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
+ AppGlobals.Initialize();
+ PluginFeatureController.Instance.RegisterAllOwn();
}
public override void OnFrameworkInitializationCompleted()
diff --git a/ModpackUpdater.Apps.Manager/Assembly.cs b/ModpackUpdater.Apps.Manager/Assembly.cs
new file mode 100644
index 0000000..e80de10
--- /dev/null
+++ b/ModpackUpdater.Apps.Manager/Assembly.cs
@@ -0,0 +1 @@
+[assembly: PropertyChanged.FilterType("ModpackUpdater.Apps.Manager.Ui.Models")]
diff --git a/ModpackUpdater.Apps.Manager/Extensions.cs b/ModpackUpdater.Apps.Manager/Extensions.cs
deleted file mode 100644
index 78f142a..0000000
--- a/ModpackUpdater.Apps.Manager/Extensions.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace ModpackUpdater.Apps.Manager;
-
-internal static class Extensions
-{
- public static string? Nullify(this string? @this)
- {
- if (string.IsNullOrEmpty(@this))
- return null;
- return @this;
- }
-}
diff --git a/ModpackUpdater.Apps.Manager/Features/CM/CheckSingleActionHealthyFeature.cs b/ModpackUpdater.Apps.Manager/Features/CM/CheckSingleActionHealthyFeature.cs
index 08871f5..afa4e43 100644
--- a/ModpackUpdater.Apps.Manager/Features/CM/CheckSingleActionHealthyFeature.cs
+++ b/ModpackUpdater.Apps.Manager/Features/CM/CheckSingleActionHealthyFeature.cs
@@ -1,8 +1,8 @@
-using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
+using ModpackUpdater.Apps.Manager.Api;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
using ModpackUpdater.Apps.Manager.LangRes;
-using ModpackUpdater.Apps.Manager.Ui;
using Pilz.Features;
-using Telerik.WinControls.UI;
+using Pilz.UI.Symbols;
namespace ModpackUpdater.Apps.Manager.Features.CM;
@@ -12,19 +12,15 @@ internal class CheckSingleActionHealthyFeature : PluginFunction, IPluginFeatureP
public CheckSingleActionHealthyFeature() : base(FeatureTypes.ActionsContextMenu, "origin.checksingleactionhearlthy", FeatureNamesLangRes.CheckSingleActionHealthy)
{
- Icon = AppGlobals.Symbols.GetSvgImage(AppSymbols.heart_with_pulse, Pilz.UI.Symbols.SymbolSize.Small);
+ Icon = AppGlobals.Symbols.GetImage(AppSymbols.heart_with_pulse, SymbolSize.Small);
}
protected override object? ExecuteFunction(PluginFunctionParameter? @params)
{
- if (@params is not MainApiParameters p
- || p.Api.MainWindow is not MainForm mainForm
- || mainForm.Controls.Find("radGridView_Actions", true).FirstOrDefault() is not RadGridView gridView
- || gridView.SelectedRows.FirstOrDefault() is not GridViewRowInfo row
- || row.Tag is not InstallAction)
+ if (@params is not MainApiParameters p || p.Api.Model.SelectedGridRow is not { } row)
return null;
- SharedFunctions.CheckActionHealthy(p.Api, row);
+ Task.Run(() => SharedFunctions.CheckActionHealthy(p.Api, row)).Wait();
return null;
}
diff --git a/ModpackUpdater.Apps.Manager/Features/CM/ClearDirectLinkFeature.cs b/ModpackUpdater.Apps.Manager/Features/CM/ClearDirectLinkFeature.cs
index 085408f..3609b40 100644
--- a/ModpackUpdater.Apps.Manager/Features/CM/ClearDirectLinkFeature.cs
+++ b/ModpackUpdater.Apps.Manager/Features/CM/ClearDirectLinkFeature.cs
@@ -1,8 +1,8 @@
-using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
+using ModpackUpdater.Apps.Manager.Api;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
using ModpackUpdater.Apps.Manager.LangRes;
using ModpackUpdater.Apps.Manager.Ui;
using Pilz.Features;
-using Telerik.WinControls.UI;
namespace ModpackUpdater.Apps.Manager.Features.CM;
@@ -12,18 +12,15 @@ internal class ClearDirectLinkFeature : PluginFunction, IPluginFeatureProvider
@@ -12,19 +11,15 @@ internal class UpdateCollectorFeature : PluginFunction, IPluginFeatureProvider SharedFunctions.CollectUpdates(p.Api, row.Action)).Wait();
return null;
}
diff --git a/ModpackUpdater.Apps.Manager/Features/CM/UpdateDirectLinkFeature.cs b/ModpackUpdater.Apps.Manager/Features/CM/UpdateDirectLinkFeature.cs
index 4bf2f7d..44554d0 100644
--- a/ModpackUpdater.Apps.Manager/Features/CM/UpdateDirectLinkFeature.cs
+++ b/ModpackUpdater.Apps.Manager/Features/CM/UpdateDirectLinkFeature.cs
@@ -1,8 +1,9 @@
-using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
+using ModpackUpdater.Apps.Manager.Api;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
using ModpackUpdater.Apps.Manager.LangRes;
-using ModpackUpdater.Apps.Manager.Ui;
+using ModpackUpdater.Apps.Manager.Ui.Models;
using Pilz.Features;
-using Telerik.WinControls.UI;
+using Pilz.UI.Symbols;
namespace ModpackUpdater.Apps.Manager.Features.CM;
@@ -12,18 +13,15 @@ internal class UpdateDirectLinkFeature : PluginFunction, IPluginFeatureProvider<
public UpdateDirectLinkFeature() : base(FeatureTypes.ActionsContextMenu, "origin.updatedirectlink", FeatureNamesLangRes.UpdateDirectLinkFeature)
{
- Icon = AppGlobals.Symbols.GetSvgImage(AppSymbols.renew, Pilz.UI.Symbols.SymbolSize.Small);
+ Icon = AppGlobals.Symbols.GetImage(AppSymbols.renew, SymbolSize.Small);
}
protected override object? ExecuteFunction(PluginFunctionParameter? @params)
{
- if (@params is not MainApiParameters p
- || p.Api.MainWindow is not MainForm mainForm
- || mainForm.Controls.Find("radGridView_Actions", true).FirstOrDefault() is not RadGridView gridView
- || gridView.SelectedRows.FirstOrDefault()?.Tag is not InstallAction selectedAction)
+ if (@params is not MainApiParameters p || p.Api.Model.SelectedGridRow is not MainWindowGridRow row)
return null;
- SharedFunctions.FindNewDirectLinks(p.Api, selectedAction);
+ Task.Run(() => SharedFunctions.FindNewDirectLinks(row)).Wait();
return null;
}
diff --git a/ModpackUpdater.Apps.Manager/Features/SharedFunctions.cs b/ModpackUpdater.Apps.Manager/Features/SharedFunctions.cs
index 48d7a09..e784e6e 100644
--- a/ModpackUpdater.Apps.Manager/Features/SharedFunctions.cs
+++ b/ModpackUpdater.Apps.Manager/Features/SharedFunctions.cs
@@ -1,98 +1,71 @@
-using ModpackUpdater.Apps.Manager.Api.Model;
+using System.Text;
+using ModpackUpdater.Apps.Manager.Api.Model;
using ModpackUpdater.Apps.Manager.LangRes;
using ModpackUpdater.Apps.Manager.Ui;
+using ModpackUpdater.Apps.Manager.Ui.Models;
using ModpackUpdater.Manager;
+using MsBox.Avalonia;
using OfficeOpenXml;
-using Pilz.UI.WinForms.Extensions;
-using System.Text;
-using Telerik.WinControls.UI;
+using OfficeOpenXml.Table;
+using Pilz.UI.AvaloniaUI.Dialogs;
namespace ModpackUpdater.Apps.Manager.Features;
internal static class SharedFunctions
{
- public static bool CheckActionHealthy(IMainApi api, params GridViewRowInfo[] selectedRows)
+ public static async Task CheckActionHealthy(IMainApi api, params MainWindowGridRow[] rows)
{
- if (api.MainWindow is not MainForm mainForm
- || mainForm.Controls.Find("radGridView_Actions", true).FirstOrDefault() is not RadGridView gridView
- || mainForm.Controls.Find("radWaitingBar_Actions", true).FirstOrDefault() is not RadWaitingBar rwb)
- return false;
-
- rwb.StartWaiting();
- rwb.ShowText = true;
- var rowsCount = selectedRows.Length;
- rwb.Text = "0 / " + rowsCount;
- gridView.BeginUpdate();
-
+ var rowsCount = rows.Length;
var failed = false;
var msg = default(string);
var factory = new ModpackFactory();
-
- var rows = new Dictionary();
- for (var i = 0; i < selectedRows.Length; i++)
+
+ for (var i = 0; i < rows.Length; i++)
{
- var row = selectedRows[i];
-
- if (row.Tag is InstallAction action)
+ var row = rows[i];
+
+ try
{
- Task.Run(async () =>
- {
- try
- {
- var result = await factory.ResolveSourceUrl(action);
- failed = string.IsNullOrWhiteSpace(result);
- }
- catch (Exception ex)
- {
- msg = ex.Message;
- }
- }).Wait();
+ var result = await factory.ResolveSourceUrl(row.Action);
+ failed = string.IsNullOrWhiteSpace(result);
+ }
+ catch (Exception ex)
+ {
+ msg = ex.Message;
}
- foreach (var c in row.Cells)
- {
- c.Style.CustomizeFill = true;
- c.Style.BackColor = failed ? Color.IndianRed : Color.ForestGreen;
- }
-
- rwb.Text = $"{i} / {rowsCount}";
-
- Application.DoEvents();
+ row.IsValid = !failed;
+
+ // rwb.Text = $"{i} / {rowsCount}";
}
-
- gridView.EndUpdate();
- rwb.ShowText = false;
- rwb.StopWaiting();
-
+
if (rowsCount == 1 && failed && !string.IsNullOrWhiteSpace(msg))
- MessageBox.Show(msg);
-
+ _ = MessageBoxManager.GetMessageBoxStandard(string.Empty, msg).ShowAsPopupAsync(api.MainWindow);
+
return true;
}
- public static bool CollectUpdates(IMainApi api, params InstallAction[] actions)
+ public static async Task CollectUpdates(IMainApi api, params InstallAction[] actions)
{
- if (api.CurWorkspace?.UpdateInfos is null)
+ if (api.Model.CurrentWorkspace?.UpdateInfos is null || api.Model.CurrentTreeNodes is null)
return false;
// Collect updates
- var ucDialog = new UpdatesCollectorUi(api.CurWorkspace, actions);
- if (!ucDialog.ShowDialog(api.MainWindow).IsOk() || ucDialog.CurrentUpdates is null)
+ var result = await AvaloniaFlyoutBase.Show(new UpdatesCollectorView(api.Model.CurrentWorkspace, actions), api.MainWindow);
+ if (result.Result is null || result.CurrentUpdates is null)
return false;
// Collect versions with changes
- var updates = new List();
- foreach (var update in ucDialog.CurrentUpdates.List)
- {
- if (update.Origin.SourceTag != update.AvailableVersions[update.NewVersion].Key)
- updates.Add(update);
- }
+ var updates = result.CurrentUpdates.List.Where(update => update.Origin.SourceTag != update.AvailableVersions[update.NewVersion].Key).ToList();
// Path install actions
foreach (var update in updates)
{
- update.Origin.SourceTag = update.AvailableVersions[update.NewVersion].Key;
- api.UpdateItem(update.Origin);
+ var sourceTag = update.AvailableVersions[update.NewVersion].Key;
+ if (api.Model.CurrentGridRows?.FirstOrDefault(n => n.Action == update.Origin) is { } row)
+ row.SourceTag = sourceTag;
+ else
+ update.Origin.SourceTag = sourceTag;
}
// Create update actions
@@ -104,65 +77,41 @@ internal static class SharedFunctions
InheritFrom = update.Origin.Id,
});
}
- api.CurWorkspace.UpdateInfos.Updates.Insert(0, updateSet);
- api.UpdateItem(updateSet);
+ api.Model.CurrentWorkspace.UpdateInfos.Updates.Insert(0, updateSet);
+
+ // Add update to ui
+ api.Model.CurrentTreeNodes[1].Nodes.Add(new ActionSetTreeNode(updateSet));
return true;
}
- public static void FindNewDirectLinks(IMainApi api, params InstallAction[] actions)
+ public static async Task FindNewDirectLinks(params MainWindowGridRow[] rows)
{
- var mainForm = api.MainWindow as MainForm;
- var gridView = mainForm?.Controls.Find("radGridView_Actions", true).FirstOrDefault() as RadGridView;
- var rwb = mainForm?.Controls.Find("radWaitingBar_Actions", true).FirstOrDefault() as RadWaitingBar;
var factory = new ModpackFactory();
- rwb?.StartWaiting();
- gridView?.BeginUpdate();
-
- foreach (var action in actions)
+ foreach (var row in rows)
{
- if (action.SourceType != SourceType.DirectLink)
+ if (row.SourceType == SourceType.DirectLink)
+ continue;
+
+ try
{
- try
- {
- Task.Run(async () =>
- {
- action.SourceUrl = await factory.ResolveSourceUrl(action);
- }).Wait();
- }
- catch (Exception)
- {
- // Fail silently
- }
- api.UpdateItem(action);
+ row.SourceUrl = await factory.ResolveSourceUrl(row.Action);
+ }
+ catch (Exception)
+ {
+ // Fail silently
}
}
-
- gridView?.EndUpdate();
- rwb?.StopWaiting();
}
- public static void ClearDirectLinks(IMainApi api, params InstallAction[] actions)
+ public static void ClearDirectLinks(params MainWindowGridRow[] rows)
{
- var mainForm = api.MainWindow as MainForm;
- var gridView = mainForm?.Controls.Find("radGridView_Actions", true).FirstOrDefault() as RadGridView;
- var rwb = mainForm?.Controls.Find("radWaitingBar_Actions", true).FirstOrDefault() as RadWaitingBar;
-
- rwb?.StartWaiting();
- gridView?.BeginUpdate();
-
- foreach (var action in actions)
+ foreach (var row in rows)
{
- if (action.SourceType != SourceType.DirectLink)
- {
- action.SourceUrl = null;
- api.UpdateItem(action);
- }
+ if (row.SourceType != SourceType.DirectLink)
+ row.SourceUrl = null;
}
-
- gridView?.EndUpdate();
- rwb?.StopWaiting();
}
public static string GenerateChangelog(InstallInfos installInfos, UpdateInfo updateInfos)
@@ -250,7 +199,7 @@ internal static class SharedFunctions
return sb.ToString().TrimEnd();
}
- public static ExcelPackage? GenerateModlistAsExcel(InstallInfos installInfos)
+ public static ExcelPackage GenerateModlistAsExcel(InstallInfos installInfos)
{
var pkg = new ExcelPackage();
var ws = pkg.Workbook.Worksheets.Add(string.Format(GeneralLangRes.ModlistForVersionX, installInfos.Version));
@@ -301,7 +250,7 @@ internal static class SharedFunctions
ws.Column(cc++).Width = 20;
ws.Column(cc++).Width = 30;
var tableDef = ws.Tables.Add(ws.Cells[1, 1, cr - 1, cc - 1], "Table");
- tableDef.TableStyle = OfficeOpenXml.Table.TableStyles.Medium16;
+ tableDef.TableStyle = TableStyles.Medium16;
tableDef.ShowHeader = true;
return pkg;
diff --git a/ModpackUpdater.Apps.Manager/Features/Tools/CheckAllActionsHealthyFeature.cs b/ModpackUpdater.Apps.Manager/Features/Tools/CheckAllActionsHealthyFeature.cs
index 65b3f4e..ef65d24 100644
--- a/ModpackUpdater.Apps.Manager/Features/Tools/CheckAllActionsHealthyFeature.cs
+++ b/ModpackUpdater.Apps.Manager/Features/Tools/CheckAllActionsHealthyFeature.cs
@@ -1,8 +1,8 @@
-using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
+using ModpackUpdater.Apps.Manager.Api;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
using ModpackUpdater.Apps.Manager.LangRes;
-using ModpackUpdater.Apps.Manager.Ui;
using Pilz.Features;
-using Telerik.WinControls.UI;
+using Pilz.UI.Symbols;
namespace ModpackUpdater.Apps.Manager.Features.Tools;
@@ -12,17 +12,15 @@ internal class CheckAllActionsHealthyFeature : PluginFunction, IPluginFeaturePro
public CheckAllActionsHealthyFeature() : base(FeatureTypes.Tools, "origin.checkallactionshearlthy", FeatureNamesLangRes.CheckAllActionsHealthy)
{
- Icon = AppGlobals.Symbols.GetSvgImage(AppSymbols.heart_with_pulse, Pilz.UI.Symbols.SymbolSize.Small);
+ Icon = AppGlobals.Symbols.GetImage(AppSymbols.heart_with_pulse, SymbolSize.Small);
}
protected override object? ExecuteFunction(PluginFunctionParameter? @params)
{
- if (@params is not MainApiParameters p
- || p.Api.MainWindow is not MainForm mainForm
- || mainForm.Controls.Find("radGridView_Actions", true).FirstOrDefault() is not RadGridView gridView)
+ if (@params is not MainApiParameters p || p.Api.Model.CurrentGridRows is null)
return null;
- SharedFunctions.CheckActionHealthy(p.Api, [.. gridView.Rows]);
+ Task.Run(() => SharedFunctions.CheckActionHealthy(p.Api, [.. p.Api.Model.CurrentGridRows])).Wait();
return null;
}
diff --git a/ModpackUpdater.Apps.Manager/Features/Tools/ClearDirectLinksFeature.cs b/ModpackUpdater.Apps.Manager/Features/Tools/ClearDirectLinksFeature.cs
index 740c7e8..e5b17d8 100644
--- a/ModpackUpdater.Apps.Manager/Features/Tools/ClearDirectLinksFeature.cs
+++ b/ModpackUpdater.Apps.Manager/Features/Tools/ClearDirectLinksFeature.cs
@@ -1,5 +1,7 @@
-using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
+using ModpackUpdater.Apps.Manager.Api;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
using ModpackUpdater.Apps.Manager.LangRes;
+using ModpackUpdater.Apps.Manager.Ui.Models;
using Pilz.Features;
namespace ModpackUpdater.Apps.Manager.Features.Tools;
@@ -10,15 +12,15 @@ internal class ClearDirectLinksFeature : PluginFunction, IPluginFeatureProvider<
public ClearDirectLinksFeature() : base(FeatureTypes.Tools, "origin.cleardirectlinks", FeatureNamesLangRes.ClearDirectLinksFeature)
{
- Icon = AppGlobals.Symbols.GetSvgImage(AppSymbols.broom, Pilz.UI.Symbols.SymbolSize.Small);
+ Icon = AppGlobals.Symbols.GetImage(AppSymbols.broom, Pilz.UI.Symbols.SymbolSize.Small);
}
protected override object? ExecuteFunction(PluginFunctionParameter? @params)
{
- if (@params is not MainApiParameters p || p.Api.CurWorkspace?.InstallInfos is null)
+ if (@params is not MainApiParameters p || p.Api.Model.CurrentGridRows is null)
return null;
- SharedFunctions.ClearDirectLinks(p.Api, [.. p.Api.CurWorkspace.InstallInfos.Actions]);
+ SharedFunctions.ClearDirectLinks([.. p.Api.Model.CurrentGridRows]);
return null;
}
diff --git a/ModpackUpdater.Apps.Manager/Features/Tools/GenerateChangelogFeature.cs b/ModpackUpdater.Apps.Manager/Features/Tools/GenerateChangelogFeature.cs
index 0684632..39c9885 100644
--- a/ModpackUpdater.Apps.Manager/Features/Tools/GenerateChangelogFeature.cs
+++ b/ModpackUpdater.Apps.Manager/Features/Tools/GenerateChangelogFeature.cs
@@ -1,7 +1,11 @@
-using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
+using ModpackUpdater.Apps.Manager.Api;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
using ModpackUpdater.Apps.Manager.LangRes;
+using ModpackUpdater.Apps.Manager.Ui.Models;
+using MsBox.Avalonia;
+using MsBox.Avalonia.Enums;
using Pilz.Features;
-using Telerik.WinControls;
+using Pilz.UI.Symbols;
namespace ModpackUpdater.Apps.Manager.Features.Tools;
@@ -11,20 +15,23 @@ internal class GenerateChangelogFeature : PluginFunction, IPluginFeatureProvider
public GenerateChangelogFeature() : base(FeatureTypes.Tools, "origin.genchangelog", FeatureNamesLangRes.GenerateChangelogFeature)
{
- Icon = AppGlobals.Symbols.GetSvgImage(AppSymbols.time_machine, Pilz.UI.Symbols.SymbolSize.Small);
+ Icon = AppGlobals.Symbols.GetImage(AppSymbols.time_machine, SymbolSize.Small);
}
protected override object? ExecuteFunction(PluginFunctionParameter? @params)
{
- if (@params is not MainApiParameters p || p.Api.CurWorkspace?.InstallInfos is null || p.Api.CurActionSet is not UpdateInfo updateInfos)
+ if (@params is not MainApiParameters p
+ || p.Api.Model.CurrentWorkspace?.InstallInfos is null
+ || p.Api.Model.SelectedTreeNode is not ActionSetTreeNode node
+ || node.Infos is not UpdateInfo updateInfo)
return null;
- var changelog = SharedFunctions.GenerateChangelog(p.Api.CurWorkspace.InstallInfos, updateInfos);
- if (!string.IsNullOrWhiteSpace(changelog))
- {
- Clipboard.SetText(changelog);
- RadMessageBox.Show(p.Api.MainWindow, MsgBoxLangRes.ChangelogCopiedToClipboard, MsgBoxLangRes.ChangelogCopiedToClipboard_Title, MessageBoxButtons.OK, RadMessageIcon.Info);
- }
+ var changelog = SharedFunctions.GenerateChangelog(p.Api.Model.CurrentWorkspace.InstallInfos, updateInfo);
+ if (string.IsNullOrWhiteSpace(changelog))
+ return null;
+
+ p.Api.MainWindow.Clipboard?.SetTextAsync(changelog);
+ MessageBoxManager.GetMessageBoxStandard(MsgBoxLangRes.ChangelogCopiedToClipboard_Title, MsgBoxLangRes.ChangelogCopiedToClipboard, ButtonEnum.Ok, MsBox.Avalonia.Enums.Icon.Info).ShowAsPopupAsync(p.Api.MainWindow);
return null;
}
diff --git a/ModpackUpdater.Apps.Manager/Features/Tools/GenerateModlistAsExcelFeature.cs b/ModpackUpdater.Apps.Manager/Features/Tools/GenerateModlistAsExcelFeature.cs
index da08fb6..acc679c 100644
--- a/ModpackUpdater.Apps.Manager/Features/Tools/GenerateModlistAsExcelFeature.cs
+++ b/ModpackUpdater.Apps.Manager/Features/Tools/GenerateModlistAsExcelFeature.cs
@@ -1,8 +1,13 @@
-using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
+using Avalonia.Controls;
+using Avalonia.Platform.Storage;
+using ModpackUpdater.Apps.Manager.Api;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
using ModpackUpdater.Apps.Manager.LangRes;
+using ModpackUpdater.Apps.Manager.Utils;
+using MsBox.Avalonia;
+using MsBox.Avalonia.Enums;
using Pilz.Features;
-using Telerik.WinControls;
-using Telerik.WinControls.UI;
+using Pilz.UI.Symbols;
namespace ModpackUpdater.Apps.Manager.Features.Tools;
internal class GenerateModlistAsExcelFeature : PluginFunction, IPluginFeatureProvider
@@ -11,28 +16,28 @@ internal class GenerateModlistAsExcelFeature : PluginFunction, IPluginFeaturePro
public GenerateModlistAsExcelFeature() : base(FeatureTypes.Tools, "origin.genmodlist.xlsx", FeatureNamesLangRes.GenerateModlistAsExcelFeature)
{
- Icon = AppGlobals.Symbols.GetSvgImage(AppSymbols.list_view, Pilz.UI.Symbols.SymbolSize.Small);
+ Icon = AppGlobals.Symbols.GetImage(AppSymbols.list_view, SymbolSize.Small);
}
protected override object? ExecuteFunction(PluginFunctionParameter? @params)
{
- if (@params is not MainApiParameters p || p.Api.CurWorkspace?.InstallInfos is null || p.Api.CurWorkspace?.InstallInfos is null)
+ if (@params is not MainApiParameters p || p.Api.Model.CurrentWorkspace?.InstallInfos is null)
return null;
- using var pkg = SharedFunctions.GenerateModlistAsExcel(p.Api.CurWorkspace.InstallInfos);
- if (pkg is null)
+ // Generate excel
+ using var pkg = SharedFunctions.GenerateModlistAsExcel(p.Api.Model.CurrentWorkspace.InstallInfos);
+
+ // Ask for save
+ var file = Task.Run(() => TopLevel.GetTopLevel(p.Api.MainWindow)!.StorageProvider.SaveFilePickerAsync(new()
+ {
+ FileTypeChoices = [MyFilePickerFileTypes.Excel]
+ })).Result;
+ if (file is null)
return null;
-
- using var sfd = new RadSaveFileDialog
- {
- Filter = "*.xlsx|*.xlsx|*|*"
- };
-
- if (sfd.ShowDialog(p.Api.MainWindow) == DialogResult.OK)
- {
- pkg.SaveAs(sfd.FileName);
- RadMessageBox.Show(p.Api.MainWindow, MsgBoxLangRes.ModlistGenerated, MsgBoxLangRes.ModlistGenerated_Title, MessageBoxButtons.OK, RadMessageIcon.Info);
- }
+
+ // Save file
+ pkg.SaveAs(file.Path.AbsolutePath);
+ MessageBoxManager.GetMessageBoxStandard(MsgBoxLangRes.ModlistGenerated_Title, MsgBoxLangRes.ModlistGenerated, ButtonEnum.Ok, MsBox.Avalonia.Enums.Icon.Info).ShowAsPopupAsync(p.Api.MainWindow);
return null;
}
diff --git a/ModpackUpdater.Apps.Manager/Features/Tools/GenerateModlistAsMarkdownFeature.cs b/ModpackUpdater.Apps.Manager/Features/Tools/GenerateModlistAsMarkdownFeature.cs
index 9f11b9a..3587db3 100644
--- a/ModpackUpdater.Apps.Manager/Features/Tools/GenerateModlistAsMarkdownFeature.cs
+++ b/ModpackUpdater.Apps.Manager/Features/Tools/GenerateModlistAsMarkdownFeature.cs
@@ -1,26 +1,30 @@
-using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
+using ModpackUpdater.Apps.Manager.Api;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
using ModpackUpdater.Apps.Manager.LangRes;
+using MsBox.Avalonia;
+using MsBox.Avalonia.Enums;
using Pilz.Features;
-using Telerik.WinControls;
+using Pilz.UI.Symbols;
namespace ModpackUpdater.Apps.Manager.Features.Tools;
+
internal class GenerateModlistAsMarkdownFeature : PluginFunction, IPluginFeatureProvider
{
public static GenerateModlistAsMarkdownFeature Instance { get; } = new();
public GenerateModlistAsMarkdownFeature() : base(FeatureTypes.Tools, "origin.genmodlist.md", FeatureNamesLangRes.GenerateModlistAsMarkdownFeature)
{
- Icon = AppGlobals.Symbols.GetSvgImage(AppSymbols.list_view, Pilz.UI.Symbols.SymbolSize.Small);
+ Icon = AppGlobals.Symbols.GetImage(AppSymbols.list_view, SymbolSize.Small);
}
protected override object? ExecuteFunction(PluginFunctionParameter? @params)
{
- if (@params is not MainApiParameters p || p.Api.CurWorkspace?.InstallInfos is null || p.Api.CurWorkspace?.InstallInfos is null)
+ if (@params is not MainApiParameters p || p.Api.Model.CurrentWorkspace?.InstallInfos is null)
return null;
- Clipboard.SetText(SharedFunctions.GenerateModlistAsMarkdown(p.Api.CurWorkspace.InstallInfos));
+ p.Api.MainWindow.Clipboard?.SetTextAsync(SharedFunctions.GenerateModlistAsMarkdown(p.Api.Model.CurrentWorkspace.InstallInfos));
- RadMessageBox.Show(p.Api.MainWindow, MsgBoxLangRes.ModlistCopiedToClipboard, MsgBoxLangRes.ModlistCopiedToClipboard_Title, MessageBoxButtons.OK, RadMessageIcon.Info);
+ MessageBoxManager.GetMessageBoxStandard(MsgBoxLangRes.ModlistCopiedToClipboard_Title, MsgBoxLangRes.ModlistCopiedToClipboard, ButtonEnum.Ok, MsBox.Avalonia.Enums.Icon.Info).ShowAsPopupAsync(p.Api.MainWindow);
return null;
}
diff --git a/ModpackUpdater.Apps.Manager/Features/Tools/UpdateDirectLinksFeature.cs b/ModpackUpdater.Apps.Manager/Features/Tools/UpdateDirectLinksFeature.cs
index 009da85..cb9b821 100644
--- a/ModpackUpdater.Apps.Manager/Features/Tools/UpdateDirectLinksFeature.cs
+++ b/ModpackUpdater.Apps.Manager/Features/Tools/UpdateDirectLinksFeature.cs
@@ -1,6 +1,8 @@
-using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
+using ModpackUpdater.Apps.Manager.Api;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
using ModpackUpdater.Apps.Manager.LangRes;
using Pilz.Features;
+using Pilz.UI.Symbols;
namespace ModpackUpdater.Apps.Manager.Features.Tools;
@@ -10,15 +12,15 @@ internal class UpdateDirectLinksFeature : PluginFunction, IPluginFeatureProvider
public UpdateDirectLinksFeature() : base(FeatureTypes.Tools, "origin.updatedirectlinks", FeatureNamesLangRes.UpdateDirectLinksFeature)
{
- Icon = AppGlobals.Symbols.GetSvgImage(AppSymbols.renew, Pilz.UI.Symbols.SymbolSize.Small);
+ Icon = AppGlobals.Symbols.GetImage(AppSymbols.renew, SymbolSize.Small);
}
protected override object? ExecuteFunction(PluginFunctionParameter? @params)
{
- if (@params is not MainApiParameters p || p.Api.CurWorkspace?.InstallInfos is null)
+ if (@params is not MainApiParameters p || p.Api.Model.CurrentGridRows is null)
return null;
- SharedFunctions.FindNewDirectLinks(p.Api, [.. p.Api.CurWorkspace.InstallInfos.Actions]);
+ Task.Run(() => SharedFunctions.FindNewDirectLinks([.. p.Api.Model.CurrentGridRows])).Wait();
return null;
}
diff --git a/ModpackUpdater.Apps.Manager/Features/Tools/UpdatesCollectorFeature.cs b/ModpackUpdater.Apps.Manager/Features/Tools/UpdatesCollectorFeature.cs
index 9d4e70d..996bf67 100644
--- a/ModpackUpdater.Apps.Manager/Features/Tools/UpdatesCollectorFeature.cs
+++ b/ModpackUpdater.Apps.Manager/Features/Tools/UpdatesCollectorFeature.cs
@@ -1,4 +1,5 @@
-using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
+using ModpackUpdater.Apps.Manager.Api;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
using ModpackUpdater.Apps.Manager.LangRes;
using Pilz.Features;
using Pilz.UI.Symbols;
@@ -11,15 +12,15 @@ internal class UpdatesCollectorFeature : PluginFunction, IPluginFeatureProvider<
public UpdatesCollectorFeature() : base(FeatureTypes.Tools, "origin.updatescollector", FeatureNamesLangRes.UpdatesCollectorFeature)
{
- Icon = AppGlobals.Symbols.GetSvgImage(AppSymbols.search, SymbolSize.Small);
+ Icon = AppGlobals.Symbols.GetImage(AppSymbols.search, SymbolSize.Small);
}
protected override object? ExecuteFunction(PluginFunctionParameter? @params)
{
- if (@params is not MainApiParameters p || p.Api.CurWorkspace?.InstallInfos is null)
+ if (@params is not MainApiParameters p || p.Api.Model.CurrentWorkspace?.InstallInfos is null)
return null;
- SharedFunctions.CollectUpdates(p.Api, [.. p.Api.CurWorkspace.InstallInfos.Actions]);
+ Task.Run(() => SharedFunctions.CollectUpdates(p.Api, [.. p.Api.Model.CurrentWorkspace.InstallInfos.Actions])).Wait();
return null;
}
diff --git a/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceConfigEditorView.axaml.cs b/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceConfigEditorView.axaml.cs
index a68c9a7..efd5e13 100644
--- a/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceConfigEditorView.axaml.cs
+++ b/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceConfigEditorView.axaml.cs
@@ -12,6 +12,7 @@ public partial class GitLabRepoWorkspaceConfigEditorView : AvaloniaFlyoutBase
public GitLabRepoWorkspaceConfigEditorView(GitLabRepoWorkspaceConfig settings)
{
Settings = settings;
+ DataContext = settings;
InitializeComponent();
}
}
\ No newline at end of file
diff --git a/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceFeature.cs b/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceFeature.cs
index aa9da9d..6f2f2d6 100644
--- a/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceFeature.cs
+++ b/ModpackUpdater.Apps.Manager/Features/Workspaces/GitLabRepo/GitLabRepoWorkspaceFeature.cs
@@ -3,17 +3,15 @@ using ModpackUpdater.Apps.Manager.Api.Plugins.Features;
using ModpackUpdater.Apps.Manager.LangRes;
using Pilz.Features;
using Pilz.UI.AvaloniaUI.Dialogs;
+using Pilz.UI.Symbols;
namespace ModpackUpdater.Apps.Manager.Features.Workspaces.GitLabRepo;
-internal class GitLabRepoWorkspaceFeature : WorkspaceFeature, IPluginFeatureProvider
+internal class GitLabRepoWorkspaceFeature() : WorkspaceFeature("origin.gitlab", FeatureNamesLangRes.GitLabWorkspace), IPluginFeatureProvider
{
public static GitLabRepoWorkspaceFeature Instance { get; } = new();
- public GitLabRepoWorkspaceFeature() : base("origin.gitlab", FeatureNamesLangRes.GitLabWorkspace)
- {
- Icon = AppGlobals.Symbols.GetImageSource(AppSymbols.gitlab);
- }
+ public override object? Icon => AppGlobals.Symbols.GetImage(AppSymbols.gitlab, SymbolSize.Small);
protected override async Task OnConfigure(WorkspaceContext context)
{
diff --git a/ModpackUpdater.Apps.Manager/FodyWeavers.xml b/ModpackUpdater.Apps.Manager/FodyWeavers.xml
index 51e2003..4e68ed1 100644
--- a/ModpackUpdater.Apps.Manager/FodyWeavers.xml
+++ b/ModpackUpdater.Apps.Manager/FodyWeavers.xml
@@ -1,3 +1,4 @@
-
-
+
+
+
\ No newline at end of file
diff --git a/ModpackUpdater.Apps.Manager/FodyWeavers.xsd b/ModpackUpdater.Apps.Manager/FodyWeavers.xsd
new file mode 100644
index 0000000..69dbe48
--- /dev/null
+++ b/ModpackUpdater.Apps.Manager/FodyWeavers.xsd
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ Used to control if the On_PropertyName_Changed feature is enabled.
+
+
+
+
+ Used to control if the Dependent properties feature is enabled.
+
+
+
+
+ Used to control if the IsChanged property feature is enabled.
+
+
+
+
+ Used to change the name of the method that fires the notify event. This is a string that accepts multiple values in a comma separated form.
+
+
+
+
+ Used to control if equality checks should be inserted. If false, equality checking will be disabled for the project.
+
+
+
+
+ Used to control if equality checks should use the Equals method resolved from the base class.
+
+
+
+
+ Used to control if equality checks should use the static Equals method resolved from the base class.
+
+
+
+
+ Used to turn off build warnings from this weaver.
+
+
+
+
+ Used to turn off build warnings about mismatched On_PropertyName_Changed methods.
+
+
+
+
+
+
+
+ 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
+
+
+
+
+ A comma-separated list of error codes that can be safely ignored in assembly verification.
+
+
+
+
+ 'false' to turn off automatic generation of the XML Schema file.
+
+
+
+
+
\ No newline at end of file
diff --git a/ModpackUpdater.Apps.Manager/LangRes/GeneralLangRes.Designer.cs b/ModpackUpdater.Apps.Manager/LangRes/GeneralLangRes.Designer.cs
index 7b6512f..851e7f3 100644
--- a/ModpackUpdater.Apps.Manager/LangRes/GeneralLangRes.Designer.cs
+++ b/ModpackUpdater.Apps.Manager/LangRes/GeneralLangRes.Designer.cs
@@ -14,7 +14,7 @@ namespace ModpackUpdater.Apps.Manager.LangRes {
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class GeneralLangRes {
+ public class GeneralLangRes {
private static System.Resources.ResourceManager resourceMan;
@@ -25,7 +25,7 @@ namespace ModpackUpdater.Apps.Manager.LangRes {
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static System.Resources.ResourceManager ResourceManager {
+ public static System.Resources.ResourceManager ResourceManager {
get {
if (object.Equals(null, resourceMan)) {
System.Resources.ResourceManager temp = new System.Resources.ResourceManager("ModpackUpdater.Apps.Manager.LangRes.GeneralLangRes", typeof(GeneralLangRes).Assembly);
@@ -36,7 +36,7 @@ namespace ModpackUpdater.Apps.Manager.LangRes {
}
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static System.Globalization.CultureInfo Culture {
+ public static System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
@@ -45,55 +45,55 @@ namespace ModpackUpdater.Apps.Manager.LangRes {
}
}
- internal static string Node_Install {
+ public static string Node_Install {
get {
return ResourceManager.GetString("Node_Install", resourceCulture);
}
}
- internal static string Node_Update {
+ public static string Node_Update {
get {
return ResourceManager.GetString("Node_Update", resourceCulture);
}
}
- internal static string ModlistForVersionX {
+ public static string ModlistForVersionX {
get {
return ResourceManager.GetString("ModlistForVersionX", resourceCulture);
}
}
- internal static string GitLabInstanceUrl {
+ public static string GitLabInstanceUrl {
get {
return ResourceManager.GetString("GitLabInstanceUrl", resourceCulture);
}
}
- internal static string GitLabApiToken {
+ public static string GitLabApiToken {
get {
return ResourceManager.GetString("GitLabApiToken", resourceCulture);
}
}
- internal static string RepositoryId {
+ public static string RepositoryId {
get {
return ResourceManager.GetString("RepositoryId", resourceCulture);
}
}
- internal static string FileLocationOfInstallJson {
+ public static string FileLocationOfInstallJson {
get {
return ResourceManager.GetString("FileLocationOfInstallJson", resourceCulture);
}
}
- internal static string FileLocationOfUpdateJson {
+ public static string FileLocationOfUpdateJson {
get {
return ResourceManager.GetString("FileLocationOfUpdateJson", resourceCulture);
}
}
- internal static string ModpackConfigUrl {
+ public static string ModpackConfigUrl {
get {
return ResourceManager.GetString("ModpackConfigUrl", resourceCulture);
}
diff --git a/ModpackUpdater.Apps.Manager/ModpackUpdater.Apps.Manager.csproj b/ModpackUpdater.Apps.Manager/ModpackUpdater.Apps.Manager.csproj
index deb4ce8..51f89ae 100644
--- a/ModpackUpdater.Apps.Manager/ModpackUpdater.Apps.Manager.csproj
+++ b/ModpackUpdater.Apps.Manager/ModpackUpdater.Apps.Manager.csproj
@@ -3,6 +3,7 @@
WinExe
Assets\app.ico
+ MinecraftModpackUpdateManager
true
true
true
@@ -10,10 +11,6 @@
-
- App.axaml
- Code
-
@@ -42,7 +39,7 @@
None
All
-
+
@@ -81,23 +78,23 @@
- ResXFileCodeGenerator
+ PublicResXFileCodeGenerator
ActionsListLangRes.Designer.cs
- ResXFileCodeGenerator
+ PublicResXFileCodeGenerator
FeatureNamesLangRes.Designer.cs
- ResXFileCodeGenerator
+ PublicResXFileCodeGenerator
GeneralLangRes.Designer.cs
- ResXFileCodeGenerator
+ PublicResXFileCodeGenerator
MsgBoxLangRes.Designer.cs
- ResXFileCodeGenerator
+ PublicResXFileCodeGenerator
TitlesLangRes.Designer.cs
diff --git a/ModpackUpdater.Apps.Manager/Program.cs b/ModpackUpdater.Apps.Manager/Program.cs
index 97b88cf..6046a8a 100644
--- a/ModpackUpdater.Apps.Manager/Program.cs
+++ b/ModpackUpdater.Apps.Manager/Program.cs
@@ -1,13 +1,13 @@
using Avalonia;
+using Castle.Core.Logging;
using OfficeOpenXml;
using Pilz.Configuration;
-using Pilz.Features;
namespace ModpackUpdater.Apps.Manager;
public static class Program
{
- private static readonly SettingsManager settingsManager;
+ internal static readonly SettingsManager settingsManager;
public static ISettings Settings => settingsManager.Instance;
@@ -15,6 +15,7 @@ public static class Program
{
ExcelPackage.License.SetNonCommercialPersonal("Pilzinsel64");
settingsManager = new(GetSettingsPath(), true);
+ settingsManager.Instance.Logger = new ConsoleLogger("Settings");
}
///
@@ -25,8 +26,6 @@ public static class Program
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
- AppGlobals.Initialize();
- PluginFeatureController.Instance.RegisterAllOwn();
BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
}
diff --git a/ModpackUpdater.Apps.Manager/Ui/MainForm.Designer.cs b/ModpackUpdater.Apps.Manager/Ui/MainForm.Designer.cs
deleted file mode 100644
index 7a35795..0000000
--- a/ModpackUpdater.Apps.Manager/Ui/MainForm.Designer.cs
+++ /dev/null
@@ -1,405 +0,0 @@
-
-namespace ModpackUpdater.Apps.Manager.Ui;
-
-partial class MainForm
-{
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- var tableViewDefinition2 = new Telerik.WinControls.UI.TableViewDefinition();
- var resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
- radSplitContainer1 = new Telerik.WinControls.UI.RadSplitContainer();
- splitPanel1 = new Telerik.WinControls.UI.SplitPanel();
- tableLayoutPanel2 = new TableLayoutPanel();
- radTreeView_Sets = new Telerik.WinControls.UI.RadTreeView();
- splitPanel2 = new Telerik.WinControls.UI.SplitPanel();
- tableLayoutPanel_ActionSet = new TableLayoutPanel();
- radGridView_Actions = new Telerik.WinControls.UI.RadGridView();
- tableLayoutPanel_ActionSetInfo = new TableLayoutPanel();
- radLabel1 = new Telerik.WinControls.UI.RadLabel();
- radTextBoxControl_Version = new Telerik.WinControls.UI.RadTextBoxControl();
- radCheckBox_IsPublic = new Telerik.WinControls.UI.RadCheckBox();
- radMenuItem_Workspace = new Telerik.WinControls.UI.RadMenuItem();
- radMenuItem_WorkspacePreferences = new Telerik.WinControls.UI.RadMenuItem();
- radMenuItem_SaveWorkspace = new Telerik.WinControls.UI.RadMenuItem();
- radMenuSeparatorItem1 = new Telerik.WinControls.UI.RadMenuSeparatorItem();
- radMenuHeaderItem_NewWorkspace = new Telerik.WinControls.UI.RadMenuHeaderItem();
- radMenuSeparatorItem3 = new Telerik.WinControls.UI.RadMenuSeparatorItem();
- radMenuHeaderItem_RecentWorkspaces = new Telerik.WinControls.UI.RadMenuHeaderItem();
- radMenuItem_Tools = new Telerik.WinControls.UI.RadMenuItem();
- radMenuItem_Updates = new Telerik.WinControls.UI.RadMenuItem();
- radMenuItem_CreateUpdate = new Telerik.WinControls.UI.RadMenuItem();
- radMenuItem_RemoveUpdate = new Telerik.WinControls.UI.RadMenuItem();
- radWaitingBar_Updates = new Telerik.WinControls.UI.RadWaitingBar();
- dotsRingWaitingBarIndicatorElement1 = new Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement();
- radWaitingBar_Actions = new Telerik.WinControls.UI.RadWaitingBar();
- dotsRingWaitingBarIndicatorElement2 = new Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement();
- radMenu1 = new Telerik.WinControls.UI.RadMenu();
- ((System.ComponentModel.ISupportInitialize)radSplitContainer1).BeginInit();
- radSplitContainer1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)splitPanel1).BeginInit();
- splitPanel1.SuspendLayout();
- tableLayoutPanel2.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)radTreeView_Sets).BeginInit();
- ((System.ComponentModel.ISupportInitialize)splitPanel2).BeginInit();
- splitPanel2.SuspendLayout();
- tableLayoutPanel_ActionSet.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)radGridView_Actions).BeginInit();
- ((System.ComponentModel.ISupportInitialize)radGridView_Actions.MasterTemplate).BeginInit();
- tableLayoutPanel_ActionSetInfo.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)radLabel1).BeginInit();
- ((System.ComponentModel.ISupportInitialize)radTextBoxControl_Version).BeginInit();
- ((System.ComponentModel.ISupportInitialize)radCheckBox_IsPublic).BeginInit();
- ((System.ComponentModel.ISupportInitialize)radWaitingBar_Updates).BeginInit();
- ((System.ComponentModel.ISupportInitialize)radWaitingBar_Actions).BeginInit();
- ((System.ComponentModel.ISupportInitialize)radMenu1).BeginInit();
- ((System.ComponentModel.ISupportInitialize)this).BeginInit();
- SuspendLayout();
- //
- // radSplitContainer1
- //
- radSplitContainer1.Controls.Add(splitPanel1);
- radSplitContainer1.Controls.Add(splitPanel2);
- radSplitContainer1.Dock = DockStyle.Fill;
- radSplitContainer1.Location = new Point(0, 28);
- radSplitContainer1.Name = "radSplitContainer1";
- radSplitContainer1.Size = new Size(800, 422);
- radSplitContainer1.TabIndex = 0;
- radSplitContainer1.TabStop = false;
- //
- // splitPanel1
- //
- splitPanel1.Controls.Add(tableLayoutPanel2);
- splitPanel1.Location = new Point(0, 0);
- splitPanel1.Name = "splitPanel1";
- splitPanel1.Size = new Size(232, 422);
- splitPanel1.SizeInfo.AbsoluteSize = new Size(232, 200);
- splitPanel1.SizeInfo.AutoSizeScale = new SizeF(-0.190954775F, 0F);
- splitPanel1.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Absolute;
- splitPanel1.SizeInfo.SplitterCorrection = new Size(-120, 0);
- splitPanel1.TabIndex = 0;
- splitPanel1.TabStop = false;
- //
- // tableLayoutPanel2
- //
- tableLayoutPanel2.ColumnCount = 1;
- tableLayoutPanel2.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
- tableLayoutPanel2.Controls.Add(radTreeView_Sets, 0, 0);
- tableLayoutPanel2.Dock = DockStyle.Fill;
- tableLayoutPanel2.Location = new Point(0, 0);
- tableLayoutPanel2.Name = "tableLayoutPanel2";
- tableLayoutPanel2.RowCount = 1;
- tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
- tableLayoutPanel2.Size = new Size(232, 422);
- tableLayoutPanel2.TabIndex = 1;
- //
- // radTreeView_Sets
- //
- radTreeView_Sets.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
- radTreeView_Sets.ItemHeight = 24;
- radTreeView_Sets.LineColor = Color.FromArgb(152, 152, 152);
- radTreeView_Sets.LineStyle = Telerik.WinControls.UI.TreeLineStyle.Solid;
- radTreeView_Sets.Location = new Point(3, 3);
- radTreeView_Sets.Name = "radTreeView_Sets";
- radTreeView_Sets.Size = new Size(226, 416);
- radTreeView_Sets.TabIndex = 0;
- radTreeView_Sets.SelectedNodeChanged += RadTreeView_Sets_SelectedNodeChanged;
- //
- // splitPanel2
- //
- splitPanel2.Controls.Add(tableLayoutPanel_ActionSet);
- splitPanel2.Location = new Point(236, 0);
- splitPanel2.Name = "splitPanel2";
- splitPanel2.Size = new Size(564, 422);
- splitPanel2.SizeInfo.AutoSizeScale = new SizeF(-0.0600000024F, 0F);
- splitPanel2.SizeInfo.SplitterCorrection = new Size(120, 0);
- splitPanel2.TabIndex = 1;
- splitPanel2.TabStop = false;
- //
- // tableLayoutPanel_ActionSet
- //
- tableLayoutPanel_ActionSet.ColumnCount = 1;
- tableLayoutPanel_ActionSet.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
- tableLayoutPanel_ActionSet.Controls.Add(radGridView_Actions, 0, 1);
- tableLayoutPanel_ActionSet.Controls.Add(tableLayoutPanel_ActionSetInfo, 0, 0);
- tableLayoutPanel_ActionSet.Dock = DockStyle.Fill;
- tableLayoutPanel_ActionSet.Location = new Point(0, 0);
- tableLayoutPanel_ActionSet.Name = "tableLayoutPanel_ActionSet";
- tableLayoutPanel_ActionSet.RowCount = 2;
- tableLayoutPanel_ActionSet.RowStyles.Add(new RowStyle());
- tableLayoutPanel_ActionSet.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
- tableLayoutPanel_ActionSet.Size = new Size(564, 422);
- tableLayoutPanel_ActionSet.TabIndex = 0;
- //
- // radGridView_Actions
- //
- radGridView_Actions.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
- radGridView_Actions.Location = new Point(3, 33);
- //
- //
- //
- radGridView_Actions.MasterTemplate.AddNewRowPosition = Telerik.WinControls.UI.SystemRowPosition.Bottom;
- radGridView_Actions.MasterTemplate.AllowColumnChooser = false;
- radGridView_Actions.MasterTemplate.AllowDragToGroup = false;
- radGridView_Actions.MasterTemplate.AllowRowResize = false;
- radGridView_Actions.MasterTemplate.AllowSearchRow = true;
- radGridView_Actions.MasterTemplate.EnableGrouping = false;
- radGridView_Actions.MasterTemplate.ViewDefinition = tableViewDefinition2;
- radGridView_Actions.Name = "radGridView_Actions";
- radGridView_Actions.Size = new Size(558, 386);
- radGridView_Actions.TabIndex = 0;
- radGridView_Actions.CellFormatting += RadGridView_Actions_CellFormatting;
- radGridView_Actions.UserAddedRow += RadGridView_Actions_UserAddedRow;
- radGridView_Actions.UserDeletingRow += RadGridView_Actions_UserDeletingRow;
- radGridView_Actions.CellValueChanged += RadGridView_Actions_CellValueChanged;
- radGridView_Actions.ContextMenuOpening += RadGridView_Actions_ContextMenuOpening;
- //
- // tableLayoutPanel_ActionSetInfo
- //
- tableLayoutPanel_ActionSetInfo.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
- tableLayoutPanel_ActionSetInfo.AutoSize = true;
- tableLayoutPanel_ActionSetInfo.ColumnCount = 3;
- tableLayoutPanel_ActionSetInfo.ColumnStyles.Add(new ColumnStyle());
- tableLayoutPanel_ActionSetInfo.ColumnStyles.Add(new ColumnStyle());
- tableLayoutPanel_ActionSetInfo.ColumnStyles.Add(new ColumnStyle());
- tableLayoutPanel_ActionSetInfo.Controls.Add(radLabel1, 0, 0);
- tableLayoutPanel_ActionSetInfo.Controls.Add(radTextBoxControl_Version, 1, 0);
- tableLayoutPanel_ActionSetInfo.Controls.Add(radCheckBox_IsPublic, 2, 0);
- tableLayoutPanel_ActionSetInfo.Location = new Point(0, 0);
- tableLayoutPanel_ActionSetInfo.Margin = new Padding(0);
- tableLayoutPanel_ActionSetInfo.Name = "tableLayoutPanel_ActionSetInfo";
- tableLayoutPanel_ActionSetInfo.RowCount = 1;
- tableLayoutPanel_ActionSetInfo.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
- tableLayoutPanel_ActionSetInfo.Size = new Size(564, 30);
- tableLayoutPanel_ActionSetInfo.TabIndex = 1;
- //
- // radLabel1
- //
- radLabel1.Anchor = AnchorStyles.Left;
- radLabel1.Location = new Point(3, 4);
- radLabel1.Name = "radLabel1";
- radLabel1.Size = new Size(58, 22);
- radLabel1.TabIndex = 0;
- radLabel1.Text = "Version:";
- //
- // radTextBoxControl_Version
- //
- radTextBoxControl_Version.Anchor = AnchorStyles.Left;
- radTextBoxControl_Version.AutoSize = true;
- radTextBoxControl_Version.Location = new Point(67, 3);
- radTextBoxControl_Version.Name = "radTextBoxControl_Version";
- radTextBoxControl_Version.NullText = "e.g. 1.2.5.0";
- radTextBoxControl_Version.Size = new Size(150, 24);
- radTextBoxControl_Version.TabIndex = 1;
- radTextBoxControl_Version.TextChanged += RadTextBoxControl1_TextChanged;
- //
- // radCheckBox_IsPublic
- //
- radCheckBox_IsPublic.Anchor = AnchorStyles.Left;
- radCheckBox_IsPublic.Location = new Point(223, 5);
- radCheckBox_IsPublic.Name = "radCheckBox_IsPublic";
- radCheckBox_IsPublic.Size = new Size(76, 20);
- radCheckBox_IsPublic.TabIndex = 2;
- radCheckBox_IsPublic.Text = "Is public";
- radCheckBox_IsPublic.ToggleStateChanged += RadCheckBox1_ToggleStateChanged;
- //
- // radMenuItem_Workspace
- //
- radMenuItem_Workspace.Items.AddRange(new Telerik.WinControls.RadItem[] { radMenuItem_WorkspacePreferences, radMenuItem_SaveWorkspace, radMenuSeparatorItem1, radMenuHeaderItem_NewWorkspace, radMenuSeparatorItem3, radMenuHeaderItem_RecentWorkspaces });
- radMenuItem_Workspace.Name = "radMenuItem_Workspace";
- radMenuItem_Workspace.Text = "Workspace";
- //
- // radMenuItem_WorkspacePreferences
- //
- radMenuItem_WorkspacePreferences.Name = "radMenuItem_WorkspacePreferences";
- radMenuItem_WorkspacePreferences.Text = "Preferences";
- radMenuItem_WorkspacePreferences.Click += RadMenuItem_WorkspacePreferences_Click;
- //
- // radMenuItem_SaveWorkspace
- //
- radMenuItem_SaveWorkspace.Name = "radMenuItem_SaveWorkspace";
- radMenuItem_SaveWorkspace.Text = "Save";
- radMenuItem_SaveWorkspace.Click += RadMenuItem_SaveWorkspace_Click;
- //
- // radMenuSeparatorItem1
- //
- radMenuSeparatorItem1.Name = "radMenuSeparatorItem1";
- radMenuSeparatorItem1.Text = "radMenuSeparatorItem1";
- radMenuSeparatorItem1.TextAlignment = ContentAlignment.MiddleLeft;
- //
- // radMenuHeaderItem_NewWorkspace
- //
- radMenuHeaderItem_NewWorkspace.Name = "radMenuHeaderItem_NewWorkspace";
- radMenuHeaderItem_NewWorkspace.Text = "New workspace";
- //
- // radMenuSeparatorItem3
- //
- radMenuSeparatorItem3.Name = "radMenuSeparatorItem3";
- radMenuSeparatorItem3.Text = "radMenuSeparatorItem3";
- radMenuSeparatorItem3.TextAlignment = ContentAlignment.MiddleLeft;
- //
- // radMenuHeaderItem_RecentWorkspaces
- //
- radMenuHeaderItem_RecentWorkspaces.Name = "radMenuHeaderItem_RecentWorkspaces";
- radMenuHeaderItem_RecentWorkspaces.Text = "Recent workspaces";
- //
- // radMenuItem_Tools
- //
- radMenuItem_Tools.Name = "radMenuItem_Tools";
- radMenuItem_Tools.Text = "Tools";
- //
- // radMenuItem_Updates
- //
- radMenuItem_Updates.Items.AddRange(new Telerik.WinControls.RadItem[] { radMenuItem_CreateUpdate, radMenuItem_RemoveUpdate });
- radMenuItem_Updates.Name = "radMenuItem_Updates";
- radMenuItem_Updates.Text = "Updates";
- radMenuItem_Updates.DropDownOpening += RadMenuItem_Updates_DropDownOpening;
- //
- // radMenuItem_CreateUpdate
- //
- radMenuItem_CreateUpdate.Name = "radMenuItem_CreateUpdate";
- radMenuItem_CreateUpdate.Text = "Create";
- radMenuItem_CreateUpdate.Click += RadMenuItem_CreateUpdate_Click;
- //
- // radMenuItem_RemoveUpdate
- //
- radMenuItem_RemoveUpdate.Name = "radMenuItem_RemoveUpdate";
- radMenuItem_RemoveUpdate.Text = "Remove";
- radMenuItem_RemoveUpdate.Click += RadMenuItem_RemoveUpdate_Click;
- //
- // radWaitingBar_Updates
- //
- radWaitingBar_Updates.AssociatedControl = radTreeView_Sets;
- radWaitingBar_Updates.Location = new Point(0, 78);
- radWaitingBar_Updates.Name = "radWaitingBar_Updates";
- radWaitingBar_Updates.Size = new Size(70, 70);
- radWaitingBar_Updates.TabIndex = 2;
- radWaitingBar_Updates.Text = "radWaitingBar1";
- radWaitingBar_Updates.WaitingIndicators.Add(dotsRingWaitingBarIndicatorElement1);
- radWaitingBar_Updates.WaitingIndicatorSize = new Size(100, 14);
- radWaitingBar_Updates.WaitingSpeed = 50;
- radWaitingBar_Updates.WaitingStyle = Telerik.WinControls.Enumerations.WaitingBarStyles.DotsRing;
- //
- // dotsRingWaitingBarIndicatorElement1
- //
- dotsRingWaitingBarIndicatorElement1.Name = "dotsRingWaitingBarIndicatorElement1";
- //
- // radWaitingBar_Actions
- //
- radWaitingBar_Actions.AssociatedControl = radGridView_Actions;
- radWaitingBar_Actions.ForeColor = Color.Black;
- radWaitingBar_Actions.Location = new Point(0, 145);
- radWaitingBar_Actions.Name = "radWaitingBar_Actions";
- radWaitingBar_Actions.Size = new Size(70, 70);
- radWaitingBar_Actions.TabIndex = 3;
- radWaitingBar_Actions.WaitingIndicators.Add(dotsRingWaitingBarIndicatorElement2);
- radWaitingBar_Actions.WaitingIndicatorSize = new Size(100, 14);
- radWaitingBar_Actions.WaitingSpeed = 50;
- radWaitingBar_Actions.WaitingStyle = Telerik.WinControls.Enumerations.WaitingBarStyles.DotsRing;
- //
- // dotsRingWaitingBarIndicatorElement2
- //
- dotsRingWaitingBarIndicatorElement2.Name = "dotsRingWaitingBarIndicatorElement2";
- //
- // radMenu1
- //
- radMenu1.Items.AddRange(new Telerik.WinControls.RadItem[] { radMenuItem_Workspace, radMenuItem_Updates, radMenuItem_Tools });
- radMenu1.Location = new Point(0, 0);
- radMenu1.Name = "radMenu1";
- radMenu1.Size = new Size(800, 28);
- radMenu1.TabIndex = 1;
- //
- // MainForm
- //
- AutoScaleBaseSize = new Size(7, 15);
- AutoScaleDimensions = new SizeF(7F, 15F);
- AutoScaleMode = AutoScaleMode.Font;
- ClientSize = new Size(800, 450);
- Controls.Add(radWaitingBar_Actions);
- Controls.Add(radWaitingBar_Updates);
- Controls.Add(radSplitContainer1);
- Controls.Add(radMenu1);
- Icon = (Icon)resources.GetObject("$this.Icon");
- Name = "MainForm";
- StartPosition = FormStartPosition.CenterScreen;
- Text = "Minecraft Modpack Updates Manager";
- WindowState = FormWindowState.Maximized;
- Load += Form1_Load;
- ((System.ComponentModel.ISupportInitialize)radSplitContainer1).EndInit();
- radSplitContainer1.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)splitPanel1).EndInit();
- splitPanel1.ResumeLayout(false);
- tableLayoutPanel2.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)radTreeView_Sets).EndInit();
- ((System.ComponentModel.ISupportInitialize)splitPanel2).EndInit();
- splitPanel2.ResumeLayout(false);
- tableLayoutPanel_ActionSet.ResumeLayout(false);
- tableLayoutPanel_ActionSet.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)radGridView_Actions.MasterTemplate).EndInit();
- ((System.ComponentModel.ISupportInitialize)radGridView_Actions).EndInit();
- tableLayoutPanel_ActionSetInfo.ResumeLayout(false);
- tableLayoutPanel_ActionSetInfo.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)radLabel1).EndInit();
- ((System.ComponentModel.ISupportInitialize)radTextBoxControl_Version).EndInit();
- ((System.ComponentModel.ISupportInitialize)radCheckBox_IsPublic).EndInit();
- ((System.ComponentModel.ISupportInitialize)radWaitingBar_Updates).EndInit();
- ((System.ComponentModel.ISupportInitialize)radWaitingBar_Actions).EndInit();
- ((System.ComponentModel.ISupportInitialize)radMenu1).EndInit();
- ((System.ComponentModel.ISupportInitialize)this).EndInit();
- ResumeLayout(false);
- PerformLayout();
- }
-
- #endregion
-
- private Telerik.WinControls.UI.RadSplitContainer radSplitContainer1;
- private Telerik.WinControls.UI.SplitPanel splitPanel1;
- private Telerik.WinControls.UI.SplitPanel splitPanel2;
- private Telerik.WinControls.UI.RadMenu radMenu1;
- private Telerik.WinControls.UI.RadMenuItem radMenuItem_Workspace;
- private Telerik.WinControls.UI.RadMenuItem radMenuItem_WorkspacePreferences;
- private Telerik.WinControls.UI.RadMenuItem radMenuItem_Tools;
- private TableLayoutPanel tableLayoutPanel2;
- private TableLayoutPanel tableLayoutPanel_ActionSet;
- private Telerik.WinControls.UI.RadGridView radGridView_Actions;
- private Telerik.WinControls.UI.RadMenuSeparatorItem radMenuSeparatorItem1;
- private Telerik.WinControls.UI.RadMenuItem radMenuItem_SaveWorkspace;
- private Telerik.WinControls.UI.RadWaitingBar radWaitingBar_Updates;
- private Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement dotsRingWaitingBarIndicatorElement1;
- private Telerik.WinControls.UI.RadWaitingBar radWaitingBar_Actions;
- private Telerik.WinControls.UI.DotsRingWaitingBarIndicatorElement dotsRingWaitingBarIndicatorElement2;
- private Telerik.WinControls.UI.RadMenuItem radMenuItem_Updates;
- private Telerik.WinControls.UI.RadMenuItem radMenuItem_CreateUpdate;
- private Telerik.WinControls.UI.RadMenuItem radMenuItem_RemoveUpdate;
- private Telerik.WinControls.UI.RadMenuHeaderItem radMenuHeaderItem_NewWorkspace;
- private Telerik.WinControls.UI.RadMenuSeparatorItem radMenuSeparatorItem3;
- private Telerik.WinControls.UI.RadMenuHeaderItem radMenuHeaderItem_RecentWorkspaces;
- private Telerik.WinControls.UI.RadTreeView radTreeView_Sets;
- private TableLayoutPanel tableLayoutPanel_ActionSetInfo;
- private Telerik.WinControls.UI.RadLabel radLabel1;
- private Telerik.WinControls.UI.RadTextBoxControl radTextBoxControl_Version;
- private Telerik.WinControls.UI.RadCheckBox radCheckBox_IsPublic;
-}
diff --git a/ModpackUpdater.Apps.Manager/Ui/MainForm.cs b/ModpackUpdater.Apps.Manager/Ui/MainForm.cs
index 2878486..df097c8 100644
--- a/ModpackUpdater.Apps.Manager/Ui/MainForm.cs
+++ b/ModpackUpdater.Apps.Manager/Ui/MainForm.cs
@@ -1,651 +1,547 @@
-using ModpackUpdater.Apps.Manager.Api.Model;
-using ModpackUpdater.Apps.Manager.Api.Plugins.Features;
-using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
-using ModpackUpdater.Apps.Manager.LangRes;
-using ModpackUpdater.Apps.Manager.Settings;
-using Pilz.Features;
-using Pilz.UI.Symbols;
-using Pilz.UI.WinForms.Extensions;
-using Pilz.UI.WinForms.Telerik.Features;
-using Telerik.WinControls;
-using Telerik.WinControls.UI;
-
-namespace ModpackUpdater.Apps.Manager.Ui;
-
-public partial class MainForm : RadForm, IMainApi
-{
- private record RecentFilesItemTag(WorkspaceConfig Config, WorkspaceFeature Feature);
- private record WorkspaceTag(IWorkspace Workspace, WorkspaceFeature Feature);
-
- private bool loadingMainView;
- private WorkspaceTag? wsInfo;
- private InstallAction? tempAction;
-
- Form IMainApi.MainWindow => this;
- IWorkspace? IMainApi.CurWorkspace => wsInfo?.Workspace;
-
- public IActionSetInfos? CurActionSet => radTreeView_Sets.SelectedNode?.Tag as IActionSetInfos;
-
- public MainForm()
- {
- InitializeComponent();
-
- radMenuItem_Workspace.SvgImage = AppGlobals.Symbols.GetSvgImage(AppSymbols.workspace, SymbolSize.Small);
- radMenuItem_WorkspacePreferences.SvgImage = AppGlobals.Symbols.GetSvgImage(AppSymbols.settings, SymbolSize.Small);
- radMenuItem_SaveWorkspace.SvgImage = AppGlobals.Symbols.GetSvgImage(AppSymbols.save, SymbolSize.Small);
- //radMenuItem_OpenNewWorkspace.SvgImage = AppGlobals.Symbols.GetSvgImage(AppSymbols.new_window, SymbolSize.Small);
- //radMenuItem_RecentWorkspaces.SvgImage = AppGlobals.Symbols.GetSvgImage(AppSymbols.time_machine, SymbolSize.Small);
- radMenuItem_Updates.SvgImage = AppGlobals.Symbols.GetSvgImage(AppSymbols.update_done, SymbolSize.Small);
- radMenuItem_CreateUpdate.SvgImage = AppGlobals.Symbols.GetSvgImage(AppSymbols.add, SymbolSize.Small);
- radMenuItem_RemoveUpdate.SvgImage = AppGlobals.Symbols.GetSvgImage(AppSymbols.remove, SymbolSize.Small);
- radMenuItem_Tools.SvgImage = AppGlobals.Symbols.GetSvgImage(AppSymbols.tools, SymbolSize.Small);
-
- radMenuItem_SaveWorkspace.Shortcuts.Add(new(Keys.Control, Keys.S));
-
- PluginFeatureController.Instance.Features.Get(FeatureTypes.Workspace).InsertItemsTo(radMenuItem_Workspace.Items,
- customClickHandler: RadMenuItem_OpenNewWorkspace_Click,
- insertPrioSplitters: true,
- customDefault: radMenuItem_Workspace.Items.IndexOf(radMenuHeaderItem_NewWorkspace) + 1);
- PluginFeatureController.Instance.Functions.Get(FeatureTypes.Tools).InsertItemsTo(radMenuItem_Tools.Items,
- customClickHandler: RadMenuItem_ToolsItem_Click,
- insertPrioSplitters: true);
- }
-
- private void LoadRecentWorkspaces()
- {
- var settings = Program.Settings.Get();
- var startIndex = radMenuItem_Workspace.Items.IndexOf(radMenuHeaderItem_RecentWorkspaces) + 1;
-
- foreach (var item in radMenuItem_Workspace.Items.Where(n => n.Tag is RecentFilesItemTag).ToArray())
- radMenuItem_Workspace.Items.Remove(item);
-
- foreach (var config in settings.Workspaces)
- {
- if (PluginFeatureController.Instance.Features.Get(FeatureTypes.Workspace).OfType().FirstOrDefault(n => n.Identifier == config.ProviderId) is not WorkspaceFeature feature)
- continue;
-
- var item = new RadMenuItem
- {
- Text = config.DisplayText,
- Tag = new RecentFilesItemTag(config, feature),
- SvgImage = feature.Icon as RadSvgImage,
- };
-
- item.Click += RadMenuItem_OpenRecentWorkspace_Click;
-
- radMenuItem_Workspace.Items.Insert(startIndex++, item);
- }
- }
-
- private void AddToRecentFiles(IWorkspace workspace)
- {
- var settings = Program.Settings.Get();
-
- settings.Workspaces.Remove(workspace.Config);
- settings.Workspaces.Insert(0, workspace.Config);
-
- while (settings.Workspaces.Count > 20)
- settings.Workspaces.RemoveAt(20);
- }
-
- private async Task LoadNewWorkspace(IWorkspace? workspace, WorkspaceFeature feature)
- {
- if (workspace is null)
- return;
-
- if (workspace != wsInfo?.Workspace)
- wsInfo = new(workspace, feature);
-
- AddToRecentFiles(workspace);
- Invoke(LoadRecentWorkspaces);
-
- radWaitingBar_Updates.StartWaiting();
-
- if (!await workspace.Load())
- {
- radWaitingBar_Updates.StopWaiting();
- return;
- }
-
- Invoke(LoadWorkspace);
- }
-
- private void LoadWorkspace()
- {
- if (wsInfo?.Workspace.Config is null || wsInfo.Workspace.InstallInfos is null || wsInfo.Workspace.UpdateInfos is null)
- return;
-
- radWaitingBar_Updates.StartWaiting();
- Text = wsInfo.Workspace.Config.DisplayText;
- radTreeView_Sets.BeginUpdate();
- radTreeView_Sets.Nodes.Clear();
-
- AddUpdateItem(wsInfo.Workspace.InstallInfos);
- var nodeUpdates = new RadTreeNode
- {
- Text = "Updates",
- Name = "updates",
- SvgImage = AppGlobals.Symbols.GetSvgImage(AppSymbols.update_done, SymbolSize.Small),
- };
- wsInfo.Workspace.UpdateInfos.Updates.ForEach(n => AddUpdateItem(n, nodeUpdates.Nodes));
- radTreeView_Sets.Nodes.Add(nodeUpdates);
-
- radTreeView_Sets.EndUpdate();
- radWaitingBar_Updates.StopWaiting();
- }
-
- private RadTreeNode AddUpdateItem(IActionSetInfos infos)
- {
- return AddUpdateItem(infos, radTreeView_Sets.Nodes);
- }
-
- private RadTreeNode AddUpdateItem(IActionSetInfos infos, RadTreeNodeCollection parent)
- {
- var item = CreateUpdateItem(infos);
- parent.Add(item);
- return item;
- }
-
- private RadTreeNode InsertUpdateItem(IActionSetInfos infos)
- {
- var item = CreateUpdateItem(infos);
- var nodeUpdates = radTreeView_Sets.Nodes["updates"];
- nodeUpdates.Nodes.Insert(Math.Min(1, nodeUpdates.Nodes.Count), item);
- return item;
- }
-
- private RadTreeNode CreateUpdateItem(IActionSetInfos infos)
- {
- var item = new RadTreeNode();
- UpdateUpdateItem(item, infos);
- return item;
- }
-
- private void UpdateUpdateItem(RadTreeNode item)
- {
- if (item.Tag is IActionSetInfos infos)
- UpdateUpdateItem(item, infos);
- }
-
- private void SaveActionsSet()
- {
- if (loadingMainView || CurActionSet is not IActionSetInfos infos)
- return;
-
- if (!Version.TryParse(radTextBoxControl_Version.Text.Trim(), out Version? version))
- version = new Version("1.0.0.0");
-
- infos.Version = version;
- infos.IsPublic = radCheckBox_IsPublic.Checked;
-
- UpdateUpdateItem(radTreeView_Sets.SelectedNode);
- }
-
- private void UpdateUpdateItem(RadTreeNode item, IActionSetInfos infos)
- {
- if (item.Tag != infos)
- item.Tag = infos;
-
- if (infos is UpdateInfo)
- item.Text = string.Format(GeneralLangRes.Node_Update, infos.Version?.ToString() ?? "?");
- else if (infos is InstallInfos)
- item.Text = string.Format(GeneralLangRes.Node_Install, infos.Version?.ToString() ?? "?");
- else
- item.Text = infos.Version.ToString();
-
- item.SvgImage = AppGlobals.Symbols.GetSvgImage(infos.IsPublic ? AppSymbols.eye : AppSymbols.invisible, SymbolSize.Small);
- }
-
- public void UpdateItem(IActionSetInfos actionSetInfos)
- {
- RadTreeNode? item = null;
- var nodeUpdates = radTreeView_Sets.Nodes["updates"];
-
- foreach (var iitem in nodeUpdates.Nodes)
- {
- if (item == null && iitem.Value == actionSetInfos)
- item = iitem;
- }
-
- if (item == null)
- InsertUpdateItem(actionSetInfos);
- else if (wsInfo?.Workspace.UpdateInfos != null && !wsInfo.Workspace.UpdateInfos.Updates.Contains(actionSetInfos))
- item.Remove();
- else
- UpdateUpdateItem(item);
- }
-
- public void UpdateItem(InstallAction action)
- {
- foreach (var row in radGridView_Actions.Rows)
- {
- if (row.Tag == action)
- UpdateActionRow(row);
- }
- }
-
- private void LoadMainView()
- {
- loadingMainView = true;
-
- tableLayoutPanel_ActionSet.Visible = false;
- tableLayoutPanel_ActionSetInfo.Visible = false;
-
- if (CurActionSet is IActionSet set)
- {
- if (set is IActionSetInfos infos)
- {
- radTextBoxControl_Version.Text = infos.Version?.ToString();
- radCheckBox_IsPublic.Checked = infos.IsPublic;
- tableLayoutPanel_ActionSetInfo.Visible = true;
- }
- tableLayoutPanel_ActionSet.Visible = true;
- LoadActionSet(set);
- }
-
- loadingMainView = false;
- }
-
- private void LoadActionSet(IActionSet infos)
- {
- radGridView_Actions.BeginUpdate();
- radGridView_Actions.Rows.Clear();
- radGridView_Actions.Columns.Clear();
-
- // Add columns
- radGridView_Actions.Columns.AddRange([
- new GridViewTextBoxColumn
- {
- Name = "id",
- HeaderText = ActionsListLangRes.Col_Id,
- Width = 150,
- IsVisible = infos is not UpdateInfo,
- IsPinned = true,
- },
- new GridViewTextBoxColumn
- {
- Name = "name",
- HeaderText = ActionsListLangRes.Col_Name,
- Width = 150,
- IsVisible = infos is not UpdateInfo,
- },
- new GridViewTextBoxColumn
- {
- Name = "inherit",
- HeaderText = ActionsListLangRes.Col_InheritFrom,
- Width = 150,
- IsVisible = infos is UpdateInfo,
- IsPinned = true,
- },
- new GridViewComboBoxColumn
- {
- Name = "utype",
- HeaderText = ActionsListLangRes.Col_UpdateType,
- Width = 150,
- DataSource = Enum.GetValues(),
- IsVisible = infos is UpdateInfo,
- },
- new GridViewComboBoxColumn
- {
- Name = "side",
- HeaderText = ActionsListLangRes.Col_Side,
- Width = 100,
- DataSource = Enum.GetValues(),
- },
- new GridViewCheckBoxColumn
- {
- Name = "isextra",
- HeaderText = ActionsListLangRes.Col_IsExtra,
- Width = 50,
- },
- new GridViewCheckBoxColumn
- {
- Name = "iszip",
- HeaderText = ActionsListLangRes.Col_IsZip,
- Width = 50,
- },
- new GridViewCheckBoxColumn
- {
- Name = "isdir",
- HeaderText = ActionsListLangRes.Col_IsDir,
- Width = 50,
- IsVisible = infos is UpdateInfo,
- },
- new GridViewTextBoxColumn
- {
- Name = "destpath",
- HeaderText = ActionsListLangRes.Col_DestPath,
- Width = 250,
- },
- new GridViewComboBoxColumn
- {
- Name = "srctype",
- HeaderText = ActionsListLangRes.Col_SrcType,
- Width = 150,
- DataSource = Enum.GetValues(),
- },
- new GridViewTextBoxColumn
- {
- Name = "srcowner",
- HeaderText = ActionsListLangRes.Col_SrcOwner,
- Width = 150,
- },
- new GridViewTextBoxColumn
- {
- Name = "srcname",
- HeaderText = ActionsListLangRes.Col_SrcName,
- Width = 150,
- },
- new GridViewTextBoxColumn
- {
- Name = "srcregex",
- HeaderText = ActionsListLangRes.Col_SrcRegEx,
- Width = 200,
- },
- new GridViewTextBoxColumn
- {
- Name = "srctag",
- HeaderText = ActionsListLangRes.Col_SrcTag,
- Width = 150,
- },
- new GridViewTextBoxColumn
- {
- Name = "srcurl",
- HeaderText = ActionsListLangRes.Col_SrcUrl,
- Width = 350,
- },
- new GridViewTextBoxColumn
- {
- Name = "zippath",
- HeaderText = ActionsListLangRes.Col_ZipPath,
- Width = 200,
- },
- new GridViewTextBoxColumn
- {
- Name = "srcpath",
- HeaderText = ActionsListLangRes.Col_SrcPath,
- Width = 250,
- IsVisible = infos is UpdateInfo,
- },
- new GridViewTextBoxColumn
- {
- Name = "website",
- HeaderText = ActionsListLangRes.Col_Website,
- Width = 350,
- },
- ]);
-
- // Add rows
- foreach (var action in infos.Actions)
- {
- var row = radGridView_Actions.Rows.AddNew();
- row.Tag = action;
- UpdateActionRow(row);
- }
-
- radGridView_Actions.EndUpdate();
- }
-
- private void UpdateActionRow(GridViewRowInfo row)
- {
- if (row.Tag is not InstallAction action)
- return;
-
- row.Cells["id"].Value = action.Id;
- row.Cells["name"].Value = action.Name;
- row.Cells["iszip"].Value = action.IsZip;
- row.Cells["zippath"].Value = action.ZipPath;
- row.Cells["destpath"].Value = action.DestPath;
- row.Cells["srcurl"].Value = action.SourceUrl;
- row.Cells["srctype"].Value = action.SourceType;
- row.Cells["srcowner"].Value = action.SourceOwner;
- row.Cells["srcname"].Value = action.SourceName;
- row.Cells["srcregex"].Value = action.SourceRegex;
- row.Cells["srctag"].Value = action.SourceTag;
- row.Cells["side"].Value = action.Side;
- row.Cells["isextra"].Value = action.IsExtra;
- row.Cells["website"].Value = action.Website;
-
- if (action is not UpdateAction uaction)
- return;
-
- row.Cells["inherit"].Value = uaction.InheritFrom; // TODO: Find inherit action and put it in here!
- row.Cells["utype"].Value = uaction.Type;
- row.Cells["srcpath"].Value = uaction.SrcPath;
- row.Cells["isdir"].Value = uaction.IsDirectory;
- }
-
- private void Form1_Load(object sender, EventArgs e)
- {
- LoadRecentWorkspaces();
- }
-
- private async void RadMenuItem_OpenNewWorkspace_Click(object? sender, EventArgs e)
- {
- if (sender is RadMenuItem item && item.Tag is WorkspaceFeature feature)
- {
- var ws = wsInfo?.Workspace;
- if (feature.Configure(ws))
- await LoadNewWorkspace(ws, feature);
- }
- }
-
- private async void RadMenuItem_OpenRecentWorkspace_Click(object? sender, EventArgs e)
- {
- if (sender is RadMenuItem item && item.Tag is RecentFilesItemTag tag && tag.Feature.CreateFromConfig(tag.Config) is IWorkspace workspace)
- await LoadNewWorkspace(workspace, tag.Feature);
- }
-
- private async void RadMenuItem_WorkspacePreferences_Click(object sender, EventArgs e)
- {
- if (wsInfo != null)
- {
- var ws = wsInfo.Workspace;
- if (wsInfo.Feature.Configure(ws))
- await LoadNewWorkspace(ws, wsInfo.Feature);
- }
- }
-
- private void RadMenuItem_SaveWorkspace_Click(object sender, EventArgs e)
- {
- wsInfo?.Workspace.Save();
- }
-
- private void RadMenuItem_ToolsItem_Click(object? sender, EventArgs e)
- {
- if (sender is RadMenuItem item && item.Tag is PluginFunction func)
- func.Execute(new MainApiParameters(this));
- }
-
- private void RadTreeView_Sets_SelectedNodeChanged(object sender, RadTreeViewEventArgs e)
- {
- LoadMainView();
- }
-
- private void RadGridView_Actions_CellFormatting(object sender, CellFormattingEventArgs e)
- {
- //var cellElement = e.CellElement;
- //var cellInfo = e.Row.Cells[e.Column.Name];
-
- //if (e.Column.Name == "srctype" && cellInfo?.Value is string sourceTypeStr && Enum.Parse(sourceTypeStr) is SourceType sourceType)
- //{
- // cellElement.SvgImage = sourceType switch
- // {
- // SourceType.DirectLink => AppGlobals.Symbols.GetSvgImage(AppSymbols.link, SymbolSize.Small),
- // SourceType.GitHub => AppGlobals.Symbols.GetSvgImage(AppSymbols.github, SymbolSize.Small),
- // _ => null,
- // };
- // cellElement.DrawImage = cellElement.SvgImage != null;
- // cellElement.TextImageRelation = TextImageRelation.ImageBeforeText;
- // cellElement.ImageAlignment = ContentAlignment.MiddleLeft;
- //}
- //else
- //{
- // cellElement.ResetValue(LightVisualElement.SvgImageProperty, ValueResetFlags.Local);
- // cellElement.ResetValue(LightVisualElement.DrawImageProperty, ValueResetFlags.Local);
- // cellElement.ResetValue(LightVisualElement.TextImageRelationProperty, ValueResetFlags.Local);
- // cellElement.ResetValue(LightVisualElement.ImageAlignmentProperty, ValueResetFlags.Local);
- //}
- }
-
- private void RadGridView_Actions_CellValueChanged(object sender, GridViewCellEventArgs e)
- {
- if (e.Row is null)
- return;
-
- if (e.Row.Tag is not InstallAction action)
- {
- if (CurActionSet is UpdateInfo)
- action = tempAction ??= new UpdateAction();
- else if (CurActionSet is InstallInfos)
- action = tempAction ??= new InstallAction();
- else
- return;
- }
-
- var uaction = action as UpdateAction;
- var newValue = e.Row.Cells[e.Column.Name].Value;
- var colName = e.Column.Name;
-
- if (newValue is bool valueBool)
- {
- switch (colName)
- {
- case "iszip":
- action.IsZip = valueBool;
- break;
- case "isextra":
- action.IsExtra = valueBool;
- break;
- case "isdir":
- if (uaction is not null)
- uaction.IsDirectory = valueBool;
- break;
- }
- }
- else
- {
- var valueStr = newValue as string ?? string.Empty;
- var valueNullStr = valueStr.Nullify();
-
- switch (colName)
- {
- case "id":
- action.Id = valueNullStr;
- break;
- case "name":
- action.Name = valueNullStr;
- break;
- case "zippath":
- action.ZipPath = valueNullStr;
- break;
- case "destpath":
- action.DestPath = valueNullStr;
- break;
- case "srcurl":
- action.SourceUrl = valueNullStr;
- break;
- case "srctype":
- action.SourceType = Enum.Parse(valueStr);
- break;
- case "srcowner":
- action.SourceOwner = valueNullStr;
- break;
- case "srcname":
- action.SourceName = valueNullStr;
- break;
- case "srcregex":
- action.SourceRegex = valueNullStr;
- break;
- case "srctag":
- action.SourceTag = valueNullStr;
- break;
- case "website":
- action.Website = valueNullStr;
- break;
- case "side":
- action.Side = Enum.Parse(valueStr);
- break;
- case "inherit":
- if (uaction is not null)
- uaction.InheritFrom = valueNullStr;
- break;
- case "utype":
- if (uaction is not null)
- uaction.Type = Enum.Parse(valueStr);
- break;
- case "srcpath":
- if (uaction is not null)
- uaction.SrcPath = valueNullStr;
- break;
- }
- }
- }
-
- private void RadMenuItem_Updates_DropDownOpening(object sender, System.ComponentModel.CancelEventArgs e)
- {
- radMenuItem_RemoveUpdate.Enabled = radTreeView_Sets.SelectedNode?.Tag is UpdateInfo;
- }
-
- private void RadMenuItem_CreateUpdate_Click(object sender, EventArgs e)
- {
- if (wsInfo?.Workspace.UpdateInfos is null)
- return;
-
- var infos = new UpdateInfo
- {
- Version = wsInfo.Workspace.InstallInfos?.Version,
- };
- wsInfo.Workspace.UpdateInfos.Updates.Insert(0, infos);
- InsertUpdateItem(infos);
- }
-
- private void RadMenuItem_RemoveUpdate_Click(object sender, EventArgs e)
- {
- if (radTreeView_Sets.SelectedNode?.Tag is UpdateInfo infos && wsInfo?.Workspace.UpdateInfos is not null
- && RadMessageBox.Show(MsgBoxLangRes.RemoveUpdate, MsgBoxLangRes.RemoveUpdate_Title, MessageBoxButtons.YesNo, RadMessageIcon.Exclamation).IsYes())
- {
- wsInfo.Workspace.UpdateInfos.Updates.Remove(infos);
- radTreeView_Sets.SelectedNode.Remove();
- }
- }
-
- private void RadGridView_Actions_UserAddedRow(object sender, GridViewRowEventArgs e)
- {
- if (tempAction is UpdateAction uaction && CurActionSet is UpdateInfo uinfo)
- uinfo.Actions.Add(uaction);
- else if (tempAction is InstallAction iaction && CurActionSet is InstallInfos iinfo)
- iinfo.Actions.Add(iaction);
- tempAction = null;
- }
-
- private void RadGridView_Actions_UserDeletingRow(object sender, GridViewRowCancelEventArgs e)
- {
- foreach (var row in e.Rows)
- {
- if (row.Tag is UpdateAction uaction && CurActionSet is UpdateInfo uinfo)
- uinfo.Actions.Remove(uaction);
- else if (row.Tag is InstallAction iaction && CurActionSet is InstallInfos iinfo)
- iinfo.Actions.Remove(iaction);
- }
- }
-
- private void RadGridView_Actions_ContextMenuOpening(object sender, ContextMenuOpeningEventArgs e)
- {
- if (e.ContextMenuProvider is GridDataCellElement)
- {
- e.ContextMenu.Items.Add(new RadMenuSeparatorItem());
- PluginFeatureController.Instance.Functions.Get(FeatureTypes.ActionsContextMenu).InsertItemsTo(e.ContextMenu.Items, customClickHandler: RadMenuItem_ToolsItem_Click, insertPrioSplitters: true);
- }
- }
-
- private void RadTextBoxControl1_TextChanged(object sender, EventArgs e)
- {
- SaveActionsSet();
- }
-
- private void RadCheckBox1_ToggleStateChanged(object sender, StateChangedEventArgs args)
- {
- SaveActionsSet();
- }
-}
+// using ModpackUpdater.Apps.Manager.Api.Model;
+// using ModpackUpdater.Apps.Manager.Api.Plugins.Features;
+// using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
+// using ModpackUpdater.Apps.Manager.LangRes;
+// using ModpackUpdater.Apps.Manager.Settings;
+// using Pilz.Features;
+// using Pilz.UI.Symbols;
+// using Pilz.UI.WinForms.Extensions;
+// using Pilz.UI.WinForms.Telerik.Features;
+// using Telerik.WinControls;
+// using Telerik.WinControls.UI;
+//
+// namespace ModpackUpdater.Apps.Manager.Ui;
+//
+// public partial class MainForm : RadForm, IMainApi
+// {
+// private record WorkspaceTag(IWorkspace Workspace, WorkspaceFeature Feature);
+//
+// private bool loadingMainView;
+// private WorkspaceTag? wsInfo;
+// private InstallAction? tempAction;
+//
+// Form IMainApi.MainWindow => this;
+// IWorkspace? IMainApi.CurWorkspace => wsInfo?.Workspace;
+//
+// public IActionSetInfos? CurActionSet => radTreeView_Sets.SelectedNode?.Tag as IActionSetInfos;
+//
+// public MainForm()
+// {
+// InitializeComponent();
+// }
+//
+// private RadTreeNode AddUpdateItem(IActionSetInfos infos)
+// {
+// return AddUpdateItem(infos, radTreeView_Sets.Nodes);
+// }
+//
+// private RadTreeNode AddUpdateItem(IActionSetInfos infos, RadTreeNodeCollection parent)
+// {
+// var item = CreateUpdateItem(infos);
+// parent.Add(item);
+// return item;
+// }
+//
+// private RadTreeNode InsertUpdateItem(IActionSetInfos infos)
+// {
+// var item = CreateUpdateItem(infos);
+// var nodeUpdates = radTreeView_Sets.Nodes["updates"];
+// nodeUpdates.Nodes.Insert(Math.Min(1, nodeUpdates.Nodes.Count), item);
+// return item;
+// }
+//
+// private RadTreeNode CreateUpdateItem(IActionSetInfos infos)
+// {
+// var item = new RadTreeNode();
+// UpdateUpdateItem(item, infos);
+// return item;
+// }
+//
+// private void UpdateUpdateItem(RadTreeNode item)
+// {
+// if (item.Tag is IActionSetInfos infos)
+// UpdateUpdateItem(item, infos);
+// }
+//
+// private void SaveActionsSet()
+// {
+// if (loadingMainView || CurActionSet is not IActionSetInfos infos)
+// return;
+//
+// if (!Version.TryParse(radTextBoxControl_Version.Text.Trim(), out Version? version))
+// version = new Version("1.0.0.0");
+//
+// infos.Version = version;
+// infos.IsPublic = radCheckBox_IsPublic.Checked;
+//
+// UpdateUpdateItem(radTreeView_Sets.SelectedNode);
+// }
+//
+// private void UpdateUpdateItem(RadTreeNode item, IActionSetInfos infos)
+// {
+// if (item.Tag != infos)
+// item.Tag = infos;
+//
+// if (infos is UpdateInfo)
+// item.Text = string.Format(GeneralLangRes.Node_Update, infos.Version?.ToString() ?? "?");
+// else if (infos is InstallInfos)
+// item.Text = string.Format(GeneralLangRes.Node_Install, infos.Version?.ToString() ?? "?");
+// else
+// item.Text = infos.Version.ToString();
+//
+// item.SvgImage = AppGlobals.Symbols.GetSvgImage(infos.IsPublic ? AppSymbols.eye : AppSymbols.invisible, SymbolSize.Small);
+// }
+//
+// public void UpdateItem(IActionSetInfos actionSetInfos)
+// {
+// RadTreeNode? item = null;
+// var nodeUpdates = radTreeView_Sets.Nodes["updates"];
+//
+// foreach (var iitem in nodeUpdates.Nodes)
+// {
+// if (item == null && iitem.Value == actionSetInfos)
+// item = iitem;
+// }
+//
+// if (item == null)
+// InsertUpdateItem(actionSetInfos);
+// else if (wsInfo?.Workspace.UpdateInfos != null && !wsInfo.Workspace.UpdateInfos.Updates.Contains(actionSetInfos))
+// item.Remove();
+// else
+// UpdateUpdateItem(item);
+// }
+//
+// public void UpdateItem(InstallAction action)
+// {
+// foreach (var row in radGridView_Actions.Rows)
+// {
+// if (row.Tag == action)
+// UpdateActionRow(row);
+// }
+// }
+//
+// private void LoadMainView()
+// {
+// loadingMainView = true;
+//
+// tableLayoutPanel_ActionSet.Visible = false;
+// tableLayoutPanel_ActionSetInfo.Visible = false;
+//
+// if (CurActionSet is IActionSet set)
+// {
+// if (set is IActionSetInfos infos)
+// {
+// radTextBoxControl_Version.Text = infos.Version?.ToString();
+// radCheckBox_IsPublic.Checked = infos.IsPublic;
+// tableLayoutPanel_ActionSetInfo.Visible = true;
+// }
+// tableLayoutPanel_ActionSet.Visible = true;
+// LoadActionSet(set);
+// }
+//
+// loadingMainView = false;
+// }
+//
+// private void LoadActionSet(IActionSet infos)
+// {
+// radGridView_Actions.BeginUpdate();
+// radGridView_Actions.Rows.Clear();
+// radGridView_Actions.Columns.Clear();
+//
+// // Add columns
+// radGridView_Actions.Columns.AddRange([
+// new GridViewTextBoxColumn
+// {
+// Name = "id",
+// HeaderText = ActionsListLangRes.Col_Id,
+// Width = 150,
+// IsVisible = infos is not UpdateInfo,
+// IsPinned = true,
+// },
+// new GridViewTextBoxColumn
+// {
+// Name = "name",
+// HeaderText = ActionsListLangRes.Col_Name,
+// Width = 150,
+// IsVisible = infos is not UpdateInfo,
+// },
+// new GridViewTextBoxColumn
+// {
+// Name = "inherit",
+// HeaderText = ActionsListLangRes.Col_InheritFrom,
+// Width = 150,
+// IsVisible = infos is UpdateInfo,
+// IsPinned = true,
+// },
+// new GridViewComboBoxColumn
+// {
+// Name = "utype",
+// HeaderText = ActionsListLangRes.Col_UpdateType,
+// Width = 150,
+// DataSource = Enum.GetValues(),
+// IsVisible = infos is UpdateInfo,
+// },
+// new GridViewComboBoxColumn
+// {
+// Name = "side",
+// HeaderText = ActionsListLangRes.Col_Side,
+// Width = 100,
+// DataSource = Enum.GetValues(),
+// },
+// new GridViewCheckBoxColumn
+// {
+// Name = "isextra",
+// HeaderText = ActionsListLangRes.Col_IsExtra,
+// Width = 50,
+// },
+// new GridViewCheckBoxColumn
+// {
+// Name = "iszip",
+// HeaderText = ActionsListLangRes.Col_IsZip,
+// Width = 50,
+// },
+// new GridViewCheckBoxColumn
+// {
+// Name = "isdir",
+// HeaderText = ActionsListLangRes.Col_IsDir,
+// Width = 50,
+// IsVisible = infos is UpdateInfo,
+// },
+// new GridViewTextBoxColumn
+// {
+// Name = "destpath",
+// HeaderText = ActionsListLangRes.Col_DestPath,
+// Width = 250,
+// },
+// new GridViewComboBoxColumn
+// {
+// Name = "srctype",
+// HeaderText = ActionsListLangRes.Col_SrcType,
+// Width = 150,
+// DataSource = Enum.GetValues(),
+// },
+// new GridViewTextBoxColumn
+// {
+// Name = "srcowner",
+// HeaderText = ActionsListLangRes.Col_SrcOwner,
+// Width = 150,
+// },
+// new GridViewTextBoxColumn
+// {
+// Name = "srcname",
+// HeaderText = ActionsListLangRes.Col_SrcName,
+// Width = 150,
+// },
+// new GridViewTextBoxColumn
+// {
+// Name = "srcregex",
+// HeaderText = ActionsListLangRes.Col_SrcRegEx,
+// Width = 200,
+// },
+// new GridViewTextBoxColumn
+// {
+// Name = "srctag",
+// HeaderText = ActionsListLangRes.Col_SrcTag,
+// Width = 150,
+// },
+// new GridViewTextBoxColumn
+// {
+// Name = "srcurl",
+// HeaderText = ActionsListLangRes.Col_SrcUrl,
+// Width = 350,
+// },
+// new GridViewTextBoxColumn
+// {
+// Name = "zippath",
+// HeaderText = ActionsListLangRes.Col_ZipPath,
+// Width = 200,
+// },
+// new GridViewTextBoxColumn
+// {
+// Name = "srcpath",
+// HeaderText = ActionsListLangRes.Col_SrcPath,
+// Width = 250,
+// IsVisible = infos is UpdateInfo,
+// },
+// new GridViewTextBoxColumn
+// {
+// Name = "website",
+// HeaderText = ActionsListLangRes.Col_Website,
+// Width = 350,
+// },
+// ]);
+//
+// // Add rows
+// foreach (var action in infos.Actions)
+// {
+// var row = radGridView_Actions.Rows.AddNew();
+// row.Tag = action;
+// UpdateActionRow(row);
+// }
+//
+// radGridView_Actions.EndUpdate();
+// }
+//
+// private void UpdateActionRow(GridViewRowInfo row)
+// {
+// if (row.Tag is not InstallAction action)
+// return;
+//
+// row.Cells["id"].Value = action.Id;
+// row.Cells["name"].Value = action.Name;
+// row.Cells["iszip"].Value = action.IsZip;
+// row.Cells["zippath"].Value = action.ZipPath;
+// row.Cells["destpath"].Value = action.DestPath;
+// row.Cells["srcurl"].Value = action.SourceUrl;
+// row.Cells["srctype"].Value = action.SourceType;
+// row.Cells["srcowner"].Value = action.SourceOwner;
+// row.Cells["srcname"].Value = action.SourceName;
+// row.Cells["srcregex"].Value = action.SourceRegex;
+// row.Cells["srctag"].Value = action.SourceTag;
+// row.Cells["side"].Value = action.Side;
+// row.Cells["isextra"].Value = action.IsExtra;
+// row.Cells["website"].Value = action.Website;
+//
+// if (action is not UpdateAction uaction)
+// return;
+//
+// row.Cells["inherit"].Value = uaction.InheritFrom; // TODO: Find inherit action and put it in here!
+// row.Cells["utype"].Value = uaction.Type;
+// row.Cells["srcpath"].Value = uaction.SrcPath;
+// row.Cells["isdir"].Value = uaction.IsDirectory;
+// }
+//
+// private void Form1_Load(object sender, EventArgs e)
+// {
+// LoadRecentWorkspaces();
+// }
+//
+// private async void RadMenuItem_OpenNewWorkspace_Click(object? sender, EventArgs e)
+// {
+// if (sender is RadMenuItem item && item.Tag is WorkspaceFeature feature)
+// {
+// var ws = wsInfo?.Workspace;
+// if (feature.Configure(ws))
+// await LoadNewWorkspace(ws, feature);
+// }
+// }
+//
+// private async void RadMenuItem_OpenRecentWorkspace_Click(object? sender, EventArgs e)
+// {
+// if (sender is RadMenuItem item && item.Tag is RecentFilesItemTag tag && tag.Feature.CreateFromConfig(tag.Config) is IWorkspace workspace)
+// await LoadNewWorkspace(workspace, tag.Feature);
+// }
+//
+// private async void RadMenuItem_WorkspacePreferences_Click(object sender, EventArgs e)
+// {
+// if (wsInfo != null)
+// {
+// var ws = wsInfo.Workspace;
+// if (wsInfo.Feature.Configure(ws))
+// await LoadNewWorkspace(ws, wsInfo.Feature);
+// }
+// }
+//
+// private void RadMenuItem_SaveWorkspace_Click(object sender, EventArgs e)
+// {
+// wsInfo?.Workspace.Save();
+// }
+//
+// private void RadMenuItem_ToolsItem_Click(object? sender, EventArgs e)
+// {
+// if (sender is RadMenuItem item && item.Tag is PluginFunction func)
+// func.Execute(new MainApiParameters(this));
+// }
+//
+// private void RadTreeView_Sets_SelectedNodeChanged(object sender, RadTreeViewEventArgs e)
+// {
+// LoadMainView();
+// }
+//
+// private void RadGridView_Actions_CellFormatting(object sender, CellFormattingEventArgs e)
+// {
+// //var cellElement = e.CellElement;
+// //var cellInfo = e.Row.Cells[e.Column.Name];
+//
+// //if (e.Column.Name == "srctype" && cellInfo?.Value is string sourceTypeStr && Enum.Parse(sourceTypeStr) is SourceType sourceType)
+// //{
+// // cellElement.SvgImage = sourceType switch
+// // {
+// // SourceType.DirectLink => AppGlobals.Symbols.GetSvgImage(AppSymbols.link, SymbolSize.Small),
+// // SourceType.GitHub => AppGlobals.Symbols.GetSvgImage(AppSymbols.github, SymbolSize.Small),
+// // _ => null,
+// // };
+// // cellElement.DrawImage = cellElement.SvgImage != null;
+// // cellElement.TextImageRelation = TextImageRelation.ImageBeforeText;
+// // cellElement.ImageAlignment = ContentAlignment.MiddleLeft;
+// //}
+// //else
+// //{
+// // cellElement.ResetValue(LightVisualElement.SvgImageProperty, ValueResetFlags.Local);
+// // cellElement.ResetValue(LightVisualElement.DrawImageProperty, ValueResetFlags.Local);
+// // cellElement.ResetValue(LightVisualElement.TextImageRelationProperty, ValueResetFlags.Local);
+// // cellElement.ResetValue(LightVisualElement.ImageAlignmentProperty, ValueResetFlags.Local);
+// //}
+// }
+//
+// private void RadGridView_Actions_CellValueChanged(object sender, GridViewCellEventArgs e)
+// {
+// if (e.Row is null)
+// return;
+//
+// if (e.Row.Tag is not InstallAction action)
+// {
+// if (CurActionSet is UpdateInfo)
+// action = tempAction ??= new UpdateAction();
+// else if (CurActionSet is InstallInfos)
+// action = tempAction ??= new InstallAction();
+// else
+// return;
+// }
+//
+// var uaction = action as UpdateAction;
+// var newValue = e.Row.Cells[e.Column.Name].Value;
+// var colName = e.Column.Name;
+//
+// if (newValue is bool valueBool)
+// {
+// switch (colName)
+// {
+// case "iszip":
+// action.IsZip = valueBool;
+// break;
+// case "isextra":
+// action.IsExtra = valueBool;
+// break;
+// case "isdir":
+// if (uaction is not null)
+// uaction.IsDirectory = valueBool;
+// break;
+// }
+// }
+// else
+// {
+// var valueStr = newValue as string ?? string.Empty;
+// var valueNullStr = valueStr.Nullify();
+//
+// switch (colName)
+// {
+// case "id":
+// action.Id = valueNullStr;
+// break;
+// case "name":
+// action.Name = valueNullStr;
+// break;
+// case "zippath":
+// action.ZipPath = valueNullStr;
+// break;
+// case "destpath":
+// action.DestPath = valueNullStr;
+// break;
+// case "srcurl":
+// action.SourceUrl = valueNullStr;
+// break;
+// case "srctype":
+// action.SourceType = Enum.Parse(valueStr);
+// break;
+// case "srcowner":
+// action.SourceOwner = valueNullStr;
+// break;
+// case "srcname":
+// action.SourceName = valueNullStr;
+// break;
+// case "srcregex":
+// action.SourceRegex = valueNullStr;
+// break;
+// case "srctag":
+// action.SourceTag = valueNullStr;
+// break;
+// case "website":
+// action.Website = valueNullStr;
+// break;
+// case "side":
+// action.Side = Enum.Parse(valueStr);
+// break;
+// case "inherit":
+// if (uaction is not null)
+// uaction.InheritFrom = valueNullStr;
+// break;
+// case "utype":
+// if (uaction is not null)
+// uaction.Type = Enum.Parse(valueStr);
+// break;
+// case "srcpath":
+// if (uaction is not null)
+// uaction.SrcPath = valueNullStr;
+// break;
+// }
+// }
+// }
+//
+// private void RadMenuItem_Updates_DropDownOpening(object sender, System.ComponentModel.CancelEventArgs e)
+// {
+// radMenuItem_RemoveUpdate.Enabled = radTreeView_Sets.SelectedNode?.Tag is UpdateInfo;
+// }
+//
+// private void RadMenuItem_CreateUpdate_Click(object sender, EventArgs e)
+// {
+// if (wsInfo?.Workspace.UpdateInfos is null)
+// return;
+//
+// var infos = new UpdateInfo
+// {
+// Version = wsInfo.Workspace.InstallInfos?.Version,
+// };
+// wsInfo.Workspace.UpdateInfos.Updates.Insert(0, infos);
+// InsertUpdateItem(infos);
+// }
+//
+// private void RadMenuItem_RemoveUpdate_Click(object sender, EventArgs e)
+// {
+// if (radTreeView_Sets.SelectedNode?.Tag is UpdateInfo infos && wsInfo?.Workspace.UpdateInfos is not null
+// && RadMessageBox.Show(MsgBoxLangRes.RemoveUpdate, MsgBoxLangRes.RemoveUpdate_Title, MessageBoxButtons.YesNo, RadMessageIcon.Exclamation).IsYes())
+// {
+// wsInfo.Workspace.UpdateInfos.Updates.Remove(infos);
+// radTreeView_Sets.SelectedNode.Remove();
+// }
+// }
+//
+// private void RadGridView_Actions_UserAddedRow(object sender, GridViewRowEventArgs e)
+// {
+// if (tempAction is UpdateAction uaction && CurActionSet is UpdateInfo uinfo)
+// uinfo.Actions.Add(uaction);
+// else if (tempAction is InstallAction iaction && CurActionSet is InstallInfos iinfo)
+// iinfo.Actions.Add(iaction);
+// tempAction = null;
+// }
+//
+// private void RadGridView_Actions_UserDeletingRow(object sender, GridViewRowCancelEventArgs e)
+// {
+// foreach (var row in e.Rows)
+// {
+// if (row.Tag is UpdateAction uaction && CurActionSet is UpdateInfo uinfo)
+// uinfo.Actions.Remove(uaction);
+// else if (row.Tag is InstallAction iaction && CurActionSet is InstallInfos iinfo)
+// iinfo.Actions.Remove(iaction);
+// }
+// }
+//
+// private void RadGridView_Actions_ContextMenuOpening(object sender, ContextMenuOpeningEventArgs e)
+// {
+// if (e.ContextMenuProvider is GridDataCellElement)
+// {
+// e.ContextMenu.Items.Add(new RadMenuSeparatorItem());
+// PluginFeatureController.Instance.Functions.Get(FeatureTypes.ActionsContextMenu).InsertItemsTo(e.ContextMenu.Items, customClickHandler: RadMenuItem_ToolsItem_Click, insertPrioSplitters: true);
+// }
+// }
+//
+// private void RadTextBoxControl1_TextChanged(object sender, EventArgs e)
+// {
+// SaveActionsSet();
+// }
+//
+// private void RadCheckBox1_ToggleStateChanged(object sender, StateChangedEventArgs args)
+// {
+// SaveActionsSet();
+// }
+// }
diff --git a/ModpackUpdater.Apps.Manager/Ui/MainForm.resx b/ModpackUpdater.Apps.Manager/Ui/MainForm.resx
deleted file mode 100644
index 2d4a3d5..0000000
--- a/ModpackUpdater.Apps.Manager/Ui/MainForm.resx
+++ /dev/null
@@ -1,1787 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- AAABAAUAEBAAAAEAIABoBAAAVgAAACAgAAABACAAqBAAAL4EAAAwMAAAAQAgAKglAABmFQAAQEAAAAEA
- IAAoQgAADjsAAICAAAABACAAKAgBADZ9AAAoAAAAEAAAACAAAAABACAAAAAAADAEAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhnxyToZ9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4R+
- cU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIZ5axOEe3JVhn1wjYV8cf+FfHH/hn1wjYR7
- clWAgHESAAAAAAAAAAAAAAAAAAAAAAAAAACnn5cgqaKZp6qhmKqooZiqp5+WqpiQibOAeXTGgHlzxpSO
- hrOhmZKqn5iQqp6Yj6qdl5Cnn5ePIAAAAAAAAAAAq6WcVdKjR//kqx7/4bIf/+C4IP/fvSD/2sAh/9jD
- IP/byiH/2swi/9nOIv/Z0CL/xb5G/5+WkFUAAAAAAAAAAK6lnFXVnkb/5qMe/+GoHv/dt0X/3b9T/93D
- V//6+Oz/5duW/9nFJf/bySH/28si/8a7Rv+flpBVAAAAAAAAAACupZxV15lG/+maHf/ipC//+PHg//bv
- 2//dsR//3Lo5//Dnwf/k1o7/3cIh/93EIf/Jt0X/n5aQVQAAAAAAAAAAsaifVdmSRv/skRz/5ZUd//v2
- 7v/ht2D/4akf/+KwH//ctjb/+fbo/9y2IP/fuyD/y7FF/5+ZkFUAAAAAAAAAALGon1Xci0b/74Yb/+mL
- HP/68uf/46A0/+egHf/ipCD/4Lpd//v37f/drh//4bIf/8ysRf+fmZBVAAAAAAAAAACxqJ9V3oNF//N6
- Gv/wghv/7cOV//Pcvv/knDX/5Jce//nx4//37dr/4Kcu/+WoHv/PpET/opmTVQAAAAAAAAAAtKuiVeJ8
- Rv/2bhn/9HYa/+1/IP/uwZX/+vDm/+aiTv/mrWD/5alT/+aYH//pnB3/0pxE/6Kck1UAAAAAAAAAALSr
- olXjeEX/+2EY//hpGf/2cBn/9HYa/+16Gv/ufxv/74Yb/+6KG//tjRz/7JAc/9SVRP+lnJNVAAAAAAAA
- AAC1raUfs6qgsrOpobuxqKC7sKaeu6+mnbutpZu7rKSbu6qkmruqopm7qKCXu6agl7umnpayopmZHgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAP//AAD//wAA+B8AAPw/AADAAwAAwAMAAMADAADAAwAAwAMAAMADAADAAwAAwAMAAMAD
- AADAAwAA//8AAP//AAAoAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACGfXKNhn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/h35zjAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAIZ9cqqGfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXKqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAhnxzVIZ9c7uGfXO7hn1zu4Z9cuiGfXL/hn1y/4Z9cv+GfXL/hn1y6IZ9
- c7uGfXO7hn1zu4d+clMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeG9oqnhvZ/94b2f/eG9n/3hv
- Z/94b2iqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAL+/gASpoZlBqaGaRKmhmkSpoZpEqaGWRKmelkSlnpZEpZ6WRKWelkRmYVygXFdSzVtX
- Us1bV1LNW1dSzWZhXKChmpJEoZqSRKGaj0Semo9EnpaPRJ6Wj0Selo9EnpaPRJ2VjUGAgIAEAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAArKKbhKujmv+qopn/qqGZ/6mhmP+ooJj/qKCX/6efl/+mn5b/pp6W/6Wd
- lf+lnZX/pJyU/6OclP+jm5P/opuS/6Gakv+hmpH/oJmR/6CYkP+fmJD/npeP/56Xj/+el4//npeP/5+X
- j4IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtpJuqv6Nx/+WmHv/kqh7/4q8f/+GyH//htR//4Lgg/9+7
- IP/eviD/3sAg/93DIf/cxiH/3Mgh/9vJIf/byiL/2swi/9rNIv/ZziL/2c8i/9nQIv/Y0SP/2NIj/9jS
- I/+xq2v/npiPqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2km6rAonH/5qMe/+WnHv/kqx7/4q8f/+Ky
- H//htR//4Lgg/9+6IP/fvSD/3L4g/9K4H//Suh//1cAg/9rGIf/bySH/28oi/9rMIv/azSL/2s0i/9nO
- Iv/ZzyL/2dAi/7Gqav+emI+qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAraWcqsGhcf/onx3/5qMe/+Wn
- Hv/kqh7/464f/+KxH//esh//17Af/923IP/atx//7OO2//v58P/z79P/4NSD/9K/Jv/bxyH/28kh/9vK
- If/byyL/2swi/9rMIv/azSL/sqlq/56Yj6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACupZyqwZ9y/+mb
- Hf/onx3/5qIe/+WmHv/box7/27RQ/+fUmv/279n/1rZC/963IP/eynb/////////////////8+/U/9K/
- Nf/bxSH/3Mch/9zIIf/bySH/28oh/9vKIf+zqWr/npiPqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6n
- nqrBn3H/6pcd/+maHf/onh3/5qEe/921Yf/+/fv////////////l0JD/3rMf/9qyH//Tsi3/28Zp//n2
- 6f//////8+3P/9S6I//dwyH/3cUh/9zGIf/cxyH/3Mch/7Ooa/+emI+qAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAsKeeqsOdcv/skhz/6pYd/+maHf/onR3/4Zwd/+TFhf////////////bv2v/Zqh7/4bMf/+G1
- H//etiD/07Ix//n26P//////3sx1/9y+IP/ewCD/3cIh/93DIf/dwyH/taZr/5+YkKoAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACwp56qw51y/+2NHP/skhz/65Uc/+mZHf/hlxz/8+XL///////jxYH/6dSi/9ek
- If/irx//4rEf/+GzH//ftB//3MRr///////x6cj/2LYf/9+8IP/fvSD/3r4g/96/IP+1pmz/n5iQqgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAALCnnqrFm3L/74gb/+2MHP/skRz/65Qc/9+QG//8+PL//////9qd
- Kf/ioR7/5KYe/+SqHv/jrB//4q8f/+KxH//Uqyr///////z68v/Vrh7/4Lgg/+C5IP/fuiD/37og/7Wk
- bP+hmZKqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKefqsaZcv/wghv/74cb/+6LHP/tjxz/4Isa//z5
- 8///////2pco/+ifHf/noh7/5qQe/+WnHv/jqB7/4aof/9enLP//////+/jw/9apHf/hsx//4bQf/+G1
- H//gtiD/tqRs/6GZkqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxqJ+qxpdy//J9Gv/xgRv/8IUb/+6J
- G//liRv/9eXP///////isGj/55kd/+icHf/nnx3/56Ee/9qeJP/jxoT/4cF3///////y58n/3Kge/+Kv
- H//isB//4rEf/+KxH/+3omv/oZuSqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGon6rIlnP/9Hca//N7
- Gv/xfxv/8IMb/+2GG//ntHv///////rx5v/flCz/6JYd/+maHf/onB3/3ZYc//rz5////////////+HB
- ef/hpB3/5Kke/+SqHv/kqx//46wf/7ihbP+im5KqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs6qhqsiU
- cv/2cRr/9HUa//N5Gv/yfRv/8YEb/+SBHv/35tT///////rx5//jrWf/3ZIp/+OTHP/mlx3/682e////
- ////////+/fu/96xWv/loh7/5qQe/+alHv/lph7/uZ9s/6Kbk6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACzqqGqypNz//drGf/2bxn/9XMa//R3Gv/zexr/8X4b/+OHMv/359b/////////////////461n/+qS
- HP/fpE///fv3//DauP/itW3/35gm/+idHf/onh3/558d/+egHf+6nm3/pJuTqgAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAALOqoarLkXP/+WUZ//hpGf/3bRn/9nEa//V0Gv/0eBr/8nsa/+Z9If/qs4D/9+TS//79
- +//w07L/54kb/+iMHP/giRr/5Y8b/+qUHP/qlhz/6pcd/+qYHf/pmR3/6Zod/7ucbf+knJOqAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAs6qhqsuRc//7YBj/+mIY//lmGf/4ahn/924Z//ZxGv/1dRr/9Hga//F6
- Gv/pehr/5HoZ/+N9Gf/uhRv/74gb/+6KG//tjBz/7Y4c/+yQHP/skRz/7JIc/+uTHP/rlBz/u5ts/6Sc
- laoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzqqGqy5Fz//tgGP/7YBj/+2AY//pkGP/5Zxn/92sZ//du
- Gf/2cRr/9XQa//R3Gv/zehr/8nwa//F/G//xgRv/8IMb//CFG//vhxv/74kb/+6KG//uixz/7Ywc/+2N
- HP+9mGz/pJ6VqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALOpooOzqqH/s6qh/7Kqof+yqaD/saif/7Go
- n/+wp57/r6ee/6+mnf+upp3/raWc/62knP+spJv/rKOb/6ujmv+qopr/qqKZ/6mhmf+ooJj/qKCX/6ef
- l/+nn5b/pp6W/6Welf+knJSBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7+/BLSpoke0q6JVtKuiVbGo
- n1WxqJ9VsaifVbGon1WxqJ9VrqifVa6lnFWupZxVrqWcVa6lnFWrpZxVq6KcVauimVWroplVq6KZVaii
- mVWon5lVqJ+WVaifllWon5ZVqJ2VRr+AgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAP//////////////////////gAH//4AB///AA///+B////gf/+AAAAfgAAAH4AAAB+AA
- AAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB+AAAAfgAAAH4AAAB///
- ////////////////////////KAAAADAAAABgAAAAAQAgAAAAAABQJQAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAhX5yw4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4V+csEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAhn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv8AAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhn1xv4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cb0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAhXxx/4V8cf+FfHH/hXxx/4V8cf+FfHH/hXxx/4V8cf8AAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc2tj/3NrY/9za2P/c2tj/3NrY/9za2P/c2tj/3Nr
- Y/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW1ZR/1tWUf9bVlH/W1ZR/1tW
- Uf9bVlH/W1ZR/1tWUf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq6SaTKuh
- muWqopn/qqKZ/6mhmf+poZj/qaGY/6igmP+ooJf/p5+X/6efl/+mn5b/pp6W/6aelv+lnpX/pZ2V/6Sd
- lP+knJT/pJyU/6Ock/+jm5P/opuT/6Kakv+hmpL/oZqS/6GZkf+gmZH/oJmR/5+YkP+fmJD/n5eP/56X
- j/+el4//npeP/56Xj/+el4//npeP5J+YjUoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAq6Oa5Kujmv+ropr/qqKZ/6qimf+poZn/qaGY/6igmP+ooJj/qKCX/6efl/+nn5f/pp+W/6ae
- lv+mnpX/pZ2V/6Wdlf+knZT/pJyU/6OclP+jnJP/o5uT/6Kbk/+impL/oZqS/6Gakv+hmZH/oJmR/6CZ
- kP+fmJD/n5iQ/56Xj/+el4//npeP/56Xj/+el4//npeP/56Xj+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAArKOb/6ujmv/mpR7/5age/+SqHv/jrR//4rAf/+GyH//htB//4LYg/+C4
- IP/fuiD/37wg/96+IP/ewCD/3cEh/93DIf/dxSH/3Mch/9zIIf/bySH/28oh/9vLIv/ayyL/2swi/9rN
- Iv/ZziL/2c8i/9nPIv/Z0CL/2NEi/9jRI//Y0iP/2NIj/9jTI//X0yP/npeP/56Xj/8AAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArKSb/6yjm//moh7/5qUe/+WoHv/kqx7/460f/+Kw
- H//hsh//4bQf/+C2IP/guCD/37og/9+8IP/fvSD/3r8g/97BIP/dwyH/3cQh/9zGIf/cxyH/3Mgh/9vJ
- If/byiH/28si/9rLIv/azCL/2s0i/9nOIv/ZziL/2c8i/9nPIv/Z0CL/2NAi/9jRI//Y0SP/npeP/56X
- j/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArKSb/6ykm//noB3/5qMe/+Wl
- Hv/lqB7/5Kse/+OtH//isB//4rIf/+G0H//hth//4Lcg/+C5IP/fuyD/370g/96/IP/Ttx//y7Ie/8uz
- Hv/NuB//0r0g/9jDIP/byCH/28kh/9vKIf/byyL/2ssi/9rMIv/azSL/2s0i/9nOIv/ZziL/2c8i/9nP
- Iv/ZzyL/npeP/56Xj/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAraSc/6yk
- m//onR3/56Ad/+ajHv/lpR7/5age/+SrHv/jrR//4rAf/+KyH//hsx//4bUf/921IP/dtyD/37og/927
- IP/Ptjj/+/nu//v58P/2897/6N+o/9bHYP/NuR//2cUg/9zIIf/bySH/28oh/9vKIv/byyL/2ssi/9rM
- Iv/azCL/2s0i/9rNIv/ZziL/npeP/56Xj/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAraWc/62knP/pmx3/6J0d/+egHf/mox7/5aUe/+WoHv/kqh7/460f/96sH//Zqh7/0KYe/9W1
- SP/SsDn/2rMf/9+6IP/PrSD/+fbo///////////////////////y7s//zr0//9S/IP/cxyH/3Mgh/9vJ
- If/bySH/28oh/9vKIf/byyL/2ssi/9rLIv/azCL/npeP/56Xj/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAraWc/62lnP/qmB3/6Zsd/+idHf/noB3/5qIe/+alHv/ipR7/054f/9i0
- Vf/n057/+fTl///////38d3/0Kgd/+C3IP/Xsh//4tKN////////////////////////////+/nw/9PC
- Uf/WvyD/3MYh/9zHIf/cxyH/3Mgh/9vIIf/bySH/28kh/9vKIf/byiH/npeP/56Xj/8AAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArqWd/62lnP/rlRz/6pgd/+mbHf/onR3/56Ad/+ei
- Hv/bnB3/7duy////////////////////////////1bJG/96zH//etSD/060f/9GvLv/Vu07/5tic//79
- +/////////////r47f/PuTr/2sAg/93EIf/dxSH/3MYh/9zGIf/cxyH/3Mgh/9zIIf/cyCH/n5iQ/56X
- j/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArqad/66lnf/rkxz/65Uc/+qY
- Hf/pmh3/6J0d/+efHf/inh3/1Z0t/+fOl/////7/////////////////5M6P/9qsHv/htB//4bUf/9+2
- IP/dtiD/1bAf/9O5Sf/59uj////////////u5r//0LQe/97BIP/dwiH/3cMh/93EIf/dxCH/3cUh/9zF
- If/cxiH/n5iQ/5+YkP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr6ad/66m
- nf/skBz/7JIc/+uVHP/qlx3/6Zod/+icHf/onh3/4p0d/9inR///////////////////////9e3X/9Ok
- Hf/isR//4bMf/+G0H//htR//4Lcg/9qzH//Ut0n//f35////////////1LxP/9u7H//evyD/3sAg/97B
- IP/dwSH/3cIh/93CIf/dwyH/oJiQ/5+YkP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAr6ad/66mnf/ujBz/7Y8c/+ySHP/rlBz/6pcd/+mZHf/pmx3/35gc/+rRov///////////+zZ
- rv/o0p///vz5/9KkLP/irR//4rAf/+KxH//hsx//4bQf/+G1H//Vrh//59if////////////5tme/9a0
- H//fvCD/370g/96+IP/eviD/3r8g/96/IP/ewCD/oJmR/5+YkP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAr6ee/6+mnf/viBv/7osc/+2PHP/skRz/65Qc/+qWHP/qmB3/2pEb//bp
- 1f///////////9mqTP/bnh3/0psi/9qiHf/kqx7/460f/+OuH//isB//4rEf/+GyH//esh//17hP////
- ////////9e/Z/9GsHv/guSD/37og/9+7IP/fuyD/37wg/9+9IP/fvSD/oJmR/6CZkf8AAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKee/6+nnv/whRv/74gb/+6LHP/tjhz/7JEc/+uT
- HP/rlRz/2Isb//z48v///////////9SYKP/moR7/5qQe/+WlHv/lpx7/5Kke/+SrHv/jrB//464f/+Kw
- H//hsB//0Kco/////////////Prz/8+oHf/gtiD/4Lcg/+C4IP/guCD/4Lkg/+C6IP/fuiD/oZmR/6CZ
- kf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKee/7Cnnv/xgRv/8IQb/++H
- G//uihv/7Y0c/+yQHP/skhz/2Yka//z58////////////9WTJv/nnR3/56Ad/+aiHv/mpB7/5aYe/+Wn
- Hv/kqR7/5Koe/+OsH//irB//0aUr/////////////fz4/8+mHf/hsx//4bQf/+G1H//htR//4LYg/+C3
- IP/gtyD/oZqS/6GZkf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKif/7Cn
- nv/yfRv/8YAb//CDG//vhhv/7okb/+6MHP/tjhz/3Yga//fr2////////////9yjS//mmR3/6J0d/+if
- Hf/noB3/5qIe/+akHv/lpR7/3aEd/9WdHP/box3/2bFR////////////9/Dd/9OkHf/isR//4rEf/+Ky
- H//hsh//4bMf/+G0H//htB//oZqS/6Gakf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAsaif/7Cnn//zeRr/8nwa//F/G//wghv/8IUb/++IG//uihv/44cb/+3Npf///////////+nJ
- mv/fkRz/6Zkd/+mbHf/onR3/6J8d/+egHf/moR7/1p4x//Xq0v/fvXH/69ao////////////6tak/9qm
- Hv/jrR//464f/+KvH//irx//4rAf/+KxH//isR//opqS/6Gakv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAsaif/7Gon//0dhr/83ka//J7Gv/yfhv/8YEb//CEG//vhhv/6ocb/+Gh
- Wf////////////77+P/bm0T/45Eb/+qYHf/pmR3/6Zsd/+idHf/onh3/1ZUf//v37v//////////////
- ////////2KxL/+GlHv/kqR7/5Koe/+SrHv/jqx//46wf/+OtH//jrR//opuS/6Kakv8AAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsamg/7Gon//1chr/9XUa//R3Gv/zehr/8n0a//GA
- G//wghv/8IUb/+B+Gf/z3cP////////////68uf/3JpF/+CNG//nlBz/6ZYd/+mZHf/pmh3/35Uc/+vR
- pP/////////////////+/Pr/37pu/9WZHv/jox7/5aYe/+WnHv/lqB7/5age/+SpHv/kqR7/opuT/6Kb
- kv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsqmg/7GooP/3bhn/9nEa//Vz
- Gv/0dhr/83ka//J7Gv/yfhv/8YAb/+yBG//dizn//PXu/////////////vz6/+rGmf/en0z/2ZAr/96N
- G//plh3/5pYd/92qWv///////////////////////////+7Zs//cmR3/5qIe/+ajHv/mpB7/5qQe/+al
- Hv/lpR7/o5uT/6Kbk/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsqmg/7Kp
- oP/4ahn/920Z//ZvGf/1chr/9HUa//R3Gv/zehr/8nwa//F/G//pfRr/4JVO//z38f//////////////
- /////////////+S1eP/kjhv/6pMc/9eLHv/89/D////////////16NL/5cKH/9icN//imBz/6J4d/+ef
- Hf/noB3/56Ad/+ehHv/noR7/o5yT/6Obk/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAsqmg/7KpoP/5Zhn/+GkZ//drGf/2bhn/9nEa//VzGv/0dhr/83ga//N6Gv/yfRr/6Xwa/9+F
- Nv/03MX///////////////////////fn1f/ehhr/7JEc/+OMG//fqmL/5buB/9uXOf/bjRv/45Mc/+iY
- Hf/pmR3/6Zod/+mbHf/pnB3/6Jwd/+idHf/onR3/o5yU/6Ock/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAs6qh/7KpoP/6Yhj/+mQY//lnGf/4ahn/92wZ//ZvGf/1cRr/9XQa//R2
- Gv/zeBr/83sa/+57Gv/idxn/4ZVQ/+7IpP/35tX//Pbw//z27//bhin/7Isc/+yNHP/njBv/5o4b/+qR
- HP/rkxz/65Qc/+uVHP/rlhz/6pYd/+qXHf/qmB3/6pgd/+mZHf/pmR3/pJyU/6OclP8AAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs6qh/7Oqof/7YBj/+2AY//pjGP/5Zhn/+GgZ//dr
- Gf/3bRn/9m8Z//VyGv/1dBr/9HYa//N4Gv/zehr/7noa/+Z5Gv/hdxn/3XcZ/915Gf/lgBr/74cb/+6J
- G//uihz/7owc/+2NHP/tjhz/7JAc/+yRHP/skhz/7JIc/+uTHP/rlBz/65Qc/+uVHP/rlRz/pJ2U/6Sc
- lP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs6qh/7Oqof/7YBj/+2AY//tg
- GP/7YRj/+mQY//lmGf/4aRn/92sZ//dtGf/2cBn/9XIa//V0Gv/0dhr/9Hga//N6Gv/yfBr/8n4b//F/
- G//xgRv/8IMb//CEG//vhhv/74cb/++IG//uihv/7osc/+6MHP/tjRz/7Y4c/+2PHP/skBz/7JAc/+yR
- HP/skRz/pJ2V/6SclP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs6qh/7Oq
- of/7YBj/+2AY//tgGP/7YBj/+2AY//piGP/6ZBj/+WcZ//hpGf/3axn/920Z//ZvGf/1cRr/9XMa//R1
- Gv/0dxr/83ka//N7Gv/yfBr/8n4b//F/G//xgRv/8IIb//CEG//whRv/74Yb/++HG//viBv/7okb/+6K
- G//uixz/7osc/+2MHP/tjRz/pZ2V/6SdlP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAs6qh4rOqof+zqqH/s6qh/7Kqof+yqaD/sqmg/7Gon/+xqJ//sKif/7Cnnv+wp57/r6ee/6+m
- nf+upp3/rqWd/62lnP+tpZz/raSc/6ykm/+spJv/q6Ob/6ujmv+ropr/qqKZ/6qimf+poZn/qaGY/6mh
- mP+ooJj/qKCX/6efl/+nn5f/pp+W/6aelv+mnpb/pZ2V/6WdleAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAsquhTLOqod6zqqH/s6qh/7Oqof+yqaH/sqmg/7KpoP+xqJ//saif/7Co
- n/+wp57/sKee/6+mnv+vpp3/rqad/66lnf+tpZz/raWc/62knP+spJv/rKOb/6ujmv+ro5r/q6Ka/6qi
- mf+qopn/qaGZ/6mhmP+ooJj/qKCY/6igl/+nn5f/p5+X/6aflv+mnpb/pp6V3aWflEoAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAA////////AAD///////8AAP//
- /////wAA////////AAD///////8AAP/8AAA//wAA//wAAD//AAD//AAAP/8AAP/8AAA//wAA///wD///
- AAD///AP//8AAP//8A///wAA/AAAAAA/AAD4AAAAAB8AAPgAAAAAHwAA+AAAAAAfAAD4AAAAAB8AAPgA
- AAAAHwAA+AAAAAAfAAD4AAAAAB8AAPgAAAAAHwAA+AAAAAAfAAD4AAAAAB8AAPgAAAAAHwAA+AAAAAAf
- AAD4AAAAAB8AAPgAAAAAHwAA+AAAAAAfAAD4AAAAAB8AAPgAAAAAHwAA+AAAAAAfAAD4AAAAAB8AAPgA
- AAAAHwAA+AAAAAAfAAD4AAAAAB8AAPgAAAAAHwAA+AAAAAAfAAD4AAAAAB8AAPgAAAAAHwAA/AAAAAA/
- AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AACgA
- AABAAAAAgAAAAAEAIAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIuA
- dBaGfXLchn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/h31x2oZ5bRUAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACGfHNShn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfHNSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh35yVYZ9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/h35yVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAId+clWGfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4d+clUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACIfXIvhn1y/oZ9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv6IfXEtAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIWAdC6HfnJVh35yVYd+clWHfnJVh35yVYd+clWGfXKNhn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9co2HfnJVh35yVYd+clWHfnJVh35yVYd+
- clWFgHQuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAfnVsVX52bP9+dmz/fnZs/352bP9+dmz/fnZs/352bP9+dmz/fnZs/352bP9+dWxVAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9pYFVwaGH/cGhh/3BoYf9waGH/cGhh/3BoYf9waGH/cGhh/3Bo
- Yf9waGH/b2lgVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABdV1RVXlhT/15YU/9eWFP/XlhT/15Y
- U/9eWFP/XlhT/15YU/9eWFP/XlhT/11XVFUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxnZ0Nq6KaeauhmKmqopmqqqGZqqqh
- maqqoZiqqqGYqqihmKqooZiqqKGYqqehmKqnn5iqp5+Yqqeflqqnnpaqp56WqqeelaqlnpWqmJCJs4B6
- dMaAenTGgHl0xoB5dMaAeXTGgHlzxoB5c8Z+eXPGfnlzxn55c8aUjoazoZuSqqGbkqqhmZKqoZmSqqGZ
- kqqhmJCqn5iQqp+YkKqfmJCqnpiPqp6Yj6qemI+qnpiPqp6Yj6qemI+qnpiPqp6Xj6mdl454lZWVDAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/v4AEq6OazKuj
- mv+qopr/qqKZ/6qimf+qoZn/qaGZ/6mhmP+poZj/qKCY/6igmP+ooJf/p5+X/6efl/+nn5b/pp+W/6ae
- lv+mnpb/pZ6V/6Wdlf+lnZX/pZ2V/6SdlP+knJT/pJyU/6OclP+jnJP/o5uT/6Kbk/+im5L/opqS/6Ga
- kv+hmpL/oZqR/6CZkf+gmZH/oJmR/6CYkP+fmJD/n5iQ/5+YkP+el4//npeP/56Xj/+el4//npeP/56X
- j/+el4//npeP/5+Xj8mAgIAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAqqKZPKujmv+ro5r/q6Oa/6qimv+qopn/qqKZ/6mhmf+poZn/qaGY/6mhmP+ooJj/qKCY/6ig
- l/+nn5f/p5+X/6eflv+mn5b/pp6W/6aelv+lnpX/pZ2V/6Wdlf+lnZX/pJ2U/6SclP+knJT/o5yU/6Ob
- k/+jm5P/opuT/6Kbkv+impL/oZqS/6Gakv+hmZH/oJmR/6CZkf+gmZH/oJiQ/5+YkP+fmJD/n5iP/56X
- j/+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//oJePOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKulnFWso5v/q6Oa/9KkR//lph7/5age/+SqHv/jrB//4q4f/+Kw
- H//hsh//4bMf/+G1H//gtyD/4Lgg/+C5IP/fuyD/37wg/96+IP/evyD/3sEg/93CIf/dwyH/3cUh/9zG
- If/cxyH/3Mgh/9vJIf/bySH/28oh/9vLIv/ayyL/2swi/9rNIv/azSL/2c4i/9nOIv/ZzyL/2c8i/9nQ
- Iv/Y0CL/2NEj/9jRI//Y0iP/2NIj/9jSI//Y0yP/19Mj/8S/Rv+el4//npeP/5+WkFUAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrpZxVrKSb/6yjm//So0f/5qQe/+Wm
- Hv/kqB7/5Kse/+OtH//irx//4rAf/+GyH//hsx//4bUf/+C2IP/guCD/4Lkg/9+7IP/fvCD/3r4g/96/
- IP/ewCD/3cIh/93DIf/dxCH/3MUh/9zHIf/cxyH/3Mgh/9vJIf/byiH/28oh/9vLIv/ayyL/2swi/9rN
- Iv/azSL/2c4i/9nOIv/ZzyL/2c8i/9nQIv/Z0CL/2NAi/9jRIv/Y0SP/2NEj/9jSI//Fv0b/npeP/56X
- j/+flpBVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq6WcVayk
- m/+spJv/1KFG/+aiHv/mpB7/5ace/+SpHv/kqx7/460f/+KvH//isB//4bIf/+GzH//htR//4LYg/+C4
- IP/guSD/37og/9+8IP/fvSD/3r4g/97AIP/ewSD/28Ah/9rBIP/awiD/2cQh/9vGIf/cyCH/28gh/9vJ
- If/byiH/28oh/9vLIv/ayyL/2swi/9rMIv/azSL/2s0i/9nOIv/ZziL/2c8i/9nPIv/ZzyL/2dAi/9nQ
- Iv/Y0CL/xb5G/56Xj/+el4//n5aQVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAK6lnFWspJv/rKSb/9WgRv/noR7/5qMe/+alHv/lpx7/5Kke/+SrHv/jrR//4q8f/+Kw
- H//ish//4bMf/+G1H//gtiD/4Lcg/+C5IP/fuiD/37sg/9+9IP/eviD/2bsf/8ywHf/Irx7/yLAe/8qz
- Hv/KtR7/0bsg/9bCIP/axiH/28gh/9vJIf/byiH/28oh/9vLIv/ayyL/2swi/9rMIv/azSL/2s0i/9rN
- Iv/ZziL/2c4i/9nOIv/ZzyL/2c8i/8a9Rv+el4//npeP/5+WkFUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACupZxVraSc/6ykm//Vn0b/6J8d/+ehHv/mox7/5qUe/+Wn
- Hv/kqR7/5Kse/+OsH//jrh//4rAf/+KyH//hsx//4bQf/+G2H//gtyD/37cg/9+6IP/fuyD/37wg/9Gy
- H//h043////////////6+O3/8OrH/+HWjv/OvED/y7ce/9XBIP/bxyH/28gh/9vJIf/bySH/28oh/9vK
- Iv/byyL/2ssi/9rMIv/azCL/2swi/9rNIv/azSL/2s0i/9nOIv/GvEb/npeP/56Xj/+flpBVAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArqWcVa2lnP+tpJz/1Z5G/+id
- Hf/onx3/56Ee/+ajHv/mpR7/5ace/+SoHv/kqh7/46wf/+OuH//isB//4rEf/92wH//arh7/0qkd/8+p
- Hf/VsB//37gg/9+6IP/UtB//3Mp4//////////////////////////////79/+rirv/Nuz7/z7of/9nF
- If/cyCH/3Mgh/9vJIf/bySH/28oh/9vKIf/byiL/28si/9rLIv/ayyL/2swi/9rMIv/azCL/xrtG/56X
- j/+el4//n5aQVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6l
- nFWtpZz/raSc/9adRv/pmx3/6J0d/+ifHf/noR7/5qMe/+akHv/lph7/5age/+SqHv/fqR//3Kke/9Ok
- Hf/Noh7/1rZT/+fXn//v5L7/z644/9qyH//guSD/2rYf/82vLv/+/fr/////////////////////////
- ////////+/ry/9TEXP/Lth7/2cMg/9zHIf/cxyH/3Mgh/9zIIf/bySH/28kh/9vJIf/byiH/28oh/9vK
- Iv/byyL/2ssi/8a6Rv+el4//npeP/5+WkFUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACupZxVraWc/62lnP/Wm0b/6pkd/+mbHf/onR3/6J8d/+egHf/moh7/5qQe/+Sl
- Hv/ZoB3/z5ob/9KpQf/kzI3/9/De/////////////////+TRkf/Tqh7/4Lcg/9+3IP/Pqx3/5dea////
- /////////////////////////////////////v3/3M99/862Hv/awyH/3MYh/9zGIf/cxyH/3Mch/9zI
- If/cyCH/28kh/9vJIf/bySH/28kh/9vKIf/HuUX/npeP/56Xj/+flpBVAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArqWcVa6lnP+tpZz/15pG/+qXHf/qmR3/6Zsd/+ic
- Hf/onh3/56Ad/+eiHv/ioR7/0Jcc//jw4P/////////////////////////////////38d7/zqQc/96z
- H//gtiD/2rIf/86qHf/OrSz/07hJ/+DOhP/18Nn///////////////////////7+/P/TwVf/0bkg/93D
- If/dxCH/3cUh/9zGIf/cxiH/3Mch/9zHIf/cxyH/3Mgh/9zIIf/cyCH/x7lF/5+YkP+el4//n5aQVQAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6lnFWupZ3/rqWc/9eZ
- Rv/rlRz/6pcd/+qYHf/pmh3/6Jwd/+ieHf/noB3/5KAe/9SXG//gv3n/+/bs////////////////////
- /////////////9OvRP/brh7/4bQf/+G1H//dtCD/3LMf/9qzH//Trx//zKog/93Kev/+/fr/////////
- ////////+vjr/8y0LP/YvCD/3cIh/93DIf/dwyH/3cQh/93FIf/cxSH/3MYh/9zGIf/cxyH/3Mch/8i3
- Rf+fmJD/n5iQ/5+WkFUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACupZxVrqad/66lnf/Xl0b/7JMc/+uUHP/qlh3/6pgd/+maHf/onB3/6J4d/+efHf/inh3/2Jkd/9CZ
- Jf/16tP////////////////////////////jzo7/1KYe/+GyH//hsx//4bQf/+G1H//gtiD/4Lcg/9y0
- H//RrR3/1b1Y//79+//////////////////k15j/0LId/92/IP/ewSD/3sEg/93CIf/dwiH/3cMh/93D
- If/dxCH/3cQh/93FIf/JtkX/n5iQ/5+YkP+fmZBVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAArqWcVa+mnf+upp3/2JVH/+yQHP/skhz/65Qc/+qWHP/qmB3/6Zod/+mb
- Hf/onR3/6J8d/+KdHf/TnjT//v37////////////////////////////9u3Y/86gHP/frh//4rEf/+Gy
- H//htB//4bUf/+G1H//gtiD/3bUg/9GsHf/fzID//////////////////fz4/82xL//Zuh//3r4g/96/
- IP/ewCD/3sAg/97BIP/ewSD/3cIh/93CIf/dwiH/ybVG/6CYkP+fmJD/n5mQVQAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6ln1Wvpp3/rqad/9mUR//tjhz/7JAc/+yS
- HP/rlBz/65Yc/+qXHf/pmR3/6Zsd/+idHf/clhz/48CA//////////////////fu3P/ly5D//Prz////
- ///RpTX/3qoe/+KvH//isR//4rIf/+GzH//hsx//4bQf/+G1H//csh//zach//bx2///////////////
- ///bx3L/1bQf/9+8IP/fvSD/3r0g/96+IP/eviD/3r8g/96/IP/ewCD/3sAg/8qzRf+gmZH/n5iQ/5+Z
- kFUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuqJ9Vr6ae/6+m
- nf/Zk0b/7osc/+2NHP/skBz/7JIc/+uTHP/rlRz/6pcd/+qZHf/omR3/1pAb//Devf//////////////
- ///jw4L/05ob/9GdLP/du27/0Zwe/+CoH//jrR//464f/+KvH//isR//4rEf/+GyH//hsx//4bQf/9Sr
- Hv/fy4H/////////////////7OG1/8+rHf/euSD/37sg/9+7IP/fvCD/37wg/9+9IP/fvSD/3r4g/96+
- IP/KsUX/oJmR/6CZkf+fmZBVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAsaifVa+nnv+vpp7/2pFG/++IG//uihz/7Y0c/+2PHP/skRz/65Mc/+uVHP/qlh3/6Jcd/9WN
- G//68+f/////////////////16VE/9+eHf/goB3/254d/+CjHf/kqR7/5Koe/+OrH//jrR//464f/+Kv
- H//isB//4rEf/+GyH//brh7/0rFC//////////////////bw2v/Npx3/3bYg/+C4IP/guSD/4Log/9+6
- IP/fuyD/37sg/9+7IP/fvCD/y7BF/6CZkf+gmZH/n5mQVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAALGon1Wwp57/r6ee/9uPRv/vhRv/74gb/+6KG//tjBz/7Y4c/+yR
- HP/skhz/65Qc/+eUHP/UiRv//vz5/////////////////9OWKP/inh3/56Ie/+ajHv/mpR7/5aYe/+Wo
- Hv/kqR7/5Koe/+OrH//jrR//464f/+KvH//isB//3q4e/86lKP/////////////////8+vP/zaUc/92z
- H//gtiD/4Lcg/+C3IP/guCD/4Lgg/+C5IP/guSD/4Lkg/8uwRf+hmZH/oJmR/5+ZkFUAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxqJ9VsKee/7Cnnv/cjUb/8IMb//CF
- G//vhxv/7okb/+6LHP/tjhz/7JAc/+ySHP/nkRz/1Yca//z58//////////////////Tkib/45sc/+ef
- Hf/noR7/5qIe/+akHv/mpR7/5aYe/+WnHv/kqR7/5Koe/+SrH//jrB//460f/9+rHv/OpCv/////////
- /////////fz4/8yiHP/dsR//4bQf/+G1H//htR//4bYf/+C2IP/gtiD/4Lcg/+C3IP/LrkX/oZqR/6GZ
- kf+fmZBVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsaifVbCn
- n/+wp57/3ItG//GAG//wghv/8IQb/++GG//viRv/7osc/+2NHP/tjxz/6pAc/9iGGv/47Nz/////////
- ////////2JxA/+OYHP/onR3/6J4d/+egHf/noR7/5qIe/+akHv/mpR7/5aYe/+WnHv/hph7/36Ud/+Gp
- Hv/dpx7/1a9J//////////////////n05f/OoRz/4LAf/+KyH//hsh//4bMf/+GzH//htB//4bQf/+G1
- H//htR//zKxF/6Gakv+hmpH/n5mQVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAALGon1WwqJ//sKee/92JRf/yfRr/8X8b//GBG//wgxv/74Yb/++IG//uihv/7owc/+yN
- HP/ahRr/8ty//////////////////+O7fv/dkRz/6Zod/+mcHf/onR3/6J4d/+egHf/noR7/5qIe/+aj
- Hv/ioR7/05ob/9SmPv/RmRz/1Z0c/+HFgf/////////////////v4bz/0aAc/+GuH//isB//4rAf/+Kx
- H//isR//4rIf/+GyH//hsh//4bMf/8yrRf+hmpL/oZqS/6KZkFUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxqJ9Vsaif/7Con//eh0X/83oa//J8Gv/yfhv/8YEb//CD
- G//whRv/74cb/+6JG//uixz/4oYb/+W1e//////////////////36tj/1Yke/+WVHP/pmR3/6Zod/+mc
- Hf/onR3/6J4d/+efHf/noR7/4Z4d/9amQ///////9OjP/9iwWP/48N//////////////////4cR//9ii
- Hv/jrB//460f/+OtH//jrh//4q8f/+KvH//isB//4rAf/+KwH//NqkX/opqS/6Gakv+imZNVAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsaifVbGon/+xqJ//3oVF//R3
- Gv/zeRr/8nwa//J+G//xgBv/8YIb//CEG//vhhv/74gb/+iHGv/aizH///79/////////////////+O3
- ev/cixr/6JYd/+qYHf/pmR3/6Zod/+mcHf/onR3/6J4d/+KcHP/SlCD//Pjx////////////////////
- /////////vz6/9KhMf/fpB3/5Kke/+SqHv/kqh7/5Ksf/+OsH//jrB//460f/+OtH//jrh//zahF/6Kb
- kv+impL/opmTVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGo
- n1WxqJ//saif/96DRf/1dBr/9HYa//N5Gv/zexr/8n0a//F/G//xgRv/8IMb//CFG//thhv/3n4Z/+7M
- pv/////////////////+/Pr/3KNU/9yKGv/nkxz/6pYd/+qYHf/pmR3/6Zod/+mbHf/nmx3/15Eb/+zV
- q////////////////////////////+/ct//Qlhv/254d/+OlHv/lpx7/5age/+WoHv/kqR7/5Kke/+Sq
- Hv/kqh7/5Kse/86mRf+im5P/opqS/6KZk1UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACxqJ9Vsamg/7Gon//fgUX/9XEa//V0Gv/0dhr/9Hga//N6Gv/yfBr/8n4b//GA
- G//xghv/8IMb/+mBGv/bhi///fjz//////////////////77+f/js3X/1Ycc/96MG//lkRv/5ZMc/+iW
- Hf/qmB3/6Zod/9+UHP/drmH/////////////////////////////////8N69/9anR//YmR3/5KMe/+al
- Hv/lpR7/5aYe/+WmHv/lpx7/5ace/+WoHv/QpET/opuT/6Kbk/+imZNVAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsaifVbKpoP+xqaD/4H9F//ZuGf/2cRr/9XMa//V1
- Gv/0dxr/83ka//N7Gv/yfRr/8n4b//GAG//vgRv/4Xwa/+KkZP///v3///////////////////////fo
- 1v/luoL/3JtG/9eOK//ZiRr/5ZMb/+qXHf/llRz/1Y4j//359P//////////////////////////////
- ///+/Pn/0pMf/+KeHf/noh7/5qIe/+ajHv/mox7/5qQe/+akHv/mpR7/0KJE/6Obk/+im5P/opyTVQAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGon1WyqaD/sqmg/+B9
- Rv/3bBn/924Z//ZwGf/1chr/9XQa//R2Gv/0dxr/83ka//N7Gv/yfRv/8X8b/+5/G//feBn/5q55///+
- /v//////////////////////////////////////5r2G/9yKG//rlBz/6pQc/9mLGv/u1rL/////////
- //////////////ry5v/pzZ7/2aZO/9iTG//mnR3/6J8d/+efHf/noB3/56Ad/+ehHv/noR7/56Ie/9Gg
- Rf+jm5P/o5uT/6Kck1UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAC0q6JVsqmg/7KpoP/ifEb/+GgZ//hrGf/3bRn/9m8Z//ZxGv/1chr/9XQa//R2Gv/zeBr/83oa//J8
- Gv/yfRv/7X0b/+B3Gf/jpGj//fjz//////////////////////////////////rw5P/WhBz/6I8c/+yS
- HP/hjBv/3aZb//7+/P/47Nz/6MaT/9qgSv/Uihz/2o8b/+GVHP/mmR3/6Zsd/+icHf/onB3/6J0d/+id
- Hf/onh3/6J4d/+ifHf/RnkT/o5yT/6Obk/+inJNVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAtKuiVbKqof+yqaD/43pF//llGf/5Zxn/+GoZ//drGf/3bRn/9m8Z//Zx
- Gv/1cxr/9HUa//R3Gv/zeRr/83oa//J8Gv/vfRv/5Hka/92ENP/vyqn//vz6////////////////////
- ////////36FZ/+SIG//tjxz/6Y4c/9yHGv/XiSP/1oca/9yLG//kkBv/55Qc/+qWHf/qlx3/6pgd/+qY
- Hf/pmR3/6Zod/+maHf/pmx3/6Zsd/+mbHf/pnB3/0pxE/6OclP+jnJP/opyTVQAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALSrolWzqqH/sqmh/+N4Rf/6Yhj/+mQY//lm
- Gf/4aBn/+GoZ//dsGf/2bhn/9nAa//VyGv/1dBr/9HUa//R3Gv/zeRr/83oa//F8Gv/qehr/33YZ/92F
- Nf/otIT/8tO3//rw5v/89vD//Pbw/+Otcv/jhBv/7owc/+2NHP/rjRz/6Iwb/+mOHP/skRz/7JIc/+uT
- HP/rkxz/65Qc/+uVHP/rlRz/6pYc/+qXHf/qlx3/6pgd/+qYHf/qmB3/6Zkd/9KaRP+knJT/o5yU/6Kc
- k1UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0q6JVs6qh/7Oq
- of/jeEX/+2AY//thGP/6Yxj/+WUZ//lnGf/4aRn/92sZ//dtGf/2bxn/9nAa//VyGv/1dBr/9HUa//R3
- Gv/zeRr/83oa//F8Gv/rehr/5Xka/+B2Gf/cdhn/2ncZ/9p4Gf/cexn/6YQa/++IG//uiRv/7ooc/+6M
- HP/tjRz/7Y4c/+2PHP/skBz/7JAc/+yRHP/skhz/7JMc/+uTHP/rlBz/65Qc/+uVHP/rlRz/65Uc/+qW
- HP/TmUT/pJyU/6SclP+inJNVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAtKuiVbOqof+zqqH/43hF//tgGP/7YBj/+2AY//piGP/6ZBj/+WYZ//hoGf/4ahn/92sZ//dt
- Gf/2bxn/9nAa//VyGv/1dBr/9HUa//R3Gv/zeBr/83oa//J7Gv/xfRr/730b/+5+G//ufxv/7oEb//CD
- G//whRv/74Yb/++HG//viBv/7okb/+6KG//uixz/7owc/+2NHP/tjhz/7Y4c/+2PHP/skBz/7JEc/+yR
- HP/skhz/7JIc/+ySHP/rkxz/1JdE/6SdlP+knJT/pZyTVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAALSrolWzqqH/s6qh/+N4Rf/7YBj/+2AY//tgGP/7YBj/+2AY//pi
- GP/6ZBj/+WYZ//hoGf/4ahn/92wZ//dtGf/2bxn/9nAa//VyGv/1dBr/9HUa//R2Gv/0eBr/83ka//N7
- Gv/yfBr/8n0b//J/G//xgBv/8YEb//CCG//wgxv/8IQb/++FG//vhhv/74cb/++IG//uiRv/7oob/+6L
- HP/ujBz/7Ywc/+2NHP/tjhz/7Y4c/+2PHP/tjxz/7JAc/9SVRP+lnZX/pJ2U/6Wck1UAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0q6JVs6qh/7Oqof/jeEX/+2AY//tg
- GP/7YBj/+2AY//tgGP/7YBj/+2EY//pjGP/5ZRn/+WYZ//hoGf/4ahn/92sZ//dtGf/2bxn/9nAa//Vy
- Gv/1cxr/9XUa//R2Gv/0dxr/83ka//N6Gv/zexr/8nwa//J9G//yfxv/8YAb//GBG//xghv/8IMb//CE
- G//whRv/74Ub/++GG//vhxv/74gb/++JG//uiRv/7oob/+6KHP/uixz/7osc/+6MHP/VkkT/pZ2V/6Sd
- lf+lnJNVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs6qiPLOq
- of+zqqH/s6qh/7Oqof+zqqH/s6qh/7KpoP+yqaD/sqmg/7GooP+xqJ//saif/7Con/+wp57/sKee/6+n
- nv+vpp7/r6ad/66mnf+upp3/rqWd/66lnP+tpZz/raSc/62km/+spJv/rKSb/6yjm/+ro5r/q6Oa/6ui
- mv+qopr/qqKZ/6qimf+poZn/qaGZ/6mhmP+poZj/qKCY/6igl/+ooJf/p5+X/6efl/+nn5b/pp+W/6ae
- lv+mnpb/pZ6V/6Wdlf+lnZX/pJyTOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAL+/vwSzqqHMs6qh/7Oqof+zqqH/s6qh/7Oqof+yqqH/sqmg/7KpoP+yqaD/saif/7Go
- n/+xqJ//sKif/7Cnnv+wp57/r6ee/6+mnv+vpp3/rqad/66mnf+upZ3/raWc/62lnP+tpJz/raSb/6yk
- m/+spJv/rKOb/6ujmv+ro5r/q6Ka/6qimv+qopn/qqKZ/6mhmf+poZn/qaGY/6igmP+ooJj/qKCX/6ig
- l/+nn5f/p5+X/6eflv+mnpb/pp6W/6aelv+lnpX/pZ2Uyb+AgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsbGdDbOroHmzqqK0s6qhu7OqobuzqqG7s6qhu7Op
- oLuzqaC7s6mgu7GpoLuxqKC7saigu7GooLuwpqC7sKaeu7Cmnruvpp67r6aeu6+mnbuvpp27r6adu6+l
- m7utpZu7raWbu62km7uspJu7rKSbu6ykm7uspJu7qqSau6qkmruqopq7qqKau6qimbuqopm7qaGZu6mh
- l7upoZe7qKCXu6igl7uooJe7pqCXu6agl7umoJe7pqCWu6aelrumn5a0pp2XeKqVlQwAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////
- ////////////////////////////////////////////////////////////////4AAAB//////gAAAH
- /////+AAAAf/////4AAAB//////gAAAH///////AA////////+AH////////4Af////////gB/////+A
- AAAAAAH//gAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//gAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//gAAAAAA
- AH/+AAAAAAAAf/4AAAAAAAB//gAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//gAAAAAAAH/+AAAAAAAAf/4A
- AAAAAAB//gAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//gAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//gAAAAAA
- AH/+AAAAAAAAf/4AAAAAAAB//gAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//gAAAAAAAH/+AAAAAAAAf/4A
- AAAAAAB//gAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//gAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//4AAAAAA
- Af//////////////////////////////////////////////////////////////////////////////
- //////////////////8oAAAAgAAAAAABAAABACAAAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAId8
- cnmGfXLnhn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y5od8cncAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFfXFYhn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4d+
- clUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAId9
- cp+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/h31ynQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhn1yqoZ9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXKqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACGfXKqhn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIZ9cqqGfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1yqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAhn1yqoZ9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXKqAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGfXKqhn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAIZ+cpKGfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/h35xkAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiH1xLYZ9cviGfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cveIfXErAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAiH1xK4Z+cpKGfXO7hn1zu4Z9c7uGfXO7hn1zu4Z9c7uGfXO7hn1zu4Z9
- c7uGfXO7hn1zu4Z9c7uGfXO7hn1y6IZ9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y6IZ9c7uGfXO7hn1zu4Z9
- c7uGfXO7hn1zu4Z9c7uGfXO7hn1zu4Z9c7uGfXO7hn1zu4Z9c7uGfXKRhoBzKgAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGfXKqhn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9cv+GfXL/hn1y/4Z9
- cv+GfXL/hn1y/4Z9cv+GfXKqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIN6b6qCeW//gnlv/4J5b/+CeW//gnlv/4J5b/+CeW//gnlv/4J5
- b/+CeW//gnlv/4J5b/+CeW//gnlv/4J5b/+CeW//gnlv/4J5b/+CeW//gnlv/4N6b6oAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe3Rrqntz
- av97c2r/e3Nq/3tzav97c2r/e3Nq/3tzav97c2r/e3Nq/3tzav97c2r/e3Nq/3tzav97c2r/e3Nq/3tz
- av97c2r/e3Nq/3tzav97c2r/e3RrqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0bGWqdGxk/3RsZP90bGT/dGxk/3RsZP90bGT/dGxk/3Rs
- ZP90bGT/dGxk/3RsZP90bGT/dGxk/3RsZP90bGT/dGxk/3RsZP90bGT/dGxk/3RsZP90bGWqAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtl
- X6prZF7/a2Re/2tkXv9rZF7/a2Re/2tkXv9rZF7/a2Re/2tkXv9rZF7/a2Re/2tkXv9rZF7/a2Re/2tk
- Xv9rZF7/a2Re/2tkXv9rZF7/a2Re/2tlX6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYlxXqmJcV/9iXFf/YlxX/2JcV/9iXFf/YlxX/2Jc
- V/9iXFf/YlxX/2JcV/9iXFf/YlxX/2JcV/9iXFf/YlxX/2JcV/9iXFf/YlxX/2JcV/9iXFf/YlxXqgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AABaVlCqWlVQ/1pVUP9aVVD/WlVQ/1pVUP9aVVD/WlVQ/1pVUP9aVVD/WlVQ/1pVUP9aVVD/WlVQ/1pV
- UP9aVVD/WlVQ/1pVUP9aVVD/WlVQ/1pVUP9aVlCqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAKqfmjCpoZpEqaGaRKmhmkSpoZpEqaGaRKmhmkSpoZpEqaGaRKmhmkSpoZpEqaGaRKmh
- mkSpoZpEqaGaRKmhmkSpoZZEqaGWRKmhlkSpoZZEqZ6WRKmelkSpnpZEqZ6WRKmelkSlnpZEpZ6WRKWe
- lkSlnpZEpZ6WRKWelkSlnpZEpZ6WRKWelkSlnpZEpZ6WRGNeWaBYU1HNWFNRzVhTUM1YU1DNWFNQzVhT
- UM1YU1DNWFNQzVdTUM1XU1DNV1NQzVdTUM1XU1DNV1NQzVdTUM1XU1DNV1NQzVdTUM1XU1DNV1NQzWNe
- WaChmpJEoZqSRKGakkShmpJEoZqSRKGakkShmpJEoZqSRKGakkShmpJEoZqSRKGaj0Semo9EnpqPRJ6a
- j0Semo9EnpqPRJ6aj0Selo9EnpaPRJ6Wj0Selo9EnpaPRJ6Wj0Selo9EnpaPRJ6Wj0Selo9EnpaPRJ6W
- j0Selo9EnpaPRJ6Wj0Selo9EnpaPRJ2YjS8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKyimkesoprWq6Ka/6qimv+qopn/qqKZ/6qi
- mf+qopn/qqGZ/6mhmf+poZn/qaGZ/6mhmP+poZj/qaGY/6igmP+ooJj/qKCY/6igmP+ooJf/qKCX/6ig
- l/+noJf/p5+X/6efl/+nn5f/p5+X/6eflv+mn5b/pp+W/6aelv+mnpb/pp6W/6aelv+mnpX/pZ6V/6We
- lf+lnZX/pZ2V/6Wdlf+lnZX/pJ2V/6SdlP+knZT/pJyU/6SclP+knJT/o5yU/6OclP+jnJP/o5yT/6Ob
- k/+jm5P/o5uT/6Kbk/+im5P/opuT/6Kbkv+impL/opqS/6Gakv+hmpL/oZqS/6Gakv+hmpH/oZmR/6GZ
- kf+gmZH/oJmR/6CZkf+gmZH/oJmQ/6CYkP+fmJD/n5iQ/5+YkP+fmJD/n5iQ/5+YkP+el4//npeP/56X
- j/+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//npeP/56X
- jtWfmJBFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACqpJtUq6Oa/Kujmv+ropr/qqKa/6qimv+qopn/qqKZ/6qimf+qopn/qqGZ/6mhmf+poZn/qaGZ/6mh
- mP+poZj/qaGY/6igmP+ooJj/qKCY/6igmP+ooJf/qKCX/6igl/+nn5f/p5+X/6efl/+nn5f/p5+W/6ef
- lv+mn5b/pp6W/6aelv+mnpb/pp6W/6aelv+lnpX/pZ6V/6Welf+lnZX/pZ2V/6Wdlf+lnZX/pJ2U/6Sd
- lP+knZT/pJyU/6SclP+knJT/o5yU/6OclP+jnJP/o5yT/6Obk/+jm5P/o5uT/6Kbk/+im5P/opuS/6Kb
- kv+impL/opqS/6Gakv+hmpL/oZqS/6Gakv+hmpH/oZmR/6GZkf+gmZH/oJmR/6CZkf+gmZH/oJmQ/6CY
- kP+fmJD/n5iQ/5+YkP+fmJD/n5iQ/5+YkP+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//npeP/56X
- j/+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//npeP/56Xj/yfmI9SAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArqKXFqujmvGro5r/q6Oa/6ujmv+ropr/qqKa/6qi
- mv+qopn/qqKZ/6qimf+qopn/qqGZ/6mhmf+poZn/qaGY/6mhmP+poZj/qaGY/6igmP+ooJj/qKCY/6ig
- mP+ooJf/qKCX/6igl/+nn5f/p5+X/6efl/+nn5f/p5+W/6eflv+mn5b/pp6W/6aelv+mnpb/pp6W/6ae
- lv+lnpX/pZ6V/6Wdlf+lnZX/pZ2V/6Wdlf+lnZX/pJ2U/6SdlP+knJT/pJyU/6SclP+knJT/o5yU/6Oc
- lP+jnJP/o5yT/6Obk/+jm5P/o5uT/6Kbk/+im5P/opuS/6Kbkv+impL/opqS/6Gakv+hmpL/oZqS/6Ga
- kv+hmpH/oZmR/6CZkf+gmZH/oJmR/6CZkf+gmZH/oJmQ/6CYkP+fmJD/n5iQ/5+YkP+fmJD/n5iQ/5+Y
- kP+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//npeP/56X
- j/+el4//npeP/56Yj++ZmYwUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACsoptuq6Oa/6ujmv+ro5r/q6Oa/6ujmv+ropr/qqKa/6qimv+qopn/qqKZ/6qimf+qopn/qqGZ/6mh
- mf+poZn/qaGY/6mhmP+poZj/qaGY/6igmP+ooJj/qKCY/6igmP+ooJf/qKCX/6egl/+nn5f/p5+X/6ef
- l/+nn5f/p5+W/6eflv+mn5b/pp6W/6aelv+mnpb/pp6W/6aelv+lnpX/pZ6V/6Wdlf+lnZX/pZ2V/6Wd
- lf+lnZX/pJ2U/6SdlP+knJT/pJyU/6SclP+knJT/o5yU/6OclP+jnJP/o5uT/6Obk/+jm5P/opuT/6Kb
- k/+im5P/opuS/6Kakv+impL/opqS/6Gakv+hmpL/oZqS/6Gakv+hmpH/oZmR/6CZkf+gmZH/oJmR/6CZ
- kf+gmZH/oJmQ/6CYkP+fmJD/n5iQ/5+YkP+fmJD/n5iQ/5+Yj/+el4//npeP/56Xj/+el4//npeP/56X
- j/+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//npeP/52Wj2sAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2jm56so5v/q6Oa/6ujmv+ro5r/q6Oa/6uj
- mv+ropr/qqKa/6qimv+qopn/qqKZ/6qimf+qopn/qaGZ/6mhmf+poZn/qaGY/6mhmP+poZj/qaGY/6ig
- mP+ooJj/qKCY/6igmP+ooJf/qKCX/6egl/+nn5f/p5+X/6efl/+nn5f/p5+W/6eflv+mn5b/pp6W/6ae
- lv+mnpb/pp6W/6aelf+lnpX/pZ6V/6Wdlf+lnZX/pZ2V/6Wdlf+knZX/pJ2U/6SdlP+knJT/pJyU/6Sc
- lP+knJT/o5yU/6Ock/+jnJP/o5uT/6Obk/+jm5P/opuT/6Kbk/+im5P/opuS/6Kakv+impL/opqS/6Ga
- kv+hmpL/oZqS/6Gakf+hmZH/oZmR/6CZkf+gmZH/oJmR/6CZkf+gmZH/oJiQ/5+YkP+fmJD/n5iQ/5+Y
- kP+fmJD/n5iQ/5+Yj/+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//npeP/56Xj/+el4//npeP/56X
- j/+el4//npeP/56Xj/+el4//n5aOnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAraSbqqyjm/+ro5v/q6Oa/6ujmv+/pHH/5qUe/+WmHv/lpx7/5age/+SpHv/kqh7/5Ksf/+Os
- H//jrR//464f/+KvH//isB//4rEf/+GyH//hsx//4bMf/+G0H//htR//4LYg/+C3IP/gtyD/4Lgg/+C5
- IP/guSD/37og/9+7IP/fvCD/37wg/9+9IP/eviD/3r8g/96/IP/ewCD/3sEg/93BIf/dwiH/3cMh/93D
- If/dxCH/3cUh/9zFIf/cxiH/3Mch/9zHIf/cyCH/3Mgh/9zIIf/bySH/28kh/9vJIf/byiH/28oh/9vK
- Iv/byyL/2ssi/9rLIv/azCL/2swi/9rMIv/azSL/2s0i/9rNIv/ZziL/2c4i/9nOIv/ZzyL/2c8i/9nP
- Iv/ZzyL/2dAi/9nQIv/Z0CL/2NAi/9jRIv/Y0SP/2NEj/9jRI//Y0SP/2NIj/9jSI//Y0iP/2NIj/9jS
- I//Y0yP/19Mj/9fTI//X0yP/19Mj/9fTI//X1CP/saxr/56Xj/+el4//npeP/56Xj/+emI+qAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtpJuqrKOb/6yjm/+ro5v/q6Oa/7+j
- cf/mpB7/5qUe/+WmHv/lpx7/5Kge/+SpHv/kqh7/46sf/+OsH//jrR//4q8f/+KwH//isB//4rEf/+Gy
- H//hsx//4bMf/+G0H//htR//4bYf/+C2IP/gtyD/4Lgg/+C5IP/guSD/37og/9+7IP/fvCD/37wg/9+9
- IP/eviD/3r4g/96/IP/ewCD/3sAg/97BIP/dwiH/3cIh/93DIf/dxCH/3cQh/9zFIf/cxiH/3MYh/9zH
- If/cxyH/3Mgh/9zIIf/byCH/28kh/9vJIf/byiH/28oh/9vKIf/byyL/28si/9rLIv/azCL/2swi/9rM
- Iv/azCL/2s0i/9rNIv/azSL/2c4i/9nOIv/ZziL/2c4i/9nPIv/ZzyL/2c8i/9nPIv/Z0CL/2dAi/9jQ
- Iv/Y0CL/2NEi/9jRI//Y0SP/2NEj/9jRI//Y0iP/2NIj/9jSI//Y0iP/2NIj/9jSI//Y0yP/19Mj/9fT
- I/+xq2v/npeP/56Xj/+el4//npeP/56Yj6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAK2km6qspJv/rKOb/6yjm/+ro5v/v6Nx/+ajHv/mpB7/5aUe/+WmHv/lpx7/5Kge/+Sp
- Hv/kqh7/46wf/+OtH//jrh//4q8f/+KwH//isB//4rEf/+GyH//hsx//4bMf/+G0H//htR//4bYf/+C2
- IP/gtyD/4Lgg/+C5IP/guSD/37og/9+7IP/fuyD/37wg/9+9IP/eviD/3r4g/96/IP/ewCD/3sAg/97B
- IP/dwiH/3cIh/93DIf/dxCH/3cQh/93FIf/cxSH/3MYh/9zHIf/cxyH/3Mgh/9zIIf/cyCH/28kh/9vJ
- If/bySH/28oh/9vKIf/byiL/28si/9rLIv/ayyL/2swi/9rMIv/azCL/2swi/9rNIv/azSL/2s0i/9nO
- Iv/ZziL/2c4i/9nOIv/ZzyL/2c8i/9nPIv/ZzyL/2dAi/9nQIv/Z0CL/2NAi/9jQIv/Y0SL/2NEj/9jR
- I//Y0SP/2NEj/9jRI//Y0iP/2NIj/9jSI//Y0iP/2NIj/7Gra/+el4//npeP/56Xj/+el4//npiPqgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAraSbqqykm/+spJv/rKOb/6yj
- m/+/o3H/5qIe/+ajHv/mpB7/5aUe/+WmHv/lpx7/5Kge/+SqHv/kqx7/46wf/+OtH//jrh//4q8f/+Kw
- H//isB//4rEf/+GyH//hsx//4bMf/+G0H//htR//4bYf/+C2IP/gtyD/4Lgg/+C5IP/guSD/37og/9+7
- IP/fuyD/37wg/9+9IP/evSD/3r4g/96/IP/evyD/3sAg/97BIP/dwSH/3cIh/93DIf/dwyH/3cQh/93F
- If/cxSH/3MYh/9zGIf/cxyH/3Mch/9zIIf/cyCH/28gh/9vJIf/bySH/28kh/9vKIf/byiH/28oi/9vL
- Iv/ayyL/2ssi/9rMIv/azCL/2swi/9rMIv/azSL/2s0i/9rNIv/azSL/2c4i/9nOIv/ZziL/2c4i/9nP
- Iv/ZzyL/2c8i/9nPIv/Z0CL/2dAi/9nQIv/Y0CL/2NAi/9jQIv/Y0SL/2NEj/9jRI//Y0SP/2NEj/9jR
- I//Y0iP/satr/56Xj/+el4//npeP/56Xj/+emI+qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACtpJuqrKSb/6ykm/+spJv/rKOb/8Cicf/noR7/5qIe/+ajHv/mpB7/5aUe/+Wn
- Hv/lqB7/5Kke/+SqHv/kqx7/46wf/+OtH//jrh//4q8f/+KwH//isB//4rEf/+GyH//hsx//4bMf/+G0
- H//htR//4bYf/+C2IP/gtyD/4Lgg/+C4IP/guSD/37og/9+7IP/fuyD/37wg/9+9IP/fvSD/3r4g/96/
- IP/evyD/3sAg/97BIP/ewSD/3cIh/93CIf/dwyH/3cQh/93EIf/dxSH/3MUh/9zGIf/cxyH/3Mch/9zH
- If/cyCH/3Mgh/9vIIf/bySH/28kh/9vJIf/byiH/28oh/9vKIv/byyL/2ssi/9rLIv/azCL/2swi/9rM
- Iv/azCL/2s0i/9rNIv/azSL/2s0i/9nOIv/ZziL/2c4i/9nOIv/ZziL/2c8i/9nPIv/ZzyL/2c8i/9nP
- Iv/Z0CL/2dAi/9nQIv/Y0CL/2NAi/9jQIv/Y0SL/2NEi/9jRI/+xq2v/npeP/56Xj/+el4//npeP/56Y
- j6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2km6qspJv/rKSb/6yk
- m/+spJv/wKJx/+egHf/noR7/5qIe/+akHv/mpR7/5aYe/+WnHv/lqB7/5Kke/+SqHv/kqx7/46wf/+Ot
- H//jrh//4q8f/+KwH//isB//4rEf/+KyH//hsx//4bMf/+G0H//htR//4bYf/+C2IP/gtyD/4Lgg/+C4
- IP/guSD/37og/9+6IP/fuyD/37wg/9+8IP/fvSD/3r4g/96+IP/evyD/3sAg/97AIP/ewSD/2sAh/9i9
- IP/XviD/1r0g/9W9IP/WvyD/1sAg/9fBIP/ZwyD/2sUh/9zHIf/cyCH/3Mgh/9zIIf/bySH/28kh/9vJ
- If/bySH/28oh/9vKIf/byiL/28si/9rLIv/ayyL/2ssi/9rMIv/azCL/2swi/9rMIv/azSL/2s0i/9rN
- Iv/azSL/2c4i/9nOIv/ZziL/2c4i/9nOIv/ZzyL/2c8i/9nPIv/ZzyL/2c8i/9nPIv/Z0CL/2dAi/9nQ
- Iv/Z0CL/2NAi/7Gqav+el4//npeP/56Xj/+el4//npiPqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAraScqqykm/+spJv/rKSb/6ykm//AonH/558d/+egHf/noh7/5qMe/+ak
- Hv/mpR7/5aYe/+WnHv/lqB7/5Kke/+SqHv/kqx7/46wf/+OtH//jrh//4q8f/+KwH//isB//4rEf/+Ky
- H//hsx//4bMf/+G0H//htR//4bUf/+C2IP/gtyD/4Lcg/+C4IP/guSD/4Log/9+6IP/fuyD/37wg/9+8
- IP/fvSD/3r0g/96+IP/evyD/3r8g/9e6H//Ttx7/0bUe/860Hv/NtB7/zbUe/862Hv/Ptx//0Lof/9G7
- H//RvB//0r0f/9XBIP/YwyD/28ch/9zIIf/cyCH/28kh/9vJIf/bySH/28kh/9vKIf/byiH/28oi/9vL
- Iv/byyL/2ssi/9rLIv/azCL/2swi/9rMIv/azCL/2s0i/9rNIv/azSL/2s0i/9rNIv/ZziL/2c4i/9nO
- Iv/ZziL/2c4i/9nPIv/ZzyL/2c8i/9nPIv/ZzyL/2c8i/9nPIv/Z0CL/sapq/56Xj/+el4//npeP/56X
- j/+emI+qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtpJyqraSb/6yk
- m/+spJv/rKSb/8Chcf/onx3/56Ad/+ehHv/noh7/5qMe/+akHv/mpR7/5aYe/+WnHv/lqB7/5Kke/+Sq
- Hv/kqx7/46wf/+OtH//jrh//4q4f/+KvH//isB//4rEf/+KyH//hsh//4bMf/+G0H//htR//4bUf/+C2
- IP/gtyD/4Lcg/+C4IP/guSD/4Lkg/9+6IP/fuyD/37sg/9+8IP/fvSD/370g/96+IP/auh//0rQe/8mt
- Hf/EqRz/xKoc/8OrHf/Dqx3/w6wd/8OsHf/DrR3/xK4d/8axHf/JtB7/zLge/9C8H//Svh//1cEg/9rG
- If/cyCH/3Mgh/9vJIf/bySH/28kh/9vJIf/byiH/28oh/9vKIf/byiL/28si/9rLIv/ayyL/2ssi/9rM
- Iv/azCL/2swi/9rMIv/azSL/2s0i/9rNIv/azSL/2s0i/9nOIv/ZziL/2c4i/9nOIv/ZziL/2c4i/9nO
- Iv/ZzyL/2c8i/9nPIv+xqmr/npeP/56Xj/+el4//npeP/56Yj6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2knKqtpJz/raSb/6ykm/+spJv/wKFx/+ieHf/onx3/56Ad/+eh
- Hv/noh7/5qMe/+akHv/mpR7/5aYe/+WnHv/lqB7/5Kke/+SqHv/kqx7/46wf/+OsH//jrR//464f/+Kv
- H//isB//4rEf/+KyH//hsh//4bMf/+G0H//htB//4bUf/+C2IP/gtiD/4Lcg/+C4IP/guCD/4Lkg/9+6
- IP/fuiD/37sg/9+8IP/fvCD/370g/9W3H//Nrx3/xqsl//Hqyf/7+fD//v37///////9/Pf/9/Th//Hr
- yv/n3qX/3M98/8++Sv/Drh3/w68d/8i0Hv/Pux//0b0f/9TAIP/axiH/3Mgh/9zIIf/bySH/28kh/9vJ
- If/bySH/28oh/9vKIf/byiH/28oi/9vLIv/byyL/2ssi/9rLIv/ayyL/2swi/9rMIv/azCL/2swi/9rM
- Iv/azSL/2s0i/9rNIv/azSL/2s0i/9nOIv/ZziL/2c4i/9nOIv/ZziL/2c4i/7Gqav+el4//npeP/56X
- j/+el4//npiPqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAraWcqq2k
- nP+tpJz/raSb/6ykm//BoXH/6J0d/+ieHf/onx3/56Ad/+ehHv/noh7/5qMe/+akHv/mpR7/5aYe/+Wn
- Hv/lqB7/5Kke/+SqHv/kqh7/46sf/+OsH//jrR//464f/+KvH//isB//4rEf/+KyH//hsh//4bMf/+G0
- H//htB//4bUf/+G2H//gtiD/37Yg/963IP/etyD/4Lkg/+C6IP/fuiD/37sg/9+7IP/fvCD/1bUf/8ys
- Hf/Pt0b///////////////////////////////////////////////////////j15P/k25r/yrk8/8Kv
- Hf/Hsx7/z7sf/9K+H//XwiD/3Mgh/9zIIf/cyCH/28gh/9vJIf/bySH/28kh/9vJIf/byiH/28oh/9vK
- If/byiL/28si/9vLIv/ayyL/2ssi/9rLIv/azCL/2swi/9rMIv/azCL/2swi/9rNIv/azSL/2s0i/9rN
- Iv/azSL/2s0i/9rNIv/azSL/sapq/56Xj/+el4//npeP/56Xj/+emI+qAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtpZyqraWc/62knP+tpJz/rKSb/8Ghcf/pnB3/6J0d/+ie
- Hf/onx3/56Ad/+ehHv/noh7/5qMe/+akHv/mpR7/5aYe/+WnHv/lqB7/5Kge/+SpHv/kqh7/5Ksf/+Os
- H//jrR//464f/+KvH//isB//4rEf/+KxH//hsh//4bMf/+GzH//fsx//3LEe/9iuHv/VrR7/1a4e/9Wu
- Hv/WsB//3LYf/+C5IP/fuiD/37sg/9+7IP/WtR//zq0d/8epI//8+vP/////////////////////////
- ///////////////////////////////////+/vz/6+S0/8y7Qf/Crx3/yrUe/9G9H//UwCD/28Yh/9zI
- If/cyCH/3Mgh/9vIIf/bySH/28kh/9vJIf/bySH/28oh/9vKIf/byiH/28oh/9vKIv/byyL/28si/9rL
- Iv/ayyL/2ssi/9rMIv/azCL/2swi/9rMIv/azCL/2swi/9rMIv/azSL/2s0i/9rNIv+yqWr/npeP/56X
- j/+el4//npeP/56Yj6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2l
- nKqtpZz/raWc/62knP+tpJz/waBx/+mbHf/pnB3/6J0d/+ieHf/onx3/56Ad/+ehHv/noh7/5qMe/+ak
- Hv/mpR7/5aYe/+WmHv/lpx7/5Kge/+SpHv/kqh7/5Ksf/+OsH//jrR//464f/+KvH//isB//4rEf/+Cw
- H//drh7/2Kwe/9aqHf/Vqh3/0Kcc/8ykHP/Ioxz/yKQc/9CqHf/Vrx7/3LUf/+C5IP/fuiD/37og/9q3
- H//TsB7/xaUc/+ndqP//////////////////////////////////////////////////////////////
- /////////v37/+Tbm//Fsin/xrId/9C7H//TviD/2sUh/9zHIf/cxyH/3Mgh/9zIIf/cyCH/28gh/9vJ
- If/bySH/28kh/9vJIf/byiH/28oh/9vKIf/byiH/28oi/9vLIv/byyL/28si/9rLIv/ayyL/2ssi/9rM
- Iv/azCL/2swi/9rMIv/azCL/2swi/7Kpav+el4//npeP/56Xj/+el4//npiPqgAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAraWcqq2lnP+tpZz/raSc/62knP/BoHL/6Zod/+mb
- Hf/pnB3/6J0d/+ieHf/onx3/56Ad/+ehHv/noh7/5qMe/+akHv/mpB7/5aUe/+WmHv/lpx7/5Kge/+Sp
- Hv/kqh7/5Ksf/+OsH//jrR//4a0f/92rHv/YqB7/1qcd/9WnHf/QpBz/y6Ac/8eeG//JoiH/2Lxg/+TS
- k//cxXL/xqIe/8+pHf/Vrh7/37cg/+C5IP/guSD/3rkg/9SxHv/KqR3/1LxW////////////////////
- //////////////////////////////////////////////////////////////Tx1//Muj7/xa8d/864
- H//SvR//2sQh/9zHIf/cxyH/3Mch/9zIIf/cyCH/3Mgh/9zIIf/bySH/28kh/9vJIf/bySH/28kh/9vK
- If/byiH/28oh/9vKIf/byiH/28oi/9vLIv/byyL/28si/9rLIv/ayyL/2ssi/9rLIv/ayyL/sqlq/56X
- j/+el4//npeP/56Xj/+emI+qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACupZyqraWc/62lnP+tpZz/raSc/8Ggcv/qmR3/6Zod/+mbHf/pnB3/6J0d/+ieHf/onx3/56Ad/+eh
- Hv/noh7/5qIe/+ajHv/mpB7/5aUe/+WmHv/lpx7/5age/+SpHv/jqR7/36ce/9mlHv/XpB3/1aQd/9Cg
- HP/Lnhz/x5sb/8mfI//ZvGP/69yu//z68v/////////////////izon/yKIc/9WuHv/csx//4Lgg/+C4
- IP/guSD/17Mf/8+tHf/FpR3/9/Ph////////////////////////////////////////////////////
- //////////////////////////////z79f/WxmP/xK4d/863Hv/SvB//2sQh/9zGIf/cxyH/3Mch/9zH
- If/cxyH/3Mgh/9zIIf/cyCH/3Mgh/9vIIf/bySH/28kh/9vJIf/bySH/28kh/9vKIf/byiH/28oh/9vK
- If/byiH/28oi/9vKIv/byyL/28si/9vLIv+zqWr/npeP/56Xj/+el4//npeP/56Yj6oAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6lnKqtpZz/raWc/62lnP+tpZz/wZ9y/+qY
- Hf/qmR3/6Zod/+mbHf/pnB3/6J0d/+ieHf/onx3/56Ad/+egHf/noR7/5qIe/+ajHv/mpB7/5aUe/+Wm
- Hv/lpx7/4aUd/9igHP/WoBz/0Z0b/8uaG//Ilxv/ypsh/9e0WP/n053/+vbr////////////////////
- //////////////jy4f/HoBv/0qoc/9iwH//gtyD/4Lcg/+C4IP/ctR//1bAe/8emHP/i0Yz/////////
- //////////////////////////////////////////////////////////////////////////////7+
- +//Zy3H/xK4d/862Hv/TvSD/28Qh/9zGIf/cxiH/3MYh/9zHIf/cxyH/3Mch/9zHIf/cyCH/3Mgh/9zI
- If/cyCH/28gh/9vJIf/bySH/28kh/9vJIf/bySH/28kh/9vKIf/byiH/28oh/9vKIf/byiH/28oh/7Oo
- a/+fl4//npeP/56Xj/+el4//npiPqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAArqWeqq6lnP+tpZz/raWc/62lnP/BoHH/6pcd/+qYHf/qmR3/6Zod/+mbHf/pnB3/6J0d/+ie
- Hf/onh3/558d/+egHf/noR7/5qIe/+ajHv/mpB7/5qUe/+OlHv/Znhz/0pob/8mVGv/LmSH/2bZf/+vZ
- rP/8+fL//////////////////////////////////////////////////////9KySf/NpRz/1qwe/9+1
- IP/gtyD/4Lcg/+C4IP/Vrx7/zaod/8qqK//y68z/////////////////////////////////////////
- /////////////////////////////////////////////////v/Yym7/xK0d/9C4H//UvCD/3cQh/93F
- If/cxSH/3MYh/9zGIf/cxiH/3Mch/9zHIf/cxyH/3Mch/9zIIf/cyCH/3Mgh/9zIIf/cyCH/28gh/9vJ
- If/bySH/28kh/9vJIf/bySH/28kh/9vJIf/bySH/s6hr/5+YkP+el4//npeP/56Xj/+emI+qAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACupZ6qrqWd/66lnP+tpZz/raWc/8Gg
- cf/qlhz/6pcd/+qYHf/qmR3/6Zod/+mbHf/pnB3/6Jwd/+idHf/onh3/558d/+egHf/noR7/5qIe/+aj
- Hv/mpB7/4KAd/9acHP/Kkxr/5cuQ//38+P//////////////////////////////////////////////
- ////////////////////////5dKV/8igG//Wqx3/3bIf/+G2H//gtiD/4Lcg/9uzH//Urh7/yqYc/8ak
- HP/IqSX/zLA3/9S8Vf/ey33/7OK2//z68///////////////////////////////////////////////
- //////////////79+v/TwVj/xq4d/9G4H//XviD/3cQh/93EIf/dxSH/3cUh/9zFIf/cxiH/3MYh/9zG
- If/cxyH/3Mch/9zHIf/cxyH/3Mch/9zIIf/cyCH/3Mgh/9zIIf/cyCH/28gh/9vIIf/bySH/28kh/9vJ
- If+zqGv/n5iQ/5+YkP+el4//npeP/56Yj6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAK6nnqqupZ3/rqWc/66lnP+tpZz/wZ9x/+uVHP/qlhz/6pcd/+qYHf/qmR3/6Zod/+ma
- Hf/pmx3/6Jwd/+idHf/onh3/558d/+egHf/noR7/56Ie/+ajHv/enh3/1Zkb/8uUHf/+/fv/////////
- ///////////////////////////////////////////////////////////////////38d//x54b/9Ko
- HP/Zrh7/4bUf/+G1H//gtiD/4LYg/9mxH//Vrx7/0q0e/8+rHf/Oqh3/y6kd/8inHP/FpRz/yKoo/97M
- f//69+v///////////////////////////////////////////////////////r47P/JszL/ybAe/9K4
- H//awSH/3cMh/93DIf/dxCH/3cQh/93FIf/dxSH/3MUh/9zFIf/cxiH/3MYh/9zGIf/cxyH/3Mch/9zH
- If/cxyH/3Mch/9zIIf/cyCH/3Mgh/9zIIf/cyCH/3Mgh/7Ooa/+fmJD/n5iQ/5+Yj/+el4//npiPqgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArqeeqq6lnf+upZ3/rqWc/66l
- nP/Bn3H/65Qc/+uVHP/rlhz/6pcd/+qYHf/qmB3/6Zkd/+maHf/pmx3/6Jwd/+idHf/onh3/558d/+eg
- Hf/noR7/56Ie/+CfHf/Xmhz/y5Ea/+bLkv///v3/////////////////////////////////////////
- ///////////////////////////////////Rr0X/zaMc/9arHv/htB//4bQf/+G1H//htR//4LYg/921
- IP/ash//2LIf/9awH//VsB7/1bAe/9KwHv/Nqx3/x6Yc/8iqKP/j1JL//fz3////////////////////
- /////////////////////////////+7mvf/Eqhz/zrMe/9O6IP/dwiH/3cIh/93DIf/dwyH/3cMh/93E
- If/dxCH/3cQh/93FIf/dxSH/3MUh/9zGIf/cxiH/3MYh/9zGIf/cxyH/3Mch/9zHIf/cxyH/3Mch/9zH
- If/cxyH/s6hr/5+YkP+fmJD/n5iQ/5+Yj/+emI+qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACup56qrqad/66lnf+upZ3/rqWc/8Ofcf/rkxz/65Qc/+uVHP/rlhz/6pYd/+qX
- Hf/qmB3/6Zkd/+maHf/pmx3/6Jwd/+idHf/onh3/6J8d/+egHf/noR7/5aEe/9qaHP/Slhv/y5Ea/9ap
- Sv/x4sL//////////////////////////////////////////////////////////////////////+PN
- jf/Jnhv/1qkd/92wH//hsx//4bQf/+G1H//htR//4bYf/+C2IP/gtyD/4Lcg/+C4IP/dtiD/2rQf/9Ww
- Hv/TsB7/zasd/8alHP/Tu1T/+/nw/////////////////////////////////////////////////9fF
- Zf/Gqxz/07ce/9q9H//dwSH/3cIh/93CIf/dwiH/3cMh/93DIf/dwyH/3cQh/93EIf/dxCH/3cQh/93F
- If/dxSH/3MUh/9zFIf/cxiH/3MYh/9zGIf/cxiH/3MYh/9zHIf+zp2v/n5iQ/5+YkP+fmJD/n5iQ/5+Y
- j6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6nnqqupp3/rqad/66l
- nf+upZ3/w55x/+ySHP/rkxz/65Qc/+uUHP/rlRz/6pYd/+qXHf/qmB3/6Zkd/+maHf/pmx3/6Jwd/+id
- Hf/onh3/6J8d/+egHf/noB3/4p4d/9qaHP/XmRz/z5Qb/8uSGv/UpkP/8OC9////////////////////
- ////////////////////////////////////////9u/Z/8ecG//TpR3/26we/+GyH//hsx//4bQf/+G0
- H//htR//4bUf/+G2H//gtiD/4Lcg/+C3IP/guCD/37cg/9q0H//VsB7/0a4e/8emHP/NsTr/9vHc////
- ////////////////////////////////////////+PXl/8arJf/NsR3/1Lgf/97AIP/ewSD/3sEg/93B
- If/dwiH/3cIh/93CIf/dwiH/3cMh/93DIf/dwyH/3cQh/93EIf/dxCH/3cQh/93FIf/dxSH/3cUh/9zF
- If/cxSH/3MUh/7Ona/+fmJD/n5iQ/5+YkP+fmJD/n5iQqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAsKeeqq6mnf+upp3/rqad/66lnf/DnnL/7JAc/+ySHP/skhz/65Mc/+uU
- HP/rlRz/6pYd/+qXHf/qmB3/6Zkd/+maHf/pmx3/6Zwd/+idHf/onh3/6J4d/+efHf/noB3/5aAe/+Cd
- Hf/amxz/15oc/8uSGv/kyIv/////////////////////////////////////////////////////////
- ////////z6o8/86gHP/XqR7/4rEf/+GyH//hsx//4bMf/+G0H//htB//4bUf/+G1H//hth//4LYg/+C3
- IP/gtyD/4Lgg/963IP/WsR//1K8e/8inHP/Nsjz/+/nv////////////////////////////////////
- ////////3c19/8apHP/TtR7/2rsf/97AIP/ewCD/3sAg/97BIP/ewSD/3sEg/93BIf/dwiH/3cIh/93C
- If/dwiH/3cMh/93DIf/dwyH/3cMh/93EIf/dxCH/3cQh/93EIf/dxCH/tadr/5+YkP+fmJD/n5iQ/5+Y
- kP+fmJCqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwp56qr6ad/66m
- nf+upp3/rqad/8Odcv/tjxz/7JAc/+yRHP/skhz/65Mc/+uUHP/rlRz/6pYc/+qXHf/qmB3/6Zkd/+ma
- Hf/pmx3/6Zwd/+icHf/onR3/6J4d/+efHf/noB3/56Ee/92bHf/Ulxv/zZMh//r16f//////////////
- ///////////////////////////////////////////////////iyYf/yZwb/9anHf/erh//4rEf/+Ky
- H//hsh//4bMf/+GzH//htB//4bQf/+G1H//htR//4bYf/+C2IP/gtyD/4Lcg/9+3IP/Ysh//068e/8il
- HP/Wvl3//v78///////////////////////////////////////49OP/xagg/86wHf/Vtx//3r4g/96/
- IP/evyD/3r8g/97AIP/ewCD/3sAg/97BIP/ewSD/3sEg/93BIf/dwiH/3cIh/93CIf/dwiH/3cIh/93D
- If/dwyH/3cMh/93DIf+1p2v/oJiQ/5+YkP+fmJD/n5iQ/5+YkKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAALCnnqqvpp3/r6ad/66mnf+upp3/w55y/+2OHP/tjxz/7JAc/+yR
- HP/skhz/65Mc/+uUHP/rlRz/6pYc/+qXHf/qmB3/6pkd/+maHf/pmh3/6Zsd/+icHf/onR3/6J4d/+if
- Hf/knh3/25gc/86QGv/gvHb/////////////////////////////////////////////////////////
- //////////////Tr0//ImRv/06Md/9uqHv/isB//4rEf/+KxH//ish//4bIf/+GzH//hsx//4bQf/+G0
- H//htR//4bUf/+G2H//gtiD/4Lcg/+C3IP/WsB//0qwe/8ejHP/i0Yz/////////////////////////
- ///////////////////Yw2j/yaoc/9SzHv/dvCD/3r4g/96+IP/eviD/3r8g/96/IP/evyD/3r8g/97A
- IP/ewCD/3sAg/97BIP/ewSD/3sEg/97BIP/dwSH/3cIh/93CIf/dwiH/3cIh/7WnbP+gmZD/oJiQ/5+Y
- kP+fmJD/n5iQqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKeeqq+m
- nf+vpp3/rqad/66mnf/DnXL/7Ywc/+2OHP/tjxz/7JAc/+yRHP/skhz/65Mc/+uUHP/rlRz/6pYc/+qX
- Hf/qmB3/6pgd/+mZHf/pmh3/6Zsd/+icHf/onR3/6J4d/+KaHP/YlRz/zI0a//Hhwv//////////////
- ////////////////////////+vTo//Tp0P///////////////////////////8+mOf/Pnhz/2KYe/+Kv
- H//isB//4rAf/+KxH//isR//4rIf/+GyH//hsx//4bMf/+G0H//htB//4bUf/+G1H//hth//4LYg/962
- IP/Vrh7/zagd/8moKP/7+O3//////////////////////////////////////+zitv/FpRz/0rEe/9q4
- H//fvSD/370g/9+9IP/eviD/3r4g/96+IP/eviD/3r8g/96/IP/evyD/3r8g/97AIP/ewCD/3sAg/97A
- IP/ewCD/3sEg/97BIP/ewSD/taZs/6CZkf+gmZD/oJiQ/5+YkP+fmJCqAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwp56qr6ae/6+mnf+vpp3/rqad/8Odcv/uixz/7Ywc/+2O
- HP/tjxz/7JAc/+yRHP/skhz/65Mc/+uUHP/rlRz/65Yc/+qWHf/qlx3/6pgd/+mZHf/pmh3/6Zsd/+mc
- Hf/onB3/3pYc/9WRG//QlCr//v37///////////////////////////////////////hwn7/ypMb/9q0
- Xv/06dD/////////////////2bdi/82bHP/XpB3/464f/+OuH//irx//4rAf/+KwH//isR//4rEf/+Ky
- H//hsh//4bMf/+GzH//htB//4bQf/+G1H//htR//4bUf/9uyH//UrB7/x6Ic/97JfP//////////////
- /////////////////////////f35/8epJv/PrR3/1rQf/9+8IP/fvCD/37wg/9+8IP/fvSD/370g/9+9
- IP/eviD/3r4g/96+IP/eviD/3r8g/96/IP/evyD/3r8g/96/IP/ewCD/3sAg/97AIP+1pmz/oJmR/6CZ
- kf+gmJD/n5iQ/5+YkKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCn
- nqqvpp7/r6ad/6+mnf+vpp3/xJ1y/+6KG//uixz/7Ywc/+2NHP/tjhz/7JAc/+yRHP/skhz/65Mc/+uU
- HP/rlBz/65Uc/+qWHf/qlx3/6pgd/+mZHf/pmh3/6Zod/+iaHf/clBz/0Y0b/92xZf//////////////
- /////////////////////////fv2/82XJf/Qlxv/zZUa/8qTGv/as13/8ePC//Dhv//MmyX/0Jwc/9ml
- Hv/jrB//460f/+OuH//jrh//4q8f/+KwH//isB//4rEf/+KxH//ish//4bIf/+GzH//hsx//4bQf/+G0
- H//htB//4bUf/9etHv/PqBz/yaYo//379v//////////////////////////////////////1bxZ/8qp
- Hf/UsR7/3rkg/9+7IP/fuyD/37sg/9+8IP/fvCD/37wg/9+8IP/fvSD/370g/9+9IP/fvSD/3r4g/96+
- IP/eviD/3r4g/96+IP/evyD/3r8g/7WmbP+gmZH/oJmR/6CZkf+gmJD/n5iQqgAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKeeqq+nnv+vpp7/r6ad/6+mnf/FnHL/74gb/+6K
- G//uixz/7owc/+2NHP/tjhz/7I8c/+yRHP/skhz/7JIc/+uTHP/rlBz/65Uc/+qWHP/qlx3/6pgd/+qY
- Hf/pmR3/5pgd/92THP/Pixr/5saQ///////////////////////////////////////u3Lb/y5Ea/9mc
- HP/ZnRz/1Zsb/82VGv/KlBr/ypQa/86YG//XoBz/36Yd/+SrH//jrB//46wf/+OtH//jrh//464f/+Kv
- H//isB//4rAf/+KxH//isR//4rIf/+GyH//hsx//4bMf/+GzH//htB//268e/9OqHf/HoBv/7N+z////
- ///////////////////////////////////k05L/yKYc/9WwHv/dtyD/37og/9+6IP/fuiD/37sg/9+7
- IP/fuyD/37sg/9+8IP/fvCD/37wg/9+8IP/fvSD/370g/9+9IP/fvSD/370g/969IP/eviD/taVs/6CZ
- kf+gmZH/oJmR/6CZkP+hmJCqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACwp56qr6ee/6+nnv+vpp7/r6ad/8Wccv/vhxv/74gb/+6JG//uixz/7owc/+2NHP/tjhz/7Y8c/+yQ
- HP/skRz/7JIc/+uTHP/rlBz/65Uc/+uWHP/qlh3/6pcd/+qYHf/klhz/3JEc/82JGv/x3b3/////////
- /////////////////////////////+G8dv/Okhr/2psc/+GgHf/dnx3/2Z4c/9acHP/XnRz/2Z8c/92j
- Hf/kqR7/5Koe/+SqHv/kqx//46wf/+OsH//jrR//464f/+OuH//irx//4rAf/+KwH//isR//4rEf/+Ky
- H//hsh//4bIf/+GzH//esR//1qsd/8mhG//exnf//////////////////////////////////////+3h
- t//Goxz/1K4e/9y0H//guSD/4Lkg/+C5IP/guSD/37og/9+6IP/fuiD/37og/9+7IP/fuyD/37sg/9+7
- IP/fvCD/37wg/9+8IP/fvCD/37wg/9+8IP+1pWz/oJmR/6CZkf+gmZH/oJmR/6GZkKoAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCnnqqvp57/r6ee/6+nnv+vpp7/xZty/++G
- G//vhxv/74gb/+6JG//uihz/7osc/+2NHP/tjhz/7Y8c/+yQHP/skRz/7JIc/+uTHP/rlBz/65Qc/+uV
- HP/qlhz/6pcd/+SUHP/bjxz/zYca//fs2///////////////////////////////////////16ZK/9KS
- G//bmh3/5qMe/+akHv/joh7/4KAd/+CiHf/ipB7/5ace/+WoHv/kqB7/5Kke/+SqHv/kqh7/5Ksf/+Os
- H//jrB//460f/+OuH//jrh//4q8f/+KvH//isB//4rEf/+KxH//isR//4rIf/+GyH//Wqx7/zaMc/9Oz
- Tf//////////////////////////////////////9vDa/8aiHP/SrB7/2rIf/+C4IP/guCD/4Lgg/+C4
- IP/guSD/4Lkg/+C5IP/guSD/37og/9+6IP/fuiD/37og/9+6IP/fuyD/37sg/9+7IP/fuyD/37sg/7Wk
- bP+gmZH/oJmR/6CZkf+gmZH/oZmSqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAsKeeqrCnnv+vp57/r6ee/6+mnv/Fm3L/8IQb/++GG//vhxv/74gb/+6JG//uihv/7osc/+2M
- HP/tjRz/7Y8c/+yQHP/skRz/7JIc/+ySHP/rkxz/65Qc/+uVHP/qlhz/45Ic/9qMG//Ohhr/+vTp////
- ///////////////////////////////////RlzD/05Mb/96bHf/noh7/5qIe/+ajHv/mpB7/5qQe/+al
- Hv/lph7/5ace/+WnHv/lqB7/5Kke/+SpHv/kqh7/5Koe/+SrH//jrB//46wf/+OtH//jrh//464f/+Kv
- H//irx//4rAf/+KwH//isR//4rEf/9iqHv/Ooxz/zKYw////////////////////////////////////
- ///69+z/x6Ab/9KqHv/asR//4LYg/+C3IP/gtyD/4Lcg/+C4IP/guCD/4Lgg/+C4IP/guSD/4Lkg/+C5
- IP/guSD/4Lkg/+C6IP/fuiD/37og/9+6IP/fuiD/taVs/6GZkf+gmZH/oJmR/6CZkf+hmZKqAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwp56qsKee/7Cnnv+vp57/r6ee/8Wa
- cv/wgxv/8IQb//CFG//vhhv/74gb/++JG//uihv/7osc/+6MHP/tjRz/7Y4c/+2PHP/skBz/7JEc/+yS
- HP/rkxz/65Qc/+uVHP/kkBv/2Ysb/86FGv/+/Pn//////////////////////////////////////82O
- IP/Wkxv/35oc/+egHf/noR7/56Ie/+aiHv/mox7/5qQe/+alHv/lpR7/5aYe/+WnHv/lpx7/5age/+Sp
- Hv/kqR7/5Koe/+SqHv/kqx//46wf/+OsH//jrR//460f/+OuH//irx//4q8f/+KwH//isB//2qoe/9Cj
- HP/JnyH///////////////////////////////////////38+f/Hnxv/0qkc/9qvHv/htR//4bYf/+C2
- IP/gtiD/4LYg/+C3IP/gtyD/4Lcg/+C3IP/guCD/4Lgg/+C4IP/guCD/4Lgg/+C5IP/guSD/4Lkg/+C5
- IP+2pWz/oZmR/6GZkf+gmZH/oJmR/6GZkqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAALCnnqqwp57/sKee/7Cnnv+vp57/xZpy//GCG//wgxv/8IQb//CFG//vhhv/74cb/++I
- G//uiRv/7osc/+6MHP/tjRz/7Y4c/+2PHP/skBz/7JEc/+ySHP/rkxz/65Mc/+SPG//aihr/zoQZ//78
- +v//////////////////////////////////////zYwe/9aSG//gmBz/558d/+egHf/noB3/56Ee/+ei
- Hv/mox7/5qMe/+akHv/mpR7/5aUe/+WmHv/lpx7/5ace/+WoHv/kqB7/5Kke/+SqHv/kqh7/5Ksf/+Or
- H//jrB//460f/+OtH//jrh//464f/+KvH//aqR7/0KIc/8mfI///////////////////////////////
- /////////fz4/8eeG//SqBz/2q4e/+G0H//htR//4bUf/+G1H//htR//4bYf/+C2IP/gtiD/4LYg/+C3
- IP/gtyD/4Lcg/+C3IP/gtyD/4Lcg/+C4IP/guCD/4Lgg/7akbP+hmpH/oZmR/6GZkf+gmZH/oZmSqgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsKefqrCnnv+wp57/sKee/7Cn
- nv/FmXL/8YAb//GBG//wghv/8IQb//CFG//vhhv/74cb/++IG//uiRv/7oob/+6LHP/tjBz/7Y0c/+2O
- HP/skBz/7JEc/+yRHP/skhz/5I4b/9uJGv/Pgxn/+/bu////////////////////////////////////
- ///Rkyz/1I8b/96WHP/onh3/6J4d/+efHf/noB3/56Ee/+ehHv/noh7/5qMe/+ajHv/mpB7/5qUe/+Wl
- Hv/lph7/5ace/+WnHv/lqB7/5Kge/+SpHv/kqh7/5Koe/+SrHv/kqx//46wf/+OsH//jrR//460f/9qn
- Hv/QoBz/zaQy///////////////////////////////////////69en/x50b/9OnHf/arR7/4bMf/+Gz
- H//htB//4bQf/+G0H//htB//4bUf/+G1H//htR//4bUf/+G2H//gtiD/4LYg/+C2IP/gtiD/4Lcg/+C3
- IP/gtyD/tqRs/6Gakv+hmpH/oZmR/6GZkf+hmZKqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACwqJ+qsKef/7Cnnv+wp57/sKee/8aZcv/xfxv/8YAb//GBG//wghv/8IMb//CE
- G//vhRv/74cb/++IG//uiRv/7oob/+6LHP/ujBz/7Y0c/+2OHP/tjxz/7JAc/+yRHP/mjhv/3Iob/8+C
- Gf/47t///////////////////////////////////////9ihSv/UjRv/3pUc/+idHf/onR3/6J4d/+if
- Hf/nnx3/56Ad/+ehHv/noR7/56Ie/+ajHv/mox7/5qQe/+alHv/lpR7/5aYe/+WmHv/lpx7/5age/+Wo
- Hv/kqR7/5Kke/+SqHv/kqh7/5Ksf/+OrH//jrB//2KUe/86dHP/Vr0//////////////////////////
- //////////////bu2f/HnBv/06Yd/9ytHv/hsh//4bIf/+GzH//hsx//4bMf/+GzH//htB//4bQf/+G0
- H//htB//4bQf/+G1H//htR//4bUf/+G1H//htR//4bYf/+G2H/+2pGz/oZqS/6Gakv+hmpH/oZmR/6GZ
- kqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCon6qwqJ//sKef/7Cn
- nv+wp57/xphy//J9G//yfxv/8YAb//GBG//xghv/8IMb//CEG//whRv/74Yb/++HG//viBv/7okb/+6K
- HP/uixz/7Y0c/+2OHP/tjxz/7JAc/+eOG//fiRv/0IEZ//Hcvv//////////////////////////////
- ////////4rp7/9GKGv/dkxz/55od/+icHf/onR3/6J0d/+ieHf/onx3/558d/+egHf/noR7/56Ee/+ei
- Hv/mox7/5qMe/+akHv/mpB7/5qUe/+WmHv/lph7/5ace/+KlHv/coR3/2J8c/9igHP/box3/4Kce/+Kq
- Hv/Yoh3/y5ob/+DDfP//////////////////////////////////////7+K9/8ebG//Vph3/3q4e/+Kx
- H//isR//4rEf/+KyH//hsh//4bIf/+GyH//hsx//4bMf/+GzH//hsx//4bQf/+G0H//htB//4bQf/+G0
- H//htB//4bUf/7aja/+hmpL/oZqS/6Gakv+hmpH/oZmSqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAsaifqrCon/+wp5//sKee/7Cnnv/GmHL/8nwa//J9G//yfhv/8X8b//GA
- G//xghv/8IMb//CEG//whRv/74Yb/++HG//viBv/7okb/+6KG//uixz/7Ywc/+2NHP/tjhz/6o0c/+CJ
- G//SgRn/68ib///////////////////////////////////////x27z/zoca/9uQHP/klhz/6Zsd/+mb
- Hf/onB3/6J0d/+idHf/onh3/6J8d/+efHf/noB3/56Ee/+ehHv/noh7/5qMe/+ajHv/mpB7/5qQe/+al
- Hv/iox7/2Z4c/9SaG//Olhv/z5gb/9WcG//YoBz/2aEd/9agHP/Jlhr/7t61////////////////////
- ///////////////////kzY//yZwb/9amHf/frR//4rAf/+KwH//isB//4rEf/+KxH//isR//4rEf/+Ky
- H//ish//4bIf/+GyH//hsh//4bMf/+GzH//hsx//4bMf/+GzH//hsx//t6Nr/6Gakv+hmpL/oZqS/6Ga
- kv+hm5KqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxqJ+qsaif/7Co
- n/+wp5//sKee/8aXcv/zexr/8nwa//J9Gv/yfhv/8X8b//GAG//xgRv/8IIb//CDG//whBv/74Ub/++G
- G//vhxv/74kb/+6KG//uixz/7owc/+2NHP/sjRz/4Ygb/9WCGv/hrWr/////////////////////////
- //////////////37+P/QiiT/14sb/+CSHP/pmR3/6Zod/+mbHf/pmx3/6Jwd/+idHf/onR3/6J4d/+if
- Hf/nnx3/56Ad/+ehHv/noR7/56Ie/+aiHv/mox7/5qQe/9ydHf/VmRv/ypIb/9q0X//Zslz/ypQc/82V
- Gv/VnBv/0Zob/8yaJv/9+/f//////////////////////////////////////9m4Yv/MnBz/16Ud/+Kt
- H//jrh//4q8f/+KvH//irx//4rAf/+KwH//isB//4rAf/+KxH//isR//4rEf/+KxH//ish//4rIf/+Ky
- H//hsh//4bIf/+GyH/+3omv/opqS/6Gakv+hmpL/oZqS/6GbkqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAALGon6qxqJ//sKif/7Con/+wp5//xpdy//N5Gv/zehr/8nsa//J8
- Gv/yfhv/8n8b//GAG//xgRv/8YIb//CDG//whBv/8IUb/++GG//vhxv/74gb/+6JG//uihv/7osc/+2M
- HP/jhxv/2oMa/9WJLf///v7//////////////////////////////////////+K2d//Qhhr/3o8c/+WV
- HP/pmR3/6Zkd/+maHf/pmx3/6Zsd/+icHf/onR3/6J0d/+ieHf/onx3/558d/+egHf/noB3/56Ee/+ei
- Hv/loR7/2psc/86SGv/dt2j////////////27Nf/27Vj/8qTG//Kkxr/4MF7////////////////////
- ///////////////////+/fv/zJ4r/9CeHP/ZpR7/460f/+OtH//jrR//464f/+OuH//jrh//4q8f/+Kv
- H//irx//4q8f/+KwH//isB//4rAf/+KwH//isR//4rEf/+KxH//isR//4rEf/7eia/+impL/opqS/6Ga
- kv+hmpL/oZuSqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsaifqrGo
- n/+xqJ//sKif/7Con//Gl3P/9Hga//N5Gv/zehr/83sa//J8Gv/yfRv/8n4b//F/G//xgBv/8YEb//CC
- G//wgxv/8IQb/++GG//vhxv/74gb/++JG//uihv/7osc/+eHG//egxv/0X0Z//bk0P//////////////
- ////////////////////////+vLo/9GHIf/Xihr/35Ac/+mXHf/qmB3/6Zkd/+mZHf/pmh3/6Zsd/+mb
- Hf/onB3/6J0d/+idHf/onh3/6J8d/+efHf/noB3/56Ad/+agHv/bmRz/z5Ia/9+6cv//////////////
- ////////9erS/9u1Yv/58+b///////////////////////////////////////Div//Jlhr/1qAc/96m
- Hf/kqx//46sf/+OsH//jrB//46wf/+OtH//jrR//460f/+OuH//jrh//464f/+KvH//irx//4q8f/+Kv
- H//irx//4rAf/+KwH//isB//t6Jr/6Kakv+impL/oZqS/6Gakv+hm5KqAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxqJ+qsaif/7Gon/+xqJ//sKif/8aXc//0dhr/9Hca//N5
- Gv/zehr/83sa//J8Gv/yfRr/8n4b//F/G//xgBv/8YEb//GCG//wgxv/8IQb//CFG//vhhv/74cb/++I
- G//uiRv/64gb/+KEG//VfRn/5LN5////////////////////////////////////////////5r2F/9CE
- Gf/cjBv/4ZAc/+qXHf/qmB3/6pgd/+mZHf/pmR3/6Zod/+mbHf/pmx3/6Jwd/+idHf/onR3/6J4d/+ie
- Hf/onx3/558d/9yYHP/TlBv/0Zkw///+/f//////////////////////////////////////////////
- ////////////////////////3750/8uXGv/YoBz/4ace/+SqHv/kqh7/5Koe/+SrHv/kqx//46sf/+Os
- H//jrB//46wf/+OtH//jrR//460f/+OtH//jrh//464f/+OuH//jrh//464f/+KvH/+3oWv/opuS/6Ka
- kv+impL/oZqS/6GbkqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGo
- n6qxqJ//saif/7Gon/+xqJ//x5dz//R1Gv/0dhr/9Hca//N4Gv/zeRr/83oa//N7Gv/yfBr/8n0b//J+
- G//xfxv/8YAb//GBG//wgxv/8IQb//CEG//vhRv/74Yb/++HG//viBv/5IMa/9t/Gf/Vgyf//fn1////
- ///////////////////////////////////+/Pn/2p5M/9KEGf/ejBv/45Eb/+qWHf/qlx3/6pgd/+qY
- Hf/pmR3/6Zkd/+maHf/pmx3/6Zsd/+mcHf/onB3/6J0d/+ieHf/onh3/4Zoc/9iVHP/MjRr/9ObM////
- //////////////////////////////////////////////////////////////z58v/NmSf/0pkb/9ug
- Hf/lqB7/5age/+SpHv/kqR7/5Kke/+SqHv/kqh7/5Koe/+SrHv/kqx7/5Ksf/+SrH//jrB//46wf/+Os
- H//jrB//460f/+OtH//jrR//460f/7ihbP+im5L/opuS/6Kakv+impL/oZuSqgAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsaihqrGon/+xqJ//saif/7Gon//IlnP/9XMa//V1
- Gv/0dhr/9Hca//R4Gv/zeRr/83oa//N7Gv/yfBr/8n0a//J+G//xfxv/8YAb//GBG//xghv/8IMb//CE
- G//whRv/74Yb/++HG//phRr/4YEa/9N6GP/rxZn/////////////////////////////////////////
- ///68eX/040u/9OEGv/eixv/4o8b/+qVHP/qlh3/6pcd/+qXHf/qmB3/6pkd/+mZHf/pmh3/6Zod/+mb
- Hf/pnB3/6Jwd/+idHf/lmx3/3JYc/8+NGv/jwIH/////////////////////////////////////////
- ////////////////////////5sqQ/8uTGv/YnRz/3J8d/+OlHv/lpx7/5ace/+WnHv/lqB7/5age/+So
- Hv/kqR7/5Kke/+SpHv/kqh7/5Koe/+SqHv/kqh7/5Kse/+SrHv/kqx//5Ksf/+OrH//jrB//uKBs/6Kb
- k/+im5L/opuS/6Kakv+im5KqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACxqqGqsaig/7Gon/+xqJ//saif/8iWc//1chr/9XMa//V0Gv/0dRr/9HYa//R3Gv/zeBr/83ka//N6
- Gv/yexr/8nwa//J9G//yfhv/8X8b//GAG//xgRv/8IIb//CDG//whBv/8IUb/+6FG//kgRr/2nwZ/9aE
- K//9+fT////////////////////////////////////////////36tn/1pA1/9KEGf/dixv/4I0b/+aS
- G//rlhz/6pYc/+qXHf/qlx3/6pgd/+qZHf/pmR3/6Zod/+maHf/pmx3/6Zsd/+icHf/dlRz/048b/9KY
- Nf////7////////////////////////////////////////////////////////////YrFP/y5Ea/9GV
- G//YnBz/2p0c/96gHf/kpR7/5aYe/+WmHv/lpx7/5ace/+WnHv/lqB7/5age/+WoHv/kqB7/5Kke/+Sp
- Hv/kqR7/5Kke/+SqHv/kqh7/5Koe/+SqHv+4oGz/opuT/6Kbk/+im5L/opqS/6KbkqoAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALOqoaqxqaD/saig/7Gon/+xqJ//yJVy//Zx
- Gv/1chr/9XMa//V0Gv/0dRr/9HYa//R3Gv/0eBr/83ka//N6Gv/zexr/8nwa//J9Gv/yfhv/8X8b//GA
- G//xgRv/8YIb//CDG//whBv/8IUb/+iCGv/ifxr/1HcY/+i5h///////////////////////////////
- ///////////////////58OT/2JZA/9GCGf/Xhxr/3osb/+CNG//lkRv/6JMc/+qWHP/qlx3/6pcd/+qY
- Hf/qmB3/6Zkd/+mZHf/pmh3/6Zsd/+KWHP/akhz/zIoa//Xo0v//////////////////////////////
- //////////////////////////////79+//q0qP/0p44/8uQGv/QlRv/2Jsc/9ydHf/lpB7/5qUe/+Wl
- Hv/lph7/5aYe/+WmHv/lph7/5ace/+WnHv/lpx7/5ace/+WoHv/lqB7/5age/+SoHv/kqB7/5Kke/7mf
- bP+im5P/opuT/6Kbk/+im5L/opuSqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAs6qhqrKpoP+xqaD/saig/7Gon//IlXL/9m8Z//ZwGv/2cRr/9XIa//VzGv/1dBr/9HUa//R2
- Gv/0dxr/83ga//N5Gv/zehr/8nsa//J8Gv/yfRv/8n4b//F/G//xgBv/8YEb//CCG//wgxv/74Mb/+V/
- Gv/dfBn/1Hkc//bk0f/////////////////////////////////////////////////9+vb/5rqD/9GD
- Hv/Sghn/2Iga/92LG//fjBv/340b/+GPG//ikRv/5JIc/+eVHf/qmB3/6pgd/+qZHf/pmR3/5Zgd/92S
- HP/Pihr/5MCF////////////////////////////////////////////////////////////////////
- /////v3/7tq0/9OgPP/MkBr/2Zoc/+GfHf/mox7/5qQe/+akHv/mpB7/5qUe/+alHv/lpR7/5aUe/+Wm
- Hv/lph7/5aYe/+WmHv/lpx7/5ace/+WnHv/lpx7/uZ9s/6Obk/+im5P/opuT/6Kbk/+im5KqAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzqqGqsqmg/7KpoP+xqaD/saif/8iU
- cv/3bhn/9m8Z//ZwGv/2cRr/9XIa//VzGv/1dBr/9HUa//R2Gv/0dxr/9Hga//N5Gv/zehr/83sa//J8
- Gv/yfRr/8n4b//F/G//xgBv/8YEb//GCG//wghv/7IEb/+R9Gv/Xdxn/2os8//348v//////////////
- ////////////////////////////////////////+Oze/+Gvbv/ShSH/0IEZ/9OEGv/Vhhr/14ca/9mI
- Gv/cixv/344b/+SSG//qlx3/6pcd/+qYHf/qmB3/3pIc/9SLG//UmTr/////////////////////////
- ////////////////////////////////////////////////////////+/fu/86SIf/VlRv/3pwd/+ei
- Hv/moh7/5qMe/+ajHv/mox7/5qMe/+akHv/mpB7/5qQe/+akHv/mpR7/5qUe/+alHv/lpR7/5aYe/+Wm
- Hv+5nmz/o5uT/6Obk/+im5P/opuT/6Kbk6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAALOqoaqyqaD/sqmg/7KpoP+xqaD/yJRy//dsGf/3bRn/9m4Z//ZvGf/2cBr/9XEa//Vy
- Gv/1cxr/9XQa//R1Gv/0dhr/9Hca//N4Gv/zeRr/83oa//N7Gv/yfBr/8n0b//J+G//xfxv/8YAb//GB
- G//xghv/6H4a/+J8Gv/WdRj/4qFh///+/v//////////////////////////////////////////////
- //////////////z38f/w1rT/5LV6/9qbSP/Tiij/0Ycj/8+CGf/Vhhr/340b/+iTHP/qlhz/6pYd/+qX
- Hf/jkhz/244c/86GGv/26dX/////////////////////////////////////////////////////////
- ///////////////////9+vX/z5Mm/9WUG//emhz/56Ee/+ehHv/noR7/56Ee/+eiHv/noh7/5qIe/+aj
- Hv/mox7/5qMe/+ajHv/mox7/5qQe/+akHv/mpB7/5qQe/7qfbP+jm5P/o5uT/6Obk/+im5P/opuTqgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs6qhqrKpoP+yqaD/sqmg/7Kp
- oP/JlHP/92sZ//dsGf/3bRn/924Z//ZvGf/2cBr/9nEa//VyGv/1cxr/9XQa//R1Gv/0dhr/9Hca//R4
- Gv/zeRr/83oa//N7Gv/yfBr/8n0a//J9G//yfhv/8X8b//GAG//wgBv/53wa/+B6Gv/VdRj/5q12///+
- /v//////////////////////////////////////////////////////////////////////////////
- ///+/vz/7tKs/8+CGv/biRr/448b/+uUHP/rlRz/65Yc/+aUHP/ejxz/0IYa/+bBiv//////////////
- ///////////////////////////////////////////////////8+fL/7dau/9aiSP/NjBr/2pUc/+Kb
- HP/nnx3/558d/+egHf/noB3/56Ad/+ehHv/noR7/56Ee/+ehHv/noh7/56Ie/+eiHv/moh7/5qIe/+aj
- Hv/mox7/up5s/6Ock/+jm5P/o5uT/6Obk/+im5OqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAACzqqGqsqmg/7KpoP+yqaD/sqmg/8mUc//4aRn/+GoZ//drGf/3bBn/920Z//Zu
- Gf/2bxn/9nAa//VxGv/1chr/9XMa//V0Gv/0dRr/9HYa//R3Gv/zeBr/83ka//N6Gv/zexr/8nwa//J9
- Gv/yfhv/8n8b//F/G//vfxv/5nsa/994Gf/Ucxj/5Klw//79+///////////////////////////////
- ////////////////////////////////////////////////////////3KFU/9WEGv/fjBv/6pIc/+uU
- HP/rlBz/65Uc/+COG//WiBr/15pC//////////////////////////////////////////////////36
- 9v/w3Lv/37Ru/9CQJv/Mihr/0Ywb/9mTHP/dlhz/55wd/+ieHf/onh3/6J4d/+ifHf/onx3/558d/+ef
- Hf/noB3/56Ad/+egHf/noB3/56Ad/+ehHv/noR7/56Ee/+ehHv+6nm3/o5yT/6Obk/+jm5P/o5uT/6Kb
- k6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALOqoaqyqaD/sqmg/7Kp
- oP+yqaD/ypNz//hoGf/4aRn/+GoZ//drGf/3bBn/920Z//duGf/2bxn/9nAa//ZxGv/1chr/9XMa//V0
- Gv/0dRr/9HYa//R3Gv/0eBr/83ga//N5Gv/zehr/83sa//J8Gv/yfRr/8n4b//F/G//ufhv/5noa/+F4
- Gf/Uchj/4Z9g//359f//////////////////////////////////////////////////////////////
- ///////////////////tzab/0IAZ/9+JG//mjxv/7JIc/+uTHP/rkxz/448b/9uJGv/Pgxn/9+vZ////
- ////////////////////////+vTp/+vOov/bp1f/zoke/82HGv/Rihr/1o0b/9uRHP/dkxz/4ZYc/+eb
- Hf/pnB3/6Jwd/+icHf/onR3/6J0d/+idHf/onh3/6J4d/+ieHf/onh3/6J8d/+ifHf/nnx3/558d/+ef
- Hf/noB3/56Ad/7qdbf+jnJP/o5yT/6Obk/+jm5P/pJuTqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAs6qhqrKpoP+yqaD/sqmg/7KpoP/Kk3P/+WYZ//lnGf/4aBn/+GkZ//hq
- Gf/3axn/92wZ//dtGf/2bhn/9m8Z//ZwGv/2cRr/9XIa//VzGv/1dBr/9HUa//R2Gv/0dxr/9Hga//N5
- Gv/zehr/83oa//J7Gv/yfBr/8n0b//J+G//ufhv/5noa/+F4Gf/Wchj/24k+//biz///////////////
- //////////////////////////////////////////////////////////////359P/ThCP/2oUa/+KK
- G//skRz/7JEc/+ySHP/okBz/34wb/9KEGf/dp13//fv3///////58OT/6sma/9qhT//OhRz/z4Ua/9SI
- G//ZjRv/3Y8c/96QHP/hkxz/5JUc/+eYHf/pmh3/6Zod/+maHf/pmx3/6Zsd/+mbHf/pnB3/6Zwd/+ic
- Hf/onB3/6J0d/+idHf/onR3/6J0d/+idHf/onh3/6J4d/+ieHf/onh3/up1t/6OclP+jnJP/o5yT/6Ob
- k/+km5OqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzqqGqsqqh/7Kp
- oP+yqaD/sqmg/8qSc//6ZBj/+WYZ//lnGf/4aBn/+GkZ//hqGf/3axn/92wZ//dtGf/3bhn/9m8Z//Zw
- Gf/2cRr/9XIa//VyGv/1cxr/9XQa//R1Gv/0dhr/9Hca//R4Gv/zeRr/83oa//N7Gv/yexr/8nwa//J9
- G//vfRv/5nka/+N4Gv/ZdBn/1nMc/+izgv/9+PP/////////////////////////////////////////
- /////////////////////////////+Ksbf/VgBr/4Ycb/+qNHP/skBz/7JAc/+yRHP/iixv/3Ikb/9GC
- Gf/RiCT/1ZE1/8+CGv/Qgxn/1Yca/9qKGv/ejBv/3o4b/+GQG//llBz/6ZYd/+qXHf/qmB3/6pgd/+qY
- Hf/qmR3/6Zkd/+mZHf/pmh3/6Zod/+maHf/pmh3/6Zsd/+mbHf/pmx3/6Zsd/+mcHf/pnB3/6Jwd/+ic
- Hf/onB3/6J0d/+idHf+6nG3/pJyU/6OclP+jnJP/o5yT/6Sbk6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAALOqoaqzqqH/sqqh/7KpoP+yqaD/ypJz//pjGP/6ZBj/+WUZ//lm
- Gf/5Zxn/+GgZ//hpGf/4ahn/92sZ//dsGf/3bRn/9m4Z//ZvGf/2cBr/9nEa//VyGv/1cxr/9XQa//V1
- Gv/0dRr/9HYa//R3Gv/zeBr/83ka//N6Gv/zexr/8nwa//J8Gv/xfRv/6Xoa/+V5Gv/fdhn/1nEY/9l+
- Lf/txaD//vv4////////////////////////////////////////////////////////////89zD/9F8
- Gf/fhRv/5okb/+2OHP/tjxz/7Y8c/+qPHP/hiRv/3okb/9qGGv/Zhxr/3Iga/9+MG//fjBv/448b/+aR
- G//qkxz/65Uc/+uVHP/rlRz/6pYc/+qWHP/qlh3/6pcd/+qXHf/qlx3/6pgd/+qYHf/qmB3/6pkd/+mZ
- Hf/pmR3/6Zkd/+maHf/pmh3/6Zod/+maHf/pmx3/6Zsd/+mbHf/pmx3/6Zsd/7ucbf+knJT/o5yU/6Oc
- lP+jnJP/pJyTqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs6qhqrOq
- of+zqqH/sqqh/7KpoP/LkXP/+2EY//piGP/6Yxj/+mQY//lmGf/5Zxn/+GgZ//hpGf/4ahn/+GsZ//ds
- Gf/3bRn/920Z//ZuGf/2bxn/9nAa//ZxGv/1chr/9XMa//V0Gv/0dRr/9HYa//R3Gv/0dxr/83ga//N5
- Gv/zehr/83sa//J8Gv/yfBr/7nsb/+d4Gv/keRr/3HQZ/9ZxGP/YfCn/6LKB//fl1P///v7/////////
- ///////////////////////////////////+/Pr/030d/92BGv/mhxv/7Ywc/+2NHP/tjRz/7Y4c/+yO
- HP/mixv/44ob/+KKG//kjBv/544b/+uRHP/skhz/7JIc/+uTHP/rkxz/65Qc/+uUHP/rlBz/65Uc/+uV
- HP/rlRz/6pYc/+qWHP/qlh3/6pcd/+qXHf/qlx3/6pcd/+qYHf/qmB3/6pgd/+qYHf/qmR3/6Zkd/+mZ
- Hf/pmR3/6Zkd/+maHf/pmh3/u5tt/6SclP+knJT/o5yU/6OclP+knJOqAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzqqGqs6qh/7Oqof+zqqH/sqmh/8uRc//7YBj/+2EY//pi
- GP/6Yxj/+mQY//llGf/5Zhn/+WcZ//hoGf/4aRn/+GoZ//drGf/3bBn/920Z//duGf/2bxn/9nAZ//Zx
- Gv/1cRr/9XIa//VzGv/1dBr/9HUa//R2Gv/0dxr/9Hca//N4Gv/zeRr/83oa//N7Gv/yfBr/8Xwa/+t6
- Gv/neBr/43ga/951Gf/Ychj/1XEY/9l/Lf/jpGr/7MCY//Tawv/57eD/+/Pr//z28P/89vD//Pbw//PZ
- v//TeRj/3n8Z/+eGGv/uihz/7osc/+6MHP/tjBz/7Y0c/+2NHP/tjhz/7Y4c/+2PHP/skBz/7JAc/+yR
- HP/skRz/7JEc/+ySHP/skhz/65Mc/+uTHP/rkxz/65Qc/+uUHP/rlBz/65Uc/+uVHP/rlRz/65Uc/+qW
- HP/qlhz/6pYd/+qWHf/qlx3/6pcd/+qXHf/qlx3/6pgd/+qYHf/qmB3/6pgd/+qYHf+7m23/pJyU/6Sc
- lP+knJT/o5yU/6SclaoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALOq
- oaqzqqH/s6qh/7Oqof+zqqH/y5Fz//tgGP/7YBj/+2AY//thGP/6Yhj/+mMY//pkGP/5ZRn/+WYZ//ln
- Gf/4aBn/+GkZ//hqGf/3axn/92wZ//dtGf/2bhn/9m8Z//ZwGv/2cRr/9XIa//VyGv/1cxr/9XQa//R1
- Gv/0dhr/9Hca//R3Gv/zeBr/83ka//N6Gv/zexr/8nsa//F8Gv/sehr/6Hka/+Z5Gv/ieBr/3XUZ/9hz
- Gf/Wchj/1HIY/9RzGP/UdBj/1HQY/9R1GP/Tdhj/03YY/9h6Gf/jgBr/64Yb/+6JG//uiRv/7oob/+6K
- HP/uixz/7owc/+2MHP/tjRz/7Y0c/+2OHP/tjhz/7Y8c/+2PHP/skBz/7JAc/+yRHP/skRz/7JEc/+yS
- HP/skhz/7JIc/+uTHP/rkxz/65Mc/+uUHP/rlBz/65Qc/+uUHP/rlRz/65Uc/+uVHP/rlRz/6pYc/+qW
- HP/qlhz/6pYd/+qWHf/qlx3/6pcd/7ubbf+knJT/pJyU/6SclP+knJT/pJyVqgAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs6qhqrOqof+zqqH/s6qh/7Oqof/LkXP/+2AY//tg
- GP/7YBj/+2AY//thGP/6Yhj/+mMY//pkGP/5ZRn/+WYZ//lnGf/4aBn/+GkZ//hqGf/4axn/92wZ//ds
- Gf/3bRn/9m4Z//ZvGf/2cBr/9nEa//VyGv/1cxr/9XMa//V0Gv/0dRr/9HYa//R3Gv/0dxr/83ga//N5
- Gv/zehr/83sa//N7Gv/yfBr/7nsa/+t7Gv/oeRr/5Xka/+V5Gv/keRr/4Xga/+F5Gv/geRn/4HoZ/+B7
- Gv/ifBr/5H4a/+iCGv/vhhv/74cb/++IG//viBv/7okb/+6JG//uihv/7ooc/+6LHP/uixz/7owc/+2M
- HP/tjRz/7Y0c/+2OHP/tjhz/7Y8c/+2PHP/skBz/7JAc/+yRHP/skRz/7JEc/+ySHP/skhz/7JIc/+yS
- HP/rkxz/65Mc/+uTHP/rlBz/65Qc/+uUHP/rlBz/65Qc/+uVHP/rlRz/65Uc/+uVHP/rlRz/u5ts/6Sd
- lP+knJT/pJyU/6SclP+knJWqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AACzqqGqs6qh/7Oqof+zqqH/s6qh/8uRc//7YBj/+2AY//tgGP/7YBj/+2AY//tgGP/7YRj/+mIY//pj
- GP/6ZBj/+WUZ//lmGf/5Zxn/+GgZ//hpGf/4ahn/92sZ//dsGf/3bRn/920Z//ZuGf/2bxn/9nAa//Zx
- Gv/1chr/9XMa//VzGv/1dBr/9HUa//R2Gv/0dxr/9Hca//N4Gv/zeRr/83oa//N6Gv/zexr/8nwa//J9
- Gv/xfRv/730b/+t8Gv/qfBr/6Xwa/+l9Gv/pfRr/6X4a/+qAGv/tgRv/8IQb//CFG//whRv/74Yb/++G
- G//vhxv/74cb/++IG//viRv/7okb/+6KG//uihv/7osc/+6LHP/ujBz/7Ywc/+2NHP/tjRz/7Y0c/+2O
- HP/tjhz/7Y8c/+2PHP/skBz/7JAc/+yQHP/skRz/7JEc/+yRHP/skhz/7JIc/+ySHP/skhz/7JIc/+uT
- HP/rkxz/65Mc/+uTHP/rkxz/65Qc/+uUHP+7mmz/pJ2U/6SdlP+knJT/pJyU/6SclaoAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALOqoaqzqqH/s6qh/7Oqof+zqqH/y5Fz//tg
- GP/7YBj/+2AY//tgGP/7YBj/+2AY//tgGP/7YBj/+2EY//piGP/6Yxj/+mQY//llGf/5Zhn/+WcZ//ho
- Gf/4aRn/+GoZ//drGf/3bBn/920Z//duGf/2bhn/9m8Z//ZwGv/2cRr/9XIa//VzGv/1cxr/9XQa//R1
- Gv/0dhr/9HYa//R3Gv/0eBr/83ka//N5Gv/zehr/83sa//J8Gv/yfBr/8n0a//J+G//yfhv/8X8b//GA
- G//xgBv/8YEb//GCG//wghv/8IMb//CDG//whBv/8IUb//CFG//vhhv/74Yb/++HG//vhxv/74gb/++I
- G//uiRv/7okb/+6KG//uihv/7osc/+6LHP/ujBz/7Ywc/+2NHP/tjRz/7Y0c/+2OHP/tjhz/7Y4c/+2P
- HP/tjxz/7JAc/+yQHP/skBz/7JAc/+yRHP/skRz/7JEc/+yRHP/skhz/7JIc/+ySHP/skhz/7JIc/72a
- bP+knZX/pJ2U/6SdlP+knJT/pJyVqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAs6qhqrOqof+zqqH/s6qh/7Oqof/LkXP/+2AY//tgGP/7YBj/+2AY//tgGP/7YBj/+2AY//tg
- GP/7YBj/+2EY//piGP/6Yxj/+mQY//llGf/5Zhn/+WcZ//hoGf/4aBn/+GkZ//hqGf/3axn/92wZ//dt
- Gf/3bhn/9m4Z//ZvGf/2cBr/9nEa//VyGv/1chr/9XMa//V0Gv/0dRr/9HUa//R2Gv/0dxr/9Hga//N4
- Gv/zeRr/83oa//N7Gv/zexr/8nwa//J9Gv/yfRv/8n4b//J/G//xfxv/8YAb//GAG//xgRv/8YIb//CC
- G//wgxv/8IMb//CEG//whBv/8IUb/++GG//vhhv/74cb/++HG//viBv/74gb/++IG//uiRv/7okb/+6K
- G//uihv/7osc/+6LHP/uixz/7owc/+2MHP/tjRz/7Y0c/+2NHP/tjhz/7Y4c/+2OHP/tjxz/7Y8c/+2P
- HP/sjxz/7JAc/+yQHP/skBz/7JAc/+yRHP/skRz/vZls/6Wdlf+knZT/pJ2U/6SdlP+knJWqAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzqqGqs6qh/7Oqof+zqqH/s6qh/8uR
- c//7YBj/+2AY//tgGP/7YBj/+2AY//tgGP/7YBj/+2AY//tgGP/7YBj/+2AY//thGP/6Yhj/+mMY//pk
- GP/5ZRn/+WYZ//lnGf/4aBn/+GkZ//hpGf/4ahn/92sZ//dsGf/3bRn/924Z//ZuGf/2bxn/9nAa//Zx
- Gv/1chr/9XIa//VzGv/1dBr/9XUa//R1Gv/0dhr/9Hca//R3Gv/zeBr/83ka//N6Gv/zehr/83sa//J8
- Gv/yfBr/8n0a//J9G//yfhv/8n8b//F/G//xgBv/8YAb//GBG//xghv/8IIb//CDG//wgxv/8IQb//CE
- G//whRv/8IUb/++GG//vhhv/74cb/++HG//viBv/74gb/++IG//uiRv/7okb/+6KG//uihv/7ooc/+6L
- HP/uixz/7osc/+6MHP/tjBz/7Ywc/+2NHP/tjRz/7Y0c/+2OHP/tjhz/7Y4c/+2OHP/tjxz/7Y8c/+2P
- HP+9mWz/pZ2V/6Wdlf+knZT/pJ2U/6SclaoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAALOqoaqzqqH/s6qh/7Oqof+zqqH/y5Fz//tgGP/7YBj/+2AY//tgGP/7YBj/+2AY//tg
- GP/7YBj/+2AY//tgGP/7YBj/+2AY//tgGP/7YRj/+mIY//pjGP/6ZBj/+WUZ//lmGf/5Zxn/+GgZ//hp
- Gf/4aRn/+GoZ//drGf/3bBn/920Z//duGf/2bhn/9m8Z//ZwGv/2cRr/9XEa//VyGv/1cxr/9XQa//V0
- Gv/0dRr/9HYa//R2Gv/0dxr/9Hga//N4Gv/zeRr/83oa//N6Gv/zexr/8nwa//J8Gv/yfRr/8n0b//J+
- G//yfxv/8X8b//GAG//xgBv/8YEb//GBG//xghv/8IIb//CDG//wgxv/8IQb//CEG//whRv/8IUb/++G
- G//vhhv/74cb/++HG//vhxv/74gb/++IG//viRv/7okb/+6JG//uihv/7oob/+6KG//uixz/7osc/+6L
- HP/uixz/7owc/+6MHP/tjBz/7Ywc/+2NHP/tjRz/7Y0c/72YbP+lnZX/pZ2V/6Wdlf+knZT/pJ6VqgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs6qhqrOqof+zqqH/s6qh/7Oq
- of/LkXP/+2AY//tgGP/7YBj/+2AY//tgGP/7YBj/+2AY//tgGP/7YBj/+2AY//tgGP/7YBj/+2AY//tg
- GP/7YBj/+2EY//piGP/6Yxj/+mQY//llGf/5Zhn/+WcZ//hoGf/4aRn/+GkZ//hqGf/3axn/92wZ//dt
- Gf/3bRn/9m4Z//ZvGf/2cBr/9nAa//ZxGv/1chr/9XMa//VzGv/1dBr/9HUa//R1Gv/0dhr/9Hca//R3
- Gv/zeBr/83ka//N5Gv/zehr/83sa//N7Gv/yfBr/8nwa//J9Gv/yfRv/8n4b//J/G//xfxv/8YAb//GA
- G//xgRv/8YEb//GCG//wghv/8IMb//CDG//wgxv/8IQb//CEG//whRv/8IUb/++GG//vhhv/74Yb/++H
- G//vhxv/74cb/++IG//viBv/74gb/+6JG//uiRv/7okb/+6KG//uihv/7oob/+6KG//uixz/7osc/+6L
- HP/uixz/vZds/6Wdlf+lnZX/pZ2V/6Sdlf+knpWqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAC0qqCfs6qh/7Oqof+zqqH/s6qh/7Oqof+zqqH/s6qh/7Oqof+zqqH/s6qh/7Oq
- of+yqaD/sqmg/7KpoP+yqaD/sqmg/7KpoP+xqaD/saig/7Gon/+xqJ//saif/7Gon/+wqJ//sKif/7Cn
- n/+wp57/sKee/7Cnnv+wp57/r6ee/6+nnv+vpp7/r6ae/6+mnf+vpp3/rqad/66mnf+upp3/rqWd/66l
- nf+upZz/rqWc/62lnP+tpZz/raWc/62knP+tpJz/raSb/6ykm/+spJv/rKSb/6ykm/+so5v/rKOb/6uj
- m/+ro5r/q6Oa/6ujmv+ro5r/q6Ka/6uimv+qopr/qqKZ/6qimf+qopn/qqKZ/6qimf+poZn/qaGZ/6mh
- mf+poZj/qaGY/6mhmP+poZj/qKCY/6igmP+ooJj/qKCX/6igl/+ooJf/p6CX/6efl/+nn5f/p5+X/6ef
- l/+nn5b/pp+W/6aflv+mnpb/pp6W/6aelv+mnpb/pp6V/6Welf+lnpX/pZ2V/6Wdlf+lnZX/pZ2V/6Se
- lZ0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALSronCzqqH/s6qh/7Oq
- of+zqqH/s6qh/7Oqof+zqqH/s6qh/7Oqof+zqqH/s6qh/7Kqof+yqaD/sqmg/7KpoP+yqaD/sqmg/7Kp
- oP+xqaD/saif/7Gon/+xqJ//saif/7Gon/+wqJ//sKif/7Cnn/+wp57/sKee/7Cnnv+wp57/r6ee/6+n
- nv+vpp7/r6ad/6+mnf+vpp3/rqad/66mnf+upp3/rqWd/66lnf+upZz/raWc/62lnP+tpZz/raWc/62k
- nP+tpJz/raSb/6ykm/+spJv/rKSb/6ykm/+so5v/rKOb/6ujm/+ro5r/q6Oa/6ujmv+ro5r/q6Ka/6ui
- mv+qopr/qqKZ/6qimf+qopn/qqKZ/6qhmf+poZn/qaGZ/6mhmf+poZj/qaGY/6mhmP+ooJj/qKCY/6ig
- mP+ooJj/qKCX/6igl/+ooJf/p6CX/6efl/+nn5f/p5+X/6efl/+nn5b/pp+W/6aflv+mnpb/pp6W/6ae
- lv+mnpb/pp6V/6Welf+lnpX/pZ2V/6Wdlf+lnZX/pp2WbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAArq6iFrOqofGzqqH/s6qh/7Oqof+zqqH/s6qh/7Oqof+zqqH/s6qh/7Oq
- of+zqqH/s6qh/7Kqof+yqaD/sqmg/7KpoP+yqaD/sqmg/7KpoP+xqaD/saif/7Gon/+xqJ//saif/7Go
- n/+wqJ//sKif/7Cnn/+wp57/sKee/7Cnnv+wp57/r6ee/6+nnv+vpp7/r6ad/6+mnf+vpp3/rqad/66m
- nf+upp3/rqWd/66lnf+upZz/raWc/62lnP+tpZz/raWc/62knP+tpJz/raSb/6ykm/+spJv/rKSb/6yk
- m/+so5v/rKOb/6ujm/+ro5r/q6Oa/6ujmv+ro5r/q6Ka/6uimv+qopr/qqKZ/6qimf+qopn/qqKZ/6qh
- mf+poZn/qaGZ/6mhmf+poZj/qaGY/6mhmP+ooJj/qKCY/6igmP+ooJj/qKCX/6igl/+ooJf/p5+X/6ef
- l/+nn5f/p5+X/6efl/+nn5b/pp+W/6aelv+mnpb/pp6W/6aelv+mnpb/pp6V/6Welf+lnpX/pZ2V/6Wd
- le+mmZkUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs6qhVLOq
- ofyzqqH/s6qh/7Oqof+zqqH/s6qh/7Oqof+zqqH/s6qh/7Oqof+zqqH/s6qh/7Kpof+yqaD/sqmg/7Kp
- oP+yqaD/sqmg/7KpoP+xqaD/saif/7Gon/+xqJ//saif/7Gon/+wqJ//sKif/7Cnn/+wp57/sKee/7Cn
- nv+vp57/r6ee/6+nnv+vpp7/r6ad/6+mnf+vpp3/rqad/66mnf+upp3/rqWd/66lnf+upZz/raWc/62l
- nP+tpZz/raWc/62knP+tpJz/raSb/6ykm/+spJv/rKSb/6ykm/+so5v/rKOb/6ujmv+ro5r/q6Oa/6uj
- mv+ro5r/q6Ka/6qimv+qopr/qqKZ/6qimf+qopn/qqKZ/6qhmf+poZn/qaGZ/6mhmP+poZj/qaGY/6mh
- mP+ooJj/qKCY/6igmP+ooJj/qKCX/6igl/+ooJf/p5+X/6efl/+nn5f/p5+X/6eflv+nn5b/pp+W/6ae
- lv+mnpb/pp6W/6aelv+mnpb/pZ6V/6Welf+lnZX8pZuVUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtKmiR7OqodazqqH/s6qh/7Oqof+zqqH/s6qh/7Oq
- of+zqqH/s6qh/7Oqof+zqqH/s6qh/7Kpof+yqaD/sqmg/7KpoP+yqaD/sqmg/7GpoP+xqKD/saif/7Go
- n/+xqJ//saif/7Gon/+wqJ//sKef/7Cnnv+wp57/sKee/7Cnnv+vp57/r6ee/6+nnv+vpp7/r6ad/6+m
- nf+vpp3/rqad/66mnf+upp3/rqWd/66lnP+upZz/raWc/62lnP+tpZz/raWc/62knP+tpJz/rKSb/6yk
- m/+spJv/rKSb/6ykm/+so5v/rKOb/6ujmv+ro5r/q6Oa/6ujmv+ro5r/q6Ka/6qimv+qopr/qqKZ/6qi
- mf+qopn/qqKZ/6qhmf+poZn/qaGZ/6mhmP+poZj/qaGY/6mhmP+ooJj/qKCY/6igmP+ooJj/qKCX/6ig
- l/+noJf/p5+X/6efl/+nn5f/p5+X/6eflv+nn5b/pp+W/6aelv+mnpb/pp6W/6aelv+mnpb/pZ6U1aaf
- lEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAALWqnzCzqaJKtKuiVbSrolW0q6JVtKuiVbSrolW0q6JVtKuiVbSrolW0q6JVtKuiVbGo
- n1WxqJ9VsaifVbGon1WxqJ9VsaifVbGon1WxqJ9VsaifVbGon1WxqJ9VsaifVbGon1WxqJ9VsaifVbGo
- n1WxqJ9VsaifVbGon1WuqJ9VrqifVa6ln1WupZ9VrqWcVa6lnFWupZxVrqWcVa6lnFWupZxVrqWcVa6l
- nFWupZxVrqWcVa6lnFWupZxVrqWcVa6lnFWupZxVq6WcVaulnFWrpZxVq6WcVaulnFWropxVq6KcVaui
- mVWroplVq6KZVauimVWroplVq6KZVauimVWroplVq6KZVauimVWroplVq6KZVaiimVWooplVqKKZVaii
- mVWooplVqKKZVaiimVWon5lVqJ+ZVaifmVWon5lVqJ+WVaifllWon5ZVqJ+WVaifllWon5ZVqJ+WVaif
- llWon5ZVpZ+WVaWfllWln5ZVpZ+YSqidmC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAP//////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////gAAAAAAAH////////////wAAAAAAAA/////////
- ///4AAAAAAAAH///////////+AAAAAAAAB////////////gAAAAAAAAf///////////4AAAAAAAAH///
- ////////+AAAAAAAAB////////////gAAAAAAAAf///////////4AAAAAAAAH////////////AAAAAAA
- AD////////////4AAAAAAAB///////////////gAAB/////////////////4AAAf////////////////
- +AAAH/////////////////gAAB/////////////////4AAAf////////////////+AAAH///////////
- //////gAAB/////////////////4AAAf//////////8AAAAAAAAAAAAAAAD////+AAAAAAAAAAAAAAAA
- f////AAAAAAAAAAAAAAAAD////wAAAAAAAAAAAAAAAA////4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAA
- AAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAA
- AAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAf///4
- AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAA
- H///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAA
- AAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAA
- AAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAf///4
- AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAA
- H///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAA
- AAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAA
- AAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAf///4
- AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAA
- H///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAA
- AAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAA
- AAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAf///4
- AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAA
- H///+AAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAA
- AAAAAB////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAB////gAAAAA
- AAAAAAAAAAAf///8AAAAAAAAAAAAAAAAP////AAAAAAAAAAAAAAAAD////4AAAAAAAAAAAAAAAB/////
- AAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////
-
-
-
\ No newline at end of file
diff --git a/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml b/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml
index f6bc1c5..1bbf15c 100644
--- a/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml
+++ b/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml
@@ -11,10 +11,12 @@
x:Class="ModpackUpdater.Apps.Manager.Ui.MainWindow"
x:DataType="vm:MainWindowViewModel"
Title="Minecraft Modpack Manager"
- Padding="3">
+ Padding="3"
+ Loaded="Window_OnLoaded">
+
-
+ Margin="3"
+ Spacing="6">
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Spacing="6">
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SelectedValue="{Binding UpdateType}"/>
@@ -191,7 +256,7 @@
diff --git a/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml.cs b/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml.cs
index 741d753..aaa49ec 100644
--- a/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml.cs
+++ b/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml.cs
@@ -1,18 +1,152 @@
-using System.Collections.ObjectModel;
-using Avalonia;
using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
+using Avalonia.Interactivity;
+using ModpackUpdater.Apps.Manager.Api;
+using ModpackUpdater.Apps.Manager.Api.Model;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Features;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Params;
+using ModpackUpdater.Apps.Manager.Settings;
using ModpackUpdater.Apps.Manager.Ui.Models;
+using Pilz.Features;
+using Pilz.UI.AvaloniaUI.Features;
+using Pilz.UI.Symbols;
namespace ModpackUpdater.Apps.Manager.Ui;
-public partial class MainWindow : Window
+public partial class MainWindow : Window, IMainApi
{
- private MainWindowViewModel viewModel = new();
+ private WorkspaceFeature? wsFeature;
+
+ public MainWindowViewModel Model { get; } = new();
+ Window IMainApi.MainWindow => this;
+ public IMainApi MainApi => this;
public MainWindow()
{
- DataContext = viewModel;
+ DataContext = Model;
+
InitializeComponent();
+
+ MenuItemWorkspace.Icon = AppGlobals.Symbols.GetImage(AppSymbols.workspace, SymbolSize.Small);
+ MenuItemWorkspacePreferences.Icon = AppGlobals.Symbols.GetImage(AppSymbols.settings, SymbolSize.Small);
+ MenuItemSaveWorkspace.Icon = AppGlobals.Symbols.GetImage(AppSymbols.save, SymbolSize.Small);
+ MenuItemNewWorkspace.Icon = AppGlobals.Symbols.GetImage(AppSymbols.new_window, SymbolSize.Small);
+ MenuItemRecentWorkspaces.Icon = AppGlobals.Symbols.GetImage(AppSymbols.time_machine, SymbolSize.Small);
+ // MenuItemUpdates.Icon = AppGlobals.Symbols.GetImage(AppSymbols.update_done, SymbolSize.Small);
+ MenuItemCreateUpdate.Icon = AppGlobals.Symbols.GetImage(AppSymbols.add, SymbolSize.Small);
+ MenuItemRemoveUpdate.Icon = AppGlobals.Symbols.GetImage(AppSymbols.remove, SymbolSize.Small);
+ MenuItemTools.Icon = AppGlobals.Symbols.GetImage(AppSymbols.tools, SymbolSize.Small);
+
+ PluginFeatureController.Instance.Features.Get(FeatureTypes.Workspace).InsertItemsTo(MenuItemNewWorkspace.Items,
+ customClickHandler: MenuItemNewWorkspaceItem_Click,
+ insertPrioSplitters: true);
+ PluginFeatureController.Instance.Functions.Get(FeatureTypes.Tools).InsertItemsTo(MenuItemTools.Items,
+ customClickHandler: MenuItemToolsItem_Click,
+ insertPrioSplitters: true);
+ }
+
+ private async Task LoadNewWorkspace(IWorkspace? workspace, WorkspaceFeature feature)
+ {
+ if (workspace is null)
+ return;
+
+ if (!await workspace.Load())
+ {
+ // Error
+ return;
+ }
+
+ if (workspace != Model.CurrentWorkspace)
+ {
+ wsFeature = feature;
+ Model.CurrentWorkspace = workspace;
+ }
+
+ AddToRecentFiles(workspace);
+ LoadRecentWorkspaces();
+ }
+
+ private void LoadRecentWorkspaces()
+ {
+ var settings = Program.Settings.Get();
+ MenuItemRecentWorkspaces.Items.Clear();
+
+ settings.Workspaces.ForEach(config =>
+ {
+ if (PluginFeatureController.Instance.Features.Get(FeatureTypes.Workspace).OfType().FirstOrDefault(n => n.Identifier == config.ProviderId) is not WorkspaceFeature feature)
+ return;
+
+ var item = new MenuItem
+ {
+ Header = config.DisplayText,
+ Icon = feature.Icon,
+ DataContext = new MainWindowRecentFilesItem(config, feature),
+ };
+ item.Click += MenuItemRecentWorkspaceItem_Click;
+ MenuItemRecentWorkspaces.Items.Add(item);
+ });
+ }
+
+ private static void AddToRecentFiles(IWorkspace workspace)
+ {
+ var settings = Program.Settings.Get();
+
+ settings.Workspaces.Remove(workspace.Config);
+ settings.Workspaces.Insert(0, workspace.Config);
+
+ while (settings.Workspaces.Count > 20)
+ settings.Workspaces.RemoveAt(20);
+ }
+
+ private void Window_OnLoaded(object? sender, RoutedEventArgs e)
+ {
+ LoadRecentWorkspaces();
+ }
+
+ private async void MenuItemNewWorkspaceItem_Click(object? sender, RoutedEventArgs e)
+ {
+ if (sender is not MenuItem item || item.Tag is not WorkspaceFeature feature)
+ return;
+
+ var context = new WorkspaceContext(MainApi, null);
+ await feature.Configure(context);
+ if (context.Workspace != null)
+ await LoadNewWorkspace(context.Workspace, feature);
+ }
+
+ private async void MenuItemRecentWorkspaceItem_Click(object? sender, RoutedEventArgs e)
+ {
+ if (sender is MenuItem item && item.DataContext is MainWindowRecentFilesItem tag && tag.Feature.CreateFromConfig(tag.Config) is IWorkspace workspace)
+ await LoadNewWorkspace(workspace, tag.Feature);
+ }
+
+ private void MenuItemToolsItem_Click(object? sender, RoutedEventArgs e)
+ {
+ if (sender is MenuItem item && item.Tag is PluginFunction func)
+ func.Execute(new MainApiParameters(this));
+ }
+
+ private void MenuItemCreateUpdate_OnClick(object? sender, RoutedEventArgs e)
+ {
+ // ...
+ }
+
+ private void MenuItemRemoveUpdate_OnClick(object? sender, RoutedEventArgs e)
+ {
+ // ...
+ }
+
+ private void MenuItemEditUpdate_OnClick(object? sender, RoutedEventArgs e)
+ {
+ // ...
+ }
+
+ private void MenuItemAddAction_OnClick(object? sender, RoutedEventArgs e)
+ {
+ // ...
+ }
+
+ private void MenuItemRemoveAction_OnClick(object? sender, RoutedEventArgs e)
+ {
+ // ...
}
}
\ No newline at end of file
diff --git a/ModpackUpdater.Apps.Manager/Ui/Models/InstallActionViewModel.cs b/ModpackUpdater.Apps.Manager/Ui/Models/InstallActionViewModel.cs
deleted file mode 100644
index 990e31f..0000000
--- a/ModpackUpdater.Apps.Manager/Ui/Models/InstallActionViewModel.cs
+++ /dev/null
@@ -1,176 +0,0 @@
-using System.ComponentModel;
-using System.Runtime.CompilerServices;
-
-namespace ModpackUpdater.Apps.Manager.Ui.Models;
-
-public class InstallActionViewModel(InstallAction action, IActionSet baseActions) : INotifyPropertyChanged
-{
- #region Implementation of INotifyPropertyChanged
-
- public event PropertyChangedEventHandler? PropertyChanged;
-
- protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
- }
-
- #endregion Implementation of INotifyPropertyChanged
-
- public static Dictionary SourceTypes { get; } = Enum.GetValues().ToDictionary(n => n, n => Enum.GetName(n)!);
- public static Dictionary Sides { get; } = Enum.GetValues().ToDictionary(n => n, n => Enum.GetName(n)!);
- public static Dictionary UpdateActionTypes { get; } = Enum.GetValues().ToDictionary(n => n, n => Enum.GetName(n)!);
-
- public InstallAction Action => action;
- private InstallAction? Base => action is UpdateAction ua ? baseActions.Actions.FirstOrDefault(n => n.Id == ua.InheritFrom) : null;
- private InstallAction Inherited => Base ?? action;
-
- public bool IsUpdate => action is UpdateAction;
-
- public string InheritedId => action is UpdateAction ua && !string.IsNullOrWhiteSpace(ua.InheritFrom) ? ua.InheritFrom : action.Id;
- public string InheritedSide => Sides[Inherited.Side];
- public string InheritedUpdateType => action is UpdateAction ua ? UpdateActionTypes[ua.Type] : string.Empty;
- public string InheritedSourceType => SourceTypes[Inherited.SourceType];
- public string InheritedDestPath => Inherited.DestPath;
-
- public string Id
- {
- get => action.Id;
- set
- {
- action.Id = value;
- OnPropertyChanged(nameof(InheritedId));
- }
- }
-
- public string Name
- {
- get => action.Name;
- set => action.Name = value;
- }
-
- public string Website
- {
- get => action.Website;
- set => action.Website = value;
- }
-
- public bool IsZip
- {
- get => action.IsZip;
- set => action.IsZip = value;
- }
-
- public string ZipPath
- {
- get => action.ZipPath;
- set => action.ZipPath = value;
- }
-
- public string DestPath
- {
- get => action.DestPath;
- set
- {
- action.DestPath = value;
- OnPropertyChanged(nameof(InheritedDestPath));
- }
- }
-
- public string SourceUrl
- {
- get => action.SourceUrl;
- set => action.SourceUrl = value;
- }
-
- public SourceType SourceType
- {
- get => action.SourceType;
- set
- {
- action.SourceType = value;
- OnPropertyChanged(nameof(InheritedSourceType));
- }
- }
-
- public string SourceOwner
- {
- get => action.SourceOwner;
- set => action.SourceOwner = value;
- }
-
- public string SourceName
- {
- get => action.SourceName;
- set => action.SourceName = value;
- }
-
- public string SourceRegex
- {
- get => action.SourceRegex;
- set => action.SourceRegex = value;
- }
-
- public string SourceTag
- {
- get => action.SourceTag;
- set => action.SourceTag = value;
- }
-
- public Side Side
- {
- get => action.Side;
- set
- {
- action.Side = value;
- OnPropertyChanged(nameof(InheritedSide));
- }
- }
-
- public bool IsExtra
- {
- get => action.IsExtra;
- set => action.IsExtra = value;
- }
-
- public UpdateActionType Type
- {
- get => action is UpdateAction ua ? ua.Type : default;
- set
- {
- if (action is UpdateAction ua)
- ua.Type = value;
- }
- }
-
- public string SrcPath
- {
- get => action is UpdateAction ua ? ua.SrcPath : string.Empty;
- set
- {
- if (action is UpdateAction ua)
- ua.SrcPath = value;
- }
- }
-
- public bool IsDirectory
- {
- get => action is UpdateAction ua && ua.IsDirectory;
- set
- {
- if (action is UpdateAction ua)
- ua.IsDirectory = value;
- }
- }
-
- public string InheritFrom
- {
- get => action is UpdateAction ua ? ua.InheritFrom : string.Empty;
- set
- {
- if (action is UpdateAction ua)
- ua.InheritFrom = value;
- OnPropertyChanged();
- OnPropertyChanged(nameof(InheritedId));
- }
- }
-}
\ No newline at end of file
diff --git a/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowGridRow.cs b/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowGridRow.cs
new file mode 100644
index 0000000..62c17dd
--- /dev/null
+++ b/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowGridRow.cs
@@ -0,0 +1,232 @@
+using System.ComponentModel;
+using ModpackUpdater.Apps.Manager.Utils;
+using PropertyChanged;
+
+namespace ModpackUpdater.Apps.Manager.Ui.Models;
+
+public class MainWindowGridRow : INotifyPropertyChanged
+{
+ public event PropertyChangedEventHandler? PropertyChanged;
+
+ private string? actionId;
+ private string? actionName;
+ private string? actionWebsite;
+ private string? actionZipPath;
+ private string? actionDestPath;
+ private string? actionSourceUrl;
+ private string? actionSourceOwner;
+ private string? actionSourceName;
+ private string? actionSourceRegEx;
+ private string? actionSourceTag;
+ private string? actionSrcPath;
+ private string? actionInheritFrom;
+ private readonly InstallAction action;
+ private readonly IActionSet baseActions;
+
+ public static Dictionary SourceTypes { get; } = Enum.GetValues().ToDictionary(n => n, n => Enum.GetName(n)!);
+ public static Dictionary Sides { get; } = Enum.GetValues().ToDictionary(n => n, n => Enum.GetName(n)!);
+ public static Dictionary UpdateActionTypes { get; } = Enum.GetValues().ToDictionary(n => n, n => Enum.GetName(n)!);
+
+ public InstallAction Action => action;
+ private InstallAction? Base => action is UpdateAction ua ? baseActions.Actions.FirstOrDefault(n => n.Id == actionInheritFrom) : null;
+ private InstallAction Inherited => Base ?? action;
+
+ public bool IsUpdate => action is UpdateAction;
+ public bool? IsValid { get; set; } = null;
+
+ [DependsOn(nameof(Id), nameof(InheritFrom))]
+ public string? InheritedId => action is UpdateAction ua && !string.IsNullOrWhiteSpace(actionInheritFrom) ? actionInheritFrom : actionId;
+ [DependsOn(nameof(Side), nameof(InheritedId), nameof(Id))]
+ public string InheritedSide => Sides[Inherited.Side];
+ [DependsOn(nameof(UpdateType), nameof(InheritedId), nameof(Id))]
+ public string InheritedUpdateType => action is UpdateAction ua ? UpdateActionTypes[ua.Type] : string.Empty;
+ [DependsOn(nameof(SourceType), nameof(InheritedId), nameof(Id))]
+ public string InheritedSourceType => SourceTypes[Inherited.SourceType];
+ [DependsOn(nameof(DestPath), nameof(InheritedId), nameof(Id))]
+ public string? InheritedDestPath => Base != null ? Base.DestPath : actionDestPath;
+
+ public MainWindowGridRow(InstallAction action, IActionSet baseActions)
+ {
+ this.action = action;
+ this.baseActions = baseActions;
+ Invalidate();
+ }
+
+ public void Invalidate()
+ {
+ actionId = action.Id;
+ actionName = action.Name;
+ actionWebsite = action.Website;
+ actionZipPath = action.ZipPath;
+ actionDestPath = action.DestPath;
+ actionSourceUrl = action.SourceUrl;
+ actionSourceOwner = action.SourceOwner;
+ actionSourceName = action.SourceName;
+ actionSourceRegEx = action.SourceRegex;
+ actionSourceTag = action.SourceTag;
+ actionSrcPath = (action as UpdateAction)?.SrcPath;
+ actionInheritFrom = (action as UpdateAction)?.InheritFrom;
+ }
+
+ public string? Id
+ {
+ get => action.Id;
+ set => action.Id = (actionId = value)?.Trim().Nullify();
+ }
+
+ public string? Name
+ {
+ get => actionName;
+ set
+ {
+ actionName = value;
+ action.Name = value?.Trim().Nullify();
+ }
+ }
+
+ public string? Website
+ {
+ get => actionWebsite;
+ set
+ {
+ actionWebsite = value;
+ action.Website = value?.Trim().Nullify();
+ }
+ }
+
+ public bool IsZip
+ {
+ get => action.IsZip;
+ set => action.IsZip = value;
+ }
+
+ public string? ZipPath
+ {
+ get => actionZipPath;
+ set
+ {
+ actionZipPath = value;
+ action.ZipPath = value?.Trim().Nullify();
+ }
+ }
+
+ public string? DestPath
+ {
+ get => actionDestPath;
+ set
+ {
+ actionDestPath = value;
+ action.DestPath = value?.Trim().Nullify();
+ }
+ }
+
+ public string? SourceUrl
+ {
+ get => actionSourceUrl;
+ set
+ {
+ actionSourceUrl = value;
+ action.SourceUrl = value?.Trim().Nullify();
+ }
+ }
+
+ public SourceType SourceType
+ {
+ get => action.SourceType;
+ set => action.SourceType = value;
+ }
+
+ public string? SourceOwner
+ {
+ get => actionSourceOwner;
+ set
+ {
+ actionSourceOwner = value;
+ action.SourceOwner = value?.Trim().Nullify();
+ }
+ }
+
+ public string? SourceName
+ {
+ get => actionSourceName;
+ set
+ {
+ actionSourceName = value;
+ action.SourceName = value?.Trim().Nullify();
+ }
+ }
+
+ public string? SourceRegex
+ {
+ get => actionSourceRegEx;
+ set
+ {
+ actionSourceRegEx = value;
+ action.SourceRegex = value?.Trim().Nullify();
+ }
+ }
+
+ public string? SourceTag
+ {
+ get => actionSourceTag;
+ set
+ {
+ actionSourceTag = value;
+ action.SourceTag = value?.Trim().Nullify();
+ }
+ }
+
+ public Side Side
+ {
+ get => action.Side;
+ set => action.Side = value;
+ }
+
+ public bool IsExtra
+ {
+ get => action.IsExtra;
+ set => action.IsExtra = value;
+ }
+
+ public UpdateActionType UpdateType
+ {
+ get => action is UpdateAction ua ? ua.Type : default;
+ set
+ {
+ if (action is UpdateAction ua)
+ ua.Type = value;
+ }
+ }
+
+ public string? SrcPath
+ {
+ get => actionSrcPath;
+ set
+ {
+ actionSrcPath = value;
+ if (action is UpdateAction ua)
+ ua.SrcPath = value?.Trim().Nullify();
+ }
+ }
+
+ public bool IsDirectory
+ {
+ get => action is UpdateAction ua && ua.IsDirectory;
+ set
+ {
+ if (action is UpdateAction ua)
+ ua.IsDirectory = value;
+ }
+ }
+
+ public string? InheritFrom
+ {
+ get => actionInheritFrom;
+ set
+ {
+ actionInheritFrom = value;
+ if (action is UpdateAction ua)
+ ua.InheritFrom = value?.Trim().Nullify();
+ }
+ }
+}
\ No newline at end of file
diff --git a/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowRecentFilesItem.cs b/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowRecentFilesItem.cs
new file mode 100644
index 0000000..064ef7d
--- /dev/null
+++ b/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowRecentFilesItem.cs
@@ -0,0 +1,6 @@
+using ModpackUpdater.Apps.Manager.Api.Model;
+using ModpackUpdater.Apps.Manager.Api.Plugins.Features;
+
+namespace ModpackUpdater.Apps.Manager.Ui.Models;
+
+public record class MainWindowRecentFilesItem(WorkspaceConfig Config, WorkspaceFeature Feature);
\ No newline at end of file
diff --git a/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowTreeNode.cs b/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowTreeNode.cs
new file mode 100644
index 0000000..f2d5c8e
--- /dev/null
+++ b/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowTreeNode.cs
@@ -0,0 +1,57 @@
+using System.Collections.ObjectModel;
+using System.ComponentModel;
+using System.Runtime.CompilerServices;
+using Avalonia.Media;
+using PropertyChanged;
+
+namespace ModpackUpdater.Apps.Manager.Ui.Models;
+
+public abstract class MainWindowTreeNode : INotifyPropertyChanged
+{
+ public event PropertyChangedEventHandler? PropertyChanged;
+
+ public abstract string DisplayText { get; }
+ public virtual IImage? Image { get; set; }
+ public ObservableCollection Nodes { get; init; } = [];
+
+ protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
+ {
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ }
+
+ protected bool SetField(ref T field, T value, [CallerMemberName] string? propertyName = null)
+ {
+ if (EqualityComparer.Default.Equals(field, value)) return false;
+ field = value;
+ OnPropertyChanged(propertyName);
+ return true;
+ }
+}
+
+public class SimpleMainWindowTreeNode(string text) : MainWindowTreeNode
+{
+ public override string DisplayText => text;
+}
+
+public class ActionSetTreeNode(IActionSetInfos infos) : MainWindowTreeNode
+{
+ private string editVersion = infos.Version.ToString();
+
+ public override string DisplayText => infos.Version.ToString();
+ public IActionSetInfos Infos => infos;
+ public override IImage? Image => AppGlobals.Symbols.GetImageSource(infos.IsPublic ? AppSymbols.eye : AppSymbols.invisible);
+
+ [AlsoNotifyFor(nameof(DisplayText))]
+ public string Version
+ {
+ get => editVersion;
+ set => infos.Version = System.Version.TryParse(editVersion = value, out var v) ? v : new();
+ }
+
+ [AlsoNotifyFor(nameof(Image))]
+ public bool IsPublic
+ {
+ get => infos.IsPublic;
+ set => infos.IsPublic = value;
+ }
+}
\ No newline at end of file
diff --git a/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowViewModel.cs b/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowViewModel.cs
index 5f60ae2..367be8e 100644
--- a/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowViewModel.cs
+++ b/ModpackUpdater.Apps.Manager/Ui/Models/MainWindowViewModel.cs
@@ -1,24 +1,72 @@
+using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Runtime.CompilerServices;
+using Avalonia.Controls;
+using ModpackUpdater.Apps.Manager.Api.Model;
+using PropertyChanged;
namespace ModpackUpdater.Apps.Manager.Ui.Models;
public class MainWindowViewModel : INotifyPropertyChanged
{
- #region Implementation of INotifyPropertyChanged
-
public event PropertyChangedEventHandler? PropertyChanged;
-
- protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null)
- {
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
- }
-
- #endregion Implementation of INotifyPropertyChanged
-
- public bool IsUpdate { get; set; }
- public List Actions { get; } = [];
-
- public InstallActionViewModel? SelectedAction { get; set; }
+ private ObservableCollection? currentTreeNodes;
+ private ObservableCollection? currentGridRows;
+ private MainWindowTreeNode? selectedTreeNode;
+ private IWorkspace? currentWorkspace;
+
+ public bool IsUpdate => selectedTreeNode is ActionSetTreeNode node && node.Infos is UpdateInfo;
+
+ public MainWindowGridRow? SelectedGridRow { get; set; }
+
+ [AlsoNotifyFor(nameof(CurrentTreeNodes))]
+ public IWorkspace? CurrentWorkspace
+ {
+ get => currentWorkspace;
+ set
+ {
+ currentWorkspace = value;
+ currentTreeNodes = null;
+ }
+ }
+
+ public ObservableCollection? CurrentTreeNodes
+ {
+ get
+ {
+ if (currentTreeNodes == null && currentWorkspace?.InstallInfos != null && currentWorkspace?.UpdateInfos != null)
+ currentTreeNodes =
+ [
+ new ActionSetTreeNode(currentWorkspace.InstallInfos),
+ new SimpleMainWindowTreeNode("Updates")
+ {
+ Image = AppGlobals.Symbols.GetImageSource(AppSymbols.update_done),
+ Nodes = [.. currentWorkspace.UpdateInfos.Updates.Select(n => new ActionSetTreeNode(n))],
+ },
+ ];
+ return currentTreeNodes;
+ }
+ }
+
+ [AlsoNotifyFor(nameof(CurrentGridRows))]
+ public MainWindowTreeNode? SelectedTreeNode
+ {
+ get => selectedTreeNode;
+ set
+ {
+ selectedTreeNode = value;
+ currentGridRows = null;
+ }
+ }
+
+ public ObservableCollection? CurrentGridRows
+ {
+ get
+ {
+ if (currentGridRows == null && CurrentWorkspace?.InstallInfos != null && selectedTreeNode is ActionSetTreeNode node)
+ currentGridRows = [.. node.Infos.Actions.Select(n => new MainWindowGridRow(n, CurrentWorkspace.InstallInfos))];
+ return currentGridRows;
+ }
+ }
}
\ No newline at end of file
diff --git a/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorView.axaml.cs b/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorView.axaml.cs
index 2aeea13..fbd6cd9 100644
--- a/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorView.axaml.cs
+++ b/ModpackUpdater.Apps.Manager/Ui/UpdatesCollectorView.axaml.cs
@@ -33,7 +33,7 @@ public partial class UpdatesCollectorView : AvaloniaFlyoutBase
{
this.workspace = workspace;
this.actions = actions;
-
+
InitializeComponent();
}
diff --git a/ModpackUpdater.Apps.Manager/DictionaryValueConverter.cs b/ModpackUpdater.Apps.Manager/Utils/DictionaryValueConverter.cs
similarity index 92%
rename from ModpackUpdater.Apps.Manager/DictionaryValueConverter.cs
rename to ModpackUpdater.Apps.Manager/Utils/DictionaryValueConverter.cs
index d28b673..86fe25f 100644
--- a/ModpackUpdater.Apps.Manager/DictionaryValueConverter.cs
+++ b/ModpackUpdater.Apps.Manager/Utils/DictionaryValueConverter.cs
@@ -2,7 +2,7 @@ using System.Collections;
using System.Globalization;
using Avalonia.Data.Converters;
-namespace ModpackUpdater.Apps.Manager;
+namespace ModpackUpdater.Apps.Manager.Utils;
public class DictionaryValueConverter : IValueConverter
{
diff --git a/ModpackUpdater.Apps.Manager/Utils/Extensions.cs b/ModpackUpdater.Apps.Manager/Utils/Extensions.cs
new file mode 100644
index 0000000..89e9860
--- /dev/null
+++ b/ModpackUpdater.Apps.Manager/Utils/Extensions.cs
@@ -0,0 +1,9 @@
+namespace ModpackUpdater.Apps.Manager.Utils;
+
+internal static class Extensions
+{
+ public static string? Nullify(this string? @this)
+ {
+ return string.IsNullOrEmpty(@this) ? null : @this;
+ }
+}
diff --git a/ModpackUpdater.Apps.Manager/Utils/MyFilePickerFileTypes.cs b/ModpackUpdater.Apps.Manager/Utils/MyFilePickerFileTypes.cs
new file mode 100644
index 0000000..81c2927
--- /dev/null
+++ b/ModpackUpdater.Apps.Manager/Utils/MyFilePickerFileTypes.cs
@@ -0,0 +1,12 @@
+using Avalonia.Platform.Storage;
+
+namespace ModpackUpdater.Apps.Manager.Utils;
+
+public class MyFilePickerFileTypes
+{
+ public static FilePickerFileType Excel { get; } = new("Excel")
+ {
+ Patterns = ["*.xlsx"],
+ MimeTypes = ["application/vnd.ms-excel"]
+ };
+}
\ No newline at end of file
diff --git a/ModpackUpdater/InstallAction.cs b/ModpackUpdater/InstallAction.cs
index 9aaabad..1e21d01 100644
--- a/ModpackUpdater/InstallAction.cs
+++ b/ModpackUpdater/InstallAction.cs
@@ -8,41 +8,41 @@ namespace ModpackUpdater;
public class InstallAction
{
[DefaultValue(null)]
- public string Id { get; set; }
+ public string? Id { get; set; }
[DefaultValue(null)]
- public string Name { get; set; }
+ public string? Name { get; set; }
[DefaultValue(null)]
- public string Website { get; set; }
+ public string? Website { get; set; }
[DefaultValue(false)]
public bool IsZip { get; set; }
[DefaultValue(null)]
- public string ZipPath { get; set; }
+ public string? ZipPath { get; set; }
[DefaultValue(null)]
- public string DestPath { get; set; }
+ public string? DestPath { get; set; }
[DefaultValue(null)]
- public string SourceUrl { get; set; }
+ public string? SourceUrl { get; set; }
[DefaultValue(SourceType.DirectLink)]
[JsonConverter(typeof(StringEnumConverter))]
public SourceType SourceType { get; set; }
[DefaultValue(null)]
- public string SourceOwner { get; set; }
+ public string? SourceOwner { get; set; }
[DefaultValue(null)]
- public string SourceName { get; set; }
+ public string? SourceName { get; set; }
[DefaultValue(null)]
- public string SourceRegex { get; set; }
+ public string? SourceRegex { get; set; }
[DefaultValue(null)]
- public string SourceTag { get; set; }
+ public string? SourceTag { get; set; }
[DefaultValue(Side.Both)]
[JsonConverter(typeof(StringEnumConverter))]
@@ -52,7 +52,7 @@ public class InstallAction
public bool IsExtra { get; set; }
[DefaultValue(null)]
- public string TargetOption { get; set; }
+ public string? TargetOption { get; set; }
[JsonProperty, Obsolete]
private string DownloadUrl
diff --git a/ModpackUpdater/UpdateAction.cs b/ModpackUpdater/UpdateAction.cs
index 6fcded9..922689a 100644
--- a/ModpackUpdater/UpdateAction.cs
+++ b/ModpackUpdater/UpdateAction.cs
@@ -11,11 +11,11 @@ public class UpdateAction : InstallAction
public UpdateActionType Type { get; set; } = UpdateActionType.Update;
[DefaultValue(null)]
- public string SrcPath { get; set; }
+ public string? SrcPath { get; set; }
[DefaultValue(false)]
public bool IsDirectory { get; set; }
[DefaultValue(null)]
- public string InheritFrom { get; set; }
+ public string? InheritFrom { get; set; }
}
\ No newline at end of file