Commit e66fc94e LN

aoi界面调整

1 个父辈 82021319
...@@ -165,6 +165,31 @@ namespace AccAOI ...@@ -165,6 +165,31 @@ namespace AccAOI
} }
else else
{ {
//判断有没有
//FrmAoiSetting_btnUpdateName_Text
try
{
string formName = " FrmAoiSetting";
if (!id.StartsWith(formName))
{
string[] arrays = id.Split('_');
if (arrays.Length == 3)
{
string newId = formName + "_" + arrays[1] + "_" + arrays[2];
if (ResourceMap[CurrLanguage].ContainsKey(newId.Trim()))
{
strCurLanguage = ResourceMap[CurrLanguage][id];
return strCurLanguage;
}
}
}
}
catch (Exception ex)
{
Console.WriteLine($"id={id} error :" + ex.ToString());
}
NoIdLog(id, defaultStr); NoIdLog(id, defaultStr);
} }
} }
...@@ -215,10 +240,10 @@ namespace AccAOI ...@@ -215,10 +240,10 @@ namespace AccAOI
} }
private static string spiltStr = "_"; private static string spiltStr = "_";
private static string Text = "Text"; private static string Text = "Text";
public static string GetIdStr(string className, string controlName, string propertyName) //public static string GetIdStr(string className, string controlName, string propertyName)
{ //{
return className + spiltStr + controlName + spiltStr + propertyName; // return className + spiltStr + controlName + spiltStr + propertyName;
} //}
public static string GetIdStr(string className, string propertyName) public static string GetIdStr(string className, string propertyName)
{ {
return className + spiltStr + propertyName; return className + spiltStr + propertyName;
......
...@@ -55,8 +55,16 @@ namespace AccAOI ...@@ -55,8 +55,16 @@ namespace AccAOI
this.btnCopy = new Asa.Theme.FlatButton(); this.btnCopy = new Asa.Theme.FlatButton();
this.btnPCBRect = new Asa.Theme.FlatButton(); this.btnPCBRect = new Asa.Theme.FlatButton();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.groupImage = new System.Windows.Forms.GroupBox();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.panTest.SuspendLayout(); this.panTest.SuspendLayout();
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupImage.SuspendLayout();
this.groupBox4.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// aoiList // aoiList
...@@ -65,10 +73,10 @@ namespace AccAOI ...@@ -65,10 +73,10 @@ namespace AccAOI
| System.Windows.Forms.AnchorStyles.Left))); | System.Windows.Forms.AnchorStyles.Left)));
this.aoiList.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.aoiList.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.aoiList.Inside = false; this.aoiList.Inside = false;
this.aoiList.Location = new System.Drawing.Point(249, 210); this.aoiList.Location = new System.Drawing.Point(5, 128);
this.aoiList.Name = "aoiList"; this.aoiList.Name = "aoiList";
this.aoiList.SelectedIndex = -1; this.aoiList.SelectedIndex = -1;
this.aoiList.Size = new System.Drawing.Size(156, 405); this.aoiList.Size = new System.Drawing.Size(156, 636);
this.aoiList.TabIndex = 2; this.aoiList.TabIndex = 2;
this.aoiList.SelectedIndexChanged += new Asa.Theme.Event.SelectedIndexChanged(this.aoiList_IndexChanged); this.aoiList.SelectedIndexChanged += new Asa.Theme.Event.SelectedIndexChanged(this.aoiList_IndexChanged);
// //
...@@ -106,7 +114,7 @@ namespace AccAOI ...@@ -106,7 +114,7 @@ namespace AccAOI
this.btnNewAoi.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnNewAoi.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnNewAoi.ImageSize = new System.Drawing.Size(0, 0); this.btnNewAoi.ImageSize = new System.Drawing.Size(0, 0);
this.btnNewAoi.Inside = false; this.btnNewAoi.Inside = false;
this.btnNewAoi.Location = new System.Drawing.Point(249, 102); this.btnNewAoi.Location = new System.Drawing.Point(5, 20);
this.btnNewAoi.Name = "btnNewAoi"; this.btnNewAoi.Name = "btnNewAoi";
this.btnNewAoi.Size = new System.Drawing.Size(156, 30); this.btnNewAoi.Size = new System.Drawing.Size(156, 30);
this.btnNewAoi.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.btnNewAoi.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
...@@ -120,9 +128,9 @@ namespace AccAOI ...@@ -120,9 +128,9 @@ namespace AccAOI
this.btnOpenImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnOpenImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnOpenImage.ImageSize = new System.Drawing.Size(0, 0); this.btnOpenImage.ImageSize = new System.Drawing.Size(0, 0);
this.btnOpenImage.Inside = false; this.btnOpenImage.Inside = false;
this.btnOpenImage.Location = new System.Drawing.Point(7, 138); this.btnOpenImage.Location = new System.Drawing.Point(7, 66);
this.btnOpenImage.Name = "btnOpenImage"; this.btnOpenImage.Name = "btnOpenImage";
this.btnOpenImage.Size = new System.Drawing.Size(236, 30); this.btnOpenImage.Size = new System.Drawing.Size(180, 30);
this.btnOpenImage.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.btnOpenImage.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnOpenImage.TabIndex = 10; this.btnOpenImage.TabIndex = 10;
this.btnOpenImage.Text = "选择基准图片"; this.btnOpenImage.Text = "选择基准图片";
...@@ -134,9 +142,9 @@ namespace AccAOI ...@@ -134,9 +142,9 @@ namespace AccAOI
this.btnGetCameraImg.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnGetCameraImg.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnGetCameraImg.ImageSize = new System.Drawing.Size(0, 0); this.btnGetCameraImg.ImageSize = new System.Drawing.Size(0, 0);
this.btnGetCameraImg.Inside = false; this.btnGetCameraImg.Inside = false;
this.btnGetCameraImg.Location = new System.Drawing.Point(7, 102); this.btnGetCameraImg.Location = new System.Drawing.Point(7, 30);
this.btnGetCameraImg.Name = "btnGetCameraImg"; this.btnGetCameraImg.Name = "btnGetCameraImg";
this.btnGetCameraImg.Size = new System.Drawing.Size(236, 30); this.btnGetCameraImg.Size = new System.Drawing.Size(180, 30);
this.btnGetCameraImg.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.btnGetCameraImg.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnGetCameraImg.TabIndex = 13; this.btnGetCameraImg.TabIndex = 13;
this.btnGetCameraImg.Text = "获取基准图片"; this.btnGetCameraImg.Text = "获取基准图片";
...@@ -147,9 +155,9 @@ namespace AccAOI ...@@ -147,9 +155,9 @@ namespace AccAOI
this.panAoi.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.panAoi.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left))); | System.Windows.Forms.AnchorStyles.Left)));
this.panAoi.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.panAoi.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.panAoi.Location = new System.Drawing.Point(411, 33); this.panAoi.Location = new System.Drawing.Point(164, 20);
this.panAoi.Name = "panAoi"; this.panAoi.Name = "panAoi";
this.panAoi.Size = new System.Drawing.Size(317, 582); this.panAoi.Size = new System.Drawing.Size(324, 747);
this.panAoi.TabIndex = 15; this.panAoi.TabIndex = 15;
// //
// btnExcute // btnExcute
...@@ -158,9 +166,9 @@ namespace AccAOI ...@@ -158,9 +166,9 @@ namespace AccAOI
this.btnExcute.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnExcute.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnExcute.ImageSize = new System.Drawing.Size(0, 0); this.btnExcute.ImageSize = new System.Drawing.Size(0, 0);
this.btnExcute.Inside = false; this.btnExcute.Inside = false;
this.btnExcute.Location = new System.Drawing.Point(6, 327); this.btnExcute.Location = new System.Drawing.Point(7, 92);
this.btnExcute.Name = "btnExcute"; this.btnExcute.Name = "btnExcute";
this.btnExcute.Size = new System.Drawing.Size(237, 50); this.btnExcute.Size = new System.Drawing.Size(180, 30);
this.btnExcute.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.btnExcute.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnExcute.TabIndex = 16; this.btnExcute.TabIndex = 16;
this.btnExcute.Text = "执行"; this.btnExcute.Text = "执行";
...@@ -172,7 +180,7 @@ namespace AccAOI ...@@ -172,7 +180,7 @@ namespace AccAOI
this.btnDel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnDel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnDel.ImageSize = new System.Drawing.Size(0, 0); this.btnDel.ImageSize = new System.Drawing.Size(0, 0);
this.btnDel.Inside = false; this.btnDel.Inside = false;
this.btnDel.Location = new System.Drawing.Point(330, 174); this.btnDel.Location = new System.Drawing.Point(86, 92);
this.btnDel.Name = "btnDel"; this.btnDel.Name = "btnDel";
this.btnDel.Size = new System.Drawing.Size(75, 30); this.btnDel.Size = new System.Drawing.Size(75, 30);
this.btnDel.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.btnDel.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
...@@ -182,13 +190,14 @@ namespace AccAOI ...@@ -182,13 +190,14 @@ namespace AccAOI
// //
// btnImageChange // btnImageChange
// //
this.btnImageChange.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnImageChange.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.btnImageChange.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnImageChange.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnImageChange.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnImageChange.ImageSize = new System.Drawing.Size(0, 0); this.btnImageChange.ImageSize = new System.Drawing.Size(0, 0);
this.btnImageChange.Inside = false; this.btnImageChange.Inside = false;
this.btnImageChange.Location = new System.Drawing.Point(6, 271); this.btnImageChange.Location = new System.Drawing.Point(490, 13);
this.btnImageChange.Name = "btnImageChange"; this.btnImageChange.Name = "btnImageChange";
this.btnImageChange.Size = new System.Drawing.Size(237, 50); this.btnImageChange.Size = new System.Drawing.Size(201, 30);
this.btnImageChange.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.btnImageChange.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnImageChange.TabIndex = 18; this.btnImageChange.TabIndex = 18;
this.btnImageChange.Text = "切换为测试图片"; this.btnImageChange.Text = "切换为测试图片";
...@@ -200,9 +209,9 @@ namespace AccAOI ...@@ -200,9 +209,9 @@ namespace AccAOI
this.flatButton1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.flatButton1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.flatButton1.ImageSize = new System.Drawing.Size(0, 0); this.flatButton1.ImageSize = new System.Drawing.Size(0, 0);
this.flatButton1.Inside = false; this.flatButton1.Inside = false;
this.flatButton1.Location = new System.Drawing.Point(6, 174); this.flatButton1.Location = new System.Drawing.Point(7, 20);
this.flatButton1.Name = "flatButton1"; this.flatButton1.Name = "flatButton1";
this.flatButton1.Size = new System.Drawing.Size(237, 30); this.flatButton1.Size = new System.Drawing.Size(180, 30);
this.flatButton1.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.flatButton1.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.flatButton1.TabIndex = 20; this.flatButton1.TabIndex = 20;
this.flatButton1.Text = "获取测试图片"; this.flatButton1.Text = "获取测试图片";
...@@ -214,9 +223,9 @@ namespace AccAOI ...@@ -214,9 +223,9 @@ namespace AccAOI
this.flatButton2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.flatButton2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.flatButton2.ImageSize = new System.Drawing.Size(0, 0); this.flatButton2.ImageSize = new System.Drawing.Size(0, 0);
this.flatButton2.Inside = false; this.flatButton2.Inside = false;
this.flatButton2.Location = new System.Drawing.Point(6, 210); this.flatButton2.Location = new System.Drawing.Point(7, 56);
this.flatButton2.Name = "flatButton2"; this.flatButton2.Name = "flatButton2";
this.flatButton2.Size = new System.Drawing.Size(237, 30); this.flatButton2.Size = new System.Drawing.Size(180, 30);
this.flatButton2.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.flatButton2.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.flatButton2.TabIndex = 19; this.flatButton2.TabIndex = 19;
this.flatButton2.Text = "选择测试图片"; this.flatButton2.Text = "选择测试图片";
...@@ -227,12 +236,13 @@ namespace AccAOI ...@@ -227,12 +236,13 @@ namespace AccAOI
this.lblCurrImage.AutoSize = true; this.lblCurrImage.AutoSize = true;
this.lblCurrImage.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.lblCurrImage.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblCurrImage.ForeColor = System.Drawing.Color.LawnGreen; this.lblCurrImage.ForeColor = System.Drawing.Color.LawnGreen;
this.lblCurrImage.Location = new System.Drawing.Point(734, 33); this.lblCurrImage.Location = new System.Drawing.Point(19, 21);
this.lblCurrImage.Name = "lblCurrImage"; this.lblCurrImage.Name = "lblCurrImage";
this.lblCurrImage.Size = new System.Drawing.Size(74, 22); this.lblCurrImage.Size = new System.Drawing.Size(74, 22);
this.lblCurrImage.TabIndex = 22; this.lblCurrImage.TabIndex = 22;
this.lblCurrImage.Text = "基准图:"; this.lblCurrImage.Text = "基准图:";
this.lblCurrImage.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblCurrImage.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.lblCurrImage.Visible = false;
this.lblCurrImage.Click += new System.EventHandler(this.lblCurrImage_Click); this.lblCurrImage.Click += new System.EventHandler(this.lblCurrImage_Click);
// //
// btnUpdateName // btnUpdateName
...@@ -241,7 +251,7 @@ namespace AccAOI ...@@ -241,7 +251,7 @@ namespace AccAOI
this.btnUpdateName.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnUpdateName.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnUpdateName.ImageSize = new System.Drawing.Size(0, 0); this.btnUpdateName.ImageSize = new System.Drawing.Size(0, 0);
this.btnUpdateName.Inside = false; this.btnUpdateName.Inside = false;
this.btnUpdateName.Location = new System.Drawing.Point(249, 174); this.btnUpdateName.Location = new System.Drawing.Point(5, 92);
this.btnUpdateName.Name = "btnUpdateName"; this.btnUpdateName.Name = "btnUpdateName";
this.btnUpdateName.Size = new System.Drawing.Size(75, 30); this.btnUpdateName.Size = new System.Drawing.Size(75, 30);
this.btnUpdateName.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.btnUpdateName.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
...@@ -252,7 +262,7 @@ namespace AccAOI ...@@ -252,7 +262,7 @@ namespace AccAOI
// panTest // panTest
// //
this.panTest.Controls.Add(this.testImageBox1); this.panTest.Controls.Add(this.testImageBox1);
this.panTest.Location = new System.Drawing.Point(738, 58); this.panTest.Location = new System.Drawing.Point(23, 46);
this.panTest.Name = "panTest"; this.panTest.Name = "panTest";
this.panTest.Size = new System.Drawing.Size(448, 446); this.panTest.Size = new System.Drawing.Size(448, 446);
this.panTest.TabIndex = 25; this.panTest.TabIndex = 25;
...@@ -278,9 +288,10 @@ namespace AccAOI ...@@ -278,9 +288,10 @@ namespace AccAOI
| System.Windows.Forms.AnchorStyles.Left))); | System.Windows.Forms.AnchorStyles.Left)));
this.panel1.AutoScroll = true; this.panel1.AutoScroll = true;
this.panel1.Controls.Add(this.lblTestResult); this.panel1.Controls.Add(this.lblTestResult);
this.panel1.Location = new System.Drawing.Point(6, 394); this.panel1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.panel1.Location = new System.Drawing.Point(6, 340);
this.panel1.Name = "panel1"; this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(236, 221); this.panel1.Size = new System.Drawing.Size(197, 502);
this.panel1.TabIndex = 22; this.panel1.TabIndex = 22;
// //
// lblTestResult // lblTestResult
...@@ -303,11 +314,11 @@ namespace AccAOI ...@@ -303,11 +314,11 @@ namespace AccAOI
this.imageBox1.DragHandleSize = 9; this.imageBox1.DragHandleSize = 9;
this.imageBox1.GridColor = System.Drawing.Color.Black; this.imageBox1.GridColor = System.Drawing.Color.Black;
this.imageBox1.GridColorAlternate = System.Drawing.Color.Black; this.imageBox1.GridColorAlternate = System.Drawing.Color.Black;
this.imageBox1.Location = new System.Drawing.Point(738, 58); this.imageBox1.Location = new System.Drawing.Point(2, 46);
this.imageBox1.Name = "imageBox1"; this.imageBox1.Name = "imageBox1";
this.imageBox1.SelectionColor = System.Drawing.Color.Yellow; this.imageBox1.SelectionColor = System.Drawing.Color.Yellow;
this.imageBox1.SelectionMode = Acc.ImageBox.ImageBoxSelectionMode.Rectangle; this.imageBox1.SelectionMode = Acc.ImageBox.ImageBoxSelectionMode.Rectangle;
this.imageBox1.Size = new System.Drawing.Size(560, 557); this.imageBox1.Size = new System.Drawing.Size(690, 757);
this.imageBox1.TabIndex = 4; this.imageBox1.TabIndex = 4;
this.imageBox1.SelectionRegionChanged += new System.EventHandler(this.imageBox1_SelectionRegionChanged); this.imageBox1.SelectionRegionChanged += new System.EventHandler(this.imageBox1_SelectionRegionChanged);
this.imageBox1.DoubleClick += new System.EventHandler(this.imageBox1_DoubleClick); this.imageBox1.DoubleClick += new System.EventHandler(this.imageBox1_DoubleClick);
...@@ -318,7 +329,7 @@ namespace AccAOI ...@@ -318,7 +329,7 @@ namespace AccAOI
this.btnCopy.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnCopy.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnCopy.ImageSize = new System.Drawing.Size(0, 0); this.btnCopy.ImageSize = new System.Drawing.Size(0, 0);
this.btnCopy.Inside = false; this.btnCopy.Inside = false;
this.btnCopy.Location = new System.Drawing.Point(249, 138); this.btnCopy.Location = new System.Drawing.Point(5, 56);
this.btnCopy.Name = "btnCopy"; this.btnCopy.Name = "btnCopy";
this.btnCopy.Size = new System.Drawing.Size(156, 30); this.btnCopy.Size = new System.Drawing.Size(156, 30);
this.btnCopy.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.btnCopy.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
...@@ -328,13 +339,14 @@ namespace AccAOI ...@@ -328,13 +339,14 @@ namespace AccAOI
// //
// btnPCBRect // btnPCBRect
// //
this.btnPCBRect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnPCBRect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.btnPCBRect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnPCBRect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnPCBRect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnPCBRect.ImageSize = new System.Drawing.Size(0, 0); this.btnPCBRect.ImageSize = new System.Drawing.Size(0, 0);
this.btnPCBRect.Inside = false; this.btnPCBRect.Inside = false;
this.btnPCBRect.Location = new System.Drawing.Point(249, 33); this.btnPCBRect.Location = new System.Drawing.Point(283, 13);
this.btnPCBRect.Name = "btnPCBRect"; this.btnPCBRect.Name = "btnPCBRect";
this.btnPCBRect.Size = new System.Drawing.Size(156, 30); this.btnPCBRect.Size = new System.Drawing.Size(201, 30);
this.btnPCBRect.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.btnPCBRect.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnPCBRect.TabIndex = 27; this.btnPCBRect.TabIndex = 27;
this.btnPCBRect.Text = "设置基准PCB范围"; this.btnPCBRect.Text = "设置基准PCB范围";
...@@ -343,37 +355,90 @@ namespace AccAOI ...@@ -343,37 +355,90 @@ namespace AccAOI
// label1 // label1
// //
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.label1.Location = new System.Drawing.Point(206, 588); this.label1.Location = new System.Drawing.Point(206, 815);
this.label1.Name = "label1"; this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(29, 23); this.label1.Size = new System.Drawing.Size(29, 23);
this.label1.TabIndex = 23; this.label1.TabIndex = 23;
this.label1.Text = "label1"; this.label1.Text = "label1";
this.label1.Click += new System.EventHandler(this.label1_Click); this.label1.Click += new System.EventHandler(this.label1_Click);
// //
// groupBox1
//
this.groupBox1.Controls.Add(this.btnGetCameraImg);
this.groupBox1.Controls.Add(this.btnOpenImage);
this.groupBox1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox1.ForeColor = System.Drawing.Color.White;
this.groupBox1.Location = new System.Drawing.Point(6, 69);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(197, 116);
this.groupBox1.TabIndex = 28;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "基准图片";
//
// groupBox2
//
this.groupBox2.Controls.Add(this.flatButton1);
this.groupBox2.Controls.Add(this.flatButton2);
this.groupBox2.Controls.Add(this.btnExcute);
this.groupBox2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox2.ForeColor = System.Drawing.Color.White;
this.groupBox2.Location = new System.Drawing.Point(6, 191);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(197, 143);
this.groupBox2.TabIndex = 0;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "测试图片";
//
// groupImage
//
this.groupImage.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupImage.Controls.Add(this.lblCurrImage);
this.groupImage.Controls.Add(this.panTest);
this.groupImage.Controls.Add(this.imageBox1);
this.groupImage.Controls.Add(this.btnPCBRect);
this.groupImage.Controls.Add(this.btnImageChange);
this.groupImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupImage.ForeColor = System.Drawing.Color.White;
this.groupImage.Location = new System.Drawing.Point(707, 33);
this.groupImage.Name = "groupImage";
this.groupImage.Size = new System.Drawing.Size(697, 809);
this.groupImage.TabIndex = 14;
this.groupImage.TabStop = false;
this.groupImage.Text = "基准图";
//
// groupBox4
//
this.groupBox4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.groupBox4.Controls.Add(this.btnNewAoi);
this.groupBox4.Controls.Add(this.aoiList);
this.groupBox4.Controls.Add(this.btnDel);
this.groupBox4.Controls.Add(this.btnUpdateName);
this.groupBox4.Controls.Add(this.btnCopy);
this.groupBox4.Controls.Add(this.panAoi);
this.groupBox4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox4.ForeColor = System.Drawing.Color.White;
this.groupBox4.Location = new System.Drawing.Point(209, 69);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(492, 773);
this.groupBox4.TabIndex = 22;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "ROI 参数";
//
// FrmAoiSetting // FrmAoiSetting
// //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(1307, 624); this.ClientSize = new System.Drawing.Size(1413, 851);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupImage);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.label1); this.Controls.Add(this.label1);
this.Controls.Add(this.btnPCBRect);
this.Controls.Add(this.panel1); this.Controls.Add(this.panel1);
this.Controls.Add(this.btnCopy);
this.Controls.Add(this.panTest);
this.Controls.Add(this.btnUpdateName);
this.Controls.Add(this.lblCurrImage);
this.Controls.Add(this.flatButton1);
this.Controls.Add(this.flatButton2);
this.Controls.Add(this.btnImageChange);
this.Controls.Add(this.btnDel);
this.Controls.Add(this.btnExcute);
this.Controls.Add(this.panAoi);
this.Controls.Add(this.btnGetCameraImg);
this.Controls.Add(this.btnOpenImage);
this.Controls.Add(this.btnNewAoi);
this.Controls.Add(this.btnSavePro); this.Controls.Add(this.btnSavePro);
this.Controls.Add(this.btnOpenPro); this.Controls.Add(this.btnOpenPro);
this.Controls.Add(this.imageBox1);
this.Controls.Add(this.aoiList);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Maximized = true; this.Maximized = true;
this.Name = "FrmAoiSetting"; this.Name = "FrmAoiSetting";
...@@ -383,8 +448,12 @@ namespace AccAOI ...@@ -383,8 +448,12 @@ namespace AccAOI
this.panTest.ResumeLayout(false); this.panTest.ResumeLayout(false);
this.panel1.ResumeLayout(false); this.panel1.ResumeLayout(false);
this.panel1.PerformLayout(); this.panel1.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupImage.ResumeLayout(false);
this.groupImage.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout();
} }
...@@ -412,5 +481,9 @@ namespace AccAOI ...@@ -412,5 +481,9 @@ namespace AccAOI
private Asa.Theme.FlatButton btnCopy; private Asa.Theme.FlatButton btnCopy;
private Asa.Theme.FlatButton btnPCBRect; private Asa.Theme.FlatButton btnPCBRect;
private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.GroupBox groupImage;
private System.Windows.Forms.GroupBox groupBox4;
} }
} }
\ No newline at end of file \ No newline at end of file
...@@ -423,7 +423,7 @@ namespace AccAOI ...@@ -423,7 +423,7 @@ namespace AccAOI
//AoiMethod methodInfo = ControlUtil.GetMethod(text); //AoiMethod methodInfo = ControlUtil.GetMethod(text);
AoiMethod methodInfo = new AoiEyemTemplateMethod(); AoiMethod methodInfo = new AoiEyemTemplateMethod();
string text = AOIResourceCulture.GetValue("模版匹配"); string text = AOIResourceCulture.GetValue("模版匹配");
string defaultName = Project.methodMap.Values.Count.ToString().PadLeft(2, '0') + "_" + text; string defaultName =( Project.methodMap.Values.Count+1).ToString().PadLeft(2, '0') + "_" + text;
FrmMethodName frmName = new FrmMethodName(defaultName, new List<string>(Project.methodMap.Keys)); FrmMethodName frmName = new FrmMethodName(defaultName, new List<string>(Project.methodMap.Keys));
frmName.Text = AOIResourceCulture.GetValue("请输入新【{0}】名称",text); frmName.Text = AOIResourceCulture.GetValue("请输入新【{0}】名称",text);
DialogResult result = frmName.ShowDialog(); DialogResult result = frmName.ShowDialog();
...@@ -670,6 +670,7 @@ namespace AccAOI ...@@ -670,6 +670,7 @@ namespace AccAOI
btnImageChange.Text = AOIResourceCulture.GetValue("显示测试图片"); btnImageChange.Text = AOIResourceCulture.GetValue("显示测试图片");
lblCurrImage.Text = AOIResourceCulture.GetValue("基准图:"); lblCurrImage.Text = AOIResourceCulture.GetValue("基准图:");
lblCurrImage.ForeColor = Color.LawnGreen; lblCurrImage.ForeColor = Color.LawnGreen;
groupImage.Text= AOIResourceCulture.GetValue("基准图:");
imageBox1.Image = BaseImg; imageBox1.Image = BaseImg;
} }
else else
...@@ -678,6 +679,7 @@ namespace AccAOI ...@@ -678,6 +679,7 @@ namespace AccAOI
imageBox1.Visible = false; imageBox1.Visible = false;
btnImageChange.Text = AOIResourceCulture.GetValue("显示基准图片"); btnImageChange.Text = AOIResourceCulture.GetValue("显示基准图片");
lblCurrImage.Text = AOIResourceCulture.GetValue("测试/效果图:"); lblCurrImage.Text = AOIResourceCulture.GetValue("测试/效果图:");
groupImage.Text = AOIResourceCulture.GetValue("测试/效果图:");
lblCurrImage.ForeColor = Color.DodgerBlue; lblCurrImage.ForeColor = Color.DodgerBlue;
} }
} }
...@@ -891,7 +893,7 @@ namespace AccAOI ...@@ -891,7 +893,7 @@ namespace AccAOI
AoiMethod OldMethod = aoiControl.GetAoiInfo(); AoiMethod OldMethod = aoiControl.GetAoiInfo();
AoiMethod methodInfo = OldMethod.GetClone(); AoiMethod methodInfo = OldMethod.GetClone();
string text = ControlUtil.GetMethodType(methodInfo); string text = ControlUtil.GetMethodType(methodInfo);
string defaultName = Project.methodMap.Values.Count.ToString().PadLeft(2, '0') + "_" + text; string defaultName = (Project.methodMap.Values.Count+1).ToString().PadLeft(2, '0') + "_" + text;
FrmMethodName frmName = new FrmMethodName(defaultName, new List<string>(Project.methodMap.Keys)); FrmMethodName frmName = new FrmMethodName(defaultName, new List<string>(Project.methodMap.Keys));
frmName.Text = AOIResourceCulture.GetValue("请输入新【{0}】名称", text); frmName.Text = AOIResourceCulture.GetValue("请输入新【{0}】名称", text);
DialogResult result = frmName.ShowDialog(); DialogResult result = frmName.ShowDialog();
......
...@@ -45,7 +45,7 @@ namespace AccAOI ...@@ -45,7 +45,7 @@ namespace AccAOI
private void ConProcess(System.Windows.Forms.Control con, string className) private void ConProcess(System.Windows.Forms.Control con, string className)
{ {
if ( con is FlatLabel || con is FlatButton || con is Label || con is Button) if (con is FlatLabel || con is FlatButton || con is Label || con is Button)
{ {
string newStr = AOIResourceCulture.GetString(AOIResourceCulture.GetTextIdStr(className, con.Name), con.Text); string newStr = AOIResourceCulture.GetString(AOIResourceCulture.GetTextIdStr(className, con.Name), con.Text);
con.Text = newStr; con.Text = newStr;
...@@ -60,6 +60,18 @@ namespace AccAOI ...@@ -60,6 +60,18 @@ namespace AccAOI
ConProcess(pancon, className); ConProcess(pancon, className);
} }
} }
else if (con is FlatPanel || con is GroupBox)
{
string newStr = AOIResourceCulture.GetString(AOIResourceCulture.GetTextIdStr(className, con.Name), con.Text);
GroupBox pan = (GroupBox)con;
foreach (System.Windows.Forms.Control pancon in pan.Controls)
{
ConProcess(pancon, className);
}
string newGroupStr = AOIResourceCulture.GetString(AOIResourceCulture.GetTextIdStr(className, con.Name), con.Text);
con.Text = newGroupStr;
con.Tag = newStr;
}
} }
public virtual void LanguagePro() public virtual void LanguagePro()
......
FrmAoiSetting_Text=AOI FrmAoiSetting_Text=AOI
FrmAoiSetting_btnUpdateName_Text=Rename FrmAoiSetting_btnUpdateName_Text=Rename
FrmAoiSetting_lblCurrImage_Text=Standard Image: FrmAoiSetting_lblCurrImage_Text=Standard Image:
FrmAoiSetting_flatButton1_Text=Get test image FrmAoiSetting_flatButton1_Text=Capture
FrmAoiSetting_flatButton2_Text=Select test image FrmAoiSetting_flatButton2_Text=Upload
FrmAoiSetting_btnImageChange_Text=Switch to test Image FrmAoiSetting_btnImageChange_Text=Switch to test Image
FrmAoiSetting_btnDel_Text=Delete FrmAoiSetting_btnDel_Text=Delete
FrmAoiSetting_btnCopy_Text=Copy FrmAoiSetting_btnCopy_Text=Copy
FrmAoiSetting_btnExcute_Text=Execute FrmAoiSetting_btnExcute_Text=Start
FrmAoiSetting_btnGetCameraImg_Text=Get standard Image FrmAoiSetting_btnGetCameraImg_Text=Capture
FrmAoiSetting_flatLabel1_Text=Cameras: FrmAoiSetting_flatLabel1_Text=Cameras:
FrmAoiSetting_btnOpenImage_Text=Select reference picture FrmAoiSetting_btnOpenImage_Text=Upload
FrmAoiSetting_btnNewAoi_Text=New FrmAoiSetting_btnNewAoi_Text=New
FrmAoiSetting_btnSavePro_Text=Save project FrmAoiSetting_btnSavePro_Text=Save project
FrmAoiSetting_btnOpenPro_Text=Open project FrmAoiSetting_btnOpenPro_Text=Open project
...@@ -82,7 +82,7 @@ AoiColorMatchControl_btnClearArea_Text=Clear ...@@ -82,7 +82,7 @@ AoiColorMatchControl_btnClearArea_Text=Clear
AoiColorMatchControl_btnImgType_Text=Original AoiColorMatchControl_btnImgType_Text=Original
AoiColorMatchControl_btnSetArea_Text=Ellipse AoiColorMatchControl_btnSetArea_Text=Ellipse
AoiColorMatchControl_panAreaImage_Text=Regional Image AoiColorMatchControl_panAreaImage_Text=Regional Image
FrmAoiSetting_btnPCBRect_Text=Set PCB Criteria Range FrmAoiSetting_btnPCBRect_Text=Range Define
AioEyemMarkControl_btnTest_Text=Apply AioEyemMarkControl_btnTest_Text=Apply
AioEyemMarkControl_flatLabel3_Text=Similarity: AioEyemMarkControl_flatLabel3_Text=Similarity:
AioEyemMarkControl_flatLabel2_Text=Mark area x AioEyemMarkControl_flatLabel2_Text=Mark area x
...@@ -117,10 +117,10 @@ Mark区域无效=Mark area is invalid. ...@@ -117,10 +117,10 @@ Mark区域无效=Mark area is invalid.
FrmMethodName_btnOk_Text=OK FrmMethodName_btnOk_Text=OK
FrmMethodName_btnCancel_Text=Cancel FrmMethodName_btnCancel_Text=Cancel
请输入新【{0}】名称=Please enter a new [{0}] name. 请输入新【{0}】名称=Please enter a new [{0}] name.
显示基准图片=Display Standard Image 显示基准图片=Tempelate
测试/效果图:=Testing/Rendering Image 测试/效果图:=Verify
显示测试图片=Switch To Test Image 显示测试图片=Verify
基准图:=Standard Image 基准图:=Tempelate
原图=Original 原图=Original
区域图像 - 效果图=Area Image - Renderings 区域图像 - 效果图=Area Image - Renderings
区域设置 - 椭圆=Locale - Ellipse 区域设置 - 椭圆=Locale - Ellipse
...@@ -145,4 +145,11 @@ FrmMethodName_btnCancel_Text=Cancel ...@@ -145,4 +145,11 @@ FrmMethodName_btnCancel_Text=Cancel
设置基准PCB范围=Set PCB Criteria Range 设置基准PCB范围=Set PCB Criteria Range
模版匹配=Template Matching 模版匹配=Template Matching
保存基准图=Save Standard Image 保存基准图=Save Standard Image
保存测试图=Save Test Image
\ No newline at end of file \ No newline at end of file
保存测试图=Save Test Image
图像校准点1=图像校准点1
模板匹配1=模板匹配1
FrmAoiSetting_groupBox4_Text=Range of interest
FrmAoiSetting_groupImage_Text=Tempelate
FrmAoiSetting_groupBox2_Text=Verify
FrmAoiSetting_groupBox1_Text=Tempelate
FrmAoiSetting_label1_Text=label1
\ No newline at end of file \ No newline at end of file
...@@ -145,5 +145,12 @@ FrmMethodName_btnCancel_Text=取消 ...@@ -145,5 +145,12 @@ FrmMethodName_btnCancel_Text=取消
设置基准PCB范围=设置基准PCB范围 设置基准PCB范围=设置基准PCB范围
模版匹配=模版匹配 模版匹配=模版匹配
保存基准图=保存基准图 保存基准图=保存基准图
保存测试图=保存测试图 保存测试图=保存测试图
图像校准点1=图像校准点1
模板匹配1=模板匹配1
FrmAoiSetting_groupBox4_Text=ROI 参数
FrmAoiSetting_groupImage_Text=基准图
FrmAoiSetting_groupBox2_Text=测试图片
FrmAoiSetting_groupBox1_Text=基准图片
FrmAoiSetting_label1_Text=label1

using Acc.ImageBox;
namespace AccAOI
{
partial class FrmAoiSetting
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAoiSetting));
this.aoiList = new Asa.Theme.FlatList();
this.btnOpenPro = new Asa.Theme.FlatButton();
this.btnSavePro = new Asa.Theme.FlatButton();
this.btnNewAoi = new Asa.Theme.FlatButton();
this.btnOpenImage = new Asa.Theme.FlatButton();
this.btnGetCameraImg = new Asa.Theme.FlatButton();
this.panAoi = new System.Windows.Forms.Panel();
this.btnExcute = new Asa.Theme.FlatButton();
this.btnDel = new Asa.Theme.FlatButton();
this.btnImageChange = new Asa.Theme.FlatButton();
this.flatButton1 = new Asa.Theme.FlatButton();
this.flatButton2 = new Asa.Theme.FlatButton();
this.lblCurrImage = new System.Windows.Forms.Label();
this.btnUpdateName = new Asa.Theme.FlatButton();
this.panTest = new System.Windows.Forms.Panel();
this.testImageBox1 = new Acc.ImageBox.AccImageBox();
this.panel1 = new System.Windows.Forms.Panel();
this.lblTestResult = new System.Windows.Forms.Label();
this.imageBox1 = new Acc.ImageBox.AccImageBox();
this.btnCopy = new Asa.Theme.FlatButton();
this.btnPCBRect = new Asa.Theme.FlatButton();
this.label1 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.groupImage = new System.Windows.Forms.GroupBox();
this.panTest.SuspendLayout();
this.panel1.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupImage.SuspendLayout();
this.SuspendLayout();
//
// aoiList
//
this.aoiList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.aoiList.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.aoiList.Inside = false;
this.aoiList.Location = new System.Drawing.Point(4, 97);
this.aoiList.Name = "aoiList";
this.aoiList.SelectedIndex = -1;
this.aoiList.Size = new System.Drawing.Size(283, 516);
this.aoiList.TabIndex = 2;
this.aoiList.SelectedIndexChanged += new Asa.Theme.Event.SelectedIndexChanged(this.aoiList_IndexChanged);
//
// btnOpenPro
//
this.btnOpenPro.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnOpenPro.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnOpenPro.ImageSize = new System.Drawing.Size(0, 0);
this.btnOpenPro.Inside = false;
this.btnOpenPro.Location = new System.Drawing.Point(5, 20);
this.btnOpenPro.Name = "btnOpenPro";
this.btnOpenPro.Size = new System.Drawing.Size(140, 30);
this.btnOpenPro.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnOpenPro.TabIndex = 6;
this.btnOpenPro.Text = "打开项目";
this.btnOpenPro.Click += new System.EventHandler(this.btnOpenPro_Click);
//
// btnSavePro
//
this.btnSavePro.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnSavePro.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSavePro.ImageSize = new System.Drawing.Size(0, 0);
this.btnSavePro.Inside = false;
this.btnSavePro.Location = new System.Drawing.Point(147, 20);
this.btnSavePro.Name = "btnSavePro";
this.btnSavePro.Size = new System.Drawing.Size(140, 30);
this.btnSavePro.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnSavePro.TabIndex = 7;
this.btnSavePro.Text = "保存项目";
this.btnSavePro.Click += new System.EventHandler(this.btnSavePro_Click);
//
// btnNewAoi
//
this.btnNewAoi.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnNewAoi.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnNewAoi.ImageSize = new System.Drawing.Size(0, 0);
this.btnNewAoi.Inside = false;
this.btnNewAoi.Location = new System.Drawing.Point(5, 20);
this.btnNewAoi.Name = "btnNewAoi";
this.btnNewAoi.Size = new System.Drawing.Size(140, 30);
this.btnNewAoi.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnNewAoi.TabIndex = 8;
this.btnNewAoi.Text = "新增模版";
this.btnNewAoi.Click += new System.EventHandler(this.btnNewAoi_Click);
//
// btnOpenImage
//
this.btnOpenImage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnOpenImage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnOpenImage.ImageSize = new System.Drawing.Size(0, 0);
this.btnOpenImage.Inside = false;
this.btnOpenImage.Location = new System.Drawing.Point(573, 20);
this.btnOpenImage.Name = "btnOpenImage";
this.btnOpenImage.Size = new System.Drawing.Size(140, 30);
this.btnOpenImage.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnOpenImage.TabIndex = 10;
this.btnOpenImage.Text = "选择基准图片";
this.btnOpenImage.Click += new System.EventHandler(this.btnOpenImage_Click);
//
// btnGetCameraImg
//
this.btnGetCameraImg.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnGetCameraImg.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnGetCameraImg.ImageSize = new System.Drawing.Size(0, 0);
this.btnGetCameraImg.Inside = false;
this.btnGetCameraImg.Location = new System.Drawing.Point(431, 20);
this.btnGetCameraImg.Name = "btnGetCameraImg";
this.btnGetCameraImg.Size = new System.Drawing.Size(140, 30);
this.btnGetCameraImg.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnGetCameraImg.TabIndex = 13;
this.btnGetCameraImg.Text = "获取基准图片";
this.btnGetCameraImg.Click += new System.EventHandler(this.btnGetCameraImg_Click);
//
// panAoi
//
this.panAoi.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.panAoi.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.panAoi.Location = new System.Drawing.Point(319, 15);
this.panAoi.Name = "panAoi";
this.panAoi.Size = new System.Drawing.Size(388, 598);
this.panAoi.TabIndex = 15;
this.panAoi.Paint += new System.Windows.Forms.PaintEventHandler(this.panAoi_Paint);
//
// btnExcute
//
this.btnExcute.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnExcute.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnExcute.ImageSize = new System.Drawing.Size(0, 0);
this.btnExcute.Inside = false;
this.btnExcute.Location = new System.Drawing.Point(545, 20);
this.btnExcute.Name = "btnExcute";
this.btnExcute.Size = new System.Drawing.Size(161, 30);
this.btnExcute.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnExcute.TabIndex = 16;
this.btnExcute.Text = "执行测试";
this.btnExcute.Click += new System.EventHandler(this.btnExcute_Click);
//
// btnDel
//
this.btnDel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnDel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnDel.ImageSize = new System.Drawing.Size(0, 0);
this.btnDel.Inside = false;
this.btnDel.Location = new System.Drawing.Point(147, 56);
this.btnDel.Name = "btnDel";
this.btnDel.Size = new System.Drawing.Size(140, 30);
this.btnDel.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnDel.TabIndex = 17;
this.btnDel.Text = "删除";
this.btnDel.Click += new System.EventHandler(this.btnDel_Click);
//
// btnImageChange
//
this.btnImageChange.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnImageChange.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnImageChange.ImageSize = new System.Drawing.Size(0, 0);
this.btnImageChange.Inside = false;
this.btnImageChange.Location = new System.Drawing.Point(365, 20);
this.btnImageChange.Name = "btnImageChange";
this.btnImageChange.Size = new System.Drawing.Size(161, 30);
this.btnImageChange.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnImageChange.TabIndex = 18;
this.btnImageChange.Text = "切换为测试图片";
this.btnImageChange.Click += new System.EventHandler(this.btnImageChange_Click);
//
// flatButton1
//
this.flatButton1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.flatButton1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.flatButton1.ImageSize = new System.Drawing.Size(0, 0);
this.flatButton1.Inside = false;
this.flatButton1.Location = new System.Drawing.Point(5, 20);
this.flatButton1.Name = "flatButton1";
this.flatButton1.Size = new System.Drawing.Size(161, 30);
this.flatButton1.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.flatButton1.TabIndex = 20;
this.flatButton1.Text = "获取测试图片";
this.flatButton1.Click += new System.EventHandler(this.flatButton1_Click);
//
// flatButton2
//
this.flatButton2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.flatButton2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.flatButton2.ImageSize = new System.Drawing.Size(0, 0);
this.flatButton2.Inside = false;
this.flatButton2.Location = new System.Drawing.Point(185, 20);
this.flatButton2.Name = "flatButton2";
this.flatButton2.Size = new System.Drawing.Size(161, 30);
this.flatButton2.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.flatButton2.TabIndex = 19;
this.flatButton2.Text = "选择测试图片";
this.flatButton2.Click += new System.EventHandler(this.flatButton2_Click);
//
// lblCurrImage
//
this.lblCurrImage.AutoSize = true;
this.lblCurrImage.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblCurrImage.ForeColor = System.Drawing.Color.LawnGreen;
this.lblCurrImage.Location = new System.Drawing.Point(484, 0);
this.lblCurrImage.Name = "lblCurrImage";
this.lblCurrImage.Size = new System.Drawing.Size(74, 22);
this.lblCurrImage.TabIndex = 22;
this.lblCurrImage.Text = "基准图:";
this.lblCurrImage.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.lblCurrImage.Visible = false;
this.lblCurrImage.Click += new System.EventHandler(this.lblCurrImage_Click);
//
// btnUpdateName
//
this.btnUpdateName.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnUpdateName.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnUpdateName.ImageSize = new System.Drawing.Size(0, 0);
this.btnUpdateName.Inside = false;
this.btnUpdateName.Location = new System.Drawing.Point(5, 56);
this.btnUpdateName.Name = "btnUpdateName";
this.btnUpdateName.Size = new System.Drawing.Size(140, 30);
this.btnUpdateName.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnUpdateName.TabIndex = 23;
this.btnUpdateName.Text = "修改";
this.btnUpdateName.Click += new System.EventHandler(this.btnUpdateName_Click);
//
// panTest
//
this.panTest.Controls.Add(this.testImageBox1);
this.panTest.Location = new System.Drawing.Point(6, 42);
this.panTest.Name = "panTest";
this.panTest.Size = new System.Drawing.Size(552, 403);
this.panTest.TabIndex = 25;
//
// testImageBox1
//
this.testImageBox1.AllowDoubleClick = true;
this.testImageBox1.BackColor = System.Drawing.Color.Silver;
this.testImageBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.testImageBox1.DragHandleSize = 9;
this.testImageBox1.GridColor = System.Drawing.Color.Black;
this.testImageBox1.GridColorAlternate = System.Drawing.Color.Black;
this.testImageBox1.Location = new System.Drawing.Point(0, 0);
this.testImageBox1.Name = "testImageBox1";
this.testImageBox1.SelectionColor = System.Drawing.Color.Blue;
this.testImageBox1.Size = new System.Drawing.Size(552, 403);
this.testImageBox1.TabIndex = 21;
this.testImageBox1.DoubleClick += new System.EventHandler(this.testImageBox1_DoubleClick);
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.panel1.AutoScroll = true;
this.panel1.Controls.Add(this.lblTestResult);
this.panel1.Location = new System.Drawing.Point(8, 56);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(312, 19);
this.panel1.TabIndex = 22;
this.panel1.Visible = false;
//
// lblTestResult
//
this.lblTestResult.AutoSize = true;
this.lblTestResult.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblTestResult.ForeColor = System.Drawing.Color.White;
this.lblTestResult.Location = new System.Drawing.Point(3, 5);
this.lblTestResult.Name = "lblTestResult";
this.lblTestResult.Size = new System.Drawing.Size(43, 17);
this.lblTestResult.TabIndex = 22;
this.lblTestResult.Text = "Result";
//
// imageBox1
//
this.imageBox1.AllowDoubleClick = true;
this.imageBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.imageBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.imageBox1.DragHandleSize = 9;
this.imageBox1.GridColor = System.Drawing.Color.Black;
this.imageBox1.GridColorAlternate = System.Drawing.Color.Black;
this.imageBox1.Location = new System.Drawing.Point(6, 20);
this.imageBox1.Name = "imageBox1";
this.imageBox1.SelectionColor = System.Drawing.Color.Yellow;
this.imageBox1.SelectionMode = Acc.ImageBox.ImageBoxSelectionMode.Rectangle;
this.imageBox1.Size = new System.Drawing.Size(552, 756);
this.imageBox1.TabIndex = 4;
this.imageBox1.SelectionRegionChanged += new System.EventHandler(this.imageBox1_SelectionRegionChanged);
this.imageBox1.DoubleClick += new System.EventHandler(this.imageBox1_DoubleClick);
//
// btnCopy
//
this.btnCopy.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnCopy.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnCopy.ImageSize = new System.Drawing.Size(0, 0);
this.btnCopy.Inside = false;
this.btnCopy.Location = new System.Drawing.Point(147, 20);
this.btnCopy.Name = "btnCopy";
this.btnCopy.Size = new System.Drawing.Size(140, 30);
this.btnCopy.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnCopy.TabIndex = 26;
this.btnCopy.Text = "复制模版";
this.btnCopy.Click += new System.EventHandler(this.btnCopy_Click);
//
// btnPCBRect
//
this.btnPCBRect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnPCBRect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnPCBRect.ImageSize = new System.Drawing.Size(0, 0);
this.btnPCBRect.Inside = false;
this.btnPCBRect.Location = new System.Drawing.Point(289, 20);
this.btnPCBRect.Name = "btnPCBRect";
this.btnPCBRect.Size = new System.Drawing.Size(140, 30);
this.btnPCBRect.StateColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.btnPCBRect.TabIndex = 27;
this.btnPCBRect.Text = "设置基准PCB范围";
this.btnPCBRect.Click += new System.EventHandler(this.btnPCBRect_Click);
//
// label1
//
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.label1.Location = new System.Drawing.Point(206, 788);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(29, 23);
this.label1.TabIndex = 23;
this.label1.Text = "label1";
this.label1.Click += new System.EventHandler(this.label1_Click);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.btnOpenPro);
this.groupBox1.Controls.Add(this.btnSavePro);
this.groupBox1.Controls.Add(this.btnPCBRect);
this.groupBox1.Controls.Add(this.btnGetCameraImg);
this.groupBox1.Controls.Add(this.btnOpenImage);
this.groupBox1.ForeColor = System.Drawing.Color.White;
this.groupBox1.Location = new System.Drawing.Point(9, 33);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(719, 65);
this.groupBox1.TabIndex = 28;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "程序信息";
//
// groupBox2
//
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.groupBox2.Controls.Add(this.flatButton1);
this.groupBox2.Controls.Add(this.panel1);
this.groupBox2.Controls.Add(this.flatButton2);
this.groupBox2.Controls.Add(this.btnImageChange);
this.groupBox2.Controls.Add(this.btnExcute);
this.groupBox2.ForeColor = System.Drawing.Color.White;
this.groupBox2.Location = new System.Drawing.Point(9, 733);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(719, 81);
this.groupBox2.TabIndex = 29;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "测试信息";
//
// groupBox3
//
this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.groupBox3.Controls.Add(this.panAoi);
this.groupBox3.Controls.Add(this.aoiList);
this.groupBox3.Controls.Add(this.btnNewAoi);
this.groupBox3.Controls.Add(this.btnDel);
this.groupBox3.Controls.Add(this.btnCopy);
this.groupBox3.Controls.Add(this.btnUpdateName);
this.groupBox3.ForeColor = System.Drawing.Color.White;
this.groupBox3.Location = new System.Drawing.Point(9, 104);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(719, 624);
this.groupBox3.TabIndex = 29;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "模板列表";
//
// groupImage
//
this.groupImage.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupImage.Controls.Add(this.lblCurrImage);
this.groupImage.Controls.Add(this.imageBox1);
this.groupImage.Controls.Add(this.panTest);
this.groupImage.ForeColor = System.Drawing.Color.LawnGreen;
this.groupImage.Location = new System.Drawing.Point(734, 33);
this.groupImage.Name = "groupImage";
this.groupImage.Size = new System.Drawing.Size(564, 782);
this.groupImage.TabIndex = 22;
this.groupImage.TabStop = false;
this.groupImage.Text = "基准图";
//
// FrmAoiSetting
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(1307, 824);
this.Controls.Add(this.groupImage);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.label1);
this.Controls.Add(this.groupBox1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Maximized = true;
this.Name = "FrmAoiSetting";
this.Text = "AOI";
this.Load += new System.EventHandler(this.FrmAoiSetting_Load);
this.Shown += new System.EventHandler(this.FrmAoiSetting_Shown);
this.panTest.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox3.ResumeLayout(false);
this.groupImage.ResumeLayout(false);
this.groupImage.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private Asa.Theme.FlatList aoiList;
private AccImageBox imageBox1;
private Asa.Theme.FlatButton btnOpenPro;
private Asa.Theme.FlatButton btnSavePro;
private Asa.Theme.FlatButton btnNewAoi;
private Asa.Theme.FlatButton btnOpenImage;
private Asa.Theme.FlatButton btnGetCameraImg;
private System.Windows.Forms.Panel panAoi;
private Asa.Theme.FlatButton btnExcute;
private Asa.Theme.FlatButton btnDel;
private Asa.Theme.FlatButton btnImageChange;
private Asa.Theme.FlatButton flatButton1;
private Asa.Theme.FlatButton flatButton2;
private AccImageBox testImageBox1;
private System.Windows.Forms.Label lblCurrImage;
private Asa.Theme.FlatButton btnUpdateName;
private System.Windows.Forms.Panel panTest;
private System.Windows.Forms.Label lblTestResult;
private System.Windows.Forms.Panel panel1;
private Asa.Theme.FlatButton btnCopy;
private Asa.Theme.FlatButton btnPCBRect;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.GroupBox groupImage;
}
}
\ No newline at end of file \ No newline at end of file
using AccAOI.camera;
using AOI;
using OpenCvSharp.XFeatures2D;
using OpenCvSharp;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenCvSharp.Extensions;
using Acc.ImageBox;
namespace AccAOI
{
public partial class FrmAoiSetting : FrmBase
{
private control.ABaseControl aoiControl = null;
/// <summary>
/// 原始剪裁基准图
/// </summary>
public static Image BaseImg = null;
/// <summary>
/// 原始基准大图
/// </summary>
public static Image OrgBaseImg = null;
public static Eyemlib.EyemImage EyemBaseImg = new Eyemlib.EyemImage();
public static Image TestImage = null;
public static Image OrgTestImage = null;
public Eyemlib.EyemImage EyemTestImage = new Eyemlib.EyemImage();
public static AoiProject Project = null;
private bool CanSel = true;
private string DefaultPath = "";
private string currProjectFileName = "";
public FrmAoiSetting()
{
InitializeComponent();
this.WindowState = FormWindowState.Maximized;
}
public FrmAoiSetting(string programPath, Image image = null, string defaultPath = "")
{
InitializeComponent();
this.Width = Screen.PrimaryScreen.WorkingArea.Width;
this.Height = Screen.PrimaryScreen.WorkingArea.Height;
this.WindowState = FormWindowState.Maximized;
CloseCurrAoi();
if (aoiList!=null)
aoiList.ItemClear();
Project = null;
if (TestImage != null)
{
TestImage.Dispose();
TestImage = null;
}
if (OrgTestImage != null)
{
OrgTestImage.Dispose();
OrgTestImage = null;
}
if (BaseImg != null)
{
BaseImg.Dispose();
BaseImg = null;
}
if (OrgBaseImg != null)
{
OrgBaseImg.Dispose();
OrgBaseImg = null;
}
if (testImageBox1.Image != null)
{
testImageBox1.Image.Dispose();
testImageBox1.Image = null;
}
if (this.imageBox1.Image != null)
{
this.imageBox1.Image.Dispose();
this.imageBox1.Image = null;
}
if (!programPath.Equals(""))
{
// BaseImg = image;
// Project = new AoiProject(image);
string result = "";
Project = AoiProject.Load(programPath, out result);
if (!result.Equals(""))
{
MyMessage.Show(AOIResourceCulture.GetValue("加载项目{0}失败:", programPath) +"\r\n" + result);
}
else
{
currProjectFileName = programPath;
}
}
if (image != null)
{
if (Project != null)
{
Project.standardImage = image;
}
}
DefaultPath = defaultPath;
groupImage.Text = AOIResourceCulture.GetValue("基准图:");
groupImage.ForeColor = Color.LawnGreen;
}
public string CurrentCamera="";
private void FrmAoiSetting_Load(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(CurrentCamera))
{
foreach (string str in CameraManager.hikNameList)
{
CurrentCamera = str;
}
}
if (Project != null)
{
ShowPorject();
}
}
private void btnOpenImage_Click(object sender, EventArgs e)
{
System.Windows.Forms.OpenFileDialog openDialog = new System.Windows.Forms.OpenFileDialog();
openDialog.Title =AOIResourceCulture.GetValue( "打开本地图片");
openDialog.Filter = "All Supported Images (*.bmp;*.dib;*.rle;*.gif;*.jpg;*.png)|*.bmp;*.dib;*.rle;*.gif;*.jpg;*.png|Bitmaps (*.bmp;*.dib;*.rle)|*.bmp;*.dib;*.rle|Graphics Interchange Format (*.gif)|*.gif|Joint Photographic Experts (*.jpg)|*.jpg|Portable Network Graphics (*.png)|*.png|All Files (*.*)|*.*";
openDialog.DefaultExt = "png";
//openDialog.DefaultExt = "png";
System.Windows.Forms.DialogResult result = openDialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.Cancel)
{
return;
}
string fileName = openDialog.FileName;
//读取图片内容
//Image file = Image.FromFile(fileName);
// BaseImg = (Image)Image.FromFile(fileName).Clone();
//file.Dispose();
//BaseImg =Eyemlib.DeepClone(new Bitmap(fileName));
var b = new Bitmap(fileName);
OrgBaseImg = Eyemlib.DeepClone(b);
b.Dispose();
if (Project != null)
Project.OrgImage = OrgBaseImg;
BaseImg = ProcessBaseImage((Bitmap)OrgBaseImg);
//(BaseImg, EyemBaseImg) = Eyemlib.ExtractPCB((Bitmap)OrgBaseImg);
if (Project != null)
{
Project.standardImage = BaseImg;
}
imageBox1.Image = BaseImg;
if (imageBox1.Visible.Equals(false))
{
btnImageChange_Click(null, null);
}
}
private void btnGetCameraImg_Click(object sender, EventArgs e)
{
try
{
string camera = CurrentCamera;
if (camera.Equals(""))
{
MyMessage.Show(AOIResourceCulture.GetValue("没有找到相机"));
return;
} //将图片保存到本地重新加载
// string filePath = Application.StartupPath + @"\aimage\" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + DateTime.Now.Millisecond.ToString().PadLeft(3, '0') ;
string filePath = Application.StartupPath + @"\aimage\";
string fileName = @"base.bmp";
using (Bitmap img = CameraManager.GetCamerImage(camera))
{
if (img != null)
{
string path = Path.GetFullPath(filePath);
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
img.Save(filePath + fileName, ImageFormat.Bmp);
}
else
{
MyMessage.Show(AOIResourceCulture.GetValue("获取图片失败"));
return;
}
}
GC.Collect();
//Image file = (Image)Image.FromFile(filePath + fileName);
//BaseImg = new Bitmap(file);
//file.Dispose();
var b = new Bitmap(filePath + fileName);
OrgBaseImg = Eyemlib.DeepClone(b);
b.Dispose();
if (Project != null)
Project.OrgImage = OrgBaseImg;
BaseImg = ProcessBaseImage((Bitmap)OrgBaseImg);
// BaseImg = (Image)Image.FromFile(filePath+ file).Clone();
//读取图片内容
//BaseImg = (Image)img.Clone();
if (Project != null)
{
Project.standardImage = BaseImg;
}
imageBox1.Image = BaseImg;
if (imageBox1.Visible.Equals(false))
{
btnImageChange_Click(null, null);
}
}
catch (Exception ex)
{
Console.WriteLine("btnGetCameraImg_Click Error:" + ex.ToString());
MyMessage.Show(ex.ToString());
}
}
public Bitmap ProcessBaseImage(Bitmap orgimage) {
var markroi = Project?.BaseROI;
if (markroi == null || markroi.RoiPath==null || markroi.RoiPath.GetBounds()== RectangleF.Empty )
{
return Eyemlib.DeepClone(orgimage);
}
else {
BaseImg = AoiProject.CropBitmap(orgimage, markroi.RoiPath.GetBounds());
return (Bitmap)BaseImg;
}
}
public Bitmap ProcessTestImage(Bitmap targetimage)
{
var markroi = Project?.BaseROI;
if (markroi == null || markroi.RoiPath == null || markroi.RoiPath.GetBounds() == RectangleF.Empty)
{
return Eyemlib.DeepClone(targetimage);
}
else
{
RectangleF rectangleF = markroi.RoiPath.GetBounds();
var result = AoiProject.SURF_MatchTemplate((Bitmap)OrgBaseImg, targetimage, rectangleF, out Bitmap matchBitmap);
//var (BaseImg, EyemBaseImg, result) = Eyemlib.ExtractPCB(orgimage, markroi.RoiPath.GetBounds());
if (!result)
{
MessageBox.Show(AOIResourceCulture.GetValue("在框选区域内没有找到PCB"));
return null;
}
return matchBitmap;
}
}
private void btnOpenPro_Click(object sender, EventArgs e)
{
if (Project != null)
{
DialogResult dialResult = MyMessage.Show(AOIResourceCulture.GetValue("是否打开新项目?"), AOIResourceCulture.GetValue("提示"), MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dialResult.Equals(DialogResult.Yes))
{
CloseCurrAoi();
aoiList.ItemClear();
Project = null;
if (TestImage != null)
{
TestImage.Dispose();
TestImage = null;
}
if (OrgTestImage != null)
{
OrgTestImage.Dispose();
OrgTestImage = null;
}
if (BaseImg != null)
{
BaseImg.Dispose();
BaseImg = null;
}
if (OrgBaseImg != null)
{
OrgBaseImg.Dispose();
OrgBaseImg = null;
}
if (testImageBox1.Image != null)
{
testImageBox1.Image.Dispose();
testImageBox1.Image = null;
}
if (this.imageBox1.Image != null)
{
this.imageBox1.Image.Dispose();
this.imageBox1.Image = null;
}
GC.Collect();
}
else
{
return;
}
}
System.Windows.Forms.OpenFileDialog openDialog = new System.Windows.Forms.OpenFileDialog();
openDialog.Title = AOIResourceCulture.GetValue("打开项目");
openDialog.Filter = "(*.data)|*.data|(*.*)|*.*";
//openDialog.RestoreDirectory = true;
if (String.IsNullOrEmpty(DefaultPath))
{
Directory.CreateDirectory("config\\AOIConfig");
openDialog.InitialDirectory = Path.Combine(Application.StartupPath, "config\\AOIConfig");
}
else
if (!String.IsNullOrEmpty(DefaultPath))
{
Directory.CreateDirectory(DefaultPath);
openDialog.InitialDirectory = DefaultPath;
}
//openDialog.DefaultExt = "png";
System.Windows.Forms.DialogResult result = openDialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.Cancel)
{
return;
}
string fileName = openDialog.FileName;
// Project = new AoiProject(BaseImg);
string msg = "";
Project = AoiProject.Load(fileName, out msg);
if (!msg.Equals(""))
{
MyMessage.Show(AOIResourceCulture.GetValue("加载项目{0}失败:", fileName) + "\r\n" + msg);
}
else
{
currProjectFileName = fileName;
}
ShowPorject();
}
private void btnSavePro_Click(object sender, EventArgs e)
{
if (Project == null)
{
MyMessage.Show(AOIResourceCulture.GetValue("没有项目可保存"));
return;
}
SaveCurrAoi();
System.Windows.Forms.SaveFileDialog saveFileDialog = new System.Windows.Forms.SaveFileDialog();
saveFileDialog.Title = AOIResourceCulture.GetValue("保存项目");
saveFileDialog.Filter = "(*.data)|*.data|(*.*)|*.*";
//saveFileDialog.FileOk += (CancelEventHandler)delegate(object s, CancelEventArgs c) {
// //if (Path.GetFullPath(saveFileDialog.FileName) !=
// //Path.GetFullPath(Path.Combine(Application.StartupPath, "config\\AOIConfig")))
// // c.Cancel= true;
//};
//saveFileDialog.RestoreDirectory = true;
if (!String.IsNullOrEmpty(currProjectFileName))
{
saveFileDialog.InitialDirectory = Path.GetFullPath(currProjectFileName);
saveFileDialog.FileName = Path.GetFileName(currProjectFileName);
}
else if (!String.IsNullOrEmpty(DefaultPath))
{
saveFileDialog.InitialDirectory = DefaultPath;
}
else {
Directory.CreateDirectory("config\\AOIConfig");
saveFileDialog.InitialDirectory = Path.Combine(Application.StartupPath, "config\\AOIConfig");
}
//openDialog.DefaultExt = "png";
System.Windows.Forms.DialogResult result = saveFileDialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.Cancel)
{
return;
}
string fileName = saveFileDialog.FileName;
Project.Save(fileName);
MyMessage.Show(AOIResourceCulture.GetValue("保存成功"));
}
private void SaveFileDialog_FileOk(object sender, CancelEventArgs e)
{
throw new NotImplementedException();
}
private void btnNewAoi_Click(object sender, EventArgs e)
{
if (BaseImg == null)
{
MyMessage.Show(AOIResourceCulture.GetValue("请先选择基准图片"));
return;
}
if (Project == null)
{
Project = new AoiProject(BaseImg, OrgBaseImg);
}
if (Project.BaseROI.RoiPath== null || Project.BaseROI.RoiPath.GetBounds() == RectangleF.Empty)
{
MyMessage.Show(AOIResourceCulture.GetValue("设置基准PCB范围"));
return;
}
//if (comType.Text.Equals(""))
//{
// MyMessage.Show("请选择类型");
// comType.Focus();
// return;
//}
//string text = comType.Text;
//AoiMethod methodInfo = ControlUtil.GetMethod(text);
AoiMethod methodInfo = new AoiEyemTemplateMethod();
string text = AOIResourceCulture.GetValue("模版匹配");
string defaultName = Project.methodMap.Values.Count.ToString().PadLeft(2, '0') + "_" + text;
FrmMethodName frmName = new FrmMethodName(defaultName, new List<string>(Project.methodMap.Keys));
frmName.Text = AOIResourceCulture.GetValue("请输入新【{0}】名称",text);
DialogResult result = frmName.ShowDialog();
if (result.Equals(DialogResult.OK))
{
methodInfo.MethodName = frmName.MethodName;
}
else
{
return;
}
CloseCurrAoi();
// methodInfo.MethodName = Project.methodMap.Values.Count.ToString().PadLeft(2, '0') + "_" + text;
Project.methodMap.Add(methodInfo.MethodName, methodInfo);
ShowAoi(methodInfo);
aoiList.ItemAdd(methodInfo.MethodName);
aoiList.SelectedIndex = Project.methodMap.Count - 1;
if (imageBox1.Visible.Equals(false))
{
btnImageChange_Click(null, null);
}
}
private void ShowAoi(AoiMethod method)
{
CanSel = false;
imageBox1.SelectNone();
imageBox1.Image = BaseImg;
CanSel = true;
if (aoiControl == null)
{
aoiControl = ControlUtil.GetControl(method);
}
this.aoiControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
aoiControl.FormBorderStyle = FormBorderStyle.None;
aoiControl.StartPosition = FormStartPosition.CenterParent;
aoiControl.Location = new System.Drawing.Point(0, 0);
aoiControl.BImageBox = this.imageBox1;
aoiControl.AoiInfo = method;
aoiControl.Size = panAoi.Size;
aoiControl.TitleName = method.MethodName;
aoiControl.TopLevel = false;
aoiControl.Parent = panAoi;
if (method.RoiPath != null)
{
currPath = method.RoiPath;
imageBox1.SelectionRegion = method.RoiPath;
//Image threshImage = CutImage(imageBox1.Image, currPath);
//cutImage = threshImage;
aoiControl.SetCurrPath(currPath, true);
}
aoiControl.Show();
aoiControl.ShowAoiInfo();
}
private void SaveCurrAoi()
{
if (aoiControl != null && aoiControl.Visible)
{
AoiMethod method = aoiControl.GetAoiInfo();
if (method is AoiEyemMarkMethod)
return;
//更新
if (Project.methodMap.ContainsKey(method.MethodName))
{
Project.methodMap[method.MethodName] = method;
}
}
}
private void CloseCurrAoi()
{
SaveCurrAoi();
if (aoiControl != null)
{
if (aoiControl.Visible)
{
aoiControl.Close();
}
aoiControl.Dispose();
aoiControl = null;
}
}
public void ShowPorject()
{
if (Project != null)
{
CloseCurrAoi();
aoiList.ItemClear();
BaseImg = Project.standardImage;
OrgBaseImg = Project.OrgImage;
imageBox1.Image = Project.standardImage;
imageBox1.SelectionRegion = new GraphicsPath();
if (Project.methodMap.Count > 0)
{
int index = 0;
foreach (string key in Project.methodMap.Keys)
{
aoiList.ItemAdd(key);
if (index.Equals(0))
{
aoiList.SelectedIndex = index;
ShowAoi(Project.methodMap[key]);
}
index++;
}
}
if (imageBox1.Visible.Equals(false))
{
btnImageChange_Click(null, null);
}
}
}
private void aoiList_IndexChanged(object sender )
{
// int index = aoiList.SelectedIndex;
if (aoiList.SelectedIndex >= 0 && (Project != null))
{
string text = aoiList.Text;
// List<AoiMethod> methods = new List<AoiMethod>(Project.methodMap.Values);
if (Project.methodMap.ContainsKey(text ))
{
AoiMethod method = Project.methodMap[text];
if (aoiControl != null && aoiControl.TitleName.Equals(method.MethodName))
{
return;
}
else
{
CloseCurrAoi();
ShowAoi(method);
}
}
if (imageBox1.Visible.Equals(false))
{
btnImageChange_Click(null, null);
}
}
}
private Image cutImage = null;
private GraphicsPath currPath = null;
private void imageBox1_SelectionRegionChanged(object sender, EventArgs e)
{
try
{
if (!CanSel)
{
return;
}
if (imageBox1.Image == null || BaseImg == null || aoiControl == null)
{
return;
}
currPath = imageBox1.SelectionRegion;
aoiControl.SetCurrPath(currPath);
}
catch (Exception ex)
{
}
}
private void btnExcute_Click(object sender, EventArgs e)
{
SaveCurrAoi();
CanSel = false;
if (BaseImg == null)
{
return;
}
if (Project == null)
{
return;
}
if (TestImage == null)
{
//MyMessage.Show("请选择测试图片");
return;
}
lblTestResult.Text = "";
Image outImage = null;
List<ResultBean> result = Project.CheckAll(TestImage, out outImage);
if (outImage != null)
{
if (!this.panTest.Visible)
{
btnImageChange_Click(null, null);
}
this.testImageBox1.SelectNone();
this.testImageBox1.Image = outImage;
}
if (result == null)
{
lblTestResult.Text = "Result: null";
}
else
{
lblTestResult.Text = ControlUtil. GetResultsStr(result);
}
GC.Collect();
CanSel = true;
}
private void btnDel_Click(object sender, EventArgs e)
{
if (BaseImg == null)
{
return;
}
if (Project == null)
{
return;
}
if (this.aoiControl != null && !string.IsNullOrEmpty(aoiControl.AoiInfo.MethodName))
{
DialogResult result = MyMessage.Show(AOIResourceCulture.GetValue("确定删除{0} ?", aoiControl.TitleName), AOIResourceCulture.GetValue("提示"), MessageBoxButtons.OKCancel, aoiControl.AoiInfo.MethodName);
if (result.Equals(DialogResult.OK))
{
if (Project.methodMap.ContainsKey(aoiControl.AoiInfo.MethodName))
{
Project.methodMap.Remove(aoiControl.AoiInfo.MethodName);
ShowPorject();
}
}
}
}
private void btnImageChange_Click(object sender, EventArgs e)
{
if (panTest.Visible)
{
panTest.Visible = false;
imageBox1.Visible = true;
btnImageChange.Text = AOIResourceCulture.GetValue("显示测试图片");
lblCurrImage.Text = AOIResourceCulture.GetValue("基准图:");
lblCurrImage.ForeColor = Color.LawnGreen;
groupImage.Text = AOIResourceCulture.GetValue("基准图:");
groupImage.ForeColor = Color.LawnGreen;
imageBox1.Image = BaseImg;
}
else
{
panTest.Visible = true;
imageBox1.Visible = false;
btnImageChange.Text = AOIResourceCulture.GetValue("显示基准图片");
lblCurrImage.Text = AOIResourceCulture.GetValue("测试/效果图:");
lblCurrImage.ForeColor = Color.DodgerBlue;
groupImage.Text = AOIResourceCulture.GetValue("测试/效果图:");
groupImage.ForeColor = Color.DodgerBlue;
}
}
private void flatButton2_Click(object sender, EventArgs e)
{
System.Windows.Forms.OpenFileDialog openDialog = new System.Windows.Forms.OpenFileDialog();
openDialog.Title = AOIResourceCulture.GetValue("打开本地图片");
openDialog.Filter = "All Supported Images (*.bmp;*.dib;*.rle;*.gif;*.jpg;*.png)|*.bmp;*.dib;*.rle;*.gif;*.jpg;*.png|Bitmaps (*.bmp;*.dib;*.rle)|*.bmp;*.dib;*.rle|Graphics Interchange Format (*.gif)|*.gif|Joint Photographic Experts (*.jpg)|*.jpg|Portable Network Graphics (*.png)|*.png|All Files (*.*)|*.*";
openDialog.DefaultExt = "png";
//openDialog.DefaultExt = "png";
System.Windows.Forms.DialogResult result = openDialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.Cancel)
{
return;
}
string fileName = openDialog.FileName;
//读取图片内容
//Image file = (Image)Image.FromFile(fileName);
//TestImage = new Bitmap(file);
//file.Dispose();
var b = new Bitmap(fileName);
OrgTestImage = Eyemlib.DeepClone(b);
TestImage = ProcessTestImage(b);
b.Dispose();
testImageBox1.Image = TestImage;
lblTestResult.Text = "";
if (panTest.Visible.Equals(false))
{
btnImageChange_Click(null, null);
}
}
private void FrmAoiSetting_Shown(object sender, EventArgs e)
{
panTest.Size = imageBox1.Size;
panTest.Location = imageBox1.Location;
panTest.Visible = false;
}
private void flatButton1_Click(object sender, EventArgs e)
{
string camera = CurrentCamera;
if (camera.Equals(""))
{
MyMessage.Show(AOIResourceCulture.GetValue("没有找到相机"));
return;
}
string filePath = Application.StartupPath + @"\aimage\";
Directory.CreateDirectory(filePath);
string fileName = @"\test.bmp";
using (Bitmap img = CameraManager.GetCamerImage(camera))
{
if (img != null)
{
string path = Path.GetFullPath(filePath);
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
img.Save(filePath + fileName, ImageFormat.Bmp);
}
else
{
MyMessage.Show(AOIResourceCulture.GetValue("获取图片失败"));
return;
}
}
GC.Collect();
//Image file = (Image)Image.FromFile(filePath + fileName);
//TestImage = new Bitmap(file);
//file.Dispose();
var bmp = new Bitmap(filePath + fileName);
OrgTestImage = Eyemlib.DeepClone(bmp);
TestImage = ProcessTestImage(Eyemlib.DeepClone(bmp));
bmp.Dispose();
//读取图片内容
testImageBox1.Image = TestImage;
lblTestResult.Text = "";
if (panTest.Visible.Equals(false))
{
btnImageChange_Click(null, null);
}
}
private void btnUpdateName_Click(object sender, EventArgs e)
{
// int index = aoiList.SelectedIndex;
if (aoiList.SelectedIndex >= 0 && (Project != null)&&(aoiControl!=null))
{
string oldName = aoiList.Text;
if (Project.methodMap.ContainsKey(oldName))
{
// AoiMethod method = methods[index];
// string oldName = methods[index].MethodName;
List<string> allName = new List<string>(Project.methodMap.Keys);
allName.Remove(oldName);
FrmMethodName frmName = new FrmMethodName(oldName, allName);
frmName.Text = AOIResourceCulture.GetValue("请输入修改后的名称");
DialogResult result = frmName.ShowDialog();
if (result.Equals(DialogResult.OK))
{
string newName= frmName.MethodName;
if (newName.Equals(oldName))
{
return;
}
Project.methodMap[oldName].MethodName = newName;
List<AoiMethod> methods = new List<AoiMethod>(Project.methodMap.Values);
//Project.methodMap.Remove(oldName);
//Project.methodMap.Add(newName, method);
Project.methodMap.Clear();
aoiList.ItemClear();
foreach (AoiMethod m in methods)
{
Project.methodMap.Add(m.MethodName, m);
aoiList.ItemAdd(m.MethodName);
}
aoiControl.TitleName = newName;
}
else
{
return;
}
}
if (imageBox1.Visible.Equals(false))
{
btnImageChange_Click(null, null);
}
}
}
private void lblCurrImage_Click(object sender, EventArgs e)
{
try
{
Image needSaveImage = null;
if (panTest.Visible)
{
needSaveImage = testImageBox1.Image;
}
else
{
needSaveImage = imageBox1.Image;
}
if (needSaveImage != null)
{
System.Windows.Forms.SaveFileDialog saveFileDialog = new System.Windows.Forms.SaveFileDialog();
saveFileDialog.Title = AOIResourceCulture.GetValue("保存项目");
saveFileDialog.Filter = "(*.bmp)|*.bmp";
System.Windows.Forms.DialogResult result = saveFileDialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.Cancel)
{
return;
}
string fileName = saveFileDialog.FileName;
needSaveImage.Save(fileName, ImageFormat.Bmp);
MyMessage.Show(AOIResourceCulture.GetValue("保存成功"));
}
}catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void btnLan_Click(object sender, EventArgs e)
{
if (AOIResourceCulture.CurrLanguage.Equals(AOIResourceCulture.China))
{
AOIResourceCulture.SetCurrentCulture(AOIResourceCulture.English);
}
else
{
AOIResourceCulture.SetCurrentCulture(AOIResourceCulture.China);
}
LanguageProcess();
LanguagePro();
if (aoiControl != null)
{
aoiControl.LanguageProcess();
aoiControl.LanguagePro();
}
}
public override void LanguagePro()
{
if (AOIResourceCulture.CurrLanguage.Equals(AOIResourceCulture.China))
{
//btnLan.Text = AOIResourceCulture.GetValue("英文");
}
else
{
//btnLan.Text = AOIResourceCulture.GetValue("中文");
}
}
private void btnCopy_Click(object sender, EventArgs e)
{
if (aoiControl != null && aoiControl.Visible)
{
//保存原来的
AoiMethod OldMethod = aoiControl.GetAoiInfo();
AoiMethod methodInfo = OldMethod.GetClone();
string text = ControlUtil.GetMethodType(methodInfo);
string defaultName = Project.methodMap.Values.Count.ToString().PadLeft(2, '0') + "_" + text;
FrmMethodName frmName = new FrmMethodName(defaultName, new List<string>(Project.methodMap.Keys));
frmName.Text = AOIResourceCulture.GetValue("请输入新【{0}】名称", text);
DialogResult result = frmName.ShowDialog();
if (result.Equals(DialogResult.OK))
{
methodInfo.MethodName = frmName.MethodName;
}
else
{
return;
}
CloseCurrAoi();
Project.methodMap.Add(methodInfo.MethodName, methodInfo);
ShowAoi(methodInfo);
aoiList.ItemAdd(methodInfo.MethodName);
aoiList.SelectedIndex = Project.methodMap.Count - 1;
if (imageBox1.Visible.Equals(false))
{
btnImageChange_Click(null, null);
}
}
}
private void flatButton3_Click(object sender, EventArgs e)
{
ConfigHelper.AdvanceConfigForm a = new ConfigHelper.AdvanceConfigForm();
a.ShowDialog();
}
//static AoiMethod BaseROI = new AoiEyemMarkMethod();
private void btnPCBRect_Click(object sender, EventArgs e)
{
if (BaseImg == null)
{
MyMessage.Show(AOIResourceCulture.GetValue("请先选择基准图片"));
return;
}
if (Project == null)
{
Project = new AoiProject(BaseImg, OrgBaseImg);
}
if (aoiControl != null && aoiControl.TitleName.Equals(Project.BaseROI.MethodName))
{
return;
}
else
{
CloseCurrAoi();
ShowAoi(Project?.BaseROI);
}
//if (imageBox1.Visible.Equals(false))
{
panTest.Visible = true;
btnImageChange_Click(null, null);
imageBox1.Image = OrgBaseImg;
}
}
private void label1_Click(object sender, EventArgs e)
{
ConfigHelper.AdvanceConfigForm.ShowEditDialog(this);
}
private void testImageBox1_DoubleClick(object sender, EventArgs e)
{
SaveImg(testImageBox1, "保存测试图", "test");
}
private void imageBox1_DoubleClick(object sender, EventArgs e)
{
SaveImg(imageBox1, "保存基准图", "standard");
}
private void SaveImg(ImageBox box,string tittle, string defName)
{
if (box.Image != null)
{
try
{
System.Windows.Forms.SaveFileDialog saveFileDialog = new System.Windows.Forms.SaveFileDialog();
saveFileDialog.Title = AOIResourceCulture.GetValue("tittle");
saveFileDialog.Filter = "(*.bmp)|*.bmp|(*.*)|*.*";
if (!String.IsNullOrEmpty(DefaultPath))
{
saveFileDialog.InitialDirectory = DefaultPath;
}
saveFileDialog.FileName = defName;
//openDialog.DefaultExt = "png";
System.Windows.Forms.DialogResult result = saveFileDialog.ShowDialog();
if (result == System.Windows.Forms.DialogResult.Cancel)
{
return;
}
string fileName = saveFileDialog.FileName;
Image image = Eyemlib.DeepClone(box.Image);
image.Save(fileName);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
private void panAoi_Paint(object sender, PaintEventArgs e)
{
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAa2AAAAEAIACopgAAFgAAACgAAABrAAAAwAAAAAEAIAAAAAAAgKAAAAAAAAAAAAAAAAAAAAAA
AAApKSn/Kioq/yoqKv8qKir/Kioq/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ywsLP8sLCz/LCws/yws
LP8rKyv/Kysr/ysrK/8rKyv/Kysr/yoqKv8qKir/Kioq/ykpKf8pKSn/KCgo/ygoKP8oKCj/KCgo/ycn
J/8mJib/JiYm/yYmJv8lJSX/JSUl/yUlJf8kJCT/JCQk/yMjI/8jIyP/IyMj/yMjI/8jIyP/IyMj/yIi
Iv8iIiL/IiIi/yIiIv8hISH/ISEh/yEhIf8hISH/ISEh/yEhIf8hISH/ISEh/yEhIf8hISH/ISEh/yEh
If8hISH/ISEh/yIiIv8hISH/ISEh/yIiIv8iIiL/IiIi/yIiIv8iIiL/IiIi/yIiIv8jIyP/IyMj/yQk
JP8kJCT/JCQk/yUlJf8lJSX/JSUl/yYmJv8mJib/JiYm/ycnJ/8nJyf/KCgo/ygoKP8oKCj/KSkp/ykp
Kf8pKSn/KSkp/yoqKv8pKSn/KSkp/ykpKf8qKir/Kioq/ykpKf8pKSn/KSkp/ykpKf8qKir/KSkp/ygo
KP8oKCj/KCgo/ykpKf8qKir/Kioq/ysrK/8qKir/Kysr/ysrK/8rKyv/LCws/ywsLP8sLCz/Kysr/yws
LP8sLCz/LCws/y0tLf8sLCz/LCws/ywsLP8sLCz/LCws/ywsLP8sLCz/Kysr/ysrK/8rKyv/Kysr/yoq
Kv8qKir/Kioq/yoqKv8pKSn/KSkp/ygoKP8oKCj/KCgo/ygoKP8oKCj/KCgo/ycnJ/8nJyf/Jycn/ycn
J/8nJyf/Jycn/ycnJ/8nJyf/JiYm/ycnJ/8mJib/JiYm/yYmJv8mJib/JiYm/yYmJv8mJib/JiYm/yYm
Jv8mJib/JiYm/yYmJv8mJib/JiYm/yYmJv8mJib/JiYm/yYmJv8mJib/JiYm/yYmJv8mJib/Jycn/ycn
J/8nJyf/Jycn/ycnJ/8nJyf/KCgo/ygoKP8oKCj/KCgo/ykpKf8pKSn/KSkp/ykpKf8qKir/Kioq/yoq
Kv8qKir/Kysr/yoqKv8qKir/Kysr/yoqKv8qKir/Kysr/yoqKv8qKir/Kioq/ykpKf8pKSn/Kioq/yoq
Kv8pKSn/KSkp/ygoKP8oKCj/KSkp/yoqKv8qKir/Kysr/ysrK/8rKyv/Kysr/ywsLP8sLCz/LCws/yws
LP8tLS3/LS0t/y0tLf8tLS3/Li4u/y4uLv8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y0t
Lf8tLS3/LCws/ywsLP8sLCz/LCws/ywsLP8sLCz/LCws/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysr
K/8rKyv/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8pKSn/KSkp/ykpKf8pKSn/KSkp/ykp
Kf8pKSn/KSkp/ykpKf8pKSn/Kioq/yoqKv8qKir/Kioq/yoqKv8pKSn/KSkp/yoqKv8qKir/Kioq/yoq
Kv8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8qKir/Kysr/ysrK/8qKir/Kysr/ysrK/8rKyv/Kysr/ysr
K/8rKyv/LCws/ysrK/8rKyv/LCws/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8qKir/Kioq/yoq
Kv8qKir/Kioq/yoqKv8pKSn/KCgo/ykpKf8qKir/Kioq/ysrK/8rKyv/Kysr/ywsLP8sLCz/LCws/y0t
Lf8tLS3/LS0t/y0tLf8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y8vL/8vLy//Ly8v/y8v
L/8uLi7/Ly8v/y8vL/8uLi7/Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8v
L/8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
Lv8uLi7/Li4u/y4uLv8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/Li4u/y4uLv8tLS3/LS0t/y0t
Lf8tLS3/Li4u/y4uLv8tLS3/LS0t/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/y4uLv8tLS3/LS0t/y0t
Lf8tLS3/LS0t/y0tLf8tLS3/Li4u/y0tLf8tLS3/LCws/ywsLP8sLCz/LCws/ywsLP8sLCz/Kysr/ysr
K/8rKyv/Kysr/yoqKv8qKir/Kioq/ykpKf8pKSn/KSkp/yoqKv8rKyv/Kysr/ywsLP8rKyv/LCws/yws
LP8tLS3/LS0t/y4uLv8tLS3/Li4u/y4uLv8vLy//Li4u/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8v
L/8vLy//MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zEx
Mf8xMTH/MTEx/zExMf8uLi7/Kioq/yYmJv8kJCT/IiIi/yIiIv8hISH/IyMj/yUlJf8nJyf/KCgo/ysr
K/8uLi7/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAwMP8wMDD/MDAw/zAw
MP8wMDD/MDAw/zAwMP8vLy//Ly8v/zAwMP8wMDD/Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8v
L/8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8tLS3/Li4u/y0tLf8tLS3/LS0t/y0tLf8tLS3/LS0t/yws
LP8rKyv/LCws/ysrK/8rKyv/Kysr/ysrK/8qKir/KSkp/yoqKv8pKSn/Kioq/ysrK/8sLCz/LCws/yws
LP8sLCz/LS0t/y0tLf8uLi7/LS0t/y4uLv8uLi7/Li4u/y8vL/8uLi7/Ly8v/y8vL/8wMDD/MDAw/zAw
MP8wMDD/MDAw/zAwMP8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8xMTH/MjIy/zIyMv8yMjL/MjIy/zIy
Mv8xMTH/Kioq/yMjI/8dHR3/GRkZ/xoaGv8eHh7/ISEh/yQkJP8kJCT/JSUl/yMjI/8hISH/HR0d/xkZ
Gf8UFBT/ERER/w8PD/8QEBD/FRUV/x4eHv8kJCT/LS0t/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIy
Mv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8xMTH/MTEx/zExMf8xMTH/MTEx/zExMf8wMDD/MDAw/zAw
MP8wMDD/MDAw/zAwMP8vLy//Ly8v/y8vL/8vLy//Li4u/y4uLv8uLi7/Ly8v/y4uLv8uLi7/LS0t/y0t
Lf8tLS3/LS0t/ywsLP8sLCz/Kysr/ywsLP8rKyv/Kysr/yoqKv8qKir/Kioq/yoqKv8qKir/Kysr/yws
LP8sLCz/LCws/ywsLP8sLCz/LS0t/y0tLf8uLi7/Li4u/y8vL/8uLi7/Ly8v/y8vL/8vLy//MDAw/zAw
MP8xMTH/MTEx/zExMf8xMTH/MTEx/zIyMv8yMjL/MjIy/zIyMv8yMjL/MjIy/zMzM/8zMzP/MzMz/zIy
Mv8oKCj/Hx8f/xsbG/8iIiL/LCws/zQ0NP87Ozv/QUFB/0VFRf9HR0f/SEhI/0lJSf9ISEj/R0dH/0VF
Rf9CQkL/Pj4+/zg4OP8wMDD/Jycn/x0dHf8VFRX/Dw8P/w8PD/8RERH/GBgY/yEhIf8uLi7/NDQ0/zQ0
NP80NDT/MzMz/zQ0NP80NDT/MzMz/zMzM/8zMzP/MjIy/zMzM/8yMjL/MjIy/zIyMv8yMjL/MjIy/zIy
Mv8xMTH/MTEx/zExMf8xMTH/MDAw/zAwMP8wMDD/MDAw/y8vL/8vLy//Ly8v/y8vL/8uLi7/Li4u/y4u
Lv8uLi7/Li4u/y0tLf8sLCz/LS0t/ywsLP8sLCz/LCws/ywsLP8rKyv/Kioq/yoqKv8qKir/KSkp/ysr
K/8sLCz/LCws/ywsLP8sLCz/LCws/y0tLf8uLi7/Li4u/y4uLv8vLy//Li4u/y8vL/8vLy//Ly8v/y8v
L/8wMDD/MTEx/zExMf8xMTH/MTEx/zExMf8yMjL/MjIy/zIyMv8zMzP/MzMz/zMzM/8zMzP/NDQ0/y8v
L/8iIiL/Gxsb/yUlJf8zMzP/QEBA/0lJSf9OTk7/U1NT/1RUVP9WVlb/VlZW/1VVVf9VVVX/VFRU/1NT
U/9SUlL/UVFR/1BQUP9OTk7/TU1N/0pKSv9FRUX/Pz8//zY2Nv8pKSn/HBwc/xEREf8PDw//ExMT/xUV
Ff8aGhr/KCgo/zQ0NP81NTX/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/MzMz/zMzM/8zMzP/MzMz/zMz
M/8zMzP/MzMz/zMzM/8yMjL/MjIy/zIyMv8xMTH/MTEx/zAwMP8wMDD/MDAw/y8vL/8wMDD/Ly8v/y8v
L/8uLi7/Ly8v/y4uLv8uLi7/Li4u/y0tLf8tLS3/LCws/ywsLP8sLCz/LCws/ysrK/8qKir/Kysr/yoq
Kv8qKir/Kysr/ywsLP8sLCz/LS0t/ywsLP8tLS3/Li4u/y4uLv8uLi7/Ly8v/y8vL/8vLy//Ly8v/zAw
MP8vLy//MDAw/zAwMP8xMTH/MTEx/zExMf8yMjL/MjIy/zIyMv8yMjL/MzMz/zMzM/80NDT/MzMz/y8v
L/8gICD/Hh4e/y8vL/8/Pz//S0tL/1NTU/9XV1f/WVlZ/1paWv9ZWVn/WFhY/1dXV/9WVlb/VFRU/1NT
U/9RUVH/UFBQ/09PT/9OTk7/TU1N/0xMTP9MTEz/TExM/0tLS/9KSkr/SEhI/0NDQ/87Ozv/Li4u/x0d
Hf8RERH/Dw8P/xcXF/8YGBj/FBQU/xsbG/8mJib/Kysr/zMzM/81NTX/NTU1/zU1Nf81NTX/NDQ0/zQ0
NP8zMzP/NDQ0/zQ0NP8zMzP/MjIy/zIyMv8yMjL/MjIy/zExMf8xMTH/MDAw/zExMf8wMDD/MDAw/zAw
MP8wMDD/Ly8v/y8vL/8vLy//Li4u/y4uLv8uLi7/LS0t/y0tLf8sLCz/LS0t/ywsLP8sLCz/LCws/ysr
K/8qKir/Kioq/yoqKv8rKyv/LCws/ywsLP8tLS3/LS0t/y0tLf8uLi7/Li4u/y4uLv8uLi7/Ly8v/y8v
L/8wMDD/Ly8v/zAwMP8wMDD/MTEx/zExMf8xMTH/MTEx/zIyMv8yMjL/MjIy/zIyMv8zMzP/MzMz/zAw
MP8hISH/Hx8f/zIyMv9ERET/UVFR/1hYWP9bW1v/XFxc/1tbW/9aWlr/WVlZ/1dXV/9WVlb/VVVV/1RU
VP9SUlL/UFBQ/09PT/9NTU3/S0tL/0lJSf9HR0f/RkZG/0VFRf9FRUX/RUVF/0ZGRv9HR0f/R0dH/0dH
R/9DQ0P/Ozs7/ywsLP8aGhr/Dw8P/xISEv8dHR3/GBgY/xoaGv8uLi7/KSkp/yYnJv8qKin/NDMy/zY2
Nv82Nzb/NTY1/zQ1NP80NDP/NDQz/zMzM/8zMzP/MzMz/zIyMv8yMjL/MjIy/zExMf8xMTH/MTEx/zAw
MP8wMDD/MDAw/zAwMP8vLy//Ly8v/y8vL/8uLi7/Li4u/y4uLv8uLi7/LS0t/y0tLf8sLCz/LCws/yws
LP8sLCz/LCws/ysrK/8qKir/Kioq/ywsLP8sLCz/LS0t/y0tLf8tLS3/Li4u/y4uLv8uLi7/Ly8v/y4u
Lv8vLy//MDAw/zAwMP8wMDD/MDAw/zAwMP8xMTH/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/MzMz/zMz
M/8mJib/HR0d/zAwMP9ERET/UlJS/1paWv9dXV3/Xl5e/11dXf9cXFz/W1tb/1paWv9aWlr/WFhY/1ZW
Vv9TU1P/UFBQ/05OTv9NTU3/TExM/01NTf9OTk7/Tk5O/0xMTP9ISEj/RERE/0FBQf8/Pz//Pj4+/z4+
Pv9AQED/QkJC/0NDQ/9ERET/QEBA/zU1Nf8jIyP/EhIS/w8PD/8dHR3/HR0d/xYWFv8xMTH/RkdF/z09
Ov8wLyr/LSsm/zMxLf86ODT/Ojg0/zY3Nf80NTT/NDQ0/zMzM/8zMzP/MzMz/zMzM/8yMjL/MjIy/zEx
Mf8xMTH/MTEx/zAwMP8wMDD/MDAw/zAwMP8vLy//Ly8v/y8vL/8vLy//Li4u/y4uLv8uLi7/LS0t/y0t
Lf8tLS3/LS0t/ywsLP8rKyv/Kysr/yoqKv8rKyv/LCws/y0tLf8tLS3/Li4u/y4uLv8uLi7/Li4u/y8v
L/8uLi7/Ly8v/y8vL/8wMDD/MDAw/zAwMP8wMDD/MTEx/zExMf8yMjL/MjIy/zIyMv8yMjL/MzMz/zMz
M/8wMDD/Hh4e/ycnJ/8/Pz//UVFR/1paWv9eXl7/X19f/15eXv9dXV3/XV1d/1tbW/9UVFT/R0dH/zg4
OP8sLCz/IyMj/x0dHf8ZGRn/FxcX/xcXF/8YGBj/Ghoa/x8fH/8nJyf/MTEx/z09Pf9GRkb/SUlJ/0RE
RP8+Pj7/OTk5/zg4OP86Ojr/Ozs7/z8/P/9BQUH/QUFB/zo6Ov8qKir/FRUV/w4ODv8bGxv/ISIg/xoa
Gf8rKif/UlJL/1NTSv9STkP/Q0A0/zQyJv8wLiX/Ojcy/zg3Nv83NjX/NTQz/zM0M/8zNDP/MzMz/zMz
M/8yMjL/MjIy/zExMf8xMTH/MTEx/zExMf8wMDD/MDAw/y8vL/8vLy//Ly8v/y4uLv8vLy//Li4u/y4u
Lv8tLS3/Li4u/y0tLf8tLS3/LCws/ywsLP8rKyv/Kysr/ysrK/8sLCz/LCws/y0tLf8uLi7/LS0t/y4u
Lv8uLi7/Ly8v/y8vL/8vLy//MDAw/zAwMP8wMDD/MTEx/zExMf8xMTH/MjIy/zIyMv8yMjL/MzMz/zMz
M/80NDT/Kioq/x0dHf80NDT/S0tL/1hYWP9eXl7/YGBg/19fX/9fX1//XV1d/1RUVP9AQED/KSkp/xoa
Gv8TExP/ERER/xAQEP8RERH/EBAQ/xEREf8RERH/EhIS/xEREf8QEBD/EBAQ/xEREf8RERH/EhIS/xkZ
Gf8mJib/ODg4/0RERP9CQkL/Ojo6/zQ0NP80NDT/NjY2/zk5Of89PT3/QEBA/zw8PP8tLS3/FxcX/w0N
Df8aGxr/JiYk/yAfHP8wLiP/fnVM/2pkTf9nYk3/YltH/1FJOf8zLiH/KCYe/zIyLP83ODP/NTY0/zQ0
M/8zNDP/MzMz/zMzM/8yMjL/MjIy/zIyMv8xMTH/MTEx/zExMf8wMDD/MDAw/zAwMP8vLy//Ly8v/y8v
L/8vLy//Li4u/y0tLf8uLi7/LS0t/ywsLP8tLS3/LCws/ysrK/8rKyv/Kysr/y0tLf8tLS3/Li4u/y4u
Lv8uLi7/Ly8v/y8vL/8vLy//MDAw/zAwMP8wMDD/MDAw/zExMf8xMTH/MTEx/zIyMv8yMjL/MzMz/zMz
M/8zMzP/MzMz/yQkJP8jIyP/Pj4+/1JSUv9cXFz/YGBg/2FhYf9gYGD/XV1d/05OTv8xMTH/Ghoa/xER
Ef8RERH/ExMT/xoaGv8lJSX/Li4u/zc3N/88PDz/Pj4+/z4+Pv88PDz/Nzc3/zAwMP8nJyf/HR0d/xUV
Ff8RERH/ERER/xEREf8TExP/HR0d/zIyMv9BQUH/PT09/zMzM/8vLy//MDAw/zQ0NP85OTn/PT09/zw8
PP8uLi7/FxcX/w0ODP8eHx3/Lism/y4pH/9USSP/0bZM/6SRTf97cUv/cmpM/2dgRv9NSDb/Kycc/yMg
Gv8wLyv/NDU0/zQ1M/8zNDP/MzMz/zMzM/8yMjL/MjIy/zIyMv8yMjL/MTEx/zExMf8xMTH/MDAw/zAw
MP8vLy//Ly8v/y8vL/8vLy//Li4u/y4uLv8tLS3/LS0t/y0tLf8tLS3/Kysr/ysrK/8rKyv/LS0t/y4u
Lv8tLS3/Li4u/y8vL/8vLy//Ly8v/y8vL/8wMDD/MDAw/zExMf8wMDD/MTEx/zIyMv8xMTH/MjIy/zMz
M/8zMzP/MzMz/zMzM/8gICD/KCgo/0VFRf9XV1f/X19f/2FhYf9hYWH/X19f/05OTv8tLS3/FRUV/xAQ
EP8UFBT/JCQk/zk5Of9KSkr/UVFR/05OTv9ISEj/QkJC/z09Pf86Ojr/Nzc3/zc3N/86Ojr/PDw8/0BA
QP9DQ0P/QEBA/zMzM/8iIiL/FRUV/xEREf8QEBD/ExMT/x8fH/83Nzf/Pj4+/zMzM/8rKyv/LCws/zAw
MP82Njb/Ozs7/zo6Ov8rKyv/FRYU/w8QDv8oJiH/ODMp/zo3Iv9qWiX/8c5H/+TCSP+nkEj/hHVJ/3hs
Sf9kW0T/QTos/yAcFP8gHxz/MDEv/zQ0M/80NDP/MzMz/zIyMv8yMjL/MjIy/zExMf8yMjL/MTEx/zAw
MP8xMTH/MDAw/y8vL/8vLy//Ly8v/y4uLv8vLy//Li4u/y4uLv8uLi7/LS0t/ywsLP8sLCz/LCws/yws
LP8tLS3/Li4u/y0tLf8uLi7/Ly8v/y8vL/8vLy//Ly8v/zAwMP8wMDD/MTEx/zAwMP8xMTH/MjIy/zIy
Mv8yMjL/MzMz/zMzM/8yMjL/Hh4e/y0tLf9JSUn/Wlpa/2FhYf9iYmL/YWFh/1ZWVv80NDT/FhYW/xAQ
EP8aGhr/NTU1/05OTv9TU1P/SkpK/z4+Pv82Njb/MDAw/y4uLv8sLCz/Kioq/ykpKf8nJyf/JSUl/yIi
Iv8hISH/ICAg/yMjI/8pKSn/NDQ0/z4+Pv86Ojr/JiYm/xYWFv8RERH/ERER/xcXF/8sLCz/PDw8/zEx
Mf8pKSn/KSkp/y0tLf80NDT/Ojo6/zg4OP8nJyf/ExMT/xUTDv80MSf/Qz4o/01DIP+LdCT/+tA8//zR
QP/VtkH/mING/391Sf9xZkv/U008/ygmHP8YGBL/JSQi/zY0M/80NDT/MzMz/zMzM/8yMjL/MjIy/zEx
Mf8xMTH/MDAw/zAwMP8wMDD/Ly8v/zAwMP8vLy//Li4u/y8vL/8vLy//Li4u/y4uLv8tLS3/LCws/y0t
Lf8sLCz/LCws/y0tLf8uLi7/Li4u/y8vL/8vLy//Ly8v/y8vL/8vLy//MDAw/zAwMP8xMTH/MTEx/zIy
Mv8yMjL/MjIy/zIyMv8zMzP/MjIy/x8fH/8vLy//TExM/1xcXP9hYWH/YmJi/19fX/9FRUX/HR0d/xAQ
EP8bGxv/PDw8/1VVVf9RUVH/QkJC/zk5Of81NTX/Nzc3/zw8PP9CQkL/RkZG/0dHR/9GRkb/RERE/0ND
Q/9BQUH/Pj4+/zY2Nv8sLCz/IyMj/xwcHP8aGhr/Hh4e/ykpKf85OTn/NjY2/yAgIP8TExP/ERER/xQU
FP8lJSX/Ojo6/y8vL/8lJSX/JiYm/ysrK/8zMzP/ODg4/zQ0NP8gICD/FRIP/x4bE/9CPCv/UkUn/15P
Gv+piBb/9scn//7PNf/yyzr/uZ0+/4p5R/93bkv/YllJ/zUxJ/8bGRP/GxkX/zAwL/80MzP/MzMz/zMz
M/8yMjL/MTEx/zExMf8xMTH/MTEx/zExMf8wMDD/MDAw/y8vL/8vLy//Li4u/y4uLv8uLi7/Li4u/y4u
Lv8tLS3/LCws/ywsLP8sLCz/LS0t/y4uLv8uLi7/Ly8v/y4uLv8vLy//MDAw/zAwMP8wMDD/MTEx/zEx
Mf8yMjL/MjIy/zIyMv8yMjL/MzMz/zMzM/8fHx//Li4u/0xMTP9cXFz/YmJi/2JiYv9aWlr/MzMz/xMT
E/8VFRX/NjY2/1VVVf9RUVH/QkJC/zw8PP89PT3/RkZG/01NTf9GRkb/ODg4/ysrK/8hISH/Gxsb/xkZ
Gf8YGBj/GRkZ/xsbG/8fHx//Jycn/zExMf85OTn/ODg4/ykpKf8cHBz/FxcX/xoaGv8pKSn/ODg4/ygo
KP8VFRX/EhIS/xMTE/8kJCT/OTk5/ysrK/8iIiL/JCQk/yoqKv8zMzP/ODg4/y8vL/8aGBf/FRMN/y4p
Hf9KQin/XE4f/3NaFf/Hnwz/67sV//3MLf/8zzb/07I8/5N/Rf98cUv/aWFK/z87Lf8eHBb/FxUU/ysp
KP8zMzP/MzMz/zMzM/8yMjL/MjIy/zExMf8xMTH/MTEx/zAwMP8wMDD/MDAw/y8vL/8vLy//Li4u/y4u
Lv8uLi7/LS0t/y0tLf8sLCz/LS0t/ywsLP8uLi7/Li4u/y8vL/8vLy//Ly8v/y8vL/8vLy//MDAw/zAw
MP8xMTH/MjIy/zIyMv8yMjL/MzMz/zMzM/8zMzP/ISEh/ywsLP9LS0v/XFxc/2JiYv9jY2P/U1NT/yUl
Jf8RERH/JCQk/09PT/9WVlb/RkZG/z8/P/9FRUX/UFBQ/0dHR/8wMDD/Gxsb/xUVFf8VFRX/FhYW/xkZ
Gf8cHBz/Hh4e/x4eHv8eHh7/HBwc/xoaGv8ZGRn/GBgY/xkZGf8fHx//Ly8v/zc3N/8nJyf/GBgY/xUV
Ff8eHh7/MzMz/ywsLP8XFxf/EhIS/xQUFP8nJyf/NjY2/yUlJf8fHx//IyMj/yoqKv80NDT/NjY2/yUk
JP8TExD/FxQM/z85J/9TSCT/Z1YX/5V2Df/ntgj/6bcL//vKIv/9zjD/48A4/5uHQv9/ckv/a2NN/0RA
NP8gHhn/FRQT/yMiIf80MzP/MzMz/zMzM/8yMjL/MjIy/zExMf8xMTH/MDAw/zAwMP8vLy//MDAw/y8v
L/8vLy//Li4u/y4uLv8uLi7/LS0t/y0tLf8sLCz/LCws/y4uLv8vLy//Li4u/y8vL/8vLy//Ly8v/zAw
MP8wMDD/MTEx/zExMf8xMTH/MjIy/zIyMv8zMzP/NDQ0/yUlJf8nJyf/SEhI/1tbW/9iYmL/YmJi/05O
Tv8eHh7/ExMT/zY2Nv9ZWVn/T09P/0NDQ/9HR0f/U1NT/0JCQv8hISH/FBQU/xUVFf8bGxv/JiYm/zMz
M/8+Pj7/RERE/0VFRf9ERET/RERE/0NDQ/9BQUH/PDw8/zQ0NP8qKir/ISEh/xwcHP8aGhr/Hh4e/y4u
Lv8xMTH/Gxsb/xQUFP8ZGRn/Ly8v/ysrK/8WFhb/EhIS/xYWFv8tLS3/Ly8v/x8fH/8eHh7/IyMj/y0t
Lf81NTX/Ly8v/xgYF/8UEQ7/KCMZ/0lCJ/9eUB//dl8Q/82kDv/0vgn/7LgI//nGHP/+zC7/78Y3/6KM
QP9+c0n/bGVN/0hENv8iIBr/FxUU/x4dHf8zMzP/MzMz/zMzM/8yMjL/MTEx/zExMf8xMTH/MTEx/zAw
MP8vLy//Ly8v/y8vL/8uLi7/Ly8v/y4uLv8uLi7/LS0t/ywsLP8tLS3/Ly8v/y8vL/8uLi7/Ly8v/zAw
MP8wMDD/MDAw/zExMf8xMTH/MTEx/zIyMv8yMjL/MjIy/zMzM/8rKyv/IiIi/0NDQ/9aWlr/YmJi/2Ji
Yv9LS0v/Ghoa/xcXF/9FRUX/Wlpa/0pKSv9HR0f/U1NT/0hISP8hISH/FBQU/xcXF/8mJib/PDw8/0lJ
Sf9BQUL/MjEy/yMjI/8aGhr/FBQV/xISE/8SEhP/ExMV/xgXGf8fHyD/Kyor/zg4OP88PTz/MzMz/yYm
Jv8dHR3/HBwc/yMjI/8yMjL/HR0d/xMTE/8YGBj/Ly8v/yYmJv8VFRX/ExMT/xwcHP8zMzP/JCQk/xwc
HP8eHh7/JSUl/zExMf80NDT/ISEh/xERD/8VEw3/Pzkp/1RJJf9rWBn/lHYN//bFFP/3wgv/7rwI//fF
GP/+ziv/8sg3/6aOPv98cUr/bGRP/0ZCN/8iHxv/FhYU/xwcG/8zMzL/MjIy/zIyMv8yMjL/MTEx/zEx
Mf8xMTH/MDAw/zAwMP8wMDD/Ly8v/y4uLv8uLi7/Ly8v/y4uLv8uLi7/LS0t/y0tLf8uLi7/Li4u/y8v
L/8vLy//Ly8v/zAwMP8wMDD/MTEx/zIyMv8yMjL/MjIy/zIyMv8zMzP/MTEx/x0dHf88PDz/VlZW/2Fh
Yf9iYmL/TExM/xkZGf8aGhr/Tk5O/1hYWP9KSkr/TU1N/1RUVP8uLi7/FBQU/xgYGP8rKyv/RkZG/0RE
RP8qKir/FRUV/w4ND/8MCw3/DAsO/wwLD/8MChD/DQsQ/w0LEf8NChL/DQoS/wwKEP8MChD/Dg0R/xcW
GP8qKir/OTk5/zExMf8jIyP/HR0d/yEhIf8wMDD/Gxsb/xISEv8aGhr/Ly8v/x4eHv8UFBT/FRUV/ygo
KP8tLS3/HBwc/xoaGv8gICD/Kysr/zQ0NP8rKyr/ExQS/w8PDP8qKB7/SEMq/2FSIP95ZBP/2K0a//zH
FP/6xAz/8r4K//jEFv/+zSr/9Mo1/6GMPf97cUj/a2JO/0I9M/8iIBv/FRYU/xscG/8zMzP/MjIy/zIy
Mv8yMjL/MTEx/zAwMP8xMTH/MDAw/y8vL/8vLy//Ly8v/y8vL/8uLi7/Li4u/y4uLv8tLS3/LCws/y4u
Lv8uLi7/Ly8v/zAwMP8wMDD/MDAw/zExMf8xMTH/MTEx/zIyMv8zMzP/MzMz/zQ0NP8gICD/MjIy/1FR
Uf9fX1//YmJi/1BQUP8cHBz/HBwc/1JSUv9XV1f/S0tL/1RUVP9KSkr/Gxsb/xUVFf8lJSX/RkZG/0JC
Qv8hISH/Dw8P/wwLDP8MCxD/DgwS/xANF/8VEBn/GBIf/xoTI/8cFCb/HBQm/xwTJ/8aESX/GA8j/xUN
Hf8QCxn/DgoU/w0KE/8VFBn/LS0u/zU0Nf8nJij/Hx8f/yIiIv8uLi7/FhYW/xISEv8iIiL/Kysr/xgY
GP8UFBT/HBwc/zExMf8fHx//GBgY/xwcHP8lJSX/MTEx/zExMP8YGBj/Dw8O/xoYE/9BPSz/V0wo/29d
G/+mhxT//cof//7HEv/6xAv/9L4J//jEFv/+zSf/8MY2/5uEPf94bUn/Z19N/zg1Lf8iIR3/ExMT/x4e
Hv8yMjL/MjIy/zIyMv8yMjL/MTEx/zExMf8wMDD/MDAw/zAwMP8vLy//Li4u/y4uLv8uLi7/Li4u/y4u
Lv8tLS3/Li4u/y8vL/8vLy//Ly8v/zAwMP8xMTH/MTEx/zExMf8yMjL/MjIy/zIyMv8zMzP/KSkp/ycn
J/9JSUn/XV1d/2JiYv9WVlb/ISEh/xoaGv9SUlL/WFhY/01NTf9YWFj/PT09/xUVFf8ZGRn/Ojo6/0lJ
SP8jJCP/Dw8P/wwLDf8NDBD/EQ8V/xcTHv8fGSn/JyA0/y8kP/81KEj/OCpM/zkpUv85KFP/NyVS/zMh
Tv8uHkf/Jxk9/x4UMf8ZECj/Ew0g/w4JFv8QDRT/IyIl/zIxM/8nJyf/Hx8f/yUlJf8nJyf/ERER/xQU
FP8rKyv/Hx8f/xUVFf8XFxf/Kysr/yUlJf8XFxf/GRkZ/yAgIP8tLS3/MzMz/x8fH/8PEA//EA4K/zg2
K/9QRy3/Zlcj/4VpFf/tvRr//skY//3HDv/7xQn/9L8I//nFFf/+zSr/6sE0/497P/91akj/YlpL/y8r
I/8iIB7/EhIS/yMjI/8yMjL/MjIy/zIyMv8xMTH/MDAw/zAwMP8wMDD/Ly8v/y8vL/8vLy//Li4u/y8v
L/8uLi7/Li4u/y0tLf8uLi7/Ly8v/y8vL/8wMDD/MTEx/zAwMP8xMTH/MTEx/zIyMv8yMjL/MzMz/zIy
Mv8dHR3/Pz8//1hYWP9hYWH/XFxc/yoqKv8WFhb/Tk5O/1lZWf9PT0//Wlpa/zQ0NP8UFBT/ICAg/0lJ
Sf83Nzf/ExMT/wwMDf8NCxD/FA8Y/x4XJP8qIjT/NyxG/0I1Vv9JOGL/Szhq/0s1cP9KMnP/Ry5y/0Ur
cv9DKHL/QCVu/z4ia/87ImP/Nx5Z/y4aS/8jFDr/GxAq/xQLHv8PChb/IR8l/y8vMP8lJSX/ICAg/ysr
K/8YGBj/ERER/yAgIP8oKCj/GBgY/xYWFv8lJSX/Kioq/xcXF/8XFxf/HR0d/ykpKf8yMjL/JCQk/xAQ
Ef8NDgv/Kykg/0lDLv9eUSf/d2Ia/8ifDf/8xxP//skR//7HCv/8wwn/9L4I//rHGv/9zCz/2LM1/4Ny
P/9vZUn/VVFC/ygmH/8fHhz/EBAQ/yoqKv8zMzP/MjIy/zIyMv8xMTH/MTEx/zAwMP8wMDD/Ly8v/y8v
L/8uLi7/Ly8v/y4uLv8tLS3/Li4u/y8vL/8wMDD/Ly8v/zAwMP8xMTH/MTEx/zExMf8yMjL/MzMz/zIy
Mv8zMzP/IyMj/zAwMP9QUFD/X19f/19fX/85OTn/FBQU/0ZGRv9cXFz/UlJS/1tbW/8xMTH/FBQU/ykp
Kf9NTU3/JiYm/w4OD/8NCxD/EQ8W/xwYI/8tJTf/PjNP/0s8Yv9RQG7/UTt5/040ff9NKYn/UR+f/1IZ
rf9TErf/VA69/1QMv/9SDbr/TQ6v/0gRm/8/FIH/OBds/zIZXP8qFUn/HxA2/xUMI/8QChr/JSMr/ysq
Lv8jIiP/JCQl/yMjI/8RERH/GBgY/ysrK/8bGxv/FhYW/yAgIP8tLS3/FxcX/xUVFf8aGhr/JSUl/zEx
Mf8oKCj/ERER/w0ODP8dHRj/Qj4v/1ZLKv9rWhr/pIEN//S+Cf/9xxD//scN//7HB//6xAb/9L4J//zJ
Hf/9zCr/u500/3lsQv9nYUr/Qj81/yYmIP8ZGhn/EhIR/zAwMP8yMjL/MjIy/zIyMv8xMTH/MDAw/zAw
MP8vLy//MDAw/y8vL/8uLi7/Ly8v/y4uLv8uLi7/Ly8v/zAwMP8wMDD/MTEx/zAwMP8xMTH/MTEx/zIy
Mv8yMjL/MzMz/y8vL/8fHx//RERE/1tbW/9hYWH/S0tL/xUVFf83Nzf/X19f/1NTU/9bW1v/MzMz/xMT
E/8tLS3/S0tL/x0dHf8NDQ7/DgwS/xYTHf8oIjL/PTNL/05AY/9WQ3T/Vj97/1Iwif9WIan/VRS9/1MN
xf9YD83/XhLb/2YW6/9rGPL/axj0/2oW9v9rE/P/Zg7u/2IK5P9WCcb/Qw2R/zMSZv8tFFD/IQ86/xYK
Jv8WECD/Kigu/yYlJ/8jIiT/KCgo/xISEv8TExP/Kioq/x4eHv8XFxf/Hx8f/y4uLv8YGBj/FBQU/xgY
GP8jIyP/MDAw/ysrK/8TExP/DQ0N/xQTEf89Oi//TkYs/19SH/99Yg//2q4G//jCB//9xw7//scL//3G
B//3wQb/9L8N//3LIv/2yS//loE3/3JlRv9gW0r/Ly0l/yYmJP8VFhT/Ghoa/zMzM/8yMjL/MjIy/zEx
Mf8wMDD/MTEx/zAwMP8vLy//Ly8v/y4uLv8vLy//Li4u/y0tLf8vLy//MDAw/zAwMP8xMTH/MTEx/zEx
Mf8xMTH/MjIy/zIyMv8zMzP/ISEh/zIyMv9SUlL/X19f/1lZWf8jIyP/JCQk/15eXv9VVVX/W1tb/zw8
PP8TExP/LCws/0pKSv8ZGRn/DQ0O/xAOE/8dGCX/Mys//0o/W/9XRnL/WUN+/1U2if9YIbP/VA/C/1EQ
vv9gGNv/biP1/3In/P90J/3/cyX8/3Ei/v9vHv3/bRr9/24Y/f9sFP3/bBH9/2wO+v9mC/D/UgnB/zYO
b/8qEFD/IA83/xQLIv8jHyn/KCcq/yQkJf8pKSn/FRUV/xEREf8nJyf/IiIi/xkZGf8fHx//Li4u/xkZ
Gf8UFBT/FxcX/yEhIf8wMDD/LCws/xMTE/8NDQ3/Dw0N/zg1MP9EQC//U0cm/2JQD/+Ydwr/6bcE//rD
Cf/+yAz//sUI//zFBP/1vgX/98MR//7KJv/ftjH/fW46/2lhSP9RTED/JyUi/yEhIP8QEBD/JiYm/zIy
Mv8xMTH/MTEx/zExMf8wMDD/MDAw/y8vL/8vLy//Ly8v/y4uLv8vLy//Li4u/y8vL/8wMDD/MDAw/zAw
MP8xMTH/MjIy/zIyMv8yMjL/MzMz/y8vL/8gICD/RUVF/1tbW/9fX1//Ozs7/xYWFv9TU1P/Wlpa/1lZ
Wf9KSkr/FBQU/ygoKP9MTEz/GRkZ/w0MDv8RDxX/IR0o/zozSP9SRGj/XEh7/1k/hP9ZKKn/VxLE/04P
tv9kHd//cyr5/3cw/f92Lv7/dSr+/3Qm/v9xIf7/bxz+/24X/f9sEv7/aw79/2kM/P9qC/z/agv8/2kM
+P9pDfP/XAjX/zYMbv8nDkn/Gg0s/x4WKP8pJi3/JiUn/ygoKP8WFhb/EBAQ/ycnJ/8kJCT/Gxsb/yEh
If8tLS3/GBgY/xMTE/8WFhb/ISEh/zAwMP8sLCz/ExMT/w0NDf8MCgr/MzEu/z88Mf9IQSn/UEMV/3tn
Gv+zjAn/87wF//3GC//+xgr//cYF//rDBP/zvQb//Mgb//zLJ/+ukDX/b2VA/2JbSf82Myz/KSon/xkZ
Gf8RERH/MTEx/zIyMv8xMTH/MTEx/zAwMP8wMDD/MDAw/y8vL/8vLy//Li4u/y8vL/8uLi7/Ly8v/zAw
MP8wMDD/MTEx/zExMf8xMTH/MjIy/zMzM/8zMzP/IyMj/zExMf9SUlL/Xl5e/1NTU/8ZGRn/Ojo6/19f
X/9YWFj/WFhY/xkZGf8gICD/Tk5O/xwdHP8NDQ7/EQ8V/yQgLf9BOU7/WEpu/15Kf/9aPIz/Wx+//00O
tP9ZF83/cyv3/3cz/v94M/3/dzD+/3Qs/v9xJv7/byD+/20Z/P9qEvv/aAz7/2UG+/9lA/n/ZQP5/2YE
9v9mBPb/Zgf1/2gK9P9pC/L/WQrL/ysNVf8gDTn/HhIq/ygkMP8nJin/KSkp/xUVFf8RERH/KCgo/yUl
Jf8dHR3/JCQk/y0tLf8WFhb/ExMT/xYWFv8hISH/MTEx/ysrK/8TExP/Dg4O/wkICP8xMC//PToz/0E7
Lv9ANxj/cF8o/4twF//UpQb/+MAF//7HCv/9xgf//cUD//i/BP/2wA3//cki/+q/Lf9+bjX/Z19C/1FP
RP8mJiH/JiYl/xMTEv8eHh7/MjIy/zExMf8xMTH/MTEx/zAwMP8wMDD/Ly8v/y8vL/8vLy//Ly8v/y4u
Lv8wMDD/MDAw/zAwMP8xMTH/MjIy/zIyMv8yMjL/MzMz/zIyMv8eHh7/QkJC/1lZWf9eXl7/MzMz/x4e
Hv9dXV3/WVlZ/15eXv8oKCj/GBgY/0tLS/8lJSX/DQ0O/xEOFf8kIC3/QjpR/1tLcv9fSoT/WzmW/1sX
yf9KEKv/ZSLj/3g0+/97N/7/eTX+/3gw/v91LP7/ciT8/2wc+v9pE/f/Zgr0/2EF8P9fAur/XQDl/10A
5v9eAef/YAHl/2EC5/9kAur/ZgTs/2gG7v9oCO3/QgmO/yINPf8hEy//KSQx/ykoK/8pKSn/ERER/xMT
E/8sLCz/JSUl/yAgIP8oKCj/Kioq/xQUFP8SEhL/FhYW/yMjI/8yMjL/KCgo/xISEv8ODg7/BwcH/zAw
MP85OTX/Ozgw/zQvHP9cTyn/iHQv/5p5C//suAT/+8QI//7GCf/+xQX/+8MC//S8BP/8xhb//Mkk/7SV
Lv9vYjz/YVlJ/zUyKv8sLSv/HB0c/w8PD/8vLy//MjIy/zExMf8xMTH/MDAw/zAwMP8wMDD/Ly8v/y4u
Lv8vLy//Ly8v/zAwMP8xMTH/MDAw/zExMf8xMTH/MjIy/zMzM/8zMzP/Jycn/ysrK/9OTk7/XV1d/1FR
Uf8ZGRn/RUVF/15eXv9cXFz/Q0ND/xMTE/89PT3/NTU0/w8PD/8QDxH/Ih8o/0I7Tf9bTnH/YUuF/1w5
mv9WFsf/TBGt/24o7/96Ofz/ezn+/3s2/v95Mv7/dCz8/3Ai+v9rFvT/ZAzr/1YH1P9aEcj/WxfB/04K
tP9PAcT/XQLi/18E5f9gBeH/XwLa/1cDyf9eA9b/ZALj/2YD6f9XB8D/Igw9/yYYNf8uJzb/LSov/yYm
Jv8PDw//GRkZ/y8vL/8mJib/JCQk/y4uLv8kJCT/EhIS/xISEv8XFxf/JSUl/zQ0NP8jIyP/ERER/w0N
Df8ICAj/MTEx/zg5N/83NjP/LSof/05GL/95ajn/iXEg/8SZBP/0vgX//sYL//7FCP/9xQP/98AB//W/
Cf/9yh//6b0p/3loM/9kXEL/UEs//yknIv8nKCb/FBQU/xwcHP8yMjL/MTEx/zExMf8wMDD/MTEx/zAw
MP8wMDD/Ly8v/y8vL/8vLy//MDAw/zExMf8xMTH/MTEx/zExMf8yMjL/MzMz/zQ0NP8fHx//OTk5/1VV
Vf9dXV3/NTU1/yEhIf9gYGD/W1tb/11dXf8ZGRn/Jycn/0hISP8TExP/Dw0R/x4aJP89N0r/W01v/2JO
hP9ePJr/WhXJ/0sTq/9xK/P/ezv+/3w7/v97Of7/eTP+/3Mq/P9tHvb/ZBHo/1AJwP86A5L/Th2e/1wo
rP9IEJr/SwO3/10D3P9gB9//Xwbe/1gD0/9NDan/TSCO/04iiv9UDrP/YALb/1wF0v8iDjr/LyI7/zIr
Ov8xLjP/HBwc/w8PD/8mJib/MTEx/ygoKP8pKSn/MjIy/xsbG/8RERH/ExMT/xkZGf8qKir/NTU1/x4e
Hv8RERH/CwsL/wkJCf80NDT/OTo4/zU2NP8oJiD/R0Qz/25jP/+CcjT/lXUM/+i1A//8xQf//sYJ//7F
A//7wgD/9LwC//3GF//9yCL/pYgt/2leOf9dVkb/Lywm/y8vLv8dHR3/Dw8P/y8vL/8xMTH/MTEx/zEx
Mf8xMTH/MDAw/y8vL/8vLy//Li4u/y4uLv8wMDD/MDAw/zExMf8yMjL/MjIy/zMzM/8zMzP/MDAw/yAg
IP9GRkb/Wlpa/1VVVf8cHBz/RERE/2BgYP9fX1//Nzc3/xYWFv9MTEz/ICAg/w4ODv8XFRv/NzFA/1dL
aP9jUIH/X0GU/1sayv9HEqf/cS3u/349/P9+Pf7/ezv+/3k0/v9xKvn/ahvw/1oO0/8/C5T/LgNx/0IZ
gv9cM53/RBiJ/0cDqP9dBdr/YAnd/14F3f9UA8b/SxeQ/0soev9JK3T/Si1v/0subf9RFaD/RgmO/yoc
P/84L0P/NjI8/y0rMP8QEBD/FxcX/zQ0NP8xMTH/Kysr/zAwMP8uLi7/FBQU/xEREf8TExP/HR0d/zAw
MP8zMzP/GBgY/xAQEP8JCQn/Dg4O/zc3N/85Ojj/NTY0/yQiH/9IQzv/Zl5F/3drOf+Ich7/xZoF//e/
BP/+xgv//cUF//7EAf/4vwH/98IK//3IH//XrSj/bmIx/2BYQ/9CPzX/LCsq/ycnJ/8TExP/Hx8f/zIy
Mv8yMjL/MTEx/zAwMP8wMDD/MDAw/y8vL/8uLi7/Li4u/zAwMP8wMDD/MTEx/zExMf8yMjL/MzMz/zMz
M/8nJyf/LCws/09PT/9cXFz/QEBA/xwcHP9eXl7/XV1d/1paWv8WFhb/MzMz/zs7Ov8QEBD/EhEU/ywo
NP9QR1//Y1F//2FIjP9iIcj/RxCi/2oo6f99Pv3/fUD9/389/v95N/7/civ5/2kZ7v9TEr//PhOC/ycF
Yv8wDmP/XDuO/0okhP89BJH/XAbW/2EL3f9fCNv/UwTC/0cbiP9KLHH/RzBn/0czX/9HNF3/RjVd/zMj
R/8rHD3/OzJF/z84Rv83NTv/GBcZ/xAQEP8tLS3/Ojo6/zIyMv8xMTH/Nzc3/yEhIf8RERH/ERER/xUV
Ff8jIyP/NjY2/ysrK/8VFRX/EBAQ/wYGBv8XFxf/Ojo5/zo7OP82NjX/IR8a/0NAMf9hW0r/bWNB/4dz
MP+dewr/7rkD//3FCf/+xgf//sQB//vBAP/1vQL//sgY//jGIv+Ebyz/Y1k7/1NQQv8oKCP/Ly8u/xoa
Gv8RERH/MjIy/zExMf8xMTH/MDAw/zExMf8wMDD/MDAw/y8vL/8uLi7/MDAw/zExMf8yMjL/MTEx/zMz
M/8yMjL/MzMz/yAgIP84ODj/VFRU/1lZWf8nJyf/ODg4/2JiYv9gYGD/ODg4/xgYGP9NTU3/Ghoa/w8O
EP8fHCT/RD1R/2BTdv9kToj/YjC4/0wPrv9fIdL/fD78/39B/v99P/7/fDn+/3Yu+/9oHOv/VRe5/0Uf
gv8pCVz/HgJI/1E1ev9WOIX/NAl1/1YFzf9gC9//YAne/1UEyf9IG4j/Ry1t/0cyYv9GN1n/RDpT/0E4
Tf8qITX/LSQ5/0E6Sv9EQEz/PzxE/yAfI/8ODg7/JSUl/0BAQP87Ozv/NTU1/zk5Of8xMTH/FBQU/xAQ
EP8SEhL/GRkZ/y0tLf86Ojr/ISEh/xMTE/8NDQ3/BAQE/yUmJP87PDn/PTw4/zg2M/8fHRX/QDkd/1lW
R/9nYEX/fW42/4lwFf/XqQT/+sIF//7GCf/+xAT//MIA//W8AP/7xRH//Mce/62NJ/9nWjT/W1VD/y0s
Jv8yMzD/IiIj/xAQEP8nJyf/MjIy/zIyMv8xMTH/MTEx/zAwMP8wMDD/Ly8v/y4uLv8wMDD/MTEx/zEx
Mf8yMjL/MzMz/zIyMv8yMjL/HR0d/0FBQf9XV1f/T09P/xkZGf9VVVX/X19f/19fX/8YGBj/NDQ0/zg4
OP8QDxH/FRMZ/zYxPv9YTmr/ZVKF/2NAoP9XFcX/Thez/3s5+v9/Qv3/f0H+/3s9/v92Mvz/ax3v/1cd
uf9OLoz/MRVe/xsEPf8yHFL/YEaF/zwabP9IA67/YQrf/2IM4P9cBdX/RxOU/0oscf9HM2L/RjhW/0U8
Tv81MDz/Ix8o/zc0O/9JRU7/TUlR/0RCSP8iIST/Dg0P/yMjI/9ERET/Q0ND/zw8PP89PT3/Ozs7/xwc
HP8QEBD/ERER/xUVFf8iIiL/Nzc3/zMzM/8aGhr/ERER/wsLC/8FBQX/MzMy/z09Ov8/Pjr/NzYu/zIs
E/82LQ7/SUY7/2FcSf9zaDz/hnEm/7iQBv/1vgP//sYK//7FBf/9wwH/9r4A//jACf/+xxr/1Koh/2pc
L/9aVT7/Ozox/zAwLf8rKyv/FRUV/xoaGv8yMjL/MjIy/zExMf8xMTH/MDAw/zAwMP8vLy//Ly8v/zAw
MP8xMTH/MTEx/zIyMv8zMzP/MzMz/ywsLP8kJCT/SUlJ/1lZWf89PT3/IyMj/2JiYv9gYGD/RkZG/xUV
Ff9NTU3/Gxsb/xAPE/8kISn/TERY/2RUfP9kTIz/YSXJ/0cQov9uLuv/gEP+/4BD/v9+QP7/eDf7/20k
8v9YGMH/Xjqb/0Ambv8fCz//FAMw/1I/cf9UOXv/NAV3/10I2v9jD+L/Xwre/04Isv9KJ3v/SDJl/0Y3
WP8+Nkn/JyIs/ywrL/9GRUj/U1JU/1NSVP9EREb/HR0f/w8OEP8mJib/SUlJ/0tLS/9ERET/Q0ND/0ND
Q/8mJib/ERER/xAQEP8TExP/Gxsb/zAwMP8+Pj7/JiYm/xUVFf8PDw//BgYG/xEREf89PDv/Pz85/0M/
OP82Myn/U0MN/yojCP8zMSf/W1hI/21kQP+EcjL/nHsJ/+25A//8xQj//sYG//3DAP/2vwD/9L0C//7H
F//xvyD/c2Io/1tUOf9MSD7/Kygl/zExMf8bGxv/Dw8P/zExMf8xMTH/MTEx/zAwMP8wMDD/MDAw/y8v
L/8uLi7/MDAw/zExMf8xMTH/MjIy/zIyMv8zMzP/JiYm/y0tLf9OTk7/V1dX/yoqKv86Ojr/YmJi/2Nj
Y/8mJib/KCgo/0JCQv8RERL/FRMZ/zczQP9cUm7/ZlKG/2Q+qP9QELz/Vh7B/349/f+BRP7/gEP+/3w9
/v9zLfb/XRbV/1gwmv9VO4L/LxxO/xMEKf8kFjn/YE1//zsfZv9IA67/Yw7j/2MP5f9aBtL/SByH/0kv
bf9FNFv/MCU7/ygkL/9CQET/VVRV/1tbW/9WV1b/Ozs7/xQVFP8REBH/MTAx/1FRUf9SUlL/TExM/0pK
Sv9JSUn/Ly8v/xMTE/8PDw//ERER/xcXF/8oKCj/Pj4+/zU1Nf8cHBz/ExMT/wwMDP8EAwP/JyYm/0A+
PP9FQTv/RUE2/zEwIP94Xwr/KSMQ/yIgFv9UUET/Z19E/3xvNv+McRD/4rAD//nEBv/+xgf//sMB//jA
AP/zuwD//cYQ//rFGf+KdCT/XVQz/1RPQv8pJiP/NTU1/yIiIv8PDw//KCgo/zExMf8xMTH/MDAw/zAw
MP8vLy//MDAw/y8vL/8wMDD/MjIy/zExMf8yMjL/MjIy/zMzM/8hISH/NTU1/1JSUv9SUlL/HR0d/1FR
Uf9hYWH/W1tb/xQUFP9DQ0P/JiYm/w8PEf8hHib/SkRX/2RWev9lTo3/YiXL/0QRof9xMvD/gET+/4FF
/v+AQf7/ejb7/2ge6f9JG5n/XUGO/0k0av8hFDX/DQId/0E0VP9bSHv/LQtj/1oI1f9mEuf/YQ3i/04I
sv9JLHX/OSRW/ysfO/8/OUf/VVNY/2BfYP9gYGD/UFBQ/ygoKP8ODg7/Ghoa/0JCQv9bW1v/WVlZ/1RU
VP9RUVH/Tk5O/zMzM/8UFBT/Dw8P/xAQEP8VFRX/IiIi/zs7O/9AQED/JSUl/xcXF/8PDw//BwcH/wsK
Cf89Ozr/Q0E7/0lEOv9HQTP/Ni4V/5N4C/8xLB7/GRcN/0ZEOf9iXEX/dWo6/4lvGv/OoAT/98EG//7G
CP/+xAH/+cAA//S7AP/7xAz/+8QX/6WIH/9gVC7/V1BA/ywqJf82Nzb/KSkp/xISEv8eHh7/MTEx/zEx
Mf8wMDD/MTEx/y8vL/8wMDD/Ly8v/zExMf8yMjL/MTEx/zIyMv8yMjL/MzMz/x4eHv87Ozv/U1NT/0lJ
Sf8dHR3/X19f/2JiYv9FRUX/FxcX/01NTf8WFhb/ExIU/zIuOP9aUGj/ZlaD/2dCpP9TE8H/VBy+/35A
/f+BRf7/gUX+/34//v90KvX/VRe9/0Ulf/9dR4P/PS5U/xYNIv8NBBr/WEtr/006bP81A3//Yg/h/2kV
6P9eCtz/QRKE/zEbVv88LVH/U0te/2FeZv9lZWX/XV1d/zs7O/8UFBT/EBAQ/y4uLv9WVlb/Y2Nj/2Bg
YP9bW1v/WVlZ/1NTU/8zMzP/ExMT/w8PD/8QEBD/FBQU/x8fH/83Nzf/R0dH/y8vL/8cHBz/ExMT/wsL
C/8DAwP/JSUl/0NBPf9GRDv/TEg5/0U/Kv9fTBD/h2wL/zg0J/8XFQv/NzYs/15ZRf9xZT7/h3Aj/7yR
BP/2vwT//sUJ//7EA//6wQD/87sA//nCCP/7xRb/wJsc/2JVK/9VUD3/MjAp/zY1Nf8vLy//FxcX/xQU
FP8yMjL/MjIy/zExMf8xMTH/MDAw/zAwMP8vLy//MTEx/zIyMv8yMjL/MzMz/zIyMv8zMzP/HR0d/0BA
QP9VVVX/PT09/ykpKf9jY2P/Y2Nj/y0tLf8oKCj/QEBA/xEREf8aGB//Qz1N/2NWdv9mUYv/Zi7H/0cR
of9tLOj/gUX9/4FF/v+AQ///eTn7/2oe5P9III//Ry5z/1pIdf8zKEH/DwgW/xYOH/9iVnL/OihW/0EF
nv9nF+T/Yxje/0ANkP86IF7/UEBp/2FXbv9nYm7/Y2Jl/0lJSf8dHR3/Dg4O/yAgIP9LS0v/Z2dn/2lp
af9lZWX/YWFh/2BgYP9UVFT/LS0t/xISEv8PDw//EBAQ/xQUFP8fHx//NjY2/0pKSv85OTn/ISEh/xYW
Fv8ODg7/BQUF/w0NDf8+Pz7/RUM+/01IPP9QSjb/QDcd/5x7CP9pUxD/OjYp/xoXDf8rKSL/W1RE/2xi
P/+EcCn/rIYG//S7BP/+xQn//sQD//rBAP/zvAD/9r8F//rFFP/Spxr/ZVUl/1VOOP86OC//MjEw/zMz
M/8bGxv/Dg4O/zExMf8yMjL/MTEx/zExMf8wMDD/MDAw/y8vL/8xMTH/MTEx/zIyMv8zMzP/MzMz/zEx
Mf8fHx//Q0ND/1RUVP8xMTH/ODg4/2NjY/9jY2P/Gxsb/z09Pf8rKyv/EQ8T/yUiK/9QSl3/ZlZ//2VL
k/9fHNH/SRWo/3s7+v+ARf7/gEf+/39C/v91L/X/WRrE/0krfv9KNW7/VEhn/ygjM/8JBRD/Ih0r/2JY
cf8rHEH/UQi5/1QZt/82Gmj/SDNq/11Md/9nXHj/Z2Fx/1VTWf8qKir/Dw8P/xgYGP8/Pz//ZmZm/3Bw
cP9ubm7/ampq/2hoaP9kZGT/Tk5O/yQkJP8QEBD/Dw8P/xAQEP8UFBT/Hx8f/zg4OP9NTU3/Pz8//yUl
Jf8aGhr/EBAQ/wgICP8FBAT/MjAw/0REQf9JRz3/U0w8/1JIMP9YRhL/tI8H/0U4E/85NCj/HhoU/yIf
Hf9TUEP/Z18//4JvLf+ifQj/8LsC//3ECv/9xQP/+sEA//S9AP/1vAT/+8US/9+yGP9oViL/Vk02/0I/
Nf8vLSv/NjY2/yAgIP8ODg7/Kysr/zExMf8xMTH/MTEx/zAwMP8vLy//Ly8v/zExMf8yMjL/MjIy/zMz
M/8zMzP/Li4u/yIiIv9GRkb/U1NT/ycnJ/9HR0f/Y2Nj/1lZWf8UFBT/S0tL/x0dHf8TERb/Mi07/1pR
av9nVYP/aEKt/1ESu/9aIMb/gEH+/4BH/v+BR/7/fT7+/2wk7v9YKKf/Qihv/007av9QRl//Ih8q/wYF
C/8sKTP/YVpq/yEVNP81EGv/OSZW/1VFbv9kV3n/amB4/2Baaf84NT3/ExIV/xMTE/80NDT/YWFh/3R0
dP90dHT/cXFx/29vb/9tbW3/YmJi/z4+Pv8ZGRn/Dw8P/w8PD/8RERH/FRUV/yIiIv88PDz/UVFR/0RE
RP8qKir/HR0d/xMTE/8KCgr/BAQE/x8fHv9HRUT/SEZA/1FMPv9ZTzr/TD8i/554Dv+cdhr/MCYX/zgv
Kf8hHBv/HBkY/05MP/9mXUD/gm4w/5p4CP/ruQL//cQL//7GBP/6wQD/9L0A//O7Av/7xBH/6boT/2lY
Hv9UTDL/RkM4/ywpKP84ODj/JSUl/w8PD/8kJCT/MjIy/zExMf8wMDD/MDAw/y8vL/8vLy//MTEx/zIy
Mv8yMjL/MzMz/zMzM/8rKyv/JSUl/0hISP9RUVH/IiIi/1NTU/9kZGT/S0tL/xcXF/9MTEz/FxYY/xYU
G/8/Okj/YVZ1/2ZSiP9oNMH/RhCl/2ot5P+BRf7/gkb//4JF/v96Ovn/ZBza/1g1lf87JGP/TkBk/05H
V/8fHST/BQMI/zIwNf9UUVz/Ix0t/0I6UP9cU27/Z193/2Vfcf9JRVL/HBkj/xAPE/8pKSn/WVlZ/3R0
dP95eXn/dnZ2/3R0dP90dHT/b29v/1VVVf8qKir/EhIS/w4ODv8PDw//EhIS/xgYGP8oKCj/Q0ND/1ZW
Vv9GRkb/LS0t/x8fH/8UFBT/DAwM/wQEBP8SExH/Q0RC/0hGQv9PS0H/W1JA/1hNM/9pUBj/wJUM/3pS
Nf81IC3/Mykt/yIdIf8YFRb/SkY8/2JbPv+AbS//lHYJ/+23Av/9xAr//cYE//rBAf/1vQD/87sC//vD
Ef/vvBP/a1kb/1VLL/9JRjn/KSgl/zk5Of8pKSn/EhIS/x8fH/8yMjL/MTEx/zAwMP8wMDD/MDAw/y8v
L/8xMTH/MTEx/zIyMv8zMzP/MzMz/ykpKf8nJyf/SUlJ/05OTv8fHx//W1tb/2RkZP89PT3/ICAg/0ZG
Rv8UExX/HBog/0lDVf9jV3r/ZU+N/2Ql0f9GE6H/djb2/4FF/v+DRv7/gUT+/3Yz9/9XGb//XD+Q/zcj
Vv9NQV3/TUlS/x4dIP8EAwT/IiIj/yopLP9LSVD/Yl5o/2hjcP9bV2L/Lisz/xAOFP8cGx7/SkpL/3Jy
cf97e3v/enp6/3h4eP94eHj/dXV1/2VlZf87Ozv/GBgY/w8PD/8PDw//EBAQ/xMTE/8dHR3/MTEx/01N
Tf9bW1v/RkZG/y8vL/8iIiL/FRUV/w0NDf8FBQX/CwwL/z9BP/9JSET/T0pB/1lSQ/9hUz7/V0Il/7CG
Ff+yjAf/ay10/zUaOv8wIjP/Ixso/xcTGf9HRDr/YVo+/39sL/+UdQn/7bcD//3ECv/9xgT/+8IB//S8
AP/yuwH//MIQ//K+EP9sWhr/VEot/0lGOf8oJiT/Ozs7/ywsLP8TExP/Ghoa/zIyMv8xMTH/MDAw/zAw
MP8vLy//Ly8v/zExMf8yMjL/MjIy/zMzM/8zMzP/Jycn/ykpKf9JSUn/S0tL/yAgIP9fX1//ZGRk/zIy
Mv8rKyv/PDw8/xMTFP8kIij/Uktf/2VXfv9jS5T/YBvV/0oWqv98Pfz/gUX+/4NH/v9/Qv7/cyzy/1Mh
qv9bP4n/NSRR/0o/V/9PTFP/Hx8g/wkJCf8oKCj/UE9R/2NiZf9kY2j/SEdL/xgXHP8TERX/NjU4/2dn
aP97e3v/fHx8/3p6ev96enr/enp6/29vb/9LS0v/ISEh/xAQEP8ODg7/Dw8P/xISEv8XFxf/JSUl/z4+
Pv9aWlr/XFxc/0RERP8vLy//IiIi/xUVFf8MDAz/BgYG/woKCv89Pj3/SktG/01LQ/9ZUkP/ZFhC/1tM
L/+Nahr/w5MR/5hvPP95MLT/PhdZ/y0eOf8iGiz/FxEa/0dCO/9gWT3/fmst/5d1Cv/ttwP//cQK//3G
BP/7wgH/8r0A//C6Av/5ww//8b0R/2xZGP9TSSr/SUY5/yclJP87Ozv/Li4u/xUVFf8XFxf/MjIy/zEx
Mf8wMDD/MDAw/y8vL/8vLy//MTEx/zExMf8yMjL/MzMz/zMzM/8nJyf/KSkp/0lJSf9JSUn/IiIi/2Fh
Yf9lZWX/Kioq/zY2Nv8xMTH/ExIU/ysoMP9XUGb/ZVWC/2ZIof9YFMv/URu4/39B/v+CRv7/g0f+/35A
/f9uJuv/USea/1k/hP82J0//QztO/1JPVf8jIiP/Jygn/1BQUP9iYmH/X2Bf/zU0Nf8QEBD/Hx8f/1NT
U/92dnb/fHx8/3t7e/97e3v/fHx8/3d3d/9ZWVn/Kysr/xISEv8ODg7/Dw8P/xAQEP8UFBT/Hh4e/zIy
Mv9PT0//ZGRk/1paWv9AQED/Ly8v/yEhIf8TExP/DAwM/wUFBf8KCgr/PT4+/01NSv9OTEP/WFRE/2Vb
RP9mVTX/dVYc/8KSHf+zjgf/hEWM/4I7yv9FE3T/LRtA/yIXL/8ZEh3/SEM7/2BYPP98aiz/m3kJ/+25
Av/9xQn//sUD//nBAP/yvAD/8LoB//nCDv/tuQ//aVYX/1FHKv9IRTj/JyUj/zw8PP8wMDD/FRUV/xQU
FP8yMjL/MTEx/zAwMP8wMDD/Ly8v/y8vL/8xMTH/MjIy/zIyMv8zMzP/MzMz/yYmJv8qKir/SEhI/0ZG
Rv8kJCT/Y2Nj/2RkZP8jIyP/PT09/yoqKv8UFBX/MS04/1xTbP9lU4T/aUOx/1EQvf9ZIcj/gEP+/4JG
//+DR///fT/8/2oi4/9MKI3/Vj99/zsuUP83MkL/SUhN/ycmJ/9NTU3/X19f/1hYWP8oKCj/EBAQ/zIy
Mv9nZ2f/enp6/3t7e/96enr/fHx8/3p6ev9mZmb/ODg4/xYWFv8PDw//Dw8P/xAQEP8TExP/Ghoa/yoq
Kv9GRkb/YWFh/2dnZ/9SUlL/Ozs7/y0tLf8eHh7/ERER/wsLC/8FBQX/DQ0N/0NDQ/9PT0z/UE1G/1pV
Rv9mXkX/alw5/2ZQHf+/jhz/uYod/5BdO/96Ka3/fzTW/0cVgv8tF0f/IhMx/x0VIv9LRDz/YVg5/3xp
J/+jgAb/8bsD//7FCP/+xQL/+MEA//G8AP/xuwL/+MEN/+S0Dv9lUxj/UEYq/0ZDN/8pJyT/PT09/zEx
Mf8WFhb/ExMT/zIyMv8xMTH/MDAw/zAwMP8vLy//Ly8v/zExMf8yMjL/MjIy/zMzM/8zMzP/Jycn/ykp
Kf9HR0f/RUVF/yYmJv9jY2P/ZGRk/x4eHv9CQkL/JiYm/xUUFv83Mz//XlVw/2NRhf9qPrr/Sg+0/2Il
1f+AQ/7/gkb//4JH/v98Pfz/ZB/b/0gogf9UP3n/QzZX/ygjMP8nJin/R0dH/1tbW/9VVVX/IiIi/xQU
FP9CQkL/cHBw/3l5ef95eXn/enp6/3x8fP9xcXH/SEhI/x4eHv8QEBD/Dw8P/xAQEP8SEhL/FxcX/yUl
Jf89PT3/XFxc/21tbf9iYmL/SUlJ/zc3N/8pKSn/Ghoa/w8PD/8JCQn/BQUE/xUVFP9LTEz/UVBO/1JP
Sf9bVUr/aWFJ/25iO/9lUR3/to0Y/8SUGf+kci//fjON/3MesP91JNz/RRaG/ywVS/8eES//IRol/05G
Pf9kWTj/fGgh/7CJBP/1vgP//sUI//7EAv/4wAD/8LsA//C7A//2wA3/2KwL/2NQF/9PRSr/Qj80/yop
J/89PT3/MTEx/xYWFv8SEhL/MjIy/zExMf8wMDD/MDAw/zAwMP8vLy//MTEx/zExMf8yMjL/MzMz/zMz
M/8nJyf/KCgo/0ZGRv9DQ0P/Jycn/2RkZP9jY2P/Gxsb/0VFRf8kJCT/FhUY/zw3RP9fVnH/Y1GG/2o5
wP9HD67/Zyfd/4BD/v+CRv7/gUj+/3w7+/9fHdL/PiBz/1ZCeP9NQV//HBgl/z4+P/9XV1f/VFRU/yMj
I/8WFhb/S0tL/3Jycv93d3f/d3d3/3l5ef94eHj/XV1d/ysrK/8SEhL/Dw8P/w8PD/8RERH/FhYW/yEh
If82Njb/VVVV/25ubv9sbGz/VVVV/0BAQP8yMjL/IyMj/xUVFf8NDQ3/CAgI/wYGBv8jJCL/VFVT/1JS
T/9VUUr/XllK/2pkSf9xZj3/ZVMd/7SME//PnRT/tIYc/4pUaf96KbD/aRW4/24V4P89Enf/KhRJ/xoO
K/8nISn/UEg8/2hcNP99Zxj/wZYD//jABf/+xQj//cMB//e/AP/vugD/8b0F//S/DP/KoAz/XU0Y/0tE
LP87Oi//LCwq/z09Pf8xMTH/FhYW/xISEv8yMjL/MTEx/zAwMP8wMDD/Ly8v/y8vL/8xMTH/MjIy/zIy
Mv8zMzP/MzMz/ykpKf8mJib/RUVF/0NDQ/8nJyf/Y2Nj/2JiYv8aGhr/RkZG/yIiIv8YFxn/PzpH/2BW
c/9iUIX/ajbG/0kQqv9pKuT/gEP+/4JG/v+BSP7/ezr6/1wby/8yFWf/VUR2/zsxTf8yLjr/UFBR/1NT
U/8oKCj/FRUV/0tLS/9wcHD/dHR0/3R0dP93d3f/bm5u/0NDQ/8aGhr/Dw8P/w8PD/8QEBD/FBQU/x0d
Hf8xMTH/Tk5O/2tra/9zc3P/YGBg/0hISP85OTn/Kysr/xsbG/8QEBD/CgoK/wYGBv8LDAv/Ozw6/1pb
Wv9VU0//VlZM/2NdT/9vaE3/dGo+/2lXHP+0kBD/1acM/8OVD/+EYCT/dEtq/3koxP9kD8H/Zgvf/zEM
Yf8pFEX/Gg0n/y8pLv9TSzj/bF8w/4BnEf/VpQT/+8MG//7FBv/7wwH/9b4B/+26AP/yvQj/8b0K/7aQ
Dv9YShr/SkQv/zMxKP8yMTD/Pj4+/zAwMP8WFhb/ExMT/zIyMv8xMTH/MDAw/zAwMP8wMDD/Ly8v/zEx
Mf8yMjL/MjIy/zIyMv8zMzP/Kysr/yMjI/9CQkL/RERE/yYmJv9jY2P/YmJi/xoaGv9HR0f/ISEh/xgX
Gv9APEn/YVd0/2FPhf9pNMf/SRCq/2os5f+AQ/7/gkb+/4FI/v97Ovr/WxvH/y0RX/9FNGb/KiE8/0dE
T/9SUlP/MjIy/xMTE/9FRUX/bGxs/3Fxcf9xcXH/c3Nz/2FhYf8uLi7/EhIS/w8PD/8QEBD/ExMT/xkZ
Gf8pKSn/RUVF/2ZmZv92dnb/aWlp/1BQUP8/Pz//MjIy/yIiIv8TExP/DQ0N/wgICP8GBgb/HR0d/1RU
U/9aW1n/VlRQ/11ZUP9oYlD/d21P/3lrP/9uWhn/vJcQ/9ysCv/Jnwf/mncY/1M5LP9hQGL/dCjO/2UI
z/9bBsv/KwxR/yYSP/8aDiT/OjMz/1hNNf9wYiv/jW4K/+ayAv/9xAf//sUF//rCAP/zvQD/7bkA//O+
Cf/xvAj/mHsR/1JGGv9IRTP/Kykg/zg3Nv89PT3/Ly8v/xUVFf8VFRX/MjIy/zExMf8wMDD/MDAw/y8v
L/8vLy//MTEx/zExMf8yMjL/MzMz/zMzM/8uLi7/ICAg/0BAQP9FRUX/JSUl/2JiYv9iYmL/Gxsb/0dH
R/8jIyP/GRcc/0E8S/9hV3T/YU2H/2k0x/9JD6v/aivm/35D/v+ARv7/gUj9/3w8+v9aHMf/KhBd/ykW
SP89Mk3/TkpW/z8/QP8TExP/OTk5/2dnZ/9tbW3/bm5u/29vb/9WVlb/ISEh/w8PD/8PDw//ERER/xUV
Ff8hISH/Ojo6/1xcXP91dXX/cHBw/1dXV/9ERET/Nzc3/ycnJ/8YGBj/Dw8P/woKCv8GBgb/Dg4O/0A/
P/9kYWL/W1lX/1tYUv9iX1T/cWlT/3xyUP94bDj/dV0X/8ugEv/dsQf/0aQE/6WDDP9xWzT/SzM1/1I2
Xv9tJ8z/YwTX/0kGpf8nD0r/IA81/yAVI/9DPDf/XVIx/3VjIv+lfwf/8bwD//7GCP/9xAP/+cEA//G7
AP/ruQD/8r4M/++7CP98ZBD/TkMd/0tFNv8iIBv/Ozs6/z09Pf8sLCz/ExMT/xcXF/8yMjL/MTEx/zEx
Mf8wMDD/Ly8v/y8vL/8xMTH/MjIy/zIyMv8zMzP/MjIy/zExMf8dHR3/PDw8/0VFRf8jIyP/X19f/2Nj
Y/8eHh7/RUVF/yUlJf8ZFxz/QTxL/2FXdP9hTYb/ajXI/0kPrP9pKeT/fkL+/4BG/v+CSf7/fD37/10e
y/8rEF3/MyBS/0g+Wf9JRVD/HR0d/yoqKv9hYWH/ampq/2pqav9ra2v/UFBQ/xwcHP8PDw//Dw8P/xIS
Ev8aGhr/LS0t/05OTv9tbW3/dHR0/19fX/9JSUn/Ozs7/ywsLP8cHBz/ERER/wsLC/8HBwf/CAgI/yoq
Kv9gYF//YmFf/1taVv9fXVX/amVW/3hwV/+Cdk//d2gy/4dqEv/YrBL/37EI/9GnAv+qhwf/dWIr/2JS
Pv9DLz7/RS1Z/2goyP9hA9j/NAl0/yUQQf8aDSn/KiIo/0lDNP9kWC3/eWIV/8aZA//3wQf//sYH//zD
Av/3vwD/8LsA/+y6Av/wvQr/4bII/2BQEf9JQCD/R0M3/yAeGf89Pj3/PDw8/ykpKf8SEhL/Gxsb/zIy
Mv8xMTH/MTEx/zAwMP8wMDD/Ly8v/zExMf8yMjL/MTEx/zIyMv8yMjL/MzMz/xsbG/84ODj/RUVF/yMj
I/9cXFz/Y2Nj/yMjI/9CQkL/KCgo/xgXGv8/Okj/YFZz/2BOgv9qOMP/SA6x/2Ym3P99Qv7/f0b+/4JJ
/v98Qfv/YiHU/zIXY/8/L17/SkJa/zEtOP8aGRv/U1NT/2ZmZv9oaGj/aGho/1BQUP8bGxv/Dw8P/xAQ
EP8UFBT/Hx8f/zo6Ov9fX1//dXV1/2lpaf9PT0//Pz8//zExMf8gICD/ExMT/wwMDP8ICAj/BwcH/xwc
HP9VVlT/aWpo/19eWv9hXlb/aGRY/3RuW/+CeFn/g3dM/3JiJP+jgBT/5LYS/+CyCf/TpwH/p4MF/2FR
E/9kWDb/WExD/zwrQP87KVL/ZyrF/1kFzP8lC0f/IhA2/xkQI/82MC7/UUgx/2xdJv+HaQr/5LEC//zE
B//9xQP//MMB//S9AP/tugD/7rwG/+67B/+/lwn/VkgU/0VAJf89OjH/JCIg/0A+P/87Ozv/JSUl/xAQ
EP8gICD/MjIy/zExMf8xMTH/MDAw/zAwMP8vLy//MTEx/zIyMv8xMTH/MjIy/zMzM/8zMzP/HR0d/zMz
M/9FRUX/JSUl/1ZWVv9jY2P/Kioq/zw8PP8tLS3/GBca/zw4Rf9fVXL/X02B/2s9vf9MDrn/XyHS/31B
/v9/Rf7/gkr+/39G+/9oJt3/PSJt/0g5ZP9FPVP/Ghch/zs6PP9hYWH/ZGRk/2VlZf9VVVX/Hx8f/w8P
D/8QEBD/FRUV/yQkJP9GRkb/ampq/3Fxcf9aWlr/RERE/zc3N/8mJib/FhYW/w4ODv8JCQn/BgYG/xIS
Ev9ISEn/bG1s/2NjYf9gX1v/Z2Nb/3NsX/9/eF7/in1Y/4FzPP9/ZBr/x6AW/+u4Ev/hsQn/1aYB/6WD
C/9lUxf/Rz0W/1ZOPf9QR0j/NCg+/zgoTv9mKcb/QAaT/yAOOf8bDin/Ixol/0Q7Mf9bTy3/cl0b/6yH
BP/1vQL//cUH//zFAv/6wgH/8rwA/+y5AP/vvQj/7LkF/5V2Df9OQhj/RUEs/ywsJf8vLiz/QD8//zk5
Of8gICD/Dw8P/yUlJf8xMTH/MDAw/zAwMP8vLy//MDAw/y8vL/8wMDD/MTEx/zExMf8yMjL/MzMz/zMz
M/8hISH/LCws/0NDQ/8qKir/TU1N/2RkZP8zMzP/MzMz/zU1Nf8YFxr/NzNA/15Vbv9fTn//aUKy/1QQ
xf9WGsT/fT/+/35E/v+DSv7/g0v9/2Uvz/9ELXD/Sz1m/zMrQf8hHif/VVVW/2FhYf9iYmL/Wlpa/ycn
J/8PDw//EBAQ/xUVFf8lJSX/S0tL/21tbf9nZ2f/TExM/zw8PP8uLi7/Gxsb/xEREf8LCwv/BgYG/woK
Cv85OTn/a2tr/2loZ/9jY13/ZmVd/3FtYP99dmP/i39j/4p8Uf92Zij/oH8W/+W4Ff/quQ7/37IF/8+i
Av+afQ7/c2In/1BFHP83MBn/TEc//0pGSv8sJDf/OS1K/2Qoxv8iDET/HBAu/xkQIP8yKiz/S0Iu/2VX
J/+AYwr/16kD//rCB//+xQb//MUB//a/AP/vuwD/67kC/+28CP/isgn/a1YN/0g+Gv9IQjT/HR0Y/zk6
OP8/QD7/NjY2/xsbG/8ODg7/LCws/zExMf8wMDD/MDAw/y8vL/8vLy//Li4u/zAwMP8xMTH/MTEx/zIy
Mv8yMjL/MzMz/yYmJv8kJCT/Pz8//zIyMv8/Pz//Y2Nj/0BAQP8nJyf/QEBA/xkYHP8yLjn/XFRq/19P
fP9mRaH/XBbU/0wUtP97O/z/fkP9/4JK/v+GTv7/XTWz/0c1cv9IPGD/Ix0v/zs4QP9cW1z/Xl5e/11d
Xf83Nzf/ERER/xAQEP8TExP/IyMj/0lJSf9qamr/XV1d/0VFRf82Njb/JCQk/xQUFP8MDAz/BwcH/wcH
B/8kJCT/Y2Fi/21tbP9kZGD/Z2Vf/29sYv96dWb/iIBn/46BXf+BcDv/hmwY/9CnGP/wvRP/6rcM/92v
A//EmgP/jnQW/3BhKv9fVi//PDUd/y4pIP9IRUP/SEVM/yIcK/8+NUj/RSKE/xkPKP8WDyD/Ihsi/z84
Lf9XSyj/bVoZ/6qDBP/xuwX//cUH//7EBP/6wgH/870A/+y5AP/uuwb/6rkG/7yUCP9WRxL/RDwh/0E9
Mv8cHBj/Pz8+/z8/Pv8xMTH/FxcX/w8PD/8xMTH/MTEx/zAwMP8wMDD/MDAw/y8vL/8uLi7/MDAw/zEx
Mf8yMjL/MjIy/zMzM/8yMjL/Li4u/x0dHf85OTn/Ojo6/zAwMP9iYmL/T09P/xsbG/9KSkr/HRwf/yso
MP9XUWT/X1F4/2BEj/9lIdr/Rw+v/3Mx9f9+QP3/gUf+/4dR/f9TNJb/Sjlv/0A2Vf8iHSv/TkxT/1pa
Wv9cXFz/SkpK/xgYGP8PDw//EhIS/x4eHv9DQ0P/ZWVl/1dXV/9AQED/MTEx/x0dHf8QEBD/CgoK/wYG
Bv8QEBD/TExM/3Bvb/9nZmT/ZmVg/25sYv96dWf/h4Bp/5CGZP+JeUr/emYh/7iTFv/yvxr/770Q/+e1
CP/ZqQT/sIwJ/4JtHv9tXiv/XVUw/1FLNv8oJBf/Lisl/0ZFRP9FREj/GRYf/z42Sf8aESj/FxEe/xgS
Gv80LSf/SkEo/2RUH/+AZQn/3qwD//vCCP/9xQb//cMC//fAAP/xuwD/67kB/+67B//ntQX/gmkO/0w/
FP9EPyr/Lywk/ykoJv9AQED/PT09/yoqKv8TExP/FhYW/zExMf8xMTH/MTEx/zAwMP8vLy//Ly8v/y4u
Lv8wMDD/MTEx/zIyMv8xMTH/MzMz/zMzM/8zMzP/Ghoa/zExMf89PT3/JiYm/15eXv9cXFz/GBgY/0xM
TP8iIST/JCIp/1FLXP9gVHb/XEWD/2ot1f9IDLX/ZSLi/34+/v9/Q/3/hU/4/0kvf/9KOmv/NStH/y8q
N/9UUlf/WFhZ/1VVVf8rKyv/Dw8P/xEREf8YGBj/OTk5/2BgYP9WVlb/Pj4+/y4uLv8ZGRn/Dg4O/wgI
CP8GBgb/Jicm/2ZmZf9naGb/Y2Rf/2loYv91cmj/hH5r/5CGav+NgFX/eGYt/6KBGf/puhv/9b8V/+u6
C//jsQP/yJ0D/5l8EP93Zij/Z1wu/1lRNP9QSjf/RUM4/xYWDv8zMi//RkZF/z49QP8ZGB3/HRkf/xUQ
GP8UEBb/JyMg/0E5Jf9aSyT/bloQ/7yRBf/1vwP//sQI//3FA//7wgD/874A/+y6AP/rugX/6rgF/8uh
B/9dTA3/Rjod/0VBMf8aGBT/Ojg4/0BAQP87Ozv/IyMj/xAQEP8gICD/MjIy/zExMf8xMTH/MDAw/zAw
MP8vLy//Ly8v/zAwMP8wMDD/MTEx/zExMf8yMjL/MzMz/zMzM/8iIiL/KCgo/zw8PP8nJyf/UlJS/2Bg
YP8mJib/QkJC/y8uMP8fHSP/RkFP/2BVdP9bSHr/Zz64/1UNyv9REsT/ejr8/3w+/v98Ruv/RCt1/0c5
ZP8rIzr/PTlE/1RSV/9VVFX/RkZG/xYWFv8PDw//FBQU/yoqKv9VVVX/V1dX/z8/P/8vLy//GRkZ/w0N
Df8HBwf/BwcH/zc3N/9oaWf/YmJf/2ZkXv9vbWP/f3po/4yFaf+RhFz/fG03/451Gv/drx3/9cMV//C9
Dv/ltwX/2KgC/6yJDP+FbyD/cWIq/2FXMf9XTjT/TEg4/0ZDO/8yMSz/GRgV/z07PP9GRkb/Kysr/xAP
EP8TERL/EhAQ/yIeGP85MyP/UEUh/2VVFv+ceQT/7LcD//3DCP/+xAb//MQB//i/AP/xuwD/67gB/+q7
Bf/ltAb/j3EK/0xBE/9COyT/NzMs/x4dGf9BPz//Pz8//zU1Nf8bGxv/Dg4O/ykpKf8xMTH/MDAw/zEx
Mf8wMDD/MDAw/y4uLv8uLi7/MTEx/zAwMP8xMTH/MjIy/zIyMv8zMzP/MzMz/ysrK/8dHR3/NjY2/zEx
Mf87Ozv/YmJi/z09Pf8rKyv/QkJC/x4dIf83Mz//XVVs/1xLeP9eQpL/ZBzf/0YJtP9rKu7/ezv9/286
3/9AKG7/QjRd/ycgNv9FQkv/UlJU/1FRUP8xMTH/EBAQ/xEREf8cHBz/Q0ND/1paWv9CQkL/MTEx/xwc
HP8ODg7/BwcH/wcHB/84OTf/Xl9d/1taWP9mY13/dXFk/4d/aP+RhmL/hXZG/4FoH//IoRv/+MMa//O+
Ev/suAf/360C/7uVBv+Qdhr/eWco/2lcLf9dVDH/U0w3/0tFO/9EQjz/QEE9/xoaGP8jIyP/QkJC/0RE
RP8VFRX/Dw8P/xEQDf8dGRX/Mi8e/0o+If9hTxv/hWgH/9+uAv/7wQf//sUH//vEAv/4wQH/870A/+25
AP/sugX/57YE/8aeBv9dSw7/RDoX/0RAMP8eHBX/MDAv/0A/P/8+Pj7/Li4u/xQUFP8RERH/MTEx/zEx
Mf8wMDD/MDAw/zAwMP8vLy//Ly8v/y4uLv8wMDD/MTEx/zExMf8xMTH/MTEx/zIyMv8zMzP/MzMz/xsb
G/8tLS3/OTk5/ygoKP9eXl7/VVVV/xkZGf9OTk7/JSQn/yknLv9UTl//YFJ2/1lCfv9pNM3/TAbA/1QR
y/96Ovz/ZzHX/zskaf88Llj/Jh41/0lFT/9QT1H/SktK/yAgIP8PDw//FBQU/yoqKv9TU1P/SUlJ/zU1
Nf8hISH/EBAQ/wkJCf8GBgb/Kysr/1ZXVv9RUk//YF1T/3ZvYP+IgGX/jH9T/3hlKf+siRr/778b//XA
FP/uugv/4rIE/8acBf+bfhT/gGsm/21gLP9jVzH/V082/01JOP9HRTn/Q0E8/z9APv8xMTH/EhIS/zQ0
NP9FRUX/JSUl/w8QDf8PEAz/HBoS/zArG/9DOx3/W00X/3phCP/WpgP/9sAG//3EBv/+xQP/+sMA//a+
AP/xugD/7LgD/+q4B//hsQX/gmgK/0w+E/8/OSL/NjUq/xcYFf89PT3/Pz8//zo6Ov8jIyP/EBAQ/xwc
HP8xMTH/MTEx/zExMf8wMDD/Ly8v/y8vL/8vLy//Ly8v/zAwMP8xMTH/MDAw/zExMf8yMjL/MjIy/zMz
M/8zMzP/JCQk/yEhIf82Njb/Jycn/0xMTP9gYGD/KSkp/z4+Pv81NTX/IiAm/0Q/T/9fVXL/V0V2/2E/
nf9dFNv/QwOt/20o7v9kL9H/NR9g/zcpUv8mHzb/SEVO/01MT/9BQkH/FhYW/w8PD/8YGBj/PT09/1FR
Uf87Ozv/Kioq/xQUFP8LCwv/BQUF/xcXFv9PUE7/R0hF/1VUSv9taFX/hXpa/39xQP+GbBj/2bAX//PA
Ff/tuwz/5LQE/9CjA/+mhA//hG4j/3RkKf9mWy7/W1Iz/1FLNv9IRjn/REM6/0NAPf9APz//PT09/xQU
FP8jIyP/PDw8/x4eHv8PDwz/EBAM/x4cEf8uKxj/QToa/1hKF/95Xgj/zqID//W/Bv/8xAj//cUG//zD
Af/4wAD/8rwA/+y5AP/qugX/5LME/7GMCP9XSA3/QjgX/0M/L/8cGRT/LS0t/z9AQP8/Pz//MzMz/xoa
Gv8ODg7/KSkp/zExMf8wMDD/MTEx/zAwMP8wMDD/Ly8v/y4uLv8vLy//MDAw/zAwMP8wMDD/MTEx/zIy
Mv8yMjL/MjIy/zIyMv8xMTH/GRkZ/y4uLv80NDT/Ly8v/15eXv9ISEj/ICAg/0tLS/8kJCb/MS43/1lS
Zv9cT3P/VUB5/2oyzf9JArf/TgrC/2Uv0/8wGVv/MiNM/ycfNv9GQ0z/SklL/zk5OP8RERH/ERER/x8f
H/9ISEj/RkZG/zQ0NP8eHh7/Dg4O/wcHB/8ICAj/Ojs6/0BAPv9IRkD/YFxM/3twUf92aDL/lnkS/+28
E//xuhD/5bYG/9iqAf+5kwb/knUb/3tnJ/9rXi7/X1Qz/1RNN/9NRzn/R0M7/0JBPP8/QT3/Pj8+/z4+
Pv8fHyD/FxgX/yYmJv8SEhL/EA4N/xYTDP8iHxP/MCsX/0Q5Gf9YShP/fWMH/9OjA//0vgb//MMG//3F
Bf/8xQL/+cEB//O9AP/tugD/7bkF/+W0BP/PpQX/a1UL/0g8Ef9BOif/MS4l/xkXFP89PT3/Pz8//zw8
PP8pKSn/ExMT/xMTE/8yMjL/MTEx/zAwMP8wMDD/MDAw/y8vL/8uLi7/Ly8v/y8vL/8vLy//MDAw/zAw
MP8xMTH/MTEx/zExMf8yMjL/MzMz/zMzM/8hISH/ISEh/zQ0NP8lJSX/UFBQ/1xcXP8iIiL/RUVF/zMz
M/8lIyn/SUNT/19Vcf9UQnH/XUCV/2EY1v89AJ//WBzE/ysVUP8vIEf/Jh81/0RBSv9HRkn/MTEx/w8P
D/8SEhL/Jycn/0pKSv88PDz/LCws/xUVFf8LCwv/BgYG/xUVFf89Pj3/OTcy/0xJPv9qY0n/cWYz/5Fy
D//svA7/67sG/+SyA//UpQH/pH4D/4RsF/93ZSf/ZVos/1hQNP9PSjf/SEU6/0RCPP9DQD7/QT8+/0BA
Pv8/QD7/KCgn/w4ODf8SEQ7/Dw4K/xMRC/8bGQ//KSMU/zYvFf9IPRT/W0oQ/45wBv/ZrAP/9L4G//rD
B//+xQX//cQD//rCAf/zvgD/7roA/+u6A//ptQb/3K4E/4RoCv9QQA7/Pzca/z87L/8VEw7/MjEx/z8/
P/8+Pj7/NjY2/x0dHf8QEBD/ISEh/zExMf8xMTH/MDAw/zAwMP8vLy//Ly8v/y4uLv8uLi7/Li4u/y8v
L/8wMDD/MTEx/zExMf8xMTH/MjIy/zIyMv8yMjL/MzMz/zExMf8ZGRn/Kysr/zAwMP8xMTH/XV1d/0RE
RP8iIiL/S0tL/yYlKP8zLzv/WVJm/1tOcf9RP3D/bDrA/0sFt/89BZj/KBNJ/y0gQf8kHTL/Qj9H/0RD
Rv8sLSz/Dw8P/xMTE/8uLi7/R0dH/zc3N/8mJib/ERER/wgICP8GBgb/JSUl/y8vLv80Miz/T0o6/2hg
Of9sVhH/4rQJ/+28Bv/otQH/26sB/8aaAf+hgAH/Z1IC/1FDEf9ORSL/Tkk1/0lGOv9EQzz/QkI8/0FA
Pf89Ozn/MjEu/yIiH/8MDAj/Dg8I/xQRCv8bGA7/JSER/zAqEv8+NRP/TkIS/2tWCf+uiQT/5bQD//S/
Bv/7wwf//sUF//7EAv/7wgH/9r4A//C7AP/suQP/57gE/9+vA/+ZfQn/WEcL/z82Fv9BPSz/IB8Y/x8f
Hf8+Pj7/Pz8//zw8PP8rKyv/FBQU/xAQEP8wMDD/MTEx/zAwMP8xMTH/MDAw/zAwMP8vLy//Li4u/y8v
L/8uLi7/Ly8v/zAwMP8wMDD/MTEx/zExMf8xMTH/MjIy/zIyMv8yMjL/MzMz/yMjI/8fHx//MTEx/yQk
JP9NTU3/Wlpa/yIiIv9ERET/NjY3/yYkK/9HQk//XlVu/1NFaf9XQH3/ZijV/z4CmP8lEEf/Kh49/yIc
Lv8+O0T/QkFD/ysrK/8PDw//FBQU/zIyMv9DQ0P/NTU1/yAgIP8ODg7/BwcH/wcHB/8pKSn/JiUl/zEu
Jv9ORzT/XFAk/4FjBv/sugb/7rwG/+i3Av/ergL/0aIB/7yVAf+XdwP/V0UF/zotBv8rIgn/JiAQ/yAe
EP8cGQ//FxQL/xMQB/8UEQf/FhMJ/xwXC/8hHg3/KSMO/zMqEP8+NA//Sz4R/2ROCv+Wdgb/1KcE/+25
BP/2vgn/+8MH//3FBP/9xQL/+8MB//e/Af/xuwH/7LkD/+m3Bf/frwL/rIoI/11KDP9EORH/QDsm/y8t
If8TEw//Ojs5/z4+Pv8+Pj7/NTU1/x4eHv8QEBD/Hx8f/zExMf8xMTH/MDAw/zAwMP8vLy//MDAw/y8v
L/8uLi7/Ly8v/y4uLv8vLy//MDAw/zAwMP8xMTH/MDAw/zExMf8xMTH/MjIy/zIyMv8zMzP/MjIy/xkZ
Gf8nJyf/Li4u/ywsLP9aWlr/SEhI/x4eHv9OTk7/Kiks/zEuNv9VT2D/XFFt/09AZf9kRZz/WhTI/yoM
Uv8nHTn/IBos/zo3QP9APkL/LCws/w8PD/8TExP/MjIy/0FBQf8zMzP/Hh4e/w4ODv8ICAj/CAgI/ygo
KP8hICD/LCkh/0lCLf9TRRb/cVgC/+OzBf/wvQf/7roD/+W0Av/arAH/z6IB/8CYAP+phwP/el8E/0g6
B/82LQj/LikJ/ysmCf8qIwz/KSIO/yokDf8uJg//NCsN/zowD/9DNxD/UEEN/21WCf+cewX/0KIF/+i2
A//xvAb/+sAG//zDBv/+xQT//cQB//zDAP/3vwD/8bsB/+25BP/otwT/3rAB/7SPBv9kUQf/RzsP/z84
IP82NCn/EhIK/zAwLv89Pj3/PT49/zs7O/8pKSn/FBQU/xAQEP8wMDD/MTEx/zAwMP8xMTH/MDAw/y8v
L/8vLy//Li4u/y8vL/8uLi7/LS0t/y8vL/8wMDD/Ly8v/zAwMP8wMDD/MTEx/zExMf8yMjL/MzMz/zIy
Mv8zMzP/Jycn/xsbG/8tLS3/JSUl/0NDQ/9aWlr/Kioq/zg4OP9AP0D/JyYr/z87R/9dVWj/Vkpl/0xA
Yv9sQL//Pg2I/yEaMP8eGCn/NDE6/z08QP8tLS7/EBAQ/xMTE/8xMTH/Pz8//zQ0NP8eHh7/Dg4O/wgI
CP8ICAj/JSUl/x0cHP8mIxv/Pzso/01AFv9iTQL/xJkD//G9CP/0vQT/77kD/+i1A//grgT/1qgC/8yh
AP/EmwH/tY8D/5d3BP92Xwb/Yk0H/1RDCP9PQAj/UkEJ/1tHCP9nUgn/fmQH/5x7Bf+/lwL/2KwD/+e0
BP/uuwT/9L4G//vCB//9wwb//cQC//zEAf/7wwD/9r8A//C7Af/suQP/57UE/96tA/+0jgf/ZFIK/0k9
Dv89Nxv/PDgq/xMTDf8lJCH/Pj09/z09Pf89PT3/MzMz/xsbG/8QEBD/ISEh/zExMf8wMDD/MDAw/zAw
MP8vLy//MDAw/y8vL/8uLi7/Ly8v/y4uLv8uLi7/Li4u/y8vL/8vLy//MDAw/zAwMP8wMDD/MTEx/zEx
Mf8yMjL/MjIy/zMzM/8zMzP/HBwc/yEhIf8tLS3/JCQk/1NTU/9QUFD/HBwc/0xMTP8zMjT/Kykw/01I
VP9dVmj/TERc/1FFaP9nOb3/HRUs/x0YJ/8tKjP/Ozo9/zExMf8TExP/EhIS/y0tLf8+Pj7/NDQ0/yAg
IP8PDw//CQkJ/wgICP8gICD/HBwc/yAeGf81MiL/SkAa/1dFA/+QcAH/6bUF//jABv/3vwP/87wC/+24
A//otAX/4bAF/9qsA//WpwP/0aQC/8+iAf/MoAH/yZ8B/8mfAf/LoAL/z6QB/9anAv/drgH/5LIE/+i2
Bf/vuwb/9r4H//jBB//8xAX//cQE//3FAf/8xAD/+sEA//S+AP/wuwH/7LkE/+azA//crQL/q4gH/2VS
B/9JPA7/PzYY/z45LP8YFxD/GhsZ/zw8PP89PDz/PT09/zk5Of8jIyP/EhIS/xMTE/8xMTH/MTEx/zAw
MP8wMDD/MDAw/y8vL/8vLy//Li4u/y8vL/8uLi7/Li4u/y4uLv8uLi7/Ly8v/y8vL/8vLy//MDAw/zEx
Mf8xMTH/MTEx/zIyMv8yMjL/MjIy/zMzM/8vLy//GBgY/yYmJv8oKCj/MjIy/1hYWP89PT3/JCQk/0xM
TP8sLC7/NDE4/1VRXf9ZVGP/SEFU/1hKdv8vIUr/HRok/yIgJv83Njn/NDQ0/xcXF/8RERH/JiYm/z09
Pf82Njb/JSUl/xEREf8KCgr/CAgI/xUVFf8hISH/HBoV/yooG/9HPST/SzwI/21TAf+uiQL/87wE//rC
Bf/7wwP/98AD//W9Av/xuwT/7LkE/+u3Bv/ntAX/5bME/+KxBP/isQP/47ID/+azBP/ntgP/7LcF/++6
Bf/xvQf/878G//jCBv/8wwT//cUC//3FAf/8xQH//MMC//jAAP/zvQD/7rsD/+q4Bf/gsQL/1agE/5p7
Bf9hTgn/STwN/zw3Gv8+Oij/GRkQ/xgWE/85OTn/Ozs7/zw8PP87Ozv/LCws/xYWFv8PDw//KCgo/zEx
Mf8wMDD/MDAw/zAwMP8vLy//Ly8v/y8vL/8uLi7/Ly8v/y4uLv8uLi7/LS0t/y4uLv8uLi7/Ly8v/zAw
MP8wMDD/MDAw/zExMf8xMTH/MTEx/zIyMv8zMzP/MzMz/zMzM/8nJyf/Ghoa/ykpKf8iIiL/QkJC/1ZW
Vv8qKir/Nzc3/0NDQ/8rKyz/PTpC/1lVYP9UUFv/REBL/zk1Qv8aGB//Gxoc/zIyMv81NTX/ICAg/w8P
D/8dHR3/Ozs7/zg4OP8qKir/FRUV/wwMDP8JCQn/CwsL/yQkJP8XGBT/Hx0W/zcyIv9GPBj/UkAC/3pc
Av++kgL/9LsE//zCBv/+wgP//MIC//rBAf/4wAL/9r8C//S+BP/0vQX/9b0G//W9Bv/0vgb/9r4G//e/
Bv/4wQb/+cIG//zDBP/8wwT//MQD//3EAv/8xAH//MQA//rBAP/3vwD/8bwC/+26A//ltAP/264B/8ab
Bv+HaQf/WkoJ/0Y5Df8+OBv/PDgo/xgXD/8XFRL/ODg4/zs7O/87Ozv/PDw8/zIyMv8bGxv/EBAQ/xwc
HP8yMjL/MTEx/zExMf8wMDD/MDAw/y8vL/8vLy//Li4u/y4uLv8uLi7/Li4u/y0tLf8tLS3/Li4u/y8v
L/8vLy//Ly8v/y8vL/8wMDD/MDAw/zExMf8yMjL/MjIy/zIyMv8yMjL/MzMz/zQ0NP8eHh7/HR0d/ykp
Kf8iIiL/TExM/09PT/8eHh7/RkZG/zs7O/8tLC7/RUNI/1tZXv9PTVL/QD9B/xoaHP8YGBj/Jycn/zQ0
NP8pKSn/ERER/xYWFv81NTX/Ojo6/zExMf8cHBz/Dg4O/wkJCf8JCQn/Gxsb/xwdG/8XFxP/JCIX/0A6
JP9FNxD/V0QD/31gAf+5jQL/6rUE//nABf/7wgP/+8IC//7DAv/+wwH//cMC//3DAv/8wwP//MMD//zE
BP/9xAP//cQC//3FAf/9xQH//cUB//7GAv/9xgH//MQB//rCAP/2wAD/870B//G7A//otgP/4K8B/9Sm
Av+mhAb/blkH/1NDC/9CNxD/Pzkg/zgzJv8WFA3/FRYT/zc3OP86Ojr/Ojo6/zw8PP81NTX/ICAg/xIS
Ev8TExP/MDAw/zExMf8wMDD/MTEx/zAwMP8vLy//Ly8v/y8vL/8vLy//Li4u/y4uLv8uLi7/LS0t/yws
LP8uLi7/Ly8v/y4uLv8vLy//MDAw/zAwMP8wMDD/MTEx/zExMf8xMTH/MjIy/zIyMv8yMjL/MzMz/zIy
Mv8ZGRn/Hx8f/ycnJ/8oKCj/UVFR/0VFRf8dHR3/TExM/zY2Nv8vLjD/SklL/1pZW/9KSUv/Kysr/xcX
F/8bGxv/Ly8v/y8vL/8YGBj/EhIS/ykpKf86Ojr/NTU1/yYmJv8SEhL/DAwM/wkJCf8NDQ3/JCQk/xcW
FP8ZGRL/KiYZ/0Q8I/9FNwz/WkQC/3pcAf+pgQH/2KcA/++4A//3vwP//MAE//3DAv/9wwL//MQC//zD
Av/9xQP//sYD//7GA//9xQL//MQB//zEAf/9xAL//MMB//nCAP/4vwH/870C/++7A//otgL/4K8B/9Wo
Af+1kAT/gGUI/2BNB/9KPgv/PzYT/0E8Jv8uKh//EhIK/xsaF/84ODj/ODg4/zk5Of87Ozv/Nzc3/yUl
Jf8UFBT/EBAQ/yoqKv8xMTH/MTEx/zExMf8wMDD/MDAw/zAwMP8vLy//Li4u/y8vL/8vLy//Li4u/y0t
Lf8tLS3/LS0t/y4uLv8vLy//Li4u/y8vL/8vLy//MDAw/zAwMP8wMDD/MTEx/zExMf8xMTH/MjIy/zMz
M/8zMzP/NDQ0/y4uLv8XFxf/ISEh/yMjI/8vLy//UVFR/zw8PP8hISH/TU1N/zU0Nf8xMDL/TEtN/1lZ
Wv9ISEj/Ghoa/xYWFv8mJib/Ly8v/yMjI/8QEBD/Gxsb/zc3N/84ODj/MDAw/xwcHP8PDw//CwsL/woK
Cv8TExP/JCIj/xUUEv8bGRH/LCYb/0M6JP9ENxD/U0EE/29VAv+UcgH/vJEC/9mmAv/qtAL/87sD//jA
Av/5wQP/+8IE//vCA//8wgP/+8IC//rCAv/6wQL/+sEC//bAA//1vgL/8rsD/+u4Av/ksgL/3asB/9Ck
Av+wiwT/hmgH/2VRCP9TQgv/QjcP/z44Hf88OSj/IB4V/xAOCf8hIR7/Ojk5/zc3N/84ODj/Ozs7/zg4
OP8oKCj/FRUV/w8PD/8kJCT/MTEx/zExMf8xMTH/MDAw/zAwMP8vLy//Ly8v/y8vL/8uLi7/Ly8v/y4u
Lv8uLi7/LS0t/ywsLP8tLS3/Li4u/y4uLv8uLi7/Ly8v/y8vL/8vLy//Ly8v/zAwMP8wMDD/MTEx/zIy
Mv8yMjL/MjIy/zMzM/8zMzP/MzMz/ysrK/8WFhb/ISEh/yEhIf80NDT/T09P/zU1Nf8lJSX/TU1N/zU1
Nf80NDT/TU1N/1lZWf8/Pz//FRUV/xkZGf8qKir/Kioq/xgYGP8SEhL/Kioq/zk5Of82Njb/KSkp/xYW
Fv8NDQ3/CwsL/wsLC/8YGBj/ICAg/xUUEv8ZGBH/JyQX/z44Iv9EOhX/SjwH/2BKAv94XAL/lnQC/7aM
Af/MngH/2agB/+OvAP/qswH/7LcB/+24Av/suAL/7LgC/+q2Av/otAH/4rEB/96tAf/XqgH/0KQC/7uS
A/+cewX/e2AG/2VRBf9UQwn/RjoL/z83F/9BOyb/Lyse/xUUDP8QEA3/Kysp/zk5OP81NTX/Nzc3/zo6
Ov84ODj/KSkp/xcXF/8QEBD/Hh4e/zIyMv8xMTH/MTEx/zExMf8wMDD/Ly8v/zAwMP8vLy//Li4u/y4u
Lv8uLi7/Li4u/y0tLf8tLS3/LCws/ywsLP8tLS3/Li4u/y4uLv8vLy//Li4u/y8vL/8wMDD/MDAw/zEx
Mf8xMTH/MTEx/zIyMv8yMjL/MjIy/zIyMv8zMzP/MzMz/ygoKP8XFxf/ISEh/x8fH/82Njb/TU1N/zIy
Mv8mJib/TU1N/zc3N/81NTX/S0tL/1dXV/8vLy//FBQU/yAgIP8qKir/IyMj/xISEv8aGhr/MzMz/zg4
OP80NDT/IyMj/xQUFP8NDQ3/CwsL/wwMDP8aGhr/ISEh/xMUEv8WFhH/Hx4T/zUwHv9DOyD/RDkP/08+
B/9fSQP/blUE/4FkAv+WdQL/qIIC/7aNAf+/lQH/xpoC/8mcAv/JnAL/xZkC/76VAv+yjAL/pIAC/5Bx
Bf95Xwb/aVQH/1xKCP9QQQj/RDkO/0A4GP9COyb/Mi8h/xwYEf8QDgn/GhoY/zQ0NP82Njb/NDQ0/zY2
Nv86Ojr/ODg4/ykpKf8XFxf/EBAQ/xsbG/8yMjL/MjIy/zExMf8xMTH/MDAw/zAwMP8wMDD/Ly8v/y8v
L/8uLi7/Li4u/y4uLv8tLS3/LS0t/ywsLP8sLCz/LCws/y0tLf8uLi7/Li4u/y8vL/8vLy//Ly8v/y8v
L/8vLy//MDAw/zAwMP8xMTH/MTEx/zExMf8yMjL/MjIy/zIyMv8zMzP/MzMz/yYmJv8WFhb/Hx8f/x4e
Hv81NTX/S0tL/zExMf8kJCT/TU1N/zs7O/81NTX/R0dH/1VVVf8jIyP/FBQU/yMjI/8oKCj/HBwc/xER
Ef8jIyP/Nzc3/zg4OP8xMTH/ISEh/xMTE/8NDQ3/DAwM/w0NDf8XFxf/JCQk/xcVFf8VFA//GxgQ/ycj
Ff86NB7/RD0d/0c6E/9IPAn/U0EF/11JBf9mUAT/blUE/3NZA/94XAP/d10D/3VcA/9zWgT/bVcF/2hS
BP9hTQT/WEYH/08/Cf9HOQv/QzcT/0Q6IP9AOiP/MCwe/x0ZEP8REAr/FBMQ/ywsKf82NzX/MjMy/zMz
M/82Njb/OTk5/zc3N/8nJyf/FxcX/xEREf8aGhr/MTEx/zExMf8xMTH/MTEx/zExMf8wMDD/MDAw/y8v
L/8vLy//Ly8v/y4uLv8uLi7/Li4u/y4uLv8tLS3/LS0t/ywsLP8sLCz/LS0t/y4uLv8tLS3/Li4u/y8v
L/8vLy//Ly8v/y8vL/8wMDD/MTEx/zExMf8xMTH/MTEx/zIyMv8yMjL/MjIy/zMzM/8zMzP/MzMz/ycn
J/8VFRX/HR0d/x0dHf8xMTH/SUlJ/zU1Nf8hISH/SkpK/0BAQP81NTX/QkJC/09PT/8cHBz/FhYW/yQk
JP8lJSX/GBgY/xMTE/8oKCj/Nzc3/zc3N/8wMDD/ISEh/xUVFf8PDw//DQ0N/w0NDf8SEhL/JCMk/x4e
Hf8TExH/FhQP/xsYEP8jIRP/NC4c/z86IP9FPR7/RjwX/0c6EP9HOwz/STwK/0s8Cv9MPQn/TD0I/0o8
Cf9IOgz/RDkO/0U4E/9DOhr/Qzwg/0A5I/81MR//JSIV/xgVDf8SEAr/ExMP/ycoJf81Njb/MjIy/zAw
MP8yMjL/NjY2/zo6Ov80NDT/JSUl/xYWFv8RERH/HBwc/zIyMv8yMjL/MTEx/zAwMP8wMDD/MDAw/zAw
MP8wMDD/Ly8v/y4uLv8uLi7/Li4u/y0tLf8uLi7/LS0t/ywsLP8tLS3/LCws/ywsLP8tLS3/Li4u/y0t
Lf8uLi7/Ly8v/y8vL/8vLy//Ly8v/zAwMP8wMDD/MTEx/zExMf8wMDD/MTEx/zExMf8yMjL/MjIy/zMz
M/8zMzP/NDQ0/yoqKv8VFRX/Gxsb/xwcHP8rKyv/RkZG/zo6Ov8eHh7/QkJC/0dHR/84ODj/PT09/0VF
Rf8ZGRn/GBgY/yMjI/8iIiL/FRUV/xUVFf8sLCz/Nzc3/zc3N/8yMjL/JCQk/xcXF/8QEBD/Dg4O/w4O
Dv8QEBD/GhoZ/yUmJP8dHhv/ExMQ/xQTD/8ZFg3/GxgQ/yMeEv8rJxj/NS8d/zs0If8+OCH/Pzkh/0A6
IP9AOyD/QTkh/z83I/85NSD/NC4d/yolGP8gHBH/FxUM/xISCv8RDwz/GRkX/yoqKP80NDT/MDEw/y4u
Lv8vLy//MzMz/zc3N/85OTn/MTEx/yEhIf8VFRX/EBAQ/x8fH/8yMjL/MjIy/zIyMv8xMTH/MDAw/zAw
MP8wMDD/Ly8v/y8vL/8uLi7/Ly8v/y4uLv8uLi7/LS0t/y4uLv8tLS3/LCws/ywsLP8sLCz/LCws/y0t
Lf8tLS3/LS0t/y4uLv8uLi7/Ly8v/y8vL/8vLy//MDAw/zAwMP8wMDD/MTEx/zAwMP8xMTH/MjIy/zIy
Mv8yMjL/MzMz/zMzM/8zMzP/MzMz/y0tLf8XFxf/GRkZ/xwcHP8jIyP/QEBA/z8/P/8hISH/MzMz/01N
Tf8/Pz//Ojo6/z09Pf8YGBj/GBgY/yEhIf8gICD/FBQU/xYWFv8rKyv/NjY2/zc3N/8zMzP/KCgo/xwc
HP8UFBT/EBAQ/w4ODv8PDw//EhIS/xscG/8lJSX/IyQi/xkaF/8UEw//ExIO/xYTDv8WFA3/GBYO/xkX
Df8aGA7/GxgO/xsYDv8aFg7/GBUN/xUTDf8UEQv/ExAK/xIRDP8YGRX/JSYk/zAwMP8xMjL/LS0t/ysr
K/8sLCz/MDAw/zQ0NP85OTn/Nzc3/ysrK/8bGxv/ExMT/xEREf8kJCT/MjIy/zExMf8yMjL/MTEx/zEx
Mf8xMTH/MDAw/zAwMP8vLy//Ly8v/y8vL/8uLi7/Li4u/y4uLv8tLS3/LS0t/y0tLf8tLS3/Kysr/ysr
K/8rKyv/LCws/y0tLf8tLS3/LS0t/y0tLf8uLi7/Ly8v/y8vL/8vLy//Ly8v/zAwMP8wMDD/MDAw/zEx
Mf8xMTH/MTEx/zIyMv8yMjL/MjIy/zMzM/8zMzP/MzMz/zExMf8bGxv/FhYW/xoaGv8cHBz/NTU1/0FB
Qf8sLCz/IyMj/0ZGRv9JSUn/PT09/zk5Of8aGhr/FxcX/x8fH/8eHh7/FBQU/xYWFv8pKSn/NDQ0/zY2
Nv82Njb/Li4u/yQkJP8aGhr/ExMT/xAQEP8QEBD/EBAQ/xISEv8XGBb/ISIg/ygnJ/8oJib/IiMh/x0e
HP8ZGhb/FxcU/xYUE/8VFBP/FhUU/xkYFf8cGxj/HyAe/yYmJf8sLSv/MDAv/y4uLv8qKir/KCgo/ygo
KP8qKir/Li4u/zMzM/84ODj/ODg4/zExMf8jIyP/FxcX/xISEv8UFBT/Kysr/zIyMv8xMTH/MTEx/zEx
Mf8xMTH/MDAw/zAwMP8wMDD/Ly8v/y8vL/8vLy//Ly8v/y4uLv8tLS3/Li4u/y0tLf8sLCz/LS0t/yws
LP8sLCz/LCws/ysrK/8sLCz/LS0t/ywsLP8tLS3/Li4u/y4uLv8vLy//Ly8v/y8vL/8vLy//Ly8v/zAw
MP8wMDD/MDAw/zAwMP8xMTH/MTEx/zIyMv8yMjL/MjIy/zIyMv8zMzP/MzMz/zMzM/8kJCT/FRUV/xgY
GP8ZGRn/Jycn/z09Pf84ODj/ISEh/y8vL/9LS0v/RkZG/z09Pf8iIiL/FRUV/xwcHP8eHh7/FhYW/xQU
FP8jIyP/MTEx/zU1Nf82Njb/NDQ0/ywsLP8jIyP/Gxsb/xUVFf8SEhL/EhIS/xISEv8TExP/FBQU/xcX
F/8bGxv/Hx8f/yQkJP8nJyf/KSkp/yoqKv8qKir/Kioq/ygoKP8mJib/JSUl/yMjI/8jIyP/JCQk/yYm
Jv8pKSn/LS0t/zIyMv83Nzf/ODg4/zMzM/8oKCj/HBwc/xUVFf8RERH/HBwc/zAwMP8xMTH/MjIy/zEx
Mf8xMTH/MTEx/zAwMP8wMDD/MDAw/y8vL/8vLy//Ly8v/y8vL/8uLi7/Li4u/y0tLf8uLi7/LS0t/yws
LP8sLCz/LCws/ysrK/8rKyv/Kysr/ywsLP8sLCz/LCws/y0tLf8tLS3/LS0t/y4uLv8vLy//Li4u/y4u
Lv8vLy//Ly8v/zAwMP8wMDD/MDAw/zAwMP8xMTH/MjIy/zIyMv8yMjL/MjIy/zMzM/8zMzP/MzMz/zMz
M/8uLi7/Ghoa/xUVFf8YGBj/Gxsb/y4uLv87Ozv/Ly8v/x8fH/80NDT/S0tL/0hISP8yMjL/FhYW/xkZ
Gf8cHBz/GBgY/xISEv8cHBz/Kysr/zIyMv81NTX/NjY2/zU1Nf8uLi7/Jycn/yAgIP8bGxv/GBgY/xUV
Ff8VFRX/FRUV/xUVFf8WFhb/GBgY/xgYGP8aGhr/Gxsb/xwcHP8cHBz/HR0d/x8fH/8hISH/JCQk/ycn
J/8qKir/Ly8v/zQ0NP84ODj/ODg4/zMzM/8pKSn/Hh4e/xYWFv8SEhL/FBQU/ykpKf8zMzP/MjIy/zIy
Mv8xMTH/MTEx/zAwMP8wMDD/MDAw/zAwMP8vLy//Ly8v/y4uLv8uLi7/Li4u/y4uLv8uLi7/LS0t/y0t
Lf8tLS3/LCws/ywsLP8sLCz/Kysr/yoqKv8rKyv/Kysr/ywsLP8sLCz/LS0t/y0tLf8tLS3/Li4u/y4u
Lv8uLi7/Li4u/y4uLv8vLy//MDAw/zAwMP8wMDD/MDAw/zExMf8xMTH/MTEx/zExMf8yMjL/MjIy/zMz
M/8yMjL/MzMz/zMzM/80NDT/JiYm/xUVFf8VFRX/FhYW/x0dHf8vLy//ODg4/ywsLP8gICD/Ly8v/0dH
R/9ISEj/KSkp/xYWFv8aGhr/Ghoa/xQUFP8VFRX/ISEh/y0tLf8xMTH/NDQ0/zY2Nv82Njb/MzMz/y4u
Lv8qKir/JSUl/yEhIf8fHx//Hh4e/x0dHf8dHR3/HR0d/x4eHv8fHx//ICAg/yIiIv8lJSX/KCgo/ysr
K/8wMDD/NDQ0/zc3N/84ODj/NjY2/zAwMP8nJyf/HR0d/xcXF/8TExP/EhIS/yIiIv8yMjL/MjIy/zIy
Mv8xMTH/MTEx/zExMf8wMDD/MDAw/zAwMP8wMDD/MDAw/y8vL/8vLy//Ly8v/y4uLv8uLi7/Li4u/y0t
Lf8tLS3/LCws/y0tLf8sLCz/Kysr/ywsLP8rKyv/Kioq/yoqKv8rKyv/LCws/ywsLP8tLS3/LCws/y0t
Lf8tLS3/Li4u/y4uLv8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8wMDD/MDAw/zExMf8xMTH/MTEx/zIy
Mv8yMjL/MjIy/zIyMv8zMzP/MzMz/zMzM/80NDT/MjIy/yIiIv8VFRX/FRUV/xUVFf8cHBz/Kysr/zQ0
NP8tLS3/Hx8f/yQkJP84ODj/Pz8//yYmJv8WFhb/GRkZ/xcXF/8SEhL/FhYW/yEhIf8qKir/Li4u/zEx
Mf8zMzP/NTU1/zY2Nv82Njb/NDQ0/zIyMv8xMTH/Ly8v/y8vL/8vLy//Ly8v/zAwMP8xMTH/MzMz/zU1
Nf82Njb/ODg4/zc3N/80NDT/MDAw/ykpKf8iIiL/HBwc/xgYGP8TExP/ExMT/yAgIP8wMDD/MjIy/zIy
Mv8yMjL/MjIy/zExMf8wMDD/MTEx/zAwMP8wMDD/MDAw/zAwMP8vLy//Ly8v/y8vL/8uLi7/Li4u/y4u
Lv8tLS3/LS0t/ywsLP8tLS3/LCws/ywsLP8sLCz/Kysr/yoqKv8qKir/Kioq/ysrK/8sLCz/LCws/yws
LP8sLCz/LS0t/y0tLf8tLS3/Li4u/y4uLv8vLy//Ly8v/y8vL/8vLy//Ly8v/zAwMP8wMDD/MTEx/zEx
Mf8xMTH/MTEx/zExMf8yMjL/MjIy/zIyMv8zMzP/MjIy/zMzM/80NDT/MzMz/zIyMv8kJCT/FhYW/xMT
E/8UFBT/GBgY/yIiIv8tLS3/Li4u/ycnJ/8fHx//IyMj/yEhIf8VFRX/FRUV/xcXF/8VFRX/EhIS/xQU
FP8dHR3/JCQk/ykpKf8sLCz/LS0t/zAwMP8yMjL/MzMz/zU1Nf81NTX/NjY2/zY2Nv82Njb/NjY2/zU1
Nf80NDT/MjIy/y8vL/8rKyv/JiYm/yEhIf8dHR3/GRkZ/xYWFv8SEhL/FxcX/yMjI/8xMTH/MzMz/zIy
Mv8yMjL/MTEx/zIyMv8xMTH/MTEx/zAwMP8wMDD/MDAw/y8vL/8wMDD/Ly8v/y8vL/8uLi7/Ly8v/y4u
Lv8tLS3/Li4u/y0tLf8sLCz/LCws/ywsLP8sLCz/LCws/ysrK/8qKir/Kioq/yoqKv8qKir/Kioq/ysr
K/8rKyv/LCws/ywsLP8sLCz/LCws/y0tLf8uLi7/Li4u/y4uLv8uLi7/Ly8v/y8vL/8vLy//Ly8v/zAw
MP8wMDD/MTEx/zExMf8xMTH/MTEx/zExMf8yMjL/MjIy/zIyMv8yMjL/MzMz/zMzM/8zMzP/NDQ0/zMz
M/8zMzP/KSkp/xwcHP8TExP/ExMT/xISEv8XFxf/Hh4e/yYmJv8pKSn/Jycn/yEhIf8bGxv/FxcX/xQU
FP8UFBT/FBQU/xISEv8RERH/FBQU/xoaGv8fHx//IyMj/yUlJf8mJib/Jycn/ycnJ/8nJyf/Jycn/yYm
Jv8lJSX/JCQk/yIiIv8gICD/HR0d/xsbG/8YGBj/FRUV/xISEv8WFhb/ICAg/y0tLf8zMzP/MzMz/zIy
Mv8yMjL/MjIy/zIyMv8xMTH/MTEx/zExMf8wMDD/MDAw/zAwMP8vLy//Ly8v/y8vL/8vLy//Ly8v/y4u
Lv8uLi7/Li4u/y4uLv8tLS3/LCws/ywsLP8sLCz/LCws/ywsLP8rKyv/Kioq/yoqKv8qKir/KSkp/ykp
Kf8qKir/Kysr/ywsLP8sLCz/LCws/ywsLP8sLCz/LS0t/y4uLv8uLi7/Li4u/y4uLv8vLy//Li4u/y4u
Lv8vLy//Ly8v/zAwMP8wMDD/MDAw/zAwMP8wMDD/MTEx/zExMf8yMjL/MTEx/zIyMv8yMjL/MjIy/zMz
M/8zMzP/MzMz/zQ0NP8zMzP/MzMz/zIyMv8oKCj/HR0d/xQUFP8RERH/ERER/xMTE/8WFhb/Ghoa/x0d
Hf8gICD/ICAg/xsbG/8XFxf/ExMT/xISEv8SEhL/ERER/xEREf8RERH/EhIS/xQUFP8WFhb/GBgY/xkZ
Gf8YGBj/GBgY/xcXF/8WFhb/FRUV/xMTE/8SEhL/FxcX/x4eHv8mJib/Ly8v/zMzM/8zMzP/MjIy/zMz
M/8yMjL/MjIy/zExMf8xMTH/MTEx/zExMf8xMTH/MTEx/zAwMP8wMDD/MDAw/y8vL/8vLy//Ly8v/y8v
L/8uLi7/Li4u/y4uLv8tLS3/LS0t/y0tLf8tLS3/LCws/ysrK/8rKyv/LCws/ysrK/8qKir/Kioq/yoq
Kv8pKSn/KSkp/yoqKv8rKyv/Kysr/ywsLP8sLCz/Kysr/y0tLf8tLS3/LS0t/y0tLf8uLi7/Li4u/y4u
Lv8vLy//Li4u/y4uLv8vLy//MDAw/zAwMP8wMDD/MDAw/zExMf8wMDD/MTEx/zExMf8xMTH/MjIy/zIy
Mv8yMjL/MzMz/zIyMv8zMzP/MzMz/zMzM/80NDT/MzMz/zMzM/8zMzP/NDQ0/y8vL/8nJyf/ISEh/xsb
G/8WFhb/EhIS/xAQEP8PDw//EBAQ/xAQEP8QEBD/Dw8P/w8PD/8TExP/GBgY/xkZGf8WFhb/FBQU/xIS
Ev8SEhL/EhIS/xQUFP8WFhb/Ghoa/x8fH/8kJCT/LCws/zIyMv80NDT/MzMz/zMzM/8zMzP/MzMz/zIy
Mv8zMzP/MjIy/zIyMv8yMjL/MTEx/zExMf8xMTH/MTEx/zExMf8wMDD/MDAw/zAwMP8vLy//Ly8v/y4u
Lv8vLy//Ly8v/y4uLv8uLi7/LS0t/y0tLf8tLS3/LS0t/ywsLP8sLCz/Kysr/ysrK/8rKyv/Kysr/yoq
Kv8qKir/KSkp/yoqKv8pKSn/Kioq/yoqKv8rKyv/Kysr/ysrK/8rKyv/LCws/ywsLP8tLS3/LS0t/y0t
Lf8tLS3/Li4u/y4uLv8uLi7/Ly8v/y8vL/8vLy//Ly8v/y8vL/8wMDD/MDAw/zAwMP8wMDD/MDAw/zEx
Mf8xMTH/MTEx/zIyMv8yMjL/MjIy/zIyMv8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/80NDT/NDQ0/zQ0
NP8zMzP/NDQ0/zQ0NP80NDT/MzMz/zIyMv8xMTH/MTEx/zExMf8yMjL/NDQ0/zU1Nf80NDT/NDQ0/zU1
Nf80NDT/NDQ0/zQ0NP80NDT/NDQ0/zQ0NP80NDT/NDQ0/zMzM/80NDT/MzMz/zMzM/8zMzP/MzMz/zIy
Mv8yMjL/MjIy/zIyMv8yMjL/MTEx/zExMf8xMTH/MDAw/zAwMP8wMDD/MDAw/zAwMP8vLy//Ly8v/y8v
L/8vLy//Li4u/y4uLv8uLi7/Li4u/y0tLf8tLS3/LS0t/ywsLP8sLCz/LCws/ysrK/8rKyv/Kysr/ysr
K/8qKir/Kioq/yoqKv8pKSn/KSkp/ykpKf8pKSn/Kioq/yoqKv8rKyv/Kysr/ysrK/8rKyv/LCws/yws
LP8sLCz/LS0t/y0tLf8tLS3/Li4u/y4uLv8uLi7/Li4u/y8vL/8vLy//Ly8v/y8vL/8vLy//MDAw/zAw
MP8wMDD/MTEx/zExMf8xMTH/MTEx/zExMf8yMjL/MTEx/zIyMv8yMjL/MjIy/zIyMv8zMzP/MzMz/zMz
M/8zMzP/MzMz/zMzM/80NDT/NDQ0/zQ0NP8zMzP/NDQ0/zQ0NP80NDT/MzMz/zQ0NP80NDT/MzMz/zQ0
NP8zMzP/NDQ0/zQ0NP80NDT/MzMz/zQ0NP80NDT/MzMz/zMzM/8zMzP/MzMz/zIyMv8yMjL/MzMz/zIy
Mv8yMjL/MjIy/zIyMv8xMTH/MTEx/zExMf8xMTH/MDAw/zExMf8wMDD/MDAw/y8vL/8wMDD/Ly8v/y8v
L/8vLy//Ly8v/y4uLv8uLi7/Li4u/y4uLv8tLS3/LS0t/ywsLP8sLCz/LCws/ywsLP8sLCz/Kysr/ysr
K/8qKir/Kioq/yoqKv8pKSn/Kioq/ykpKf8oKCj/KSkp/ykpKf8qKir/Kioq/yoqKv8qKir/Kysr/ysr
K/8rKyv/LCws/ywsLP8tLS3/LS0t/y0tLf8tLS3/LS0t/y4uLv8uLi7/Ly8v/y8vL/8uLi7/Ly8v/y8v
L/8vLy//Ly8v/y8vL/8wMDD/MTEx/zAwMP8wMDD/MTEx/zExMf8yMjL/MjIy/zIyMv8xMTH/MjIy/zIy
Mv8zMzP/MzMz/zMzM/8yMjL/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/NDQ0/zQ0
NP8zMzP/NDQ0/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8yMjL/MzMz/zIyMv8zMzP/MjIy/zIy
Mv8yMjL/MTEx/zExMf8yMjL/MTEx/zExMf8xMTH/MTEx/zExMf8wMDD/MDAw/y8vL/8vLy//Ly8v/y8v
L/8vLy//Ly8v/y4uLv8uLi7/Li4u/y4uLv8uLi7/LS0t/y0tLf8sLCz/LS0t/ywsLP8sLCz/LCws/ysr
K/8rKyv/Kysr/yoqKv8qKir/KSkp/ykpKf8pKSn/KCgo/ykpKf8oKCj/KSkp/yoqKv8qKir/Kioq/yoq
Kv8rKyv/Kysr/ysrK/8sLCz/LCws/ywsLP8tLS3/LS0t/y0tLf8tLS3/Li4u/y4uLv8uLi7/Li4u/y8v
L/8vLy//Ly8v/y8vL/8vLy//MDAw/zAwMP8wMDD/MDAw/zExMf8xMTH/MDAw/zExMf8xMTH/MTEx/zEx
Mf8yMjL/MTEx/zExMf8yMjL/MjIy/zIyMv8zMzP/MzMz/zIyMv8zMzP/MjIy/zMzM/8yMjL/MjIy/zIy
Mv8yMjL/MjIy/zIyMv8yMjL/MjIy/zIyMv8zMzP/MjIy/zMzM/8yMjL/MzMz/zMzM/8yMjL/MjIy/zIy
Mv8xMTH/MTEx/zIyMv8yMjL/MTEx/zExMf8xMTH/MDAw/zAwMP8wMDD/MDAw/zAwMP8vLy//MDAw/y8v
L/8vLy//Li4u/y8vL/8vLy//Li4u/y4uLv8tLS3/Li4u/y0tLf8tLS3/LS0t/y0tLf8sLCz/LCws/yws
LP8rKyv/Kysr/yoqKv8rKyv/Kioq/yoqKv8pKSn/Kioq/ykpKf8pKSn/KCgo/ygoKP8AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
</value>
</data>
</root>
\ No newline at end of file \ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!