Ping enhance

This commit is contained in:
kshman 2021-03-27 22:34:19 +09:00
parent e09c84a027
commit 75f177a81c
11 changed files with 526 additions and 360 deletions

View file

@ -23,12 +23,14 @@ LANG=日本語
24=スカーミッシュ 24=スカーミッシュ
25=クリティカル・エンゲージメント 25=クリティカル・エンゲージメント
26=基本 26=基本
27=なし
99=ドユーティー・コンテンツ・プラグイン {0} 99=ドユーティー・コンテンツ・プラグイン {0}
101=WAVEファイルを選んでください 101=WAVEファイルを選んでください
102=WAVファイル (*.wav)|*.wav|全て (*.*)|*.* 102=WAVファイル (*.wav)|*.wav|全て (*.*)|*.*
103=お知らせテストです!! 103=お知らせテストです!!
104=マウスカーソル無効化
200=設定 200=設定
201=表示言語 201=表示言語
@ -61,6 +63,15 @@ LANG=日本語
324=状態 324=状態
325=人数 325=人数
326=進行度 326=進行度
327=ピン
328=ピン使用
329=速度色
330=ナイス
331=いい
332=ふつう
333=わるい
334=グラフ
335=クライアントの接触がない場合のDC選択
10001="{0}" 発生! 10001="{0}" 発生!
10002=待機: {0} 10002=待機: {0}

View file

@ -23,12 +23,14 @@ LANG=한국어(액토즈)
24=돌발 교전 24=돌발 교전
25=비상 교전 25=비상 교전
26=기본 26=기본
27=없음
99=듀티 콘텐츠 플러그인 {0} 99=듀티 콘텐츠 플러그인 {0}
101=소리 파일을 선택하세요 101=소리 파일을 선택하세요
102=소리 파일 (*.wav)|*.wav|모든 파일 (*.*)|*.* 102=소리 파일 (*.wav)|*.wav|모든 파일 (*.*)|*.*
103=알림 테스트입니다!! 103=알림 테스트입니다!!
104=마우스 눌림 방지
200=설정 200=설정
201=표시 언어 201=표시 언어
@ -61,6 +63,15 @@ LANG=한국어(액토즈)
324=상태 324=상태
325=사람수 325=사람수
326=진행도 326=진행도
327=핑
328=핑 사용
329=속도별 색깔
330=매우 좋음
331=좋음
332=보통
333=나쁨
334=그래프 보기
335=클라이언트의 접속이 없을때 사용할 DC 선택
10001="{0}" 발생했어요! 10001="{0}" 발생했어요!
10002=찾습니다: {0} 10002=찾습니다: {0}

9
Data/ServerList.txt Normal file
View file

@ -0,0 +1,9 @@
None
124.150.157.158 Elemental
124.150.157.157 Gaia
124.150.157.156 Mana
204.2.229.9 Aether
204.2.229.10 Primal
204.2.229.11 Crystal
195.82.50.9 Chaos
195.82.50.10 Light

View file

@ -177,6 +177,7 @@ namespace DutyContent
Color.FromArgb(0xFF, 0xDD, 0xA0, 0xDD), Color.FromArgb(0xFF, 0xDD, 0xA0, 0xDD),
}; };
public bool PingGraph { get; set; } public bool PingGraph { get; set; }
public string PingDefAddr { get; set; }
// //
public bool EnableNotify => UseNotifyLine || UseNotifyTelegram; public bool EnableNotify => UseNotifyLine || UseNotifyTelegram;
@ -227,6 +228,7 @@ namespace DutyContent
sw.WriteLine("DutyPingColor2={0:X}", PingColors[2].ToArgb()); sw.WriteLine("DutyPingColor2={0:X}", PingColors[2].ToArgb());
sw.WriteLine("DutyPingColor3={0:X}", PingColors[3].ToArgb()); sw.WriteLine("DutyPingColor3={0:X}", PingColors[3].ToArgb());
sw.WriteLine("DutyPingGraph={0}", PingGraph); sw.WriteLine("DutyPingGraph={0}", PingGraph);
sw.WriteLine("DutyPingDefAddr={0}", PingDefAddr);
sw.WriteLine(); sw.WriteLine();
} }
@ -267,6 +269,7 @@ namespace DutyContent
PingColors[2] = ThirdParty.Converter.ToColorArgb(db["DutyPingColor2"], PingColors[2]); PingColors[2] = ThirdParty.Converter.ToColorArgb(db["DutyPingColor2"], PingColors[2]);
PingColors[3] = ThirdParty.Converter.ToColorArgb(db["DutyPingColor3"], PingColors[3]); PingColors[3] = ThirdParty.Converter.ToColorArgb(db["DutyPingColor3"], PingColors[3]);
PingGraph = ThirdParty.Converter.ToBool(db["DutyPingGraph"]); PingGraph = ThirdParty.Converter.ToBool(db["DutyPingGraph"]);
PingDefAddr = db.Get("DutyPingDefAddr", string.Empty);
} }
} }

View file

@ -172,6 +172,9 @@
<ItemGroup> <ItemGroup>
<None Include="Resources\pix_tab_ping.png" /> <None Include="Resources\pix_tab_ping.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Resource Include="Data\ServerList.txt" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup> <PropertyGroup>
<PostBuildEvent>if exist "%25APPDATA%25\Advanced Combat Tracker\Plugins\DutyContent" copy $(TargetPath) "%25APPDATA%25\Advanced Combat Tracker\Plugins\DutyContent" /y <PostBuildEvent>if exist "%25APPDATA%25\Advanced Combat Tracker\Plugins\DutyContent" copy $(TargetPath) "%25APPDATA%25\Advanced Combat Tracker\Plugins\DutyContent" /y

View file

@ -129,11 +129,15 @@ namespace DutyContent.Libre
} }
#else #else
// curved // curved
if (cd.Count > 2)
{
u = 10; u = 10;
var pts = new PointF[cd.Count - 1]; var pts = new PointF[cd.Count - 1];
for (var i = 0; i < cd.Count - 1; i++, u += Step) for (var i = 0; i < cd.Count - 1; i++, u += Step)
pts[i] = new PointF(u, height - cd.Values[i] * scale); pts[i] = new PointF(u, height - cd.Values[i] * scale);
g.DrawCurve(pen, pts, 0.6f); g.DrawCurve(pen, pts, 0.6f);
}
#endif #endif
} }
} }

View file

@ -23,6 +23,7 @@ LANG=English
24=Skirmish 24=Skirmish
25=CE 25=CE
26=Default 26=Default
27=None
99=DutyContent Plugin {0} 99=DutyContent Plugin {0}
@ -70,6 +71,7 @@ LANG=English
332=Normal 332=Normal
333=Bad 333=Bad
334=Show Graph 334=Show Graph
335=Addresses when client doesn't have connections
10001="{0}" spawned! 10001="{0}" spawned!
10002=Entry: {0} 10002=Entry: {0}

View file

@ -101,6 +101,8 @@ namespace DutyContent.Tab
this.chkEnableOverlay = new System.Windows.Forms.CheckBox(); this.chkEnableOverlay = new System.Windows.Forms.CheckBox();
this.tabPagePing = new System.Windows.Forms.TabPage(); this.tabPagePing = new System.Windows.Forms.TabPage();
this.panel6 = new System.Windows.Forms.Panel(); this.panel6 = new System.Windows.Forms.Panel();
this.pbxPingGraph = new System.Windows.Forms.PictureBox();
this.chkPingGraph = new System.Windows.Forms.CheckBox();
this.tlpnPingColors = new System.Windows.Forms.TableLayoutPanel(); this.tlpnPingColors = new System.Windows.Forms.TableLayoutPanel();
this.lblPingStat1 = new System.Windows.Forms.Label(); this.lblPingStat1 = new System.Windows.Forms.Label();
this.btnPingColor4 = new System.Windows.Forms.Button(); this.btnPingColor4 = new System.Windows.Forms.Button();
@ -132,8 +134,8 @@ namespace DutyContent.Tab
this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.lblPacketFinder = new System.Windows.Forms.Label(); this.lblPacketFinder = new System.Windows.Forms.Label();
this.ilTabContent = new System.Windows.Forms.ImageList(this.components); this.ilTabContent = new System.Windows.Forms.ImageList(this.components);
this.chkPingGraph = new System.Windows.Forms.CheckBox(); this.lblPingDefAddr = new System.Windows.Forms.Label();
this.pbxPingGraph = new System.Windows.Forms.PictureBox(); this.cboPingDefAddr = new System.Windows.Forms.ComboBox();
this.tabContent.SuspendLayout(); this.tabContent.SuspendLayout();
this.tabPageContent.SuspendLayout(); this.tabPageContent.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
@ -147,10 +149,10 @@ namespace DutyContent.Tab
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
this.tabPagePing.SuspendLayout(); this.tabPagePing.SuspendLayout();
this.panel6.SuspendLayout(); this.panel6.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pbxPingGraph)).BeginInit();
this.tlpnPingColors.SuspendLayout(); this.tlpnPingColors.SuspendLayout();
this.tabPagePacket.SuspendLayout(); this.tabPagePacket.SuspendLayout();
this.panel5.SuspendLayout(); this.panel5.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pbxPingGraph)).BeginInit();
this.SuspendLayout(); this.SuspendLayout();
// //
// tabContent // tabContent
@ -682,6 +684,8 @@ namespace DutyContent.Tab
this.panel6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.panel6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.panel6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.panel6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel6.Controls.Add(this.cboPingDefAddr);
this.panel6.Controls.Add(this.lblPingDefAddr);
this.panel6.Controls.Add(this.pbxPingGraph); this.panel6.Controls.Add(this.pbxPingGraph);
this.panel6.Controls.Add(this.chkPingGraph); this.panel6.Controls.Add(this.chkPingGraph);
this.panel6.Controls.Add(this.tlpnPingColors); this.panel6.Controls.Add(this.tlpnPingColors);
@ -692,6 +696,28 @@ namespace DutyContent.Tab
this.panel6.Size = new System.Drawing.Size(778, 353); this.panel6.Size = new System.Drawing.Size(778, 353);
this.panel6.TabIndex = 1; this.panel6.TabIndex = 1;
// //
// 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;
//
// chkPingGraph
//
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);
//
// tlpnPingColors // tlpnPingColors
// //
this.tlpnPingColors.ColumnCount = 4; this.tlpnPingColors.ColumnCount = 4;
@ -713,7 +739,7 @@ namespace DutyContent.Tab
this.tlpnPingColors.RowCount = 2; 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, 40F));
this.tlpnPingColors.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 60F)); 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.Size = new System.Drawing.Size(318, 62);
this.tlpnPingColors.TabIndex = 11; this.tlpnPingColors.TabIndex = 11;
// //
// lblPingStat1 // lblPingStat1
@ -722,7 +748,7 @@ namespace DutyContent.Tab
this.lblPingStat1.Dock = System.Windows.Forms.DockStyle.Fill; this.lblPingStat1.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblPingStat1.Location = new System.Drawing.Point(6, 3); this.lblPingStat1.Location = new System.Drawing.Point(6, 3);
this.lblPingStat1.Name = "lblPingStat1"; this.lblPingStat1.Name = "lblPingStat1";
this.lblPingStat1.Size = new System.Drawing.Size(85, 22); this.lblPingStat1.Size = new System.Drawing.Size(72, 22);
this.lblPingStat1.TabIndex = 6; this.lblPingStat1.TabIndex = 6;
this.lblPingStat1.Text = "330"; this.lblPingStat1.Text = "330";
this.lblPingStat1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblPingStat1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -731,9 +757,9 @@ namespace DutyContent.Tab
// //
this.btnPingColor4.BackColor = System.Drawing.Color.Plum; this.btnPingColor4.BackColor = System.Drawing.Color.Plum;
this.btnPingColor4.Dock = System.Windows.Forms.DockStyle.Fill; this.btnPingColor4.Dock = System.Windows.Forms.DockStyle.Fill;
this.btnPingColor4.Location = new System.Drawing.Point(279, 28); this.btnPingColor4.Location = new System.Drawing.Point(240, 28);
this.btnPingColor4.Name = "btnPingColor4"; this.btnPingColor4.Name = "btnPingColor4";
this.btnPingColor4.Size = new System.Drawing.Size(86, 28); this.btnPingColor4.Size = new System.Drawing.Size(72, 28);
this.btnPingColor4.TabIndex = 8; this.btnPingColor4.TabIndex = 8;
this.btnPingColor4.UseVisualStyleBackColor = false; this.btnPingColor4.UseVisualStyleBackColor = false;
this.btnPingColor4.Click += new System.EventHandler(this.BtnPingColor4_Click); this.btnPingColor4.Click += new System.EventHandler(this.BtnPingColor4_Click);
@ -742,9 +768,9 @@ namespace DutyContent.Tab
// //
this.btnPingColor2.BackColor = System.Drawing.Color.Aqua; this.btnPingColor2.BackColor = System.Drawing.Color.Aqua;
this.btnPingColor2.Dock = System.Windows.Forms.DockStyle.Fill; this.btnPingColor2.Dock = System.Windows.Forms.DockStyle.Fill;
this.btnPingColor2.Location = new System.Drawing.Point(97, 28); this.btnPingColor2.Location = new System.Drawing.Point(84, 28);
this.btnPingColor2.Name = "btnPingColor2"; this.btnPingColor2.Name = "btnPingColor2";
this.btnPingColor2.Size = new System.Drawing.Size(85, 28); this.btnPingColor2.Size = new System.Drawing.Size(72, 28);
this.btnPingColor2.TabIndex = 10; this.btnPingColor2.TabIndex = 10;
this.btnPingColor2.UseVisualStyleBackColor = false; this.btnPingColor2.UseVisualStyleBackColor = false;
this.btnPingColor2.Click += new System.EventHandler(this.BtnPingColor2_Click); this.btnPingColor2.Click += new System.EventHandler(this.BtnPingColor2_Click);
@ -753,9 +779,9 @@ namespace DutyContent.Tab
// //
this.btnPingColor3.BackColor = System.Drawing.Color.LawnGreen; this.btnPingColor3.BackColor = System.Drawing.Color.LawnGreen;
this.btnPingColor3.Dock = System.Windows.Forms.DockStyle.Fill; this.btnPingColor3.Dock = System.Windows.Forms.DockStyle.Fill;
this.btnPingColor3.Location = new System.Drawing.Point(188, 28); this.btnPingColor3.Location = new System.Drawing.Point(162, 28);
this.btnPingColor3.Name = "btnPingColor3"; this.btnPingColor3.Name = "btnPingColor3";
this.btnPingColor3.Size = new System.Drawing.Size(85, 28); this.btnPingColor3.Size = new System.Drawing.Size(72, 28);
this.btnPingColor3.TabIndex = 9; this.btnPingColor3.TabIndex = 9;
this.btnPingColor3.UseVisualStyleBackColor = false; this.btnPingColor3.UseVisualStyleBackColor = false;
this.btnPingColor3.Click += new System.EventHandler(this.BtnPingColor3_Click); this.btnPingColor3.Click += new System.EventHandler(this.BtnPingColor3_Click);
@ -764,9 +790,9 @@ namespace DutyContent.Tab
// //
this.lblPingStat2.AutoSize = true; this.lblPingStat2.AutoSize = true;
this.lblPingStat2.Dock = System.Windows.Forms.DockStyle.Fill; this.lblPingStat2.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblPingStat2.Location = new System.Drawing.Point(97, 3); this.lblPingStat2.Location = new System.Drawing.Point(84, 3);
this.lblPingStat2.Name = "lblPingStat2"; this.lblPingStat2.Name = "lblPingStat2";
this.lblPingStat2.Size = new System.Drawing.Size(85, 22); this.lblPingStat2.Size = new System.Drawing.Size(72, 22);
this.lblPingStat2.TabIndex = 5; this.lblPingStat2.TabIndex = 5;
this.lblPingStat2.Text = "331"; this.lblPingStat2.Text = "331";
this.lblPingStat2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblPingStat2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -775,9 +801,9 @@ namespace DutyContent.Tab
// //
this.lblPingStat4.AutoSize = true; this.lblPingStat4.AutoSize = true;
this.lblPingStat4.Dock = System.Windows.Forms.DockStyle.Fill; this.lblPingStat4.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblPingStat4.Location = new System.Drawing.Point(279, 3); this.lblPingStat4.Location = new System.Drawing.Point(240, 3);
this.lblPingStat4.Name = "lblPingStat4"; this.lblPingStat4.Name = "lblPingStat4";
this.lblPingStat4.Size = new System.Drawing.Size(86, 22); this.lblPingStat4.Size = new System.Drawing.Size(72, 22);
this.lblPingStat4.TabIndex = 3; this.lblPingStat4.TabIndex = 3;
this.lblPingStat4.Text = "333"; this.lblPingStat4.Text = "333";
this.lblPingStat4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblPingStat4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -788,7 +814,7 @@ namespace DutyContent.Tab
this.btnPingColor1.Dock = System.Windows.Forms.DockStyle.Fill; this.btnPingColor1.Dock = System.Windows.Forms.DockStyle.Fill;
this.btnPingColor1.Location = new System.Drawing.Point(6, 28); this.btnPingColor1.Location = new System.Drawing.Point(6, 28);
this.btnPingColor1.Name = "btnPingColor1"; this.btnPingColor1.Name = "btnPingColor1";
this.btnPingColor1.Size = new System.Drawing.Size(85, 28); this.btnPingColor1.Size = new System.Drawing.Size(72, 28);
this.btnPingColor1.TabIndex = 7; this.btnPingColor1.TabIndex = 7;
this.btnPingColor1.UseVisualStyleBackColor = false; this.btnPingColor1.UseVisualStyleBackColor = false;
this.btnPingColor1.Click += new System.EventHandler(this.BtnPingColor1_Click); this.btnPingColor1.Click += new System.EventHandler(this.BtnPingColor1_Click);
@ -797,9 +823,9 @@ namespace DutyContent.Tab
// //
this.lblPingStat3.AutoSize = true; this.lblPingStat3.AutoSize = true;
this.lblPingStat3.Dock = System.Windows.Forms.DockStyle.Fill; this.lblPingStat3.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblPingStat3.Location = new System.Drawing.Point(188, 3); this.lblPingStat3.Location = new System.Drawing.Point(162, 3);
this.lblPingStat3.Name = "lblPingStat3"; this.lblPingStat3.Name = "lblPingStat3";
this.lblPingStat3.Size = new System.Drawing.Size(85, 22); this.lblPingStat3.Size = new System.Drawing.Size(72, 22);
this.lblPingStat3.TabIndex = 4; this.lblPingStat3.TabIndex = 4;
this.lblPingStat3.Text = "332"; this.lblPingStat3.Text = "332";
this.lblPingStat3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblPingStat3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@ -1028,27 +1054,24 @@ namespace DutyContent.Tab
this.ilTabContent.Images.SetKeyName(2, "pix_tab_tool.png"); this.ilTabContent.Images.SetKeyName(2, "pix_tab_tool.png");
this.ilTabContent.Images.SetKeyName(3, "pix_tab_ping.png"); this.ilTabContent.Images.SetKeyName(3, "pix_tab_ping.png");
// //
// chkPingGraph // lblPingDefAddr
// //
this.chkPingGraph.AutoSize = true; this.lblPingDefAddr.AutoSize = true;
this.chkPingGraph.Location = new System.Drawing.Point(26, 108); this.lblPingDefAddr.Location = new System.Drawing.Point(515, 35);
this.chkPingGraph.Name = "chkPingGraph"; this.lblPingDefAddr.Name = "lblPingDefAddr";
this.chkPingGraph.Size = new System.Drawing.Size(44, 17); this.lblPingDefAddr.Size = new System.Drawing.Size(25, 13);
this.chkPingGraph.TabIndex = 12; this.lblPingDefAddr.TabIndex = 14;
this.chkPingGraph.Text = "334"; this.lblPingDefAddr.Text = "335";
this.chkPingGraph.UseVisualStyleBackColor = true;
this.chkPingGraph.CheckedChanged += new System.EventHandler(this.chkPingGraph_CheckedChanged);
// //
// pbxPingGraph // cboPingDefAddr
// //
this.pbxPingGraph.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.cboPingDefAddr.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
| System.Windows.Forms.AnchorStyles.Right))); this.cboPingDefAddr.FormattingEnabled = true;
this.pbxPingGraph.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.cboPingDefAddr.Location = new System.Drawing.Point(535, 51);
this.pbxPingGraph.Location = new System.Drawing.Point(129, 108); this.cboPingDefAddr.Name = "cboPingDefAddr";
this.pbxPingGraph.Name = "pbxPingGraph"; this.cboPingDefAddr.Size = new System.Drawing.Size(238, 21);
this.pbxPingGraph.Size = new System.Drawing.Size(644, 114); this.cboPingDefAddr.TabIndex = 15;
this.pbxPingGraph.TabIndex = 13; this.cboPingDefAddr.SelectedIndexChanged += new System.EventHandler(this.CboPingDefAddr_SelectedIndexChanged);
this.pbxPingGraph.TabStop = false;
// //
// DutyForm // DutyForm
// //
@ -1079,12 +1102,12 @@ namespace DutyContent.Tab
this.tabPagePing.ResumeLayout(false); this.tabPagePing.ResumeLayout(false);
this.panel6.ResumeLayout(false); this.panel6.ResumeLayout(false);
this.panel6.PerformLayout(); this.panel6.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pbxPingGraph)).EndInit();
this.tlpnPingColors.ResumeLayout(false); this.tlpnPingColors.ResumeLayout(false);
this.tlpnPingColors.PerformLayout(); this.tlpnPingColors.PerformLayout();
this.tabPagePacket.ResumeLayout(false); this.tabPagePacket.ResumeLayout(false);
this.panel5.ResumeLayout(false); this.panel5.ResumeLayout(false);
this.panel5.PerformLayout(); this.panel5.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pbxPingGraph)).EndInit();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@ -1169,5 +1192,7 @@ namespace DutyContent.Tab
private System.Windows.Forms.TableLayoutPanel tlpnPingColors; private System.Windows.Forms.TableLayoutPanel tlpnPingColors;
private System.Windows.Forms.PictureBox pbxPingGraph; private System.Windows.Forms.PictureBox pbxPingGraph;
private System.Windows.Forms.CheckBox chkPingGraph; private System.Windows.Forms.CheckBox chkPingGraph;
private System.Windows.Forms.Label lblPingDefAddr;
private System.Windows.Forms.ComboBox cboPingDefAddr;
} }
} }

View file

@ -32,7 +32,7 @@ namespace DutyContent.Tab
private long _ping_last; private long _ping_last;
private Color _ping_color = Color.Transparent; private Color _ping_color = Color.Transparent;
private Libre.PingGrapher _ping_grpr; private Libre.PingGrapher _ping_grpr;
private List<int> _ping_keeps = new List<int>(); private List<int> _ping_keeps = new List<int>() { 0, 0, };
public DutyForm() public DutyForm()
{ {
@ -42,7 +42,6 @@ namespace DutyContent.Tab
_overlay = new Overlay.DutyOvForm(); _overlay = new Overlay.DutyOvForm();
_ping_grpr = new Libre.PingGrapher(pbxPingGraph); _ping_grpr = new Libre.PingGrapher(pbxPingGraph);
_ping_keeps.Add(0);
} }
private void DutyTabForm_FormClosing(object sender, FormClosingEventArgs e) private void DutyTabForm_FormClosing(object sender, FormClosingEventArgs e)
@ -131,13 +130,39 @@ namespace DutyContent.Tab
} }
UpdateFates(); UpdateFates();
//
try
{
var svl = File.ReadAllLines(Path.Combine(DcConfig.DataPath, "ServerList.txt"));
int ssv = -1;
for (var i = 0; i < svl.Length; i++)
{
cboPingDefAddr.Items.Add(svl[i]);
if (svl[i].StartsWith(DcConfig.Duty.PingDefAddr))
ssv = i;
}
if (string.IsNullOrEmpty(DcConfig.Duty.PingDefAddr))
ssv = -1;
cboPingDefAddr.SelectedIndex = ssv > 0 ? ssv : 0;
}
catch
{
cboPingDefAddr.Items.Clear();
cboPingDefAddr.Items.Add(MesgLog.Text(27));
cboPingDefAddr.SelectedIndex = 0;
}
// //
_ping_timer = new System.Timers.Timer() { Interval = 5000 }; _ping_timer = new System.Timers.Timer() { Interval = 5000 };
_ping_timer.Elapsed += (sender, e) => PingOnce(); _ping_timer.Elapsed += (sender, e) => PingOnce();
if (DcConfig.Duty.UsePing) if (DcConfig.Duty.UsePing)
{ {
PingOnce(); PingOnce(false);
_ping_timer.Start(); _ping_timer.Start();
} }
} }
@ -228,6 +253,7 @@ namespace DutyContent.Tab
lblPingStat3.Text = MesgLog.Text(332); lblPingStat3.Text = MesgLog.Text(332);
lblPingStat4.Text = MesgLog.Text(333); lblPingStat4.Text = MesgLog.Text(333);
chkPingGraph.Text = MesgLog.Text(334); chkPingGraph.Text = MesgLog.Text(334);
lblPingDefAddr.Text = MesgLog.Text(335);
} }
public void PacketHandler(string pid, byte[] message) public void PacketHandler(string pid, byte[] message)
@ -1385,7 +1411,7 @@ namespace DutyContent.Tab
PingColorWorker(3, btnPingColor4); PingColorWorker(3, btnPingColor4);
} }
private void chkPingGraph_CheckedChanged(object sender, EventArgs e) private void ChkPingGraph_CheckedChanged(object sender, EventArgs e)
{ {
if (!DcConfig.PluginEnable) if (!DcConfig.PluginEnable)
return; return;
@ -1395,31 +1421,81 @@ namespace DutyContent.Tab
SaveConfig(); SaveConfig();
} }
// private void CboPingDefAddr_SelectedIndexChanged(object sender, EventArgs e)
private void PingOnce()
{ {
if (!DcConfig.PluginEnable || !DcConfig.Duty.UsePing) if (!DcConfig.PluginEnable)
return;
var val = cboPingDefAddr.SelectedItem as string;
if (!string.IsNullOrEmpty(val))
{
var ss = val.Split(' ');
if (ss.Length > 0)
{
DcConfig.Duty.PingDefAddr = ss[0].Trim();
MesgLog.L("sel defip: {0}", ss[0]);
SaveConfig();
return;
}
}
DcConfig.Duty.PingDefAddr = string.Empty;
SaveConfig();
}
//
private void PingOnce(bool check_plugin_enable = true)
{
if (!DcConfig.Duty.UsePing)
return;
if (check_plugin_enable && !DcConfig.PluginEnable)
return; return;
var conns = DcConfig.Connections.CopyConnection(); var conns = DcConfig.Connections.CopyConnection();
if (conns.Length == 0) long rtt = 0;
double loss = 0;
if (conns.Length > 0)
{
foreach (var row in conns)
{
var (r, l) = CalcPing(row.RemoteAddress);
if (rtt < r)
rtt = r;
if (loss < l)
loss = l;
}
}
else
{
if (string.IsNullOrEmpty(DcConfig.Duty.PingDefAddr))
{ {
_overlay.ResetStat(); _overlay.ResetStat();
return; return;
} }
long rtt = 0; var defip = ThirdParty.Converter.ToIPAddressFromIPV4(DcConfig.Duty.PingDefAddr);
double loss = 0.0;
foreach (var row in conns) if (defip == IPAddress.None || defip == IPAddress.IPv6None)
{ {
var (Rtt, Loss) = CalcPing(row.RemoteAddress); _overlay.ResetStat();
return;
}
if (rtt < Rtt) var (r, l) = CalcPing(defip);
rtt = Rtt;
if (loss < Loss) if (rtt < r)
loss = Loss; rtt = r;
if (loss < l)
loss = l;
} }
//MesgLog.L("Ping: {0}, {1}%", rtt, loss); //MesgLog.L("Ping: {0}, {1}%", rtt, loss);

View file

@ -124,307 +124,306 @@
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAS ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAI
RgAAAk1TRnQBSQFMAgEBBAEAARgBAQEYAQEBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA RgAAAk1TRnQBSQFMAgEBBAEAASABAQEgAQEBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
AwABQAMAAQEBAAEgBgABgP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A 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/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AWgADNgRZAcQDVQHqAxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/ /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AWgADNgRZAcQDVQHqAxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/
AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/ AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/
AxQB/wNdAeIDVAGuAykBPwgAAwcBCgNIAYUCFAGqAf8CDwGqAf8CDgGkAf8CDgGkAf8CDgGkAf8CDgGk AxMB/wNdAeIDVAGuAykBPwgAAwcBCgNIAYUCEwGqAf8CDgGqAf8CDQGkAf8CDQGkAf8CDQGkAf8CDQGk
Af8CDgGkAf8CDgGkAf8CDgGjAf8CDgGiAf8CDgGiAf8CDgGiAf8CDgGiAf8CDgGiAf8CDgGiAf8CDgGi Af8CDQGkAf8CDQGkAf8CDQGjAf8CDQGiAf8CDQGiAf8CDQGiAf8CDQGiAf8CDQGiAf8CDQGiAf8CDQGi
Af8CDgGiAf8CDgGiAf8CDgGiAf8CDgGjAf8CDgGkAf8CDgGkAf8CDgGkAf8CDgGkAf8CDgGkAf8CDgGk Af8CDQGiAf8CDQGiAf8CDQGiAf8CDQGjAf8CDQGkAf8CDQGkAf8CDQGkAf8CDQGkAf8CDQGkAf8CDQGk
Af8CDwGqAf8CFAGqAf8DSAGFAwcBCv8ABQADTgGXAzUB/wOyAf8DzQH/A90B/wPdAf8D3QH/A90B/wPd Af8CDgGqAf8CEwGqAf8DSAGFAwcBCv8ABQADTgGXAzQB/wOyAf8DzQH/A90B/wPdAf8D3QH/A90B/wPd
Af8D3QH/A90B/wPdAf8D3QH/A90B/wPdAf8D3QH/A90B/wPdAf8D3QH/A90B/wPdAf8D3QH/A90B/wPd Af8D3QH/A90B/wPdAf8D3QH/A90B/wPdAf8D3QH/A90B/wPdAf8D3QH/A90B/wPdAf8D3QH/A90B/wPd
Af8D3QH/A90B/wPIAf8DogH/AyYB/wNGAYEEAANIAYUCDgGkAf8CDgGiAf8CDgGhAf8CDgGhAf8CDgGh Af8D3QH/A90B/wPIAf8DogH/AyUB/wNGAYEEAANIAYUCDQGkAf8CDQGiAf8CDQGhAf8CDQGhAf8CDQGh
Af8CDgGhAf8CDgGhAf8CCwGgAf8CCwGeAf8CCwGbAf8CCwGZAf8CCwGZAf8CCwGXAf8CCwGVAf8CCwGV Af8CDQGhAf8CDQGhAf8CCgGgAf8CCgGeAf8CCgGbAf8CCgGZAf8CCgGZAf8CCgGXAf8CCgGVAf8CCgGV
Af8CCwGVAf8CCwGVAf8CCwGXAf8CCwGZAf8CCwGZAf8CCwGbAf8CCwGeAf8CCwGgAf8CDgGhAf8CDgGh Af8CCgGVAf8CCgGVAf8CCgGXAf8CCgGZAf8CCgGZAf8CCgGbAf8CCgGeAf8CCgGgAf8CDQGhAf8CDQGh
Af8CDgGhAf8CDgGhAf8CDgGhAf8CDgGiAf8CDgGkAf8DSAGFVwABAQMCBAMEBAEGAwQBBgMDAQQDAQEC Af8CDQGhAf8CDQGhAf8CDQGhAf8CDQGiAf8CDQGkAf8DSAGFVwABAQMCBAMEBAEGAwQBBgMDAQQDAQEC
AwABAYwAAzcBWgNBAf8D2wH/A4sB/wMrAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMU AwABAYwAAzcBWgNAAf8D2wH/A4sB/wMqAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMT
Af8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AysB/wOH Af8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AyoB/wOH
Af8DzQH/Ay0B/wMrAUICDgGkAf8CDgGiAf8CCwGdAf8CCQGYAf8CCQGXAf8CCQGXAf8CCQGXAf8CCQGX Af8DzQH/AywB/wMrAUICDQGkAf8CDQGiAf8CCgGdAf8CCAGYAf8CCAGXAf8CCAGXAf8CCAGXAf8CCAGX
Af8CBgGRAf8CBgGPAf8CBgGMAf8CBgGKAf8CBgGKAf8CBAGIAf8CAQGGAf8CAQGGAf8CAQGGAf8CAwGG Af8CBQGRAf8CBQGPAf8CBQGMAf8CBQGKAf8CBQGKAf8CAwGIAf8CAAGGAf8CAAGGAf8CAAGGAf8CAgGG
Af8CBgGIAf8CBgGKAf8CBgGKAf8CBgGMAf8CBgGPAf8CBgGVAf8CCQGXAf8CCQGXAf8CCQGXAf8CCQGX Af8CBQGIAf8CBQGKAf8CBQGKAf8CBQGMAf8CBQGPAf8CBQGVAf8CCAGXAf8CCAGXAf8CCAGXAf8CCAGX
Af8CCQGYAf8CCwGdAf8CDgGiAf8CDgGkAf9QAAMCAQMDBgEIAw0BEgMaASQDIwEzAyEBMAMWAR4DCgEO Af8CCAGYAf8CCgGdAf8CDQGiAf8CDQGkAf9QAAMCAQMDBgEIAw0BEgMaASQDIwEzAyEBMAMWAR4DCgEO
AwQBBgMAAQGIAANZAcMDsgH/A4oB/wFRAT8BJQH/AbkBkwE3Af8BzgGiAT0B/wHOAaIBPQH/Ac4BogE9 AwQBBgMAAQGIAANZAcMDsgH/A4oB/wFQAT4BJAH/AbkBkwE2Af8BzgGiATwB/wHOAaIBPAH/Ac4BogE8
Af8BzgGiAT0B/wHOAaIBPQH/Ac4BogE9Af8BzgGiAT0B/wHOAaIBPQH/Ac4BogE9Af8BzgGiAT0B/wG9 Af8BzgGiATwB/wHOAaIBPAH/Ac4BogE8Af8BzgGiATwB/wHOAaIBPAH/Ac4BogE8Af8BzgGiATwB/wG9
AZUBNQH/AaMBgAEpAf8BvQGVATUB/wHOAaIBPQH/Ac4BogE9Af8BzgGiAT0B/wHOAaIBPQH/Ac4BogE9 AZUBNAH/AaMBgAEoAf8BvQGVATQB/wHOAaIBPAH/Ac4BogE8Af8BzgGiATwB/wHOAaIBPAH/Ac4BogE8
Af8BzgGiAT0B/wHOAaIBPQH/Ac4BogE9Af8BzgGiAT0B/wG5AZMBNwH/AVwBRwEoAf8DhQH/A6MB/wNU Af8BzgGiATwB/wHOAaIBPAH/Ac4BogE8Af8BzgGiATwB/wG5AZMBNgH/AVsBRgEnAf8DhQH/A6MB/wNU
AasCDgGjAf8CCwGaAf8CBwGRAf8CAAGNAf8CAAGNAf8CAAGKAf8CAAGGAf8CAAGBAf8CAAFbAf8CAAFZ AasCDQGjAf8CCgGaAf8CBgGRAf8CAAGNAf8CAAGNAf8CAAGKAf8CAAGGAf8CAAGBAf8CAAFaAf8CAAFY
Af8CAAFUAf8CAAFTAf8CAAFTAf8CAAFTAf8CAAFPAf8CAAFMAf8CAAFMAf8CAAFPAf8CAAFTAf8CAAFT Af8CAAFTAf8CAAFSAf8CAAFSAf8CAAFSAf8CAAFOAf8CAAFLAf8CAAFLAf8CAAFOAf8CAAFSAf8CAAFS
Af8CAAFTAf8CAAFUAf8CAAFZAf8CAAGAAf8CAAGGAf8CAAGGAf8CAAGKAf8CAAGNAf8CAAGNAf8CBwGR Af8CAAFSAf8CAAFTAf8CAAFYAf8CAAGAAf8CAAGGAf8CAAGGAf8CAAGKAf8CAAGNAf8CAAGNAf8CBgGR
Af8CCwGaAf8CDgGjAf9MAAMCAQMDBwEKAxcBIAMwAUwBRQJGAX4BTwJRAZwBTQJOAZYDQQFyAyoBQQMS Af8CCgGaAf8CDQGjAf9MAAMCAQMDBwEKAxcBIAMwAUwBRQJGAX4BTwJRAZwBTQJOAZYDQQFyAyoBQQMS
ARkDBQEHAwABAS8AAf8DAAH/AwAB/wMAAf8DAAH/RAADQQH5A8oB/wMpAf8BuQGPATYB/wHVAaIBPgH/ ARkDBQEHAwABAS8AAf8DAAH/AwAB/wMAAf8DAAH/RAADQQH5A8oB/wMoAf8BuQGPATUB/wHVAaIBPQH/
AdUBogE+Af8B1QGiAT4B/wHVAaIBPgH/AdUBogE+Af8B1QGiAT4B/wHVAaIBPgH/AdUBogE+Af8B1QGi AdUBogE9Af8B1QGiAT0B/wHVAaIBPQH/AdUBogE9Af8B1QGiAT0B/wHVAaIBPQH/AdUBogE9Af8B1QGi
AT4B/wHVAaIBPgH/AcQBlQE2Af8BiQFIASIB/wEdASwBMgH/AZQBTQEhAf8B0wGhAT0B/wHVAaIBPgH/ AT0B/wHVAaIBPQH/AcQBlQE1Af8BiQFHASEB/wEcASsBMQH/AZQBTAEgAf8B0wGhATwB/wHVAaIBPQH/
AdUBogE+Af8B1QGiAT4B/wHVAaIBPgH/AdUBogE+Af8B1QGiAT4B/wHVAaIBPgH/AdUBogE+Af8B1QGi AdUBogE9Af8B1QGiAT0B/wHVAaIBPQH/AdUBogE9Af8B1QGiAT0B/wHVAaIBPQH/AdUBogE9Af8B1QGi
AT4B/wHAAZMBOAH/AyIB/wPFAf8DTgHwAgwBmQH/AgIBiwH/AgABWQH/AgABVQH/AgABTQH/AgABTQH/ AT0B/wHAAZMBNwH/AyEB/wPFAf8DTgHwAgsBmQH/AgEBiwH/AgABWAH/AgABVAH/AgABTAH/AgABTAH/
AgABSAH/AgABRQH/AgABRAH/AgABQQH/AgABPQH/AgABPQH/AgABPAH/AgABOQH/AgABNQH/AgABNQH/ AgABRwH/AgABRAH/AgABQwH/AgABQAH/AgABPAH/AgABPAH/AgABOwH/AgABOAH/AgABNAH/AgABNAH/
AgABNQH/AgABNQH/AgABOQH/AgABPAH/AgABPQH/AgABPQH/AgABQQH/AgABRAH/AgABRwH/AgABTQH/ AgABNAH/AgABNAH/AgABOAH/AgABOwH/AgABPAH/AgABPAH/AgABQAH/AgABQwH/AgABRgH/AgABTAH/
AgABTQH/AgABTQH/AgABVQH/AgABWQH/AgIBiwH/AgwBmQH/SAADAQECAwcBCQMYASIDOAFeAVMCVQGt AgABTAH/AgABTAH/AgABVAH/AgABWAH/AgEBiwH/AgsBmQH/SAADAQECAwcBCQMYASIDOAFeAVMCVQGt
AV0CYQHiAm0BbgH3A2UB9AFeAmEB2gNQAZoDLQFGAw4BEwMDAQQvAAH/AwAB/wMAAf8DAAH/AwAB/0QA AV0CYQHiA20B9wNlAfQBXgJhAdoDUAGaAy0BRgMOARMDAwEELwAB/wMAAf8DAAH/AwAB/wMAAf9EAAMT
AxQB/wPCAf8DFgH/AcwBlQE7Af8B1QGbAT0B/wHVAZsBPQH/AdUBmwE9Af8B1QGbAT0B/wHVAZsBPQH/ Af8DwgH/AxUB/wHMAZUBOgH/AdUBmwE8Af8B1QGbATwB/wHVAZsBPAH/AdUBmwE8Af8B1QGbATwB/wHV
AdUBmwE9Af8B1QGbAT0B/wHVAZsBPQH/AdUBmwE9Af8BvwGLATMB/wGTAUgBIAH/ARwBKgEzAf8BAAEy AZsBPAH/AdUBmwE8Af8B1QGbATwB/wHVAZsBPAH/Ab8BiwEyAf8BkwFHAR8B/wEbASkBMgH/AQABMQGO
AY4B/wFLATgBJAH/AZUBSQEgAf8BzwGXAToB/wHVAZsBPQH/AdUBmwE9Af8B1QGbAT0B/wHVAZsBPQH/ Af8BSgE3ASMB/wGVAUgBHwH/Ac8BlwE5Af8B1QGbATwB/wHVAZsBPAH/AdUBmwE8Af8B1QGbATwB/wHV
AdUBmwE9Af8B1QGbAT0B/wHVAZsBPQH/AdUBmwE9Af8BxQGQATkB/wMcAf8DwgH/AxQB/wIKAZEB/wEE AZsBPAH/AdUBmwE8Af8B1QGbATwB/wHVAZsBPAH/AcUBkAE4Af8DGwH/A8IB/wMTAf8CCQGRAf8BAwEI
AQkBggH/AQQBIAGEAf8BCgEpAYUB/wEKASkBgAH/AQoBKwGDAf8BCgErAYMB/wEKASsBgwH/AQoBKwFb AYIB/wEDAR8BhAH/AQkBKAGFAf8BCQEoAYAB/wEJASoBgwH/AQkBKgGDAf8BCQEqAYMB/wEJASoBWgH/
Af8BCgErAVsB/wEKASsBWwH/AQoBKwFbAf8BCgErAVYB/wEKASgBUwH/AQoBKAFTAf8BCgEoAVMB/wEK AQkBKgFaAf8BCQEqAVoB/wEJASoBWgH/AQkBKgFVAf8BCQEnAVIB/wEJAScBUgH/AQkBJwFSAf8BCQEn
ASgBUwH/AQoBKAFTAf8BCgEoAVMB/wEKASgBUwH/AQoBKAFYAf8BCgEoAVgB/wEKASgBWAH/AQoBKAFY AVIB/wEJAScBUgH/AQkBJwFSAf8BCQEnAVIB/wEJAScBVwH/AQkBJwFXAf8BCQEnAVcB/wEJAScBVwH/
Af8BCgEpAYMB/wEKASsBgwH/AQoBKwGDAf8BCgErAYMB/wEKASsBiAH/AQYBIAGHAf8BBAEJAYMB/wIK AQkBKAGDAf8BCQEqAYMB/wEJASoBgwH/AQkBKgGDAf8BCQEqAYgB/wEFAR8BhwH/AQMBCAGDAf8CCQGR
AZEB/0cAAQEDBgEIAxYBHgM4AV0DVQG1A2QB8QHzAfgB/AH/Ae0D/wHzA/8BlgGmAbAB/gNfAeADSAGF Af9HAAEBAwYBCAMWAR4DOAFdA1UBtQNkAfEB8wH4AfwB/wHtA/8B8wP/AZQBpAGuAf4DXwHgA0gBhQMf
Ax8BLAMFAQcvAAH/AwAB/wMAAf8DAAH/AwAB/0QAAxQB/wO0Af8DFAH/Ac4BkAE6Af8B1QGUATwB/wHV ASwDBQEHLwAB/wMAAf8DAAH/AwAB/wMAAf9EAAMTAf8DtAH/AxMB/wHOAZABOQH/AdUBlAE7Af8B1QGU
AZQBPAH/AdUBlAE8Af8B1QGUATwB/wHVAZQBPAH/AdUBlAE8Af8B1AGTATwB/wHQAZEBOgH/AbQBWgEt ATsB/wHVAZQBOwH/AdUBlAE7Af8B1QGUATsB/wHVAZQBOwH/AdQBkwE7Af8B0AGRATkB/wG0AVkBLAH/
Af8BigFAASAB/wESASgBOAH/AQABFgFVAf8BAAEWAVAB/wEAAR0BVgH/ATUBLgEoAf8BkgFDAR8B/wG5 AYoBPwEfAf8BEQEnATcB/wEAARUBVAH/AQABFQFPAf8BAAEcAVUB/wE0AS0BJwH/AZIBQgEeAf8BuQGA
AYABLwH/AdIBkgE7Af8B1QGUATwB/wHVAZQBPAH/AdUBlAE8Af8B1QGUATwB/wHVAZQBPAH/AdUBlAE8 AS4B/wHSAZIBOgH/AdUBlAE7Af8B1QGUATsB/wHVAZQBOwH/AdUBlAE7Af8B1QGUATsB/wHVAZQBOwH/
Af8BxQGLATgB/wMbAf8DtAH/AxQB/wIFAYoB/wEJASIBhwH/ARsBhQGpAf8BMgGrAdQB/wFLAdEB3gH/ AcUBiwE3Af8DGgH/A7QB/wMTAf8CBAGKAf8BCAEhAYcB/wEaAYUBqQH/ATEBqwHUAf8BSgHRAd4B/wFP
AVAB1AHhAf8BUwHUAeEB/wFVAdQB4QH/AVUB1AHhAf8BUwHUAeEB/wFQAdQB4QH/AVAB1AHhAf8BUAHT AdQB4QH/AVIB1AHhAf8BVAHUAeEB/wFUAdQB4QH/AVIB1AHhAf8BTwHUAeEB/wFPAdQB4QH/AU8B0wHg
AeAB/wFQAdEB3gH/AVAB0QHeAf8BUAHRAd4B/wFQAdEB3gH/AVAB0QHeAf8BUAHRAd4B/wFQAdEB3gH/ Af8BTwHRAd4B/wFPAdEB3gH/AU8B0QHeAf8BTwHRAd4B/wFPAdEB3gH/AU8B0QHeAf8BTwHRAd4B/wFP
AVAB0QHeAf8BUAHRAd4B/wFQAdEB3gH/AVAB0QHeAf8BUAHRAeEB/wFQAdQB4QH/AVAB1AHhAf8BSwHU AdEB3gH/AU8B0QHeAf8BTwHRAd4B/wFPAdEB3gH/AU8B0QHhAf8BTwHUAeEB/wFPAdQB4QH/AUoB1AHh
AeEB/wEzAbIB2AH/AR0BhQGvAf8BCQEiAYsB/wIFAYoB/0MAAQEDBQEHAxQBGwM1AVYDVAGvAVoCXQHw Af8BMgGyAdgB/wEcAYUBrwH/AQgBIQGLAf8CBAGKAf9DAAEBAwUBBwMUARsDNQFWA1QBrwFaAl0B8AHz
AfMB+AH8Af8B1AP/AcQB/AL/AcYB/gL/AegD/wF8AYYBigH7AVUCVgGxAy0BRQMHAQovAAH/AwAB/wMA AfgB/AH/AdQD/wHEAfwC/wHGAf4C/wHoA/8BeQGFAYkB+wFVAlYBsQMtAUUDBwEKLwAB/wMAAf8DAAH/
Af8DAAH/AwAB/0QAAxQB/wOnAf8DFAH/Ac4BhwE5Af8B1QGLATsB/wHVAYsBOwH/AcsBhAE3Af8BvQFY AwAB/wMAAf9EAAMTAf8DpwH/AxMB/wHOAYcBOAH/AdUBiwE6Af8B1QGLAToB/wHLAYQBNgH/Ab0BVwEv
ATAB/wHEAYABNAH/AcABWgEyAf8BlQE+AR8B/wGNATsBIAH/ATkBLAEoAf8BAAEgAU0B/wEAAQUBQwH/ Af8BxAGAATMB/wHAAVkBMQH/AZUBPQEeAf8BjQE6AR8B/wE4ASsBJwH/AQABHwFMAf8BAAEEAUIB/wEa
ARsBkQGyAf8BUAHVAeYB/wEAATkBiQH/AQABCwFJAf8BAAEkAUQB/wFPATIBIwH/AZIBPQEfAf8BsQFR AZEBsgH/AU8B1QHmAf8BAAE4AYkB/wEAAQoBSAH/AQABIwFDAf8BTgExASIB/wGSATwBHgH/AbEBUAEq
ASsB/wHDAYABMwH/AcMBgAEzAf8BugFXAS8B/wHTAYoBOgH/AdUBiwE7Af8BxQGCATcB/wMbAf8DpwH/ Af8BwwGAATIB/wHDAYABMgH/AboBVgEuAf8B0wGKATkB/wHVAYsBOgH/AcUBggE2Af8DGgH/A6cB/wMT
AxQB/wIEAYEB/wENAS4BkAH/AS4BoQHCAf8BHwFYAaQB/wETASoBWQH/ARQBKgGEAf8BFQEqAYgB/wEW Af8CAwGBAf8BDAEtAZAB/wEtAaEBwgH/AR4BVwGkAf8BEgEpAVgB/wETASkBhAH/ARQBKQGIAf8BFQEp
ASoBiAH/ARYBKgGBAf8BFQEqAYEB/wEUASoBgQH/ARQBKgFZAf8BFAEqAVgB/wEUASoBWAH/ARQBKgFY AYgB/wEVASkBgQH/ARQBKQGBAf8BEwEpAYEB/wETASkBWAH/ARMBKQFXAf8BEwEpAVcB/wETASkBVwH/
Af8BFAEqAVgB/wEUASoBWAH/ARQBKgFYAf8BFAEqAVgB/wEUASoBWAH/ARQBKgGBAf8BFAEqAYEB/wEU ARMBKQFXAf8BEwEpAVcB/wETASkBVwH/ARMBKQFXAf8BEwEpAVcB/wETASkBgQH/ARMBKQGBAf8BEwEp
ASoBgQH/ARQBKgGBAf8BFgErAYgB/wEZAS4BiAH/ARQBKgGEAf8BEwEqAVkB/wEfAVoBpAH/AS4BoQHD AYEB/wETASkBgQH/ARUBKgGIAf8BGAEtAYgB/wETASkBhAH/ARIBKQFYAf8BHgFZAaQB/wEtAaEBwwH/
Af8BDQEuAZEB/wIEAYEB/z8AAQEDBAEGAxIBGAMyAVADUgGpAVkCZAHsAZYBpgGwAf4B2QP/AcQB/AL/ AQwBLQGRAf8CAwGBAf8/AAEBAwQBBgMSARgDMgFQA1IBqQFZAmQB7AGUAaQBrgH+AdkD/wHEAfwC/wHD
AcMB+wL/AcMB+wL/AdcD/wGoAakBrQH9AVcCWQG/AzIBUAMIAQsvAAH/AwAB/wMAAf8DAAH/AwAB/0QA AfsC/wHDAfsC/wHXA/8CqAGsAf0BVwJZAb8DMgFQAwgBCy8AAf8DAAH/AwAB/wMAAf8DAAH/RAADEwH/
AxQB/wObAf8DFAH/Ac4BXAE3Af8B1QGDATkB/wHLAVoBNQH/AYMBMwEgAf8BRQErASMB/wFTAS4BIQH/ A5sB/wMTAf8BzgFbATYB/wHVAYMBOAH/AcsBWQE0Af8BgwEyAR8B/wFEASoBIgH/AVIBLQEgAf8BSgEr
AUsBLAEiAf8BHAEpATQB/wEAASMBUQH/AQABCwFNAf8BAAEoAVcB/wFKAdAB5wH/AVUB3QHxAf8BOgGn ASEB/wEbASgBMwH/AQABIgFQAf8BAAEKAUwB/wEAAScBVgH/AUkB0AHnAf8BVAHdAfEB/wE5AacBsQH/
AbEB/wFbAeEB9wH/ATEBqQHFAf8BAAEMAUMB/wEAARcBVAH/AQABJgFJAf8BLQEpASsB/wFRAS0BIQH/ AVoB4QH3Af8BMAGpAcUB/wEAAQsBQgH/AQABFgFTAf8BAAElAUgB/wEsASgBKgH/AVABLAEgAf8BUQEs
AVIBLQEhAf8BQAErAScB/wGUATgBHQH/AdMBggE4Af8BxQFYATUB/wMaAf8DmwH/AxQB/wIEAVsB/wEO ASAB/wE/ASoBJgH/AZQBNwEcAf8B0wGCATcB/wHFAVcBNAH/AxkB/wObAf8DEwH/AgMBWgH/AQ0BLgGL
AS8BiwH/AScBnAG9Af8BBQEWAUYB/wEAAQkBUgH/AQoBMAGYAf8BCQEzAZ0B/wEJATEBnQH/AQkBMAGc Af8BJgGcAb0B/wEEARUBRQH/AQABCAFRAf8BCQEvAZgB/wEIATIBnQH/AQgBMAGdAf8BCAEvAZwB/wEI
Af8BCQEwAZYB/wEIAS8BlQH/AQsBLQGRAf8BAAEHAVIB/wIAAUkB/wIAAUkB/wIAAUkB/wIAAUkB/wIA AS8BlgH/AQcBLgGVAf8BCgEsAZEB/wEAAQYBUQH/AgABSAH/AgABSAH/AgABSAH/AgABSAH/AgABSAH/
AUkB/wEAAQUBUAH/AQoBKQGSAf8BCQErAZQB/wEDASEBjQH/AQ0BNwGYAf8BAAEaAY4B/wENATcBnwH/ AQABBAFPAf8BCQEoAZIB/wEIASoBlAH/AQIBIAGNAf8BDAE2AZgB/wEAARkBjgH/AQwBNgGfAf8BCAEm
AQkBJwGTAf8BBQEKAVIB/wIAAUMB/wEFARQBRAH/AScBlwG0Af8BDgEuAYgB/wIEAVsB/zsAAQEDBAEG AZMB/wEEAQkBUQH/AgABQgH/AQQBEwFDAf8BJgGXAbQB/wENAS0BiAH/AgMBWgH/OwABAQMEAQYDEAEV
AxABFQMsAUMBTwJQAZsBWAJiAekBlgGmAbAB/gHeA/8BxgH+Av8BwwH7Av8BwwH7Av8ByAP/AewD/wF8 AywBQwFPAlABmwFYAmIB6QGUAaQBrgH+Ad4D/wHGAf4C/wHDAfsC/wHDAfsC/wHIA/8B7AP/AXkBhgGJ
AYcBigH7AVUCVgGxAy0BRQMHAQovAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/ AfsBVQJWAbEDLQFFAwcBCi8AAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8kAAMT
JAADFAH/A5MB/wMUAf8BzAFUATUB/wHTAVcBNwH/Ac4BVAE1Af8BigEwAR0B/wEAATgBhAH/AQABMAGN Af8DkwH/AxMB/wHMAVMBNAH/AdMBVgE2Af8BzgFTATQB/wGKAS8BHAH/AQABNwGEAf8BAAEvAY0B/wEA
Af8BAAEoAYgB/wEAAR4BgQH/AQwBUwGfAf8BTgHVAeYB/wGQAe8B/gH/ATEBmwG8Af8BPQETASoB/wGR AScBiAH/AQABHQGBAf8BCwFSAZ8B/wFNAdUB5gH/AZAB7wH+Af8BMAGbAbwB/wE8ARIBKQH/AZEBDgEn
AQ8BKAH/ASwBKQFBAf8BSAHKAeYB/wGQAe0B+gH/ATgBtAHKAf8BAAE5AZIB/wEAASABgQH/AQABKQGH Af8BKwEoAUAB/wFHAcoB5gH/AZAB7QH6Af8BNwG0AcoB/wEAATgBkgH/AQABHwGBAf8BAAEoAYcB/wEA
Af8BAAE6AZYB/wEaASoBPQH/AZMBMgEcAf8B0gFXATcB/wHDAVABMwH/AxkB/wOTAf8DFAH/AgQBWwH/ ATkBlgH/ARkBKQE8Af8BkwExARsB/wHSAVYBNgH/AcMBTwEyAf8DGAH/A5MB/wMTAf8CAwFaAf8BDQEv
AQ4BMAGLAf8BJwGdAb0B/wEFARYBTQH/AQgBLwGVAf8BRAHWAekB/wFFAdcB8AH/AUQB0gHwAf8BRAHR AYsB/wEmAZ0BvQH/AQQBFQFMAf8BBwEuAZUB/wFDAdYB6QH/AUQB1wHwAf8BQwHSAfAB/wFDAdEB8AH/
AfAB/wFEAdEB7gH/AUEBzQHrAf8BPgHFAecB/wEAARMBigH/AgYBUwH/AgYBUwH/AgYBUwH/AgYBUwH/ AUMB0QHuAf8BQAHNAesB/wE9AcUB5wH/AQABEgGKAf8CBQFSAf8CBQFSAf8CBQFSAf8CBQFSAf8BBAEG
AQUBBwFUAf8BAAEVAYwB/wE/AcEB4gH/ATkBxAHoAf8BFwGKAc8B/wFNAeEB9QH/AQQBTQHDAf8BTwHh AVMB/wEAARQBjAH/AT4BwQHiAf8BOAHEAegB/wEWAYoBzwH/AUwB4QH1Af8BAwFMAcMB/wFOAeEB9QH/
AfUB/wEqAaIB1QH/AQABFAGSAf8BAAEDAU8B/wEFARQBTAH/ASUBlAG0Af8BDgErAYgB/wIEAVsB/zgA ASkBogHVAf8BAAETAZIB/wEAAQIBTgH/AQQBEwFLAf8BJAGUAbQB/wENASoBiAH/AgMBWgH/OAADBAEF
AwQBBQMNARIDKAE8A0oBigFeAmEB2gKoAawB/QHiA/8BxgH+Av8BwwH7Av8BwwH7Av8ByQP/AekD/wKo Aw0BEgMoATwDSgGKAV4CYQHaAqgBqwH9AeID/wHGAf4C/wHDAfsC/wHDAfsC/wHJA/8B6QP/AqgBqwH9
AawB/QFcAmEB3ANHAYIDHQEqAwUBBy8AAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIA AVwCYQHcA0cBggMdASoDBQEHLwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/yQA
Av8kAAMUAf8DjwH/AxQB/wHJAVEBNAH/AdABVAE2Af8B0AFUATYB/wGmATwBJAH/ASIBJgE0Af8BCAFS AxMB/wOPAf8DEwH/AckBUAEzAf8B0AFTATUB/wHQAVMBNQH/AaYBOwEjAf8BIQElATMB/wEHAVEBowH/
AaMB/wE6AasB0gH/AZIB6wH4Af8BiQHqAfcB/wE5AaIBvAH/ATkBJgE/Af8BmgEaAUAB/wG/AS0BiwH/ ATkBqwHSAf8BkgHrAfgB/wGJAeoB9wH/ATgBogG8Af8BOAElAT4B/wGaARkBPwH/Ab8BLAGLAf8BwQEx
AcEBMgGTAf8BuwErAYIB/wGCARMBMgH/ATEBQgFcAf8BSAHDAdsB/wGTAfAB/AH/AYYB4QHzAf8BJwGR AZMB/wG7ASoBggH/AYIBEgExAf8BMAFBAVsB/wFHAcMB2wH/AZMB8AH8Af8BhgHhAfMB/wEmAZEBuQH/
AbkB/wEBAU0BnwH/AU8BJwEfAf8BvAFJAS4B/wHQAVQBNgH/AcABTQEyAf8DGQH/A48B/wMUAf8CBAFb AQABTAGfAf8BTgEmAR4B/wG8AUgBLQH/AdABUwE1Af8BwAFMATEB/wMYAf8DjwH/AxMB/wIDAVoB/wEN
Af8BDgEwAYsB/wEnAZ0BvQH/AQUBFgFRAf8BBQExAZ8B/wFLAeIB9QH/AVIB7AL/AVcB7gL/AVgB7gL/ AS8BiwH/ASYBnQG9Af8BBAEVAVAB/wEEATABnwH/AUoB4gH1Af8BUQHsAv8BVgHuAv8BVwHuAv8BVwHu
AVgB7gL/AVgB7gL/ATcBwAHrAf8BAAETAY8B/wIGAVgB/wIGAVUB/wIGAVMB/wIGAVQB/wECAQsBggH/ Av8BVwHuAv8BNgHAAesB/wEAARIBjwH/AgUBVwH/AgUBVAH/AgUBUgH/AgUBUwH/AQEBCgGCAf8BGAFW
ARkBVwG+Af8BSQHaAfgB/wEZAZgB3wH/ATgBxAHxAf8BLAG2AeoB/wEkAawB5QH/AUQB1gH5Af8BHgGf Ab4B/wFIAdoB+AH/ARgBmAHfAf8BNwHEAfEB/wErAbYB6gH/ASMBrAHlAf8BQwHWAfkB/wEdAZ8B4QH/
AeEB/wEnAZ8B0wH/AQUBIAGMAf8BBAEUAU8B/wEiAZQBtAH/AQ4BKwGIAf8CBAFbAf8kAAMBAQIDAwQE ASYBnwHTAf8BBAEfAYwB/wEDARMBTgH/ASEBlAG0Af8BDQEqAYgB/wIDAVoB/yQAAwEBAgMDBAQEBgQI
BAYECAELAw8BFAMkATYBRgJHAYABWAJcAdEBfAGHAYsB+wHpA/8ByAP/AcMB+wL/AcMB+wL/AcwD/wHw AQsDDwEUAyQBNgFGAkcBgAFYAlwB0QF5AYYBigH7AekD/wHIA/8BwwH7Av8BwwH7Av8BzAP/AfAD/wF5
A/8BfAGHAYsB+wFZAl0B1wNMAZIDKwFCAw0BEgMDAQQvAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/ AYYBigH7AVkCXQHXA0wBkgMrAUIDDQESAwMBBC8AAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/
AgAC/wIAAv8CAAL/JAADFAH/A48B/wMUAf8BxwFPATQB/wHOAVIBNgH/Ac4BUgE2Af8BpgE8ASUB/wIi AgAC/wIAAv8kAAMTAf8DjwH/AxMB/wHHAU4BMwH/Ac4BUQE1Af8BzgFRATUB/wGmATsBJAH/AiEBLwH/
ATAB/wEAAUIBkAH/ASEBhwGpAf8BFAEpAUEB/wFIAQwBIwH/AaUBGwFDAf8BwgEuAYwB/wHLAT0BpAH/ AQABQQGQAf8BIAGHAakB/wETASgBQAH/AUcBCwEiAf8BpQEaAUIB/wHCAS0BjAH/AcsBPAGkAf8B0gFE
AdIBRQGxAf8B1AFGAbQB/wHRAUMBsAH/AcoBPAGiAf8BvgEsAYQB/wGSARUBOQH/AToBEQEjAf8BDAE8 AbEB/wHUAUUBtAH/AdEBQgGwAf8BygE7AaIB/wG+ASsBhAH/AZIBFAE4Af8BOQEQASIB/wELATsBWQH/
AVoB/wEmAYoBrAH/AQABNwGIAf8BTgEnAR8B/wG9AUgBLwH/Ac4BUgE2Af8BvwFMATIB/wMZAf8DjwH/ ASUBigGsAf8BAAE2AYgB/wFNASYBHgH/Ab0BRwEuAf8BzgFRATUB/wG/AUsBMQH/AxgB/wOPAf8DEwH/
AxQB/wIEAVsB/wEOAS8BiwH/AScBnAG5Af8BBQEWAUsB/wEFATEBnwH/AUsB4QH1Af8BUAHnAv8BUQHo AgMBWgH/AQ0BLgGLAf8BJgGcAbkB/wEEARUBSgH/AQQBMAGfAf8BSgHhAfUB/wFPAecC/wFQAegC/wFR
Av8BUgHoAv8BVAHqAv8BWAHuAv8BNwHAAesB/wEAARMBjgH/AgYBUgH/AgYBUQH/AgYBUAH/AgYBUAH/ AegC/wFTAeoC/wFXAe4C/wE2AcAB6wH/AQABEgGOAf8CBQFRAf8CBQFQAf8CBQFPAf8CBQFPAf8BAQEL
AQIBDAGBAf8BLwGhAdQB/wFQAeYC/wEGAUkBwQH/AVAB5gL/ARgBjwHUAf8BPQHJAfEB/wE9AckB8QH/ AYEB/wEuAaEB1AH/AU8B5gL/AQUBSAHBAf8BTwHmAv8BFwGPAdQB/wE8AckB8QH/ATwByQHxAf8BFwGP
ARgBjwHVAf8BRgHcAfUB/wEKAS8BmAH/AQUBFAFKAf8BJgGUAbQB/wEOASsBiAH/AgQBWwH/HAADAgED AdUB/wFFAdwB9QH/AQkBLgGYAf8BBAETAUkB/wElAZQBtAH/AQ0BKgGIAf8CAwFaAf8cAAMCAQMDBgEI
AwYBCAMNAREDFwEgAyIBMgMqAUADLAFDAzEBTgNHAYIBWQJcAcwBbQF2AXoB+gHtA/8ByQP/AcMB+wL/ Aw0BEQMXASADIgEyAyoBQAMsAUMDMQFOA0cBggFZAlwBzAFsAXUBeQH6Ae0D/wHJA/8BwwH7Av8BwwH7
AcMB+wL/Ac0D/wH4A/8BXAFxAXUB+AFcAl4BzgFIAkkBhwMrAUIDEQEXAwQBBgMAAQEvAAH/AwAB/wMA Av8BzQP/AfgD/wFcAXABdAH4AVwCXgHOAUgCSQGHAysBQgMRARcDBAEGAwABAS8AAf8DAAH/AwAB/wMA
Af8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/JAADFAH/A5AB/wMUAf8BxQFNATMB/wHMAVABNQH/ Af8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8kAAMTAf8DkAH/AxMB/wHFAUwBMgH/AcwBTwE0Af8BzAFP
AcwBUAE1Af8BpAE5ASQB/wEfASIBMgH/AQABPAGJAf8BAAFBAY0B/wErARsBNQH/AbwBJAFZAf8BxAE0 ATQB/wGkATgBIwH/AR4BIQExAf8BAAE7AYkB/wEAAUABjQH/ASoBGgE0Af8BvAEjAVgB/wHEATMBnAH/
AZwB/wHRAUQBrwH/AdwBUAHBAf8B5gFZAc0B/wHpAVwB0gH/AeYBWgHNAf8B3QFRAcEB/wHQAUQBrwH/ AdEBQwGvAf8B3AFPAcEB/wHmAVgBzQH/AekBWwHSAf8B5gFZAc0B/wHdAVABwQH/AdABQwGvAf8BxQE0
AcUBNQGbAf8BswEgAUgB/wEAASkBSgH/AQ0BSAGQAf8BAAExAYMB/wFNASYBHwH/AbsBRwEuAf8BzAFQ AZsB/wGzAR8BRwH/AQABKAFJAf8BDAFHAZAB/wEAATABgwH/AUwBJQEeAf8BuwFGAS0B/wHMAU8BNAH/
ATUB/wG9AUoBMQH/AxkB/wOQAf8DFAH/AgQBWwH/AQ4BLwGLAf8BJwGbAbgB/wEFARUBSQH/AQgBKQGS Ab0BSQEwAf8DGAH/A5AB/wMTAf8CAwFaAf8BDQEuAYsB/wEmAZsBuAH/AQQBFAFIAf8BBwEoAZIB/wEz
Af8BNAG7AeAB/wE4AbwB5gH/ATgBvwHmAf8BPwG/AeQB/wE/AcEB5wH/AT8BxQHrAf8BOgG/AeQB/wEA AbsB4AH/ATcBvAHmAf8BNwG/AeYB/wE+Ab8B5AH/AT4BwQHnAf8BPgHFAesB/wE5Ab8B5AH/AQABDwGE
ARABhAH/AgUBUAH/AgQBUAH/AgABUAH/AgABUAH/AQEBBAFTAf8BAAENAYUB/wEAARMBjQH/AQABDgGI Af8CBAFPAf8CAwFPAf8CAAFPAf8CAAFPAf8BAAEDAVIB/wEAAQwBhQH/AQABEgGNAf8BAAENAYgB/wEA
Af8BAAETAY8B/wEAAQ8BiwH/AQABEgGUAf8BAAETAZYB/wEDARMBkwH/AQABEwGSAf8BAAEHAVQB/wEF ARIBjwH/AQABDgGLAf8BAAERAZQB/wEAARIBlgH/AQIBEgGTAf8BAAESAZIB/wEAAQYBUwH/AQQBEwFI
ARQBSQH/AScBlAG0Af8BDgErAYgB/wIEAVsB/xcAAQEDBAEFAwoBDgMaASUDMQFNA0QBeQFPAlABmwFT Af8BJgGUAbQB/wENASoBiAH/AgMBWgH/FwABAQMEAQUDCgEOAxoBJQMxAU0DRAF5AU8CUAGbAVMCVAGs
AlQBrANUAa4DVQG1AVoCXgHYAm0BbgH3AfQD/wHKA/8BwwH7Av8BxAH8Av8B0Qf/Am0BbgH3AVgCWwHG A1QBrgNVAbUBWgJeAdgDbQH3AfQD/wHKA/8BwwH7Av8BxAH8Av8B0Qf/A20B9wFYAlsBxgNDAXgDJgE4
A0MBeAMmATgDEAEVAwQBBgMAAQEzAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/ AxABFQMEAQYDAAEBMwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/yQAAxMB/wOS
JAADFAH/A5IB/wMUAf8BwwFKATIB/wHKAU0BNAH/AcgBTAEzAf8BjAErARoB/wEIASEBPgH/AQMBQQGM Af8DEwH/AcMBSQExAf8BygFMATMB/wHIAUsBMgH/AYwBKgEZAf8BBwEgAT0B/wECAUABjAH/AQIBTAGd
Af8BAwFNAZ0B/wFIARkBNQH/AcIBLgGQAf8BzQE/AasB/wHeAVMBxAH/Ae8BhwHaAf8B+wGTAewB/wH9 Af8BRwEYATQB/wHCAS0BkAH/Ac0BPgGrAf8B3gFSAcQB/wHvAYcB2gH/AfsBkwHsAf8B/QGYAfQB/wH7
AZgB9AH/AfsBkwHsAf8B7wGHAdoB/wHeAVMBxAH/Ac4BPwGsAf8BvQErAYQB/wEXASsBSwH/ARUBVAGd AZMB7AH/Ae8BhwHaAf8B3gFSAcQB/wHOAT4BrAH/Ab0BKgGEAf8BFgEqAUoB/wEUAVMBnQH/AQABLwGE
Af8BAAEwAYQB/wE7ASIBJAH/AbABPwEpAf8BygFNATQB/wG7AUcBMAH/AxkB/wOSAf8DFAH/AgQBWwH/ Af8BOgEhASMB/wGwAT4BKAH/AcoBTAEzAf8BuwFGAS8B/wMYAf8DkgH/AxMB/wIDAVoB/wENAS4BigH/
AQ4BLwGKAf8BJwGXAbYB/wEFARQBSQH/AQABBQFSAf8BAQESAY8B/wEBARQBlwH/AQEBFAGXAf8BAQEU ASYBlwG2Af8BBAETAUgB/wEAAQQBUQH/AQABEQGPAf8BAAETAZcB/wEAARMBlwH/AQABEwGPAf8BAAET
AY8B/wEBARQBjwH/AQEBFAGPAf8BAQERAYgB/wEBAQUBVAH/AgABUAH/AgABUAH/AgABUAH/AgABUAH/ AY8B/wEAARMBjwH/AQABEAGIAf8BAAEEAVMB/wIAAU8B/wIAAU8B/wIAAU8B/wIAAU8B/wIAAU8B/wIA
AgABUAH/AgABUAH/AgUBUAH/AgYBUgH/AgYBWAH/AgYBWAH/AgYBXAH/AgYBgwH/AgYBgwH/AgYBWwH/ AU8B/wIEAU8B/wIFAVEB/wIFAVcB/wIFAVcB/wIFAVsB/wIFAYMB/wIFAYMB/wIFAVoB/wIAAUkB/wEE
AgABSgH/AQUBFAFJAf8BJwGUAbQB/wEOASsBiAH/AgQBWwH/EwABAQMEAQYDDwEUAyQBNQE/AkABbwNW ARMBSAH/ASYBlAG0Af8BDQEqAYgB/wIDAVoB/xMAAQEDBAEGAw8BFAMkATUBPwJAAW8DVgGzAVsCYQHh
AbMBWwJhAeEDZQH0AWgBdAF5AfoBXAFxAXUB+AJZAV4B9QFYAXEBeAL6A/8BzQP/AcMB+wL/AcQB/AL/ A2UB9AFnAXMBeAH6AVwBcAF0AfgCWQFcAfUBVgFwAXcC+gP/Ac0D/wHDAfsC/wHEAfwC/wHUA/8B8wH4
AdQD/wHzAfgB/AH/AlkBYAH1AVYCWAHBA0ABcAMgAS4DCwEPAwQBBQMAAQEbAAH/AwAB/wMAAf8DAAH/ AfwB/wJZAV4B9QFWAlgBwQNAAXADIAEuAwsBDwMEAQUDAAEBGwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/
AgAC/wIAAv8CAAL/AgAC/wwAAxQB/wOWAf8DFAH/AcEBRwEyAf8ByAFKATMB/wHEAUgBMQH/AYcBKAEa AgAC/wIAAv8MAAMTAf8DlgH/AxMB/wHBAUYBMQH/AcgBSQEyAf8BxAFHATAB/wGHAScBGQH/AQABJgFQ
Af8BAAEnAVEB/wEVAU8BlwH/AQcBSgGXAf8BgAEYATkB/wHGATQBmgH/AdUBSAG3Af8B6gGAAdIB/wH8 Af8BFAFOAZcB/wEGAUkBlwH/AYABFwE4Af8BxgEzAZoB/wHVAUcBtwH/AeoBgAHSAf8B/AGWAfEC/wGo
AZYB8QL/AagB/gL/Aa8D/wGoAf4B/wH8AZYB8QH/AeoBgAHSAf8B1gFIAbcB/wHFATIBkwH/AS4BJAFA Af4C/wGvA/8BqAH+Af8B/AGWAfEB/wHqAYAB0gH/AdYBRwG3Af8BxQExAZMB/wEtASMBPwH/ARIBVQGg
Af8BEwFWAaAB/wEAATwBjQH/ARkBIQE1Af8BjAEpARkB/wHHAUoBMwH/AbkBRAEwAf8DGgH/A5YB/wMU Af8BAAE7AY0B/wEYASABNAH/AYwBKAEYAf8BxwFJATIB/wG5AUMBLwH/AxkB/wOWAf8DEwH/AgMBWQH/
Af8CBAFaAf8BDgEtAYUB/wEkAZUBtAH/AQQBFAFJAf8CAAFKAf8CBgFbAf8CBgGDAf8CBgGDAf8CBgFY AQ0BLAGFAf8BIwGVAbQB/wEDARMBSAH/AgABSQH/AgUBWgH/AgUBgwH/AgUBgwH/AgUBVwH/AgUBVwH/
Af8CBgFYAf8CBgFVAf8CBgFRAf8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQ AgUBVAH/AgUBUAH/AgABTwH/AgABTwH/AgABTwH/AgABTwH/AgABTwH/AgABTwH/AgABTwH/AgMBTwH/
Af8CBAFQAf8CBgFSAf8CBgFYAf8CBgFYAf8CBgFYAf8CBgGDAf8CBgGDAf8CBgFbAf8CAAFKAf8BBQEU AgUBUQH/AgUBVwH/AgUBVwH/AgUBVwH/AgUBgwH/AgUBgwH/AgUBWgH/AgABSQH/AQQBEwFIAf8BJgGU
AUkB/wEnAZQBtAH/AQ4BKwGIAf8CBAFbAf8QAAMCAQMDCwEPAyMBNAFEAkUBfAFXAloBxQJtAXEB9wHz AbQB/wENASoBiAH/AgMBWgH/EAADAgEDAwsBDwMjATQBRAJFAXwBVwJaAcUCbQFuAfcB8wH4AfwB/wHx
AfgB/AH/AfED/wHnA/8B6gP/Ae8D/wHkA/8BzQP/AcMB+wL/AcYB/gL/AdoD/wHzAfgB/AH/AWQCZQH0 A/8B5wP/AeoD/wHvA/8B5AP/Ac0D/wHDAfsC/wHGAf4C/wHaA/8B8wH4AfwB/wFkAmUB9AFWAlgBvAM9
AVYCWAG8Az0BaQMdASoDCgENAwMBBCMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA AWkDHQEqAwoBDQMDAQQjAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
Af8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DAADFAH/ Af8OAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wwAAxMB/wOaAf8DEwH/
A5oB/wMUAf8BvgFGATEB/wHFAUgBMgH/Aa8BPAEpAf8BSAEiAR0B/wEAATEBiwH/ASwBiQGrAf8BBQE5 Ab4BRQEwAf8BxQFHATEB/wGvATsBKAH/AUcBIQEcAf8BAAEwAYsB/wErAYkBqwH/AQQBOAFbAf8BqQEf
AVwB/wGpASABSgH/AcgBOAGhAf8B2gFNAbwB/wHwAYgB3AH/Af4BnwH6Av8BtAP/AcID/wG0Av8B/gGf AUkB/wHIATcBoQH/AdoBTAG8Af8B8AGIAdwB/wH+AZ8B+gL/AbQD/wHCA/8BtAL/Af4BnwH6Af8B8AGI
AfoB/wHwAYgB3AH/AdsBTQG9Af8ByQE3AZ0B/wFUARkBOAH/AQ8BUwGdAf8BGwFYAaIB/wEAASYBUQH/ AdwB/wHbAUwBvQH/AckBNgGdAf8BUwEYATcB/wEOAVIBnQH/ARoBVwGiAf8BAAElAVAB/wGGASYBGAH/
AYYBJwEZAf8BwwFHATEB/wG2AUMBLwH/AxoB/wOaAf8DFAH/AgQBWQH/AQ4BKwGDAf8BJgGUAbQB/wEF AcMBRgEwAf8BtgFCAS4B/wMZAf8DmgH/AxMB/wIDAVgB/wENASoBgwH/ASUBlAG0Af8BBAETAUgB/wIA
ARQBSQH/AgABSgH/AgYBWwH/AgYBgwH/AgYBgwH/AgYBWAH/AgYBWAH/AgYBUwH/AgYBUAH/AgABUAH/ AUkB/wIFAVoB/wIFAYMB/wIFAYMB/wIFAVcB/wIFAVcB/wIFAVIB/wIFAU8B/wIAAU8B/wIAAU8B/wIA
AgABUAH/AgABUAH/AgABUAH/AgABUAH/AgABUAH/AgABUAH/AgABUAH/AgYBUAH/AgYBVAH/AgYBWAH/ AU8B/wIAAU8B/wIAAU8B/wIAAU8B/wIAAU8B/wIAAU8B/wIFAU8B/wIFAVMB/wIFAVcB/wIFAVcB/wIF
AgYBWAH/AgYBgwH/AgYBgwH/AgYBWwH/AgABSgH/AQUBFAFJAf8BJwGUAbQB/wEOASsBiAH/AgQBWwH/ AYMB/wIFAYMB/wIFAVoB/wIAAUkB/wEEARMBSAH/ASYBlAG0Af8BDQEqAYgB/wIDAVoB/xAAAwMBBAMY
EAADAwEEAxgBIQM9AWkBVwJZAb8BcAF2AXoB+gHxA/8BzgP/AcQB/AL/AcMB+wL/AcMB+wL/AcMB+wL/ ASEDPQFpAVcCWQG/AW8BdQF5AfoB8QP/Ac4D/wHEAfwC/wHDAfsC/wHDAfsC/wHDAfsC/wHDAfsC/wHD
AcMB+wL/AcMB+wL/AcYB/gL/Ad4D/wGWAaYBsAH+AU4CXQHwAVUCVwG3AzsBYwMaASUDCQEMAwMBBCcA AfsC/wHGAf4C/wHeA/8BlAGkAa4B/gFOAl0B8AFVAlcBtwM7AWMDGgElAwkBDAMDAQQnAAH/AwAB/wMA
Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/wIA
Av8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DAADFAH/A58B/wMUAf8BuwFDATAB/wHAAUQBMAH/ Av8CAAL/AgAC/wIAAv8CAAL/AgAC/wwAAxMB/wOfAf8DEwH/AbsBQgEvAf8BwAFDAS8B/wGGASUBFwH/
AYYBJgEYAf8BCwEgATkB/wEAAT8BlAH/ATMBlQG5Af8BIwEqAUUB/wG4ASMBVwH/AccBOAGgAf8B2QFM AQoBHwE4Af8BAAE+AZQB/wEyAZUBuQH/ASIBKQFEAf8BuAEiAVYB/wHHATcBoAH/AdkBSwG7Af8B7wGF
AbsB/wHvAYUB2gH/Af4BnQH6Av8BsQP/AbwD/wGxAv8B/gGdAfoB/wHvAYUB2gH/AdkBTAG8Af8BxwE3 AdoB/wH+AZ0B+gL/AbED/wG8A/8BsQL/Af4BnQH6Af8B7wGFAdoB/wHZAUsBvAH/AccBNgGfAf8BpAEc
AZ8B/wGkAR0BRgH/AQ4BQwGJAf8BOQGXAbgB/wEAAS8BigH/AUcBIQEeAf8BrQE6ASgB/wGzAUABLgH/ AUUB/wENAUIBiQH/ATgBlwG4Af8BAAEuAYoB/wFGASABHQH/Aa0BOQEnAf8BswE/AS0B/wMZAf8DnwH/
AxoB/wOfAf8DFAH/AgQBWQH/AQ4BKwGDAf8BJwGUAbQB/wEFARQBSQH/AQABEQFbAf8BDQE7AawB/wEO AxMB/wIDAVgB/wENASoBgwH/ASYBlAG0Af8BBAETAUgB/wEAARABWgH/AQwBOgGsAf8BDQE/AbYB/wEL
AUABtgH/AQwBPgGwAf8BBgEtAaIB/wECARcBjgH/AQMBCgFbAf8CBgFSAf8CAAFQAf8CAAFQAf8CAAFQ AT0BsAH/AQUBLAGiAf8BAQEWAY4B/wECAQkBWgH/AgUBUQH/AgABTwH/AgABTwH/AgABTwH/AgABTwH/
Af8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQAf8CBgFQAf8CBgFTAf8CBgFYAf8CBgFYAf8CBgGD AgABTwH/AgABTwH/AgABTwH/AgABTwH/AgUBTwH/AgUBUgH/AgUBVwH/AgUBVwH/AgUBgwH/AgUBgwH/
Af8CBgGDAf8CBgFbAf8CAAFKAf8BBQEUAUkB/wEmAZQBtAH/AQ4BKwGIAf8CBAFbAf8QAAMEAQYDIwEz AgUBWgH/AgABSQH/AQQBEwFIAf8BJQGUAbQB/wENASoBiAH/AgMBWgH/EAADBAEGAyMBMwFNAk4BlQNl
AU0CTgGVA2UB9AT/AdoD/wHZA/8B4AP/Ad0D/wHPA/8BxQH9Av8BwwH7Av8BwwH7Av8B0wP/AZYBpgGw AfQE/wHaA/8B2QP/AeAD/wHdA/8BzwP/AcUB/QL/AcMB+wL/AcMB+wL/AdMD/wGUAaQBrgH+AU4CXQHw
Af4BTgJdAfABVQJXAbcDOgFgAxgBIgMIAQsDAgEDKwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA AVUCVwG3AzoBYAMYASIDCAELAwIBAysAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
Af8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIA Af8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DAADEwH/
Av8MAAMUAf8DpAH/AxQB/wG5AUABLgH/AaABMgEiAf8BQgEeARwB/wEAASABWAH/ASIBVwGiAf8BCgFI A6QB/wMTAf8BuQE/AS0B/wGgATEBIQH/AUEBHQEbAf8BAAEfAVcB/wEhAVYBogH/AQkBRwGSAf8BTwEP
AZIB/wFQARABIQH/AbcBIwFaAf8BwgE0AZsB/wHTAUYBswH/AeYBWwHPAf8B+gGRAesC/wGgAfwC/wGo ASAB/wG3ASIBWQH/AcIBMwGbAf8B0wFFAbMB/wHmAVoBzwH/AfoBkQHrAv8BoAH8Av8BqAH+Av8BoAH8
Af4C/wGgAfwB/wH6AZEB6wH/AeYBWwHPAf8B0wFGAbQB/wHDATMBmgH/AbYBIQFOAf8BJAEcATAB/wEe Af8B+gGRAesB/wHmAVoBzwH/AdMBRQG0Af8BwwEyAZoB/wG2ASABTQH/ASMBGwEvAf8BHQFYAaQB/wEA
AVkBpAH/AQABPQGRAf8BBgEYATQB/wGEASQBFgH/AakBOQEpAf8DGgH/A6QB/wMUAf8CBAFaAf8BDgEr ATwBkQH/AQUBFwEzAf8BhAEjARUB/wGpATgBKAH/AxkB/wOkAf8DEwH/AgMBWQH/AQ0BKgGFAf8BJgGU
AYUB/wEnAZQBtAH/AQUBFAFJAf8BDAExAZIB/wFLAeQB9QH/AVAB6QL/AUkB4AH4Af8BLAGxAd8B/wEU AbQB/wEEARMBSAH/AQsBMAGSAf8BSgHkAfUB/wFPAekC/wFIAeAB+AH/ASsBsQHfAf8BEwFIAbUB/wEF
AUkBtQH/AQYBGAGKAf8BBgEIAVIB/wIAAVAB/wIAAVAB/wIAAVAB/wIAAVAB/wIAAVAB/wIAAVAB/wIA ARcBigH/AQUBBwFRAf8CAAFPAf8CAAFPAf8CAAFPAf8CAAFPAf8CAAFPAf8CAAFPAf8CAAFPAf8CAwFP
AVAB/wIEAVAB/wIGAVEB/wIGAVUB/wIGAVoB/wEDAQsBhAH/AQIBEAGNAf8BAgEOAYwB/wEFAQkBgwH/ Af8CBQFQAf8CBQFUAf8CBQFZAf8BAgEKAYQB/wEBAQ8BjQH/AQEBDQGMAf8BBAEIAYMB/wIAAUoB/wED
AgABSwH/AQQBFAFJAf8BJAGVAbQB/wEOAS0BiAH/AgQBWwH/EAADBAEGAyIBMgFMAk0BkQNkAfECqAGr ARMBSAH/ASMBlQG0Af8BDQEsAYgB/wIDAVoB/xAAAwQBBgMiATIBTAJNAZEDZAHxAqgBqgH9AYgBnQGr
Af0BigGfAa0B/gKoAawB/QFqAYQBigH7AWcBeQF/AfwB5wHxAfgB/wHVA/8BwwH7Av8BwwH7Av8B4AP/ Af4CqAGrAf0BZwGDAYkB+wFmAXgBfgH8AecB8QH4Af8B1QP/AcMB+wL/AcMB+wL/AeAD/wFfAXwBhwH7
AV8BfwGIAfsBWgJdAdMDQgF0AxoBJQMGAQgDAQECLwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA AVoCXQHTA0IBdAMaASUDBgEIAwEBAi8AAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA
Af8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIA Af8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/DAADEwH/
Av8MAAMUAf8DqgH/AxQB/wGpATYBJwH/AUoBHwEcAf8BOwGWAbUB/wFUAcEB5AH/AZQB2AHrAf8BAAEu A6oB/wMTAf8BqQE1ASYB/wFJAR4BGwH/AToBlgG1Af8BUwHBAeQB/wGUAdgB6wH/AQABLQGIAf8BAAEg
AYgB/wEAASEBQgH/AaEBGQFBAf8BvwEsAY4B/wHKATwBpgH/AdoBTQG8Af8B6AGBAdIB/wH0AYoB4QH/ AUEB/wGhARgBQAH/Ab8BKwGOAf8BygE7AaYB/wHaAUwBvAH/AegBgQHSAf8B9AGKAeEB/wH5AZAB6AH/
AfkBkAHoAf8B9AGKAeEB/wHoAYEB0gH/AdoBTQG9Af8BywE8AaUB/wHAASsBigH/AVoBGAE1Af8BAAEf AfQBigHhAf8B6AGBAdIB/wHaAUwBvQH/AcsBOwGlAf8BwAEqAYoB/wFZARcBNAH/AQABHgFOAf8BGgFY
AU8B/wEbAVkBqQH/AZwB4QHvAf8BRgGwAdYB/wEuAScBLwH/AZABKwEeAf8DGwH/A6oB/wMUAf8CBAFb AakB/wGcAeEB7wH/AUUBsAHWAf8BLQEmAS4B/wGQASoBHQH/AxoB/wOqAf8DEwH/AgMBWgH/AQ0BKgGI
Af8BDgErAYgB/wEnAZQBtAH/AQUBFAFJAf8BAgEbAYoB/wEVAYwBzwH/ARUBkwHcAf8BFgGPAdUB/wEM Af8BJgGUAbQB/wEEARMBSAH/AQEBGgGKAf8BFAGMAc8B/wEUAZMB3AH/ARUBjwHVAf8BCwFSAcMB/wEF
AVMBwwH/AQYBLQGlAf8BAQERAYkB/wEBAQcBVwH/AgUBUAH/AgABUAH/AgABUAH/AgABUAH/AgABUAH/ ASwBpQH/AQABEAGJAf8BAAEGAVYB/wIEAU8B/wIAAU8B/wIAAU8B/wIAAU8B/wIAAU8B/wIAAU8B/wIA
AgABUAH/AgABUAH/AgUBUAH/AgYBUgH/AgYBWgH/AQYBFQGOAf8BEwFLAbgB/wEpAZoB0gH/ASABjQHL AU8B/wIEAU8B/wIFAVEB/wIFAVkB/wEFARQBjgH/ARIBSgG4Af8BKAGaAdIB/wEfAY0BywH/AQkBMQGl
Af8BCgEyAaUB/wEAAQcBUwH/AQUBFAFJAf8BJwGXAbYB/wEOAS8BigH/AgQBWwH/EAADAwEEAxYBHgM2 Af8BAAEGAVIB/wEEARMBSAH/ASYBlwG2Af8BDQEuAYoB/wIDAVoB/xAAAwMBBAMWAR4DNgFZAU8CUQGc
AVkBTwJRAZwBVwJZAb8BWQJcAckBWgJdAcoBXAJeAc4BWAJfAeMBVwJiAfYB8AP/AcMB+wL/AcMB+wL/ AVcCWQG/AVkCXAHJAVoCXQHKAVwCXgHOAVgCXwHjAVcCYgH2AfAD/wHDAfsC/wHDAfsC/wHdA/8BcAF8
Ad0D/wFxAX0BhQH8A1kBxwM3AVsDDwEUAwABAU8AAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/ AYIB/ANZAccDNwFbAw8BFAMAAQFPAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/
AgAC/wIAAv8kAAMUAf8DsAH/AxQB/wGvATcBKgH/AVkBHgEWAf8BPAEZARsB/wE3AVMBhQH/AbAB7gH3 JAADEwH/A7AB/wMTAf8BrwE2ASkB/wFYAR0BFQH/ATsBGAEaAf8BNgFSAYUB/wGwAe4B9wH/AZsB4wHv
Af8BmwHjAe8B/wEAATEBkQH/AQYBLQFGAf8BpQEdAUkB/wHAATABlQH/AcsBPgGpAf8B1gFJAbcB/wHe Af8BAAEwAZEB/wEFASwBRQH/AaUBHAFIAf8BwAEvAZUB/wHLAT0BqQH/AdYBSAG3Af8B3gFSAcIB/wHh
AVMBwgH/AeEBVQHGAf8B3gFTAcIB/wHWAUkBtwH/AcsBPgGoAf8BwwEvAZEB/wGBARkBOwH/AQABNwGA AVQBxgH/Ad4BUgHCAf8B1gFIAbcB/wHLAT0BqAH/AcMBLgGRAf8BgQEYAToB/wEAATYBgAH/AQ0BUAGl
Af8BDgFRAaUB/wG3AfMB+gH/AZYB2gHkAf8BLwEkASwB/wFPAR0BGAH/AaMBMgEnAf8DGwH/A7AB/wMU Af8BtwHzAfoB/wGWAdoB5AH/AS4BIwErAf8BTgEcARcB/wGjATEBJgH/AxoB/wOwAf8DEwH/AgMBWgH/
Af8CBAFbAf8BDgErAYgB/wEnAZQBtAH/AQUBFAFJAf8BAgEpAY8B/wE1AccB6AH/ATwB0AHzAf8BPQHL AQ0BKgGIAf8BJgGUAbQB/wEEARMBSAH/AQEBKAGPAf8BNAHHAegB/wE7AdAB8wH/ATwBywHyAf8BMgG7
AfIB/wEzAbsB5gH/AR0BjQHMAf8BCQE0AaUB/wEEARABgQH/AQABBQFQAf8CAAFQAf8CAAFQAf8CAAFQ AeYB/wEcAY0BzAH/AQgBMwGlAf8BAwEPAYEB/wEAAQQBTwH/AgABTwH/AgABTwH/AgABTwH/AgABTwH/
Af8CAAFQAf8CAAFQAf8CAAFQAf8CAAFQAf8CBgFQAf8BAwEJAVoB/wEPAUkBtQH/AT4B0AHxAf8BTgHp AgABTwH/AgABTwH/AgABTwH/AgUBTwH/AQIBCAFZAf8BDgFIAbUB/wE9AdAB8QH/AU0B6QH9Af8BSgHl
Af0B/wFLAeUB+wH/AScBqQHcAf8BAQEYAYQB/wEFARUBSQH/AScBmwG4Af8BDgEvAYsB/wIEAVsB/xAA AfsB/wEmAakB3AH/AQABFwGEAf8BBAEUAUgB/wEmAZsBuAH/AQ0BLgGLAf8CAwFaAf8QAAMCAQMDCgEN
AwIBAwMKAQ0DHAEnAy8BSQM8AWYDRAF6A0gBhAFOAk8BlwFZAlwBzAFTAmQB8QT/AcMB+wL/AcMB+wL/ AxwBJwMvAUkDPAFmA0QBegNIAYQBTgJPAZcBWQJcAcwBUwJkAfEE/wHDAfsC/wHDAfsC/wHXA/8CqAGs
AdcD/wGoAakBrQH9A1sByAM3AVoDCwEPUwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/ Af0DWwHIAzcBWgMLAQ9TAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/JAADEwH/
AgAC/yQAAxQB/wO2Af8DFAH/AbABNgEqAf8BsgE2ASkB/wGfAS0BIQH/AVoBHQEUAf8BIQEZASgB/wGT A7YB/wMTAf8BsAE1ASkB/wGyATUBKAH/AZ8BLAEgAf8BWQEcARMB/wEgARgBJwH/AZMB1AHoAf8BlgHe
AdQB6AH/AZYB3gHvAf8BAAFAAZYB/wEZASQBOwH/AbgBIQFUAf8BvwEuAZMB/wHGATcBoAH/AcsBPQGm Ae8B/wEAAT8BlgH/ARgBIwE6Af8BuAEgAVMB/wG/AS0BkwH/AcYBNgGgAf8BywE8AaYB/wHNAT4BqgH/
Af8BzQE/AaoB/wHLAT0BpgH/AcYBNwGgAf8BwAEuAZEB/wGdARwBRQH/AQABOQFTAf8BDgFQAagB/wGv AcsBPAGmAf8BxgE2AaAB/wHAAS0BkQH/AZ0BGwFEAf8BAAE4AVIB/wENAU8BqAH/Aa8B6wH4Af8BTAGg
AesB+AH/AU0BoAHDAf8BPwIYAf8BXAEdARMB/wGtATQBJwH/AakBNAEpAf8DGwH/A7YB/wMUAf8CBAFb AcMB/wE+AhcB/wFbARwBEgH/Aa0BMwEmAf8BqQEzASgB/wMaAf8DtgH/AxMB/wIDAVoB/wENASoBiAH/
Af8BDgErAYgB/wEmAZQBtAH/AQUBFAFJAf8BAAEkAY4B/wEuAcMB5wH/ATUBzgHyAf8BNQHIAfIB/wEr ASUBlAG0Af8BBAETAUgB/wEAASMBjgH/AS0BwwHnAf8BNAHOAfIB/wE0AcgB8gH/ASoBtAHmAf8BFwGK
AbQB5gH/ARgBigHKAf8BCAEyAZ8B/wEAAQwBVgH/AgABRwH/AgABRQH/AgABRQH/AgABRQH/AgABRQH/ AcoB/wEHATEBnwH/AQABCwFVAf8CAAFGAf8CAAFEAf8CAAFEAf8CAAFEAf8CAAFEAf8CAAFEAf8CAAFE
AgABRQH/AgABRQH/AgABRQH/AgABRgH/AQABBgFUAf8BHwGVAcsB/wFDAekB/QH/AUUB7gL/AUUB7gL/ Af8CAAFEAf8CAAFFAf8BAAEFAVMB/wEeAZUBywH/AUIB6QH9Af8BRAHuAv8BRAHuAv8BNgHVAfAB/wEA
ATcB1QHwAf8BAAElAZAB/wEFARYBSQH/AScBnAG5Af8BDgEvAYsB/wIEAVsB/xMAAQEDBwEJAxYBHwMv ASQBkAH/AQQBFQFIAf8BJgGcAbkB/wENAS4BiwH/AgMBWgH/EwABAQMHAQkDFgEfAy8BSQFBAkIBcwFM
AUkBQQJCAXMBTAJNAZEBUAJSAaMBVQJXAboDXwHgAUkCYgH2AfMD/wHDAfsC/wHDAfsC/wHdA/8BcQF9 Ak0BkQFQAlIBowFVAlcBugNfAeABSQJiAfYB8wP/AcMB+wL/AcMB+wL/Ad0D/wFwAXwBggH8AVcCWgG9
AYUB/AFXAloBvQMxAU8DCQEMUwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/yQA AzEBTwMJAQxTAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/JAADEwH/A7sB/wMT
AxQB/wO7Af8DFAH/Aa0BMwEpAf8BswE1ASoB/wGzATUBKgH/AagBMAElAf8BWQEaARMB/wEhARkBKAH/ Af8BrQEyASgB/wGzATQBKQH/AbMBNAEpAf8BqAEvASQB/wFYARkBEgH/ASABGAEnAf8BkQHRAeoB/wFX
AZEB0QHqAf8BWAG6Ad0B/wEAAUkBkwH/AUIBFgExAf8BuAEfAVcB/wG8AScBhwH/AcABKQGKAf8BvwEq AboB3QH/AQABSAGTAf8BQQEVATAB/wG4AR4BVgH/AbwBJgGHAf8BwAEoAYoB/wG/ASkBjAH/AcABKAGK
AYwB/wHAASkBigH/AbwBJgGGAf8BtAEeAU8B/wEVAScBPAH/AQMBTwGiAf8BnQHeAfEB/wFNAaABxgH/ Af8BvAElAYYB/wG0AR0BTgH/ARQBJgE7Af8BAgFOAaIB/wGdAd4B8QH/AUwBoAHGAf8BQAEWARcB/wGW
AUEBFwEYAf8BlgEnAR4B/wGyATUBKgH/AbMBNQEqAf8BpgExASgB/wMcAf8DuwH/AxQB/wIEAVsB/wEO ASYBHQH/AbIBNAEpAf8BswE0ASkB/wGmATABJwH/AxsB/wO7Af8DEwH/AgMBWgH/AQ0BKgGIAf8BIQGU
ASsBiAH/ASIBlAG0Af8BBAEUAUkB/wEAARYBhQH/AQwBggHKAf8BCwGOAdcB/wELAYoB1wH/AQsBhgHP AbQB/wEDARMBSAH/AQABFQGFAf8BCwGCAcoB/wEKAY4B1wH/AQoBigHXAf8BCgGGAc8B/wEKAVIBwAH/
Af8BCwFTAcAB/wEFAToBqgH/AQEBGwGMAf8CAAFCAf8CAAE8Af8CAAE8Af8CAAE8Af8CAAE8Af8CAAE8 AQQBOQGqAf8BAAEaAYwB/wIAAUEB/wIAATsB/wIAATsB/wIAATsB/wIAATsB/wIAATsB/wIAATsB/wIA
Af8CAAE8Af8CAAE+Af8CAAFAAf8BAAEDAVAB/wEVAYABwQH/ATgB4wH7Af8BPAHuAv8BPAHuAv8BKQHG AT0B/wIAAT8B/wEAAQIBTwH/ARQBgAHBAf8BNwHjAfsB/wE7Ae4C/wE7Ae4C/wEoAcYB6gH/AQABHAGM
AeoB/wEAAR0BjAH/AQUBFgFLAf8BJwGdAb0B/wEOATABiwH/AgQBWwH/EwABAQMKAQ0DKgFAAU4CTwGX Af8BBAEVAUoB/wEmAZ0BvQH/AQ0BLwGLAf8CAwFaAf8TAAEBAwoBDQMqAUABTgJPAZcBWAJcAdEDXAHq
AVgCXAHRA1wB6gNnAfICWQFgAfUBagGEAYoB+wHaAeoB9QH/AdgD/wHDAfsC/wHFAf0C/wHvA/8DYgH2 A2cB8gJZAV4B9QFnAYMBiQH7AdoB6gH1Af8B2AP/AcMB+wL/AcUB/QL/Ae8D/wNiAfYBUAJSAaMDJwE6
AVACUgGjAycBOgMHAQlTAAH/AwAB/wMAAf8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/JAADFAH/ AwcBCVMAAf8DAAH/AwAB/wMAAf8DAAH/DgAC/wIAAv8CAAL/AgAC/wIAAv8kAAMTAf8DwAH/AxMB/wGp
A8AB/wMUAf8BqQExAScB/wGvATIBKAH/Aa8BMgEoAf8BrwEyASgB/wGlAS0BJAH/AVUBGAERAf8BIgEr ATABJgH/Aa8BMQEnAf8BrwExAScB/wGvATEBJwH/AaUBLAEjAf8BVAEXARAB/wEhASoBPwH/AZgB2gHx
AUAB/wGYAdoB8QH/AS4BjwG8Af8BAAE0AVAB/wFRAQwBIgH/AUUBGAEzAf8BNAEeATkB/wE0AR4BOQH/ Af8BLQGPAbwB/wEAATMBTwH/AVABCwEhAf8BRAEXATIB/wEzAR0BOAH/ATMBHQE4Af8BNwEcATcB/wFM
ATgBHQE4Af8BTQEUAS8B/wE7AQ8BIAH/AQABRAGQAf8BXAG8AeAB/wGEAbsB4QH/ATMBFQEbAf8BkQEk ARMBLgH/AToBDgEfAf8BAAFDAZAB/wFbAbwB4AH/AYQBuwHhAf8BMgEUARoB/wGRASMBGgH/Aa8BMQEn
ARsB/wGvATIBKAH/Aa8BMgEoAf8BrwEyASgB/wGiAS8BJgH/AxwB/wPAAf8DFAH/AgQBXAH/AQ4BKwGL Af8BrwExAScB/wGvATEBJwH/AaIBLgElAf8DGwH/A8AB/wMTAf8CAwFbAf8BDQEqAYsB/wEkAZQBtAH/
Af8BJQGUAbQB/wEBARABRQH/AQABJAGMAf8BLQHaAesB/wEyAeQB9QH/ATIB4gH1Af8BLQHZAfMB/wEn AQABDwFEAf8BAAEjAYwB/wEsAdoB6wH/ATEB5AH1Af8BMQHiAfUB/wEsAdkB8wH/ASYBwgHpAf8BFwGT
AcIB6QH/ARgBkwHRAf8BCAE0AaMB/wIAATkB/wIAATIB/wIAATIB/wIAATIB/wIAATIB/wIAATIB/wIA AdEB/wEHATMBowH/AgABOAH/AgABMQH/AgABMQH/AgABMQH/AgABMQH/AgABMQH/AgABMQH/AgABNAH/
ATIB/wIAATUB/wIAATUB/wIAAT0B/wEAASMBkAH/ARkBngHWAf8BLQHRAfAB/wEnAcMB6gH/AQ4BVAG9 AgABNAH/AgABPAH/AQABIgGQAf8BGAGeAdYB/wEsAdEB8AH/ASYBwwHqAf8BDQFTAb0B/wEAAQYBUQH/
Af8BAAEHAVIB/wECARIBSwH/AScBnQG9Af8BDgEwAY4B/wIEAVwB/xMAAQEDDwEUAzsBYwNeAdgE/wH7 AQEBEQFKAf8BJgGdAb0B/wENAS8BjgH/AgMBWwH/EwABAQMPARQDOwFjA14B2AT/AfsD/wHzA/8B7gP/
A/8B8wP/Ae4D/wHiA/8B0QP/AcYB/gL/AcQB/AL/AdYD/wHnAfEB+AH/AVcCXAHfA0QBeQMYASIDBAEG AeID/wHRA/8BxgH+Av8BxAH8Av8B1gP/AecB8QH4Af8BVwJcAd8DRAF5AxgBIgMEAQZTAAH/AwAB/wMA
UwAB/wMAAf8DAAH/AwAB/wMAAf8OAAL/AgAC/wIAAv8CAAL/AgAC/yQAAxQB/wPHAf8DFAH/AaYBLQEm Af8DAAH/AwAB/w4AAv8CAAL/AgAC/wIAAv8CAAL/JAADEwH/A8cB/wMTAf8BpgEsASUB/wGsAS0BJgH/
Af8BrAEuAScB/wGsAS4BJwH/AawBLgEnAf8BrAEuAScB/wGaASYBHwH/AUwBFgEUAf8BPwGQAbIB/wGW AawBLQEmAf8BrAEtASYB/wGsAS0BJgH/AZoBJQEeAf8BSwEVARMB/wE+AZABsgH/AZYB0gHxAf8BAwFG
AdIB8QH/AQQBRwGiAf8BAAFAAYsB/wEAAUgBkwH/AQIBTgGaAf8BBAFQAZwB/wEBAU0BlwH/AQABSAGT AaIB/wEAAT8BiwH/AQABRwGTAf8BAQFNAZoB/wEDAU8BnAH/AQABTAGXAf8BAAFHAZMB/wEAAToBiwH/
Af8BAAE7AYsB/wEpAYkBuwH/AZgB2AHzAf8BIwExAUcB/wFUARYBEQH/AasBLQEmAf8BrAEuAScB/wGs ASgBiQG7Af8BmAHYAfMB/wEiATABRgH/AVMBFQEQAf8BqwEsASUB/wGsAS0BJgH/AawBLQEmAf8BrAEt
AS4BJwH/AawBLgEnAf8BnwEsASUB/wMcAf8DxwH/AxQB/wIGAYUB/wESATIBjQH/AScBlwG0Af8BAAEO ASYB/wGfASsBJAH/AxsB/wPHAf8DEwH/AgUBhQH/AREBMQGNAf8BJgGXAbQB/wEAAQ0BQgH/AQABBAFD
AUMB/wEAAQUBRAH/AQABKAGMAf8BAQEqAZIB/wEBASoBkgH/AQABKAGQAf8BAAEjAYYB/wEAARYBVgH/ Af8BAAEnAYwB/wEAASkBkgH/AQABKQGSAf8BAAEnAZAB/wEAASIBhgH/AQABFQFVAf8BAAEGAUUB/wIA
AQABBwFGAf8CAAEvAf8CAAEpAf8CAAEpAf8CAAEpAf8CAAEpAf8CAAEpAf8CAAEpAf8CAAEpAf8CAAEv AS4B/wIAASgB/wIAASgB/wIAASgB/wIAASgB/wIAASgB/wIAASgB/wIAASgB/wIAAS4B/wIAAS8B/wIA
Af8CAAEwAf8CAAE7Af8BAAEOAVYB/wEAASQBigH/AQABHAGFAf8BAAEHAU8B/wIAATwB/wEAAQ8BRAH/ AToB/wEAAQ0BVQH/AQABIwGKAf8BAAEbAYUB/wEAAQYBTgH/AgABOwH/AQABDgFDAf8BJgGcAbkB/wER
AScBnAG5Af8BEgEzAZEB/wIGAYUB/xMAAQEDDQESAzgBXAFYAlsBywGWAaMBrAH+AeoD/wHNA/8BxAH8 ATIBkQH/AgUBhQH/EwABAQMNARIDOAFcAVgCWwHLAZQBoQGqAf4B6gP/Ac0D/wHEAfwC/wHDAfsC/wHD
Av8BwwH7Av8BwwH7Av8BxgH+Av8B2AP/AfMB+AH8Af8DXQHwA1IBqQMuAUcDDAEQAwIBA1MAAf8DAAH/ AfsC/wHGAf4C/wHYA/8B8wH4AfwB/wNdAfADUgGpAy4BRwMMARADAgEDUwAB/wMAAf8DAAH/AwAB/wMA
AwAB/wMAAf8DAAH/RAADFAH/A88B/wMUAf8BowEqASQB/wGoASsBJQH/AagBKwElAf8BqAErASUB/wGo Af9EAAMTAf8DzwH/AxMB/wGjASkBIwH/AagBKgEkAf8BqAEqASQB/wGoASoBJAH/AagBKgEkAf8BqAEq
ASsBJQH/AagBKwElAf8BjQEeARkB/wEnARkBJAH/AYwB0gHzAf8BwwHwAfgB/wHVAe4B9wH/AeAB9wH8 ASQB/wGNAR0BGAH/ASYBGAEjAf8BjAHSAfMB/wHDAfAB+AH/AdUB7gH3Af8B4AH3AfwB/wHnA/8B6AP/
Af8B5wP/AegD/wHmAf4C/wHdAfIB+gH/Ac0B7QH3Af8BtQHvAfsB/wFNAasBzwH/AUIBEgEUAf8BlgEj AeYB/gL/Ad0B8gH6Af8BzQHtAfcB/wG1Ae8B+wH/AUwBqwHPAf8BQQERARMB/wGWASIBHAH/AagBKgEk
AR0B/wGoASsBJQH/AagBKwElAf8BqAErASUB/wGoASsBJQH/AZ0BKQEjAf8DHQH/A88B/wMUAf8CDAGK Af8BqAEqASQB/wGoASoBJAH/AagBKgEkAf8BnQEoASIB/wMcAf8DzwH/AxMB/wILAYoB/wESATQBmAH/
Af8BEwE1AZgB/wEoAZUBtgH/ARIBOQGIAf8BBAESAUIB/wEEARIBRwH/AQQBEgFHAf8BBAESAUcB/wEE AScBlQG2Af8BEQE4AYgB/wEDAREBQQH/AQMBEQFGAf8BAwERAUYB/wEDAREBRgH/AQMBEQFAAf8BAwER
ARIBQQH/AQQBEgFBAf8BBAESAUEB/wEEARIBPAH/AQABDAE7Af8BAAEMATsB/wEAAQwBOwH/AQABDAE7 AUAB/wEDAREBQAH/AQMBEQE7Af8BAAELAToB/wEAAQsBOgH/AQABCwE6Af8BAAELAToB/wEAAQsBOgH/
Af8BAAEMATsB/wEAAQwBOwH/AQABDAE7Af8BAAEMATsB/wEEARIBPAH/AQQBEwFCAf8BBAEUAUMB/wEE AQABCwE6Af8BAAELAToB/wEAAQsBOgH/AQMBEQE7Af8BAwESAUEB/wEDARMBQgH/AQMBEwFCAf8BAwET
ARQBQwH/AQQBFAFJAf8BBAEUAUkB/wEEARMBSAH/AQQBEgFCAf8BEAE5AYcB/wEnAZQBtQH/ARMBNQGY AUgB/wEDARMBSAH/AQMBEgFHAf8BAwERAUEB/wEPATgBhwH/ASYBlAG1Af8BEgE0AZgB/wILAYoB/xMA
Af8CDAGKAf8TAAEBAwcBCgMmATgDSgGLAVkCXAHPAWUBcQF1AfgB8wH4AfwB/wHyA/8B5gP/AegD/wH6 AQEDBwEKAyYBOANKAYsBWQJcAc8BYwFwAXQB+AHzAfgB/AH/AfID/wHmA/8B6AP/AfoD/wGUAaQBrgH+
A/8BlgGmAbAB/gNhAe4DVQGyAzgBXAMVAR0DBQEHAwABAVMAAf8DAAH/AwAB/wMAAf8DAAH/RAADFAH/ A2EB7gNVAbIDOAFcAxUBHQMFAQcDAAEBUwAB/wMAAf8DAAH/AwAB/wMAAf9EAAMTAf8D1wH/AxMB/wGf
A9cB/wMUAf8BnwEnASMB/wGkASgBJAH/AaQBKAEkAf8BpAEoASQB/wGkASgBJAH/AaQBKAEkAf8BmQEj ASYBIgH/AaQBJwEjAf8BpAEnASMB/wGkAScBIwH/AaQBJwEjAf8BpAEnASMB/wGZASIBHgH/ATsBDwET
AR8B/wE8ARABFAH/Aa8B3AHkAf8B4gHwAfIB/wGNAaQBrwH/AUABRgFSAf8BLgEqATgB/wEvASsBOQH/ Af8BrwHcAeQB/wHiAfAB8gH/AY0BpAGvAf8BPwFFAVEB/wEtASkBNwH/AS4BKgE4Af8BMAEtAToB/wFK
ATEBLgE7Af8BSwFXAYYB/wGlAcABxQH/Ae8C+wH/ATcBggGXAf8BTQERARAB/wGjAScBIwH/AaQBKAEk AVYBhgH/AaUBwAHFAf8B7wL7Af8BNgGCAZcB/wFMARABDwH/AaMBJgEiAf8BpAEnASMB/wGkAScBIwH/
Af8BpAEoASQB/wGkASgBJAH/AaQBKAEkAf8BmQEmASIB/wMdAf8D1wH/AxQB/wINAZQB/wESATABmwH/ AaQBJwEjAf8BpAEnASMB/wGZASUBIQH/AxwB/wPXAf8DEwH/AgwBlAH/AREBLwGbAf8BMgGiAcMB/wFF
ATMBogHDAf8BRgG3Ac0B/wFCAbkBzQH/AUIBuQHNAf8BQAG5Ac0B/wE/AbkBzQH/AT8BuQHNAf8BPwG5 AbcBzQH/AUEBuQHNAf8BQQG5Ac0B/wE/AbkBzQH/AT4BuQHNAf8BPgG5Ac0B/wE+AbkBzQH/AT4BuQHN
Ac0B/wE/AbkBzQH/AT8BuQHNAf8BPwG5Ac0B/wE/AbkBzQH/AT8BuQHNAf8BPwG5Ac0B/wE/AbkBzQH/ Af8BPgG5Ac0B/wE+AbkBzQH/AT4BuQHNAf8BPgG5Ac0B/wE+AbkBzQH/AT4BuQHNAf8BPgG5Ac0B/wE+
AT8BuQHNAf8BPwG5Ac0B/wE/AbkBzQH/AUIBuQHNAf8BQgG8Ac8B/wFCAb8B0gH/AUIBvwHSAf8BQgG/ AbkBzQH/AT4BuQHNAf8BQQG5Ac0B/wFBAbwBzwH/AUEBvwHSAf8BQQG/AdIB/wFBAb8B0gH/AUEBvwHS
AdIB/wFCAb8B0gH/AUABvAHPAf8BPwG5Ac0B/wE+AbYByAH/AS4BngHAAf8BEgEvAZsB/wINAZQB/xQA Af8BPwG8Ac8B/wE+AbkBzQH/AT0BtgHIAf8BLQGeAcAB/wERAS4BmwH/AgwBlAH/FAADBAEFAxEBFwMp
AwQBBQMRARcDKQE/A0QBeQFVAlYBtAFcAmEB3ANfAfMBaAF0AXkB+gFoAXQBeQH6A10B7QFbAl4B0AFQ AT8DRAF5AVUCVgG0AVwCYQHcA18B8wFnAXMBeAH6AWcBcwF4AfoDXQHtAVsCXgHQAVACUQGfAzYBWQMY
AlEBnwM2AVkDGAEhAwcBCgMBAQJXAAH/AwAB/wMAAf8DAAH/AwAB/0QAAxQB/wPfAf8DFAH/AZwBJAEi ASEDBwEKAwEBAlcAAf8DAAH/AwAB/wMAAf8DAAH/RAADEwH/A98B/wMTAf8BnAEjASEB/wGhASQBIgH/
Af8BoQElASMB/wGhASUBIwH/AaEBJQEjAf8BoQElASMB/wGhASUBIwH/AZsBIgEgAf8BQgEPARIB/wGP AaEBJAEiAf8BoQEkASIB/wGhASQBIgH/AaEBJAEiAf8BmwEhAR8B/wFBAQ4BEQH/AY8BlgGhAf8BLwEM
AZYBoQH/ATABDQEVAf8BSgIPAf8BTQEPAQ4B/wGBARcBFQH/AYEBFwEVAf8BgQEXARUB/wFMAQ8BDgH/ ARQB/wFJAg4B/wFMAQ4BDQH/AYEBFgEUAf8BgQEWARQB/wGBARYBFAH/AUsBDgENAf8BRgEOAQ8B/wEj
AUcBDwEQAf8BJAEYAScB/wFUAVgBiAH/AUwBDwEOAf8BoAEkASIB/wGhASUBIwH/AaEBJQEjAf8BoQEl ARcBJgH/AVMBVwGIAf8BSwEOAQ0B/wGgASMBIQH/AaEBJAEiAf8BoQEkASIB/wGhASQBIgH/AaEBJAEi
ASMB/wGhASUBIwH/AZYBIwEhAf8DHgH/A98B/wMUAf8CDgGeAf8BDwEWAZQB/wEeATgBnwH/ATEBWAGu Af8BlgEiASAB/wMdAf8D3wH/AxMB/wINAZ4B/wEOARUBlAH/AR0BNwGfAf8BMAFXAa4B/wEzAVsBqwH/
Af8BNAFcAasB/wE0AVwBqwH/ATIBXAGrAf8BMQFcAacB/wExAVwBpgH/AS8BWQGmAf8BKwFWAaYB/wEr ATMBWwGrAf8BMQFbAasB/wEwAVsBpwH/ATABWwGmAf8BLgFYAaYB/wEqAVUBpgH/ASoBVQGiAf8BKgFV
AVYBogH/ASsBVgGhAf8BKwFWAaEB/wErAVYBoQH/ASsBVgGhAf8BKwFWAaEB/wErAVYBoQH/ASsBVgGh AaEB/wEqAVUBoQH/ASoBVQGhAf8BKgFVAaEB/wEqAVUBoQH/ASoBVQGhAf8BKgFVAaEB/wEqAVUBoQH/
Af8BKwFWAaEB/wEvAVYBogH/AS8BVgGmAf8BMgFZAaYB/wE0AVwBpgH/ATQBXAGnAf8BNAFcAasB/wEy AS4BVQGiAf8BLgFVAaYB/wExAVgBpgH/ATMBWwGmAf8BMwFbAacB/wEzAVsBqwH/ATEBWwGrAf8BMAFb
AVwBqwH/ATEBXAGrAf8BLgFYAa4B/wEcATgBnwH/AQ8BFgGUAf8CDgGeAf8XAAEBAwQBBgMMARADHAEo AasB/wEtAVcBrgH/ARsBNwGfAf8BDgEVAZQB/wINAZ4B/xcAAQEDBAEGAwwBEAMcASgDMQFNA0IBdQNO
AzEBTQNCAXUDTgGZAVMCVQGtA1IBqQNLAY4BPAI9AWcDKQE+AxQBGwMHAQkDAgEDWwAB/wMAAf8DAAH/ AZkBUwJVAa0DUgGpA0sBjgE8Aj0BZwMpAT4DFAEbAwcBCQMCAQNbAAH/AwAB/wMAAf8DAAH/AwAB/0QA
AwAB/wMAAf9EAANMAfMD3wH/AysB/wGKAh4B/wGbASABIQH/AZsBIAEhAf8BmwEgASEB/wGbASABIQH/ A0wB8wPfAf8DKgH/AYoCHQH/AZsBHwEgAf8BmwEfASAB/wGbAR8BIAH/AZsBHwEgAf8BmwEfASAB/wGa
AZsBIAEhAf8BmgEfASAB/wFHAQwBDQH/AUEBDAEPAf8BSQIMAf8BmQEfASAB/wGaASABIQH/AZsBIAEh AR4BHwH/AUYBCwEMAf8BQAELAQ4B/wFIAgsB/wGZAR4BHwH/AZoBHwEgAf8BmwEfASAB/wGbAR8BIAH/
Af8BmwEgASEB/wGbASABIQH/AZoBHwEgAf8BkgEcAR0B/wFIAgwB/wE+AQwBEAH/AUkCDAH/AZoBIAEh AZsBHwEgAf8BmgEeAR8B/wGSARsBHAH/AUcCCwH/AT0BCwEPAf8BSAILAf8BmgEfASAB/wGbAR8BIAH/
Af8BmwEgASEB/wGbASABIQH/AZsBIAEhAf8BmwEgASEB/wFZARwBHQH/AzMB/wPdAf8DTgHwAhMBpAH/ AZsBHwEgAf8BmwEfASAB/wGbAR8BIAH/AVgBGwEcAf8DMgH/A90B/wNOAfACEgGkAf8CDQGeAf8CDAGU
Ag4BngH/Ag0BlAH/AgwBjwH/AgwBjAH/AgwBhgH/AgwBggH/AgcBWwH/AgYBWwH/AgUBWAH/AgQBVQH/ Af8CCwGPAf8CCwGMAf8CCwGGAf8CCwGCAf8CBgFaAf8CBQFaAf8CBAFXAf8CAwFUAf8CAwFSAf8CAwFS
AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/AgQBUwH/ Af8CAwFSAf8CAwFSAf8CAwFSAf8CAwFSAf8CAwFSAf8CAwFSAf8CAwFSAf8CAwFSAf8CAwFUAf8CBAFX
AgQBVQH/AgUBWAH/AgYBWwH/AgcBWwH/AgwBggH/AgwBhgH/AgwBjAH/AgwBjwH/Ag0BlAH/Ag4BngH/ Af8CBQFaAf8CBgFaAf8CCwGCAf8CCwGGAf8CCwGMAf8CCwGPAf8CDAGUAf8CDQGeAf8CEgGkAf8bAAEB
AhMBpAH/GwABAQMCAQMDBgEIAwwBEAMWAR4DIgEyAyoBQAMpAT4DHwEsAxIBGQMKAQ0DBAEGAwEBAl8A AwIBAwMGAQgDDAEQAxYBHgMiATIDKgFAAykBPgMfASwDEgEZAwoBDQMEAQYDAQECXwAB/wMAAf8DAAH/
Af8DAAH/AwAB/wMAAf8DAAH/RAADVwG9A78B/wOUAf8BPwEdAR8B/wGKARwBIgH/AZMBGgEhAf8BkwEa AwAB/wMAAf9EAANXAb0DvwH/A5QB/wE+ARwBHgH/AYoBGwEhAf8BkwEZASAB/wGTARkBIAH/AZMBGQEg
ASEB/wGTARoBIQH/AZMBGgEhAf8BkwEaASEB/wGSARoBIAH/AY4BGAEfAf8BkgEaASEB/wGTARoBIQH/ Af8BkwEZASAB/wGTARkBIAH/AZIBGQEfAf8BjgEXAR4B/wGSARkBIAH/AZMBGQEgAf8BkwEZASAB/wGT
AZMBGgEhAf8BkwEaASEB/wGTARoBIQH/AZMBGgEhAf8BkwEaASEB/wGTARoBIQH/AZIBGgEgAf8BjQEY ARkBIAH/AZMBGQEgAf8BkwEZASAB/wGTARkBIAH/AZMBGQEgAf8BkgEZAR8B/wGNARcBHQH/AZIBGQEg
AR4B/wGSARoBIQH/AZMBGgEhAf8BkwEaASEB/wGTARoBIQH/AZMBGgEhAf8BgAEdASIB/wE0ARwBHgH/ Af8BkwEZASAB/wGTARkBIAH/AZMBGQEgAf8BkwEZASAB/wGAARwBIQH/ATMBGwEdAf8DtAH/A7QB/wNU
A7QB/wO0Af8DVAGuAhYBrAH/AhYBqQH/AhYBpgH/AhEBpgH/AhABpgH/AhABowH/AhABnwH/Ag4BngH/ Aa4CFQGsAf8CFQGpAf8CFQGmAf8CEAGmAf8CDwGmAf8CDwGjAf8CDwGfAf8CDQGeAf8CDQGXAf8CDQGX
Ag4BlwH/Ag4BlwH/Ag4BlgH/Ag4BlgH/Ag4BjgH/Ag4BjgH/Ag4BjgH/Ag4BjgH/Ag4BjgH/Ag4BjgH/ Af8CDQGWAf8CDQGWAf8CDQGOAf8CDQGOAf8CDQGOAf8CDQGOAf8CDQGOAf8CDQGOAf8CDQGOAf8CDQGO
Ag4BjgH/Ag4BjgH/Ag4BlgH/Ag4BlgH/Ag4BlwH/Ag4BlwH/Ag4BngH/AhABnwH/AhABowH/AhABpgH/ Af8CDQGWAf8CDQGWAf8CDQGXAf8CDQGXAf8CDQGeAf8CDwGfAf8CDwGjAf8CDwGmAf8CEAGmAf8CFQGm
AhEBpgH/AhYBpgH/AhYBqQH/AhYBrAH/JAADAQECAwMEBAQGAQgDBgEIAwQBBgMDAQQDAAEBZwAB/wMA Af8CFQGpAf8CFQGsAf8kAAMBAQIDAwQEBAYBCAMGAQgDBAEGAwMBBAMAAQFnAAH/AwAB/wMAAf8DAAH/
Af8DAAH/AwAB/wMAAf9EAAM0AVQDQwH/A+4B/wOTAf8DKgH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/ AwAB/0QAAzQBVANCAf8D7gH/A5MB/wMpAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMT
AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/ Af8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AzIB/wOy
AxQB/wMzAf8DsgH/A+oB/wMzAf8DLQFFAhYBrAH/AhYBrAH/AhYBrAH/AhYBrAH/AhYBrAH/AhYBrAH/ Af8D6gH/AzIB/wMtAUUCFQGsAf8CFQGsAf8CFQGsAf8CFQGsAf8CFQGsAf8CFQGsAf8CFQGsAf8CEQGo
AhYBrAH/AhIBqAH/AhEBpAH/Ag4BogH/Ag4BnwH/Ag4BnwH/Ag4BnAH/Ag4BnAH/Ag4BnAH/Ag4BnAH/ Af8CEAGkAf8CDQGiAf8CDQGfAf8CDQGfAf8CDQGcAf8CDQGcAf8CDQGcAf8CDQGcAf8CDQGcAf8CDQGc
Ag4BnAH/Ag4BnAH/Ag4BnAH/Ag4BnAH/Ag4BnwH/Ag4BnwH/Ag4BogH/AhEBpwH/AhIBqAH/AhYBrAH/ Af8CDQGcAf8CDQGcAf8CDQGfAf8CDQGfAf8CDQGiAf8CEAGnAf8CEQGoAf8CFQGsAf8CFQGsAf8CFQGs
AhYBrAH/AhYBrAH/AhYBrAH/AhYBrAH/AhYBrAH/AhYBrAH//wAFAANKAY0DQgH/A80B/wP5Af8D+wH/ Af8CFQGsAf8CFQGsAf8CFQGsAf8CFQGsAf//AAUAA0oBjQNBAf8DzQH/A/kB/wP7Af8D+wH/A/sB/wP7
A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/ Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A/sB/wP7
A/sB/wP7Af8D+wH/A/sB/wP7Af8D+wH/A+sB/wO9Af8DLQH/A0gBhwQAA0gBhQIWAawB/wIWAawB/wIW Af8D+wH/A/sB/wP7Af8D6wH/A70B/wMsAf8DSAGHBAADSAGFAhUBrAH/AhUBrAH/AhUBrAH/AhUBrAH/
AawB/wIWAawB/wIWAawB/wIWAawB/wIWAawB/wIVAakB/wITAakB/wITAaYB/wIPAaQB/wIOAaEB/wIO AhUBrAH/AhUBrAH/AhUBrAH/AhQBqQH/AhIBqQH/AhIBpgH/Ag4BpAH/Ag0BoQH/Ag0BoQH/Ag0BoQH/
AaEB/wIOAaEB/wIOAaEB/wIOAaEB/wIOAaEB/wIOAaEB/wIOAaEB/wIPAaQB/wITAaYB/wITAakB/wIV Ag0BoQH/Ag0BoQH/Ag0BoQH/Ag0BoQH/Ag0BoQH/Ag4BpAH/AhIBpgH/AhIBqQH/AhQBqwH/AhUBrAH/
AasB/wIWAawB/wIWAawB/wIWAawB/wIWAawB/wIWAawB/wIWAawB/wIWAawB/wNIAYX/AAkAAzcBWgNZ AhUBrAH/AhUBrAH/AhUBrAH/AhUBrAH/AhUBrAH/AhUBrAH/A0gBhf8ACQADNwFaA1kBwwMrAfwDEwH/
AcMDKwH8AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wMU AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/
Af8DFAH/AxQB/wMUAf8DFAH/AxQB/wMUAf8DFAH/AxQB/wNVAeoDVAGuAy0BRQgAAwcBCgNIAYUCFgGs AxMB/wMTAf8DEwH/AxMB/wMTAf8DEwH/A1UB6gNUAa4DLQFFCAADBwEKA0gBhQIVAawB/wIVAawB/wIV
Af8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGrAf8CFQGqAf8CFAGq AawB/wIVAawB/wIVAawB/wIVAawB/wIVAawB/wIVAawB/wIVAasB/wIUAaoB/wITAaoB/wITAagB/wIT
Af8CFAGoAf8CFAGkAf8CFAGkAf8CFAGkAf8CFAGkAf8CFAGoAf8CFAGqAf8CFQGqAf8CFgGrAf8CFgGs AaQB/wITAaQB/wITAaQB/wITAaQB/wITAagB/wITAaoB/wIUAaoB/wIVAasB/wIVAawB/wIVAawB/wIV
Af8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8CFgGsAf8DSAGFAwcBCv8AAQABQgFN AawB/wIVAawB/wIVAawB/wIVAawB/wIVAawB/wIVAawB/wNIAYUDBwEK/wABAAFCAU0BPgcAAT4DAAEo
AT4HAAE+AwABKAMAAYADAAFAAwABAQEAAQEGAAEEFgAD//8A/wADAAHAAgABAwQACP8BgAIAAQEEAAL/ AwABgAMAAUADAAEBAQABAQYAAQQWAAP//wD/AAMAAcACAAEDBAAI/wGAAgABAQQAAv8B+AEHBP8IAAL/
AfgBBwT/CAAC/wHwAQME/wgAAv8B4AEBAf8BwQL/CAAC/wHAAQEB/wHBAv8IAAL/AYABAQH/AcEC/wgA AfABAwT/CAAC/wHgAQEB/wHBAv8IAAL/AcABAQH/AcEC/wgAAv8BgAEBAf8BwQL/CAAC/wEAAQEB/wHB
Av8BAAEBAf8BwQL/CAAB/wH+AQABAQH/AcEC/wgAAf8B/AEAAQEB/wLBAf8IAAH/AfwBAAEBAf8CwQH/ Av8IAAH/Af4BAAEBAf8BwQL/CAAB/wH8AQABAQH/AsEB/wgAAf8B/AEAAQEB/wLBAf8IAAH/AYABAAEB
CAAB/wGAAQABAQH/AsEB/wgAAf4CAAEBAf8CwQH/CAAB+AIAAQMB/wLBAf8IAAHwAgABBwHgAQEBwAEH Af8CwQH/CAAB/gIAAQEB/wLBAf8IAAH4AgABAwH/AsEB/wgAAfACAAEHAeABAQHAAQcIAAHwAgABHwHg
CAAB8AIAAR8B4AEBAcABBwgAAfACAAE/AeABAQHAAQcIAAHwAgABfwHgAQEBwAEHCAAB8AIAAf8B4AEB AQEBwAEHCAAB8AIAAT8B4AEBAcABBwgAAfACAAF/AeABAQHAAQcIAAHwAgAB/wHgAQEBwAEHCAAB8AEA
AcABBwgAAfABAAEBAv8CwQH/CAAB8AEAAQMC/wLBAf8IAAHwAQABAwL/AsEB/wgAAfABAAEDAv8CwQH/ AQEC/wLBAf8IAAHwAQABAwL/AsEB/wgAAfABAAEDAv8CwQH/CAAB8AEAAQMC/wLBAf8IAAHwAQABAwL/
CAAB8AEAAQMC/wLBAf8IAAHwAQABAwL/AcEC/wgAAfABAAEDAv8BwQL/CAAB+AEAAQcC/wHBAv8IAAH4 AsEB/wgAAfABAAEDAv8BwQL/CAAB8AEAAQMC/wHBAv8IAAH4AQABBwL/AcEC/wgAAfgBAAEPAv8BwQL/
AQABDwL/AcEC/wgAAfwBAAEfAv8BwQL/CAAB/wGAAX8C/wHBAv8IAAj/AYACAAEBBAAI/wHAAgABAwQA CAAB/AEAAR8C/wHBAv8IAAH/AYABfwL/AcEC/wgACP8BgAIAAQEEAAj/AcACAAEDBAAI/ws=
CP8L
</value> </value>
</data> </data>
</root> </root>

View file

@ -1,5 +1,6 @@
using System; using System;
using System.Drawing; using System.Drawing;
using System.Net;
namespace DutyContent.ThirdParty namespace DutyContent.ThirdParty
{ {
@ -129,5 +130,27 @@ namespace DutyContent.ThirdParty
{ {
return ToColorArgb(s, Color.Transparent); return ToColorArgb(s, Color.Transparent);
} }
public static IPAddress ToIPAddressFromIPV4(string ipstr)
{
try
{
var sa = ipstr.Trim().Split('.');
if (sa.Length == 4)
{
if (sa[3].Contains(":"))
sa[3] = sa[3].Substring(0, sa[3].IndexOf(":"));
var ivs = new byte[4];
for (var i = 0; i < 4; i++)
ivs[i] = byte.Parse(sa[i]);
return new IPAddress(ivs);
}
}
catch { }
return IPAddress.None;
}
} }
} }