diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/FrmLayerControl.Designer.cs b/FrmLayerControl.Designer.cs index d1ab3e6..35df5d1 100644 --- a/FrmLayerControl.Designer.cs +++ b/FrmLayerControl.Designer.cs @@ -31,27 +31,13 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.layerTree1 = new System.Windows.Forms.TreeView(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.layerTree2 = new System.Windows.Forms.TreeView(); - this.layerNodeContexMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.FeatureAddLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerSelectableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerEditableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.移除图层ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.layerNodeContexMenu.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // layerTree1 @@ -94,90 +80,6 @@ this.layerTree2.TabIndex = 3; this.layerTree2.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree2_AfterCheck); // - // layerNodeContexMenu - // - this.layerNodeContexMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.FeatureAddLayerMenuItem, - this.LayerSelectableMenuItem, - this.LayerEditableMenuItem, - this.SaveLayerMenuItem}); - this.layerNodeContexMenu.Name = "layerNodeContexMenu"; - this.layerNodeContexMenu.Size = new System.Drawing.Size(125, 92); - // - // FeatureAddLayerMenuItem - // - this.FeatureAddLayerMenuItem.Name = "FeatureAddLayerMenuItem"; - this.FeatureAddLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.FeatureAddLayerMenuItem.Text = "目标图层"; - this.FeatureAddLayerMenuItem.Click += new System.EventHandler(this.FeatureAddLayerMenuItem_Click); - // - // LayerSelectableMenuItem - // - this.LayerSelectableMenuItem.Name = "LayerSelectableMenuItem"; - this.LayerSelectableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerSelectableMenuItem.Text = "可选择"; - this.LayerSelectableMenuItem.Click += new System.EventHandler(this.LayerSelectableMenuItem_Click); - // - // LayerEditableMenuItem - // - this.LayerEditableMenuItem.Name = "LayerEditableMenuItem"; - this.LayerEditableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerEditableMenuItem.Text = "可编辑"; - this.LayerEditableMenuItem.Click += new System.EventHandler(this.LayerEditableMenuItem_Click); - // - // SaveLayerMenuItem - // - this.SaveLayerMenuItem.Name = "SaveLayerMenuItem"; - this.SaveLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.SaveLayerMenuItem.Text = "保存"; - this.SaveLayerMenuItem.Click += new System.EventHandler(this.SaveLayerMenuItem_Click); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.移除图层ToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripMenuItem2, - this.toolStripMenuItem3, - this.toolStripMenuItem4}); - this.contextMenuStrip1.Name = "layerNodeContexMenu"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 114); - // - // 移除图层ToolStripMenuItem - // - this.移除图层ToolStripMenuItem.Name = "移除图层ToolStripMenuItem"; - this.移除图层ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); - this.移除图层ToolStripMenuItem.Text = "移除图层"; - this.移除图层ToolStripMenuItem.Click += new System.EventHandler(this.移除图层ToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem1.Text = "目标图层"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem2.Text = "可选择"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem3.Text = "可编辑"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem4.Text = "保存"; - this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); - // // FrmLayerControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -198,8 +100,6 @@ this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); - this.layerNodeContexMenu.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } @@ -209,16 +109,5 @@ private TreeView layerTree1; private SplitContainer splitContainer1; private TreeView layerTree2; - private ContextMenuStrip layerNodeContexMenu; - private ToolStripMenuItem FeatureAddLayerMenuItem; - private ToolStripMenuItem LayerSelectableMenuItem; - private ToolStripMenuItem LayerEditableMenuItem; - private ToolStripMenuItem SaveLayerMenuItem; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem toolStripMenuItem1; - private ToolStripMenuItem toolStripMenuItem2; - private ToolStripMenuItem toolStripMenuItem3; - private ToolStripMenuItem toolStripMenuItem4; - private ToolStripMenuItem 移除图层ToolStripMenuItem; } } \ No newline at end of file diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/FrmLayerControl.Designer.cs b/FrmLayerControl.Designer.cs index d1ab3e6..35df5d1 100644 --- a/FrmLayerControl.Designer.cs +++ b/FrmLayerControl.Designer.cs @@ -31,27 +31,13 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.layerTree1 = new System.Windows.Forms.TreeView(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.layerTree2 = new System.Windows.Forms.TreeView(); - this.layerNodeContexMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.FeatureAddLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerSelectableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerEditableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.移除图层ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.layerNodeContexMenu.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // layerTree1 @@ -94,90 +80,6 @@ this.layerTree2.TabIndex = 3; this.layerTree2.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree2_AfterCheck); // - // layerNodeContexMenu - // - this.layerNodeContexMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.FeatureAddLayerMenuItem, - this.LayerSelectableMenuItem, - this.LayerEditableMenuItem, - this.SaveLayerMenuItem}); - this.layerNodeContexMenu.Name = "layerNodeContexMenu"; - this.layerNodeContexMenu.Size = new System.Drawing.Size(125, 92); - // - // FeatureAddLayerMenuItem - // - this.FeatureAddLayerMenuItem.Name = "FeatureAddLayerMenuItem"; - this.FeatureAddLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.FeatureAddLayerMenuItem.Text = "目标图层"; - this.FeatureAddLayerMenuItem.Click += new System.EventHandler(this.FeatureAddLayerMenuItem_Click); - // - // LayerSelectableMenuItem - // - this.LayerSelectableMenuItem.Name = "LayerSelectableMenuItem"; - this.LayerSelectableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerSelectableMenuItem.Text = "可选择"; - this.LayerSelectableMenuItem.Click += new System.EventHandler(this.LayerSelectableMenuItem_Click); - // - // LayerEditableMenuItem - // - this.LayerEditableMenuItem.Name = "LayerEditableMenuItem"; - this.LayerEditableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerEditableMenuItem.Text = "可编辑"; - this.LayerEditableMenuItem.Click += new System.EventHandler(this.LayerEditableMenuItem_Click); - // - // SaveLayerMenuItem - // - this.SaveLayerMenuItem.Name = "SaveLayerMenuItem"; - this.SaveLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.SaveLayerMenuItem.Text = "保存"; - this.SaveLayerMenuItem.Click += new System.EventHandler(this.SaveLayerMenuItem_Click); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.移除图层ToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripMenuItem2, - this.toolStripMenuItem3, - this.toolStripMenuItem4}); - this.contextMenuStrip1.Name = "layerNodeContexMenu"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 114); - // - // 移除图层ToolStripMenuItem - // - this.移除图层ToolStripMenuItem.Name = "移除图层ToolStripMenuItem"; - this.移除图层ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); - this.移除图层ToolStripMenuItem.Text = "移除图层"; - this.移除图层ToolStripMenuItem.Click += new System.EventHandler(this.移除图层ToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem1.Text = "目标图层"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem2.Text = "可选择"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem3.Text = "可编辑"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem4.Text = "保存"; - this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); - // // FrmLayerControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -198,8 +100,6 @@ this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); - this.layerNodeContexMenu.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } @@ -209,16 +109,5 @@ private TreeView layerTree1; private SplitContainer splitContainer1; private TreeView layerTree2; - private ContextMenuStrip layerNodeContexMenu; - private ToolStripMenuItem FeatureAddLayerMenuItem; - private ToolStripMenuItem LayerSelectableMenuItem; - private ToolStripMenuItem LayerEditableMenuItem; - private ToolStripMenuItem SaveLayerMenuItem; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem toolStripMenuItem1; - private ToolStripMenuItem toolStripMenuItem2; - private ToolStripMenuItem toolStripMenuItem3; - private ToolStripMenuItem toolStripMenuItem4; - private ToolStripMenuItem 移除图层ToolStripMenuItem; } } \ No newline at end of file diff --git a/FrmLayerControl.cs b/FrmLayerControl.cs index e94e746..052be3a 100644 --- a/FrmLayerControl.cs +++ b/FrmLayerControl.cs @@ -10,9 +10,9 @@ { public partial class FrmLayerControl : Office2007Form { - TreeView treeView1; GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; + TreeNode terrainManagerNode = null; TreeNode layerManagerNode = null; TreeNode terrainManagerNode1 = null; @@ -25,84 +25,67 @@ globeControl2 = ctl2; } - /// - /// 窗体初始化事件处理 - /// - /// - /// - private void FrmLayerControl_Load(object sender, EventArgs e) + private void initLayerTree(out TreeNode treeNode, string strTreeNodeText) { - //加载layertree1 + treeNode=new TreeNode(); + treeNode.ImageIndex = 0; + treeNode.SelectedImageIndex = 0; + treeNode.Checked = false; + treeNode.Text = strTreeNodeText; + } + + private void initTreeView() + { layerTree1.Nodes.Clear(); layerTree2.Nodes.Clear(); //加载layertree2 - layerManagerNode1 = new TreeNode(); - layerManagerNode1.ImageIndex = 0; - layerManagerNode1.SelectedImageIndex = 0; - layerManagerNode1.Checked = false; - layerManagerNode1.Text = "图层管理"; + initLayerTree(out layerManagerNode1, "图层管理"); layerTree1.Nodes.Add(layerManagerNode1); - layerManagerNode = new TreeNode(); - layerManagerNode.ImageIndex = 0; - layerManagerNode.SelectedImageIndex = 0; - layerManagerNode.Checked = false; - layerManagerNode.Text = "图层管理"; - layerTree2.Nodes.Add(layerManagerNode); - - terrainManagerNode1 = new TreeNode(); - terrainManagerNode1.ImageIndex = 0; - terrainManagerNode1.SelectedImageIndex = 0; - terrainManagerNode1.Checked = false; - terrainManagerNode1.Text = "地形管理"; + initLayerTree(out terrainManagerNode1, "地形管理"); layerTree1.Nodes.Add(terrainManagerNode1); - terrainManagerNode = new TreeNode(); - terrainManagerNode.ImageIndex = 0; - terrainManagerNode.SelectedImageIndex = 0; - terrainManagerNode.Checked = false; - terrainManagerNode.Text = "地形管理"; + + initLayerTree(out layerManagerNode, "图层管理"); + layerTree2.Nodes.Add(layerManagerNode); + initLayerTree(out terrainManagerNode, "地形管理"); layerTree2.Nodes.Add(terrainManagerNode); - + } + + private void initNode(string nodeName) + { + TreeNode nodeGroupElse1 = new TreeNode(); + nodeGroupElse1.Text = nodeName; + layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); + + TreeNode nodeGroupElse = new TreeNode(); + nodeGroupElse.Text = nodeName == "供电" ? "电力" : nodeName; + layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + } + + private void initTreeNode(XmlNodeList Params) + { + foreach (XmlNode paramsNode in Params) //layers + { + foreach (XmlNode layerNode in paramsNode) //layer + { + initNode(layerNode.Attributes["label"].Value); + } + } + + initNode("基础图层"); + initNode("其他"); + } + + private void FrmLayerControl_Load(object sender, EventArgs e) + { + initTreeView(); try { XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + "\\双屏设置.xml"); - XmlNodeList Params1 = doc.SelectNodes("/Params/layers"); + XmlNodeList Params = doc.SelectNodes("/Params/layers"); - foreach (XmlNode paramsNode in Params1) //layers - { - foreach (XmlNode layerNode in paramsNode) //layer - { - TreeNode nodeGroup1 = new TreeNode(); - string nodeGroupName1 = layerNode.Attributes["label"].Value; - - nodeGroup1.Text = nodeGroupName1 == "电力" ? "供电" : nodeGroupName1; - - layerTree1.Nodes[0].Nodes.Add(nodeGroup1); - - TreeNode nodeGroup = new TreeNode(); - string nodeGroupName = layerNode.Attributes["label"].Value; - nodeGroup.Text = nodeGroupName; - layerTree2.Nodes[0].Nodes.Add(nodeGroup); - } - } - TreeNode nodeGroupElse1 = new TreeNode(); - string nodeGroupNameElse1 = "基础数据"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - TreeNode nodeGroupElse = new TreeNode(); - string nodeGroupNameElse = "基础数据"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); - - nodeGroupElse1 = new TreeNode(); - nodeGroupNameElse1 = "其它"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - nodeGroupElse = new TreeNode(); - nodeGroupNameElse = "其它"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + initTreeNode(Params); } catch (Exception ex) { @@ -111,88 +94,125 @@ RefreshLayerAndTerrainTree(); } - /// - /// 刷新节点树 - /// - private void RefreshLayerAndTerrainTree() + + private void addLayerTreeNode(int nLayerCount, int nTerrainCount, GSOGlobeControl globcontrol, + TreeView layerTree) { - ////layertree1 - int nLayerCount1 = globeControl1.Globe.Layers.Count; - int nTerrainCount1 = globeControl1.Globe.Terrains.Count; - - for (int i = 0; i < nLayerCount1; i++) + try { - GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer == null) continue; - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; - - bool isContains = false; - for (int j = 0; j < layerTree1.Nodes[0].Nodes.Count; j++) + for (int i = 0; i < nLayerCount; i++) { - if (!layerName.Contains("fttp:")) + GSOLayer layer = globcontrol.Globe.Layers[i]; + if (layer == null) continue; + string layerName = layer.Name; + TreeNode node = new TreeNode(); + node.Tag = layer; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = layer.Caption; + node.Checked = layer.Visible; + + bool isContains = false; + for (int j = 0; j < layerTree.Nodes[0].Nodes.Count; j++) { - if (layerName.Contains(layerTree1.Nodes[0].Nodes[j].Text.Trim()) && !layerName.Contains("施工") && - !layerName.Contains("规划")) + if (!layerName.Contains("fttp:")) { - layerTree1.Nodes[0].Nodes[j].Nodes.Add(node); + switch (layerTree.Name) + { + case "layerTree1": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim()) || + layerName.Contains("施工") || + layerName.Contains("规划")) continue; + break; + case "layerTree2": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim())) continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[j].Nodes.Add(node); + isContains = true; + break; + } + else + { + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 2].Nodes.Add(node); isContains = true; break; } } - else + switch (layerTree.Name) { - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; + case "layerTree1": + if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || + layerName.Contains("标注") || + isContains == true || layerName.Contains("施工") || layerName.Contains("规划") || + layerName.Contains("景观") || layerName.Contains("红线")) + continue; + break; + case "layerTree2": + if (isContains != false || layerName.Contains("tempLgdData2")) + continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 1].Nodes.Add(node); + } + + for (int i = 0; i < nTerrainCount; i++) + { + GSOTerrain terrain = globcontrol.Globe.Terrains[i]; + if (terrain == null) continue; + TreeNode node = new TreeNode(); + node.Tag = terrain; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = terrain.Caption; + node.Checked = terrain.Visible; + switch (layerTree.Name) + { + case "layerTree1": + terrainManagerNode1.Nodes.Add(node); + break; + case "layerTree2": + terrainManagerNode.Nodes.Add(node); + break; + default: + break; } } - if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || layerName.Contains("标注")) - continue; - if (isContains == false && !layerName.Contains("施工") && !layerName.Contains("规划") && - !layerName.Contains("景观") && !layerName.Contains("红线")) - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 1].Nodes.Add(node); } + catch (Exception ex) + { + LogError.PublishError(ex); + } + } + private void initTreeNodeCheckedStatus(TreeView layerTreeView) + { //节点选中状态控制 - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { foreach (TreeNode childNode in node.Nodes) { GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } + if (layer == null || layer.Visible != true) continue; + node.Checked = true; + break; } } - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { if (node.Checked != true) continue; - layerTree1.Nodes[0].Checked = true; + layerTreeView.Nodes[0].Checked = true; break; } - - for (int i = 0; i < nTerrainCount1; i++) - { - GSOTerrain terrain = globeControl1.Globe.Terrains[i]; - if (terrain == null) continue; - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode1.Nodes.Add(node); - } - - foreach (TreeNode node in layerTree1.Nodes[1].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[1].Nodes) { foreach (TreeNode childNode in node.Nodes) { @@ -202,99 +222,10 @@ break; } } - ///layertree2 - int nLayerCount = globeControl2.Globe.Layers.Count; - int nTerrainCount = globeControl2.Globe.Terrains.Count; - //int i = 0; - for (int i = 0; i < nLayerCount; i++) - { - GSOLayer layer = globeControl2.Globe.Layers[i]; - if (layer != null) - { - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; + } - bool isContains = false; - for (int j = 0; j < layerTree2.Nodes[0].Nodes.Count; j++) - { - if (!layerName.Contains("fttp:")) - { - if (layerName.Contains(layerTree2.Nodes[0].Nodes[j].Text.Trim())) - { - layerTree2.Nodes[0].Nodes[j].Nodes.Add(node); - isContains = true; - break; - } - } - else - { - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; - } - } - - if (layerName.Contains("tempLgdData2")) - continue; - if (isContains == false) - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 1].Nodes.Add(node); - } - } - - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - if (node.Checked == true) - { - layerTree2.Nodes[0].Checked = true; - break; - } - } - - for (int i = 0; i < nTerrainCount; i++) - { - GSOTerrain terrain = globeControl2.Globe.Terrains[i]; - if (terrain != null) - { - - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode.Nodes.Add(node); - } - } - foreach (TreeNode node in layerTree2.Nodes[1].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOTerrain layer = childNode.Tag as GSOTerrain; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - // 展开 + void exPandTreeNode() + { layerManagerNode1.Expand(); terrainManagerNode1.Expand(); layerManagerNode.Expand(); @@ -303,76 +234,22 @@ /// /// 刷新节点树 /// - private void RefreshDataTree() + private void RefreshLayerAndTerrainTree() { - layerTree2.Nodes[0].Nodes.Clear(); - Int32 nCount = globeControl2.Globe.Layers.Count; - Int32 i = 0; - for (i = 0; i < nCount; i++) - { - GSODataset dataSpace = globeControl2.Globe.Layers[i].Dataset; - TreeNode node = new TreeNode(); - node.Text = dataSpace.Name; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = true; - node.Tag = dataSpace; - layerTree2.Nodes[0].Nodes.Add(node); - } + int nLayerCount1 = globeControl1.Globe.Layers.Count;//图层 + int nTerrainCount1 = globeControl1.Globe.Terrains.Count;//地形 + addLayerTreeNode(nLayerCount1, nTerrainCount1, globeControl1, layerTree1); + initTreeNodeCheckedStatus(layerTree1); + + int nLayerCount = globeControl2.Globe.Layers.Count; + int nTerrainCount = globeControl2.Globe.Terrains.Count; + addLayerTreeNode(nLayerCount, nTerrainCount, globeControl2, layerTree2); + initTreeNodeCheckedStatus(layerTree2); + + // 展开 + exPandTreeNode(); } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void FeatureAddLayerMenuItem_Click(object sender, EventArgs e) - { - if (!FeatureAddLayerMenuItem.Checked) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - FeatureAddLayerMenuItem.Checked = true; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)node.Tag); - globeControl1.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void LayerSelectableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl1.Globe.Layers[nIndex]; - LayerSelectableMenuItem.Checked = !LayerSelectableMenuItem.Checked; - layer.Selectable = LayerSelectableMenuItem.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void LayerEditableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - LayerEditableMenuItem.Checked = !LayerEditableMenuItem.Checked; - layer.Editable = LayerEditableMenuItem.Checked; - } - /// - /// 保存图层按钮事件处理 - /// - /// - /// - private void SaveLayerMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - string layerCaption = node.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } + /// /// 节点树复选框选中状态改变事件处理 /// @@ -404,7 +281,7 @@ CheckParentNode(e.Node); if (e.Node.Nodes.Count > 0) checkChildrenNodeLayertree2(e.Node, e.Node.Checked); - } + } } /// /// 改变指定节点的子节点的选中状态 @@ -432,26 +309,15 @@ globeControl1.Globe.Refresh(); } if (childNode.Nodes.Count > 0) - { checkChildrenNodeLayertree1(childNode, isChecked); - } } } - private TreeNode queryNode(TreeNode node,string txt) - { - foreach (TreeNode n in node.Nodes) - { - return txt.Equals(n.Text) ? n : queryNode(n, txt); - } - return null; - - } /// /// 改变指定节点的子节点的选中状态 /// /// /// - private void checkChildrenNodeLayertree2(TreeNode parentNode,bool isChecked) + private void checkChildrenNodeLayertree2(TreeNode parentNode, bool isChecked) { foreach (TreeNode childNode in parentNode.Nodes) { @@ -475,121 +341,6 @@ checkChildrenNodeLayertree2(childNode, isChecked); } } - - /// - /// 改变指定节点的选中状态 - /// - /// - /// - private void CheckTreeNode(TreeNode node, Boolean bChecked) - { - CheckChildTreeNode(node, bChecked); - globeControl1.Globe.Refresh(); - globeControl2.Globe.Refresh(); - - } - private void CheckChildTreeNode(TreeNode node, Boolean bChecked) - { - if (node == null) - return; - if (node.Tag != null) - { - if (node.Tag.GetType() == typeof(GSOFeatureFolder) || - node.Tag.GetType() == typeof(GSOFeature)) - ((GSOFeature) node.Tag).SetVisibleDirectly(bChecked); - else - { - GSOLayer curLayer = node.Tag as GSOLayer; - GSOTerrain curTerrain = node.Tag as GSOTerrain; - if (curLayer != null) - curLayer.Visible = bChecked; - else if (curTerrain != null) - curTerrain.Visible = bChecked; - } - } - // 递归处理子节点 - for (int i = 0; i < node.Nodes.Count; i++) - { - node.Nodes[i].Checked = bChecked; - CheckChildTreeNode(node.Nodes[i], bChecked); - } - } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - if (!toolStripMenuItem1.Checked) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - toolStripMenuItem1.Checked = true; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text.ToString()); - globeControl2.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void toolStripMenuItem2_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl2.Globe.Layers[nIndex]; - toolStripMenuItem2.Checked = !toolStripMenuItem2.Checked; - layer.Selectable = toolStripMenuItem2.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void toolStripMenuItem3_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text); - toolStripMenuItem3.Checked = !toolStripMenuItem3.Checked; - layer.Editable = toolStripMenuItem3.Checked; - } - /// - /// 保存按钮事件处理 - /// - /// - /// - private void toolStripMenuItem4_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - - string layerCaption = node.Text; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } - /// - /// 移除图层按钮事件处理 - /// - /// - /// - private void 移除图层ToolStripMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - TreeNode parentNode = node.Parent; - Int32 nIndex = node.Index; - - if (parentNode != layerManagerNode) - globeControl2.Globe.Terrains.Remove(nIndex); - else - { - string layername = globeControl2.Globe.Layers[nIndex].Name; - globeControl2.Globe.Layers.Remove(nIndex); - - globeControl2.Globe.DataManager.DeleteDataSourceByName(layername); - } - node.Remove(); - globeControl2.Globe.Refresh(); - } /// /// 节点树选中状态改变事件 /// @@ -623,91 +374,6 @@ checkChildrenNodeLayertree1(e.Node, e.Node.Checked); } } - - private TreeNode queryNodeFromTree(string txt , TreeView tree) - { - TreeNode node = null; - foreach (TreeNode n in tree.Nodes) - { - if (n.Text.Equals(txt)) - return n; - else - { - node = queryChildNode(txt, n); - if (null != node) - return node; - } - } - return null; - } - - private TreeNode queryChildNode(String txt, TreeNode parent) - { - TreeNode child = null; - foreach (TreeNode node in parent.Nodes) - { - if (txt.Equals(node.Text)) - return node; - else - { - child = queryChildNode(txt, node); - if (null != child) - return child; - } - } - return null; - } - - - /// - /// 树节点选中方法 - /// - /// - private void CheckControl(TreeViewEventArgs e) - { - if (e.Action != TreeViewAction.Unknown) - { - if (e.Node != null && !Convert.IsDBNull(e.Node)) - { - CheckParentNode(e.Node); - if (e.Node.Nodes.Count > 0) - CheckAllChildNodes(e.Node, e.Node.Checked); - } - } - } - /// - /// 改变所有子节点的状态 - /// - /// - /// - private void CheckAllChildNodes(TreeNode pn, bool IsChecked) - { - foreach (TreeNode tn in pn.Nodes) - { - tn.Checked = IsChecked; - if (tn.Tag.ToString().Contains("|")) - { - string nodeTag = tn.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(nodeTag); - if (layer != null) - { - layer.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Tag is GSOFeature) - { - if (tn.Nodes.Count == 0) - { - GSOFeature feat = tn.Tag as GSOFeature; - feat.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Nodes.Count > 0) - CheckAllChildNodes(tn, IsChecked); - } - } /// /// 改变父节点的选中状态,此处为所有子节点不选中时才取消父节点选中,可以根据需要修改 /// @@ -726,7 +392,6 @@ break; } } - if (bChecked) { curNode.Parent.Checked = true; diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/FrmLayerControl.Designer.cs b/FrmLayerControl.Designer.cs index d1ab3e6..35df5d1 100644 --- a/FrmLayerControl.Designer.cs +++ b/FrmLayerControl.Designer.cs @@ -31,27 +31,13 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.layerTree1 = new System.Windows.Forms.TreeView(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.layerTree2 = new System.Windows.Forms.TreeView(); - this.layerNodeContexMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.FeatureAddLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerSelectableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerEditableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.移除图层ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.layerNodeContexMenu.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // layerTree1 @@ -94,90 +80,6 @@ this.layerTree2.TabIndex = 3; this.layerTree2.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree2_AfterCheck); // - // layerNodeContexMenu - // - this.layerNodeContexMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.FeatureAddLayerMenuItem, - this.LayerSelectableMenuItem, - this.LayerEditableMenuItem, - this.SaveLayerMenuItem}); - this.layerNodeContexMenu.Name = "layerNodeContexMenu"; - this.layerNodeContexMenu.Size = new System.Drawing.Size(125, 92); - // - // FeatureAddLayerMenuItem - // - this.FeatureAddLayerMenuItem.Name = "FeatureAddLayerMenuItem"; - this.FeatureAddLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.FeatureAddLayerMenuItem.Text = "目标图层"; - this.FeatureAddLayerMenuItem.Click += new System.EventHandler(this.FeatureAddLayerMenuItem_Click); - // - // LayerSelectableMenuItem - // - this.LayerSelectableMenuItem.Name = "LayerSelectableMenuItem"; - this.LayerSelectableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerSelectableMenuItem.Text = "可选择"; - this.LayerSelectableMenuItem.Click += new System.EventHandler(this.LayerSelectableMenuItem_Click); - // - // LayerEditableMenuItem - // - this.LayerEditableMenuItem.Name = "LayerEditableMenuItem"; - this.LayerEditableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerEditableMenuItem.Text = "可编辑"; - this.LayerEditableMenuItem.Click += new System.EventHandler(this.LayerEditableMenuItem_Click); - // - // SaveLayerMenuItem - // - this.SaveLayerMenuItem.Name = "SaveLayerMenuItem"; - this.SaveLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.SaveLayerMenuItem.Text = "保存"; - this.SaveLayerMenuItem.Click += new System.EventHandler(this.SaveLayerMenuItem_Click); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.移除图层ToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripMenuItem2, - this.toolStripMenuItem3, - this.toolStripMenuItem4}); - this.contextMenuStrip1.Name = "layerNodeContexMenu"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 114); - // - // 移除图层ToolStripMenuItem - // - this.移除图层ToolStripMenuItem.Name = "移除图层ToolStripMenuItem"; - this.移除图层ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); - this.移除图层ToolStripMenuItem.Text = "移除图层"; - this.移除图层ToolStripMenuItem.Click += new System.EventHandler(this.移除图层ToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem1.Text = "目标图层"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem2.Text = "可选择"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem3.Text = "可编辑"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem4.Text = "保存"; - this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); - // // FrmLayerControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -198,8 +100,6 @@ this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); - this.layerNodeContexMenu.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } @@ -209,16 +109,5 @@ private TreeView layerTree1; private SplitContainer splitContainer1; private TreeView layerTree2; - private ContextMenuStrip layerNodeContexMenu; - private ToolStripMenuItem FeatureAddLayerMenuItem; - private ToolStripMenuItem LayerSelectableMenuItem; - private ToolStripMenuItem LayerEditableMenuItem; - private ToolStripMenuItem SaveLayerMenuItem; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem toolStripMenuItem1; - private ToolStripMenuItem toolStripMenuItem2; - private ToolStripMenuItem toolStripMenuItem3; - private ToolStripMenuItem toolStripMenuItem4; - private ToolStripMenuItem 移除图层ToolStripMenuItem; } } \ No newline at end of file diff --git a/FrmLayerControl.cs b/FrmLayerControl.cs index e94e746..052be3a 100644 --- a/FrmLayerControl.cs +++ b/FrmLayerControl.cs @@ -10,9 +10,9 @@ { public partial class FrmLayerControl : Office2007Form { - TreeView treeView1; GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; + TreeNode terrainManagerNode = null; TreeNode layerManagerNode = null; TreeNode terrainManagerNode1 = null; @@ -25,84 +25,67 @@ globeControl2 = ctl2; } - /// - /// 窗体初始化事件处理 - /// - /// - /// - private void FrmLayerControl_Load(object sender, EventArgs e) + private void initLayerTree(out TreeNode treeNode, string strTreeNodeText) { - //加载layertree1 + treeNode=new TreeNode(); + treeNode.ImageIndex = 0; + treeNode.SelectedImageIndex = 0; + treeNode.Checked = false; + treeNode.Text = strTreeNodeText; + } + + private void initTreeView() + { layerTree1.Nodes.Clear(); layerTree2.Nodes.Clear(); //加载layertree2 - layerManagerNode1 = new TreeNode(); - layerManagerNode1.ImageIndex = 0; - layerManagerNode1.SelectedImageIndex = 0; - layerManagerNode1.Checked = false; - layerManagerNode1.Text = "图层管理"; + initLayerTree(out layerManagerNode1, "图层管理"); layerTree1.Nodes.Add(layerManagerNode1); - layerManagerNode = new TreeNode(); - layerManagerNode.ImageIndex = 0; - layerManagerNode.SelectedImageIndex = 0; - layerManagerNode.Checked = false; - layerManagerNode.Text = "图层管理"; - layerTree2.Nodes.Add(layerManagerNode); - - terrainManagerNode1 = new TreeNode(); - terrainManagerNode1.ImageIndex = 0; - terrainManagerNode1.SelectedImageIndex = 0; - terrainManagerNode1.Checked = false; - terrainManagerNode1.Text = "地形管理"; + initLayerTree(out terrainManagerNode1, "地形管理"); layerTree1.Nodes.Add(terrainManagerNode1); - terrainManagerNode = new TreeNode(); - terrainManagerNode.ImageIndex = 0; - terrainManagerNode.SelectedImageIndex = 0; - terrainManagerNode.Checked = false; - terrainManagerNode.Text = "地形管理"; + + initLayerTree(out layerManagerNode, "图层管理"); + layerTree2.Nodes.Add(layerManagerNode); + initLayerTree(out terrainManagerNode, "地形管理"); layerTree2.Nodes.Add(terrainManagerNode); - + } + + private void initNode(string nodeName) + { + TreeNode nodeGroupElse1 = new TreeNode(); + nodeGroupElse1.Text = nodeName; + layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); + + TreeNode nodeGroupElse = new TreeNode(); + nodeGroupElse.Text = nodeName == "供电" ? "电力" : nodeName; + layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + } + + private void initTreeNode(XmlNodeList Params) + { + foreach (XmlNode paramsNode in Params) //layers + { + foreach (XmlNode layerNode in paramsNode) //layer + { + initNode(layerNode.Attributes["label"].Value); + } + } + + initNode("基础图层"); + initNode("其他"); + } + + private void FrmLayerControl_Load(object sender, EventArgs e) + { + initTreeView(); try { XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + "\\双屏设置.xml"); - XmlNodeList Params1 = doc.SelectNodes("/Params/layers"); + XmlNodeList Params = doc.SelectNodes("/Params/layers"); - foreach (XmlNode paramsNode in Params1) //layers - { - foreach (XmlNode layerNode in paramsNode) //layer - { - TreeNode nodeGroup1 = new TreeNode(); - string nodeGroupName1 = layerNode.Attributes["label"].Value; - - nodeGroup1.Text = nodeGroupName1 == "电力" ? "供电" : nodeGroupName1; - - layerTree1.Nodes[0].Nodes.Add(nodeGroup1); - - TreeNode nodeGroup = new TreeNode(); - string nodeGroupName = layerNode.Attributes["label"].Value; - nodeGroup.Text = nodeGroupName; - layerTree2.Nodes[0].Nodes.Add(nodeGroup); - } - } - TreeNode nodeGroupElse1 = new TreeNode(); - string nodeGroupNameElse1 = "基础数据"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - TreeNode nodeGroupElse = new TreeNode(); - string nodeGroupNameElse = "基础数据"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); - - nodeGroupElse1 = new TreeNode(); - nodeGroupNameElse1 = "其它"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - nodeGroupElse = new TreeNode(); - nodeGroupNameElse = "其它"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + initTreeNode(Params); } catch (Exception ex) { @@ -111,88 +94,125 @@ RefreshLayerAndTerrainTree(); } - /// - /// 刷新节点树 - /// - private void RefreshLayerAndTerrainTree() + + private void addLayerTreeNode(int nLayerCount, int nTerrainCount, GSOGlobeControl globcontrol, + TreeView layerTree) { - ////layertree1 - int nLayerCount1 = globeControl1.Globe.Layers.Count; - int nTerrainCount1 = globeControl1.Globe.Terrains.Count; - - for (int i = 0; i < nLayerCount1; i++) + try { - GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer == null) continue; - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; - - bool isContains = false; - for (int j = 0; j < layerTree1.Nodes[0].Nodes.Count; j++) + for (int i = 0; i < nLayerCount; i++) { - if (!layerName.Contains("fttp:")) + GSOLayer layer = globcontrol.Globe.Layers[i]; + if (layer == null) continue; + string layerName = layer.Name; + TreeNode node = new TreeNode(); + node.Tag = layer; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = layer.Caption; + node.Checked = layer.Visible; + + bool isContains = false; + for (int j = 0; j < layerTree.Nodes[0].Nodes.Count; j++) { - if (layerName.Contains(layerTree1.Nodes[0].Nodes[j].Text.Trim()) && !layerName.Contains("施工") && - !layerName.Contains("规划")) + if (!layerName.Contains("fttp:")) { - layerTree1.Nodes[0].Nodes[j].Nodes.Add(node); + switch (layerTree.Name) + { + case "layerTree1": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim()) || + layerName.Contains("施工") || + layerName.Contains("规划")) continue; + break; + case "layerTree2": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim())) continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[j].Nodes.Add(node); + isContains = true; + break; + } + else + { + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 2].Nodes.Add(node); isContains = true; break; } } - else + switch (layerTree.Name) { - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; + case "layerTree1": + if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || + layerName.Contains("标注") || + isContains == true || layerName.Contains("施工") || layerName.Contains("规划") || + layerName.Contains("景观") || layerName.Contains("红线")) + continue; + break; + case "layerTree2": + if (isContains != false || layerName.Contains("tempLgdData2")) + continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 1].Nodes.Add(node); + } + + for (int i = 0; i < nTerrainCount; i++) + { + GSOTerrain terrain = globcontrol.Globe.Terrains[i]; + if (terrain == null) continue; + TreeNode node = new TreeNode(); + node.Tag = terrain; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = terrain.Caption; + node.Checked = terrain.Visible; + switch (layerTree.Name) + { + case "layerTree1": + terrainManagerNode1.Nodes.Add(node); + break; + case "layerTree2": + terrainManagerNode.Nodes.Add(node); + break; + default: + break; } } - if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || layerName.Contains("标注")) - continue; - if (isContains == false && !layerName.Contains("施工") && !layerName.Contains("规划") && - !layerName.Contains("景观") && !layerName.Contains("红线")) - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 1].Nodes.Add(node); } + catch (Exception ex) + { + LogError.PublishError(ex); + } + } + private void initTreeNodeCheckedStatus(TreeView layerTreeView) + { //节点选中状态控制 - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { foreach (TreeNode childNode in node.Nodes) { GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } + if (layer == null || layer.Visible != true) continue; + node.Checked = true; + break; } } - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { if (node.Checked != true) continue; - layerTree1.Nodes[0].Checked = true; + layerTreeView.Nodes[0].Checked = true; break; } - - for (int i = 0; i < nTerrainCount1; i++) - { - GSOTerrain terrain = globeControl1.Globe.Terrains[i]; - if (terrain == null) continue; - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode1.Nodes.Add(node); - } - - foreach (TreeNode node in layerTree1.Nodes[1].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[1].Nodes) { foreach (TreeNode childNode in node.Nodes) { @@ -202,99 +222,10 @@ break; } } - ///layertree2 - int nLayerCount = globeControl2.Globe.Layers.Count; - int nTerrainCount = globeControl2.Globe.Terrains.Count; - //int i = 0; - for (int i = 0; i < nLayerCount; i++) - { - GSOLayer layer = globeControl2.Globe.Layers[i]; - if (layer != null) - { - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; + } - bool isContains = false; - for (int j = 0; j < layerTree2.Nodes[0].Nodes.Count; j++) - { - if (!layerName.Contains("fttp:")) - { - if (layerName.Contains(layerTree2.Nodes[0].Nodes[j].Text.Trim())) - { - layerTree2.Nodes[0].Nodes[j].Nodes.Add(node); - isContains = true; - break; - } - } - else - { - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; - } - } - - if (layerName.Contains("tempLgdData2")) - continue; - if (isContains == false) - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 1].Nodes.Add(node); - } - } - - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - if (node.Checked == true) - { - layerTree2.Nodes[0].Checked = true; - break; - } - } - - for (int i = 0; i < nTerrainCount; i++) - { - GSOTerrain terrain = globeControl2.Globe.Terrains[i]; - if (terrain != null) - { - - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode.Nodes.Add(node); - } - } - foreach (TreeNode node in layerTree2.Nodes[1].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOTerrain layer = childNode.Tag as GSOTerrain; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - // 展开 + void exPandTreeNode() + { layerManagerNode1.Expand(); terrainManagerNode1.Expand(); layerManagerNode.Expand(); @@ -303,76 +234,22 @@ /// /// 刷新节点树 /// - private void RefreshDataTree() + private void RefreshLayerAndTerrainTree() { - layerTree2.Nodes[0].Nodes.Clear(); - Int32 nCount = globeControl2.Globe.Layers.Count; - Int32 i = 0; - for (i = 0; i < nCount; i++) - { - GSODataset dataSpace = globeControl2.Globe.Layers[i].Dataset; - TreeNode node = new TreeNode(); - node.Text = dataSpace.Name; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = true; - node.Tag = dataSpace; - layerTree2.Nodes[0].Nodes.Add(node); - } + int nLayerCount1 = globeControl1.Globe.Layers.Count;//图层 + int nTerrainCount1 = globeControl1.Globe.Terrains.Count;//地形 + addLayerTreeNode(nLayerCount1, nTerrainCount1, globeControl1, layerTree1); + initTreeNodeCheckedStatus(layerTree1); + + int nLayerCount = globeControl2.Globe.Layers.Count; + int nTerrainCount = globeControl2.Globe.Terrains.Count; + addLayerTreeNode(nLayerCount, nTerrainCount, globeControl2, layerTree2); + initTreeNodeCheckedStatus(layerTree2); + + // 展开 + exPandTreeNode(); } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void FeatureAddLayerMenuItem_Click(object sender, EventArgs e) - { - if (!FeatureAddLayerMenuItem.Checked) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - FeatureAddLayerMenuItem.Checked = true; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)node.Tag); - globeControl1.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void LayerSelectableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl1.Globe.Layers[nIndex]; - LayerSelectableMenuItem.Checked = !LayerSelectableMenuItem.Checked; - layer.Selectable = LayerSelectableMenuItem.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void LayerEditableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - LayerEditableMenuItem.Checked = !LayerEditableMenuItem.Checked; - layer.Editable = LayerEditableMenuItem.Checked; - } - /// - /// 保存图层按钮事件处理 - /// - /// - /// - private void SaveLayerMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - string layerCaption = node.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } + /// /// 节点树复选框选中状态改变事件处理 /// @@ -404,7 +281,7 @@ CheckParentNode(e.Node); if (e.Node.Nodes.Count > 0) checkChildrenNodeLayertree2(e.Node, e.Node.Checked); - } + } } /// /// 改变指定节点的子节点的选中状态 @@ -432,26 +309,15 @@ globeControl1.Globe.Refresh(); } if (childNode.Nodes.Count > 0) - { checkChildrenNodeLayertree1(childNode, isChecked); - } } } - private TreeNode queryNode(TreeNode node,string txt) - { - foreach (TreeNode n in node.Nodes) - { - return txt.Equals(n.Text) ? n : queryNode(n, txt); - } - return null; - - } /// /// 改变指定节点的子节点的选中状态 /// /// /// - private void checkChildrenNodeLayertree2(TreeNode parentNode,bool isChecked) + private void checkChildrenNodeLayertree2(TreeNode parentNode, bool isChecked) { foreach (TreeNode childNode in parentNode.Nodes) { @@ -475,121 +341,6 @@ checkChildrenNodeLayertree2(childNode, isChecked); } } - - /// - /// 改变指定节点的选中状态 - /// - /// - /// - private void CheckTreeNode(TreeNode node, Boolean bChecked) - { - CheckChildTreeNode(node, bChecked); - globeControl1.Globe.Refresh(); - globeControl2.Globe.Refresh(); - - } - private void CheckChildTreeNode(TreeNode node, Boolean bChecked) - { - if (node == null) - return; - if (node.Tag != null) - { - if (node.Tag.GetType() == typeof(GSOFeatureFolder) || - node.Tag.GetType() == typeof(GSOFeature)) - ((GSOFeature) node.Tag).SetVisibleDirectly(bChecked); - else - { - GSOLayer curLayer = node.Tag as GSOLayer; - GSOTerrain curTerrain = node.Tag as GSOTerrain; - if (curLayer != null) - curLayer.Visible = bChecked; - else if (curTerrain != null) - curTerrain.Visible = bChecked; - } - } - // 递归处理子节点 - for (int i = 0; i < node.Nodes.Count; i++) - { - node.Nodes[i].Checked = bChecked; - CheckChildTreeNode(node.Nodes[i], bChecked); - } - } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - if (!toolStripMenuItem1.Checked) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - toolStripMenuItem1.Checked = true; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text.ToString()); - globeControl2.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void toolStripMenuItem2_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl2.Globe.Layers[nIndex]; - toolStripMenuItem2.Checked = !toolStripMenuItem2.Checked; - layer.Selectable = toolStripMenuItem2.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void toolStripMenuItem3_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text); - toolStripMenuItem3.Checked = !toolStripMenuItem3.Checked; - layer.Editable = toolStripMenuItem3.Checked; - } - /// - /// 保存按钮事件处理 - /// - /// - /// - private void toolStripMenuItem4_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - - string layerCaption = node.Text; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } - /// - /// 移除图层按钮事件处理 - /// - /// - /// - private void 移除图层ToolStripMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - TreeNode parentNode = node.Parent; - Int32 nIndex = node.Index; - - if (parentNode != layerManagerNode) - globeControl2.Globe.Terrains.Remove(nIndex); - else - { - string layername = globeControl2.Globe.Layers[nIndex].Name; - globeControl2.Globe.Layers.Remove(nIndex); - - globeControl2.Globe.DataManager.DeleteDataSourceByName(layername); - } - node.Remove(); - globeControl2.Globe.Refresh(); - } /// /// 节点树选中状态改变事件 /// @@ -623,91 +374,6 @@ checkChildrenNodeLayertree1(e.Node, e.Node.Checked); } } - - private TreeNode queryNodeFromTree(string txt , TreeView tree) - { - TreeNode node = null; - foreach (TreeNode n in tree.Nodes) - { - if (n.Text.Equals(txt)) - return n; - else - { - node = queryChildNode(txt, n); - if (null != node) - return node; - } - } - return null; - } - - private TreeNode queryChildNode(String txt, TreeNode parent) - { - TreeNode child = null; - foreach (TreeNode node in parent.Nodes) - { - if (txt.Equals(node.Text)) - return node; - else - { - child = queryChildNode(txt, node); - if (null != child) - return child; - } - } - return null; - } - - - /// - /// 树节点选中方法 - /// - /// - private void CheckControl(TreeViewEventArgs e) - { - if (e.Action != TreeViewAction.Unknown) - { - if (e.Node != null && !Convert.IsDBNull(e.Node)) - { - CheckParentNode(e.Node); - if (e.Node.Nodes.Count > 0) - CheckAllChildNodes(e.Node, e.Node.Checked); - } - } - } - /// - /// 改变所有子节点的状态 - /// - /// - /// - private void CheckAllChildNodes(TreeNode pn, bool IsChecked) - { - foreach (TreeNode tn in pn.Nodes) - { - tn.Checked = IsChecked; - if (tn.Tag.ToString().Contains("|")) - { - string nodeTag = tn.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(nodeTag); - if (layer != null) - { - layer.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Tag is GSOFeature) - { - if (tn.Nodes.Count == 0) - { - GSOFeature feat = tn.Tag as GSOFeature; - feat.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Nodes.Count > 0) - CheckAllChildNodes(tn, IsChecked); - } - } /// /// 改变父节点的选中状态,此处为所有子节点不选中时才取消父节点选中,可以根据需要修改 /// @@ -726,7 +392,6 @@ break; } } - if (bChecked) { curNode.Parent.Checked = true; diff --git a/FrmLayerControl.resx b/FrmLayerControl.resx index 34f1053..d58980a 100644 --- a/FrmLayerControl.resx +++ b/FrmLayerControl.resx @@ -117,10 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - - - 206, 17 - \ No newline at end of file diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/FrmLayerControl.Designer.cs b/FrmLayerControl.Designer.cs index d1ab3e6..35df5d1 100644 --- a/FrmLayerControl.Designer.cs +++ b/FrmLayerControl.Designer.cs @@ -31,27 +31,13 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.layerTree1 = new System.Windows.Forms.TreeView(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.layerTree2 = new System.Windows.Forms.TreeView(); - this.layerNodeContexMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.FeatureAddLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerSelectableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerEditableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.移除图层ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.layerNodeContexMenu.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // layerTree1 @@ -94,90 +80,6 @@ this.layerTree2.TabIndex = 3; this.layerTree2.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree2_AfterCheck); // - // layerNodeContexMenu - // - this.layerNodeContexMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.FeatureAddLayerMenuItem, - this.LayerSelectableMenuItem, - this.LayerEditableMenuItem, - this.SaveLayerMenuItem}); - this.layerNodeContexMenu.Name = "layerNodeContexMenu"; - this.layerNodeContexMenu.Size = new System.Drawing.Size(125, 92); - // - // FeatureAddLayerMenuItem - // - this.FeatureAddLayerMenuItem.Name = "FeatureAddLayerMenuItem"; - this.FeatureAddLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.FeatureAddLayerMenuItem.Text = "目标图层"; - this.FeatureAddLayerMenuItem.Click += new System.EventHandler(this.FeatureAddLayerMenuItem_Click); - // - // LayerSelectableMenuItem - // - this.LayerSelectableMenuItem.Name = "LayerSelectableMenuItem"; - this.LayerSelectableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerSelectableMenuItem.Text = "可选择"; - this.LayerSelectableMenuItem.Click += new System.EventHandler(this.LayerSelectableMenuItem_Click); - // - // LayerEditableMenuItem - // - this.LayerEditableMenuItem.Name = "LayerEditableMenuItem"; - this.LayerEditableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerEditableMenuItem.Text = "可编辑"; - this.LayerEditableMenuItem.Click += new System.EventHandler(this.LayerEditableMenuItem_Click); - // - // SaveLayerMenuItem - // - this.SaveLayerMenuItem.Name = "SaveLayerMenuItem"; - this.SaveLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.SaveLayerMenuItem.Text = "保存"; - this.SaveLayerMenuItem.Click += new System.EventHandler(this.SaveLayerMenuItem_Click); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.移除图层ToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripMenuItem2, - this.toolStripMenuItem3, - this.toolStripMenuItem4}); - this.contextMenuStrip1.Name = "layerNodeContexMenu"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 114); - // - // 移除图层ToolStripMenuItem - // - this.移除图层ToolStripMenuItem.Name = "移除图层ToolStripMenuItem"; - this.移除图层ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); - this.移除图层ToolStripMenuItem.Text = "移除图层"; - this.移除图层ToolStripMenuItem.Click += new System.EventHandler(this.移除图层ToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem1.Text = "目标图层"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem2.Text = "可选择"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem3.Text = "可编辑"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem4.Text = "保存"; - this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); - // // FrmLayerControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -198,8 +100,6 @@ this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); - this.layerNodeContexMenu.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } @@ -209,16 +109,5 @@ private TreeView layerTree1; private SplitContainer splitContainer1; private TreeView layerTree2; - private ContextMenuStrip layerNodeContexMenu; - private ToolStripMenuItem FeatureAddLayerMenuItem; - private ToolStripMenuItem LayerSelectableMenuItem; - private ToolStripMenuItem LayerEditableMenuItem; - private ToolStripMenuItem SaveLayerMenuItem; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem toolStripMenuItem1; - private ToolStripMenuItem toolStripMenuItem2; - private ToolStripMenuItem toolStripMenuItem3; - private ToolStripMenuItem toolStripMenuItem4; - private ToolStripMenuItem 移除图层ToolStripMenuItem; } } \ No newline at end of file diff --git a/FrmLayerControl.cs b/FrmLayerControl.cs index e94e746..052be3a 100644 --- a/FrmLayerControl.cs +++ b/FrmLayerControl.cs @@ -10,9 +10,9 @@ { public partial class FrmLayerControl : Office2007Form { - TreeView treeView1; GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; + TreeNode terrainManagerNode = null; TreeNode layerManagerNode = null; TreeNode terrainManagerNode1 = null; @@ -25,84 +25,67 @@ globeControl2 = ctl2; } - /// - /// 窗体初始化事件处理 - /// - /// - /// - private void FrmLayerControl_Load(object sender, EventArgs e) + private void initLayerTree(out TreeNode treeNode, string strTreeNodeText) { - //加载layertree1 + treeNode=new TreeNode(); + treeNode.ImageIndex = 0; + treeNode.SelectedImageIndex = 0; + treeNode.Checked = false; + treeNode.Text = strTreeNodeText; + } + + private void initTreeView() + { layerTree1.Nodes.Clear(); layerTree2.Nodes.Clear(); //加载layertree2 - layerManagerNode1 = new TreeNode(); - layerManagerNode1.ImageIndex = 0; - layerManagerNode1.SelectedImageIndex = 0; - layerManagerNode1.Checked = false; - layerManagerNode1.Text = "图层管理"; + initLayerTree(out layerManagerNode1, "图层管理"); layerTree1.Nodes.Add(layerManagerNode1); - layerManagerNode = new TreeNode(); - layerManagerNode.ImageIndex = 0; - layerManagerNode.SelectedImageIndex = 0; - layerManagerNode.Checked = false; - layerManagerNode.Text = "图层管理"; - layerTree2.Nodes.Add(layerManagerNode); - - terrainManagerNode1 = new TreeNode(); - terrainManagerNode1.ImageIndex = 0; - terrainManagerNode1.SelectedImageIndex = 0; - terrainManagerNode1.Checked = false; - terrainManagerNode1.Text = "地形管理"; + initLayerTree(out terrainManagerNode1, "地形管理"); layerTree1.Nodes.Add(terrainManagerNode1); - terrainManagerNode = new TreeNode(); - terrainManagerNode.ImageIndex = 0; - terrainManagerNode.SelectedImageIndex = 0; - terrainManagerNode.Checked = false; - terrainManagerNode.Text = "地形管理"; + + initLayerTree(out layerManagerNode, "图层管理"); + layerTree2.Nodes.Add(layerManagerNode); + initLayerTree(out terrainManagerNode, "地形管理"); layerTree2.Nodes.Add(terrainManagerNode); - + } + + private void initNode(string nodeName) + { + TreeNode nodeGroupElse1 = new TreeNode(); + nodeGroupElse1.Text = nodeName; + layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); + + TreeNode nodeGroupElse = new TreeNode(); + nodeGroupElse.Text = nodeName == "供电" ? "电力" : nodeName; + layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + } + + private void initTreeNode(XmlNodeList Params) + { + foreach (XmlNode paramsNode in Params) //layers + { + foreach (XmlNode layerNode in paramsNode) //layer + { + initNode(layerNode.Attributes["label"].Value); + } + } + + initNode("基础图层"); + initNode("其他"); + } + + private void FrmLayerControl_Load(object sender, EventArgs e) + { + initTreeView(); try { XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + "\\双屏设置.xml"); - XmlNodeList Params1 = doc.SelectNodes("/Params/layers"); + XmlNodeList Params = doc.SelectNodes("/Params/layers"); - foreach (XmlNode paramsNode in Params1) //layers - { - foreach (XmlNode layerNode in paramsNode) //layer - { - TreeNode nodeGroup1 = new TreeNode(); - string nodeGroupName1 = layerNode.Attributes["label"].Value; - - nodeGroup1.Text = nodeGroupName1 == "电力" ? "供电" : nodeGroupName1; - - layerTree1.Nodes[0].Nodes.Add(nodeGroup1); - - TreeNode nodeGroup = new TreeNode(); - string nodeGroupName = layerNode.Attributes["label"].Value; - nodeGroup.Text = nodeGroupName; - layerTree2.Nodes[0].Nodes.Add(nodeGroup); - } - } - TreeNode nodeGroupElse1 = new TreeNode(); - string nodeGroupNameElse1 = "基础数据"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - TreeNode nodeGroupElse = new TreeNode(); - string nodeGroupNameElse = "基础数据"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); - - nodeGroupElse1 = new TreeNode(); - nodeGroupNameElse1 = "其它"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - nodeGroupElse = new TreeNode(); - nodeGroupNameElse = "其它"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + initTreeNode(Params); } catch (Exception ex) { @@ -111,88 +94,125 @@ RefreshLayerAndTerrainTree(); } - /// - /// 刷新节点树 - /// - private void RefreshLayerAndTerrainTree() + + private void addLayerTreeNode(int nLayerCount, int nTerrainCount, GSOGlobeControl globcontrol, + TreeView layerTree) { - ////layertree1 - int nLayerCount1 = globeControl1.Globe.Layers.Count; - int nTerrainCount1 = globeControl1.Globe.Terrains.Count; - - for (int i = 0; i < nLayerCount1; i++) + try { - GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer == null) continue; - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; - - bool isContains = false; - for (int j = 0; j < layerTree1.Nodes[0].Nodes.Count; j++) + for (int i = 0; i < nLayerCount; i++) { - if (!layerName.Contains("fttp:")) + GSOLayer layer = globcontrol.Globe.Layers[i]; + if (layer == null) continue; + string layerName = layer.Name; + TreeNode node = new TreeNode(); + node.Tag = layer; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = layer.Caption; + node.Checked = layer.Visible; + + bool isContains = false; + for (int j = 0; j < layerTree.Nodes[0].Nodes.Count; j++) { - if (layerName.Contains(layerTree1.Nodes[0].Nodes[j].Text.Trim()) && !layerName.Contains("施工") && - !layerName.Contains("规划")) + if (!layerName.Contains("fttp:")) { - layerTree1.Nodes[0].Nodes[j].Nodes.Add(node); + switch (layerTree.Name) + { + case "layerTree1": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim()) || + layerName.Contains("施工") || + layerName.Contains("规划")) continue; + break; + case "layerTree2": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim())) continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[j].Nodes.Add(node); + isContains = true; + break; + } + else + { + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 2].Nodes.Add(node); isContains = true; break; } } - else + switch (layerTree.Name) { - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; + case "layerTree1": + if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || + layerName.Contains("标注") || + isContains == true || layerName.Contains("施工") || layerName.Contains("规划") || + layerName.Contains("景观") || layerName.Contains("红线")) + continue; + break; + case "layerTree2": + if (isContains != false || layerName.Contains("tempLgdData2")) + continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 1].Nodes.Add(node); + } + + for (int i = 0; i < nTerrainCount; i++) + { + GSOTerrain terrain = globcontrol.Globe.Terrains[i]; + if (terrain == null) continue; + TreeNode node = new TreeNode(); + node.Tag = terrain; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = terrain.Caption; + node.Checked = terrain.Visible; + switch (layerTree.Name) + { + case "layerTree1": + terrainManagerNode1.Nodes.Add(node); + break; + case "layerTree2": + terrainManagerNode.Nodes.Add(node); + break; + default: + break; } } - if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || layerName.Contains("标注")) - continue; - if (isContains == false && !layerName.Contains("施工") && !layerName.Contains("规划") && - !layerName.Contains("景观") && !layerName.Contains("红线")) - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 1].Nodes.Add(node); } + catch (Exception ex) + { + LogError.PublishError(ex); + } + } + private void initTreeNodeCheckedStatus(TreeView layerTreeView) + { //节点选中状态控制 - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { foreach (TreeNode childNode in node.Nodes) { GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } + if (layer == null || layer.Visible != true) continue; + node.Checked = true; + break; } } - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { if (node.Checked != true) continue; - layerTree1.Nodes[0].Checked = true; + layerTreeView.Nodes[0].Checked = true; break; } - - for (int i = 0; i < nTerrainCount1; i++) - { - GSOTerrain terrain = globeControl1.Globe.Terrains[i]; - if (terrain == null) continue; - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode1.Nodes.Add(node); - } - - foreach (TreeNode node in layerTree1.Nodes[1].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[1].Nodes) { foreach (TreeNode childNode in node.Nodes) { @@ -202,99 +222,10 @@ break; } } - ///layertree2 - int nLayerCount = globeControl2.Globe.Layers.Count; - int nTerrainCount = globeControl2.Globe.Terrains.Count; - //int i = 0; - for (int i = 0; i < nLayerCount; i++) - { - GSOLayer layer = globeControl2.Globe.Layers[i]; - if (layer != null) - { - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; + } - bool isContains = false; - for (int j = 0; j < layerTree2.Nodes[0].Nodes.Count; j++) - { - if (!layerName.Contains("fttp:")) - { - if (layerName.Contains(layerTree2.Nodes[0].Nodes[j].Text.Trim())) - { - layerTree2.Nodes[0].Nodes[j].Nodes.Add(node); - isContains = true; - break; - } - } - else - { - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; - } - } - - if (layerName.Contains("tempLgdData2")) - continue; - if (isContains == false) - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 1].Nodes.Add(node); - } - } - - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - if (node.Checked == true) - { - layerTree2.Nodes[0].Checked = true; - break; - } - } - - for (int i = 0; i < nTerrainCount; i++) - { - GSOTerrain terrain = globeControl2.Globe.Terrains[i]; - if (terrain != null) - { - - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode.Nodes.Add(node); - } - } - foreach (TreeNode node in layerTree2.Nodes[1].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOTerrain layer = childNode.Tag as GSOTerrain; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - // 展开 + void exPandTreeNode() + { layerManagerNode1.Expand(); terrainManagerNode1.Expand(); layerManagerNode.Expand(); @@ -303,76 +234,22 @@ /// /// 刷新节点树 /// - private void RefreshDataTree() + private void RefreshLayerAndTerrainTree() { - layerTree2.Nodes[0].Nodes.Clear(); - Int32 nCount = globeControl2.Globe.Layers.Count; - Int32 i = 0; - for (i = 0; i < nCount; i++) - { - GSODataset dataSpace = globeControl2.Globe.Layers[i].Dataset; - TreeNode node = new TreeNode(); - node.Text = dataSpace.Name; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = true; - node.Tag = dataSpace; - layerTree2.Nodes[0].Nodes.Add(node); - } + int nLayerCount1 = globeControl1.Globe.Layers.Count;//图层 + int nTerrainCount1 = globeControl1.Globe.Terrains.Count;//地形 + addLayerTreeNode(nLayerCount1, nTerrainCount1, globeControl1, layerTree1); + initTreeNodeCheckedStatus(layerTree1); + + int nLayerCount = globeControl2.Globe.Layers.Count; + int nTerrainCount = globeControl2.Globe.Terrains.Count; + addLayerTreeNode(nLayerCount, nTerrainCount, globeControl2, layerTree2); + initTreeNodeCheckedStatus(layerTree2); + + // 展开 + exPandTreeNode(); } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void FeatureAddLayerMenuItem_Click(object sender, EventArgs e) - { - if (!FeatureAddLayerMenuItem.Checked) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - FeatureAddLayerMenuItem.Checked = true; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)node.Tag); - globeControl1.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void LayerSelectableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl1.Globe.Layers[nIndex]; - LayerSelectableMenuItem.Checked = !LayerSelectableMenuItem.Checked; - layer.Selectable = LayerSelectableMenuItem.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void LayerEditableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - LayerEditableMenuItem.Checked = !LayerEditableMenuItem.Checked; - layer.Editable = LayerEditableMenuItem.Checked; - } - /// - /// 保存图层按钮事件处理 - /// - /// - /// - private void SaveLayerMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - string layerCaption = node.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } + /// /// 节点树复选框选中状态改变事件处理 /// @@ -404,7 +281,7 @@ CheckParentNode(e.Node); if (e.Node.Nodes.Count > 0) checkChildrenNodeLayertree2(e.Node, e.Node.Checked); - } + } } /// /// 改变指定节点的子节点的选中状态 @@ -432,26 +309,15 @@ globeControl1.Globe.Refresh(); } if (childNode.Nodes.Count > 0) - { checkChildrenNodeLayertree1(childNode, isChecked); - } } } - private TreeNode queryNode(TreeNode node,string txt) - { - foreach (TreeNode n in node.Nodes) - { - return txt.Equals(n.Text) ? n : queryNode(n, txt); - } - return null; - - } /// /// 改变指定节点的子节点的选中状态 /// /// /// - private void checkChildrenNodeLayertree2(TreeNode parentNode,bool isChecked) + private void checkChildrenNodeLayertree2(TreeNode parentNode, bool isChecked) { foreach (TreeNode childNode in parentNode.Nodes) { @@ -475,121 +341,6 @@ checkChildrenNodeLayertree2(childNode, isChecked); } } - - /// - /// 改变指定节点的选中状态 - /// - /// - /// - private void CheckTreeNode(TreeNode node, Boolean bChecked) - { - CheckChildTreeNode(node, bChecked); - globeControl1.Globe.Refresh(); - globeControl2.Globe.Refresh(); - - } - private void CheckChildTreeNode(TreeNode node, Boolean bChecked) - { - if (node == null) - return; - if (node.Tag != null) - { - if (node.Tag.GetType() == typeof(GSOFeatureFolder) || - node.Tag.GetType() == typeof(GSOFeature)) - ((GSOFeature) node.Tag).SetVisibleDirectly(bChecked); - else - { - GSOLayer curLayer = node.Tag as GSOLayer; - GSOTerrain curTerrain = node.Tag as GSOTerrain; - if (curLayer != null) - curLayer.Visible = bChecked; - else if (curTerrain != null) - curTerrain.Visible = bChecked; - } - } - // 递归处理子节点 - for (int i = 0; i < node.Nodes.Count; i++) - { - node.Nodes[i].Checked = bChecked; - CheckChildTreeNode(node.Nodes[i], bChecked); - } - } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - if (!toolStripMenuItem1.Checked) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - toolStripMenuItem1.Checked = true; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text.ToString()); - globeControl2.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void toolStripMenuItem2_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl2.Globe.Layers[nIndex]; - toolStripMenuItem2.Checked = !toolStripMenuItem2.Checked; - layer.Selectable = toolStripMenuItem2.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void toolStripMenuItem3_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text); - toolStripMenuItem3.Checked = !toolStripMenuItem3.Checked; - layer.Editable = toolStripMenuItem3.Checked; - } - /// - /// 保存按钮事件处理 - /// - /// - /// - private void toolStripMenuItem4_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - - string layerCaption = node.Text; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } - /// - /// 移除图层按钮事件处理 - /// - /// - /// - private void 移除图层ToolStripMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - TreeNode parentNode = node.Parent; - Int32 nIndex = node.Index; - - if (parentNode != layerManagerNode) - globeControl2.Globe.Terrains.Remove(nIndex); - else - { - string layername = globeControl2.Globe.Layers[nIndex].Name; - globeControl2.Globe.Layers.Remove(nIndex); - - globeControl2.Globe.DataManager.DeleteDataSourceByName(layername); - } - node.Remove(); - globeControl2.Globe.Refresh(); - } /// /// 节点树选中状态改变事件 /// @@ -623,91 +374,6 @@ checkChildrenNodeLayertree1(e.Node, e.Node.Checked); } } - - private TreeNode queryNodeFromTree(string txt , TreeView tree) - { - TreeNode node = null; - foreach (TreeNode n in tree.Nodes) - { - if (n.Text.Equals(txt)) - return n; - else - { - node = queryChildNode(txt, n); - if (null != node) - return node; - } - } - return null; - } - - private TreeNode queryChildNode(String txt, TreeNode parent) - { - TreeNode child = null; - foreach (TreeNode node in parent.Nodes) - { - if (txt.Equals(node.Text)) - return node; - else - { - child = queryChildNode(txt, node); - if (null != child) - return child; - } - } - return null; - } - - - /// - /// 树节点选中方法 - /// - /// - private void CheckControl(TreeViewEventArgs e) - { - if (e.Action != TreeViewAction.Unknown) - { - if (e.Node != null && !Convert.IsDBNull(e.Node)) - { - CheckParentNode(e.Node); - if (e.Node.Nodes.Count > 0) - CheckAllChildNodes(e.Node, e.Node.Checked); - } - } - } - /// - /// 改变所有子节点的状态 - /// - /// - /// - private void CheckAllChildNodes(TreeNode pn, bool IsChecked) - { - foreach (TreeNode tn in pn.Nodes) - { - tn.Checked = IsChecked; - if (tn.Tag.ToString().Contains("|")) - { - string nodeTag = tn.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(nodeTag); - if (layer != null) - { - layer.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Tag is GSOFeature) - { - if (tn.Nodes.Count == 0) - { - GSOFeature feat = tn.Tag as GSOFeature; - feat.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Nodes.Count > 0) - CheckAllChildNodes(tn, IsChecked); - } - } /// /// 改变父节点的选中状态,此处为所有子节点不选中时才取消父节点选中,可以根据需要修改 /// @@ -726,7 +392,6 @@ break; } } - if (bChecked) { curNode.Parent.Checked = true; diff --git a/FrmLayerControl.resx b/FrmLayerControl.resx index 34f1053..d58980a 100644 --- a/FrmLayerControl.resx +++ b/FrmLayerControl.resx @@ -117,10 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - - - 206, 17 - \ No newline at end of file diff --git a/MainFrm.cs b/MainFrm.cs index 5ea4e0c..e261e8f 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -8770,7 +8770,7 @@ LogManager.saveLog(Utility.userName, buttonItem8.Text); int width = Width; - FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, Utility.m_PipelineLayerNames, Utility.sgPipeLayersNames, width); + FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, width); } /// /// 红线审核导出图片 @@ -8838,6 +8838,7 @@ trackflag = "BSQDuoBianXiangStatis"; globeControl1.Globe.Action = EnumAction3D.TrackPolygon; } + private void btn_check_history_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, btn_check_history.Text); diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/FrmLayerControl.Designer.cs b/FrmLayerControl.Designer.cs index d1ab3e6..35df5d1 100644 --- a/FrmLayerControl.Designer.cs +++ b/FrmLayerControl.Designer.cs @@ -31,27 +31,13 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.layerTree1 = new System.Windows.Forms.TreeView(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.layerTree2 = new System.Windows.Forms.TreeView(); - this.layerNodeContexMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.FeatureAddLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerSelectableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerEditableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.移除图层ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.layerNodeContexMenu.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // layerTree1 @@ -94,90 +80,6 @@ this.layerTree2.TabIndex = 3; this.layerTree2.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree2_AfterCheck); // - // layerNodeContexMenu - // - this.layerNodeContexMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.FeatureAddLayerMenuItem, - this.LayerSelectableMenuItem, - this.LayerEditableMenuItem, - this.SaveLayerMenuItem}); - this.layerNodeContexMenu.Name = "layerNodeContexMenu"; - this.layerNodeContexMenu.Size = new System.Drawing.Size(125, 92); - // - // FeatureAddLayerMenuItem - // - this.FeatureAddLayerMenuItem.Name = "FeatureAddLayerMenuItem"; - this.FeatureAddLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.FeatureAddLayerMenuItem.Text = "目标图层"; - this.FeatureAddLayerMenuItem.Click += new System.EventHandler(this.FeatureAddLayerMenuItem_Click); - // - // LayerSelectableMenuItem - // - this.LayerSelectableMenuItem.Name = "LayerSelectableMenuItem"; - this.LayerSelectableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerSelectableMenuItem.Text = "可选择"; - this.LayerSelectableMenuItem.Click += new System.EventHandler(this.LayerSelectableMenuItem_Click); - // - // LayerEditableMenuItem - // - this.LayerEditableMenuItem.Name = "LayerEditableMenuItem"; - this.LayerEditableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerEditableMenuItem.Text = "可编辑"; - this.LayerEditableMenuItem.Click += new System.EventHandler(this.LayerEditableMenuItem_Click); - // - // SaveLayerMenuItem - // - this.SaveLayerMenuItem.Name = "SaveLayerMenuItem"; - this.SaveLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.SaveLayerMenuItem.Text = "保存"; - this.SaveLayerMenuItem.Click += new System.EventHandler(this.SaveLayerMenuItem_Click); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.移除图层ToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripMenuItem2, - this.toolStripMenuItem3, - this.toolStripMenuItem4}); - this.contextMenuStrip1.Name = "layerNodeContexMenu"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 114); - // - // 移除图层ToolStripMenuItem - // - this.移除图层ToolStripMenuItem.Name = "移除图层ToolStripMenuItem"; - this.移除图层ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); - this.移除图层ToolStripMenuItem.Text = "移除图层"; - this.移除图层ToolStripMenuItem.Click += new System.EventHandler(this.移除图层ToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem1.Text = "目标图层"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem2.Text = "可选择"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem3.Text = "可编辑"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem4.Text = "保存"; - this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); - // // FrmLayerControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -198,8 +100,6 @@ this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); - this.layerNodeContexMenu.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } @@ -209,16 +109,5 @@ private TreeView layerTree1; private SplitContainer splitContainer1; private TreeView layerTree2; - private ContextMenuStrip layerNodeContexMenu; - private ToolStripMenuItem FeatureAddLayerMenuItem; - private ToolStripMenuItem LayerSelectableMenuItem; - private ToolStripMenuItem LayerEditableMenuItem; - private ToolStripMenuItem SaveLayerMenuItem; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem toolStripMenuItem1; - private ToolStripMenuItem toolStripMenuItem2; - private ToolStripMenuItem toolStripMenuItem3; - private ToolStripMenuItem toolStripMenuItem4; - private ToolStripMenuItem 移除图层ToolStripMenuItem; } } \ No newline at end of file diff --git a/FrmLayerControl.cs b/FrmLayerControl.cs index e94e746..052be3a 100644 --- a/FrmLayerControl.cs +++ b/FrmLayerControl.cs @@ -10,9 +10,9 @@ { public partial class FrmLayerControl : Office2007Form { - TreeView treeView1; GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; + TreeNode terrainManagerNode = null; TreeNode layerManagerNode = null; TreeNode terrainManagerNode1 = null; @@ -25,84 +25,67 @@ globeControl2 = ctl2; } - /// - /// 窗体初始化事件处理 - /// - /// - /// - private void FrmLayerControl_Load(object sender, EventArgs e) + private void initLayerTree(out TreeNode treeNode, string strTreeNodeText) { - //加载layertree1 + treeNode=new TreeNode(); + treeNode.ImageIndex = 0; + treeNode.SelectedImageIndex = 0; + treeNode.Checked = false; + treeNode.Text = strTreeNodeText; + } + + private void initTreeView() + { layerTree1.Nodes.Clear(); layerTree2.Nodes.Clear(); //加载layertree2 - layerManagerNode1 = new TreeNode(); - layerManagerNode1.ImageIndex = 0; - layerManagerNode1.SelectedImageIndex = 0; - layerManagerNode1.Checked = false; - layerManagerNode1.Text = "图层管理"; + initLayerTree(out layerManagerNode1, "图层管理"); layerTree1.Nodes.Add(layerManagerNode1); - layerManagerNode = new TreeNode(); - layerManagerNode.ImageIndex = 0; - layerManagerNode.SelectedImageIndex = 0; - layerManagerNode.Checked = false; - layerManagerNode.Text = "图层管理"; - layerTree2.Nodes.Add(layerManagerNode); - - terrainManagerNode1 = new TreeNode(); - terrainManagerNode1.ImageIndex = 0; - terrainManagerNode1.SelectedImageIndex = 0; - terrainManagerNode1.Checked = false; - terrainManagerNode1.Text = "地形管理"; + initLayerTree(out terrainManagerNode1, "地形管理"); layerTree1.Nodes.Add(terrainManagerNode1); - terrainManagerNode = new TreeNode(); - terrainManagerNode.ImageIndex = 0; - terrainManagerNode.SelectedImageIndex = 0; - terrainManagerNode.Checked = false; - terrainManagerNode.Text = "地形管理"; + + initLayerTree(out layerManagerNode, "图层管理"); + layerTree2.Nodes.Add(layerManagerNode); + initLayerTree(out terrainManagerNode, "地形管理"); layerTree2.Nodes.Add(terrainManagerNode); - + } + + private void initNode(string nodeName) + { + TreeNode nodeGroupElse1 = new TreeNode(); + nodeGroupElse1.Text = nodeName; + layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); + + TreeNode nodeGroupElse = new TreeNode(); + nodeGroupElse.Text = nodeName == "供电" ? "电力" : nodeName; + layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + } + + private void initTreeNode(XmlNodeList Params) + { + foreach (XmlNode paramsNode in Params) //layers + { + foreach (XmlNode layerNode in paramsNode) //layer + { + initNode(layerNode.Attributes["label"].Value); + } + } + + initNode("基础图层"); + initNode("其他"); + } + + private void FrmLayerControl_Load(object sender, EventArgs e) + { + initTreeView(); try { XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + "\\双屏设置.xml"); - XmlNodeList Params1 = doc.SelectNodes("/Params/layers"); + XmlNodeList Params = doc.SelectNodes("/Params/layers"); - foreach (XmlNode paramsNode in Params1) //layers - { - foreach (XmlNode layerNode in paramsNode) //layer - { - TreeNode nodeGroup1 = new TreeNode(); - string nodeGroupName1 = layerNode.Attributes["label"].Value; - - nodeGroup1.Text = nodeGroupName1 == "电力" ? "供电" : nodeGroupName1; - - layerTree1.Nodes[0].Nodes.Add(nodeGroup1); - - TreeNode nodeGroup = new TreeNode(); - string nodeGroupName = layerNode.Attributes["label"].Value; - nodeGroup.Text = nodeGroupName; - layerTree2.Nodes[0].Nodes.Add(nodeGroup); - } - } - TreeNode nodeGroupElse1 = new TreeNode(); - string nodeGroupNameElse1 = "基础数据"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - TreeNode nodeGroupElse = new TreeNode(); - string nodeGroupNameElse = "基础数据"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); - - nodeGroupElse1 = new TreeNode(); - nodeGroupNameElse1 = "其它"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - nodeGroupElse = new TreeNode(); - nodeGroupNameElse = "其它"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + initTreeNode(Params); } catch (Exception ex) { @@ -111,88 +94,125 @@ RefreshLayerAndTerrainTree(); } - /// - /// 刷新节点树 - /// - private void RefreshLayerAndTerrainTree() + + private void addLayerTreeNode(int nLayerCount, int nTerrainCount, GSOGlobeControl globcontrol, + TreeView layerTree) { - ////layertree1 - int nLayerCount1 = globeControl1.Globe.Layers.Count; - int nTerrainCount1 = globeControl1.Globe.Terrains.Count; - - for (int i = 0; i < nLayerCount1; i++) + try { - GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer == null) continue; - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; - - bool isContains = false; - for (int j = 0; j < layerTree1.Nodes[0].Nodes.Count; j++) + for (int i = 0; i < nLayerCount; i++) { - if (!layerName.Contains("fttp:")) + GSOLayer layer = globcontrol.Globe.Layers[i]; + if (layer == null) continue; + string layerName = layer.Name; + TreeNode node = new TreeNode(); + node.Tag = layer; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = layer.Caption; + node.Checked = layer.Visible; + + bool isContains = false; + for (int j = 0; j < layerTree.Nodes[0].Nodes.Count; j++) { - if (layerName.Contains(layerTree1.Nodes[0].Nodes[j].Text.Trim()) && !layerName.Contains("施工") && - !layerName.Contains("规划")) + if (!layerName.Contains("fttp:")) { - layerTree1.Nodes[0].Nodes[j].Nodes.Add(node); + switch (layerTree.Name) + { + case "layerTree1": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim()) || + layerName.Contains("施工") || + layerName.Contains("规划")) continue; + break; + case "layerTree2": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim())) continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[j].Nodes.Add(node); + isContains = true; + break; + } + else + { + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 2].Nodes.Add(node); isContains = true; break; } } - else + switch (layerTree.Name) { - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; + case "layerTree1": + if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || + layerName.Contains("标注") || + isContains == true || layerName.Contains("施工") || layerName.Contains("规划") || + layerName.Contains("景观") || layerName.Contains("红线")) + continue; + break; + case "layerTree2": + if (isContains != false || layerName.Contains("tempLgdData2")) + continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 1].Nodes.Add(node); + } + + for (int i = 0; i < nTerrainCount; i++) + { + GSOTerrain terrain = globcontrol.Globe.Terrains[i]; + if (terrain == null) continue; + TreeNode node = new TreeNode(); + node.Tag = terrain; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = terrain.Caption; + node.Checked = terrain.Visible; + switch (layerTree.Name) + { + case "layerTree1": + terrainManagerNode1.Nodes.Add(node); + break; + case "layerTree2": + terrainManagerNode.Nodes.Add(node); + break; + default: + break; } } - if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || layerName.Contains("标注")) - continue; - if (isContains == false && !layerName.Contains("施工") && !layerName.Contains("规划") && - !layerName.Contains("景观") && !layerName.Contains("红线")) - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 1].Nodes.Add(node); } + catch (Exception ex) + { + LogError.PublishError(ex); + } + } + private void initTreeNodeCheckedStatus(TreeView layerTreeView) + { //节点选中状态控制 - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { foreach (TreeNode childNode in node.Nodes) { GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } + if (layer == null || layer.Visible != true) continue; + node.Checked = true; + break; } } - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { if (node.Checked != true) continue; - layerTree1.Nodes[0].Checked = true; + layerTreeView.Nodes[0].Checked = true; break; } - - for (int i = 0; i < nTerrainCount1; i++) - { - GSOTerrain terrain = globeControl1.Globe.Terrains[i]; - if (terrain == null) continue; - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode1.Nodes.Add(node); - } - - foreach (TreeNode node in layerTree1.Nodes[1].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[1].Nodes) { foreach (TreeNode childNode in node.Nodes) { @@ -202,99 +222,10 @@ break; } } - ///layertree2 - int nLayerCount = globeControl2.Globe.Layers.Count; - int nTerrainCount = globeControl2.Globe.Terrains.Count; - //int i = 0; - for (int i = 0; i < nLayerCount; i++) - { - GSOLayer layer = globeControl2.Globe.Layers[i]; - if (layer != null) - { - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; + } - bool isContains = false; - for (int j = 0; j < layerTree2.Nodes[0].Nodes.Count; j++) - { - if (!layerName.Contains("fttp:")) - { - if (layerName.Contains(layerTree2.Nodes[0].Nodes[j].Text.Trim())) - { - layerTree2.Nodes[0].Nodes[j].Nodes.Add(node); - isContains = true; - break; - } - } - else - { - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; - } - } - - if (layerName.Contains("tempLgdData2")) - continue; - if (isContains == false) - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 1].Nodes.Add(node); - } - } - - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - if (node.Checked == true) - { - layerTree2.Nodes[0].Checked = true; - break; - } - } - - for (int i = 0; i < nTerrainCount; i++) - { - GSOTerrain terrain = globeControl2.Globe.Terrains[i]; - if (terrain != null) - { - - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode.Nodes.Add(node); - } - } - foreach (TreeNode node in layerTree2.Nodes[1].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOTerrain layer = childNode.Tag as GSOTerrain; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - // 展开 + void exPandTreeNode() + { layerManagerNode1.Expand(); terrainManagerNode1.Expand(); layerManagerNode.Expand(); @@ -303,76 +234,22 @@ /// /// 刷新节点树 /// - private void RefreshDataTree() + private void RefreshLayerAndTerrainTree() { - layerTree2.Nodes[0].Nodes.Clear(); - Int32 nCount = globeControl2.Globe.Layers.Count; - Int32 i = 0; - for (i = 0; i < nCount; i++) - { - GSODataset dataSpace = globeControl2.Globe.Layers[i].Dataset; - TreeNode node = new TreeNode(); - node.Text = dataSpace.Name; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = true; - node.Tag = dataSpace; - layerTree2.Nodes[0].Nodes.Add(node); - } + int nLayerCount1 = globeControl1.Globe.Layers.Count;//图层 + int nTerrainCount1 = globeControl1.Globe.Terrains.Count;//地形 + addLayerTreeNode(nLayerCount1, nTerrainCount1, globeControl1, layerTree1); + initTreeNodeCheckedStatus(layerTree1); + + int nLayerCount = globeControl2.Globe.Layers.Count; + int nTerrainCount = globeControl2.Globe.Terrains.Count; + addLayerTreeNode(nLayerCount, nTerrainCount, globeControl2, layerTree2); + initTreeNodeCheckedStatus(layerTree2); + + // 展开 + exPandTreeNode(); } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void FeatureAddLayerMenuItem_Click(object sender, EventArgs e) - { - if (!FeatureAddLayerMenuItem.Checked) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - FeatureAddLayerMenuItem.Checked = true; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)node.Tag); - globeControl1.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void LayerSelectableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl1.Globe.Layers[nIndex]; - LayerSelectableMenuItem.Checked = !LayerSelectableMenuItem.Checked; - layer.Selectable = LayerSelectableMenuItem.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void LayerEditableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - LayerEditableMenuItem.Checked = !LayerEditableMenuItem.Checked; - layer.Editable = LayerEditableMenuItem.Checked; - } - /// - /// 保存图层按钮事件处理 - /// - /// - /// - private void SaveLayerMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - string layerCaption = node.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } + /// /// 节点树复选框选中状态改变事件处理 /// @@ -404,7 +281,7 @@ CheckParentNode(e.Node); if (e.Node.Nodes.Count > 0) checkChildrenNodeLayertree2(e.Node, e.Node.Checked); - } + } } /// /// 改变指定节点的子节点的选中状态 @@ -432,26 +309,15 @@ globeControl1.Globe.Refresh(); } if (childNode.Nodes.Count > 0) - { checkChildrenNodeLayertree1(childNode, isChecked); - } } } - private TreeNode queryNode(TreeNode node,string txt) - { - foreach (TreeNode n in node.Nodes) - { - return txt.Equals(n.Text) ? n : queryNode(n, txt); - } - return null; - - } /// /// 改变指定节点的子节点的选中状态 /// /// /// - private void checkChildrenNodeLayertree2(TreeNode parentNode,bool isChecked) + private void checkChildrenNodeLayertree2(TreeNode parentNode, bool isChecked) { foreach (TreeNode childNode in parentNode.Nodes) { @@ -475,121 +341,6 @@ checkChildrenNodeLayertree2(childNode, isChecked); } } - - /// - /// 改变指定节点的选中状态 - /// - /// - /// - private void CheckTreeNode(TreeNode node, Boolean bChecked) - { - CheckChildTreeNode(node, bChecked); - globeControl1.Globe.Refresh(); - globeControl2.Globe.Refresh(); - - } - private void CheckChildTreeNode(TreeNode node, Boolean bChecked) - { - if (node == null) - return; - if (node.Tag != null) - { - if (node.Tag.GetType() == typeof(GSOFeatureFolder) || - node.Tag.GetType() == typeof(GSOFeature)) - ((GSOFeature) node.Tag).SetVisibleDirectly(bChecked); - else - { - GSOLayer curLayer = node.Tag as GSOLayer; - GSOTerrain curTerrain = node.Tag as GSOTerrain; - if (curLayer != null) - curLayer.Visible = bChecked; - else if (curTerrain != null) - curTerrain.Visible = bChecked; - } - } - // 递归处理子节点 - for (int i = 0; i < node.Nodes.Count; i++) - { - node.Nodes[i].Checked = bChecked; - CheckChildTreeNode(node.Nodes[i], bChecked); - } - } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - if (!toolStripMenuItem1.Checked) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - toolStripMenuItem1.Checked = true; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text.ToString()); - globeControl2.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void toolStripMenuItem2_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl2.Globe.Layers[nIndex]; - toolStripMenuItem2.Checked = !toolStripMenuItem2.Checked; - layer.Selectable = toolStripMenuItem2.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void toolStripMenuItem3_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text); - toolStripMenuItem3.Checked = !toolStripMenuItem3.Checked; - layer.Editable = toolStripMenuItem3.Checked; - } - /// - /// 保存按钮事件处理 - /// - /// - /// - private void toolStripMenuItem4_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - - string layerCaption = node.Text; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } - /// - /// 移除图层按钮事件处理 - /// - /// - /// - private void 移除图层ToolStripMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - TreeNode parentNode = node.Parent; - Int32 nIndex = node.Index; - - if (parentNode != layerManagerNode) - globeControl2.Globe.Terrains.Remove(nIndex); - else - { - string layername = globeControl2.Globe.Layers[nIndex].Name; - globeControl2.Globe.Layers.Remove(nIndex); - - globeControl2.Globe.DataManager.DeleteDataSourceByName(layername); - } - node.Remove(); - globeControl2.Globe.Refresh(); - } /// /// 节点树选中状态改变事件 /// @@ -623,91 +374,6 @@ checkChildrenNodeLayertree1(e.Node, e.Node.Checked); } } - - private TreeNode queryNodeFromTree(string txt , TreeView tree) - { - TreeNode node = null; - foreach (TreeNode n in tree.Nodes) - { - if (n.Text.Equals(txt)) - return n; - else - { - node = queryChildNode(txt, n); - if (null != node) - return node; - } - } - return null; - } - - private TreeNode queryChildNode(String txt, TreeNode parent) - { - TreeNode child = null; - foreach (TreeNode node in parent.Nodes) - { - if (txt.Equals(node.Text)) - return node; - else - { - child = queryChildNode(txt, node); - if (null != child) - return child; - } - } - return null; - } - - - /// - /// 树节点选中方法 - /// - /// - private void CheckControl(TreeViewEventArgs e) - { - if (e.Action != TreeViewAction.Unknown) - { - if (e.Node != null && !Convert.IsDBNull(e.Node)) - { - CheckParentNode(e.Node); - if (e.Node.Nodes.Count > 0) - CheckAllChildNodes(e.Node, e.Node.Checked); - } - } - } - /// - /// 改变所有子节点的状态 - /// - /// - /// - private void CheckAllChildNodes(TreeNode pn, bool IsChecked) - { - foreach (TreeNode tn in pn.Nodes) - { - tn.Checked = IsChecked; - if (tn.Tag.ToString().Contains("|")) - { - string nodeTag = tn.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(nodeTag); - if (layer != null) - { - layer.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Tag is GSOFeature) - { - if (tn.Nodes.Count == 0) - { - GSOFeature feat = tn.Tag as GSOFeature; - feat.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Nodes.Count > 0) - CheckAllChildNodes(tn, IsChecked); - } - } /// /// 改变父节点的选中状态,此处为所有子节点不选中时才取消父节点选中,可以根据需要修改 /// @@ -726,7 +392,6 @@ break; } } - if (bChecked) { curNode.Parent.Checked = true; diff --git a/FrmLayerControl.resx b/FrmLayerControl.resx index 34f1053..d58980a 100644 --- a/FrmLayerControl.resx +++ b/FrmLayerControl.resx @@ -117,10 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - - - 206, 17 - \ No newline at end of file diff --git a/MainFrm.cs b/MainFrm.cs index 5ea4e0c..e261e8f 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -8770,7 +8770,7 @@ LogManager.saveLog(Utility.userName, buttonItem8.Text); int width = Width; - FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, Utility.m_PipelineLayerNames, Utility.sgPipeLayersNames, width); + FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, width); } /// /// 红线审核导出图片 @@ -8838,6 +8838,7 @@ trackflag = "BSQDuoBianXiangStatis"; globeControl1.Globe.Action = EnumAction3D.TrackPolygon; } + private void btn_check_history_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, btn_check_history.Text); diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 9c3c430..93a213d 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -2009,7 +2009,6 @@ // timer1 // this.timer1.Interval = 500; - //this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // // layerNodeContexMenu // @@ -2284,11 +2283,11 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); + this.ribbonControl1.Controls.Add(this.ribbonPanel15); + this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel12); this.ribbonControl1.Controls.Add(this.ribbonPanel1); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2357,6 +2356,7 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; + this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -3926,7 +3926,6 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; - this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -4469,6 +4468,7 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -4489,7 +4489,6 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5484,7 +5483,7 @@ this.dataGridViewX2.ReadOnly = true; this.dataGridViewX2.RowHeadersVisible = false; this.dataGridViewX2.RowTemplate.Height = 23; - this.dataGridViewX2.Size = new System.Drawing.Size(21874, 92); + this.dataGridViewX2.Size = new System.Drawing.Size(22171, 92); this.dataGridViewX2.TabIndex = 11; // // dataGridViewTextBoxColumn10 @@ -5578,7 +5577,7 @@ this.dataGridViewX3.ReadOnly = true; this.dataGridViewX3.RowHeadersVisible = false; this.dataGridViewX3.RowTemplate.Height = 23; - this.dataGridViewX3.Size = new System.Drawing.Size(21873, 127); + this.dataGridViewX3.Size = new System.Drawing.Size(22170, 127); this.dataGridViewX3.TabIndex = 5; this.dataGridViewX3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX3_MouseDoubleClick); // @@ -5836,7 +5835,7 @@ this.dataGridViewX8.ReadOnly = true; this.dataGridViewX8.RowHeadersVisible = false; this.dataGridViewX8.RowTemplate.Height = 23; - this.dataGridViewX8.Size = new System.Drawing.Size(40, 92); + this.dataGridViewX8.Size = new System.Drawing.Size(23, 92); this.dataGridViewX8.TabIndex = 11; // // dataGridViewTextBoxColumn12 @@ -5931,7 +5930,7 @@ this.dataGridViewX9.ReadOnly = true; this.dataGridViewX9.RowHeadersVisible = false; this.dataGridViewX9.RowTemplate.Height = 23; - this.dataGridViewX9.Size = new System.Drawing.Size(39, 127); + this.dataGridViewX9.Size = new System.Drawing.Size(22, 127); this.dataGridViewX9.TabIndex = 5; this.dataGridViewX9.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX9_MouseDoubleClick); // diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/FrmLayerControl.Designer.cs b/FrmLayerControl.Designer.cs index d1ab3e6..35df5d1 100644 --- a/FrmLayerControl.Designer.cs +++ b/FrmLayerControl.Designer.cs @@ -31,27 +31,13 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.layerTree1 = new System.Windows.Forms.TreeView(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.layerTree2 = new System.Windows.Forms.TreeView(); - this.layerNodeContexMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.FeatureAddLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerSelectableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerEditableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.移除图层ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.layerNodeContexMenu.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // layerTree1 @@ -94,90 +80,6 @@ this.layerTree2.TabIndex = 3; this.layerTree2.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree2_AfterCheck); // - // layerNodeContexMenu - // - this.layerNodeContexMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.FeatureAddLayerMenuItem, - this.LayerSelectableMenuItem, - this.LayerEditableMenuItem, - this.SaveLayerMenuItem}); - this.layerNodeContexMenu.Name = "layerNodeContexMenu"; - this.layerNodeContexMenu.Size = new System.Drawing.Size(125, 92); - // - // FeatureAddLayerMenuItem - // - this.FeatureAddLayerMenuItem.Name = "FeatureAddLayerMenuItem"; - this.FeatureAddLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.FeatureAddLayerMenuItem.Text = "目标图层"; - this.FeatureAddLayerMenuItem.Click += new System.EventHandler(this.FeatureAddLayerMenuItem_Click); - // - // LayerSelectableMenuItem - // - this.LayerSelectableMenuItem.Name = "LayerSelectableMenuItem"; - this.LayerSelectableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerSelectableMenuItem.Text = "可选择"; - this.LayerSelectableMenuItem.Click += new System.EventHandler(this.LayerSelectableMenuItem_Click); - // - // LayerEditableMenuItem - // - this.LayerEditableMenuItem.Name = "LayerEditableMenuItem"; - this.LayerEditableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerEditableMenuItem.Text = "可编辑"; - this.LayerEditableMenuItem.Click += new System.EventHandler(this.LayerEditableMenuItem_Click); - // - // SaveLayerMenuItem - // - this.SaveLayerMenuItem.Name = "SaveLayerMenuItem"; - this.SaveLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.SaveLayerMenuItem.Text = "保存"; - this.SaveLayerMenuItem.Click += new System.EventHandler(this.SaveLayerMenuItem_Click); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.移除图层ToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripMenuItem2, - this.toolStripMenuItem3, - this.toolStripMenuItem4}); - this.contextMenuStrip1.Name = "layerNodeContexMenu"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 114); - // - // 移除图层ToolStripMenuItem - // - this.移除图层ToolStripMenuItem.Name = "移除图层ToolStripMenuItem"; - this.移除图层ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); - this.移除图层ToolStripMenuItem.Text = "移除图层"; - this.移除图层ToolStripMenuItem.Click += new System.EventHandler(this.移除图层ToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem1.Text = "目标图层"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem2.Text = "可选择"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem3.Text = "可编辑"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem4.Text = "保存"; - this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); - // // FrmLayerControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -198,8 +100,6 @@ this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); - this.layerNodeContexMenu.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } @@ -209,16 +109,5 @@ private TreeView layerTree1; private SplitContainer splitContainer1; private TreeView layerTree2; - private ContextMenuStrip layerNodeContexMenu; - private ToolStripMenuItem FeatureAddLayerMenuItem; - private ToolStripMenuItem LayerSelectableMenuItem; - private ToolStripMenuItem LayerEditableMenuItem; - private ToolStripMenuItem SaveLayerMenuItem; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem toolStripMenuItem1; - private ToolStripMenuItem toolStripMenuItem2; - private ToolStripMenuItem toolStripMenuItem3; - private ToolStripMenuItem toolStripMenuItem4; - private ToolStripMenuItem 移除图层ToolStripMenuItem; } } \ No newline at end of file diff --git a/FrmLayerControl.cs b/FrmLayerControl.cs index e94e746..052be3a 100644 --- a/FrmLayerControl.cs +++ b/FrmLayerControl.cs @@ -10,9 +10,9 @@ { public partial class FrmLayerControl : Office2007Form { - TreeView treeView1; GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; + TreeNode terrainManagerNode = null; TreeNode layerManagerNode = null; TreeNode terrainManagerNode1 = null; @@ -25,84 +25,67 @@ globeControl2 = ctl2; } - /// - /// 窗体初始化事件处理 - /// - /// - /// - private void FrmLayerControl_Load(object sender, EventArgs e) + private void initLayerTree(out TreeNode treeNode, string strTreeNodeText) { - //加载layertree1 + treeNode=new TreeNode(); + treeNode.ImageIndex = 0; + treeNode.SelectedImageIndex = 0; + treeNode.Checked = false; + treeNode.Text = strTreeNodeText; + } + + private void initTreeView() + { layerTree1.Nodes.Clear(); layerTree2.Nodes.Clear(); //加载layertree2 - layerManagerNode1 = new TreeNode(); - layerManagerNode1.ImageIndex = 0; - layerManagerNode1.SelectedImageIndex = 0; - layerManagerNode1.Checked = false; - layerManagerNode1.Text = "图层管理"; + initLayerTree(out layerManagerNode1, "图层管理"); layerTree1.Nodes.Add(layerManagerNode1); - layerManagerNode = new TreeNode(); - layerManagerNode.ImageIndex = 0; - layerManagerNode.SelectedImageIndex = 0; - layerManagerNode.Checked = false; - layerManagerNode.Text = "图层管理"; - layerTree2.Nodes.Add(layerManagerNode); - - terrainManagerNode1 = new TreeNode(); - terrainManagerNode1.ImageIndex = 0; - terrainManagerNode1.SelectedImageIndex = 0; - terrainManagerNode1.Checked = false; - terrainManagerNode1.Text = "地形管理"; + initLayerTree(out terrainManagerNode1, "地形管理"); layerTree1.Nodes.Add(terrainManagerNode1); - terrainManagerNode = new TreeNode(); - terrainManagerNode.ImageIndex = 0; - terrainManagerNode.SelectedImageIndex = 0; - terrainManagerNode.Checked = false; - terrainManagerNode.Text = "地形管理"; + + initLayerTree(out layerManagerNode, "图层管理"); + layerTree2.Nodes.Add(layerManagerNode); + initLayerTree(out terrainManagerNode, "地形管理"); layerTree2.Nodes.Add(terrainManagerNode); - + } + + private void initNode(string nodeName) + { + TreeNode nodeGroupElse1 = new TreeNode(); + nodeGroupElse1.Text = nodeName; + layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); + + TreeNode nodeGroupElse = new TreeNode(); + nodeGroupElse.Text = nodeName == "供电" ? "电力" : nodeName; + layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + } + + private void initTreeNode(XmlNodeList Params) + { + foreach (XmlNode paramsNode in Params) //layers + { + foreach (XmlNode layerNode in paramsNode) //layer + { + initNode(layerNode.Attributes["label"].Value); + } + } + + initNode("基础图层"); + initNode("其他"); + } + + private void FrmLayerControl_Load(object sender, EventArgs e) + { + initTreeView(); try { XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + "\\双屏设置.xml"); - XmlNodeList Params1 = doc.SelectNodes("/Params/layers"); + XmlNodeList Params = doc.SelectNodes("/Params/layers"); - foreach (XmlNode paramsNode in Params1) //layers - { - foreach (XmlNode layerNode in paramsNode) //layer - { - TreeNode nodeGroup1 = new TreeNode(); - string nodeGroupName1 = layerNode.Attributes["label"].Value; - - nodeGroup1.Text = nodeGroupName1 == "电力" ? "供电" : nodeGroupName1; - - layerTree1.Nodes[0].Nodes.Add(nodeGroup1); - - TreeNode nodeGroup = new TreeNode(); - string nodeGroupName = layerNode.Attributes["label"].Value; - nodeGroup.Text = nodeGroupName; - layerTree2.Nodes[0].Nodes.Add(nodeGroup); - } - } - TreeNode nodeGroupElse1 = new TreeNode(); - string nodeGroupNameElse1 = "基础数据"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - TreeNode nodeGroupElse = new TreeNode(); - string nodeGroupNameElse = "基础数据"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); - - nodeGroupElse1 = new TreeNode(); - nodeGroupNameElse1 = "其它"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - nodeGroupElse = new TreeNode(); - nodeGroupNameElse = "其它"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + initTreeNode(Params); } catch (Exception ex) { @@ -111,88 +94,125 @@ RefreshLayerAndTerrainTree(); } - /// - /// 刷新节点树 - /// - private void RefreshLayerAndTerrainTree() + + private void addLayerTreeNode(int nLayerCount, int nTerrainCount, GSOGlobeControl globcontrol, + TreeView layerTree) { - ////layertree1 - int nLayerCount1 = globeControl1.Globe.Layers.Count; - int nTerrainCount1 = globeControl1.Globe.Terrains.Count; - - for (int i = 0; i < nLayerCount1; i++) + try { - GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer == null) continue; - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; - - bool isContains = false; - for (int j = 0; j < layerTree1.Nodes[0].Nodes.Count; j++) + for (int i = 0; i < nLayerCount; i++) { - if (!layerName.Contains("fttp:")) + GSOLayer layer = globcontrol.Globe.Layers[i]; + if (layer == null) continue; + string layerName = layer.Name; + TreeNode node = new TreeNode(); + node.Tag = layer; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = layer.Caption; + node.Checked = layer.Visible; + + bool isContains = false; + for (int j = 0; j < layerTree.Nodes[0].Nodes.Count; j++) { - if (layerName.Contains(layerTree1.Nodes[0].Nodes[j].Text.Trim()) && !layerName.Contains("施工") && - !layerName.Contains("规划")) + if (!layerName.Contains("fttp:")) { - layerTree1.Nodes[0].Nodes[j].Nodes.Add(node); + switch (layerTree.Name) + { + case "layerTree1": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim()) || + layerName.Contains("施工") || + layerName.Contains("规划")) continue; + break; + case "layerTree2": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim())) continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[j].Nodes.Add(node); + isContains = true; + break; + } + else + { + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 2].Nodes.Add(node); isContains = true; break; } } - else + switch (layerTree.Name) { - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; + case "layerTree1": + if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || + layerName.Contains("标注") || + isContains == true || layerName.Contains("施工") || layerName.Contains("规划") || + layerName.Contains("景观") || layerName.Contains("红线")) + continue; + break; + case "layerTree2": + if (isContains != false || layerName.Contains("tempLgdData2")) + continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 1].Nodes.Add(node); + } + + for (int i = 0; i < nTerrainCount; i++) + { + GSOTerrain terrain = globcontrol.Globe.Terrains[i]; + if (terrain == null) continue; + TreeNode node = new TreeNode(); + node.Tag = terrain; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = terrain.Caption; + node.Checked = terrain.Visible; + switch (layerTree.Name) + { + case "layerTree1": + terrainManagerNode1.Nodes.Add(node); + break; + case "layerTree2": + terrainManagerNode.Nodes.Add(node); + break; + default: + break; } } - if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || layerName.Contains("标注")) - continue; - if (isContains == false && !layerName.Contains("施工") && !layerName.Contains("规划") && - !layerName.Contains("景观") && !layerName.Contains("红线")) - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 1].Nodes.Add(node); } + catch (Exception ex) + { + LogError.PublishError(ex); + } + } + private void initTreeNodeCheckedStatus(TreeView layerTreeView) + { //节点选中状态控制 - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { foreach (TreeNode childNode in node.Nodes) { GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } + if (layer == null || layer.Visible != true) continue; + node.Checked = true; + break; } } - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { if (node.Checked != true) continue; - layerTree1.Nodes[0].Checked = true; + layerTreeView.Nodes[0].Checked = true; break; } - - for (int i = 0; i < nTerrainCount1; i++) - { - GSOTerrain terrain = globeControl1.Globe.Terrains[i]; - if (terrain == null) continue; - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode1.Nodes.Add(node); - } - - foreach (TreeNode node in layerTree1.Nodes[1].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[1].Nodes) { foreach (TreeNode childNode in node.Nodes) { @@ -202,99 +222,10 @@ break; } } - ///layertree2 - int nLayerCount = globeControl2.Globe.Layers.Count; - int nTerrainCount = globeControl2.Globe.Terrains.Count; - //int i = 0; - for (int i = 0; i < nLayerCount; i++) - { - GSOLayer layer = globeControl2.Globe.Layers[i]; - if (layer != null) - { - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; + } - bool isContains = false; - for (int j = 0; j < layerTree2.Nodes[0].Nodes.Count; j++) - { - if (!layerName.Contains("fttp:")) - { - if (layerName.Contains(layerTree2.Nodes[0].Nodes[j].Text.Trim())) - { - layerTree2.Nodes[0].Nodes[j].Nodes.Add(node); - isContains = true; - break; - } - } - else - { - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; - } - } - - if (layerName.Contains("tempLgdData2")) - continue; - if (isContains == false) - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 1].Nodes.Add(node); - } - } - - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - if (node.Checked == true) - { - layerTree2.Nodes[0].Checked = true; - break; - } - } - - for (int i = 0; i < nTerrainCount; i++) - { - GSOTerrain terrain = globeControl2.Globe.Terrains[i]; - if (terrain != null) - { - - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode.Nodes.Add(node); - } - } - foreach (TreeNode node in layerTree2.Nodes[1].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOTerrain layer = childNode.Tag as GSOTerrain; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - // 展开 + void exPandTreeNode() + { layerManagerNode1.Expand(); terrainManagerNode1.Expand(); layerManagerNode.Expand(); @@ -303,76 +234,22 @@ /// /// 刷新节点树 /// - private void RefreshDataTree() + private void RefreshLayerAndTerrainTree() { - layerTree2.Nodes[0].Nodes.Clear(); - Int32 nCount = globeControl2.Globe.Layers.Count; - Int32 i = 0; - for (i = 0; i < nCount; i++) - { - GSODataset dataSpace = globeControl2.Globe.Layers[i].Dataset; - TreeNode node = new TreeNode(); - node.Text = dataSpace.Name; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = true; - node.Tag = dataSpace; - layerTree2.Nodes[0].Nodes.Add(node); - } + int nLayerCount1 = globeControl1.Globe.Layers.Count;//图层 + int nTerrainCount1 = globeControl1.Globe.Terrains.Count;//地形 + addLayerTreeNode(nLayerCount1, nTerrainCount1, globeControl1, layerTree1); + initTreeNodeCheckedStatus(layerTree1); + + int nLayerCount = globeControl2.Globe.Layers.Count; + int nTerrainCount = globeControl2.Globe.Terrains.Count; + addLayerTreeNode(nLayerCount, nTerrainCount, globeControl2, layerTree2); + initTreeNodeCheckedStatus(layerTree2); + + // 展开 + exPandTreeNode(); } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void FeatureAddLayerMenuItem_Click(object sender, EventArgs e) - { - if (!FeatureAddLayerMenuItem.Checked) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - FeatureAddLayerMenuItem.Checked = true; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)node.Tag); - globeControl1.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void LayerSelectableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl1.Globe.Layers[nIndex]; - LayerSelectableMenuItem.Checked = !LayerSelectableMenuItem.Checked; - layer.Selectable = LayerSelectableMenuItem.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void LayerEditableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - LayerEditableMenuItem.Checked = !LayerEditableMenuItem.Checked; - layer.Editable = LayerEditableMenuItem.Checked; - } - /// - /// 保存图层按钮事件处理 - /// - /// - /// - private void SaveLayerMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - string layerCaption = node.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } + /// /// 节点树复选框选中状态改变事件处理 /// @@ -404,7 +281,7 @@ CheckParentNode(e.Node); if (e.Node.Nodes.Count > 0) checkChildrenNodeLayertree2(e.Node, e.Node.Checked); - } + } } /// /// 改变指定节点的子节点的选中状态 @@ -432,26 +309,15 @@ globeControl1.Globe.Refresh(); } if (childNode.Nodes.Count > 0) - { checkChildrenNodeLayertree1(childNode, isChecked); - } } } - private TreeNode queryNode(TreeNode node,string txt) - { - foreach (TreeNode n in node.Nodes) - { - return txt.Equals(n.Text) ? n : queryNode(n, txt); - } - return null; - - } /// /// 改变指定节点的子节点的选中状态 /// /// /// - private void checkChildrenNodeLayertree2(TreeNode parentNode,bool isChecked) + private void checkChildrenNodeLayertree2(TreeNode parentNode, bool isChecked) { foreach (TreeNode childNode in parentNode.Nodes) { @@ -475,121 +341,6 @@ checkChildrenNodeLayertree2(childNode, isChecked); } } - - /// - /// 改变指定节点的选中状态 - /// - /// - /// - private void CheckTreeNode(TreeNode node, Boolean bChecked) - { - CheckChildTreeNode(node, bChecked); - globeControl1.Globe.Refresh(); - globeControl2.Globe.Refresh(); - - } - private void CheckChildTreeNode(TreeNode node, Boolean bChecked) - { - if (node == null) - return; - if (node.Tag != null) - { - if (node.Tag.GetType() == typeof(GSOFeatureFolder) || - node.Tag.GetType() == typeof(GSOFeature)) - ((GSOFeature) node.Tag).SetVisibleDirectly(bChecked); - else - { - GSOLayer curLayer = node.Tag as GSOLayer; - GSOTerrain curTerrain = node.Tag as GSOTerrain; - if (curLayer != null) - curLayer.Visible = bChecked; - else if (curTerrain != null) - curTerrain.Visible = bChecked; - } - } - // 递归处理子节点 - for (int i = 0; i < node.Nodes.Count; i++) - { - node.Nodes[i].Checked = bChecked; - CheckChildTreeNode(node.Nodes[i], bChecked); - } - } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - if (!toolStripMenuItem1.Checked) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - toolStripMenuItem1.Checked = true; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text.ToString()); - globeControl2.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void toolStripMenuItem2_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl2.Globe.Layers[nIndex]; - toolStripMenuItem2.Checked = !toolStripMenuItem2.Checked; - layer.Selectable = toolStripMenuItem2.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void toolStripMenuItem3_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text); - toolStripMenuItem3.Checked = !toolStripMenuItem3.Checked; - layer.Editable = toolStripMenuItem3.Checked; - } - /// - /// 保存按钮事件处理 - /// - /// - /// - private void toolStripMenuItem4_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - - string layerCaption = node.Text; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } - /// - /// 移除图层按钮事件处理 - /// - /// - /// - private void 移除图层ToolStripMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - TreeNode parentNode = node.Parent; - Int32 nIndex = node.Index; - - if (parentNode != layerManagerNode) - globeControl2.Globe.Terrains.Remove(nIndex); - else - { - string layername = globeControl2.Globe.Layers[nIndex].Name; - globeControl2.Globe.Layers.Remove(nIndex); - - globeControl2.Globe.DataManager.DeleteDataSourceByName(layername); - } - node.Remove(); - globeControl2.Globe.Refresh(); - } /// /// 节点树选中状态改变事件 /// @@ -623,91 +374,6 @@ checkChildrenNodeLayertree1(e.Node, e.Node.Checked); } } - - private TreeNode queryNodeFromTree(string txt , TreeView tree) - { - TreeNode node = null; - foreach (TreeNode n in tree.Nodes) - { - if (n.Text.Equals(txt)) - return n; - else - { - node = queryChildNode(txt, n); - if (null != node) - return node; - } - } - return null; - } - - private TreeNode queryChildNode(String txt, TreeNode parent) - { - TreeNode child = null; - foreach (TreeNode node in parent.Nodes) - { - if (txt.Equals(node.Text)) - return node; - else - { - child = queryChildNode(txt, node); - if (null != child) - return child; - } - } - return null; - } - - - /// - /// 树节点选中方法 - /// - /// - private void CheckControl(TreeViewEventArgs e) - { - if (e.Action != TreeViewAction.Unknown) - { - if (e.Node != null && !Convert.IsDBNull(e.Node)) - { - CheckParentNode(e.Node); - if (e.Node.Nodes.Count > 0) - CheckAllChildNodes(e.Node, e.Node.Checked); - } - } - } - /// - /// 改变所有子节点的状态 - /// - /// - /// - private void CheckAllChildNodes(TreeNode pn, bool IsChecked) - { - foreach (TreeNode tn in pn.Nodes) - { - tn.Checked = IsChecked; - if (tn.Tag.ToString().Contains("|")) - { - string nodeTag = tn.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(nodeTag); - if (layer != null) - { - layer.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Tag is GSOFeature) - { - if (tn.Nodes.Count == 0) - { - GSOFeature feat = tn.Tag as GSOFeature; - feat.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Nodes.Count > 0) - CheckAllChildNodes(tn, IsChecked); - } - } /// /// 改变父节点的选中状态,此处为所有子节点不选中时才取消父节点选中,可以根据需要修改 /// @@ -726,7 +392,6 @@ break; } } - if (bChecked) { curNode.Parent.Checked = true; diff --git a/FrmLayerControl.resx b/FrmLayerControl.resx index 34f1053..d58980a 100644 --- a/FrmLayerControl.resx +++ b/FrmLayerControl.resx @@ -117,10 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - - - 206, 17 - \ No newline at end of file diff --git a/MainFrm.cs b/MainFrm.cs index 5ea4e0c..e261e8f 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -8770,7 +8770,7 @@ LogManager.saveLog(Utility.userName, buttonItem8.Text); int width = Width; - FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, Utility.m_PipelineLayerNames, Utility.sgPipeLayersNames, width); + FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, width); } /// /// 红线审核导出图片 @@ -8838,6 +8838,7 @@ trackflag = "BSQDuoBianXiangStatis"; globeControl1.Globe.Action = EnumAction3D.TrackPolygon; } + private void btn_check_history_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, btn_check_history.Text); diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 9c3c430..93a213d 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -2009,7 +2009,6 @@ // timer1 // this.timer1.Interval = 500; - //this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // // layerNodeContexMenu // @@ -2284,11 +2283,11 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); + this.ribbonControl1.Controls.Add(this.ribbonPanel15); + this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel12); this.ribbonControl1.Controls.Add(this.ribbonPanel1); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2357,6 +2356,7 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; + this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -3926,7 +3926,6 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; - this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -4469,6 +4468,7 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -4489,7 +4489,6 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5484,7 +5483,7 @@ this.dataGridViewX2.ReadOnly = true; this.dataGridViewX2.RowHeadersVisible = false; this.dataGridViewX2.RowTemplate.Height = 23; - this.dataGridViewX2.Size = new System.Drawing.Size(21874, 92); + this.dataGridViewX2.Size = new System.Drawing.Size(22171, 92); this.dataGridViewX2.TabIndex = 11; // // dataGridViewTextBoxColumn10 @@ -5578,7 +5577,7 @@ this.dataGridViewX3.ReadOnly = true; this.dataGridViewX3.RowHeadersVisible = false; this.dataGridViewX3.RowTemplate.Height = 23; - this.dataGridViewX3.Size = new System.Drawing.Size(21873, 127); + this.dataGridViewX3.Size = new System.Drawing.Size(22170, 127); this.dataGridViewX3.TabIndex = 5; this.dataGridViewX3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX3_MouseDoubleClick); // @@ -5836,7 +5835,7 @@ this.dataGridViewX8.ReadOnly = true; this.dataGridViewX8.RowHeadersVisible = false; this.dataGridViewX8.RowTemplate.Height = 23; - this.dataGridViewX8.Size = new System.Drawing.Size(40, 92); + this.dataGridViewX8.Size = new System.Drawing.Size(23, 92); this.dataGridViewX8.TabIndex = 11; // // dataGridViewTextBoxColumn12 @@ -5931,7 +5930,7 @@ this.dataGridViewX9.ReadOnly = true; this.dataGridViewX9.RowHeadersVisible = false; this.dataGridViewX9.RowTemplate.Height = 23; - this.dataGridViewX9.Size = new System.Drawing.Size(39, 127); + this.dataGridViewX9.Size = new System.Drawing.Size(22, 127); this.dataGridViewX9.TabIndex = 5; this.dataGridViewX9.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX9_MouseDoubleClick); // diff --git a/MainFrm.resx b/MainFrm.resx index bf053b9..9921566 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,6 +351,505 @@ 766, 54 + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 + 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f + 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 + uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 + SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD + bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 + 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG + TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX + 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj + p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY + RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB + lh7gOXXZq9sAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU + TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt + fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 + Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN + /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy + yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF + NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA + CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx + flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B + CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp + olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh + Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO + Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim + r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 + uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 + AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy + ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 + 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM + 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN + z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D + ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW + QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd + R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN + Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm + 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD + YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q + dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE + H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel + v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I + E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj + 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL + zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M + R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH + prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 + U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB + 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD + QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG + 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU + 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao + GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc + 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 + /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC + Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ + KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o + VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX + 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 + seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt + NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei + /A9dc78cqtG90gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4033,253 +4532,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 - 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f - 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 - uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 - SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD - bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 - 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG - TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX - 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj - p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY - RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB - lh7gOXXZq9sAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU - TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt - fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 - Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN - /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy - yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF - NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA - CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx - flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B - CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp - olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh - Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO - Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim - r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 - uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 - AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy - ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 - 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM - 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN - z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D - ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW - QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd - R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN - Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm - 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD - YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q - dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE - H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel - v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I - E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj - 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL - zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M - R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH - prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 - U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB - 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD - QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG - 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU - 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao - GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc - 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 - /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC - Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ - KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o - VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX - 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 - seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt - NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei - /A9dc78cqtG90gAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4314,258 +4566,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/FrmLayerControl.Designer.cs b/FrmLayerControl.Designer.cs index d1ab3e6..35df5d1 100644 --- a/FrmLayerControl.Designer.cs +++ b/FrmLayerControl.Designer.cs @@ -31,27 +31,13 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.layerTree1 = new System.Windows.Forms.TreeView(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.layerTree2 = new System.Windows.Forms.TreeView(); - this.layerNodeContexMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.FeatureAddLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerSelectableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerEditableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.移除图层ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.layerNodeContexMenu.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // layerTree1 @@ -94,90 +80,6 @@ this.layerTree2.TabIndex = 3; this.layerTree2.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree2_AfterCheck); // - // layerNodeContexMenu - // - this.layerNodeContexMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.FeatureAddLayerMenuItem, - this.LayerSelectableMenuItem, - this.LayerEditableMenuItem, - this.SaveLayerMenuItem}); - this.layerNodeContexMenu.Name = "layerNodeContexMenu"; - this.layerNodeContexMenu.Size = new System.Drawing.Size(125, 92); - // - // FeatureAddLayerMenuItem - // - this.FeatureAddLayerMenuItem.Name = "FeatureAddLayerMenuItem"; - this.FeatureAddLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.FeatureAddLayerMenuItem.Text = "目标图层"; - this.FeatureAddLayerMenuItem.Click += new System.EventHandler(this.FeatureAddLayerMenuItem_Click); - // - // LayerSelectableMenuItem - // - this.LayerSelectableMenuItem.Name = "LayerSelectableMenuItem"; - this.LayerSelectableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerSelectableMenuItem.Text = "可选择"; - this.LayerSelectableMenuItem.Click += new System.EventHandler(this.LayerSelectableMenuItem_Click); - // - // LayerEditableMenuItem - // - this.LayerEditableMenuItem.Name = "LayerEditableMenuItem"; - this.LayerEditableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerEditableMenuItem.Text = "可编辑"; - this.LayerEditableMenuItem.Click += new System.EventHandler(this.LayerEditableMenuItem_Click); - // - // SaveLayerMenuItem - // - this.SaveLayerMenuItem.Name = "SaveLayerMenuItem"; - this.SaveLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.SaveLayerMenuItem.Text = "保存"; - this.SaveLayerMenuItem.Click += new System.EventHandler(this.SaveLayerMenuItem_Click); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.移除图层ToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripMenuItem2, - this.toolStripMenuItem3, - this.toolStripMenuItem4}); - this.contextMenuStrip1.Name = "layerNodeContexMenu"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 114); - // - // 移除图层ToolStripMenuItem - // - this.移除图层ToolStripMenuItem.Name = "移除图层ToolStripMenuItem"; - this.移除图层ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); - this.移除图层ToolStripMenuItem.Text = "移除图层"; - this.移除图层ToolStripMenuItem.Click += new System.EventHandler(this.移除图层ToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem1.Text = "目标图层"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem2.Text = "可选择"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem3.Text = "可编辑"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem4.Text = "保存"; - this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); - // // FrmLayerControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -198,8 +100,6 @@ this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); - this.layerNodeContexMenu.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } @@ -209,16 +109,5 @@ private TreeView layerTree1; private SplitContainer splitContainer1; private TreeView layerTree2; - private ContextMenuStrip layerNodeContexMenu; - private ToolStripMenuItem FeatureAddLayerMenuItem; - private ToolStripMenuItem LayerSelectableMenuItem; - private ToolStripMenuItem LayerEditableMenuItem; - private ToolStripMenuItem SaveLayerMenuItem; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem toolStripMenuItem1; - private ToolStripMenuItem toolStripMenuItem2; - private ToolStripMenuItem toolStripMenuItem3; - private ToolStripMenuItem toolStripMenuItem4; - private ToolStripMenuItem 移除图层ToolStripMenuItem; } } \ No newline at end of file diff --git a/FrmLayerControl.cs b/FrmLayerControl.cs index e94e746..052be3a 100644 --- a/FrmLayerControl.cs +++ b/FrmLayerControl.cs @@ -10,9 +10,9 @@ { public partial class FrmLayerControl : Office2007Form { - TreeView treeView1; GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; + TreeNode terrainManagerNode = null; TreeNode layerManagerNode = null; TreeNode terrainManagerNode1 = null; @@ -25,84 +25,67 @@ globeControl2 = ctl2; } - /// - /// 窗体初始化事件处理 - /// - /// - /// - private void FrmLayerControl_Load(object sender, EventArgs e) + private void initLayerTree(out TreeNode treeNode, string strTreeNodeText) { - //加载layertree1 + treeNode=new TreeNode(); + treeNode.ImageIndex = 0; + treeNode.SelectedImageIndex = 0; + treeNode.Checked = false; + treeNode.Text = strTreeNodeText; + } + + private void initTreeView() + { layerTree1.Nodes.Clear(); layerTree2.Nodes.Clear(); //加载layertree2 - layerManagerNode1 = new TreeNode(); - layerManagerNode1.ImageIndex = 0; - layerManagerNode1.SelectedImageIndex = 0; - layerManagerNode1.Checked = false; - layerManagerNode1.Text = "图层管理"; + initLayerTree(out layerManagerNode1, "图层管理"); layerTree1.Nodes.Add(layerManagerNode1); - layerManagerNode = new TreeNode(); - layerManagerNode.ImageIndex = 0; - layerManagerNode.SelectedImageIndex = 0; - layerManagerNode.Checked = false; - layerManagerNode.Text = "图层管理"; - layerTree2.Nodes.Add(layerManagerNode); - - terrainManagerNode1 = new TreeNode(); - terrainManagerNode1.ImageIndex = 0; - terrainManagerNode1.SelectedImageIndex = 0; - terrainManagerNode1.Checked = false; - terrainManagerNode1.Text = "地形管理"; + initLayerTree(out terrainManagerNode1, "地形管理"); layerTree1.Nodes.Add(terrainManagerNode1); - terrainManagerNode = new TreeNode(); - terrainManagerNode.ImageIndex = 0; - terrainManagerNode.SelectedImageIndex = 0; - terrainManagerNode.Checked = false; - terrainManagerNode.Text = "地形管理"; + + initLayerTree(out layerManagerNode, "图层管理"); + layerTree2.Nodes.Add(layerManagerNode); + initLayerTree(out terrainManagerNode, "地形管理"); layerTree2.Nodes.Add(terrainManagerNode); - + } + + private void initNode(string nodeName) + { + TreeNode nodeGroupElse1 = new TreeNode(); + nodeGroupElse1.Text = nodeName; + layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); + + TreeNode nodeGroupElse = new TreeNode(); + nodeGroupElse.Text = nodeName == "供电" ? "电力" : nodeName; + layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + } + + private void initTreeNode(XmlNodeList Params) + { + foreach (XmlNode paramsNode in Params) //layers + { + foreach (XmlNode layerNode in paramsNode) //layer + { + initNode(layerNode.Attributes["label"].Value); + } + } + + initNode("基础图层"); + initNode("其他"); + } + + private void FrmLayerControl_Load(object sender, EventArgs e) + { + initTreeView(); try { XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + "\\双屏设置.xml"); - XmlNodeList Params1 = doc.SelectNodes("/Params/layers"); + XmlNodeList Params = doc.SelectNodes("/Params/layers"); - foreach (XmlNode paramsNode in Params1) //layers - { - foreach (XmlNode layerNode in paramsNode) //layer - { - TreeNode nodeGroup1 = new TreeNode(); - string nodeGroupName1 = layerNode.Attributes["label"].Value; - - nodeGroup1.Text = nodeGroupName1 == "电力" ? "供电" : nodeGroupName1; - - layerTree1.Nodes[0].Nodes.Add(nodeGroup1); - - TreeNode nodeGroup = new TreeNode(); - string nodeGroupName = layerNode.Attributes["label"].Value; - nodeGroup.Text = nodeGroupName; - layerTree2.Nodes[0].Nodes.Add(nodeGroup); - } - } - TreeNode nodeGroupElse1 = new TreeNode(); - string nodeGroupNameElse1 = "基础数据"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - TreeNode nodeGroupElse = new TreeNode(); - string nodeGroupNameElse = "基础数据"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); - - nodeGroupElse1 = new TreeNode(); - nodeGroupNameElse1 = "其它"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - nodeGroupElse = new TreeNode(); - nodeGroupNameElse = "其它"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + initTreeNode(Params); } catch (Exception ex) { @@ -111,88 +94,125 @@ RefreshLayerAndTerrainTree(); } - /// - /// 刷新节点树 - /// - private void RefreshLayerAndTerrainTree() + + private void addLayerTreeNode(int nLayerCount, int nTerrainCount, GSOGlobeControl globcontrol, + TreeView layerTree) { - ////layertree1 - int nLayerCount1 = globeControl1.Globe.Layers.Count; - int nTerrainCount1 = globeControl1.Globe.Terrains.Count; - - for (int i = 0; i < nLayerCount1; i++) + try { - GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer == null) continue; - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; - - bool isContains = false; - for (int j = 0; j < layerTree1.Nodes[0].Nodes.Count; j++) + for (int i = 0; i < nLayerCount; i++) { - if (!layerName.Contains("fttp:")) + GSOLayer layer = globcontrol.Globe.Layers[i]; + if (layer == null) continue; + string layerName = layer.Name; + TreeNode node = new TreeNode(); + node.Tag = layer; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = layer.Caption; + node.Checked = layer.Visible; + + bool isContains = false; + for (int j = 0; j < layerTree.Nodes[0].Nodes.Count; j++) { - if (layerName.Contains(layerTree1.Nodes[0].Nodes[j].Text.Trim()) && !layerName.Contains("施工") && - !layerName.Contains("规划")) + if (!layerName.Contains("fttp:")) { - layerTree1.Nodes[0].Nodes[j].Nodes.Add(node); + switch (layerTree.Name) + { + case "layerTree1": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim()) || + layerName.Contains("施工") || + layerName.Contains("规划")) continue; + break; + case "layerTree2": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim())) continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[j].Nodes.Add(node); + isContains = true; + break; + } + else + { + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 2].Nodes.Add(node); isContains = true; break; } } - else + switch (layerTree.Name) { - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; + case "layerTree1": + if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || + layerName.Contains("标注") || + isContains == true || layerName.Contains("施工") || layerName.Contains("规划") || + layerName.Contains("景观") || layerName.Contains("红线")) + continue; + break; + case "layerTree2": + if (isContains != false || layerName.Contains("tempLgdData2")) + continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 1].Nodes.Add(node); + } + + for (int i = 0; i < nTerrainCount; i++) + { + GSOTerrain terrain = globcontrol.Globe.Terrains[i]; + if (terrain == null) continue; + TreeNode node = new TreeNode(); + node.Tag = terrain; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = terrain.Caption; + node.Checked = terrain.Visible; + switch (layerTree.Name) + { + case "layerTree1": + terrainManagerNode1.Nodes.Add(node); + break; + case "layerTree2": + terrainManagerNode.Nodes.Add(node); + break; + default: + break; } } - if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || layerName.Contains("标注")) - continue; - if (isContains == false && !layerName.Contains("施工") && !layerName.Contains("规划") && - !layerName.Contains("景观") && !layerName.Contains("红线")) - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 1].Nodes.Add(node); } + catch (Exception ex) + { + LogError.PublishError(ex); + } + } + private void initTreeNodeCheckedStatus(TreeView layerTreeView) + { //节点选中状态控制 - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { foreach (TreeNode childNode in node.Nodes) { GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } + if (layer == null || layer.Visible != true) continue; + node.Checked = true; + break; } } - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { if (node.Checked != true) continue; - layerTree1.Nodes[0].Checked = true; + layerTreeView.Nodes[0].Checked = true; break; } - - for (int i = 0; i < nTerrainCount1; i++) - { - GSOTerrain terrain = globeControl1.Globe.Terrains[i]; - if (terrain == null) continue; - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode1.Nodes.Add(node); - } - - foreach (TreeNode node in layerTree1.Nodes[1].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[1].Nodes) { foreach (TreeNode childNode in node.Nodes) { @@ -202,99 +222,10 @@ break; } } - ///layertree2 - int nLayerCount = globeControl2.Globe.Layers.Count; - int nTerrainCount = globeControl2.Globe.Terrains.Count; - //int i = 0; - for (int i = 0; i < nLayerCount; i++) - { - GSOLayer layer = globeControl2.Globe.Layers[i]; - if (layer != null) - { - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; + } - bool isContains = false; - for (int j = 0; j < layerTree2.Nodes[0].Nodes.Count; j++) - { - if (!layerName.Contains("fttp:")) - { - if (layerName.Contains(layerTree2.Nodes[0].Nodes[j].Text.Trim())) - { - layerTree2.Nodes[0].Nodes[j].Nodes.Add(node); - isContains = true; - break; - } - } - else - { - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; - } - } - - if (layerName.Contains("tempLgdData2")) - continue; - if (isContains == false) - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 1].Nodes.Add(node); - } - } - - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - if (node.Checked == true) - { - layerTree2.Nodes[0].Checked = true; - break; - } - } - - for (int i = 0; i < nTerrainCount; i++) - { - GSOTerrain terrain = globeControl2.Globe.Terrains[i]; - if (terrain != null) - { - - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode.Nodes.Add(node); - } - } - foreach (TreeNode node in layerTree2.Nodes[1].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOTerrain layer = childNode.Tag as GSOTerrain; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - // 展开 + void exPandTreeNode() + { layerManagerNode1.Expand(); terrainManagerNode1.Expand(); layerManagerNode.Expand(); @@ -303,76 +234,22 @@ /// /// 刷新节点树 /// - private void RefreshDataTree() + private void RefreshLayerAndTerrainTree() { - layerTree2.Nodes[0].Nodes.Clear(); - Int32 nCount = globeControl2.Globe.Layers.Count; - Int32 i = 0; - for (i = 0; i < nCount; i++) - { - GSODataset dataSpace = globeControl2.Globe.Layers[i].Dataset; - TreeNode node = new TreeNode(); - node.Text = dataSpace.Name; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = true; - node.Tag = dataSpace; - layerTree2.Nodes[0].Nodes.Add(node); - } + int nLayerCount1 = globeControl1.Globe.Layers.Count;//图层 + int nTerrainCount1 = globeControl1.Globe.Terrains.Count;//地形 + addLayerTreeNode(nLayerCount1, nTerrainCount1, globeControl1, layerTree1); + initTreeNodeCheckedStatus(layerTree1); + + int nLayerCount = globeControl2.Globe.Layers.Count; + int nTerrainCount = globeControl2.Globe.Terrains.Count; + addLayerTreeNode(nLayerCount, nTerrainCount, globeControl2, layerTree2); + initTreeNodeCheckedStatus(layerTree2); + + // 展开 + exPandTreeNode(); } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void FeatureAddLayerMenuItem_Click(object sender, EventArgs e) - { - if (!FeatureAddLayerMenuItem.Checked) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - FeatureAddLayerMenuItem.Checked = true; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)node.Tag); - globeControl1.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void LayerSelectableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl1.Globe.Layers[nIndex]; - LayerSelectableMenuItem.Checked = !LayerSelectableMenuItem.Checked; - layer.Selectable = LayerSelectableMenuItem.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void LayerEditableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - LayerEditableMenuItem.Checked = !LayerEditableMenuItem.Checked; - layer.Editable = LayerEditableMenuItem.Checked; - } - /// - /// 保存图层按钮事件处理 - /// - /// - /// - private void SaveLayerMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - string layerCaption = node.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } + /// /// 节点树复选框选中状态改变事件处理 /// @@ -404,7 +281,7 @@ CheckParentNode(e.Node); if (e.Node.Nodes.Count > 0) checkChildrenNodeLayertree2(e.Node, e.Node.Checked); - } + } } /// /// 改变指定节点的子节点的选中状态 @@ -432,26 +309,15 @@ globeControl1.Globe.Refresh(); } if (childNode.Nodes.Count > 0) - { checkChildrenNodeLayertree1(childNode, isChecked); - } } } - private TreeNode queryNode(TreeNode node,string txt) - { - foreach (TreeNode n in node.Nodes) - { - return txt.Equals(n.Text) ? n : queryNode(n, txt); - } - return null; - - } /// /// 改变指定节点的子节点的选中状态 /// /// /// - private void checkChildrenNodeLayertree2(TreeNode parentNode,bool isChecked) + private void checkChildrenNodeLayertree2(TreeNode parentNode, bool isChecked) { foreach (TreeNode childNode in parentNode.Nodes) { @@ -475,121 +341,6 @@ checkChildrenNodeLayertree2(childNode, isChecked); } } - - /// - /// 改变指定节点的选中状态 - /// - /// - /// - private void CheckTreeNode(TreeNode node, Boolean bChecked) - { - CheckChildTreeNode(node, bChecked); - globeControl1.Globe.Refresh(); - globeControl2.Globe.Refresh(); - - } - private void CheckChildTreeNode(TreeNode node, Boolean bChecked) - { - if (node == null) - return; - if (node.Tag != null) - { - if (node.Tag.GetType() == typeof(GSOFeatureFolder) || - node.Tag.GetType() == typeof(GSOFeature)) - ((GSOFeature) node.Tag).SetVisibleDirectly(bChecked); - else - { - GSOLayer curLayer = node.Tag as GSOLayer; - GSOTerrain curTerrain = node.Tag as GSOTerrain; - if (curLayer != null) - curLayer.Visible = bChecked; - else if (curTerrain != null) - curTerrain.Visible = bChecked; - } - } - // 递归处理子节点 - for (int i = 0; i < node.Nodes.Count; i++) - { - node.Nodes[i].Checked = bChecked; - CheckChildTreeNode(node.Nodes[i], bChecked); - } - } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - if (!toolStripMenuItem1.Checked) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - toolStripMenuItem1.Checked = true; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text.ToString()); - globeControl2.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void toolStripMenuItem2_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl2.Globe.Layers[nIndex]; - toolStripMenuItem2.Checked = !toolStripMenuItem2.Checked; - layer.Selectable = toolStripMenuItem2.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void toolStripMenuItem3_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text); - toolStripMenuItem3.Checked = !toolStripMenuItem3.Checked; - layer.Editable = toolStripMenuItem3.Checked; - } - /// - /// 保存按钮事件处理 - /// - /// - /// - private void toolStripMenuItem4_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - - string layerCaption = node.Text; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } - /// - /// 移除图层按钮事件处理 - /// - /// - /// - private void 移除图层ToolStripMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - TreeNode parentNode = node.Parent; - Int32 nIndex = node.Index; - - if (parentNode != layerManagerNode) - globeControl2.Globe.Terrains.Remove(nIndex); - else - { - string layername = globeControl2.Globe.Layers[nIndex].Name; - globeControl2.Globe.Layers.Remove(nIndex); - - globeControl2.Globe.DataManager.DeleteDataSourceByName(layername); - } - node.Remove(); - globeControl2.Globe.Refresh(); - } /// /// 节点树选中状态改变事件 /// @@ -623,91 +374,6 @@ checkChildrenNodeLayertree1(e.Node, e.Node.Checked); } } - - private TreeNode queryNodeFromTree(string txt , TreeView tree) - { - TreeNode node = null; - foreach (TreeNode n in tree.Nodes) - { - if (n.Text.Equals(txt)) - return n; - else - { - node = queryChildNode(txt, n); - if (null != node) - return node; - } - } - return null; - } - - private TreeNode queryChildNode(String txt, TreeNode parent) - { - TreeNode child = null; - foreach (TreeNode node in parent.Nodes) - { - if (txt.Equals(node.Text)) - return node; - else - { - child = queryChildNode(txt, node); - if (null != child) - return child; - } - } - return null; - } - - - /// - /// 树节点选中方法 - /// - /// - private void CheckControl(TreeViewEventArgs e) - { - if (e.Action != TreeViewAction.Unknown) - { - if (e.Node != null && !Convert.IsDBNull(e.Node)) - { - CheckParentNode(e.Node); - if (e.Node.Nodes.Count > 0) - CheckAllChildNodes(e.Node, e.Node.Checked); - } - } - } - /// - /// 改变所有子节点的状态 - /// - /// - /// - private void CheckAllChildNodes(TreeNode pn, bool IsChecked) - { - foreach (TreeNode tn in pn.Nodes) - { - tn.Checked = IsChecked; - if (tn.Tag.ToString().Contains("|")) - { - string nodeTag = tn.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(nodeTag); - if (layer != null) - { - layer.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Tag is GSOFeature) - { - if (tn.Nodes.Count == 0) - { - GSOFeature feat = tn.Tag as GSOFeature; - feat.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Nodes.Count > 0) - CheckAllChildNodes(tn, IsChecked); - } - } /// /// 改变父节点的选中状态,此处为所有子节点不选中时才取消父节点选中,可以根据需要修改 /// @@ -726,7 +392,6 @@ break; } } - if (bChecked) { curNode.Parent.Checked = true; diff --git a/FrmLayerControl.resx b/FrmLayerControl.resx index 34f1053..d58980a 100644 --- a/FrmLayerControl.resx +++ b/FrmLayerControl.resx @@ -117,10 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - - - 206, 17 - \ No newline at end of file diff --git a/MainFrm.cs b/MainFrm.cs index 5ea4e0c..e261e8f 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -8770,7 +8770,7 @@ LogManager.saveLog(Utility.userName, buttonItem8.Text); int width = Width; - FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, Utility.m_PipelineLayerNames, Utility.sgPipeLayersNames, width); + FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, width); } /// /// 红线审核导出图片 @@ -8838,6 +8838,7 @@ trackflag = "BSQDuoBianXiangStatis"; globeControl1.Globe.Action = EnumAction3D.TrackPolygon; } + private void btn_check_history_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, btn_check_history.Text); diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 9c3c430..93a213d 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -2009,7 +2009,6 @@ // timer1 // this.timer1.Interval = 500; - //this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // // layerNodeContexMenu // @@ -2284,11 +2283,11 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); + this.ribbonControl1.Controls.Add(this.ribbonPanel15); + this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel12); this.ribbonControl1.Controls.Add(this.ribbonPanel1); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2357,6 +2356,7 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; + this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -3926,7 +3926,6 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; - this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -4469,6 +4468,7 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -4489,7 +4489,6 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5484,7 +5483,7 @@ this.dataGridViewX2.ReadOnly = true; this.dataGridViewX2.RowHeadersVisible = false; this.dataGridViewX2.RowTemplate.Height = 23; - this.dataGridViewX2.Size = new System.Drawing.Size(21874, 92); + this.dataGridViewX2.Size = new System.Drawing.Size(22171, 92); this.dataGridViewX2.TabIndex = 11; // // dataGridViewTextBoxColumn10 @@ -5578,7 +5577,7 @@ this.dataGridViewX3.ReadOnly = true; this.dataGridViewX3.RowHeadersVisible = false; this.dataGridViewX3.RowTemplate.Height = 23; - this.dataGridViewX3.Size = new System.Drawing.Size(21873, 127); + this.dataGridViewX3.Size = new System.Drawing.Size(22170, 127); this.dataGridViewX3.TabIndex = 5; this.dataGridViewX3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX3_MouseDoubleClick); // @@ -5836,7 +5835,7 @@ this.dataGridViewX8.ReadOnly = true; this.dataGridViewX8.RowHeadersVisible = false; this.dataGridViewX8.RowTemplate.Height = 23; - this.dataGridViewX8.Size = new System.Drawing.Size(40, 92); + this.dataGridViewX8.Size = new System.Drawing.Size(23, 92); this.dataGridViewX8.TabIndex = 11; // // dataGridViewTextBoxColumn12 @@ -5931,7 +5930,7 @@ this.dataGridViewX9.ReadOnly = true; this.dataGridViewX9.RowHeadersVisible = false; this.dataGridViewX9.RowTemplate.Height = 23; - this.dataGridViewX9.Size = new System.Drawing.Size(39, 127); + this.dataGridViewX9.Size = new System.Drawing.Size(22, 127); this.dataGridViewX9.TabIndex = 5; this.dataGridViewX9.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX9_MouseDoubleClick); // diff --git a/MainFrm.resx b/MainFrm.resx index bf053b9..9921566 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,6 +351,505 @@ 766, 54 + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 + 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f + 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 + uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 + SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD + bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 + 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG + TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX + 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj + p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY + RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB + lh7gOXXZq9sAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU + TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt + fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 + Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN + /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy + yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF + NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA + CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx + flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B + CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp + olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh + Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO + Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim + r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 + uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 + AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy + ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 + 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM + 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN + z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D + ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW + QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd + R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN + Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm + 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD + YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q + dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE + H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel + v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I + E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj + 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL + zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M + R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH + prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 + U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB + 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD + QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG + 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU + 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao + GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc + 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 + /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC + Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ + KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o + VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX + 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 + seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt + NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei + /A9dc78cqtG90gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4033,253 +4532,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 - 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f - 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 - uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 - SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD - bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 - 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG - TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX - 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj - p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY - RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB - lh7gOXXZq9sAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU - TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt - fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 - Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN - /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy - yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF - NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA - CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx - flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B - CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp - olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh - Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO - Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim - r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 - uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 - AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy - ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 - 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM - 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN - z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D - ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW - QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd - R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN - Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm - 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD - YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q - dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE - H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel - v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I - E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj - 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL - zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M - R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH - prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 - U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB - 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD - QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG - 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU - 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao - GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc - 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 - /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC - Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ - KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o - VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX - 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 - seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt - NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei - /A9dc78cqtG90gAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4314,258 +4566,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 diff --git a/bin/x86/Debug/Config.xml b/bin/x86/Debug/Config.xml index a5a72aa..f51e443 100644 --- a/bin/x86/Debug/Config.xml +++ b/bin/x86/Debug/Config.xml @@ -1,11 +1,11 @@  LocaSpace三维地下管线信息系统 - release - SZHTDB2 - 192.168.0.203 - release - 192.168.0.203 + scott + SZDB + 127.0.0.1 + SZDB + 127.0.0.1 1500 http://192.168.0.203/images/ http://192.168.0.203/images/default.jpg @@ -141,6 +141,14 @@ + + + + + + + + diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/FrmLayerControl.Designer.cs b/FrmLayerControl.Designer.cs index d1ab3e6..35df5d1 100644 --- a/FrmLayerControl.Designer.cs +++ b/FrmLayerControl.Designer.cs @@ -31,27 +31,13 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.layerTree1 = new System.Windows.Forms.TreeView(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.layerTree2 = new System.Windows.Forms.TreeView(); - this.layerNodeContexMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.FeatureAddLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerSelectableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerEditableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.移除图层ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.layerNodeContexMenu.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // layerTree1 @@ -94,90 +80,6 @@ this.layerTree2.TabIndex = 3; this.layerTree2.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree2_AfterCheck); // - // layerNodeContexMenu - // - this.layerNodeContexMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.FeatureAddLayerMenuItem, - this.LayerSelectableMenuItem, - this.LayerEditableMenuItem, - this.SaveLayerMenuItem}); - this.layerNodeContexMenu.Name = "layerNodeContexMenu"; - this.layerNodeContexMenu.Size = new System.Drawing.Size(125, 92); - // - // FeatureAddLayerMenuItem - // - this.FeatureAddLayerMenuItem.Name = "FeatureAddLayerMenuItem"; - this.FeatureAddLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.FeatureAddLayerMenuItem.Text = "目标图层"; - this.FeatureAddLayerMenuItem.Click += new System.EventHandler(this.FeatureAddLayerMenuItem_Click); - // - // LayerSelectableMenuItem - // - this.LayerSelectableMenuItem.Name = "LayerSelectableMenuItem"; - this.LayerSelectableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerSelectableMenuItem.Text = "可选择"; - this.LayerSelectableMenuItem.Click += new System.EventHandler(this.LayerSelectableMenuItem_Click); - // - // LayerEditableMenuItem - // - this.LayerEditableMenuItem.Name = "LayerEditableMenuItem"; - this.LayerEditableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerEditableMenuItem.Text = "可编辑"; - this.LayerEditableMenuItem.Click += new System.EventHandler(this.LayerEditableMenuItem_Click); - // - // SaveLayerMenuItem - // - this.SaveLayerMenuItem.Name = "SaveLayerMenuItem"; - this.SaveLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.SaveLayerMenuItem.Text = "保存"; - this.SaveLayerMenuItem.Click += new System.EventHandler(this.SaveLayerMenuItem_Click); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.移除图层ToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripMenuItem2, - this.toolStripMenuItem3, - this.toolStripMenuItem4}); - this.contextMenuStrip1.Name = "layerNodeContexMenu"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 114); - // - // 移除图层ToolStripMenuItem - // - this.移除图层ToolStripMenuItem.Name = "移除图层ToolStripMenuItem"; - this.移除图层ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); - this.移除图层ToolStripMenuItem.Text = "移除图层"; - this.移除图层ToolStripMenuItem.Click += new System.EventHandler(this.移除图层ToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem1.Text = "目标图层"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem2.Text = "可选择"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem3.Text = "可编辑"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem4.Text = "保存"; - this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); - // // FrmLayerControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -198,8 +100,6 @@ this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); - this.layerNodeContexMenu.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } @@ -209,16 +109,5 @@ private TreeView layerTree1; private SplitContainer splitContainer1; private TreeView layerTree2; - private ContextMenuStrip layerNodeContexMenu; - private ToolStripMenuItem FeatureAddLayerMenuItem; - private ToolStripMenuItem LayerSelectableMenuItem; - private ToolStripMenuItem LayerEditableMenuItem; - private ToolStripMenuItem SaveLayerMenuItem; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem toolStripMenuItem1; - private ToolStripMenuItem toolStripMenuItem2; - private ToolStripMenuItem toolStripMenuItem3; - private ToolStripMenuItem toolStripMenuItem4; - private ToolStripMenuItem 移除图层ToolStripMenuItem; } } \ No newline at end of file diff --git a/FrmLayerControl.cs b/FrmLayerControl.cs index e94e746..052be3a 100644 --- a/FrmLayerControl.cs +++ b/FrmLayerControl.cs @@ -10,9 +10,9 @@ { public partial class FrmLayerControl : Office2007Form { - TreeView treeView1; GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; + TreeNode terrainManagerNode = null; TreeNode layerManagerNode = null; TreeNode terrainManagerNode1 = null; @@ -25,84 +25,67 @@ globeControl2 = ctl2; } - /// - /// 窗体初始化事件处理 - /// - /// - /// - private void FrmLayerControl_Load(object sender, EventArgs e) + private void initLayerTree(out TreeNode treeNode, string strTreeNodeText) { - //加载layertree1 + treeNode=new TreeNode(); + treeNode.ImageIndex = 0; + treeNode.SelectedImageIndex = 0; + treeNode.Checked = false; + treeNode.Text = strTreeNodeText; + } + + private void initTreeView() + { layerTree1.Nodes.Clear(); layerTree2.Nodes.Clear(); //加载layertree2 - layerManagerNode1 = new TreeNode(); - layerManagerNode1.ImageIndex = 0; - layerManagerNode1.SelectedImageIndex = 0; - layerManagerNode1.Checked = false; - layerManagerNode1.Text = "图层管理"; + initLayerTree(out layerManagerNode1, "图层管理"); layerTree1.Nodes.Add(layerManagerNode1); - layerManagerNode = new TreeNode(); - layerManagerNode.ImageIndex = 0; - layerManagerNode.SelectedImageIndex = 0; - layerManagerNode.Checked = false; - layerManagerNode.Text = "图层管理"; - layerTree2.Nodes.Add(layerManagerNode); - - terrainManagerNode1 = new TreeNode(); - terrainManagerNode1.ImageIndex = 0; - terrainManagerNode1.SelectedImageIndex = 0; - terrainManagerNode1.Checked = false; - terrainManagerNode1.Text = "地形管理"; + initLayerTree(out terrainManagerNode1, "地形管理"); layerTree1.Nodes.Add(terrainManagerNode1); - terrainManagerNode = new TreeNode(); - terrainManagerNode.ImageIndex = 0; - terrainManagerNode.SelectedImageIndex = 0; - terrainManagerNode.Checked = false; - terrainManagerNode.Text = "地形管理"; + + initLayerTree(out layerManagerNode, "图层管理"); + layerTree2.Nodes.Add(layerManagerNode); + initLayerTree(out terrainManagerNode, "地形管理"); layerTree2.Nodes.Add(terrainManagerNode); - + } + + private void initNode(string nodeName) + { + TreeNode nodeGroupElse1 = new TreeNode(); + nodeGroupElse1.Text = nodeName; + layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); + + TreeNode nodeGroupElse = new TreeNode(); + nodeGroupElse.Text = nodeName == "供电" ? "电力" : nodeName; + layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + } + + private void initTreeNode(XmlNodeList Params) + { + foreach (XmlNode paramsNode in Params) //layers + { + foreach (XmlNode layerNode in paramsNode) //layer + { + initNode(layerNode.Attributes["label"].Value); + } + } + + initNode("基础图层"); + initNode("其他"); + } + + private void FrmLayerControl_Load(object sender, EventArgs e) + { + initTreeView(); try { XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + "\\双屏设置.xml"); - XmlNodeList Params1 = doc.SelectNodes("/Params/layers"); + XmlNodeList Params = doc.SelectNodes("/Params/layers"); - foreach (XmlNode paramsNode in Params1) //layers - { - foreach (XmlNode layerNode in paramsNode) //layer - { - TreeNode nodeGroup1 = new TreeNode(); - string nodeGroupName1 = layerNode.Attributes["label"].Value; - - nodeGroup1.Text = nodeGroupName1 == "电力" ? "供电" : nodeGroupName1; - - layerTree1.Nodes[0].Nodes.Add(nodeGroup1); - - TreeNode nodeGroup = new TreeNode(); - string nodeGroupName = layerNode.Attributes["label"].Value; - nodeGroup.Text = nodeGroupName; - layerTree2.Nodes[0].Nodes.Add(nodeGroup); - } - } - TreeNode nodeGroupElse1 = new TreeNode(); - string nodeGroupNameElse1 = "基础数据"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - TreeNode nodeGroupElse = new TreeNode(); - string nodeGroupNameElse = "基础数据"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); - - nodeGroupElse1 = new TreeNode(); - nodeGroupNameElse1 = "其它"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - nodeGroupElse = new TreeNode(); - nodeGroupNameElse = "其它"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + initTreeNode(Params); } catch (Exception ex) { @@ -111,88 +94,125 @@ RefreshLayerAndTerrainTree(); } - /// - /// 刷新节点树 - /// - private void RefreshLayerAndTerrainTree() + + private void addLayerTreeNode(int nLayerCount, int nTerrainCount, GSOGlobeControl globcontrol, + TreeView layerTree) { - ////layertree1 - int nLayerCount1 = globeControl1.Globe.Layers.Count; - int nTerrainCount1 = globeControl1.Globe.Terrains.Count; - - for (int i = 0; i < nLayerCount1; i++) + try { - GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer == null) continue; - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; - - bool isContains = false; - for (int j = 0; j < layerTree1.Nodes[0].Nodes.Count; j++) + for (int i = 0; i < nLayerCount; i++) { - if (!layerName.Contains("fttp:")) + GSOLayer layer = globcontrol.Globe.Layers[i]; + if (layer == null) continue; + string layerName = layer.Name; + TreeNode node = new TreeNode(); + node.Tag = layer; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = layer.Caption; + node.Checked = layer.Visible; + + bool isContains = false; + for (int j = 0; j < layerTree.Nodes[0].Nodes.Count; j++) { - if (layerName.Contains(layerTree1.Nodes[0].Nodes[j].Text.Trim()) && !layerName.Contains("施工") && - !layerName.Contains("规划")) + if (!layerName.Contains("fttp:")) { - layerTree1.Nodes[0].Nodes[j].Nodes.Add(node); + switch (layerTree.Name) + { + case "layerTree1": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim()) || + layerName.Contains("施工") || + layerName.Contains("规划")) continue; + break; + case "layerTree2": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim())) continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[j].Nodes.Add(node); + isContains = true; + break; + } + else + { + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 2].Nodes.Add(node); isContains = true; break; } } - else + switch (layerTree.Name) { - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; + case "layerTree1": + if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || + layerName.Contains("标注") || + isContains == true || layerName.Contains("施工") || layerName.Contains("规划") || + layerName.Contains("景观") || layerName.Contains("红线")) + continue; + break; + case "layerTree2": + if (isContains != false || layerName.Contains("tempLgdData2")) + continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 1].Nodes.Add(node); + } + + for (int i = 0; i < nTerrainCount; i++) + { + GSOTerrain terrain = globcontrol.Globe.Terrains[i]; + if (terrain == null) continue; + TreeNode node = new TreeNode(); + node.Tag = terrain; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = terrain.Caption; + node.Checked = terrain.Visible; + switch (layerTree.Name) + { + case "layerTree1": + terrainManagerNode1.Nodes.Add(node); + break; + case "layerTree2": + terrainManagerNode.Nodes.Add(node); + break; + default: + break; } } - if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || layerName.Contains("标注")) - continue; - if (isContains == false && !layerName.Contains("施工") && !layerName.Contains("规划") && - !layerName.Contains("景观") && !layerName.Contains("红线")) - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 1].Nodes.Add(node); } + catch (Exception ex) + { + LogError.PublishError(ex); + } + } + private void initTreeNodeCheckedStatus(TreeView layerTreeView) + { //节点选中状态控制 - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { foreach (TreeNode childNode in node.Nodes) { GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } + if (layer == null || layer.Visible != true) continue; + node.Checked = true; + break; } } - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { if (node.Checked != true) continue; - layerTree1.Nodes[0].Checked = true; + layerTreeView.Nodes[0].Checked = true; break; } - - for (int i = 0; i < nTerrainCount1; i++) - { - GSOTerrain terrain = globeControl1.Globe.Terrains[i]; - if (terrain == null) continue; - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode1.Nodes.Add(node); - } - - foreach (TreeNode node in layerTree1.Nodes[1].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[1].Nodes) { foreach (TreeNode childNode in node.Nodes) { @@ -202,99 +222,10 @@ break; } } - ///layertree2 - int nLayerCount = globeControl2.Globe.Layers.Count; - int nTerrainCount = globeControl2.Globe.Terrains.Count; - //int i = 0; - for (int i = 0; i < nLayerCount; i++) - { - GSOLayer layer = globeControl2.Globe.Layers[i]; - if (layer != null) - { - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; + } - bool isContains = false; - for (int j = 0; j < layerTree2.Nodes[0].Nodes.Count; j++) - { - if (!layerName.Contains("fttp:")) - { - if (layerName.Contains(layerTree2.Nodes[0].Nodes[j].Text.Trim())) - { - layerTree2.Nodes[0].Nodes[j].Nodes.Add(node); - isContains = true; - break; - } - } - else - { - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; - } - } - - if (layerName.Contains("tempLgdData2")) - continue; - if (isContains == false) - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 1].Nodes.Add(node); - } - } - - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - if (node.Checked == true) - { - layerTree2.Nodes[0].Checked = true; - break; - } - } - - for (int i = 0; i < nTerrainCount; i++) - { - GSOTerrain terrain = globeControl2.Globe.Terrains[i]; - if (terrain != null) - { - - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode.Nodes.Add(node); - } - } - foreach (TreeNode node in layerTree2.Nodes[1].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOTerrain layer = childNode.Tag as GSOTerrain; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - // 展开 + void exPandTreeNode() + { layerManagerNode1.Expand(); terrainManagerNode1.Expand(); layerManagerNode.Expand(); @@ -303,76 +234,22 @@ /// /// 刷新节点树 /// - private void RefreshDataTree() + private void RefreshLayerAndTerrainTree() { - layerTree2.Nodes[0].Nodes.Clear(); - Int32 nCount = globeControl2.Globe.Layers.Count; - Int32 i = 0; - for (i = 0; i < nCount; i++) - { - GSODataset dataSpace = globeControl2.Globe.Layers[i].Dataset; - TreeNode node = new TreeNode(); - node.Text = dataSpace.Name; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = true; - node.Tag = dataSpace; - layerTree2.Nodes[0].Nodes.Add(node); - } + int nLayerCount1 = globeControl1.Globe.Layers.Count;//图层 + int nTerrainCount1 = globeControl1.Globe.Terrains.Count;//地形 + addLayerTreeNode(nLayerCount1, nTerrainCount1, globeControl1, layerTree1); + initTreeNodeCheckedStatus(layerTree1); + + int nLayerCount = globeControl2.Globe.Layers.Count; + int nTerrainCount = globeControl2.Globe.Terrains.Count; + addLayerTreeNode(nLayerCount, nTerrainCount, globeControl2, layerTree2); + initTreeNodeCheckedStatus(layerTree2); + + // 展开 + exPandTreeNode(); } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void FeatureAddLayerMenuItem_Click(object sender, EventArgs e) - { - if (!FeatureAddLayerMenuItem.Checked) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - FeatureAddLayerMenuItem.Checked = true; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)node.Tag); - globeControl1.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void LayerSelectableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl1.Globe.Layers[nIndex]; - LayerSelectableMenuItem.Checked = !LayerSelectableMenuItem.Checked; - layer.Selectable = LayerSelectableMenuItem.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void LayerEditableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - LayerEditableMenuItem.Checked = !LayerEditableMenuItem.Checked; - layer.Editable = LayerEditableMenuItem.Checked; - } - /// - /// 保存图层按钮事件处理 - /// - /// - /// - private void SaveLayerMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - string layerCaption = node.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } + /// /// 节点树复选框选中状态改变事件处理 /// @@ -404,7 +281,7 @@ CheckParentNode(e.Node); if (e.Node.Nodes.Count > 0) checkChildrenNodeLayertree2(e.Node, e.Node.Checked); - } + } } /// /// 改变指定节点的子节点的选中状态 @@ -432,26 +309,15 @@ globeControl1.Globe.Refresh(); } if (childNode.Nodes.Count > 0) - { checkChildrenNodeLayertree1(childNode, isChecked); - } } } - private TreeNode queryNode(TreeNode node,string txt) - { - foreach (TreeNode n in node.Nodes) - { - return txt.Equals(n.Text) ? n : queryNode(n, txt); - } - return null; - - } /// /// 改变指定节点的子节点的选中状态 /// /// /// - private void checkChildrenNodeLayertree2(TreeNode parentNode,bool isChecked) + private void checkChildrenNodeLayertree2(TreeNode parentNode, bool isChecked) { foreach (TreeNode childNode in parentNode.Nodes) { @@ -475,121 +341,6 @@ checkChildrenNodeLayertree2(childNode, isChecked); } } - - /// - /// 改变指定节点的选中状态 - /// - /// - /// - private void CheckTreeNode(TreeNode node, Boolean bChecked) - { - CheckChildTreeNode(node, bChecked); - globeControl1.Globe.Refresh(); - globeControl2.Globe.Refresh(); - - } - private void CheckChildTreeNode(TreeNode node, Boolean bChecked) - { - if (node == null) - return; - if (node.Tag != null) - { - if (node.Tag.GetType() == typeof(GSOFeatureFolder) || - node.Tag.GetType() == typeof(GSOFeature)) - ((GSOFeature) node.Tag).SetVisibleDirectly(bChecked); - else - { - GSOLayer curLayer = node.Tag as GSOLayer; - GSOTerrain curTerrain = node.Tag as GSOTerrain; - if (curLayer != null) - curLayer.Visible = bChecked; - else if (curTerrain != null) - curTerrain.Visible = bChecked; - } - } - // 递归处理子节点 - for (int i = 0; i < node.Nodes.Count; i++) - { - node.Nodes[i].Checked = bChecked; - CheckChildTreeNode(node.Nodes[i], bChecked); - } - } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - if (!toolStripMenuItem1.Checked) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - toolStripMenuItem1.Checked = true; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text.ToString()); - globeControl2.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void toolStripMenuItem2_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl2.Globe.Layers[nIndex]; - toolStripMenuItem2.Checked = !toolStripMenuItem2.Checked; - layer.Selectable = toolStripMenuItem2.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void toolStripMenuItem3_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text); - toolStripMenuItem3.Checked = !toolStripMenuItem3.Checked; - layer.Editable = toolStripMenuItem3.Checked; - } - /// - /// 保存按钮事件处理 - /// - /// - /// - private void toolStripMenuItem4_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - - string layerCaption = node.Text; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } - /// - /// 移除图层按钮事件处理 - /// - /// - /// - private void 移除图层ToolStripMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - TreeNode parentNode = node.Parent; - Int32 nIndex = node.Index; - - if (parentNode != layerManagerNode) - globeControl2.Globe.Terrains.Remove(nIndex); - else - { - string layername = globeControl2.Globe.Layers[nIndex].Name; - globeControl2.Globe.Layers.Remove(nIndex); - - globeControl2.Globe.DataManager.DeleteDataSourceByName(layername); - } - node.Remove(); - globeControl2.Globe.Refresh(); - } /// /// 节点树选中状态改变事件 /// @@ -623,91 +374,6 @@ checkChildrenNodeLayertree1(e.Node, e.Node.Checked); } } - - private TreeNode queryNodeFromTree(string txt , TreeView tree) - { - TreeNode node = null; - foreach (TreeNode n in tree.Nodes) - { - if (n.Text.Equals(txt)) - return n; - else - { - node = queryChildNode(txt, n); - if (null != node) - return node; - } - } - return null; - } - - private TreeNode queryChildNode(String txt, TreeNode parent) - { - TreeNode child = null; - foreach (TreeNode node in parent.Nodes) - { - if (txt.Equals(node.Text)) - return node; - else - { - child = queryChildNode(txt, node); - if (null != child) - return child; - } - } - return null; - } - - - /// - /// 树节点选中方法 - /// - /// - private void CheckControl(TreeViewEventArgs e) - { - if (e.Action != TreeViewAction.Unknown) - { - if (e.Node != null && !Convert.IsDBNull(e.Node)) - { - CheckParentNode(e.Node); - if (e.Node.Nodes.Count > 0) - CheckAllChildNodes(e.Node, e.Node.Checked); - } - } - } - /// - /// 改变所有子节点的状态 - /// - /// - /// - private void CheckAllChildNodes(TreeNode pn, bool IsChecked) - { - foreach (TreeNode tn in pn.Nodes) - { - tn.Checked = IsChecked; - if (tn.Tag.ToString().Contains("|")) - { - string nodeTag = tn.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(nodeTag); - if (layer != null) - { - layer.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Tag is GSOFeature) - { - if (tn.Nodes.Count == 0) - { - GSOFeature feat = tn.Tag as GSOFeature; - feat.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Nodes.Count > 0) - CheckAllChildNodes(tn, IsChecked); - } - } /// /// 改变父节点的选中状态,此处为所有子节点不选中时才取消父节点选中,可以根据需要修改 /// @@ -726,7 +392,6 @@ break; } } - if (bChecked) { curNode.Parent.Checked = true; diff --git a/FrmLayerControl.resx b/FrmLayerControl.resx index 34f1053..d58980a 100644 --- a/FrmLayerControl.resx +++ b/FrmLayerControl.resx @@ -117,10 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - - - 206, 17 - \ No newline at end of file diff --git a/MainFrm.cs b/MainFrm.cs index 5ea4e0c..e261e8f 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -8770,7 +8770,7 @@ LogManager.saveLog(Utility.userName, buttonItem8.Text); int width = Width; - FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, Utility.m_PipelineLayerNames, Utility.sgPipeLayersNames, width); + FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, width); } /// /// 红线审核导出图片 @@ -8838,6 +8838,7 @@ trackflag = "BSQDuoBianXiangStatis"; globeControl1.Globe.Action = EnumAction3D.TrackPolygon; } + private void btn_check_history_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, btn_check_history.Text); diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 9c3c430..93a213d 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -2009,7 +2009,6 @@ // timer1 // this.timer1.Interval = 500; - //this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // // layerNodeContexMenu // @@ -2284,11 +2283,11 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); + this.ribbonControl1.Controls.Add(this.ribbonPanel15); + this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel12); this.ribbonControl1.Controls.Add(this.ribbonPanel1); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2357,6 +2356,7 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; + this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -3926,7 +3926,6 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; - this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -4469,6 +4468,7 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -4489,7 +4489,6 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5484,7 +5483,7 @@ this.dataGridViewX2.ReadOnly = true; this.dataGridViewX2.RowHeadersVisible = false; this.dataGridViewX2.RowTemplate.Height = 23; - this.dataGridViewX2.Size = new System.Drawing.Size(21874, 92); + this.dataGridViewX2.Size = new System.Drawing.Size(22171, 92); this.dataGridViewX2.TabIndex = 11; // // dataGridViewTextBoxColumn10 @@ -5578,7 +5577,7 @@ this.dataGridViewX3.ReadOnly = true; this.dataGridViewX3.RowHeadersVisible = false; this.dataGridViewX3.RowTemplate.Height = 23; - this.dataGridViewX3.Size = new System.Drawing.Size(21873, 127); + this.dataGridViewX3.Size = new System.Drawing.Size(22170, 127); this.dataGridViewX3.TabIndex = 5; this.dataGridViewX3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX3_MouseDoubleClick); // @@ -5836,7 +5835,7 @@ this.dataGridViewX8.ReadOnly = true; this.dataGridViewX8.RowHeadersVisible = false; this.dataGridViewX8.RowTemplate.Height = 23; - this.dataGridViewX8.Size = new System.Drawing.Size(40, 92); + this.dataGridViewX8.Size = new System.Drawing.Size(23, 92); this.dataGridViewX8.TabIndex = 11; // // dataGridViewTextBoxColumn12 @@ -5931,7 +5930,7 @@ this.dataGridViewX9.ReadOnly = true; this.dataGridViewX9.RowHeadersVisible = false; this.dataGridViewX9.RowTemplate.Height = 23; - this.dataGridViewX9.Size = new System.Drawing.Size(39, 127); + this.dataGridViewX9.Size = new System.Drawing.Size(22, 127); this.dataGridViewX9.TabIndex = 5; this.dataGridViewX9.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX9_MouseDoubleClick); // diff --git a/MainFrm.resx b/MainFrm.resx index bf053b9..9921566 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,6 +351,505 @@ 766, 54 + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 + 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f + 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 + uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 + SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD + bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 + 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG + TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX + 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj + p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY + RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB + lh7gOXXZq9sAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU + TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt + fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 + Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN + /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy + yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF + NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA + CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx + flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B + CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp + olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh + Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO + Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim + r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 + uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 + AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy + ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 + 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM + 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN + z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D + ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW + QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd + R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN + Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm + 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD + YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q + dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE + H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel + v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I + E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj + 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL + zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M + R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH + prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 + U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB + 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD + QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG + 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU + 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao + GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc + 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 + /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC + Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ + KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o + VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX + 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 + seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt + NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei + /A9dc78cqtG90gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4033,253 +4532,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 - 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f - 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 - uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 - SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD - bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 - 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG - TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX - 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj - p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY - RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB - lh7gOXXZq9sAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU - TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt - fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 - Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN - /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy - yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF - NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA - CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx - flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B - CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp - olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh - Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO - Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim - r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 - uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 - AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy - ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 - 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM - 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN - z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D - ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW - QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd - R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN - Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm - 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD - YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q - dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE - H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel - v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I - E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj - 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL - zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M - R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH - prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 - U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB - 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD - QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG - 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU - 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao - GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc - 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 - /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC - Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ - KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o - VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX - 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 - seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt - NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei - /A9dc78cqtG90gAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4314,258 +4566,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 diff --git a/bin/x86/Debug/Config.xml b/bin/x86/Debug/Config.xml index a5a72aa..f51e443 100644 --- a/bin/x86/Debug/Config.xml +++ b/bin/x86/Debug/Config.xml @@ -1,11 +1,11 @@  LocaSpace三维地下管线信息系统 - release - SZHTDB2 - 192.168.0.203 - release - 192.168.0.203 + scott + SZDB + 127.0.0.1 + SZDB + 127.0.0.1 1500 http://192.168.0.203/images/ http://192.168.0.203/images/default.jpg @@ -141,6 +141,14 @@ + + + + + + + + diff --git a/bin/x86/Debug/Cyberpipe.exe b/bin/x86/Debug/Cyberpipe.exe index 65b7db7..e7b3f3d 100644 --- a/bin/x86/Debug/Cyberpipe.exe +++ b/bin/x86/Debug/Cyberpipe.exe Binary files differ diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/FrmLayerControl.Designer.cs b/FrmLayerControl.Designer.cs index d1ab3e6..35df5d1 100644 --- a/FrmLayerControl.Designer.cs +++ b/FrmLayerControl.Designer.cs @@ -31,27 +31,13 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.layerTree1 = new System.Windows.Forms.TreeView(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.layerTree2 = new System.Windows.Forms.TreeView(); - this.layerNodeContexMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.FeatureAddLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerSelectableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerEditableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.移除图层ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.layerNodeContexMenu.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // layerTree1 @@ -94,90 +80,6 @@ this.layerTree2.TabIndex = 3; this.layerTree2.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree2_AfterCheck); // - // layerNodeContexMenu - // - this.layerNodeContexMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.FeatureAddLayerMenuItem, - this.LayerSelectableMenuItem, - this.LayerEditableMenuItem, - this.SaveLayerMenuItem}); - this.layerNodeContexMenu.Name = "layerNodeContexMenu"; - this.layerNodeContexMenu.Size = new System.Drawing.Size(125, 92); - // - // FeatureAddLayerMenuItem - // - this.FeatureAddLayerMenuItem.Name = "FeatureAddLayerMenuItem"; - this.FeatureAddLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.FeatureAddLayerMenuItem.Text = "目标图层"; - this.FeatureAddLayerMenuItem.Click += new System.EventHandler(this.FeatureAddLayerMenuItem_Click); - // - // LayerSelectableMenuItem - // - this.LayerSelectableMenuItem.Name = "LayerSelectableMenuItem"; - this.LayerSelectableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerSelectableMenuItem.Text = "可选择"; - this.LayerSelectableMenuItem.Click += new System.EventHandler(this.LayerSelectableMenuItem_Click); - // - // LayerEditableMenuItem - // - this.LayerEditableMenuItem.Name = "LayerEditableMenuItem"; - this.LayerEditableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerEditableMenuItem.Text = "可编辑"; - this.LayerEditableMenuItem.Click += new System.EventHandler(this.LayerEditableMenuItem_Click); - // - // SaveLayerMenuItem - // - this.SaveLayerMenuItem.Name = "SaveLayerMenuItem"; - this.SaveLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.SaveLayerMenuItem.Text = "保存"; - this.SaveLayerMenuItem.Click += new System.EventHandler(this.SaveLayerMenuItem_Click); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.移除图层ToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripMenuItem2, - this.toolStripMenuItem3, - this.toolStripMenuItem4}); - this.contextMenuStrip1.Name = "layerNodeContexMenu"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 114); - // - // 移除图层ToolStripMenuItem - // - this.移除图层ToolStripMenuItem.Name = "移除图层ToolStripMenuItem"; - this.移除图层ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); - this.移除图层ToolStripMenuItem.Text = "移除图层"; - this.移除图层ToolStripMenuItem.Click += new System.EventHandler(this.移除图层ToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem1.Text = "目标图层"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem2.Text = "可选择"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem3.Text = "可编辑"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem4.Text = "保存"; - this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); - // // FrmLayerControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -198,8 +100,6 @@ this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); - this.layerNodeContexMenu.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } @@ -209,16 +109,5 @@ private TreeView layerTree1; private SplitContainer splitContainer1; private TreeView layerTree2; - private ContextMenuStrip layerNodeContexMenu; - private ToolStripMenuItem FeatureAddLayerMenuItem; - private ToolStripMenuItem LayerSelectableMenuItem; - private ToolStripMenuItem LayerEditableMenuItem; - private ToolStripMenuItem SaveLayerMenuItem; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem toolStripMenuItem1; - private ToolStripMenuItem toolStripMenuItem2; - private ToolStripMenuItem toolStripMenuItem3; - private ToolStripMenuItem toolStripMenuItem4; - private ToolStripMenuItem 移除图层ToolStripMenuItem; } } \ No newline at end of file diff --git a/FrmLayerControl.cs b/FrmLayerControl.cs index e94e746..052be3a 100644 --- a/FrmLayerControl.cs +++ b/FrmLayerControl.cs @@ -10,9 +10,9 @@ { public partial class FrmLayerControl : Office2007Form { - TreeView treeView1; GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; + TreeNode terrainManagerNode = null; TreeNode layerManagerNode = null; TreeNode terrainManagerNode1 = null; @@ -25,84 +25,67 @@ globeControl2 = ctl2; } - /// - /// 窗体初始化事件处理 - /// - /// - /// - private void FrmLayerControl_Load(object sender, EventArgs e) + private void initLayerTree(out TreeNode treeNode, string strTreeNodeText) { - //加载layertree1 + treeNode=new TreeNode(); + treeNode.ImageIndex = 0; + treeNode.SelectedImageIndex = 0; + treeNode.Checked = false; + treeNode.Text = strTreeNodeText; + } + + private void initTreeView() + { layerTree1.Nodes.Clear(); layerTree2.Nodes.Clear(); //加载layertree2 - layerManagerNode1 = new TreeNode(); - layerManagerNode1.ImageIndex = 0; - layerManagerNode1.SelectedImageIndex = 0; - layerManagerNode1.Checked = false; - layerManagerNode1.Text = "图层管理"; + initLayerTree(out layerManagerNode1, "图层管理"); layerTree1.Nodes.Add(layerManagerNode1); - layerManagerNode = new TreeNode(); - layerManagerNode.ImageIndex = 0; - layerManagerNode.SelectedImageIndex = 0; - layerManagerNode.Checked = false; - layerManagerNode.Text = "图层管理"; - layerTree2.Nodes.Add(layerManagerNode); - - terrainManagerNode1 = new TreeNode(); - terrainManagerNode1.ImageIndex = 0; - terrainManagerNode1.SelectedImageIndex = 0; - terrainManagerNode1.Checked = false; - terrainManagerNode1.Text = "地形管理"; + initLayerTree(out terrainManagerNode1, "地形管理"); layerTree1.Nodes.Add(terrainManagerNode1); - terrainManagerNode = new TreeNode(); - terrainManagerNode.ImageIndex = 0; - terrainManagerNode.SelectedImageIndex = 0; - terrainManagerNode.Checked = false; - terrainManagerNode.Text = "地形管理"; + + initLayerTree(out layerManagerNode, "图层管理"); + layerTree2.Nodes.Add(layerManagerNode); + initLayerTree(out terrainManagerNode, "地形管理"); layerTree2.Nodes.Add(terrainManagerNode); - + } + + private void initNode(string nodeName) + { + TreeNode nodeGroupElse1 = new TreeNode(); + nodeGroupElse1.Text = nodeName; + layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); + + TreeNode nodeGroupElse = new TreeNode(); + nodeGroupElse.Text = nodeName == "供电" ? "电力" : nodeName; + layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + } + + private void initTreeNode(XmlNodeList Params) + { + foreach (XmlNode paramsNode in Params) //layers + { + foreach (XmlNode layerNode in paramsNode) //layer + { + initNode(layerNode.Attributes["label"].Value); + } + } + + initNode("基础图层"); + initNode("其他"); + } + + private void FrmLayerControl_Load(object sender, EventArgs e) + { + initTreeView(); try { XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + "\\双屏设置.xml"); - XmlNodeList Params1 = doc.SelectNodes("/Params/layers"); + XmlNodeList Params = doc.SelectNodes("/Params/layers"); - foreach (XmlNode paramsNode in Params1) //layers - { - foreach (XmlNode layerNode in paramsNode) //layer - { - TreeNode nodeGroup1 = new TreeNode(); - string nodeGroupName1 = layerNode.Attributes["label"].Value; - - nodeGroup1.Text = nodeGroupName1 == "电力" ? "供电" : nodeGroupName1; - - layerTree1.Nodes[0].Nodes.Add(nodeGroup1); - - TreeNode nodeGroup = new TreeNode(); - string nodeGroupName = layerNode.Attributes["label"].Value; - nodeGroup.Text = nodeGroupName; - layerTree2.Nodes[0].Nodes.Add(nodeGroup); - } - } - TreeNode nodeGroupElse1 = new TreeNode(); - string nodeGroupNameElse1 = "基础数据"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - TreeNode nodeGroupElse = new TreeNode(); - string nodeGroupNameElse = "基础数据"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); - - nodeGroupElse1 = new TreeNode(); - nodeGroupNameElse1 = "其它"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - nodeGroupElse = new TreeNode(); - nodeGroupNameElse = "其它"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + initTreeNode(Params); } catch (Exception ex) { @@ -111,88 +94,125 @@ RefreshLayerAndTerrainTree(); } - /// - /// 刷新节点树 - /// - private void RefreshLayerAndTerrainTree() + + private void addLayerTreeNode(int nLayerCount, int nTerrainCount, GSOGlobeControl globcontrol, + TreeView layerTree) { - ////layertree1 - int nLayerCount1 = globeControl1.Globe.Layers.Count; - int nTerrainCount1 = globeControl1.Globe.Terrains.Count; - - for (int i = 0; i < nLayerCount1; i++) + try { - GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer == null) continue; - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; - - bool isContains = false; - for (int j = 0; j < layerTree1.Nodes[0].Nodes.Count; j++) + for (int i = 0; i < nLayerCount; i++) { - if (!layerName.Contains("fttp:")) + GSOLayer layer = globcontrol.Globe.Layers[i]; + if (layer == null) continue; + string layerName = layer.Name; + TreeNode node = new TreeNode(); + node.Tag = layer; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = layer.Caption; + node.Checked = layer.Visible; + + bool isContains = false; + for (int j = 0; j < layerTree.Nodes[0].Nodes.Count; j++) { - if (layerName.Contains(layerTree1.Nodes[0].Nodes[j].Text.Trim()) && !layerName.Contains("施工") && - !layerName.Contains("规划")) + if (!layerName.Contains("fttp:")) { - layerTree1.Nodes[0].Nodes[j].Nodes.Add(node); + switch (layerTree.Name) + { + case "layerTree1": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim()) || + layerName.Contains("施工") || + layerName.Contains("规划")) continue; + break; + case "layerTree2": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim())) continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[j].Nodes.Add(node); + isContains = true; + break; + } + else + { + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 2].Nodes.Add(node); isContains = true; break; } } - else + switch (layerTree.Name) { - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; + case "layerTree1": + if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || + layerName.Contains("标注") || + isContains == true || layerName.Contains("施工") || layerName.Contains("规划") || + layerName.Contains("景观") || layerName.Contains("红线")) + continue; + break; + case "layerTree2": + if (isContains != false || layerName.Contains("tempLgdData2")) + continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 1].Nodes.Add(node); + } + + for (int i = 0; i < nTerrainCount; i++) + { + GSOTerrain terrain = globcontrol.Globe.Terrains[i]; + if (terrain == null) continue; + TreeNode node = new TreeNode(); + node.Tag = terrain; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = terrain.Caption; + node.Checked = terrain.Visible; + switch (layerTree.Name) + { + case "layerTree1": + terrainManagerNode1.Nodes.Add(node); + break; + case "layerTree2": + terrainManagerNode.Nodes.Add(node); + break; + default: + break; } } - if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || layerName.Contains("标注")) - continue; - if (isContains == false && !layerName.Contains("施工") && !layerName.Contains("规划") && - !layerName.Contains("景观") && !layerName.Contains("红线")) - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 1].Nodes.Add(node); } + catch (Exception ex) + { + LogError.PublishError(ex); + } + } + private void initTreeNodeCheckedStatus(TreeView layerTreeView) + { //节点选中状态控制 - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { foreach (TreeNode childNode in node.Nodes) { GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } + if (layer == null || layer.Visible != true) continue; + node.Checked = true; + break; } } - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { if (node.Checked != true) continue; - layerTree1.Nodes[0].Checked = true; + layerTreeView.Nodes[0].Checked = true; break; } - - for (int i = 0; i < nTerrainCount1; i++) - { - GSOTerrain terrain = globeControl1.Globe.Terrains[i]; - if (terrain == null) continue; - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode1.Nodes.Add(node); - } - - foreach (TreeNode node in layerTree1.Nodes[1].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[1].Nodes) { foreach (TreeNode childNode in node.Nodes) { @@ -202,99 +222,10 @@ break; } } - ///layertree2 - int nLayerCount = globeControl2.Globe.Layers.Count; - int nTerrainCount = globeControl2.Globe.Terrains.Count; - //int i = 0; - for (int i = 0; i < nLayerCount; i++) - { - GSOLayer layer = globeControl2.Globe.Layers[i]; - if (layer != null) - { - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; + } - bool isContains = false; - for (int j = 0; j < layerTree2.Nodes[0].Nodes.Count; j++) - { - if (!layerName.Contains("fttp:")) - { - if (layerName.Contains(layerTree2.Nodes[0].Nodes[j].Text.Trim())) - { - layerTree2.Nodes[0].Nodes[j].Nodes.Add(node); - isContains = true; - break; - } - } - else - { - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; - } - } - - if (layerName.Contains("tempLgdData2")) - continue; - if (isContains == false) - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 1].Nodes.Add(node); - } - } - - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - if (node.Checked == true) - { - layerTree2.Nodes[0].Checked = true; - break; - } - } - - for (int i = 0; i < nTerrainCount; i++) - { - GSOTerrain terrain = globeControl2.Globe.Terrains[i]; - if (terrain != null) - { - - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode.Nodes.Add(node); - } - } - foreach (TreeNode node in layerTree2.Nodes[1].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOTerrain layer = childNode.Tag as GSOTerrain; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - // 展开 + void exPandTreeNode() + { layerManagerNode1.Expand(); terrainManagerNode1.Expand(); layerManagerNode.Expand(); @@ -303,76 +234,22 @@ /// /// 刷新节点树 /// - private void RefreshDataTree() + private void RefreshLayerAndTerrainTree() { - layerTree2.Nodes[0].Nodes.Clear(); - Int32 nCount = globeControl2.Globe.Layers.Count; - Int32 i = 0; - for (i = 0; i < nCount; i++) - { - GSODataset dataSpace = globeControl2.Globe.Layers[i].Dataset; - TreeNode node = new TreeNode(); - node.Text = dataSpace.Name; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = true; - node.Tag = dataSpace; - layerTree2.Nodes[0].Nodes.Add(node); - } + int nLayerCount1 = globeControl1.Globe.Layers.Count;//图层 + int nTerrainCount1 = globeControl1.Globe.Terrains.Count;//地形 + addLayerTreeNode(nLayerCount1, nTerrainCount1, globeControl1, layerTree1); + initTreeNodeCheckedStatus(layerTree1); + + int nLayerCount = globeControl2.Globe.Layers.Count; + int nTerrainCount = globeControl2.Globe.Terrains.Count; + addLayerTreeNode(nLayerCount, nTerrainCount, globeControl2, layerTree2); + initTreeNodeCheckedStatus(layerTree2); + + // 展开 + exPandTreeNode(); } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void FeatureAddLayerMenuItem_Click(object sender, EventArgs e) - { - if (!FeatureAddLayerMenuItem.Checked) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - FeatureAddLayerMenuItem.Checked = true; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)node.Tag); - globeControl1.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void LayerSelectableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl1.Globe.Layers[nIndex]; - LayerSelectableMenuItem.Checked = !LayerSelectableMenuItem.Checked; - layer.Selectable = LayerSelectableMenuItem.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void LayerEditableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - LayerEditableMenuItem.Checked = !LayerEditableMenuItem.Checked; - layer.Editable = LayerEditableMenuItem.Checked; - } - /// - /// 保存图层按钮事件处理 - /// - /// - /// - private void SaveLayerMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - string layerCaption = node.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } + /// /// 节点树复选框选中状态改变事件处理 /// @@ -404,7 +281,7 @@ CheckParentNode(e.Node); if (e.Node.Nodes.Count > 0) checkChildrenNodeLayertree2(e.Node, e.Node.Checked); - } + } } /// /// 改变指定节点的子节点的选中状态 @@ -432,26 +309,15 @@ globeControl1.Globe.Refresh(); } if (childNode.Nodes.Count > 0) - { checkChildrenNodeLayertree1(childNode, isChecked); - } } } - private TreeNode queryNode(TreeNode node,string txt) - { - foreach (TreeNode n in node.Nodes) - { - return txt.Equals(n.Text) ? n : queryNode(n, txt); - } - return null; - - } /// /// 改变指定节点的子节点的选中状态 /// /// /// - private void checkChildrenNodeLayertree2(TreeNode parentNode,bool isChecked) + private void checkChildrenNodeLayertree2(TreeNode parentNode, bool isChecked) { foreach (TreeNode childNode in parentNode.Nodes) { @@ -475,121 +341,6 @@ checkChildrenNodeLayertree2(childNode, isChecked); } } - - /// - /// 改变指定节点的选中状态 - /// - /// - /// - private void CheckTreeNode(TreeNode node, Boolean bChecked) - { - CheckChildTreeNode(node, bChecked); - globeControl1.Globe.Refresh(); - globeControl2.Globe.Refresh(); - - } - private void CheckChildTreeNode(TreeNode node, Boolean bChecked) - { - if (node == null) - return; - if (node.Tag != null) - { - if (node.Tag.GetType() == typeof(GSOFeatureFolder) || - node.Tag.GetType() == typeof(GSOFeature)) - ((GSOFeature) node.Tag).SetVisibleDirectly(bChecked); - else - { - GSOLayer curLayer = node.Tag as GSOLayer; - GSOTerrain curTerrain = node.Tag as GSOTerrain; - if (curLayer != null) - curLayer.Visible = bChecked; - else if (curTerrain != null) - curTerrain.Visible = bChecked; - } - } - // 递归处理子节点 - for (int i = 0; i < node.Nodes.Count; i++) - { - node.Nodes[i].Checked = bChecked; - CheckChildTreeNode(node.Nodes[i], bChecked); - } - } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - if (!toolStripMenuItem1.Checked) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - toolStripMenuItem1.Checked = true; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text.ToString()); - globeControl2.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void toolStripMenuItem2_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl2.Globe.Layers[nIndex]; - toolStripMenuItem2.Checked = !toolStripMenuItem2.Checked; - layer.Selectable = toolStripMenuItem2.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void toolStripMenuItem3_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text); - toolStripMenuItem3.Checked = !toolStripMenuItem3.Checked; - layer.Editable = toolStripMenuItem3.Checked; - } - /// - /// 保存按钮事件处理 - /// - /// - /// - private void toolStripMenuItem4_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - - string layerCaption = node.Text; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } - /// - /// 移除图层按钮事件处理 - /// - /// - /// - private void 移除图层ToolStripMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - TreeNode parentNode = node.Parent; - Int32 nIndex = node.Index; - - if (parentNode != layerManagerNode) - globeControl2.Globe.Terrains.Remove(nIndex); - else - { - string layername = globeControl2.Globe.Layers[nIndex].Name; - globeControl2.Globe.Layers.Remove(nIndex); - - globeControl2.Globe.DataManager.DeleteDataSourceByName(layername); - } - node.Remove(); - globeControl2.Globe.Refresh(); - } /// /// 节点树选中状态改变事件 /// @@ -623,91 +374,6 @@ checkChildrenNodeLayertree1(e.Node, e.Node.Checked); } } - - private TreeNode queryNodeFromTree(string txt , TreeView tree) - { - TreeNode node = null; - foreach (TreeNode n in tree.Nodes) - { - if (n.Text.Equals(txt)) - return n; - else - { - node = queryChildNode(txt, n); - if (null != node) - return node; - } - } - return null; - } - - private TreeNode queryChildNode(String txt, TreeNode parent) - { - TreeNode child = null; - foreach (TreeNode node in parent.Nodes) - { - if (txt.Equals(node.Text)) - return node; - else - { - child = queryChildNode(txt, node); - if (null != child) - return child; - } - } - return null; - } - - - /// - /// 树节点选中方法 - /// - /// - private void CheckControl(TreeViewEventArgs e) - { - if (e.Action != TreeViewAction.Unknown) - { - if (e.Node != null && !Convert.IsDBNull(e.Node)) - { - CheckParentNode(e.Node); - if (e.Node.Nodes.Count > 0) - CheckAllChildNodes(e.Node, e.Node.Checked); - } - } - } - /// - /// 改变所有子节点的状态 - /// - /// - /// - private void CheckAllChildNodes(TreeNode pn, bool IsChecked) - { - foreach (TreeNode tn in pn.Nodes) - { - tn.Checked = IsChecked; - if (tn.Tag.ToString().Contains("|")) - { - string nodeTag = tn.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(nodeTag); - if (layer != null) - { - layer.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Tag is GSOFeature) - { - if (tn.Nodes.Count == 0) - { - GSOFeature feat = tn.Tag as GSOFeature; - feat.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Nodes.Count > 0) - CheckAllChildNodes(tn, IsChecked); - } - } /// /// 改变父节点的选中状态,此处为所有子节点不选中时才取消父节点选中,可以根据需要修改 /// @@ -726,7 +392,6 @@ break; } } - if (bChecked) { curNode.Parent.Checked = true; diff --git a/FrmLayerControl.resx b/FrmLayerControl.resx index 34f1053..d58980a 100644 --- a/FrmLayerControl.resx +++ b/FrmLayerControl.resx @@ -117,10 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - - - 206, 17 - \ No newline at end of file diff --git a/MainFrm.cs b/MainFrm.cs index 5ea4e0c..e261e8f 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -8770,7 +8770,7 @@ LogManager.saveLog(Utility.userName, buttonItem8.Text); int width = Width; - FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, Utility.m_PipelineLayerNames, Utility.sgPipeLayersNames, width); + FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, width); } /// /// 红线审核导出图片 @@ -8838,6 +8838,7 @@ trackflag = "BSQDuoBianXiangStatis"; globeControl1.Globe.Action = EnumAction3D.TrackPolygon; } + private void btn_check_history_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, btn_check_history.Text); diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 9c3c430..93a213d 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -2009,7 +2009,6 @@ // timer1 // this.timer1.Interval = 500; - //this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // // layerNodeContexMenu // @@ -2284,11 +2283,11 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); + this.ribbonControl1.Controls.Add(this.ribbonPanel15); + this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel12); this.ribbonControl1.Controls.Add(this.ribbonPanel1); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2357,6 +2356,7 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; + this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -3926,7 +3926,6 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; - this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -4469,6 +4468,7 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -4489,7 +4489,6 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5484,7 +5483,7 @@ this.dataGridViewX2.ReadOnly = true; this.dataGridViewX2.RowHeadersVisible = false; this.dataGridViewX2.RowTemplate.Height = 23; - this.dataGridViewX2.Size = new System.Drawing.Size(21874, 92); + this.dataGridViewX2.Size = new System.Drawing.Size(22171, 92); this.dataGridViewX2.TabIndex = 11; // // dataGridViewTextBoxColumn10 @@ -5578,7 +5577,7 @@ this.dataGridViewX3.ReadOnly = true; this.dataGridViewX3.RowHeadersVisible = false; this.dataGridViewX3.RowTemplate.Height = 23; - this.dataGridViewX3.Size = new System.Drawing.Size(21873, 127); + this.dataGridViewX3.Size = new System.Drawing.Size(22170, 127); this.dataGridViewX3.TabIndex = 5; this.dataGridViewX3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX3_MouseDoubleClick); // @@ -5836,7 +5835,7 @@ this.dataGridViewX8.ReadOnly = true; this.dataGridViewX8.RowHeadersVisible = false; this.dataGridViewX8.RowTemplate.Height = 23; - this.dataGridViewX8.Size = new System.Drawing.Size(40, 92); + this.dataGridViewX8.Size = new System.Drawing.Size(23, 92); this.dataGridViewX8.TabIndex = 11; // // dataGridViewTextBoxColumn12 @@ -5931,7 +5930,7 @@ this.dataGridViewX9.ReadOnly = true; this.dataGridViewX9.RowHeadersVisible = false; this.dataGridViewX9.RowTemplate.Height = 23; - this.dataGridViewX9.Size = new System.Drawing.Size(39, 127); + this.dataGridViewX9.Size = new System.Drawing.Size(22, 127); this.dataGridViewX9.TabIndex = 5; this.dataGridViewX9.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX9_MouseDoubleClick); // diff --git a/MainFrm.resx b/MainFrm.resx index bf053b9..9921566 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,6 +351,505 @@ 766, 54 + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 + 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f + 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 + uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 + SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD + bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 + 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG + TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX + 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj + p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY + RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB + lh7gOXXZq9sAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU + TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt + fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 + Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN + /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy + yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF + NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA + CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx + flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B + CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp + olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh + Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO + Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim + r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 + uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 + AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6CHDkjAAAGmklEQVRIS63VeUzWRx7H8d8mu2uL2nUFDwTEEzDeqNvUAyxY + RBFKtYIcFQ9QFOX04XrggQqycttKEFmPVTxWBQUUPCJUrPA8PA8PaAVpQRBBqAheWEU2Td87P2uy/zRt + NttJXsnM/L4zn8nkl4w05f0l/5ffbL+06H/xm81y3ofGonCF4PU78rCaZ7d07BRrQ/kU7t81t2gHBgZ+ + Ghj4N7+H/v7XP+pqb12aPMfWRdoRm6R81d9Py70HBIWmEa1KJjY+BR+/GFZ7RePm+ZZ3NGvWRuHlE81q + t0jc3CN+5hb+s9XCp+HEqbLpffyUp319P1rOsd0ghSoTVX19L8QGsfx5uB0jxn2Cg/Nm7Jf5YmyxkqGm + HzN4tAsGI50xtXLF0NyZQe8tw2CozJF3Bi/lXQMHDAw+4h1h0KAFpKQc4fHjJ0y2tvGXgqN2xj191sfi + FUEMHe/D4EkRGM6IwX3LAXyDc1jgksTcZYmYzYvBdG40RtMjRV04Q8zCGSozCWOISShDjIOFQAyGrUAR + tY+e3jcBW6XAiPiEnidPsf90B4azgzG2+RJTu1wmfrQf14AzrA/7Fz5hp3DbdpwZLtlMc8rCZNEehltn + MGyWMDOdv8xI5b2pu/nrtAQGm3iiUB3k4aMeEbAoSApQqHbJA3u3aEbPj2eS60ksVuVj7V3ALI8zLAso + xkNRwibVRfxUpSzxPY21ex4TnI5g7niEUUsOMnzxfmZ9vJ9JS7MwnL4JReJRvn/4UA4IkbaExezu/L4b + hzVKzD9MEJufwdKtkKmehby/rogPNhThHHiBdcpSlHsqcNp6lnleJ5my8gSWrscxWX4EIxGy0OMgU51z + GDXb/03Agy45wGaHtDkkOrXtQRdufvE4+mSwMuIyjiHl2GwTAsqZv7UM+8ByXMPL2HlAz85cHSsVl1nk + d56FfsV8sK6QaWsKWBGQj+36E0xYFEJU8jHa2jvlgEjJLygyvbWtA88tiSz3yyY0Q0Nwpp4Nu2rwT6lj + fVIt65LqcI+vYePfa0jNu0N8bi0+O2/gEVuBp+CsuIqP6gpu4ReY6aQkLuMUrW3tcoBS2rA94oumljZU + iemk/6OAvMv3Oa9/iq6jn5MVz9lb2EVGfgd7izr5/GgLSce+41BJKxXf9FBZ34syp5bILC2xOVr8d1/H + xj2RlOx8msWeIiBOWh+gyGpsakGZmEHOsXPUNT/kkv4JuqaX6Dt+4mTlKw6WPxN6OVzezb7SdvKutlN1 + p5eG+33CM7IKGiipukf+V034Kr7g2JkLNDa3YGFtkyD5bAnLvt3YRJgqlcTsU5Sqm2hp64aXPdztfk2B + 7hWHrz0jrbib1MJO9pa0k3PpPifL2jh3vRX1Nx00tj6m6f4TXve/IOvQCS5dLaehsVkO2CV95h+aW3e7 + keS0TNJzTtDaco+XL57T2SM87KP45g+U3v6BE5onHK7o5lRVF3nlLZTrxDXp71HX1EVzaxdtbZ10t3eQ + mbWf/OJSbjU0YjHHNlny3hxyQF9XT3JyKqdPF1ChbaT+2w4uXr+G9nY9+rsvudv1ir7+AXofPed+xyPa + hTvNnejudFCha+RKZQNVVVrq6pvJ2JtNQdF5am81yAFpkqdf0GGN/hafx0WxJy2OC2ePcOWrIhISnElQ + OVOmuUHhlRIqr+VTrlGj0aup0lSi1l2mtuYy2opznDudRvHRML69dZEohS95B5LQ1d6WAzKlNb6BR6u0 + dbiucsRliTl+PlasXzeXiOBFRO6Yj6/fTMK2z2Rf5EQK9thyMMGOndGOHP1yMedybTme68bhhBnigCsI + VTrg7TWfjF1hVNfUyQF7JfcN2499rdazKyUVFzsrFtpb4GA/G1ubsbg4GWNra8zaVWZ85jKOzK0mKD2M + 8Vo9lo1elvivtcJz9WS8nMbiu3I8DsvNcP7kbxScLeZrdY38m2ZLS1y9DpVdV1NWUcX1GxoqNdXiCnSo + NVpBR7W2Bk11zZu+TivP68T4v6oFea5SLdOiv1kvTn+TM4UlzybNXpAqWcyx2ei9Kbg0KDJeHRgRqwmO + jNMGR8bXhLwl+nqh9lfo39bVhETF64Ki4rTbFDHVE2fO/6fppOle0h//NMhg9Dgru9HmlhtHmE7cbmQy + IdRozHiF0ZhxUYbG5tGCUogVVMONzeNkcv+tGEGuiRb14UYmYp3JhJARZhMDho0cs1w8+RPkd/8PwrvC + MGGkMFowFkzeMhXMhLG/QJ6Xv8t1YwR57ShB3me4JElD/wNGauB2a7BHHAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy + ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 + 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM + 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN + z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D + ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW + QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd + R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN + Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm + 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD + YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q + dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE + H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel + v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I + E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj + 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL + zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M + R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH + prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 + U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB + 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD + QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG + 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU + 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao + GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc + 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 + /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC + Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ + KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o + VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX + 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 + seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt + NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei + /A9dc78cqtG90gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4033,253 +4532,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 - 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f - 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 - uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 - SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD - bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 - 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG - TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX - 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj - p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY - RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB - lh7gOXXZq9sAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU - TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt - fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 - Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN - /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy - yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF - NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA - CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx - flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B - CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp - olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh - Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO - Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim - r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 - uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 - AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy - ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 - 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM - 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN - z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D - ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW - QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd - R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN - Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm - 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD - YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q - dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE - H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel - v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I - E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj - 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL - zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M - R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH - prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 - U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB - 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD - QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG - 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU - 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao - GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc - 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 - /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC - Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ - KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o - VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX - 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 - seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt - NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei - /A9dc78cqtG90gAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4314,258 +4566,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 diff --git a/bin/x86/Debug/Config.xml b/bin/x86/Debug/Config.xml index a5a72aa..f51e443 100644 --- a/bin/x86/Debug/Config.xml +++ b/bin/x86/Debug/Config.xml @@ -1,11 +1,11 @@  LocaSpace三维地下管线信息系统 - release - SZHTDB2 - 192.168.0.203 - release - 192.168.0.203 + scott + SZDB + 127.0.0.1 + SZDB + 127.0.0.1 1500 http://192.168.0.203/images/ http://192.168.0.203/images/default.jpg @@ -141,6 +141,14 @@ + + + + + + + + diff --git a/bin/x86/Debug/Cyberpipe.exe b/bin/x86/Debug/Cyberpipe.exe index 65b7db7..e7b3f3d 100644 --- a/bin/x86/Debug/Cyberpipe.exe +++ b/bin/x86/Debug/Cyberpipe.exe Binary files differ diff --git a/bin/x86/Debug/Cyberpipe.pdb b/bin/x86/Debug/Cyberpipe.pdb index 789717f..2b95ea6 100644 --- a/bin/x86/Debug/Cyberpipe.pdb +++ b/bin/x86/Debug/Cyberpipe.pdb Binary files differ diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/FrmLayerControl.Designer.cs b/FrmLayerControl.Designer.cs index d1ab3e6..35df5d1 100644 --- a/FrmLayerControl.Designer.cs +++ b/FrmLayerControl.Designer.cs @@ -31,27 +31,13 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.layerTree1 = new System.Windows.Forms.TreeView(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.layerTree2 = new System.Windows.Forms.TreeView(); - this.layerNodeContexMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.FeatureAddLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerSelectableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerEditableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.移除图层ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.layerNodeContexMenu.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // layerTree1 @@ -94,90 +80,6 @@ this.layerTree2.TabIndex = 3; this.layerTree2.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree2_AfterCheck); // - // layerNodeContexMenu - // - this.layerNodeContexMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.FeatureAddLayerMenuItem, - this.LayerSelectableMenuItem, - this.LayerEditableMenuItem, - this.SaveLayerMenuItem}); - this.layerNodeContexMenu.Name = "layerNodeContexMenu"; - this.layerNodeContexMenu.Size = new System.Drawing.Size(125, 92); - // - // FeatureAddLayerMenuItem - // - this.FeatureAddLayerMenuItem.Name = "FeatureAddLayerMenuItem"; - this.FeatureAddLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.FeatureAddLayerMenuItem.Text = "目标图层"; - this.FeatureAddLayerMenuItem.Click += new System.EventHandler(this.FeatureAddLayerMenuItem_Click); - // - // LayerSelectableMenuItem - // - this.LayerSelectableMenuItem.Name = "LayerSelectableMenuItem"; - this.LayerSelectableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerSelectableMenuItem.Text = "可选择"; - this.LayerSelectableMenuItem.Click += new System.EventHandler(this.LayerSelectableMenuItem_Click); - // - // LayerEditableMenuItem - // - this.LayerEditableMenuItem.Name = "LayerEditableMenuItem"; - this.LayerEditableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerEditableMenuItem.Text = "可编辑"; - this.LayerEditableMenuItem.Click += new System.EventHandler(this.LayerEditableMenuItem_Click); - // - // SaveLayerMenuItem - // - this.SaveLayerMenuItem.Name = "SaveLayerMenuItem"; - this.SaveLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.SaveLayerMenuItem.Text = "保存"; - this.SaveLayerMenuItem.Click += new System.EventHandler(this.SaveLayerMenuItem_Click); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.移除图层ToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripMenuItem2, - this.toolStripMenuItem3, - this.toolStripMenuItem4}); - this.contextMenuStrip1.Name = "layerNodeContexMenu"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 114); - // - // 移除图层ToolStripMenuItem - // - this.移除图层ToolStripMenuItem.Name = "移除图层ToolStripMenuItem"; - this.移除图层ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); - this.移除图层ToolStripMenuItem.Text = "移除图层"; - this.移除图层ToolStripMenuItem.Click += new System.EventHandler(this.移除图层ToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem1.Text = "目标图层"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem2.Text = "可选择"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem3.Text = "可编辑"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem4.Text = "保存"; - this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); - // // FrmLayerControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -198,8 +100,6 @@ this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); - this.layerNodeContexMenu.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } @@ -209,16 +109,5 @@ private TreeView layerTree1; private SplitContainer splitContainer1; private TreeView layerTree2; - private ContextMenuStrip layerNodeContexMenu; - private ToolStripMenuItem FeatureAddLayerMenuItem; - private ToolStripMenuItem LayerSelectableMenuItem; - private ToolStripMenuItem LayerEditableMenuItem; - private ToolStripMenuItem SaveLayerMenuItem; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem toolStripMenuItem1; - private ToolStripMenuItem toolStripMenuItem2; - private ToolStripMenuItem toolStripMenuItem3; - private ToolStripMenuItem toolStripMenuItem4; - private ToolStripMenuItem 移除图层ToolStripMenuItem; } } \ No newline at end of file diff --git a/FrmLayerControl.cs b/FrmLayerControl.cs index e94e746..052be3a 100644 --- a/FrmLayerControl.cs +++ b/FrmLayerControl.cs @@ -10,9 +10,9 @@ { public partial class FrmLayerControl : Office2007Form { - TreeView treeView1; GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; + TreeNode terrainManagerNode = null; TreeNode layerManagerNode = null; TreeNode terrainManagerNode1 = null; @@ -25,84 +25,67 @@ globeControl2 = ctl2; } - /// - /// 窗体初始化事件处理 - /// - /// - /// - private void FrmLayerControl_Load(object sender, EventArgs e) + private void initLayerTree(out TreeNode treeNode, string strTreeNodeText) { - //加载layertree1 + treeNode=new TreeNode(); + treeNode.ImageIndex = 0; + treeNode.SelectedImageIndex = 0; + treeNode.Checked = false; + treeNode.Text = strTreeNodeText; + } + + private void initTreeView() + { layerTree1.Nodes.Clear(); layerTree2.Nodes.Clear(); //加载layertree2 - layerManagerNode1 = new TreeNode(); - layerManagerNode1.ImageIndex = 0; - layerManagerNode1.SelectedImageIndex = 0; - layerManagerNode1.Checked = false; - layerManagerNode1.Text = "图层管理"; + initLayerTree(out layerManagerNode1, "图层管理"); layerTree1.Nodes.Add(layerManagerNode1); - layerManagerNode = new TreeNode(); - layerManagerNode.ImageIndex = 0; - layerManagerNode.SelectedImageIndex = 0; - layerManagerNode.Checked = false; - layerManagerNode.Text = "图层管理"; - layerTree2.Nodes.Add(layerManagerNode); - - terrainManagerNode1 = new TreeNode(); - terrainManagerNode1.ImageIndex = 0; - terrainManagerNode1.SelectedImageIndex = 0; - terrainManagerNode1.Checked = false; - terrainManagerNode1.Text = "地形管理"; + initLayerTree(out terrainManagerNode1, "地形管理"); layerTree1.Nodes.Add(terrainManagerNode1); - terrainManagerNode = new TreeNode(); - terrainManagerNode.ImageIndex = 0; - terrainManagerNode.SelectedImageIndex = 0; - terrainManagerNode.Checked = false; - terrainManagerNode.Text = "地形管理"; + + initLayerTree(out layerManagerNode, "图层管理"); + layerTree2.Nodes.Add(layerManagerNode); + initLayerTree(out terrainManagerNode, "地形管理"); layerTree2.Nodes.Add(terrainManagerNode); - + } + + private void initNode(string nodeName) + { + TreeNode nodeGroupElse1 = new TreeNode(); + nodeGroupElse1.Text = nodeName; + layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); + + TreeNode nodeGroupElse = new TreeNode(); + nodeGroupElse.Text = nodeName == "供电" ? "电力" : nodeName; + layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + } + + private void initTreeNode(XmlNodeList Params) + { + foreach (XmlNode paramsNode in Params) //layers + { + foreach (XmlNode layerNode in paramsNode) //layer + { + initNode(layerNode.Attributes["label"].Value); + } + } + + initNode("基础图层"); + initNode("其他"); + } + + private void FrmLayerControl_Load(object sender, EventArgs e) + { + initTreeView(); try { XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + "\\双屏设置.xml"); - XmlNodeList Params1 = doc.SelectNodes("/Params/layers"); + XmlNodeList Params = doc.SelectNodes("/Params/layers"); - foreach (XmlNode paramsNode in Params1) //layers - { - foreach (XmlNode layerNode in paramsNode) //layer - { - TreeNode nodeGroup1 = new TreeNode(); - string nodeGroupName1 = layerNode.Attributes["label"].Value; - - nodeGroup1.Text = nodeGroupName1 == "电力" ? "供电" : nodeGroupName1; - - layerTree1.Nodes[0].Nodes.Add(nodeGroup1); - - TreeNode nodeGroup = new TreeNode(); - string nodeGroupName = layerNode.Attributes["label"].Value; - nodeGroup.Text = nodeGroupName; - layerTree2.Nodes[0].Nodes.Add(nodeGroup); - } - } - TreeNode nodeGroupElse1 = new TreeNode(); - string nodeGroupNameElse1 = "基础数据"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - TreeNode nodeGroupElse = new TreeNode(); - string nodeGroupNameElse = "基础数据"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); - - nodeGroupElse1 = new TreeNode(); - nodeGroupNameElse1 = "其它"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - nodeGroupElse = new TreeNode(); - nodeGroupNameElse = "其它"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + initTreeNode(Params); } catch (Exception ex) { @@ -111,88 +94,125 @@ RefreshLayerAndTerrainTree(); } - /// - /// 刷新节点树 - /// - private void RefreshLayerAndTerrainTree() + + private void addLayerTreeNode(int nLayerCount, int nTerrainCount, GSOGlobeControl globcontrol, + TreeView layerTree) { - ////layertree1 - int nLayerCount1 = globeControl1.Globe.Layers.Count; - int nTerrainCount1 = globeControl1.Globe.Terrains.Count; - - for (int i = 0; i < nLayerCount1; i++) + try { - GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer == null) continue; - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; - - bool isContains = false; - for (int j = 0; j < layerTree1.Nodes[0].Nodes.Count; j++) + for (int i = 0; i < nLayerCount; i++) { - if (!layerName.Contains("fttp:")) + GSOLayer layer = globcontrol.Globe.Layers[i]; + if (layer == null) continue; + string layerName = layer.Name; + TreeNode node = new TreeNode(); + node.Tag = layer; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = layer.Caption; + node.Checked = layer.Visible; + + bool isContains = false; + for (int j = 0; j < layerTree.Nodes[0].Nodes.Count; j++) { - if (layerName.Contains(layerTree1.Nodes[0].Nodes[j].Text.Trim()) && !layerName.Contains("施工") && - !layerName.Contains("规划")) + if (!layerName.Contains("fttp:")) { - layerTree1.Nodes[0].Nodes[j].Nodes.Add(node); + switch (layerTree.Name) + { + case "layerTree1": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim()) || + layerName.Contains("施工") || + layerName.Contains("规划")) continue; + break; + case "layerTree2": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim())) continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[j].Nodes.Add(node); + isContains = true; + break; + } + else + { + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 2].Nodes.Add(node); isContains = true; break; } } - else + switch (layerTree.Name) { - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; + case "layerTree1": + if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || + layerName.Contains("标注") || + isContains == true || layerName.Contains("施工") || layerName.Contains("规划") || + layerName.Contains("景观") || layerName.Contains("红线")) + continue; + break; + case "layerTree2": + if (isContains != false || layerName.Contains("tempLgdData2")) + continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 1].Nodes.Add(node); + } + + for (int i = 0; i < nTerrainCount; i++) + { + GSOTerrain terrain = globcontrol.Globe.Terrains[i]; + if (terrain == null) continue; + TreeNode node = new TreeNode(); + node.Tag = terrain; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = terrain.Caption; + node.Checked = terrain.Visible; + switch (layerTree.Name) + { + case "layerTree1": + terrainManagerNode1.Nodes.Add(node); + break; + case "layerTree2": + terrainManagerNode.Nodes.Add(node); + break; + default: + break; } } - if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || layerName.Contains("标注")) - continue; - if (isContains == false && !layerName.Contains("施工") && !layerName.Contains("规划") && - !layerName.Contains("景观") && !layerName.Contains("红线")) - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 1].Nodes.Add(node); } + catch (Exception ex) + { + LogError.PublishError(ex); + } + } + private void initTreeNodeCheckedStatus(TreeView layerTreeView) + { //节点选中状态控制 - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { foreach (TreeNode childNode in node.Nodes) { GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } + if (layer == null || layer.Visible != true) continue; + node.Checked = true; + break; } } - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { if (node.Checked != true) continue; - layerTree1.Nodes[0].Checked = true; + layerTreeView.Nodes[0].Checked = true; break; } - - for (int i = 0; i < nTerrainCount1; i++) - { - GSOTerrain terrain = globeControl1.Globe.Terrains[i]; - if (terrain == null) continue; - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode1.Nodes.Add(node); - } - - foreach (TreeNode node in layerTree1.Nodes[1].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[1].Nodes) { foreach (TreeNode childNode in node.Nodes) { @@ -202,99 +222,10 @@ break; } } - ///layertree2 - int nLayerCount = globeControl2.Globe.Layers.Count; - int nTerrainCount = globeControl2.Globe.Terrains.Count; - //int i = 0; - for (int i = 0; i < nLayerCount; i++) - { - GSOLayer layer = globeControl2.Globe.Layers[i]; - if (layer != null) - { - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; + } - bool isContains = false; - for (int j = 0; j < layerTree2.Nodes[0].Nodes.Count; j++) - { - if (!layerName.Contains("fttp:")) - { - if (layerName.Contains(layerTree2.Nodes[0].Nodes[j].Text.Trim())) - { - layerTree2.Nodes[0].Nodes[j].Nodes.Add(node); - isContains = true; - break; - } - } - else - { - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; - } - } - - if (layerName.Contains("tempLgdData2")) - continue; - if (isContains == false) - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 1].Nodes.Add(node); - } - } - - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - if (node.Checked == true) - { - layerTree2.Nodes[0].Checked = true; - break; - } - } - - for (int i = 0; i < nTerrainCount; i++) - { - GSOTerrain terrain = globeControl2.Globe.Terrains[i]; - if (terrain != null) - { - - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode.Nodes.Add(node); - } - } - foreach (TreeNode node in layerTree2.Nodes[1].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOTerrain layer = childNode.Tag as GSOTerrain; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - // 展开 + void exPandTreeNode() + { layerManagerNode1.Expand(); terrainManagerNode1.Expand(); layerManagerNode.Expand(); @@ -303,76 +234,22 @@ /// /// 刷新节点树 /// - private void RefreshDataTree() + private void RefreshLayerAndTerrainTree() { - layerTree2.Nodes[0].Nodes.Clear(); - Int32 nCount = globeControl2.Globe.Layers.Count; - Int32 i = 0; - for (i = 0; i < nCount; i++) - { - GSODataset dataSpace = globeControl2.Globe.Layers[i].Dataset; - TreeNode node = new TreeNode(); - node.Text = dataSpace.Name; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = true; - node.Tag = dataSpace; - layerTree2.Nodes[0].Nodes.Add(node); - } + int nLayerCount1 = globeControl1.Globe.Layers.Count;//图层 + int nTerrainCount1 = globeControl1.Globe.Terrains.Count;//地形 + addLayerTreeNode(nLayerCount1, nTerrainCount1, globeControl1, layerTree1); + initTreeNodeCheckedStatus(layerTree1); + + int nLayerCount = globeControl2.Globe.Layers.Count; + int nTerrainCount = globeControl2.Globe.Terrains.Count; + addLayerTreeNode(nLayerCount, nTerrainCount, globeControl2, layerTree2); + initTreeNodeCheckedStatus(layerTree2); + + // 展开 + exPandTreeNode(); } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void FeatureAddLayerMenuItem_Click(object sender, EventArgs e) - { - if (!FeatureAddLayerMenuItem.Checked) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - FeatureAddLayerMenuItem.Checked = true; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)node.Tag); - globeControl1.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void LayerSelectableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl1.Globe.Layers[nIndex]; - LayerSelectableMenuItem.Checked = !LayerSelectableMenuItem.Checked; - layer.Selectable = LayerSelectableMenuItem.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void LayerEditableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - LayerEditableMenuItem.Checked = !LayerEditableMenuItem.Checked; - layer.Editable = LayerEditableMenuItem.Checked; - } - /// - /// 保存图层按钮事件处理 - /// - /// - /// - private void SaveLayerMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - string layerCaption = node.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } + /// /// 节点树复选框选中状态改变事件处理 /// @@ -404,7 +281,7 @@ CheckParentNode(e.Node); if (e.Node.Nodes.Count > 0) checkChildrenNodeLayertree2(e.Node, e.Node.Checked); - } + } } /// /// 改变指定节点的子节点的选中状态 @@ -432,26 +309,15 @@ globeControl1.Globe.Refresh(); } if (childNode.Nodes.Count > 0) - { checkChildrenNodeLayertree1(childNode, isChecked); - } } } - private TreeNode queryNode(TreeNode node,string txt) - { - foreach (TreeNode n in node.Nodes) - { - return txt.Equals(n.Text) ? n : queryNode(n, txt); - } - return null; - - } /// /// 改变指定节点的子节点的选中状态 /// /// /// - private void checkChildrenNodeLayertree2(TreeNode parentNode,bool isChecked) + private void checkChildrenNodeLayertree2(TreeNode parentNode, bool isChecked) { foreach (TreeNode childNode in parentNode.Nodes) { @@ -475,121 +341,6 @@ checkChildrenNodeLayertree2(childNode, isChecked); } } - - /// - /// 改变指定节点的选中状态 - /// - /// - /// - private void CheckTreeNode(TreeNode node, Boolean bChecked) - { - CheckChildTreeNode(node, bChecked); - globeControl1.Globe.Refresh(); - globeControl2.Globe.Refresh(); - - } - private void CheckChildTreeNode(TreeNode node, Boolean bChecked) - { - if (node == null) - return; - if (node.Tag != null) - { - if (node.Tag.GetType() == typeof(GSOFeatureFolder) || - node.Tag.GetType() == typeof(GSOFeature)) - ((GSOFeature) node.Tag).SetVisibleDirectly(bChecked); - else - { - GSOLayer curLayer = node.Tag as GSOLayer; - GSOTerrain curTerrain = node.Tag as GSOTerrain; - if (curLayer != null) - curLayer.Visible = bChecked; - else if (curTerrain != null) - curTerrain.Visible = bChecked; - } - } - // 递归处理子节点 - for (int i = 0; i < node.Nodes.Count; i++) - { - node.Nodes[i].Checked = bChecked; - CheckChildTreeNode(node.Nodes[i], bChecked); - } - } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - if (!toolStripMenuItem1.Checked) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - toolStripMenuItem1.Checked = true; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text.ToString()); - globeControl2.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void toolStripMenuItem2_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl2.Globe.Layers[nIndex]; - toolStripMenuItem2.Checked = !toolStripMenuItem2.Checked; - layer.Selectable = toolStripMenuItem2.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void toolStripMenuItem3_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text); - toolStripMenuItem3.Checked = !toolStripMenuItem3.Checked; - layer.Editable = toolStripMenuItem3.Checked; - } - /// - /// 保存按钮事件处理 - /// - /// - /// - private void toolStripMenuItem4_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - - string layerCaption = node.Text; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } - /// - /// 移除图层按钮事件处理 - /// - /// - /// - private void 移除图层ToolStripMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - TreeNode parentNode = node.Parent; - Int32 nIndex = node.Index; - - if (parentNode != layerManagerNode) - globeControl2.Globe.Terrains.Remove(nIndex); - else - { - string layername = globeControl2.Globe.Layers[nIndex].Name; - globeControl2.Globe.Layers.Remove(nIndex); - - globeControl2.Globe.DataManager.DeleteDataSourceByName(layername); - } - node.Remove(); - globeControl2.Globe.Refresh(); - } /// /// 节点树选中状态改变事件 /// @@ -623,91 +374,6 @@ checkChildrenNodeLayertree1(e.Node, e.Node.Checked); } } - - private TreeNode queryNodeFromTree(string txt , TreeView tree) - { - TreeNode node = null; - foreach (TreeNode n in tree.Nodes) - { - if (n.Text.Equals(txt)) - return n; - else - { - node = queryChildNode(txt, n); - if (null != node) - return node; - } - } - return null; - } - - private TreeNode queryChildNode(String txt, TreeNode parent) - { - TreeNode child = null; - foreach (TreeNode node in parent.Nodes) - { - if (txt.Equals(node.Text)) - return node; - else - { - child = queryChildNode(txt, node); - if (null != child) - return child; - } - } - return null; - } - - - /// - /// 树节点选中方法 - /// - /// - private void CheckControl(TreeViewEventArgs e) - { - if (e.Action != TreeViewAction.Unknown) - { - if (e.Node != null && !Convert.IsDBNull(e.Node)) - { - CheckParentNode(e.Node); - if (e.Node.Nodes.Count > 0) - CheckAllChildNodes(e.Node, e.Node.Checked); - } - } - } - /// - /// 改变所有子节点的状态 - /// - /// - /// - private void CheckAllChildNodes(TreeNode pn, bool IsChecked) - { - foreach (TreeNode tn in pn.Nodes) - { - tn.Checked = IsChecked; - if (tn.Tag.ToString().Contains("|")) - { - string nodeTag = tn.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(nodeTag); - if (layer != null) - { - layer.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Tag is GSOFeature) - { - if (tn.Nodes.Count == 0) - { - GSOFeature feat = tn.Tag as GSOFeature; - feat.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Nodes.Count > 0) - CheckAllChildNodes(tn, IsChecked); - } - } /// /// 改变父节点的选中状态,此处为所有子节点不选中时才取消父节点选中,可以根据需要修改 /// @@ -726,7 +392,6 @@ break; } } - if (bChecked) { curNode.Parent.Checked = true; diff --git a/FrmLayerControl.resx b/FrmLayerControl.resx index 34f1053..d58980a 100644 --- a/FrmLayerControl.resx +++ b/FrmLayerControl.resx @@ -117,10 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - - - 206, 17 - \ No newline at end of file diff --git a/MainFrm.cs b/MainFrm.cs index 5ea4e0c..e261e8f 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -8770,7 +8770,7 @@ LogManager.saveLog(Utility.userName, buttonItem8.Text); int width = Width; - FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, Utility.m_PipelineLayerNames, Utility.sgPipeLayersNames, width); + FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, width); } /// /// 红线审核导出图片 @@ -8838,6 +8838,7 @@ trackflag = "BSQDuoBianXiangStatis"; globeControl1.Globe.Action = EnumAction3D.TrackPolygon; } + private void btn_check_history_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, btn_check_history.Text); diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 9c3c430..93a213d 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -2009,7 +2009,6 @@ // timer1 // this.timer1.Interval = 500; - //this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // // layerNodeContexMenu // @@ -2284,11 +2283,11 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); + this.ribbonControl1.Controls.Add(this.ribbonPanel15); + this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel12); this.ribbonControl1.Controls.Add(this.ribbonPanel1); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2357,6 +2356,7 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; + this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -3926,7 +3926,6 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; - this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -4469,6 +4468,7 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -4489,7 +4489,6 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5484,7 +5483,7 @@ this.dataGridViewX2.ReadOnly = true; this.dataGridViewX2.RowHeadersVisible = false; this.dataGridViewX2.RowTemplate.Height = 23; - this.dataGridViewX2.Size = new System.Drawing.Size(21874, 92); + this.dataGridViewX2.Size = new System.Drawing.Size(22171, 92); this.dataGridViewX2.TabIndex = 11; // // dataGridViewTextBoxColumn10 @@ -5578,7 +5577,7 @@ this.dataGridViewX3.ReadOnly = true; this.dataGridViewX3.RowHeadersVisible = false; this.dataGridViewX3.RowTemplate.Height = 23; - this.dataGridViewX3.Size = new System.Drawing.Size(21873, 127); + this.dataGridViewX3.Size = new System.Drawing.Size(22170, 127); this.dataGridViewX3.TabIndex = 5; this.dataGridViewX3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX3_MouseDoubleClick); // @@ -5836,7 +5835,7 @@ this.dataGridViewX8.ReadOnly = true; this.dataGridViewX8.RowHeadersVisible = false; this.dataGridViewX8.RowTemplate.Height = 23; - this.dataGridViewX8.Size = new System.Drawing.Size(40, 92); + this.dataGridViewX8.Size = new System.Drawing.Size(23, 92); this.dataGridViewX8.TabIndex = 11; // // dataGridViewTextBoxColumn12 @@ -5931,7 +5930,7 @@ this.dataGridViewX9.ReadOnly = true; this.dataGridViewX9.RowHeadersVisible = false; this.dataGridViewX9.RowTemplate.Height = 23; - this.dataGridViewX9.Size = new System.Drawing.Size(39, 127); + this.dataGridViewX9.Size = new System.Drawing.Size(22, 127); this.dataGridViewX9.TabIndex = 5; this.dataGridViewX9.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX9_MouseDoubleClick); // diff --git a/MainFrm.resx b/MainFrm.resx index bf053b9..9921566 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,6 +351,505 @@ 766, 54 + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 + 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f + 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 + uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 + SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD + bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 + 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG + TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX + 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj + p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY + RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB + lh7gOXXZq9sAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU + TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt + fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 + Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN + /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy + yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF + NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA + CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx + flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B + CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp + olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh + Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO + Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim + r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 + uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 + AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy + ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 + 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM + 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN + z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D + ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW + QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd + R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN + Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm + 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD + YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q + dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE + H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel + v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I + E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj + 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL + zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M + R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH + prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 + U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB + 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD + QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG + 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU + 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao + GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc + 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 + /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC + Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ + KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o + VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX + 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 + seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt + NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei + /A9dc78cqtG90gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4033,253 +4532,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 - 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f - 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 - uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 - SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD - bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 - 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG - TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX - 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj - p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY - RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB - lh7gOXXZq9sAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU - TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt - fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 - Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN - /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy - yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF - NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA - CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx - flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B - CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp - olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh - Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO - Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim - r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 - uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 - AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy - ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 - 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM - 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN - z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D - ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW - QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd - R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN - Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm - 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD - YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q - dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE - H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel - v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I - E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj - 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL - zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M - R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH - prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 - U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB - 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD - QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG - 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU - 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao - GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc - 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 - /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC - Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ - KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o - VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX - 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 - seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt - NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei - /A9dc78cqtG90gAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4314,258 +4566,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 diff --git a/bin/x86/Debug/Config.xml b/bin/x86/Debug/Config.xml index a5a72aa..f51e443 100644 --- a/bin/x86/Debug/Config.xml +++ b/bin/x86/Debug/Config.xml @@ -1,11 +1,11 @@  LocaSpace三维地下管线信息系统 - release - SZHTDB2 - 192.168.0.203 - release - 192.168.0.203 + scott + SZDB + 127.0.0.1 + SZDB + 127.0.0.1 1500 http://192.168.0.203/images/ http://192.168.0.203/images/default.jpg @@ -141,6 +141,14 @@ + + + + + + + + diff --git a/bin/x86/Debug/Cyberpipe.exe b/bin/x86/Debug/Cyberpipe.exe index 65b7db7..e7b3f3d 100644 --- a/bin/x86/Debug/Cyberpipe.exe +++ b/bin/x86/Debug/Cyberpipe.exe Binary files differ diff --git a/bin/x86/Debug/Cyberpipe.pdb b/bin/x86/Debug/Cyberpipe.pdb index 789717f..2b95ea6 100644 --- a/bin/x86/Debug/Cyberpipe.pdb +++ b/bin/x86/Debug/Cyberpipe.pdb Binary files differ diff --git a/bin/x86/Debug/glVersion.txt b/bin/x86/Debug/glVersion.txt index 1fc46d0..06a7613 100644 --- a/bin/x86/Debug/glVersion.txt +++ b/bin/x86/Debug/glVersion.txt Binary files differ diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/FrmLayerControl.Designer.cs b/FrmLayerControl.Designer.cs index d1ab3e6..35df5d1 100644 --- a/FrmLayerControl.Designer.cs +++ b/FrmLayerControl.Designer.cs @@ -31,27 +31,13 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.layerTree1 = new System.Windows.Forms.TreeView(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.layerTree2 = new System.Windows.Forms.TreeView(); - this.layerNodeContexMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.FeatureAddLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerSelectableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerEditableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.移除图层ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.layerNodeContexMenu.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // layerTree1 @@ -94,90 +80,6 @@ this.layerTree2.TabIndex = 3; this.layerTree2.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree2_AfterCheck); // - // layerNodeContexMenu - // - this.layerNodeContexMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.FeatureAddLayerMenuItem, - this.LayerSelectableMenuItem, - this.LayerEditableMenuItem, - this.SaveLayerMenuItem}); - this.layerNodeContexMenu.Name = "layerNodeContexMenu"; - this.layerNodeContexMenu.Size = new System.Drawing.Size(125, 92); - // - // FeatureAddLayerMenuItem - // - this.FeatureAddLayerMenuItem.Name = "FeatureAddLayerMenuItem"; - this.FeatureAddLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.FeatureAddLayerMenuItem.Text = "目标图层"; - this.FeatureAddLayerMenuItem.Click += new System.EventHandler(this.FeatureAddLayerMenuItem_Click); - // - // LayerSelectableMenuItem - // - this.LayerSelectableMenuItem.Name = "LayerSelectableMenuItem"; - this.LayerSelectableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerSelectableMenuItem.Text = "可选择"; - this.LayerSelectableMenuItem.Click += new System.EventHandler(this.LayerSelectableMenuItem_Click); - // - // LayerEditableMenuItem - // - this.LayerEditableMenuItem.Name = "LayerEditableMenuItem"; - this.LayerEditableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerEditableMenuItem.Text = "可编辑"; - this.LayerEditableMenuItem.Click += new System.EventHandler(this.LayerEditableMenuItem_Click); - // - // SaveLayerMenuItem - // - this.SaveLayerMenuItem.Name = "SaveLayerMenuItem"; - this.SaveLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.SaveLayerMenuItem.Text = "保存"; - this.SaveLayerMenuItem.Click += new System.EventHandler(this.SaveLayerMenuItem_Click); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.移除图层ToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripMenuItem2, - this.toolStripMenuItem3, - this.toolStripMenuItem4}); - this.contextMenuStrip1.Name = "layerNodeContexMenu"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 114); - // - // 移除图层ToolStripMenuItem - // - this.移除图层ToolStripMenuItem.Name = "移除图层ToolStripMenuItem"; - this.移除图层ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); - this.移除图层ToolStripMenuItem.Text = "移除图层"; - this.移除图层ToolStripMenuItem.Click += new System.EventHandler(this.移除图层ToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem1.Text = "目标图层"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem2.Text = "可选择"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem3.Text = "可编辑"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem4.Text = "保存"; - this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); - // // FrmLayerControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -198,8 +100,6 @@ this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); - this.layerNodeContexMenu.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } @@ -209,16 +109,5 @@ private TreeView layerTree1; private SplitContainer splitContainer1; private TreeView layerTree2; - private ContextMenuStrip layerNodeContexMenu; - private ToolStripMenuItem FeatureAddLayerMenuItem; - private ToolStripMenuItem LayerSelectableMenuItem; - private ToolStripMenuItem LayerEditableMenuItem; - private ToolStripMenuItem SaveLayerMenuItem; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem toolStripMenuItem1; - private ToolStripMenuItem toolStripMenuItem2; - private ToolStripMenuItem toolStripMenuItem3; - private ToolStripMenuItem toolStripMenuItem4; - private ToolStripMenuItem 移除图层ToolStripMenuItem; } } \ No newline at end of file diff --git a/FrmLayerControl.cs b/FrmLayerControl.cs index e94e746..052be3a 100644 --- a/FrmLayerControl.cs +++ b/FrmLayerControl.cs @@ -10,9 +10,9 @@ { public partial class FrmLayerControl : Office2007Form { - TreeView treeView1; GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; + TreeNode terrainManagerNode = null; TreeNode layerManagerNode = null; TreeNode terrainManagerNode1 = null; @@ -25,84 +25,67 @@ globeControl2 = ctl2; } - /// - /// 窗体初始化事件处理 - /// - /// - /// - private void FrmLayerControl_Load(object sender, EventArgs e) + private void initLayerTree(out TreeNode treeNode, string strTreeNodeText) { - //加载layertree1 + treeNode=new TreeNode(); + treeNode.ImageIndex = 0; + treeNode.SelectedImageIndex = 0; + treeNode.Checked = false; + treeNode.Text = strTreeNodeText; + } + + private void initTreeView() + { layerTree1.Nodes.Clear(); layerTree2.Nodes.Clear(); //加载layertree2 - layerManagerNode1 = new TreeNode(); - layerManagerNode1.ImageIndex = 0; - layerManagerNode1.SelectedImageIndex = 0; - layerManagerNode1.Checked = false; - layerManagerNode1.Text = "图层管理"; + initLayerTree(out layerManagerNode1, "图层管理"); layerTree1.Nodes.Add(layerManagerNode1); - layerManagerNode = new TreeNode(); - layerManagerNode.ImageIndex = 0; - layerManagerNode.SelectedImageIndex = 0; - layerManagerNode.Checked = false; - layerManagerNode.Text = "图层管理"; - layerTree2.Nodes.Add(layerManagerNode); - - terrainManagerNode1 = new TreeNode(); - terrainManagerNode1.ImageIndex = 0; - terrainManagerNode1.SelectedImageIndex = 0; - terrainManagerNode1.Checked = false; - terrainManagerNode1.Text = "地形管理"; + initLayerTree(out terrainManagerNode1, "地形管理"); layerTree1.Nodes.Add(terrainManagerNode1); - terrainManagerNode = new TreeNode(); - terrainManagerNode.ImageIndex = 0; - terrainManagerNode.SelectedImageIndex = 0; - terrainManagerNode.Checked = false; - terrainManagerNode.Text = "地形管理"; + + initLayerTree(out layerManagerNode, "图层管理"); + layerTree2.Nodes.Add(layerManagerNode); + initLayerTree(out terrainManagerNode, "地形管理"); layerTree2.Nodes.Add(terrainManagerNode); - + } + + private void initNode(string nodeName) + { + TreeNode nodeGroupElse1 = new TreeNode(); + nodeGroupElse1.Text = nodeName; + layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); + + TreeNode nodeGroupElse = new TreeNode(); + nodeGroupElse.Text = nodeName == "供电" ? "电力" : nodeName; + layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + } + + private void initTreeNode(XmlNodeList Params) + { + foreach (XmlNode paramsNode in Params) //layers + { + foreach (XmlNode layerNode in paramsNode) //layer + { + initNode(layerNode.Attributes["label"].Value); + } + } + + initNode("基础图层"); + initNode("其他"); + } + + private void FrmLayerControl_Load(object sender, EventArgs e) + { + initTreeView(); try { XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + "\\双屏设置.xml"); - XmlNodeList Params1 = doc.SelectNodes("/Params/layers"); + XmlNodeList Params = doc.SelectNodes("/Params/layers"); - foreach (XmlNode paramsNode in Params1) //layers - { - foreach (XmlNode layerNode in paramsNode) //layer - { - TreeNode nodeGroup1 = new TreeNode(); - string nodeGroupName1 = layerNode.Attributes["label"].Value; - - nodeGroup1.Text = nodeGroupName1 == "电力" ? "供电" : nodeGroupName1; - - layerTree1.Nodes[0].Nodes.Add(nodeGroup1); - - TreeNode nodeGroup = new TreeNode(); - string nodeGroupName = layerNode.Attributes["label"].Value; - nodeGroup.Text = nodeGroupName; - layerTree2.Nodes[0].Nodes.Add(nodeGroup); - } - } - TreeNode nodeGroupElse1 = new TreeNode(); - string nodeGroupNameElse1 = "基础数据"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - TreeNode nodeGroupElse = new TreeNode(); - string nodeGroupNameElse = "基础数据"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); - - nodeGroupElse1 = new TreeNode(); - nodeGroupNameElse1 = "其它"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - nodeGroupElse = new TreeNode(); - nodeGroupNameElse = "其它"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + initTreeNode(Params); } catch (Exception ex) { @@ -111,88 +94,125 @@ RefreshLayerAndTerrainTree(); } - /// - /// 刷新节点树 - /// - private void RefreshLayerAndTerrainTree() + + private void addLayerTreeNode(int nLayerCount, int nTerrainCount, GSOGlobeControl globcontrol, + TreeView layerTree) { - ////layertree1 - int nLayerCount1 = globeControl1.Globe.Layers.Count; - int nTerrainCount1 = globeControl1.Globe.Terrains.Count; - - for (int i = 0; i < nLayerCount1; i++) + try { - GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer == null) continue; - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; - - bool isContains = false; - for (int j = 0; j < layerTree1.Nodes[0].Nodes.Count; j++) + for (int i = 0; i < nLayerCount; i++) { - if (!layerName.Contains("fttp:")) + GSOLayer layer = globcontrol.Globe.Layers[i]; + if (layer == null) continue; + string layerName = layer.Name; + TreeNode node = new TreeNode(); + node.Tag = layer; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = layer.Caption; + node.Checked = layer.Visible; + + bool isContains = false; + for (int j = 0; j < layerTree.Nodes[0].Nodes.Count; j++) { - if (layerName.Contains(layerTree1.Nodes[0].Nodes[j].Text.Trim()) && !layerName.Contains("施工") && - !layerName.Contains("规划")) + if (!layerName.Contains("fttp:")) { - layerTree1.Nodes[0].Nodes[j].Nodes.Add(node); + switch (layerTree.Name) + { + case "layerTree1": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim()) || + layerName.Contains("施工") || + layerName.Contains("规划")) continue; + break; + case "layerTree2": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim())) continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[j].Nodes.Add(node); + isContains = true; + break; + } + else + { + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 2].Nodes.Add(node); isContains = true; break; } } - else + switch (layerTree.Name) { - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; + case "layerTree1": + if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || + layerName.Contains("标注") || + isContains == true || layerName.Contains("施工") || layerName.Contains("规划") || + layerName.Contains("景观") || layerName.Contains("红线")) + continue; + break; + case "layerTree2": + if (isContains != false || layerName.Contains("tempLgdData2")) + continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 1].Nodes.Add(node); + } + + for (int i = 0; i < nTerrainCount; i++) + { + GSOTerrain terrain = globcontrol.Globe.Terrains[i]; + if (terrain == null) continue; + TreeNode node = new TreeNode(); + node.Tag = terrain; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = terrain.Caption; + node.Checked = terrain.Visible; + switch (layerTree.Name) + { + case "layerTree1": + terrainManagerNode1.Nodes.Add(node); + break; + case "layerTree2": + terrainManagerNode.Nodes.Add(node); + break; + default: + break; } } - if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || layerName.Contains("标注")) - continue; - if (isContains == false && !layerName.Contains("施工") && !layerName.Contains("规划") && - !layerName.Contains("景观") && !layerName.Contains("红线")) - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 1].Nodes.Add(node); } + catch (Exception ex) + { + LogError.PublishError(ex); + } + } + private void initTreeNodeCheckedStatus(TreeView layerTreeView) + { //节点选中状态控制 - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { foreach (TreeNode childNode in node.Nodes) { GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } + if (layer == null || layer.Visible != true) continue; + node.Checked = true; + break; } } - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { if (node.Checked != true) continue; - layerTree1.Nodes[0].Checked = true; + layerTreeView.Nodes[0].Checked = true; break; } - - for (int i = 0; i < nTerrainCount1; i++) - { - GSOTerrain terrain = globeControl1.Globe.Terrains[i]; - if (terrain == null) continue; - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode1.Nodes.Add(node); - } - - foreach (TreeNode node in layerTree1.Nodes[1].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[1].Nodes) { foreach (TreeNode childNode in node.Nodes) { @@ -202,99 +222,10 @@ break; } } - ///layertree2 - int nLayerCount = globeControl2.Globe.Layers.Count; - int nTerrainCount = globeControl2.Globe.Terrains.Count; - //int i = 0; - for (int i = 0; i < nLayerCount; i++) - { - GSOLayer layer = globeControl2.Globe.Layers[i]; - if (layer != null) - { - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; + } - bool isContains = false; - for (int j = 0; j < layerTree2.Nodes[0].Nodes.Count; j++) - { - if (!layerName.Contains("fttp:")) - { - if (layerName.Contains(layerTree2.Nodes[0].Nodes[j].Text.Trim())) - { - layerTree2.Nodes[0].Nodes[j].Nodes.Add(node); - isContains = true; - break; - } - } - else - { - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; - } - } - - if (layerName.Contains("tempLgdData2")) - continue; - if (isContains == false) - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 1].Nodes.Add(node); - } - } - - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - if (node.Checked == true) - { - layerTree2.Nodes[0].Checked = true; - break; - } - } - - for (int i = 0; i < nTerrainCount; i++) - { - GSOTerrain terrain = globeControl2.Globe.Terrains[i]; - if (terrain != null) - { - - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode.Nodes.Add(node); - } - } - foreach (TreeNode node in layerTree2.Nodes[1].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOTerrain layer = childNode.Tag as GSOTerrain; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - // 展开 + void exPandTreeNode() + { layerManagerNode1.Expand(); terrainManagerNode1.Expand(); layerManagerNode.Expand(); @@ -303,76 +234,22 @@ /// /// 刷新节点树 /// - private void RefreshDataTree() + private void RefreshLayerAndTerrainTree() { - layerTree2.Nodes[0].Nodes.Clear(); - Int32 nCount = globeControl2.Globe.Layers.Count; - Int32 i = 0; - for (i = 0; i < nCount; i++) - { - GSODataset dataSpace = globeControl2.Globe.Layers[i].Dataset; - TreeNode node = new TreeNode(); - node.Text = dataSpace.Name; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = true; - node.Tag = dataSpace; - layerTree2.Nodes[0].Nodes.Add(node); - } + int nLayerCount1 = globeControl1.Globe.Layers.Count;//图层 + int nTerrainCount1 = globeControl1.Globe.Terrains.Count;//地形 + addLayerTreeNode(nLayerCount1, nTerrainCount1, globeControl1, layerTree1); + initTreeNodeCheckedStatus(layerTree1); + + int nLayerCount = globeControl2.Globe.Layers.Count; + int nTerrainCount = globeControl2.Globe.Terrains.Count; + addLayerTreeNode(nLayerCount, nTerrainCount, globeControl2, layerTree2); + initTreeNodeCheckedStatus(layerTree2); + + // 展开 + exPandTreeNode(); } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void FeatureAddLayerMenuItem_Click(object sender, EventArgs e) - { - if (!FeatureAddLayerMenuItem.Checked) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - FeatureAddLayerMenuItem.Checked = true; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)node.Tag); - globeControl1.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void LayerSelectableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl1.Globe.Layers[nIndex]; - LayerSelectableMenuItem.Checked = !LayerSelectableMenuItem.Checked; - layer.Selectable = LayerSelectableMenuItem.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void LayerEditableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - LayerEditableMenuItem.Checked = !LayerEditableMenuItem.Checked; - layer.Editable = LayerEditableMenuItem.Checked; - } - /// - /// 保存图层按钮事件处理 - /// - /// - /// - private void SaveLayerMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - string layerCaption = node.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } + /// /// 节点树复选框选中状态改变事件处理 /// @@ -404,7 +281,7 @@ CheckParentNode(e.Node); if (e.Node.Nodes.Count > 0) checkChildrenNodeLayertree2(e.Node, e.Node.Checked); - } + } } /// /// 改变指定节点的子节点的选中状态 @@ -432,26 +309,15 @@ globeControl1.Globe.Refresh(); } if (childNode.Nodes.Count > 0) - { checkChildrenNodeLayertree1(childNode, isChecked); - } } } - private TreeNode queryNode(TreeNode node,string txt) - { - foreach (TreeNode n in node.Nodes) - { - return txt.Equals(n.Text) ? n : queryNode(n, txt); - } - return null; - - } /// /// 改变指定节点的子节点的选中状态 /// /// /// - private void checkChildrenNodeLayertree2(TreeNode parentNode,bool isChecked) + private void checkChildrenNodeLayertree2(TreeNode parentNode, bool isChecked) { foreach (TreeNode childNode in parentNode.Nodes) { @@ -475,121 +341,6 @@ checkChildrenNodeLayertree2(childNode, isChecked); } } - - /// - /// 改变指定节点的选中状态 - /// - /// - /// - private void CheckTreeNode(TreeNode node, Boolean bChecked) - { - CheckChildTreeNode(node, bChecked); - globeControl1.Globe.Refresh(); - globeControl2.Globe.Refresh(); - - } - private void CheckChildTreeNode(TreeNode node, Boolean bChecked) - { - if (node == null) - return; - if (node.Tag != null) - { - if (node.Tag.GetType() == typeof(GSOFeatureFolder) || - node.Tag.GetType() == typeof(GSOFeature)) - ((GSOFeature) node.Tag).SetVisibleDirectly(bChecked); - else - { - GSOLayer curLayer = node.Tag as GSOLayer; - GSOTerrain curTerrain = node.Tag as GSOTerrain; - if (curLayer != null) - curLayer.Visible = bChecked; - else if (curTerrain != null) - curTerrain.Visible = bChecked; - } - } - // 递归处理子节点 - for (int i = 0; i < node.Nodes.Count; i++) - { - node.Nodes[i].Checked = bChecked; - CheckChildTreeNode(node.Nodes[i], bChecked); - } - } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - if (!toolStripMenuItem1.Checked) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - toolStripMenuItem1.Checked = true; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text.ToString()); - globeControl2.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void toolStripMenuItem2_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl2.Globe.Layers[nIndex]; - toolStripMenuItem2.Checked = !toolStripMenuItem2.Checked; - layer.Selectable = toolStripMenuItem2.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void toolStripMenuItem3_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text); - toolStripMenuItem3.Checked = !toolStripMenuItem3.Checked; - layer.Editable = toolStripMenuItem3.Checked; - } - /// - /// 保存按钮事件处理 - /// - /// - /// - private void toolStripMenuItem4_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - - string layerCaption = node.Text; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } - /// - /// 移除图层按钮事件处理 - /// - /// - /// - private void 移除图层ToolStripMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - TreeNode parentNode = node.Parent; - Int32 nIndex = node.Index; - - if (parentNode != layerManagerNode) - globeControl2.Globe.Terrains.Remove(nIndex); - else - { - string layername = globeControl2.Globe.Layers[nIndex].Name; - globeControl2.Globe.Layers.Remove(nIndex); - - globeControl2.Globe.DataManager.DeleteDataSourceByName(layername); - } - node.Remove(); - globeControl2.Globe.Refresh(); - } /// /// 节点树选中状态改变事件 /// @@ -623,91 +374,6 @@ checkChildrenNodeLayertree1(e.Node, e.Node.Checked); } } - - private TreeNode queryNodeFromTree(string txt , TreeView tree) - { - TreeNode node = null; - foreach (TreeNode n in tree.Nodes) - { - if (n.Text.Equals(txt)) - return n; - else - { - node = queryChildNode(txt, n); - if (null != node) - return node; - } - } - return null; - } - - private TreeNode queryChildNode(String txt, TreeNode parent) - { - TreeNode child = null; - foreach (TreeNode node in parent.Nodes) - { - if (txt.Equals(node.Text)) - return node; - else - { - child = queryChildNode(txt, node); - if (null != child) - return child; - } - } - return null; - } - - - /// - /// 树节点选中方法 - /// - /// - private void CheckControl(TreeViewEventArgs e) - { - if (e.Action != TreeViewAction.Unknown) - { - if (e.Node != null && !Convert.IsDBNull(e.Node)) - { - CheckParentNode(e.Node); - if (e.Node.Nodes.Count > 0) - CheckAllChildNodes(e.Node, e.Node.Checked); - } - } - } - /// - /// 改变所有子节点的状态 - /// - /// - /// - private void CheckAllChildNodes(TreeNode pn, bool IsChecked) - { - foreach (TreeNode tn in pn.Nodes) - { - tn.Checked = IsChecked; - if (tn.Tag.ToString().Contains("|")) - { - string nodeTag = tn.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(nodeTag); - if (layer != null) - { - layer.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Tag is GSOFeature) - { - if (tn.Nodes.Count == 0) - { - GSOFeature feat = tn.Tag as GSOFeature; - feat.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Nodes.Count > 0) - CheckAllChildNodes(tn, IsChecked); - } - } /// /// 改变父节点的选中状态,此处为所有子节点不选中时才取消父节点选中,可以根据需要修改 /// @@ -726,7 +392,6 @@ break; } } - if (bChecked) { curNode.Parent.Checked = true; diff --git a/FrmLayerControl.resx b/FrmLayerControl.resx index 34f1053..d58980a 100644 --- a/FrmLayerControl.resx +++ b/FrmLayerControl.resx @@ -117,10 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - - - 206, 17 - \ No newline at end of file diff --git a/MainFrm.cs b/MainFrm.cs index 5ea4e0c..e261e8f 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -8770,7 +8770,7 @@ LogManager.saveLog(Utility.userName, buttonItem8.Text); int width = Width; - FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, Utility.m_PipelineLayerNames, Utility.sgPipeLayersNames, width); + FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, width); } /// /// 红线审核导出图片 @@ -8838,6 +8838,7 @@ trackflag = "BSQDuoBianXiangStatis"; globeControl1.Globe.Action = EnumAction3D.TrackPolygon; } + private void btn_check_history_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, btn_check_history.Text); diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 9c3c430..93a213d 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -2009,7 +2009,6 @@ // timer1 // this.timer1.Interval = 500; - //this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // // layerNodeContexMenu // @@ -2284,11 +2283,11 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); + this.ribbonControl1.Controls.Add(this.ribbonPanel15); + this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel12); this.ribbonControl1.Controls.Add(this.ribbonPanel1); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2357,6 +2356,7 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; + this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -3926,7 +3926,6 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; - this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -4469,6 +4468,7 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -4489,7 +4489,6 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5484,7 +5483,7 @@ this.dataGridViewX2.ReadOnly = true; this.dataGridViewX2.RowHeadersVisible = false; this.dataGridViewX2.RowTemplate.Height = 23; - this.dataGridViewX2.Size = new System.Drawing.Size(21874, 92); + this.dataGridViewX2.Size = new System.Drawing.Size(22171, 92); this.dataGridViewX2.TabIndex = 11; // // dataGridViewTextBoxColumn10 @@ -5578,7 +5577,7 @@ this.dataGridViewX3.ReadOnly = true; this.dataGridViewX3.RowHeadersVisible = false; this.dataGridViewX3.RowTemplate.Height = 23; - this.dataGridViewX3.Size = new System.Drawing.Size(21873, 127); + this.dataGridViewX3.Size = new System.Drawing.Size(22170, 127); this.dataGridViewX3.TabIndex = 5; this.dataGridViewX3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX3_MouseDoubleClick); // @@ -5836,7 +5835,7 @@ this.dataGridViewX8.ReadOnly = true; this.dataGridViewX8.RowHeadersVisible = false; this.dataGridViewX8.RowTemplate.Height = 23; - this.dataGridViewX8.Size = new System.Drawing.Size(40, 92); + this.dataGridViewX8.Size = new System.Drawing.Size(23, 92); this.dataGridViewX8.TabIndex = 11; // // dataGridViewTextBoxColumn12 @@ -5931,7 +5930,7 @@ this.dataGridViewX9.ReadOnly = true; this.dataGridViewX9.RowHeadersVisible = false; this.dataGridViewX9.RowTemplate.Height = 23; - this.dataGridViewX9.Size = new System.Drawing.Size(39, 127); + this.dataGridViewX9.Size = new System.Drawing.Size(22, 127); this.dataGridViewX9.TabIndex = 5; this.dataGridViewX9.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX9_MouseDoubleClick); // diff --git a/MainFrm.resx b/MainFrm.resx index bf053b9..9921566 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,6 +351,505 @@ 766, 54 + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 + 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f + 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 + uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 + SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD + bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 + 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG + TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX + 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj + p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY + RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB + lh7gOXXZq9sAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU + TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt + fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 + Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN + /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy + yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF + NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA + CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx + flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B + CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp + olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh + Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO + Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim + r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 + uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 + AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy + ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 + 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM + 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN + z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D + ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW + QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd + R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN + Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm + 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD + YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q + dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE + H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel + v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I + E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj + 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL + zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M + R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH + prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 + U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB + 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD + QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG + 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU + 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao + GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc + 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 + /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC + Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ + KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o + VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX + 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 + seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt + NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei + /A9dc78cqtG90gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4033,253 +4532,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 - 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f - 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 - uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 - SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD - bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 - 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG - TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX - 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj - p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY - RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB - lh7gOXXZq9sAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU - TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt - fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 - Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN - /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy - yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF - NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA - CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx - flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B - CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp - olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh - Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO - Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim - r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 - uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 - AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy - ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 - 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM - 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN - z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D - ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW - QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd - R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN - Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm - 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD - YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q - dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE - H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel - v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I - E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj - 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL - zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M - R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH - prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 - U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB - 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD - QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG - 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU - 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao - GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc - 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 - /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC - Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ - KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o - VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX - 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 - seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt - NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei - /A9dc78cqtG90gAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4314,258 +4566,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 diff --git a/bin/x86/Debug/Config.xml b/bin/x86/Debug/Config.xml index a5a72aa..f51e443 100644 --- a/bin/x86/Debug/Config.xml +++ b/bin/x86/Debug/Config.xml @@ -1,11 +1,11 @@  LocaSpace三维地下管线信息系统 - release - SZHTDB2 - 192.168.0.203 - release - 192.168.0.203 + scott + SZDB + 127.0.0.1 + SZDB + 127.0.0.1 1500 http://192.168.0.203/images/ http://192.168.0.203/images/default.jpg @@ -141,6 +141,14 @@ + + + + + + + + diff --git a/bin/x86/Debug/Cyberpipe.exe b/bin/x86/Debug/Cyberpipe.exe index 65b7db7..e7b3f3d 100644 --- a/bin/x86/Debug/Cyberpipe.exe +++ b/bin/x86/Debug/Cyberpipe.exe Binary files differ diff --git a/bin/x86/Debug/Cyberpipe.pdb b/bin/x86/Debug/Cyberpipe.pdb index 789717f..2b95ea6 100644 --- a/bin/x86/Debug/Cyberpipe.pdb +++ b/bin/x86/Debug/Cyberpipe.pdb Binary files differ diff --git a/bin/x86/Debug/glVersion.txt b/bin/x86/Debug/glVersion.txt index 1fc46d0..06a7613 100644 --- a/bin/x86/Debug/glVersion.txt +++ b/bin/x86/Debug/glVersion.txt Binary files differ diff --git a/bin/x86/Debug/log.txt b/bin/x86/Debug/log.txt index af5cf0a..5f28270 100644 --- a/bin/x86/Debug/log.txt +++ b/bin/x86/Debug/log.txt @@ -1,1017 +1 @@ - - exception begin -----------------2016/9/28 10:14:56--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void buttonItemHX2_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.MainFrm.buttonItemHX2_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\MainFrm.cs:行号 14653 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 11:28:48--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 123 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 11:29:22--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 87 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 11:29:30--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 87 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 11:31:03--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 123 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 11:31:25--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 87 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 13:18:20--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 87 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 13:18:56--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 87 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/26 15:27:26--------------------- - - - - e.Message:索引超出范围。必须为非负值并小于集合大小。 -参数名: index - - e.Source:mscorlib - - e.TargetSite:T get_Item(Int32) - - e.StackTrace: 在 System.Collections.Generic.List`1.get_Item(Int32 index) - 在 Cyberpipe.FrmHDMAnalysis3.DrawCurveGraph(Double a_x, Double a_y) 位置 F:\predator\codeReview\GHFX_SZ_64\FrmHDMAnalysis3.cs:行号 184 - 在 Cyberpipe.FrmHDMAnalysis3.LoadChartEvent() 位置 F:\predator\codeReview\GHFX_SZ_64\FrmHDMAnalysis3.cs:行号 142 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/26 15:30:41--------------------- - - - - e.Message:索引超出范围。必须为非负值并小于集合大小。 -参数名: index - - e.Source:mscorlib - - e.TargetSite:T get_Item(Int32) - - e.StackTrace: 在 System.Collections.Generic.List`1.get_Item(Int32 index) - 在 Cyberpipe.FrmHDMAnalysis3.DrawCurveGraph(Double a_x, Double a_y) 位置 F:\predator\codeReview\GHFX_SZ_64\FrmHDMAnalysis3.cs:行号 184 - 在 Cyberpipe.FrmHDMAnalysis3.LoadChartEvent() 位置 F:\predator\codeReview\GHFX_SZ_64\FrmHDMAnalysis3.cs:行号 142 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/28 16:33:54--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:System.Data.DataTable CalculateRedLineResult(System.Data.DataTable ByRef, Boolean, GeoScene.Data.GSOFeatures, GeoScene.Globe.GSOGlobeControl, System.Collections.Generic.List`1[GeoScene.Globe.GSOLayer], System.Collections.Generic.List`1[Cyberpipe.MainFrm+LineStruct] ByRef, System.Collections.Generic.List`1[GeoScene.Data.GSOFeatures] ByRef) - - e.StackTrace: 在 Cyberpipe.ClassGSOTool.CalculateRedLineResult(DataTable& table, Boolean redSH, GSOFeatures selectFeatures, GSOGlobeControl m_globeControl, List`1 listPipelineLayers, List`1& lineStruct, List`1& featsList) 位置 D:\GHFX\GHFX_REFACTOR\ClassGSOTool.cs:行号 62 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/28 16:34:01--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:System.Data.DataTable CalculateRedLineResult(System.Data.DataTable ByRef, Boolean, GeoScene.Data.GSOFeatures, GeoScene.Globe.GSOGlobeControl, System.Collections.Generic.List`1[GeoScene.Globe.GSOLayer], System.Collections.Generic.List`1[Cyberpipe.MainFrm+LineStruct] ByRef, System.Collections.Generic.List`1[GeoScene.Data.GSOFeatures] ByRef) - - e.StackTrace: 在 Cyberpipe.ClassGSOTool.CalculateRedLineResult(DataTable& table, Boolean redSH, GSOFeatures selectFeatures, GSOGlobeControl m_globeControl, List`1 listPipelineLayers, List`1& lineStruct, List`1& featsList) 位置 D:\GHFX\GHFX_REFACTOR\ClassGSOTool.cs:行号 62 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/3 16:25:04--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 35 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 85 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/3 16:25:07--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 35 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 85 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/3 17:18:01--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 35 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 9:03:20--------------------- - - - - e.Message:外部组件发生异常。 - - e.Source:GSGlobeDotNet - - e.TargetSite:Void std._Xout_of_range(SByte*) - - e.StackTrace: 在 std._Xout_of_range(SByte* ) - 在 GSC.GSArray.GetAt(GSArray* , GSFieldDef* , Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(String strFieldName) - 在 Cyberpipe.PointBuilder.createModel(GSOFeature f, PointParam pointParam, EnumBuildMode buildMode) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 92 - 在 Cyberpipe.PointBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 56 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 9:03:23--------------------- - - - - e.Message:外部组件发生异常。 - - e.Source:GSGlobeDotNet - - e.TargetSite:Void std._Xout_of_range(SByte*) - - e.StackTrace: 在 std._Xout_of_range(SByte* ) - 在 GSC.GSArray.GetAt(GSArray* , GSFieldDef* , Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(String strFieldName) - 在 Cyberpipe.PointBuilder.createModel(GSOFeature f, PointParam pointParam, EnumBuildMode buildMode) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 92 - 在 Cyberpipe.PointBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 56 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 9:07:55--------------------- - - - - e.Message:外部组件发生异常。 - - e.Source:GSGlobeDotNet - - e.TargetSite:Void std._Xout_of_range(SByte*) - - e.StackTrace: 在 std._Xout_of_range(SByte* ) - 在 GSC.GSArray.GetAt(GSArray* , GSFieldDef* , Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(String strFieldName) - 在 Cyberpipe.PointBuilder.createModel(GSOFeature f, PointParam pointParam, EnumBuildMode buildMode) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 92 - 在 Cyberpipe.PointBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 56 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 9:15:31--------------------- - - - - e.Message:外部组件发生异常。 - - e.Source:GSGlobeDotNet - - e.TargetSite:Void std._Xout_of_range(SByte*) - - e.StackTrace: 在 std._Xout_of_range(SByte* ) - 在 GSC.GSArray.GetAt(GSArray* , GSFieldDef* , Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(String strFieldName) - 在 Cyberpipe.PointBuilder.createModel(GSOFeature f, PointParam pointParam, EnumBuildMode buildMode) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 92 - 在 Cyberpipe.PointBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 56 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 9:17:26--------------------- - - - - e.Message:外部组件发生异常。 - - e.Source:GSGlobeDotNet - - e.TargetSite:Void std._Xout_of_range(SByte*) - - e.StackTrace: 在 std._Xout_of_range(SByte* ) - 在 GSC.GSArray.GetAt(GSArray* , GSFieldDef* , Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(String strFieldName) - 在 Cyberpipe.PointBuilder.createModel(GSOFeature f, PointParam pointParam, EnumBuildMode buildMode) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 92 - 在 Cyberpipe.PointBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 56 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 9:17:56--------------------- - - - - e.Message:外部组件发生异常。 - - e.Source:GSGlobeDotNet - - e.TargetSite:Void std._Xout_of_range(SByte*) - - e.StackTrace: 在 std._Xout_of_range(SByte* ) - 在 GSC.GSArray.GetAt(GSArray* , GSFieldDef* , Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(String strFieldName) - 在 Cyberpipe.PointBuilder.createModel(GSOFeature f, PointParam pointParam, EnumBuildMode buildMode) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 92 - 在 Cyberpipe.PointBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 56 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:35:44--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 108 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:35:48--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 108 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:37:18--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 108 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:39:10--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 121 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:39:31--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 121 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:40:22--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 121 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:43:32--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 129 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:46:13--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 129 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:00:26--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void addLayerToGlobeControl(GeoScene.Globe.GSOLayer, System.String) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB.addLayerToGlobeControl(GSOLayer sourceLayer, String layerName) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 162 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 138 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:00:35--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 43 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 135 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:00:40--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 43 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 135 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:05:45--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void addLayerToGlobeControl(GeoScene.Globe.GSOLayer, System.String) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB.addLayerToGlobeControl(GSOLayer sourceLayer, String layerName) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 161 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 137 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:06:34--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void addLayerToGlobeControl(GeoScene.Globe.GSOLayer, System.String) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB.addLayerToGlobeControl(GSOLayer sourceLayer, String layerName) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 161 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 137 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:06:36--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 43 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:06:44--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 43 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:07:03--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 43 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:07:05--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 43 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 16:31:34--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void comboBoxExLayer_SelectedIndexChanged(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB.comboBoxExLayer_SelectedIndexChanged(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 210 - 在 System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e) - 在 DevComponents.DotNetBar.Controls.ComboBoxEx.OnSelectedIndexChanged(EventArgs e) - 在 System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value) - 在 Cyberpipe.Forms.FrmPipelineModelDB.buttonOpen_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 336 - 在 DevComponents.DotNetBar.ButtonX.OnClick(EventArgs e) - 在 DevComponents.DotNetBar.ButtonX.OnMouseUp(MouseEventArgs e) - 在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) - 在 System.Windows.Forms.Control.WndProc(Message& m) - 在 DevComponents.DotNetBar.PopupItemControl.WndProc(Message& m) - 在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) - 在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) - 在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) - 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) - 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) - 在 System.Windows.Forms.Form.ShowDialog(IWin32Window owner) - 在 Cyberpipe.MainFrm.buttonItem127_Click_2(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\MainFrm.cs:行号 8524 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 17:58:23--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:11:21--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:12:13--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:12:33--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:12:43--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:12:53--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:13:31--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:16:04--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 9:53:19--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 38 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 9:53:49--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 38 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 9:54:25--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 38 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 10:33:08--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 38 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 10:38:52--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void addLayerToGlobeControl(System.String) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB.addLayerToGlobeControl(String layerName) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 155 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 135 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 14:31:15--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void .ctor(GeoScene.Globe.GSOGlobeControl, GeoScene.Engine.GSODataSource, Boolean) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB..ctor(GSOGlobeControl _ctl, GSODataSource _ds, Boolean _isSh) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 26 - 在 Cyberpipe.MainFrm.buttonItem127_Click_2(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\MainFrm.cs:行号 6262 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 14:31:20--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void .ctor(GeoScene.Globe.GSOGlobeControl, GeoScene.Engine.GSODataSource, Boolean) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB..ctor(GSOGlobeControl _ctl, GSODataSource _ds, Boolean _isSh) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 26 - 在 Cyberpipe.MainFrm.buttonItem127_Click_2(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\MainFrm.cs:行号 6262 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 14:31:55--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void .ctor(GeoScene.Globe.GSOGlobeControl, GeoScene.Engine.GSODataSource, Boolean) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB..ctor(GSOGlobeControl _ctl, GSODataSource _ds, Boolean _isSh) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 26 - 在 Cyberpipe.MainFrm.buttonItem127_Click_2(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\MainFrm.cs:行号 6262 - - - - exception over ------------------------------------------------------------ + \ No newline at end of file diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 3cd6715..2b3fc7a 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 2cb49bd..a0fc9a1 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -329,8 +329,8 @@ private void cmbReference_SelectedIndexChanged(object sender, EventArgs e) { - startH.SelectedItem = "起始" + cmbReference.Text + "高程"; - endH.SelectedItem = "终止" + cmbReference.Text + "高程"; + startH.SelectedItem = "起始" + cmbReference.Text + "高"; + endH.SelectedItem = "终止" + cmbReference.Text + "高"; } private void buttonOpen_Click(object sender, EventArgs e) diff --git a/FrmCompareFeature.cs b/FrmCompareFeature.cs index c010abf..74fa33e 100644 --- a/FrmCompareFeature.cs +++ b/FrmCompareFeature.cs @@ -21,30 +21,27 @@ GSOLayer layerTemp2; GSOFeature new_feat; GSOGeoPolygon3D resPolygon; - List m_PipelineLayerNames = new List(); - List sgPipeLayersNames = new List(); static FrmCompareFeature frm; - public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames,int width) + public static void ShowForm(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2, int width) { if (frm == null) { - frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2, m_PipelineLayerNames, sgPipeLayersNames); + frm = new FrmCompareFeature(_globeControl1, _globeControl2, _layerTemp, _layerTemp2); frm.Location = new Point((width - frm.Width) / 2, 50); frm.Show(_globeControl1.Parent); - } else { if (frm.WindowState == FormWindowState.Minimized) - { frm.WindowState = FormWindowState.Normal; - } } } - public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, GSOLayer _layerTemp, GSOLayer _layerTemp2, List m_PipelineLayerNames, List sgPipeLayersNames) + public FrmCompareFeature(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2, + GSOLayer _layerTemp, GSOLayer _layerTemp2) { globeControl1 = _globeControl1; globeControl2 = _globeControl2; @@ -57,9 +54,6 @@ globeControl1.MouseClick += globeControl1_MouseClick; globeControl2.MouseClick += globeControl2_MouseClick; - - this.m_PipelineLayerNames = m_PipelineLayerNames; - this.sgPipeLayersNames = sgPipeLayersNames; } private void buttonAnalysis_Click(object sender, EventArgs e) @@ -326,8 +320,9 @@ } } - catch (Exception ex) { - + catch (Exception ex) + { + } } diff --git a/FrmFlyToPosition.cs b/FrmFlyToPosition.cs index 0163506..e1240f5 100644 --- a/FrmFlyToPosition.cs +++ b/FrmFlyToPosition.cs @@ -7,55 +7,41 @@ { public partial class FrmFlyToPosition : Office2007Form { - GSOGlobeControl globeControl; + GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; - public FrmFlyToPosition(GSOGlobeControl globeControl1, GSOGlobeControl globeControl2) + + public FrmFlyToPosition(GSOGlobeControl _globeControl1, GSOGlobeControl _globeControl2) { InitializeComponent(); - globeControl = globeControl1; - this.globeControl2 = globeControl2; + globeControl1 = _globeControl1; + globeControl2 = _globeControl2; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } - public FrmFlyToPosition(GSOGlobeControl globeControl1) + public FrmFlyToPosition(GSOGlobeControl _globeControl1) { InitializeComponent(); - globeControl = globeControl1; + globeControl1 = _globeControl1; foreach (Location l in Utility.locationList) - { comboBox1.Items.Add(l.NAME); - } } private void buttonX1_Click(object sender, EventArgs e) { - if (comboBox1.SelectedItem==null) + if (comboBox1.SelectedItem == null) { MessageBox.Show("请选择定位点!"); + return; } else { Location l = Utility.locationList.Find( - delegate(Location location) - { - return location.NAME.Equals(comboBox1.Text.Trim()); - }); + delegate(Location location) { return location.NAME.Equals(comboBox1.Text.Trim()); }); if (l != null) - { jumpToCameraState(l.X, l.Y, l.Z); - } - /* - double x = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[0]); - double y = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[1]); - double z = Convert.ToDouble(Utility.Query_Roads[comboBox1.SelectedItem.ToString()].ToString().Split(',')[2]); - jumpToCameraState(x, y, z); - */ } - } /// @@ -72,19 +58,11 @@ camera.Distance = z; camera.Tilt = 0; camera.Heading = 0; - if (globeControl != null) - { - globeControl.Globe.JumpToCameraState(camera); - } + if (globeControl1 != null) + globeControl1.Globe.JumpToCameraState(camera); if (globeControl2 != null) - { globeControl2.Globe.JumpToCameraState(camera); - } - - } - - } } diff --git a/FrmLayerControl.Designer.cs b/FrmLayerControl.Designer.cs index d1ab3e6..35df5d1 100644 --- a/FrmLayerControl.Designer.cs +++ b/FrmLayerControl.Designer.cs @@ -31,27 +31,13 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); this.layerTree1 = new System.Windows.Forms.TreeView(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.layerTree2 = new System.Windows.Forms.TreeView(); - this.layerNodeContexMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.FeatureAddLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerSelectableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.LayerEditableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.SaveLayerMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.移除图层ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); - this.layerNodeContexMenu.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // // layerTree1 @@ -94,90 +80,6 @@ this.layerTree2.TabIndex = 3; this.layerTree2.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree2_AfterCheck); // - // layerNodeContexMenu - // - this.layerNodeContexMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.FeatureAddLayerMenuItem, - this.LayerSelectableMenuItem, - this.LayerEditableMenuItem, - this.SaveLayerMenuItem}); - this.layerNodeContexMenu.Name = "layerNodeContexMenu"; - this.layerNodeContexMenu.Size = new System.Drawing.Size(125, 92); - // - // FeatureAddLayerMenuItem - // - this.FeatureAddLayerMenuItem.Name = "FeatureAddLayerMenuItem"; - this.FeatureAddLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.FeatureAddLayerMenuItem.Text = "目标图层"; - this.FeatureAddLayerMenuItem.Click += new System.EventHandler(this.FeatureAddLayerMenuItem_Click); - // - // LayerSelectableMenuItem - // - this.LayerSelectableMenuItem.Name = "LayerSelectableMenuItem"; - this.LayerSelectableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerSelectableMenuItem.Text = "可选择"; - this.LayerSelectableMenuItem.Click += new System.EventHandler(this.LayerSelectableMenuItem_Click); - // - // LayerEditableMenuItem - // - this.LayerEditableMenuItem.Name = "LayerEditableMenuItem"; - this.LayerEditableMenuItem.Size = new System.Drawing.Size(124, 22); - this.LayerEditableMenuItem.Text = "可编辑"; - this.LayerEditableMenuItem.Click += new System.EventHandler(this.LayerEditableMenuItem_Click); - // - // SaveLayerMenuItem - // - this.SaveLayerMenuItem.Name = "SaveLayerMenuItem"; - this.SaveLayerMenuItem.Size = new System.Drawing.Size(124, 22); - this.SaveLayerMenuItem.Text = "保存"; - this.SaveLayerMenuItem.Click += new System.EventHandler(this.SaveLayerMenuItem_Click); - // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.移除图层ToolStripMenuItem, - this.toolStripMenuItem1, - this.toolStripMenuItem2, - this.toolStripMenuItem3, - this.toolStripMenuItem4}); - this.contextMenuStrip1.Name = "layerNodeContexMenu"; - this.contextMenuStrip1.Size = new System.Drawing.Size(125, 114); - // - // 移除图层ToolStripMenuItem - // - this.移除图层ToolStripMenuItem.Name = "移除图层ToolStripMenuItem"; - this.移除图层ToolStripMenuItem.Size = new System.Drawing.Size(124, 22); - this.移除图层ToolStripMenuItem.Text = "移除图层"; - this.移除图层ToolStripMenuItem.Click += new System.EventHandler(this.移除图层ToolStripMenuItem_Click); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem1.Text = "目标图层"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem2.Text = "可选择"; - this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem3.Text = "可编辑"; - this.toolStripMenuItem3.Click += new System.EventHandler(this.toolStripMenuItem3_Click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(124, 22); - this.toolStripMenuItem4.Text = "保存"; - this.toolStripMenuItem4.Click += new System.EventHandler(this.toolStripMenuItem4_Click); - // // FrmLayerControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -198,8 +100,6 @@ this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); - this.layerNodeContexMenu.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } @@ -209,16 +109,5 @@ private TreeView layerTree1; private SplitContainer splitContainer1; private TreeView layerTree2; - private ContextMenuStrip layerNodeContexMenu; - private ToolStripMenuItem FeatureAddLayerMenuItem; - private ToolStripMenuItem LayerSelectableMenuItem; - private ToolStripMenuItem LayerEditableMenuItem; - private ToolStripMenuItem SaveLayerMenuItem; - private ContextMenuStrip contextMenuStrip1; - private ToolStripMenuItem toolStripMenuItem1; - private ToolStripMenuItem toolStripMenuItem2; - private ToolStripMenuItem toolStripMenuItem3; - private ToolStripMenuItem toolStripMenuItem4; - private ToolStripMenuItem 移除图层ToolStripMenuItem; } } \ No newline at end of file diff --git a/FrmLayerControl.cs b/FrmLayerControl.cs index e94e746..052be3a 100644 --- a/FrmLayerControl.cs +++ b/FrmLayerControl.cs @@ -10,9 +10,9 @@ { public partial class FrmLayerControl : Office2007Form { - TreeView treeView1; GSOGlobeControl globeControl1; GSOGlobeControl globeControl2; + TreeNode terrainManagerNode = null; TreeNode layerManagerNode = null; TreeNode terrainManagerNode1 = null; @@ -25,84 +25,67 @@ globeControl2 = ctl2; } - /// - /// 窗体初始化事件处理 - /// - /// - /// - private void FrmLayerControl_Load(object sender, EventArgs e) + private void initLayerTree(out TreeNode treeNode, string strTreeNodeText) { - //加载layertree1 + treeNode=new TreeNode(); + treeNode.ImageIndex = 0; + treeNode.SelectedImageIndex = 0; + treeNode.Checked = false; + treeNode.Text = strTreeNodeText; + } + + private void initTreeView() + { layerTree1.Nodes.Clear(); layerTree2.Nodes.Clear(); //加载layertree2 - layerManagerNode1 = new TreeNode(); - layerManagerNode1.ImageIndex = 0; - layerManagerNode1.SelectedImageIndex = 0; - layerManagerNode1.Checked = false; - layerManagerNode1.Text = "图层管理"; + initLayerTree(out layerManagerNode1, "图层管理"); layerTree1.Nodes.Add(layerManagerNode1); - layerManagerNode = new TreeNode(); - layerManagerNode.ImageIndex = 0; - layerManagerNode.SelectedImageIndex = 0; - layerManagerNode.Checked = false; - layerManagerNode.Text = "图层管理"; - layerTree2.Nodes.Add(layerManagerNode); - - terrainManagerNode1 = new TreeNode(); - terrainManagerNode1.ImageIndex = 0; - terrainManagerNode1.SelectedImageIndex = 0; - terrainManagerNode1.Checked = false; - terrainManagerNode1.Text = "地形管理"; + initLayerTree(out terrainManagerNode1, "地形管理"); layerTree1.Nodes.Add(terrainManagerNode1); - terrainManagerNode = new TreeNode(); - terrainManagerNode.ImageIndex = 0; - terrainManagerNode.SelectedImageIndex = 0; - terrainManagerNode.Checked = false; - terrainManagerNode.Text = "地形管理"; + + initLayerTree(out layerManagerNode, "图层管理"); + layerTree2.Nodes.Add(layerManagerNode); + initLayerTree(out terrainManagerNode, "地形管理"); layerTree2.Nodes.Add(terrainManagerNode); - + } + + private void initNode(string nodeName) + { + TreeNode nodeGroupElse1 = new TreeNode(); + nodeGroupElse1.Text = nodeName; + layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); + + TreeNode nodeGroupElse = new TreeNode(); + nodeGroupElse.Text = nodeName == "供电" ? "电力" : nodeName; + layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + } + + private void initTreeNode(XmlNodeList Params) + { + foreach (XmlNode paramsNode in Params) //layers + { + foreach (XmlNode layerNode in paramsNode) //layer + { + initNode(layerNode.Attributes["label"].Value); + } + } + + initNode("基础图层"); + initNode("其他"); + } + + private void FrmLayerControl_Load(object sender, EventArgs e) + { + initTreeView(); try { XmlDocument doc = new XmlDocument(); doc.Load(Application.StartupPath + "\\双屏设置.xml"); - XmlNodeList Params1 = doc.SelectNodes("/Params/layers"); + XmlNodeList Params = doc.SelectNodes("/Params/layers"); - foreach (XmlNode paramsNode in Params1) //layers - { - foreach (XmlNode layerNode in paramsNode) //layer - { - TreeNode nodeGroup1 = new TreeNode(); - string nodeGroupName1 = layerNode.Attributes["label"].Value; - - nodeGroup1.Text = nodeGroupName1 == "电力" ? "供电" : nodeGroupName1; - - layerTree1.Nodes[0].Nodes.Add(nodeGroup1); - - TreeNode nodeGroup = new TreeNode(); - string nodeGroupName = layerNode.Attributes["label"].Value; - nodeGroup.Text = nodeGroupName; - layerTree2.Nodes[0].Nodes.Add(nodeGroup); - } - } - TreeNode nodeGroupElse1 = new TreeNode(); - string nodeGroupNameElse1 = "基础数据"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - TreeNode nodeGroupElse = new TreeNode(); - string nodeGroupNameElse = "基础数据"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); - - nodeGroupElse1 = new TreeNode(); - nodeGroupNameElse1 = "其它"; - nodeGroupElse1.Text = nodeGroupNameElse1; - layerTree1.Nodes[0].Nodes.Add(nodeGroupElse1); - nodeGroupElse = new TreeNode(); - nodeGroupNameElse = "其它"; - nodeGroupElse.Text = nodeGroupNameElse; - layerTree2.Nodes[0].Nodes.Add(nodeGroupElse); + initTreeNode(Params); } catch (Exception ex) { @@ -111,88 +94,125 @@ RefreshLayerAndTerrainTree(); } - /// - /// 刷新节点树 - /// - private void RefreshLayerAndTerrainTree() + + private void addLayerTreeNode(int nLayerCount, int nTerrainCount, GSOGlobeControl globcontrol, + TreeView layerTree) { - ////layertree1 - int nLayerCount1 = globeControl1.Globe.Layers.Count; - int nTerrainCount1 = globeControl1.Globe.Terrains.Count; - - for (int i = 0; i < nLayerCount1; i++) + try { - GSOLayer layer = globeControl1.Globe.Layers[i]; - if (layer == null) continue; - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; - - bool isContains = false; - for (int j = 0; j < layerTree1.Nodes[0].Nodes.Count; j++) + for (int i = 0; i < nLayerCount; i++) { - if (!layerName.Contains("fttp:")) + GSOLayer layer = globcontrol.Globe.Layers[i]; + if (layer == null) continue; + string layerName = layer.Name; + TreeNode node = new TreeNode(); + node.Tag = layer; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = layer.Caption; + node.Checked = layer.Visible; + + bool isContains = false; + for (int j = 0; j < layerTree.Nodes[0].Nodes.Count; j++) { - if (layerName.Contains(layerTree1.Nodes[0].Nodes[j].Text.Trim()) && !layerName.Contains("施工") && - !layerName.Contains("规划")) + if (!layerName.Contains("fttp:")) { - layerTree1.Nodes[0].Nodes[j].Nodes.Add(node); + switch (layerTree.Name) + { + case "layerTree1": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim()) || + layerName.Contains("施工") || + layerName.Contains("规划")) continue; + break; + case "layerTree2": + if (!layerName.Contains(layerTree.Nodes[0].Nodes[j].Text.Trim())) continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[j].Nodes.Add(node); + isContains = true; + break; + } + else + { + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 2].Nodes.Add(node); isContains = true; break; } } - else + switch (layerTree.Name) { - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; + case "layerTree1": + if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || + layerName.Contains("标注") || + isContains == true || layerName.Contains("施工") || layerName.Contains("规划") || + layerName.Contains("景观") || layerName.Contains("红线")) + continue; + break; + case "layerTree2": + if (isContains != false || layerName.Contains("tempLgdData2")) + continue; + break; + default: + break; + } + + layerTree.Nodes[0].Nodes[layerTree.Nodes[0].Nodes.Count - 1].Nodes.Add(node); + } + + for (int i = 0; i < nTerrainCount; i++) + { + GSOTerrain terrain = globcontrol.Globe.Terrains[i]; + if (terrain == null) continue; + TreeNode node = new TreeNode(); + node.Tag = terrain; + node.ImageIndex = 0; + node.SelectedImageIndex = 0; + node.Text = terrain.Caption; + node.Checked = terrain.Visible; + switch (layerTree.Name) + { + case "layerTree1": + terrainManagerNode1.Nodes.Add(node); + break; + case "layerTree2": + terrainManagerNode.Nodes.Add(node); + break; + default: + break; } } - if (layerName.Contains("tempLgdData") || layerName.Contains("城市") || layerName.Contains("标注")) - continue; - if (isContains == false && !layerName.Contains("施工") && !layerName.Contains("规划") && - !layerName.Contains("景观") && !layerName.Contains("红线")) - layerTree1.Nodes[0].Nodes[layerTree1.Nodes[0].Nodes.Count - 1].Nodes.Add(node); } + catch (Exception ex) + { + LogError.PublishError(ex); + } + } + private void initTreeNodeCheckedStatus(TreeView layerTreeView) + { //节点选中状态控制 - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { foreach (TreeNode childNode in node.Nodes) { GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } + if (layer == null || layer.Visible != true) continue; + node.Checked = true; + break; } } - foreach (TreeNode node in layerTree1.Nodes[0].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[0].Nodes) { if (node.Checked != true) continue; - layerTree1.Nodes[0].Checked = true; + layerTreeView.Nodes[0].Checked = true; break; } - - for (int i = 0; i < nTerrainCount1; i++) - { - GSOTerrain terrain = globeControl1.Globe.Terrains[i]; - if (terrain == null) continue; - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode1.Nodes.Add(node); - } - - foreach (TreeNode node in layerTree1.Nodes[1].Nodes) + + foreach (TreeNode node in layerTreeView.Nodes[1].Nodes) { foreach (TreeNode childNode in node.Nodes) { @@ -202,99 +222,10 @@ break; } } - ///layertree2 - int nLayerCount = globeControl2.Globe.Layers.Count; - int nTerrainCount = globeControl2.Globe.Terrains.Count; - //int i = 0; - for (int i = 0; i < nLayerCount; i++) - { - GSOLayer layer = globeControl2.Globe.Layers[i]; - if (layer != null) - { - string layerName = layer.Name; - TreeNode node = new TreeNode(); - node.Tag = layer; - node.Text = layer.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = layer.Visible; + } - bool isContains = false; - for (int j = 0; j < layerTree2.Nodes[0].Nodes.Count; j++) - { - if (!layerName.Contains("fttp:")) - { - if (layerName.Contains(layerTree2.Nodes[0].Nodes[j].Text.Trim())) - { - layerTree2.Nodes[0].Nodes[j].Nodes.Add(node); - isContains = true; - break; - } - } - else - { - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 2].Nodes.Add(node); - isContains = true; - break; - } - } - - if (layerName.Contains("tempLgdData2")) - continue; - if (isContains == false) - layerTree2.Nodes[0].Nodes[layerTree2.Nodes[0].Nodes.Count - 1].Nodes.Add(node); - } - } - - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOLayer layer = childNode.Tag as GSOLayer; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - foreach (TreeNode node in layerTree2.Nodes[0].Nodes) - { - if (node.Checked == true) - { - layerTree2.Nodes[0].Checked = true; - break; - } - } - - for (int i = 0; i < nTerrainCount; i++) - { - GSOTerrain terrain = globeControl2.Globe.Terrains[i]; - if (terrain != null) - { - - TreeNode node = new TreeNode(); - node.Tag = terrain; - node.Text = terrain.Caption; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = terrain.Visible; - terrainManagerNode.Nodes.Add(node); - } - } - foreach (TreeNode node in layerTree2.Nodes[1].Nodes) - { - foreach (TreeNode childNode in node.Nodes) - { - GSOTerrain layer = childNode.Tag as GSOTerrain; - if (layer != null && layer.Visible == true) - { - node.Checked = true; - break; - } - } - } - // 展开 + void exPandTreeNode() + { layerManagerNode1.Expand(); terrainManagerNode1.Expand(); layerManagerNode.Expand(); @@ -303,76 +234,22 @@ /// /// 刷新节点树 /// - private void RefreshDataTree() + private void RefreshLayerAndTerrainTree() { - layerTree2.Nodes[0].Nodes.Clear(); - Int32 nCount = globeControl2.Globe.Layers.Count; - Int32 i = 0; - for (i = 0; i < nCount; i++) - { - GSODataset dataSpace = globeControl2.Globe.Layers[i].Dataset; - TreeNode node = new TreeNode(); - node.Text = dataSpace.Name; - node.ImageIndex = 0; - node.SelectedImageIndex = 0; - node.Checked = true; - node.Tag = dataSpace; - layerTree2.Nodes[0].Nodes.Add(node); - } + int nLayerCount1 = globeControl1.Globe.Layers.Count;//图层 + int nTerrainCount1 = globeControl1.Globe.Terrains.Count;//地形 + addLayerTreeNode(nLayerCount1, nTerrainCount1, globeControl1, layerTree1); + initTreeNodeCheckedStatus(layerTree1); + + int nLayerCount = globeControl2.Globe.Layers.Count; + int nTerrainCount = globeControl2.Globe.Terrains.Count; + addLayerTreeNode(nLayerCount, nTerrainCount, globeControl2, layerTree2); + initTreeNodeCheckedStatus(layerTree2); + + // 展开 + exPandTreeNode(); } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void FeatureAddLayerMenuItem_Click(object sender, EventArgs e) - { - if (!FeatureAddLayerMenuItem.Checked) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - FeatureAddLayerMenuItem.Checked = true; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - //GSOLayer layer = globeControl1.Globe.Layers.GetLayerByID((int)node.Tag); - globeControl1.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void LayerSelectableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl1.Globe.Layers[nIndex]; - LayerSelectableMenuItem.Checked = !LayerSelectableMenuItem.Checked; - layer.Selectable = LayerSelectableMenuItem.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void LayerEditableMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(node.Tag.ToString().Split('|')[1]); - LayerEditableMenuItem.Checked = !LayerEditableMenuItem.Checked; - layer.Editable = LayerEditableMenuItem.Checked; - } - /// - /// 保存图层按钮事件处理 - /// - /// - /// - private void SaveLayerMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = layerNodeContexMenu.Tag as TreeNode; - string layerCaption = node.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } + /// /// 节点树复选框选中状态改变事件处理 /// @@ -404,7 +281,7 @@ CheckParentNode(e.Node); if (e.Node.Nodes.Count > 0) checkChildrenNodeLayertree2(e.Node, e.Node.Checked); - } + } } /// /// 改变指定节点的子节点的选中状态 @@ -432,26 +309,15 @@ globeControl1.Globe.Refresh(); } if (childNode.Nodes.Count > 0) - { checkChildrenNodeLayertree1(childNode, isChecked); - } } } - private TreeNode queryNode(TreeNode node,string txt) - { - foreach (TreeNode n in node.Nodes) - { - return txt.Equals(n.Text) ? n : queryNode(n, txt); - } - return null; - - } /// /// 改变指定节点的子节点的选中状态 /// /// /// - private void checkChildrenNodeLayertree2(TreeNode parentNode,bool isChecked) + private void checkChildrenNodeLayertree2(TreeNode parentNode, bool isChecked) { foreach (TreeNode childNode in parentNode.Nodes) { @@ -475,121 +341,6 @@ checkChildrenNodeLayertree2(childNode, isChecked); } } - - /// - /// 改变指定节点的选中状态 - /// - /// - /// - private void CheckTreeNode(TreeNode node, Boolean bChecked) - { - CheckChildTreeNode(node, bChecked); - globeControl1.Globe.Refresh(); - globeControl2.Globe.Refresh(); - - } - private void CheckChildTreeNode(TreeNode node, Boolean bChecked) - { - if (node == null) - return; - if (node.Tag != null) - { - if (node.Tag.GetType() == typeof(GSOFeatureFolder) || - node.Tag.GetType() == typeof(GSOFeature)) - ((GSOFeature) node.Tag).SetVisibleDirectly(bChecked); - else - { - GSOLayer curLayer = node.Tag as GSOLayer; - GSOTerrain curTerrain = node.Tag as GSOTerrain; - if (curLayer != null) - curLayer.Visible = bChecked; - else if (curTerrain != null) - curTerrain.Visible = bChecked; - } - } - // 递归处理子节点 - for (int i = 0; i < node.Nodes.Count; i++) - { - node.Nodes[i].Checked = bChecked; - CheckChildTreeNode(node.Nodes[i], bChecked); - } - } - /// - /// 目标图层按钮事件处理 - /// - /// - /// - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - if (!toolStripMenuItem1.Checked) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - toolStripMenuItem1.Checked = true; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text.ToString()); - globeControl2.Globe.DestLayerFeatureAdd = layer; - } - } - /// - /// 可选择按钮事件处理 - /// - /// - /// - private void toolStripMenuItem2_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - Int32 nIndex = node.Index; - GSOLayer layer = globeControl2.Globe.Layers[nIndex]; - toolStripMenuItem2.Checked = !toolStripMenuItem2.Checked; - layer.Selectable = toolStripMenuItem2.Checked; - } - /// - /// 可编辑按钮事件处理 - /// - /// - /// - private void toolStripMenuItem3_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(node.Text); - toolStripMenuItem3.Checked = !toolStripMenuItem3.Checked; - layer.Editable = toolStripMenuItem3.Checked; - } - /// - /// 保存按钮事件处理 - /// - /// - /// - private void toolStripMenuItem4_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - - string layerCaption = node.Text; - GSOLayer layer = globeControl2.Globe.Layers.GetLayerByCaption(layerCaption); - layer.Dataset.Save(); - } - /// - /// 移除图层按钮事件处理 - /// - /// - /// - private void 移除图层ToolStripMenuItem_Click(object sender, EventArgs e) - { - TreeNode node = contextMenuStrip1.Tag as TreeNode; - TreeNode parentNode = node.Parent; - Int32 nIndex = node.Index; - - if (parentNode != layerManagerNode) - globeControl2.Globe.Terrains.Remove(nIndex); - else - { - string layername = globeControl2.Globe.Layers[nIndex].Name; - globeControl2.Globe.Layers.Remove(nIndex); - - globeControl2.Globe.DataManager.DeleteDataSourceByName(layername); - } - node.Remove(); - globeControl2.Globe.Refresh(); - } /// /// 节点树选中状态改变事件 /// @@ -623,91 +374,6 @@ checkChildrenNodeLayertree1(e.Node, e.Node.Checked); } } - - private TreeNode queryNodeFromTree(string txt , TreeView tree) - { - TreeNode node = null; - foreach (TreeNode n in tree.Nodes) - { - if (n.Text.Equals(txt)) - return n; - else - { - node = queryChildNode(txt, n); - if (null != node) - return node; - } - } - return null; - } - - private TreeNode queryChildNode(String txt, TreeNode parent) - { - TreeNode child = null; - foreach (TreeNode node in parent.Nodes) - { - if (txt.Equals(node.Text)) - return node; - else - { - child = queryChildNode(txt, node); - if (null != child) - return child; - } - } - return null; - } - - - /// - /// 树节点选中方法 - /// - /// - private void CheckControl(TreeViewEventArgs e) - { - if (e.Action != TreeViewAction.Unknown) - { - if (e.Node != null && !Convert.IsDBNull(e.Node)) - { - CheckParentNode(e.Node); - if (e.Node.Nodes.Count > 0) - CheckAllChildNodes(e.Node, e.Node.Checked); - } - } - } - /// - /// 改变所有子节点的状态 - /// - /// - /// - private void CheckAllChildNodes(TreeNode pn, bool IsChecked) - { - foreach (TreeNode tn in pn.Nodes) - { - tn.Checked = IsChecked; - if (tn.Tag.ToString().Contains("|")) - { - string nodeTag = tn.Tag.ToString().Split('|')[1]; - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(nodeTag); - if (layer != null) - { - layer.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Tag is GSOFeature) - { - if (tn.Nodes.Count == 0) - { - GSOFeature feat = tn.Tag as GSOFeature; - feat.Visible = IsChecked; - globeControl1.Globe.Refresh(); - } - } - if (tn.Nodes.Count > 0) - CheckAllChildNodes(tn, IsChecked); - } - } /// /// 改变父节点的选中状态,此处为所有子节点不选中时才取消父节点选中,可以根据需要修改 /// @@ -726,7 +392,6 @@ break; } } - if (bChecked) { curNode.Parent.Checked = true; diff --git a/FrmLayerControl.resx b/FrmLayerControl.resx index 34f1053..d58980a 100644 --- a/FrmLayerControl.resx +++ b/FrmLayerControl.resx @@ -117,10 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - - - 206, 17 - \ No newline at end of file diff --git a/MainFrm.cs b/MainFrm.cs index 5ea4e0c..e261e8f 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -8770,7 +8770,7 @@ LogManager.saveLog(Utility.userName, buttonItem8.Text); int width = Width; - FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, Utility.m_PipelineLayerNames, Utility.sgPipeLayersNames, width); + FrmCompareFeature.ShowForm(globeControl1, globeControl2, layerTemp, layerTemp2, width); } /// /// 红线审核导出图片 @@ -8838,6 +8838,7 @@ trackflag = "BSQDuoBianXiangStatis"; globeControl1.Globe.Action = EnumAction3D.TrackPolygon; } + private void btn_check_history_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, btn_check_history.Text); diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 9c3c430..93a213d 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -2009,7 +2009,6 @@ // timer1 // this.timer1.Interval = 500; - //this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // // layerNodeContexMenu // @@ -2284,11 +2283,11 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); + this.ribbonControl1.Controls.Add(this.ribbonPanel15); + this.ribbonControl1.Controls.Add(this.ribbonPanel4); this.ribbonControl1.Controls.Add(this.ribbonPanel12); this.ribbonControl1.Controls.Add(this.ribbonPanel1); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2357,6 +2356,7 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; + this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -3926,7 +3926,6 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; - this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -4469,6 +4468,7 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -4489,7 +4489,6 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5484,7 +5483,7 @@ this.dataGridViewX2.ReadOnly = true; this.dataGridViewX2.RowHeadersVisible = false; this.dataGridViewX2.RowTemplate.Height = 23; - this.dataGridViewX2.Size = new System.Drawing.Size(21874, 92); + this.dataGridViewX2.Size = new System.Drawing.Size(22171, 92); this.dataGridViewX2.TabIndex = 11; // // dataGridViewTextBoxColumn10 @@ -5578,7 +5577,7 @@ this.dataGridViewX3.ReadOnly = true; this.dataGridViewX3.RowHeadersVisible = false; this.dataGridViewX3.RowTemplate.Height = 23; - this.dataGridViewX3.Size = new System.Drawing.Size(21873, 127); + this.dataGridViewX3.Size = new System.Drawing.Size(22170, 127); this.dataGridViewX3.TabIndex = 5; this.dataGridViewX3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX3_MouseDoubleClick); // @@ -5836,7 +5835,7 @@ this.dataGridViewX8.ReadOnly = true; this.dataGridViewX8.RowHeadersVisible = false; this.dataGridViewX8.RowTemplate.Height = 23; - this.dataGridViewX8.Size = new System.Drawing.Size(40, 92); + this.dataGridViewX8.Size = new System.Drawing.Size(23, 92); this.dataGridViewX8.TabIndex = 11; // // dataGridViewTextBoxColumn12 @@ -5931,7 +5930,7 @@ this.dataGridViewX9.ReadOnly = true; this.dataGridViewX9.RowHeadersVisible = false; this.dataGridViewX9.RowTemplate.Height = 23; - this.dataGridViewX9.Size = new System.Drawing.Size(39, 127); + this.dataGridViewX9.Size = new System.Drawing.Size(22, 127); this.dataGridViewX9.TabIndex = 5; this.dataGridViewX9.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX9_MouseDoubleClick); // diff --git a/MainFrm.resx b/MainFrm.resx index bf053b9..9921566 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,6 +351,505 @@ 766, 54 + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 + N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw + REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB + MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB + Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 + 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f + 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 + uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 + SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD + bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 + 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG + TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX + 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj + p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY + RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB + lh7gOXXZq9sAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG + MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU + TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt + fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 + Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN + /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy + yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF + NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA + CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx + flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B + CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy + QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp + olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh + Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO + Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim + r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 + uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 + AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF + MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 + NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy + ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 + 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM + 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN + z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D + ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW + QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd + R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN + Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm + 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD + YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q + dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE + H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel + v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I + E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj + 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL + zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M + R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 + MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH + prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 + U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB + 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD + QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG + 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU + 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao + GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc + 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 + /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC + Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ + KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o + VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX + 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 + seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt + NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei + /A9dc78cqtG90gAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4033,253 +4532,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjYzQTM5NEY4Mjg0OUU0MTE5NDBEQTc4ODZEQzk5 - N0NGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJGRTU5OEQ1NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJGRTU5OEQ0NDlEQjExRTRBRUVDOTkyMjQ5NzEw - REUwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTY0MkI1RjlEQTQ5RTQxMUE0QzNB - MjdEOTJBQzc3QkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjNBMzk0RjgyODQ5RTQxMTk0MERB - Nzg4NkRDOTk3Q0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6B5sF9AAACe0lEQVRIS7WVb2jMcRzHL7UHanF/Mts5prE/1li3kAfu5Ak7 - 5IHNobBkSC2UIuGJkrrSWRvTmHQWK8U1T8jqUtYwkZpaGjV/Js6to5YwfXze39+fu/v23f36hXe9us+f - 7/v9rd/dr3MQ0X/F4Zm3+K9QhWajNNlBFZqN0mQHS6lMdrCUyqSgimllUsy4XmOmp+QRDllQWbygjjq6 - uimZStOX8a+ixox3pXrM1JLCDAqYJmY7c669M0bff07mcLbtEl9QE8k6V6BH5ooXMsHZZX7ae+AY7W45 - SrPm19LbsSR9m/iRA2bYGefggVePzUgKBzeu9sQpmZ4QcG/WMtk7eLjv0WMz0kOz+TX6MUXvP6cFeNbD - bz6YvQFm2Bk9PPByZO6jksLB5KvRTzTyLikIrG2ktsvXzd4g2hGjYP1ms4eHvb850qkl65LCQW/ntVs0 - 9HpMcPx0K1X4V1Ff/3NzhnphbVDsjBk8Lm/VE44s0ZJ1KS4Ie8uXUvPBE7Tn0ElCzTMqrV5BO/cfEaDG - TD5X6PFFONLygsTF7jj1vxihyPkYNTS1iFrFxm37KHIhJmp43L7qZxzp0pJ1SeHhQGgLJQaH6fb9R1QX - 2EB3Ek9FryLe95j8K9eLT/TB0FZcskOP1iRdkIh23aR7Ay9pzaZddKY9Jup8nIpeoXXhZlHD655b85Bj - p2npLOmCML+dD/iTZhaX3+UvbRB1PpzeygFnSUUvatecRUMzisoOc+x0LZ3FixxYhQyK1cxyZhkTYhqY - RgnM6hmcwVl4ljDI0KS4AC+Kmyli8Jv2MF7GNwXY4QzOwgNv5mWTL7CLpVQmO1hKZbKDpVR/1P8OcvwB - lh7gOXXZq9sAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNDMTJDMTRENEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNDMTJDMTRDNEFDOTExRTRCRDk4ODBFRTFERTlG - MzY1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjYwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4rRYZ8AAACEElEQVRIS2MQltOlCP///x8vxqqJFIzNUGSMVRMpmCDApokU - TBBg04SEpwHxfwJ4GtQo7ACoABfODY3N+P/773+82C88GWRJBtQ4TIBmKAyziCsa/L98/c5/37Ck/3Wt - fVixT2ji//OXr/8XU9T/zy0kzQo1EhVgMRyEm0uqW//vP3Lqv5Cs9ml+CZVp/OLKs/nFleYgY0EZzQt7 - Dh7/n1/eCFLXBjUSFWAxXENZ1/r/g6evgK5P/l/d1IMXe4ck/L//+MV/RW2r/0IyWppQYxEAiwWT+qfN - /7/7wHGQq84BXT9FQEq9S1Bas0VQWqMVFWu2ANWc2LbnyP/eKfNA6qdDjUUANMN9Tex8/j999eG/LzDy - yuo7icIeQfH/n7x8/x+kV0hGOwBqNASgWbBt+frt/7cCXQRko2Cg9xfCXA5io8uv37bv//J124G+0NkF - NJYRYjoQACWR8f97T99gxSA5oHIpECZCHTvIbDCAGgy34MaDF1ixo08k3LWO3hEY8jC9IBporBDEdCAA - CqBYcPnOU4ow1AKQTyEA3YKz1x9RhKEWyEBMBwJ0C05cvocVl9R3o2BsakCYoAWHz9+mCBO0YP/pGzhx - flUHGGOTg2GCFuw+cY0iTNCCHceuUIQJWUBMBYMX80uo7gQai9MCkJAoENsDcQiZGKQXZAYEYLEAlM1B - CkCuIAeD9EKLCgYGAMLPWmGxemtkAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY2MzBBRkRDNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY2MzBBRkRCNEFDOTExRTQ5Q0JEQkU0NDNBNTYy - QTY5IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjgwQjFGREZDNjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6+q/BOAAABR0lEQVRIS7WVTUvDQBCGe/PoQQQP4s2jv8E/4W/rXxEFQRAp - olCwfjRUJWK1ltJgNJh+6Toz7OCSzrIZFwce2LDzvs8hkDSMMf/K7wFmbWunCRgFTQp6RhKY+ZephSvh - Du7hoWf3AgPT+XcteLcqcUcUlNMFYYNLuPeVXZK4IwqKckZMZgsveO/u8jNKqMiOKHgrJrWQdqsSUTDO - Pwm7LBK6pzIYUTDMPoi8KGvB+4wVrGCfKHge5VFYwTr2iYLHQUbgWYObg6pN7BMFd/0RMczeVXAuKOim - r1EEBVf3LwSeNbg5qPIL2skTkQ7GKjgXFJzfpFEEBa3LBwLPGtwcVPkFJ+0ekcAL08C5oOD4IokiKDg6 - uyXwrMHNQZVfcNi6Jjq9vgrOBQX7p50oQgLtT3+J1Y3tA6iSBXbwS7gL7P0RzNqvqWn8AE4SSnpUkJk6 - AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGMTBBQzY2NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGMTBBQzY1NEFDQTExRTRBQTYyQjA5QjRFNjBF - MzcyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0EzRTc1RjdDOTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg2NjBEMzE2NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg2NjBEMzE1NEFGRTExRTQ4NTY1QzE4RjMzMkM0 - NEY4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTU5NUNEQTdGQTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5BZhOvAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy - ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 - 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM - 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN - z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D - ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW - QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd - R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN - Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm - 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD - YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q - dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE - H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel - v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I - E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj - 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL - zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M - R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjIxNUQ2NkYyNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjIxNUQ2NkYxNEQyRDExRTQ5N0NDRjdBNTBDQjc0 - MUY3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkU1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4lOJsMAAADqUlEQVRIS6WTf0hVdxjGj2beulPvD52aU6Np6tKBhUWsYjIH - prDYSlZjNPsjlUnkMmSx6eJqS/u5zXGtoKKEMaEt2lpZ20RX01Bjad31A8UakdZ0SyrLJfHueU7H0zl6 - U8QXPvCe933e5/3e8z1XCY5+dVKIyJh4HZoI48bQE5kU44a3ISM45TxQCTxgQIM5a/M0m+eHN1OC4TfB - 96mZ78reg9+I50qn3HvwSIU5a+xBcwyka3ajY3DoySgwUJ44P02O/vSz4HlMfqitk7mLlnLRNs3SHAOD - QzoQOYF7de4Gud17V1DTuf/wP7nScUOFubF3559+4QxngUOzfhr9DwZV0AgHVZ99/oXcvf9IUNPZd6hG - 5qS8Ic7IOb2EOWtGDWdKtuzmkj300uwVpa9/gOZTae6qqBQ8myjb4RZbeEyjJcBROt0W6rLaw4unBYYU - 2mfMrmNvpJ4ewdFJe+Hnry7o7rvHBV+v/7hUkJtoab8qobOSZarlhfX2iLhjS5d/IBkrsvlLDmPJEvao - GTlXsKmMS9zqApjnZWatkeu3+uSvnn9NlO2skqCwl2tt4bH7N7l26nXmzqgkFxZVUWOcIfSiZ3BU0odc - 0Hay/px03Px7FOuKXBIUOms/zDwn6pr0OnOcsN0ZlVhEjXFmGHpCc0n9BenvZMulzlvyZ1ePiZLySsG7 - /hYn3VpYXKHXmdtnxLmx4CtqjDOEXunLs3F3sS7lwrWbCoT71hYUC3ITJxta1TsIDImOh+ZA2rL3hdjC - Yhr8pwdlsUfNyLkceEFThxt4TWnxXFf8rTab46WEmo8+KRc8m9jwaQXed2I1Trw4IDgqx2oPK8EFb4T+ - KHsj9fSA+Rkf3ynvYUGi0tjWybv2DXBGxjsiEo7kF5XJ7xc6BHWdzdv3yOzk1/lOu3BxN5izZtRwJr+o - VDX3s1jz4ZkCHErD+WsqiCn4xuPsEfHfvbUqV2rPtgnqOvWtV6Xm+G8qzI09ajmjmvtPy4PXQhBCT+XX - 5ss6CD/wIl5H9SspaVLhrhbUx4QaavG1/YLZVWABPTQvRTnV5DGhNZyBITPz8cqaU1KXSeHmXXLgyGn5 - seEPFeassYfDXLTawr7EzNsgmbOax9M4cfbiKBC+IBDEYjgXn9spfKrduIPHBHkPXke9JcBZCs1KkEqt - NsPZZ4H/gVcQPsAC+HMTwCKQAXhSwpw19qihljPm8GZuBDG8yAZCQYQGc9a8Gw+HN9OJMG54G5oIY4ei - /A9dc78cqtG90gAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -4314,258 +4566,6 @@ ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW - 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 - zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU - 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 - CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f - UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW - nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 - jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z - cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 - wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md - mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk - hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR - PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl - hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX - vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO - Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE - 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO - a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC - KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ - gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp - JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe - NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G - IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq - 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 - OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 - NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE - M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/bin/x86/Debug/Config.xml b/bin/x86/Debug/Config.xml index a5a72aa..f51e443 100644 --- a/bin/x86/Debug/Config.xml +++ b/bin/x86/Debug/Config.xml @@ -1,11 +1,11 @@  LocaSpace三维地下管线信息系统 - release - SZHTDB2 - 192.168.0.203 - release - 192.168.0.203 + scott + SZDB + 127.0.0.1 + SZDB + 127.0.0.1 1500 http://192.168.0.203/images/ http://192.168.0.203/images/default.jpg @@ -141,6 +141,14 @@ + + + + + + + + diff --git a/bin/x86/Debug/Cyberpipe.exe b/bin/x86/Debug/Cyberpipe.exe index 65b7db7..e7b3f3d 100644 --- a/bin/x86/Debug/Cyberpipe.exe +++ b/bin/x86/Debug/Cyberpipe.exe Binary files differ diff --git a/bin/x86/Debug/Cyberpipe.pdb b/bin/x86/Debug/Cyberpipe.pdb index 789717f..2b95ea6 100644 --- a/bin/x86/Debug/Cyberpipe.pdb +++ b/bin/x86/Debug/Cyberpipe.pdb Binary files differ diff --git a/bin/x86/Debug/glVersion.txt b/bin/x86/Debug/glVersion.txt index 1fc46d0..06a7613 100644 --- a/bin/x86/Debug/glVersion.txt +++ b/bin/x86/Debug/glVersion.txt Binary files differ diff --git a/bin/x86/Debug/log.txt b/bin/x86/Debug/log.txt index af5cf0a..5f28270 100644 --- a/bin/x86/Debug/log.txt +++ b/bin/x86/Debug/log.txt @@ -1,1017 +1 @@ - - exception begin -----------------2016/9/28 10:14:56--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void buttonItemHX2_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.MainFrm.buttonItemHX2_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\MainFrm.cs:行号 14653 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 11:28:48--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 123 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 11:29:22--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 87 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 11:29:30--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 87 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 11:31:03--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 123 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 11:31:25--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 87 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 13:18:20--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 87 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/10 13:18:56--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void btnExport_Click(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.FrmExportVector.btnExport_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_SZ64\NewFunction\FrmExportVector.cs:行号 87 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/26 15:27:26--------------------- - - - - e.Message:索引超出范围。必须为非负值并小于集合大小。 -参数名: index - - e.Source:mscorlib - - e.TargetSite:T get_Item(Int32) - - e.StackTrace: 在 System.Collections.Generic.List`1.get_Item(Int32 index) - 在 Cyberpipe.FrmHDMAnalysis3.DrawCurveGraph(Double a_x, Double a_y) 位置 F:\predator\codeReview\GHFX_SZ_64\FrmHDMAnalysis3.cs:行号 184 - 在 Cyberpipe.FrmHDMAnalysis3.LoadChartEvent() 位置 F:\predator\codeReview\GHFX_SZ_64\FrmHDMAnalysis3.cs:行号 142 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/26 15:30:41--------------------- - - - - e.Message:索引超出范围。必须为非负值并小于集合大小。 -参数名: index - - e.Source:mscorlib - - e.TargetSite:T get_Item(Int32) - - e.StackTrace: 在 System.Collections.Generic.List`1.get_Item(Int32 index) - 在 Cyberpipe.FrmHDMAnalysis3.DrawCurveGraph(Double a_x, Double a_y) 位置 F:\predator\codeReview\GHFX_SZ_64\FrmHDMAnalysis3.cs:行号 184 - 在 Cyberpipe.FrmHDMAnalysis3.LoadChartEvent() 位置 F:\predator\codeReview\GHFX_SZ_64\FrmHDMAnalysis3.cs:行号 142 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/28 16:33:54--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:System.Data.DataTable CalculateRedLineResult(System.Data.DataTable ByRef, Boolean, GeoScene.Data.GSOFeatures, GeoScene.Globe.GSOGlobeControl, System.Collections.Generic.List`1[GeoScene.Globe.GSOLayer], System.Collections.Generic.List`1[Cyberpipe.MainFrm+LineStruct] ByRef, System.Collections.Generic.List`1[GeoScene.Data.GSOFeatures] ByRef) - - e.StackTrace: 在 Cyberpipe.ClassGSOTool.CalculateRedLineResult(DataTable& table, Boolean redSH, GSOFeatures selectFeatures, GSOGlobeControl m_globeControl, List`1 listPipelineLayers, List`1& lineStruct, List`1& featsList) 位置 D:\GHFX\GHFX_REFACTOR\ClassGSOTool.cs:行号 62 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/10/28 16:34:01--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:System.Data.DataTable CalculateRedLineResult(System.Data.DataTable ByRef, Boolean, GeoScene.Data.GSOFeatures, GeoScene.Globe.GSOGlobeControl, System.Collections.Generic.List`1[GeoScene.Globe.GSOLayer], System.Collections.Generic.List`1[Cyberpipe.MainFrm+LineStruct] ByRef, System.Collections.Generic.List`1[GeoScene.Data.GSOFeatures] ByRef) - - e.StackTrace: 在 Cyberpipe.ClassGSOTool.CalculateRedLineResult(DataTable& table, Boolean redSH, GSOFeatures selectFeatures, GSOGlobeControl m_globeControl, List`1 listPipelineLayers, List`1& lineStruct, List`1& featsList) 位置 D:\GHFX\GHFX_REFACTOR\ClassGSOTool.cs:行号 62 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/3 16:25:04--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 35 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 85 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/3 16:25:07--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 35 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 85 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/3 17:18:01--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 35 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 9:03:20--------------------- - - - - e.Message:外部组件发生异常。 - - e.Source:GSGlobeDotNet - - e.TargetSite:Void std._Xout_of_range(SByte*) - - e.StackTrace: 在 std._Xout_of_range(SByte* ) - 在 GSC.GSArray.GetAt(GSArray* , GSFieldDef* , Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(String strFieldName) - 在 Cyberpipe.PointBuilder.createModel(GSOFeature f, PointParam pointParam, EnumBuildMode buildMode) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 92 - 在 Cyberpipe.PointBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 56 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 9:03:23--------------------- - - - - e.Message:外部组件发生异常。 - - e.Source:GSGlobeDotNet - - e.TargetSite:Void std._Xout_of_range(SByte*) - - e.StackTrace: 在 std._Xout_of_range(SByte* ) - 在 GSC.GSArray.GetAt(GSArray* , GSFieldDef* , Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(String strFieldName) - 在 Cyberpipe.PointBuilder.createModel(GSOFeature f, PointParam pointParam, EnumBuildMode buildMode) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 92 - 在 Cyberpipe.PointBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 56 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 9:07:55--------------------- - - - - e.Message:外部组件发生异常。 - - e.Source:GSGlobeDotNet - - e.TargetSite:Void std._Xout_of_range(SByte*) - - e.StackTrace: 在 std._Xout_of_range(SByte* ) - 在 GSC.GSArray.GetAt(GSArray* , GSFieldDef* , Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(String strFieldName) - 在 Cyberpipe.PointBuilder.createModel(GSOFeature f, PointParam pointParam, EnumBuildMode buildMode) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 92 - 在 Cyberpipe.PointBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 56 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 9:15:31--------------------- - - - - e.Message:外部组件发生异常。 - - e.Source:GSGlobeDotNet - - e.TargetSite:Void std._Xout_of_range(SByte*) - - e.StackTrace: 在 std._Xout_of_range(SByte* ) - 在 GSC.GSArray.GetAt(GSArray* , GSFieldDef* , Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(String strFieldName) - 在 Cyberpipe.PointBuilder.createModel(GSOFeature f, PointParam pointParam, EnumBuildMode buildMode) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 92 - 在 Cyberpipe.PointBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 56 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 9:17:26--------------------- - - - - e.Message:外部组件发生异常。 - - e.Source:GSGlobeDotNet - - e.TargetSite:Void std._Xout_of_range(SByte*) - - e.StackTrace: 在 std._Xout_of_range(SByte* ) - 在 GSC.GSArray.GetAt(GSArray* , GSFieldDef* , Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(String strFieldName) - 在 Cyberpipe.PointBuilder.createModel(GSOFeature f, PointParam pointParam, EnumBuildMode buildMode) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 92 - 在 Cyberpipe.PointBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 56 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 9:17:56--------------------- - - - - e.Message:外部组件发生异常。 - - e.Source:GSGlobeDotNet - - e.TargetSite:Void std._Xout_of_range(SByte*) - - e.StackTrace: 在 std._Xout_of_range(SByte* ) - 在 GSC.GSArray.GetAt(GSArray* , GSFieldDef* , Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(Int32 nIndex) - 在 GeoScene.Data.GSOFeature.GetValue(String strFieldName) - 在 Cyberpipe.PointBuilder.createModel(GSOFeature f, PointParam pointParam, EnumBuildMode buildMode) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 92 - 在 Cyberpipe.PointBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\PointBuilder.cs:行号 56 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.FrmAddWellShp.button3_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\FrmAddWellShp.cs:行号 83 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:35:44--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 108 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:35:48--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 108 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:37:18--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 108 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:39:10--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 121 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:39:31--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 121 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:40:22--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 121 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:43:32--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 129 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/4 17:46:13--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:GeoScene.Data.GSOLineStyle3D getPipeLineStyle(Cyberpipe.LineParam, GeoScene.Data.GSOFeature, Double) - - e.StackTrace: 在 Cyberpipe.LineBuilder.getPipeLineStyle(LineParam lineParam, GSOFeature f, Double radius) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 129 - 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 57 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:00:26--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void addLayerToGlobeControl(GeoScene.Globe.GSOLayer, System.String) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB.addLayerToGlobeControl(GSOLayer sourceLayer, String layerName) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 162 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 138 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:00:35--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 43 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 135 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:00:40--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 43 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 135 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:05:45--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void addLayerToGlobeControl(GeoScene.Globe.GSOLayer, System.String) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB.addLayerToGlobeControl(GSOLayer sourceLayer, String layerName) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 161 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 137 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:06:34--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void addLayerToGlobeControl(GeoScene.Globe.GSOLayer, System.String) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB.addLayerToGlobeControl(GSOLayer sourceLayer, String layerName) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 161 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 137 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:06:36--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 43 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:06:44--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 43 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:07:03--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 43 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 14:07:05--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 43 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 134 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 16:31:34--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void comboBoxExLayer_SelectedIndexChanged(System.Object, System.EventArgs) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB.comboBoxExLayer_SelectedIndexChanged(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 210 - 在 System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e) - 在 DevComponents.DotNetBar.Controls.ComboBoxEx.OnSelectedIndexChanged(EventArgs e) - 在 System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value) - 在 Cyberpipe.Forms.FrmPipelineModelDB.buttonOpen_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 336 - 在 DevComponents.DotNetBar.ButtonX.OnClick(EventArgs e) - 在 DevComponents.DotNetBar.ButtonX.OnMouseUp(MouseEventArgs e) - 在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) - 在 System.Windows.Forms.Control.WndProc(Message& m) - 在 DevComponents.DotNetBar.PopupItemControl.WndProc(Message& m) - 在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) - 在 System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) - 在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) - 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) - 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) - 在 System.Windows.Forms.Form.ShowDialog(IWin32Window owner) - 在 Cyberpipe.MainFrm.buttonItem127_Click_2(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\MainFrm.cs:行号 8524 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 17:58:23--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:11:21--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:12:13--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:12:33--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:12:43--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:12:53--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:13:31--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/7 18:16:04--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 37 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 9:53:19--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 38 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 9:53:49--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 38 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 9:54:25--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 38 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 10:33:08--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Boolean doBuild(Cyberpipe.EnumUpdateMode, Cyberpipe.EnumBuildMode, Cyberpipe.BaseParam) - - e.StackTrace: 在 Cyberpipe.LineBuilder.doBuild(EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\LineBuilder.cs:行号 38 - 在 Cyberpipe.ModelBuilder.build(GSOLayer layer, EnumUpdateMode updateMode, EnumBuildMode buildMode, BaseParam param) 位置 D:\GHFX\GHFX_REFACTOR\ModelBuilder.cs:行号 55 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 132 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 10:38:52--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void addLayerToGlobeControl(System.String) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB.addLayerToGlobeControl(String layerName) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 155 - 在 Cyberpipe.Forms.FrmPipelineModelDB.btnCreateModel_Click(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 135 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 14:31:15--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void .ctor(GeoScene.Globe.GSOGlobeControl, GeoScene.Engine.GSODataSource, Boolean) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB..ctor(GSOGlobeControl _ctl, GSODataSource _ds, Boolean _isSh) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 26 - 在 Cyberpipe.MainFrm.buttonItem127_Click_2(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\MainFrm.cs:行号 6262 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 14:31:20--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void .ctor(GeoScene.Globe.GSOGlobeControl, GeoScene.Engine.GSODataSource, Boolean) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB..ctor(GSOGlobeControl _ctl, GSODataSource _ds, Boolean _isSh) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 26 - 在 Cyberpipe.MainFrm.buttonItem127_Click_2(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\MainFrm.cs:行号 6262 - - - - exception over ------------------------------------------------------------ - - exception begin -----------------2016/11/8 14:31:55--------------------- - - - - e.Message:未将对象引用设置到对象的实例。 - - e.Source:Cyberpipe - - e.TargetSite:Void .ctor(GeoScene.Globe.GSOGlobeControl, GeoScene.Engine.GSODataSource, Boolean) - - e.StackTrace: 在 Cyberpipe.Forms.FrmPipelineModelDB..ctor(GSOGlobeControl _ctl, GSODataSource _ds, Boolean _isSh) 位置 D:\GHFX\GHFX_REFACTOR\Forms\FrmPipelineModelDataBase.cs:行号 26 - 在 Cyberpipe.MainFrm.buttonItem127_Click_2(Object sender, EventArgs e) 位置 D:\GHFX\GHFX_REFACTOR\MainFrm.cs:行号 6262 - - - - exception over ------------------------------------------------------------ + \ No newline at end of file diff --git "a/bin/x86/Debug/\345\217\214\345\261\217\350\256\276\347\275\256.xml" "b/bin/x86/Debug/\345\217\214\345\261\217\350\256\276\347\275\256.xml" index 56f1629..21d9d09 100644 --- "a/bin/x86/Debug/\345\217\214\345\261\217\350\256\276\347\275\256.xml" +++ "b/bin/x86/Debug/\345\217\214\345\261\217\350\256\276\347\275\256.xml" @@ -9,12 +9,20 @@ - + + + + + + + + + \ No newline at end of file