From f617b7eb8ea5bcc9883683bb824f7bcbf29d1f2e Mon Sep 17 00:00:00 2001 From: CreepyCrafter24 <33260128+CreepyCrafter24@users.noreply.github.com> Date: Fri, 6 Sep 2019 20:45:42 +0200 Subject: [PATCH] first commit --- .gitignore | 512 +++++++++ README.md | 1 + Resizor.sln | 31 + Resizor/App.config | 21 + Resizor/Immediate Resize.Designer.cs | 80 ++ Resizor/Immediate Resize.cs | 116 ++ Resizor/Immediate Resize.resx | 120 +++ Resizor/Program.cs | 123 +++ Resizor/Properties/AssemblyInfo.cs | 36 + Resizor/Properties/Resources.Designer.cs | 73 ++ Resizor/Properties/Resources.resx | 1253 ++++++++++++++++++++++ Resizor/Properties/Settings.Designer.cs | 50 + Resizor/Properties/Settings.settings | 12 + Resizor/Resizor.csproj | 105 ++ Resizor/Resizor.ico | Bin 0 -> 67646 bytes Resizor/SettingsForm.Designer.cs | 174 +++ Resizor/SettingsForm.cs | 90 ++ Resizor/SettingsForm.resx | 120 +++ 18 files changed, 2917 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 Resizor.sln create mode 100644 Resizor/App.config create mode 100644 Resizor/Immediate Resize.Designer.cs create mode 100644 Resizor/Immediate Resize.cs create mode 100644 Resizor/Immediate Resize.resx create mode 100644 Resizor/Program.cs create mode 100644 Resizor/Properties/AssemblyInfo.cs create mode 100644 Resizor/Properties/Resources.Designer.cs create mode 100644 Resizor/Properties/Resources.resx create mode 100644 Resizor/Properties/Settings.Designer.cs create mode 100644 Resizor/Properties/Settings.settings create mode 100644 Resizor/Resizor.csproj create mode 100644 Resizor/Resizor.ico create mode 100644 Resizor/SettingsForm.Designer.cs create mode 100644 Resizor/SettingsForm.cs create mode 100644 Resizor/SettingsForm.resx diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4a4d13c --- /dev/null +++ b/.gitignore @@ -0,0 +1,512 @@ + +# Created by https://www.gitignore.io/api/csharp,visualstudio +# Edit at https://www.gitignore.io/?templates=csharp,visualstudio + +### Csharp ### +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# 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/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# 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/ + +# 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 +*.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 + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# 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 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/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +### VisualStudio ### + +# User-specific files + +# User-specific files (MonoDevelop/Xamarin Studio) + +# Mono auto generated files + +# Build results + +# Visual Studio 2015/2017 cache/options directory +# Uncomment if you have tasks that create the project's static files in wwwroot + +# Visual Studio 2017 auto generated files + +# MSTest test Results + +# NUnit + +# Build Results of an ATL Project + +# Benchmark Results + +# .NET Core + +# StyleCop + +# Files built by Visual Studio + +# Chutzpah Test files + +# Visual C++ cache files + +# Visual Studio profiler + +# Visual Studio Trace Files + +# TFS 2012 Local Workspace + +# Guidance Automation Toolkit + +# ReSharper is a .NET coding add-in + +# JustCode is a .NET coding add-in + +# TeamCity is a build add-in + +# DotCover is a Code Coverage Tool + +# AxoCover is a Code Coverage Tool + +# Visual Studio code coverage results + +# NCrunch + +# MightyMoose + +# Web workbench (sass) + +# Installshield output folder + +# DocProject is a documentation generator add-in + +# Click-Once directory + +# Publish Web Output +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted + +# 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 + +# NuGet Packages +# NuGet Symbol Packages +# The packages folder can be ignored because of Package Restore +# except build/, which is used as an MSBuild target. +# Uncomment if necessary however generally it will be regenerated when needed +# NuGet v3's project.json files produces more ignorable files + +# Microsoft Azure Build Output + +# Microsoft Azure Emulator + +# Windows Store app package directories and files + +# Visual Studio cache files +# files ending in .cache can be ignored +# but keep track of directories ending in .cache + +# Others + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) + +# RIA/Silverlight projects + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) + +# SQL Server files + +# Business Intelligence projects + +# Microsoft Fakes + +# GhostDoc plugin setting file + +# Node.js Tools for Visual Studio + +# Visual Studio 6 build log + +# Visual Studio 6 workspace options file + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) + +# Visual Studio LightSwitch build output + +# Paket dependency manager + +# FAKE - F# Make + +# CodeRush personal settings + +# Python Tools for Visual Studio (PTVS) + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio + +# Telerik's JustMock configuration file + +# BizTalk build output + +# OpenCover UI analysis results + +# Azure Stream Analytics local run output + +# MSBuild Binary and Structured Log + +# NVidia Nsight GPU debugger configuration file + +# MFractors (Xamarin productivity tool) working folder + +# Local History for Visual Studio + +# BeatPulse healthcheck temp database + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 + +# End of https://www.gitignore.io/api/csharp,visualstudio diff --git a/README.md b/README.md new file mode 100644 index 0000000..ca3c8b8 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Resizor diff --git a/Resizor.sln b/Resizor.sln new file mode 100644 index 0000000..75f29c7 --- /dev/null +++ b/Resizor.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29230.47 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Resizor", "Resizor\Resizor.csproj", "{EED8B478-D539-41D2-9A39-8349099B298A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CC-Functions.W32", "..\CC-Functions.W32\CC-Functions.W32\CC-Functions.W32.csproj", "{CAE1CDB1-057D-4A4C-80D1-A7912715B79C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EED8B478-D539-41D2-9A39-8349099B298A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EED8B478-D539-41D2-9A39-8349099B298A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EED8B478-D539-41D2-9A39-8349099B298A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EED8B478-D539-41D2-9A39-8349099B298A}.Release|Any CPU.Build.0 = Release|Any CPU + {CAE1CDB1-057D-4A4C-80D1-A7912715B79C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CAE1CDB1-057D-4A4C-80D1-A7912715B79C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CAE1CDB1-057D-4A4C-80D1-A7912715B79C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CAE1CDB1-057D-4A4C-80D1-A7912715B79C}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {FB20C0F5-E59B-4A0C-ACDB-485EC38AC6C4} + EndGlobalSection +EndGlobal diff --git a/Resizor/App.config b/Resizor/App.config new file mode 100644 index 0000000..227ccb0 --- /dev/null +++ b/Resizor/App.config @@ -0,0 +1,21 @@ + + + + +
+ + + + + + + + + NumPad4 + + + 4, 4 + + + + \ No newline at end of file diff --git a/Resizor/Immediate Resize.Designer.cs b/Resizor/Immediate Resize.Designer.cs new file mode 100644 index 0000000..b3b8f0e --- /dev/null +++ b/Resizor/Immediate Resize.Designer.cs @@ -0,0 +1,80 @@ +namespace Resizor +{ + partial class immResize + { + /// + /// 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() + { + this.forcePos = new System.Windows.Forms.CheckBox(); + this.SuspendLayout(); + // + // forcePos + // + this.forcePos.AutoSize = true; + this.forcePos.BackColor = System.Drawing.Color.Black; + this.forcePos.ForeColor = System.Drawing.Color.White; + this.forcePos.Location = new System.Drawing.Point(12, 12); + this.forcePos.Name = "forcePos"; + this.forcePos.Size = new System.Drawing.Size(93, 17); + this.forcePos.TabIndex = 0; + this.forcePos.Text = "Force Position"; + this.forcePos.UseVisualStyleBackColor = false; + this.forcePos.CheckedChanged += new System.EventHandler(this.ForcePos_CheckedChanged); + // + // immResize + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.White; + this.ClientSize = new System.Drawing.Size(800, 450); + this.ControlBox = false; + this.Controls.Add(this.forcePos); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "immResize"; + this.Opacity = 0.5D; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.Text = "Form1"; + this.TopMost = true; + this.WindowState = System.Windows.Forms.FormWindowState.Maximized; + this.Load += new System.EventHandler(this.Form1_Load); + this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); + this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseDown); + this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseMove); + this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseUp); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.CheckBox forcePos; + } +} + diff --git a/Resizor/Immediate Resize.cs b/Resizor/Immediate Resize.cs new file mode 100644 index 0000000..63f467b --- /dev/null +++ b/Resizor/Immediate Resize.cs @@ -0,0 +1,116 @@ +using System; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; +using CC_Functions.W32; +using Resizor.Properties; + +namespace Resizor +{ + public partial class immResize : Form + { + bool down; + Point startP; + Wnd32 window; + Rectangle prevR; + Rectangle screen = Screen.PrimaryScreen.WorkingArea; + public immResize() + { + prevR = new Rectangle(); + window = Wnd32.foreground(); + InitializeComponent(); + Rectangle tmp = window.position; + forcePos.Location = new Point(tmp.X + tmp.Width / 2 - forcePos.Width / 2, tmp.Y); + forcePos.Checked = Program.ctx.windowSizeSetters.Where(Window => Window.Window == window).ToArray().Length > 0; + } + + private void Form1_Load(object sender, EventArgs e) + { + Wnd32 self = Wnd32.fromForm(this); + self.MakeOverlay(); + if (self != window) + self.isForeground = true; + } + private void Form1_Paint(object sender, PaintEventArgs e) + { + Graphics g = e.Graphics; + PointF divisor = Settings.Default.ResizeDividor; + Rectangle rect; + if (down) + rect = FRect(); + else + rect = CRect(); + g.FillRectangle(new SolidBrush(Color.LightBlue), rect); + Pen gridPen = new Pen(Color.Black, 2); + PointF div = getDiv(); + for (int x = 0; x < divisor.X; x++) + { + g.DrawLine(gridPen, x * div.X, 0, x * div.X, screen.Height); + } + for (int y = 0; y < divisor.Y; y++) + { + g.DrawLine(gridPen, 0, y * div.Y, screen.Width, y * div.Y); + } + g.DrawRectangle(new Pen(Color.Blue, 2), rect); + } + PointF getDiv() => new PointF(screen.Width / Settings.Default.ResizeDividor.X, screen.Height / Settings.Default.ResizeDividor.Y); + Rectangle CRect() => p2r(f2s(MousePosition, getDiv()), c2s(MousePosition, getDiv())); + Rectangle FRect() + { + Point min = f2s(new Point(Math.Min(MousePosition.X, startP.X), Math.Min(MousePosition.Y, startP.Y)), getDiv()); + Point max = c2s(new Point(Math.Max(MousePosition.X, startP.X), Math.Max(MousePosition.Y, startP.Y)), getDiv()); + return p2r(min, max); + } + Point f2s(Point p, PointF step) => new Point(f2s(p.X, step.X), f2s(p.Y, step.Y)); + Point c2s(Point p, PointF step) => new Point(c2s(p.X, step.X), c2s(p.Y, step.Y)); + Rectangle p2r(Point p1, Point p2) => new Rectangle(Math.Min(p1.X, p2.X), Math.Min(p1.Y, p2.Y), Math.Abs(p1.X - p2.X), Math.Abs(p1.Y - p2.Y)); + int f2s(int f, double step) => (int)d2f(Math.Floor(f / step) * step); + int c2s(int f, double step) => (int)d2f(Math.Ceiling(f / step) * step); + float d2f(double f) + { + float result = (float)f; + if (float.IsPositiveInfinity(result)) + return float.MaxValue; + else if (float.IsNegativeInfinity(result)) + return float.MinValue; + return result; + } + + private void Form1_MouseDown(object sender, MouseEventArgs e) + { + down = true; + startP = MousePosition; + } + + private void Form1_MouseMove(object sender, MouseEventArgs e) + { + Rectangle rect; + if (down) + rect = FRect(); + else + rect = CRect(); + if (prevR != rect) + Invalidate(); + prevR = rect; + } + + private void Form1_MouseUp(object sender, MouseEventArgs e) + { + Rectangle rect = FRect(); + window.position = rect; + if (forcePos.Checked) + WindowSizeSetter.make(window, rect); + Close(); + } + + private void ForcePos_CheckedChanged(object sender, EventArgs e) + { + if ((!forcePos.Checked) && Program.ctx.windowSizeSetters.Where(Window => Window.Window == window).ToArray().Length > 0) + { + WindowSizeSetter.TryRemove(window); + Close(); + } + } + } +} diff --git a/Resizor/Immediate Resize.resx b/Resizor/Immediate Resize.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Resizor/Immediate Resize.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/Resizor/Program.cs b/Resizor/Program.cs new file mode 100644 index 0000000..d258f6b --- /dev/null +++ b/Resizor/Program.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Windows.Forms; +using CC_Functions.W32; +using Resizor.Properties; +using Timer = System.Windows.Forms.Timer; + +namespace Resizor +{ + static class Program + { + public static KeyboardHook kh; + public static NIApplicationContext ctx; + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + notifyIcon1 = new NotifyIcon(); + ContextMenu contextMenu = new ContextMenu(); + MenuItem settings = new MenuItem(); + MenuItem exititem = new MenuItem(); + contextMenu.MenuItems.AddRange(new MenuItem[] { settings, exititem }); + settings.Index = 0; + settings.Text = "Settings"; + settings.Click += new EventHandler(openSettings); + exititem.Index = 1; + exititem.Text = "Exit"; + exititem.Click += new EventHandler(exit); + notifyIcon1.Icon = Resources.Resizor; + notifyIcon1.Text = "Resizor"; + notifyIcon1.ContextMenu = contextMenu; + notifyIcon1.Visible = true; + kh = new KeyboardHook(); + kh.OnKeyPress += keyDown; + ctx = new NIApplicationContext(); + Application.Run(ctx); + kh.Dispose(); + + } + + private static void keyDown(KeyboardHookEventArgs e) + { + if (e.Key == Settings.Default.ImmediateResizeKey) + { + new immResize().Show(); + } + } + + private static NotifyIcon notifyIcon1; + private static void openSettings(object sender, EventArgs e) => new SettingsForm().Show(); + private static void exit(object Sender, EventArgs e) => Application.Exit(); + public class NIApplicationContext : ApplicationContext + { + public List windowSizeSetters = new List(); + Timer tim; + public NIApplicationContext() + { + tim = new Timer(); + tim.Enabled = true; + tim.Interval = 100; + tim.Tick += tick; + } + private void tick(object sender, EventArgs e) + { + List toRemove = new List(); + for (int i = 0; i < windowSizeSetters.Count; i++) + { + if (windowSizeSetters[i].Window.stillExists) + windowSizeSetters[i].Window.position = windowSizeSetters[i].Pos; + else + toRemove.Add(i); + } + for (int i = 0; i < toRemove.Count; i++) + windowSizeSetters.RemoveAt(toRemove[i]); + Console.WriteLine(windowSizeSetters.Count.ToString()); + } + } + } + + class WindowSizeSetter + { + public readonly Wnd32 Window; + public Rectangle Pos; + WindowSizeSetter(Wnd32 window, Rectangle pos) + { + Window = window; + Pos = pos; + } + + public static void make(Wnd32 window, Rectangle pos) + { + WindowSizeSetter[] match = Program.ctx.windowSizeSetters.Where(Window => Window.Window == window).ToArray(); + switch (match.Length) + { + case 0: + Program.ctx.windowSizeSetters.Add(new WindowSizeSetter(window, pos)); + break; + case 1: + match[0].Pos = pos; + break; + default: + for (int i = 0; i < match.Length; i++) + { + if (i == match.Length - 1) + match[0].Pos = pos; + else + Program.ctx.windowSizeSetters.Remove(match[i]); + } + break; + } + } + + public static void TryRemove(Wnd32 window) + { + WindowSizeSetter[] match = Program.ctx.windowSizeSetters.Where(Window => Window.Window == window).ToArray(); + if (match.Length > 0) + Program.ctx.windowSizeSetters.RemoveAll(Window => Window.Window == window); + } + } +} diff --git a/Resizor/Properties/AssemblyInfo.cs b/Resizor/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..24d1078 --- /dev/null +++ b/Resizor/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("Resizor")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Resizor")] +[assembly: AssemblyCopyright("Copyright © 2019")] +[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("eed8b478-d539-41d2-9a39-8349099b298a")] + +// 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/Resizor/Properties/Resources.Designer.cs b/Resizor/Properties/Resources.Designer.cs new file mode 100644 index 0000000..c43b736 --- /dev/null +++ b/Resizor/Properties/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// 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 Resizor.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", "16.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("Resizor.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; + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// + internal static System.Drawing.Icon Resizor { + get { + object obj = ResourceManager.GetObject("Resizor", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + } +} diff --git a/Resizor/Properties/Resources.resx b/Resizor/Properties/Resources.resx new file mode 100644 index 0000000..f28c892 --- /dev/null +++ b/Resizor/Properties/Resources.resx @@ -0,0 +1,1253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABACcAAAAnAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo0HxAKg78QCiPvEApzzvAKc8 + 8QGmO/EDpjvwBKU68AGmOvAApTnvAKU18gCmN/MApDfvDaQ18CykNfBSozTwd6Mz8JijM/C2ojLwzaIx + 8N6iMPDqoTDw9KEv8PqhLvD+oC7v/qAt7/qgLO/0nyzv6p8r796fKu/Nninvtp4p75ieKO93nSfvUp0n + 7zCdJe8OnBzvAJ0j7wCbJe8AmyPuAJsj7gGbIe8EmyHuBJog7gGaIO4Anh/yAJog7gCbHe8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACiRugAqD7wAKg98gCrPfMAqD7xAac98QOnPfEDsTz1AKY58ACqOu8ApzjwAqU58CKlOfBYpTjwj6U3 + 8L6kNvDjpDXw+aQ18P+jNPD/ozPw/6Mz8P+iMvD/ojHw/6Iw8P+hMPD/oS/w/6Eu8P+gLu//oC3v/6As + 7/+fLO//nyvv/58q7/+eKe//ninv/54o7/+dJ+//nSfv+50m7+WdJe/AnCTvjpwj71icI+8kmSPxApcg + 8gCbIu8AnBfnAJof7gOaH+4DmR3uAZQd6wCXH+0Amh3vAJka5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsQvAAqUDxAK1E8gCsQvIAqEDxAqg/8QSoPvIApzvxAKg8 + 8gCnPPEOpjvxSaY68JKmOvDTpTnw+qU58P+lOPD/pDfw/6Q28P+kNfD/pDXw/qM08PyjM/D8ozPw/aIy + 8P2iMfD+ojDw/qEw8P+hL/D/oS7w/6Au7/+gLe//oCzv/58s7/6fK+/+nyrv/Z4p7/2eKe/8nijv/J0n + 7/2dJ+//nSbv/5wl7/+cJO//nCPv/5wj7/ubIu/TmyLvk5sh7kuaIe4Omh/tAJsg7gCYH+0AmR3uBJkc + 7gKWG+wAkxfsAJgc7gCZHO0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqQvEAqULxAKlC + 8QCoQvIAqUHxA6lB8QKnOvIAqj7xAKg98QqnPvFLpz3xo6c88eimO/H/pjrw/qY68P+mOfD/pTnw/KU4 + 8PulN/D8pDbw/qQ18P6kNfD/ozTw/6Mz8P+jM/D/ojLw/6Ix8P+iMPD/oTDw/6Ev8P+hLvD/oC7v/6At + 7/+gLO//nyzv/58r7/+fKu//ninv/54p7/+eKO//nSfv/50n7/+dJu/+nSXv/Jwk7/ucI+/8myPv/5si + 7/+bIu//myHu/5og7uqaH+6kmh7uTZgd7gqXHO0AmSHuAJgb7gKYG+4DmBvuAJga7wCYG+4AmR3vAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACpRvEAqkLxAKpD8ACqQ/AAqkLxA6pC8QKiOvEApD7xAKhA8SmoP/GKqD7x4ac+ + 8f+nPfH+pzzx/6Y78f2mOvD7pjrw/aU58P6lOfD/pTjw/6Q38P+kNvD/pDXw/6Q18P+jNPD/ozPw/6Mz + 8P+iMvD/ojHw/6Iw8P+hMPD/oS/w/6Eu8P+gLu//oC3v/6As7/+fLO//nyvv/58q7/+eKe//ninv/54o + 7/+dJ+//nSfv/50m7/+dJe//nCTv/5wj7/+cI+/+myLv/Zsi7/ubIe79miDu/5of7v6aHu7/mR7u4pkd + 7ouZHO4rnR/vAJ8k7wCYGu4ClxruA5cY7gCXGO4AlxnuAJca7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoQ/MAqkTxAKpF8gCqRfIAqkTxA6pD + 8QKoS/cApET3AalB8UGpQPGzqEDx+6g/8f+oPvH/pz7x/ac98funPPH+pjvx/6Y68P+mOvD/pTnw/6U5 + 8P+lOPD/pTfw/6Q28P+kNfD/pDXw/6M08P+jM/D/ozPw/6Iy8P+iMfD/ojDw/6Ew8P+hL/D/oS7w/6Au + 7/+gLe//oCzv/58s7/+fK+//nyrv/54p7/+eKe//nijv/50n7/+dJ+//nSbv/50l7/+cJO//nCPv/5wj + 7/+bIu//myLv/5sh7v+aIO7+mh/u+5oe7v2ZHu7/mR3u/5kc7vuYHO62mBvuRpcb8AKXGfEAlxnuApcY + 7gOWF+4AlxjuAJcY7gCTF+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACZM/8Aq0XyAKlF8ACqRfAAq0XxAqtF8QOtRu0AqkDsAqpC8U+pQvHIqUHx/6lA8f+oQPH+qD/x+6g+ + 8f2nPvH/pz3x/6c88f+mO/H/pjrw/6Y68P+mOfD/pTnw/6U48P+lN/D/pDbw/6Q18P+kNfD/ozTw/6Mz + 8P+jM/D/ojLw/6Ix8P+iMPD/oTDw/6Ev8P+hLvD/oC7v/6At7/+gLO//nyzv/58r7/+fKu//ninv/54p + 7/+eKO//nSfv/50n7/+dJu//nSXv/5wk7/+cI+//nCPv/5si7/+bIu//myHu/5og7v+aH+7/mh7u/5ke + 7v2ZHe77mRzu/pgc7v+YG+7/mBruy5ca7lGYFe4DlhLuAJYX7gOWF+4ClhftAJYX7ACWF+8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArUfxAKtG8QCrRvEAq0bxAatG8QOrRPABq0XvAKpE + 8UaqQ/HJqkPx/6lC8f6pQfH9qUDx/KhA8f6oP/H/qD7x/6c+8f+nPfH/pzzx/6Y78f+mOvD/pjrw/6Y5 + 8P+lOfD/pTjw/6U38P+kNvD/pDXw/6Q18P+jNPD/ozPw/6Mz8P+iMvD/ojHw/6Iw8P+hMPD/oS/w/6Eu + 8P+gLu//oC3v/6As7/+fLO//nyvv/58q7/+eKe//ninv/54o7/+dJ+//nSfv/50m7/+dJe//nCTv/5wj + 7/+cI+//myLv/5si7/+bIe7/miDu/5of7v+aHu7/mR7u/5kd7v+ZHO7/mBzu/Jgb7v2YGu7+lxnu/5cZ + 7syXGO5GlRntAJYZ7QGWFu4DlhbuAZYW7gCWFu4AlhTvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqlX/AKxI + 8QCqUfUAryzmAKxH8QOrRvECq0bxAKtF8SurRfG2qkTx/6pD8f+qQ/H8qULx/KlB8f+pQPH/qEDx/6g/ + 8f+oPvH/pz7x/6c98f+nPPH/pjvx/6Y68P+mOvD/pjnw/6U58P+lOPD/pTfw/6Q28P+kNfD/pDXw/6M0 + 8P+jM/D/ozPw/6Iy8P+iMfD/ojDw/6Ew8P+hL/D/oS7w/6Au7/+gLe//oCzv/58s7/+fK+//nyrv/54p + 7/+eKe//nijv/50n7/+dJ+//nSbv/50l7/+cJO//nCPv/5wj7/+bIu//myLv/5sh7v+aIO7/mh/u/5oe + 7v+ZHu7/mR3u/5kc7v+YHO7/mBvu/5ga7vyXGe78lxnu/5cY7v+WF+6zlRfuKZUW7QCVFu4ClRXuA5Q/ + 8QCVB+0AlRTuAIsX6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAK1J8wCsSfIArEnyAKxJ8gGsSPEEq0fxAKtG8QurRvGIq0Xx+atF + 8f+qRPH8qkPx/KpD8f+pQvH/qUHx/6lA8f+oQPH/qD/x/6g+8f+nPvH/pz3x/6c88f+mO/H/pjrw/6Y6 + 8P+lOfD/pTnw/6U48P+kN/D/pDbw/6Q18P+kNfD/ozTw/6Mz8P+jM/D/ojLw/6Iy8P+iMfD/oTDw/6Ev + 8P+hLvD/oC7v/6At7/+gLO//nyvv/58q7/+fKu//ninv/54p7/+eKO//nSfv/50n7/+dJu//nSXv/5wk + 7/+cI+//nCPv/5si7/+bIu//myHu/5og7v+aH+7/mh7u/5ke7v+ZHe7/mRzu/5gc7v+YG+7/mBru/5cZ + 7v+XGe78lxju/JYX7v+WF+75lhbuh5YV7gqWFO4AlRTuA5UT7QGVE+0AlRPtAJUU7QAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuSvIArUnyAK1J + 8gCtSfICrUjxA61H8QCsR/FDrEfx3KtG8f+rRfH8q0Xx/KpE8f+qQ/H/qkPx/6lC8f+pQfH/qUDx/6hA + 8f+oP/H/qD7x/6c+8f+nPfH/pzzx/6Y78f+mOvD/pjrw/6U58P+lOPD/pTfw/6Q38P+kN/D/pTbw/6Q2 + 8P+jNfD/ozTw/6My8P+iMfD/ojDw/6Ev8P+hL/D/oS7w/6Eu8P+gLu//oC7v/6At7/+gLe//nyzv/58r + 7/+eKu//nijv/54n7/+dJu//nCbv/50l7/+dJe//nCXv/5wk7/+cI+//myLv/5si7/+bIe7/miDu/5of + 7v+aHu7/mR7u/5kd7v+ZHO7/mBzu/5gb7v+YGu7/lxnu/5cZ7v+XGO7/lhfu/JYX7vyWFu7/lRXu2ZUU + 7kOVFe4AlBTuA5QT7QKUE+0AlBPtAJQT7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAArUvyAK5M8wCuTPMArUryA61O9wCsSvQGrEjxjaxH8f+sR/H/q0bx+6tF + 8f6rRfH/qkTx/6pD8f+qQ/H/qULx/6lB8f+pQPH/qEDx/6g/8f+oPvH/pz7x/6c98f+nPPH/pjvx/6Y6 + 8P+mOvD/pjrw/6Y68P+mOfD/pTfw/6M08P+iMfD/oS7w/58r7/+fKu//nyrv/54q7/+fKu//nyvv/58s + 7/+gLe//oC3v/6Ev8P+hL/D/ojDw/6Ix8P+iMvD/ozLw/6My8P+iMvD/ojDw/6Au7/+fLO//nijv/5wl + 7/+bI+//myLv/5si7/+bIu//myLv/5sh7v+aIO7/mh/u/5oe7v+ZHu7/mR3u/5kc7v+YHO7/mBvu/5ga + 7v+XGe7/lxnu/5cY7v+WF+7/lhfu/pYW7vuVFe7/lRTu/5UU7o+VE+sHlhPpAJQS7QOUEuwAlBLsAJQS + 7QCAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArkvyAK5M8gCuTPIArkzyAa1K + 8gSuSfIArknyK6xJ8s6sSPH/rEfx+6xH8f2rRvH/q0Xx/6tF8f+qRPH/qkPx/6pD8f+pQvH/qUHx/6lA + 8f+oQPH/qD/x/6g+8f+nPfH/pzzx/6c88f+nPPH/pzzw/6c78P+lN/D/ojHw/58r8P+eJ+//nCXv/5wk + 7/+dJe//nSbv/50n7/+eKO//ninv/58q7/+fK+//oCzv/6At7/+gLe//oS/w/6Ev8P+hMPD/ojHw/6Iy + 8P+jM/D/ozTw/6M18P+kNvD/pDfw/6U48P+lN/D/ozXw/6Ix7/+fK+//nCXv/5oh7/+aIO//miDu/5og + 7v+aIO7/mh/u/5ke7v+ZHe7/mRzu/5gc7v+YG+7/mBru/5cZ7v+XGe7/lxju/5YX7v+WF+7/lhbu/5UV + 7v2VFe77lRTt/5UT7dCTE+0skxPtAJQS7QSTEe0BkxHtAJMR7QCUEOwAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAALFN8QCuTPIArkzyAK5M8gGuS/IErUrxAK1K8litSvLzrUny/6xI8vusR/H+rEfx/6tG + 8f+rRfH/q0Xx/6pE8f+qQ/H/qkPx/6lC8f+pQfH/qUDx/6hA8f+oP/H/qD7x/6c98f+oPvH/qD7x/6U5 + 8P+iMO//nifv/5si7v+bIO//miHv/5wi7/+cJO//nSXv/50m7/+dJ+//nijv/54o7/+eKe//nyrv/58r + 7/+gLO//oC3v/6At7/+hL/D/oS/w/6Ew8P+iMfD/ojLw/6Mz8P+jM/D/ozTw/6Q18P+kNvD/pDfw/6U4 + 8P+lOvD/pzvw/6Y88P+mOvH/pDXw/58s8P+cI+7/mR7u/5ke7v+aH+7/mR7u/5kd7v+ZHO7/mBzu/5gb + 7v+YGu7/lxnu/5cZ7v+XGO7/lhfu/5YX7v+WFu7/lRXu/5UV7v6VFO77lBPt/5QS7fSUEu1ZlBLtAJMR + 7QSTEO0BkxDtAJMQ7QCTD+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuTfIArk3yAK5N8gCuTfICq0zyAoE5 + 7ACtS/KJrUry/61K8v2sSfL8rEjy/6xH8f+sR/H/q0bx/6tF8f+rRfH/qkTx/6pD8f+qQ/H/qULx/6lB + 8f+pQPH/qD/x/6g/8f+pQPH/qD7x/6Q18P+eKe//miDu/5kd7v+ZHu7/miDu/5si7/+bI+//nCPv/5wk + 7/+cJe//nSbv/50n7/+eKO//nijv/54p7/+fKu//nyvv/6As7/+gLe//oC3v/6Ev8P+hL/D/oTDw/6Ix + 8P+iMvD/ozPw/6Mz8P+jNfD/pDXw/6Q28P+lN/D/pTjw/6U58P+mOfD/pjrw/6c88f+oPvH/qD/x/6c8 + 8f+jM/D/nifv/5ke7v+YHO7/mR3u/5kd7v+YHO7/mBvu/5ga7v+XGe7/lxnu/5cY7v+WF+7/lhfu/5YW + 7v+VFe7/lRXu/5UU7f+VE+38lBLt/ZQS7f+UEe2KoRPyAJQQ7QKTD+0Ckw/tAJMP7QCSDuwAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAr07yAK9O8gCvTvIAr03yA6pI8QCtTfIJrkzyrK5L8v+tSvL7rUry/q1J8v+sSPH/rEfx/6xH + 8f+rRvH/q0Xx/6tF8f+qRPH/qkPx/6pD8f+pQvH/qUDx/6lA8f+pQvH/qD/x/6My8P+bI+//mBvu/5gb + 7v+ZHu7/mh/u/5og7v+bIe7/myLv/5si7/+cI+//nCTv/5wl7/+dJu//nSfv/54o7/+eKO//ninv/58q + 7/+fK+//oCzv/6At7/+gLe//oS/w/6Ev8P+hMPD/ojHw/6Iy8P+jM/D/ozPw/6M18P+kNfD/pDbw/6U3 + 8P+lOPD/pTnw/6Y68P+mOvD/pjvx/6c88f+nPfH/qD7x/6lB8f+pQfH/pjnw/54q7/+ZHe7/mBru/5gc + 7v+YHO7/mBru/5cZ7v+XGe7/lxju/5YX7v+WF+7/lhbu/5UV7v+VFe7/lRTu/5QT7f+UEu3+lBLt+5MR + 7f+TEO2slA/uCZkR7ACTD+0Dkg7tAJIO7QCTDu0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK9P8gCvTvIAr07yAK9O8gOuTvEArk7yFa5M + 8seuTPL/rUvy+q1K8v+tSvL/rEny/6xI8f+sR/H/rEfx/6tG8f+rRfH/q0Xx/6pE8f+qQ/H/qkLx/6lB + 8f+qQ/H/qUHx/6Iy8P+aIO7/lxju/5ca7v+ZHe7/mR7u/5ke7v+aH+7/miDu/5sh7v+bIu//myLv/5wj + 7/+cJO//nCXv/50m7/+dJ+//nijv/54o7/+eKe//nyrv/58r7/+gLO//oC3v/6At7/+hL/D/oS/w/6Ew + 8P+iMfD/ojLw/6Mz8P+jM/D/ozXw/6Q18P+kNvD/pTfw/6U48P+lOfD/pjrw/6Y68P+mO/H/pzzx/6c9 + 8f+oPvH/qD7x/6g/8f+qQvH/qkTx/6c88P+fKu//mBvu/5cZ7v+YG+7/lxru/5cZ7v+XGO7/lhfu/5YX + 7v+WFu7/lRXu/5UV7v+VFO7/lRPt/5QS7f+UEu3/kxHt+pMQ7f+TEO3Hkw7tFpMO7QCSDu0Dkg7tAJIO + 7QCSDe4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACwT/IAr0/yAK9P8gCvTvIDr07yAK9O8huuTfLTrkzy/65M8vutS/L/rUry/61K8v+tSfL/rEjy/6xH + 8f+sR/H/q0bx/6tF8f+rRfH/qkTx/6pC8f+qRPH/qkTx/6Q28P+bIO//lhfu/5cY7v+YG+7/mBzu/5kc + 7v+ZHe7/mR7u/5of7v+aIO7/myHu/5si7/+bIu//nCPv/5wk7/+cJe//nSbv/50n7/+eKO//nijv/54p + 7/+fKu//nyvv/6As7/+gLe//oC3v/6Ev8P+hL/D/oTDw/6Ix8P+iMvD/ozPw/6Mz8P+jNfD/pDXw/6Q2 + 8P+lN/D/pTjw/6U58P+mOvD/pjvw/6Y78f+nPPH/pz3x/6g+8f+oP/H/qEDx/6lA8f+pQfH/qkTx/6tG + 8f+mPPD/nSbv/5cY7v+XGO7/lxru/5cY7v+WF+7/lhfu/5YW7v+VFe7/lRXu/5UU7v+VE+3/lBLt/5QS + 7f+UEe3/kxDt+5MQ7f+TD+3Ukg7tHJEO7QCSDe0Dkg3tAJIN7QCSDO0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArlHwALBQ8gCwUPIAr0/yA69N8gCvTvIhr07y265N + 8v+uTPL7rkzy/61L8v+tSvL/rUry/61J8v+sSPL/rEfx/6xH8f+rRvH/q0Xx/6tE8f+qQ/H/q0bx/6g+ + 8f+cJe//lRXu/5YW7v+XGe7/mBru/5ga7v+YHO7/mRzu/5kd7v+ZHu7/mh/u/5og7v+bIe7/myLv/5si + 7/+cI+//nCTv/5wl7/+dJu//nSfv/54o7/+eKO//ninv/58q7/+fK+//oCzv/6At7/+gLe//oS/w/6Ev + 8P+hMPD/ojHw/6Iy8P+jM/D/ozPw/6M18P+kNfD/pDbw/6U38P+lOPD/pTnw/6Y68P+mO/D/pjvx/6c8 + 8f+nPfH/qD7x/6g/8f+oQPH/qUDx/6lC8f+pQvH/qkLx/6tG8f+sR/H/pTfw/5ke7v+WFu7/lxju/5YY + 7v+WF+7/lhbu/5UV7v+VFe7/lRTu/5UT7f+UEu3/lBLt/5MR7f+TEO3/kxDt+5MP7f+SDu3ckg7tIpMO + 7QCRDe0DkQztAJEM7QCTC+8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK9Q + 8QCwUfIAsFDyAK9Q8gOuT/IAr0/yHK9P8tuvTvL/rk3y+65M8v+uTPL/rUvy/61K8v+tSvL/rUny/6xI + 8v+sR/H/rEfx/6tG8f+rRPH/q0bx/6tG8f+iMPD/lxju/5UT7v+WF+7/lxju/5cZ7v+XGu7/mBru/5gc + 7v+ZHO7/mR3u/5ke7v+aH+7/miDu/5sh7v+bIu//myLv/5wj7/+cJO//nCXv/50m7/+dJ+//nijv/54o + 7/+eKe//nyrv/58r7/+gLO//oC3v/6At7/+hL/D/oS/w/6Ew8P+iMfD/ojLw/6Mz8P+jM/D/ozXw/6Q1 + 8P+kNvD/pTfw/6U48P+lOfD/pjrw/6Y78P+mO/H/pzzx/6c98f+oPvH/qD/x/6hA8f+pQPH/qULx/6pC + 8f+qQ/H/qkTx/6tF8f+sSfH/qkTx/6As7/+WFu7/lhbu/5YY7v+WFu7/lRXu/5UV7v+VFO7/lRPt/5QS + 7f+UEu3/lBHt/5MQ7f+TEO3/kw/t+5IO7f+SDe3bkgztHZIM7QCRDO0DkQvtAJEL7QCQC+wAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2Sf8AsFHyALBR8gCwUPICsVHyALBR8hevT/LTr0/y/69O + 8vuuTfL/rkzy/65M8v+uS/L/rUry/61K8v+tSfL/rEjx/6xH8f+sR/H/q0Xx/6xI8f+pQfH/myLv/5MR + 7v+VFe7/lhfu/5YX7v+XGO7/lxnu/5ca7v+YGu7/mBzu/5kc7v+ZHe7/mR7u/5of7v+aIO7/myHu/5si + 7/+bIu//nCPv/5wk7/+cJe//nSbv/50n7/+eKO//nijv/54p7/+fKu//nyvv/6As7/+gLe//oC3v/6Ev + 8P+hL/D/oTDw/6Ix8P+iMvD/ozPw/6Mz8P+jNfD/pDXw/6Q28P+lN/D/pTjw/6U58P+mOvD/pjvw/6Y7 + 8f+nPPH/pz3x/6g+8f+oP/H/qEDx/6lA8f+pQvH/qkLx/6pD8f+qRPH/q0Xx/6tF8f+sR/H/rkvx/6Y6 + 8P+YG+7/lRTu/5YX7v+VFe7/lRXu/5UU7v+VE+3/lBLt/5QS7f+UEe3/kxDt/5MQ7f+TD+3/kg7t+5IN + 7f+SDe3TkAvtF5AL7QCRDO0CkQvtAJEL7QCAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALBS + 8gCwUvIAsFHyAa9U7gCvUfEJsFDyxa9Q8v+vT/L7r07y/65N8v+uTPL/rkzy/65L8v+tSvL/rUry/6xJ + 8v+sSPL/rEfx/6tG8f+tSvH/pTjw/5YX7f+UEe3/lRXu/5YW7v+WFu7/lhfu/5cY7v+XGe7/lxru/5ga + 7v+YHO7/mRzu/5kd7v+ZHu7/mh/u/5og7v+bIe7/myLv/5si7/+cI+//nCTv/5wl7/+dJu//nSfv/54o + 7/+eKO//ninv/58q7/+fK+//oCzv/6At7/+gLe//oS/w/6Ev8P+hMPD/ojHw/6Iy8P+jM/D/ozPw/6M1 + 8P+kNfD/pDbw/6U38P+lOPD/pTnw/6Y68P+mO/D/pjvx/6c88f+nPfH/qD7x/6g/8f+oQPH/qUDx/6lC + 8f+qQvH/qkPx/6pE8f+rRfH/q0bx/6tG8f+sR/H/rUvy/6tF8v+cJO//lBLu/5UW7v+VFe7/lRTt/5UT + 7f+UEu3/lBLt/5QR7f+TEO3/kxDt/5MP7f+SDu3/kg3t+5IM7f+RDO3FkQvtCo8L7ACRC+0BkQrtAJEK + 7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxUvIAvlfqAK9R8gGyUvECtk3wALBR8quwUPL/r1Dy+69P + 8v+vTvL/rk3y/65M8v+uTPL/rkvy/61K8v+tSvL/rUny/6xI8f+sSPH/rUrx/6Au7/+TEO3/lBLt/5UV + 7v+VFO7/lhbu/5YW7v+WF+7/lxju/5cZ7v+XGu7/mBru/5gc7v+ZHO7/mR3u/5ke7v+aH+7/miDu/5sh + 7v+bIu//myLv/5wj7/+cJO//nCXv/50m7/+dJ+//nijv/54o7/+eKe//nyrv/58r7/+gLO//oC3v/6At + 7/+hL/D/oS/w/6Ew8P+iMfD/ojLw/6Mz8P+jM/D/ozXw/6Q18P+kNvD/pTfw/6U48P+lOfD/pjrw/6Y7 + 8P+mO/H/pzzx/6c98f+oPvH/qD/x/6hA8f+pQPH/qULx/6pC8f+qQ/H/qkTx/6tF8f+rRvH/q0bx/6xI + 8f+sR/H/rUry/65M8v+hLvD/lBLu/5UU7v+VFO7/lBPt/5QS7f+UEu3/lBHt/5MQ7f+TEO3/kw/t/5IO + 7f+SDe3/kgzt+5EM7f+RC+2rkQ7uAJAK7QKRC+0BjRL9AJAJ7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAslTzALFT + 8gDEZ/UAsFLyBLBQ8gCwUfKKsFHy/7BQ8vuvUPL/r0/y/69O8v+uTfL/rkzy/65M8v+tS/L/rUry/61K + 8v+sSPL/rEny/61J8f+dJu//kg3t/5QS7f+UE+3/lRTt/5UU7v+WFu7/lhbu/5YX7v+XGO7/lxnu/5ca + 7v+YGu7/mBzu/5kc7v+ZHe7/mR7u/5of7v+aIO7/myHu/5si7/+bIu//nCPv/5wk7/+cJe//nSbv/50n + 7/+eKO//nijv/54p7/+fKu//nyvv/6As7/+gLe//oC3v/6Ev8P+hL/D/oTDw/6Ix8P+iMvD/ozPw/6Mz + 8P+jNfD/pDXw/6Q28P+lN/D/pTjw/6U58P+mOvD/pjvw/6Y78f+nPPH/pz3x/6g+8f+oP/H/qEDx/6lA + 8f+pQvH/qkLx/6pD8f+qRPH/q0Xx/6tG8f+rRvH/rEjx/6xI8v+tSfL/rUry/69P8v+kN/H/lBPu/5UT + 7f+VFO3/lBLt/5QS7f+UEe3/kxDt/5MQ7f+TD+3/kg7t/5IN7f+SDO3/kQzt+5EL7f+RC+2JkQvtAJAK + 7QRvAPUAkAntAI8J7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAALNN5gCxU/IAsVPyALFS8gSxUvIAsVLyWrBS8v+wUfL8sFDy/69Q + 8v+vT/L/r07y/65N8v+uTPL/rkzy/61L8v+tSvL/rUny/61L8v+sR/H/mh/u/5EM7f+UEu3/lBLt/5QT + 7f+VFO7/lRTu/5YW7v+WFu7/lhfu/5cY7v+XGe7/lxru/5ga7v+YHO7/mRzu/5kd7v+ZHu7/mh/u/5og + 7v+bIe7/myLv/5si7/+cI+//nCTv/5wl7/+dJu//nSfv/54o7/+eKO//ninv/58q7/+fK+//oCzv/6At + 7/+gLe//oS/w/6Ev8P+hMPD/ojHw/6Iy8P+jM/D/ozPw/6M18P+kNfD/pDbw/6U38P+lOPD/pTnw/6Y6 + 8P+mO/D/pjvx/6c88f+nPfH/qD7x/6g/8f+oQPH/qUDx/6lC8f+qQvH/qkPx/6pE8f+rRfH/q0bx/6tG + 8f+sSPH/rEjx/61J8v+tSvL/rUry/7BQ8v+nPvH/lRXu/5QR7f+UE+3/lBLt/5QR7f+TEO3/kxDt/5MP + 7f+SDu3/kg3t/5IM7f+RDO3/kQvt/JEK7f+QCu1bkArtAJAK7QSQCe0AkAntAJkA5gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsVTyALFU + 8gCxU/ICsVPyALFT8i+xUvLzsFHy/7BR8v6wUPL/r1Dy/69P8v+vTvL/rk3y/65M8v+uTPL/rkvy/61J + 8v+uS/L/rEfy/5gb7v+RC+3/kxHt/5QR7f+UEu3/lBPt/5UU7v+VFO7/lhbu/5YW7v+WF+7/lxju/5cZ + 7v+XGu7/mBru/5gc7v+ZHO7/mR3u/5ke7v+aH+7/miDu/5sh7v+bIu//myLv/5wj7/+cJO//nCXv/50m + 7/+dJ+//nijv/54o7/+eKe//nyrv/58r7/+gLO//oC3v/6At7/+hL/D/oS/w/6Ew8P+iMfD/ojLw/6Mz + 8P+jM/D/ozXw/6Q18P+kNvD/pTfw/6U48P+lOfD/pjrw/6Y78P+mO/H/pzzx/6c98f+oPvH/qD/x/6hA + 8f+pQPH/qULx/6pC8f+qQ/H/qkTx/6tF8f+rRvH/q0bx/6xI8f+sSPL/rUny/61K8v+tS/L/rkvy/7BR + 8v+pQfH/lhXt/5MR7f+UE+3/kxHt/5MQ7f+TEO3/kw/t/5IO7f+SDe3/kgzt/5EM7f+RC+3+kQvt/5AK + 7fOQCO0ukAntAJAJ7QKPCO0AjwjtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAALJU8gCzVPIAsFPyAadX9wCwVPMIsVPyzLFS8v+wUfL8sFHy/7BQ + 8v+vUPL/r0/y/69O8v+uTfL/rkzy/65M8v+tSvL/rkzy/6xI8v+XGe7/kQvt/5QQ7f+TEO3/lBHt/5QS + 7f+UE+3/lRTu/5UU7v+WFu7/lhbu/5YX7v+XGO7/lxnu/5ca7v+YGu7/mBzu/5kc7v+ZHe7/mR7u/5of + 7v+aIO7/myHu/5si7/+bIu//nCPv/5wk7/+cJe//nSbv/50n7/+eKO//nijv/54p7/+fKu//nyvv/6As + 7/+gLe//oC3v/6Ev8P+hL/D/oTDw/6Ix8P+iMvD/ozPw/6Mz8P+jNfD/pDXw/6Q28P+lN/D/pTjw/6U5 + 8P+mOvD/pjvw/6Y78f+nPPH/pz3x/6g+8f+oP/H/qEDx/6lA8f+pQvH/qkLx/6pD8f+qRPH/q0Xx/6tG + 8f+rRvH/rEjx/6xI8v+tSfL/rUry/61L8v+uTPL/rUzy/7BR8v+qQ/H/lRXt/5MQ7f+UEu3/kxDt/5MQ + 7f+TD+3/kg7t/5IN7f+SDO3/kQzt/5EL7f+RC+38kArt/5AJ7cyPCu0HkBXpAJAJ7QGPCO4AkAbsAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAslXyALph + 9ACxVPIDsVPyALFT8o6xU/L/sVLy+7BR8v+wUfL/sFDy/69Q8v+vT/L/r07y/65N8v+uTfL/rkvy/65M + 8v+tSfL/mBru/5AK7f+TEO3/kw/t/5MQ7f+UEe3/lBLt/5QT7f+VFO7/lRTu/5YW7v+WFu7/lhfu/5cY + 7v+XGe7/lxru/5ga7v+YHO7/mRzu/5kd7v+ZHu7/mh/u/5og7v+bIe7/myLv/5si7/+cI+//nCTv/5wl + 7/+dJu//nSfv/54o7/+eKO//ninv/58q7/+fK+//oCzv/6At7/+gLe//oS/w/6Ev8P+hMPD/ojHw/6Iy + 8P+jM/D/ozPw/6M18P+kNfD/pDbw/6U38P+lOPD/pTnw/6Y68P+mO/D/pjvx/6c88f+nPfH/qD7x/6g/ + 8f+oQPH/qUDx/6lC8f+qQvH/qkPx/6pE8f+rRfH/q0bx/6tG8f+sSPH/rEjy/61J8v+tSvL/rUvy/65M + 8v+uTfL/rkzy/7FS8v+pQvH/lRPt/5MQ7f+TEe3/kw/t/5MP7f+SDu3/kg3t/5IM7f+RDO3/kQvt/5EL + 7f+QCu37kAnt/5AJ7Y2QCu0AkAntA4gC6gCPB+0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAALJU8wCzVfQAslTyA7JU8gCyVPJHsVTy/7FT8v2xUvL/sFHy/7BR + 8v+wUPL/r1Dy/69P8v+vTvL/rk3y/65M8v+uTPL/rk3y/5kd7v+QCO3/kw/t/5IO7f+TD+3/kxDt/5QR + 7f+UEu3/lBPt/5UU7v+VFO7/lhbu/5YW7v+WF+7/lxju/5cZ7v+XGu7/mBru/5gc7v+ZHO7/mR3u/5ke + 7v+aH+7/miDu/5sh7v+bIu//myLv/5wj7/+cJO//nCXv/50m7/+dJ+//nijv/54o7/+eKe//nyrv/58r + 7/+gLO//oC3v/6At7/+hL/D/oS/w/6Ew8P+iMfD/ojLw/6Mz8P+jM/D/ozXw/6Q18P+kNvD/pTfw/6U4 + 8P+lOfD/pjrw/6Y78P+mO/H/pzzx/6c98f+oPvH/qD/x/6hA8f+pQPH/qULx/6pC8f+qQ/H/qkTx/6tF + 8f+rRvH/q0bx/6xI8f+sSPL/rUny/61K8v+tS/L/rkzy/65N8v+vTvL/rk3y/7FU8v+oP/H/kw/t/5MQ + 7f+TEO3/kw/t/5IO7f+SDe3/kgzt/5EM7f+RC+3/kQvt/5AK7f+QCe39kAjt/48I7UaPCO0AjwjtA44H + 7QCPB+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyUvAAslbzALJV + 8gG0WPIAs1fzC7JU8tSxVPL/sVPy/bFS8v+wUfL/sFHy/7BQ8v+vUPL/r0/y/69O8v+uTfL/rkzy/7BP + 8v+cJO//jwft/5MO7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QS7f+UE+3/lRTt/5UU7v+VFu7/lhbu/5YX + 7v+XGO7/lxnu/5ca7v+YGu7/mBvu/5kc7v+ZHe7/mR7u/5of7v+aIO7/miHu/5sh7/+bIu//nCPv/5wk + 7/+cJe//nSbv/50n7/+eJ+//nijv/54p7/+fKu//nyvv/58s7/+gLe//oC3v/6Eu8P+hL/D/oTDw/6Ix + 8P+iMvD/ozPw/6Mz8P+jNPD/pDXw/6Q28P+kN/D/pTjw/6U58P+mOvD/pjrw/6Y78P+nPPH/pz3x/6g+ + 8f+oP/H/qEDx/6lA8f+pQvH/qkLx/6pD8f+qRPH/q0Xx/6tG8f+rRvH/rEjx/6xI8v+tSfL/rUry/61L + 8v+uTPL/rk3y/69N8v+vTvL/rk7y/7JV8v+lOPD/kQ3t/5MQ7f+TD+3/kg7t/5IN7f+SDO3/kQzt/5EL + 7f+RC+3/kArt/5AJ7f2QCO3/jwjt044G7AuNBe0AjwftAY8G7ACRA+sAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAALJW8wCqbO4AslXyA7JW8gCyVfKIslXy/7FU8vuxU/L/sVLy/7BR + 8v+wUfL/sFDy/69Q8v+vT/L/r07y/65M8v+wUfL/oS7w/48G7f+SDe3/kg3t/5IO7f+SD+3/kw/t/5MQ + 7f+UEe3/lBLt/5QT7f+VFO7/lRTu/5YW7v+XFu//lxfv/5gY7/+YGe//mBrv/5kb7/+ZHO//mRzv/5od + 7/+aHu//mx/v/5sg7/+bIe//nCLw/5wi8P+dI/D/nSTw/50l8P+eJvD/nifw/58o8P+fKPD/nynw/6Aq + 8P+gK/D/oCzw/6Et8P+hLvD/oi/x/6Iw8f+iMPH/ozHx/6My8f+kM/H/pDTx/6Q18f+lNvH/pTfx/6U3 + 8f+mOPH/pjnx/6c68f+nO/H/pzzy/6g98v+oPfL/qD7x/6g/8f+oQPH/qUDx/6lC8f+qQvH/qkPx/6pE + 8f+rRfH/q0bx/6tG8f+sSPH/rEjy/61J8v+tSvL/rUvy/65M8v+uTfL/r03y/69O8v+vT/L/r0/y/7JW + 8v+gLu//kQvt/5MQ7f+SDu3/kg3t/5IM7f+RDO3/kQvt/5EL7f+QCu3/kAnt/5AI7fuPB+3/jwfth48H + 7QCPB+0DjwPoAI8G7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzV/QAs1fzALJV + 8wKyVfMAslbzLrJV8veyVfL/sVTy/rFT8v+xUvL/sFHy/7BR8v+wUPL/r1Dy/69P8v+vTfL/sFHy/6Y7 + 8f+QCO3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UEu3/lBPt/5UU7f+VFe7/lhfu/5QX + 6v+UGOr/lRnq/5UZ6v+VGur/lhvq/5Yc6v+XHer/lx7q/5cf6v+YH+r/mCDq/5gh6v+ZIuv/mSPr/5ok + 6/+aJOv/miXr/5sm6/+bJ+v/myjr/5wo6/+cKev/nSrr/50r6/+dLOv/ni3r/54u6/+fL+z/ny/s/58w + 7P+gMez/oDLs/6Az7P+hM+z/oTXs/6I17P+hNuz/ojfs/6M47P+jOez/ozrs/6M67P+kO+3/pDvt/6Q8 + 7f+nPvD/qD/x/6hA8f+pQPH/qULx/6pC8f+qQ/H/qkTx/6tF8f+rRvH/q0bx/6xI8f+sSPL/rUny/61K + 8v+tS/L/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7FU8v+bIe7/kQvt/5IP7f+SDe3/kgzt/5EM + 7f+RC+3/kQvt/5AK7f+QCe3/kAjt/o8H7f+PB+33jwbsLo8G7ACPBuwCjwfsAI4E6gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAALNW8wCyVfIAslbzArJW9ACyVvOvslXy/7JV8vyxVPL/sVPy/7FS + 8v+wUfL/sFHy/7BQ8v+vUPL/r07y/7BQ8v+sSPL/kg7t/5AJ7f+RDO3/kQzt/5IN7f+SDu3/kg/t/5MP + 7f+TEO3/lBHt/5QS7f+UE+3/lRPt/5QR7/+REen/bAyv/2kNqf9rDqv/aw+r/2sPq/9sD6v/bBCr/2wR + q/9sEav/bBKr/20Tq/9tE6r/bRSr/24UrP9uFaz/bxas/28WrP9vF6z/bxis/28YrP9wGaz/cBms/3Aa + rP9xGqz/cRus/3EcrP9xHaz/cR2s/3IerP9yH6z/ch+s/3MgrP9zIKz/cyGs/3MirP9zI6z/dCOs/3Qk + rP91Jaz/dSWs/3UlrP92Jqz/dies/3YnrP94K67/eCyu/5875P+qP/T/qEDw/6lA8f+pQvH/qkLx/6pD + 8f+qRPH/q0Xx/6tG8f+rRvH/rEjx/6xI8v+tSfL/rUry/61L8v+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ + 8v+wUPL/sVPy/69O8v+VFO3/kQzt/5IO7f+SDO3/kQzt/5EL7f+RC+3/kArt/5AJ7f+QCO3/jwft/I8H + 7f+PBuyujwfsAI8G7AKPB+wAjwXsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1VvIAslj0ALJW + 8wOyVvMAslbzSrJW8/+yVfL9slXy/7FU8v+xU/L/sVLy/7BR8v+wUfL/sFDy/69P8v+vTvL/sFHy/5kd + 7/+OBe3/kQzt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBLt/5QT7f+VFe3/nCLw/5kk + 6/90HrD/cR+q/3Mgq/9yIav/cyGr/3Qhq/9zIqv/cyKr/3Mjq/90I6v/dCSr/3Qkq/91Jav/dSas/3Un + rP92J6z/dies/3YorP92Kaz/dims/3cprP93Kqz/dyus/3grrP94LKz/eC2s/3gtrP94Lqz/eS6s/3kv + rP95MKz/ejCs/3owrP96Maz/ejKs/3oyrP97Mqz/ezSs/3s0rP98NKz/fDWs/302rP99Nqz/fTat/3Ys + qf9zKqf/njrj/6o/9P+oQPD/qUDx/6lC8f+qQvH/qkPx/6pE8f+rRfH/q0bx/6tG8f+sSPH/rEjy/61J + 8v+tSvL/rUvy/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUPL/s1fy/6g/8f+RC+3/kg7t/5IN + 7f+RDO3/kQvt/5EL7f+QCu3/kAnt/5AI7f+PB+3/jwft/Y8G7P+PBuxKjwbsAI8G7AOOBusAjwPtAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAALNZ8wCyVvMAsFf1AKdR+gCzV/PFslbz/7JV8v2yVfL/sVTy/7FT + 8v+xUvL/sFHy/7BR8v+wUPL/r07y/7FU8v+iMvD/jgTt/5AK7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP + 7f+TD+3/kxDt/5QR7f+UE+3/kw/t/5si7//x4f3/+fP+//Xt+f/17vn/9e75//Xv+f/17/n/9e/5//Xv + +f/17/n/9e/5//Xv+f/17/n/9e/5//Xv+f/17/n/9e/5//Xv+f/17/n/9e/5//Xv+f/17/n/9e/5//Xv + +f/17/n/9e/5//Xw+f/18Pn/9fD5//Xw+f/18Pn/9fD5//Xw+f/28Pn/9vD5//bw+f/28Pn/9vD5//bw + +f/28Pn/9vD5//bw+f/28Pn/9fD5//bw+f/38vr/jlC5/28jpf+fPOT/qj/0/6hA8P+pQPH/qULx/6pC + 8f+qQ/H/qkTx/6tF8f+rRvH/q0bx/6xI8f+sSPL/rUny/61K8v+tS/L/rkzy/65N8v+vTvL/r07y/69P + 8v+wUPL/sFHy/7BS8v+xUvL/s1jy/58q7/+QCO3/kg7t/5EM7f+RC+3/kQvt/5AK7f+QCe3/kAjt/48H + 7f+PB+38jwbs/44F7MSZIOcAkg7rAY4E7ACNBO0AAAAAAAAAAAAAAAAAAAAAAAAAAACzV/QAtVfyALNX + 8wOzV/MAs1fzU7NX8/+yVvP9slXy/7JV8v+xVPL/sVPy/7FS8v+wUfL/sFHy/7BQ8v+wUfL/rEfy/5EL + 7f+QB+3/kArt/5EK7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QT7f+SD+3/nCPv//jw + /v////////7///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //+QVLr/byKl/6A85P+qP/T/qEDw/6lA8f+pQvH/qkLx/6pD8f+qRPH/q0Xx/6tG8f+rRvH/rEjx/6xI + 8v+tSfL/rUry/61L8v+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FS8v+xVfL/sFHy/5UV + 7v+RC+3/kQzt/5EL7f+RC+3/kArt/5AJ7f+QCO3/jwft/48H7f+PBuz9jgXs/44F7FKOBewAjgXsA48F + 6wCPBOsAAAAAAAAAAAAAAAAAAAAAALNY8wCzV/MAtFXzAbZV8wCzV/PEs1fz/7JW8/2yVfL/slXy/7FU + 8v+xU/L/sVLy/7BR8v+wUfL/sE/y/7FU8v+aH+//jQPt/5EK7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO + 7f+SD+3/kw/t/5MQ7f+UEe3/lBPt/5IP7f+cI+//+O/+///////+/f///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+/v/+/v///////49Tuf9vIqX/nzzk/6o/9P+oQPD/qUDx/6lC + 8f+qQvH/qkPx/6pE8f+rRfH/q0bx/6tG8f+sSPH/rEjy/61J8v+tSvL/rUvy/65M8v+uTfL/r07y/69O + 8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7BS8v+0WfL/pz3w/5AI7f+RDe3/kQvt/5EL7f+QCu3/kAnt/5AI + 7f+PB+3/jwft/48G7P2OBez/jgXsxIsJ6gCNCOsBjgTsAI4E7QAAAAAAAAAAAAAAAACqVeoAs1nyALNY + 8wOzWPMAs1jzSbNX8/+zV/P9slbz/7JV8v+yVfL/sVTy/7FT8v+xUvL/sFHy/7BQ8v+yVPL/pzzw/44E + 7f+QCO3/kAnt/5AJ7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UE+3/kg/t/5wj + 7//48P7////////+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////kFO6/28ipf+fPOT/qj/0/6hA8P+pQPH/qULx/6pC8f+qQ/H/qkTx/6tF8f+rRvH/q0bx/6xI + 8f+sSPL/rUny/61K8v+tS/L/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS8v+xU/L/sVPy/7FU + 8v+zWPL/miDv/48I7f+RDO3/kQvt/5AK7f+QCe3/kAjt/48H7f+PB+3/jwbs/44F7P2OBez/jgTsSY4E + 7ACOBOwDjwTrAJkA5gAAAAAAAAAAALRZ8wCzWPMAs1jzArNY8wCzWPOys1fz/7NX8/yyVvP/slXy/7JV + 8v+xVPL/sVPy/7FS8v+wUfL/sFHy/7BR8v+VFe3/jgPs/5AJ7f+QCO3/kAnt/5EK7f+RC+3/kQzt/5IN + 7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QT7f+SD+3/nCPv//jw/v////////7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////+QU7r/byKl/5885P+qP/T/qEDw/6lA + 8f+pQvH/qkLx/6pD8f+qRPH/q0Xx/6tG8f+rRvH/rEjx/6xI8v+tSfL/rUry/61L8v+uTPL/rk3y/69O + 8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT8v+xVPL/sVPy/7RZ8/+rR/L/kQvt/5EL7f+RC+3/kArt/5AJ + 7f+QCO3/jwft/48H7f+PBuz/jgXs/I4F7P+OBOyyjgTsAI4E7AKOBOwAjALrAAAAAAAAAAAAtFrzALNY + 8wKzWPMAs1jzLrNY8/yzV/P/s1fz/rJW8/+yVfL/slXy/7FU8v+xU/L/sVLy/7BQ8v+yVvL/pDbw/40B + 7P+PCO3/jwjt/5AJ7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBPt/5IP + 7f+cI+//+PD+/////////v////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////5BTuv9vIqX/nzzk/6o/9P+oQPD/qUDx/6lC8f+qQvH/qkPx/6pE8f+rRfH/q0bx/6tG + 8f+sSPH/rEjy/61J8v+tSvL/rUvy/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FT + 8v+yVPL/slTy/7Rb8/+dJu//jwbt/5EM7f+QCu3/kAnt/5AI7f+PB+3/jwft/48G7P+OBez+jgXs/44E + 7PuOBOwtjgTsAI4E7AKOBO0AAAAAALVX8wC0WfMAs1jzBLNY8wCzWfOLs1jz/7NX8/uzV/P/slbz/7JV + 8v+yVfL/sVTy/7FT8v+xUvL/sFLy/7BR8v+UEu3/jQPs/48H7f+PCO3/kAnt/5AJ7f+RCu3/kQvt/5EM + 7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UE+3/kg/t/5wj7//48P7////////+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////kFO6/28ipf+fPOT/qj/0/6hA + 8P+pQPH/qULx/6pC8f+qQ/H/qkTx/6tF8f+rRvH/q0bx/6xI8f+sSPL/rUny/61K8v+tS/L/rkzy/65N + 8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS8v+xU/L/sVPy/7JU8v+yVfL/tFnz/61K8v+RC+3/kQrt/5AK + 7f+QCe3/kAjt/48H7f+PB+3/jwbs/44F7P+OBez7jgTs/44E7IqOBOwAjgTsBI4D7ACRAe8AtFrzALRZ + 8wG1WvMAtVrzC7RZ896zWPP/s1fz/bNX8/+yVvP/slXy/7JV8v+xVPL/sVPy/7BR8v+yVvL/pDfw/4wA + 7P+PB+z/jwft/48I7f+QCe3/kAnt/5EK7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QT + 7f+SD+3/nCPv//jw/v////////7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////+QU7r/byKl/5885P+qP/T/qEDw/6lA8f+pQvH/qkLx/6pD8f+qRPH/q0Xx/6tG + 8f+rRvH/rEjx/6xI8v+tSfL/rUry/61L8v+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT + 8v+xVPL/slTy/7JV8v+yVfP/tVzz/50l7/+PBu3/kQvt/5AJ7f+QCO3/jwft/48H7f+PBuz/jgXs/44F + 7P2OBOz/jQPs3Y0C7AuNAuwAjQPsAY0C7QC0WvIAtFnzA7RZ8wC0WfNPtFnz/7NY8/2zV/P/s1fz/7JW + 8/+yVfL/slXy/7FU8v+xU/L/sVLy/7FT8v+WFe3/jAHs/48H7P+PB+3/jwjt/5AJ7f+QCe3/kQrt/5EL + 7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBPt/5IP7f+cI+//+PD+/////////v////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////5BTuv9vIqX/nzzk/6o/ + 9P+oQPD/qUDx/6lC8f+qQvH/qkPx/6pE8f+rRfH/q0bx/6tG8f+sSPH/rEjy/61J8v+tSvL/rUvy/65M + 8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FU8v+yVPL/slXy/7JV8/+1W/P/q0fy/5AJ + 7f+QCu3/kAnt/5AI7f+PB+3/jwft/48G7P+OBez/jgXs/44E7P2NA+z/jQPsTo0D7ACNA+wDjALsALRZ + 8wC0WfMDtFnzALRZ86K0WfP/s1jz/LNX8/+zV/P/slbz/7JV8v+yVfL/sVTy/7FS8v+zVvL/qD/x/40B + 7P+OBuz/jwbs/48H7f+PCO3/kAnt/5AJ7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR + 7f+UE+3/kg/t/5wj7//48P7////////+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////kFO6/28ipf+fPOT/qj/0/6hA8P+pQPD/qEHw/6lC8P+qQ/D/qkTw/6pF + 8P+qRvD/q0bw/6xH8P+rSPH/rEnx/61K8v+tS/L/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS + 8v+xU/L/sVTy/7JU8v+yVfL/slbz/7NW8/+0W/P/mR3u/44G7f+QCu3/kAjt/48H7f+PB+3/jwbs/44F + 7P+OBez/jgTs+40D7P+NA+yhjQPsAI0D7AOOAu0AtFrzAbRb8wC0W/MQtFnz5bRZ8/+zWPP+s1fz/7NX + 8/+yVvP/slXy/7JV8v+xVPL/sVLy/7NX8v+bIe7/jADs/44G7P+PBuz/jwft/48I7f+QCe3/kAnt/5EK + 7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QT7f+SD+3/nCPv//jw/v////////7///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////+QU7r/byKl/6A8 + 5P+qP/T/qEDx/6tB9P+rQvT/rEP0/6xE9P+sRfT/rUb0/61H9P+uR/T/rkj0/65J9P+vSvX/rUry/61L + 8v+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT8v+xVPL/slTy/7JV8v+yVvP/s1bz/7Vd + 8/+mO/H/jgXt/5AK7f+QCO3/jwft/48H7f+PBuz/jgXs/44F7P+OBOz+jQPs/40C7OWNAe0QjQHtAI0C + 7AG0WvMDtFrzALRa80y0WvP/tFnz/bNY8/+zV/P/s1fz/7JW8/+yVfL/slXy/7FT8v+yVfL/rkzx/5AI + 7P+OA+z/jgXs/48G7P+PB+3/jwjt/5AJ7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ + 7f+UEe3/lBPt/5IP7f+cI+//+PD+/////////v////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////5BTuv9vIqX/oD3k/6tC9f+mQOz/oD/k/6FA5P+hQOT/okHk/6JC + 5P+jQ+T/o0Tk/6NE5P+kReT/okTk/6RF5f+sSvH/rUvy/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR + 8v+wUvL/sVPy/7FU8v+yVPL/slXy/7JW8/+zV/P/s1nz/7FU8/+TEO7/jwft/5AJ7f+PB+3/jwft/48G + 7P+OBez/jgXs/44E7P+NA+z9jQLs/40C7EuNAuwAjQLsA7Ra8wS0WvMAtFrzlbRa8/+0WfP7s1jz/7NX + 8/+zV/P/slbz/7JV8v+yVfL/sVLy/7NY8v+jNfD/iwDs/48F7P+OBez/jwbs/48H7f+PCO3/kAnt/5AJ + 7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UE+3/kg/t/5wj7//48P7////////+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////kFO6/28j + pf+eOuP/qjj4/5Mx1v9uJKH/ciam/3Empf9xJqX/cSel/3Inpf9yKKX/cyml/3Qrpv93Mqj/fDSu/6pJ + 7f+uS/P/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS8v+xU/L/sVTy/7JU8v+yVfL/slbz/7NX + 8/+yV/P/tl7z/50n7/+OBO3/kArt/48H7f+PB+3/jwbs/44F7P+OBez/jgTs/40D7PuNAuz/jQLslI0C + 7ACNAuwEtVn3ALVS/AG0WvPTtFrz/7RZ8/2zWPP/s1fz/7NX8/+yVvP/slXy/7JU8v+xU/L/s1fy/5gb + 7v+LAOz/jwXs/44F7P+PBuz/jwft/48I7f+QCe3/kAnt/5EK7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP + 7f+TEO3/lBHt/5QT7f+SD+3/nCPv//jw/v////////7///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+QVLr/biCl/6RI5P++Zvr/ql7f/45Utv+RVbr/kFW5/5BW + uf+RV7n/kVe5/5FXuf+SWbn/kVe4/3o1qf98NK7/qknt/65L8/+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ + 8v+wUfL/sFLy/7FT8v+xVPL/slTy/7JV8v+yVvP/s1fz/7JX8/+2XfP/qUHx/44F7f+QCe3/jwjt/48H + 7f+PBuz/jgXs/44F7P+OBOz/jQPs/Y0C7P+NAuzSkQrjAI4C6QC0WvMAtFryJrRa8/u0WvP/tFnz/rNY + 8/+zV/P/s1fz/7JW8/+yVfL/slTy/7JV8v+uTPH/jwfs/40C7P+OBOz/jgXs/48G7P+PB+3/jwjt/5AJ + 7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBPt/5IP7f+cI+//+PD+//// + /////v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////5FW + uv9qFqT/vX7p///////9/f7//////////////////////////////////v7////////38vr/gUCu/3ox + rf+qSe7/rkvz/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FU8v+yVPL/slXy/7JW + 8/+zV/P/s1jz/7Ra8/+yVfP/kxDu/48H7f+PCO3/jwft/48G7P+OBez/jgXs/44E7P+NA+z+jQLs/40C + 7PuNAuwljQLsALRb8wC0W/NZtFrz/7Ra8/y0WfP/s1jz/7NX8/+zV/P/slbz/7JV8v+xU/L/s1ny/6U5 + 8P+LAOz/jgTs/44E7P+OBez/jwbs/48H7f+PCO3/kAnt/5AJ7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP + 7f+TD+3/kxDt/5QR7f+UE+3/kg/t/5wj7//48P7////////+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////kVa6/2oWpP+9fun///////39/v////////////// + ///////////////////+/v////////fy+v+BQK7/ejGt/6pJ7v+uS/P/rkzy/65N8v+vTvL/r07y/69P + 8v+wUPL/sFHy/7BS8v+xU/L/sVTy/7JU8v+yVfL/slbz/7NX8/+zWPP/s1jz/7Ze8/+bI+//jgPt/5AJ + 7f+PB+3/jwbs/44F7P+OBez/jgTs/40D7P+NAuz8jQLs/40B7FiNAewAtFvzALRb84+0WvP/tFrz+7RZ + 8/+zWPP/s1fz/7NX8/+yVvP/slXy/7FT8v+zWfL/nCPu/4oA7P+OBez/jgTs/44F7P+PBuz/jwft/48I + 7f+QCe3/kAnt/5EK7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QT7f+SD+3/nCPv//jw + /v////////7///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //+RVrr/ahak/7196f///////fz+//////////////////////////////////7+/v//////9vL6/4FA + rv96Ma3/qknu/65L8/+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT8v+xVPL/slTy/7JV + 8v+yVvP/s1fz/7NY8/+zV/P/t1/z/6U58f+OA+3/kAnt/48H7f+PBuz/jgXs/44F7P+OBOz/jQPs/40C + 7PuNAuz/jQHsj40B7ACzW/IAtFvzwLRa8/+0WvP8tFnz/7NY8/+zV/P/s1fz/7JW8/+yVfL/slXy/7FU + 8v+UEe3/iwDs/44E7P+OBOz/jgXs/48G7P+PB+3/jwjt/5AJ7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO + 7f+SD+3/kw/t/5MQ7f+UEe3/lBPt/5IP7f+cI+//+PD+/////////v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////5FWuv9qFqT/vX7p///////9/f7///////// + /////////////////////////v7////////38vr/gUCu/3oxrf+qSe7/rkvz/65M8v+uTfL/r07y/69O + 8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FU8v+yVPL/slXy/7JW8/+zV/P/s1jz/7NY8/+2XfP/rUvy/5AI + 7f+PCO3/jwft/48G7P+OBez/jgXs/44E7P+NA+z/jQLs/I0C7P+NAey/jgLsALdc8w60W/PktFrz/7Ra + 8/60WfP/s1jz/7NX8/+zV/P/slbz/7JV8v+zV/L/rUrx/44E7P+NAuz/jgTs/44E7P+OBez/jwbs/48H + 7f+PCO3/kAnt/5AJ7f+QCu3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UE+3/kg/t/5wj + 7//48P7////////+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////kVa6/2oWpP+9fun///////39/v/////////////////////////////////+/v////////fy + +v+BQK7/ejGt/6pJ7v+uS/P/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS8v+xU/L/sVTy/7JU + 8v+yVfL/slbz/7NX8/+zWPP/s1jz/7Ra8/+zWPP/lBLu/44F7f+PB+3/jwbs/44F7P+OBez/jgTs/40D + 7P+NAuz+jQLs/40B7OOKAewOtVzzL7Vb8/q0WvP/tFrz/rRZ8/+zWPP/s1fz/7NX8/+yVvP/slTy/7RZ + 8v+mO/D/iwDs/40D7P+OA+z/jgTs/44F7P+PBuz/jwft/48I7f+QCe3/kAnt/5EK7f+RC+3/kQzt/5IN + 7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QT7f+SD+3/nCPv//jw/v////////7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////+RVrr/ahak/71+6f///////f3+//// + //////////////////////////////7+////////9/L6/4FArv96Ma3/qknu/65L8/+uTPL/rk3y/69O + 8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT8v+xVPL/slTy/7JV8v+yVvP/s1fz/7NY8/+zWfP/tFnz/7Zf + 8/+bIO//jQPt/48I7f+PBuz/jgXs/44F7P+OBOz/jQPs/40C7P6NAuz/jAHs+YsB7C61W/NStVvz/7Ra + 8/20WvP/tFnz/7NY8/+zV/P/s1fz/7JW8/+xVPL/tVry/6At7/+KAOz/jgTs/40D7P+OBOz/jgXs/48G + 7P+PB+3/jwjt/5AJ7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBPt/5IP + 7f+cI+//+PD+/////////v////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////5FWuv9qFqT/vX7p///////9/f7//////////////////////////////////v7///// + ///38vr/gUCu/3oxrf+qSe7/rkvz/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FU + 8v+yVPL/slXy/7JW8/+zV/P/s1jz/7RZ8/+zWPP/t2Dz/6Ev8P+MAu3/kAjt/48G7P+OBez/jgXs/44E + 7P+NA+z/jQLs/40C7P2MAez/jAHsUbVb83m1W/P/tFrz/LRa8/+0WfP/s1jz/7NX8/+zV/P/slbz/7JU + 8v+0WfL/mR7u/4sA7P+NBOz/jQPs/44E7P+OBez/jwbs/48H7f+PCO3/kAnt/5AJ7f+QCu3/kQvt/5EM + 7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UE+3/kg/t/5wj7//48P7////////+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////kVa6/2oWpP+9fun///////39 + /v/////////////////////////////////+/v////////fy+v+BQK7/ejGt/6pJ7v+uS/P/rkzy/65N + 8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS8v+xU/L/sVTy/7JU8v+yVfL/slbz/7NX8/+zWPP/tFnz/7RY + 8/+2YPP/qD7x/40D7f+PCO3/jwbs/44F7P+OBez/jgTs/40D7P+NAuz/jQLs/IwB7P+MAex4tVzzmLVb + 8/+0WvP8tFrz/7RZ8/+zWPP/s1fz/7NX8/+yVvP/slXy/7NX8v+UE+3/iwDs/40D7P+NA+z/jgTs/44F + 7P+PBuz/jwft/48I7f+QCe3/kAnt/5EK7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QT + 7f+SD+3/nCPv//jw/v////////7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////+RVrr/ahak/71+6f///////f3+//////////////////////////////////7+ + ////////9/L6/4FArv96Ma3/qknu/65L8/+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT + 8v+xVPL/slTy/7JV8v+yVvP/s1fz/7NY8/+0WfP/tFnz/7Ze8/+tSfL/jgXt/48H7f+PBuz/jgXs/44F + 7P+OBOz/jQPs/40C7P+NAuz8jAHs/4wA7Je1XPO3tVvz/7Ra8/20WvP/tFnz/7NY8/+zV/P/s1fz/7JW + 8/+yVvL/sVLy/5EL7f+MAOz/jQPs/40D7P+OBOz/jgXs/48G7P+PB+3/jwjt/5AJ7f+QCe3/kQrt/5EL + 7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBPt/5IP7f+cI+//+PD+/////////v////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////5FWuv9qFqT/vX7p//// + ///9/f7//////////////////////////////////v7////////38vr/gUCu/3oxrf+qSe7/rkvz/65M + 8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FU8v+yVPL/slXy/7JW8/+zV/P/s1jz/7RZ + 8/+0WfP/tV3z/7BR8v+QCu3/jwbt/48G7P+OBez/jgXs/44E7P+NA+z/jQLs/40C7P2MAez/jADstrVc + 8861W/P/tFrz/bRa8/+0WfP/s1jz/7NX8/+zV/P/slXz/7NX8v+uTPH/jgTs/40A7P+NA+z/jQPs/44E + 7P+OBez/jwbs/48H7f+PCO3/kAnt/5AJ7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR + 7f+UE+3/kg/t/5wj7//48P7////////+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////kVa6/2oWpP+9fun///////39/v////////////////////////////// + ///+/v////////fy+v+BQK7/ejGt/6pJ7v+uS/P/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS + 8v+xU/L/sVTy/7JU8v+yVfL/slbz/7NX8/+zWPP/tFnz/7RZ8/+1XPP/s1jz/5MQ7v+OBe3/jwfs/44F + 7P+OBez/jgTs/40D7P+NAuz/jQLs/YwB7P+MAOzNtVzz3rVb8/+0WvP+tFrz/7RZ8/+zWPP/s1fz/7NX + 8/+yVfP/s1jy/6xH8f+MAez/jQHs/40D7P+NA+z/jgTs/44F7P+PBuz/jwft/48I7f+QCe3/kAnt/5AK + 7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QT7f+SD+3/nCPv//jw/v////////7///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////+RVrr/ahak/71+ + 6f///////f3+//////////////////////////////////7+////////9/L6/4FArv96Ma3/qknu/65L + 8/+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT8v+xVPL/slTy/7JV8v+yVvP/s1fz/7NY + 8/+0WfP/tFnz/7Rb8/+1W/P/lRXu/44E7f+PB+z/jgXs/44F7P+OBOz/jQPs/40C7P+NAuz+jAHs/4wA + 7N21XPPrtVvz/7Ra8/60WvP/tFnz/7NY8/+zV/P/s1fz/7JV8/+0WfP/qULx/4sA7P+NAuz/jQPs/40D + 7P+OBOz/jgXs/48G7P+PB+3/jwjt/5AJ7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ + 7f+UEe3/lBPt/5IP7f+cI+//+PD+/////////v////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////5FWuv9qFqT/vX7p///////9/f7///////////////////////// + /////////v7////////38vr/gUCu/3oxrf+qSe7/rkvz/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR + 8v+wUvL/sVPy/7FU8v+yVPL/slXy/7JW8/+zV/P/s1jz/7RZ8/+0WfP/tFrz/7Ze8/+XGu7/jQPs/48H + 7P+OBez/jgXs/44E7P+NA+z/jQLs/40C7P6MAez/jADs6rVc8/S1W/P/tFrz/7Ra8/+0WfP/s1jz/7NX + 8/+zV/P/sVXz/7Ra8/+oPfD/igDs/40C7P+NA+z/jQPs/44E7P+OBez/jwbs/48H7f+PCO3/kAnt/5AJ + 7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UE+3/kg/t/5wj7//48P7////////+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////kVa6/2oW + pP+9fun///////39/v/////////////////////////////////+/v////////fy+v+BQK7/ejGt/6pJ + 7v+uS/P/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS8v+xU/L/sVTy/7JU8v+yVfL/slbz/7NX + 8/+zWPP/tFnz/7RZ8/+0WvP/t1/z/5ke7/+NAuz/kAfs/44F7P+OBez/jgTs/40D7P+NAuz/jQLs/4wB + 7P+MAOz0tVzz+7Vb8/+0WvP/tFrz/7RZ8/+zWPP/s1fz/7NX8/+xVfP/tFrz/6Y78P+KAOz/jQLs/40D + 7P+NA+z/jgTs/44F7P+PBuz/jwft/48I7f+QCe3/kAnt/5EK7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP + 7f+TEO3/lBHt/5QT7f+SD+3/nCPv//jw/v////////7///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+RVrr/ahak/71+6f///////f3+//////////////////// + //////////////7+////////9/L6/4FArv96Ma3/qknu/65L8/+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ + 8v+wUfL/sFLy/7FT8v+xVPL/slTy/7JV8v+yVvP/s1fz/7NY8/+0WfP/tFnz/7Ra8/+3YPP/miHv/40C + 7P+QB+z/jgXs/44F7P+OBOz/jQPs/40C7P+NAuz/jAHs/4wA7Pq1XPP+tVvz/7Ra8/+0WvP/tFnz/7NY + 8/+zV/P/s1fz/7FV8/+0WvP/pjnw/4oA7P+NAuz/jQPs/40D7P+OBOz/jgXs/48G7P+PB+3/jwjt/5AJ + 7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBPt/5IP7f+cI+//+PD+//// + /////v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////5FW + uv9qFqT/vX7p///////9/f7//////////////////////////////////v7////////38vr/gUCu/3ox + rf+qSe7/rkvz/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FU8v+yVPL/slXy/7JW + 8/+zV/P/s1jz/7RZ8/+0WfP/tFrz/7dg8/+bI+//jQLs/5AH7P+OBez/jgXs/44E7P+NA+z/jQLs/40C + 7P+MAez/jADs/rVc8/61W/P/tFrz/7Ra8/+0WfP/s1jz/7NX8/+zV/P/sVXz/7Ra8/+mOfD/igDs/40C + 7P+NA+z/jQPs/44E7P+OBez/jwbs/48H7f+PCO3/kAnt/5AJ7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP + 7f+TD+3/kxDt/5QR7f+UE+3/kg/t/5wj7//48P7////////+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////kVa6/2oWpP+9fun///////39/v////////////// + ///////////////////+/v////////fy+v+BQK7/ejGt/6pJ7v+uS/P/rkzy/65N8v+vTvL/r07y/69P + 8v+wUPL/sFHy/7BS8v+xU/L/sVTy/7JU8v+yVfL/slbz/7NX8/+zWPP/tFnz/7RZ8/+0WvP/t2Dz/5sj + 7/+NAuz/kAfs/44F7P+OBez/jgTs/40D7P+NAuz/jQLs/4wB7P+MAOz+tVzz+7Vb8/+0WvP/tFrz/7RZ + 8/+zWPP/s1fz/7NX8/+xVfP/tFrz/6Y78P+KAOz/jQLs/40D7P+NA+z/jgTs/44F7P+PBuz/jwft/48I + 7f+QCe3/kAnt/5EK7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QT7f+SD+3/nCPv//jw + /v////////7///////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //+RVrr/ahak/71+6f///////f3+//////////////////////////////////7+////////9/L6/4FA + rv96Ma3/qknu/65L8/+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT8v+xVPL/slTy/7JV + 8v+yVvP/s1fz/7NY8/+0WfP/tFnz/7Ra8/+3YPP/miHv/40C7P+QB+z/jgXs/44F7P+OBOz/jQPs/40C + 7P+NAuz/jAHs/4wA7Pq1XPP0tVvz/7Ra8/+0WvP/tFnz/7NY8/+zV/P/s1fz/7FV8/+0WvP/qD3w/4oA + 7P+NAuz/jQPs/40D7P+OBOz/jgXs/48G7P+PB+3/jwjt/5AJ7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO + 7f+SD+3/kw/t/5MQ7f+UEe3/lBPt/5IP7f+cI+//+PD+/////////v////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////5FWuv9qFqT/vX7p///////9/f7///////// + /////////////////////////v7////////38vr/gUCu/3oxrf+qSe7/rkvz/65M8v+uTfL/r07y/69O + 8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FU8v+yVPL/slXy/7JW8/+zV/P/s1jz/7RZ8/+0WfP/tFrz/7df + 8/+aHu//jQLs/5AH7P+OBez/jgXs/44E7P+NA+z/jQLs/40C7P+MAez/jADs9LVc8+u1W/P/tFrz/rRa + 8/+0WfP/s1jz/7NX8/+zV/P/slXz/7RZ8/+pQvH/iwDs/40C7P+NA+z/jQPs/44E7P+OBez/jwbs/48H + 7f+PCO3/kAnt/5AJ7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UE+3/kg/t/5wj + 7//48P7////////+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////kVa6/2oWpP+9fun///////39/v/////////////////////////////////+/v////////fy + +v+BQK7/ejGt/6pJ7v+uS/P/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS8v+xU/L/sVTy/7JU + 8v+yVfL/slbz/7NX8/+zWPP/tFnz/7RZ8/+0WvP/tl7z/5ca7v+NA+z/jwfs/44F7P+OBez/jgTs/40D + 7P+NAuz/jQLs/owB7P+MAOzqtVzz3rVb8/+0WvP+tFrz/7RZ8/+zWPP/s1fz/7NX8/+yVfP/s1jy/6xG + 8f+MAez/jQHs/40D7P+NA+z/jgTs/44F7P+PBuz/jwft/48I7f+QCe3/kAnt/5AK7f+RC+3/kQzt/5IN + 7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QT7f+SD+3/nCPv//jw/v////////7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////+RVrr/ahak/71+6f///////f3+//// + //////////////////////////////7+////////9/L6/4FArv96Ma3/qknu/65L8/+uTPL/rk3y/69O + 8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT8v+xVPL/slTy/7JV8v+yVvP/s1fz/7NY8/+0WfP/tFnz/7Rb + 8/+1W/P/lRXu/44E7f+PB+z/jgXs/44F7P+OBOz/jQPs/40C7P+NAuz+jAHs/4wA7N21XPPOtVvz/7Ra + 8/20WvP/tFnz/7NY8/+zV/P/s1fz/7JV8/+zV/L/rkzx/44E7P+NAOz/jQPs/40D7P+OBOz/jgXs/48G + 7P+PB+3/jwjt/5AJ7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBPt/5IP + 7f+cI+//+PD+/////////v////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////5FWuv9qFqT/vX7p///////9/f7//////////////////////////////////v7///// + ///38vr/gUCu/3oxrf+qSe7/rkvz/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FU + 8v+yVPL/slXy/7JW8/+zV/P/s1jz/7RZ8/+0WfP/tFzz/7NY8/+TEO7/jgXt/48H7P+OBez/jgXs/44E + 7P+NA+z/jQLs/40C7P2MAez/jADszbVc87e1W/P/tFrz/bRa8/+0WfP/s1jz/7NX8/+zV/P/slbz/7JW + 8v+xUvL/kQvt/4wA7P+NA+z/jQPs/44E7P+OBez/jwbs/48H7f+PCO3/kAnt/5AJ7f+RCu3/kQvt/5EM + 7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UE+3/kg/t/5wj7//48P7////////+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////kVa6/2oWpP+9fun///////39 + /v/////////////////////////////////+/v////////fy+v+BQK7/ejGt/6pJ7v+uS/P/rkzy/65N + 8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS8v+xU/L/sVTy/7JU8v+yVfL/slbz/7NX8/+zWPP/tFnz/7RZ + 8/+1XfP/sFHy/5AK7f+PBu3/jwbs/44F7P+OBez/jgTs/40D7P+NAuz/jQLs/YwB7P+MAOy2tVzzmLVb + 8/+0WvP8tFrz/7RZ8/+zWPP/s1fz/7NX8/+yVvP/slXy/7NW8v+UE+3/iwDs/40D7P+NA+z/jgTs/44F + 7P+PBuz/jwft/48I7f+QCe3/kAnt/5EK7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QT + 7f+SD+3/nCPv//jw/v////////7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////+RVrr/ahak/71+6f///////f3+//////////////////////////////////7+ + ////////9/L6/4FArv96Ma3/qknu/65L8/+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT + 8v+xVPL/slTy/7JV8v+yVvP/s1fz/7NY8/+0WfP/tFnz/7Ze8/+tSfL/jgXt/48H7f+PBuz/jgXs/44F + 7P+OBOz/jQPs/40C7P+NAuz8jAHs/4wA7Je1W/N5tVvz/7Ra8/y0WvP/tFnz/7NY8/+zV/P/s1fz/7JW + 8/+yVPL/tFny/5ke7v+LAOz/jQTs/40D7P+OBOz/jgXs/48G7P+PB+3/jwjt/5AJ7f+QCe3/kArt/5EL + 7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBPt/5IP7f+cI+//+PD+/////////v////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////5FWuv9qFqT/vX7p//// + ///9/f7//////////////////////////////////v7////////38vr/gUCu/3oxrf+qSe7/rkvz/65M + 8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FU8v+yVPL/slXy/7JW8/+zV/P/s1jz/7RZ + 8/+0WPP/tmDz/6g+8f+NA+3/jwjt/48G7P+OBez/jgXs/44E7P+NA+z/jQLs/40C7PyMAez/jAHseLVb + 81K1W/P/tFrz/bRa8/+0WfP/s1jz/7NX8/+zV/P/slbz/7FU8v+1WvL/oC3v/4oA7P+OBOz/jQPs/44E + 7P+OBez/jwbs/48H7f+PCO3/kAnt/5AJ7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR + 7f+UE+3/kg/t/5wj7//48P7////////+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////kVa6/2oWpP+9fun///////39/v////////////////////////////// + ///+/v////////fy+v+BQK7/ejGt/6pJ7v+uS/P/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS + 8v+xU/L/sVTy/7JU8v+yVfL/slbz/7NX8/+zWPP/tFnz/7NY8/+3YPP/oS/w/4wC7f+QCO3/jwbs/44F + 7P+OBez/jgTs/40D7P+NAuz/jQLs/YwB7P+MAexRtVvzL7Rb8/q0WvP/tFrz/rRZ8/+zWPP/s1fz/7NX + 8/+yVvP/slTy/7RZ8v+mO/D/iwDs/40D7P+OA+z/jgTs/44F7P+PBuz/jwft/48I7f+QCe3/kAnt/5EK + 7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QT7f+SD+3/nCPv//jw/v////////7///// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////+RVrr/ahak/71+ + 6f///////f3+//////////////////////////////////7+////////9/L6/4FArv96Ma3/qknu/65L + 8/+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT8v+xVPL/slTy/7JV8v+yVvP/s1fz/7NY + 8/+zWfP/tFnz/7Zf8/+bIe//jQPt/48I7f+PBuz/jgXs/44F7P+OBOz/jQPs/40C7P6NAuz/jQHs+YwB + 7C62XPIPtFvz5LRa8/+0WvP+tFnz/7NY8/+zV/P/s1fz/7JW8/+yVfL/s1fy/61K8f+OBOz/jQLs/44E + 7P+OBOz/jgXs/48G7P+PB+3/jwjt/5AJ7f+QCe3/kArt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ + 7f+UEe3/lBPt/5IP7f+cI+//+PD+/////////v////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////5FWuv9qFqT/vX7p///////9/f7///////////////////////// + /////////v7////////38vr/gUCu/3oxrf+qSe7/rkvz/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR + 8v+wUvL/sVPy/7FU8v+yVPL/slXy/7JW8/+zV/P/s1jz/7NY8/+0WvP/s1jz/5QS7v+OBe3/jwft/48G + 7P+OBez/jgXs/44E7P+NA+z/jQLs/o0C7P+NAezjigHsDrNa8wC0W/PAtFrz/7Ra8/y0WfP/s1jz/7NX + 8/+zV/P/slbz/7JV8v+yVfL/sVTy/5QR7f+LAOz/jgTs/44E7P+OBez/jwbs/48H7f+PCO3/kAnt/5AJ + 7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UE+3/kg/t/5wj7//48P7////////+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////kVa6/2oW + pP+9fun///////39/v/////////////////////////////////+/v////////fy+v+BQK7/ejGt/6pJ + 7v+uS/P/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS8v+xU/L/sVTy/7JU8v+yVfL/slbz/7NX + 8/+zWPP/s1jz/7Zd8/+tTPL/kAjt/48H7f+PB+3/jwbs/44F7P+OBez/jgTs/40D7P+NAuz8jQLs/40B + 7L+PAuwAtFvzALRb85C0WvP/tFrz+7RZ8/+zWPP/s1fz/7NX8/+yVvP/slXy/7FT8v+zWfL/myLu/4oA + 7P+OBez/jgTs/44F7P+PBuz/jwft/48I7f+QCe3/kAnt/5EK7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP + 7f+TEO3/lBHt/5QT7f+SD+3/nCPv//jv/v///////v7///////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v////////////+RVrn/aRak/71+6f///////f3+//////////////////// + //////////////7+////////9/L6/4FArv96Ma3/qknu/65L8/+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ + 8v+wUfL/sFLy/7FT8v+xVPL/slTy/7JV8v+yVvP/s1fz/7NY8/+zV/P/t1/z/6U58f+OA+3/kAnt/48H + 7f+PBuz/jgXs/44F7P+OBOz/jQPs/40C7PuNAuz/jQHsj40B7AC0W/MAtFvzWbRa8/+0WvP8tFnz/7NY + 8/+zV/P/s1fz/7JW8/+yVfL/sVPy/7NZ8v+lOfD/iwDs/44E7P+OBOz/jgXs/48G7P+PB+3/jwjt/5AJ + 7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBPt/5IP7f+cI+//+PD+//// + /////v////////////////////////////////////////////////////////////////////////7/ + /v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7/ + /v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7//v/+//7+/v/+//7////+/7Fh + 6P+TJeD/xIDz///////+/f///////////////////////////////////v7////////38vr/gUCu/3ox + rf+qSe7/rkvz/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FU8v+yVPL/slXy/7JW + 8/+zV/P/s1jz/7NY8/+2XvP/myPv/44D7f+QCe3/jwft/48G7P+OBez/jgXs/44E7P+NA+z/jQLs/I0C + 7P+NAexZjQHsALRb8wC0W/MmtFrz/LRa8/+0WfP+s1jz/7NX8/+zV/P/slbz/7JV8v+yVPL/slXy/65M + 8f+PB+z/jQLs/44E7P+OBez/jwbs/48H7f+PCO3/kAnt/5AJ7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP + 7f+TD+3/kxDt/5QR7f+UE+3/kg/t/5wj7//48P7////////+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////vmb6/6Mr9//Igvn///////79//////////////// + ///////////////////+/v////////fy+v+BQK7/ejGt/6pJ7v+uS/P/rkzy/65N8v+vTvL/r07y/69P + 8v+wUPL/sFHy/7BS8v+xU/L/sVTy/7JU8v+yVfL/slbz/7NX8/+zWPP/tFrz/7JV8/+TEO7/jwft/48I + 7f+PB+3/jwbs/44F7P+OBez/jgTs/40D7P6NAuz/jQLs+40C7CWNAuwAtFrzALRV8wG0WvPTtFrz/7RZ + 8/2zWPP/s1fz/7NX8/+yVvP/slXy/7JU8v+xU/L/s1fy/5gb7v+LAOz/jwXs/44F7P+PBuz/jwft/48I + 7f+QCe3/kAnt/5EK7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QS7f+UEu3/lhfu/6g+ + 8f+qQvH/qkLx/6pC8f+qQ/H/qkTx/6tF8f+rRfH/q0bx/6xH8f+sR/H/rEjx/61J8f+tSvH/r07z/6xN + 7v+gS9v/oUzb/6FM2/+hTdv/oU7b/6FO2/+iT9v/olDb/6JQ2/+jUdv/o1Hb/6NS2/+jU9v/o1Pb/6RU + 2/+kVNz/pFXc/6VW3P+lVtz/pVfc/6ZX3P+mWNz/pljc/6ZZ3P+nWtz/p1rc/6db3P+oXNz/qFzc/6hd + 3P+cQ9r/kCzW/7t95v///////v3///////////////////////////////////7+////////9/L6/4FA + rv96Ma3/qknu/65L8/+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT8v+xVPL/slTy/7JV + 8v+yVvP/s1fz/7JX8/+2XfP/qUHx/44F7f+QCe3/jwjt/48H7f+PBuz/jgXs/44F7P+OBOz/jQPs/Y0C + 7P+NAuzSjxXmAY4G6gC0WvMEtFrzALRa85W0WvP/tFnz+7NY8/+zV/P/s1fz/7JW8/+yVfL/slXy/7FS + 8v+zWPL/ozXw/4sA7P+PBez/jgXs/48G7P+PB+3/jwjt/5AJ7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO + 7f+SD+3/kw/t/5MQ7f+UEe3/lBLt/5QT7f+VE+3/kQzt/5EM7f+SDe3/kg7t/5MP7f+TEO3/kxDt/5QR + 7f+UEu3/lRPt/5UU7f+VFe3/lhbt/5QU7P+SCvD/hwnf/10Bnv9eAZ7/XwGe/14Cnv9eA57/XgSe/18E + nv9gBZ7/YAae/2EGnv9hB57/YQie/2EJnv9hCZ7/Ygme/2IKnv9iC57/Ywue/2MMnv9jDZ7/Yw6e/2MO + nv9kD57/ZBCe/2URnv9lEZ7/ZRGe/2YTnv9mE57/ZhOf/2seof9hEJr/nWrA///////9/P7///////// + /////////////////////////v7////////38vr/gUCu/3oxrf+qSe7/rkvz/65M8v+uTfL/r07y/69O + 8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FU8v+yVPL/slXy/7JW8/+zV/P/slfz/7Ze8/+dJ+//jgTt/5AK + 7f+PB+3/jwft/48G7P+OBez/jgXs/44E7P+NA+z7jQLs/40C7JSNAuwAjQLsBLRa8wO0WvMAtFrzTbRa + 8/+0WfP9s1jz/7NX8/+zV/P/slbz/7JV8v+yVfL/sVPy/7JV8v+uTPH/kAjs/44D7P+OBez/jwbs/48H + 7f+PCO3/kAnt/5AJ7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UEu3/lBPt/5UU + 7v+WF+7/lhju/5cY7v+XGe7/mBru/5gb7v+YHO7/mR3u/5ke7v+aHu7/mh/u/5oh7v+aHu7/oTDv/79w + 9v+5b+z/oWrH/6Fqx/+hasf/oWvH/6Frx/+hbMf/omzH/6Jtx/+ibcf/o23H/6Nux/+jbsf/o2/H/6Nv + x/+jb8f/o3DH/6Rwx/+kcMf/pHHH/6Rxx/+kcsf/pHLH/6Vyx/+lc8f/pXPH/6Vzx/+ldMf/pnXH/6Z1 + x/+mdcf/p3bI/6BsxP/Eo9r///////79/v/////////////////////////////////+/v////////fy + +v+BQK7/ejGt/6pJ7v+uS/P/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS8v+xU/L/sVTy/7JU + 8v+yVfL/slbz/7NX8/+zWfP/sVTz/5MQ7v+PB+3/kAnt/48H7f+PB+3/jwbs/44F7P+OBez/jgTs/40D + 7P2NAuz/jQLsTI0C7ACNAuwDtFrzAbNb8wCzW/MRtFnz5rRZ8/+zWPP+s1fz/7NX8/+yVvP/slXy/7JV + 8v+xVPL/sVLy/7NX8v+bIe7/jADs/44G7P+PBuz/jwft/48I7f+QCe3/kAnt/5EK7f+RC+3/kQzt/5IN + 7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QS7f+UE+3/lRTu/5UU7v+WFu7/lhbu/5YX7v+XGO7/lxnu/5ca + 7v+YGu7/mBzu/5kc7v+ZHe7/miDu/5YW7f+tSvH///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+////////9/L6/4FArv96Ma3/qknu/65L8/+uTPL/rk3y/69O + 8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT8v+xVPL/slTy/7JV8v+yVvP/s1bz/7Vd8/+mO/H/jgXt/5AK + 7f+QCO3/jwft/48H7f+PBuz/jgXs/44F7P+OBOz+jQPs/40C7OWNAewQjQHsAI0C7AG0WfMAtFnzA7RZ + 8wC0WfOjtFnz/7NY8/yzV/P/s1fz/7JW8/+yVfL/slXy/7FU8v+xUvL/s1by/6g/8f+NAez/jgbs/48G + 7P+PB+3/jwjt/5AJ7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBLt/5QT + 7f+VFO7/lRTu/5YW7v+WFu7/lhfu/5cY7v+XGe7/lxru/5ga7v+YHO7/mRzu/5kd7v+aIO7/lhbt/6xI + 8f/+/f///vz///38/v/9/P7//fz+//38/v/9/P7//fz+//38/v/9/P7//fz+//38/v/9/P7//fz+//38 + /v/9/P7//fz+//38/v/9/P7//fz+//38/v/9/P7//fz+//38/v/9/P7//fz+//38/v/9/P7//fz+//38 + /v/9/P7//fz+//38/v/9/P7//v3+/////////////////////////////////////////////v7///// + ///38vr/gUCu/3oxrf+qSe7/rkvz/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FU + 8v+yVPL/slXy/7JW8/+zVvP/tFvz/5kd7v+OBu3/kArt/5AI7f+PB+3/jwft/48G7P+OBez/jgXs/44E + 7PuNA+z/jQPsoo0D7ACNBOwDjQLrALNZ8wC0WfMDtFnzALRZ80+0WfP/s1jz/bNX8/+zV/P/slbz/7JV + 8v+yVfL/sVTy/7FT8v+xUvL/sVPy/5YV7f+MAez/jwfs/48H7f+PCO3/kAnt/5AJ7f+RCu3/kQvt/5EM + 7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UEu3/lBPt/5UU7v+VFO7/lhbu/5YW7v+WF+7/lxju/5cZ + 7v+XGu7/mBru/5gc7v+ZHO7/mR3u/5og7v+WFu3/rEjx//////////////7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////+/v////////fy+v+BQK7/ejGt/6pJ7v+uS/P/rkzy/65N + 8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS8v+xU/L/sVTy/7JU8v+yVfL/slXz/7Vb8/+rR/L/kAnt/5AK + 7f+QCe3/kAjt/48H7f+PB+3/jwbs/44F7P+OBez/jgTs/Y0D7P+NA+xOjQPsAI0D7AONAuwAtFjzALRZ + 8wG1WvMAtVrzDLRZ896zWPP/s1fz/bNX8/+yVvP/slXy/7JV8v+xVPL/sVPy/7BR8v+yVvL/pDbw/4wA + 7P+PB+z/jwft/48I7f+QCe3/kAnt/5EK7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QS + 7f+UE+3/lRTu/5UU7v+WFu7/lhbu/5YX7v+XGO7/lxnu/5ca7v+YGu7/mBzu/5kc7v+ZHe7/miDu/5YW + 7f+sSPH///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////7+ + ////////9/L6/4FArv96Ma3/qknu/65L8/+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT + 8v+xVPL/slTy/7JV8v+yVfP/tVzz/50l7/+PBu3/kQvt/5AJ7f+QCO3/jwft/48H7f+PBuz/jgXs/44F + 7P2OBOz/jQPs3owC7AuMAuwAjQPsAYwC6wC4XPMAs1jzALNY8wSzWPMAs1jzi7NY8/+zV/P7s1fz/7JW + 8/+yVfL/slXy/7FU8v+xU/L/sVLy/7BS8v+wUfL/lBLt/40D7P+PB+3/jwjt/5AJ7f+QCe3/kQrt/5EL + 7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBLt/5QT7f+VFO7/lRTu/5YW7v+WFu7/lhfu/5cY + 7v+XGe7/lxru/5ga7v+YHO7/mRzu/5kd7v+aIO7/lhbt/6xI8f////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7////////38vr/gUCu/3oxrf+qSe7/rkvz/65M + 8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUvL/sVPy/7FT8v+yVPL/slXy/7RZ8/+tSvL/kQvt/5EK + 7f+QCu3/kAnt/5AI7f+PB+3/jwft/48G7P+OBez/jgXs+44E7P+NBOyKjgTsAI4E7ASNA+wAkgHvAAAA + AACzWPMAs1jzArNY8wCzWPMus1jz/LNX8/+zV/P+slbz/7JV8v+yVfL/sVTy/7FT8v+xUvL/sFDy/7JW + 8v+kNvD/jQHs/5AI7f+PCO3/kAnt/5AJ7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR + 7f+UEu3/lBPt/5UU7v+VFO7/lhbu/5YW7v+WF+7/lxju/5cZ7v+XGu7/mBru/5gc7v+ZHO7/mR3u/5og + 7v+WFu3/rEjx//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v////////fy+v+BQK7/ejGt/6pJ7v+uS/P/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS + 8v+xU/L/sVPy/7JU8v+yVPL/tFvz/50m7/+PBu3/kQzt/5AK7f+QCe3/kAjt/48H7f+PB+3/jwbs/44F + 7P6OBez/jgTs/I4E7C6OBOwAjgTsAo0E7QAAAAAAAAAAALRZ8wCyWPMAtFjzArNY8wCzWPOzs1fz/7NX + 8/yyVvP/slXy/7JV8v+xVPL/sVPy/7FS8v+wUfL/sFHy/7BR8v+VFO3/jgPs/5AJ7f+QCO3/kAnt/5EK + 7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QS7f+UE+3/lRTu/5UU7v+WFu7/lhbu/5YX + 7v+XGO7/lxnu/5ca7v+YGu7/mBzu/5kc7v+ZHe7/miDu/5YW7f+sSPH///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////7+////////9/L6/4FArv96Ma7/qknu/65L + 8/+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUfL/sFLy/7FT8v+xVPL/sVPy/7NZ8/+sSPL/kQvt/5EL + 7f+RC+3/kArt/5AJ7f+QCO3/jwft/48H7f+PBuz/jgXs/I4F7P+OBOyxjgTsAI0E7AKPBOwAjQLsAAAA + AAAAAAAAqlXqALNZ8gCzWPMDs1jzALNY80qzV/P/s1fz/bJW8/+yVfL/slXy/7FU8v+xU/L/sVLy/7BR + 8v+wUPL/slTy/6c88P+OBO3/kAjt/5AJ7f+QCe3/kQrt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ + 7f+UEe3/lBLt/5QT7f+VFO7/lRTu/5YW7v+WFu7/lhfu/5cY7v+XGe7/lxru/5ga7v+YHO7/mRzu/5kd + 7v+aIO7/lhbt/6xI8f////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7////////28vr/gD+t/3kxrP+qSe7/rkvz/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR + 8v+wUvL/sVPy/7FT8v+xVPL/s1jy/5og7/+PCO3/kQzt/5EL7f+QCu3/kAnt/5AI7f+PB+3/jwft/48G + 7P+OBez9jgXs/44E7EaOBOwAjgTsA40E7QCLAOgAAAAAAAAAAAAAAAAAs1jzALNY8wCyVPUBtVT3ALNX + 88WzV/P/slbz/bJV8v+yVfL/sVTy/7FT8v+xUvL/sFHy/7BR8v+wT/L/sVPy/5kf7/+NA+3/kQrt/5AJ + 7f+RCu3/kQvt/5EM7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UEu3/lBPt/5UU7v+VFO7/lhbu/5YW + 7v+WF+7/lxju/5cZ7v+XGu7/mBru/5gc7v+ZHO7/mR3u/5og7v+WFu3/rEjx/////////v///v7////+ + /////v////7////+/////v////7////+/////v////7////+/////v////7////+/////v////7////+ + /////v////7////+/////v////7////+/////v////7////+/////v////7////+/////v////7////+ + /////v////7////+/////v////7////+/////v////7////+///+/f////////bx+v+EQbP/fjOy/6pK + 7v+uS/P/rkzy/65N8v+vTvL/r07y/69P8v+wUPL/sFHy/7BS8v+xU/L/sFLy/7RZ8v+nPfD/kAjt/5EN + 7f+RC+3/kQvt/5AK7f+QCe3/kAjt/48H7f+PB+3/jwbs/Y4F7P+OBezEiQvuAIwJ7QGPBOwAjwTsAAAA + AAAAAAAAAAAAAAAAAAC0WfQAtFfzALNX8wOzV/MAs1fzVLNX8/+yVvP8slXy/7JV8v+xVPL/sVPy/7FS + 8v+wUfL/sFHy/7BQ8v+wUfL/q0fy/5EL7f+QCO3/kArt/5EK7f+RC+3/kQzt/5IN7f+SDu3/kg/t/5MP + 7f+TEO3/lBHt/5QS7f+UE+3/lRTu/5UU7v+WFu7/lhbu/5YX7v+XGO7/lxnu/5ca7v+YGu7/mBzu/5kc + 7v+ZHe7/miDu/5YW7f+tSfH///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+////////+fP+/65T7v+oRe7/rUvy/61L8v+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ + 8v+wUfL/sFLy/7FS8v+xVPL/sFHy/5UV7v+RC+3/kQzt/5EL7f+RC+3/kArt/5AJ7f+QCO3/jwft/48H + 7f+PBuz9jgXs/44F7FOOBewAjgXsA5AF6wCPBewAAAAAAAAAAAAAAAAAAAAAAAAAAACzWPMAs1fzAK1R + 8wBHAPAAs1fzxbJW8/+yVfL9slXy/7FU8v+xU/L/sVLy/7BR8v+wUfL/sFDy/69O8v+xVPL/ojLw/44E + 7f+QCu3/kQrt/5EL7f+RDO3/kg3t/5IO7f+SD+3/kw/t/5MQ7f+UEe3/lBLt/5QT7f+VFO7/lRTu/5YW + 7v+WFu7/lhfu/5cY7v+XGe7/lxru/5ga7v+YHO7/mRzu/5kd7v+aIO7/lhft/6tG8f/48P7/+PD+//jv + /v/48P7/+PD+//jw/v/48P7/+PD+//jw/v/48P7/+PD+//jw/v/48P7/+PD+//jw/v/48P7/+fH+//nx + /v/58f7/+fH+//nx/v/58f7/+fH+//nx/v/58f7/+fH+//nx/v/58f7/+fH+//nx/v/58f7/+fH+//nx + /v/58f7/+fL+//ny/v/58v7/+fL+//ny/v/58v7/+fL+//ny/v/58v7/+fH+//v1/v/05/3/slTz/6xH + 8/+tS/L/rUvy/65M8v+uTfL/r07y/69O8v+vT/L/sFDy/7BR8v+wUvL/sVLy/7NY8v+fKu//kAjt/5IO + 7f+RDO3/kQvt/5EL7f+QCu3/kAnt/5AI7f+PB+3/jwft/Y8G7P+OBezErSPtAJcN7ACNBewAjgTsAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAALVX8gCzWPUAslbzA7JW8wCyVvNLslbz/7JV8v2yVfL/sVTy/7FT + 8v+xUvL/sFHy/7BR8v+wUPL/r0/y/69O8v+wUfL/mR3u/44F7f+RC+3/kQvt/5EM7f+SDe3/kg7t/5IP + 7f+TD+3/kxDt/5QR7f+UEu3/lBPt/5UU7v+VFO7/lhbu/5YW7v+WF+7/lxju/5cZ7v+XGu7/mBru/5gc + 7v+ZHO7/mR3u/5ke7v+aHu7/myLu/6Ev7/+hL/D/oTDw/6Ix8P+iMvD/ozLw/6Mz8P+jNPD/pDXw/6Q2 + 8P+kN/D/pTfw/6U48P+lOfD/pjrw/6Y78P+nO/H/pzzx/6c98f+oPvH/qD/x/6k/8f+pQPH/qUHx/6pC + 8f+qQ/H/qkTx/6tE8f+rRfH/q0bx/6tH8f+sR/L/rUjy/6xJ8v+tSvL/rUvy/65M8v+uTPL/rk3y/69O + 8v+vT/L/r1Dy/7BR8v+wUfL/sVLy/7FS8v+sSfH/rEny/61K8v+tS/L/rkzy/65N8v+vTvL/r07y/69P + 8v+wUPL/sFHy/7BR8v+zV/L/qD/x/5EL7f+SDu3/kg3t/5EM7f+RC+3/kQvt/5AK7f+QCe3/kAjt/48H + 7f+PB+39jwbs/48G7EqPBuwAjwbsA44G6gCOA+0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALNX + 8wCyVfMAsVbzArFV8wCyVvO0slXy/7JV8vyxVPL/sVPy/7FS8v+wUfL/sFHy/7BQ8v+vUPL/r07y/7BQ + 8v+sSPL/kg7t/5AJ7f+RDO3/kQzt/5IN7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QS7f+UE+3/lRTu/5UU + 7v+WFu7/lhbu/5YX7v+XGO7/lxnu/5ca7v+YGu7/mBzu/5kc7v+ZHe7/mR7u/5of7v+aH+7/mR3u/5ke + 7/+ZH+//miDv/5oh7/+bIe//myLv/5sj7/+cJO//nCXv/50m7/+dJ+//nSjv/54o7/+eKe//nirv/58r + 8P+fLPD/oC3w/6Eu8P+gL/D/oS/w/6Ew8P+iMfD/ozLw/6Iz8P+jNPD/pDXw/6Q18P+kN/D/pDfw/6U4 + 8f+mOfH/pTrx/6Y78f+nPPH/pz3x/6g98f+oPvH/qD/x/6lA8f+pQfH/qkLx/6pD8f+qQ/H/q0Xx/6xI + 8f+tSfL/rUry/61L8v+uTPL/rk3y/69O8v+vTvL/r0/y/7BQ8v+wUPL/sVPy/69O8v+VFO3/kQzt/5IO + 7f+SDO3/kQzt/5EL7f+RC+3/kArt/5AJ7f+QCO3/jwft/I8H7f+PBuyzjwfrAI8H7AKPBuwAjgXsAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs1f0ALNW8wCyVvMCslbzALJW8zGyVfL5slXy/7FU + 8v6xU/L/sVLy/7BR8v+wUfL/sFDy/69Q8v+vT/L/r03y/7BR8v+mO/H/kAjt/5EL7f+RDO3/kg3t/5IO + 7f+SD+3/kw/t/5MQ7f+UEe3/lBLt/5QT7f+VFO7/lRTu/5YW7v+WFu7/lhfu/5cY7v+XGe7/lxru/5ga + 7v+YHO7/mRzu/5kd7v+ZHu7/mh/u/5og7v+bIu7/myLv/5sj7/+cJO//nCXv/50m7/+eJ+//nSjv/54o + 7/+eKe//nyrv/58r7/+fLO//oC3v/6Au7/+gLu//oS/w/6Ew8P+iMfD/ojLw/6Iz8P+jNPD/ozTw/6Q1 + 8P+kNvD/pDfw/6U48P+lOfD/pTrw/6Y78P+mO/D/pzzx/6c98f+nPvH/qD/x/6hA8f+pQfH/qUHx/6lC + 8f+qQ/H/qkTx/6pF8f+rRvH/q0bx/6xH8f+sSPH/rEjy/61J8v+tSvL/rUvy/65M8v+uTfL/r07y/69O + 8v+vT/L/sFDy/7BR8v+xVPL/myHu/5EL7f+SD+3/kg3t/5IM7f+RDO3/kQvt/5EL7f+QCu3/kAnt/5AI + 7f6PB+3/jwft+I8H7DGPB+wAjwfsAo0F6wCNBOsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAslbzAMVj+ACyVfIDslXyALJV8omyVfL/sVTy+7FT8v+xUvL/sFHy/7BR8v+wUPL/r1Dy/69P + 8v+vTvL/rkzy/7BR8v+hLvD/jwbt/5IN7f+SDe3/kg7t/5IP7f+TD+3/kxDt/5QR7f+UEu3/lBPt/5UU + 7v+VFO7/lhbu/5YW7v+WF+7/lxju/5cZ7v+XGu7/mBru/5gc7v+ZHO7/mR3u/5ke7v+aH+7/miDu/5sh + 7v+bIu//myLv/5wj7/+cJO//nCXv/50m7/+dJ+//nijv/54o7/+eKe//nyrv/58r7/+gLO//oC3v/6At + 7/+hL/D/oS/w/6Ew8P+iMfD/ojLw/6Mz8P+jM/D/ozXw/6Q18P+kNvD/pTfw/6U48P+lOfD/pjrw/6Y7 + 8P+mO/H/pzzx/6c98f+oPvH/qD/x/6hA8f+pQPH/qULx/6pC8f+qQ/H/qkTx/6tF8f+rRvH/q0bx/6xI + 8f+sSPL/rUny/61K8v+tS/L/rkzy/65N8v+vTfL/r07y/69P8v+vT/L/slby/6Au7/+RC+3/kxDt/5IO + 7f+SDe3/kgzt/5EM7f+RC+3/kQvt/5AK7f+QCe3/kAjt+48H7f+PB+2JjwftAI8H7QOTAOMAjwbsAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzVfQAslbzALJV8gGzV/EAslbyDLJU + 8tSxVPL/sVPy/bFS8v+wUfL/sFHy/7BQ8v+vUPL/r0/y/69O8v+uTfL/rkzy/7BP8v+cJO//jwft/5MO + 7f+SDu3/kg/t/5MP7f+TEO3/lBHt/5QS7f+UE+3/lRTu/5UU7v+WFu7/lhbu/5YX7v+XGO7/lxnu/5ca + 7v+YGu7/mBzu/5kc7v+ZHe7/mR7u/5of7v+aIO7/myHu/5si7/+bIu//nCPv/5wk7/+cJe//nSbv/50n + 7/+eKO//nijv/54p7/+fKu//nyvv/6As7/+gLe//oC3v/6Ev8P+hL/D/oTDw/6Ix8P+iMvD/ozPw/6Mz + 8P+jNfD/pDXw/6Q28P+lN/D/pTjw/6U58P+mOvD/pjvw/6Y78f+nPPH/pz3x/6g+8f+oP/H/qEDx/6lA + 8f+pQvH/qkLx/6pD8f+qRPH/q0Xx/6tG8f+rRvH/rEjx/6xI8v+tSfL/rUry/61L8v+uTPL/rk3y/69N + 8v+vTvL/rk7y/7JV8v+lOPD/kQ3t/5MQ7f+TD+3/kg7t/5IN7f+SDO3/kQzt/5EL7f+RC+3/kArt/5AJ + 7f2QCO3/jwjt15AF7Q2QBO0AkAftAY8G7ACQCesAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACxVvMAsVbyALFU8gOxVPIAslTyR7FU8v+xU/L9sVLy/7BR8v+wUfL/sFDy/69Q + 8v+vT/L/r07y/65N8v+uTPL/rkzy/65N8v+ZHe7/kAjt/5MP7f+SDu3/kw/t/5MQ7f+UEe3/lBLt/5QT + 7f+VFO7/lRTu/5YW7v+WFu7/lhfu/5cY7v+XGe7/lxru/5ga7v+YHO7/mRzu/5kd7v+ZHu7/mh/u/5og + 7v+bIe7/myLv/5si7/+cI+//nCTv/5wl7/+dJu//nSfv/54o7/+eKO//ninv/58q7/+fK+//oCzv/6At + 7/+gLe//oS/w/6Ev8P+hMPD/ojHw/6Iy8P+jM/D/ozPw/6M18P+kNfD/pDbw/6U38P+lOPD/pTnw/6Y6 + 8P+mO/D/pjvx/6c88f+nPfH/qD7x/6g/8f+oQPH/qUDx/6lC8f+qQvH/qkPx/6pE8f+rRfH/q0bx/6tG + 8f+sSPH/rEjy/61J8v+tSvL/rUvy/65M8v+uTfL/r07y/65N8v+xVPL/qD/x/5MP7f+TEO3/kxDt/5MP + 7f+SDu3/kg3t/5IM7f+RDO3/kQvt/5EL7f+QCu3/kAnt/ZAI7f+PCO1IjwjtAI8I7QOPB+0AjwftAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyVfIAvVrwALFT + 8gOxU/IAsVTyjrFT8v+xUvL7sFHy/7BR8v+wUPL/r1Dy/69P8v+vTvL/rk3y/65N8v+uS/L/rkzy/6xJ + 8v+YGu7/kArt/5MQ7f+TD+3/kxDt/5QR7f+UEu3/lBPt/5UU7v+VFO7/lhbu/5YW7v+WF+7/lxju/5cZ + 7v+XGu7/mBru/5gc7v+ZHO7/mR3u/5ke7v+aH+7/miDu/5sh7v+bIu//myLv/5wj7/+cJO//nCXv/50m + 7/+dJ+//nijv/54o7/+eKe//nyrv/58r7/+gLO//oC3v/6At7/+hL/D/oS/w/6Ew8P+iMfD/ojLw/6Mz + 8P+jM/D/ozXw/6Q18P+kNvD/pTfw/6U48P+lOfD/pjrw/6Y78P+mO/H/pzzx/6c98f+oPvH/qD/x/6hA + 8f+pQPH/qULx/6pC8f+qQ/H/qkTx/6tF8f+rRvH/q0bx/6xI8f+sSPL/rUny/61K8v+tS/L/rkzy/65N + 8v+uTPL/sVLy/6lC8f+VE+3/kxDt/5MR7f+TD+3/kw/t/5IO7f+SDe3/kgzt/5EM7f+RC+3/kQvt/5AK + 7fuQCe3/kAjtjpAK7QCQCe0DiQbvAI8H7QCZAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAALNV8gCxVPEAsFPzAaZR+gCwU/MIsVPyzLFS8v+wUfL8sFHy/7BQ + 8v+vUPL/r0/y/69O8v+uTfL/rkzy/65M8v+tSvL/rkzy/6xI8v+XGe7/kQvt/5QQ7f+TEO3/lBHt/5QS + 7f+UE+3/lRTu/5UU7v+WFu7/lhbu/5YX7v+XGO7/lxnu/5ca7v+YGu7/mBzu/5kc7v+ZHe7/mR7u/5of + 7v+aIO7/myHu/5si7/+bIu//nCPv/5wk7/+cJe//nSbv/50n7/+eKO//nijv/54p7/+fKu//nyvv/6As + 7/+gLe//oC3v/6Ev8P+hL/D/oTDw/6Ix8P+iMvD/ozPw/6Mz8P+jNfD/pDXw/6Q28P+lN/D/pTjw/6U5 + 8P+mOvD/pjvw/6Y78f+nPPH/pz3x/6g+8f+oP/H/qEDx/6lA8f+pQvH/qkLx/6pD8f+qRPH/q0Xx/6tG + 8f+rRvH/rEjx/6xI8v+tSfL/rUry/61L8v+uTPL/rUzy/7BR8v+qQ/H/lRXt/5MQ7f+UEu3/kxDt/5MQ + 7f+TD+3/kg7t/5IN7f+SDO3/kQzt/5EL7f+RC+38kArt/5AJ7cyRCe4Imw7xAJEJ7QGPB+0AjwftAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALFU + 8gCxVPIAsVPyArFT8gCxU/IvsVLy87BR8v+wUfL+sFDy/69Q8v+vT/L/r07y/65N8v+uTPL/rkzy/65L + 8v+tSfL/rkvy/6xH8v+YG+7/kQvt/5MR7f+UEe3/lBLt/5QT7f+VFO7/lRTu/5YW7v+WFu7/lhfu/5cY + 7v+XGe7/lxru/5ga7v+YHO7/mRzu/5kd7v+ZHu7/mh/u/5og7v+bIe7/myLv/5si7/+cI+//nCTv/5wl + 7/+dJu//nSfv/54o7/+eKO//ninv/58q7/+fK+//oCzv/6At7/+gLe//oS/w/6Ev8P+hMPD/ojHw/6Iy + 8P+jM/D/ozPw/6M18P+kNfD/pDbw/6U38P+lOPD/pTnw/6Y68P+mO/D/pjvx/6c88f+nPfH/qD7x/6g/ + 8f+oQPH/qUDx/6lC8f+qQvH/qkPx/6pE8f+rRfH/q0bx/6tG8f+sSPH/rEjy/61J8v+tSvL/rUvy/65L + 8v+wUfL/qUHx/5YV7f+TEe3/lBPt/5MR7f+TEO3/kxDt/5MP7f+SDu3/kg3t/5IM7f+RDO3/kQvt/pEL + 7f+QCu3zkAntL5AJ7QCQCe0CkAjtAJAI7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuV3oALFT8gCxU/IAsVLyBLFS8gCxUvJbsFLy/7BR + 8vywUPL/r1Dy/69P8v+vTvL/rk3y/65M8v+uTPL/rUvy/61K8v+tSfL/rUvy/6xH8f+aH+7/kQzt/5QS + 7f+UEu3/lBPt/5UU7v+VFO7/lhbu/5YW7v+WF+7/lxju/5cZ7v+XGu7/mBru/5gc7v+ZHO7/mR3u/5ke + 7v+aH+7/miDu/5sh7v+bIu//myLv/5wj7/+cJO//nCXv/50m7/+dJ+//nijv/54o7/+eKe//nyrv/58r + 7/+gLO//oC3v/6At7/+hL/D/oS/w/6Ew8P+iMfD/ojLw/6Mz8P+jM/D/ozXw/6Q18P+kNvD/pTfw/6U4 + 8P+lOfD/pjrw/6Y78P+mO/H/pzzx/6c98f+oPvH/qD/x/6hA8f+pQPH/qULx/6pC8f+qQ/H/qkTx/6tF + 8f+rRvH/q0bx/6xI8f+sSPH/rUny/61K8v+tSvL/sFDy/6c+8f+VFe7/lBHt/5QT7f+UEu3/lBHt/5MQ + 7f+TEO3/kw/t/5IO7f+SDe3/kgzt/5EM7f+RC+38kQrt/5AK7VuQCu0AkArtBJAJ7QCQCe0AlQDqAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAsFLzALFT8gDRb9MAsFHyBLBQ8gCwUfKLsFHy/7BQ8vuvUPL/r0/y/69O8v+uTfL/rkzy/65M + 8v+tS/L/rUry/61K8v+sSPL/rEny/61J8f+dJu//kg3t/5QS7f+UE+3/lRTt/5UU7v+WFu7/lhbu/5YX + 7v+XGO7/lxnu/5ca7v+YGu7/mBzu/5kc7v+ZHe7/mR7u/5of7v+aIO7/myHu/5si7/+bIu//nCPv/5wk + 7/+cJe//nSbv/50n7/+eKO//nijv/54p7/+fKu//nyvv/6As7/+gLe//oC3v/6Ev8P+hL/D/oTDw/6Ix + 8P+iMvD/ozPw/6Mz8P+jNfD/pDXw/6Q28P+lN/D/pTjw/6U58P+mOvD/pjvw/6Y78f+nPPH/pz3x/6g+ + 8f+oP/H/qEDx/6lA8f+pQvH/qkLx/6pD8f+qRPH/q0Xx/6tG8f+rRvH/rEjx/6xI8v+tSfL/rUry/69P + 8v+lN/H/lBPu/5UT7f+VFO3/lBLt/5QS7f+UEe3/kxDt/5MQ7f+TD+3/kg7t/5IN7f+SDO3/kQzt+5EL + 7f+RC+2KkQztAJEL7QQAAKcAkAntAJAJ7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAslPyAM9H/wCwUPIBsVPxArFV + 6gCwUfKssFDy/69Q8vuvT/L/r07y/65N8v+uTPL/rkzy/65L8v+tSvL/rUry/61J8v+sSPH/rEjx/61K + 8f+gLu//kxDt/5QS7f+VFe7/lRTu/5YW7v+WFu7/lhfu/5cY7v+XGe7/lxru/5ga7v+YHO7/mRzu/5kd + 7v+ZHu7/mh/u/5og7v+bIe7/myLv/5si7/+cI+//nCTv/5wl7/+dJu//nSfv/54o7/+eKO//ninv/58q + 7/+fK+//oCzv/6At7/+gLe//oS/w/6Ev8P+hMPD/ojHw/6Iy8P+jM/D/ozPw/6M18P+kNfD/pDbw/6U3 + 8P+lOPD/pTnw/6Y68P+mO/D/pjvx/6c88f+nPfH/qD7x/6g/8f+oQPH/qUDx/6lC8f+qQvH/qkPx/6pE + 8f+rRfH/q0bx/6tG8f+sSPH/rEfx/61K8v+uTPL/oS7w/5QS7v+VFO7/lRTu/5QT7f+UEu3/lBLt/5QR + 7f+TEO3/kxDt/5MP7f+SDu3/kg3t/5IM7fuRDO3/kQvtrIsR7gCQCu4CkQvtAbsX+ACQCe0AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAsFLyAK9S8gCwUfIBpkn2AK9Q8gqwUPLFr1Dy/69P8vuvTvL/rk3y/65M + 8v+uTPL/rkvy/61K8v+tSvL/rEny/6xI8v+sR/H/rEbx/61K8f+lOPD/lhft/5QR7f+VFe7/lhbu/5YW + 7v+WF+7/lxju/5cZ7v+XGu7/mBru/5gc7v+ZHO7/mR3u/5ke7v+aH+7/miDu/5sh7v+bIu//myLv/5wj + 7/+cJO//nCXv/50m7/+dJ+//nijv/54o7/+eKe//nyrv/58r7/+gLO//oC3v/6At7/+hL/D/oS/w/6Ew + 8P+iMfD/ojLw/6Mz8P+jM/D/ozXw/6Q18P+kNvD/pTfw/6U48P+lOfD/pjrw/6Y78P+mO/H/pzzx/6c9 + 8f+oPvH/qD/x/6hA8f+pQPH/qULx/6pC8f+qQ/H/qkTx/6tF8f+rRvH/q0bx/6xH8f+tS/L/q0by/5wk + 7/+UEu7/lRbu/5UV7v+VFO3/lRPt/5QS7f+UEu3/lBHt/5MQ7f+TEO3/kw/t/5IO7f+SDe37kgzt/5EM + 7caSDO4KlxHxAJEL7QGQCu0AkArtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/YP8AsFDyALBR + 8gCwUPICslHyALFR8hivT/LWr0/y/69O8vuuTfL/rkzy/65M8v+uS/L/rUry/61K8v+tSfL/rEjx/6xH + 8f+sR/H/q0Xx/6xI8f+pQfH/myLv/5MR7v+VFe7/lhfu/5YX7v+XGO7/lxnu/5ca7v+YGu7/mBzu/5kc + 7v+ZHe7/mR7u/5of7v+aIO7/myHu/5si7/+bIu//nCPv/5wk7/+cJe//nSbv/50n7/+eKO//nijv/54p + 7/+fKu//nyvv/6As7/+gLe//oC3v/6Ev8P+hL/D/oTDw/6Ix8P+iMvD/ozPw/6Mz8P+jNfD/pDXw/6Q2 + 8P+lN/D/pTjw/6U58P+mOvD/pjvw/6Y78f+nPPH/pz3x/6g+8f+oP/H/qEDx/6lA8f+pQvH/qkLx/6pD + 8f+qRPH/q0Xx/6tF8f+sR/H/rkvx/6Y68P+YG+7/lRTu/5YX7v+VFe7/lRXu/5UU7v+VE+3/lBLt/5QS + 7f+UEe3/kxDt/5MQ7f+TD+3/kg7t+5IN7f+SDe3UkAvtF5AL7QCRDO0CkQvtAJEL7QCSAP8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxUfIAsFDyALBQ8gCvUPIDr1DyAK9Q8iCvT/Ldr07y/65N + 8vuuTPL/rkzy/61L8v+tSvL/rUry/61J8v+sSPL/rEfx/6xH8f+rRvH/q0Tx/6tG8f+rRvH/oTHw/5YY + 7v+VE+7/lhfu/5cY7v+XGe7/lxru/5ga7v+YHO7/mRzu/5kd7v+ZHu7/mh/u/5og7v+bIe7/myLv/5si + 7/+cI+//nCTv/5wl7/+dJu//nSfv/54o7/+eKO//ninv/58q7/+fK+//oCzv/6At7/+gLe//oS/w/6Ev + 8P+hMPD/ojHw/6Iy8P+jM/D/ozPw/6M18P+kNfD/pDbw/6U38P+lOPD/pTnw/6Y68P+mO/D/pjvx/6c8 + 8f+nPfH/qD7x/6g/8f+oQPH/qUDx/6lC8f+qQvH/qkPx/6pE8f+rRfH/rEnx/6tF8f+gLO//lhbu/5YW + 7v+WGO7/lhbu/5UV7v+VFe7/lRTu/5UT7f+UEu3/lBLt/5QR7f+TEO3/kxDt/5MP7fuSDu3/kg3t3JIM + 7R2SDe0AkgztA5EL7QCRC+0AkQvsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACwUPEAsFDyALBQ8gCvT/IDr07yAK9O8iKvTvLdrk3y/65M8vuuTPL/rUvy/61K8v+tSvL/rUny/6xI + 8v+sR/H/rEfx/6tG8f+rRfH/q0Tx/6pD8f+rRvH/qD7x/5wl7/+VFe7/lhbu/5cZ7v+YGu7/mBru/5gc + 7v+ZHO7/mR3u/5ke7v+aH+7/miDu/5sh7v+bIu//myLv/5wj7/+cJO//nCXv/50m7/+dJ+//nijv/54o + 7/+eKe//nyrv/58r7/+gLO//oC3v/6At7/+hL/D/oS/w/6Ew8P+iMfD/ojLw/6Mz8P+jM/D/ozXw/6Q1 + 8P+kNvD/pTfw/6U48P+lOfD/pjrw/6Y78P+mO/H/pzzx/6c98f+oPvH/qD/x/6hA8f+pQPH/qULx/6lC + 8f+qQvH/q0bx/6xH8f+lOPD/mR7u/5YW7v+XGO7/lhju/5YX7v+WFu7/lRXu/5UV7v+VFO7/lRPt/5QS + 7f+UEu3/lBHt/5MQ7f+TEO37kw/t/5IO7dySDu0ikg7tAJEN7QORDO0AkQztAJEO7AAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwUPIAr0/yAK9P8gCvT/IDsE/yALBO + 8h+uTfLXrkzy/65M8vuuS/L/rUry/61K8v+tSfL/rEjy/6xH8f+sR/H/q0bx/6tF8f+rRfH/qkTx/6pC + 8f+qRPH/qkTx/6Q28P+bIO//lhfu/5cY7v+YG+7/mBzu/5kc7v+ZHe7/mR7u/5of7v+aIO7/myHu/5si + 7/+bIu//nCPv/5wk7/+cJe//nSbv/50n7/+eKO//nijv/54p7/+fKu//nyvv/6As7/+gLe//oC3v/6Ev + 8P+hL/D/oTDw/6Ix8P+iMvD/ozPw/6Mz8P+jNfD/pDXw/6Q28P+lN/D/pTjw/6U58P+mOvD/pjvw/6Y7 + 8f+nPPH/pz3x/6g+8f+oP/H/qEDx/6lA8f+pQfH/qkTx/6tG8f+nPPH/nSbv/5cY7v+XGO7/lxru/5cY + 7v+WF+7/lhfu/5YW7v+VFe7/lRXu/5UU7v+VE+3/lBLt/5QS7f+UEe3/kxDt+5MP7f+TD+3Ukg7tHJEO + 7QCSDe0Dkg3tAJIN7QCSDO4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACvT/IAr07yAK9O8gCvTvIDrk7yAK5N8hauTPLIrkzy/61L8vqtSvL/rUry/6xJ + 8v+sSPH/rEfx/6xH8f+rRvH/q0Xx/6tF8f+qRPH/qkPx/6pC8f+pQfH/qkPx/6lB8f+iMvD/miDv/5cY + 7v+XGu7/mR3u/5ke7v+ZHu7/mh/u/5og7v+bIe7/myLv/5si7/+cI+//nCTv/5wl7/+dJu//nSfv/54o + 7/+eKO//ninv/58q7/+fK+//oCzv/6At7/+gLe//oS/w/6Ev8P+hMPD/ojHw/6Iy8P+jM/D/ozPw/6M1 + 8P+kNfD/pDbw/6U38P+lOPD/pTnw/6Y68P+mOvD/pjvx/6c88f+nPfH/qD7x/6g+8f+oP/H/qkLx/6pE + 8f+nPPD/nyrv/5gb7v+XGe7/mBvu/5ca7v+XGe7/lxju/5YX7v+WF+7/lhbu/5UV7v+VFe7/lRTu/5UT + 7f+UEu3/lBLt/5MR7fqTEO3/kxDtyJIO7BaTDuwAkg7tA5IO7QCSDu0Akg3tAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvTvIAr07yAK9O + 8gCvTfIDrkbzAK5M8wmuTPKtrkvy/61K8vutSvL+rUny/6xI8f+sR/H/rEfx/6tG8f+rRfH/q0Xx/6pE + 8f+qQ/H/qkPx/6lC8f+pQPH/qUDx/6lC8f+oP/H/ozLw/5sj7/+YG+7/mBvu/5ke7v+aH+7/miDu/5sh + 7v+bIu//myLv/5wj7/+cJO//nCXv/50m7/+dJ+//nijv/54o7/+eKe//nyrv/58r7/+gLO//oC3v/6At + 7/+hL/D/oS/w/6Ew8P+iMfD/ojLw/6Mz8P+jM/D/ozXw/6Q18P+kNvD/pTfw/6U48P+lOfD/pjrw/6Y6 + 8P+mO/H/pzzx/6c98f+oPvH/qUHx/6lB8f+mOfD/nyrv/5kd7v+YGu7/mBzu/5gc7v+YGu7/lxnu/5cZ + 7v+XGO7/lhfu/5YX7v+WFu7/lRXu/5UV7v+VFO7/lBPt/5QS7f6UEu37lBHt/5MQ7a6VEe0KlxTsAJMP + 7QOSDu0Akg7tAJIO7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvTfIArk3yAK5N8gCuTfICq03xAlY6ywCtS/KLrUry/61K + 8v2sSfL8rEjy/6xH8f+sR/H/q0bx/6tF8f+rRfH/qkTx/6pD8f+qQ/H/qULx/6lB8f+pQPH/qD/x/6g/ + 8f+pQPH/qD7x/6Q18P+eKe//miDu/5kd7v+ZHu7/miDu/5si7/+bI+//nCPv/5wk7/+dJe//nSbv/50n + 7/+eKO//nijv/54p7/+fKu//nyvv/6As7/+gLe//oC3v/6Ev8P+hL/D/oTDw/6Ix8P+iMvD/ozPw/6Mz + 8P+jNfD/pDXw/6Q28P+lN/D/pTjw/6U58P+mOfD/pjrw/6c88f+oPvH/qD/x/6c88f+jM/D/nSfv/5ke + 7v+YHO7/mR3u/5kd7v+YHO7/mBvu/5ga7v+XGe7/lxnu/5cY7v+WF+7/lhfu/5YW7v+VFe7/lRXu/5UU + 7f+VE+38lBLt/ZQS7f+UEe2MuQ7jAJQP7AKTEO0Ckw/tAJMP7QCSDu0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACtS/EArkzyAK5M8gCuTPIBrkvyBK1K8wCtSvJZrUry9K1J8v+sSPL7rEfx/qxH8f+rRvH/q0Xx/6tF + 8f+qRPH/qkPx/6pD8f+pQvH/qUHx/6lA8f+oQPH/qD/x/6g+8f+nPfH/qD7x/6g+8f+lOfH/ojDv/54n + 7/+bIu7/myDv/5oh7/+cIu//nCTv/50l7/+dJu//nSfv/54o7/+eKO//ninv/58q7/+fK+//oCzv/6At + 7/+gLe//oS/w/6Ev8P+hMPD/ojHw/6Iy8P+jM/D/ozPw/6M08P+kNfD/pDbw/6Q38P+lOPD/pTrw/6c7 + 8P+nPPD/pjrx/6Q18P+gLPD/nCPu/5ke7v+ZHu7/mh/u/5ke7v+ZHe7/mRzu/5gc7v+YG+7/mBru/5cZ + 7v+XGe7/lxju/5YX7v+WF+7/lhbu/5UV7v+VFe7+lRTu+5QT7f+UEu31lBLtWpQS7gCUEe0ElBHtAZMQ + 7QCTEO0AlA7tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACuTPIArkzzAK5M8gCuTPMBrkryBK5J + 8gCtSfIsrEnyz6xI8f+sR/H7rEfx/atG8f+rRfH/q0Xx/6pE8f+qQ/H/qkPx/6lC8f+pQfH/qUDx/6hA + 8f+oP/H/qD7x/6c98f+nPPH/pzzx/6c88f+nPPD/pzvw/6U38P+iMfD/nyvv/54n7/+cJe//nCTv/50l + 7/+dJu//nSfv/54o7/+eKe//nyrv/58r7/+gLO//oC3v/6At7/+hL/D/oS/w/6Ew8P+iMfD/ojLw/6Mz + 8P+jNPD/ozXw/6Q28P+kN/D/pTjw/6U38P+jNfD/ojHw/58r7/+dJe//miHv/5og7/+aIO7/miDu/5og + 7v+aH+7/mR7u/5kd7v+ZHO7/mBzu/5gb7v+YGu7/lxnu/5cZ7v+XGO7/lhfu/5YX7v+WFu7/lRXu/ZUV + 7vuVFO3/lRPt0ZQT7SyTE+0AlBLtBJMR7QGTEe0AlBHtAJIP7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAC2Sf8ArUvxAK1N8QCuTfEArUryA6xO9QCtSvMHrEjxjqxI8f+sR/H+q0bx+6tF + 8f6rRfH/qkTx/6pD8f+qQ/H/qULx/6lB8f+pQPH/qEDx/6g/8f+oPvH/pz7x/6c98f+nPPH/pjvx/6Y6 + 8P+mOvD/pjrw/6Y68P+mOfD/pTfw/6M08P+iMfD/oS7w/58r7/+fKu//nyrv/54q7/+fKu//nyvv/58s + 7/+gLe//oC3v/6Ev8P+hL/D/ojDw/6Ix8P+iMvD/ozLw/6My8P+iMvD/ojHw/6Au7/+fLO//nijv/5wl + 7/+bI+//myLv/5si7/+bIu//myLv/5sh7v+aIO7/mh/u/5oe7v+ZHu7/mR3u/5kc7v+YHO7/mBvu/5ga + 7v+XGe7/lxnu/5cY7v+WF+7/lhfu/pYW7vuVFe7+lRTu/5UU7pGVEusIlhHpAJQS7QOVEewAlRHsAJQS + 7QCOHOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArUryAK1I + 8gCtSfIArUnyAq1H8QOtRfAArEfxQqxH8dmrRvH/q0Xx/KtF8fyqRPH/qkPx/6pD8f+pQvH/qUHx/6lA + 8f+oQPH/qD/x/6g+8f+nPvH/pz3x/6c88f+mO/H/pjrw/6Y68P+lOfD/pTjw/6U38P+kN/D/pDfw/6Q2 + 8P+kNvD/ozXw/6M08P+jMvD/ojHw/6Ew8P+hL/D/oS/w/6Eu8P+hLvD/oC7v/6Au7/+gLe//oC3v/6As + 7/+fK+//nirv/54o7/+eJ+//nSbv/5wm7/+dJe//nSXv/5wl7/+cJO//nCPv/5si7/+bIu//myHu/5og + 7v+aH+7/mh7u/5ke7v+ZHe7/mRzu/5gc7v+YG+7/mBru/5cZ7v+XGe7/lxju/5YX7vyWF+78lhbu/5UV + 7tuVFe5ElBbvAJQV7gOUE+0ClBPtAJQT7QCUEu0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArEryAKxJ8gCsSfIArEnyAaxI8QOrR/IAq0fyCqtG + 8YirRfH5q0Xx/6pE8fyqQ/H8qkPx/6lC8f+pQfH/qUDx/6hA8f+oP/H/qD7x/6c+8f+nPfH/pzzx/6Y7 + 8f+mOvD/pjrw/6U58P+lOfD/pTjw/6Q38P+kNvD/pDXw/6Q18P+jNPD/ozPw/6Mz8P+iMvD/ojLw/6Ix + 8P+hMPD/oS/w/6Eu8P+gLu//oC3v/6As7/+fK+//nyrv/58q7/+eKe//ninv/54o7/+dJ+//nSfv/50m + 7/+dJe//nCTv/5wj7/+cI+//myLv/5si7/+bIe7/miDu/5of7v+aHu7/mR7u/5kd7v+ZHO7/mBzu/5gb + 7v+YGu7/lxnu/5cZ7vyXGO78lhfu/5YX7vmWFu6JlRXtCpUV7QCVFO0DlRPtAZUT7QCVE+0AlBPuAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAqlX/AKxI8gCtVfcAngCUAKxH8QOrRvACq0XxAKtF8SurRfG3qkTx/6pD8f+qQ/H8qULx/KlB + 8f+pQPH/qEDx/6g/8f+oPvH/pz7x/6c98f+nPPH/pjvx/6Y68P+mOvD/pjnw/6U58P+lOPD/pTfw/6Q2 + 8P+kNfD/pDXw/6M08P+jM/D/ozPw/6Iy8P+iMfD/ojDw/6Ew8P+hL/D/oS7w/6Au7/+gLe//oCzv/58s + 7/+fK+//nyrv/54p7/+eKe//nijv/50n7/+dJ+//nSbv/50l7/+cJO//nCPv/5wj7/+bIu//myLv/5sh + 7v+aIO7/mh/u/5oe7v+ZHu7/mR3u/5kc7v+YHO7/mBvu/5ga7vyXGe78lxnu/5cY7v+WF+60lhfuKpUX + 7gCVFu4ClRXuA5wA3wCWDuwAlRTuAJUV6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK1G8gCrR/EAq0fxAKtH + 8QGrRvEDq0PzAapG9ACqRPFHqkPxyqpD8f+pQvH+qUHx/alA8fyoQPH+qD/x/6g+8f+nPvH/pz3x/6c8 + 8f+mO/H/pjrw/6Y68P+mOfD/pTnw/6U48P+lN/D/pDbw/6Q18P+kNfD/ozTw/6Mz8P+jM/D/ojLw/6Ix + 8P+iMPD/oTDw/6Ev8P+hLvD/oC7v/6At7/+gLO//nyzv/58r7/+fKu//ninv/54p7/+eKO//nSfv/50n + 7/+dJu//nSXv/5wk7/+cI+//nCPv/5si7/+bIu//myHu/5og7v+aH+7/mh7u/5ke7v+ZHe7/mRzu/5gc + 7vyYG+79mBru/pcZ7v+XGe7MlxjuR5ga7QCYGu0BlhbuA5UW7gGVFu4AlhXuAJUW7wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkz/wCrR/EAq0HwAKtC8QCrRfECq0XxA6lJ8QCnRPACqkPxUKlC + 8cqpQfH/qUDx/6hA8f6oP/H7qD7x/ac+8f+nPfH/pzzx/6Y78f+mOvD/pjrw/6Y58P+lOfD/pTjw/6U3 + 8P+kNvD/pDXw/6Q18P+jNPD/ozPw/6Mz8P+iMvD/ojHw/6Iw8P+hMPD/oS/w/6Eu8P+gLu//oC3v/6As + 7/+fLO//nyvv/58q7/+eKe//ninv/54o7/+dJ+//nSfv/50m7/+dJe//nCTv/5wj7/+cI+//myLv/5si + 7/+bIe7/miDu/5of7v+aHu7/mR7u/Zkd7vuZHO7+mBzu/5gb7v+YGu7LlxruUpkV7AOXE+wAlhfuA5YX + 7gKXGe4AlxruAJUW7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACrQ/QAqkTxAKpE8ACqRfEAqkTxA6pD8QKmSfEApkbwAalB8UapQPG1qEDx+6g/8f+oPvH/pz7x/ac9 + 8funPPH+pjvx/6Y68P+mOvD/pTnw/6U58P+lOPD/pTfw/6Q28P+kNfD/pDXw/6M08P+jM/D/ozPw/6Iy + 8P+iMfD/ojDw/6Ew8P+hL/D/oS7w/6Au7/+gLe//oCzv/58s7/+fK+//nyrv/54p7/+eKe//nijv/50n + 7/+dJ+//nSbv/50l7/+cJO//nCPv/5wj7/+bIu//myLv/5sh7v+aIO7+mh/u+5oe7v2ZHu7/mR3u/5kc + 7vuYHO62mBvuR5gd7QKXG+8AlxnuApcY7gOXF+4AlxjuAJcY7gCUFO0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqkXxAKlD8QCpRPEAqkTxAKpC + 8QOpQvECqDjwAKo98QCoQPEpqD/xi6g+8eKnPvH/pz3x/qc88f+mO/H9pjrw+6Y68P2lOfD+pTnw/6U4 + 8P+kN/D/pDbw/6Q18P+kNfD/ozTw/6Mz8P+jM/D/ojLw/6Ix8P+iMPD/oTDw/6Ev8P+hLvD/oC7v/6At + 7/+gLO//nyzv/58r7/+fKu//ninv/54p7/+eKO//nSfv/50n7/+dJu//nSXv/5wk7/+cI+//nCPv/psi + 7/2bIu/7myHu/Zog7v+aH+7+mh7u/5ke7uOZHe6MmRzuK5of9ACdI/UAlxruApca7gOXGO0AlxjtAJcZ + 7gCXGu0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKpC8QCpQvEAqELxAKlC8QCpQfEDqUDxAqc68QCpPvIAqD7xCqc9 + 8UynPfGkpzzx6aY78f+mOvD+pjrw/6Y58P+lOfD8pTjw+6Q38PykNvD+pDXw/qQ18P+jNPD/ozPw/6Mz + 8P+iMvD/ojHw/6Iw8P+hMPD/oS/w/6Eu8P+gLu//oC3v/6As7/+fLO//nyvv/58q7/+eKe//ninv/54o + 7/+dJ+//nSfv/50m7/6dJe/8nCTv+5wj7/ybI+//myLv/5si7/6bIe7/miDu6pof7qWaH+5OmR7uCpge + 7gCaIu8AmBvuApgb7gOYG+4AmBvuAJgb7gCYG+4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACoQfEAqEHxAKlG8gCoRPIAqEDxAqg/8QSnQPAApzvxAKg88wCnO/IOpjvxSqY78JSmOvDUpTnw+qU5 + 8P+lOPD/pTfw/6Q28P+kNfD/pDXw/aM08PyjM/D8ozPw/aIy8P2iMfD+ojDw/qEw8P+hL/D/oS7w/6Au + 7/+gLe//oCzv/58s7/6fK+/+nyrv/Z4p7/2eKe/8nijv/J0n7/2dJ+//nSbv/50l7/+cJO//nCPv/5wj + 7/ubIu/UmyLvlJsh7kuaIO4PmR7sAJsg7QCXH+4AmR3uBJkc7gKXGusAlRfnAJgc7QCYHO4AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsTvrAKg+8QCoPvEAqEDyAKg+ + 8QGnPfEDpz3xA6VL8wClOvAApzrwAKY48AOlOfAjpTnwWaU48JCkN/C/pDbw46Q18PmkNfD/ozTw/6Mz + 8P+jM/D/ojLw/6Ix8P+iMPD/oTDw/6Ev8P+hLvD/oC7v/6At7/+gLO//nyzv/58r7/+fKu//ninv/54p + 7/+eKO//nSfv/50n7/udJu/mnSXvwZwk74+cJO9ZnCPvJZgi7wOWIPAAmiHvAJkY6ACaH+4Dmh/uA5ke + 7gGVIvAAmCDvAJod7gCVFeoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACmQfMApzzxAKQ68gCmQO8ApzzxAaY78QSmOvAEpjnxAaY5 + 8QClOe8ApTXyAKY38wCkN+8NpDbwLaQ18FOjNPB4ozPwmaMz8LaiMvDOojHw3qIw8OuhMPD0oS/w+6Eu + 8P6gLu/+oC3v+6As7/SfLO/rnyvv3p8q786eKe+2ninvmZ4o73idJ+9TnSfvMJ0l7w+hHO8AnyPvAJsl + 7wCbI/AAnCPvAZsi7wSbIe4EmiDuAZsg7wCeIfEAmh/uAJ0i8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA//////+AkAAACQH////////////8igAAAABRP///////////9BAAAAAA + CC///////////9CAAAAAAAEL//////////9CAAAAAAAAQv/////////9EAAAAAAAAAi/////////8kAA + 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 + //////+yAAAAAAAAAABF////////6IAAAAAAAAABF/////////JAAAAAAAAAAk/////////9EAAAAAAA + AAi//////////0IAAAAAAABC///////////QgAAAAAABC///////////9BAAAAAACC////////////yK + AAAAAFE/////////////gJAAAAkB//////8= + + + \ No newline at end of file diff --git a/Resizor/Properties/Settings.Designer.cs b/Resizor/Properties/Settings.Designer.cs new file mode 100644 index 0000000..47791a1 --- /dev/null +++ b/Resizor/Properties/Settings.Designer.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// 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 Resizor.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.2.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; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("NumPad4")] + public global::System.Windows.Forms.Keys ImmediateResizeKey { + get { + return ((global::System.Windows.Forms.Keys)(this["ImmediateResizeKey"])); + } + set { + this["ImmediateResizeKey"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("4, 4")] + public global::System.Drawing.Point ResizeDividor { + get { + return ((global::System.Drawing.Point)(this["ResizeDividor"])); + } + set { + this["ResizeDividor"] = value; + } + } + } +} diff --git a/Resizor/Properties/Settings.settings b/Resizor/Properties/Settings.settings new file mode 100644 index 0000000..bdb2aed --- /dev/null +++ b/Resizor/Properties/Settings.settings @@ -0,0 +1,12 @@ + + + + + + NumPad4 + + + 4, 4 + + + \ No newline at end of file diff --git a/Resizor/Resizor.csproj b/Resizor/Resizor.csproj new file mode 100644 index 0000000..8addf36 --- /dev/null +++ b/Resizor/Resizor.csproj @@ -0,0 +1,105 @@ + + + + + Debug + AnyCPU + {EED8B478-D539-41D2-9A39-8349099B298A} + WinExe + Resizor + Resizor + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + Resizor.ico + + + + + + + + + + + + + + + + + Form + + + Immediate Resize.cs + + + + + Form + + + SettingsForm.cs + + + Immediate Resize.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsForm.cs + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + {cae1cdb1-057d-4a4c-80d1-a7912715b79c} + CC-Functions.W32 + + + + + + + \ No newline at end of file diff --git a/Resizor/Resizor.ico b/Resizor/Resizor.ico new file mode 100644 index 0000000000000000000000000000000000000000..374da88c0ffe5f97fe703e7ea58085ecda697254 GIT binary patch literal 67646 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 A#{d8T literal 0 HcmV?d00001 diff --git a/Resizor/SettingsForm.Designer.cs b/Resizor/SettingsForm.Designer.cs new file mode 100644 index 0000000..e26d4b2 --- /dev/null +++ b/Resizor/SettingsForm.Designer.cs @@ -0,0 +1,174 @@ +namespace Resizor +{ + partial class SettingsForm + { + /// + /// 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() + { + this.keySelectButton = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.rowsSelect = new System.Windows.Forms.NumericUpDown(); + this.columnsSelect = new System.Windows.Forms.NumericUpDown(); + this.startupBox = new System.Windows.Forms.CheckBox(); + ((System.ComponentModel.ISupportInitialize)(this.rowsSelect)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.columnsSelect)).BeginInit(); + this.SuspendLayout(); + // + // keySelectButton + // + this.keySelectButton.Location = new System.Drawing.Point(67, 35); + this.keySelectButton.Name = "keySelectButton"; + this.keySelectButton.Size = new System.Drawing.Size(75, 23); + this.keySelectButton.TabIndex = 0; + this.keySelectButton.UseVisualStyleBackColor = true; + this.keySelectButton.Click += new System.EventHandler(this.KeySelectButton_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(14, 40); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(28, 13); + this.label1.TabIndex = 1; + this.label1.Text = "Key:"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(14, 66); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(34, 13); + this.label2.TabIndex = 2; + this.label2.Text = "Rows"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(14, 92); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(47, 13); + this.label3.TabIndex = 3; + this.label3.Text = "Columns"; + // + // rowsSelect + // + this.rowsSelect.Location = new System.Drawing.Point(67, 64); + this.rowsSelect.Maximum = new decimal(new int[] { + 20, + 0, + 0, + 0}); + this.rowsSelect.Minimum = new decimal(new int[] { + 2, + 0, + 0, + 0}); + this.rowsSelect.Name = "rowsSelect"; + this.rowsSelect.ReadOnly = true; + this.rowsSelect.Size = new System.Drawing.Size(75, 20); + this.rowsSelect.TabIndex = 4; + this.rowsSelect.Value = new decimal(new int[] { + 4, + 0, + 0, + 0}); + this.rowsSelect.ValueChanged += new System.EventHandler(this.RowsSelect_ValueChanged); + // + // columnsSelect + // + this.columnsSelect.Location = new System.Drawing.Point(67, 90); + this.columnsSelect.Maximum = new decimal(new int[] { + 20, + 0, + 0, + 0}); + this.columnsSelect.Minimum = new decimal(new int[] { + 2, + 0, + 0, + 0}); + this.columnsSelect.Name = "columnsSelect"; + this.columnsSelect.ReadOnly = true; + this.columnsSelect.Size = new System.Drawing.Size(75, 20); + this.columnsSelect.TabIndex = 5; + this.columnsSelect.Value = new decimal(new int[] { + 4, + 0, + 0, + 0}); + this.columnsSelect.ValueChanged += new System.EventHandler(this.ColumnsSelect_ValueChanged); + // + // startupBox + // + this.startupBox.AutoSize = true; + this.startupBox.Location = new System.Drawing.Point(12, 12); + this.startupBox.Name = "startupBox"; + this.startupBox.Size = new System.Drawing.Size(117, 17); + this.startupBox.TabIndex = 6; + this.startupBox.Text = "Start with Windows"; + this.startupBox.UseVisualStyleBackColor = true; + this.startupBox.CheckedChanged += new System.EventHandler(this.StartupBox_CheckedChanged); + // + // SettingsForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(154, 121); + this.Controls.Add(this.startupBox); + this.Controls.Add(this.columnsSelect); + this.Controls.Add(this.rowsSelect); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.keySelectButton); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "SettingsForm"; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.Text = "Settings"; + this.TopMost = true; + ((System.ComponentModel.ISupportInitialize)(this.rowsSelect)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.columnsSelect)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button keySelectButton; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.NumericUpDown rowsSelect; + private System.Windows.Forms.NumericUpDown columnsSelect; + private System.Windows.Forms.CheckBox startupBox; + } +} \ No newline at end of file diff --git a/Resizor/SettingsForm.cs b/Resizor/SettingsForm.cs new file mode 100644 index 0000000..acf2877 --- /dev/null +++ b/Resizor/SettingsForm.cs @@ -0,0 +1,90 @@ +using CC_Functions.W32; +using System; +using System.Drawing; +using System.Windows.Forms; +using Resizor.Properties; +using Microsoft.Win32; + +namespace Resizor +{ + public partial class SettingsForm : Form + { + RegistryKey rkApp; + string appName = "Rasizor"; + public SettingsForm() + { + InitializeComponent(); + Program.kh = new KeyboardHook(); + keySelectButton.Text = Settings.Default.ImmediateResizeKey.ToString(); + keySelectButton.Tag = false; + rowsSelect.Value = Settings.Default.ResizeDividor.Y; + columnsSelect.Value = Settings.Default.ResizeDividor.X; + rkApp = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true); + startupBox.Checked = rkApp.GetValue(appName) != null; + } + + private void KeySelectButton_Click(object sender, EventArgs e) + { + if ((bool)keySelectButton.Tag) + { + Program.kh.OnKeyPress -= Hook_OnKeyPress; + keySelectButton.BackColor = SystemColors.Control; + keySelectButton.Tag = false; + keySelectButton.Text = Settings.Default.ImmediateResizeKey.ToString(); + } + else + { + keySelectButton.BackColor = Color.Red; + keySelectButton.Text = "Cancel"; + keySelectButton.Tag = true; + Program.kh.OnKeyPress += Hook_OnKeyPress; + } + } + + private void Hook_OnKeyPress(KeyboardHookEventArgs e) + { + Program.kh.OnKeyPress -= Hook_OnKeyPress; + keySelectButton.BackColor = SystemColors.Control; + if (e.Key != Keys.Escape) + { + Settings.Default.ImmediateResizeKey = e.Key; + Settings.Default.Save(); + } + keySelectButton.Text = Settings.Default.ImmediateResizeKey.ToString(); + keySelectButton.Tag = false; + } + + private void RowsSelect_ValueChanged(object sender, EventArgs e) + { + Point tmp = Settings.Default.ResizeDividor; + tmp.Y = (int)rowsSelect.Value; + Settings.Default.ResizeDividor = tmp; + Settings.Default.Save(); + } + + private void ColumnsSelect_ValueChanged(object sender, EventArgs e) + { + Point tmp = Settings.Default.ResizeDividor; + tmp.X = (int)columnsSelect.Value; + Settings.Default.ResizeDividor = tmp; + Settings.Default.Save(); + } + + private void StartupBox_CheckedChanged(object sender, EventArgs e) + { + try + { + if (startupBox.Checked) + rkApp.SetValue(appName, Application.ExecutablePath.ToString()); + else + rkApp.DeleteValue(appName, false); + startupBox.Checked = rkApp.GetValue(appName) != null; + } + catch (Exception e1) + { + startupBox.Checked = rkApp.GetValue(appName) != null; + MessageBox.Show(e1.ToString(), "Failed"); + } + } + } +} diff --git a/Resizor/SettingsForm.resx b/Resizor/SettingsForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Resizor/SettingsForm.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