diff --git a/DcConfig.cs b/DcConfig.cs
index 8967054..fe28dee 100644
--- a/DcConfig.cs
+++ b/DcConfig.cs
@@ -176,6 +176,7 @@ namespace DutyContent
Color.FromArgb(0xFF, 0x80, 0x40, 0x00),
Color.FromArgb(0xFF, 0xDD, 0xA0, 0xDD),
};
+ public bool PingGraph { get; set; }
//
public bool EnableNotify => UseNotifyLine || UseNotifyTelegram;
@@ -225,6 +226,7 @@ namespace DutyContent
sw.WriteLine("DutyPingColor1={0:X}", PingColors[1].ToArgb());
sw.WriteLine("DutyPingColor2={0:X}", PingColors[2].ToArgb());
sw.WriteLine("DutyPingColor3={0:X}", PingColors[3].ToArgb());
+ sw.WriteLine("DutyPingGraph={0}", PingGraph);
sw.WriteLine();
}
@@ -264,6 +266,7 @@ namespace DutyContent
PingColors[1] = ThirdParty.Converter.ToColorArgb(db["DutyPingColor1"], PingColors[1]);
PingColors[2] = ThirdParty.Converter.ToColorArgb(db["DutyPingColor2"], PingColors[2]);
PingColors[3] = ThirdParty.Converter.ToColorArgb(db["DutyPingColor3"], PingColors[3]);
+ PingGraph = ThirdParty.Converter.ToBool(db["DutyPingGraph"]);
}
}
diff --git a/DutyContent.csproj b/DutyContent.csproj
index 9eb06ad..8a4a7fb 100644
--- a/DutyContent.csproj
+++ b/DutyContent.csproj
@@ -50,6 +50,7 @@
+
@@ -94,6 +95,7 @@
DutyOvForm.cs
+
diff --git a/Resources/mesg.txt b/Resources/mesg.txt
index a45534f..a1d23ff 100644
--- a/Resources/mesg.txt
+++ b/Resources/mesg.txt
@@ -69,6 +69,7 @@ LANG=English
331=Good
332=Normal
333=Bad
+334=Show Graph
10001="{0}" spawned!
10002=Entry: {0}
diff --git a/Tab/DutyForm.Designer.cs b/Tab/DutyForm.Designer.cs
index b6e2daa..d88e9c5 100644
--- a/Tab/DutyForm.Designer.cs
+++ b/Tab/DutyForm.Designer.cs
@@ -30,27 +30,27 @@ namespace DutyContent.Tab
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
- System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem(new string[] {
+ System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem(new string[] {
"FATE",
"",
"",
""}, -1);
- System.Windows.Forms.ListViewItem listViewItem2 = new System.Windows.Forms.ListViewItem(new string[] {
+ System.Windows.Forms.ListViewItem listViewItem7 = new System.Windows.Forms.ListViewItem(new string[] {
"Duty",
"",
"",
""}, -1);
- System.Windows.Forms.ListViewItem listViewItem3 = new System.Windows.Forms.ListViewItem(new string[] {
+ System.Windows.Forms.ListViewItem listViewItem8 = new System.Windows.Forms.ListViewItem(new string[] {
"Match",
"",
"",
""}, -1);
- System.Windows.Forms.ListViewItem listViewItem4 = new System.Windows.Forms.ListViewItem(new string[] {
+ System.Windows.Forms.ListViewItem listViewItem9 = new System.Windows.Forms.ListViewItem(new string[] {
"Instance",
"",
"",
""}, -1);
- System.Windows.Forms.ListViewItem listViewItem5 = new System.Windows.Forms.ListViewItem(new string[] {
+ System.Windows.Forms.ListViewItem listViewItem10 = new System.Windows.Forms.ListViewItem(new string[] {
"Southern Bozja",
"",
"",
@@ -101,14 +101,15 @@ namespace DutyContent.Tab
this.chkEnableOverlay = new System.Windows.Forms.CheckBox();
this.tabPagePing = new System.Windows.Forms.TabPage();
this.panel6 = new System.Windows.Forms.Panel();
- this.btnPingColor2 = new System.Windows.Forms.Button();
- this.lblPingStat4 = new System.Windows.Forms.Label();
- this.lblPingStat2 = new System.Windows.Forms.Label();
- this.lblPingStat3 = new System.Windows.Forms.Label();
- this.btnPingColor4 = new System.Windows.Forms.Button();
- this.btnPingColor1 = new System.Windows.Forms.Button();
- this.btnPingColor3 = new System.Windows.Forms.Button();
+ this.tlpnPingColors = new System.Windows.Forms.TableLayoutPanel();
this.lblPingStat1 = new System.Windows.Forms.Label();
+ this.btnPingColor4 = new System.Windows.Forms.Button();
+ this.btnPingColor2 = new System.Windows.Forms.Button();
+ this.btnPingColor3 = new System.Windows.Forms.Button();
+ this.lblPingStat2 = new System.Windows.Forms.Label();
+ this.lblPingStat4 = new System.Windows.Forms.Label();
+ this.btnPingColor1 = new System.Windows.Forms.Button();
+ this.lblPingStat3 = new System.Windows.Forms.Label();
this.lblPingColors = new System.Windows.Forms.Label();
this.chkUsePing = new System.Windows.Forms.CheckBox();
this.tabPagePacket = new System.Windows.Forms.TabPage();
@@ -131,7 +132,8 @@ namespace DutyContent.Tab
this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.lblPacketFinder = new System.Windows.Forms.Label();
this.ilTabContent = new System.Windows.Forms.ImageList(this.components);
- this.tlpnPingColors = new System.Windows.Forms.TableLayoutPanel();
+ this.chkPingGraph = new System.Windows.Forms.CheckBox();
+ this.pbxPingGraph = new System.Windows.Forms.PictureBox();
this.tabContent.SuspendLayout();
this.tabPageContent.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
@@ -145,9 +147,10 @@ namespace DutyContent.Tab
this.panel1.SuspendLayout();
this.tabPagePing.SuspendLayout();
this.panel6.SuspendLayout();
+ this.tlpnPingColors.SuspendLayout();
this.tabPagePacket.SuspendLayout();
this.panel5.SuspendLayout();
- this.tlpnPingColors.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pbxPingGraph)).BeginInit();
this.SuspendLayout();
//
// tabContent
@@ -679,6 +682,8 @@ namespace DutyContent.Tab
this.panel6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.panel6.Controls.Add(this.pbxPingGraph);
+ this.panel6.Controls.Add(this.chkPingGraph);
this.panel6.Controls.Add(this.tlpnPingColors);
this.panel6.Controls.Add(this.lblPingColors);
this.panel6.Controls.Add(this.chkUsePing);
@@ -687,49 +692,40 @@ namespace DutyContent.Tab
this.panel6.Size = new System.Drawing.Size(778, 353);
this.panel6.TabIndex = 1;
//
- // btnPingColor2
+ // tlpnPingColors
//
- this.btnPingColor2.BackColor = System.Drawing.Color.Aqua;
- this.btnPingColor2.Dock = System.Windows.Forms.DockStyle.Fill;
- this.btnPingColor2.Location = new System.Drawing.Point(97, 28);
- this.btnPingColor2.Name = "btnPingColor2";
- this.btnPingColor2.Size = new System.Drawing.Size(85, 28);
- this.btnPingColor2.TabIndex = 10;
- this.btnPingColor2.UseVisualStyleBackColor = false;
- this.btnPingColor2.Click += new System.EventHandler(this.BtnPingColor2_Click);
+ this.tlpnPingColors.ColumnCount = 4;
+ this.tlpnPingColors.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
+ this.tlpnPingColors.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
+ this.tlpnPingColors.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
+ this.tlpnPingColors.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
+ this.tlpnPingColors.Controls.Add(this.lblPingStat1, 0, 0);
+ this.tlpnPingColors.Controls.Add(this.btnPingColor4, 3, 1);
+ this.tlpnPingColors.Controls.Add(this.btnPingColor2, 1, 1);
+ this.tlpnPingColors.Controls.Add(this.btnPingColor3, 2, 1);
+ this.tlpnPingColors.Controls.Add(this.lblPingStat2, 1, 0);
+ this.tlpnPingColors.Controls.Add(this.lblPingStat4, 3, 0);
+ this.tlpnPingColors.Controls.Add(this.btnPingColor1, 0, 1);
+ this.tlpnPingColors.Controls.Add(this.lblPingStat3, 2, 0);
+ this.tlpnPingColors.Location = new System.Drawing.Point(129, 35);
+ this.tlpnPingColors.Name = "tlpnPingColors";
+ this.tlpnPingColors.Padding = new System.Windows.Forms.Padding(3);
+ this.tlpnPingColors.RowCount = 2;
+ this.tlpnPingColors.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 40F));
+ this.tlpnPingColors.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 60F));
+ this.tlpnPingColors.Size = new System.Drawing.Size(371, 62);
+ this.tlpnPingColors.TabIndex = 11;
//
- // lblPingStat4
+ // lblPingStat1
//
- this.lblPingStat4.AutoSize = true;
- this.lblPingStat4.Dock = System.Windows.Forms.DockStyle.Fill;
- this.lblPingStat4.Location = new System.Drawing.Point(279, 3);
- this.lblPingStat4.Name = "lblPingStat4";
- this.lblPingStat4.Size = new System.Drawing.Size(86, 22);
- this.lblPingStat4.TabIndex = 3;
- this.lblPingStat4.Text = "333";
- this.lblPingStat4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
- //
- // lblPingStat2
- //
- this.lblPingStat2.AutoSize = true;
- this.lblPingStat2.Dock = System.Windows.Forms.DockStyle.Fill;
- this.lblPingStat2.Location = new System.Drawing.Point(97, 3);
- this.lblPingStat2.Name = "lblPingStat2";
- this.lblPingStat2.Size = new System.Drawing.Size(85, 22);
- this.lblPingStat2.TabIndex = 5;
- this.lblPingStat2.Text = "331";
- this.lblPingStat2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
- //
- // lblPingStat3
- //
- this.lblPingStat3.AutoSize = true;
- this.lblPingStat3.Dock = System.Windows.Forms.DockStyle.Fill;
- this.lblPingStat3.Location = new System.Drawing.Point(188, 3);
- this.lblPingStat3.Name = "lblPingStat3";
- this.lblPingStat3.Size = new System.Drawing.Size(85, 22);
- this.lblPingStat3.TabIndex = 4;
- this.lblPingStat3.Text = "332";
- this.lblPingStat3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.lblPingStat1.AutoSize = true;
+ this.lblPingStat1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.lblPingStat1.Location = new System.Drawing.Point(6, 3);
+ this.lblPingStat1.Name = "lblPingStat1";
+ this.lblPingStat1.Size = new System.Drawing.Size(85, 22);
+ this.lblPingStat1.TabIndex = 6;
+ this.lblPingStat1.Text = "330";
+ this.lblPingStat1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// btnPingColor4
//
@@ -742,16 +738,16 @@ namespace DutyContent.Tab
this.btnPingColor4.UseVisualStyleBackColor = false;
this.btnPingColor4.Click += new System.EventHandler(this.BtnPingColor4_Click);
//
- // btnPingColor1
+ // btnPingColor2
//
- this.btnPingColor1.BackColor = System.Drawing.Color.RoyalBlue;
- this.btnPingColor1.Dock = System.Windows.Forms.DockStyle.Fill;
- this.btnPingColor1.Location = new System.Drawing.Point(6, 28);
- this.btnPingColor1.Name = "btnPingColor1";
- this.btnPingColor1.Size = new System.Drawing.Size(85, 28);
- this.btnPingColor1.TabIndex = 7;
- this.btnPingColor1.UseVisualStyleBackColor = false;
- this.btnPingColor1.Click += new System.EventHandler(this.BtnPingColor1_Click);
+ this.btnPingColor2.BackColor = System.Drawing.Color.Aqua;
+ this.btnPingColor2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.btnPingColor2.Location = new System.Drawing.Point(97, 28);
+ this.btnPingColor2.Name = "btnPingColor2";
+ this.btnPingColor2.Size = new System.Drawing.Size(85, 28);
+ this.btnPingColor2.TabIndex = 10;
+ this.btnPingColor2.UseVisualStyleBackColor = false;
+ this.btnPingColor2.Click += new System.EventHandler(this.BtnPingColor2_Click);
//
// btnPingColor3
//
@@ -764,16 +760,49 @@ namespace DutyContent.Tab
this.btnPingColor3.UseVisualStyleBackColor = false;
this.btnPingColor3.Click += new System.EventHandler(this.BtnPingColor3_Click);
//
- // lblPingStat1
+ // lblPingStat2
//
- this.lblPingStat1.AutoSize = true;
- this.lblPingStat1.Dock = System.Windows.Forms.DockStyle.Fill;
- this.lblPingStat1.Location = new System.Drawing.Point(6, 3);
- this.lblPingStat1.Name = "lblPingStat1";
- this.lblPingStat1.Size = new System.Drawing.Size(85, 22);
- this.lblPingStat1.TabIndex = 6;
- this.lblPingStat1.Text = "330";
- this.lblPingStat1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.lblPingStat2.AutoSize = true;
+ this.lblPingStat2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.lblPingStat2.Location = new System.Drawing.Point(97, 3);
+ this.lblPingStat2.Name = "lblPingStat2";
+ this.lblPingStat2.Size = new System.Drawing.Size(85, 22);
+ this.lblPingStat2.TabIndex = 5;
+ this.lblPingStat2.Text = "331";
+ this.lblPingStat2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // lblPingStat4
+ //
+ this.lblPingStat4.AutoSize = true;
+ this.lblPingStat4.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.lblPingStat4.Location = new System.Drawing.Point(279, 3);
+ this.lblPingStat4.Name = "lblPingStat4";
+ this.lblPingStat4.Size = new System.Drawing.Size(86, 22);
+ this.lblPingStat4.TabIndex = 3;
+ this.lblPingStat4.Text = "333";
+ this.lblPingStat4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // btnPingColor1
+ //
+ this.btnPingColor1.BackColor = System.Drawing.Color.RoyalBlue;
+ this.btnPingColor1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.btnPingColor1.Location = new System.Drawing.Point(6, 28);
+ this.btnPingColor1.Name = "btnPingColor1";
+ this.btnPingColor1.Size = new System.Drawing.Size(85, 28);
+ this.btnPingColor1.TabIndex = 7;
+ this.btnPingColor1.UseVisualStyleBackColor = false;
+ this.btnPingColor1.Click += new System.EventHandler(this.BtnPingColor1_Click);
+ //
+ // lblPingStat3
+ //
+ this.lblPingStat3.AutoSize = true;
+ this.lblPingStat3.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.lblPingStat3.Location = new System.Drawing.Point(188, 3);
+ this.lblPingStat3.Name = "lblPingStat3";
+ this.lblPingStat3.Size = new System.Drawing.Size(85, 22);
+ this.lblPingStat3.TabIndex = 4;
+ this.lblPingStat3.Text = "332";
+ this.lblPingStat3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// lblPingColors
//
@@ -946,11 +975,11 @@ namespace DutyContent.Tab
this.lstPacketInfo.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.lstPacketInfo.HideSelection = false;
this.lstPacketInfo.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
- listViewItem1,
- listViewItem2,
- listViewItem3,
- listViewItem4,
- listViewItem5});
+ listViewItem6,
+ listViewItem7,
+ listViewItem8,
+ listViewItem9,
+ listViewItem10});
this.lstPacketInfo.Location = new System.Drawing.Point(3, 42);
this.lstPacketInfo.MultiSelect = false;
this.lstPacketInfo.Name = "lstPacketInfo";
@@ -999,29 +1028,27 @@ namespace DutyContent.Tab
this.ilTabContent.Images.SetKeyName(2, "pix_tab_tool.png");
this.ilTabContent.Images.SetKeyName(3, "pix_tab_ping.png");
//
- // tlpnPingColors
+ // chkPingGraph
//
- this.tlpnPingColors.ColumnCount = 4;
- this.tlpnPingColors.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
- this.tlpnPingColors.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
- this.tlpnPingColors.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
- this.tlpnPingColors.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
- this.tlpnPingColors.Controls.Add(this.lblPingStat1, 0, 0);
- this.tlpnPingColors.Controls.Add(this.btnPingColor4, 3, 1);
- this.tlpnPingColors.Controls.Add(this.btnPingColor2, 1, 1);
- this.tlpnPingColors.Controls.Add(this.btnPingColor3, 2, 1);
- this.tlpnPingColors.Controls.Add(this.lblPingStat2, 1, 0);
- this.tlpnPingColors.Controls.Add(this.lblPingStat4, 3, 0);
- this.tlpnPingColors.Controls.Add(this.btnPingColor1, 0, 1);
- this.tlpnPingColors.Controls.Add(this.lblPingStat3, 2, 0);
- this.tlpnPingColors.Location = new System.Drawing.Point(36, 51);
- this.tlpnPingColors.Name = "tlpnPingColors";
- this.tlpnPingColors.Padding = new System.Windows.Forms.Padding(3);
- this.tlpnPingColors.RowCount = 2;
- this.tlpnPingColors.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 40F));
- this.tlpnPingColors.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 60F));
- this.tlpnPingColors.Size = new System.Drawing.Size(371, 62);
- this.tlpnPingColors.TabIndex = 11;
+ this.chkPingGraph.AutoSize = true;
+ this.chkPingGraph.Location = new System.Drawing.Point(26, 108);
+ this.chkPingGraph.Name = "chkPingGraph";
+ this.chkPingGraph.Size = new System.Drawing.Size(44, 17);
+ this.chkPingGraph.TabIndex = 12;
+ this.chkPingGraph.Text = "334";
+ this.chkPingGraph.UseVisualStyleBackColor = true;
+ this.chkPingGraph.CheckedChanged += new System.EventHandler(this.chkPingGraph_CheckedChanged);
+ //
+ // pbxPingGraph
+ //
+ this.pbxPingGraph.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.pbxPingGraph.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.pbxPingGraph.Location = new System.Drawing.Point(129, 108);
+ this.pbxPingGraph.Name = "pbxPingGraph";
+ this.pbxPingGraph.Size = new System.Drawing.Size(644, 114);
+ this.pbxPingGraph.TabIndex = 13;
+ this.pbxPingGraph.TabStop = false;
//
// DutyForm
//
@@ -1052,11 +1079,12 @@ namespace DutyContent.Tab
this.tabPagePing.ResumeLayout(false);
this.panel6.ResumeLayout(false);
this.panel6.PerformLayout();
+ this.tlpnPingColors.ResumeLayout(false);
+ this.tlpnPingColors.PerformLayout();
this.tabPagePacket.ResumeLayout(false);
this.panel5.ResumeLayout(false);
this.panel5.PerformLayout();
- this.tlpnPingColors.ResumeLayout(false);
- this.tlpnPingColors.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pbxPingGraph)).EndInit();
this.ResumeLayout(false);
}
@@ -1139,5 +1167,7 @@ namespace DutyContent.Tab
private System.Windows.Forms.Button btnPingColor3;
private System.Windows.Forms.Label lblPingStat1;
private System.Windows.Forms.TableLayoutPanel tlpnPingColors;
+ private System.Windows.Forms.PictureBox pbxPingGraph;
+ private System.Windows.Forms.CheckBox chkPingGraph;
}
}
\ No newline at end of file
diff --git a/Tab/DutyForm.cs b/Tab/DutyForm.cs
index 6d24c09..c13b0d0 100644
--- a/Tab/DutyForm.cs
+++ b/Tab/DutyForm.cs
@@ -31,6 +31,8 @@ namespace DutyContent.Tab
private System.Timers.Timer _ping_timer;
private long _ping_last;
private Color _ping_color = Color.Transparent;
+ private ThirdParty.FastGraphLine _ping_graph;
+ private List _ping_keeps = new List();
public DutyForm()
{
@@ -39,6 +41,7 @@ namespace DutyContent.Tab
InitializeComponent();
_overlay = new Overlay.DutyOvForm();
+ _ping_graph = new ThirdParty.FastGraphLine(pbxPingGraph);
}
private void DutyTabForm_FormClosing(object sender, FormClosingEventArgs e)
@@ -115,6 +118,7 @@ namespace DutyContent.Tab
btnPingColor2.BackColor = DcConfig.Duty.PingColors[1];
btnPingColor3.BackColor = DcConfig.Duty.PingColors[2];
btnPingColor4.BackColor = DcConfig.Duty.PingColors[3];
+ chkPingGraph.Checked = DcConfig.Duty.PingGraph;
//
switch (DcConfig.Duty.ActiveFate)
@@ -219,6 +223,7 @@ namespace DutyContent.Tab
lblPingStat2.Text = MesgLog.Text(331);
lblPingStat3.Text = MesgLog.Text(332);
lblPingStat4.Text = MesgLog.Text(333);
+ chkPingGraph.Text = MesgLog.Text(334);
}
public void PacketHandler(string pid, byte[] message)
@@ -1324,7 +1329,10 @@ namespace DutyContent.Tab
SaveConfig();
if (chkUsePing.Checked)
+ {
+ PingOnce();
_ping_timer.Start();
+ }
else
{
_ping_timer.Stop();
@@ -1373,10 +1381,20 @@ namespace DutyContent.Tab
PingColorWorker(3, btnPingColor4);
}
+ private void chkPingGraph_CheckedChanged(object sender, EventArgs e)
+ {
+ if (!DcConfig.PluginEnable)
+ return;
+
+ DcConfig.Duty.PingGraph = chkPingGraph.Checked;
+
+ SaveConfig();
+ }
+
//
private void PingOnce()
{
- if (!DcConfig.PluginEnable)
+ if (!DcConfig.PluginEnable || !DcConfig.Duty.UsePing)
return;
var conns = DcConfig.Connections.CopyConnection();
@@ -1419,11 +1437,25 @@ namespace DutyContent.Tab
_overlay.SetStatPing(color, rtt, loss);
}
+
+ //
+ if (DcConfig.Duty.PingGraph)
+ {
+ _ping_keeps.Add((int)rtt);
+ if (_ping_keeps.Count > 100)
+ _ping_keeps.Remove(0);
+
+ _ping_graph.Enter();
+ _ping_graph.SetValues(_ping_keeps);
+ WorkerAct.Invoker(() => _ping_graph.Leave());
+ }
}
- private static PingOptions _ping_options = new PingOptions { DontFragment = true };
- private static byte[] _ping_buffers = Encoding.ASCII.GetBytes("01234567890123456789012345678901");
- private static int _ping_timerout = 120;
+ // http://forum.codecall.net/topic/37643-c-packet-lossping-program/
+
+ private static readonly PingOptions _ping_options = new PingOptions { DontFragment = true };
+ private static readonly byte[] _ping_buffers = Encoding.ASCII.GetBytes("01234567890123456789012345678901");
+ private static readonly int _ping_timerout = 120;
//
private (long Rtt, double Loss) CalcPing(IPAddress host, int amount = 6)
diff --git a/Tab/DutyForm.resx b/Tab/DutyForm.resx
index 368fba3..a57f6b2 100644
--- a/Tab/DutyForm.resx
+++ b/Tab/DutyForm.resx
@@ -124,307 +124,307 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
- ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAW
- RgAAAk1TRnQBSQFMAgEBBAEAARABAQEQAQEBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAS
+ RgAAAk1TRnQBSQFMAgEBBAEAARgBAQEYAQEBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
AwABQAMAAQEBAAEgBgABgP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
- /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AWgADNgRZAcQDVQHqAxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/
- AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/
- AxUB/wNdAeIDVAGuAykBPwgAAwcBCgNIAYUCFQGqAf8CEAGqAf8CDwGkAf8CDwGkAf8CDwGkAf8CDwGk
- Af8CDwGkAf8CDwGkAf8CDwGjAf8CDwGiAf8CDwGiAf8CDwGiAf8CDwGiAf8CDwGiAf8CDwGiAf8CDwGi
- Af8CDwGiAf8CDwGiAf8CDwGiAf8CDwGjAf8CDwGkAf8CDwGkAf8CDwGkAf8CDwGkAf8CDwGkAf8CDwGk
- Af8CEAGqAf8CFQGqAf8DSAGFAwcBCv8ABQADTgGXAzYB/wOyAf8DzQH/A90B/wPdAf8D3QH/A90B/wPd
+ /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AWgADNgRZAcQDVQHqAxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/
+ AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/
+ AxQB/wNdAeIDVAGuAykBPwgAAwcBCgNIAYUCFAGqAf8CDwGqAf8CDgGkAf8CDgGkAf8CDgGkAf8CDgGk
+ Af8CDgGkAf8CDgGkAf8CDgGjAf8CDgGiAf8CDgGiAf8CDgGiAf8CDgGiAf8CDgGiAf8CDgGiAf8CDgGi
+ Af8CDgGiAf8CDgGiAf8CDgGiAf8CDgGjAf8CDgGkAf8CDgGkAf8CDgGkAf8CDgGkAf8CDgGkAf8CDgGk
+ Af8CDwGqAf8CFAGqAf8DSAGFAwcBCv8ABQADTgGXAzUB/wOyAf8DzQH/A90B/wPdAf8D3QH/A90B/wPd
Af8D3QH/A90B/wPdAf8D3QH/A90B/wPdAf8D3QH/A90B/wPdAf8D3QH/A90B/wPdAf8D3QH/A90B/wPd
- Af8D3QH/A90B/wPIAf8DogH/AycB/wNGAYEEAANIAYUCDwGkAf8CDwGiAf8CDwGhAf8CDwGhAf8CDwGh
- Af8CDwGhAf8CDwGhAf8CDAGgAf8CDAGeAf8CDAGbAf8CDAGZAf8CDAGZAf8CDAGXAf8CDAGVAf8CDAGV
- Af8CDAGVAf8CDAGVAf8CDAGXAf8CDAGZAf8CDAGZAf8CDAGbAf8CDAGeAf8CDAGgAf8CDwGhAf8CDwGh
- Af8CDwGhAf8CDwGhAf8CDwGhAf8CDwGiAf8CDwGkAf8DSAGFVwABAQMCBAMEBAEGAwQBBgMDAQQDAQEC
- AwABAYwAAzcBWgNCAf8D2wH/A4sB/wMsAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMV
- Af8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AywB/wOH
- Af8DzQH/Ay4B/wMrAUICDwGkAf8CDwGiAf8CDAGdAf8CCgGYAf8CCgGXAf8CCgGXAf8CCgGXAf8CCgGX
- Af8CBwGRAf8CBwGPAf8CBwGMAf8CBwGKAf8CBwGKAf8CBQGIAf8CAgGGAf8CAgGGAf8CAgGGAf8CBAGG
- Af8CBwGIAf8CBwGKAf8CBwGKAf8CBwGMAf8CBwGPAf8CBwGVAf8CCgGXAf8CCgGXAf8CCgGXAf8CCgGX
- Af8CCgGYAf8CDAGdAf8CDwGiAf8CDwGkAf9QAAMCAQMDBgEIAw0BEgMaASQDIwEzAyEBMAMWAR4DCgEO
- AwQBBgMAAQGIAANZAcMDsgH/A4oB/wFSAUABJgH/AbkBkwE4Af8BzgGiAT4B/wHOAaIBPgH/Ac4BogE+
- Af8BzgGiAT4B/wHOAaIBPgH/Ac4BogE+Af8BzgGiAT4B/wHOAaIBPgH/Ac4BogE+Af8BzgGiAT4B/wG9
- AZUBNgH/AaMBgAEqAf8BvQGVATYB/wHOAaIBPgH/Ac4BogE+Af8BzgGiAT4B/wHOAaIBPgH/Ac4BogE+
- Af8BzgGiAT4B/wHOAaIBPgH/Ac4BogE+Af8BzgGiAT4B/wG5AZMBOAH/AV0BSAEpAf8DhQH/A6MB/wNU
- AasCDwGjAf8CDAGaAf8CCAGRAf8CAQGNAf8CAAGNAf8CAAGKAf8CAAGGAf8CAAGBAf8CAAFcAf8CAAFa
- Af8CAAFVAf8CAAFUAf8CAAFUAf8CAAFUAf8CAAFQAf8CAAFNAf8CAAFNAf8CAAFQAf8CAAFUAf8CAAFU
- Af8CAAFUAf8CAAFVAf8CAAFaAf8CAAGAAf8CAAGGAf8CAAGGAf8CAAGKAf8CAAGNAf8CAQGNAf8CCAGR
- Af8CDAGaAf8CDwGjAf9MAAMCAQMDBwEKAxcBIAMwAUwBRQJGAX4BTwJRAZwBTQJOAZYDQQFyAyoBQQMS
- ARkDBQEHAwABAS8AAf8DAAH/AwAB/wMAAf8DAAH/RAADQQH5A8oB/wMqAf8BuQGPATcB/wHVAaIBPwH/
- AdUBogE/Af8B1QGiAT8B/wHVAaIBPwH/AdUBogE/Af8B1QGiAT8B/wHVAaIBPwH/AdUBogE/Af8B1QGi
- AT8B/wHVAaIBPwH/AcQBlQE3Af8BiQFJASMB/wEeAS0BMwH/AZQBTgEiAf8B0wGhAT4B/wHVAaIBPwH/
- AdUBogE/Af8B1QGiAT8B/wHVAaIBPwH/AdUBogE/Af8B1QGiAT8B/wHVAaIBPwH/AdUBogE/Af8B1QGi
- AT8B/wHAAZMBOQH/AyMB/wPFAf8DTgHwAg0BmQH/AgMBiwH/AgABWgH/AgABVgH/AgABTgH/AgABTgH/
- AgABSQH/AgABRgH/AgABRQH/AgABQgH/AgABPgH/AgABPgH/AgABPQH/AgABOgH/AgABNgH/AgABNgH/
- AgABNgH/AgABNgH/AgABOgH/AgABPQH/AgABPgH/AgABPgH/AgABQgH/AgABRQH/AgABSAH/AgABTgH/
- AgABTgH/AgABTgH/AgABVgH/AgABWgH/AgMBiwH/Ag0BmQH/SAADAQECAwcBCQMYASIDOAFeAVMCVQGt
- AV0CYQHiAm0BcQH3A2UB9AFeAmEB2gNQAZoDLQFGAw4BEwMDAQQvAAH/AwAB/wMAAf8DAAH/AwAB/0QA
- AxUB/wPCAf8DFwH/AcwBlQE8Af8B1QGbAT4B/wHVAZsBPgH/AdUBmwE+Af8B1QGbAT4B/wHVAZsBPgH/
- AdUBmwE+Af8B1QGbAT4B/wHVAZsBPgH/AdUBmwE+Af8BvwGLATQB/wGTAUkBIQH/AR0BKwE0Af8BAAEz
- AY4B/wFMATkBJQH/AZUBSgEhAf8BzwGXATsB/wHVAZsBPgH/AdUBmwE+Af8B1QGbAT4B/wHVAZsBPgH/
- AdUBmwE+Af8B1QGbAT4B/wHVAZsBPgH/AdUBmwE+Af8BxQGQAToB/wMdAf8DwgH/AxUB/wILAZEB/wEF
- AQoBggH/AQUBIQGEAf8BCwEqAYUB/wELASoBgAH/AQsBLAGDAf8BCwEsAYMB/wELASwBgwH/AQsBLAFc
- Af8BCwEsAVwB/wELASwBXAH/AQsBLAFcAf8BCwEsAVcB/wELASkBVAH/AQsBKQFUAf8BCwEpAVQB/wEL
- ASkBVAH/AQsBKQFUAf8BCwEpAVQB/wELASkBVAH/AQsBKQFZAf8BCwEpAVkB/wELASkBWQH/AQsBKQFZ
- Af8BCwEqAYMB/wELASwBgwH/AQsBLAGDAf8BCwEsAYMB/wELASwBiAH/AQcBIQGHAf8BBQEKAYMB/wIL
- AZEB/0cAAQEDBgEIAxYBHgM4AV0DVQG1A2QB8QHzAfgB/AH/Ae0D/wHzA/8BmAGoAbIB/gNfAeADSAGF
- Ax8BLAMFAQcvAAH/AwAB/wMAAf8DAAH/AwAB/0QAAxUB/wO0Af8DFQH/Ac4BkAE7Af8B1QGUAT0B/wHV
- AZQBPQH/AdUBlAE9Af8B1QGUAT0B/wHVAZQBPQH/AdUBlAE9Af8B1AGTAT0B/wHQAZEBOwH/AbQBWwEu
- Af8BigFBASEB/wETASkBOQH/AQABFwFWAf8BAAEXAVEB/wEAAR4BVwH/ATYBLwEpAf8BkgFEASAB/wG5
- AYABMAH/AdIBkgE8Af8B1QGUAT0B/wHVAZQBPQH/AdUBlAE9Af8B1QGUAT0B/wHVAZQBPQH/AdUBlAE9
- Af8BxQGLATkB/wMcAf8DtAH/AxUB/wIGAYoB/wEKASMBhwH/ARwBhQGpAf8BMwGrAdQB/wFMAdEB3gH/
- AVEB1AHhAf8BVAHUAeEB/wFWAdQB4QH/AVYB1AHhAf8BVAHUAeEB/wFRAdQB4QH/AVEB1AHhAf8BUQHT
- AeAB/wFRAdEB3gH/AVEB0QHeAf8BUQHRAd4B/wFRAdEB3gH/AVEB0QHeAf8BUQHRAd4B/wFRAdEB3gH/
- AVEB0QHeAf8BUQHRAd4B/wFRAdEB3gH/AVEB0QHeAf8BUQHRAeEB/wFRAdQB4QH/AVEB1AHhAf8BTAHU
- AeEB/wE0AbIB2AH/AR4BhQGvAf8BCgEjAYsB/wIGAYoB/0MAAQEDBQEHAxQBGwM1AVYDVAGvAVoCXQHw
- AfMB+AH8Af8B1AP/AcQB/AL/AcYB/gL/AegD/wF/AYcBiwH7AVUCVgGxAy0BRQMHAQovAAH/AwAB/wMA
- Af8DAAH/AwAB/0QAAxUB/wOnAf8DFQH/Ac4BhwE6Af8B1QGLATwB/wHVAYsBPAH/AcsBhAE4Af8BvQFZ
- ATEB/wHEAYABNQH/AcABWwEzAf8BlQE/ASAB/wGNATwBIQH/AToBLQEpAf8BAAEhAU4B/wEAAQYBRAH/
- ARwBkQGyAf8BUQHVAeYB/wEAAToBiQH/AQABDAFKAf8BAAElAUUB/wFQATMBJAH/AZIBPgEgAf8BsQFS
- ASwB/wHDAYABNAH/AcMBgAE0Af8BugFYATAB/wHTAYoBOwH/AdUBiwE8Af8BxQGCATgB/wMcAf8DpwH/
- AxUB/wIFAYEB/wEOAS8BkAH/AS8BoQHCAf8BIAFZAaQB/wEUASsBWgH/ARUBKwGEAf8BFgErAYgB/wEX
- ASsBiAH/ARcBKwGBAf8BFgErAYEB/wEVASsBgQH/ARUBKwFaAf8BFQErAVkB/wEVASsBWQH/ARUBKwFZ
- Af8BFQErAVkB/wEVASsBWQH/ARUBKwFZAf8BFQErAVkB/wEVASsBWQH/ARUBKwGBAf8BFQErAYEB/wEV
- ASsBgQH/ARUBKwGBAf8BFwEsAYgB/wEaAS8BiAH/ARUBKwGEAf8BFAErAVoB/wEgAVsBpAH/AS8BoQHD
- Af8BDgEvAZEB/wIFAYEB/z8AAQEDBAEGAxIBGAMyAVADUgGpAVkCZAHsAZgBqAGyAf4B2QP/AcQB/AL/
- AcMB+wL/AcMB+wL/AdcD/wGoAaoBrgH9AVcCWQG/AzIBUAMIAQsvAAH/AwAB/wMAAf8DAAH/AwAB/0QA
- AxUB/wObAf8DFQH/Ac4BXQE4Af8B1QGDAToB/wHLAVsBNgH/AYMBNAEhAf8BRgEsASQB/wFUAS8BIgH/
- AUwBLQEjAf8BHQEqATUB/wEAASQBUgH/AQABDAFOAf8BAAEpAVgB/wFLAdAB5wH/AVYB3QHxAf8BOwGn
- AbEB/wFcAeEB9wH/ATIBqQHFAf8BAAENAUQB/wEAARgBVQH/AQABJwFKAf8BLgEqASwB/wFSAS4BIgH/
- AVMBLgEiAf8BQQEsASgB/wGUATkBHgH/AdMBggE5Af8BxQFZATYB/wMbAf8DmwH/AxUB/wIFAVwB/wEP
- ATABiwH/ASgBnAG9Af8BBgEXAUcB/wEBAQoBUwH/AQsBMQGYAf8BCgE0AZ0B/wEKATIBnQH/AQoBMQGc
- Af8BCgExAZYB/wEJATABlQH/AQwBLgGRAf8BAAEIAVMB/wIAAUoB/wIAAUoB/wIAAUoB/wIAAUoB/wIA
- AUoB/wEAAQYBUQH/AQsBKgGSAf8BCgEsAZQB/wEEASIBjQH/AQ4BOAGYAf8BAAEbAY4B/wEOATgBnwH/
- AQoBKAGTAf8BBgELAVMB/wIAAUQB/wEGARUBRQH/ASgBlwG0Af8BDwEvAYgB/wIFAVwB/zsAAQEDBAEG
- AxABFQMsAUMBTwJQAZsBWAJiAekBmAGoAbIB/gHeA/8BxgH+Av8BwwH7Av8BwwH7Av8ByAP/AewD/wF/
- AYgBiwH7AVUCVgGxAy0BRQMHAQovAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/
- JAADFQH/A5MB/wMVAf8BzAFVATYB/wHTAVgBOAH/Ac4BVQE2Af8BigExAR4B/wEAATkBhAH/AQABMQGN
- Af8BAAEpAYgB/wEAAR8BgQH/AQ0BVAGfAf8BTwHVAeYB/wGQAe8B/gH/ATIBmwG8Af8BPgEUASsB/wGR
- ARABKQH/AS0BKgFCAf8BSQHKAeYB/wGQAe0B+gH/ATkBtAHKAf8BAAE6AZIB/wEAASEBgQH/AQABKgGH
- Af8BAAE7AZYB/wEbASsBPgH/AZMBMwEdAf8B0gFYATgB/wHDAVEBNAH/AxoB/wOTAf8DFQH/AgUBXAH/
- AQ8BMQGLAf8BKAGdAb0B/wEGARcBTgH/AQkBMAGVAf8BRQHWAekB/wFGAdcB8AH/AUUB0gHwAf8BRQHR
- AfAB/wFFAdEB7gH/AUIBzQHrAf8BPwHFAecB/wEAARQBigH/AgcBVAH/AgcBVAH/AgcBVAH/AgcBVAH/
- AQYBCAFVAf8BAAEWAYwB/wFAAcEB4gH/AToBxAHoAf8BGAGKAc8B/wFOAeEB9QH/AQUBTgHDAf8BUAHh
- AfUB/wErAaIB1QH/AQABFQGSAf8BAAEEAVAB/wEGARUBTQH/ASYBlAG0Af8BDwEsAYgB/wIFAVwB/zgA
- AwQBBQMNARIDKAE8A0oBigFeAmEB2gKoAa0B/QHiA/8BxgH+Av8BwwH7Av8BwwH7Av8ByQP/AekD/wKo
- Aa0B/QFcAmEB3ANHAYIDHQEqAwUBBy8AAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIA
- Av8kAAMVAf8DjwH/AxUB/wHJAVIBNQH/AdABVQE3Af8B0AFVATcB/wGmAT0BJQH/ASMBJwE1Af8BCQFT
- AaMB/wE7AasB0gH/AZIB6wH4Af8BiQHqAfcB/wE6AaIBvAH/AToBJwFAAf8BmgEbAUEB/wG/AS4BiwH/
- AcEBMwGTAf8BuwEsAYIB/wGCARQBMwH/ATIBQwFdAf8BSQHDAdsB/wGTAfAB/AH/AYYB4QHzAf8BKAGR
- AbkB/wECAU4BnwH/AVABKAEgAf8BvAFKAS8B/wHQAVUBNwH/AcABTgEzAf8DGgH/A48B/wMVAf8CBQFc
- Af8BDwExAYsB/wEoAZ0BvQH/AQYBFwFSAf8BBgEyAZ8B/wFMAeIB9QH/AVMB7AL/AVgB7gL/AVkB7gL/
- AVkB7gL/AVkB7gL/ATgBwAHrAf8BAAEUAY8B/wIHAVkB/wIHAVYB/wIHAVQB/wIHAVUB/wEDAQwBggH/
- ARoBWAG+Af8BSgHaAfgB/wEaAZgB3wH/ATkBxAHxAf8BLQG2AeoB/wElAawB5QH/AUUB1gH5Af8BHwGf
- AeEB/wEoAZ8B0wH/AQYBIQGMAf8BBQEVAVAB/wEjAZQBtAH/AQ8BLAGIAf8CBQFcAf8kAAMBAQIDAwQE
- BAYECAELAw8BFAMkATYBRgJHAYABWAJcAdEBfwGIAYwB+wHpA/8ByAP/AcMB+wL/AcMB+wL/AcwD/wHw
- A/8BfwGIAYwB+wFZAl0B1wNMAZIDKwFCAw0BEgMDAQQvAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/
- AgAC/wIAAv8CAAL/JAADFQH/A48B/wMVAf8BxwFQATUB/wHOAVMBNwH/Ac4BUwE3Af8BpgE9ASYB/wIj
- ATEB/wEAAUMBkAH/ASIBhwGpAf8BFQEqAUIB/wFJAQ0BJAH/AaUBHAFEAf8BwgEvAYwB/wHLAT4BpAH/
- AdIBRgGxAf8B1AFHAbQB/wHRAUQBsAH/AcoBPQGiAf8BvgEtAYQB/wGSARYBOgH/ATsBEgEkAf8BDQE9
- AVsB/wEnAYoBrAH/AQABOAGIAf8BTwEoASAB/wG9AUkBMAH/Ac4BUwE3Af8BvwFNATMB/wMaAf8DjwH/
- AxUB/wIFAVwB/wEPATABiwH/ASgBnAG5Af8BBgEXAUwB/wEGATIBnwH/AUwB4QH1Af8BUQHnAv8BUgHo
- Av8BUwHoAv8BVQHqAv8BWQHuAv8BOAHAAesB/wEAARQBjgH/AgcBUwH/AgcBUgH/AgcBUQH/AgcBUQH/
- AQMBDQGBAf8BMAGhAdQB/wFRAeYC/wEHAUoBwQH/AVEB5gL/ARkBjwHUAf8BPgHJAfEB/wE+AckB8QH/
- ARkBjwHVAf8BRwHcAfUB/wELATABmAH/AQYBFQFLAf8BJwGUAbQB/wEPASwBiAH/AgUBXAH/HAADAgED
- AwYBCAMNAREDFwEgAyIBMgMqAUADLAFDAzEBTgNHAYIBWQJcAcwBbgF3AXsB+gHtA/8ByQP/AcMB+wL/
- AcMB+wL/Ac0D/wH4A/8BXQFyAXYB+AFcAl4BzgFIAkkBhwMrAUIDEQEXAwQBBgMAAQEvAAH/AwAB/wMA
- Af8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/JAADFQH/A5AB/wMVAf8BxQFOATQB/wHMAVEBNgH/
- AcwBUQE2Af8BpAE6ASUB/wEgASMBMwH/AQABPQGJAf8BAAFCAY0B/wEsARwBNgH/AbwBJQFaAf8BxAE1
- AZwB/wHRAUUBrwH/AdwBUQHBAf8B5gFaAc0B/wHpAV0B0gH/AeYBWwHNAf8B3QFSAcEB/wHQAUUBrwH/
- AcUBNgGbAf8BswEhAUkB/wEAASoBSwH/AQ4BSQGQAf8BAAEyAYMB/wFOAScBIAH/AbsBSAEvAf8BzAFR
- ATYB/wG9AUsBMgH/AxoB/wOQAf8DFQH/AgUBXAH/AQ8BMAGLAf8BKAGbAbgB/wEGARYBSgH/AQkBKgGS
- Af8BNQG7AeAB/wE5AbwB5gH/ATkBvwHmAf8BQAG/AeQB/wFAAcEB5wH/AUABxQHrAf8BOwG/AeQB/wEA
- AREBhAH/AgYBUQH/AgUBUQH/AgABUQH/AgABUQH/AQIBBQFUAf8BAAEOAYUB/wEAARQBjQH/AQABDwGI
- Af8BAAEUAY8B/wEAARABiwH/AQABEwGUAf8BAQEUAZYB/wEEARQBkwH/AQABFAGSAf8BAAEIAVUB/wEG
- ARUBSgH/ASgBlAG0Af8BDwEsAYgB/wIFAVwB/xcAAQEDBAEFAwoBDgMaASUDMQFNA0QBeQFPAlABmwFT
- AlQBrANUAa4DVQG1AVoCXgHYAm0BcQH3AfQD/wHKA/8BwwH7Av8BxAH8Av8B0Qf/Am0BcQH3AVgCWwHG
+ Af8D3QH/A90B/wPIAf8DogH/AyYB/wNGAYEEAANIAYUCDgGkAf8CDgGiAf8CDgGhAf8CDgGhAf8CDgGh
+ Af8CDgGhAf8CDgGhAf8CCwGgAf8CCwGeAf8CCwGbAf8CCwGZAf8CCwGZAf8CCwGXAf8CCwGVAf8CCwGV
+ Af8CCwGVAf8CCwGVAf8CCwGXAf8CCwGZAf8CCwGZAf8CCwGbAf8CCwGeAf8CCwGgAf8CDgGhAf8CDgGh
+ Af8CDgGhAf8CDgGhAf8CDgGhAf8CDgGiAf8CDgGkAf8DSAGFVwABAQMCBAMEBAEGAwQBBgMDAQQDAQEC
+ AwABAYwAAzcBWgNBAf8D2wH/A4sB/wMrAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMU
+ Af8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AysB/wOH
+ Af8DzQH/Ay0B/wMrAUICDgGkAf8CDgGiAf8CCwGdAf8CCQGYAf8CCQGXAf8CCQGXAf8CCQGXAf8CCQGX
+ Af8CBgGRAf8CBgGPAf8CBgGMAf8CBgGKAf8CBgGKAf8CBAGIAf8CAQGGAf8CAQGGAf8CAQGGAf8CAwGG
+ Af8CBgGIAf8CBgGKAf8CBgGKAf8CBgGMAf8CBgGPAf8CBgGVAf8CCQGXAf8CCQGXAf8CCQGXAf8CCQGX
+ Af8CCQGYAf8CCwGdAf8CDgGiAf8CDgGkAf9QAAMCAQMDBgEIAw0BEgMaASQDIwEzAyEBMAMWAR4DCgEO
+ AwQBBgMAAQGIAANZAcMDsgH/A4oB/wFRAT8BJQH/AbkBkwE3Af8BzgGiAT0B/wHOAaIBPQH/Ac4BogE9
+ Af8BzgGiAT0B/wHOAaIBPQH/Ac4BogE9Af8BzgGiAT0B/wHOAaIBPQH/Ac4BogE9Af8BzgGiAT0B/wG9
+ AZUBNQH/AaMBgAEpAf8BvQGVATUB/wHOAaIBPQH/Ac4BogE9Af8BzgGiAT0B/wHOAaIBPQH/Ac4BogE9
+ Af8BzgGiAT0B/wHOAaIBPQH/Ac4BogE9Af8BzgGiAT0B/wG5AZMBNwH/AVwBRwEoAf8DhQH/A6MB/wNU
+ AasCDgGjAf8CCwGaAf8CBwGRAf8CAAGNAf8CAAGNAf8CAAGKAf8CAAGGAf8CAAGBAf8CAAFbAf8CAAFZ
+ Af8CAAFUAf8CAAFTAf8CAAFTAf8CAAFTAf8CAAFPAf8CAAFMAf8CAAFMAf8CAAFPAf8CAAFTAf8CAAFT
+ Af8CAAFTAf8CAAFUAf8CAAFZAf8CAAGAAf8CAAGGAf8CAAGGAf8CAAGKAf8CAAGNAf8CAAGNAf8CBwGR
+ Af8CCwGaAf8CDgGjAf9MAAMCAQMDBwEKAxcBIAMwAUwBRQJGAX4BTwJRAZwBTQJOAZYDQQFyAyoBQQMS
+ ARkDBQEHAwABAS8AAf8DAAH/AwAB/wMAAf8DAAH/RAADQQH5A8oB/wMpAf8BuQGPATYB/wHVAaIBPgH/
+ AdUBogE+Af8B1QGiAT4B/wHVAaIBPgH/AdUBogE+Af8B1QGiAT4B/wHVAaIBPgH/AdUBogE+Af8B1QGi
+ AT4B/wHVAaIBPgH/AcQBlQE2Af8BiQFIASIB/wEdASwBMgH/AZQBTQEhAf8B0wGhAT0B/wHVAaIBPgH/
+ AdUBogE+Af8B1QGiAT4B/wHVAaIBPgH/AdUBogE+Af8B1QGiAT4B/wHVAaIBPgH/AdUBogE+Af8B1QGi
+ AT4B/wHAAZMBOAH/AyIB/wPFAf8DTgHwAgwBmQH/AgIBiwH/AgABWQH/AgABVQH/AgABTQH/AgABTQH/
+ AgABSAH/AgABRQH/AgABRAH/AgABQQH/AgABPQH/AgABPQH/AgABPAH/AgABOQH/AgABNQH/AgABNQH/
+ AgABNQH/AgABNQH/AgABOQH/AgABPAH/AgABPQH/AgABPQH/AgABQQH/AgABRAH/AgABRwH/AgABTQH/
+ AgABTQH/AgABTQH/AgABVQH/AgABWQH/AgIBiwH/AgwBmQH/SAADAQECAwcBCQMYASIDOAFeAVMCVQGt
+ AV0CYQHiAm0BbgH3A2UB9AFeAmEB2gNQAZoDLQFGAw4BEwMDAQQvAAH/AwAB/wMAAf8DAAH/AwAB/0QA
+ AxQB/wPCAf8DFgH/AcwBlQE7Af8B1QGbAT0B/wHVAZsBPQH/AdUBmwE9Af8B1QGbAT0B/wHVAZsBPQH/
+ AdUBmwE9Af8B1QGbAT0B/wHVAZsBPQH/AdUBmwE9Af8BvwGLATMB/wGTAUgBIAH/ARwBKgEzAf8BAAEy
+ AY4B/wFLATgBJAH/AZUBSQEgAf8BzwGXAToB/wHVAZsBPQH/AdUBmwE9Af8B1QGbAT0B/wHVAZsBPQH/
+ AdUBmwE9Af8B1QGbAT0B/wHVAZsBPQH/AdUBmwE9Af8BxQGQATkB/wMcAf8DwgH/AxQB/wIKAZEB/wEE
+ AQkBggH/AQQBIAGEAf8BCgEpAYUB/wEKASkBgAH/AQoBKwGDAf8BCgErAYMB/wEKASsBgwH/AQoBKwFb
+ Af8BCgErAVsB/wEKASsBWwH/AQoBKwFbAf8BCgErAVYB/wEKASgBUwH/AQoBKAFTAf8BCgEoAVMB/wEK
+ ASgBUwH/AQoBKAFTAf8BCgEoAVMB/wEKASgBUwH/AQoBKAFYAf8BCgEoAVgB/wEKASgBWAH/AQoBKAFY
+ Af8BCgEpAYMB/wEKASsBgwH/AQoBKwGDAf8BCgErAYMB/wEKASsBiAH/AQYBIAGHAf8BBAEJAYMB/wIK
+ AZEB/0cAAQEDBgEIAxYBHgM4AV0DVQG1A2QB8QHzAfgB/AH/Ae0D/wHzA/8BlgGmAbAB/gNfAeADSAGF
+ Ax8BLAMFAQcvAAH/AwAB/wMAAf8DAAH/AwAB/0QAAxQB/wO0Af8DFAH/Ac4BkAE6Af8B1QGUATwB/wHV
+ AZQBPAH/AdUBlAE8Af8B1QGUATwB/wHVAZQBPAH/AdUBlAE8Af8B1AGTATwB/wHQAZEBOgH/AbQBWgEt
+ Af8BigFAASAB/wESASgBOAH/AQABFgFVAf8BAAEWAVAB/wEAAR0BVgH/ATUBLgEoAf8BkgFDAR8B/wG5
+ AYABLwH/AdIBkgE7Af8B1QGUATwB/wHVAZQBPAH/AdUBlAE8Af8B1QGUATwB/wHVAZQBPAH/AdUBlAE8
+ Af8BxQGLATgB/wMbAf8DtAH/AxQB/wIFAYoB/wEJASIBhwH/ARsBhQGpAf8BMgGrAdQB/wFLAdEB3gH/
+ AVAB1AHhAf8BUwHUAeEB/wFVAdQB4QH/AVUB1AHhAf8BUwHUAeEB/wFQAdQB4QH/AVAB1AHhAf8BUAHT
+ AeAB/wFQAdEB3gH/AVAB0QHeAf8BUAHRAd4B/wFQAdEB3gH/AVAB0QHeAf8BUAHRAd4B/wFQAdEB3gH/
+ AVAB0QHeAf8BUAHRAd4B/wFQAdEB3gH/AVAB0QHeAf8BUAHRAeEB/wFQAdQB4QH/AVAB1AHhAf8BSwHU
+ AeEB/wEzAbIB2AH/AR0BhQGvAf8BCQEiAYsB/wIFAYoB/0MAAQEDBQEHAxQBGwM1AVYDVAGvAVoCXQHw
+ AfMB+AH8Af8B1AP/AcQB/AL/AcYB/gL/AegD/wF8AYYBigH7AVUCVgGxAy0BRQMHAQovAAH/AwAB/wMA
+ Af8DAAH/AwAB/0QAAxQB/wOnAf8DFAH/Ac4BhwE5Af8B1QGLATsB/wHVAYsBOwH/AcsBhAE3Af8BvQFY
+ ATAB/wHEAYABNAH/AcABWgEyAf8BlQE+AR8B/wGNATsBIAH/ATkBLAEoAf8BAAEgAU0B/wEAAQUBQwH/
+ ARsBkQGyAf8BUAHVAeYB/wEAATkBiQH/AQABCwFJAf8BAAEkAUQB/wFPATIBIwH/AZIBPQEfAf8BsQFR
+ ASsB/wHDAYABMwH/AcMBgAEzAf8BugFXAS8B/wHTAYoBOgH/AdUBiwE7Af8BxQGCATcB/wMbAf8DpwH/
+ AxQB/wIEAYEB/wENAS4BkAH/AS4BoQHCAf8BHwFYAaQB/wETASoBWQH/ARQBKgGEAf8BFQEqAYgB/wEW
+ ASoBiAH/ARYBKgGBAf8BFQEqAYEB/wEUASoBgQH/ARQBKgFZAf8BFAEqAVgB/wEUASoBWAH/ARQBKgFY
+ Af8BFAEqAVgB/wEUASoBWAH/ARQBKgFYAf8BFAEqAVgB/wEUASoBWAH/ARQBKgGBAf8BFAEqAYEB/wEU
+ ASoBgQH/ARQBKgGBAf8BFgErAYgB/wEZAS4BiAH/ARQBKgGEAf8BEwEqAVkB/wEfAVoBpAH/AS4BoQHD
+ Af8BDQEuAZEB/wIEAYEB/z8AAQEDBAEGAxIBGAMyAVADUgGpAVkCZAHsAZYBpgGwAf4B2QP/AcQB/AL/
+ AcMB+wL/AcMB+wL/AdcD/wGoAakBrQH9AVcCWQG/AzIBUAMIAQsvAAH/AwAB/wMAAf8DAAH/AwAB/0QA
+ AxQB/wObAf8DFAH/Ac4BXAE3Af8B1QGDATkB/wHLAVoBNQH/AYMBMwEgAf8BRQErASMB/wFTAS4BIQH/
+ AUsBLAEiAf8BHAEpATQB/wEAASMBUQH/AQABCwFNAf8BAAEoAVcB/wFKAdAB5wH/AVUB3QHxAf8BOgGn
+ AbEB/wFbAeEB9wH/ATEBqQHFAf8BAAEMAUMB/wEAARcBVAH/AQABJgFJAf8BLQEpASsB/wFRAS0BIQH/
+ AVIBLQEhAf8BQAErAScB/wGUATgBHQH/AdMBggE4Af8BxQFYATUB/wMaAf8DmwH/AxQB/wIEAVsB/wEO
+ AS8BiwH/AScBnAG9Af8BBQEWAUYB/wEAAQkBUgH/AQoBMAGYAf8BCQEzAZ0B/wEJATEBnQH/AQkBMAGc
+ Af8BCQEwAZYB/wEIAS8BlQH/AQsBLQGRAf8BAAEHAVIB/wIAAUkB/wIAAUkB/wIAAUkB/wIAAUkB/wIA
+ AUkB/wEAAQUBUAH/AQoBKQGSAf8BCQErAZQB/wEDASEBjQH/AQ0BNwGYAf8BAAEaAY4B/wENATcBnwH/
+ AQkBJwGTAf8BBQEKAVIB/wIAAUMB/wEFARQBRAH/AScBlwG0Af8BDgEuAYgB/wIEAVsB/zsAAQEDBAEG
+ AxABFQMsAUMBTwJQAZsBWAJiAekBlgGmAbAB/gHeA/8BxgH+Av8BwwH7Av8BwwH7Av8ByAP/AewD/wF8
+ AYcBigH7AVUCVgGxAy0BRQMHAQovAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/
+ JAADFAH/A5MB/wMUAf8BzAFUATUB/wHTAVcBNwH/Ac4BVAE1Af8BigEwAR0B/wEAATgBhAH/AQABMAGN
+ Af8BAAEoAYgB/wEAAR4BgQH/AQwBUwGfAf8BTgHVAeYB/wGQAe8B/gH/ATEBmwG8Af8BPQETASoB/wGR
+ AQ8BKAH/ASwBKQFBAf8BSAHKAeYB/wGQAe0B+gH/ATgBtAHKAf8BAAE5AZIB/wEAASABgQH/AQABKQGH
+ Af8BAAE6AZYB/wEaASoBPQH/AZMBMgEcAf8B0gFXATcB/wHDAVABMwH/AxkB/wOTAf8DFAH/AgQBWwH/
+ AQ4BMAGLAf8BJwGdAb0B/wEFARYBTQH/AQgBLwGVAf8BRAHWAekB/wFFAdcB8AH/AUQB0gHwAf8BRAHR
+ AfAB/wFEAdEB7gH/AUEBzQHrAf8BPgHFAecB/wEAARMBigH/AgYBUwH/AgYBUwH/AgYBUwH/AgYBUwH/
+ AQUBBwFUAf8BAAEVAYwB/wE/AcEB4gH/ATkBxAHoAf8BFwGKAc8B/wFNAeEB9QH/AQQBTQHDAf8BTwHh
+ AfUB/wEqAaIB1QH/AQABFAGSAf8BAAEDAU8B/wEFARQBTAH/ASUBlAG0Af8BDgErAYgB/wIEAVsB/zgA
+ AwQBBQMNARIDKAE8A0oBigFeAmEB2gKoAawB/QHiA/8BxgH+Av8BwwH7Av8BwwH7Av8ByQP/AekD/wKo
+ AawB/QFcAmEB3ANHAYIDHQEqAwUBBy8AAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIA
+ Av8kAAMUAf8DjwH/AxQB/wHJAVEBNAH/AdABVAE2Af8B0AFUATYB/wGmATwBJAH/ASIBJgE0Af8BCAFS
+ AaMB/wE6AasB0gH/AZIB6wH4Af8BiQHqAfcB/wE5AaIBvAH/ATkBJgE/Af8BmgEaAUAB/wG/AS0BiwH/
+ AcEBMgGTAf8BuwErAYIB/wGCARMBMgH/ATEBQgFcAf8BSAHDAdsB/wGTAfAB/AH/AYYB4QHzAf8BJwGR
+ AbkB/wEBAU0BnwH/AU8BJwEfAf8BvAFJAS4B/wHQAVQBNgH/AcABTQEyAf8DGQH/A48B/wMUAf8CBAFb
+ Af8BDgEwAYsB/wEnAZ0BvQH/AQUBFgFRAf8BBQExAZ8B/wFLAeIB9QH/AVIB7AL/AVcB7gL/AVgB7gL/
+ AVgB7gL/AVgB7gL/ATcBwAHrAf8BAAETAY8B/wIGAVgB/wIGAVUB/wIGAVMB/wIGAVQB/wECAQsBggH/
+ ARkBVwG+Af8BSQHaAfgB/wEZAZgB3wH/ATgBxAHxAf8BLAG2AeoB/wEkAawB5QH/AUQB1gH5Af8BHgGf
+ AeEB/wEnAZ8B0wH/AQUBIAGMAf8BBAEUAU8B/wEiAZQBtAH/AQ4BKwGIAf8CBAFbAf8kAAMBAQIDAwQE
+ BAYECAELAw8BFAMkATYBRgJHAYABWAJcAdEBfAGHAYsB+wHpA/8ByAP/AcMB+wL/AcMB+wL/AcwD/wHw
+ A/8BfAGHAYsB+wFZAl0B1wNMAZIDKwFCAw0BEgMDAQQvAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/
+ AgAC/wIAAv8CAAL/JAADFAH/A48B/wMUAf8BxwFPATQB/wHOAVIBNgH/Ac4BUgE2Af8BpgE8ASUB/wIi
+ ATAB/wEAAUIBkAH/ASEBhwGpAf8BFAEpAUEB/wFIAQwBIwH/AaUBGwFDAf8BwgEuAYwB/wHLAT0BpAH/
+ AdIBRQGxAf8B1AFGAbQB/wHRAUMBsAH/AcoBPAGiAf8BvgEsAYQB/wGSARUBOQH/AToBEQEjAf8BDAE8
+ AVoB/wEmAYoBrAH/AQABNwGIAf8BTgEnAR8B/wG9AUgBLwH/Ac4BUgE2Af8BvwFMATIB/wMZAf8DjwH/
+ AxQB/wIEAVsB/wEOAS8BiwH/AScBnAG5Af8BBQEWAUsB/wEFATEBnwH/AUsB4QH1Af8BUAHnAv8BUQHo
+ Av8BUgHoAv8BVAHqAv8BWAHuAv8BNwHAAesB/wEAARMBjgH/AgYBUgH/AgYBUQH/AgYBUAH/AgYBUAH/
+ AQIBDAGBAf8BLwGhAdQB/wFQAeYC/wEGAUkBwQH/AVAB5gL/ARgBjwHUAf8BPQHJAfEB/wE9AckB8QH/
+ ARgBjwHVAf8BRgHcAfUB/wEKAS8BmAH/AQUBFAFKAf8BJgGUAbQB/wEOASsBiAH/AgQBWwH/HAADAgED
+ AwYBCAMNAREDFwEgAyIBMgMqAUADLAFDAzEBTgNHAYIBWQJcAcwBbQF2AXoB+gHtA/8ByQP/AcMB+wL/
+ AcMB+wL/Ac0D/wH4A/8BXAFxAXUB+AFcAl4BzgFIAkkBhwMrAUIDEQEXAwQBBgMAAQEvAAH/AwAB/wMA
+ Af8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/JAADFAH/A5AB/wMUAf8BxQFNATMB/wHMAVABNQH/
+ AcwBUAE1Af8BpAE5ASQB/wEfASIBMgH/AQABPAGJAf8BAAFBAY0B/wErARsBNQH/AbwBJAFZAf8BxAE0
+ AZwB/wHRAUQBrwH/AdwBUAHBAf8B5gFZAc0B/wHpAVwB0gH/AeYBWgHNAf8B3QFRAcEB/wHQAUQBrwH/
+ AcUBNQGbAf8BswEgAUgB/wEAASkBSgH/AQ0BSAGQAf8BAAExAYMB/wFNASYBHwH/AbsBRwEuAf8BzAFQ
+ ATUB/wG9AUoBMQH/AxkB/wOQAf8DFAH/AgQBWwH/AQ4BLwGLAf8BJwGbAbgB/wEFARUBSQH/AQgBKQGS
+ Af8BNAG7AeAB/wE4AbwB5gH/ATgBvwHmAf8BPwG/AeQB/wE/AcEB5wH/AT8BxQHrAf8BOgG/AeQB/wEA
+ ARABhAH/AgUBUAH/AgQBUAH/AgABUAH/AgABUAH/AQEBBAFTAf8BAAENAYUB/wEAARMBjQH/AQABDgGI
+ Af8BAAETAY8B/wEAAQ8BiwH/AQABEgGUAf8BAAETAZYB/wEDARMBkwH/AQABEwGSAf8BAAEHAVQB/wEF
+ ARQBSQH/AScBlAG0Af8BDgErAYgB/wIEAVsB/xcAAQEDBAEFAwoBDgMaASUDMQFNA0QBeQFPAlABmwFT
+ AlQBrANUAa4DVQG1AVoCXgHYAm0BbgH3AfQD/wHKA/8BwwH7Av8BxAH8Av8B0Qf/Am0BbgH3AVgCWwHG
A0MBeAMmATgDEAEVAwQBBgMAAQEzAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/
- JAADFQH/A5IB/wMVAf8BwwFLATMB/wHKAU4BNQH/AcgBTQE0Af8BjAEsARsB/wEJASIBPwH/AQQBQgGM
- Af8BBAFOAZ0B/wFJARoBNgH/AcIBLwGQAf8BzQFAAasB/wHeAVQBxAH/Ae8BhwHaAf8B+wGTAewB/wH9
- AZgB9AH/AfsBkwHsAf8B7wGHAdoB/wHeAVQBxAH/Ac4BQAGsAf8BvQEsAYQB/wEYASwBTAH/ARYBVQGd
- Af8BAAExAYQB/wE8ASMBJQH/AbABQAEqAf8BygFOATUB/wG7AUgBMQH/AxoB/wOSAf8DFQH/AgUBXAH/
- AQ8BMAGKAf8BKAGXAbYB/wEGARUBSgH/AQABBgFTAf8BAgETAY8B/wECARUBlwH/AQIBFQGXAf8BAgEV
- AY8B/wECARUBjwH/AQIBFQGPAf8BAgESAYgB/wECAQYBVQH/AgEBUQH/AgABUQH/AgABUQH/AgABUQH/
- AgABUQH/AgEBUQH/AgYBUQH/AgcBUwH/AgcBWQH/AgcBWQH/AgcBXQH/AgcBgwH/AgcBgwH/AgcBXAH/
- AgABSwH/AQYBFQFKAf8BKAGUAbQB/wEPASwBiAH/AgUBXAH/EwABAQMEAQYDDwEUAyQBNQE/AkABbwNW
- AbMBWwJhAeEDZQH0AWkBdQF6AfoBXQFyAXYB+AJZAWAB9QFaAXIBeQL6A/8BzQP/AcMB+wL/AcQB/AL/
- AdQD/wHzAfgB/AH/AlkBYgH1AVYCWAHBA0ABcAMgAS4DCwEPAwQBBQMAAQEbAAH/AwAB/wMAAf8DAAH/
+ JAADFAH/A5IB/wMUAf8BwwFKATIB/wHKAU0BNAH/AcgBTAEzAf8BjAErARoB/wEIASEBPgH/AQMBQQGM
+ Af8BAwFNAZ0B/wFIARkBNQH/AcIBLgGQAf8BzQE/AasB/wHeAVMBxAH/Ae8BhwHaAf8B+wGTAewB/wH9
+ AZgB9AH/AfsBkwHsAf8B7wGHAdoB/wHeAVMBxAH/Ac4BPwGsAf8BvQErAYQB/wEXASsBSwH/ARUBVAGd
+ Af8BAAEwAYQB/wE7ASIBJAH/AbABPwEpAf8BygFNATQB/wG7AUcBMAH/AxkB/wOSAf8DFAH/AgQBWwH/
+ AQ4BLwGKAf8BJwGXAbYB/wEFARQBSQH/AQABBQFSAf8BAQESAY8B/wEBARQBlwH/AQEBFAGXAf8BAQEU
+ AY8B/wEBARQBjwH/AQEBFAGPAf8BAQERAYgB/wEBAQUBVAH/AgABUAH/AgABUAH/AgABUAH/AgABUAH/
+ AgABUAH/AgABUAH/AgUBUAH/AgYBUgH/AgYBWAH/AgYBWAH/AgYBXAH/AgYBgwH/AgYBgwH/AgYBWwH/
+ AgABSgH/AQUBFAFJAf8BJwGUAbQB/wEOASsBiAH/AgQBWwH/EwABAQMEAQYDDwEUAyQBNQE/AkABbwNW
+ AbMBWwJhAeEDZQH0AWgBdAF5AfoBXAFxAXUB+AJZAV4B9QFYAXEBeAL6A/8BzQP/AcMB+wL/AcQB/AL/
+ AdQD/wHzAfgB/AH/AlkBYAH1AVYCWAHBA0ABcAMgAS4DCwEPAwQBBQMAAQEbAAH/AwAB/wMAAf8DAAH/
AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/
- AgAC/wIAAv8CAAL/AgAC/wwAAxUB/wOWAf8DFQH/AcEBSAEzAf8ByAFLATQB/wHEAUkBMgH/AYcBKQEb
- Af8BAAEoAVIB/wEWAVABlwH/AQgBSwGXAf8BgAEZAToB/wHGATUBmgH/AdUBSQG3Af8B6gGAAdIB/wH8
- AZYB8QL/AagB/gL/Aa8D/wGoAf4B/wH8AZYB8QH/AeoBgAHSAf8B1gFJAbcB/wHFATMBkwH/AS8BJQFB
- Af8BFAFXAaAB/wEAAT0BjQH/ARoBIgE2Af8BjAEqARoB/wHHAUsBNAH/AbkBRQExAf8DGwH/A5YB/wMV
- Af8CBQFbAf8BDwEuAYUB/wElAZUBtAH/AQUBFQFKAf8CAAFLAf8CBwFcAf8CBwGDAf8CBwGDAf8CBwFZ
- Af8CBwFZAf8CBwFWAf8CBwFSAf8CAQFRAf8CAAFRAf8CAAFRAf8CAAFRAf8CAAFRAf8CAAFRAf8CAAFR
- Af8CBQFRAf8CBwFTAf8CBwFZAf8CBwFZAf8CBwFZAf8CBwGDAf8CBwGDAf8CBwFcAf8CAAFLAf8BBgEV
- AUoB/wEoAZQBtAH/AQ8BLAGIAf8CBQFcAf8QAAMCAQMDCwEPAyMBNAFEAkUBfAFXAloBxQJtAXQB9wHz
+ AgAC/wIAAv8CAAL/AgAC/wwAAxQB/wOWAf8DFAH/AcEBRwEyAf8ByAFKATMB/wHEAUgBMQH/AYcBKAEa
+ Af8BAAEnAVEB/wEVAU8BlwH/AQcBSgGXAf8BgAEYATkB/wHGATQBmgH/AdUBSAG3Af8B6gGAAdIB/wH8
+ AZYB8QL/AagB/gL/Aa8D/wGoAf4B/wH8AZYB8QH/AeoBgAHSAf8B1gFIAbcB/wHFATIBkwH/AS4BJAFA
+ Af8BEwFWAaAB/wEAATwBjQH/ARkBIQE1Af8BjAEpARkB/wHHAUoBMwH/AbkBRAEwAf8DGgH/A5YB/wMU
+ Af8CBAFaAf8BDgEtAYUB/wEkAZUBtAH/AQQBFAFJAf8CAAFKAf8CBgFbAf8CBgGDAf8CBgGDAf8CBgFY
+ Af8CBgFYAf8CBgFVAf8CBgFRAf8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQ
+ Af8CBAFQAf8CBgFSAf8CBgFYAf8CBgFYAf8CBgFYAf8CBgGDAf8CBgGDAf8CBgFbAf8CAAFKAf8BBQEU
+ AUkB/wEnAZQBtAH/AQ4BKwGIAf8CBAFbAf8QAAMCAQMDCwEPAyMBNAFEAkUBfAFXAloBxQJtAXEB9wHz
AfgB/AH/AfED/wHnA/8B6gP/Ae8D/wHkA/8BzQP/AcMB+wL/AcYB/gL/AdoD/wHzAfgB/AH/AWQCZQH0
AVYCWAG8Az0BaQMdASoDCgENAwMBBCMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
- Af8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DAADFQH/
- A5oB/wMVAf8BvgFHATIB/wHFAUkBMwH/Aa8BPQEqAf8BSQEjAR4B/wEAATIBiwH/AS0BiQGrAf8BBgE6
- AV0B/wGpASEBSwH/AcgBOQGhAf8B2gFOAbwB/wHwAYgB3AH/Af4BnwH6Av8BtAP/AcID/wG0Av8B/gGf
- AfoB/wHwAYgB3AH/AdsBTgG9Af8ByQE4AZ0B/wFVARoBOQH/ARABVAGdAf8BHAFZAaIB/wEAAScBUgH/
- AYYBKAEaAf8BwwFIATIB/wG2AUQBMAH/AxsB/wOaAf8DFQH/AgUBWgH/AQ8BLAGDAf8BJwGUAbQB/wEG
- ARUBSgH/AgABSwH/AgcBXAH/AgcBgwH/AgcBgwH/AgcBWQH/AgcBWQH/AgcBVAH/AgcBUQH/AgABUQH/
- AgABUQH/AgABUQH/AgABUQH/AgABUQH/AgABUQH/AgABUQH/AgABUQH/AgcBUQH/AgcBVQH/AgcBWQH/
- AgcBWQH/AgcBgwH/AgcBgwH/AgcBXAH/AgABSwH/AQYBFQFKAf8BKAGUAbQB/wEPASwBiAH/AgUBXAH/
- EAADAwEEAxgBIQM9AWkBVwJZAb8BcQF3AXsB+gHxA/8BzgP/AcQB/AL/AcMB+wL/AcMB+wL/AcMB+wL/
- AcMB+wL/AcMB+wL/AcYB/gL/Ad4D/wGYAagBsgH+AU4CXQHwAVUCVwG3AzsBYwMaASUDCQEMAwMBBCcA
+ Af8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DAADFAH/
+ A5oB/wMUAf8BvgFGATEB/wHFAUgBMgH/Aa8BPAEpAf8BSAEiAR0B/wEAATEBiwH/ASwBiQGrAf8BBQE5
+ AVwB/wGpASABSgH/AcgBOAGhAf8B2gFNAbwB/wHwAYgB3AH/Af4BnwH6Av8BtAP/AcID/wG0Av8B/gGf
+ AfoB/wHwAYgB3AH/AdsBTQG9Af8ByQE3AZ0B/wFUARkBOAH/AQ8BUwGdAf8BGwFYAaIB/wEAASYBUQH/
+ AYYBJwEZAf8BwwFHATEB/wG2AUMBLwH/AxoB/wOaAf8DFAH/AgQBWQH/AQ4BKwGDAf8BJgGUAbQB/wEF
+ ARQBSQH/AgABSgH/AgYBWwH/AgYBgwH/AgYBgwH/AgYBWAH/AgYBWAH/AgYBUwH/AgYBUAH/AgABUAH/
+ AgABUAH/AgABUAH/AgABUAH/AgABUAH/AgABUAH/AgABUAH/AgABUAH/AgYBUAH/AgYBVAH/AgYBWAH/
+ AgYBWAH/AgYBgwH/AgYBgwH/AgYBWwH/AgABSgH/AQUBFAFJAf8BJwGUAbQB/wEOASsBiAH/AgQBWwH/
+ EAADAwEEAxgBIQM9AWkBVwJZAb8BcAF2AXoB+gHxA/8BzgP/AcQB/AL/AcMB+wL/AcMB+wL/AcMB+wL/
+ AcMB+wL/AcMB+wL/AcYB/gL/Ad4D/wGWAaYBsAH+AU4CXQHwAVUCVwG3AzsBYwMaASUDCQEMAwMBBCcA
Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIA
- Av8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DAADFQH/A58B/wMVAf8BuwFEATEB/wHAAUUBMQH/
- AYYBJwEZAf8BDAEhAToB/wEAAUABlAH/ATQBlQG5Af8BJAErAUYB/wG4ASQBWAH/AccBOQGgAf8B2QFN
- AbsB/wHvAYUB2gH/Af4BnQH6Av8BsQP/AbwD/wGxAv8B/gGdAfoB/wHvAYUB2gH/AdkBTQG8Af8BxwE4
- AZ8B/wGkAR4BRwH/AQ8BRAGJAf8BOgGXAbgB/wEAATABigH/AUgBIgEfAf8BrQE7ASkB/wGzAUEBLwH/
- AxsB/wOfAf8DFQH/AgUBWgH/AQ8BLAGDAf8BKAGUAbQB/wEGARUBSgH/AQEBEgFcAf8BDgE8AawB/wEP
- AUEBtgH/AQ0BPwGwAf8BBwEuAaIB/wEDARgBjgH/AQQBCwFcAf8CBwFTAf8CAAFRAf8CAAFRAf8CAAFR
- Af8CAAFRAf8CAAFRAf8CAAFRAf8CAAFRAf8CAAFRAf8CBwFRAf8CBwFUAf8CBwFZAf8CBwFZAf8CBwGD
- Af8CBwGDAf8CBwFcAf8CAAFLAf8BBgEVAUoB/wEnAZQBtAH/AQ8BLAGIAf8CBQFcAf8QAAMEAQYDIwEz
- AU0CTgGVA2UB9AT/AdoD/wHZA/8B4AP/Ad0D/wHPA/8BxQH9Av8BwwH7Av8BwwH7Av8B0wP/AZgBqAGy
+ Av8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DAADFAH/A58B/wMUAf8BuwFDATAB/wHAAUQBMAH/
+ AYYBJgEYAf8BCwEgATkB/wEAAT8BlAH/ATMBlQG5Af8BIwEqAUUB/wG4ASMBVwH/AccBOAGgAf8B2QFM
+ AbsB/wHvAYUB2gH/Af4BnQH6Av8BsQP/AbwD/wGxAv8B/gGdAfoB/wHvAYUB2gH/AdkBTAG8Af8BxwE3
+ AZ8B/wGkAR0BRgH/AQ4BQwGJAf8BOQGXAbgB/wEAAS8BigH/AUcBIQEeAf8BrQE6ASgB/wGzAUABLgH/
+ AxoB/wOfAf8DFAH/AgQBWQH/AQ4BKwGDAf8BJwGUAbQB/wEFARQBSQH/AQABEQFbAf8BDQE7AawB/wEO
+ AUABtgH/AQwBPgGwAf8BBgEtAaIB/wECARcBjgH/AQMBCgFbAf8CBgFSAf8CAAFQAf8CAAFQAf8CAAFQ
+ Af8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQAf8CBgFQAf8CBgFTAf8CBgFYAf8CBgFYAf8CBgGD
+ Af8CBgGDAf8CBgFbAf8CAAFKAf8BBQEUAUkB/wEmAZQBtAH/AQ4BKwGIAf8CBAFbAf8QAAMEAQYDIwEz
+ AU0CTgGVA2UB9AT/AdoD/wHZA/8B4AP/Ad0D/wHPA/8BxQH9Av8BwwH7Av8BwwH7Av8B0wP/AZYBpgGw
Af4BTgJdAfABVQJXAbcDOgFgAxgBIgMIAQsDAgEDKwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
Af8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIA
- Av8MAAMVAf8DpAH/AxUB/wG5AUEBLwH/AaABMwEjAf8BQwEfAR0B/wEAASEBWQH/ASMBWAGiAf8BCwFJ
- AZIB/wFRAREBIgH/AbcBJAFbAf8BwgE1AZsB/wHTAUcBswH/AeYBXAHPAf8B+gGRAesC/wGgAfwC/wGo
- Af4C/wGgAfwB/wH6AZEB6wH/AeYBXAHPAf8B0wFHAbQB/wHDATQBmgH/AbYBIgFPAf8BJQEdATEB/wEf
- AVoBpAH/AQABPgGRAf8BBwEZATUB/wGEASUBFwH/AakBOgEqAf8DGwH/A6QB/wMVAf8CBQFbAf8BDwEs
- AYUB/wEoAZQBtAH/AQYBFQFKAf8BDQEyAZIB/wFMAeQB9QH/AVEB6QL/AUoB4AH4Af8BLQGxAd8B/wEV
- AUoBtQH/AQcBGQGKAf8BBwEJAVMB/wIBAVEB/wIAAVEB/wIAAVEB/wIAAVEB/wIAAVEB/wIAAVEB/wIA
- AVEB/wIFAVEB/wIHAVIB/wIHAVYB/wIHAVsB/wEEAQwBhAH/AQMBEQGNAf8BAwEPAYwB/wEGAQoBgwH/
- AgABTAH/AQUBFQFKAf8BJQGVAbQB/wEPAS4BiAH/AgUBXAH/EAADBAEGAyIBMgFMAk0BkQNkAfEBqAGp
- AawB/QGMAaEBrwH+AqgBrQH9AW0BhQGLAfsBaAF6AYIB/AHnAfEB+AH/AdUD/wHDAfsC/wHDAfsC/wHg
- A/8BXwGAAYkB+wFaAl0B0wNCAXQDGgElAwYBCAMBAQIvAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
- AwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/
- AgAC/wwAAxUB/wOqAf8DFQH/AakBNwEoAf8BSwEgAR0B/wE8AZYBtQH/AVUBwQHkAf8BlAHYAesB/wEA
- AS8BiAH/AQABIgFDAf8BoQEaAUIB/wG/AS0BjgH/AcoBPQGmAf8B2gFOAbwB/wHoAYEB0gH/AfQBigHh
- Af8B+QGQAegB/wH0AYoB4QH/AegBgQHSAf8B2gFOAb0B/wHLAT0BpQH/AcABLAGKAf8BWwEZATYB/wEA
- ASABUAH/ARwBWgGpAf8BnAHhAe8B/wFHAbAB1gH/AS8BKAEwAf8BkAEsAR8B/wMcAf8DqgH/AxUB/wIF
- AVwB/wEPASwBiAH/ASgBlAG0Af8BBgEVAUoB/wEDARwBigH/ARYBjAHPAf8BFgGTAdwB/wEXAY8B1QH/
- AQ0BVAHDAf8BBwEuAaUB/wECARIBiQH/AQIBCAFYAf8CBgFRAf8CAQFRAf8CAAFRAf8CAAFRAf8CAAFR
- Af8CAAFRAf8CAQFRAf8CBgFRAf8CBwFTAf8CBwFbAf8BBwEWAY4B/wEUAUwBuAH/ASoBmgHSAf8BIQGN
- AcsB/wELATMBpQH/AQABCAFUAf8BBgEVAUoB/wEoAZcBtgH/AQ8BMAGKAf8CBQFcAf8QAAMDAQQDFgEe
- AzYBWQFPAlEBnAFXAlkBvwFZAlwByQFaAl0BygFcAl4BzgFYAl8B4wFXAmIB9gHwA/8BwwH7Av8BwwH7
- Av8B3QP/AXIBfgGIAfwDWQHHAzcBWwMPARQDAAEBTwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIA
- Av8CAAL/AgAC/yQAAxUB/wOwAf8DFQH/Aa8BOAErAf8BWgEfARcB/wE9ARoBHAH/ATgBVAGFAf8BsAHu
- AfcB/wGbAeMB7wH/AQABMgGRAf8BBwEuAUcB/wGlAR4BSgH/AcABMQGVAf8BywE/AakB/wHWAUoBtwH/
- Ad4BVAHCAf8B4QFWAcYB/wHeAVQBwgH/AdYBSgG3Af8BywE/AagB/wHDATABkQH/AYEBGgE8Af8BAAE4
- AYAB/wEPAVIBpQH/AbcB8wH6Af8BlgHaAeQB/wEwASUBLQH/AVABHgEZAf8BowEzASgB/wMcAf8DsAH/
- AxUB/wIFAVwB/wEPASwBiAH/ASgBlAG0Af8BBgEVAUoB/wEDASoBjwH/ATYBxwHoAf8BPQHQAfMB/wE+
- AcsB8gH/ATQBuwHmAf8BHgGNAcwB/wEKATUBpQH/AQUBEQGBAf8BAAEGAVEB/wIAAVEB/wIAAVEB/wIA
- AVEB/wIAAVEB/wIAAVEB/wIAAVEB/wIAAVEB/wIHAVEB/wEEAQoBWwH/ARABSgG1Af8BPwHQAfEB/wFP
- AekB/QH/AUwB5QH7Af8BKAGpAdwB/wECARkBhAH/AQYBFgFKAf8BKAGbAbgB/wEPATABiwH/AgUBXAH/
- EAADAgEDAwoBDQMcAScDLwFJAzwBZgNEAXoDSAGEAU4CTwGXAVkCXAHMAVMCZAHxBP8BwwH7Av8BwwH7
- Av8B1wP/AagBqgGuAf0DWwHIAzcBWgMLAQ9TAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIA
- Av8CAAL/JAADFQH/A7YB/wMVAf8BsAE3ASsB/wGyATcBKgH/AZ8BLgEiAf8BWwEeARUB/wEiARoBKQH/
- AZMB1AHoAf8BlgHeAe8B/wEAAUEBlgH/ARoBJQE8Af8BuAEiAVUB/wG/AS8BkwH/AcYBOAGgAf8BywE+
- AaYB/wHNAUABqgH/AcsBPgGmAf8BxgE4AaAB/wHAAS8BkQH/AZ0BHQFGAf8BAAE6AVQB/wEPAVEBqAH/
- Aa8B6wH4Af8BTgGgAcMB/wFAAhkB/wFdAR4BFAH/Aa0BNQEoAf8BqQE1ASoB/wMcAf8DtgH/AxUB/wIF
- AVwB/wEPASwBiAH/AScBlAG0Af8BBgEVAUoB/wEBASUBjgH/AS8BwwHnAf8BNgHOAfIB/wE2AcgB8gH/
- ASwBtAHmAf8BGQGKAcoB/wEJATMBnwH/AQABDQFXAf8CAAFIAf8CAAFGAf8CAAFGAf8CAAFGAf8CAAFG
- Af8CAAFGAf8CAAFGAf8CAAFGAf8CAAFHAf8BAAEHAVUB/wEgAZUBywH/AUQB6QH9Af8BRgHuAv8BRgHu
- Av8BOAHVAfAB/wEBASYBkAH/AQYBFwFKAf8BKAGcAbkB/wEPATABiwH/AgUBXAH/EwABAQMHAQkDFgEf
- Ay8BSQFBAkIBcwFMAk0BkQFQAlIBowFVAlcBugNfAeABSQJiAfYB8wP/AcMB+wL/AcMB+wL/Ad0D/wFy
- AX4BiAH8AVcCWgG9AzEBTwMJAQxTAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/
- JAADFQH/A7sB/wMVAf8BrQE0ASoB/wGzATYBKwH/AbMBNgErAf8BqAExASYB/wFaARsBFAH/ASIBGgEp
- Af8BkQHRAeoB/wFZAboB3QH/AQABSgGTAf8BQwEXATIB/wG4ASABWAH/AbwBKAGHAf8BwAEqAYoB/wG/
- ASsBjAH/AcABKgGKAf8BvAEnAYYB/wG0AR8BUAH/ARYBKAE9Af8BBAFQAaIB/wGdAd4B8QH/AU4BoAHG
- Af8BQgEYARkB/wGWASgBHwH/AbIBNgErAf8BswE2ASsB/wGmATIBKQH/Ax0B/wO7Af8DFQH/AgUBXAH/
- AQ8BLAGIAf8BIwGUAbQB/wEFARUBSgH/AQABFwGFAf8BDQGCAcoB/wEMAY4B1wH/AQwBigHXAf8BDAGG
- Ac8B/wEMAVQBwAH/AQYBOwGqAf8BAgEcAYwB/wIAAUMB/wIAAT0B/wIAAT0B/wIAAT0B/wIAAT0B/wIA
- AT0B/wIAAT0B/wIAAT8B/wIAAUEB/wEAAQQBUQH/ARYBgAHBAf8BOQHjAfsB/wE9Ae4C/wE9Ae4C/wEq
- AcYB6gH/AQABHgGMAf8BBgEXAUwB/wEoAZ0BvQH/AQ8BMQGLAf8CBQFcAf8TAAEBAwoBDQMqAUABTgJP
- AZcBWAJcAdEDXAHqA2cB8gJZAWIB9QFtAYUBiwH7AdoB6gH1Af8B2AP/AcMB+wL/AcUB/QL/Ae8D/wNi
- AfYBUAJSAaMDJwE6AwcBCVMAAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8kAAMV
- Af8DwAH/AxUB/wGpATIBKAH/Aa8BMwEpAf8BrwEzASkB/wGvATMBKQH/AaUBLgElAf8BVgEZARIB/wEj
- ASwBQQH/AZgB2gHxAf8BLwGPAbwB/wEAATUBUQH/AVIBDQEjAf8BRgEZATQB/wE1AR8BOgH/ATUBHwE6
- Af8BOQEeATkB/wFOARUBMAH/ATwBEAEhAf8BAAFFAZAB/wFdAbwB4AH/AYQBuwHhAf8BNAEWARwB/wGR
- ASUBHAH/Aa8BMwEpAf8BrwEzASkB/wGvATMBKQH/AaIBMAEnAf8DHQH/A8AB/wMVAf8CBQFdAf8BDwEs
- AYsB/wEmAZQBtAH/AQIBEQFGAf8BAQElAYwB/wEuAdoB6wH/ATMB5AH1Af8BMwHiAfUB/wEuAdkB8wH/
- ASgBwgHpAf8BGQGTAdEB/wEJATUBowH/AgABOgH/AgABMwH/AgABMwH/AgABMwH/AgABMwH/AgABMwH/
- AgABMwH/AgABNgH/AgABNgH/AgABPgH/AQABJAGQAf8BGgGeAdYB/wEuAdEB8AH/ASgBwwHqAf8BDwFV
- Ab0B/wEAAQgBUwH/AQMBEwFMAf8BKAGdAb0B/wEPATEBjgH/AgUBXQH/EwABAQMPARQDOwFjA14B2AT/
- AfsD/wHzA/8B7gP/AeID/wHRA/8BxgH+Av8BxAH8Av8B1gP/AecB8QH4Af8BVwJcAd8DRAF5AxgBIgME
- AQZTAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/JAADFQH/A8cB/wMVAf8BpgEu
- AScB/wGsAS8BKAH/AawBLwEoAf8BrAEvASgB/wGsAS8BKAH/AZoBJwEgAf8BTQEXARUB/wFAAZABsgH/
- AZYB0gHxAf8BBQFIAaIB/wEAAUEBiwH/AQABSQGTAf8BAwFPAZoB/wEFAVEBnAH/AQIBTgGXAf8BAAFJ
- AZMB/wEAATwBiwH/ASoBiQG7Af8BmAHYAfMB/wEkATIBSAH/AVUBFwESAf8BqwEuAScB/wGsAS8BKAH/
- AawBLwEoAf8BrAEvASgB/wGfAS0BJgH/Ax0B/wPHAf8DFQH/AgcBhQH/ARMBMwGNAf8BKAGXAbQB/wEA
- AQ8BRAH/AQABBgFFAf8BAQEpAYwB/wECASsBkgH/AQIBKwGSAf8BAAEpAZAB/wEAASQBhgH/AQABFwFX
- Af8BAAEIAUcB/wIAATAB/wIAASoB/wIAASoB/wIAASoB/wIAASoB/wIAASoB/wIAASoB/wIAASoB/wIA
- ATAB/wIAATEB/wEAAQEBPAH/AQABDwFXAf8BAAElAYoB/wEAAR0BhQH/AQABCAFQAf8CAAE9Af8BAAEQ
- AUUB/wEoAZwBuQH/ARMBNAGRAf8CBwGFAf8TAAEBAw0BEgM4AVwBWAJbAcsBmAGlAa4B/gHqA/8BzQP/
- AcQB/AL/AcMB+wL/AcMB+wL/AcYB/gL/AdgD/wHzAfgB/AH/A10B8ANSAakDLgFHAwwBEAMCAQNTAAH/
- AwAB/wMAAf8DAAH/AwAB/0QAAxUB/wPPAf8DFQH/AaMBKwElAf8BqAEsASYB/wGoASwBJgH/AagBLAEm
- Af8BqAEsASYB/wGoASwBJgH/AY0BHwEaAf8BKAEaASUB/wGMAdIB8wH/AcMB8AH4Af8B1QHuAfcB/wHg
- AfcB/AH/AecD/wHoA/8B5gH+Av8B3QHyAfoB/wHNAe0B9wH/AbUB7wH7Af8BTgGrAc8B/wFDARMBFQH/
- AZYBJAEeAf8BqAEsASYB/wGoASwBJgH/AagBLAEmAf8BqAEsASYB/wGdASoBJAH/Ax4B/wPPAf8DFQH/
- Ag0BigH/ARQBNgGYAf8BKQGVAbYB/wETAToBiAH/AQUBEwFDAf8BBQETAUgB/wEFARMBSAH/AQUBEwFI
- Af8BBQETAUIB/wEFARMBQgH/AQUBEwFCAf8BBQETAT0B/wEAAQ0BPAH/AQABDQE8Af8BAAENATwB/wEA
- AQ0BPAH/AQABDQE8Af8BAAENATwB/wEAAQ0BPAH/AQABDQE8Af8BBQETAT0B/wEFARQBQwH/AQUBFQFE
- Af8BBQEVAUQB/wEFARUBSgH/AQUBFQFKAf8BBQEUAUkB/wEFARMBQwH/AREBOgGHAf8BKAGUAbUB/wEU
- ATYBmAH/Ag0BigH/EwABAQMHAQoDJgE4A0oBiwFZAlwBzwFnAXIBdgH4AfMB+AH8Af8B8gP/AeYD/wHo
- A/8B+gP/AZgBqAGyAf4DYQHuA1UBsgM4AVwDFQEdAwUBBwMAAQFTAAH/AwAB/wMAAf8DAAH/AwAB/0QA
- AxUB/wPXAf8DFQH/AZ8BKAEkAf8BpAEpASUB/wGkASkBJQH/AaQBKQElAf8BpAEpASUB/wGkASkBJQH/
- AZkBJAEgAf8BPQERARUB/wGvAdwB5AH/AeIB8AHyAf8BjQGkAa8B/wFBAUcBUwH/AS8BKwE5Af8BMAEs
- AToB/wEyAS8BPAH/AUwBWAGGAf8BpQHAAcUB/wHvAvsB/wE4AYIBlwH/AU4BEgERAf8BowEoASQB/wGk
- ASkBJQH/AaQBKQElAf8BpAEpASUB/wGkASkBJQH/AZkBJwEjAf8DHgH/A9cB/wMVAf8CDgGUAf8BEwEx
- AZsB/wE0AaIBwwH/AUcBtwHNAf8BQwG5Ac0B/wFDAbkBzQH/AUEBuQHNAf8BQAG5Ac0B/wFAAbkBzQH/
- AUABuQHNAf8BQAG5Ac0B/wFAAbkBzQH/AUABuQHNAf8BQAG5Ac0B/wFAAbkBzQH/AUABuQHNAf8BQAG5
- Ac0B/wFAAbkBzQH/AUABuQHNAf8BQAG5Ac0B/wFDAbkBzQH/AUMBvAHPAf8BQwG/AdIB/wFDAb8B0gH/
- AUMBvwHSAf8BQwG/AdIB/wFBAbwBzwH/AUABuQHNAf8BPwG2AcgB/wEvAZ4BwAH/ARMBMAGbAf8CDgGU
- Af8UAAMEAQUDEQEXAykBPwNEAXkBVQJWAbQBXAJhAdwDXwHzAWkBdQF6AfoBaQF1AXoB+gNdAe0BWwJe
- AdABUAJRAZ8DNgFZAxgBIQMHAQoDAQECVwAB/wMAAf8DAAH/AwAB/wMAAf9EAAMVAf8D3wH/AxUB/wGc
- ASUBIwH/AaEBJgEkAf8BoQEmASQB/wGhASYBJAH/AaEBJgEkAf8BoQEmASQB/wGbASMBIQH/AUMBEAET
- Af8BjwGWAaEB/wExAQ4BFgH/AUsCEAH/AU4BEAEPAf8BgQEYARYB/wGBARgBFgH/AYEBGAEWAf8BTQEQ
- AQ8B/wFIARABEQH/ASUBGQEoAf8BVQFZAYgB/wFNARABDwH/AaABJQEjAf8BoQEmASQB/wGhASYBJAH/
- AaEBJgEkAf8BoQEmASQB/wGWASQBIgH/Ax8B/wPfAf8DFQH/Ag8BngH/ARABFwGUAf8BHwE5AZ8B/wEy
- AVkBrgH/ATUBXQGrAf8BNQFdAasB/wEzAV0BqwH/ATIBXQGnAf8BMgFdAaYB/wEwAVoBpgH/ASwBVwGm
- Af8BLAFXAaIB/wEsAVcBoQH/ASwBVwGhAf8BLAFXAaEB/wEsAVcBoQH/ASwBVwGhAf8BLAFXAaEB/wEs
- AVcBoQH/ASwBVwGhAf8BMAFXAaIB/wEwAVcBpgH/ATMBWgGmAf8BNQFdAaYB/wE1AV0BpwH/ATUBXQGr
- Af8BMwFdAasB/wEyAV0BqwH/AS8BWQGuAf8BHQE5AZ8B/wEQARcBlAH/Ag8BngH/FwABAQMEAQYDDAEQ
- AxwBKAMxAU0DQgF1A04BmQFTAlUBrQNSAakDSwGOATwCPQFnAykBPgMUARsDBwEJAwIBA1sAAf8DAAH/
- AwAB/wMAAf8DAAH/RAADTAHzA98B/wMsAf8BigIfAf8BmwEhASIB/wGbASEBIgH/AZsBIQEiAf8BmwEh
- ASIB/wGbASEBIgH/AZoBIAEhAf8BSAENAQ4B/wFCAQ0BEAH/AUoCDQH/AZkBIAEhAf8BmgEhASIB/wGb
- ASEBIgH/AZsBIQEiAf8BmwEhASIB/wGaASABIQH/AZIBHQEeAf8BSQINAf8BPwENAREB/wFKAg0B/wGa
- ASEBIgH/AZsBIQEiAf8BmwEhASIB/wGbASEBIgH/AZsBIQEiAf8BWgEdAR4B/wM0Af8D3QH/A04B8AIU
- AaQB/wIPAZ4B/wIOAZQB/wINAY8B/wINAYwB/wINAYYB/wINAYIB/wIIAVwB/wIHAVwB/wIGAVkB/wIF
- AVYB/wIFAVQB/wIFAVQB/wIFAVQB/wIFAVQB/wIFAVQB/wIFAVQB/wIFAVQB/wIFAVQB/wIFAVQB/wIF
- AVQB/wIFAVYB/wIGAVkB/wIHAVwB/wIIAVwB/wINAYIB/wINAYYB/wINAYwB/wINAY8B/wIOAZQB/wIP
- AZ4B/wIUAaQB/xsAAQEDAgEDAwYBCAMMARADFgEeAyIBMgMqAUADKQE+Ax8BLAMSARkDCgENAwQBBgMB
- AQJfAAH/AwAB/wMAAf8DAAH/AwAB/0QAA1cBvQO/Af8DlAH/AUABHgEgAf8BigEdASMB/wGTARsBIgH/
- AZMBGwEiAf8BkwEbASIB/wGTARsBIgH/AZMBGwEiAf8BkgEbASEB/wGOARkBIAH/AZIBGwEiAf8BkwEb
- ASIB/wGTARsBIgH/AZMBGwEiAf8BkwEbASIB/wGTARsBIgH/AZMBGwEiAf8BkwEbASIB/wGSARsBIQH/
- AY0BGQEfAf8BkgEbASIB/wGTARsBIgH/AZMBGwEiAf8BkwEbASIB/wGTARsBIgH/AYABHgEjAf8BNQEd
- AR8B/wO0Af8DtAH/A1QBrgIXAawB/wIXAakB/wIXAaYB/wISAaYB/wIRAaYB/wIRAaMB/wIRAZ8B/wIP
- AZ4B/wIPAZcB/wIPAZcB/wIPAZYB/wIPAZYB/wIPAY4B/wIPAY4B/wIPAY4B/wIPAY4B/wIPAY4B/wIP
- AY4B/wIPAY4B/wIPAY4B/wIPAZYB/wIPAZYB/wIPAZcB/wIPAZcB/wIPAZ4B/wIRAZ8B/wIRAaMB/wIR
- AaYB/wISAaYB/wIXAaYB/wIXAakB/wIXAawB/yQAAwEBAgMDBAQEBgEIAwYBCAMEAQYDAwEEAwABAWcA
- Af8DAAH/AwAB/wMAAf8DAAH/RAADNAFUA0QB/wPuAf8DkwH/AysB/wMVAf8DFQH/AxUB/wMVAf8DFQH/
- AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/
- AxUB/wMVAf8DNAH/A7IB/wPqAf8DNAH/Ay0BRQIXAawB/wIXAawB/wIXAawB/wIXAawB/wIXAawB/wIX
- AawB/wIXAawB/wITAagB/wISAaQB/wIPAaIB/wIPAZ8B/wIPAZ8B/wIPAZwB/wIPAZwB/wIPAZwB/wIP
- AZwB/wIPAZwB/wIPAZwB/wIPAZwB/wIPAZwB/wIPAZ8B/wIPAZ8B/wIPAaIB/wISAacB/wITAagB/wIX
- AawB/wIXAawB/wIXAawB/wIXAawB/wIXAawB/wIXAawB/wIXAawB//8ABQADSgGNA0MB/wPNAf8D+QH/
+ Av8MAAMUAf8DpAH/AxQB/wG5AUABLgH/AaABMgEiAf8BQgEeARwB/wEAASABWAH/ASIBVwGiAf8BCgFI
+ AZIB/wFQARABIQH/AbcBIwFaAf8BwgE0AZsB/wHTAUYBswH/AeYBWwHPAf8B+gGRAesC/wGgAfwC/wGo
+ Af4C/wGgAfwB/wH6AZEB6wH/AeYBWwHPAf8B0wFGAbQB/wHDATMBmgH/AbYBIQFOAf8BJAEcATAB/wEe
+ AVkBpAH/AQABPQGRAf8BBgEYATQB/wGEASQBFgH/AakBOQEpAf8DGgH/A6QB/wMUAf8CBAFaAf8BDgEr
+ AYUB/wEnAZQBtAH/AQUBFAFJAf8BDAExAZIB/wFLAeQB9QH/AVAB6QL/AUkB4AH4Af8BLAGxAd8B/wEU
+ AUkBtQH/AQYBGAGKAf8BBgEIAVIB/wIAAVAB/wIAAVAB/wIAAVAB/wIAAVAB/wIAAVAB/wIAAVAB/wIA
+ AVAB/wIEAVAB/wIGAVEB/wIGAVUB/wIGAVoB/wEDAQsBhAH/AQIBEAGNAf8BAgEOAYwB/wEFAQkBgwH/
+ AgABSwH/AQQBFAFJAf8BJAGVAbQB/wEOAS0BiAH/AgQBWwH/EAADBAEGAyIBMgFMAk0BkQNkAfECqAGr
+ Af0BigGfAa0B/gKoAawB/QFqAYQBigH7AWcBeQF/AfwB5wHxAfgB/wHVA/8BwwH7Av8BwwH7Av8B4AP/
+ AV8BfwGIAfsBWgJdAdMDQgF0AxoBJQMGAQgDAQECLwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
+ Af8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIA
+ Av8MAAMUAf8DqgH/AxQB/wGpATYBJwH/AUoBHwEcAf8BOwGWAbUB/wFUAcEB5AH/AZQB2AHrAf8BAAEu
+ AYgB/wEAASEBQgH/AaEBGQFBAf8BvwEsAY4B/wHKATwBpgH/AdoBTQG8Af8B6AGBAdIB/wH0AYoB4QH/
+ AfkBkAHoAf8B9AGKAeEB/wHoAYEB0gH/AdoBTQG9Af8BywE8AaUB/wHAASsBigH/AVoBGAE1Af8BAAEf
+ AU8B/wEbAVkBqQH/AZwB4QHvAf8BRgGwAdYB/wEuAScBLwH/AZABKwEeAf8DGwH/A6oB/wMUAf8CBAFb
+ Af8BDgErAYgB/wEnAZQBtAH/AQUBFAFJAf8BAgEbAYoB/wEVAYwBzwH/ARUBkwHcAf8BFgGPAdUB/wEM
+ AVMBwwH/AQYBLQGlAf8BAQERAYkB/wEBAQcBVwH/AgUBUAH/AgABUAH/AgABUAH/AgABUAH/AgABUAH/
+ AgABUAH/AgABUAH/AgUBUAH/AgYBUgH/AgYBWgH/AQYBFQGOAf8BEwFLAbgB/wEpAZoB0gH/ASABjQHL
+ Af8BCgEyAaUB/wEAAQcBUwH/AQUBFAFJAf8BJwGXAbYB/wEOAS8BigH/AgQBWwH/EAADAwEEAxYBHgM2
+ AVkBTwJRAZwBVwJZAb8BWQJcAckBWgJdAcoBXAJeAc4BWAJfAeMBVwJiAfYB8AP/AcMB+wL/AcMB+wL/
+ Ad0D/wFxAX0BhQH8A1kBxwM3AVsDDwEUAwABAU8AAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/
+ AgAC/wIAAv8kAAMUAf8DsAH/AxQB/wGvATcBKgH/AVkBHgEWAf8BPAEZARsB/wE3AVMBhQH/AbAB7gH3
+ Af8BmwHjAe8B/wEAATEBkQH/AQYBLQFGAf8BpQEdAUkB/wHAATABlQH/AcsBPgGpAf8B1gFJAbcB/wHe
+ AVMBwgH/AeEBVQHGAf8B3gFTAcIB/wHWAUkBtwH/AcsBPgGoAf8BwwEvAZEB/wGBARkBOwH/AQABNwGA
+ Af8BDgFRAaUB/wG3AfMB+gH/AZYB2gHkAf8BLwEkASwB/wFPAR0BGAH/AaMBMgEnAf8DGwH/A7AB/wMU
+ Af8CBAFbAf8BDgErAYgB/wEnAZQBtAH/AQUBFAFJAf8BAgEpAY8B/wE1AccB6AH/ATwB0AHzAf8BPQHL
+ AfIB/wEzAbsB5gH/AR0BjQHMAf8BCQE0AaUB/wEEARABgQH/AQABBQFQAf8CAAFQAf8CAAFQAf8CAAFQ
+ Af8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQAf8CBgFQAf8BAwEJAVoB/wEPAUkBtQH/AT4B0AHxAf8BTgHp
+ Af0B/wFLAeUB+wH/AScBqQHcAf8BAQEYAYQB/wEFARUBSQH/AScBmwG4Af8BDgEvAYsB/wIEAVsB/xAA
+ AwIBAwMKAQ0DHAEnAy8BSQM8AWYDRAF6A0gBhAFOAk8BlwFZAlwBzAFTAmQB8QT/AcMB+wL/AcMB+wL/
+ AdcD/wGoAakBrQH9A1sByAM3AVoDCwEPUwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/
+ AgAC/yQAAxQB/wO2Af8DFAH/AbABNgEqAf8BsgE2ASkB/wGfAS0BIQH/AVoBHQEUAf8BIQEZASgB/wGT
+ AdQB6AH/AZYB3gHvAf8BAAFAAZYB/wEZASQBOwH/AbgBIQFUAf8BvwEuAZMB/wHGATcBoAH/AcsBPQGm
+ Af8BzQE/AaoB/wHLAT0BpgH/AcYBNwGgAf8BwAEuAZEB/wGdARwBRQH/AQABOQFTAf8BDgFQAagB/wGv
+ AesB+AH/AU0BoAHDAf8BPwIYAf8BXAEdARMB/wGtATQBJwH/AakBNAEpAf8DGwH/A7YB/wMUAf8CBAFb
+ Af8BDgErAYgB/wEmAZQBtAH/AQUBFAFJAf8BAAEkAY4B/wEuAcMB5wH/ATUBzgHyAf8BNQHIAfIB/wEr
+ AbQB5gH/ARgBigHKAf8BCAEyAZ8B/wEAAQwBVgH/AgABRwH/AgABRQH/AgABRQH/AgABRQH/AgABRQH/
+ AgABRQH/AgABRQH/AgABRQH/AgABRgH/AQABBgFUAf8BHwGVAcsB/wFDAekB/QH/AUUB7gL/AUUB7gL/
+ ATcB1QHwAf8BAAElAZAB/wEFARYBSQH/AScBnAG5Af8BDgEvAYsB/wIEAVsB/xMAAQEDBwEJAxYBHwMv
+ AUkBQQJCAXMBTAJNAZEBUAJSAaMBVQJXAboDXwHgAUkCYgH2AfMD/wHDAfsC/wHDAfsC/wHdA/8BcQF9
+ AYUB/AFXAloBvQMxAU8DCQEMUwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/yQA
+ AxQB/wO7Af8DFAH/Aa0BMwEpAf8BswE1ASoB/wGzATUBKgH/AagBMAElAf8BWQEaARMB/wEhARkBKAH/
+ AZEB0QHqAf8BWAG6Ad0B/wEAAUkBkwH/AUIBFgExAf8BuAEfAVcB/wG8AScBhwH/AcABKQGKAf8BvwEq
+ AYwB/wHAASkBigH/AbwBJgGGAf8BtAEeAU8B/wEVAScBPAH/AQMBTwGiAf8BnQHeAfEB/wFNAaABxgH/
+ AUEBFwEYAf8BlgEnAR4B/wGyATUBKgH/AbMBNQEqAf8BpgExASgB/wMcAf8DuwH/AxQB/wIEAVsB/wEO
+ ASsBiAH/ASIBlAG0Af8BBAEUAUkB/wEAARYBhQH/AQwBggHKAf8BCwGOAdcB/wELAYoB1wH/AQsBhgHP
+ Af8BCwFTAcAB/wEFAToBqgH/AQEBGwGMAf8CAAFCAf8CAAE8Af8CAAE8Af8CAAE8Af8CAAE8Af8CAAE8
+ Af8CAAE8Af8CAAE+Af8CAAFAAf8BAAEDAVAB/wEVAYABwQH/ATgB4wH7Af8BPAHuAv8BPAHuAv8BKQHG
+ AeoB/wEAAR0BjAH/AQUBFgFLAf8BJwGdAb0B/wEOATABiwH/AgQBWwH/EwABAQMKAQ0DKgFAAU4CTwGX
+ AVgCXAHRA1wB6gNnAfICWQFgAfUBagGEAYoB+wHaAeoB9QH/AdgD/wHDAfsC/wHFAf0C/wHvA/8DYgH2
+ AVACUgGjAycBOgMHAQlTAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/JAADFAH/
+ A8AB/wMUAf8BqQExAScB/wGvATIBKAH/Aa8BMgEoAf8BrwEyASgB/wGlAS0BJAH/AVUBGAERAf8BIgEr
+ AUAB/wGYAdoB8QH/AS4BjwG8Af8BAAE0AVAB/wFRAQwBIgH/AUUBGAEzAf8BNAEeATkB/wE0AR4BOQH/
+ ATgBHQE4Af8BTQEUAS8B/wE7AQ8BIAH/AQABRAGQAf8BXAG8AeAB/wGEAbsB4QH/ATMBFQEbAf8BkQEk
+ ARsB/wGvATIBKAH/Aa8BMgEoAf8BrwEyASgB/wGiAS8BJgH/AxwB/wPAAf8DFAH/AgQBXAH/AQ4BKwGL
+ Af8BJQGUAbQB/wEBARABRQH/AQABJAGMAf8BLQHaAesB/wEyAeQB9QH/ATIB4gH1Af8BLQHZAfMB/wEn
+ AcIB6QH/ARgBkwHRAf8BCAE0AaMB/wIAATkB/wIAATIB/wIAATIB/wIAATIB/wIAATIB/wIAATIB/wIA
+ ATIB/wIAATUB/wIAATUB/wIAAT0B/wEAASMBkAH/ARkBngHWAf8BLQHRAfAB/wEnAcMB6gH/AQ4BVAG9
+ Af8BAAEHAVIB/wECARIBSwH/AScBnQG9Af8BDgEwAY4B/wIEAVwB/xMAAQEDDwEUAzsBYwNeAdgE/wH7
+ A/8B8wP/Ae4D/wHiA/8B0QP/AcYB/gL/AcQB/AL/AdYD/wHnAfEB+AH/AVcCXAHfA0QBeQMYASIDBAEG
+ UwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/yQAAxQB/wPHAf8DFAH/AaYBLQEm
+ Af8BrAEuAScB/wGsAS4BJwH/AawBLgEnAf8BrAEuAScB/wGaASYBHwH/AUwBFgEUAf8BPwGQAbIB/wGW
+ AdIB8QH/AQQBRwGiAf8BAAFAAYsB/wEAAUgBkwH/AQIBTgGaAf8BBAFQAZwB/wEBAU0BlwH/AQABSAGT
+ Af8BAAE7AYsB/wEpAYkBuwH/AZgB2AHzAf8BIwExAUcB/wFUARYBEQH/AasBLQEmAf8BrAEuAScB/wGs
+ AS4BJwH/AawBLgEnAf8BnwEsASUB/wMcAf8DxwH/AxQB/wIGAYUB/wESATIBjQH/AScBlwG0Af8BAAEO
+ AUMB/wEAAQUBRAH/AQABKAGMAf8BAQEqAZIB/wEBASoBkgH/AQABKAGQAf8BAAEjAYYB/wEAARYBVgH/
+ AQABBwFGAf8CAAEvAf8CAAEpAf8CAAEpAf8CAAEpAf8CAAEpAf8CAAEpAf8CAAEpAf8CAAEpAf8CAAEv
+ Af8CAAEwAf8CAAE7Af8BAAEOAVYB/wEAASQBigH/AQABHAGFAf8BAAEHAU8B/wIAATwB/wEAAQ8BRAH/
+ AScBnAG5Af8BEgEzAZEB/wIGAYUB/xMAAQEDDQESAzgBXAFYAlsBywGWAaMBrAH+AeoD/wHNA/8BxAH8
+ Av8BwwH7Av8BwwH7Av8BxgH+Av8B2AP/AfMB+AH8Af8DXQHwA1IBqQMuAUcDDAEQAwIBA1MAAf8DAAH/
+ AwAB/wMAAf8DAAH/RAADFAH/A88B/wMUAf8BowEqASQB/wGoASsBJQH/AagBKwElAf8BqAErASUB/wGo
+ ASsBJQH/AagBKwElAf8BjQEeARkB/wEnARkBJAH/AYwB0gHzAf8BwwHwAfgB/wHVAe4B9wH/AeAB9wH8
+ Af8B5wP/AegD/wHmAf4C/wHdAfIB+gH/Ac0B7QH3Af8BtQHvAfsB/wFNAasBzwH/AUIBEgEUAf8BlgEj
+ AR0B/wGoASsBJQH/AagBKwElAf8BqAErASUB/wGoASsBJQH/AZ0BKQEjAf8DHQH/A88B/wMUAf8CDAGK
+ Af8BEwE1AZgB/wEoAZUBtgH/ARIBOQGIAf8BBAESAUIB/wEEARIBRwH/AQQBEgFHAf8BBAESAUcB/wEE
+ ARIBQQH/AQQBEgFBAf8BBAESAUEB/wEEARIBPAH/AQABDAE7Af8BAAEMATsB/wEAAQwBOwH/AQABDAE7
+ Af8BAAEMATsB/wEAAQwBOwH/AQABDAE7Af8BAAEMATsB/wEEARIBPAH/AQQBEwFCAf8BBAEUAUMB/wEE
+ ARQBQwH/AQQBFAFJAf8BBAEUAUkB/wEEARMBSAH/AQQBEgFCAf8BEAE5AYcB/wEnAZQBtQH/ARMBNQGY
+ Af8CDAGKAf8TAAEBAwcBCgMmATgDSgGLAVkCXAHPAWUBcQF1AfgB8wH4AfwB/wHyA/8B5gP/AegD/wH6
+ A/8BlgGmAbAB/gNhAe4DVQGyAzgBXAMVAR0DBQEHAwABAVMAAf8DAAH/AwAB/wMAAf8DAAH/RAADFAH/
+ A9cB/wMUAf8BnwEnASMB/wGkASgBJAH/AaQBKAEkAf8BpAEoASQB/wGkASgBJAH/AaQBKAEkAf8BmQEj
+ AR8B/wE8ARABFAH/Aa8B3AHkAf8B4gHwAfIB/wGNAaQBrwH/AUABRgFSAf8BLgEqATgB/wEvASsBOQH/
+ ATEBLgE7Af8BSwFXAYYB/wGlAcABxQH/Ae8C+wH/ATcBggGXAf8BTQERARAB/wGjAScBIwH/AaQBKAEk
+ Af8BpAEoASQB/wGkASgBJAH/AaQBKAEkAf8BmQEmASIB/wMdAf8D1wH/AxQB/wINAZQB/wESATABmwH/
+ ATMBogHDAf8BRgG3Ac0B/wFCAbkBzQH/AUIBuQHNAf8BQAG5Ac0B/wE/AbkBzQH/AT8BuQHNAf8BPwG5
+ Ac0B/wE/AbkBzQH/AT8BuQHNAf8BPwG5Ac0B/wE/AbkBzQH/AT8BuQHNAf8BPwG5Ac0B/wE/AbkBzQH/
+ AT8BuQHNAf8BPwG5Ac0B/wE/AbkBzQH/AUIBuQHNAf8BQgG8Ac8B/wFCAb8B0gH/AUIBvwHSAf8BQgG/
+ AdIB/wFCAb8B0gH/AUABvAHPAf8BPwG5Ac0B/wE+AbYByAH/AS4BngHAAf8BEgEvAZsB/wINAZQB/xQA
+ AwQBBQMRARcDKQE/A0QBeQFVAlYBtAFcAmEB3ANfAfMBaAF0AXkB+gFoAXQBeQH6A10B7QFbAl4B0AFQ
+ AlEBnwM2AVkDGAEhAwcBCgMBAQJXAAH/AwAB/wMAAf8DAAH/AwAB/0QAAxQB/wPfAf8DFAH/AZwBJAEi
+ Af8BoQElASMB/wGhASUBIwH/AaEBJQEjAf8BoQElASMB/wGhASUBIwH/AZsBIgEgAf8BQgEPARIB/wGP
+ AZYBoQH/ATABDQEVAf8BSgIPAf8BTQEPAQ4B/wGBARcBFQH/AYEBFwEVAf8BgQEXARUB/wFMAQ8BDgH/
+ AUcBDwEQAf8BJAEYAScB/wFUAVgBiAH/AUwBDwEOAf8BoAEkASIB/wGhASUBIwH/AaEBJQEjAf8BoQEl
+ ASMB/wGhASUBIwH/AZYBIwEhAf8DHgH/A98B/wMUAf8CDgGeAf8BDwEWAZQB/wEeATgBnwH/ATEBWAGu
+ Af8BNAFcAasB/wE0AVwBqwH/ATIBXAGrAf8BMQFcAacB/wExAVwBpgH/AS8BWQGmAf8BKwFWAaYB/wEr
+ AVYBogH/ASsBVgGhAf8BKwFWAaEB/wErAVYBoQH/ASsBVgGhAf8BKwFWAaEB/wErAVYBoQH/ASsBVgGh
+ Af8BKwFWAaEB/wEvAVYBogH/AS8BVgGmAf8BMgFZAaYB/wE0AVwBpgH/ATQBXAGnAf8BNAFcAasB/wEy
+ AVwBqwH/ATEBXAGrAf8BLgFYAa4B/wEcATgBnwH/AQ8BFgGUAf8CDgGeAf8XAAEBAwQBBgMMARADHAEo
+ AzEBTQNCAXUDTgGZAVMCVQGtA1IBqQNLAY4BPAI9AWcDKQE+AxQBGwMHAQkDAgEDWwAB/wMAAf8DAAH/
+ AwAB/wMAAf9EAANMAfMD3wH/AysB/wGKAh4B/wGbASABIQH/AZsBIAEhAf8BmwEgASEB/wGbASABIQH/
+ AZsBIAEhAf8BmgEfASAB/wFHAQwBDQH/AUEBDAEPAf8BSQIMAf8BmQEfASAB/wGaASABIQH/AZsBIAEh
+ Af8BmwEgASEB/wGbASABIQH/AZoBHwEgAf8BkgEcAR0B/wFIAgwB/wE+AQwBEAH/AUkCDAH/AZoBIAEh
+ Af8BmwEgASEB/wGbASABIQH/AZsBIAEhAf8BmwEgASEB/wFZARwBHQH/AzMB/wPdAf8DTgHwAhMBpAH/
+ Ag4BngH/Ag0BlAH/AgwBjwH/AgwBjAH/AgwBhgH/AgwBggH/AgcBWwH/AgYBWwH/AgUBWAH/AgQBVQH/
+ AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/
+ AgQBVQH/AgUBWAH/AgYBWwH/AgcBWwH/AgwBggH/AgwBhgH/AgwBjAH/AgwBjwH/Ag0BlAH/Ag4BngH/
+ AhMBpAH/GwABAQMCAQMDBgEIAwwBEAMWAR4DIgEyAyoBQAMpAT4DHwEsAxIBGQMKAQ0DBAEGAwEBAl8A
+ Af8DAAH/AwAB/wMAAf8DAAH/RAADVwG9A78B/wOUAf8BPwEdAR8B/wGKARwBIgH/AZMBGgEhAf8BkwEa
+ ASEB/wGTARoBIQH/AZMBGgEhAf8BkwEaASEB/wGSARoBIAH/AY4BGAEfAf8BkgEaASEB/wGTARoBIQH/
+ AZMBGgEhAf8BkwEaASEB/wGTARoBIQH/AZMBGgEhAf8BkwEaASEB/wGTARoBIQH/AZIBGgEgAf8BjQEY
+ AR4B/wGSARoBIQH/AZMBGgEhAf8BkwEaASEB/wGTARoBIQH/AZMBGgEhAf8BgAEdASIB/wE0ARwBHgH/
+ A7QB/wO0Af8DVAGuAhYBrAH/AhYBqQH/AhYBpgH/AhEBpgH/AhABpgH/AhABowH/AhABnwH/Ag4BngH/
+ Ag4BlwH/Ag4BlwH/Ag4BlgH/Ag4BlgH/Ag4BjgH/Ag4BjgH/Ag4BjgH/Ag4BjgH/Ag4BjgH/Ag4BjgH/
+ Ag4BjgH/Ag4BjgH/Ag4BlgH/Ag4BlgH/Ag4BlwH/Ag4BlwH/Ag4BngH/AhABnwH/AhABowH/AhABpgH/
+ AhEBpgH/AhYBpgH/AhYBqQH/AhYBrAH/JAADAQECAwMEBAQGAQgDBgEIAwQBBgMDAQQDAAEBZwAB/wMA
+ Af8DAAH/AwAB/wMAAf9EAAM0AVQDQwH/A+4B/wOTAf8DKgH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/
+ AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/
+ AxQB/wMzAf8DsgH/A+oB/wMzAf8DLQFFAhYBrAH/AhYBrAH/AhYBrAH/AhYBrAH/AhYBrAH/AhYBrAH/
+ AhYBrAH/AhIBqAH/AhEBpAH/Ag4BogH/Ag4BnwH/Ag4BnwH/Ag4BnAH/Ag4BnAH/Ag4BnAH/Ag4BnAH/
+ Ag4BnAH/Ag4BnAH/Ag4BnAH/Ag4BnAH/Ag4BnwH/Ag4BnwH/Ag4BogH/AhEBpwH/AhIBqAH/AhYBrAH/
+ AhYBrAH/AhYBrAH/AhYBrAH/AhYBrAH/AhYBrAH/AhYBrAH//wAFAANKAY0DQgH/A80B/wP5Af8D+wH/
A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/
- A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wPrAf8DvQH/Ay4B/wNIAYcEAANIAYUCFwGsAf8CFwGs
- Af8CFwGsAf8CFwGsAf8CFwGsAf8CFwGsAf8CFwGsAf8CFgGpAf8CFAGpAf8CFAGmAf8CEAGkAf8CDwGh
- Af8CDwGhAf8CDwGhAf8CDwGhAf8CDwGhAf8CDwGhAf8CDwGhAf8CDwGhAf8CEAGkAf8CFAGmAf8CFAGp
- Af8CFgGrAf8CFwGsAf8CFwGsAf8CFwGsAf8CFwGsAf8CFwGsAf8CFwGsAf8CFwGsAf8DSAGF/wAJAAM3
- AVoDWQHDAysB/AMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMV
- Af8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DFQH/AxUB/wMVAf8DVQHqA1QBrgMtAUUIAAMHAQoDSAGF
- AhcBrAH/AhcBrAH/AhcBrAH/AhcBrAH/AhcBrAH/AhcBrAH/AhcBrAH/AhcBrAH/AhcBqwH/AhYBqgH/
- AhUBqgH/AhUBqAH/AhUBpAH/AhUBpAH/AhUBpAH/AhUBpAH/AhUBqAH/AhUBqgH/AhYBqgH/AhcBqwH/
- AhcBrAH/AhcBrAH/AhcBrAH/AhcBrAH/AhcBrAH/AhcBrAH/AhcBrAH/AhcBrAH/A0gBhQMHAQr/AAEA
- AUIBTQE+BwABPgMAASgDAAGAAwABQAMAAQEBAAEBBgABBBYAA///AP8AAwABwAIAAQMEAAj/AYACAAEB
- BAAC/wH4AQcE/wgAAv8B8AEDBP8IAAL/AeABAQH/AcEC/wgAAv8BwAEBAf8BwQL/CAAC/wGAAQEB/wHB
- Av8IAAL/AQABAQH/AcEC/wgAAf8B/gEAAQEB/wHBAv8IAAH/AfwBAAEBAf8CwQH/CAAB/wH8AQABAQH/
- AsEB/wgAAf8BgAEAAQEB/wLBAf8IAAH+AgABAQH/AsEB/wgAAfgCAAEDAf8CwQH/CAAB8AIAAQcB4AEB
- AcABBwgAAfACAAEfAeABAQHAAQcIAAHwAgABPwHgAQEBwAEHCAAB8AIAAX8B4AEBAcABBwgAAfACAAH/
- AeABAQHAAQcIAAHwAQABAQL/AsEB/wgAAfABAAEDAv8CwQH/CAAB8AEAAQMC/wLBAf8IAAHwAQABAwL/
- AsEB/wgAAfABAAEDAv8CwQH/CAAB8AEAAQMC/wHBAv8IAAHwAQABAwL/AcEC/wgAAfgBAAEHAv8BwQL/
- CAAB+AEAAQ8C/wHBAv8IAAH8AQABHwL/AcEC/wgAAf8BgAF/Av8BwQL/CAAI/wGAAgABAQQACP8BwAIA
- AQMEAAj/Cw==
+ A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A+sB/wO9Af8DLQH/A0gBhwQAA0gBhQIWAawB/wIWAawB/wIW
+ AawB/wIWAawB/wIWAawB/wIWAawB/wIWAawB/wIVAakB/wITAakB/wITAaYB/wIPAaQB/wIOAaEB/wIO
+ AaEB/wIOAaEB/wIOAaEB/wIOAaEB/wIOAaEB/wIOAaEB/wIOAaEB/wIPAaQB/wITAaYB/wITAakB/wIV
+ AasB/wIWAawB/wIWAawB/wIWAawB/wIWAawB/wIWAawB/wIWAawB/wIWAawB/wNIAYX/AAkAAzcBWgNZ
+ AcMDKwH8AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMU
+ Af8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wNVAeoDVAGuAy0BRQgAAwcBCgNIAYUCFgGs
+ Af8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGrAf8CFQGqAf8CFAGq
+ Af8CFAGoAf8CFAGkAf8CFAGkAf8CFAGkAf8CFAGkAf8CFAGoAf8CFAGqAf8CFQGqAf8CFgGrAf8CFgGs
+ Af8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8DSAGFAwcBCv8AAQABQgFN
+ AT4HAAE+AwABKAMAAYADAAFAAwABAQEAAQEGAAEEFgAD//8A/wADAAHAAgABAwQACP8BgAIAAQEEAAL/
+ AfgBBwT/CAAC/wHwAQME/wgAAv8B4AEBAf8BwQL/CAAC/wHAAQEB/wHBAv8IAAL/AYABAQH/AcEC/wgA
+ Av8BAAEBAf8BwQL/CAAB/wH+AQABAQH/AcEC/wgAAf8B/AEAAQEB/wLBAf8IAAH/AfwBAAEBAf8CwQH/
+ CAAB/wGAAQABAQH/AsEB/wgAAf4CAAEBAf8CwQH/CAAB+AIAAQMB/wLBAf8IAAHwAgABBwHgAQEBwAEH
+ CAAB8AIAAR8B4AEBAcABBwgAAfACAAE/AeABAQHAAQcIAAHwAgABfwHgAQEBwAEHCAAB8AIAAf8B4AEB
+ AcABBwgAAfABAAEBAv8CwQH/CAAB8AEAAQMC/wLBAf8IAAHwAQABAwL/AsEB/wgAAfABAAEDAv8CwQH/
+ CAAB8AEAAQMC/wLBAf8IAAHwAQABAwL/AcEC/wgAAfABAAEDAv8BwQL/CAAB+AEAAQcC/wHBAv8IAAH4
+ AQABDwL/AcEC/wgAAfwBAAEfAv8BwQL/CAAB/wGAAX8C/wHBAv8IAAj/AYACAAEBBAAI/wHAAgABAwQA
+ CP8L
\ No newline at end of file
diff --git a/ThirdParty/FastGraphLine.cs b/ThirdParty/FastGraphLine.cs
new file mode 100644
index 0000000..49eccd4
--- /dev/null
+++ b/ThirdParty/FastGraphLine.cs
@@ -0,0 +1,107 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace DutyContent.ThirdParty
+{
+ class FastGraphLine
+ {
+ private PictureBox _pbx;
+ private Bitmap _bmp;
+
+ private int _midv;
+ private int _dcnt;
+
+ public int Width { get; private set; } = -1;
+ public int Height { get; private set; } = -1;
+
+ //
+ public FastGraphLine(PictureBox pbx)
+ {
+ _pbx = pbx;
+ }
+
+ //
+ public void Enter()
+ {
+ if (_pbx == null)
+ return;
+
+ if (Width != _pbx.ClientSize.Width || Height != _pbx.ClientSize.Height)
+ {
+ Width = _pbx.ClientSize.Width;
+ Height = _pbx.ClientSize.Height;
+
+ _midv = Height / 2;
+ _dcnt = (Width - 40) / 20;
+
+ _bmp = new Bitmap(Width, Height);
+ }
+
+ if (_bmp != null)
+ {
+ using (var g = Graphics.FromImage(_bmp))
+ {
+ g.Clear(Color.Black);
+ g.DrawLine(Pens.DarkBlue, 0, _midv, Width - 1, _midv);
+ }
+ }
+ }
+
+ //
+ public void SetValues(List vs, int mindelta = 5, int maxdelta = 5)
+ {
+ if (_bmp == null && vs.Count >= 2)
+ return;
+
+ int min = int.MaxValue, max = int.MinValue;
+ int cnt = vs.Count - _dcnt;
+
+ if (cnt < 0)
+ cnt = 0;
+
+ for (var i = vs.Count - 1; i >= cnt; i--)
+ {
+ if (min > vs[i])
+ min = vs[i];
+ if (max < vs[i])
+ max = vs[i];
+ }
+
+ min -= mindelta;
+ max += maxdelta;
+
+ //
+ MesgLog.L("Count: {0}, MM: {1}/{2}", vs.Count, min, max);
+
+ float scale = (float)Height / (float)(max - min);
+ int xx = 10;
+
+ using (var g = Graphics.FromImage(_bmp))
+ {
+ Pen pen = new Pen(Color.White, 2.0f);
+
+ for (var i = vs.Count - 2; i >= cnt; i--)
+ {
+ var y1 = (int)((vs[i + 1] - min) * scale);
+ var y2 = (int)((vs[i] - min) * scale);
+
+ g.DrawLine(pen, xx, y1, xx + 10, y2);
+
+ xx += 10;
+ }
+ }
+ }
+
+ //
+ public void Leave()
+ {
+ _pbx.Image = _bmp;
+ _pbx.Refresh();
+ }
+ }
+}