commit f617b7eb8ea5bcc9883683bb824f7bcbf29d1f2e Author: CreepyCrafter24 <33260128+CreepyCrafter24@users.noreply.github.com> Date: Fri Sep 6 20:45:42 2019 +0200 first commit 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 + AAAAAAACT////////+iAAAAAAAAAARf///////+yAAAAAAAAAABN////////SAAAAAAAAAAAEv////// + /JAAAAAAAAAAAAk///////pAAAAAAAAAAAACX//////0gAAAAAAAAAAAAS//////6QAAAAAAAAAAAACX + /////9IAAAAAAAAAAAAAS/////+oAAAAAAAAAAAAABX/////UAAAAAAAAAAAAAAK/////qAAAAAAAAAA + AAAABX////1AAAAAAAAAAAAAAAK////6gAAAAAAAAAAAAAABX///9QAAAAAAAAAAAAAAAK///+oAAAAA + AAAAAAAAAABX///CAAAAAAAAAAAAAAAAS///1AAAAAAAAAAAAAAAACv//6gAAAAAAAAAAAAAAAAV//9Q + AAAAAAAAAAAAAAAACv//IAAAAAAAAAAAAAAAAAT//qAAAAAAAAAAAAAAAAAFf/1AAAAAAAAAAAAAAAAA + Ar/8gAAAAAAAAAAAAAAAAAE/+oAAAAAAAAAAAAAAAAABX/kAAAAAAAAAAAAAAAAAAJ/xAAAAAAAAAAAA + AAAAAACP8gAAAAAAAAAAAAAAAAAAT+IAAAAAAAAAAAAAAAAAAEfkAAAAAAAAAAAAAAAAAAAnxAAAAAAA + AAAAAAAAAAAAI8gAAAAAAAAAAAAAAAAAABOIAAAAAAAAAAAAAAAAAAARkAAAAAAAAAAAAAAAAAAACZAA + AAAAAAAAAAAAAAAAAAkgAAAAAAAAAAAAAAAAAAAEIAAAAAAAAAAAAAAAAAAABCAAAAAAAAAAAAAAAAAA + AARAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABQAAAAAAA + AAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAAAAAAAAAAACIAAAAAAAAAAAAAAAAAAABCAA + AAAAAAAAAAAAAAAAAAQgAAAAAAAAAAAAAAAAAAAEkAAAAAAAAAAAAAAAAAAACZAAAAAAAAAAAAAAAAAA + AAmIAAAAAAAAAAAAAAAAAAARyAAAAAAAAAAAAAAAAAAAE8QAAAAAAAAAAAAAAAAAACPkAAAAAAAAAAAA + AAAAAAAn4gAAAAAAAAAAAAAAAAAAR/IAAAAAAAAAAAAAAAAAAE/xAAAAAAAAAAAAAAAAAACP+QAAAAAA + AAAAAAAAAAAAn/qAAAAAAAAAAAAAAAAAAV/8gAAAAAAAAAAAAAAAAAE//UAAAAAAAAAAAAAAAAACv/6g + AAAAAAAAAAAAAAAABX//IAAAAAAAAAAAAAAAAAT//1AAAAAAAAAAAAAAAAAK//+oAAAAAAAAAAAAAAAA + Ff//1AAAAAAAAAAAAAAAACv//9IAAAAAAAAAAAAAAABL///qAAAAAAAAAAAAAAAAV///9QAAAAAAAAAA + AAAAAK////qAAAAAAAAAAAAAAAFf///9QAAAAAAAAAAAAAACv////qAAAAAAAAAAAAAABX////9QAAAA + AAAAAAAAAAr/////qAAAAAAAAAAAAAAV/////9IAAAAAAAAAAAAAS//////pAAAAAAAAAAAAAJf///// + 9IAAAAAAAAAAAAEv//////pAAAAAAAAAAAACX//////8kAAAAAAAAAAACT///////0gAAAAAAAAAABL/ + //////+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 0000000..374da88 Binary files /dev/null and b/Resizor/Resizor.ico differ 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