diff --git a/DynStatDisk.sln b/DynStatDisk.sln
new file mode 100644
index 0000000..8b36ebb
--- /dev/null
+++ b/DynStatDisk.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.4.33213.308
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynStatDisk.App", "EleBox.App\DynStatDisk.App.csproj", "{0C0004E9-1CE3-43A3-BAE6-16547AFB1CA8}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0C0004E9-1CE3-43A3-BAE6-16547AFB1CA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0C0004E9-1CE3-43A3-BAE6-16547AFB1CA8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0C0004E9-1CE3-43A3-BAE6-16547AFB1CA8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0C0004E9-1CE3-43A3-BAE6-16547AFB1CA8}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {2FE4A854-FDA6-410C-A41F-1503D0BD085B}
+ EndGlobalSection
+EndGlobal
diff --git a/EleBox.App/App.config b/EleBox.App/App.config
new file mode 100644
index 0000000..8de7988
--- /dev/null
+++ b/EleBox.App/App.config
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EleBox.App/Com/BitStateSgl.cs b/EleBox.App/Com/BitStateSgl.cs
new file mode 100644
index 0000000..b826ca3
--- /dev/null
+++ b/EleBox.App/Com/BitStateSgl.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DynStatDisk.App.Com
+{
+ public class BitStateSgl
+ {
+ public BitStateSgl(string sglName, bool state)
+ {
+ SglName = sglName;
+ State = state;
+ }
+
+ ///
+ /// 信号名称
+ ///
+ public string SglName { get; set; }
+
+ ///
+ /// 信号状态
+ ///
+ public bool State { get; set; }
+
+ }
+}
diff --git a/EleBox.App/Com/ConfigHelper.cs b/EleBox.App/Com/ConfigHelper.cs
new file mode 100644
index 0000000..a22df27
--- /dev/null
+++ b/EleBox.App/Com/ConfigHelper.cs
@@ -0,0 +1,59 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DynStatDisk.App.Com
+{
+ public class ConfigHelper
+ {
+ Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
+ ///
+ /// 根据Key取Value值
+ ///
+ ///
+ public static string GetValue(string key)
+ {
+ return ConfigurationManager.AppSettings[key].ToString().Trim();
+ }
+
+ ///
+ /// 根据Key修改Value
+ ///
+ /// 要修改的Key
+ /// 要修改为的值
+ public static void SetValue(string key, string value)
+ {
+ //ConfigurationManager.AppSettings.Set(key, value);
+ //cfa.AppSettings.Settings[key].Value = value;
+ //cfa.Save();
+
+ Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
+ configuration.AppSettings.Settings[key].Value = value;
+ configuration.Save();
+ ConfigurationManager.RefreshSection("appSettings");
+ }
+
+ ///
+ /// 添加新的Key ,Value键值对
+ ///
+ /// Key
+ /// Value
+ public static void Add(string key, string value)
+ {
+ ConfigurationManager.AppSettings.Add(key, value);
+ }
+
+ ///
+ /// 根据Key删除项
+ ///
+ /// Key
+ public static void Remove(string key)
+ {
+ ConfigurationManager.AppSettings.Remove(key);
+ }
+
+ }
+}
diff --git a/EleBox.App/Com/IntStateSgl.cs b/EleBox.App/Com/IntStateSgl.cs
new file mode 100644
index 0000000..ef05d91
--- /dev/null
+++ b/EleBox.App/Com/IntStateSgl.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DynStatDisk.App.Com
+{
+ public class IntStateSgl
+ {
+ public IntStateSgl(string sglName, int state, int standardState)
+ {
+ SglName = sglName;
+ State = state;
+ StandardState = standardState;
+ }
+
+ ///
+ /// 信号名称
+ ///
+ public string SglName { get; set; }
+
+ ///
+ /// 信号状态 标准
+ ///
+ public int StandardState { get; set; }
+
+
+ ///
+ /// 信号状态
+ ///
+ public int State { get; set; }
+ }
+}
diff --git a/EleBox.App/Com/OpActionState.cs b/EleBox.App/Com/OpActionState.cs
new file mode 100644
index 0000000..a275201
--- /dev/null
+++ b/EleBox.App/Com/OpActionState.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DynStatDisk.App.Com
+{
+ ///
+ /// 操作状态
+ ///
+ public class OpActionState
+ {
+ public OpActionState(string name, string currentCategory)
+ {
+ Name = name;
+ CurrentCategory = currentCategory;
+ CurrentResult = false;
+ }
+
+ ///
+ /// 名称
+ ///
+ public string Name { get; set; }
+
+ ///
+ /// 当前部品类型
+ ///
+ public string CurrentCategory { get; set; }
+
+ ///
+ /// 当前结果数据
+ ///
+ public bool CurrentResult { get; set; }
+ }
+}
diff --git a/EleBox.App/Com/PLCSglModel.cs b/EleBox.App/Com/PLCSglModel.cs
new file mode 100644
index 0000000..7ba0fc3
--- /dev/null
+++ b/EleBox.App/Com/PLCSglModel.cs
@@ -0,0 +1,107 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DynStatDisk.App.Com
+{
+ public class PLCSglModel
+ {
+ public delegate void CylinderNoSglDelegate(bool UpdateValue, string UpdateName);
+ public event CylinderNoSglDelegate CylinderNoSglEvent;
+
+ public delegate void PalletPassSglDelegate(bool UpdateValue, string UpdateName);
+ public event PalletPassSglDelegate PalletPassSglEvent;
+
+ public delegate void TongZhiGuiSglDelegate(bool UpdateValue, string UpdateName);
+ public event TongZhiGuiSglDelegate TongZhiGuiSglEvent;
+
+ public PLCSglModel()
+ {
+ _CodeEnable = false;
+
+ }
+
+
+ private bool _CodeEnable;
+ ///
+ /// 条码准备完毕信号
+ ///
+ public bool CodeEnable
+ {
+ get
+ {
+ return _CodeEnable;
+ }
+ set
+ {
+ if (value != _CodeEnable && value == true)
+ {
+ _CodeEnable = value;
+ CylinderNoSglEvent(true, "CodeReadOK");//开始动作
+ }
+ else if (value != _CodeEnable && value == false)
+ {
+ _CodeEnable = false;
+ //PLCCodeEnableEvent(false, "记录和计算信号OFF");
+ }
+ }
+ }
+
+
+ private bool _PalletPassEnable;
+ ///
+ /// 托盘放行信号
+ ///
+ public bool PalletPassEnable
+ {
+ get
+ {
+ return _PalletPassEnable;
+ }
+ set
+ {
+ if (value != _PalletPassEnable && value == true)
+ {
+ _PalletPassEnable = value;
+ PalletPassSglEvent(true, "PalletPass");//开始动作
+ }
+ else if (value != _PalletPassEnable && value == false)
+ {
+ _PalletPassEnable = false;
+ //PLCCodeEnableEvent(false, "记录和计算信号OFF");
+ }
+ }
+ }
+
+
+ private bool _TongZhiGuiEnable;
+ ///
+ /// 通止规信号
+ ///
+ public bool TongZhiGuiEnable
+ {
+ get
+ {
+ return _TongZhiGuiEnable;
+ }
+ set
+ {
+ if (value != _TongZhiGuiEnable && value == true)
+ {
+ _TongZhiGuiEnable = value;
+ //TongZhiGuiSglEvent(false, "Off");//开始动作
+ TongZhiGuiSglEvent(true, "ON");//开始动作
+ }
+ else if (value != _TongZhiGuiEnable && value == false)
+ {
+ //从On到Off是通止规的启用的信号
+ _TongZhiGuiEnable = value;
+ //TongZhiGuiSglEvent(true, "ON");//开始动作
+ TongZhiGuiSglEvent(false, "Off");//开始动作
+ }
+ }
+ }
+ }
+}
diff --git a/EleBox.App/Com/PhotoImage.cs b/EleBox.App/Com/PhotoImage.cs
new file mode 100644
index 0000000..b268bb1
--- /dev/null
+++ b/EleBox.App/Com/PhotoImage.cs
@@ -0,0 +1,10 @@
+using System.Drawing;
+
+namespace DynStatDisk.App.Com
+{
+ public class PhotoImage
+ {
+ public string MachineModel { get; set; }
+ public Image ImageInfo { get; set; }
+ }
+}
diff --git a/EleBox.App/Com/StateModel.cs b/EleBox.App/Com/StateModel.cs
new file mode 100644
index 0000000..4d2a867
--- /dev/null
+++ b/EleBox.App/Com/StateModel.cs
@@ -0,0 +1,89 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DynStatDisk.App.Com
+{
+ public class StateModel
+ {
+ public delegate void StateSglDelegate(bool UpdateValue, string Name, string Category);
+ public event StateSglDelegate StateSglSglEvent;
+
+ public StateModel(string name, string category, List listBitStateSgl)
+ {
+ Name = name;
+ Category = category;
+ ListBitStateSgl = listBitStateSgl;
+ }
+
+ public StateModel(string name, string category, List listIntStateSgl)
+ {
+ Name = name;
+ Category = category;
+ ListIntStateSgl = listIntStateSgl;
+ }
+
+ ///
+ /// 名称
+ ///
+ public string Name { get; set; }
+
+ ///
+ /// 类型
+ ///
+ public string Category { get; set; }
+
+ ///
+ /// 复位状态
+ ///
+ public void ResetResult()
+ {
+ _Result = false;
+ }
+
+ private bool _Result;
+ ///
+ /// 结果判断
+ ///
+ public bool Result
+ {
+ get
+ {
+ return _Result;
+ }
+ set
+ {
+ if (value != _Result && value == true)
+ {
+ _Result = value;
+ StateSglSglEvent(true, Name, Category);//开始动作
+ }
+ else if (value != _Result && value == false)
+ {
+ _Result = false;
+ //StateSglSglEvent(false, Name, Category);//开始动作
+ }
+ }
+ }
+
+
+ ///
+ /// 临时暂存的结果
+ ///
+ public bool TempBitValue { get; set; }
+
+
+ ///
+ /// 信号状态集合 Bool
+ ///
+ public List ListBitStateSgl { get; set; }
+
+ ///
+ /// 信号状态集合 Int
+ ///
+ public List ListIntStateSgl { get; set; }
+
+ }
+}
diff --git a/EleBox.App/DynStatDisk.App.csproj b/EleBox.App/DynStatDisk.App.csproj
new file mode 100644
index 0000000..e4edcad
--- /dev/null
+++ b/EleBox.App/DynStatDisk.App.csproj
@@ -0,0 +1,500 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {0C0004E9-1CE3-43A3-BAE6-16547AFB1CA8}
+ WinExe
+ DynStatDisk.App
+ DynStatDisk.App
+ v4.8.1
+ 512
+ true
+ true
+
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ Images\P0.ico
+
+
+
+
+
+
+
+
+ ..\packages\Portable.BouncyCastle.1.8.6\lib\net40\BouncyCastle.Crypto.dll
+
+
+ ..\packages\FreeSql.3.2.693\lib\net451\FreeSql.dll
+
+
+ ..\packages\FreeSql.Provider.SqlServer.3.2.693\lib\net451\FreeSql.Provider.SqlServer.dll
+
+
+ ..\packages\HslCommunication.12.0.3\lib\net451\HslCommunication.dll
+
+
+ ..\packages\SharpZipLib.1.3.1\lib\net45\ICSharpCode.SharpZipLib.dll
+
+
+ ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll
+
+
+ ..\packages\NLog.5.1.3\lib\net46\NLog.dll
+
+
+ ..\packages\NPOI.2.5.4\lib\net45\NPOI.dll
+
+
+ ..\packages\NPOI.2.5.4\lib\net45\NPOI.OOXML.dll
+
+
+ ..\packages\NPOI.2.5.4\lib\net45\NPOI.OpenXml4Net.dll
+
+
+ ..\packages\NPOI.2.5.4\lib\net45\NPOI.OpenXmlFormats.dll
+
+
+
+
+
+ ..\packages\System.Data.SqlClient.4.8.5\lib\net461\System.Data.SqlClient.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ frmMachineModelConfig.cs
+
+
+ Form
+
+
+ frmHistoryData.cs
+
+
+ Form
+
+
+ FrmUserManage.cs
+
+
+
+ Form
+
+
+ Main.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ frmMachineModelConfig.cs
+
+
+ frmHistoryData.cs
+
+
+ FrmUserManage.cs
+
+
+ Main.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ Designer
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/EleBox.App/FSqlContext.cs b/EleBox.App/FSqlContext.cs
new file mode 100644
index 0000000..e6aa971
--- /dev/null
+++ b/EleBox.App/FSqlContext.cs
@@ -0,0 +1,17 @@
+using DynStatDisk.App.Com;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DynStatDisk.App
+{
+ public class FSqlContext
+ {
+ public static IFreeSql FDb = new FreeSql.FreeSqlBuilder()
+ .UseConnectionString(FreeSql.DataType.SqlServer, ConfigHelper.GetValue("connecting"))
+ .UseAutoSyncStructure(true) //自动同步实体结构到数据库
+ .Build(); //请务必定义成 Singleton 单例模式
+ }
+}
diff --git a/EleBox.App/FrmUserManage.Designer.cs b/EleBox.App/FrmUserManage.Designer.cs
new file mode 100644
index 0000000..7fa5b4a
--- /dev/null
+++ b/EleBox.App/FrmUserManage.Designer.cs
@@ -0,0 +1,229 @@
+namespace DynStatDisk.App
+{
+ partial class FrmUserManage
+ {
+ ///
+ /// 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()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmUserManage));
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.btnClose = new System.Windows.Forms.Button();
+ this.btnDelete = new System.Windows.Forms.Button();
+ this.btnAdd = new System.Windows.Forms.Button();
+ this.btnEdit = new System.Windows.Forms.Button();
+ this.panel3 = new System.Windows.Forms.Panel();
+ this.cbxLevel = new System.Windows.Forms.ComboBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.lblPwd = new System.Windows.Forms.Label();
+ this.txtPwd = new System.Windows.Forms.TextBox();
+ this.txtName = new System.Windows.Forms.TextBox();
+ this.label5 = new System.Windows.Forms.Label();
+ this.listView1 = new System.Windows.Forms.ListView();
+ this.groupBox1.SuspendLayout();
+ this.panel3.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.btnClose);
+ this.groupBox1.Controls.Add(this.btnDelete);
+ this.groupBox1.Controls.Add(this.btnAdd);
+ this.groupBox1.Controls.Add(this.btnEdit);
+ this.groupBox1.Controls.Add(this.panel3);
+ this.groupBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.groupBox1.Location = new System.Drawing.Point(3, -1);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(710, 157);
+ this.groupBox1.TabIndex = 7;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "操作";
+ //
+ // btnClose
+ //
+ this.btnClose.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnClose.Location = new System.Drawing.Point(597, 21);
+ this.btnClose.Name = "btnClose";
+ this.btnClose.Size = new System.Drawing.Size(94, 47);
+ this.btnClose.TabIndex = 30;
+ this.btnClose.Text = "关闭";
+ this.btnClose.UseVisualStyleBackColor = true;
+ this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
+ //
+ // btnDelete
+ //
+ this.btnDelete.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnDelete.Location = new System.Drawing.Point(497, 21);
+ this.btnDelete.Name = "btnDelete";
+ this.btnDelete.Size = new System.Drawing.Size(94, 47);
+ this.btnDelete.TabIndex = 29;
+ this.btnDelete.Text = "删除";
+ this.btnDelete.UseVisualStyleBackColor = true;
+ this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
+ //
+ // btnAdd
+ //
+ this.btnAdd.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnAdd.Location = new System.Drawing.Point(297, 20);
+ this.btnAdd.Name = "btnAdd";
+ this.btnAdd.Size = new System.Drawing.Size(94, 47);
+ this.btnAdd.TabIndex = 27;
+ this.btnAdd.Text = "增加";
+ this.btnAdd.UseVisualStyleBackColor = true;
+ this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
+ //
+ // btnEdit
+ //
+ this.btnEdit.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnEdit.Location = new System.Drawing.Point(397, 20);
+ this.btnEdit.Name = "btnEdit";
+ this.btnEdit.Size = new System.Drawing.Size(94, 47);
+ this.btnEdit.TabIndex = 28;
+ this.btnEdit.Text = "修改";
+ this.btnEdit.UseVisualStyleBackColor = true;
+ this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
+ //
+ // panel3
+ //
+ this.panel3.BackColor = System.Drawing.SystemColors.ControlLight;
+ this.panel3.Controls.Add(this.cbxLevel);
+ this.panel3.Controls.Add(this.label2);
+ this.panel3.Controls.Add(this.lblPwd);
+ this.panel3.Controls.Add(this.txtPwd);
+ this.panel3.Controls.Add(this.txtName);
+ this.panel3.Controls.Add(this.label5);
+ this.panel3.Location = new System.Drawing.Point(0, 77);
+ this.panel3.Name = "panel3";
+ this.panel3.Size = new System.Drawing.Size(710, 74);
+ this.panel3.TabIndex = 26;
+ //
+ // cbxLevel
+ //
+ this.cbxLevel.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.cbxLevel.FormattingEnabled = true;
+ this.cbxLevel.Location = new System.Drawing.Point(409, 35);
+ this.cbxLevel.Name = "cbxLevel";
+ this.cbxLevel.Size = new System.Drawing.Size(121, 33);
+ this.cbxLevel.TabIndex = 21;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label2.Location = new System.Drawing.Point(422, 12);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(42, 21);
+ this.label2.TabIndex = 20;
+ this.label2.Text = "级别";
+ //
+ // lblPwd
+ //
+ this.lblPwd.AutoSize = true;
+ this.lblPwd.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.lblPwd.Location = new System.Drawing.Point(285, 12);
+ this.lblPwd.Name = "lblPwd";
+ this.lblPwd.Size = new System.Drawing.Size(42, 21);
+ this.lblPwd.TabIndex = 19;
+ this.lblPwd.Text = "密码";
+ //
+ // txtPwd
+ //
+ this.txtPwd.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.txtPwd.Location = new System.Drawing.Point(209, 35);
+ this.txtPwd.Name = "txtPwd";
+ this.txtPwd.Size = new System.Drawing.Size(200, 33);
+ this.txtPwd.TabIndex = 13;
+ //
+ // txtName
+ //
+ this.txtName.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.txtName.Location = new System.Drawing.Point(9, 35);
+ this.txtName.Name = "txtName";
+ this.txtName.Size = new System.Drawing.Size(200, 33);
+ this.txtName.TabIndex = 5;
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label5.Location = new System.Drawing.Point(82, 12);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(58, 21);
+ this.label5.TabIndex = 8;
+ this.label5.Text = "用户名";
+ //
+ // listView1
+ //
+ this.listView1.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.listView1.FullRowSelect = true;
+ this.listView1.GridLines = true;
+ this.listView1.HideSelection = false;
+ this.listView1.Location = new System.Drawing.Point(0, 155);
+ this.listView1.Name = "listView1";
+ this.listView1.Size = new System.Drawing.Size(714, 506);
+ this.listView1.TabIndex = 6;
+ this.listView1.UseCompatibleStateImageBehavior = false;
+ this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged_1);
+ //
+ // FrmUserManage
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(714, 661);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.listView1);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(4);
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "FrmUserManage";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "用户管理";
+ this.Load += new System.EventHandler(this.FrmUserManage_Load);
+ this.groupBox1.ResumeLayout(false);
+ this.panel3.ResumeLayout(false);
+ this.panel3.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Button btnClose;
+ private System.Windows.Forms.Button btnDelete;
+ private System.Windows.Forms.Button btnAdd;
+ private System.Windows.Forms.Button btnEdit;
+ private System.Windows.Forms.Panel panel3;
+ private System.Windows.Forms.ComboBox cbxLevel;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label lblPwd;
+ private System.Windows.Forms.TextBox txtPwd;
+ private System.Windows.Forms.TextBox txtName;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.ListView listView1;
+ }
+}
\ No newline at end of file
diff --git a/EleBox.App/FrmUserManage.cs b/EleBox.App/FrmUserManage.cs
new file mode 100644
index 0000000..00dce57
--- /dev/null
+++ b/EleBox.App/FrmUserManage.cs
@@ -0,0 +1,332 @@
+using DynStatDisk.App.Com;
+using DynStatDisk.App.Model;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace DynStatDisk.App
+{
+ public partial class FrmUserManage : Form
+ {
+ private string CurrentMachineName = string.Empty;
+
+ private string CurrentUserLevel = "用户";
+
+ public FrmUserManage(string Level)
+ {
+ InitializeComponent();
+ CurrentUserLevel = Level;
+ }
+
+ //单例模式
+ private static FrmUserManage frm = null;
+ public static FrmUserManage CreateInstrance(string Level)
+ {
+ if (frm == null || frm.IsDisposed)
+ {
+ frm = new FrmUserManage(Level);
+ }
+ return frm;
+ }
+
+ //FSQL实例
+ //static IFreeSql Fsql;
+ private List InitialLoadList = new List();
+ private long SelectedId;
+
+ ///
+ /// 实例化
+ ///
+ ///
+ ///
+ private void FrmUserManage_Load(object sender, EventArgs e)
+ {
+ if (ConfigHelper.GetValue("Location") == "KP")
+ {
+ CurrentMachineName = "动静盘安装-KP";
+ }
+ else
+ {
+ CurrentMachineName = "动静盘安装-G";
+ }
+
+ //获取程序的配置信息
+ var SqlCon = ConfigHelper.GetValue("connecting");
+
+ //Fsql = new FreeSql.FreeSqlBuilder()
+ // .UseConnectionString(FreeSql.DataType.SqlServer, SqlCon)
+ // .UseAutoSyncStructure(true) //自动同步实体结构到数据库
+ // .Build(); //请务必定义成 Singleton 单例模式
+
+ LoadComboxBoxData();
+ listView1.Columns.Clear();
+ LoadListView1Column();
+ LoadData();
+ }
+
+ private void btnAdd_Click(object sender, EventArgs e)
+ {
+ if (!string.IsNullOrEmpty(txtName.Text.Trim()) &&
+ !string.IsNullOrEmpty(txtPwd.Text.Trim()) &&
+ !string.IsNullOrEmpty(cbxLevel.SelectedItem.ToString().Trim()))
+ {
+ var ReturnData = FSqlContext.FDb.Insert(
+ new TbUser()
+ {
+ UserName = txtName.Text.Trim(),
+ Password = txtPwd.Text.Trim(),
+ AccessLevel = cbxLevel.SelectedItem.ToString().Trim(),
+ MachineName = CurrentMachineName
+ }
+ ).ExecuteInserted();
+
+ LoadData();
+ }
+ else
+ {
+ MessageBox.Show("有空的数据存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ }
+ }
+
+ private void btnEdit_Click(object sender, EventArgs e)
+ {
+ if (CurrentUserLevel == "管理员")
+ {
+ FSqlContext.FDb.Update()
+ .Set(a => a.UserName, txtName.Text.Trim())
+ .Set(a => a.Password, txtPwd.Text.Trim())
+ .Set(a => a.AccessLevel, cbxLevel.SelectedItem.ToString().Trim())
+ .Where(a => a.Id == SelectedId)
+ .ExecuteAffrows();
+
+ LoadData();
+ }
+ else
+ {
+ MessageBox.Show("你没有权限编辑!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+
+ }
+
+ private void btnDelete_Click(object sender, EventArgs e)
+ {
+ if (DialogResult.OK == MessageBox.Show("你确定要删除当前选中的数据行?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information))
+ {
+ FSqlContext.FDb.Delete(SelectedId).ExecuteAffrows();
+
+ LoadData();
+ }
+ }
+
+ private void btnClose_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+
+
+ private void LoadListView1Column()
+ {
+ ColumnHeader h0 = new ColumnHeader();
+ ColumnHeader h1 = new ColumnHeader();
+ ColumnHeader h2 = new ColumnHeader();
+ ColumnHeader h3 = new ColumnHeader();
+ ColumnHeader h4 = new ColumnHeader();
+ ColumnHeader h5 = new ColumnHeader();
+ ColumnHeader h6 = new ColumnHeader();
+ ColumnHeader h7 = new ColumnHeader();
+ ColumnHeader h8 = new ColumnHeader();
+ ColumnHeader h9 = new ColumnHeader();
+ ColumnHeader h10 = new ColumnHeader();
+ ColumnHeader h11 = new ColumnHeader();
+ ColumnHeader h12 = new ColumnHeader();
+ ColumnHeader h13 = new ColumnHeader();
+
+ h1.TextAlign = HorizontalAlignment.Center;
+ h2.TextAlign = HorizontalAlignment.Center;
+ h3.TextAlign = HorizontalAlignment.Center;
+ h4.TextAlign = HorizontalAlignment.Center;
+ h5.TextAlign = HorizontalAlignment.Center;
+ h6.TextAlign = HorizontalAlignment.Center;
+ h7.TextAlign = HorizontalAlignment.Center;
+ h8.TextAlign = HorizontalAlignment.Center;
+ h9.TextAlign = HorizontalAlignment.Center;
+ h10.TextAlign = HorizontalAlignment.Center;
+ h11.TextAlign = HorizontalAlignment.Center;
+ h12.TextAlign = HorizontalAlignment.Center;
+ h13.TextAlign = HorizontalAlignment.Center;
+
+ h0.Width = 10;
+ h1.Width = 200;
+ h2.Width = 200;
+ h3.Width = 120;
+ h4.Width = 160;
+ h5.Width = 0;
+ h6.Width = 100;
+ h7.Width = 100;
+ h8.Width = 70;
+ h9.Width = 40;
+ h10.Width = 100;
+ h11.Width = 100;
+ h12.Width = 100;
+ h13.Width = 0;
+
+ h0.Text = "";
+ h1.Text = "用户名";
+ h2.Text = "密码";
+ h3.Text = "级别";
+ h4.Text = "创建时间";
+ h5.Text = "";
+ h6.Text = "活塞精加工号长度";
+ h7.Text = "活塞整框个数";
+ h8.Text = "曲轴精加工号长度";
+ h9.Text = "曲轴整框个数";
+ h10.Text = "活塞油沟";
+ h11.Text = "吸油管压入";
+ h12.Text = "创建时间";
+ h13.Text = "";
+ //h14.Text = "";
+
+ listView1.Columns.AddRange(new ColumnHeader[] { h0, h1, h2, h3, h4, h5 });
+ listView1.View = View.Details;
+ }
+
+ private void InsertlistView1Result(long guid, string UserName, string Pwd, string Level, DateTime dateTime)
+ {
+ ListViewItem lvi = new ListViewItem();
+ lvi.ImageIndex = 0;
+ lvi.Text = "";
+ lvi.SubItems.Add(UserName.ToString());
+ lvi.SubItems.Add(Pwd.ToString());
+ lvi.SubItems.Add(Level.ToString());
+ lvi.SubItems.Add(dateTime.ToString("yyyy-MM-dd HH:mm:ss"));
+ lvi.SubItems.Add(guid.ToString());
+ this.listView1.Items.Add(lvi);
+ }
+
+ private void LoadData()
+ {
+ listView1.Items.Clear();
+ //InitialLoadList.Clear();
+ //加载数据
+ if (CurrentUserLevel == "管理员")
+ {
+ InitialLoadList = FSqlContext.FDb.Select().Where(a => a.MachineName == CurrentMachineName).ToList();
+ }
+ else
+ {
+ InitialLoadList = FSqlContext.FDb.Select().Where(a => a.MachineName == CurrentMachineName && a.AccessLevel == CurrentUserLevel).ToList();
+ }
+
+ if (InitialLoadList.Count > 0)
+ {
+ var data = InitialLoadList.OrderBy(a => a.CreateTime).ToList();
+ foreach (var item in data)
+ {
+ InsertlistView1Result(item.Id,
+ item.UserName,
+ item.Password,
+ item.AccessLevel,
+ item.CreateTime
+ );
+ }
+
+ }
+ }
+
+
+ private void LoadComboxBoxData()
+ {
+ this.cbxLevel.Items.Clear();
+
+ this.cbxLevel.Items.Add("用户");//赋值
+ this.cbxLevel.SelectedIndex = 0;//设置下标
+
+ this.cbxLevel.Items.Add("管理员");//赋值
+ this.cbxLevel.SelectedIndex = 1;//下标
+
+ this.cbxLevel.SelectedIndex = 1;//默认显示LHK
+
+ }
+
+ private void listView1_SelectedIndexChanged_1(object sender, EventArgs e)
+ {
+ if (listView1.SelectedIndices.Count > 0 && listView1.SelectedIndices != null && listView1.FocusedItem != null)
+ {
+ txtName.Text = listView1.FocusedItem.SubItems[1].Text;
+ txtPwd.Text = listView1.FocusedItem.SubItems[2].Text;
+ //cbxLevel.SelectedItem = listView1.FocusedItem.SubItems[3].Text;
+
+ switch (listView1.FocusedItem.SubItems[3].Text)
+ {
+ case "用户":
+ cbxLevel.SelectedIndex = 0;
+ break;
+ case "管理员":
+ cbxLevel.SelectedIndex = 1;
+ break;
+ default:
+ break;
+ }
+ var guid = listView1.FocusedItem.SubItems[5].Text;
+ SelectedId = long.Parse(guid);
+
+ }
+ }
+
+ //private void btnAddUser_Click(object sender, EventArgs e)
+ //{
+ // if (string.IsNullOrEmpty(txtAddUserName.Text))
+ // {
+ // MessageBox.Show("用户名没有输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ // return;
+ // }
+ // if (string.IsNullOrEmpty(txtPassword.Text))
+ // {
+ // MessageBox.Show("密码没有输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ // return;
+ // }
+
+ // var ListUser = Fsql.Select().Where(a => a.UserName == txtAddUserName.Text.Trim()).ToList();
+ // if (ListUser.Count() == 0)
+ // {
+ // Fsql.Insert(new TbUser()
+ // {
+ // UserName = txtAddUserName.Text.Trim(),
+ // Password = txtPassword.Text.Trim(),
+ // AccessLevel = UserInfo,
+ // MachineName = CurrentMachineName
+ // }).ExecuteAffrows();
+
+
+ // MessageBox.Show("添加用户成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+
+ // txtAddUserName.Text = "";
+ // txtPassword.Text = "";
+
+ // this.Close();
+ // }
+ // else
+ // {
+ // MessageBox.Show("当前用户已经存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ // }
+ //}
+
+ //private void cbxManager_CheckStateChanged(object sender, EventArgs e)
+ //{
+ // if (cbxManager.CheckState == CheckState.Checked)
+ // {
+ // UserInfo = "管理员";
+ // }
+ // else
+ // {
+ // UserInfo = "用户";
+ // }
+ //}
+ }
+}
diff --git a/EleBox.App/FrmUserManage.resx b/EleBox.App/FrmUserManage.resx
new file mode 100644
index 0000000..5b044c9
--- /dev/null
+++ b/EleBox.App/FrmUserManage.resx
@@ -0,0 +1,1253 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+ AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABMLAAATCwAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAWAAAAJgAAADUAAABLAAAAXAAAAGoAAABpAAAAaQAA
+ AGkAAABpAAAAagAAAFwAAABLAAAANQAAACYAAAAWAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAkAAAATgAAAH4AAACqAAAAywAA
+ AOEAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAA
+ AOEAAADLAAAAqgAAAH4AAABOAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAA
+ AFQAAACQAAAA0QAAAO8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAA0QAA
+ AJAAAABUAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAdAAAAYAAAAK8AAADrAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADrAAAArwAAAGAAAAAdAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABDAAAAnwAAAOgAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAACfAAAAQwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAwAAABjAAAAxwAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AgUA/wMJAP8FDgD/BQ4A/wUOAP8FDgD/BQ4A/wUNAP8DCQD/AgQA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD+AAAAxwAAAGMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABnAAAA1AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8FDAD/DB4A/xU0AP8dTAD/JmIA/ytwAP8wfAD/M4UA/zaP
+ AP83kQD/N5IA/zeRAP82kAD/No4A/zOEAP8wfAD/Km8A/yZhAP8dSwD/FDQA/wweAP8FDAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANQAAABnAAAADgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABbAAAA0gAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAoA/xAoAP8cRwD/K2sA/zSC
+ AP85kgD/PJoA/z2cAP89nwD/Pp8A/z2gAP89oAD/PaEA/z6jAP8+pAD/PqMA/z2iAP89oAD/PZ8A/z2f
+ AP89ngD/PZ0A/z2bAP88mQD/OZEA/zSCAP8ragD/HEcA/xAoAP8ECgD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADSAAAAWwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAA5AAAAugAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8FDAD/FDEA/yVcAP8zfgD/Oo4A/zuVAP88lAD/O5QA/zqVAP86lQD/O5cA/zuZAP88mgD/PJwA/zyd
+ AP88nwD/PaEA/z2iAP89oQD/PKAA/zyeAP88nAD/PJsA/zuZAP87lwD/O5YA/zqUAP86lAD/O5MA/zuU
+ AP87lAD/Oo4A/zN9AP8lXAD/FDEA/wUMAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAAugAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAiAAAAPMAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wECAP8NIQD/IlIA/zJ6AP85iwD/Oo8A/zqNAP85jQD/OY8A/zqQ
+ AP86kgD/OpQA/zqVAP87lwD/O5kA/zyaAP88nAD/PJ0A/zyfAP89oQD/PaIA/z2hAP88oAD/PJ4A/zyc
+ AP88mwD/O5kA/zuXAP87lgD/OpQA/zqTAP86kQD/OZAA/zmOAP85jgD/Oo0A/zqOAP85igD/MnkA/yJR
+ AP8NIQD/AQIA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAIgAAAAPAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAPQAAAMoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIGAP8TLgD/KmQA/zeD
+ AP86igD/OYkA/ziIAP84igD/OYsA/zmNAP85jwD/OpAA/zqSAP86lAD/OpUA/zuXAP87mQD/PJkA/z2b
+ AP89nAD/PZ4A/z6gAP8+oAD/Pp8A/z2fAP89nQD/PZsA/z2aAP87mAD/O5cA/zuWAP86lAD/OpMA/zqR
+ AP85kAD/OY4A/zmNAP85iwD/OIkA/ziHAP85iAD/OokA/zeDAP8qZAD/Ey0A/wIGAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAMoAAAA9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAHcAAAD0AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wIEAP8VMgD/LWoA/ziDAP84hQD/N4MA/ziFAP84hwD/OIgA/ziKAP85iwD/OY0A/zmP
+ AP86jwD/O5AA/zuSAP87kwD/PJUA/zuaAf86ngj/OKMN/zemEv82qRX/N6sV/zOwH/8zsB//NqoW/zWp
+ Fv82pRP/OKIO/zieCf86mAH/PJQA/zuRAP87kAD/O48A/zmPAP85jgD/OY0A/zmLAP84iQD/OIcA/ziG
+ AP84hAD/N4MA/ziFAP84gwD/LWkA/xUyAP8CBAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ APIAAAB2AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ABQAAACmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QJQD/K2EA/ziAAP83gQD/N4AA/zeB
+ AP83gwD/OIUA/ziHAP84iAD/OIkA/zqJAP86igD/OY4A/zeWCv8zoRv/La4s/yi5QP8jxVL/IMte/x3R
+ af8b1XD/GNh4/xfbff8X3H7/FtyA/xbdgf8W3YH/Fd6C/xbcf/8Y2Xn/GtVy/xzQaf8gyV3/Jb1K/yux
+ NP8xox//NpcM/zmNAP86igD/OogA/ziIAP84hwD/OIYA/ziEAP83gwD/N4EA/zeAAP83gQD/OH8A/yth
+ AP8QJQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACmAAAAFAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAygAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8IEgD/I1AA/zZ6AP83fgD/NnwA/zZ+AP83gAD/N4EA/zeDAP84hAD/OYQA/zmGAP82jwf/MZ8e/ymy
+ Of8ixFX/Hc9n/xrWc/8Y2nn/GNp6/xjbe/8Y23v/F9p7/xjbe/8Y2nz/F9t8/xfbff8X3H7/Ftx//xbd
+ gf8W3YH/Fd6D/xXfhf8U34f/E+GJ/xPii/8T44z/EuOO/xPgiP8X2X3/HM1p/yW3R/8voiX/NY8K/zmF
+ AP85gwD/OIMA/zeDAP83gQD/N4AA/zZ+AP82fAD/N34A/zZ6AP8jUAD/CBIA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAADKAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAA
+ AOMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAgD/FS8A/zFsAP83fAD/NXoA/zZ7AP82fAD/Nn4A/zeA
+ AP84fwD/OIAA/zaLCf8vnyT/JrhF/x/MYf8b1W//Gtl1/xrYdP8a13P/Gtdz/xrXdP8a13X/Gdh2/xnY
+ d/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTf
+ hv8U4Ij/FOGJ/xLijP8S5I//EeaR/xLjjf8W2X7/IMFb/yykLv81iwz/OIAA/zh+AP83gAD/Nn4A/zZ8
+ AP82ewD/NXkA/zd8AP8xbAD/FS8A/wECAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADjAAAAPAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAADvAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Bg0A/yNO
+ AP82dwD/NngA/zV3AP81eQD/NnsA/zZ7AP83ewD/N4AA/zGUF/8nsT3/IMle/xzVbf8b1nD/HNVu/xzU
+ bv8b1W//G9Vw/xvWcP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfb
+ ff8X3H7/F9x//xbdgf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xHj
+ j/8R5pP/EeWS/xbZf/8gvFX/Lpch/zd/AP83egD/NnsA/zZ7AP81eQD/NXcA/zZ4AP82dwD/I04A/wYN
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJAAAA7gAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0dAP8tYgD/NncA/zV0AP81dgD/NXcA/zV5AP83eAD/NX4D/y6Z
+ If8ku0v/HtBl/x3Va/8d02r/HdJq/xzTa/8c02z/HNRt/xzUbv8b1W//G9Vw/xvWcf8a1nL/Gtdz/xrX
+ dP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgP8W3YH/Fd6C/xXe
+ g/8V34X/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EeSR/xDnlf8R45D/G8ps/yqg
+ MP81fwT/N3cA/zV4AP81dwD/NXYA/zV0AP82dwD/LWMA/w0dAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAADuAAAASQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAPAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8VLgD/M2wA/zVz
+ AP80cwD/NXQA/zV2AP82dAD/NXsD/y2aJP8jv0//H9Fm/x7TaP8e0Wb/HtFm/x7SaP8d0mj/HdJp/x3T
+ a/8c02v/HNRt/xzUbf8b1W//G9Vw/xvWcP8b1nH/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xja
+ ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPh
+ iv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkf8Q55b/EOeU/xjRdv8oojf/NXoE/zZzAP81dgD/NXQA/zRz
+ AP81dAD/M2wA/xUuAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAAAASAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAADvAAAA/wAA
+ AP8AAAD/AAAA/wAAAP8BAgD/HDsA/zRvAP81cAD/NHEA/zRzAP81cgD/NXUA/y+RHP8ku0r/INBi/x/R
+ ZP8fz2L/H9Bk/x/QZP8e0Wb/HtFm/x7SaP8d0mn/HdJp/x3Ta/8c02z/HNRt/xzUbv8b1W//G9Vw/xvW
+ cP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbd
+ gf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHk
+ kP8R5JH/EOeW/xDolv8YzXP/Kpcs/zZ0AP82cgD/NHMA/zRxAP81cAD/NG8A/xw7AP8BAgD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAADvAAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAvAAAA5gAAAP8AAAD/AAAA/wAAAP8AAAD/AQMA/yBDAP81bwD/M28A/zRv
+ AP80cAD/NXAA/zGCD/8nsD7/Ic5e/yDPYf8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFm/x7S
+ Z/8d0mj/HdJp/x3Ta/8c02v/HNRs/xzUbv8b1W//G9Vv/xvWcP8b1nH/Gtdz/xrXdP8a13X/Gdh2/xnY
+ d/8Z2Xf/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTf
+ hv8U4If/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xLjj/8R5JH/EeWS/w/ol/8Q5pX/HMJk/y+G
+ Gf81bwD/NHAA/zRvAP8zbwD/NXAA/yBEAP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADlAAAALQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAANAAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wEDAP8gQwD/NW8A/zNsAP8zbgD/NG0A/zRxAv8smCb/I8VT/yDPX/8hzV3/Ic1d/yDN
+ Xv8gzl//IM5g/x/PYf8fz2L/H9Bj/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3Ta/8c02v/HNRt/xzU
+ bf8b1W//G9Vw/xvWcP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfb
+ ff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi
+ jf8S443/EuOP/xHkkP8R5JH/EeWS/xHmk/8P6Zr/E92K/yWkQP8zcgP/NWwA/zNuAP8zbAD/NW8A/yBD
+ AP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADPAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAcAAACxAAAA/wAAAP8AAAD/AAAA/wAAAP8BAwD/IEQA/zVvAP8zawD/M2wA/zRq
+ AP8yewz/J7A+/yLNWv8izFr/Isxa/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H9Bk/x/Q
+ ZP8e0Wb/HtFm/x7SaP8d0mn/HdJp/x3Ta/8c02z/HNRt/xzUbv8b1W//G9Vw/xvWcf8a1nL/Gtdz/xrX
+ dP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgf8W3YH/Fd6C/xXe
+ hP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHl
+ k/8Q55b/D+mZ/xrFa/8vfxX/NGkA/zNsAP8zawD/NW8A/yBEAP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAACxAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAEA/x4+AP81bwD/M2sA/zNqAP80aQD/Losb/yXATP8jzFn/I8pX/yLKV/8iy1n/Ista/yHM
+ W/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3T
+ a/8c02v/HNRs/xzUbv8b1W//G9Vw/xvWcP8b1nH/Gtdz/xrXdP8a13X/Gdh2/xnYd/8Z2Xf/GNl5/xja
+ ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4If/FOCI/xPh
+ if8T4Yv/E+KL/xLijP8S447/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/D+qa/xPbhv8olTH/NGkA/zNq
+ AP8zawD/NW8A/x4+AP8AAQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAB+AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAEQAAAD4AAAA/wAAAP8AAAD/AAAA/wAAAP8YMwD/NW4A/zNsAP8zaQD/M2sB/yub
+ Kf8kyFL/I8tW/yPJVf8jyVb/I8pX/yLLWP8iy1n/Ista/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/P
+ Yf8fz2L/H9Bj/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3Ta/8c02v/HNRt/xzUbf8b1W//G9Vw/xvW
+ cP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbd
+ gP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHk
+ kP8R5JH/EeWS/xHlk/8Q5ZT/D+mY/xDmlf8hqkz/M2sC/zRpAP8zbAD/NW4A/xgzAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAPgAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAA1QAAAP8AAAD/AAAA/wAA
+ AP8AAAD/EiUA/zNrAP8zbAD/M2kA/zJuBP8qpjP/JMpT/yTJUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLL
+ WP8iy1n/Isxa/yHMW/8hzVz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H9Bk/x/QZP8e0Wb/HtFm/x7S
+ aP8d0mn/HdJp/x3Ta/8c02z/HNRu/xvVb/8a1nL/Gtdz/xrYdP8Z2Hb/Gdl3/xnZef8Y2nn/GNp6/xja
+ ev8Y2nr/F9p7/xjbe/8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOeW/w/q
+ mv8cul//MnAI/zRoAP8zbAD/M2sA/xIlAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANUAAAATAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAJMAAAD/AAAA/wAAAP8AAAD/AAAA/wkUAP8wZAD/NG0A/zNpAP8xcwj/Ka86/yXK
+ Uv8lx1D/JcdQ/yTIUf8kyFP/JMlU/yPJVf8jyVb/I8pX/yLKV/8iy1n/Ista/yHMW/8hzFz/Ic1d/yDN
+ Xv8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFn/x3Tav8c02z/HNRt/xzTa/8e0GT/IM5f/yPJ
+ Vv8lxk3/J8NI/ynAQf8pvz7/Kb8//ynAQ/8mxUz/JMhS/yDNXf8d02n/GtVx/xjae/8X3H//Ft2A/xbc
+ gP8X3H//F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhif8T4Yv/E+KL/xLi
+ jf8S447/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/EOaV/w/rm/8Zx2//L3YQ/zRoAP80bQD/MGQA/wkU
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAA+QAAAP8AAAD/AAAA/wAA
+ AP8DBgD/KFQA/zVuAP8zaAD/MXMI/ymyPP8lyVD/JcZN/yXGT/8lx1D/JcdQ/yTIUv8kyFP/JMlU/yPJ
+ Vf8jyVb/I8pX/yLLWP8iy1n/Isxa/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2P/HtFm/x7R
+ Z/8f0GP/I8lW/yjBRP8uuC//M7Ae/zerE/86pwn/O6UE/zukA/88pAP/PKMC/zyjAf88owH/PKMB/zyk
+ A/88pAP/O6UE/zqnCv82rBX/MrIi/yy7Nv8lxlD/HdFo/xjae/8W3oL/Ft6D/xbdgf8W3YH/Fd6C/xXe
+ g/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KM/xLijf8S443/EuOP/xHkkP8R5JH/EeWS/xHl
+ k/8Q5ZT/EOaV/w7rm/8XzHb/L3YP/zRoAP80bgD/KFQA/wMGAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAA
+ AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAACAAAAMYAAAD/AAAA/wAAAP8AAAD/AAAA/xs5AP81bwD/M2kA/zJzB/8psTn/JsdN/ybF
+ S/8mxk3/JcZO/yXGT/8lx1D/JMdR/yTIUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLLWP8iy1n/Isxa/yHM
+ W/8hzVz/Ic1d/yDNXv8gz2H/H89j/yDNXv8mxUv/Lrgx/zWuGf85pwv/PKQE/zykBP87pAT/O6UG/zul
+ B/87pgf/O6YH/zumB/87pgf/O6YH/zumB/87pgf/O6YH/zumB/87pgf/O6UH/zulBf88pAT/PKQD/zyk
+ A/85qAv/M7Ae/yq+Pf8gzmD/GNp7/xXfhf8V3oP/Fd6C/xXeg/8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPh
+ iv8T4ov/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaU/w/qmv8Xy3X/L3YP/zRo
+ AP81bwD/GzkA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAxgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAA/wAAAP8AAAD/AAAA/wAA
+ AP8MGgD/MmkA/zRqAP8ycgf/KrA4/yfHS/8nxEn/JsRL/ybFS/8mxk3/JcZO/yXGT/8lx1D/JcdQ/yTI
+ Uf8kyFP/JMlU/yPJVf8jyVb/I8pX/yLLWP8iy1n/Ista/yHMW/8gzV7/IM5f/yTHUf8tujT/Nq0Y/zqm
+ Cf87pQX/O6YH/zqmCP86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqn
+ Cf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqmCP87pQb/O6QE/zqmCP80sB3/KMFE/xvU
+ b/8V34T/FN+F/xXehP8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S447/EuOP/xHk
+ kP8R5JH/EeSS/xHlk/8Q5ZT/EOaU/w/qmv8XzHb/MHUO/zRpAP8yaQD/DBoA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAFQAAAN0AAAD/AAAA/wAAAP8AAAD/AwUA/yhWAP81bQD/Mm4D/yuqMv8nxkn/J8NH/yfE
+ Sf8nxEn/JsRL/ybFTP8mxk3/JcZO/yXGT/8lx1D/JcdQ/yTIUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLL
+ WP8hzFv/Icxb/ybESv8wtSr/OKkP/zqmCP86pgn/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmn
+ C/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmn
+ C/85pwv/OacL/zmnC/85pwv/OacL/zqmCP87pQb/N6kR/yy8OP8d0mj/Fd+F/xTfhv8V3oT/Fd+F/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaV/w/r
+ m/8axGz/Mm8H/zVsAP8oVgD/AwUA/wAAAP8AAAD/AAAA/wAAAP8AAADdAAAAFQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8XMAD/NW4A/zNqAP8soCr/KMVH/yjCRf8ow0b/J8NI/yfESf8nxEn/JsRL/ybFTP8mxk3/JcZO/yXG
+ T/8lx1D/JMdR/yTIUv8kyFP/JMlU/yPJVf8jylf/IstZ/yXFTP8wtCn/OagO/zqnCv85qA3/OagN/zmo
+ Df85qA3/OagN/zmoDf85qA3/OagN/zmoDf85qA3/N6cL/zWmCP8zpQb/MaUE/zCkA/8wpAP/MKQD/zCk
+ A/8wpAP/MKQD/zGlBP8zpQb/NaYI/zenC/85qA3/OagN/zmoDf85qA3/OagN/zmoDf85qA3/OagN/zmo
+ Df85qAz/OqYJ/zipD/8suzj/G9Vv/xTgh/8V34b/FN+F/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLi
+ jf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaV/w/rmv8dt1z/M2oB/zVuAP8XMAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAB2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAEQAAAN4AAAD/AAAA/wAAAP8AAAD/BgwA/y5hAP80aQD/LpMe/ynERP8owUT/KMJE/yjC
+ Rf8ow0b/J8NH/yfDSP8nxEn/JsRL/ybFS/8mxk3/JcZN/yXGT/8lx1D/JcdQ/yTIUf8kyFP/I8pW/yTH
+ UP8uuDH/N6oT/zmnDf84qA//OKkQ/zipEP84qRD/OKkQ/zipEP84qRD/OKkQ/zioD/81pwz/MaYH/zKm
+ Cf9CrRz/W7g6/3bEWv+T0Hz/qtqY/7Ldov+y3aL/st2i/7Ldov+q2pj/k9B8/3nEXf9buDr/Qq0c/zKm
+ Cf8xpgf/NacM/zioD/84qRD/OKkQ/zipEP84qRD/OKkQ/zipEP84qRD/OKgP/zmmC/82qxX/J8JG/xfb
+ fP8U4In/Fd+G/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeSS/xHl
+ k/8Q5ZT/EOaV/w/qmv8ipEX/NWgA/y5hAP8GDAD/AAAA/wAAAP8AAAD/AAAA/wAAAN4AAAARAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpAAAA/wAAAP8AAAD/AAAA/wAA
+ AP8cPAD/NWwA/zCCEv8pv0D/KcFC/ynBQv8owUT/KMJE/yjCRf8ow0b/J8NH/yfESf8nxEn/JsRL/ybF
+ TP8mxk3/JcZO/yXGT/8lx1D/JcdR/yTIU/8pwEH/NK8c/zioDv84qRD/OKkR/zipEf84qRH/OKkR/zip
+ Ef84qRH/OKkR/zepEP8ypwr/MqcK/02zK/+ByWj/uuGt/+Dx2f/7/fr/////////////////////////
+ //////////////////////////////v9+v/g8dn/uuGt/4HJaP9Nsyv/MqcK/zKnCv83qRD/OKkR/zip
+ Ef84qRH/OKkR/zipEf84qRH/OKkR/zipEP85pw3/MrIk/x7PZP8U4Ij/FN+H/xTfhv8U4Ij/FOGJ/xPh
+ iv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOeW/xDkk/8pjSr/NmsA/xw8
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAGkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAABgAAAMwAAAD/AAAA/wAAAP8AAAD/Bw4A/zBjAP8zdAb/K7Q2/yrCQP8pwED/KcFC/ynB
+ Qv8owUP/KMJF/yjCRf8ow0b/J8NI/yfESf8nxEr/JsRL/ybFTP8mxk3/JcZO/yXHUP8mxk//Lrgx/zer
+ FP83qhL/N6sT/zeqE/83qhP/N6oT/zeqE/83qhP/N6sU/zeqE/8xqA3/N6sT/2W+Sf+z36X/7/jt////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////+/47f+z36X/Zb5J/zerE/8xqA3/N6oT/zerFP83qhP/N6oT/zeqE/83qhP/N6oT/zer
+ FP84qRH/N6oU/ybDSf8W3YP/FOCI/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EuOP/xHk
+ kP8R5JH/EeWS/xHlk/8Q5ZT/D+mY/xXWgf8weBD/MGIA/wcOAP8AAAD/AAAA/wAAAP8AAAD/AAAAzAAA
+ AAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGAAAA/QAAAP8AAAD/AAAA/wAA
+ AP8cOQD/NW8B/y6iKP8qwkD/Kr8+/yq/P/8pwED/KcBB/ynBQv8owUP/KMJE/yjCRf8ow0b/J8NH/yfD
+ SP8nxEn/JsRL/ybFS/8mx07/J8NH/zGyJf82qhT/NqsV/zarFv82qxb/NqsW/zarFv82qxb/NqsW/zar
+ Fv8zqhL/MakQ/2a/Tf/I6L///v79////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////+/v3/yOi//2a/
+ Tf8xqRD/M6oS/zarFv82qxb/NqsW/zarFv82qxb/NqsW/zarFv82qxX/OKkR/y25NP8Y2Xj/E+GJ/xTf
+ hv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/D+ua/xu9
+ Y/81bgL/HDkA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAKIAAAD/AAAA/wAAAP8AAAD/BAoA/y5dAP8xixX/K788/yu+PP8qvj3/Kr8+/yrA
+ P/8pwED/KcBB/ynBQv8owUT/KMJE/yjCRf8ow0b/J8NH/yfESf8nxEn/JsVM/ynAQf8zsB//NqsV/zas
+ F/82rBf/NqwX/zasF/82rBf/NqwX/zasF/81rBf/L6kQ/0izLf+u3qL/+v35////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////+v35/67eov9Isy3/L6kQ/zWsF/82rBf/NqwX/zas
+ F/82rBf/NqwX/zasF/82rBf/N6oT/zGzJ/8c1G//E+GJ/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLi
+ jf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/D+iY/yeaNv8vXAD/BAoA/wAAAP8AAAD/AAAA/wAA
+ AP8AAACiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAA6AAAAP8AAAD/AAAA/wAA
+ AP8VKwD/NHYF/y2zMv8rvzv/K707/yu+PP8rvj3/Kr8+/yq/P/8pwED/KcBB/ynBQv8pwUP/KMJE/yjC
+ Rf8owkb/J8NH/ybESv8qvTz/NK4d/zWsGP81rRr/Na0a/zWtGv81rRr/Na0a/zWtGv81rRr/NKwY/y+q
+ E/9wxVz/4vPe////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////+Lz3v9wxVz/L6oT/zSsGP81rRr/Na0a/zWtGv81rRr/Na0a/zWtGv81rRr/NqsX/zOw
+ If8e0Wf/E+GJ/xTfhv8U4If/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xLjj/8R5JH/EeSS/xHl
+ k/8P55f/FNeD/zF6Dv8WKgD/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAAAaAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAFwAAAD/AAAA/wAAAP8AAAD/AQIA/ydQAP8wnB//LL86/yy9Of8rvTr/K707/yu+
+ PP8qvj3/Kr8+/yq/P/8pwED/KcBB/ynBQv8owUP/KMJE/yjCRf8nw0j/Kr07/zOuHv80rRv/NK0c/zSt
+ HP80rRz/NK0c/zStHP80rRz/NK0c/zKsGf8wrBj/kNKD//n8+P//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////n8+P+Q0oP/MKwY/zKs
+ Gf80rRz/NK0c/zStHP80rRz/NK0c/zStHP80rRz/NawZ/zKwIf8d0Wj/E+GJ/xTfhv8U4Ij/FOCI/xPh
+ iv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeWS/xHlk/8P6pn/ILNU/yhPAP8BAgD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqgAAAP8AAAD/AAAA/wAA
+ AP8KEwD/MXkK/y25NP8svTf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yrAP/8pwED/KcBB/ynB
+ Qv8owUT/KMJG/yq8O/8yryD/NK4d/zSuHv80rh7/NK4e/zSuHv80rh7/NK4e/zSuHv8yrRv/Na8f/6Ha
+ l///////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+h2pf/Na8f/zKtG/80rh7/NK4e/zSuHv80rh7/NK4e/zSu
+ Hv80rh7/NK0b/zKwI/8c0mv/FOGJ/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHk
+ kP8R5JH/EeWS/xDmlP8R4Y//K4Ed/wsSAP8AAAD/AAAA/wAAAP8AAAD/AAAAqgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAABUAAADmAAAA/wAAAP8AAAD/AAAA/xs2AP8xpCP/Lb43/y27Nv8svDf/LLw3/yy9
+ Of8rvTr/K707/yu+PP8rvj3/Kr8+/yq/P/8pwED/KcBB/ynCQ/8qvj3/MrEj/zOvH/8zryD/M68g/zOv
+ IP8zryD/M68g/zOvIP8zryD/Mq4e/y+uHP+n3Z//////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //+n3Z//L64c/zKuHv8zryD/M68g/zOvIP8zryD/M68g/zOvIP8zryD/NK4d/zCzKf8a1nL/FOCI/xTf
+ hv8U4Ij/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xHkkP8R5JH/EeSS/w/pmP8ewmP/GzYA/wAA
+ AP8AAAD/AAAA/wAAAP8AAADmAAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAAAP8AAAD/AAAA/wAA
+ AP8BAAD/J2cL/y+7Mv8tuzT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yq/
+ P/8pwEH/Kb8//zCzJ/8zryH/MrAi/zKwIv8ysCL/MrAi/zKwIv8ysCL/MrAi/zKwIv8srRv/k9WK////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////v/+/+/89v/i++7/4vvu/+/89v/+//7/////////////////////////////////////////
+ //////////////////////////////////////////////////+T1Yr/LK0b/zKwIv8ysCL/MrAi/zKw
+ Iv8ysCL/MrAi/zKwIv8ysCL/M64f/y24M/8X233/FOCH/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi
+ jf8S443/EuOP/xHkkP8R5JH/EeWT/xPmkf8gcSH/AgAA/wAAAP8AAAD/AAAA/wAAAP8AAABRAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAACcAAAA/wAAAP8AAAD/AAAA/woTAP8unSD/Lr0z/y66M/8tujT/Lbs1/y27
+ Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yq/P/8utS7/MrAj/zKwJP8ysCT/MrAk/zKw
+ JP8ysCT/MrAk/zKwJP8ysST/K64d/2/IZf/6/fr/////////////////////////////////////////
+ ///////////////////////////////////d+ev/o/DL/2roq/9D4pb/MuCN/ynfiP8p34j/MuCN/0Pi
+ lv9q6Kv/o/DL/9356///////////////////////////////////////////////////////////////
+ //////////////r9+v9vyGX/K64d/zKxJP8ysCT/MrAk/zKwJP8ysCT/MrAk/zKwJP8ysCT/M64g/yjA
+ RP8V3oX/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EOqX/xq7
+ Yv8KEgD/AAAA/wAAAP8AAAD/AAAA/wAAAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAN4AAAD/AAAA/wAA
+ AP8AAAD/Fj8I/zC6Lv8uuTH/Lrkx/y66M/8tujT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+
+ PP8qvz7/LLgz/zGxJf8xsSb/MbEm/zGxJv8xsSb/MbEm/zGxJv8xsSb/MbEm/y2wIv9GuTz/5vXk////
+ ///////////////////////////////////////////////////////////////////E9d3/Y+Wl/yTc
+ gf8Q1nD/FNJo/xrNXf8fyFT/IcZQ/yHGUP8fyFT/Gs1d/xTSaP8Q1nD/JNyB/2Plpf/E9d3/////////
+ /////////////////////////////////////////////////////////////+b15P9GuTz/LbAi/zGx
+ Jv8xsSb/MbEm/zGxJv8xsSb/MbEm/zGxJv8xsSb/MrAj/yHKWf8U4Ij/Fd+F/xTfhv8U4Ij/FOCI/xPh
+ if8T4Yv/E+KL/xLijf8S447/EuOP/xHkkP8R5ZL/FOWN/xFHGv8AAAD/AAAA/wAAAP8AAAD/AAAA3gAA
+ AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABCAAAA/QAAAP8AAAD/AAAA/wAAAP8kexn/ML4w/y64MP8uuTD/Lrky/y66
+ M/8tujT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K747/yy8Of8wsin/MLIn/zCyKP8wsij/MLIo/zCy
+ KP8wsij/MLIo/zCyKP8wsij/K7Ai/7Dirf//////////////////////////////////////////////
+ ///////////////////o+/H/ceeq/xrYdv8Vz2L/I8NL/yu5N/8vtCv/MbIm/zGxJf8xsSX/MbEl/zGx
+ Jf8xsib/L7Qr/yu5N/8jw0v/Fc9i/xrYdv9x56r/6Pvx////////////////////////////////////
+ /////////////////////////////7Dirf8rsCL/MLIo/zCyKP8wsij/MLIo/zCyKP8wsij/MLIo/zCy
+ KP8xsib/L7Qs/xrWc/8V4If/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KM/xLijf8S443/EuOP/xHk
+ kP8R65b/E5RS/wEAAP8AAAD/AAAA/wAAAP8AAAD9AAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAD/AAAA/wAA
+ AP8AAAD/BxUD/y2pJ/8wuS7/L7gv/y64MP8uuTH/Lrky/y66M/8tujT/Lbs1/yy7Nv8svDf/LLw4/yy9
+ Of8rvTr/LrYv/zCzKf8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyr/MLMq/yqxJP9exFn/+f35////
+ ////////////////////////////////////////////////////////yfXd/zvdh/8Uz2L/Jr9D/y+0
+ LP8xsSf/MLIo/zCzKf8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyn/MLIo/zGxJ/8vtCz/Jr9D/xTP
+ Yv873Yf/yfXd////////////////////////////////////////////////////////////+f35/17E
+ Wf8qsST/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8xsSf/KL9C/xXeg/8V3oX/FN+G/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EuOP/xHmkv8S0YH/BRkL/wAAAP8AAAD/AAAA/wAA
+ AP8AAACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAJAAAA0QAAAP8AAAD/AAAA/wAAAP8TRQ//Mrwt/y+3LP8vty3/L7gu/y64
+ MP8uuTD/Lrkx/y66M/8tujT/Lbs1/y27Nv8svDf/LLw4/y25NP8vsyz/L7Qs/y+0LP8vtCz/L7Qs/y+0
+ LP8vtCz/L7Qs/y+0LP8vsyz/K7Io/7vmuv//////////////////////////////////////////////
+ /////////////8L02f8p13f/HcZP/y62Mf8wsin/L7Mr/y+0LP8vtCz/L7Qs/y+0LP8vtCz/L7Qs/y+0
+ LP8vtCz/L7Qs/y+0LP8vtCz/L7Qs/y+zK/8wsin/LrYx/x3GT/8p13f/wvTZ////////////////////
+ ////////////////////////////////////////u+a6/yuyKP8vsyz/L7Qs/y+0LP8vtCz/L7Qs/y+0
+ LP8vtCz/L7Qs/y+0LP8wsyn/H81h/xTfhv8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi
+ jf8S443/EuOP/xLrk/8IVTP/AAAA/wAAAP8AAAD/AAAA/wAAANEAAAAJAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAD5AAAA/wAA
+ AP8AAAD/AAEA/yJ9HP8yvCz/MLcs/y+3LP8vty3/L7gv/y64MP8uuTD/Lrky/y66M/8tujT/Lbs1/y27
+ Nv8suzb/LrUw/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/yqzKv9VwlT/9/z3////
+ ///////////////////////////////////////////////////Q9uH/LNZ1/yHBRf8wtCz/L7Qt/y+0
+ Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0
+ Lv8vtC3/MLQs/yHBRf8t1nX/0/fj////////////////////////////////////////////////////
+ ///3/Pf/VcJU/yqzKv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0LP8rujr/F9t9/xXe
+ hP8V3oT/Fd+F/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuuU/w2dYf8AAQD/AAAA/wAA
+ AP8AAAD/AAAA+QAAADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAcwAAAP8AAAD/AAAA/wAAAP8FEgT/LaYl/zG4Kv8wtiv/MLcs/y+3
+ LP8vuC7/L7gv/y64MP8uuTH/Lrky/y26M/8tujT/Lbs1/y24M/8utTD/LrUw/y61MP8utTD/LrUw/y61
+ MP8utTD/LrUw/y61MP8utTD/JrIo/5zcnf//////////////////////////////////////////////
+ ////////8/33/0rbhv8fwEP/L7Qu/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61
+ MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/L7Qu/x/AQ/9L24f/8v33////
+ //////////////////////////////////////////////////+c3J3/JrIo/y61MP8utTD/LrUw/y61
+ MP8utTD/LrUw/y61MP8utTD/LrUw/y+zLf8hylv/FN+F/xXeg/8V3oT/FN+F/xTfhv8U4Ij/FOGJ/xPh
+ iv8T4ov/E+KM/xLijf8S5Y//ENCD/wEWDv8AAAD/AAAA/wAAAP8AAAD/AAAAcwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAC0AAAA/wAA
+ AP8AAAD/AAAA/xA+Df8yuSj/MbUo/zC2Kf8wtir/MLYr/y+3LP8vty3/L7gu/y64MP8uuTD/Lrky/y66
+ M/8tujP/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/yy1MP8zuDf/1/HY////
+ //////////////////////////////////////////////////+P6LT/HMJH/y61MP8ttjL/LbYy/y22
+ Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22
+ Mv8ttjL/LbYy/y22Mv8ttjL/LrUw/xzCR/+R6bb/////////////////////////////////////////
+ /////////////9fx2P8zuDf/LLUw/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LrUw/yq7
+ PP8X23z/Fd6C/xXegv8V3oP/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S6JD/Bk0x/wAA
+ AP8AAAD/AAAA/wAAAP8AAAC0AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAOUAAAD/AAAA/wAAAP8AAAD/Hm0W/zO7KP8xtSf/MbUp/zC2
+ Kf8wtir/MLcs/y+3LP8vty3/L7gv/y64MP8uuTH/Lrky/y25M/8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23
+ NP8ttzT/Lbc0/y23NP8ttzT/KLUw/0/DVv/5/fr/////////////////////////////////////////
+ ////////6fvx/zbOZv8ptzP/LbY0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23
+ NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttjT/Kbcz/zjO
+ aP/q+/H/////////////////////////////////////////////////+f36/0/DVv8otTD/Lbc0/y23
+ NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/LbYy/x/OY/8V34P/Fd6B/xXeg/8V3oP/FN+F/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xPrkv8Lilb/AAAA/wAAAP8AAAD/AAAA/wAAAOUAAAASAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3AAAA/QAA
+ AP8AAAD/AAAA/wEFAf8pkx7/M7gm/zG0Jv8xtSj/MbUp/zC2Kf8wtiv/MLcs/y+3LP8vuC7/L7gv/y64
+ MP8uuDH/LLc1/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8ktS7/ddB7////
+ //////////////////////////////////////////////////+k673/Ibw8/yy2Nf8stzb/LLc2/yy3
+ Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3
+ Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stjX/Ibw8/6Trvf//////////////////////////////
+ ////////////////////////ddB7/yS1Lv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3
+ Nv8ttjT/JsBH/xbdf/8W3YH/Fd6B/xXegv8V34T/FN+F/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+eP/w+6
+ dP8BBgT/AAAA/wAAAP8AAAD/AAAA/QAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGUAAAD/AAAA/wAAAP8AAAD/CBwF/zCrIv8ytCX/MrQl/zG0
+ Jv8xtSf/MbUo/zC2Kf8wtir/MLYr/y+3LP8vty3/L7gu/y64Mv8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4
+ OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yO1MP+Y3J7/////////////////////////////////////////
+ /////////////2TWg/8ktjP/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4
+ OP8otzX/JbYy/yW2Mv8otzX/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4
+ OP8ktjP/ZNaD//////////////////////////////////////////////////////+Y3J7/I7Uw/yu3
+ OP8rtzj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruTn/G9Vw/xXegf8W3YD/Fd6B/xXe
+ gv8V3oP/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T44z/EtiF/wMhFf8AAAD/AAAA/wAAAP8AAAD/AAAAZQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAA
+ AP8AAAD/AAAA/wAAAP8ROgv/M7Yi/zK0JP8ysyT/MbQl/zG0Jv8xtSf/MbUp/zC2Kf8wtir/MLcs/y+3
+ LP8vty3/Lbg1/yu5O/8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/Jrc3/7Hl
+ t//////////////////////////////////////////////////x/PX/P8da/yi3N/8ruTr/K7k6/yu5
+ Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8mtzb/Kbg4/0fCVf9kzG//ZMxv/0fCVf8puDj/Jrc2/yu5
+ Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yi3N/8/x1r/8fz1////////////////////
+ /////////////////////////////7Hlt/8mtjf/K7g6/yu4Ov8ruDr/K7k6/yu5Ov8ruTr/K7k6/yu5
+ Ov8ruTr/K7k6/yy4N/8hylv/Ft2B/xbdgP8W3YD/Fd6B/xXeg/8V3oP/FN+F/xTfhv8U4Ij/FOGJ/xPi
+ iv8T5o7/Bkot/wAAAP8AAAD/AAAA/wAAAP8AAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAA/wAAAP8AAAD/AAAA/xlYEP81uSP/M7Ii/zKz
+ I/8ysyT/MrQl/zG0Jv8xtSf/MbUo/zC1Kf8wtir/MLYs/y+3Lf8ruTn/Kro9/yq6PP8qujz/Kro8/yq6
+ PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6PP8ouTv/venD////////////////////////////////////
+ /////////////9335P81wEr/KLk6/yq6PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6PP8qujz/JLg3/03F
+ XP+86cL/8vv0////////////8vv0/73qwv9NxVz/JLg3/yq6PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6
+ PP8qujz/KLk6/zXASv/d9+T/////////////////////////////////////////////////venD/yi4
+ O/8quTz/Krk8/yq5PP8quTz/Kro8/yq6PP8qujz/Kro8/yq6PP8qujz/K7k7/ybASf8Y233/F9yA/xbd
+ f/8W3YD/Fd6B/xXegv8V3oT/Fd+F/xTfhv8U4If/FOCI/xTrkP8JcEX/AAAA/wAAAP8AAAD/AAAA/wAA
+ ALgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAA
+ ANwAAAD/AAAA/wAAAP8AAAD/I3cV/zW3If8zsiH/M7Ii/zKzI/8ysyT/MrQl/zG0Jv8xtSf/MbUo/zC2
+ Kf8wtir/L7cv/ym7Pv8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8puz7/KLs9/yq7
+ P//P8NT/////////////////////////////////////////////////0PLX/y29Q/8ouz3/Kbs+/ym7
+ Pv8puz7/Kbs+/ym7Pv8puz7/Kbs//yK4OP9YyWj/6vjs/////////////////////////////////+r4
+ 7P9YyWj/Irg4/ym7P/8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8ouz3/Lb1D/9Dy1///////////////
+ ///////////////////////////////////P79T/Kro//yi6Pf8puj7/Kbo+/ym6Pv8puj7/Kbs+/ym7
+ Pv8puz7/Kbs+/ym7Pv8puz7/KbxA/xrWc/8X3X//F9x//xbdgP8W3YD/Fd6B/xXegv8V3oP/Fd+F/xTf
+ hv8U4Ij/FOeN/w2VW/8AAAD/AAAA/wAAAP8AAAD/AAAA3AAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAA6wAAAP8AAAD/AAAA/wACAP8qjxj/NbUg/zOx
+ IP8zsiH/MrIi/zKzJP8ysyT/MbQl/zG0Jv8xtSf/MbUp/zC2Kf8tuDP/KbtB/ym7QP8pu0D/KbtA/ym7
+ QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8pu0D/Jbs+/7rqwv//////////////////////////////
+ ///////////////////L79H/KLtA/yi7QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8juTv/RsVa/+L2
+ 5v///////////////////////////////////////////+L25v9GxVr/I7k7/ym7QP8pu0D/KbtA/ym7
+ QP8pu0D/KbtA/yi7QP8ou0D/y+/R/////////////////////////////////////////////////7rq
+ w/8luT3/Kbo//ym6P/8puj//Kbo//ym6QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8puz//Hs5l/xbc
+ f/8X3H7/Ftx//xbdgP8W3YD/Fd6B/xXeg/8V3oP/FN+G/xTfhv8U5Yv/ELVu/wACAf8AAAD/AAAA/wAA
+ AP8AAADrAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ADAAAAD2AAAA/wAAAP8AAAD/BA0C/y6bGv81sx7/NLEf/zOxIP8zsiH/M7Ii/zKzI/8ysyT/MrQl/zG0
+ Jv8xtSf/MbUo/yu5OP8ovET/KLxD/yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yi8
+ Q/8gujz/etmO/////////////////////////////////////////////////4vdnf8gujz/KLxD/yi8
+ Q/8ovEP/KLxD/yi8Q/8ovEP/I7s//znBUf/V8tr/////////////////////////////////////////
+ /////////////9Xy2v85wVH/I7s//yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yC5PP+L3Zz/////////
+ ////////////////////////////////////////etiO/yC5O/8ou0L/KLtC/yi7Qv8ou0L/KLtC/yi7
+ Qv8ou0P/KLxD/yi8Q/8ovEP/KLxD/ym7QP8iyFj/F9t+/xfbff8X3H7/F9x//xbdf/8W3YD/Fd6B/xXe
+ gv8V3oT/Fd+F/xTjiP8SxXf/AREK/wAAAP8AAAD/AAAA/wAAAPUAAAAvAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAP4AAAD/AAAA/wAAAP8HGAT/MaQa/zWy
+ Hv80sR7/NLEf/zOxIP8zsiH/M7Ii/zKzJP8ysyT/MrQl/zG0Jv8xtSj/Kbs+/yi9Rv8ovUX/KL1F/yi9
+ Rf8ovUX/KL1F/yi9Rf8ovUX/KL1F/yi9Rf8ovUX/KL1F/ya8Q/8twk3/yPDR////////////////////
+ ///////////////////R8tj/NMVT/ya8Q/8ovUX/KL1F/yi9Rf8ovUX/KL1F/yW8Qv8uv0r/wuzK////
+ /////////////////////////////////////////////////////////////8Lsyv8uv0r/JbxC/yi9
+ Rf8ovUX/KLxE/yi8RP8ovET/JrtC/zTEU//R8tj//////////////////////////////////////8jw
+ 0f8twkz/JrtC/yi8RP8ovET/KLxE/yi8RP8ovET/KLxE/yi8RP8ovEX/KL1F/yi9Rf8ovUX/KLxD/yTD
+ UP8Y2nr/F9t8/xfbff8X3H7/F9x//xbdgP8W3YD/Fd6B/xXegv8V3oP/FeGG/xLQff8DHxP/AAAA/wAA
+ AP8AAAD/AAAA/gAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABQAAAA/wAAAP8AAAD/AAAA/wohBf8zqxr/NLEc/zSwHf80sR7/M7Ef/zOxIP8zsiH/MrIi/zKz
+ I/8ysyT/MbQl/zG1KP8ovET/J71H/ye9Rv8nvUb/J71G/ye9Rv8nvUb/J71G/ye9Rv8nvUb/J71G/ye9
+ Rv8nvUb/J71H/yO9Q/87yFf/teq///v+/P/////////////////8/v3/vu3H/z/JWv8ivkP/J71H/ye9
+ Rv8nvUb/J71G/ye9R/8lvUX/Jr1G/6/nu///////////////////////////////////////////////
+ /////////////////////////////6/nu/8mvUb/JbxF/ya9Rv8mvEX/J7xF/ye8Rf8nvEb/Ir1C/z/J
+ Wv++7cf//P79//////////////////v+/P+16r//O8hX/yO9Q/8nvEb/J7xF/ye8Rf8nvEX/J7xF/ye8
+ Rf8nvEX/J7xF/ye8R/8nvUb/J71G/ye9Rv8nvUX/JcBM/xjYd/8Y2nv/F9t8/xfbff8X3H7/Ftx//xbd
+ gP8W3YD/Fd6B/xXegv8V34T/FNmC/wQqGv8AAAD/AAAA/wAAAP8AAAD/AAAATgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAD/AAAA/wAAAP8AAAD/DCoG/zay
+ G/81rxv/NLAc/zSwHf80sR7/NLEf/zOxIP8zsiH/M7Ii/zKzI/8ysyP/MLYr/ye+R/8mvkn/Jr5J/ya+
+ Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5J/ya+Sf8mvkn/J75J/yO/RP8nwUL/WM9s/4jc
+ lv+a4ab/jN6Z/1nPbf8pwkT/I79D/ye+Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5I/yK9Rf+Y4Kn/////////
+ /////////////////////////////////////////////////////////////////////////////5jg
+ qP8hvET/Jb1H/yW9SP8lvUj/Jr1I/ya9SP8nvUj/I75D/ynCRP9Zz23/jN6Z/5rhpv+I3Jb/WM9s/yfB
+ Qv8jvkP/J71I/ya9SP8mvUj/Jr1I/ya9SP8mvUj/Jr1I/ya9SP8mvUj/Jr1I/ya9Sf8mvUn/Jr5J/ya+
+ SP8mwEv/G9Vx/xjae/8Y2nv/F9t8/xfbff8X3H7/F9x//xbdf/8W3YD/Fd6B/xXegv8W4ob/BTUg/wAA
+ AP8AAAD/AAAA/wAAAP8AAABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAVgAAAP8AAAD/AAAA/wAAAP8NKwb/NrMZ/zWvGv81rxv/NLAc/zSwHf80sR7/NLEf/zOx
+ IP8zsiH/M7Ii/zKzIv8vti7/Jr9L/ya/S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/
+ S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/R/8jvj7/IL05/yK+Ov8gvTn/Ir4+/ya/R/8mv0v/Jr9L/ya/
+ S/8mv0v/Jr9L/ya/Sv8evUT/hNuZ////////////////////////////////////////////////////
+ /////////////////////////////////////////////4TamP8dvEP/Jb5J/yW+Sv8lvkr/Jr5K/ya+
+ Sv8mvkr/Jr5G/yK+Pv8gvTn/Ir46/yC9Of8jvj7/Jr5H/ya+Sv8mvkr/Jr5K/ya+Sv8mvkr/Jr5K/ya+
+ Sv8mvkr/Jr5K/ya+Sv8mvkr/Jr5K/ya+S/8mvkv/Jr9L/ya/S/8c0mz/GNp6/xjaev8Y2nv/F9t8/xfb
+ ff8X3H7/F9x//xbdgP8W3YD/Fd6B/xbkhv8FNyH/AAAA/wAAAP8AAAD/AAAA/wAAAFcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfAAAA/wAAAP8AAAD/AAAA/w4r
+ Bv83shj/Na4Z/zWvGv81rxv/NLAc/zSwHf80sR7/M7Ef/zOxIP8zsiH/M7Ih/y63MP8lwE7/JcBN/yXA
+ Tf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXA
+ Tf8mwEv/JsBL/yXAS/8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/Hb5G/3DVif/5/fr/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////+f36/2/Uif8cvET/JL5L/yS+S/8kvkv/Jb5L/yW+TP8lvkz/Jb9M/yW/S/8mv0r/Jr9L/yW/
+ TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/
+ Tf8lv03/Jr9L/x3Raf8Y2nn/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgP8W3YD/FuSF/wU3
+ If8AAAD/AAAA/wAAAP8AAAD/AAAAVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAFsAAAD/AAAA/wAAAP8AAAD/DSsF/zexF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSw
+ Hf80sR7/NLEf/zOxIP80sR//Lrcy/yPCUf8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTB
+ T/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTB
+ T/8kwU//JcFP/xy+Sf9b0Hr/8vv1////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////8vv0/1rPef8bvEb/JL9N/yO/
+ Tf8jv03/JL9N/yS/Tv8kv07/JL9O/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTA
+ Tv8kwE7/JMBO/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTAT/8lv03/HdBo/xnZeP8Z2Xj/GNl5/xja
+ ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdf/8X44T/BTcg/wAAAP8AAAD/AAAA/wAAAP8AAABXAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVwAAAP8AAAD/AAAA/wAA
+ AP8NKwX/N7EW/zatF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSwHf80sR7/NLEf/zSxHv8utzL/I8JT/yTB
+ Uf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTB
+ Uf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8dwEz/Scxu/+b46///////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////5vjr/0jKbf8cvUr/I79P/yO/T/8jv0//JL9P/yS/UP8kv1D/JMBQ/yTA
+ UP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTA
+ UP8kwFD/JMBQ/yS/T/8dz2n/Gdl4/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xfj
+ g/8FNyD/AAAA/wAAAP8AAAD/AAAA/wAAAFcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABYAAAA/wAAAP8AAAD/AAAA/w4rBf84sRX/Nq0W/zatF/82rhj/Na4Z/zWv
+ Gv81rxv/NLAc/zSwHf80sR7/NLAd/y23M/8iw1X/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPC
+ U/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPC
+ U/8jwlP/HsFP/zrIZP/Z9OH/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////2fTh/zjG
+ Y/8dv03/IsBR/yLAUf8jwFH/I8BR/yPAUv8jwFL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPB
+ Uv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8BR/x3PaP8Z2Hb/Gdh2/xnZ
+ d/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F+KC/wU3IP8AAAD/AAAA/wAAAP8AAAD/AAAAWAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEsAAAD/AAAA/wAA
+ AP8AAAD/DCYE/zetE/83rRX/Nq0W/zatF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSwHf81sBz/Lrcy/yLE
+ V/8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPD
+ Vf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/x/CUv8uxl3/yfDV////////////////////
+ /////////////////////////////////////////////8rty//K7cv/////////////////////////
+ ////////////////////////////////////////ye/V/y3EW/8ewFD/IsFT/yLBU/8iwVP/I8FT/yPB
+ VP8jwVT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPC
+ VP8jwlT/I8JU/yPCVP8jwVP/Hc9o/xrXdf8Z13X/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfc
+ fv8X3X//BTEd/wAAAP8AAAD/AAAA/wAAAP8AAABLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAPQAAAPwAAAD/AAAA/wAAAP8JHgP/NaQS/zetFP82rBX/Nq0W/zat
+ F/82rhj/Na4Z/zWvGv81rxv/NLAc/zWvG/8utzL/IcVZ/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLE
+ V/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLE
+ V/8gw1X/JMVZ/7brx///////////////////////////////////////////////////////////////
+ ///a8tn/QL0//0C9P//a8tn/////////////////////////////////////////////////////////
+ ////////tevG/yPDV/8fwVP/IcJV/yHCVf8hwlX/IsJV/yLCVv8iwlb/IsNW/yLDVv8iw1b/IsNW/yLD
+ Vv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLCVf8dz2f/Gtdz/xrW
+ dP8Z13X/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9x9/xbSeP8EJhX/AAAA/wAAAP8AAAD/AAAA/AAA
+ AD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAA8wAA
+ AP8AAAD/AAAA/wcTAv8ynBD/OK0T/zesE/83rBT/Nq0W/zatF/82rRf/Na4Z/zWvGv81rxv/Na8a/y+2
+ Lv8hxVr/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHF
+ Wf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IMRY/x7EVv+i5rn/////////////////////////
+ ////////////////////////////////////////5/bm/1HBS/8huz7/Ibs+/1HBS//n9ub/////////
+ ////////////////////////////////////////////////////////oeW4/x3CVf8fwlb/IMNX/yDD
+ V/8hw1f/IcNX/yHCWP8hw1j/IcNY/yHEWP8hxFj/IcRY/yHEWP8hxFj/IcRY/yHEWP8hxFj/IcRY/yHE
+ WP8hxFj/IcRY/yHEWP8hxFj/IcNY/x3Qaf8a1nH/GtZy/xrWdP8a13X/Gdh2/xnYd/8Z2Xf/GNl5/xja
+ ev8Y3X3/Fcdx/wMZD/8AAAD/AAAA/wAAAP8AAADzAAAAKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAADqAAAA/wAAAP8AAAD/AgcB/zCSDv84rhL/N6sT/zes
+ E/82rBX/Nq0W/zatF/82rhj/Na4Z/zWvGv81rxn/MLQq/yHFWv8hxVv/IcVb/yHFW/8hxVv/IcVb/yHF
+ W/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yDF
+ Wv8Zw1X/jOGq//////////////////////////////////////////////////////////////////L6
+ 8f9hxVj/Ibk2/x/CWP8fwlj/Ibk2/2HFWP/y+vH/////////////////////////////////////////
+ ////////////////////////jOCp/xjBU/8fw1j/IMNZ/yDDWf8gw1n/IcNZ/yHDWv8hw1r/IcRa/yHE
+ Wv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxVv/HNFq/xvV
+ cP8a1XH/GtZy/xrWdP8Z13X/Gdh2/xnYd/8Z2Xj/GNl5/xjefP8Uumn/AQkG/wAAAP8AAAD/AAAA/wAA
+ AOoAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAA
+ ANcAAAD/AAAA/wAAAP8AAAD/K4IM/zmvEf83qxL/N6sT/zesFP82rBX/Nq0W/zatF/82rhj/Na4Z/zWv
+ Gf8ysiL/IcRZ/yDGXv8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDG
+ Xf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/F8RX/3Xcm//9//7/////////////////////////
+ ///////////////////////////////////5/fn/dctp/yO2MP8fwlj/H8NZ/x/DWv8fw1n/I7Yx/3XL
+ af/5/fn////////////////////////////////////////////////////////////9/v7/ddqa/xfC
+ Vf8fxFv/H8Rb/x/EW/8fxFv/IMRb/yDEXP8gxFz/IMVc/yDFXP8gxVz/IMVc/yDFXP8gxVz/IMVc/yDF
+ XP8gxVz/IMVc/yDFXP8gxVz/IMVc/yDGXf8b0mz/G9Vv/xvVcP8a1XH/GtZy/xrWdP8Z13X/Gdh2/xnZ
+ d/8Z2Xj/Gd98/xKlXP8AAAD/AAAA/wAAAP8AAAD/AAAA1QAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAP8AAAD/AAAA/wAAAP8iaAn/OrAQ/ziq
+ EP84qxH/N6sT/zesE/83rBT/Nq0W/zatF/82rRf/Na4Y/zSvHP8jw1X/H8dh/x/HX/8fx1//H8df/x/H
+ X/8fx1//H8df/x/HX/8fx1//H8df/x/HX/8fx1//H8df/x/HX/8fx1//H8df/yDHX/8gx1//H8Zf/xfB
+ Vf9g1Ir/9fz4/////////////////////////////////////////////////////////////v/+/4rR
+ fP8mtCn/H8JY/x7DW/8ew1r/HsRb/x7EW/8fw1n/JrQq/4rRfP/+//7/////////////////////////
+ ///////////////////////////////////1/Pj/YdaM/xbDV/8fxV3/H8Vd/x/FXf8fxV3/H8Ve/x/F
+ Xv8fxV7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8hg/xzT
+ bP8b1G7/G9Rv/xvVb/8b1XD/GtZy/xrWdP8a13X/Gdh2/xnYd/8a4Xz/D4VK/wAAAP8AAAD/AAAA/wAA
+ AP8AAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAACHAAAA/wAAAP8AAAD/AAAA/xhJBv87sQ//OKoQ/ziqEP83qxL/N6sT/zesE/82rBX/Nq0W/zat
+ F/82rhf/Na4Y/yXATP8eyWP/H8hh/x/IYf8fyGH/H8hh/x/IYf8fyGH/H8hh/x/IYf8fyGH/H8hh/x/I
+ Yf8fyGH/H8hh/x/IYf8fyGH/HsZf/x7EXP8Vv1P/Tc16/+v58P//////////////////////////////
+ //////////////////////////////////+c147/KrIk/x/CVf8dxF3/HsRc/x7EXP8exFz/HsRc/x3F
+ Xv8fw1f/KrIk/5zXjv//////////////////////////////////////////////////////////////
+ ///s+vH/TtGB/xfEWf8fxl//H8Zf/x/GX/8fxl//H8Zf/x/GX/8fxl//H8df/x/HX/8fx1//H8dg/x/H
+ YP8fx2D/H8dg/x/HYP8fx2D/H8dg/x/HYP8eymP/HNNs/xzTbP8b1G7/G9Rv/xvVb/8a1XH/GtZy/xrW
+ dP8Z13X/Gdh2/xrhfP8KXDL/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4AAAD/AAAA/wAAAP8AAAD/Dy0D/zmp
+ Df84qg//OKoQ/zirEf83qxL/N6sT/zesFP82rBX/Nq0W/zatF/83rRT/Kbs//x3JZ/8eyGP/Hshj/x7I
+ Y/8eyGP/Hshj/x7IY/8eyGP/Hshj/x7IY/8eyGP/Hslk/x7JZP8eyGP/HcZg/xzCW/8cwVn/Fb5U/zrI
+ bv/h9+n/////////////////////////////////////////////////////////////////suCm/zCx
+ I/8fwFL/HcRf/x3EXf8dxF7/HcRe/x3EXv8dxF7/HcVe/x3GYP8fwlT/MLIj/7Lgpv//////////////
+ ///////////////////////////////////////////////////h9+r/PM52/xjFXf8exmH/HsZh/x7G
+ Yf8exmH/HsZh/x7GYf8ex2H/Hsdh/x7HYf8ex2L/Hsdi/x7HYv8ex2L/Hsdi/x7HYv8ex2L/Hsdi/x3M
+ Zv8c02v/HNNs/xzTbf8b1G7/G9Rv/xvVcP8a1XH/GtZy/xrWdP8Z2HX/Gdh2/wY5H/8AAAD/AAAA/wAA
+ AP8AAAD/AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAALwAAAPsAAAD/AAAA/wAAAP8FDwH/NZwL/zqrDf84qQ7/OKoQ/ziqEP84qxH/N6sT/zes
+ E/83rBT/Nq0W/zesFf8vtS3/Hslm/x7JZf8eyWX/Hsll/x7JZf8eyWX/Hsll/x7JZf8eyWX/Hspm/x7J
+ Zf8dx2P/HMRf/xvBWv8bwFn/G8BZ/xa/Vv8txmf/0PLd////////////////////////////////////
+ /////////////////////////////8PmuP84sSL/Hr9N/xzFYf8dxF//HcVf/x3FX/8dxV//HcVf/x3F
+ YP8dxWD/HcZg/xzHY/8fwE//OLEj/8PmuP//////////////////////////////////////////////
+ ///////////////////R89//MMxv/xrGYP8ex2P/Hsdj/x7HY/8ex2P/Hsdj/x7HY/8ex2P/Hshj/x7I
+ Y/8eyGT/Hshk/x7IZP8eyGT/Hshk/x7IZP8eyGT/Hc9n/x3Sav8c0mr/HNNs/xzTbf8b1G7/G9Rv/xvV
+ b/8b1XD/GtZy/xrZdf8Xx2z/AhMK/wAAAP8AAAD/AAAA/wAAAPsAAAAvAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAA3gAAAP8AAAD/AAAA/wAB
+ AP8rgAn/O60N/zmpDf84qg//OKoQ/ziqEP83qxL/N6sT/zesE/82rBX/NqwV/zSvHf8fx2D/Hcpo/x3K
+ Z/8dymf/Hcpn/x3KZ/8dymj/Hcpo/x3JZ/8cx2P/G8Nd/xrAWf8awFn/GsBa/xrAWv8XwFj/IMNg/73t
+ 0P/////////////////////////////////////////////////////////////////V7c3/RLIo/x+8
+ Rf8bxmP/HMVg/xzFYf8cxWH/HMZh/xzGYf8cxmH/HMZh/xzGYv8cxmL/HMdi/xvIZv8fvUj/RLMn/9Xt
+ zf////////////////////////////////////////////////////////////////+979L/JMlq/xrH
+ Y/8dyGX/Hchl/x3IZf8dyGX/Hchl/x3IZf8dyGX/Hcll/x3JZf8dyWb/Hclm/x3JZv8dyWb/Hclm/x3K
+ Zv8d0Gf/HdFo/x3Sav8c0mv/HNNs/xzTbP8b1G7/G9Rv/xvVb/8a1XH/G9x1/xOjWP8AAgH/AAAA/wAA
+ AP8AAAD/AAAA3gAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAACsAAAA/wAAAP8AAAD/AAAA/x5WBf88rwv/OagM/zmpDv84qg//OKoQ/zir
+ Ef83qxL/N6sT/zesFP82rBX/NqwU/yTBTv8bzGz/HMtp/xzLaf8cy2r/HMtq/xzJZ/8axWH/GcFc/xnA
+ Wf8ZwFr/GcFa/xnBW/8ZwVv/F8Ba/xjAW/+q6MP/////////////////////////////////////////
+ ////////////////////////4/Pd/1G1MP8guTz/GcZl/xrFYv8bxmL/G8Zi/xvGYv8bxmL/G8Zj/xvH
+ Y/8bx2P/G8dj/xvHZP8bx2T/G8dk/xrJaP8huj7/UbUw/+Pz3P//////////////////////////////
+ //////////////////////////////////+r68f/G8lm/xrIZv8cyWf/HMln/xzJZ/8cyWf/HMln/xzJ
+ Z/8cyWf/HMpn/xzKZ/8cymj/HMpo/xzKaP8cymj/Hcxn/x7RZv8d0Wj/HdFo/xzSav8c0mv/HNNs/xzT
+ bf8b1G7/G9Rv/xvVcP8b3XX/DW47/wAAAP8AAAD/AAAA/wAAAP8AAACsAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAD/AAAA/wAA
+ AP8AAAD/DSgC/zqnCv85qAv/OagM/zmpDf84qQ7/OKoQ/ziqEP84qxH/N6sT/zesE/83qxL/LLg1/xvN
+ bv8czGz/HMtr/xvIZv8Zw1//GL9a/xi/Wf8Yv1r/GcBa/xnBW/8ZwVz/GcJc/xjBXP8UwFn/kuKz////
+ /////////////////////////////////////////////////////////////+z36P9guTz/IrYy/xnG
+ Zv8axmT/GsZk/xrGZP8ax2T/G8dl/xvHZf8bx2T/G8dm/xvIZv8byGb/G8hm/xvIZv8byGb/G8ln/xrJ
+ af8itzT/YLo8/+z36P//////////////////////////////////////////////////////////////
+ //+T5rj/Fsll/xvJaP8cymr/HMpq/xzKav8cymr/HMpq/xzKav8cymr/HMpq/xzLaf8cy2r/HMtr/xzL
+ a/8dzmb/HtBl/x7RZ/8d0Wf/HdFo/x3Sav8c0mr/HNNs/xzTbf8b1G7/G9Vv/xvVb/8GMhv/AAAA/wAA
+ AP8AAAD/AAAA/wAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAPUAAAD/AAAA/wAAAP8DCQH/MY4I/zurCv85qAv/OagM/zmp
+ Df84qg//OKoQ/ziqEP83qxL/N6sT/zisEv80rx3/Hchi/xnGZf8YwVz/F75Y/xe+Wf8Xv1r/F79a/xi/
+ W/8YwFv/GMBb/xjBXf8YwV3/EMBY/3vco///////////////////////////////////////////////
+ ///////////////////3+/X/c8BN/ySxJ/8Zx2X/GcZl/xnGZP8axmX/GsZl/xrGZf8ax2b/Gsdm/xrH
+ Zv8ax2b/Gshn/xrIZ/8ayGf/Gshn/xrIZ/8ayGf/Gslp/xrJaf8ksyr/c8BN//f79f//////////////
+ //////////////////////////////////////////////////994ar/E8hl/xvKav8bymv/G8pr/xvK
+ a/8bymv/G8pr/xvKa/8bymv/G8tr/xvLa/8by2z/G8tr/x7PZP8e0GT/HtBl/x7RZ/8d0Wj/HdFo/x3S
+ av8c0mv/HNNs/xzTbf8c2HD/F7Ve/wELBf8AAAD/AAAA/wAAAP8AAAD1AAAAKgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAyQAA
+ AP8AAAD/AAAA/wAAAP8hYAX/PK4K/zqoCv85qAv/OagM/zmpDv84qg//OKoQ/zirEf83qxH/NakS/zKj
+ D/8hsjz/Fb9b/xa/Wf8Xv1r/F79a/xe/W/8XwFv/F8Bc/xjAXf8YwV3/GMFe/w/AWP9j1pP/+P36////
+ /////////////////////////////////////////////////////////P78/4bGYv8orh3/GcZk/xjH
+ Z/8Zx2X/Gcdm/xnHZv8Zx2f/Gsdn/xrHaP8ayGj/Gsho/xrIaP8ayGj/Gshp/xrJaf8ayWn/Gslp/xrJ
+ af8ayWr/Gcpr/xrJaf8prx//hsZi//z++///////////////////////////////////////////////
+ //////////////j++/9k3Jz/Esln/xvLbf8by23/G8tt/xvLbf8by23/G8tt/xvLbf8by23/G8xt/xvM
+ bv8czGj/H89i/x/PY/8e0GX/HtBl/x7RZ/8d0Wj/HdFo/xzSav8c0mv/HNNr/x3bcf8Pdz7/AAAA/wAA
+ AP8AAAD/AAAA/wAAAMkAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7AAAA/wAAAP8AAAD/AAAA/w4oAv86pwj/OqgJ/zqo
+ Cv85qAv/OakM/zmpDf83qQ7/NKQO/zCfDf8unQ7/Lp0N/ymlHv8Wvln/Fr9b/xa/W/8Wv1z/Fr9d/xbA
+ Xf8WwV7/F8Fe/xfBX/8Ov1n/UdGH//L79v//////////////////////////////////////////////
+ //////////////////+Yznf/LKoV/xnEYf8Xx2n/GMdn/xjIaP8YyGj/GMhp/xjIaf8YyGn/Gchq/xnI
+ av8ZyWr/Gclq/xnJa/8ZyWv/Gclr/xnKa/8Zymz/Gcps/xnKbP8Zymz/GMtu/xrIZ/8sqxb/mM52////
+ //////////////////////////////////////////////////////////////L89/9S2JL/Ecpp/xrM
+ b/8azHD/Gsxw/xrMcP8azHD/Gsxw/xrMcP8azHD/Gsxv/x7NY/8fzmD/H85i/x/PY/8e0GT/HtBl/x7R
+ Z/8d0Wf/HdFo/x3Sav8c02v/HNJr/wcwGf8AAAD/AAAA/wAAAP8AAAD/AAAAewAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ACoAAAD1AAAA/wAAAP8AAAD/AQQA/y6DBv88qwn/OqgJ/zqoCv83pQr/MqAL/y+bCv8tmgv/LZsM/y6c
+ Df8unQ3/Lp4O/xy1RP8UwF7/Fb9c/xW/Xf8Vv13/FcBd/xXBX/8WwV//D8Bb/z7Ne//l+O3/////////
+ ////////////////////////////////////////////////////////q9aN/zOoDv8aw1v/F8hr/xfH
+ aP8Xx2j/F8hp/xfIaf8XyGr/F8hq/xjIav8YyGr/GMhr/xjJa/8YyWv/GMlr/xjJbP8YyWz/GMps/xjK
+ bP8Yym3/GMpt/xjKbf8Yym3/GMxx/xvGYf8zqQ//q9aN////////////////////////////////////
+ /////////////////////////////+X67/9A1Yn/Ests/xnMcP8ZzHH/Gcxx/xnMcf8ZzHH/Gcxx/xnM
+ cv8bzGv/IM1e/x/OX/8fzmH/H89j/x/PY/8e0GX/HtBl/x7RZ/8d0Wj/HdFo/x3Xbf8WplT/AQUC/wAA
+ AP8AAAD/AAAA/wAAAPUAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAALkAAAD/AAAA/wAAAP8AAAD/GEMD/zyr
+ B/82oQj/MZsH/y6YB/8tlwj/LpgJ/y6aCv8tmwr/LpsM/y6cDf8vnAv/J6Yi/xW/XP8UwF3/FcBe/xXA
+ Xv8VwF//FcFg/xHAXf8ryHD/1/Tk////////////////////////////////////////////////////
+ /////////////8Dgqf87pw3/G8BU/xbIbP8XyGn/F8hq/xfIav8XyGv/F8lr/xfJa/8XyWv/F8ls/xjJ
+ bP8YyWz/GMlt/xjKbf8Yym3/GMpt/xjKbv8Yym7/GMtu/xjLb/8Yy2//GMtv/xjLb/8Yy2//F81z/xzE
+ Wv87pw3/wOCp/////////////////////////////////////////////////////////////////9f3
+ 5/8u0oD/Fcxw/xnNc/8ZzXP/Gc1z/xnNc/8ZzXT/Gc1z/x7MY/8gzF3/IM1e/x/OX/8fzmH/H89i/x7P
+ ZP8e0GX/HtBl/x7RZ/8d0Wj/Hths/wtVK/8AAAD/AAAA/wAAAP8AAAD/AAAAuQAAAAIAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAWgAAAP8AAAD/AAAA/wAAAP8EDQD/KoYE/y6WBf8tlAb/LZYG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmwr/LZsM/y6cDP8vnAz/HbRB/xPCYf8UwV//FMFg/xTBYP8UwWH/EcFe/6zpx///////////////
+ ///////////////////////////////////////////////////O57z/Q6kQ/xy9S/8VyW7/Fshr/xbI
+ a/8WyWz/Fsls/xbJbP8WyW3/Fslt/xbJbv8WyW7/Fspu/xfKb/8Xym//F8pv/xfLcP8Xy3D/F8tw/xfL
+ cP8Xy3D/F8xx/xfMcf8XzHH/F8xx/xfMcv8XzHL/Fs92/x3BUf9DqBH/zua8////////////////////
+ /////////////////////////////////////////////63uzv8UzXP/GM51/xjOdf8Yznb/GM52/xjO
+ d/8bzWz/Ictb/yDLXf8gzF7/IM1e/x/OX/8fzmD/H89i/x/PY/8e0GT/HtBl/x7UaP8aulz/AhEI/wAA
+ AP8AAAD/AAAA/wAAAP8AAABaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAA2QAAAP8AAAD/AAAA/wAA
+ AP8XTAL/L5oE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y+cC/8qoxr/Fb9a/xPB
+ Yf8TwWD/E8Fh/xDBYP8yynb/8fv1////////////////////////////////////////////////////
+ ////////2+7P/1CsG/8euUD/E8lw/xXIbP8VyWz/Fclt/xXJbf8Vym7/Fcpu/xXKbv8Vym//Fcpv/xXK
+ b/8Wym//Fspw/xbLcP8Wy3H/Fstx/xbLcf8WzHL/Fsxy/xbMcv8WzHL/Fs1z/xbNc/8WzXP/Fs1z/xbN
+ dP8WzXT/Fc94/x+9Rv9PrBv/2+7P////////////////////////////////////////////////////
+ ////////8fz3/zTViP8TznX/F893/xfPd/8Xz3j/F892/x/LXv8gylr/Ictc/yDLXf8gzF7/IM1e/x/O
+ X/8fzmH/H89j/x/PY/8e0GX/H9lq/w9sNf8AAAD/AAAA/wAAAP8AAAD/AAAA2QAAAA4AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAB5AAAA/wAAAP8AAAD/AAAA/wUSAP8phwP/LpYE/y6UBv8tlQb/LZYG/y6X
+ B/8tmAj/LpgK/y6ZCv8tmwr/LZsM/y+bCv8hrTP/EsJj/xPBYf8TwmL/DMBe/0vRiP/9////////////
+ /////////////////////////////////////////////+n04f9csSf/ILQ1/xTJcP8VyW3/Fclt/xXI
+ bf8VyW3/Fcpu/xXJbv8Vym//Fctv/xXLcP8Vy3D/Fctw/xbLcP8WynH/Fstx/xbMcv8WzHL/Fstz/xbM
+ c/8WzXP/Fs10/xbNdP8WzHT/Fs10/xbOdf8WznX/Fs51/xbOdf8Wznb/FdB6/yC5O/9csSf/6fTh////
+ ///////////////////////////////////////////////////9////TtuZ/xHOdP8X0Hn/F9B4/xfQ
+ ev8czGb/IclW/yDKWf8gylr/Ictc/yHLXf8gzF7/IM1e/x/OX/8fzmH/H85i/x/SZf8bvlz/AxkM/wAA
+ AP8AAAD/AAAA/wAAAP8AAAB2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAADmAAAA/wAA
+ AP8AAAD/AAAA/xZIAf8vmAP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwv/LZsL/y2d
+ Dv8YuU3/EcNl/xLCY/8NwWH/Pst6//j89///////////////////////////////////////////////
+ ///y+e3/bbg7/yOxKv8TyXD/FMhu/xTIbv8UyW//FMlv/xTJb/8UynD/FMpw/xTKcf8Uy3H/FMty/xTL
+ cv8Uy3L/FMtz/xXLc/8Vy3P/Fcx0/xXMdP8VzHT/Fcx1/xXNdf8VzXX/Fc12/xXNdv8VzXb/Fc53/xXO
+ d/8Vznf/Fc53/xXOeP8Vznn/FNB7/yO0L/9tuDr/8vnt////////////////////////////////////
+ //////////////j8+P9A1ov/EdB5/xbQe/8W0Hz/Gc5y/yHJVv8hyVf/IclY/yDKWf8gylr/Ictc/yDL
+ Xf8gzF7/IM1e/x/OX/8fzmD/INdm/w9lMP8AAAD/AAAA/wAAAP8AAAD/AAAA5gAAABoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAD/AAAA/wAAAP8AAAD/BAsA/yd/A/8ulgP/LZQE/y6U
+ Bv8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LpoJ/ymiG/8Tv13/EcNl/xDDZv8evFH/0+vH////
+ ////////////////////////////////////////+fz4/37AUP8mrR//E8ht/xPIb/8TyG7/E8lv/xPJ
+ cP8TynD/E8px/xPKcf8Ty3H/E8ty/xPLcv8TzHP/E8xz/xPMc/8UzHT/FMx0/xTMdf8UzHX/FMx1/xTN
+ dv8UzXb/FM12/xTNd/8Uznf/FM53/xTOeP8Uznj/FM94/xTPeP8Uz3n/FM95/xTPef8Uz3r/FNB6/yaw
+ I/9+wE//+fz4////////////////////////////////////////////0+vH/yDHYv8T0n//FdF9/xbQ
+ ev8gyVv/IshU/yHJVv8hyVf/IcpY/yDKWf8gylr/Ictc/yDLXf8gzF7/IM1e/yDSYf8bs1T/AhAI/wAA
+ AP8AAAD/AAAA/wAAAP8AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAA
+ AOAAAAD/AAAA/wAAAP8AAAD/ETcA/y6VA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmwv/L5oJ/yOqK/8Qw2X/EMRn/xC9VP9mu0T/9fnw////////////////////////////////////
+ //+Ox2X/KqoW/xTHav8SyXD/E8lv/xPJcP8TyXD/E8px/xPKcf8Ty3L/E8ty/xPLc/8TzHP/E8xz/xPM
+ dP8TzXX/E811/xPNdf8UzXb/FM12/xTNd/8UzXf/FM13/xTOeP8Uznj/FM54/xTOef8Uz3n/FM95/xTP
+ ef8Uz3r/FNB6/xTQev8U0Hr/FNB7/xTQev8T0Xz/Fc94/yusGv+Ox2T/////////////////////////
+ //////////////X57/9mvEb/E8pq/xTTf/8V0n7/Hsph/yPHUf8ix1T/IshV/yHIVf8hyVf/IclY/yDK
+ Wf8gylr/Ictc/yDLXf8gzF7/IdJh/wxNJP8AAAD/AAAA/wAAAP8AAAD/AAAA4AAAABcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAP8AAAD/AAAA/wAAAP8BAwD/IWsB/y6X
+ A/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwr/LpoJ/x6vOv8PxGj/EMVq/ySv
+ Kf9wuD3/1+zK///////////////////////m897/iMRf/zCoEv8TxGX/Eclx/xLJb/8SyXD/Espx/xLK
+ cv8SynL/Esty/xLLc/8Sy3T/Esx0/xLMdP8SzHX/Es12/xLNdv8SzXf/E813/xPNd/8TzXj/E854/xPO
+ ef8Tznn/E855/xPPev8Tz3r/E896/xPPe/8T0Hv/E9B7/xPQe/8T0Hz/E9B8/xPRfP8T0X3/E9F9/xPR
+ ff8S0oD/Fs1z/zCqFf+IxF//5vPe///////////////////////X7Mr/b7g8/yW2NP8T1IT/E9KC/xvM
+ aP8kxk//I8dS/yLHU/8ix1T/IshV/yHJVv8hyVf/IclY/yDKWf8gylr/Ictc/yHSYP8Xk0P/AQQC/wAA
+ AP8AAAD/AAAA/wAAAP8AAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAMAAAAzgAAAP8AAAD/AAAA/wAAAP8JHAD/K4sC/y6UA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6aCv8tmgr/LZsM/xu1Rf8Pxmz/EsNl/ymrHP9FpQj/cLk//5bMc/+aznj/eL1K/02o
+ EP8upw7/FcNg/xDJcv8RyHD/Eslx/xLJcf8SynL/Espz/xLKc/8Sy3T/Est1/xLLdf8SzHb/Esx2/xLM
+ dv8SzXf/Es13/xLNeP8SzXj/E815/xPNef8Tznn/E856/xPOev8Tznr/E897/xPPe/8Tz3z/E898/xPQ
+ ff8T0H3/E9B9/xPQfv8T0H7/E9F+/xPRfv8T0X//E9F//xPRf/8S04L/F8xv/y+pEv9NpxD/eL1K/5rO
+ eP+WzHP/cLk+/0WkB/8pryT/FdF9/xLThv8azW7/I8VO/yPGT/8jxlH/I8dS/yLHU/8ix1T/IchV/yHJ
+ Vv8hyVf/IcpY/yDKWf8hzVv/H8FY/wYmEf8AAAD/AAAA/wAAAP8AAAD/AAAAzgAAAAwAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFAAAA+gAAAP8AAAD/AAAA/wAA
+ AP8TQAD/LpYC/y2SA/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmgn/LZwP/xq3
+ Sf8Oxm3/EcRo/yC3P/8tqBP/MaMC/zGjAf8vpw3/JLU2/xPGZ/8PynL/EMlw/xHJcf8RyXL/Ecpy/xHK
+ c/8Ry3T/Ect0/xHLdf8RzHb/Ecx2/xHMd/8RzXf/Ec13/xHNeP8Rznj/Ec55/xHOef8Sznr/Es56/xLO
+ e/8Sznv/Es98/xLPfP8Sz3z/Es99/xLQff8S0H3/EtB+/xLRfv8S0X7/EtF//xLRf/8S0X//EtJ//xLS
+ gP8S0oD/EtKA/xLSgP8R04T/FdB4/yW6P/8vqRH/MaQD/zGkBP8urBn/Ir9O/xPSgP8Q1Yf/GM5w/yPF
+ Tv8kxUz/JMVO/yPGT/8jxlH/I8dS/yLHU/8ix1T/IshV/yHIVf8hyVf/IcpY/yHQW/8OWSf/AAAA/wAA
+ AP8AAAD/AAAA/wAAAPoAAABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAACaAAAA/wAAAP8AAAD/AAAA/wECAP8eYgH/L5cC/y2SA/8tkwP/LZQE/y6U
+ Bf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8umgn/LZwO/xm3Sv8Ox2//Dcdv/w/GbP8TxGT/E8Rk/xDH
+ bP8OyXP/Dslx/w/Jcf8QynL/EMpy/xDKc/8QynT/EMp0/xDLdf8Qy3b/EMx2/xDMd/8QzHj/EM14/xDN
+ ef8Qznn/EM56/xDOev8Qz3r/Ec97/xHPe/8Rz3z/Ec98/xHPfP8Rz33/EdB+/xHQfv8R0H7/EdB//xHR
+ f/8R0YD/EdGA/xHRgP8R0oH/EdKB/xHSgf8R0oH/EdOC/xHTgv8R04L/EdOC/xHTg/8Q1IX/ENWI/xLT
+ gf8Vz3j/FdB5/xHUhf8Q1on/EdWJ/xnOcP8kxEv/JcRK/yTETf8kxU3/JMVO/yPGUP8jxlH/I8dS/yLH
+ U/8ix1T/IshV/yHJVv8i0Vr/Fok8/wEDAf8AAAD/AAAA/wAAAP8AAAD/AAAAmgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAADbAAAA/wAA
+ AP8AAAD/AAAA/wUQAP8mfQH/LpYC/y2SA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6a
+ Cv8tmgn/LZwO/xu1Rv8Nx2//Dsdt/w7Hb/8OyHD/Dshw/w/JcP8PyXH/D8py/w/Kcv8QynP/EMp0/xDK
+ dP8Qy3X/EMt1/xDMdv8QzHf/EM14/xDNef8QzXn/EM56/xDOev8Qz3v/EM98/xDPfP8Q0Hz/EdB9/xHQ
+ ff8R0H7/EdB+/xHQfv8R0H//EdF//xHRgP8R0YD/EdGA/xHSgf8R0oH/EdKC/xHSgv8R04P/EdOD/xHT
+ g/8R04P/EdOE/xHUhP8R1IT/EdSE/xHUhf8R1IX/ENWF/xDVh/8Q1Yf/ENWH/xDWif8ZzW7/JcJJ/yXD
+ R/8lxEr/JMRM/yTETf8kxU3/I8VO/yPGUP8jxlH/I8dS/yLHU/8ix1T/I81X/xysSv8DFgr/AAAA/wAA
+ AP8AAAD/AAAA/wAAANsAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkAAAD6AAAA/wAAAP8AAAD/AAAA/wsjAP8qiQH/LZQC/y2S
+ A/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmgn/LZsM/x6xPP8Ox23/Dchw/w7I
+ b/8OyHD/Dslx/w7Jcv8PynP/D8pz/w/LdP8Py3X/D8t1/w/Ldv8PzHb/D8x3/w/NeP8PzXn/D855/w/O
+ e/8Pznv/D897/w/PfP8Pz33/D9B9/xDQff8Q0H7/ENB+/xDQf/8Q0H//ENGA/xDRgP8Q0YH/ENGB/xDS
+ gv8Q0oL/ENKD/xDTg/8Q04P/ENOD/xDThP8Q1IT/ENSE/xDUhP8Q1IX/ENSG/xDVhv8Q1Yb/ENWG/xDV
+ h/8Q1Yf/ENWH/w/Wif8Q1Yj/G8pl/ybBRf8mwUX/JcFI/yXDSP8lxEr/JMRL/yTETf8kxU3/JMVO/yPG
+ T/8jxlH/I8dS/yLKVP8gvlD/CC4U/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAASQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AIEAAAD/AAAA/wAAAP8AAAD/AAAA/xA0AP8skQH/LZMC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6ZCv8tmgr/LpoJ/yOpLP8Qw2b/DMp0/w3Icf8NyXL/Dclz/w7Kc/8OynT/Dst1/w7L
+ dv8Oy3f/Dst3/w7MeP8OzHj/Ds15/w7Nev8Oznv/Ds57/w7OfP8Oz33/Ds99/w7Pfv8O0H7/D9B//w/Q
+ f/8P0ID/D9CA/w/Qgf8P0YH/D9GC/w/Rgv8P0YL/D9KD/w/ShP8P0oT/D9OF/w/Thf8P04X/D9OG/w/U
+ hv8P1Ib/D9SG/w/Uh/8P1If/D9WI/w/ViP8P1Yj/D9WI/w/Vif8O1oz/EdSC/x/GWP8ov0H/JsBE/ybB
+ Rv8mwUb/JcFI/yXDSf8lxEr/JMRL/yTETf8kxU3/JMVO/yPGUP8jyFL/I8hS/wxIHv8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAALQAAAD/AAAA/wAAAP8AAAD/AAAA/xVF
+ AP8tkgH/LZMC/y2SA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwr/LpkI/ymi
+ G/8WvFb/DMp1/wzKdf8NynP/Dcp0/w7Ldf8Oy3b/Dst3/w7Ld/8OzHj/Dsx6/w7Mef8OzXr/Ds57/w7O
+ e/8Ozn3/Ds99/w7Pfv8O0H//DtB//w7QgP8O0YH/D9GB/w/Rgf8P0YH/D9GC/w/Rg/8P0oT/D9KE/w/S
+ hP8P0oT/D9OF/w/Thf8P04X/D9OH/w/Uh/8P1If/D9SH/w/ViP8P1Yj/D9WI/w/Vif8P1Yn/D9aJ/w/W
+ if8O14v/DteN/xXPdv8jwUv/KL4//ye/Qv8nwEP/JsBF/ybBRv8mwUf/JcJI/yXDSf8lxEr/JMRM/yTE
+ Tf8kxU3/JMZP/yTJUf8RXyf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC0AAAABwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAGQAAANUAAAD/AAAA/wAAAP8AAAD/AAAA/xhPAP8ulQH/LZIC/y2SA/8tkgP/LZQE/y6U
+ Bf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwr/LpoJ/y6cDf8fsDn/DsZq/wvMeP8Ny3b/Dct2/w3M
+ dv8NzHj/Dcx4/w3Mef8NzXr/Dc16/w3Ne/8Nznz/Dc59/w3Pff8Nz3//DdB//w3QgP8N0ID/DdGB/w7R
+ gf8O0oL/DtKD/w7Sg/8O0oP/DtKE/w7ShP8O04X/DtOF/w7Thf8O04b/DtSH/w7Uh/8O1If/DtSI/w7V
+ iP8O1Yn/DtWK/w7Viv8O1or/DtaK/w7Wi/8O1ov/DdiO/xDVhP8cx17/J7w+/yi8Pf8nvUD/J79B/ye/
+ Qv8nwEP/JsBE/ybARf8mwUb/JcFI/yXDSP8lxEr/JMRL/yTFTf8lzFD/E2oq/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA1QAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAOgAAAD/AAAA/wAA
+ AP8AAAD/AQIA/xlRAP8ulQH/LZMC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6Z
+ Cv8tmwv/LZsL/y+bCf8qoxv/GblO/w3JdP8MzXv/DMx4/w3MeP8NzHn/Dcx6/w3Ne/8NzXz/Dc18/w3O
+ ff8Nzn7/Dc9+/w3Pf/8N0ID/DdCB/w3Qgf8N0YL/DtGD/w7Rg/8O0oT/DtKE/w7ShP8O0oX/DtKG/w7S
+ hv8O04f/DtOH/w7Th/8O1Ij/DtSJ/w7Uif8O1Ir/DtWK/w7Viv8O1Yv/DtWL/w7Wi/8N14z/DdeP/w7W
+ i/8Yy2z/Jb5F/ym6OP8nvDz/J7w9/ye9P/8nvUH/J79B/ye/Qv8nwEP/JsBE/ybBRv8mwUb/JcJI/yXD
+ Sf8lxUr/JcpO/xRvK/8BAwH/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAAAxAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAPMAAAD/AAAA/wAAAP8AAAD/AQEA/xhNAP8tkwH/LZMC/y2S
+ A/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwr/LpsM/y+cC/8vnAv/Jqgm/xa+
+ V/8Ny3b/C85+/wvNe/8MzHv/DM18/wzNff8Mzn7/DM5//wzOf/8Mz4D/DNCA/wzQgf8M0YL/DNGD/w3R
+ g/8N0oT/DdKE/w3Shf8N04b/DdOG/w3Th/8N04f/DdOH/w3Tif8N1In/DdSJ/w3Uiv8N1Ir/DdWL/w3V
+ jP8N1Yz/DdWM/w3WjP8M147/DNeR/w7Wi/8VznP/IsBL/yq5Nv8pujj/KLs6/yi8O/8nvDz/J709/ye9
+ P/8nvUH/J79C/ye/Qv8nwEP/JsBF/ybBRv8mwUb/JcRJ/yXGSv8TaSf/AAIB/wAAAP8AAAD/AAAA/wAA
+ AP8AAADzAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAA
+ APQAAAD/AAAA/wAAAP8AAAD/AAAA/xRAAP8sjwH/LpQC/y2SA/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6ZCv8tmwr/LZsM/y6cDP8vnAv/L50M/yeoJP8ZulD/Dsly/wrPf/8KzoD/C85+/wvO
+ fv8Lz3//C89//wvPgf8L0IH/C9CC/wvRg/8M0YT/DNKE/wzShf8M0oX/DNOG/wzTh/8M04f/DNOI/wzT
+ iP8M1Ij/DNSJ/wzUiv8M1Yr/DNWL/wzVi/8M1Yz/DNaN/wzWjv8L15D/C9iR/w7Uhv8Xymr/JL1F/yq3
+ M/8quDP/Kbk3/ym6OP8pujn/KLs6/yi7O/8nvDz/J7w9/ye9P/8nvUD/J79B/ye/Qv8nwEP/JsBE/yfE
+ R/8mwEf/EVcg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9AAAAFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/w8y
+ AP8qiAH/LpYC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y6c
+ Df8unQ3/L50M/y+eDP8qoxv/H7I9/xTBYP8MzHn/CtCC/wnRhP8K0YL/CtCD/wvQgv8L0YL/C9GE/wvS
+ hP8M0oX/DNOG/wzTh/8M04f/DNSI/wzUiP8M1In/DNSK/wzUiv8M1Ir/DNWL/wzVjP8L1o3/C9eP/wrX
+ kf8L15H/DdWK/xXNdP8dwlf/J7k6/yu1L/8qtjH/Krcz/yq4Nf8puTb/Kbk3/ym6OP8oujn/KLs6/yi8
+ O/8nvDz/J7w9/ye9P/8nvUH/J79B/ye/Qv8oxUX/JLVA/w1DGP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ APMAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAUgAAAPQAAAD/AAAA/wAAAP8AAAD/AAAA/wkfAP8leAH/L5cC/y2SA/8tkwP/LZQE/y6U
+ Bv8tlQb/LZYG/y6XB/8tmAj/LpgK/y6ZCv8tmwr/LZsM/y6cDP8unQ3/Lp4P/y6eDv8vnQ3/Lp8R/ymn
+ If8hsjv/F75X/xDJcP8Mzn7/CdKG/wnTiP8J04n/CtOI/wrUif8K1In/CtSK/wrUiv8K1Yv/CtWM/wrW
+ jP8K1o7/CtaP/wrWj/8K15H/CteQ/w3Uif8Q0H7/F8lo/x+/UP8ntzn/K7Mt/yyzK/8qtC//KrUx/ym2
+ Mv8ptzP/Krcz/yq4Nf8puTb/Kbk3/ym6OP8pujn/KLs6/yi7O/8nvDz/J7w9/ye9P/8nvkH/KMZE/yCf
+ N/8IKA7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD0AAAAUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAOsAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wQNAP8dXQD/LpUC/y6UA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmwv/LZsM/y6cDP8unQ7/Lp4P/y6fD/8tnxD/Lp8Q/y+fDv8voRD/LaQX/yiqJ/8jsjj/HblJ/xjA
+ Wv8Uxmb/Espv/xHLc/8Pznr/D898/w/Pff8Pz3z/Ec13/xLMdf8Uym7/GMVi/x3AVP8iu0X/JrU3/yqx
+ K/8ssCb/LLEm/yyxKf8rsiv/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krc0/yq4Nf8puTb/Kbk3/ym6
+ OP8oujn/KLs6/yi7O/8nvDz/J78+/yjCQf8Zeir/AxEG/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6wAA
+ AE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAANwAAAD/AAAA/wAAAP8AAAD/AAAA/wABAP8SOwH/KocC/y+X
+ A/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y6cDf8unQ7/Lp4P/y6f
+ EP8tnxH/LqAS/y6hEv8uoRL/L6ER/y+iEf8vohL/LqQU/y6kFf8tpxr/LKgd/yqqI/8qrCX/Kq0m/yqt
+ Jv8srCP/LKwh/y2rHv8tqx//Lawg/y2sIf8triT/LK8m/yuwJ/8rsSn/K7Iq/yuyK/8rsiz/K7Mt/yu0
+ L/8qtDD/KrUx/yq2Mv8qtzP/Krc0/yq4Nf8puTb/Kbk3/ym6OP8oujn/KLw6/ynDPf8krjj/EE0Z/wAB
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANwAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAA
+ AL8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8HFwD/HmMB/y6UA/8ulgP/LZQE/y6UBf8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6ZCv8tmgr/LZsM/y6cDP8unQ3/Lp4P/y6fD/8unxD/LqAS/y6hEv8uohP/LqIU/y6j
+ Ff8upBb/LaUX/y2lGP8uphj/LqcZ/y2nGv8tqBv/Lakc/y2qHv8tqh//Lawg/yysIf8srSL/LK0j/yyu
+ JP8sryX/LK8m/yuwJ/8rsSj/K7Ip/yuyK/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krcz/yq4
+ Nf8puTb/Kbk3/yq+Ov8pvTr/G34n/wYeCf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC/AAAAIgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAJMAAAD+AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/EDMB/yV5Av8vmAP/LpcE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwv/LZsM/y6c
+ DP8unQ7/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2n
+ G/8tqBz/Lakd/y2qH/8tqh//Lawg/yysIf8srSL/LK0k/yyuJP8sryX/LLAn/yuwJ/8rsSj/K7Iq/yuy
+ K/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krc0/yu8Nv8qwDj/Ipou/w5BFP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD+AAAAkwAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAF0AAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwkA/xVEAf8oggP/L5oE/y+W
+ Bv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwv/LZsM/y6dDf8unQ7/Lp4P/y6fEP8tnxH/LqAS/y6h
+ Ev8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Laca/y2nG/8tqBz/Lakd/y2qHv8tqx//LKwg/yys
+ If8srSP/LK0k/yyuJP8sryb/LLAn/yuwJ/8rsSn/K7Iq/yuyK/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq5
+ M/8rvzX/JaIu/xNVGP8CCwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA5QAAAF0AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAACzAAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUPAP8VRwL/J4EE/y+YBf8umQb/LpcG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmgr/LZsM/y6cDP8unQ3/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2l
+ GP8tpxn/Lqca/y2nG/8tqBz/Lakd/y2qHv8tqh//Lawg/yysIf8srSL/LK0j/yyuJP8sryX/LK8m/yuw
+ J/8rsSj/K7Ip/yuyK/8rsiz/K7Mt/yy5MP8rujH/JZ4r/xRYGP8EEwX/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAALMAAAAmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABmAAAA4wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8EDQD/Ez4B/yR1BP8tlQb/L5wH/y+aB/8tmAj/LpgJ/y6ZCv8tmwv/LZsM/y6cDP8unQ7/Lp4P/y6f
+ D/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2nG/8tqBz/Lakd/y2q
+ H/8tqh//LKwg/yysIf8srSL/LK0k/yyuJP8sryX/LLAn/yuwJ/8rsij/LLUq/y25LP8rsyz/Io4k/xJL
+ E/8DEAT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOEAAABjAAAABAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAfAAAAlQAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQQA/wwmAf8bWwT/KIYF/y+a
+ B/8vngn/L5sJ/y6aCv8tmwv/LZsM/y6cDf8unQ7/Lp4P/y6fEP8tnxH/LqAS/y6hEv8uohP/LqIU/y6j
+ Ff8upBb/LaUX/y2lGP8tpxn/Laca/y2nG/8tqBz/Lakd/y2qHv8tqyD/LKwg/yysIf8srSP/LK0k/yyu
+ JP8tsib/LrYo/yyzKP8mniT/GmwZ/wsuC/8BBAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ APcAAACVAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAK0AAAD7AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DCwD/Di8C/xtaBP8mgAf/LZYJ/zCeCv8voAv/L58M/y6e
+ DP8ung3/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2n
+ G/8tqBz/Lakd/y2rHv8urCD/LrAh/y6yI/8usyP/LKoj/yWSH/8aaBb/DTYM/wMMA/8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPsAAACtAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACvAAAA+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wIFAP8JHgL/Ez8E/x1gBv8kewn/Ko8L/y6bDP8voA7/MKQP/zCmEP8vpRH/L6US/y+l
+ E/8vpRP/L6YU/y+nFv8vqBb/L6kY/y6qGf8vrRr/MK8b/y+uHP8uqx3/Lagd/ymdHP8khxn/G2sU/xJG
+ Df8JIgf/AgYB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkAAACvAAAAQAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAA5AAAAnwAAAOwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEE
+ AP8EDwH/CiAC/xE5BP8WTAf/G10J/x5oCv8gcQz/I3sO/yWCDv8lgw//JYMQ/yWEEf8kfhH/IHYR/x1s
+ EP8bYg7/FlEN/xA9Cv8KIwb/BBAD/wEEAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAOwAAACfAAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAHIAAADHAAAA+wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAQD/AQMA/wEDAP8BAwD/AQMA/wABAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAMcAAAByAAAAIgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA2AAAAgQAAAMoAAAD5AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD5AAAAygAA
+ AIEAAAA2AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAABwAAAC4AAABqAAAAqQAAAN4AAAD2AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA9gAAAN4AAACpAAAAagAAAC4AAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAA
+ ADEAAABZAAAAhwAAALIAAADPAAAA5QAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD3AAAA5QAAAM8AAACyAAAAhwAAAFkAAAAxAAAACwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAZAAAAKgAA
+ ADcAAABNAAAAXgAAAGoAAABpAAAAaQAAAGkAAABpAAAAagAAAF4AAABNAAAANwAAACoAAAAZAAAABgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////+AAB/////////////////
+ wAAAA////////////////gAAAAB///////////////AAAAAAD/////////////+AAAAAAAH/////////
+ ///+AAAAAAAAf///////////+AAAAAAAAB///////////+AAAAAAAAAH///////////AAAAAAAAAA///
+ ////////AAAAAAAAAAD//////////gAAAAAAAAAAf/////////gAAAAAAAAAAB/////////wAAAAAAAA
+ AAAP////////4AAAAAAAAAAAB////////8AAAAAAAAAAAAP///////+AAAAAAAAAAAAB////////AAAA
+ AAAAAAAAAP///////gAAAAAAAAAAAAB///////wAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAB//////
+ 8AAAAAAAAAAAAAAP/////+AAAAAAAAAAAAAAB//////gAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAD
+ /////4AAAAAAAAAAAAAAAf////+AAAAAAAAAAAAAAAH/////AAAAAAAAAAAAAAAA/////gAAAAAAAAAA
+ AAAAAH////4AAAAAAAAAAAAAAAB////8AAAAAAAAAAAAAAAAP////AAAAAAAAAAAAAAAAD////gAAAAA
+ AAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///w
+ AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//+AAAAAAAAAAAAAAAAAH///gAAAAAAAAAAAAAAAA
+ B///wAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAA///gAAAAAAAAAAA
+ AAAAAAH//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAD//wAAAAAA
+ AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/4A
+ AAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAA
+ AH/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAA
+ AAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAA
+ AAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wA
+ AAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAA
+ AD/8AAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAA
+ AAAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAD//wAAAAAA
+ AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAAAAAB//+A
+ AAAAAAAAAAAAAAAAAf//gAAAAAAAAAAAAAAAAAH//8AAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAA
+ A///4AAAAAAAAAAAAAAAAAf//+AAAAAAAAAAAAAAAAAH///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAA
+ AAAAAA////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH////AAAAAAAAAAAAAAAAD////4AAAAA
+ AAAAAAAAAAB////+AAAAAAAAAAAAAAAAf////wAAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAH/////
+ gAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAA//////gAAAAAAAAAAAAAAf/////8AAAAAAAAAAAAAAP
+ //////gAAAAAAAAAAAAAH//////8AAAAAAAAAAAAAD///////gAAAAAAAAAAAAB///////8AAAAAAAAA
+ AAAA////////gAAAAAAAAAAAAf///////8AAAAAAAAAAAAP////////gAAAAAAAAAAAH////////+AAA
+ AAAAAAAAH/////////wAAAAAAAAAAD/////////+AAAAAAAAAAB//////////4AAAAAAAAAB////////
+ ///gAAAAAAAAB///////////+AAAAAAAAB////////////4AAAAAAAB/////////////gAAAAAAB////
+ /////////+AAAAAAB//////////////8AAAAAD///////////////8AAAAP////////////////+AAB/
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////8=
+
+
+
\ No newline at end of file
diff --git a/EleBox.App/Images/2.wav b/EleBox.App/Images/2.wav
new file mode 100644
index 0000000..34679f9
Binary files /dev/null and b/EleBox.App/Images/2.wav differ
diff --git a/EleBox.App/Images/29.wav b/EleBox.App/Images/29.wav
new file mode 100644
index 0000000..8e199ca
Binary files /dev/null and b/EleBox.App/Images/29.wav differ
diff --git a/EleBox.App/Images/About.png b/EleBox.App/Images/About.png
new file mode 100644
index 0000000..5251717
Binary files /dev/null and b/EleBox.App/Images/About.png differ
diff --git a/EleBox.App/Images/Falut.png b/EleBox.App/Images/Falut.png
new file mode 100644
index 0000000..8580539
Binary files /dev/null and b/EleBox.App/Images/Falut.png differ
diff --git a/EleBox.App/Images/IPQC制程检验 (1).png b/EleBox.App/Images/IPQC制程检验 (1).png
new file mode 100644
index 0000000..52062a9
Binary files /dev/null and b/EleBox.App/Images/IPQC制程检验 (1).png differ
diff --git a/EleBox.App/Images/IPQC制程检验.png b/EleBox.App/Images/IPQC制程检验.png
new file mode 100644
index 0000000..f09a0cc
Binary files /dev/null and b/EleBox.App/Images/IPQC制程检验.png differ
diff --git a/EleBox.App/Images/Input.png b/EleBox.App/Images/Input.png
new file mode 100644
index 0000000..cd6c97d
Binary files /dev/null and b/EleBox.App/Images/Input.png differ
diff --git a/EleBox.App/Images/Load.png b/EleBox.App/Images/Load.png
new file mode 100644
index 0000000..d98d2e1
Binary files /dev/null and b/EleBox.App/Images/Load.png differ
diff --git a/EleBox.App/Images/Log.png b/EleBox.App/Images/Log.png
new file mode 100644
index 0000000..f17b9ca
Binary files /dev/null and b/EleBox.App/Images/Log.png differ
diff --git a/EleBox.App/Images/Main.png b/EleBox.App/Images/Main.png
new file mode 100644
index 0000000..d47ebb3
Binary files /dev/null and b/EleBox.App/Images/Main.png differ
diff --git a/EleBox.App/Images/NG.png b/EleBox.App/Images/NG.png
new file mode 100644
index 0000000..f241838
Binary files /dev/null and b/EleBox.App/Images/NG.png differ
diff --git a/EleBox.App/Images/Output.png b/EleBox.App/Images/Output.png
new file mode 100644
index 0000000..75a2fdc
Binary files /dev/null and b/EleBox.App/Images/Output.png differ
diff --git a/EleBox.App/Images/P0.ico b/EleBox.App/Images/P0.ico
new file mode 100644
index 0000000..f8e93e2
Binary files /dev/null and b/EleBox.App/Images/P0.ico differ
diff --git a/EleBox.App/Images/P1.ico b/EleBox.App/Images/P1.ico
new file mode 100644
index 0000000..ee85023
Binary files /dev/null and b/EleBox.App/Images/P1.ico differ
diff --git a/EleBox.App/Images/P2.ico b/EleBox.App/Images/P2.ico
new file mode 100644
index 0000000..d72f084
Binary files /dev/null and b/EleBox.App/Images/P2.ico differ
diff --git a/EleBox.App/Images/P3.ico b/EleBox.App/Images/P3.ico
new file mode 100644
index 0000000..f3a04d8
Binary files /dev/null and b/EleBox.App/Images/P3.ico differ
diff --git a/EleBox.App/Images/P4.png b/EleBox.App/Images/P4.png
new file mode 100644
index 0000000..d98d2e1
Binary files /dev/null and b/EleBox.App/Images/P4.png differ
diff --git a/EleBox.App/Images/Question.png b/EleBox.App/Images/Question.png
new file mode 100644
index 0000000..4748b07
Binary files /dev/null and b/EleBox.App/Images/Question.png differ
diff --git a/EleBox.App/Images/Quit.png b/EleBox.App/Images/Quit.png
new file mode 100644
index 0000000..3792695
Binary files /dev/null and b/EleBox.App/Images/Quit.png differ
diff --git a/EleBox.App/Images/RunState 1.png b/EleBox.App/Images/RunState 1.png
new file mode 100644
index 0000000..aceee7c
Binary files /dev/null and b/EleBox.App/Images/RunState 1.png differ
diff --git a/EleBox.App/Images/RunState 2.png b/EleBox.App/Images/RunState 2.png
new file mode 100644
index 0000000..9ecd7c3
Binary files /dev/null and b/EleBox.App/Images/RunState 2.png differ
diff --git a/EleBox.App/Images/RunState 3.png b/EleBox.App/Images/RunState 3.png
new file mode 100644
index 0000000..0862b45
Binary files /dev/null and b/EleBox.App/Images/RunState 3.png differ
diff --git a/EleBox.App/Images/RunState 4.png b/EleBox.App/Images/RunState 4.png
new file mode 100644
index 0000000..9ecd7c3
Binary files /dev/null and b/EleBox.App/Images/RunState 4.png differ
diff --git a/EleBox.App/Images/RunState 5.png b/EleBox.App/Images/RunState 5.png
new file mode 100644
index 0000000..7d51991
Binary files /dev/null and b/EleBox.App/Images/RunState 5.png differ
diff --git a/EleBox.App/Images/RunState.png b/EleBox.App/Images/RunState.png
new file mode 100644
index 0000000..9f8539d
Binary files /dev/null and b/EleBox.App/Images/RunState.png differ
diff --git a/EleBox.App/Images/Tool.png b/EleBox.App/Images/Tool.png
new file mode 100644
index 0000000..69eb473
Binary files /dev/null and b/EleBox.App/Images/Tool.png differ
diff --git a/EleBox.App/Images/Wait.png b/EleBox.App/Images/Wait.png
new file mode 100644
index 0000000..2254dd5
Binary files /dev/null and b/EleBox.App/Images/Wait.png differ
diff --git a/EleBox.App/Images/Well.png b/EleBox.App/Images/Well.png
new file mode 100644
index 0000000..af0a9c9
Binary files /dev/null and b/EleBox.App/Images/Well.png differ
diff --git a/EleBox.App/Images/alert_128px_1082676_easyicon.net.ico b/EleBox.App/Images/alert_128px_1082676_easyicon.net.ico
new file mode 100644
index 0000000..5eefd50
Binary files /dev/null and b/EleBox.App/Images/alert_128px_1082676_easyicon.net.ico differ
diff --git a/EleBox.App/Images/alert_on_128px_581757_easyicon.net.ico b/EleBox.App/Images/alert_on_128px_581757_easyicon.net.ico
new file mode 100644
index 0000000..7b2bfc2
Binary files /dev/null and b/EleBox.App/Images/alert_on_128px_581757_easyicon.net.ico differ
diff --git a/EleBox.App/Images/button1.png b/EleBox.App/Images/button1.png
new file mode 100644
index 0000000..e4bf508
Binary files /dev/null and b/EleBox.App/Images/button1.png differ
diff --git a/EleBox.App/Images/button10.png b/EleBox.App/Images/button10.png
new file mode 100644
index 0000000..7e3e474
Binary files /dev/null and b/EleBox.App/Images/button10.png differ
diff --git a/EleBox.App/Images/button11.png b/EleBox.App/Images/button11.png
new file mode 100644
index 0000000..c3186ac
Binary files /dev/null and b/EleBox.App/Images/button11.png differ
diff --git a/EleBox.App/Images/button13.png b/EleBox.App/Images/button13.png
new file mode 100644
index 0000000..6f940bb
Binary files /dev/null and b/EleBox.App/Images/button13.png differ
diff --git a/EleBox.App/Images/button2.png b/EleBox.App/Images/button2.png
new file mode 100644
index 0000000..7bf27ab
Binary files /dev/null and b/EleBox.App/Images/button2.png differ
diff --git a/EleBox.App/Images/button3.png b/EleBox.App/Images/button3.png
new file mode 100644
index 0000000..c9e7bb7
Binary files /dev/null and b/EleBox.App/Images/button3.png differ
diff --git a/EleBox.App/Images/button4.png b/EleBox.App/Images/button4.png
new file mode 100644
index 0000000..d562920
Binary files /dev/null and b/EleBox.App/Images/button4.png differ
diff --git a/EleBox.App/Images/button5.png b/EleBox.App/Images/button5.png
new file mode 100644
index 0000000..4494145
Binary files /dev/null and b/EleBox.App/Images/button5.png differ
diff --git a/EleBox.App/Images/button6.png b/EleBox.App/Images/button6.png
new file mode 100644
index 0000000..4d4fd12
Binary files /dev/null and b/EleBox.App/Images/button6.png differ
diff --git a/EleBox.App/Images/button7.png b/EleBox.App/Images/button7.png
new file mode 100644
index 0000000..d2b5908
Binary files /dev/null and b/EleBox.App/Images/button7.png differ
diff --git a/EleBox.App/Images/button8.png b/EleBox.App/Images/button8.png
new file mode 100644
index 0000000..67b058e
Binary files /dev/null and b/EleBox.App/Images/button8.png differ
diff --git a/EleBox.App/Images/button9.png b/EleBox.App/Images/button9.png
new file mode 100644
index 0000000..83bedc8
Binary files /dev/null and b/EleBox.App/Images/button9.png differ
diff --git a/EleBox.App/Images/cz1.ico b/EleBox.App/Images/cz1.ico
new file mode 100644
index 0000000..c000e1c
Binary files /dev/null and b/EleBox.App/Images/cz1.ico differ
diff --git a/EleBox.App/Images/flux_128px_1157201_easyicon.net.ico b/EleBox.App/Images/flux_128px_1157201_easyicon.net.ico
new file mode 100644
index 0000000..56ad579
Binary files /dev/null and b/EleBox.App/Images/flux_128px_1157201_easyicon.net.ico differ
diff --git a/EleBox.App/Images/hand1.png b/EleBox.App/Images/hand1.png
new file mode 100644
index 0000000..58d27f6
Binary files /dev/null and b/EleBox.App/Images/hand1.png differ
diff --git a/EleBox.App/Images/hand2.png b/EleBox.App/Images/hand2.png
new file mode 100644
index 0000000..b5dbd58
Binary files /dev/null and b/EleBox.App/Images/hand2.png differ
diff --git a/EleBox.App/Images/handauto.png b/EleBox.App/Images/handauto.png
new file mode 100644
index 0000000..70fca4f
Binary files /dev/null and b/EleBox.App/Images/handauto.png differ
diff --git a/EleBox.App/Images/icontexto_message_types_alert_red_128px_505529_easyicon.net.png b/EleBox.App/Images/icontexto_message_types_alert_red_128px_505529_easyicon.net.png
new file mode 100644
index 0000000..e27a4ed
Binary files /dev/null and b/EleBox.App/Images/icontexto_message_types_alert_red_128px_505529_easyicon.net.png differ
diff --git a/EleBox.App/Images/ip_address_512px_1169699_easyicon.net.png b/EleBox.App/Images/ip_address_512px_1169699_easyicon.net.png
new file mode 100644
index 0000000..71c07b4
Binary files /dev/null and b/EleBox.App/Images/ip_address_512px_1169699_easyicon.net.png differ
diff --git a/EleBox.App/Images/logo.png b/EleBox.App/Images/logo.png
new file mode 100644
index 0000000..1ba11bc
Binary files /dev/null and b/EleBox.App/Images/logo.png differ
diff --git a/EleBox.App/Images/name.png b/EleBox.App/Images/name.png
new file mode 100644
index 0000000..430a6f3
Binary files /dev/null and b/EleBox.App/Images/name.png differ
diff --git a/EleBox.App/Images/no name.wav b/EleBox.App/Images/no name.wav
new file mode 100644
index 0000000..e31fc61
Binary files /dev/null and b/EleBox.App/Images/no name.wav differ
diff --git a/EleBox.App/Images/no.png b/EleBox.App/Images/no.png
new file mode 100644
index 0000000..8804bc8
Binary files /dev/null and b/EleBox.App/Images/no.png differ
diff --git a/EleBox.App/Images/ok.png b/EleBox.App/Images/ok.png
new file mode 100644
index 0000000..c6103fc
Binary files /dev/null and b/EleBox.App/Images/ok.png differ
diff --git a/EleBox.App/Images/putput1.png b/EleBox.App/Images/putput1.png
new file mode 100644
index 0000000..11c81d7
Binary files /dev/null and b/EleBox.App/Images/putput1.png differ
diff --git a/EleBox.App/Images/putput2.png b/EleBox.App/Images/putput2.png
new file mode 100644
index 0000000..20fa087
Binary files /dev/null and b/EleBox.App/Images/putput2.png differ
diff --git a/EleBox.App/Images/putput3.png b/EleBox.App/Images/putput3.png
new file mode 100644
index 0000000..f088309
Binary files /dev/null and b/EleBox.App/Images/putput3.png differ
diff --git a/EleBox.App/Images/red_alert_128px_569416_easyicon.net.png b/EleBox.App/Images/red_alert_128px_569416_easyicon.net.png
new file mode 100644
index 0000000..025fa86
Binary files /dev/null and b/EleBox.App/Images/red_alert_128px_569416_easyicon.net.png differ
diff --git a/EleBox.App/Images/set1.png b/EleBox.App/Images/set1.png
new file mode 100644
index 0000000..0197bf0
Binary files /dev/null and b/EleBox.App/Images/set1.png differ
diff --git a/EleBox.App/Images/set2.png b/EleBox.App/Images/set2.png
new file mode 100644
index 0000000..1114f46
Binary files /dev/null and b/EleBox.App/Images/set2.png differ
diff --git a/EleBox.App/Images/set3.png b/EleBox.App/Images/set3.png
new file mode 100644
index 0000000..b287518
Binary files /dev/null and b/EleBox.App/Images/set3.png differ
diff --git a/EleBox.App/Images/time_128px_1195887_easyicon.net.ico b/EleBox.App/Images/time_128px_1195887_easyicon.net.ico
new file mode 100644
index 0000000..1894eb4
Binary files /dev/null and b/EleBox.App/Images/time_128px_1195887_easyicon.net.ico differ
diff --git a/EleBox.App/Images/user_853px_1149308_easyicon.net.png b/EleBox.App/Images/user_853px_1149308_easyicon.net.png
new file mode 100644
index 0000000..736b071
Binary files /dev/null and b/EleBox.App/Images/user_853px_1149308_easyicon.net.png differ
diff --git a/EleBox.App/Images/vrcologo_01.ico b/EleBox.App/Images/vrcologo_01.ico
new file mode 100644
index 0000000..768b455
Binary files /dev/null and b/EleBox.App/Images/vrcologo_01.ico differ
diff --git a/EleBox.App/Images/vrcologo_01.png b/EleBox.App/Images/vrcologo_01.png
new file mode 100644
index 0000000..880e2df
Binary files /dev/null and b/EleBox.App/Images/vrcologo_01.png differ
diff --git a/EleBox.App/Images/不合格.png b/EleBox.App/Images/不合格.png
new file mode 100644
index 0000000..8d68a3e
Binary files /dev/null and b/EleBox.App/Images/不合格.png differ
diff --git a/EleBox.App/Images/任务完成数量.png b/EleBox.App/Images/任务完成数量.png
new file mode 100644
index 0000000..a8c48b5
Binary files /dev/null and b/EleBox.App/Images/任务完成数量.png differ
diff --git a/EleBox.App/Images/关闭.png b/EleBox.App/Images/关闭.png
new file mode 100644
index 0000000..42c52b5
Binary files /dev/null and b/EleBox.App/Images/关闭.png differ
diff --git a/EleBox.App/Images/分类.png b/EleBox.App/Images/分类.png
new file mode 100644
index 0000000..a69f2c0
Binary files /dev/null and b/EleBox.App/Images/分类.png differ
diff --git a/EleBox.App/Images/切换.png b/EleBox.App/Images/切换.png
new file mode 100644
index 0000000..144ace3
Binary files /dev/null and b/EleBox.App/Images/切换.png differ
diff --git a/EleBox.App/Images/切换1.png b/EleBox.App/Images/切换1.png
new file mode 100644
index 0000000..57c3a4c
Binary files /dev/null and b/EleBox.App/Images/切换1.png differ
diff --git a/EleBox.App/Images/包装 (1).png b/EleBox.App/Images/包装 (1).png
new file mode 100644
index 0000000..648228a
Binary files /dev/null and b/EleBox.App/Images/包装 (1).png differ
diff --git a/EleBox.App/Images/包装.png b/EleBox.App/Images/包装.png
new file mode 100644
index 0000000..fbf8b7b
Binary files /dev/null and b/EleBox.App/Images/包装.png differ
diff --git a/EleBox.App/Images/压缩机.png b/EleBox.App/Images/压缩机.png
new file mode 100644
index 0000000..217b1ff
Binary files /dev/null and b/EleBox.App/Images/压缩机.png differ
diff --git a/EleBox.App/Images/双手自动.png b/EleBox.App/Images/双手自动.png
new file mode 100644
index 0000000..70fca4f
Binary files /dev/null and b/EleBox.App/Images/双手自动.png differ
diff --git a/EleBox.App/Images/合格.png b/EleBox.App/Images/合格.png
new file mode 100644
index 0000000..da9d35a
Binary files /dev/null and b/EleBox.App/Images/合格.png differ
diff --git a/EleBox.App/Images/圆Off.png b/EleBox.App/Images/圆Off.png
new file mode 100644
index 0000000..4eaa153
Binary files /dev/null and b/EleBox.App/Images/圆Off.png differ
diff --git a/EleBox.App/Images/圆On.png b/EleBox.App/Images/圆On.png
new file mode 100644
index 0000000..fa6ab72
Binary files /dev/null and b/EleBox.App/Images/圆On.png differ
diff --git a/EleBox.App/Images/垫付费核销.png b/EleBox.App/Images/垫付费核销.png
new file mode 100644
index 0000000..ae9c147
Binary files /dev/null and b/EleBox.App/Images/垫付费核销.png differ
diff --git a/EleBox.App/Images/工单 (1).png b/EleBox.App/Images/工单 (1).png
new file mode 100644
index 0000000..32b24da
Binary files /dev/null and b/EleBox.App/Images/工单 (1).png differ
diff --git a/EleBox.App/Images/工单.png b/EleBox.App/Images/工单.png
new file mode 100644
index 0000000..ab1b50d
Binary files /dev/null and b/EleBox.App/Images/工单.png differ
diff --git a/EleBox.App/Images/工单信息.png b/EleBox.App/Images/工单信息.png
new file mode 100644
index 0000000..0319c8a
Binary files /dev/null and b/EleBox.App/Images/工单信息.png differ
diff --git a/EleBox.App/Images/时间.png b/EleBox.App/Images/时间.png
new file mode 100644
index 0000000..5de9c8e
Binary files /dev/null and b/EleBox.App/Images/时间.png differ
diff --git a/EleBox.App/Images/条码 (1).png b/EleBox.App/Images/条码 (1).png
new file mode 100644
index 0000000..ac9a12c
Binary files /dev/null and b/EleBox.App/Images/条码 (1).png differ
diff --git a/EleBox.App/Images/条码.png b/EleBox.App/Images/条码.png
new file mode 100644
index 0000000..6d534b8
Binary files /dev/null and b/EleBox.App/Images/条码.png differ
diff --git a/EleBox.App/Images/次品1 (1).png b/EleBox.App/Images/次品1 (1).png
new file mode 100644
index 0000000..02384fb
Binary files /dev/null and b/EleBox.App/Images/次品1 (1).png differ
diff --git a/EleBox.App/Images/次品1.png b/EleBox.App/Images/次品1.png
new file mode 100644
index 0000000..02384fb
Binary files /dev/null and b/EleBox.App/Images/次品1.png differ
diff --git a/EleBox.App/Images/次品报表.png b/EleBox.App/Images/次品报表.png
new file mode 100644
index 0000000..87600cc
Binary files /dev/null and b/EleBox.App/Images/次品报表.png differ
diff --git a/EleBox.App/Images/注销.png b/EleBox.App/Images/注销.png
new file mode 100644
index 0000000..8d0d922
Binary files /dev/null and b/EleBox.App/Images/注销.png differ
diff --git a/EleBox.App/Images/用户 管理.png b/EleBox.App/Images/用户 管理.png
new file mode 100644
index 0000000..7f66d97
Binary files /dev/null and b/EleBox.App/Images/用户 管理.png differ
diff --git a/EleBox.App/Images/登录 (1).png b/EleBox.App/Images/登录 (1).png
new file mode 100644
index 0000000..3685051
Binary files /dev/null and b/EleBox.App/Images/登录 (1).png differ
diff --git a/EleBox.App/Images/登录 (2).png b/EleBox.App/Images/登录 (2).png
new file mode 100644
index 0000000..a85c718
Binary files /dev/null and b/EleBox.App/Images/登录 (2).png differ
diff --git a/EleBox.App/Images/登录.png b/EleBox.App/Images/登录.png
new file mode 100644
index 0000000..09594fa
Binary files /dev/null and b/EleBox.App/Images/登录.png differ
diff --git a/EleBox.App/Images/箱子.png b/EleBox.App/Images/箱子.png
new file mode 100644
index 0000000..4a5ffa8
Binary files /dev/null and b/EleBox.App/Images/箱子.png differ
diff --git a/EleBox.App/Images/编码.png b/EleBox.App/Images/编码.png
new file mode 100644
index 0000000..aefe752
Binary files /dev/null and b/EleBox.App/Images/编码.png differ
diff --git a/EleBox.App/Images/编码1.png b/EleBox.App/Images/编码1.png
new file mode 100644
index 0000000..79ab6fa
Binary files /dev/null and b/EleBox.App/Images/编码1.png differ
diff --git a/EleBox.App/Images/裕同包装.ico b/EleBox.App/Images/裕同包装.ico
new file mode 100644
index 0000000..e603314
Binary files /dev/null and b/EleBox.App/Images/裕同包装.ico differ
diff --git a/EleBox.App/Images/警告.png b/EleBox.App/Images/警告.png
new file mode 100644
index 0000000..5fd0c6c
Binary files /dev/null and b/EleBox.App/Images/警告.png differ
diff --git a/EleBox.App/Images/质检 (1).png b/EleBox.App/Images/质检 (1).png
new file mode 100644
index 0000000..00d51c3
Binary files /dev/null and b/EleBox.App/Images/质检 (1).png differ
diff --git a/EleBox.App/Images/质检 (2).png b/EleBox.App/Images/质检 (2).png
new file mode 100644
index 0000000..84fd15c
Binary files /dev/null and b/EleBox.App/Images/质检 (2).png differ
diff --git a/EleBox.App/Images/质检 (3).png b/EleBox.App/Images/质检 (3).png
new file mode 100644
index 0000000..3ff117d
Binary files /dev/null and b/EleBox.App/Images/质检 (3).png differ
diff --git a/EleBox.App/Images/质检.png b/EleBox.App/Images/质检.png
new file mode 100644
index 0000000..80c1a54
Binary files /dev/null and b/EleBox.App/Images/质检.png differ
diff --git a/EleBox.App/Images/进度.png b/EleBox.App/Images/进度.png
new file mode 100644
index 0000000..fdd16cd
Binary files /dev/null and b/EleBox.App/Images/进度.png differ
diff --git a/EleBox.App/Images/选择.png b/EleBox.App/Images/选择.png
new file mode 100644
index 0000000..016fff5
Binary files /dev/null and b/EleBox.App/Images/选择.png differ
diff --git a/EleBox.App/Images/错误.png b/EleBox.App/Images/错误.png
new file mode 100644
index 0000000..408bab7
Binary files /dev/null and b/EleBox.App/Images/错误.png differ
diff --git a/EleBox.App/Main.Designer.cs b/EleBox.App/Main.Designer.cs
new file mode 100644
index 0000000..d663f83
--- /dev/null
+++ b/EleBox.App/Main.Designer.cs
@@ -0,0 +1,1742 @@
+namespace DynStatDisk.App
+{
+ partial class Main
+ {
+ ///
+ /// 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()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main));
+ this.statusStrip1 = new System.Windows.Forms.StatusStrip();
+ this.tslPLC = new System.Windows.Forms.ToolStripStatusLabel();
+ this.tslServer = new System.Windows.Forms.ToolStripStatusLabel();
+ this.tslCurrentUser = new System.Windows.Forms.ToolStripStatusLabel();
+ this.tslMeterSeria = new System.Windows.Forms.ToolStripStatusLabel();
+ this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+ this.label45 = new System.Windows.Forms.Label();
+ this.btnModelMatch = new System.Windows.Forms.Button();
+ this.label6 = new System.Windows.Forms.Label();
+ this.btnClose = new System.Windows.Forms.Button();
+ this.label5 = new System.Windows.Forms.Label();
+ this.btnSystemSet = new System.Windows.Forms.Button();
+ this.label4 = new System.Windows.Forms.Label();
+ this.btnUserManage = new System.Windows.Forms.Button();
+ this.label3 = new System.Windows.Forms.Label();
+ this.btnLogout = new System.Windows.Forms.Button();
+ this.label2 = new System.Windows.Forms.Label();
+ this.btnLog = new System.Windows.Forms.Button();
+ this.label1 = new System.Windows.Forms.Label();
+ this.btnHistory = new System.Windows.Forms.Button();
+ this.pictureBox1 = new System.Windows.Forms.PictureBox();
+ this.TabControlMain = new System.Windows.Forms.TabControl();
+ this.tabPage1 = new System.Windows.Forms.TabPage();
+ this.panelESOP = new System.Windows.Forms.Panel();
+ this.groupBox4 = new System.Windows.Forms.GroupBox();
+ this.PanelOther = new System.Windows.Forms.Panel();
+ this.txtOtherEuro = new System.Windows.Forms.TextBox();
+ this.label30 = new System.Windows.Forms.Label();
+ this.txtOtherDynDisk = new System.Windows.Forms.TextBox();
+ this.label31 = new System.Windows.Forms.Label();
+ this.txtOtherBracket = new System.Windows.Forms.TextBox();
+ this.label32 = new System.Windows.Forms.Label();
+ this.lblCylinderNoAlarmMsg = new System.Windows.Forms.Label();
+ this.lblTongZhiGui = new System.Windows.Forms.Label();
+ this.txtExhCoveBatch = new System.Windows.Forms.TextBox();
+ this.label33 = new System.Windows.Forms.Label();
+ this.lblSubmitMsg = new System.Windows.Forms.Label();
+ this.PanelRight = new System.Windows.Forms.Panel();
+ this.txtOtherGapValue = new System.Windows.Forms.TextBox();
+ this.label34 = new System.Windows.Forms.Label();
+ this.txtOtherGapGroup = new System.Windows.Forms.TextBox();
+ this.label29 = new System.Windows.Forms.Label();
+ this.btnOtherDelete = new System.Windows.Forms.Button();
+ this.panel7 = new System.Windows.Forms.Panel();
+ this.rbLiquidInjeMachNG = new System.Windows.Forms.RadioButton();
+ this.rbLiquidInjeMachOK = new System.Windows.Forms.RadioButton();
+ this.label28 = new System.Windows.Forms.Label();
+ this.btnTrue = new System.Windows.Forms.Button();
+ this.txtEuroCastNo = new System.Windows.Forms.TextBox();
+ this.panel6 = new System.Windows.Forms.Panel();
+ this.rbDynStaticNoBreakNG = new System.Windows.Forms.RadioButton();
+ this.rbDynStaticNoBreakOK = new System.Windows.Forms.RadioButton();
+ this.panel5 = new System.Windows.Forms.Panel();
+ this.rbDynStaticNoSameNG = new System.Windows.Forms.RadioButton();
+ this.rbDynStaticNoSameOK = new System.Windows.Forms.RadioButton();
+ this.panel4 = new System.Windows.Forms.Panel();
+ this.rbSpiralScrewNG = new System.Windows.Forms.RadioButton();
+ this.rbSpiralScrewOK = new System.Windows.Forms.RadioButton();
+ this.panel3 = new System.Windows.Forms.Panel();
+ this.rbBracketOilNG = new System.Windows.Forms.RadioButton();
+ this.rbBracketOilOK = new System.Windows.Forms.RadioButton();
+ this.panel2 = new System.Windows.Forms.Panel();
+ this.rbPartCountNG = new System.Windows.Forms.RadioButton();
+ this.rbPartCountOK = new System.Windows.Forms.RadioButton();
+ this.txtStaticDiskCastNo = new System.Windows.Forms.TextBox();
+ this.label27 = new System.Windows.Forms.Label();
+ this.label26 = new System.Windows.Forms.Label();
+ this.label25 = new System.Windows.Forms.Label();
+ this.label24 = new System.Windows.Forms.Label();
+ this.label23 = new System.Windows.Forms.Label();
+ this.label22 = new System.Windows.Forms.Label();
+ this.label21 = new System.Windows.Forms.Label();
+ this.txtStaticDiskNoW = new System.Windows.Forms.TextBox();
+ this.label16 = new System.Windows.Forms.Label();
+ this.txtDynStaticDiskNo = new System.Windows.Forms.TextBox();
+ this.label17 = new System.Windows.Forms.Label();
+ this.txtEuroSeriesNo = new System.Windows.Forms.TextBox();
+ this.label19 = new System.Windows.Forms.Label();
+ this.txtEuroNo = new System.Windows.Forms.TextBox();
+ this.label20 = new System.Windows.Forms.Label();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.groupBox3 = new System.Windows.Forms.GroupBox();
+ this.PanelGap = new System.Windows.Forms.Panel();
+ this.lblMeterDataState = new System.Windows.Forms.Label();
+ this.button1 = new System.Windows.Forms.Button();
+ this.btnLVGapDelete = new System.Windows.Forms.Button();
+ this.btnMove = new System.Windows.Forms.Button();
+ this.LvGap = new System.Windows.Forms.ListView();
+ this.imageList1 = new System.Windows.Forms.ImageList(this.components);
+ this.txtStaticDiskLast = new System.Windows.Forms.TextBox();
+ this.label14 = new System.Windows.Forms.Label();
+ this.txtStaticDiskFirst = new System.Windows.Forms.TextBox();
+ this.label9 = new System.Windows.Forms.Label();
+ this.txtEuroNoLast = new System.Windows.Forms.TextBox();
+ this.label10 = new System.Windows.Forms.Label();
+ this.txtEuroNoFirst = new System.Windows.Forms.TextBox();
+ this.label12 = new System.Windows.Forms.Label();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.txtCylinderNoLast5 = new System.Windows.Forms.TextBox();
+ this.label8 = new System.Windows.Forms.Label();
+ this.txtCylinderNoFirst8 = new System.Windows.Forms.TextBox();
+ this.label7 = new System.Windows.Forms.Label();
+ this.txtCylinderNo = new System.Windows.Forms.TextBox();
+ this.label13 = new System.Windows.Forms.Label();
+ this.tabPage2 = new System.Windows.Forms.TabPage();
+ this.LoginTitle = new System.Windows.Forms.Label();
+ this.btnLogin = new System.Windows.Forms.Button();
+ this.txtPassword = new System.Windows.Forms.TextBox();
+ this.txtUserName = new System.Windows.Forms.TextBox();
+ this.label44 = new System.Windows.Forms.Label();
+ this.label35 = new System.Windows.Forms.Label();
+ this.label11 = new System.Windows.Forms.Label();
+ this.tabPage3 = new System.Windows.Forms.TabPage();
+ this.btnBack = new System.Windows.Forms.Button();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.cbxDefaultOK = new System.Windows.Forms.CheckBox();
+ this.label15 = new System.Windows.Forms.Label();
+ this.MeterSeria = new System.IO.Ports.SerialPort(this.components);
+ this.statusStrip1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
+ this.splitContainer1.Panel1.SuspendLayout();
+ this.splitContainer1.Panel2.SuspendLayout();
+ this.splitContainer1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+ this.TabControlMain.SuspendLayout();
+ this.tabPage1.SuspendLayout();
+ this.panelESOP.SuspendLayout();
+ this.groupBox4.SuspendLayout();
+ this.PanelOther.SuspendLayout();
+ this.PanelRight.SuspendLayout();
+ this.panel7.SuspendLayout();
+ this.panel6.SuspendLayout();
+ this.panel5.SuspendLayout();
+ this.panel4.SuspendLayout();
+ this.panel3.SuspendLayout();
+ this.panel2.SuspendLayout();
+ this.panel1.SuspendLayout();
+ this.groupBox3.SuspendLayout();
+ this.PanelGap.SuspendLayout();
+ this.groupBox2.SuspendLayout();
+ this.tabPage2.SuspendLayout();
+ this.tabPage3.SuspendLayout();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // statusStrip1
+ //
+ this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.tslPLC,
+ this.tslServer,
+ this.tslCurrentUser,
+ this.tslMeterSeria});
+ this.statusStrip1.Location = new System.Drawing.Point(0, 707);
+ this.statusStrip1.Name = "statusStrip1";
+ this.statusStrip1.Size = new System.Drawing.Size(1008, 22);
+ this.statusStrip1.TabIndex = 1;
+ this.statusStrip1.Text = "statusStrip1";
+ //
+ // tslPLC
+ //
+ this.tslPLC.ForeColor = System.Drawing.Color.WhiteSmoke;
+ this.tslPLC.Name = "tslPLC";
+ this.tslPLC.Size = new System.Drawing.Size(248, 17);
+ this.tslPLC.Spring = true;
+ this.tslPLC.Text = "PLC连接:正常";
+ //
+ // tslServer
+ //
+ this.tslServer.ForeColor = System.Drawing.SystemColors.ControlLightLight;
+ this.tslServer.Name = "tslServer";
+ this.tslServer.Size = new System.Drawing.Size(248, 17);
+ this.tslServer.Spring = true;
+ this.tslServer.Text = "服务器:正常";
+ //
+ // tslCurrentUser
+ //
+ this.tslCurrentUser.Name = "tslCurrentUser";
+ this.tslCurrentUser.Size = new System.Drawing.Size(248, 17);
+ this.tslCurrentUser.Spring = true;
+ this.tslCurrentUser.Text = "当前用户:未登录";
+ //
+ // tslMeterSeria
+ //
+ this.tslMeterSeria.BackColor = System.Drawing.SystemColors.Control;
+ this.tslMeterSeria.Name = "tslMeterSeria";
+ this.tslMeterSeria.Size = new System.Drawing.Size(248, 17);
+ this.tslMeterSeria.Spring = true;
+ //
+ // splitContainer1
+ //
+ this.splitContainer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer1.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer1.Margin = new System.Windows.Forms.Padding(0);
+ this.splitContainer1.Name = "splitContainer1";
+ //
+ // splitContainer1.Panel1
+ //
+ this.splitContainer1.Panel1.Controls.Add(this.label45);
+ this.splitContainer1.Panel1.Controls.Add(this.btnModelMatch);
+ this.splitContainer1.Panel1.Controls.Add(this.label6);
+ this.splitContainer1.Panel1.Controls.Add(this.btnClose);
+ this.splitContainer1.Panel1.Controls.Add(this.label5);
+ this.splitContainer1.Panel1.Controls.Add(this.btnSystemSet);
+ this.splitContainer1.Panel1.Controls.Add(this.label4);
+ this.splitContainer1.Panel1.Controls.Add(this.btnUserManage);
+ this.splitContainer1.Panel1.Controls.Add(this.label3);
+ this.splitContainer1.Panel1.Controls.Add(this.btnLogout);
+ this.splitContainer1.Panel1.Controls.Add(this.label2);
+ this.splitContainer1.Panel1.Controls.Add(this.btnLog);
+ this.splitContainer1.Panel1.Controls.Add(this.label1);
+ this.splitContainer1.Panel1.Controls.Add(this.btnHistory);
+ this.splitContainer1.Panel1.Controls.Add(this.pictureBox1);
+ this.splitContainer1.Panel1MinSize = 80;
+ //
+ // splitContainer1.Panel2
+ //
+ this.splitContainer1.Panel2.Controls.Add(this.TabControlMain);
+ this.splitContainer1.Size = new System.Drawing.Size(1008, 707);
+ this.splitContainer1.SplitterDistance = 90;
+ this.splitContainer1.SplitterWidth = 1;
+ this.splitContainer1.TabIndex = 0;
+ //
+ // label45
+ //
+ this.label45.AutoSize = true;
+ this.label45.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label45.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
+ this.label45.Location = new System.Drawing.Point(7, 550);
+ this.label45.Name = "label45";
+ this.label45.Size = new System.Drawing.Size(74, 22);
+ this.label45.TabIndex = 28;
+ this.label45.Text = "机种设置";
+ //
+ // btnModelMatch
+ //
+ this.btnModelMatch.BackgroundImage = global::DynStatDisk.App.Properties.Resources.编码1;
+ this.btnModelMatch.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.btnModelMatch.Location = new System.Drawing.Point(12, 488);
+ this.btnModelMatch.Name = "btnModelMatch";
+ this.btnModelMatch.Size = new System.Drawing.Size(60, 60);
+ this.btnModelMatch.TabIndex = 27;
+ this.btnModelMatch.UseVisualStyleBackColor = true;
+ this.btnModelMatch.Click += new System.EventHandler(this.btnModelMatch_Click);
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
+ this.label6.Location = new System.Drawing.Point(8, 640);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(74, 22);
+ this.label6.TabIndex = 26;
+ this.label6.Text = "关闭系统";
+ //
+ // btnClose
+ //
+ this.btnClose.BackgroundImage = global::DynStatDisk.App.Properties.Resources.Quit;
+ this.btnClose.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.btnClose.Location = new System.Drawing.Point(13, 578);
+ this.btnClose.Name = "btnClose";
+ this.btnClose.Size = new System.Drawing.Size(60, 60);
+ this.btnClose.TabIndex = 25;
+ this.btnClose.UseVisualStyleBackColor = true;
+ this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
+ this.label5.Location = new System.Drawing.Point(8, 462);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(74, 22);
+ this.label5.TabIndex = 24;
+ this.label5.Text = "系统设置";
+ //
+ // btnSystemSet
+ //
+ this.btnSystemSet.BackgroundImage = global::DynStatDisk.App.Properties.Resources.set1;
+ this.btnSystemSet.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.btnSystemSet.Location = new System.Drawing.Point(13, 400);
+ this.btnSystemSet.Name = "btnSystemSet";
+ this.btnSystemSet.Size = new System.Drawing.Size(60, 60);
+ this.btnSystemSet.TabIndex = 23;
+ this.btnSystemSet.UseVisualStyleBackColor = true;
+ this.btnSystemSet.Click += new System.EventHandler(this.btnSystemSet_Click);
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
+ this.label4.Location = new System.Drawing.Point(8, 373);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(74, 22);
+ this.label4.TabIndex = 22;
+ this.label4.Text = "用户管理";
+ //
+ // btnUserManage
+ //
+ this.btnUserManage.BackgroundImage = global::DynStatDisk.App.Properties.Resources.用户管理;
+ this.btnUserManage.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.btnUserManage.Location = new System.Drawing.Point(13, 311);
+ this.btnUserManage.Name = "btnUserManage";
+ this.btnUserManage.Size = new System.Drawing.Size(60, 60);
+ this.btnUserManage.TabIndex = 21;
+ this.btnUserManage.UseVisualStyleBackColor = true;
+ this.btnUserManage.Click += new System.EventHandler(this.btnUserManage_Click);
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
+ this.label3.Location = new System.Drawing.Point(8, 285);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(74, 22);
+ this.label3.TabIndex = 20;
+ this.label3.Text = "用户注销";
+ //
+ // btnLogout
+ //
+ this.btnLogout.BackgroundImage = global::DynStatDisk.App.Properties.Resources.注销用户;
+ this.btnLogout.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.btnLogout.Location = new System.Drawing.Point(13, 223);
+ this.btnLogout.Name = "btnLogout";
+ this.btnLogout.Size = new System.Drawing.Size(60, 60);
+ this.btnLogout.TabIndex = 19;
+ this.btnLogout.UseVisualStyleBackColor = true;
+ this.btnLogout.Click += new System.EventHandler(this.btnLogout_Click);
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
+ this.label2.Location = new System.Drawing.Point(8, 195);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(74, 22);
+ this.label2.TabIndex = 18;
+ this.label2.Text = "用户登录";
+ //
+ // btnLog
+ //
+ this.btnLog.BackgroundImage = global::DynStatDisk.App.Properties.Resources.登录__1_;
+ this.btnLog.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.btnLog.Location = new System.Drawing.Point(13, 133);
+ this.btnLog.Name = "btnLog";
+ this.btnLog.Size = new System.Drawing.Size(60, 60);
+ this.btnLog.TabIndex = 17;
+ this.btnLog.UseVisualStyleBackColor = true;
+ this.btnLog.Click += new System.EventHandler(this.btnLog_Click);
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
+ this.label1.Location = new System.Drawing.Point(8, 104);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(74, 22);
+ this.label1.TabIndex = 16;
+ this.label1.Text = "历史记录";
+ //
+ // btnHistory
+ //
+ this.btnHistory.BackgroundImage = global::DynStatDisk.App.Properties.Resources.Log;
+ this.btnHistory.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.btnHistory.Location = new System.Drawing.Point(13, 42);
+ this.btnHistory.Name = "btnHistory";
+ this.btnHistory.Size = new System.Drawing.Size(60, 60);
+ this.btnHistory.TabIndex = 15;
+ this.btnHistory.UseVisualStyleBackColor = true;
+ this.btnHistory.Click += new System.EventHandler(this.btnHistory_Click);
+ //
+ // pictureBox1
+ //
+ this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+ this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Top;
+ this.pictureBox1.Image = global::DynStatDisk.App.Properties.Resources.logo;
+ this.pictureBox1.Location = new System.Drawing.Point(0, 0);
+ this.pictureBox1.Name = "pictureBox1";
+ this.pictureBox1.Size = new System.Drawing.Size(88, 34);
+ this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pictureBox1.TabIndex = 1;
+ this.pictureBox1.TabStop = false;
+ //
+ // TabControlMain
+ //
+ this.TabControlMain.Appearance = System.Windows.Forms.TabAppearance.FlatButtons;
+ this.TabControlMain.Controls.Add(this.tabPage1);
+ this.TabControlMain.Controls.Add(this.tabPage2);
+ this.TabControlMain.Controls.Add(this.tabPage3);
+ this.TabControlMain.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.TabControlMain.ItemSize = new System.Drawing.Size(5, 5);
+ this.TabControlMain.Location = new System.Drawing.Point(0, 0);
+ this.TabControlMain.Name = "TabControlMain";
+ this.TabControlMain.SelectedIndex = 0;
+ this.TabControlMain.Size = new System.Drawing.Size(915, 705);
+ this.TabControlMain.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
+ this.TabControlMain.TabIndex = 0;
+ //
+ // tabPage1
+ //
+ this.tabPage1.Controls.Add(this.panelESOP);
+ this.tabPage1.Controls.Add(this.panel1);
+ this.tabPage1.Location = new System.Drawing.Point(4, 9);
+ this.tabPage1.Name = "tabPage1";
+ this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPage1.Size = new System.Drawing.Size(907, 692);
+ this.tabPage1.TabIndex = 0;
+ this.tabPage1.Text = "tabPage1";
+ this.tabPage1.UseVisualStyleBackColor = true;
+ //
+ // panelESOP
+ //
+ this.panelESOP.BackColor = System.Drawing.Color.Transparent;
+ this.panelESOP.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.panelESOP.Controls.Add(this.groupBox4);
+ this.panelESOP.Dock = System.Windows.Forms.DockStyle.Right;
+ this.panelESOP.Location = new System.Drawing.Point(367, 3);
+ this.panelESOP.Name = "panelESOP";
+ this.panelESOP.Size = new System.Drawing.Size(537, 686);
+ this.panelESOP.TabIndex = 1;
+ //
+ // groupBox4
+ //
+ this.groupBox4.Controls.Add(this.PanelOther);
+ this.groupBox4.Controls.Add(this.lblCylinderNoAlarmMsg);
+ this.groupBox4.Controls.Add(this.lblTongZhiGui);
+ this.groupBox4.Controls.Add(this.txtExhCoveBatch);
+ this.groupBox4.Controls.Add(this.label33);
+ this.groupBox4.Controls.Add(this.lblSubmitMsg);
+ this.groupBox4.Controls.Add(this.PanelRight);
+ this.groupBox4.Controls.Add(this.panel7);
+ this.groupBox4.Controls.Add(this.label28);
+ this.groupBox4.Controls.Add(this.btnTrue);
+ this.groupBox4.Controls.Add(this.txtEuroCastNo);
+ this.groupBox4.Controls.Add(this.panel6);
+ this.groupBox4.Controls.Add(this.panel5);
+ this.groupBox4.Controls.Add(this.panel4);
+ this.groupBox4.Controls.Add(this.panel3);
+ this.groupBox4.Controls.Add(this.panel2);
+ this.groupBox4.Controls.Add(this.txtStaticDiskCastNo);
+ this.groupBox4.Controls.Add(this.label27);
+ this.groupBox4.Controls.Add(this.label26);
+ this.groupBox4.Controls.Add(this.label25);
+ this.groupBox4.Controls.Add(this.label24);
+ this.groupBox4.Controls.Add(this.label23);
+ this.groupBox4.Controls.Add(this.label22);
+ this.groupBox4.Controls.Add(this.label21);
+ this.groupBox4.Controls.Add(this.txtStaticDiskNoW);
+ this.groupBox4.Controls.Add(this.label16);
+ this.groupBox4.Controls.Add(this.txtDynStaticDiskNo);
+ this.groupBox4.Controls.Add(this.label17);
+ this.groupBox4.Controls.Add(this.txtEuroSeriesNo);
+ this.groupBox4.Controls.Add(this.label19);
+ this.groupBox4.Controls.Add(this.txtEuroNo);
+ this.groupBox4.Controls.Add(this.label20);
+ this.groupBox4.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.groupBox4.Location = new System.Drawing.Point(3, 3);
+ this.groupBox4.Name = "groupBox4";
+ this.groupBox4.Size = new System.Drawing.Size(529, 682);
+ this.groupBox4.TabIndex = 17;
+ this.groupBox4.TabStop = false;
+ this.groupBox4.Text = "波形垫片、密封挡圈、欧式机构及动静盘组装";
+ //
+ // PanelOther
+ //
+ this.PanelOther.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.PanelOther.Controls.Add(this.txtOtherEuro);
+ this.PanelOther.Controls.Add(this.label30);
+ this.PanelOther.Controls.Add(this.txtOtherDynDisk);
+ this.PanelOther.Controls.Add(this.label31);
+ this.PanelOther.Controls.Add(this.txtOtherBracket);
+ this.PanelOther.Controls.Add(this.label32);
+ this.PanelOther.Location = new System.Drawing.Point(395, 189);
+ this.PanelOther.Name = "PanelOther";
+ this.PanelOther.Size = new System.Drawing.Size(134, 142);
+ this.PanelOther.TabIndex = 44;
+ //
+ // txtOtherEuro
+ //
+ this.txtOtherEuro.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.txtOtherEuro.Location = new System.Drawing.Point(41, 49);
+ this.txtOtherEuro.Name = "txtOtherEuro";
+ this.txtOtherEuro.Size = new System.Drawing.Size(85, 29);
+ this.txtOtherEuro.TabIndex = 39;
+ this.txtOtherEuro.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtOtherEuro_KeyDown);
+ //
+ // label30
+ //
+ this.label30.AutoSize = true;
+ this.label30.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label30.ForeColor = System.Drawing.Color.Black;
+ this.label30.Location = new System.Drawing.Point(0, 16);
+ this.label30.Name = "label30";
+ this.label30.Size = new System.Drawing.Size(42, 21);
+ this.label30.TabIndex = 38;
+ this.label30.Text = "动盘";
+ this.label30.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtOtherDynDisk
+ //
+ this.txtOtherDynDisk.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.txtOtherDynDisk.Location = new System.Drawing.Point(41, 10);
+ this.txtOtherDynDisk.Name = "txtOtherDynDisk";
+ this.txtOtherDynDisk.Size = new System.Drawing.Size(85, 29);
+ this.txtOtherDynDisk.TabIndex = 37;
+ this.txtOtherDynDisk.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtOtherDynDisk_KeyDown);
+ //
+ // label31
+ //
+ this.label31.AutoSize = true;
+ this.label31.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label31.ForeColor = System.Drawing.Color.Black;
+ this.label31.Location = new System.Drawing.Point(0, 54);
+ this.label31.Name = "label31";
+ this.label31.Size = new System.Drawing.Size(42, 21);
+ this.label31.TabIndex = 40;
+ this.label31.Text = "欧式";
+ this.label31.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtOtherBracket
+ //
+ this.txtOtherBracket.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.txtOtherBracket.Location = new System.Drawing.Point(41, 88);
+ this.txtOtherBracket.Name = "txtOtherBracket";
+ this.txtOtherBracket.Size = new System.Drawing.Size(85, 29);
+ this.txtOtherBracket.TabIndex = 41;
+ this.txtOtherBracket.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtOtherBracket_KeyDown);
+ //
+ // label32
+ //
+ this.label32.AutoSize = true;
+ this.label32.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label32.ForeColor = System.Drawing.Color.Black;
+ this.label32.Location = new System.Drawing.Point(0, 94);
+ this.label32.Name = "label32";
+ this.label32.Size = new System.Drawing.Size(42, 21);
+ this.label32.TabIndex = 42;
+ this.label32.Text = "支架";
+ this.label32.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // lblCylinderNoAlarmMsg
+ //
+ this.lblCylinderNoAlarmMsg.BackColor = System.Drawing.Color.Red;
+ this.lblCylinderNoAlarmMsg.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.lblCylinderNoAlarmMsg.ForeColor = System.Drawing.SystemColors.ControlLightLight;
+ this.lblCylinderNoAlarmMsg.Location = new System.Drawing.Point(403, 421);
+ this.lblCylinderNoAlarmMsg.Name = "lblCylinderNoAlarmMsg";
+ this.lblCylinderNoAlarmMsg.Size = new System.Drawing.Size(121, 120);
+ this.lblCylinderNoAlarmMsg.TabIndex = 43;
+ this.lblCylinderNoAlarmMsg.Text = "筒体号长度不足,无法解析机种信息";
+ this.lblCylinderNoAlarmMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.lblCylinderNoAlarmMsg.Visible = false;
+ //
+ // lblTongZhiGui
+ //
+ this.lblTongZhiGui.BackColor = System.Drawing.Color.Gray;
+ this.lblTongZhiGui.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblTongZhiGui.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.lblTongZhiGui.ForeColor = System.Drawing.Color.White;
+ this.lblTongZhiGui.Location = new System.Drawing.Point(189, 320);
+ this.lblTongZhiGui.Name = "lblTongZhiGui";
+ this.lblTongZhiGui.Size = new System.Drawing.Size(201, 38);
+ this.lblTongZhiGui.TabIndex = 39;
+ this.lblTongZhiGui.Text = "通止规";
+ this.lblTongZhiGui.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtExhCoveBatch
+ //
+ this.txtExhCoveBatch.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtExhCoveBatch.Location = new System.Drawing.Point(189, 283);
+ this.txtExhCoveBatch.Name = "txtExhCoveBatch";
+ this.txtExhCoveBatch.Size = new System.Drawing.Size(201, 32);
+ this.txtExhCoveBatch.TabIndex = 38;
+ this.txtExhCoveBatch.Text = "1234";
+ this.txtExhCoveBatch.Enter += new System.EventHandler(this.txtExhCoveBatch_Enter);
+ this.txtExhCoveBatch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtExhCoveBatch_KeyDown);
+ this.txtExhCoveBatch.Leave += new System.EventHandler(this.txtExhCoveBatch_Leave);
+ //
+ // label33
+ //
+ this.label33.AutoSize = true;
+ this.label33.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label33.ForeColor = System.Drawing.Color.DimGray;
+ this.label33.Location = new System.Drawing.Point(1, 285);
+ this.label33.Name = "label33";
+ this.label33.Size = new System.Drawing.Size(189, 30);
+ this.label33.TabIndex = 37;
+ this.label33.Text = "排气盖板螺栓批次";
+ this.label33.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // lblSubmitMsg
+ //
+ this.lblSubmitMsg.BackColor = System.Drawing.Color.LimeGreen;
+ this.lblSubmitMsg.Font = new System.Drawing.Font("微软雅黑", 16F);
+ this.lblSubmitMsg.ForeColor = System.Drawing.SystemColors.ControlLightLight;
+ this.lblSubmitMsg.Location = new System.Drawing.Point(407, 547);
+ this.lblSubmitMsg.Name = "lblSubmitMsg";
+ this.lblSubmitMsg.Size = new System.Drawing.Size(115, 40);
+ this.lblSubmitMsg.TabIndex = 36;
+ this.lblSubmitMsg.Text = "提交成功";
+ this.lblSubmitMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.lblSubmitMsg.Visible = false;
+ //
+ // PanelRight
+ //
+ this.PanelRight.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.PanelRight.Controls.Add(this.txtOtherGapValue);
+ this.PanelRight.Controls.Add(this.label34);
+ this.PanelRight.Controls.Add(this.txtOtherGapGroup);
+ this.PanelRight.Controls.Add(this.label29);
+ this.PanelRight.Controls.Add(this.btnOtherDelete);
+ this.PanelRight.Location = new System.Drawing.Point(395, 17);
+ this.PanelRight.Name = "PanelRight";
+ this.PanelRight.Size = new System.Drawing.Size(134, 166);
+ this.PanelRight.TabIndex = 35;
+ //
+ // txtOtherGapValue
+ //
+ this.txtOtherGapValue.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.txtOtherGapValue.Location = new System.Drawing.Point(42, 121);
+ this.txtOtherGapValue.Name = "txtOtherGapValue";
+ this.txtOtherGapValue.Size = new System.Drawing.Size(85, 29);
+ this.txtOtherGapValue.TabIndex = 43;
+ //
+ // label34
+ //
+ this.label34.AutoSize = true;
+ this.label34.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label34.ForeColor = System.Drawing.Color.Black;
+ this.label34.Location = new System.Drawing.Point(1, 127);
+ this.label34.Name = "label34";
+ this.label34.Size = new System.Drawing.Size(42, 21);
+ this.label34.TabIndex = 44;
+ this.label34.Text = "间隙";
+ this.label34.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtOtherGapGroup
+ //
+ this.txtOtherGapGroup.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.txtOtherGapGroup.Location = new System.Drawing.Point(41, 83);
+ this.txtOtherGapGroup.Name = "txtOtherGapGroup";
+ this.txtOtherGapGroup.Size = new System.Drawing.Size(85, 29);
+ this.txtOtherGapGroup.TabIndex = 36;
+ //
+ // label29
+ //
+ this.label29.AutoSize = true;
+ this.label29.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label29.ForeColor = System.Drawing.Color.Black;
+ this.label29.Location = new System.Drawing.Point(0, 89);
+ this.label29.Name = "label29";
+ this.label29.Size = new System.Drawing.Size(42, 21);
+ this.label29.TabIndex = 36;
+ this.label29.Text = "分组";
+ this.label29.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // btnOtherDelete
+ //
+ this.btnOtherDelete.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.btnOtherDelete.Location = new System.Drawing.Point(26, 11);
+ this.btnOtherDelete.Name = "btnOtherDelete";
+ this.btnOtherDelete.Size = new System.Drawing.Size(87, 46);
+ this.btnOtherDelete.TabIndex = 34;
+ this.btnOtherDelete.Text = "间隙删除";
+ this.btnOtherDelete.UseVisualStyleBackColor = true;
+ this.btnOtherDelete.Click += new System.EventHandler(this.btnOtherDelete_Click);
+ //
+ // panel7
+ //
+ this.panel7.Controls.Add(this.rbLiquidInjeMachNG);
+ this.panel7.Controls.Add(this.rbLiquidInjeMachOK);
+ this.panel7.Location = new System.Drawing.Point(189, 618);
+ this.panel7.Name = "panel7";
+ this.panel7.Size = new System.Drawing.Size(201, 39);
+ this.panel7.TabIndex = 31;
+ //
+ // rbLiquidInjeMachNG
+ //
+ this.rbLiquidInjeMachNG.AutoSize = true;
+ this.rbLiquidInjeMachNG.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.rbLiquidInjeMachNG.Location = new System.Drawing.Point(128, 5);
+ this.rbLiquidInjeMachNG.Name = "rbLiquidInjeMachNG";
+ this.rbLiquidInjeMachNG.Size = new System.Drawing.Size(49, 29);
+ this.rbLiquidInjeMachNG.TabIndex = 1;
+ this.rbLiquidInjeMachNG.Text = "否";
+ this.rbLiquidInjeMachNG.UseVisualStyleBackColor = true;
+ this.rbLiquidInjeMachNG.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rbLiquidInjeMachNG_KeyDown);
+ //
+ // rbLiquidInjeMachOK
+ //
+ this.rbLiquidInjeMachOK.AutoSize = true;
+ this.rbLiquidInjeMachOK.Checked = true;
+ this.rbLiquidInjeMachOK.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.rbLiquidInjeMachOK.Location = new System.Drawing.Point(25, 5);
+ this.rbLiquidInjeMachOK.Name = "rbLiquidInjeMachOK";
+ this.rbLiquidInjeMachOK.Size = new System.Drawing.Size(49, 29);
+ this.rbLiquidInjeMachOK.TabIndex = 0;
+ this.rbLiquidInjeMachOK.TabStop = true;
+ this.rbLiquidInjeMachOK.Text = "是";
+ this.rbLiquidInjeMachOK.UseVisualStyleBackColor = true;
+ this.rbLiquidInjeMachOK.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rbLiquidInjeMachOK_KeyDown);
+ //
+ // label28
+ //
+ this.label28.AutoSize = true;
+ this.label28.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label28.ForeColor = System.Drawing.Color.DimGray;
+ this.label28.Location = new System.Drawing.Point(22, 607);
+ this.label28.Name = "label28";
+ this.label28.Size = new System.Drawing.Size(163, 60);
+ this.label28.TabIndex = 30;
+ this.label28.Text = "注液机\r\n(排气姜板油孔)";
+ this.label28.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // btnTrue
+ //
+ this.btnTrue.Font = new System.Drawing.Font("微软雅黑", 22F);
+ this.btnTrue.Location = new System.Drawing.Point(403, 595);
+ this.btnTrue.Name = "btnTrue";
+ this.btnTrue.Size = new System.Drawing.Size(120, 51);
+ this.btnTrue.TabIndex = 29;
+ this.btnTrue.Text = "提 交";
+ this.btnTrue.UseVisualStyleBackColor = true;
+ this.btnTrue.Click += new System.EventHandler(this.btnTrue_Click);
+ //
+ // txtEuroCastNo
+ //
+ this.txtEuroCastNo.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtEuroCastNo.Location = new System.Drawing.Point(189, 196);
+ this.txtEuroCastNo.Name = "txtEuroCastNo";
+ this.txtEuroCastNo.Size = new System.Drawing.Size(201, 32);
+ this.txtEuroCastNo.TabIndex = 28;
+ this.txtEuroCastNo.Text = "1234";
+ this.txtEuroCastNo.Enter += new System.EventHandler(this.txtEuroCastNo_Enter);
+ this.txtEuroCastNo.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtEuroCastNo_KeyDown);
+ this.txtEuroCastNo.Leave += new System.EventHandler(this.txtEuroCastNo_Leave);
+ //
+ // panel6
+ //
+ this.panel6.Controls.Add(this.rbDynStaticNoBreakNG);
+ this.panel6.Controls.Add(this.rbDynStaticNoBreakOK);
+ this.panel6.Location = new System.Drawing.Point(189, 562);
+ this.panel6.Name = "panel6";
+ this.panel6.Size = new System.Drawing.Size(201, 39);
+ this.panel6.TabIndex = 27;
+ //
+ // rbDynStaticNoBreakNG
+ //
+ this.rbDynStaticNoBreakNG.AutoSize = true;
+ this.rbDynStaticNoBreakNG.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.rbDynStaticNoBreakNG.Location = new System.Drawing.Point(128, 5);
+ this.rbDynStaticNoBreakNG.Name = "rbDynStaticNoBreakNG";
+ this.rbDynStaticNoBreakNG.Size = new System.Drawing.Size(59, 29);
+ this.rbDynStaticNoBreakNG.TabIndex = 1;
+ this.rbDynStaticNoBreakNG.Text = "NG";
+ this.rbDynStaticNoBreakNG.UseVisualStyleBackColor = true;
+ this.rbDynStaticNoBreakNG.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rbDynStaticNoBreakNG_KeyDown);
+ //
+ // rbDynStaticNoBreakOK
+ //
+ this.rbDynStaticNoBreakOK.AutoSize = true;
+ this.rbDynStaticNoBreakOK.Checked = true;
+ this.rbDynStaticNoBreakOK.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.rbDynStaticNoBreakOK.Location = new System.Drawing.Point(25, 5);
+ this.rbDynStaticNoBreakOK.Name = "rbDynStaticNoBreakOK";
+ this.rbDynStaticNoBreakOK.Size = new System.Drawing.Size(57, 29);
+ this.rbDynStaticNoBreakOK.TabIndex = 0;
+ this.rbDynStaticNoBreakOK.TabStop = true;
+ this.rbDynStaticNoBreakOK.Text = "OK";
+ this.rbDynStaticNoBreakOK.UseVisualStyleBackColor = true;
+ this.rbDynStaticNoBreakOK.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rbDynStaticNoBreakOK_KeyDown);
+ //
+ // panel5
+ //
+ this.panel5.Controls.Add(this.rbDynStaticNoSameNG);
+ this.panel5.Controls.Add(this.rbDynStaticNoSameOK);
+ this.panel5.Location = new System.Drawing.Point(189, 514);
+ this.panel5.Name = "panel5";
+ this.panel5.Size = new System.Drawing.Size(201, 39);
+ this.panel5.TabIndex = 26;
+ //
+ // rbDynStaticNoSameNG
+ //
+ this.rbDynStaticNoSameNG.AutoSize = true;
+ this.rbDynStaticNoSameNG.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.rbDynStaticNoSameNG.Location = new System.Drawing.Point(128, 5);
+ this.rbDynStaticNoSameNG.Name = "rbDynStaticNoSameNG";
+ this.rbDynStaticNoSameNG.Size = new System.Drawing.Size(59, 29);
+ this.rbDynStaticNoSameNG.TabIndex = 1;
+ this.rbDynStaticNoSameNG.Text = "NG";
+ this.rbDynStaticNoSameNG.UseVisualStyleBackColor = true;
+ this.rbDynStaticNoSameNG.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rbDynStaticNoSameNG_KeyDown);
+ //
+ // rbDynStaticNoSameOK
+ //
+ this.rbDynStaticNoSameOK.AutoSize = true;
+ this.rbDynStaticNoSameOK.Checked = true;
+ this.rbDynStaticNoSameOK.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.rbDynStaticNoSameOK.Location = new System.Drawing.Point(25, 5);
+ this.rbDynStaticNoSameOK.Name = "rbDynStaticNoSameOK";
+ this.rbDynStaticNoSameOK.Size = new System.Drawing.Size(57, 29);
+ this.rbDynStaticNoSameOK.TabIndex = 0;
+ this.rbDynStaticNoSameOK.TabStop = true;
+ this.rbDynStaticNoSameOK.Text = "OK";
+ this.rbDynStaticNoSameOK.UseVisualStyleBackColor = true;
+ this.rbDynStaticNoSameOK.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rbDynStaticNoSameOK_KeyDown);
+ //
+ // panel4
+ //
+ this.panel4.Controls.Add(this.rbSpiralScrewNG);
+ this.panel4.Controls.Add(this.rbSpiralScrewOK);
+ this.panel4.Location = new System.Drawing.Point(189, 462);
+ this.panel4.Name = "panel4";
+ this.panel4.Size = new System.Drawing.Size(201, 39);
+ this.panel4.TabIndex = 25;
+ //
+ // rbSpiralScrewNG
+ //
+ this.rbSpiralScrewNG.AutoSize = true;
+ this.rbSpiralScrewNG.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.rbSpiralScrewNG.Location = new System.Drawing.Point(128, 5);
+ this.rbSpiralScrewNG.Name = "rbSpiralScrewNG";
+ this.rbSpiralScrewNG.Size = new System.Drawing.Size(59, 29);
+ this.rbSpiralScrewNG.TabIndex = 1;
+ this.rbSpiralScrewNG.Text = "NG";
+ this.rbSpiralScrewNG.UseVisualStyleBackColor = true;
+ this.rbSpiralScrewNG.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rbSpiralScrewNG_KeyDown);
+ //
+ // rbSpiralScrewOK
+ //
+ this.rbSpiralScrewOK.AutoSize = true;
+ this.rbSpiralScrewOK.Checked = true;
+ this.rbSpiralScrewOK.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.rbSpiralScrewOK.Location = new System.Drawing.Point(25, 5);
+ this.rbSpiralScrewOK.Name = "rbSpiralScrewOK";
+ this.rbSpiralScrewOK.Size = new System.Drawing.Size(57, 29);
+ this.rbSpiralScrewOK.TabIndex = 0;
+ this.rbSpiralScrewOK.TabStop = true;
+ this.rbSpiralScrewOK.Text = "OK";
+ this.rbSpiralScrewOK.UseVisualStyleBackColor = true;
+ this.rbSpiralScrewOK.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rbSpiralScrewOK_KeyDown);
+ //
+ // panel3
+ //
+ this.panel3.Controls.Add(this.rbBracketOilNG);
+ this.panel3.Controls.Add(this.rbBracketOilOK);
+ this.panel3.Location = new System.Drawing.Point(189, 416);
+ this.panel3.Name = "panel3";
+ this.panel3.Size = new System.Drawing.Size(201, 39);
+ this.panel3.TabIndex = 24;
+ //
+ // rbBracketOilNG
+ //
+ this.rbBracketOilNG.AutoSize = true;
+ this.rbBracketOilNG.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.rbBracketOilNG.Location = new System.Drawing.Point(128, 5);
+ this.rbBracketOilNG.Name = "rbBracketOilNG";
+ this.rbBracketOilNG.Size = new System.Drawing.Size(68, 29);
+ this.rbBracketOilNG.TabIndex = 1;
+ this.rbBracketOilNG.Text = "未涂";
+ this.rbBracketOilNG.UseVisualStyleBackColor = true;
+ this.rbBracketOilNG.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rbBracketOilNG_KeyDown);
+ //
+ // rbBracketOilOK
+ //
+ this.rbBracketOilOK.AutoSize = true;
+ this.rbBracketOilOK.Checked = true;
+ this.rbBracketOilOK.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.rbBracketOilOK.Location = new System.Drawing.Point(25, 5);
+ this.rbBracketOilOK.Name = "rbBracketOilOK";
+ this.rbBracketOilOK.Size = new System.Drawing.Size(68, 29);
+ this.rbBracketOilOK.TabIndex = 0;
+ this.rbBracketOilOK.TabStop = true;
+ this.rbBracketOilOK.Text = "已涂";
+ this.rbBracketOilOK.UseVisualStyleBackColor = true;
+ this.rbBracketOilOK.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rbBracketOilOK_KeyDown);
+ //
+ // panel2
+ //
+ this.panel2.Controls.Add(this.rbPartCountNG);
+ this.panel2.Controls.Add(this.rbPartCountOK);
+ this.panel2.Location = new System.Drawing.Point(189, 366);
+ this.panel2.Name = "panel2";
+ this.panel2.Size = new System.Drawing.Size(201, 39);
+ this.panel2.TabIndex = 23;
+ //
+ // rbPartCountNG
+ //
+ this.rbPartCountNG.AutoSize = true;
+ this.rbPartCountNG.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.rbPartCountNG.Location = new System.Drawing.Point(128, 5);
+ this.rbPartCountNG.Name = "rbPartCountNG";
+ this.rbPartCountNG.Size = new System.Drawing.Size(59, 29);
+ this.rbPartCountNG.TabIndex = 1;
+ this.rbPartCountNG.Text = "NG";
+ this.rbPartCountNG.UseVisualStyleBackColor = true;
+ this.rbPartCountNG.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rbPartCountNG_KeyDown);
+ //
+ // rbPartCountOK
+ //
+ this.rbPartCountOK.AutoSize = true;
+ this.rbPartCountOK.Checked = true;
+ this.rbPartCountOK.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.rbPartCountOK.Location = new System.Drawing.Point(25, 5);
+ this.rbPartCountOK.Name = "rbPartCountOK";
+ this.rbPartCountOK.Size = new System.Drawing.Size(57, 29);
+ this.rbPartCountOK.TabIndex = 0;
+ this.rbPartCountOK.TabStop = true;
+ this.rbPartCountOK.Text = "OK";
+ this.rbPartCountOK.UseVisualStyleBackColor = true;
+ this.rbPartCountOK.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rbPartCountOK_KeyDown);
+ //
+ // txtStaticDiskCastNo
+ //
+ this.txtStaticDiskCastNo.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtStaticDiskCastNo.Location = new System.Drawing.Point(189, 240);
+ this.txtStaticDiskCastNo.Name = "txtStaticDiskCastNo";
+ this.txtStaticDiskCastNo.Size = new System.Drawing.Size(201, 32);
+ this.txtStaticDiskCastNo.TabIndex = 21;
+ this.txtStaticDiskCastNo.Text = "1234";
+ this.txtStaticDiskCastNo.Enter += new System.EventHandler(this.txtStaticDiskCastNo_Enter);
+ this.txtStaticDiskCastNo.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtStaticDiskCastNo_KeyDown);
+ this.txtStaticDiskCastNo.Leave += new System.EventHandler(this.txtStaticDiskCastNo_Leave);
+ //
+ // label27
+ //
+ this.label27.AutoSize = true;
+ this.label27.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label27.ForeColor = System.Drawing.Color.DimGray;
+ this.label27.Location = new System.Drawing.Point(43, 566);
+ this.label27.Name = "label27";
+ this.label27.Size = new System.Drawing.Size(145, 30);
+ this.label27.TabIndex = 20;
+ this.label27.Text = "动静盘无磕伤";
+ this.label27.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label26
+ //
+ this.label26.AutoSize = true;
+ this.label26.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label26.ForeColor = System.Drawing.Color.DimGray;
+ this.label26.Location = new System.Drawing.Point(21, 517);
+ this.label26.Name = "label26";
+ this.label26.Size = new System.Drawing.Size(167, 30);
+ this.label26.TabIndex = 19;
+ this.label26.Text = "动静盘编号一致";
+ this.label26.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label25
+ //
+ this.label25.AutoSize = true;
+ this.label25.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label25.ForeColor = System.Drawing.Color.DimGray;
+ this.label25.Location = new System.Drawing.Point(-1, 468);
+ this.label25.Name = "label25";
+ this.label25.Size = new System.Drawing.Size(189, 30);
+ this.label25.TabIndex = 18;
+ this.label25.Text = "螺旋螺钉确认安装";
+ this.label25.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label24
+ //
+ this.label24.AutoSize = true;
+ this.label24.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label24.ForeColor = System.Drawing.Color.DimGray;
+ this.label24.Location = new System.Drawing.Point(87, 419);
+ this.label24.Name = "label24";
+ this.label24.Size = new System.Drawing.Size(101, 30);
+ this.label24.TabIndex = 17;
+ this.label24.Text = "支架涂油";
+ this.label24.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label23
+ //
+ this.label23.AutoSize = true;
+ this.label23.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label23.ForeColor = System.Drawing.Color.DimGray;
+ this.label23.Location = new System.Drawing.Point(21, 370);
+ this.label23.Name = "label23";
+ this.label23.Size = new System.Drawing.Size(167, 30);
+ this.label23.TabIndex = 16;
+ this.label23.Text = "小部品安装数量";
+ this.label23.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label22
+ //
+ this.label22.AutoSize = true;
+ this.label22.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label22.ForeColor = System.Drawing.Color.DimGray;
+ this.label22.Location = new System.Drawing.Point(65, 242);
+ this.label22.Name = "label22";
+ this.label22.Size = new System.Drawing.Size(123, 30);
+ this.label22.TabIndex = 15;
+ this.label22.Text = "静盘铸件号";
+ this.label22.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label21
+ //
+ this.label21.AutoSize = true;
+ this.label21.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label21.ForeColor = System.Drawing.Color.DimGray;
+ this.label21.Location = new System.Drawing.Point(21, 198);
+ this.label21.Name = "label21";
+ this.label21.Size = new System.Drawing.Size(167, 30);
+ this.label21.TabIndex = 14;
+ this.label21.Text = "欧式机构铸件号";
+ this.label21.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtStaticDiskNoW
+ //
+ this.txtStaticDiskNoW.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtStaticDiskNoW.Location = new System.Drawing.Point(189, 151);
+ this.txtStaticDiskNoW.Name = "txtStaticDiskNoW";
+ this.txtStaticDiskNoW.Size = new System.Drawing.Size(201, 32);
+ this.txtStaticDiskNoW.TabIndex = 13;
+ this.txtStaticDiskNoW.Enter += new System.EventHandler(this.txtStaticDiskNoW_Enter);
+ this.txtStaticDiskNoW.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtStaticDiskNoW_KeyDown);
+ this.txtStaticDiskNoW.Leave += new System.EventHandler(this.txtStaticDiskNoW_Leave);
+ //
+ // label16
+ //
+ this.label16.AutoSize = true;
+ this.label16.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label16.ForeColor = System.Drawing.Color.DimGray;
+ this.label16.Location = new System.Drawing.Point(65, 152);
+ this.label16.Name = "label16";
+ this.label16.Size = new System.Drawing.Size(123, 30);
+ this.label16.TabIndex = 11;
+ this.label16.Text = "动静盘编号";
+ this.label16.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtDynStaticDiskNo
+ //
+ this.txtDynStaticDiskNo.BackColor = System.Drawing.SystemColors.ActiveCaption;
+ this.txtDynStaticDiskNo.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtDynStaticDiskNo.Location = new System.Drawing.Point(189, 109);
+ this.txtDynStaticDiskNo.Name = "txtDynStaticDiskNo";
+ this.txtDynStaticDiskNo.Size = new System.Drawing.Size(201, 32);
+ this.txtDynStaticDiskNo.TabIndex = 10;
+ //
+ // label17
+ //
+ this.label17.AutoSize = true;
+ this.label17.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label17.ForeColor = System.Drawing.Color.DimGray;
+ this.label17.Location = new System.Drawing.Point(87, 109);
+ this.label17.Name = "label17";
+ this.label17.Size = new System.Drawing.Size(101, 30);
+ this.label17.TabIndex = 9;
+ this.label17.Text = "动静盘号";
+ this.label17.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtEuroSeriesNo
+ //
+ this.txtEuroSeriesNo.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtEuroSeriesNo.Location = new System.Drawing.Point(189, 68);
+ this.txtEuroSeriesNo.Name = "txtEuroSeriesNo";
+ this.txtEuroSeriesNo.Size = new System.Drawing.Size(201, 32);
+ this.txtEuroSeriesNo.TabIndex = 8;
+ this.txtEuroSeriesNo.Enter += new System.EventHandler(this.txtEuroSeriesNo_Enter);
+ this.txtEuroSeriesNo.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtEuroSeriesNo_KeyDown);
+ this.txtEuroSeriesNo.Leave += new System.EventHandler(this.txtEuroSeriesNo_Leave);
+ //
+ // label19
+ //
+ this.label19.AutoSize = true;
+ this.label19.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label19.ForeColor = System.Drawing.Color.DimGray;
+ this.label19.Location = new System.Drawing.Point(43, 68);
+ this.label19.Name = "label19";
+ this.label19.Size = new System.Drawing.Size(145, 30);
+ this.label19.TabIndex = 7;
+ this.label19.Text = "欧式机构序号";
+ this.label19.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtEuroNo
+ //
+ this.txtEuroNo.BackColor = System.Drawing.SystemColors.ActiveCaption;
+ this.txtEuroNo.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtEuroNo.Location = new System.Drawing.Point(189, 26);
+ this.txtEuroNo.Name = "txtEuroNo";
+ this.txtEuroNo.Size = new System.Drawing.Size(201, 32);
+ this.txtEuroNo.TabIndex = 6;
+ //
+ // label20
+ //
+ this.label20.AutoSize = true;
+ this.label20.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label20.ForeColor = System.Drawing.Color.DimGray;
+ this.label20.Location = new System.Drawing.Point(43, 27);
+ this.label20.Name = "label20";
+ this.label20.Size = new System.Drawing.Size(145, 30);
+ this.label20.TabIndex = 5;
+ this.label20.Text = "欧式机构编号";
+ this.label20.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // panel1
+ //
+ this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.panel1.Controls.Add(this.groupBox3);
+ this.panel1.Controls.Add(this.groupBox2);
+ this.panel1.Dock = System.Windows.Forms.DockStyle.Left;
+ this.panel1.Location = new System.Drawing.Point(3, 3);
+ this.panel1.Name = "panel1";
+ this.panel1.Padding = new System.Windows.Forms.Padding(3);
+ this.panel1.Size = new System.Drawing.Size(362, 686);
+ this.panel1.TabIndex = 0;
+ //
+ // groupBox3
+ //
+ this.groupBox3.Controls.Add(this.PanelGap);
+ this.groupBox3.Controls.Add(this.txtStaticDiskLast);
+ this.groupBox3.Controls.Add(this.label14);
+ this.groupBox3.Controls.Add(this.txtStaticDiskFirst);
+ this.groupBox3.Controls.Add(this.label9);
+ this.groupBox3.Controls.Add(this.txtEuroNoLast);
+ this.groupBox3.Controls.Add(this.label10);
+ this.groupBox3.Controls.Add(this.txtEuroNoFirst);
+ this.groupBox3.Controls.Add(this.label12);
+ this.groupBox3.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.groupBox3.Location = new System.Drawing.Point(2, 177);
+ this.groupBox3.Name = "groupBox3";
+ this.groupBox3.Size = new System.Drawing.Size(355, 501);
+ this.groupBox3.TabIndex = 16;
+ this.groupBox3.TabStop = false;
+ this.groupBox3.Text = "数据设定";
+ //
+ // PanelGap
+ //
+ this.PanelGap.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.PanelGap.Controls.Add(this.lblMeterDataState);
+ this.PanelGap.Controls.Add(this.button1);
+ this.PanelGap.Controls.Add(this.btnLVGapDelete);
+ this.PanelGap.Controls.Add(this.btnMove);
+ this.PanelGap.Controls.Add(this.LvGap);
+ this.PanelGap.Location = new System.Drawing.Point(4, 233);
+ this.PanelGap.Name = "PanelGap";
+ this.PanelGap.Size = new System.Drawing.Size(345, 263);
+ this.PanelGap.TabIndex = 15;
+ //
+ // lblMeterDataState
+ //
+ this.lblMeterDataState.AutoSize = true;
+ this.lblMeterDataState.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.lblMeterDataState.ForeColor = System.Drawing.Color.DodgerBlue;
+ this.lblMeterDataState.Location = new System.Drawing.Point(4, 12);
+ this.lblMeterDataState.Name = "lblMeterDataState";
+ this.lblMeterDataState.Size = new System.Drawing.Size(90, 22);
+ this.lblMeterDataState.TabIndex = 35;
+ this.lblMeterDataState.Text = "等待标准件";
+ //
+ // button1
+ //
+ this.button1.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.button1.Location = new System.Drawing.Point(100, 3);
+ this.button1.Name = "button1";
+ this.button1.Size = new System.Drawing.Size(79, 40);
+ this.button1.TabIndex = 34;
+ this.button1.Text = "测试";
+ this.button1.UseVisualStyleBackColor = true;
+ this.button1.Visible = false;
+ this.button1.Click += new System.EventHandler(this.button1_Click);
+ //
+ // btnLVGapDelete
+ //
+ this.btnLVGapDelete.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.btnLVGapDelete.Location = new System.Drawing.Point(179, 3);
+ this.btnLVGapDelete.Name = "btnLVGapDelete";
+ this.btnLVGapDelete.Size = new System.Drawing.Size(79, 40);
+ this.btnLVGapDelete.TabIndex = 33;
+ this.btnLVGapDelete.Text = "删除";
+ this.btnLVGapDelete.UseVisualStyleBackColor = true;
+ this.btnLVGapDelete.Click += new System.EventHandler(this.btnLVGapDelete_Click);
+ //
+ // btnMove
+ //
+ this.btnMove.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.btnMove.Location = new System.Drawing.Point(261, 3);
+ this.btnMove.Name = "btnMove";
+ this.btnMove.Size = new System.Drawing.Size(79, 40);
+ this.btnMove.TabIndex = 32;
+ this.btnMove.Text = ">>>";
+ this.btnMove.UseVisualStyleBackColor = true;
+ this.btnMove.Click += new System.EventHandler(this.btnMove_Click);
+ //
+ // LvGap
+ //
+ this.LvGap.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.LvGap.FullRowSelect = true;
+ this.LvGap.GridLines = true;
+ this.LvGap.HideSelection = false;
+ this.LvGap.Location = new System.Drawing.Point(1, 49);
+ this.LvGap.Name = "LvGap";
+ this.LvGap.Size = new System.Drawing.Size(340, 210);
+ this.LvGap.SmallImageList = this.imageList1;
+ this.LvGap.TabIndex = 14;
+ this.LvGap.UseCompatibleStateImageBehavior = false;
+ this.LvGap.SelectedIndexChanged += new System.EventHandler(this.LvGap_SelectedIndexChanged);
+ //
+ // imageList1
+ //
+ this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
+ this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
+ this.imageList1.Images.SetKeyName(0, "About.png");
+ //
+ // txtStaticDiskLast
+ //
+ this.txtStaticDiskLast.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtStaticDiskLast.Location = new System.Drawing.Point(200, 168);
+ this.txtStaticDiskLast.Name = "txtStaticDiskLast";
+ this.txtStaticDiskLast.Size = new System.Drawing.Size(131, 32);
+ this.txtStaticDiskLast.TabIndex = 13;
+ //
+ // label14
+ //
+ this.label14.AutoSize = true;
+ this.label14.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label14.ForeColor = System.Drawing.Color.DimGray;
+ this.label14.Location = new System.Drawing.Point(49, 168);
+ this.label14.Name = "label14";
+ this.label14.Size = new System.Drawing.Size(145, 30);
+ this.label14.TabIndex = 11;
+ this.label14.Text = "静盘编号后缀";
+ this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtStaticDiskFirst
+ //
+ this.txtStaticDiskFirst.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtStaticDiskFirst.Location = new System.Drawing.Point(200, 127);
+ this.txtStaticDiskFirst.Name = "txtStaticDiskFirst";
+ this.txtStaticDiskFirst.Size = new System.Drawing.Size(131, 32);
+ this.txtStaticDiskFirst.TabIndex = 10;
+ //
+ // label9
+ //
+ this.label9.AutoSize = true;
+ this.label9.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label9.ForeColor = System.Drawing.Color.DimGray;
+ this.label9.Location = new System.Drawing.Point(49, 127);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(145, 30);
+ this.label9.TabIndex = 9;
+ this.label9.Text = "静盘编号前缀";
+ this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtEuroNoLast
+ //
+ this.txtEuroNoLast.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtEuroNoLast.Location = new System.Drawing.Point(200, 87);
+ this.txtEuroNoLast.Name = "txtEuroNoLast";
+ this.txtEuroNoLast.Size = new System.Drawing.Size(131, 32);
+ this.txtEuroNoLast.TabIndex = 8;
+ //
+ // label10
+ //
+ this.label10.AutoSize = true;
+ this.label10.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label10.ForeColor = System.Drawing.Color.DimGray;
+ this.label10.Location = new System.Drawing.Point(5, 87);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(189, 30);
+ this.label10.TabIndex = 7;
+ this.label10.Text = "欧式机构编号后缀";
+ this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtEuroNoFirst
+ //
+ this.txtEuroNoFirst.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtEuroNoFirst.Location = new System.Drawing.Point(200, 44);
+ this.txtEuroNoFirst.Name = "txtEuroNoFirst";
+ this.txtEuroNoFirst.Size = new System.Drawing.Size(131, 32);
+ this.txtEuroNoFirst.TabIndex = 6;
+ //
+ // label12
+ //
+ this.label12.AutoSize = true;
+ this.label12.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label12.ForeColor = System.Drawing.Color.DimGray;
+ this.label12.Location = new System.Drawing.Point(5, 44);
+ this.label12.Name = "label12";
+ this.label12.Size = new System.Drawing.Size(189, 30);
+ this.label12.TabIndex = 5;
+ this.label12.Text = "欧式机构编号前缀";
+ this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // groupBox2
+ //
+ this.groupBox2.Controls.Add(this.txtCylinderNoLast5);
+ this.groupBox2.Controls.Add(this.label8);
+ this.groupBox2.Controls.Add(this.txtCylinderNoFirst8);
+ this.groupBox2.Controls.Add(this.label7);
+ this.groupBox2.Controls.Add(this.txtCylinderNo);
+ this.groupBox2.Controls.Add(this.label13);
+ this.groupBox2.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.groupBox2.Location = new System.Drawing.Point(2, 2);
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.Size = new System.Drawing.Size(355, 169);
+ this.groupBox2.TabIndex = 15;
+ this.groupBox2.TabStop = false;
+ this.groupBox2.Text = "筒体号";
+ //
+ // txtCylinderNoLast5
+ //
+ this.txtCylinderNoLast5.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtCylinderNoLast5.Location = new System.Drawing.Point(148, 118);
+ this.txtCylinderNoLast5.Name = "txtCylinderNoLast5";
+ this.txtCylinderNoLast5.Size = new System.Drawing.Size(194, 32);
+ this.txtCylinderNoLast5.TabIndex = 10;
+ this.txtCylinderNoLast5.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtCylinderNoLast5_KeyDown);
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label8.ForeColor = System.Drawing.Color.DimGray;
+ this.label8.Location = new System.Drawing.Point(4, 119);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(137, 30);
+ this.label8.TabIndex = 9;
+ this.label8.Text = "筒体号后5位";
+ this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtCylinderNoFirst8
+ //
+ this.txtCylinderNoFirst8.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtCylinderNoFirst8.Location = new System.Drawing.Point(148, 71);
+ this.txtCylinderNoFirst8.Name = "txtCylinderNoFirst8";
+ this.txtCylinderNoFirst8.Size = new System.Drawing.Size(194, 32);
+ this.txtCylinderNoFirst8.TabIndex = 8;
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label7.ForeColor = System.Drawing.Color.DimGray;
+ this.label7.Location = new System.Drawing.Point(4, 72);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(137, 30);
+ this.label7.TabIndex = 7;
+ this.label7.Text = "筒体号前8位";
+ this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtCylinderNo
+ //
+ this.txtCylinderNo.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.txtCylinderNo.Location = new System.Drawing.Point(148, 26);
+ this.txtCylinderNo.Name = "txtCylinderNo";
+ this.txtCylinderNo.Size = new System.Drawing.Size(194, 32);
+ this.txtCylinderNo.TabIndex = 6;
+ this.txtCylinderNo.Enter += new System.EventHandler(this.txtCylinderNo_Enter);
+ this.txtCylinderNo.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtCylinderNo_KeyDown);
+ this.txtCylinderNo.Leave += new System.EventHandler(this.txtCylinderNo_Leave);
+ //
+ // label13
+ //
+ this.label13.AutoSize = true;
+ this.label13.Font = new System.Drawing.Font("微软雅黑", 16F, System.Drawing.FontStyle.Bold);
+ this.label13.ForeColor = System.Drawing.Color.DimGray;
+ this.label13.Location = new System.Drawing.Point(62, 27);
+ this.label13.Name = "label13";
+ this.label13.Size = new System.Drawing.Size(79, 30);
+ this.label13.TabIndex = 5;
+ this.label13.Text = "筒体号";
+ this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // tabPage2
+ //
+ this.tabPage2.Controls.Add(this.LoginTitle);
+ this.tabPage2.Controls.Add(this.btnLogin);
+ this.tabPage2.Controls.Add(this.txtPassword);
+ this.tabPage2.Controls.Add(this.txtUserName);
+ this.tabPage2.Controls.Add(this.label44);
+ this.tabPage2.Controls.Add(this.label35);
+ this.tabPage2.Controls.Add(this.label11);
+ this.tabPage2.Location = new System.Drawing.Point(4, 9);
+ this.tabPage2.Name = "tabPage2";
+ this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
+ this.tabPage2.Size = new System.Drawing.Size(907, 692);
+ this.tabPage2.TabIndex = 1;
+ this.tabPage2.Text = "tabPage2";
+ this.tabPage2.UseVisualStyleBackColor = true;
+ //
+ // LoginTitle
+ //
+ this.LoginTitle.BackColor = System.Drawing.Color.DeepSkyBlue;
+ this.LoginTitle.Dock = System.Windows.Forms.DockStyle.Top;
+ this.LoginTitle.Font = new System.Drawing.Font("微软雅黑", 46.75F);
+ this.LoginTitle.ForeColor = System.Drawing.Color.White;
+ this.LoginTitle.Location = new System.Drawing.Point(3, 3);
+ this.LoginTitle.Name = "LoginTitle";
+ this.LoginTitle.Size = new System.Drawing.Size(901, 88);
+ this.LoginTitle.TabIndex = 13;
+ this.LoginTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // btnLogin
+ //
+ this.btnLogin.BackColor = System.Drawing.Color.SandyBrown;
+ this.btnLogin.Font = new System.Drawing.Font("微软雅黑", 22F);
+ this.btnLogin.ForeColor = System.Drawing.SystemColors.ButtonHighlight;
+ this.btnLogin.Location = new System.Drawing.Point(334, 450);
+ this.btnLogin.Name = "btnLogin";
+ this.btnLogin.Size = new System.Drawing.Size(281, 67);
+ this.btnLogin.TabIndex = 12;
+ this.btnLogin.Text = "登 录";
+ this.btnLogin.UseVisualStyleBackColor = false;
+ this.btnLogin.Click += new System.EventHandler(this.btnLogin_Click);
+ //
+ // txtPassword
+ //
+ this.txtPassword.Font = new System.Drawing.Font("微软雅黑", 16F);
+ this.txtPassword.Location = new System.Drawing.Point(381, 356);
+ this.txtPassword.Name = "txtPassword";
+ this.txtPassword.PasswordChar = '*';
+ this.txtPassword.Size = new System.Drawing.Size(196, 36);
+ this.txtPassword.TabIndex = 11;
+ //
+ // txtUserName
+ //
+ this.txtUserName.Font = new System.Drawing.Font("微软雅黑", 16F);
+ this.txtUserName.Location = new System.Drawing.Point(381, 284);
+ this.txtUserName.Name = "txtUserName";
+ this.txtUserName.Size = new System.Drawing.Size(196, 36);
+ this.txtUserName.TabIndex = 10;
+ //
+ // label44
+ //
+ this.label44.AutoSize = true;
+ this.label44.Font = new System.Drawing.Font("微软雅黑", 16F);
+ this.label44.Location = new System.Drawing.Point(291, 359);
+ this.label44.Name = "label44";
+ this.label44.Size = new System.Drawing.Size(62, 30);
+ this.label44.TabIndex = 9;
+ this.label44.Text = "密码:";
+ //
+ // label35
+ //
+ this.label35.AutoSize = true;
+ this.label35.Font = new System.Drawing.Font("微软雅黑", 16F);
+ this.label35.Location = new System.Drawing.Point(291, 284);
+ this.label35.Name = "label35";
+ this.label35.Size = new System.Drawing.Size(84, 30);
+ this.label35.TabIndex = 8;
+ this.label35.Text = "用户名:";
+ //
+ // label11
+ //
+ this.label11.AutoSize = true;
+ this.label11.Font = new System.Drawing.Font("微软雅黑", 26.75F);
+ this.label11.Location = new System.Drawing.Point(396, 176);
+ this.label11.Name = "label11";
+ this.label11.Size = new System.Drawing.Size(164, 46);
+ this.label11.TabIndex = 7;
+ this.label11.Text = "用户登录";
+ //
+ // tabPage3
+ //
+ this.tabPage3.Controls.Add(this.btnBack);
+ this.tabPage3.Controls.Add(this.groupBox1);
+ this.tabPage3.Controls.Add(this.label15);
+ this.tabPage3.Location = new System.Drawing.Point(4, 9);
+ this.tabPage3.Name = "tabPage3";
+ this.tabPage3.Size = new System.Drawing.Size(907, 692);
+ this.tabPage3.TabIndex = 2;
+ this.tabPage3.UseVisualStyleBackColor = true;
+ //
+ // btnBack
+ //
+ this.btnBack.BackColor = System.Drawing.Color.Coral;
+ this.btnBack.Font = new System.Drawing.Font("微软雅黑", 20F, System.Drawing.FontStyle.Bold);
+ this.btnBack.ForeColor = System.Drawing.Color.Transparent;
+ this.btnBack.Location = new System.Drawing.Point(747, 602);
+ this.btnBack.Name = "btnBack";
+ this.btnBack.Size = new System.Drawing.Size(140, 76);
+ this.btnBack.TabIndex = 14;
+ this.btnBack.Text = "返 回";
+ this.btnBack.UseVisualStyleBackColor = false;
+ this.btnBack.Click += new System.EventHandler(this.btnBack_Click);
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.cbxDefaultOK);
+ this.groupBox1.Location = new System.Drawing.Point(3, 73);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(904, 148);
+ this.groupBox1.TabIndex = 13;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "配置";
+ //
+ // cbxDefaultOK
+ //
+ this.cbxDefaultOK.AutoSize = true;
+ this.cbxDefaultOK.Checked = true;
+ this.cbxDefaultOK.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cbxDefaultOK.Font = new System.Drawing.Font("微软雅黑", 14F);
+ this.cbxDefaultOK.Location = new System.Drawing.Point(23, 65);
+ this.cbxDefaultOK.Name = "cbxDefaultOK";
+ this.cbxDefaultOK.Size = new System.Drawing.Size(149, 29);
+ this.cbxDefaultOK.TabIndex = 13;
+ this.cbxDefaultOK.Text = "判断项默认0K";
+ this.cbxDefaultOK.UseVisualStyleBackColor = true;
+ this.cbxDefaultOK.CheckStateChanged += new System.EventHandler(this.cbxDefaultOK_CheckStateChanged);
+ //
+ // label15
+ //
+ this.label15.BackColor = System.Drawing.Color.DeepSkyBlue;
+ this.label15.Dock = System.Windows.Forms.DockStyle.Top;
+ this.label15.Font = new System.Drawing.Font("微软雅黑", 26.75F);
+ this.label15.ForeColor = System.Drawing.SystemColors.ControlLightLight;
+ this.label15.Location = new System.Drawing.Point(0, 0);
+ this.label15.Name = "label15";
+ this.label15.Size = new System.Drawing.Size(907, 59);
+ this.label15.TabIndex = 8;
+ this.label15.Text = "系统设置";
+ this.label15.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // MeterSeria
+ //
+ this.MeterSeria.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.MeterSeria_DataReceived);
+ //
+ // Main
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(1008, 729);
+ this.Controls.Add(this.splitContainer1);
+ this.Controls.Add(this.statusStrip1);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(4);
+ this.MaximizeBox = false;
+ this.Name = "Main";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "动静盘安装";
+ this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
+ this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Main_FormClosed);
+ this.Load += new System.EventHandler(this.Main_Load);
+ this.statusStrip1.ResumeLayout(false);
+ this.statusStrip1.PerformLayout();
+ this.splitContainer1.Panel1.ResumeLayout(false);
+ this.splitContainer1.Panel1.PerformLayout();
+ this.splitContainer1.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
+ this.splitContainer1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+ this.TabControlMain.ResumeLayout(false);
+ this.tabPage1.ResumeLayout(false);
+ this.panelESOP.ResumeLayout(false);
+ this.groupBox4.ResumeLayout(false);
+ this.groupBox4.PerformLayout();
+ this.PanelOther.ResumeLayout(false);
+ this.PanelOther.PerformLayout();
+ this.PanelRight.ResumeLayout(false);
+ this.PanelRight.PerformLayout();
+ this.panel7.ResumeLayout(false);
+ this.panel7.PerformLayout();
+ this.panel6.ResumeLayout(false);
+ this.panel6.PerformLayout();
+ this.panel5.ResumeLayout(false);
+ this.panel5.PerformLayout();
+ this.panel4.ResumeLayout(false);
+ this.panel4.PerformLayout();
+ this.panel3.ResumeLayout(false);
+ this.panel3.PerformLayout();
+ this.panel2.ResumeLayout(false);
+ this.panel2.PerformLayout();
+ this.panel1.ResumeLayout(false);
+ this.groupBox3.ResumeLayout(false);
+ this.groupBox3.PerformLayout();
+ this.PanelGap.ResumeLayout(false);
+ this.PanelGap.PerformLayout();
+ this.groupBox2.ResumeLayout(false);
+ this.groupBox2.PerformLayout();
+ this.tabPage2.ResumeLayout(false);
+ this.tabPage2.PerformLayout();
+ this.tabPage3.ResumeLayout(false);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.SplitContainer splitContainer1;
+ private System.Windows.Forms.StatusStrip statusStrip1;
+ private System.Windows.Forms.ToolStripStatusLabel tslPLC;
+ private System.Windows.Forms.ToolStripStatusLabel tslServer;
+ private System.Windows.Forms.ToolStripStatusLabel tslCurrentUser;
+ private System.Windows.Forms.TabControl TabControlMain;
+ private System.Windows.Forms.TabPage tabPage1;
+ private System.Windows.Forms.TabPage tabPage2;
+ private System.Windows.Forms.PictureBox pictureBox1;
+ private System.Windows.Forms.Label label45;
+ private System.Windows.Forms.Button btnModelMatch;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Button btnClose;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.Button btnSystemSet;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Button btnUserManage;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Button btnLogout;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Button btnLog;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Button btnHistory;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.Label label13;
+ private System.Windows.Forms.Panel panelESOP;
+ private System.Windows.Forms.Label LoginTitle;
+ private System.Windows.Forms.Button btnLogin;
+ private System.Windows.Forms.TextBox txtPassword;
+ private System.Windows.Forms.TextBox txtUserName;
+ private System.Windows.Forms.Label label44;
+ private System.Windows.Forms.Label label35;
+ private System.Windows.Forms.Label label11;
+ private System.Windows.Forms.TabPage tabPage3;
+ private System.Windows.Forms.Label label15;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Button btnBack;
+ private System.Windows.Forms.GroupBox groupBox2;
+ private System.Windows.Forms.TextBox txtCylinderNoLast5;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.TextBox txtCylinderNoFirst8;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.TextBox txtCylinderNo;
+ private System.Windows.Forms.GroupBox groupBox3;
+ private System.Windows.Forms.TextBox txtStaticDiskFirst;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.TextBox txtEuroNoLast;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.TextBox txtEuroNoFirst;
+ private System.Windows.Forms.Label label12;
+ private System.Windows.Forms.Label label14;
+ private System.Windows.Forms.TextBox txtStaticDiskLast;
+ private System.Windows.Forms.GroupBox groupBox4;
+ private System.Windows.Forms.TextBox txtStaticDiskNoW;
+ private System.Windows.Forms.Label label16;
+ private System.Windows.Forms.TextBox txtDynStaticDiskNo;
+ private System.Windows.Forms.Label label17;
+ private System.Windows.Forms.TextBox txtEuroSeriesNo;
+ private System.Windows.Forms.Label label19;
+ private System.Windows.Forms.TextBox txtEuroNo;
+ private System.Windows.Forms.Label label20;
+ private System.Windows.Forms.Label label27;
+ private System.Windows.Forms.Label label26;
+ private System.Windows.Forms.Label label25;
+ private System.Windows.Forms.Label label24;
+ private System.Windows.Forms.Label label23;
+ private System.Windows.Forms.Label label22;
+ private System.Windows.Forms.Label label21;
+ private System.Windows.Forms.Panel panel2;
+ private System.Windows.Forms.RadioButton rbPartCountNG;
+ private System.Windows.Forms.RadioButton rbPartCountOK;
+ private System.Windows.Forms.TextBox txtStaticDiskCastNo;
+ private System.Windows.Forms.Panel panel5;
+ private System.Windows.Forms.RadioButton rbDynStaticNoSameNG;
+ private System.Windows.Forms.RadioButton rbDynStaticNoSameOK;
+ private System.Windows.Forms.Panel panel4;
+ private System.Windows.Forms.RadioButton rbSpiralScrewNG;
+ private System.Windows.Forms.RadioButton rbSpiralScrewOK;
+ private System.Windows.Forms.Panel panel3;
+ private System.Windows.Forms.RadioButton rbBracketOilNG;
+ private System.Windows.Forms.RadioButton rbBracketOilOK;
+ private System.Windows.Forms.Panel panel6;
+ private System.Windows.Forms.RadioButton rbDynStaticNoBreakNG;
+ private System.Windows.Forms.RadioButton rbDynStaticNoBreakOK;
+ private System.Windows.Forms.TextBox txtEuroCastNo;
+ private System.Windows.Forms.Button btnTrue;
+ private System.Windows.Forms.Panel panel7;
+ private System.Windows.Forms.RadioButton rbLiquidInjeMachNG;
+ private System.Windows.Forms.RadioButton rbLiquidInjeMachOK;
+ private System.Windows.Forms.Label label28;
+ private System.IO.Ports.SerialPort MeterSeria;
+ private System.Windows.Forms.ToolStripStatusLabel tslMeterSeria;
+ private System.Windows.Forms.ListView LvGap;
+ private System.Windows.Forms.Panel PanelGap;
+ private System.Windows.Forms.Button btnMove;
+ private System.Windows.Forms.Button btnLVGapDelete;
+ private System.Windows.Forms.Button btnOtherDelete;
+ private System.Windows.Forms.Panel PanelRight;
+ private System.Windows.Forms.Label label29;
+ private System.Windows.Forms.TextBox txtOtherGapGroup;
+ private System.Windows.Forms.TextBox txtOtherBracket;
+ private System.Windows.Forms.Label label32;
+ private System.Windows.Forms.TextBox txtOtherEuro;
+ private System.Windows.Forms.Label label31;
+ private System.Windows.Forms.TextBox txtOtherDynDisk;
+ private System.Windows.Forms.Label label30;
+ private System.Windows.Forms.Label lblSubmitMsg;
+ private System.Windows.Forms.Label label33;
+ private System.Windows.Forms.TextBox txtExhCoveBatch;
+ private System.Windows.Forms.Button button1;
+ private System.Windows.Forms.ImageList imageList1;
+ private System.Windows.Forms.Label lblTongZhiGui;
+ private System.Windows.Forms.TextBox txtOtherGapValue;
+ private System.Windows.Forms.Label label34;
+ private System.Windows.Forms.CheckBox cbxDefaultOK;
+ private System.Windows.Forms.Label lblCylinderNoAlarmMsg;
+ private System.Windows.Forms.Panel PanelOther;
+ private System.Windows.Forms.Label lblMeterDataState;
+ }
+}
\ No newline at end of file
diff --git a/EleBox.App/Main.cs b/EleBox.App/Main.cs
new file mode 100644
index 0000000..37dad2d
--- /dev/null
+++ b/EleBox.App/Main.cs
@@ -0,0 +1,2629 @@
+using DynStatDisk.App.Com;
+using DynStatDisk.App.Model;
+using HslCommunication;
+using HslCommunication.BasicFramework;
+using HslCommunication.Profinet.Melsec;
+using NLog;
+using NPOI.OpenXmlFormats.Wordprocessing;
+using NPOI.SS.Formula.Functions;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Net;
+using System.Net.NetworkInformation;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using static HslCommunication.Profinet.Knx.KnxCode;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement;
+
+namespace DynStatDisk.App
+{
+ public partial class Main : Form
+ {
+ public Main()
+ {
+ InitializeComponent();
+ this.ControlBox = false;
+ }
+
+ //日志的实例化
+ private static Logger logger { get; set; } = LogManager.GetCurrentClassLogger();
+ //FSqlContext.FDb实例
+
+ ///
+ /// 位置信息
+ ///
+ public MachineLocation LocationInfo { get; set; }
+
+ //通信组件
+ private MelsecMcNet _MelsecMcNet { get; set; } = null;
+
+ ///
+ /// 照片集合数据
+ ///
+ public List ListPhotoImage { get; set; } = new List();
+
+ ///
+ /// 集合数据
+ ///
+ public List ListDynStatDiskModel { get; set; }
+
+ //服务器参数
+ public String ServerIP;
+ public IPAddress ServerIPAddress;
+ public bool ServerLinkState = false;
+ public string HandScanPort = string.Empty;
+ public string HandScanPortRate = string.Empty;
+ public bool PLCLinkState = false;
+
+ public string CurrentMachineNameStr = "动静盘-KP";
+
+
+ //pictureBox1
+ Image pbImageOK = Image.FromFile(@"Images\ok.png");
+ Image pbImageNG = Image.FromFile(@"Images\no.png");
+ Image pbImageWait = Image.FromFile(@"Images\Wait.png");
+ Image pbImageQuestion = Image.FromFile(@"Images\Question.png");
+
+ Image pbImageProofOK = Image.FromFile(@"Images\圆On.png");
+ Image pbImageProofNG = Image.FromFile(@"Images\圆Off.png");
+ Image pbImageProofWait = Image.FromFile(@"Images\Wait.png");
+
+ ///
+ /// PLC信号模型
+ ///
+ private PLCSglModel pLCSglModel { get; set; }
+
+ ///
+ /// 当前工件的间隙数据
+ ///
+ private GapData CurGapData { get; set; } = new GapData();
+
+ ///
+ /// 运行过程状态,比如条码好了后,是判断的状态,为On,托盘过后为Off的状态
+ ///
+ private bool RunProcessState = false;
+
+ /////
+ ///// 特殊机种
+ /////
+ //private bool SpecialModels { get; set; }
+
+ /////////////////////////////////////////////////////
+ ///
+ /// 线程定义
+ ///
+ ////////////////////////////////////////////////////
+
+ ///
+ /// 通信监听
+ ///
+ public Thread ListenNetThread;
+
+ ///
+ /// PLC通信监听
+ ///
+ public Thread PLCScanThread;
+ ///
+ /// 实时更新UI线程
+ ///
+ public Thread RtUpdateThread;
+
+ ///
+ /// 仪表数据
+ ///
+ private string MeterSourceData { get; set; } = string.Empty;
+ public string MeterSeriaScanPort { get; set; } = string.Empty;
+ public string MeterSeriaScanPortRate { get; set; } = string.Empty;
+ public bool MeterSeriaPortLinkState { get; set; } = false;
+
+ ///
+ /// 当前用户名
+ ///
+ public string CurrentOperationNo = string.Empty;
+
+ public string CurrentOperationNoUserLevel = string.Empty;
+
+
+ //更新UI控件的委托,委托变量的类型的定义-方法的类型的定义
+ public delegate void UpdateUIDelegate();
+ UpdateUIDelegate _UpdateUIDelegate;//更新界面控件的委托
+
+ public delegate void ReceiveMeterDataDelegate(string data);
+ ReceiveMeterDataDelegate _ReceiveMeterDataDelegate;
+
+
+ #region "字段信息"
+
+ /////////////////////////////////////////////////////////////////////////
+ ///
+ /// 数据字段
+ ///
+ /////////////////////////////////////////////////////////////////////////
+ public OperateResult OperateResultCylinderNo;
+ public OperateResult OperateResultBit;
+ public OperateResult OperateResultInt;
+
+ ///
+ /// 当前选择的机种信息数据
+ ///
+ public DynStatDiskModel SelectedDynStatDiskModelInfo;
+
+ ///
+ /// 当前的筒体号
+ ///
+ private string CurrentReadCylinderNo { get; set; } = string.Empty;
+
+ ///
+ /// 筒体号
+ ///
+ private string CurrentCylinderNo { get; set; } = string.Empty;
+
+ ///
+ /// 筒体号前8位
+ ///
+ private string CurrentCylinderNoFirst8 { get; set; } = string.Empty;
+
+
+ ///
+ /// 筒体号后5位
+ ///
+ private string CurrentCylinderNoLast5 { get; set; } = string.Empty;
+
+ ///
+ /// 当前的序列号
+ ///
+ private string CurrentSerialNo { get; set; } = string.Empty;
+
+ ///
+ /// 当前的机番号
+ ///
+ private string CurrentModelNo { get; set; } = string.Empty;
+
+ ///
+ /// 当前的防错信息使能
+ ///
+ private bool CurrentProofState { get; set; }
+
+
+ ///
+ /// 端子连接器
+ ///
+ private string CurrentTerminalConnect { get; set; } = string.Empty;
+
+ ///
+ /// 绝缘垫片
+ ///
+ private string CurrentInsulatPad { get; set; } = string.Empty;
+
+ ///
+ /// 电器盒盖
+ ///
+ private string CurrentDynStatDiskConver { get; set; } = string.Empty;
+
+ #endregion
+
+ ///
+ /// 信号集合状态
+ ///
+ public List ListStateModel { get; set; }
+
+ ///
+ /// 操作集合结果数据 ListStateModel的结果赋值给这个的总结果数据
+ ///
+ public List ListOpActionState { get; set; }
+
+ ///
+ /// 防呆的实时启用状态,在工件过来时开始判断防呆,工件流走后不做防呆判断 跟防呆使能不一样,那个是全局的使能
+ ///
+ private bool ProofRtEnableState { get; set; } = true;
+
+ /////
+ ///// 防呆防错使能状态
+ /////
+ //private bool ProofEnable { get; set; } = true;
+
+ //界面相关参数
+ public int UIScan = 400;
+ private int CurrentPallet = 0;
+ private int TotalPalletCount = 0;
+
+ public bool ThreadEnable = true;
+
+ ///
+ /// 欧式机构编号前缀
+ ///
+ private string ConfigEuroNoFirst { get; set; } = "欧式机构编号前缀";
+
+ ///
+ /// 欧式机构编号后缀
+ ///
+ private string ConfigEuroNoLast { get; set; } = "欧式机构编号后缀";
+
+ ///
+ /// 静盘编号前缀
+ ///
+ private string ConfigStaticDiskFirst { get; set; } = "静盘编号前缀";
+
+ ///
+ /// 静盘编号后缀
+ ///
+ private string ConfigStaticDiskLast { get; set; } = "静盘编号后缀";
+
+ ///
+ /// PLCIp
+ ///
+ private string PLCIP { get; set; }
+
+ ///
+ /// PLC Port
+ ///
+ private int PLCPort { get; set; }
+
+ #region 功能界面按钮事件
+
+ ///
+ /// 关闭按钮
+ ///
+ ///
+ ///
+ private void btnClose_Click(object sender, EventArgs e)
+ {
+ if (DialogResult.OK == MessageBox.Show("你确定要关闭程序系统吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning))
+ {
+ ThreadEnable = false;
+ // 断开连接
+ _MelsecMcNet?.ConnectClose();
+
+ if (LocationInfo == MachineLocation.KP)
+ {
+ MeterSeria?.Close();
+ }
+
+ // 断开连接
+
+ //busRtuClient.Close();
+ //if (busRtuClient.IsOpen() == true)
+ //{
+ // busRtuClient.Close();
+ //}
+
+ //if (MeterSeria.IsOpen == true)
+ //{
+ // MeterSeria.Close();
+ //}
+
+ //if (HandSerialPort.IsOpen == true)
+ //{
+ // HandSerialPort.Close();
+ //}
+ //axActUtlTypeE71.Close();
+ //WeighSerialPortThread.Abort();
+ //HearPulseThread.Abort();
+
+
+ //初始化状态 上一次的值和配置
+ switch (LocationInfo)
+ {
+ case MachineLocation.KP:
+
+ UpdateOrInsert(LocationInfo.ToString(), ConfigEuroNoFirst, txtEuroNoFirst.Text.Trim());
+ UpdateOrInsert(LocationInfo.ToString(), ConfigEuroNoLast, txtEuroNoLast.Text.Trim());
+ UpdateOrInsert(LocationInfo.ToString(), ConfigStaticDiskFirst, txtStaticDiskFirst.Text.Trim());
+ UpdateOrInsert(LocationInfo.ToString(), ConfigStaticDiskLast, txtStaticDiskLast.Text.Trim());
+ break;
+ case MachineLocation.G:
+
+ UpdateOrInsert(LocationInfo.ToString(), ConfigEuroNoFirst, txtEuroNoFirst.Text.Trim());
+ UpdateOrInsert(LocationInfo.ToString(), ConfigEuroNoLast, txtEuroNoLast.Text.Trim());
+ UpdateOrInsert(LocationInfo.ToString(), ConfigStaticDiskFirst, txtStaticDiskFirst.Text.Trim());
+ UpdateOrInsert(LocationInfo.ToString(), ConfigStaticDiskLast, txtStaticDiskLast.Text.Trim());
+ break;
+ default:
+ break;
+ }
+
+
+ this.Close();
+ System.Environment.Exit(System.Environment.ExitCode);
+
+ }
+
+ }
+
+ private void btnHistory_Click(object sender, EventArgs e)
+ {
+ if (CurrentOperationNo != "")
+ {
+ //frmHistoryData.CreateInstrance().ShowDialog();
+ }
+ else
+ {
+ MessageBox.Show("请先登录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ }
+ }
+
+ private void btnLog_Click(object sender, EventArgs e)
+ {
+ //frmMessageBox.CreateInstrance("流水号和机种型号不匹配,请检查!").ShowDialog();
+ //frmLogin.CreateInstrance(CurrentMachineName).ShowDialog();
+ this.TabControlMain.SelectedIndex = 1;
+ }
+
+ private void btnLogout_Click(object sender, EventArgs e)
+ {
+ if (DialogResult.OK == MessageBox.Show("你确定注销当前用户吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning))
+ {
+ //_MelsecMcNet.Write("D1000", (short)3);
+
+ CurrentOperationNo = "";
+ CurrentOperationNoUserLevel = "";
+ tslCurrentUser.Text = "当前用户:未登录";
+ tslCurrentUser.BackColor = Color.Red;
+ tslCurrentUser.ForeColor = Color.White;
+
+ this.TabControlMain.SelectedIndex = 1;
+ }
+ }
+
+ private void btnUserManage_Click(object sender, EventArgs e)
+ {
+ if (CurrentOperationNo != "")
+ {
+ if (CurrentOperationNoUserLevel == "管理员")
+ {
+ FrmUserManage.CreateInstrance(CurrentOperationNoUserLevel).ShowDialog();
+ }
+ else
+ {
+ MessageBox.Show("你不是管理员,无法操作用户管理!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ }
+ }
+ else
+ {
+ MessageBox.Show("请先登录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ }
+ }
+
+ private void btnSystemSet_Click(object sender, EventArgs e)
+ {
+ if (CurrentOperationNo != "")
+ {
+ TabControlMain.SelectedIndex = 2;
+ }
+ else
+ {
+ MessageBox.Show("请先登录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ }
+ }
+
+ private void btnModelMatch_Click(object sender, EventArgs e)
+ {
+ if (CurrentOperationNo != "")
+ {
+ frmMachineModelConfig.CreateInstrance().ShowDialog();
+ }
+ else
+ {
+ MessageBox.Show("请先登录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ }
+ }
+
+ #endregion
+
+ private void Main_Load(object sender, EventArgs e)
+ {
+ try
+ {
+
+ if (ConfigHelper.GetValue("Location") == "KP")
+ {
+ LocationInfo = MachineLocation.KP;
+ PLCIP = ConfigHelper.GetValue("KPPLCIp");
+ PLCPort = int.Parse(ConfigHelper.GetValue("KPPLCPort"));
+ PanelGap.Visible = true;
+ PanelRight.Visible = true;
+ PanelOther.Visible = true;
+
+ //串口初始化
+ SerialPortLinkInitial(LocationInfo);
+
+ CurrentMachineNameStr = "动静盘安装-KP";
+ LoginTitle.Text = CurrentMachineNameStr;
+ }
+ else
+ {
+ LocationInfo = MachineLocation.G;
+ PLCIP = ConfigHelper.GetValue("GPLCIp");
+ PLCPort = int.Parse(ConfigHelper.GetValue("GPLCPort"));
+
+ CurrentMachineNameStr = "动静盘安装-G";
+
+ LoginTitle.Text = CurrentMachineNameStr;
+
+ PanelGap.Visible = false;
+ PanelRight.Visible = false;
+ PanelOther.Visible = false;
+ label33.Visible = false;
+ txtExhCoveBatch.Visible = false;
+ }
+
+ ServerIP = ConfigHelper.GetValue("ServerIP");
+
+ //RtMeterRatio = int.Parse(ConfigHelper.GetValue("MeterRatio"));
+
+ frmMachineModelConfig.CreateInstrance().MachineModelConfigChanged += Main_MachineModelConfigChanged;
+
+ //ProofEnable = bool.Parse(ConfigHelper.GetValue("ProofEnable"));
+
+ //获取程序的配置信息
+ var SqlCon = ConfigHelper.GetValue("connecting");
+
+ //FSqlContext.FDb.Select().ToList();
+
+ ListDynStatDiskModel = FSqlContext.FDb.Select().ToList();
+ //foreach (var item in ListDynStatDiskModel)
+ //{
+ // ListPhotoImage.Add(new PhotoImage()
+ // {
+ // MachineModel = item.ModelNo,
+
+ // });
+ //}
+
+ //初始化状态 上一次的值和配置
+ switch (LocationInfo)
+ {
+ case MachineLocation.KP:
+ var lastInfo1 = FSqlContext.FDb.Select().Where(a => a.MachineName == "KP" && a.AttributeName == ConfigEuroNoFirst).OrderByDescending(a => a.CreateTime).ToList();
+ if (lastInfo1 != null && lastInfo1.Count > 0)
+ {
+ txtEuroNoFirst.Text = lastInfo1.FirstOrDefault().AttributeValue;
+ }
+ var lastInfo2 = FSqlContext.FDb.Select().Where(a => a.MachineName == "KP" && a.AttributeName == ConfigEuroNoLast).OrderByDescending(a => a.CreateTime).ToList();
+ if (lastInfo2 != null && lastInfo2.Count > 0)
+ {
+ txtEuroNoLast.Text = lastInfo2.FirstOrDefault().AttributeValue;
+ }
+ var lastInfo3 = FSqlContext.FDb.Select().Where(a => a.MachineName == "KP" && a.AttributeName == ConfigStaticDiskFirst).OrderByDescending(a => a.CreateTime).ToList();
+ if (lastInfo3 != null && lastInfo3.Count > 0)
+ {
+ txtStaticDiskFirst.Text = lastInfo3.FirstOrDefault().AttributeValue;
+ }
+ var lastInfo4 = FSqlContext.FDb.Select().Where(a => a.MachineName == "KP" && a.AttributeName == ConfigStaticDiskLast).OrderByDescending(a => a.CreateTime).ToList();
+ if (lastInfo4 != null && lastInfo4.Count > 0)
+ {
+ txtStaticDiskLast.Text = lastInfo4.FirstOrDefault().AttributeValue;
+ }
+ break;
+ case MachineLocation.G:
+ var lastInfo21 = FSqlContext.FDb.Select().Where(a => a.MachineName == "G" && a.AttributeName == ConfigEuroNoFirst).OrderByDescending(a => a.CreateTime).ToList();
+ if (lastInfo21 != null && lastInfo21.Count > 0)
+ {
+ txtEuroNoFirst.Text = lastInfo21.FirstOrDefault().AttributeValue;
+ }
+ var lastInfo22 = FSqlContext.FDb.Select().Where(a => a.MachineName == "G" && a.AttributeName == ConfigEuroNoLast).OrderByDescending(a => a.CreateTime).ToList();
+ if (lastInfo22 != null && lastInfo22.Count > 0)
+ {
+ txtEuroNoLast.Text = lastInfo22.FirstOrDefault().AttributeValue;
+ }
+ var lastInfo23 = FSqlContext.FDb.Select().Where(a => a.MachineName == "G" && a.AttributeName == ConfigStaticDiskFirst).OrderByDescending(a => a.CreateTime).ToList();
+ if (lastInfo23 != null && lastInfo23.Count > 0)
+ {
+ txtStaticDiskFirst.Text = lastInfo23.FirstOrDefault().AttributeValue;
+ }
+ var lastInfo24 = FSqlContext.FDb.Select().Where(a => a.MachineName == "G" && a.AttributeName == ConfigStaticDiskLast).OrderByDescending(a => a.CreateTime).ToList();
+ if (lastInfo24 != null && lastInfo24.Count > 0)
+ {
+ txtStaticDiskLast.Text = lastInfo24.FirstOrDefault().AttributeValue;
+ }
+ break;
+ default:
+ break;
+ }
+
+ LoadLvGapColumn();
+
+ //PLC通信的连接
+ _MelsecMcNet = new MelsecMcNet();
+ _MelsecMcNet.IpAddress = PLCIP;
+ _MelsecMcNet.Port = 6000;
+ _MelsecMcNet.ConnectClose();
+
+ _MelsecMcNet.ConnectTimeOut = 3000; // 连接3秒超时
+ OperateResult connect = _MelsecMcNet.ConnectServer();
+ if (connect.IsSuccess)//初始连接状态的显示判断
+ {
+ //MessageBox.Show(HslCommunication.StringResources.Language.ConnectedSuccess);
+ //_MelsecMcNet.Write("M504", true);
+ }
+ else
+ {
+ MessageBox.Show(connect.Message + Environment.NewLine + "ErrorCode: " + connect.ErrorCode);
+ }
+
+
+
+ pLCSglModel = new PLCSglModel();
+ pLCSglModel.CylinderNoSglEvent += PLCSglModel_CylinderNoSglEvent;
+ pLCSglModel.PalletPassSglEvent += PLCSglModel_PalletPassSglEvent;
+ pLCSglModel.TongZhiGuiSglEvent += PLCSglModel_TongZhiGuiSglEvent;
+
+
+ //委托实例化
+ _UpdateUIDelegate = new UpdateUIDelegate(UpdateUIMethod);
+
+ _ReceiveMeterDataDelegate = new ReceiveMeterDataDelegate(ReceiveMeterDataMethod);
+
+
+ ListStateModel = new List()
+ {
+ new StateModel("端子连接器","A",new List(){
+ new BitStateSgl("接近开关1",false),
+ new BitStateSgl("接近开关2",false),
+ new BitStateSgl("接近开关3",false),
+ }),
+ new StateModel("端子连接器","B",new List(){
+ new BitStateSgl("接近开关4",false),
+ new BitStateSgl("接近开关5",false),
+ new BitStateSgl("接近开关6",false),
+ new BitStateSgl("光纤传感器",false),
+ }),
+ new StateModel("端子连接器","C",new List(){
+ new BitStateSgl("接近开关4",false),
+ new BitStateSgl("接近开关5",false),
+ new BitStateSgl("接近开关6",false)
+ }),
+ new StateModel("端子连接器","无",new List(){
+ //new BitStateSgl("虚拟开关-无",false)
+ }),
+
+ new StateModel("绝缘垫片","A",new List(){
+ new BitStateSgl("安全光栅1",false)
+ }),
+ new StateModel("绝缘垫片","B",new List(){
+ new BitStateSgl("安全光栅1",false)
+ }),
+ new StateModel("绝缘垫片","C",new List(){
+ new BitStateSgl("安全光栅1",false)
+ }),
+ new StateModel("绝缘垫片","D",new List(){
+ new BitStateSgl("安全光栅2",false)
+ }),
+ new StateModel("绝缘垫片","E",new List(){
+ new BitStateSgl("安全光栅2",false)
+ }),
+ new StateModel("绝缘垫片","F",new List(){
+ new BitStateSgl("安全光栅2",false)
+ }),
+ new StateModel("绝缘垫片","无",new List(){
+ //new BitStateSgl("虚拟开关-无",false)
+ }),
+
+ new StateModel("电器盒","A",new List(){
+ new IntStateSgl("扭矩枪信号",0,4)
+ }),
+ new StateModel("电器盒","B",new List(){
+ new IntStateSgl("扭矩枪信号",0,4)
+ }),
+ new StateModel("电器盒","C",new List(){
+ new IntStateSgl("扭矩枪信号",0,4)
+ }),
+ new StateModel("电器盒","无",new List(){
+ //new IntStateSgl("虚拟开关-无",0,4)
+ })
+ };
+
+ foreach (var item in ListStateModel)
+ {
+ item.StateSglSglEvent += Item_StateSglSglEvent;
+ }
+
+ ListOpActionState = new List()
+ {
+ new OpActionState("端子连接器","A"),
+ new OpActionState("绝缘垫片","A"),
+ new OpActionState("电器盒","A"),
+ };
+
+ //ListPhotoImage
+
+ //网络状态扫描
+ ListenNetThread = new Thread(new ThreadStart(ListenNetMethod));
+ ListenNetThread.Start();
+
+ // 启动PLC更新数据的线程;
+ PLCScanThread = new Thread(new ThreadStart(PLCScanThreadMethod));
+ PLCScanThread.Start();
+
+ RtUpdateThread = new Thread(new ThreadStart(RtUpdateThreadMethod));
+ RtUpdateThread.Start();
+
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ }
+ }
+
+ ///
+ /// 机种模型更改
+ ///
+ ///
+ ///
+ private void Main_MachineModelConfigChanged(object sender, EventArgs e)
+ {
+ ListDynStatDiskModel = FSqlContext.FDb.Select().ToList();
+ }
+
+ ///
+ /// 通止规的信号模型
+ ///
+ ///
+ ///
+ private void PLCSglModel_TongZhiGuiSglEvent(bool UpdateValue, string UpdateName)
+ {
+ BeginInvoke(new Action(() =>
+ {
+ if (UpdateValue)
+ {
+ lblTongZhiGui.BackColor = Color.LimeGreen;
+ }
+ else
+ {
+ lblTongZhiGui.BackColor = Color.DarkGray;
+ }
+ }));
+ }
+
+ ///
+ /// 托盘流走信号,清除一些HMI显示状态
+ ///
+ ///
+ ///
+ ///
+ private void PLCSglModel_PalletPassSglEvent(bool UpdateValue, string UpdateName)
+ {
+ //FSqlContext.FDb.Insert(new DynStatDiskInstall()
+ //{
+
+ //}).ExecuteAffrows();
+
+ BeginInvoke(new Action(() =>
+ {
+ //lblTerminalConnect.Text = "无";
+ //lblInsulatPad.Text = "无";
+ //lblDynStatDiskConver.Text = "无";
+
+ //pbTerminalConnect.Image = pbImageWait;
+ //pbInsulatPad.Image = pbImageWait;
+ //pbDynStatDiskConver.Image = pbImageWait;
+
+ //pbESHOP.Image = null;
+
+ //txtSerialNo.Text = "";
+ //txtModelNo.Text = "";
+
+ //btnTruePass.BackColor = Color.Transparent;
+
+ //btnHandPass.BackColor = Color.Coral;
+ txtEuroNo.Text = "";
+ txtDynStaticDiskNo.Text = "";
+
+ RunProcessState = false;
+
+ txtCylinderNo.Text = "";
+ txtEuroSeriesNo.Text = "";
+ txtStaticDiskNoW.Text = "";
+
+ lblSubmitMsg.Visible = false;
+
+ lblCylinderNoAlarmMsg.Visible = false;
+
+ //间隙数据删除
+ txtOtherGapGroup.Text = "";
+ txtOtherGapValue.Text = "";
+ CurGapData.Group = "";
+ CurGapData.Gap = "";
+ CurGapData.Result = "";
+
+ if (cbxDefaultOK.Checked)
+ {
+ rbPartCountOK.Checked = true;
+ rbBracketOilOK.Checked = true;
+ rbSpiralScrewOK.Checked = true;
+ rbDynStaticNoSameOK.Checked = true;
+ rbDynStaticNoBreakOK.Checked = true;
+ rbLiquidInjeMachOK.Checked = true;
+ }
+
+
+ }));
+
+
+ }
+
+
+ ///
+ /// 每个产品达到要求注册的方法
+ ///
+ ///
+ ///
+ ///
+ private void Item_StateSglSglEvent(bool UpdateValue, string Name, string Category)
+ {
+ switch (Name)
+ {
+ //case "端子连接器":
+ // ListOpActionState.Find(a => a.Name == Name).CurrentResult = true;
+ // BeginInvoke(new Action(() =>
+ // {
+ // pbTerminalConnect.Image = pbImageOK;
+ // }));
+ // break;
+ //case "绝缘垫片":
+ // ListOpActionState.Find(a => a.Name == Name).CurrentResult = true;
+ // BeginInvoke(new Action(() =>
+ // {
+ // pbInsulatPad.Image = pbImageOK;
+ // }));
+ // break;
+ //case "电器盒":
+ // ListOpActionState.Find(a => a.Name == Name).CurrentResult = true;
+ // BeginInvoke(new Action(() =>
+ // {
+ // pbDynStatDiskConver.Image = pbImageOK;
+ // }));
+ // break;
+ //default:
+ // break;
+ }
+
+ //综合判断一下是否三个都为OK了
+ if (ListOpActionState.Find(a => a.Name == "端子连接器").CurrentResult &&
+ ListOpActionState.Find(a => a.Name == "绝缘垫片").CurrentResult &&
+ ListOpActionState.Find(a => a.Name == "电器盒").CurrentResult)
+ {
+ _MelsecMcNet.Write("M10", true);
+
+ BeginInvoke(new Action(() =>
+ {
+ //btnTruePass.BackColor = Color.LimeGreen;
+ }));
+ }
+
+ }
+
+
+ ///
+ /// PLC信号模型中条码准备完毕信号
+ ///
+ ///
+ ///
+ ///
+ private void PLCSglModel_CylinderNoSglEvent(bool UpdateValue, string UpdateName)
+ {
+ //获取机种番号
+ if (!string.IsNullOrEmpty(CurrentReadCylinderNo) && CurrentReadCylinderNo.Length > 4)
+ {
+ CurrentModelNo = CurrentReadCylinderNo.Substring(0, 4);
+ CurrentCylinderNoFirst8 = CurrentReadCylinderNo.Substring(0, 8);
+ CurrentCylinderNoLast5 = CurrentReadCylinderNo.Substring(CurrentReadCylinderNo.Length - 5);
+
+ BeginInvoke(new Action(() =>
+ {
+ txtCylinderNo.Text = CurrentReadCylinderNo;
+ txtCylinderNoFirst8.Text = CurrentCylinderNoFirst8;
+ txtCylinderNoLast5.Text = CurrentCylinderNoLast5;
+
+ //数据读取成功后,控制焦点,等待让操作人员输入数据
+ txtEuroSeriesNo.Focus();
+ }));
+ }
+
+ RunProcessState = true;
+
+ //
+ //var ModelInfo = ListDynStatDiskModel.Where(a => a.ModelNo == CurrentModelNo).OrderByDescending(a => a.CreateTime).ToList();
+ //if (ModelInfo != null && ModelInfo.Count > 0)
+ //{
+ // SelectedDynStatDiskModelInfo = ModelInfo.FirstOrDefault();
+
+ // ListOpActionState.Find(a => a.Name == "端子连接器").CurrentCategory = SelectedDynStatDiskModelInfo.TerminalConnect;
+ // ListOpActionState.Find(a => a.Name == "端子连接器").CurrentResult = false;
+ // ListOpActionState.Find(a => a.Name == "绝缘垫片").CurrentCategory = SelectedDynStatDiskModelInfo.InsulatPad;
+ // ListOpActionState.Find(a => a.Name == "绝缘垫片").CurrentResult = false;
+ // ListOpActionState.Find(a => a.Name == "电器盒").CurrentCategory = SelectedDynStatDiskModelInfo.DynStatDiskConver;
+ // ListOpActionState.Find(a => a.Name == "电器盒").CurrentResult = false;
+
+
+
+ // //为无的话,则直接判断未OK
+ // //if (SelectedDynStatDiskModelInfo.TerminalConnect == "无")
+ // //{
+ // // //ListOpActionState.Find(a => a.Name == "端子连接器").CurrentResult = true;
+ // // ListStateModel.Find(a => a.Name == "端子连接器" && a.Category == "无").Result = false;
+ // // ListStateModel.Find(a => a.Name == "端子连接器" && a.Category == "无").Result = true;
+ // //}
+ // //if (SelectedDynStatDiskModelInfo.InsulatPad == "无")
+ // //{
+ // // //ListOpActionState.Find(a => a.Name == "绝缘垫片").CurrentResult = true;
+ // // ListStateModel.Find(a => a.Name == "绝缘垫片" && a.Category == "无").Result = false;
+ // // ListStateModel.Find(a => a.Name == "绝缘垫片" && a.Category == "无").Result = true;
+ // //}
+ // //if (SelectedDynStatDiskModelInfo.DynStatDiskConver == "无")
+ // //{
+ // // //ListOpActionState.Find(a => a.Name == "电器盒").CurrentResult = true;
+ // // ListStateModel.Find(a => a.Name == "电器盒" && a.Category == "无").Result = false;
+ // // ListStateModel.Find(a => a.Name == "电器盒" && a.Category == "无").Result = true;
+ // //}
+
+ // //if (!ProofEnable)
+ // //{
+ // // ListStateModel.Find(a => a.Name == "端子连接器" && a.Category == "无").Result = false;
+ // // ListStateModel.Find(a => a.Name == "端子连接器" && a.Category == "无").Result = true;
+
+ // // ListStateModel.Find(a => a.Name == "绝缘垫片" && a.Category == "无").Result = false;
+ // // ListStateModel.Find(a => a.Name == "绝缘垫片" && a.Category == "无").Result = true;
+
+ // // ListStateModel.Find(a => a.Name == "电器盒" && a.Category == "无").Result = false;
+ // // ListStateModel.Find(a => a.Name == "电器盒" && a.Category == "无").Result = true;
+
+ // //}
+
+
+ // BeginInvoke(new Action(() =>
+ // {
+ // //lblTerminalConnect.Text = SelectedDynStatDiskModelInfo.TerminalConnect;
+ // //lblInsulatPad.Text = SelectedDynStatDiskModelInfo.InsulatPad;
+ // //lblDynStatDiskConver.Text = SelectedDynStatDiskModelInfo.DynStatDiskConver;
+ // //pbESHOP.Image = ListPhotoImage.Find(a => a.MachineModel == SelectedDynStatDiskModelInfo.ModelNo).ImageInfo;
+ // }));
+
+ //}
+ //else
+ //{
+ // MessageBox.Show("当前模板中没有找到对应的机种番号,请添加后再使用", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ //}
+
+ }
+
+
+ ///
+ /// 更新界面数据
+ ///
+ private void UpdateUIMethod()
+ {
+
+ }
+
+
+
+
+
+
+ ///
+ /// 网络监控线程
+ ///
+ private void ListenNetMethod()
+ {
+ while (ThreadEnable)
+ {
+ Thread.Sleep(20000);
+ try
+ {
+ // 判断是否读取成功
+ var result = _MelsecMcNet.Read("D0", 1);
+ if (result.IsSuccess)
+ {
+
+ PLCLinkState = true;
+
+ }
+ else
+ {
+ PLCLinkState = false;
+ }
+
+ using (Ping ping = new Ping())
+ {
+ PingReply pingReply = ping.Send(ServerIP);
+ if (pingReply.Status == IPStatus.Success)
+ {
+ ServerLinkState = true;
+ }
+ else
+ {
+ ServerLinkState = false;
+ }
+ }
+ //Ping ping = new Ping();
+
+ //仪表状态
+ if (LocationInfo == MachineLocation.KP)
+ {
+ if (MeterSeria.IsOpen)
+ {
+ MeterSeriaPortLinkState = true;
+ }
+ else
+ {
+ MeterSeriaPortLinkState = false;
+ MeterSeria.Open();
+ }
+ }
+
+
+ this.BeginInvoke(new Action(() =>
+ {
+ if (PLCLinkState)
+ {
+ tslPLC.Text = "PLC连接:正常";
+ tslPLC.BackColor = Color.Green;
+ }
+ else
+ {
+ tslPLC.Text = "PLC连接:失败";
+ tslPLC.BackColor = Color.Red;
+ }
+
+
+ if (ServerLinkState)
+ {
+ tslServer.Text = "服务器线路:正常";
+ tslServer.BackColor = Color.Green;
+ }
+ else
+ {
+ tslServer.Text = "服务器线路:失败";
+ tslServer.BackColor = Color.Red;
+ }
+
+ if (LocationInfo == MachineLocation.KP)
+ {
+ if (MeterSeriaPortLinkState)
+ {
+ tslMeterSeria.Text = "西马量仪端口:打开";
+ tslMeterSeria.BackColor = Color.Green;
+ }
+ else
+ {
+ tslMeterSeria.Text = "西马量仪端口:关闭";
+ tslMeterSeria.BackColor = Color.Red;
+ }
+ }
+ else
+ {
+ tslMeterSeria.Text = "--";
+ tslMeterSeria.BackColor = Color.Green;
+ }
+
+
+ }));
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+ }
+
+ ///
+ /// PLC扫描数据
+ ///
+ private void PLCScanThreadMethod()
+ {
+ try
+ {
+ while (ThreadEnable)
+ {
+ Thread.Sleep(UIScan);
+
+
+ if (LocationInfo == MachineLocation.G)
+ {
+ OperateResultBit = _MelsecMcNet.ReadBool("M6000", 30);
+ if (OperateResultBit != null && OperateResultBit.IsSuccess == true)
+ {
+ //条码准备完毕信号
+ //pLCSglModel.CodeEnable = OperateResultBit.Content[20];
+ pLCSglModel.PalletPassEnable = OperateResultBit.Content[2];
+
+ pLCSglModel.TongZhiGuiEnable = OperateResultBit.Content[0];
+ }
+ }
+ else
+ {
+ //Todo
+ //OperateResultCylinderNo = _MelsecMcNet.ReadString("D10", 7);
+ //if (OperateResultCylinderNo != null && OperateResultCylinderNo.IsSuccess == true)
+ //{
+ // //当前的实时数据
+ // CurrentReadCylinderNo = OperateResultCylinderNo.Content.Trim();
+ //}
+
+ OperateResultBit = _MelsecMcNet.ReadBool("M6000", 30);
+ if (OperateResultBit != null && OperateResultBit.IsSuccess == true)
+ {
+ //条码准备完毕信号
+ //pLCSglModel.CodeEnable = OperateResultBit.Content[20];
+ pLCSglModel.PalletPassEnable = OperateResultBit.Content[2];
+
+ pLCSglModel.TongZhiGuiEnable = OperateResultBit.Content[0];
+ }
+ }
+
+
+
+ //OperateResultInt = _MelsecMcNet.ReadInt16("D0", 2);
+ //if (OperateResultInt != null && OperateResultInt.IsSuccess == true)
+ //{
+
+ //}
+
+ ////赋值给模型
+ //if (ProofRtEnableState)
+ //{
+ // foreach (var item in ListOpActionState)
+ // {
+ // if (item.Name != "电器盒")
+ // {
+ // //先赋值一个初始的On的值,后面循环给这个结果赋值
+ // ListStateModel.Find(a => a.Name == item.Name && a.Category == item.CurrentCategory).TempBitValue = true;
+ // foreach (var itemCell in ListStateModel.Find(a => a.Name == item.Name && a.Category == item.CurrentCategory).ListBitStateSgl)
+ // {
+ // ListStateModel.Find(a => a.Name == item.Name && a.Category == item.CurrentCategory).TempBitValue = ListStateModel.Find(a => a.Name == item.Name && a.Category == item.CurrentCategory).TempBitValue && itemCell.State;
+ // }
+
+ // //如果 端子连接器 C 并且光纤传感器为On的话,则不判断结果,此时结果不对的。
+ // if (ListStateModel.Find(a => a.Name == "端子连接器" && a.Category == "B").ListBitStateSgl.Find(a => a.SglName == "光纤传感器").State &&
+ // item.Name == "端子连接器" && item.CurrentCategory == "C"
+ // )
+ // {
+
+ // }
+ // else
+ // {
+ // ListStateModel.Find(a => a.Name == item.Name && a.Category == item.CurrentCategory).Result = ListStateModel.Find(a => a.Name == item.Name && a.Category == item.CurrentCategory).TempBitValue;
+ // }
+
+ // }
+ // else
+ // {
+ // ListStateModel.Find(a => a.Name == item.Name && a.Category == item.CurrentCategory).TempBitValue = true;
+ // foreach (var itemCell in ListStateModel.Find(a => a.Name == item.Name && a.Category == item.CurrentCategory).ListIntStateSgl)
+ // {
+ // ListStateModel.Find(a => a.Name == item.Name && a.Category == item.CurrentCategory).TempBitValue = ListStateModel.Find(a => a.Name == item.Name && a.Category == item.CurrentCategory).TempBitValue && (itemCell.State >= 4);
+ // }
+ // ListStateModel.Find(a => a.Name == item.Name && a.Category == item.CurrentCategory).Result = ListStateModel.Find(a => a.Name == item.Name && a.Category == item.CurrentCategory).TempBitValue;
+ // }
+
+ // }
+ //}
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void RtUpdateThreadMethod()
+ {
+ try
+ {
+ while (ThreadEnable)
+ {
+ Thread.Sleep(UIScan);
+
+
+
+
+ this.BeginInvoke(_UpdateUIDelegate);
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ ///
+ /// 用户登录
+ ///
+ ///
+ ///
+ private void btnLogin_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(txtUserName.Text))
+ {
+ MessageBox.Show("请输入用户名称", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return;
+ }
+ if (string.IsNullOrEmpty(txtPassword.Text))
+ {
+ MessageBox.Show("请输入密码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return;
+ }
+
+ var ListUser = FSqlContext.FDb.Select().Where(a => a.UserName == txtUserName.Text.Trim() && a.MachineName == CurrentMachineNameStr).ToList();
+ if (ListUser != null && ListUser.Count() > 0)
+ {
+ if (ListUser.FirstOrDefault().Password == txtPassword.Text.Trim())
+ {
+ MessageBox.Show("登录成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ Main_PopUserNameEvent(txtPassword.Text.Trim(), ListUser.FirstOrDefault().AccessLevel);
+
+ this.TabControlMain.SelectedIndex = 0;
+
+ txtUserName.Text = "";
+ txtPassword.Text = "";
+ //PopUserNameEvent(txtUserName.Text.Trim());
+ //this.Close();
+
+ }
+ else
+ {
+ MessageBox.Show("密码错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ else
+ {
+ MessageBox.Show("当前用户不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+
+ ///
+ /// 用户登录的事件发布方法
+ ///
+ ///
+ private void Main_PopUserNameEvent(string UserName, string UserLevel)
+ {
+ try
+ {
+ CurrentOperationNo = UserName;
+ CurrentOperationNoUserLevel = UserLevel;
+ Invoke(new Action(() =>
+ {
+ tslCurrentUser.Text = "当前用户:" + CurrentOperationNo;
+ tslCurrentUser.BackColor = Color.Green;
+ tslCurrentUser.ForeColor = Color.White;
+ }));
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ ///
+ /// 确认放行
+ ///
+ ///
+ ///
+ private void btnTruePass_Click(object sender, EventArgs e)
+ {
+
+ }
+
+ ///
+ /// 手动放行-空托盘放行
+ ///
+ ///
+ ///
+ private void btnHandPass_Click(object sender, EventArgs e)
+ {
+ _MelsecMcNet.Write("M11", true);
+
+ //btnHandPass.BackColor = Color.LimeGreen;
+
+ }
+
+ private void cbxProof_CheckStateChanged(object sender, EventArgs e)
+ {
+ //if (cbxProof.CheckState == CheckState.Checked)
+ //{
+ // ProofEnable = true;
+ // ConfigHelper.SetValue("ProofEnable", "True");
+
+ // //CurrentMeterEnableState = true;
+ // //txtUpperSdUpperDiff_Rt.ReadOnly = false;
+ // //btnUpperSdSaveCurrent.Enabled = true;
+ // //btnUpperSdSaveCurrent.Focus();
+ //}
+ //else
+ //{
+ // ProofEnable = false;
+ // ConfigHelper.SetValue("ProofEnable", "false");
+ // //CurrentMeterEnableState = false;
+ // //txtUpperSdUpperDiff_Rt.ReadOnly = true;
+ // //btnUpperSdSaveCurrent.Enabled = false;
+ // //txtUpperSdUpperDiffSave.Focus();
+ //}
+ }
+
+ private void btnBack_Click(object sender, EventArgs e)
+ {
+ TabControlMain.SelectedIndex = 0;
+ }
+
+ //private void cbxSystemProof_CheckStateChanged(object sender, EventArgs e)
+ //{
+ // if (cbxSystemProof.CheckState == CheckState.Checked)
+ // {
+ // //cbxProof.CheckState = CheckState.Checked;
+ // ProofEnable = true;
+ // ConfigHelper.SetValue("ProofEnable", "True");
+
+ // //CurrentMeterEnableState = true;
+ // //txtUpperSdUpperDiff_Rt.ReadOnly = false;
+ // //btnUpperSdSaveCurrent.Enabled = true;
+ // //btnUpperSdSaveCurrent.Focus();
+ // }
+ // else
+ // {
+ // //cbxProof.CheckState = CheckState.Unchecked;
+ // ProofEnable = false;
+ // ConfigHelper.SetValue("ProofEnable", "false");
+ // //CurrentMeterEnableState = false;
+ // //txtUpperSdUpperDiff_Rt.ReadOnly = true;
+ // //btnUpperSdSaveCurrent.Enabled = false;
+ // //txtUpperSdUpperDiffSave.Focus();
+ // }
+ //}
+
+ #region 按键的触发
+ private void txtEuroSeriesNo_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+ //通过需要调取欧式机构编号信息
+
+ if (!string.IsNullOrEmpty(txtEuroSeriesNo.Text.Trim()))
+ {
+ txtEuroNo.Text = txtEuroNoFirst.Text + txtEuroSeriesNo.Text.Trim() + txtEuroNoLast.Text;
+ }
+
+ txtStaticDiskNoW.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+
+
+ #endregion
+
+
+ #region 仪表通信
+
+ ///
+ /// 仪表串口通信初始化MeterSeria
+ ///
+ private void SerialPortLinkInitial(MachineLocation Location)
+ {
+ try
+ {
+ string SerialPort = "COM2";
+ int SerialRate = 9600;
+
+ switch (Location)
+ {
+ case MachineLocation.KP:
+ SerialPort = ConfigHelper.GetValue("KPSerialPort");
+ SerialRate = int.Parse(ConfigHelper.GetValue("KPSerialRate"));
+ //设置通讯端口号及波特率、数据位、停止位和校验位。N-8-1
+ MeterSeria.PortName = SerialPort;
+ MeterSeria.BaudRate = SerialRate;
+ MeterSeria.Parity = System.IO.Ports.Parity.None;
+ MeterSeria.DataBits = 8;
+ MeterSeria.StopBits = System.IO.Ports.StopBits.One;
+ //打开端口
+ MeterSeria.Open();
+ break;
+ case MachineLocation.G:
+ //SerialPort = ConfigHelper.GetValue("LowerSdPort");
+ //SerialRate = int.Parse(ConfigHelper.GetValue("LowerSdRate"));
+ //SerialPort = "Port3";
+ //SerialRate = 9600;
+ break;
+ default:
+ break;
+ }
+
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+
+ ///
+ /// 仪表接口数据
+ /// 触发时发送数据
+ ///
+ ///
+ ///
+ private void MeterSeria_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
+ {
+ try
+ {
+ // 接收数据
+ List buffer = new List();
+ byte[] data = new byte[1024];
+ while (true)
+ {
+ Thread.Sleep(20);
+ if (MeterSeria.BytesToRead < 1)
+ {
+ break;
+ }
+
+ int recCount = MeterSeria.Read(data, 0, Math.Min(MeterSeria.BytesToRead, data.Length));
+
+ byte[] buffer2 = new byte[recCount];
+ Array.Copy(data, 0, buffer2, 0, recCount);
+ buffer.AddRange(buffer2);
+ }
+
+ if (buffer.Count == 0) return;
+
+ MeterSourceData = SoftBasic.GetAsciiStringRender(buffer.ToArray());
+ _ReceiveMeterDataDelegate.BeginInvoke(MeterSourceData, null, null);//接收和处理数据程序
+
+ //if (MeterSeria.BytesToRead > 0)
+ //{
+ // Thread.Sleep(20);
+ // //RuntimeWeightValue = "";
+ // MeterSourceData = MeterSeria.ReadExisting().ToString();
+ // Console.WriteLine($"时间:{DateTime.Now.ToString()}-消息:{MeterSourceData}");
+ // //u = AllRuntimeWeightValue.Length;
+ // if (MeterSourceData.Length > 1)
+ // {
+ // _ReceiveMeterDataDelegate.BeginInvoke(MeterSourceData, null, null);//接收和处理数据程序
+ // //checkBoxCodeDataDelegate.BeginInvoke(BoxUseData, null, null);
+ // }
+ // MeterSeria.DiscardInBuffer();//丢弃缓冲区的数据
+
+ // //lblRuntimeCalcuResult.BeginInvoke(updateCalcuResultData, new object[] { 3 });
+
+ //}
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+
+ }
+
+ ///
+ /// 当前生成的Gap值
+ ///
+ private GapData CurGenGapData { get; set; }
+
+ ///
+ /// 仪表消息流数据
+ ///
+ private StringBuilder MeterMsgStream { get; set; } = new StringBuilder();
+
+ ///
+ /// 仪表数据接收信息状态
+ /// 每个产品有要做两次,第一次是标准的产品的,获取分组信息
+ /// 第二次是获取测量信息
+ ///
+ private string MeterDataState { get; set; } = "L1";
+
+ ///
+ /// 测量标准件的分组信息
+ ///
+ private string MeterDataStandardGroup { get; set; }
+
+ ///
+ /// 是否进行间隙的检测
+ ///
+ private bool IsCheckMeterGap { get; set; } = false;
+
+ ///
+ /// 接受仪表发动的数据
+ ///
+ ///
+ private void ReceiveMeterDataMethod(string data)
+ {
+ if (!string.IsNullOrEmpty(data))
+ {
+
+ //logger.Error(data);
+ //string result = Encoding.Default.GetString(data.ToHexBytes());
+ //TODO解析数据-解析方法-分类
+ //截取两个头和尾部字符串
+ //if (data.StartsWith("CC"))
+ //{
+ //}
+
+ if (MeterDataState == "L1")
+ {
+ //当前是获取标准件的分组信息
+ var ArrData = data.Split(',');
+ if (ArrData.Length > 16)
+ {
+ //获取分组信息
+ MeterDataStandardGroup = ArrData[13].Trim();
+ MeterDataState = "L2";
+ BeginInvoke(new Action(() =>
+ {
+ lblMeterDataState.Text = "等待测量件";
+ }));
+ }
+ }
+ else if (MeterDataState == "L2")
+ {
+ //当前是获取标准件的分组信息
+ var ArrData = data.Split(',');
+ if (ArrData.Length > 16)
+ {
+ CurGenGapData = new GapData()
+ {
+ Gap = ArrData[4].Trim(),
+ Group = MeterDataStandardGroup,// ArrData[13].Trim(),
+ //Result = ArrData[12].Trim(),
+ Result = ArrData[8].Trim(),
+ Time = DateTime.Now,
+ TimeId = DateTime.Now.ToString("yyyyMMddHHmmssfff")
+ };
+
+ ListGapData.Add(CurGenGapData);
+
+ MeterDataState = "L1";
+ BeginInvoke(new Action(() =>
+ {
+ InsertLvGapResult(CurGenGapData.Gap, CurGenGapData.Result, CurGenGapData.Group, CurGenGapData.TimeId);
+ lblMeterDataState.Text = "等待标准件";
+ }));
+ }
+ }
+
+
+ }
+ else
+ {
+
+ }
+ }
+
+
+ #endregion
+
+ private void txtStaticDiskNoW_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+ if (!string.IsNullOrEmpty(txtStaticDiskNoW.Text.Trim()))
+ {
+ txtDynStaticDiskNo.Text = txtStaticDiskFirst.Text + txtStaticDiskNoW.Text.Trim() + txtStaticDiskLast.Text;
+ }
+
+ txtEuroCastNo.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void txtEuroCastNo_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+ //if (!CurrentMeterEnableState)//不启用仪表需要检查手动输入的数据
+ //{
+
+ //}
+
+ txtStaticDiskCastNo.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void txtStaticDiskCastNo_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+ //if (!CurrentMeterEnableState)//不启用仪表需要检查手动输入的数据
+ //{
+
+ //}
+
+ if (LocationInfo == MachineLocation.KP)
+ {
+ txtExhCoveBatch.Focus();
+ }
+ else
+ {
+ btnTrue.Focus();
+ }
+
+
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ ///
+ /// CylinderNoLast5 操作的话,则证明扫码枪异常,是人工手动输入的信息
+ /// 此时输入完成后,代表条码准备完毕
+ ///
+ ///
+ ///
+ private void txtCylinderNoLast5_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+ //条码人工输入完毕,进行操作
+ //获取机种番号
+ if (string.IsNullOrEmpty(txtCylinderNoFirst8.Text.Trim()))
+ {
+ MessageBox.Show("【筒体号前8位】未发现输入数据,请确认!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ return;
+ }
+ if (txtCylinderNoFirst8.Text.Trim().Length != 8)
+ {
+ MessageBox.Show("【筒体号前8位】未满足8位数据,请确认!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrEmpty(txtCylinderNoLast5.Text.Trim()))
+ {
+ MessageBox.Show("【筒体号后5位】未发现输入数据,请确认!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ return;
+ }
+ if (txtCylinderNoLast5.Text.Trim().Length != 5)
+ {
+ MessageBox.Show("【筒体号后5位】未满足5位数据,请确认!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ return;
+ }
+
+ CurrentReadCylinderNo = txtCylinderNoFirst8.Text.Trim() + txtCylinderNoLast5.Text.Trim();
+ //赋值数据
+ txtCylinderNo.Text = CurrentReadCylinderNo;
+ CurrentModelNo = CurrentReadCylinderNo.Substring(0, 4);
+ //数据读取成功后,控制焦点,等待让操作人员输入数据
+ txtEuroSeriesNo.Focus();
+
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+
+ #region 特殊处理
+
+ ///
+ /// 间隙数据集合
+ ///
+ private List ListGapData { get; set; } = new List();
+
+ ///
+ /// 选中的Gap
+ ///
+ private GapData SelectedGapData { get; set; }
+
+ ///
+ /// 加载数据
+ ///
+ private void LoadLvGapColumn()
+ {
+ ColumnHeader h0 = new ColumnHeader();
+ ColumnHeader h1 = new ColumnHeader();
+ ColumnHeader h2 = new ColumnHeader();
+ ColumnHeader h3 = new ColumnHeader();
+ ColumnHeader h4 = new ColumnHeader();
+ ColumnHeader h5 = new ColumnHeader();
+ ColumnHeader h6 = new ColumnHeader();
+ ColumnHeader h7 = new ColumnHeader();
+ ColumnHeader h8 = new ColumnHeader();
+ ColumnHeader h9 = new ColumnHeader();
+ ColumnHeader h10 = new ColumnHeader();
+ ColumnHeader h11 = new ColumnHeader();
+ ColumnHeader h12 = new ColumnHeader();
+ ColumnHeader h13 = new ColumnHeader();
+
+ h1.TextAlign = HorizontalAlignment.Center;
+ h2.TextAlign = HorizontalAlignment.Center;
+ h3.TextAlign = HorizontalAlignment.Center;
+ h4.TextAlign = HorizontalAlignment.Center;
+ h5.TextAlign = HorizontalAlignment.Center;
+ h6.TextAlign = HorizontalAlignment.Center;
+ h7.TextAlign = HorizontalAlignment.Center;
+ h8.TextAlign = HorizontalAlignment.Center;
+ h9.TextAlign = HorizontalAlignment.Center;
+ h10.TextAlign = HorizontalAlignment.Center;
+ h11.TextAlign = HorizontalAlignment.Center;
+ h12.TextAlign = HorizontalAlignment.Center;
+ h13.TextAlign = HorizontalAlignment.Center;
+
+ h0.Width = 20;
+ h1.Width = 100;
+ h2.Width = 90;
+ h3.Width = 90;
+ h4.Width = 0;
+ h5.Width = 420;
+ h6.Width = 150;
+ h7.Width = 0;
+ h8.Width = 0;
+ h9.Width = 40;
+ h10.Width = 100;
+ h11.Width = 100;
+ h12.Width = 100;
+ h13.Width = 0;
+
+ h0.Text = "";
+ h1.Text = "间隙";
+ h2.Text = "结论";
+ h3.Text = "分组";
+ h4.Text = "";
+ h5.Text = "";
+ h6.Text = "";
+ h7.Text = "";
+ h8.Text = "";
+ h9.Text = "";
+
+ h10.Text = "";
+ h11.Text = "";
+ h12.Text = "";
+ h13.Text = "";
+ //h14.Text = "";
+
+ LvGap.Columns.AddRange(new ColumnHeader[] { h0, h1, h2, h3, h4 });
+ LvGap.View = View.Details;
+ }
+
+ ///
+ /// 插入数据
+ ///
+ ///
+ ///
+ ///
+ private void InsertLvGapResult(string Gap, string Result, string Gorup, string TimeId)
+ {
+ ListViewItem lvi = new ListViewItem();
+ lvi.ImageIndex = 0;
+ lvi.Text = "";
+ lvi.SubItems.Add(Gap.ToString());
+ lvi.SubItems.Add(Result.ToString());
+ lvi.SubItems.Add(Gorup.ToString());
+ lvi.SubItems.Add(TimeId.ToString());
+ this.LvGap.Items.Add(lvi);
+ }
+
+
+ ///
+ /// 加载数据
+ ///
+ private void LoadLvGapData()
+ {
+ LvGap.Items.Clear();
+ //InitialLoadList.Clear();
+ //加载数据
+
+ if (ListGapData.Count > 0)
+ {
+ var data = ListGapData.OrderBy(a => a.Time).ToList();
+ foreach (var item in data)
+ {
+ InsertLvGapResult(item.Gap,
+ item.Result,
+ item.Result,
+ item.TimeId
+ );
+ }
+
+ }
+ }
+
+ ///
+ /// 选中LvGap 改变
+ ///
+ ///
+ ///
+ private void LvGap_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (LvGap.SelectedIndices.Count > 0 && LvGap.SelectedIndices != null && LvGap.FocusedItem != null)
+ {
+ SelectedGapData = new GapData();
+ SelectedGapData.Gap = LvGap.FocusedItem.SubItems[1].Text;
+ SelectedGapData.Result = LvGap.FocusedItem.SubItems[2].Text;
+ SelectedGapData.Group = LvGap.FocusedItem.SubItems[3].Text;
+ SelectedGapData.TimeId = LvGap.FocusedItem.SubItems[4].Text;
+
+ }
+ }
+
+
+
+ #endregion
+
+ ///
+ /// 提交数据
+ ///
+ ///
+ ///
+ private void btnTrue_Click(object sender, EventArgs e)
+ {
+ if (lblTongZhiGui.BackColor != Color.LimeGreen)
+ {
+ MessageBox.Show("请检查通止规信息!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ return;
+ }
+
+
+ //返回的数据
+ int ReturnData = 0;
+
+ if (LocationInfo == MachineLocation.KP)
+ {
+
+ if (string.IsNullOrEmpty(txtCylinderNo.Text.Trim()))
+ {
+ MessageBox.Show("请检查筒体号是否有空的数据!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ return;
+ }
+ if (string.IsNullOrEmpty(txtDynStaticDiskNo.Text.Trim()))
+ {
+ MessageBox.Show("请检查动盘号是否有空的数据!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ return;
+ }
+ if (string.IsNullOrEmpty(txtEuroNo.Text.Trim()))
+ {
+ MessageBox.Show("请检查欧式机构编号是否有空的数据!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ return;
+ }
+ if (string.IsNullOrEmpty(txtStaticDiskCastNo.Text.Trim()))
+ {
+ MessageBox.Show("请检查欧式机构铸件号是否有空的数据!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ return;
+ }
+
+
+ if (IsCheckMeterGap)
+ {
+ if (string.IsNullOrEmpty(CurGapData.Gap.Trim()))
+ {
+ MessageBox.Show("请检查工件间隙值是否有空的数据!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ return;
+ }
+ if (string.IsNullOrEmpty(CurGapData.Group.Trim()))
+ {
+ MessageBox.Show("请检查工件分组是否有空的数据!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ return;
+ }
+ if (string.IsNullOrEmpty(CurGapData.Result.Trim()))
+ {
+ MessageBox.Show("请检查工件结果是否有空的数据!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ return;
+ }
+ }
+
+
+ ReturnData = FSqlContext.FDb.Insert(new KPDynStaticMach()
+ {
+ CylinderNo = txtCylinderNo.Text.Trim(),
+ DynaDiskNo = txtDynStaticDiskNo.Text.Trim(),
+ EuropMacine = txtEuroNo.Text.Trim(),
+ OpNo = CurrentOperationNo,
+ StaDskCastNo = txtStaticDiskCastNo.Text.Trim(),
+ StaticDiskNo = txtDynStaticDiskNo.Text.Trim(),
+ EuopMaDifValue = txtOtherGapValue.Text,
+ CreateTime = DateTime.Now,
+ MeterGap = CurGapData.Gap,
+ MeterGroup = CurGapData.Group,
+ MeterResult = CurGapData.Result
+
+ //BracketOil = GetRbValue(rbPartCountOK, rbPartCountNG),
+ //DynStaticNoBreak = GetRbValue(rbDynStaticNoBreakOK, rbDynStaticNoBreakNG),
+ //DynStaticNoSame = GetRbValue(rbDynStaticNoSameOK, rbDynStaticNoSameNG),
+ //PartCount = GetRbValue(rbPartCountOK, rbPartCountNG),
+ //SpiralScrew = GetRbValue(rbSpiralScrewOK, rbSpiralScrewNG),
+ //LiquidInjeMach = GetRbValue(rbLiquidInjeMachOK, rbLiquidInjeMachNG),
+ //CylinderNo = txtCylinderNo.Text.Trim(),
+ //DynStaticDiskNo = txtDynStaticDiskNo.Text.Trim(),
+ //EuroCastNo = txtEuroCastNo.Text.Trim(),
+ //EuroNo = txtEuroNo.Text.Trim(),
+ //EuroSeriesNo = txtEuroSeriesNo.Text.Trim(),
+ //OtherBracket = txtOtherBracket.Text.Trim(),
+ //OtherDynDisk = txtOtherDynDisk.Text.Trim(),
+ //OtherEuro = txtOtherEuro.Text.Trim(),
+ //OtherGapGroup = txtOtherGapGroup.Text.Trim(),
+ //OtherGapResult = "",
+ //OtherGapValue = "",
+ //StaticDiskCastNo = txtStaticDiskCastNo.Text.Trim(),
+ //StaticDiskNoW = txtStaticDiskNoW.Text.Trim(),
+
+ }).ExecuteAffrows();
+
+ if (ReturnData > 0)
+ {
+ lblSubmitMsg.Visible = true;
+ txtCylinderNo.Text = "";
+ //提交数据成功,发送托盘放行
+ _MelsecMcNet.Write("M6001", true);
+ }
+ }
+ else
+ {
+ if (string.IsNullOrEmpty(txtCylinderNo.Text.Trim()))
+ {
+ MessageBox.Show("请检查筒体号是否有空的数据!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ return;
+ }
+ if (string.IsNullOrEmpty(txtDynStaticDiskNo.Text.Trim()))
+ {
+ MessageBox.Show("请检查动盘号是否有空的数据!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ return;
+ }
+ if (string.IsNullOrEmpty(txtEuroNo.Text.Trim()))
+ {
+ MessageBox.Show("请检查欧式机构编号是否有空的数据!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ return;
+ }
+ if (string.IsNullOrEmpty(txtStaticDiskCastNo.Text.Trim()))
+ {
+ MessageBox.Show("请检查欧式机构铸件号是否有空的数据!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ return;
+ }
+
+
+ //GDynStaticMach
+ ReturnData = FSqlContext.FDb.Insert(new GDynStaticMach()
+ {
+ CylinderNo = txtCylinderNo.Text.Trim(),
+ DynaDiskNo = txtDynStaticDiskNo.Text.Trim(),
+ EuropMacine = txtEuroNo.Text.Trim(),
+ OpNo = CurrentOperationNo,
+ StaDskCastNo = txtStaticDiskCastNo.Text.Trim(),
+ StaticDiskNo = txtStaticDiskCastNo.Text.Trim(),
+ CreateTime = DateTime.Now,
+
+ }).ExecuteAffrows();
+
+ if (ReturnData > 0)
+ {
+ lblSubmitMsg.Visible = true;
+ txtCylinderNo.Text = "";
+
+ //提交数据成功,发送托盘放行
+ _MelsecMcNet.Write("M6001", true);
+ }
+ }
+
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (ReturnData > 0)
+ {
+
+
+ txtCylinderNo.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+
+ }
+
+ private void txtCylinderNo_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+ if (txtCylinderNo.Text.Length > 4)
+ {
+
+ var Data = ListDynStatDiskModel.Where(a => a.ModelNo == txtCylinderNo.Text.Trim().Substring(0, 4)).ToList();
+ if (Data != null && Data.Count > 0)
+ {
+
+ //判定首字符是否能匹配
+ if (!string.IsNullOrEmpty(txtStaticDiskFirst.Text.Trim()))
+ {
+ if (Data.FirstOrDefault().DynStatDiskKeyMatch != txtStaticDiskFirst.Text.Substring(0, 1))
+ {
+ MessageBox.Show("动静盘编号首字符未匹配!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ txtCylinderNo.Focus();
+ return;
+ }
+ }
+ else
+ {
+ MessageBox.Show("静盘编号前缀为空,请输入后再进行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ txtCylinderNo.Focus();
+ return;
+ }
+
+
+ if (Data.FirstOrDefault().GapInfo == "检测")
+ {
+ IsCheckMeterGap = true;
+
+ BeginInvoke(new Action(() =>
+ {
+ PanelGap.Enabled = true;
+ PanelRight.Enabled = true;
+
+ lblCylinderNoAlarmMsg.Visible = false;
+
+ //进行间隙数据的移位
+ if (LvGap.Items.Count > 0)
+ {
+ txtOtherGapGroup.Text = LvGap.Items[0].SubItems[3].Text;
+ txtOtherGapValue.Text = LvGap.Items[0].SubItems[1].Text;
+ //txtOtherResult.Text=LvGap.Items[0].SubItems[2].Text;
+
+ CurGapData.Group = LvGap.Items[0].SubItems[3].Text;
+ CurGapData.Gap = LvGap.Items[0].SubItems[1].Text;
+ CurGapData.Result = LvGap.Items[0].SubItems[2].Text;
+
+ var findata = ListGapData.Find(a => a.TimeId == LvGap.Items[0].SubItems[4].Text);
+ if (findata != null)
+ {
+ ListGapData.Remove(findata);
+
+ LvGap.Items.RemoveAt(LvGap.Items[0].Index);
+ //LvGap.Update();
+ }
+ }
+ else
+ {
+ //MessageBox.Show("没有检测的间隙数据?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ }
+
+ }));
+ }
+ else
+ {
+ IsCheckMeterGap = false;
+
+ BeginInvoke(new Action(() =>
+ {
+ PanelGap.Enabled = false;
+ PanelRight.Enabled = false;
+
+ lblCylinderNoAlarmMsg.Visible = false;
+ }));
+ }
+
+ txtEuroSeriesNo.Focus();
+ }
+ else
+ {
+ BeginInvoke(new Action(() =>
+ {
+ lblCylinderNoAlarmMsg.Visible = true;
+ lblCylinderNoAlarmMsg.Text = "未找到配置机种信息,无法知道是否需要检测数据";
+ }));
+
+ txtEuroSeriesNo.Focus();
+ //lblCylinderNoAlarmMsg
+ }
+
+
+ //MessageBox.Show("您在textBox1里按下了回车键");
+ }
+ else
+ {
+ BeginInvoke(new Action(() =>
+ {
+ lblCylinderNoAlarmMsg.Visible = true;
+ lblCylinderNoAlarmMsg.Text = "筒体号长度不足,无法解析机种信息";
+ }));
+
+ txtCylinderNo.Focus();
+ }
+
+
+
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+
+ private string GetRbValue(RadioButton Ok, RadioButton Ng)
+ {
+ if (!Ok.Checked)
+ {
+ return "OK";
+ }
+ return "NG";
+
+ }
+
+ #region Radio选项数据焦点数据
+
+ private void rbPartCountNG_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void rbBracketOilNG_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void rbSpiralScrewNG_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void rbDynStaticNoSameNG_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void rbDynStaticNoBreakNG_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void rbLiquidInjeMachNG_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+
+
+ private void rbBracketOilOK_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void rbSpiralScrewOK_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void rbDynStaticNoSameOK_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void rbDynStaticNoBreakOK_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void rbLiquidInjeMachOK_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+
+ #endregion
+
+
+ private void rbPartCountOK_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+
+ ///
+ /// 更新或者插入数据
+ ///
+ private void UpdateOrInsert(string MachineName, string AttributeName, string AttributeValue)
+ {
+ var Data = FSqlContext.FDb.Select().Where(a => a.MachineName == MachineName && a.AttributeName == AttributeName).OrderByDescending(a => a.CreateTime).ToList();
+ if (Data != null && Data.Count > 0)
+ {
+ FSqlContext.FDb.Update()
+ .Set(a => a.AttributeValue, AttributeValue)
+ .Where(a => a.MachineName == MachineName && a.AttributeName == AttributeName)
+ .ExecuteAffrows();
+ }
+ else
+ {
+ FSqlContext.FDb.Insert(new LastStateInfo()
+ {
+ AttributeName = AttributeName,
+ MachineName = MachineName,
+ AttributeValue = AttributeValue
+ }).ExecuteAffrows();
+ }
+ }
+
+ private void Main_FormClosed(object sender, FormClosedEventArgs e)
+ {
+ ThreadEnable = false;
+ // 断开连接
+ _MelsecMcNet?.ConnectClose();
+ }
+
+ private void btnLVGapDelete_Click(object sender, EventArgs e)
+ {
+ if (LvGap.SelectedIndices != null && LvGap.SelectedIndices.Count > 0 && SelectedGapData != null)
+ {
+ var findata = ListGapData.Find(a => a.TimeId == SelectedGapData.TimeId);
+ if (findata != null)
+ {
+ ListGapData.Remove(findata);
+ SelectedGapData = null;
+
+ LvGap.Items.RemoveAt(LvGap.SelectedItems[0].Index);
+ //LvGap.Update();
+ }
+ }
+ else
+ {
+ MessageBox.Show("请选中后再操作!", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ }
+ }
+
+ private void button1_Click(object sender, EventArgs e)
+ {
+ ReceiveMeterDataMethod("+00.0000,+00.0000,+00.0000, ,+00.0000, , , , OK, -OK, -OK, -OK, OK, -OK, OK, OK, OK,01,098,2024-08-23,16:12:47");
+ }
+
+ private void btnMove_Click(object sender, EventArgs e)
+ {
+ if (!string.IsNullOrEmpty(txtOtherGapGroup.Text.Trim()))
+ {
+ //不为空时方式多次Move,把数据都移除完了并删除了,理论上来说,一个产品只能移动一个
+ if (DialogResult.Cancel == MessageBox.Show("检测到当前【间隙信息】已经存在,是否还要继续?点击【确定】则继续,点击【取消】则中止", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning))
+ {
+ return;
+ }
+ }
+
+ if (LvGap.Items.Count > 0)
+ {
+ txtOtherGapGroup.Text = LvGap.Items[0].SubItems[3].Text;
+ txtOtherGapValue.Text = LvGap.Items[0].SubItems[1].Text;
+ //txtOtherResult.Text=LvGap.Items[0].SubItems[2].Text;
+
+ CurGapData.Group = LvGap.Items[0].SubItems[3].Text;
+ CurGapData.Gap = LvGap.Items[0].SubItems[1].Text;
+ CurGapData.Result = LvGap.Items[0].SubItems[2].Text;
+
+ var findata = ListGapData.Find(a => a.TimeId == LvGap.Items[0].SubItems[4].Text);
+ if (findata != null)
+ {
+ ListGapData.Remove(findata);
+
+ LvGap.Items.RemoveAt(LvGap.Items[0].Index);
+ //LvGap.Update();
+ }
+ }
+ else
+ {
+ MessageBox.Show("没有检测的间隙数据?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
+ }
+
+
+ }
+
+ private void txtOtherDynDisk_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ txtOtherEuro.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void txtOtherEuro_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ txtOtherBracket.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void txtOtherBracket_KeyDown(object sender, KeyEventArgs e)
+ {
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void btnOtherDelete_Click(object sender, EventArgs e)
+ {
+ txtOtherGapGroup.Text = "";
+ txtOtherGapValue.Text = "";
+
+ }
+
+ private void txtExhCoveBatch_KeyDown(object sender, KeyEventArgs e)
+ {
+ //LocationInfo
+ try
+ {
+ //if条件检测按下的是不是Enter键
+ if (e.KeyCode == Keys.Enter)
+ {
+
+
+ btnTrue.Focus();
+ //MessageBox.Show("您在textBox1里按下了回车键");
+
+ }
+ }
+ catch (Exception ex)
+ {
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ //insertLogToDBDelegate.BeginInvoke(1, "UpdateUIMethod异常", ex.Message.ToString() + ex.StackTrace.Substring(ex.StackTrace.Length - 40, 40), null, null);
+ }
+ }
+
+ private void cbxDefaultOK_CheckStateChanged(object sender, EventArgs e)
+ {
+
+ }
+
+ private void txtEuroSeriesNo_Enter(object sender, EventArgs e)
+ {
+ txtEuroSeriesNo.BackColor = Color.SkyBlue;
+ }
+
+ private void txtEuroSeriesNo_Leave(object sender, EventArgs e)
+ {
+ txtEuroSeriesNo.BackColor=SystemColors.Window;
+ }
+
+ private void txtStaticDiskNoW_Enter(object sender, EventArgs e)
+ {
+ txtStaticDiskNoW.BackColor = Color.SkyBlue;
+ }
+
+ private void txtStaticDiskNoW_Leave(object sender, EventArgs e)
+ {
+ txtStaticDiskNoW.BackColor = SystemColors.Window;
+ }
+
+ private void txtCylinderNo_Enter(object sender, EventArgs e)
+ {
+ txtCylinderNo.BackColor = Color.SkyBlue;
+ }
+
+ private void txtCylinderNo_Leave(object sender, EventArgs e)
+ {
+ txtCylinderNo.BackColor = SystemColors.Window;
+ }
+
+ private void txtEuroCastNo_Enter(object sender, EventArgs e)
+ {
+ txtEuroCastNo.BackColor = Color.SkyBlue;
+ }
+
+ private void txtEuroCastNo_Leave(object sender, EventArgs e)
+ {
+ txtEuroCastNo.BackColor = SystemColors.Window;
+ }
+
+ private void txtStaticDiskCastNo_Enter(object sender, EventArgs e)
+ {
+ txtStaticDiskCastNo.BackColor = Color.SkyBlue;
+ }
+
+ private void txtStaticDiskCastNo_Leave(object sender, EventArgs e)
+ {
+ txtStaticDiskCastNo.BackColor = SystemColors.Window;
+ }
+
+ private void txtExhCoveBatch_Enter(object sender, EventArgs e)
+ {
+ txtExhCoveBatch.BackColor = Color.SkyBlue;
+ }
+
+ private void txtExhCoveBatch_Leave(object sender, EventArgs e)
+ {
+ txtExhCoveBatch.BackColor = SystemColors.Window;
+ }
+ }
+}
diff --git a/EleBox.App/Main.resx b/EleBox.App/Main.resx
new file mode 100644
index 0000000..de701da
--- /dev/null
+++ b/EleBox.App/Main.resx
@@ -0,0 +1,1302 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ 17, 17
+
+
+ 259, 17
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACm
+ BwAAAk1TRnQBSQFMAwEBAAFQAQABUAEAARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
+ AUADAAEQAwABAQEAAQgGAAEEGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
+ AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
+ AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
+ AwABmQMAAcwCAAEzAwACMwIAATMBZgIAATMBmQIAATMBzAIAATMB/wIAAWYDAAFmATMCAAJmAgABZgGZ
+ AgABZgHMAgABZgH/AgABmQMAAZkBMwIAAZkBZgIAApkCAAGZAcwCAAGZAf8CAAHMAwABzAEzAgABzAFm
+ AgABzAGZAgACzAIAAcwB/wIAAf8BZgIAAf8BmQIAAf8BzAEAATMB/wIAAf8BAAEzAQABMwEAAWYBAAEz
+ AQABmQEAATMBAAHMAQABMwEAAf8BAAH/ATMCAAMzAQACMwFmAQACMwGZAQACMwHMAQACMwH/AQABMwFm
+ AgABMwFmATMBAAEzAmYBAAEzAWYBmQEAATMBZgHMAQABMwFmAf8BAAEzAZkCAAEzAZkBMwEAATMBmQFm
+ AQABMwKZAQABMwGZAcwBAAEzAZkB/wEAATMBzAIAATMBzAEzAQABMwHMAWYBAAEzAcwBmQEAATMCzAEA
+ ATMBzAH/AQABMwH/ATMBAAEzAf8BZgEAATMB/wGZAQABMwH/AcwBAAEzAv8BAAFmAwABZgEAATMBAAFm
+ AQABZgEAAWYBAAGZAQABZgEAAcwBAAFmAQAB/wEAAWYBMwIAAWYCMwEAAWYBMwFmAQABZgEzAZkBAAFm
+ ATMBzAEAAWYBMwH/AQACZgIAAmYBMwEAA2YBAAJmAZkBAAJmAcwBAAFmAZkCAAFmAZkBMwEAAWYBmQFm
+ AQABZgKZAQABZgGZAcwBAAFmAZkB/wEAAWYBzAIAAWYBzAEzAQABZgHMAZkBAAFmAswBAAFmAcwB/wEA
+ AWYB/wIAAWYB/wEzAQABZgH/AZkBAAFmAf8BzAEAAcwBAAH/AQAB/wEAAcwBAAKZAgABmQEzAZkBAAGZ
+ AQABmQEAAZkBAAHMAQABmQMAAZkCMwEAAZkBAAFmAQABmQEzAcwBAAGZAQAB/wEAAZkBZgIAAZkBZgEz
+ AQABmQEzAWYBAAGZAWYBmQEAAZkBZgHMAQABmQEzAf8BAAKZATMBAAKZAWYBAAOZAQACmQHMAQACmQH/
+ AQABmQHMAgABmQHMATMBAAFmAcwBZgEAAZkBzAGZAQABmQLMAQABmQHMAf8BAAGZAf8CAAGZAf8BMwEA
+ AZkBzAFmAQABmQH/AZkBAAGZAf8BzAEAAZkC/wEAAcwDAAGZAQABMwEAAcwBAAFmAQABzAEAAZkBAAHM
+ AQABzAEAAZkBMwIAAcwCMwEAAcwBMwFmAQABzAEzAZkBAAHMATMBzAEAAcwBMwH/AQABzAFmAgABzAFm
+ ATMBAAGZAmYBAAHMAWYBmQEAAcwBZgHMAQABmQFmAf8BAAHMAZkCAAHMAZkBMwEAAcwBmQFmAQABzAKZ
+ AQABzAGZAcwBAAHMAZkB/wEAAswCAALMATMBAALMAWYBAALMAZkBAAPMAQACzAH/AQABzAH/AgABzAH/
+ ATMBAAGZAf8BZgEAAcwB/wGZAQABzAH/AcwBAAHMAv8BAAHMAQABMwEAAf8BAAFmAQAB/wEAAZkBAAHM
+ ATMCAAH/AjMBAAH/ATMBZgEAAf8BMwGZAQAB/wEzAcwBAAH/ATMB/wEAAf8BZgIAAf8BZgEzAQABzAJm
+ AQAB/wFmAZkBAAH/AWYBzAEAAcwBZgH/AQAB/wGZAgAB/wGZATMBAAH/AZkBZgEAAf8CmQEAAf8BmQHM
+ AQAB/wGZAf8BAAH/AcwCAAH/AcwBMwEAAf8BzAFmAQAB/wHMAZkBAAH/AswBAAH/AcwB/wEAAv8BMwEA
+ AcwB/wFmAQAC/wGZAQAC/wHMAQACZgH/AQABZgH/AWYBAAFmAv8BAAH/AmYBAAH/AWYB/wEAAv8BZgEA
+ ASEBAAGlAQADXwEAA3cBAAOGAQADlgEAA8sBAAOyAQAD1wEAA90BAAPjAQAD6gEAA/EBAAP4AQAB8AH7
+ Af8BAAGkAqABAAOAAwAB/wIAAf8DAAL/AQAB/wMAAf8BAAH/AQAC/wIAA/8HAAXaOQAJ2jYAC9o0AAXa
+ AgAG2jMABdoDAAXaMgAG2gIAB9oxAAbaAgAH2jEABdoDAAHoBtoxAAbaAf8CAAbaMQAP2jEAAf8G2gEA
+ AboF2jMABtoCAAXaNAAG2gEZBNo2AAnaOAAB/wXadQABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEA
+ AQEFAAGAFwAD/wEAAfwBHwYAAfABBwYAAeABAwYAAcEBgQYAAsEGAAGBAYAGAAGBAYAGAAGDAYAGAAGA
+ AcAGAAGABwABgAGBBgABwAHBBgAB4AEDBgAB8AEHBgAB+AEfBgAC/wYACw==
+
+
+
+ 140, 17
+
+
+
+
+ AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABMLAAATCwAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAWAAAAJgAAADUAAABLAAAAXAAAAGoAAABpAAAAaQAA
+ AGkAAABpAAAAagAAAFwAAABLAAAANQAAACYAAAAWAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAkAAAATgAAAH4AAACqAAAAywAA
+ AOEAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAA
+ AOEAAADLAAAAqgAAAH4AAABOAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAA
+ AFQAAACQAAAA0QAAAO8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAA0QAA
+ AJAAAABUAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAdAAAAYAAAAK8AAADrAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADrAAAArwAAAGAAAAAdAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABDAAAAnwAAAOgAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAACfAAAAQwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAwAAABjAAAAxwAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AgUA/wMJAP8FDgD/BQ4A/wUOAP8FDgD/BQ4A/wUNAP8DCQD/AgQA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD+AAAAxwAAAGMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABnAAAA1AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8FDAD/DB4A/xU0AP8dTAD/JmIA/ytwAP8wfAD/M4UA/zaP
+ AP83kQD/N5IA/zeRAP82kAD/No4A/zOEAP8wfAD/Km8A/yZhAP8dSwD/FDQA/wweAP8FDAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANQAAABnAAAADgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABbAAAA0gAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAoA/xAoAP8cRwD/K2sA/zSC
+ AP85kgD/PJoA/z2cAP89nwD/Pp8A/z2gAP89oAD/PaEA/z6jAP8+pAD/PqMA/z2iAP89oAD/PZ8A/z2f
+ AP89ngD/PZ0A/z2bAP88mQD/OZEA/zSCAP8ragD/HEcA/xAoAP8ECgD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADSAAAAWwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAA5AAAAugAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8FDAD/FDEA/yVcAP8zfgD/Oo4A/zuVAP88lAD/O5QA/zqVAP86lQD/O5cA/zuZAP88mgD/PJwA/zyd
+ AP88nwD/PaEA/z2iAP89oQD/PKAA/zyeAP88nAD/PJsA/zuZAP87lwD/O5YA/zqUAP86lAD/O5MA/zuU
+ AP87lAD/Oo4A/zN9AP8lXAD/FDEA/wUMAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAAugAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAiAAAAPMAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wECAP8NIQD/IlIA/zJ6AP85iwD/Oo8A/zqNAP85jQD/OY8A/zqQ
+ AP86kgD/OpQA/zqVAP87lwD/O5kA/zyaAP88nAD/PJ0A/zyfAP89oQD/PaIA/z2hAP88oAD/PJ4A/zyc
+ AP88mwD/O5kA/zuXAP87lgD/OpQA/zqTAP86kQD/OZAA/zmOAP85jgD/Oo0A/zqOAP85igD/MnkA/yJR
+ AP8NIQD/AQIA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAIgAAAAPAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAPQAAAMoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIGAP8TLgD/KmQA/zeD
+ AP86igD/OYkA/ziIAP84igD/OYsA/zmNAP85jwD/OpAA/zqSAP86lAD/OpUA/zuXAP87mQD/PJkA/z2b
+ AP89nAD/PZ4A/z6gAP8+oAD/Pp8A/z2fAP89nQD/PZsA/z2aAP87mAD/O5cA/zuWAP86lAD/OpMA/zqR
+ AP85kAD/OY4A/zmNAP85iwD/OIkA/ziHAP85iAD/OokA/zeDAP8qZAD/Ey0A/wIGAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAMoAAAA9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAHcAAAD0AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wIEAP8VMgD/LWoA/ziDAP84hQD/N4MA/ziFAP84hwD/OIgA/ziKAP85iwD/OY0A/zmP
+ AP86jwD/O5AA/zuSAP87kwD/PJUA/zuaAf86ngj/OKMN/zemEv82qRX/N6sV/zOwH/8zsB//NqoW/zWp
+ Fv82pRP/OKIO/zieCf86mAH/PJQA/zuRAP87kAD/O48A/zmPAP85jgD/OY0A/zmLAP84iQD/OIcA/ziG
+ AP84hAD/N4MA/ziFAP84gwD/LWkA/xUyAP8CBAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ APIAAAB2AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ABQAAACmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QJQD/K2EA/ziAAP83gQD/N4AA/zeB
+ AP83gwD/OIUA/ziHAP84iAD/OIkA/zqJAP86igD/OY4A/zeWCv8zoRv/La4s/yi5QP8jxVL/IMte/x3R
+ af8b1XD/GNh4/xfbff8X3H7/FtyA/xbdgf8W3YH/Fd6C/xbcf/8Y2Xn/GtVy/xzQaf8gyV3/Jb1K/yux
+ NP8xox//NpcM/zmNAP86igD/OogA/ziIAP84hwD/OIYA/ziEAP83gwD/N4EA/zeAAP83gQD/OH8A/yth
+ AP8QJQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACmAAAAFAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAygAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8IEgD/I1AA/zZ6AP83fgD/NnwA/zZ+AP83gAD/N4EA/zeDAP84hAD/OYQA/zmGAP82jwf/MZ8e/ymy
+ Of8ixFX/Hc9n/xrWc/8Y2nn/GNp6/xjbe/8Y23v/F9p7/xjbe/8Y2nz/F9t8/xfbff8X3H7/Ftx//xbd
+ gf8W3YH/Fd6D/xXfhf8U34f/E+GJ/xPii/8T44z/EuOO/xPgiP8X2X3/HM1p/yW3R/8voiX/NY8K/zmF
+ AP85gwD/OIMA/zeDAP83gQD/N4AA/zZ+AP82fAD/N34A/zZ6AP8jUAD/CBIA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAADKAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAA
+ AOMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAgD/FS8A/zFsAP83fAD/NXoA/zZ7AP82fAD/Nn4A/zeA
+ AP84fwD/OIAA/zaLCf8vnyT/JrhF/x/MYf8b1W//Gtl1/xrYdP8a13P/Gtdz/xrXdP8a13X/Gdh2/xnY
+ d/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTf
+ hv8U4Ij/FOGJ/xLijP8S5I//EeaR/xLjjf8W2X7/IMFb/yykLv81iwz/OIAA/zh+AP83gAD/Nn4A/zZ8
+ AP82ewD/NXkA/zd8AP8xbAD/FS8A/wECAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADjAAAAPAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAADvAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Bg0A/yNO
+ AP82dwD/NngA/zV3AP81eQD/NnsA/zZ7AP83ewD/N4AA/zGUF/8nsT3/IMle/xzVbf8b1nD/HNVu/xzU
+ bv8b1W//G9Vw/xvWcP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfb
+ ff8X3H7/F9x//xbdgf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xHj
+ j/8R5pP/EeWS/xbZf/8gvFX/Lpch/zd/AP83egD/NnsA/zZ7AP81eQD/NXcA/zZ4AP82dwD/I04A/wYN
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJAAAA7gAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0dAP8tYgD/NncA/zV0AP81dgD/NXcA/zV5AP83eAD/NX4D/y6Z
+ If8ku0v/HtBl/x3Va/8d02r/HdJq/xzTa/8c02z/HNRt/xzUbv8b1W//G9Vw/xvWcf8a1nL/Gtdz/xrX
+ dP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgP8W3YH/Fd6C/xXe
+ g/8V34X/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EeSR/xDnlf8R45D/G8ps/yqg
+ MP81fwT/N3cA/zV4AP81dwD/NXYA/zV0AP82dwD/LWMA/w0dAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAADuAAAASQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAPAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8VLgD/M2wA/zVz
+ AP80cwD/NXQA/zV2AP82dAD/NXsD/y2aJP8jv0//H9Fm/x7TaP8e0Wb/HtFm/x7SaP8d0mj/HdJp/x3T
+ a/8c02v/HNRt/xzUbf8b1W//G9Vw/xvWcP8b1nH/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xja
+ ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPh
+ iv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkf8Q55b/EOeU/xjRdv8oojf/NXoE/zZzAP81dgD/NXQA/zRz
+ AP81dAD/M2wA/xUuAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAAAASAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAADvAAAA/wAA
+ AP8AAAD/AAAA/wAAAP8BAgD/HDsA/zRvAP81cAD/NHEA/zRzAP81cgD/NXUA/y+RHP8ku0r/INBi/x/R
+ ZP8fz2L/H9Bk/x/QZP8e0Wb/HtFm/x7SaP8d0mn/HdJp/x3Ta/8c02z/HNRt/xzUbv8b1W//G9Vw/xvW
+ cP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbd
+ gf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHk
+ kP8R5JH/EOeW/xDolv8YzXP/Kpcs/zZ0AP82cgD/NHMA/zRxAP81cAD/NG8A/xw7AP8BAgD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAADvAAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAvAAAA5gAAAP8AAAD/AAAA/wAAAP8AAAD/AQMA/yBDAP81bwD/M28A/zRv
+ AP80cAD/NXAA/zGCD/8nsD7/Ic5e/yDPYf8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFm/x7S
+ Z/8d0mj/HdJp/x3Ta/8c02v/HNRs/xzUbv8b1W//G9Vv/xvWcP8b1nH/Gtdz/xrXdP8a13X/Gdh2/xnY
+ d/8Z2Xf/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTf
+ hv8U4If/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xLjj/8R5JH/EeWS/w/ol/8Q5pX/HMJk/y+G
+ Gf81bwD/NHAA/zRvAP8zbwD/NXAA/yBEAP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADlAAAALQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAANAAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wEDAP8gQwD/NW8A/zNsAP8zbgD/NG0A/zRxAv8smCb/I8VT/yDPX/8hzV3/Ic1d/yDN
+ Xv8gzl//IM5g/x/PYf8fz2L/H9Bj/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3Ta/8c02v/HNRt/xzU
+ bf8b1W//G9Vw/xvWcP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfb
+ ff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi
+ jf8S443/EuOP/xHkkP8R5JH/EeWS/xHmk/8P6Zr/E92K/yWkQP8zcgP/NWwA/zNuAP8zbAD/NW8A/yBD
+ AP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADPAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAcAAACxAAAA/wAAAP8AAAD/AAAA/wAAAP8BAwD/IEQA/zVvAP8zawD/M2wA/zRq
+ AP8yewz/J7A+/yLNWv8izFr/Isxa/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H9Bk/x/Q
+ ZP8e0Wb/HtFm/x7SaP8d0mn/HdJp/x3Ta/8c02z/HNRt/xzUbv8b1W//G9Vw/xvWcf8a1nL/Gtdz/xrX
+ dP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgf8W3YH/Fd6C/xXe
+ hP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHl
+ k/8Q55b/D+mZ/xrFa/8vfxX/NGkA/zNsAP8zawD/NW8A/yBEAP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAACxAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAEA/x4+AP81bwD/M2sA/zNqAP80aQD/Losb/yXATP8jzFn/I8pX/yLKV/8iy1n/Ista/yHM
+ W/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3T
+ a/8c02v/HNRs/xzUbv8b1W//G9Vw/xvWcP8b1nH/Gtdz/xrXdP8a13X/Gdh2/xnYd/8Z2Xf/GNl5/xja
+ ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4If/FOCI/xPh
+ if8T4Yv/E+KL/xLijP8S447/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/D+qa/xPbhv8olTH/NGkA/zNq
+ AP8zawD/NW8A/x4+AP8AAQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAB+AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAEQAAAD4AAAA/wAAAP8AAAD/AAAA/wAAAP8YMwD/NW4A/zNsAP8zaQD/M2sB/yub
+ Kf8kyFL/I8tW/yPJVf8jyVb/I8pX/yLLWP8iy1n/Ista/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/P
+ Yf8fz2L/H9Bj/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3Ta/8c02v/HNRt/xzUbf8b1W//G9Vw/xvW
+ cP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbd
+ gP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHk
+ kP8R5JH/EeWS/xHlk/8Q5ZT/D+mY/xDmlf8hqkz/M2sC/zRpAP8zbAD/NW4A/xgzAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAPgAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAA1QAAAP8AAAD/AAAA/wAA
+ AP8AAAD/EiUA/zNrAP8zbAD/M2kA/zJuBP8qpjP/JMpT/yTJUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLL
+ WP8iy1n/Isxa/yHMW/8hzVz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H9Bk/x/QZP8e0Wb/HtFm/x7S
+ aP8d0mn/HdJp/x3Ta/8c02z/HNRu/xvVb/8a1nL/Gtdz/xrYdP8Z2Hb/Gdl3/xnZef8Y2nn/GNp6/xja
+ ev8Y2nr/F9p7/xjbe/8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOeW/w/q
+ mv8cul//MnAI/zRoAP8zbAD/M2sA/xIlAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANUAAAATAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAJMAAAD/AAAA/wAAAP8AAAD/AAAA/wkUAP8wZAD/NG0A/zNpAP8xcwj/Ka86/yXK
+ Uv8lx1D/JcdQ/yTIUf8kyFP/JMlU/yPJVf8jyVb/I8pX/yLKV/8iy1n/Ista/yHMW/8hzFz/Ic1d/yDN
+ Xv8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFn/x3Tav8c02z/HNRt/xzTa/8e0GT/IM5f/yPJ
+ Vv8lxk3/J8NI/ynAQf8pvz7/Kb8//ynAQ/8mxUz/JMhS/yDNXf8d02n/GtVx/xjae/8X3H//Ft2A/xbc
+ gP8X3H//F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhif8T4Yv/E+KL/xLi
+ jf8S447/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/EOaV/w/rm/8Zx2//L3YQ/zRoAP80bQD/MGQA/wkU
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAA+QAAAP8AAAD/AAAA/wAA
+ AP8DBgD/KFQA/zVuAP8zaAD/MXMI/ymyPP8lyVD/JcZN/yXGT/8lx1D/JcdQ/yTIUv8kyFP/JMlU/yPJ
+ Vf8jyVb/I8pX/yLLWP8iy1n/Isxa/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2P/HtFm/x7R
+ Z/8f0GP/I8lW/yjBRP8uuC//M7Ae/zerE/86pwn/O6UE/zukA/88pAP/PKMC/zyjAf88owH/PKMB/zyk
+ A/88pAP/O6UE/zqnCv82rBX/MrIi/yy7Nv8lxlD/HdFo/xjae/8W3oL/Ft6D/xbdgf8W3YH/Fd6C/xXe
+ g/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KM/xLijf8S443/EuOP/xHkkP8R5JH/EeWS/xHl
+ k/8Q5ZT/EOaV/w7rm/8XzHb/L3YP/zRoAP80bgD/KFQA/wMGAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAA
+ AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAACAAAAMYAAAD/AAAA/wAAAP8AAAD/AAAA/xs5AP81bwD/M2kA/zJzB/8psTn/JsdN/ybF
+ S/8mxk3/JcZO/yXGT/8lx1D/JMdR/yTIUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLLWP8iy1n/Isxa/yHM
+ W/8hzVz/Ic1d/yDNXv8gz2H/H89j/yDNXv8mxUv/Lrgx/zWuGf85pwv/PKQE/zykBP87pAT/O6UG/zul
+ B/87pgf/O6YH/zumB/87pgf/O6YH/zumB/87pgf/O6YH/zumB/87pgf/O6UH/zulBf88pAT/PKQD/zyk
+ A/85qAv/M7Ae/yq+Pf8gzmD/GNp7/xXfhf8V3oP/Fd6C/xXeg/8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPh
+ iv8T4ov/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaU/w/qmv8Xy3X/L3YP/zRo
+ AP81bwD/GzkA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAxgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAA/wAAAP8AAAD/AAAA/wAA
+ AP8MGgD/MmkA/zRqAP8ycgf/KrA4/yfHS/8nxEn/JsRL/ybFS/8mxk3/JcZO/yXGT/8lx1D/JcdQ/yTI
+ Uf8kyFP/JMlU/yPJVf8jyVb/I8pX/yLLWP8iy1n/Ista/yHMW/8gzV7/IM5f/yTHUf8tujT/Nq0Y/zqm
+ Cf87pQX/O6YH/zqmCP86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqn
+ Cf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqmCP87pQb/O6QE/zqmCP80sB3/KMFE/xvU
+ b/8V34T/FN+F/xXehP8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S447/EuOP/xHk
+ kP8R5JH/EeSS/xHlk/8Q5ZT/EOaU/w/qmv8XzHb/MHUO/zRpAP8yaQD/DBoA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAFQAAAN0AAAD/AAAA/wAAAP8AAAD/AwUA/yhWAP81bQD/Mm4D/yuqMv8nxkn/J8NH/yfE
+ Sf8nxEn/JsRL/ybFTP8mxk3/JcZO/yXGT/8lx1D/JcdQ/yTIUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLL
+ WP8hzFv/Icxb/ybESv8wtSr/OKkP/zqmCP86pgn/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmn
+ C/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmn
+ C/85pwv/OacL/zmnC/85pwv/OacL/zqmCP87pQb/N6kR/yy8OP8d0mj/Fd+F/xTfhv8V3oT/Fd+F/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaV/w/r
+ m/8axGz/Mm8H/zVsAP8oVgD/AwUA/wAAAP8AAAD/AAAA/wAAAP8AAADdAAAAFQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8XMAD/NW4A/zNqAP8soCr/KMVH/yjCRf8ow0b/J8NI/yfESf8nxEn/JsRL/ybFTP8mxk3/JcZO/yXG
+ T/8lx1D/JMdR/yTIUv8kyFP/JMlU/yPJVf8jylf/IstZ/yXFTP8wtCn/OagO/zqnCv85qA3/OagN/zmo
+ Df85qA3/OagN/zmoDf85qA3/OagN/zmoDf85qA3/N6cL/zWmCP8zpQb/MaUE/zCkA/8wpAP/MKQD/zCk
+ A/8wpAP/MKQD/zGlBP8zpQb/NaYI/zenC/85qA3/OagN/zmoDf85qA3/OagN/zmoDf85qA3/OagN/zmo
+ Df85qAz/OqYJ/zipD/8suzj/G9Vv/xTgh/8V34b/FN+F/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLi
+ jf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaV/w/rmv8dt1z/M2oB/zVuAP8XMAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAB2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAEQAAAN4AAAD/AAAA/wAAAP8AAAD/BgwA/y5hAP80aQD/LpMe/ynERP8owUT/KMJE/yjC
+ Rf8ow0b/J8NH/yfDSP8nxEn/JsRL/ybFS/8mxk3/JcZN/yXGT/8lx1D/JcdQ/yTIUf8kyFP/I8pW/yTH
+ UP8uuDH/N6oT/zmnDf84qA//OKkQ/zipEP84qRD/OKkQ/zipEP84qRD/OKkQ/zioD/81pwz/MaYH/zKm
+ Cf9CrRz/W7g6/3bEWv+T0Hz/qtqY/7Ldov+y3aL/st2i/7Ldov+q2pj/k9B8/3nEXf9buDr/Qq0c/zKm
+ Cf8xpgf/NacM/zioD/84qRD/OKkQ/zipEP84qRD/OKkQ/zipEP84qRD/OKgP/zmmC/82qxX/J8JG/xfb
+ fP8U4In/Fd+G/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeSS/xHl
+ k/8Q5ZT/EOaV/w/qmv8ipEX/NWgA/y5hAP8GDAD/AAAA/wAAAP8AAAD/AAAA/wAAAN4AAAARAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpAAAA/wAAAP8AAAD/AAAA/wAA
+ AP8cPAD/NWwA/zCCEv8pv0D/KcFC/ynBQv8owUT/KMJE/yjCRf8ow0b/J8NH/yfESf8nxEn/JsRL/ybF
+ TP8mxk3/JcZO/yXGT/8lx1D/JcdR/yTIU/8pwEH/NK8c/zioDv84qRD/OKkR/zipEf84qRH/OKkR/zip
+ Ef84qRH/OKkR/zepEP8ypwr/MqcK/02zK/+ByWj/uuGt/+Dx2f/7/fr/////////////////////////
+ //////////////////////////////v9+v/g8dn/uuGt/4HJaP9Nsyv/MqcK/zKnCv83qRD/OKkR/zip
+ Ef84qRH/OKkR/zipEf84qRH/OKkR/zipEP85pw3/MrIk/x7PZP8U4Ij/FN+H/xTfhv8U4Ij/FOGJ/xPh
+ iv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOeW/xDkk/8pjSr/NmsA/xw8
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAGkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAABgAAAMwAAAD/AAAA/wAAAP8AAAD/Bw4A/zBjAP8zdAb/K7Q2/yrCQP8pwED/KcFC/ynB
+ Qv8owUP/KMJF/yjCRf8ow0b/J8NI/yfESf8nxEr/JsRL/ybFTP8mxk3/JcZO/yXHUP8mxk//Lrgx/zer
+ FP83qhL/N6sT/zeqE/83qhP/N6oT/zeqE/83qhP/N6sU/zeqE/8xqA3/N6sT/2W+Sf+z36X/7/jt////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////+/47f+z36X/Zb5J/zerE/8xqA3/N6oT/zerFP83qhP/N6oT/zeqE/83qhP/N6oT/zer
+ FP84qRH/N6oU/ybDSf8W3YP/FOCI/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EuOP/xHk
+ kP8R5JH/EeWS/xHlk/8Q5ZT/D+mY/xXWgf8weBD/MGIA/wcOAP8AAAD/AAAA/wAAAP8AAAD/AAAAzAAA
+ AAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGAAAA/QAAAP8AAAD/AAAA/wAA
+ AP8cOQD/NW8B/y6iKP8qwkD/Kr8+/yq/P/8pwED/KcBB/ynBQv8owUP/KMJE/yjCRf8ow0b/J8NH/yfD
+ SP8nxEn/JsRL/ybFS/8mx07/J8NH/zGyJf82qhT/NqsV/zarFv82qxb/NqsW/zarFv82qxb/NqsW/zar
+ Fv8zqhL/MakQ/2a/Tf/I6L///v79////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////+/v3/yOi//2a/
+ Tf8xqRD/M6oS/zarFv82qxb/NqsW/zarFv82qxb/NqsW/zarFv82qxX/OKkR/y25NP8Y2Xj/E+GJ/xTf
+ hv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/D+ua/xu9
+ Y/81bgL/HDkA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAKIAAAD/AAAA/wAAAP8AAAD/BAoA/y5dAP8xixX/K788/yu+PP8qvj3/Kr8+/yrA
+ P/8pwED/KcBB/ynBQv8owUT/KMJE/yjCRf8ow0b/J8NH/yfESf8nxEn/JsVM/ynAQf8zsB//NqsV/zas
+ F/82rBf/NqwX/zasF/82rBf/NqwX/zasF/81rBf/L6kQ/0izLf+u3qL/+v35////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////+v35/67eov9Isy3/L6kQ/zWsF/82rBf/NqwX/zas
+ F/82rBf/NqwX/zasF/82rBf/N6oT/zGzJ/8c1G//E+GJ/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLi
+ jf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/D+iY/yeaNv8vXAD/BAoA/wAAAP8AAAD/AAAA/wAA
+ AP8AAACiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAA6AAAAP8AAAD/AAAA/wAA
+ AP8VKwD/NHYF/y2zMv8rvzv/K707/yu+PP8rvj3/Kr8+/yq/P/8pwED/KcBB/ynBQv8pwUP/KMJE/yjC
+ Rf8owkb/J8NH/ybESv8qvTz/NK4d/zWsGP81rRr/Na0a/zWtGv81rRr/Na0a/zWtGv81rRr/NKwY/y+q
+ E/9wxVz/4vPe////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////+Lz3v9wxVz/L6oT/zSsGP81rRr/Na0a/zWtGv81rRr/Na0a/zWtGv81rRr/NqsX/zOw
+ If8e0Wf/E+GJ/xTfhv8U4If/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xLjj/8R5JH/EeSS/xHl
+ k/8P55f/FNeD/zF6Dv8WKgD/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAAAaAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAFwAAAD/AAAA/wAAAP8AAAD/AQIA/ydQAP8wnB//LL86/yy9Of8rvTr/K707/yu+
+ PP8qvj3/Kr8+/yq/P/8pwED/KcBB/ynBQv8owUP/KMJE/yjCRf8nw0j/Kr07/zOuHv80rRv/NK0c/zSt
+ HP80rRz/NK0c/zStHP80rRz/NK0c/zKsGf8wrBj/kNKD//n8+P//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////n8+P+Q0oP/MKwY/zKs
+ Gf80rRz/NK0c/zStHP80rRz/NK0c/zStHP80rRz/NawZ/zKwIf8d0Wj/E+GJ/xTfhv8U4Ij/FOCI/xPh
+ iv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeWS/xHlk/8P6pn/ILNU/yhPAP8BAgD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqgAAAP8AAAD/AAAA/wAA
+ AP8KEwD/MXkK/y25NP8svTf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yrAP/8pwED/KcBB/ynB
+ Qv8owUT/KMJG/yq8O/8yryD/NK4d/zSuHv80rh7/NK4e/zSuHv80rh7/NK4e/zSuHv8yrRv/Na8f/6Ha
+ l///////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+h2pf/Na8f/zKtG/80rh7/NK4e/zSuHv80rh7/NK4e/zSu
+ Hv80rh7/NK0b/zKwI/8c0mv/FOGJ/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHk
+ kP8R5JH/EeWS/xDmlP8R4Y//K4Ed/wsSAP8AAAD/AAAA/wAAAP8AAAD/AAAAqgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAABUAAADmAAAA/wAAAP8AAAD/AAAA/xs2AP8xpCP/Lb43/y27Nv8svDf/LLw3/yy9
+ Of8rvTr/K707/yu+PP8rvj3/Kr8+/yq/P/8pwED/KcBB/ynCQ/8qvj3/MrEj/zOvH/8zryD/M68g/zOv
+ IP8zryD/M68g/zOvIP8zryD/Mq4e/y+uHP+n3Z//////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //+n3Z//L64c/zKuHv8zryD/M68g/zOvIP8zryD/M68g/zOvIP8zryD/NK4d/zCzKf8a1nL/FOCI/xTf
+ hv8U4Ij/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xHkkP8R5JH/EeSS/w/pmP8ewmP/GzYA/wAA
+ AP8AAAD/AAAA/wAAAP8AAADmAAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAAAP8AAAD/AAAA/wAA
+ AP8BAAD/J2cL/y+7Mv8tuzT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yq/
+ P/8pwEH/Kb8//zCzJ/8zryH/MrAi/zKwIv8ysCL/MrAi/zKwIv8ysCL/MrAi/zKwIv8srRv/k9WK////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////v/+/+/89v/i++7/4vvu/+/89v/+//7/////////////////////////////////////////
+ //////////////////////////////////////////////////+T1Yr/LK0b/zKwIv8ysCL/MrAi/zKw
+ Iv8ysCL/MrAi/zKwIv8ysCL/M64f/y24M/8X233/FOCH/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi
+ jf8S443/EuOP/xHkkP8R5JH/EeWT/xPmkf8gcSH/AgAA/wAAAP8AAAD/AAAA/wAAAP8AAABRAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAACcAAAA/wAAAP8AAAD/AAAA/woTAP8unSD/Lr0z/y66M/8tujT/Lbs1/y27
+ Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yq/P/8utS7/MrAj/zKwJP8ysCT/MrAk/zKw
+ JP8ysCT/MrAk/zKwJP8ysST/K64d/2/IZf/6/fr/////////////////////////////////////////
+ ///////////////////////////////////d+ev/o/DL/2roq/9D4pb/MuCN/ynfiP8p34j/MuCN/0Pi
+ lv9q6Kv/o/DL/9356///////////////////////////////////////////////////////////////
+ //////////////r9+v9vyGX/K64d/zKxJP8ysCT/MrAk/zKwJP8ysCT/MrAk/zKwJP8ysCT/M64g/yjA
+ RP8V3oX/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EOqX/xq7
+ Yv8KEgD/AAAA/wAAAP8AAAD/AAAA/wAAAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAN4AAAD/AAAA/wAA
+ AP8AAAD/Fj8I/zC6Lv8uuTH/Lrkx/y66M/8tujT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+
+ PP8qvz7/LLgz/zGxJf8xsSb/MbEm/zGxJv8xsSb/MbEm/zGxJv8xsSb/MbEm/y2wIv9GuTz/5vXk////
+ ///////////////////////////////////////////////////////////////////E9d3/Y+Wl/yTc
+ gf8Q1nD/FNJo/xrNXf8fyFT/IcZQ/yHGUP8fyFT/Gs1d/xTSaP8Q1nD/JNyB/2Plpf/E9d3/////////
+ /////////////////////////////////////////////////////////////+b15P9GuTz/LbAi/zGx
+ Jv8xsSb/MbEm/zGxJv8xsSb/MbEm/zGxJv8xsSb/MrAj/yHKWf8U4Ij/Fd+F/xTfhv8U4Ij/FOCI/xPh
+ if8T4Yv/E+KL/xLijf8S447/EuOP/xHkkP8R5ZL/FOWN/xFHGv8AAAD/AAAA/wAAAP8AAAD/AAAA3gAA
+ AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABCAAAA/QAAAP8AAAD/AAAA/wAAAP8kexn/ML4w/y64MP8uuTD/Lrky/y66
+ M/8tujT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K747/yy8Of8wsin/MLIn/zCyKP8wsij/MLIo/zCy
+ KP8wsij/MLIo/zCyKP8wsij/K7Ai/7Dirf//////////////////////////////////////////////
+ ///////////////////o+/H/ceeq/xrYdv8Vz2L/I8NL/yu5N/8vtCv/MbIm/zGxJf8xsSX/MbEl/zGx
+ Jf8xsib/L7Qr/yu5N/8jw0v/Fc9i/xrYdv9x56r/6Pvx////////////////////////////////////
+ /////////////////////////////7Dirf8rsCL/MLIo/zCyKP8wsij/MLIo/zCyKP8wsij/MLIo/zCy
+ KP8xsib/L7Qs/xrWc/8V4If/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KM/xLijf8S443/EuOP/xHk
+ kP8R65b/E5RS/wEAAP8AAAD/AAAA/wAAAP8AAAD9AAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAD/AAAA/wAA
+ AP8AAAD/BxUD/y2pJ/8wuS7/L7gv/y64MP8uuTH/Lrky/y66M/8tujT/Lbs1/yy7Nv8svDf/LLw4/yy9
+ Of8rvTr/LrYv/zCzKf8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyr/MLMq/yqxJP9exFn/+f35////
+ ////////////////////////////////////////////////////////yfXd/zvdh/8Uz2L/Jr9D/y+0
+ LP8xsSf/MLIo/zCzKf8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyn/MLIo/zGxJ/8vtCz/Jr9D/xTP
+ Yv873Yf/yfXd////////////////////////////////////////////////////////////+f35/17E
+ Wf8qsST/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8xsSf/KL9C/xXeg/8V3oX/FN+G/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EuOP/xHmkv8S0YH/BRkL/wAAAP8AAAD/AAAA/wAA
+ AP8AAACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAJAAAA0QAAAP8AAAD/AAAA/wAAAP8TRQ//Mrwt/y+3LP8vty3/L7gu/y64
+ MP8uuTD/Lrkx/y66M/8tujT/Lbs1/y27Nv8svDf/LLw4/y25NP8vsyz/L7Qs/y+0LP8vtCz/L7Qs/y+0
+ LP8vtCz/L7Qs/y+0LP8vsyz/K7Io/7vmuv//////////////////////////////////////////////
+ /////////////8L02f8p13f/HcZP/y62Mf8wsin/L7Mr/y+0LP8vtCz/L7Qs/y+0LP8vtCz/L7Qs/y+0
+ LP8vtCz/L7Qs/y+0LP8vtCz/L7Qs/y+zK/8wsin/LrYx/x3GT/8p13f/wvTZ////////////////////
+ ////////////////////////////////////////u+a6/yuyKP8vsyz/L7Qs/y+0LP8vtCz/L7Qs/y+0
+ LP8vtCz/L7Qs/y+0LP8wsyn/H81h/xTfhv8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi
+ jf8S443/EuOP/xLrk/8IVTP/AAAA/wAAAP8AAAD/AAAA/wAAANEAAAAJAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAD5AAAA/wAA
+ AP8AAAD/AAEA/yJ9HP8yvCz/MLcs/y+3LP8vty3/L7gv/y64MP8uuTD/Lrky/y66M/8tujT/Lbs1/y27
+ Nv8suzb/LrUw/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/yqzKv9VwlT/9/z3////
+ ///////////////////////////////////////////////////Q9uH/LNZ1/yHBRf8wtCz/L7Qt/y+0
+ Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0
+ Lv8vtC3/MLQs/yHBRf8t1nX/0/fj////////////////////////////////////////////////////
+ ///3/Pf/VcJU/yqzKv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0LP8rujr/F9t9/xXe
+ hP8V3oT/Fd+F/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuuU/w2dYf8AAQD/AAAA/wAA
+ AP8AAAD/AAAA+QAAADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAcwAAAP8AAAD/AAAA/wAAAP8FEgT/LaYl/zG4Kv8wtiv/MLcs/y+3
+ LP8vuC7/L7gv/y64MP8uuTH/Lrky/y26M/8tujT/Lbs1/y24M/8utTD/LrUw/y61MP8utTD/LrUw/y61
+ MP8utTD/LrUw/y61MP8utTD/JrIo/5zcnf//////////////////////////////////////////////
+ ////////8/33/0rbhv8fwEP/L7Qu/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61
+ MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/L7Qu/x/AQ/9L24f/8v33////
+ //////////////////////////////////////////////////+c3J3/JrIo/y61MP8utTD/LrUw/y61
+ MP8utTD/LrUw/y61MP8utTD/LrUw/y+zLf8hylv/FN+F/xXeg/8V3oT/FN+F/xTfhv8U4Ij/FOGJ/xPh
+ iv8T4ov/E+KM/xLijf8S5Y//ENCD/wEWDv8AAAD/AAAA/wAAAP8AAAD/AAAAcwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAC0AAAA/wAA
+ AP8AAAD/AAAA/xA+Df8yuSj/MbUo/zC2Kf8wtir/MLYr/y+3LP8vty3/L7gu/y64MP8uuTD/Lrky/y66
+ M/8tujP/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/yy1MP8zuDf/1/HY////
+ //////////////////////////////////////////////////+P6LT/HMJH/y61MP8ttjL/LbYy/y22
+ Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22
+ Mv8ttjL/LbYy/y22Mv8ttjL/LrUw/xzCR/+R6bb/////////////////////////////////////////
+ /////////////9fx2P8zuDf/LLUw/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LrUw/yq7
+ PP8X23z/Fd6C/xXegv8V3oP/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S6JD/Bk0x/wAA
+ AP8AAAD/AAAA/wAAAP8AAAC0AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAOUAAAD/AAAA/wAAAP8AAAD/Hm0W/zO7KP8xtSf/MbUp/zC2
+ Kf8wtir/MLcs/y+3LP8vty3/L7gv/y64MP8uuTH/Lrky/y25M/8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23
+ NP8ttzT/Lbc0/y23NP8ttzT/KLUw/0/DVv/5/fr/////////////////////////////////////////
+ ////////6fvx/zbOZv8ptzP/LbY0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23
+ NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttjT/Kbcz/zjO
+ aP/q+/H/////////////////////////////////////////////////+f36/0/DVv8otTD/Lbc0/y23
+ NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/LbYy/x/OY/8V34P/Fd6B/xXeg/8V3oP/FN+F/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xPrkv8Lilb/AAAA/wAAAP8AAAD/AAAA/wAAAOUAAAASAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3AAAA/QAA
+ AP8AAAD/AAAA/wEFAf8pkx7/M7gm/zG0Jv8xtSj/MbUp/zC2Kf8wtiv/MLcs/y+3LP8vuC7/L7gv/y64
+ MP8uuDH/LLc1/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8ktS7/ddB7////
+ //////////////////////////////////////////////////+k673/Ibw8/yy2Nf8stzb/LLc2/yy3
+ Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3
+ Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stjX/Ibw8/6Trvf//////////////////////////////
+ ////////////////////////ddB7/yS1Lv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3
+ Nv8ttjT/JsBH/xbdf/8W3YH/Fd6B/xXegv8V34T/FN+F/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+eP/w+6
+ dP8BBgT/AAAA/wAAAP8AAAD/AAAA/QAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGUAAAD/AAAA/wAAAP8AAAD/CBwF/zCrIv8ytCX/MrQl/zG0
+ Jv8xtSf/MbUo/zC2Kf8wtir/MLYr/y+3LP8vty3/L7gu/y64Mv8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4
+ OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yO1MP+Y3J7/////////////////////////////////////////
+ /////////////2TWg/8ktjP/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4
+ OP8otzX/JbYy/yW2Mv8otzX/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4
+ OP8ktjP/ZNaD//////////////////////////////////////////////////////+Y3J7/I7Uw/yu3
+ OP8rtzj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruTn/G9Vw/xXegf8W3YD/Fd6B/xXe
+ gv8V3oP/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T44z/EtiF/wMhFf8AAAD/AAAA/wAAAP8AAAD/AAAAZQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAA
+ AP8AAAD/AAAA/wAAAP8ROgv/M7Yi/zK0JP8ysyT/MbQl/zG0Jv8xtSf/MbUp/zC2Kf8wtir/MLcs/y+3
+ LP8vty3/Lbg1/yu5O/8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/Jrc3/7Hl
+ t//////////////////////////////////////////////////x/PX/P8da/yi3N/8ruTr/K7k6/yu5
+ Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8mtzb/Kbg4/0fCVf9kzG//ZMxv/0fCVf8puDj/Jrc2/yu5
+ Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yi3N/8/x1r/8fz1////////////////////
+ /////////////////////////////7Hlt/8mtjf/K7g6/yu4Ov8ruDr/K7k6/yu5Ov8ruTr/K7k6/yu5
+ Ov8ruTr/K7k6/yy4N/8hylv/Ft2B/xbdgP8W3YD/Fd6B/xXeg/8V3oP/FN+F/xTfhv8U4Ij/FOGJ/xPi
+ iv8T5o7/Bkot/wAAAP8AAAD/AAAA/wAAAP8AAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAA/wAAAP8AAAD/AAAA/xlYEP81uSP/M7Ii/zKz
+ I/8ysyT/MrQl/zG0Jv8xtSf/MbUo/zC1Kf8wtir/MLYs/y+3Lf8ruTn/Kro9/yq6PP8qujz/Kro8/yq6
+ PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6PP8ouTv/venD////////////////////////////////////
+ /////////////9335P81wEr/KLk6/yq6PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6PP8qujz/JLg3/03F
+ XP+86cL/8vv0////////////8vv0/73qwv9NxVz/JLg3/yq6PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6
+ PP8qujz/KLk6/zXASv/d9+T/////////////////////////////////////////////////venD/yi4
+ O/8quTz/Krk8/yq5PP8quTz/Kro8/yq6PP8qujz/Kro8/yq6PP8qujz/K7k7/ybASf8Y233/F9yA/xbd
+ f/8W3YD/Fd6B/xXegv8V3oT/Fd+F/xTfhv8U4If/FOCI/xTrkP8JcEX/AAAA/wAAAP8AAAD/AAAA/wAA
+ ALgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAA
+ ANwAAAD/AAAA/wAAAP8AAAD/I3cV/zW3If8zsiH/M7Ii/zKzI/8ysyT/MrQl/zG0Jv8xtSf/MbUo/zC2
+ Kf8wtir/L7cv/ym7Pv8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8puz7/KLs9/yq7
+ P//P8NT/////////////////////////////////////////////////0PLX/y29Q/8ouz3/Kbs+/ym7
+ Pv8puz7/Kbs+/ym7Pv8puz7/Kbs//yK4OP9YyWj/6vjs/////////////////////////////////+r4
+ 7P9YyWj/Irg4/ym7P/8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8ouz3/Lb1D/9Dy1///////////////
+ ///////////////////////////////////P79T/Kro//yi6Pf8puj7/Kbo+/ym6Pv8puj7/Kbs+/ym7
+ Pv8puz7/Kbs+/ym7Pv8puz7/KbxA/xrWc/8X3X//F9x//xbdgP8W3YD/Fd6B/xXegv8V3oP/Fd+F/xTf
+ hv8U4Ij/FOeN/w2VW/8AAAD/AAAA/wAAAP8AAAD/AAAA3AAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAA6wAAAP8AAAD/AAAA/wACAP8qjxj/NbUg/zOx
+ IP8zsiH/MrIi/zKzJP8ysyT/MbQl/zG0Jv8xtSf/MbUp/zC2Kf8tuDP/KbtB/ym7QP8pu0D/KbtA/ym7
+ QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8pu0D/Jbs+/7rqwv//////////////////////////////
+ ///////////////////L79H/KLtA/yi7QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8juTv/RsVa/+L2
+ 5v///////////////////////////////////////////+L25v9GxVr/I7k7/ym7QP8pu0D/KbtA/ym7
+ QP8pu0D/KbtA/yi7QP8ou0D/y+/R/////////////////////////////////////////////////7rq
+ w/8luT3/Kbo//ym6P/8puj//Kbo//ym6QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8puz//Hs5l/xbc
+ f/8X3H7/Ftx//xbdgP8W3YD/Fd6B/xXeg/8V3oP/FN+G/xTfhv8U5Yv/ELVu/wACAf8AAAD/AAAA/wAA
+ AP8AAADrAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ADAAAAD2AAAA/wAAAP8AAAD/BA0C/y6bGv81sx7/NLEf/zOxIP8zsiH/M7Ii/zKzI/8ysyT/MrQl/zG0
+ Jv8xtSf/MbUo/yu5OP8ovET/KLxD/yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yi8
+ Q/8gujz/etmO/////////////////////////////////////////////////4vdnf8gujz/KLxD/yi8
+ Q/8ovEP/KLxD/yi8Q/8ovEP/I7s//znBUf/V8tr/////////////////////////////////////////
+ /////////////9Xy2v85wVH/I7s//yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yC5PP+L3Zz/////////
+ ////////////////////////////////////////etiO/yC5O/8ou0L/KLtC/yi7Qv8ou0L/KLtC/yi7
+ Qv8ou0P/KLxD/yi8Q/8ovEP/KLxD/ym7QP8iyFj/F9t+/xfbff8X3H7/F9x//xbdf/8W3YD/Fd6B/xXe
+ gv8V3oT/Fd+F/xTjiP8SxXf/AREK/wAAAP8AAAD/AAAA/wAAAPUAAAAvAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAP4AAAD/AAAA/wAAAP8HGAT/MaQa/zWy
+ Hv80sR7/NLEf/zOxIP8zsiH/M7Ii/zKzJP8ysyT/MrQl/zG0Jv8xtSj/Kbs+/yi9Rv8ovUX/KL1F/yi9
+ Rf8ovUX/KL1F/yi9Rf8ovUX/KL1F/yi9Rf8ovUX/KL1F/ya8Q/8twk3/yPDR////////////////////
+ ///////////////////R8tj/NMVT/ya8Q/8ovUX/KL1F/yi9Rf8ovUX/KL1F/yW8Qv8uv0r/wuzK////
+ /////////////////////////////////////////////////////////////8Lsyv8uv0r/JbxC/yi9
+ Rf8ovUX/KLxE/yi8RP8ovET/JrtC/zTEU//R8tj//////////////////////////////////////8jw
+ 0f8twkz/JrtC/yi8RP8ovET/KLxE/yi8RP8ovET/KLxE/yi8RP8ovEX/KL1F/yi9Rf8ovUX/KLxD/yTD
+ UP8Y2nr/F9t8/xfbff8X3H7/F9x//xbdgP8W3YD/Fd6B/xXegv8V3oP/FeGG/xLQff8DHxP/AAAA/wAA
+ AP8AAAD/AAAA/gAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABQAAAA/wAAAP8AAAD/AAAA/wohBf8zqxr/NLEc/zSwHf80sR7/M7Ef/zOxIP8zsiH/MrIi/zKz
+ I/8ysyT/MbQl/zG1KP8ovET/J71H/ye9Rv8nvUb/J71G/ye9Rv8nvUb/J71G/ye9Rv8nvUb/J71G/ye9
+ Rv8nvUb/J71H/yO9Q/87yFf/teq///v+/P/////////////////8/v3/vu3H/z/JWv8ivkP/J71H/ye9
+ Rv8nvUb/J71G/ye9R/8lvUX/Jr1G/6/nu///////////////////////////////////////////////
+ /////////////////////////////6/nu/8mvUb/JbxF/ya9Rv8mvEX/J7xF/ye8Rf8nvEb/Ir1C/z/J
+ Wv++7cf//P79//////////////////v+/P+16r//O8hX/yO9Q/8nvEb/J7xF/ye8Rf8nvEX/J7xF/ye8
+ Rf8nvEX/J7xF/ye8R/8nvUb/J71G/ye9Rv8nvUX/JcBM/xjYd/8Y2nv/F9t8/xfbff8X3H7/Ftx//xbd
+ gP8W3YD/Fd6B/xXegv8V34T/FNmC/wQqGv8AAAD/AAAA/wAAAP8AAAD/AAAATgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAD/AAAA/wAAAP8AAAD/DCoG/zay
+ G/81rxv/NLAc/zSwHf80sR7/NLEf/zOxIP8zsiH/M7Ii/zKzI/8ysyP/MLYr/ye+R/8mvkn/Jr5J/ya+
+ Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5J/ya+Sf8mvkn/J75J/yO/RP8nwUL/WM9s/4jc
+ lv+a4ab/jN6Z/1nPbf8pwkT/I79D/ye+Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5I/yK9Rf+Y4Kn/////////
+ /////////////////////////////////////////////////////////////////////////////5jg
+ qP8hvET/Jb1H/yW9SP8lvUj/Jr1I/ya9SP8nvUj/I75D/ynCRP9Zz23/jN6Z/5rhpv+I3Jb/WM9s/yfB
+ Qv8jvkP/J71I/ya9SP8mvUj/Jr1I/ya9SP8mvUj/Jr1I/ya9SP8mvUj/Jr1I/ya9Sf8mvUn/Jr5J/ya+
+ SP8mwEv/G9Vx/xjae/8Y2nv/F9t8/xfbff8X3H7/F9x//xbdf/8W3YD/Fd6B/xXegv8W4ob/BTUg/wAA
+ AP8AAAD/AAAA/wAAAP8AAABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAVgAAAP8AAAD/AAAA/wAAAP8NKwb/NrMZ/zWvGv81rxv/NLAc/zSwHf80sR7/NLEf/zOx
+ IP8zsiH/M7Ii/zKzIv8vti7/Jr9L/ya/S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/
+ S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/R/8jvj7/IL05/yK+Ov8gvTn/Ir4+/ya/R/8mv0v/Jr9L/ya/
+ S/8mv0v/Jr9L/ya/Sv8evUT/hNuZ////////////////////////////////////////////////////
+ /////////////////////////////////////////////4TamP8dvEP/Jb5J/yW+Sv8lvkr/Jr5K/ya+
+ Sv8mvkr/Jr5G/yK+Pv8gvTn/Ir46/yC9Of8jvj7/Jr5H/ya+Sv8mvkr/Jr5K/ya+Sv8mvkr/Jr5K/ya+
+ Sv8mvkr/Jr5K/ya+Sv8mvkr/Jr5K/ya+S/8mvkv/Jr9L/ya/S/8c0mz/GNp6/xjaev8Y2nv/F9t8/xfb
+ ff8X3H7/F9x//xbdgP8W3YD/Fd6B/xbkhv8FNyH/AAAA/wAAAP8AAAD/AAAA/wAAAFcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfAAAA/wAAAP8AAAD/AAAA/w4r
+ Bv83shj/Na4Z/zWvGv81rxv/NLAc/zSwHf80sR7/M7Ef/zOxIP8zsiH/M7Ih/y63MP8lwE7/JcBN/yXA
+ Tf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXA
+ Tf8mwEv/JsBL/yXAS/8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/Hb5G/3DVif/5/fr/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////+f36/2/Uif8cvET/JL5L/yS+S/8kvkv/Jb5L/yW+TP8lvkz/Jb9M/yW/S/8mv0r/Jr9L/yW/
+ TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/
+ Tf8lv03/Jr9L/x3Raf8Y2nn/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgP8W3YD/FuSF/wU3
+ If8AAAD/AAAA/wAAAP8AAAD/AAAAVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAFsAAAD/AAAA/wAAAP8AAAD/DSsF/zexF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSw
+ Hf80sR7/NLEf/zOxIP80sR//Lrcy/yPCUf8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTB
+ T/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTB
+ T/8kwU//JcFP/xy+Sf9b0Hr/8vv1////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////8vv0/1rPef8bvEb/JL9N/yO/
+ Tf8jv03/JL9N/yS/Tv8kv07/JL9O/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTA
+ Tv8kwE7/JMBO/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTAT/8lv03/HdBo/xnZeP8Z2Xj/GNl5/xja
+ ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdf/8X44T/BTcg/wAAAP8AAAD/AAAA/wAAAP8AAABXAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVwAAAP8AAAD/AAAA/wAA
+ AP8NKwX/N7EW/zatF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSwHf80sR7/NLEf/zSxHv8utzL/I8JT/yTB
+ Uf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTB
+ Uf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8dwEz/Scxu/+b46///////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////5vjr/0jKbf8cvUr/I79P/yO/T/8jv0//JL9P/yS/UP8kv1D/JMBQ/yTA
+ UP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTA
+ UP8kwFD/JMBQ/yS/T/8dz2n/Gdl4/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xfj
+ g/8FNyD/AAAA/wAAAP8AAAD/AAAA/wAAAFcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABYAAAA/wAAAP8AAAD/AAAA/w4rBf84sRX/Nq0W/zatF/82rhj/Na4Z/zWv
+ Gv81rxv/NLAc/zSwHf80sR7/NLAd/y23M/8iw1X/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPC
+ U/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPC
+ U/8jwlP/HsFP/zrIZP/Z9OH/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////2fTh/zjG
+ Y/8dv03/IsBR/yLAUf8jwFH/I8BR/yPAUv8jwFL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPB
+ Uv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8BR/x3PaP8Z2Hb/Gdh2/xnZ
+ d/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F+KC/wU3IP8AAAD/AAAA/wAAAP8AAAD/AAAAWAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEsAAAD/AAAA/wAA
+ AP8AAAD/DCYE/zetE/83rRX/Nq0W/zatF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSwHf81sBz/Lrcy/yLE
+ V/8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPD
+ Vf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/x/CUv8uxl3/yfDV////////////////////
+ /////////////////////////////////////////////8rty//K7cv/////////////////////////
+ ////////////////////////////////////////ye/V/y3EW/8ewFD/IsFT/yLBU/8iwVP/I8FT/yPB
+ VP8jwVT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPC
+ VP8jwlT/I8JU/yPCVP8jwVP/Hc9o/xrXdf8Z13X/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfc
+ fv8X3X//BTEd/wAAAP8AAAD/AAAA/wAAAP8AAABLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAPQAAAPwAAAD/AAAA/wAAAP8JHgP/NaQS/zetFP82rBX/Nq0W/zat
+ F/82rhj/Na4Z/zWvGv81rxv/NLAc/zWvG/8utzL/IcVZ/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLE
+ V/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLE
+ V/8gw1X/JMVZ/7brx///////////////////////////////////////////////////////////////
+ ///a8tn/QL0//0C9P//a8tn/////////////////////////////////////////////////////////
+ ////////tevG/yPDV/8fwVP/IcJV/yHCVf8hwlX/IsJV/yLCVv8iwlb/IsNW/yLDVv8iw1b/IsNW/yLD
+ Vv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLCVf8dz2f/Gtdz/xrW
+ dP8Z13X/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9x9/xbSeP8EJhX/AAAA/wAAAP8AAAD/AAAA/AAA
+ AD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAA8wAA
+ AP8AAAD/AAAA/wcTAv8ynBD/OK0T/zesE/83rBT/Nq0W/zatF/82rRf/Na4Z/zWvGv81rxv/Na8a/y+2
+ Lv8hxVr/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHF
+ Wf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IMRY/x7EVv+i5rn/////////////////////////
+ ////////////////////////////////////////5/bm/1HBS/8huz7/Ibs+/1HBS//n9ub/////////
+ ////////////////////////////////////////////////////////oeW4/x3CVf8fwlb/IMNX/yDD
+ V/8hw1f/IcNX/yHCWP8hw1j/IcNY/yHEWP8hxFj/IcRY/yHEWP8hxFj/IcRY/yHEWP8hxFj/IcRY/yHE
+ WP8hxFj/IcRY/yHEWP8hxFj/IcNY/x3Qaf8a1nH/GtZy/xrWdP8a13X/Gdh2/xnYd/8Z2Xf/GNl5/xja
+ ev8Y3X3/Fcdx/wMZD/8AAAD/AAAA/wAAAP8AAADzAAAAKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAADqAAAA/wAAAP8AAAD/AgcB/zCSDv84rhL/N6sT/zes
+ E/82rBX/Nq0W/zatF/82rhj/Na4Z/zWvGv81rxn/MLQq/yHFWv8hxVv/IcVb/yHFW/8hxVv/IcVb/yHF
+ W/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yDF
+ Wv8Zw1X/jOGq//////////////////////////////////////////////////////////////////L6
+ 8f9hxVj/Ibk2/x/CWP8fwlj/Ibk2/2HFWP/y+vH/////////////////////////////////////////
+ ////////////////////////jOCp/xjBU/8fw1j/IMNZ/yDDWf8gw1n/IcNZ/yHDWv8hw1r/IcRa/yHE
+ Wv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxVv/HNFq/xvV
+ cP8a1XH/GtZy/xrWdP8Z13X/Gdh2/xnYd/8Z2Xj/GNl5/xjefP8Uumn/AQkG/wAAAP8AAAD/AAAA/wAA
+ AOoAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAA
+ ANcAAAD/AAAA/wAAAP8AAAD/K4IM/zmvEf83qxL/N6sT/zesFP82rBX/Nq0W/zatF/82rhj/Na4Z/zWv
+ Gf8ysiL/IcRZ/yDGXv8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDG
+ Xf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/F8RX/3Xcm//9//7/////////////////////////
+ ///////////////////////////////////5/fn/dctp/yO2MP8fwlj/H8NZ/x/DWv8fw1n/I7Yx/3XL
+ af/5/fn////////////////////////////////////////////////////////////9/v7/ddqa/xfC
+ Vf8fxFv/H8Rb/x/EW/8fxFv/IMRb/yDEXP8gxFz/IMVc/yDFXP8gxVz/IMVc/yDFXP8gxVz/IMVc/yDF
+ XP8gxVz/IMVc/yDFXP8gxVz/IMVc/yDGXf8b0mz/G9Vv/xvVcP8a1XH/GtZy/xrWdP8Z13X/Gdh2/xnZ
+ d/8Z2Xj/Gd98/xKlXP8AAAD/AAAA/wAAAP8AAAD/AAAA1QAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAP8AAAD/AAAA/wAAAP8iaAn/OrAQ/ziq
+ EP84qxH/N6sT/zesE/83rBT/Nq0W/zatF/82rRf/Na4Y/zSvHP8jw1X/H8dh/x/HX/8fx1//H8df/x/H
+ X/8fx1//H8df/x/HX/8fx1//H8df/x/HX/8fx1//H8df/x/HX/8fx1//H8df/yDHX/8gx1//H8Zf/xfB
+ Vf9g1Ir/9fz4/////////////////////////////////////////////////////////////v/+/4rR
+ fP8mtCn/H8JY/x7DW/8ew1r/HsRb/x7EW/8fw1n/JrQq/4rRfP/+//7/////////////////////////
+ ///////////////////////////////////1/Pj/YdaM/xbDV/8fxV3/H8Vd/x/FXf8fxV3/H8Ve/x/F
+ Xv8fxV7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8hg/xzT
+ bP8b1G7/G9Rv/xvVb/8b1XD/GtZy/xrWdP8a13X/Gdh2/xnYd/8a4Xz/D4VK/wAAAP8AAAD/AAAA/wAA
+ AP8AAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAACHAAAA/wAAAP8AAAD/AAAA/xhJBv87sQ//OKoQ/ziqEP83qxL/N6sT/zesE/82rBX/Nq0W/zat
+ F/82rhf/Na4Y/yXATP8eyWP/H8hh/x/IYf8fyGH/H8hh/x/IYf8fyGH/H8hh/x/IYf8fyGH/H8hh/x/I
+ Yf8fyGH/H8hh/x/IYf8fyGH/HsZf/x7EXP8Vv1P/Tc16/+v58P//////////////////////////////
+ //////////////////////////////////+c147/KrIk/x/CVf8dxF3/HsRc/x7EXP8exFz/HsRc/x3F
+ Xv8fw1f/KrIk/5zXjv//////////////////////////////////////////////////////////////
+ ///s+vH/TtGB/xfEWf8fxl//H8Zf/x/GX/8fxl//H8Zf/x/GX/8fxl//H8df/x/HX/8fx1//H8dg/x/H
+ YP8fx2D/H8dg/x/HYP8fx2D/H8dg/x/HYP8eymP/HNNs/xzTbP8b1G7/G9Rv/xvVb/8a1XH/GtZy/xrW
+ dP8Z13X/Gdh2/xrhfP8KXDL/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4AAAD/AAAA/wAAAP8AAAD/Dy0D/zmp
+ Df84qg//OKoQ/zirEf83qxL/N6sT/zesFP82rBX/Nq0W/zatF/83rRT/Kbs//x3JZ/8eyGP/Hshj/x7I
+ Y/8eyGP/Hshj/x7IY/8eyGP/Hshj/x7IY/8eyGP/Hslk/x7JZP8eyGP/HcZg/xzCW/8cwVn/Fb5U/zrI
+ bv/h9+n/////////////////////////////////////////////////////////////////suCm/zCx
+ I/8fwFL/HcRf/x3EXf8dxF7/HcRe/x3EXv8dxF7/HcVe/x3GYP8fwlT/MLIj/7Lgpv//////////////
+ ///////////////////////////////////////////////////h9+r/PM52/xjFXf8exmH/HsZh/x7G
+ Yf8exmH/HsZh/x7GYf8ex2H/Hsdh/x7HYf8ex2L/Hsdi/x7HYv8ex2L/Hsdi/x7HYv8ex2L/Hsdi/x3M
+ Zv8c02v/HNNs/xzTbf8b1G7/G9Rv/xvVcP8a1XH/GtZy/xrWdP8Z2HX/Gdh2/wY5H/8AAAD/AAAA/wAA
+ AP8AAAD/AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAALwAAAPsAAAD/AAAA/wAAAP8FDwH/NZwL/zqrDf84qQ7/OKoQ/ziqEP84qxH/N6sT/zes
+ E/83rBT/Nq0W/zesFf8vtS3/Hslm/x7JZf8eyWX/Hsll/x7JZf8eyWX/Hsll/x7JZf8eyWX/Hspm/x7J
+ Zf8dx2P/HMRf/xvBWv8bwFn/G8BZ/xa/Vv8txmf/0PLd////////////////////////////////////
+ /////////////////////////////8PmuP84sSL/Hr9N/xzFYf8dxF//HcVf/x3FX/8dxV//HcVf/x3F
+ YP8dxWD/HcZg/xzHY/8fwE//OLEj/8PmuP//////////////////////////////////////////////
+ ///////////////////R89//MMxv/xrGYP8ex2P/Hsdj/x7HY/8ex2P/Hsdj/x7HY/8ex2P/Hshj/x7I
+ Y/8eyGT/Hshk/x7IZP8eyGT/Hshk/x7IZP8eyGT/Hc9n/x3Sav8c0mr/HNNs/xzTbf8b1G7/G9Rv/xvV
+ b/8b1XD/GtZy/xrZdf8Xx2z/AhMK/wAAAP8AAAD/AAAA/wAAAPsAAAAvAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAA3gAAAP8AAAD/AAAA/wAB
+ AP8rgAn/O60N/zmpDf84qg//OKoQ/ziqEP83qxL/N6sT/zesE/82rBX/NqwV/zSvHf8fx2D/Hcpo/x3K
+ Z/8dymf/Hcpn/x3KZ/8dymj/Hcpo/x3JZ/8cx2P/G8Nd/xrAWf8awFn/GsBa/xrAWv8XwFj/IMNg/73t
+ 0P/////////////////////////////////////////////////////////////////V7c3/RLIo/x+8
+ Rf8bxmP/HMVg/xzFYf8cxWH/HMZh/xzGYf8cxmH/HMZh/xzGYv8cxmL/HMdi/xvIZv8fvUj/RLMn/9Xt
+ zf////////////////////////////////////////////////////////////////+979L/JMlq/xrH
+ Y/8dyGX/Hchl/x3IZf8dyGX/Hchl/x3IZf8dyGX/Hcll/x3JZf8dyWb/Hclm/x3JZv8dyWb/Hclm/x3K
+ Zv8d0Gf/HdFo/x3Sav8c0mv/HNNs/xzTbP8b1G7/G9Rv/xvVb/8a1XH/G9x1/xOjWP8AAgH/AAAA/wAA
+ AP8AAAD/AAAA3gAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAACsAAAA/wAAAP8AAAD/AAAA/x5WBf88rwv/OagM/zmpDv84qg//OKoQ/zir
+ Ef83qxL/N6sT/zesFP82rBX/NqwU/yTBTv8bzGz/HMtp/xzLaf8cy2r/HMtq/xzJZ/8axWH/GcFc/xnA
+ Wf8ZwFr/GcFa/xnBW/8ZwVv/F8Ba/xjAW/+q6MP/////////////////////////////////////////
+ ////////////////////////4/Pd/1G1MP8guTz/GcZl/xrFYv8bxmL/G8Zi/xvGYv8bxmL/G8Zj/xvH
+ Y/8bx2P/G8dj/xvHZP8bx2T/G8dk/xrJaP8huj7/UbUw/+Pz3P//////////////////////////////
+ //////////////////////////////////+r68f/G8lm/xrIZv8cyWf/HMln/xzJZ/8cyWf/HMln/xzJ
+ Z/8cyWf/HMpn/xzKZ/8cymj/HMpo/xzKaP8cymj/Hcxn/x7RZv8d0Wj/HdFo/xzSav8c0mv/HNNs/xzT
+ bf8b1G7/G9Rv/xvVcP8b3XX/DW47/wAAAP8AAAD/AAAA/wAAAP8AAACsAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAD/AAAA/wAA
+ AP8AAAD/DSgC/zqnCv85qAv/OagM/zmpDf84qQ7/OKoQ/ziqEP84qxH/N6sT/zesE/83qxL/LLg1/xvN
+ bv8czGz/HMtr/xvIZv8Zw1//GL9a/xi/Wf8Yv1r/GcBa/xnBW/8ZwVz/GcJc/xjBXP8UwFn/kuKz////
+ /////////////////////////////////////////////////////////////+z36P9guTz/IrYy/xnG
+ Zv8axmT/GsZk/xrGZP8ax2T/G8dl/xvHZf8bx2T/G8dm/xvIZv8byGb/G8hm/xvIZv8byGb/G8ln/xrJ
+ af8itzT/YLo8/+z36P//////////////////////////////////////////////////////////////
+ //+T5rj/Fsll/xvJaP8cymr/HMpq/xzKav8cymr/HMpq/xzKav8cymr/HMpq/xzLaf8cy2r/HMtr/xzL
+ a/8dzmb/HtBl/x7RZ/8d0Wf/HdFo/x3Sav8c0mr/HNNs/xzTbf8b1G7/G9Vv/xvVb/8GMhv/AAAA/wAA
+ AP8AAAD/AAAA/wAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAPUAAAD/AAAA/wAAAP8DCQH/MY4I/zurCv85qAv/OagM/zmp
+ Df84qg//OKoQ/ziqEP83qxL/N6sT/zisEv80rx3/Hchi/xnGZf8YwVz/F75Y/xe+Wf8Xv1r/F79a/xi/
+ W/8YwFv/GMBb/xjBXf8YwV3/EMBY/3vco///////////////////////////////////////////////
+ ///////////////////3+/X/c8BN/ySxJ/8Zx2X/GcZl/xnGZP8axmX/GsZl/xrGZf8ax2b/Gsdm/xrH
+ Zv8ax2b/Gshn/xrIZ/8ayGf/Gshn/xrIZ/8ayGf/Gslp/xrJaf8ksyr/c8BN//f79f//////////////
+ //////////////////////////////////////////////////994ar/E8hl/xvKav8bymv/G8pr/xvK
+ a/8bymv/G8pr/xvKa/8bymv/G8tr/xvLa/8by2z/G8tr/x7PZP8e0GT/HtBl/x7RZ/8d0Wj/HdFo/x3S
+ av8c0mv/HNNs/xzTbf8c2HD/F7Ve/wELBf8AAAD/AAAA/wAAAP8AAAD1AAAAKgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAyQAA
+ AP8AAAD/AAAA/wAAAP8hYAX/PK4K/zqoCv85qAv/OagM/zmpDv84qg//OKoQ/zirEf83qxH/NakS/zKj
+ D/8hsjz/Fb9b/xa/Wf8Xv1r/F79a/xe/W/8XwFv/F8Bc/xjAXf8YwV3/GMFe/w/AWP9j1pP/+P36////
+ /////////////////////////////////////////////////////////P78/4bGYv8orh3/GcZk/xjH
+ Z/8Zx2X/Gcdm/xnHZv8Zx2f/Gsdn/xrHaP8ayGj/Gsho/xrIaP8ayGj/Gshp/xrJaf8ayWn/Gslp/xrJ
+ af8ayWr/Gcpr/xrJaf8prx//hsZi//z++///////////////////////////////////////////////
+ //////////////j++/9k3Jz/Esln/xvLbf8by23/G8tt/xvLbf8by23/G8tt/xvLbf8by23/G8xt/xvM
+ bv8czGj/H89i/x/PY/8e0GX/HtBl/x7RZ/8d0Wj/HdFo/xzSav8c0mv/HNNr/x3bcf8Pdz7/AAAA/wAA
+ AP8AAAD/AAAA/wAAAMkAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7AAAA/wAAAP8AAAD/AAAA/w4oAv86pwj/OqgJ/zqo
+ Cv85qAv/OakM/zmpDf83qQ7/NKQO/zCfDf8unQ7/Lp0N/ymlHv8Wvln/Fr9b/xa/W/8Wv1z/Fr9d/xbA
+ Xf8WwV7/F8Fe/xfBX/8Ov1n/UdGH//L79v//////////////////////////////////////////////
+ //////////////////+Yznf/LKoV/xnEYf8Xx2n/GMdn/xjIaP8YyGj/GMhp/xjIaf8YyGn/Gchq/xnI
+ av8ZyWr/Gclq/xnJa/8ZyWv/Gclr/xnKa/8Zymz/Gcps/xnKbP8Zymz/GMtu/xrIZ/8sqxb/mM52////
+ //////////////////////////////////////////////////////////////L89/9S2JL/Ecpp/xrM
+ b/8azHD/Gsxw/xrMcP8azHD/Gsxw/xrMcP8azHD/Gsxv/x7NY/8fzmD/H85i/x/PY/8e0GT/HtBl/x7R
+ Z/8d0Wf/HdFo/x3Sav8c02v/HNJr/wcwGf8AAAD/AAAA/wAAAP8AAAD/AAAAewAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ACoAAAD1AAAA/wAAAP8AAAD/AQQA/y6DBv88qwn/OqgJ/zqoCv83pQr/MqAL/y+bCv8tmgv/LZsM/y6c
+ Df8unQ3/Lp4O/xy1RP8UwF7/Fb9c/xW/Xf8Vv13/FcBd/xXBX/8WwV//D8Bb/z7Ne//l+O3/////////
+ ////////////////////////////////////////////////////////q9aN/zOoDv8aw1v/F8hr/xfH
+ aP8Xx2j/F8hp/xfIaf8XyGr/F8hq/xjIav8YyGr/GMhr/xjJa/8YyWv/GMlr/xjJbP8YyWz/GMps/xjK
+ bP8Yym3/GMpt/xjKbf8Yym3/GMxx/xvGYf8zqQ//q9aN////////////////////////////////////
+ /////////////////////////////+X67/9A1Yn/Ests/xnMcP8ZzHH/Gcxx/xnMcf8ZzHH/Gcxx/xnM
+ cv8bzGv/IM1e/x/OX/8fzmH/H89j/x/PY/8e0GX/HtBl/x7RZ/8d0Wj/HdFo/x3Xbf8WplT/AQUC/wAA
+ AP8AAAD/AAAA/wAAAPUAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAALkAAAD/AAAA/wAAAP8AAAD/GEMD/zyr
+ B/82oQj/MZsH/y6YB/8tlwj/LpgJ/y6aCv8tmwr/LpsM/y6cDf8vnAv/J6Yi/xW/XP8UwF3/FcBe/xXA
+ Xv8VwF//FcFg/xHAXf8ryHD/1/Tk////////////////////////////////////////////////////
+ /////////////8Dgqf87pw3/G8BU/xbIbP8XyGn/F8hq/xfIav8XyGv/F8lr/xfJa/8XyWv/F8ls/xjJ
+ bP8YyWz/GMlt/xjKbf8Yym3/GMpt/xjKbv8Yym7/GMtu/xjLb/8Yy2//GMtv/xjLb/8Yy2//F81z/xzE
+ Wv87pw3/wOCp/////////////////////////////////////////////////////////////////9f3
+ 5/8u0oD/Fcxw/xnNc/8ZzXP/Gc1z/xnNc/8ZzXT/Gc1z/x7MY/8gzF3/IM1e/x/OX/8fzmH/H89i/x7P
+ ZP8e0GX/HtBl/x7RZ/8d0Wj/Hths/wtVK/8AAAD/AAAA/wAAAP8AAAD/AAAAuQAAAAIAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAWgAAAP8AAAD/AAAA/wAAAP8EDQD/KoYE/y6WBf8tlAb/LZYG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmwr/LZsM/y6cDP8vnAz/HbRB/xPCYf8UwV//FMFg/xTBYP8UwWH/EcFe/6zpx///////////////
+ ///////////////////////////////////////////////////O57z/Q6kQ/xy9S/8VyW7/Fshr/xbI
+ a/8WyWz/Fsls/xbJbP8WyW3/Fslt/xbJbv8WyW7/Fspu/xfKb/8Xym//F8pv/xfLcP8Xy3D/F8tw/xfL
+ cP8Xy3D/F8xx/xfMcf8XzHH/F8xx/xfMcv8XzHL/Fs92/x3BUf9DqBH/zua8////////////////////
+ /////////////////////////////////////////////63uzv8UzXP/GM51/xjOdf8Yznb/GM52/xjO
+ d/8bzWz/Ictb/yDLXf8gzF7/IM1e/x/OX/8fzmD/H89i/x/PY/8e0GT/HtBl/x7UaP8aulz/AhEI/wAA
+ AP8AAAD/AAAA/wAAAP8AAABaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAA2QAAAP8AAAD/AAAA/wAA
+ AP8XTAL/L5oE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y+cC/8qoxr/Fb9a/xPB
+ Yf8TwWD/E8Fh/xDBYP8yynb/8fv1////////////////////////////////////////////////////
+ ////////2+7P/1CsG/8euUD/E8lw/xXIbP8VyWz/Fclt/xXJbf8Vym7/Fcpu/xXKbv8Vym//Fcpv/xXK
+ b/8Wym//Fspw/xbLcP8Wy3H/Fstx/xbLcf8WzHL/Fsxy/xbMcv8WzHL/Fs1z/xbNc/8WzXP/Fs1z/xbN
+ dP8WzXT/Fc94/x+9Rv9PrBv/2+7P////////////////////////////////////////////////////
+ ////////8fz3/zTViP8TznX/F893/xfPd/8Xz3j/F892/x/LXv8gylr/Ictc/yDLXf8gzF7/IM1e/x/O
+ X/8fzmH/H89j/x/PY/8e0GX/H9lq/w9sNf8AAAD/AAAA/wAAAP8AAAD/AAAA2QAAAA4AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAB5AAAA/wAAAP8AAAD/AAAA/wUSAP8phwP/LpYE/y6UBv8tlQb/LZYG/y6X
+ B/8tmAj/LpgK/y6ZCv8tmwr/LZsM/y+bCv8hrTP/EsJj/xPBYf8TwmL/DMBe/0vRiP/9////////////
+ /////////////////////////////////////////////+n04f9csSf/ILQ1/xTJcP8VyW3/Fclt/xXI
+ bf8VyW3/Fcpu/xXJbv8Vym//Fctv/xXLcP8Vy3D/Fctw/xbLcP8WynH/Fstx/xbMcv8WzHL/Fstz/xbM
+ c/8WzXP/Fs10/xbNdP8WzHT/Fs10/xbOdf8WznX/Fs51/xbOdf8Wznb/FdB6/yC5O/9csSf/6fTh////
+ ///////////////////////////////////////////////////9////TtuZ/xHOdP8X0Hn/F9B4/xfQ
+ ev8czGb/IclW/yDKWf8gylr/Ictc/yHLXf8gzF7/IM1e/x/OX/8fzmH/H85i/x/SZf8bvlz/AxkM/wAA
+ AP8AAAD/AAAA/wAAAP8AAAB2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAADmAAAA/wAA
+ AP8AAAD/AAAA/xZIAf8vmAP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwv/LZsL/y2d
+ Dv8YuU3/EcNl/xLCY/8NwWH/Pst6//j89///////////////////////////////////////////////
+ ///y+e3/bbg7/yOxKv8TyXD/FMhu/xTIbv8UyW//FMlv/xTJb/8UynD/FMpw/xTKcf8Uy3H/FMty/xTL
+ cv8Uy3L/FMtz/xXLc/8Vy3P/Fcx0/xXMdP8VzHT/Fcx1/xXNdf8VzXX/Fc12/xXNdv8VzXb/Fc53/xXO
+ d/8Vznf/Fc53/xXOeP8Vznn/FNB7/yO0L/9tuDr/8vnt////////////////////////////////////
+ //////////////j8+P9A1ov/EdB5/xbQe/8W0Hz/Gc5y/yHJVv8hyVf/IclY/yDKWf8gylr/Ictc/yDL
+ Xf8gzF7/IM1e/x/OX/8fzmD/INdm/w9lMP8AAAD/AAAA/wAAAP8AAAD/AAAA5gAAABoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAD/AAAA/wAAAP8AAAD/BAsA/yd/A/8ulgP/LZQE/y6U
+ Bv8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LpoJ/ymiG/8Tv13/EcNl/xDDZv8evFH/0+vH////
+ ////////////////////////////////////////+fz4/37AUP8mrR//E8ht/xPIb/8TyG7/E8lv/xPJ
+ cP8TynD/E8px/xPKcf8Ty3H/E8ty/xPLcv8TzHP/E8xz/xPMc/8UzHT/FMx0/xTMdf8UzHX/FMx1/xTN
+ dv8UzXb/FM12/xTNd/8Uznf/FM53/xTOeP8Uznj/FM94/xTPeP8Uz3n/FM95/xTPef8Uz3r/FNB6/yaw
+ I/9+wE//+fz4////////////////////////////////////////////0+vH/yDHYv8T0n//FdF9/xbQ
+ ev8gyVv/IshU/yHJVv8hyVf/IcpY/yDKWf8gylr/Ictc/yDLXf8gzF7/IM1e/yDSYf8bs1T/AhAI/wAA
+ AP8AAAD/AAAA/wAAAP8AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAA
+ AOAAAAD/AAAA/wAAAP8AAAD/ETcA/y6VA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmwv/L5oJ/yOqK/8Qw2X/EMRn/xC9VP9mu0T/9fnw////////////////////////////////////
+ //+Ox2X/KqoW/xTHav8SyXD/E8lv/xPJcP8TyXD/E8px/xPKcf8Ty3L/E8ty/xPLc/8TzHP/E8xz/xPM
+ dP8TzXX/E811/xPNdf8UzXb/FM12/xTNd/8UzXf/FM13/xTOeP8Uznj/FM54/xTOef8Uz3n/FM95/xTP
+ ef8Uz3r/FNB6/xTQev8U0Hr/FNB7/xTQev8T0Xz/Fc94/yusGv+Ox2T/////////////////////////
+ //////////////X57/9mvEb/E8pq/xTTf/8V0n7/Hsph/yPHUf8ix1T/IshV/yHIVf8hyVf/IclY/yDK
+ Wf8gylr/Ictc/yDLXf8gzF7/IdJh/wxNJP8AAAD/AAAA/wAAAP8AAAD/AAAA4AAAABcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAP8AAAD/AAAA/wAAAP8BAwD/IWsB/y6X
+ A/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwr/LpoJ/x6vOv8PxGj/EMVq/ySv
+ Kf9wuD3/1+zK///////////////////////m897/iMRf/zCoEv8TxGX/Eclx/xLJb/8SyXD/Espx/xLK
+ cv8SynL/Esty/xLLc/8Sy3T/Esx0/xLMdP8SzHX/Es12/xLNdv8SzXf/E813/xPNd/8TzXj/E854/xPO
+ ef8Tznn/E855/xPPev8Tz3r/E896/xPPe/8T0Hv/E9B7/xPQe/8T0Hz/E9B8/xPRfP8T0X3/E9F9/xPR
+ ff8S0oD/Fs1z/zCqFf+IxF//5vPe///////////////////////X7Mr/b7g8/yW2NP8T1IT/E9KC/xvM
+ aP8kxk//I8dS/yLHU/8ix1T/IshV/yHJVv8hyVf/IclY/yDKWf8gylr/Ictc/yHSYP8Xk0P/AQQC/wAA
+ AP8AAAD/AAAA/wAAAP8AAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAMAAAAzgAAAP8AAAD/AAAA/wAAAP8JHAD/K4sC/y6UA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6aCv8tmgr/LZsM/xu1Rf8Pxmz/EsNl/ymrHP9FpQj/cLk//5bMc/+aznj/eL1K/02o
+ EP8upw7/FcNg/xDJcv8RyHD/Eslx/xLJcf8SynL/Espz/xLKc/8Sy3T/Est1/xLLdf8SzHb/Esx2/xLM
+ dv8SzXf/Es13/xLNeP8SzXj/E815/xPNef8Tznn/E856/xPOev8Tznr/E897/xPPe/8Tz3z/E898/xPQ
+ ff8T0H3/E9B9/xPQfv8T0H7/E9F+/xPRfv8T0X//E9F//xPRf/8S04L/F8xv/y+pEv9NpxD/eL1K/5rO
+ eP+WzHP/cLk+/0WkB/8pryT/FdF9/xLThv8azW7/I8VO/yPGT/8jxlH/I8dS/yLHU/8ix1T/IchV/yHJ
+ Vv8hyVf/IcpY/yDKWf8hzVv/H8FY/wYmEf8AAAD/AAAA/wAAAP8AAAD/AAAAzgAAAAwAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFAAAA+gAAAP8AAAD/AAAA/wAA
+ AP8TQAD/LpYC/y2SA/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmgn/LZwP/xq3
+ Sf8Oxm3/EcRo/yC3P/8tqBP/MaMC/zGjAf8vpw3/JLU2/xPGZ/8PynL/EMlw/xHJcf8RyXL/Ecpy/xHK
+ c/8Ry3T/Ect0/xHLdf8RzHb/Ecx2/xHMd/8RzXf/Ec13/xHNeP8Rznj/Ec55/xHOef8Sznr/Es56/xLO
+ e/8Sznv/Es98/xLPfP8Sz3z/Es99/xLQff8S0H3/EtB+/xLRfv8S0X7/EtF//xLRf/8S0X//EtJ//xLS
+ gP8S0oD/EtKA/xLSgP8R04T/FdB4/yW6P/8vqRH/MaQD/zGkBP8urBn/Ir9O/xPSgP8Q1Yf/GM5w/yPF
+ Tv8kxUz/JMVO/yPGT/8jxlH/I8dS/yLHU/8ix1T/IshV/yHIVf8hyVf/IcpY/yHQW/8OWSf/AAAA/wAA
+ AP8AAAD/AAAA/wAAAPoAAABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAACaAAAA/wAAAP8AAAD/AAAA/wECAP8eYgH/L5cC/y2SA/8tkwP/LZQE/y6U
+ Bf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8umgn/LZwO/xm3Sv8Ox2//Dcdv/w/GbP8TxGT/E8Rk/xDH
+ bP8OyXP/Dslx/w/Jcf8QynL/EMpy/xDKc/8QynT/EMp0/xDLdf8Qy3b/EMx2/xDMd/8QzHj/EM14/xDN
+ ef8Qznn/EM56/xDOev8Qz3r/Ec97/xHPe/8Rz3z/Ec98/xHPfP8Rz33/EdB+/xHQfv8R0H7/EdB//xHR
+ f/8R0YD/EdGA/xHRgP8R0oH/EdKB/xHSgf8R0oH/EdOC/xHTgv8R04L/EdOC/xHTg/8Q1IX/ENWI/xLT
+ gf8Vz3j/FdB5/xHUhf8Q1on/EdWJ/xnOcP8kxEv/JcRK/yTETf8kxU3/JMVO/yPGUP8jxlH/I8dS/yLH
+ U/8ix1T/IshV/yHJVv8i0Vr/Fok8/wEDAf8AAAD/AAAA/wAAAP8AAAD/AAAAmgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAADbAAAA/wAA
+ AP8AAAD/AAAA/wUQAP8mfQH/LpYC/y2SA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6a
+ Cv8tmgn/LZwO/xu1Rv8Nx2//Dsdt/w7Hb/8OyHD/Dshw/w/JcP8PyXH/D8py/w/Kcv8QynP/EMp0/xDK
+ dP8Qy3X/EMt1/xDMdv8QzHf/EM14/xDNef8QzXn/EM56/xDOev8Qz3v/EM98/xDPfP8Q0Hz/EdB9/xHQ
+ ff8R0H7/EdB+/xHQfv8R0H//EdF//xHRgP8R0YD/EdGA/xHSgf8R0oH/EdKC/xHSgv8R04P/EdOD/xHT
+ g/8R04P/EdOE/xHUhP8R1IT/EdSE/xHUhf8R1IX/ENWF/xDVh/8Q1Yf/ENWH/xDWif8ZzW7/JcJJ/yXD
+ R/8lxEr/JMRM/yTETf8kxU3/I8VO/yPGUP8jxlH/I8dS/yLHU/8ix1T/I81X/xysSv8DFgr/AAAA/wAA
+ AP8AAAD/AAAA/wAAANsAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkAAAD6AAAA/wAAAP8AAAD/AAAA/wsjAP8qiQH/LZQC/y2S
+ A/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmgn/LZsM/x6xPP8Ox23/Dchw/w7I
+ b/8OyHD/Dslx/w7Jcv8PynP/D8pz/w/LdP8Py3X/D8t1/w/Ldv8PzHb/D8x3/w/NeP8PzXn/D855/w/O
+ e/8Pznv/D897/w/PfP8Pz33/D9B9/xDQff8Q0H7/ENB+/xDQf/8Q0H//ENGA/xDRgP8Q0YH/ENGB/xDS
+ gv8Q0oL/ENKD/xDTg/8Q04P/ENOD/xDThP8Q1IT/ENSE/xDUhP8Q1IX/ENSG/xDVhv8Q1Yb/ENWG/xDV
+ h/8Q1Yf/ENWH/w/Wif8Q1Yj/G8pl/ybBRf8mwUX/JcFI/yXDSP8lxEr/JMRL/yTETf8kxU3/JMVO/yPG
+ T/8jxlH/I8dS/yLKVP8gvlD/CC4U/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAASQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AIEAAAD/AAAA/wAAAP8AAAD/AAAA/xA0AP8skQH/LZMC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6ZCv8tmgr/LpoJ/yOpLP8Qw2b/DMp0/w3Icf8NyXL/Dclz/w7Kc/8OynT/Dst1/w7L
+ dv8Oy3f/Dst3/w7MeP8OzHj/Ds15/w7Nev8Oznv/Ds57/w7OfP8Oz33/Ds99/w7Pfv8O0H7/D9B//w/Q
+ f/8P0ID/D9CA/w/Qgf8P0YH/D9GC/w/Rgv8P0YL/D9KD/w/ShP8P0oT/D9OF/w/Thf8P04X/D9OG/w/U
+ hv8P1Ib/D9SG/w/Uh/8P1If/D9WI/w/ViP8P1Yj/D9WI/w/Vif8O1oz/EdSC/x/GWP8ov0H/JsBE/ybB
+ Rv8mwUb/JcFI/yXDSf8lxEr/JMRL/yTETf8kxU3/JMVO/yPGUP8jyFL/I8hS/wxIHv8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAALQAAAD/AAAA/wAAAP8AAAD/AAAA/xVF
+ AP8tkgH/LZMC/y2SA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwr/LpkI/ymi
+ G/8WvFb/DMp1/wzKdf8NynP/Dcp0/w7Ldf8Oy3b/Dst3/w7Ld/8OzHj/Dsx6/w7Mef8OzXr/Ds57/w7O
+ e/8Ozn3/Ds99/w7Pfv8O0H//DtB//w7QgP8O0YH/D9GB/w/Rgf8P0YH/D9GC/w/Rg/8P0oT/D9KE/w/S
+ hP8P0oT/D9OF/w/Thf8P04X/D9OH/w/Uh/8P1If/D9SH/w/ViP8P1Yj/D9WI/w/Vif8P1Yn/D9aJ/w/W
+ if8O14v/DteN/xXPdv8jwUv/KL4//ye/Qv8nwEP/JsBF/ybBRv8mwUf/JcJI/yXDSf8lxEr/JMRM/yTE
+ Tf8kxU3/JMZP/yTJUf8RXyf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC0AAAABwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAGQAAANUAAAD/AAAA/wAAAP8AAAD/AAAA/xhPAP8ulQH/LZIC/y2SA/8tkgP/LZQE/y6U
+ Bf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwr/LpoJ/y6cDf8fsDn/DsZq/wvMeP8Ny3b/Dct2/w3M
+ dv8NzHj/Dcx4/w3Mef8NzXr/Dc16/w3Ne/8Nznz/Dc59/w3Pff8Nz3//DdB//w3QgP8N0ID/DdGB/w7R
+ gf8O0oL/DtKD/w7Sg/8O0oP/DtKE/w7ShP8O04X/DtOF/w7Thf8O04b/DtSH/w7Uh/8O1If/DtSI/w7V
+ iP8O1Yn/DtWK/w7Viv8O1or/DtaK/w7Wi/8O1ov/DdiO/xDVhP8cx17/J7w+/yi8Pf8nvUD/J79B/ye/
+ Qv8nwEP/JsBE/ybARf8mwUb/JcFI/yXDSP8lxEr/JMRL/yTFTf8lzFD/E2oq/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA1QAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAOgAAAD/AAAA/wAA
+ AP8AAAD/AQIA/xlRAP8ulQH/LZMC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6Z
+ Cv8tmwv/LZsL/y+bCf8qoxv/GblO/w3JdP8MzXv/DMx4/w3MeP8NzHn/Dcx6/w3Ne/8NzXz/Dc18/w3O
+ ff8Nzn7/Dc9+/w3Pf/8N0ID/DdCB/w3Qgf8N0YL/DtGD/w7Rg/8O0oT/DtKE/w7ShP8O0oX/DtKG/w7S
+ hv8O04f/DtOH/w7Th/8O1Ij/DtSJ/w7Uif8O1Ir/DtWK/w7Viv8O1Yv/DtWL/w7Wi/8N14z/DdeP/w7W
+ i/8Yy2z/Jb5F/ym6OP8nvDz/J7w9/ye9P/8nvUH/J79B/ye/Qv8nwEP/JsBE/ybBRv8mwUb/JcJI/yXD
+ Sf8lxUr/JcpO/xRvK/8BAwH/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAAAxAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAPMAAAD/AAAA/wAAAP8AAAD/AQEA/xhNAP8tkwH/LZMC/y2S
+ A/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwr/LpsM/y+cC/8vnAv/Jqgm/xa+
+ V/8Ny3b/C85+/wvNe/8MzHv/DM18/wzNff8Mzn7/DM5//wzOf/8Mz4D/DNCA/wzQgf8M0YL/DNGD/w3R
+ g/8N0oT/DdKE/w3Shf8N04b/DdOG/w3Th/8N04f/DdOH/w3Tif8N1In/DdSJ/w3Uiv8N1Ir/DdWL/w3V
+ jP8N1Yz/DdWM/w3WjP8M147/DNeR/w7Wi/8VznP/IsBL/yq5Nv8pujj/KLs6/yi8O/8nvDz/J709/ye9
+ P/8nvUH/J79C/ye/Qv8nwEP/JsBF/ybBRv8mwUb/JcRJ/yXGSv8TaSf/AAIB/wAAAP8AAAD/AAAA/wAA
+ AP8AAADzAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAA
+ APQAAAD/AAAA/wAAAP8AAAD/AAAA/xRAAP8sjwH/LpQC/y2SA/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6ZCv8tmwr/LZsM/y6cDP8vnAv/L50M/yeoJP8ZulD/Dsly/wrPf/8KzoD/C85+/wvO
+ fv8Lz3//C89//wvPgf8L0IH/C9CC/wvRg/8M0YT/DNKE/wzShf8M0oX/DNOG/wzTh/8M04f/DNOI/wzT
+ iP8M1Ij/DNSJ/wzUiv8M1Yr/DNWL/wzVi/8M1Yz/DNaN/wzWjv8L15D/C9iR/w7Uhv8Xymr/JL1F/yq3
+ M/8quDP/Kbk3/ym6OP8pujn/KLs6/yi7O/8nvDz/J7w9/ye9P/8nvUD/J79B/ye/Qv8nwEP/JsBE/yfE
+ R/8mwEf/EVcg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9AAAAFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/w8y
+ AP8qiAH/LpYC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y6c
+ Df8unQ3/L50M/y+eDP8qoxv/H7I9/xTBYP8MzHn/CtCC/wnRhP8K0YL/CtCD/wvQgv8L0YL/C9GE/wvS
+ hP8M0oX/DNOG/wzTh/8M04f/DNSI/wzUiP8M1In/DNSK/wzUiv8M1Ir/DNWL/wzVjP8L1o3/C9eP/wrX
+ kf8L15H/DdWK/xXNdP8dwlf/J7k6/yu1L/8qtjH/Krcz/yq4Nf8puTb/Kbk3/ym6OP8oujn/KLs6/yi8
+ O/8nvDz/J7w9/ye9P/8nvUH/J79B/ye/Qv8oxUX/JLVA/w1DGP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ APMAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAUgAAAPQAAAD/AAAA/wAAAP8AAAD/AAAA/wkfAP8leAH/L5cC/y2SA/8tkwP/LZQE/y6U
+ Bv8tlQb/LZYG/y6XB/8tmAj/LpgK/y6ZCv8tmwr/LZsM/y6cDP8unQ3/Lp4P/y6eDv8vnQ3/Lp8R/ymn
+ If8hsjv/F75X/xDJcP8Mzn7/CdKG/wnTiP8J04n/CtOI/wrUif8K1In/CtSK/wrUiv8K1Yv/CtWM/wrW
+ jP8K1o7/CtaP/wrWj/8K15H/CteQ/w3Uif8Q0H7/F8lo/x+/UP8ntzn/K7Mt/yyzK/8qtC//KrUx/ym2
+ Mv8ptzP/Krcz/yq4Nf8puTb/Kbk3/ym6OP8pujn/KLs6/yi7O/8nvDz/J7w9/ye9P/8nvkH/KMZE/yCf
+ N/8IKA7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD0AAAAUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAOsAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wQNAP8dXQD/LpUC/y6UA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmwv/LZsM/y6cDP8unQ7/Lp4P/y6fD/8tnxD/Lp8Q/y+fDv8voRD/LaQX/yiqJ/8jsjj/HblJ/xjA
+ Wv8Uxmb/Espv/xHLc/8Pznr/D898/w/Pff8Pz3z/Ec13/xLMdf8Uym7/GMVi/x3AVP8iu0X/JrU3/yqx
+ K/8ssCb/LLEm/yyxKf8rsiv/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krc0/yq4Nf8puTb/Kbk3/ym6
+ OP8oujn/KLs6/yi7O/8nvDz/J78+/yjCQf8Zeir/AxEG/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6wAA
+ AE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAANwAAAD/AAAA/wAAAP8AAAD/AAAA/wABAP8SOwH/KocC/y+X
+ A/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y6cDf8unQ7/Lp4P/y6f
+ EP8tnxH/LqAS/y6hEv8uoRL/L6ER/y+iEf8vohL/LqQU/y6kFf8tpxr/LKgd/yqqI/8qrCX/Kq0m/yqt
+ Jv8srCP/LKwh/y2rHv8tqx//Lawg/y2sIf8triT/LK8m/yuwJ/8rsSn/K7Iq/yuyK/8rsiz/K7Mt/yu0
+ L/8qtDD/KrUx/yq2Mv8qtzP/Krc0/yq4Nf8puTb/Kbk3/ym6OP8oujn/KLw6/ynDPf8krjj/EE0Z/wAB
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANwAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAA
+ AL8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8HFwD/HmMB/y6UA/8ulgP/LZQE/y6UBf8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6ZCv8tmgr/LZsM/y6cDP8unQ3/Lp4P/y6fD/8unxD/LqAS/y6hEv8uohP/LqIU/y6j
+ Ff8upBb/LaUX/y2lGP8uphj/LqcZ/y2nGv8tqBv/Lakc/y2qHv8tqh//Lawg/yysIf8srSL/LK0j/yyu
+ JP8sryX/LK8m/yuwJ/8rsSj/K7Ip/yuyK/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krcz/yq4
+ Nf8puTb/Kbk3/yq+Ov8pvTr/G34n/wYeCf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC/AAAAIgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAJMAAAD+AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/EDMB/yV5Av8vmAP/LpcE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwv/LZsM/y6c
+ DP8unQ7/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2n
+ G/8tqBz/Lakd/y2qH/8tqh//Lawg/yysIf8srSL/LK0k/yyuJP8sryX/LLAn/yuwJ/8rsSj/K7Iq/yuy
+ K/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krc0/yu8Nv8qwDj/Ipou/w5BFP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD+AAAAkwAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAF0AAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwkA/xVEAf8oggP/L5oE/y+W
+ Bv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwv/LZsM/y6dDf8unQ7/Lp4P/y6fEP8tnxH/LqAS/y6h
+ Ev8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Laca/y2nG/8tqBz/Lakd/y2qHv8tqx//LKwg/yys
+ If8srSP/LK0k/yyuJP8sryb/LLAn/yuwJ/8rsSn/K7Iq/yuyK/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq5
+ M/8rvzX/JaIu/xNVGP8CCwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA5QAAAF0AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAACzAAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUPAP8VRwL/J4EE/y+YBf8umQb/LpcG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmgr/LZsM/y6cDP8unQ3/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2l
+ GP8tpxn/Lqca/y2nG/8tqBz/Lakd/y2qHv8tqh//Lawg/yysIf8srSL/LK0j/yyuJP8sryX/LK8m/yuw
+ J/8rsSj/K7Ip/yuyK/8rsiz/K7Mt/yy5MP8rujH/JZ4r/xRYGP8EEwX/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAALMAAAAmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABmAAAA4wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8EDQD/Ez4B/yR1BP8tlQb/L5wH/y+aB/8tmAj/LpgJ/y6ZCv8tmwv/LZsM/y6cDP8unQ7/Lp4P/y6f
+ D/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2nG/8tqBz/Lakd/y2q
+ H/8tqh//LKwg/yysIf8srSL/LK0k/yyuJP8sryX/LLAn/yuwJ/8rsij/LLUq/y25LP8rsyz/Io4k/xJL
+ E/8DEAT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOEAAABjAAAABAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAfAAAAlQAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQQA/wwmAf8bWwT/KIYF/y+a
+ B/8vngn/L5sJ/y6aCv8tmwv/LZsM/y6cDf8unQ7/Lp4P/y6fEP8tnxH/LqAS/y6hEv8uohP/LqIU/y6j
+ Ff8upBb/LaUX/y2lGP8tpxn/Laca/y2nG/8tqBz/Lakd/y2qHv8tqyD/LKwg/yysIf8srSP/LK0k/yyu
+ JP8tsib/LrYo/yyzKP8mniT/GmwZ/wsuC/8BBAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ APcAAACVAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAK0AAAD7AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DCwD/Di8C/xtaBP8mgAf/LZYJ/zCeCv8voAv/L58M/y6e
+ DP8ung3/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2n
+ G/8tqBz/Lakd/y2rHv8urCD/LrAh/y6yI/8usyP/LKoj/yWSH/8aaBb/DTYM/wMMA/8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPsAAACtAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACvAAAA+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wIFAP8JHgL/Ez8E/x1gBv8kewn/Ko8L/y6bDP8voA7/MKQP/zCmEP8vpRH/L6US/y+l
+ E/8vpRP/L6YU/y+nFv8vqBb/L6kY/y6qGf8vrRr/MK8b/y+uHP8uqx3/Lagd/ymdHP8khxn/G2sU/xJG
+ Df8JIgf/AgYB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkAAACvAAAAQAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAA5AAAAnwAAAOwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEE
+ AP8EDwH/CiAC/xE5BP8WTAf/G10J/x5oCv8gcQz/I3sO/yWCDv8lgw//JYMQ/yWEEf8kfhH/IHYR/x1s
+ EP8bYg7/FlEN/xA9Cv8KIwb/BBAD/wEEAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAOwAAACfAAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAHIAAADHAAAA+wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAQD/AQMA/wEDAP8BAwD/AQMA/wABAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAMcAAAByAAAAIgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA2AAAAgQAAAMoAAAD5AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD5AAAAygAA
+ AIEAAAA2AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAABwAAAC4AAABqAAAAqQAAAN4AAAD2AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA9gAAAN4AAACpAAAAagAAAC4AAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAA
+ ADEAAABZAAAAhwAAALIAAADPAAAA5QAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD3AAAA5QAAAM8AAACyAAAAhwAAAFkAAAAxAAAACwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAZAAAAKgAA
+ ADcAAABNAAAAXgAAAGoAAABpAAAAaQAAAGkAAABpAAAAagAAAF4AAABNAAAANwAAACoAAAAZAAAABgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////+AAB/////////////////
+ wAAAA////////////////gAAAAB///////////////AAAAAAD/////////////+AAAAAAAH/////////
+ ///+AAAAAAAAf///////////+AAAAAAAAB///////////+AAAAAAAAAH///////////AAAAAAAAAA///
+ ////////AAAAAAAAAAD//////////gAAAAAAAAAAf/////////gAAAAAAAAAAB/////////wAAAAAAAA
+ AAAP////////4AAAAAAAAAAAB////////8AAAAAAAAAAAAP///////+AAAAAAAAAAAAB////////AAAA
+ AAAAAAAAAP///////gAAAAAAAAAAAAB///////wAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAB//////
+ 8AAAAAAAAAAAAAAP/////+AAAAAAAAAAAAAAB//////gAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAD
+ /////4AAAAAAAAAAAAAAAf////+AAAAAAAAAAAAAAAH/////AAAAAAAAAAAAAAAA/////gAAAAAAAAAA
+ AAAAAH////4AAAAAAAAAAAAAAAB////8AAAAAAAAAAAAAAAAP////AAAAAAAAAAAAAAAAD////gAAAAA
+ AAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///w
+ AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//+AAAAAAAAAAAAAAAAAH///gAAAAAAAAAAAAAAAA
+ B///wAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAA///gAAAAAAAAAAA
+ AAAAAAH//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAD//wAAAAAA
+ AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/4A
+ AAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAA
+ AH/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAA
+ AAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAA
+ AAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wA
+ AAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAA
+ AD/8AAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAA
+ AAAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAD//wAAAAAA
+ AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAAAAAB//+A
+ AAAAAAAAAAAAAAAAAf//gAAAAAAAAAAAAAAAAAH//8AAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAA
+ A///4AAAAAAAAAAAAAAAAAf//+AAAAAAAAAAAAAAAAAH///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAA
+ AAAAAA////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH////AAAAAAAAAAAAAAAAD////4AAAAA
+ AAAAAAAAAAB////+AAAAAAAAAAAAAAAAf////wAAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAH/////
+ gAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAA//////gAAAAAAAAAAAAAAf/////8AAAAAAAAAAAAAAP
+ //////gAAAAAAAAAAAAAH//////8AAAAAAAAAAAAAD///////gAAAAAAAAAAAAB///////8AAAAAAAAA
+ AAAA////////gAAAAAAAAAAAAf///////8AAAAAAAAAAAAP////////gAAAAAAAAAAAH////////+AAA
+ AAAAAAAAH/////////wAAAAAAAAAAD/////////+AAAAAAAAAAB//////////4AAAAAAAAAB////////
+ ///gAAAAAAAAB///////////+AAAAAAAAB////////////4AAAAAAAB/////////////gAAAAAAB////
+ /////////+AAAAAAB//////////////8AAAAAD///////////////8AAAAP////////////////+AAB/
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////8=
+
+
+
\ No newline at end of file
diff --git a/EleBox.App/Model/DynStatDiskModel.cs b/EleBox.App/Model/DynStatDiskModel.cs
new file mode 100644
index 0000000..5eadbfc
--- /dev/null
+++ b/EleBox.App/Model/DynStatDiskModel.cs
@@ -0,0 +1,59 @@
+using FreeSql.DataAnnotations;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml.Linq;
+
+namespace DynStatDisk.App.Model
+{
+ ///
+ /// 动静盘模型信息
+ ///
+ [Table(Name = "dbo.DynStatDiskModel")]
+ public class DynStatDiskModel
+ {
+ ///
+ /// 主键
+ ///
+ [Column(IsPrimary = true,IsIdentity =true)]
+ public long Id { get; set; }
+
+ ///
+ /// 机种番号
+ ///
+ [Column(Name = "ModelNo", IsNullable = false, StringLength = 20)]
+ public string ModelNo { get; set; }
+
+ ///
+ /// 间隙检测
+ ///
+ [Column(Name = "GapInfo", IsNullable = false, StringLength = 10)]
+ public string GapInfo { get; set; }
+
+ ///
+ /// DynStatDiskKeyMatch 绑定首字符
+ ///
+ [Column(Name = "DynStatDiskKeyMatch", IsNullable = true, StringLength = 10)]
+ public string DynStatDiskKeyMatch { get; set; }
+
+ /////
+ ///// 电器盒盖
+ /////
+ //[Column(Name = "DynStatDiskConver", IsNullable = false, StringLength = 10)]
+ //public string DynStatDiskConver { get; set; }
+
+ /////
+ ///// ESOPPath 照片路径
+ /////
+ //[Column(Name = "ESOPPath", IsNullable = false, StringLength = 400)]
+ //public string ESOPPath { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ [Column(ServerTime = DateTimeKind.Local, CanUpdate = false)]
+ public DateTime CreateTime { get; set; }
+ }
+}
diff --git a/EleBox.App/Model/GDynStaticMach.cs b/EleBox.App/Model/GDynStaticMach.cs
new file mode 100644
index 0000000..a6e7bb5
--- /dev/null
+++ b/EleBox.App/Model/GDynStaticMach.cs
@@ -0,0 +1,66 @@
+using FreeSql.DataAnnotations;
+using System;
+
+namespace DynStatDisk.App.Model
+{
+ ///
+ /// G型动静盘组装机
+ ///
+ [Table(Name = "dbo.GDynStaticMach")]
+ [Index("IX_CreateTime", "CreateTime", false)]
+ [Index("IX_CylinderNo", "CylinderNo", false)]
+ [Index("IX_DynaDiskNo", "DynaDiskNo", false)]
+ [Index("IX_StaticDiskNo", "StaticDiskNo", false)]
+ public class GDynStaticMach
+ {
+ ///
+ /// Id
+ ///
+ [Column(IsIdentity = true)]
+ public long Id { get; set; }
+
+ ///
+ /// 筒体编号
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string CylinderNo { get; set; }
+ ///
+ /// 动盘编号
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string DynaDiskNo { get; set; }
+ ///
+ /// 静盘编号
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string StaticDiskNo { get; set; }
+ ///
+ /// 欧式机构
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string EuropMacine { get; set; }
+ ///
+ /// 静盘铸件号
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string StaDskCastNo { get; set; }
+ ///
+ /// 员工编号
+ ///
+ [Column(DbType = "nvarchar(6)")]
+ public string OpNo { get; set; }
+
+ /////
+ ///// 扭矩值
+ /////
+ //[Column(DbType = "decimal(8, 2)")]
+ //public decimal Torque { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ [Column(DbType = "datetime DEFAULT(GETDATE())")]
+ public DateTime CreateTime { get; set; }
+
+ }
+}
diff --git a/EleBox.App/Model/GapData.cs b/EleBox.App/Model/GapData.cs
new file mode 100644
index 0000000..fcc612b
--- /dev/null
+++ b/EleBox.App/Model/GapData.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DynStatDisk.App.Model
+{
+ ///
+ /// 间隙数据
+ ///
+ public class GapData
+ {
+ ///
+ /// 时间ID
+ ///
+ public string TimeId { get; set; }
+
+ ///
+ /// 间隙
+ ///
+ public string Gap { get; set; }
+
+ ///
+ /// 结论
+ ///
+ public string Result { get; set; }
+
+ ///
+ /// 分组
+ ///
+ public string Group { get; set; }
+
+ ///
+ /// 时间
+ ///
+ public DateTime Time { get; set; }
+ }
+}
diff --git a/EleBox.App/Model/KPDynStaticMach.cs b/EleBox.App/Model/KPDynStaticMach.cs
new file mode 100644
index 0000000..bac4b2c
--- /dev/null
+++ b/EleBox.App/Model/KPDynStaticMach.cs
@@ -0,0 +1,224 @@
+using FreeSql.DataAnnotations;
+using System;
+
+namespace DynStatDisk.App.Model
+{
+ ///
+ /// 电器盒模型信息
+ ///
+ [Table(Name = "dbo.KPDynStaticMach")]
+ [Index("IX_CreateTime", "CreateTime", false)]
+ [Index("IX_CylinderNo", "CylinderNo", false)]
+ [Index("IX_DynaDiskNo", "DynaDiskNo", false)]
+ [Index("IX_StaticDiskNo", "StaticDiskNo", false)]
+ public class KPDynStaticMach
+ {
+ ///
+ /// Id
+ ///
+ [Column(IsIdentity = true)]
+ public long Id { get; set; }
+
+ ///
+ /// 筒体编号
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string CylinderNo { get; set; }
+
+ ///
+ /// 动盘编号
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string DynaDiskNo { get; set; }
+
+ ///
+ /// 静盘编号
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string StaticDiskNo { get; set; }
+
+ ///
+ /// 欧式机构
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string EuropMacine { get; set; }
+
+ ///
+ /// 静盘铸件号
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string StaDskCastNo { get; set; }
+
+ ///
+ /// 间隙值 玛仪器测量
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string MeterGap { get; set; }
+
+ ///
+ /// 分组 玛仪器测量
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string MeterGroup { get; set; }
+
+ ///
+ /// 结论 玛仪器测量
+ ///
+ [Column(DbType = "nvarchar(20)")]
+ public string MeterResult { get; set; }
+
+ ///
+ /// 员工编号
+ ///
+ [Column(DbType = "nvarchar(6)")]
+ public string OpNo { get; set; }
+
+ /////
+ ///// 扭矩值
+ /////
+ //[Column(DbType = "decimal(8, 2)")]
+ //public decimal Torque { get; set; }
+
+ ///
+ /// 欧式机构段差值
+ /// +-值都有
+ ///
+ [Column(DbType = "nvarchar(10)")]
+ public string EuopMaDifValue { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ [Column(DbType = "datetime DEFAULT(GETDATE())")]
+ public DateTime CreateTime { get; set; }
+
+ /////
+ ///// 主键
+ /////
+ //[Column(IsPrimary = true, IsIdentity = true)]
+ //public long Id { get; set; }
+
+ /////
+ ///// 筒体号
+ /////
+ //[Column(Name = "CylinderNo", IsNullable = false, StringLength = 20)]
+ //public string CylinderNo { get; set; }
+
+ /////
+ ///// 欧式机构编号
+ /////
+ //[Column(Name = "EuroNo", IsNullable = false, StringLength = 50)]
+ //public string EuroNo { get; set; }
+
+ /////
+ ///// 欧式机构序号
+ /////
+ //[Column(Name = "EuroSeriesNo", IsNullable = false, StringLength = 50)]
+ //public string EuroSeriesNo { get; set; }
+
+ /////
+ ///// 动静盘号
+ /////
+ //[Column(Name = "DynStaticDiskNo", IsNullable = false, StringLength = 50)]
+ //public string DynStaticDiskNo { get; set; }
+
+ /////
+ ///// 动静盘编号
+ /////
+ //[Column(Name = "StaticDiskNoW", IsNullable = false, StringLength = 50)]
+ //public string StaticDiskNoW { get; set; }
+
+ /////
+ ///// 欧式机构铸件号
+ /////
+ //[Column(Name = "EuroCastNo", IsNullable = false, StringLength = 50)]
+ //public string EuroCastNo { get; set; }
+
+ /////
+ ///// 静盘铸件号
+ /////
+ //[Column(Name = "StaticDiskCastNo", IsNullable = false, StringLength = 50)]
+ //public string StaticDiskCastNo { get; set; }
+
+ /////
+ ///// 小部品安装数量
+ /////
+ //[Column(Name = "PartCount", IsNullable = false, StringLength = 50)]
+ //public string PartCount { get; set; }
+
+ /////
+ ///// 支架涂油
+ /////
+ //[Column(Name = "BracketOil", IsNullable = false, StringLength = 50)]
+ //public string BracketOil { get; set; }
+
+ /////
+ ///// 螺旋螺钉确认安装
+ /////
+ //[Column(Name = "SpiralScrew", IsNullable = false, StringLength = 50)]
+ //public string SpiralScrew { get; set; }
+
+ /////
+ ///// 动静盘编号一致
+ /////
+ //[Column(Name = "DynStaticNoSame", IsNullable = false, StringLength = 50)]
+ //public string DynStaticNoSame { get; set; }
+
+ /////
+ ///// 动静盘无磕伤
+ /////
+ //[Column(Name = "DynStaticNoBreak", IsNullable = false, StringLength = 50)]
+ //public string DynStaticNoBreak { get; set; }
+
+ /////
+ ///// 注液机
+ /////(排气姜板油孔)
+ /////
+ //[Column(Name = "LiquidInjeMach", IsNullable = false, StringLength = 50)]
+ //public string LiquidInjeMach { get; set; }
+
+ /////
+ ///// 其他-间隙 分组
+ /////
+ //[Column(Name = "OtherGapGroup", IsNullable = false, StringLength = 50)]
+ //public string OtherGapGroup { get; set; }
+
+ /////
+ ///// 其他-间隙 值
+ /////
+ //[Column(Name = "OtherGapValue", IsNullable = false, StringLength = 50)]
+ //public string OtherGapValue{ get; set; }
+
+ /////
+ ///// 其他-间隙 结果
+ /////
+ //[Column(Name = "OtherGapResult", IsNullable = false, StringLength = 50)]
+ //public string OtherGapResult { get; set; }
+
+ /////
+ ///// 其他-动盘
+ /////
+ //[Column(Name = "OtherDynDisk", IsNullable = false, StringLength = 50)]
+ //public string OtherDynDisk { get; set; }
+
+ /////
+ ///// 其他-欧式
+ /////
+ //[Column(Name = "OtherEuro", IsNullable = false, StringLength = 50)]
+ //public string OtherEuro { get; set; }
+
+ /////
+ ///// 其他-支架
+ /////
+ //[Column(Name = "OtherBracket", IsNullable = false, StringLength = 50)]
+ //public string OtherBracket { get; set; }
+
+
+
+ /////
+ ///// 创建时间
+ /////
+ //[Column(ServerTime = DateTimeKind.Local, CanUpdate = false)]
+ //public DateTime CreateTime { get; set; }
+ }
+}
diff --git a/EleBox.App/Model/LastStateInfo.cs b/EleBox.App/Model/LastStateInfo.cs
new file mode 100644
index 0000000..46a56b4
--- /dev/null
+++ b/EleBox.App/Model/LastStateInfo.cs
@@ -0,0 +1,47 @@
+using FreeSql.DataAnnotations;
+using NLog.Fluent;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DynStatDisk.App.Model
+{
+ ///
+ /// 上一次软件的信息
+ ///
+ [Table(Name = "dbo.LastStateInfo")]
+ public class LastStateInfo
+ {
+ ///
+ /// 主键
+ ///
+ [Column(IsPrimary = true, IsIdentity = true)]
+ public long Id { get; set; }
+
+ ///
+ /// 机器名称
+ ///
+ [Column(Name = "MachineName", IsNullable = false, StringLength = 20)]
+ public string MachineName { get; set; }
+
+ ///
+ /// 属性名称
+ ///
+ [Column(Name = "AttributeName", IsNullable = false, StringLength = 20)]
+ public string AttributeName { get; set; }
+
+ ///
+ /// 属性值
+ ///
+ [Column(Name = "AttributeValue", IsNullable = false, StringLength = 20)]
+ public string AttributeValue { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ [Column(ServerTime = DateTimeKind.Local, CanUpdate = true)]
+ public DateTime CreateTime { get; set; }
+ }
+}
diff --git a/EleBox.App/Model/MachineLocation.cs b/EleBox.App/Model/MachineLocation.cs
new file mode 100644
index 0000000..214027d
--- /dev/null
+++ b/EleBox.App/Model/MachineLocation.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DynStatDisk.App.Model
+{
+ public enum MachineLocation
+ {
+ KP=1,
+ G=2
+ }
+}
diff --git a/EleBox.App/Model/TbUser.cs b/EleBox.App/Model/TbUser.cs
new file mode 100644
index 0000000..e988463
--- /dev/null
+++ b/EleBox.App/Model/TbUser.cs
@@ -0,0 +1,54 @@
+using FreeSql.DataAnnotations;
+using System;
+using System.Collections.Generic;
+using System.Data.SqlTypes;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml.Linq;
+
+namespace DynStatDisk.App.Model
+{
+ ///
+ /// 用户登录
+ ///
+ [Table(Name = "dbo.TbUser")]
+ public class TbUser
+ {
+ ///
+ /// 主键
+ ///
+ [Column(IsPrimary = true,IsIdentity =true)]
+ public long Id { get; set; }
+
+ ///
+ /// 机器名称
+ ///
+ [Column(Name = "MachineName", IsNullable = false, StringLength = 20)]
+ public string MachineName { get; set; }
+
+ ///
+ /// 用户名称
+ ///
+ [Column(Name = "UserName", IsNullable = false, StringLength = 20)]
+ public string UserName { get; set; }
+
+ ///
+ /// 密码
+ ///
+ [Column(Name = "Password", IsNullable = false, StringLength = 20)]
+ public string Password { get; set; }
+
+ ///
+ /// 等级
+ ///
+ [Column(Name = "AccessLevel", IsNullable = false, StringLength = 20)]
+ public string AccessLevel { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ [Column(ServerTime = DateTimeKind.Local, CanUpdate = false)]
+ public DateTime CreateTime { get; set; }
+ }
+}
diff --git a/EleBox.App/NLog.config b/EleBox.App/NLog.config
new file mode 100644
index 0000000..2cc5cc7
--- /dev/null
+++ b/EleBox.App/NLog.config
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/EleBox.App/NLog.xsd b/EleBox.App/NLog.xsd
new file mode 100644
index 0000000..d167472
--- /dev/null
+++ b/EleBox.App/NLog.xsd
@@ -0,0 +1,3728 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Watch config file for changes and reload automatically.
+
+
+
+
+ Print internal NLog messages to the console. Default value is: false
+
+
+
+
+ Print internal NLog messages to the console error output. Default value is: false
+
+
+
+
+ Write internal NLog messages to the specified file.
+
+
+
+
+ Log level threshold for internal log messages. Default value is: Info.
+
+
+
+
+ Global log level threshold for application log messages. Messages below this level won't be logged.
+
+
+
+
+ Throw an exception when there is an internal error. Default value is: false. Not recommend to set to true in production!
+
+
+
+
+ Throw an exception when there is a configuration error. If not set, determined by throwExceptions.
+
+
+
+
+ Gets or sets a value indicating whether Variables should be kept on configuration reload. Default value is: false.
+
+
+
+
+ Write internal NLog messages to the System.Diagnostics.Trace. Default value is: false.
+
+
+
+
+ Write timestamps for internal NLog messages. Default value is: true.
+
+
+
+
+ Use InvariantCulture as default culture instead of CurrentCulture. Default value is: false.
+
+
+
+
+ Perform message template parsing and formatting of LogEvent messages (true = Always, false = Never, empty = Auto Detect). Default value is: empty.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Make all targets within this section asynchronous (creates additional threads but the calling thread isn't blocked by any target writes).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Prefix for targets/layout renderers/filters/conditions loaded from this assembly.
+
+
+
+
+ Load NLog extensions from the specified file (*.dll)
+
+
+
+
+ Load NLog extensions from the specified assembly. Assembly name should be fully qualified.
+
+
+
+
+
+
+
+
+
+ Filter on the name of the logger. May include wildcard characters ('*' or '?').
+
+
+
+
+ Comma separated list of levels that this rule matches.
+
+
+
+
+ Minimum level that this rule matches.
+
+
+
+
+ Maximum level that this rule matches.
+
+
+
+
+ Level that this rule matches.
+
+
+
+
+ Comma separated list of target names.
+
+
+
+
+ Ignore further rules if this one matches.
+
+
+
+
+ Enable this rule. Note: disabled rules aren't available from the API.
+
+
+
+
+ Rule identifier to allow rule lookup with Configuration.FindRuleByName and Configuration.RemoveRuleByName.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default action if none of the filters match.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the file to be included. You could use * wildcard. The name is relative to the name of the current config file.
+
+
+
+
+ Ignore any errors in the include file.
+
+
+
+
+
+
+
+ Variable value. Note, the 'value' attribute has precedence over this one.
+
+
+
+
+
+ Variable name.
+
+
+
+
+ Variable value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Number of log events that should be processed in a batch by the lazy writer thread.
+
+
+
+
+ Whether to use the locking queue, instead of a lock-free concurrent queue The locking queue is less concurrent when many logger threads, but reduces memory allocation
+
+
+
+
+ Limit of full s to write before yielding into Performance is better when writing many small batches, than writing a single large batch
+
+
+
+
+ Action to be taken when the lazy writer thread request queue count exceeds the set limit.
+
+
+
+
+ Limit on the number of requests in the lazy writer thread request queue.
+
+
+
+
+ Time in milliseconds to sleep between batches. (1 or less means trigger on new activity)
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Delay the flush until the LogEvent has been confirmed as written
+
+
+
+
+ Condition expression. Log events who meet this condition will cause a flush on the wrapped target.
+
+
+
+
+ Only flush when LogEvent matches condition. Ignore explicit-flush, config-reload-flush and shutdown-flush
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Number of log events to be buffered.
+
+
+
+
+ Timeout (in milliseconds) after which the contents of buffer will be flushed if there's no write in the specified period of time. Use -1 to disable timed flushes.
+
+
+
+
+ Action to take if the buffer overflows.
+
+
+
+
+ Indicates whether to use sliding timeout.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Encoding to be used.
+
+
+
+
+ Instance of that is used to format log messages.
+
+
+
+
+ End of line value if a newline is appended at the end of log message .
+
+
+
+
+ Maximum message size in bytes.
+
+
+
+
+ Indicates whether to append newline at the end of log message.
+
+
+
+
+ Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.
+
+
+
+
+ Network address.
+
+
+
+
+ Size of the connection cache (number of connections which are kept alive).
+
+
+
+
+ The number of seconds a connection will remain idle before the first keep-alive probe is sent
+
+
+
+
+ Maximum queue size.
+
+
+
+
+ Maximum current connections. 0 = no maximum.
+
+
+
+
+ Action that should be taken if the will be more connections than .
+
+
+
+
+ Action that should be taken if the message is larger than maxMessageSize.
+
+
+
+
+ Indicates whether to keep connection open whenever possible.
+
+
+
+
+ NDLC item separator.
+
+
+
+
+ NDC item separator.
+
+
+
+
+ Indicates whether to include dictionary contents.
+
+
+
+
+ Indicates whether to include source info (file name and line number) in the information sent over the network.
+
+
+
+
+ Indicates whether to include NLog-specific extensions to log4j schema.
+
+
+
+
+ Indicates whether to include contents of the stack.
+
+
+
+
+ Indicates whether to include stack contents.
+
+
+
+
+ Indicates whether to include dictionary contents.
+
+
+
+
+ Indicates whether to include dictionary contents.
+
+
+
+
+ Option to include all properties from the log events
+
+
+
+
+ Indicates whether to include call site (class and method name) in the information sent over the network.
+
+
+
+
+ Option to include all properties from the log events
+
+
+
+
+ AppInfo field. By default it's the friendly name of the current AppDomain.
+
+
+
+
+ Renderer for log4j:event logger-xml-attribute (Default ${logger})
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout that should be use to calculate the value for the parameter.
+
+
+
+
+ Viewer parameter name.
+
+
+
+
+ Whether an attribute with empty value should be included in the output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Text to be rendered.
+
+
+
+
+ Header.
+
+
+
+
+ Footer.
+
+
+
+
+ Indicates whether to auto-check if the console is available. - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App)
+
+
+
+
+ Enables output using ANSI Color Codes
+
+
+
+
+ The encoding for writing messages to the .
+
+
+
+
+ Indicates whether the error stream (stderr) should be used instead of the output stream (stdout).
+
+
+
+
+ Indicates whether to auto-flush after
+
+
+
+
+ Indicates whether to auto-check if the console has been redirected to file - Disables coloring logic when System.Console.IsOutputRedirected = true
+
+
+
+
+ Indicates whether to use default row highlighting rules.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Condition that must be met in order to set the specified foreground and background color.
+
+
+
+
+ Background color.
+
+
+
+
+ Foreground color.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used.
+
+
+
+
+ Condition that must be met before scanning the row for highlight of words
+
+
+
+
+ Indicates whether to ignore case when comparing texts.
+
+
+
+
+ Regular expression to be matched. You must specify either text or regex.
+
+
+
+
+ Text to be matched. You must specify either text or regex.
+
+
+
+
+ Indicates whether to match whole words only.
+
+
+
+
+ Background color.
+
+
+
+
+ Foreground color.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Text to be rendered.
+
+
+
+
+ Header.
+
+
+
+
+ Footer.
+
+
+
+
+ Indicates whether to auto-flush after
+
+
+
+
+ Indicates whether to auto-check if the console is available - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App)
+
+
+
+
+ The encoding for writing messages to the .
+
+
+
+
+ Indicates whether to send the log messages to the standard error instead of the standard output.
+
+
+
+
+ Whether to enable batch writing using char[]-buffers, instead of using
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Obsolete - value will be ignored! The logging code always runs outside of transaction. Gets or sets a value indicating whether to use database transactions. Some data providers require this.
+
+
+
+
+ Indicates whether to keep the database connection open between the log events.
+
+
+
+
+ Name of the database provider.
+
+
+
+
+ Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string.
+
+
+
+
+ Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string.
+
+
+
+
+ Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string.
+
+
+
+
+ Name of the connection string (as specified in <connectionStrings> configuration section.
+
+
+
+
+ Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase.
+
+
+
+
+ Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string.
+
+
+
+
+ Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used.
+
+
+
+
+ Configures isolated transaction batch writing. If supported by the database, then it will improve insert performance.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+ Text of the SQL command to be run on each log level.
+
+
+
+
+ Type of the SQL command to be run on each log level.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Convert format of the property value
+
+
+
+
+ Culture used for parsing property string-value for type-conversion
+
+
+
+
+ Value to assign on the object-property
+
+
+
+
+ Name for the object-property
+
+
+
+
+ Type of the object-property
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Type of the command.
+
+
+
+
+ Connection string to run the command against. If not provided, connection string from the target is used.
+
+
+
+
+ Indicates whether to ignore failures.
+
+
+
+
+ Command text.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Database parameter name.
+
+
+
+
+ Layout that should be use to calculate the value for the parameter.
+
+
+
+
+ Database parameter DbType.
+
+
+
+
+ Database parameter size.
+
+
+
+
+ Database parameter precision.
+
+
+
+
+ Database parameter scale.
+
+
+
+
+ Type of the parameter.
+
+
+
+
+ Whether empty value should translate into DbNull. Requires database column to allow NULL values.
+
+
+
+
+ Convert format of the database parameter value.
+
+
+
+
+ Culture used for parsing parameter string-value for type-conversion
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Text to be rendered.
+
+
+
+
+ Header.
+
+
+
+
+ Footer.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Layout that renders event Category.
+
+
+
+
+ Optional entry type. When not set, or when not convertible to then determined by
+
+
+
+
+ Layout that renders event ID.
+
+
+
+
+ Name of the Event Log to write to. This can be System, Application or any user-defined name.
+
+
+
+
+ Name of the machine on which Event Log service is running.
+
+
+
+
+ Maximum Event log size in kilobytes.
+
+
+
+
+ Message length limit to write to the Event Log.
+
+
+
+
+ Value to be used as the event Source.
+
+
+
+
+ Action to take if the message is larger than the option.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Indicates whether to return to the first target after any successful write.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Text to be rendered.
+
+
+
+
+ Header.
+
+
+
+
+ Footer.
+
+
+
+
+ File encoding.
+
+
+
+
+ Line ending mode.
+
+
+
+
+ Maximum days of archive files that should be kept.
+
+
+
+
+ Indicates whether to compress archive files into the zip archive format.
+
+
+
+
+ Way file archives are numbered.
+
+
+
+
+ Name of the file to be used for an archive.
+
+
+
+
+ Is the an absolute or relative path?
+
+
+
+
+ Indicates whether to automatically archive log files every time the specified time passes.
+
+
+
+
+ Size in bytes above which log files will be automatically archived. Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name. Choose:
+
+
+
+
+ Maximum number of archive files that should be kept.
+
+
+
+
+ Indicates whether the footer should be written only when the file is archived.
+
+
+
+
+ Maximum number of log file names that should be stored as existing.
+
+
+
+
+ Indicates whether to delete old log file on startup.
+
+
+
+
+ File attributes (Windows only).
+
+
+
+
+ Indicates whether to create directories if they do not exist.
+
+
+
+
+ Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong.
+
+
+
+
+ Value of the file size threshold to archive old log file on startup.
+
+
+
+
+ Indicates whether to archive old log file on startup.
+
+
+
+
+ Value specifying the date format to use when archiving files.
+
+
+
+
+ Indicates whether to enable log file(s) to be deleted.
+
+
+
+
+ Indicates whether to write BOM (byte order mark) in created files
+
+
+
+
+ Indicates whether to replace file contents on each write instead of appending log message at the end.
+
+
+
+
+ Indicates whether file creation calls should be synchronized by a system global mutex.
+
+
+
+
+ Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation.
+
+
+
+
+ Is the an absolute or relative path?
+
+
+
+
+ Name of the file to write to.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+ Indicates whether concurrent writes to the log file by multiple processes on different network hosts.
+
+
+
+
+ Maximum number of seconds that files are kept open. If this number is negative the files are not automatically closed after a period of inactivity.
+
+
+
+
+ Number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger).
+
+
+
+
+ Indicates whether to keep log file open instead of opening and closing it on each logging event.
+
+
+
+
+ Whether or not this target should just discard all data that its asked to write. Mostly used for when testing NLog Stack except final write
+
+
+
+
+ Indicates whether concurrent writes to the log file by multiple processes on the same host.
+
+
+
+
+ Number of times the write is appended on the file before NLog discards the log message.
+
+
+
+
+ Delay in milliseconds to wait before attempting to write to the file again.
+
+
+
+
+ Log file buffer size in bytes.
+
+
+
+
+ Maximum number of seconds before open files are flushed. If this number is negative or zero the files are not flushed by timer.
+
+
+
+
+ Indicates whether to automatically flush the file buffers after each log message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Condition expression. Log events who meet this condition will be forwarded to the wrapped target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Windows domain name to change context to.
+
+
+
+
+ Required impersonation level.
+
+
+
+
+ Type of the logon provider.
+
+
+
+
+ Logon Type.
+
+
+
+
+ User account password.
+
+
+
+
+ Indicates whether to revert to the credentials of the process instead of impersonating another user.
+
+
+
+
+ Username to change context to.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Interval in which messages will be written up to the number of messages.
+
+
+
+
+ Maximum allowed number of messages written per .
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Endpoint address.
+
+
+
+
+ Name of the endpoint configuration in WCF configuration file.
+
+
+
+
+ Indicates whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply)
+
+
+
+
+ Client ID.
+
+
+
+
+ Indicates whether to include per-event properties in the payload sent to the server.
+
+
+
+
+ Indicates whether to use binary message encoding.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout that should be use to calculate the value for the parameter.
+
+
+
+
+ Name of the parameter.
+
+
+
+
+ Type of the parameter.
+
+
+
+
+ Type of the parameter. Obsolete alias for
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Text to be rendered.
+
+
+
+
+ Header.
+
+
+
+
+ Footer.
+
+
+
+
+ Indicates whether NewLine characters in the body should be replaced with tags.
+
+
+
+
+ Priority used for sending mails.
+
+
+
+
+ Encoding to be used for sending e-mail.
+
+
+
+
+ BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
+
+
+
+
+ CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
+
+
+
+
+ Indicates whether to add new lines between log entries.
+
+
+
+
+ Indicates whether to send message as HTML instead of plain text.
+
+
+
+
+ Sender's email address (e.g. joe@domain.com).
+
+
+
+
+ Mail message body (repeated for each log message send in one mail).
+
+
+
+
+ Mail subject.
+
+
+
+
+ Recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com).
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+ Indicates the SMTP client timeout.
+
+
+
+
+ SMTP Server to be used for sending.
+
+
+
+
+ SMTP Authentication mode.
+
+
+
+
+ Username used to connect to SMTP server (used when SmtpAuthentication is set to "basic").
+
+
+
+
+ Password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic").
+
+
+
+
+ Indicates whether SSL (secure sockets layer) should be used when communicating with SMTP server.
+
+
+
+
+ Port number that SMTP Server is listening on.
+
+
+
+
+ Indicates whether the default Settings from System.Net.MailSettings should be used.
+
+
+
+
+ Folder where applications save mail messages to be processed by the local SMTP server.
+
+
+
+
+ Specifies how outgoing email messages will be handled.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Max number of items to have in memory
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Class name.
+
+
+
+
+ Method name. The method must be public and static. Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx e.g.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Encoding to be used.
+
+
+
+
+ End of line value if a newline is appended at the end of log message .
+
+
+
+
+ Maximum message size in bytes.
+
+
+
+
+ Indicates whether to append newline at the end of log message.
+
+
+
+
+ Network address.
+
+
+
+
+ Size of the connection cache (number of connections which are kept alive).
+
+
+
+
+ The number of seconds a connection will remain idle before the first keep-alive probe is sent
+
+
+
+
+ Indicates whether to keep connection open whenever possible.
+
+
+
+
+ Maximum current connections. 0 = no maximum.
+
+
+
+
+ Maximum queue size.
+
+
+
+
+ Action that should be taken if the will be more connections than .
+
+
+
+
+ Action that should be taken if the message is larger than maxMessageSize.
+
+
+
+
+ Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Encoding to be used.
+
+
+
+
+ Instance of that is used to format log messages.
+
+
+
+
+ End of line value if a newline is appended at the end of log message .
+
+
+
+
+ Maximum message size in bytes.
+
+
+
+
+ Indicates whether to append newline at the end of log message.
+
+
+
+
+ Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.
+
+
+
+
+ Network address.
+
+
+
+
+ Size of the connection cache (number of connections which are kept alive).
+
+
+
+
+ The number of seconds a connection will remain idle before the first keep-alive probe is sent
+
+
+
+
+ Maximum queue size.
+
+
+
+
+ Maximum current connections. 0 = no maximum.
+
+
+
+
+ Action that should be taken if the will be more connections than .
+
+
+
+
+ Action that should be taken if the message is larger than maxMessageSize.
+
+
+
+
+ Indicates whether to keep connection open whenever possible.
+
+
+
+
+ NDLC item separator.
+
+
+
+
+ NDC item separator.
+
+
+
+
+ Indicates whether to include dictionary contents.
+
+
+
+
+ Indicates whether to include source info (file name and line number) in the information sent over the network.
+
+
+
+
+ Indicates whether to include NLog-specific extensions to log4j schema.
+
+
+
+
+ Indicates whether to include contents of the stack.
+
+
+
+
+ Indicates whether to include stack contents.
+
+
+
+
+ Indicates whether to include dictionary contents.
+
+
+
+
+ Indicates whether to include dictionary contents.
+
+
+
+
+ Option to include all properties from the log events
+
+
+
+
+ Indicates whether to include call site (class and method name) in the information sent over the network.
+
+
+
+
+ Option to include all properties from the log events
+
+
+
+
+ AppInfo field. By default it's the friendly name of the current AppDomain.
+
+
+
+
+ Renderer for log4j:event logger-xml-attribute (Default ${logger})
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Indicates whether to perform layout calculation.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Indicates whether performance counter should be automatically created.
+
+
+
+
+ Name of the performance counter category.
+
+
+
+
+ Counter help text.
+
+
+
+
+ Name of the performance counter.
+
+
+
+
+ Performance counter type.
+
+
+
+
+ The value by which to increment the counter.
+
+
+
+
+ Performance counter instance name.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Default filter to be applied when no specific rule matches.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+ Condition to be tested.
+
+
+
+
+ Resulting filter to be applied when the condition matches.
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+ Number of times to repeat each log message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+ Number of retries that should be attempted on the wrapped target in case of a failure.
+
+
+
+
+ Time to wait between retries in milliseconds.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Layout used to format log messages.
+
+
+
+
+ Forward to (Instead of )
+
+
+
+
+ Always use independent of
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the target.
+
+
+
+
+ Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit
+
+
+
+
+ Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8.
+
+
+
+
+ Web service method name. Only used with Soap.
+
+
+
+
+ Web service namespace. Only used with Soap.
+
+
+
+
+ Protocol to be used when calling web service.
+
+
+
+
+ Custom proxy address, include port separated by a colon
+
+
+
+
+ Encoding.
+
+
+
+
+ Web service URL.
+
+
+
+
+ Value of the User-agent HTTP header.
+
+
+
+
+ Value whether escaping be done according to the old NLog style (Very non-standard)
+
+
+
+
+ Value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs)
+
+
+
+
+ Indicates whether to pre-authenticate the HttpWebRequest (Requires 'Authorization' in parameters)
+
+
+
+
+ Name of the root XML element, if POST of XML document chosen. If so, this property must not be null. (see and ).
+
+
+
+
+ (optional) root namespace of the XML document, if POST of XML document chosen. (see and ).
+
+
+
+
+ Proxy configuration when calling web service
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Footer layout.
+
+
+
+
+ Header layout.
+
+
+
+
+ Body layout (can be repeated multiple times).
+
+
+
+
+ Custom column delimiter value (valid when ColumnDelimiter is set to 'Custom').
+
+
+
+
+ Column delimiter.
+
+
+
+
+ Quote Character.
+
+
+
+
+ Quoting mode.
+
+
+
+
+ Indicates whether CVS should include header.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout of the column.
+
+
+
+
+ Name of the column.
+
+
+
+
+ Override of Quoting mode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Should forward slashes be escaped? If true, / will be converted to \/
+
+
+
+
+ Option to render the empty object value {}
+
+
+
+
+ Option to suppress the extra spaces in the output json
+
+
+
+
+ Option to exclude null/empty properties from the log event (as JSON)
+
+
+
+
+ List of property names to exclude when is true
+
+
+
+
+ Option to include all properties from the log event (as JSON)
+
+
+
+
+ Option to include all properties from the log event (as JSON)
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ How far should the JSON serializer follow object references before backing off
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout that will be rendered as the attribute's value.
+
+
+
+
+ Name of the attribute.
+
+
+
+
+ Determines whether or not this attribute will be Json encoded.
+
+
+
+
+ Should forward slashes be escaped? If true, / will be converted to \/
+
+
+
+
+ Indicates whether to escape non-ascii characters
+
+
+
+
+ Whether an attribute with empty value should be included in the output
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Footer layout.
+
+
+
+
+ Header layout.
+
+
+
+
+ Body layout (can be repeated multiple times).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Option to include all properties from the log events
+
+
+
+
+ Indicates whether to include call site (class and method name) in the information sent over the network.
+
+
+
+
+ Option to include all properties from the log events
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the stack.
+
+
+
+
+ Indicates whether to include contents of the stack.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include source info (file name and line number) in the information sent over the network.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout text.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Option to include all properties from the log event (as XML)
+
+
+
+
+ XML attribute name to use when rendering property-key When null (or empty) then key-attribute is not included
+
+
+
+
+ XML element name to use for rendering IList-collections items
+
+
+
+
+ How far should the XML serializer follow object references before backing off
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Option to include all properties from the log event (as XML)
+
+
+
+
+ XML attribute name to use when rendering property-value When null (or empty) then value-attribute is not included and value is formatted as XML-element-value
+
+
+
+
+ List of property names to exclude when is true
+
+
+
+
+ XML element name to use when rendering properties
+
+
+
+
+ Determines whether or not this attribute will be Xml encoded.
+
+
+
+
+ Auto indent and create new lines
+
+
+
+
+ Whether a ElementValue with empty value should be included in the output
+
+
+
+
+ Value inside the root XML element
+
+
+
+
+ Name of the root XML element
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Determines whether or not this attribute will be Xml encoded.
+
+
+
+
+ Name of the element
+
+
+
+
+ Value inside the element
+
+
+
+
+ Whether a ElementValue with empty value should be included in the output
+
+
+
+
+ Auto indent and create new lines
+
+
+
+
+ List of property names to exclude when is true
+
+
+
+
+ Option to include all properties from the log event (as XML)
+
+
+
+
+ Option to include all properties from the log event (as XML)
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ Indicates whether to include contents of the dictionary.
+
+
+
+
+ How far should the XML serializer follow object references before backing off
+
+
+
+
+ XML element name to use for rendering IList-collections items
+
+
+
+
+ XML attribute name to use when rendering property-key When null (or empty) then key-attribute is not included
+
+
+
+
+ XML element name to use when rendering properties
+
+
+
+
+ XML attribute name to use when rendering property-value When null (or empty) then value-attribute is not included and value is formatted as XML-element-value
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout that will be rendered as the attribute's value.
+
+
+
+
+ Name of the attribute.
+
+
+
+
+ Determines whether or not this attribute will be Xml encoded.
+
+
+
+
+ Whether an attribute with empty value should be included in the output
+
+
+
+
+
+
+
+
+
+
+
+
+ Action to be taken when filter matches.
+
+
+
+
+ Condition expression.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action to be taken when filter matches.
+
+
+
+
+ Indicates whether to ignore case when comparing strings.
+
+
+
+
+ Layout to be used to filter log messages.
+
+
+
+
+ Substring to be matched.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action to be taken when filter matches.
+
+
+
+
+ String to compare the layout to.
+
+
+
+
+ Indicates whether to ignore case when comparing strings.
+
+
+
+
+ Layout to be used to filter log messages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action to be taken when filter matches.
+
+
+
+
+ Indicates whether to ignore case when comparing strings.
+
+
+
+
+ Layout to be used to filter log messages.
+
+
+
+
+ Substring to be matched.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action to be taken when filter matches.
+
+
+
+
+ String to compare the layout to.
+
+
+
+
+ Indicates whether to ignore case when comparing strings.
+
+
+
+
+ Layout to be used to filter log messages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Action to be taken when filter matches.
+
+
+
+
+ Default number of unique filter values to expect, will automatically increase if needed
+
+
+
+
+ Applies the configured action to the initial logevent that starts the timeout period. Used to configure that it should ignore all events until timeout.
+
+
+
+
+ Layout to be used to filter log messages.
+
+
+
+
+ Max number of unique filter values to expect simultaneously
+
+
+
+
+ Max length of filter values, will truncate if above limit
+
+
+
+
+ How long before a filter expires, and logging is accepted again
+
+
+
+
+ Default buffer size for the internal buffers
+
+
+
+
+ Reuse internal buffers, and doesn't have to constantly allocate new buffers
+
+
+
+
+ Append FilterCount to the when an event is no longer filtered
+
+
+
+
+ Insert FilterCount value into when an event is no longer filtered
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/EleBox.App/Program.cs b/EleBox.App/Program.cs
new file mode 100644
index 0000000..e7dadac
--- /dev/null
+++ b/EleBox.App/Program.cs
@@ -0,0 +1,60 @@
+using NLog;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace DynStatDisk.App
+{
+ internal static class Program
+ {
+ //日志的实例化
+ private static Logger logger = LogManager.GetCurrentClassLogger();
+
+ public static bool IsActive { get; private set; }
+
+ public static DateTime StartTime = DateTime.Now;
+
+ public static string SystemName = "";
+
+ ///
+ /// 应用程序的主入口点。
+ ///
+ [STAThread]
+ static void Main()
+ {
+ AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
+ bool isAppRunning = false;
+ Mutex mutex = new Mutex(true, System.Diagnostics.Process.GetCurrentProcess().ProcessName, out isAppRunning);
+ if (!isAppRunning)
+ {
+ MessageBox.Show("程序已运行,不能再次打开!");
+ Environment.Exit(1);
+ }
+
+ // 授权
+ if (!HslCommunication.Authorization.SetAuthorizationCode("12a99167-05ff-4c89-936f-93d42033f882"))
+ {
+ //active failed
+ MessageBox.Show("授权失败!当前程序只能使用8小时!");
+ // return;
+ }
+ else
+ {
+ IsActive = true;
+ }
+
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new Main());
+ }
+
+ private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
+ {
+ Exception ex = e.ExceptionObject as Exception;
+ logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString()));
+ }
+ }
+}
diff --git a/EleBox.App/Properties/AssemblyInfo.cs b/EleBox.App/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..dd7cdee
--- /dev/null
+++ b/EleBox.App/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("DynStatDisk.App")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("HP Inc.")]
+[assembly: AssemblyProduct("DynStatDisk.App")]
+[assembly: AssemblyCopyright("Copyright © HP Inc. 2023")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 会使此程序集中的类型
+//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("0c0004e9-1ce3-43a3-bae6-16547afb1ca8")]
+
+// 程序集的版本信息由下列四个值组成:
+//
+// 主版本
+// 次版本
+// 生成号
+// 修订号
+//
+//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
+//通过使用 "*",如下所示:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/EleBox.App/Properties/Resources.Designer.cs b/EleBox.App/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..50bfef5
--- /dev/null
+++ b/EleBox.App/Properties/Resources.Designer.cs
@@ -0,0 +1,183 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
+//
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
+//
+//------------------------------------------------------------------------------
+
+namespace DynStatDisk.App.Properties {
+ using System;
+
+
+ ///
+ /// 一个强类型的资源类,用于查找本地化的字符串等。
+ ///
+ // 此类是由 StronglyTypedResourceBuilder
+ // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
+ // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+ // (以 /str 作为命令选项),或重新生成 VS 项目。
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// 返回此类使用的缓存的 ResourceManager 实例。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DynStatDisk.App.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// 重写当前线程的 CurrentUICulture 属性,对
+ /// 使用此强类型资源类的所有资源查找执行重写。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// 查找 System.Drawing.Bitmap 类型的本地化资源。
+ ///
+ internal static System.Drawing.Bitmap About {
+ get {
+ object obj = ResourceManager.GetObject("About", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// 查找 System.Drawing.Bitmap 类型的本地化资源。
+ ///
+ internal static System.Drawing.Bitmap Log {
+ get {
+ object obj = ResourceManager.GetObject("Log", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// 查找 System.Drawing.Bitmap 类型的本地化资源。
+ ///
+ internal static System.Drawing.Bitmap logo {
+ get {
+ object obj = ResourceManager.GetObject("logo", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// 查找 System.Drawing.Bitmap 类型的本地化资源。
+ ///
+ internal static System.Drawing.Bitmap no {
+ get {
+ object obj = ResourceManager.GetObject("no", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// 查找 System.Drawing.Bitmap 类型的本地化资源。
+ ///
+ internal static System.Drawing.Bitmap Quit {
+ get {
+ object obj = ResourceManager.GetObject("Quit", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// 查找 System.Drawing.Bitmap 类型的本地化资源。
+ ///
+ internal static System.Drawing.Bitmap set1 {
+ get {
+ object obj = ResourceManager.GetObject("set1", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// 查找 System.Drawing.Bitmap 类型的本地化资源。
+ ///
+ internal static System.Drawing.Bitmap 合格 {
+ get {
+ object obj = ResourceManager.GetObject("合格", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// 查找 System.Drawing.Bitmap 类型的本地化资源。
+ ///
+ internal static System.Drawing.Bitmap 图片1 {
+ get {
+ object obj = ResourceManager.GetObject("图片1", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// 查找 System.Drawing.Bitmap 类型的本地化资源。
+ ///
+ internal static System.Drawing.Bitmap 注销用户 {
+ get {
+ object obj = ResourceManager.GetObject("注销用户", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// 查找 System.Drawing.Bitmap 类型的本地化资源。
+ ///
+ internal static System.Drawing.Bitmap 用户管理 {
+ get {
+ object obj = ResourceManager.GetObject("用户管理", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// 查找 System.Drawing.Bitmap 类型的本地化资源。
+ ///
+ internal static System.Drawing.Bitmap 登录__1_ {
+ get {
+ object obj = ResourceManager.GetObject("登录 (1)", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// 查找 System.Drawing.Bitmap 类型的本地化资源。
+ ///
+ internal static System.Drawing.Bitmap 编码1 {
+ get {
+ object obj = ResourceManager.GetObject("编码1", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+ }
+}
diff --git a/EleBox.App/Properties/Resources.resx b/EleBox.App/Properties/Resources.resx
new file mode 100644
index 0000000..fe5fab9
--- /dev/null
+++ b/EleBox.App/Properties/Resources.resx
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+ ..\Images\Quit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\用户管理.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Images\no.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Images\set1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Images\编码1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Images\登录 (1).png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Images\Log.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\注销用户.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Images\合格.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Images\About.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Images\logo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\图片1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
\ No newline at end of file
diff --git a/EleBox.App/Properties/Settings.Designer.cs b/EleBox.App/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..90c8054
--- /dev/null
+++ b/EleBox.App/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
+//
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
+//
+//------------------------------------------------------------------------------
+
+namespace DynStatDisk.App.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.10.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/EleBox.App/Properties/Settings.settings b/EleBox.App/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/EleBox.App/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/EleBox.App/Resources/图片1.png b/EleBox.App/Resources/图片1.png
new file mode 100644
index 0000000..4153793
Binary files /dev/null and b/EleBox.App/Resources/图片1.png differ
diff --git a/EleBox.App/Resources/注销用户.png b/EleBox.App/Resources/注销用户.png
new file mode 100644
index 0000000..f832a54
Binary files /dev/null and b/EleBox.App/Resources/注销用户.png differ
diff --git a/EleBox.App/Resources/用户管理.png b/EleBox.App/Resources/用户管理.png
new file mode 100644
index 0000000..4d64f04
Binary files /dev/null and b/EleBox.App/Resources/用户管理.png differ
diff --git a/EleBox.App/frmHistoryData.Designer.cs b/EleBox.App/frmHistoryData.Designer.cs
new file mode 100644
index 0000000..b0ccd83
--- /dev/null
+++ b/EleBox.App/frmHistoryData.Designer.cs
@@ -0,0 +1,174 @@
+namespace DynStatDisk.App
+{
+ partial class frmHistoryData
+ {
+ ///
+ /// 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()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmHistoryData));
+ this.listView1 = new System.Windows.Forms.ListView();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.btnClose = new System.Windows.Forms.Button();
+ this.btnSearch = new System.Windows.Forms.Button();
+ this.label2 = new System.Windows.Forms.Label();
+ this.dtpEnd = new System.Windows.Forms.DateTimePicker();
+ this.label1 = new System.Windows.Forms.Label();
+ this.dtpStart = new System.Windows.Forms.DateTimePicker();
+ this.imageList1 = new System.Windows.Forms.ImageList(this.components);
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // listView1
+ //
+ this.listView1.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.listView1.FullRowSelect = true;
+ this.listView1.GridLines = true;
+ this.listView1.HideSelection = false;
+ this.listView1.Location = new System.Drawing.Point(0, 118);
+ this.listView1.Name = "listView1";
+ this.listView1.Size = new System.Drawing.Size(884, 543);
+ this.listView1.SmallImageList = this.imageList1;
+ this.listView1.TabIndex = 3;
+ this.listView1.UseCompatibleStateImageBehavior = false;
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.btnClose);
+ this.groupBox1.Controls.Add(this.btnSearch);
+ this.groupBox1.Controls.Add(this.label2);
+ this.groupBox1.Controls.Add(this.dtpEnd);
+ this.groupBox1.Controls.Add(this.label1);
+ this.groupBox1.Controls.Add(this.dtpStart);
+ this.groupBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.groupBox1.Location = new System.Drawing.Point(3, 1);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(878, 111);
+ this.groupBox1.TabIndex = 2;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "条件设置";
+ //
+ // btnClose
+ //
+ this.btnClose.Font = new System.Drawing.Font("微软雅黑", 18F);
+ this.btnClose.Location = new System.Drawing.Point(743, 28);
+ this.btnClose.Name = "btnClose";
+ this.btnClose.Size = new System.Drawing.Size(106, 62);
+ this.btnClose.TabIndex = 6;
+ this.btnClose.Text = "关闭";
+ this.btnClose.UseVisualStyleBackColor = true;
+ this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
+ //
+ // btnSearch
+ //
+ this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 18F);
+ this.btnSearch.Location = new System.Drawing.Point(613, 28);
+ this.btnSearch.Name = "btnSearch";
+ this.btnSearch.Size = new System.Drawing.Size(106, 62);
+ this.btnSearch.TabIndex = 4;
+ this.btnSearch.Text = "搜索";
+ this.btnSearch.UseVisualStyleBackColor = true;
+ this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label2.Location = new System.Drawing.Point(263, 28);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(88, 26);
+ this.label2.TabIndex = 3;
+ this.label2.Text = "结束时间";
+ //
+ // dtpEnd
+ //
+ this.dtpEnd.CustomFormat = "yyyy-MM-dd HH:mm";
+ this.dtpEnd.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+ this.dtpEnd.Location = new System.Drawing.Point(224, 62);
+ this.dtpEnd.Name = "dtpEnd";
+ this.dtpEnd.Size = new System.Drawing.Size(169, 29);
+ this.dtpEnd.TabIndex = 2;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.label1.Location = new System.Drawing.Point(71, 29);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(88, 26);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "开始时间";
+ //
+ // dtpStart
+ //
+ this.dtpStart.CustomFormat = "yyyy-MM-dd HH:mm";
+ this.dtpStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+ this.dtpStart.Location = new System.Drawing.Point(32, 63);
+ this.dtpStart.Name = "dtpStart";
+ this.dtpStart.Size = new System.Drawing.Size(169, 29);
+ this.dtpStart.TabIndex = 0;
+ //
+ // imageList1
+ //
+ this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
+ this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
+ this.imageList1.Images.SetKeyName(0, "About.png");
+ //
+ // frmHistoryData
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(884, 661);
+ this.Controls.Add(this.listView1);
+ this.Controls.Add(this.groupBox1);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(4);
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "frmHistoryData";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "历史数据";
+ this.Load += new System.EventHandler(this.frmHistoryData_Load);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.ListView listView1;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Button btnClose;
+ private System.Windows.Forms.Button btnSearch;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.DateTimePicker dtpEnd;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.DateTimePicker dtpStart;
+ private System.Windows.Forms.ImageList imageList1;
+ }
+}
\ No newline at end of file
diff --git a/EleBox.App/frmHistoryData.cs b/EleBox.App/frmHistoryData.cs
new file mode 100644
index 0000000..7d304e2
--- /dev/null
+++ b/EleBox.App/frmHistoryData.cs
@@ -0,0 +1,323 @@
+using DynStatDisk.App.Com;
+using DynStatDisk.App.Model;
+using NPOI.SS.Formula.Functions;
+using NPOI.SS.UserModel;
+using NPOI.XSSF.UserModel;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement;
+
+namespace DynStatDisk.App
+{
+ public partial class frmHistoryData : Form
+ {
+ public frmHistoryData()
+ {
+ InitializeComponent();
+ }
+
+ //单例模式
+ private static frmHistoryData frm = null;
+ public static frmHistoryData CreateInstrance()
+ {
+ if (frm == null || frm.IsDisposed)
+ {
+ frm = new frmHistoryData();
+ }
+ return frm;
+ }
+
+ ///
+ /// 电器盒安装集合数据
+ ///
+ private List LisDynStatDiskInstall = new List();
+
+ private void frmHistoryData_Load(object sender, EventArgs e)
+ {
+ LoadListViewColumn();
+ //获取程序的配置信息
+ var SqlCon = ConfigHelper.GetValue("connecting");
+
+
+
+ }
+
+
+
+ private void LoadListViewColumn()
+ {
+ ColumnHeader h0 = new ColumnHeader();
+ ColumnHeader h1 = new ColumnHeader();
+ ColumnHeader h2 = new ColumnHeader();
+ ColumnHeader h3 = new ColumnHeader();
+ ColumnHeader h4 = new ColumnHeader();
+ ColumnHeader h5 = new ColumnHeader();
+ ColumnHeader h6 = new ColumnHeader();
+ ColumnHeader h7 = new ColumnHeader();
+ ColumnHeader h8 = new ColumnHeader();
+ ColumnHeader h9 = new ColumnHeader();
+ ColumnHeader h10 = new ColumnHeader();
+ ColumnHeader h11 = new ColumnHeader();
+ ColumnHeader h12 = new ColumnHeader();
+ ColumnHeader h13 = new ColumnHeader();
+ ColumnHeader h14 = new ColumnHeader();
+ ColumnHeader h15 = new ColumnHeader();
+ ColumnHeader h16 = new ColumnHeader();
+ ColumnHeader h17 = new ColumnHeader();
+ ColumnHeader h18 = new ColumnHeader();
+ ColumnHeader h19 = new ColumnHeader();
+ ColumnHeader h20 = new ColumnHeader();
+ ColumnHeader h21 = new ColumnHeader();
+ ColumnHeader h22 = new ColumnHeader();
+ ColumnHeader h23 = new ColumnHeader();
+ ColumnHeader h24 = new ColumnHeader();
+ ColumnHeader h25 = new ColumnHeader();
+ ColumnHeader h26 = new ColumnHeader();
+
+
+ h0.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h6.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h7.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h8.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h9.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h10.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h11.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h12.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h13.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h14.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h15.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h16.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h17.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h18.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h19.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h20.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h21.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h22.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h23.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h24.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h25.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ h26.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+
+
+ h0.Width = 20;
+ h1.Width = 100;
+ h2.Width = 100;
+ h3.Width = 100;
+ h4.Width = 150;
+ h5.Width = 150;
+ h6.Width = 0;
+ h7.Width = 100;
+ h8.Width = 100;
+ h9.Width = 100;
+ h10.Width = 100;
+ h11.Width = 100;
+ h12.Width = 100;
+ h13.Width = 140;
+ h14.Width = 100;
+ h15.Width = 100;
+ h16.Width = 120;
+ h17.Width = 120;
+ h18.Width = 120;
+ h19.Width = 120;
+ h20.Width = 120;
+ h21.Width = 120;
+ h22.Width = 120;
+ h23.Width = 120;
+ h24.Width = 160;
+ h25.Width = 160;
+ h26.Width = 0;
+
+
+ h0.Text = "";
+ h1.Text = "压缩机铭板号";
+ //h2.Text = "节拍";
+ h3.Text = "结果";
+ //h4.Text = "开始时间";
+ h5.Text = "结束时间";
+ h6.Text = "";
+ h7.Text = "上活塞油沟";
+ h8.Text = "工号";
+ h9.Text = "创建时间";
+ h10.Text = "";
+ h11.Text = "xxx";
+ h12.Text = "xxx";
+ h13.Text = "xxx";
+ h14.Text = "xxx";
+ h15.Text = "xxx";
+ h16.Text = "xxx";
+ h17.Text = "xxx";
+ h18.Text = "xxx";
+ h19.Text = "xxx";
+ h20.Text = "xxx";
+ h21.Text = "xxx";
+ h22.Text = "xxx";
+ h23.Text = "xxx";
+ h24.Text = "xxx";
+ h25.Text = "xxx";
+ h26.Text = "";
+
+
+ //h16.Text = "Id";
+ listView1.Columns.Clear();
+ listView1.Columns.AddRange(new ColumnHeader[] { h0, h1,h3, h5, h6 });
+ listView1.View = View.Details;
+ }
+
+
+ private void InsertListViewData(long Id,
+ string PlaqueNo,
+ string Result,
+ DateTime CreateTime)
+ {
+ //var EndTime = CreateTime.AddMinutes(Cycle);
+ ListViewItem lvi = new ListViewItem();
+ lvi.ImageIndex = 0;
+ lvi.Text = "";
+ lvi.SubItems.Add(PlaqueNo);
+ //lvi.SubItems.Add(Cycle.ToString());
+ lvi.SubItems.Add(Result);
+ lvi.SubItems.Add(CreateTime.ToString("yyyy-MM-dd HH:mm:ss"));
+ //lvi.SubItems.Add(EndTime.ToString("yyyy-MM-dd HH:mm:ss"));
+ lvi.SubItems.Add(Id.ToString());
+ this.listView1.Items.Insert(0, lvi);
+ }
+
+ private void btnSearch_Click(object sender, EventArgs e)
+ {
+ listView1.Items.Clear();
+
+ var start = dtpStart.Value;
+ var end = dtpEnd.Value;
+ var data = FSqlContext.FDb.Select().Where(a => a.CreateTime >= start && a.CreateTime <= end).OrderByDescending(a => a.CreateTime).ToList();
+ if (data != null && data.Count > 0)
+ {
+ LisDynStatDiskInstall = data;
+ foreach (var item in data)
+ {
+ InsertListViewData(item.Id,
+ item.StaDskCastNo,
+ item.EuropMacine,
+ item.CreateTime
+ );
+ }
+ }
+
+ }
+
+ private void btnReport_Click(object sender, EventArgs e)
+ {
+ //UpperSdReportFile();
+
+
+ }
+
+ private void ReportFile()
+ {
+ var start = dtpStart.Value.ToString("yyyy-MM-dd HH");
+ var end = dtpEnd.Value.ToString("yyyy-MM-dd HH");
+
+ //try
+ //{
+ /***********************
+ 1.读取excel到workbook中
+ ***********************/
+ string TemplateFilePath = System.Environment.CurrentDirectory;
+ string tPath = TemplateFilePath + @"\ReportFile\GroupStandSdReportTemplate.xlsx";
+ XSSFWorkbook wk = null;
+ using (FileStream fs = File.Open(tPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
+ {
+ wk = new XSSFWorkbook(fs);
+ fs.Close(); //把excel里的内容保存到workbook中之后,就可以关闭了
+ }
+ NPOI.SS.UserModel.ISheet sheetSourceData = wk.GetSheetAt(0); //获得wk中第一个sheet,保存到sheet中
+ //NPOI.SS.UserModel.ISheet sheetshift = wk.GetSheetAt(2); //获得wk中第一个sheet,保存到sheet中
+ //NPOI.SS.UserModel.ISheet sheetDt = wk.GetSheetAt(3); //获得wk中第一个sheet,保存到sheet中
+ //NPOI.SS.UserModel.ISheet sheetCount = wk.GetSheetAt(4); //获得wk中第一个sheet,保存到sheet中
+ //NPOI.SS.UserModel.ISheet sheetCycle = wk.GetSheetAt(5); //获得wk中第一个sheet,保存到sheet中
+
+ /***********************
+ 2.操作数据
+ ***********************/
+ //2行 5行
+ IDataFormat dataformat = wk.CreateDataFormat();
+ ICellStyle style0 = wk.CreateCellStyle();
+ for (int i = 0; i < LisDynStatDiskInstall.Count; i++)// (int i = 2; i < 6; i += 3)
+ {
+ IRow row;
+ row = sheetSourceData.CreateRow(i + 1);
+ //row.CreateCell(0).SetCellValue(LisDynStatDiskInstall[i].Id.ToString());
+ //row.CreateCell(1).SetCellValue(LisDynStatDiskInstall[i].SerialNo.ToString());
+ //row.CreateCell(2).SetCellValue(LisDynStatDiskInstall[i].ModelName.ToString());
+ //row.CreateCell(3).SetCellValue(LisDynStatDiskInstall[i].ModelType.ToString());
+ //row.CreateCell(4).SetCellValue(LisDynStatDiskInstall[i].MiddlePlateNo.ToString());
+ //row.CreateCell(5).SetCellValue(LisDynStatDiskInstall[i].UpperGroupStandDiff.ToString("f2"));
+ //row.CreateCell(6).SetCellValue(LisDynStatDiskInstall[i].UpperGroupStandDiffResult.ToString());
+ //row.CreateCell(7).SetCellValue(LisDynStatDiskInstall[i].LowerGroupStandDiff.ToString("f2"));
+ //row.CreateCell(8).SetCellValue(LisDynStatDiskInstall[i].LowerGroupStandDiffResult.ToString());
+ //row.CreateCell(9).SetCellValue(LisDynStatDiskInstall[i].GroupStandDiff.ToString("f2"));
+ //row.CreateCell(10).SetCellValue(LisDynStatDiskInstall[i].GroupStandDiffResult.ToString());
+ //row.CreateCell(11).SetCellValue(LisDynStatDiskInstall[i].OperationNo.ToString());
+ //row.CreateCell(12).SetCellValue(LisDynStatDiskInstall[i].CreateTime.ToString("yyyy-MM-dd HH:mm"));
+ //row.GetCell(12).CellStyle = style0;
+ //row.GetCell(8).CellStyle = style0;
+ //row.GetCell(10).CellStyle = style0;
+ }
+
+
+ //DayDailyParameterInfo = null;
+ //NightDailyParameterInfo = null;
+
+
+ string FilePath = "";
+ FolderBrowserDialog folder = new FolderBrowserDialog();
+ folder.Description = "选择文件所在文件夹目录"; //定义在对话框上显示的文本
+
+ if (folder.ShowDialog() == DialogResult.OK)
+ {
+ FilePath = folder.SelectedPath;
+
+ /***********************
+ 3.修改完成,写入到客户端
+ ***********************/
+ using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
+ {
+ //tPath = @"D:\日立报表\";
+ //判断文件夹是否存在,不存在就创建
+ if (!Directory.Exists(FilePath))
+ {
+ Directory.CreateDirectory(FilePath);
+ }
+ FilePath = FilePath + @"\" + start + "-" + end + "报表数据.xlsx";
+ wk.Write(ms);
+
+ using (FileStream fs = new FileStream(FilePath, FileMode.Create, FileAccess.Write))
+ {
+ byte[] data = ms.ToArray();
+ fs.Write(data, 0, data.Length);
+ fs.Flush();
+ }
+ wk = null;
+
+ }
+ }
+ }
+
+ private void btnClose_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
+ }
+}
diff --git a/EleBox.App/frmHistoryData.resx b/EleBox.App/frmHistoryData.resx
new file mode 100644
index 0000000..24c3f49
--- /dev/null
+++ b/EleBox.App/frmHistoryData.resx
@@ -0,0 +1,1296 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ 17, 17
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACm
+ BwAAAk1TRnQBSQFMAwEBAAEIAQABCAEAARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
+ AUADAAEQAwABAQEAAQgGAAEEGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
+ AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
+ AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
+ AwABmQMAAcwCAAEzAwACMwIAATMBZgIAATMBmQIAATMBzAIAATMB/wIAAWYDAAFmATMCAAJmAgABZgGZ
+ AgABZgHMAgABZgH/AgABmQMAAZkBMwIAAZkBZgIAApkCAAGZAcwCAAGZAf8CAAHMAwABzAEzAgABzAFm
+ AgABzAGZAgACzAIAAcwB/wIAAf8BZgIAAf8BmQIAAf8BzAEAATMB/wIAAf8BAAEzAQABMwEAAWYBAAEz
+ AQABmQEAATMBAAHMAQABMwEAAf8BAAH/ATMCAAMzAQACMwFmAQACMwGZAQACMwHMAQACMwH/AQABMwFm
+ AgABMwFmATMBAAEzAmYBAAEzAWYBmQEAATMBZgHMAQABMwFmAf8BAAEzAZkCAAEzAZkBMwEAATMBmQFm
+ AQABMwKZAQABMwGZAcwBAAEzAZkB/wEAATMBzAIAATMBzAEzAQABMwHMAWYBAAEzAcwBmQEAATMCzAEA
+ ATMBzAH/AQABMwH/ATMBAAEzAf8BZgEAATMB/wGZAQABMwH/AcwBAAEzAv8BAAFmAwABZgEAATMBAAFm
+ AQABZgEAAWYBAAGZAQABZgEAAcwBAAFmAQAB/wEAAWYBMwIAAWYCMwEAAWYBMwFmAQABZgEzAZkBAAFm
+ ATMBzAEAAWYBMwH/AQACZgIAAmYBMwEAA2YBAAJmAZkBAAJmAcwBAAFmAZkCAAFmAZkBMwEAAWYBmQFm
+ AQABZgKZAQABZgGZAcwBAAFmAZkB/wEAAWYBzAIAAWYBzAEzAQABZgHMAZkBAAFmAswBAAFmAcwB/wEA
+ AWYB/wIAAWYB/wEzAQABZgH/AZkBAAFmAf8BzAEAAcwBAAH/AQAB/wEAAcwBAAKZAgABmQEzAZkBAAGZ
+ AQABmQEAAZkBAAHMAQABmQMAAZkCMwEAAZkBAAFmAQABmQEzAcwBAAGZAQAB/wEAAZkBZgIAAZkBZgEz
+ AQABmQEzAWYBAAGZAWYBmQEAAZkBZgHMAQABmQEzAf8BAAKZATMBAAKZAWYBAAOZAQACmQHMAQACmQH/
+ AQABmQHMAgABmQHMATMBAAFmAcwBZgEAAZkBzAGZAQABmQLMAQABmQHMAf8BAAGZAf8CAAGZAf8BMwEA
+ AZkBzAFmAQABmQH/AZkBAAGZAf8BzAEAAZkC/wEAAcwDAAGZAQABMwEAAcwBAAFmAQABzAEAAZkBAAHM
+ AQABzAEAAZkBMwIAAcwCMwEAAcwBMwFmAQABzAEzAZkBAAHMATMBzAEAAcwBMwH/AQABzAFmAgABzAFm
+ ATMBAAGZAmYBAAHMAWYBmQEAAcwBZgHMAQABmQFmAf8BAAHMAZkCAAHMAZkBMwEAAcwBmQFmAQABzAKZ
+ AQABzAGZAcwBAAHMAZkB/wEAAswCAALMATMBAALMAWYBAALMAZkBAAPMAQACzAH/AQABzAH/AgABzAH/
+ ATMBAAGZAf8BZgEAAcwB/wGZAQABzAH/AcwBAAHMAv8BAAHMAQABMwEAAf8BAAFmAQAB/wEAAZkBAAHM
+ ATMCAAH/AjMBAAH/ATMBZgEAAf8BMwGZAQAB/wEzAcwBAAH/ATMB/wEAAf8BZgIAAf8BZgEzAQABzAJm
+ AQAB/wFmAZkBAAH/AWYBzAEAAcwBZgH/AQAB/wGZAgAB/wGZATMBAAH/AZkBZgEAAf8CmQEAAf8BmQHM
+ AQAB/wGZAf8BAAH/AcwCAAH/AcwBMwEAAf8BzAFmAQAB/wHMAZkBAAH/AswBAAH/AcwB/wEAAv8BMwEA
+ AcwB/wFmAQAC/wGZAQAC/wHMAQACZgH/AQABZgH/AWYBAAFmAv8BAAH/AmYBAAH/AWYB/wEAAv8BZgEA
+ ASEBAAGlAQADXwEAA3cBAAOGAQADlgEAA8sBAAOyAQAD1wEAA90BAAPjAQAD6gEAA/EBAAP4AQAB8AH7
+ Af8BAAGkAqABAAOAAwAB/wIAAf8DAAL/AQAB/wMAAf8BAAH/AQAC/wIAA/8HAAWyOQAJsjYAC7I0AAWy
+ AgAGsjMABbIDAAWyMgAGsgIAB7IxAAayAgAHsjEABbIDAAG7BrIxAAayAf8CAAayMQAPsjEAAf8GsgEA
+ AboFsjMABrICAAWyNAAGsgEJBLI2AAmyOAAB/wWydQABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEA
+ AQEFAAGAFwAD/wEAAfwBHwYAAfABBwYAAeABAwYAAcEBgQYAAsEGAAGBAYAGAAGBAYAGAAGDAYAGAAGA
+ AcAGAAGABwABgAGBBgABwAHBBgAB4AEDBgAB8AEHBgAB+AEfBgAC/wYACw==
+
+
+
+
+
+ AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABMLAAATCwAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAWAAAAJgAAADUAAABLAAAAXAAAAGoAAABpAAAAaQAA
+ AGkAAABpAAAAagAAAFwAAABLAAAANQAAACYAAAAWAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAkAAAATgAAAH4AAACqAAAAywAA
+ AOEAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAA
+ AOEAAADLAAAAqgAAAH4AAABOAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAA
+ AFQAAACQAAAA0QAAAO8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAA0QAA
+ AJAAAABUAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAdAAAAYAAAAK8AAADrAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADrAAAArwAAAGAAAAAdAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABDAAAAnwAAAOgAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAACfAAAAQwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAwAAABjAAAAxwAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AgUA/wMJAP8FDgD/BQ4A/wUOAP8FDgD/BQ4A/wUNAP8DCQD/AgQA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD+AAAAxwAAAGMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABnAAAA1AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8FDAD/DB4A/xU0AP8dTAD/JmIA/ytwAP8wfAD/M4UA/zaP
+ AP83kQD/N5IA/zeRAP82kAD/No4A/zOEAP8wfAD/Km8A/yZhAP8dSwD/FDQA/wweAP8FDAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANQAAABnAAAADgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABbAAAA0gAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAoA/xAoAP8cRwD/K2sA/zSC
+ AP85kgD/PJoA/z2cAP89nwD/Pp8A/z2gAP89oAD/PaEA/z6jAP8+pAD/PqMA/z2iAP89oAD/PZ8A/z2f
+ AP89ngD/PZ0A/z2bAP88mQD/OZEA/zSCAP8ragD/HEcA/xAoAP8ECgD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADSAAAAWwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAA5AAAAugAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8FDAD/FDEA/yVcAP8zfgD/Oo4A/zuVAP88lAD/O5QA/zqVAP86lQD/O5cA/zuZAP88mgD/PJwA/zyd
+ AP88nwD/PaEA/z2iAP89oQD/PKAA/zyeAP88nAD/PJsA/zuZAP87lwD/O5YA/zqUAP86lAD/O5MA/zuU
+ AP87lAD/Oo4A/zN9AP8lXAD/FDEA/wUMAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAAugAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAiAAAAPMAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wECAP8NIQD/IlIA/zJ6AP85iwD/Oo8A/zqNAP85jQD/OY8A/zqQ
+ AP86kgD/OpQA/zqVAP87lwD/O5kA/zyaAP88nAD/PJ0A/zyfAP89oQD/PaIA/z2hAP88oAD/PJ4A/zyc
+ AP88mwD/O5kA/zuXAP87lgD/OpQA/zqTAP86kQD/OZAA/zmOAP85jgD/Oo0A/zqOAP85igD/MnkA/yJR
+ AP8NIQD/AQIA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAIgAAAAPAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAPQAAAMoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIGAP8TLgD/KmQA/zeD
+ AP86igD/OYkA/ziIAP84igD/OYsA/zmNAP85jwD/OpAA/zqSAP86lAD/OpUA/zuXAP87mQD/PJkA/z2b
+ AP89nAD/PZ4A/z6gAP8+oAD/Pp8A/z2fAP89nQD/PZsA/z2aAP87mAD/O5cA/zuWAP86lAD/OpMA/zqR
+ AP85kAD/OY4A/zmNAP85iwD/OIkA/ziHAP85iAD/OokA/zeDAP8qZAD/Ey0A/wIGAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAMoAAAA9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAHcAAAD0AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wIEAP8VMgD/LWoA/ziDAP84hQD/N4MA/ziFAP84hwD/OIgA/ziKAP85iwD/OY0A/zmP
+ AP86jwD/O5AA/zuSAP87kwD/PJUA/zuaAf86ngj/OKMN/zemEv82qRX/N6sV/zOwH/8zsB//NqoW/zWp
+ Fv82pRP/OKIO/zieCf86mAH/PJQA/zuRAP87kAD/O48A/zmPAP85jgD/OY0A/zmLAP84iQD/OIcA/ziG
+ AP84hAD/N4MA/ziFAP84gwD/LWkA/xUyAP8CBAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ APIAAAB2AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ABQAAACmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QJQD/K2EA/ziAAP83gQD/N4AA/zeB
+ AP83gwD/OIUA/ziHAP84iAD/OIkA/zqJAP86igD/OY4A/zeWCv8zoRv/La4s/yi5QP8jxVL/IMte/x3R
+ af8b1XD/GNh4/xfbff8X3H7/FtyA/xbdgf8W3YH/Fd6C/xbcf/8Y2Xn/GtVy/xzQaf8gyV3/Jb1K/yux
+ NP8xox//NpcM/zmNAP86igD/OogA/ziIAP84hwD/OIYA/ziEAP83gwD/N4EA/zeAAP83gQD/OH8A/yth
+ AP8QJQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACmAAAAFAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAygAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8IEgD/I1AA/zZ6AP83fgD/NnwA/zZ+AP83gAD/N4EA/zeDAP84hAD/OYQA/zmGAP82jwf/MZ8e/ymy
+ Of8ixFX/Hc9n/xrWc/8Y2nn/GNp6/xjbe/8Y23v/F9p7/xjbe/8Y2nz/F9t8/xfbff8X3H7/Ftx//xbd
+ gf8W3YH/Fd6D/xXfhf8U34f/E+GJ/xPii/8T44z/EuOO/xPgiP8X2X3/HM1p/yW3R/8voiX/NY8K/zmF
+ AP85gwD/OIMA/zeDAP83gQD/N4AA/zZ+AP82fAD/N34A/zZ6AP8jUAD/CBIA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAADKAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAA
+ AOMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAgD/FS8A/zFsAP83fAD/NXoA/zZ7AP82fAD/Nn4A/zeA
+ AP84fwD/OIAA/zaLCf8vnyT/JrhF/x/MYf8b1W//Gtl1/xrYdP8a13P/Gtdz/xrXdP8a13X/Gdh2/xnY
+ d/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTf
+ hv8U4Ij/FOGJ/xLijP8S5I//EeaR/xLjjf8W2X7/IMFb/yykLv81iwz/OIAA/zh+AP83gAD/Nn4A/zZ8
+ AP82ewD/NXkA/zd8AP8xbAD/FS8A/wECAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADjAAAAPAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAADvAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Bg0A/yNO
+ AP82dwD/NngA/zV3AP81eQD/NnsA/zZ7AP83ewD/N4AA/zGUF/8nsT3/IMle/xzVbf8b1nD/HNVu/xzU
+ bv8b1W//G9Vw/xvWcP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfb
+ ff8X3H7/F9x//xbdgf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xHj
+ j/8R5pP/EeWS/xbZf/8gvFX/Lpch/zd/AP83egD/NnsA/zZ7AP81eQD/NXcA/zZ4AP82dwD/I04A/wYN
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJAAAA7gAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0dAP8tYgD/NncA/zV0AP81dgD/NXcA/zV5AP83eAD/NX4D/y6Z
+ If8ku0v/HtBl/x3Va/8d02r/HdJq/xzTa/8c02z/HNRt/xzUbv8b1W//G9Vw/xvWcf8a1nL/Gtdz/xrX
+ dP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgP8W3YH/Fd6C/xXe
+ g/8V34X/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EeSR/xDnlf8R45D/G8ps/yqg
+ MP81fwT/N3cA/zV4AP81dwD/NXYA/zV0AP82dwD/LWMA/w0dAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAADuAAAASQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAPAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8VLgD/M2wA/zVz
+ AP80cwD/NXQA/zV2AP82dAD/NXsD/y2aJP8jv0//H9Fm/x7TaP8e0Wb/HtFm/x7SaP8d0mj/HdJp/x3T
+ a/8c02v/HNRt/xzUbf8b1W//G9Vw/xvWcP8b1nH/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xja
+ ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPh
+ iv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkf8Q55b/EOeU/xjRdv8oojf/NXoE/zZzAP81dgD/NXQA/zRz
+ AP81dAD/M2wA/xUuAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAAAASAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAADvAAAA/wAA
+ AP8AAAD/AAAA/wAAAP8BAgD/HDsA/zRvAP81cAD/NHEA/zRzAP81cgD/NXUA/y+RHP8ku0r/INBi/x/R
+ ZP8fz2L/H9Bk/x/QZP8e0Wb/HtFm/x7SaP8d0mn/HdJp/x3Ta/8c02z/HNRt/xzUbv8b1W//G9Vw/xvW
+ cP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbd
+ gf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHk
+ kP8R5JH/EOeW/xDolv8YzXP/Kpcs/zZ0AP82cgD/NHMA/zRxAP81cAD/NG8A/xw7AP8BAgD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAADvAAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAvAAAA5gAAAP8AAAD/AAAA/wAAAP8AAAD/AQMA/yBDAP81bwD/M28A/zRv
+ AP80cAD/NXAA/zGCD/8nsD7/Ic5e/yDPYf8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFm/x7S
+ Z/8d0mj/HdJp/x3Ta/8c02v/HNRs/xzUbv8b1W//G9Vv/xvWcP8b1nH/Gtdz/xrXdP8a13X/Gdh2/xnY
+ d/8Z2Xf/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTf
+ hv8U4If/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xLjj/8R5JH/EeWS/w/ol/8Q5pX/HMJk/y+G
+ Gf81bwD/NHAA/zRvAP8zbwD/NXAA/yBEAP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADlAAAALQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAANAAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wEDAP8gQwD/NW8A/zNsAP8zbgD/NG0A/zRxAv8smCb/I8VT/yDPX/8hzV3/Ic1d/yDN
+ Xv8gzl//IM5g/x/PYf8fz2L/H9Bj/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3Ta/8c02v/HNRt/xzU
+ bf8b1W//G9Vw/xvWcP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfb
+ ff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi
+ jf8S443/EuOP/xHkkP8R5JH/EeWS/xHmk/8P6Zr/E92K/yWkQP8zcgP/NWwA/zNuAP8zbAD/NW8A/yBD
+ AP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADPAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAcAAACxAAAA/wAAAP8AAAD/AAAA/wAAAP8BAwD/IEQA/zVvAP8zawD/M2wA/zRq
+ AP8yewz/J7A+/yLNWv8izFr/Isxa/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H9Bk/x/Q
+ ZP8e0Wb/HtFm/x7SaP8d0mn/HdJp/x3Ta/8c02z/HNRt/xzUbv8b1W//G9Vw/xvWcf8a1nL/Gtdz/xrX
+ dP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgf8W3YH/Fd6C/xXe
+ hP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHl
+ k/8Q55b/D+mZ/xrFa/8vfxX/NGkA/zNsAP8zawD/NW8A/yBEAP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAACxAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAEA/x4+AP81bwD/M2sA/zNqAP80aQD/Losb/yXATP8jzFn/I8pX/yLKV/8iy1n/Ista/yHM
+ W/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3T
+ a/8c02v/HNRs/xzUbv8b1W//G9Vw/xvWcP8b1nH/Gtdz/xrXdP8a13X/Gdh2/xnYd/8Z2Xf/GNl5/xja
+ ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4If/FOCI/xPh
+ if8T4Yv/E+KL/xLijP8S447/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/D+qa/xPbhv8olTH/NGkA/zNq
+ AP8zawD/NW8A/x4+AP8AAQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAB+AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAEQAAAD4AAAA/wAAAP8AAAD/AAAA/wAAAP8YMwD/NW4A/zNsAP8zaQD/M2sB/yub
+ Kf8kyFL/I8tW/yPJVf8jyVb/I8pX/yLLWP8iy1n/Ista/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/P
+ Yf8fz2L/H9Bj/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3Ta/8c02v/HNRt/xzUbf8b1W//G9Vw/xvW
+ cP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbd
+ gP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHk
+ kP8R5JH/EeWS/xHlk/8Q5ZT/D+mY/xDmlf8hqkz/M2sC/zRpAP8zbAD/NW4A/xgzAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAPgAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAA1QAAAP8AAAD/AAAA/wAA
+ AP8AAAD/EiUA/zNrAP8zbAD/M2kA/zJuBP8qpjP/JMpT/yTJUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLL
+ WP8iy1n/Isxa/yHMW/8hzVz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H9Bk/x/QZP8e0Wb/HtFm/x7S
+ aP8d0mn/HdJp/x3Ta/8c02z/HNRu/xvVb/8a1nL/Gtdz/xrYdP8Z2Hb/Gdl3/xnZef8Y2nn/GNp6/xja
+ ev8Y2nr/F9p7/xjbe/8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOeW/w/q
+ mv8cul//MnAI/zRoAP8zbAD/M2sA/xIlAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANUAAAATAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAJMAAAD/AAAA/wAAAP8AAAD/AAAA/wkUAP8wZAD/NG0A/zNpAP8xcwj/Ka86/yXK
+ Uv8lx1D/JcdQ/yTIUf8kyFP/JMlU/yPJVf8jyVb/I8pX/yLKV/8iy1n/Ista/yHMW/8hzFz/Ic1d/yDN
+ Xv8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFn/x3Tav8c02z/HNRt/xzTa/8e0GT/IM5f/yPJ
+ Vv8lxk3/J8NI/ynAQf8pvz7/Kb8//ynAQ/8mxUz/JMhS/yDNXf8d02n/GtVx/xjae/8X3H//Ft2A/xbc
+ gP8X3H//F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhif8T4Yv/E+KL/xLi
+ jf8S447/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/EOaV/w/rm/8Zx2//L3YQ/zRoAP80bQD/MGQA/wkU
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAA+QAAAP8AAAD/AAAA/wAA
+ AP8DBgD/KFQA/zVuAP8zaAD/MXMI/ymyPP8lyVD/JcZN/yXGT/8lx1D/JcdQ/yTIUv8kyFP/JMlU/yPJ
+ Vf8jyVb/I8pX/yLLWP8iy1n/Isxa/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2P/HtFm/x7R
+ Z/8f0GP/I8lW/yjBRP8uuC//M7Ae/zerE/86pwn/O6UE/zukA/88pAP/PKMC/zyjAf88owH/PKMB/zyk
+ A/88pAP/O6UE/zqnCv82rBX/MrIi/yy7Nv8lxlD/HdFo/xjae/8W3oL/Ft6D/xbdgf8W3YH/Fd6C/xXe
+ g/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KM/xLijf8S443/EuOP/xHkkP8R5JH/EeWS/xHl
+ k/8Q5ZT/EOaV/w7rm/8XzHb/L3YP/zRoAP80bgD/KFQA/wMGAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAA
+ AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAACAAAAMYAAAD/AAAA/wAAAP8AAAD/AAAA/xs5AP81bwD/M2kA/zJzB/8psTn/JsdN/ybF
+ S/8mxk3/JcZO/yXGT/8lx1D/JMdR/yTIUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLLWP8iy1n/Isxa/yHM
+ W/8hzVz/Ic1d/yDNXv8gz2H/H89j/yDNXv8mxUv/Lrgx/zWuGf85pwv/PKQE/zykBP87pAT/O6UG/zul
+ B/87pgf/O6YH/zumB/87pgf/O6YH/zumB/87pgf/O6YH/zumB/87pgf/O6UH/zulBf88pAT/PKQD/zyk
+ A/85qAv/M7Ae/yq+Pf8gzmD/GNp7/xXfhf8V3oP/Fd6C/xXeg/8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPh
+ iv8T4ov/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaU/w/qmv8Xy3X/L3YP/zRo
+ AP81bwD/GzkA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAxgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAA/wAAAP8AAAD/AAAA/wAA
+ AP8MGgD/MmkA/zRqAP8ycgf/KrA4/yfHS/8nxEn/JsRL/ybFS/8mxk3/JcZO/yXGT/8lx1D/JcdQ/yTI
+ Uf8kyFP/JMlU/yPJVf8jyVb/I8pX/yLLWP8iy1n/Ista/yHMW/8gzV7/IM5f/yTHUf8tujT/Nq0Y/zqm
+ Cf87pQX/O6YH/zqmCP86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqn
+ Cf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqmCP87pQb/O6QE/zqmCP80sB3/KMFE/xvU
+ b/8V34T/FN+F/xXehP8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S447/EuOP/xHk
+ kP8R5JH/EeSS/xHlk/8Q5ZT/EOaU/w/qmv8XzHb/MHUO/zRpAP8yaQD/DBoA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAFQAAAN0AAAD/AAAA/wAAAP8AAAD/AwUA/yhWAP81bQD/Mm4D/yuqMv8nxkn/J8NH/yfE
+ Sf8nxEn/JsRL/ybFTP8mxk3/JcZO/yXGT/8lx1D/JcdQ/yTIUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLL
+ WP8hzFv/Icxb/ybESv8wtSr/OKkP/zqmCP86pgn/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmn
+ C/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmn
+ C/85pwv/OacL/zmnC/85pwv/OacL/zqmCP87pQb/N6kR/yy8OP8d0mj/Fd+F/xTfhv8V3oT/Fd+F/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaV/w/r
+ m/8axGz/Mm8H/zVsAP8oVgD/AwUA/wAAAP8AAAD/AAAA/wAAAP8AAADdAAAAFQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8XMAD/NW4A/zNqAP8soCr/KMVH/yjCRf8ow0b/J8NI/yfESf8nxEn/JsRL/ybFTP8mxk3/JcZO/yXG
+ T/8lx1D/JMdR/yTIUv8kyFP/JMlU/yPJVf8jylf/IstZ/yXFTP8wtCn/OagO/zqnCv85qA3/OagN/zmo
+ Df85qA3/OagN/zmoDf85qA3/OagN/zmoDf85qA3/N6cL/zWmCP8zpQb/MaUE/zCkA/8wpAP/MKQD/zCk
+ A/8wpAP/MKQD/zGlBP8zpQb/NaYI/zenC/85qA3/OagN/zmoDf85qA3/OagN/zmoDf85qA3/OagN/zmo
+ Df85qAz/OqYJ/zipD/8suzj/G9Vv/xTgh/8V34b/FN+F/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLi
+ jf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaV/w/rmv8dt1z/M2oB/zVuAP8XMAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAB2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAEQAAAN4AAAD/AAAA/wAAAP8AAAD/BgwA/y5hAP80aQD/LpMe/ynERP8owUT/KMJE/yjC
+ Rf8ow0b/J8NH/yfDSP8nxEn/JsRL/ybFS/8mxk3/JcZN/yXGT/8lx1D/JcdQ/yTIUf8kyFP/I8pW/yTH
+ UP8uuDH/N6oT/zmnDf84qA//OKkQ/zipEP84qRD/OKkQ/zipEP84qRD/OKkQ/zioD/81pwz/MaYH/zKm
+ Cf9CrRz/W7g6/3bEWv+T0Hz/qtqY/7Ldov+y3aL/st2i/7Ldov+q2pj/k9B8/3nEXf9buDr/Qq0c/zKm
+ Cf8xpgf/NacM/zioD/84qRD/OKkQ/zipEP84qRD/OKkQ/zipEP84qRD/OKgP/zmmC/82qxX/J8JG/xfb
+ fP8U4In/Fd+G/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeSS/xHl
+ k/8Q5ZT/EOaV/w/qmv8ipEX/NWgA/y5hAP8GDAD/AAAA/wAAAP8AAAD/AAAA/wAAAN4AAAARAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpAAAA/wAAAP8AAAD/AAAA/wAA
+ AP8cPAD/NWwA/zCCEv8pv0D/KcFC/ynBQv8owUT/KMJE/yjCRf8ow0b/J8NH/yfESf8nxEn/JsRL/ybF
+ TP8mxk3/JcZO/yXGT/8lx1D/JcdR/yTIU/8pwEH/NK8c/zioDv84qRD/OKkR/zipEf84qRH/OKkR/zip
+ Ef84qRH/OKkR/zepEP8ypwr/MqcK/02zK/+ByWj/uuGt/+Dx2f/7/fr/////////////////////////
+ //////////////////////////////v9+v/g8dn/uuGt/4HJaP9Nsyv/MqcK/zKnCv83qRD/OKkR/zip
+ Ef84qRH/OKkR/zipEf84qRH/OKkR/zipEP85pw3/MrIk/x7PZP8U4Ij/FN+H/xTfhv8U4Ij/FOGJ/xPh
+ iv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOeW/xDkk/8pjSr/NmsA/xw8
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAGkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAABgAAAMwAAAD/AAAA/wAAAP8AAAD/Bw4A/zBjAP8zdAb/K7Q2/yrCQP8pwED/KcFC/ynB
+ Qv8owUP/KMJF/yjCRf8ow0b/J8NI/yfESf8nxEr/JsRL/ybFTP8mxk3/JcZO/yXHUP8mxk//Lrgx/zer
+ FP83qhL/N6sT/zeqE/83qhP/N6oT/zeqE/83qhP/N6sU/zeqE/8xqA3/N6sT/2W+Sf+z36X/7/jt////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////+/47f+z36X/Zb5J/zerE/8xqA3/N6oT/zerFP83qhP/N6oT/zeqE/83qhP/N6oT/zer
+ FP84qRH/N6oU/ybDSf8W3YP/FOCI/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EuOP/xHk
+ kP8R5JH/EeWS/xHlk/8Q5ZT/D+mY/xXWgf8weBD/MGIA/wcOAP8AAAD/AAAA/wAAAP8AAAD/AAAAzAAA
+ AAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGAAAA/QAAAP8AAAD/AAAA/wAA
+ AP8cOQD/NW8B/y6iKP8qwkD/Kr8+/yq/P/8pwED/KcBB/ynBQv8owUP/KMJE/yjCRf8ow0b/J8NH/yfD
+ SP8nxEn/JsRL/ybFS/8mx07/J8NH/zGyJf82qhT/NqsV/zarFv82qxb/NqsW/zarFv82qxb/NqsW/zar
+ Fv8zqhL/MakQ/2a/Tf/I6L///v79////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////+/v3/yOi//2a/
+ Tf8xqRD/M6oS/zarFv82qxb/NqsW/zarFv82qxb/NqsW/zarFv82qxX/OKkR/y25NP8Y2Xj/E+GJ/xTf
+ hv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/D+ua/xu9
+ Y/81bgL/HDkA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAKIAAAD/AAAA/wAAAP8AAAD/BAoA/y5dAP8xixX/K788/yu+PP8qvj3/Kr8+/yrA
+ P/8pwED/KcBB/ynBQv8owUT/KMJE/yjCRf8ow0b/J8NH/yfESf8nxEn/JsVM/ynAQf8zsB//NqsV/zas
+ F/82rBf/NqwX/zasF/82rBf/NqwX/zasF/81rBf/L6kQ/0izLf+u3qL/+v35////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////+v35/67eov9Isy3/L6kQ/zWsF/82rBf/NqwX/zas
+ F/82rBf/NqwX/zasF/82rBf/N6oT/zGzJ/8c1G//E+GJ/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLi
+ jf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/D+iY/yeaNv8vXAD/BAoA/wAAAP8AAAD/AAAA/wAA
+ AP8AAACiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAA6AAAAP8AAAD/AAAA/wAA
+ AP8VKwD/NHYF/y2zMv8rvzv/K707/yu+PP8rvj3/Kr8+/yq/P/8pwED/KcBB/ynBQv8pwUP/KMJE/yjC
+ Rf8owkb/J8NH/ybESv8qvTz/NK4d/zWsGP81rRr/Na0a/zWtGv81rRr/Na0a/zWtGv81rRr/NKwY/y+q
+ E/9wxVz/4vPe////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////+Lz3v9wxVz/L6oT/zSsGP81rRr/Na0a/zWtGv81rRr/Na0a/zWtGv81rRr/NqsX/zOw
+ If8e0Wf/E+GJ/xTfhv8U4If/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xLjj/8R5JH/EeSS/xHl
+ k/8P55f/FNeD/zF6Dv8WKgD/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAAAaAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAFwAAAD/AAAA/wAAAP8AAAD/AQIA/ydQAP8wnB//LL86/yy9Of8rvTr/K707/yu+
+ PP8qvj3/Kr8+/yq/P/8pwED/KcBB/ynBQv8owUP/KMJE/yjCRf8nw0j/Kr07/zOuHv80rRv/NK0c/zSt
+ HP80rRz/NK0c/zStHP80rRz/NK0c/zKsGf8wrBj/kNKD//n8+P//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////n8+P+Q0oP/MKwY/zKs
+ Gf80rRz/NK0c/zStHP80rRz/NK0c/zStHP80rRz/NawZ/zKwIf8d0Wj/E+GJ/xTfhv8U4Ij/FOCI/xPh
+ iv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeWS/xHlk/8P6pn/ILNU/yhPAP8BAgD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqgAAAP8AAAD/AAAA/wAA
+ AP8KEwD/MXkK/y25NP8svTf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yrAP/8pwED/KcBB/ynB
+ Qv8owUT/KMJG/yq8O/8yryD/NK4d/zSuHv80rh7/NK4e/zSuHv80rh7/NK4e/zSuHv8yrRv/Na8f/6Ha
+ l///////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+h2pf/Na8f/zKtG/80rh7/NK4e/zSuHv80rh7/NK4e/zSu
+ Hv80rh7/NK0b/zKwI/8c0mv/FOGJ/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHk
+ kP8R5JH/EeWS/xDmlP8R4Y//K4Ed/wsSAP8AAAD/AAAA/wAAAP8AAAD/AAAAqgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAABUAAADmAAAA/wAAAP8AAAD/AAAA/xs2AP8xpCP/Lb43/y27Nv8svDf/LLw3/yy9
+ Of8rvTr/K707/yu+PP8rvj3/Kr8+/yq/P/8pwED/KcBB/ynCQ/8qvj3/MrEj/zOvH/8zryD/M68g/zOv
+ IP8zryD/M68g/zOvIP8zryD/Mq4e/y+uHP+n3Z//////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //+n3Z//L64c/zKuHv8zryD/M68g/zOvIP8zryD/M68g/zOvIP8zryD/NK4d/zCzKf8a1nL/FOCI/xTf
+ hv8U4Ij/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xHkkP8R5JH/EeSS/w/pmP8ewmP/GzYA/wAA
+ AP8AAAD/AAAA/wAAAP8AAADmAAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAAAP8AAAD/AAAA/wAA
+ AP8BAAD/J2cL/y+7Mv8tuzT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yq/
+ P/8pwEH/Kb8//zCzJ/8zryH/MrAi/zKwIv8ysCL/MrAi/zKwIv8ysCL/MrAi/zKwIv8srRv/k9WK////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////v/+/+/89v/i++7/4vvu/+/89v/+//7/////////////////////////////////////////
+ //////////////////////////////////////////////////+T1Yr/LK0b/zKwIv8ysCL/MrAi/zKw
+ Iv8ysCL/MrAi/zKwIv8ysCL/M64f/y24M/8X233/FOCH/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi
+ jf8S443/EuOP/xHkkP8R5JH/EeWT/xPmkf8gcSH/AgAA/wAAAP8AAAD/AAAA/wAAAP8AAABRAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAACcAAAA/wAAAP8AAAD/AAAA/woTAP8unSD/Lr0z/y66M/8tujT/Lbs1/y27
+ Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yq/P/8utS7/MrAj/zKwJP8ysCT/MrAk/zKw
+ JP8ysCT/MrAk/zKwJP8ysST/K64d/2/IZf/6/fr/////////////////////////////////////////
+ ///////////////////////////////////d+ev/o/DL/2roq/9D4pb/MuCN/ynfiP8p34j/MuCN/0Pi
+ lv9q6Kv/o/DL/9356///////////////////////////////////////////////////////////////
+ //////////////r9+v9vyGX/K64d/zKxJP8ysCT/MrAk/zKwJP8ysCT/MrAk/zKwJP8ysCT/M64g/yjA
+ RP8V3oX/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EOqX/xq7
+ Yv8KEgD/AAAA/wAAAP8AAAD/AAAA/wAAAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAN4AAAD/AAAA/wAA
+ AP8AAAD/Fj8I/zC6Lv8uuTH/Lrkx/y66M/8tujT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+
+ PP8qvz7/LLgz/zGxJf8xsSb/MbEm/zGxJv8xsSb/MbEm/zGxJv8xsSb/MbEm/y2wIv9GuTz/5vXk////
+ ///////////////////////////////////////////////////////////////////E9d3/Y+Wl/yTc
+ gf8Q1nD/FNJo/xrNXf8fyFT/IcZQ/yHGUP8fyFT/Gs1d/xTSaP8Q1nD/JNyB/2Plpf/E9d3/////////
+ /////////////////////////////////////////////////////////////+b15P9GuTz/LbAi/zGx
+ Jv8xsSb/MbEm/zGxJv8xsSb/MbEm/zGxJv8xsSb/MrAj/yHKWf8U4Ij/Fd+F/xTfhv8U4Ij/FOCI/xPh
+ if8T4Yv/E+KL/xLijf8S447/EuOP/xHkkP8R5ZL/FOWN/xFHGv8AAAD/AAAA/wAAAP8AAAD/AAAA3gAA
+ AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABCAAAA/QAAAP8AAAD/AAAA/wAAAP8kexn/ML4w/y64MP8uuTD/Lrky/y66
+ M/8tujT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K747/yy8Of8wsin/MLIn/zCyKP8wsij/MLIo/zCy
+ KP8wsij/MLIo/zCyKP8wsij/K7Ai/7Dirf//////////////////////////////////////////////
+ ///////////////////o+/H/ceeq/xrYdv8Vz2L/I8NL/yu5N/8vtCv/MbIm/zGxJf8xsSX/MbEl/zGx
+ Jf8xsib/L7Qr/yu5N/8jw0v/Fc9i/xrYdv9x56r/6Pvx////////////////////////////////////
+ /////////////////////////////7Dirf8rsCL/MLIo/zCyKP8wsij/MLIo/zCyKP8wsij/MLIo/zCy
+ KP8xsib/L7Qs/xrWc/8V4If/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KM/xLijf8S443/EuOP/xHk
+ kP8R65b/E5RS/wEAAP8AAAD/AAAA/wAAAP8AAAD9AAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAD/AAAA/wAA
+ AP8AAAD/BxUD/y2pJ/8wuS7/L7gv/y64MP8uuTH/Lrky/y66M/8tujT/Lbs1/yy7Nv8svDf/LLw4/yy9
+ Of8rvTr/LrYv/zCzKf8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyr/MLMq/yqxJP9exFn/+f35////
+ ////////////////////////////////////////////////////////yfXd/zvdh/8Uz2L/Jr9D/y+0
+ LP8xsSf/MLIo/zCzKf8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyn/MLIo/zGxJ/8vtCz/Jr9D/xTP
+ Yv873Yf/yfXd////////////////////////////////////////////////////////////+f35/17E
+ Wf8qsST/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8xsSf/KL9C/xXeg/8V3oX/FN+G/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EuOP/xHmkv8S0YH/BRkL/wAAAP8AAAD/AAAA/wAA
+ AP8AAACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAJAAAA0QAAAP8AAAD/AAAA/wAAAP8TRQ//Mrwt/y+3LP8vty3/L7gu/y64
+ MP8uuTD/Lrkx/y66M/8tujT/Lbs1/y27Nv8svDf/LLw4/y25NP8vsyz/L7Qs/y+0LP8vtCz/L7Qs/y+0
+ LP8vtCz/L7Qs/y+0LP8vsyz/K7Io/7vmuv//////////////////////////////////////////////
+ /////////////8L02f8p13f/HcZP/y62Mf8wsin/L7Mr/y+0LP8vtCz/L7Qs/y+0LP8vtCz/L7Qs/y+0
+ LP8vtCz/L7Qs/y+0LP8vtCz/L7Qs/y+zK/8wsin/LrYx/x3GT/8p13f/wvTZ////////////////////
+ ////////////////////////////////////////u+a6/yuyKP8vsyz/L7Qs/y+0LP8vtCz/L7Qs/y+0
+ LP8vtCz/L7Qs/y+0LP8wsyn/H81h/xTfhv8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi
+ jf8S443/EuOP/xLrk/8IVTP/AAAA/wAAAP8AAAD/AAAA/wAAANEAAAAJAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAD5AAAA/wAA
+ AP8AAAD/AAEA/yJ9HP8yvCz/MLcs/y+3LP8vty3/L7gv/y64MP8uuTD/Lrky/y66M/8tujT/Lbs1/y27
+ Nv8suzb/LrUw/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/yqzKv9VwlT/9/z3////
+ ///////////////////////////////////////////////////Q9uH/LNZ1/yHBRf8wtCz/L7Qt/y+0
+ Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0
+ Lv8vtC3/MLQs/yHBRf8t1nX/0/fj////////////////////////////////////////////////////
+ ///3/Pf/VcJU/yqzKv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0LP8rujr/F9t9/xXe
+ hP8V3oT/Fd+F/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuuU/w2dYf8AAQD/AAAA/wAA
+ AP8AAAD/AAAA+QAAADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAcwAAAP8AAAD/AAAA/wAAAP8FEgT/LaYl/zG4Kv8wtiv/MLcs/y+3
+ LP8vuC7/L7gv/y64MP8uuTH/Lrky/y26M/8tujT/Lbs1/y24M/8utTD/LrUw/y61MP8utTD/LrUw/y61
+ MP8utTD/LrUw/y61MP8utTD/JrIo/5zcnf//////////////////////////////////////////////
+ ////////8/33/0rbhv8fwEP/L7Qu/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61
+ MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/L7Qu/x/AQ/9L24f/8v33////
+ //////////////////////////////////////////////////+c3J3/JrIo/y61MP8utTD/LrUw/y61
+ MP8utTD/LrUw/y61MP8utTD/LrUw/y+zLf8hylv/FN+F/xXeg/8V3oT/FN+F/xTfhv8U4Ij/FOGJ/xPh
+ iv8T4ov/E+KM/xLijf8S5Y//ENCD/wEWDv8AAAD/AAAA/wAAAP8AAAD/AAAAcwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAC0AAAA/wAA
+ AP8AAAD/AAAA/xA+Df8yuSj/MbUo/zC2Kf8wtir/MLYr/y+3LP8vty3/L7gu/y64MP8uuTD/Lrky/y66
+ M/8tujP/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/yy1MP8zuDf/1/HY////
+ //////////////////////////////////////////////////+P6LT/HMJH/y61MP8ttjL/LbYy/y22
+ Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22
+ Mv8ttjL/LbYy/y22Mv8ttjL/LrUw/xzCR/+R6bb/////////////////////////////////////////
+ /////////////9fx2P8zuDf/LLUw/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LrUw/yq7
+ PP8X23z/Fd6C/xXegv8V3oP/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S6JD/Bk0x/wAA
+ AP8AAAD/AAAA/wAAAP8AAAC0AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAOUAAAD/AAAA/wAAAP8AAAD/Hm0W/zO7KP8xtSf/MbUp/zC2
+ Kf8wtir/MLcs/y+3LP8vty3/L7gv/y64MP8uuTH/Lrky/y25M/8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23
+ NP8ttzT/Lbc0/y23NP8ttzT/KLUw/0/DVv/5/fr/////////////////////////////////////////
+ ////////6fvx/zbOZv8ptzP/LbY0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23
+ NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttjT/Kbcz/zjO
+ aP/q+/H/////////////////////////////////////////////////+f36/0/DVv8otTD/Lbc0/y23
+ NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/LbYy/x/OY/8V34P/Fd6B/xXeg/8V3oP/FN+F/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xPrkv8Lilb/AAAA/wAAAP8AAAD/AAAA/wAAAOUAAAASAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3AAAA/QAA
+ AP8AAAD/AAAA/wEFAf8pkx7/M7gm/zG0Jv8xtSj/MbUp/zC2Kf8wtiv/MLcs/y+3LP8vuC7/L7gv/y64
+ MP8uuDH/LLc1/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8ktS7/ddB7////
+ //////////////////////////////////////////////////+k673/Ibw8/yy2Nf8stzb/LLc2/yy3
+ Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3
+ Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stjX/Ibw8/6Trvf//////////////////////////////
+ ////////////////////////ddB7/yS1Lv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3
+ Nv8ttjT/JsBH/xbdf/8W3YH/Fd6B/xXegv8V34T/FN+F/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+eP/w+6
+ dP8BBgT/AAAA/wAAAP8AAAD/AAAA/QAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGUAAAD/AAAA/wAAAP8AAAD/CBwF/zCrIv8ytCX/MrQl/zG0
+ Jv8xtSf/MbUo/zC2Kf8wtir/MLYr/y+3LP8vty3/L7gu/y64Mv8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4
+ OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yO1MP+Y3J7/////////////////////////////////////////
+ /////////////2TWg/8ktjP/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4
+ OP8otzX/JbYy/yW2Mv8otzX/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4
+ OP8ktjP/ZNaD//////////////////////////////////////////////////////+Y3J7/I7Uw/yu3
+ OP8rtzj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruTn/G9Vw/xXegf8W3YD/Fd6B/xXe
+ gv8V3oP/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T44z/EtiF/wMhFf8AAAD/AAAA/wAAAP8AAAD/AAAAZQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAA
+ AP8AAAD/AAAA/wAAAP8ROgv/M7Yi/zK0JP8ysyT/MbQl/zG0Jv8xtSf/MbUp/zC2Kf8wtir/MLcs/y+3
+ LP8vty3/Lbg1/yu5O/8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/Jrc3/7Hl
+ t//////////////////////////////////////////////////x/PX/P8da/yi3N/8ruTr/K7k6/yu5
+ Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8mtzb/Kbg4/0fCVf9kzG//ZMxv/0fCVf8puDj/Jrc2/yu5
+ Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yi3N/8/x1r/8fz1////////////////////
+ /////////////////////////////7Hlt/8mtjf/K7g6/yu4Ov8ruDr/K7k6/yu5Ov8ruTr/K7k6/yu5
+ Ov8ruTr/K7k6/yy4N/8hylv/Ft2B/xbdgP8W3YD/Fd6B/xXeg/8V3oP/FN+F/xTfhv8U4Ij/FOGJ/xPi
+ iv8T5o7/Bkot/wAAAP8AAAD/AAAA/wAAAP8AAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAA/wAAAP8AAAD/AAAA/xlYEP81uSP/M7Ii/zKz
+ I/8ysyT/MrQl/zG0Jv8xtSf/MbUo/zC1Kf8wtir/MLYs/y+3Lf8ruTn/Kro9/yq6PP8qujz/Kro8/yq6
+ PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6PP8ouTv/venD////////////////////////////////////
+ /////////////9335P81wEr/KLk6/yq6PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6PP8qujz/JLg3/03F
+ XP+86cL/8vv0////////////8vv0/73qwv9NxVz/JLg3/yq6PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6
+ PP8qujz/KLk6/zXASv/d9+T/////////////////////////////////////////////////venD/yi4
+ O/8quTz/Krk8/yq5PP8quTz/Kro8/yq6PP8qujz/Kro8/yq6PP8qujz/K7k7/ybASf8Y233/F9yA/xbd
+ f/8W3YD/Fd6B/xXegv8V3oT/Fd+F/xTfhv8U4If/FOCI/xTrkP8JcEX/AAAA/wAAAP8AAAD/AAAA/wAA
+ ALgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAA
+ ANwAAAD/AAAA/wAAAP8AAAD/I3cV/zW3If8zsiH/M7Ii/zKzI/8ysyT/MrQl/zG0Jv8xtSf/MbUo/zC2
+ Kf8wtir/L7cv/ym7Pv8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8puz7/KLs9/yq7
+ P//P8NT/////////////////////////////////////////////////0PLX/y29Q/8ouz3/Kbs+/ym7
+ Pv8puz7/Kbs+/ym7Pv8puz7/Kbs//yK4OP9YyWj/6vjs/////////////////////////////////+r4
+ 7P9YyWj/Irg4/ym7P/8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8ouz3/Lb1D/9Dy1///////////////
+ ///////////////////////////////////P79T/Kro//yi6Pf8puj7/Kbo+/ym6Pv8puj7/Kbs+/ym7
+ Pv8puz7/Kbs+/ym7Pv8puz7/KbxA/xrWc/8X3X//F9x//xbdgP8W3YD/Fd6B/xXegv8V3oP/Fd+F/xTf
+ hv8U4Ij/FOeN/w2VW/8AAAD/AAAA/wAAAP8AAAD/AAAA3AAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAA6wAAAP8AAAD/AAAA/wACAP8qjxj/NbUg/zOx
+ IP8zsiH/MrIi/zKzJP8ysyT/MbQl/zG0Jv8xtSf/MbUp/zC2Kf8tuDP/KbtB/ym7QP8pu0D/KbtA/ym7
+ QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8pu0D/Jbs+/7rqwv//////////////////////////////
+ ///////////////////L79H/KLtA/yi7QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8juTv/RsVa/+L2
+ 5v///////////////////////////////////////////+L25v9GxVr/I7k7/ym7QP8pu0D/KbtA/ym7
+ QP8pu0D/KbtA/yi7QP8ou0D/y+/R/////////////////////////////////////////////////7rq
+ w/8luT3/Kbo//ym6P/8puj//Kbo//ym6QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8puz//Hs5l/xbc
+ f/8X3H7/Ftx//xbdgP8W3YD/Fd6B/xXeg/8V3oP/FN+G/xTfhv8U5Yv/ELVu/wACAf8AAAD/AAAA/wAA
+ AP8AAADrAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ADAAAAD2AAAA/wAAAP8AAAD/BA0C/y6bGv81sx7/NLEf/zOxIP8zsiH/M7Ii/zKzI/8ysyT/MrQl/zG0
+ Jv8xtSf/MbUo/yu5OP8ovET/KLxD/yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yi8
+ Q/8gujz/etmO/////////////////////////////////////////////////4vdnf8gujz/KLxD/yi8
+ Q/8ovEP/KLxD/yi8Q/8ovEP/I7s//znBUf/V8tr/////////////////////////////////////////
+ /////////////9Xy2v85wVH/I7s//yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yC5PP+L3Zz/////////
+ ////////////////////////////////////////etiO/yC5O/8ou0L/KLtC/yi7Qv8ou0L/KLtC/yi7
+ Qv8ou0P/KLxD/yi8Q/8ovEP/KLxD/ym7QP8iyFj/F9t+/xfbff8X3H7/F9x//xbdf/8W3YD/Fd6B/xXe
+ gv8V3oT/Fd+F/xTjiP8SxXf/AREK/wAAAP8AAAD/AAAA/wAAAPUAAAAvAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAP4AAAD/AAAA/wAAAP8HGAT/MaQa/zWy
+ Hv80sR7/NLEf/zOxIP8zsiH/M7Ii/zKzJP8ysyT/MrQl/zG0Jv8xtSj/Kbs+/yi9Rv8ovUX/KL1F/yi9
+ Rf8ovUX/KL1F/yi9Rf8ovUX/KL1F/yi9Rf8ovUX/KL1F/ya8Q/8twk3/yPDR////////////////////
+ ///////////////////R8tj/NMVT/ya8Q/8ovUX/KL1F/yi9Rf8ovUX/KL1F/yW8Qv8uv0r/wuzK////
+ /////////////////////////////////////////////////////////////8Lsyv8uv0r/JbxC/yi9
+ Rf8ovUX/KLxE/yi8RP8ovET/JrtC/zTEU//R8tj//////////////////////////////////////8jw
+ 0f8twkz/JrtC/yi8RP8ovET/KLxE/yi8RP8ovET/KLxE/yi8RP8ovEX/KL1F/yi9Rf8ovUX/KLxD/yTD
+ UP8Y2nr/F9t8/xfbff8X3H7/F9x//xbdgP8W3YD/Fd6B/xXegv8V3oP/FeGG/xLQff8DHxP/AAAA/wAA
+ AP8AAAD/AAAA/gAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABQAAAA/wAAAP8AAAD/AAAA/wohBf8zqxr/NLEc/zSwHf80sR7/M7Ef/zOxIP8zsiH/MrIi/zKz
+ I/8ysyT/MbQl/zG1KP8ovET/J71H/ye9Rv8nvUb/J71G/ye9Rv8nvUb/J71G/ye9Rv8nvUb/J71G/ye9
+ Rv8nvUb/J71H/yO9Q/87yFf/teq///v+/P/////////////////8/v3/vu3H/z/JWv8ivkP/J71H/ye9
+ Rv8nvUb/J71G/ye9R/8lvUX/Jr1G/6/nu///////////////////////////////////////////////
+ /////////////////////////////6/nu/8mvUb/JbxF/ya9Rv8mvEX/J7xF/ye8Rf8nvEb/Ir1C/z/J
+ Wv++7cf//P79//////////////////v+/P+16r//O8hX/yO9Q/8nvEb/J7xF/ye8Rf8nvEX/J7xF/ye8
+ Rf8nvEX/J7xF/ye8R/8nvUb/J71G/ye9Rv8nvUX/JcBM/xjYd/8Y2nv/F9t8/xfbff8X3H7/Ftx//xbd
+ gP8W3YD/Fd6B/xXegv8V34T/FNmC/wQqGv8AAAD/AAAA/wAAAP8AAAD/AAAATgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAD/AAAA/wAAAP8AAAD/DCoG/zay
+ G/81rxv/NLAc/zSwHf80sR7/NLEf/zOxIP8zsiH/M7Ii/zKzI/8ysyP/MLYr/ye+R/8mvkn/Jr5J/ya+
+ Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5J/ya+Sf8mvkn/J75J/yO/RP8nwUL/WM9s/4jc
+ lv+a4ab/jN6Z/1nPbf8pwkT/I79D/ye+Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5I/yK9Rf+Y4Kn/////////
+ /////////////////////////////////////////////////////////////////////////////5jg
+ qP8hvET/Jb1H/yW9SP8lvUj/Jr1I/ya9SP8nvUj/I75D/ynCRP9Zz23/jN6Z/5rhpv+I3Jb/WM9s/yfB
+ Qv8jvkP/J71I/ya9SP8mvUj/Jr1I/ya9SP8mvUj/Jr1I/ya9SP8mvUj/Jr1I/ya9Sf8mvUn/Jr5J/ya+
+ SP8mwEv/G9Vx/xjae/8Y2nv/F9t8/xfbff8X3H7/F9x//xbdf/8W3YD/Fd6B/xXegv8W4ob/BTUg/wAA
+ AP8AAAD/AAAA/wAAAP8AAABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAVgAAAP8AAAD/AAAA/wAAAP8NKwb/NrMZ/zWvGv81rxv/NLAc/zSwHf80sR7/NLEf/zOx
+ IP8zsiH/M7Ii/zKzIv8vti7/Jr9L/ya/S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/
+ S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/R/8jvj7/IL05/yK+Ov8gvTn/Ir4+/ya/R/8mv0v/Jr9L/ya/
+ S/8mv0v/Jr9L/ya/Sv8evUT/hNuZ////////////////////////////////////////////////////
+ /////////////////////////////////////////////4TamP8dvEP/Jb5J/yW+Sv8lvkr/Jr5K/ya+
+ Sv8mvkr/Jr5G/yK+Pv8gvTn/Ir46/yC9Of8jvj7/Jr5H/ya+Sv8mvkr/Jr5K/ya+Sv8mvkr/Jr5K/ya+
+ Sv8mvkr/Jr5K/ya+Sv8mvkr/Jr5K/ya+S/8mvkv/Jr9L/ya/S/8c0mz/GNp6/xjaev8Y2nv/F9t8/xfb
+ ff8X3H7/F9x//xbdgP8W3YD/Fd6B/xbkhv8FNyH/AAAA/wAAAP8AAAD/AAAA/wAAAFcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfAAAA/wAAAP8AAAD/AAAA/w4r
+ Bv83shj/Na4Z/zWvGv81rxv/NLAc/zSwHf80sR7/M7Ef/zOxIP8zsiH/M7Ih/y63MP8lwE7/JcBN/yXA
+ Tf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXA
+ Tf8mwEv/JsBL/yXAS/8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/Hb5G/3DVif/5/fr/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////+f36/2/Uif8cvET/JL5L/yS+S/8kvkv/Jb5L/yW+TP8lvkz/Jb9M/yW/S/8mv0r/Jr9L/yW/
+ TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/
+ Tf8lv03/Jr9L/x3Raf8Y2nn/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgP8W3YD/FuSF/wU3
+ If8AAAD/AAAA/wAAAP8AAAD/AAAAVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAFsAAAD/AAAA/wAAAP8AAAD/DSsF/zexF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSw
+ Hf80sR7/NLEf/zOxIP80sR//Lrcy/yPCUf8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTB
+ T/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTB
+ T/8kwU//JcFP/xy+Sf9b0Hr/8vv1////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////8vv0/1rPef8bvEb/JL9N/yO/
+ Tf8jv03/JL9N/yS/Tv8kv07/JL9O/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTA
+ Tv8kwE7/JMBO/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTAT/8lv03/HdBo/xnZeP8Z2Xj/GNl5/xja
+ ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdf/8X44T/BTcg/wAAAP8AAAD/AAAA/wAAAP8AAABXAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVwAAAP8AAAD/AAAA/wAA
+ AP8NKwX/N7EW/zatF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSwHf80sR7/NLEf/zSxHv8utzL/I8JT/yTB
+ Uf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTB
+ Uf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8dwEz/Scxu/+b46///////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////5vjr/0jKbf8cvUr/I79P/yO/T/8jv0//JL9P/yS/UP8kv1D/JMBQ/yTA
+ UP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTA
+ UP8kwFD/JMBQ/yS/T/8dz2n/Gdl4/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xfj
+ g/8FNyD/AAAA/wAAAP8AAAD/AAAA/wAAAFcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABYAAAA/wAAAP8AAAD/AAAA/w4rBf84sRX/Nq0W/zatF/82rhj/Na4Z/zWv
+ Gv81rxv/NLAc/zSwHf80sR7/NLAd/y23M/8iw1X/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPC
+ U/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPC
+ U/8jwlP/HsFP/zrIZP/Z9OH/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////2fTh/zjG
+ Y/8dv03/IsBR/yLAUf8jwFH/I8BR/yPAUv8jwFL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPB
+ Uv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8BR/x3PaP8Z2Hb/Gdh2/xnZ
+ d/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F+KC/wU3IP8AAAD/AAAA/wAAAP8AAAD/AAAAWAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEsAAAD/AAAA/wAA
+ AP8AAAD/DCYE/zetE/83rRX/Nq0W/zatF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSwHf81sBz/Lrcy/yLE
+ V/8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPD
+ Vf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/x/CUv8uxl3/yfDV////////////////////
+ /////////////////////////////////////////////8rty//K7cv/////////////////////////
+ ////////////////////////////////////////ye/V/y3EW/8ewFD/IsFT/yLBU/8iwVP/I8FT/yPB
+ VP8jwVT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPC
+ VP8jwlT/I8JU/yPCVP8jwVP/Hc9o/xrXdf8Z13X/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfc
+ fv8X3X//BTEd/wAAAP8AAAD/AAAA/wAAAP8AAABLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAPQAAAPwAAAD/AAAA/wAAAP8JHgP/NaQS/zetFP82rBX/Nq0W/zat
+ F/82rhj/Na4Z/zWvGv81rxv/NLAc/zWvG/8utzL/IcVZ/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLE
+ V/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLE
+ V/8gw1X/JMVZ/7brx///////////////////////////////////////////////////////////////
+ ///a8tn/QL0//0C9P//a8tn/////////////////////////////////////////////////////////
+ ////////tevG/yPDV/8fwVP/IcJV/yHCVf8hwlX/IsJV/yLCVv8iwlb/IsNW/yLDVv8iw1b/IsNW/yLD
+ Vv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLCVf8dz2f/Gtdz/xrW
+ dP8Z13X/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9x9/xbSeP8EJhX/AAAA/wAAAP8AAAD/AAAA/AAA
+ AD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAA8wAA
+ AP8AAAD/AAAA/wcTAv8ynBD/OK0T/zesE/83rBT/Nq0W/zatF/82rRf/Na4Z/zWvGv81rxv/Na8a/y+2
+ Lv8hxVr/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHF
+ Wf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IMRY/x7EVv+i5rn/////////////////////////
+ ////////////////////////////////////////5/bm/1HBS/8huz7/Ibs+/1HBS//n9ub/////////
+ ////////////////////////////////////////////////////////oeW4/x3CVf8fwlb/IMNX/yDD
+ V/8hw1f/IcNX/yHCWP8hw1j/IcNY/yHEWP8hxFj/IcRY/yHEWP8hxFj/IcRY/yHEWP8hxFj/IcRY/yHE
+ WP8hxFj/IcRY/yHEWP8hxFj/IcNY/x3Qaf8a1nH/GtZy/xrWdP8a13X/Gdh2/xnYd/8Z2Xf/GNl5/xja
+ ev8Y3X3/Fcdx/wMZD/8AAAD/AAAA/wAAAP8AAADzAAAAKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAADqAAAA/wAAAP8AAAD/AgcB/zCSDv84rhL/N6sT/zes
+ E/82rBX/Nq0W/zatF/82rhj/Na4Z/zWvGv81rxn/MLQq/yHFWv8hxVv/IcVb/yHFW/8hxVv/IcVb/yHF
+ W/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yDF
+ Wv8Zw1X/jOGq//////////////////////////////////////////////////////////////////L6
+ 8f9hxVj/Ibk2/x/CWP8fwlj/Ibk2/2HFWP/y+vH/////////////////////////////////////////
+ ////////////////////////jOCp/xjBU/8fw1j/IMNZ/yDDWf8gw1n/IcNZ/yHDWv8hw1r/IcRa/yHE
+ Wv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxVv/HNFq/xvV
+ cP8a1XH/GtZy/xrWdP8Z13X/Gdh2/xnYd/8Z2Xj/GNl5/xjefP8Uumn/AQkG/wAAAP8AAAD/AAAA/wAA
+ AOoAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAA
+ ANcAAAD/AAAA/wAAAP8AAAD/K4IM/zmvEf83qxL/N6sT/zesFP82rBX/Nq0W/zatF/82rhj/Na4Z/zWv
+ Gf8ysiL/IcRZ/yDGXv8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDG
+ Xf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/F8RX/3Xcm//9//7/////////////////////////
+ ///////////////////////////////////5/fn/dctp/yO2MP8fwlj/H8NZ/x/DWv8fw1n/I7Yx/3XL
+ af/5/fn////////////////////////////////////////////////////////////9/v7/ddqa/xfC
+ Vf8fxFv/H8Rb/x/EW/8fxFv/IMRb/yDEXP8gxFz/IMVc/yDFXP8gxVz/IMVc/yDFXP8gxVz/IMVc/yDF
+ XP8gxVz/IMVc/yDFXP8gxVz/IMVc/yDGXf8b0mz/G9Vv/xvVcP8a1XH/GtZy/xrWdP8Z13X/Gdh2/xnZ
+ d/8Z2Xj/Gd98/xKlXP8AAAD/AAAA/wAAAP8AAAD/AAAA1QAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAP8AAAD/AAAA/wAAAP8iaAn/OrAQ/ziq
+ EP84qxH/N6sT/zesE/83rBT/Nq0W/zatF/82rRf/Na4Y/zSvHP8jw1X/H8dh/x/HX/8fx1//H8df/x/H
+ X/8fx1//H8df/x/HX/8fx1//H8df/x/HX/8fx1//H8df/x/HX/8fx1//H8df/yDHX/8gx1//H8Zf/xfB
+ Vf9g1Ir/9fz4/////////////////////////////////////////////////////////////v/+/4rR
+ fP8mtCn/H8JY/x7DW/8ew1r/HsRb/x7EW/8fw1n/JrQq/4rRfP/+//7/////////////////////////
+ ///////////////////////////////////1/Pj/YdaM/xbDV/8fxV3/H8Vd/x/FXf8fxV3/H8Ve/x/F
+ Xv8fxV7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8hg/xzT
+ bP8b1G7/G9Rv/xvVb/8b1XD/GtZy/xrWdP8a13X/Gdh2/xnYd/8a4Xz/D4VK/wAAAP8AAAD/AAAA/wAA
+ AP8AAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAACHAAAA/wAAAP8AAAD/AAAA/xhJBv87sQ//OKoQ/ziqEP83qxL/N6sT/zesE/82rBX/Nq0W/zat
+ F/82rhf/Na4Y/yXATP8eyWP/H8hh/x/IYf8fyGH/H8hh/x/IYf8fyGH/H8hh/x/IYf8fyGH/H8hh/x/I
+ Yf8fyGH/H8hh/x/IYf8fyGH/HsZf/x7EXP8Vv1P/Tc16/+v58P//////////////////////////////
+ //////////////////////////////////+c147/KrIk/x/CVf8dxF3/HsRc/x7EXP8exFz/HsRc/x3F
+ Xv8fw1f/KrIk/5zXjv//////////////////////////////////////////////////////////////
+ ///s+vH/TtGB/xfEWf8fxl//H8Zf/x/GX/8fxl//H8Zf/x/GX/8fxl//H8df/x/HX/8fx1//H8dg/x/H
+ YP8fx2D/H8dg/x/HYP8fx2D/H8dg/x/HYP8eymP/HNNs/xzTbP8b1G7/G9Rv/xvVb/8a1XH/GtZy/xrW
+ dP8Z13X/Gdh2/xrhfP8KXDL/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4AAAD/AAAA/wAAAP8AAAD/Dy0D/zmp
+ Df84qg//OKoQ/zirEf83qxL/N6sT/zesFP82rBX/Nq0W/zatF/83rRT/Kbs//x3JZ/8eyGP/Hshj/x7I
+ Y/8eyGP/Hshj/x7IY/8eyGP/Hshj/x7IY/8eyGP/Hslk/x7JZP8eyGP/HcZg/xzCW/8cwVn/Fb5U/zrI
+ bv/h9+n/////////////////////////////////////////////////////////////////suCm/zCx
+ I/8fwFL/HcRf/x3EXf8dxF7/HcRe/x3EXv8dxF7/HcVe/x3GYP8fwlT/MLIj/7Lgpv//////////////
+ ///////////////////////////////////////////////////h9+r/PM52/xjFXf8exmH/HsZh/x7G
+ Yf8exmH/HsZh/x7GYf8ex2H/Hsdh/x7HYf8ex2L/Hsdi/x7HYv8ex2L/Hsdi/x7HYv8ex2L/Hsdi/x3M
+ Zv8c02v/HNNs/xzTbf8b1G7/G9Rv/xvVcP8a1XH/GtZy/xrWdP8Z2HX/Gdh2/wY5H/8AAAD/AAAA/wAA
+ AP8AAAD/AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAALwAAAPsAAAD/AAAA/wAAAP8FDwH/NZwL/zqrDf84qQ7/OKoQ/ziqEP84qxH/N6sT/zes
+ E/83rBT/Nq0W/zesFf8vtS3/Hslm/x7JZf8eyWX/Hsll/x7JZf8eyWX/Hsll/x7JZf8eyWX/Hspm/x7J
+ Zf8dx2P/HMRf/xvBWv8bwFn/G8BZ/xa/Vv8txmf/0PLd////////////////////////////////////
+ /////////////////////////////8PmuP84sSL/Hr9N/xzFYf8dxF//HcVf/x3FX/8dxV//HcVf/x3F
+ YP8dxWD/HcZg/xzHY/8fwE//OLEj/8PmuP//////////////////////////////////////////////
+ ///////////////////R89//MMxv/xrGYP8ex2P/Hsdj/x7HY/8ex2P/Hsdj/x7HY/8ex2P/Hshj/x7I
+ Y/8eyGT/Hshk/x7IZP8eyGT/Hshk/x7IZP8eyGT/Hc9n/x3Sav8c0mr/HNNs/xzTbf8b1G7/G9Rv/xvV
+ b/8b1XD/GtZy/xrZdf8Xx2z/AhMK/wAAAP8AAAD/AAAA/wAAAPsAAAAvAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAA3gAAAP8AAAD/AAAA/wAB
+ AP8rgAn/O60N/zmpDf84qg//OKoQ/ziqEP83qxL/N6sT/zesE/82rBX/NqwV/zSvHf8fx2D/Hcpo/x3K
+ Z/8dymf/Hcpn/x3KZ/8dymj/Hcpo/x3JZ/8cx2P/G8Nd/xrAWf8awFn/GsBa/xrAWv8XwFj/IMNg/73t
+ 0P/////////////////////////////////////////////////////////////////V7c3/RLIo/x+8
+ Rf8bxmP/HMVg/xzFYf8cxWH/HMZh/xzGYf8cxmH/HMZh/xzGYv8cxmL/HMdi/xvIZv8fvUj/RLMn/9Xt
+ zf////////////////////////////////////////////////////////////////+979L/JMlq/xrH
+ Y/8dyGX/Hchl/x3IZf8dyGX/Hchl/x3IZf8dyGX/Hcll/x3JZf8dyWb/Hclm/x3JZv8dyWb/Hclm/x3K
+ Zv8d0Gf/HdFo/x3Sav8c0mv/HNNs/xzTbP8b1G7/G9Rv/xvVb/8a1XH/G9x1/xOjWP8AAgH/AAAA/wAA
+ AP8AAAD/AAAA3gAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAACsAAAA/wAAAP8AAAD/AAAA/x5WBf88rwv/OagM/zmpDv84qg//OKoQ/zir
+ Ef83qxL/N6sT/zesFP82rBX/NqwU/yTBTv8bzGz/HMtp/xzLaf8cy2r/HMtq/xzJZ/8axWH/GcFc/xnA
+ Wf8ZwFr/GcFa/xnBW/8ZwVv/F8Ba/xjAW/+q6MP/////////////////////////////////////////
+ ////////////////////////4/Pd/1G1MP8guTz/GcZl/xrFYv8bxmL/G8Zi/xvGYv8bxmL/G8Zj/xvH
+ Y/8bx2P/G8dj/xvHZP8bx2T/G8dk/xrJaP8huj7/UbUw/+Pz3P//////////////////////////////
+ //////////////////////////////////+r68f/G8lm/xrIZv8cyWf/HMln/xzJZ/8cyWf/HMln/xzJ
+ Z/8cyWf/HMpn/xzKZ/8cymj/HMpo/xzKaP8cymj/Hcxn/x7RZv8d0Wj/HdFo/xzSav8c0mv/HNNs/xzT
+ bf8b1G7/G9Rv/xvVcP8b3XX/DW47/wAAAP8AAAD/AAAA/wAAAP8AAACsAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAD/AAAA/wAA
+ AP8AAAD/DSgC/zqnCv85qAv/OagM/zmpDf84qQ7/OKoQ/ziqEP84qxH/N6sT/zesE/83qxL/LLg1/xvN
+ bv8czGz/HMtr/xvIZv8Zw1//GL9a/xi/Wf8Yv1r/GcBa/xnBW/8ZwVz/GcJc/xjBXP8UwFn/kuKz////
+ /////////////////////////////////////////////////////////////+z36P9guTz/IrYy/xnG
+ Zv8axmT/GsZk/xrGZP8ax2T/G8dl/xvHZf8bx2T/G8dm/xvIZv8byGb/G8hm/xvIZv8byGb/G8ln/xrJ
+ af8itzT/YLo8/+z36P//////////////////////////////////////////////////////////////
+ //+T5rj/Fsll/xvJaP8cymr/HMpq/xzKav8cymr/HMpq/xzKav8cymr/HMpq/xzLaf8cy2r/HMtr/xzL
+ a/8dzmb/HtBl/x7RZ/8d0Wf/HdFo/x3Sav8c0mr/HNNs/xzTbf8b1G7/G9Vv/xvVb/8GMhv/AAAA/wAA
+ AP8AAAD/AAAA/wAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAPUAAAD/AAAA/wAAAP8DCQH/MY4I/zurCv85qAv/OagM/zmp
+ Df84qg//OKoQ/ziqEP83qxL/N6sT/zisEv80rx3/Hchi/xnGZf8YwVz/F75Y/xe+Wf8Xv1r/F79a/xi/
+ W/8YwFv/GMBb/xjBXf8YwV3/EMBY/3vco///////////////////////////////////////////////
+ ///////////////////3+/X/c8BN/ySxJ/8Zx2X/GcZl/xnGZP8axmX/GsZl/xrGZf8ax2b/Gsdm/xrH
+ Zv8ax2b/Gshn/xrIZ/8ayGf/Gshn/xrIZ/8ayGf/Gslp/xrJaf8ksyr/c8BN//f79f//////////////
+ //////////////////////////////////////////////////994ar/E8hl/xvKav8bymv/G8pr/xvK
+ a/8bymv/G8pr/xvKa/8bymv/G8tr/xvLa/8by2z/G8tr/x7PZP8e0GT/HtBl/x7RZ/8d0Wj/HdFo/x3S
+ av8c0mv/HNNs/xzTbf8c2HD/F7Ve/wELBf8AAAD/AAAA/wAAAP8AAAD1AAAAKgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAyQAA
+ AP8AAAD/AAAA/wAAAP8hYAX/PK4K/zqoCv85qAv/OagM/zmpDv84qg//OKoQ/zirEf83qxH/NakS/zKj
+ D/8hsjz/Fb9b/xa/Wf8Xv1r/F79a/xe/W/8XwFv/F8Bc/xjAXf8YwV3/GMFe/w/AWP9j1pP/+P36////
+ /////////////////////////////////////////////////////////P78/4bGYv8orh3/GcZk/xjH
+ Z/8Zx2X/Gcdm/xnHZv8Zx2f/Gsdn/xrHaP8ayGj/Gsho/xrIaP8ayGj/Gshp/xrJaf8ayWn/Gslp/xrJ
+ af8ayWr/Gcpr/xrJaf8prx//hsZi//z++///////////////////////////////////////////////
+ //////////////j++/9k3Jz/Esln/xvLbf8by23/G8tt/xvLbf8by23/G8tt/xvLbf8by23/G8xt/xvM
+ bv8czGj/H89i/x/PY/8e0GX/HtBl/x7RZ/8d0Wj/HdFo/xzSav8c0mv/HNNr/x3bcf8Pdz7/AAAA/wAA
+ AP8AAAD/AAAA/wAAAMkAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7AAAA/wAAAP8AAAD/AAAA/w4oAv86pwj/OqgJ/zqo
+ Cv85qAv/OakM/zmpDf83qQ7/NKQO/zCfDf8unQ7/Lp0N/ymlHv8Wvln/Fr9b/xa/W/8Wv1z/Fr9d/xbA
+ Xf8WwV7/F8Fe/xfBX/8Ov1n/UdGH//L79v//////////////////////////////////////////////
+ //////////////////+Yznf/LKoV/xnEYf8Xx2n/GMdn/xjIaP8YyGj/GMhp/xjIaf8YyGn/Gchq/xnI
+ av8ZyWr/Gclq/xnJa/8ZyWv/Gclr/xnKa/8Zymz/Gcps/xnKbP8Zymz/GMtu/xrIZ/8sqxb/mM52////
+ //////////////////////////////////////////////////////////////L89/9S2JL/Ecpp/xrM
+ b/8azHD/Gsxw/xrMcP8azHD/Gsxw/xrMcP8azHD/Gsxv/x7NY/8fzmD/H85i/x/PY/8e0GT/HtBl/x7R
+ Z/8d0Wf/HdFo/x3Sav8c02v/HNJr/wcwGf8AAAD/AAAA/wAAAP8AAAD/AAAAewAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ACoAAAD1AAAA/wAAAP8AAAD/AQQA/y6DBv88qwn/OqgJ/zqoCv83pQr/MqAL/y+bCv8tmgv/LZsM/y6c
+ Df8unQ3/Lp4O/xy1RP8UwF7/Fb9c/xW/Xf8Vv13/FcBd/xXBX/8WwV//D8Bb/z7Ne//l+O3/////////
+ ////////////////////////////////////////////////////////q9aN/zOoDv8aw1v/F8hr/xfH
+ aP8Xx2j/F8hp/xfIaf8XyGr/F8hq/xjIav8YyGr/GMhr/xjJa/8YyWv/GMlr/xjJbP8YyWz/GMps/xjK
+ bP8Yym3/GMpt/xjKbf8Yym3/GMxx/xvGYf8zqQ//q9aN////////////////////////////////////
+ /////////////////////////////+X67/9A1Yn/Ests/xnMcP8ZzHH/Gcxx/xnMcf8ZzHH/Gcxx/xnM
+ cv8bzGv/IM1e/x/OX/8fzmH/H89j/x/PY/8e0GX/HtBl/x7RZ/8d0Wj/HdFo/x3Xbf8WplT/AQUC/wAA
+ AP8AAAD/AAAA/wAAAPUAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAALkAAAD/AAAA/wAAAP8AAAD/GEMD/zyr
+ B/82oQj/MZsH/y6YB/8tlwj/LpgJ/y6aCv8tmwr/LpsM/y6cDf8vnAv/J6Yi/xW/XP8UwF3/FcBe/xXA
+ Xv8VwF//FcFg/xHAXf8ryHD/1/Tk////////////////////////////////////////////////////
+ /////////////8Dgqf87pw3/G8BU/xbIbP8XyGn/F8hq/xfIav8XyGv/F8lr/xfJa/8XyWv/F8ls/xjJ
+ bP8YyWz/GMlt/xjKbf8Yym3/GMpt/xjKbv8Yym7/GMtu/xjLb/8Yy2//GMtv/xjLb/8Yy2//F81z/xzE
+ Wv87pw3/wOCp/////////////////////////////////////////////////////////////////9f3
+ 5/8u0oD/Fcxw/xnNc/8ZzXP/Gc1z/xnNc/8ZzXT/Gc1z/x7MY/8gzF3/IM1e/x/OX/8fzmH/H89i/x7P
+ ZP8e0GX/HtBl/x7RZ/8d0Wj/Hths/wtVK/8AAAD/AAAA/wAAAP8AAAD/AAAAuQAAAAIAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAWgAAAP8AAAD/AAAA/wAAAP8EDQD/KoYE/y6WBf8tlAb/LZYG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmwr/LZsM/y6cDP8vnAz/HbRB/xPCYf8UwV//FMFg/xTBYP8UwWH/EcFe/6zpx///////////////
+ ///////////////////////////////////////////////////O57z/Q6kQ/xy9S/8VyW7/Fshr/xbI
+ a/8WyWz/Fsls/xbJbP8WyW3/Fslt/xbJbv8WyW7/Fspu/xfKb/8Xym//F8pv/xfLcP8Xy3D/F8tw/xfL
+ cP8Xy3D/F8xx/xfMcf8XzHH/F8xx/xfMcv8XzHL/Fs92/x3BUf9DqBH/zua8////////////////////
+ /////////////////////////////////////////////63uzv8UzXP/GM51/xjOdf8Yznb/GM52/xjO
+ d/8bzWz/Ictb/yDLXf8gzF7/IM1e/x/OX/8fzmD/H89i/x/PY/8e0GT/HtBl/x7UaP8aulz/AhEI/wAA
+ AP8AAAD/AAAA/wAAAP8AAABaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAA2QAAAP8AAAD/AAAA/wAA
+ AP8XTAL/L5oE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y+cC/8qoxr/Fb9a/xPB
+ Yf8TwWD/E8Fh/xDBYP8yynb/8fv1////////////////////////////////////////////////////
+ ////////2+7P/1CsG/8euUD/E8lw/xXIbP8VyWz/Fclt/xXJbf8Vym7/Fcpu/xXKbv8Vym//Fcpv/xXK
+ b/8Wym//Fspw/xbLcP8Wy3H/Fstx/xbLcf8WzHL/Fsxy/xbMcv8WzHL/Fs1z/xbNc/8WzXP/Fs1z/xbN
+ dP8WzXT/Fc94/x+9Rv9PrBv/2+7P////////////////////////////////////////////////////
+ ////////8fz3/zTViP8TznX/F893/xfPd/8Xz3j/F892/x/LXv8gylr/Ictc/yDLXf8gzF7/IM1e/x/O
+ X/8fzmH/H89j/x/PY/8e0GX/H9lq/w9sNf8AAAD/AAAA/wAAAP8AAAD/AAAA2QAAAA4AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAB5AAAA/wAAAP8AAAD/AAAA/wUSAP8phwP/LpYE/y6UBv8tlQb/LZYG/y6X
+ B/8tmAj/LpgK/y6ZCv8tmwr/LZsM/y+bCv8hrTP/EsJj/xPBYf8TwmL/DMBe/0vRiP/9////////////
+ /////////////////////////////////////////////+n04f9csSf/ILQ1/xTJcP8VyW3/Fclt/xXI
+ bf8VyW3/Fcpu/xXJbv8Vym//Fctv/xXLcP8Vy3D/Fctw/xbLcP8WynH/Fstx/xbMcv8WzHL/Fstz/xbM
+ c/8WzXP/Fs10/xbNdP8WzHT/Fs10/xbOdf8WznX/Fs51/xbOdf8Wznb/FdB6/yC5O/9csSf/6fTh////
+ ///////////////////////////////////////////////////9////TtuZ/xHOdP8X0Hn/F9B4/xfQ
+ ev8czGb/IclW/yDKWf8gylr/Ictc/yHLXf8gzF7/IM1e/x/OX/8fzmH/H85i/x/SZf8bvlz/AxkM/wAA
+ AP8AAAD/AAAA/wAAAP8AAAB2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAADmAAAA/wAA
+ AP8AAAD/AAAA/xZIAf8vmAP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwv/LZsL/y2d
+ Dv8YuU3/EcNl/xLCY/8NwWH/Pst6//j89///////////////////////////////////////////////
+ ///y+e3/bbg7/yOxKv8TyXD/FMhu/xTIbv8UyW//FMlv/xTJb/8UynD/FMpw/xTKcf8Uy3H/FMty/xTL
+ cv8Uy3L/FMtz/xXLc/8Vy3P/Fcx0/xXMdP8VzHT/Fcx1/xXNdf8VzXX/Fc12/xXNdv8VzXb/Fc53/xXO
+ d/8Vznf/Fc53/xXOeP8Vznn/FNB7/yO0L/9tuDr/8vnt////////////////////////////////////
+ //////////////j8+P9A1ov/EdB5/xbQe/8W0Hz/Gc5y/yHJVv8hyVf/IclY/yDKWf8gylr/Ictc/yDL
+ Xf8gzF7/IM1e/x/OX/8fzmD/INdm/w9lMP8AAAD/AAAA/wAAAP8AAAD/AAAA5gAAABoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAD/AAAA/wAAAP8AAAD/BAsA/yd/A/8ulgP/LZQE/y6U
+ Bv8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LpoJ/ymiG/8Tv13/EcNl/xDDZv8evFH/0+vH////
+ ////////////////////////////////////////+fz4/37AUP8mrR//E8ht/xPIb/8TyG7/E8lv/xPJ
+ cP8TynD/E8px/xPKcf8Ty3H/E8ty/xPLcv8TzHP/E8xz/xPMc/8UzHT/FMx0/xTMdf8UzHX/FMx1/xTN
+ dv8UzXb/FM12/xTNd/8Uznf/FM53/xTOeP8Uznj/FM94/xTPeP8Uz3n/FM95/xTPef8Uz3r/FNB6/yaw
+ I/9+wE//+fz4////////////////////////////////////////////0+vH/yDHYv8T0n//FdF9/xbQ
+ ev8gyVv/IshU/yHJVv8hyVf/IcpY/yDKWf8gylr/Ictc/yDLXf8gzF7/IM1e/yDSYf8bs1T/AhAI/wAA
+ AP8AAAD/AAAA/wAAAP8AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAA
+ AOAAAAD/AAAA/wAAAP8AAAD/ETcA/y6VA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmwv/L5oJ/yOqK/8Qw2X/EMRn/xC9VP9mu0T/9fnw////////////////////////////////////
+ //+Ox2X/KqoW/xTHav8SyXD/E8lv/xPJcP8TyXD/E8px/xPKcf8Ty3L/E8ty/xPLc/8TzHP/E8xz/xPM
+ dP8TzXX/E811/xPNdf8UzXb/FM12/xTNd/8UzXf/FM13/xTOeP8Uznj/FM54/xTOef8Uz3n/FM95/xTP
+ ef8Uz3r/FNB6/xTQev8U0Hr/FNB7/xTQev8T0Xz/Fc94/yusGv+Ox2T/////////////////////////
+ //////////////X57/9mvEb/E8pq/xTTf/8V0n7/Hsph/yPHUf8ix1T/IshV/yHIVf8hyVf/IclY/yDK
+ Wf8gylr/Ictc/yDLXf8gzF7/IdJh/wxNJP8AAAD/AAAA/wAAAP8AAAD/AAAA4AAAABcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAP8AAAD/AAAA/wAAAP8BAwD/IWsB/y6X
+ A/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwr/LpoJ/x6vOv8PxGj/EMVq/ySv
+ Kf9wuD3/1+zK///////////////////////m897/iMRf/zCoEv8TxGX/Eclx/xLJb/8SyXD/Espx/xLK
+ cv8SynL/Esty/xLLc/8Sy3T/Esx0/xLMdP8SzHX/Es12/xLNdv8SzXf/E813/xPNd/8TzXj/E854/xPO
+ ef8Tznn/E855/xPPev8Tz3r/E896/xPPe/8T0Hv/E9B7/xPQe/8T0Hz/E9B8/xPRfP8T0X3/E9F9/xPR
+ ff8S0oD/Fs1z/zCqFf+IxF//5vPe///////////////////////X7Mr/b7g8/yW2NP8T1IT/E9KC/xvM
+ aP8kxk//I8dS/yLHU/8ix1T/IshV/yHJVv8hyVf/IclY/yDKWf8gylr/Ictc/yHSYP8Xk0P/AQQC/wAA
+ AP8AAAD/AAAA/wAAAP8AAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAMAAAAzgAAAP8AAAD/AAAA/wAAAP8JHAD/K4sC/y6UA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6aCv8tmgr/LZsM/xu1Rf8Pxmz/EsNl/ymrHP9FpQj/cLk//5bMc/+aznj/eL1K/02o
+ EP8upw7/FcNg/xDJcv8RyHD/Eslx/xLJcf8SynL/Espz/xLKc/8Sy3T/Est1/xLLdf8SzHb/Esx2/xLM
+ dv8SzXf/Es13/xLNeP8SzXj/E815/xPNef8Tznn/E856/xPOev8Tznr/E897/xPPe/8Tz3z/E898/xPQ
+ ff8T0H3/E9B9/xPQfv8T0H7/E9F+/xPRfv8T0X//E9F//xPRf/8S04L/F8xv/y+pEv9NpxD/eL1K/5rO
+ eP+WzHP/cLk+/0WkB/8pryT/FdF9/xLThv8azW7/I8VO/yPGT/8jxlH/I8dS/yLHU/8ix1T/IchV/yHJ
+ Vv8hyVf/IcpY/yDKWf8hzVv/H8FY/wYmEf8AAAD/AAAA/wAAAP8AAAD/AAAAzgAAAAwAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFAAAA+gAAAP8AAAD/AAAA/wAA
+ AP8TQAD/LpYC/y2SA/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmgn/LZwP/xq3
+ Sf8Oxm3/EcRo/yC3P/8tqBP/MaMC/zGjAf8vpw3/JLU2/xPGZ/8PynL/EMlw/xHJcf8RyXL/Ecpy/xHK
+ c/8Ry3T/Ect0/xHLdf8RzHb/Ecx2/xHMd/8RzXf/Ec13/xHNeP8Rznj/Ec55/xHOef8Sznr/Es56/xLO
+ e/8Sznv/Es98/xLPfP8Sz3z/Es99/xLQff8S0H3/EtB+/xLRfv8S0X7/EtF//xLRf/8S0X//EtJ//xLS
+ gP8S0oD/EtKA/xLSgP8R04T/FdB4/yW6P/8vqRH/MaQD/zGkBP8urBn/Ir9O/xPSgP8Q1Yf/GM5w/yPF
+ Tv8kxUz/JMVO/yPGT/8jxlH/I8dS/yLHU/8ix1T/IshV/yHIVf8hyVf/IcpY/yHQW/8OWSf/AAAA/wAA
+ AP8AAAD/AAAA/wAAAPoAAABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAACaAAAA/wAAAP8AAAD/AAAA/wECAP8eYgH/L5cC/y2SA/8tkwP/LZQE/y6U
+ Bf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8umgn/LZwO/xm3Sv8Ox2//Dcdv/w/GbP8TxGT/E8Rk/xDH
+ bP8OyXP/Dslx/w/Jcf8QynL/EMpy/xDKc/8QynT/EMp0/xDLdf8Qy3b/EMx2/xDMd/8QzHj/EM14/xDN
+ ef8Qznn/EM56/xDOev8Qz3r/Ec97/xHPe/8Rz3z/Ec98/xHPfP8Rz33/EdB+/xHQfv8R0H7/EdB//xHR
+ f/8R0YD/EdGA/xHRgP8R0oH/EdKB/xHSgf8R0oH/EdOC/xHTgv8R04L/EdOC/xHTg/8Q1IX/ENWI/xLT
+ gf8Vz3j/FdB5/xHUhf8Q1on/EdWJ/xnOcP8kxEv/JcRK/yTETf8kxU3/JMVO/yPGUP8jxlH/I8dS/yLH
+ U/8ix1T/IshV/yHJVv8i0Vr/Fok8/wEDAf8AAAD/AAAA/wAAAP8AAAD/AAAAmgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAADbAAAA/wAA
+ AP8AAAD/AAAA/wUQAP8mfQH/LpYC/y2SA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6a
+ Cv8tmgn/LZwO/xu1Rv8Nx2//Dsdt/w7Hb/8OyHD/Dshw/w/JcP8PyXH/D8py/w/Kcv8QynP/EMp0/xDK
+ dP8Qy3X/EMt1/xDMdv8QzHf/EM14/xDNef8QzXn/EM56/xDOev8Qz3v/EM98/xDPfP8Q0Hz/EdB9/xHQ
+ ff8R0H7/EdB+/xHQfv8R0H//EdF//xHRgP8R0YD/EdGA/xHSgf8R0oH/EdKC/xHSgv8R04P/EdOD/xHT
+ g/8R04P/EdOE/xHUhP8R1IT/EdSE/xHUhf8R1IX/ENWF/xDVh/8Q1Yf/ENWH/xDWif8ZzW7/JcJJ/yXD
+ R/8lxEr/JMRM/yTETf8kxU3/I8VO/yPGUP8jxlH/I8dS/yLHU/8ix1T/I81X/xysSv8DFgr/AAAA/wAA
+ AP8AAAD/AAAA/wAAANsAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkAAAD6AAAA/wAAAP8AAAD/AAAA/wsjAP8qiQH/LZQC/y2S
+ A/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmgn/LZsM/x6xPP8Ox23/Dchw/w7I
+ b/8OyHD/Dslx/w7Jcv8PynP/D8pz/w/LdP8Py3X/D8t1/w/Ldv8PzHb/D8x3/w/NeP8PzXn/D855/w/O
+ e/8Pznv/D897/w/PfP8Pz33/D9B9/xDQff8Q0H7/ENB+/xDQf/8Q0H//ENGA/xDRgP8Q0YH/ENGB/xDS
+ gv8Q0oL/ENKD/xDTg/8Q04P/ENOD/xDThP8Q1IT/ENSE/xDUhP8Q1IX/ENSG/xDVhv8Q1Yb/ENWG/xDV
+ h/8Q1Yf/ENWH/w/Wif8Q1Yj/G8pl/ybBRf8mwUX/JcFI/yXDSP8lxEr/JMRL/yTETf8kxU3/JMVO/yPG
+ T/8jxlH/I8dS/yLKVP8gvlD/CC4U/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAASQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AIEAAAD/AAAA/wAAAP8AAAD/AAAA/xA0AP8skQH/LZMC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6ZCv8tmgr/LpoJ/yOpLP8Qw2b/DMp0/w3Icf8NyXL/Dclz/w7Kc/8OynT/Dst1/w7L
+ dv8Oy3f/Dst3/w7MeP8OzHj/Ds15/w7Nev8Oznv/Ds57/w7OfP8Oz33/Ds99/w7Pfv8O0H7/D9B//w/Q
+ f/8P0ID/D9CA/w/Qgf8P0YH/D9GC/w/Rgv8P0YL/D9KD/w/ShP8P0oT/D9OF/w/Thf8P04X/D9OG/w/U
+ hv8P1Ib/D9SG/w/Uh/8P1If/D9WI/w/ViP8P1Yj/D9WI/w/Vif8O1oz/EdSC/x/GWP8ov0H/JsBE/ybB
+ Rv8mwUb/JcFI/yXDSf8lxEr/JMRL/yTETf8kxU3/JMVO/yPGUP8jyFL/I8hS/wxIHv8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAALQAAAD/AAAA/wAAAP8AAAD/AAAA/xVF
+ AP8tkgH/LZMC/y2SA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwr/LpkI/ymi
+ G/8WvFb/DMp1/wzKdf8NynP/Dcp0/w7Ldf8Oy3b/Dst3/w7Ld/8OzHj/Dsx6/w7Mef8OzXr/Ds57/w7O
+ e/8Ozn3/Ds99/w7Pfv8O0H//DtB//w7QgP8O0YH/D9GB/w/Rgf8P0YH/D9GC/w/Rg/8P0oT/D9KE/w/S
+ hP8P0oT/D9OF/w/Thf8P04X/D9OH/w/Uh/8P1If/D9SH/w/ViP8P1Yj/D9WI/w/Vif8P1Yn/D9aJ/w/W
+ if8O14v/DteN/xXPdv8jwUv/KL4//ye/Qv8nwEP/JsBF/ybBRv8mwUf/JcJI/yXDSf8lxEr/JMRM/yTE
+ Tf8kxU3/JMZP/yTJUf8RXyf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC0AAAABwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAGQAAANUAAAD/AAAA/wAAAP8AAAD/AAAA/xhPAP8ulQH/LZIC/y2SA/8tkgP/LZQE/y6U
+ Bf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwr/LpoJ/y6cDf8fsDn/DsZq/wvMeP8Ny3b/Dct2/w3M
+ dv8NzHj/Dcx4/w3Mef8NzXr/Dc16/w3Ne/8Nznz/Dc59/w3Pff8Nz3//DdB//w3QgP8N0ID/DdGB/w7R
+ gf8O0oL/DtKD/w7Sg/8O0oP/DtKE/w7ShP8O04X/DtOF/w7Thf8O04b/DtSH/w7Uh/8O1If/DtSI/w7V
+ iP8O1Yn/DtWK/w7Viv8O1or/DtaK/w7Wi/8O1ov/DdiO/xDVhP8cx17/J7w+/yi8Pf8nvUD/J79B/ye/
+ Qv8nwEP/JsBE/ybARf8mwUb/JcFI/yXDSP8lxEr/JMRL/yTFTf8lzFD/E2oq/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA1QAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAOgAAAD/AAAA/wAA
+ AP8AAAD/AQIA/xlRAP8ulQH/LZMC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6Z
+ Cv8tmwv/LZsL/y+bCf8qoxv/GblO/w3JdP8MzXv/DMx4/w3MeP8NzHn/Dcx6/w3Ne/8NzXz/Dc18/w3O
+ ff8Nzn7/Dc9+/w3Pf/8N0ID/DdCB/w3Qgf8N0YL/DtGD/w7Rg/8O0oT/DtKE/w7ShP8O0oX/DtKG/w7S
+ hv8O04f/DtOH/w7Th/8O1Ij/DtSJ/w7Uif8O1Ir/DtWK/w7Viv8O1Yv/DtWL/w7Wi/8N14z/DdeP/w7W
+ i/8Yy2z/Jb5F/ym6OP8nvDz/J7w9/ye9P/8nvUH/J79B/ye/Qv8nwEP/JsBE/ybBRv8mwUb/JcJI/yXD
+ Sf8lxUr/JcpO/xRvK/8BAwH/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAAAxAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAPMAAAD/AAAA/wAAAP8AAAD/AQEA/xhNAP8tkwH/LZMC/y2S
+ A/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwr/LpsM/y+cC/8vnAv/Jqgm/xa+
+ V/8Ny3b/C85+/wvNe/8MzHv/DM18/wzNff8Mzn7/DM5//wzOf/8Mz4D/DNCA/wzQgf8M0YL/DNGD/w3R
+ g/8N0oT/DdKE/w3Shf8N04b/DdOG/w3Th/8N04f/DdOH/w3Tif8N1In/DdSJ/w3Uiv8N1Ir/DdWL/w3V
+ jP8N1Yz/DdWM/w3WjP8M147/DNeR/w7Wi/8VznP/IsBL/yq5Nv8pujj/KLs6/yi8O/8nvDz/J709/ye9
+ P/8nvUH/J79C/ye/Qv8nwEP/JsBF/ybBRv8mwUb/JcRJ/yXGSv8TaSf/AAIB/wAAAP8AAAD/AAAA/wAA
+ AP8AAADzAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAA
+ APQAAAD/AAAA/wAAAP8AAAD/AAAA/xRAAP8sjwH/LpQC/y2SA/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6ZCv8tmwr/LZsM/y6cDP8vnAv/L50M/yeoJP8ZulD/Dsly/wrPf/8KzoD/C85+/wvO
+ fv8Lz3//C89//wvPgf8L0IH/C9CC/wvRg/8M0YT/DNKE/wzShf8M0oX/DNOG/wzTh/8M04f/DNOI/wzT
+ iP8M1Ij/DNSJ/wzUiv8M1Yr/DNWL/wzVi/8M1Yz/DNaN/wzWjv8L15D/C9iR/w7Uhv8Xymr/JL1F/yq3
+ M/8quDP/Kbk3/ym6OP8pujn/KLs6/yi7O/8nvDz/J7w9/ye9P/8nvUD/J79B/ye/Qv8nwEP/JsBE/yfE
+ R/8mwEf/EVcg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9AAAAFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/w8y
+ AP8qiAH/LpYC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y6c
+ Df8unQ3/L50M/y+eDP8qoxv/H7I9/xTBYP8MzHn/CtCC/wnRhP8K0YL/CtCD/wvQgv8L0YL/C9GE/wvS
+ hP8M0oX/DNOG/wzTh/8M04f/DNSI/wzUiP8M1In/DNSK/wzUiv8M1Ir/DNWL/wzVjP8L1o3/C9eP/wrX
+ kf8L15H/DdWK/xXNdP8dwlf/J7k6/yu1L/8qtjH/Krcz/yq4Nf8puTb/Kbk3/ym6OP8oujn/KLs6/yi8
+ O/8nvDz/J7w9/ye9P/8nvUH/J79B/ye/Qv8oxUX/JLVA/w1DGP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ APMAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAUgAAAPQAAAD/AAAA/wAAAP8AAAD/AAAA/wkfAP8leAH/L5cC/y2SA/8tkwP/LZQE/y6U
+ Bv8tlQb/LZYG/y6XB/8tmAj/LpgK/y6ZCv8tmwr/LZsM/y6cDP8unQ3/Lp4P/y6eDv8vnQ3/Lp8R/ymn
+ If8hsjv/F75X/xDJcP8Mzn7/CdKG/wnTiP8J04n/CtOI/wrUif8K1In/CtSK/wrUiv8K1Yv/CtWM/wrW
+ jP8K1o7/CtaP/wrWj/8K15H/CteQ/w3Uif8Q0H7/F8lo/x+/UP8ntzn/K7Mt/yyzK/8qtC//KrUx/ym2
+ Mv8ptzP/Krcz/yq4Nf8puTb/Kbk3/ym6OP8pujn/KLs6/yi7O/8nvDz/J7w9/ye9P/8nvkH/KMZE/yCf
+ N/8IKA7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD0AAAAUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAOsAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wQNAP8dXQD/LpUC/y6UA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmwv/LZsM/y6cDP8unQ7/Lp4P/y6fD/8tnxD/Lp8Q/y+fDv8voRD/LaQX/yiqJ/8jsjj/HblJ/xjA
+ Wv8Uxmb/Espv/xHLc/8Pznr/D898/w/Pff8Pz3z/Ec13/xLMdf8Uym7/GMVi/x3AVP8iu0X/JrU3/yqx
+ K/8ssCb/LLEm/yyxKf8rsiv/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krc0/yq4Nf8puTb/Kbk3/ym6
+ OP8oujn/KLs6/yi7O/8nvDz/J78+/yjCQf8Zeir/AxEG/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6wAA
+ AE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAANwAAAD/AAAA/wAAAP8AAAD/AAAA/wABAP8SOwH/KocC/y+X
+ A/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y6cDf8unQ7/Lp4P/y6f
+ EP8tnxH/LqAS/y6hEv8uoRL/L6ER/y+iEf8vohL/LqQU/y6kFf8tpxr/LKgd/yqqI/8qrCX/Kq0m/yqt
+ Jv8srCP/LKwh/y2rHv8tqx//Lawg/y2sIf8triT/LK8m/yuwJ/8rsSn/K7Iq/yuyK/8rsiz/K7Mt/yu0
+ L/8qtDD/KrUx/yq2Mv8qtzP/Krc0/yq4Nf8puTb/Kbk3/ym6OP8oujn/KLw6/ynDPf8krjj/EE0Z/wAB
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANwAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAA
+ AL8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8HFwD/HmMB/y6UA/8ulgP/LZQE/y6UBf8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6ZCv8tmgr/LZsM/y6cDP8unQ3/Lp4P/y6fD/8unxD/LqAS/y6hEv8uohP/LqIU/y6j
+ Ff8upBb/LaUX/y2lGP8uphj/LqcZ/y2nGv8tqBv/Lakc/y2qHv8tqh//Lawg/yysIf8srSL/LK0j/yyu
+ JP8sryX/LK8m/yuwJ/8rsSj/K7Ip/yuyK/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krcz/yq4
+ Nf8puTb/Kbk3/yq+Ov8pvTr/G34n/wYeCf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC/AAAAIgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAJMAAAD+AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/EDMB/yV5Av8vmAP/LpcE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwv/LZsM/y6c
+ DP8unQ7/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2n
+ G/8tqBz/Lakd/y2qH/8tqh//Lawg/yysIf8srSL/LK0k/yyuJP8sryX/LLAn/yuwJ/8rsSj/K7Iq/yuy
+ K/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krc0/yu8Nv8qwDj/Ipou/w5BFP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD+AAAAkwAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAF0AAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwkA/xVEAf8oggP/L5oE/y+W
+ Bv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwv/LZsM/y6dDf8unQ7/Lp4P/y6fEP8tnxH/LqAS/y6h
+ Ev8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Laca/y2nG/8tqBz/Lakd/y2qHv8tqx//LKwg/yys
+ If8srSP/LK0k/yyuJP8sryb/LLAn/yuwJ/8rsSn/K7Iq/yuyK/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq5
+ M/8rvzX/JaIu/xNVGP8CCwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA5QAAAF0AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAACzAAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUPAP8VRwL/J4EE/y+YBf8umQb/LpcG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmgr/LZsM/y6cDP8unQ3/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2l
+ GP8tpxn/Lqca/y2nG/8tqBz/Lakd/y2qHv8tqh//Lawg/yysIf8srSL/LK0j/yyuJP8sryX/LK8m/yuw
+ J/8rsSj/K7Ip/yuyK/8rsiz/K7Mt/yy5MP8rujH/JZ4r/xRYGP8EEwX/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAALMAAAAmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABmAAAA4wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8EDQD/Ez4B/yR1BP8tlQb/L5wH/y+aB/8tmAj/LpgJ/y6ZCv8tmwv/LZsM/y6cDP8unQ7/Lp4P/y6f
+ D/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2nG/8tqBz/Lakd/y2q
+ H/8tqh//LKwg/yysIf8srSL/LK0k/yyuJP8sryX/LLAn/yuwJ/8rsij/LLUq/y25LP8rsyz/Io4k/xJL
+ E/8DEAT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOEAAABjAAAABAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAfAAAAlQAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQQA/wwmAf8bWwT/KIYF/y+a
+ B/8vngn/L5sJ/y6aCv8tmwv/LZsM/y6cDf8unQ7/Lp4P/y6fEP8tnxH/LqAS/y6hEv8uohP/LqIU/y6j
+ Ff8upBb/LaUX/y2lGP8tpxn/Laca/y2nG/8tqBz/Lakd/y2qHv8tqyD/LKwg/yysIf8srSP/LK0k/yyu
+ JP8tsib/LrYo/yyzKP8mniT/GmwZ/wsuC/8BBAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ APcAAACVAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAK0AAAD7AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DCwD/Di8C/xtaBP8mgAf/LZYJ/zCeCv8voAv/L58M/y6e
+ DP8ung3/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2n
+ G/8tqBz/Lakd/y2rHv8urCD/LrAh/y6yI/8usyP/LKoj/yWSH/8aaBb/DTYM/wMMA/8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPsAAACtAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACvAAAA+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wIFAP8JHgL/Ez8E/x1gBv8kewn/Ko8L/y6bDP8voA7/MKQP/zCmEP8vpRH/L6US/y+l
+ E/8vpRP/L6YU/y+nFv8vqBb/L6kY/y6qGf8vrRr/MK8b/y+uHP8uqx3/Lagd/ymdHP8khxn/G2sU/xJG
+ Df8JIgf/AgYB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkAAACvAAAAQAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAA5AAAAnwAAAOwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEE
+ AP8EDwH/CiAC/xE5BP8WTAf/G10J/x5oCv8gcQz/I3sO/yWCDv8lgw//JYMQ/yWEEf8kfhH/IHYR/x1s
+ EP8bYg7/FlEN/xA9Cv8KIwb/BBAD/wEEAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAOwAAACfAAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAHIAAADHAAAA+wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAQD/AQMA/wEDAP8BAwD/AQMA/wABAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAMcAAAByAAAAIgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA2AAAAgQAAAMoAAAD5AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD5AAAAygAA
+ AIEAAAA2AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAABwAAAC4AAABqAAAAqQAAAN4AAAD2AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA9gAAAN4AAACpAAAAagAAAC4AAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAA
+ ADEAAABZAAAAhwAAALIAAADPAAAA5QAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD3AAAA5QAAAM8AAACyAAAAhwAAAFkAAAAxAAAACwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAZAAAAKgAA
+ ADcAAABNAAAAXgAAAGoAAABpAAAAaQAAAGkAAABpAAAAagAAAF4AAABNAAAANwAAACoAAAAZAAAABgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////+AAB/////////////////
+ wAAAA////////////////gAAAAB///////////////AAAAAAD/////////////+AAAAAAAH/////////
+ ///+AAAAAAAAf///////////+AAAAAAAAB///////////+AAAAAAAAAH///////////AAAAAAAAAA///
+ ////////AAAAAAAAAAD//////////gAAAAAAAAAAf/////////gAAAAAAAAAAB/////////wAAAAAAAA
+ AAAP////////4AAAAAAAAAAAB////////8AAAAAAAAAAAAP///////+AAAAAAAAAAAAB////////AAAA
+ AAAAAAAAAP///////gAAAAAAAAAAAAB///////wAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAB//////
+ 8AAAAAAAAAAAAAAP/////+AAAAAAAAAAAAAAB//////gAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAD
+ /////4AAAAAAAAAAAAAAAf////+AAAAAAAAAAAAAAAH/////AAAAAAAAAAAAAAAA/////gAAAAAAAAAA
+ AAAAAH////4AAAAAAAAAAAAAAAB////8AAAAAAAAAAAAAAAAP////AAAAAAAAAAAAAAAAD////gAAAAA
+ AAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///w
+ AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//+AAAAAAAAAAAAAAAAAH///gAAAAAAAAAAAAAAAA
+ B///wAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAA///gAAAAAAAAAAA
+ AAAAAAH//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAD//wAAAAAA
+ AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/4A
+ AAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAA
+ AH/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAA
+ AAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAA
+ AAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wA
+ AAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAA
+ AD/8AAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAA
+ AAAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAD//wAAAAAA
+ AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAAAAAB//+A
+ AAAAAAAAAAAAAAAAAf//gAAAAAAAAAAAAAAAAAH//8AAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAA
+ A///4AAAAAAAAAAAAAAAAAf//+AAAAAAAAAAAAAAAAAH///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAA
+ AAAAAA////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH////AAAAAAAAAAAAAAAAD////4AAAAA
+ AAAAAAAAAAB////+AAAAAAAAAAAAAAAAf////wAAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAH/////
+ gAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAA//////gAAAAAAAAAAAAAAf/////8AAAAAAAAAAAAAAP
+ //////gAAAAAAAAAAAAAH//////8AAAAAAAAAAAAAD///////gAAAAAAAAAAAAB///////8AAAAAAAAA
+ AAAA////////gAAAAAAAAAAAAf///////8AAAAAAAAAAAAP////////gAAAAAAAAAAAH////////+AAA
+ AAAAAAAAH/////////wAAAAAAAAAAD/////////+AAAAAAAAAAB//////////4AAAAAAAAAB////////
+ ///gAAAAAAAAB///////////+AAAAAAAAB////////////4AAAAAAAB/////////////gAAAAAAB////
+ /////////+AAAAAAB//////////////8AAAAAD///////////////8AAAAP////////////////+AAB/
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////8=
+
+
+
\ No newline at end of file
diff --git a/EleBox.App/frmMachineModelConfig.Designer.cs b/EleBox.App/frmMachineModelConfig.Designer.cs
new file mode 100644
index 0000000..0132658
--- /dev/null
+++ b/EleBox.App/frmMachineModelConfig.Designer.cs
@@ -0,0 +1,239 @@
+namespace DynStatDisk.App
+{
+ partial class frmMachineModelConfig
+ {
+ ///
+ /// 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()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMachineModelConfig));
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.btnClose = new System.Windows.Forms.Button();
+ this.btnDelete = new System.Windows.Forms.Button();
+ this.btnAdd = new System.Windows.Forms.Button();
+ this.btnEdit = new System.Windows.Forms.Button();
+ this.panel3 = new System.Windows.Forms.Panel();
+ this.cbxGapTest = new System.Windows.Forms.ComboBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.txtModelNo = new System.Windows.Forms.TextBox();
+ this.label5 = new System.Windows.Forms.Label();
+ this.listView1 = new System.Windows.Forms.ListView();
+ this.imageList1 = new System.Windows.Forms.ImageList(this.components);
+ this.txtDynStatDiskKeyMatch = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.groupBox1.SuspendLayout();
+ this.panel3.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.btnClose);
+ this.groupBox1.Controls.Add(this.btnDelete);
+ this.groupBox1.Controls.Add(this.btnAdd);
+ this.groupBox1.Controls.Add(this.btnEdit);
+ this.groupBox1.Controls.Add(this.panel3);
+ this.groupBox1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.groupBox1.Location = new System.Drawing.Point(3, 0);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(981, 157);
+ this.groupBox1.TabIndex = 9;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "操作";
+ //
+ // btnClose
+ //
+ this.btnClose.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnClose.Location = new System.Drawing.Point(877, 22);
+ this.btnClose.Name = "btnClose";
+ this.btnClose.Size = new System.Drawing.Size(94, 47);
+ this.btnClose.TabIndex = 30;
+ this.btnClose.Text = "关闭";
+ this.btnClose.UseVisualStyleBackColor = true;
+ this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
+ //
+ // btnDelete
+ //
+ this.btnDelete.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnDelete.Location = new System.Drawing.Point(777, 22);
+ this.btnDelete.Name = "btnDelete";
+ this.btnDelete.Size = new System.Drawing.Size(94, 47);
+ this.btnDelete.TabIndex = 29;
+ this.btnDelete.Text = "删除";
+ this.btnDelete.UseVisualStyleBackColor = true;
+ this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
+ //
+ // btnAdd
+ //
+ this.btnAdd.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnAdd.Location = new System.Drawing.Point(577, 21);
+ this.btnAdd.Name = "btnAdd";
+ this.btnAdd.Size = new System.Drawing.Size(94, 47);
+ this.btnAdd.TabIndex = 27;
+ this.btnAdd.Text = "增加";
+ this.btnAdd.UseVisualStyleBackColor = true;
+ this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
+ //
+ // btnEdit
+ //
+ this.btnEdit.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnEdit.Location = new System.Drawing.Point(677, 21);
+ this.btnEdit.Name = "btnEdit";
+ this.btnEdit.Size = new System.Drawing.Size(94, 47);
+ this.btnEdit.TabIndex = 28;
+ this.btnEdit.Text = "修改";
+ this.btnEdit.UseVisualStyleBackColor = true;
+ this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
+ //
+ // panel3
+ //
+ this.panel3.BackColor = System.Drawing.SystemColors.ControlLight;
+ this.panel3.Controls.Add(this.label1);
+ this.panel3.Controls.Add(this.txtDynStatDiskKeyMatch);
+ this.panel3.Controls.Add(this.cbxGapTest);
+ this.panel3.Controls.Add(this.label2);
+ this.panel3.Controls.Add(this.txtModelNo);
+ this.panel3.Controls.Add(this.label5);
+ this.panel3.Location = new System.Drawing.Point(0, 77);
+ this.panel3.Name = "panel3";
+ this.panel3.Size = new System.Drawing.Size(975, 74);
+ this.panel3.TabIndex = 26;
+ //
+ // cbxGapTest
+ //
+ this.cbxGapTest.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.cbxGapTest.FormattingEnabled = true;
+ this.cbxGapTest.Location = new System.Drawing.Point(121, 36);
+ this.cbxGapTest.Name = "cbxGapTest";
+ this.cbxGapTest.Size = new System.Drawing.Size(100, 33);
+ this.cbxGapTest.TabIndex = 21;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label2.Location = new System.Drawing.Point(133, 11);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(74, 21);
+ this.label2.TabIndex = 20;
+ this.label2.Text = "间隙检测";
+ //
+ // txtModelNo
+ //
+ this.txtModelNo.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.txtModelNo.Location = new System.Drawing.Point(19, 36);
+ this.txtModelNo.Name = "txtModelNo";
+ this.txtModelNo.Size = new System.Drawing.Size(100, 33);
+ this.txtModelNo.TabIndex = 5;
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label5.Location = new System.Drawing.Point(34, 11);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(74, 21);
+ this.label5.TabIndex = 8;
+ this.label5.Text = "机种番号";
+ //
+ // listView1
+ //
+ this.listView1.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.listView1.FullRowSelect = true;
+ this.listView1.GridLines = true;
+ this.listView1.HideSelection = false;
+ this.listView1.Location = new System.Drawing.Point(0, 152);
+ this.listView1.Name = "listView1";
+ this.listView1.Size = new System.Drawing.Size(984, 530);
+ this.listView1.SmallImageList = this.imageList1;
+ this.listView1.TabIndex = 8;
+ this.listView1.UseCompatibleStateImageBehavior = false;
+ this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged);
+ //
+ // imageList1
+ //
+ this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
+ this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
+ this.imageList1.Images.SetKeyName(0, "About.png");
+ //
+ // txtDynStatDiskKeyMatch
+ //
+ this.txtDynStatDiskKeyMatch.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.txtDynStatDiskKeyMatch.Location = new System.Drawing.Point(224, 36);
+ this.txtDynStatDiskKeyMatch.Name = "txtDynStatDiskKeyMatch";
+ this.txtDynStatDiskKeyMatch.Size = new System.Drawing.Size(100, 33);
+ this.txtDynStatDiskKeyMatch.TabIndex = 22;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("微软雅黑", 12F);
+ this.label1.Location = new System.Drawing.Point(229, 12);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(90, 21);
+ this.label1.TabIndex = 23;
+ this.label1.Text = "动静盘符号";
+ //
+ // frmMachineModelConfig
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(984, 682);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.listView1);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(4);
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "frmMachineModelConfig";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "模型配置";
+ this.Load += new System.EventHandler(this.frmMachineModelConfig_Load);
+ this.groupBox1.ResumeLayout(false);
+ this.panel3.ResumeLayout(false);
+ this.panel3.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Button btnClose;
+ private System.Windows.Forms.Button btnDelete;
+ private System.Windows.Forms.Button btnAdd;
+ private System.Windows.Forms.Button btnEdit;
+ private System.Windows.Forms.Panel panel3;
+ private System.Windows.Forms.ComboBox cbxGapTest;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.TextBox txtModelNo;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.ListView listView1;
+ private System.Windows.Forms.ImageList imageList1;
+ private System.Windows.Forms.TextBox txtDynStatDiskKeyMatch;
+ private System.Windows.Forms.Label label1;
+ }
+}
\ No newline at end of file
diff --git a/EleBox.App/frmMachineModelConfig.cs b/EleBox.App/frmMachineModelConfig.cs
new file mode 100644
index 0000000..9d205d9
--- /dev/null
+++ b/EleBox.App/frmMachineModelConfig.cs
@@ -0,0 +1,380 @@
+using DynStatDisk.App.Com;
+using DynStatDisk.App.Model;
+using NPOI.XSSF.Model;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using System.Xml.Linq;
+
+namespace DynStatDisk.App
+{
+ public partial class frmMachineModelConfig : Form
+ {
+ public frmMachineModelConfig()
+ {
+ InitializeComponent();
+ }
+
+ public event EventHandler MachineModelConfigChanged;
+
+ //单例模式
+ private static frmMachineModelConfig frm = null;
+ public static frmMachineModelConfig CreateInstrance()
+ {
+ if (frm == null || frm.IsDisposed)
+ {
+ frm = new frmMachineModelConfig();
+ }
+ return frm;
+ }
+
+ private List InitialLoadList = new List();
+ private long SelectedId;
+
+
+
+ private void frmMachineModelConfig_Load(object sender, EventArgs e)
+ {
+ LoadComboxBoxData();
+ listView1.Columns.Clear();
+ LoadListView1Column();
+ LoadData();
+ }
+
+
+
+ private void LoadListView1Column()
+ {
+ ColumnHeader h0 = new ColumnHeader();
+ ColumnHeader h1 = new ColumnHeader();
+ ColumnHeader h2 = new ColumnHeader();
+ ColumnHeader h3 = new ColumnHeader();
+ ColumnHeader h4 = new ColumnHeader();
+ ColumnHeader h5 = new ColumnHeader();
+ ColumnHeader h6 = new ColumnHeader();
+ ColumnHeader h7 = new ColumnHeader();
+ ColumnHeader h8 = new ColumnHeader();
+ ColumnHeader h9 = new ColumnHeader();
+ ColumnHeader h10 = new ColumnHeader();
+ ColumnHeader h11 = new ColumnHeader();
+ ColumnHeader h12 = new ColumnHeader();
+ ColumnHeader h13 = new ColumnHeader();
+
+ h1.TextAlign = HorizontalAlignment.Center;
+ h2.TextAlign = HorizontalAlignment.Center;
+ h3.TextAlign = HorizontalAlignment.Center;
+ h4.TextAlign = HorizontalAlignment.Center;
+ h5.TextAlign = HorizontalAlignment.Center;
+ h6.TextAlign = HorizontalAlignment.Center;
+ h7.TextAlign = HorizontalAlignment.Center;
+ h8.TextAlign = HorizontalAlignment.Center;
+ h9.TextAlign = HorizontalAlignment.Center;
+ h10.TextAlign = HorizontalAlignment.Center;
+ h11.TextAlign = HorizontalAlignment.Center;
+ h12.TextAlign = HorizontalAlignment.Center;
+ h13.TextAlign = HorizontalAlignment.Center;
+
+ h0.Width = 20;
+ h1.Width = 100;
+ h2.Width = 100;
+ h3.Width = 100;
+ h4.Width = 0;
+ h5.Width = 420;
+ h6.Width = 150;
+ h7.Width = 0;
+ h8.Width = 0;
+ h9.Width = 40;
+ h10.Width = 100;
+ h11.Width = 100;
+ h12.Width = 100;
+ h13.Width = 0;
+
+ h0.Text = "";
+ h1.Text = "机种番号";
+ h2.Text = "间隙测试";
+ h3.Text = "动静盘符号";
+ h4.Text = "";
+ h5.Text = "";
+ h6.Text = "";
+ h7.Text = "";
+ h8.Text = "";
+ h9.Text = "";
+
+ h10.Text = "活塞油沟";
+ h11.Text = "吸油管压入";
+ h12.Text = "创建时间";
+ h13.Text = "";
+ //h14.Text = "";
+
+ listView1.Columns.AddRange(new ColumnHeader[] { h0, h1, h2, h3, h4 });
+ listView1.View = View.Details;
+ }
+
+ private void InsertlistView1Result(long guid, string ModelNo, string GapInfo, string DynStatDiskKeyMatch)
+ {
+ ListViewItem lvi = new ListViewItem();
+ lvi.ImageIndex = 0;
+ lvi.Text = "";
+ lvi.SubItems.Add(ModelNo.ToString());
+ lvi.SubItems.Add(GapInfo.ToString());
+ lvi.SubItems.Add(DynStatDiskKeyMatch!=null ?DynStatDiskKeyMatch.ToString():"");
+ lvi.SubItems.Add(guid.ToString());
+ this.listView1.Items.Add(lvi);
+ }
+
+ private void LoadData()
+ {
+ listView1.Items.Clear();
+ //InitialLoadList.Clear();
+ //加载数据
+
+ InitialLoadList = FSqlContext.FDb.Select().ToList();
+
+ if (InitialLoadList.Count > 0)
+ {
+ var data = InitialLoadList.OrderBy(a => a.CreateTime).ToList();
+ foreach (var item in data)
+ {
+ InsertlistView1Result(item.Id,
+ item.ModelNo,
+ item.GapInfo,
+ item.DynStatDiskKeyMatch
+ );
+ }
+ }
+ }
+
+ private void LoadComboxBoxData()
+ {
+ this.cbxGapTest.Items.Clear();
+
+ this.cbxGapTest.Items.Add("检测");//赋值
+ this.cbxGapTest.SelectedIndex = 0;//设置下标
+
+ this.cbxGapTest.Items.Add("不检测");//赋值
+ this.cbxGapTest.SelectedIndex = 1;//下标
+
+ //this.cbxGapTest.Items.Add("C");//赋值
+ //this.cbxGapTest.SelectedIndex = 2;//下标
+
+ //this.cbxGapTest.Items.Add("无");//赋值
+ //this.cbxGapTest.SelectedIndex = 3;//下标
+
+ this.cbxGapTest.SelectedIndex = -1;//默认显示LHK
+
+
+ //this.cbxInsulatPad.Items.Clear();
+
+ //this.cbxInsulatPad.Items.Add("A");//赋值
+ //this.cbxInsulatPad.SelectedIndex = 0;//设置下标
+
+ //this.cbxInsulatPad.Items.Add("B");//赋值
+ //this.cbxInsulatPad.SelectedIndex = 1;//下标
+
+ //this.cbxInsulatPad.Items.Add("C");//赋值
+ //this.cbxInsulatPad.SelectedIndex = 2;//下标
+
+ //this.cbxInsulatPad.Items.Add("D");//赋值
+ //this.cbxInsulatPad.SelectedIndex = 3;//下标
+
+ //this.cbxInsulatPad.Items.Add("E");//赋值
+ //this.cbxInsulatPad.SelectedIndex = 4;//下标
+
+ //this.cbxInsulatPad.Items.Add("F");//赋值
+ //this.cbxInsulatPad.SelectedIndex = 5;//下标
+
+ //this.cbxInsulatPad.Items.Add("无");//赋值
+ //this.cbxInsulatPad.SelectedIndex = 6;//下标
+
+ //this.cbxInsulatPad.SelectedIndex = -1;//默认显示LHK
+
+
+
+ //this.cbxDynStatDiskConver.Items.Clear();
+
+ //this.cbxDynStatDiskConver.Items.Add("A");//赋值
+ //this.cbxDynStatDiskConver.SelectedIndex = 0;//设置下标
+
+ //this.cbxDynStatDiskConver.Items.Add("B");//赋值
+ //this.cbxDynStatDiskConver.SelectedIndex = 1;//下标
+
+ //this.cbxDynStatDiskConver.Items.Add("C");//赋值
+ //this.cbxDynStatDiskConver.SelectedIndex = 2;//下标
+
+ //this.cbxDynStatDiskConver.Items.Add("无");//赋值
+ //this.cbxDynStatDiskConver.SelectedIndex = 3;//下标
+
+ //this.cbxDynStatDiskConver.SelectedIndex = -1;//默认显示LHK
+
+ }
+
+ private void listView1_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (listView1.SelectedIndices.Count > 0 && listView1.SelectedIndices != null && listView1.FocusedItem != null)
+ {
+ txtModelNo.Text = listView1.FocusedItem.SubItems[1].Text;
+ //txtESOPPath.Text = listView1.FocusedItem.SubItems[5].Text;
+ //cbxLevel.SelectedItem = listView1.FocusedItem.SubItems[3].Text;
+
+ switch (listView1.FocusedItem.SubItems[2].Text)
+ {
+ case "检测":
+ cbxGapTest.SelectedIndex = 0;
+ break;
+ case "不检测":
+ cbxGapTest.SelectedIndex = 1;
+ break;
+ //case "C":
+ // cbxGapTest.SelectedIndex = 2;
+ // break;
+ //case "无":
+ // cbxGapTest.SelectedIndex = 3;
+ // break;
+ default:
+ break;
+ }
+
+ txtDynStatDiskKeyMatch.Text= listView1.FocusedItem.SubItems[3].Text;
+
+ //switch (listView1.FocusedItem.SubItems[3].Text)
+ //{
+ // case "A":
+ // cbxInsulatPad.SelectedIndex = 0;
+ // break;
+ // case "B":
+ // cbxInsulatPad.SelectedIndex = 1;
+ // break;
+ // case "C":
+ // cbxInsulatPad.SelectedIndex = 2;
+ // break;
+ // case "D":
+ // cbxInsulatPad.SelectedIndex = 3;
+ // break;
+ // case "E":
+ // cbxInsulatPad.SelectedIndex = 4;
+ // break;
+ // case "F":
+ // cbxGapTest.SelectedIndex = 5;
+ // break;
+ // case "无":
+ // cbxGapTest.SelectedIndex = 6;
+ // break;
+ // default:
+ // break;
+ //}
+
+
+ //switch (listView1.FocusedItem.SubItems[4].Text)
+ //{
+ // case "A":
+ // cbxDynStatDiskConver.SelectedIndex = 0;
+ // break;
+ // case "B":
+ // cbxDynStatDiskConver.SelectedIndex = 1;
+ // break;
+ // case "C":
+ // cbxDynStatDiskConver.SelectedIndex = 2;
+ // break;
+ // case "无":
+ // cbxDynStatDiskConver.SelectedIndex = 3;
+ // break;
+ // default:
+ // break;
+ //}
+
+ var guid = listView1.FocusedItem.SubItems[4].Text;
+ SelectedId = long.Parse(guid);
+
+ }
+ }
+
+ private void btnAdd_Click(object sender, EventArgs e)
+ {
+ if (!string.IsNullOrEmpty(txtModelNo.Text.Trim()) &&
+ //!string.IsNullOrEmpty(txtESOPPath.Text.Trim()) &&
+ !string.IsNullOrEmpty(cbxGapTest.SelectedItem.ToString().Trim())
+ //!string.IsNullOrEmpty(cbxInsulatPad.SelectedItem.ToString().Trim()) &&
+ //!string.IsNullOrEmpty(cbxDynStatDiskConver.SelectedItem.ToString().Trim())
+ )
+ {
+ var ReturnData = FSqlContext.FDb.Insert(
+ new DynStatDiskModel()
+ {
+ ModelNo = txtModelNo.Text.Trim(),
+ GapInfo = cbxGapTest.SelectedItem.ToString().Trim(),
+ DynStatDiskKeyMatch= txtDynStatDiskKeyMatch.Text.Trim(),
+ //InsulatPad = cbxInsulatPad.SelectedItem.ToString().Trim(),
+ //DynStatDiskConver = cbxDynStatDiskConver.SelectedItem.ToString().Trim(),
+ //ESOPPath = txtESOPPath.Text.ToString().Trim()
+ }
+ ).ExecuteInserted();
+
+ LoadData();
+ }
+ else
+ {
+ MessageBox.Show("有空的数据存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ }
+ }
+
+ private void btnEdit_Click(object sender, EventArgs e)
+ {
+ //if (CurrentUserLevel == "管理员")
+ //{
+ FSqlContext.FDb.Update()
+ .Set(a => a.ModelNo, txtModelNo.Text.Trim())
+ .Set(a => a.GapInfo, cbxGapTest.SelectedItem.ToString().Trim())
+ .Set(a => a.DynStatDiskKeyMatch, txtDynStatDiskKeyMatch.Text.Trim())
+ //.Set(a => a.DynStatDiskConver, cbxDynStatDiskConver.SelectedItem.ToString().Trim())
+ //.Set(a => a.ESOPPath, txtESOPPath.Text.ToString().Trim())
+ .Where(a => a.Id == SelectedId)
+ .ExecuteAffrows();
+
+ LoadData();
+ //}
+ //else
+ //{
+ // MessageBox.Show("你没有权限编辑!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ //}
+
+ }
+
+ private void btnDelete_Click(object sender, EventArgs e)
+ {
+ if (DialogResult.OK == MessageBox.Show("你确定要删除当前选中的数据行?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information))
+ {
+ FSqlContext.FDb.Delete(SelectedId).ExecuteAffrows();
+
+ LoadData();
+ }
+ }
+
+ private void btnClose_Click(object sender, EventArgs e)
+ {
+ MachineModelConfigChanged(this,new EventArgs());
+ this.Close();
+ }
+
+ private void txtESOPPath_Click(object sender, EventArgs e)
+ {
+ //OpenFileDialog openfiledialog = new OpenFileDialog();//声明并初始化openfiledialog类
+ //openfiledialog.InitialDirectory = @"E:\";//设置文件打开初始目录为E盘
+ //openfiledialog.Title = "打开图片文件";//设置打开文件对话框标题
+ //openfiledialog.Filter = "jpg Files(*.jpg)|*.jpg|png Files(*.png)|*.png"; //设置文件过滤类型
+ ////openfiledialog.FilterIndex = 2;//根据文件类型索引设置文件过滤类型
+ //openfiledialog.RestoreDirectory = true;//设置对话框是否记忆之前打开的目录
+ //if (openfiledialog.ShowDialog() == DialogResult.OK)//当点击文件对话框的确定按钮时打开相应的文件
+ //{
+ // //tbfilepath.Text = openfiledialog.FileName;//获取选择文件的完整路径名(含文件名称)
+ // txtESOPPath.Text = openfiledialog.FileName;
+ // //tbfilename.Text = tbfilepath.Text.Substring(tbfilepath.Text.LastIndexOf("\\") + 1);
+ //}
+ }
+ }
+}
diff --git a/EleBox.App/frmMachineModelConfig.resx b/EleBox.App/frmMachineModelConfig.resx
new file mode 100644
index 0000000..b82d62f
--- /dev/null
+++ b/EleBox.App/frmMachineModelConfig.resx
@@ -0,0 +1,1296 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+ 17, 17
+
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
+ LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACm
+ BwAAAk1TRnQBSQFMAwEBAAEoAQABKAEAARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
+ AUADAAEQAwABAQEAAQgGAAEEGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
+ AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
+ AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
+ AwABmQMAAcwCAAEzAwACMwIAATMBZgIAATMBmQIAATMBzAIAATMB/wIAAWYDAAFmATMCAAJmAgABZgGZ
+ AgABZgHMAgABZgH/AgABmQMAAZkBMwIAAZkBZgIAApkCAAGZAcwCAAGZAf8CAAHMAwABzAEzAgABzAFm
+ AgABzAGZAgACzAIAAcwB/wIAAf8BZgIAAf8BmQIAAf8BzAEAATMB/wIAAf8BAAEzAQABMwEAAWYBAAEz
+ AQABmQEAATMBAAHMAQABMwEAAf8BAAH/ATMCAAMzAQACMwFmAQACMwGZAQACMwHMAQACMwH/AQABMwFm
+ AgABMwFmATMBAAEzAmYBAAEzAWYBmQEAATMBZgHMAQABMwFmAf8BAAEzAZkCAAEzAZkBMwEAATMBmQFm
+ AQABMwKZAQABMwGZAcwBAAEzAZkB/wEAATMBzAIAATMBzAEzAQABMwHMAWYBAAEzAcwBmQEAATMCzAEA
+ ATMBzAH/AQABMwH/ATMBAAEzAf8BZgEAATMB/wGZAQABMwH/AcwBAAEzAv8BAAFmAwABZgEAATMBAAFm
+ AQABZgEAAWYBAAGZAQABZgEAAcwBAAFmAQAB/wEAAWYBMwIAAWYCMwEAAWYBMwFmAQABZgEzAZkBAAFm
+ ATMBzAEAAWYBMwH/AQACZgIAAmYBMwEAA2YBAAJmAZkBAAJmAcwBAAFmAZkCAAFmAZkBMwEAAWYBmQFm
+ AQABZgKZAQABZgGZAcwBAAFmAZkB/wEAAWYBzAIAAWYBzAEzAQABZgHMAZkBAAFmAswBAAFmAcwB/wEA
+ AWYB/wIAAWYB/wEzAQABZgH/AZkBAAFmAf8BzAEAAcwBAAH/AQAB/wEAAcwBAAKZAgABmQEzAZkBAAGZ
+ AQABmQEAAZkBAAHMAQABmQMAAZkCMwEAAZkBAAFmAQABmQEzAcwBAAGZAQAB/wEAAZkBZgIAAZkBZgEz
+ AQABmQEzAWYBAAGZAWYBmQEAAZkBZgHMAQABmQEzAf8BAAKZATMBAAKZAWYBAAOZAQACmQHMAQACmQH/
+ AQABmQHMAgABmQHMATMBAAFmAcwBZgEAAZkBzAGZAQABmQLMAQABmQHMAf8BAAGZAf8CAAGZAf8BMwEA
+ AZkBzAFmAQABmQH/AZkBAAGZAf8BzAEAAZkC/wEAAcwDAAGZAQABMwEAAcwBAAFmAQABzAEAAZkBAAHM
+ AQABzAEAAZkBMwIAAcwCMwEAAcwBMwFmAQABzAEzAZkBAAHMATMBzAEAAcwBMwH/AQABzAFmAgABzAFm
+ ATMBAAGZAmYBAAHMAWYBmQEAAcwBZgHMAQABmQFmAf8BAAHMAZkCAAHMAZkBMwEAAcwBmQFmAQABzAKZ
+ AQABzAGZAcwBAAHMAZkB/wEAAswCAALMATMBAALMAWYBAALMAZkBAAPMAQACzAH/AQABzAH/AgABzAH/
+ ATMBAAGZAf8BZgEAAcwB/wGZAQABzAH/AcwBAAHMAv8BAAHMAQABMwEAAf8BAAFmAQAB/wEAAZkBAAHM
+ ATMCAAH/AjMBAAH/ATMBZgEAAf8BMwGZAQAB/wEzAcwBAAH/ATMB/wEAAf8BZgIAAf8BZgEzAQABzAJm
+ AQAB/wFmAZkBAAH/AWYBzAEAAcwBZgH/AQAB/wGZAgAB/wGZATMBAAH/AZkBZgEAAf8CmQEAAf8BmQHM
+ AQAB/wGZAf8BAAH/AcwCAAH/AcwBMwEAAf8BzAFmAQAB/wHMAZkBAAH/AswBAAH/AcwB/wEAAv8BMwEA
+ AcwB/wFmAQAC/wGZAQAC/wHMAQACZgH/AQABZgH/AWYBAAFmAv8BAAH/AmYBAAH/AWYB/wEAAv8BZgEA
+ ASEBAAGlAQADXwEAA3cBAAOGAQADlgEAA8sBAAOyAQAD1wEAA90BAAPjAQAD6gEAA/EBAAP4AQAB8AH7
+ Af8BAAGkAqABAAOAAwAB/wIAAf8DAAL/AQAB/wMAAf8BAAH/AQAC/wIAA/8HAAWyOQAJsjYAC7I0AAWy
+ AgAGsjMABbIDAAWyMgAGsgIAB7IxAAayAgAHsjEABbIDAAG7BrIxAAayAf8CAAayMQAPsjEAAf8GsgEA
+ AboFsjMABrICAAWyNAAGsgEJBLI2AAmyOAAB/wWydQABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEA
+ AQEFAAGAFwAD/wEAAfwBHwYAAfABBwYAAeABAwYAAcEBgQYAAsEGAAGBAYAGAAGBAYAGAAGDAYAGAAGA
+ AcAGAAGABwABgAGBBgABwAHBBgAB4AEDBgAB8AEHBgAB+AEfBgAC/wYACw==
+
+
+
+
+
+ AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABMLAAATCwAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAWAAAAJgAAADUAAABLAAAAXAAAAGoAAABpAAAAaQAA
+ AGkAAABpAAAAagAAAFwAAABLAAAANQAAACYAAAAWAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAkAAAATgAAAH4AAACqAAAAywAA
+ AOEAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAA
+ AOEAAADLAAAAqgAAAH4AAABOAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAA
+ AFQAAACQAAAA0QAAAO8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAA0QAA
+ AJAAAABUAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAdAAAAYAAAAK8AAADrAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADrAAAArwAAAGAAAAAdAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABDAAAAnwAAAOgAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAACfAAAAQwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAwAAABjAAAAxwAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AgUA/wMJAP8FDgD/BQ4A/wUOAP8FDgD/BQ4A/wUNAP8DCQD/AgQA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD+AAAAxwAAAGMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABnAAAA1AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8FDAD/DB4A/xU0AP8dTAD/JmIA/ytwAP8wfAD/M4UA/zaP
+ AP83kQD/N5IA/zeRAP82kAD/No4A/zOEAP8wfAD/Km8A/yZhAP8dSwD/FDQA/wweAP8FDAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANQAAABnAAAADgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABbAAAA0gAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAoA/xAoAP8cRwD/K2sA/zSC
+ AP85kgD/PJoA/z2cAP89nwD/Pp8A/z2gAP89oAD/PaEA/z6jAP8+pAD/PqMA/z2iAP89oAD/PZ8A/z2f
+ AP89ngD/PZ0A/z2bAP88mQD/OZEA/zSCAP8ragD/HEcA/xAoAP8ECgD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADSAAAAWwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAA5AAAAugAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8FDAD/FDEA/yVcAP8zfgD/Oo4A/zuVAP88lAD/O5QA/zqVAP86lQD/O5cA/zuZAP88mgD/PJwA/zyd
+ AP88nwD/PaEA/z2iAP89oQD/PKAA/zyeAP88nAD/PJsA/zuZAP87lwD/O5YA/zqUAP86lAD/O5MA/zuU
+ AP87lAD/Oo4A/zN9AP8lXAD/FDEA/wUMAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAAugAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAiAAAAPMAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wECAP8NIQD/IlIA/zJ6AP85iwD/Oo8A/zqNAP85jQD/OY8A/zqQ
+ AP86kgD/OpQA/zqVAP87lwD/O5kA/zyaAP88nAD/PJ0A/zyfAP89oQD/PaIA/z2hAP88oAD/PJ4A/zyc
+ AP88mwD/O5kA/zuXAP87lgD/OpQA/zqTAP86kQD/OZAA/zmOAP85jgD/Oo0A/zqOAP85igD/MnkA/yJR
+ AP8NIQD/AQIA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAIgAAAAPAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAPQAAAMoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIGAP8TLgD/KmQA/zeD
+ AP86igD/OYkA/ziIAP84igD/OYsA/zmNAP85jwD/OpAA/zqSAP86lAD/OpUA/zuXAP87mQD/PJkA/z2b
+ AP89nAD/PZ4A/z6gAP8+oAD/Pp8A/z2fAP89nQD/PZsA/z2aAP87mAD/O5cA/zuWAP86lAD/OpMA/zqR
+ AP85kAD/OY4A/zmNAP85iwD/OIkA/ziHAP85iAD/OokA/zeDAP8qZAD/Ey0A/wIGAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAMoAAAA9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAHcAAAD0AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wIEAP8VMgD/LWoA/ziDAP84hQD/N4MA/ziFAP84hwD/OIgA/ziKAP85iwD/OY0A/zmP
+ AP86jwD/O5AA/zuSAP87kwD/PJUA/zuaAf86ngj/OKMN/zemEv82qRX/N6sV/zOwH/8zsB//NqoW/zWp
+ Fv82pRP/OKIO/zieCf86mAH/PJQA/zuRAP87kAD/O48A/zmPAP85jgD/OY0A/zmLAP84iQD/OIcA/ziG
+ AP84hAD/N4MA/ziFAP84gwD/LWkA/xUyAP8CBAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ APIAAAB2AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ABQAAACmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QJQD/K2EA/ziAAP83gQD/N4AA/zeB
+ AP83gwD/OIUA/ziHAP84iAD/OIkA/zqJAP86igD/OY4A/zeWCv8zoRv/La4s/yi5QP8jxVL/IMte/x3R
+ af8b1XD/GNh4/xfbff8X3H7/FtyA/xbdgf8W3YH/Fd6C/xbcf/8Y2Xn/GtVy/xzQaf8gyV3/Jb1K/yux
+ NP8xox//NpcM/zmNAP86igD/OogA/ziIAP84hwD/OIYA/ziEAP83gwD/N4EA/zeAAP83gQD/OH8A/yth
+ AP8QJQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACmAAAAFAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAygAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8IEgD/I1AA/zZ6AP83fgD/NnwA/zZ+AP83gAD/N4EA/zeDAP84hAD/OYQA/zmGAP82jwf/MZ8e/ymy
+ Of8ixFX/Hc9n/xrWc/8Y2nn/GNp6/xjbe/8Y23v/F9p7/xjbe/8Y2nz/F9t8/xfbff8X3H7/Ftx//xbd
+ gf8W3YH/Fd6D/xXfhf8U34f/E+GJ/xPii/8T44z/EuOO/xPgiP8X2X3/HM1p/yW3R/8voiX/NY8K/zmF
+ AP85gwD/OIMA/zeDAP83gQD/N4AA/zZ+AP82fAD/N34A/zZ6AP8jUAD/CBIA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAADKAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAA
+ AOMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAgD/FS8A/zFsAP83fAD/NXoA/zZ7AP82fAD/Nn4A/zeA
+ AP84fwD/OIAA/zaLCf8vnyT/JrhF/x/MYf8b1W//Gtl1/xrYdP8a13P/Gtdz/xrXdP8a13X/Gdh2/xnY
+ d/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTf
+ hv8U4Ij/FOGJ/xLijP8S5I//EeaR/xLjjf8W2X7/IMFb/yykLv81iwz/OIAA/zh+AP83gAD/Nn4A/zZ8
+ AP82ewD/NXkA/zd8AP8xbAD/FS8A/wECAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADjAAAAPAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAADvAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Bg0A/yNO
+ AP82dwD/NngA/zV3AP81eQD/NnsA/zZ7AP83ewD/N4AA/zGUF/8nsT3/IMle/xzVbf8b1nD/HNVu/xzU
+ bv8b1W//G9Vw/xvWcP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfb
+ ff8X3H7/F9x//xbdgf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xHj
+ j/8R5pP/EeWS/xbZf/8gvFX/Lpch/zd/AP83egD/NnsA/zZ7AP81eQD/NXcA/zZ4AP82dwD/I04A/wYN
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJAAAA7gAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0dAP8tYgD/NncA/zV0AP81dgD/NXcA/zV5AP83eAD/NX4D/y6Z
+ If8ku0v/HtBl/x3Va/8d02r/HdJq/xzTa/8c02z/HNRt/xzUbv8b1W//G9Vw/xvWcf8a1nL/Gtdz/xrX
+ dP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgP8W3YH/Fd6C/xXe
+ g/8V34X/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EeSR/xDnlf8R45D/G8ps/yqg
+ MP81fwT/N3cA/zV4AP81dwD/NXYA/zV0AP82dwD/LWMA/w0dAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAADuAAAASQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAPAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8VLgD/M2wA/zVz
+ AP80cwD/NXQA/zV2AP82dAD/NXsD/y2aJP8jv0//H9Fm/x7TaP8e0Wb/HtFm/x7SaP8d0mj/HdJp/x3T
+ a/8c02v/HNRt/xzUbf8b1W//G9Vw/xvWcP8b1nH/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xja
+ ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPh
+ iv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkf8Q55b/EOeU/xjRdv8oojf/NXoE/zZzAP81dgD/NXQA/zRz
+ AP81dAD/M2wA/xUuAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAAAASAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAADvAAAA/wAA
+ AP8AAAD/AAAA/wAAAP8BAgD/HDsA/zRvAP81cAD/NHEA/zRzAP81cgD/NXUA/y+RHP8ku0r/INBi/x/R
+ ZP8fz2L/H9Bk/x/QZP8e0Wb/HtFm/x7SaP8d0mn/HdJp/x3Ta/8c02z/HNRt/xzUbv8b1W//G9Vw/xvW
+ cP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbd
+ gf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHk
+ kP8R5JH/EOeW/xDolv8YzXP/Kpcs/zZ0AP82cgD/NHMA/zRxAP81cAD/NG8A/xw7AP8BAgD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAADvAAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAvAAAA5gAAAP8AAAD/AAAA/wAAAP8AAAD/AQMA/yBDAP81bwD/M28A/zRv
+ AP80cAD/NXAA/zGCD/8nsD7/Ic5e/yDPYf8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFm/x7S
+ Z/8d0mj/HdJp/x3Ta/8c02v/HNRs/xzUbv8b1W//G9Vv/xvWcP8b1nH/Gtdz/xrXdP8a13X/Gdh2/xnY
+ d/8Z2Xf/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTf
+ hv8U4If/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xLjj/8R5JH/EeWS/w/ol/8Q5pX/HMJk/y+G
+ Gf81bwD/NHAA/zRvAP8zbwD/NXAA/yBEAP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADlAAAALQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAANAAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wEDAP8gQwD/NW8A/zNsAP8zbgD/NG0A/zRxAv8smCb/I8VT/yDPX/8hzV3/Ic1d/yDN
+ Xv8gzl//IM5g/x/PYf8fz2L/H9Bj/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3Ta/8c02v/HNRt/xzU
+ bf8b1W//G9Vw/xvWcP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfb
+ ff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi
+ jf8S443/EuOP/xHkkP8R5JH/EeWS/xHmk/8P6Zr/E92K/yWkQP8zcgP/NWwA/zNuAP8zbAD/NW8A/yBD
+ AP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADPAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAcAAACxAAAA/wAAAP8AAAD/AAAA/wAAAP8BAwD/IEQA/zVvAP8zawD/M2wA/zRq
+ AP8yewz/J7A+/yLNWv8izFr/Isxa/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H9Bk/x/Q
+ ZP8e0Wb/HtFm/x7SaP8d0mn/HdJp/x3Ta/8c02z/HNRt/xzUbv8b1W//G9Vw/xvWcf8a1nL/Gtdz/xrX
+ dP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgf8W3YH/Fd6C/xXe
+ hP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHl
+ k/8Q55b/D+mZ/xrFa/8vfxX/NGkA/zNsAP8zawD/NW8A/yBEAP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAACxAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAEA/x4+AP81bwD/M2sA/zNqAP80aQD/Losb/yXATP8jzFn/I8pX/yLKV/8iy1n/Ista/yHM
+ W/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3T
+ a/8c02v/HNRs/xzUbv8b1W//G9Vw/xvWcP8b1nH/Gtdz/xrXdP8a13X/Gdh2/xnYd/8Z2Xf/GNl5/xja
+ ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4If/FOCI/xPh
+ if8T4Yv/E+KL/xLijP8S447/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/D+qa/xPbhv8olTH/NGkA/zNq
+ AP8zawD/NW8A/x4+AP8AAQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAB+AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAEQAAAD4AAAA/wAAAP8AAAD/AAAA/wAAAP8YMwD/NW4A/zNsAP8zaQD/M2sB/yub
+ Kf8kyFL/I8tW/yPJVf8jyVb/I8pX/yLLWP8iy1n/Ista/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/P
+ Yf8fz2L/H9Bj/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3Ta/8c02v/HNRt/xzUbf8b1W//G9Vw/xvW
+ cP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbd
+ gP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHk
+ kP8R5JH/EeWS/xHlk/8Q5ZT/D+mY/xDmlf8hqkz/M2sC/zRpAP8zbAD/NW4A/xgzAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAPgAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAA1QAAAP8AAAD/AAAA/wAA
+ AP8AAAD/EiUA/zNrAP8zbAD/M2kA/zJuBP8qpjP/JMpT/yTJUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLL
+ WP8iy1n/Isxa/yHMW/8hzVz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H9Bk/x/QZP8e0Wb/HtFm/x7S
+ aP8d0mn/HdJp/x3Ta/8c02z/HNRu/xvVb/8a1nL/Gtdz/xrYdP8Z2Hb/Gdl3/xnZef8Y2nn/GNp6/xja
+ ev8Y2nr/F9p7/xjbe/8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOeW/w/q
+ mv8cul//MnAI/zRoAP8zbAD/M2sA/xIlAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANUAAAATAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAJMAAAD/AAAA/wAAAP8AAAD/AAAA/wkUAP8wZAD/NG0A/zNpAP8xcwj/Ka86/yXK
+ Uv8lx1D/JcdQ/yTIUf8kyFP/JMlU/yPJVf8jyVb/I8pX/yLKV/8iy1n/Ista/yHMW/8hzFz/Ic1d/yDN
+ Xv8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFn/x3Tav8c02z/HNRt/xzTa/8e0GT/IM5f/yPJ
+ Vv8lxk3/J8NI/ynAQf8pvz7/Kb8//ynAQ/8mxUz/JMhS/yDNXf8d02n/GtVx/xjae/8X3H//Ft2A/xbc
+ gP8X3H//F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhif8T4Yv/E+KL/xLi
+ jf8S447/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/EOaV/w/rm/8Zx2//L3YQ/zRoAP80bQD/MGQA/wkU
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAA+QAAAP8AAAD/AAAA/wAA
+ AP8DBgD/KFQA/zVuAP8zaAD/MXMI/ymyPP8lyVD/JcZN/yXGT/8lx1D/JcdQ/yTIUv8kyFP/JMlU/yPJ
+ Vf8jyVb/I8pX/yLLWP8iy1n/Isxa/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2P/HtFm/x7R
+ Z/8f0GP/I8lW/yjBRP8uuC//M7Ae/zerE/86pwn/O6UE/zukA/88pAP/PKMC/zyjAf88owH/PKMB/zyk
+ A/88pAP/O6UE/zqnCv82rBX/MrIi/yy7Nv8lxlD/HdFo/xjae/8W3oL/Ft6D/xbdgf8W3YH/Fd6C/xXe
+ g/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KM/xLijf8S443/EuOP/xHkkP8R5JH/EeWS/xHl
+ k/8Q5ZT/EOaV/w7rm/8XzHb/L3YP/zRoAP80bgD/KFQA/wMGAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAA
+ AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAACAAAAMYAAAD/AAAA/wAAAP8AAAD/AAAA/xs5AP81bwD/M2kA/zJzB/8psTn/JsdN/ybF
+ S/8mxk3/JcZO/yXGT/8lx1D/JMdR/yTIUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLLWP8iy1n/Isxa/yHM
+ W/8hzVz/Ic1d/yDNXv8gz2H/H89j/yDNXv8mxUv/Lrgx/zWuGf85pwv/PKQE/zykBP87pAT/O6UG/zul
+ B/87pgf/O6YH/zumB/87pgf/O6YH/zumB/87pgf/O6YH/zumB/87pgf/O6UH/zulBf88pAT/PKQD/zyk
+ A/85qAv/M7Ae/yq+Pf8gzmD/GNp7/xXfhf8V3oP/Fd6C/xXeg/8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPh
+ iv8T4ov/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaU/w/qmv8Xy3X/L3YP/zRo
+ AP81bwD/GzkA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAxgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAA/wAAAP8AAAD/AAAA/wAA
+ AP8MGgD/MmkA/zRqAP8ycgf/KrA4/yfHS/8nxEn/JsRL/ybFS/8mxk3/JcZO/yXGT/8lx1D/JcdQ/yTI
+ Uf8kyFP/JMlU/yPJVf8jyVb/I8pX/yLLWP8iy1n/Ista/yHMW/8gzV7/IM5f/yTHUf8tujT/Nq0Y/zqm
+ Cf87pQX/O6YH/zqmCP86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqn
+ Cf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqmCP87pQb/O6QE/zqmCP80sB3/KMFE/xvU
+ b/8V34T/FN+F/xXehP8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S447/EuOP/xHk
+ kP8R5JH/EeSS/xHlk/8Q5ZT/EOaU/w/qmv8XzHb/MHUO/zRpAP8yaQD/DBoA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAFQAAAN0AAAD/AAAA/wAAAP8AAAD/AwUA/yhWAP81bQD/Mm4D/yuqMv8nxkn/J8NH/yfE
+ Sf8nxEn/JsRL/ybFTP8mxk3/JcZO/yXGT/8lx1D/JcdQ/yTIUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLL
+ WP8hzFv/Icxb/ybESv8wtSr/OKkP/zqmCP86pgn/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmn
+ C/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmn
+ C/85pwv/OacL/zmnC/85pwv/OacL/zqmCP87pQb/N6kR/yy8OP8d0mj/Fd+F/xTfhv8V3oT/Fd+F/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaV/w/r
+ m/8axGz/Mm8H/zVsAP8oVgD/AwUA/wAAAP8AAAD/AAAA/wAAAP8AAADdAAAAFQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8XMAD/NW4A/zNqAP8soCr/KMVH/yjCRf8ow0b/J8NI/yfESf8nxEn/JsRL/ybFTP8mxk3/JcZO/yXG
+ T/8lx1D/JMdR/yTIUv8kyFP/JMlU/yPJVf8jylf/IstZ/yXFTP8wtCn/OagO/zqnCv85qA3/OagN/zmo
+ Df85qA3/OagN/zmoDf85qA3/OagN/zmoDf85qA3/N6cL/zWmCP8zpQb/MaUE/zCkA/8wpAP/MKQD/zCk
+ A/8wpAP/MKQD/zGlBP8zpQb/NaYI/zenC/85qA3/OagN/zmoDf85qA3/OagN/zmoDf85qA3/OagN/zmo
+ Df85qAz/OqYJ/zipD/8suzj/G9Vv/xTgh/8V34b/FN+F/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLi
+ jf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaV/w/rmv8dt1z/M2oB/zVuAP8XMAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAB2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAEQAAAN4AAAD/AAAA/wAAAP8AAAD/BgwA/y5hAP80aQD/LpMe/ynERP8owUT/KMJE/yjC
+ Rf8ow0b/J8NH/yfDSP8nxEn/JsRL/ybFS/8mxk3/JcZN/yXGT/8lx1D/JcdQ/yTIUf8kyFP/I8pW/yTH
+ UP8uuDH/N6oT/zmnDf84qA//OKkQ/zipEP84qRD/OKkQ/zipEP84qRD/OKkQ/zioD/81pwz/MaYH/zKm
+ Cf9CrRz/W7g6/3bEWv+T0Hz/qtqY/7Ldov+y3aL/st2i/7Ldov+q2pj/k9B8/3nEXf9buDr/Qq0c/zKm
+ Cf8xpgf/NacM/zioD/84qRD/OKkQ/zipEP84qRD/OKkQ/zipEP84qRD/OKgP/zmmC/82qxX/J8JG/xfb
+ fP8U4In/Fd+G/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeSS/xHl
+ k/8Q5ZT/EOaV/w/qmv8ipEX/NWgA/y5hAP8GDAD/AAAA/wAAAP8AAAD/AAAA/wAAAN4AAAARAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpAAAA/wAAAP8AAAD/AAAA/wAA
+ AP8cPAD/NWwA/zCCEv8pv0D/KcFC/ynBQv8owUT/KMJE/yjCRf8ow0b/J8NH/yfESf8nxEn/JsRL/ybF
+ TP8mxk3/JcZO/yXGT/8lx1D/JcdR/yTIU/8pwEH/NK8c/zioDv84qRD/OKkR/zipEf84qRH/OKkR/zip
+ Ef84qRH/OKkR/zepEP8ypwr/MqcK/02zK/+ByWj/uuGt/+Dx2f/7/fr/////////////////////////
+ //////////////////////////////v9+v/g8dn/uuGt/4HJaP9Nsyv/MqcK/zKnCv83qRD/OKkR/zip
+ Ef84qRH/OKkR/zipEf84qRH/OKkR/zipEP85pw3/MrIk/x7PZP8U4Ij/FN+H/xTfhv8U4Ij/FOGJ/xPh
+ iv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOeW/xDkk/8pjSr/NmsA/xw8
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAGkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAABgAAAMwAAAD/AAAA/wAAAP8AAAD/Bw4A/zBjAP8zdAb/K7Q2/yrCQP8pwED/KcFC/ynB
+ Qv8owUP/KMJF/yjCRf8ow0b/J8NI/yfESf8nxEr/JsRL/ybFTP8mxk3/JcZO/yXHUP8mxk//Lrgx/zer
+ FP83qhL/N6sT/zeqE/83qhP/N6oT/zeqE/83qhP/N6sU/zeqE/8xqA3/N6sT/2W+Sf+z36X/7/jt////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////+/47f+z36X/Zb5J/zerE/8xqA3/N6oT/zerFP83qhP/N6oT/zeqE/83qhP/N6oT/zer
+ FP84qRH/N6oU/ybDSf8W3YP/FOCI/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EuOP/xHk
+ kP8R5JH/EeWS/xHlk/8Q5ZT/D+mY/xXWgf8weBD/MGIA/wcOAP8AAAD/AAAA/wAAAP8AAAD/AAAAzAAA
+ AAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGAAAA/QAAAP8AAAD/AAAA/wAA
+ AP8cOQD/NW8B/y6iKP8qwkD/Kr8+/yq/P/8pwED/KcBB/ynBQv8owUP/KMJE/yjCRf8ow0b/J8NH/yfD
+ SP8nxEn/JsRL/ybFS/8mx07/J8NH/zGyJf82qhT/NqsV/zarFv82qxb/NqsW/zarFv82qxb/NqsW/zar
+ Fv8zqhL/MakQ/2a/Tf/I6L///v79////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////////////+/v3/yOi//2a/
+ Tf8xqRD/M6oS/zarFv82qxb/NqsW/zarFv82qxb/NqsW/zarFv82qxX/OKkR/y25NP8Y2Xj/E+GJ/xTf
+ hv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/D+ua/xu9
+ Y/81bgL/HDkA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAKIAAAD/AAAA/wAAAP8AAAD/BAoA/y5dAP8xixX/K788/yu+PP8qvj3/Kr8+/yrA
+ P/8pwED/KcBB/ynBQv8owUT/KMJE/yjCRf8ow0b/J8NH/yfESf8nxEn/JsVM/ynAQf8zsB//NqsV/zas
+ F/82rBf/NqwX/zasF/82rBf/NqwX/zasF/81rBf/L6kQ/0izLf+u3qL/+v35////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////+v35/67eov9Isy3/L6kQ/zWsF/82rBf/NqwX/zas
+ F/82rBf/NqwX/zasF/82rBf/N6oT/zGzJ/8c1G//E+GJ/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLi
+ jf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/D+iY/yeaNv8vXAD/BAoA/wAAAP8AAAD/AAAA/wAA
+ AP8AAACiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAA6AAAAP8AAAD/AAAA/wAA
+ AP8VKwD/NHYF/y2zMv8rvzv/K707/yu+PP8rvj3/Kr8+/yq/P/8pwED/KcBB/ynBQv8pwUP/KMJE/yjC
+ Rf8owkb/J8NH/ybESv8qvTz/NK4d/zWsGP81rRr/Na0a/zWtGv81rRr/Na0a/zWtGv81rRr/NKwY/y+q
+ E/9wxVz/4vPe////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////////+Lz3v9wxVz/L6oT/zSsGP81rRr/Na0a/zWtGv81rRr/Na0a/zWtGv81rRr/NqsX/zOw
+ If8e0Wf/E+GJ/xTfhv8U4If/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xLjj/8R5JH/EeSS/xHl
+ k/8P55f/FNeD/zF6Dv8WKgD/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAAAaAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAFwAAAD/AAAA/wAAAP8AAAD/AQIA/ydQAP8wnB//LL86/yy9Of8rvTr/K707/yu+
+ PP8qvj3/Kr8+/yq/P/8pwED/KcBB/ynBQv8owUP/KMJE/yjCRf8nw0j/Kr07/zOuHv80rRv/NK0c/zSt
+ HP80rRz/NK0c/zStHP80rRz/NK0c/zKsGf8wrBj/kNKD//n8+P//////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////////////////////////////////n8+P+Q0oP/MKwY/zKs
+ Gf80rRz/NK0c/zStHP80rRz/NK0c/zStHP80rRz/NawZ/zKwIf8d0Wj/E+GJ/xTfhv8U4Ij/FOCI/xPh
+ iv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeWS/xHlk/8P6pn/ILNU/yhPAP8BAgD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqgAAAP8AAAD/AAAA/wAA
+ AP8KEwD/MXkK/y25NP8svTf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yrAP/8pwED/KcBB/ynB
+ Qv8owUT/KMJG/yq8O/8yryD/NK4d/zSuHv80rh7/NK4e/zSuHv80rh7/NK4e/zSuHv8yrRv/Na8f/6Ha
+ l///////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////+h2pf/Na8f/zKtG/80rh7/NK4e/zSuHv80rh7/NK4e/zSu
+ Hv80rh7/NK0b/zKwI/8c0mv/FOGJ/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHk
+ kP8R5JH/EeWS/xDmlP8R4Y//K4Ed/wsSAP8AAAD/AAAA/wAAAP8AAAD/AAAAqgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAABUAAADmAAAA/wAAAP8AAAD/AAAA/xs2AP8xpCP/Lb43/y27Nv8svDf/LLw3/yy9
+ Of8rvTr/K707/yu+PP8rvj3/Kr8+/yq/P/8pwED/KcBB/ynCQ/8qvj3/MrEj/zOvH/8zryD/M68g/zOv
+ IP8zryD/M68g/zOvIP8zryD/Mq4e/y+uHP+n3Z//////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //+n3Z//L64c/zKuHv8zryD/M68g/zOvIP8zryD/M68g/zOvIP8zryD/NK4d/zCzKf8a1nL/FOCI/xTf
+ hv8U4Ij/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xHkkP8R5JH/EeSS/w/pmP8ewmP/GzYA/wAA
+ AP8AAAD/AAAA/wAAAP8AAADmAAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAAAP8AAAD/AAAA/wAA
+ AP8BAAD/J2cL/y+7Mv8tuzT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yq/
+ P/8pwEH/Kb8//zCzJ/8zryH/MrAi/zKwIv8ysCL/MrAi/zKwIv8ysCL/MrAi/zKwIv8srRv/k9WK////
+ ////////////////////////////////////////////////////////////////////////////////
+ /////////v/+/+/89v/i++7/4vvu/+/89v/+//7/////////////////////////////////////////
+ //////////////////////////////////////////////////+T1Yr/LK0b/zKwIv8ysCL/MrAi/zKw
+ Iv8ysCL/MrAi/zKwIv8ysCL/M64f/y24M/8X233/FOCH/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi
+ jf8S443/EuOP/xHkkP8R5JH/EeWT/xPmkf8gcSH/AgAA/wAAAP8AAAD/AAAA/wAAAP8AAABRAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAACcAAAA/wAAAP8AAAD/AAAA/woTAP8unSD/Lr0z/y66M/8tujT/Lbs1/y27
+ Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yq/P/8utS7/MrAj/zKwJP8ysCT/MrAk/zKw
+ JP8ysCT/MrAk/zKwJP8ysST/K64d/2/IZf/6/fr/////////////////////////////////////////
+ ///////////////////////////////////d+ev/o/DL/2roq/9D4pb/MuCN/ynfiP8p34j/MuCN/0Pi
+ lv9q6Kv/o/DL/9356///////////////////////////////////////////////////////////////
+ //////////////r9+v9vyGX/K64d/zKxJP8ysCT/MrAk/zKwJP8ysCT/MrAk/zKwJP8ysCT/M64g/yjA
+ RP8V3oX/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EOqX/xq7
+ Yv8KEgD/AAAA/wAAAP8AAAD/AAAA/wAAAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAN4AAAD/AAAA/wAA
+ AP8AAAD/Fj8I/zC6Lv8uuTH/Lrkx/y66M/8tujT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+
+ PP8qvz7/LLgz/zGxJf8xsSb/MbEm/zGxJv8xsSb/MbEm/zGxJv8xsSb/MbEm/y2wIv9GuTz/5vXk////
+ ///////////////////////////////////////////////////////////////////E9d3/Y+Wl/yTc
+ gf8Q1nD/FNJo/xrNXf8fyFT/IcZQ/yHGUP8fyFT/Gs1d/xTSaP8Q1nD/JNyB/2Plpf/E9d3/////////
+ /////////////////////////////////////////////////////////////+b15P9GuTz/LbAi/zGx
+ Jv8xsSb/MbEm/zGxJv8xsSb/MbEm/zGxJv8xsSb/MrAj/yHKWf8U4Ij/Fd+F/xTfhv8U4Ij/FOCI/xPh
+ if8T4Yv/E+KL/xLijf8S447/EuOP/xHkkP8R5ZL/FOWN/xFHGv8AAAD/AAAA/wAAAP8AAAD/AAAA3gAA
+ AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABCAAAA/QAAAP8AAAD/AAAA/wAAAP8kexn/ML4w/y64MP8uuTD/Lrky/y66
+ M/8tujT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K747/yy8Of8wsin/MLIn/zCyKP8wsij/MLIo/zCy
+ KP8wsij/MLIo/zCyKP8wsij/K7Ai/7Dirf//////////////////////////////////////////////
+ ///////////////////o+/H/ceeq/xrYdv8Vz2L/I8NL/yu5N/8vtCv/MbIm/zGxJf8xsSX/MbEl/zGx
+ Jf8xsib/L7Qr/yu5N/8jw0v/Fc9i/xrYdv9x56r/6Pvx////////////////////////////////////
+ /////////////////////////////7Dirf8rsCL/MLIo/zCyKP8wsij/MLIo/zCyKP8wsij/MLIo/zCy
+ KP8xsib/L7Qs/xrWc/8V4If/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KM/xLijf8S443/EuOP/xHk
+ kP8R65b/E5RS/wEAAP8AAAD/AAAA/wAAAP8AAAD9AAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAD/AAAA/wAA
+ AP8AAAD/BxUD/y2pJ/8wuS7/L7gv/y64MP8uuTH/Lrky/y66M/8tujT/Lbs1/yy7Nv8svDf/LLw4/yy9
+ Of8rvTr/LrYv/zCzKf8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyr/MLMq/yqxJP9exFn/+f35////
+ ////////////////////////////////////////////////////////yfXd/zvdh/8Uz2L/Jr9D/y+0
+ LP8xsSf/MLIo/zCzKf8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyn/MLIo/zGxJ/8vtCz/Jr9D/xTP
+ Yv873Yf/yfXd////////////////////////////////////////////////////////////+f35/17E
+ Wf8qsST/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8xsSf/KL9C/xXeg/8V3oX/FN+G/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EuOP/xHmkv8S0YH/BRkL/wAAAP8AAAD/AAAA/wAA
+ AP8AAACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAJAAAA0QAAAP8AAAD/AAAA/wAAAP8TRQ//Mrwt/y+3LP8vty3/L7gu/y64
+ MP8uuTD/Lrkx/y66M/8tujT/Lbs1/y27Nv8svDf/LLw4/y25NP8vsyz/L7Qs/y+0LP8vtCz/L7Qs/y+0
+ LP8vtCz/L7Qs/y+0LP8vsyz/K7Io/7vmuv//////////////////////////////////////////////
+ /////////////8L02f8p13f/HcZP/y62Mf8wsin/L7Mr/y+0LP8vtCz/L7Qs/y+0LP8vtCz/L7Qs/y+0
+ LP8vtCz/L7Qs/y+0LP8vtCz/L7Qs/y+zK/8wsin/LrYx/x3GT/8p13f/wvTZ////////////////////
+ ////////////////////////////////////////u+a6/yuyKP8vsyz/L7Qs/y+0LP8vtCz/L7Qs/y+0
+ LP8vtCz/L7Qs/y+0LP8wsyn/H81h/xTfhv8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi
+ jf8S443/EuOP/xLrk/8IVTP/AAAA/wAAAP8AAAD/AAAA/wAAANEAAAAJAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAD5AAAA/wAA
+ AP8AAAD/AAEA/yJ9HP8yvCz/MLcs/y+3LP8vty3/L7gv/y64MP8uuTD/Lrky/y66M/8tujT/Lbs1/y27
+ Nv8suzb/LrUw/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/yqzKv9VwlT/9/z3////
+ ///////////////////////////////////////////////////Q9uH/LNZ1/yHBRf8wtCz/L7Qt/y+0
+ Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0
+ Lv8vtC3/MLQs/yHBRf8t1nX/0/fj////////////////////////////////////////////////////
+ ///3/Pf/VcJU/yqzKv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0LP8rujr/F9t9/xXe
+ hP8V3oT/Fd+F/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuuU/w2dYf8AAQD/AAAA/wAA
+ AP8AAAD/AAAA+QAAADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAcwAAAP8AAAD/AAAA/wAAAP8FEgT/LaYl/zG4Kv8wtiv/MLcs/y+3
+ LP8vuC7/L7gv/y64MP8uuTH/Lrky/y26M/8tujT/Lbs1/y24M/8utTD/LrUw/y61MP8utTD/LrUw/y61
+ MP8utTD/LrUw/y61MP8utTD/JrIo/5zcnf//////////////////////////////////////////////
+ ////////8/33/0rbhv8fwEP/L7Qu/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61
+ MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/L7Qu/x/AQ/9L24f/8v33////
+ //////////////////////////////////////////////////+c3J3/JrIo/y61MP8utTD/LrUw/y61
+ MP8utTD/LrUw/y61MP8utTD/LrUw/y+zLf8hylv/FN+F/xXeg/8V3oT/FN+F/xTfhv8U4Ij/FOGJ/xPh
+ iv8T4ov/E+KM/xLijf8S5Y//ENCD/wEWDv8AAAD/AAAA/wAAAP8AAAD/AAAAcwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAC0AAAA/wAA
+ AP8AAAD/AAAA/xA+Df8yuSj/MbUo/zC2Kf8wtir/MLYr/y+3LP8vty3/L7gu/y64MP8uuTD/Lrky/y66
+ M/8tujP/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/yy1MP8zuDf/1/HY////
+ //////////////////////////////////////////////////+P6LT/HMJH/y61MP8ttjL/LbYy/y22
+ Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22
+ Mv8ttjL/LbYy/y22Mv8ttjL/LrUw/xzCR/+R6bb/////////////////////////////////////////
+ /////////////9fx2P8zuDf/LLUw/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LrUw/yq7
+ PP8X23z/Fd6C/xXegv8V3oP/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S6JD/Bk0x/wAA
+ AP8AAAD/AAAA/wAAAP8AAAC0AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAOUAAAD/AAAA/wAAAP8AAAD/Hm0W/zO7KP8xtSf/MbUp/zC2
+ Kf8wtir/MLcs/y+3LP8vty3/L7gv/y64MP8uuTH/Lrky/y25M/8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23
+ NP8ttzT/Lbc0/y23NP8ttzT/KLUw/0/DVv/5/fr/////////////////////////////////////////
+ ////////6fvx/zbOZv8ptzP/LbY0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23
+ NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttjT/Kbcz/zjO
+ aP/q+/H/////////////////////////////////////////////////+f36/0/DVv8otTD/Lbc0/y23
+ NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/LbYy/x/OY/8V34P/Fd6B/xXeg/8V3oP/FN+F/xTf
+ hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xPrkv8Lilb/AAAA/wAAAP8AAAD/AAAA/wAAAOUAAAASAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3AAAA/QAA
+ AP8AAAD/AAAA/wEFAf8pkx7/M7gm/zG0Jv8xtSj/MbUp/zC2Kf8wtiv/MLcs/y+3LP8vuC7/L7gv/y64
+ MP8uuDH/LLc1/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8ktS7/ddB7////
+ //////////////////////////////////////////////////+k673/Ibw8/yy2Nf8stzb/LLc2/yy3
+ Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3
+ Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stjX/Ibw8/6Trvf//////////////////////////////
+ ////////////////////////ddB7/yS1Lv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3
+ Nv8ttjT/JsBH/xbdf/8W3YH/Fd6B/xXegv8V34T/FN+F/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+eP/w+6
+ dP8BBgT/AAAA/wAAAP8AAAD/AAAA/QAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGUAAAD/AAAA/wAAAP8AAAD/CBwF/zCrIv8ytCX/MrQl/zG0
+ Jv8xtSf/MbUo/zC2Kf8wtir/MLYr/y+3LP8vty3/L7gu/y64Mv8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4
+ OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yO1MP+Y3J7/////////////////////////////////////////
+ /////////////2TWg/8ktjP/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4
+ OP8otzX/JbYy/yW2Mv8otzX/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4
+ OP8ktjP/ZNaD//////////////////////////////////////////////////////+Y3J7/I7Uw/yu3
+ OP8rtzj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruTn/G9Vw/xXegf8W3YD/Fd6B/xXe
+ gv8V3oP/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T44z/EtiF/wMhFf8AAAD/AAAA/wAAAP8AAAD/AAAAZQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAA
+ AP8AAAD/AAAA/wAAAP8ROgv/M7Yi/zK0JP8ysyT/MbQl/zG0Jv8xtSf/MbUp/zC2Kf8wtir/MLcs/y+3
+ LP8vty3/Lbg1/yu5O/8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/Jrc3/7Hl
+ t//////////////////////////////////////////////////x/PX/P8da/yi3N/8ruTr/K7k6/yu5
+ Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8mtzb/Kbg4/0fCVf9kzG//ZMxv/0fCVf8puDj/Jrc2/yu5
+ Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yi3N/8/x1r/8fz1////////////////////
+ /////////////////////////////7Hlt/8mtjf/K7g6/yu4Ov8ruDr/K7k6/yu5Ov8ruTr/K7k6/yu5
+ Ov8ruTr/K7k6/yy4N/8hylv/Ft2B/xbdgP8W3YD/Fd6B/xXeg/8V3oP/FN+F/xTfhv8U4Ij/FOGJ/xPi
+ iv8T5o7/Bkot/wAAAP8AAAD/AAAA/wAAAP8AAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAA/wAAAP8AAAD/AAAA/xlYEP81uSP/M7Ii/zKz
+ I/8ysyT/MrQl/zG0Jv8xtSf/MbUo/zC1Kf8wtir/MLYs/y+3Lf8ruTn/Kro9/yq6PP8qujz/Kro8/yq6
+ PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6PP8ouTv/venD////////////////////////////////////
+ /////////////9335P81wEr/KLk6/yq6PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6PP8qujz/JLg3/03F
+ XP+86cL/8vv0////////////8vv0/73qwv9NxVz/JLg3/yq6PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6
+ PP8qujz/KLk6/zXASv/d9+T/////////////////////////////////////////////////venD/yi4
+ O/8quTz/Krk8/yq5PP8quTz/Kro8/yq6PP8qujz/Kro8/yq6PP8qujz/K7k7/ybASf8Y233/F9yA/xbd
+ f/8W3YD/Fd6B/xXegv8V3oT/Fd+F/xTfhv8U4If/FOCI/xTrkP8JcEX/AAAA/wAAAP8AAAD/AAAA/wAA
+ ALgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAA
+ ANwAAAD/AAAA/wAAAP8AAAD/I3cV/zW3If8zsiH/M7Ii/zKzI/8ysyT/MrQl/zG0Jv8xtSf/MbUo/zC2
+ Kf8wtir/L7cv/ym7Pv8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8puz7/KLs9/yq7
+ P//P8NT/////////////////////////////////////////////////0PLX/y29Q/8ouz3/Kbs+/ym7
+ Pv8puz7/Kbs+/ym7Pv8puz7/Kbs//yK4OP9YyWj/6vjs/////////////////////////////////+r4
+ 7P9YyWj/Irg4/ym7P/8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8ouz3/Lb1D/9Dy1///////////////
+ ///////////////////////////////////P79T/Kro//yi6Pf8puj7/Kbo+/ym6Pv8puj7/Kbs+/ym7
+ Pv8puz7/Kbs+/ym7Pv8puz7/KbxA/xrWc/8X3X//F9x//xbdgP8W3YD/Fd6B/xXegv8V3oP/Fd+F/xTf
+ hv8U4Ij/FOeN/w2VW/8AAAD/AAAA/wAAAP8AAAD/AAAA3AAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAA6wAAAP8AAAD/AAAA/wACAP8qjxj/NbUg/zOx
+ IP8zsiH/MrIi/zKzJP8ysyT/MbQl/zG0Jv8xtSf/MbUp/zC2Kf8tuDP/KbtB/ym7QP8pu0D/KbtA/ym7
+ QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8pu0D/Jbs+/7rqwv//////////////////////////////
+ ///////////////////L79H/KLtA/yi7QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8juTv/RsVa/+L2
+ 5v///////////////////////////////////////////+L25v9GxVr/I7k7/ym7QP8pu0D/KbtA/ym7
+ QP8pu0D/KbtA/yi7QP8ou0D/y+/R/////////////////////////////////////////////////7rq
+ w/8luT3/Kbo//ym6P/8puj//Kbo//ym6QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8puz//Hs5l/xbc
+ f/8X3H7/Ftx//xbdgP8W3YD/Fd6B/xXeg/8V3oP/FN+G/xTfhv8U5Yv/ELVu/wACAf8AAAD/AAAA/wAA
+ AP8AAADrAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ADAAAAD2AAAA/wAAAP8AAAD/BA0C/y6bGv81sx7/NLEf/zOxIP8zsiH/M7Ii/zKzI/8ysyT/MrQl/zG0
+ Jv8xtSf/MbUo/yu5OP8ovET/KLxD/yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yi8
+ Q/8gujz/etmO/////////////////////////////////////////////////4vdnf8gujz/KLxD/yi8
+ Q/8ovEP/KLxD/yi8Q/8ovEP/I7s//znBUf/V8tr/////////////////////////////////////////
+ /////////////9Xy2v85wVH/I7s//yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yC5PP+L3Zz/////////
+ ////////////////////////////////////////etiO/yC5O/8ou0L/KLtC/yi7Qv8ou0L/KLtC/yi7
+ Qv8ou0P/KLxD/yi8Q/8ovEP/KLxD/ym7QP8iyFj/F9t+/xfbff8X3H7/F9x//xbdf/8W3YD/Fd6B/xXe
+ gv8V3oT/Fd+F/xTjiP8SxXf/AREK/wAAAP8AAAD/AAAA/wAAAPUAAAAvAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAP4AAAD/AAAA/wAAAP8HGAT/MaQa/zWy
+ Hv80sR7/NLEf/zOxIP8zsiH/M7Ii/zKzJP8ysyT/MrQl/zG0Jv8xtSj/Kbs+/yi9Rv8ovUX/KL1F/yi9
+ Rf8ovUX/KL1F/yi9Rf8ovUX/KL1F/yi9Rf8ovUX/KL1F/ya8Q/8twk3/yPDR////////////////////
+ ///////////////////R8tj/NMVT/ya8Q/8ovUX/KL1F/yi9Rf8ovUX/KL1F/yW8Qv8uv0r/wuzK////
+ /////////////////////////////////////////////////////////////8Lsyv8uv0r/JbxC/yi9
+ Rf8ovUX/KLxE/yi8RP8ovET/JrtC/zTEU//R8tj//////////////////////////////////////8jw
+ 0f8twkz/JrtC/yi8RP8ovET/KLxE/yi8RP8ovET/KLxE/yi8RP8ovEX/KL1F/yi9Rf8ovUX/KLxD/yTD
+ UP8Y2nr/F9t8/xfbff8X3H7/F9x//xbdgP8W3YD/Fd6B/xXegv8V3oP/FeGG/xLQff8DHxP/AAAA/wAA
+ AP8AAAD/AAAA/gAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABQAAAA/wAAAP8AAAD/AAAA/wohBf8zqxr/NLEc/zSwHf80sR7/M7Ef/zOxIP8zsiH/MrIi/zKz
+ I/8ysyT/MbQl/zG1KP8ovET/J71H/ye9Rv8nvUb/J71G/ye9Rv8nvUb/J71G/ye9Rv8nvUb/J71G/ye9
+ Rv8nvUb/J71H/yO9Q/87yFf/teq///v+/P/////////////////8/v3/vu3H/z/JWv8ivkP/J71H/ye9
+ Rv8nvUb/J71G/ye9R/8lvUX/Jr1G/6/nu///////////////////////////////////////////////
+ /////////////////////////////6/nu/8mvUb/JbxF/ya9Rv8mvEX/J7xF/ye8Rf8nvEb/Ir1C/z/J
+ Wv++7cf//P79//////////////////v+/P+16r//O8hX/yO9Q/8nvEb/J7xF/ye8Rf8nvEX/J7xF/ye8
+ Rf8nvEX/J7xF/ye8R/8nvUb/J71G/ye9Rv8nvUX/JcBM/xjYd/8Y2nv/F9t8/xfbff8X3H7/Ftx//xbd
+ gP8W3YD/Fd6B/xXegv8V34T/FNmC/wQqGv8AAAD/AAAA/wAAAP8AAAD/AAAATgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAD/AAAA/wAAAP8AAAD/DCoG/zay
+ G/81rxv/NLAc/zSwHf80sR7/NLEf/zOxIP8zsiH/M7Ii/zKzI/8ysyP/MLYr/ye+R/8mvkn/Jr5J/ya+
+ Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5J/ya+Sf8mvkn/J75J/yO/RP8nwUL/WM9s/4jc
+ lv+a4ab/jN6Z/1nPbf8pwkT/I79D/ye+Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5I/yK9Rf+Y4Kn/////////
+ /////////////////////////////////////////////////////////////////////////////5jg
+ qP8hvET/Jb1H/yW9SP8lvUj/Jr1I/ya9SP8nvUj/I75D/ynCRP9Zz23/jN6Z/5rhpv+I3Jb/WM9s/yfB
+ Qv8jvkP/J71I/ya9SP8mvUj/Jr1I/ya9SP8mvUj/Jr1I/ya9SP8mvUj/Jr1I/ya9Sf8mvUn/Jr5J/ya+
+ SP8mwEv/G9Vx/xjae/8Y2nv/F9t8/xfbff8X3H7/F9x//xbdf/8W3YD/Fd6B/xXegv8W4ob/BTUg/wAA
+ AP8AAAD/AAAA/wAAAP8AAABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAVgAAAP8AAAD/AAAA/wAAAP8NKwb/NrMZ/zWvGv81rxv/NLAc/zSwHf80sR7/NLEf/zOx
+ IP8zsiH/M7Ii/zKzIv8vti7/Jr9L/ya/S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/
+ S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/R/8jvj7/IL05/yK+Ov8gvTn/Ir4+/ya/R/8mv0v/Jr9L/ya/
+ S/8mv0v/Jr9L/ya/Sv8evUT/hNuZ////////////////////////////////////////////////////
+ /////////////////////////////////////////////4TamP8dvEP/Jb5J/yW+Sv8lvkr/Jr5K/ya+
+ Sv8mvkr/Jr5G/yK+Pv8gvTn/Ir46/yC9Of8jvj7/Jr5H/ya+Sv8mvkr/Jr5K/ya+Sv8mvkr/Jr5K/ya+
+ Sv8mvkr/Jr5K/ya+Sv8mvkr/Jr5K/ya+S/8mvkv/Jr9L/ya/S/8c0mz/GNp6/xjaev8Y2nv/F9t8/xfb
+ ff8X3H7/F9x//xbdgP8W3YD/Fd6B/xbkhv8FNyH/AAAA/wAAAP8AAAD/AAAA/wAAAFcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfAAAA/wAAAP8AAAD/AAAA/w4r
+ Bv83shj/Na4Z/zWvGv81rxv/NLAc/zSwHf80sR7/M7Ef/zOxIP8zsiH/M7Ih/y63MP8lwE7/JcBN/yXA
+ Tf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXA
+ Tf8mwEv/JsBL/yXAS/8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/Hb5G/3DVif/5/fr/////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////+f36/2/Uif8cvET/JL5L/yS+S/8kvkv/Jb5L/yW+TP8lvkz/Jb9M/yW/S/8mv0r/Jr9L/yW/
+ TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/
+ Tf8lv03/Jr9L/x3Raf8Y2nn/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgP8W3YD/FuSF/wU3
+ If8AAAD/AAAA/wAAAP8AAAD/AAAAVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAFsAAAD/AAAA/wAAAP8AAAD/DSsF/zexF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSw
+ Hf80sR7/NLEf/zOxIP80sR//Lrcy/yPCUf8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTB
+ T/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTB
+ T/8kwU//JcFP/xy+Sf9b0Hr/8vv1////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////8vv0/1rPef8bvEb/JL9N/yO/
+ Tf8jv03/JL9N/yS/Tv8kv07/JL9O/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTA
+ Tv8kwE7/JMBO/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTAT/8lv03/HdBo/xnZeP8Z2Xj/GNl5/xja
+ ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdf/8X44T/BTcg/wAAAP8AAAD/AAAA/wAAAP8AAABXAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVwAAAP8AAAD/AAAA/wAA
+ AP8NKwX/N7EW/zatF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSwHf80sR7/NLEf/zSxHv8utzL/I8JT/yTB
+ Uf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTB
+ Uf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8dwEz/Scxu/+b46///////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////5vjr/0jKbf8cvUr/I79P/yO/T/8jv0//JL9P/yS/UP8kv1D/JMBQ/yTA
+ UP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTA
+ UP8kwFD/JMBQ/yS/T/8dz2n/Gdl4/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xfj
+ g/8FNyD/AAAA/wAAAP8AAAD/AAAA/wAAAFcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABYAAAA/wAAAP8AAAD/AAAA/w4rBf84sRX/Nq0W/zatF/82rhj/Na4Z/zWv
+ Gv81rxv/NLAc/zSwHf80sR7/NLAd/y23M/8iw1X/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPC
+ U/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPC
+ U/8jwlP/HsFP/zrIZP/Z9OH/////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////2fTh/zjG
+ Y/8dv03/IsBR/yLAUf8jwFH/I8BR/yPAUv8jwFL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPB
+ Uv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8BR/x3PaP8Z2Hb/Gdh2/xnZ
+ d/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F+KC/wU3IP8AAAD/AAAA/wAAAP8AAAD/AAAAWAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEsAAAD/AAAA/wAA
+ AP8AAAD/DCYE/zetE/83rRX/Nq0W/zatF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSwHf81sBz/Lrcy/yLE
+ V/8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPD
+ Vf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/x/CUv8uxl3/yfDV////////////////////
+ /////////////////////////////////////////////8rty//K7cv/////////////////////////
+ ////////////////////////////////////////ye/V/y3EW/8ewFD/IsFT/yLBU/8iwVP/I8FT/yPB
+ VP8jwVT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPC
+ VP8jwlT/I8JU/yPCVP8jwVP/Hc9o/xrXdf8Z13X/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfc
+ fv8X3X//BTEd/wAAAP8AAAD/AAAA/wAAAP8AAABLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAPQAAAPwAAAD/AAAA/wAAAP8JHgP/NaQS/zetFP82rBX/Nq0W/zat
+ F/82rhj/Na4Z/zWvGv81rxv/NLAc/zWvG/8utzL/IcVZ/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLE
+ V/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLE
+ V/8gw1X/JMVZ/7brx///////////////////////////////////////////////////////////////
+ ///a8tn/QL0//0C9P//a8tn/////////////////////////////////////////////////////////
+ ////////tevG/yPDV/8fwVP/IcJV/yHCVf8hwlX/IsJV/yLCVv8iwlb/IsNW/yLDVv8iw1b/IsNW/yLD
+ Vv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLCVf8dz2f/Gtdz/xrW
+ dP8Z13X/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9x9/xbSeP8EJhX/AAAA/wAAAP8AAAD/AAAA/AAA
+ AD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAA8wAA
+ AP8AAAD/AAAA/wcTAv8ynBD/OK0T/zesE/83rBT/Nq0W/zatF/82rRf/Na4Z/zWvGv81rxv/Na8a/y+2
+ Lv8hxVr/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHF
+ Wf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IMRY/x7EVv+i5rn/////////////////////////
+ ////////////////////////////////////////5/bm/1HBS/8huz7/Ibs+/1HBS//n9ub/////////
+ ////////////////////////////////////////////////////////oeW4/x3CVf8fwlb/IMNX/yDD
+ V/8hw1f/IcNX/yHCWP8hw1j/IcNY/yHEWP8hxFj/IcRY/yHEWP8hxFj/IcRY/yHEWP8hxFj/IcRY/yHE
+ WP8hxFj/IcRY/yHEWP8hxFj/IcNY/x3Qaf8a1nH/GtZy/xrWdP8a13X/Gdh2/xnYd/8Z2Xf/GNl5/xja
+ ev8Y3X3/Fcdx/wMZD/8AAAD/AAAA/wAAAP8AAADzAAAAKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAADqAAAA/wAAAP8AAAD/AgcB/zCSDv84rhL/N6sT/zes
+ E/82rBX/Nq0W/zatF/82rhj/Na4Z/zWvGv81rxn/MLQq/yHFWv8hxVv/IcVb/yHFW/8hxVv/IcVb/yHF
+ W/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yDF
+ Wv8Zw1X/jOGq//////////////////////////////////////////////////////////////////L6
+ 8f9hxVj/Ibk2/x/CWP8fwlj/Ibk2/2HFWP/y+vH/////////////////////////////////////////
+ ////////////////////////jOCp/xjBU/8fw1j/IMNZ/yDDWf8gw1n/IcNZ/yHDWv8hw1r/IcRa/yHE
+ Wv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxVv/HNFq/xvV
+ cP8a1XH/GtZy/xrWdP8Z13X/Gdh2/xnYd/8Z2Xj/GNl5/xjefP8Uumn/AQkG/wAAAP8AAAD/AAAA/wAA
+ AOoAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAA
+ ANcAAAD/AAAA/wAAAP8AAAD/K4IM/zmvEf83qxL/N6sT/zesFP82rBX/Nq0W/zatF/82rhj/Na4Z/zWv
+ Gf8ysiL/IcRZ/yDGXv8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDG
+ Xf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/F8RX/3Xcm//9//7/////////////////////////
+ ///////////////////////////////////5/fn/dctp/yO2MP8fwlj/H8NZ/x/DWv8fw1n/I7Yx/3XL
+ af/5/fn////////////////////////////////////////////////////////////9/v7/ddqa/xfC
+ Vf8fxFv/H8Rb/x/EW/8fxFv/IMRb/yDEXP8gxFz/IMVc/yDFXP8gxVz/IMVc/yDFXP8gxVz/IMVc/yDF
+ XP8gxVz/IMVc/yDFXP8gxVz/IMVc/yDGXf8b0mz/G9Vv/xvVcP8a1XH/GtZy/xrWdP8Z13X/Gdh2/xnZ
+ d/8Z2Xj/Gd98/xKlXP8AAAD/AAAA/wAAAP8AAAD/AAAA1QAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAP8AAAD/AAAA/wAAAP8iaAn/OrAQ/ziq
+ EP84qxH/N6sT/zesE/83rBT/Nq0W/zatF/82rRf/Na4Y/zSvHP8jw1X/H8dh/x/HX/8fx1//H8df/x/H
+ X/8fx1//H8df/x/HX/8fx1//H8df/x/HX/8fx1//H8df/x/HX/8fx1//H8df/yDHX/8gx1//H8Zf/xfB
+ Vf9g1Ir/9fz4/////////////////////////////////////////////////////////////v/+/4rR
+ fP8mtCn/H8JY/x7DW/8ew1r/HsRb/x7EW/8fw1n/JrQq/4rRfP/+//7/////////////////////////
+ ///////////////////////////////////1/Pj/YdaM/xbDV/8fxV3/H8Vd/x/FXf8fxV3/H8Ve/x/F
+ Xv8fxV7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8hg/xzT
+ bP8b1G7/G9Rv/xvVb/8b1XD/GtZy/xrWdP8a13X/Gdh2/xnYd/8a4Xz/D4VK/wAAAP8AAAD/AAAA/wAA
+ AP8AAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAACHAAAA/wAAAP8AAAD/AAAA/xhJBv87sQ//OKoQ/ziqEP83qxL/N6sT/zesE/82rBX/Nq0W/zat
+ F/82rhf/Na4Y/yXATP8eyWP/H8hh/x/IYf8fyGH/H8hh/x/IYf8fyGH/H8hh/x/IYf8fyGH/H8hh/x/I
+ Yf8fyGH/H8hh/x/IYf8fyGH/HsZf/x7EXP8Vv1P/Tc16/+v58P//////////////////////////////
+ //////////////////////////////////+c147/KrIk/x/CVf8dxF3/HsRc/x7EXP8exFz/HsRc/x3F
+ Xv8fw1f/KrIk/5zXjv//////////////////////////////////////////////////////////////
+ ///s+vH/TtGB/xfEWf8fxl//H8Zf/x/GX/8fxl//H8Zf/x/GX/8fxl//H8df/x/HX/8fx1//H8dg/x/H
+ YP8fx2D/H8dg/x/HYP8fx2D/H8dg/x/HYP8eymP/HNNs/xzTbP8b1G7/G9Rv/xvVb/8a1XH/GtZy/xrW
+ dP8Z13X/Gdh2/xrhfP8KXDL/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4AAAD/AAAA/wAAAP8AAAD/Dy0D/zmp
+ Df84qg//OKoQ/zirEf83qxL/N6sT/zesFP82rBX/Nq0W/zatF/83rRT/Kbs//x3JZ/8eyGP/Hshj/x7I
+ Y/8eyGP/Hshj/x7IY/8eyGP/Hshj/x7IY/8eyGP/Hslk/x7JZP8eyGP/HcZg/xzCW/8cwVn/Fb5U/zrI
+ bv/h9+n/////////////////////////////////////////////////////////////////suCm/zCx
+ I/8fwFL/HcRf/x3EXf8dxF7/HcRe/x3EXv8dxF7/HcVe/x3GYP8fwlT/MLIj/7Lgpv//////////////
+ ///////////////////////////////////////////////////h9+r/PM52/xjFXf8exmH/HsZh/x7G
+ Yf8exmH/HsZh/x7GYf8ex2H/Hsdh/x7HYf8ex2L/Hsdi/x7HYv8ex2L/Hsdi/x7HYv8ex2L/Hsdi/x3M
+ Zv8c02v/HNNs/xzTbf8b1G7/G9Rv/xvVcP8a1XH/GtZy/xrWdP8Z2HX/Gdh2/wY5H/8AAAD/AAAA/wAA
+ AP8AAAD/AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAALwAAAPsAAAD/AAAA/wAAAP8FDwH/NZwL/zqrDf84qQ7/OKoQ/ziqEP84qxH/N6sT/zes
+ E/83rBT/Nq0W/zesFf8vtS3/Hslm/x7JZf8eyWX/Hsll/x7JZf8eyWX/Hsll/x7JZf8eyWX/Hspm/x7J
+ Zf8dx2P/HMRf/xvBWv8bwFn/G8BZ/xa/Vv8txmf/0PLd////////////////////////////////////
+ /////////////////////////////8PmuP84sSL/Hr9N/xzFYf8dxF//HcVf/x3FX/8dxV//HcVf/x3F
+ YP8dxWD/HcZg/xzHY/8fwE//OLEj/8PmuP//////////////////////////////////////////////
+ ///////////////////R89//MMxv/xrGYP8ex2P/Hsdj/x7HY/8ex2P/Hsdj/x7HY/8ex2P/Hshj/x7I
+ Y/8eyGT/Hshk/x7IZP8eyGT/Hshk/x7IZP8eyGT/Hc9n/x3Sav8c0mr/HNNs/xzTbf8b1G7/G9Rv/xvV
+ b/8b1XD/GtZy/xrZdf8Xx2z/AhMK/wAAAP8AAAD/AAAA/wAAAPsAAAAvAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAA3gAAAP8AAAD/AAAA/wAB
+ AP8rgAn/O60N/zmpDf84qg//OKoQ/ziqEP83qxL/N6sT/zesE/82rBX/NqwV/zSvHf8fx2D/Hcpo/x3K
+ Z/8dymf/Hcpn/x3KZ/8dymj/Hcpo/x3JZ/8cx2P/G8Nd/xrAWf8awFn/GsBa/xrAWv8XwFj/IMNg/73t
+ 0P/////////////////////////////////////////////////////////////////V7c3/RLIo/x+8
+ Rf8bxmP/HMVg/xzFYf8cxWH/HMZh/xzGYf8cxmH/HMZh/xzGYv8cxmL/HMdi/xvIZv8fvUj/RLMn/9Xt
+ zf////////////////////////////////////////////////////////////////+979L/JMlq/xrH
+ Y/8dyGX/Hchl/x3IZf8dyGX/Hchl/x3IZf8dyGX/Hcll/x3JZf8dyWb/Hclm/x3JZv8dyWb/Hclm/x3K
+ Zv8d0Gf/HdFo/x3Sav8c0mv/HNNs/xzTbP8b1G7/G9Rv/xvVb/8a1XH/G9x1/xOjWP8AAgH/AAAA/wAA
+ AP8AAAD/AAAA3gAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAACsAAAA/wAAAP8AAAD/AAAA/x5WBf88rwv/OagM/zmpDv84qg//OKoQ/zir
+ Ef83qxL/N6sT/zesFP82rBX/NqwU/yTBTv8bzGz/HMtp/xzLaf8cy2r/HMtq/xzJZ/8axWH/GcFc/xnA
+ Wf8ZwFr/GcFa/xnBW/8ZwVv/F8Ba/xjAW/+q6MP/////////////////////////////////////////
+ ////////////////////////4/Pd/1G1MP8guTz/GcZl/xrFYv8bxmL/G8Zi/xvGYv8bxmL/G8Zj/xvH
+ Y/8bx2P/G8dj/xvHZP8bx2T/G8dk/xrJaP8huj7/UbUw/+Pz3P//////////////////////////////
+ //////////////////////////////////+r68f/G8lm/xrIZv8cyWf/HMln/xzJZ/8cyWf/HMln/xzJ
+ Z/8cyWf/HMpn/xzKZ/8cymj/HMpo/xzKaP8cymj/Hcxn/x7RZv8d0Wj/HdFo/xzSav8c0mv/HNNs/xzT
+ bf8b1G7/G9Rv/xvVcP8b3XX/DW47/wAAAP8AAAD/AAAA/wAAAP8AAACsAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAD/AAAA/wAA
+ AP8AAAD/DSgC/zqnCv85qAv/OagM/zmpDf84qQ7/OKoQ/ziqEP84qxH/N6sT/zesE/83qxL/LLg1/xvN
+ bv8czGz/HMtr/xvIZv8Zw1//GL9a/xi/Wf8Yv1r/GcBa/xnBW/8ZwVz/GcJc/xjBXP8UwFn/kuKz////
+ /////////////////////////////////////////////////////////////+z36P9guTz/IrYy/xnG
+ Zv8axmT/GsZk/xrGZP8ax2T/G8dl/xvHZf8bx2T/G8dm/xvIZv8byGb/G8hm/xvIZv8byGb/G8ln/xrJ
+ af8itzT/YLo8/+z36P//////////////////////////////////////////////////////////////
+ //+T5rj/Fsll/xvJaP8cymr/HMpq/xzKav8cymr/HMpq/xzKav8cymr/HMpq/xzLaf8cy2r/HMtr/xzL
+ a/8dzmb/HtBl/x7RZ/8d0Wf/HdFo/x3Sav8c0mr/HNNs/xzTbf8b1G7/G9Vv/xvVb/8GMhv/AAAA/wAA
+ AP8AAAD/AAAA/wAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAPUAAAD/AAAA/wAAAP8DCQH/MY4I/zurCv85qAv/OagM/zmp
+ Df84qg//OKoQ/ziqEP83qxL/N6sT/zisEv80rx3/Hchi/xnGZf8YwVz/F75Y/xe+Wf8Xv1r/F79a/xi/
+ W/8YwFv/GMBb/xjBXf8YwV3/EMBY/3vco///////////////////////////////////////////////
+ ///////////////////3+/X/c8BN/ySxJ/8Zx2X/GcZl/xnGZP8axmX/GsZl/xrGZf8ax2b/Gsdm/xrH
+ Zv8ax2b/Gshn/xrIZ/8ayGf/Gshn/xrIZ/8ayGf/Gslp/xrJaf8ksyr/c8BN//f79f//////////////
+ //////////////////////////////////////////////////994ar/E8hl/xvKav8bymv/G8pr/xvK
+ a/8bymv/G8pr/xvKa/8bymv/G8tr/xvLa/8by2z/G8tr/x7PZP8e0GT/HtBl/x7RZ/8d0Wj/HdFo/x3S
+ av8c0mv/HNNs/xzTbf8c2HD/F7Ve/wELBf8AAAD/AAAA/wAAAP8AAAD1AAAAKgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAyQAA
+ AP8AAAD/AAAA/wAAAP8hYAX/PK4K/zqoCv85qAv/OagM/zmpDv84qg//OKoQ/zirEf83qxH/NakS/zKj
+ D/8hsjz/Fb9b/xa/Wf8Xv1r/F79a/xe/W/8XwFv/F8Bc/xjAXf8YwV3/GMFe/w/AWP9j1pP/+P36////
+ /////////////////////////////////////////////////////////P78/4bGYv8orh3/GcZk/xjH
+ Z/8Zx2X/Gcdm/xnHZv8Zx2f/Gsdn/xrHaP8ayGj/Gsho/xrIaP8ayGj/Gshp/xrJaf8ayWn/Gslp/xrJ
+ af8ayWr/Gcpr/xrJaf8prx//hsZi//z++///////////////////////////////////////////////
+ //////////////j++/9k3Jz/Esln/xvLbf8by23/G8tt/xvLbf8by23/G8tt/xvLbf8by23/G8xt/xvM
+ bv8czGj/H89i/x/PY/8e0GX/HtBl/x7RZ/8d0Wj/HdFo/xzSav8c0mv/HNNr/x3bcf8Pdz7/AAAA/wAA
+ AP8AAAD/AAAA/wAAAMkAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7AAAA/wAAAP8AAAD/AAAA/w4oAv86pwj/OqgJ/zqo
+ Cv85qAv/OakM/zmpDf83qQ7/NKQO/zCfDf8unQ7/Lp0N/ymlHv8Wvln/Fr9b/xa/W/8Wv1z/Fr9d/xbA
+ Xf8WwV7/F8Fe/xfBX/8Ov1n/UdGH//L79v//////////////////////////////////////////////
+ //////////////////+Yznf/LKoV/xnEYf8Xx2n/GMdn/xjIaP8YyGj/GMhp/xjIaf8YyGn/Gchq/xnI
+ av8ZyWr/Gclq/xnJa/8ZyWv/Gclr/xnKa/8Zymz/Gcps/xnKbP8Zymz/GMtu/xrIZ/8sqxb/mM52////
+ //////////////////////////////////////////////////////////////L89/9S2JL/Ecpp/xrM
+ b/8azHD/Gsxw/xrMcP8azHD/Gsxw/xrMcP8azHD/Gsxv/x7NY/8fzmD/H85i/x/PY/8e0GT/HtBl/x7R
+ Z/8d0Wf/HdFo/x3Sav8c02v/HNJr/wcwGf8AAAD/AAAA/wAAAP8AAAD/AAAAewAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ ACoAAAD1AAAA/wAAAP8AAAD/AQQA/y6DBv88qwn/OqgJ/zqoCv83pQr/MqAL/y+bCv8tmgv/LZsM/y6c
+ Df8unQ3/Lp4O/xy1RP8UwF7/Fb9c/xW/Xf8Vv13/FcBd/xXBX/8WwV//D8Bb/z7Ne//l+O3/////////
+ ////////////////////////////////////////////////////////q9aN/zOoDv8aw1v/F8hr/xfH
+ aP8Xx2j/F8hp/xfIaf8XyGr/F8hq/xjIav8YyGr/GMhr/xjJa/8YyWv/GMlr/xjJbP8YyWz/GMps/xjK
+ bP8Yym3/GMpt/xjKbf8Yym3/GMxx/xvGYf8zqQ//q9aN////////////////////////////////////
+ /////////////////////////////+X67/9A1Yn/Ests/xnMcP8ZzHH/Gcxx/xnMcf8ZzHH/Gcxx/xnM
+ cv8bzGv/IM1e/x/OX/8fzmH/H89j/x/PY/8e0GX/HtBl/x7RZ/8d0Wj/HdFo/x3Xbf8WplT/AQUC/wAA
+ AP8AAAD/AAAA/wAAAPUAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAALkAAAD/AAAA/wAAAP8AAAD/GEMD/zyr
+ B/82oQj/MZsH/y6YB/8tlwj/LpgJ/y6aCv8tmwr/LpsM/y6cDf8vnAv/J6Yi/xW/XP8UwF3/FcBe/xXA
+ Xv8VwF//FcFg/xHAXf8ryHD/1/Tk////////////////////////////////////////////////////
+ /////////////8Dgqf87pw3/G8BU/xbIbP8XyGn/F8hq/xfIav8XyGv/F8lr/xfJa/8XyWv/F8ls/xjJ
+ bP8YyWz/GMlt/xjKbf8Yym3/GMpt/xjKbv8Yym7/GMtu/xjLb/8Yy2//GMtv/xjLb/8Yy2//F81z/xzE
+ Wv87pw3/wOCp/////////////////////////////////////////////////////////////////9f3
+ 5/8u0oD/Fcxw/xnNc/8ZzXP/Gc1z/xnNc/8ZzXT/Gc1z/x7MY/8gzF3/IM1e/x/OX/8fzmH/H89i/x7P
+ ZP8e0GX/HtBl/x7RZ/8d0Wj/Hths/wtVK/8AAAD/AAAA/wAAAP8AAAD/AAAAuQAAAAIAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAWgAAAP8AAAD/AAAA/wAAAP8EDQD/KoYE/y6WBf8tlAb/LZYG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmwr/LZsM/y6cDP8vnAz/HbRB/xPCYf8UwV//FMFg/xTBYP8UwWH/EcFe/6zpx///////////////
+ ///////////////////////////////////////////////////O57z/Q6kQ/xy9S/8VyW7/Fshr/xbI
+ a/8WyWz/Fsls/xbJbP8WyW3/Fslt/xbJbv8WyW7/Fspu/xfKb/8Xym//F8pv/xfLcP8Xy3D/F8tw/xfL
+ cP8Xy3D/F8xx/xfMcf8XzHH/F8xx/xfMcv8XzHL/Fs92/x3BUf9DqBH/zua8////////////////////
+ /////////////////////////////////////////////63uzv8UzXP/GM51/xjOdf8Yznb/GM52/xjO
+ d/8bzWz/Ictb/yDLXf8gzF7/IM1e/x/OX/8fzmD/H89i/x/PY/8e0GT/HtBl/x7UaP8aulz/AhEI/wAA
+ AP8AAAD/AAAA/wAAAP8AAABaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAA2QAAAP8AAAD/AAAA/wAA
+ AP8XTAL/L5oE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y+cC/8qoxr/Fb9a/xPB
+ Yf8TwWD/E8Fh/xDBYP8yynb/8fv1////////////////////////////////////////////////////
+ ////////2+7P/1CsG/8euUD/E8lw/xXIbP8VyWz/Fclt/xXJbf8Vym7/Fcpu/xXKbv8Vym//Fcpv/xXK
+ b/8Wym//Fspw/xbLcP8Wy3H/Fstx/xbLcf8WzHL/Fsxy/xbMcv8WzHL/Fs1z/xbNc/8WzXP/Fs1z/xbN
+ dP8WzXT/Fc94/x+9Rv9PrBv/2+7P////////////////////////////////////////////////////
+ ////////8fz3/zTViP8TznX/F893/xfPd/8Xz3j/F892/x/LXv8gylr/Ictc/yDLXf8gzF7/IM1e/x/O
+ X/8fzmH/H89j/x/PY/8e0GX/H9lq/w9sNf8AAAD/AAAA/wAAAP8AAAD/AAAA2QAAAA4AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAB5AAAA/wAAAP8AAAD/AAAA/wUSAP8phwP/LpYE/y6UBv8tlQb/LZYG/y6X
+ B/8tmAj/LpgK/y6ZCv8tmwr/LZsM/y+bCv8hrTP/EsJj/xPBYf8TwmL/DMBe/0vRiP/9////////////
+ /////////////////////////////////////////////+n04f9csSf/ILQ1/xTJcP8VyW3/Fclt/xXI
+ bf8VyW3/Fcpu/xXJbv8Vym//Fctv/xXLcP8Vy3D/Fctw/xbLcP8WynH/Fstx/xbMcv8WzHL/Fstz/xbM
+ c/8WzXP/Fs10/xbNdP8WzHT/Fs10/xbOdf8WznX/Fs51/xbOdf8Wznb/FdB6/yC5O/9csSf/6fTh////
+ ///////////////////////////////////////////////////9////TtuZ/xHOdP8X0Hn/F9B4/xfQ
+ ev8czGb/IclW/yDKWf8gylr/Ictc/yHLXf8gzF7/IM1e/x/OX/8fzmH/H85i/x/SZf8bvlz/AxkM/wAA
+ AP8AAAD/AAAA/wAAAP8AAAB2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAADmAAAA/wAA
+ AP8AAAD/AAAA/xZIAf8vmAP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwv/LZsL/y2d
+ Dv8YuU3/EcNl/xLCY/8NwWH/Pst6//j89///////////////////////////////////////////////
+ ///y+e3/bbg7/yOxKv8TyXD/FMhu/xTIbv8UyW//FMlv/xTJb/8UynD/FMpw/xTKcf8Uy3H/FMty/xTL
+ cv8Uy3L/FMtz/xXLc/8Vy3P/Fcx0/xXMdP8VzHT/Fcx1/xXNdf8VzXX/Fc12/xXNdv8VzXb/Fc53/xXO
+ d/8Vznf/Fc53/xXOeP8Vznn/FNB7/yO0L/9tuDr/8vnt////////////////////////////////////
+ //////////////j8+P9A1ov/EdB5/xbQe/8W0Hz/Gc5y/yHJVv8hyVf/IclY/yDKWf8gylr/Ictc/yDL
+ Xf8gzF7/IM1e/x/OX/8fzmD/INdm/w9lMP8AAAD/AAAA/wAAAP8AAAD/AAAA5gAAABoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAD/AAAA/wAAAP8AAAD/BAsA/yd/A/8ulgP/LZQE/y6U
+ Bv8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LpoJ/ymiG/8Tv13/EcNl/xDDZv8evFH/0+vH////
+ ////////////////////////////////////////+fz4/37AUP8mrR//E8ht/xPIb/8TyG7/E8lv/xPJ
+ cP8TynD/E8px/xPKcf8Ty3H/E8ty/xPLcv8TzHP/E8xz/xPMc/8UzHT/FMx0/xTMdf8UzHX/FMx1/xTN
+ dv8UzXb/FM12/xTNd/8Uznf/FM53/xTOeP8Uznj/FM94/xTPeP8Uz3n/FM95/xTPef8Uz3r/FNB6/yaw
+ I/9+wE//+fz4////////////////////////////////////////////0+vH/yDHYv8T0n//FdF9/xbQ
+ ev8gyVv/IshU/yHJVv8hyVf/IcpY/yDKWf8gylr/Ictc/yDLXf8gzF7/IM1e/yDSYf8bs1T/AhAI/wAA
+ AP8AAAD/AAAA/wAAAP8AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAA
+ AOAAAAD/AAAA/wAAAP8AAAD/ETcA/y6VA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmwv/L5oJ/yOqK/8Qw2X/EMRn/xC9VP9mu0T/9fnw////////////////////////////////////
+ //+Ox2X/KqoW/xTHav8SyXD/E8lv/xPJcP8TyXD/E8px/xPKcf8Ty3L/E8ty/xPLc/8TzHP/E8xz/xPM
+ dP8TzXX/E811/xPNdf8UzXb/FM12/xTNd/8UzXf/FM13/xTOeP8Uznj/FM54/xTOef8Uz3n/FM95/xTP
+ ef8Uz3r/FNB6/xTQev8U0Hr/FNB7/xTQev8T0Xz/Fc94/yusGv+Ox2T/////////////////////////
+ //////////////X57/9mvEb/E8pq/xTTf/8V0n7/Hsph/yPHUf8ix1T/IshV/yHIVf8hyVf/IclY/yDK
+ Wf8gylr/Ictc/yDLXf8gzF7/IdJh/wxNJP8AAAD/AAAA/wAAAP8AAAD/AAAA4AAAABcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAP8AAAD/AAAA/wAAAP8BAwD/IWsB/y6X
+ A/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwr/LpoJ/x6vOv8PxGj/EMVq/ySv
+ Kf9wuD3/1+zK///////////////////////m897/iMRf/zCoEv8TxGX/Eclx/xLJb/8SyXD/Espx/xLK
+ cv8SynL/Esty/xLLc/8Sy3T/Esx0/xLMdP8SzHX/Es12/xLNdv8SzXf/E813/xPNd/8TzXj/E854/xPO
+ ef8Tznn/E855/xPPev8Tz3r/E896/xPPe/8T0Hv/E9B7/xPQe/8T0Hz/E9B8/xPRfP8T0X3/E9F9/xPR
+ ff8S0oD/Fs1z/zCqFf+IxF//5vPe///////////////////////X7Mr/b7g8/yW2NP8T1IT/E9KC/xvM
+ aP8kxk//I8dS/yLHU/8ix1T/IshV/yHJVv8hyVf/IclY/yDKWf8gylr/Ictc/yHSYP8Xk0P/AQQC/wAA
+ AP8AAAD/AAAA/wAAAP8AAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAMAAAAzgAAAP8AAAD/AAAA/wAAAP8JHAD/K4sC/y6UA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6aCv8tmgr/LZsM/xu1Rf8Pxmz/EsNl/ymrHP9FpQj/cLk//5bMc/+aznj/eL1K/02o
+ EP8upw7/FcNg/xDJcv8RyHD/Eslx/xLJcf8SynL/Espz/xLKc/8Sy3T/Est1/xLLdf8SzHb/Esx2/xLM
+ dv8SzXf/Es13/xLNeP8SzXj/E815/xPNef8Tznn/E856/xPOev8Tznr/E897/xPPe/8Tz3z/E898/xPQ
+ ff8T0H3/E9B9/xPQfv8T0H7/E9F+/xPRfv8T0X//E9F//xPRf/8S04L/F8xv/y+pEv9NpxD/eL1K/5rO
+ eP+WzHP/cLk+/0WkB/8pryT/FdF9/xLThv8azW7/I8VO/yPGT/8jxlH/I8dS/yLHU/8ix1T/IchV/yHJ
+ Vv8hyVf/IcpY/yDKWf8hzVv/H8FY/wYmEf8AAAD/AAAA/wAAAP8AAAD/AAAAzgAAAAwAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFAAAA+gAAAP8AAAD/AAAA/wAA
+ AP8TQAD/LpYC/y2SA/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmgn/LZwP/xq3
+ Sf8Oxm3/EcRo/yC3P/8tqBP/MaMC/zGjAf8vpw3/JLU2/xPGZ/8PynL/EMlw/xHJcf8RyXL/Ecpy/xHK
+ c/8Ry3T/Ect0/xHLdf8RzHb/Ecx2/xHMd/8RzXf/Ec13/xHNeP8Rznj/Ec55/xHOef8Sznr/Es56/xLO
+ e/8Sznv/Es98/xLPfP8Sz3z/Es99/xLQff8S0H3/EtB+/xLRfv8S0X7/EtF//xLRf/8S0X//EtJ//xLS
+ gP8S0oD/EtKA/xLSgP8R04T/FdB4/yW6P/8vqRH/MaQD/zGkBP8urBn/Ir9O/xPSgP8Q1Yf/GM5w/yPF
+ Tv8kxUz/JMVO/yPGT/8jxlH/I8dS/yLHU/8ix1T/IshV/yHIVf8hyVf/IcpY/yHQW/8OWSf/AAAA/wAA
+ AP8AAAD/AAAA/wAAAPoAAABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAACaAAAA/wAAAP8AAAD/AAAA/wECAP8eYgH/L5cC/y2SA/8tkwP/LZQE/y6U
+ Bf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8umgn/LZwO/xm3Sv8Ox2//Dcdv/w/GbP8TxGT/E8Rk/xDH
+ bP8OyXP/Dslx/w/Jcf8QynL/EMpy/xDKc/8QynT/EMp0/xDLdf8Qy3b/EMx2/xDMd/8QzHj/EM14/xDN
+ ef8Qznn/EM56/xDOev8Qz3r/Ec97/xHPe/8Rz3z/Ec98/xHPfP8Rz33/EdB+/xHQfv8R0H7/EdB//xHR
+ f/8R0YD/EdGA/xHRgP8R0oH/EdKB/xHSgf8R0oH/EdOC/xHTgv8R04L/EdOC/xHTg/8Q1IX/ENWI/xLT
+ gf8Vz3j/FdB5/xHUhf8Q1on/EdWJ/xnOcP8kxEv/JcRK/yTETf8kxU3/JMVO/yPGUP8jxlH/I8dS/yLH
+ U/8ix1T/IshV/yHJVv8i0Vr/Fok8/wEDAf8AAAD/AAAA/wAAAP8AAAD/AAAAmgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAADbAAAA/wAA
+ AP8AAAD/AAAA/wUQAP8mfQH/LpYC/y2SA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6a
+ Cv8tmgn/LZwO/xu1Rv8Nx2//Dsdt/w7Hb/8OyHD/Dshw/w/JcP8PyXH/D8py/w/Kcv8QynP/EMp0/xDK
+ dP8Qy3X/EMt1/xDMdv8QzHf/EM14/xDNef8QzXn/EM56/xDOev8Qz3v/EM98/xDPfP8Q0Hz/EdB9/xHQ
+ ff8R0H7/EdB+/xHQfv8R0H//EdF//xHRgP8R0YD/EdGA/xHSgf8R0oH/EdKC/xHSgv8R04P/EdOD/xHT
+ g/8R04P/EdOE/xHUhP8R1IT/EdSE/xHUhf8R1IX/ENWF/xDVh/8Q1Yf/ENWH/xDWif8ZzW7/JcJJ/yXD
+ R/8lxEr/JMRM/yTETf8kxU3/I8VO/yPGUP8jxlH/I8dS/yLHU/8ix1T/I81X/xysSv8DFgr/AAAA/wAA
+ AP8AAAD/AAAA/wAAANsAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkAAAD6AAAA/wAAAP8AAAD/AAAA/wsjAP8qiQH/LZQC/y2S
+ A/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmgn/LZsM/x6xPP8Ox23/Dchw/w7I
+ b/8OyHD/Dslx/w7Jcv8PynP/D8pz/w/LdP8Py3X/D8t1/w/Ldv8PzHb/D8x3/w/NeP8PzXn/D855/w/O
+ e/8Pznv/D897/w/PfP8Pz33/D9B9/xDQff8Q0H7/ENB+/xDQf/8Q0H//ENGA/xDRgP8Q0YH/ENGB/xDS
+ gv8Q0oL/ENKD/xDTg/8Q04P/ENOD/xDThP8Q1IT/ENSE/xDUhP8Q1IX/ENSG/xDVhv8Q1Yb/ENWG/xDV
+ h/8Q1Yf/ENWH/w/Wif8Q1Yj/G8pl/ybBRf8mwUX/JcFI/yXDSP8lxEr/JMRL/yTETf8kxU3/JMVO/yPG
+ T/8jxlH/I8dS/yLKVP8gvlD/CC4U/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAASQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AIEAAAD/AAAA/wAAAP8AAAD/AAAA/xA0AP8skQH/LZMC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6ZCv8tmgr/LpoJ/yOpLP8Qw2b/DMp0/w3Icf8NyXL/Dclz/w7Kc/8OynT/Dst1/w7L
+ dv8Oy3f/Dst3/w7MeP8OzHj/Ds15/w7Nev8Oznv/Ds57/w7OfP8Oz33/Ds99/w7Pfv8O0H7/D9B//w/Q
+ f/8P0ID/D9CA/w/Qgf8P0YH/D9GC/w/Rgv8P0YL/D9KD/w/ShP8P0oT/D9OF/w/Thf8P04X/D9OG/w/U
+ hv8P1Ib/D9SG/w/Uh/8P1If/D9WI/w/ViP8P1Yj/D9WI/w/Vif8O1oz/EdSC/x/GWP8ov0H/JsBE/ybB
+ Rv8mwUb/JcFI/yXDSf8lxEr/JMRL/yTETf8kxU3/JMVO/yPGUP8jyFL/I8hS/wxIHv8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAALQAAAD/AAAA/wAAAP8AAAD/AAAA/xVF
+ AP8tkgH/LZMC/y2SA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwr/LpkI/ymi
+ G/8WvFb/DMp1/wzKdf8NynP/Dcp0/w7Ldf8Oy3b/Dst3/w7Ld/8OzHj/Dsx6/w7Mef8OzXr/Ds57/w7O
+ e/8Ozn3/Ds99/w7Pfv8O0H//DtB//w7QgP8O0YH/D9GB/w/Rgf8P0YH/D9GC/w/Rg/8P0oT/D9KE/w/S
+ hP8P0oT/D9OF/w/Thf8P04X/D9OH/w/Uh/8P1If/D9SH/w/ViP8P1Yj/D9WI/w/Vif8P1Yn/D9aJ/w/W
+ if8O14v/DteN/xXPdv8jwUv/KL4//ye/Qv8nwEP/JsBF/ybBRv8mwUf/JcJI/yXDSf8lxEr/JMRM/yTE
+ Tf8kxU3/JMZP/yTJUf8RXyf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC0AAAABwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAGQAAANUAAAD/AAAA/wAAAP8AAAD/AAAA/xhPAP8ulQH/LZIC/y2SA/8tkgP/LZQE/y6U
+ Bf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwr/LpoJ/y6cDf8fsDn/DsZq/wvMeP8Ny3b/Dct2/w3M
+ dv8NzHj/Dcx4/w3Mef8NzXr/Dc16/w3Ne/8Nznz/Dc59/w3Pff8Nz3//DdB//w3QgP8N0ID/DdGB/w7R
+ gf8O0oL/DtKD/w7Sg/8O0oP/DtKE/w7ShP8O04X/DtOF/w7Thf8O04b/DtSH/w7Uh/8O1If/DtSI/w7V
+ iP8O1Yn/DtWK/w7Viv8O1or/DtaK/w7Wi/8O1ov/DdiO/xDVhP8cx17/J7w+/yi8Pf8nvUD/J79B/ye/
+ Qv8nwEP/JsBE/ybARf8mwUb/JcFI/yXDSP8lxEr/JMRL/yTFTf8lzFD/E2oq/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA1QAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAOgAAAD/AAAA/wAA
+ AP8AAAD/AQIA/xlRAP8ulQH/LZMC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6Z
+ Cv8tmwv/LZsL/y+bCf8qoxv/GblO/w3JdP8MzXv/DMx4/w3MeP8NzHn/Dcx6/w3Ne/8NzXz/Dc18/w3O
+ ff8Nzn7/Dc9+/w3Pf/8N0ID/DdCB/w3Qgf8N0YL/DtGD/w7Rg/8O0oT/DtKE/w7ShP8O0oX/DtKG/w7S
+ hv8O04f/DtOH/w7Th/8O1Ij/DtSJ/w7Uif8O1Ir/DtWK/w7Viv8O1Yv/DtWL/w7Wi/8N14z/DdeP/w7W
+ i/8Yy2z/Jb5F/ym6OP8nvDz/J7w9/ye9P/8nvUH/J79B/ye/Qv8nwEP/JsBE/ybBRv8mwUb/JcJI/yXD
+ Sf8lxUr/JcpO/xRvK/8BAwH/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAAAxAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAPMAAAD/AAAA/wAAAP8AAAD/AQEA/xhNAP8tkwH/LZMC/y2S
+ A/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwr/LpsM/y+cC/8vnAv/Jqgm/xa+
+ V/8Ny3b/C85+/wvNe/8MzHv/DM18/wzNff8Mzn7/DM5//wzOf/8Mz4D/DNCA/wzQgf8M0YL/DNGD/w3R
+ g/8N0oT/DdKE/w3Shf8N04b/DdOG/w3Th/8N04f/DdOH/w3Tif8N1In/DdSJ/w3Uiv8N1Ir/DdWL/w3V
+ jP8N1Yz/DdWM/w3WjP8M147/DNeR/w7Wi/8VznP/IsBL/yq5Nv8pujj/KLs6/yi8O/8nvDz/J709/ye9
+ P/8nvUH/J79C/ye/Qv8nwEP/JsBF/ybBRv8mwUb/JcRJ/yXGSv8TaSf/AAIB/wAAAP8AAAD/AAAA/wAA
+ AP8AAADzAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAA
+ APQAAAD/AAAA/wAAAP8AAAD/AAAA/xRAAP8sjwH/LpQC/y2SA/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6ZCv8tmwr/LZsM/y6cDP8vnAv/L50M/yeoJP8ZulD/Dsly/wrPf/8KzoD/C85+/wvO
+ fv8Lz3//C89//wvPgf8L0IH/C9CC/wvRg/8M0YT/DNKE/wzShf8M0oX/DNOG/wzTh/8M04f/DNOI/wzT
+ iP8M1Ij/DNSJ/wzUiv8M1Yr/DNWL/wzVi/8M1Yz/DNaN/wzWjv8L15D/C9iR/w7Uhv8Xymr/JL1F/yq3
+ M/8quDP/Kbk3/ym6OP8pujn/KLs6/yi7O/8nvDz/J7w9/ye9P/8nvUD/J79B/ye/Qv8nwEP/JsBE/yfE
+ R/8mwEf/EVcg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9AAAAFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/w8y
+ AP8qiAH/LpYC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y6c
+ Df8unQ3/L50M/y+eDP8qoxv/H7I9/xTBYP8MzHn/CtCC/wnRhP8K0YL/CtCD/wvQgv8L0YL/C9GE/wvS
+ hP8M0oX/DNOG/wzTh/8M04f/DNSI/wzUiP8M1In/DNSK/wzUiv8M1Ir/DNWL/wzVjP8L1o3/C9eP/wrX
+ kf8L15H/DdWK/xXNdP8dwlf/J7k6/yu1L/8qtjH/Krcz/yq4Nf8puTb/Kbk3/ym6OP8oujn/KLs6/yi8
+ O/8nvDz/J7w9/ye9P/8nvUH/J79B/ye/Qv8oxUX/JLVA/w1DGP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ APMAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAUgAAAPQAAAD/AAAA/wAAAP8AAAD/AAAA/wkfAP8leAH/L5cC/y2SA/8tkwP/LZQE/y6U
+ Bv8tlQb/LZYG/y6XB/8tmAj/LpgK/y6ZCv8tmwr/LZsM/y6cDP8unQ3/Lp4P/y6eDv8vnQ3/Lp8R/ymn
+ If8hsjv/F75X/xDJcP8Mzn7/CdKG/wnTiP8J04n/CtOI/wrUif8K1In/CtSK/wrUiv8K1Yv/CtWM/wrW
+ jP8K1o7/CtaP/wrWj/8K15H/CteQ/w3Uif8Q0H7/F8lo/x+/UP8ntzn/K7Mt/yyzK/8qtC//KrUx/ym2
+ Mv8ptzP/Krcz/yq4Nf8puTb/Kbk3/ym6OP8pujn/KLs6/yi7O/8nvDz/J7w9/ye9P/8nvkH/KMZE/yCf
+ N/8IKA7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD0AAAAUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAOsAAAD/AAAA/wAA
+ AP8AAAD/AAAA/wQNAP8dXQD/LpUC/y6UA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmwv/LZsM/y6cDP8unQ7/Lp4P/y6fD/8tnxD/Lp8Q/y+fDv8voRD/LaQX/yiqJ/8jsjj/HblJ/xjA
+ Wv8Uxmb/Espv/xHLc/8Pznr/D898/w/Pff8Pz3z/Ec13/xLMdf8Uym7/GMVi/x3AVP8iu0X/JrU3/yqx
+ K/8ssCb/LLEm/yyxKf8rsiv/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krc0/yq4Nf8puTb/Kbk3/ym6
+ OP8oujn/KLs6/yi7O/8nvDz/J78+/yjCQf8Zeir/AxEG/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6wAA
+ AE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAANwAAAD/AAAA/wAAAP8AAAD/AAAA/wABAP8SOwH/KocC/y+X
+ A/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y6cDf8unQ7/Lp4P/y6f
+ EP8tnxH/LqAS/y6hEv8uoRL/L6ER/y+iEf8vohL/LqQU/y6kFf8tpxr/LKgd/yqqI/8qrCX/Kq0m/yqt
+ Jv8srCP/LKwh/y2rHv8tqx//Lawg/y2sIf8triT/LK8m/yuwJ/8rsSn/K7Iq/yuyK/8rsiz/K7Mt/yu0
+ L/8qtDD/KrUx/yq2Mv8qtzP/Krc0/yq4Nf8puTb/Kbk3/ym6OP8oujn/KLw6/ynDPf8krjj/EE0Z/wAB
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANwAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAA
+ AL8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8HFwD/HmMB/y6UA/8ulgP/LZQE/y6UBf8tlQb/LZYG/y6X
+ B/8tmAj/LpgJ/y6ZCv8tmgr/LZsM/y6cDP8unQ3/Lp4P/y6fD/8unxD/LqAS/y6hEv8uohP/LqIU/y6j
+ Ff8upBb/LaUX/y2lGP8uphj/LqcZ/y2nGv8tqBv/Lakc/y2qHv8tqh//Lawg/yysIf8srSL/LK0j/yyu
+ JP8sryX/LK8m/yuwJ/8rsSj/K7Ip/yuyK/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krcz/yq4
+ Nf8puTb/Kbk3/yq+Ov8pvTr/G34n/wYeCf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC/AAAAIgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAJMAAAD+AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/EDMB/yV5Av8vmAP/LpcE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwv/LZsM/y6c
+ DP8unQ7/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2n
+ G/8tqBz/Lakd/y2qH/8tqh//Lawg/yysIf8srSL/LK0k/yyuJP8sryX/LLAn/yuwJ/8rsSj/K7Iq/yuy
+ K/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krc0/yu8Nv8qwDj/Ipou/w5BFP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD+AAAAkwAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAF0AAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwkA/xVEAf8oggP/L5oE/y+W
+ Bv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwv/LZsM/y6dDf8unQ7/Lp4P/y6fEP8tnxH/LqAS/y6h
+ Ev8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Laca/y2nG/8tqBz/Lakd/y2qHv8tqx//LKwg/yys
+ If8srSP/LK0k/yyuJP8sryb/LLAn/yuwJ/8rsSn/K7Iq/yuyK/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq5
+ M/8rvzX/JaIu/xNVGP8CCwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA5QAAAF0AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAACzAAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUPAP8VRwL/J4EE/y+YBf8umQb/LpcG/y6XB/8tmAj/LpgJ/y6Z
+ Cv8tmgr/LZsM/y6cDP8unQ3/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2l
+ GP8tpxn/Lqca/y2nG/8tqBz/Lakd/y2qHv8tqh//Lawg/yysIf8srSL/LK0j/yyuJP8sryX/LK8m/yuw
+ J/8rsSj/K7Ip/yuyK/8rsiz/K7Mt/yy5MP8rujH/JZ4r/xRYGP8EEwX/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAALMAAAAmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABmAAAA4wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8EDQD/Ez4B/yR1BP8tlQb/L5wH/y+aB/8tmAj/LpgJ/y6ZCv8tmwv/LZsM/y6cDP8unQ7/Lp4P/y6f
+ D/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2nG/8tqBz/Lakd/y2q
+ H/8tqh//LKwg/yysIf8srSL/LK0k/yyuJP8sryX/LLAn/yuwJ/8rsij/LLUq/y25LP8rsyz/Io4k/xJL
+ E/8DEAT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOEAAABjAAAABAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAfAAAAlQAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQQA/wwmAf8bWwT/KIYF/y+a
+ B/8vngn/L5sJ/y6aCv8tmwv/LZsM/y6cDf8unQ7/Lp4P/y6fEP8tnxH/LqAS/y6hEv8uohP/LqIU/y6j
+ Ff8upBb/LaUX/y2lGP8tpxn/Laca/y2nG/8tqBz/Lakd/y2qHv8tqyD/LKwg/yysIf8srSP/LK0k/yyu
+ JP8tsib/LrYo/yyzKP8mniT/GmwZ/wsuC/8BBAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ APcAAACVAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAK0AAAD7AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DCwD/Di8C/xtaBP8mgAf/LZYJ/zCeCv8voAv/L58M/y6e
+ DP8ung3/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2n
+ G/8tqBz/Lakd/y2rHv8urCD/LrAh/y6yI/8usyP/LKoj/yWSH/8aaBb/DTYM/wMMA/8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPsAAACtAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACvAAAA+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wIFAP8JHgL/Ez8E/x1gBv8kewn/Ko8L/y6bDP8voA7/MKQP/zCmEP8vpRH/L6US/y+l
+ E/8vpRP/L6YU/y+nFv8vqBb/L6kY/y6qGf8vrRr/MK8b/y+uHP8uqx3/Lagd/ymdHP8khxn/G2sU/xJG
+ Df8JIgf/AgYB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkAAACvAAAAQAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAA5AAAAnwAAAOwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEE
+ AP8EDwH/CiAC/xE5BP8WTAf/G10J/x5oCv8gcQz/I3sO/yWCDv8lgw//JYMQ/yWEEf8kfhH/IHYR/x1s
+ EP8bYg7/FlEN/xA9Cv8KIwb/BBAD/wEEAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAOwAAACfAAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAHIAAADHAAAA+wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAQD/AQMA/wEDAP8BAwD/AQMA/wABAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAMcAAAByAAAAIgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA2AAAAgQAAAMoAAAD5AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD5AAAAygAA
+ AIEAAAA2AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAABwAAAC4AAABqAAAAqQAAAN4AAAD2AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA9gAAAN4AAACpAAAAagAAAC4AAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAA
+ ADEAAABZAAAAhwAAALIAAADPAAAA5QAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD3AAAA5QAAAM8AAACyAAAAhwAAAFkAAAAxAAAACwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAZAAAAKgAA
+ ADcAAABNAAAAXgAAAGoAAABpAAAAaQAAAGkAAABpAAAAagAAAF4AAABNAAAANwAAACoAAAAZAAAABgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
+ ///////////////////////////////////////////////////////////+AAB/////////////////
+ wAAAA////////////////gAAAAB///////////////AAAAAAD/////////////+AAAAAAAH/////////
+ ///+AAAAAAAAf///////////+AAAAAAAAB///////////+AAAAAAAAAH///////////AAAAAAAAAA///
+ ////////AAAAAAAAAAD//////////gAAAAAAAAAAf/////////gAAAAAAAAAAB/////////wAAAAAAAA
+ AAAP////////4AAAAAAAAAAAB////////8AAAAAAAAAAAAP///////+AAAAAAAAAAAAB////////AAAA
+ AAAAAAAAAP///////gAAAAAAAAAAAAB///////wAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAB//////
+ 8AAAAAAAAAAAAAAP/////+AAAAAAAAAAAAAAB//////gAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAD
+ /////4AAAAAAAAAAAAAAAf////+AAAAAAAAAAAAAAAH/////AAAAAAAAAAAAAAAA/////gAAAAAAAAAA
+ AAAAAH////4AAAAAAAAAAAAAAAB////8AAAAAAAAAAAAAAAAP////AAAAAAAAAAAAAAAAD////gAAAAA
+ AAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///w
+ AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//+AAAAAAAAAAAAAAAAAH///gAAAAAAAAAAAAAAAA
+ B///wAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAA///gAAAAAAAAAAA
+ AAAAAAH//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAD//wAAAAAA
+ AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/4A
+ AAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAA
+ AH/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAA
+ AAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAA
+ AAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wA
+ AAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAA
+ AD/8AAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAA
+ AAAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAD//wAAAAAA
+ AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAAAAAB//+A
+ AAAAAAAAAAAAAAAAAf//gAAAAAAAAAAAAAAAAAH//8AAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAA
+ A///4AAAAAAAAAAAAAAAAAf//+AAAAAAAAAAAAAAAAAH///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAA
+ AAAAAA////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH////AAAAAAAAAAAAAAAAD////4AAAAA
+ AAAAAAAAAAB////+AAAAAAAAAAAAAAAAf////wAAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAH/////
+ gAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAA//////gAAAAAAAAAAAAAAf/////8AAAAAAAAAAAAAAP
+ //////gAAAAAAAAAAAAAH//////8AAAAAAAAAAAAAD///////gAAAAAAAAAAAAB///////8AAAAAAAAA
+ AAAA////////gAAAAAAAAAAAAf///////8AAAAAAAAAAAAP////////gAAAAAAAAAAAH////////+AAA
+ AAAAAAAAH/////////wAAAAAAAAAAD/////////+AAAAAAAAAAB//////////4AAAAAAAAAB////////
+ ///gAAAAAAAAB///////////+AAAAAAAAB////////////4AAAAAAAB/////////////gAAAAAAB////
+ /////////+AAAAAAB//////////////8AAAAAD///////////////8AAAAP////////////////+AAB/
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////////////8=
+
+
+
\ No newline at end of file
diff --git a/EleBox.App/packages.config b/EleBox.App/packages.config
new file mode 100644
index 0000000..176b9ff
--- /dev/null
+++ b/EleBox.App/packages.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SCR组立Group动静盘安装.txt b/SCR组立Group动静盘安装.txt
new file mode 100644
index 0000000..e69de29