diff --git a/GHelper.csproj b/GHelper.csproj
index 484d6a92b..382b440b9 100644
--- a/GHelper.csproj
+++ b/GHelper.csproj
@@ -30,6 +30,7 @@
+
diff --git a/Program.cs b/Program.cs
index 25bd82b35..54edbafd2 100644
--- a/Program.cs
+++ b/Program.cs
@@ -2,7 +2,7 @@
using System.Diagnostics;
using System.Management;
using System.Runtime.InteropServices;
-
+using HidLibrary;
using System.Text.Json;
public class ASUSWmi
@@ -214,55 +214,6 @@ public void setConfig(string name, int value)
}
-public class PowerPlan
-{
- static void RunCommands(List cmds, string workingDirectory = "")
- {
- var process = new Process();
- var psi = new ProcessStartInfo();
- psi.FileName = "powershell";
- psi.RedirectStandardInput = true;
- psi.RedirectStandardOutput = true;
- psi.RedirectStandardError = true;
- psi.UseShellExecute = false;
-
- psi.CreateNoWindow = true;
-
- psi.WorkingDirectory = workingDirectory;
- process.StartInfo = psi;
- process.Start();
- process.OutputDataReceived += (sender, e) => { Debug.WriteLine(e.Data); };
- process.ErrorDataReceived += (sender, e) => { Debug.WriteLine(e.Data); };
- process.BeginOutputReadLine();
- process.BeginErrorReadLine();
- using (StreamWriter sw = process.StandardInput)
- {
- foreach (var cmd in cmds)
- {
- sw.WriteLine(cmd);
- }
- }
- process.WaitForExit();
- }
-
-
- public static int getBoostStatus()
- {
- List cmds = new List
- {
- "$asGuid = [regex]::Match((powercfg /getactivescheme),'(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}').Value",
- "$statusFull = (powercfg /QUERY $asGuid 54533251-82be-4824-96c1-47b60b740d00 be337238-0d82-4146-a960-4f3749d470c7) -match 'Current AC Power Setting Index'",
- "[regex]::Match($statusFull,'(0x.{8})').Value"
- };
-
- RunCommands(cmds);
-
- return 0;
- }
-
-}
-
-
public class NativeMethods
{
@@ -468,8 +419,74 @@ public static void SetCPUBoost(int boost = 0)
PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid);
}
+}
+public class Aura
+{
+
+ static byte[] MESSAGE_SET = { 0x5d, 0xb5 };
+ static byte[] MESSAGE_APPLY = { 0x5d, 0xb4 };
+
+ public const int Static = 0;
+ public const int Breathe = 0;
+ public const int Strobe = 0;
+ public const int Rainbow = 0;
+
+
+ public const int SpeedSlow = 0;
+ public const int SpeedMedium = 1;
+ public const int SpeedHigh = 2;
+
+ public static int Mode = Static;
+ public static Color Color1 = Color.White;
+ public static Color Color2 = Color.Black;
+ public static int Speed = SpeedSlow;
+
+ public static byte[] AuraMessage(int mode, Color color, Color color2, int speed)
+ {
+ byte[] msg = new byte[17];
+ msg[0] = 0x5d;
+ msg[1] = 0xb3;
+ msg[2] = 0x00; // Zone
+ msg[3] = (byte)mode; // Aura Mode
+ msg[4] = (byte)(color.R); // R
+ msg[5] = (byte)(color.G); // G
+ msg[6] = (byte)(color.B); // B
+ msg[7] = (byte)speed; // aura.speed as u8;
+ msg[8] = 0; // aura.direction as u8;
+ msg[10] = (byte)(color2.R); // R
+ msg[11] = (byte)(color2.G); // G
+ msg[12] = (byte)(color2.B); // B
+ return msg;
+ }
+
+ public static void ApplyAura()
+ {
+
+ HidDevice[] HidDeviceList;
+ int[] deviceIds = { 0x1854, 0x1869, 0x1866, 0x19b6 };
+
+ HidDeviceList = HidDevices.Enumerate(0x0b05, deviceIds).ToArray();
+
+ foreach (HidDevice device in HidDeviceList)
+ {
+ if (device.IsConnected)
+ {
+ if (device.Description.IndexOf("HID") >= 0)
+ {
+ device.OpenDevice();
+ byte[] msg = AuraMessage(Mode, Color1, Color2, Speed);
+ device.Write(msg);
+ device.Write(MESSAGE_SET);
+ device.Write(MESSAGE_APPLY);
+ device.CloseDevice();
+ }
+
+ }
+ }
+
+ }
}
@@ -508,6 +525,7 @@ public static void Main()
settingsForm.InitGPUMode();
settingsForm.InitBoost();
+ settingsForm.InitAura();
settingsForm.SetPerformanceMode(config.getConfig("performance_mode"));
settingsForm.SetBatteryChargeLimit(config.getConfig("charge_limit"));
diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs
index 26380cb6f..a61a99edf 100644
--- a/Properties/Resources.Designer.cs
+++ b/Properties/Resources.Designer.cs
@@ -80,6 +80,16 @@ internal static System.Drawing.Bitmap icons8_charging_battery_48 {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap icons8_keyboard_48 {
+ get {
+ object obj = ResourceManager.GetObject("icons8-keyboard-48", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
diff --git a/Properties/Resources.resx b/Properties/Resources.resx
index 78d34bb44..cff4ff34d 100644
--- a/Properties/Resources.resx
+++ b/Properties/Resources.resx
@@ -121,6 +121,9 @@
..\Resources\eco.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\icons8-keyboard-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\ultimate.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
diff --git a/Resources/icons8-keyboard-48.png b/Resources/icons8-keyboard-48.png
new file mode 100644
index 000000000..252005aab
Binary files /dev/null and b/Resources/icons8-keyboard-48.png differ
diff --git a/Settings.Designer.cs b/Settings.Designer.cs
index 855f0ac02..e8292dcd5 100644
--- a/Settings.Designer.cs
+++ b/Settings.Designer.cs
@@ -28,6 +28,7 @@ protected override void Dispose(bool disposing)
///
private void InitializeComponent()
{
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingsForm));
this.checkStartup = new System.Windows.Forms.CheckBox();
this.trackBattery = new System.Windows.Forms.TrackBar();
this.labelBattery = new System.Windows.Forms.Label();
@@ -56,6 +57,10 @@ private void InitializeComponent()
this.button60Hz = new System.Windows.Forms.Button();
this.checkScreen = new System.Windows.Forms.CheckBox();
this.checkBoost = new System.Windows.Forms.CheckBox();
+ this.pictureBox1 = new System.Windows.Forms.PictureBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.comboKeyboard = new System.Windows.Forms.ComboBox();
+ this.buttonKeyboardColor = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.trackBattery)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBattery)).BeginInit();
this.tableGPU.SuspendLayout();
@@ -64,16 +69,17 @@ private void InitializeComponent()
((System.ComponentModel.ISupportInitialize)(this.picturePerf)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureScreen)).BeginInit();
this.tableScreen.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// checkStartup
//
this.checkStartup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.checkStartup.AutoSize = true;
- this.checkStartup.Location = new System.Drawing.Point(18, 409);
- this.checkStartup.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.checkStartup.Location = new System.Drawing.Point(31, 1022);
+ this.checkStartup.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.checkStartup.Name = "checkStartup";
- this.checkStartup.Size = new System.Drawing.Size(105, 19);
+ this.checkStartup.Size = new System.Drawing.Size(206, 36);
this.checkStartup.TabIndex = 2;
this.checkStartup.Text = "Run on Startup";
this.checkStartup.UseVisualStyleBackColor = true;
@@ -84,12 +90,12 @@ private void InitializeComponent()
this.trackBattery.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.trackBattery.LargeChange = 20;
- this.trackBattery.Location = new System.Drawing.Point(12, 359);
- this.trackBattery.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.trackBattery.Location = new System.Drawing.Point(20, 919);
+ this.trackBattery.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.trackBattery.Maximum = 100;
this.trackBattery.Minimum = 50;
this.trackBattery.Name = "trackBattery";
- this.trackBattery.Size = new System.Drawing.Size(361, 45);
+ this.trackBattery.Size = new System.Drawing.Size(690, 90);
this.trackBattery.SmallChange = 10;
this.trackBattery.TabIndex = 3;
this.trackBattery.TickFrequency = 10;
@@ -100,10 +106,10 @@ private void InitializeComponent()
//
this.labelBattery.AutoSize = true;
this.labelBattery.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
- this.labelBattery.Location = new System.Drawing.Point(45, 339);
- this.labelBattery.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.labelBattery.Location = new System.Drawing.Point(82, 876);
+ this.labelBattery.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.labelBattery.Name = "labelBattery";
- this.labelBattery.Size = new System.Drawing.Size(122, 15);
+ this.labelBattery.Size = new System.Drawing.Size(248, 32);
this.labelBattery.TabIndex = 4;
this.labelBattery.Text = "Battery Charge Limit";
//
@@ -111,21 +117,21 @@ private void InitializeComponent()
//
this.labelBatteryLimit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.labelBatteryLimit.AutoSize = true;
- this.labelBatteryLimit.Location = new System.Drawing.Point(331, 338);
- this.labelBatteryLimit.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.labelBatteryLimit.Location = new System.Drawing.Point(633, 874);
+ this.labelBatteryLimit.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.labelBatteryLimit.Name = "labelBatteryLimit";
- this.labelBatteryLimit.Size = new System.Drawing.Size(35, 15);
+ this.labelBatteryLimit.Size = new System.Drawing.Size(73, 32);
this.labelBatteryLimit.TabIndex = 5;
this.labelBatteryLimit.Text = "100%";
//
// pictureBattery
//
- this.pictureBattery.BackgroundImage = global::GHelper.Properties.Resources.icons8_charging_battery_48;
+ this.pictureBattery.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureBattery.BackgroundImage")));
this.pictureBattery.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
- this.pictureBattery.Location = new System.Drawing.Point(17, 335);
- this.pictureBattery.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.pictureBattery.Location = new System.Drawing.Point(30, 868);
+ this.pictureBattery.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.pictureBattery.Name = "pictureBattery";
- this.pictureBattery.Size = new System.Drawing.Size(26, 22);
+ this.pictureBattery.Size = new System.Drawing.Size(48, 47);
this.pictureBattery.TabIndex = 6;
this.pictureBattery.TabStop = false;
//
@@ -133,10 +139,10 @@ private void InitializeComponent()
//
this.labelGPUFan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.labelGPUFan.AutoSize = true;
- this.labelGPUFan.Location = new System.Drawing.Point(293, 123);
- this.labelGPUFan.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.labelGPUFan.Location = new System.Drawing.Point(546, 262);
+ this.labelGPUFan.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.labelGPUFan.Name = "labelGPUFan";
- this.labelGPUFan.Size = new System.Drawing.Size(77, 15);
+ this.labelGPUFan.Size = new System.Drawing.Size(155, 32);
this.labelGPUFan.TabIndex = 8;
this.labelGPUFan.Text = "GPU Fan : 0%";
//
@@ -151,12 +157,12 @@ private void InitializeComponent()
this.tableGPU.Controls.Add(this.buttonUltimate, 2, 0);
this.tableGPU.Controls.Add(this.buttonStandard, 1, 0);
this.tableGPU.Controls.Add(this.buttonEco, 0, 0);
- this.tableGPU.Location = new System.Drawing.Point(12, 142);
- this.tableGPU.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.tableGPU.Location = new System.Drawing.Point(22, 303);
+ this.tableGPU.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.tableGPU.Name = "tableGPU";
this.tableGPU.RowCount = 1;
- this.tableGPU.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
- this.tableGPU.Size = new System.Drawing.Size(361, 50);
+ this.tableGPU.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 107F));
+ this.tableGPU.Size = new System.Drawing.Size(690, 107);
this.tableGPU.TabIndex = 7;
//
// buttonUltimate
@@ -165,10 +171,10 @@ private void InitializeComponent()
this.buttonUltimate.Dock = System.Windows.Forms.DockStyle.Fill;
this.buttonUltimate.FlatAppearance.BorderSize = 0;
this.buttonUltimate.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonUltimate.Location = new System.Drawing.Point(245, 5);
- this.buttonUltimate.Margin = new System.Windows.Forms.Padding(5);
+ this.buttonUltimate.Location = new System.Drawing.Point(469, 11);
+ this.buttonUltimate.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
this.buttonUltimate.Name = "buttonUltimate";
- this.buttonUltimate.Size = new System.Drawing.Size(111, 40);
+ this.buttonUltimate.Size = new System.Drawing.Size(212, 85);
this.buttonUltimate.TabIndex = 2;
this.buttonUltimate.Text = "Ultimate";
this.buttonUltimate.UseVisualStyleBackColor = false;
@@ -179,10 +185,10 @@ private void InitializeComponent()
this.buttonStandard.Dock = System.Windows.Forms.DockStyle.Fill;
this.buttonStandard.FlatAppearance.BorderSize = 0;
this.buttonStandard.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonStandard.Location = new System.Drawing.Point(125, 5);
- this.buttonStandard.Margin = new System.Windows.Forms.Padding(5);
+ this.buttonStandard.Location = new System.Drawing.Point(239, 11);
+ this.buttonStandard.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
this.buttonStandard.Name = "buttonStandard";
- this.buttonStandard.Size = new System.Drawing.Size(110, 40);
+ this.buttonStandard.Size = new System.Drawing.Size(212, 85);
this.buttonStandard.TabIndex = 1;
this.buttonStandard.Text = "Standard";
this.buttonStandard.UseVisualStyleBackColor = false;
@@ -194,10 +200,10 @@ private void InitializeComponent()
this.buttonEco.Dock = System.Windows.Forms.DockStyle.Fill;
this.buttonEco.FlatAppearance.BorderSize = 0;
this.buttonEco.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonEco.Location = new System.Drawing.Point(5, 5);
- this.buttonEco.Margin = new System.Windows.Forms.Padding(5);
+ this.buttonEco.Location = new System.Drawing.Point(9, 11);
+ this.buttonEco.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
this.buttonEco.Name = "buttonEco";
- this.buttonEco.Size = new System.Drawing.Size(110, 40);
+ this.buttonEco.Size = new System.Drawing.Size(212, 85);
this.buttonEco.TabIndex = 0;
this.buttonEco.Text = "Eco";
this.buttonEco.UseVisualStyleBackColor = false;
@@ -206,21 +212,21 @@ private void InitializeComponent()
//
this.labelGPU.AutoSize = true;
this.labelGPU.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
- this.labelGPU.Location = new System.Drawing.Point(45, 124);
- this.labelGPU.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.labelGPU.Location = new System.Drawing.Point(84, 265);
+ this.labelGPU.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.labelGPU.Name = "labelGPU";
- this.labelGPU.Size = new System.Drawing.Size(67, 15);
+ this.labelGPU.Size = new System.Drawing.Size(136, 32);
this.labelGPU.TabIndex = 9;
this.labelGPU.Text = "GPU Mode";
//
// pictureGPU
//
- this.pictureGPU.BackgroundImage = global::GHelper.Properties.Resources.icons8_video_card_48;
+ this.pictureGPU.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureGPU.BackgroundImage")));
this.pictureGPU.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
- this.pictureGPU.Location = new System.Drawing.Point(17, 120);
- this.pictureGPU.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.pictureGPU.Location = new System.Drawing.Point(32, 256);
+ this.pictureGPU.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.pictureGPU.Name = "pictureGPU";
- this.pictureGPU.Size = new System.Drawing.Size(26, 22);
+ this.pictureGPU.Size = new System.Drawing.Size(48, 47);
this.pictureGPU.TabIndex = 10;
this.pictureGPU.TabStop = false;
//
@@ -228,10 +234,10 @@ private void InitializeComponent()
//
this.labelCPUFan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.labelCPUFan.AutoSize = true;
- this.labelCPUFan.Location = new System.Drawing.Point(293, 18);
- this.labelCPUFan.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.labelCPUFan.Location = new System.Drawing.Point(546, 38);
+ this.labelCPUFan.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.labelCPUFan.Name = "labelCPUFan";
- this.labelCPUFan.Size = new System.Drawing.Size(77, 15);
+ this.labelCPUFan.Size = new System.Drawing.Size(154, 32);
this.labelCPUFan.TabIndex = 12;
this.labelCPUFan.Text = "CPU Fan : 0%";
//
@@ -246,12 +252,12 @@ private void InitializeComponent()
this.tablePerf.Controls.Add(this.buttonTurbo, 2, 0);
this.tablePerf.Controls.Add(this.buttonBalanced, 1, 0);
this.tablePerf.Controls.Add(this.buttonSilent, 0, 0);
- this.tablePerf.Location = new System.Drawing.Point(12, 37);
- this.tablePerf.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.tablePerf.Location = new System.Drawing.Point(22, 79);
+ this.tablePerf.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.tablePerf.Name = "tablePerf";
this.tablePerf.RowCount = 1;
- this.tablePerf.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
- this.tablePerf.Size = new System.Drawing.Size(361, 50);
+ this.tablePerf.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 107F));
+ this.tablePerf.Size = new System.Drawing.Size(690, 107);
this.tablePerf.TabIndex = 11;
//
// buttonTurbo
@@ -261,10 +267,10 @@ private void InitializeComponent()
this.buttonTurbo.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.buttonTurbo.FlatAppearance.BorderSize = 0;
this.buttonTurbo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonTurbo.Location = new System.Drawing.Point(245, 5);
- this.buttonTurbo.Margin = new System.Windows.Forms.Padding(5);
+ this.buttonTurbo.Location = new System.Drawing.Point(469, 11);
+ this.buttonTurbo.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
this.buttonTurbo.Name = "buttonTurbo";
- this.buttonTurbo.Size = new System.Drawing.Size(111, 40);
+ this.buttonTurbo.Size = new System.Drawing.Size(212, 85);
this.buttonTurbo.TabIndex = 2;
this.buttonTurbo.Text = "Turbo";
this.buttonTurbo.UseVisualStyleBackColor = false;
@@ -276,10 +282,10 @@ private void InitializeComponent()
this.buttonBalanced.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
this.buttonBalanced.FlatAppearance.BorderSize = 0;
this.buttonBalanced.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonBalanced.Location = new System.Drawing.Point(125, 5);
- this.buttonBalanced.Margin = new System.Windows.Forms.Padding(5);
+ this.buttonBalanced.Location = new System.Drawing.Point(239, 11);
+ this.buttonBalanced.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
this.buttonBalanced.Name = "buttonBalanced";
- this.buttonBalanced.Size = new System.Drawing.Size(110, 40);
+ this.buttonBalanced.Size = new System.Drawing.Size(212, 85);
this.buttonBalanced.TabIndex = 1;
this.buttonBalanced.Text = "Balanced";
this.buttonBalanced.UseVisualStyleBackColor = false;
@@ -292,23 +298,23 @@ private void InitializeComponent()
this.buttonSilent.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.buttonSilent.FlatAppearance.BorderSize = 0;
this.buttonSilent.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.buttonSilent.Location = new System.Drawing.Point(5, 5);
- this.buttonSilent.Margin = new System.Windows.Forms.Padding(5);
+ this.buttonSilent.Location = new System.Drawing.Point(9, 11);
+ this.buttonSilent.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
this.buttonSilent.Name = "buttonSilent";
- this.buttonSilent.Size = new System.Drawing.Size(110, 40);
+ this.buttonSilent.Size = new System.Drawing.Size(212, 85);
this.buttonSilent.TabIndex = 0;
this.buttonSilent.Text = "Silent";
this.buttonSilent.UseVisualStyleBackColor = false;
//
// picturePerf
//
- this.picturePerf.BackgroundImage = global::GHelper.Properties.Resources.icons8_speed_48;
+ this.picturePerf.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("picturePerf.BackgroundImage")));
this.picturePerf.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.picturePerf.InitialImage = null;
- this.picturePerf.Location = new System.Drawing.Point(17, 15);
- this.picturePerf.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.picturePerf.Location = new System.Drawing.Point(32, 32);
+ this.picturePerf.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.picturePerf.Name = "picturePerf";
- this.picturePerf.Size = new System.Drawing.Size(26, 22);
+ this.picturePerf.Size = new System.Drawing.Size(48, 47);
this.picturePerf.TabIndex = 14;
this.picturePerf.TabStop = false;
//
@@ -316,10 +322,10 @@ private void InitializeComponent()
//
this.labelPerf.AutoSize = true;
this.labelPerf.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
- this.labelPerf.Location = new System.Drawing.Point(45, 19);
- this.labelPerf.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.labelPerf.Location = new System.Drawing.Point(84, 41);
+ this.labelPerf.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.labelPerf.Name = "labelPerf";
- this.labelPerf.Size = new System.Drawing.Size(115, 15);
+ this.labelPerf.Size = new System.Drawing.Size(234, 32);
this.labelPerf.TabIndex = 13;
this.labelPerf.Text = "Performance Mode";
//
@@ -327,10 +333,10 @@ private void InitializeComponent()
//
this.checkGPU.AutoSize = true;
this.checkGPU.ForeColor = System.Drawing.SystemColors.GrayText;
- this.checkGPU.Location = new System.Drawing.Point(18, 192);
- this.checkGPU.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.checkGPU.Location = new System.Drawing.Point(33, 410);
+ this.checkGPU.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.checkGPU.Name = "checkGPU";
- this.checkGPU.Size = new System.Drawing.Size(273, 19);
+ this.checkGPU.Size = new System.Drawing.Size(550, 36);
this.checkGPU.TabIndex = 15;
this.checkGPU.Text = "Set Eco on battery and Standard when plugged";
this.checkGPU.UseVisualStyleBackColor = true;
@@ -340,22 +346,22 @@ private void InitializeComponent()
//
this.buttonQuit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonQuit.BackColor = System.Drawing.SystemColors.ButtonFace;
- this.buttonQuit.Location = new System.Drawing.Point(307, 409);
- this.buttonQuit.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.buttonQuit.Location = new System.Drawing.Point(591, 1011);
+ this.buttonQuit.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.buttonQuit.Name = "buttonQuit";
- this.buttonQuit.Size = new System.Drawing.Size(65, 22);
+ this.buttonQuit.Size = new System.Drawing.Size(121, 47);
this.buttonQuit.TabIndex = 16;
this.buttonQuit.Text = "Quit";
this.buttonQuit.UseVisualStyleBackColor = false;
//
// pictureScreen
//
- this.pictureScreen.BackgroundImage = global::GHelper.Properties.Resources.icons8_laptop_48;
+ this.pictureScreen.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureScreen.BackgroundImage")));
this.pictureScreen.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
- this.pictureScreen.Location = new System.Drawing.Point(17, 229);
- this.pictureScreen.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.pictureScreen.Location = new System.Drawing.Point(32, 489);
+ this.pictureScreen.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.pictureScreen.Name = "pictureScreen";
- this.pictureScreen.Size = new System.Drawing.Size(26, 22);
+ this.pictureScreen.Size = new System.Drawing.Size(48, 47);
this.pictureScreen.TabIndex = 18;
this.pictureScreen.TabStop = false;
//
@@ -363,10 +369,10 @@ private void InitializeComponent()
//
this.labelSreen.AutoSize = true;
this.labelSreen.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
- this.labelSreen.Location = new System.Drawing.Point(45, 233);
- this.labelSreen.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
+ this.labelSreen.Location = new System.Drawing.Point(84, 497);
+ this.labelSreen.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.labelSreen.Name = "labelSreen";
- this.labelSreen.Size = new System.Drawing.Size(87, 15);
+ this.labelSreen.Size = new System.Drawing.Size(176, 32);
this.labelSreen.TabIndex = 17;
this.labelSreen.Text = "Laptop Screen";
//
@@ -380,12 +386,12 @@ private void InitializeComponent()
this.tableScreen.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableScreen.Controls.Add(this.button120Hz, 1, 0);
this.tableScreen.Controls.Add(this.button60Hz, 0, 0);
- this.tableScreen.Location = new System.Drawing.Point(12, 251);
- this.tableScreen.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.tableScreen.Location = new System.Drawing.Point(22, 535);
+ this.tableScreen.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.tableScreen.Name = "tableScreen";
this.tableScreen.RowCount = 1;
- this.tableScreen.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
- this.tableScreen.Size = new System.Drawing.Size(361, 48);
+ this.tableScreen.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 107F));
+ this.tableScreen.Size = new System.Drawing.Size(690, 102);
this.tableScreen.TabIndex = 19;
//
// button120Hz
@@ -395,10 +401,10 @@ private void InitializeComponent()
this.button120Hz.FlatAppearance.BorderColor = System.Drawing.SystemColors.ActiveBorder;
this.button120Hz.FlatAppearance.BorderSize = 0;
this.button120Hz.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.button120Hz.Location = new System.Drawing.Point(125, 5);
- this.button120Hz.Margin = new System.Windows.Forms.Padding(5);
+ this.button120Hz.Location = new System.Drawing.Point(239, 11);
+ this.button120Hz.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
this.button120Hz.Name = "button120Hz";
- this.button120Hz.Size = new System.Drawing.Size(110, 40);
+ this.button120Hz.Size = new System.Drawing.Size(212, 85);
this.button120Hz.TabIndex = 1;
this.button120Hz.Text = "120Hz + OD";
this.button120Hz.UseVisualStyleBackColor = false;
@@ -412,10 +418,10 @@ private void InitializeComponent()
this.button60Hz.FlatAppearance.BorderSize = 0;
this.button60Hz.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button60Hz.ForeColor = System.Drawing.SystemColors.ControlText;
- this.button60Hz.Location = new System.Drawing.Point(5, 5);
- this.button60Hz.Margin = new System.Windows.Forms.Padding(5);
+ this.button60Hz.Location = new System.Drawing.Point(9, 11);
+ this.button60Hz.Margin = new System.Windows.Forms.Padding(9, 11, 9, 11);
this.button60Hz.Name = "button60Hz";
- this.button60Hz.Size = new System.Drawing.Size(110, 40);
+ this.button60Hz.Size = new System.Drawing.Size(212, 85);
this.button60Hz.TabIndex = 0;
this.button60Hz.Text = "60Hz";
this.button60Hz.UseVisualStyleBackColor = false;
@@ -424,10 +430,10 @@ private void InitializeComponent()
//
this.checkScreen.AutoSize = true;
this.checkScreen.ForeColor = System.Drawing.SystemColors.GrayText;
- this.checkScreen.Location = new System.Drawing.Point(18, 299);
- this.checkScreen.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.checkScreen.Location = new System.Drawing.Point(33, 638);
+ this.checkScreen.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.checkScreen.Name = "checkScreen";
- this.checkScreen.Size = new System.Drawing.Size(261, 19);
+ this.checkScreen.Size = new System.Drawing.Size(527, 36);
this.checkScreen.TabIndex = 20;
this.checkScreen.Text = "Set 60Hz on battery, and back when plugged";
this.checkScreen.UseVisualStyleBackColor = true;
@@ -436,19 +442,76 @@ private void InitializeComponent()
//
this.checkBoost.AutoSize = true;
this.checkBoost.ForeColor = System.Drawing.SystemColors.GrayText;
- this.checkBoost.Location = new System.Drawing.Point(18, 87);
- this.checkBoost.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.checkBoost.Location = new System.Drawing.Point(33, 186);
+ this.checkBoost.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.checkBoost.Name = "checkBoost";
- this.checkBoost.Size = new System.Drawing.Size(127, 19);
+ this.checkBoost.Size = new System.Drawing.Size(250, 36);
this.checkBoost.TabIndex = 21;
this.checkBoost.Text = "CPU Boost enabled";
this.checkBoost.UseVisualStyleBackColor = true;
//
+ // pictureBox1
+ //
+ this.pictureBox1.BackgroundImage = global::GHelper.Properties.Resources.icons8_keyboard_48;
+ this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
+ this.pictureBox1.Location = new System.Drawing.Point(33, 720);
+ this.pictureBox1.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
+ this.pictureBox1.Name = "pictureBox1";
+ this.pictureBox1.Size = new System.Drawing.Size(42, 42);
+ this.pictureBox1.TabIndex = 23;
+ this.pictureBox1.TabStop = false;
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
+ this.label1.Location = new System.Drawing.Point(84, 723);
+ this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(210, 32);
+ this.label1.TabIndex = 22;
+ this.label1.Text = "Laptop Keyboard";
+ //
+ // comboKeyboard
+ //
+ this.comboKeyboard.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.comboKeyboard.FormattingEnabled = true;
+ this.comboKeyboard.ItemHeight = 32;
+ this.comboKeyboard.Items.AddRange(new object[] {
+ "Static",
+ "Breathe",
+ "Strobe",
+ "Rainbow"});
+ this.comboKeyboard.Location = new System.Drawing.Point(31, 778);
+ this.comboKeyboard.Name = "comboKeyboard";
+ this.comboKeyboard.Size = new System.Drawing.Size(212, 40);
+ this.comboKeyboard.TabIndex = 24;
+ //
+ // buttonKeyboardColor
+ //
+ this.buttonKeyboardColor.BackColor = System.Drawing.SystemColors.ButtonHighlight;
+ this.buttonKeyboardColor.FlatAppearance.BorderColor = System.Drawing.Color.Red;
+ this.buttonKeyboardColor.FlatAppearance.BorderSize = 4;
+ this.buttonKeyboardColor.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.buttonKeyboardColor.ForeColor = System.Drawing.SystemColors.ControlText;
+ this.buttonKeyboardColor.Location = new System.Drawing.Point(261, 773);
+ this.buttonKeyboardColor.Margin = new System.Windows.Forms.Padding(0);
+ this.buttonKeyboardColor.Name = "buttonKeyboardColor";
+ this.buttonKeyboardColor.Size = new System.Drawing.Size(212, 49);
+ this.buttonKeyboardColor.TabIndex = 25;
+ this.buttonKeyboardColor.Text = "Color";
+ this.buttonKeyboardColor.UseVisualStyleBackColor = false;
+ this.buttonKeyboardColor.Click += new System.EventHandler(this.buttonKeyboard_Click);
+ //
// SettingsForm
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
+ this.AutoScaleDimensions = new System.Drawing.SizeF(13F, 32F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(390, 441);
+ this.ClientSize = new System.Drawing.Size(744, 1085);
+ this.Controls.Add(this.buttonKeyboardColor);
+ this.Controls.Add(this.comboKeyboard);
+ this.Controls.Add(this.pictureBox1);
+ this.Controls.Add(this.label1);
this.Controls.Add(this.checkBoost);
this.Controls.Add(this.checkScreen);
this.Controls.Add(this.tableScreen);
@@ -470,12 +533,12 @@ private void InitializeComponent()
this.Controls.Add(this.trackBattery);
this.Controls.Add(this.checkStartup);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
- this.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+ this.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.MaximizeBox = false;
this.MdiChildrenMinimizedAnchorBottom = false;
this.MinimizeBox = false;
this.Name = "SettingsForm";
- this.Padding = new System.Windows.Forms.Padding(5);
+ this.Padding = new System.Windows.Forms.Padding(9, 11, 9, 11);
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
@@ -489,6 +552,7 @@ private void InitializeComponent()
((System.ComponentModel.ISupportInitialize)(this.picturePerf)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureScreen)).EndInit();
this.tableScreen.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@@ -523,5 +587,9 @@ private void InitializeComponent()
private Button button60Hz;
private CheckBox checkScreen;
private CheckBox checkBoost;
+ private PictureBox pictureBox1;
+ private Label label1;
+ private ComboBox comboKeyboard;
+ private Button buttonKeyboardColor;
}
}
\ No newline at end of file
diff --git a/Settings.cs b/Settings.cs
index 07b9bc78d..c59d50cad 100644
--- a/Settings.cs
+++ b/Settings.cs
@@ -1,6 +1,7 @@
using System.Diagnostics;
using System.Management;
using System.Timers;
+using System.Windows.Forms;
namespace GHelper
{
@@ -52,11 +53,61 @@ public SettingsForm()
checkScreen.CheckedChanged += checkScreen_CheckedChanged;
+ comboKeyboard.DropDownStyle = ComboBoxStyle.DropDownList;
+ comboKeyboard.SelectedIndex = 0;
+ comboKeyboard.SelectedValueChanged += ComboKeyboard_SelectedValueChanged;
+
SetTimer();
}
+
+ public void InitAura()
+ {
+ int mode = Program.config.getConfig("aura_mode");
+ int color = Program.config.getConfig("aura_color");
+ int speed = Program.config.getConfig("aura_speed");
+
+ if (mode == -1) mode = 0;
+ if (color == -1) color = Color.FromArgb(255, 255, 255).ToArgb();
+
+ Aura.Mode = mode;
+ Aura.Color1 = Color.FromArgb(color);
+
+ comboKeyboard.SelectedIndex = Aura.Mode;
+ buttonKeyboardColor.FlatAppearance.BorderColor = Aura.Color1;
+
+ }
+
+ private void ComboKeyboard_SelectedValueChanged(object? sender, EventArgs e)
+ {
+ ComboBox cmb = (ComboBox)sender;
+ int selectedIndex = cmb.SelectedIndex;
+ Aura.Mode = (byte)selectedIndex;
+ Aura.ApplyAura();
+ Program.config.setConfig("aura_mode", selectedIndex);
+ }
+
+
+ private void buttonKeyboard_Click(object sender, EventArgs e)
+ {
+
+ Button but = (Button)sender;
+
+ ColorDialog colorDlg = new ColorDialog();
+ colorDlg.AllowFullOpen = false;
+ colorDlg.Color = but.FlatAppearance.BorderColor;
+
+ if (colorDlg.ShowDialog() == DialogResult.OK)
+ {
+ but.FlatAppearance.BorderColor = colorDlg.Color;
+ Aura.Color1 = colorDlg.Color;
+ Aura.ApplyAura();
+ Program.config.setConfig("aura_color", colorDlg.Color.ToArgb());
+ }
+ }
+
private void CheckBoost_Click(object? sender, EventArgs e)
{
CheckBox chk = (CheckBox)sender;
diff --git a/Settings.resx b/Settings.resx
index f298a7be8..c215fdad1 100644
--- a/Settings.resx
+++ b/Settings.resx
@@ -57,4 +57,62 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
+ DwAACw8BkvkDpQAAAY1JREFUaEPtlz1OAzEQhVdIFFyCH0EFDQ1wAhDcgxPACYCOA/BzGTo6aKGKFOAE
+ 0FCABO9FsbSK3uI8J9kFMZ/0FdmMZ+xovLGrIAiCIAiCQLIMr+EL/IRfM5Y1WOsKsvZE7ME3qAq1IWvv
+ wiJWYJeTT77CJWjDtlEJu/AS2rAPVbIufII2bWzYceVcbFQix1V4CKe1j2xUEscEN+ANVDGONiqJY505
+ eATfoYp15N48gFnUYEfFOryDKt7xGWZRA0flhHbgOewNnyWbmIcn8APW412zqEGj8u9+ASY24Rl8GHz6
+ mS34CFXeccyiBik5iW2Yg4vi4rjIBBfPH0HlzZlFDWqS7XAK2R5N1OPZbmw7tt/G8JlrFjUo5z3khBQq
+ vtSpbWIlX5XHkK/OOiq2RE5+H2ZRgx1v4RpMqBhHG5XElccIHie4EPW9o82fP8yx11SyLuxDm9L38yy8
+ gDa8UP+WK+UiLIIXaiZQiduQtYsv9Qme53kn5bWujY3NGqzFtin+5YMgCIIgCP4PVfUNWXMTLz5Z0sYA
+ AAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
+ DwAACw8BkvkDpQAAAZVJREFUaEPtmTtOxDAURYcGGtgAsCJo6PisACE2ALTAvvgVsB0KQBRwT2HJGl3y
+ EtloHPCRjiKNfJ/sOLGV8aLT6XSa4Fa+ya/MD3kjm2dNvsq888l3OQu408szkJwlfQCr5k8NoAVZEV/k
+ vhyFK9KKBzLEBVvxWYa4YCuO2ptcsCVDXKim9/JQbst1uSOP5IN07ZcNcaEafspTOcSZpJ3LJ0NcCC8k
+ d8zB75fS5ZJR5xMMwuWTIS6Em3KILelyeCen8ChdHQxxIeQOD83AlXQ55JmfwrF0dTDEhUrlhZ0CL7ar
+ gyEuVOpPM/cTG9LVwRAXKnXqDOxKVwdDXAhLViHW+SmcSFcHQ1wIS1YhNqmx8Jn7JF0dDHEhLFmFkPV9
+ DOfS5ZMhLlRDdthoEHT+13biWrJJsc7zojJzXHnmhx6b3BAXaskQF2rF2X8PzP6LbE+GuOAq5V8J7vyo
+ zkMeniX/ZgB5u5oWM7ZY3q6mxYwtxsuVt61hlTOJdFbAdQjOFWoOglrXshg6xqnNLI6YOp1OZ1UsFt/W
+ cWCm8IATjAAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
+ DwAACw8BkvkDpQAAA31JREFUaEPt2NnrTkEcx/HHmj37hTWJP0BCSe5ESSnklivJUsiuXFiSIlsS98qW
+ CLmTP0FKUkqkrNn37f2p39T07fucmfM85/eQzqdexW/mzJlzzpyZeU6jTp06df6L9MQsbMdF3MVrfOui
+ f+tvF7ANM6Fj/nrGYT+e4HdJj7EPY9HxjMBJfIXXuTK+4ASGoyNZjpfwOtOOF1iGbktv6K57J6/Scehc
+ laY/rsI7YfADt7EReqFHow8GYCJmYzNu4ju8NoIr0Dkrie5GUec/4QDU4dzMh9dWTBdRyZMoGjbnMR5l
+ oxfWa886hraiF9Zr+Cc05/dAHF3MGtzAPXzARzzCNWzAAmit8Nr1LEFL0VTpzTbqvC4sjuby09B7YOsX
+ UVvrMBA7u/5mPccwlE6zoaM7H2cR3sGrW0SdX4mQIfDqSemhpBXWW6Q05uNhsxbqiK2XYjuvrIdXV7TY
+ jUF2tD2wjWi2iV9Y3fmqOq//p9rai6z0gre30VQZojFfxbBRcjovmgiyNoBahOzBejnjef4MbJ2UnM6f
+ w1BonfAWuxlIRi+pPVArbIiGUSuzTc6dn4cQrdhxmWxBMpdgD9T8HaIX15YX+YVViNNs2MTn2Qpbrkkk
+ Gf3wsAdqWIVchy23NINp36OZYxDiNOu8aMsSor2TLb+DZF7BHjgKIfdhy61mj7qo8/IQIZNgy7XlTsab
+ //siJGf28ebswSjqvGjrEaLV2ZZrPUhGleyB8TB4D1tueRegqderG9PNCdEF2/KsC9Dewx44BSEPYMst
+ bwh5L6Wl4RkyFbb8GZLxXuI5CNFO05ZbGoa6CD0J0b9zfj9rxxoyF7Y86yXWYmIP3ISQstNoGasRoou2
+ 5WeRzA7YA28hZAJSPwlboTbjvZYWT1tH35SSmQ57oBofiRDt/W2ddp1CiLYt3mo/Dclow/QU9uB4M6ft
+ 9lvYOq16g/gD10HYOvoQZn8BNs0e2AY+I37E2nCV3RN5tDYsRIguRFt3W283sqOO6pumbUTfNuO7oEZt
+ nbLijqltby+mGSx+Qlk5AtuQ6LdryGR4dcrQliFkF7w6h1E6emm9fZEe+QpopVTDtrysQ1BbzfZJ2v+0
+ /N10MWyDnbYUbUVfjr2GO+Eo2o5+I5f5EFWVyj4tKvrQehneibqDZqJ+qDR6EnrhcjZlrVLbOofOVadO
+ nTr/fBqNP4sju3bXhjy/AAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
+ DwAACw8BkvkDpQAAANBJREFUaEPt2DESAUEUhOF1PQQuxd1wHAGi1U8galU9ktej+qv6M71myyZriYiI
+ +Fd7dEFPtDZV311n2KEhdXh2wc4OSHZF7CKdnZGs87H51gPJ2AUckrGxQzI2dkjGxg7J2NghGRs7JGNj
+ h2Rs7JCMjR2SsbFDMjZ2SMbGDsnY2CEZGzskY2OHZGzskIyNHZKxsUOy6V8pp3+pr/9h2EU626IhdRN1
+ 191/bNUZhg8fMeiE7og9h47VWY/obYNuiH3QuTrzR93NtL9ARET8aFleMDJURjd/4/oAAAAASUVORK5C
+ YII=
+
+
\ No newline at end of file