diff --git a/AppResource.Designer.cs b/AppResource.Designer.cs index 6914030..b6ce423 100644 --- a/AppResource.Designer.cs +++ b/AppResource.Designer.cs @@ -19,7 +19,7 @@ namespace RandomFileRunner { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class AppResource { @@ -60,6 +60,24 @@ namespace RandomFileRunner { } } + /// + /// Looks up a localized string similar to . + /// + internal static string AppAuthorURL { + get { + return ResourceManager.GetString("AppAuthorURL", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to https://www.hiimray.co.uk. + /// + internal static string AppCompanyURL { + get { + return ResourceManager.GetString("AppCompanyURL", resourceCulture); + } + } + /// /// Looks up a localized string similar to https://www.hiimray.co.uk/software-random-file-runner. /// @@ -68,5 +86,24 @@ namespace RandomFileRunner { return ResourceManager.GetString("AppHelpURL", resourceCulture); } } + + /// + /// Looks up a localized string similar to https://www.hiimray.co.uk/software-random-file-runner. + /// + internal static string AppProductURL { + get { + return ResourceManager.GetString("AppProductURL", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap icon_64 { + get { + object obj = ResourceManager.GetObject("icon_64", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/AppResource.resx b/AppResource.resx index 382dada..73b1ced 100644 --- a/AppResource.resx +++ b/AppResource.resx @@ -112,12 +112,25 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + https://www.hiimray.co.uk + https://www.hiimray.co.uk/software-random-file-runner + + https://www.hiimray.co.uk/software-random-file-runner + + + + Resources\icon-64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 0e4c15d..eefa003 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -50,8 +50,6 @@ namespace RandomFileRunner toolStripMenuItem16 = new System.Windows.Forms.ToolStripSeparator(); aboutToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); label1 = new System.Windows.Forms.Label(); - button1 = new RyzStudio.Windows.ThemedForms.ThButton(); - tHorizontalSeparator2 = new RyzStudio.Windows.Forms.THorizontalSeparator(); textBox1 = new RyzStudio.Windows.ThemedForms.ButtonTextBox.ThClearableTextBox(); tHorizontalSeparator1 = new RyzStudio.Windows.Forms.THorizontalSeparator(); button5 = new RyzStudio.Windows.ThemedForms.ThButton(); @@ -63,8 +61,9 @@ namespace RandomFileRunner label4 = new System.Windows.Forms.Label(); tHorizontalSeparator3 = new RyzStudio.Windows.Forms.THorizontalSeparator(); label2 = new System.Windows.Forms.Label(); - textBox2 = new RyzStudio.Windows.ThemedForms.ThButtonTextBox(); + textBox2 = new RyzStudio.Windows.ThemedForms.ThHiButtonTextBox(); button4 = new RyzStudio.Windows.ThemedForms.ThButton(); + dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter(); ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit(); menuStrip1.SuspendLayout(); SuspendLayout(); @@ -82,7 +81,6 @@ namespace RandomFileRunner // // button2 // - button2.AcceptButton = null; button2.ActiveImage = null; button2.BackColor = System.Drawing.Color.Transparent; button2.EnableMenuOnClick = false; @@ -91,9 +89,7 @@ namespace RandomFileRunner button2.IdleImage = null; button2.LabelText = "&Search"; button2.Location = new System.Drawing.Point(127, 121); - button2.Margin = new System.Windows.Forms.Padding(10, 0, 10, 10); button2.Name = "button2"; - button2.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); button2.Size = new System.Drawing.Size(149, 33); button2.TabIndex = 1; button2.TabStop = false; @@ -214,55 +210,17 @@ namespace RandomFileRunner label1.Text = "Search Path"; label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // - // button1 - // - button1.AcceptButton = null; - button1.ActiveImage = null; - button1.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right; - button1.BackColor = System.Drawing.Color.Transparent; - button1.EnableMenuOnClick = false; - button1.EnableReactiveVisual = true; - button1.HoverImage = null; - button1.IdleImage = null; - button1.LabelText = "&Close"; - button1.Location = new System.Drawing.Point(296, 545); - button1.Margin = new System.Windows.Forms.Padding(10, 0, 10, 10); - button1.Name = "button1"; - button1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); - button1.Size = new System.Drawing.Size(149, 37); - button1.TabIndex = 6; - button1.TabStop = false; - button1.MouseClick += button1_MouseClick; - // - // tHorizontalSeparator2 - // - tHorizontalSeparator2.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; - tHorizontalSeparator2.AutoScrollMargin = new System.Drawing.Size(0, 0); - tHorizontalSeparator2.AutoScrollMinSize = new System.Drawing.Size(0, 0); - tHorizontalSeparator2.BackColor = System.Drawing.Color.Transparent; - tHorizontalSeparator2.Location = new System.Drawing.Point(8, 513); - tHorizontalSeparator2.Margin = new System.Windows.Forms.Padding(0, 10, 0, 0); - tHorizontalSeparator2.MaximumSize = new System.Drawing.Size(5760, 22); - tHorizontalSeparator2.MinimumSize = new System.Drawing.Size(0, 22); - tHorizontalSeparator2.Name = "tHorizontalSeparator2"; - tHorizontalSeparator2.Size = new System.Drawing.Size(448, 22); - tHorizontalSeparator2.TabIndex = 42; - tHorizontalSeparator2.TabStop = false; - // // textBox1 // - textBox1.AcceptButton = null; textBox1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; textBox1.BackColor = System.Drawing.Color.Transparent; textBox1.ClearedValue = ""; textBox1.EnableReactiveVisual = true; textBox1.Font = new System.Drawing.Font("Segoe UI", 9F); - textBox1.HighlightImage = (System.Drawing.Image)resources.GetObject("textBox1.HighlightImage"); + textBox1.Icon = "O"; + textBox1.IconSize = 13F; textBox1.Location = new System.Drawing.Point(127, 78); - textBox1.Margin = new System.Windows.Forms.Padding(10, 10, 10, 0); textBox1.Name = "textBox1"; - textBox1.NormalImage = (System.Drawing.Image)resources.GetObject("textBox1.NormalImage"); - textBox1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); textBox1.Size = new System.Drawing.Size(318, 32); textBox1.TabIndex = 0; textBox1.TabStop = false; @@ -285,7 +243,6 @@ namespace RandomFileRunner // // button5 // - button5.AcceptButton = null; button5.ActiveImage = null; button5.BackColor = System.Drawing.Color.Transparent; button5.EnableMenuOnClick = false; @@ -294,9 +251,7 @@ namespace RandomFileRunner button5.IdleImage = null; button5.LabelText = "&Run Next"; button5.Location = new System.Drawing.Point(127, 309); - button5.Margin = new System.Windows.Forms.Padding(10, 0, 10, 10); button5.Name = "button5"; - button5.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); button5.Size = new System.Drawing.Size(149, 33); button5.TabIndex = 5; button5.TabStop = false; @@ -314,7 +269,6 @@ namespace RandomFileRunner // // progressBar2 // - progressBar2.AcceptButton = null; progressBar2.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; progressBar2.BackColor = System.Drawing.Color.Transparent; progressBar2.BarColour = System.Drawing.Color.FromArgb(79, 193, 203); @@ -322,11 +276,9 @@ namespace RandomFileRunner progressBar2.EnableReactiveVisual = false; progressBar2.Font = new System.Drawing.Font("Segoe UI", 9F); progressBar2.Location = new System.Drawing.Point(127, 215); - progressBar2.Margin = new System.Windows.Forms.Padding(10, 6, 10, 6); progressBar2.Maximum = 100; progressBar2.Minimum = 0; progressBar2.Name = "progressBar2"; - progressBar2.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); progressBar2.ProgressText = "50/100"; progressBar2.ShowProgressText = true; progressBar2.Size = new System.Drawing.Size(318, 20); @@ -336,7 +288,6 @@ namespace RandomFileRunner // // progressBar1 // - progressBar1.AcceptButton = null; progressBar1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; progressBar1.BackColor = System.Drawing.Color.Transparent; progressBar1.BarColour = System.Drawing.Color.FromArgb(79, 202, 130); @@ -344,11 +295,9 @@ namespace RandomFileRunner progressBar1.EnableReactiveVisual = false; progressBar1.Font = new System.Drawing.Font("Segoe UI", 9F); progressBar1.Location = new System.Drawing.Point(127, 192); - progressBar1.Margin = new System.Windows.Forms.Padding(10, 6, 10, 6); progressBar1.Maximum = 100; progressBar1.Minimum = 0; progressBar1.Name = "progressBar1"; - progressBar1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); progressBar1.ProgressText = "50/100"; progressBar1.ShowProgressText = true; progressBar1.Size = new System.Drawing.Size(318, 20); @@ -403,17 +352,14 @@ namespace RandomFileRunner // // textBox2 // - textBox2.AcceptButton = null; textBox2.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; textBox2.BackColor = System.Drawing.Color.Transparent; textBox2.EnableReactiveVisual = true; textBox2.Font = new System.Drawing.Font("Segoe UI", 9F); - textBox2.HighlightImage = null; + textBox2.Icon = "M"; + textBox2.IconSize = 13F; textBox2.Location = new System.Drawing.Point(127, 36); - textBox2.Margin = new System.Windows.Forms.Padding(10, 10, 10, 0); textBox2.Name = "textBox2"; - textBox2.NormalImage = null; - textBox2.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); textBox2.Size = new System.Drawing.Size(318, 32); textBox2.TabIndex = 52; textBox2.TabStop = false; @@ -422,7 +368,6 @@ namespace RandomFileRunner // // button4 // - button4.AcceptButton = null; button4.ActiveImage = null; button4.BackColor = System.Drawing.Color.Transparent; button4.EnableMenuOnClick = false; @@ -431,14 +376,22 @@ namespace RandomFileRunner button4.IdleImage = null; button4.LabelText = "Save File &List"; button4.Location = new System.Drawing.Point(296, 309); - button4.Margin = new System.Windows.Forms.Padding(10, 0, 10, 10); button4.Name = "button4"; - button4.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); button4.Size = new System.Drawing.Size(149, 33); button4.TabIndex = 53; button4.TabStop = false; button4.MouseClick += button4_MouseClick; // + // dialogFooter1 + // + dialogFooter1.BackColor = System.Drawing.Color.FromArgb(240, 240, 240); + dialogFooter1.Button1Text = "&Close"; + dialogFooter1.Dialog = this; + dialogFooter1.Dock = System.Windows.Forms.DockStyle.Bottom; + dialogFooter1.Location = new System.Drawing.Point(0, 517); + dialogFooter1.Name = "dialogFooter1"; + dialogFooter1.Size = new System.Drawing.Size(464, 84); + // // MainForm // AllowDrop = true; @@ -446,6 +399,7 @@ namespace RandomFileRunner AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; BackColor = System.Drawing.Color.FromArgb(250, 250, 250); ClientSize = new System.Drawing.Size(464, 601); + Controls.Add(dialogFooter1); Controls.Add(button4); Controls.Add(textBox2); Controls.Add(label2); @@ -458,8 +412,6 @@ namespace RandomFileRunner Controls.Add(tHorizontalSeparator1); Controls.Add(textBox1); Controls.Add(button2); - Controls.Add(tHorizontalSeparator2); - Controls.Add(button1); Controls.Add(label1); Controls.Add(menuStrip1); Controls.Add(label9); @@ -476,7 +428,6 @@ namespace RandomFileRunner } #endregion - private RyzStudio.Windows.ThemedForms.ThButton button1; private System.Windows.Forms.PictureBox pictureBox1; private RyzStudio.Windows.ThemedForms.ThButton button2; private System.Windows.Forms.ToolTip toolTip1; @@ -497,7 +448,6 @@ namespace RandomFileRunner private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem1; private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator1; private System.Windows.Forms.Label label1; - private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator2; private RyzStudio.Windows.ThemedForms.ButtonTextBox.ThClearableTextBox textBox1; private RyzStudio.Windows.ThemedForms.ThButton button5; private System.Windows.Forms.OpenFileDialog openFileDialog2; @@ -508,8 +458,9 @@ namespace RandomFileRunner private System.Windows.Forms.Label label4; private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator3; private System.Windows.Forms.Label label2; - private RyzStudio.Windows.ThemedForms.ThButtonTextBox textBox2; + private RyzStudio.Windows.ThemedForms.ThHiButtonTextBox textBox2; private RyzStudio.Windows.ThemedForms.ThButton button4; + private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1; } } diff --git a/MainForm.cs b/MainForm.cs index 04bba20..ab716e6 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -11,7 +11,7 @@ using System.Windows.Forms; using RyzStudio.IO; using RyzStudio.Runtime.InteropServices; using RyzStudio.Windows.Forms; -using Application = System.Windows.Forms.Application; +using RyzStudio.Windows.ThemedForms; namespace RandomFileRunner { @@ -32,7 +32,6 @@ namespace RandomFileRunner { InitializeComponent(); - textBox2.SetIcon("search"); textBox2.TextBox.ReadOnly = true; _randy = new Random(); @@ -53,7 +52,7 @@ namespace RandomFileRunner { base.OnShown(e); - var args = RyzStudio.Windows.Forms.Application.GetCommandLine(); + var args = RyzStudio.Windows.Forms.WinApplication.GetCommandLine(); string jsonfigFilename = args.Where(x => (x.Key.Equals("o") || x.Key.Equals("open"))).Select(x => x.Value).FirstOrDefault(); if (string.IsNullOrWhiteSpace(jsonfigFilename)) @@ -65,6 +64,8 @@ namespace RandomFileRunner { await LoadSessionFile(jsonfigFilename); } + + textBox2.Focus(); } protected override void OnClosing(CancelEventArgs e) @@ -125,7 +126,7 @@ namespace RandomFileRunner { _isBusy = value; - UIControl.SetValue(pictureBox1, (_isBusy ? UIResource.loading_block : null)); + UIControl.SetValue(pictureBox1, (_isBusy ? RyzStudio.Windows.ThemedForms.Resource2.loading_block : null)); UIControl.SetEnable(textBox1, !_isBusy); button2.LabelText = (_isBusy ? "&Cancel" : "&Search"); UIControl.SetEnable(button5, !_isBusy); @@ -237,7 +238,7 @@ namespace RandomFileRunner var optionsForm = new OptionsForm(this.CurrentSession); if (optionsForm.ShowDialog() == DialogResult.OK) { - this.CurrentSession = optionsForm.Session; + this.CurrentSession = optionsForm.Result; InvalidateHotKey(); } @@ -260,7 +261,14 @@ namespace RandomFileRunner /// private void aboutToolStripMenuItem1_Click(object sender, EventArgs e) { - MessageBox.Show(Application.ProductName + " v" + Application.ProductVersion, "About", MessageBoxButtons.OK, MessageBoxIcon.Information); + var form = new RyzStudio.Windows.ThemedForms.AboutForm(); + form.ProductURL = AppResource.AppProductURL; + form.AuthorURL = AppResource.AppAuthorURL; + form.CompanyURL = AppResource.AppCompanyURL; + form.ProductCopyrightStartYear = 2021; + form.ProductLogo = AppResource.icon_64; + + form.ShowDialog(); } #endregion @@ -313,13 +321,10 @@ namespace RandomFileRunner return; } - var form = new MemoBoxForm(); - - form.Lines = SearchPaths; - + var form = new MemoBoxForm(this.SearchPaths); if (form.ShowDialog() == DialogResult.OK) { - SearchPaths = form.Lines; + this.SearchPaths = form.Result; } } @@ -470,7 +475,7 @@ namespace RandomFileRunner } catch (Exception exc) { - MessageBox.Show(exc.Message, "Save File List"); + ThMessageBox.Show(this, exc.Message, "Save File List", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } @@ -584,26 +589,14 @@ namespace RandomFileRunner this.CurrentSession.SearchItems.Add(item.Trim()); } - string sourceCode = null; - - try + var result = RyzStudio.Text.Json.JsonSerialiser.SerialiseFile(filename, this.CurrentSession); + if (result.IsSuccess) { - sourceCode = JsonSerializer.Serialize(this.CurrentSession); + ThMessageBox.Show(this, "Session saved!", "Save session"); } - catch (Exception) + else { - MessageBox.Show("Unable to write session", "Save session"); - return; - } - - try - { - System.IO.File.WriteAllText(filename, sourceCode); - } - catch (Exception exc) - { - MessageBox.Show(exc.Message, "Save session"); - return; + ThMessageBox.Show(this, result.Message, "Save session", MessageBoxButtons.OK, MessageBoxIcon.Error); } }); } diff --git a/MainForm.resx b/MainForm.resx index 765abba..d65f5be 100644 --- a/MainForm.resx +++ b/MainForm.resx @@ -123,27 +123,6 @@ 716, 17 - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wQAADsEBuJFr7QAAAN5JREFUOE/tUzsKwkAUXLCyFMHjeIvdB4Gk8ALamU4rsbLaTWz0AOYGOYMewTqe - QLEQnZc8WRMSsBYHhrzPzJBin2pC60PPGLs3xl3Bp5DrHe9E1g2tHUH8QMjKmGReketyZkRWh9abfhTZ - YRimI4jWRPYSBMngkzzjHWtYyx6xK4X0Anz/7rcsxM4BdoxBTuTOqCdEaUyU6DrTuNqxxuXsEXsFDLfg - UdpOsIa10nr8A34p4CRtJ1jTGoC3PsPiBi78ETXplqzBwU3F5sHHgWWGJ3rHt+3tg+Uu84ek1AsYYd8q - EsfwCwAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wQAADsEBuJFr7QAAANFJREFUOE/tkzEKAjEURANWliJ4HG+h9l5AO7fTSjyCxWpCIBB2b+AZ9AjW6wlc - LGSdWb9Elw1YiwOP/Pw/E1Ikqqksyzpa670x5goqgfWOM7HFhfAE5jvWNdYFkZq9sdg+laZp13vfBwOY - NjBfnHO9d9jjjB56mZG4UhgW4HXdbykkXl97iMYBnFFPrbUJGDVIOKOHXmYk/hSaW3CUbVT00CvboP8B - v3TASbZR0RM7YA5KsAT1J2phBUq8wpnEgvg5MMwxvGFte/uVzPLwkZR6AInAKK6aICfTAAAAAElFTkSu - QmCC - - 1155, 17 @@ -153,301 +132,302 @@ 52 + AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz - MygzMzPXMzMzszIyMmU1NTUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAoAAABbAAAAzQAAAPsAAAD7AAAAzQAAAFoAAAAJAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAMTExOTQ0NO00NDT/NDU1/zMzM/8zMzP9MzMzyDMzM3k0NDQsAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAMAAAAewAAAO4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADuAAAAewAA + AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAHIAAADqAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAOoAAAByAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + /////////////+np6f+eoKD/1urr/9zy8//c8vP/3PLz/9zy8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SR + kv/c8vP/3PLz/9zy8/+vubn/rq+v////////////////////////////wsPD/5udnf/R5OX/3PLz/9zy + 8//c8vP/LTEy/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/LTEy/9zy8//c8vP/3PLz/4+P + j//d3d3/////////////////9fX1/52env/N39//3PLz/9zy8//c8vP/3PLz/9zy8/+EkZL/AAAA/wAA + AP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy8/+vubn/rq+v/////////////////////////////////8jJ + yf+YmZn/zuDh/9zy8//c8vP/LTEy/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/LTEy/9zy + 8//c8vP/3PLz/4+Pj//d3d3////////////9/f3/qaqq/8LQ0P/c8vP/3PLz/9zy8//c8vP/3PLz/9zy + 8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy8/+vubn/rq+v/////////////v7+/+jo + 6P/MzMz/r6+v/5WVlf+Pj4//pKmq/9zy8//c8vP/LTEy/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/LTEy/9zy8//c8vP/3PLz/4+Pj//d3d3///////////+7vb3/tL2+/9zy8//c8vP/3PLz/9zy + 8//c8vP/3PLz/9zy8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy8/+vubn/paWl/83N + zf+wsLD/lpaW/4+Pj/+UlZX/p62t/7rHx//N3+D/2/Hy/9zy8//c8vP/LTEy/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/LTEy/9zy8//c8vP/3PLz/4+Pj//d3d3//////9TV1f+lqqr/2/Hy/9zy + 8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8/+EkZL/AAAA/wAAAP8AAAD/AAAA/4SRkv/c8vP/3PLz/9zy + 8/+0v7//j4+P/5SUlf+mrKz/ucXF/83f3//b8fL/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/LTEy/wAA + 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 + Yf/H29z/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9nu7//S5eb/3PLz/9zy + 8//c8vP/3PLz/8zg4f9ncXH/CAkJ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8yNzf/IiUm/wAA + AP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIC + Av9JUVH/wNPU/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/2O3u/8bW1v+1v7//o6en/5KS + kv+RkZH/2e7v/9zy8//c8vP/3PLz/9zy8//c8vP/xNfY/1hhYf8DBAT/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAADlAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8CAgL/TFRU/7zP0P/c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//V6er/w9LT/7K7u/+go6P/lJWV/6qr + q//Gx8f/4uLi/6SkpP+ip6f/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8/+8z9D/TFRU/wIC + Av8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOQAAADHAAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/0JISP+zxcb/3PLz/9zy8//c8vP/3PLz/9Tn6P/Azs7/rra3/52goP+Wl5f/r7Cw/8zM + zP/n5+f//f39////////////9/f3/5CQkP+3wsP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy + 8//c8vP/3PLz/7PFxv9CSEj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAMYAAAB6AAAA/wAA + AP8AAAD/AAAA/wAAAP8FBgb/S1NT/8jb3P/c8vP/3PLz/9zy8//c8vP/3PLz/6Knp/+Pj4//oKCg/+bm + 5v//////////////////////////////////////2NjY/4+Pj//N3t//3PLz/9zy8//c8vP/3PLz/9zy + 8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//M4OH/Vl1d/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AHkAAAADAAAA4AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/woLC/9oc3P/zeLj/9zy8//c8vP/3PLz/9zy + 8//D0dL/nJ6f/5aXl//Ly8v/+/v7////////////////////////////uLi4/5eZmf/c8vP/3PLz/9zy + 8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/zeLj/2hzc/8KCwv/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA4AAAAAMAAAAAAAAACAAAALUAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Dg8P/3B7 + fP/R5uf/3PLz/9zy8//c8vP/2/Dx/8DOzv+anJz/mpub/87Ozv/8/Pz/////////////////mZmZ/6y0 + tP/c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9Hm5/9we3z/Dg8P/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAC0AAAACAAAAAAAAAAAAAAAAAAAAAAAAABYAAAA3gAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8RExP/eYWF/9Tp6v/c8vP/3PLz/9zy8//a7/D/vcrL/5iZmf+cnZ3/0tLS//7+ + /v/p6en/j4+P/8LQ0f/c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//U6er/eYWF/xETE/8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA3gAAAFcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAA + AGYAAADkAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xIUFP91gYL/1err/9zy8//c8vP/3PLz/9nu + 7/+3wsP/lZWW/6Kjo/+zs7P/kJCQ/9br7P/c8vP/3PLz/9zy8//c8vP/2O3u/4SRkv8XGhr/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOkAAAB3AAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAGAAAAZgAAAOcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Ghwd/4SR + kv/Z7u//3PLz/9zy8//c8vP/1uvs/7O9vf+Sk5P/o6mp/9zy8//c8vP/3PLz/9rw8f+ToaL/HiEh/wAA + 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 - 8f/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/7zW1/+Ro6P/Ymtr/zY2 - Nv4zMzP/MzMz/zMzM9UzMzOIMzMzPAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkBzMzM6k5OTn/eH5+/9Po - 6f/c8vP/2/Lz/9Hu7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/8Xh4v+csLD/bHd3/zs9Pf4zMzP/MzMz/zQ0NOI0NDSZMjIyTSQkJAcAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0RMzMzwjw8 - PP+Ij5D/2O7v/9zy8//c8vP/1/Hy/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/8vo6f+jubr/dICA/0NGRv4zMzP/MzMz/zQ0 - NPIyMjJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3 - NxwzMzPVQUFB/5Wfn//a8fL/3PLz/9zy8//c8vP/0+/w/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/8/t - 7v+wyMn/gZCQ/zk6Ov4zMzPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAMTExKjQ0NOJGRkb/oKys/9zy8//c8vP/3PLz/9zy8//b8vP/0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/19naP80NDT5JCQkBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAyMjI4NTU17UhISP6turr/3PLz/9zy8//c8vP/3PLz/9zy8//X8fH/0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/4KRkv8zMzP/MTExOQAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAADQ0NE80NDT3Tk9P/bnJyv/c8vP/3PLz/9zy8//c8vP/3PLz/9zy - 8//T7/D/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/6a8vf8zMzP/MzMzcwAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyYTQ0NPxUVlb9wtPU/9zy8//c8vP/3PLz/9zy - 8//c8vP/3PLz/9vy8//Q7u//0O7v/8fk5f/O7O3/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/8nm - 5/81NTX+NDQ0rQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzN3MzMz/11gYP3K3d3/3PLz/9zy - 8//c8vP/3PLz/9zy8//c8vP/3PLz/9jx8v/Q7u//i6Cg/wMEBP8hJib/rcbH/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7/9RV1f/MzMz6gAAAAAAAAAAAAAAAAAAAAAAAAAAVVVVAzIyMpgzMzP/Z2tr/tDk - 5f/c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9bw8f/Q7u//TVlZ/wAAAP8AAAD/CgsL/4ic - nf/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/91goL/MzMz/zMzMyMAAAAAAAAAAAAAAABAQEAIMzMzqzMz - M/9yeHj/1uvr/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9Pv8P/Q7u//TVhY/wAA - AP8AAAD/AAAA/wAAAP9baGj/zOnq/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/+Zra7/MzMz/zQ0NF4AAAAAAAAAAAAA - AAAzMzPCMzMz/3uEhP/a7/D/3fPz/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/2/Lz/9Du - 7//Q7u//TVhY/wAAAP8AAAD/AAAA/wAAAP8AAAD/MDc3/7vW1//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/++2dr/MzMz/zQ0 - NJkAAAAAAAAAAAAAAAAzMzPNPD09/tvx8v/d8/T/3fPz/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy - 8//c8vP/2fHy/9Du7//Q7u//TVhY/wAAAP8AAAD/YnBw/wYHB/8AAAD/AAAA/xQWFv+ds7T/0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//REdH/jQ0NNQAAAAAAAAAAAAAAAAyMjKTMzMz/8ve3//d8/T/3fPz/93z8//c8vP/3PLz/9zy - 8//c8vP/3PLz/9zy8//c8vP/1/Hx/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/6e/wP8bHx//AAAA/wAA - AP8DBAT/b39//8/t7v/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//aHJz/zMzM/0tLS0RAAAAAAAAAAA0NDRZMzMz/6u6u//d8/T/3fPz/93z - 8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/1fDx/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du - 7//A3N3/OkJD/wAAAP8AAAD/AAAA/0BJSf/E4OH/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//jJ2e/zMzM/8yMjJIAAAAAAAAAAAzMzMeMzMz/4aQ - kP/d8/T/3fPz/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/1O/w/9Du7//Q7u//TVhY/wAA - AP8AAAD/s8zN/9Du7//Q7u//z+3u/29/f/8CAgL/AAAA/wAAAP8fIyT/rMXG/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//sMfI/zMzM/8zMzOCAAAAAAAA - AAAAAAAAMzMz5FpfX/7d8/T/3fPz/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/0u/w/9Du - 7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du7//Q7u//0O7v/9Du7/+Uqar/DhAQ/wAAAP8AAAD/CgsL/4md - nf/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//zuvs/zo7 - O/40NDS8AAAAAAAAAAAAAAAAMzMzqTY2N//V6er/3fPz/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy - 8//c8vP/0e7v/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du7//Q7u//0O7v/9Du7//Q7u//tM7P/yct - Lf8AAAD/AAAA/wAAAP9baWn/zerr/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/1tjY/80NDT1QEBABAAAAAAAAAAAMzMzbzMzM/+4ycn/3fPz/93z8//c8vP/3PLz/9zy - 8//c8vP/3PLz/9zy8//c8vP/0e7v/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/8nm5/9OWlr/AAAA/wAAAP8AAAD/a3p7/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/36Njf8zMzP/MzMzMgAAAAAAAAAAMTExNDMzM/+UoaH/3fPz/93z - 8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/0O7v/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/8nm5/9OWlr/AAAA/wAAAP8AAAD/a3p7/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/6O4uf8zMzP/MzMzbQAAAAAAAAAAQEBABDQ0 - NPRrcnL/3fP0/93z8//d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//b8vP/0O7v/9Du7//Q7u//TVhY/wAA - AP8AAAD/s8zN/9Du7//Q7u//0O7v/9Du7//Q7u//tM7P/yctLf8AAAD/AAAA/wAAAP9baWn/zerr/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/8bi4/80NDT/MjIypwAA - AAAAAAAAAAAAADMzM749Pj7+3PHx/93z8//d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/0O7v/9Du - 7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du7//Q7u//0O7v/9Du7/+Uqar/DxER/wAAAP8AAAD/CgsL/4ic - nf/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7/9NUVL+NDQ04gAAAAAAAAAAAAAAADIyMoQzMzP/w9bW/93z8//d8/P/3PLz/9zy8//c8vP/3PLz/9zy - 8//c8vP/0e7v/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du7//Q7u//z+3u/29/f/8CAgL/AAAA/wAA - AP8fIyT/rMXG/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7/9yfn//MzMz/zU1NR0AAAAAAAAAADQ0NEozMzP/oa+w/93z8//d8/P/3PLz/9zy - 8//c8vP/3PLz/9zy8//c8vP/0u/w/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/9Du7//A3N3/O0ND/wAA - AP8AAAD/AAAA/0BJSf/D3+D/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/+WqKn/MzMz/zIyMlcAAAAAAAAAADAwMBAzMzP9eIGB/93z - 8//d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/1O/w/9Du7//Q7u//TVhY/wAAAP8AAAD/s8zN/6e/ - wP8bHx//AAAA/wAAAP8CAwP/b39//8/t7v/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/+50tP/MzMz/zMzM5EAAAAAAAAAAAAA - AAA0NDTUSk1N/t3z8//d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/1fDx/9Du7//Q7u//TVhY/wAA - AP8AAAD/YnBw/wYHB/8AAAD/AAAA/xQWFv+ds7T/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//O7O3/Oz09/jMz - M80AAAAAAAAAAAAAAAA0NDSZMzMz/87i4//d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/2PHy/9Du - 7//Q7u//TVhY/wAAAP8AAAD/AAAA/wAAAP8AAAD/MDc3/7vW1//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/8zp - 6v9qdHT/MzMz/zMzM8IAAAAAAAAAAAAAAAAyMjJgMzMz/6u8vP/d8/P/3PLz/9zy8//c8vP/3PLz/9zy - 8//c8vP/2/Lz/9Du7//Q7u//TVhY/wAAAP8AAAD/AAAA/wAAAP9baGj/zOnq/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//yOXm/19oaP8zMzP/MzMzuTs7Ow0AAAAAAAAAAAAAAAAwMDAlMzMz/4WRkf/d8/P/3PLz/9zy - 8//c8vP/3PLz/9zy8//c8vP/3PLz/9Pv8P/Q7u//TVlZ/wAAAP8AAAD/CgsL/4icnf/Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//B3d7/UVdX/jMzM/8zMzOgMzMzBQAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz6Vlf - X//d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9fx8v/Q7u//i6Cg/wMEBP8hJib/rcbH/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/7vV1v9KTk79MzMz/zMzM4gAAAABAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAMzMzrzU1Nf7V6+z/3fPz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//R7/D/0O7v/8fk - 5f/O7O3/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//sMjI/0FDQ/0zMzP9MzMzaQAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAMjIydTMzM/+4ysv/3fPz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy - 8//X8fH/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/+nvb3/OTs7/TQ0NPkyMjJWAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDQ0OzMzM/+ToKH/3fPz/9zy8//c8vP/3PLz/9zy - 8//c8vP/3PLz/9zy8//c8vP/0+/w/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/5eqq/81Njb+NDU18TEx - MT4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkBzMzM/hpcXH/3fPz/9zy - 8//c8vP/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/2vLz/9Hu7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//i5yd/zQ0 - NP80NDTnMTExLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz - M8Q5Ojr+jZqa/8DT1P/b8vL/3PLz/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9nx8v/R7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/87s - 7f91goL/MzMz/zMzM9U3NzccAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAADIyMms0NDTyMzMz/zMzM/9KTU3+hY+P/7XHyP/Y7u//3PLz/9zy8//c8vP/3PLz/9zy - 8//Z8fL/0e7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//y+jp/2dwcf8zMzP/MzMzwi0tLREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDMzMzPDMzM4g0NDTbMzMz/zMzM/89Pj7+cnp6/6W0 - tP/R5ub/3PLz/9zy8//c8vP/2fHy/9Lv8P/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//I5eb/XWVl/zMzM/8zMzOwOTk5CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANTU1KzMz - M3czMzPEMzMz/jMzM/82Njb+ZWtr/5qoqP/I29z/3PLz/9vy8//U8PH/0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/8Hc3f9QVVX+MzMz/zIyMp1AQEAEAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAALi4uFjQ0NF4zMzOzNDQ0+TMzM/8zMzP/T1NT/oeSkv+3ycn/1+/w/9Tv - 8P/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//t9DR/0VJSf4zMzP/MzMziAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzCjIyMk00NDSZMzMz6jMz - M/8zMzP/QEND/niCgv+lt7f/y+bn/9Hu7//Q7u//0O7v/9Du7/+vx8f/P0JC/TMzM/00NDRnAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAVVVVAzMzMzwzMzOIMzQ02DMzM/8zMzP/Nzg4/mBoaf+Nnp//wNvc/6C1tv84OTn+MzMz+DQ0 - NFMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQ0NCwzMzN5MzMzyDMzM/0zMzP/NDQ0/zQ0 - NP8zNTXuMTExOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADU1 - NRgyMjJlMzMzszMzM9czMzMoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//4P///8AAP//AH///wAA//4AB///AAD//AAA//8AAP/4 - AAAf/wAA/+AAAAH/AAD/wAAAAD8AAP+AAAAAHwAA/wAAAAAfAAD+AAAAAA8AAPwAAAAADwAA+AAAAAAP - AADwAAAAAA8AAOAAAAAADwAAgAAAAAAHAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAMAAAAA - AAAAAwAAAAAAAAADAACAAAAAAAMAAIAAAAAAAQAAgAAAAAABAACAAAAAAAEAAIAAAAAAAQAAwAAAAAAB - AADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADgAAAAAAAAAOAAAAAAAAAA4AAAAAAAAADgAAAAAAEAAPAA - AAAAAwAA8AAAAAAPAADwAAAAAB8AAPAAAAAAPwAA8AAAAAB/AAD4AAAAAP8AAPgAAAAB/wAA/AAAAAP/ - AAD/wAAAB/8AAP/4AAAf/wAA//8AAD//AAD//+AAf/8AAP///gD//wAA////wf//AAAoAAAAIAAAAEAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkAAACKAAAA0gAAAPEAAADxAAAA0gAA + AIoAAAApAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///AP///xBP//wAP///EE//8AAP//8QT//AAAP//xBP/w + AAAP//EE/8AAAAP/8QT/gAAAAP/xBP4AAAAAf/EE+AAAAAAf8QTgAAAAAAfxBIAAAAAAAfEEgAAAAAAB + 8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAA + AAAAAPEEAAAAAAAA8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA + 8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAAAAAAAPEEAAAAAAAA8QQAAAAAAADxBAAA + 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 - Q/czMzN4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADY2NhM8Pj7Pdnx8+NXq6//c8vP/3PLz/9fw - 8f/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//i5yc/zs8PLsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2NjYhOzw84YGIiPrY7+//3PLz/9zy - 8//c8vP/0+/w/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7/+vx8f/ODk58gAAAAEAAAAAAAAAAAAAAAAAAAAAMzMzLTo7O+2PmZn82vHy/9zy - 8//c8vP/3PLz/9vy8//R7u//l62t/7DKyv/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/83q6/83Nzf7NDQ0JwAAAAAAAAAAAAAAADIyMkI6Ojr2nKio/dzy - 8//c8vP/3PLz/9zy8//c8vP/2PHy/8Tg4f8BAQH/CAkJ/4WYmf/Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/1RaWvMyMjJhAAAAAAAAAAAyMjJbNzg4+qm4 - uP/d8/P/3PLz/9zy8//c8vP/3PLz/9zy8//V8PH/vdnZ/wAAAP8AAAD/AAAA/1dkZP/L6On/0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//fYyM/jk5OaIAAAAAAAAAADg5 - OeyisrL/3fPz/93z8//c8vP/3PLz/9zy8//c8vP/3PLz/9Pv8P+92dn/AAAA/xgcHP8VGBj/AAAA/y40 - NP+51NX/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/+it7j/Ozw84gAA - AAAAAAAAOzw8tpmnp//d8/T/3fPz/9zy8//c8vP/3PLz/9zy8//c8vP/0e7v/73Z2f8AAAD/Mjk5/7/a - 2/83P0D/AAAA/xATE/+Yrq7/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/8Xh - 4v80NDT+MzMzFAAAAAAzMzNzb3d3993z9P/d8/P/3PLz/9zy8//c8vP/3PLz/9vy8//Q7u//vdnZ/wAA - AP8yOTn/0O7v/87r7P9hb3D/AQEB/wIDA/9od3f/zuzt/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/0ZKSvQyMjJMAAAAADIyMjhDRET43fLz/93z8//c8vP/3PLz/9zy8//c8vP/2fHy/9Du - 7/+92dn/AAAA/zI5Of/Q7u//0O7v/9Du7/+Qpab/DQ8P/wAAAP8/SEj/w9/g/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//bnp6+jU1NYcAAAAAMzMzBTU2NvnL3d7/3fPz/9zy8//c8vP/3PLz/9zy - 8//Y8fL/0O7v/73Z2f8AAAD/Mjk5/9Du7//Q7u//0O7v/9Du7/+wysr/Iicn/wAAAP8hJib/zerr/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7/+Upqf/PD09zAAAAAAAAAAAPT4+zqq4uf/d8/P/3PLz/9zy - 8//c8vP/3PLz/9jx8v/Q7u//vdnZ/wAAAP8yOTn/0O7v/9Du7//Q7u//0O7v/7DKyv8iJyf/AAAA/yEm - Jv/N6uv/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/7jS0v81NTX6KysrBgAAAAA0NDSJgouM+93z - 8//c8vP/3PLz/9zy8//c8vP/2PHy/9Du7/+92dn/AAAA/zI5Of/Q7u//0O7v/9Du7/+Qpab/DQ8P/wAA - AP8+R0f/w9/g/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//z+3u/zw+Pvg0NDQ2AAAAADQ0 - NE5RVFT13fPz/93z8//c8vP/3PLz/9zy8//Y8fL/0O7v/73Z2f8AAAD/Mjk5/9Du7//O6+z/aHd3/wEB - Af8CAwP/aHd3/87s7f/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//X2dn9TQ0 - NHEAAAAAMzMzFDU1Nf7U6er/3fPz/9zy8//c8vP/3PLz/9ry8v/Q7u//vdnZ/wAAAP8yOTn/v9rb/zc/ - QP8AAAD/EBMT/5iurv/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7/+Hl5f/PD09tAAAAAAAAAAAOzw84rTFxv/d8/P/3PLz/9zy8//c8vP/2/Lz/9Du7/+92dn/AAAA/xgc - HP8VGBj/AAAA/y40NP+51NX/0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/5KkpP84OTnsAAAAAAAAAAA4Ojqjj5uc/t3z8//c8vP/3PLz/9zy8//c8vP/0+/w/73Z - 2f8AAAD/AAAA/wAAAP9XZGT/y+jp/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7/+Xqqv/NjY2+zQ0NGMAAAAAAAAAADQ0NGNiZ2f13fPz/9zy8//c8vP/3PLz/9zy - 8//W8PH/xODh/wEBAf8ICQn/hZiZ/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//i5yc/TY3N/c0NDRJAAAAAAAAAAAAAAAAMjIyKTk6Ovva8PD/3PLz/9zy - 8//c8vP/3PLz/9vy8//R7u//l62t/7DKyv/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//z+3u/3mIiPw3ODjyMTExOQAAAAAAAAAAAAAAAAAAAAAAAAABODk58sDS - 0//c8vP/3PLz/9zy8//c8vP/3PLz/9bw8f/Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/8zp6v9ncXL5Nzk55jY2NiYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAA7Pj69nKqr/9zy8//c8vP/3PLz/9zy8//c8vP/3PLz/9Lv8P/Q7u//0O7v/9Du7//Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//I5eb/XGRk+Ds8PNU3NzcXAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAADMzM3hCRET3jZqb/r/S0v/b8vL/3PLz/9zy8//c8vP/2/Lz/9Lv8P/Q7u//0O7v/9Du - 7//Q7u//0O7v/9Du7//Q7u//0O7v/9Du7//Q7u//wdzd/0tRUfc5OjrAKysrDAAAAAAAAAAAAAAAAAAA - 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 - rEGAAKxBgAGsQYADrEHgD6xB/B+sQQ== + ADQAAACsAAAA8AAAAPEAAACsAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+B + /0H+AH9B+AAfQeAAB0GAAAFBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQQAAAEGAAAFB4AAHQfgAH0H+AH9B/4H/QSgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAB9AQEB8QEBAfEAAAB9AAAADgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAHUDAwPvAQEB/g4PD/8ODxD/AQEB/gMD + A+8AAAB1AAAACgAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAZgMDA+gAAAD/Oj9A/rHDw/8sMDH/LDAx/7fJ + yv9JUFD+AQEB/wMDA+0AAAB3AAAACAAAAAAAAAAtAwMD4QAAAP86QUH9rb/A/9zy8//c8vP/LDAx/yww + Mf/c8vP/x9XW/62/wP86QUH9AAAA/wMDA+EAAAAtAgIC0RcZGfyltbb/zN7e/8fW1//Dz9D/2e7v/yww + Mf8sMDH/3PLz/7q+vv/Gzs//3PLz/6a2t/8WGBj8AgIC0AAAAP5XYGD/xtPU/9na2v/o6Oj/w8rL/9zy + 8/8sMDH/LDAx/9zy8//Hy8z/9/f3/8XMzf/b8PH/V2Bg/wAAAP4AAAD/WGFh/8TS0v/09PT/zdPT/9rv + 8P/c8vP/LDAx/ywwMf/c8vP/wsXG/9rb2/+/w8P/xdPU/1hhYf8AAAD/AAAA/1hhYf/E0tL/0NPT/9Xo + 6f/c8vP/yt7f/xUXF/8VFxf/yt7f/8jW1v/Q4+T/3PLz/9zy8/9YYWH/AAAA/wAAAP9YYWH/ydjZ/8/f + 4P/Q5eb/bXh4/wsMDP8CAwP/AgMD/wsMDP9teHj/0OXm/9zy8//c8vP/WGFh/wAAAP8AAAD/WGFh/9fs + 7f+EkZL/FBYW/wEBAf9JUVH/u87P/8DU1f9YYWH/AwMD/xAREf91gYL/1Onq/1hhYf8AAAD/AAAA/zQ6 + Ov8XGhr/AAAA/ztBQf+yw8T/3PLz/9nv7//K2dr/0+bn/7jKy/9JUVH/AQEB/xIUFP8uMzP/AAAA/wEB + AfEAAAD/NDk6/6u8vf/U6On/wcnJ/9DW1v/a3Nz/y8zM/9Di4//c8vP/3PLz/6u8vf80OTr/AAAA/wEB + AfEAAABfAgIC8AEBAf9JUFD+ucvM/8rZ2v/CyMj/7u/v/7/Dw//c8vP/3PLz/7nLzP9JUFD+AQEB/wIC + AvAAAABeAAAAAAAAAAsAAAB3AgMD8QEBAf5JUFH/vM/Q/8fU1f/Dzc7/wdXV/1hhYf8DAwP+AgIC9AAA + AIgAAAAPAAAAAAAAAAAAAAAAAAAAAAAAABEAAACFAgIC9QMDA/1UXFz/VFxc/wMDA/4CAgL1AAAAhQAA + ABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAACMBAQE5QQEBOUAAACMAAAAFQAA + AAAAAAAAAAAAAAAAAAAAAAAA+B+sQeAHrEGAAaxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxBAACsQYABrEHgB6xB+B+sQQ== \ No newline at end of file diff --git a/MemoBoxForm.cs b/MemoBoxForm.cs index 9b94c33..6f34d45 100644 --- a/MemoBoxForm.cs +++ b/MemoBoxForm.cs @@ -1,13 +1,13 @@ using System; using System.Collections.Generic; using System.Windows.Forms; +using RyzStudio.Windows.Forms; using RyzStudio.Windows.ThemedForms; namespace RandomFileRunner { public class MemoBoxForm : Form { - private ThButton button1; private ThMemoBox memoBox1; private ThButton button3; private ThButton button4; @@ -16,22 +16,27 @@ namespace RandomFileRunner private ToolStripMenuItem addDirectoryToolStripMenuItem; private ToolStripMenuItem addFileToolStripMenuItem; private FolderBrowserDialog folderBrowserDialog1; + private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1; private OpenFileDialog openFileDialog1; - private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator1; - public MemoBoxForm() : base() + public MemoBoxForm(List lines) { InitializeComponent(); + UISetup.Dialog(this); + + if (lines != null) + { + memoBox1.TextBox.Lines = lines.ToArray(); + } + memoBox1.TextBox.WordWrap = false; } private void InitializeComponent() { components = new System.ComponentModel.Container(); - button1 = new ThButton(); - tHorizontalSeparator1 = new RyzStudio.Windows.Forms.THorizontalSeparator(); memoBox1 = new ThMemoBox(); button3 = new ThButton(); contextMenuStrip1 = new ContextMenuStrip(components); @@ -40,66 +45,28 @@ namespace RandomFileRunner button4 = new ThButton(); folderBrowserDialog1 = new FolderBrowserDialog(); openFileDialog1 = new OpenFileDialog(); + dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter(); contextMenuStrip1.SuspendLayout(); SuspendLayout(); - // - // button1 - // - button1.AcceptButton = null; - button1.ActiveImage = null; - button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - button1.BackColor = System.Drawing.Color.Transparent; - button1.EnableMenuOnClick = false; - button1.EnableReactiveVisual = true; - button1.HoverImage = null; - button1.IdleImage = null; - button1.LabelText = "&Save"; - button1.Location = new System.Drawing.Point(241, 469); - button1.Margin = new Padding(10, 0, 10, 10); - button1.Name = "button1"; - button1.Padding = new Padding(4, 4, 3, 3); - button1.Size = new System.Drawing.Size(128, 32); - button1.TabIndex = 4; - button1.TabStop = false; - button1.MouseClick += button1_MouseClick; - // - // tHorizontalSeparator1 - // - tHorizontalSeparator1.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; - tHorizontalSeparator1.AutoScrollMargin = new System.Drawing.Size(0, 0); - tHorizontalSeparator1.AutoScrollMinSize = new System.Drawing.Size(0, 0); - tHorizontalSeparator1.BackColor = System.Drawing.Color.Transparent; - tHorizontalSeparator1.Location = new System.Drawing.Point(10, 437); - tHorizontalSeparator1.Margin = new Padding(0, 10, 0, 0); - tHorizontalSeparator1.MaximumSize = new System.Drawing.Size(4920, 2); - tHorizontalSeparator1.MinimumSize = new System.Drawing.Size(0, 22); - tHorizontalSeparator1.Name = "tHorizontalSeparator1"; - tHorizontalSeparator1.Size = new System.Drawing.Size(364, 22); - tHorizontalSeparator1.TabIndex = 188; - tHorizontalSeparator1.TabStop = false; - // + // // memoBox1 - // - memoBox1.AcceptButton = null; + // memoBox1.AllowDrop = true; memoBox1.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; memoBox1.BackColor = System.Drawing.Color.Transparent; memoBox1.EnableReactiveVisual = true; memoBox1.Font = new System.Drawing.Font("Segoe UI", 9F); memoBox1.Location = new System.Drawing.Point(10, 70); - memoBox1.Margin = new Padding(10, 6, 10, 6); memoBox1.Name = "memoBox1"; - memoBox1.Padding = new Padding(4, 4, 3, 3); memoBox1.ReadOnly = false; memoBox1.ScrollBars = ScrollBars.Vertical; - memoBox1.Size = new System.Drawing.Size(364, 361); + memoBox1.Size = new System.Drawing.Size(364, 357); memoBox1.TabIndex = 191; memoBox1.TabStop = false; memoBox1.WordWrap = false; - // + // // button3 - // - button3.AcceptButton = null; + // button3.ActiveImage = null; button3.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; button3.BackColor = System.Drawing.Color.Transparent; @@ -110,36 +77,33 @@ namespace RandomFileRunner button3.IdleImage = null; button3.LabelText = "&Add"; button3.Location = new System.Drawing.Point(10, 21); - button3.Margin = new Padding(10, 0, 10, 10); button3.Name = "button3"; - button3.Padding = new Padding(4, 4, 3, 3); button3.Size = new System.Drawing.Size(177, 33); button3.TabIndex = 189; button3.TabStop = false; - // + // // contextMenuStrip1 - // + // contextMenuStrip1.Items.AddRange(new ToolStripItem[] { addDirectoryToolStripMenuItem, addFileToolStripMenuItem }); contextMenuStrip1.Name = "contextMenuStrip1"; contextMenuStrip1.Size = new System.Drawing.Size(148, 48); - // + // // addDirectoryToolStripMenuItem - // + // addDirectoryToolStripMenuItem.Name = "addDirectoryToolStripMenuItem"; addDirectoryToolStripMenuItem.Size = new System.Drawing.Size(147, 22); addDirectoryToolStripMenuItem.Text = "&Add Directory"; addDirectoryToolStripMenuItem.Click += addDirectoryToolStripMenuItem_Click; - // + // // addFileToolStripMenuItem - // + // addFileToolStripMenuItem.Name = "addFileToolStripMenuItem"; addFileToolStripMenuItem.Size = new System.Drawing.Size(147, 22); addFileToolStripMenuItem.Text = "Add &File"; addFileToolStripMenuItem.Click += addFileToolStripMenuItem_Click; - // + // // button4 - // - button4.AcceptButton = null; + // button4.ActiveImage = null; button4.Anchor = AnchorStyles.Top | AnchorStyles.Right; button4.BackColor = System.Drawing.Color.Transparent; @@ -149,32 +113,40 @@ namespace RandomFileRunner button4.IdleImage = null; button4.LabelText = "&Clear"; button4.Location = new System.Drawing.Point(197, 21); - button4.Margin = new Padding(10, 0, 10, 10); button4.Name = "button4"; - button4.Padding = new Padding(4, 4, 3, 3); button4.Size = new System.Drawing.Size(177, 33); button4.TabIndex = 190; button4.TabStop = false; button4.MouseClick += button4_MouseClick; - // + // // folderBrowserDialog1 - // + // folderBrowserDialog1.ShowNewFolderButton = false; - // + // // openFileDialog1 - // + // openFileDialog1.Filter = "All files (*.*)|*.*"; - // + // + // dialogFooter1 + // + dialogFooter1.BackColor = System.Drawing.Color.FromArgb(240, 240, 240); + dialogFooter1.Button1Text = "&OK"; + dialogFooter1.Dialog = this; + dialogFooter1.Dock = DockStyle.Bottom; + dialogFooter1.Location = new System.Drawing.Point(0, 437); + dialogFooter1.Name = "dialogFooter1"; + dialogFooter1.Size = new System.Drawing.Size(384, 84); + // // MemoBoxForm - // + // AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; + BackColor = System.Drawing.Color.White; ClientSize = new System.Drawing.Size(384, 521); + Controls.Add(dialogFooter1); Controls.Add(memoBox1); Controls.Add(button3); Controls.Add(button4); - Controls.Add(tHorizontalSeparator1); - Controls.Add(button1); MinimumSize = new System.Drawing.Size(400, 560); Name = "MemoBoxForm"; ShowIcon = false; @@ -188,26 +160,16 @@ namespace RandomFileRunner { base.OnShown(e); - this.DialogResult = System.Windows.Forms.DialogResult.None; + memoBox1.Focus(); } - public List Lines + public List Result { get => memoBox1.Lines; - set - { - memoBox1.TextBox.Lines = value.ToArray(); - } } - private void button1_MouseClick(object sender, MouseEventArgs e) - { - this.DialogResult = DialogResult.OK; - this.Close(); - } - /// /// Add Directory. /// diff --git a/OptionsForm.cs b/OptionsForm.cs index 4640e24..9d156a8 100644 --- a/OptionsForm.cs +++ b/OptionsForm.cs @@ -1,18 +1,16 @@ -using RyzStudio.Windows.ThemedForms; +using System; +using System.Windows.Forms; +using RyzStudio.Windows.Forms; using RyzStudio.Windows.ThemedForms.ButtonTextBox; using RyzStudio.Windows.ThemedForms.PickerBox; -using System; -using System.Windows.Forms; namespace RandomFileRunner { public class OptionsForm : Form { - private ThButton button1; private ThYesNoPickerBox pickerBox1; private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label8; - private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator1; private ThNumericPickerBox pickerBox2; private ThKeyCodeTextBox textBox1; private ThYesNoPickerBox pickerBox3; @@ -20,76 +18,69 @@ namespace RandomFileRunner private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator3; private Label label2; private RyzStudio.Windows.Forms.THorizontalSeparator tHorizontalSeparator2; + private RyzStudio.Windows.ThemedForms.Composite.DialogFooter dialogFooter1; + + + private AppSession _session = null; public OptionsForm(AppSession session) : base() { InitializeComponent(); - this.Session = session; + UISetup.Dialog(this); + + _session = session; + + if (_session != null) + { + pickerBox1.Value = _session.SearchTopDirectoryOnly; + pickerBox2.Value = _session.RetryOnError; + pickerBox3.Value = _session.ClosePrevOnNext; + + if (_session.NextHotKey != null) + { + textBox1.UpdateKeyCode(_session.NextHotKey.IsCtrl, _session.NextHotKey.IsAlt, _session.NextHotKey.IsShift, _session.NextHotKey.KeyCode); + } + } } private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OptionsForm)); ThKeyCodeTextBox.Results results1 = new ThKeyCodeTextBox.Results(); - button1 = new ThButton(); pickerBox1 = new ThYesNoPickerBox(); label6 = new Label(); label8 = new Label(); - tHorizontalSeparator1 = new RyzStudio.Windows.Forms.THorizontalSeparator(); - tHorizontalSeparator2 = new RyzStudio.Windows.Forms.THorizontalSeparator(); + tHorizontalSeparator2 = new THorizontalSeparator(); pickerBox2 = new ThNumericPickerBox(); textBox1 = new ThKeyCodeTextBox(); pickerBox3 = new ThYesNoPickerBox(); label1 = new Label(); - tHorizontalSeparator3 = new RyzStudio.Windows.Forms.THorizontalSeparator(); + tHorizontalSeparator3 = new THorizontalSeparator(); label2 = new Label(); + dialogFooter1 = new RyzStudio.Windows.ThemedForms.Composite.DialogFooter(); SuspendLayout(); - // - // button1 - // - button1.AcceptButton = null; - button1.ActiveImage = null; - button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; - button1.BackColor = System.Drawing.Color.Transparent; - button1.EnableMenuOnClick = false; - button1.EnableReactiveVisual = true; - button1.HoverImage = null; - button1.IdleImage = null; - button1.LabelText = "&Save"; - button1.Location = new System.Drawing.Point(241, 469); - button1.Margin = new Padding(10, 0, 10, 10); - button1.Name = "button1"; - button1.Padding = new Padding(4, 4, 3, 3); - button1.Size = new System.Drawing.Size(128, 32); - button1.TabIndex = 4; - button1.TabStop = false; - button1.MouseClick += button1_MouseClick; - // + // // pickerBox1 - // - pickerBox1.AcceptButton = null; + // pickerBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right; pickerBox1.BackColor = System.Drawing.Color.Transparent; pickerBox1.EnableReactiveVisual = true; pickerBox1.Font = new System.Drawing.Font("Segoe UI", 9F); - pickerBox1.Location = new System.Drawing.Point(285, 21); - pickerBox1.Margin = new Padding(10, 10, 10, 0); + pickerBox1.Location = new System.Drawing.Point(285, 20); pickerBox1.Name = "pickerBox1"; - pickerBox1.Padding = new Padding(4, 4, 3, 3); pickerBox1.SelectedIndex = 1; pickerBox1.Size = new System.Drawing.Size(84, 35); pickerBox1.TabIndex = 0; pickerBox1.TabStop = false; pickerBox1.Value = true; - // + // // label6 - // + // label6.AutoSize = true; label6.BackColor = System.Drawing.Color.Transparent; label6.ForeColor = System.Drawing.SystemColors.ControlText; - label6.Location = new System.Drawing.Point(10, 85); + label6.Location = new System.Drawing.Point(10, 95); label6.Margin = new Padding(0); label6.Name = "label6"; label6.Padding = new Padding(0, 9, 0, 10); @@ -97,13 +88,13 @@ namespace RandomFileRunner label6.TabIndex = 182; label6.Text = "Retry On Error"; label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // label8 - // + // label8.AutoSize = true; label8.BackColor = System.Drawing.Color.Transparent; label8.ForeColor = System.Drawing.SystemColors.ControlText; - label8.Location = new System.Drawing.Point(10, 21); + label8.Location = new System.Drawing.Point(10, 20); label8.Margin = new Padding(0); label8.Name = "label8"; label8.Padding = new Padding(0, 9, 0, 10); @@ -111,29 +102,14 @@ namespace RandomFileRunner label8.TabIndex = 186; label8.Text = "Search Top Directory Only"; label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // tHorizontalSeparator1 - // - tHorizontalSeparator1.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; - tHorizontalSeparator1.AutoScrollMargin = new System.Drawing.Size(0, 0); - tHorizontalSeparator1.AutoScrollMinSize = new System.Drawing.Size(0, 0); - tHorizontalSeparator1.BackColor = System.Drawing.Color.Transparent; - tHorizontalSeparator1.Location = new System.Drawing.Point(10, 437); - tHorizontalSeparator1.Margin = new Padding(0, 10, 0, 0); - tHorizontalSeparator1.MaximumSize = new System.Drawing.Size(4920, 2); - tHorizontalSeparator1.MinimumSize = new System.Drawing.Size(0, 22); - tHorizontalSeparator1.Name = "tHorizontalSeparator1"; - tHorizontalSeparator1.Size = new System.Drawing.Size(364, 22); - tHorizontalSeparator1.TabIndex = 188; - tHorizontalSeparator1.TabStop = false; - // + // // tHorizontalSeparator2 - // + // tHorizontalSeparator2.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; tHorizontalSeparator2.AutoScrollMargin = new System.Drawing.Size(0, 0); tHorizontalSeparator2.AutoScrollMinSize = new System.Drawing.Size(0, 0); tHorizontalSeparator2.BackColor = System.Drawing.Color.Transparent; - tHorizontalSeparator2.Location = new System.Drawing.Point(10, 59); + tHorizontalSeparator2.Location = new System.Drawing.Point(10, 64); tHorizontalSeparator2.Margin = new Padding(0, 10, 0, 0); tHorizontalSeparator2.MaximumSize = new System.Drawing.Size(4920, 2); tHorizontalSeparator2.MinimumSize = new System.Drawing.Size(0, 22); @@ -141,73 +117,64 @@ namespace RandomFileRunner tHorizontalSeparator2.Size = new System.Drawing.Size(364, 22); tHorizontalSeparator2.TabIndex = 190; tHorizontalSeparator2.TabStop = false; - // + // // pickerBox2 - // - pickerBox2.AcceptButton = null; + // pickerBox2.Anchor = AnchorStyles.Top | AnchorStyles.Right; pickerBox2.BackColor = System.Drawing.Color.Transparent; pickerBox2.EnableReactiveVisual = true; pickerBox2.Font = new System.Drawing.Font("Segoe UI", 9F); - pickerBox2.Location = new System.Drawing.Point(285, 85); - pickerBox2.Margin = new Padding(10, 10, 10, 0); + pickerBox2.Location = new System.Drawing.Point(285, 95); pickerBox2.MaxDropDownItems = 10; pickerBox2.Maximum = 50; pickerBox2.Minimum = 0; pickerBox2.Name = "pickerBox2"; - pickerBox2.Padding = new Padding(4, 4, 3, 3); pickerBox2.SelectedIndex = 0; pickerBox2.Size = new System.Drawing.Size(84, 35); pickerBox2.TabIndex = 1; pickerBox2.TabStop = false; pickerBox2.Value = 0; - // + // // textBox1 - // - textBox1.AcceptButton = null; + // textBox1.Anchor = AnchorStyles.Top | AnchorStyles.Right; textBox1.BackColor = System.Drawing.Color.Transparent; textBox1.EnableReactiveVisual = true; textBox1.Font = new System.Drawing.Font("Segoe UI", 9F); - textBox1.HighlightImage = (System.Drawing.Image)resources.GetObject("textBox1.HighlightImage"); + textBox1.Icon = "O"; + textBox1.IconSize = 13F; results1.IsAlt = false; results1.IsCtrl = false; results1.IsShift = false; results1.Key = Keys.None; textBox1.KeyCodeResults = results1; - textBox1.Location = new System.Drawing.Point(241, 197); - textBox1.Margin = new Padding(10, 10, 10, 0); + textBox1.Location = new System.Drawing.Point(241, 216); textBox1.Name = "textBox1"; - textBox1.NormalImage = (System.Drawing.Image)resources.GetObject("textBox1.NormalImage"); - textBox1.Padding = new Padding(4, 4, 3, 3); textBox1.Size = new System.Drawing.Size(128, 32); textBox1.TabIndex = 3; textBox1.TabStop = false; textBox1.UseSystemPasswordChar = false; - // + // // pickerBox3 - // - pickerBox3.AcceptButton = null; + // pickerBox3.Anchor = AnchorStyles.Top | AnchorStyles.Right; pickerBox3.BackColor = System.Drawing.Color.Transparent; pickerBox3.EnableReactiveVisual = true; pickerBox3.Font = new System.Drawing.Font("Segoe UI", 9F); - pickerBox3.Location = new System.Drawing.Point(285, 127); - pickerBox3.Margin = new Padding(10, 10, 10, 0); + pickerBox3.Location = new System.Drawing.Point(285, 140); pickerBox3.Name = "pickerBox3"; - pickerBox3.Padding = new Padding(4, 4, 3, 3); pickerBox3.SelectedIndex = 1; pickerBox3.Size = new System.Drawing.Size(84, 35); pickerBox3.TabIndex = 2; pickerBox3.TabStop = false; pickerBox3.Value = true; - // + // // label1 - // + // label1.AutoSize = true; label1.BackColor = System.Drawing.Color.Transparent; label1.ForeColor = System.Drawing.SystemColors.ControlText; - label1.Location = new System.Drawing.Point(10, 127); + label1.Location = new System.Drawing.Point(10, 140); label1.Margin = new Padding(0); label1.Name = "label1"; label1.Padding = new Padding(0, 9, 0, 10); @@ -215,14 +182,14 @@ namespace RandomFileRunner label1.TabIndex = 196; label1.Text = "Close Current Process On Next"; label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // // tHorizontalSeparator3 - // + // tHorizontalSeparator3.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; tHorizontalSeparator3.AutoScrollMargin = new System.Drawing.Size(0, 0); tHorizontalSeparator3.AutoScrollMinSize = new System.Drawing.Size(0, 0); tHorizontalSeparator3.BackColor = System.Drawing.Color.Transparent; - tHorizontalSeparator3.Location = new System.Drawing.Point(10, 165); + tHorizontalSeparator3.Location = new System.Drawing.Point(10, 184); tHorizontalSeparator3.Margin = new Padding(0, 10, 0, 0); tHorizontalSeparator3.MaximumSize = new System.Drawing.Size(4920, 2); tHorizontalSeparator3.MinimumSize = new System.Drawing.Size(0, 22); @@ -230,13 +197,13 @@ namespace RandomFileRunner tHorizontalSeparator3.Size = new System.Drawing.Size(364, 22); tHorizontalSeparator3.TabIndex = 197; tHorizontalSeparator3.TabStop = false; - // + // // label2 - // + // label2.AutoSize = true; label2.BackColor = System.Drawing.Color.Transparent; label2.ForeColor = System.Drawing.SystemColors.ControlText; - label2.Location = new System.Drawing.Point(10, 197); + label2.Location = new System.Drawing.Point(10, 216); label2.Margin = new Padding(0); label2.Name = "label2"; label2.Padding = new Padding(0, 9, 0, 10); @@ -244,12 +211,24 @@ namespace RandomFileRunner label2.TabIndex = 198; label2.Text = "Next File Shortcut Key"; label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // + // + // dialogFooter1 + // + dialogFooter1.BackColor = System.Drawing.Color.FromArgb(240, 240, 240); + dialogFooter1.Button1Text = "&Save"; + dialogFooter1.Dialog = this; + dialogFooter1.Dock = DockStyle.Bottom; + dialogFooter1.Location = new System.Drawing.Point(0, 437); + dialogFooter1.Name = "dialogFooter1"; + dialogFooter1.Size = new System.Drawing.Size(384, 84); + // // OptionsForm - // + // AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; + BackColor = System.Drawing.Color.White; ClientSize = new System.Drawing.Size(384, 521); + Controls.Add(dialogFooter1); Controls.Add(label2); Controls.Add(tHorizontalSeparator3); Controls.Add(label1); @@ -257,11 +236,9 @@ namespace RandomFileRunner Controls.Add(textBox1); Controls.Add(pickerBox2); Controls.Add(tHorizontalSeparator2); - Controls.Add(tHorizontalSeparator1); Controls.Add(label8); Controls.Add(pickerBox1); Controls.Add(label6); - Controls.Add(button1); MinimumSize = new System.Drawing.Size(400, 560); Name = "OptionsForm"; ShowIcon = false; @@ -275,33 +252,29 @@ namespace RandomFileRunner { base.OnShown(e); - this.DialogResult = System.Windows.Forms.DialogResult.None; - - pickerBox1.Value = this.Session.SearchTopDirectoryOnly; - pickerBox2.Value = this.Session.RetryOnError; - //pickerBox2.Clear.Clear(0, 20, this.Session.RetryOnError); - pickerBox3.Value = this.Session.ClosePrevOnNext; - if (this.Session.NextHotKey != null) textBox1.UpdateKeyCode(this.Session.NextHotKey.IsCtrl, this.Session.NextHotKey.IsAlt, this.Session.NextHotKey.IsShift, this.Session.NextHotKey.KeyCode); + pickerBox1.Focus(); } - public AppSession Session { get; protected set; } - - - private void button1_MouseClick(object sender, MouseEventArgs e) + public AppSession Result { - if (this.Session == null) this.Session = new AppSession(); + get + { + if (_session == null) + { + _session = new AppSession(); + } - this.Session.SearchTopDirectoryOnly = pickerBox1.Value; - this.Session.RetryOnError = pickerBox2.Value; - this.Session.ClosePrevOnNext = pickerBox3.Value; - this.Session.NextHotKey.IsCtrl = textBox1.KeyCodeResults.IsCtrl; - this.Session.NextHotKey.IsAlt = textBox1.KeyCodeResults.IsAlt; - this.Session.NextHotKey.IsShift = textBox1.KeyCodeResults.IsShift; - this.Session.NextHotKey.Key = textBox1.KeyCodeResults.KeyCode; + _session.SearchTopDirectoryOnly = pickerBox1.Value; + _session.RetryOnError = pickerBox2.Value; + _session.ClosePrevOnNext = pickerBox3.Value; + _session.NextHotKey.IsCtrl = textBox1.KeyCodeResults.IsCtrl; + _session.NextHotKey.IsAlt = textBox1.KeyCodeResults.IsAlt; + _session.NextHotKey.IsShift = textBox1.KeyCodeResults.IsShift; + _session.NextHotKey.Key = textBox1.KeyCodeResults.KeyCode; - this.DialogResult = DialogResult.OK; - this.Close(); + return _session; + } } } diff --git a/OptionsForm.resx b/OptionsForm.resx index 0386da6..af32865 100644 --- a/OptionsForm.resx +++ b/OptionsForm.resx @@ -117,25 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wQAADsEBuJFr7QAAAN5JREFUOE/tUzsKwkAUXLCyFMHjeIvdB4Gk8ALamU4rsbLaTWz0AOYGOYMewTqe - QLEQnZc8WRMSsBYHhrzPzJBin2pC60PPGLs3xl3Bp5DrHe9E1g2tHUH8QMjKmGReketyZkRWh9abfhTZ - YRimI4jWRPYSBMngkzzjHWtYyx6xK4X0Anz/7rcsxM4BdoxBTuTOqCdEaUyU6DrTuNqxxuXsEXsFDLfg - UdpOsIa10nr8A34p4CRtJ1jTGoC3PsPiBi78ETXplqzBwU3F5sHHgWWGJ3rHt+3tg+Uu84ek1AsYYd8q - EsfwCwAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wQAADsEBuJFr7QAAANFJREFUOE/tkzEKAjEURANWliJ4HG+h9l5AO7fTSjyCxWpCIBB2b+AZ9AjW6wlc - LGSdWb9Elw1YiwOP/Pw/E1Ikqqksyzpa670x5goqgfWOM7HFhfAE5jvWNdYFkZq9sdg+laZp13vfBwOY - NjBfnHO9d9jjjB56mZG4UhgW4HXdbykkXl97iMYBnFFPrbUJGDVIOKOHXmYk/hSaW3CUbVT00CvboP8B - v3TASbZR0RM7YA5KsAT1J2phBUq8wpnEgvg5MMwxvGFte/uVzPLwkZR6AInAKK6aICfTAAAAAElFTkSu - QmCC - - \ No newline at end of file diff --git a/RandomFileRunner.csproj b/RandomFileRunner.csproj index a71bf0b..b1b2a7d 100644 --- a/RandomFileRunner.csproj +++ b/RandomFileRunner.csproj @@ -11,7 +11,7 @@ Ray Lam favicon.ico true - 1.1.0.074 + 1.1.1.031 @@ -24,11 +24,8 @@ - - - @@ -39,20 +36,12 @@ - + - - - - - - - - - - + + @@ -64,11 +53,6 @@ Form - - True - True - UIResource.resx - @@ -76,10 +60,6 @@ ResXFileCodeGenerator AppResource.Designer.cs - - PublicResXFileCodeGenerator - UIResource.Designer.cs - \ No newline at end of file diff --git a/References/RyzStudio.8.1.0.720.nupkg b/References/RyzStudio.8.1.0.720.nupkg deleted file mode 100644 index f4d8fbd..0000000 Binary files a/References/RyzStudio.8.1.0.720.nupkg and /dev/null differ diff --git a/References/RyzStudio.8.1.2.249.nupkg b/References/RyzStudio.8.1.2.249.nupkg new file mode 100644 index 0000000..0778768 Binary files /dev/null and b/References/RyzStudio.8.1.2.249.nupkg differ diff --git a/References/RyzStudio.Windows.Forms.8.1.0.719.nupkg b/References/RyzStudio.Windows.Forms.8.1.0.719.nupkg deleted file mode 100644 index 2b83ffb..0000000 Binary files a/References/RyzStudio.Windows.Forms.8.1.0.719.nupkg and /dev/null differ diff --git a/References/RyzStudio.Windows.Forms.8.1.3.614.nupkg b/References/RyzStudio.Windows.Forms.8.1.3.614.nupkg new file mode 100644 index 0000000..0a6516d Binary files /dev/null and b/References/RyzStudio.Windows.Forms.8.1.3.614.nupkg differ diff --git a/Resources/icon-64.png b/Resources/icon-64.png new file mode 100644 index 0000000..8491553 Binary files /dev/null and b/Resources/icon-64.png differ diff --git a/Resources/loading-block.gif b/Resources/loading-block.gif deleted file mode 100644 index a5aa827..0000000 Binary files a/Resources/loading-block.gif and /dev/null differ diff --git a/Resources/trash-2.png b/Resources/trash-2.png deleted file mode 100644 index 53d2b21..0000000 Binary files a/Resources/trash-2.png and /dev/null differ diff --git a/Resources/trash.png b/Resources/trash.png deleted file mode 100644 index 47e32fd..0000000 Binary files a/Resources/trash.png and /dev/null differ diff --git a/UIResource.Designer.cs b/UIResource.Designer.cs deleted file mode 100644 index 9892765..0000000 --- a/UIResource.Designer.cs +++ /dev/null @@ -1,93 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 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 RandomFileRunner { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public class UIResource { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal UIResource() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - public static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RandomFileRunner.UIResource", typeof(UIResource).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - public static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap loading_block { - get { - object obj = ResourceManager.GetObject("loading_block", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap trash { - get { - object obj = ResourceManager.GetObject("trash", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap trash_2 { - get { - object obj = ResourceManager.GetObject("trash_2", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - } -} diff --git a/UIResource.resx b/UIResource.resx deleted file mode 100644 index 9703ecc..0000000 --- a/UIResource.resx +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - Resources\loading-block.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - Resources\trash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - Resources\trash-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - \ No newline at end of file diff --git a/build.bat b/build.bat index ce52a2f..ecf6655 100644 --- a/build.bat +++ b/build.bat @@ -1,5 +1,17 @@ -rmdir /s /q "bin\Release\64\" -dotnet publish skye.sln -r win-x64 -c Release /p:PublishSingleFile=true /p:SelfContained=false /p:PublishReadyToRunfalse=true /p:PublishDir="bin\Release\64\" +RMDIR /s /q "bin\" +RMDIR /s /q "obj\" -REM rmdir /s /q "bin\Release\86\" -REM dotnet publish skye.sln -r win-x86 -c Release /p:PublishSingleFile=true /p:SelfContained=false /p:PublishReadyToRunfalse=true /p:PublishDir="bin\Release\86\" \ No newline at end of file +MKDIR bin + +dotnet restore skye.sln +dotnet publish skye.sln -r win-x64 -c Release /p:PublishSingleFile=true /p:SelfContained=false /p:PublishReadyToRunfalse=true /p:PublishDir="bin\" + +REM "C:\B\Portable Files (dev)\Inno Setup\v6.0.4-2\app\ISCC.exe" "build-installer.iss" + +"C:\B\Portable Files\7-Zip (Portable)\23.01\App\7-Zip64\7z.exe" a -t7z "bin\randomfilerunner.7z" ".\bin\randomfilerunner.exe" -mx9 + +RMDIR /s /q "bin\debug" +RMDIR /s /q "bin\release" +RMDIR /s /q "obj\" + +PAUSE \ No newline at end of file diff --git a/favicon.ico b/favicon.ico index 4bfee9e..0d7bc1f 100644 Binary files a/favicon.ico and b/favicon.ico differ