From c4cff98c75b97e8804d83a25bd085817af2b1283 Mon Sep 17 00:00:00 2001 From: Manuel Kamper Date: Fri, 27 Dec 2019 20:00:22 +0100 Subject: [PATCH] =?UTF-8?q?Projektdateien=20hinzuf=C3=BCgen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Mk0.Software.MD5Generator.sln | 25 ++ Mk0.Software.MD5Generator/App.config | 6 + Mk0.Software.MD5Generator/Main.Designer.cs | 88 ++++ Mk0.Software.MD5Generator/Main.cs | 42 ++ Mk0.Software.MD5Generator/Main.resx | 380 ++++++++++++++++++ .../Mk0.Software.MD5Generator.csproj | 83 ++++ Mk0.Software.MD5Generator/Program.cs | 22 + .../Properties/AssemblyInfo.cs | 36 ++ .../Properties/Resources.Designer.cs | 71 ++++ .../Properties/Resources.resx | 117 ++++++ .../Properties/Settings.Designer.cs | 30 ++ .../Properties/Settings.settings | 7 + 12 files changed, 907 insertions(+) create mode 100644 Mk0.Software.MD5Generator.sln create mode 100644 Mk0.Software.MD5Generator/App.config create mode 100644 Mk0.Software.MD5Generator/Main.Designer.cs create mode 100644 Mk0.Software.MD5Generator/Main.cs create mode 100644 Mk0.Software.MD5Generator/Main.resx create mode 100644 Mk0.Software.MD5Generator/Mk0.Software.MD5Generator.csproj create mode 100644 Mk0.Software.MD5Generator/Program.cs create mode 100644 Mk0.Software.MD5Generator/Properties/AssemblyInfo.cs create mode 100644 Mk0.Software.MD5Generator/Properties/Resources.Designer.cs create mode 100644 Mk0.Software.MD5Generator/Properties/Resources.resx create mode 100644 Mk0.Software.MD5Generator/Properties/Settings.Designer.cs create mode 100644 Mk0.Software.MD5Generator/Properties/Settings.settings diff --git a/Mk0.Software.MD5Generator.sln b/Mk0.Software.MD5Generator.sln new file mode 100644 index 0000000..f68e376 --- /dev/null +++ b/Mk0.Software.MD5Generator.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29613.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mk0.Software.MD5Generator", "Mk0.Software.MD5Generator\Mk0.Software.MD5Generator.csproj", "{309B3DB4-6BF0-4B17-91D5-EA28DADDF2EB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {309B3DB4-6BF0-4B17-91D5-EA28DADDF2EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {309B3DB4-6BF0-4B17-91D5-EA28DADDF2EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {309B3DB4-6BF0-4B17-91D5-EA28DADDF2EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {309B3DB4-6BF0-4B17-91D5-EA28DADDF2EB}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1F6C9A9F-BD62-4AF9-9F72-8B62AE2E90E3} + EndGlobalSection +EndGlobal diff --git a/Mk0.Software.MD5Generator/App.config b/Mk0.Software.MD5Generator/App.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/Mk0.Software.MD5Generator/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Mk0.Software.MD5Generator/Main.Designer.cs b/Mk0.Software.MD5Generator/Main.Designer.cs new file mode 100644 index 0000000..ed324d7 --- /dev/null +++ b/Mk0.Software.MD5Generator/Main.Designer.cs @@ -0,0 +1,88 @@ +namespace Mk0.Software.MD5Generator +{ + partial class Main + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Windows Form-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main)); + this.buttonSelectFile = new System.Windows.Forms.Button(); + this.textBoxMD5 = new System.Windows.Forms.TextBox(); + this.openFileDialog = new System.Windows.Forms.OpenFileDialog(); + this.SuspendLayout(); + // + // buttonSelectFile + // + this.buttonSelectFile.Location = new System.Drawing.Point(12, 12); + this.buttonSelectFile.Name = "buttonSelectFile"; + this.buttonSelectFile.Size = new System.Drawing.Size(142, 23); + this.buttonSelectFile.TabIndex = 1; + this.buttonSelectFile.Text = "Datei wählen..."; + this.buttonSelectFile.UseVisualStyleBackColor = true; + this.buttonSelectFile.Click += new System.EventHandler(this.ButtonSelectFile_Click); + // + // textBoxMD5 + // + this.textBoxMD5.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textBoxMD5.BackColor = System.Drawing.SystemColors.Window; + this.textBoxMD5.Location = new System.Drawing.Point(12, 41); + this.textBoxMD5.Multiline = true; + this.textBoxMD5.Name = "textBoxMD5"; + this.textBoxMD5.ReadOnly = true; + this.textBoxMD5.Size = new System.Drawing.Size(360, 108); + this.textBoxMD5.TabIndex = 2; + // + // Main + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(384, 161); + this.Controls.Add(this.textBoxMD5); + this.Controls.Add(this.buttonSelectFile); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MaximumSize = new System.Drawing.Size(400, 200); + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(400, 200); + this.Name = "Main"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "MD5 Generator v1.0 | © 2019-2020 by mk0.at"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button buttonSelectFile; + private System.Windows.Forms.TextBox textBoxMD5; + private System.Windows.Forms.OpenFileDialog openFileDialog; + } +} + diff --git a/Mk0.Software.MD5Generator/Main.cs b/Mk0.Software.MD5Generator/Main.cs new file mode 100644 index 0000000..19d3310 --- /dev/null +++ b/Mk0.Software.MD5Generator/Main.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Security.Cryptography; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Mk0.Software.MD5Generator +{ + public partial class Main : Form + { + public Main() + { + InitializeComponent(); + } + + private void ButtonSelectFile_Click(object sender, EventArgs e) + { + DialogResult res = openFileDialog.ShowDialog(); + if(res == DialogResult.OK) + { + GenerateMD5(openFileDialog.FileName); + } + } + + private void GenerateMD5(string filename) + { + using (var md5 = MD5.Create()) + { + using (var stream = File.OpenRead(filename)) + { + textBoxMD5.Text = BitConverter.ToString(md5.ComputeHash(stream)).Replace("-", string.Empty); + } + } + } + } +} diff --git a/Mk0.Software.MD5Generator/Main.resx b/Mk0.Software.MD5Generator/Main.resx new file mode 100644 index 0000000..8eb8031 --- /dev/null +++ b/Mk0.Software.MD5Generator/Main.resx @@ -0,0 +1,380 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAMAMDAAAAEAIACoJQAANgAAACAgAAABACAAqBAAAN4lAAAQEAAAAQAgAGgEAACGNgAAKAAAADAA + AABgAAAAAQAgAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAB8VABsTDQA5EAsAPxELAD4RCwA+EQsAPhEL + AD4RCwA+EQsAPhELAD4RCwA+EQsAPhELAD4QCwA+EQsAPhELAD4RCwA+EQsAPhELAD4RCwA+EQsAPhEL + AD4RCwA+EQsAPhELAD4RCwA+EQsAPhELAD4RCwA+EQsAPhELAD4RCwA+EQsAPhELAD4RCwA+EQsAPhEL + AD4RCwA+EQsAPhELAD4RCwA+EQsAPhELAD4RCwA+EQsAPhELAD8PCgA3AgIAFXROAJNpRgDcZkQA3GZE + ANxmRADcZkQA3GZEANxmRADcZkQA3GZEANxmRADcZkQA3GZEANxmRADcZkQA3GZEANxmRADcZkQA3GZE + ANxmRADcZkQA3GZEANxmRADcZkQA3GZEANxmRADcZkQA3GZEANxmRADcZkQA3GZEANxmRADcZkQA3GZE + ANxmRADcZkQA3GZEANxmRADcZkQA3GZEANxmRADcZkQA3GZEANxmRADcZkQA3GZEAN5XOgC+EQsAN4ZZ + ALOCVwD/gFUA/4BVAP+AVQD/gVUA/4BVAP+AVQD/gVUA/4BVAP+AVQD/gFUA/4FVAP+BVQD/gFUA/4FV + AP+BVQD/gVUA/4BVAP+AVQD/gFUA/4BVAP+AVQD/gFUA/4BVAP+AVQD/gFUA/4BVAP+AVQD/gFUA/4BV + AP+AVQD/gFUA/4BVAP+AVQD/gFUA/4BVAP+AVQD/f1UA/4BVAP+AVQD/gFUA/39VAP+AVQD/gFUA/4BV + AP9qRwDcFA0AP4ZZALODVwD/gVUA/4FWAP+BVgD/gVUA/4FVAP+BVQD/gVYA/4FWAP+BVgD/gVYA/4FW + AP+BVgD/gVYA/4FWAP+BVgD/glYA/4FVAP+AVQD/gVYA/4FWAP+BVgD/gVYA/4FWAP+BVQD/gVYA/4FW + AP+BVgD/gFUA/4BVAP+AVQD/gVUA/4BVAP+AVQD/gVUA/4FVAP+BVQD/gVUA/4BVAP+BVQD/gVUA/4BV + AP+AVQD/gVUA/4BVAP9rRwDcFA4APodZALOEWAD/glcA/4NXAP+CVwD/glcA/4NXAP+CVwD/glYA/4JX + AP+CVwD/glYA/4FVAP+BVgD/glYA/4JWAP+CVwD/g1cA/4JXAP+CVgD/gVYA/4FWAP+CVwD/glYA/4FW + AP+CVwD/glYA/4FVAP+BVgD/glcA/4JWAP+BVQD/gVUA/4JXAP+CVgD/gVUA/4JWAP+CVgD/gVYA/4FW + AP+CVgD/glcA/4JXAP+CVwD/glcA/4JXAP9rRwDcFA0APodZALOFWQD/g1gA/4NYAP+DWAH/g1gC/4RY + Af+JYA7/jGYY/4VbB/+FWwf/kWwi/5JuJf+RbSP/iF8M/41nGf+FWwb/g1cA/4NZAv+NZxn/kWwj/41n + Gv+FWwb/jmgc/5BrIf+HXgv/i2QV/5BrIf+MZRj/g1gB/4ddCv+RbCP/jWYZ/4NYAv+HXgv/kWwj/4xm + GP+EWgX/jmgc/45oG/+KYhL/hFoE/4NYAf+DWAH/g1gA/4NXAP9rSADcFA0APodZALOGWQD/g1gA/4RZ + Af+FWgT/iF8L/4heCv+Tbyb/ooVL/6KFS/+KYQ//sJlr/7CabP+hhEn/jWYX/6mQXP+UcSr/gVUA/5Rw + KP+slGP/pYpS/66WZ/+fgUT/qI5Z/6GESf+SbSP/qpFe/6aKU/+pkF3/lnQu/6aLVP+rk2H/rpdp/5d2 + Mf+njFb/q5Jh/6+Yaf+Wcy3/pYlR/6mOWv+SbiX/iF8M/4deCv+EWgP/g1gB/4NXAP9sSADcFA0APodZ + ALOGWQD/hFgA/4RZAf+FWQH/iWAN/4dcB/+EWQH/lXAp/62VZP+HXAj/lXEp/6uRX/+JXw7/glYA/5p6 + OP+njFb/hFgB/6KFSv+dfj//imES/62VZv+xm2//qpFf/6OHTv+jh03/rpZm/41mGf+YdjP/qY5a/66W + Z/+XdTD/qY9a/6CCRv+ulmf/l3Qu/6qRXf+bejj/jGQU/6KESf+KYRD/hlwH/4hfDP+DWAD/hFgA/4NY + AP9sSADcFA0APohaALOGWQD/hVgA/4VZAf+HWwX/iV4K/4VZAf+KYAz/qIxV/59/QP+EWAD/hFgB/6OF + Sv+hg0b/hFgA/4pgDf+tlWT/kGkc/5h1L/+qkFz/nHs6/6+XaP+ni1T/qY9b/6iMVv+rkV7/r5do/55+ + Pv+ni1T/nn4+/5+AQv+2oXj/s51x/41lFP+hgkX/tqJ5/7Kcb/+MYxL/g1YA/5NtI/+XdC3/h1wG/4lf + C/+FWgL/hVkA/4RYAP9tSQDcFA0APohbALOHWgD/hVkA/4ZaAf+HWwP/i2EM/4hcBf+KXwr/n38//6aJ + UP+KYAz/lG8l/5t5Nf+vl2b/i2EM/4phDP+ihEf/p4tT/4hdB/+YdC3/pIdM/7CYaf+OZhf/mng0/518 + Ov+PZxj/rpZl/6WIT/+aeDP/iV4J/6iOWP+milL/sZlr/5dzK/+pj1n/polQ/7GabP+Xcyr/lG4k/5Bp + Gv+beTX/iF0H/4daA/+GWgP/hloB/4VZAP9uSQDcFA0APohaALOIWgD/hloA/4ZaAf+HXAT/iV4H/4hd + Bf+WcSb/o4VI/5ZxKP+LYQz/polQ/62TYf+beTP/lXEn/6uRXv+ulWT/rpVj/4xjEP+FVwD/jGMQ/6aK + Uf+KYAv/hVgA/4VZAP+HXAX/polQ/49nF/+FWAD/hlkA/5h1Lv+tk2D/qY5Y/41kEf+Zdi//rZRh/6iN + Vv+OZhX/oIBA/6OFSP+UbiP/h1oB/4ZaAP+GWgD/hloA/4ZaAP9uSgDcFA4APohbALOIWwD/h1oA/4da + AP+HWgD/h1oA/4daAP+IXAL/iVwE/4daAP+HWgD/iFwD/4peBv+HWgH/iFwD/4pfCP+KXgf/iV4G/4db + Af+HWgD/h1sB/4pfCf+HWwL/h1oA/4daAP+HWgD/i18I/4hcA/+GWgD/hloA/4daAP+JXQb/iFwE/4da + AP+GWgH/iV4G/4hcBP+GWgD/h1sC/4ldBf+IWwH/h1oA/4daAP+HWgD/h1oA/4daAP9vSgDcFA4APolb + ALOJWwD/iFsA/4hbAP+IWwD/iFsA/4hbAP+IWgD/iFoA/4hbAP+IWgD/h1oA/4haAP+IWwD/iFoA/4ha + AP+IWgD/iFoA/4daAP+IWwD/iFoA/4daAP+IWgD/iFsA/4hbAP+IWgD/iFoA/4hbAP+HWgD/h1oA/4ha + AP+IWgD/h1oA/4daAP+HWgD/h1oA/4daAP+IWwD/iFsA/4hbAP+IWgD/iFoA/4hbAP+IWwD/iFoA/4hb + AP9wSwDcFA4APolbALOKXAD/iVsA/4lbAP+JXAH/iVwA/4pdA/+NYgv/j2QP/4teBf+NYgv/kmkX/4xh + Cf+LXgX/kWgW/49lEP+KXgT/kGcT/5BmE/+JXAL/jGEJ/5BnFP+QZxP/iVwC/4peBP+RaBX/jmQQ/4lb + Af+NYQr/kWgV/49lEf+MYAn/j2YS/5BmE/+OZA//i18H/49kEP+JXAH/iVsA/4lbAf+LXwf/i14F/4lb + AP+JWwD/iVsA/4lbAP9wSwDcFA4APolbALOKXAD/iVsA/4lcAP+LXgT/i14D/5NqGP+ZdCj/qYtQ/558 + Nv+skVv/qYxT/516Mv+mh0n/rJBZ/6SERP+WbyH/rJBY/7GYZ/+ffTj/oYE//6+VYv+rkFn/n305/5hz + KP+ulGD/sJdl/5p2Lf+qjlX/qo9W/7Kaav+jg0T/r5Vi/6yRW/+rkFn/kWkW/66UYP+QZxP/iFoA/5Jo + F/+bdy//k2oZ/4xfB/+JXAH/ilwB/4lcAP9wSwDcFA4APopcALOLXQD/il0A/4tdAf+MYAX/jmMK/5Np + Ff+MXwT/pYVF/6+UX/+niUv/ilwA/5RrGP+xmGb/kGUP/4teAv+MXwX/jWEI/6GAPf+ulF//pohK/6GA + Pf+Tahj/r5Zi/5FoFP+MYAf/pYZH/6yRWf+tklz/pohK/7Sdb/+jg0P/rpRf/6qOVf+skVr/i14D/6mN + Uv+hfzz/iVsA/558Nv+Zcyf/jmIL/45jDf+KXAD/il0A/4pcAP9wSwDcFA4APotdALOMXQD/i10A/4te + Af+MYAT/jWAG/5RrGP+SaBP/qIpM/6mLT/+uklv/mHEi/5lyJP+wlmH/nnox/5hwIf+MXwP/lW0d/7ag + c/+gfjj/poZH/6mMUP+ffDb/rZNc/5x3Lf+khEL/sZhl/6OCQP+XcSH/q49V/7agcv+UbBn/oX87/7Ob + av+pjFD/ilwA/5dxIv+wlmL/jmML/598Nf+hfzv/lGsY/45iCP+LXgH/i14B/4tdAP9xTADcFQ4APotc + ALOMXgD/i10A/4teAf+NYAT/i14B/49kDP+ZcSP/rI9W/5p0J/+eejL/p4lL/5pzJv+Xbx//podI/6KA + PP+PYwr/kmcR/62RWv+khEP/poZH/7KZZ/+mhkf/lGwZ/6ODQf+zm2r/oX86/49kDP+XcCD/podJ/515 + Mf+NYQf/oH45/6aHR/+Uaxj/i14C/45iCf+tkVn/n302/5NqFv+ffTb/j2UN/4pdAP+LXgL/i14B/4pd + AP9xTADcFQ4APotdALONXgD/jF0A/4xdAP+NYAP/jF4B/4tdAP+MXgL/o4I//5hwIP+KWwD/i14B/4td + AP+LXAD/i10B/4xcAP+TZxL/rI9V/7KZZv+bdCj/o4I//6B+OP+LXAD/ilwA/6B+OP+0nGz/rZFa/5lz + Jf+LXAD/jF4B/4tdAP+LXQD/i10B/4tdAf+LXAD/n3w1/6+TXv+0nG3/rZJb/41hB/+Uaxf/k2kU/4td + Af+LXgL/jF4B/4tdAP9yTADcFQ4APotdALONXgD/jF0A/4xdAP+MXgD/jF4A/4xeAP+MXQD/kGQL/49i + B/+MXQD/jF0A/4xdAP+MXQD/jF0A/4xeAP+NXgH/kWUM/5BlDP+MXgD/kGMK/5BkC/+MXQD/jF0A/45h + Bv+SZxD/kmcR/45hB/+MXQD/jF0A/4xdAP+MXQD/i10A/4tdAP+MXQD/j2MJ/5JnEf+SZhD/kGQM/4xe + Af+MXQD/jF4C/4tdAP+MXQD/jF0A/4xdAP9zTADcFQ4APotdALONXgD/jF0A/4xeAP+MXgD/jF4A/4xe + AP+MXgD/jF0A/4xdAP+MXQD/jF0A/4xeAP+MXgD/jF0A/4xdAP+MXQD/jF0A/4xdAP+MXQD/jF0A/4xd + AP+MXgD/jF4A/4xdAP+MXQD/jF0A/4xdAP+MXgD/jF0A/4xdAP+MXQD/jF0A/4xdAP+MXQD/jF0A/4xd + AP+LXQD/i10A/4xdAP+MXQD/jF0A/4xdAP+MXQD/jF0A/4tdAP9yTADcFQ4APoxeALOOXwD/jV4A/41e + AP+NXgD/jV4A/45eAP+OXgD/jV4A/41eAP+NXgD/jV4A/41eAP+NXgD/jV4A/41eAP+NXgD/jV4A/41e + AP+NXgD/jV4A/41eAP+NXgD/jV4A/45eAP+OXgD/jV4A/41eAP+NXgD/jV4A/41eAP+NXgD/jV4A/41e + AP+NXgD/jV4A/41eAP+NXgD/jV0A/41dAP+NXgD/jV4A/41eAP+NXQD/jV4A/41eAP9zTQDcFQ4APodb + ALOJWwD/iFoA/4hbAP+IWgD/iFoA/4haAP+IWgD/iFoA/4haAP+IWgD/iFoA/4haAP+IWgD/iFoA/4ha + AP+IWgD/iFoA/4haAP+IWgD/iFoA/4haAP+IWgD/iFoA/4haAP+IWwD/iFoA/4haAP+IWgD/iFoA/4ha + AP+IWgD/iFoA/4haAP+IWgD/iFoA/4haAP+IWgD/iFoA/4haAP+IWgD/iFoA/4haAP+HWgD/iFoA/4ha + AP9vSgDcFA0APnhQALN6UQD/eVAA/3lRAP96UQD/elEA/3lQAP95UAD/eVEA/3lQAP95UAD/eVEA/3lR + AP95UQD/eVEA/3lRAP96UQD/eVEA/3lRAP95UQD/eVEA/3lRAP95UAD/eVEA/3lRAP95UQD/eVEA/3lR + AP95UQD/eVEA/3lRAP95UQD/eVEA/3lQAP95UAD/eVAA/3lRAP95UQD/eVAA/3lQAP95UAD/eVAA/3lQ + AP95UAD/eVAA/3lQAP9jQgDcEgwAPnlRALN7UgD/elEA/3pRAP96UgD/elEA/3pRAP96UQD/eVAA/3dP + AP91TQD/dEwA/3ZPAP95UQD/elEA/3lRAP92TgD/dU0A/3dQAP94UAD/dU4A/3NMAP9zTAD/c0wA/3RN + AP92TwD/eFAA/3pRAP96UgD/elEA/3lRAP93UAD/dU0A/3JLAP9ySwD/dEwA/3dPAP95UQD/elEA/3pR + AP96UQD/elEA/3pRAP96UQD/elEA/3pRAP9kQgDcEgwAPnpSALN8UwD/fFMA/3xSAP98UgD/fFIA/3xS + AP99VAL/h2Mb/4ZkIv9+XyL/dlge/3BPDv91TgD/elEA/3VOAP93Vxf/e14l/3FMAv9zTQH/dFQS/25R + GP9qThf/ak4W/2lLEP9oRwT/bkkA/3ZPAP96UgD/e1IA/3ZPAP9tSQH/bEwO/29UIP9vVSL/ak0T/2tI + A/9zTQD/eVEA/3xSAP98UgD/fFMA/3xTAP98UwD/fFIA/3xSAP9lQwDcEgwAPnxTALN+VAD/fVMA/31T + AP9+UwD/fVMA/31TAP+CWgv/x72o/9nX0//X1dD/ycfD/5SIb/9uSwT/d08A/25KAv+ik3X/r6md/21Q + Fv9pRwP/pZh+/727t/+5t7P/uLay/6yooP+Ui3j/d2I6/2tJB/91TgD/eVEA/3VQBv+Sflj/sKug/7+9 + uv+/vrv/r6yl/4t+Zf9tTxP/c00A/3xTAP99UwD/fVMA/31TAP99UwD/fVMA/35TAP9mRADcEgwAPn5U + ALN/VQD/f1QA/39VAP9/VQD/f1UA/39UAP+DWwr/wLGU/87Huf/T0Mn/4ODh/7Gsof9uUBP/b0oA/3ZZ + H//Kxbz/zczM/3xrRv9eQAP/sqiT/+Tl5v/Sz8r/xsG3/83Kw//Z2tr/w8PC/4t+ZP9tTAn/dk4A/3VR + CP+5rpn/29rY/722p/+2rZv/09HM/9HS0/+UinT/bUsH/3pSAP9+VQD/flUA/35VAP9+VQD/f1UA/39V + AP9oRQDcEwwAPoBVALOBVgD/gFYA/4FWAP+BVgD/gVYA/4FWAP+BVwH/hFwK/3pVCv+Nd0z/3dzZ/8PB + vf9zWif/ZkMA/5SBW//i4uH/4ODh/6CYiP9cQg//sqiU/+Hi5P+Of2L/YkQJ/3FVHf+bi2v/29rX/8zM + y/+DcEv/cEoA/3VNAP+IazH/jXRC/2xMC/9lRQT/hnJK/9zb2P/Ew7//dlwo/3ZOAP+AVgD/gFYA/4BW + AP+AVgD/gVYA/4FWAP9qRgDcEw0APoJWALODVwD/g1cA/4NXAP+DVwD/g1cA/4NXAP+DVwD/glcA/3lQ + AP96XSL/1tLL/9XV1P+DcEv/ZEYM/721o//p6er/5uXl/8bFwf9xXTf/sqiU/+Lj5f+Me1r/a0YA/3VN + AP9pRwP/qZuB/+bm5/+tp5r/b04M/3pRAP97UgD/eVAA/3tSAP92TwD/bU4R/8nDt//b29z/hnFI/3RN + AP+CVwD/glcA/4NXAP+CVwD/glcA/4NXAP9rRwDcEw0APoRYALOGWQD/hVgA/4VYAP+GWAD/hlgA/4ZY + AP+GWAD/hlgA/4BUAP91Ug7/w7uq/+Hi4/+Thm7/e2U8/9/d2f/Szsb/vrWl/97e3v+Zjnn/uK+c/+Xm + 5/+Rf1v/c0sA/4JWAP93TgD/gmg2/+Hf3P/Mysf/eV4o/3lPAP9+UwD/fVMA/4BVAP97UQD/b04O/8fA + sv/j4+X/j3xW/3ZOAP+EWAD/hVgA/4ZYAP+FWAD/hVgA/4ZYAP9tSQDcFA0APoZZALOIWgD/h1kA/4da + AP+HWQD/iFoA/4daAP+HWQD/iFoA/4RYAP90TQH/saKH/+zt7v+uppf/rqKM/+rr6/+nm4P/g25G/+Lg + 3f/DwLr/ysS5/+fo6f+SgFz/dUwA/4VYAP9/VAD/d1YX/9jUy//b29r/g2w+/3JKAP+CYR//fmEn/25K + Av9qRQD/eF4r/9zZ0v/l5eX/jXZJ/3lQAP+GWQD/h1oA/4haAP+HWgD/h1oA/4haAP9uSgDcFA4APoha + ALOKWwD/iVsA/4lbAP+JWwD/ilsA/4lbAP+JWwD/iVsA/4daAP95TwD/mYRa/+vr6f/U09D/2dfT/+Lg + 3v+Gb0T/bU4T/8/Iu//m5ub/4uHf/+np6v+Ugl3/dk0A/4daAP+CVQD/dVMQ/9jTyP/j4+P/inRI/2tF + AP+0pYj/xcK9/5SIcP+Of2H/vreq//Dw8v/X0sj/f18f/4BVAP+JWwD/iVsA/4lbAP+JWwD/iVsA/4lb + AP9wSwDcFA4APopcALOMXQD/i10A/4tdAP+LXQD/i10A/4tdAP+LXQD/i10A/4pcAP9/VAD/iW01/+bk + 3//y8vP/8vLz/8vEt/94Vhb/cEoA/62dff/z8/P/8/Pz/+vs7f+WhF7/eE8A/4lbAP+AVQD/fV4h/+Hd + 1v/k4+L/iG8//2pFAP+/s5r/9PX3/+bm5f/n5+f/7ezr/93Yzv+agVH/fFIA/4haAP+LXQD/i10A/4tc + AP+LXQD/i1wA/4tcAP9yTADcFQ4APoxdALOOXwD/jV4A/41eAP+NXgD/jV4A/41eAP+NXgD/jV4A/41e + AP+GWQD/f10Y/9fQw//5+fr/8/Pz/6ubfP94UAH/fFIA/45zPP/r6eT/+Pj4/+/v8P+XhGD/dk0A/4NX + AP90TAD/loBV//Py8f/c2NH/fV8h/25IAP/BtZz/8/T1/6yfhf+VgVj/lX5P/4FhIf97UgH/h1oA/4xd + AP+NXgD/jV4A/41eAP+MXgD/jV4A/41eAP9zTQDcFQ4APo1fALOPYAD/jl8A/49fAP+PXwD/jl8A/45f + AP+PXwD/j18A/49fAP+KXAD/e1MG/8W5ov/7/P3/5ePe/4twOv+AVQD/hlkA/3xYEP/Qx7X/+/z9//Hx + 8v+Ug2L/aEUA/3JPCv+Eazr/083C//r7/f+7rZH/eFIE/3NMAP/Dt53/7/Dx/4p4VP9dPQD/aUYA/3FM + Af99VAP/h1oA/4xeAP+OXwD/jl8A/45fAP+OXwD/j18A/45fAP91TgDcFQ4APo9fALORYAD/kGAA/5Fg + AP+QYAD/kGAA/5BgAP+QYAD/kGAA/5BgAP+OXgD/flQA/6yYcv/7/P3/zMOz/35ZEP+JWgD/jV4A/35T + AP+smHH/+/v7//X19v/Au7D/p52J/7mxov/f3tr/+fr7/9XNu/+GZSL/gVYA/3lQAP/GuZ//9fb3/7u2 + qv+mnIj/qZ6J/6yhi/+gjmn/hFoI/41dAP+QYAD/kGAA/5BgAP+QYAD/kF8A/5BgAP92TgDcFg4APpFg + ALOTYQD/kmEA/5JhAP+SYQD/kmEA/5JhAP+SYQD/kmEA/5JhAP+RYAD/hVcA/5t+Rf/r6N//rJdt/4FV + AP+PXgD/kWAA/4hZAP+JZiL/2tHB//Ty7//z8vD/8vHw//Hw7f/n4tj/vq2O/4ZkIP+EVwD/jV0A/4BV + AP/Ds5P/8/Hu/+3r5//r6ub/6+rm/+3r6f/LwKv/hl0M/45eAP+SYQD/kmEA/5JhAP+SYQD/kmAA/5Jh + AP94TwDcFg4APpJhALOUYgD/k2IA/5NiAP+TYgD/k2IA/5NiAP+TYgD/k2IA/5NiAP+TYQD/jl4A/4pg + DP+XdDD/i2MS/4xcAP+SYQD/k2IA/49fAP+HWgH/jWki/5V4Pf+YfUf/mX1H/5R2PP+GYx3/gFUE/4hZ + AP+QYAD/kWEA/4tcAP+RbCL/k3Q3/5ByNv+Qcjb/kHI2/5N0N/+Tbyr/il0D/5FgAP+TYgD/k2EA/5Ni + AP+TYgD/k2EA/5NhAP94UADcFg4APpJhALOUYwD/k2IA/5RiAP+UYgD/lGIA/5RiAP+UYgD/k2IA/5Ri + AP+UYgD/kmEA/49fAP+MXQD/jl8A/5JhAP+TYgD/k2IA/5NiAP+RYAD/jFwA/4dZAP+FVwD/hlgA/4dZ + AP+LXAD/j18A/5JhAP+TYgD/k2IA/5JhAP+NXQD/iFoA/4dZAP+HWQD/h1kA/4haAP+MXAD/kGAA/5Ni + AP+UYgD/k2IA/5NiAP+TYgD/k2IA/5NiAP95UADcFg4APpJjALOVZAD/lGMA/5RjAP+UYwD/lGMA/5Rj + AP+UYwD/lGQA/5RjAP+UYwD/lGMA/5RjAP+UZAD/lGMA/5RkAP+UZAD/lGMA/5RjAP+UYwD/k2MA/5Nj + AP+TYgD/k2MA/5NjAP+UYwD/lGMA/5RjAP+UYwD/lGMA/5RjAP+TYwD/k2MA/5NjAP+TYwD/k2MA/5Rj + AP+UYwD/lGMA/5RjAP+UYwD/lGMA/5RkAP+UYwD/lGMA/5RjAP95UQDcFg8APpJiALOVZAD/lGMA/5Rj + AP+UZAD/lGQA/5RkAP+UZAD/lGQA/5RkAP+UZAD/lGQA/5RkAP+VZAD/lGQA/5RkAP+UZAD/lWQA/5Rk + AP+UYwD/lGMA/5RjAP+UYwD/lGMA/5RkAP+UZAD/lGMA/5RkAP+UYwD/lGMA/5RjAP+UYwD/lGMA/5Rj + AP+UYwD/lGQA/5RkAP+UZAD/lGQA/5RkAP+UZAD/lGQA/5RkAP+UYwD/lGQA/5RkAP95UQDcFg8APpJj + ALOVZAD/lGQA/5RkAP+UYwD/lWQA/5VkAP+VZAD/lGQA/5VkAP+UZAD/lGQA/5VkAP+UZAD/lGQA/5Rk + AP+VZAD/lGQA/5RjAP+UYwD/lGQA/5RkAP+UZAD/lGQA/5RkAP+UZAD/lGQA/5RkAP+UZAD/lGQA/5Rk + AP+UZAD/lGQA/5RkAP+UZAD/lGQA/5RkAP+UYwD/lGQA/5RkAP+UZAD/lGQA/5RjAP+UYwD/lGQA/5Rj + AP95UQDcFg8APpJjALOVZAD/lGQA/5RkAP+UZAD/lGQA/5RkAP+UZAD/lWQA/5VkAP+UZAD/lGQA/5Rk + AP+UZAD/lGQA/5RkAP+UZAD/lGQA/5RjAP+UYwD/lGMA/5RjAP+UZAD/lGQA/5RkAP+UZAD/lGQA/5Rj + AP+UZAD/lGQA/5RjAP+UZAD/lGQA/5RkAP+UZAD/lGMA/5RjAP+UYwD/lGQA/5RkAP+UZAD/lGMA/5Rk + AP+UZAD/lGQA/5RjAP95UQDcFg8APpNjALOVZAD/lWQA/5VkAP+VZAD/lWQA/5VkAP+VZAD/lmQA/5Vk + AP+VZAD/lWQA/5VkAP+VZAD/lWQA/5VkAP+VZAD/lWQA/5VkAP+VZAD/lGQA/5RjAP+UZAD/lWQA/5Vk + AP+VZAD/lWQA/5VkAP+VZAD/lWQA/5VkAP+VZAD/lGQA/5RjAP+UZAD/lGMA/5VkAP+VZAD/lWQA/5Vk + AP+VZAD/lGMA/5RjAP+VZAD/lWQA/5RjAP96UQDcFg8APpRjALOWZAD/lmQA/5VkAP+VZAD/lmQA/5Zk + AP+VZAD/lWQA/5VkAP+VZAD/lWQA/5ZkAP+WZAD/lWQA/5VkAP+VZAD/lmQA/5ZkAP+VZAD/lWQA/5Vk + AP+VZAD/lmQA/5VkAP+VYwD/lWQA/5VkAP+WZAD/lWQA/5VkAP+VZAD/lWQA/5VkAP+VZAD/lWQA/5Vk + AP+VZAD/lWQA/5ZkAP+VZAD/lWQA/5VkAP+VZAD/lWQA/5VkAP96UQDcFg8AP5VkArKXZQL/lmUC/5Zl + Av+WZQL/lmUC/5ZlAv+WZQL/lmUC/5ZlAv+WZQL/lmUC/5ZlAv+XZQL/lmUC/5ZlAv+WZQL/lmUC/5Zl + Av+WZQL/lmUC/5ZlAv+WZQL/lmUC/5ZlAv+WZQL/lmUC/5ZlAv+WZQL/lmUC/5ZlAv+WZQL/lmUC/5Zl + Av+WZQL/lmUC/5ZlAv+WZQL/lmUC/5ZlAv+WZAL/lmUC/5ZlAv+WZQL/lmUC/5dlAv+AVgHZGxIAN5xw + F3abbxewmm4Xr5puF6+abhevmm4Xr5puF6+abhevmm4Xr5puF6+abhevmm4Xr5puF6+abhevmm4Xr5pu + F6+abhevmm4Xr5puF6+abhevmm4Xr5puF6+abhevmm4Xr5puF6+abhevmm4Xr5puF6+abhevmm4Xr5pu + F6+abhevmW4Xr5luF6+Zbhevmm4Xr5puF6+abxevmm4Xr5puF6+abhevmm4Xr5puF6+abhevmm4Xr5pu + F7GQaBaPMSMIGf///////wAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAA + AAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAB + AAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAA + AAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAB + AAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAA + AAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAB + AAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAACAAAAAAAEAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAA + AAAAAAAAAAAAAAAAAABTOABWRi8AdkYuAHdGLgB2Ri4AdkYuAHZGLgB2Ri4AdkYuAHZGLgB2Ri4AdkYu + AHZGLgB2Ri4AdkYuAHZGLgB2Ri4AdkYuAHZGLgB2Ri4AdkYuAHZGLgB2Ri4AdkYuAHZGLgB2Ri4AdkYu + AHZGLgB2Ri4AdkYuAHdELQB0KRsAOn9VAMt6UQD9elEA+3pRAPt6UQD7elEA+3pRAPt6UQD7elEA+3pR + APt6UQD7elEA+3pRAPt5UQD7eVEA+3lRAPt5UQD7eVEA+3pRAPt5UQD7eVEA+3lRAPt5UQD7eVEA+3lR + APt5UQD7eVEA+3lRAPt5UQD7eVEA+3RNAPZHMAB0hlkA0IJWAP+CVgD/glYA/4JWAP+BVgD/glYA/4FV + AP+BVQD/gVYA/4JWAP+CVgD/gVYA/4FVAP+BVgD/gVUA/4FVAP+BVgD/gVUA/4FWAP+BVQD/gVUA/4FW + AP+BVQD/gVUA/4FVAP+BVQD/gVYA/4FWAP+CVgD/fFIA+0syAHeGWQDQg1gA/4NYAP+DWAH/hVoE/4pi + Ef+FWwb/i2QU/49pHv+JYRD/iWAP/4NXAP+GXAj/jmcb/4lhEP+KYhH/i2MU/4lgD/+NZhn/hlwI/4lh + EP+MZRj/hVoG/4xlF/+JYRD/iWER/4tjFP+FWwb/g1gB/4NYAP99UwD7SzIAdoZZANCEWAD/hFkB/4dd + CP+JYA3/mXcz/5p5N/+cfTz/potV/49oG/+ggkb/iWAO/5x8O/+fgUT/p41X/6aLVf+dfj7/oYRJ/5+A + Q/+fgUT/pYlR/6WKU/+ggkX/popT/6SIT/+aeTf/nn9B/4lgDv+GXAf/hFgB/31UAPtLMgB2h1oA0IVZ + AP+FWQL/iF0I/4ZaA/+ZdzP/mnk2/4heCv+hg0b/iWAN/5d0L/+YdTD/nX4+/518PP+qkV7/qpFd/6iO + Wf+qkV3/nHw7/6KESf+ni1T/q5Jf/5t6N/+rkl//popS/4lfC/+VcSn/imIQ/4dcB/+FWQD/flQA+0wy + AHaIWgDQhlkA/4ZaAv+JXgj/iV8J/518Ov+ZdjD/lXAm/6aKUv+Xcyv/mng0/6mOV/+OZhb/m3o3/6KE + R/+Rah3/kmwg/6GCRf+dfDr/jWUT/6WITv+tk2H/mncx/6ySX/+milL/lXAm/5l2Mf+NZBP/hloB/4Za + Af+AVQD7TDMAdohbANCHWgD/h1oB/4dbAv+JXQX/kGcW/4pfCP+PZhT/kmsd/41jD/+VcCX/lG8j/4ld + Bv+IXAX/j2YV/4ZZAP+GWQD/jmUU/4leCP+GWQD/jmUT/5NsHv+JXgf/kmsc/49mFf+NYw//kGgX/4hc + A/+HWgD/h1oA/4FWAPtNMwB2iVsA0IlbAP+IWwD/iFsA/4lbAP+IWwD/iFoA/4lcAf+IWgD/iVwB/4hb + AP+IWwH/iFsB/4hbAP+JXAL/iFsB/4lbAf+IWwL/iFoA/4lcAv+IWwH/iFoB/4hcAf+IWgD/iFsA/4ha + AP+IWgD/iFsB/4hbAP+IWwD/glcA+040AHaKXADQiVsA/4pcAf+LXgP/kWcT/5x4MP+deTP/oX89/5l0 + Kf+hgD7/mHMn/5x5Mf+igUD/mnUs/6OERf+bdy//mXMo/6OERP+adSz/o4RF/6KDQv+igUD/pIVH/5dx + JP+ceTH/ilwC/5FoFv+RaRf/il4E/4pcAf+DVwD7TjQAdotdANCLXQD/i14C/45iCf+RZhD/nnsz/6+U + X/+XcCD/n3w2/6B9N/+OYgr/kmgT/6qNU/+niEr/oH04/6aISv+XcCL/o4NC/6iLT/+qjlX/rZJc/6aI + Sf+wl2T/lm8g/6WFRv+Taxj/nXoy/5RrGf+NYQj/il0A/4RYAPtONAB2i10A0ItdAP+MXgL/jV8E/5Jn + Ev+jgj//on87/6KAPP+bdSn/ooE9/5lyJf+VbBn/rZFZ/6SDQf+rjlX/nnoz/6eIS/+qjlP/lm4e/6KA + PP+deTH/mXQn/6WFRf+QZQ3/nHgv/6OCQP+adCj/lm8e/4tfAv+LXgH/hFkA+041AHaMXQDQjF0A/4xe + Af+MXgH/jF0A/5hwIP+SaBL/jF8D/4xeAf+NXwP/jWAE/5x3LP+ifzr/mnQm/5hwIP+LXQD/n3s0/6WE + Q/+SaBP/jV8D/4tdAf+MXwP/jF4C/5VsGv+lhET/pIRD/5BkDP+RZg7/i14B/4xeAf+FWQD7TzUAdoxe + ANCMXgD/jF4A/4xeAP+MXgD/jF4B/4xeAf+MXQD/jF4A/4xdAP+MXQD/jF4B/4xdAP+MXQD/jF4B/4xe + AP+MXgD/jV4B/4xeAP+MXQD/jF0A/4xdAP+MXQD/jF4B/4xeAf+MXgD/jF0A/4xdAP+MXQD/jF0A/4VZ + APtPNQB2jF4A0IxdAP+MXQD/jF0A/4xdAP+MXQD/jF0A/4xdAP+MXQD/jF0A/4xdAP+MXQD/jF0A/4xd + AP+MXQD/jF0A/4xeAP+MXQD/jF0A/4xdAP+MXQD/jF0A/4xdAP+MXQD/jF0A/4xdAP+MXQD/jF0A/4xd + AP+MXQD/hVkA+081AHZ+VADQflQA/35UAP9+UwD/flMA/35TAP9+UwD/flMA/35UAP9+VAD/flQA/35T + AP9+UwD/flMA/35TAP9+UwD/flQA/35UAP9+VAD/fVMA/35UAP9+VAD/fVMA/31TAP9+UwD/flMA/31T + AP99UwD/fVMA/35TAP94UAD7RzAAdnpRANB7UgD/elEA/3pRAP96UQD/e1IB/3dQAv9yTAL/dE4A/3lR + AP93TwH/dU8F/3ZPAP90TQH/bkoB/21JAP9vSgD/c0wA/3lRAP96UQD/d08A/3BKAP9uSgP/bkoC/3NM + AP95UQD/elIA/3pRAP96UQD/elIA/3VOAPtFLgB2fFMA0H1TAP99UwD/fVMA/3xSAP+ki1r/wbag/7Ko + k/+Cazv/dEwA/3tbG/+cjXD/b08Q/4hxQP+kmof/opiF/5aJcP98ZTj/cU0G/3hQAP97WRX/mIhp/6ef + jv+elID/fmc6/3NNA/98UwD/fVMA/31TAP99UwD/d08A+0cvAHZ/VQDQf1UA/39VAP+AVQD/f1QA/6CE + TP+3qo7/1tTR/6KWf/9qRgD/l4Rc/9LR0P96Zj7/mIho/9jX1v+roYv/ta2b/8jGwv+RgmT/cUwC/4Rk + Jv+8sp//opR2/7Oql//Ewr7/fmQy/3pRAP9/VQD/f1UA/4BVAP96UQD7STAAdoJXANCCVwD/glcA/4NX + AP+CVwD/gVYA/3ZQBv+8sp//urSo/2xQGf/At6b/5ufo/6OaiP+bjXL/yMS9/25PE/9wTAX/ppd4/87M + yf99Yiz/eFAA/31XDP9zTAD/dlcc/8/MxP+cjW7/eE8A/4JXAP+CVwD/glcA/3xTAPtKMQB2hlgA0IZZ + AP+GWAD/hlgA/4ZYAP+GWQD/e1EA/6mYdv/OzMf/j35e/9bTzP+4r5z/ysbA/7WsnP/Mx7//elcT/35S + AP+CYyj/2NbR/5aDXv94TwD/fFQE/3hPAP92VBX/0s3E/6qcgf96UQD/hlkA/4ZZAP+GWQD/gFUA+0wz + AHaIWgDQiVsA/4laAP+JWwD/iVsA/4lbAP+BVAD/ln1M/9/d2v/OysP/ysO2/3xjMv/SzcP/3t3a/8/K + wv98WRT/hFcA/35bFv/Y1Mv/o5N0/31cG/+uoYj/i3hR/6OVef/m5eT/nodc/4BUAP+JWwD/iFoA/4lb + AP+CVwD7TTQAdotdANCMXQD/jF0A/4xdAP+MXQD/jF0A/4haAP+JaCf/4+DZ//Lz9f+tnHv/c00C/7uu + kv/3+Pn/08/G/35bFP+DVQD/hWUn/+Pg2/+gjmj/gmQo/+bk4P/SzsX/0Mq8/7SigP+DXRD/iVsA/4xd + AP+LXQD/jF0A/4VZAPtPNQB2jl8A0I5fAP+OXwD/jl8A/45fAP+OXwD/jV4A/4NcDv/Vzb3/7Ovo/5Bz + Ov9/UwD/m4FM//X08//X08v/d1ga/3lXEf+yo4X/6efi/41vNP+HaCn/4t/a/4t4Uf9xUhT/d1II/4RY + Af+NXgD/jl8A/45fAP+OXwD/iFoA+1E2AHaRYADQkWAA/5FgAP+RYAD/kWAA/5FgAP+RYAD/hVgB/8Kz + lf/Uy7v/hV0O/4xcAP+IYRb/3NXG/+3t7f/DvLD/0MzC/+fj3f+umW7/gVYB/5BvLP/q6OP/ycS6/721 + pf+9s6D/kW8s/41dAP+RYAD/kGAA/5FgAP+KXAD7UjcAdpNhANCTYgD/k2IA/5NiAP+TYgD/k2EA/5Nh + AP+NXQD/m3g0/59+P/+LXAD/kmEA/4tcAP+bezz/tKB3/7ekfv+wmm7/lnU1/4dbBP+OXgD/j2UT/66W + Zf+vmm//r5pw/6+Ya/+Sax3/kF8A/5NhAP+SYQD/k2EA/4xdAPtTNwB2k2IA0JRjAP+UYgD/lGMA/5Rj + AP+UYwD/lGMA/5NiAP+PXwD/j18A/5NiAP+UYwD/k2IA/45eAP+JWgD/iFoA/4pbAP+OXgD/k2IA/5Ni + AP+RYAD/i1wA/4laAP+JWgD/i1sA/5BgAP+TYgD/lGMA/5NjAP+UYwD/jV4A+1Q4AHaTYwDQlGQA/5Rj + AP+UZAD/lGQA/5RkAP+UZAD/lGQA/5VkAP+VZAD/lGQA/5RkAP+UZAD/lGMA/5RjAP+UZAD/lGQA/5Rk + AP+UYwD/lGMA/5RjAP+UYwD/lGMA/5RkAP+UZAD/lGQA/5RkAP+UZAD/lGQA/5RkAP+NXwD7VDgAdpNj + ANCUZAD/lGQA/5RkAP+UZAD/lWQA/5RkAP+UZAD/lGQA/5RkAP+UZAD/lGQA/5RjAP+UYwD/lGQA/5Rk + AP+UZAD/lGQA/5RkAP+UZAD/lGQA/5RkAP+UZAD/lGQA/5RjAP+UYwD/lGQA/5RkAP+UZAD/lGQA/41f + APtUOAB2lGQA0JVkAP+VZAD/lWQA/5VkAP+VZAD/lWQA/5VkAP+VZAD/lWQA/5VkAP+VZAD/lWQA/5Rj + AP+UYwD/lGQA/5VkAP+VZAD/lGQA/5RkAP+UZAD/lGQA/5RkAP+UZAD/lGMA/5RkAP+VZAD/lGMA/5Rk + AP+VZAD/jl8A+1Q4AHeVZADQlmQA/5VkAP+WZAD/lmQA/5VkAP+WZAD/lmQA/5ZkAP+WZAD/lmQA/5Zk + AP+WZAD/lWQA/5VkAP+WZAD/lWQA/5VkAP+VZAD/lWQA/5VkAP+VZAD/lWQA/5VkAP+VZAD/lmQA/5Zk + AP+VZAD/lWQA/5ZkAP+PXwD6VjoAdZlqDaaYag3PmGoNzphqDc6Yag3OmGoNzphqDc6Yag3OmGoNzphq + Dc6Yag3OmGoNzphqDc6Yag3OmGoNzphqDc6Yag3OmGoNzphqDc6Yag3OmGoNzphqDc6Yag3OmGoNzphq + Dc6Yag3OmGkNzphqDc6YaQ3OmGoNzpVnDclrSwlT/////wAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAA + AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAA + AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEoAAAAEAAAACAAAAABACAAAAAAAAAE + AAAAAAAAAAAAAAAAAAAAAAAAcEsAr21IAMJtSADBbUgAwW1IAMFtSADBbUgAwWxIAMFsSADBbEgAwWxI + AMFsSADBbEgAwWxIAMFtSADDXj8Ak4NXAOqCVwH/hVsH/4deDP+IXw7/hVoG/4ZdC/+IXw7/h14M/4de + DP+HXg3/h14N/4deDf+FXAj/glcB/3BLAMGFWQDqhVoD/5BqHf+YdTD/mHUw/5VxKv+bezr/pIhP/6GE + SP+ef0H/o4dN/6OGS/+cfDr/kGoe/4VaA/9xTADBh1oA6odbAv+PZhT/kmse/5VvJP+Xcin/kWoc/5Jr + Hv+SbB7/kWka/5l1Lv+ZdS//lXEm/45lE/+GWgH/dE0AwYlbAOqJXAL/j2UR/5RsHP+Taxr/kWkX/5Rs + Hf+Taxv/kmoZ/5VuIP+WcCT/lG0e/45jDv+NYQr/iVwC/3ZPAMGLXQDqjF8E/5lzJf+hfzr/nXgu/5hx + I/+mh0j/ooE+/6OCQP+igj//o4I//598Nv+deTH/l3Ag/4xfBP93UADBjF4A6oxeAP+QYwr/kGMK/45g + Bf+SZg7/lm0a/5JmDv+WbRv/kGMK/41gBP+QYwr/l24d/5BjCv+MXgH/eFAAwYVYAOqFWAD/hFcA/4JV + AP+EVwD/g1cA/4NWAP+CVQD/g1YA/4RYAP+DVwD/glUA/4NWAP+EWAD/hFgA/3JMAMF7UgDqe1EA/4di + Gv+Xfk3/e1kV/4BgIf99XiH/jHRG/4NoMv93UQb/gmMk/4t0Rv98Whj/elEA/3tSAP9qRwDBgVYA6oFV + AP+JYhX/r59//5WCXv+zqJP/opd//6mcgv+fj27/lH9U/4hpK/+Xglj/opN0/31VA/+BVgD/b0oAwYda + AOqHWgD/hVcA/5R1O//DvK//tquV/8jCuP+ijWb/h2Mg/6+hhf+Jai7/l39Q/7SliP+EWgb/h1oA/3RN + AMGNXgDqjV4A/4xdAP+QaRz/19DD/5Z6Qv/Kv6f/saB+/5l9R/+zooH/r599/7GljP+UdTb/ilwA/41e + AP95UQDBkmEA6pJhAP+SYQD/kGMI/62SXf+OYw3/poZJ/7+wkv+1onv/lnEn/6mNVv+zoYD/nX9C/49f + AP+RYQD/fVMAwZRjAOqUYwD/lGMA/5RjAP+SYgH/k2MA/5JhAf+RYwb/kWIE/5JhAP+SYgL/kWMG/5Jj + BP+TYwD/lGMA/39VAMGUZADqlWQA/5VkAP+VZAD/lWQA/5VkAP+UZAD/lGQA/5VkAP+UZAD/lGQA/5Rk + AP+UZAD/lGQA/5RkAP9/VQDBlmYF1ZZmBeqWZgXplmYF6ZZmBemWZgXplmYF6ZZmBemWZgXplmYF6ZZm + BemWZgXplmYF6ZZmBemWZgXrhVoErgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/Mk0.Software.MD5Generator/Mk0.Software.MD5Generator.csproj b/Mk0.Software.MD5Generator/Mk0.Software.MD5Generator.csproj new file mode 100644 index 0000000..b628f57 --- /dev/null +++ b/Mk0.Software.MD5Generator/Mk0.Software.MD5Generator.csproj @@ -0,0 +1,83 @@ + + + + + Debug + AnyCPU + {309B3DB4-6BF0-4B17-91D5-EA28DADDF2EB} + WinExe + Mk0.Software.MD5Generator + Mk0.Software.MD5Generator + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Main.cs + + + + + Main.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/Mk0.Software.MD5Generator/Program.cs b/Mk0.Software.MD5Generator/Program.cs new file mode 100644 index 0000000..1bffbdf --- /dev/null +++ b/Mk0.Software.MD5Generator/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Mk0.Software.MD5Generator +{ + static class Program + { + /// + /// Der Haupteinstiegspunkt für die Anwendung. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Main()); + } + } +} diff --git a/Mk0.Software.MD5Generator/Properties/AssemblyInfo.cs b/Mk0.Software.MD5Generator/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..25392d6 --- /dev/null +++ b/Mk0.Software.MD5Generator/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("Mk0.Software.MD5Generator")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Mk0.Software.MD5Generator")] +[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("309b3db4-6bf0-4b17-91d5-ea28daddf2eb")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// indem Sie "*" wie unten gezeigt eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Mk0.Software.MD5Generator/Properties/Resources.Designer.cs b/Mk0.Software.MD5Generator/Properties/Resources.Designer.cs new file mode 100644 index 0000000..7cece6b --- /dev/null +++ b/Mk0.Software.MD5Generator/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion: 4.0.30319.42000 +// +// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn +// der Code neu generiert wird. +// +//------------------------------------------------------------------------------ + +namespace Mk0.Software.MD5Generator.Properties +{ + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse + // über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu. + [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() + { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Mk0.Software.MD5Generator.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden. + /// + [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/Mk0.Software.MD5Generator/Properties/Resources.resx b/Mk0.Software.MD5Generator/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Mk0.Software.MD5Generator/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/Mk0.Software.MD5Generator/Properties/Settings.Designer.cs b/Mk0.Software.MD5Generator/Properties/Settings.Designer.cs new file mode 100644 index 0000000..de10d97 --- /dev/null +++ b/Mk0.Software.MD5Generator/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Mk0.Software.MD5Generator.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.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/Mk0.Software.MD5Generator/Properties/Settings.settings b/Mk0.Software.MD5Generator/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Mk0.Software.MD5Generator/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + +