Name controls

Name controls

--- FredUltraFileSearch/FormMain.Designer.cs
+++ FredUltraFileSearch/FormMain.Designer.cs
@@ -67,25 +67,27 @@
       this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
       this.tabControlMain = new System.Windows.Forms.TabControl();
       this.tabPageFilesAndFolders = new System.Windows.Forms.TabPage();
-      this.statusStripMain = new System.Windows.Forms.StatusStrip();
+      this.buttonReset = new System.Windows.Forms.Button();
+      this.buttonStop = new System.Windows.Forms.Button();
+      this.buttonSearch = new System.Windows.Forms.Button();
+      this.panel1 = new System.Windows.Forms.Panel();
+      this.comboBoxMode = new System.Windows.Forms.ComboBox();
+      this.checkBoxSearchForFolders = new System.Windows.Forms.CheckBox();
+      this.checkBoxSearchForFiles = new System.Windows.Forms.CheckBox();
+      this.checkBoxAppendResults = new System.Windows.Forms.CheckBox();
+      this.checkBoxIncludeHiddenFolders = new System.Windows.Forms.CheckBox();
+      this.textBox2 = new System.Windows.Forms.TextBox();
+      this.buttonBrowsePath = new System.Windows.Forms.Button();
+      this.labelStartingFolders = new System.Windows.Forms.Label();
+      this.checkBoxScanInsubFolders = new System.Windows.Forms.CheckBox();
+      this.textBox1 = new System.Windows.Forms.TextBox();
+      this.labelFileNames = new System.Windows.Forms.Label();
       this.tabPageContaining = new System.Windows.Forms.TabPage();
       this.tabPageDateAndSize = new System.Windows.Forms.TabPage();
-      this.label1 = new System.Windows.Forms.Label();
-      this.textBox1 = new System.Windows.Forms.TextBox();
-      this.checkBox1 = new System.Windows.Forms.CheckBox();
-      this.panel1 = new System.Windows.Forms.Panel();
-      this.textBox2 = new System.Windows.Forms.TextBox();
-      this.button2 = new System.Windows.Forms.Button();
-      this.label2 = new System.Windows.Forms.Label();
-      this.checkBox2 = new System.Windows.Forms.CheckBox();
-      this.checkBox3 = new System.Windows.Forms.CheckBox();
-      this.checkBox4 = new System.Windows.Forms.CheckBox();
-      this.checkBox5 = new System.Windows.Forms.CheckBox();
-      this.checkBox6 = new System.Windows.Forms.CheckBox();
-      this.button3 = new System.Windows.Forms.Button();
-      this.button4 = new System.Windows.Forms.Button();
-      this.button5 = new System.Windows.Forms.Button();
-      this.comboBox1 = new System.Windows.Forms.ComboBox();
+      this.statusStripMain = new System.Windows.Forms.StatusStrip();
+      this.listView1 = new System.Windows.Forms.ListView();
+      this.labelMode = new System.Windows.Forms.Label();
+      this.labelSelect = new System.Windows.Forms.Label();
       this.menuStrip1.SuspendLayout();
       this.tabControlMain.SuspendLayout();
       this.tabPageFilesAndFolders.SuspendLayout();
@@ -104,8 +106,8 @@
             this.helpToolStripMenuItem});
       this.menuStrip1.Location = new System.Drawing.Point(0, 0);
       this.menuStrip1.Name = "menuStrip1";
-      this.menuStrip1.Padding = new System.Windows.Forms.Padding(5, 2, 0, 2);
-      this.menuStrip1.Size = new System.Drawing.Size(1257, 28);
+      this.menuStrip1.Padding = new System.Windows.Forms.Padding(4, 2, 0, 2);
+      this.menuStrip1.Size = new System.Drawing.Size(943, 24);
       this.menuStrip1.TabIndex = 1;
       this.menuStrip1.Text = "menuStrip1";
       //
@@ -123,7 +125,7 @@
             this.toolStripSeparator2,
             this.quitToolStripMenuItem});
       this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
-      this.fileToolStripMenuItem.Size = new System.Drawing.Size(64, 24);
+      this.fileToolStripMenuItem.Size = new System.Drawing.Size(54, 20);
       this.fileToolStripMenuItem.Text = "&Fichier";
       //
       // newToolStripMenuItem
@@ -131,7 +133,7 @@
       this.newToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
       this.newToolStripMenuItem.Name = "newToolStripMenuItem";
       this.newToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
-      this.newToolStripMenuItem.Size = new System.Drawing.Size(247, 26);
+      this.newToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
       this.newToolStripMenuItem.Text = "&Nouveau";
       //
       // openToolStripMenuItem
@@ -139,57 +141,57 @@
       this.openToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
       this.openToolStripMenuItem.Name = "openToolStripMenuItem";
       this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
-      this.openToolStripMenuItem.Size = new System.Drawing.Size(247, 26);
+      this.openToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
       this.openToolStripMenuItem.Text = "&Ouvrir";
       //
       // toolStripSeparator
       //
       this.toolStripSeparator.Name = "toolStripSeparator";
-      this.toolStripSeparator.Size = new System.Drawing.Size(244, 6);
+      this.toolStripSeparator.Size = new System.Drawing.Size(202, 6);
       //
       // saveToolStripMenuItem
       //
       this.saveToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
       this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
       this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
-      this.saveToolStripMenuItem.Size = new System.Drawing.Size(247, 26);
+      this.saveToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
       this.saveToolStripMenuItem.Text = "&Enregistrer";
       //
       // saveasToolStripMenuItem
       //
       this.saveasToolStripMenuItem.Name = "saveasToolStripMenuItem";
-      this.saveasToolStripMenuItem.Size = new System.Drawing.Size(247, 26);
+      this.saveasToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
       this.saveasToolStripMenuItem.Text = "Enregistrer &sous";
       //
       // toolStripSeparator1
       //
       this.toolStripSeparator1.Name = "toolStripSeparator1";
-      this.toolStripSeparator1.Size = new System.Drawing.Size(244, 6);
+      this.toolStripSeparator1.Size = new System.Drawing.Size(202, 6);
       //
       // printToolStripMenuItem
       //
       this.printToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
       this.printToolStripMenuItem.Name = "printToolStripMenuItem";
       this.printToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.P)));
-      this.printToolStripMenuItem.Size = new System.Drawing.Size(247, 26);
+      this.printToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
       this.printToolStripMenuItem.Text = "&Imprimer";
       //
       // printPreviewToolStripMenuItem
       //
       this.printPreviewToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
       this.printPreviewToolStripMenuItem.Name = "printPreviewToolStripMenuItem";
-      this.printPreviewToolStripMenuItem.Size = new System.Drawing.Size(247, 26);
+      this.printPreviewToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
       this.printPreviewToolStripMenuItem.Text = "Aperçu a&vant impression";
       //
       // toolStripSeparator2
       //
       this.toolStripSeparator2.Name = "toolStripSeparator2";
-      this.toolStripSeparator2.Size = new System.Drawing.Size(244, 6);
+      this.toolStripSeparator2.Size = new System.Drawing.Size(202, 6);
       //
       // quitToolStripMenuItem
       //
       this.quitToolStripMenuItem.Name = "quitToolStripMenuItem";
-      this.quitToolStripMenuItem.Size = new System.Drawing.Size(247, 26);
+      this.quitToolStripMenuItem.Size = new System.Drawing.Size(205, 22);
       this.quitToolStripMenuItem.Text = "&Quitter";
       this.quitToolStripMenuItem.Click += new System.EventHandler(this.QuitToolStripMenuItem_Click);
       //
@@ -205,34 +207,34 @@
             this.toolStripSeparator4,
             this.selectAllToolStripMenuItem});
       this.editToolStripMenuItem.Name = "editToolStripMenuItem";
-      this.editToolStripMenuItem.Size = new System.Drawing.Size(68, 24);
+      this.editToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
       this.editToolStripMenuItem.Text = "&Edition";
       //
       // cancelToolStripMenuItem
       //
       this.cancelToolStripMenuItem.Name = "cancelToolStripMenuItem";
       this.cancelToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z)));
-      this.cancelToolStripMenuItem.Size = new System.Drawing.Size(197, 26);
+      this.cancelToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
       this.cancelToolStripMenuItem.Text = "&Annuler";
       //
       // redoToolStripMenuItem
       //
       this.redoToolStripMenuItem.Name = "redoToolStripMenuItem";
       this.redoToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Y)));
-      this.redoToolStripMenuItem.Size = new System.Drawing.Size(197, 26);
+      this.redoToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
       this.redoToolStripMenuItem.Text = "&Rétablir";
       //
       // toolStripSeparator3
       //
       this.toolStripSeparator3.Name = "toolStripSeparator3";
-      this.toolStripSeparator3.Size = new System.Drawing.Size(194, 6);
+      this.toolStripSeparator3.Size = new System.Drawing.Size(161, 6);
       //
       // cutToolStripMenuItem
       //
       this.cutToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
       this.cutToolStripMenuItem.Name = "cutToolStripMenuItem";
       this.cutToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X)));
-      this.cutToolStripMenuItem.Size = new System.Drawing.Size(197, 26);
+      this.cutToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
       this.cutToolStripMenuItem.Text = "&Couper";
       this.cutToolStripMenuItem.Click += new System.EventHandler(this.cutToolStripMenuItem_Click);
       //
@@ -241,7 +243,7 @@
       this.copyToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
       this.copyToolStripMenuItem.Name = "copyToolStripMenuItem";
       this.copyToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C)));
-      this.copyToolStripMenuItem.Size = new System.Drawing.Size(197, 26);
+      this.copyToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
       this.copyToolStripMenuItem.Text = "Co&pier";
       this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
       //
@@ -250,19 +252,19 @@
       this.pasteToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
       this.pasteToolStripMenuItem.Name = "pasteToolStripMenuItem";
       this.pasteToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V)));
-      this.pasteToolStripMenuItem.Size = new System.Drawing.Size(197, 26);
+      this.pasteToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
       this.pasteToolStripMenuItem.Text = "Co&ller";
       this.pasteToolStripMenuItem.Click += new System.EventHandler(this.pasteToolStripMenuItem_Click);
       //
       // toolStripSeparator4
       //
       this.toolStripSeparator4.Name = "toolStripSeparator4";
-      this.toolStripSeparator4.Size = new System.Drawing.Size(194, 6);
+      this.toolStripSeparator4.Size = new System.Drawing.Size(161, 6);
       //
       // selectAllToolStripMenuItem
       //
       this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem";
-      this.selectAllToolStripMenuItem.Size = new System.Drawing.Size(197, 26);
+      this.selectAllToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
       this.selectAllToolStripMenuItem.Text = "Sélectio&nner tout";
       this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
       //
@@ -272,19 +274,19 @@
             this.personalizeToolStripMenuItem,
             this.optionsToolStripMenuItem});
       this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem";
-      this.toolsToolStripMenuItem.Size = new System.Drawing.Size(59, 24);
+      this.toolsToolStripMenuItem.Size = new System.Drawing.Size(50, 20);
       this.toolsToolStripMenuItem.Text = "&Outils";
       //
       // personalizeToolStripMenuItem
       //
       this.personalizeToolStripMenuItem.Name = "personalizeToolStripMenuItem";
-      this.personalizeToolStripMenuItem.Size = new System.Drawing.Size(171, 26);
+      this.personalizeToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
       this.personalizeToolStripMenuItem.Text = "&Personnaliser";
       //
       // optionsToolStripMenuItem
       //
       this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
-      this.optionsToolStripMenuItem.Size = new System.Drawing.Size(171, 26);
+      this.optionsToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
       this.optionsToolStripMenuItem.Text = "&Options";
       this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsToolStripMenuItem_Click);
       //
@@ -294,7 +296,7 @@
             this.frenchToolStripMenuItem,
             this.englishToolStripMenuItem});
       this.languagetoolStripMenuItem.Name = "languagetoolStripMenuItem";
-      this.languagetoolStripMenuItem.Size = new System.Drawing.Size(86, 24);
+      this.languagetoolStripMenuItem.Size = new System.Drawing.Size(71, 20);
       this.languagetoolStripMenuItem.Text = "Language";
       //
       // frenchToolStripMenuItem
@@ -302,14 +304,14 @@
       this.frenchToolStripMenuItem.Checked = true;
       this.frenchToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
       this.frenchToolStripMenuItem.Name = "frenchToolStripMenuItem";
-      this.frenchToolStripMenuItem.Size = new System.Drawing.Size(137, 26);
+      this.frenchToolStripMenuItem.Size = new System.Drawing.Size(117, 22);
       this.frenchToolStripMenuItem.Text = "Français";
       this.frenchToolStripMenuItem.Click += new System.EventHandler(this.frenchToolStripMenuItem_Click);
       //
       // englishToolStripMenuItem
       //
       this.englishToolStripMenuItem.Name = "englishToolStripMenuItem";
-      this.englishToolStripMenuItem.Size = new System.Drawing.Size(137, 26);
+      this.englishToolStripMenuItem.Size = new System.Drawing.Size(117, 22);
       this.englishToolStripMenuItem.Text = "Anglais";
       this.englishToolStripMenuItem.Click += new System.EventHandler(this.englishToolStripMenuItem_Click);
       //
@@ -320,7 +322,7 @@
             this.MediumToolStripMenuItem,
             this.LargeToolStripMenuItem});
       this.DisplayToolStripMenuItem.Name = "DisplayToolStripMenuItem";
-      this.DisplayToolStripMenuItem.Size = new System.Drawing.Size(85, 24);
+      this.DisplayToolStripMenuItem.Size = new System.Drawing.Size(70, 20);
       this.DisplayToolStripMenuItem.Text = "Affichage";
       //
       // SmallToolStripMenuItem
@@ -328,21 +330,21 @@
       this.SmallToolStripMenuItem.Checked = true;
       this.SmallToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
       this.SmallToolStripMenuItem.Name = "SmallToolStripMenuItem";
-      this.SmallToolStripMenuItem.Size = new System.Drawing.Size(129, 26);
+      this.SmallToolStripMenuItem.Size = new System.Drawing.Size(111, 22);
       this.SmallToolStripMenuItem.Text = "Petit";
       this.SmallToolStripMenuItem.Click += new System.EventHandler(this.SmallToolStripMenuItem_Click);
       //
       // MediumToolStripMenuItem
       //
       this.MediumToolStripMenuItem.Name = "MediumToolStripMenuItem";
-      this.MediumToolStripMenuItem.Size = new System.Drawing.Size(129, 26);
+      this.MediumToolStripMenuItem.Size = new System.Drawing.Size(111, 22);
       this.MediumToolStripMenuItem.Text = "Moyen";
       this.MediumToolStripMenuItem.Click += new System.EventHandler(this.MediumToolStripMenuItem_Click);
       //
       // LargeToolStripMenuItem
       //
       this.LargeToolStripMenuItem.Name = "LargeToolStripMenuItem";
-      this.LargeToolStripMenuItem.Size = new System.Drawing.Size(129, 26);
+      this.LargeToolStripMenuItem.Size = new System.Drawing.Size(111, 22);
       this.LargeToolStripMenuItem.Text = "Grand";
       this.LargeToolStripMenuItem.Click += new System.EventHandler(this.LargeToolStripMenuItem_Click);
       //
@@ -355,36 +357,36 @@
             this.toolStripSeparator5,
             this.aboutToolStripMenuItem});
       this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
-      this.helpToolStripMenuItem.Size = new System.Drawing.Size(52, 24);
+      this.helpToolStripMenuItem.Size = new System.Drawing.Size(43, 20);
       this.helpToolStripMenuItem.Text = "&Aide";
       //
       // summaryToolStripMenuItem
       //
       this.summaryToolStripMenuItem.Name = "summaryToolStripMenuItem";
-      this.summaryToolStripMenuItem.Size = new System.Drawing.Size(175, 26);
+      this.summaryToolStripMenuItem.Size = new System.Drawing.Size(147, 22);
       this.summaryToolStripMenuItem.Text = "&Sommaire";
       //
       // indexToolStripMenuItem
       //
       this.indexToolStripMenuItem.Name = "indexToolStripMenuItem";
-      this.indexToolStripMenuItem.Size = new System.Drawing.Size(175, 26);
+      this.indexToolStripMenuItem.Size = new System.Drawing.Size(147, 22);
       this.indexToolStripMenuItem.Text = "&Index";
       //
       // searchToolStripMenuItem
       //
       this.searchToolStripMenuItem.Name = "searchToolStripMenuItem";
-      this.searchToolStripMenuItem.Size = new System.Drawing.Size(175, 26);
+      this.searchToolStripMenuItem.Size = new System.Drawing.Size(147, 22);
       this.searchToolStripMenuItem.Text = "&Rechercher";
       //
       // toolStripSeparator5
       //
       this.toolStripSeparator5.Name = "toolStripSeparator5";
-      this.toolStripSeparator5.Size = new System.Drawing.Size(172, 6);
+      this.toolStripSeparator5.Size = new System.Drawing.Size(144, 6);
       //
       // aboutToolStripMenuItem
       //
       this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
-      this.aboutToolStripMenuItem.Size = new System.Drawing.Size(175, 26);
+      this.aboutToolStripMenuItem.Size = new System.Drawing.Size(147, 22);
       this.aboutToolStripMenuItem.Text = "À &propos de...";
       this.aboutToolStripMenuItem.Click += new System.EventHandler(this.AboutToolStripMenuItem_Click);
       //
@@ -394,225 +396,268 @@
       this.tabControlMain.Controls.Add(this.tabPageContaining);
       this.tabControlMain.Controls.Add(this.tabPageDateAndSize);
       this.tabControlMain.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.tabControlMain.Location = new System.Drawing.Point(0, 28);
+      this.tabControlMain.Location = new System.Drawing.Point(0, 24);
+      this.tabControlMain.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
       this.tabControlMain.Name = "tabControlMain";
       this.tabControlMain.SelectedIndex = 0;
-      this.tabControlMain.Size = new System.Drawing.Size(1257, 621);
+      this.tabControlMain.Size = new System.Drawing.Size(943, 503);
       this.tabControlMain.TabIndex = 2;
       //
       // tabPageFilesAndFolders
       //
-      this.tabPageFilesAndFolders.Controls.Add(this.button5);
-      this.tabPageFilesAndFolders.Controls.Add(this.button4);
-      this.tabPageFilesAndFolders.Controls.Add(this.button3);
+      this.tabPageFilesAndFolders.Controls.Add(this.listView1);
+      this.tabPageFilesAndFolders.Controls.Add(this.buttonReset);
+      this.tabPageFilesAndFolders.Controls.Add(this.buttonStop);
+      this.tabPageFilesAndFolders.Controls.Add(this.buttonSearch);
       this.tabPageFilesAndFolders.Controls.Add(this.panel1);
-      this.tabPageFilesAndFolders.Location = new System.Drawing.Point(4, 25);
+      this.tabPageFilesAndFolders.Location = new System.Drawing.Point(4, 22);
+      this.tabPageFilesAndFolders.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
       this.tabPageFilesAndFolders.Name = "tabPageFilesAndFolders";
-      this.tabPageFilesAndFolders.Padding = new System.Windows.Forms.Padding(3);
-      this.tabPageFilesAndFolders.Size = new System.Drawing.Size(1249, 592);
+      this.tabPageFilesAndFolders.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.tabPageFilesAndFolders.Size = new System.Drawing.Size(935, 477);
       this.tabPageFilesAndFolders.TabIndex = 1;
       this.tabPageFilesAndFolders.Text = "Files and Folders";
       this.tabPageFilesAndFolders.UseVisualStyleBackColor = true;
       //
-      // statusStripMain
-      //
-      this.statusStripMain.ImageScalingSize = new System.Drawing.Size(20, 20);
-      this.statusStripMain.Location = new System.Drawing.Point(0, 627);
-      this.statusStripMain.Name = "statusStripMain";
-      this.statusStripMain.Size = new System.Drawing.Size(1257, 22);
-      this.statusStripMain.TabIndex = 3;
-      this.statusStripMain.Text = "statusStrip1";
+      // buttonReset
+      //
+      this.buttonReset.Location = new System.Drawing.Point(839, 184);
+      this.buttonReset.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.buttonReset.Name = "buttonReset";
+      this.buttonReset.Size = new System.Drawing.Size(81, 26);
+      this.buttonReset.TabIndex = 14;
+      this.buttonReset.Text = "Reset";
+      this.buttonReset.UseVisualStyleBackColor = true;
+      //
+      // buttonStop
+      //
+      this.buttonStop.Enabled = false;
+      this.buttonStop.Location = new System.Drawing.Point(839, 50);
+      this.buttonStop.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.buttonStop.Name = "buttonStop";
+      this.buttonStop.Size = new System.Drawing.Size(81, 26);
+      this.buttonStop.TabIndex = 13;
+      this.buttonStop.Text = "Stop";
+      this.buttonStop.UseVisualStyleBackColor = true;
+      //
+      // buttonSearch
+      //
+      this.buttonSearch.Location = new System.Drawing.Point(839, 19);
+      this.buttonSearch.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.buttonSearch.Name = "buttonSearch";
+      this.buttonSearch.Size = new System.Drawing.Size(81, 26);
+      this.buttonSearch.TabIndex = 12;
+      this.buttonSearch.Text = "Search";
+      this.buttonSearch.UseVisualStyleBackColor = true;
+      //
+      // panel1
+      //
+      this.panel1.Controls.Add(this.labelSelect);
+      this.panel1.Controls.Add(this.labelMode);
+      this.panel1.Controls.Add(this.comboBoxMode);
+      this.panel1.Controls.Add(this.checkBoxSearchForFolders);
+      this.panel1.Controls.Add(this.checkBoxSearchForFiles);
+      this.panel1.Controls.Add(this.checkBoxAppendResults);
+      this.panel1.Controls.Add(this.checkBoxIncludeHiddenFolders);
+      this.panel1.Controls.Add(this.textBox2);
+      this.panel1.Controls.Add(this.buttonBrowsePath);
+      this.panel1.Controls.Add(this.labelStartingFolders);
+      this.panel1.Controls.Add(this.checkBoxScanInsubFolders);
+      this.panel1.Controls.Add(this.textBox1);
+      this.panel1.Controls.Add(this.labelFileNames);
+      this.panel1.Location = new System.Drawing.Point(2, 2);
+      this.panel1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.panel1.Name = "panel1";
+      this.panel1.Size = new System.Drawing.Size(822, 207);
+      this.panel1.TabIndex = 4;
+      //
+      // comboBoxMode
+      //
+      this.comboBoxMode.BackColor = System.Drawing.SystemColors.ControlDark;
+      this.comboBoxMode.FormattingEnabled = true;
+      this.comboBoxMode.Items.AddRange(new object[] {
+            "Simple",
+            "Wildcards"});
+      this.comboBoxMode.Location = new System.Drawing.Point(487, 45);
+      this.comboBoxMode.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.comboBoxMode.Name = "comboBoxMode";
+      this.comboBoxMode.Size = new System.Drawing.Size(92, 21);
+      this.comboBoxMode.TabIndex = 12;
+      this.comboBoxMode.Text = "Simple";
+      //
+      // checkBoxSearchForFolders
+      //
+      this.checkBoxSearchForFolders.AutoSize = true;
+      this.checkBoxSearchForFolders.Location = new System.Drawing.Point(174, 169);
+      this.checkBoxSearchForFolders.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.checkBoxSearchForFolders.Name = "checkBoxSearchForFolders";
+      this.checkBoxSearchForFolders.Size = new System.Drawing.Size(112, 17);
+      this.checkBoxSearchForFolders.TabIndex = 11;
+      this.checkBoxSearchForFolders.Text = "Search for Folders";
+      this.checkBoxSearchForFolders.UseVisualStyleBackColor = true;
+      //
+      // checkBoxSearchForFiles
+      //
+      this.checkBoxSearchForFiles.AutoSize = true;
+      this.checkBoxSearchForFiles.Location = new System.Drawing.Point(16, 169);
+      this.checkBoxSearchForFiles.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.checkBoxSearchForFiles.Name = "checkBoxSearchForFiles";
+      this.checkBoxSearchForFiles.Size = new System.Drawing.Size(96, 17);
+      this.checkBoxSearchForFiles.TabIndex = 10;
+      this.checkBoxSearchForFiles.Text = "Search for files";
+      this.checkBoxSearchForFiles.UseVisualStyleBackColor = true;
+      //
+      // checkBoxAppendResults
+      //
+      this.checkBoxAppendResults.AutoSize = true;
+      this.checkBoxAppendResults.Location = new System.Drawing.Point(337, 169);
+      this.checkBoxAppendResults.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.checkBoxAppendResults.Name = "checkBoxAppendResults";
+      this.checkBoxAppendResults.Size = new System.Drawing.Size(101, 17);
+      this.checkBoxAppendResults.TabIndex = 9;
+      this.checkBoxAppendResults.Text = "Append Results";
+      this.checkBoxAppendResults.UseVisualStyleBackColor = true;
+      //
+      // checkBoxIncludeHiddenFolders
+      //
+      this.checkBoxIncludeHiddenFolders.AutoSize = true;
+      this.checkBoxIncludeHiddenFolders.Location = new System.Drawing.Point(174, 135);
+      this.checkBoxIncludeHiddenFolders.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.checkBoxIncludeHiddenFolders.Name = "checkBoxIncludeHiddenFolders";
+      this.checkBoxIncludeHiddenFolders.Size = new System.Drawing.Size(135, 17);
+      this.checkBoxIncludeHiddenFolders.TabIndex = 8;
+      this.checkBoxIncludeHiddenFolders.Text = "Include Hidden Folders";
+      this.checkBoxIncludeHiddenFolders.UseVisualStyleBackColor = true;
+      //
+      // textBox2
+      //
+      this.textBox2.Location = new System.Drawing.Point(16, 100);
+      this.textBox2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.textBox2.Name = "textBox2";
+      this.textBox2.Size = new System.Drawing.Size(448, 20);
+      this.textBox2.TabIndex = 5;
+      //
+      // buttonBrowsePath
+      //
+      this.buttonBrowsePath.Location = new System.Drawing.Point(487, 98);
+      this.buttonBrowsePath.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.buttonBrowsePath.Name = "buttonBrowsePath";
+      this.buttonBrowsePath.Size = new System.Drawing.Size(91, 20);
+      this.buttonBrowsePath.TabIndex = 7;
+      this.buttonBrowsePath.Text = "Browse ...";
+      this.buttonBrowsePath.UseVisualStyleBackColor = true;
+      //
+      // labelStartingFolders
+      //
+      this.labelStartingFolders.AutoSize = true;
+      this.labelStartingFolders.Location = new System.Drawing.Point(13, 79);
+      this.labelStartingFolders.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+      this.labelStartingFolders.Name = "labelStartingFolders";
+      this.labelStartingFolders.Size = new System.Drawing.Size(86, 13);
+      this.labelStartingFolders.TabIndex = 4;
+      this.labelStartingFolders.Text = "Starting Folder(s)";
+      //
+      // checkBoxScanInsubFolders
+      //
+      this.checkBoxScanInsubFolders.AutoSize = true;
+      this.checkBoxScanInsubFolders.Checked = true;
+      this.checkBoxScanInsubFolders.CheckState = System.Windows.Forms.CheckState.Checked;
+      this.checkBoxScanInsubFolders.Location = new System.Drawing.Point(16, 135);
+      this.checkBoxScanInsubFolders.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.checkBoxScanInsubFolders.Name = "checkBoxScanInsubFolders";
+      this.checkBoxScanInsubFolders.Size = new System.Drawing.Size(115, 17);
+      this.checkBoxScanInsubFolders.TabIndex = 6;
+      this.checkBoxScanInsubFolders.Text = "Scan in Subfolders";
+      this.checkBoxScanInsubFolders.UseVisualStyleBackColor = true;
+      //
+      // textBox1
+      //
+      this.textBox1.Location = new System.Drawing.Point(16, 45);
+      this.textBox1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+      this.textBox1.Name = "textBox1";
+      this.textBox1.Size = new System.Drawing.Size(448, 20);
+      this.textBox1.TabIndex = 1;
+      //
+      // labelFileNames
+      //
+      this.labelFileNames.AutoSize = true;
+      this.labelFileNames.Location = new System.Drawing.Point(13, 17);
+      this.labelFileNames.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+      this.labelFileNames.Name = "labelFileNames";
+      this.labelFileNames.Size = new System.Drawing.Size(65, 13);
+      this.labelFileNames.TabIndex = 0;
+      this.labelFileNames.Text = "File Name(s)";
       //
       // tabPageContaining
       //
-      this.tabPageContaining.Location = new System.Drawing.Point(4, 25);
+      this.tabPageContaining.Location = new System.Drawing.Point(4, 22);
+      this.tabPageContaining.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
       this.tabPageContaining.Name = "tabPageContaining";
-      this.tabPageContaining.Size = new System.Drawing.Size(903, 477);
+      this.tabPageContaining.Size = new System.Drawing.Size(935, 479);
       this.tabPageContaining.TabIndex = 2;
       this.tabPageContaining.Text = "Containing";
       this.tabPageContaining.UseVisualStyleBackColor = true;
       //
       // tabPageDateAndSize
       //
-      this.tabPageDateAndSize.Location = new System.Drawing.Point(4, 25);
+      this.tabPageDateAndSize.Location = new System.Drawing.Point(4, 22);
+      this.tabPageDateAndSize.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
       this.tabPageDateAndSize.Name = "tabPageDateAndSize";
-      this.tabPageDateAndSize.Size = new System.Drawing.Size(903, 477);
+      this.tabPageDateAndSize.Size = new System.Drawing.Size(935, 479);
       this.tabPageDateAndSize.TabIndex = 3;
       this.tabPageDateAndSize.Text = "Date and Size";
       this.tabPageDateAndSize.UseVisualStyleBackColor = true;
       //
-      // label1
-      //
-      this.label1.AutoSize = true;
-      this.label1.Location = new System.Drawing.Point(17, 55);
-      this.label1.Name = "label1";
-      this.label1.Size = new System.Drawing.Size(82, 17);
-      this.label1.TabIndex = 0;
-      this.label1.Text = "File Names:";
-      //
-      // textBox1
-      //
-      this.textBox1.Location = new System.Drawing.Point(96, 55);
-      this.textBox1.Name = "textBox1";
-      this.textBox1.Size = new System.Drawing.Size(521, 22);
-      this.textBox1.TabIndex = 1;
-      //
-      // checkBox1
-      //
-      this.checkBox1.AutoSize = true;
-      this.checkBox1.Location = new System.Drawing.Point(96, 96);
-      this.checkBox1.Name = "checkBox1";
-      this.checkBox1.Size = new System.Drawing.Size(98, 21);
-      this.checkBox1.TabIndex = 2;
-      this.checkBox1.Text = "checkBox1";
-      this.checkBox1.UseVisualStyleBackColor = true;
-      //
-      // panel1
-      //
-      this.panel1.Controls.Add(this.comboBox1);
-      this.panel1.Controls.Add(this.checkBox6);
-      this.panel1.Controls.Add(this.checkBox5);
-      this.panel1.Controls.Add(this.checkBox4);
-      this.panel1.Controls.Add(this.checkBox3);
-      this.panel1.Controls.Add(this.textBox2);
-      this.panel1.Controls.Add(this.button2);
-      this.panel1.Controls.Add(this.label2);
-      this.panel1.Controls.Add(this.checkBox2);
-      this.panel1.Controls.Add(this.textBox1);
-      this.panel1.Controls.Add(this.label1);
-      this.panel1.Controls.Add(this.checkBox1);
-      this.panel1.Location = new System.Drawing.Point(3, 3);
-      this.panel1.Name = "panel1";
-      this.panel1.Size = new System.Drawing.Size(782, 255);
-      this.panel1.TabIndex = 4;
-      //
-      // textBox2
-      //
-      this.textBox2.Location = new System.Drawing.Point(96, 123);
-      this.textBox2.Name = "textBox2";
-      this.textBox2.Size = new System.Drawing.Size(521, 22);
-      this.textBox2.TabIndex = 5;
-      //
-      // button2
-      //
-      this.button2.Location = new System.Drawing.Point(649, 121);
-      this.button2.Name = "button2";
-      this.button2.Size = new System.Drawing.Size(121, 24);
-      this.button2.TabIndex = 7;
-      this.button2.Text = "Browse ...";
-      this.button2.UseVisualStyleBackColor = true;
-      //
-      // label2
-      //
-      this.label2.AutoSize = true;
-      this.label2.Location = new System.Drawing.Point(17, 123);
-      this.label2.Name = "label2";
-      this.label2.Size = new System.Drawing.Size(46, 17);
-      this.label2.TabIndex = 4;
-      this.label2.Text = "label2";
-      //
-      // checkBox2
-      //
-      this.checkBox2.AutoSize = true;
-      this.checkBox2.Location = new System.Drawing.Point(96, 164);
-      this.checkBox2.Name = "checkBox2";
-      this.checkBox2.Size = new System.Drawing.Size(98, 21);
-      this.checkBox2.TabIndex = 6;
-      this.checkBox2.Text = "checkBox2";
-      this.checkBox2.UseVisualStyleBackColor = true;
-      //
-      // checkBox3
-      //
-      this.checkBox3.AutoSize = true;
-      this.checkBox3.Location = new System.Drawing.Point(220, 164);
-      this.checkBox3.Name = "checkBox3";
-      this.checkBox3.Size = new System.Drawing.Size(98, 21);
-      this.checkBox3.TabIndex = 8;
-      this.checkBox3.Text = "checkBox3";
-      this.checkBox3.UseVisualStyleBackColor = true;
-      //
-      // checkBox4
-      //
-      this.checkBox4.AutoSize = true;
-      this.checkBox4.Location = new System.Drawing.Point(345, 206);
-      this.checkBox4.Name = "checkBox4";
-      this.checkBox4.Size = new System.Drawing.Size(98, 21);
-      this.checkBox4.TabIndex = 9;
-      this.checkBox4.Text = "checkBox4";
-      this.checkBox4.UseVisualStyleBackColor = true;
-      //
-      // checkBox5
-      //
-      this.checkBox5.AutoSize = true;
-      this.checkBox5.Location = new System.Drawing.Point(96, 206);
-      this.checkBox5.Name = "checkBox5";
-      this.checkBox5.Size = new System.Drawing.Size(98, 21);
-      this.checkBox5.TabIndex = 10;
-      this.checkBox5.Text = "checkBox5";
-      this.checkBox5.UseVisualStyleBackColor = true;
-      //
-      // checkBox6
-      //
-      this.checkBox6.AutoSize = true;
-      this.checkBox6.Location = new System.Drawing.Point(220, 206);
-      this.checkBox6.Name = "checkBox6";
-      this.checkBox6.Size = new System.Drawing.Size(98, 21);
-      this.checkBox6.TabIndex = 11;
-      this.checkBox6.Text = "checkBox6";
-      this.checkBox6.UseVisualStyleBackColor = true;
-      //
-      // button3
-      //
-      this.button3.Location = new System.Drawing.Point(1119, 23);
-      this.button3.Name = "button3";
-      this.button3.Size = new System.Drawing.Size(83, 32);
-      this.button3.TabIndex = 12;
-      this.button3.Text = "button3";
-      this.button3.UseVisualStyleBackColor = true;
-      //
-      // button4
-      //
-      this.button4.Location = new System.Drawing.Point(1119, 61);
-      this.button4.Name = "button4";
-      this.button4.Size = new System.Drawing.Size(83, 32);
-      this.button4.TabIndex = 13;
-      this.button4.Text = "button4";
-      this.button4.UseVisualStyleBackColor = true;
-      //
-      // button5
-      //
-      this.button5.Location = new System.Drawing.Point(1119, 226);
-      this.button5.Name = "button5";
-      this.button5.Size = new System.Drawing.Size(83, 32);
-      this.button5.TabIndex = 14;
-      this.button5.Text = "button5";
-      this.button5.UseVisualStyleBackColor = true;
-      //
-      // comboBox1
-      //
-      this.comboBox1.BackColor = System.Drawing.SystemColors.ControlDark;
-      this.comboBox1.FormattingEnabled = true;
-      this.comboBox1.Items.AddRange(new object[] {
-            "Simple",
-            "Wildcards"});
-      this.comboBox1.Location = new System.Drawing.Point(649, 55);
-      this.comboBox1.Name = "comboBox1";
-      this.comboBox1.Size = new System.Drawing.Size(121, 24);
-      this.comboBox1.TabIndex = 12;
-      this.comboBox1.Text = "Simple";
+      // statusStripMain
+      //
+      this.statusStripMain.ImageScalingSize = new System.Drawing.Size(20, 20);
+      this.statusStripMain.Location = new System.Drawing.Point(0, 505);
+      this.statusStripMain.Name = "statusStripMain";
+      this.statusStripMain.Padding = new System.Windows.Forms.Padding(1, 0, 10, 0);
+      this.statusStripMain.Size = new System.Drawing.Size(943, 22);
+      this.statusStripMain.TabIndex = 3;
+      this.statusStripMain.Text = "statusStrip1";
+      //
+      // listView1
+      //
+      this.listView1.Dock = System.Windows.Forms.DockStyle.Bottom;
+      this.listView1.Location = new System.Drawing.Point(2, 214);
+      this.listView1.Name = "listView1";
+      this.listView1.Size = new System.Drawing.Size(931, 261);
+      this.listView1.TabIndex = 15;
+      this.listView1.UseCompatibleStateImageBehavior = false;
+      //
+      // labelMode
+      //
+      this.labelMode.AutoSize = true;
+      this.labelMode.Location = new System.Drawing.Point(484, 24);
+      this.labelMode.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+      this.labelMode.Name = "labelMode";
+      this.labelMode.Size = new System.Drawing.Size(34, 13);
+      this.labelMode.TabIndex = 13;
+      this.labelMode.Text = "Mode";
+      //
+      // labelSelect
+      //
+      this.labelSelect.AutoSize = true;
+      this.labelSelect.Location = new System.Drawing.Point(484, 79);
+      this.labelSelect.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+      this.labelSelect.Name = "labelSelect";
+      this.labelSelect.Size = new System.Drawing.Size(37, 13);
+      this.labelSelect.TabIndex = 14;
+      this.labelSelect.Text = "Select";
       //
       // FormMain
       //
-      this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(1257, 649);
+      this.ClientSize = new System.Drawing.Size(943, 527);
       this.Controls.Add(this.statusStripMain);
       this.Controls.Add(this.tabControlMain);
       this.Controls.Add(this.menuStrip1);
       this.MainMenuStrip = this.menuStrip1;
-      this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+      this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
       this.Name = "FormMain";
-      this.ShowIcon = false;
       this.Text = "Fred Ultra File Search";
       this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMainFormClosing);
       this.Load += new System.EventHandler(this.FormMain_Load);
@@ -671,21 +716,23 @@
     private System.Windows.Forms.TabPage tabPageContaining;
     private System.Windows.Forms.TabPage tabPageDateAndSize;
     private System.Windows.Forms.StatusStrip statusStripMain;
-    private System.Windows.Forms.Button button5;
-    private System.Windows.Forms.Button button4;
-    private System.Windows.Forms.Button button3;
+    private System.Windows.Forms.Button buttonReset;
+    private System.Windows.Forms.Button buttonStop;
+    private System.Windows.Forms.Button buttonSearch;
     private System.Windows.Forms.Panel panel1;
-    private System.Windows.Forms.ComboBox comboBox1;
-    private System.Windows.Forms.CheckBox checkBox6;
-    private System.Windows.Forms.CheckBox checkBox5;
-    private System.Windows.Forms.CheckBox checkBox4;
-    private System.Windows.Forms.CheckBox checkBox3;
+    private System.Windows.Forms.ComboBox comboBoxMode;
+    private System.Windows.Forms.CheckBox checkBoxSearchForFolders;
+    private System.Windows.Forms.CheckBox checkBoxSearchForFiles;
+    private System.Windows.Forms.CheckBox checkBoxAppendResults;
+    private System.Windows.Forms.CheckBox checkBoxIncludeHiddenFolders;
     private System.Windows.Forms.TextBox textBox2;
-    private System.Windows.Forms.Button button2;
-    private System.Windows.Forms.Label label2;
-    private System.Windows.Forms.CheckBox checkBox2;
+    private System.Windows.Forms.Button buttonBrowsePath;
+    private System.Windows.Forms.Label labelStartingFolders;
+    private System.Windows.Forms.CheckBox checkBoxScanInsubFolders;
     private System.Windows.Forms.TextBox textBox1;
-    private System.Windows.Forms.Label label1;
-    private System.Windows.Forms.CheckBox checkBox1;
+    private System.Windows.Forms.Label labelFileNames;
+    private System.Windows.Forms.ListView listView1;
+    private System.Windows.Forms.Label labelSelect;
+    private System.Windows.Forms.Label labelMode;
   }
 }


Fixed fountain not healing to full

Fixed fountain not healing to full

--- GameServer/Logic/GameObjects/Fountain.cs
+++ GameServer/Logic/GameObjects/Fountain.cs
@@ -47,14 +47,14 @@
                 var maxHP = champion.GetStats().HealthPoints.Total;
                 if (hp + maxHP * PERCENT_MAX_HEALTH_HEAL < maxHP)
                     champion.GetStats().CurrentHealth = hp + maxHP * PERCENT_MAX_HEALTH_HEAL;
-                else if (hp > maxHP)
+                else
                     champion.GetStats().CurrentHealth = maxHP;

                 var mp = champion.GetStats().CurrentMana;
                 var maxMp = champion.GetStats().ManaPoints.Total;
                 if (mp + maxMp * PERCENT_MAX_MANA_HEAL < maxMp)
                     champion.GetStats().CurrentMana = mp + maxMp * PERCENT_MAX_MANA_HEAL;
-                else if (mp > maxMp)
+                else
                     champion.GetStats().CurrentMana = maxMp;
             }
         }


feat: Make UseJwtAccessWithScopes public

This is an escape hatch, effectively - e.g. for scenarios where
custom endpoints that don't accept self-signed JWTs are being used.
With this in place, we can remove the generator code that sets the
property in the constructor.

Fixes #546.

--- Google.Api.Gax.Grpc/ClientBuilderBase.cs
+++ Google.Api.Gax.Grpc/ClientBuilderBase.cs
@@ -499,9 +499,13 @@
             UseJwtAccessWithScopes == GetChannelPool().UseJwtAccessWithScopes;

         /// <summary>
-        ///  Returns whether or not self-signed JWTs will be used over OAuth tokens when OAuth scopes are explicitly set.
-        /// </summary>
-        protected bool UseJwtAccessWithScopes { get; set; }
+        /// Returns whether or not self-signed JWTs will be used over OAuth tokens when OAuth scopes are explicitly set.
+        /// </summary>
+        /// <remarks>
+        /// In the base implementation, this defaults to <c>true</c>. Subclasses may add code in their own constructors
+        /// to make the default effectively <c>false</c>, however.
+        /// </remarks>
+        public bool UseJwtAccessWithScopes { get; set; } = true;

         // Note: The implementation is responsible for performing validation before constructing the client.
         // The Validate method can be used as-is for most builders.


Remove redundant CanEqualByPropertyValues check

--- Gu.State/DiffBy/DiffBy.PropertyValues.cs
+++ Gu.State/DiffBy/DiffBy.PropertyValues.cs
@@ -55,7 +55,6 @@
                 return diff;
             }

-            EqualBy.Verify.CanEqualByPropertyValues(x, y, settings, typeof(DiffBy).Name, nameof(PropertyValues));
             return TryCreateValueDiff(x, y, settings);
         }
     }


Update UserManager.cs

Update UserManager.cs

--- src/AbpCompanyName.AbpProjectName.Core/Authorization/Users/UserManager.cs
+++ src/AbpCompanyName.AbpProjectName.Core/Authorization/Users/UserManager.cs
@@ -25,7 +25,8 @@
             ILocalizationManager localizationManager,
             ISettingManager settingManager,
             IdentityEmailMessageService emailService,
-            IUserTokenProviderAccessor userTokenProviderAccessor)
+            IUserTokenProviderAccessor userTokenProviderAccessor,
+            IRepository<UserLogin,long> userLogin)
             : base(
                   userStore,
                   roleManager,
@@ -38,7 +39,8 @@
                   localizationManager,
                   emailService,
                   settingManager,
-                  userTokenProviderAccessor)
+                  userTokenProviderAccessor,
+                  userLogin)
         {
         }
     }


fixed win agent shutdown bug

fixed win agent shutdown bug

--- src/AsimovDeploy.WinAgent/Framework/Common/NodeFrontPublisherPublisher.cs
+++ src/AsimovDeploy.WinAgent/Framework/Common/NodeFrontPublisherPublisher.cs
@@ -18,6 +18,7 @@
 using System.Collections.Concurrent;
 using System.IO;
 using System.Net;
+using System.Threading;
 using System.Threading.Tasks;
 using AsimovDeploy.WinAgent.Framework.Models;
 using Newtonsoft.Json;
@@ -39,7 +40,10 @@

         public void Notify(string url, object data)
         {
-            _messages.Add(new NodeFrontMessage() { Url = url, Data = data});
+            if (!_messages.IsAddingCompleted)
+            {
+                _messages.Add(new NodeFrontMessage() { Url = url, Data = data });
+            }
         }

         private void SendMessage(NodeFrontMessage message)


Undo over-disposing

Undo over-disposing

--- src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/LargeTrackInfoDisplay.cs
+++ src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/LargeTrackInfoDisplay.cs
@@ -174,7 +174,7 @@
             cr.Pattern = mask;
             cr.Fill ();

-            CairoExtensions.DisposeContext (cr);
+            ((IDisposable)cr).Dispose ();
             return surface;
         }


Fix tests

Fix tests

--- src/EditorFeatures/Test/Workspaces/ProjectCacheHostServiceFactoryTests.cs
+++ src/EditorFeatures/Test/Workspaces/ProjectCacheHostServiceFactoryTests.cs
@@ -5,6 +5,9 @@
 using System.Collections.Immutable;
 using Microsoft.CodeAnalysis.CSharp;
 using Microsoft.CodeAnalysis.Host;
+using Microsoft.CodeAnalysis.Host.Mef;
+using Microsoft.CodeAnalysis.Options;
+using Microsoft.CodeAnalysis.Options.Providers;
 using Microsoft.CodeAnalysis.Test.Utilities;
 using Roslyn.Test.Utilities;
 using Roslyn.Utilities;
@@ -251,11 +254,15 @@
             private readonly HostServices _hostServices;
             private readonly Workspace _workspace;
             private static readonly IWorkspaceTaskSchedulerFactory s_taskSchedulerFactory = new WorkspaceTaskSchedulerFactory();
+            private readonly OptionServiceFactory.OptionService _optionService;

             public MockHostWorkspaceServices(HostServices hostServices, Workspace workspace)
             {
                 _hostServices = hostServices;
                 _workspace = workspace;
+
+                var globalOptionService = new GlobalOptionService(ImmutableArray<Lazy<IOptionProvider, LanguageMetadata>>.Empty, ImmutableArray<Lazy<IOptionPersister>>.Empty);
+                _optionService = new OptionServiceFactory.OptionService(globalOptionService, this);
             }

             public override HostServices HostServices => _hostServices;
@@ -272,6 +279,10 @@
                 if (s_taskSchedulerFactory is TWorkspaceService)
                 {
                     return (TWorkspaceService)s_taskSchedulerFactory;
+                }
+                else if (_optionService is TWorkspaceService workspaceOptionService)
+                {
+                    return workspaceOptionService;
                 }

                 return default;


Minor docu

Minor docu

--- Hermod/SMTP/SMTPServer/SMTPConnection.cs
+++ Hermod/SMTP/SMTPServer/SMTPConnection.cs
@@ -521,6 +521,8 @@

                                             TCPConnection.WriteLineSMTP(SMTPStatusCode.StartMailInput, "Ok Send data ending with <CRLF>.<CRLF>");

+                                            #region Read all e-mail lines...
+
                                             var MailText  = new List<String>();
                                             var MailLine  = "";

@@ -534,6 +536,10 @@
                                                     MailText.Add(MailLine);

                                             } while (MailLine != ".");
+
+                                            #endregion
+
+                                            #region Try to parse the incoming e-mail...

                                             EMail IncomingMail = null;

@@ -554,6 +560,10 @@

                                             }

+                                            #endregion
+
+                                            #region Generate a MessageId... if needed!
+
                                             var _MessageId = IncomingMail.MessageId;

                                             if (_MessageId == null)
@@ -561,6 +571,8 @@
                                                 _MessageId = MessageId.Parse(Guid.NewGuid().ToString() + "@" + _DefaultServerName);
                                                 IncomingMail = EMail.Parse(new String[] { "Message-Id: " + _MessageId + Environment.NewLine }.Concat(MailText));
                                             }
+
+                                            #endregion

                                             TCPConnection.WriteLineSMTP(SMTPStatusCode.Ok, "Message received: " + _MessageId);


Force holoxplor.space domain

Force holoxplor.space domain

--- HoloXPLOR/Controllers/_BaseController.cs
+++ HoloXPLOR/Controllers/_BaseController.cs
@@ -15,6 +15,8 @@

         protected override void OnAuthorization(AuthorizationContext filterContext)
         {
+            #region Force HTTPS
+
             var hostname = filterContext.HttpContext.Request.Url.Host;
             var path = filterContext.HttpContext.Request.Url.PathAndQuery;
             var scheme = filterContext.HttpContext.Request.Url.Scheme;
@@ -25,6 +27,18 @@
                 !String.Equals(xfHeader, Uri.UriSchemeHttps, StringComparison.InvariantCultureIgnoreCase) &&
                 !String.Equals(scheme, Uri.UriSchemeHttps, StringComparison.InvariantCultureIgnoreCase))
                 filterContext.Result = this.RedirectPermanent(String.Format("{0}://{1}{2}", Uri.UriSchemeHttps, hostname, path));
+
+            #endregion
+
+            #region Force new URLs
+
+            if (String.Equals(hostname, "holoxplor.azurewebsites.net", StringComparison.InvariantCultureIgnoreCase))
+                filterContext.Result = this.RedirectPermanent(String.Format("{0}://{1}{2}", Uri.UriSchemeHttps, "holoxplor.space", path));
+
+            if (String.Equals(hostname, "holoxplor-ptu.azurewebsites.net", StringComparison.InvariantCultureIgnoreCase))
+                filterContext.Result = this.RedirectPermanent(String.Format("{0}://{1}{2}", Uri.UriSchemeHttps, "ptu.holoxplor.space", path));
+
+            #endregion
         }
     }
 }


Added an argument to make JavaScript input/output file paths relative.

--- Imp/render/artisan/targets/JavaScript.cs
+++ Imp/render/artisan/targets/JavaScript.cs
@@ -43,17 +43,16 @@

             // Source map
             var map_file = output_path + ".map";
-
-            var original = new Uri(output_path.Replace(@"\", "/"));
-            var source_map = new Source_Map(Path.GetFileName(output_path),
-                sources.Select(s => original.MakeRelativeUri(new Uri(s)).ToString()).ToArray(),
-                segments, Path.GetDirectoryName(output_path));
-            var source_map_content = source_map.serialize();
-
-            output += "\r\n//# sourceMappingURL=" + Path.GetFileName(map_file);
+            var original = new Uri(output_path.Replace(@"\", "/"), UriKind.Relative);
+//            var source_map = new Source_Map(Path.GetFileName(output_path),
+//                sources.Select(s => original.MakeRelativeUri(new Uri(s)).ToString()).ToArray(),
+//                segments, Path.GetDirectoryName(output_path));
+//            var source_map_content = source_map.serialize();
+//
+//            output += "\r\n//# sourceMappingURL=" + Path.GetFileName(map_file);

             Generator.create_file(output_path, output);
-            Generator.create_file(map_file, source_map_content);
+//            Generator.create_file(map_file, source_map_content);
         }

         public string generate_string()


Added pragma to ignore a warning on purpose

--- CotcSdk/Internal/Bundle.cs
+++ CotcSdk/Internal/Bundle.cs
@@ -238,7 +238,9 @@
 			Bundle thisNode = null;
 			if (parent == null) return CloneRecursive(null, ref thisNode);
 			// Clone the whole structure and return a pointer to the same node in the new structure.
+			#pragma warning disable 0219
 			Bundle cloned = Root.CloneRecursive(this, ref thisNode);
+			#pragma warning restore 0219
 			return thisNode;
 		}
 		// Does a simple (deep) clone, down from this node to the leaves only.


Remove unreachable code warnings

Remove unreachable code warnings

--- CotcSdk/Internal/Bundle.cs
+++ CotcSdk/Internal/Bundle.cs
@@ -231,11 +231,11 @@
 			if (b == null) return false;
 			if (object.ReferenceEquals(this, b)) return true; // This line handles the Empty Bundle case
 			switch (b.type) {
-				case DataType.Boolean: case DataType.Integer: return this.AsLong().Equals(b.longValue); break;
-				case DataType.Double: return this.AsDouble().Equals(b.doubleValue); break;
-				case DataType.String: return this.AsString().Equals(b.stringValue); break;
-				case DataType.Array: return this.AsArray().Equals(b.arrayValue); break;
-				case DataType.Object: return this.AsDictionary().Equals(b.objectValue); break;
+				case DataType.Boolean: case DataType.Integer: return this.AsLong().Equals(b.longValue);
+				case DataType.Double: return this.AsDouble().Equals(b.doubleValue);
+				case DataType.String: return this.AsString().Equals(b.stringValue);
+				case DataType.Array: return this.AsArray().Equals(b.arrayValue);
+				case DataType.Object: return this.AsDictionary().Equals(b.objectValue);
 				default: return false;
 			}
 		}


toc needn't report own filename as uid (#3418)

--- src/Microsoft.DocAsCode.Build.TableOfContents/TocDocumentProcessorBase.cs
+++ src/Microsoft.DocAsCode.Build.TableOfContents/TocDocumentProcessorBase.cs
@@ -43,7 +43,6 @@

             return new FileModel(file, toc)
             {
-                Uids = new[] { new UidDefinition(file.File, displayLocalPath) }.ToImmutableArray(),
                 LocalPathFromRoot = displayLocalPath
             };
         }


Guard use of ConsoleControl in ConsoleHostUserInterface

--- src/Microsoft.PowerShell.ConsoleHost/host/msh/ConsoleHostUserInterface.cs
+++ src/Microsoft.PowerShell.ConsoleHost/host/msh/ConsoleHostUserInterface.cs
@@ -14,7 +14,9 @@
 using System.Management.Automation.Host;
 using System.Security;
 using Dbg = System.Management.Automation.Diagnostics;
+#if !OPEN
 using ConsoleHandle = Microsoft.Win32.SafeHandles.SafeFileHandle;
+#endif

 namespace Microsoft.PowerShell
 {
@@ -58,7 +60,11 @@

             this.parent = parent;
             this.rawui = new ConsoleHostRawUserInterface(this);
-
+            isInteractiveTestToolListening = false;
+
+#if OPEN
+            this._supportsVirtualTerminal = false;
+#else
             // Turn on virtual terminal if possible.
             var handle = ConsoleControl.GetActiveScreenBufferHandle();
             var m = ConsoleControl.GetMode(handle);
@@ -71,9 +77,8 @@
             // systems ignore the setting.
             m = ConsoleControl.GetMode(handle);
             this._supportsVirtualTerminal = (m & ConsoleControl.ConsoleModes.VirtualTerminal) != 0;
-
-            isInteractiveTestToolListening = false;
             isTestingShiftTab = false;
+#endif
         }

         /// <summary>
@@ -284,6 +289,9 @@

         private object ReadLineSafe(bool isSecureString, char? printToken)
         {
+#if OPEN
+            throw new PlatformNotSupportedException("Cannot read secure strings!");
+#else
             // Don't lock (instanceLock) in here -- the caller needs to do that...

             PreRead();
@@ -404,6 +412,7 @@
             {
                 return result;
             }
+#endif
         }

         /// <summary>
@@ -535,7 +544,7 @@
         /// false otherwise
         ///
         /// </returns>
-
+#if !OPEN
         private static bool shouldUnsetMode(
             ConsoleControl.ConsoleModes flagToUnset,
             ref ConsoleControl.ConsoleModes m)
@@ -547,11 +556,15 @@
             }
             return false;
         }
+#endif

         #region WriteToConsole

         internal void WriteToConsole(string value, bool transcribeResult)
         {
+#if OPEN
+            Console.Write(value);
+#else
             ConsoleHandle handle = ConsoleControl.GetActiveScreenBufferHandle();

             // Ensure that we're in the proper line-output mode.  We don't lock here as it does not matter if we
@@ -574,6 +587,7 @@
             // This is atomic, so we don't lock here...

             ConsoleControl.WriteConsole(handle, value);
+#endif

             if (isInteractiveTestToolListening && parent.IsStandardOutputRedirected)
             {
@@ -1480,9 +1494,9 @@

-        // We don't use System.Environment.NewLine because we are very platform specific with our use of the win32 console APIs
-
-        internal const string Crlf = "\x000D\x000A";
+        // We use System.Environment.NewLine because we are platform-agnostic
+
+        internal static string Crlf = System.Environment.NewLine;
         private const string Tab = "\x0009";

         internal enum ReadLineResult
@@ -1550,6 +1564,10 @@

         internal string ReadLine(bool endOnTab, string initialContent, out ReadLineResult result, bool calledFromPipeline, bool transcribeResult)
         {
+#if OPEN
+            result = ReadLineResult.endedOnEnter;
+            return Console.ReadLine();
+#else
             result = ReadLineResult.endedOnEnter;

             // If the test hook is set, read from it.
@@ -1705,6 +1723,7 @@
                 s += restOfLine;

             return s;
+#endif
         }

         /// <summary>
@@ -1712,6 +1731,7 @@
         /// </summary>
         /// <param name="cursorPosition">the cursor position where 'tab' is hit</param>
         /// <returns></returns>
+#if !OPEN
         private char GetCharacterUnderCursor(Coordinates cursorPosition)
         {
             Rectangle region = new Rectangle(0, cursorPosition.Y, RawUI.BufferSize.Width - 1, cursorPosition.Y);
@@ -1734,6 +1754,7 @@
             Dbg.Assert(false, "the character at the cursor should be retrieved, never gets to here");
             return '\0';
         }
+#endif

         /// <summary>
@@ -1780,8 +1801,6 @@
         /// </returns>
         internal string ReadLineWithTabCompletion(Executor exec, bool useUserDefinedCustomReadLine)
         {
-            ConsoleHandle handle = ConsoleControl.GetActiveScreenBufferHandle();
-
             string input = null;
             string lastInput = "";
             string lastCompletion = "";
@@ -1912,13 +1931,19 @@

                     if (deltaInput > 0)
                     {
-                        ConsoleControl.FillConsoleOutputCharacter(handle, ' ', deltaInput, endOfCompletionCursorPos);
+                        Console.SetCursorPosition(endOfCompletionCursorPos.X, endOfCompletionCursorPos.Y);
+                        for (int i = 0; i < deltaInput; i++)
+                        {
+                            Console.Write(' ');
+                        }
                     }

                     if (restOfLine != string.Empty)
                     {
                         lastCompletion = completedInput.Remove(completedInput.Length - restOfLine.Length);
+#if !OPEN
                         SendLeftArrows(restOfLine.Length);
+#endif
                     }
                     else
                     {
@@ -1942,6 +1967,7 @@
             return input;
         }

+#if !OPEN
         private void SendLeftArrows(int length)
         {
             var inputs = new ConsoleControl.INPUT[length * 2];
@@ -1971,6 +1997,7 @@

             ConsoleControl.MimicKeyPress(inputs);
         }
+#endif

         private CommandCompletion GetNewCompletionResults(string input)
         {
@@ -2086,7 +2113,9 @@
         // this is a test hook for the ConsoleInteractiveTestTool, which sets this field to true.

         private bool isInteractiveTestToolListening;
+#if !OPEN
         private bool isTestingShiftTab;
+#endif

         // This instance data is "read-only" and need not have access serialized.


CONTENT-7660: Fix comment typo

CONTENT-7660: Fix comment typo

--- src/Modules/Content/Dnn.PersonaBar.Pages/Components/TemplateController.cs
+++ src/Modules/Content/Dnn.PersonaBar.Pages/Components/TemplateController.cs
@@ -156,7 +156,7 @@
                 var xmlDoc = new XmlDocument();
                 try
                 {
-                    // open the XML filew
+                    // open the XML file
                     var fileId = Convert.ToInt32(templateId);
                     var templateFile = FileManager.Instance.GetFile(fileId);
                     xmlDoc.Load(FileManager.Instance.GetFileContent(templateFile));


Remove accidental conditional compilation

--- src/NUnitFramework/tests/Constraints/CollectionSupersetConstraintTests.cs
+++ src/NUnitFramework/tests/Constraints/CollectionSupersetConstraintTests.cs
@@ -69,7 +69,6 @@
             }
         }

-#if !NET35
         [Test]
         public void WorksOnTuples()
         {
@@ -132,7 +131,6 @@
         {
             public char C;
         }
-#endif

         public class IgnoreCaseDataProvider
         {


Added a little more to the comments

Added a little more to the comments

--- src/NorthwindSample/app/Northwind.ApplicationServices/DashboardService.cs
+++ src/NorthwindSample/app/Northwind.ApplicationServices/DashboardService.cs
@@ -26,6 +26,10 @@
         /// Since DashboardService is registered as a component within Northwind.Web.CastleWindsor.ComponentRegistrar,
         /// its dependencies (e.g. supplierRepository) will automatically be injected when this service is
         /// injected into the constructor of another object (e.g., Northwind.Web.Controllers.DashboardController).
+        ///
+        /// Note that the constructor isn't limited to a single dependency.  You can pass in multiple repositories,
+        /// WCF services (e.g., as in Northwind.Web.Controllers.TerritoriesController), or even other application
+        /// services if you wanted to make it really ugly.
         /// </summary>
         public DashboardService(IRepository<Supplier> supplierRepository) {
             Check.Require(supplierRepository != null, "supplierRepository may not be null");


#20318: Fixing Custom Forms submission.

#20318: Fixing Custom Forms submission.

Work Item: 20318

--- src/Orchard.Web/Modules/Orchard.CustomForms/Controllers/ItemController.cs
+++ src/Orchard.Web/Modules/Orchard.CustomForms/Controllers/ItemController.cs
@@ -118,13 +118,15 @@
             }

             var customForm = form.As<CustomFormPart>();
-
             var contentItem = _contentManager.New(customForm.ContentType);

             if (!Services.Authorizer.Authorize(Permissions.CreateSubmitPermission(customForm.ContentType), contentItem, T("Couldn't create content")))
                 return new HttpUnauthorizedResult();

-            dynamic model = _contentManager.UpdateEditor(contentItem, this);
+            if(customForm.SaveContentItem)
+                _contentManager.Create(contentItem, VersionOptions.Draft);
+
+            var model = _contentManager.UpdateEditor(contentItem, this);

             if (!ModelState.IsValid) {
                 _transactionManager.Cancel();
@@ -163,7 +165,6 @@

             // save the submitted form
             if (customForm.SaveContentItem) {
-                _contentManager.Create(contentItem);
                 conditionallyPublish(contentItem);
             }


Remove empty file

Remove empty file

--- src/Stripe.net/Services/FundingInstructions/FundingInstructionsService.cs
+++ src/Stripe.net/Services/FundingInstructions/FundingInstructionsService.cs
@@ -1 +0,0 @@
-// File generated from our OpenAPI spec


Fix ReadOnlyDictionary JSON DCS test

Fix ReadOnlyDictionary JSON DCS test

--- src/System.Runtime.Serialization.Json/tests/DataContractJsonSerializer.cs
+++ src/System.Runtime.Serialization.Json/tests/DataContractJsonSerializer.cs
@@ -1708,7 +1708,7 @@
         dict["Foo"] = 1;
         dict["Bar"] = 2;
         ReadOnlyDictionary<string, int> value = new ReadOnlyDictionary<string, int>(dict);
-        var deserializedValue = SerializeAndDeserialize(value, @"{""_dictionary"":[{""Key"":""Foo"",""Value"":1},{""Key"":""Bar"",""Value"":2}]}");
+        var deserializedValue = SerializeAndDeserialize(value, @"{""m_dictionary"":[{""Key"":""Foo"",""Value"":1},{""Key"":""Bar"",""Value"":2}]}");

         Assert.StrictEqual(value.Count, deserializedValue.Count);
         Assert.StrictEqual(value["Foo"], deserializedValue["Foo"]);


Add doc

Add doc

--- src/Workspaces/Core/Portable/FindSymbols/SymbolFinder_Hierarchy_Legacy.cs
+++ src/Workspaces/Core/Portable/FindSymbols/SymbolFinder_Hierarchy_Legacy.cs
@@ -17,6 +17,11 @@

 namespace Microsoft.CodeAnalysis.FindSymbols
 {
+    // This file contains the legacy SymbolFinder APIs.  The APIs are legacy because they
+    // do not contain enough information for us to effectively remote them over to the OOP
+    // process to do the work.  Specifically, they lack the "current project context" necessary
+    // to be able to effectively serialize symbols to/from the remote process.
+
     public static partial class SymbolFinder
     {
         /// <summary>


(maint) typo

(maint) typo

--- src/chocolatey/infrastructure.app/commands/ChocolateyUnpackSelfCommand.cs
+++ src/chocolatey/infrastructure.app/commands/ChocolateyUnpackSelfCommand.cs
@@ -29,7 +29,7 @@
     using logging;
     using resources;

-    [CommandFor("unpackself", "have chocolatey set it self up")]
+    [CommandFor("unpackself", "have chocolatey set itself up")]
     public class ChocolateyUnpackSelfCommand : ICommand
     {
         private readonly IFileSystem _fileSystem;


Se cambió en WebClientChannel el nombre address por uri

--- LinkupSharp/Channels/WebClientChannel.cs
+++ LinkupSharp/Channels/WebClientChannel.cs
@@ -48,8 +48,8 @@
         private int poolingTime;
         private Timer inactivityTimer;
         private int inactivityTime;
-
-        internal string Address { get; private set; }
+        private string uri;
+
         internal string Id { get; private set; }

         static WebClientChannel()
@@ -67,10 +67,10 @@
             pending = new Queue<Packet>();
         }

-        public WebClientChannel(string address)
+        public WebClientChannel(string uri)
         {
             WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultNetworkCredentials;
-            Address = address;
+            this.uri = uri;
             Id = Guid.NewGuid().ToString();
             serverSide = false;
             serializer = new JsonPacketSerializer();
@@ -103,7 +103,7 @@
             {
                 try
                 {
-                    var webRequest = HttpWebRequest.Create(Address) as HttpWebRequest;
+                    var webRequest = HttpWebRequest.Create(uri) as HttpWebRequest;
                     webRequest.ContentType = "text/plain";
                     webRequest.Headers.Add("ClientId", Id);
                     webRequest.Timeout = inactivityTime;
@@ -142,7 +142,7 @@
                 try
                 {
                     byte[] buffer = serializer.Serialize(packet);
-                    var webRequest = HttpWebRequest.Create(Address) as HttpWebRequest;
+                    var webRequest = HttpWebRequest.Create(uri) as HttpWebRequest;
                     webRequest.ContentType = "text/plain";
                     webRequest.Headers.Add("ClientId", Id);
                     webRequest.Method = "POST";


change from >= to > in ped plan events

change from >= to > in ped plan events

--- MOE.Common/Business/PEDDelay/PedPhase.cs
+++ MOE.Common/Business/PEDDelay/PedPhase.cs
@@ -32,7 +32,7 @@
                     plansData.Events[i].EventParam);

                 plan.Events = (from e in Events
-                                where e.Timestamp >= plan.StartDate && e.Timestamp < plan.EndDate
+                                where e.Timestamp > plan.StartDate && e.Timestamp < plan.EndDate
                                 select e).ToList();

                 plan.ImputedPedCallsRegistered = CountImputedPedCalls(plan.Events);


to handle null or empty strings better

to handle null or empty strings better

Former-commit-id: bfad50f3ea7417ca0da1557f412705a3420409f9

--- MassTransit.ServiceBus/Util/MessageId.cs
+++ MassTransit.ServiceBus/Util/MessageId.cs
@@ -106,7 +106,12 @@

         public static implicit operator MessageId(string id)
         {
-            return new MessageId(id);
+            MessageId result = MessageId.Empty;
+
+            if(!string.IsNullOrEmpty(id))
+                result = new MessageId(id);
+
+            return result;
         }

         public static implicit operator string(MessageId id)


BUG : Combobox

BUG : Combobox

Fixed issue when switching the theme to dark the theme seems to be not
applied to the combobox

--- MetroFramework/Controls/MetroComboBox.cs
+++ MetroFramework/Controls/MetroComboBox.cs
@@ -408,8 +408,15 @@

         private void DrawTextPrompt(Graphics g)
         {
+            Color backColor = BackColor;
+
+            if (!useCustomBackColor)
+            {
+                backColor = MetroPaint.BackColor.Form(Theme);
+            }
+
             Rectangle textRect = new Rectangle(2, 2, Width - 20, Height - 4);
-            TextRenderer.DrawText(g, promptText, MetroFonts.ComboBox(metroComboBoxSize, metroComboBoxWeight), textRect, SystemColors.GrayText, BackColor, TextFormatFlags.Left | TextFormatFlags.VerticalCenter | TextFormatFlags.EndEllipsis);
+            TextRenderer.DrawText(g, promptText, MetroFonts.ComboBox(metroComboBoxSize, metroComboBoxWeight), textRect, SystemColors.GrayText, backColor, TextFormatFlags.Left | TextFormatFlags.VerticalCenter | TextFormatFlags.EndEllipsis);
         }

         #endregion


Check that Data dictionary accepts string keys.

--- Mindscape.Raygun4Net/RaygunClientBase.cs
+++ Mindscape.Raygun4Net/RaygunClientBase.cs
@@ -11,14 +11,25 @@

     protected bool CanSend(Exception exception)
     {
-      return exception == null || !exception.Data.Contains(SentKey) || false.Equals(exception.Data[SentKey]);
+      return exception == null || exception.Data == null || !exception.Data.Contains(SentKey) || false.Equals(exception.Data[SentKey]);
     }

     protected void FlagAsSent(Exception exception)
     {
-      if (exception != null)
+      if (exception != null && exception.Data != null)
       {
-        exception.Data[SentKey] = true;
+        try
+        {
+          Type[] genericTypes = exception.Data.GetType().GetGenericArguments();
+          if (genericTypes.Length > 0 && genericTypes[0].IsAssignableFrom(typeof(string)))
+          {
+            exception.Data[SentKey] = true;
+          }
+        }
+        catch (Exception ex)
+        {
+          System.Diagnostics.Trace.WriteLine(String.Format("Failed to flag exception as sent: {0}", ex.Message));
+        }
       }
     }
   }


- Adding hosteeId to ChannelModel

- Adding hosteeId to ChannelModel

--- Mixer.Base/Model/Channel/ChannelModel.cs
+++ Mixer.Base/Model/Channel/ChannelModel.cs
@@ -33,5 +33,6 @@
         public uint? coverId { get; set; }
         public uint? thumbnailId { get; set; }
         public Guid? costreamId { get; set; }
+        public uint hosteeId { get; set; }
     }
 }


convert to CompileFast(true)

convert to CompileFast(true)

--- test/FastExpressionCompiler.IssueTests/Issue159_NumericConversions.cs
+++ test/FastExpressionCompiler.IssueTests/Issue159_NumericConversions.cs
@@ -74,7 +74,7 @@
                 block,
                 ulongParameter);

-            var ulongValueOrDefaultFunc = ulongValueOrDefaultLambda.CompileFast();
+            var ulongValueOrDefaultFunc = ulongValueOrDefaultLambda.CompileFast(true);
             var result = ulongValueOrDefaultFunc.Invoke(new ValueHolder<ulong> { Value = ulong.MaxValue });

             Assert.AreEqual(default(int), result.Value);
@@ -97,7 +97,7 @@
             var expected = ulongValHolderExpr.CompileSys();
             Assert.AreEqual(int.MaxValue, expected().Value);

-            var actual = ulongValHolderExpr.CompileFast();
+            var actual = ulongValHolderExpr.CompileFast(true);
             Assert.AreEqual(int.MaxValue, actual().Value);
         }

@@ -115,7 +115,7 @@
             var expectedResult = expected(new ValueHolder<ulong?> { Value = ulong.MaxValue });
             Assert.AreEqual(false, expectedResult);

-            var actual = lambdaExpr.CompileFast();
+            var actual = lambdaExpr.CompileFast(true);

             // todo: optimize to something like below
             /*
@@ -193,7 +193,7 @@
             var expectedResult = expected(new ValueHolder<ulong?> { Value = ulong.MaxValue });
             Assert.AreEqual(default(int?), expectedResult.Value);

-            var actual = ulongValueOrDefaultLambda.CompileFast();
+            var actual = ulongValueOrDefaultLambda.CompileFast(true);
             var actualResult = actual(new ValueHolder<ulong?> { Value = ulong.MaxValue });
             Assert.AreEqual(default(int?), actualResult.Value);
         }
@@ -237,7 +237,7 @@

             var source = new ValueHolder<float> { Value = 532.00f };

-            var floatValueOrDefaultFunc = floatValueOrDefaultLambda.CompileFast();
+            var floatValueOrDefaultFunc = floatValueOrDefaultLambda.CompileFast(true);
             var result = floatValueOrDefaultFunc.Invoke(source);

             Assert.AreEqual((short)532, result.Value);
@@ -282,7 +282,7 @@

             var source = new ValueHolder<float> { Value = 532.00f };

-            var floatValueOrDefaultFunc = floatValueOrDefaultLambda.CompileFast();
+            var floatValueOrDefaultFunc = floatValueOrDefaultLambda.CompileFast(true);
             var result = floatValueOrDefaultFunc.Invoke(source);

             Assert.AreEqual((short)532, result.Value);
@@ -465,7 +465,7 @@

             var source = new ValueHolder<float> { Value = 8532.00f };

-            var floatValueOrDefaultFunc = floatValueOrDefaultLambda.CompileFast();
+            var floatValueOrDefaultFunc = floatValueOrDefaultLambda.CompileFast(true);
             var result = floatValueOrDefaultFunc.Invoke(source);

             Assert.AreEqual(8532.00m, result.Value);
@@ -570,7 +570,7 @@

             var source = new ValueHolder<double> { Value = double.MaxValue };

-            var doubleValueOrDefaultFunc = doubleValueOrDefaultLambda.CompileFast();
+            var doubleValueOrDefaultFunc = doubleValueOrDefaultLambda.CompileFast(true);
             var result = doubleValueOrDefaultFunc.Invoke(source);

             Assert.IsNull(result.Value);
@@ -615,7 +615,7 @@

             var source = new ValueHolder<double> { Value = double.MinValue };

-            var doubleValueOrDefaultFunc = doubleValueOrDefaultLambda.CompileFast();
+            var doubleValueOrDefaultFunc = doubleValueOrDefaultLambda.CompileFast(true);
             var result = doubleValueOrDefaultFunc.Invoke(source);

             Assert.AreEqual(default(decimal), result.Value);
@@ -647,7 +647,7 @@
                 block,
                 nullableIntHolderParam);

-            var adapt = adaptExpr.CompileFast();
+            var adapt = adaptExpr.CompileFast(true);
             adapt.Method.AssertOpCodes(
                 OpCodes.Newobj,
                 OpCodes.Stloc_0, // todo: can be replaced with dup #
@@ -678,7 +678,7 @@
             var adaptExpr = Lambda<Func<ValueHolder<int?>, ValueHolder<double>>>(
                 memberInit, nullableIntHolderParam);

-            var adapt = adaptExpr.CompileFast();
+            var adapt = adaptExpr.CompileFast(true);

             adapt.Method.AssertOpCodes(
                 OpCodes.Newobj,
@@ -717,7 +717,7 @@

             var source = new ValueHolder<decimal?> { Value = 938378.637m };

-            var adapt = expr.CompileFast();
+            var adapt = expr.CompileFast(true);
             adapt.Method.AssertOpCodes(
                 OpCodes.Newobj,
                 OpCodes.Stloc_0, // todo: can be simplified with dup #173
@@ -757,7 +757,7 @@

             var source = new ValueHolder<decimal> { Value = 5332.00m };

-            var adapt = expr.CompileFast();
+            var adapt = expr.CompileFast(true);
             adapt.Method.AssertOpCodes(
                 OpCodes.Newobj,
                 OpCodes.Stloc_0, // todo: can be simplified with dup #173


removed some unused using statements

removed some unused using statements

--- Assets/MixedRealityToolkit/_Core/Devices/OpenVR/OpenVRDeviceManager.cs
+++ Assets/MixedRealityToolkit/_Core/Devices/OpenVR/OpenVRDeviceManager.cs
@@ -4,8 +4,6 @@
 using Microsoft.MixedReality.Toolkit.Internal.Definitions.Devices;
 using Microsoft.MixedReality.Toolkit.Internal.Definitions.Utilities;
 using Microsoft.MixedReality.Toolkit.Internal.Interfaces;
-using Microsoft.MixedReality.Toolkit.Internal.Interfaces.InputSystem;
-using Microsoft.MixedReality.Toolkit.Internal.Managers;
 using System;
 using System.Collections.Generic;
 using System.Linq;


removing the old configuration concept

removing the old configuration concept

Former-commit-id: eefea81f09b2bc8a046adff83af79b49c907c140

--- Deployment/SubscriptionServiceHost/SubscriptionServiceConfiguration.cs
+++ Deployment/SubscriptionServiceHost/SubscriptionServiceConfiguration.cs
@@ -1,54 +0,0 @@
-// Copyright 2007-2008 The Apache Software Foundation.
-//
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-// this file except in compliance with the License. You may obtain a copy of the
-// License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software distributed
-// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-// CONDITIONS OF ANY KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations under the License.
-namespace SubscriptionServiceHost
-{
-    using MassTransit.Host;
-    using MassTransit.Host.Configurations;
-    using Microsoft.Practices.ServiceLocation;
-
-    public class SubscriptionServiceConfiguration :
-        WinServiceConfiguration
-    {
-        private readonly IApplicationLifecycle _lifecycle;
-
-        public SubscriptionServiceConfiguration(IServiceLocator serviceLocator)
-        {
-            _lifecycle = new SubscriptionServiceLifeCycle(serviceLocator);
-        }
-
-        public override IApplicationLifecycle LifeCycle
-        {
-            get { return _lifecycle; }
-        }
-
-        public override string ServiceName
-        {
-            get { return "MassTransit Subscription Manager"; }
-        }
-
-        public override string DisplayName
-        {
-            get { return "MassTransit Subscription Manager"; }
-        }
-
-        public override string Description
-        {
-            get { return "This service manages the subscriptions for Mass Transit"; }
-        }
-
-        public override string[] Dependencies
-        {
-            get { return new string[] {"MSMQ"}; }
-        }
-    }
-}


Ensure RpcExceptions from the debugger API do not cause full agent failures. (#115)

I do not have unit tests for this (or any of the Agent).  One of my next PRs will be a major refactor of this class and I will add full tests then.

--- Google.Cloud.Diagnostics.Debug/Google.Cloud.Diagnostics.Debug/Agent.cs
+++ Google.Cloud.Diagnostics.Debug/Google.Cloud.Diagnostics.Debug/Agent.cs
@@ -22,6 +22,7 @@
 using System.Threading;
 using System.Threading.Tasks;
 using StackdriverBreakpoint = Google.Cloud.Debugger.V2.Breakpoint;
+using Grpc.Core;

 namespace Google.Cloud.Diagnostics.Debug
 {
@@ -33,9 +34,22 @@
     /// report hit breakpoints.
     /// TODO(talarico): These docs need to be significantly expanded (use watchpoint).
     /// TODO(talarico): Add example of how to start this.
+    /// TODO(talarico): Refactor this class it's become to random and some functions do too much.
     /// </summary>
     internal sealed class Agent : IDisposable
     {
+        /// <summary>
+        /// The minimum amount of time we will sleep when backing off failed RPC calls.
+        /// The wait time may be higher if the user sets the option.
+        /// </summary>
+        private static readonly TimeSpan _minBackOffWaitTime = TimeSpan.FromSeconds(10);
+
+        /// <summary>
+        /// The maximum amount of time we will sleep when backing off failed RPC calls.
+        /// The wait time may be higher if the user sets the option.
+        /// </summary>
+        private static readonly TimeSpan _maxBackOffWaitTime = TimeSpan.FromSeconds(10);
+
         private readonly AgentOptions _options;
         private readonly DebuggerClient _client;
         // Key is a location identifier (from path and line number) and value is ID of an existing breakpoint.
@@ -51,7 +65,7 @@
         public Agent(AgentOptions options, Controller2Client controlClient = null)
         {
             _options = GaxPreconditions.CheckNotNull(options, nameof(options));
-            _client = new DebuggerClient(options, controlClient ?? Controller2Client.Create());
+            _client = TryAction(() => new DebuggerClient(options, controlClient));
             _breakpointLocationToId = new ConcurrentDictionary<string, string>();
             _cts = new CancellationTokenSource();
             _tcs = new TaskCompletionSource<bool>();
@@ -63,7 +77,7 @@
         public void StartAndBlock()
         {
             // Register the debuggee.
-            _client.Register();
+            TryAction(() => { _client.Register(); return true; });

             ProcessStartInfo startInfo = ProcessUtils.GetStartInfoForInteractiveProcess(
                 _options.Debugger, _options.DebuggerArguments, null);
@@ -101,7 +115,7 @@
                 {
                     server.WaitForConnectionAsync().Wait();
                     tcs.SetResult(true);
-                    while (!cancellationToken.IsCancellationRequested)
+                    RepeatRpcAction(() =>
                     {
                         var serverBreakpoints = TryAction(() => _client.ListBreakpoints());

@@ -120,8 +134,10 @@
                                 throw new ArgumentException("Location must contains file name and line number.");
                             }

-                            var location = new SourceLocation() {
-                                Path = locationStrings[0], Line = Int32.Parse(locationStrings[1])
+                            var location = new SourceLocation()
+                            {
+                                Path = locationStrings[0],
+                                Line = Int32.Parse(locationStrings[1])
                             };

                             var breakpoint = new Breakpoint
@@ -154,9 +170,7 @@
                                 server.WriteBreakpointAsync(breakpoint.Convert()).Wait();
                             }
                         }
-
-                        Thread.Sleep(TimeSpan.FromSeconds(_options.WaitTime));
-                    }
+                    }, TimeSpan.FromSeconds(_options.WaitTime), cancellationToken);
                 }
             }).Start();
             return tcs.Task;
@@ -177,7 +191,7 @@
                 {
                     server.WaitForConnectionAsync().Wait();
                     tcs.SetResult(true);
-                    while (!cancellationToken.IsCancellationRequested)
+                    RepeatRpcAction(() =>
                     {
                         Task<Breakpoint> breakpointFromDebugger = server.ReadBreakpointAsync();
                         breakpointFromDebugger.Wait();
@@ -197,10 +211,44 @@
                         // User may have removed it before the debugger has a chance to remove the breakpoint.

                         TryAction(() => _client.UpdateBreakpoint(breakpoint));
-                    }
+                    }, TimeSpan.Zero, cancellationToken);
                 }
             }).Start();
             return tcs.Task;
+        }
+
+        /// <summary>
+        /// Repeats an action that may throw and <see cref="RpcException"/>.
+        /// If an <see cref="RpcException"/> is thrown the <paramref name="waitTime"/> will double
+        /// until the action is successful (up to <see cref="_maxBackOffWaitTime"/>).  When the action
+        /// is successful the wait between calls will return to the original amount.
+        /// </summary>
+        /// <param name="action">The action to repeated make.</param>
+        /// <param name="waitTime">The time to wait between calls to the action.</param>
+        /// <param name="cancellationToken">A token to signal this action should stop.</param>
+        private void RepeatRpcAction(Action action, TimeSpan waitTime, CancellationToken cancellationToken)
+        {
+            TimeSpan originalWaitTime = waitTime;
+            TimeSpan currentWaitTime = waitTime;
+            while (!cancellationToken.IsCancellationRequested)
+            {
+                try
+                {
+                    action();
+                    currentWaitTime = originalWaitTime;
+                }
+                catch (RpcException e)
+                {
+                    Console.WriteLine( $"RpcException with status code '{e.Status.StatusCode}' \n {e}");
+                    if (currentWaitTime < _maxBackOffWaitTime)
+                    {
+                        currentWaitTime = TimeSpan.FromTicks(currentWaitTime.Ticks * 2);
+                    }
+                    currentWaitTime = currentWaitTime == TimeSpan.Zero ? _minBackOffWaitTime : currentWaitTime;
+                }
+                Thread.Sleep(currentWaitTime);
+            }
+
         }

         /// <summary>


removed hiding property

removed hiding property

--- HeroesMatchTracker.Core/Models/MatchModels/MatchPlayerAdvancedStats.cs
+++ HeroesMatchTracker.Core/Models/MatchModels/MatchPlayerAdvancedStats.cs
@@ -21,7 +21,6 @@
         public int? MinionDamage { get; private set; }
         public int? SummonDamage { get; private set; }
         public int? StrutureDamage { get; private set; }
-        public int? SelfHealing { get; private set; }
         public int? MercCampCaptures { get; private set; }
         public int? WatchTowerCaptures { get; private set; }
         public int? TownKills { get; private set; }
@@ -37,7 +36,6 @@
             MinionDamage = playerScore.MinionDamage;
             SummonDamage = playerScore.SummonDamage;
             StrutureDamage = playerScore.StructureDamage;
-            SelfHealing = playerScore.SelfHealing;
             MercCampCaptures = playerScore.MercCampCaptures;
             WatchTowerCaptures = playerScore.WatchTowerCaptures;
             TownKills = playerScore.TownKills;


Error: passing more locations than needed.

--- NUnitTests/Spg.NUnitTests.LocationTestSolution/LocationTestSolution.cs
+++ NUnitTests/Spg.NUnitTests.LocationTestSolution/LocationTestSolution.cs
@@ -471,11 +471,11 @@
         }

         [Test]
-        public void Proj2_8d452499b23e250232406fa9c875973a054b17f9Test()
-        {
-            List<string> projects = new List<string>();
-            projects.Add("Proj2_8d452499b23e250232406fa9c875973a054b17f9");
-            bool isValid = LocaleTestSolution("2_8d452499b23e250232406fa9c875973a054b17f9", @"..\..\TestProjects\Projects\EntityFramework4\Proj2_8d452499b23e250232406fa9c875973a054b17f9.sln", projects);
+        public void Proj2_8d45249()
+        {
+            List<string> projects = new List<string>();
+            projects.Add("FunctionalTests");
+            bool isValid = LocaleTestSolution(@"EntityFramewok\2_8d45249", @"EntityFramework\entityframework4\EntityFramework.sln", projects);
             Assert.IsTrue(isValid);
         }

@@ -942,7 +942,8 @@
                         positivesRegions.Add(item.Region);
                     }
                 }
-                controller.Extract(positivesRegions, negativesRegions);
+                negativesRegions = negativesRegions.GetRange(0, 2);
+                controller.Extract(controller.SelectedLocations, negativesRegions);
                 controller.RetrieveLocations();
             }


add event for segment placement

add event for segment placement

--- NetworkSkins/Skins/NetworkSkinManager.cs
+++ NetworkSkins/Skins/NetworkSkinManager.cs
@@ -27,6 +27,9 @@

         private NetworkSkinLoadErrors _loadErrors;

+        public delegate void SegmentPlacedEventHandler(NetworkSkin skin);
+        public event SegmentPlacedEventHandler EventSegmentPlaced;
+
         #region Lifecycle
         public void Awake()
         {
@@ -172,6 +175,11 @@
             UsageAdded(skin, count: 3);
             UsageRemoved(previousStartSkin);
             UsageRemoved(previousEndSkin);
+
+            if (skin != null)
+            {
+                EventSegmentPlaced?.Invoke(skin);
+            }
         }

         public void OnSegmentTransferData(ushort oldSegment, ushort newSegment)


Remove SecurityTransparent from Server

Remove SecurityTransparent from Server

--- NuPack.Server/Properties/AssemblyInfo.cs
+++ NuPack.Server/Properties/AssemblyInfo.cs
@@ -1,7 +1,4 @@
 using System.Reflection;
-using System.Security;

 [assembly: AssemblyTitle("NuGet.Server")]
 [assembly: AssemblyDescription("Sample Web Application used to host a read-only NuGet feed")]
-
-[assembly: SecurityTransparent]


Resetting of config section types in new software installer

--- PART/Source/CprBroker/CprBrokerWixInstallers/CprBrokerCustomActions.cs
+++ PART/Source/CprBroker/CprBrokerWixInstallers/CprBrokerCustomActions.cs
@@ -379,6 +379,10 @@
         {
             try
             {
+                // Reset types in config filr
+                ResetDataProviderSectionDefinitions(session);
+
+                // Now prepare and install the website
                 var allOptions = new Dictionary<string, WebInstallationOptions>();

                 Dictionary<string, string> connectionStrings = new Dictionary<string, string>();