From 880f9f299dd96a0c1f00e66ba2464bd9ace3f999 Mon Sep 17 00:00:00 2001 From: flashwave Date: Sun, 8 Oct 2023 02:10:21 +0200 Subject: [PATCH] initial commit --- .gitattributes | 63 + .gitignore | 215 +++ README.md | 13 + SoFii.sln | 25 + SoFii/ColourCharInfo.cs | 31 + SoFii/Constants.cs | 6 + SoFii/DNSClient.cs | 404 ++++ SoFii/DNSServers.txt | 15 + SoFii/Delegates.cs | 3 + SoFii/EmbeddedResources.cs | 37 + SoFii/MainWindow.Designer.cs | 402 ++++ SoFii/MainWindow.cs | 468 +++++ SoFii/MainWindow.resx | 2393 ++++++++++++++++++++++++ SoFii/NameColours.txt | 90 + SoFii/Program.cs | 39 + SoFii/Properties/AssemblyInfo.cs | 36 + SoFii/Properties/Resources.Designer.cs | 73 + SoFii/Properties/Resources.resx | 124 ++ SoFii/RNG.cs | 43 + SoFii/Resources/logoproto.ico | Bin 0 -> 135890 bytes SoFii/Settings.cs | 170 ++ SoFii/SoF2VideoMode.cs | 26 + SoFii/SoFii.csproj | 109 ++ 23 files changed, 4785 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md create mode 100644 SoFii.sln create mode 100644 SoFii/ColourCharInfo.cs create mode 100644 SoFii/Constants.cs create mode 100644 SoFii/DNSClient.cs create mode 100644 SoFii/DNSServers.txt create mode 100644 SoFii/Delegates.cs create mode 100644 SoFii/EmbeddedResources.cs create mode 100644 SoFii/MainWindow.Designer.cs create mode 100644 SoFii/MainWindow.cs create mode 100644 SoFii/MainWindow.resx create mode 100644 SoFii/NameColours.txt create mode 100644 SoFii/Program.cs create mode 100644 SoFii/Properties/AssemblyInfo.cs create mode 100644 SoFii/Properties/Resources.Designer.cs create mode 100644 SoFii/Properties/Resources.resx create mode 100644 SoFii/RNG.cs create mode 100644 SoFii/Resources/logoproto.ico create mode 100644 SoFii/Settings.cs create mode 100644 SoFii/SoF2VideoMode.cs create mode 100644 SoFii/SoFii.csproj diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0f3db54 --- /dev/null +++ b/.gitignore @@ -0,0 +1,215 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +MidiPlayer/build.txt +MwSignTool/public.xml + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +build/ +bld/ +[Bb]in/ +[Oo]bj/ + +# Visual Studio 2015 cache/options directory +.vs/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# 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 + +# NCrunch +_NCrunch_* +.*crunch*.local.xml + +# 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 +## TODO: Comment the next line if you want to checkin your +## web deploy settings but do note that will include unencrypted +## passwords +#*.pubxml + +*.publishproj + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config + +# Windows Azure Build Output +csx/ +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# 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/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# 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 + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# LightSwitch generated files +GeneratedArtifacts/ +_Pvt_Extensions/ +ModelManifest.xml diff --git a/README.md b/README.md new file mode 100644 index 0000000..6ed3394 --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# SoFii + +A prelaunch environment for Soldier of Fortune 2, primary for use with the Flashii server of it. + +The tool lets you decide what video mode to use before launching and also provides you with an easy way to set a coloured player name. + +This tool doesn't download the game for you, a copy of it with SoF2MP.exe is required! + +The only network request this program makes is a TXT DNS lookup to `_sofii.flashii.net` to retrieve the current server address, whatever the latest recommended version of the tool is and if needed an announcement message. +This network request will not happen if "Use custom server address" is checked. + +Settings are stored in the Windows Registry at `HKCU\\Software\\flash.moe\\SoFii`. +If for whatever reason you want to prevent the program from ever doing the DNS lookup create a DWORD value called `UseDefaultServer` and set it to `0`. diff --git a/SoFii.sln b/SoFii.sln new file mode 100644 index 0000000..94be026 --- /dev/null +++ b/SoFii.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.34031.81 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SoFii", "SoFii\SoFii.csproj", "{6026586C-8730-428A-8E61-E75568FF7185}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6026586C-8730-428A-8E61-E75568FF7185}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6026586C-8730-428A-8E61-E75568FF7185}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6026586C-8730-428A-8E61-E75568FF7185}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6026586C-8730-428A-8E61-E75568FF7185}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {A304B1B1-038C-4716-9CCD-8255021744FA} + EndGlobalSection +EndGlobal diff --git a/SoFii/ColourCharInfo.cs b/SoFii/ColourCharInfo.cs new file mode 100644 index 0000000..d3a3794 --- /dev/null +++ b/SoFii/ColourCharInfo.cs @@ -0,0 +1,31 @@ +using System; +using System.Drawing; + +namespace SoFii { + public readonly struct ColourCharInfo { + public readonly char Char; + public readonly Color Colour; + + public ColourCharInfo(char chr, Color col) { + Char = chr; + Colour = col; + } + + public static ColourCharInfo FromStrings(string chr, string col) { + if(chr is null) + throw new ArgumentNullException(nameof(chr)); + if(col is null) + throw new ArgumentNullException(nameof(col)); + if(chr.Length < 1) + throw new ArgumentException("chr must contain at least 1 character", nameof(chr)); + if(!int.TryParse(col, out int colourRaw)) + throw new ArgumentException("col is not a valid integer", nameof(col)); + + return new ColourCharInfo(chr[0], Color.FromArgb(unchecked(colourRaw | (int)0xFF000000))); + } + + public override string ToString() { + return $"ColourCharInfo [Char={Char}, Colour={Colour}]"; + } + } +} diff --git a/SoFii/Constants.cs b/SoFii/Constants.cs new file mode 100644 index 0000000..f77e5a8 --- /dev/null +++ b/SoFii/Constants.cs @@ -0,0 +1,6 @@ +namespace SoFii { + public static class Constants { + public const string SOFII_DOMAIN = "_sofii.flashii.net."; + public const string INFO_URL = "https://fii.moe/sofii"; + } +} diff --git a/SoFii/DNSClient.cs b/SoFii/DNSClient.cs new file mode 100644 index 0000000..571de6e --- /dev/null +++ b/SoFii/DNSClient.cs @@ -0,0 +1,404 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Net.Sockets; +using System.Text; +using System.Threading; + +namespace SoFii { + public class DNSClient : IDisposable { + public static readonly string[] Servers; + + static DNSClient() { + string[] servers = Settings.CustomDNSServers; + + if(servers.Length < 1 || string.IsNullOrEmpty(servers[0])) + servers = EmbeddedResources.GetDNSServers(); + + RNG.Shuffle(servers); + Servers = servers; + } + + private static int CurrentServerIndex = -1; + + public static string GetNextCommonServer() { + Interlocked.Increment(ref CurrentServerIndex); + return Servers[CurrentServerIndex % Servers.Length]; + } + + private readonly Socket Sock; + + public DNSClient() : this(GetNextCommonServer()) { } + + public DNSClient(string ipAddr) : this( + IPAddress.Parse(ipAddr ?? throw new ArgumentNullException(nameof(ipAddr))) + ) { } + + public DNSClient(IPAddress ipAddr) { + if(ipAddr == null) + throw new ArgumentNullException(nameof(ipAddr)); + + Sock = new Socket(ipAddr.AddressFamily, SocketType.Dgram, ProtocolType.Udp); + Sock.Connect(ipAddr, 53); + } + + public Response QueryRecords(RecordType qType, string qName) { + if(qName == null) + throw new ArgumentNullException(nameof(qName)); + if(string.IsNullOrEmpty(qName)) + throw new ArgumentException("domain may not be empty", nameof(qName)); + + byte[] transId = new byte[2]; + RNG.NextBytes(transId); + + using(MemoryStream ms = new MemoryStream()) { + // Transaction ID + ms.Write(transId, 0, 2); + + // QR, Opcode, AC, TC, RD + ms.WriteByte(0x01); // RD = Recursion Desired, we want this + // RA, Z, RCODE + ms.WriteByte(0); + + // QDCOUNT (1 query) + ms.WriteByte(0); + ms.WriteByte(0x01); + + // ANCOUNT + ms.WriteByte(0); + ms.WriteByte(0); + + // NSCOUNT + ms.WriteByte(0); + ms.WriteByte(0); + + // ARCOUNT + ms.WriteByte(0); + ms.WriteByte(0); + + // QNAME + string[] qNameParts = qName.Split('.'); + for(int i = 0; i < qNameParts.Length; ++i) { + string qNamePart = qNameParts[i]; + int qNamePartLength = Encoding.ASCII.GetByteCount(qNamePart); + if(i != (qNameParts.Length - 1) && qNamePartLength < 1) + throw new ArgumentException("Malformed domain (label too short)", nameof(qName)); + if(qNamePartLength > 0x3F) + throw new ArgumentException("Malformed domain (label too long)", nameof(qName)); + + ms.WriteByte((byte)qNamePartLength); + if(qNamePartLength > 0) + ms.Write(Encoding.ASCII.GetBytes(qNamePart), 0, qNamePartLength); + } + + // QTYPE + int qTypeNum = (int)qType; + ms.WriteByte((byte)(qTypeNum >> 8)); + ms.WriteByte((byte)qTypeNum); + + // QCLASS - Interneet Protocol + ms.WriteByte(0); + ms.WriteByte(0x01); + + // Sende + int sent = Sock.Send(ms.ToArray()); + if(sent != ms.Length) + throw new DNSClientException("Was unable send whole packet"); + } + + int read; + byte[] buffer = new byte[1024]; + + int error; + List queries = new List(); + List answers = new List(); + + using(MemoryStream ms = new MemoryStream()) { + read = Sock.Receive(buffer); + if(read < 12) + throw new DNSClientException("Did not receive a full DNS response header"); + ms.Write(buffer, 0, read); + + while(read >= buffer.Length) { + read = Sock.Receive(buffer); + ms.Write(buffer, 0, read); + } + + ms.Seek(0, SeekOrigin.Begin); + + if(ms.ReadByte() != transId[0] || ms.ReadByte() != transId[1]) + throw new DNSClientException("Response received did not contain the same transaction ID"); + + int flags = (ms.ReadByte() << 8) | ms.ReadByte(); + if((flags & 0x8000) == 0) + throw new DNSClientException("Response did not have the response bit set"); + if((flags & 0x0200) > 0) + throw new DNSClientException("Truncated responses are not supported"); + if((flags & 0x0080) == 0) + throw new DNSClientException("This server does not allow recursion"); + + error = flags & 0x000F; + if(error == 1) + throw new DNSClientException("Request was incorrectly formatted"); + if(error == 2) + throw new DNSClientException("Name server was unable to process the query"); + if(error == 4) + throw new DNSClientException("Name server does not support this type of query"); + if(error == 5) + throw new DNSClientException("Name server refused to respond to this query"); + if(error != 0 && error != 3) + throw new DNSClientException($"An error occurred while processing this query: {error}"); + + int qdCount = (ms.ReadByte() << 8) | ms.ReadByte(); + int anCount = (ms.ReadByte() << 8) | ms.ReadByte(); + int nsCount = (ms.ReadByte() << 8) | ms.ReadByte(); + int arCount = (ms.ReadByte() << 8) | ms.ReadByte(); + + for(int i = 0; i < qdCount; ++i) { + string qdName = string.Join(".", ReadLabels(ms)); + RecordType qdType = (RecordType)((ms.ReadByte() << 8) | ms.ReadByte()); + int qdClass = (ms.ReadByte() << 8) | ms.ReadByte(); + + queries.Add(new Query(qdName, qdType, qdClass)); + } + + for(int i = 0; i < anCount; ++i) { + string anName = string.Join(".", ReadLabels(ms)); + RecordType anType = (RecordType)((ms.ReadByte() << 8) | ms.ReadByte()); + int anClass = (ms.ReadByte() << 8) | ms.ReadByte(); + int anTTL = (ms.ReadByte() << 24) | (ms.ReadByte() << 16) | (ms.ReadByte() << 8) | ms.ReadByte(); + int anDataLength = (ms.ReadByte() << 8) | ms.ReadByte(); + byte[] anData; + + if(anDataLength < 1) { +#if NETFX4_6_OR_GREATER || NETCOREAPP1_0_OR_GREATER + anData = Array.Empty(); +#else + anData = new byte[0]; +#endif + } else { + anData = new byte[anDataLength]; + read = ms.Read(anData, 0, anDataLength); + if(read != anDataLength) + throw new DNSClientException("Could not read data field of record"); + } + + answers.Add(new Answer(anName, anType, anClass, anTTL, anDataLength, anData)); + } + } + + return new Response( + error, + queries.ToArray(), + answers.ToArray() + ); + } + + private static string[] ReadLabels(Stream stream) { + int length = stream.ReadByte(); + bool isRef = (length & 0xC0) == 0xC0; + long jumpTo = 0; + + length &= 0x3F; + + if(isRef) { + length <<= 8; + length |= stream.ReadByte(); + jumpTo = stream.Position; + stream.Seek(length, SeekOrigin.Begin); + + length = stream.ReadByte(); + } + + byte[] buffer = new byte[0x3F]; + List labels = new List(); + int read; + + for(; ; ) + { + if(length < 1) { + labels.Add(string.Empty); + break; + } + + if(length > 0x3F) + throw new DNSClientException("Received label field that claims to be longer than 63 bytes"); + + read = stream.Read(buffer, 0, length); + if(read != length) + throw new DNSClientException("Wasn't able to read the entire label (end of stream?)"); + + labels.Add(Encoding.ASCII.GetString(buffer, 0, read)); + length = stream.ReadByte(); + } + + if(isRef) + stream.Seek(jumpTo, SeekOrigin.Begin); + + return labels.ToArray(); + } + + public struct Response { + public int Status; + public Query[] Queries; + public Answer[] Answers; + + public bool IsSuccess => Status == 0; + + public Response( + int status, + Query[] queries, + Answer[] answers + ) { + Status = status; + Queries = queries; + Answers = answers; + } + } + + public struct Query { + public string Name; + public RecordType Type; + public int Class; + + public Query( + string name, + RecordType type, + int @class + ) { + Name = name; + Type = type; + Class = @class; + } + + public override string ToString() { + return $"{Name} {Type} {Class}"; + } + } + + public struct Answer { + public string Name; + public RecordType Type; + public int Class; + public int TTL; + public int DataLength; + public byte[] Data; + + public Answer( + string name, + RecordType type, + int @class, + int ttl, + int dataLength, + byte[] data + ) { + Name = name; + Type = type; + Class = @class; + TTL = ttl; + DataLength = dataLength; + Data = data; + } + + // TODO: support other record types someday maybe + + public AnswerTXT GetTXTData() { + return new AnswerTXT(Data); + } + + public override string ToString() { + return $"{Name} {Type} {Class} {TTL} {DataLength} {Encoding.ASCII.GetString(Data)}"; + } + + public struct AnswerTXT { + public int Length; + public string Text; + + public AnswerTXT(byte[] data) { + Length = data[0]; + Text = Encoding.ASCII.GetString(data, 1, Length); + } + } + } + + public enum RecordType : ushort { + A = 0x0001, + NS = 0x0002, + CNAME = 0x0005, + SOA = 0x0006, + PTR = 0x000C, + HINFO = 0x000D, + MX = 0x000F, + TXT = 0x0010, + RP = 0x0011, + AFSDB = 0x0012, + SIG = 0x0018, + KEY = 0x0019, + AAAA = 0x001C, + LOC = 0x001D, + SRV = 0x0021, + NAPTR = 0x0023, + KX = 0x0024, + CERT = 0x0025, + DNAME = 0x0027, + OPT = 0x0029, + APL = 0x002A, + DS = 0x002B, + SSHFP = 0x002C, + IPSECKEY = 0x002D, + RRSIG = 0x002E, + NSEC = 0x002F, + DNSKEY = 0x0030, + DHCID = 0x0031, + NSEC3 = 0x0032, + NSEC3PARAM = 0x0033, + TLSA = 0x0034, + SMIMEA = 0x0035, + HIP = 0x0037, + CDS = 0x003B, + CDNSKEY = 0x003C, + OPENPGPKEY = 0x003D, + CSYNC = 0x003E, + ZONEMD = 0x003F, + SVCB = 0x0040, + HTTPS = 0x0041, + EUI48 = 0x006C, + EUI64 = 0x006D, + TKEY = 0x00F9, + TSIG = 0x00FA, + IXFR = 0x00FB, + AXFR = 0x00FC, + ANY = 0x00FF, + URI = 0x0100, + CAA = 0x0101, + TA = 0x8000, + DLV = 0x8001, + } + + private bool IsDisposed; + + ~DNSClient() { + DoDispose(); + } + + public void Dispose() { + DoDispose(); + GC.SuppressFinalize(this); + } + + private void DoDispose() { + if(IsDisposed) + return; + IsDisposed = true; + + Sock?.Close(); + } + } + + public class DNSClientException : Exception { + public DNSClientException() : base() { } + public DNSClientException(string message) : base(message) { } + public DNSClientException(string message, Exception innerException) : base(message, innerException) { } + } +} diff --git a/SoFii/DNSServers.txt b/SoFii/DNSServers.txt new file mode 100644 index 0000000..8e4fd91 --- /dev/null +++ b/SoFii/DNSServers.txt @@ -0,0 +1,15 @@ +# OpenDNS +208.67.222.222 +208.67.220.220 +# CloudFlare +1.1.1.1 +1.0.0.1 +# Google Public DNS +8.8.8.8 +8.8.4.4 +# Quad9 +9.9.9.9 +149.112.112.112 +# Control D +76.76.2.0 +76.76.10.0 diff --git a/SoFii/Delegates.cs b/SoFii/Delegates.cs new file mode 100644 index 0000000..2845257 --- /dev/null +++ b/SoFii/Delegates.cs @@ -0,0 +1,3 @@ +namespace SoFii { + public delegate void Action(); +} diff --git a/SoFii/EmbeddedResources.cs b/SoFii/EmbeddedResources.cs new file mode 100644 index 0000000..bb6852c --- /dev/null +++ b/SoFii/EmbeddedResources.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.IO; + +namespace SoFii { + public static class EmbeddedResources { + public static void LoadLines(string name, Action onLine) { + using(Stream stream = Program.CurrentAssembly.GetManifestResourceStream($@"{Program.CurrentAssemblyName.Name}.{name}")) + using(StreamReader sr = new StreamReader(stream, true)) { + string line; + while(!string.IsNullOrEmpty(line = sr.ReadLine())) + onLine(line); + } + } + + public static string[] GetDNSServers() { + List items = new List(); + LoadLines("DNSServers.txt", line => { + if(!line.StartsWith("#")) + items.Add(line.Trim()); + }); + + return items.ToArray(); + } + + public static ColourCharInfo[] GetColourChars() { + List items = new List(); + LoadLines("NameColours.txt", line => { + string[] parts = line.Split(' '); + if(parts.Length > 1) + items.Add(ColourCharInfo.FromStrings(parts[0], parts[1])); + }); + + return items.ToArray(); + } + } +} diff --git a/SoFii/MainWindow.Designer.cs b/SoFii/MainWindow.Designer.cs new file mode 100644 index 0000000..eff5954 --- /dev/null +++ b/SoFii/MainWindow.Designer.cs @@ -0,0 +1,402 @@ + +namespace SoFii +{ + partial class MainWindow + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainWindow)); + this.serverBox = new System.Windows.Forms.GroupBox(); + this.serverAddressLabel = new System.Windows.Forms.Label(); + this.serverAddressInput = new System.Windows.Forms.TextBox(); + this.serverResetButton = new System.Windows.Forms.Button(); + this.launchGameButton = new System.Windows.Forms.Button(); + this.gameBox = new System.Windows.Forms.GroupBox(); + this.gameLocationLabel = new System.Windows.Forms.Label(); + this.gameLocationInput = new System.Windows.Forms.TextBox(); + this.gameBrowseButton = new System.Windows.Forms.Button(); + this.mainTabs = new System.Windows.Forms.TabControl(); + this.locationsTabPage = new System.Windows.Forms.TabPage(); + this.versionLabel = new System.Windows.Forms.Label(); + this.mainOpenFileDiag = new System.Windows.Forms.OpenFileDialog(); + this.serverUseCustom = new System.Windows.Forms.CheckBox(); + this.playerTabPage = new System.Windows.Forms.TabPage(); + this.playerNameBox = new System.Windows.Forms.GroupBox(); + this.playerNameLabel = new System.Windows.Forms.Label(); + this.playerNameInput = new System.Windows.Forms.TextBox(); + this.playerNameColoursBox = new System.Windows.Forms.GroupBox(); + this.playerNameColourButton = new System.Windows.Forms.Button(); + this.playerNamePreview = new System.Windows.Forms.Panel(); + this.gfxBox = new System.Windows.Forms.GroupBox(); + this.gfxFullscreen = new System.Windows.Forms.CheckBox(); + this.gfxResolutionLabel = new System.Windows.Forms.Label(); + this.gfxResolutionSelect = new System.Windows.Forms.ComboBox(); + this.serverBox.SuspendLayout(); + this.gameBox.SuspendLayout(); + this.mainTabs.SuspendLayout(); + this.locationsTabPage.SuspendLayout(); + this.playerTabPage.SuspendLayout(); + this.playerNameBox.SuspendLayout(); + this.playerNameColoursBox.SuspendLayout(); + this.gfxBox.SuspendLayout(); + this.SuspendLayout(); + // + // serverBox + // + this.serverBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.serverBox.Controls.Add(this.serverUseCustom); + this.serverBox.Controls.Add(this.serverAddressLabel); + this.serverBox.Controls.Add(this.serverAddressInput); + this.serverBox.Controls.Add(this.serverResetButton); + this.serverBox.Location = new System.Drawing.Point(6, 65); + this.serverBox.Name = "serverBox"; + this.serverBox.Size = new System.Drawing.Size(540, 71); + this.serverBox.TabIndex = 300; + this.serverBox.TabStop = false; + this.serverBox.Text = "Server"; + // + // serverAddressLabel + // + this.serverAddressLabel.AutoSize = true; + this.serverAddressLabel.Location = new System.Drawing.Point(36, 24); + this.serverAddressLabel.Name = "serverAddressLabel"; + this.serverAddressLabel.Size = new System.Drawing.Size(45, 13); + this.serverAddressLabel.TabIndex = 301; + this.serverAddressLabel.Text = "Address"; + // + // serverAddressInput + // + this.serverAddressInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.serverAddressInput.Location = new System.Drawing.Point(87, 21); + this.serverAddressInput.Name = "serverAddressInput"; + this.serverAddressInput.Size = new System.Drawing.Size(360, 20); + this.serverAddressInput.TabIndex = 302; + // + // serverResetButton + // + this.serverResetButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.serverResetButton.Location = new System.Drawing.Point(453, 19); + this.serverResetButton.Name = "serverResetButton"; + this.serverResetButton.Size = new System.Drawing.Size(75, 23); + this.serverResetButton.TabIndex = 303; + this.serverResetButton.Text = "Reset"; + this.serverResetButton.UseVisualStyleBackColor = true; + this.serverResetButton.Click += new System.EventHandler(this.serverResetButton_Click); + // + // launchGameButton + // + this.launchGameButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.launchGameButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.launchGameButton.Location = new System.Drawing.Point(448, 526); + this.launchGameButton.Name = "launchGameButton"; + this.launchGameButton.Size = new System.Drawing.Size(124, 23); + this.launchGameButton.TabIndex = 11; + this.launchGameButton.Text = "Launch SoF2"; + this.launchGameButton.UseVisualStyleBackColor = true; + this.launchGameButton.Click += new System.EventHandler(this.launchGameButton_Click); + // + // gameBox + // + this.gameBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.gameBox.Controls.Add(this.gameLocationLabel); + this.gameBox.Controls.Add(this.gameLocationInput); + this.gameBox.Controls.Add(this.gameBrowseButton); + this.gameBox.Location = new System.Drawing.Point(6, 6); + this.gameBox.Name = "gameBox"; + this.gameBox.Size = new System.Drawing.Size(540, 53); + this.gameBox.TabIndex = 200; + this.gameBox.TabStop = false; + this.gameBox.Text = "Game"; + // + // gameLocationLabel + // + this.gameLocationLabel.AutoSize = true; + this.gameLocationLabel.Location = new System.Drawing.Point(33, 23); + this.gameLocationLabel.Name = "gameLocationLabel"; + this.gameLocationLabel.Size = new System.Drawing.Size(48, 13); + this.gameLocationLabel.TabIndex = 201; + this.gameLocationLabel.Text = "Location"; + // + // gameLocationInput + // + this.gameLocationInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.gameLocationInput.Enabled = false; + this.gameLocationInput.Location = new System.Drawing.Point(87, 20); + this.gameLocationInput.Name = "gameLocationInput"; + this.gameLocationInput.Size = new System.Drawing.Size(360, 20); + this.gameLocationInput.TabIndex = 202; + // + // gameBrowseButton + // + this.gameBrowseButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.gameBrowseButton.Location = new System.Drawing.Point(453, 18); + this.gameBrowseButton.Name = "gameBrowseButton"; + this.gameBrowseButton.Size = new System.Drawing.Size(75, 23); + this.gameBrowseButton.TabIndex = 203; + this.gameBrowseButton.Text = "Browse..."; + this.gameBrowseButton.UseVisualStyleBackColor = true; + this.gameBrowseButton.Click += new System.EventHandler(this.gameBrowseButton_Click); + // + // mainTabs + // + this.mainTabs.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.mainTabs.Controls.Add(this.locationsTabPage); + this.mainTabs.Controls.Add(this.playerTabPage); + this.mainTabs.Location = new System.Drawing.Point(12, 12); + this.mainTabs.Name = "mainTabs"; + this.mainTabs.SelectedIndex = 0; + this.mainTabs.Size = new System.Drawing.Size(560, 508); + this.mainTabs.TabIndex = 12; + this.mainTabs.SelectedIndexChanged += new System.EventHandler(this.mainTabs_SelectedIndexChanged); + // + // locationsTabPage + // + this.locationsTabPage.Controls.Add(this.gameBox); + this.locationsTabPage.Controls.Add(this.serverBox); + this.locationsTabPage.Location = new System.Drawing.Point(4, 22); + this.locationsTabPage.Name = "locationsTabPage"; + this.locationsTabPage.Padding = new System.Windows.Forms.Padding(3); + this.locationsTabPage.Size = new System.Drawing.Size(552, 482); + this.locationsTabPage.TabIndex = 0; + this.locationsTabPage.Text = "Locations"; + this.locationsTabPage.UseVisualStyleBackColor = true; + // + // versionLabel + // + this.versionLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.versionLabel.AutoSize = true; + this.versionLabel.ForeColor = System.Drawing.SystemColors.GrayText; + this.versionLabel.Location = new System.Drawing.Point(13, 533); + this.versionLabel.Name = "versionLabel"; + this.versionLabel.Size = new System.Drawing.Size(117, 13); + this.versionLabel.TabIndex = 13; + this.versionLabel.Text = "SoFii version goes here"; + // + // mainOpenFileDiag + // + this.mainOpenFileDiag.DefaultExt = "exe"; + this.mainOpenFileDiag.Filter = "SoF2 Multiplayer Executable|SoF2MP.exe"; + this.mainOpenFileDiag.RestoreDirectory = true; + // + // serverUseCustom + // + this.serverUseCustom.AutoSize = true; + this.serverUseCustom.Location = new System.Drawing.Point(87, 47); + this.serverUseCustom.Name = "serverUseCustom"; + this.serverUseCustom.Size = new System.Drawing.Size(154, 17); + this.serverUseCustom.TabIndex = 304; + this.serverUseCustom.Text = "Use custom server address"; + this.serverUseCustom.UseVisualStyleBackColor = true; + this.serverUseCustom.CheckedChanged += new System.EventHandler(this.serverUseCustom_CheckedChanged); + // + // playerTabPage + // + this.playerTabPage.Controls.Add(this.gfxBox); + this.playerTabPage.Controls.Add(this.playerNameBox); + this.playerTabPage.Location = new System.Drawing.Point(4, 22); + this.playerTabPage.Name = "playerTabPage"; + this.playerTabPage.Padding = new System.Windows.Forms.Padding(3); + this.playerTabPage.Size = new System.Drawing.Size(552, 482); + this.playerTabPage.TabIndex = 1; + this.playerTabPage.Text = "Settings"; + this.playerTabPage.UseVisualStyleBackColor = true; + // + // playerNameBox + // + this.playerNameBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.playerNameBox.Controls.Add(this.playerNamePreview); + this.playerNameBox.Controls.Add(this.playerNameColoursBox); + this.playerNameBox.Controls.Add(this.playerNameLabel); + this.playerNameBox.Controls.Add(this.playerNameInput); + this.playerNameBox.Location = new System.Drawing.Point(6, 6); + this.playerNameBox.Name = "playerNameBox"; + this.playerNameBox.Size = new System.Drawing.Size(540, 360); + this.playerNameBox.TabIndex = 400; + this.playerNameBox.TabStop = false; + this.playerNameBox.Text = "Player Name"; + // + // playerNameLabel + // + this.playerNameLabel.AutoSize = true; + this.playerNameLabel.Location = new System.Drawing.Point(46, 23); + this.playerNameLabel.Name = "playerNameLabel"; + this.playerNameLabel.Size = new System.Drawing.Size(35, 13); + this.playerNameLabel.TabIndex = 401; + this.playerNameLabel.Text = "Name"; + // + // playerNameInput + // + this.playerNameInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.playerNameInput.Location = new System.Drawing.Point(87, 20); + this.playerNameInput.Name = "playerNameInput"; + this.playerNameInput.Size = new System.Drawing.Size(360, 20); + this.playerNameInput.TabIndex = 402; + this.playerNameInput.TextChanged += new System.EventHandler(this.playerNameInput_TextChanged); + // + // playerNameColoursBox + // + this.playerNameColoursBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.playerNameColoursBox.Controls.Add(this.playerNameColourButton); + this.playerNameColoursBox.Location = new System.Drawing.Point(49, 70); + this.playerNameColoursBox.Name = "playerNameColoursBox"; + this.playerNameColoursBox.Size = new System.Drawing.Size(442, 279); + this.playerNameColoursBox.TabIndex = 450; + this.playerNameColoursBox.TabStop = false; + this.playerNameColoursBox.Text = "Colours"; + // + // playerNameColourButton + // + this.playerNameColourButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.playerNameColourButton.Location = new System.Drawing.Point(18, 27); + this.playerNameColourButton.Name = "playerNameColourButton"; + this.playerNameColourButton.Size = new System.Drawing.Size(32, 32); + this.playerNameColourButton.TabIndex = 451; + this.playerNameColourButton.Text = "A"; + this.playerNameColourButton.TextAlign = System.Drawing.ContentAlignment.BottomRight; + this.playerNameColourButton.UseVisualStyleBackColor = true; + // + // playerNamePreview + // + this.playerNamePreview.Location = new System.Drawing.Point(87, 46); + this.playerNamePreview.Name = "playerNamePreview"; + this.playerNamePreview.Size = new System.Drawing.Size(360, 18); + this.playerNamePreview.TabIndex = 410; + // + // gfxBox + // + this.gfxBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.gfxBox.Controls.Add(this.gfxResolutionLabel); + this.gfxBox.Controls.Add(this.gfxResolutionSelect); + this.gfxBox.Controls.Add(this.gfxFullscreen); + this.gfxBox.Location = new System.Drawing.Point(6, 372); + this.gfxBox.Name = "gfxBox"; + this.gfxBox.Size = new System.Drawing.Size(540, 72); + this.gfxBox.TabIndex = 500; + this.gfxBox.TabStop = false; + this.gfxBox.Text = "Graphics"; + // + // gfxFullscreen + // + this.gfxFullscreen.AutoSize = true; + this.gfxFullscreen.Location = new System.Drawing.Point(87, 46); + this.gfxFullscreen.Name = "gfxFullscreen"; + this.gfxFullscreen.Size = new System.Drawing.Size(74, 17); + this.gfxFullscreen.TabIndex = 501; + this.gfxFullscreen.Text = "Fullscreen"; + this.gfxFullscreen.UseVisualStyleBackColor = true; + this.gfxFullscreen.CheckedChanged += new System.EventHandler(this.gfxFullscreen_CheckedChanged); + // + // gfxResolutionLabel + // + this.gfxResolutionLabel.AutoSize = true; + this.gfxResolutionLabel.Location = new System.Drawing.Point(24, 22); + this.gfxResolutionLabel.Name = "gfxResolutionLabel"; + this.gfxResolutionLabel.Size = new System.Drawing.Size(57, 13); + this.gfxResolutionLabel.TabIndex = 502; + this.gfxResolutionLabel.Text = "Resolution"; + // + // gfxResolutionSelect + // + this.gfxResolutionSelect.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.gfxResolutionSelect.FormattingEnabled = true; + this.gfxResolutionSelect.Location = new System.Drawing.Point(87, 19); + this.gfxResolutionSelect.Name = "gfxResolutionSelect"; + this.gfxResolutionSelect.Size = new System.Drawing.Size(360, 21); + this.gfxResolutionSelect.TabIndex = 503; + this.gfxResolutionSelect.SelectedIndexChanged += new System.EventHandler(this.gfxResolutionSelect_SelectedIndexChanged); + // + // MainWindow + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(584, 561); + this.Controls.Add(this.versionLabel); + this.Controls.Add(this.mainTabs); + this.Controls.Add(this.launchGameButton); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "MainWindow"; + this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; + this.Text = "SoFii :: Soldier of Fortune 2 Tool for Flashii"; + this.serverBox.ResumeLayout(false); + this.serverBox.PerformLayout(); + this.gameBox.ResumeLayout(false); + this.gameBox.PerformLayout(); + this.mainTabs.ResumeLayout(false); + this.locationsTabPage.ResumeLayout(false); + this.playerTabPage.ResumeLayout(false); + this.playerNameBox.ResumeLayout(false); + this.playerNameBox.PerformLayout(); + this.playerNameColoursBox.ResumeLayout(false); + this.gfxBox.ResumeLayout(false); + this.gfxBox.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.GroupBox serverBox; + private System.Windows.Forms.Button launchGameButton; + private System.Windows.Forms.Label serverAddressLabel; + private System.Windows.Forms.TextBox serverAddressInput; + private System.Windows.Forms.Button serverResetButton; + private System.Windows.Forms.GroupBox gameBox; + private System.Windows.Forms.Label gameLocationLabel; + private System.Windows.Forms.TextBox gameLocationInput; + private System.Windows.Forms.Button gameBrowseButton; + private System.Windows.Forms.TabControl mainTabs; + private System.Windows.Forms.TabPage locationsTabPage; + private System.Windows.Forms.Label versionLabel; + private System.Windows.Forms.OpenFileDialog mainOpenFileDiag; + private System.Windows.Forms.CheckBox serverUseCustom; + private System.Windows.Forms.TabPage playerTabPage; + private System.Windows.Forms.GroupBox playerNameBox; + private System.Windows.Forms.Label playerNameLabel; + private System.Windows.Forms.TextBox playerNameInput; + private System.Windows.Forms.GroupBox playerNameColoursBox; + private System.Windows.Forms.Button playerNameColourButton; + private System.Windows.Forms.Panel playerNamePreview; + private System.Windows.Forms.GroupBox gfxBox; + private System.Windows.Forms.CheckBox gfxFullscreen; + private System.Windows.Forms.Label gfxResolutionLabel; + private System.Windows.Forms.ComboBox gfxResolutionSelect; + } +} + diff --git a/SoFii/MainWindow.cs b/SoFii/MainWindow.cs new file mode 100644 index 0000000..7540ffd --- /dev/null +++ b/SoFii/MainWindow.cs @@ -0,0 +1,468 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Drawing; +using System.IO; +using System.Text; +using System.Threading; +using System.Windows.Forms; + +namespace SoFii { + public partial class MainWindow : Form { + private bool IsSizing = false; + private readonly ColourCharInfo[] Colours = EmbeddedResources.GetColourChars(); + + public MainWindow() { + InitializeComponent(); + + ResizeToFit(false); + + Screen screen = Screen.FromControl(this); + Rectangle screenRect = screen.WorkingArea; + int left = (screenRect.Width / 2) - (Size.Width / 2); + int top = (screenRect.Height / 4) - (Size.Height / 2); + Location = new Point(screenRect.Y + left, screenRect.X + top); + + versionLabel.Text = $"SoFii v{Program.GetSemVerString()}"; + + serverAddressInput.Text = Settings.ServerAddress; + if(Settings.UseDefaultServer) { + serverAddressInput.Enabled = false; + serverUseCustom.Checked = false; + LoadDefaultServer(); + } else { + serverAddressInput.Enabled = true; + serverUseCustom.Checked = true; + } + + CheckGameExists(Settings.GamePath); + DrawPlayerNameColourButtons(); + + playerNameInput.Text = Settings.PlayerName; + DrawPlayerNamePreview(); + + gfxResolutionSelect.Items.AddRange(new object[] { + string.Empty, + new SoF2VideoMode(3, "640x480"), + new SoF2VideoMode(4, "800x600"), + new SoF2VideoMode(5, "960x720"), + new SoF2VideoMode(6, "1024x768"), + new SoF2VideoMode(7, "1152x864"), + new SoF2VideoMode(8, "1280x1024"), + new SoF2VideoMode(9, "1600x1200"), + new SoF2VideoMode(10, "2048x1536"), + }); + + int gfxMode = Settings.GfxMode; + if(gfxMode >= 0) + gfxResolutionSelect.SelectedItem = gfxMode; + + gfxFullscreen.Checked = Settings.GfxFullscreen; + } + + private void DrawPlayerNameColourButtons() { + Control.ControlCollection container = playerNameColoursBox.Controls; + Button template = playerNameColourButton; + container.Remove(template); + + int width = template.Size.Width; + int height = template.Size.Height; + int rowStart = template.Location.Y; + int colStart = template.Location.X; + int tabIndex = template.TabIndex; + + int row = 0; + int col = 0; + + List handled = new List(); + foreach(ColourCharInfo cci in Colours) { + int argb = cci.Colour.ToArgb(); + if(handled.Contains(argb)) + continue; + handled.Add(argb); + + Button colourButton = new Button() { + Text = cci.Char.ToString(), + TextAlign = ContentAlignment.BottomRight, + FlatStyle = FlatStyle.Flat, + UseVisualStyleBackColor = false, + BackColor = cci.Colour, + TabIndex = tabIndex, + Size = new Size(width, height), + Location = new Point(colStart + (col * width) + (col * 2), rowStart + (row * height) + (row * 2)), + }; + + colourButton.Click += (s, e) => { + int selPos = playerNameInput.SelectionStart; + playerNameInput.Text = playerNameInput.Text.Insert(selPos, $"^{cci.Char}"); + playerNameInput.SelectionStart = selPos + 2; + }; + + container.Add(colourButton); + + ++tabIndex; + if(++col > 11) { + col = 0; + ++row; + } + } + } + + public void ResizeToFit(bool animate = true) { + int needHeight = 0; + + Point scrollPos = AutoScrollPosition; + AutoScrollPosition = new Point(0, 0); + + foreach(Control control in mainTabs.SelectedTab.Controls) { + int calcHeight = control.Size.Height + control.Location.Y; + if(calcHeight > needHeight) + needHeight = calcHeight; + } + + needHeight += 83; + + Screen screen = Screen.FromControl(this); + int maxHeight = (screen.WorkingArea.Height / 8) * 5; + + if(needHeight > maxHeight) + needHeight = maxHeight; + + void onFinish() { + AutoScrollPosition = scrollPos; + }; + + if(animate) + SetHeightAnimated(needHeight, onFinish); + else { + ClientSize = new Size(ClientSize.Width, needHeight); + onFinish(); + } + } + + public void SetHeightAnimated(int height, Action onFinish = null) { + if(IsSizing) + return; + IsSizing = true; + + const int timeout = 1000 / 60; + double time = 0; + double period = timeout / 150d; + + int currentHeight = ClientSize.Height; + int diffHeight = height - currentHeight; + + Action setHeight = new Action(() => { + int newHeight = currentHeight + (int)Math.Ceiling(time * diffHeight); + ClientSize = new Size(ClientSize.Width, newHeight); + }); + + new Thread(() => { + Stopwatch sw = new Stopwatch(); + + try { + do { + sw.Reset(); + sw.Start(); + + Invoke(setHeight); + time += period; + + int delay = timeout - (int)sw.ElapsedMilliseconds; + if(delay > 1) + Thread.Sleep(delay); + } while(time < 1d); + } finally { + sw.Stop(); + + InvokeAction(() => { + ClientSize = new Size(ClientSize.Width, height); + onFinish?.Invoke(); + Refresh(); + }); + + IsSizing = false; + } + }) { + IsBackground = true, + Priority = ThreadPriority.AboveNormal, + }.Start(); + } + + public void InvokeAction(Action action) { + if(action is null) + throw new ArgumentNullException(nameof(action)); + + if(InvokeRequired) + Invoke(action); + else + action(); + } + + public bool CheckGameExists(string path) { + bool exists = !string.IsNullOrEmpty(path) && File.Exists(path); + + gameLocationInput.Text = exists ? path : "Click the Browse... button and pick SoF2MP.exe"; + launchGameButton.Enabled = exists; + + return exists; + } + + public void LaunchGame() { + string path = Settings.GamePath; + + if(!CheckGameExists(path)) { + MessageBox.Show(this, "Game executable doesn't exist anymore. Please use the Browse... button to select it again.", "SoFii :: Error while launching game"); + return; + } + + string serverAddr = Settings.ServerAddress; + if(!Settings.UseDefaultServer && !serverAddressInput.Text.Equals(serverAddr)) + Settings.ServerAddress = serverAddr = serverAddressInput.Text; + + try { + Enabled = false; + WindowState = FormWindowState.Minimized; + + StringBuilder args = new StringBuilder(); + args.AppendFormat(@"+seta r_fullscreen ""{0}"" ", Settings.GfxFullscreen ? '1' : '0'); + + int vidMode = Settings.GfxMode; + if(vidMode >= 0) + args.AppendFormat(@"+seta r_mode ""{0}"" ", vidMode); + + args.Append("+vid_restart "); + + string playerName = Settings.PlayerName; + if(!string.IsNullOrEmpty(playerName)) + args.AppendFormat(@"+seta name ""{0}"" ", playerName); + + if(!string.IsNullOrEmpty(serverAddr)) + args.AppendFormat(@"+connect ""{0}"" +seta server1 ""{0}""", serverAddr); + + Process.Start(new ProcessStartInfo(path) { + Arguments = args.ToString(), + UseShellExecute = false, + WorkingDirectory = Path.GetDirectoryName(path), + }).WaitForExit(); + } finally { + WindowState = FormWindowState.Normal; + Enabled = true; + } + } + + public void LoadDefaultServer() { + if(!serverResetButton.Enabled) + return; + + serverResetButton.Enabled = false; + + bool serverAddressInputEnabled = serverAddressInput.Enabled; + + serverAddressInput.Enabled = false; + serverAddressInput.Text = "Loading..."; + + new Thread(() => { + void reportError(string message, string caption = "Error while fetching default server") { + InvokeAction(() => { + MessageBox.Show(this, message, $"SoFii :: {caption}"); + serverAddressInput.Text = string.Empty; + serverResetButton.Text = "Retry"; + }); + }; + + try { + using(DNSClient dns = new DNSClient()) { + DNSClient.Response resp = dns.QueryRecords(DNSClient.RecordType.TXT, Constants.SOFII_DOMAIN); + if(!resp.IsSuccess) { + reportError($"Could not resolve {Constants.SOFII_DOMAIN}."); + return; + } + + string addr = string.Empty; + string port = string.Empty; + string ver = string.Empty; + StringBuilder messageBuilder = new StringBuilder(); + + foreach(DNSClient.Answer answer in resp.Answers) { + if(answer.Type != DNSClient.RecordType.TXT) + continue; + + string text = answer.GetTXTData().Text.Trim(); + if(text.StartsWith("msg=")) { + messageBuilder.AppendLine(text.Substring(4)); + continue; + } + + string[] textParts = text.Split(' '); + foreach(string textPart in textParts) { + if(textPart.StartsWith("addr=") && string.IsNullOrEmpty(addr)) + addr = textPart.Substring(5); + else if(textPart.StartsWith("port=") && string.IsNullOrEmpty(port)) + port = textPart.Substring(5); + else if(textPart.StartsWith("ver=") && string.IsNullOrEmpty(ver)) + ver = textPart.Substring(4); + } + } + + if(messageBuilder.Length > 0) + reportError(messageBuilder.ToString(), "Message from the server"); + + if(string.IsNullOrEmpty(addr)) { + if(messageBuilder.Length < 1) + reportError("Server did not respond with an address and did not supply additional information."); + return; + } + + InvokeAction(() => { + serverResetButton.Text = "Reset"; + + string fullAddr = addr; + if(!string.IsNullOrEmpty(port)) + fullAddr += $":{port}"; + + Settings.ServerAddress = fullAddr; + serverAddressInput.Text = fullAddr; + + if(!string.IsNullOrEmpty(ver) && int.TryParse(ver, out int version) + && Program.GetSemVerInt() < version && Settings.IgnoreNewVersion < version) { + DialogResult result = MessageBox.Show( + this, + "A newer version of SoFii is available that may include necessary and/or new features.\r\nCheck https://fii.moe/sofii for more information.\r\n\r\nPress OK to continue or Cancel if you don't want to be notified about this version again.\r\nThe Help button will open the information page in your default web browser.", + "SoFii :: New version notification", + MessageBoxButtons.OKCancel, + MessageBoxIcon.Information, + MessageBoxDefaultButton.Button1, + 0, + Constants.INFO_URL + ); + if(result == DialogResult.Cancel) + Settings.IgnoreNewVersion = version; + } + }); + } + } catch(Exception ex) { +#if DEBUG + reportError(ex.ToString()); +#else + reportError(ex.Message); +#endif + } finally { + InvokeAction(() => { + serverAddressInput.Enabled = serverAddressInputEnabled; + serverResetButton.Enabled = true; + }); + } + }) { IsBackground = true }.Start(); + } + + private void serverResetButton_Click(object sender, EventArgs e) { + Settings.UseDefaultServer = true; + serverAddressInput.Enabled = false; + serverUseCustom.Checked = false; + LoadDefaultServer(); + } + + private void gameBrowseButton_Click(object sender, EventArgs e) { + if(mainOpenFileDiag.ShowDialog() == DialogResult.OK) { + string path = mainOpenFileDiag.FileName; + if(CheckGameExists(path)) + Settings.GamePath = path; + } + } + + private void launchGameButton_Click(object sender, EventArgs e) { + LaunchGame(); + } + + private void serverUseCustom_CheckedChanged(object sender, EventArgs e) { + bool useCustom = serverUseCustom.Checked; + + bool useDefault = !useCustom; + if(Settings.UseDefaultServer != useDefault) + Settings.UseDefaultServer = useDefault; + + serverAddressInput.Enabled = useCustom; + + if(useDefault) + LoadDefaultServer(); + } + + private void mainTabs_SelectedIndexChanged(object sender, EventArgs e) { + ResizeToFit(); + } + + public void DrawPlayerNamePreview() { + string userName = playerNameInput.Text; + bool nextIsColourChar = false; + Color colour = SystemColors.ControlText; + Brush brush = new SolidBrush(colour); + Font font = SystemFonts.DefaultFont; + + float offset = 0; + StringBuilder sb = new StringBuilder(); + + using(Graphics gfx = playerNamePreview.CreateGraphics()) { + gfx.Clear(SystemColors.ControlLightLight); + + float spaceWidth = gfx.MeasureString(" ", font).Width + .1f; + + void drawBuffer() { + if(sb.Length < 1) + return; + + string str = sb.ToString(); + sb.Length = 0; + + gfx.DrawString(str, font, brush, offset, 0); + offset += gfx.MeasureString(str, font).Width - spaceWidth; + }; + + foreach(char chr in userName) { + if(nextIsColourChar) { + foreach(ColourCharInfo cci in Colours) + if(cci.Char == chr) { + if(cci.Colour != colour) { + colour = cci.Colour; + brush.Dispose(); + brush = new SolidBrush(colour); + } + break; + } + + nextIsColourChar = false; + continue; + } + + if(chr == '^') { + nextIsColourChar = true; + drawBuffer(); + continue; + } + + sb.Append(chr); + } + + drawBuffer(); + } + + brush.Dispose(); + } + + private void playerNameInput_TextChanged(object sender, EventArgs e) { + Settings.PlayerName = playerNameInput.Text; + DrawPlayerNamePreview(); + } + + private void gfxFullscreen_CheckedChanged(object sender, EventArgs e) { + Settings.GfxFullscreen = gfxFullscreen.Checked; + } + + private void gfxResolutionSelect_SelectedIndexChanged(object sender, EventArgs e) { + if(gfxResolutionSelect.SelectedItem is SoF2VideoMode vidMode) + Settings.GfxMode = vidMode.Mode; + else + Settings.Remove(Settings.GFX_MODE); + } + } +} diff --git a/SoFii/MainWindow.resx b/SoFii/MainWindow.resx new file mode 100644 index 0000000..040c113 --- /dev/null +++ b/SoFii/MainWindow.resx @@ -0,0 +1,2393 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAkAEBAAAAEAIABoBAAAlgAAABgYAAABACAAiAkAAP4EAAAgIAAAAQAgAKgQAACGDgAAMDAAAAEA + IACoJQAALh8AAEBAAAABACAAKEIAANZEAABgYAAAAQAgAKiUAAD+hgAAgIAAAAEAIADUHQAAphsBAAAA + AAABACAAEUEAAHo5AQAAAAAAAQAgAEeYAACLegEAKAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAa6vkxGev1ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAJvLyFBjs9L8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAALuf+CyrP81sY7fTJEv//DgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvj+8QaYfwIleK + 8CNUqf4JQrPsGzm680Mr0PLSGOz1iRvu8UsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvYPGHam/tZV19 + 8qFXjPHKTJrxdUuc8W88tfLFLNHxpxzl9loX7vRMAAAAAAAAAAAAAAAAAAAAAAAAAACBSO+Uc13waHJh + 74NffPDRV4rwjFWW9WZPm/CrPLTxwynR8W8s0PNyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgkjvcYFK + 7G5wYu/DYH7wqlqH9WZYi/KNTZjw0jy28YI4v/BoLM/xlgAAAAAAAAAAAAAAAAAAAAAAAAAAkizuS4g4 + 7lqBR+6ocGHwxmF98XBdfO91V4zxyk6Z8qBCrfJkPbbwiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQp + 8UqXLO6KgUbt0ndk80JtbfUcVHH+CVeK8CNLlvAiS5bwEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACLLv4LkyrtyIJJ7lqUVf8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAJMr7MCfNfQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACSLe1lkSjrMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKAAAABgAAAAwAAAAAQAgAAAAAABgCQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGO72Pxnt + 8ncAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHO/yUBjs8+4A//8DAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAEv//Dhjs8/oY8PU1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA00/YdJ9H4Jxjs88YX7PJ5AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAsz/GWKtDxqRnr84EY7PS9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP8BZIb4JmCB7k1ah/ARVo/yPv///wJSmfIoQrb4Kjq18ZUu0PVSKs/y7Bju + 9j8Y7PP5F/7+CwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9j8FdxYe/FYH7xX159 + 8OFVi/FLVovw8k+V9jpNmfD7PrXuLTu18f83wu4uK9Dy/CrZ9TYY7PTpGPD1NQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACZM/8FgUfuS3Ng9TVwYe/9aHnzLF598P5ehe4uVovw+FmU8jxNmfHtTpzxTju1 + 8d07tPJjKtHyyCzR8ncA//8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfX98IgUbu9oNJ + 80JvYfDnb2DwVV9979VgffJqV4zwwVSN8n5NmvCsTpvvkjy185g9t/GnLNLxhCrS8bsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgkfvuoBI74VvYfGlcWLumV1+75FffvCuV4zyfVWL + 8cJMmPBoTZjw1zy28lQ7tfHrJ8zzQSrQ8vccxv4JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACqAP8Dg0XvdoJF78pxYe9hcGHw32CB7k1effDvVpLyO1aL8PtRnfQvTZnw/0ui8yw7tfH8Prv1NS7Q + 9EwzzP8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJEo6zOTK+zqhEL1NoFG7vx8U+0rcGHv/2lp + 7i5effD6ZYP2OlaL7+5XjPRMTpnw3kyY72E8tPHDPLfzWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAJ8/3wiTK+32kyvvQIFG7uqBSe9TcmHvk3Zk7StmhfIo////AluO7j1Um/4STZr0TE6W + +CcA//8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTKu27lSztg4FH + 7qiARe6XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVLO93kyrtyIZD8SaIRO4eAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACRKOszkyvt/JtG/hIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AP8Ckyvt6pIx7FIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAlSnvdpEr60EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA + AAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHvLyOxrs9HsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ7vKMGOzz/x/v + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkivsepkz7jwAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAA/3/8IF+/zQiD2/h8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACT//wcY7PPwGOzz/xns8noAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY7fPCGOzz/xjs9L4AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY7vR9GOzz/xjs + 8/kX/v4LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAW7fY5GOzz/xjs8/8c7fRIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAA//8DGOzz7hjs8/8Z7vKMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF+zzrxjs8/8Z6/PQAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu3PMWKtL0YSzR85wA//8CGu7zaxjs8/8Y7PP+FfT0GAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + 7f+XMPIqgkTuLYFG7v+BRu7/gUnvUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAChKP4Tkyrt/ZMq7f+TKe5v/wD/AYFH7pqDSO9jhU3zFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAlCvuzJMq7f+UKeyzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkyvsh5Mq7P+UKu3ymTP/BQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlC3vQ5Mq7f+TKu3/ki3uPQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnz/fCJMr + 7faSKu3/lCvtgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAJQr7bqTKuz/lCruxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJIp73WTKu3/lCrt8qkc/gkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJU07R2SKexEnz/fCAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAEAAAACAAAAAAQAgAAAA + AAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//BRf39yEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX7PE3GOz1sxjs + 8/MZ7fPVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAHvLyOxjs8/8Y7PP/GOzz/xv1/hwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wQY7PPwGOzz/xjs8/8Y7PRfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGOzzsRjs8/8Y7PP/F+zyowAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfs + 820Y7PP/GOzz/xjs9OgA//8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAf7PgpGOzz/xjs8/8Y7PP/F/PzLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjs8+IY7PP/GOzz/xvv9XEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY7fWfGOzz/xjs + 8/8Z7vK1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKMn+EzHN + 9yQAAAAAGev2Wxjs8/8Y7PP/GOz09CT//wcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAqz/NVKdHyyyrQ8v0p0fKzAAAAABbz/hcY7PP+GOzz/xjs8/8Y7vY/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAK9PxXirQ8v8q0PL/KtDy8jPM/wUAAAAAGOv00Rjs8/8Y7PP/F+3zgwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfX9Roq0PL+KtDy/yrQ8v8u0PI8AAAAABnr + 8o0Y7PP/GOzz/xjt9MgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKtDy1CrQ + 8v8q0PL/K9HxgQAAAAAY8fhJGOzz/xjs8/8Y7PP8HP7+EgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhef4VX33wMwAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVLO5+kyrt/5Mq + 7f+TKu3XAAAAAKpV/wOBR+7tgUbu/4FG7v+CR+1kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAmCjtOZMq7f+TKu3/kyrt/5U07R0AAAAAgkfwrIFG7v2BRu7NgknuWgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKoA/wOTKu3ukyrt/5Mq7f+TKu9hAAAAAINQ8COMTPIUAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkyrur5Mq7f+TKu3/lCvspQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJYt + 7muTKuz/kyrs/5Iq7en/AP8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACaKPEmkyrs/5Mq7f+TKu3/kiv0LwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQq7d+TKu3/kyvt/5Qq7XMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVKu2dkyrt/5Mr + 7f+SK+63AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAlC3wWZMq7f+TKu3/kyrt9bYk/wcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJkm/xSTKu39kyvt/5Mq7f+RK+tBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkyrszpMq7fSTKu61lyvyOwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI8v + 7yCqVf8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA + AABgAAAAwAAAAAEAIAAAAAAAgJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLu/x4X7/JjGO70pxju9H0AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV9PQYGOzz2Rjs + 8/8Y7PP/GOzz/xjs9NIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAA//8BGOzz5xjs8/8Y7PP/GOzz/xjs8/4U9P4ZAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuz0pRjs8/8Y7PP/GOzz/xjs + 8/8Z6/ZbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAGu/0YRjs8/8Y7PP/GOzz/xjs8/8Y7fWfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHOz+Gxjs8/8Y7PP/GOzz/xjs8/8X7fPkAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjs + 89cY7PP/GOzz/xjs8/8Y7PP/H+z4KQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABjt9JIY7PP/GOzz/xjs8/8Y7PP/F+zzbQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrr9U4Y7PP/GOzz/xjs + 8/8Y7PP/GOz0sgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACfr6w0Y7PP6GOzz/xjs8/8Y7PP/GOzz8gD//wUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ7PPFGOzz/xjs8/8Y7PP/GOzz/x7y + 8jsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAZ6/OAGOzz/xjs8/8Y7PP/GOzz/xnr84AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd7vI8GOzz/xjs8/8Y7PP/GOzz/xfr88QAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHN+Ckpz/JQAAAAAAAAAAAA//8EGO3z8Rjs + 8/8Y7PP/GOzz/xjs8/sR7u4PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzS81Yr0PKfK9Dy5CrQ + 8v8q0PP1JP//BwAAAAAAAAAAGOz0shjs8/8Y7PP/GOzz/xjs8/8a6/VOAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACnQ8r8q0PL/KtDy/yrQ8v8q0PL/K9PzQQAAAAAAAAAAF+zzbhjs8/8Y7PP/GOzz/xjs + 8/8Y7fSSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnP9Hsq0PL/KtDy/yrQ8v8q0PL/Ks/zhQAA + AAAAAAAAH+z4KRjs8/8Y7PP/GOzz/xjs8/8Z7fPWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/U + 9TYq0PL/KtDy/yrQ8v8q0PL/K9DyyQAAAAAAAAAAAAAAABjt8+MY7PP/GOzz/xjs8/8Y7PP/Gu32HQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACq/wMr0PLtKtDy/yrQ8v8q0PL/K9Dy/Dji/hIAAAAAAAAAABnt + 8qAY7PP/GOzz/xjs8/8Y7PP/Guz0YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp0fOtKtDy/yrQ + 8v8q0PL/KtDy/yvT9VMAAAAAAAAAABvu9lwY7PP/GOzz/xjs8/8Y7PP/F+z0pAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE7E6w0+tvVNPbXykTu1 + 8dU5t/RHAAAAAAAAAAAp0/VpKtDy/yrQ8v8q0PL/KtDy/yrR8ZcAAAAAAAAAABbz/hcY7PP+GOzz/xjs + 8/8Y7PP/GOz06AD//wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVHH+CWF/8ERff/CIX33wzF9+75MAAAAAAAAAAAAA + AAAAAAAAAAAAAGaZ/wVbju49V4zwegD//wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8CVKn+CQAA + AAAAAAAAOrTxXDu18fs7tfH/O7Xx/zu18f88t/CLAAAAAAAAAAAxzfckKtDy/yrQ8v8q0PL/KtDy/yrP + 8twAAAAAAAAAAAAAAAAY7PTSGOzz/xjs8/8Y7PP/GOzz/xbu+S4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wFtYf4VAAAAAAAAAABbiPUcXn3w+F59 + 8P9effD/Xn3w/1598NkAAAAAAAAAAAAAAABYjPNZVY3vs1aL8PNWi/D/Vovw/1yL8ywAAAAAAAAAAAAA + AABbmP4ZTpnwVU6Z75lNmO/mT5nyfQAAAAAAAAAAPbf0Mju18f87tfH/O7Xx/zu18f87tfHPAAAAAAAA + AAAAAAAAK9Hy3irQ8v8q0PL/KtDy/yrQ8v8u2PchAAAAAAAAAAAZ6/KNGOzz/xjs8/8Y7PP/GOzz/xrt + 9nIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHlu/hdvYPBVcWLumXBh + 7+JxYvDMAAAAAAAAAAAAAAAAXn3w31598P9effD/Xn3w/1598P9nh+8gAAAAAAAAAABYivKQVovw/1aL + 8P9Wi/D/Vovw/1iN73AAAAAAAAAAAE+e9jpNmfD/TZnw/02Z8P9NmfD/TpjxwgAAAAAAAAAAAP//Aju1 + 8eo7tfH/O7Xx/zu18f87tfH+N7H+FwAAAAAAAAAAKdLzmirQ8v8q0PL/KtDy/yrQ8v8tz/JlAAAAAAAA + AAAY8fhJGOzz/xjs8/8Y7PP/GOzz/xnr8rcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAD/AXBh7+xwYe//cGHv/3Bh7/9wYe/9f2byFAAAAAAAAAAAXn3wnV598P9effD/Xn3w/159 + 8P9ffvJjAAAAAAAAAABXjPRMVovw/1aL8P9Wi/D/Vovw/1aM77QAAAAAAAAAAFWq/wZNmfDzTZnw/02Z + 8P9NmfD/TZnw+luj/w4AAAAAAAAAADu28ag7tfH/O7Xx/zu18f87tfH/PLbzWAAAAAAAAAAALNLzVirQ + 8v8q0PL/KtDy/yrQ8v8q0vOqAAAAAAAAAAAz//8KGOzz+Bjs8/8Y7PP/GOzz/xjs8/Uk//8HAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJj8KpwYe//cGHv/3Bh7/9wYe//c2TwVgAA + AAAAAAAAYX7zWV598P9effD/Xn3w/1598P9gffGnAAAAAAAAAABOiesNVovw+laL8P9Wi/D/Vovw/1aM + 8PRttv8HAAAAAAAAAABNmvC1TZnw/02Z8P9NmfD/TZnw/06Z8UsAAAAAAAAAAD218mQ7tfH/O7Xx/zu1 + 8f87tfH/OrTwnQAAAAAAAAAAKMn+EyrQ8v0q0PL/KtDy/yrQ8v8qz/LsAP//AgAAAAAAAAAAGezzwBjs + 8/8Y7PP/GOzz/xjs8/8b6/NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNk + 8GZwYe//cGHv/3Bh7/9wYe//cmPumgAAAAAAAAAAWYzyFF598P1effD/Xn3w/1598P9effDr////AgAA + AAAAAAAAVYvxwlaL8P9Wi/D/Vovw/1aL8P9Wj/I+AAAAAAAAAABOme9xTZnw/02Z8P9NmfD/TZnw/06Z + 8o8AAAAAAAAAAEG99h87tfH/O7Xx/zu18f87tfH/PLXy4wAAAAAAAAAAAAAAACrQ880q0PL/KtDy/yrQ + 8v8q0PL/KNLwMwAAAAAAAAAAGuz0exjs8/8Y7PTUGu30kBfu9EwX/v4LAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdn7yBwYe//cGHv/3Bh7/9wYe//cGHv4AAAAAAAAAAAAAAAAF58 + 8M9effD/Xn3w/1598P9effD/ZITvMAAAAAAAAAAAVI3yflaL8P9Wi/D/Vovw/1aL8P9Wi++CAAAAAAAA + AABLnPMsTZnw/02Z8P9NmfD/TZnw/06Z8dQAAAAAAAAAAAAAAAA7tPHbO7Xx/zu18f87tfH/O7Xx/zy1 + +CYAAAAAAAAAACnQ84gq0PL/KtDy/yrQ8v8q0PL/LNDyeAAAAAAAAAAAGPL+FRT0/hkAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwYe/ccGHv/3Bh + 7/9wYe//cGHv/3Fj9yQAAAAAAAAAAF9+8IteffD/Xn3w/1598P9effD/X3zxdQAAAAAAAAAAXJH2OlaL + 8P9Wi/D/Vovw/1aL8P9Wi/DGAAAAAAAAAAAA//8BTZjv5k2Z8P9NmfD/TZnw/02Z8P9Ul+wbAAAAAAAA + AAA9tPGWO7Xx/zu18f87tfH/O7Xx/z2182sAAAAAAAAAACnO90Qq0PL/KtDy/yrQ8v8q0PL/KtDxvAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIRO4PgkbvUIBG + 75WKSvQYAAAAAAAAAABvYPGXcGHv/3Bh7/9wYe//cGHv/3Ni8GgAAAAAAAAAAF2B9EdeffD/Xn3w/159 + 8P9effD/X33xuQAAAAAAAAAAf7//BFaL8PBWi/D/Vovw/1aL8P9Wi/D8WofwEQAAAAAAAAAATpnvo02Z + 8P9NmfD/TZnw/02Z8P9PnPFdAAAAAAAAAAA7tO9SO7Xx/zu18f87tfH/O7Xx/zq28K8AAAAAAAAAAD/f + /wgr0PL2KtDy/yrQ8v8q0PL/KtDy9zPM/woAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAgUnvU4JG7saBRu78gUbu/4FG7v+CRe5cAAAAAAAAAABxYvJTcGHv/3Bh7/9wYe//cGHv/3Jg + 8KwAAAAAAAAAAFRx/gleffD3Xn3w/1598P9effD/Xn3w91Rx/gkAAAAAAAAAAFWL8bBWi/D/Vovw/1aL + 8P9Wi/D/VozvUAAAAAAAAAAATprxXk2Z8P9NmfD/TZnw/02Z8P9Pm/KhAAAAAAAAAABPr+8QO7Xx/Du1 + 8f87tfH/O7Xx/zu18fEzzP8FAAAAAAAAAAAr0PS6KtDy/yrQ8v8q0PL/KtDy/y/T8EYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgkXvYIFG7v+BRu7/gUbu/4FG7v+BRu2gAAAAAAAA + AAB/b+8QcGHv/HBh7/9wYe//cGHv/3Bh8O9VVf8DAAAAAAAAAABeffC9Xn3w/1598P9effD/Xn3w/1+B + 80MAAAAAAAAAAFSL82xWi/D/Vovw/1aL8P9Wi/D/Vo3vlAAAAAAAAAAATqbrGk2Z8P5NmfD/TZnw/02Z + 8P9NmfDnAP//AQAAAAAAAAAAO7XyyDu18f87tfH/O7Xx/zu18f86t/Y5AAAAAAAAAAApz/J2KtDy/yrQ + 8v8q0PL/KtDy/yzS8ooAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhELsG4FG + 7v+BRu7/gUbu/4FG7v+BRu7lAAAAAAAAAAAAAAAAcGHvynBh7/9wYe//cGHv/3Bh7/9xY/U2AAAAAAAA + AABgfPB5Xn3w/1598P9effD/Xn3w/15+8YcAAAAAAAAAAFWJ+CdWi/D/Vovw/1aL8P9Wi/D/Vovw2QAA + AAAAAAAAAAAAAE2Z79VNmfD/TZnw/02Z8P9NmfD/TZrtKwAAAAAAAAAAPbfxhDu18f87tfH/O7Xx/zu1 + 8f87t/J9AAAAAAAAAAAu0O8xKtDy/yrQ8v8q0PL/KtDy/yrR8c4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIFH7teBRu7/gUbu/4FG7v+BRu7/iETsKQAAAAAAAAAAb2PxhXBh + 7/9wYe//cGHv/3Bh7/9yYe57AAAAAAAAAABdf/A0Xn3w/1598P9effD/Xn3w/15+8csAAAAAAAAAAAAA + AABWi/DiVovw/1aL8P9Wi/D/Vovw/1+H7yAAAAAAAAAAAEyY8pBNmfD/TZnw/02Z8P9NmfD/TpzxbwAA + AAAAAAAAQLb2Pzu18f87tfH/O7Xx/zu18f87tPDBAAAAAAAAAAAA//8BK9Dz6irQ8v8q0PL/KtDy/yrQ + 8v4u3PMWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIFH75KBRu7/gUbu/4FG + 7v+BRu7/hEfxbgAAAAAAAAAAdWLvQXBh7/9wYe//cGHv/3Bh7/9wYfC/AAAAAAAAAAD///8CXn3w6159 + 8P9effD/Xn3w/1598P1ZjPIUAAAAAAAAAABXjPCeVovw/1aL8P9Wi/D/Vovw/1iM72IAAAAAAAAAAE2a + 9ExNmfD/TZnw/02Z8P9NmfD/TZjvtAAAAAAAAAAAVar/Bju08fM7tfH/O7Xx/zu18f87tfH6SLb/DgAA + AAAAAAAALNHxqCrQ8v8q0PL/KtDy/yrQ8v8r0/NYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAIJH8U6BRu7/gUbu/4FG7v+BRu7/gkbvsgAAAAAAAAAAqlX/BnBh7/RwYe//cGHv/3Bh + 7/9wYe/5i3P+CwAAAAAAAAAAX33wq1598P9effD/Xn3w/1598P9dfvBVAAAAAAAAAABYjPNZVovw/1aL + 8P9Wi/D/Vovw/1eM8acAAAAAAAAAAE6w6w1NmfD6TZnw/02Z8P9NmfD/TZnw9FWq/wYAAAAAAAAAADy2 + 8rY7tfH/O7Xx/zu18f87tfH/PbTxSwAAAAAAAAAAK9HyZCrQ8v8q0PL/KtDy/yrQ8v8s0fOcAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIlO6w2BRu76gUbu/4FG7v+BRu7/gUbu8pkz + /wUAAAAAAAAAAG9i8bdwYe//cGHv/3Bh7/9wYe//cWPtSAAAAAAAAAAAX33wZl598P9effD/Xn3w/159 + 8P9dfO+ZAAAAAAAAAABRi/MWVovw/laL8P9Wi/D/Vovw/1aL8Ov///8CAAAAAAAAAABOmPHCTZnw/02Z + 8P9NmfD/TZnw/0ue7j0AAAAAAAAAADq183I7tfH/O7Xx/zu18f87tfH/PLTyjwAAAAAAAAAAKdX2HyrQ + 8v8q0PL/KtDy/yrQ8v8r0fPhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACCRu7EgUbu/4FG7v+BRu7/gUbu/4VF8jsAAAAAAAAAAHFj73NwYe//cGHv/3Bh7/9wYe//cGPwjQAA + AAAAAAAAZ4fvIF598P9effD/Xn3w/1598P9effDfAAAAAAAAAAAAAAAAV4vw0FaL8P9Wi/D/Vovw/1aL + 8P9Viu8wAAAAAAAAAABOm/J+TZnw/02Z8P9NmfD/TZnw/02Y74EAAAAAAAAAAD61+S07tfH/O7Xx/zu1 + 8f87tfH/PLTx1AAAAAAAAAAAAAAAACrQ8toq0PL/KtDy/yrQ8v8q0PL/KND4JgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBR+2AgUbu/4FG7v+BRu7/gUbu/4FH7YAAAAAAAAAAAHdn + 9C9wYe//cGHv/3Bh7/9wYe//cGDv0QAAAAAAAAAAAAAAAF19791effD/Xn3w/1598P9effD/ZoPwIwAA + AAAAAAAAVovwi1aL8P9Wi/D/Vovw/1aL8P9Ui/F1AAAAAAAAAABPnvY6TZnw/02Z8P9NmfD/TZnw/02Z + 8MYAAAAAAAAAAAD//wE7tfHmO7Xx/zu18f87tfH/O7Xx/0Kz/hsAAAAAAAAAACzP8ZYq0PL/KtDy/yrQ + 8v8q0PL/K9H1agAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDRO48gUbu/4FG + 7v+BRu7/gUbu/4JG7sQAAAAAAAAAAAAA/wFvYfDncGHv/3Bh7/9wYe//cGHv/nBl9BkAAAAAAAAAAF9/ + 8ZheffD/Xn3w/1598P9effD/Xn7wZwAAAAAAAAAAVoz0R1aL8P9Wi/D/Vovw/1aL8P9Vi/G5AAAAAAAA + AAB/v/8ETZnw8E2Z8P9NmfD/TZnw/02Z8PxLlvARAAAAAAAAAAA7tfKjO7Xx/zu18f87tfH/O7Xx/zy3 + 8V0AAAAAAAAAACzS8lEq0PL/KtDy/yvQ8vwr0PLJLdHzWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAC/f/8EgUbu8YFG7v+BRu7/gUbu/4FG7vuIRO4PAAAAAAAAAABvYfGlcGHv/3Bh + 7/9wYe//cGHv/3Bi7lsAAAAAAAAAAF588lReffD/Xn3w/1598P9effD/XX7wrAAAAAAAAAAAVKn+CVaL + 8PdWi/D/Vovw/1aL8P9Wi/D3VKn+CQAAAAAAAAAATpvxsE2Z8P9NmfD/TZnw/02Z8P9Pme9QAAAAAAAA + AAA7tvRfO7Xx/zu18f87tfH/O7Xx/zy28qEAAAAAAAAAAD/P7xAr0POYK9P1Uzji/hIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgkbvsoFG7v+BRu7/gUbu/4FG + 7v+CR/FOAAAAAAAAAABxYe9hcGHv/3Bh7/9wYe//cGHv/3Bg8J8AAAAAAAAAAFp48BFeffD8Xn3w/159 + 8P9effD/Xn3w71VV/wMAAAAAAAAAAFaM8L1Wi/D/Vovw/1aL8P9Wi/D/W5DzQwAAAAAAAAAAUJnzbE2Z + 8P9NmfD/TZnw/02Z8P9Pme+UAAAAAAAAAABEuvUaO7Xx/zu18f87tfH/O7Xx/zu18ecA//8BAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQLPMXnzX0GAAA + AAAAAAAAhEfxboFG7v+BRu7/gUbu/4FG7v+BR++SAAAAAAAAAABxXuwbcGHv/3Bh7/9wYe//cGHv/3Bh + 7+QAAAAAAAAAAAAAAABefvHLXn3w/1598P9effD/Xn3w/2B99TUAAAAAAAAAAFaL8HlWi/D/Vovw/1aL + 8P9Wi/D/WI3xhwAAAAAAAAAATpb4J02Z8P9NmfD/TZnw/02Z8P9NmfDYAAAAAAAAAAAAAAAAPLXx1ju1 + 8f87tfH/O7Xx/zu18f87vfMrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKkc + /gmWLfFJkivujZIp7dGTKu3+lCvvhgAAAAAAAAAAiETsKYFG7v+BRu7/gUbu/4FG7v+BR+7XAAAAAAAA + AAAAAAAAb2Hw13Bh7/9wYe//cGHv/3Bh7/92aewpAAAAAAAAAABdf/GGXn3w/1598P9effD/Xn3w/159 + 8HoAAAAAAAAAAFuQ9TVWi/D/Vovw/1aL8P9Wi/D/VYvxywAAAAAAAAAAAAAAAE2Z8OJNmfD/TZnw/02Z + 8P9NmfD/V5fvIAAAAAAAAAAAPbXykTu18f87tfH/O7Xx/zu18f87tvFwAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQu7DeTKu3/kyrt/5Mq7f+TKu3/kirtygAAAAAAAAAAAAAAAIFG + 7uOBRu7/gUbu/4FG7v+BRu7/jEbtHQAAAAAAAAAAcmHvk3Bh7/9wYe//cGHv/3Bh7/9wYvBtAAAAAAAA + AABgf/NCXn3w/1598P9effD/Xn3w/19+8L4AAAAAAAAAAP///wJWi/DrVovw/1aL8P9Wi/D/Vovw/VmM + 8hQAAAAAAAAAAE2Z8J5NmfD/TZnw/02Z8P9NmfD/TpzvYgAAAAAAAAAAPrb1TTu18f87tfH/O7Xx/zu1 + 8f88tfK0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKoA/wOTKu3ukyrt/5Mq + 7f+TKu3/kyvt/Js4/hIAAAAAAAAAAIFG7aCBRu7/gUbu/4FG7v+BRu7/gkXvYAAAAAAAAAAAb2LxTnBh + 7/9wYe//cGHv/3Bh7/9wYe+xAAAAAAAAAABVqv8GXn3w9F598P9effD/Xn3w/1598Plzi/4LAAAAAAAA + AABWjPCrVovw/1aL8P9Wi/D/Vovw/1eK8FUAAAAAAAAAAE+Z81pNmfD/TZnw/02Z8P9NmfD/TpvxpgAA + AAAAAAAATsTrDTu18fo7tfH/O7Xx/zu18f87tPHzM8z/BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACUK+2ukyrt/5Mq7f+TKu3/kyrt/5Mr71MAAAAAAAAAAING7luBRu7/gUbu/4FG + 7v+BRu7/gUfvpAAAAAAAAAAAiWLrDXBh7/pwYe//cGHv/3Bh7/9wYe/yZmb/BQAAAAAAAAAAXn7xuF59 + 8P9effD/Xn3w/1598P9hf/BEAAAAAAAAAABZjfBnVovw/1aL8P9Wi/D/Vovw/1iK75kAAAAAAAAAAFGi + 8xZNmfD+TZnw/02Z8P9NmfD/TZjw6////wIAAAAAAAAAADy08cM7tfHrPLfzqjy08GY/t+8gAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUKe5pkyrt/5Mq7f+TKu3/kyrt/5Qq + 7JcAAAAAAAAAAIVN8xeBRu7+gUbu/4FG7v+BRu7/gUbv6P8A/wEAAAAAAAAAAHFh78VwYe//cGHv/3Bh + 7/9wYe//cF/yOwAAAAAAAAAAYH3xdF598PNeffC7Xnzvd1998DMAAAAAAAAAAAAAAABalvAiVovw/1aL + 8P9WjPD0VYzwtliO8V8AAAAAAAAAAAAAAABOmfDPTZnw/02Z8P9NmfD/TZnw+VKe8SUAAAAAAAAAAEi2 + /hUA//8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACXKeolkyrt/5Mq7f+TKu3/kyrt/5Mq7NwAAAAAAAAAAAAAAACBRu3SgUbu/4FG7v+BRu7/gUbu/4VI + 7i4AAAAAAAAAAHFj74BwYe//cGHv/3Bh7/9wYe/7c2TwZgAAAAAAAAAAVHH+CVVV/wMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAV4vvd1uL70BVqv8GAAAAAAAAAAAAAAAAAAAAAAAAAABNmPCLTZnv3U6Z + 75lOmfBVVZnuDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkyvt3pMq7f+TKu3/kyrt/5Mq7f+WLfAiAAAAAAAA + AACASPCNgUbu/4FG7v+BRu7/gUbu/4JJ7XMAAAAAAAAAAHJm7jxxYu/dcWLumW9g8FVpWvARAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkizum5Mq + 7f+TKu3/kyrt/5Mq7f+WLfBmAAAAAAAAAACBSfFJgUbu/4FG7v+BRu7/gUbu/4JH7rcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAlSntV5Mq7f+TKu3/kyrt/5Mq7f+TKu2qAAAAAAAAAACZZv8KgUbu+IFG + 7v+BRu7/gUbu/4FG7vW2bf8HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoSj+E5Mq7f2TKu3/kyrt/5Mq + 7f+UKu3s/wD/AgAAAAAAAAAAgkXuv4FG7v+BRu7/gUbu/4FG7v+DS+9AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAJQq7s2TKu3/kyrt/5Mq7f+TKu3/kSjrMwAAAAAAAAAAgkbue4FG7v+BRu7/gUbu/4FG + 7v+ASO+FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJMs7ImTKu3/kyrt/5Mq7f+TKu3/lCzueAAA + AAAAAAAAhkrsN4FG7v+BRu7/gUbu/4FG7v+BR+/JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJcs + 8EWTKu3/kyrt/5Mq7f+TKu3/kirtvAAAAAAAAAAAqlX/A4FG7u6BRu7/gUbu5oFF76KCRe5cAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ8/3wiTK+32kyrt/5Mq7f+TKu3/kyrt95kz/woAAAAAAAAAAIFI + 7k2FS/MsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTKu27kyrt/5Mq + 7f+TKu3/kyrt/5Uv8EYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACVLO93kyrt/5Mq7f+TKu3/kyrt/5Us7ooAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZLe8ykyvt/5Mq7f+TKu3/kirt/5Mr + 7M8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD/AP8Ckyvs6pMq7f+TKu3/kyrs/5Iq7f6iLvMWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkirvqZMq7P+TKu3/kyrt/5Mr7f+WK/NYAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlivtZJMq + 7f+TKu3/kyrt/5Mq7f+TLO2cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAlCn2H5Mq7f+TKuz/kyrt/5Mq7f+SK+3hAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJMr7tuTK+3/kyrt/5Mr + 7f+TK+3/oSjxJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAJIt7JaTK+3/kyrt/5Mq7f+TKu3/mC3uawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJUu7FKSKu3/kyrt/5Mq7f+TKuz/kyrurwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI8/ + 7xCTK+38kyrt/5Mq7f+TKuz/kyrt8b9//wQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACSKu3Ikyvt/5Iq7f+TKu3/kyrs3I8v7yAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACSKe91kyvtqpYt + 8GaaLvchAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACJUE5HDQoaCgAAAA1JSERSAAAAgAAAAIAIBgAAAMM+YcsAAB2bSURBVHhe7Z0J + eBRF2serumcm59zBhEN0XXWFEAgquyzXogYCBIR1l0ORUyR83CLgsQQSQFwIkigRCYcQVFRY5cOEK2QV + RFhXRY4AQXTxJBwhcw9JZqa79p3A9EynCyVLZhIz3fo8PJmuqa56619vVb316xqM5CusLYDDuvZy5ZEs + gDAXgSwAWQBhboEwr77sAWQBhLkFwrz6sgeQBRDmFgjz6sseQBZAmFsgzKsvewBZAGFugTCvvuwBZAGE + uQXCvPqyB5AFEOYWCPPqh9wDkHvW3F2t5LpERkb+E38+7kKY27/Rqx9yAdg752e4alwLvTVnWfYs4lEJ + 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 + AkSACBABIkAJAD0DRIAIEAEiQATqIQFKAOrhTachEwEiQASIABGgBICeASJABIgAESAC9ZAAJQD18KbT + kIkAESACRIAIUAJAzwARIAJEgAgQgXpIgBKAenjTachEgAgQASJABCgBoGeACBABIkAEiEA9JEAJQD28 + 6TRkIkAEiAARIAKUANAzQASIABEgAkSgHhKgBKAe3nQaMhEgAkSACBABSgDoGSACRIAIEAEiUA8JUAJQ + D286DZkIEAEiQASIACUA9AwQASJABIgAEaiHBCgBqIc3nYZMBIgAESACRIASAHoGiAARIAJEgAjUQwKU + ANTDm05DJgJEgAgQASJACQA9A0SACBABIkAE6iEBSgDq4U2nIRMBIkAEiAARoASAngEiQASIABEgAvWQ + ACUA9fCm05CJABEgAkSACFACQM8AESACRIAIEIF6SIASgHp402nIRIAIEAEiQAQoAaBngAgQASJABIhA + PSRACUA9vOk0ZCJABIgAESAClADQM0AEiAARIAJEoB4SoASgHt50GjIRIAJEgAgQAUoA6BkgAkSACBAB + IlAPCVACUA9vOg2ZCBABIkAEiAAlAPQMEAEiQASIABGohwQoAaiHN52GTASIABEgAkSAEgB6BogAESAC + RIAI1EMClADUw5tOQyYCRIAIEAEiQAkAPQNEgAgQASJABOohAUoA6uFNpyETASJABIgAEaAEgJ4BIkAE + iAARIAL1kAAlAPXwptOQiQARIAJEgAhQAkDPABEgAkSACBCBekiAEoB6eNNpyESACBABIkAEKAGgZ4AI + EAEiQASIQD0kQAlAPbzpNGQiQASIABEgApQA0DNABIgAESACRKAeEqAEoB7edBoyESACRIAIEAFKAOgZ + IAJEgAgQASJQDwlQAlAPbzoNmQgQASJABIgAJQD0DBABIkAEiAARqIcEKAGohzedhkwEiAARIAJEgBIA + egaIABEgAkSACNRDApQA1MObTkMmAkSACBABIkAJAD0DRIAIEAEiQATqIQFKAOrhTachEwEiQASIABGg + BICeASJABIgAESAC9ZAAJQD18KbTkIkAESACRIAIUAJAzwARIAJEgAgQgXpIgBKAenjTachEgAgQASJA + BCgBoGeACBABIkAEiEA9JEAJQD286TRkIkAEiAARIAKUANAzQASIABEgAkSgHhKgBKAe3nQaMhEgAkSA + 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 + IAHIimlAECAAAiAAAiDgLgEkAO7yhjcQAAEQAAEQyAoCSACyYhoQBAiAAAiAAAi4SwAJgLu84Q0EQAAE + QAAEsoIAEoCsmAYEAQIgAAIgAALuEkAC4C5veAMBEAABEACBrCCABCArpgFBgAAIgAAIgIC7BJAAuMsb + 3kAABEAABEAgKwggAciKaUAQIAACIAACIOAuASQA7vKGNxAAARAAARDICgJIALJiGhAECIAACIAACLhL + AAmAu7zhDQRAAARAAASyggASgKyYBgQBAiAAAiAAAu4SQALgLm94AwEQAAEQAIGsIIAEICumAUGAAAiA + AAiAgLsEkAC4yxveQAAEQAAEQCArCCAByIppQBAgAAIgAAIg4C4BJADu8oY3EAABEAABEMgKAkgAsmIa + EAQIgAAIgAAIuEsACYC7vOENBEAABEAABLKCABKArJgGBAECIAACIAAC7hJAAuAub3gDARAAARAAgawg + gAQgK6YBQYAACIAACICAuwSQALjLG95AAARAAARAICsIIAHIimlAECAAAiAAAiDgLgEkAO7yhjcQAAEQ + AAEQyAoCSACyYhoQBAiAAAiAAAi4SwAJgLu84Q0EQAAEQAAEsoIAEoCsmAYEAQIgAAIgAALuEkAC4C5v + eAMBEAABEACBrCCABCArpgFBgAAIgAAIgIC7BJAAuMsb3kAABEAABEAgKwggAciKaUAQIAACIAACIOAu + ASQA7vKGNxAAARAAARDICgJIALJiGhAECIAACIAACLhLAAmAu7zhDQRAAARAAASyggASgKyYBgQBAiAA + AiAAAu4SQALgLm94AwEQAAEQAIGsIIAEICumAUGAAAiAAAiAgLsEkAC4yxveQAAEQAAEQCArCCAByIpp + QBAgAAIgAAIg4C4BJADu8oY3EAABEAABEMgKAkgAsmIaEAQIgAAIgAAIuEsACYC7vOENBEAABEAABLKC + ABKArJgGBAECIAACIAAC7hJAAuAub3gDARAAARAAgawggAQgK6YBQYAACIAACICAuwSQALjLG95AAARA + AARAICsIIAHIimlAECAAAiAAAiDgLgEkAO7yhjcQAAEQAAEQyAoCSACyYhoQBAiAAAiAAAi4SwAJgLu8 + 4Q0EQAAEQAAEsoIAEoCsmAYEAQIgAAIgAALuEvh/9mzLd+jjWQQAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/SoFii/NameColours.txt b/SoFii/NameColours.txt new file mode 100644 index 0000000..1bee4e6 --- /dev/null +++ b/SoFii/NameColours.txt @@ -0,0 +1,90 @@ +1 16718105 +_ 16711680 +$ 16711680 +q 11507092 +{ 12193024 +T 13520444 +C 15880997 +: 15970943 +b 14454844 +z 11698482 +k 13546113 +@ 13009152 +N 14454784 +3 16776960 +' 16776960 +2 11125364 +Y 8837120 +E 7122728 +K 11393921 +g 8516137 +? 8837198 +n 5144370 +j 4904960 +| 8051530 +G 4893989 +S 4452905 +B 3988521 +P 65280 +< 65280 +J 9744277 +v 907075 += 8838070 +M 55418 +p 2397548 +V 8375986 +9 3988661 +a 62389 +[ 3977109 +] 2471573 +X 2471597 +> 2471597 +5 65535 +) 65535 +f 7390414 +I 5162204 +} 2443859 +y 954564 +l 9487602 +d 8367579 +D 3296895 +F 9328 +x 3112 +i 2443949 +O 11910642 +R 2702556 +& 5000447 +w 1 +0 1 +# 1 +u 3941557 +. 6111928 +% 6111928 +A 4915443 +s 3276934 +Z 11507164 +U 9454578 +/ 3211363 +8 7995608 +L 11696856 +W 8782006 +; 14107634 +6 16711935 +( 16711935 +r 11948978 +m 12395958 +c 14107598 +Q 15944637 +e 14155910 +H 9792641 +\ 13454718 +t 7995432 +h 8781864 +o 11496304 +! 0 +- 4144959 +, 8355711 ++ 12566463 +7 16777215 +* 16777215 +" 16777215 diff --git a/SoFii/Program.cs b/SoFii/Program.cs new file mode 100644 index 0000000..6d6d05a --- /dev/null +++ b/SoFii/Program.cs @@ -0,0 +1,39 @@ +using System; +using System.Reflection; +using System.Windows.Forms; + +namespace SoFii { + public static class Program { + public static readonly Assembly CurrentAssembly = Assembly.GetExecutingAssembly(); + public static readonly AssemblyName CurrentAssemblyName = CurrentAssembly.GetName(); + + [STAThread] + public static void Main() { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + int version = GetSemVerInt(); + int lastVersion = Settings.LastVersion; + if(version < lastVersion) { + DialogResult result = MessageBox.Show("You're opening an older version of SoFii after already having used a newer version.\r\nThis could corrupt your settings. Are you sure you want to continue?", "SoFii :: Old version warning", MessageBoxButtons.YesNo); + if(result != DialogResult.Yes) + return; + + Settings.LastVersion = version; + } else if(version > lastVersion) + Settings.LastVersion = version; + + Application.Run(new MainWindow()); + } + + public static string GetSemVerString() { + Version version = CurrentAssemblyName.Version; + return $"{version.Major}.{version.Minor}.{version.Build}"; + } + + public static int GetSemVerInt() { + Version version = CurrentAssemblyName.Version; + return (version.Major << 20) | (version.Minor << 10) | version.Build; + } + } +} diff --git a/SoFii/Properties/AssemblyInfo.cs b/SoFii/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..337164c --- /dev/null +++ b/SoFii/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("SoFii")] +[assembly: AssemblyDescription("Soldier of Fortune 2 Flashii assistant")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SoFii")] +[assembly: AssemblyCopyright("flash.moe 2023")] +[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("6026586c-8730-428a-8e61-e75568ff7185")] + +// 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")] +[assembly: AssemblyFileVersion("1.0.0")] diff --git a/SoFii/Properties/Resources.Designer.cs b/SoFii/Properties/Resources.Designer.cs new file mode 100644 index 0000000..612c8fe --- /dev/null +++ b/SoFii/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 SoFii.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("SoFii.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 logoproto { + get { + object obj = ResourceManager.GetObject("logoproto", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + } +} diff --git a/SoFii/Properties/Resources.resx b/SoFii/Properties/Resources.resx new file mode 100644 index 0000000..479242b --- /dev/null +++ b/SoFii/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\logoproto.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/SoFii/RNG.cs b/SoFii/RNG.cs new file mode 100644 index 0000000..b06de94 --- /dev/null +++ b/SoFii/RNG.cs @@ -0,0 +1,43 @@ +using System; + +namespace SoFii { + public static class RNG { + private static object Lock { get; } = new object(); + private static Random NormalRandom { get; } = new Random(); + + public static int Next() { + lock(Lock) + return NormalRandom.Next(); + } + + public static int Next(int max) { + lock(Lock) + return NormalRandom.Next(max); + } + + public static int Next(int min, int max) { + lock(Lock) + return NormalRandom.Next(min, max); + } + + public static void NextBytes(byte[] buffer) { + lock(Lock) + NormalRandom.NextBytes(buffer); + } + + public static void Shuffle(T[] arr) { + if(arr is null) + throw new ArgumentNullException(nameof(arr)); + + lock(Lock) { + int n = arr.Length; + while(n > 1) { + int k = Next(n--); + T tmp = arr[n]; + arr[n] = arr[k]; + arr[k] = tmp; + } + } + } + } +} diff --git a/SoFii/Resources/logoproto.ico b/SoFii/Resources/logoproto.ico new file mode 100644 index 0000000000000000000000000000000000000000..5dc58d0512446283b2a3660f44b95735a056d526 GIT binary patch literal 135890 zcmeEP1zc21+h0n;S_A|H36l<6LXbvULIi0=MI}W+rMnD5N<^`+K?xNF46tZB5DYM2 z_iWIy`^_vI!1ccGr&q5p_uie~@9gZEnKSb||Cuvq;+f~cV3;tR7%Ub8d@;->Rt)AK z27?h07`l(<#9$~OOiXO(J{P2moPxn9C=B1v#bD$_F&K6Ap?e7p4Cbj82IJ^B9G?uH zkHlbtgNN=P&%|I(3Nc}zgXM9r#9($UAHCO2!(ifeF<~S?JSYmJ7)l2`j5?s>@9buL z=~WbL>va9IJj^4Jcm>)!%Kpsravv!ZrE1Bx0=SO*)2LKXga6ri>_f1dqX@Is#1dv( zoThMUTy7UyevPatT}NsVXzz>>!V?Yt)6*V~#3(lp+y=V<($O{X#0Q2ML|=nLL=Tlh zQiV)C@sw~&mkmF@!|;!u579%Cee4LEyq%CRhdqRPP=37S!A@6`Ou|`}0^)7SdZLF+ z9ohSjo`qqddWcuZs&;ozXXLhHAmNNnRHv(T94WyljnJS{L=0V4M%W}%ON7n)8U&w=TI_ZeUdD42-B0|hJ4-N+;OA=S5%HU%|bZ`wj z*ON82ZR-@a@S<=+3=IwvW`T?QKRpY>LiO=B$(Gbf|1Ir*ic6AiFV9}w z0p8p{=MrUc8xBacE&Ov&|2?0A{R{*QbZ4~w2y)>F`aFjF{Rjx)yVL}6q@90N$-)T9 zRG^)V$55#(e?=LvUj_O12@pCL|LXh~J?fe{zrJTa$iI@mo#g+k^N0PSR2}iOU>i9E zd}D6>SpHO|^^raE97FI%HclpCR z%TJ+9{GKvATnKBtoRA8~K%#?v0O74=9MQlkjzBU==~6OEC-ko<#LFrd5~)jX;pM>h zX+Y{l=Mq5w=l`z`(ic+MKwod*swdr(sR!-zJK9gSLlZ}c4!$c)pRD2GMEL08NU(GWK%O`Tklfb96K+~0 zkOGY|2FE zTv!uN3II6WGE5_E0^h!8Dn%poD)LIHI#RcACFTF^;m%;FEMeNnj!LC9wA^M0p7*izeSdWu-jUY+DwrRT;uWFG=nP!v$$~f3FAJpm4AQa8y z|M9`Mx+Fyg7Y4@*!P@xL|0nqmN2kajJK=aBQj<6@S_?1o!x{WP4-C}-ZXi>KGVT9K z`lq6)7%DTUgD;7S?W_M(2H){eiX^h*fOH#}K``9k9RWBF69bnzxZu1Hx?nf~WH<%_ zzX<^m5=nVRd&lnIRNObk2;xccU~EJcMG&!XB7Z}GFs?%nmd}rnTz*4w-xRTsO63CO z_XyxSPJI*k7Y78DQCZ=*2(GUPw2|Auc!2pYE^;J$xu;|qFfJp>){?gfwv%=ZwSf*e zCH*bVl1iNb#xe}?Qr}|rp{>V@co&>EiI`mPC*1Mhaf^U%*S$H*YY*{5ZYJ( zu7{Xr_DHU{MqH&_KzyZf9gN-UNyT9NPMAZbvV-z*{5bN}KU4np^@su(OTP7V#@pHl z5n{o3lDa;uTihy+cpHpaKf?7aFedJVYf4JRUCZIzL8*}J4cC=G9Z+TKiOU3WqHz5R(C{HBo5}&o?{Wwr zp0m5K-#LHV5yWmFDOek)ibyh+c~_uPlA!s&srHZ@ES zaq)IWLg0Ab-<2d`A4s@v7eHu-yaN6SR`E!|stiN{mJjAXyHpFwTVNfiT}ITU>pG5u zHqfi~`N!A4(p{-sp!}X-9sDU@N4zR5-_x0}%^`r`2kQX%3jqfCR`G<6ZADaeFt7Lo z+CiyGVb45RKA3-n%hq-{!a9&_Ag=lzp6Szs>f%d59kiVRyn^zH;L3;P!t(9+AUmyN z$=hHXfO8K}2d4lAz3Xx)6G8b+Duu-R@-HYt;6136eL~cy&-*{!gK;)fqI8FRhCHGW zrimXbkQSfp^3PAa!ZQH2qp!_f3Dp|9yM-r9~=2oG`hY)948%XQWQz{^20U8E$ zuKf61;EW}80+^?CBuU{fh8wiQ`5YC@OMSf^i5|2%a3Cqe_6N%EhU=lA{CD80G&|NQ z49ho8BgCr|k*z`b?^Fs1e`@V9Q5s*IB#kE&0bT+AxKJJZ)oo5BDNz1vZzsGVob$Pc z5oSXSEfWy4bqBhX;D5t3Vx(CnK^wHqpIQ$B^FVKa0rj9PaapJ?;T*uA`?ST6_Z^U? zKjSiG@N%&HWEp%wm^NV}D4!H+&>{b4^7=E+z%~fVZw1#)$TwVD`7`tgHDBZp*eIZ_DY#8G| z1A%`M0&txI4$K|FHL^|t_P`mAfdB&m1_BHOzC}Q-iORu`kTt}*C_qx^@8yQqBM5L! z1g_2ey{I3eRscu71?dNCTcv+X`tcnBL-c?DzVUeCb2_eT`7r%dxW+o3X!|Z&zlMlhQ=oxtOmf8A>|b=mv{MgGz(=eM;@2DJCl)&pyY*1|#m z*+k<3*LnDt7WRuWgX>r-SBXoP7kB8wEG6qm6_9?gu6hmL3*b7lApKx%{R6!JtDLJV zm5sLU7=$E(b-$7KHi6^@?;XJUv|$=q)8r7*4&Eyjl5*f$ELaPD z3h$-si6M}FaM5H|0NvJT8xkdv;8g6FIw(T})(qcyI3hF|G(h_saDla3(h*pYWjvt> zuAc(`9=wNZm$Y^4bOJ)dzJTBg>4%qEQKzt69Z6-Fez335tvMvWOCF@vK|6UH%;Q%& zFK6TqTyynuCeUPvz}j;rjs5^)3oOSX9`T0sgKGfFzL;bZR}IroHBIeYqE?KEq4X;k zbvVF1F+e{N@*rJLj)Hjr+H1h|;%DTTVLpH4yj+lANWX^@zS|3|BLW%THAD1+J(N8? zlJ@&)vRRORD%?wgYv+Le9@;u`I)S!t3+R76!~^LVEJL!MbeTqf9k~kL^HG1@`rrWz z3LjkShU?AoI=GphV67X{53lVT2wGbrDLjDwLC6DG19yk}IbiL*71D1VHzbD)_CU&M zb&x@z$#p9i5mSfj;1f&_WuAxI(BPaJ3LoU*S2?&>1lQ}~6{e3km4W&Ow8MQ1(1!3d zS!W=JT}`7ukaP)_yCxPn4(SK`X|LeDVH#=Aa2x6c@4zJR4x6KGXhmVKtU^tX)G+;2 znFg{IeCAg=u-^X)(jTmgI|1_rvTB!T^g9u%;XT}c9BxA-*e_YeB924!gZDVDTiiUI zxOA9)s%aKc-{c~K1@sR<9)Qfa7t90D{~q!n*+9;K_rKDG=;96z)dB7^Tt|m{R*-&h z4Q_Ly@WDOQVfv{~yYVU(sqI22{cGb%>tVkG?XPgNozwvNH8oL(EpUiLp<>`ya#)6=OO*T zuZQ=_1>}g~Hq;6C>Llxkc4!+?tnQuz)BGy8&ji5&`UfBnq53!X+=2IN5|G5i{{*p?;_n?%~0` zd$bL?I}+zQhIcGL-vQ@6L}TNaw#k70KFGtGxS?+~loO@3p)^u9%oEUFJX8lH+P4~p z{VJCvL)ZlOdcZ|VThJjGp+{01rk@&SfT;VsQ}_Y>6j~c{#Jj;Z0_cZ(us{|7IRNPZ zbl(}Gf9P8c_M$U~>wq>kgE9%=%*=b0LINEBGyN*sVLs^#3A2akr>4l@*TFqpKtCDs z0Og5c8c#>09@6jOLZr#!I0lhz)`bwX;T|rG2V)@DHF2bU;Czb?ya(SgD=2Ghn1Lig z8H@i<1{gl`GY;(ay`k|SgB*qVfOnvXRtLJseR%KfNYLKyj9U)BY4Co$xg<$^2Bbe( z3fBVrecIWjp?6>)!Q#jF;eR)O$uc-Av<;;ykfcJj@UrMT0OhTJH$6XE-cbn(51@aL z#)Bl@1J(f;OJqR#l?Ws9FYBX!l&&91pDc~9qO~E(_RBx=+;~X~&HzLuNwvdwfb_qR z8TeTol4TK1^c_f)#jE~oe!u&9^qd4uZa^9r^1I9b73C#MWFt|`T zEez02!f*@(7zi*BU?9LifPnx5fxkThR4N;PcenW8o{t}7fWMu%6zC$m3}g|=;JoIO zAAJ08pB$c5hjJw7CDcg~{@XM4BMeZftbli#T<#DC9S%S8_&*^n;5#3!f1neJChzi3 z;Ol#N05YB1Q2v2z9!*~6d!PL$q!VrLksRe8$n}xQGXDg=euM|W|2q@|A*7Qguk$0% z|J~C9na*sKe;}J(_;=^$d+3+APvJr3fPgHqEy_RW13KV&jql0h@0bSYX0QbEj1Pe< z)F6~=ggi_qQ}_Y@lo1Soe!agVZ{I_+^dq7@DhCF95-MXN(AH6p@(*N$f4RKU_t5q` z(#(I>IRo%bK{0^x#jsq#Hc|r0KhW>{%jKPZ2XEh72H^cM%0HA3htCNRd-O;6Zzm4` zy)A!qx2yxa$%cLiuX$6)M(I+s9sKlFk+h+z1d1i~38_eZ

{)x9?7}Vnpb>yHJz;iY*9O^9_!~aVd_Pd;?3n2i? z3JzWP=dfI;{|VGP4&~oIh_s#-4&(+$_y;;Z(Yglmn=erQp-eeUyP~)g>RzRtrvQGx zUeS==a-gT`7Ro=6t4)GwQN2|t2ETJnWXF2qvQhpK>duWr`rGUR3FlD$p$;5Kr$ZDX zHp)LZ2M|M81jCKeh$$%l@Js*$ z`g=o#zjUnt_iQka-{D|ggR>`i6a#NZ#2J1x+7F+XXy{sw@(+Ee8ySZGE*ELkJts^Dzd1}BcRpOB zT?m#7-hqoK|DMjolQ0bG976erK9pmI;cMcEX(Rl{6KJ}Y9kLND;J+Wm0G`c(X;lk} z!6^U0A6n-E-wnVwegp$>P7tR39j+{h$_nH>iKwh+m>!X~?&7%~zh#7fC!`InYryx= z87kNp0v%Y8Mxckwe1!ivLa$HUkS=I&p6V{jzflHhFHEaeLQ)ySKkZx<42QbvQ2wPG zI%sDcBIgtqSDy}oDO82&*YFr_g3V{EC5e(vo z&g+?EB4H!^1DgdfEj)t-_$Q(mthhq7hv86HAj&_`-S_!d%ZS4={*w#WCAy>hhv*=m zpzJJ63w1<~VBk#L4#U9t6{|7)({zBraA;Ryg#S1~91Jr~Bdr+WKb=53O98`y9Q-Ae ze=ruJ;Vn_uGjD`{cs{M>_vyQe)@qj=dl?rfEaxCRK`w?xXw@N7lIj|4k?c(vLc5c*DGZhXb^dwHoIA80asqE?5tjjq(q^1+;aSAXgGE;D2xg17HUP z(lX`@8Wowz(?SQ&f}j|n=h9^B$!k&m!I-e? zd-S>w<@WQxfM;8jf8ck(b2~6s@D9|D@b5&7gkfXPuz_|k23s3#PrRVgMNLHP%|_-S~<^N{d60Q*ANAHa0K%fT}OfNu(l0Xzc)%l3A} z$By!kJb+EPTba7qQlbtC+Pvsv(5 z91Q;*4u12~6%3Abcla_{bSLz&|{f48z8r z=Y=>}#sEG1z=3z*7|Op<`p~)4rTG+oz&{1WK=mpZG{0>IkkO`~vi=YYSah%+ zApzwdp234**+ESl@ci;91|$m@KIRM_oD(*~Fj&`s?~iC3u!tjXg~7%dMEgzG?>;o6j4OK z0nkVFae{NuCs6)@&5Asj*7#)G48T7H#lSRu2yfLQQUc(=73v94x$=AUsDSfM`%(Ur zCGoU%7gXmgiUB+e3+eZE!TXK!PiTT+v@?J}j{uw#p}fOzcpe$_ea+VKghN0#t|<(I z4!rk|hcT!F=Sy{97(7=8{r`nKD2F#h`3HV~`mCXKmr!kd8OlFA%M59AcOWbTHn?7Z zvx6yK>k%`+J#BpWM|7j}fBHDH^o|8)Ippc|;s2|9ntd*yUlhe4Sr$)QcLDGH?h*cV zaKClk<#%HNc)x}64{WQ@)?HAYzbFP_M*mz{6mV8HaD;zwei`Bq&d#zxox>>qp}IKQ zI@j;6o8M7hngnk782+j7><=t=Sm*H|z@Qr1ulpUe{4dIYHjx1T_)!cH+PX`aDPeZJ z;m|nee?iypEEDSaM)^;cZvU<8F29q{|5VmNS^O4w-Vk2k+$2qB$A3!uPYlnHAkG`& zpQitS3U$x_6Z!maJc0AdO|*AFns$EQ=f9=>C&r~n;j&Qvq3->EB9H%#r({{eTC@)Y zerM5~-!~WkZ*={xxb%5cUcmPtm4+2n6gd@1h!G-FH2u=n!497r#fdB&m z1_BHO7zi*BU?9LifPnx50R{pL1Q-Y~5MUs{K!AY&1A%dXz$`pfgdZWf2;e(Tfh%Af zko2!00ovgN=gnWBXU>QG4%)fRe+2;lYbL?@8G!l6ukj~ScsnS9|7+6zE#(8f6DR2K zhxT1<|1JFgulbyTbU4xD4|Rh5uj%@?lrP*)5u(TcuePuIZ^8C^`2_esqpt&~8}WOe zXQcZ%1c1)5M0)(8ZqA>}mGSiVA~2(^)0iHApbzWP_dd@^_j3q9Tk!z@KDs&}fkVG+ zKbJG(>F-4V=zOc7!=DOuWPk7TjC4PT0MI)YOpiYd`?*{hPk%20Gw~!9di?p@$alW? zc}BV)LqM^*M-tfc9?{nT`g&FY9GOU02mRdmAw3B{mOCT$A0Z&qK(+#UjOVFa3zT63q#W`Q7R9hjRlop5gx-0+O{I zyHVUn{91AZnk&6M09Y5mHp){pp5gx-0`iYLmyF;JbPmG*pf9>VHdpWscu)Th%)tF# z{iI{*`A7W+dQSn~xUqEr?gy5=8`bwMh$9{O2LJXB$A1(K|3hXZ>&fTG;!k@A9(9_d zBnjcW*3sk7-`;T?jsK_lsGi$j$rsf7yrQVnNVSl30O&h=vb=amKP)Um@=@nzdi;SN z%v7}eZ|p(Pbi)60Y~xsXQ8=MKNvKm3>J@be9MVID@{jsZXP)g|yeiPGwhQXnL&NEP zSbt;nstxN|>__$NL0_eKNIxxn7TO*82LD>p>#_NQacBemJ1`yJD>pXH-{U`(X`9oK zu1-j=ZFHwF(B0QFR*xU}|6(jJP>-o)0&*GX^dqBs{no{OZI{S4jUov2y;}l3kLgg? zrAazzL}o#?xMRUs?1%r?jx9sFp7e&k4&K*&a9>%au1n>>^9-GH_{qOHi;rDPP zSb90*(}51bcR;6Z)mT~q-c5A)Q#S&g@@N|CSkitJcht8|Ks?cSlfzv~s9r_XH%=qo zLgT@^!VEC~LRSYAsDBepBiTUCpvPafmb3wlr?baFvrz}?q!^7Kzdn@-VBS8eyOCzo zU_^&0q#IzLMUTHjAjt*gY1qESkbQ>{I}by4uHh}4X&ih7r&Az#Ej|8@0mM^i zym3t1WYF&W(6&$Wfu7~D`f|tWm>zit(uoFW9^kvXo*sXt0zwuV5A9C@{0G0PgIZEM ze0R_^U_H8={u?0FMpj4T$Ey#pcBRK3=rheg>0KL7;sy8vn=YfaO~C&Veg7~W(BpdR zEBxVmu#YsNulH*m*90o81EA}BA6mxB8(pIG_(T2IXgu_R-skGC@CS1-iH1=-JEQhc zIvxYN82kD09ftgrAv*(O^BHgdq3sZQ{K0+mSUQ1Cfm%BJsq4cL1vHIC0x9qt{Ns>N zG@f3^_7MKW$7nqCl?#ZkzO92%9ov$1QW$H+NXdVJ23g6#V4h!J@n!XOaT)O9= zyg39C;^^^r*hBP1kd*@blIeuIAi z@hTb*ZDs)c33PQZU=u~)M$>$)V|=I&GC4%FL*tbTkk$0~D-{tgqVZ}?R1UEA&_!1V z-M}Ut&HfddZan%S`iMEuTU-hBwGNEvt<}b_LuvJLCYjUY@9ju9hsMJ>7{I@qt`0_Q zd%$#1mp2{$)UWhgf34%3_6;z}BppS|Fu90e0saGYbwEUI{=sy>_R}>w{HgMfhID14 z`HV+DR2y+baUb<@M^IXWJP<6vf8gsnARy4r5}F2Je}fKxszV4_6OD(uGL~L| z{e!RZN2p#dolDR(j(Z6H^!VEc5~I*~Xv^Rm{Nui!D;uRFPtd-9#LvJj2u-L1_lM<0I(t_jbbXM&s>*2#fvz|A%Ni z^a1|w=<5L5UqjOXJ9GO-a0g>h_}};t(F2WFFX~eJ2LA%WO*9_9E7Eo3FLZT4k$XLU z^wy8iO7|y37fGbYAKG<7lleL$E9vnEwq455c$z%}Fz%e!TiI#%+@U{(W?HKtgTXK)OAgiN$pIgKq#% z59JBq@A?h?dysTA-Ykwh9pF!)tAnrR%5d$C4u7h_VZ17uhf*Qgn;w5)3w30!Ecv8M zlpcTSdh%QJ`SI+7G3XsS{HYPzqcVG5E{G33{=m*+0?HFy_oT-k+|%r>plP6OH9GvM zz~;)xT-i926iAOh=z~Jg=T{W=%6^Og*K=in|4aHh_}%uXPG6kQXdcjp z;Wzj@BK2rI^z8zWM*2D!Yu^T7A4iYBMcn9I`H$A4L4ABRR|fdE($|5;Wr`3=hfFQ; zAU*!l^_^~L{CM@lwD2nQ_``Q%lwK;6hZEr=T^&$7H*^T1X&i!xY4rHp2aeiRwgR># z>G211v#;jL0B-`_J1}5yaCEK=Z7$N|4{Q>S%$32I-weec?#F}cKCn$U?(Klk+cF)l zi+;E+f#U1oL_9%FS_+?4F}>CNYl=f2v9P zs4Xbvq7H{|@GlyjE34HaSTGJvlLq_nV`U*w8pg9f)|M*zF2J!7N;9yl?eq=)j)al( zZ8m-cZh-#)T^)QiR|a+#Z_wdSwcS5DS2j&2Z~X)OlTjM9u653!#~<8(HCIN{j(2~* z44FTB@#tFH*S1`T=fYrafb!vG-!AkG{=m*T8V`Li?|n#zKh-gyb1|9*VDC?lzjeas zT-o?w&wP6P!TodedFZPY5}$rk2RFzgbLFvV$J77Q!W7PfvP6AgCnF(I5?2pw22hfv zkw}zAdRwxzcL2CZ@@G9I@qy!bgpa{M2w`zAKdRk^RV6DxtJb*@D2ECt_<*g zM_&hPQb*^?!?GyUuj-(PII^#dmNnk|WV!aG&_>1B3)t;>FqTe$`FphQLH&50A=_3k zowpN`M329xGhyU>n`01JgC2jdM^K8E0q4p9|2Dch_-d{Uus=+Xzwx2bxiXXo`U-m} zmr_U?nJc4ZjW_>Wn^~YPq;Uh8%SL7PfF02zDDJ2a*GN%bz&y)BZ~%BQkq*wtR=yLv@i6nY|e2w#fkhKDs&}xw?*?Zv)?eD|Gme*t&+8tW6+n zq{rVncFbHE*m?x`kJ$XA)kWIZ`^qW>#M=P>HkD%X8I=Npt6K4B|1=(PM`;4~LO0Xn zpDfirBC|(tOL*uV7`3Yo^8w?a3Of9$o(`jPWgr8w9pFy}SBd=|WG7ggScsMneVc=X zStIxZc?ipRLXq`eqQlrUKqjk}?j7h|eV8~GO`}%?WWoN6EFGF|y!ok;U*^)|5A64R zC9^lymND7~Md;z>P+q`VL@*ux{ZLi{jfZ<;WA|s!@Ui}yIAo`79HKsUeQj*KQ5qo* z>8@Ax0|`ETg!;GisF7Rt+5TgoW@q58NH+iKpfcoi>aq!G%+ zLHW4NHly=XG>@P4{|Z^&pQY(nJ)bCp&-?@YN7^r)Eoa&{AXN9?XWQ*p;Z2`UiX?6g zJ^tYS44RJKmh|vD&{?$Y-(_14#p74|Mc5(ne`|ipQuykz_{0APB-%#CDPP;t9>PCZ4;eY%_HV`QSMi-B(;h>Qf3ggIL}o8? zRr^x(+dJaxB43?v`&G338}mt(A!yU%57r_^WcFyb#C7oaVeDH&w2>UpCymHu{Tng+ zl{{ywHF1D(Xct`_bb~!#F0`BwJ-ktb!PnYrpS+fnZ2Lqe0=1P zB7^Mw27eiR?D(MWpHD@)EV2N#n+)p#^#5Qzw7vG9&-wV^5RUf&-d{%Ffp%C2lpMM7 zFS9p35d3*65~YySVEt`$PX^c#KPWx^W%hoa^YM|xL22Cj(e^*QHztD{_cD9q1HGT8 zB3ZIabO`^^cOX$3_qUMQ`+4riM-EBS_*Wy}VbK4;|3@W=^Tr2t|9mPEW!n#q;6J=S zpC*gn^3Ugdd~lc|*S?xI_8i83=zEO6I6kQR=Tosy4Z(u;KQQ_orhN;DP$u!8&;9t| z5VZe$un!u2587YvlmC0j6pRl9e~yYoNyHc6e+KLWyJpCZ>TmhETp3R@5MUs{K!AY& z0|5pC3TO&=9&TJ zlqc)!X{`o+FuXV>fZy9IoWNoJnVI@pD=qx&aao*xyxK4Cp1rnl-pAKB!!@_t`9@$l zq)KF-+=hL!YqrDfiayxO3 zu(;1ueb2*M>zTr@vfaAgcZq#J8@6>i2l>lG5%uZnX|`fjXXSVQ*Mw28 zS@!RK`r7XNhih6oIuxFu6?l!bS7r5QMZKAxD}UU0#ckch8;dut?UH$C#(CFsZsZxc z-Grrf+Y;OlC`hZ{V{>$;ehCyI-{83FwmF_-Ad1`do=GLoBag`o`D6BIPwm~hJuZALlZF(=+&gfF*ArfUA*vfvCWQ&-bQV;x zcTn1N$=Zw$-ru}k4)6T6q^I-X{klRs_QS%)#*){r)sSMuV z{3s(FWPlat2`;pIBQbSeCTqVvPw<+_tENw_Pd088aV_$g_GEH8rYdXAbi(5G9g9!N zS5XAnNS}ncy?VA@E7Z51Q^m!-fXQNqb?@wRgRlH-OS_IfJBUfki<-0{sU#}BG1Jgj zb5`&JWB-_Y)!Ep|11orPO%D=36;#c00RZahu{s*BTbwleu&_t*#jJrRHIxe%m@LfB z9L~7?IXish@#87l;j=gQ*t9*H5PF@;6VZsR5FozYzB4IbFO6@`CuT9xfa3~A%gs0k z?PjY~6|;VLk#ptJ{jghAtwv|At>h2>{ASIrM7IIO^H0OY7rrw#3_78|7EsQ!oynre z_A2&uz=Y}x6OOIm7WEsjNPBTz-*V|EW`(&eGee2geGNA6y>FkE+~#QWX(GoG$=l%u zPN7m5?~ld_i@%gS6uv7tcf#B&<%^BW z;LO12QM+HJmCB!D5n*i+czCjUS|zo;UEo#J;uM87(fciUlBy$B(-%lhKh!n#jigiS z6#w`BhtHi#v0dqzQMC1oag(aKo7D`h$hce|Hok@S4$0!joXeIlrM*1=deY-(#}bL6 zvr~%#u5-KgPHDRF;Bl3(;q~0Kj#&~H&gWa}RD?dJ+$3V`E1xA_IU~%yV&#I9mp28i z`&{q_5ZvdQa;s_PoRsxx7blf0#B*A;wCoAkuESz`>-7es1<1MO8o2uK^>VD&5+R!lkObO<@TeDURA?4;bZ9@2!cWh-XYn3B!~$EMF)af7$y>ebR@ zf?Imj`?`%1p^ayS-UJb;Gh}AvaozN3UFLDT@O*DjFN=Yjh^4}nIU4*|r%rt(RkgwW zL%)%%QP@O`#xkagLtKWRm*DgFz?2e7>@Ci1T6q#VyzL!n*`4e%j(p~m?z=dqw+Joy zU`z@yE}CSy)3qT$`U4EQ6g;kLV8tKKy5)5|d2aiR z&euEbCmVWHiw-PbIWV}|>lot8!{xz$LblyE^`sO<#xEwD&(VeJyPM@Y}MVDmHHgud@wU%jCIQN+v?Rz$j z$8%yrIhexpEo)i0FHO2Na4Ps_O8JdxjpZhDn73Ln=Wb2yUfxbvwTmMx4e2~}GJ03^ za$hs?>ynF1UuIgDP*zXmmU0zT-ZJy%0FUpZTPnf2h7bL!GhU>!Ic+eqHdMJ#RzFEd zpSN2}E^wyC<2CaAmkvBy)_zh$Qc>}Eu{Y`IU}?d@fv6~rO}i%+-c*=zA=6so_2rb~ zU2_&s;o=CZT@d?e{*%)cqDx$F_aAONA`<-C+_7LmkwG&u$30`iJ*CE&&n6SPu;feo zZn)c+Kf?+v)b3LioMln9z`eD&`HMC)DR7??f&XRaayw>np6lM;r3xHnsWSw!!^G7W zHRZ_)6=mK1?E$LGS=J_%RjuW_+pZ&o1x zzVwBQ!cJp%DY|On$)&qn4+&@8+Wuid^!|4zi4z*%g%U$%6$BD9p80HQYn>dp`;==< z$>xx3TN3*qJEb&i^!;|?YMwMyN z^ITT2NLhF6-(`29*|?glqsrV{s=LrLIZ;qhG3dQ(lj^6z#-rWl2e#i@aJl318>ZyJ zFB|TQl5E4Tc;rq#wOaN`!funa?)_P_7aLbjyd}oT5hhrq{)qZMzj`&sS6X|Q$JIx> zdY!qh4+NdUKTm!U(rq+2T|`4=GM{Ek-@9H|LxGk3Sm~b2k2e{n)U0%L5Z65tb#AST z75CKMvTK`HhO?e^v8|}Fn|sK>qLY-zwpcD%f6Julf{BlPtR_nH8c>?I*Ad;^Zfomw z)+fApm-XR^eNkemrd~o4*DWpQmiOE&T{rlqGheZvD=lJw#>%opT6{qIv$#SHzd#&6 zhidqwnGbAyi!HJHbmh4PG=&{681A(F115wLnu{k;V3-a78sO%QS zs;5;>*9e=!wA4n>*6pdIV<{y&<8ZTC|F|`XpwfaE~t^w+hbvP_jW{%VkRkW+%ZftqE(d zuTg%>V)mG)lKNWZIi_@8|F%yb6C3LeM zasIrp_3Ao5?rO{`OD*rMl+~a+sTS>=V?vl=V-peD5obrJ6ainquDq3b7QMj-r}I1! zz`b4?G06E*d3MQ_^F_6rHVYo#qmx7_%|ll1SkX|aBe!~`K-B{2MT1jRWI5s{B^1sa z+_j`~Ys|~*1COYSlLHpM+r-P1)+ehp8E?^`>1ejbO`-;S%=!IBTo|D}`}l>_8|Umx zR7B?O$y>U;^O9@4KYvk9l-cV7=_T{-V+D|<7X`W&wAO9UAQs4`6iRE{>pg+kKdG^QZx?n_-PMzA7{BPch><_$P0aiZu$7<(?qTs z6zHESnySlG; zH;<-B*~VVcslo;<*oTsX?XtHNm%KsBS+Q1v11!Ge z4OrXLhp*tKAK=)zJw4?KUHpZ>)k&oRS;*nuWA68>`1Yt`T@SlAi#rK;?Rhnq zN%>GqbK{(CN7R?eEA_6|Q%~E^RUQ|c-Y+i`MYwo83e$B%^eHt*#5vH}RWe#TG?sfp zzy|AVX^jdQ!DHPTn#WCNJUFLn_hgo*!Sm}|dor=siTf+8Uq5j?mDej}u_o83)f`QNhe*5U+AagH~b@C_T4G#z2<~ka+f3nc5 z^BdI`tSmKaxK30Pqac&bp4sO~N69X~U2~H)Z$o22o}t>2!iB-H zBbSiG7XnvLtA?+UD5=ElvHv7~((AJ5-FxH-Mlv#I1#;FFzup(SLG=y0f10x!QobqC z{q4NxcdqVAx0+()e1_|q5yeUEnUp;fz5V6tUN7o+^Q_>rsNwW*wn?Ez z@7bJ|adNO^>~=`)y6?c8{aNL3$Lza4tFaRfXl8u4v_C7IcQuoG&(5XcLFSS-?&mxy zies?=r6%llo89qDG0~n&AT7%5&dnbA4y-|I?uqhbuH3Xw%Jqt6PgJ{Ku5H@bdg$oo zJoYjzp5Rp{zKE#4uhuNxy|_0_^sI);;;jarA7=N(*hY9>3@~Y8?`;cKU`@JzjVX#1 zTN!xCe3nq291irm?GtttV0fQt5fGUk}xc}n2Ug(silmjxtvuA6)%2$6CT z)(#i`=v`cA^v0>H(Pz3^-ktY5p5!}@#-|y2=ZRj_HF$TDH}N-D}scd8Q>u9E{T3;kx=BYxAef!aEVz!l*ni z;?6BgO-SAQy%wG%bCenKU>t33OcJ_0wFkep_0&||<6malyp&+heg4iU&|>S8I<@6l z+bt%sDokeG|MB77gVax|D&D3?Cr{(fw^r*C4YW9y8)YAo&SgzC5MaHP<9jWTU0W>P zPVL0B!?T&3nss@&7H1jjz2$W?*_1X_a~@_(c0~3~$(ysh@7l60lOXLLeB%$^ViD?g zamV!47V%CvrKj$9wlKf$xSrqUxWq`iLT{_@b=R&}ffh2mA3KM-eaaOu!N=@zJuAxh zP;>#`jO}x)s}#T7d-LEfvuS>gh~~``<|_rJofkg3+c6t+>-pZsiDHI}2dn1HU8tGq zH|zMuc@bI|1&Ywty$kJ^%6=BlJ7jZF+FoI$=Oc`{&5~_p##5c*Ixd#Y(WzK)H!yCQ z{hT8f^{c-!{qG+@H#Vo~|HZ~sDb8d9*&=iw$ZF(Y` z{ZWyPPjk;C_mp6E@L`?Lb2%^5bfv&z55qg%A{?JVhsquNtodL8Kceowlgn9;tH7A6 z)~m3;pH(|SVR~)nF=w9a&moPAL*u4ym5G$t=(f~#qGp)yo987M-V-^_tJwS%U2h68 z2Ab+wOciHoS6Guy6g7z} zN?B!W=QtR<+G5gC(kJ6nFTKSsBs?%*v%# z*BCnMg`9MG@jO!Sg@;P24tIGiU#$v$vx3Teo7N{MH=15`50E?J%#>U+ponO0+7}vo zROq(tcIO%#Mu@Mq9Q|rW8WIuEDu?UY|?AO2V`FDy43#V z@D!m23yVpfIi=SM!rowgaT}By+&Qiv($KDmP84K&UxvB$+K=bWx(D;-2FDT&o^V(B zBV89eEEMCHe0HeiW7aIpeXeR|f6pQ`HbkiLnB5iq@YolZM3ryPuC<%yli!o({xk7%^1;%>9r^91QlycY52_vTl`ndKkDk;Fpvv@3G92sDZ53IZ`7kXMvn5j%!!KP%%8ji`f{3f4Pf%cxptX&mjSMYRSY>TRQX5km5 zTmg-TzCJ}gX89%{gZt~E*4**<@<@$v%$ZejZ`KVtQgmEWm*%=0qyFP2%^!>2&twWG z>ZuDvnk856P?2MHYAk>>N^xc~rs}=x%}a5ojyOl>rsOWR zPm=D~eMGS?>*Jx)C++}2cSTv|4zd8Ie_60$q#?J-Qz zb_%uRx!#2#ibqB?*)*@>y`FP?-mGf^tl~1;JgfwaR$;ol7CunnFfd_ts^c8&dwsn8 zflcea2^N#gOcl2;-?1`8fN%HaJIdi7qYTz5nJVSy#tDFqp<{tS#NOD7&F&RJ#InU( zU(^pS*DDEs$}wZHk0{=^d|&KLoPx-_bKuJ^@q+2)9WdTKTbis;UM(iY!Lsgck9B~5 zSXTPu^{k%$9p>lP9yE2h@0wDl`SiMsMul*ZIp{e~Z088HExDo|A1f<5C08Kli1R1S z#&+4MY)g(T4}C=Z#&lv;7lA{Dbt$iach^GyNj07L%4lU9{Uf8@J?k zdJHdiLP?Ht!BXdT-HNSzL}|=IFkY2$eW@dK(WmbvwRuWLJmy?*kV_Sxr--rl1u?Un zkjTYXHTLDz2rb6sI=f8`dC|es*DJ(kF=_vW-RGA)?0j=CK%_EAP0DJ(^Xxs*dnN@q zhqU^#925CN;#WH4@o_t>?xZ;ytl3pC^OmjS0KdxK)RkAfXK{ZL1@jc^9cs-EH&|ZP zIIWVH3rIVtaq5Xz%jDSD#ez&6svAg`SZh;!RNqEF=UrwZmY{tlLW%3(_On);^Sz#5 z(mCI(`fO!Ij_sfh^>tGjxrO~=P<6z!vhe(6b#<#wkh&EYHcc~Ce3-HFwxcz7=<1No zZ=b)6nw%8N72%EVbCJ6H$V{;+F(xB0Dtvj=d%e{4BFd+8t;1v2YZb_o!xTOo?2(%2 zb9kP{vSKlLo1mjB&GP5X4^}_Mqmh2m`nGA+ z;#JFMSKd|%;)+XKFR&oI_@KDO)`kM{;>W7jnN)NPq^~vGF`tyMR>9Vs-V8pvjc2%z zIhX9(;BuJf2EJ9gWR=sE*;0!!eA2jOnIBbPbK$cqjJeB(Jz4p<%ZnfAl2On)A)He` z@cf9{#b?LaJa33ko)v88sPTk7R7z6D=~{0qv)0Y)XB_g(F2xdBS)@aj9q!I)6u4DS zunV7ZyGQhR52S-a0sY;My5pK9}d3Znv*a(5(pUWWI8sa*FE=68H5t zEv3)ne2=aWsX7t7Z2Bj5kv&b_hW(%SPEB;1$`>ADS^FXF_yRQ!&1o-{rMPE?Gg%lm zzKg1gybvc799gs}Yv7P>Vyb7_-dOJ0S8aE1Nypr>u(hr6EaB{|nnQ3`T^xCN^4{3{ z%p8|6TTkFtusf#2#%@kDX%y-4``8k$!6B@-QefEwiKl){&TP3i%@o&SR`Le7_$Auk zcTulUnKprm$2IF3nNv+lXFu~(YKlTk@)75}?UJ!ECD`QbXGv^WEhfLcjnrq-A0Ak} zoZZ|W!~NyM0yU`}r#F~XVWp%_TD(g?@RDqyLvoFipV;gw+q1B#Sk%bI2s_{Oe(7;+ z-P>c07g+ZoOK+v?cf}U1xvDH(qF1r?xy!py%Xrd1@Zc(D87z^T|5 z?la@<+`pvjOX)0@x<$~eGgW-S60T?W;Z@Z=w^v3Q%ZohUDe(T5N$hjvmQFrr!;&oUs zEY^`+&%}EBOy|8vPHu&Qe%f48mDh5%%W+VxSUcx$UeEOSSpE#9&9YKf>84YNL7Y+( z`XBT^@%p%XX~)90*7*~~o=>Nw56tAZ-8oA}S9PI&#HA+0D|c zBsI-db5C%fYhvQyF{|D9M?&{nPbS`Dz9LC(e4Uzg(yD~XJSoRnCjZVCxuRg4Lv6L{ z+tf1IiOs3oc$0a-D(^K?FsF@mA9+{WR&ycwSU~hDaWV6?n46c{m4>CvTFlW)+sl1q4i@d=^SU|Jbk)AIP8^q4oYcPR>AE^Ej>hcC z56IO-!m~5d(Xp{dIY_xS0S9)q+bP6KO%xNb8a%;yL^5#kJH^R-vk!&N3C74poUy)y z(b(`g_~UbF+r#0P6Xskza$A1Ca7>KyP7jH=ITOW_pO$vXXuQ<&m+HlAbqVvu<-BW})pYfRTOapX=ucM!QDTYD!ba(Et1bez0Yp%|1>0*rz_TBjet5Lr}RxDO$m4sFKglVjyIeNw1 z97ZPuS+$utn6%lR>hNEVWqxX@WS08O*vQ@8sHFSwLd3^q?b5fCRHii_yh=TiT~(Fd ztLk%jA+C4I+;{VNv0Qh~GcR(tm75_4{$t-_wC01LeCAtBck+qak0QXI=oMnT(JpM^ zEYU9S<4#Tlf3N}S64<+39PHS;mHbBh;Ez~eu&LNyKI{~+y$SLeAgd|r9ZW~ng{8%W z)rEx|7THON2?u{-(Fj>)rM@h9*^<&t*G$!yVd~k#nZ3>hdt$t{?y28?6#U7V%E9)| zn&~a(-SeKD&l=#5mgsmQDCCMKm^OF&7MP#fuTX5NE|)KvM;)e=ulbg-4ae@R2|g&^1I3QjFq<0%whY1RF9JV@5c z0yPS6v_E^fO<7%)AlIOwb=J|Te!(wAkA>@d&pq)#cfox9AWdFQun?YTiMd=jtNW73nYmTTHJeNN*u$&#p(6X#>q}^Xt6m&Yad1GzU)-7!?rUX zO({=O+&TLY<+DxymuD~7dKy2KNn#HVJUe;p;p$Z)!r0m@jRMs`-srXL<-0B}NDc}p zI25k8;Mt+FDT7+b~ay%FZHH(L%+SIc$h9E(J?UlGsThTR>-^2&D~l;I|= z(z?4fX7$28ZTwq5JZ}yTa9gE>ad^mo@=0Fv`@;T#vI|U`()ntb59A#?GOe-gdB3Ua zK$=6rqBne?+~%sZZb^Y|(K3X%Wo_Rx+47fUbty?bN&ih2*LQN&Q$U@}n;E=CJtQH} zNygkl`+_R2`_%+0XZsl!&c^d|!E`0$OO zSIm#irsWmr85}*^-}C;4d34v^eawoVF%N92gF?cSkCw?2$U?mjDPl>V*-!5lxh5BA zC~qUh+kALmg1!HP1s`Vy_YOEL>ZY_UnXD3Se8T@}BKs*FkF(m<5zKyU&hD(`4gA>- z#%D{XW)Ji(eu`Wun@SsxKeCNkV{wWnE64<3&cMh?5y4K8`^tNo`mSXDL zyIUOn`sGzt?O*?{2=Q0oE1HyYCI9-ST+?P&MAw4L;*B?c)yakxg&w6(iA@f!gVb%M zhE0Yq$j#@?UO1X#kcIO@-(CKQq_C9ywB)Sr+D;d`!Qi#2lp$eP}e+8juT3KJ(#`8?QHH@(<9=% z(UR=V?zTOfa_12&dT`W14o|xjx2)SiQPgP%0`m~j9V<1XB_Ck9v@)3$TQG+Ned69e zDLXp-<9#8v$0F3h3jI%Wi=JQF+0(pf;i24%v>XN533ikQ)`yuC?`d;lsF%xku1g7Y zVtRUkN8$6{(wywQT}*sYg8>3HP1`QUB^;V5s2{7gZw1UOFZ=P=(E zQm|;(5tGdYg2s>6NYsHYES|-)SmqG7b4Y$!(v4-d!DZFh^%`XbxF7;461zGXFr&lf zT*;KYv8sPsWXHBG?3h9a>iclalePSgoa=SIq)t_xmJrF~JDqD$IJ4qg%=3zf(;@-Y zW)Wtek8Ab%&R0J;P5D*Vl)&!eq-ZUT5CIFZdBVZ+F2tEkR-IBcE4&MDXMQ=N)_wX` z3(x5Y=6vvqFT-qn=pPre3a^=QV%Y|&=F(Z@=nonpX{+IrB^48!B=rJq8!Wk{+uv63t*(A%eLIb3a;i}2y}@ajCdc`??j$msA(#gX4+jM+ zcKXMgIri6XZd5y`c!nESnw@p> ze7QeIFmE&u$=!k3@Y&}s3pt2OM}20>6zlHE{X*SsO)jfVripF&a^k>!?wAATgN3E1 zL>%utjU=c=`xog+^F}XX%X!Ik#YTl1vg+|(0kiZw_Ii!V15EZJ8$S+gd~2XKpw)6K z|F(zat=P9*Bxl|CJCHiQ7jJl4xP$n)v;aVD80)j?_iIc;d1g4?;dqevV%zELsX<}N z%%4;?sENBNomt0{o_xvOdBwbaptxnPxU|l*5RR**&dk}Ws-wPkzVuUr)k3#%YArUs z4=!ZCG;EMmb9r#y=0hYz$5(Wnv7@YWD;?RpIHhF3FBd>jaBu;h|zfOZ}ku$8~iHdk3d( zAd{AP?D6J3aq~r*w>VC`zm>DPf=T?i+bn-A32X{zXUmcKIs02B*b@5cC6yyr+3Ku<*-vXf#i41Fyo8@iS^{V zD{CG1x%k*iuM;_7BY|DcrIo_sh?HHF7A;z;Vp!}rXZ-|!^)EH-2eZnV_Ha#U7ESZ^ z4d=B6d_)ZKp&yd#jcG}(z7c8pXlg#QQjNzhxkkUtR-*m0Xy(igUu{88w)KWDE*(eQ z8#|WC2*+ldiYf6$OR-~8gN#EjEAg1FHt^Pe@P^%nK)T|d9w>b_H*lu;1(~GaisZx0 zUTlGeD_}RE4+)bn$u7$>YjHai+^}vLm8u|b;-9Kdemm=EzhcX+(0A;4)S#L2`}#|x zd^nRTnf&ssS3hyyVj8jkt^cg`0<#PBcH8hp&tNy*b$|QiH;y}QDcJ2ZWBot&-ZH4J zsA&^DxVr|2;O_1oTml65Ai;uLa7}QB;O-C{fQ>Fa z!;!Un^?Lg0r&q7N8Qs5eJS1$mhQ0uUJ0HPSDUOl+rUvIBGDVKWot?2|>jdYEzVcAC z=jgnF`t+v1;wW)+OKzZA9CF~vy5U(Sxr-rHH$knbW6Rj@=XFzNdsv0cD(>YGiNG_D z2Q`Pgqi(_JtENLJMH(*m4C*|B&n3VT|7<+0&-7Bzcpv)l5Br&VqK~+dGsrCwZ!u}) z2~s!OQuf4P{O<`RTh~WLvqh_{nGNbfcy^s>UXWH_s|WpCG?Ti(qi)-%FFjT3+n-%i z1;f}I;MJL9{FXF7dD8y|LlC+@8vgQ|ID&kChpf(Q-f~i2bMAI;;!j-#QYYbNV%Ynx zBwhaa_1Ur3I`Byl$*UD{I$r=jwhSJ{7VYg!7_xe<*k4!Bq+<3TLIo>tF<^q}6$ZCo zgT#}K(k#hByf2=Y-n9yD^XybnCR}$V48wonFuw@WZQe%3f8g!KQ2@~1ce~QyJR008 zxE>3m-=;HlW|Vo;UuVv8X;*kLm1Rtr|2}pPw|fmnQDr3ut^KSgi-{v0&CaIqIhcpk ze_*7~W!T>$kuIoR*@)kalm3MI+OQ14S}2h}taSlVG8l^X(~~#{0dfwVkZ0*%qd#t7 z*NUBJ| z1=GTk$^FoYZ~DXbB?s;zeY3!2WKRgx-ghNNt8l}l;Qn=8gZbnArQ6Zli{%uHX55dB zISMPE**%QRu1HVue$mS_Hf*-r=)DPr0aa-!~LpU(~3_&Hbq`DKeWzDE$Co65_-RwT{P=>1R z$jk4XTQ*LUr#-_TBvLHk9CR=?(k5=qQ`kR?(N-7c($f1|_+P}z{@{wtIMseG5b6to zbcQVzjytwkT;my&+QtY6CqSyMgNCMd+q!9+v8KesC%LY_psn;i$+`I+U~u8P6R0zL zkN8w~2s}d`%ky8ZGj|cRAgD7Rq8Cf@7loUzr?6LeKfgiCXUif5%8sMCXN}G*;Sg=X z2z1LIwnH^o{7nnS_vOOtj#I2Ig_550{MTH}@W0gOFNi;=>_yPwRT_LSA*_k=TCBBL z=2}k8hpveH)G*QEs~S#kNcpVqALa%!mQ(iVdz4_Mk#bSmbM8^U5#fyf3u;mNqNS0@ zsNfqz*)ZQg=gZo-Ig5^QPxecd%VF5+MwSP z`Wixu7?k_=JZFooihK76|2@;*X9<)DaaR6L&OlXdE9;>@4w4L6H%|iU1w*9K-C;0E zCCBl%d~{>dcwxib;nr-p?2!>-Q&W^AozJ@xmeCyi$&W|l?Sfo_ zM^YR=_4roc@%SHgs8x8k=Wr0#rUh0Xj1U*j4OhkwqU`)~TG@0vJ9Zvh{<8V7{$faS|IH|hTXBx{G5mVR z-G1X5)rvW+OWt;0^osN>)lR%jD^Q!=Em0TNFw@Gbl+c>5RudUyo*zE$Q%d$54<(ve zh1!~~m@hfPMYJN}PH7qq1zRcAFSGFN9YBsqu#XPD<=D!0Vkum5(9vM2cT}LAgv}{G zuswZL$fz#!gUnHRw>rk}2?Kc3!1$soSf2wqr;}^2`XDkuq-966wjwb3;yL@R*vaUVxbOsWq_=j0J{4|uuHj9F1 z`UYS0`0{*%TwtbglMH0~(r`yoe=)gr`?(~PEVJo!@`d7Dm$00P(Q-T}n&-p9i5r_m z+b+=q@u)vv#&esYk#gT1V9;r1d6NCqAL7Oy^-yN8y1qfs-QJf#sPu_VK6xrix1)FG z+tnrDvPauYuNvx3k{*096Pw01GhR1{(LWy2hH|9_0JB?_9nCu97v4+|6?%mVx|U#; z(~Bj^%bKX^K0MNJ;qmv7VUNMd_w+bp!%N9rK`F!=ZUw4j?qAU91qDFnbfOHxBz-Oe z5a$32UIT?>*BM<3Esk^XoSxs#8uBPmb?vfls}X-r6R@{OMoQY4|4h72u>irVJNkq? z8tK&7ci;-G%`(z(M8F*)pm37bA*-=Zra%)%**xE1CFq8#?Xx-nS2EP38+~=aFl@df zRhxFI)Rwr5(j-kmPY`4xq|BF$YLJ5>PB+lFKkoy|LC1y`eLoM2O_U_XS&uqs;lZhOdxj1ibPF33+={#my%trNF zEBA*;1;gpNXwl`|!K;Gie565Y<2RZFCcNl~5m5Mum~{Rt>=NwB&t_WBWnSS(g=7a$%d;8(sOsRy=*(%h2ll2?K<;LRAzyZjU(R5N0gO6fl z%D9Xq!QlGgxW{(e6R5chep!!Qy76@lJ2GXVesQy+?FJtaT1F6J(-v!tX6r|9Fj?#^54}SvoHyX@u;mU;?z$l3{QJ69nP`7!J_}WxnEDWED zRJ3<*DclIhd`1b2T2W8fcoG^7eEKx`Rz^;S85&JG!@?ot&e^`eG2=Y-)mU=#^#0*` z&iw9geMw!a2g*r#&dDD?#91Iq*tHW{RWF!w7StIFT)#|ocs3*q!Xzp5DvS0voq)|D zYILwFX1cNcz&riiJl6;Y@!QBm;QE<)buF0wg(?>OoWM&>)H%3-G>Rj-%g6_N%kq9V z$O|SU-{$wGxP%^*j7@NrL1=u1ye&Vqh&@Z%NN{=+HHv#w$h2{a<2vsVx6`vDKn4O2 zQC+2_%)JRn^1*hWoRWqJ3$Qj*=u1s{ zr{5GRHU9Ck@r8<~$(-y1boj8(IU*hQBlM>=$vkJ(jRir)4^sP``ycb1@!f-=e=$(r z_v#)ZWo?*@wt75u1hg?=!~YtP_1T!-)h2Cj#Ym`AEsa({mJ@=5URp5{r%#bp%u zP{_C$pz>IIAF_$#K!)8%QXQ!~qQB&Xw*q~J`~qoXEF|0JPq$K+p@9e{KVSkt#}k|xyw|aw;%FZ3ZR7D774P$LnxGLG zN-2xUP;gbrnCJVf?mU#*Zt`T0)?+M3$OGZzLTY`R5jr5jVWYk~kMG%D`=HWu*&7tJ z(&wcGj-OKkx1f6A+#8|~y|c>YP^xwHuz!445IH6Jc@s1r(@lAzTp+sNH9~IX*ll~w zL%Kdnt`F6J_?EGE*{N!-BgOb@n-1_jQ03za%o#E{z<4Ul zXbo&tdYxb1;Vn&aNlFm1onRtQ8K-5=_r^Vxa>H*w9dfE|@?lGp8V@z747+f8ZNjC! zWd!B8UmN(uGF^N-%_(Sl%z=*l7%aF>xn6YoK7}n&PIbcqSBG#m;QKWEW zCZjAD?*pDLz=~;jWx++iVIM#HJwmpTZm9bNoCj1NMmMFGW=Nl>uC8+-k8yUN zTf0oNoi;>igGiuZ$w-6P%Wfi1x%&N8y4O2Kw6W%&r(km!I||qkg8Zr@2n&ZjK{?2J z!!SATZCbC3VhA=G$};=-muWvGqanIqUmsikfUpKW6_s_-kVUjDV&(TE%QyM7qven+ zb_k90D;UZsu#oHQc>uM?ivPV=iPV7^*kT2Dg>_lTXiLoRLuTM-M#{h+|qU05*pby*cs6L+An-_Uz)?;*$oSG2&M)W6mKr!l@evZLH#Uha{{#gRok? zIgzK^b3&R`D3*QsVn{PJEAS@)xQyfqzEDO|R(7mC5zCZ9Yo|H|x|C|=sUJafLSC3X ze^HA^Q;U<2xs_-)0N7s#&-jKw<;XgR*j~yB!xvOr@Mb~)4AgxtFq>oVvi;{*ZO#)s zuhFlkxVaHDr~ACYKZ|4QXNX?}DqEve1>vbmsDHds3F8u@Ef&Uw2;c06;1y7&4+vTL zHuc@k*(S3y)M_UpgbOBkc(Lq3f!J6^K|afNDDU#N5V^$w0Xl{Z8-M=0qN3vF&L=<% zLCZzA6DjUP?Ed+~{gDeV2ol5368)=EQePTu+XzgK`<$Cze;A;Z{2Ew*q<+%x!uX)8 zQ~&|^F_vjeup`0kdr+tq`_o>68|iKjrxS?*nz}({e6fX^T+(9l z?{)sXukW5RkzYy=$SSbi;@A6y_^bhhKvj&?tclB#7(7#K9uSktb7#Cb^`iv z(#)hslDy-ft1kR*ZsEs1!pQoU6s^4mpP&#cIsVDj7E4q&{*A#CFdy{PBeA(ohFyd0 z#tQ>TuS%VA$pEzyPt82HD;01R-SG?Z5Blo{=#J^eo~c#?1VHN2UD_tl+>{AaVXPZ$ z=6pc0MIVZS;D&m_q+pZ)AU8D(2yvleCsbO(%-~+Y9>G8Ap$z2P+7S(%ts>SdkIUForN_XtyZWYeCRx#K$}!$_#sPs>kx`mWkl48cw?#iJ!0dp}dp4FJvh@#+qD zX9^gcyhX;=)NnmOr4`sJLHTfIfFD^RX;_bH&;vMW)+J5Bk_=6~lJecd$a2H8kITZ@ zd5CMn&-%FcYofI5D3tX!vEn7%@G$CQvhN5lP(e}PO8?CcA+`W04fo(Lo05PWW7x$A zqbn98;V5`GltixtSH5vy zF5|TN)^7XEV0CXmFUIeGxfXlLT#82`0kP=7iZ8l4DK3kw1**8#yF=(bsOV+Ih_G55 zH>1YW5KQ*fLBYEz%|)P1uqqmjZqKh~sPu9e-F0GQiPCJ4V3vM292+1~pCCFmrgSq9 z2@5acO`$G0S)^tG^5+tV=PFtP2{t?o?SRrnN}?XR+;-geN>u1GGVDU`pW{B@fRlR8 zk09}qn0B-aL{*F=e(S@;^d}M?R-_#;`dBBBdZC6n8fXEp=B@`<>Gr3%g0{7l-N@7; zcRuTmjLN8u$^Q{l;6NPHP%(;k1B0Aomsm6Q-=Xz)^ZoT8{*|$M0$yu^L@j(bfYm@Z zoVArCP^-+FxsIzq6Kq?jG0O&&7zw2XLe#U+mcoU4yj7?5R5wTR9v-c~GVDKc;mD$Y zC6dz|+YVG|R}@*@El7)!sa4){(bC~?1-1=XkD~MI*p5KyLe$$+pwuudJ^If!qnkaP zp^>e@@7b}Yw0=+JUp8fWUP9`4$i@p~&qPtaZSH3EX{HW(i#&Dtm>sC@ zjfhx?aIsIGG*Ja4hxYDF-7X9u^c?j6TwE_THUrgCA?jGy4-=qVGI9Ri+|Lcfgv^eS zI1Z4u2kb6*yg)&aaK)yFcvGm^t;6|8)qB5Cnk#rH;|2v&z)ligLV?o1wQvFgt=P|V z+AL9du>T0<_%ctsL6k-h#x1r~Q6yH*hFC#9ULgAU=8DlucQeZo{nQ~0s;NlkGtS!T zJx3(JKZy&$@c6H@0JvVq^neXLT!tKl1`!k8Mn-qxJU+c}IfphsF!_Z5ScSH&ur@Mx zv7xfzhyr9RXn$v(E5DFwX|+E8fL$y?gyzzaA_uf-p!|nA1-iW z@Zr(4G4CGAylRoUqjyA|t8wf$jo_s&6yJmRTdd)YJ`_MAw0><|sp+za8CCrrvP;?z z49Fy#ruyb&VyQrtO9k7k=}l8bYgVF)q{p8+#Kx3C07bETk@3|+%kxR6p4m`EX~U^Z zJPjIfb&(x#f0%beqAO*aQGG0yabo86yu3Shgb@mTUvhkqKvgR|%b3hID6+qjSG||` z^)K?F&tgJyQy%QiZ(-eR1pwdO&W4~{8oa`N`olX$XENX&TwIZct;+4Fp;B&VB77r6 z%ph^^B8xW*o9rux^1Jgz_+8Y@Fyeyp3)xIfw*hb0L2GS!^TaD+oXm|1%zJeYp$TrznBw@U%&m^#wwv?Jnn8>HyoetK zwhmO`zOgO^M_G|rPEM*QstNGlSIoiYfC`FCB>E+)D`P@DVkuJv&5m0#yezUU+`hT3 ze}n_H6}#1s<|6~<|Inj6VLWQ~;eE*nWk#+C_WNOY{-pV?^J89Sg(uaRP20m?%5sWp8`lCV|YZ()}ZxR8)bjtOFyaV<|ms_{J36af) zpUE*-Gp?r$+C;1qqdhTPmM+b=L`PIqn_|iko`ucvPR>%<_keN_e$mF5uA$9}2zWsO zlVshP{rON1S1EBlkn}eR+Cl;YuU)Js3P9oxhD0>|CZ@DZ`Dha7{I2_A%rdjv^sN`o zeZ^oW!+R{1r@$KFYS4fX*Iwp?1&=5Tpq1o6g?!gkF9Kvv{?suWNWid-Bn{w~V&kY^ zR1X4(t=)RGg%*22t6w*^sv;JDK>wPCjhsI*jA|L6qH_JUv-hPv|8uL#Z;$tw@4~ak zS$uARM|myN;$|lTAFd3%-F>uKaPfiW>Mtgu>M`H*eUG!BRa)uy4}F$B zoPW~$zu(S4h5kq&k!H*|G{v)@DCPLQS>m-m0!OC`7)n2dF)Q||>GPY+$fH&Ny^hfo zw_sJP5+<*|q6V1<8McLRvLHY|IbI|WR$LoKmB`l>MDoFbcArbi7PllE%%HeJr?IS> zJe){?$QgX|;|=rvnsncc8>3mc?SA@0QxEvj%c466&yLdY>G2Y&)A#dRSfSdJ_RtbB zB6t|1wAl!1y_An0>x!uk`h0*WF}zNqlbCfBqcs>-UBlU+6%qwE6Yhz;l#^QDSl0Jk zb$=sSlZCuNuyqB#lyXkNX8W7Z@4RwK2ZO5)iJ_rXM<*XQdOE@ijB1qDfOgZFoANbH z;=uV*=^_`>4q5m&xQFd*>BDo&5!=Ale*WXO-bX(-%`6HdyF5`^OmjjeQ_Tx8S|ra1 z$i0t3Db&hN^Cm(j1T_tG$&(jKyMJd?U{He~Tg6T4xVc;wvQfnEE+-R)DEILrf{gIa zw|q;*4s1UCNJbLpyPKroF#pX5vS_r*E5Y1Q`*`qOTzGF@FjFLyNRawluz2w(C?hi! zys$@f--{(v|NA7v#e)8drt`TY;2>R^ctkF}DdM4~^V#>76$PO7EpvBRll48-vtREG+^na3(0+f|j-HKb7B#FjExA9qm&7-+VZ z5JC-9V%}*dl`3W;!ZCfQ_`~-nZiPuu=__nbF+zFbX3oq4>j-PrIF7TpoBU>U+zJ7UExhV>zW^)t!teXEX}|Q{1J-?SdkNhj%AQ*wmu)g? zBIJ=nF2FtOk0OXc6dZTOR)=K(mQE8_<}`0h8;t}UWECwlJ;Bz1gls`|B~AndOcmE_xZXc;iAAZ%ISjOR`#3g=Z#LO z+HsO@TP%7W!{Mf;W8<~pH!r1NtR&hLYC(%CCO0NGhRL={348b!?cfOrK`AnAx7tA0 zbw3p!IWVD%8YlcO1uT}LijHyU9HWCbgI1=urN{s&;!u$A{+xb z?3wdOg3pZ8dPq)s=owT)#f<7yZ0EFsS@z4PJ$DTUBfX_C6gGM z0Vuu-dGYfcNs4z%4~I*9d3X?M1YDu{agQvE-)futmA-g9kp?-zELHTkgg{k_rdn;V zGb_}3Yo4H@6Gp@4(7qcPlYes^!3}S2)vj1{2rY+Zmx5~Zi)40*YiV;J^NN@((?3U) zR>9uAd-m?j@tM`?=x?4*S3u7bG3uDx){?p`3B+}rFQFOLX+Dlk3lQONGFG;4^XwWz(w38sV))4?MFuQ;VSLIX5La?`XWW)I6-|l7y}o~l>;pl zfA-4Mn=N%rQGXRPio}%u_CB~A#yu~Ff64Lj^lFV%~aT4!^-oh?g) z=YeCwJFUi{@to|0g@r#!Tc1KQXHlnCb)!P80yYWEQd=Vk>5(qLN338V&{8CK|HxDU z^$eodNN5QPpak;KY@6)?IwM@%6^}s$h%13aUJ5Jw(m|B=K}TOKkQ^{BEBhzy+2pci zsB`W!Zn$ssCpZUoSh}${E+Psrs;r7B-}y)65pP*XTK%62eASwP-M2e5pRzC00RDy#D4(d~Xdx`PM7&q14{#*m|A4 zVRkL0uUZWv5O2OMZ5a!SnX_lS8)jLbDKIfOG3c@e$S8$UH)`&G`Q4_4ZH`zJd8Bk-~|YD1;en* zx^4&u#$L~xq_$b7=#sAoo%nG>j+M4&Hq7pmJmk9)!E}0l=52Q!3Ol+N$xdRal@`Y- zGB}AyOXa%E>2Zs8q(9@(#OYeC(956SiqY2ed!F@_yd3IG^1;!yv&1VcmJU?GH}|bK z_svHUH?D|dxCt32OQ4MN{$4qD+nqFy@&E)KKa5UV+!cZa^WKwYxS)LJoy3% z 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 literal 0 HcmV?d00001 diff --git a/SoFii/Settings.cs b/SoFii/Settings.cs new file mode 100644 index 0000000..e15266e --- /dev/null +++ b/SoFii/Settings.cs @@ -0,0 +1,170 @@ +using Microsoft.Win32; +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; + +namespace SoFii { + public static class Settings { + public const string LAST_VERSION = "LastVersion"; + public const string GAME_PATH = "GamePath"; + public const string USE_DEFAULT_SERVER = "UseDefaultServer"; + public const string SERVER_ADDRESS = "ServerAddress"; + public const string CUSTOM_DNS_SERVERS = "CustomDNSServers"; + public const string PLAYER_NAME = "PlayerName"; + public const string GFX_FULLSCREEN = "GfxFullscreen"; + public const string GFX_MODE = "GfxMode"; + public const string IGNORE_NEW_VERSION = "IgnoreNewVersion"; + + public static int LastVersion { + get => Get(LAST_VERSION, 0); + set => Set(LAST_VERSION, value); + } + + public static string GamePath { + get => Get(GAME_PATH, string.Empty); + set => Set(GAME_PATH, value); + } + + public static bool UseDefaultServer { + get => Get(USE_DEFAULT_SERVER, true); + set => Set(USE_DEFAULT_SERVER, value); + } + + public static string ServerAddress { + get => Get(SERVER_ADDRESS, string.Empty); + set => Set(SERVER_ADDRESS, value); + } + + public static string[] CustomDNSServers { + get => Get(CUSTOM_DNS_SERVERS, string.Empty).Split(' '); + set { + if(value == null || value.Length < 1) + Remove(CUSTOM_DNS_SERVERS); + else + Set(CUSTOM_DNS_SERVERS, string.Join(" ", value)); + } + } + + public static string PlayerName { + get => Get(PLAYER_NAME, "Speler"); + set => Set(PLAYER_NAME, value); + } + + public static bool GfxFullscreen { + get => Get(GFX_FULLSCREEN, false); + set => Set(GFX_FULLSCREEN, value); + } + + public static int GfxMode { + get => Get(GFX_MODE, -1); + set => Set(GFX_MODE, value); + } + + public static int IgnoreNewVersion { + get => Get(IGNORE_NEW_VERSION, 0); + set => Set(IGNORE_NEW_VERSION, value); + } + + private const string ROOT = @"Software\flash.moe\SoFii"; + + private static RegistryKey GetRoot() { + RegistryKey root = Registry.CurrentUser.OpenSubKey(ROOT, true); + + if(root == null) + root = Registry.CurrentUser.CreateSubKey(ROOT); + + return root; + } + + public static T Get(string name, T fallback = default) { + try { + return (T)Convert.ChangeType(GetRoot().GetValue(name, fallback), typeof(T)); + } catch { + return fallback; + } + } + + public static string[] Get(string name, string[] fallback = null) { + if(!(GetRoot().GetValue(name, null) is byte[] buffer)) + return fallback; + + List strings = new List(); + + using(MemoryStream src = new MemoryStream(buffer)) + using(MemoryStream ms = new MemoryStream()) { + int b; + + for(; ; ) { + b = src.ReadByte(); + + if(b == -1) + break; + else if(b != 0) + ms.WriteByte((byte)b); + else { + strings.Add(Encoding.UTF8.GetString(ms.ToArray())); + ms.SetLength(0); + } + } + } + + return strings.ToArray(); + } + + public static bool Has(string name) { + try { + GetRoot().GetValueKind(name); + return true; + } catch { + return false; + } + } + + public static void Set(string name, object value) { + if(value == null) { + Remove(name); + return; + } + + switch(value) { + case bool b: + value = b ? 1 : 0; + break; + } + + GetRoot().SetValue(name, value); + } + + public static void Set(string name, string[] values) { + if(values == null || values.Length < 1) { + Remove(name); + return; + } + + using(MemoryStream ms = new MemoryStream()) { + foreach(string value in values) { + byte[] buffer = Encoding.UTF8.GetBytes(value); + ms.Write(buffer, 0, buffer.Length); + ms.WriteByte(0); + } + + GetRoot().SetValue(name, ms.ToArray(), RegistryValueKind.Binary); + } + } + + public static void SetDefault(string name, object value) { + if(!Has(name)) + Set(name, value); + } + + public static void SetDefault(string name, string[] value) { + if(!Has(name)) + Set(name, value); + } + + public static void Remove(string name) { + GetRoot().DeleteValue(name, false); + } + } +} diff --git a/SoFii/SoF2VideoMode.cs b/SoFii/SoF2VideoMode.cs new file mode 100644 index 0000000..999dfb6 --- /dev/null +++ b/SoFii/SoF2VideoMode.cs @@ -0,0 +1,26 @@ +namespace SoFii { + public readonly struct SoF2VideoMode { + public int Mode { get; } + public string Resolution { get; } + + public SoF2VideoMode(int mode, string res) { + Mode = mode; + Resolution = res; + } + + public override string ToString() { + return Resolution; + } + + public override bool Equals(object obj) { + if(obj is int num && num == Mode) + return true; + + return base.Equals(obj); + } + + public override int GetHashCode() { + return base.GetHashCode(); + } + } +} diff --git a/SoFii/SoFii.csproj b/SoFii/SoFii.csproj new file mode 100644 index 0000000..0e170e2 --- /dev/null +++ b/SoFii/SoFii.csproj @@ -0,0 +1,109 @@ + + + + + Debug + AnyCPU + {6026586C-8730-428A-8E61-E75568FF7185} + WinExe + SoFii + SoFii + v2.0 + 512 + true + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + Resources\logoproto.ico + + + + + + + + + + + + + + + + + Form + + + MainWindow.cs + + + + + True + True + Resources.resx + + + + + + + + False + .NET Framework 3.5 SP1 + true + + + + + MainWindow.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + + + + + + + + + \ No newline at end of file