From ce5be30f1d80bdcd39cf087488bda5ca0d3abb06 Mon Sep 17 00:00:00 2001
From: Myssal <143514975+myssal@users.noreply.github.com>
Date: Sun, 27 Apr 2025 21:01:54 +0700
Subject: [PATCH] feat: localize model parameters
---
SpineViewer/Controls/SkelFileListBox.cs | 10 +-
SpineViewer/Controls/SkelFileListBox.en.resx | 79 ++--
SpineViewer/Controls/SpineListView.en.resx | 151 +++++--
SpineViewer/Controls/SpinePreviewPanel.cs | 68 ++--
.../Controls/SpinePreviewPanel.en-US.resx | 120 ++++++
SpineViewer/Controls/SpinePreviewPanel.resx | 385 +++++++++---------
.../Controls/SpineViewPropertyGrid.en.resx | 96 +++--
SpineViewer/Forms/SpineViewerForm.cs | 1 +
SpineViewer/Program.cs | 9 +-
SpineViewer/Properties/Resources.Designer.cs | 153 +++++++
SpineViewer/Properties/Resources.en-US.resx | 52 +++
SpineViewer/Properties/Resources.resx | 51 +++
SpineViewer/SpineViewer.csproj | 3 +
13 files changed, 850 insertions(+), 328 deletions(-)
create mode 100644 SpineViewer/Controls/SpinePreviewPanel.en-US.resx
diff --git a/SpineViewer/Controls/SkelFileListBox.cs b/SpineViewer/Controls/SkelFileListBox.cs
index a5a1f14..56f4324 100644
--- a/SpineViewer/Controls/SkelFileListBox.cs
+++ b/SpineViewer/Controls/SkelFileListBox.cs
@@ -64,7 +64,7 @@ namespace SpineViewer.Controls
}
}
- label_Tip.Text = $"已选择 {listBox.Items.Count} 个文件";
+ label_Tip.Text = $"{Properties.Resources.itemCountPrefix}{listBox.Items.Count}{Properties.Resources.itemCountSuffix}";
}
private void button_AddFile_Click(object sender, EventArgs e)
@@ -75,7 +75,7 @@ namespace SpineViewer.Controls
foreach (var p in openFileDialog_Skel.FileNames)
listBox.Items.Add(Path.GetFullPath(p));
- label_Tip.Text = $"已选择 {listBox.Items.Count} 个文件";
+ label_Tip.Text = $"{Properties.Resources.itemCountPrefix}{listBox.Items.Count}{Properties.Resources.itemCountSuffix}";
}
private void listBox_DragEnter(object sender, DragEventArgs e)
@@ -92,7 +92,7 @@ namespace SpineViewer.Controls
return;
AddFromFileDrop((string[])e.Data.GetData(DataFormats.FileDrop));
- label_Tip.Text = $"已选择 {listBox.Items.Count} 个文件";
+ label_Tip.Text = $"{Properties.Resources.itemCountPrefix}{listBox.Items.Count}{Properties.Resources.itemCountSuffix}";
}
private void toolStripMenuItem_SelectAll_Click(object sender, EventArgs e)
@@ -110,7 +110,7 @@ namespace SpineViewer.Controls
var paths = new string[fileDropList.Count];
fileDropList.CopyTo(paths, 0);
AddFromFileDrop(paths);
- label_Tip.Text = $"已选择 {listBox.Items.Count} 个文件";
+ label_Tip.Text = $"{Properties.Resources.itemCountPrefix}{listBox.Items.Count}{Properties.Resources.itemCountSuffix}";
}
private void toolStripMenuItem_Remove_Click(object sender, EventArgs e)
@@ -119,7 +119,7 @@ namespace SpineViewer.Controls
listBox.SelectedIndices.CopyTo(indices, 0);
for (int i = indices.Length - 1; i >= 0; i--)
listBox.Items.RemoveAt(indices[i]);
- label_Tip.Text = $"已选择 {listBox.Items.Count} 个文件";
+ label_Tip.Text = $"{Properties.Resources.itemCountPrefix}{listBox.Items.Count}{Properties.Resources.itemCountSuffix}";
}
}
}
diff --git a/SpineViewer/Controls/SkelFileListBox.en.resx b/SpineViewer/Controls/SkelFileListBox.en.resx
index 3a6fb61..fbc2921 100644
--- a/SpineViewer/Controls/SkelFileListBox.en.resx
+++ b/SpineViewer/Controls/SkelFileListBox.en.resx
@@ -1,17 +1,17 @@
-
@@ -142,4 +142,29 @@
0 file added.
+
+
+
+
+
+
+
+
+ Select all
+
+
+ Paste
+
+
+ Remove
+
+
+
+
+
+ All files (*.*)|*.*|Skel files (*.skel; *.json)|*.skel;*.json
+
+
+ Select .skel files
+
\ No newline at end of file
diff --git a/SpineViewer/Controls/SpineListView.en.resx b/SpineViewer/Controls/SpineListView.en.resx
index 79fdd94..fe000ab 100644
--- a/SpineViewer/Controls/SpineListView.en.resx
+++ b/SpineViewer/Controls/SpineListView.en.resx
@@ -1,17 +1,17 @@
-
@@ -117,11 +117,102 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 206, 20
+
+
+
+
+
+
+
+
+ Switch view
+
+
+ Stick to top
+
+
+
+
+
+
+
+
+ Remove
+
+
+
+
+
+ Copy preview
+
+
+
+
+
+ Large icon
+
+
+
+
+
+ Up
+
+
+
+
+
+ More info
+
+
+
+
+
+ Bottom
0 items selected, 0 items total
+
+ Select all
+
+
+ Add to clipboard
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Bulk add...
+
+
+ Remove all
+
+
+ Add to...
+
+
+ List
+
+
+
+ 206, 20
+
+
+ Insert...
+
+
+
+
+
+ Down
+
\ No newline at end of file
diff --git a/SpineViewer/Controls/SpinePreviewPanel.cs b/SpineViewer/Controls/SpinePreviewPanel.cs
index 8d7107a..bdb9eba 100644
--- a/SpineViewer/Controls/SpinePreviewPanel.cs
+++ b/SpineViewer/Controls/SpinePreviewPanel.cs
@@ -12,6 +12,9 @@ using System.Diagnostics;
using NLog;
using SpineViewer.Utils;
using System.Drawing.Design;
+using System.Reflection;
+using System.Resources;
+using SpineViewer.Utils.Localize;
namespace SpineViewer.Controls
{
@@ -30,15 +33,17 @@ namespace SpineViewer.Controls
///
/// 要绑定的 Spine 列表控件
///
- [Category("自定义"), Description("相关联的 SpineListView")]
+ [LocalizedCategory(typeof(Properties.Resources), "categoryCustom")]
+ [LocalizedDescription(typeof(Properties.Resources), "descAssociatedSpineListView")]
public SpineListView? SpineListView { get; set; }
- ///
- /// 属性信息面板
- ///
- [Category("自定义"), Description("用于显示画面属性的属性页")]
- public PropertyGrid? PropertyGrid
- {
+ ///
+ /// 属性信息面板
+ ///
+ [LocalizedCategory(typeof(Properties.Resources), "categoryCustom")]
+ [LocalizedDescription(typeof(Properties.Resources), "descDisplayImageProperties")]
+ public PropertyGrid? PropertyGrid
+ {
get => propertyGrid;
set
{
@@ -507,6 +512,7 @@ namespace SpineViewer.Controls
private void panel_RenderContainer_SizeChanged(object sender, EventArgs e)
{
+
if (renderWindow is null) return;
float parentW = panel_Render.Parent.Width;
@@ -785,37 +791,47 @@ namespace SpineViewer.Controls
[RefreshProperties(RefreshProperties.All)]
[TypeConverter(typeof(ResolutionConverter))]
- [Category("[0] 导出"), DisplayName("分辨率")]
+ [LocalizedCategory(typeof(Properties.Resources), "categoryCustom")]
+ [LocalizedDisplayName(typeof(Properties.Resources), "displayResolution")]
public Size Resolution { get => PreviewPanel.Resolution; set => PreviewPanel.Resolution = value; }
[TypeConverter(typeof(PointFConverter))]
- [Category("[0] 导出"), DisplayName("画面中心点")]
- public PointF Center { get => PreviewPanel.Center; set => PreviewPanel.Center = value; }
+ [LocalizedCategory(typeof(Properties.Resources), "categoryCustom")]
+ [LocalizedDisplayName(typeof(Properties.Resources), "displayCenter")]
+ public PointF Center { get => PreviewPanel.Center; set => PreviewPanel.Center = value; }
- [Category("[0] 导出"), DisplayName("缩放")]
- public float Zoom { get => PreviewPanel.Zoom; set => PreviewPanel.Zoom = value; }
+ [LocalizedCategory(typeof(Properties.Resources), "categoryCustom")]
+ [LocalizedDisplayName(typeof(Properties.Resources), "displayZoom")]
+ public float Zoom { get => PreviewPanel.Zoom; set => PreviewPanel.Zoom = value; }
- [Category("[0] 导出"), DisplayName("旋转")]
- public float Rotation { get => PreviewPanel.Rotation; set => PreviewPanel.Rotation = value; }
+ [LocalizedCategory(typeof(Properties.Resources), "categoryCustom")]
+ [LocalizedDisplayName(typeof(Properties.Resources), "displayRotation")]
+ public float Rotation { get => PreviewPanel.Rotation; set => PreviewPanel.Rotation = value; }
- [Category("[0] 导出"), DisplayName("水平翻转")]
- public bool FlipX { get => PreviewPanel.FlipX; set => PreviewPanel.FlipX = value; }
+ [LocalizedCategory(typeof(Properties.Resources), "categoryCustom")]
+ [LocalizedDisplayName(typeof(Properties.Resources), "displayFlipHorizontal")]
+ public bool FlipX { get => PreviewPanel.FlipX; set => PreviewPanel.FlipX = value; }
- [Category("[0] 导出"), DisplayName("垂直翻转")]
- public bool FlipY { get => PreviewPanel.FlipY; set => PreviewPanel.FlipY = value; }
+ [LocalizedCategory(typeof(Properties.Resources), "categoryCustom")]
+ [LocalizedDisplayName(typeof(Properties.Resources), "displayFlipVertical")]
+ public bool FlipY { get => PreviewPanel.FlipY; set => PreviewPanel.FlipY = value; }
- [Category("[0] 导出"), DisplayName("仅渲染选中")]
- public bool RenderSelectedOnly { get => PreviewPanel.RenderSelectedOnly; set => PreviewPanel.RenderSelectedOnly = value; }
+ [LocalizedCategory(typeof(Properties.Resources), "categoryCustom")]
+ [LocalizedDisplayName(typeof(Properties.Resources), "displayRenderSelected")]
+ public bool RenderSelectedOnly { get => PreviewPanel.RenderSelectedOnly; set => PreviewPanel.RenderSelectedOnly = value; }
- [Category("[1] 预览"), DisplayName("显示坐标轴")]
- public bool ShowAxis { get => PreviewPanel.ShowAxis; set => PreviewPanel.ShowAxis = value; }
+ [LocalizedCategory(typeof(Properties.Resources), "categoryExport")]
+ [LocalizedDisplayName(typeof(Properties.Resources), "displayShowAxis")]
+ public bool ShowAxis { get => PreviewPanel.ShowAxis; set => PreviewPanel.ShowAxis = value; }
- [Category("[1] 预览"), DisplayName("最大帧率")]
- public uint MaxFps { get => PreviewPanel.MaxFps; set => PreviewPanel.MaxFps = value; }
+ [LocalizedCategory(typeof(Properties.Resources), "categoryExport")]
+ [LocalizedDisplayName(typeof(Properties.Resources), "displayMaximumFrameRate")]
+ public uint MaxFps { get => PreviewPanel.MaxFps; set => PreviewPanel.MaxFps = value; }
[Editor(typeof(SFMLColorEditor), typeof(UITypeEditor))]
[TypeConverter(typeof(SFMLColorConverter))]
- [Category("[1] 预览"), DisplayName("背景颜色")]
- public SFML.Graphics.Color BackgroundColor { get => PreviewPanel.BackgroundColor; set => PreviewPanel.BackgroundColor = value; }
+ [LocalizedCategory(typeof(Properties.Resources), "categoryExport")]
+ [LocalizedDisplayName(typeof(Properties.Resources), "displayBackgroundColor")]
+ public SFML.Graphics.Color BackgroundColor { get => PreviewPanel.BackgroundColor; set => PreviewPanel.BackgroundColor = value; }
}
}
diff --git a/SpineViewer/Controls/SpinePreviewPanel.en-US.resx b/SpineViewer/Controls/SpinePreviewPanel.en-US.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/SpineViewer/Controls/SpinePreviewPanel.en-US.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
\ No newline at end of file
diff --git a/SpineViewer/Controls/SpinePreviewPanel.resx b/SpineViewer/Controls/SpinePreviewPanel.resx
index e2a9530..1e63bb1 100644
--- a/SpineViewer/Controls/SpinePreviewPanel.resx
+++ b/SpineViewer/Controls/SpinePreviewPanel.resx
@@ -1,17 +1,17 @@
-
@@ -117,177 +117,178 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
+
17, 17
-
+
- AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
- LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
- SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA8iMAAAJNU0Z0AUkBTAIBAQcB
- AAGQAQABkAEAAR8BAAEYAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABfAMAATADAAEBAQABIAYAAV0+
- AAMEAQUDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf9DAAH/AwAB/wMAAf8DAAH/A1UB
- sWQAA1gB7wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8D
- AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/Ay0BRbcAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8D
- AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf87AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf9cAANEAXgDAAH/AwAB
- /wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
- /wMAAf8DAAH/AwAB/wMAAf8DAAH/swAB/wMAAf8DAAH/AwAB/wMAAf8XAAH/AwAB/wMAAf8DAAH/AwAB
- /zcAAf8DAAH/BwAB/wMAAf8DAAH/AwAB/wMAAf9XAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
- /wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
- /wMAAf+vAAH/AwAB/wNRAaQnAAH/AwAB/wMAAf8DAAH/MwAB/wMAAf8IAANOAZcDAAH/AwAB/wMAAf8D
- AAH/Ay4BSE8AAf8DAAH/AwAB/0sAAf8DAAH/AwAB/+AAAxUBHQMAAf8DAAH/AwAB/y8AAf8DAAH/EwAB
- /wMAAf8DAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf/kAAMmATgDAAH/AwAB/wMAAf8r
- AAH/AwAB/xsAAf8DAAH/AwAB/wMAAf8DAAH/QwAB/wMAAf8DAAH/SwAB/wMAAf8DAAH/6wAB/wMAAf8D
- AAH/KwAB/wMAAf8cAANCAfYDAAH/AwAB/wMAAf8DAAH/AwQBBTsAAf8DAAH/AwAB/0sAAf8DAAH/AwAB
- /+8AAf8DAAH/AwAB/ycAAf8DAAH/JwAB/wMAAf8DAAH/AwAB/wMAAf83AAH/AwAB/wMAAf9LAAH/AwAB
- /wMAAf/vAAH/AwAB/wMAAf8nAAH/AwAB/ygAAwcBCQMAAf8DAAH/AwAB/wMAAf8DYAHjLwAB/wMAAf8D
- AAH/SwAB/wMAAf8DAAH/7AADIAEtAwAB/wMAAf8nAAH/AwAB/zMAAf8DAAH/AwAB/wMAAf8DAAH/KwAB
- /wMAAf8DAAH/SwAB/wMAAf8DAAH/8wAB/wMAAf8nAAH/AwAB/zsAAf8DAAH/AwAB/wMAAf8nAAH/AwAB
- /wMAAf9LAAH/AwAB/wMAAf/zAAH/AwAB/ycAAf8DAAH/PAADPwFsAwAB/wMAAf8nAAH/AwAB/wMAAf9L
- AAH/AwAB/wMAAf/zAAH/AwAB/ycAAf8DAAH/OwAB/wMAAf8DAAH/AwAB/ycAAf8DAAH/AwAB/0sAAf8D
- AAH/AwAB/5sAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/NAADCAEKAwAB/wMAAf8nAAH/AwAB
- /zAAA10BzgMAAf8DAAH/AwAB/wMAAf8EAScAAf8DAAH/AwAB/0sAAf8DAAH/AwAB/5QAAwUBBgMAAf8D
- AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/zMAAf8DAAH/AwAB/ycAAf8DAAH/LwAB/wMAAf8D
- AAH/AwAB/wMAAf8vAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf+UAAMFAQYDAAH/AwAB/wMAAf8DAAH/AwAB
- /wMAAf8DAAH/AwAB/wMAAf8zAAH/AwAB/wMAAf8nAAH/AwAB/ycAAf8DAAH/AwAB/wMAAf8DAAH/NwAB
- /wMAAf8DAAH/SwAB/wMAAf8DAAH/lAADBQEGAwAB/wMAAf8PAAH/AwAB/wMAAf8DFQEcLwAB/wMAAf8D
- AAH/KwAB/wMAAf8cAAM9AWkDAAH/AwAB/wMAAf8DAAH/A0MBdjsAAf8DAAH/AwAB/0sAAf8DAAH/AwAB
- /5QAAwUBBgMAAf8DAAH/CwAB/wMAAf8DAAH/AxMBGjMAAf8DAAH/AwAB/ysAAf8DAAH/GwAB/wMAAf8D
- AAH/AwAB/wMAAf9DAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf+UAAMFAQYDAAH/AwAB/wcAAf8DAAH/AwAB
- /wMbASYzAAH/AwAB/wMAAf8vAAH/AwAB/xMAAf8DAAH/AwAB/wMAAf8DAAH/SwAB/wMAAf8DAAH/SwAB
- /wMAAf8DAAH/lAADBQEGAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMdASgkAANZAe4DAAH/AwAB
- /wMAAf8EAS8AAf8DAAH/CAADGAEhAwAB/wMAAf8DAAH/AwAB/wNcActPAAH/AwAB/wMAAf9LAAH/AwAB
- /wMAAf+UAAMFAQYDAAH/AwAB/wMAAf8DAAH/A2AB4wMAAf8DAAH/AwAB/wMAAf8DUAGfFwAB/wMAAf8D
- AAH/AwAB/wMAAf83AAH/AwAB/wcAAf8DAAH/AwAB/wMAAf8DAAH/VwAB/wMAAf8DAAH/AwAB/wMqAUAD
- KgFAAyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUAD
- AAH/AwAB/wMAAf8DAAH/mwAB/wMAAf8DAAH/Ax0BKQQAAwIBAwMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
- /wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf87AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DBwEJWAAD
- WQHDAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8D
- AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/5wAAxIBFwMAAf8UAANKAYkDAAH/AwAB/wMAAf8D
- AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf9DAAH/AwAB/wMAAf8DAAH/AyEB+2cAAf8DAAH/AwAB/wMAAf8D
- AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8D
- AAH/AwAB/wNbAcXIAANGAYADWgG/Ay4BSFQAA1oBv3QAA0YBgANaAb8DWgG/A1oBvwNaAb8DWgG/A1oB
- vwNaAb8DWgG/A1oBvwNaAb8DWgG/A1oBvwNaAb8DWgG/A1oBvwNaAb8DLgFIpwAB/wMAAf8DAAH/AwAB
- /wMAAf8DAAH/AwAB/wMAAf8DAAH/FAADPQFpAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8D
- AAH/EwAB/wMAAf8DAAH/LwAB/wMAAf8DAAH/KAADGQEiAwAB/wMAAf8jAAH/AwAB/wMAAf8oAAM/AW0D
- AAH/AwAB/zsAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8TAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8D
- AAH/KwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/FAADAwEEAwAB/wMAAf8DAAH/AwAB
- /wMAAf8DAAH/AwAB/wMAAf8DAAH/DAADVAGrAwAB/wMAAf8DAAH/AwAB/yQAA1YBtgMAAf8DAAH/AwAB
- /wMAAf8kAAM1AfkDAAH/AwAB/xwAA1cB8QMAAf8DAAH/AwAB/wMAAf8DPAH4IwAB/wMAAf8DAAH/NwAB
- /wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
- /wMAAf8DAAH/JwAB/wMAAf8DAAH/AwAB/wMAAf87AAH/AwAB/wMAAf8DAAH/AwAB/wwAA1QBqwMAAf8D
- AAH/AwAB/wMAAf8DAAH/IAADVgG1AwAB/wMAAf8DAAH/AwAB/wMAAf8gAAM1AfkDAAH/AwAB/xwAA1cB
- 8QMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/x8AAf8DAAH/AwAB/zcAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
- /wMAAf8DAAH/AwAB/wsAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/ycAAf8DAAH/AwAB
- /wMAAf8DAAH/AxIB/jMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wwAA1QBqwMAAf8DAAH/AwAB/wMAAf8D
- AAH/AwAB/wNZAbsYAANWAbUDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DUQGeGAADNQH5AwAB/wMAAf8c
- AANXAfEDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A1ABnRcAAf8DAAH/AwAB/zcAAf8DAAH/AwAB
- /w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/ycAAf8DAAH/A1YBswMAAf8DAAH/AwAB
- /wMAAf8rAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/DAADVAGrAwAB/wMAAf8DPQFoAwAB/wMAAf8D
- AAH/AwAB/wMAAf8UAANWAbUDAAH/AwAB/wMzAVADAAH/AwAB/wMAAf8DAAH/AwAB/xQAAzUB+QMAAf8D
- AAH/HAADVwHxAwAB/wMAAf8DEQEWBAEDAAH/AwAB/wMAAf8DAAH/AwAB/xMAAf8DAAH/AwAB/zcAAf8D
- AAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/ycAAf8DAAH/A1YBswcAAf8D
- AAH/AwAB/wMAAf8jAAH/AwAB/wMAAf8DAAH/BwAB/wMAAf8DAAH/DAADVAGrAwAB/wMAAf8DPQFoBwAB
- /wMAAf8DAAH/AwAB/wMAAf8QAANWAbUDAAH/AwAB/wMzAVAHAAH/AwAB/wMAAf8DAAH/AwAB/xAAAzUB
- +QMAAf8DAAH/HAADVwHxAwAB/wMAAf8DEQEWCwAB/wMAAf8DAAH/AwAB/wMAAf8PAAH/AwAB/wMAAf83
- AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8nAAH/AwAB/wNWAbML
- AAH/AwAB/wMAAf8DEgH+GwAB/wMAAf8DAAH/AwAB/wsAAf8DAAH/AwAB/wwAA1QBqwMAAf8DAAH/Az0B
- aAgAA2AB2wMAAf8DAAH/AwAB/wMAAf8MAANWAbUDAAH/AwAB/wMzAVAIAANgAeMDAAH/AwAB/wMAAf8D
- AAH/DAADNQH5AwAB/wMAAf8cAANXAfEDAAH/AwAB/wMRARYMAAMzAVIDAAH/AwAB/wMAAf8DAAH/AwAB
- /wcAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB
- /ycAAf8DAAH/A1YBsw8AAf8DAAH/AwAB/wMAAf8TAAH/AwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/DAAD
- VAGrAwAB/wMAAf8DPQFoDAADJQE3AwAB/wMAAf8DAAH/AwAB/wgAA1YBtQMAAf8DAAH/AzMBUAwAAzIB
- TwMAAf8DAAH/AwAB/wMAAf8IAAM1AfkDAAH/AwAB/xwAA1cB8QMAAf8DAAH/AxEBFhcAAf8DAAH/AwAB
- /wMAAf8DAAH/AxIB/gMAAf8DAAH/NwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/DwAB
- /wMAAf8DAAH/JwAB/wMAAf8XAAH/AwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/AwAB/xAAAwwBDwMAAf8D
- QgH2DAADVAGrAwAB/wMAAf8DPQFoFwAB/wMAAf8DAAH/AwAB/wQAA1YBtQMAAf8DAAH/AzMBUBcAAf8D
- AAH/AwAB/wMAAf8EAAM1AfkDAAH/AwAB/xwAA1cB8QMAAf8DAAH/AxEBFhgAA1oB6QMAAf8DAAH/AwAB
- /wMAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB
- /0cAAf8DAAH/AwAB/wMSAf4DAAH/AwAB/wMAAf8DAAH/LAADVAGrAwAB/wMAAf8DPQFoGwAB/wMAAf8D
- AAH/AwAB/wNdAc4DAAH/AwAB/wMzAVAbAAH/AwAB/wMAAf8DAAH/AyYB+gMAAf8DAAH/HAADVwHxAwAB
- /wMAAf8DEQEWIwAB/wMAAf8DAAH/AwAB/wMAAf83AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB
- /wMAAf8PAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8wAANUAasDAAH/AwAB/wM9AWgf
- AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DMwFQHwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/HAADVwHxAwAB
- /wMAAf8DEQEWJwAB/wMAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB
- /w8AAf8DAAH/AwAB/08AAf8DAAH/AwAB/wMAAf80AANUAasDAAH/AwAB/wM9AWgjAAH/AwAB/wMAAf8D
- AAH/AwAB/wMzAVAjAAH/AwAB/wMAAf8DAAH/AwAB/xwAA1cB8QMAAf8DAAH/AxEBFisAAf8DAAH/AwAB
- /zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/0sAAf8DAAH/AwAB
- /wMAAf8DAAH/AxIB/jAAA1QBqwMAAf8DAAH/Az0BaB8AAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMzAVAf
- AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8cAANXAfEDAAH/AwAB/wMRARYkAANcAdkDAAH/AwAB/wMAAf83
- AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8PAAH/AwAB/wMAAf9HAAH/AwAB/wMAAf8D
- AAH/AwAB/wMAAf8DAAH/AwAB/ywAA1QBqwMAAf8DAAH/Az0BaBsAAf8DAAH/AwAB/wMAAf8DVwHxAwAB
- /wMAAf8DMwFQGwAB/wMAAf8DAAH/AwAB/wMSAf4DAAH/AwAB/xwAA1cB8QMAAf8DAAH/AxEBFiMAAf8D
- AAH/AwAB/wMAAf8DAAH/NwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/DwAB/wMAAf8D
- AAH/JwAB/wMAAf8XAAH/AwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/AwAB/xcAAf8DWAG4DAADVAGrAwAB
- /wMAAf8DPQFoFwAB/wMAAf8DAAH/AwAB/wQAA1YBtQMAAf8DAAH/AzMBUBcAAf8DAAH/AwAB/wMAAf8E
- AAM1AfkDAAH/AwAB/xwAA1cB8QMAAf8DAAH/AxEBFhgAAzABSgMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
- /zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/ycAAf8DAAH/A1YB
- sw8AAf8DAAH/AwAB/wMAAf8TAAH/AwAB/wMAAf8DEgH+DwAB/wMAAf8DAAH/DAADVAGrAwAB/wMAAf8D
- PQFoEwAB/wMAAf8DAAH/AwAB/wgAA1YBtQMAAf8DAAH/AzMBUAwAAwkBDAMAAf8DAAH/AwAB/wMAAf8I
- AAM1AfkDAAH/AwAB/xwAA1cB8QMAAf8DAAH/AxEBFhcAAf8DAAH/AwAB/wMAAf8DAAH/AyQB/QMAAf8D
- AAH/NwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/JwAB/wMAAf8D
- VgGzCwAB/wMAAf8DAAH/AwAB/xsAAf8DAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8MAANUAasDAAH/AwAB
- /wM9AWgIAAM6AWADAAH/AwAB/wMAAf8DAAH/DAADVgG1AwAB/wMAAf8DMwFQCAADSwGMAwAB/wMAAf8D
- AAH/AwAB/wwAAzUB+QMAAf8DAAH/HAADVwHxAwAB/wMAAf8DEQEWDAADBwEJAwAB/wMAAf8DAAH/AwAB
- /wMAAf8HAAH/AwAB/wMAAf83AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8PAAH/AwAB
- /wMAAf8nAAH/AwAB/wNWAbMHAAH/AwAB/wMAAf8DAAH/IwAB/wMAAf8DAAH/AwAB/wcAAf8DAAH/AwAB
- /wwAA1QBqwMAAf8DAAH/Az0BaAcAAf8DAAH/AwAB/wMAAf8DAAH/EAADVgG1AwAB/wMAAf8DMwFQBwAB
- /wMAAf8DAAH/AwAB/wMAAf8QAAM1AfkDAAH/AwAB/xwAA1cB8QMAAf8DAAH/AxEBFgsAAf8DAAH/AwAB
- /wMAAf8DAAH/A08BmQsAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB
- /w8AAf8DAAH/AwAB/ycAAf8DAAH/A1YBswMAAf8DAAH/AwAB/wMAAf8rAAH/AwAB/wMAAf8DEgH+AwAB
- /wMAAf8DAAH/DAADVAGrAwAB/wMAAf8DPQFoAwAB/wMAAf8DAAH/AwAB/wMAAf8UAANWAbUDAAH/AwAB
- /wMzAVADAAH/AwAB/wMAAf8DAAH/AwAB/xQAAzUB+QMAAf8DAAH/HAADVwHxAwAB/wMAAf8DEQEWBwAB
- /wMAAf8DAAH/AwAB/wMAAf8TAAH/AwAB/wMAAf83AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB
- /wMAAf8PAAH/AwAB/wMAAf8nAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8zAAH/AwAB/wMAAf8DAAH/AwAB
- /wMAAf8MAANUAasDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DTQH0GAADVgG1AwAB/wMAAf8DAAH/AwAB
- /wMAAf8DAAH/A10B7BgAAzUB+QMAAf8DAAH/HAADVwHxAwAB/wMAAf8DYQHrAwAB/wMAAf8DAAH/AwAB
- /wNNAfQXAAH/AwAB/wMAAf83AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8PAAH/AwAB
- /wMAAf8nAAH/AwAB/wMAAf8DAAH/AwAB/zsAAf8DAAH/AwAB/wMAAf8DAAH/DAADVAGrAwAB/wMAAf8D
- AAH/AwAB/wMAAf8DQwF3HAADVgG1AwAB/wMAAf8DAAH/AwAB/wMAAf8DMAFMHAADNQH5AwAB/wMAAf8c
- AANXAfEDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8fAAH/AwAB/wMAAf83AAH/AwAB/wMAAf8DKgFAAyoB
- QAMqAUADAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8DKgFAAyoBQAMqAUADAAH/AwAB/wMAAf8nAAH/AwAB
- /wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8bAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
- /wMAAf8MAANUAasDAAH/AwAB/wMAAf8DAAH/AwYBCCAAA1YBtgMAAf8DAAH/AwAB/wMAAf8DAgEDIAAD
- NQH5AwAB/wMAAf8cAANXAfEDAAH/AwAB/wMAAf8DAAH/AwAB/yMAAf8DAAH/AwAB/zcAAf8DAAH/AwAB
- /wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wsAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB
- /ycAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/xQAA0wBkAMAAf8DAAH/AwAB/wMAAf8D
- AAH/AwAB/wMAAf8DAAH/AwAB/xMAAf8DAAH/AwAB/y8AAf8DAAH/AwAB/ygAAzYBWAMAAf8DAAH/IwAB
- /wMAAf8DAAH/Aw0BESQAA1UBrQMAAf8DAAH/OwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/xMAAf8D
- AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8sAANaAb8DWgG/A1oBvwNaAb8DWgG/A1oBvwNaAb8DFQEcGAAD
- TwGZA1oBvwNaAb8DWgG/A1oBvwNaAb8DWgG/A1oBvxgAA04BlzQAA0sBjTAAAwwBDygAA1ABmjAAAygB
- PEAAAzgBWwNaAb8DWgG/A1oBvwMwAUwYAANEAXoDWgG/A1oBvwNaAb8DIAEtHAABQgFNAT4HAAE+AwAB
- KAMAAXwDAAEwAwABAQEAAQEGAAEDFgAD/wEAAf8B4AEHAf8B+AE/Av8B4AIAAXgEAAH/AcABAQH/AfgB
- HwL/AcACAAF4BAAB/wGDAeAB/wH5AQcC/wHAAgABOAQAAf8BjwH4AX8B+QGBAv8BxwH/Af4BOAQAAv8B
- /AE/AfkB4AL/AccB/wH+ATgEAAL/Af4BHwH5AfgBPwH/AccB/wH+ATgEAAP/AR8B+QH8AQ8B/wHHAf8B
- /gE4BAAD/wGPAfkB/wEHAf8BxwH/Af4BOAQAA/8BjwH5Af8BgQH/AccB/wH+ATgEAAP/AY8B+QH/AeAB
- /wHHAf8B/gE4BAAD/wHPAfkB/wH4AX8BxwH/Af4BOAQAA/8BzwH5Af8B/AF/AccB/wH+ATgEAAP/Ac8B
- +QH/AfgBfwHHAf8B/gE4BAAB8AEPAf8BjwH5Af8B4AF/AccB/wH+ATgEAAHgAQcB/wGPAfkB/wHBAf8B
- xwH/Af4BOAQAAeABBwH/AY8B+QH/AQcB/wHHAf8B/gE4BAAB4wGHAf8BHwH5AfwBDwH/AccB/wH+ATgE
- AAHjAQ8B/wEfAfkB+AE/Af8BxwH/Af4BOAQAAeIBHwH+AT8B+QHgAv8BxwH/Af4BOAQAAeABDwH4AT8B
- +QGBAv8BxwH/Af4BOAQAAeABAwHgAf8B+QEHAv8BwAIAATgEAAHwAYABAQH/AfgBDwL/AcACAAF4BAAB
- 8wHgAQcB/wH4AT8C/wHgAgABeAQAAf8B/gE/Af8B/gP/AfgBAAEBAfgEAAHwAQcBwAEPAR8B/AF/AeMB
- /AF/AeMB/wHwAR4BAwLwAQcBwAEOAQ8B+AE/AeMB+AEfAeMB/wHgAQwBAQLwAX8B/gEOAQcB+AEfAeMB
- +AEPAeMB/wHgAQwBAQLwAT8B/AEOAQEB+AEHAeMB+AEDAeMB/wHjAYwBcQLwAR8B+AEOAQAB+AEDAeMB
- +AEBAeMB/wHjAYwBcQHwAfEBDwHwAY4BEAF4AUEB4wH4AWAB4wH/AeMBjAFxAfAB8QGHAeEBjgEYATgB
- YAHjAfgBcAEjAf8B4wGMAXEB8AHxAsMBjgEcARgBcAFjAfgBfAEDAf8B4wGMAXEB8AHzAeEBhwGOAR8B
- CAF8ASMB+AF+AQMB/wHjAYwBcQHwAf8B8AEPAf4BHwGAAX4BAwH4AX8BgwH/AeMBjAFxAfAB/wH4AR8B
- /gEfAcABfwEDAfgBfwHDAf8B4wGMAXEB8AH/AfwBPwH+AR8B4AF/AYMB+AF/AeMB/wHjAYwBcQHwAf8B
- +AEfAf4BHwHAAX8BAwH4AX8BwwH/AeMBjAFxAfAB/wHwAQ8B/gEfAYABfgEDAfgBfwGDAf8B4wGMAXEB
- 8AHzAeEBhwHOAR8BCAF8ASMB+AF+AQMB/wHjAYwBcQHwAfECwwGOAR4BGAFwAWMB+AF8AQMB/wHjAYwB
- cQHwAfEBhwHhAY4BGAE4AWAB4wH4AXABIwH/AeMBjAFxAfAB8QEPAfABjgEQAXgBQQHjAfgBYAFjAf8B
- 4wGMAXEC8AEfAfgBDgEAAfgBAwHjAfgBQQHjAf8B4wGMAXEC8AE/AfwBDgEBAfgBBwHjAfgBAwHjAf8B
- 4wGMAXEC8AF/Af4BDgEDAfgBDwHjAfgBDwHjAf8B4AEMAQEC8AEHAeABDgEHAfgBHwHjAfgBHwHjAf8B
- 4AEMAQEC8AEHAcABDwEfAfwBfwHjAfwBPwHjAf8B8AEeAQMB8AH4AQcB4AEfAb8B/gH/AfcB/gH/AfcB
- /wH4AT8BBwHwCw==
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD0
+ IwAAAk1TRnQBSQFMAgEBBwEAAZABAAGYAQABHwEAARgBAAT/ASEBEAj/AUIBTQE2BwABNgMAASgDAAF8
+ AwABMAMAAQEBAAEgBgABXT4AAwQBBQMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/0MA
+ Af8DAAH/AwAB/wMAAf8DVQGxZAADWAHvAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
+ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DLQFFtwAB/wMAAf8DAAH/
+ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/zsAAf8DAAH/AwAB/wMAAf8DAAH/
+ AwAB/1wAA0QBeAMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf+zAAH/AwAB/wMAAf8DAAH/AwAB/xcA
+ Af8DAAH/AwAB/wMAAf8DAAH/NwAB/wMAAf8HAAH/AwAB/wMAAf8DAAH/AwAB/1cAAf8DAAH/AwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/68AAf8DAAH/A1EBpCcAAf8DAAH/AwAB/wMAAf8zAAH/AwAB/wgA
+ A04BlwMAAf8DAAH/AwAB/wMAAf8DLgFITwAB/wMAAf8DAAH/SwAB/wMAAf8DAAH/4AADFQEdAwAB/wMA
+ Af8DAAH/LwAB/wMAAf8TAAH/AwAB/wMAAf8DAAH/AwAB/0sAAf8DAAH/AwAB/0sAAf8DAAH/AwAB/+QA
+ AyYBOAMAAf8DAAH/AwAB/ysAAf8DAAH/GwAB/wMAAf8DAAH/AwAB/wMAAf9DAAH/AwAB/wMAAf9LAAH/
+ AwAB/wMAAf/rAAH/AwAB/wMAAf8rAAH/AwAB/xwAA0IB9gMAAf8DAAH/AwAB/wMAAf8DBAEFOwAB/wMA
+ Af8DAAH/SwAB/wMAAf8DAAH/7wAB/wMAAf8DAAH/JwAB/wMAAf8nAAH/AwAB/wMAAf8DAAH/AwAB/zcA
+ Af8DAAH/AwAB/0sAAf8DAAH/AwAB/+8AAf8DAAH/AwAB/ycAAf8DAAH/KAADBwEJAwAB/wMAAf8DAAH/
+ AwAB/wNgAeMvAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf/sAAMgAS0DAAH/AwAB/ycAAf8DAAH/MwAB/wMA
+ Af8DAAH/AwAB/wMAAf8rAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf/zAAH/AwAB/ycAAf8DAAH/OwAB/wMA
+ Af8DAAH/AwAB/ycAAf8DAAH/AwAB/0sAAf8DAAH/AwAB//MAAf8DAAH/JwAB/wMAAf88AAM/AWwDAAH/
+ AwAB/ycAAf8DAAH/AwAB/0sAAf8DAAH/AwAB//MAAf8DAAH/JwAB/wMAAf87AAH/AwAB/wMAAf8DAAH/
+ JwAB/wMAAf8DAAH/SwAB/wMAAf8DAAH/mwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf80AAMI
+ AQoDAAH/AwAB/ycAAf8DAAH/MAADXQHOAwAB/wMAAf8DAAH/AwAB/wQBJwAB/wMAAf8DAAH/SwAB/wMA
+ Af8DAAH/lAADBQEGAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/MwAB/wMAAf8DAAH/
+ JwAB/wMAAf8vAAH/AwAB/wMAAf8DAAH/AwAB/y8AAf8DAAH/AwAB/0sAAf8DAAH/AwAB/5QAAwUBBgMA
+ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/zMAAf8DAAH/AwAB/ycAAf8DAAH/JwAB/wMA
+ Af8DAAH/AwAB/wMAAf83AAH/AwAB/wMAAf9LAAH/AwAB/wMAAf+UAAMFAQYDAAH/AwAB/w8AAf8DAAH/
+ AwAB/wMVARwvAAH/AwAB/wMAAf8rAAH/AwAB/xwAAz0BaQMAAf8DAAH/AwAB/wMAAf8DQwF2OwAB/wMA
+ Af8DAAH/SwAB/wMAAf8DAAH/lAADBQEGAwAB/wMAAf8LAAH/AwAB/wMAAf8DEwEaMwAB/wMAAf8DAAH/
+ KwAB/wMAAf8bAAH/AwAB/wMAAf8DAAH/AwAB/0MAAf8DAAH/AwAB/0sAAf8DAAH/AwAB/5QAAwUBBgMA
+ Af8DAAH/BwAB/wMAAf8DAAH/AxsBJjMAAf8DAAH/AwAB/y8AAf8DAAH/EwAB/wMAAf8DAAH/AwAB/wMA
+ Af9LAAH/AwAB/wMAAf9LAAH/AwAB/wMAAf+UAAMFAQYDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
+ Ax0BKCQAA1kB7gMAAf8DAAH/AwAB/wQBLwAB/wMAAf8IAAMYASEDAAH/AwAB/wMAAf8DAAH/A1wBy08A
+ Af8DAAH/AwAB/0sAAf8DAAH/AwAB/5QAAwUBBgMAAf8DAAH/AwAB/wMAAf8DYAHjAwAB/wMAAf8DAAH/
+ AwAB/wNQAZ8XAAH/AwAB/wMAAf8DAAH/AwAB/zcAAf8DAAH/BwAB/wMAAf8DAAH/AwAB/wMAAf9XAAH/
+ AwAB/wMAAf8DAAH/AyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUADKgFAAyoBQAMqAUADKgFA
+ AyoBQAMqAUADKgFAAyoBQAMAAf8DAAH/AwAB/wMAAf+bAAH/AwAB/wMAAf8DHQEpBAADAgEDAwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/zsAAf8DAAH/AwAB/wMA
+ Af8DAAH/AwAB/wMHAQlYAANZAcMDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
+ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/nAADEgEXAwAB/xQA
+ A0oBiQMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/0MAAf8DAAH/AwAB/wMAAf8DIQH7
+ ZwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
+ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A1sBxcgAA0YBgANaAb8DLgFIVAADWgG/dAADRgGAA1oBvwNa
+ Ab8DWgG/A1oBvwNaAb8DWgG/A1oBvwNaAb8DWgG/A1oBvwNaAb8DWgG/A1oBvwNaAb8DWgG/A1oBvwMu
+ AUinAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8UAAM9AWkDAAH/AwAB/wMAAf8DAAH/
+ AwAB/wMAAf8DAAH/AwAB/wMAAf8TAAH/AwAB/wMAAf8vAAH/AwAB/wMAAf8oAAMZASIDAAH/AwAB/yMA
+ Af8DAAH/AwAB/ygAAz8BbQMAAf8DAAH/OwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/xMAAf8DAAH/
+ AwAB/wMAAf8DAAH/AwAB/wMAAf8rAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8UAAMD
+ AQQDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8MAANUAasDAAH/AwAB/wMAAf8DAAH/
+ JAADVgG2AwAB/wMAAf8DAAH/AwAB/yQAAzUB+QMAAf8DAAH/HAADVwHxAwAB/wMAAf8DAAH/AwAB/wM8
+ AfgjAAH/AwAB/wMAAf83AAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8LAAH/AwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8nAAH/AwAB/wMAAf8DAAH/AwAB/zsAAf8DAAH/AwAB/wMA
+ Af8DAAH/DAADVAGrAwAB/wMAAf8DAAH/AwAB/wMAAf8gAANWAbUDAAH/AwAB/wMAAf8DAAH/AwAB/yAA
+ AzUB+QMAAf8DAAH/HAADVwHxAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/HwAB/wMAAf8DAAH/NwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
+ Af8DAAH/JwAB/wMAAf8DAAH/AwAB/wMAAf8DEgH+MwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/DAADVAGr
+ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A1kBuxgAA1YBtQMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNR
+ AZ4YAAM1AfkDAAH/AwAB/xwAA1cB8QMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DUAGdFwAB/wMA
+ Af8DAAH/NwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/JwAB/wMA
+ Af8DVgGzAwAB/wMAAf8DAAH/AwAB/ysAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8MAANUAasDAAH/
+ AwAB/wM9AWgDAAH/AwAB/wMAAf8DAAH/AwAB/xQAA1YBtQMAAf8DAAH/AzMBUAMAAf8DAAH/AwAB/wMA
+ Af8DAAH/FAADNQH5AwAB/wMAAf8cAANXAfEDAAH/AwAB/wMRARYEAQMAAf8DAAH/AwAB/wMAAf8DAAH/
+ EwAB/wMAAf8DAAH/NwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/
+ JwAB/wMAAf8DVgGzBwAB/wMAAf8DAAH/AwAB/yMAAf8DAAH/AwAB/wMAAf8HAAH/AwAB/wMAAf8MAANU
+ AasDAAH/AwAB/wM9AWgHAAH/AwAB/wMAAf8DAAH/AwAB/xAAA1YBtQMAAf8DAAH/AzMBUAcAAf8DAAH/
+ AwAB/wMAAf8DAAH/EAADNQH5AwAB/wMAAf8cAANXAfEDAAH/AwAB/wMRARYLAAH/AwAB/wMAAf8DAAH/
+ AwAB/w8AAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/
+ AwAB/ycAAf8DAAH/A1YBswsAAf8DAAH/AwAB/wMSAf4bAAH/AwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/
+ DAADVAGrAwAB/wMAAf8DPQFoCAADYAHbAwAB/wMAAf8DAAH/AwAB/wwAA1YBtQMAAf8DAAH/AzMBUAgA
+ A2AB4wMAAf8DAAH/AwAB/wMAAf8MAAM1AfkDAAH/AwAB/xwAA1cB8QMAAf8DAAH/AxEBFgwAAzMBUgMA
+ Af8DAAH/AwAB/wMAAf8DAAH/BwAB/wMAAf8DAAH/NwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/CwAB/wMA
+ Af8DAAH/DwAB/wMAAf8DAAH/JwAB/wMAAf8DVgGzDwAB/wMAAf8DAAH/AwAB/xMAAf8DAAH/AwAB/wMA
+ Af8PAAH/AwAB/wMAAf8MAANUAasDAAH/AwAB/wM9AWgMAAMlATcDAAH/AwAB/wMAAf8DAAH/CAADVgG1
+ AwAB/wMAAf8DMwFQDAADMgFPAwAB/wMAAf8DAAH/AwAB/wgAAzUB+QMAAf8DAAH/HAADVwHxAwAB/wMA
+ Af8DEQEWFwAB/wMAAf8DAAH/AwAB/wMAAf8DEgH+AwAB/wMAAf83AAH/AwAB/wMAAf8PAAH/AwAB/wMA
+ Af8LAAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8nAAH/AwAB/xcAAf8DAAH/AwAB/wMAAf8LAAH/AwAB/wMA
+ Af8DAAH/EAADDAEPAwAB/wNCAfYMAANUAasDAAH/AwAB/wM9AWgXAAH/AwAB/wMAAf8DAAH/BAADVgG1
+ AwAB/wMAAf8DMwFQFwAB/wMAAf8DAAH/AwAB/wQAAzUB+QMAAf8DAAH/HAADVwHxAwAB/wMAAf8DEQEW
+ GAADWgHpAwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/NwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/CwAB/wMA
+ Af8DAAH/DwAB/wMAAf8DAAH/RwAB/wMAAf8DAAH/AxIB/gMAAf8DAAH/AwAB/wMAAf8sAANUAasDAAH/
+ AwAB/wM9AWgbAAH/AwAB/wMAAf8DAAH/A10BzgMAAf8DAAH/AzMBUBsAAf8DAAH/AwAB/wMAAf8DJgH6
+ AwAB/wMAAf8cAANXAfEDAAH/AwAB/wMRARYjAAH/AwAB/wMAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8A
+ Af8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/0sAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/zAA
+ A1QBqwMAAf8DAAH/Az0BaB8AAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMzAVAfAAH/AwAB/wMAAf8DAAH/
+ AwAB/wMAAf8cAANXAfEDAAH/AwAB/wMRARYnAAH/AwAB/wMAAf8DAAH/NwAB/wMAAf8DAAH/DwAB/wMA
+ Af8DAAH/CwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/TwAB/wMAAf8DAAH/AwAB/zQAA1QBqwMAAf8DAAH/
+ Az0BaCMAAf8DAAH/AwAB/wMAAf8DAAH/AzMBUCMAAf8DAAH/AwAB/wMAAf8DAAH/HAADVwHxAwAB/wMA
+ Af8DEQEWKwAB/wMAAf8DAAH/NwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/DwAB/wMA
+ Af8DAAH/SwAB/wMAAf8DAAH/AwAB/wMAAf8DEgH+MAADVAGrAwAB/wMAAf8DPQFoHwAB/wMAAf8DAAH/
+ AwAB/wMAAf8DAAH/AzMBUB8AAf8DAAH/AwAB/wMAAf8DAAH/AwAB/xwAA1cB8QMAAf8DAAH/AxEBFiQA
+ A1wB2QMAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/
+ AwAB/0cAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/LAADVAGrAwAB/wMAAf8DPQFoGwAB/wMA
+ Af8DAAH/AwAB/wNXAfEDAAH/AwAB/wMzAVAbAAH/AwAB/wMAAf8DAAH/AxIB/gMAAf8DAAH/HAADVwHx
+ AwAB/wMAAf8DEQEWIwAB/wMAAf8DAAH/AwAB/wMAAf83AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/
+ AwAB/wMAAf8PAAH/AwAB/wMAAf8nAAH/AwAB/xcAAf8DAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8DAAH/
+ FwAB/wNYAbgMAANUAasDAAH/AwAB/wM9AWgXAAH/AwAB/wMAAf8DAAH/BAADVgG1AwAB/wMAAf8DMwFQ
+ FwAB/wMAAf8DAAH/AwAB/wQAAzUB+QMAAf8DAAH/HAADVwHxAwAB/wMAAf8DEQEWGAADMAFKAwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/NwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/DwAB/wMA
+ Af8DAAH/JwAB/wMAAf8DVgGzDwAB/wMAAf8DAAH/AwAB/xMAAf8DAAH/AwAB/wMSAf4PAAH/AwAB/wMA
+ Af8MAANUAasDAAH/AwAB/wM9AWgTAAH/AwAB/wMAAf8DAAH/CAADVgG1AwAB/wMAAf8DMwFQDAADCQEM
+ AwAB/wMAAf8DAAH/AwAB/wgAAzUB+QMAAf8DAAH/HAADVwHxAwAB/wMAAf8DEQEWFwAB/wMAAf8DAAH/
+ AwAB/wMAAf8DJAH9AwAB/wMAAf83AAH/AwAB/wMAAf8PAAH/AwAB/wMAAf8LAAH/AwAB/wMAAf8PAAH/
+ AwAB/wMAAf8nAAH/AwAB/wNWAbMLAAH/AwAB/wMAAf8DAAH/GwAB/wMAAf8DAAH/AwAB/wsAAf8DAAH/
+ AwAB/wwAA1QBqwMAAf8DAAH/Az0BaAgAAzoBYAMAAf8DAAH/AwAB/wMAAf8MAANWAbUDAAH/AwAB/wMz
+ AVAIAANLAYwDAAH/AwAB/wMAAf8DAAH/DAADNQH5AwAB/wMAAf8cAANXAfEDAAH/AwAB/wMRARYMAAMH
+ AQkDAAH/AwAB/wMAAf8DAAH/AwAB/wcAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsA
+ Af8DAAH/AwAB/w8AAf8DAAH/AwAB/ycAAf8DAAH/A1YBswcAAf8DAAH/AwAB/wMAAf8jAAH/AwAB/wMA
+ Af8DAAH/BwAB/wMAAf8DAAH/DAADVAGrAwAB/wMAAf8DPQFoBwAB/wMAAf8DAAH/AwAB/wMAAf8QAANW
+ AbUDAAH/AwAB/wMzAVAHAAH/AwAB/wMAAf8DAAH/AwAB/xAAAzUB+QMAAf8DAAH/HAADVwHxAwAB/wMA
+ Af8DEQEWCwAB/wMAAf8DAAH/AwAB/wMAAf8DTwGZCwAB/wMAAf8DAAH/NwAB/wMAAf8DAAH/DwAB/wMA
+ Af8DAAH/CwAB/wMAAf8DAAH/DwAB/wMAAf8DAAH/JwAB/wMAAf8DVgGzAwAB/wMAAf8DAAH/AwAB/ysA
+ Af8DAAH/AwAB/wMSAf4DAAH/AwAB/wMAAf8MAANUAasDAAH/AwAB/wM9AWgDAAH/AwAB/wMAAf8DAAH/
+ AwAB/xQAA1YBtQMAAf8DAAH/AzMBUAMAAf8DAAH/AwAB/wMAAf8DAAH/FAADNQH5AwAB/wMAAf8cAANX
+ AfEDAAH/AwAB/wMRARYHAAH/AwAB/wMAAf8DAAH/AwAB/xMAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8A
+ Af8DAAH/AwAB/wsAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/ycAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/zMA
+ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wwAA1QBqwMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wNNAfQYAANW
+ AbUDAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DXQHsGAADNQH5AwAB/wMAAf8cAANXAfEDAAH/AwAB/wNh
+ AesDAAH/AwAB/wMAAf8DAAH/A00B9BcAAf8DAAH/AwAB/zcAAf8DAAH/AwAB/w8AAf8DAAH/AwAB/wsA
+ Af8DAAH/AwAB/w8AAf8DAAH/AwAB/ycAAf8DAAH/AwAB/wMAAf8DAAH/OwAB/wMAAf8DAAH/AwAB/wMA
+ Af8MAANUAasDAAH/AwAB/wMAAf8DAAH/AwAB/wNDAXccAANWAbUDAAH/AwAB/wMAAf8DAAH/AwAB/wMw
+ AUwcAAM1AfkDAAH/AwAB/xwAA1cB8QMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/x8AAf8DAAH/AwAB/zcA
+ Af8DAAH/AwAB/wMqAUADKgFAAyoBQAMAAf8DAAH/AwAB/wsAAf8DAAH/AwAB/wMqAUADKgFAAyoBQAMA
+ Af8DAAH/AwAB/ycAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/xsAAf8DAAH/AwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wwAA1QBqwMAAf8DAAH/AwAB/wMAAf8DBgEIIAADVgG2AwAB/wMA
+ Af8DAAH/AwAB/wMCAQMgAAM1AfkDAAH/AwAB/xwAA1cB8QMAAf8DAAH/AwAB/wMAAf8DAAH/IwAB/wMA
+ Af8DAAH/NwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/CwAB/wMAAf8DAAH/AwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/JwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/FAADTAGQ
+ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/EwAB/wMAAf8DAAH/LwAB/wMAAf8DAAH/
+ KAADNgFYAwAB/wMAAf8jAAH/AwAB/wMAAf8DDQERJAADVQGtAwAB/wMAAf87AAH/AwAB/wMAAf8DAAH/
+ AwAB/wMAAf8DAAH/EwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/ywAA1oBvwNaAb8DWgG/A1oBvwNa
+ Ab8DWgG/A1oBvwMVARwYAANPAZkDWgG/A1oBvwNaAb8DWgG/A1oBvwNaAb8DWgG/GAADTgGXNAADSwGN
+ MAADDAEPKAADUAGaMAADKAE8QAADOAFbA1oBvwNaAb8DWgG/AzABTBgAA0QBegNaAb8DWgG/A1oBvwMg
+ AS0cAAFCAU0BPgcAAT4DAAEoAwABfAMAATADAAEBAQABAQYAAQMWAAP/AQAB/wHgAQcB/wH4AT8C/wHg
+ AgABeAQAAf8BwAEBAf8B+AEfAv8BwAIAAXgEAAH/AYMB4AH/AfkBBwL/AcACAAE4BAAB/wGPAfgBfwH5
+ AYEC/wHHAf8B/gE4BAAC/wH8AT8B+QHgAv8BxwH/Af4BOAQAAv8B/gEfAfkB+AE/Af8BxwH/Af4BOAQA
+ A/8BHwH5AfwBDwH/AccB/wH+ATgEAAP/AY8B+QH/AQcB/wHHAf8B/gE4BAAD/wGPAfkB/wGBAf8BxwH/
+ Af4BOAQAA/8BjwH5Af8B4AH/AccB/wH+ATgEAAP/Ac8B+QH/AfgBfwHHAf8B/gE4BAAD/wHPAfkB/wH8
+ AX8BxwH/Af4BOAQAA/8BzwH5Af8B+AF/AccB/wH+ATgEAAHwAQ8B/wGPAfkB/wHgAX8BxwH/Af4BOAQA
+ AeABBwH/AY8B+QH/AcEB/wHHAf8B/gE4BAAB4AEHAf8BjwH5Af8BBwH/AccB/wH+ATgEAAHjAYcB/wEf
+ AfkB/AEPAf8BxwH/Af4BOAQAAeMBDwH/AR8B+QH4AT8B/wHHAf8B/gE4BAAB4gEfAf4BPwH5AeAC/wHH
+ Af8B/gE4BAAB4AEPAfgBPwH5AYEC/wHHAf8B/gE4BAAB4AEDAeAB/wH5AQcC/wHAAgABOAQAAfABgAEB
+ Af8B+AEPAv8BwAIAAXgEAAHzAeABBwH/AfgBPwL/AeACAAF4BAAB/wH+AT8B/wH+A/8B+AEAAQEB+AQA
+ AfABBwHAAQ8BHwH8AX8B4wH8AX8B4wH/AfABHgEDAvABBwHAAQ4BDwH4AT8B4wH4AR8B4wH/AeABDAEB
+ AvABfwH+AQ4BBwH4AR8B4wH4AQ8B4wH/AeABDAEBAvABPwH8AQ4BAQH4AQcB4wH4AQMB4wH/AeMBjAFx
+ AvABHwH4AQ4BAAH4AQMB4wH4AQEB4wH/AeMBjAFxAfAB8QEPAfABjgEQAXgBQQHjAfgBYAHjAf8B4wGM
+ AXEB8AHxAYcB4QGOARgBOAFgAeMB+AFwASMB/wHjAYwBcQHwAfECwwGOARwBGAFwAWMB+AF8AQMB/wHj
+ AYwBcQHwAfMB4QGHAY4BHwEIAXwBIwH4AX4BAwH/AeMBjAFxAfAB/wHwAQ8B/gEfAYABfgEDAfgBfwGD
+ Af8B4wGMAXEB8AH/AfgBHwH+AR8BwAF/AQMB+AF/AcMB/wHjAYwBcQHwAf8B/AE/Af4BHwHgAX8BgwH4
+ AX8B4wH/AeMBjAFxAfAB/wH4AR8B/gEfAcABfwEDAfgBfwHDAf8B4wGMAXEB8AH/AfABDwH+AR8BgAF+
+ AQMB+AF/AYMB/wHjAYwBcQHwAfMB4QGHAc4BHwEIAXwBIwH4AX4BAwH/AeMBjAFxAfAB8QLDAY4BHgEY
+ AXABYwH4AXwBAwH/AeMBjAFxAfAB8QGHAeEBjgEYATgBYAHjAfgBcAEjAf8B4wGMAXEB8AHxAQ8B8AGO
+ ARABeAFBAeMB+AFgAWMB/wHjAYwBcQLwAR8B+AEOAQAB+AEDAeMB+AFBAeMB/wHjAYwBcQLwAT8B/AEO
+ AQEB+AEHAeMB+AEDAeMB/wHjAYwBcQLwAX8B/gEOAQMB+AEPAeMB+AEPAeMB/wHgAQwBAQLwAQcB4AEO
+ AQcB+AEfAeMB+AEfAeMB/wHgAQwBAQLwAQcBwAEPAR8B/AF/AeMB/AE/AeMB/wHwAR4BAwHwAfgBBwHg
+ AR8BvwH+Af8B9wH+Af8B9wH/AfgBPwEHAfAWAAs=
-
+
165, 17
-
-
+
+
307, 18
-
-
+
+
618, 18
-
+
\ No newline at end of file
diff --git a/SpineViewer/Controls/SpineViewPropertyGrid.en.resx b/SpineViewer/Controls/SpineViewPropertyGrid.en.resx
index 3cccd44..3d224ad 100644
--- a/SpineViewer/Controls/SpineViewPropertyGrid.en.resx
+++ b/SpineViewer/Controls/SpineViewPropertyGrid.en.resx
@@ -1,17 +1,17 @@
-
@@ -117,38 +117,48 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Basic Information
+
+ Animation
+
+
+ Remove
+
+
+ Render
+
+
+ Slot
+
+
+ Skin
263, 330
-
- Render
+
+ Transform
263, 330
-
- Transform
-
-
- Skin
-
-
- Slot
-
-
- Animation
-
Debug
+
+ Reload skin
+
263, 330
+
+
+
+
263, 330
+
+ Basic Information
+
\ No newline at end of file
diff --git a/SpineViewer/Forms/SpineViewerForm.cs b/SpineViewer/Forms/SpineViewerForm.cs
index 59d7a8e..9a25624 100644
--- a/SpineViewer/Forms/SpineViewerForm.cs
+++ b/SpineViewer/Forms/SpineViewerForm.cs
@@ -6,6 +6,7 @@ using SpineViewer.Natives;
using SpineViewer.Utils;
using SpineViewer.Spine.SpineExporter;
using System.Configuration;
+using SpineViewer.Utils.Localize;
namespace SpineViewer
{
diff --git a/SpineViewer/Program.cs b/SpineViewer/Program.cs
index 3b60da6..c7fcc8b 100644
--- a/SpineViewer/Program.cs
+++ b/SpineViewer/Program.cs
@@ -1,5 +1,6 @@
using NLog;
using SpineViewer.Utils;
+using SpineViewer.Utils.Localize;
using System.Configuration;
using System.Diagnostics;
using System.Globalization;
@@ -7,7 +8,7 @@ using System.Reflection;
namespace SpineViewer
{
- internal static class Program
+ internal static class Program
{
/////
///// 程序路径
@@ -44,15 +45,13 @@ namespace SpineViewer
{
// 此处先初始化全局配置再触发静态字段 Logger 引用构造, 才能将配置应用到新的日志器上
InitializeLogConfiguration();
- logger.Info("Program Started");
-
-
+ logger.Info("Program Started");
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
LocalizeConfiguration.SetCulture();
- logger.Info($"Culture info: {CultureInfo.CurrentCulture}");
+
try
{
Application.Run(new SpineViewerForm() { Text = $"SpineViewer - v{Version}"});
diff --git a/SpineViewer/Properties/Resources.Designer.cs b/SpineViewer/Properties/Resources.Designer.cs
index 82dd002..130d80d 100644
--- a/SpineViewer/Properties/Resources.Designer.cs
+++ b/SpineViewer/Properties/Resources.Designer.cs
@@ -60,6 +60,159 @@ namespace SpineViewer.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to 自定义.
+ ///
+ internal static string categoryCustom {
+ get {
+ return ResourceManager.GetString("categoryCustom", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to [0] 导出.
+ ///
+ internal static string categoryExport {
+ get {
+ return ResourceManager.GetString("categoryExport", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to [1] 预览.
+ ///
+ internal static string categoryPreview {
+ get {
+ return ResourceManager.GetString("categoryPreview", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 相关联的 SpineListView.
+ ///
+ internal static string descAssociatedSpineListView {
+ get {
+ return ResourceManager.GetString("descAssociatedSpineListView", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 用于显示画面属性的属性页.
+ ///
+ internal static string descDisplayImageProperties {
+ get {
+ return ResourceManager.GetString("descDisplayImageProperties", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 背景颜色.
+ ///
+ internal static string displayBackgroundColor {
+ get {
+ return ResourceManager.GetString("displayBackgroundColor", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 画面中心点.
+ ///
+ internal static string displayCenter {
+ get {
+ return ResourceManager.GetString("displayCenter", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 水平翻转.
+ ///
+ internal static string displayFlipHorizontal {
+ get {
+ return ResourceManager.GetString("displayFlipHorizontal", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 垂直翻转.
+ ///
+ internal static string displayFlipVertical {
+ get {
+ return ResourceManager.GetString("displayFlipVertical", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 最大帧率.
+ ///
+ internal static string displayMaximumFrameRate {
+ get {
+ return ResourceManager.GetString("displayMaximumFrameRate", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 仅渲染选中.
+ ///
+ internal static string displayRenderSelected {
+ get {
+ return ResourceManager.GetString("displayRenderSelected", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 分辨率.
+ ///
+ internal static string displayResolution {
+ get {
+ return ResourceManager.GetString("displayResolution", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 旋转.
+ ///
+ internal static string displayRotation {
+ get {
+ return ResourceManager.GetString("displayRotation", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 显示坐标轴.
+ ///
+ internal static string displayShowAxis {
+ get {
+ return ResourceManager.GetString("displayShowAxis", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 缩放.
+ ///
+ internal static string displayZoom {
+ get {
+ return ResourceManager.GetString("displayZoom", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 已选择 .
+ ///
+ internal static string itemCountPrefix {
+ get {
+ return ResourceManager.GetString("itemCountPrefix", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 个文件.
+ ///
+ internal static string itemCountSuffix {
+ get {
+ return ResourceManager.GetString("itemCountSuffix", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to 语言已设为英语。立即重启应用程序吗?.
///
diff --git a/SpineViewer/Properties/Resources.en-US.resx b/SpineViewer/Properties/Resources.en-US.resx
index 115e246..4ace5d0 100644
--- a/SpineViewer/Properties/Resources.en-US.resx
+++ b/SpineViewer/Properties/Resources.en-US.resx
@@ -117,6 +117,58 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Custom
+
+
+ [0] Export
+
+
+ [1] Preview
+
+
+ Associated SpineListView
+
+
+ Property page for displaying image properties
+
+
+ Background color
+
+
+ Center point of screen
+
+
+ Flip horizontal
+
+
+ Flip vertical
+
+
+ Maximum frame rate
+
+
+ Render selected only
+
+
+ Resolution
+
+
+ Rotation
+
+
+ Show axis
+
+
+ Zoom
+
+
+
+
+
+
+ item(s) selected.
+
Language set to Simplified Chinese. Restart application now?
diff --git a/SpineViewer/Properties/Resources.resx b/SpineViewer/Properties/Resources.resx
index 89c9b30..2a5c952 100644
--- a/SpineViewer/Properties/Resources.resx
+++ b/SpineViewer/Properties/Resources.resx
@@ -117,6 +117,57 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 自定义
+
+
+ [0] 导出
+
+
+ [1] 预览
+
+
+ 相关联的 SpineListView
+
+
+ 用于显示画面属性的属性页
+
+
+ 背景颜色
+
+
+ 画面中心点
+
+
+ 水平翻转
+
+
+ 垂直翻转
+
+
+ 最大帧率
+
+
+ 仅渲染选中
+
+
+ 分辨率
+
+
+ 旋转
+
+
+ 显示坐标轴
+
+
+ 缩放
+
+
+ 已选择
+
+
+ 个文件
+
语言已设为英语。立即重启应用程序吗?
diff --git a/SpineViewer/SpineViewer.csproj b/SpineViewer/SpineViewer.csproj
index 738a129..36c3b68 100644
--- a/SpineViewer/SpineViewer.csproj
+++ b/SpineViewer/SpineViewer.csproj
@@ -49,6 +49,9 @@
+
+
+
ResXFileCodeGenerator
Resources.Designer.cs