diff --git a/EgwControlCenter.Core/EgwControlCenter.Core.csproj b/EgwControlCenter.Core/EgwControlCenter.Core.csproj new file mode 100644 index 0000000..fa71b7a --- /dev/null +++ b/EgwControlCenter.Core/EgwControlCenter.Core.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/EgwControlCenter.Core/Enum.cs b/EgwControlCenter.Core/Enum.cs new file mode 100644 index 0000000..d36c109 --- /dev/null +++ b/EgwControlCenter.Core/Enum.cs @@ -0,0 +1,16 @@ +namespace EgwControlCenter.Core +{ + public class Enum + { + /// + /// Elenco tipi app ammessi + /// + public static Dictionary AppType = new Dictionary{ + { "", "---Selezionare---" }, + { "Cli", "Cli (Console)" }, + { "Machine", "Machine" }, + { "WebApp", "WebApp" }, + { "WinApp", "WinApp" } + }; + } +} diff --git a/EgwControlCenter.Core/Models/ControlTarget.cs b/EgwControlCenter.Core/Models/ControlTarget.cs new file mode 100644 index 0000000..008e4c0 --- /dev/null +++ b/EgwControlCenter.Core/Models/ControlTarget.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwControlCenter.Core.Models +{ + public class ControlTarget + { + [Key] + public int Idx { get; set; } = 0; + public string ObjType { get; set; } = ""; + public string BasePath { get; set; } = ""; + } +} diff --git a/EgwControlCenter/AccEnum.cs b/EgwControlCenter/AccEnum.cs new file mode 100644 index 0000000..88a21e8 --- /dev/null +++ b/EgwControlCenter/AccEnum.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EgwControlCenter +{ + public class AccEnum + { + public enum StartMode + { + /// + /// modalità standard (standalone) + /// + STD = 0, + + /// + /// Modalità managed (da MAN) + /// + MAN = 1, + + /// + /// Modalità update (per aggiornare) senza MDI + /// + UPD = 2 + } + } +} diff --git a/EgwControlCenter/AccUtils.cs b/EgwControlCenter/AccUtils.cs new file mode 100644 index 0000000..a7e3fc6 --- /dev/null +++ b/EgwControlCenter/AccUtils.cs @@ -0,0 +1,155 @@ +using System.Configuration; +using static System.Net.Mime.MediaTypeNames; + +namespace EgwControlCenter +{ + public class AccUtils + { + #region Public Properties + + /// + /// folder archiviazione dati configurazione (DATA\CONF) + /// + public static string confDir + { + get + { + return string.Format(@"{0}\{1}", System.Windows.Forms.Application.StartupPath, CRS("dataConfPath")); + } + } + + /// + /// folder archiviazione dati storici giornalieri (DATA\DAT) + /// + public static string dataDatDir + { + get + { + return string.Format(@"{0}\{1}", System.Windows.Forms.Application.StartupPath, CRS("dataDatPath")); + } + } + + /// + /// folder archiviazione dati (DATA) + /// + public static string dataDir + { + get + { + return string.Format(@"{0}\{1}", System.Windows.Forms.Application.StartupPath, CRS("dataPath")); + } + } + + /// + /// File icona default + /// + public static string defIconFilePath + { + get + { + return string.Format(@"{0}\favicon.ico", resxDir); + } + } + + /// + /// File persistenza generale + /// + public static string defPersLayerFile + { + get + { + return string.Format(@"{0}\{1}", dataDatDir, CRS("defaultPersLayerFile")); + } + } + + /// + /// file persistenza generale + /// + public static string histPersLayerFile + { + get + { + return string.Format(@"{0}\{1:yyyy}\{1:yyyy-MM-dd}.mtc", dataDatDir, DateTime.Now); + } + } + + /// + /// File configurazione default x MAIN + /// + public static string mainConfFilePath + { + get + { + return string.Format(@"{0}\{1}", confDir, CRS("mainConfFile")); + } + } + + /// + /// folder archiviazione dati configurazione (DATA\CONF) + /// + public static string resxDir + { + get + { + return string.Format(@"{0}\{1}", System.Windows.Forms.Application.StartupPath, CRS("resxPath")); + } + } + + #endregion Public Properties + + #region Public Methods + + /// + /// legge conf in formato INT + /// + /// + /// + public static int CRI(string key) + { + int answ = 0; + try + { + int.TryParse(CRS(key), out answ); + //answ = Convert.ToInt32(CRS(key)); + } + catch + { } + return answ; + } + + /// + /// legge conf in formato stringa + /// + /// + /// + public static string CRS(string key) + { + string answ = ""; + try + { + var rawVal = ConfigurationManager.AppSettings[key]; + answ = $"{rawVal}"; + } + catch + { } + return answ; + } + /// + /// legge conf in formato BOOLean + /// + /// + /// + public static bool CRB(string key) + { + bool answ = false; + try + { + answ = Convert.ToBoolean(CRS(key)); + } + catch + { } + return answ; + } + #endregion Public Methods + } +} \ No newline at end of file diff --git a/EgwControlCenter/App.config b/EgwControlCenter/App.config new file mode 100644 index 0000000..9fb6570 --- /dev/null +++ b/EgwControlCenter/App.config @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwControlCenter/ControlCenter.Designer.cs b/EgwControlCenter/ControlCenter.Designer.cs new file mode 100644 index 0000000..28d3db6 --- /dev/null +++ b/EgwControlCenter/ControlCenter.Designer.cs @@ -0,0 +1,108 @@ +namespace EgwControlCenter +{ + partial class ControlCenter + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlCenter)); + label1 = new Label(); + label2 = new Label(); + label3 = new Label(); + trayMenu = new ContextMenuStrip(components); + notifyIcon1 = new NotifyIcon(components); + SuspendLayout(); + // + // label1 + // + label1.AutoSize = true; + label1.Font = new Font("Roboto", 24F, FontStyle.Regular, GraphicsUnit.Point, 0); + label1.Location = new Point(193, 9); + label1.Name = "label1"; + label1.Size = new Size(429, 38); + label1.TabIndex = 0; + label1.Text = "EgalWare App Control Center"; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(53, 83); + label2.Name = "label2"; + label2.Size = new Size(152, 15); + label2.TabIndex = 1; + label2.Text = "Elenco App (list? webview?)"; + // + // label3 + // + label3.AutoSize = true; + label3.Location = new Point(484, 83); + label3.Name = "label3"; + label3.Size = new Size(156, 15); + label3.TabIndex = 2; + label3.Text = "Btn setup app da controllare"; + // + // trayMenu + // + trayMenu.Name = "trayMenu"; + trayMenu.Size = new Size(181, 26); + trayMenu.ItemClicked += trayMenu_ItemClicked; + // + // notifyIcon1 + // + notifyIcon1.ContextMenuStrip = trayMenu; + notifyIcon1.Icon = (Icon)resources.GetObject("notifyIcon1.Icon"); + notifyIcon1.Text = "notifyIcon1"; + notifyIcon1.Visible = true; + notifyIcon1.DoubleClick += notifyIcon1_DoubleClick; + // + // ControlCenter + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(label3); + Controls.Add(label2); + Controls.Add(label1); + Icon = (Icon)resources.GetObject("$this.Icon"); + Name = "ControlCenter"; + Text = "Egalware Control Center"; + FormClosing += ControlCenter_FormClosing; + Shown += ControlCenter_Shown; + Resize += ControlCenter_Resize; + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label label1; + private Label label2; + private Label label3; + private ContextMenuStrip trayMenu; + private NotifyIcon notifyIcon1; + } +} diff --git a/EgwControlCenter/ControlCenter.cs b/EgwControlCenter/ControlCenter.cs new file mode 100644 index 0000000..7c96d97 --- /dev/null +++ b/EgwControlCenter/ControlCenter.cs @@ -0,0 +1,192 @@ +using System.Windows.Forms; +using static EgwControlCenter.AccEnum; + +namespace EgwControlCenter +{ + public partial class ControlCenter : Form + { + #region Public Constructors + + public ControlCenter() + { + InitializeComponent(); + setupTrayIcon(); + createTrayMenu(); + } + + #endregion Public Constructors + + #region Protected Fields + + /// + /// Modalità di avvio + /// + protected AccEnum.StartMode ModoAvvio = AccEnum.StartMode.STD; + + #endregion Protected Fields + + #region Private Methods + + /// + /// Verifica stato windows (minimized/normal) e visibilità con tray... + /// + private void checkFormVisibility() + { + // se non può massimizzare imposto COMUNQUE a minimized... + if (!AccUtils.CRB("windowCanMax")) + { + WindowState = FormWindowState.Minimized; + } + // SOLO SE se sono in modo STD + if (ModoAvvio == AccEnum.StartMode.STD) + { + // controllo cosa devo mostrare... + if (WindowState == FormWindowState.Minimized) + { + notifyIcon1.Visible = false; + sendToTray(); + } + else + { + notifyIcon1.Visible = false; + } + } + else + { + notifyIcon1.Visible = false; + } +#if false + // fix child! + this.LayoutMdi(MdiLayout.TileHorizontal); +#endif + } + + /// + /// crea menù tray x applicazione + /// + private void createTrayMenu() + { + // Fix testi menù tray... + trayMenu.Items.Clear(); + // SE permessa massimizzazione... + trayMenu.Items.Add("Show EgalWare ACC"); + // se è permesso chiudere + trayMenu.Items.Add("Close EgalWare ACC"); + } + + /// + /// Gestisce "andata nel tray" della form + /// + private void sendToTray() + { + if (!notifyIcon1.Visible) + { + notifyIcon1.BalloonTipTitle = AccUtils.CRS("appName"); + notifyIcon1.BalloonTipText = $"{AccUtils.CRS("appName")} running on tray"; + notifyIcon1.Visible = true; + notifyIcon1.ShowBalloonTip(100); + } + Hide(); + } + + private void setupTrayIcon() + { + // fix icon! + var currObj = System.Reflection.Assembly.GetExecutingAssembly().GetName(); + notifyIcon1.Text = $"EgalWare's AppControlCenter | {currObj.Version}"; + //Icon = Icon.ExtractAssociatedIcon(AccUtils.defIconFilePath); + //notifyIcon1.Icon = Icon.ExtractAssociatedIcon(AccUtils.defIconFilePath); + } + + /// + /// evento chiusura + /// + /// + /// + private void ControlCenter_FormClosing(object sender, FormClosingEventArgs e) + { +#if false + closeAllChild(); +#endif + } + + + /// + /// click su menù contestuale in tray + /// + /// + /// + private void trayMenu_ItemClicked(object sender, ToolStripItemClickedEventArgs e) + { + if (e != null && e.ClickedItem != null && !string.IsNullOrEmpty(e.ClickedItem.Text)) + { + if (e.ClickedItem.Text.StartsWith("Close")) + { +#if false + // stop child adapters... + closeAllChild(); +#endif + // chiudo! + Close(); + } + else if (e.ClickedItem.Text.StartsWith("Show")) + { + if (AccUtils.CRB("windowCanMax")) + { + Show(); + WindowState = FormWindowState.Normal; + } + } + } + } + + /// + /// evento resize + /// + /// + /// + private void ControlCenter_Resize(object sender, EventArgs e) + { + checkFormVisibility(); + } + + /// + /// evento visualizzazione + /// + /// + /// + private void ControlCenter_Shown(object sender, EventArgs e) + { + // SOLO SE se sono in modo STD + if (ModoAvvio == StartMode.STD) + { + // avvio minimizzato se richiesto + if (AccUtils.CRB("startMinimized")) + { + // controllo e mando a tray... + sendToTray(); + } + } +#if false + displayTaskAndLog("Main Form SHOWN (MDI)"); +#endif + } + + /// + /// doppio click su tray icon + /// + /// + /// + private void notifyIcon1_DoubleClick(object sender, EventArgs e) + { + // SOLO SE PERMESSO mostrare full... + if (AccUtils.CRB("windowCanMax")) + { + Show(); + WindowState = FormWindowState.Normal; + } + } + + #endregion Private Methods + } +} \ No newline at end of file diff --git a/EgwControlCenter/ControlCenter.resx b/EgwControlCenter/ControlCenter.resx new file mode 100644 index 0000000..4f36b58 --- /dev/null +++ b/EgwControlCenter/ControlCenter.resx @@ -0,0 +1,459 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 122, 17 + + + + + AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD8+vn/7ebe/+3n3//t59//7eff/+3n3//t59//7eff/+3n3//t59//7eff/+3n3//t59//7eff/+3n + 3//t59//7eff/+7n4P/u6OD/7ujg/+7o4P/u6OD/7ujg/+7o4P/u6OD/7ujg/+7o4P/u6OD/7ujg/+7o + 4P/u6OD/7ujg/+7o4P/v6eH/7+ni/+/p4v/v6eL/7+ni/+/p4v/v6eL/7+ni/+/p4v/v6eL/7+ni/+/p + 4v/v6eL/7+ni//r59//49fL/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39fH/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39fH/1saw/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39fH/1saw/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw + 6//39fH/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv//Tw6//39fH/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39PH/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39PD/1sWw/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39PD/1sWw/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw + 6//39PD/1sWw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//3dC//+jf1P/o39T/6N/U/+jf + 1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf + 1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf + 1P/o39T/6N/U//j28//39PD/1sWw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//597U//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////39PD/1sWw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//597U//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////29PD/1sWw/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//597U//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////28+//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//597U//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///28+//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//597U//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////28+//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//597U//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////28+//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//6N/U///////////////////////69fL/7dzR/+3c0f/t3NH/7dzR/+3d0v/t3dP/7d3T/+3d + 0//t3dP/7d3T/+3d0//t3dP/7d3T/+3d0//t3dP/7d3T/+3d0//t3dP/7d3T/+3d0//u3tT/7t/V/+7f + 1f/u39X/7t/V/+7f1f/u39X/7t/V/+7f1f/u39X/7t/V//r28//28+//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//6N/U///////////////////////9+/r/1amF/8mIOv/JiDr/yYg6/8mI + Ov/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6/8mI + Ov/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6//Hk3P/28+//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/U////////////////////////////9u3o/8yS + VP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/28u7/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/U//////////////////// + /////////////+nUxv/Jij7/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/18u7/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/U//// + //////////////////////////////79/P/ZspT/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18u7/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//6N/U///////////////////////////////////////48u//zpdh/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18u7/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//6N/U////////////////////////////////////////////7NzQ/8mK + QP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18u7/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/U//////////////////////////////////// + //////////7+/928o//JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/18u7/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/V//////////////////// + //////////////////////////////r29P/QnW3/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/18e3/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//// + ///////////////////////////////////////////////////w49v/yoxH/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18ez/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//6eDW/////////////////////////////////////////////////////////v7/4sWw/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18ez/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////////////////////////////////////// + /////////Pr4/9Slff/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18ez/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////////////////////// + //////////////////////////////Tq4//Lj07/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/18ez/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////// + ///////////////////////////////////////////////////n0cL/0qJ3/9Kid//Sonf/0aB1/8qL + Qv/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/18ez/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//// + //////////////////////////////////////////////////////////////////////7//v39//79 + /f/+/f3//v38/+DBq//JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18Oz/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//6eDW//////////////////////////////////////////////////////////////////// + //////////////////////////////v49v/Sonf/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////////////////////////////////////// + ///////////////////////////////////////////////////y6OH/y45M/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5Mu5/8mJ + Pf/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6uLZ//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fv6/9aqh//JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6uLZ//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////bu6f/Mklb/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//5t3R//j18v/49fL/+PXy//j18v/49fL/9/Tx//f08f/39PH/9/Tx//f08f/39PH/9/Tx//r4 + 9v/////////////////////////////////////////////////p1cf/yYo+/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bGsP/WxrD/1saw/9bGsP/WxrD/1sWw/9bFsP/WxbD/1sWw/9bF + sP/WxbD/1sWw/9vMuf/7+ff////////////////////////////////////////////+/fz/2rSW/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//j2Mv//v7+//////////////////////////////////// + ////////+fPw/8+YY//JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/z7+r/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//7ujg//////////////////// + /////////////////////////////+3d0//Ki0H/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//2cm1//j1 + 8v/////////////////////////////////////////////+/v/evqb/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9/Sw//9/fz////////////////////////////////////////////79/X/0Z5x/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//q4tn///////////////////////////////////////// + ////////8eXe/8uNSf/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Xx7H/9fHs//////////////////// + ///////////////////////////+/+PHtP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/z7un/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//3M68//z7 + +f////////////////////////////////////////////36+f/Vp4H/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/y7uj/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/+Xb0P///v7////////////////////////////////////////////17Ob/zJBR/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/59vP/6+Pa/+vj2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj + 2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj + 2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vk2//7+vj///////////////////////////////////////// + ////////7+DX/+XNvP/lzbz/5c28/+XNvP/lzbz/5c28//jy7v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA= + + + + + AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD8+vn/7ebe/+3n3//t59//7eff/+3n3//t59//7eff/+3n3//t59//7eff/+3n3//t59//7eff/+3n + 3//t59//7eff/+7n4P/u6OD/7ujg/+7o4P/u6OD/7ujg/+7o4P/u6OD/7ujg/+7o4P/u6OD/7ujg/+7o + 4P/u6OD/7ujg/+7o4P/v6eH/7+ni/+/p4v/v6eL/7+ni/+/p4v/v6eL/7+ni/+/p4v/v6eL/7+ni/+/p + 4v/v6eL/7+ni//r59//49fL/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39fH/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39fH/1saw/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39fH/1saw/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw + 6//39fH/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv//Tw6//39fH/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39PH/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39PD/1sWw/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39PD/1sWw/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw + 6//39PD/1sWw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//3dC//+jf1P/o39T/6N/U/+jf + 1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf + 1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf + 1P/o39T/6N/U//j28//39PD/1sWw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//597U//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////39PD/1sWw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//597U//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////29PD/1sWw/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//597U//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////28+//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//597U//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///28+//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//597U//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////28+//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//597U//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////28+//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//6N/U///////////////////////69fL/7dzR/+3c0f/t3NH/7dzR/+3d0v/t3dP/7d3T/+3d + 0//t3dP/7d3T/+3d0//t3dP/7d3T/+3d0//t3dP/7d3T/+3d0//t3dP/7d3T/+3d0//u3tT/7t/V/+7f + 1f/u39X/7t/V/+7f1f/u39X/7t/V/+7f1f/u39X/7t/V//r28//28+//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//6N/U///////////////////////9+/r/1amF/8mIOv/JiDr/yYg6/8mI + Ov/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6/8mI + Ov/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6//Hk3P/28+//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/U////////////////////////////9u3o/8yS + VP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/28u7/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/U//////////////////// + /////////////+nUxv/Jij7/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/18u7/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/U//// + //////////////////////////////79/P/ZspT/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18u7/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//6N/U///////////////////////////////////////48u//zpdh/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18u7/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//6N/U////////////////////////////////////////////7NzQ/8mK + QP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18u7/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/U//////////////////////////////////// + //////////7+/928o//JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/18u7/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/V//////////////////// + //////////////////////////////r29P/QnW3/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/18e3/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//// + ///////////////////////////////////////////////////w49v/yoxH/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18ez/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//6eDW/////////////////////////////////////////////////////////v7/4sWw/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18ez/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////////////////////////////////////// + /////////Pr4/9Slff/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18ez/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////////////////////// + //////////////////////////////Tq4//Lj07/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/18ez/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////// + ///////////////////////////////////////////////////n0cL/0qJ3/9Kid//Sonf/0aB1/8qL + Qv/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/18ez/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//// + //////////////////////////////////////////////////////////////////////7//v39//79 + /f/+/f3//v38/+DBq//JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18Oz/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//6eDW//////////////////////////////////////////////////////////////////// + //////////////////////////////v49v/Sonf/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////////////////////////////////////// + ///////////////////////////////////////////////////y6OH/y45M/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5Mu5/8mJ + Pf/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6uLZ//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fv6/9aqh//JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6uLZ//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////bu6f/Mklb/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//5t3R//j18v/49fL/+PXy//j18v/49fL/9/Tx//f08f/39PH/9/Tx//f08f/39PH/9/Tx//r4 + 9v/////////////////////////////////////////////////p1cf/yYo+/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bGsP/WxrD/1saw/9bGsP/WxrD/1sWw/9bFsP/WxbD/1sWw/9bF + sP/WxbD/1sWw/9vMuf/7+ff////////////////////////////////////////////+/fz/2rSW/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//j2Mv//v7+//////////////////////////////////// + ////////+fPw/8+YY//JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/z7+r/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//7ujg//////////////////// + /////////////////////////////+3d0//Ki0H/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//2cm1//j1 + 8v/////////////////////////////////////////////+/v/evqb/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9/Sw//9/fz////////////////////////////////////////////79/X/0Z5x/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//q4tn///////////////////////////////////////// + ////////8eXe/8uNSf/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Xx7H/9fHs//////////////////// + ///////////////////////////+/+PHtP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/z7un/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//3M68//z7 + +f////////////////////////////////////////////36+f/Vp4H/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/y7uj/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/+Xb0P///v7////////////////////////////////////////////17Ob/zJBR/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/59vP/6+Pa/+vj2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj + 2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj + 2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vk2//7+vj///////////////////////////////////////// + ////////7+DX/+XNvP/lzbz/5c28/+XNvP/lzbz/5c28//jy7v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA= + + + \ No newline at end of file diff --git a/EgwControlCenter/EgwControlCenter.csproj b/EgwControlCenter/EgwControlCenter.csproj new file mode 100644 index 0000000..17672c4 --- /dev/null +++ b/EgwControlCenter/EgwControlCenter.csproj @@ -0,0 +1,15 @@ + + + + WinExe + net8.0-windows + enable + true + enable + + + + + + + \ No newline at end of file diff --git a/EgwControlCenter/EgwControlCenter.sln b/EgwControlCenter/EgwControlCenter.sln new file mode 100644 index 0000000..81143c5 --- /dev/null +++ b/EgwControlCenter/EgwControlCenter.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35303.130 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwControlCenter", "EgwControlCenter.csproj", "{F6AFFB80-3775-4E4A-8973-01BBF3CD182E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwControlCenter.Core", "..\EgwControlCenter.Core\EgwControlCenter.Core.csproj", "{D30ACE10-49B2-4EA8-B16F-C2E8788EBA2A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F6AFFB80-3775-4E4A-8973-01BBF3CD182E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F6AFFB80-3775-4E4A-8973-01BBF3CD182E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F6AFFB80-3775-4E4A-8973-01BBF3CD182E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F6AFFB80-3775-4E4A-8973-01BBF3CD182E}.Release|Any CPU.Build.0 = Release|Any CPU + {D30ACE10-49B2-4EA8-B16F-C2E8788EBA2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D30ACE10-49B2-4EA8-B16F-C2E8788EBA2A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D30ACE10-49B2-4EA8-B16F-C2E8788EBA2A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D30ACE10-49B2-4EA8-B16F-C2E8788EBA2A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {04FF5FDE-8620-4428-86CE-12F2A5068CB8} + EndGlobalSection +EndGlobal diff --git a/EgwControlCenter/Program.cs b/EgwControlCenter/Program.cs new file mode 100644 index 0000000..2a24497 --- /dev/null +++ b/EgwControlCenter/Program.cs @@ -0,0 +1,17 @@ +namespace EgwControlCenter +{ + internal static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + // To customize application configuration such as set high DPI settings or default font, + // see https://aka.ms/applicationconfiguration. + ApplicationConfiguration.Initialize(); + Application.Run(new ControlCenter()); + } + } +} \ No newline at end of file diff --git a/EgwControlCenter/Resources/favicon.ico b/EgwControlCenter/Resources/favicon.ico new file mode 100644 index 0000000..28dcc86 Binary files /dev/null and b/EgwControlCenter/Resources/favicon.ico differ diff --git a/EgwControlCenter/TargetSetup.Designer.cs b/EgwControlCenter/TargetSetup.Designer.cs new file mode 100644 index 0000000..df20e82 --- /dev/null +++ b/EgwControlCenter/TargetSetup.Designer.cs @@ -0,0 +1,47 @@ +namespace EgwControlCenter +{ + partial class TargetSetup + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TargetSetup)); + SuspendLayout(); + // + // TargetSetup + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Icon = (Icon)resources.GetObject("$this.Icon"); + Name = "TargetSetup"; + Text = "TargetSetup"; + ResumeLayout(false); + } + + #endregion + } +} \ No newline at end of file diff --git a/EgwControlCenter/TargetSetup.cs b/EgwControlCenter/TargetSetup.cs new file mode 100644 index 0000000..24c8a09 --- /dev/null +++ b/EgwControlCenter/TargetSetup.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace EgwControlCenter +{ + public partial class TargetSetup : Form + { + public TargetSetup() + { + InitializeComponent(); + } + } +} diff --git a/EgwControlCenter/TargetSetup.resx b/EgwControlCenter/TargetSetup.resx new file mode 100644 index 0000000..28f6d65 --- /dev/null +++ b/EgwControlCenter/TargetSetup.resx @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD8+vn/7ebe/+3n3//t59//7eff/+3n3//t59//7eff/+3n3//t59//7eff/+3n3//t59//7eff/+3n + 3//t59//7eff/+7n4P/u6OD/7ujg/+7o4P/u6OD/7ujg/+7o4P/u6OD/7ujg/+7o4P/u6OD/7ujg/+7o + 4P/u6OD/7ujg/+7o4P/v6eH/7+ni/+/p4v/v6eL/7+ni/+/p4v/v6eL/7+ni/+/p4v/v6eL/7+ni/+/p + 4v/v6eL/7+ni//r59//49fL/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39fH/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39fH/1saw/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39fH/1saw/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw + 6//39fH/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv//Tw6//39fH/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39PH/1saw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39PD/1sWw/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw6//39PD/1sWw/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv//Tw + 6//39PD/1sWw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//3dC//+jf1P/o39T/6N/U/+jf + 1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf + 1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf1P/o39T/6N/U/+jf + 1P/o39T/6N/U//j28//39PD/1sWw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//597U//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////39PD/1sWw/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//597U//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////29PD/1sWw/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//597U//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////28+//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//597U//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///28+//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//597U//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////28+//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//597U//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////28+//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//6N/U///////////////////////69fL/7dzR/+3c0f/t3NH/7dzR/+3d0v/t3dP/7d3T/+3d + 0//t3dP/7d3T/+3d0//t3dP/7d3T/+3d0//t3dP/7d3T/+3d0//t3dP/7d3T/+3d0//u3tT/7t/V/+7f + 1f/u39X/7t/V/+7f1f/u39X/7t/V/+7f1f/u39X/7t/V//r28//28+//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//6N/U///////////////////////9+/r/1amF/8mIOv/JiDr/yYg6/8mI + Ov/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6/8mI + Ov/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6/8mIOv/JiDr/yYg6//Hk3P/28+//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/U////////////////////////////9u3o/8yS + VP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/28u7/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/U//////////////////// + /////////////+nUxv/Jij7/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/18u7/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/U//// + //////////////////////////////79/P/ZspT/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18u7/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//6N/U///////////////////////////////////////48u//zpdh/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18u7/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//6N/U////////////////////////////////////////////7NzQ/8mK + QP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18u7/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/U//////////////////////////////////// + //////////7+/928o//JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/18u7/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6N/V//////////////////// + //////////////////////////////r29P/QnW3/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/18e3/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//// + ///////////////////////////////////////////////////w49v/yoxH/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18ez/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//6eDW/////////////////////////////////////////////////////////v7/4sWw/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18ez/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////////////////////////////////////// + /////////Pr4/9Slff/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18ez/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////////////////////// + //////////////////////////////Tq4//Lj07/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/18ez/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////// + ///////////////////////////////////////////////////n0cL/0qJ3/9Kid//Sonf/0aB1/8qL + Qv/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/18ez/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//// + //////////////////////////////////////////////////////////////////////7//v39//79 + /f/+/f3//v38/+DBq//JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/18Oz/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//6eDW//////////////////////////////////////////////////////////////////// + //////////////////////////////v49v/Sonf/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////////////////////////////////////// + ///////////////////////////////////////////////////y6OH/y45M/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6eDW//////////////////////////////////// + ////////////////////////////////////////////////////////////////////////5Mu5/8mJ + Pf/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6uLZ//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fv6/9aqh//JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//6uLZ//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////bu6f/Mklb/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//5t3R//j18v/49fL/+PXy//j18v/49fL/9/Tx//f08f/39PH/9/Tx//f08f/39PH/9/Tx//r4 + 9v/////////////////////////////////////////////////p1cf/yYo+/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/08Ov/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bGsP/WxrD/1saw/9bGsP/WxrD/1sWw/9bFsP/WxbD/1sWw/9bF + sP/WxbD/1sWw/9vMuf/7+ff////////////////////////////////////////////+/fz/2rSW/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//j2Mv//v7+//////////////////////////////////// + ////////+fPw/8+YY//JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/z7+r/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//7ujg//////////////////// + /////////////////////////////+3d0//Ki0H/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//2cm1//j1 + 8v/////////////////////////////////////////////+/v/evqb/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9/Sw//9/fz////////////////////////////////////////////79/X/0Z5x/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//q4tn///////////////////////////////////////// + ////////8eXe/8uNSf/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/z7+r/1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Xx7H/9fHs//////////////////// + ///////////////////////////+/+PHtP/JiTz/yYk8/8mJPP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk + 3P/z7un/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//3M68//z7 + +f////////////////////////////////////////////36+f/Vp4H/yYk8/8mJPP/JiTz/yYk8/8mJ + PP/JiTz/yYk8//Hk3P/y7uj/1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bFr//Wxa//1sWv/9bF + r//Wxa//1sWv/+Xb0P///v7////////////////////////////////////////////17Ob/zJBR/8mJ + PP/JiTz/yYk8/8mJPP/JiTz/yYk8//Hk3P/59vP/6+Pa/+vj2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj + 2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vj + 2v/r49r/6+Pa/+vj2v/r49r/6+Pa/+vk2//7+vj///////////////////////////////////////// + ////////7+DX/+XNvP/lzbz/5c28/+XNvP/lzbz/5c28//jy7v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA= + + + \ No newline at end of file diff --git a/LiMan.DB/Controllers/DbController.cs b/LiMan.DB/Controllers/DbController.cs index 74f5ad0..7a1db44 100644 --- a/LiMan.DB/Controllers/DbController.cs +++ b/LiMan.DB/Controllers/DbController.cs @@ -1447,6 +1447,7 @@ namespace LiMan.DB.Controllers // calcolo DTO applicativi dbResult = localDbCtx .DbSetReleases + .Where(x => (x.CodApp.ToLower() == CodApp.ToLower())) .ToList(); // verifico per il criterio versione... diff --git a/LiMan.DB/DBModels/ReleaseModel.cs b/LiMan.DB/DBModels/ReleaseModel.cs index 6d1ac18..75c951f 100644 --- a/LiMan.DB/DBModels/ReleaseModel.cs +++ b/LiMan.DB/DBModels/ReleaseModel.cs @@ -40,7 +40,21 @@ namespace LiMan.DB.DBModels [NotMapped] public Version VersVal { - get =>!string.IsNullOrEmpty(VersNum) ? new Version(VersNum): new Version(); + get + { + Version answ = new Version(); + try + { + // solo se è una versione valida: SemVer = 2/3 punti + int numPunti = VersNum.Length - VersNum.Replace(".", "").Length; + if (numPunti >= 2 && numPunti <= 3) + { + answ = !string.IsNullOrEmpty(VersNum) ? new Version(VersNum) : new Version(); + } + } + catch { } + return answ; + } } ///