ping graph

This commit is contained in:
kshman 2021-03-24 18:18:34 +09:00
parent 62980b7764
commit ccd5faf8a9
7 changed files with 570 additions and 395 deletions

View file

@ -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"]);
}
}

View file

@ -50,6 +50,7 @@
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Windows.Forms.DataVisualization" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Core" />
@ -94,6 +95,7 @@
<DependentUpon>DutyOvForm.cs</DependentUpon>
</Compile>
<Compile Include="ThirdParty\Converter.cs" />
<Compile Include="ThirdParty\FastGraphLine.cs" />
<Compile Include="ThirdParty\LineDb.cs" />
<Compile Include="ThirdParty\NativeMethods.cs" />
<Compile Include="ThirdParty\ThreadWorker.cs" />

View file

@ -69,6 +69,7 @@ LANG=English
331=Good
332=Normal
333=Bad
334=Show Graph
10001="{0}" spawned!
10002=Entry: {0}

232
Tab/DutyForm.Designer.cs generated
View file

@ -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;
}
}

View file

@ -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<int> _ping_keeps = new List<int>();
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)

View file

@ -124,307 +124,307 @@
<value>
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
</value>
</data>
</root>

107
ThirdParty/FastGraphLine.cs vendored Normal file
View file

@ -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<int> 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();
}
}
}