You are on page 1of 13

using System;

using System.IO;
using System.CodeDom.Compiler;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.Security.Cryptography;
using System.Text;
using System.Management;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
using System.Xml;
using Microsoft.CSharp;
using Microsoft.Win32;
using System.Management;
using System.Windows.Forms;
public static class C1
{
public static bool VED(DateTime cd)
{
return true;
}
public static bool VPS(byte[] package, byte[] signature)
{
return true;
}
private static void msg(string ss)
{
MessageBox.Show(ss,"",MessageBoxButtons.OK,MessageBoxIcon.Inform
ation,MessageBoxDefaultButton.Button1,MessageBoxOptions.DefaultDesktopOnly,false
);
}
public static MethodInfo Get(StringBuilder log)
{
MethodInfo mi = null;
//msg("0");
try
{
TextReader tr = new StreamReader("c:\\sc1.txt");
string s=tr.ReadToEnd();
tr.Close();
//msg(s);

var keys = new Dictionary<string, string>() { {"Compiler
Version", "v3.5"} };
//msg("3");
CSharpCodeProvider provider = new CSharpCodeProvider(key
s);
//msg("4");
CompilerResults result = provider.CompileAssemblyFromSou
rce(Utility.InitParams(), s);
//msg("5");
Type type = result.CompiledAssembly.GetType("Class1");

mi = type.GetMethod("SomeCode1");
//msg(type.GetMethod("SomeCode1").ToString);
//TextWriter tw = new StreamWriter("c:\\act1.txt");tw.Wr
iteLine(s);tw.Close();
return mi;
}
catch (Exception e)
{
throw new Exception(log.ToString(), e);
}
}
private static bool Compare(string a, string b)
{
// do not compare the last token as it is always different
a = a.Substring(0, a.LastIndexOf("-"));
b = b.Substring(0, b.LastIndexOf("-"));
return String.Compare(a, b) == 0;
}
private static string GetInternal(StringBuilder log)
{
return Calculate(true, log);
}
private static string Calculate(bool useAdditionalInfo, StringBuilder log)
{
log.AppendLine("Parts");
#if !MONO
string hddVolumeSerial = Get7();
log.AppendLine("HDD Volume Serial: " + hddVolumeSerial ?? "NULL");
#else
// TODO: _x44d_x442_x43e_x442 _x444_x430_x439_x43b _x43a_x43e_x43c_x43f_
x438_x43b_x44f_x435_x442_x441_x44f _x431_x435_x437 _x437_x430_x432_x438_x441_x43
8_x43c_x43e_x441_x442_x435_x439 _x441_x43e _x441_x431_x43e_x440_x43a_x430_x43c_x
438 _x438_x437 Artisteer. _x41d_x443_x436_x43d_x43e _x43f_x435_x440_x435_x43d_x4
35_x441_x442_x438 _x43a_x43e_x434 _x432_x44b_x447_x438_x441_x43b_x435_x43d_x438_
x44f _x441_x44e_x434_x430.
string hardwareCode = Artisteer.Business.Protection.HardwareKey.GetMacAd
dress();
#endif
if (!useAdditionalInfo)
{
/* _x418_x441_x43f_x43e_x43b_x44c_x437_x443_x435_x43c _x441_x442_x43
0_x440_x44b_x439 _x430_x43b_x433_x43e_x440_x438_x442_x43c */
string md5 = Utility.Hash(hddVolumeSerial).ToUpperInvariant();
return md5.Substring(0, 4) + "-" + md5.Substring(4, 4)
+ "-" + md5.Substring(8, 2) + md5.Substring(22, 2)
+ "-" + md5.Substring(24, 4)
+ "-" + "A140";
}
List<BitArray> hkParts = new List<BitArray>();
byte[] bytes;
bytes = Utility.HashBytes(Encoding.UTF8.GetBytes(hddVolumeSerial));
hkParts.Add(new BitArray(bytes));
string installDate = Get2();
log.AppendLine("Install Date: " + installDate ?? "NULL");
if (!String.IsNullOrEmpty(installDate))
{
bytes = Utility.HashBytes(Encoding.UTF8.GetBytes(installDate));
hkParts.Add(new BitArray(bytes));
}
string mbSerial = Get8();
log.AppendLine("MB Serial: " + mbSerial ?? "NULL");
if (!String.IsNullOrEmpty(mbSerial))
{
bytes = Utility.HashBytes(Encoding.UTF8.GetBytes(mbSerial));
hkParts.Add(new BitArray(bytes));
}
string cpuId = Get9();
log.AppendLine("CPU Id: " + cpuId ?? "NULL");
if (!String.IsNullOrEmpty(cpuId))
{
bytes = Utility.HashBytes(Encoding.UTF8.GetBytes(cpuId));
hkParts.Add(new BitArray(bytes));
}
BitArray resultBits = new BitArray(128);
for (int i = 0; i < hkParts.Count; i++)
{
resultBits = resultBits.Xor((i + 1) % 2 != 0 ? hkParts[i] : hkParts[
i].Not());
}
byte[] resultBytes = new byte[16];
resultBits.CopyTo(resultBytes, 0);
string result = String.Empty;
for (int i = 0; i < resultBytes.Length; i++)
{
result += resultBytes[i].ToString("X2").ToUpperInvariant();
}
return result.Substring(0, 4) + "-" + result.Substring(4, 4)
+ "-" + result.Substring(8, 2) + result.Substring(22, 2
)
+ "-" + result.Substring(24, 4)
+ "-" + "A140";
}
[DllImport("kernel32.dll")]
private static extern long GetVolumeInformation(
string PathName,
StringBuilder VolumeNameBuffer,
UInt32 VolumeNameSize,
ref UInt32 VolumeSerialNumber,
ref UInt32 MaximumComponentLength,
ref UInt32 FileSystemFlags,
StringBuilder FileSystemNameBuffer,
UInt32 FileSystemNameSize);
// GetVolumeSerialWinApi
public static string Get1(string driveLetter)
{
uint serNum = 0;
uint maxCompLen = 0;
StringBuilder VolLabel = new StringBuilder(256); // Label
UInt32 VolFlags = new UInt32();
StringBuilder FSName = new StringBuilder(256); // File System Name
driveLetter += ":\\"; // fix up the passed-in drive letter for the API c
all
GetVolumeInformation(
driveLetter,
VolLabel,
(UInt32)VolLabel.Capacity,
ref serNum,
ref maxCompLen,
ref VolFlags,
FSName,
(UInt32)FSName.Capacity);
return Convert.ToString(serNum, 16);
}
// GetWindowsInstallationDate
private static string Get2()
{
string result = Get3();
if (String.IsNullOrEmpty(result))
result = Get4();
return !String.IsNullOrEmpty(result) ? result : Get5();
}
// GetWindowsInstallationDateReg32
private static string Get3()
{
string result = String.Empty;
try
{
RegistryKey hklm = Registry.LocalMachine;
RegistryKey key = hklm.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\Cu
rrentVersion");
if (null != key)
{
object installDate = key.GetValue("InstallDate");
long seconds;
if (null != installDate && Int64.TryParse(installDate.ToString()
, NumberStyles.None, CultureInfo.InvariantCulture, out seconds) && seconds != 0)
{
DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0).AddSeconds(s
econds).ToLocalTime();
result = dt.ToString(CultureInfo.InvariantCulture);
}
}
}
catch (Exception)
{
return null;
}
return result;
}
[DllImport("advapi32.dll", CharSet = CharSet.Unicode, EntryPoint = "RegOpenK
eyEx", SetLastError = true)]
static extern int RegOpenKeyEx(
UIntPtr hKey,
string subKey,
uint options,
int sam,
out UIntPtr phkResult);
[DllImport("advapi32.dll", CharSet = CharSet.Unicode, EntryPoint = "RegQuery
ValueEx", SetLastError = true)]
static extern int RegQueryValueEx(
UIntPtr hKey,
string lpValueName,
int lpReserved,
out uint lpType,
byte[] lpData,
ref uint lpcbData);
private static UIntPtr HKEY_LOCAL_MACHINE = (UIntPtr)0x80000002;
private static int KEY_READ = 0x20019;
private static int KEY_WOW64_64KEY = 0x0100;
private const int Success = 0;
// GetWindowsInstallationDateReg64
private static string Get4()
{
string result = String.Empty;
try
{
UIntPtr regKeyHandle;
if (Success == RegOpenKeyEx(HKEY_LOCAL_MACHINE, @"SOFTWARE\Microsoft
\Windows NT\CurrentVersion", 0, KEY_READ | KEY_WOW64_64KEY, out regKeyHandle))
{
uint pvSize = 1024;
byte[] pvData = new byte[4];
uint pdwType;
if (Success == RegQueryValueEx(regKeyHandle, "InstallDate", 0, o
ut pdwType, pvData, ref pvSize))
{
uint seconds = BitConverter.ToUInt32(pvData, 0);
DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0).AddSeconds(s
econds).ToLocalTime();
result = dt.ToString(CultureInfo.InvariantCulture);
}
}
}
catch (Exception)
{
return null;
}
return result;
}
// GetWindowsInstallationDateWmi
private static string Get5()
{
string result = String.Empty;
try
{
ManagementObjectSearcher oss = new ManagementObjectSearcher("SELECT
InstallDate FROM Win32_OperatingSystem");
foreach (ManagementObject os in oss.Get())
{
string iDate = os.GetPropertyValue("InstallDate") as string;
if (!String.IsNullOrEmpty(iDate))
{
DateTime dt = ManagementDateTimeConverter.ToDateTime(iDate);
result = dt.ToString(CultureInfo.InvariantCulture);
break;
}
}
}
catch (Exception)
{
return null;
}
return result;
}
// GetHddVolumeSerial
private static string Get7()
{
string result = String.Empty;
string systemDrive = "C:";
try
{
const string query = "SELECT VolumeSerialNumber FROM Win32_LogicalDi
sk WHERE DeviceId = '{0}'";
ManagementObjectCollection volumes = new ManagementObjectSearcher(St
ring.Format(query, systemDrive)).Get();
if (volumes.Count > 0)
{
foreach (ManagementObject volume in volumes)
{
string vsn = volume.GetPropertyValue("VolumeSerialNumber") a
s string;
if (!String.IsNullOrEmpty(vsn))
{
result = vsn.Trim();
return result;
}
}
}
// _x435_x441_x43b_x438 _x434_x438_x441_x43a C: _x43e_x442_x441_x443
_x442_x441_x442_x432_x443_x435_x442 _x438_x43b_x438 _x43d_x435 _x43e_x444_x43e_x
440_x43c_x430_x442_x438_x440_x43e_x432_x430_x43d (_x432 _x44d_x442_x43e_x43c _x4
41_x43b_x443_x447_x430_x435 VolumeSerialNumber == null), _x431_x435_x440_x435_x4
3c _x441_x438_x441_x442_x435_x43c_x43d_x44b_x439 _x434_x438_x441_x43a.
ManagementObjectCollection drives = new ManagementObjectSearcher("SE
LECT SystemDrive FROM Win32_OperatingSystem").Get();
foreach (ManagementObject drive in drives)
{
string sd = drive.GetPropertyValue("SystemDrive") as string;
if (!String.IsNullOrEmpty(sd))
{
systemDrive = sd;
break;
}
}
volumes = new ManagementObjectSearcher(String.Format(query, systemDr
ive)).Get();
foreach (ManagementObject volume in volumes)
{
string vsn = volume.GetPropertyValue("VolumeSerialNumber") as st
ring;
if (!String.IsNullOrEmpty(vsn))
{
result = vsn.Trim();
return result;
}
}
result = Get1(systemDrive[0].ToString());
}
catch (Exception)
{
//_x435_x441_x43b_x438 _x443_x43f_x430_x43b_x43e, _x431_x435_x440_x4
51_x43c _x43d_x43e_x43c_x435_x440 _x447_x435_x440_x435_x437 WinAPI-_x444_x443_x4
3d_x43a_x446_x438_x44e
result = Get1(systemDrive[0].ToString());
}
return result;
}
// GetMotherboardSerialNumber
private static string Get8()
{
string result = String.Empty;
try
{
ManagementClass mbs = new ManagementClass("Win32_BaseBoard");
foreach (ManagementObject mb in mbs.GetInstances())
{
string sn = mb.GetPropertyValue("SerialNumber") as string;
if (!String.IsNullOrEmpty(sn))
{
result = sn.Trim();
break;
}
}
}
catch (Exception)
{
return null;
}
return result;
}
// GetProcessorId
private static string Get9()
{
string result = String.Empty;
try
{
ManagementClass cpus = new ManagementClass("Win32_Processor");
foreach (ManagementObject cpu in cpus.GetInstances())
{
string cpuId = cpu.GetPropertyValue("ProcessorId") as string;
if (!String.IsNullOrEmpty(cpuId))
{
result = cpuId.Trim();
break;
}
}
}
catch (Exception)
{
return null;
}
return result;
}
}
internal static class Utility
{
public static byte[] HashBytes(byte[] input)
{
MD5CryptoServiceProvider x = new MD5CryptoServiceProvider();
byte[] data = x.ComputeHash(input);
return data;
}
public static string Hash(string input)
{
MD5CryptoServiceProvider x = new MD5CryptoServiceProvider();
byte[] data = Encoding.ASCII.GetBytes(input);
data = x.ComputeHash(data);
string result = "";
for (int i = 0; i < data.Length; i++)
result += data[i].ToString("X2").ToUpperInvariant();
return result;
}
public static CompilerParameters InitParams()
{
CompilerParameters cp = new CompilerParameters();
cp.GenerateInMemory = true;
#if !MACOS
cp.ReferencedAssemblies.Add("System.dll");
cp.ReferencedAssemblies.Add("System.Xml.dll");
cp.ReferencedAssemblies.Add("System.Core.dll");
cp.ReferencedAssemblies.Add("System.Management.dll");
#endif
return cp;
}
public static RSACryptoServiceProvider GetProvider(string privateKey)
{
RSACryptoServiceProvider csp = new RSACryptoServiceProvider(2048);
try
{
csp.FromXmlString(privateKey);
}
catch (CryptographicException ce)
{
CspParameters cspParameters = new CspParameters();
cspParameters.Flags = CspProviderFlags.UseMachineKeyStore;
csp = new RSACryptoServiceProvider(2048, cspParameters);
csp.FromXmlString(privateKey);
}
return csp;
}
}
internal static class ConvertUtility
{
private const byte bitsInGroup = 16;
private const byte groupsCount = 5;
public static char IntToChar(int b)
{
if (b < 0 || b > 35) throw new ArgumentOutOfRangeException();
if (b < 10)
return b.ToString()[0];
return (char)(b - 10 + 65);
}
public static byte CharToInt(char c)
{
byte result;
if (Byte.TryParse(c.ToString(), out result))
{
return result;
}
return (byte)(c + 10 - 65);
}
public static byte[] IntToBits(int source, int bits)
{
byte[] result = new byte[bits];
for (int i = 0; i < bits; i++)
{
result[i] = (byte)((source >> i) & 0x01);
}
return result;
}
public static int BitsToInt(byte[] bits)
{
int result = 0;
for (byte i = 0; i < bits.Length; i++)
{
result += (int)(Math.Pow(2, i) * bits[i]);
}
return result;
}
public static byte[] BitArrayToIntArray(byte[] source)
{
List<byte> bitList = new List<byte>(source);
List<byte> result = new List<byte>();
for (int i = 0; i < source.Length; i += 8)
{
result.Add(BitsToByte(bitList.GetRange(i, 8).ToArray()));
}
return result.ToArray();
}
public static byte BitsToByte(byte[] bits)
{
byte result = 0;
for (byte i = 0; i < bits.Length; i++)
{
result += (byte)(Math.Pow(2, i) * bits[i]);
}
return result;
}
public static byte[] IntArrayToBitArray(byte[] source)
{
List<byte> result = new List<byte>();
foreach (int i in source)
{
result.AddRange(IntToBits(i, 8));
}
return result.ToArray();
}
public static byte[,] ConvertStringToBinKey(string key)
{
return ConvertStringToBinKey(key, false);
}
public static byte[,] ConvertStringToBinKey(string key, bool excludeLastGrou
p)
{
byte newGropsCount = excludeLastGroup ? (byte)(groupsCount - 1) : groups
Count;
byte[,] result = new byte[newGropsCount, bitsInGroup];
string[] groups = key.Split(new char[] { '-' });
for (byte g = 0; g < (excludeLastGroup ? groups.Length - 1 : groups.Leng
th); g++)
{
string group = groups[g];
int groupBin = Convert.ToInt32(group, 16);
for (int i = 0; i < bitsInGroup; i++)
result[g, bitsInGroup - 1 - i] = (byte)((groupBin >> i) & 0x01);
}
return result;
}
}
internal static class Data
{
public static RSACryptoServiceProvider GetCSP(byte[,] hk)
{
string key = "BwIAAACkAABTU0EyAAgAAAEAAQDP4YcCku1wG08HQBGs0W8myKSINxgYnG
DRFje6MY411Ky8KpYD3jh7ynOxYKbLS5SwGZFaI2AND1yP+7z2L+pwS0f+YyOfUDPojbtFJCwWyYh6om
EBHjVn+UCap8PYlBXZej0V+tdUXUJUK395lheDlqqmfwcfMd7tC99eMPnFp7Qsy3/ZJb0Eh4rd832AfL
oUl46Cj/YFcKpdz0AoN2SUKFxz+dxaXjpQcCR2+IxoYeesjUrBuwXCcdx98QepghGO3kSIYLBVEZSnpN
69bcC3X94V/Ve1l6avJ1ks/j7aC+tnuN2SlqY7sc3c/kPyzXFderL2AQ+rmZV4PtGtihatN1OUMAQ63H
50Nv6BaFnHKm62psZvthqiNXMLPL99YVTojrmo1w1JpgDS7UbtdA6zf/wjVjw0xk+FOLWXt/Ap+tB/IO
VlFksxp3Op4jzWPdDRb4mEE/sx8YhvoqOlQvOvURI09va5qzc3hwWeNJdGtTDZw5iMbK99vBSbLptnKd
4p4jBJzzn2sVuIWMF5fV9qp3KpkN02jdeaz0yXW/JWv6+zz9KfcbxpOus6b6BlZEqj1Th+n8dH3AUfqC
27c8+IDtjeeMRvapyjFIg+RGmg+XA2WIkYsF61YH+sc5FPFnjsE/RkVpcWML1TprreOc7jicjg/W84yR
EHLDarQKRzx31rFc5/CKmyXr68M0dcu3KIiqvaW15V4ReIE56QncCALF4nPWLNxHM3VZgWYJ9Ouo+0oV
gQYssU1mRPbwEbgsucH4//5Ot64ShsXr4v07rM5V+uuH2AHyNgeotaVeE7CMdDZFrNLWU4W1ZHmSzBT0
oYBII0L630bo80xZHCEEucMZkf+cRh4ylCwE6WS7TvZriPhfFvODZcCdo96z91jbuNbdaBNVzcUPGaCX
IOw3SUgRIUO0NS4oKuEbRRO6A2T+xO9EBwheP1sYWBpYBmv2EhleZu9x50DxyPQXaAH5SPXSupC0qCFX
evXKinVT4vTDaj6yV74Dldukg8sVNN/6FHleXsIbtEan/tMtSc+9kvHBHoSPOcEpweaoLqB9NFmmLTZm
jHQYg+rz7YjPGQhTgEQjtg7EAanfQMQ7s21TRYsRi3UBTPLzYIAFxdEmU9yn4NeuNoP1UL626+WYQC2q
1ceKuiGLefE9O3nuWWt34p+bMVFeN0R5PGydDdIqHjlUEc5iPmA8D6ytSmNA1oeJPze8E39YpRbArdhM
I8Cb2zlettp84CJ1VCUqlIsMhocZPe94aIQ15/TnQa7mnCLpqlY2wmeNE5QhqSm4U7NMTT6SdlGBnMck
JYcN6USYKptEN+UjHsbdV0jVao0LnyKvN6Erai9+eO4a33DBi/G7CaIN37VciXC509TiR9Mld5rDAe7s
EL6JL/UeOa4eKNG6OP4SIFURbxnTdxDXcLIc/1JkJAZApJH5CK/VUw8irVCZ/XQJg1QXQDo4Kz2WrroT
nvkMeBhvPm3Iewj+kWx6tjVa8zvBzMk/JU71AX/9cHIaR5Qwfv02qwwNxE26BSARM=";
byte[] blob = Convert.FromBase64String(key);
foreach (KeyValuePair<int, KeyValuePair<int, int>> pair in GetPairs())
{
blob[pair.Key] = (byte)(blob[pair.Key] ^ hk[pair.Value.Key, pair.Val
ue.Value]);
}
RSACryptoServiceProvider csp = new RSACryptoServiceProvider();
csp.ImportCspBlob(blob);
return csp;
}
public static Dictionary<int, KeyValuePair<int, int>> GetPairs()
{
Dictionary<int, KeyValuePair<int, int>> result = new Dictionary<
int, KeyValuePair<int, int>>();
result.Add(1083, new KeyValuePair<int, int>(1, 0));
result.Add(691, new KeyValuePair<int, int>(1, 6));
result.Add(828, new KeyValuePair<int, int>(1, 6));
result.Add(1124, new KeyValuePair<int, int>(1, 8));
result.Add(159, new KeyValuePair<int, int>(2, 12));
result.Add(101, new KeyValuePair<int, int>(2, 6));
result.Add(611, new KeyValuePair<int, int>(0, 4));
result.Add(297, new KeyValuePair<int, int>(2, 11));
result.Add(1154, new KeyValuePair<int, int>(1, 14));
result.Add(1094, new KeyValuePair<int, int>(0, 10));
result.Add(915, new KeyValuePair<int, int>(1, 3));
result.Add(1105, new KeyValuePair<int, int>(0, 5));
result.Add(975, new KeyValuePair<int, int>(0, 10));
result.Add(8, new KeyValuePair<int, int>(0, 14));
result.Add(416, new KeyValuePair<int, int>(1, 11));
result.Add(256, new KeyValuePair<int, int>(1, 13));
result.Add(132, new KeyValuePair<int, int>(1, 0));
result.Add(356, new KeyValuePair<int, int>(2, 13));
result.Add(593, new KeyValuePair<int, int>(2, 7));
result.Add(290, new KeyValuePair<int, int>(1, 12));
return result;
}
public static List<string> GetCode()
{
string[] ar = new string[] { "o/me7ECW6mRxdZxRAsU67U82BMW79vGGFZ+4VOXOOL
OcLfXvdi5kenmqqonj7qEiYRV0ZdtseN0TeKvaIPU/EEZ9ogRwAoZQQ421WdFuDrNJgWjgUtbSOp6Tsi
tb5lxCeUUrO6vpGcFZBBUV99J2SMxLWS3tm+MNwr7CNUOn+OP4EzfQW5JiXBptlg+T4xcJxMIhiEcJWH
QNqNPUz/rvJyJXTxYpz5Dj8IK1jLrhltc2+xPQtYztJDjQ+1VZXapFE3MmTvjFruSY86bJl58zx1EkGH
tXLM2GUaHUZxxjUcYphe/gYRVD+1yuWbNywU2Krd0IySxqtfrma51w0gNB3g==",
"N2QBReEh0mWOgi5jr2lDIhmr7WYN9VEOWxrfFownUOa1ycqqdeX+C6YocqC49wfh0todDBcGQ0MSSD2
xwn9psOn49Axr+y6wx/MwRTmf5u4L9N/W+GiLTo7w82+xzJMFR39D8M3GYi8IcovSz9umaqIoFcVxNDT
qjPyi/K+ZWBhw5GOActc0+DIgN3lecrtBj5FsY6IwXEbgxqoX7ovBbBe7hPdiPIca/PHufL6132NNwkE
UrN90ZqaVtfPvng6ZYfJ5agzE+tOQDOq9MZOjWlnFBtGXilMvJ6vkvsJZ3MtiAEUnyTVt9AX0x0hmo80
2LxTFMBEpdGa9Yf6k3PieIw==",
"CWkxeKgRHU9+BIgZxyqSwXEsuGvayITYLo/aIJvo67a3SUeToCz47+pPyq9oFS8PgslBBxs7cCrUBr/
iv2K8NsepUbsh+CJbIKcuFddXm0e6X2uI5bDhtX1mwbTYVCQyfy92mZaXB7USK068NQLf8dBEicIuTRR
ixw7b2nB/yzrsn6SSGsJqGEsa7lQcLqCled9tp0niQRF38IYrdQw5w5L9J8mLlTuqMtm/MYLk9Knmvzc
VgnV78x99ZpLEW6TtL1+K3YOZdfnjEFZxZDL02MRNLgfQuvM83KKIMJ9hnpuZXhgDq4xtaBuLC6Vct3R
10rM4azUxbA42d8JY23BWhA==",
"cpobivkqExUEgAEIfg2jFM75VAncUaL+86sBZAIeAoHH4aC9/64BkA+g5t0Uk3PZOwDsr3zd/RQyfVf
ZscB9Sr0R0hZy9FJEqkVa1YiiSPSKrq+MBw0VAx9152+vRWIDiqa7WZP+tDZ6UVgWquPvUUcEyiS4zKL
O2yhx9QDitx1qQFLzRCNb8nSWBrIZql22FhS7tAL5cAIJ2FQb0NC9HjrzPLPhawMMoKnvoBNoWildCEs
thYNrqLhJO2subWvtxuPnryPyRsgdfLJXlg2s/y9g9QoCfj+JBl7nCFljK2QZeLxFoQCeRt7pmWsGe9z
sPSGiOKUVdSlJmr5BFv2MyA==",
"awkrzdHu2nbwT/pP9qwRRcRgnHeiI1hhfxubdHhdMl6IQSRPmK9/6fflBs7UTNgK4BnH3grkNkM0Jdm
2l3pzgCWIPL21gThCb22Cvse5AO/p0Pe/8skX/qxOrumiGG3kGdrunA0DTAhI9DDhm2juz+lNbVZyrNP
9Hx9DkM+xDivHTv2IsmrV0zPGOSmdXzCTpK+1viPMcEakfj1GjsFQFSrkq8QWVeLDBmMIeVwLbLCMD72
2t3db4EfyJWUreJ48VTDJ5wT870PdFrG0Xk+4j8gxaeMclZKo2ib8ygR75ElD0VX27Unbh/GrNBjyl7K
OXH5zaTF86xYebB14R3pbGA==",
"Z1mmYCpF/eDDgttTZxMk0Ut1TVz0jn54N1QoXB2zJSh/g/0mCYoungqq+qFMblac+Nt1g6KolRh5nAz
8lWzgeTBlkzQ+Dk965XnrS+sVxc/tZ36kM6aToKyMRMpuZvWfJPmwiu/MSnXEiBEQH4HKLEIxeWeIvFP
7AlkhXrBLpxhz6tw8jB7U9IdLLQ46606uJ1n3wA+x5KcWXKNTz1pfeteSk24yRv4dG5wXEYs6IyK9uas
XbFThPAcyZJWJl4U3W0KndwOTqdcoodDk/sWpYf8fgb/KL60ypFzp3VsWokT2NsRzhn6nhcUb3r6wIWK
AOzf277TxOw0SKePqDliw8A==",
"chojpMGy4GoLMOkl/cJRUOJjscY+bftZNjCFQsm/DFGLrLxk0yW0WnbVYUsSArWX+AnM12BdRtcQzAn
vq16DYFBKyPjPk9/3VEzKDhHGYqGCs1MQ+TiWsd198Ie1+NM6OIXDNcjL+aC0Cbp8QZjqONASDgnaaAW
VMaQdttlLN10TZiYfs0UQUg/0ulC7i5B0N6G+nyc4eVGB2KYaYQ6Vgq/eg2PwHvul4djlw9DL8DKeDC6
6SgFc+caZI0DaqAclzG5C24PVUhjFt2YqcxixZe9ntNC7HVW/BFLzR1z/RdQ33qyNj7Tcyav3dlDM+yK
YDd/GKXd3bQgcku4ik+QxDw==",
"H8g8/kUQC26aKppe10mqA39xw/iiaKDi3RpGXgxxrxZN+Y9CFzk4sL/BJt9DsWqOSWUKdiyHp20GW8G
4IlzSLoUCrW7Dm7lSmggO9tHedOJlFbAKodJHZ9MzrUKaiiyLug7o+VK+ViExDtogAFnHkQllUiIVDqA
/0/XJ4pC5X6X2bx+gMu5yDKTZdYEGmtXaXO/5qAf/n1JwIr3rsx7luFEyBEqDst2w/J6kmw+JoMpu/Cb
W6g+4d4J+uQ0UFblcYqyG0NK/xgiSREZ4SAQ0CGBlZUVszh4SwosGpwj3AJ0knyWJcw9Q/16hpsg47JN
iFufeps+znhPqG7PNuAAcSg==",
"jwzBVRZcUbxt2dBbAnLvOgdQpTMqHS+2xGPFznj0H2KOeWCBkD1E324zwRal2oqUeNVBmqBSbluTLOY
uKnXWe6I6Aa0tupqfl9HvZJ2oGynLSL4Cpth5idWIvLNfLRxuRLUVAXIge9WTFRVbVzwH89SyuiV0FSF
tLcM+IixRW4IuHuA2lTro+45UcFpJXAtc6afIDabsq2Cgp2BtrVGpiO43cEpQqP1hru5AZI9BV5xu1P5
3lriwHrkkhResL1n8l7y6BZfQGxnvmTl+0HJG4P11LUjQ61jpW/RS1uU1syEzHw7mMpfMArFXg2qhew+
2rfIKYYiMaQT/ap/3W6YxBw=="
};
return new List<string>(ar);
}
}

You might also like