diff --git a/.gitignore b/.gitignore
index 15a37b0..7717039 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,3 +46,4 @@
*.ide/
*.ide-wal
Tongue extraction_cropresizemethod/packages/OpenCvSharp3-AnyCPU.3.2.0.20170107/.signature.p7s
+Tongue extraction_cropresizemethod/packages/
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction.sln b/Tongue extraction_cropresizemethod/Tongue extraction.sln
new file mode 100644
index 0000000..f516bea
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DeepTongue1.6", "Tongue extraction\DeepTongue1.6.csproj", "{D382F9E7-A41D-4D82-A59B-CF4095134D6B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D382F9E7-A41D-4D82-A59B-CF4095134D6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D382F9E7-A41D-4D82-A59B-CF4095134D6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D382F9E7-A41D-4D82-A59B-CF4095134D6B}.Debug|x64.ActiveCfg = Debug|x64
+ {D382F9E7-A41D-4D82-A59B-CF4095134D6B}.Debug|x64.Build.0 = Debug|x64
+ {D382F9E7-A41D-4D82-A59B-CF4095134D6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D382F9E7-A41D-4D82-A59B-CF4095134D6B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D382F9E7-A41D-4D82-A59B-CF4095134D6B}.Release|x64.ActiveCfg = Release|x64
+ {D382F9E7-A41D-4D82-A59B-CF4095134D6B}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/App.config b/Tongue extraction_cropresizemethod/Tongue extraction/App.config
new file mode 100644
index 0000000..8fc0551
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/App.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/DeepTongue1.6.csproj b/Tongue extraction_cropresizemethod/Tongue extraction/DeepTongue1.6.csproj
new file mode 100644
index 0000000..acea616
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/DeepTongue1.6.csproj
@@ -0,0 +1,188 @@
+
+
+
+
+
+ Debug
+ AnyCPU
+ {D382F9E7-A41D-4D82-A59B-CF4095134D6B}
+ WinExe
+ Properties
+ Tongue_extraction
+ DeepTongue1.6
+ v4.7.1
+ 512
+ true
+
+
+
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ true
+ bin\x64\Debug\
+ DEBUG;TRACE
+ full
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+ true
+
+
+ bin\x64\Release\
+ TRACE
+ true
+ pdbonly
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+ true
+
+
+ DeepTongue_Icon.ico
+
+
+
+ ..\packages\OpenCvSharp3-AnyCPU.3.2.0.20170107\lib\net40\OpenCvSharp.dll
+ True
+
+
+ ..\packages\OpenCvSharp3-AnyCPU.3.2.0.20170107\lib\net40\OpenCvSharp.Blob.dll
+ True
+
+
+ ..\packages\OpenCvSharp3-AnyCPU.3.2.0.20170107\lib\net40\OpenCvSharp.Extensions.dll
+ True
+
+
+ ..\packages\OpenCvSharp3-AnyCPU.3.2.0.20170107\lib\net40\OpenCvSharp.UserInterface.dll
+ True
+
+
+
+
+
+
+ ..\packages\System.Management.dll.1.0.0\lib\System.Management.dll
+ True
+
+
+ ..\packages\System.ValueTuple.4.4.0\lib\net47\System.ValueTuple.dll
+ True
+
+
+
+
+
+
+
+
+
+
+
+ ..\packages\TensorFlowSharp.1.11.0\lib\net471\TensorFlowSharp.dll
+ True
+
+
+
+
+
+ Form
+
+
+ Form1.cs
+
+
+
+
+ Form1.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+
+
+
+ False
+ Microsoft .NET Framework 4.7.1 %28x86 および x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+
+
+
+ このプロジェクトは、このコンピューター上にない NuGet パッケージを参照しています。それらのパッケージをダウンロードするには、[NuGet パッケージの復元] を使用します。詳細については、http://go.microsoft.com/fwlink/?LinkID=322105 を参照してください。見つからないファイルは {0} です。
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/DeepTongue_Icon.ico b/Tongue extraction_cropresizemethod/Tongue extraction/DeepTongue_Icon.ico
new file mode 100644
index 0000000..85fef71
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/DeepTongue_Icon.ico
Binary files differ
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/Form1.Designer.cs b/Tongue extraction_cropresizemethod/Tongue extraction/Form1.Designer.cs
new file mode 100644
index 0000000..d637bde
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/Form1.Designer.cs
@@ -0,0 +1,420 @@
+namespace Tongue_extraction
+{
+ partial class Form1
+ {
+ ///
+ /// 必要なデザイナー変数です。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 使用中のリソースをすべてクリーンアップします。
+ ///
+ /// マネージ リソースを破棄する場合は true を指定し、その他の場合は false を指定します。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows フォーム デザイナーで生成されたコード
+
+ ///
+ /// デザイナー サポートに必要なメソッドです。このメソッドの内容を
+ /// コード エディターで変更しないでください。
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
+ this.button_start = new System.Windows.Forms.Button();
+ this.pictureBox_input = new System.Windows.Forms.PictureBox();
+ this.pictureBox_detection = new System.Windows.Forms.PictureBox();
+ this.pictureBox_cropResized = new System.Windows.Forms.PictureBox();
+ this.pictureBox_extraction = new System.Windows.Forms.PictureBox();
+ this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label4 = new System.Windows.Forms.Label();
+ this.label5 = new System.Windows.Forms.Label();
+ this.label6 = new System.Windows.Forms.Label();
+ this.label7 = new System.Windows.Forms.Label();
+ this.label8 = new System.Windows.Forms.Label();
+ this.pictureBox_output = new System.Windows.Forms.PictureBox();
+ this.pictureBox_outputSRG = new System.Windows.Forms.PictureBox();
+ this.pictureBox_maskSRG = new System.Windows.Forms.PictureBox();
+ this.pictureBox_contract = new System.Windows.Forms.PictureBox();
+ this.label_processingFileName = new System.Windows.Forms.Label();
+ this.label_totalProgress = new System.Windows.Forms.Label();
+ this.panel2 = new System.Windows.Forms.Panel();
+ this.button_pause = new System.Windows.Forms.Button();
+ this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_input)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_detection)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_cropResized)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_extraction)).BeginInit();
+ this.tableLayoutPanel1.SuspendLayout();
+ this.panel1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_output)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_outputSRG)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_maskSRG)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_contract)).BeginInit();
+ this.panel2.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // button_start
+ //
+ this.button_start.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.button_start.Location = new System.Drawing.Point(0, 0);
+ this.button_start.Margin = new System.Windows.Forms.Padding(1, 2, 1, 2);
+ this.button_start.Name = "button_start";
+ this.button_start.Size = new System.Drawing.Size(758, 49);
+ this.button_start.TabIndex = 0;
+ this.button_start.Text = "Start";
+ this.button_start.UseVisualStyleBackColor = true;
+ this.button_start.Click += new System.EventHandler(this.button_start_Click);
+ //
+ // pictureBox_input
+ //
+ this.pictureBox_input.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pictureBox_input.Location = new System.Drawing.Point(3, 4);
+ this.pictureBox_input.Margin = new System.Windows.Forms.Padding(1, 2, 1, 2);
+ this.pictureBox_input.Name = "pictureBox_input";
+ this.pictureBox_input.Size = new System.Drawing.Size(250, 209);
+ this.pictureBox_input.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox_input.TabIndex = 1;
+ this.pictureBox_input.TabStop = false;
+ //
+ // pictureBox_detection
+ //
+ this.pictureBox_detection.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pictureBox_detection.Location = new System.Drawing.Point(257, 4);
+ this.pictureBox_detection.Margin = new System.Windows.Forms.Padding(1, 2, 1, 2);
+ this.pictureBox_detection.Name = "pictureBox_detection";
+ this.pictureBox_detection.Size = new System.Drawing.Size(250, 209);
+ this.pictureBox_detection.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox_detection.TabIndex = 2;
+ this.pictureBox_detection.TabStop = false;
+ //
+ // pictureBox_cropResized
+ //
+ this.pictureBox_cropResized.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pictureBox_cropResized.Location = new System.Drawing.Point(511, 4);
+ this.pictureBox_cropResized.Margin = new System.Windows.Forms.Padding(1, 2, 1, 2);
+ this.pictureBox_cropResized.Name = "pictureBox_cropResized";
+ this.pictureBox_cropResized.Size = new System.Drawing.Size(250, 209);
+ this.pictureBox_cropResized.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox_cropResized.TabIndex = 3;
+ this.pictureBox_cropResized.TabStop = false;
+ //
+ // pictureBox_extraction
+ //
+ this.pictureBox_extraction.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pictureBox_extraction.Location = new System.Drawing.Point(511, 241);
+ this.pictureBox_extraction.Margin = new System.Windows.Forms.Padding(1, 2, 1, 2);
+ this.pictureBox_extraction.Name = "pictureBox_extraction";
+ this.pictureBox_extraction.Size = new System.Drawing.Size(250, 209);
+ this.pictureBox_extraction.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox_extraction.TabIndex = 4;
+ this.pictureBox_extraction.TabStop = false;
+ //
+ // tableLayoutPanel1
+ //
+ this.tableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Outset;
+ this.tableLayoutPanel1.ColumnCount = 4;
+ this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
+ this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
+ this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
+ this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
+ this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 4);
+ this.tableLayoutPanel1.Controls.Add(this.pictureBox_detection, 1, 0);
+ this.tableLayoutPanel1.Controls.Add(this.pictureBox_input, 0, 0);
+ this.tableLayoutPanel1.Controls.Add(this.label1, 0, 1);
+ this.tableLayoutPanel1.Controls.Add(this.label2, 1, 1);
+ this.tableLayoutPanel1.Controls.Add(this.label3, 2, 1);
+ this.tableLayoutPanel1.Controls.Add(this.label4, 3, 1);
+ this.tableLayoutPanel1.Controls.Add(this.label5, 0, 3);
+ this.tableLayoutPanel1.Controls.Add(this.label6, 1, 3);
+ this.tableLayoutPanel1.Controls.Add(this.label7, 2, 3);
+ this.tableLayoutPanel1.Controls.Add(this.label8, 3, 3);
+ this.tableLayoutPanel1.Controls.Add(this.pictureBox_cropResized, 2, 0);
+ this.tableLayoutPanel1.Controls.Add(this.pictureBox_extraction, 2, 2);
+ this.tableLayoutPanel1.Controls.Add(this.pictureBox_output, 3, 0);
+ this.tableLayoutPanel1.Controls.Add(this.pictureBox_outputSRG, 0, 2);
+ this.tableLayoutPanel1.Controls.Add(this.pictureBox_maskSRG, 1, 2);
+ this.tableLayoutPanel1.Controls.Add(this.pictureBox_contract, 3, 2);
+ this.tableLayoutPanel1.Controls.Add(this.label_processingFileName, 0, 5);
+ this.tableLayoutPanel1.Controls.Add(this.label_totalProgress, 2, 5);
+ this.tableLayoutPanel1.Controls.Add(this.panel2, 3, 4);
+ this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
+ this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(1, 2, 1, 2);
+ this.tableLayoutPanel1.Name = "tableLayoutPanel1";
+ this.tableLayoutPanel1.RowCount = 6;
+ this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 44.44445F));
+ this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 44.44444F));
+ this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 11.11111F));
+ this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel1.Size = new System.Drawing.Size(1018, 554);
+ this.tableLayoutPanel1.TabIndex = 5;
+ //
+ // panel1
+ //
+ this.tableLayoutPanel1.SetColumnSpan(this.panel1, 3);
+ this.panel1.Controls.Add(this.button_start);
+ this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.panel1.Location = new System.Drawing.Point(3, 478);
+ this.panel1.Margin = new System.Windows.Forms.Padding(1, 2, 1, 2);
+ this.panel1.Name = "panel1";
+ this.panel1.Size = new System.Drawing.Size(758, 49);
+ this.panel1.TabIndex = 6;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.BackColor = System.Drawing.Color.White;
+ this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.label1.Location = new System.Drawing.Point(5, 217);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(246, 20);
+ this.label1.TabIndex = 7;
+ this.label1.Text = "Input";
+ this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.BackColor = System.Drawing.Color.White;
+ this.label2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.label2.Location = new System.Drawing.Point(259, 217);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(246, 20);
+ this.label2.TabIndex = 8;
+ this.label2.Text = "Detection";
+ this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.BackColor = System.Drawing.Color.White;
+ this.label3.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.label3.Location = new System.Drawing.Point(513, 217);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(246, 20);
+ this.label3.TabIndex = 9;
+ this.label3.Text = "Crop+Resize";
+ this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.BackColor = System.Drawing.Color.White;
+ this.label4.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.label4.Location = new System.Drawing.Point(767, 217);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(246, 20);
+ this.label4.TabIndex = 10;
+ this.label4.Text = "Output";
+ this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.BackColor = System.Drawing.Color.White;
+ this.label5.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.label5.Location = new System.Drawing.Point(5, 454);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(246, 20);
+ this.label5.TabIndex = 11;
+ this.label5.Text = "Output+SRG";
+ this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.BackColor = System.Drawing.Color.White;
+ this.label6.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.label6.Location = new System.Drawing.Point(259, 454);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(246, 20);
+ this.label6.TabIndex = 12;
+ this.label6.Text = "Mask+SRG";
+ this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.BackColor = System.Drawing.Color.White;
+ this.label7.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.label7.Location = new System.Drawing.Point(513, 454);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(246, 20);
+ this.label7.TabIndex = 13;
+ this.label7.Text = "Extraction";
+ this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.BackColor = System.Drawing.Color.White;
+ this.label8.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.label8.Location = new System.Drawing.Point(767, 454);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(246, 20);
+ this.label8.TabIndex = 14;
+ this.label8.Text = "Contract (last input)";
+ this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // pictureBox_output
+ //
+ this.pictureBox_output.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pictureBox_output.Location = new System.Drawing.Point(767, 5);
+ this.pictureBox_output.Name = "pictureBox_output";
+ this.pictureBox_output.Size = new System.Drawing.Size(246, 207);
+ this.pictureBox_output.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox_output.TabIndex = 15;
+ this.pictureBox_output.TabStop = false;
+ //
+ // pictureBox_outputSRG
+ //
+ this.pictureBox_outputSRG.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pictureBox_outputSRG.Location = new System.Drawing.Point(5, 242);
+ this.pictureBox_outputSRG.Name = "pictureBox_outputSRG";
+ this.pictureBox_outputSRG.Size = new System.Drawing.Size(246, 207);
+ this.pictureBox_outputSRG.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox_outputSRG.TabIndex = 16;
+ this.pictureBox_outputSRG.TabStop = false;
+ //
+ // pictureBox_maskSRG
+ //
+ this.pictureBox_maskSRG.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pictureBox_maskSRG.Location = new System.Drawing.Point(259, 242);
+ this.pictureBox_maskSRG.Name = "pictureBox_maskSRG";
+ this.pictureBox_maskSRG.Size = new System.Drawing.Size(246, 207);
+ this.pictureBox_maskSRG.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox_maskSRG.TabIndex = 17;
+ this.pictureBox_maskSRG.TabStop = false;
+ //
+ // pictureBox_contract
+ //
+ this.pictureBox_contract.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pictureBox_contract.Location = new System.Drawing.Point(767, 242);
+ this.pictureBox_contract.Name = "pictureBox_contract";
+ this.pictureBox_contract.Size = new System.Drawing.Size(246, 207);
+ this.pictureBox_contract.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox_contract.TabIndex = 18;
+ this.pictureBox_contract.TabStop = false;
+ //
+ // label_processingFileName
+ //
+ this.label_processingFileName.AutoSize = true;
+ this.label_processingFileName.BackColor = System.Drawing.Color.White;
+ this.tableLayoutPanel1.SetColumnSpan(this.label_processingFileName, 2);
+ this.label_processingFileName.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.label_processingFileName.Location = new System.Drawing.Point(5, 531);
+ this.label_processingFileName.Name = "label_processingFileName";
+ this.label_processingFileName.Size = new System.Drawing.Size(500, 21);
+ this.label_processingFileName.TabIndex = 19;
+ this.label_processingFileName.Text = "Processing File: None";
+ this.label_processingFileName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
+ // label_totalProgress
+ //
+ this.label_totalProgress.AutoSize = true;
+ this.label_totalProgress.BackColor = System.Drawing.Color.White;
+ this.tableLayoutPanel1.SetColumnSpan(this.label_totalProgress, 2);
+ this.label_totalProgress.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.label_totalProgress.Location = new System.Drawing.Point(513, 531);
+ this.label_totalProgress.Name = "label_totalProgress";
+ this.label_totalProgress.Size = new System.Drawing.Size(500, 21);
+ this.label_totalProgress.TabIndex = 20;
+ this.label_totalProgress.Text = "Total Progress: 0/0";
+ this.label_totalProgress.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
+ // panel2
+ //
+ this.panel2.Controls.Add(this.button_pause);
+ this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.panel2.Location = new System.Drawing.Point(767, 479);
+ this.panel2.Name = "panel2";
+ this.panel2.Size = new System.Drawing.Size(246, 47);
+ this.panel2.TabIndex = 21;
+ //
+ // button_pause
+ //
+ this.button_pause.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.button_pause.Enabled = false;
+ this.button_pause.Location = new System.Drawing.Point(0, 0);
+ this.button_pause.Name = "button_pause";
+ this.button_pause.Size = new System.Drawing.Size(246, 47);
+ this.button_pause.TabIndex = 0;
+ this.button_pause.Text = "Pause";
+ this.button_pause.UseVisualStyleBackColor = true;
+ this.button_pause.Click += new System.EventHandler(this.button_pause_Click);
+ //
+ // backgroundWorker1
+ //
+ this.backgroundWorker1.WorkerSupportsCancellation = true;
+ this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
+ //
+ // Form1
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(1018, 554);
+ this.Controls.Add(this.tableLayoutPanel1);
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Margin = new System.Windows.Forms.Padding(1, 2, 1, 2);
+ this.Name = "Form1";
+ this.Text = "DeepTongue1.6";
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_input)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_detection)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_cropResized)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_extraction)).EndInit();
+ this.tableLayoutPanel1.ResumeLayout(false);
+ this.tableLayoutPanel1.PerformLayout();
+ this.panel1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_output)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_outputSRG)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_maskSRG)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox_contract)).EndInit();
+ this.panel2.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button button_start;
+ private System.Windows.Forms.PictureBox pictureBox_input;
+ private System.Windows.Forms.PictureBox pictureBox_detection;
+ private System.Windows.Forms.PictureBox pictureBox_cropResized;
+ private System.Windows.Forms.PictureBox pictureBox_extraction;
+ private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
+ private System.Windows.Forms.Panel panel1;
+ private System.ComponentModel.BackgroundWorker backgroundWorker1;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.PictureBox pictureBox_output;
+ private System.Windows.Forms.PictureBox pictureBox_outputSRG;
+ private System.Windows.Forms.PictureBox pictureBox_maskSRG;
+ private System.Windows.Forms.PictureBox pictureBox_contract;
+ private System.Windows.Forms.Label label_processingFileName;
+ private System.Windows.Forms.Label label_totalProgress;
+ private System.Windows.Forms.Panel panel2;
+ private System.Windows.Forms.Button button_pause;
+ }
+}
+
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/Form1.cs b/Tongue extraction_cropresizemethod/Tongue extraction/Form1.cs
new file mode 100644
index 0000000..6cfcc86
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/Form1.cs
@@ -0,0 +1,710 @@
+using System;
+using System.Windows.Forms;
+using System.IO;
+using System.Drawing;
+using System.Drawing.Imaging;
+using OpenCvSharp;
+using System.ComponentModel;
+using System.Runtime.InteropServices;
+using TensorFlow;
+using System.Threading;
+
+namespace Tongue_extraction
+{
+ public partial class Form1 : Form
+ {
+ //Use the RemoveSmallRegionDLL
+ [DllImport(@"RemoveSmallRegionDLL.dll", EntryPoint = "RemoveSmallRegion", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = false, CallingConvention = CallingConvention.StdCall)]
+ extern static void RemoveSmallRegion(string name, string name2, int AreaLimit, int CheckMode, int NeihborMode);
+
+ Mat mat_input = new Mat(1024, 1280, MatType.CV_8UC3, 1);
+ Mat mat_drawBox = new Mat(1024, 1280, MatType.CV_8UC3, 1);
+ Mat mat_roi = new Mat(1024, 1280, MatType.CV_8UC3, 1);
+ Mat mat_roi256 = new Mat(256, 256, MatType.CV_8UC3, 1);
+ Mat mat_roisize = new Mat(1024, 1280, MatType.CV_8UC3, 1);
+ Mat mat_output = new Mat(1024, 1280, MatType.CV_8UC1, 1);
+ Mat mat_outputNoBox = new Mat(1024, 1280, MatType.CV_8UC1, 1);
+ Mat mat_outputChanged = new Mat(1024, 1280, MatType.CV_8UC1, 1);
+ Mat mat_mask = new Mat(1024, 1280, MatType.CV_8UC1, 1);
+ Mat mat_extraction = new Mat(1024, 1280, MatType.CV_8UC3, 1);
+ Mat mat_cropped;
+ Mat mat_outputSRGNoBox = new Mat(1024, 1280, MatType.CV_8UC1, 1);
+ Mat mat_outputSRG = new Mat(1024, 1280, MatType.CV_8UC1, 1);
+ Mat mat_maskSRG = new Mat(1024, 1280, MatType.CV_8UC1, 1);
+
+ public static Bitmap bitmap_bitch;
+ string[] path;
+
+ OpenCvSharp.Rect rectangle;
+
+ byte[] byte_inputDetection;
+ byte[] byte_inputSegmentation;
+ OpenCvSharp.Point P1 = new OpenCvSharp.Point();
+ OpenCvSharp.Point P2 = new OpenCvSharp.Point();
+
+ byte[] mask = new byte[200000];
+
+ string basepath;
+ string imageFile;
+ string time;
+ string modelFile;
+ int ii = 0;
+ int count;
+
+ Rect roi = new Rect();
+ int mmp = 0;
+ int pmm = 0;
+
+ int check_detection = 0;
+ float max_score = 0;
+
+ private ManualResetEvent manualReset = new ManualResetEvent(true);
+
+ public Form1()
+ {
+ InitializeComponent();
+ }
+
+ private void button_start_Click(object sender, EventArgs e)
+ {
+ path = Directory.GetFiles("data");
+ button_start.Enabled = false;
+ button_pause.Enabled = true;
+ pictureBox_input.Image = null;
+ pictureBox_input.Refresh();
+ pictureBox_detection.Image = null;
+ pictureBox_detection.Refresh();
+ pictureBox_cropResized.Image = null;
+ pictureBox_cropResized.Refresh();
+ pictureBox_output.Image = null;
+ pictureBox_output.Refresh();
+ pictureBox_outputSRG.Image = null;
+ pictureBox_outputSRG.Refresh();
+ pictureBox_maskSRG.Image = null;
+ pictureBox_maskSRG.Refresh();
+ pictureBox_extraction.Image = null;
+ pictureBox_extraction.Refresh();
+ pictureBox_contract.Image = null;
+ pictureBox_contract.Refresh();
+ backgroundWorker1.RunWorkerAsync();
+ }
+
+ public static class ImageUtil
+ {
+ // Convert the image in filename to a Tensor suitable as input to the Inception model.
+ public static TFTensor CreateTensorFromImageFile(byte[] contents, TFDataType destinationDataType = TFDataType.UInt8)
+ {
+ // DecodeJpeg uses a scalar String-valued tensor as input.
+ var tensor = TFTensor.CreateString(contents);
+
+ TFGraph graph;
+ TFOutput input, output;
+
+ // Construct a graph to normalize the image
+ ConstructGraphToNormalizeImage(out graph, out input, out output, destinationDataType);
+
+ // Execute that graph to normalize this one image
+ using (var session = new TFSession(graph))
+ {
+ var normalized = session.Run(
+ inputs: new[] { input },
+ inputValues: new[] { tensor },
+ outputs: new[] { output });
+
+ if (session != null)
+ {
+ session.Dispose();
+ }
+ if (tensor != null)
+ {
+ tensor.Dispose();
+ }
+ if (graph != null)
+ {
+ graph.Dispose();
+ }
+ GC.Collect();
+ GC.WaitForPendingFinalizers();
+ GC.Collect();
+
+ return normalized[0];
+ }
+ }
+
+ // The inception model takes as input the image described by a Tensor in a very
+ // specific normalized format (a particular image size, shape of the input tensor,
+ // normalized pixel values etc.).
+ //
+ // This function constructs a graph of TensorFlow operations which takes as
+ // input a JPEG-encoded string and returns a tensor suitable as input to the
+ // inception model.
+
+ public static void ConstructGraphToNormalizeImage(out TFGraph graph, out TFOutput input, out TFOutput output, TFDataType destinationDataType = TFDataType.UInt8)
+ {
+ const int W = 256;
+ const int H = 256;
+ const float Mean = 0;
+ const float Scale = 1;
+ graph = new TFGraph();
+ input = graph.Placeholder(TFDataType.String);
+ output = graph.Cast(graph.Div(
+ x: graph.Sub(
+ x: graph.ResizeBilinear(
+ images: graph.ExpandDims(
+ input: graph.Cast(
+ graph.DecodeJpeg(contents: input, channels: 3), DstT: destinationDataType),
+ dim: graph.Const(0, "make_batch")),
+ size: graph.Const(new int[] { W, H }, "size")),
+ y: graph.Const(Mean, "mean")),
+ y: graph.Const(Scale, "scale")), destinationDataType);
+ GC.Collect();
+ GC.WaitForPendingFinalizers();
+ GC.Collect();
+ }
+ }
+
+ public static class ImageUtil2
+ {
+ // Convert the image in filename to a Tensor suitable as input to the Inception model.
+ public static TFTensor CreateTensorFromImageFile(byte[] contents, TFDataType destinationDataType = TFDataType.Float)
+ {
+ // DecodeJpeg uses a scalar String-valued tensor as input.
+ var tensor = TFTensor.CreateString(contents);
+
+ TFGraph graph;
+ TFOutput input, output;
+
+ // Construct a graph to normalize the image
+ ConstructGraphToNormalizeImage(out graph, out input, out output, destinationDataType);
+
+ // Execute that graph to normalize this one image
+ using (var session = new TFSession(graph))
+ {
+ var normalized = session.Run(
+ inputs: new[] { input },
+ inputValues: new[] { tensor },
+ outputs: new[] { output });
+
+ if (session != null)
+ {
+ session.Dispose();
+ }
+ if (tensor != null)
+ {
+ tensor.Dispose();
+ }
+ if (graph != null)
+ {
+ graph.Dispose();
+ }
+ GC.Collect();
+ GC.WaitForPendingFinalizers();
+ GC.Collect();
+
+ return normalized[0];
+ }
+ }
+
+ // The inception model takes as input the image described by a Tensor in a very
+ // specific normalized format (a particular image size, shape of the input tensor,
+ // normalized pixel values etc.).
+ //
+ // This function constructs a graph of TensorFlow operations which takes as
+ // input a JPEG-encoded string and returns a tensor suitable as input to the
+ // inception model.
+
+ public static void ConstructGraphToNormalizeImage(out TFGraph graph, out TFOutput input, out TFOutput output, TFDataType destinationDataType = TFDataType.Float)
+ {
+ const int W = 256;
+ const int H = 256;
+ //const int W = 512;
+ //const int H = 512;
+
+ const float Mean = 128;
+ const float Scale = 128;
+ graph = new TFGraph();
+ input = graph.Placeholder(TFDataType.String);
+ output = graph.Cast(graph.Div(
+ x: graph.Sub(
+ x: graph.ResizeBilinear(
+ images: graph.ExpandDims(
+ input: graph.Cast(
+ graph.DecodeJpeg(contents: input, channels: 3), DstT: TFDataType.Float),
+ dim: graph.Const(0, "make_batch")),
+ size: graph.Const(new int[] { W, H }, "size")),
+ y: graph.Const(Mean, "mean")),
+ y: graph.Const(Scale, "scale")), destinationDataType);
+ GC.Collect();
+ GC.WaitForPendingFinalizers();
+ GC.Collect();
+ }
+ }
+
+ public static byte[] Bitmap2Byte(Bitmap bitmap)
+ {
+ using (MemoryStream stream = new MemoryStream())
+ {
+ bitmap.Save(stream, ImageFormat.Jpeg);
+ byte[] data = new byte[stream.Length];
+ stream.Seek(0, SeekOrigin.Begin);
+ stream.Read(data, 0, Convert.ToInt32(stream.Length));
+ return data;
+ }
+ }
+
+ private static string DownloadDefaultModel(string dir)
+ {
+ var modelFile = Path.Combine(dir, "AREinProcess_step12800.pb");
+ return modelFile;
+ }
+
+ private static string DownloadDefaultModel_noBoxPix2Pix(string dir)
+ {
+ var modelFile = Path.Combine(dir, "424_256_64_5999_scale300_enhancment_L1loss0.02001.pb");
+ return modelFile;
+ }
+
+ public static Bitmap ToGrayBitmap(byte[] rawValues, int width, int height)
+ {
+ //// Apply for a target bitmap variable and lock its memory area
+ Bitmap bmp = new Bitmap(width, height, PixelFormat.Format8bppIndexed);
+ BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, width, height),
+ ImageLockMode.WriteOnly, PixelFormat.Format8bppIndexed);
+
+ //// Get image parameters
+ int stride = bmpData.Stride; // Width of the scan line
+ int offset = stride - width; // Show gap between width and scan line width
+ IntPtr iptr = bmpData.Scan0; // Get the memory start position of bmpData
+ int scanBytes = stride * height;// Use stride width to indicate that this is the size of the memory area
+
+ //// The following is to convert the original display size byte array to the byte array actually stored in memory.
+ int posScan = 0, posReal = 0;// Set two position pointers respectively, pointing to the source array and the target array
+ byte[] pixelValues = new byte[scanBytes]; //Allocate memory for the target array
+
+ for (int x = 0; x < height; x++)
+ {
+ //// The following loop section is a simulated line scan
+ for (int y = 0; y < width; y++)
+ {
+ pixelValues[posScan++] = rawValues[posReal++];
+ }
+ posScan += offset; //At the end of the line scan, move the target position pointer over that "gap"
+ }
+
+ //// Use Marshal's Copy method to copy the just obtained memory byte array into BitmapData.
+ System.Runtime.InteropServices.Marshal.Copy(pixelValues, 0, iptr, scanBytes);
+ bmp.UnlockBits(bmpData); // Unlock the memory area
+
+ //// The following code is to modify the index table of the generated bitmap, from pseudo color to grayscale
+ ColorPalette tempPalette;
+ using (Bitmap tempBmp = new Bitmap(1, 1, PixelFormat.Format8bppIndexed))
+ {
+ tempPalette = tempBmp.Palette;
+ }
+ for (int i = 0; i < 256; i++)
+ {
+ tempPalette.Entries[i] = Color.FromArgb(i, i, i);
+ }
+
+ bmp.Palette = tempPalette;
+
+ //// The algorithm ends here and returns the result.
+ return bmp;
+ }
+
+ private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
+ {
+ using (MemoryStream ms = new MemoryStream())
+ {
+ for (int a = 0; a < path.Length; a++)
+ {
+ manualReset.WaitOne();
+ ii = 0;
+ basepath = Directory.GetCurrentDirectory();
+ imageFile = System.Text.RegularExpressions.Regex.Replace(path[a], "data", "");
+ label_processingFileName.Text = "Processing File: " + imageFile;
+ count = a + 1;
+ label_totalProgress.Text = "Total Progress: " + count + "/" + path.Length;
+ mat_input = Cv2.ImRead(basepath + "\\data" + imageFile);
+ bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_input);
+ pictureBox_input.Image = bitmap_bitch;
+ pictureBox_input.Refresh();
+ label8.BackColor = Color.White;
+ label1.BackColor = Color.Red;
+ mat_drawBox = mat_input.Clone();
+ mat_cropped = new Mat(mat_input.Size(), MatType.CV_8UC3, 1);
+ byte_inputDetection = Bitmap2Byte(bitmap_bitch);
+ //using (var graph = new TFGraph())
+ //{
+ // var model = File.ReadAllBytes(Directory.GetCurrentDirectory() + "/Detection_Normal.pb");
+ // graph.Import(model, "");
+
+ // using (var session = new TFSession(graph))
+ // {
+ // var tensor = ImageUtil.CreateTensorFromImageFile(byte_inputDetection, TFDataType.UInt8);
+
+ // var runner = session.GetRunner();
+ // runner
+
+ // .AddInput(graph["image_tensor"][0], tensor)
+ // .Fetch("detection_boxes", "detection_scores", "detection_classes", "num_detections");
+
+ // var output = runner.Run();
+ // var boxes = (float[,,])output[0].GetValue();
+ // var scores = (float[,])output[1].GetValue();
+ // //var classes = (float[,])output[2].GetValue();
+ // //var detections = (float[])output[3].GetValue();
+
+ // check_detection = 0;
+ // max_score = 0;
+
+ // for (int i = 0; i < scores.Length; i++)
+ // {
+ // if ((scores[0, i] > 0.5) && (scores[0, i] > max_score))
+ // {
+ // max_score = scores[0, i];
+ // float y_min = boxes[0, i, 0] * (float)bitmap_bitch.Height;
+ // float x_min = boxes[0, i, 1] * (float)bitmap_bitch.Width;
+ // float y_max = boxes[0, i, 2] * (float)bitmap_bitch.Height;
+ // float x_max = boxes[0, i, 3] * (float)bitmap_bitch.Width;
+ // P1.X = (int)x_min;
+ // P1.Y = (int)y_min;
+ // P2.X = (int)x_max;
+ // P2.Y = (int)y_max;
+ // Cv2.Rectangle(mat_drawBox, P1, P2, new Scalar(0, 255, 0), 5);
+ // rectangle.X = (int)x_min;
+ // rectangle.Y = (int)y_min;
+ // rectangle.Width = (int)(x_max - x_min);
+ // rectangle.Height = (int)(y_max - y_min);
+
+ // check_detection = 1;
+ // }
+ // }
+ // }
+ //}
+ //if (check_detection == 1)
+ //{
+ // mat_drawBox.SaveImage(basepath + "\\detection" + imageFile);
+ // bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_drawBox);
+ // pictureBox_detection.Image = bitmap_bitch;
+ // pictureBox_detection.Refresh();
+ // label1.BackColor = Color.White;
+ // label2.BackColor = Color.Red;
+ //}
+ //else
+ //{
+ // MessageBox.Show("Error: Sorry can not detect any tongue in this image. Press [OK] to skip preprocessing.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ // time = DateTime.Now.ToLocalTime().ToString();
+ // File.AppendAllText("DetectionFailedLog.txt ", time + " " + imageFile + "\n");
+ // pictureBox_detection.Image = null;
+ // pictureBox_detection.Refresh();
+ // pictureBox_cropResized.Image = null;
+ // pictureBox_cropResized.Refresh();
+ // pictureBox_output.Image = null;
+ // pictureBox_output.Refresh();
+ // pictureBox_outputSRG.Image = null;
+ // pictureBox_outputSRG.Refresh();
+ // pictureBox_maskSRG.Image = null;
+ // pictureBox_maskSRG.Refresh();
+ // pictureBox_extraction.Image = null;
+ // pictureBox_extraction.Refresh();
+ // pictureBox_contract.Image = null;
+ // pictureBox_contract.Refresh();
+ // bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_input);
+ // byte_inputSegmentation = Bitmap2Byte(bitmap_bitch);
+
+ // Thread.Sleep(1000);
+ // modelFile = DownloadDefaultModel_noBoxPix2Pix(basepath);
+ // using (var graph = new TFGraph())
+ // {
+ // var model = File.ReadAllBytes(modelFile);
+ // graph.Import(model, "");
+
+ // using (var session = new TFSession(graph))
+ // {
+ // var tensor = ImageUtil2.CreateTensorFromImageFile(byte_inputSegmentation);
+
+ // var runner = session.GetRunner();
+ // runner
+ // .AddInput(graph["generator/input_image"][0], tensor)
+ // .Fetch(graph["generator/prediction"][0]);
+ // var output = runner.Run();
+ // float[,,,] resultfloat = (float[,,,])output[0].GetValue(jagged: false);
+
+ // for (int p = 0; p < 256; p++)
+ // {
+ // for (int q = 0; q < 256; q++)
+ // {
+ // float check = resultfloat[0, p, q, 0];
+ // if (check < 0)
+ // {
+ // mask[ii] = 0;
+ // }
+ // else
+ // {
+ // mask[ii] = 255;
+ // }
+ // ii++;
+ // }
+ // }
+ // }
+ // }
+ // Thread.Sleep(1000);
+ // bitmap_bitch = ToGrayBitmap(mask, 256, 256);
+ // mat_outputNoBox = OpenCvSharp.Extensions.BitmapConverter.ToMat(bitmap_bitch);
+ // bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_outputNoBox);
+ // pictureBox_output.Image = bitmap_bitch;
+ // pictureBox_output.Refresh();
+ // label1.BackColor = Color.White;
+ // label4.BackColor = Color.Red;
+ // mat_outputNoBox.SaveImage(basepath + "\\output256" + imageFile);
+ // try
+ // {
+ // RemoveSmallRegion(basepath + "\\output256" + imageFile, basepath + "\\output_changed1" + imageFile, 500, 1, 1);
+ // RemoveSmallRegion(basepath + "\\output_changed1" + imageFile, basepath + "\\output_changed2" + imageFile, 500, 0, 0);
+ // }
+ // catch
+ // {
+ // MessageBox.Show("Error: Unable to reprocess! Please check is there [RemoveSmallRegionDLL.dll] file in floder?", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ // break;
+ // }
+ // mat_outputSRGNoBox = new Mat(basepath + "\\output_changed2" + imageFile, ImreadModes.GrayScale);
+ // bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_outputSRGNoBox);
+ // pictureBox_outputSRG.Image = bitmap_bitch;
+ // pictureBox_outputSRG.Refresh();
+ // label4.BackColor = Color.White;
+ // label5.BackColor = Color.Red;
+ // Cv2.Resize(mat_outputSRGNoBox, mat_mask, mat_input.Size());
+ // mat_mask.SaveImage(basepath + "\\mask" + imageFile);
+ // try
+ // {
+ // RemoveSmallRegion(basepath + "\\mask" + imageFile, basepath + "\\mask_changed1" + imageFile, 500, 1, 1);
+ // RemoveSmallRegion(basepath + "\\mask_changed1" + imageFile, basepath + "\\mask_changed2" + imageFile, 500, 0, 0);
+ // }
+ // catch
+ // {
+ // MessageBox.Show("Error: Unable to reprocess! Please check is there [RemoveSmallRegionDLL.dll] file in floder?", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ // break;
+ // }
+ // mat_maskSRG = new Mat(basepath + "\\mask_changed2" + imageFile, ImreadModes.GrayScale);
+ // Cv2.Threshold(mat_maskSRG, mat_maskSRG, 128, 255, ThresholdTypes.Binary);
+ // bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_maskSRG);
+ // pictureBox_maskSRG.Image = bitmap_bitch;
+ // pictureBox_maskSRG.Refresh();
+ // label5.BackColor = Color.White;
+ // label6.BackColor = Color.Red;
+ // mat_extraction = mat_input.Clone();
+ // for (int i = 0; i < mat_input.Height; i++)
+ // {
+ // for (int j = 0; j < mat_input.Width; j++)
+ // {
+ // Vec3b pix = mat_extraction.At(i, j);
+ // if (mat_maskSRG.At(i, j) == 0)
+ // {
+ // pix[0] = (byte)(255);
+ // pix[1] = (byte)(255);
+ // pix[2] = (byte)(255);
+ // mat_extraction.Set(i, j, pix);
+ // }
+ // else
+ // {
+ // pix[0] = (byte)(mat_extraction.At(i, j).Item0);
+ // pix[1] = (byte)(mat_extraction.At(i, j).Item1);
+ // pix[2] = (byte)(mat_extraction.At(i, j).Item2);
+ // mat_extraction.Set(i, j, pix);
+ // }
+ // }
+ // }
+ // mat_extraction.SaveImage(basepath + "\\extraction" + imageFile);
+ // bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_extraction);
+ // pictureBox_extraction.Image = bitmap_bitch;
+ // pictureBox_extraction.Refresh();
+ // label6.BackColor = Color.White;
+ // label7.BackColor = Color.Red;
+ // bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_input);
+ // pictureBox_contract.Image = bitmap_bitch;
+ // pictureBox_contract.Refresh();
+ // label7.BackColor = Color.White;
+ // label8.BackColor = Color.Red;
+ // continue;
+ //}
+ //for (int i = P1.Y; i < P2.Y; i++)
+ //{
+ // for (int j = P1.X; j < P2.X; j++)
+ // {
+ // Vec3b pix = mat_input.At(i, j);
+ // mat_cropped.Set(i, j, pix);
+ // }
+ //}
+ //mat_cropped.SaveImage(basepath + "\\cropped" + imageFile);
+ //OpenCvSharp.Size size_roi = new OpenCvSharp.Size();
+ //size_roi.Height = rectangle.Height;
+ //size_roi.Width = rectangle.Width;
+ //roi = new Rect(P1, size_roi);
+ //mat_roisize = mat_input.Clone(roi);
+ //Cv2.Resize(mat_roisize, mat_roi, mat_roi256.Size());
+ //mat_roi.SaveImage(basepath + "\\cropresized" + imageFile);
+ //bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_roi);
+ //pictureBox_cropResized.Image = bitmap_bitch;
+ //pictureBox_cropResized.Refresh();
+ //label2.BackColor = Color.White;
+ //label3.BackColor = Color.Red;
+ //byte_inputSegmentation = Bitmap2Byte(bitmap_bitch);
+ //Thread.Sleep(1000);
+ //modelFile = DownloadDefaultModel(basepath);
+ //using (var graph = new TFGraph())
+ //{
+ // var model = File.ReadAllBytes(modelFile);
+ // graph.Import(model, "");
+
+ // using (var session = new TFSession(graph))
+ // {
+ // var tensor = ImageUtil2.CreateTensorFromImageFile(byte_inputSegmentation);
+ // var runner = session.GetRunner();
+ // runner
+ // //.AddInput(graph["generator/input_image"][0], tensor)
+ // //.Fetch(graph["generator/prediction"][0]);
+
+ // .AddInput(graph["input_image"][0], tensor)
+ // .Fetch(graph["generator1/decoder_1/Tanh"][0]);
+
+ // var output = runner.Run();
+ // float[,,,] resultfloat = (float[,,,])output[0].GetValue(jagged: false);
+
+ // for (int p = 0; p < 256; p++)
+ // {
+ // for (int q = 0; q < 256; q++)
+ // {
+ // float check = resultfloat[0, p, q, 0];
+ // if (check < 0)
+ // {
+ // mask[ii] = 0;
+ // }
+ // else
+ // {
+ // mask[ii] = 255;
+ // }
+ // ii++;
+ // }
+ // }
+ // }
+ //}
+ //Thread.Sleep(1000);
+ //bitmap_bitch = ToGrayBitmap(mask, 256, 256);
+ //mat_output = OpenCvSharp.Extensions.BitmapConverter.ToMat(bitmap_bitch);
+ //bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_output);
+ //pictureBox_output.Image = bitmap_bitch;
+ //pictureBox_output.Refresh();
+ //label3.BackColor = Color.White;
+ //label4.BackColor = Color.Red;
+ //mat_output.SaveImage(basepath + "\\output256" + imageFile);
+ //try
+ //{
+ // RemoveSmallRegion(basepath + "\\output256" + imageFile, basepath + "\\output_changed1" + imageFile, 500, 1, 1);
+ // RemoveSmallRegion(basepath + "\\output_changed1" + imageFile, basepath + "\\output_changed2" + imageFile, 500, 0, 0);
+ //}
+ //catch
+ //{
+ // MessageBox.Show("Error: Unable to reprocess! Please check is there [RemoveSmallRegionDLL.dll] file in floder?", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ // break;
+ //}
+ //mat_outputSRG = new Mat(basepath + "\\output_changed2" + imageFile, ImreadModes.GrayScale);
+ //bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_outputSRG);
+ //pictureBox_outputSRG.Image = bitmap_bitch;
+ //pictureBox_outputSRG.Refresh();
+ //label4.BackColor = Color.White;
+ //label5.BackColor = Color.Red;
+ //Cv2.Resize(mat_outputSRG, mat_outputChanged, mat_roisize.Size());
+ //mat_outputChanged.SaveImage(basepath + "\\output_resized" + imageFile);
+ //mat_mask = new Mat(mat_input.Size(), MatType.CV_8UC1, 1);
+ //for (int i = P1.Y; i < P2.Y; i++)
+ //{
+ // for (int j = P1.X; j < P2.X; j++)
+ // {
+ // int pix = mat_outputChanged.At(mmp, pmm);
+ // mat_mask.Set(i, j, pix);
+ // pmm++;
+ // }
+ // mmp++;
+ // pmm = 0;
+ //}
+ //mmp = 0;
+ //Cv2.Resize(mat_mask, mat_mask, mat_input.Size());
+ //mat_mask.SaveImage(basepath + "\\mask" + imageFile);
+ //try
+ //{
+ // RemoveSmallRegion(basepath + "\\mask" + imageFile, basepath + "\\mask_changed1" + imageFile, 500, 1, 1);
+ // RemoveSmallRegion(basepath + "\\mask_changed1" + imageFile, basepath + "\\mask_changed2" + imageFile, 500, 0, 0);
+ //}
+ //catch
+ //{
+ // MessageBox.Show("Error: Unable to reprocess! Please check is there [RemoveSmallRegionDLL.dll] file in floder?", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ // break;
+ //}
+ RemoveSmallRegion(basepath + "\\output256" + imageFile, basepath + "\\mask_changed1" + imageFile, 2000, 1, 1);
+ RemoveSmallRegion(basepath + "\\mask_changed1" + imageFile, basepath + "\\mask_changed2" + imageFile, 2000, 0, 0);
+ mat_maskSRG = new Mat(basepath + "\\mask_changed2" + imageFile, ImreadModes.GrayScale);
+ Cv2.Threshold(mat_maskSRG, mat_maskSRG, 128, 255, ThresholdTypes.Binary);
+ bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_maskSRG);
+ pictureBox_maskSRG.Image = bitmap_bitch;
+ pictureBox_maskSRG.Refresh();
+ label5.BackColor = Color.White;
+ label6.BackColor = Color.Red;
+ mat_extraction = mat_input.Clone();
+ for (int i = 0; i < mat_input.Height; i++)
+ {
+ for (int j = 0; j < mat_input.Width; j++)
+ {
+ Vec3b pix = mat_extraction.At(i, j);
+ if (mat_maskSRG.At(i, j) == 0)
+ {
+ pix[0] = (byte)(255);
+ pix[1] = (byte)(255);
+ pix[2] = (byte)(255);
+ mat_extraction.Set(i, j, pix);
+ }
+ else
+ {
+ pix[0] = (byte)(mat_extraction.At(i, j).Item0);
+ pix[1] = (byte)(mat_extraction.At(i, j).Item1);
+ pix[2] = (byte)(mat_extraction.At(i, j).Item2);
+ mat_extraction.Set(i, j, pix);
+ }
+ }
+ }
+ mat_extraction.SaveImage(basepath + "\\extraction" + imageFile);
+ bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_extraction);
+ pictureBox_extraction.Image = bitmap_bitch;
+ pictureBox_extraction.Refresh();
+ label6.BackColor = Color.White;
+ label7.BackColor = Color.Red;
+ bitmap_bitch = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat_input);
+ pictureBox_contract.Image = bitmap_bitch;
+ pictureBox_contract.Refresh();
+ label7.BackColor = Color.White;
+ label8.BackColor = Color.Red;
+ time = DateTime.Now.ToLocalTime().ToString();
+ File.AppendAllText("Log.txt ", time + " " + imageFile + " Done!\n");
+ }
+ MessageBox.Show("Finished!");
+ button_start.Enabled = true;
+ button_pause.Enabled = false;
+ label_processingFileName.Text = "Processing File: None";
+ }
+ }
+
+ private void button_pause_Click(object sender, EventArgs e)
+ {
+ if (button_pause.Text == "Pause")
+ {
+ manualReset.Reset();
+ button_pause.Text = "Continue";
+ }
+ else
+ {
+ manualReset.Set();
+ button_pause.Text = "Pause";
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/Form1.resx b/Tongue extraction_cropresizemethod/Tongue extraction/Form1.resx
new file mode 100644
index 0000000..e1424ee
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/Form1.resx
@@ -0,0 +1,1080 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+ 58
+
+
+
+
+ AAABAAEAa4AAAAEAIAAo3gAAFgAAACgAAABrAAAAAAEAAAEAIAAAAAAAANYAAGM4AABjOAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA5eTmAOXk5gDl5OYA5eTmA+Xk5gLl5OYB5ePlAOjs6gDl5OUA4dznAOfn
+ 5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXj5gDl5OYA5eTmAOXj5gHl5OYA5enrAObe4QDl5OYC5eTmBOXk
+ 5gTl5OYD5eTmAebk5wDk5OcA5+XkAOXj6ADl5ecA5+HnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eTmAOXk5QDl4+UA5eTlCeXk5kPl5OYl5uXmBujl
+ 5gDn5eYA3OTmAOXl5QDl5eUA5ebjAOXk5gPl5OYE5eTmA+Xk5gLl5OYB5uPmAO3o7gDj5OQA6+LsAObl
+ 5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5OYA5eTmA+Xk5gDl5OZN5eTm/+Xk
+ 5vjl5Obe5eTmuuXk5pDl5OZj5eTmOeXk5hbx5ewB/+T/AOfk5wDl6OoA5OPlAOTk5QDl5OYB5eTmBOXk
+ 5gTl5OYD5eTmAuXk5gHk4eYA5uHkAObk5QDk4ugA5eXlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eTmAOTj5QDl5OYD5eTmAOXk
+ 5qfl5Ob/5eTm++Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm8eXk5s/l5Oap5eTmfeXk5lDl5OYq5eTmCubn
+ 5gDm5uYA5d7mAOXm5QDk6OQA5OjkAOXl5gPl5OYE5eTmBOXk5gLl5OYB5eTmAObo5gDt8+IA5ubmAOXl
+ 5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm4+YA5eTmAeXk
+ 5gDl5OYW5eTm7OXk5v/l5Ob95eTm/eXk5vzl5Ob75eTm++Xk5v7l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5vzl5Obl5eTmwOXk5pbl5OZp5eTmP+Xk5hvm5+YC5+jmAObl5gDr5OYA5OTnAOTk5wDm5OcB5eTmBOXk
+ 5gTl5OYD5eTmAuXk5gHl5OcA4uXkAOTl5QDq5eoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk
+ 5gDl5OYD5eTmAOXk5lfl5Ob/5eTm/OXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v7l5Ob95eTm++Xk
+ 5vvl5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm9eXk5tXl5Oau5eTmg+Xk5lbl5OYu5eTnDuPk
+ 5QDj5OUA5+XoAOXj6ADg89UA4e7XAOXk5gLl5OYE5eTmBOXk5gLl5OYB5eTmAObl5gDl5OUA5uTmAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADj4uMA5uTmAOXk5gPl5OYA5eTmpOXk5v/l5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob+5eTm/eXk5vzl5Ob75eTm++Xk5v3l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v7l5Obp5eTmx+Xk5p7l5OZw5eTmROXk5h/m5eYE5eXmAObk5gDl5OYA5eTmAOXk5gDl5OYB5eTmA+Xk
+ 5gTl5OYD5eTmAuXk5gHl5OUA6tneAOTm5wDk4uQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAOTk5QDl5OYB5eTmAOXk5hDl5Obl5eTm/+Xk5v7l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v7l5Ob95eTm/OXk
+ 5vvl5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm+OXk5tvl5Oa25eTmiuXk5l3l5OYz5uPmEsvl
+ zQDg5eIA5+PnAObk5gDm5OYA5uTmAOXk5wHp4+UA6uPlALb09QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA5eXnAOXk5gPl5OYA5eTmSeXk5v/l5Ob95eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/uXk5vzl5Ob75eTm++Xk5v3l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Obt5eTmzOXk5qPl5OZ25eTmS+Xk5iXl5ecH5eXnAOPj5QDf398A39/fAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOji6ADk4+UA5eTmBOXk5gDl5OaT5eTm/+Xk5vvl5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v7l5Ob95eTm/OXk
+ 5vvl5Ob85eTm/uXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm+eXk5ufl5OaY5eXnAOXl5wHl4+UAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5OTlAOXk5wHl5ecA5eXoB+Xk5tjl5Ob/5eTm/eXk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/uXk5v3l5Ob75eTm++Xk5v3l5Ob75eTm/+Xk5n3l5OYA5eTmBOXm
+ 6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5OYA5eTmA+Xk5gDl5OY95eTm/+Xk
+ 5v7l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/uXk5v/l5Obr5eTmGOXk
+ 5gDl5OYB4ODgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7entAOXk5gDl5OYE5eTmAOXk
+ 5onl5Ob/5eTm++Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob75eTm/+Xk
+ 5pbl5OYA5eTmA+Xk5QDm5ugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5OYA5eTmAePk
+ 5gDj5OYD5eTm0+Xk5v/l5Ob95eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTmNeXk5gDl5OYC5eTmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk
+ 5gDl5OYD5eTmAOXk5j3l5Ob/5eTm/uXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob85eTm/+Xk5r3l5OYA5eTlAeXk5wDl5OUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADl5OcA6OTlAOXk5gTl5OYA5eTmkeXk5v/l5Ob75eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmW+Xk5gDl5OYD5eTmAObm6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA5eXmAOXj5gDl5OYB5uXmAObk5hLl5Obl5eTm/+Xk5v7l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob+5eTm/+Xk5uPl5OYP5eTmAOXk5gHk5OYAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAObk5gDk5OYA5OPmAOXk5gbl5OYA5eTmcuXk5v/l5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vvl5Ob/5eTmleXk5gDl5OYD5eXmAOfm5wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAOXl5QDl5OYA5uTmAObk5QDl5OYF5eTmAOXk5jfl5Oby5eTm/+Xk5v7l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/eXk5v/l5OZD5eTmAOXk5gPl5OcAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAOTj5wDl5OUA5OPmAOTj5gDl5OYC5eTmBeXk5gDl5OY35eTm6+Xk5v/l5Ob+5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v3l5Ob/5eTm3+Tj5grk4+YA5eTmAeXl
+ 5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5OYA6ungAOfm4wDi4ekA5OTnAOTk5wDl5OYA5uTmAOXj
+ 5QDl4+UA5eXnAOXk5gHl5OYB5eTmAeXk5gLl5OYE5eTmA+Xk5gHl5OYA5eTmVuXk5vTl5Ob/5eTm/eXk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm++Xk5v/l5Oaf5eTmAOXk
+ 5gPl5OYA5eXnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5ecA3eHjAN3g4wDl5OYC5eTmBOXk5gPm5OUC5+TlAeTk
+ 5QHi5OYB5unrAOPs7gDT2dsA0NvdANzl5wAAAAAA5eTmAOXk5gHk5OUA5eTmHeXk5qHl5Ob/5eTm/eXk
+ 5v3l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob85eTm/+Xk
+ 5l7l5OYA5eTmBOXk5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eTmAObl5gDm5eYA5eTmAuPh5QDj4uUA5OPmAAAA
+ AAAAAAAAAAAAAAAAAACl5OYA/+DmAP/R2wDg4OUB5uTmBeXk5hHl5OYp5eTmWOXk5qbl5Ob05eTm/+Xk
+ 5vzl5Ob+5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/uXk
+ 5v/l5Ob+5eTmK+Xk5gDl5OYC5OTmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm5gDl5OYA4eLlAOTk5gLj5OUA5eTmLOXk
+ 5oHl5Oat5eTmvuXk5sTl5ObG5eTmyOXk5svl5ObM5eTmz+Xk5tTl5Obd5eTm7OXk5vzl5Ob/5eTm/+Xk
+ 5v7l5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob95eTm/+Xk5uTl5OYM5eTmAOXk5gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ePmAObl5gDl5OYC5eTmAOXk
+ 5nXl5Ob/5eTm/+Xk5v7l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5vzl5Ob75eTm/uXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmyuTk5QDk5OUB5eTmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5OUA5eTmA+Xk
+ 5gDl5OZM5eTm/+Xk5v3l5Ob75eTm++Xk5vzl5Ob85eTm/OXk5vzl5Ob85eTm/eXk5v3l5Ob95eTm/eXk
+ 5v7l5Ob+5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/OXk5v/l5Oa15eTmAOXk5gLl5OYAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk
+ 5gDl5OYC5eTmAOXk5rjl5Ob/5eTm++Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob85eTm/+Xk5q3l5OYA5eTmA+bk5gAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA5eTmAebk5gDm5OYX5eTm7uXk5v/l5Ob+5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmsOXk5gDl5OYD5eTmAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAOXl5gDl5OYD5eTmAOXk5kXl5Ob/5eTm/eXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/OXk5v/l5Oa/5eTmAOXk
+ 5gLl5OYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk5gTl5OYA5eTmcuXk5v/l5Ob75eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob95eTm/+Xk
+ 5tbm5eUA5eTmAOXk5gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5uUA5eTmBOXk5gDl5Oac5eTm/+Xk5vvl5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v7l5Ob/5eTm7+Xk5hfl5OYA5eTmAebm5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk5gDl5OYC5eTmAOXk5rvl5Ob/5eTm/OXk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v7l5Ob/5eTmPOXk5gDl5OYD5eXnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eTmAOjm7ADj4uIA5eTm1OXk
+ 5v/l5Ob95eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm++Xk5v/l5OZ15eTmAOXk5gTk4+QAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5OYB5uPmAObj
+ 5gvl5Obj5eTm/+Xk5v3l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob85eTm/+Xk5rXl5OYA5eTmAuXl5gDo6OgAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk
+ 5gHl5OYA5eTmFuXk5u/l5Ob/5eTm/uXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v7l5Ob/5eTm7uXk5hbl5OYA5eTmAeXk
+ 5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA5eTmAuXk5gDl5OYi5eTm++Xk5v/l5Ob+5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmXOXk
+ 5gDl5OYD5eTmAObm5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADl5OYC5eTmAOXk5i/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/OXk
+ 5v/l5Oaz5eTmAOXk5gLl5OYA5+PnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk5gPl5OYA5eTmPuXk5v/l5Ob+5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob+5eTm/+Xk5vfl5OYn5eTmAOXk5gLl4+YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eTmA+Xk5gDl5OZM5eTm/+Xk5v3l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob75eTm/+Xk5oPl5OYA5eTmBOjj5gDl5OUAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOvr6wDl5OYE5eTmAOXk5lzl5Ob/5eTm++Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v3l5Ob/5eTm3+Xk5g3l5OYA5eTmAeXk5gAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ePlAOXk5gTl5OYA5eTmcuXk
+ 5v/l5Ob75eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmYOXk5gDl5OYD5eTlAOXl
+ 5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf3+wA5eTmBOXk
+ 5gDl5OaK5eTm/+Xk5vvl5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/eXk5v/l5ObJ5NG+AOTm
+ 7ADl5OUA5OPnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObk
+ 5gDl5OYE5eTmAOXk5qPl5Ob/5eTm++Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/eXk
+ 5v/l5OZI5eTmAOXk5gPl5eYA5ubmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA5eTmAOXk5gHl5OYA5eTmw+Xk5v/l5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob85eTm/+Xk5rLl5OYA5eTmAubk5gDl4+YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADl5OYB5eTnAOTk5wrl5Obi5eTm/+Xk5v3l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v7l5Ob/5eTm/eXk5jPl5OYA5eTmAuXk5wDm4uYAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA5OTmAOXk5gLl5OYA5eTmK+Xk5v7l5Ob/5eTm/uXk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmmuXk5gDl5OYD5OPmAOXl5wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5OYA5eTmBOXk5gDl5OZe5eTm/+Xk5vzl5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/uXk5v/l5Obx5ePmHuXk5gDl5OYC5eTlAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OjoAOXl5QDl5OYD5eTmAOXk5qLl5Ob/5eTm++Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/k4+b/4+Lm/+Pj5v/j4+b/4+Pm/+Pj5v/j4+b/4+Pm/+Pi5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/4+Lm/+Pj5v/j4+b/4+Pm/+Pj5v/j4+b/4+Pm/+Pi
+ 5v/k4+b/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm++Xk5v/l5OZ65eTmAOXk
+ 5gTn5OUA4+LjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvb2wDl5OYA5eTmAeXk5gDl5OYQ5eTm5eXk
+ 5v/l5Ob+5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5OPm/+nn5v/w7OX/7erm/+7q5v/u6ub/7urm/+7q5v/u6ub/7uvm/+bl
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+bk5v/u6+b/7urm/+7q5v/u6ub/7urm/+7q
+ 5v/t6ub/8Ozl/+nn5v/k4+b/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob95eTm/+Xk
+ 5trl5OUK5eTlAOXk5QHl5OYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+gA5eTmAOXk5gDl5OYE5eTmAOXk
+ 5ljl5Ob/5eTm/OXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Tj5v/p5+b/0NTn/2WF7f9df+3/X4Ht/1+A7f9fgO3/X4Ht/1t+
+ 7f9ujOz/3t/m/+bl5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/m5eb/4ODm/3CN7P9bfu3/X4Ht/1+A
+ 7f9fgO3/X4Ht/15/7f9khO3/ztPn/+ro5v/k4+b/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob85eTm/+Xk5lrl5OYA5eTmA+Xk5gDk4eQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wDl5eYA5uXoAN7e1wDl5OcB5eTmBOTk
+ 5QLj5OUA5eTmwuXk5v/l5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/4uLm//Ht5f+ot+n/Ekfx/x5R8P8cT/H/HE/x/xxP
+ 8f8dT/H/HE/x/xxP8f/Gzej/7Onm/+Li5v/l5Ob/5eTm/+Xk5v/l5Ob/4uLm/+vp5v/Jz+f/HlDw/xtO
+ 8f8dT/H/HE/x/xxP8f8cT/H/H1Hw/xBG8f+ktOn/8u3l/+Li5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmvubk5gDm5OYB5eTmAObk5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ePmAOXh5gDl5uUA5ePlAOXk5gLl5OYE5eTmA+Xk
+ 5gHn5eIA5ubiAuXk5pXl5Ob/5eTm/eXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/i4ub/8Ozl/6u56f8gUvD/K1rw/ypZ
+ 8P8pWfD/KVnw/ylZ8P8sW/D/HlHw/2yL7P/07+X/5+Xm/+Hh5v/i4ub/4uLm/+Hh5v/m5eb/9fDl/3GO
+ 7P8eUfD/LFvw/ylZ8P8pWfD/KVnw/ylZ8P8sW/D/HlDw/6i26f/x7eX/4uLm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTmOuXk5gDl5OYC5eTmAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq6esA5eTmAOXk5gDm5OcA5eTmA+Xk5gTm5ugB5eXnAOXl
+ 5wDn5+gA5uXnB+Xk5k/l5ObN5eTm/+Xk5v3l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Li5v/w7OX/qrnp/x5Q
+ 8P8pWfD/J1fw/ydX8P8nV/D/J1fw/ydX8P8oWPD/HlHw/3eT7P/h4eb/8u7l//Ht5f/x7eX/8u7l/+Lh
+ 5v97lez/H1Hw/yhY8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ypZ8P8bTvH/p7bp//Ht5f/i4ub/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/OXk5v/l5Oac5eTmAOXk5gPm4+YA5OLlAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eTlAOXk5gDl5OYA5eTmAuXk5QLl6OcA5d3kAOXg
+ 5QPl5OYl5eTmXeXk5pzl5Obf5eTm/+Xk5v7l5Ob95eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/4uLm//Ds
+ 5f+quen/HlDw/ylZ8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8oWPD/HE/x/zxn7/95k+z/mKvq/5mr
+ 6v96lOz/PWjv/xxP8f8oWPD/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/Klnw/xxO8f+mten/7uvm/+Dg
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob+5eTm/+Xk5u/m5OYb5eTmAOXk
+ 5gHm5OcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTk5gDl5OYA5eTmAOXk5gLl5eYB7OHuAOXk
+ 5jrl5OaT5eTm0+Xk5vrl5Ob/5eTm/+Xk5v/l5Ob85eTm/OXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/i4ub/8Ozl/6q56f8eUPD/KVnw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8qWfD/IlPw/xpN
+ 8f8aTvH/Gk7x/xpN8f8iU/D/Klnw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8qWfD/G07x/626
+ 6f/+9+X/7erm/+Tk5v/k4+b/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob85eTm/+Xk
+ 5nTl5OYA5eTmBOXk5wDm5eYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eTnAOXk5wDl5OYC5eTmAOXk
+ 5ifl5Oa95eTm/+Xk5v7l5Ob/5eTm/+Xk5vzl5Ob75eTm/eXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Li5v/w7OX/qrnp/x5Q8P8pWfD/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8oWPD/Klnw/ypZ8P8qWfD/Klnw/yhY8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/yhY
+ 8P8kVPD/T3Tu/3iT7P+ruen/6efm/+nn5v/j4+b/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v3l5Ob/5eTm0eff6APo3+gA5uPmAeXj5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5OcA5eTmAuXk
+ 5gDl5OY05eTm7eXk5v/l5Ob85eTm++Xk5v3l5Ob+5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/4uLm//Ds5f+quen/HlDw/ylZ8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/yhY8P8gUvD/Gk3x/xxO8f9Ye+3/2dvn/+nn5v/k4+b/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v3l5Ob/5eTmR+Xk5gDl5OYD5eTmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk
+ 5wHl5ecA5eXoBuXk5tHl5Ob/5eTm+uXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/i4ub/8Ozl/6q56f8eUPD/KVnw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ylY8P8qWfD/K1rw/xZK8f9ZfO3/6efm/+Tj5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/OXk5v/l5Oaj5eTmAOXk5gPl4+YA5eTlAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA5eTmA+Xk5gDl5OZC5eTm/+Xk5vzl5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Li5v/w7OX/qrnp/x5Q8P8pWfD/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/Klnw/yBR8P+5w+j/7uvm/+Pj
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob+5eTm/+Xk5u7l5OYa5eTmAOXk5gHm5OYAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADl5OYE5eTmAOXk5lzl5Ob/5eTm/OXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/4uLm//Ds5f+quen/HlDw/ylZ
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8qWfD/HU/x/6Oz
+ 6f/x7eX/4uLm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob85eTm/+Xk5mfl5OYA5eTmBOXk
+ 5gAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk5gPl5OYA5eTmR+Xk5v/l5Ob95eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/i4ub/8Ozl/6q5
+ 6f8eUPD/KVnw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/KFjw/yhY
+ 8P8kVfD/xczo/+zp5v/j4+b/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmveXk
+ 5wDl5OcB5eTlAOXj5gAAAAAAAAAAAAAAAAAAAAAA5eTmAeXk5gDl5OYa5eTm8OXk5v/l5Ob+5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5OPl/+Pi4//i4eP/4+Lk/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Li
+ 5v/w7OX/qrnp/x5Q8P8pWfD/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/KVjw/ypZ
+ 8P8mVvD/FEnx/3iT7P/v6+b/4+Pm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/uXk
+ 5v/l5Ob55eTmJ+Xk5gDl5OYC5eTmAAAAAAAAAAAAAAAAAAAAAADl5OYA5eTmAuXk5gDl5Oat5eTm/+Xk
+ 5vzl5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Pi5P/m5ef/7+/y//Hx9P/s7O//5OLk/+Tj5f/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/4uLm//Ds5f+quen/HlDw/ylZ8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/yhY
+ 8P8eUfD/G07x/yxb8P+Cm+v/6Obm/+bl5v/k5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm++Xk5v/l5OZw5eTmAOXk5gTm5OcAAAAAAAAAAAAAAAAAAAAAAOXl5wDl5OYD5eTmAOXk
+ 5kfl5Ob/5eTm/eXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/j4uT/6+rt/+Hg4v+tqKb/nJWS/8C9vP/s7O//5uXn/+Tj5f/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/i4ub/8Ozl/6q56f8eUPD/KVnw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8oWPD/IVLw/2yK7P+ntun/z9Tn//Ht5f/l5Ob/5OPm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob85eTm/+Xk5r7l5eUA5eXmAeXj5gDj4egAAAAAAAAAAAAAAAAA5eTmAOXk
+ 5gDk5OYB5OTnAOXk5rrl5Ob/5eTm/OXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/4+Lk/+vq7f/Oy8v/VkpC/zEiGP8yIxj/NSYc/4F4c//o5+n/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Li5v/w7OX/qrnp/x5Q8P8pWfD/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ypZ8P8bTvH/sL3p//735f/n5eb/4uLm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v7l5Ob/5eTm9eXk5h/l5OYA5eTmAubl5QAAAAAAAAAAAAAA
+ AADk5OcA5ePmAOXk5gLl5OYA5eTmN+Xk5v3l5Ob+5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Tj5f/m5ef/4uHj/1dLQ/8wIRb/QDIo/z8xJ/8+MCb/KxwQ/5KK
+ h//w8PL/4+Hj/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/4uLm//Ds5f+quen/HlDw/ylZ8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/Klnw/xxO8f+ltOn/7uvm/+Hh5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmWuXk5gDl5OYE5OXnAAAA
+ AAAAAAAAAAAAAAAAAADl4+UA5+nnAOXk5gPl5OYA5eTmkOXk5v/l5Ob75eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/k4+X/4uHj/+Lh4//i4eP/4N/g/+3t8P+knZv/MCEW/0AyKf88LiT/PC4k/z0v
+ Jv86LCL/Rjkw/9fV1v/l5Ob/4uDi/+Lh4//i4eP/4uHj/+Xk5v/j4ub/8Ozl/6u56f8eUPD/KVjw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX8P8qWfD/G07x/6e26f/x7eX/4uLm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm++Xk5v/l5Oae5eTmAOXk
+ 5gPk5OYAAAAAAAAAAAAAAAAAAAAAAOno6QDm5OYA5eTlAeTk5ADl5OUN5eTm1uXk5v/l5Ob95eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5OPl/+rq7P/x8fT/8PDz//Hw8//u7vH/+/z//3lvaf8xIhj/PzEn/zwu
+ JP88LiT/PC4k/z4wJv8zJRr/u7e2//v8///u7vH/8fDz//Hx8//w8PP/5+bo/+Li5v/w7Ob/qrjp/yBS
+ 8P8sW/D/Klnw/ypZ8P8qWfD/Klnw/ypZ8P8qWfD/J1fw/ydX8P8nV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ypZ8P8qWfD/Klnw/ypZ8P8qWfD/Klnw/y1b8P8eUPD/p7bp//Ht5f/i4ub/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob95eTm/+Xk
+ 5tXk4+YD5eTmAOXk5gHm5uYAAAAAAAAAAAAAAAAAAAAAAOXk5QDl5OYA5eTmA+Xk5gDl5OZA5eTm/eXk
+ 5v7l5Ob+5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Tj5f/p6Ov/ycXF/6CZlv+knpv/o52a/6Kcmf+noZ//VkpC/zco
+ Hv89LyX/PC4k/zwuJP88LiT/PTAm/zUnHP98c27/qqSi/6KbmP+jnZv/opyZ/6ein//d3N3/5OTo//Ds
+ 5f+suun/Ekjx/xxP8f8aTvH/Gk3x/xpN8f8aTfH/Gk3x/xtO8f8mV/D/J1fw/ydX8P8nV/D/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/G07x/xpN8f8aTfH/Gk3x/xpN8f8aTvH/HE/x/xBG8f+pt+n/8e3l/+Li
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v7l5Ob/5eTm++Xk5ifl5OYA5eTmAuXk5gAAAAAAAAAAAAAAAAAAAAAA5+fnAOXk5gDl5OYA5eTmBOXk
+ 5gDl5OZ85eTm/+Xk5vvl5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/4+Lk/+7t8P9rYFn/JxcM/zMkGv8xIhf/MSIX/zAh
+ F/85KyH/PS8l/zwuJP88LiT/PC4k/zwuJP88LiT/PS8l/zUnHP8wIRb/MSIX/zEiF/8zJBn/KBkN/6ym
+ pP/v7/L/5ePj/9zd5v+Tp+n/iqDp/4yh6f+Loen/i6Hp/4uh6f+Noun/hJvq/y5c8P8mVvD/J1fw/ydX
+ 8P8nV/D/J1fw/ydX8P8nV/D/Jlbw/yxb8P+Dm+r/jaPp/4uh6f+Loen/i6Hp/4yh6f+KoOn/kqbp/9rc
+ 5v/n5ub/5OTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmV+Xk5gDl5OYD5eTnAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eTlAOXk
+ 5gDl5OYA5ePmAuHi5ADl5Oay5eTm/+Xk5vvl5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/k4uT/7Ozu/2pgWf81Jx3/QDMp/z4x
+ J/8+MSf/PzEn/z0vJf88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PjAm/z8xJ/8+MSf/PjEn/0E0
+ Kv8zJBr/qKKg//Dw8//i4eP/5+bm//Pv6//z7+3/8+/s//Pv7P/z7+z/8+/s//Pv7f/08Ov/SXHu/x9R
+ 8P8rWvD/J1fw/ydX8P8nV/D/J1fw/ypZ8P8gUvD/RW3u//Lu6//08O3/8+/s//Pv7P/z7+z/8+/s//Pv
+ 7f/z7+v/5+bm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm++Xk5v/l5OaG5eTmAOXk5gTl5OYAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA5eTmAOTj5QDl5OYC5OPlAOTk5hbl5Obc5eTm/+Xk5v3l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Pi5P/s7O//a2BZ/zMk
+ Gf8+MCb/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PjEn/zEiF/+po6H/8PDz/+Ph4//l5Of/3tzM/93bxf/d28f/3dvH/93bx//d28f/2tnG/+nk
+ zP+ntun/Gk7x/yNU8P8qWvD/Klnw/ypZ8P8qWvD/JFTw/xlN8f+js+n/6eXM/9rZxv/d28f/3dvH/93b
+ x//d28f/3dvF/97czP/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob85eTm/+Xk5rTl5OYA5eTmA+bl5wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA5eTmAOXk5gDl5OYD5eTmAOXk5jnl5Ob25eTm/+Xk5v7l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/4+Lk/+zs
+ 7/9qYFn/MyQZ/z4wJv88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP8+MSf/MSIX/6ijoP/w8PH/5OPs/97buv/GvSz/x74v/8e+L//Hvi7/x74u/8e+
+ L//GvSv/x788/+zo2P+gsez/Ml/v/xtO8f8aTvH/Gk7x/xtO8f8xXu//nK7s/+zo2v/Hvzz/xr0r/8e+
+ L//Hvi7/x74u/8e+L//Hvi//xr0r/97buf/m5u//5eTk/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v3l5Ob/5eTm1OPg5QHk4uUA5eTmAQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5ecA5eTmAOTk5gDl5OYE5eTmAOXk5mHl5Ob/5eTm/OXk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/j4uT/7Ozv/2pgWf8zJBn/PjAm/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/z4xJ/8xIhf/qKOg//Dw8P/k5O7/29ir/8W8Jf/HvzL/x74w/8e+
+ MP/HvjD/x74w/8e+Mv/GvCf/2teu//Lv9P/X2eH/n7Dp/3+Z6/9/mOv/nq/p/9XY4f/y7/T/2tev/8a8
+ J//HvjL/x74w/8e+MP/HvjD/x74w/8e/M//FvCT/29ep/+fm8v/l4+P/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/uXk5v/l5Obt5eTmEuXk
+ 5gDl5OYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5eUA5eTmAP///wDl5OYE5eTmAOXk
+ 5ovl5Ob/5eTm++Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Pi5P/s6+7/al9Y/zMkGv8+MCb/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PzEn/zIjGP+po6H/8PDw/+Tk7v/c2K7/xrwn/8e+
+ Mv/HvjD/x74w/8e+MP/HvjD/x74y/8a9K//LwkX/397U/+vq9f/y7uj/8u7l//Lu5f/y7uj/6+r1/+Df
+ 1f/Lw0b/xr0r/8e+Mv/HvjD/x74w/8e+MP/HvjD/x78z/8W8Jv/b2Kz/5+bx/+Xj4//l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob+5eTm/+Xk
+ 5vzl5OYp5eTmAOXk5gIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5OYA5uPlAOXk
+ 5gHl4+YC3NfmAOXk5rTl5Ob/5eTm++Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/k4+X/4eDi/+/v8f9sYVr/MyQZ/z4wJv88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/z0vJf9AMyn/Lh8U/6agnv/w8PH/5OPt/9vY
+ rP/FvCf/x74y/8e+MP/HvjD/x74w/8e+MP/HvjD/x74y/8a9Kf/KwUD/2dWh/+Df2P/i4uj/4uLo/+Df
+ 2P/Z1aL/ysJA/8a9Kf/HvjL/x74w/8e+MP/HvjD/x74w/8e+MP/HvjL/xbwl/9vYrP/n5vH/5ePj/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob95eTm/+Xk5jrl5OYA5eTmAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADl5OYA5eTmAOXk5gLj4+YA5OPmE+Xk5tfl5Ob/5eTm/eXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5OPl/+bl5//u7fD/4+Lk/2RaUv80JRv/PjAm/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP89LyX/OSsh/zUmHP8/MSj/tK+s/+7t
+ 7P/l5fP/3Nmy/8W8Jv/HvjL/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74y/8a9LP/FvCX/ycA8/8zF
+ UP/MxVD/ycA8/8W8Jf/GvSz/x74y/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+Mv/FvCX/29is/+fm
+ 8f/l4+P/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmSuXk5gDl5OYDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAPT09QDl5OYA5eTmAOXk5gPm5OYA5eTmMuXk5vPl5Ob/5eTm/uXk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Tj5f/m5uj/5eTm/4qCff9KPTT/PTAm/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PS8l/zgqIP9ENi3/pqCe/9rY
+ 2P/m5e3/5uXs/+Ti3v/Y1Jj/xrwo/8e+Mv/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74x/8e/
+ Mv/HvS3/xrwp/8a8Kf/HvS3/x74y/8e+Mf/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74y/8W8
+ Jf/b2Kz/5+bx/+Xj4//l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/OXk5v/l5OZW5eTmAOXk5gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm5gDl5OYA5eTmAOXk5gTl5OYA5eTmXuXk5v/l5Ob85eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5OPl/+zr7v95cGr/KxsQ/zkrIf88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJf87LSP/PC4k/725
+ uf/19ff/6Ojx/97cvv/PyGH/ycA5/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+Mf/HvjL/x74y/8e+Mf/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjL/xbwl/9vYrP/n5vH/5ePj/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob85eTm/+Xk5lvl5OYA5eTmBAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTk5ADl5OYA4+flAOXk5gTl5OYA5eTmluXk
+ 5v/l5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Pi5P/u7vH/trGw/zIjGP8/MSj/PS8l/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PzEn/zEi
+ F/+DenX/8/P0/+Lh6v/b16v/xr0q/8W8Jf/Hvi7/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+Mv/FvCX/29is/+fm8f/l4+P/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmW+Xk5gDl5OYEAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk5wD/+eIA5eTmAebk
+ 5QDm5OYN5eTm1uXk5v/l5Ob95eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/4+Hj//Dv8v97cm3/MSIY/z8x
+ J/88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP89LyX/Nige/725t//t7fL/4d/Y/8nAPP/GvSv/yL80/8e+Mf/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74y/8W8Jf/b2Kz/5+bx/+Xj4//l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/OXk5v/l5OZW5eTmAOXk
+ 5gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk
+ 5gDl5OYA5eTmA+Xk5gDl5OZL5eTm/+Xk5v7l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/k4+X/6urs/2JX
+ UP80Jhv/PjAm/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PS8l/zssIv9BMyr/0c/O/+vr9v/b167/xrwo/8e/M//HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjL/xbwl/9vYrP/n5vH/5ePj/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob95eTm/+Xk
+ 5knl5OYA5eTmAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA5+bnAOXk5gDl5OYA5uTkAeTj7QHl5ObQ5eTm/+Xk5v3l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Tj
+ 5f/q6uz/Y1hR/zQlG/8+MCb/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LyX/Oywi/0EzKv/Rzs3/6+v1/9vYsf/GvCj/x78z/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+Mv/FvCX/29is/+fm8f/l4+P/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v3l5Ob/5eTmOeXk5gDl5OYDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA5eXlAOXk5gDl5OYC5eTmAOXk5rTl5Ob/5eTm/OXk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/4+Hj//Dw8v99dG//MSIX/z8xJ/88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP89LyX/Nicd/7u3tf/t7fH/4uDd/8rCRP/GvCf/yL81/8e+
+ Mf/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74y/8W8Jf/b2Kz/5+bx/+Xj
+ 4//l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob+5eTm/+Xk5vzl5OYn5eTmAOXk5gIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+TjAOXk5gTl5OYA5eTmmuXk5v/l5Ob75eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/j4uT/7u3w/7m1tP8zJBn/PzEn/z4wJv88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/z4xJ/8xIhf/f3Zx//Pz9P/i4en/3dq6/8i/
+ Nf/FuyP/xr0r/8e+Lv/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjL/xbwl/9vY
+ rP/n5vH/5ePj/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v7l5Ob/5eTm7eXk5hHl5OYA5eTmAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eTmBOXk5gDl5OZ05eTm/+Xk
+ 5vvl5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/k4uT/7ezv/392cf8rGxD/OCof/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP86LCL/uLOy//X2
+ 9//p6fL/4d/P/9PNdv/Lw0j/yMA3/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ Mv/FvCX/29is/+fm8f/l4+P/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/eXk5v/l5ObRk73YAOHi5QDl5OYBAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTk5ADl5OYD5eTmAOXk
+ 5k7l5Ob/5eTm/OXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Tj5f/m5ef/5+bp/5GKhv9QQzv/PzEn/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PS8l/zkr
+ If9AMyn/npiV/9XS0f/k4+n/5+bw/+bl7P/a1qP/xrwn/8e+Mv/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74y/8W8Jf/b2Kz/5+bx/+Xj4//l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob85eTm/+Xk5q3l5OYA5eTmA+Tj5gAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk
+ 5gLl5OYA5eTmJeXk5vvl5Ob/5eTm/uXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Tj5f/l5Ob/7u7w/+jn
+ 6f9mW1T/NCUa/z4wJv88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PS8l/zosIv80JRv/Oiwi/7Ktqv/u7ez/5eTw/9zZsP/FvCb/x74y/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjL/xbwl/9vYrP/n5vH/5ePj/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vvl5Ob/5eTmf+Xk5gDl5OYE5uXnAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA5uTmAefj5wDo4+gF5eTm2uXk5v/l5Ob95eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xj
+ 5f/h4OL/7u7w/2thWv8zJBn/PjAm/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PS8l/0EzKf8vIBX/p6Ge//Dw8f/k4+3/29is/8W8J//HvjL/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+Mv/FvCX/29is/+fm8f/l4+P/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/eXk5v/l5OZK5eTmAOXk
+ 5gPj4ucAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADl5OcA5eTmA+Xk5gDl5Oan5eTm/+Xk5vzl5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Pi5P/s6+7/al9Z/zMkGv8+MCb/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PjEn/zIjGP+po6H/8PDw/+Tk7v/c2K7/xrwo/8e/
+ M//HvjH/x74x/8e+Mf/HvjH/x74x/8e+Mf/HvjD/x74w/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74x/8e+Mf/HvjH/x74x/8e+Mf/HvjH/yL8z/8W8Jv/b2Kz/5+bx/+Xj4//l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v7l5Ob/5eTm8eXk
+ 5hnl5OYA5eTmAeXk5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXj5gDl5OYE5eTmAOXk5mbl5Ob/5eTm/OXk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/4+Lk/+zs7/9qYFn/MyQZ/z4wJv88LiT/PC4k/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP8+MSf/MSIX/6ijoP/w8PD/5OTv/9vX
+ qv/FuyL/x74v/8e9Lf/HvS3/x70t/8e9Lf/HvS3/x70u/8e+MP/HvjD/x74w/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvS7/x70t/8e9Lf/HvS3/x70t/8e9Lf/HvjD/xLsh/9vXqf/n5vL/5ePj/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/OXk
+ 5v/l5ObD5eTmAOXk5wHl5OYA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5+XlAOXk5gLl5OYA5eTmJuXk5vjl5Ob/5eTm/uXk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/j4uT/7Ozv/2pgWf8zJBn/PjAm/zwuJP88LiT/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/z4xJ/8xIhf/qKOg//Dw
+ 8f/k4+v/39zA/8nAO//JwDz/ycE8/8nAPP/JwDz/ycA7/8nBPP/JwDr/x74x/8e+MP/HvjD/x74w/8e+
+ MP/HvjD/x74w/8e+MP/HvjD/x74x/8nAOv/JwTz/ycA7/8nAPP/JwDz/ycE8/8nAPP/JwDr/39y//+bm
+ 7v/l5OT/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob75eTm/+Xk5nvl5OYA5eTmBObk5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzP8A5uTmAOTj5gHk4+YA5eTmwuXk
+ 5v/l5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Pi5P/s7O//a2BZ/zMkGv8+MCb/PC4k/zwu
+ JP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PC4k/zwuJP88LiT/PjEn/zEi
+ GP+po6H/8PDz/+Lh4//l5ej/4+Lb/+Lh1v/i4df/4uHW/+Lh1v/i4db/4+HZ/+Hfzv/JwT7/x70u/8e+
+ Mf/HvjD/x74w/8e+MP/HvjD/x74x/8e+Lv/JwTz/4d/N/+Ph2f/i4db/4uHW/+Lh1v/i4df/4uHW/+Pi
+ 2//l5Oj/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTmM+Xk5gDl5OYC5uXnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5OYA5eTmBOXk
+ 5gDl5OZy5eTm/+Xk5vvl5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5OLk/+zs7v9qX1j/NScc/0Ay
+ Kf8+MCb/PjAm/z4wJv8+MCb/PjAm/z4wJv8+MCb/PjAm/z4wJv8+MCb/PjAm/z4wJv8+MCb/PjAm/z4w
+ Jv9BMyn/MiQZ/6ehn//w8PP/4uHj/+Xk5f/l5en/5uXq/+bl6v/m5er/5uXq/+bl6v/l5Oj/5+fz/9HL
+ bv/EuyD/yL82/8e+Mf/HvjD/x74w/8e+Mf/Ivzb/xLsg/9HLbP/n5/P/5eTo/+bl6v/m5er/5uXq/+bl
+ 6v/m5er/5eXp/+Xk5f/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob95eTm/+Xk5s3m3t4A4P7/AOXk5gDk4+UAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObl
+ 5gDl5OYC5eTnAOXk5yHl5Obz5eTm/+Xk5v7l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/j4uT/7u7w/21j
+ XP8oGQ3/NSYb/zIkGf8yJBn/MiQZ/zIkGf8yJBn/MiQZ/zIkGf8yJBn/MiQZ/zIkGf8yJBn/MiQZ/zIk
+ Gf8yJBn/MiQZ/zQlG/8qGxD/raim//Dv8v/j4eP/5eTm/+Xk5f/l5OX/5eTl/+Xk5f/l5OX/5eTl/+Xk
+ 5P/m5en/4uHW/8vESv/EuyD/xr0s/8e+L//Hvi//xr0s/8S7IP/Lw0j/4uDV/+bl6v/l5OT/5eTl/+Xk
+ 5f/l5OX/5eTl/+Xk5f/l5OX/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vvl5Ob/5eTmeOXk5gDl5OYE5eTmAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA5OTlAObk5wDl5OYD5eTmAOXk5qjl5Ob/5eTm/OXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Tj
+ 5f/p6Or/zcrL/6iioP+rpqT/q6Wj/6ulo/+rpaP/q6Wj/6ulo/+rpaP/q6Wj/6ulo/+rpaP/q6Wj/6ul
+ o/+rpaP/q6Wj/6ulo/+rpqP/qqSi/6+qqP/f3t//5uXo/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5P/m5ez/4+Lc/9TPgP/KwkX/yL80/8i/NP/KwkX/1M9//+Pi2//m5ez/5eTk/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob+5eTm/+Xk5vXl5OYj5eTmAOXk5gLl5OcAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA5+XlAOXk5gPl5OYA5eTmQuXk5v/l5Ob+5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Tj5f/q6ev/8PDz//Dv8v/w8PL/8PDy//Dw8v/w8PL/8PDy//Dw8v/w8PL/8PDy//Dw
+ 8v/w8PL/8PDy//Dw8v/w8PL/8PDy//Dw8v/w8PL/7+/y/+bl6P/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5P/l5en/5+fy/+Tj4f/h387/4d/N/+Tj4f/n5/L/5eXp/+Xk
+ 5P/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmpeXk5gDl5OYD5eTmAObl
+ 5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5OcA5eTmAObk5gHm5OYA5eTmwOXk5v/l5Ob85eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Tj5f/i4eP/4+Hj/+Ph4//j4eP/4+Hj/+Ph4//j4eP/4+Hj/+Ph
+ 4//j4eP/4+Hj/+Ph4//j4eP/4+Hj/+Ph4//j4eP/4+Hj/+Ph4//j4uP/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5f/l4+P/5eTn/+bl7P/m5ez/5eTn/+Xj
+ 4//l5OX/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/uXk5v/l5OY+5eTmAOXk
+ 5gPl5OYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5OYA5eTmA+Xk5gDl5OZM5eTm/+Xk
+ 5v3l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5OX/5eTl/+Xk
+ 5f/l5OX/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vzl5Ob/5eTmtOXk
+ 5gDl5OYC5eTmAOXk5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk5gDn5eYA4+PlAeLj
+ 5QDl5Oa55eTm/+Xk5vzl5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/uXk
+ 5v/l5OY/5eTmAOXk5gPl5OcA4uLiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5ubmAOXk
+ 5gDl5OYC5eTmAOXk5jnl5Ob95eTm/uXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5vzl5Ob/5eTmquXk5gDl5OYC5eTnAOXk5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA5eTmANzi8QDl5OYD5eTmAOXk5pLl5Ob/5eTm++Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob+5eTm/+Xk5vXl5OYq5eTmAOXk5gLl5OYA5uTmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADr6usA5eTmAOXk5gHl5eYA5eXmEeXk5tvl5Ob/5eTm/eXk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5vvl5Ob/5eTmfuXk5gDl5OYD5+TlAOXk5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5OcA5eTnAOXk5gPl5OYA5eTmSOXk5v/l5Ob95eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob85eTm/+Xk5svl4+YG6ODkAOXk5gHl5OYA5ubmAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5OYA5eTlAOXk5gPl5OYA5eTmh+Xk
+ 5v/l5Ob75eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/uXk5v/l5Ob35eTmNOXk5gDl5OYC5eXmAOXk5wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj5QDm5OYA5eTmAebl
+ 5gHi4OcC5eTmueXk5v/l5Ob75eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob75eTm/+Xk5m7l5OYA5eTmBObj5gDl5OYA6OjoAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk
+ 5gDl5OYA5eTmAuXk5gDl5OYW5eTm2eXk5v/l5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm++Xk5v/l5Oaf5eTlAOXk5gPl5ecA5eTmAObm
+ 5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAOXk5gDl5OYA5eTmA+Xk5gDl5OYp5eTm6uXk5v/l5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vvl5Ob/5eTmxOTl5giU7fsA5eTmAePk
+ 5wDl5OYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA5OTmAOXk5gDl5OYA5eTmA+Xk5gDl5OY45eTm8OXk5v/l5Ob85eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob75eTm/+Xk5tbl5eYW5eXmAOXk
+ 5gLl5OYA5eTmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5uXmAOXk5gDl5OYA5eTmBOXk5gDl5OY75eTm8OXk
+ 5v/l5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm++Xk5v/l5Obf5eTmI+bk
+ 5gDl5OYD5eTmAOXk5gDl5ecAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eTmAOXk5gDl5OYA5eTmBOXk
+ 5gDl5OY05eTm5+Xk5v/l5Ob75eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vvl5Ob/5eTm3uXk
+ 5iTl5OYA5eTmA+Xk5gDl5OYA4+PoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eTmAOXl
+ 5wDl5ecA5eTmBOXk5gDl5OYi5eTm0+Xk5v/l5Ob75eTm/uXk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob75eTm/+Xk
+ 5tLl5OYf5eTmAOXk5gPl5OYA5eTmAOfl5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA5OPlAOXl5gDl5eYA5eTmA+fk5gDm5OYO5eTmr+Xk5v/l5Ob85eTm/eXk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob95eTm++Xk
+ 5v/l5Oa65uTmEObj5QDl5OYD5eTmAOXk5gDm5ucAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAA5uPmAOXk5gDl5OYA5eTmAuXk5wLi4+cA5eTmeOXk5vzl5Ob/5eTm++Xk
+ 5v7l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/OXk
+ 5v3l5Ob/5eTmjePm6QLm5OUB5eTmAuXk5gDl5OYA4eHjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eTlAOXk5gDl5OYA5eTmAeXk5gTl5OYA5eTmN+Xk
+ 5tTl5Ob/5eTm/OXk5vzl5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/eXk
+ 5vvl5Ob/5eTm6+Xk5lTl5OYA5eTmA+Xk5gLl5OYA5eTmAObj5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5eXlAOXk5gDl5OYA5eTmAeXk
+ 5gTm4+cA5ePmCOXk5oTl5Ob45eTm/+Xk5vzl5Ob85eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/eXk
+ 5vzl5Ob+5eTm/+Xk5rHm5OYb5eTmAOXk5gTl5OYB5eTmAOXk5gDf398AAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOXk
+ 5wDn5OQA5uTlAOXk5gPl5OYD5eTmAOXk5inl5Oa05eTm/+Xk5v/l5Ob95eTm/OXk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/eXk
+ 5vzl5Ob+5eTm/+Xk5uDl5OZU4+LlAOTj5gHl5OYD5eTmAOXk5gDl5OYAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAOLi6QDl5OYA5eTmAOXk5gHl5OYD5OLmAeTi5wDl5OZC5eTmw+Xk5v/l5Ob/5eTm/uXk
+ 5vvl5Ob95eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob+5eTm/OXk
+ 5vzl5Ob+5eTm/+Xk5uzl5OZ55uTmC+bk5gDl5OYD5eTmAuXk5gDl4+YA5uXmAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADl5ecA5OPlAOTj5QDl5OYC5eTmA/Hs4gD//9kA5eTmQuXk
+ 5rfl5Ob75eTm/+Xk5v/l5Ob95eTm++Xk5v3l5Ob+5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v7l5Ob85eTm++Xk
+ 5v/l5Ob+5eTm/+Xk5uPl5OZ65ePlE+Xk5gDl5OcC5eTmA+bk5gDm5OYA5eTmAP///wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MA5eTmAOXl5gDl5eUA5eTmA+Xk
+ 5gLk4+EA5OPjAOXk5ivl5OaL5eTm3+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob85eTm++Xk5vzl5Ob95eTm/uXk
+ 5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/uXk5v7l5Ob95eTm/OXk5vvl5Ob95eTm/+Xk
+ 5v/l5Ob/5eTm+eXk5r7l5OZa5eTmC+Xj5gDl5OYB5eTmA+Xk5gHm5OYA5uTmAOTk5AAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6ujqAOXk
+ 5gDm5eYA5uXmAOXk5gPl5OYC5ebnAOXl5gDl5eYI5eTmReXk5pLl5ObW5eTm/OXk5v/l5Ob/5eTm/+Xk
+ 5v/l5Ob/5eTm/+Xk5v3l5Ob85eTm/OXk5vzl5Ob85eTm/eXk5v7l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk
+ 5v/l5Obw5eTmu+Xk5nLl4+Yj5ersAObn6gDk5OYB5eTmBOXk5gHl5OYA5eTmAObk5gAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAOXk5wDl5OYA5eTnAOXk5wDl5OYC5eTmBOXl5wDl4eYA5eDnAOTh6QTl5OYq5eTmXuXk
+ 5pDl5Oa+5eTm3uXk5vPl5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5v/l5Ob/5eTm/+Xk5vvl5Obu5eTm0uXk
+ 5q7l5OZ+5eTmRubk5hXk5OYA5OTmAOTk5gDl5eYC5eTmBOXk5gHj4+UA5OPmAOfl5wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm4+YA5eTmAOXl5wDk5ugA5eTmAeXk5gPl5OYE5uPmAObj
+ 5gDk5OYA5+TmAOnm5gDl5eYF5eTmGuXk5i/l5OY+5eTmT+Xk5lXl5OZY5eTmVOXk5kjl5OY65eTmJ+Xk
+ 5hLo4eYC6ODnAObj5gDl5OcA5eTnAObk5gLl5OYE5eTmAuXi5QDk4+MA5OTlAOfj5wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAObm5gDk5OUA5uHoAODy
+ 3ADl4+cB5eTmAuXk5gTl5OYE5OTmAubi5QDm4uYA4ejmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADl5eQA5eXjAOXl4wDl5OYD5eTmBOXk5gPl5OYB5OTmAOfl6wDm5ecA5ePlAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAOTk5ADo5usA5OLkAP///wDm4+YA5eTmAeXk5gHl5OYC5eTmA+Xk5gPl5OYD5eTmA+Xk
+ 5gPl5OYD5eTmA+Xk5gLl5OYB5ePmAObk5wDi598A6OPoAOTk5gDm5uYAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAA/////////////////+AAAP///////oD////////gAAD///////6YB///////4AAA///////8
+ hEAf/////+AAAP///////IAVAX/////gAAD///////yAAIgH////4AAA///////5AAACoC///+AAAP//
+ ////+QAAABCAv//gAAD///////kAAAAAVAX/4AAA///////yAAAAAAIl/+AAAP//////8gAAAAAACv/g
+ AAD///////IAAAAAAAT/4AAA///////0AAAAAAAE/+AAAP//////5AAAAAAABf/gAAD//////+QAAAAA
+ AAn/4AAA///////IAAAAAAAJ/+AAAP//////yAAAAAAAEf/gAAD//////4gAAAAAABP/4AAA//////+Q
+ AAAAAAAT/+AAAP/////+UAAAAAAAJ//gAAD//////SAAAAAAACf/4AAA//////JAAAAAAAAn/+AAAP//
+ /wAAgAAAAAAAT//gAAD///IAcgAAAAAAAE//4AAA///ovIAAAAAAAABP/+AAAP//6gAAAAAAAAAAX//g
+ AAD//8QAAAAAAAAAAJ//4AAA///IAAAAAAAAAACf/+AAAP//yAAAAAAAAAAAn//gAAD//9AAAAAAAAAA
+ AJ//4AAA///QAAAAAAAAAACf/+AAAP//0AAAAAAAAAAAX//gAAD//5AAAAAAAAAAAF//4AAA//+QAAAA
+ AAAAAABP/+AAAP//sAAAAAAAAAAAT//gAAD//6AAAAAAAAAAAE//4AAA//+gAAAAAAAAAAAn/+AAAP//
+ oAAAAAAAAAAAJ//gAAD//6AAAAAAAAAAACP/4AAA//+gAAAAAAAAAAAT/+AAAP//oAAAAAAAAAAAE//g
+ AAD//6AAAAAAAAAAAAn/4AAA//8gAAAAAAAAAAAJ/+AAAP//oAAAAAAAAAAAAP/gAAD//yAAAAAAAAAA
+ AAT/4AAA//8gAAAAAAAAAAAEf+AAAP//QAAAAAAAAAAAAn/gAAD//kAAAAAAAAAAAAJ/4AAA//5AAAAA
+ AAAAAAABP+AAAP/+QAAAAAAAAAAAAT/gAAD//IAAAAAAAAAAAACf4AAA//qAAAAAAAAAAAAAn+AAAP/A
+ gAAAAAAAAAAAAI/gAAD9AgAAAAAAAAAAAABP4AAA9CgAAAAAAAAAAAAAT+AAAOmAAAAAAAAAAAAAACfg
+ AADQAAAAAAAAAAAAAAAn4AAAqAAAAAAAAAAAAAAAE+AAAJAAAAAAAAAAAAAAABPgAACgAAAAAAAAAAAA
+ AAAT4AAAoAAAAAAAAAAAAAAACeAAAKAAAAAAAAAAAAAAAAngAACgAAAAAAAAAAAAAAAJ4AAAoAAAAAAA
+ AAAAAAAABOAAAJAAAAAAAAAAAAAAAATgAACQAAAAAAAAAAAAAAAE4AAAiAAAAAAAAAAAAAAAAuAAAMgA
+ AAAAAAAAAAAAAAJgAADEAAAAAAAAAAAAAAACYAAA5AAAAAAAAAAAAAAAAWAAAOoAAAAAAAAAAAAAAAFg
+ AAD1AAAAAAAAAAAAAAABIAAA+IAAAAAAAAAAAAAAASAAAPqAAAAAAAAAAAAAAAEgAAD9QAAAAAAAAAAA
+ AAAAoAAA/qAAAAAAAAAAAAAAAKAAAP9QAAAAAAAAAAAAAACgAAD/SAAAAAAAAAAAAAAAoAAA/6gAAAAA
+ AAAAAAAAAKAAAP/UAAAAAAAAAAAAAACgAAD/6gAAAAAAAAAAAAAAoAAA//EAAAAAAAAAAAAAAKAAAP/1
+ AAAAAAAAAAAAAACgAAD/+oAAAAAAAAAAAAAAoAAA//wAAAAAAAAAAAAAAKAAAP/+QAAAAAAAAAAAAACg
+ AAD//kAAAAAAAAAAAAAAoAAA//9AAAAAAAAAAAAAAKAAAP//QAAAAAAAAAAAAAEgAAD//0AAAAAAAAAA
+ AAABIAAA//9AAAAAAAAAAAAAAWAAAP//IAAAAAAAAAAAAAFgAAD//yAAAAAAAAAAAAACYAAA//8gAAAA
+ AAAAAAAAAmAAAP//kAAAAAAAAAAAAAJgAAD//5AAAAAAAAAAAAAG4AAA//+QAAAAAAAAAAAABOAAAP//
+ yAAAAAAAAAAAAATgAAD//8gAAAAAAAAAAAAJ4AAA///EAAAAAAAAAAAACeAAAP//5AAAAAAAAAAAABHg
+ AAD//+IAAAAAAAAAAAAT4AAA///yAAAAAAAAAAAAI+AAAP//8QAAAAAAAAAAACfgAAD///kAAAAAAAAA
+ AABX4AAA///6gAAAAAAAAAAAT+AAAP///UAAAAAAAAAAAK/gAAD///4AAAAAAAAAAAFf4AAA///+oAAA
+ AAAAAAACP+AAAP///1AAAAAAAAAAAr/gAAD///+oAAAAAAAAAAV/4AAA////1AAAAAAAAAAK/+AAAP//
+ /+oAAAAAAAAAFf/gAAD////lAAAAAAAAACv/4AAA////+oAAAAAAAABX/+AAAP////0gAAAAAAAAL//g
+ AAD////+kAAAAAAAAl//4AAA/////0gAAAAAAAS//+AAAP////+SAAAAAAARf//gAAD/////6IAAAAAA
+ Jf//4AAA//////JAAAAAAIv//+AAAP/////9CAAAAAIv///gAAD//////0IAAAAQn///4AAA///////Q
+ QAAAov///+AAAP//////+hIACQv////gAAD///////8Bf6Bf////4AAA////////9AAD/////+AAAP//
+ ///////////////gAAA=
+
+
+
\ No newline at end of file
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/Program.cs b/Tongue extraction_cropresizemethod/Tongue extraction/Program.cs
new file mode 100644
index 0000000..c2f1ac0
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/Program.cs
@@ -0,0 +1,66 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using System.Text;
+
+namespace Tongue_extraction
+{
+ static class Program
+ {
+ [STAThread]
+ static void Main()
+ {
+ try
+ {
+ Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
+ Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
+ AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
+
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new Form1());
+ }
+ catch (Exception ex)
+ {
+ string str = GetExceptionMsg(ex, string.Empty);
+ MessageBox.Show(str, "System Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+
+ static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
+ {
+ string str = GetExceptionMsg(e.Exception, e.ToString());
+ MessageBox.Show(str, "System Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ //LogManager.WriteLog(str);
+ }
+
+ static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
+ {
+ string str = GetExceptionMsg(e.ExceptionObject as Exception, e.ToString());
+ MessageBox.Show(str, "System Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ //LogManager.WriteLog(str);
+ }
+
+ static string GetExceptionMsg(Exception ex, string backStr)
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.AppendLine("****************************Exception Text****************************");
+ sb.AppendLine("【Time】:" + DateTime.Now.ToString());
+ if (ex != null)
+ {
+ sb.AppendLine("【Exception Type】:" + ex.GetType().Name);
+ sb.AppendLine("【Exception Information】:" + ex.Message);
+ sb.AppendLine("【Stack Call】:" + ex.StackTrace);
+ }
+ else
+ {
+ sb.AppendLine("【Unhandled Exception】:" + backStr);
+ }
+ sb.AppendLine("***************************************************************");
+ return sb.ToString();
+ }
+ }
+}
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/Properties/AssemblyInfo.cs b/Tongue extraction_cropresizemethod/Tongue extraction/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..604a626
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// アセンブリに関する一般情報は以下の属性セットをとおして制御されます。
+// アセンブリに関連付けられている情報を変更するには、
+// これらの属性値を変更してください。
+[assembly: AssemblyTitle("Tongue extraction")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Tongue extraction")]
+[assembly: AssemblyCopyright("Copyright © 2018")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// ComVisible を false に設定すると、その型はこのアセンブリ内で COM コンポーネントから
+// 参照不可能になります。COM からこのアセンブリ内の型にアクセスする場合は、
+// その型の ComVisible 属性を true に設定してください。
+[assembly: ComVisible(false)]
+
+// このプロジェクトが COM に公開される場合、次の GUID が typelib の ID になります
+[assembly: Guid("d382f9e7-a41d-4d82-a59b-cf4095134d6b")]
+
+// アセンブリのバージョン情報は次の 4 つの値で構成されています:
+//
+// メジャー バージョン
+// マイナー バージョン
+// ビルド番号
+// Revision
+//
+// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を
+// 既定値にすることができます:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/Properties/Resources.Designer.cs b/Tongue extraction_cropresizemethod/Tongue extraction/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..ce5fbbb
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/Properties/Resources.Designer.cs
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+//
+// このコードはツールによって生成されました。
+// ランタイム バージョン:4.0.30319.42000
+//
+// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
+// コードが再生成されるときに損失したりします。
+//
+//------------------------------------------------------------------------------
+
+namespace Tongue_extraction.Properties {
+ using System;
+
+
+ ///
+ /// ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
+ ///
+ // このクラスは StronglyTypedResourceBuilder クラスが ResGen
+ // または Visual Studio のようなツールを使用して自動生成されました。
+ // メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に
+ // ResGen を実行し直すか、または VS プロジェクトをビルドし直します。
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Tongue_extraction.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// 厳密に型指定されたこのリソース クラスを使用して、すべての検索リソースに対し、
+ /// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/Properties/Resources.resx b/Tongue extraction_cropresizemethod/Tongue extraction/Properties/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/Properties/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/Properties/Settings.Designer.cs b/Tongue extraction_cropresizemethod/Tongue extraction/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..d8f3798
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+//
+// このコードはツールによって生成されました。
+// ランタイム バージョン:4.0.30319.42000
+//
+// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
+// コードが再生成されるときに損失したりします。
+//
+//------------------------------------------------------------------------------
+
+namespace Tongue_extraction.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/Properties/Settings.settings b/Tongue extraction_cropresizemethod/Tongue extraction/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/Tongue extraction_cropresizemethod/Tongue extraction/packages.config b/Tongue extraction_cropresizemethod/Tongue extraction/packages.config
new file mode 100644
index 0000000..6725092
--- /dev/null
+++ b/Tongue extraction_cropresizemethod/Tongue extraction/packages.config
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file