Did good stuff
This commit is contained in:
parent
19673cb07b
commit
87d65cbf9e
|
@ -17,6 +17,7 @@ namespace DML.Application.Classes
|
|||
public ulong ChannelId { get; set; }
|
||||
public double KnownTimestamp { get; set; } = 0;
|
||||
private double StopTimestamp { get; set; } = 0;
|
||||
private bool IsValid { get; set; } = true;
|
||||
|
||||
internal void Store()
|
||||
{
|
||||
|
@ -95,6 +96,9 @@ namespace DML.Application.Classes
|
|||
|
||||
foreach (var m in messages)
|
||||
{
|
||||
if (!IsValid)
|
||||
return null;
|
||||
|
||||
Debug($"Processing message {m.Id}");
|
||||
if (m.Id < lastId)
|
||||
{
|
||||
|
@ -128,14 +132,22 @@ namespace DML.Application.Classes
|
|||
Trace("Sorting messages...");
|
||||
result.Sort((a, b) => DateTime.Compare(a.Timestamp, b.Timestamp));
|
||||
|
||||
Trace("Updating StopTimestamp for next scan...");
|
||||
StopTimestamp = SweetUtils.DateTimeToUnixTimeStamp(result[result.Count - 1].Timestamp);
|
||||
if (result.Count > 0)
|
||||
{
|
||||
Trace("Updating StopTimestamp for next scan...");
|
||||
StopTimestamp = SweetUtils.DateTimeToUnixTimeStamp(result[result.Count - 1].Timestamp);
|
||||
}
|
||||
|
||||
Debug($"Fisnished scan of guild {GuildId} channel {ChannelId}.");
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
internal void Stop()
|
||||
{
|
||||
IsValid = false;
|
||||
}
|
||||
|
||||
internal static IEnumerable<Job> RestoreJobs()
|
||||
{
|
||||
Debug("Restoring jobs...");
|
||||
|
|
|
@ -95,8 +95,10 @@ namespace DML.Application.Classes
|
|||
while (Run)
|
||||
{
|
||||
Debug("Entering job list handler loop...");
|
||||
foreach (var job in JobList)
|
||||
//foreach (var job in JobList)
|
||||
for(var i = JobList.Count-1;i>=0;i--)
|
||||
{
|
||||
var job = JobList[i];
|
||||
Debug($"Checking job {job}");
|
||||
var hasJob = false;
|
||||
|
||||
|
@ -124,6 +126,9 @@ namespace DML.Application.Classes
|
|||
Trace("Issuing job message scan...");
|
||||
var messages = await job.Scan();
|
||||
|
||||
if(messages==null)
|
||||
continue;
|
||||
|
||||
Trace($"Adding {messages.Count} messages to queue...");
|
||||
foreach (var msg in messages)
|
||||
{
|
||||
|
@ -216,13 +221,22 @@ namespace DML.Application.Classes
|
|||
var fileName = Path.Combine(Core.Settings.OperatingFolder, Core.Settings.FileNameScheme);
|
||||
|
||||
Trace("Replacing filename placeholders...");
|
||||
|
||||
var extensionRequired = !fileName.EndsWith("%name%");
|
||||
|
||||
fileName =
|
||||
fileName.Replace("%guild%", message.Server.Name)
|
||||
.Replace("%channel%", message.Channel.Name)
|
||||
.Replace("%timestamp%", SweetUtils.DateTimeToUnixTimeStamp(message.Timestamp).ToString())
|
||||
.Replace("%name%", a.Filename);
|
||||
.Replace("%name%", a.Filename)
|
||||
.Replace("%id%", a.Id);
|
||||
|
||||
if (extensionRequired)
|
||||
fileName += Path.GetExtension(a.Filename);
|
||||
|
||||
Trace($"Detemined file name: {fileName}.");
|
||||
|
||||
|
||||
if (File.Exists(fileName) && new FileInfo(fileName).Length == a.Size)
|
||||
{
|
||||
Debug($"{fileName} already existing with its estimated size. Skipping...");
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace DML.Application.Classes
|
|||
public bool SavePassword { get; set; } = false;
|
||||
public LogLevel ApplicactionLogLevel { get; set; } = LogLevel.Info | LogLevel.Warn | LogLevel.Error;
|
||||
public string OperatingFolder { get; set; }
|
||||
public string FileNameScheme { get; set; } = @"%guild%\%channel%\%guild%_%channel%_%timestamp%_%name%";
|
||||
public string FileNameScheme { get; set; } = @"%guild%\%channel%\%id%";
|
||||
public bool SkipExistingFiles { get; set; } = true;
|
||||
public int ThreadLimit { get; set; } = 50;
|
||||
|
||||
|
|
|
@ -32,6 +32,10 @@ namespace DML.Application
|
|||
{
|
||||
try
|
||||
{
|
||||
var splash = new FrmInternalSplash();
|
||||
splash.Show();
|
||||
System.Windows.Forms.Application.DoEvents();
|
||||
|
||||
Info("Starting up Discord Media Loader application...");
|
||||
var useTrace = false;
|
||||
#if DEBUG
|
||||
|
@ -188,6 +192,8 @@ namespace DML.Application
|
|||
}
|
||||
}
|
||||
|
||||
splash.Close();
|
||||
|
||||
Info("Starting scheduler...");
|
||||
Scheduler.Start();
|
||||
|
||||
|
|
|
@ -84,6 +84,12 @@
|
|||
<Compile Include="Dialogs\LoginDialog.Designer.cs">
|
||||
<DependentUpon>LoginDialog.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FrmInternalSplash.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmInternalSplash.Designer.cs">
|
||||
<DependentUpon>FrmInternalSplash.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MainForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -91,14 +97,26 @@
|
|||
<DependentUpon>MainForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Dialogs\LoginDialog.resx">
|
||||
<DependentUpon>LoginDialog.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmInternalSplash.resx">
|
||||
<DependentUpon>FrmInternalSplash.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MainForm.resx">
|
||||
<DependentUpon>MainForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
|
@ -109,6 +127,9 @@
|
|||
<Name>SweetLib</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Serraniel-Logo4-NO-BG.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
80
Discord Media Loader.Application/FrmInternalSplash.Designer.cs
generated
Normal file
80
Discord Media Loader.Application/FrmInternalSplash.Designer.cs
generated
Normal file
|
@ -0,0 +1,80 @@
|
|||
namespace DML.Application
|
||||
{
|
||||
partial class FrmInternalSplash
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmInternalSplash));
|
||||
this.lblName = new System.Windows.Forms.Label();
|
||||
this.pbLogo = new System.Windows.Forms.PictureBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLogo)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// lblName
|
||||
//
|
||||
this.lblName.Font = new System.Drawing.Font("Microsoft Sans Serif", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lblName.Location = new System.Drawing.Point(11, 129);
|
||||
this.lblName.Name = "lblName";
|
||||
this.lblName.Size = new System.Drawing.Size(379, 35);
|
||||
this.lblName.TabIndex = 3;
|
||||
this.lblName.Text = "Discord Media Loader";
|
||||
this.lblName.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// pbLogo
|
||||
//
|
||||
this.pbLogo.Image = global::DML.Application.Properties.Resources.Serraniel_Logo4_NO_BG;
|
||||
this.pbLogo.Location = new System.Drawing.Point(14, 10);
|
||||
this.pbLogo.Name = "pbLogo";
|
||||
this.pbLogo.Size = new System.Drawing.Size(376, 116);
|
||||
this.pbLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.pbLogo.TabIndex = 2;
|
||||
this.pbLogo.TabStop = false;
|
||||
//
|
||||
// FrmInternalSplash
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.White;
|
||||
this.ClientSize = new System.Drawing.Size(400, 175);
|
||||
this.Controls.Add(this.lblName);
|
||||
this.Controls.Add(this.pbLogo);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "FrmInternalSplash";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Discord Media Loader";
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLogo)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label lblName;
|
||||
private System.Windows.Forms.PictureBox pbLogo;
|
||||
}
|
||||
}
|
20
Discord Media Loader.Application/FrmInternalSplash.cs
Normal file
20
Discord Media Loader.Application/FrmInternalSplash.cs
Normal file
|
@ -0,0 +1,20 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DML.Application
|
||||
{
|
||||
public partial class FrmInternalSplash : Form
|
||||
{
|
||||
public FrmInternalSplash()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
408
Discord Media Loader.Application/FrmInternalSplash.resx
Normal file
408
Discord Media Loader.Application/FrmInternalSplash.resx
Normal file
|
@ -0,0 +1,408 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8b////VP///3////+m////zP//
|
||||
/+T////1//////////r////u////3f///8z///+m////f////1T///8b////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////M////5D////b////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/9v///+Q////M////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///w3///90////1v//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////W////dP///w3///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A2K4AANiuAADYrgAA2K4AANiuAADfswAA////EP//
|
||||
/4D////t////////////////////////////////////////////////9/zq/7XiQ/+340n/w+ho/9Pu
|
||||
kf/m9b//+Pzt///////////////////////////////////////////////////////////t////gf//
|
||||
/xCa2AAAmtgAAJrYAACa2AAAmtgAAJrYAAD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////ANiuAADYrgAA2K4AANiu
|
||||
AAD///8B////Yf///+v//////////////////////////////////////////////////////////+z4
|
||||
z/+a2AD/mtgA/5rYAP+a2AD/mtgA/6TcGf+65VL/3fKo//n98P//////////////////////////////
|
||||
///////////////////////r////Yf///wGa2AAAmtgAAJrYAACa2AAA////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wDYrgAA2K4AANiuAAD///8k////xP//////////////////////////////////////////////////
|
||||
///////////////////h87P/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+n3SD/zOt+//X7
|
||||
5v/////////////////////////////////////////////////////E////I5rYAACa2AAAmtgAAP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A2K4AANiuAAD///9V////8f//////////////////////////////////
|
||||
////////////////////////////////////////0+6Q/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
|
||||
AP+a2AD/mtgA/5rYAP+k3Bn/0e2K//v+9v//////////////////////////////////////////////
|
||||
//H///9VmtgAAJrYAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wH///+M////////////////////////
|
||||
/////////////////////////////////////////////////////////////8bpbv+a2AD/mtgA/5rY
|
||||
AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+u4DP/5/bD////////////////////
|
||||
/////////////////////////////////4z///8B////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wb///+l////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//+55E//mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5zZ
|
||||
Bv/P7Ib/////////////////////////////////////////////////////pf///wb///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wb///+3////////////////////////////////////////////////////////////////////////
|
||||
///////////////////+//3/rd8x/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
|
||||
AP+a2AD/mtgA/5rYAP+a2AD/mtgA/7zlV//5/fH/////////////////////////////////////////
|
||||
//////+3////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wH///+k////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////+f3v/6PcF/+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
|
||||
AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/seE7//X75v//////////////
|
||||
/////////////////////////////////6T///8B////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///+K////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////+751f+a2AD/mtgA/5rY
|
||||
AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
|
||||
AP+s3y7/9Pvi////////////////////////////////////////////////i////wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///9V////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///s+M//rd8w/6XcHf+c2Qb/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
|
||||
AP+a2AD/mtgA/5rYAP+a2AD/mtgA/6zfLv/1++f/////////////////////////////////////////
|
||||
//////9V////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8j////8P//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////v/6/fL/8PnZ/97yrP/E6Gv/qd4l/5rYAP+a2AD/mtgA/5rY
|
||||
AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/suE8//v99P//////////////
|
||||
////////////////////////////8P///yP///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8B////xP//////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////v9
|
||||
9f/e8qz/s+JA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
|
||||
AP/A51/////////////////////////////////////////////////E////Af///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////Yf//////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////f867/rN8t/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
|
||||
AP+a2AD/mtgA/5rYAP+a2AD/mtgA/9jwnP//////////////////////////////////////////////
|
||||
/2H///8A////AP///wD///8A////AP///wD///8A////EP///+r/////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////r98//I6nX/mtgA/5rY
|
||||
AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+h2xL/8/rh////////////////////
|
||||
///////////////////////q////Ev///wD///8A////AP///wD///8A////AP///3//////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////9/yrf+h2xL/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/8Dn
|
||||
X////////////////////////////////////////////////4D///8A////AP///wD///8A////AP//
|
||||
/w3////u////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////7PjQ/6reKP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
|
||||
AP+a2AD/mtgA/5rYAP+c2QX/7vjT///////////////////////////////////////////u////Df//
|
||||
/wD///8A////AP///wD///90////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////0++L/qd4n/5rY
|
||||
AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/8PoaP//////////////////////////////
|
||||
/////////////////3T///8A////AP///wD///8B////2///////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////+360P+k4g3/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP+j2xb/+Pzu////
|
||||
///////////////////////////////////////b////Af///wD///8A////O///////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////wNCY/53dAP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rY
|
||||
AP+a2AD/mtgA/9/zr////////////////////////////////////////////////zv///8A////AP//
|
||||
/5D/////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////f39/+Puin/n+AA/5rY
|
||||
AP+a2AD/mtgA/5rYAP+a2AD/mtgA/5rYAP/F6W3/////////////////////////////////////////
|
||||
//////+Q////AP///wD////Y////////////////////////////////////////////////////////
|
||||
/////////////////////////////+3t7f+3t7f/jIyM/3Nzc/9oaGj/a2tr/35+fv+dnZ3/xsbG//Hx
|
||||
8f//////////////////////////////////////////////////////////////////////////////
|
||||
////////iZNy/5zbAP+b2QD/mtgA/5rYAP+a2AD/mtgA/5rYAP+a2AD/s+JA////////////////////
|
||||
////////////////////////////2f///wD///8d////////////////////////////////////////
|
||||
////////////////////////////////////////9fTx/46Pk/9BQUH/Li4u/y4uLv8uLi7/Li4u/y4u
|
||||
Lv8uLi7/Li4u/y4uLv9ERET/fn5+/8rKyv//////////////////////////////////////////////
|
||||
/////////////////////////////4iHjP98qA3/n+AA/5rYAP+a2AD/mtgA/5rYAP+a2AD/mtgA/6ne
|
||||
J/////////////////////////////////////////////////////8e////Vv//////////////////
|
||||
////////////////////////////////////////////////////////+fDL/45/Qv8kJjH/Li4u/y4u
|
||||
Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Xl5e/7e3t//+/v7/////////
|
||||
//////////////////////////////////////////////////9vbXX/T2Ig/57fAP+a2QD/mtgA/5rY
|
||||
AP+a2AD/mtgA/5rYAP+l3Bz/////////////////////////////////////////////////////Vv//
|
||||
/4T/////////////////////////////////////////////////////////////////////8+ax/+O5
|
||||
D/92ZBv/JCYx/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
|
||||
Lv8uLi7/YGBg/8jIyP/////////////////////////////////////////////////09PT/QkJE/zEz
|
||||
Lf+Mwgb/nd0A/5rYAP+a2AD/mtgA/5rYAP+a2AD/pdwb////////////////////////////////////
|
||||
/////////////////4T///+t////////////////////////////////////////////////////////
|
||||
////////8+ez/9mwB//htQD/dWMb/yQnMf8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
|
||||
Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/dHR0/97e3v//////////////////////////////
|
||||
////////r6+v/y4uLv8nIzH/bZET/6HiAP+a2AD/mtgA/5rYAP+a2AD/mtgA/6neJv//////////////
|
||||
//////////////////////////////////////+t////zP//////////////////////////////////
|
||||
////////////////////////+PHS/9qyDv/YrgD/4rUA/3lmGf8kJjH/Li4u/y4uLv8uLi7/Li4u/y4u
|
||||
Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Ozs7/1ZWVv90dHT/jo6O/5mZmf/Hx8f//v7+////
|
||||
////////////////////////7+/v/0dHR/8uLi7/KCUw/1BkH/+f4AD/mtgA/5rYAP+a2AD/mtgA/5rY
|
||||
AP+z4T7/////////////////////////////////////////////////////zP///+X/////////////
|
||||
/////////////////////////////////////////v35/+C/N//YrgD/2K4A/+O2AP+Dbhf/IyYx/y4u
|
||||
Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/1VVVf+QkJD/xsbG/+rq6v//////////////
|
||||
////////////////////////////////////////+vr6/2tra/8uLi7/Li4u/yspL/86Qij/ltEC/5va
|
||||
AP+a2AD/mtgA/5rYAP+a2AD/x+ly////////////////////////////////////////////////////
|
||||
/+D////y//////////////////////////////////////////////////////Dfm//YrgD/2K4A/9iu
|
||||
AP/itQD/k3oT/yUnMf8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/cHBw/8bGxv/8/Pz/////////
|
||||
////////////////////////////////////////////////////////7+/v/3BwcP8uLi7/Li4u/y4u
|
||||
Lv8tLC7/Ly8u/4e7CP+e3gD/mtgA/5rYAP+a2AD/mtgA/+X1vf//////////////////////////////
|
||||
///////////////////////s//////////////////////////////////////////////////////79
|
||||
+f/euyr/2K4A/9iuAP/YrgD/4LQA/6iKDf8oKTD/Li4u/y4uLv8uLi7/Li4u/y4uLv9QUFD/xMTE////
|
||||
////////////////////////////////////////////////////////////////////////w8PD/1BQ
|
||||
UP8uLi7/Li4u/y4uLv8uLi7/Li4u/yknMP95pA7/n+EA/5rYAP+a2AD/mtgA/6neJ//8/vj/////////
|
||||
////////////////////////////////////////////+f//////////////////////////////////
|
||||
///////////////////168D/2K4A/9iuAP/YrgD/2K4A/92yAP+/mwf/MTAt/ywtLv8uLi7/Li4u/y4u
|
||||
Lv9wcHD/8PDw//////////////////////////////////////////////////////////////////r6
|
||||
+v/ExMT/bm5u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8oJDH/a44U/6HiAP+a2AD/mtgA/5rY
|
||||
AP/W75j///////////////////////////////////////////////////////////n////y////////
|
||||
////////////////////////////////////////6tR3/9iuAP/YrgD/2K4A/9iuAP/arwD/06oB/0VA
|
||||
J/8pKi//Li4u/y4uLv9ra2v/+vr6//////////////////////////////////////////////////39
|
||||
/f/n5+f/wsLC/4yMjP9SUlL/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/JyMx/2F+
|
||||
GP+h4wD/mtgA/5rYAP+v4DX//P74////////////////////////////////////////////////////
|
||||
///////s////5f///////////////////////////////////////////////+LDQv/YrgD/2K4A/9iu
|
||||
AP/YrgD/2K4A/+C0AP9oWh7/JCcx/y4uLv9GRkb/7u7u/////////////////////////////v7+/8fH
|
||||
x/+VlZX/iYmJ/3BwcP9TU1P/OTk5/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
|
||||
Lv8uLi7/Li4u/ygkMf9bdRv/oOEA/5rYAP+g2g7/7fjR////////////////////////////////////
|
||||
////////////////////////////4P///8z/////////////////////////////////////////////
|
||||
///euyj/2K4A/9iuAP/YrgD/2K4A/9iuAP/itQD/ln0S/yQnMf8uLi7/ra2t////////////////////
|
||||
///////////////////i4uL/e3t7/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
|
||||
Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8oJDH/WXEc/6DhAP+d2Qf/4fOy////////////////////
|
||||
/////////////////////////////////////////////////8z///+t////////////////////////
|
||||
////////////////////////3Lcc/9iuAP/YrgD/2K4A/9iuAP/YrgD/3LEA/8agBf82NCz/Pj9C//T0
|
||||
9P/////////////////////////////////////////////////Ozs7/ZmZm/y4uLv8uLi7/Li4u/y4u
|
||||
Lv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/KCQx/1pzHP+m4w//4POx////
|
||||
//////////////////////////////////////////////////////////////////////+t////hP//
|
||||
/////////////////////////////////////////////9y3Hf/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
|
||||
AP/gtAD/Z1ke/2lrcv//////////////////////////////////////////////////////////////
|
||||
//++vr7/ZGRk/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/y4uLv8uLi7/Li4u/ygk
|
||||
Mf93i0X/7PnL////////////////////////////////////////////////////////////////////
|
||||
////////////hP///1T////////////////////////////////////////////////euyr/2K4A/9iu
|
||||
AP/YrgD/2K4A/9iuAP/YrgD/4LQA/66OC/+Dg4b/////////////////////////////////////////
|
||||
///////////////////////////////////Pz8//hISE/0hISP8uLi7/Li4u/y4uLv8uLi7/Li4u/y4u
|
||||
Lv8uLi7/Li4u/0JCQv+RkJX/9PXy////////////////////////////////////////////////////
|
||||
/////////////////////////////////1b///8c////////////////////////////////////////
|
||||
////////48RG/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9mvAP/dsgD/kopq////////////////////
|
||||
///////////////////////////////////////////////////////////////////09PT/y8vL/6Ki
|
||||
ov+Dg4P/cXFx/21tbf94eHj/kJCQ/7q6uv/v7+//////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////8d////AP///9f/////////////
|
||||
/////////////////////////////+rTdP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/4LQA/72f
|
||||
Iv/09PT/////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////Y////AP//
|
||||
/wD///+P///////////////////////////////////////////06Lb/2K4A/9iuAP/YrgD/2K4A/9iu
|
||||
AP/YrgD/2K4A/9iuAP/esgD/zsKO////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////kP///wD///8A////Ov///////////////////////////////////////////fvx/9y2
|
||||
Gv/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/+G3Cf/578j/////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////zr///8A////AP///wH////a////////////////////////
|
||||
///////////////////p0nD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/3bgh//r0
|
||||
3P//////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////9v///8B////AP///wD///8A////dP//
|
||||
////////////////////////////////////////+fPZ/9mxCP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
|
||||
AP/YrgD/2K4A/9iuAP/duCH/9+7I////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////90////AP//
|
||||
/wD///8A////AP///wz////t///////////////////////////////////////////oz2n/2K4A/9iu
|
||||
AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9qyDf/x4qT/////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////t////Df///wD///8A////AP///wD///8A////f///////////////////////////////////
|
||||
////////+/fm/9u1Fv/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/+nQ
|
||||
bP/8+u7/////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////f////wD///8A////AP///wD///8A////AP///xD////q////////
|
||||
///////////////////////////////////x4qX/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
|
||||
AP/YrgD/2K4A/9iuAP/YrgD/3ron//Hipf///v3/////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////6v///xD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////YP///////////////////////////////////////////////+jPaf/YrgD/2K4A/9iu
|
||||
AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/4cA5//HipP/9+/H/////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////////////////////////////////////////////2H///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wH////D////////////////////////////////////////
|
||||
///+/fj/4sRE/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
|
||||
AP/YrgD/3bgf/+fNY//x4qX/+PHT//367//+/vv////+////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/8P///8B////AP///wD///8A////AP///wD///8A////AP///wD///8A////Iv////D/////////////
|
||||
//////////////////////////////z57f/gvzX/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
|
||||
AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9ivA//cthj/37wr//fuyv//////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////D///8i////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///9U////////////////////////////////////////////////+/jo/+C/Nf/YrgD/2K4A/9iu
|
||||
AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
|
||||
AP/48NH/////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////9V////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///4j/////////////////////////////////////////////
|
||||
///8+ev/4sND/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
|
||||
AP/YrgD/2K4A/9iuAP/btBP//Pns////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////+J////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////pP//////////////////
|
||||
//////////////////////////////789v/nzGD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
|
||||
AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/37wt///+/P//////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////+k////Af//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wb///+3/////////////////////////////////////////////////////+7bj//asQr/2K4A/9iu
|
||||
AP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/+PGSv//////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////+3////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////Bv///6X/////////////////////////////////////////////
|
||||
////////9+7K/+HBO//YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
|
||||
AP/oz2n/////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////+l////Bv///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8B////jP//////////////////
|
||||
///////////////////////////////////+/fr/7t2T/924Hv/YrgD/2K4A/9iuAP/YrgD/2K4A/9iu
|
||||
AP/YrgD/2K4A/9iuAP/YrgD/7dqL////////////////////////////////////////////////////
|
||||
//////////////////////////////////////+M////Af///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A2K4AANiu
|
||||
AAD///9V////8f/////////////////////////////////////////////////////8+ev/7dmH/966
|
||||
Jv/YrgD/2K4A/9iuAP/YrgD/2K4A/9iuAP/YrgD/2K4A//Plrv//////////////////////////////
|
||||
//////////////////////////////////////////////////H///9VmtgAAJrYAAD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////ANiuAADYrgAA2K4AAP///yT////E////////////////////////////////////////
|
||||
///////////////////9/PT/8+av/+bLWv/duB7/2K4A/9iuAP/YrgD/2K4A/9iuAP/37sv/////////
|
||||
/////////////////////////////////////////////////////////////////8T///8jmtgAAJrY
|
||||
AACa2AAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wDYrgAA2K4AANiuAADYrgAA////Af///2D////r////////
|
||||
/////////////////////////////////////////////////////////fvx//btxv/v3pf/6dJw/+TH
|
||||
T//jxEX/+/jo////////////////////////////////////////////////////////////////6///
|
||||
/2D///8BmtgAAJrYAACa2AAAmtgAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////EP///3/////t////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////t////f////xD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////Df///3T////V////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////9X///90////Df///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/zP///+N////1///////////////////////////////////////////////////////////////////
|
||||
///////////////////////X////jf///zP///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8b////VP///33///+l////y////+P////y////////
|
||||
///////y////4////8v///+l////ff///1T///8b////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
|
||||
/wD///8A////4Af///////wAAD//////8AAAD/////+AAAAB/////wAAAAD////8AAAAAD////gAAAAA
|
||||
H///4AAAAAAH///AAAAAAAP//4AAAAAAAf//AAAAAAAA//4AAAAAAAB//gAAAAAAAH/8AAAAAAAAP/gA
|
||||
AAAAAAAf+AAAAAAAAB/wAAAAAAAAD/AAAAAAAAAH4AAAAAAAAAfgAAAAAAAAB8AAAAAAAAADwAAAAAAA
|
||||
AAOAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAPAAAAAAAAAA+AA
|
||||
AAAAAAAH4AAAAAAAAAfwAAAAAAAAD/AAAAAAAAAP+AAAAAAAAB/4AAAAAAAAH/wAAAAAAAA//gAAAAAA
|
||||
AH/+AAAAAAAAf/8AAAAAAAD//4AAAAAAAf//wAAAAAAD///gAAAAAAf///gAAAAAH////AAAAAA/////
|
||||
AAAAAP/////AAAAD//////AAAA///////AAAP///////4Af///8=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
|
@ -38,10 +38,13 @@ namespace DML.Application
|
|||
Trace("Refreshing thread limit component...");
|
||||
edThreadLimit.Value = Core.Settings.ThreadLimit;
|
||||
|
||||
Trace("Adding guilds to component...");
|
||||
cbGuild.Items.AddRange(Core.Client.Servers.OrderBy(g => g.Name).Select(g => g.Name).ToArray());
|
||||
cbGuild.SelectedIndex = 0;
|
||||
Trace("Guild component initialized.");
|
||||
if (cbGuild.Items.Count == 0)
|
||||
{
|
||||
Trace("Adding guilds to component...");
|
||||
cbGuild.Items.AddRange(Core.Client.Servers.OrderBy(g => g.Name).Select(g => g.Name).ToArray());
|
||||
cbGuild.SelectedIndex = 0;
|
||||
Trace("Guild component initialized.");
|
||||
}
|
||||
|
||||
Trace("Refreshing job list component...");
|
||||
var oldIndex = lbxJobs.SelectedIndex;
|
||||
|
@ -170,9 +173,11 @@ namespace DML.Application
|
|||
where j.GuildId == job.GuildId && j.ChannelId == job.ChannelId
|
||||
select j).Any())
|
||||
{
|
||||
Core.Scheduler.JobList.Add(job);
|
||||
job.Store();
|
||||
Core.Scheduler.JobList.Add(job);
|
||||
}
|
||||
|
||||
RefreshComponents();
|
||||
}
|
||||
|
||||
private void btnDelete_Click(object sender, System.EventArgs e)
|
||||
|
@ -203,7 +208,9 @@ namespace DML.Application
|
|||
{
|
||||
Core.Scheduler.JobList.Remove(job);
|
||||
Core.Scheduler.RunningJobs.Remove(job.Id);
|
||||
job.Stop();
|
||||
job.Delete();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
73
Discord Media Loader.Application/Properties/Resources.Designer.cs
generated
Normal file
73
Discord Media Loader.Application/Properties/Resources.Designer.cs
generated
Normal file
|
@ -0,0 +1,73 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
//
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace DML.Application.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
|
||||
/// </summary>
|
||||
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
|
||||
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
|
||||
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
|
||||
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
|
||||
/// </summary>
|
||||
[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("DML.Application.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
|
||||
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Serraniel_Logo4_NO_BG {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Serraniel_Logo4_NO_BG", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
124
Discord Media Loader.Application/Properties/Resources.resx
Normal file
124
Discord Media Loader.Application/Properties/Resources.resx
Normal file
|
@ -0,0 +1,124 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="Serraniel_Logo4_NO_BG" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Serraniel-Logo4-NO-BG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
Binary file not shown.
After Width: | Height: | Size: 300 KiB |
2
Discord Media Loader/FrmSplash.Designer.cs
generated
2
Discord Media Loader/FrmSplash.Designer.cs
generated
|
@ -66,7 +66,7 @@
|
|||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "FrmSplash";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "FrmSplash";
|
||||
this.Text = "Discord Media Loader";
|
||||
this.Shown += new System.EventHandler(this.FrmSplash_Shown);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLogo)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
|
Loading…
Reference in a new issue