From 5041c7d1d9927ac92f9eeb160286d9f751aee00c Mon Sep 17 00:00:00 2001 From: rainerosion Date: Wed, 11 Jan 2023 02:28:05 +0800 Subject: [PATCH] init project --- .gitignore | 8 + Tech/App.config | 6 + Tech/Form1.Designer.cs | 171 ++++++++++++++ Tech/Form1.cs | 49 ++++ Tech/Form1.resx | 203 ++++++++++++++++ Tech/PlayerView.Designer.cs | 98 ++++++++ Tech/PlayerView.cs | 73 ++++++ Tech/PlayerView.resx | 120 ++++++++++ Tech/PlumByteUI-Learn.csproj.DotSettings.user | 2 + Tech/Program.cs | 22 ++ Tech/Properties/AssemblyInfo.cs | 36 +++ Tech/Properties/Resources.Designer.cs | 71 ++++++ Tech/Properties/Resources.resx | 117 +++++++++ Tech/Properties/Settings.Designer.cs | 30 +++ Tech/Properties/Settings.settings | 7 + Tech/Tech.csproj | 118 ++++++++++ Tech/Tech.csproj.DotSettings | 2 + Tech/UCOverview.Designer.cs | 177 ++++++++++++++ Tech/UCOverview.cs | 25 ++ Tech/UCOverview.resx | 222 ++++++++++++++++++ Tech/packages.config | 7 + 21 files changed, 1564 insertions(+) create mode 100644 .gitignore create mode 100644 Tech/App.config create mode 100644 Tech/Form1.Designer.cs create mode 100644 Tech/Form1.cs create mode 100644 Tech/Form1.resx create mode 100644 Tech/PlayerView.Designer.cs create mode 100644 Tech/PlayerView.cs create mode 100644 Tech/PlayerView.resx create mode 100644 Tech/PlumByteUI-Learn.csproj.DotSettings.user create mode 100644 Tech/Program.cs create mode 100644 Tech/Properties/AssemblyInfo.cs create mode 100644 Tech/Properties/Resources.Designer.cs create mode 100644 Tech/Properties/Resources.resx create mode 100644 Tech/Properties/Settings.Designer.cs create mode 100644 Tech/Properties/Settings.settings create mode 100644 Tech/Tech.csproj create mode 100644 Tech/Tech.csproj.DotSettings create mode 100644 Tech/UCOverview.Designer.cs create mode 100644 Tech/UCOverview.cs create mode 100644 Tech/UCOverview.resx create mode 100644 Tech/packages.config diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..90888b6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +#Binaries +**bin/ +**obj/ + +#Visual Studio Files and Folders +**.vs/ +**.idea/ +**packages diff --git a/Tech/App.config b/Tech/App.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/Tech/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Tech/Form1.Designer.cs b/Tech/Form1.Designer.cs new file mode 100644 index 0000000..685af98 --- /dev/null +++ b/Tech/Form1.Designer.cs @@ -0,0 +1,171 @@ +namespace PlumByteUI_Learn +{ + partial class Form1 + { + /// + /// 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(Form1)); + this.panel1 = new System.Windows.Forms.Panel(); + this.button4 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button1 = new System.Windows.Forms.Button(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.panelContainer = new System.Windows.Forms.Panel(); + this.panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(22)))), ((int)(((byte)(101)))), ((int)(((byte)(193))))); + this.panel1.Controls.Add(this.button4); + this.panel1.Controls.Add(this.button3); + this.panel1.Controls.Add(this.button2); + this.panel1.Controls.Add(this.button1); + this.panel1.Controls.Add(this.pictureBox1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Left; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(237, 550); + this.panel1.TabIndex = 0; + // + // button4 + // + this.button4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(118)))), ((int)(((byte)(211))))); + this.button4.FlatAppearance.BorderSize = 0; + this.button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button4.ForeColor = System.Drawing.Color.White; + this.button4.Image = ((System.Drawing.Image)(resources.GetObject("button4.Image"))); + this.button4.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.button4.Location = new System.Drawing.Point(0, 274); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(237, 54); + this.button4.TabIndex = 4; + this.button4.Text = " Settings"; + this.button4.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.button4.UseVisualStyleBackColor = false; + this.button4.Click += new System.EventHandler(this.button4_Click); + // + // button3 + // + this.button3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(118)))), ((int)(((byte)(211))))); + this.button3.FlatAppearance.BorderSize = 0; + this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button3.ForeColor = System.Drawing.Color.White; + this.button3.Image = ((System.Drawing.Image)(resources.GetObject("button3.Image"))); + this.button3.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.button3.Location = new System.Drawing.Point(0, 173); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(237, 54); + this.button3.TabIndex = 3; + this.button3.Text = " Scan"; + this.button3.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.button3.UseVisualStyleBackColor = false; + this.button3.Click += new System.EventHandler(this.button3_Click); + // + // button2 + // + this.button2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(118)))), ((int)(((byte)(211))))); + this.button2.FlatAppearance.BorderSize = 0; + this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button2.ForeColor = System.Drawing.Color.White; + this.button2.Image = ((System.Drawing.Image)(resources.GetObject("button2.Image"))); + this.button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.button2.Location = new System.Drawing.Point(0, 223); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(237, 54); + this.button2.TabIndex = 2; + this.button2.Text = " Recovery"; + this.button2.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.button2.UseVisualStyleBackColor = false; + // + // button1 + // + this.button1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(118)))), ((int)(((byte)(211))))); + this.button1.FlatAppearance.BorderSize = 0; + this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button1.ForeColor = System.Drawing.Color.White; + this.button1.Image = ((System.Drawing.Image)(resources.GetObject("button1.Image"))); + this.button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.button1.Location = new System.Drawing.Point(0, 123); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(237, 54); + this.button1.TabIndex = 1; + this.button1.Text = " 直播"; + this.button1.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.button1.UseVisualStyleBackColor = false; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // pictureBox1 + // + this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); + this.pictureBox1.Location = new System.Drawing.Point(35, 22); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(161, 49); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox1.TabIndex = 0; + this.pictureBox1.TabStop = false; + // + // panelContainer + // + this.panelContainer.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelContainer.Location = new System.Drawing.Point(237, 0); + this.panelContainer.Name = "panelContainer"; + this.panelContainer.Size = new System.Drawing.Size(921, 550); + this.panelContainer.TabIndex = 1; + // + // Form1 + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.ClientSize = new System.Drawing.Size(1158, 550); + this.Controls.Add(this.panelContainer); + this.Controls.Add(this.panel1); + this.Font = new System.Drawing.Font("Century Gothic", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "Form1"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Form1"; + this.Load += new System.EventHandler(this.Form1_Load); + this.panel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + } + + #endregion + + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button button4; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Panel panelContainer; + } +} + diff --git a/Tech/Form1.cs b/Tech/Form1.cs new file mode 100644 index 0000000..8d380bf --- /dev/null +++ b/Tech/Form1.cs @@ -0,0 +1,49 @@ +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 PlumByteUI_Learn +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + private void Form1_Load(object sender, EventArgs e) + { + UCOverview uo = new UCOverview(); + uo.Dock = DockStyle.Fill; + panelContainer.Controls.Add(uo); + } + + private void button3_Click(object sender, EventArgs e) + { + throw new System.NotImplementedException(); + } + + private void button4_Click(object sender, EventArgs e) + { + DialogResult dialogResult = MessageBox.Show(@"确定要退出吗?", @"确定退出?", MessageBoxButtons.OKCancel,MessageBoxIcon.Question); + if (dialogResult.Equals(DialogResult.OK)) + { + System.Environment.Exit(0); + // Application.Exit(); + } + } + + private void button1_Click(object sender, EventArgs e) + { + var playerView = new PlayerView(); + this.panelContainer.Controls.Clear(); + this.panelContainer.Controls.Add(playerView); + } + } +} diff --git a/Tech/Form1.resx b/Tech/Form1.resx new file mode 100644 index 0000000..89edf2e --- /dev/null +++ b/Tech/Form1.resx @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABGdBTUEAALGPC/xhBQAAAZtJREFUSEvN + lksvQ0EUx7ts6hEWXl9DpCTSldhb0BCPDTY+iKRIkIgECb6CeEbwjTzCEq3fmTllpp1Rt/cu/JJfmnvO + f85NzfReuX9FrVabx08UPnBKW9nB0F0z/oeKtpLD4gKeYllLBq5v0eVCWwaup/EEC1oKQ6ADH7DOMQ7h + Mj5LweEJF7Ab96Wg3GP8RjSPTCwZ7/rpcqAjm6FZQtnUNMj6ko4MQ6Biou2zqaPiEOrDqoknR75Fj46K + Q2jNxJu5wnHs188bDLGko3xozOEOysl6w0bONOpB/dy2PV5RTtg2zmrUhFsxrFEP6iO2HUejf7pJp0Y9 + qHfZdhyNmnCrjS5q1IP6mG1HqWrUhOWRsIHyN37ERi416kE9tPnunsxo1IfGKoaQ01XEPI5istPlQmgA + 0/xOenVUHELyBE7DoY4KQ6Bsc6nxXhMeNLN6Cse/DU3Z1GsTs/uyh4O4gi/oUn+fyG9lC+uvZlmf15Fh + JIDyqp3UkoHrO3TxjjXXEyjrfr/Bb7BYnm0u69rKDoYu2tnfZP/fSvvkcl/hgjG7FPFKYwAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABGdBTUEAALGPC/xhBQAAAddJREFUSEu1 + lEkoRVEYgJ8oU8RKsrUxLG1tWEsJGfbKQiFFGUoyxYYUG4WFvbJRsrLFQlJkY2ahbEjJ8/3n/Lrufee9 + d6/hq697z3/+4Q333FgY4vF4PvbhMT7ptRfzNeXn0KQIR/ARXUh8GIu0JDwUVeEcPmMYJE/yK7VFImxm + Yz1O4xH+hkOcQumXrSPMkDH8D0Z1hBkyYGN/Tr+OMEO6bSwl97iMM3q9RKFBry66dIQZ0mpjTj5wFoux + E+VbN2IBTmh9MhrNAIFFjY05mcRKPDEryzU2a3mqIdWaYpLkPMgnDnKHsvd9gHCF8rN96eId83SEhcCZ + 2fKzim32NjIH2tqD4Lrd8zGBQ/Y2KfO4ZG99LGhrD4Ltds9HmG/Sgmv21kedtvYgKE/Li9n2SPaffCEv + Stl/MCuPW8zU1n7Y2DApflxPlyADKlAe7yDj2jIRNl2PcvCcDGKHruWlGHwqX7FUW7ohYdukJvL9xK/o + 2sWctkoOSfKafzPp0bnBYm2VGhJ7TEk05PDVaov0kJyBW1IZgfQ/UxCKSvDclKdnF3O0NBoUluGFdEnB + HuZqyc+gQTmeSjcHO1ioqb+DRvI22JSuipyNRczSlL+Dpk24j/UaCkEs9gmh7juf0joaywAAAABJRU5E + rkJggg== + + + + + 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 + tHn0xH2urv4DYDhyEVfMlyQAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/Tech/PlayerView.Designer.cs b/Tech/PlayerView.Designer.cs new file mode 100644 index 0000000..79108b9 --- /dev/null +++ b/Tech/PlayerView.Designer.cs @@ -0,0 +1,98 @@ +using System.ComponentModel; + +namespace PlumByteUI_Learn +{ + partial class PlayerView + { + /// + /// Required designer variable. + /// + private 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 Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.vlcControl = new Vlc.DotNet.Forms.VlcControl(); + this.panel1 = new System.Windows.Forms.Panel(); + this.playBtn = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.vlcControl)).BeginInit(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // vlcControl + // + this.vlcControl.BackColor = System.Drawing.Color.Black; + this.vlcControl.Dock = System.Windows.Forms.DockStyle.Top; + this.vlcControl.Location = new System.Drawing.Point(0, 0); + this.vlcControl.Name = "vlcControl"; + this.vlcControl.Size = new System.Drawing.Size(921, 460); + this.vlcControl.Spu = -1; + this.vlcControl.TabIndex = 0; + this.vlcControl.Text = "vlcControl1"; + this.vlcControl.VlcLibDirectory = null; + this.vlcControl.VlcMediaplayerOptions = null; + this.vlcControl.VlcLibDirectoryNeeded += new System.EventHandler(this.vlcControl_VlcLibDirectoryNeeded); + this.vlcControl.Click += new System.EventHandler(this.vlcControl_Click); + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(46)))), ((int)(((byte)(57)))), ((int)(((byte)(75))))); + this.panel1.Controls.Add(this.playBtn); + this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.panel1.Location = new System.Drawing.Point(0, 460); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(921, 90); + this.panel1.TabIndex = 1; + // + // playBtn + // + this.playBtn.Location = new System.Drawing.Point(439, 39); + this.playBtn.Name = "playBtn"; + this.playBtn.Size = new System.Drawing.Size(75, 23); + this.playBtn.TabIndex = 0; + this.playBtn.Text = "button1"; + this.playBtn.UseVisualStyleBackColor = true; + this.playBtn.Click += new System.EventHandler(this.playBtn_Click); + // + // PlayerView + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.panel1); + this.Controls.Add(this.vlcControl); + this.Name = "PlayerView"; + this.Size = new System.Drawing.Size(921, 550); + this.Load += new System.EventHandler(this.PlayerView_Load); + ((System.ComponentModel.ISupportInitialize)(this.vlcControl)).EndInit(); + this.panel1.ResumeLayout(false); + this.ResumeLayout(false); + } + + private System.Windows.Forms.Button playBtn; + + private System.Windows.Forms.Panel panel1; + + #endregion + + private Vlc.DotNet.Forms.VlcControl vlcControl; + } +} \ No newline at end of file diff --git a/Tech/PlayerView.cs b/Tech/PlayerView.cs new file mode 100644 index 0000000..7f66520 --- /dev/null +++ b/Tech/PlayerView.cs @@ -0,0 +1,73 @@ +using System; +using System.IO; +using System.Reflection; +using System.Windows.Forms; +using Vlc.DotNet.Forms; + +namespace PlumByteUI_Learn +{ + public partial class PlayerView : UserControl + { + public PlayerView() + { + InitializeComponent(); + } + + private void PlayerView_Load(object sender, EventArgs e) + { + string[] options = { ":network-caching=100", ":rtsp-tcp"};// { ":network-caching=100", ":rtsp -tcp", ":no-audio" }; // --avcodec-hw={any,d3d11va,dxva2,none} + var videoUri = new Uri(@"rtsp://127.0.0.1:8554/rains"); + vlcControl.Play(videoUri, options); + // vlcControl.Controls + + // using(SaveFileDialog sfd = new SaveFileDialog()) + // { + // sfd.Filter = "jpg文件 | *.jpg"; + // if(sfd.ShowDialog() == DialogResult.OK) + // { + // vlcControl.TakeSnapshot(sfd.FileName); + // } + // } + } + + private void vlcControl_Click(object sender, EventArgs e) + { + + } + + private void vlcControl_VlcLibDirectoryNeeded(object sender, VlcLibDirectoryNeededEventArgs e) + { + var currentAssembly = Assembly.GetEntryAssembly(); + var currentDirectory = new FileInfo(currentAssembly.Location).DirectoryName; + + if (currentDirectory == null) + return; + if (IntPtr.Size == 4) + e.VlcLibDirectory = new DirectoryInfo(Path.GetFullPath(@".\libvlc\win-x86\")); + else + e.VlcLibDirectory = new DirectoryInfo(Path.GetFullPath(@".\libvlc\win-x64\")); + + if (!e.VlcLibDirectory.Exists) + { + var folderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog(); + folderBrowserDialog.Description = "Select Vlc libraries folder."; + folderBrowserDialog.RootFolder = Environment.SpecialFolder.Desktop; + folderBrowserDialog.ShowNewFolderButton = true; + if (folderBrowserDialog.ShowDialog() == DialogResult.OK) + { + e.VlcLibDirectory = new DirectoryInfo(folderBrowserDialog.SelectedPath); + } + } + } + + /** + * 播放按钮 + */ + private void playBtn_Click(object sender, EventArgs e) + { + string[] options = { ":network-caching=100", ":rtsp-tcp", ":no-audio" };// { ":network-caching=100", ":rtsp -tcp", ":no-audio" }; // --avcodec-hw={any,d3d11va,dxva2,none} + var videoUri = new Uri(@"rtsp://127.0.0.1:8554/rains"); + vlcControl.Play(videoUri, options); + } + } +} \ No newline at end of file diff --git a/Tech/PlayerView.resx b/Tech/PlayerView.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Tech/PlayerView.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/Tech/PlumByteUI-Learn.csproj.DotSettings.user b/Tech/PlumByteUI-Learn.csproj.DotSettings.user new file mode 100644 index 0000000..0c29a9f --- /dev/null +++ b/Tech/PlumByteUI-Learn.csproj.DotSettings.user @@ -0,0 +1,2 @@ + + ACFE594E-F51C-4B73-9661-0144FF9E33A3/f:Form1.resx \ No newline at end of file diff --git a/Tech/Program.cs b/Tech/Program.cs new file mode 100644 index 0000000..9bbfe97 --- /dev/null +++ b/Tech/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace PlumByteUI_Learn +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Tech/Properties/AssemblyInfo.cs b/Tech/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..97a25da --- /dev/null +++ b/Tech/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Tech")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Tech")] +[assembly: AssemblyCopyright("Copyright © 2020")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("acfe594e-f51c-4b73-9661-0144ff9e33a3")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Tech/Properties/Resources.Designer.cs b/Tech/Properties/Resources.Designer.cs new file mode 100644 index 0000000..78cf241 --- /dev/null +++ b/Tech/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace PlumByteUI_Learn.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PlumByteUI_Learn.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Tech/Properties/Resources.resx b/Tech/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Tech/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Tech/Properties/Settings.Designer.cs b/Tech/Properties/Settings.Designer.cs new file mode 100644 index 0000000..a80eab5 --- /dev/null +++ b/Tech/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace PlumByteUI_Learn.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Tech/Properties/Settings.settings b/Tech/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Tech/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Tech/Tech.csproj b/Tech/Tech.csproj new file mode 100644 index 0000000..0ab72fc --- /dev/null +++ b/Tech/Tech.csproj @@ -0,0 +1,118 @@ + + + + + Debug + AnyCPU + {ACFE594E-F51C-4B73-9661-0144FF9E33A3} + WinExe + PlumByteUI_Learn + Tech + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + ..\packages\Vlc.DotNet.Core.3.1.0\lib\net45\Vlc.DotNet.Core.dll + + + ..\packages\Vlc.DotNet.Core.Interops.3.1.0\lib\net45\Vlc.DotNet.Core.Interops.dll + + + ..\packages\Vlc.DotNet.Forms.3.1.0\lib\net45\Vlc.DotNet.Forms.dll + + + + + Form + + + Form1.cs + + + UserControl + + + PlayerView.cs + + + + + UserControl + + + UCOverview.cs + + + Form1.cs + + + PlayerView.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + UCOverview.cs + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}. + + + + \ No newline at end of file diff --git a/Tech/Tech.csproj.DotSettings b/Tech/Tech.csproj.DotSettings new file mode 100644 index 0000000..acc7abf --- /dev/null +++ b/Tech/Tech.csproj.DotSettings @@ -0,0 +1,2 @@ + + D:\develop\RiderProjects\UI-Design-in-C\PlumByteUI-Learn\packages\Vlc.DotNet.Forms.3.1.0\lib\net45\Vlc.DotNet.Forms.dll|Vlc.DotNet.Forms.VlcControl \ No newline at end of file diff --git a/Tech/UCOverview.Designer.cs b/Tech/UCOverview.Designer.cs new file mode 100644 index 0000000..6c1aad1 --- /dev/null +++ b/Tech/UCOverview.Designer.cs @@ -0,0 +1,177 @@ +namespace PlumByteUI_Learn +{ + partial class UCOverview + { + /// + /// 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 Component 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(UCOverview)); + this.panel1 = new System.Windows.Forms.Panel(); + this.button1 = new System.Windows.Forms.Button(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.button3 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button4 = new System.Windows.Forms.Button(); + this.panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(150)))), ((int)(((byte)(245))))); + this.panel1.Controls.Add(this.button1); + this.panel1.Controls.Add(this.label2); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.pictureBox1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Top; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(921, 180); + this.panel1.TabIndex = 0; + // + // button1 + // + this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button1.Font = new System.Drawing.Font("Century Gothic", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button1.ForeColor = System.Drawing.Color.White; + this.button1.Location = new System.Drawing.Point(704, 31); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(156, 55); + this.button1.TabIndex = 3; + this.button1.Text = "Quick Scan"; + this.button1.UseVisualStyleBackColor = true; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Century Gothic", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.ForeColor = System.Drawing.Color.White; + this.label2.Location = new System.Drawing.Point(134, 77); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(135, 21); + this.label2.TabIndex = 2; + this.label2.Text = "Scanner: Active"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Century Gothic", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.ForeColor = System.Drawing.Color.White; + this.label1.Location = new System.Drawing.Point(128, 41); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(263, 32); + this.label1.TabIndex = 1; + this.label1.Text = "PC is Malware Free"; + this.label1.Click += new System.EventHandler(this.label1_Click); + // + // pictureBox1 + // + this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); + this.pictureBox1.Location = new System.Drawing.Point(43, 31); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(70, 54); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox1.TabIndex = 0; + this.pictureBox1.TabStop = false; + // + // button3 + // + this.button3.Anchor = System.Windows.Forms.AnchorStyles.None; + this.button3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(150)))), ((int)(((byte)(245))))); + this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button3.Font = new System.Drawing.Font("Century Gothic", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button3.ForeColor = System.Drawing.Color.White; + this.button3.Image = ((System.Drawing.Image)(resources.GetObject("button3.Image"))); + this.button3.Location = new System.Drawing.Point(152, 266); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(161, 145); + this.button3.TabIndex = 5; + this.button3.Text = "\r\nQuick Scan"; + this.button3.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + this.button3.UseVisualStyleBackColor = false; + // + // button2 + // + this.button2.Anchor = System.Windows.Forms.AnchorStyles.None; + this.button2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(150)))), ((int)(((byte)(245))))); + this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button2.Font = new System.Drawing.Font("Century Gothic", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button2.ForeColor = System.Drawing.Color.White; + this.button2.Image = ((System.Drawing.Image)(resources.GetObject("button2.Image"))); + this.button2.Location = new System.Drawing.Point(373, 266); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(161, 145); + this.button2.TabIndex = 5; + this.button2.Text = "\r\nHistory"; + this.button2.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + this.button2.UseVisualStyleBackColor = false; + // + // button4 + // + this.button4.Anchor = System.Windows.Forms.AnchorStyles.None; + this.button4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(33)))), ((int)(((byte)(150)))), ((int)(((byte)(245))))); + this.button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.button4.Font = new System.Drawing.Font("Century Gothic", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button4.ForeColor = System.Drawing.Color.White; + this.button4.Image = ((System.Drawing.Image)(resources.GetObject("button4.Image"))); + this.button4.Location = new System.Drawing.Point(592, 266); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(161, 145); + this.button4.TabIndex = 5; + this.button4.Text = "\r\nUpdates\r\n"; + this.button4.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; + this.button4.UseVisualStyleBackColor = false; + // + // UCOverview + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.Controls.Add(this.button4); + this.Controls.Add(this.button2); + this.Controls.Add(this.button3); + this.Controls.Add(this.panel1); + this.Name = "UCOverview"; + this.Size = new System.Drawing.Size(921, 550); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + } + + #endregion + + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button4; + } +} diff --git a/Tech/UCOverview.cs b/Tech/UCOverview.cs new file mode 100644 index 0000000..1662c9b --- /dev/null +++ b/Tech/UCOverview.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace PlumByteUI_Learn +{ + public partial class UCOverview : UserControl + { + public UCOverview() + { + InitializeComponent(); + } + + private void label1_Click(object sender, EventArgs e) + { + + } + } +} diff --git a/Tech/UCOverview.resx b/Tech/UCOverview.resx new file mode 100644 index 0000000..452bfd4 --- /dev/null +++ b/Tech/UCOverview.resx @@ -0,0 +1,222 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABGdBTUEAALGPC/xhBQAACGhJREFUeF7t + nXfIHEUYhxN7gyAaW4yxEUVjEDTBaEzAShArKGIDK5Kgkj9UNKJR0dj+sDeMXSMq9hoJ2ELsHawoWKJR + LLH3z+c392a87+72u72td7fzwA/uZt55Z3b2dndu2g4LBAKBQKBfGRgYWAFtgw5DF6Pb0QL0DlpiZh7C + 3kcL0QPoenQq2gttbCaBTqDilkeT0Rz0EvodRWLJPBYcxVL0KJqJdJKHW7JAPVTMcmgamoe+RbExFx4L + jstidBmahMLJoRLWQ6ehj1EizJXHgpPwCToLjTRX1YGD3hhdh/5AqTCXHgtOw6/oWjTWXCaC9Hr2HY9e + QD+gf+zzdLSKmZULBdkE3YD+RJlgrj0WnAV/IzUK1jXXsSHN+ugVFMUbaJSZFw+Zr4JmoyEf0AnxB8bn + 0bWgTFFDQC21lS2bIcFubfQuaseraEVLVhxkuhv6QCXIiYfRBmgUUgsqL9TM3s4OqyXEr4FelHFMZljS + /CGzldCVLtv+QbdaXelNv2zCdLxPokbuQxuhDZF+PPUssuT5QkbKfJHLsj/RsW1gh6vjVbP9TkU08Djy + J4/PjbfUpRaVH2QyFS1x2fU3+g8zyY75chcyGLWoVneVYvC92BNCBgeiPB7c3YqOVbekRvRQX9uqxcF3 + XUV3K7KOhRadPTifgdTWrjqfozFWLR7CLnWxgznBorMFx2fU/Fee79A4qxYPYeqNaETN3uz/IOL0ROc+ + oH/4O1m1eAg7Cv0rgzo+RaPNJDtwegxqzKyK6Fmyi1WLh7CDUONt/Cu0mZlkB073QJl1gfQw+kEeadXi + IUxDCLpq6vkF7Wgm2YHTTdH3yiEwMN2qxUPYduhHF/s/La+i1OB0VaTOscDAwByrFg9hW6CvXez/6LZ1 + sJlkC45bNd+qyB1oOasWB99HovcU2cCpZpItOJ6CwkN8YOAJtJJVi4Pv6ljUkHMjt5hJtuBYXegfuiyq + zbNoVasWB99VN08rsgUfoVz+b6iXs+ro2TnCqsTBd40MPqjIIZht5tmAQw25NjbhqkZUl4gmSbRDzd0N + LUl6cHazc1td1Hu9uVWHh7CzXWw8brJk6cDRlkjjy1XlJzTBqsND2EkuNj6qw60seXJwUuWr4y+0j1WF + h7B9UZIfabqrBAcaeqzq1aHm/dFWFR7CdkZJn6f6t76eueocEndyj+w3TrNq8BCm6adpu4zONXedQcIV + 0ZfORfW40KrBQ5i6RL5xselQnS5vbuNDov1c8uoxFw2a58t3TXxLPN21BXuY6/iQ6K5a2koxH7XqEnlZ + kRlyo7mPBwl0u9KMvSrxHOqkSyQNGupdwbJpD8bqRKwSSbtE0tA03BsJxufV0uTKI0gDXdK9CiiJL1DT + 6irCWs21ypJzLKv2YKxJXnlTP0laq6a0VK1o1IQdb8XwEDbLxebLAstuaDDUpVpER6Kfiin4XvRJ+Q1N + sew9hBU1cUPP6EEDXC3BaGtnnj/3oEHtcX1HRZwU9T7sZ9l6FGZxRdG+bwsjrXYtCj07Bs0k5/twdLUi + c0Lj24dYdh7C9kRFz6I5yLKPBqMLaraFcRsq8kqZZdl4CBuPyphFc7oVIRqMVEFFU9RJudzcewjTMjvN + ZC+D9r2/GOnfahnkffsqokukU+ZbUaLB6M2abSnkdVLuR41X4JrobUWWyGtWnGgwKruHN+uTEtUl8owi + S+YzK1LnkFj/qPNcVFlPVs8ULTZdx1w4+K6FM0V2nGpd4SaWfbbgeIzLohhU+WlOih7UTRVB2BUutjiy + X3awDDmv5VEYSU+Kdk5o1SVSxsKifDYIkGNU1C2rnk5PirpEppqph7BjURnTYN06eitG55BYC0q6jbgn + Rd0e+5uJh7Ciu0TistiKGA1G3brUIKr1dY0iQb/+Qy3KQ1gZXSJxidXsbbUbQbcw1Ek52YI8hGkfLE3j + 7FYes6JGg9GtNduupdXtq6kbm7Ayu0TiEqvr5PyabVfTdFLqIW4dlOeGN1nRftQQI60c7QWabl+CsG7o + EonLAVbsaDAaW7PtCQadFD6vhnpp05tNrejRYKSuhcYVpN2MOylIQ88PKaBH0PhLvI03MXzeJekd9Ey5 + qvaxZ3jGqrs9GJ9ZSxPIkfajhcvAeEItTSBHtrXqbg/Geo50YxdKv6D1ip1t3EyCMsbWq8Jcq+b4kEi7 + iQbyoWmCXltIpD4iLXoPZMu7VsWdQ+KwU1z2JN/3hMQaIazqos880Kre5INVAgfaqz2QDddatSYHJ5rY + kPotBgG3oiDd1bEMHC0blQskp2kaa2JwFjafScfPKLvNZwQOT3GuA0mYadWYHThV9/brzn2gE7RhcuTo + ZipwPBGF7cTjo78M21v15QMZhE0w43OJVVt+kIluXdp3MDA0T6H2izqzgIz0urtun2JTJlr73vHLxFJB + hmGr8dboT/SuVk3FQsaaM6v+mUCNljvQFQoFOM4VJaC5xUdYtZQLBQnd9J1MWigCCnQEquIzRcd8uFVD + d0HB9kZV6vPShMLd7fC7Ewqo1+ZVYa9GNfsn22F3NxRU74N9TKXuU7S0by073N6AAmvJmTZC66e+L/VN + nYPy6SwsAgq/A8pzeYBbB47yXkevHS4m2mH1NhyIZqeraawVslnj14HzOY919Gqk6D2ETWtReh4Oqpde + cK8uEL3gvmk/xr5DB4mus4NOhbn0WHAaVCbNIWh6V0jfw0GPQOp6eQslwlx5LDgJekaoLIO2i60kVIJm + 209D89C3KDbmwmPBcVFeetua1rIXM3bRa1Axai7rLZlzkN56plc8RGLJPBYchRoV8qmVxjuh3m2+lgWV + phFKvSZCm3NejLR8bQF6By0xM4/CLE42sr0IKe04FH9770AgEAgEeophw/4D3koTPj3CxigAAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABGdBTUEAALGPC/xhBQAAAxhJREFUaEPt + md2LDlEcx58lb+FKrFtvi/9AdtNm44Zr5T3aJJHiXhQiF1xzoVxw462Vl7giRa0UKQm5tuUlbna9jc9v + zm/PM88xxpg5ZzyP5lPf9tnnd+b7PaeZOXPmPI2amjYkiqK5aCs6gx6iEfRe9RY9QKfRFtSth7UPdGoV + uoO+obxI29toQG3+HXRioXamLDfRfLWtFoLXo8/SC098QuvUvhoIPBhHp/McHUZ9qAfNUsln+e4IeoHS + +IEOaExYCJJOpvEI5b7eaSv31WM5MIVD2iwMBMiM5DKGdqEubZYbjpmA9qAvyGWjNvMLxguQe0/IlLpc + mxQGD7nkZKpOIvfMPG3iD0xvxPZNRtEyLZcGr14kZzfJkJb9gGG/8W1hu5a9gecOY91Cn5bLg9l142m5 + ryWv4NuFZEWQxM9ZwagbfY0tm/Rq2Tt4rzARFpkIZmu5OJgMxnZNnmgpGGQ8M1GWbVoqDibnjJflqJaC + QcZxE2U5q6XiYOI+tFZqKRhkyMMyybCWioPJO+Nl6dFSMMhYYqIsI1oqDibuU3eGloJBxkwTZRnTUnEw + aYeBjGqpOJi4l9YiLQWDjMUmyuLl0vpvbnZ3+j2mpWCQccJEWbxMv+7S/aWWgkHGGxNl2aSl4mCStkQJ + dnnhvdpEWPwsUQSM3EWjLOz++kXqT4gnGpaABP6W8pilLeMHtewNPHca6xb8LeMFDN0XK3kJ6tdyafAa + QO4zy++LlYBp2qvuB1R6gw0PmW4/imGCMK+6AsZpmw8yEexGRTcf9qqHy1M0TZv6B/MqtoPGkV3MoIPJ + 2qB7hU6iNUhWsVNVS9FadAq9RnkJPhjfW6ZZXENTNNo/mPvaxL6FhszH3xL2zAgEyIbBJeROn1nI9H0R + xc8J/k5E51EWd9H0ODQkhMxB7g8931XuDz2/LDv4TgZzAWUhgwn+TlQaOjkJXZYeZ1APpnLoZJ7B3EMd + M5gr0uMM6sFUDp2UlYH8YJrFBm3e3tDRrDOzT5t1BnQ4bTCdNYhx6PhkdDUeQhTt1687EwYg98xm/bem + pjoajZ/CG/WvnrUs2AAAAABJRU5ErkJggg== + + + + + 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 + AAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/Tech/packages.config b/Tech/packages.config new file mode 100644 index 0000000..b19e24a --- /dev/null +++ b/Tech/packages.config @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file