commit c09289a317efdae5f4efee08373293127aa1a358 Author: minish Date: Thu Feb 6 17:41:29 2025 -0500 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..74ec1dc --- /dev/null +++ b/.gitignore @@ -0,0 +1,393 @@ +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml diff --git a/Oyasumi.sln b/Oyasumi.sln new file mode 100644 index 0000000..71c7cda --- /dev/null +++ b/Oyasumi.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35707.178 d17.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Oyasumi", "Oyasumi\Oyasumi.csproj", "{B2E01861-A02A-443A-B8B4-9C2922013765}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B2E01861-A02A-443A-B8B4-9C2922013765}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B2E01861-A02A-443A-B8B4-9C2922013765}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B2E01861-A02A-443A-B8B4-9C2922013765}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B2E01861-A02A-443A-B8B4-9C2922013765}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Oyasumi/Form1.Designer.cs b/Oyasumi/Form1.Designer.cs new file mode 100644 index 0000000..f897f10 --- /dev/null +++ b/Oyasumi/Form1.Designer.cs @@ -0,0 +1,124 @@ +namespace Oyasumi +{ + 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() + { + components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + notifyIcon = new NotifyIcon(components); + contextMenuStrip = new ContextMenuStrip(components); + startTimer5m = new ToolStripMenuItem(); + startTimer10m = new ToolStripMenuItem(); + startTimer25m = new ToolStripMenuItem(); + timer = new System.Windows.Forms.Timer(components); + timeCircle = new Panel(); + contextMenuStrip.SuspendLayout(); + SuspendLayout(); + // + // notifyIcon + // + notifyIcon.ContextMenuStrip = contextMenuStrip; + notifyIcon.Icon = (Icon)resources.GetObject("notifyIcon.Icon"); + notifyIcon.Text = "Oyasumi"; + notifyIcon.Visible = true; + notifyIcon.MouseClick += notifyIcon_MouseClick; + // + // contextMenuStrip + // + contextMenuStrip.Items.AddRange(new ToolStripItem[] { startTimer5m, startTimer10m, startTimer25m }); + contextMenuStrip.Name = "contextMenuStrip1"; + contextMenuStrip.Size = new Size(204, 70); + // + // startTimer5m + // + startTimer5m.Name = "startTimer5m"; + startTimer5m.Size = new Size(203, 22); + startTimer5m.Text = "im tired - 5 min"; + startTimer5m.Click += startTimer5m_Click; + // + // startTimer10m + // + startTimer10m.Name = "startTimer10m"; + startTimer10m.Size = new Size(203, 22); + startTimer10m.Text = "im getting tired - 10 min"; + startTimer10m.Click += startTimer10m_Click; + // + // startTimer25m + // + startTimer25m.Name = "startTimer25m"; + startTimer25m.Size = new Size(203, 22); + startTimer25m.Text = "im a little tired - 25 min"; + startTimer25m.Click += startTimer25m_Click; + // + // timer + // + timer.Interval = 1000; + timer.Tick += timer_Tick; + // + // timeCircle + // + timeCircle.BackColor = Color.Transparent; + timeCircle.Location = new Point(0, 0); + timeCircle.Name = "timeCircle"; + timeCircle.Size = new Size(48, 48); + timeCircle.TabIndex = 1; + timeCircle.Paint += timeCircle_Paint; + // + // Form1 + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + BackColor = Color.Black; + ClientSize = new Size(128, 128); + ControlBox = false; + Controls.Add(timeCircle); + FormBorderStyle = FormBorderStyle.None; + MaximizeBox = false; + MinimizeBox = false; + Name = "Form1"; + ShowInTaskbar = false; + Text = "Form1"; + TopMost = true; + TransparencyKey = Color.Black; + WindowState = FormWindowState.Minimized; + Load += Form1_Load; + contextMenuStrip.ResumeLayout(false); + ResumeLayout(false); + } + + #endregion + + private NotifyIcon notifyIcon; + private ContextMenuStrip contextMenuStrip; + private ToolStripMenuItem startTimer5m; + private ToolStripMenuItem startTimer25m; + private System.Windows.Forms.Timer timer; + private Panel timeCircle; + private ToolStripMenuItem startTimer10m; + } +} diff --git a/Oyasumi/Form1.cs b/Oyasumi/Form1.cs new file mode 100644 index 0000000..74f8bd4 --- /dev/null +++ b/Oyasumi/Form1.cs @@ -0,0 +1,142 @@ +using System.Diagnostics; +using System.Drawing.Drawing2D; +using System.Management; +using System.Reflection; +using System.Runtime.InteropServices; + +namespace Oyasumi +{ + public partial class Form1 : Form + { + protected override CreateParams CreateParams + { + get + { + const int WS_EX_LAYERED = 0x00080000; + + CreateParams cp = base.CreateParams; + cp.ExStyle |= WS_EX_LAYERED; + + return cp; + } + } + private void Shutdown() + { + ManagementClass mcOS = new ManagementClass("Win32_OperatingSystem"); + mcOS.Get(); + mcOS.Scope.Options.EnablePrivileges = true; + + // https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32shutdown-method-in-class-win32-operatingsystem + ManagementBaseObject mboShutdownParams = mcOS.GetMethodParameters("Win32Shutdown"); + mboShutdownParams["Reserved"] = "0"; + mboShutdownParams["Flags"] = "5"; + + foreach (ManagementObject mo in mcOS.GetInstances()) + { + mo.InvokeMethod("Win32Shutdown", mboShutdownParams, null); + } + } + + public Form1() + { + InitializeComponent(); + } + + private DateTime startAt; + private DateTime endAt; + + private void BeginCountdown(double delay) + { + if (startAt.Year != 1) + { + Util.MsgBox("There is already a countdown!!"); + return; + } + + startAt = DateTime.Now; + endAt = DateTime.Now.AddSeconds(delay); + + // show progress window + Show(); + WindowState = FormWindowState.Normal; + + // start checking + timer.Start(); + } + + private void EndCountdown() + { + timer.Stop(); + Hide(); + WindowState = FormWindowState.Minimized; + Shutdown(); + } + + private void startTimer5m_Click(object sender, EventArgs e) + { + BeginCountdown(60 * 5); + } + + private void startTimer10m_Click(object sender, EventArgs e) + { + BeginCountdown(60 * 10); + } + + private void startTimer25m_Click(object sender, EventArgs e) + { + BeginCountdown(60 * 25); + } + + private void timer_Tick(object sender, EventArgs e) + { + var totalSec = (endAt - startAt).TotalSeconds; + var remain = (endAt - DateTime.Now); + var remainSec = remain.TotalSeconds; + + if (remainSec <= 0) + { + EndCountdown(); + } + + angle = (float)(remainSec / totalSec * 360); + timeCircle.Refresh(); + } + + private float angle = 0; + + private void timeCircle_Paint(object sender, PaintEventArgs e) + { + var width = 8; + + using var pen = new Pen(Color.ForestGreen, width); + + var size = new Size(timeCircle.Size.Width - width * 2 - 1, timeCircle.Size.Height - width * 2 - 1); + var point = new Point(width, width); + + var area = new Rectangle(point, size); + + e.Graphics.SmoothingMode = SmoothingMode.HighQuality; + e.Graphics.DrawArc(pen, area, 270, angle); + } + + private void Form1_Load(object sender, EventArgs e) + { + var bounds = Screen.FromControl(this).Bounds; + + var x = bounds.Width - (int)(bounds.Width * .04) - timeCircle.Width; + var y = bounds.Height - (int)(bounds.Height * .14) - timeCircle.Height; + + Location = new Point(x, y); + } + + private void notifyIcon_MouseClick(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + { + MethodInfo? mi = typeof(NotifyIcon).GetMethod("ShowContextMenu", BindingFlags.Instance | BindingFlags.NonPublic); + if (mi == null) return; + mi.Invoke(notifyIcon, null); + } + } + } +} diff --git a/Oyasumi/Form1.resx b/Oyasumi/Form1.resx new file mode 100644 index 0000000..bf5d331 --- /dev/null +++ b/Oyasumi/Form1.resx @@ -0,0 +1,460 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 131, 17 + + + + + AAABAAgAHx8AAAEAIADDDwAAhgAAAB8fAAABAAgAnwgAAEkQAAAgIAAAAQAgAKgQAADoGAAAICAAAAEA + CACoCAAAkCkAABgYAAABACAAiAkAADgyAAAYGAAAAQAIAMgGAADAOwAAEBAAAAEAIABoBAAAiEIAABAQ + AAABAAgAaAUAAPBGAAAoAAAAHwAAAD4AAAABACAAAAAAAAgeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////4k///+JP///iT7//4g9//+IPf//iD3//4g9//+I + PP//iDz//4c7//+HO///hzv//4Y6////////hjn//4Y5//+FOf//hTj//4U4//+FN///hTf//4Q3//+E + Nv//hDb//4M1//+DNf//gzX///////////////////////+PSP//j0f//45H//+OR///jkb//45G//+O + Rf//jkX//41F//+NRP//jUT//4xD//+MQ////////4xD//+LQv//i0H//4tB//+LQf//i0H//4pA//+K + QP//ij///4k///+JP///iT7//4k+////////////////////////lVH//5VR//+UUP//lE////////// + //////////////+TTf//k03//5JN//+STf//kkz///////+RS///kUv//5FL//+QSv////////////// + /////////49I//+PSP//j0f//49H//+OR///////////////////////////////////mln//5pZ//+Z + WP//mVj/////////////////////////////////////////////l1T//5dU//+WU///llP///////// + /////////////////////////5VR//+UUP//lFD//////////////////////////////////6Bi//+f + Yf//n2H//59h/////////////////////////////////////////////51d//+cXf//nF3//5xc//// + //////////////////////////////+aWf//mln//5pZ////////////AAAAAAAAAAD///////////// + ////pWv//6Vq//+lav//pGn//6Rp/////////////////////////////////////////////6Jl//+i + Zf//oWX//6Fl//////////////////////////////////////////////////////////////////// + /////////6tz//+rc///qnP//6py//+qcv////////////////////////////////////////////+o + b///p27//6du//+nbf////////////////////////////////////////////////////////////// + /////////////////////////7B8//+we///r3v//697//////////////////////////////////// + /////////613//+td///rHb//6x2//+sdf////////////////8AAAAAAAAAAAAAAAAAAAAA//////// + ////t4f//7eG//+3hv//toX//////////////////7WE//+1g///tYP//7SD//////////////////// + /////////////////////////7J///+yf///sn///7J+//////////////////////8AAAAAAAAAAP// + /////////72P//+9j///vI///7yP//////////////////+7jf//u43//7qM//+6jP////////////// + //////////////////////////////+4iP//uIj//7eH//+3h///////////////////////AAAAAAAA + AAD////////////Cmf//wpj//8KY///Cl///wZf//8GX///Blv//wZb//8CV///Alf//wJX//8CU///A + lP////////////////////////////////////////////+9kf//vZD//72Q//+9j/////////////// + ////////////////////yKH//8ih///Iof//yKH//8eg///Hn///x5///8af///Gn///xp7//8Wd///F + nf//xZ3/////////////////////////////////////////////w5n//8OZ///Cmf//wpj///////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////y6X//8ql///Kpf/////////////////////////////Iov//yKH//8ih///I + of//yKH///////////////////////////////////////////////////////////////////////// + /////////////////////////9Cu///Qrv//0K3//8+t////////////////////////zqv//86r///N + qv//zar//82p////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD////////////Wt///1rf//9W2///Vtv///////////////////////9S0///T + s///07P//9Oz///Ts////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////////////28D//9u////bv///27///9u////avv//2r7//9q9///Z + vf//2b3//9m8///ZvP//2Lv///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////+HJ///hyf//4cj//+HI///gx///4Mf//+DH///f + xv//38b//9/F///fxf//3sX//97F////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////// + /////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////// + //////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + //7////+/////v////7////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAHgAA + AAYAAAAGAAAAAAAAAAAAAAAAAAAAAP/8AAD//AAA//wAAP/8AAD//AAA/////v////7////+/////v// + //4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAHwAAAD4AAAABAAgAAAAAAIIHAAAAAAAAAAAA + AAAAAAAAAAAA/4M1//+ENv//hDf//4U3//+FOP//hTn//4Y5//+GOv//hzv//4g8//+IPf//iT7//4k/ + //+KP///ikD//4tB//+LQv//jEP//41E//+NRf//jkX//45G//+OR///j0f//49I//+QSv//kUv//5JM + //+STf//k03//5RP//+UUP//lVH//5ZT//+XVP//mVj//5pZ//+cXP//nF3//51d//+fYf//oGL//6Fl + //+iZf//pGn//6Vq//+la///p23//6du//+ob///qnL//6pz//+rc///rHX//6x2//+td///r3v//7B7 + //+wfP//sn7//7J///+0g///tYP//7WE//+2hf//t4b//7eH//+4iP//uoz//7uN//+8j///vY///72Q + //+9kf//wJT//8CV///Blv//wZf//8KX///CmP//wpn//8OZ///Fnf//xp7//8af///Hn///x6D//8ih + ///Iov//yqX//8ul///Nqf//zar//86r///Prf//0K3//9Cu///Ts///1LT//9W2///Wt///2Lv//9m8 + ///Zvf//2r3//9q+///bv///28D//97F///fxf//38b//+DH///hyP//4cn//////wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA + /wAAAP8AAAD/AAAA/3JycnJycnJycnJycnJycnJycnJycnJycnJycnJycnIAcnJycnJycnJycnJycnJy + cnJycnJycnJycnJycnJycgBycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJyAHJycnJycnJycnJy + cnJycnJycnJycnJycnJycnJycnIAcnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycgBycnJycnJy + cnJycnJycnJycnJycnJycnJycnJycnJyAHJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnIAcnIM + DAsKCgoKCQkICAgHcgYGBQQEAwMCAQEAAABycgBychgXFhYVFRQUExISERFyERAPDw8PDg4NDAwLC3Jy + AHJyICAfHnJycnIdHRwcG3IaGhoZcnJychgYFxcWcnIAcnJyciQkIyNycnJycnJyciIiISFycnJycnIg + Hx9ycgBycnJyKSgoKHJycnJycnJyJyYmJXJycnJyciQkJHJyAHJycnJyLi0tLCxycnJycnJycisrKipy + cnJycnJycnIAcnJycnI0NDMyMnJycnJycnJyMTAwL3JycnJycnJycgBycnJycnJyOjk4OHJycnJycnJy + Nzc2NjVycnJycnJyAHJyQkFBQHJycj8+Pj1ycnJycnJycjw8PDtycnJycnIAcnJHR0ZGcnJyRUVERHJy + cnJycnJyQ0NCQnJycnJycgByclBPT05NTUxMS0tLSkpycnJycnJycklISEdycnJyAHJyV1dXV1ZVVVRU + U1JSUnJycnJycnJyUVFQT3JycnIAcnJycnJycnJycnJycnJyclpZWXJycnJyWFdXV1dycgBycnJycnJy + cnJycnJycnJyYGBfXnJycnJdXVxcW3JyAHJycnJycnJycnJycnJycnJkZGNjcnJycmJhYWFhcnIAcnJy + cnJycnJycnJycnJycmtqampqaWloZ2dmZmVycgBycnJycnJycnJycnJycnJycXFwcG9vb25ubW1sbHJy + AHJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnIAcnJycnJycnJycnJycnJycnJycnJycnJycnJy + cnJycgBycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJyAHJycnJycnJycnJycnJycnJycnJycnJy + cnJycnJycnIAcnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycgBycnJycnJycnJycnJycnJycnJy + cnJycnJycnJycnJyAHJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnIA/////v////7////+//// + /v////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAeAAAABgAAAAYAAAAAAAAA + AAAAAAAAAAAA//wAAP/8AAD//AAA//wAAP/8AAD////+/////v////7////+/////gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAQAAAAAEAIAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+0/7+/tP+/v7T/v7+0/7+/tP+/v7T + /v7+0/7+/tP+/v7T/v7+0/7+/tP+/v7T/v7+0/7+/tP+/v7T/v7+0/7+/tP+/v7T/v7+0/7+/tP+/v7T + /v7+0/7+/tP+/v7T/v7+0/7+/tP+/v7T/v7+0/7+/tP+/v7T/v7+0/7+/tP///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /6x3//+lbP//pWv//6Rr//+kav//pGr//6Rq//+kav//pGr//6Np//+jaf//o2n//6No///Stv//0rb/ + /6Jn//+iZ///omf//6Jn//+iZv//omb//6Fm//+hZv//oWX//6Fl//+gZP//oGT//6dw//////////// + ////////////llT//41F//+NRf//jET//4xE//+MRP//jEP//4xD//+MQ///i0L//4tC//+LQf//ikH/ + /8aj///Go///ikD//4o///+JP///iT///4k///+JPv//iT7//4g9//+IPf//iD3//4c8//+HPP//kUv/ + //////////////////////+cXP//k07//5JN//+STf//zq///93I///dyP//3cj//6p0//+RSv//kUr/ + /5BK//+QSv//yaf//8mn//+PSP//j0j//49I//+rdf//3cf//9zG///cxv//yqj//41F//+NRf//jUX/ + /41E//+VU////////////////////////9/K///cxv//omb//5hW//+zg///uo///+3h////////59j/ + /9zF///bxf//28X//9vE///u4v//zKv//5VR//+VUf//lFD//7qP///////////////////28f//2sP/ + /86v//+TTv//kk3//5tb//////////////////////////////////+rdf//nV7//51e//+dXv//5dT/ + ///////////////////////////////////////Or///m1r//5pa//+aWf//vpT///////////////// + ////////////7eL//5hW//+YVv//oGP////////////+/v5k/v7+ZP7+/vP//////9/K//+sd///o2f/ + /6Nm//++k///x6T//+3h/////////////////////////////+zg///YwP//wJj//6Bi//+teP//xqH/ + /9e9///////////////////49P//177//9e+///bw/////////////7+/pP+/v6T/v7+9/////////// + /7eI//+ob///qG///6hu//+nbv//4s/////////////////////////////////////////ZwP//pWv/ + /6Vq//+kav//v5b///////////////////////////////////////////////////////////////// + ////////////38r//9nA//+3if//rXf//613///Hov//7+X///////////////////////////////// + /+7j///GoP//qnP//6pz//+2hv//0rT//9zF/////////////v7+6/7+/nT+/v50/v7+dP7+/nT///// + ///////dxv//2sH//9rB///ZwP//9/L//+LO///Zv///vpL//7J////LqP//2L///+/k//////////// + /////////////////+/l///Xvf//yqf//697//+vev//uIr//9/K///////+/v7u/v7+g/7+/nkAAAAA + AAAAAP///////////7+U//+6iv//uYr//7mK///x5//////////////NrP//uIj//7iI//+3h///4cz/ + ///////////////////////////////////////n1v//tYP//7WD//+0g///xJz///////////////// + /v7+6wAAAAAAAAAA////////////xJz//7+T//+/k///v5P//9zD///j0P//48///8mk//+9kf//vZD/ + /72Q///StP//4s7///Hn//////////////////////////////Lq///Yvv//0LD//7qL///CmP//4c3/ + /+XT///////+/v70/v7+dP7+/nT////////////JpP//xJz//8Sc///Em///xJv//8Oa///Dmv//w5r/ + /8OZ///Cmf//wpn//8KY///CmP//4c3////////////////////////////////////////u4///v5T/ + /7+U//+/lP//yKL//////////////////////////////////+DK///dxv//3cb//93G///dxf//3cX/ + /93E///cxP//3MT//9zE///cw///3MP//9zD///u4v//9e7//+rc///q3P//8ur///////////////// + //Xu///VuP//xZz//8Sc///KpP//6dr//+vd//////////////////////////////////////////// + ///////////////////////////////////////////////////////n1f//zKj//8yo///Zvv//9Oz/ + //////////////////Pq///Kpf//yqT//8qk///KpP//zqv////////////+/v6r/v7+q/7+/qv+/v6r + /v7+q/7+/qv+/v6r/v7+q/7+/qv+/v6r/v7+q/7+/qv+/v6r/v7+q/7+/tn//////+nZ///Ssf//0rD/ + /9Gw///hzP//////////////////9Oz//9Cu///Prf//z63//8+t///Ts////////////wAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+i///////7N3/ + /9e5///Xuf//17n//+HL///07P//9Oz///Ts///t3///1bb//9W2///Vtv//1bb//9i7//////////// + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v6L + ///////u4v//3cL//93B///dwf//3MH//9zB///cwP//28D//9u////bv///27///9u+///avv//3MP/ + //////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP7+/ov///////Tr///o1v//6NX//+jV///o1f//59T//+fU///n1P//5tP//+bT///m0///5tP/ + /+bT///o1v///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAA/v7+i/////////////////////////////////////////////////////////// + ////////////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD+/v5z/v7+0/7+/tP+/v7T/v7+0/7+/tP+/v7T/v7+0/7+/tP+/v7T + /v7+0/7+/tP+/v7T/v7+0/7+/tP+/v7T/v7+0/7+/tMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAA//////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + wAAAAAAAAAAAAAAPAAAABwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAP/8AAD//AAA//wAAP/8AAD//gAA + //////////////////////////8oAAAAIAAAAEAAAAABAAgAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAA + /4M1//+ENv//hDf//4U3//+FOP//hTn//4Y5//+GOv//hzv//4g8//+IPf//iT7//4k///+KP///ikD/ + /4tB//+LQv//jEP//41E//+NRf//jkX//45G//+OR///j0f//49I//+QSv//kUv//5JM//+STf//k03/ + /5RP//+UUP//lVH//5ZT//+XVP//mVj//5pZ//+cXP//nF3//51d//+fYf//oGL//6Fl//+iZf//pGn/ + /6Vq//+la///p23//6du//+ob///qnL//6pz//+rc///rHX//6x2//+td///r3v//7B7//+wfP//sn7/ + /7J///+0g///tYP//7WE//+2hf//t4b//7eH//+4iP//uoz//7uN//+8j///vY///72Q//+9kf//wJT/ + /8CV///Blv//wZf//8KX///CmP//wpn//8OZ///Fnf//xp7//8af///Hn///x6D//8ih///Iov//yqX/ + /8ul///Nqf//zar//86r///Prf//0K3//9Cu///Ts///1LT//9W2///Wt///2Lv//9m8///Zvf//2r3/ + /9q+///bv///28D//97F///fxf//38b//+DH///hyP//4cn//////wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/3JycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy + cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy + cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy + cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnIMDAsKCgoKCQkI + CAgHcnIGBgUEBAMDAgEBAAAAcnJychgXFhYVFRQUExISERFychEQDw8PDw4ODQwMCwtycnJyICAfHnJy + cnIdHRwcG3JyGhoaGXJycnIYGBcXFnJycnJyciQkIyNycnJycnJycnIiIiEhcnJycnJyIB8fcnJycnJy + KSgoKHJycnJycnJycicmJiVycnJycnIkJCRycnJycnJyLi0tLCxycnJycnJycnIrKyoqcnJycnJycnJy + cnJycnI0NDMyMnJycnJycnJycjEwMC9ycnJycnJycnJycnJycnJyOjk4OHJycnJycnJycjc3NjY1cnJy + cnJycnJyQkFBQHJycj8+Pj1ycnJycnJycnI8PDw7cnJycnJycnJCQUFAcnJyPz4+PXJycnJycnJycjw8 + PDtycnJycnJyckdHRkZycnJFRUREcnJycnJycnJyQ0NCQnJycnJycnJyUE9PTk1NTExLS0tKSnJycnJy + cnJycklISEdycnJycnJXV1dXVlVVVFRTUlJScnJycnJycnJyUVFQT3JycnJycnJycnJycnJycnJycnJy + clpZWXJycnJyWFdXV1dycnJycnJycnJycnJycnJycnJyYGBfXnJycnJdXVxcW3JycnJycnJycnJycnJy + cnJycnJkZGNjcnJycmJhYWFhcnJycnJycnJycnJycnJycnJycmtqampqaWloZ2dmZmVycnJycnJycnJy + cnJycnJycnJycXFwcG9vb25ubW1sbHJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy + cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy + cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy + cnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJy + cnJycnJycnL//////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAA + AAAAAAAAAA8AAAAHAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAA//wAAP/8AAD//AAA//wAAP/+AAD///// + /////////////////////ygAAAAYAAAAMAAAAAEAIAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8F////Bf///wX///8F + ////Bf///wX///8F////Bf///wX///8F////Bf///wX///8F////Bf///wX///8F////Bf///wX///8F + ////Bf///wX///8F////Bf///wX///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /+DM//+4i///uIr//7eK//+3iv//t4r//7eJ//+3if//ton//7aJ///Qsv//0LL//7aH//+1h///tYf/ + /7WG//+1hv//tYb//7WG//+0hf//tIX//97K/////////////86u//+ORv//jUb//41G//+NRf//jUT/ + /41E//+MRP//jEP//4tC//+0hf//tIX//4tB//+KQP//ikD//4pA//+JP///iT///4k+//+IPv//iD3/ + /8uq/////////////9nB//+pcv//lVL//7B9///s4P///fz//+7k//+nbv//p27//6Zu///Gof//uYz/ + /5JN//+STP//yqn/////////////28T//6Rq//+RSv//kEn//86v////////////////////////nV3/ + /5xd//+cXP//9e7/////////////////////////////vpP//5lY//+ZWP//zq////////////////// + //////+aWP//l1T//9G0///////+/v46/v7+kP//////6Nn//6Ro//+kaP//t4j//8ah//////////// + ////////////8Of//+ja//+hY///rHb//7aI///////////////////o2v//6Nn///Xu//////////// + /////////////fz//7B8//+td///qnP//7mL///8+/////////////////////////////+sdv//p2// + /6du///69v///Pr////////////+/v7v/v7+7/7+/u////////Ts///l1P//5dT//+3h///gzP//zKr/ + /7F+///Kp///5NP////////////////////////z6///yqf//7OC//+uef//w5z///bx///////+/v5a + ////KAAAAAD//////+HN//+7jP//uoz//8+w/////////////7mK//+5if//uIn///////////////// + /////////////////8Sc//+2hf//tYT//+jY/////////////v7+cAAAAAD//////+TS///CmP//wpf/ + /8OZ///Fnf//xZ3//8CV///AlP//wJT//8Sb///Zvv////////////////////////v5///07f//vZD/ + /8CV///Blv///////v7+9v7+/u///////+zf///Vtv//1bb//9S2///Utf//1LX//9O1///Ttf//0rT/ + /9Kz///izv//9/L///Pq///27//////////////69///zKj//8Sb///Dmv//8un///n2//////////// + ////////////////////////////////////////////////////////////38j//82q///Ts///8+r/ + ////////////6tz//8um///Lpv//y6b//+jY//////////8w////MP///zD///8w////MP///zD///8w + ////MP///zD///8w/v7+Pf//////5M///9W1///UtP//6tv/////////////7eH//9Ky///Ssf//0rH/ + /+vd//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////EP//////6Nf/ + /9zA///cwP//3MD//9u////bv///2r7//9q+///avf//2b3//+7i//////8AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////EP//////8+r//+3e///t3v//7d3//+zd///s3f//7N3/ + /+zc///s3P//69z///bw//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ////EP////////////////////////////////////////////////////////////////////8AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wX///8F////Bf///wX///8F + ////Bf///wX///8F////Bf///wX///8F////Bf///wUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA + AAAAAAAABwAAAAMAAAAAAAAAAAAAAAAA/+AAAP/gAAD/4AAA/+AAAP///wD///8A////AP///wAoAAAA + GAAAADAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAAAAAAAAAAA/4g9//+IPv//ikD//4pB//+LQv//jEP/ + /41E//+NRv//jkX//45G//+OR///j0j//5BJ//+QSv//kk3//5RP//+XVP//mFb//5lY//+cXP//nF3/ + /6Bj//+jZ///o2j//6Vr//+mbf//p27//6hv//+rc///rHf//655//+ue///r3v//7B9//+wfv//sX7/ + /7J///+ygP//tYT//7aE//+2hv//t4r//7iI//+4if//uYn//7iK//+4i///uov//7iM//+5jP//uY3/ + /7qN//+7jP//uo7//7qP//+8kP//vJL//72S//+/lP//wJX//8GX///Cl///wZn//8Sb///EnP//xZ3/ + /8ii///JpP//yaX//8mn///Kpf//y6X//8um///Lp///yqn//8uo///Nqv//zav//86r///MrP//zaz/ + /82t///Nrv//zq3//86u///PsP//0bH//9Cy///Ssf//0rT//9S0///Utf//1Lb//9S4///Uuf//1rn/ + /9a6///Wu///17v//9i8///Zvf//2r7//9vA///bxf//3MD//9zB///cwv//3cL//9zG///eyP//3sn/ + /9/I///eyv//4Mv//+HL///gzf//4s///+PQ///l0f//5dP//+XU///l1f//5tT//+fW///p2f//6dr/ + /+rb///q3f//7N3//+ze///s3///7d7//+3f///u3///7eD//+3h///u4P//7uH//+7i///v5P//7+X/ + //Dl///w5///8un///Lq///z6v//9Oz///Tt///27///9vD///bx///38f//9/L///jz///49P//+vf/ + //37///9/P//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ6enp6enp6e + np2enp6enp2enp6enp6enZ6enp6enZ2dnZ2dnp2enZ6enp6enZ6dnp5zNjgwNjYwNjYwXl4wMDAwKTAw + KSlwnZ5RCwcKDQ0NAwMDMDADAwQHBwMBAQFFnZ5nIhEieZt/Hx8fUjgODkqdnWwdDw1SnZ6enhkUFH+b + nZ2dnT4SElKdnZ2dGRFSnZ6enXAXFzBSm5udnYdwFSI4nZ2deXOQm56enZYpHx02lpqbm52aJRkZjJad + nZ2Qf56QdHl/eVIiRXOWm5udjE8oHz6TnZ2QAJ5zMDBSlpYwMDCWlpubnZ1FJSl5m5udAJ1zPj5FSko4 + OD5KcJaampuWfzY+SpqbnZ1/Z15eXl5eXl5eeZaMkJabllI+RYyWm5uWjo6Ojo6Ojo6QlnNSXpCWmn9K + SkV5m3BnZ2dnZ2dnZ3mOkHNeUn+Wln9XUl55mwAAAAAAAAAAAABwjn9nZ2dnZ2deZ16OmgAAAAAAAAAA + AABwjo5/f39/f39/f3+OlgAAAAAAAAAAAABwf46Ojo6Ojo6Ojo6OlgAAAAAAAAAAAAA4Z2dnZ2dnZ2dn + Z2dneQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAA + AAAHAAAAAwAAAAAAAAAAAAAAAAD/4AAA/+AAAP/gAAD/4AAA////AP///wD///8A////ACgAAAAQAAAA + IAAAAAEAIAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/lj+/v5Y/v7+WP7+/lj+/v5Y + /v7+WP7+/lj+/v5Y/v7+WP7+/lj+/v5Y/v7+WP7+/lj+/v5Y/v7+WP7+/lj//////97J///eyf//3cj/ + /93I///dyP//3cj//97J///eyf//3cf//93H///dx///3Mb//9zG///cxv////////////+QSv//j0n/ + /6du//+nbv//jkf//45G//+RS///kUv//4xD//+hZP//pGr//5JM//+KQf//ikD///////////////// + /5ta//+aWf///////////////////////5tb//+XVf//7+T/////////////uo7//5VR//////////8Y + ///////gzP//pWv//6Vq////////////////////////q3T//6Jm///r3f////////////////////// + ///////9+////fv//+nb//+yfv//u4////37//////////////////+we///rHb//+bV//////////8I + AAAAAP//////vY///7yP////////8Ob//7uN///Alv///////////////////////7iI//+3h/////// + /////wAAAAD//////8eg///HoP//xp///8ae///Fnv//xJz//8af////////////////////////wpj/ + /8GX////////////////////////////////////////////////////////0a///8+s///59P////// + /9vC///Mqf//zKj//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////9vA///avf//4cr/ + /+LM///bwP//2Lr//9e6//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////38P//9+// + //bv///27///9u////bv///27///////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/lj+/v5Y + /v7+WP7+/lj+/v5Y/v7+WP7+/lj+/v5Y/v7+WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAP//AAD//wAAAAAAAAAAAAAAAAAA + gAAAAAADAAAAAQAAAAAAAAAAAAD+AAAA/gAAAP//AAD//wAA//8AACgAAAAQAAAAIAAAAAEACAAAAAAA + AAIAAAAAAAAAAAAAAAAAAAAAAAD/ikH//4xE//+ORv//j0n//5RQ//+VUf//l1X//5hX//+aWv//oGP/ + /6Vr//+nbv//qnP//6p1//+rdf//r3v//7KA//+ygf//s4P//7WF//+1hv//uIn//7mL//+6jP//uo7/ + /7yO//+8kP//vZD//72T//+/k///xJ3//8Wd///Gn///yqb//82p///Oq///zaz//8+u///Pr///z7H/ + /9Cv///QsP//0LH//9Gw///Qsv//0LP//9Gz///Ssv//0rP//9G0///Tt///2Lr//9i8///avf//2sL/ + /9vC///cwv//3MX//9zG///exf//3sf//93I///gy///48///+TO///k0v//5dT//+jW///p2v//7N// + /+zg///t4f//7eL//+7k///w5///8ef///Ho///z6P//8+n///Lq///z6v//8+z///Ts///07f//9e3/ + //bv///28P//9/H///fy///49P//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ + AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaWlpZ + WVlZWVlZWVlZWVlaWjItLS0tLT09Jy0nLSctWloEAxESBAENDQANEggAAVpaSgkNUUlJURIHPVlRGAdZ + WlktChJJUVFRFA1CWVFIWlpGQTYYJ0hKUUYcGD1YWVlaHBhGOhInSUpRUR4cSlhZWS0nJycnJzJJSVFR + Hh5KWT09Ojo6OkJJPS1JSj0nJ1gAAAAAAAAAPT0yPUI9LTZRAAAAAAAAAD1GRkZGRkZGSgAAAAAAAAAc + PTo6Ojo6OkIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA//8AAAAAAAAAAAAA + AAAAAIAAAAAAAwAAAAEAAAAAAAAAAAAA/gAAAP4AAAD//wAA//8AAP//AAA= + + + + 286, 17 + + \ No newline at end of file diff --git a/Oyasumi/Oyasumi.csproj b/Oyasumi/Oyasumi.csproj new file mode 100644 index 0000000..50d74f2 --- /dev/null +++ b/Oyasumi/Oyasumi.csproj @@ -0,0 +1,32 @@ + + + + WinExe + net8.0-windows + enable + true + enable + true + win-x64 + + + + + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + \ No newline at end of file diff --git a/Oyasumi/Program.cs b/Oyasumi/Program.cs new file mode 100644 index 0000000..8bfee65 --- /dev/null +++ b/Oyasumi/Program.cs @@ -0,0 +1,25 @@ +namespace Oyasumi +{ + internal static class Program + { + static Mutex mutex = new Mutex(false, "{5665b432-130a-43d3-a99b-811134229201}"); + + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + if (!mutex.WaitOne(TimeSpan.Zero)) + { + Util.MsgBox("An oyasumi instance is already open"); + return; + } + + // To customize application configuration such as set high DPI settings or default font, + // see https://aka.ms/applicationconfiguration. + ApplicationConfiguration.Initialize(); + Application.Run(new Form1()); + } + } +} \ No newline at end of file diff --git a/Oyasumi/Properties/Resources.Designer.cs b/Oyasumi/Properties/Resources.Designer.cs new file mode 100644 index 0000000..ee0c28d --- /dev/null +++ b/Oyasumi/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 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 Oyasumi.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.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 (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Oyasumi.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/Oyasumi/Properties/Resources.resx b/Oyasumi/Properties/Resources.resx new file mode 100644 index 0000000..29dcb1b --- /dev/null +++ b/Oyasumi/Properties/Resources.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/Oyasumi/Util.cs b/Oyasumi/Util.cs new file mode 100644 index 0000000..f37a763 --- /dev/null +++ b/Oyasumi/Util.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Oyasumi +{ + internal class Util + { + public static void MsgBox(string str) + { + MessageBox.Show(str, "Oyasumi", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification); + } + } +} diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000..7e835be Binary files /dev/null and b/assets/icon.png differ