From 5c76893e9a80142091c2a5b0b0af976e00b63eab Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期四, 06 六月 2024 14:24:21 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Models/Gy_RoutingBillSub.cs                               |    1 
 WebAPI/Controllers/仓存管理/验收入库/Kf_EntrustOutBackBillController.cs  |  146 +
 DAL/源单/InterFace源单/Cls_S_IFCLD_ICMOList1.cs                      |   22 
 WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs              |    4 
 WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs           |  109 
 Model/车间管理/ClsSc_ProcessExchangeBillMain.cs                      |    4 
 WarM/条码打印/Gy_PackBarCodeBill_automaticallyByPLC.Designer.cs      |   82 
 WebAPI/Controllers/BaseSet/Gy_MaterialController.cs              |  151 +
 DAL/车间管理/ClsSc_ProcessExchangeBill.cs                            |    8 
 WarM/条码打印/Gy_BarCodeBill_automaticallyByPLC_New.cs               |   10 
 WebAPI/Controllers/MateOutController.cs                          |    3 
 Model/生产管理/ClsSc_ICMOBillSub.cs                                  |    4 
 WebAPI/Controllers/基础资料/基础资料/Gy_SOPBillController.cs             |    2 
 WebAPI/Web.config                                                |   11 
 WebAPI/Controllers/Kf_EntrustInBillController.cs                 |    3 
 WebAPI/Controllers/BLL/Xt_SystemLogController.cs                 |    5 
 WebAPI/Models/ClsGy_Material_Model.cs                            |    8 
 WarM/WarM.csproj                                                 |    1 
 WebAPI/Controllers/XSGL/Kf_ICStockBackBillController.cs          |    8 
 WarM/条码打印/Gy_BarCodeBill_automaticallyByPLC_New.designer.cs      |   94 
 WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs            |   10 
 DAL/公用/frmHlpBillList1.resx                                      | 3972 ++++++++++++++++++++++++++++++++++++
 DBUtility/业务单据/ClsXt_BaseBill.cs                                 |  129 +
 WebAPI/Controllers/Kf_ICStockBillMainController.cs               |    4 
 WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs     |  220 +-
 WebAPI/Controllers/PlateBindingController.cs                     |   43 
 WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs              |   87 
 DAL/源单/Cls_S_Xt_BaseBill1.cs                                     |  355 +++
 WebAPI/Controllers/仓存管理/领料发货/Kf_MateOutBackBillController.cs     |    9 
 WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs      |    2 
 WebAPI/Controllers/Sc_MouldRepairInBillListController.cs         |   18 
 WebAPI/Controllers/WebAPIController.cs                           |   56 
 WarM/条码打印/Gy_PackBarCodeBill_automaticallyByPLC.cs               |  141 +
 WarM/条码打印/Gy_BarCodeBill_automaticallyByPLC_New.resx             |    2 
 WebAPI/Controllers/生产管理/生产任务单/Sc_ICMOBillController.cs           |    4 
 WebAPI/Controllers/仓存管理/验收入库/Kf_ProductInBillController.cs       |    6 
 WebAPI/Controllers/仓存管理/验收入库/Kf_StepFoldinBillController.cs      |    5 
 WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs              |   35 
 DAL/DAL.csproj                                                   |   12 
 WebAPI/Controllers/仓存管理/领料发货/Kf_MateOutBillController.cs         |   10 
 WebAPI/Controllers/CJGL/Qc_PreventErrMouldCheckBillController.cs |   47 
 WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs    |   63 
 DAL/公用/frmHlpBillList1.cs                                        |  264 ++
 DAL/公用/frmHlpBillList1.designer.cs                               |  396 +++
 WebAPI/DLL/ClsGy_Material_Ctl.cs                                 |   24 
 45 files changed, 6,230 insertions(+), 360 deletions(-)

diff --git a/DAL/DAL.csproj b/DAL/DAL.csproj
index 33d1401..450f852 100644
--- a/DAL/DAL.csproj
+++ b/DAL/DAL.csproj
@@ -102,6 +102,12 @@
     <Compile Include="淇℃伅骞冲彴\ClsOA_AndengFlowRuleBill.cs" />
     <Compile Include="淇℃伅骞冲彴\ClsOA_ErrMsgBackSignBill.cs" />
     <Compile Include="淇℃伅骞冲彴\ClsOA_ErrMsgBackReceiveBill.cs" />
+    <Compile Include="鍏敤\frmHlpBillList1.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="鍏敤\frmHlpBillList1.designer.cs">
+      <DependentUpon>frmHlpBillList1.cs</DependentUpon>
+    </Compile>
     <Compile Include="鍩虹璧勬枡\InterFace鍩虹璧勬枡\ClsIF_ORGANIZATIONS_View.cs" />
     <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_BadType_Ctl.cs" />
     <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_CardChangeType_Ctl.cs" />
@@ -133,7 +139,9 @@
     <Compile Include="鍩虹璧勬枡\鍏朵粬鍩虹璧勬枡\ClsGy_SupMaterial_Ctl.cs" />
     <Compile Include="宸ヨ祫绠$悊\ClsHR_EmployeeSkillBill.cs" />
     <Compile Include="宸ヨ祫绠$悊\ClsHR_PostSkillBill.cs" />
+    <Compile Include="婧愬崟\Cls_S_Xt_BaseBill1.cs" />
     <Compile Include="婧愬崟\ERP婧愬崟\Cls_S_Sc_ABJJD.cs" />
+    <Compile Include="婧愬崟\InterFace婧愬崟\Cls_S_IFCLD_ICMOList1.cs" />
     <Compile Include="婧愬崟\InterFace婧愬崟\Cls_S_IF_ICMOBillList.cs" />
     <Compile Include="婧愬崟\InterFace婧愬崟\Cls_S_IF_ProcessReportBillList.cs" />
     <Compile Include="婧愬崟\InterFace婧愬崟\Cls_S_IF_PackageDismantleBillList.cs" />
@@ -1192,6 +1200,10 @@
       <DependentUpon>frmHlpBillList.cs</DependentUpon>
       <SubType>Designer</SubType>
     </EmbeddedResource>
+    <EmbeddedResource Include="鍏敤\frmHlpBillList1.resx">
+      <DependentUpon>frmHlpBillList1.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
     <EmbeddedResource Include="鍏敤\frm_S_BillQueryCondition_New.resx">
       <SubType>Designer</SubType>
       <DependentUpon>frm_S_BillQueryCondition_New.cs</DependentUpon>
diff --git "a/DAL/\345\205\254\347\224\250/frmHlpBillList1.cs" "b/DAL/\345\205\254\347\224\250/frmHlpBillList1.cs"
new file mode 100644
index 0000000..4324f71
--- /dev/null
+++ "b/DAL/\345\205\254\347\224\250/frmHlpBillList1.cs"
@@ -0,0 +1,264 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using SQLHelper;
+
+namespace DAL
+{
+    public partial class frmHlpBillList1 : Form
+    {
+        public frmHlpBillList1()
+        {
+            InitializeComponent();
+        }
+        public  string ViewName;
+        public string tSQL;
+        public frmBillQueryCondition_New frmCondition;
+        /// <summary>
+        /// 避免重复列
+        /// </summary>
+        public string sPrimaryCol;  
+        public Pub_Class.ClsPub.Enum_OKTag OKTag;
+        public string sBillName="";
+        Pub_Class.ClsGridListSum oSumGrid = new Pub_Class.ClsGridListSum();
+
+        //初始化GRID
+        private void initGrid()
+        {
+           DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name);
+        }
+
+        
+        //
+        public Int32 Fun_GetCol(string sCol)
+        {
+            return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain);
+        }
+
+        //显示内容
+        private void Display()
+        {
+            ClsCN SubCn = new ClsCN();
+            DataSet DSet;
+            string sSql = "";
+            string sWhere = tSQL;  //特殊条件(日期限制,部门限制)
+            DBUtility.Xt_BaseBillFun.Sub_SQLWhere(ref sWhere);
+
+            ////过滤条件
+            //if (frmCondition.SqlStr.Trim().Length == 0)
+            //    return;
+            frmCondition.SqlStr = "select * from " + ViewName + " where 1=1 ";
+            sSql = frmCondition.SqlStr + sWhere ;
+ 
+ 
+            //
+            DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo);
+            //生成首行标题
+            if (DSet == null)
+            {
+                MessageBox.Show("没有返回任何结果,请在过滤框中点击【恢复】按钮,尝试再次查询!" + DBUtility.ClsPub.sExeReturnInfo);
+                return;
+            }
+            //释放冻结
+            DBUtility.Xt_BaseBillFun.CancelFrozenCol(grdMain);
+            //绑定
+            grdMain.DataSource = DSet.Tables[0].DefaultView;
+            //设置合计列
+            string sTotalCol = "";
+            sTotalCol = DBUtility.Gy_BaseFun.GetTotalCols(DSet);
+            //设置对齐列
+            DBUtility.Xt_BaseBillFun.DisplayGridDuiQi(grdMain, ViewName);
+            string[] sT;
+            sT = sTotalCol.Split(Convert.ToChar(","));
+            oSumGrid.BuildTotalCols(sT);
+            //  
+            //冻结
+            int FrCol = 0;
+            string s = "是";
+            DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, s, FrCol);
+            //画线
+            GraphLine();
+            //
+            Total();
+
+            // 
+        }
+
+        private void timer1_Tick(object sender, EventArgs e)
+        {
+            timer1.Enabled = false;
+            initGrid();
+            Display();
+        }
+
+        private void tc_Click(object sender, EventArgs e)
+        {
+            OKTag = Pub_Class.ClsPub.Enum_OKTag.OKTag_Cancel;
+            this.Visible = false;
+        }
+
+        private void sx_Click(object sender, EventArgs e)
+        {
+            timer1.Enabled = true;
+        }
+         
+
+
+        private void frmHlpBillList_Load(object sender, EventArgs e)
+        {
+            frmCondition = new frmBillQueryCondition_New();
+            //this.Text = ModCaption;
+            //lblCaption.Text = ModCaption;
+            oSumGrid.ogrdMain = grdMain;  //初始化 new
+            oSumGrid.oGridsum = grdSum;
+            initGrid();
+        }
+
+        private void cx_Click(object sender, EventArgs e)
+        {
+            frmCondition = new frmBillQueryCondition_New();
+            frmCondition.Tag = "";
+            frmCondition.ViewName = ViewName;
+            frmCondition.ModName = ViewName;
+            frmCondition.ShowDialog();
+            if (frmCondition.Tag.ToString() == "OK")
+            {
+                Display();
+            }
+        }
+
+        private void bclk_Click(object sender, EventArgs e)
+        {
+            //保存列宽
+            DBUtility.ClsPub.SaveGridView(grdMain, this.Name,DBUtility.ClsPub.AppPath);
+        }
+
+        private void mrlk_Click(object sender, EventArgs e)
+        {
+            DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name);
+        }
+
+        private void GraphicsGrid()
+        {
+            DBUtility.Xt_BaseBillFun.GraphicsGrid(grdMain);
+        }
+
+        // 
+        private void GraphLine()
+        {
+            int MainIDCol = Fun_GetCol("hmainid");
+            int SubIDCol = Fun_GetCol("hsubid");
+            string s ="是";
+            long n = 0;
+            DBUtility.Xt_BaseBillFun.GraphLine(grdMain, MainIDCol, SubIDCol, s, ref n);
+            //显示
+            lbldj.Text = "查询出 " + n.ToString() + " 张单据";
+            lbljl.Text = "共有 " + grdMain.RowCount.ToString() + " 条记录";
+
+        }
+        //是否允许返回
+        private bool AllowBack()  //Lock
+        {
+            string stmp="";
+            int PrimaryCol; 
+            if (sPrimaryCol.Trim() != "")
+            {
+                //根据名称  得到列号
+                PrimaryCol = Fun_GetCol(sPrimaryCol);
+                if (PrimaryCol == 0)
+                {
+                    return true; //没有找到
+                }
+                else
+                {
+                    for (int i = 0; i < grdMain.SelectedRows.Count; i++)
+                    { 
+                        if (stmp == "")
+                        {
+                            stmp = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.SelectedRows[i].Index].Cells[PrimaryCol].Value);
+                        }
+                        if (stmp != DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.SelectedRows[i].Index].Cells[PrimaryCol].Value))
+                            return false;
+                    }
+                }
+            }
+            else
+            {
+                return true;
+            }
+            return true;
+        }
+
+        //合计 new
+        private void Total()
+        {
+            if (grdMain.Rows.Count > 0 && grdMain.ColumnCount > 0)
+            {
+                oSumGrid.SetGridsum();
+                oSumGrid.Total();
+            }
+        }
+        //合计 new
+        private void grdMain_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
+        {
+            Total();
+        }
+        //合计 new
+        private void grdMain_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
+        {
+            Total();
+        }
+
+
+        //返回信息
+        private void Sub_DataBack()
+        {
+            if (!AllowBack())
+            {
+                MessageBox.Show("不允许选择不同的" + sPrimaryCol + "!", "提示");
+                return;
+            }
+            OKTag = Pub_Class.ClsPub.Enum_OKTag.OKTag_OK;
+            this.Visible = false;
+        }
+
+       
+      
+        private void timer2_Tick(object sender, EventArgs e)
+        {
+            timer2.Enabled = false;
+            //frmCondition = new frmBillQueryCondition_New();
+            //frmCondition.Tag = "";
+            //frmCondition.ViewName = ViewName;
+            //frmCondition.ModName = ViewName;
+            //frmCondition.SqlStr = "select * from " + ViewName + " where 1=1 ";
+            //frmCondition.ShowDialog();
+            //if (frmCondition.Tag.ToString() == "OK")
+            //{
+            //    timer1.Enabled = true;
+            //}
+
+            timer1.Enabled = true;
+        }
+
+        private void grdMain_Paint(object sender, PaintEventArgs e)
+        {
+            GraphicsGrid();
+        }
+
+        private void fh_Click(object sender, EventArgs e)
+        {
+            Sub_DataBack();
+        }
+
+        private void button1_Click(object sender, EventArgs e)
+        {
+            grdMain.Columns[5].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
+        }
+        
+    }
+}
\ No newline at end of file
diff --git "a/DAL/\345\205\254\347\224\250/frmHlpBillList1.designer.cs" "b/DAL/\345\205\254\347\224\250/frmHlpBillList1.designer.cs"
new file mode 100644
index 0000000..967a619
--- /dev/null
+++ "b/DAL/\345\205\254\347\224\250/frmHlpBillList1.designer.cs"
@@ -0,0 +1,396 @@
+锘縩amespace DAL
+{
+    partial class frmHlpBillList1
+    {
+        /// <summary>
+        /// 蹇呴渶鐨勮璁″櫒鍙橀噺銆�
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// 娓呯悊鎵�鏈夋鍦ㄤ娇鐢ㄧ殑璧勬簮銆�
+        /// </summary>
+        /// <param name="disposing">濡傛灉搴旈噴鏀炬墭绠¤祫婧愶紝涓� true锛涘惁鍒欎负 false銆�</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows 绐椾綋璁捐鍣ㄧ敓鎴愮殑浠g爜
+
+        /// <summary>
+        /// 璁捐鍣ㄦ敮鎸佹墍闇�鐨勬柟娉� - 涓嶈
+        /// 浣跨敤浠g爜缂栬緫鍣ㄤ慨鏀规鏂规硶鐨勫唴瀹广��
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.components = new System.ComponentModel.Container();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmHlpBillList));
+            this.pPic = new System.Windows.Forms.Panel();
+            this.lbljl = new System.Windows.Forms.Label();
+            this.lbldj = new System.Windows.Forms.Label();
+            this.lblCaption = new System.Windows.Forms.Label();
+            this.Tool = new System.Windows.Forms.ToolStrip();
+            this.yl = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
+            this.dy = new System.Windows.Forms.ToolStripButton();
+            this.view = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
+            this.sx = new System.Windows.Forms.ToolStripButton();
+            this.cx = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+            this.fh = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
+            this.tc = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
+            this.mrlk = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
+            this.bclk = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
+            this.timer1 = new System.Windows.Forms.Timer(this.components);
+            this.timer2 = new System.Windows.Forms.Timer(this.components);
+            this.grdMain = new System.Windows.Forms.DataGridView();
+            this.grdSum = new System.Windows.Forms.DataGridView();
+            this.pPic.SuspendLayout();
+            this.Tool.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.grdMain)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.grdSum)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // pPic
+            // 
+            this.pPic.BackColor = System.Drawing.Color.White;
+            this.pPic.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pPic.BackgroundImage")));
+            this.pPic.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
+            this.pPic.Controls.Add(this.lbljl);
+            this.pPic.Controls.Add(this.lbldj);
+            this.pPic.Controls.Add(this.lblCaption);
+            this.pPic.Dock = System.Windows.Forms.DockStyle.Top;
+            this.pPic.Location = new System.Drawing.Point(0, 47);
+            this.pPic.Name = "pPic";
+            this.pPic.Size = new System.Drawing.Size(902, 55);
+            this.pPic.TabIndex = 19;
+            // 
+            // lbljl
+            // 
+            this.lbljl.AutoSize = true;
+            this.lbljl.Location = new System.Drawing.Point(723, 34);
+            this.lbljl.Name = "lbljl";
+            this.lbljl.Size = new System.Drawing.Size(11, 12);
+            this.lbljl.TabIndex = 6;
+            this.lbljl.Text = " ";
+            // 
+            // lbldj
+            // 
+            this.lbldj.AutoSize = true;
+            this.lbldj.Location = new System.Drawing.Point(723, 16);
+            this.lbldj.Name = "lbldj";
+            this.lbldj.Size = new System.Drawing.Size(0, 12);
+            this.lbldj.TabIndex = 5;
+            // 
+            // lblCaption
+            // 
+            this.lblCaption.AutoSize = true;
+            this.lblCaption.BackColor = System.Drawing.Color.Transparent;
+            this.lblCaption.Cursor = System.Windows.Forms.Cursors.No;
+            this.lblCaption.Font = new System.Drawing.Font("瀹嬩綋", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblCaption.Location = new System.Drawing.Point(12, 16);
+            this.lblCaption.Name = "lblCaption";
+            this.lblCaption.Size = new System.Drawing.Size(64, 19);
+            this.lblCaption.TabIndex = 4;
+            this.lblCaption.Text = "TITLE";
+            // 
+            // Tool
+            // 
+            this.Tool.AutoSize = false;
+            this.Tool.BackColor = System.Drawing.SystemColors.Control;
+            this.Tool.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("Tool.BackgroundImage")));
+            this.Tool.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+            this.Tool.ImageScalingSize = new System.Drawing.Size(22, 22);
+            this.Tool.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.yl,
+            this.toolStripSeparator4,
+            this.dy,
+            this.view,
+            this.toolStripSeparator2,
+            this.sx,
+            this.cx,
+            this.toolStripSeparator1,
+            this.fh,
+            this.toolStripSeparator3,
+            this.tc,
+            this.toolStripSeparator8,
+            this.mrlk,
+            this.toolStripSeparator7,
+            this.bclk,
+            this.toolStripSeparator9});
+            this.Tool.Location = new System.Drawing.Point(0, 0);
+            this.Tool.Name = "Tool";
+            this.Tool.Padding = new System.Windows.Forms.Padding(0);
+            this.Tool.Size = new System.Drawing.Size(902, 47);
+            this.Tool.Stretch = true;
+            this.Tool.TabIndex = 18;
+            this.Tool.Text = "toolStrip1";
+            // 
+            // yl
+            // 
+            this.yl.AutoSize = false;
+            this.yl.Image = ((System.Drawing.Image)(resources.GetObject("yl.Image")));
+            this.yl.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.yl.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.yl.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.yl.Name = "yl";
+            this.yl.Size = new System.Drawing.Size(35, 42);
+            this.yl.Text = "寮曞嚭";
+            this.yl.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.yl.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            // 
+            // toolStripSeparator4
+            // 
+            this.toolStripSeparator4.Name = "toolStripSeparator4";
+            this.toolStripSeparator4.Size = new System.Drawing.Size(6, 47);
+            // 
+            // dy
+            // 
+            this.dy.AutoSize = false;
+            this.dy.Image = ((System.Drawing.Image)(resources.GetObject("dy.Image")));
+            this.dy.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.dy.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.dy.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.dy.Name = "dy";
+            this.dy.Size = new System.Drawing.Size(35, 42);
+            this.dy.Text = "鎵撳嵃";
+            this.dy.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.dy.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            // 
+            // view
+            // 
+            this.view.AutoSize = false;
+            this.view.Image = ((System.Drawing.Image)(resources.GetObject("view.Image")));
+            this.view.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.view.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.view.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.view.Name = "view";
+            this.view.Size = new System.Drawing.Size(35, 42);
+            this.view.Text = "棰勮";
+            this.view.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.view.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            // 
+            // toolStripSeparator2
+            // 
+            this.toolStripSeparator2.Name = "toolStripSeparator2";
+            this.toolStripSeparator2.Size = new System.Drawing.Size(6, 47);
+            // 
+            // sx
+            // 
+            this.sx.AutoSize = false;
+            this.sx.Image = ((System.Drawing.Image)(resources.GetObject("sx.Image")));
+            this.sx.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.sx.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.sx.ImageTransparentColor = System.Drawing.Color.White;
+            this.sx.Name = "sx";
+            this.sx.Size = new System.Drawing.Size(36, 42);
+            this.sx.Text = "鍒锋柊";
+            this.sx.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.sx.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.sx.Click += new System.EventHandler(this.sx_Click);
+            // 
+            // cx
+            // 
+            this.cx.AutoSize = false;
+            this.cx.Image = ((System.Drawing.Image)(resources.GetObject("cx.Image")));
+            this.cx.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.cx.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.cx.ImageTransparentColor = System.Drawing.Color.White;
+            this.cx.Name = "cx";
+            this.cx.Size = new System.Drawing.Size(35, 42);
+            this.cx.Text = "鏌ヨ";
+            this.cx.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.cx.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.cx.Click += new System.EventHandler(this.cx_Click);
+            // 
+            // toolStripSeparator1
+            // 
+            this.toolStripSeparator1.AccessibleDescription = "C";
+            this.toolStripSeparator1.Name = "toolStripSeparator1";
+            this.toolStripSeparator1.Size = new System.Drawing.Size(6, 47);
+            // 
+            // fh
+            // 
+            this.fh.AccessibleDescription = "C";
+            this.fh.AutoSize = false;
+            this.fh.Image = ((System.Drawing.Image)(resources.GetObject("fh.Image")));
+            this.fh.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.fh.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.fh.ImageTransparentColor = System.Drawing.Color.White;
+            this.fh.Name = "fh";
+            this.fh.Size = new System.Drawing.Size(33, 42);
+            this.fh.Text = "杩斿洖";
+            this.fh.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.fh.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.fh.Click += new System.EventHandler(this.fh_Click);
+            // 
+            // toolStripSeparator3
+            // 
+            this.toolStripSeparator3.Name = "toolStripSeparator3";
+            this.toolStripSeparator3.Size = new System.Drawing.Size(6, 47);
+            // 
+            // tc
+            // 
+            this.tc.AutoSize = false;
+            this.tc.Image = ((System.Drawing.Image)(resources.GetObject("tc.Image")));
+            this.tc.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.tc.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.tc.ImageTransparentColor = System.Drawing.Color.White;
+            this.tc.Name = "tc";
+            this.tc.Size = new System.Drawing.Size(35, 42);
+            this.tc.Text = "閫�鍑�";
+            this.tc.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.tc.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.tc.Click += new System.EventHandler(this.tc_Click);
+            // 
+            // toolStripSeparator8
+            // 
+            this.toolStripSeparator8.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+            this.toolStripSeparator8.Name = "toolStripSeparator8";
+            this.toolStripSeparator8.Size = new System.Drawing.Size(6, 47);
+            // 
+            // mrlk
+            // 
+            this.mrlk.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+            this.mrlk.Image = ((System.Drawing.Image)(resources.GetObject("mrlk.Image")));
+            this.mrlk.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.mrlk.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.mrlk.ImageTransparentColor = System.Drawing.Color.White;
+            this.mrlk.Name = "mrlk";
+            this.mrlk.Size = new System.Drawing.Size(60, 44);
+            this.mrlk.Text = "榛樿鍒楀";
+            this.mrlk.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.mrlk.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.mrlk.Click += new System.EventHandler(this.mrlk_Click);
+            // 
+            // toolStripSeparator7
+            // 
+            this.toolStripSeparator7.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+            this.toolStripSeparator7.Name = "toolStripSeparator7";
+            this.toolStripSeparator7.Size = new System.Drawing.Size(6, 47);
+            // 
+            // bclk
+            // 
+            this.bclk.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+            this.bclk.Image = ((System.Drawing.Image)(resources.GetObject("bclk.Image")));
+            this.bclk.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.bclk.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.bclk.ImageTransparentColor = System.Drawing.Color.White;
+            this.bclk.Name = "bclk";
+            this.bclk.Size = new System.Drawing.Size(60, 44);
+            this.bclk.Text = "淇濆瓨鍒楀";
+            this.bclk.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
+            this.bclk.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
+            this.bclk.Click += new System.EventHandler(this.bclk_Click);
+            // 
+            // toolStripSeparator9
+            // 
+            this.toolStripSeparator9.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+            this.toolStripSeparator9.Name = "toolStripSeparator9";
+            this.toolStripSeparator9.Size = new System.Drawing.Size(6, 47);
+            // 
+            // timer1
+            // 
+            this.timer1.Interval = 10;
+            this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
+            // 
+            // timer2
+            // 
+            this.timer2.Enabled = true;
+            this.timer2.Interval = 10;
+            this.timer2.Tick += new System.EventHandler(this.timer2_Tick);
+            // 
+            // grdMain
+            // 
+            this.grdMain.AllowUserToAddRows = false;
+            this.grdMain.AllowUserToDeleteRows = false;
+            this.grdMain.BackgroundColor = System.Drawing.Color.White;
+            this.grdMain.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            this.grdMain.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.grdMain.Location = new System.Drawing.Point(0, 102);
+            this.grdMain.Name = "grdMain";
+            this.grdMain.ReadOnly = true;
+            this.grdMain.RowTemplate.Height = 23;
+            this.grdMain.Size = new System.Drawing.Size(902, 380);
+            this.grdMain.TabIndex = 48;
+            this.grdMain.CellMouseUp += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.grdMain_CellMouseUp);
+            this.grdMain.Paint += new System.Windows.Forms.PaintEventHandler(this.grdMain_Paint);
+            this.grdMain.ColumnWidthChanged += new System.Windows.Forms.DataGridViewColumnEventHandler(this.grdMain_ColumnWidthChanged);
+            // 
+            // grdSum
+            // 
+            this.grdSum.AllowUserToAddRows = false;
+            this.grdSum.AllowUserToDeleteRows = false;
+            this.grdSum.BackgroundColor = System.Drawing.SystemColors.Control;
+            this.grdSum.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            this.grdSum.Dock = System.Windows.Forms.DockStyle.Bottom;
+            this.grdSum.Location = new System.Drawing.Point(0, 482);
+            this.grdSum.Name = "grdSum";
+            this.grdSum.ReadOnly = true;
+            this.grdSum.RowTemplate.Height = 23;
+            this.grdSum.ScrollBars = System.Windows.Forms.ScrollBars.None;
+            this.grdSum.Size = new System.Drawing.Size(902, 19);
+            this.grdSum.TabIndex = 49;
+            // 
+            // frmHlpBillList
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(902, 501);
+            this.Controls.Add(this.grdMain);
+            this.Controls.Add(this.grdSum);
+            this.Controls.Add(this.pPic);
+            this.Controls.Add(this.Tool);
+            this.Name = "frmHlpBillList";
+            this.Text = "TITLE";
+            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
+            this.Load += new System.EventHandler(this.frmHlpBillList_Load);
+            this.pPic.ResumeLayout(false);
+            this.pPic.PerformLayout();
+            this.Tool.ResumeLayout(false);
+            this.Tool.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.grdMain)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.grdSum)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.Panel pPic;
+        private System.Windows.Forms.ToolStrip Tool;
+        private System.Windows.Forms.ToolStripButton yl;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
+        private System.Windows.Forms.ToolStripButton dy;
+        private System.Windows.Forms.ToolStripButton view;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
+        private System.Windows.Forms.ToolStripButton cx;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
+        private System.Windows.Forms.ToolStripButton tc;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
+        private System.Windows.Forms.ToolStripButton mrlk;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator7;
+        private System.Windows.Forms.ToolStripButton bclk;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
+        private System.Windows.Forms.ToolStripButton sx;
+        private System.Windows.Forms.ToolStripButton fh;
+        private System.Windows.Forms.Timer timer1;
+        private System.Windows.Forms.Timer timer2;
+        public System.Windows.Forms.Label lblCaption;
+        private System.Windows.Forms.DataGridView grdSum;
+        private System.Windows.Forms.Label lbljl;
+        private System.Windows.Forms.Label lbldj;
+        public System.Windows.Forms.DataGridView grdMain;
+    }
+}
\ No newline at end of file
diff --git "a/DAL/\345\205\254\347\224\250/frmHlpBillList1.resx" "b/DAL/\345\205\254\347\224\250/frmHlpBillList1.resx"
new file mode 100644
index 0000000..6f8e78c
--- /dev/null
+++ "b/DAL/\345\205\254\347\224\250/frmHlpBillList1.resx"
@@ -0,0 +1,3972 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="pPic.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        Qk22QAMAAAAAADYAAAAoAAAAFQMAAFoAAAABABgAAAAAAAAAAADDDgAAww4AAAAAAAAAAAAA////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////U///////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////////1P/////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////9T////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////U///////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////1P/////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////9T////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////U///////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////1P/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////9T////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////U///////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /1P/////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////9T////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////U///
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////1P/////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////9T////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////U///////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////////1P/////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////9T////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////U///////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////1P/////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////9T////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////U///////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////1P/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////9T////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////U///////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /1P/////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////9T////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////U///
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////1P/////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////9T////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////U///////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////////1P/////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////9T////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////U///////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////1P/////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////9T////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////U///////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////1P/////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////9T/////////////////////v7+/v7+/v7+/f39/f39/Pz8/Pz8/Pz8+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/f39/f39/f39
+        /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/v7+/v7+/v7+/v7+/v7+
+        /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////U/////////////////7+/v7+/v39/fz8/Pr6
+        +vn5+ff39/b29vX19fT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PX19fX19fX19fX19fX19fX19fX19fX19fb29vb29vb29vb29vb29vb29vf39/f39/f39/f3
+        9/f39/f39/j4+Pj4+Pj4+Pj4+Pj4+Pj4+Pn5+fn5+fn5+fn5+fn5+fn5+fn5+fr6+vr6+vr6+vr6+vr6
+        +vr6+vv7+/v7+/v7+/v7+/v7+/v7+/z8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/P39/f39/f39/f39/f39/f39
+        /f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v//////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /1P////////////////+/v79/f37+/v5+fn29vby8vLv7+/t7e3r6+vq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq
+        6urq6urq6urq6urq6urq6urq6urq6urq6urq6urr6+vr6+vr6+vr6+vr6+vs7Ozs7Ozs7Ozs7Ozt7e3t
+        7e3t7e3u7u7u7u7u7u7v7+/v7+/v7+/v7+/w8PDw8PDw8PDx8fHx8fHx8fHy8vLy8vLy8vLz8/Pz8/Pz
+        8/P09PT09PT09PT09PT19fX19fX19fX29vb29vb29vb29vb39/f39/f39/f4+Pj4+Pj4+Pj5+fn5+fn5
+        +fn6+vr6+vr6+vr7+/v7+/v7+/v7+/v8/Pz8/Pz8/Pz9/f39/f39/f39/f3+/v7+/v7+/v7+/v7+/v7/
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////9T/////////////////v7+/Pz8+fn59fX18PDw6urq
+        5eXl4eHh3t7e3Nzc29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb
+        29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb3Nzc3Nzc3Nzc
+        3Nzc3d3d3d3d3t7e3t7e3t7e39/f39/f4ODg4ODg4eHh4eHh4uLi4uLi4+Pj4+Pj5OTk5OTk5eXl5eXl
+        5ubm5+fn5+fn6Ojo6Ojo6enp6enp6urq6urq6+vr6+vr7Ozs7Ozs7e3t7e3t7u7u7u7u7+/v7+/v8PDw
+        8PDw8fHx8fHx8vLy8vLy8/Pz9PT09PT09fX19fX19vb29vb29/f39/f3+Pj4+Pj4+fn5+fn5+vr6+vr6
+        +/v7+/v7/Pz8/Pz8/Pz8/f39/f39/v7+/v7+/v7+////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////U///
+        //////////////39/fr6+vb29vDw8Onp6eDg4NjY2NLS0s7OzsvLy8rKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
+        ysrKysrKysrKysrKysrKysrKysvLy8vLy8zMzMzMzM3Nzc3Nzc7Ozs7Ozs/Pz9DQ0NDQ0NHR0dLS0tPT
+        09PT09TU1NXV1dXV1dbW1tfX19jY2NnZ2dnZ2dra2tvb29zc3N3d3d3d3d7e3t/f3+Dg4ODg4OHh4eLi
+        4uPj4+Tk5OTk5OXl5ebm5ubm5ufn5+jo6Onp6enp6erq6uvr6+zs7O3t7e3t7e7u7u/v7/Dw8PHx8fHx
+        8fLy8vPz8/T09PT09PX19fb29vf39/j4+Pj4+Pn5+fn5+fr6+vv7+/v7+/z8/P39/f39/f7+/v7+/v7+
+        /v//////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////1P////////////////9/f35+fny8vLq6urg4ODT09PJycnB
+        wcG7u7u2tra0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
+        tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1tbW1tbW2tra2tra3t7e4
+        uLi4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXHx8fHx8fJycnKysrLy8vM
+        zMzNzc3Ozs7Pz8/R0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODi
+        4uLi4uLk5OTl5eXm5ubn5+fo6Ojq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb3
+        9/f4+Pj5+fn6+vr7+/v7+/v8/Pz9/f3+/v7+/v7/////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////9T////////
+        /////////Pz89/f37+/v5eXl2NjYycnJvLy8srKyqqqqpaWlo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6Oj
+        o6Ojo6Ojo6Ojo6OjpKSkpKSkpaWlpqamp6enqKioqKioqampq6urrKysra2trq6ur6+vsLCwsrKys7Oz
+        tLS0tbW1t7e3uLi4urq6u7u7vLy8vr6+v7+/wcHBwsLCw8PDxcXFxsbGx8fHycnJysrKy8vLzc3Nzs7O
+        z8/P0NDQ0tLS09PT1NTU1tbW19fX2NjY2dnZ29vb3Nzc3d3d39/f4ODg4uLi4+Pj5eXl5ubm5+fn6enp
+        6urq7Ozs7e3t7u7u7+/v8fHx8vLy8/Pz9PT09fX19/f39/f3+fn5+vr6+/v7+/v7/Pz8/f39/v7+////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////U/////////////////z8/Pb29u3t7eHh4dLS0sHBwbKysqampp2d
+        nZeXl5WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWV
+        lZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZaWlpeXl5eXl5iYmJmZmZqampub
+        m5ycnJ6enp+fn6CgoKGhoaOjo6SkpKampqenp6mpqaqqqqysrK6urq+vr7CwsLKysrS0tLW1tbe3t7m5
+        ubq6ury8vL29vb+/v8HBwcLCwsTExMXFxcbGxsjIyMnJycvLy8zMzM7Ozs/Pz9HR0dLS0tTU1NXV1dfX
+        19jY2Nra2tzc3N3d3d/f3+Hh4eLi4uTk5OXl5efn5+np6erq6uvr6+3t7e7u7vDw8PHx8fPz8/T09PX1
+        9fb29vj4+Pn5+fr6+vv7+/z8/P39/f7+/v//////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////////1P+/v7+/v7+/v7+
+        /v7V0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0snW08rW0snW08rW08rY1s3Y1s3X1MvZ18/c
+        2tLe3NTq6OPw7urx7+vx7+vx7+vy8e7v7enw7urx7+vy8Ozv7enx7+ve3NTZ18/m5N7w7urw7urx7+vx
+        7+vu7Ojw7urv7ens6+fv7ens6+fv7ens6uXi4Nnd29Pe3NTZ18/W08rW0snT0MbSz8XSz8XU0cjV0cjS
+        z8XQzcK+ua3GwbbEv7TOy8DKx7vNyr/SzsPSz8XY1cze3NTi4Nnj4drl5N7k4tvi4Nnf3dXe3NTOy8DU
+        0cjOy8DLyL3d29Pj4drh39jh39ji4NnZ18/Z18/f3dXh39jh39jh39je3NTe3NTe3NTe3NTe3NTf3dXh
+        39ji4Nnj4dri4Nni4Nni4Nnj4drg3tfh39ji4NnT0MbPzMHOy8DPzMHSz8XV0cja2NDe3NTe3NTg3tfe
+        3NTf3dXf3dXe3NTd29Pe3NTe3NTd29Pe3NTd29Pd29Pe3NTf3dXe3NTd29Pe3NTe3NTe3NTe3NTd29Pd
+        29Pd29Pd29Pd29Pc2tLd29Pd29Pb2dHY1s3Y1s3Y1s3Y1s3b2dHd29PZ18/Y1s3a2NDSz8XLyL3Nyr/U
+        0cja2NDf3dXk4tvo5uHo5uHm5N7l49zd29PQzcLEv7TDvrPOy8DDvrPCvLDDvrPDvrPDvbHAuq7CvLDC
+        vLDDvrPEv7TFwLXIw7jIw7jHwrfGwbbFwLXEv7TEv7TEv7TDvrPDvrPCvLDAuq7Auq7Auq7Auq7CvLDC
+        vLDAuq7Auq7FwLXSzsPi4Nn09PH8+/r29/by8u/x7+vx7+vs6+fu7Ojs6+fp5+Ls6uXv7en39/b39/bq
+        6OPSzsPHwrfIw7jKx7vMyb7Oy8DQzcLSz8XV0cjX1MvX1MvX1MvW08rW08rW0snW0snW0snW0snW0snW
+        0snW0snV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0snW0snW0snW0snW
+        0snW08rY1s3b2dHc2tLc2tLc2tLc2tLb2dHb2dHb2dHc2tLg3tfb2dHHwre3sqS2saO3sqS1sKK2saO3
+        sqS1sKK1sKK2saO4s6XBu6/Nyr/Z18/g3tfm5N7n5eDo5uHo5uHo5uHo5uHo5uHo5uHn5eDn5eDn5eDm
+        5N7m5N7m5N7m5N7l5N7l49zm5N7m5N7l49zk4tvk4tvj4drj4drj4drj4dri4Nnh39jf3dXe3NTf3dXf
+        3dXf3dXe3NTe3NTe3NTf3dXj4drn5eDs6+fw7urw7urv7enu7Ojo5uHn5eDn5eDn5eDl5N7l5N7l49zi
+        4Nni4Nnh39jf3dXe3NTb2dHb2dHa2NDZ18/Y1s3X1MvW0snV0cjU0cjSz8XSzsPSzsPQzcLOy8DPzMHT
+        0MbW0snW08rW0snW0snV0cjW0snW0snW0snV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjW0snW0snW0srX08rX08vX1MvY1MzY1c3Z1c3Z1s7a1s7b18/b2NDc2NHc2dHd2tLd
+        2tPe29Tf3NXf3Nbg3dbh3tfh3tji39nj4Nrj4dvk4dvk4tzl4t3m497m5N/n5N/n5eDo5uHp5uLp5+Pq
+        6OPq6OTr6eXr6uXs6ubt6+ft7Oju7Onv7env7urw7uvw7+zx8O3y8O7y8e7z8u/08/D08/H19PL19fL2
+        9fP39vT39/X49/b4+Pb5+ff6+fj6+vn7+vn7+/r8+/r8/Pv9/Pz9/fz9/f3+/v3+/v7//v7/////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////9T/v7+/v7+/v7+/v7+1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1dHI1dHI1dHI
+        1tLJ1tLJ1tLJ1tPK19TL1tPK2NbN19TL2NXM2tjQ29nR5OLb7+3p8O7q8O7q8e/r8vHu7+3p8O7q8e/r
+        8O7q8vDs8O7q7uzo8e/r8vDs7+3p8O7q7+3p7Ovn7Ovn7Ovn7+3p7uzo6ujj5+Xg4uDZ3tzU2NbN1tLJ
+        1NHI09DG09DG09DG0s/F0s/F0s/F09DG1dHI09DGz8zBxsG2yMO40s/F09DG2NbN3NrS3tzU4uDZ5eTe
+        5eTe4+Ha5OLb4+Ha5OLb3dvTzsvA2NbN0s7D1tLJy8i9x8K32dfP4d/Y4N7X3tzU4N7X3tzU4d/Y4uDZ
+        3dvT3dvT393V4N7X393V4N7X4d/Y4uDZ4uDZ4uDZ4uDZ4uDZ4d/Y4d/Y4d/Y4d/Y3tzU3tzU4uDZ2NXM
+        1NHI3NrS4N7X393V4d/Y4N7X3dvT3dvT3tzU3dvT3tzU3tzU3dvT3dvT3dvT3NrS3dvT3dvT3tzU3tzU
+        3tzU3tzU3dvT3tzU3tzU3dvT3dvT3dvT3dvT3dvT3dvT3dvT3dvT29nR2dfP2NbN2NbN2NbN2NbN2NbN
+        2dfP29nR2tjQ2tjQ2dfP3NrS3NrS2NXM29nR393V4N7X3tzU3tzU393V4d/Y5OLb7Orl8vLv9PTx8O7q
+        2NbNysW6xcC1w76zw76zw72xwrywwrywwryww76zw76zxcC1x8K3yMO4yMO4x8K3xsG2xcC1xcC1xL+0
+        xL+0w76zwrywwLquwLquwLquwLquwLquwLquvrmtwrywzMm+5OLb9fXy9fXy8e/r6ujj5ePc4d/Y3tzU
+        3dvT29nR3NrS4N7X5ePc5uTe393V3dvT8e/r9vbz5uTezMm+yMO4ysW6zMm+zsvA0s7D1NHI1dHI1dHI
+        1tLJ1tPK1tPK1tPK1tLJ1tLJ1tLJ1tLJ1tLJ1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1tLJ1tLJ1tLJ1tLJ1tLJ1tLJ1tLJ1tLJ1tPK1tPK2NXM2tjQ3NrS3tzU3tzU3dvT3NrS3NrS
+        3dvT4N7XzMm+uraqt7Kkt7Kkt7Kkt7Kkt7KktrGjtrGjt7KkuLOluraqwLquyMO40s7D2tjQ4d/Y5eTe
+        6Obh6efi6efi6efi6Obh6Obh5+Xg5+Xg5+Xg5+Xg5+Xg5+Xg5+Xg5uTe5uTe5uTe5uTe5ePc5ePc5OLb
+        4+Ha4+Ha5OLb5OLb4uDZ4uDZ4d/Y393V3tzU3tzU393V393V3tzU3tzU3NrS3tzU4+Ha6Obh7Ovn8O7q
+        8O7q7uzo7Ovn7Orl6Obh5+Xg5uTe5eTe5eTe5OLb4uDZ4d/Y393V393V3dvT29nR29nR29nR2dfP2NbN
+        19TL1tLJ1dHI1NHI09DG0s/F0s7D0M3Cz8zBz8zB0s/F1dHI1tLJ1tLJ1dHI1dHI1tLJ1tLJ1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLK19PK19PL19TL2NTM
+        2NXN2dXN2dbO2tbO29fP29jQ3NjR3NnR3drS3drT3tvU39zV39zW4N3W4d7X4d7Y4t/Z4+Da4+Hb5OHb
+        5OLc5eLd5uPe5uTf5+Tf5+Xg6Obh6ebi6efj6ujj6ujk6+nl6+rl7Orm7evn7ezo7uzp7+3p7+7q8O7r
+        8O/s8fDt8vDu8vHu8/Lv9PPw9PPx9fTy9fXy9vXz9/b09/f1+Pf2+Pj2+fn3+vn4+vr5+/r5+/v6/Pv6
+        /Pz7/fz8/f38/f39/v79/v7+//7+////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////U/7+/v7+/v7+/v7+/tXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbSydbSydbSydbTytfUy9jVzNbTytnXz9vZ0dnX
+        z9/d1e/t6e/t6fDu6vDu6vHv6/Hv6+/t6fDu6vDu6vHv6+/t6fLw7PLw7O7s6O/t6fDu6u/t6ezr5+7s
+        6Ojm4ePh2uDe19rY0NjWzdnXz9bTytXRyNTRyNPQxtPQxtLPxdLOw9DNwtLPxdLOw9LOw9LOw9PQxtXR
+        yNbTyt3b0+De1+Ph2ufl4OXj3OTi2+Xk3uDe1+Ph2uPh2uTi2+Hf2OXk3uDe18vIvdTRyM7LwNnXz9bS
+        ydbTyt3b0+De1+Hf2OHf2N7c1N/d1d/d1eDe193b0+Hf2OLg2eHf2OLg2eLg2eLg2eLg2eLg2eHf2ODe
+        1+De1+De1+Hf2N/d1d7c1N7c1N3b0+De197c1N7c1OHf2ODe193b093b097c1N7c1Nza0t3b09za0t3b
+        093b093b093b093b09za0trY0Nza0t3b093b093b093b093b097c1N3b09za0t3b093b09za0tza0tvZ
+        0djWzdjWzdjWzdjWzdjWzdrY0NrY0NnXz9rY0Nza0t3b09rY0N7c1OHf2OXj3OLg2dXRyM/Mwc7LwMrH
+        u8zJvsrHu8rFus7LwM/MwdLOw9TRyNjVzOzr5/z7+vDu6tLOw8O+s8K8sMK8sMK8sMO+s8O+s8S/tMfC
+        t8jDuMnEucnEucjDuMjDuMjDuMfCt8fCt8bBtsS/tMO+s8C6rsC6rsC6rsC6rsC6rsC6rr65rcS/tNbT
+        yuro4/X18vHv6+Xj3ODe19za0tTRyM7LwMrHu8rFusrFusrHu8zJvtDNwtjVzNza0tPQxtfUy/Hv6/Lw
+        7N3b08rFusvIvc/MwdPQxtXRyNbSydbSydbSydbSydbSydbSydbSydXRyNXRyNXRyNXRyNTRyNTRyNTR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbSydbSydbSydbTytbSydbT
+        ytbTytbTytfUy9rY0N3b09/d1d/d1d7c1N/d1eDe19bSycC6rrizpbeypLeypLeypLizpbeypLaxo7ax
+        o7eypLq2qr65rcS/tMjDuM3Kv9XRyNnXz+Lg2ebk3ujm4ezq5ero4+jm4ejm4enn4ujm4efl4Ofl4Ofl
+        4Ofl4Ofl4Ofl4Ofl4Ofl4Ofl4Ofl4Obk3uXk3uTi2+Ti2+Ti2+Ti2+Ph2uLg2eHf2OHf2N/d1eDe1+Hf
+        2OHf2N7c1Nza0t7c1N7c1ODe1+Ph2ujm4e/t6fDu6vDu6u/t6ezr5+nn4ufl4Obk3ubk3ubk3uXj3OTi
+        2+Lg2eDe19/d1d7c1N3b09vZ0drY0NrY0NnXz9jWzdfUy9bSydXRyNPQxtPQxtPQxtLOw9DNws/Mwc/M
+        wdPQxtXRyNbSydXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNbSydbSydbSytfTytfTy9fUy9jUzNjVzdnVzdnWztrWztvXz9vY0NzY0dzZ0d3a0t3a097b
+        1N/c1d/c1uDd1uHe1+He2OLf2ePg2uPh2+Th2+Ti3OXi3ebj3ubk3+fk3+fl4Ojm4enm4unn4+ro4+ro
+        5Ovp5evq5ezq5u3r5+3s6O7s6e/t6e/u6vDu6/Dv7PHw7fLw7vLx7vPy7/Tz8PTz8fX08vX18vb18/f2
+        9Pf39fj39vj49vn59/r5+Pr6+fv6+fv7+vz7+vz8+/38/P39/P39/f7+/f7+/v/+/v//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////1P+/v7+/v7+/v7+/v7V0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW
+        0snW0snW0snW08rX1MvW08rY1s3X1Mva2NDb2dHg3tfu7Ojv7enw7urw7urx7+vx7+vv7enw7urx7+vw
+        7ury8Ozx7+vu7Ojy8Ozw7urs6+fq6OPj4drd29PZ18/Z18/Z18/Y1czY1czY1s3W0snW0snV0cjT0MbT
+        0MbSzsPQzcLSz8XT0MbT0MbV0cjW08rc2tLi4Nnn5eDm5N7n5eDl5N7h39ja2NDa2NDZ18/LyL3d29Pj
+        4dri4Nnj4dri4Nnb2dHPzMHT0Mba2NDi4Nni4Nnj4drg3tfe3NTf3dXg3tfh39jh39jg3tfi4Nni4Nnj
+        4drj4drj4dri4Nni4Nnh39jh39jg3tfg3tfh39jh39jg3tfg3tfe3NTd29Pf3dXe3NTd29Pf3dXe3NTd
+        29Pd29Pf3dXd29Pd29Pd29Pa2NDd29Pb2dHb2dHb2dHc2tLc2tLd29Pc2tLZ18/a2NDc2tLd29Pd29Pc
+        2tLc2tLc2tLe3NTc2tLa2NDZ18/Y1s3Y1s3Y1s3Y1s3Z18/a2NDa2NDb2dHa2NDa2NDZ18/Z18/Z18/e
+        3NTh39jk4tvh39je3NTZ18/Myb7Iw7jIw7jHwrfHwrfFwLXFwLXFwLXFwLXIw7jMyb7SzsPT0Mbd29P0
+        9PH39/bW08rAuq7CvLDDvbHDvrPFwLXIw7jKxbrKx7vMyb7Kx7vKxbrKxbrKxbrJxLnIw7jIw7jDvrPC
+        vLDAuq7Auq7Auq7Auq7Auq6+ua3JxLnd29Px7+vs6+fZ18/T0MbT0MbSzsPKxbrGwbbHwrfIw7jIw7jI
+        w7jIw7jIw7jIw7jKxbrQzcLT0MbNyr/d29Px7+vn5eDV0cjSz8XW0snW08rY1czY1czX1MvX1MvW08rW
+        08rW0snW0snV0cjV0cjV0cjV0cjU0cjU0cjU0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjW0snW0snW0snW0snW0snW08rW0snW08rW08rW08rW08rX1MvZ18/d29Pg3tfh39jh39jc2tLF
+        wLW6tae5tKa5tKa4s6W4s6W4s6W4s6W3sqS3sqS6tqq+ua3Ev7TIw7jMyb7PzMHNyr/U0cjb2dHi4Nnn
+        5eDp5+Lp5+Lp5+Lp5+Lp5+Lo5uHo5uHo5uHo5uHo5uHn5eDn5eDn5eDn5eDn5eDn5eDm5N7l5N7l49zl
+        49zk4tvk4tvj4dri4Nni4Nnh39ji4Nni4Nnh39jg3tff3dXe3NTe3NTe3NTe3NTf3dXk4tvp5+Lu7Ojv
+        7enw7urw7urs6+fq6OPn5eDm5N7m5N7l49zl49zi4Nnh39jg3tff3dXd29Pc2tLb2dHb2dHa2NDZ18/Y
+        1czX1MvW0snV0cjU0cjT0MbSz8XSzsPQzcLPzMHQzcLT0MbW0snW0snV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0srX08rX08vX1MvY1MzY1c3Z
+        1c3Z1s7a1s7b18/b2NDc2NHc2dHd2tLd2tPe29Tf3NXf3Nbg3dbh3tfh3tji39nj4Nrj4dvk4dvk4tzl
+        4t3m497m5N/n5N/n5eDo5uHp5uLp5+Pq6OPq6OTr6eXr6uXs6ubt6+ft7Oju7Onv7env7urw7uvw7+zx
+        8O3y8O7y8e7z8u/08/D08/H19PL19fL29fP39vT39/X49/b4+Pb5+ff6+fj6+vn7+vn7+/r8+/r8/Pv9
+        /Pz9/fz9/f3+/v3+/v7//v7/////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////9T/v7+/v7+/v7+/v7+1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLJ1tLJ1tPK19TL1tPK2NXM19TL2NXM2NbN393V
+        7Ovn7uzo7+3p8e/r8e/r8e/r7uzo7uzo8O7q8O7q8O7q7Ovn7Orl6Obh4uDZ393V1tPK0s/F0M3C1NHI
+        2NbN2NXM2NXM1tLJ1tLJ1tLJ1tLJ1NHI09DG1NHI09DG1dHI2NXM2tjQ3dvT5OLb5+Xg5+Xg5+Xg4uDZ
+        4N7X2NbN1NHI09DG2NbNzcq/z8zBz8zB2dfP4+Ha4d/Y4+Ha4N7X4N7X4uDZ5OLb4uDZ4N7X3tzU4uDZ
+        4N7X4uDZ4d/Y4uDZ4+Ha4+Ha4uDZ4+Ha4uDZ4uDZ4d/Y4uDZ4d/Y4N7X4N7X4N7X4N7X4N7X393V393V
+        3dvT3dvT3dvT3dvT3dvT3tzU3NrS3NrS3NrS3dvT3NrS29nR3NrS2tjQ2dfP3NrS3NrS2tjQ2tjQ2tjQ
+        2tjQ29nR29nR2tjQ2dfP2dfP2tjQ29nR3NrS29nR2dfP2dfP2NbN2NXM2NXM2NbN2NbN2NbN2tjQ2tjQ
+        2tjQ2tjQ2tjQ2dfP2NbN2NXM2NXM2dfP3NrS4+Ha5OLb3tzU2tjQ19TL1dHIzMm+x8K3yMO4x8K3xL+0
+        w76zw76zw76zw72xw72xw76zzcq/2NXM0s7D2NbN9fXy9/f2yse7wrywxL+0yMO4ysW6zMm+zsvA0M3C
+        0M3C0M3Cz8zBzsvAzcq/zMm+yse7yMO4w76zwLquwLquwLquwLquwLquwrywzcq/5OLb8O7q5+Xgz8zB
+        xcC1xcC1xL+0xcC1yMO4ysW6zcq/0M3C0s7DzsvAysW6x8K3xcC1yMO4yse70s7DzsvA1NHI7Orl6ujj
+        3dvT19TL2dfP2dfP2dfP2dfP2dfP2NbN2NXM19TL1tPK1tLJ1tLJ1tLJ1dHI1dHI1NHI1NHI1NHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLJ1tLJ1tLJ1tLJ1tPK1tPK1tPK1tPK
+        1tPK1tPK19TL19TL2tjQ3tzU4+Ha4d/YzMm+vbmturWnurWnubSmuLOluLOluLOlt7Kkt7KkubSmvLis
+        wrywx8K3y8i90s7D09DGz8zBz8zB09DG2tjQ4uDZ5+Xg6efi6ujj7Orl6efi6Obh6Obh6Obh6Obh6Obh
+        6Obh5+Xg5+Xg5+Xg5+Xg5+Xg5+Xg5eTe5eTe5eTe5ePc5ePc5OLb4+Ha4+Ha4uDZ4uDZ4uDZ4uDZ4uDZ
+        4d/Y393V393V3NrS3NrS3tzU4N7X5OLb6Obh7Ovn8O7q8e/r7+3p7uzo6Obh5+Xg5eTe5ePc5ePc5OLb
+        5OLb4d/Y393V3tzU3dvT3NrS29nR2tjQ2dfP2NbN2NXM1tPK1dHI1NHI09DG0s/F0s7D0M3Cz8zBz8zB
+        0M3C1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1tLJ1tLJ1tLK19PK19PL19TL2NTM2NXN2dXN2dbO2tbO29fP29jQ3NjR3NnR3drS3drT3tvU39zV
+        39zW4N3W4d7X4d7Y4t/Z4+Da4+Hb5OHb5OLc5eLd5uPe5uTf5+Tf5+Xg6Obh6ebi6efj6ujj6ujk6+nl
+        6+rl7Orm7evn7ezo7uzp7+3p7+7q8O7r8O/s8fDt8vDu8vHu8/Lv9PPw9PPx9fTy9fXy9vXz9/b09/f1
+        +Pf2+Pj2+fn3+vn4+vr5+/r5+/v6/Pv6/Pz7/fz8/f38/f39/v79/v7+//7+////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////U/7+/v7+/v7+/v7+/tXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbS
+        ydbSydbTytbTytbTytbTytjWzdnXz9fUy9nXz+jm4e/t6e/t6fDu6vHv6/Hv6+7s6O7s6PHv6+ro4+Xj
+        3N3b09nXz9TRyNPQxs7LwMfCt8S/tMbBttLPxdjVzNbSydXRyNTRyNPQxtXRyNXRyNXRyNjWzdrY0N/d
+        1eTi2+fl4Ofl4Obk3uXk3uXk3uXj3OXk3tvZ0c3Kv8jDuMfCt9LOw9rY0M7LwM7LwNrY0NvZ0ePh2uLg
+        2eLg2eDe1+Lg2eLg2eDe1+De1+De1+Lg2eLg2eLg2eTi2+De1+Lg2eHf2OLg2eHf2OHf2OLg2ePh2uHf
+        2OHf2OHf2ODe1+De19/d1d7c1N7c1N3b093b09za0t3b097c1N3b09za0t7c1N3b09za0t3b093b09za
+        0trY0NvZ0dza0tvZ0dnXz9rY0NrY0NrY0NrY0NvZ0dza0tvZ0dnXz9rY0NnXz9jWzdjVzNjWzdjVzNbT
+        ytjVzNjWzdjVzNjWzdvZ0drY0NnXz9rY0NrY0NnXz9jWzdjWzdjWzdjVzNjVzNvZ0eHf2OXk3t/d1djW
+        zdbSydPQxs3Kv8vIvcjDuMbBtsS/tMXAtcrFutXRyM7LwMO9scO9scO+s8O9scC6rtDNwuDe183Kv97c
+        1P7+/uTi28S/tMnEuczJvs/MwdLOw9PQxtPQxtTRyNTRyNPQxtPQxtLOw9LOw83Kv8jDuMO+s8C6rsC6
+        rsC6rsC6rsC6rs3Kv+Ti2+7s6ODe18rHu8O+s8O+s8O+s8jDuMzJvtLOw9TRyNXRyNbTytjVzNjWzdbT
+        ys3Kv8jDuMfCt8rFutLOw8/MwdPQxufl4Onn4uLg2dvZ0d3b093b09za0tvZ0drY0NnXz9jWzdjVzNfU
+        y9bTytbSydbSydXRyNXRyNXRyNTRyNTRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbS
+        ydbSydbSydbSydbSydbSydbTytbTytbTytfUy9fUy9fUy9jVzNjWzdnXz9za0tza0tLPxcC6rru3q7q2
+        qrq1p7m0prizpbm0prizpbeypLm0pry4rMC6rsS/tMrFus/MwdXRyNTRyNDNws3Kv87LwNLPxdjWzeLg
+        2ejm4ero4+zq5ezq5ejm4enn4ujm4ejm4ejm4ejm4ejm4ejm4efl4Ojm4ejm4efl4Ofl4Ofl4Ofl4Obk
+        3ubk3uXj3OTi2+Ph2uPh2uLg2eLg2eLg2eLg2eHf2N/d1d/d1d/d1d7c1N7c1N7c1ODe1+Ph2ujm4e7s
+        6O/t6fHv6/Du6uzq5ejm4ebk3uXj3OXk3uTi2+Ti2+Hf2ODe19/d1d7c1N3b09vZ0drY0NnXz9jWzdjV
+        zNbTytXRyNXRyNPQxtLPxdLPxdLOw9LOw9DNws/MwdDNwtTRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbSytfTytfTy9fUy9jUzNjVzdnVzdnW
+        ztrWztvXz9vY0NzY0dzZ0d3a0t3a097b1N/c1d/c1uDd1uHe1+He2OLf2ePg2uPh2+Th2+Ti3OXi3ebj
+        3ubk3+fk3+fl4Ojm4enm4unn4+ro4+ro5Ovp5evq5ezq5u3r5+3s6O7s6e/t6e/u6vDu6/Dv7PHw7fLw
+        7vLx7vPy7/Tz8PTz8fX08vX18vb18/f29Pf39fj39vj49vn59/r5+Pr6+fv6+fv7+vz7+vz8+/38/P39
+        /P39/f7+/f7+/v/+/v//////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////1P+/v7+/v7+/v7+/v7V0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjW0snV0cjV0cjW0snW0snW08rV0cjX1MvW08rY1czY1s3Y1czY1s3k4tvu
+        7Oju7Ojv7enx7+vw7urv7ens6+fq6OPd29PZ18/PzMHNyr/Kx7vKx7vFwLXEv7S+ua3DvbHOy8DW0snV
+        0cjT0MbU0cjY1s3c2tLg3tfl49zn5eDn5eDn5eDo5uHj4drk4tvo5uHk4tvl5N7l5N7l5N7Z18/Iw7jW
+        08rOy8DY1s3Y1cze3NTh39jk4tvj4drg3tff3dXf3dXi4Nnh39ji4Nnj4drj4drk4tvk4tvi4Nni4Nnj
+        4drg3tfh39jg3tfi4Nni4Nni4Nnh39jh39jh39jh39jg3tff3dXe3NTd29Pd29Pd29Pd29Pd29Pc2tLd
+        29Pd29Pd29Pa2NDc2tLc2tLd29Pb2dHZ18/d29Pd29PZ18/a2NDd29Pa2NDZ18/Z18/a2NDa2NDa2NDa
+        2NDZ18/Z18/W0snW08rW0snW0snY1czZ18/Y1s3Z18/a2NDZ18/Z18/a2NDa2NDa2NDZ18/Z18/Z18/Y
+        1s3Y1czX1MvY1s3b2dHl49zj4drY1s3QzcLMyb7KxbrIw7jIw7jIw7jFwLXGwbbKx7vV0cje3NTb2dHN
+        yr/DvbHDvbHEv7TDvrPDvbHCvLDY1s3X1MvT0Mbx7+v09PHNyr/Nyr/T0MbV0cjX1MvY1czY1czY1czY
+        1czY1czY1czX1MvV0cjSzsPIw7jCvLDAuq7Auq7Auq6+ua3Myb7k4tvq6OPe3NTIw7jDvrPDvrPIw7jM
+        yb7SzsPT0MbSzsPNyr/JxLnHwrfJxLnT0MbY1s3T0MbKx7vIw7jKx7vQzcLNyr/V0cjl5N7p5+Ll49zf
+        3dXg3tff3dXe3NTd29Pb2dHa2NDZ18/Y1s3Y1czX1MvW08rW0snV0cjV0cjU0cjU0cjU0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0snW08rW08rW0snW0snV0cjU0cjT0MbSz8XS
+        zsPQzcLPzMHNyr/LyL3Gwba+ua28uKy7t6u6tqq6tae5tKa4s6W4s6W4s6W3sqS5tKa+ua3DvbHIw7jO
+        y8DU0cjW08rW0snV0cjSzsPPzMHPzMHT0Mbb2dHl49zo5uHo5uHp5+Lp5+Ls6uXp5+Lp5+Lp5+Lp5+Lp
+        5+Lp5+Lo5uHo5uHo5uHn5eDn5eDn5eDn5eDm5N7m5N7l49zl49zk4tvk4tvj4drk4tvk4tvi4Nni4Nnh
+        39jf3dXf3dXf3dXe3NTe3NTe3NTf3dXi4Nnn5eDs6+fw7urw7urv7enq6OPn5eDm5N7l5N7l49zk4tvh
+        39jh39jg3tff3dXd29Pc2tLa2NDZ18/Z18/Y1s3X1MvW0snV0cjU0cjT0MbT0MbSzsPSzsPSzsPQzcLQ
+        zcLSzsPU0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW
+        0snW0snW0srX08rX08vX1MvY1MzY1c3Z1c3Z1s7a1s7b18/b2NDc2NHc2dHd2tLd2tPe29Tf3NXf3Nbg
+        3dbh3tfh3tji39nj4Nrj4dvk4dvk4tzl4t3m497m5N/n5N/n5eDo5uHp5uLp5+Pq6OPq6OTr6eXr6uXs
+        6ubt6+ft7Oju7Onv7env7urw7uvw7+zx8O3y8O7y8e7z8u/08/D08/H19PL19fL29fP39vT39/X49/b4
+        +Pb5+ff6+fj6+vn7+vn7+/r8+/r8/Pv9/Pz9/fz9/f3+/v3+/v7//v7/////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////9T/v7+/v7+/v7+/v7+1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1dHI1tLJ
+        1tPK1dHI1tLJ19TL2NXM2NbN2NXM2dfP4d/Y7Ovn7Orl7+3p8e/r8e/r7+3p7Ovn4+Ha2NXM2NXMysW6
+        y8i9xsG2x8K3zMm+zcq/yMO4ysW60s7D1tPK2dfP2dfP4d/Y5eTe6ujj6ujj6ujj5eTe4uDZ4d/Y393V
+        09DG2dfP5+Xg5eTe5eTe4+Ha5OLb3dvT1tPK4+Ha4N7X5OLb4+Ha5OLb4uDZ4uDZ4d/Y4N7X4+Ha4uDZ
+        4+Ha4uDZ5OLb4+Ha4uDZ4d/Y4uDZ4uDZ4d/Y4N7X4uDZ393V4uDZ4d/Y4N7X4uDZ4d/Y4d/Y393V4N7X
+        393V3tzU3dvT3dvT3dvT3NrS3NrS29nR3NrS3NrS2tjQ3NrS2dfP2dfP2dfP2tjQ3NrS2tjQ2dfP2tjQ
+        2tjQ2dfP2dfP3NrS2tjQ2dfP2dfP2dfP2NbN2NXM1tPK1tPK1tLJ2NXM2dfP2dfP2dfP2tjQ2tjQ2tjQ
+        2NbN2NbN2NbN2dfP2NbN2NbN2NXM2NXM2dfP2dfP2NXM1dHI19TL393V2tjQz8zByMO4yMO4yMO4x8K3
+        yMO4xcC1yMO4y8i91tLJ3tzU2NbNy8i9w76zwbuvwryww72xw72xwryww76zwrywysW63tzU0M3C4N7X
+        9vf219TL0s7D19TL2NXM2NbN2NbN29nR3NrS3NrS29nR2dfP2NbN2NXM09DGyMO4wLquwLquwLquvrmt
+        yMO43tzU6ujj4N7XycS5w76zxL+0ysW6z8zB09DG0M3CycS5xL+0w76zw76zw76zw76zyse71tPK1NHI
+        zcq/ysW6zcq/z8zBzcq/2NbN6Obh6ujj5uTe4d/Y4d/Y4d/Y4N7X3tzU3dvT29nR2tjQ2dfP2NXM2NXM
+        1tPK1tLJ1tLJ1dHI1NHI1NHI1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        09DG0s/F0M3CzsvAzMm+yse7ycS5yMO4xsG2xL+0w76zw72xwbuvvrmtvrmtvbmtvLisu7erurWnubSm
+        uLOluLOlubSmuLOlt7Kku7erwLquxcC1y8i909DG2NXM2NbN19TL1tPK1NHI0s7Dz8zBz8zB09DG29nR
+        5OLb6Obh6efi7Ovn7Orl7Orl7Orl6ujj6efi6efi6efi6efi6Obh6Obh5+Xg5+Xg5+Xg5+Xg5+Xg5uTe
+        5uTe5ePc5ePc5OLb4+Ha4+Ha5OLb4+Ha4uDZ4d/Y393V393V393V3tzU3tzU393V3tzU3tzU4uDZ6Obh
+        7Ovn8O7q7+3p7+3p6ujj5uTe5eTe5ePc5OLb4d/Y4d/Y4N7X3tzU3tzU3dvT3NrS29nR2dfP2dfP2NXM
+        1tPK1dHI1dHI1NHI09DG0s/F0s/F0s7D0s/F0s7D0M3C0s/F1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLK19PK19PL19TL2NTM2NXN2dXN2dbO2tbO
+        29fP29jQ3NjR3NnR3drS3drT3tvU39zV39zW4N3W4d7X4d7Y4t/Z4+Da4+Hb5OHb5OLc5eLd5uPe5uTf
+        5+Tf5+Xg6Obh6ebi6efj6ujj6ujk6+nl6+rl7Orm7evn7ezo7uzp7+3p7+7q8O7r8O/s8fDt8vDu8vHu
+        8/Lv9PPw9PPx9fTy9fXy9vXz9/b09/f1+Pf2+Pj2+fn3+vn4+vr5+/r5+/v6/Pv6/Pz7/fz8/f38/f39
+        /v79/v7+//7+////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////U/7+/f7+/v7+/v7+/tXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbTytbSydbSydbTytjVzNjWzdfUy9jWzd/d1ezq5ezr
+        5+/t6fDu6vDu6u7s6Ozr59/d1dbTytbSycrHu8bBtsnEuczJvtXRyNbTytnXz9/d1ePh2uXj3Obk3ufl
+        4Ojm4ero4+Xk3t/d1dza0tPQxtbTytnXz9LPxc/MwdbTyuTi2+Ti2+Xj3OPh2uPh2uPh2uTi2+Lg2eLg
+        2eLg2eLg2eDe1+Hf2OLg2ePh2uTi2+Lg2ePh2uPh2uLg2eLg2eDe19bTytXRyN7c1N7c1OLg2d7c1OHf
+        2N7c1ODe1+Hf2ODe1+De1+De197c1N3b097c1N7c1N3b09za0tza0tza0tvZ0dvZ0dza0tnXz9nXz9rY
+        0NnXz9nXz9nXz9nXz9nXz9nXz9nXz9nXz9nXz9nXz9nXz9jWzdnXz9bSydbSydXRyNbSydjVzNjVzNnX
+        z9rY0NrY0NnXz9nXz9rY0NnXz9nXz9jWzdnXz9jWzdjVzNjVzNjVzNjVzNnXz9jWzdjVzNXRyNLOw83K
+        v83Kv9nXz9nXz83Kv8jDuMjDuMjDuMfCt8XAtcfCt8rHu9bSyd3b09fUy8rFusO+s8G7r8K8sMO9scS/
+        tMO9scK8sMK8sMO9scO+s8O+s9fUy87LwNjWzfX18tza0tbTytjWzdnXz9za0tza0t7c1N7c1N7c1N7c
+        1N3b09za0tjWzdPQxsjDuMC6rsC6rsC6rsS/tNjVzOfl4OTi28zJvsS/tMfCt8zJvtDNwtPQxs3Kv8XA
+        tcO+s8O+s8XAtcXAtcO+s8S/tM3Kv9fUy9jVzNDNwszJvs/Mwc/Mwc/Mwd7c1Ojm4ejm4eXj3OLg2eLg
+        2eHf2ODe19/d1d7c1Nza0tvZ0drY0NjWzdjVzNbTytbSydXRyNTRyNTRyNTRyNTRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNPQxtLOw9DNws7LwM3Kv8vIvcrHu8nEucjDuMfCt8bBtsS/tMO9
+        scK8sMC6rr65rb65rb65rby4rLu3q7q1p7m0prizpbm0prm0prizpbizpb25rcO9scjDuM7LwNbSydrY
+        0NvZ0djWzdfUy9bTytbTytPQxs7LwMzJvtPQxtza0uXk3unn4uzq5ezq5ezq5ezq5ero4+ro4+zq5enn
+        4unn4unn4ujm4ejm4ejm4ejm4ejm4efl4Ofl4Ofl4Obk3uXj3OXj3OTi2+Ti2+Ti2+Ti2+Ph2uLg2eHf
+        2OHf2N/d1d7c1N7c1N/d1d/d1d7c1N/d1eLg2ebk3u/t6e/t6fDu6u7s6Onn4uXk3uXj3OTi2+Ti2+Lg
+        2eHf2N/d1d7c1N3b09za0tvZ0djWzdnXz9jVzNfUy9bSydXRyNXRyNPQxtPQxtLPxdLPxdLPxdLOw9LO
+        w9LOw9PQxtXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbS
+        ydbSytfTytfTy9fUy9jUzNjVzdnVzdnWztrWztvXz9vY0NzY0dzZ0d3a0t3a097b1N/c1d/c1uDd1uHe
+        1+He2OLf2ePg2uPh2+Th2+Ti3OXi3ebj3ubk3+fk3+fl4Ojm4enm4unn4+ro4+ro5Ovp5evq5ezq5u3r
+        5+3s6O7s6e/t6e/u6vDu6/Dv7PHw7fLw7vLx7vPy7/Tz8PTz8fX08vX18vb18/f29Pf39fj39vj49vn5
+        9/r5+Pr6+fv6+fv7+vz7+vz8+/38/P39/P39/f7+/f7+/v/+/v//////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /1P+/v3+/v3+/v3+/v7V0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW08rW
+        0snW0snW08rX1MvY1s3X1MvZ18/c2tLp5+Lu7Ojs6+fv7enw7uru7Ojs6+fk4tvZ18/U0cjOy8DSzsPW
+        0sna2NDf3dXl5N7n5eDq6OPq6OPo5uHn5eDn5eDm5N7l5N7n5eDY1czOy8DLyL3c2tLY1s3Oy8DZ18/b
+        2dHk4tvj4drk4tvj4drj4drj4dri4Nni4Nni4Nni4Nni4Nnj4drl49zk4tvl49zl49zj4drj4drh39jg
+        3tfh39jh39jT0MbT0Mbc2tLh39jd29Ph39jf3dXd29Pd29Pd29Pd29Pe3NTd29Pd29Pd29Pd29Pd29Pc
+        2tLc2tLc2tLd29Pc2tLb2dHb2dHZ18/Z18/Z18/Z18/Z18/Z18/Z18/Z18/Z18/Z18/Z18/Y1s3Y1czW
+        0snV0cjU0cjW0snW0snW08rZ18/Z18/a2NDa2NDZ18/Y1s3Y1s3Z18/Z18/Y1s3Z18/Z18/Z18/Y1s3a
+        2NDa2NDZ18/Y1czW0snSzsPPzMHKxbrIw7jKx7vY1cze3NTOy8DKxbrIw7jHwrfHwrfHwrfJxLnU0cjf
+        3dXi4NnU0cjFwLXEv7TDvrPDvrPDvbHDvbHDvrPCvLDCvLDDvbHDvrPDvrPCvLDQzcLOy8DX1Mv09PHd
+        29PY1czZ18/c2tLe3NTe3NTe3NTe3NTe3NTe3NTe3NTe3NTc2tLV0cjHwre+ua3Auq7DvrPU0cjk4tvm
+        5N7T0MbFwLXHwrfMyb7SzsPT0MbOy8DFwLXEv7TFwLXKxbrMyb7Kx7vKxbrMyb7V0cjc2tLc2tLV0cjS
+        zsPQzcLOy8DX1Mvk4tvm5N7p5+Lj4dri4Nni4Nni4Nnh39jg3tff3dXd29Pc2tLb2dHZ18/Y1czW08rW
+        0snV0cjU0cjT0MbT0MbU0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjSz8XSzsPQzcLP
+        zMHNyr/LyL3Kx7vJxLnIw7jHwrfGwbbEv7TDvbHCvLDBu6++ua2+ua29ua28uKy6tqq6tae4s6W3sqS4
+        s6W5tKa4s6W6tae+ua3Ev7TKx7vT0MbZ18/c2tLc2tLb2dHb2dHY1s3W08rV0cjSz8XNyr/Myb7U0cje
+        3NTn5eDo5uHs6uXs6+fq6OPp5+Lp5+Lq6OPs6uXs6uXp5+Lp5+Lo5uHo5uHo5uHo5uHo5uHn5eDn5eDm
+        5N7m5N7l49zl49zl49zl49zl49zk4tvj4dri4Nnh39jh39jg3tff3dXf3dXe3NTe3NTf3dXf3dXi4Nno
+        5uHs6+fv7enu7Ojs6uXo5uHl5N7k4tvk4tvi4Nni4Nng3tfe3NTe3NTd29Pb2dHa2NDZ18/Y1czY1czX
+        1MvW08rV0cjU0cjT0MbT0MbT0MbSz8XSz8XSz8XSzsPSz8XU0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0srX08rX08vX1MvY1MzY1c3Z1c3Z1s7a1s7b18/b
+        2NDc2NHc2dHd2tLd2tPe29Tf3NXf3Nbg3dbh3tfh3tji39nj4Nrj4dvk4dvk4tzl4t3m497m5N/n5N/n
+        5eDo5uHp5uLp5+Pq6OPq6OTr6eXr6uXs6ubt6+ft7Oju7Onv7env7urw7uvw7+zx8O3y8O7y8e7z8u/0
+        8/D08/H19PL19fL29fP39vT39/X49/b4+Pb5+ff6+fj6+vn7+vn7+/r8+/r8/Pv9/Pz9/fz9/f3+/v3+
+        /v7//v7/////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////9T/v7+/v79/v79/v7+1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLJ1tPK19TL19TL2NXM19TL2dfP2dfP5+Xg7uzo7uzo
+        7uzo8O7q7uzo7Orl7Orl4+Ha3dvT3NrS4uDZ5eTe6ujj6ujj6ujj6ujj6ujj6ujj6Obh5+Xg5+Xg5uTe
+        5+Xg5ePc09DG09DG1NHI3NrS3dvT4N7X5OLb4d/Y4+Ha4uDZ4+Ha4uDZ4uDZ4uDZ4+Ha4+Ha4+Ha4uDZ
+        4uDZ4+Ha4uDZ4N7X1NHI2dfP4+Ha4N7X4N7X4+Ha4N7X3tzU29nR393V393V4N7X393V3dvT3NrS3tzU
+        3dvT3dvT3dvT3tzU3dvT3dvT3tzU3dvT3NrS29nR29nR3NrS29nR2tjQ2dfP2dfP2dfP2dfP2dfP2NbN
+        2NbN2dfP2dfP2dfP1tPK1tLJ1dHI1dHI1dHI1dHI1dHI1tLJ2NbN2dfP2dfP2dfP2dfP2dfP2NbN2NbN
+        2NbN2NXM2NbN2NbN2NbN2NbN2tjQ2tjQ2NXM19TL1NHI0s7DzsvAzsvAy8i9y8i9ycS5ycS51dHI4uDZ
+        09DGysW6yMO4x8K3xsG2ycS51dHI3dvT19TL1tLJ4d/Y2NbNxsG2xL+0w72xwbuvw72xwbuvwbuvvrmt
+        vrmtwrywwryww72xwLquyse7yse72NbN8vLv3dvT2NbN3NrS3dvT3tzU3tzU4N7X4N7X4N7X4N7X4N7X
+        4N7X3tzU19TLyMO4vrmtvrmtycS54d/Y6efi4N7XysW6xsG2zMm+09DG1tPK0s7DycS5x8K3ycS5ysW6
+        0s7D2NXM2NXM19TL1tPK2NbN3dvT3NrS2NXM0s7Dzcq/0M3C3tzU5OLb6ujj5eTe393V393V4uDZ4d/Y
+        4d/Y4N7X393V3tzU3dvT29nR2tjQ2NXM1tPK1tLJ1NHI0s/F09DG1NHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI0s/F0s7D0M3CzsvAzcq/y8i9yse7ycS5yMO4x8K3xsG2xL+0w72xwryw
+        wLquvrmtvrmtvbmtvLisuraqurWnubSmubSmt7Kkt7Kkt7Kku7erwbuvyMO4z8zB1tLJ3NrS393V3tzU
+        3NrS29nR29nR2dfP1tPK1dHI0s/FzsvAzcq/1NHI3dvT5uTe7Orl7Orl7Orl7Orl7Orl7Orl7Orl7Orl
+        7Orl7Orl6efi6efi6efi6Obh5+Xg5+Xg5+Xg5+Xg5+Xg5ePc5eTe5uTe5eTe5OLb5OLb5OLb4uDZ4uDZ
+        4uDZ4uDZ4N7X393V393V393V393V393V393V4uDZ5uTe7Ovn7uzo7Ovn6ujj5+Xg5ePc4+Ha4+Ha4uDZ
+        4N7X3tzU3tzU3NrS3NrS29nR2dfP2NbN2NXM19TL1tPK1tLJ1dHI1NHI09DG1NHI09DG0s/F0s/F0s/F
+        0s/F09DG1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLK
+        19PK19PL19TL2NTM2NXN2dXN2dbO2tbO29fP29jQ3NjR3NnR3drS3drT3tvU39zV39zW4N3W4d7X4d7Y
+        4t/Z4+Da4+Hb5OHb5OLc5eLd5uPe5uTf5+Tf5+Xg6Obh6ebi6efj6ujj6ujk6+nl6+rl7Orm7evn7ezo
+        7uzp7+3p7+7q8O7r8O/s8fDt8vDu8vHu8/Lv9PPw9PPx9fTy9fXy9vXz9/b09/f1+Pf2+Pj2+fn3+vn4
+        +vr5+/r5+/v6/Pv6/Pz7/fz8/f38/f39/v79/v7+//7+////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////U/7+
+        /f7+/f7+/f7+/tXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbSydbSydbT
+        ytfUy9bTytfUy9fUy9nXz9jWzeTi2+7s6O7s6O7s6PDu6u7s6Oro4+ro4+zq5ezq5ero4+zr5+ro4+zq
+        5ero4+jm4efl4Ofl4Obk3uXk3uXk3uXk3uXk3uXk3uXk3uLg2eLg2ePh2uXk3uTi2+Ti2+Ph2uLg2eLg
+        2eLg2eTi2+Ph2uPh2uTi2+Xk3uPh2uLg2eLg2eLg2eLg2eLg2eDe18fCt9LPxeLg2ePh2uLg2d3b09/d
+        1eDe1+Hf2N/d1dza0t3b097c1N7c1N7c1N3b093b09za0tza0tza0tvZ0dvZ0dza0trY0N3b09za0trY
+        0NnXz9nXz9nXz9nXz9nXz9nXz9nXz9jWzdjVzNbSydbSydPQxtPQxtTRyNXRyNbSydjVzNjWzdjWzdjW
+        zdjWzdjVzNjVzNjWzdjWzdjWzdjWzdnXz9jWzdjWzdnXz9nXz9jWzdjVzNbSydLPxdLPxdDNws/Mwc7L
+        wM3Kv83Kv83Kv8vIvcvIvcnEuc7LwOLg2dvZ0c/MwcvIvcjDuMrHu9TRyN3b09nXz83Kv8XAtcfCt93b
+        0+Xj3NPQxsS/tMO+s8O9scS/tMXAtcnEuc3Kv8nEucK8sMK8sMK8sMK8sMrFusjDuODe1/Ly79vZ0dvZ
+        0d3b097c1N7c1ODe1+De1+De1+De1+De1+De1+Hf2N7c1NjWzcrHu8C6rr65rdDNwuXj3Ofl4NjVzMjD
+        uMnEudLOw9jWzdjWzdLOw8rFus3Kv9DNwtDNwtPQxtjWzdza0tnXz9jWzdjWzdjVzNXRyNPQxs/Mwc7L
+        wNjVzN7c1OTi2+fl4N7c1N3b093b09/d1d/d1eHf2ODe19/d1d7c1N7c1Nza0tnXz9jVzNbSydTRyNLP
+        xdLPxdTRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNLPxdLOw9DNws/Mwc3K
+        v8vIvcrHu8nEucjDuMfCt8bBtsS/tMO9scK8sMG7r765rb65rb25rby4rLq2qrq1p7m0prizpbeypLey
+        pLizpby4rMK8sMrFutLOw9nXz97c1N/d1d/d1d/d1d7c1Nza0tvZ0djVzNbTytbSydPQxs/Mwc3Kv9LP
+        xdza0uXk3uro4+zr5+zr5+zr5+zr5+zq5ezq5ezq5ezq5ezq5ero4+nn4unn4ujm4ejm4efl4Ofl4Ofl
+        4Obk3uXj3OXk3uXk3uXj3OXj3OPh2uPh2uLg2eLg2eLg2eLg2eDe19/d1d/d1d7c1N7c1N/d1eDe1+Ph
+        2ufl4Ozq5ezr5+zr5+ro4+fl4OTi2+Ph2uLg2eDe197c1N7c1N3b09za0tvZ0drY0NnXz9jWzdjVzNfU
+        y9bSydXRyNXRyNTRyNTRyNPQxtPQxtLPxdLPxdLPxdPQxtTRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbSytfTytfTy9fUy9jUzNjVzdnVzdnWztrWztvXz9vY0NzY
+        0dzZ0d3a0t3a097b1N/c1d/c1uDd1uHe1+He2OLf2ePg2uPh2+Th2+Ti3OXi3ebj3ubk3+fk3+fl4Ojm
+        4enm4unn4+ro4+ro5Ovp5evq5ezq5u3r5+3s6O7s6e/t6e/u6vDu6/Dv7PHw7fLw7vLx7vPy7/Tz8PTz
+        8fX08vX18vb18/f29Pf39fj39vj49vn59/r5+Pr6+fv6+fv7+vz7+vz8+/38/P39/P39/f7+/f7+/v/+
+        /v//////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////1P+/v39/f3+/f3+/v7V0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjW0snW0snW0snW0snW08rX1MvW08rX1MvY1s3a2NDY1cze3NTq6OPs6+fs6uXu
+        7Ojv7enp5+Lp5+Lq6OPs6uXq6OPq6OPo5uHo5uHo5uHo5uHn5eDn5eDm5N7l5N7l5N7l5N7l49zm5N7l
+        5N7l5N7k4tvk4tvj4dri4Nni4Nni4Nnj4drj4drj4drk4tvk4tvk4tvh39jd29Pe3NTi4Nnj4drh39jg
+        3tfg3tfg3tfY1s3f3dXe3NTf3dXf3dXi4Nnd29Pd29Pb2dHSzsPKx7vKx7vb2dHd29Pc2tLe3NTc2tLd
+        29Pb2dHa2NDc2tLb2dHa2NDa2NDb2dHa2NDa2NDc2tLa2NDZ18/Z18/Y1s3W0snW0snU0cjT0MbT0MbT
+        0MbT0MbV0cjY1s3Y1s3Y1czY1czY1czW08rY1czY1czW0snV0cjW0snY1czY1s3a2NDa2NDY1s3Y1s3X
+        1MvT0MbQzcLQzcLPzMHOy8DOy8DOy8DOy8DNyr/Nyr/Oy8DNyr/LyL3Kx7vJxLnW0snl49zSzsPQzcLK
+        x7vOy8Dc2tLg3tfU0cjJxLnGwbbGwbbGwbbSzsPl49zg3tfX1MvW08ra2NDc2tLi4Nni4Nnj4drY1czD
+        vrPCvLDCvLDDvrPKxbrJxLnn5eDs6+fY1s3c2tLd29Pe3NTe3NTg3tfg3tfg3tfh39jh39jh39jg3tfe
+        3NTc2tLQzcLDvrPDvrPY1s3m5N7l49zSzsPKxbrNyr/Y1cze3NTd29PY1czSzsPT0MbY1czX1MvT0MbV
+        0cjY1czY1s3Y1czW08rU0cjV0cjT0MbSzsPY1cze3NTe3NTk4tve3NTY1czZ18/c2tLd29Pd29Pe3NTe
+        3NTg3tff3dXe3NTb2dHZ18/X1MvW0snT0MbSzsPT0MbV0cjW0snW0snV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjSz8XSzsPQzcLOy8DNyr/LyL3Kx7vKxbrIw7jHwrfGwbbEv7TDvrPDvbHBu6/A
+        uq6+ua2+ua28uKy6tqq6tae4s6W3sqS2saO3sqS6tae+ua3Ev7TMyb7W0sna2NDg3tfi4Nnh39jh39jf
+        3dXc2tLb2dHa2NDZ18/X1MvW0snT0MbPzMHPzMHT0Mbb2dHn5eDs6+fv7enu7Ojs6+fs6+fs6+fs6+fs
+        6uXs6uXs6uXq6OPp5+Lp5+Lo5uHo5uHo5uHn5eDm5N7m5N7m5N7m5N7m5N7l5N7k4tvj4dri4Nnj4drj
+        4dri4Nni4Nng3tff3dXe3NTe3NTf3dXf3dXg3tfh39jn5eDs6+fu7Ojs6+fo5uHl49zj4dri4Nni4Nng
+        3tff3dXe3NTd29Pc2tLb2dHa2NDZ18/Y1czX1MvW08rW0snV0cjV0cjU0cjT0MbT0MbT0MbT0MbT0MbU
+        0cjU0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0srX08rX
+        08vX1MvY1MzY1c3Z1c3Z1s7a1s7b18/b2NDc2NHc2dHd2tLd2tPe29Tf3NXf3Nbg3dbh3tfh3tji39nj
+        4Nrj4dvk4dvk4tzl4t3m497m5N/n5N/n5eDo5uHp5uLp5+Pq6OPq6OTr6eXr6uXs6ubt6+ft7Oju7Onv
+        7env7urw7uvw7+zx8O3y8O7y8e7z8u/08/D08/H19PL19fL29fP39vT39/X49/b4+Pb5+ff6+fj6+vn7
+        +vn7+/r8+/r8/Pv9/Pz9/fz9/f3+/v3+/v7//v7/////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////9T/v39/f39
+        /f39/v791dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1dHI1tLJ1tLJ1tPK19TL
+        1tPK19TL2NbN2tjQ2NbN3NrS6efi7Orl7Orl7Ovn7uzo6efi6ujj6Obh6Obh5uTe5+Xg6Obh5uTe6Obh
+        5eTe5eTe5eTe5eTe5ePc5eTe5eTe5OLb4uDZ5eTe4uDZ5ePc4+Ha4+Ha5OLb5OLb5ePc5OLb5OLb5ePc
+        4uDZ4+Ha4+Ha2dfP09DG2dfP393V4N7X3dvT3tzU4N7X393V4uDZ4N7X4N7X393V2NbN1tLJ2dfPvrmt
+        2dfP09DGzsvAtK+h1tPK3dvT3dvT2tjQ2dfP2dfP2dfP2dfP2tjQ2dfP2dfP2dfP2dfP2NbN2dfP2dfP
+        2NXM1tLJ1dHI09DG09DG09DG09DG1NHI1dHI1tLJ1tLJ2NXM1tLJ2NXM1tPK1tPK1tPK1tLJ2NXM1tPK
+        2NXM19TL2NXM2NXM19TL1tLJ09DG0s/Fz8zBzcq/zsvAz8zBz8zBz8zB0M3C0M3C0M3Cz8zBzsvAzsvA
+        zcq/y8i9yse7ycS5yse74+Ha393V0M3C0s/FzMm+1dHI5eTe3tzUzsvAzMm+ysW6ysW6ycS5ycS53NrS
+        5ePc4N7X29nR1tPK0M3Czcq/yMO4xcC1w76zw76zw72xwLqux8K3yMO409DG9fXy5OLb2NXM3NrS3NrS
+        3tzU3tzU4N7X4N7X4N7X4N7X4N7X4N7X3tzU3tzU3NrS09DGxcC1yMO44uDZ5+Xg5OLb0s7Dz8zB0s7D
+        2NbN4N7X5OLb5OLb3tzU3NrS3tzU2dfP09DGz8zB0M3C0s7D09DG1NHI1tPK1dHI1NHI2NbN4N7X3tzU
+        5OLb3tzU0s7D09DG19TL2NXM2NbN29nR3dvT3NrS3dvT3tzU3dvT29nR2NbN1tPK1NHI0s7D0s/F1dHI
+        1tLJ1tLJ1tLJ1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI0s/F0s7D0M3CzsvAzcq/zMm+
+        yse7ysW6yMO4yMO4xsG2xcC1w76zw72xwbuvvrmtvrmtvbmtvLisuraqurWnuLOlt7Kkt7KkuLOlu7er
+        wrywyMO40M3C2NbN3tzU4d/Y4uDZ4uDZ4uDZ4d/Y3tzU3tzU3dvT29nR2tjQ19TL1tLJ1dHI09DGz8zB
+        0s/F3tzU5+Xg6ujj7uzo7+3p7Ovn7Ovn7Ovn7Orl7Orl7Ovn7Ovn7Ovn6ujj6efi6efi6Obh6Obh5+Xg
+        5+Xg5+Xg5+Xg5+Xg5uTe5ePc5ePc5OLb4+Ha4+Ha4+Ha4uDZ4uDZ4N7X393V393V3tzU3tzU3tzU3tzU
+        4d/Y5uTe7Orl7Ovn6ujj5+Xg5ePc4uDZ4uDZ4d/Y393V3tzU3dvT3NrS29nR2tjQ2tjQ2dfP2NXM19TL
+        1tPK1tLJ1dHI1dHI1NHI09DG09DG09DG1NHI1NHI1NHI1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLK19PK19PL19TL2NTM2NXN2dXN2dbO2tbO29fP29jQ3NjR3NnR
+        3drS3drT3tvU39zV39zW4N3W4d7X4d7Y4t/Z4+Da4+Hb5OHb5OLc5eLd5uPe5uTf5+Tf5+Xg6Obh6ebi
+        6efj6ujj6ujk6+nl6+rl7Orm7evn7ezo7uzp7+3p7+7q8O7r8O/s8fDt8vDu8vHu8/Lv9PPw9PPx9fTy
+        9fXy9vXz9/b09/f1+Pf2+Pj2+fn3+vn4+vr5+/r5+/v6/Pv6/Pz7/fz8/f38/f39/v79/v7+//7+////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////U/39/f79/f7+/f7+/dXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNbSydbSydbTytfUy9bTytjVzNjWzdnXz9jWzdza0unn4unn4uzq5ero4+zq
+        5enn4ufl4Ofl4OXk3uXk3uXk3uXk3uTi2+Xk3ubk3uXk3uXj3OTi2+Ph2uPh2uPh2uPh2uXk3uPh2uTi
+        2+Xk3uXk3ujm4ePh2uTi2+Hf2OPh2uLg2ePh2uHf2OHf2OLg2drY0NjVzNrY0ODe1+De197c1ODe197c
+        1NvZ0djWzdTRyNPQxuDe1725rcfCt97c1Lq2qtjWzc3Kv7m0pszJvtnXz9za0tjWzdnXz9nXz9nXz9nX
+        z9nXz9nXz9nXz9nXz9jWzdnXz9bSydXRyNTRyNPQxtPQxtXRyNTRyNbSydbSydbSydbSydbSydbSydbT
+        ytjVzNbSydjVzNbSydbSydbSydfUy9jWzdfUy9jVzNbSydPQxtDNws/Mwc3Kv83Kv8/MwdDNws7LwM7L
+        wM/Mwc/MwdDNwtLOw9LPxdLOw8/Mwc/Mwc7LwMvIvcrHu8rHu8jDuNDNwujm4djVzNPQxtbTytDNwtLP
+        xeDe1+bk3tvZ0dbSydTRyM7LwMnEucO+s9bTyuPh2srFusO9scG7r8C6rsC6rr65rb65rcC6rsK8sMK8
+        sMK8sMrFusjDuOTi2/Lx7tjWzdjVzNjWzdza0t3b097c1N7c1ODe1+De1+De1+De197c1N3b09vZ0djV
+        zNPQxsjDuMrFuuXj3Oro4+Ti29TRyNPQxtjVzNnXz+De1+fl4Oro4+bk3uLg2eTi29za0tPQxs7LwM/M
+        wdLOw9PQxtTRyNTRyNbTytza0uHf2ODe1+Ti297c1M3Kv8rFus3Kv9DNwtPQxtbTytjVzNjWzdza0tza
+        0t3b09za0trY0NfUy9XRyNLPxdLOw9TRyNbSydbTytbTytbTytXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNLPxdLOw9DNws/Mwc3Kv8zJvsrHu8rFusjDuMjDuMbBtsS/tMO+s8O9scG7r8C6rr65
+        rb25rby4rLq2qrq1p7izpbeypLeypLq1p725rcO+s8rFutLPxdnXz9/d1eLg2ePh2uLg2eLg2eLg2d/d
+        1d/d1d3b09vZ0dvZ0drY0NjVzNbSydTRyNLOw8/MwdLPxdza0ubk3uzq5ezr5+zr5+zr5+zr5+zq5ezq
+        5ezr5+zr5+zr5+ro4+nn4unn4unn4ujm4ejm4ejm4efl4Ofl4Ofl4Obk3ubk3uXj3OTi2+Ti2+Ti2+Ti
+        2+Lg2eHf2OHf2OHf2N/d1d7c1N7c1N3b09vZ0d3b0+Lg2ebk3uzq5ezq5ero4+fl4OTi2+Lg2eHf2ODe
+        19/d1d3b09za0tvZ0drY0NnXz9nXz9jVzNfUy9fUy9bTytbSydXRyNTRyNTRyNPQxtPQxtTRyNTRyNLP
+        xdTRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbSytfTytfTy9fU
+        y9jUzNjVzdnVzdnWztrWztvXz9vY0NzY0dzZ0d3a0t3a097b1N/c1d/c1uDd1uHe1+He2OLf2ePg2uPh
+        2+Th2+Ti3OXi3ebj3ubk3+fk3+fl4Ojm4enm4unn4+ro4+ro5Ovp5evq5ezq5u3r5+3s6O7s6e/t6e/u
+        6vDu6/Dv7PHw7fLw7vLx7vPy7/Tz8PTz8fX08vX18vb18/f29Pf39fj39vj49vn59/r5+Pr6+fv6+fv7
+        +vz7+vz8+/38/P39/P39/f7+/f7+/v/+/v//////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////////1P+/v39/f39/f3+
+        /v3V0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0snW0snW08rW08rX
+        1MvY1czZ18/Y1s3c2tLp5+Ln5eDp5+Lq6OPp5+Lp5+Ll5N7n5eDk4tvl49zl49zk4tvk4tvl49zl5N7k
+        4tvj4drj4dri4Nnj4drk4tvk4tvm5N7l49zo5uHk4tvk4tvk4tvk4tvb2dHa2NDj4dri4Nni4Nni4Nng
+        3tfg3tfi4Nng3tfe3NTe3NTc2tLa2NDW0snPzMHIw7jPzMHNyr/Oy8DSzsO8uKzPzMHd29O7t6vMyb7F
+        wLXCvLDKx7vW0snZ18/Z18/Z18/Z18/Y1czY1czY1czW0snW08rW0snU0cjU0cjT0MbU0cjW0snW0snW
+        0snY1czW08rW0snW0snW0snW0snW0snW0snW0snW0snW0snW08rW08rW08rW0snU0cjT0MbOy8DNyr/N
+        yr/Nyr/Nyr/Nyr/Nyr/Nyr/QzcLQzcLQzcLOy8DOy8DQzcLQzcLQzcLT0MbSz8XQzcLQzcLOy8DMyb7L
+        yL3Kx7vJxLnW08rq6OPV0cjZ18/h39jZ18/a2NDg3tfp5+Lp5+Li4Nna2NDQzcLEv7TEv7Te3NTd29PD
+        vrPAuq7Bu6/Bu6/CvLDCvLDCvLDCvLDDvbHCvLDFwLXGwbbSzsP09PHk4tvV0cjY1czY1s3Z18/c2tLd
+        29Pe3NTe3NTe3NTe3NTe3NTd29PY1s3Y1czT0MbOy8DFwLXKxbrm5N7q6OPm5N7Y1s3Y1cze3NTg3tfk
+        4tvq6OPs6+fl49zk4tvi4NnY1s3T0MbQzcLQzcLSzsPSzsPSzsPY1czg3tfk4tvk4tvk4tvg3tfMyb7E
+        v7THwrfIw7jKxbrNyr/SzsPU0cjY1czY1cza2NDc2tLb2dHZ18/W08rT0MbSzsPU0cjW0snX1MvW08rW
+        08rW08rV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjSz8XSzsPQzcLPzMHOy8DMyb7Kx7vK
+        xbrJxLnIw7jGwbbFwLXDvrPCvLDBu6++ua2+ua29ua28uKy6tqq6tae4s6W3sqS3sqS6tafAuq7GwbbM
+        yb7W0snd29Pi4Nnj4drj4drk4tvj4dri4Nni4Nnh39jg3tff3dXd29Pa2NDZ18/Y1czW0snT0MbQzcLO
+        y8DSz8Xd29Po5uHu7Ojv7ens6+fs6+fs6+fs6+fs6+fs6+fs6+fq6OPp5+Lp5+Lp5+Lo5uHo5uHo5uHn
+        5eDn5eDn5eDn5eDm5N7l49zl49zl49zk4tvj4drj4dri4Nnh39jh39jf3dXf3dXf3dXd29Pc2tLc2tLe
+        3NTh39jl5N7p5+Ls6uXo5uHl49zj4dri4Nng3tff3dXd29Pd29Pc2tLa2NDZ18/Z18/Y1s3Y1czX1MvW
+        08rW0snV0cjV0cjV0cjV0cjV0cjU0cjSz8XSz8XU0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjW0snW0snW0srX08rX08vX1MvY1MzY1c3Z1c3Z1s7a1s7b18/b2NDc2NHc2dHd2tLd
+        2tPe29Tf3NXf3Nbg3dbh3tfh3tji39nj4Nrj4dvk4dvk4tzl4t3m497m5N/n5N/n5eDo5uHp5uLp5+Pq
+        6OPq6OTr6eXr6uXs6ubt6+ft7Oju7Onv7env7urw7uvw7+zx8O3y8O7y8e7z8u/08/D08/H19PL19fL2
+        9fP39vT39/X49/b4+Pb5+ff6+fj6+vn7+vn7+/r8+/r8/Pv9/Pz9/fz9/f3+/v3+/v7//v7/////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////9T/v39/f39/f39/f391dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1tLJ1dHI1tLJ1tLJ1tPK1tPK1tPK2NXM2NbN2NXM2dfP29nR5uTe6Obh6Obh5uTe6efi6efi
+        5eTe5OLb5OLb4+Ha5OLb4uDZ4+Ha4+Ha4uDZ5eTe4uDZ4+Ha5ePc5OLb5eTe5OLb5OLb4+Ha4+Ha4+Ha
+        4+Ha5OLb4uDZ2dfP2dfP4uDZ4N7X4uDZ4d/Y3dvT4N7X3dvT3dvT1tPK1tLJyMO4yse7vrmtzMm+ubSm
+        zcq/1dHIysW6wLqu09DGx8K3y8i9w72xx8K30s/F1NHI1dHI2NbN2NbN1tPK1tPK1tLJ1dHI1NHI09DG
+        0s/F09DG09DG1dHI1dHI1tLJ1tLJ2NXM1tLJ2NXM1tLJ1tLJ1dHI1tLJ1dHI09DG1dHI2NXM2NXM2NbN
+        1tLJ1dHI0s7D0M3Cz8zBzsvAzsvAy8i9yse7zcq/z8zBz8zBzsvA0M3CzsvAz8zB0M3Cz8zB0M3C0M3C
+        0s7D0s7D0s7D0s7D0s7D0s7D0M3Cz8zBzsvAzMm+yse7ysW63NrS6ujj1dHI4N7X5eTe6efi5uTe5ePc
+        8O7q8O7q5+Xg1tPKx8K3w76z1tLJ5eTezcq/wLquwrywwrywwrywwrywwryww76zw76zw72xxcC1x8K3
+        ysW66ujj7+3p0s7D1NHI19TL2NXM2NbN2NbN3NrS3dvT3dvT3tzU3dvT2dfP2NbN1tPK0s7DysW6xL+0
+        wrywxsG25ePc7+3p6ujj4N7X29nR5OLb6ujj6ujj8O7q6ujj4uDZ5OLb4N7X2NXM0s7DzsvAzcq/zcq/
+        09DG29nR5OLb5ePc5ePc5uTe4N7XysW6w76zw76zxL+0xcC1xsG2yMO4yse70M3C1NHI2NXM2NXM2tjQ
+        2tjQ19TL1tLJ0s/F09DG1tPK2NXM19TL19TL19TL19TL1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI09DG0s7D0M3Cz8zBzsvAzMm+yse7ysW6ycS5yMO4xsG2xL+0w76zw72xwbuvwLquvrmtvbmt
+        vLisuraqurWnuLOlt7KkubSmvLisw72xyMO40M3C2NbN4d/Y4+Ha4uDZ4+Ha5OLb5OLb4+Ha4+Ha4uDZ
+        4d/Y4N7X3dvT29nR29nR2tjQ1tLJ1NHI09DG09DGz8zB0s/F3tzU6efi7uzo7+3p7+3p7+3p7+3p7uzo
+        7Ovn7Ovn7Ovn7Orl7Orl6efi6efi6Obh6Obh6Obh6Obh6Obh5+Xg5+Xg5uTe5uTe5ePc5OLb5OLb5OLb
+        4uDZ4uDZ4d/Y4d/Y393V393V393V3dvT29nR29nR3tzU4N7X5ePc6Obh6efi5+Xg5eTe5OLb4d/Y393V
+        393V3dvT3NrS29nR2tjQ2dfP2NbN2NXM19TL1tPK1tLJ1dHI1dHI1dHI1tLJ1dHI0s/F0s7D0s/F1NHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLK19PK19PL19TL2NTM
+        2NXN2dXN2dbO2tbO29fP29jQ3NjR3NnR3drS3drT3tvU39zV39zW4N3W4d7X4d7Y4t/Z4+Da4+Hb5OHb
+        5OLc5eLd5uPe5uTf5+Tf5+Xg6Obh6ebi6efj6ujj6ujk6+nl6+rl7Orm7evn7ezo7uzp7+3p7+7q8O7r
+        8O/s8fDt8vDu8vHu8/Lv9PPw9PPx9fTy9fXy9vXz9/b09/f1+Pf2+Pj2+fn3+vn4+vr5+/r5+/v6/Pv6
+        /Pz7/fz8/f38/f39/v79/v7+//7+////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////U/79/f7+/f39/f7+/dXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydXRyNbSydbSydbSydbTytfUy9jVzNfU
+        y9fUy9nXz9vZ0eXk3ufl4Ojm4ebk3ufl4Ofl4OPh2uLg2eXk3uPh2uLg2ePh2uPh2uPh2uTi2+Xj3OXk
+        3uTi2+Xk3uTi2+Xj3NnXz9jVzOPh2uPh2uDe1+Ti2+Hf2ODe1+Hf2ODe197c1ODe197c1Nza0t/d1dPQ
+        xsrHu9za0s7LwMjDuLWwosC6rru3q9DNwrSvocnEudDNwru3q8jDuNrY0MvIvdDNwtbTytjVzNnXz9jW
+        zdbTytXRyNTRyNTRyNDNws/MwdDNwtLPxdLPxdPQxtTRyNXRyNbSydXRyNbSydXRyNbSydbSydbSydbS
+        ydbSydPQxtbSydbSydbTytbSydPQxtDNwtDNwtDNwtDNws3Kv8zJvs3Kv8/Mwc/MwczJvs3Kv8/Mwc/M
+        wc7LwNDNwtLOw8/MwdDNwtLOw8/MwdLOw9LOw9LOw9LPxdLPxdLOw9DNwtDNwtDNws7LwM3Kv8zJvsrH
+        u8rHu97c1Onn4tbTyuXk3vDu6vDu6u/t6fDu6unn4uro4+ro49rY0NPQxtza0uPh2tDNwsK8sMG7r8K8
+        sMK8sMK8sMK8sMK8sMK8sMO+s8XAtcjDuMnEueTi2/T08dXRyM3Kv9LOw9TRyNbTytjVzNjWzdjWzdjW
+        zdvZ0djWzdjVzNbTytPQxs3Kv8jDuMO+s8C6rr65rcK8sNnXz/Hv6+7s6Oro4+Ti2+Xk3u/t6fHv6/Hv
+        6+nn4uLg2eTi2+De19XRyNDNws/MwdLOw9jWzeDe1+Xj3OXk3ubk3ufl4N7c1MnEucK8sMO+s8O+s8O+
+        s8O+s8S/tMXAtcjDuMzJvtDNwtPQxtfUy9fUy9jVzNbTytTRyNLOw9bSydjVzNjVzNjVzNjVzNjVzNfU
+        y9XRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNPQxtLOw9DNws/Mwc7LwMzJvsrHu8rFusnE
+        ucjDuMbBtsS/tMO+s8O9scG7r8C6rr65rb65rby4rLu3q7q1p7izpbizpbq2qr65rcS/tMvIvdPQxtvZ
+        0eLg2ePh2uPh2uTi2+Ti2+Xj3OTi2+Ti2+Ph2uLg2eHf2ODe19/d1d3b09vZ0djWzdfUy9bSydbSydPQ
+        xs/MwdLPxd/d1ezq5e/t6e/t6e/t6e/t6e/t6e7s6Ozr5+zr5+zr5+zq5ezq5enn4ujm4enn4unn4unn
+        4unn4ujm4efl4Obk3ubk3ubk3uXk3uTi2+Ti2+Lg2eLg2eLg2eHf2OHf2OHf2ODe197c1N3b093b093b
+        093b09/d1eXj3Ojm4ero4+jm4eXj3OHf2ODe19/d1d7c1Nza0tvZ0drY0NrY0NnXz9jWzdfUy9fUy9bT
+        ytbSydbTytbTytbSydLPxdDNwtLOw9PQxtTRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNbSydbSydbSytfTytfTy9fUy9jUzNjVzdnVzdnWztrWztvXz9vY0NzY0dzZ0d3a0t3a097b
+        1N/c1d/c1uDd1uHe1+He2OLf2ePg2uPh2+Th2+Ti3OXi3ebj3ubk3+fk3+fl4Ojm4enm4unn4+ro4+ro
+        5Ovp5evq5ezq5u3r5+3s6O7s6e/t6e/u6vDu6/Dv7PHw7fLw7vLx7vPy7/Tz8PTz8fX08vX18vb18/f2
+        9Pf39fj39vj49vn59/r5+Pr6+fv6+fv7+vz7+vz8+/38/P39/P39/f7+/f7+/v/+/v//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////1P+/f3+/v39/f3+/v3V0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjW0snW0snW0snW08rX1MvY1s3X1MvX1MvY1czZ18/j4drm5N7n5eDl5N7l5N7l5N7j4drh
+        39ji4Nng3tfi4Nnj4drl49zm5N7l5N7j4drk4tvj4drk4tvh39jj4drW08rW0sni4Nng3tfh39jh39jh
+        39jg3tfe3NTe3NTZ18/Z18/f3dXDvrPT0MbSzsO6tqre3NTSzsOyrJ7KxbrHwrehm4vMyb64s6XKxbrL
+        yL3Oy8DW08rW08rY1s3Y1s3W08rW0snT0MbSz8XSz8XOy8DPzMHSzsPOy8DSz8XSz8XU0cjU0cjU0cjW
+        0snU0cjV0cjV0cjV0cjW0snV0cjW08rX1MvY1czX1MvW0snW0snT0MbQzcLPzMHNyr/Nyr/Oy8DPzMHQ
+        zcLOy8DNyr/Oy8DNyr/Oy8DPzMHQzcLPzMHPzMHPzMHQzcLSzsPSzsPSzsPSz8XSzsPSz8XSzsPSz8XS
+        z8XSz8XT0MbSzsPQzcLQzcLPzMHOy8DNyr/Myb7LyL3e3NTs6+fZ18/m5N7z8/Dz8/D09PHw7urb2dHd
+        29Pl5N7k4tvh39ja2NDKxbrAuq7CvLDCvLDCvLDCvLDCvLDDvbHDvrPDvbHEv7TDvrPIw7jk4tv09PHY
+        1s3Iw7jMyb7PzMHSzsPU0cjX1MvY1czY1czY1czX1MvV0cjSzsPPzMHKxbrFwLXCvLC+ua3Auq7Auq6+
+        ua3Kxbrq6OP09PHy8Ozx7+vv7env7enw7urv7enm5N7e3NTe3NTd29PY1czY1s3e3NTk4tvm5N7n5eDp
+        5+Lq6OPl49zV0cjEv7TAuq7DvrPDvrPDvrPDvrPDvrPEv7TFwLXHwrfJxLnNyr/PzMHSzsPT0MbV0cjU
+        0cjSzsPQzcLX1Mva2NDZ18/Z18/Y1s3Y1s3X1MvV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjT0MbSzsPQzcLPzMHOy8DMyb7Kx7vKxbrJxLnIw7jGwbbFwLXEv7TDvbHCvLDAuq6+ua2+ua28uKy7
+        t6u6tae5tKa6tqq8uKzCvLDHwrfPzMHW08re3NTj4drk4tvk4tvl49zk4tvk4tvk4tvk4tvk4tvk4tvi
+        4Nnh39jg3tfe3NTc2tLb2dHb2dHZ18/X1MvV0cjSz8XPzMHT0Mbg3tfq6OPs6+fv7env7env7env7enu
+        7Ojs6uXs6uXs6uXs6uXs6uXp5+Lp5+Lp5+Lp5+Lp5+Lo5uHn5eDn5eDm5N7n5eDn5eDl49zk4tvk4tvi
+        4Nni4Nni4Nnh39jh39jg3tfe3NTd29Pd29Pd29Pb2dHa2NDf3dXl49zn5eDo5uHm5N7k4tvg3tff3dXf
+        3dXc2tLb2dHa2NDa2NDZ18/Y1s3Y1czY1czX1MvW08rW08rX1MvT0MbPzMHQzcLSzsPT0MbU0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0srX08rX08vX1MvY1MzY1c3Z
+        1c3Z1s7a1s7b18/b2NDc2NHc2dHd2tLd2tPe29Tf3NXf3Nbg3dbh3tfh3tji39nj4Nrj4dvk4dvk4tzl
+        4t3m497m5N/n5N/n5eDo5uHp5uLp5+Pq6OPq6OTr6eXr6uXs6ubt6+ft7Oju7Onv7env7urw7uvw7+zx
+        8O3y8O7y8e7z8u/08/D08/H19PL19fL29fP39vT39/X49/b4+Pb5+ff6+fj6+vn7+vn7+/r8+/r8/Pv9
+        /Pz9/fz9/f3+/v3+/v7//v7/////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////9T/f39/f39/f39/v391dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLJ1tLJ1tPK2NbN2NbN19TL
+        2NXM2dfP4d/Y5ePc5ePc4+Ha4+Ha5ePc4d/Y4N7X3tzU4uDZ5OLb4+Ha4+Ha2dfP2NbN4uDZ4uDZ4d/Y
+        4d/Y4N7X4d/Y3NrS3NrS4N7X4N7X4d/Y3NrS2NbN2dfP2NXMycS5zMm+zcq/0M3CubSmzsvA1dHIuLOl
+        1NHIxsG2qaOU09DG0s/FvLiszsvAzsvA09DG1tLJ2NbN1tPK1NHI1tLJ09DG09DG0M3C0M3C0M3C0s7D
+        0s7D0s/F0s/F0s/F09DG09DG09DG0s/F0s/F1dHI09DG1NHI1dHI1dHI19TL1tLJ1tLJ1NHI09DG09DG
+        0s7D0M3CzsvAzcq/z8zB0M3Cz8zBzsvAz8zB0M3CzsvAz8zB0M3CzsvAz8zB0M3C0M3CzsvAz8zB0s7D
+        0s7D0s/F0s/F0s7D0s/F0s/F0s/F0s/F09DG09DG0s/F09DG0s/F0s7D0s7Dz8zBzsvAzcq/zMm+zMm+
+        29nR7Ovn393V4d/Y9PTx9PTx9PTx6efi29nR1tLJy8i9ysW6yMO4w76zwLquwLquwrywwrywwrywwryw
+        w76zw72xxL+0xcC1w76zyMO45ePc9/f22NXMw76zx8K3ycS5zMm+z8zB0s7D1NHI1dHI1NHI09DG0M3C
+        zcq/yse7yMO4w76zwrywwLquwLquwLquwLquwLquwLqu09DG9PTx9vf29vbz+vn49vf29fXy9PTx8e/r
+        6ujj6efi6efi6efi6ujj6ujj6ujj7uzo7uzo6ujj2NbNyMO4wLquwLquw72xw76zw76zw76zw76zw76z
+        w76zxL+0xcC1xsG2yMO4yse7y8i9zsvA0M3C0s7Dz8zB0M3C2dfP29nR29nR2tjQ2tjQ2dfP2NbN1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI09DG0s7D0M3Cz8zBzsvAzMm+yse7ysW6ycS5yMO4
+        x8K3xsG2xL+0w76zw72xwrywwrywwbuvwLquvrmtvbmtvbmtvbmtvrmtxcC1yse709DG2dfP4d/Y5ePc
+        5uTe5OLb5OLb5OLb5ePc5OLb5OLb5OLb5OLb5OLb4uDZ4uDZ4N7X3tzU3NrS3NrS29nR2NXM1tPK1tLJ
+        09DGz8zB0s/F4N7X6efi7Ovn8O7q8O7q7+3p7+3p7uzo7Orl7Orl7Orl7Orl6efi6efi6efi6efi6efi
+        6efi6Obh5+Xg5+Xg5uTe5uTe5uTe5uTe5eTe5OLb4+Ha4uDZ4d/Y393V4d/Y393V3dvT3tzU3tzU3NrS
+        2tjQ29nR393V4+Ha5uTe5+Xg5eTe5OLb4N7X393V3NrS3NrS29nR2tjQ2dfP2NbN2NbN2NbN2NXM2NXM
+        2NbN1NHIz8zBzsvA0M3C0s7D09DG1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1tLJ1tLJ1tLK19PK19PL19TL2NTM2NXN2dXN2dbO2tbO29fP29jQ3NjR3NnR3drS3drT3tvU39zV
+        39zW4N3W4d7X4d7Y4t/Z4+Da4+Hb5OHb5OLc5eLd5uPe5uTf5+Tf5+Xg6Obh6ebi6efj6ujj6ujk6+nl
+        6+rl7Orm7evn7ezo7uzp7+3p7+7q8O7r8O/s8fDt8vDu8vHu8/Lv9PPw9PPx9fTy9fXy9vXz9/b09/f1
+        +Pf2+Pj2+fn3+vn4+vr5+/r5+/v6/Pv6/Pz7/fz8/f38/f39/v79/v7+//7+////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////U/79/f7+/f7+/f39/dXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbS
+        ydXRyNbSydbSydbSydbSydbTytjWzdjWzdfUy9nXz9nXz9/d1eXj3OTi2+Lg2eLg2ePh2t/d1d3b0+De
+        1+Ph2uLg2ePh2uLg2dLOw87LwODe1+Hf2ODe193b097c1NvZ0d/d1d/d1dza0tza0tnXz8jDuM3Kv8XA
+        tcXAtb65rdLOw8XAtcO+s9DNwsbBtsrHu7WwosXAtcnEucvIvdTRyNTRyNXRyNPQxtXRyNTRyNLOw9LO
+        w9LPxdLOw8/MwdDNwtDNwtLPxdLPxdLOw9LOw9LPxdPQxtLPxdLOw9LPxdLPxdLPxdPQxtPQxtXRyNTR
+        yNTRyNbTytXRyNXRyNLOw8/Mwc/MwdDNwtLOw9LOw9DNws7LwM7LwNDNwtDNwtDNwtLPxdLOw9LOw9DN
+        ws/MwdDNws/MwdDNws/Mwc/Mwc/Mwc/MwdLOw9LOw9LPxdLPxdLOw9LPxdLPxdPQxtPQxtPQxtPQxtPQ
+        xtPQxtLPxdLPxdLOw9DNws/Mwc7LwM3Kv8zJvtjWzezq5efl4NvZ0ezr5/X18vLw7OXk3t3b083Kv8O+
+        s8O+s8O+s8K8sMK8sMK8sMK8sMK8sMK8sMK8sMO9scO+s8bBtsfCt83Kv+bk3vb289fUy8K8sMS/tMXA
+        tcjDuMrFus3Kv8/MwdDNws/Mwc7LwMzJvsrFusjDuMXAtcO+s8C6rr65rcC6rsC6rsC6rsK8sMK8sMC6
+        rsK8sNXRyPT08f39/f39/fz8+/z8+/z8+/r5+Pb39vX18vT08fHv6/Hv6/Hv6/Hv6+ro497c1MzJvsC6
+        rr65rcK8sMO9scO9scO+s8O+s8O+s8O+s8O+s8O+s8O+s8S/tMS/tMXAtcbBtsjDuMnEucrHu8vIvcvI
+        vdDNwtnXz93b093b09vZ0dvZ0dvZ0drY0NXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNPQ
+        xtLOw9DNws/Mwc7LwM3Kv8zJvsvIvcrHu8rHu8rFusrHu8rHu8rHu8rHu8rHu8rHu8rFusrFusnEucnE
+        ucnEucrFusvIvc3Kv9LPxdbTyt/d1eTi2+Xj3OXk3uXk3uXj3OXj3OXj3OTi2+Xj3OTi2+Ti2+Ti2+Ti
+        2+Lg2eLg2eHf2N/d1d7c1Nza0tvZ0drY0NjWzdbSydPQxtDNwtLOw9/d1enn4u/t6fDu6vDu6vDu6u7s
+        6Ozr5+zr5+zq5ezq5ezq5ezq5ezq5ezq5ero4+nn4ujm4efl4Ofl4Ofl4Obk3ubk3ubk3uXk3uTi2+Ph
+        2uLg2eTi2+Lg2eLg2eDe1+De1+De197c1Nza0tza0tza0trY0N3b0+Ph2ubk3uXk3uTi2+Hf2N/d1d7c
+        1Nza0tvZ0drY0NnXz9nXz9jWzdjWzdjVzNjWzdbTys/Mwc3Kv8/MwdDNwtLPxdPQxtTRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbSytfTytfTy9fUy9jUzNjVzdnVzdnW
+        ztrWztvXz9vY0NzY0dzZ0d3a0t3a097b1N/c1d/c1uDd1uHe1+He2OLf2ePg2uPh2+Th2+Ti3OXi3ebj
+        3ubk3+fk3+fl4Ojm4enm4unn4+ro4+ro5Ovp5evq5ezq5u3r5+3s6O7s6e/t6e/u6vDu6/Dv7PHw7fLw
+        7vLx7vPy7/Tz8PTz8fX08vX18vb18/f29Pf39fj39vj49vn59/r5+Pr6+fv6+fv7+vz7+vz8+/38/P39
+        /P39/f7+/f7+/v/+/v//////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////1P+/v3+/f3+/v39/f3V0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0snW08rW08rY1czY1czY1cza2NDZ
+        18/d29Pj4dri4Nni4Nnh39ji4Nne3NTb2dHg3tfh39jh39ji4Nng3tfa2NDd29Pd29Pc2tLf3dXd29PZ
+        18/a2NDb2dHKx7vKx7vf3dXGwbbDvrPb2dHJxLm0r6G7t6vKxbqup5jLyL3SzsPDvrPHwrfPzMHSz8XT
+        0MbT0MbV0cjT0MbQzcLQzcLOy8DNyr/LyL3Myb7Oy8DOy8DSz8XQzcLSz8XSz8XSz8XSz8XSzsPSzsPS
+        z8XSz8XSzsPSz8XT0MbT0MbU0cjU0cjW0snU0cjU0cjQzcLPzMHSz8XSzsPQzcLQzcLSzsPSz8XQzcLP
+        zMHPzMHQzcLSzsPPzMHQzcLT0MbSzsPSzsPSzsPSzsPSzsPSzsPSzsPSzsPSzsPSzsPQzcLSzsPQzcLS
+        zsPT0MbT0MbT0MbT0MbT0MbT0MbT0MbU0cjT0MbU0cjT0MbSz8XSzsPSzsPPzMHPzMHOy8DNyr/SzsPl
+        49zs6+fl49za2NDo5uHv7enl5N7a2NDLyL3FwLXEv7TDvrPCvLDCvLDCvLDCvLDCvLDCvLDCvLDDvrPG
+        wbbKxbrY1czy8e7w7urOy8C+ua3CvLDDvrPFwLXGwbbIw7jKxbrKx7vKx7vKxbrJxLnIw7jFwLXDvrPD
+        vbHAuq7Auq7Auq7Auq7Auq7Auq7CvLDCvLDCvLDCvLDDvrPNyr/k4tv19fL9/f3+/v7////9/f38/Pv8
+        /Pv6+fj19fLx7+vl49zX1MvIw7jAuq6+ua3Auq7Auq7CvLDCvLDDvbHDvrPDvrPDvrPDvrPDvrPDvrPD
+        vrPDvrPEv7TEv7TEv7TFwLXGwbbHwrfIw7jIw7jMyb7Z18/f3dXe3NTd29Pc2tLd29Pb2dHV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjT0MbSz8XSzsPSzsPSzsPSzsPSzsPSz8XT0MbU0cjU0cjW
+        0snW08rX1MvX1MvY1czY1czY1s3Y1s3Y1s3Y1czX1MvZ18/Z18/b2dHf3dXg3tfk4tvl5N7m5N7l5N7l
+        5N7l5N7m5N7m5N7m5N7m5N7l49zk4tvk4tvj4drj4dri4Nni4Nnh39jf3dXe3NTc2tLc2tLa2NDY1czW
+        0snU0cjSzsPQzcLf3dXq6OPw7urx7+vw7urv7enw7urs6+fs6+fs6+fs6+fs6+fs6uXs6uXq6OPp5+Lo
+        5uHo5uHo5uHn5eDn5eDn5eDm5N7k4tvk4tvl49zj4dri4Nni4Nnh39jg3tfg3tfe3NTa2NDb2dHc2tLa
+        2NDa2NDa2NDd29Pi4Nnk4tvl49zj4drg3tfe3NTd29Pb2dHb2dHa2NDZ18/Z18/Z18/Z18/Y1s3PzMHM
+        yb7Nyr/PzMHQzcLSz8XT0MbU0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW
+        0snW0snW0srX08rX08vX1MvY1MzY1c3Z1c3Z1s7a1s7b18/b2NDc2NHc2dHd2tLd2tPe29Tf3NXf3Nbg
+        3dbh3tfh3tji39nj4Nrj4dvk4dvk4tzl4t3m497m5N/n5N/n5eDo5uHp5uLp5+Pq6OPq6OTr6eXr6uXs
+        6ubt6+ft7Oju7Onv7env7urw7uvw7+zx8O3y8O7y8e7z8u/08/D08/H19PL19fL29fP39vT39/X49/b4
+        +Pb5+ff6+fj6+vn7+vn7+/r8+/r8/Pv9/Pz9/fz9/f3+/v3+/v7//v7/////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////9T/v79/v79/v79/v791dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1tLJ1tLJ1tPK1tPK1tPK19TL19TL2NbN29nR2NbN2tjQ4+Ha4N7X4d/Y393V4N7X3dvT2tjQ393V393V
+        4N7X3tzU3NrS4N7X393V3NrS3NrSyse7y8i9w76z0s7D2tjQxL+0vrmty8i9t7Kkw72x1dHIwrywvbmt
+        vrmtycS5yMO41NHI0s7D09DG1NHI09DG0s/F0M3CzsvAzcq/y8i9zMm+zMm+zMm+zcq/zcq/z8zB0s7D
+        0s7D0s7D0s7D0M3C0s7D0M3C0s/F0M3C0M3C09DG09DG09DG09DG1NHI09DG1dHI1NHI09DG0s/F0M3C
+        0s7Dz8zB0M3C0s7D0M3C0s7D0M3C0s7Dz8zBzsvAz8zB0M3C0s/F0s7D0s7D0s7D0s/F0s7D0s7D0s/F
+        0s7D0s7D0s/F0s7D0s/F0s7D0s/F0s/F0s7D0s/F09DG09DG09DG09DG1NHI09DG1NHI1NHI1NHI1NHI
+        09DG0s/F0s/F0s7D0M3Cz8zBzsvAzsvAzcq/19TL6efi7+3p4uDZ1NHI19TL3NrS0s/Fyse7xsG2xL+0
+        xL+0w72xwryww72xwrywwLquwryww76zysW61tPK6Obh8/Pw4+HayMO4vrmtvrmtwryww76zw76zxL+0
+        xL+0xcC1x8K3x8K3x8K3xcC1w76zw76zwrywwLquvrmtwLquwLquwLquwrywwrywwrywwryww76zw76z
+        w76zw76zxsG2z8zB3NrS5OLb6efi6ujj6efi5OLb2dfP09DGysW6w76zvrmtvrmtvrmtwLquwrywwryw
+        wryww72xw72xw76zw76zw76zwrywwrywwrywwrywwryww72xxL+0xL+0xcC1xsG2xsG2x8K3x8K3ycS5
+        1tPK4N7X4N7X4N7X393V3dvT3NrS1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1NHI1NHI
+        1NHI1dHI1tLJ1tPK19TL19TL2NXM2NbN2NbN2dfP2dfP2dfP2dfP2tjQ29nR29nR29nR3NrS3NrS3NrS
+        3NrS3NrS3tzU5ePc7Ovn7uzo5+Xg5eTe5uTe5uTe5uTe5+Xg5uTe5ePc5uTe5uTe5eTe5OLb5OLb5OLb
+        4+Ha4+Ha4+Ha4d/Y393V3tzU3dvT29nR2tjQ2NbN1tPK09DGzcq/z8zB3tzU7Orl8O7q8O7q8O7q7uzo
+        7Ovn7+3p7+3p7Ovn7Ovn7Ovn7Ovn7Orl6ujj6Obh6Obh5+Xg5+Xg5+Xg5+Xg5uTe5OLb4uDZ3tzU29nR
+        3dvT1NHIxcC1vrmtw72xz8zB0M3CwrywysW62dfP2tjQ2tjQ2dfP3NrS4d/Y5ePc5ePc4+Ha393V3tzU
+        3NrS29nR2tjQ2tjQ2dfP2tjQ2tjQz8zBy8i9zMm+zsvAz8zB0s7D0s/F09DG1NHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLK19PK19PL19TL2NTM2NXN2dXN2dbO2tbO
+        29fP29jQ3NjR3NnR3drS3drT3tvU39zV39zW4N3W4d7X4d7Y4t/Z4+Da4+Hb5OHb5OLc5eLd5uPe5uTf
+        5+Tf5+Xg6Obh6ebi6efj6ujj6ujk6+nl6+rl7Orm7evn7ezo7uzp7+3p7+7q8O7r8O/s8fDt8vDu8vHu
+        8/Lv9PPw9PPx9fTy9fXy9vXz9/b09/f1+Pf2+Pj2+fn3+vn4+vr5+/r5+/v6/Pv6/Pz7/fz8/f38/f39
+        /v79/v7+//7+////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////U/39/f7+/f39/f39/dXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbTytbTytbTytfUy9fUy9jVzNza0tjWzdvZ
+        0ePh2t/d1d7c1Nza0t7c1Nza0tnXz9za0t7c1NvZ0d3b093b09XRyMrHu9nXz9jWza+omcrFur65rcO+
+        s8bBtsO+s7u3q7u3q765rcK8sMbBtsjDuNPQxtLOw9LOw9PQxtDNwtLPxc/MwczJvs3Kv8rHu8rHu8vI
+        vcvIvc3Kv83Kv8/MwdDNwtDNwtDNws3Kv83Kv9LPxc3Kv8/Mwc/MwdDNwtLOw9LOw9LOw9TRyNbSydTR
+        yNTRyNPQxtTRyNLPxdPQxtPQxtPQxtLPxdLPxdPQxtLOw9DNwtLOw9LOw9LOw9DNwtLOw9DNwtDNwtLO
+        w9DNwtLPxdLPxdLPxdLOw9DNwtLPxdPQxtPQxtLPxdLPxdLPxdLOw9LPxdLPxdLPxdPQxtPQxtPQxtPQ
+        xtTRyNTRyNPQxtTRyNTRyNTRyNTRyNTRyNTRyNPQxtPQxtLPxdLPxdLOw9DNws/Mwc/Mwc7LwNDNwtnX
+        z+nn4u/t6ebk3tfUy9LOw83Kv8rHu8XAtcbBtsbBtsO9scK8sMO9scS/tMjDuM/Mwdza0unn4vT08enn
+        4tDNwsC6rr65rcC6rsC6rsK8sMK8sMO9scK8sMK8sMK8sMK8sMO+s8O+s8O+s8O9scK8sMK8sMK8sMK8
+        sMC6rsK8sMK8sMK8sMK8sMO+s8O+s8S/tMS/tMXAtcbBtsjDuMjDuMnEucnEucjDuMjDuMbBtsO+s8K8
+        sL65rb65rb65rcC6rsC6rsC6rsC6rsC6rsK8sMK8sMK8sMK8sMK8sMK8sMK8sMO+s8XAtcjDuMnEucnE
+        ucbBtsXAtcS/tMO+s8XAtcbBtsbBtsbBtsfCt9LPxd/d1eHf2OHf2N/d1d7c1Nza0tXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbTytbTytbTytfUy9fUy9jVzNjVzNjWzdjWzdnXz9nX
+        z9nXz9rY0NrY0NvZ0dvZ0dza0tza0tza0tza0t3b093b09za0t/d1eTi2+zq5e7s6Ozq5efl4Ofl4Obk
+        3ufl4Ofl4Obk3ubk3ubk3uXj3OXj3OTi2+Ti2+Ti2+Ti2+Ph2uPh2uLg2eDe193b09za0tza0tvZ0djW
+        zdbSydPQxtDNwtPQxuHf2Ozr5/Du6u/t6fDu6vDu6u/t6e/t6ezr5+zq5ezr5+zr5+ro4+jm4efl4Ofl
+        4Ozq5enn4ufl4NrY0NTRyNvZ0dXRyLSuoLWwotPQxreypK2ml7Gqm7KrnLOtn7q2qrq2qrSuoMXAtdbT
+        ytrY0NnXz9nXz93b0+Hf2OTi2+Ti2+Hf2N7c1N3b09vZ0dvZ0drY0NvZ0drY0NLOw8rFusrHu8zJvs7L
+        wM/MwdLOw9LPxdPQxtTRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbS
+        ydbSytfTytfTy9fUy9jUzNjVzdnVzdnWztrWztvXz9vY0NzY0dzZ0d3a0t3a097b1N/c1d/c1uDd1uHe
+        1+He2OLf2ePg2uPh2+Th2+Ti3OXi3ebj3ubk3+fk3+fl4Ojm4enm4unn4+ro4+ro5Ovp5evq5ezq5u3r
+        5+3s6O7s6e/t6e/u6vDu6/Dv7PHw7fLw7vLx7vPy7/Tz8PTz8fX08vX18vb18/f29Pf39fj39vj49vn5
+        9/r5+Pr6+fv6+fv7+vz7+vz8+/38/P39/P39/f7+/f7+/v/+/v//////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /1P+/f3+/v39/f39/f3V0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0snW
+        0snW08rX1MvX1MvW08rW08rY1czc2tLZ18/b2dHh39jd29Pe3NTb2dHd29PZ18/Y1czZ18/Z18/Z18/Z
+        18/Y1s3T0Ma9ua3Iw7jBu6+tppfV0ci6tae7t6u3sqTAuq66tafGwbbT0MbSzsPSz8XT0MbSzsPSz8XP
+        zMHMyb7LyL3Myb7LyL3LyL3LyL3Myb7Nyr/Oy8DNyr/Myb7Nyr/Nyr/Myb7Nyr/Nyr/Oy8DOy8DPzMHP
+        zMHT0MbSz8XSz8XT0MbT0MbSz8XT0MbSz8XT0MbSzsPT0MbT0MbSz8XT0MbSzsPSzsPSz8XSzsPT0MbS
+        z8XSzsPSzsPSzsPSz8XSzsPSz8XSz8XSzsPSz8XSzsPSz8XSz8XSz8XSz8XSzsPSz8XT0MbT0MbT0MbT
+        0MbT0MbT0MbSz8XT0MbT0MbT0MbT0MbT0MbT0MbU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjT0MbT
+        0MbT0MbSz8XT0MbSzsPQzcLQzcLPzMHOy8DPzMHY1czm5N7w7urx7+vq6OPh39jb2dHX1MvSz8XSz8XQ
+        zcLT0Mba2NDj4drw7ur09PHy8e7m5N7T0MbEv7S+ua2+ua3Auq7Auq7Auq7CvLDCvLDCvLDAuq7Auq7C
+        vLDCvLDDvbHDvrPDvbHCvLDAuq7DvrPJxLnGwbbDvrPCvLDDvbHDvbHDvrPDvrPFwLXGwbbHwrfIw7jI
+        w7jJxLnKxbrKxbrJxLnIw7jFwLXFwLXDvrPDvrPDvrPCvLDCvLDAuq7Auq7Auq7CvLDCvLDCvLDAuq7A
+        uq7CvLDFwLXMyb7V0cjg3tfq6OPx7+v09PH09PHw7uro5uHd29PQzcLGwbbGwbbHwrfIw7jHwrfLyL3a
+        2NDi4Nnh39jf3dXf3dXc2tLV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW08rW
+        08rX1MvX1MvY1czY1czY1czY1s3Y1s3Z18/Z18/Z18/a2NDa2NDb2dHb2dHc2tLc2tLc2tLb2dHc2tLd
+        29Pe3NTe3NTf3dXi4Nnq6OPx7+vu7Ojo5uHn5eDn5eDn5eDn5eDm5N7m5N7l49zl5N7l5N7l49zl49zl
+        49zj4drj4drj4dri4Nnf3dXe3NTd29Pb2dHa2NDY1s3Y1s3Y1czT0MbNyr/e3NTv7enw7urx7+vw7urs
+        6+fs6+fv7enu7Ojs6uXs6+fw7uru7Ojo5uHl49zMyb7PzMHk4tvPzMGxqpu5tKbOy8C3sqSspZbIw7jG
+        wbayrJ6po5SwqZqxqpuwqZq3sqTAuq60r6G6tqrIw7jU0cjZ18/Z18/b2dHg3tfj4drj4drh39jd29Pc
+        2tLb2dHc2tLb2dHV0cjJxLnKxbrLyL3Nyr/Oy8DQzcLSzsPSz8XT0MbU0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0srX08rX08vX1MvY1MzY1c3Z1c3Z1s7a1s7b18/b
+        2NDc2NHc2dHd2tLd2tPe29Tf3NXf3Nbg3dbh3tfh3tji39nj4Nrj4dvk4dvk4tzl4t3m497m5N/n5N/n
+        5eDo5uHp5uLp5+Pq6OPq6OTr6eXr6uXs6ubt6+ft7Oju7Onv7env7urw7uvw7+zx8O3y8O7y8e7z8u/0
+        8/D08/H19PL19fL29fP39vT39/X49/b4+Pb5+ff6+fj6+vn7+vn7+/r8+/r8/Pv9/Pz9/fz9/f3+/v3+
+        /v7//v7/////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////9T/v79/v79/v39/f391dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLJ1tLJ1tPK1tPK19TL19TL19TL2dfP2NbN29nR393V
+        2dfP2dfP2dfP2dfP1tLJ1NHI1tLJ1tPK1tLJ1tLJ1tPK1tLJysW6uraqtK6gvrmt09DGw72xwrywyse7
+        zsvAzsvA0s/F0M3Czcq/zsvAzcq/y8i9zMm+y8i9y8i9y8i9zMm+zMm+zcq/zsvAzcq/zMm+zMm+zMm+
+        zMm+zMm+zMm+zsvAzMm+zsvA0M3C0s7D09DG0s/F09DG0s/F0s7D0s/F0s/F0s/F09DG0s/F0s/F0s7D
+        09DG09DG0s/F1NHI0s/F0s/F09DG0s7D0s/F0s/F0s/F0s/F0s7D0s/F0s7D0s/F09DG09DG09DG0s7D
+        0s/F09DG09DG0s/F0s/F0s/F09DG09DG09DG09DG09DG09DG09DG09DG1NHI1NHI1NHI1NHI1NHI1NHI
+        1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI09DG09DG09DG0s/F0s/F0s7D0s7Dz8zBz8zB0s7D09DG
+        19TL3tzU5+Xg8e/r8/Pw9vbz9vf29vbz9vf29/f2+vn4+/r58/Pw6efi3dvTyse7w72xvrmtvrmtwLqu
+        wLquwLquwLquwrywwrywwrywwLquwLquwLquwrywwryww76zw76zw76zw72xwrywwrywyMO4zMm+yMO4
+        w76zw72xw76zxL+0yMO4ycS5ycS5ycS5ysW6yse7zMm+yse7ysW6ycS5yMO4yMO4xcC1xL+0w76zw76z
+        w72xwrywwLquwLquwLquwLquwLquwLquw76zycS50s7D3NrS5ePc6ujj8vLv9vf2+vn4/Pz7/Pv6/Pv6
+        +/r5+/r58vLv4uDZzsvAx8K3yMO4yMO4yMO4z8zB3tzU4d/Y4N7X393V3dvT1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tPK1tPK19TL19TL2NXM2NXM2NbN2NbN2dfP2dfP2dfP2tjQ
+        2tjQ2tjQ29nR29nR3NrS3NrS3NrS3NrS3dvT3dvT3dvT3dvT3dvT393V4d/Y6efi8vDs8O7q6efi6Obh
+        6Obh6Obh5uTe5uTe5uTe5uTe5uTe5eTe5ePc5ePc5OLb4+Ha4+Ha4uDZ4uDZ393V3tzU3dvT29nR2dfP
+        29nR2dfP0s7Duraqt7Kk1tLJ8vHu8O7q8O7q8O7q7Ovn7Orl7+3p7+3p4uDZz8zBwLquu7er0s7DwLqu
+        rqeYwryw3tzUzMm+rqeYtrGjzMm+squcrKWWubSmxcC1wrywubSmtbCiuLOlxsG22tjQy8i9xL+0w76z
+        zcq/2NbN29nR2dfP29nR393V4uDZ4+Ha4N7X3dvT3dvT3dvT1tPKycS5yMO4yse7y8i9zcq/zsvA0M3C
+        0s7D0s/F09DG1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLK
+        19PK19PL19TL2NTM2NXN2dXN2dbO2tbO29fP29jQ3NjR3NnR3drS3drT3tvU39zV39zW4N3W4d7X4d7Y
+        4t/Z4+Da4+Hb5OHb5OLc5eLd5uPe5uTf5+Tf5+Xg6Obh6ebi6efj6ujj6ujk6+nl6+rl7Orm7evn7ezo
+        7uzp7+3p7+7q8O7r8O/s8fDt8vDu8vHu8/Lv9PPw9PPx9fTy9fXy9vXz9/b09/f1+Pf2+Pj2+fn3+vn4
+        +vr5+/r5+/v6/Pv6/Pz7/fz8/f38/f39/v79/v7+//7+////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////U/79
+        /f39/f79/f39/dXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbS
+        ydbTytfUy9fUy9jVzNfUy9jWzdjVzNrY0N7c1NbTytbSydXRyNXRyNPQxtLOw9PQxtPQxtLPxdLPxdTR
+        yNXRyNbSycK8sJ+ZicrHu9PQxtLOw9LOw9LOw8zJvs7LwMzJvsvIvcvIvcvIvcvIvcvIvc3Kv83Kv83K
+        v8zJvszJvsvIvczJvszJvsvIvcvIvczJvszJvs3Kv9DNwtLOw9PQxtTRyNTRyNTRyNXRyNTRyNLPxdLO
+        w9LOw9DNwtLPxdPQxtPQxtTRyNLPxdPQxtPQxtLPxdPQxtLPxdPQxtLPxdPQxtTRyNLOw9LPxdLPxdLP
+        xdLPxdLPxdPQxtPQxtLPxdPQxtPQxtPQxtPQxtPQxtPQxtPQxtPQxtPQxtPQxtPQxtTRyNPQxtPQxtTR
+        yNPQxtPQxtTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNPQxtPQ
+        xtPQxtPQxtLPxdLOw9LPxdLOw9LPxdTRyNbSydbTytfUy9fUy9nXz93b0+Hf2Ofl4Onn4uro4+Xk3t7c
+        1NXRyMrFusO+s765rb65rb65rcC6rsC6rsC6rsC6rsC6rsC6rsK8sMK8sMC6rsK8sMK8sMC6rsC6rr65
+        rcK8sMO+s8O+s8C6rr65rb65rcC6rsnEuczJvsfCt8O+s8XAtcnEucrHu8rHu8zJvs3Kv8/Mwc/Mwc/M
+        wc3Kv8zJvsrFusnEucjDuMjDuMXAtcS/tMO+s8O9scK8sMK8sMC6rsC6rsC6rsO+s8rFutPQxtvZ0eLg
+        2efl4Oro4/Hv6/X18vf39vz7+vz8+/z7+vz7+vb39vb39vb39vb39uzq5dPQxsjDuMjDuMrFusrHu9LP
+        xdza0uDe19/d1d3b09XRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbTytbTytfU
+        y9fUy9jVzNjVzNjWzdjWzdnXz9nXz9nXz9rY0NrY0NvZ0dvZ0dza0tza0t3b093b093b097c1N3b09za
+        0t3b09za0t3b097c1OLg2ejm4fLx7vLw7Ozr5+jm4ejm4efl4Ofl4Ofl4Obk3ubk3ubk3uXk3uXj3OTi
+        2+Ti2+Ph2uPh2uLg2eDe197c1N3b09za0tvZ0dza0tnXz8jDuLOtn6afj7KsntjWzfLx7uzr5/Du6uzr
+        5+zr59jWzcO+s7WworWwosO+s9TRyN/d1eXk3sK8sK6nmLSvobq1p66nmK+omcvIvc7LwLKsnqafj765
+        rd7c1OTi293b097c1ODe193b097c1N7c1Nza0tnXz9jWzdjWzdjWzdjWzdrY0N7c1OLg2ePh2uDe1+De
+        19jWzcrHu8fCt8nEucrHu8vIvc3Kv87LwNDNwtLOw9LPxdPQxtXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbSytfTytfTy9fUy9jUzNjVzdnVzdnWztrWztvXz9vY0NzY
+        0dzZ0d3a0t3a097b1N/c1d/c1uDd1uHe1+He2OLf2ePg2uPh2+Th2+Ti3OXi3ebj3ubk3+fk3+fl4Ojm
+        4enm4unn4+ro4+ro5Ovp5evq5ezq5u3r5+3s6O7s6e/t6e/u6vDu6/Dv7PHw7fLw7vLx7vPy7/Tz8PTz
+        8fX08vX18vb18/f29Pf39fj39vj49vn59/r5+Pr6+fv6+fv7+vz7+vz8+/38/P39/P39/f7+/f7+/v/+
+        /v//////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////1P9/f39/f39/f39/f3V0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW08rW08rX1MvY1czY1czZ18/Y1czY1s3c2tLV0cjT
+        0MbSz8XT0MbPzMHMyb7PzMHSzsPSzsPSzsPSz8XSz8XT0MbOy8DEv7TSzsPNyr/Nyr/Myb7LyL3LyL3L
+        yL3Kx7vLyL3Nyr/Nyr/Nyr/PzMHLyL3Myb7LyL3LyL3LyL3LyL3LyL3Kx7vOy8DNyr/SzsPQzcLT0MbW
+        0snW0snV0cjW0snT0MbT0MbU0cjT0MbSz8XSz8XT0MbSzsPSz8XSz8XSz8XT0MbSz8XT0MbU0cjSz8XT
+        0MbSz8XT0MbT0MbT0MbU0cjSz8XSz8XSz8XSz8XT0MbT0MbT0MbT0MbT0MbT0MbT0MbT0MbT0MbU0cjT
+        0MbT0MbU0cjT0MbU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU
+        0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjV0cjT0MbT0MbT0MbT0MbT0MbU0cjW0snW08rX1MvY1czY
+        1s3X1MvSz8XJxLnHwrfGwbbFwLXEv7TCvLDAuq7Auq6+ua2+ua2+ua3Auq7Auq7Auq7Auq7Auq7Auq7A
+        uq7Auq7CvLDCvLDAuq6+ua2+ua2+ua3CvLDDvrPIw7jNyr/QzcLQzcLQzcLKx7vFwLXDvrPIw7jJxLnH
+        wrfJxLnMyb7Oy8DQzcLSzsPT0MbT0MbT0MbT0MbSzsPQzcLNyr/Kx7vKxbrIw7jFwLXEv7TDvrPCvLDA
+        uq7Auq6+ua3CvLDHwrfQzcLY1cze3NTk4tvl5N7q6OPv7enx7+vy8u/19fL19fL19fL29vP39/b7+vn7
+        +vn29/b09PHy8u/n5eDU0cjIw7jJxLnKx7vLyL3PzMHY1czd29Pd29PV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjW0snW0snW08rW08rX1MvX1MvY1czY1czY1s3Y1s3Z18/Z18/Z18/a2NDa2NDb
+        2dHb2dHb2dHc2tLd29Pd29Pd29Pe3NTe3NTe3NTe3NTd29Pd29Pf3dXh39jh39jo5uHy8Ozy8u/s6+fo
+        5uHo5uHo5uHo5uHm5N7m5N7l5N7l49zl49zl49zk4tvj4drj4dri4Nni4Nng3tfe3NTe3NTf3dXe3NTS
+        zsO4s6Wup5ispZaoopO2saPa2NDy8Ozv7ens6uXv7enNyr+xqpuyrJ7Myb7X1MvCvLC3sqTLyL3m5N7K
+        x7u3sqTBu6/PzMHY1czm5N7m5N7e3NTIw7jPzMHf3dXj4drh39jg3tff3dXc2tLd29Pb2dHa2NDa2NDa
+        2NDY1s3Y1s3Y1s3Y1s3a2NDd29Ph39jk4tvb2dHNyr/FwLXIw7jJxLnKx7vLyL3Nyr/Oy8DQzcLSzsPS
+        z8XT0MbV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0srX08rX
+        08vX1MvY1MzY1c3Z1c3Z1s7a1s7b18/b2NDc2NHc2dHd2tLd2tPe29Tf3NXf3Nbg3dbh3tfh3tji39nj
+        4Nrj4dvk4dvk4tzl4t3m497m5N/n5N/n5eDo5uHp5uLp5+Pq6OPq6OTr6eXr6uXs6ubt6+ft7Oju7Onv
+        7env7urw7uvw7+zx8O3y8O7y8e7z8u/08/D08/H19PL19fL29fP39vT39/X49/b4+Pb5+ff6+fj6+vn7
+        +vn7+/r8+/r8/Pv9/Pz9/fz9/f3+/v3+/v7//v7/////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////9T/f39/f39
+        /f38/f391dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tPK
+        1tPK1tPK2NXM2NXM2dfP2NXM2tjQ3NrS09DG0s7D0s7D0M3CzMm+ysW6yse7zMm+zsvAz8zB0M3Cz8zB
+        0s/F0M3Cz8zBy8i9yse7yse7ysW6ysW6zMm+y8i9zMm+zcq/zcq/zcq/zcq/zcq/y8i9zMm+zMm+zMm+
+        zcq/z8zB0M3C0s/F1tLJ1NHI1dHI1dHI09DG1NHI09DG09DG09DG09DG09DG09DG0s/F09DG09DG0s/F
+        0s/F0s/F0s/F0s7D09DG0s/F09DG09DG09DG09DG0s/F09DG09DG09DG09DG09DG09DG09DG09DG1NHI
+        1NHI1NHI09DG1NHI1NHI1NHI09DG09DG09DG09DG1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI
+        1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI
+        1NHI1NHI1NHI1NHI1dHI1tLJ1tPK19TL19TL19TL1dHIzsvAycS5xsG2xL+0w76zw72xwbuvwrywwbuv
+        wbuvwLquwLquwLquwLquwLquwLquwLquwLquwLquwLquwLquvrmtvrmtw76zyMO4z8zB2NbN5OLb7uzo
+        8e/r8vDs9fXy9fXy8O7q5+Xg3tzU1NHIzcq/yse7zcq/0M3C09DG1dHI19TL2NXM2NXM2NXM19TL1dHI
+        09DG0s7DzsvAyse7yMO4xcC1w76zw72xwLquvrmtvrmtw76zysW609DG2NXM3dvT4d/Y5OLb5+Xg6ujj
+        5uTe5OLb3tzU3tzU4N7X5OLb5OLb5ePc6efi8vLv9vf28/Pw8e/r6efi4N7XzsvAycS5y8i9zcq/zcq/
+        z8zB09DG19TL1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tPK1tPK1tPK19TL19TL
+        2NXM2NXM2NbN2NbN2dfP2dfP2dfP2tjQ2tjQ29nR29nR3NrS3NrS3dvT3dvT3dvT3tzU3tzU3tzU3tzU
+        393V393V393V3tzU393V4d/Y5+Xg8vDs8/Pw7uzo6Obh6Obh5+Xg5+Xg5+Xg5+Xg5eTe5ePc5ePc5ePc
+        5OLb4+Ha4uDZ4d/Y4N7X393V4uDZ4d/Y19TLvrmtsaqbrqeYrqeYrqeYq6SVtbCi3NrS8e/r7uzo7Ovn
+        8O7q0s7Ds62fsaqbtK6gu7ery8i91NHIycS50s7D5ePc7Ovn6efi6Obh5uTe5uTe5ePc6Obh5eTe4+Ha
+        4d/Y4N7X393V3dvT2tjQ2tjQ2tjQ2tjQ2dfP2dfP2NbN2NbN2NbN2NbN2dfP2tjQ4d/Y4d/Y0s7DxL+0
+        xsG2yMO4ycS5yse7zMm+zcq/zsvA0M3C0s7D0s/F1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLK19PK19PL19TL2NTM2NXN2dXN2dbO2tbO29fP29jQ3NjR3NnR
+        3drS3drT3tvU39zV39zW4N3W4d7X4d7Y4t/Z4+Da4+Hb5OHb5OLc5eLd5uPe5uTf5+Tf5+Xg6Obh6ebi
+        6efj6ujj6ujk6+nl6+rl7Orm7evn7ezo7uzp7+3p7+7q8O7r8O/s8fDt8vDu8vHu8/Lv9PPw9PPx9fTy
+        9fXy9vXz9/b09/f1+Pf2+Pj2+fn3+vn4+vr5+/r5+/v6/Pv6/Pz7/fz8/f38/f39/v79/v7+//7+////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////U/39/P39/f39/f39/dXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbSydbTytbTytfUy9jWzdjWzdjVzNvZ0dvZ0dLOw9DNws/M
+        wc3Kv8zJvsjDuMjDuMrFusrHu8rHu8vIvcvIvcvIvczJvsvIvcvIvcvIvcvIvcrHu8vIvcrHu8zJvsvI
+        vczJvszJvszJvszJvszJvs7LwNDNwtPQxtPQxtXRyNXRyNTRyNPQxtbSydPQxtTRyNTRyNPQxtPQxtPQ
+        xtLPxdPQxtTRyNTRyNTRyNPQxtTRyNTRyNPQxtLPxdPQxtLPxdLPxdPQxtPQxtTRyNTRyNPQxtPQxtPQ
+        xtTRyNPQxtPQxtTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNPQxtTRyNTRyNTRyNTRyNTRyNTRyNTRyNTR
+        yNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTR
+        yNTRyNTRyNTRyNTRyNXRyNXRyNTRyNXRyNXRyNXRyNTRyNXRyNXRyNXRyNbSydbSydbTytbTytXRyNLO
+        w8zJvsnEucjDuMbBtsXAtcO+s8O9scK8sMG7r8G7r8G7r8C6rsC6rsC6rsC6rsC6rsC6rsC6rsC6rsC6
+        rr65rcO+s83Kv9vZ0ejm4fHv6/T08fLy7/Hv6+7s6Oro4+ro4+7s6PHv6/Ly7/X18vT08efl4NjWzdLO
+        w9PQxtfUy9jVzNjWzdvZ0dvZ0dnXz9jWzdjWzdjVzNXRyNLOw83Kv8jDuMXAtcO+s8K8sMC6rsC6rsO+
+        s8zJvtPQxtjVzNza0t7c1OHf2OTi297c1NfUy9DNws/Mwc7LwM3Kv87LwNLOw9TRyNbTytXRyNjVzOjm
+        4fLw7Oro4+fl4OHf2NfUy8rHu8rHu83Kv87LwM/MwdDNwtLOw9XRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNbSydbTytbTytfUy9fUy9fUy9jVzNjVzNjWzdjWzdnXz9nXz9rY0NrY0NvZ0dza0tvZ
+        0dza0tza0tza0t3b093b097c1N7c1N7c1N/d1d/d1d/d1d/d1d7c1N7c1N7c1ODe1+fl4PDu6vPz8PDu
+        6unn4ujm4ejm4efl4Ofl4Ofl4Obk3ubk3ubk3uXj3OTi2+Ph2uLg2eLg2eLg2ePh2tvZ0cS/tLKsnq6n
+        mK+ombCpmrCpmq6nmK2ml7eypNza0u7s6Ozr5+zr5/Du6tPQxrKsnrSuoMO+s7u3q7WworeypMvIvePh
+        2uro4+bk3ubk3ubk3uXj3OTi2+Ti2+Lg2eHf2OHf2ODe19/d1d/d1d/d1d/d1d/d1d7c1N7c1N3b093b
+        09za0tvZ0dvZ0drY0Nza0tjWzczJvsS/tMS/tMfCt8jDuMnEucrHu8zJvs3Kv87LwNDNwtLOw9PQxtTR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbSytfTytfTy9fU
+        y9jUzNjVzdnVzdnWztrWztvXz9vY0NzY0dzZ0d3a0t3a097b1N/c1d/c1uDd1uHe1+He2OLf2ePg2uPh
+        2+Th2+Ti3OXi3ebj3ubk3+fk3+fl4Ojm4enm4unn4+ro4+ro5Ovp5evq5ezq5u3r5+3s6O7s6e/t6e/u
+        6vDu6/Dv7PHw7fLw7vLx7vPy7/Tz8PTz8fX08vX18vb18/f29Pf39fj39vj49vn59/r5+Pr6+fv6+fv7
+        +vz7+vz8+/38/P39/P39/f7+/f7+/v/+/v//////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////////////////////1P9/fz9/f39/f39
+        /f3V0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0snW08rW
+        08rX1MvY1s3Y1czY1cza2NDa2NDOy8DNyr/Oy8DMyb7LyL3Iw7jIw7jIw7jIw7jIw7jKx7vKx7vLyL3L
+        yL3Oy8DMyb7Nyr/LyL3LyL3Kx7vKx7vMyb7Kx7vMyb7PzMHPzMHQzcLSz8XU0cjU0cjU0cjT0MbT0MbT
+        0MbT0MbT0MbT0MbU0cjV0cjT0MbT0MbU0cjU0cjSz8XT0MbSz8XT0MbT0MbT0MbU0cjU0cjU0cjSz8XT
+        0MbT0MbT0MbT0MbT0MbU0cjU0cjT0MbT0MbT0MbU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU
+        0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU
+        0cjU0cjU0cjU0cjV0cjV0cjU0cjV0cjV0cjV0cjU0cjU0cjU0cjU0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjW0snW0snW0snV0cjSz8XPzMHMyb7Kx7vIw7jHwrfFwLXEv7TDvbHDvbHCvLDBu6/B
+        u6/Auq7Auq7Auq7Auq7Auq7Auq7Auq6+ua3DvrPPzMHd29Ps6uXy8Ozv7enn5eDg3tfY1s3W08rY1czY
+        1czZ18/k4tvk4tvk4tvn5eDy8u/29vPx7+ve3NTV0cjX1MvY1s3b2dHc2tLd29Pd29Pc2tLc2tLZ18/Y
+        1czT0MbOy8DJxLnEv7TDvbHAuq7Auq7GwbbNyr/T0MbY1czY1s3b2dHe3NTZ18/SzsPKx7vKxbrMyb7N
+        yr/Oy8DMyb7KxbrJxLnIw7jIw7jKx7vLyL3Y1czq6OPo5uHl49zh39ja2NDPzMHLyL3Nyr/PzMHQzcLS
+        zsPT0MbV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW08rW08rX1MvX1MvY1czY1czY
+        1czY1s3Z18/Z18/a2NDa2NDa2NDb2dHc2tLc2tLc2tLc2tLd29Pd29Pe3NTe3NTe3NTf3dXf3dXf3dXf
+        3dXf3dXg3tfe3NTe3NTe3NTg3tfl49zu7Ojz8/Dy8Ozs6uXo5uHo5uHn5eDn5eDn5eDm5N7m5N7l49zl
+        49zk4tvj4drl49zl5N7g3tfLyL20r6GvqJmvqJmxqpuxqpuwqZqwqZqwqZqwqZq3sqTd29Pu7Ojs6+fv
+        7env7enW0sm3sqS9ua3Myb7c2tLq6OPu7Ojo5uHn5eDn5eDm5N7l49zk4tvj4drj4drl49zm5N7m5N7j
+        4dre3NTX1MvT0MbPzMHKx7vIw7jEv7TDvbHCvLDCvLDDvbHDvbHDvbHDvrPCvLDCvLDEv7TFwLXHwrfI
+        w7jJxLnKx7vMyb7Nyr/PzMHQzcLSz8XT0MbU0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjW0snW0snW0srX08rX08vX1MvY1MzY1c3Z1c3Z1s7a1s7b18/b2NDc2NHc2dHd2tLd
+        2tPe29Tf3NXf3Nbg3dbh3tfh3tji39nj4Nrj4dvk4dvk4tzl4t3m497m5N/n5N/n5eDo5uHp5uLp5+Pq
+        6OPq6OTr6eXr6uXs6ubt6+ft7Oju7Onv7env7urw7uvw7+zx8O3y8O7y8e7z8u/08/D08/H19PL19fL2
+        9fP39vT39/X49/b4+Pb5+ff6+fj6+vn7+vn7+/r8+/r8/Pv9/Pz9/fz9/f3+/v3+/v7//v7/////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////9T/f38/f38/f38/f391dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tPK1tPK19TL19TL2NbN19TL2NXM2NbNzsvAzMm+zcq/zcq/
+        yse7yMO4yMO4ysW6yse7y8i9zcq/zcq/y8i9zMm+zMm+zMm+ysW6y8i9y8i9y8i9zsvA0s7D09DG1dHI
+        19TL1tLJ1tLJ09DG1NHI1NHI1NHI09DG09DG09DG09DG09DG09DG1NHI09DG09DG1NHI09DG09DG09DG
+        09DG09DG09DG09DG09DG1NHI1NHI09DG09DG09DG09DG09DG1NHI1NHI1NHI09DG09DG1NHI1NHI1NHI
+        1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI
+        1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1NHI0s/F0s7Dz8zBzcq/
+        y8i9ysW6yMO4xsG2xL+0w76zw72xwrywwbuvwbuvwLquwLquwLquwLquwLquvrmtvrmtyMO42NXM6efi
+        8O7q7Ovn4uDZ19TL0s7DzMm+ycS5x8K3xsG2x8K3ycS509DG5ePc5uTe4N7X4N7X7+3p9PTx7Ovn3tzU
+        2NXM2dfP3NrS3dvT3tzU3tzU3tzU3tzU3NrS2NbN1tPKz8zByMO4w76zwLquwLquyMO40M3C1NHI19TL
+        2NXM2NbN2dfP1tPKyse7yMO4ysW6zcq/zsvA0M3C0M3Cz8zBzsvAzcq/ysW6xsG2xsG2yMO40s7D5OLb
+        5eTe5OLb4N7X29nR0s/FzMm+zsvA0M3C0s7D09DG1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1tLJ1tPK1tPK19TL19TL2NXM2NXM2NXM2NbN2NbN2dfP2dfP2tjQ2tjQ29nR3NrS3NrS3NrS
+        3NrS3dvT3tzU3tzU3tzU393V3tzU393V393V4N7X4N7X4N7X393V3tzU3tzU3tzU4N7X5OLb7Orl8vLv
+        8e/r7Orl6Obh6Obh5+Xg5+Xg5uTe5uTe5ePc5ePc5OLb5eTe6Obh5OLb09DGt7KkrqeYr6iZsqucsqye
+        sqyesqyesqucsqucsqyesqyevLis393V7Ovn8O7q7+3p7Ovn7+3p7Ovn8O7q7Ovn6Obh6Obh6Obh5+Xg
+        6Obh6Obh6Obh6efi6efi5OLb2dfPyse7wLquuLOls62fsqucsaqbsaqbsqyesqyetK6gtbCit7Kkt7Kk
+        urWnu7ervbmtvrmtwbuvw72xw76zxcC1x8K3yMO4ycS5yse7zMm+zcq/z8zB0M3C0s/F09DG1NHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLK19PK19PL19TL2NTM
+        2NXN2dXN2dbO2tbO29fP29jQ3NjR3NnR3drS3drT3tvU39zV39zW4N3W4d7X4d7Y4t/Z4+Da4+Hb5OHb
+        5OLc5eLd5uPe5uTf5+Tf5+Xg6Obh6ebi6efj6ujj6ujk6+nl6+rl7Orm7evn7ezo7uzp7+3p7+7q8O7r
+        8O/s8fDt8vDu8vHu8/Lv9PPw9PPx9fTy9fXy9vXz9/b09/f1+Pf2+Pj2+fn3+vn4+vr5+/r5+/v6/Pv6
+        /Pz7/fz8/f38/f39/v79/v7+//7+////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////U/39/P39/P39/f39/dXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbSydbSydbTytfU
+        y9bTytfUy9fUy9jVzNfUy83Kv83Kv8zJvsvIvczJvsrHu8vIvczJvszJvszJvszJvs3Kv8zJvsvIvczJ
+        vs/MwdDNwtLPxdTRyNbSydbSydXRyNbSydbSydXRyNTRyNTRyNTRyNTRyNTRyNPQxtPQxtLPxdPQxtPQ
+        xtPQxtTRyNPQxtLPxdPQxtPQxtTRyNLPxdPQxtPQxtPQxtTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTR
+        yNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTR
+        yNXRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNXRyNXRyNTRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNTRyNTRyNPQxtLPxdLOw9DNws7LwMzJvsrHu8jDuMfCt8XAtcXAtcS/tMO+s8K8sMG7r8C6
+        rsC6rsC6rsC6rr65rcC6rszJvt/d1e7s6O7s6OHf2NTRyMzJvsnEucjDuMfCt8bBtsXAtcS/tMO+s8O+
+        s8O9scXAtdbTyuTi29jVzNnXz+7s6PHv6+fl4Nza0tjWzd3b097c1N7c1N7c1N7c1N7c1N3b09nXz9fU
+        y9DNwsjDuMO+s765rcfCt9LOw9bTytjVzNjWzdjWzdjWzdPQxsrFuszJvs/MwdDNwtLOw9LOw9LOw9LO
+        w9PQxtLOw83Kv8nEucjDuMfCt8jDuNLOw+Hf2OHf2ODe197c1NvZ0dPQxs7LwNDNwtLPxdPQxtTRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbTytbTytfUy9fUy9jVzNjVzNjVzNjW
+        zdjWzdnXz9rY0NrY0NrY0NvZ0dza0tza0t3b09za0tza0t3b097c1N/d1eDe197c1N/d1d/d1eDe1+De
+        1+Hf2OHf2N/d1d/d1d/d1d/d1d/d1ePh2ujm4fLw7PLy7+7s6Ojm4ejm4ejm4efl4Obk3uXj3OXj3Obk
+        3ujm4ejm4djWzb25ra6nmK6nmLGqm7KsnrKsnrKsnrKsnrKsnrKsnrSvobaxo7WwosC6rt/d1fDu6u7s
+        6Ozq5ezr5+jm4efl4Ojm4ejm4ejm4ezq5e/t6e7s6OPh2tXRyMbBtrizpbGqm66nmKmjlKmjlKyllq2m
+        l6+ombGqm7KsnrOtn7Svobaxo7eypLizpbq1p7q2qry4rL65rcC6rsG7r8O9scO+s8XAtcfCt8jDuMnE
+        ucrHu8zJvs3Kv8/MwdLOw9LPxdTRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNbSydbSydbSytfTytfTy9fUy9jUzNjVzdnVzdnWztrWztvXz9vY0NzY0dzZ0d3a0t3a097b
+        1N/c1d/c1uDd1uHe1+He2OLf2ePg2uPh2+Th2+Ti3OXi3ebj3ubk3+fk3+fl4Ojm4enm4unn4+ro4+ro
+        5Ovp5evq5ezq5u3r5+3s6O7s6e/t6e/u6vDu6/Dv7PHw7fLw7vLx7vPy7/Tz8PTz8fX08vX18vb18/f2
+        9Pf39fj39vj49vn59/r5+Pr6+fv6+fv7+vz7+vz8+/38/P39/P39/f7+/f7+/v/+/v//////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////1P9/fz9/fz9/fz9/f3V0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW08rX1MvW0snW0snX1MvW08rW0snNyr/Myb7Myb7JxLnKx7vL
+        yL3Kx7vKx7vLyL3Myb7Nyr/PzMHT0MbT0MbU0cjW0snW0snW0snY1czY1czV0cjV0cjU0cjV0cjU0cjT
+        0MbU0cjU0cjU0cjT0MbT0MbT0MbT0MbSzsPT0MbU0cjU0cjSz8XSz8XU0cjT0MbU0cjT0MbT0MbU0cjU
+        0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU
+        0cjU0cjU0cjV0cjV0cjU0cjU0cjU0cjV0cjV0cjU0cjV0cjU0cjV0cjV0cjV0cjV0cjV0cjV0cjU0cjU
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjU0cjU0cjU0cjT0MbSz8XSzsPPzMHNyr/L
+        yL3JxLnIw7jHwrfGwbbEv7TDvbHCvLDBu6/Bu6/Auq7Auq6+ua3DvrPSzsPj4dru7Ojm5N7W08rLyL3I
+        w7jGwbbGwbbIw7jIw7jIw7jIw7jHwrfFwLXFwLXFwLXDvrPDvbHNyr/T0MbSzsPh39jx7+vv7enk4tvY
+        1s3c2tLd29Pe3NTe3NTe3NTe3NTc2tLY1s3X1MvQzcLIw7jCvLDFwLXSzsPX1MvY1s3Y1s3b2dHc2tLU
+        0cjKxbrNyr/T0MbV0cjW08rW08rW08rU0cjT0MbSzsPPzMHMyb7KxbrKx7vJxLnJxLnV0cjh39jg3tff
+        3dXe3NTa2NDU0cjQzcLSz8XT0MbU0cjV0cjW0snV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjW0snW0snW08rX1MvX1MvY1czY1czY1czY1s3Z18/a2NDa2NDa2NDb2dHc2tLd29Pc2tLe3NTd29Pc
+        2tLd29Pe3NTf3dXf3dXe3NTf3dXf3dXh39jg3tfh39jg3tfg3tfh39jh39jh39jf3dXf3dXi4Nnn5eDx
+        7+vy8u/u7Ojo5uHo5uHo5uHn5eDm5N7n5eDo5uHq6OPe3NTDvrOvqJmup5ixqpuyrJ6yrJ6yrJ6yrJ6y
+        rJ6yrJ60r6G3sqS4s6W6tqq3sqTBu6/Z18/u7Ojw7urw7urv7env7enw7urw7urs6+fi4NnPzMG6tqqv
+        qJmpo5SnoZKnoZKoopOoopOpo5SspZaup5iup5iwqZqxqpuyrJ6yrJ60r6G1sKK3sqS4s6W6tae6tqq8
+        uKy9ua2+ua3Bu6/DvbHDvrPFwLXHwrfIw7jJxLnKx7vMyb7Nyr/PzMHSzsPSz8XU0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0srX08rX08vX1MvY1MzY1c3Z
+        1c3Z1s7a1s7b18/b2NDc2NHc2dHd2tLd2tPe29Tf3NXf3Nbg3dbh3tfh3tji39nj4Nrj4dvk4dvk4tzl
+        4t3m497m5N/n5N/n5eDo5uHp5uLp5+Pq6OPq6OTr6eXr6uXs6ubt6+ft7Oju7Onv7env7urw7uvw7+zx
+        8O3y8O7y8e7z8u/08/D08/H19PL19fL29fP39vT39/X49/b4+Pb5+ff6+fj6+vn7+vn7+/r8+/r8/Pv9
+        /Pz9/fz9/f3+/v3+/v7//v7/////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////9T/f38/f38/f39/f391dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLJ1tPK1tLJ
+        1dHI19TL2NXM1tLJzcq/yse7zMm+yse7yse7zcq/zsvA0M3C09DG1NHI1NHI19TL1tLJ1tLJ1tLJ1dHI
+        1NHI1NHI1tLJ1tLJ1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI09DG09DG1NHI09DG0s/F0s/F1NHI
+        1NHI09DG09DG1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI
+        1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1dHI1dHI1NHI1NHI1NHI1dHI1NHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1NHI1NHI09DG09DG0s7D0M3CzsvAzMm+ysW6ycS5yMO4yMO4xcC1w72xwrywwbuvwbuvwLqu
+        vrmtw76z1NHI5uTe7Ovn393Vzcq/x8K3xcC1xcC1xL+0xsG2yMO4yMO4yMO4x8K3x8K3yMO4yMO4xsG2
+        xL+0w76zxL+0zcq/zcq/2NbN8e/r8e/r6efi2NbN2NbN3NrS3dvT3tzU3dvT3NrS2dfP2NXM1dHIz8zB
+        xsG2w76zz8zB2NXM2NbN2dfP3NrS3tzU19TLzMm+zcq/0s7D19TL2NbN2NbN2dfP29nR2NXM09DG0s7D
+        0s7D0s7Dz8zBzcq/yse7zsvA2NbN393V4N7X3tzU3dvT2tjQ1NHI0s/F09DG1NHI1tLJ1tLJ1tLJ1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tPK19TL19TL2NXM2NbN2NbN2NbN2dfP
+        2dfP2tjQ29nR2dfP2dfP2NbN2NbN3NrS3dvT393V393V3tzU393V4N7X4N7X4N7X4N7X4d/Y4d/Y4d/Y
+        4d/Y4N7X4d/Y4uDZ4d/Y4d/Y3tzU3tzU4N7X5uTe8O7q8/Pw8O7q6Obh5+Xg5+Xg5+Xg6Obh7Orl5eTe
+        y8i9sqyerqeYsKmasqucsqyesqyesqyesqyetK6gtK+htrGjt7Kku7ervbmtvbmtubSmubSmw76z09DG
+        3dvT3tzU3NrS1dHIx8K3uLOlsKmaqKKTp6GSqKKTqaOUq6SVq6SVqaOUq6SVrKWWraaXrqeYrqeYsKma
+        squcsqyes62ftK+htbCit7KkuLOlurWnuraqvbmtvrmtwLquwbuvw72xw76zxcC1x8K3yMO4ycS5yse7
+        y8i9zcq/0M3C0s7D09DG1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1tLJ1tLJ1tLK19PK19PL19TL2NTM2NXN2dXN2dbO2tbO29fP29jQ3NjR3NnR3drS3drT3tvU39zV
+        39zW4N3W4d7X4d7Y4t/Z4+Da4+Hb5OHb5OLc5eLd5uPe5uTf5+Tf5+Xg6Obh6ebi6efj6ujj6ujk6+nl
+        6+rl7Orm7evn7ezo7uzp7+3p7+7q8O7r8O/s8fDt8vDu8vHu8/Lv9PPw9PPx9fTy9fXy9vXz9/b09/f1
+        +Pf2+Pj2+fn3+vn4+vr5+/r5+/v6/Pv6/Pz7/fz8/f38/f39/v79/v7+//7+////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////U/39/P39/P39/f79/dXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNbSydbSydbSydXRyNXRyNXRyNfUy9PQxsvIvc3Kv83Kv8/MwdPQxtTRyNXR
+        yNbSydfUy9fUy9TRyNXRyNXRyNTRyNbSydTRyNTRyNTRyNTRyNTRyNPQxtTRyNTRyNTRyNTRyNPQxtPQ
+        xtTRyNTRyNTRyNTRyNTRyNTRyNPQxtPQxtPQxtPQxtPQxtTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTR
+        yNTRyNTRyNXRyNTRyNTRyNTRyNXRyNTRyNTRyNTRyNXRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNTRyNTRyNTRyNPQxtLPxdDNws7LwM3Kv8zJ
+        vsrHu8rFusjDuMXAtcO9scK8sMG7r8G7r765rcS/tNfUy+bk3unn4tvZ0cnEucS/tMS/tMXAtcXAtcbB
+        tsfCt8jDuMnEucnEucrFus3Kv9PQxtDNwsrHu8bBtsO+s8O+s8rHu83Kv9jVzO7s6PHv6+nn4tjVzNjV
+        zNjWzdvZ0dza0tnXz9jWzdjVzNbTytLOw8zJvsbBtsrHu9fUy9jWzdza0t3b097c1NjWzc/Mwc7LwNDN
+        wtPQxtjWzd7c1N7c1N7c1N7c1Nza0tjVzNfUy9fUy9XRyNPQxtDNwtDNwtfUy9za0t/d1d/d1d7c1N3b
+        09nXz9TRyNPQxtTRyNbSydbSydbSydbSydXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNbSydbTytfUy9fUy9jVzNjWzdjWzdnXz9nXz9nXz9jWzdXRyM7LwMrFusjDuMXAtcjDuMrFutbSyd3b
+        0+De19/d1d/d1d/d1eDe1+De1+Hf2OHf2OLg2eLg2eHf2OLg2eLg2eLg2eHf2N/d1d/d1d7c1ODe1+Xk
+        3u/t6fLx7vDu6ujm4efl4Ojm4ezq5ero49PQxraxo66nmLCpmrKrnLKsnrKsnrOtn7Otn7SuoLSvobax
+        o7izpbu3q765rcC6rr65rb25rbm0prWworSuoLOtn7KsnrGqm6+omayllquklayllqyllqyllqyllqyl
+        lquklauklauklayllq2ml66nmK6nmK+ombGqm7KrnLKsnrOtn7Svobaxo7eypLizpbq1p7u3q725rb65
+        rcC6rsG7r8O9scO+s8XAtcfCt8jDuMnEucrHu8zJvs7LwNDNwtLPxdPQxtXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbSydbSytfTytfTy9fUy9jUzNjVzdnVzdnW
+        ztrWztvXz9vY0NzY0dzZ0d3a0t3a097b1N/c1d/c1uDd1uHe1+He2OLf2ePg2uPh2+Th2+Ti3OXi3ebj
+        3ubk3+fk3+fl4Ojm4enm4unn4+ro4+ro5Ovp5evq5ezq5u3r5+3s6O7s6e/t6e/u6vDu6/Dv7PHw7fLw
+        7vLx7vPy7/Tz8PTz8fX08vX18vb18/f29Pf39fj39vj49vn59/r5+Pr6+fv6+fv7+vz7+vz8+/38/P39
+        /P39/f7+/f7+/v/+/v//////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////////////////////1P9/fz9/fz9/f39/f3V0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snV0cjV0cjV0cjW0snV
+        0cjV0cjT0MbSz8XU0cjU0cjW0snX1MvW0snW0snW0snW0snW0snU0cjU0cjV0cjU0cjV0cjV0cjV0cjU
+        0cjU0cjSz8XT0MbU0cjU0cjU0cjT0MbT0MbT0MbU0cjU0cjT0MbT0MbU0cjU0cjT0MbT0MbU0cjT0MbU
+        0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjV0cjV0cjV0cjV0cjU0cjV0cjU
+        0cjU0cjU0cjU0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjU0cjU0cjT0MbSz8XSzsPPzMHOy8DNyr/Myb7LyL3Iw7jFwLXDvbHCvLDCvLDAuq7DvrPX1Mvo
+        5uHs6+fc2tLJxLnGwbbGwbbHwrfHwrfIw7jIw7jIw7jKxbrNyr/QzcLU0cjY1czc2tLZ18/SzsPIw7jE
+        v7TDvrPKxbrPzMHY1s3q6OPu7Ojl5N7T0MbT0MbX1MvY1czY1czY1czX1MvW08rT0MbPzMHJxLnKxbrU
+        0cjY1s3c2tLe3NTe3NTe3NTT0MbPzMHSzsPT0MbW08rZ18/e3NTg3tfg3tfg3tfh39je3NTc2tLZ18/Y
+        1s3Y1czT0MbX1Mvc2tLe3NTg3tff3dXe3NTc2tLY1s3U0cjV0cjW0snW0snW0snW08rW0snV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjT0MbU0cjW0snW08rX1MvY1czY1czY1s3Z18/Z18/Y1s3P
+        zMHGwbbEv7TKxbrSzsPLyL3Bu6+8uKzDvbHX1Mvg3tfg3tff3dXf3dXh39jh39ji4Nni4Nni4Nni4Nni
+        4Nnj4dri4Nnh39jh39ji4Nnh39jf3dXe3NTf3dXj4drq6OPy8e7x7+vs6+fs6+fs6+fY1s26tqqup5iu
+        p5ixqpuyq5yyrJ6yrJ6zrZ+0rqC0r6G3sqS5tKa8uKzAuq7Bu6/Bu6/Auq6+ua28uKy6tqq3sqS0rqCx
+        qpuvqJmvqJmup5iup5iup5ispZaspZaspZaspZaspZarpJWrpJWspZaspZatppeup5iwqZqxqpuyrJ6y
+        rJ60rqC1sKK3sqS3sqS5tKa6tqq8uKy9ua2+ua3Auq7Bu6/DvbHEv7TFwLXHwrfIw7jJxLnKxbrMyb7O
+        y8DQzcLSz8XU0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW
+        0snW0snW0srX08rX08vX1MvY1MzY1c3Z1c3Z1s7a1s7b18/b2NDc2NHc2dHd2tLd2tPe29Tf3NXf3Nbg
+        3dbh3tfh3tji39nj4Nrj4dvk4dvk4tzl4t3m497m5N/n5N/n5eDo5uHp5uLp5+Pq6OPq6OTr6eXr6uXs
+        6ubt6+ft7Oju7Onv7env7urw7uvw7+zx8O3y8O7y8e7z8u/08/D08/H19PL19fL29fP39vT39/X49/b4
+        +Pb5+ff6+fj6+vn7+vn7+/r8+/r8/Pv9/Pz9/fz9/f3+/v3+/v7//v7/////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////9T/f38/f39/v39/v791dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1dHI1NHI1dHI1tLJ1tLJ1tLJ1NHI1tLJ1NHI1dHI1dHI
+        1dHI1dHI1dHI1NHI1NHI1NHI1NHI1NHI1NHI1dHI1NHI1NHI09DG1NHI1NHI1NHI09DG09DG1NHI1NHI
+        1NHI1NHI1NHI1NHI1NHI09DG1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1NHI1dHI1NHI1NHI1NHI
+        1dHI1dHI1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1NHI1NHI09DG09DG0s/F0M3C0M3Cz8zBzsvA
+        zMm+yMO4xcC1w72xwrywwLquxL+00s/F5uTe7Ovn3dvTycS5yMO4yMO4x8K3yMO4ycS5yse7yse7zMm+
+        0s7D19TL2dfP3tzU3tzU3tzU19TLzcq/ycS5yMO4x8K3yse7z8zB3NrS6ujj6ujj4d/YysW6yse70s7D
+        09DG09DG09DG0s7D0s7Dz8zBzMm+yMO4z8zB2NbN3NrS3tzU4N7X4uDZ2dfP0s7D09DG1tPK2NXM2NbN
+        2dfP3tzU4d/Y5OLb5OLb5ePc5OLb5OLb3tzU2NbN1tPK1tPK2NbN3tzU4N7X393V3tzU3dvT3NrS1tPK
+        1dHI1tLJ1tLJ1tLJ1tPK1tPK1tLJ1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI09DG0s7D
+        0s/F1tLJ19TL2NXM2NXM2NbN2NbN2dfP2NbNzsvAxsG2yse719TL29nR09DGw76zvLisvLisysW62NbN
+        4N7X393V3tzU4d/Y4N7X4uDZ4uDZ4uDZ4d/Y4d/Y4uDZ4d/Y4d/Y4d/Y4uDZ393V3tzU3tzU3tzU393V
+        5OLb7Orl8vHu8vDs8e/r393VvrmtrqeYrqeYsqucsqucsqyesqyes62ftK6gtK6gtrGjubSmvbmtwLqu
+        w76zxsG2w76zwrywwLquvbmtvLisubSmtrGjsqyer6iZsKmasKmarqeYraaXrKWWrKWWrKWWrKWWrKWW
+        q6SVq6SVrKWWraaXrqeYr6iZsaqbsqucsqyetK6gtK+htrGjt7KkuLOlurWnuraqvLisvbmtvrmtvrmt
+        wbuvw72xw76zxcC1xsG2yMO4ycS5ysW6zMm+z8zB0s7D0s/F1NHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI
+        1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1dHI1tLJ1tLJ1tLK19PK19PL19TL2NTM2NXN2dXN2dbO2tbO
+        29fP29jQ3NjR3NnR3drS3drT3tvU39zV39zW4N3W4d7X4d7Y4t/Z4+Da4+Hb5OHb5OLc5eLd5uPe5uTf
+        5+Tf5+Xg6Obh6ebi6efj6ujj6ujk6+nl6+rl7Orm7evn7ezo7uzp7+3p7+7q8O7r8O/s8fDt8vDu8vHu
+        8/Lv9PPw9PPx9fTy9fXy9vXz9/b09/f1+Pf2+Pj2+fn3+vn4+vr5+/r5+/v6/Pv6/Pz7/fz8/f38/f39
+        /v79/v7+//7+////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////U/38/P39/f79/f7+/dXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNTR
+        yNTRyNXRyNTRyNXRyNTRyNTRyNTRyNTRyNXRyNXRyNXRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTR
+        yNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTRyNTR
+        yNTRyNTRyNTRyNTRyNTRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNTRyNTRyNTRyNXRyNXRyNXRyNTRyNXRyNXRyNXR
+        yNTRyNTRyNTRyNPQxtLPxdLPxdDNwtDNws7LwMvIvcjDuMbBtsO+s8G7r8O9sdDNwuTi2+zq5ePh2s7L
+        wMnEucvIvcrFusnEucrFus3Kv9LOw9TRyNbSydvZ0d7c1ODe197c1NjVzNLOw83Kv83Kv83Kv8rFusrH
+        u83Kv9LOw+De1+nn4ufl4NjVzMK8sMS/tMnEuczJvszJvszJvszJvszJvszJvsnEucnEudbTyt7c1N7c
+        1OHf2OTi2+Ti29za0tjVzNza0tza0tza0t3b097c1ODe1+Ti2+Xj3Obk3ufl4Onn4ubk3uDe19jWzdjV
+        zNrY0Nza0uHf2ODe19/d1d7c1Nza0tnXz9bSydbSydbSydbSydbSydbTytbTytbSydXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNPQxtLOw9DNwtLOw9XRyNfUy9jVzNjVzNjWzdnXz9nXz9jVzNfU
+        y9jWzdvZ0djVzNLOw8rFusbBtr65rbu3q8S/tNXRyODe1+Lg2eHf2ODe1+Hf2OHf2OHf2ODe1+De1+De
+        19/d1eHf2OHf2OHf2N/d1d/d1d7c1N7c1N7c1N/d1eXj3Ozr5/Pz8Ozr58S/tK+oma6nmLCpmrKrnLKs
+        nrKsnrKsnrSuoLSvobWworizpb25rcG7r8O+s8jDuMjDuMfCt8O+s8K8sL65rb25rbu3q7eypLSuoLGq
+        m6+ombCpmq6nmK6nmK2ml62ml62ml6yllqyllqyllqyllq6nmK6nmK6nmLCpmrKrnLKsnrKsnrSuoLSv
+        obaxo7eypLizpbq1p7q1p7u3q725rb25rb65rcG7r8K8sMO+s8S/tMbBtsjDuMnEucrHu83Kv8/MwdLO
+        w9PQxtXRyNbSydXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXR
+        yNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNXRyNbSydbS
+        ydbSytfTytfTy9fUy9jUzNjVzdnVzdnWztrWztvXz9vY0NzY0dzZ0d3a0t3a097b1N/c1d/c1uDd1uHe
+        1+He2OLf2ePg2uPh2+Th2+Ti3OXi3ebj3ubk3+fk3+fl4Ojm4enm4unn4+ro4+ro5Ovp5evq5ezq5u3r
+        5+3s6O7s6e/t6e/u6vDu6/Dv7PHw7fLw7vLx7vPy7/Tz8PTz8fX08vX18vb18/f29Pf39fj39vj49vn5
+        9/r5+Pr6+fv6+fv7+vz7+vz8+/38/P39/P39/f7+/f7+/v/+/v//////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /1P9/fz9/f39/f3+/v7V0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjU0cjU0cjV0cjV0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU
+        0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU
+        0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjU0cjV0cjU0cjU0cjU0cjU0cjU0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjU0cjU0cjU
+        0cjU0cjU0cjU0cjU0cjV0cjU0cjV0cjV0cjV0cjV0cjU0cjT0MbSz8XT0MbSz8XQzcLQzcLMyb7JxLnI
+        w7jEv7TDvrPCvLDJxLni4Nns6uXp5+LW08rMyb7U0cjX1MvW0snSzsPSz8XX1Mva2NDb2dHb2dHh39jg
+        3tfb2dHT0MbPzMHPzMHPzMHPzMHNyr/Myb7Myb7Kx7vU0cjk4tvk4tvk4tvOy8C+ua3CvLDEv7THwrfI
+        w7jIw7jIw7jIw7jIw7jHwrfKxbrb2dHh39jk4tvk4tvm5N7n5eDk4tvk4tvl5N7l49zk4tvk4tvk4tvk
+        4tvk4tvm5N7n5eDn5eDn5eDl5N7g3tfd29Pd29Pe3NTh39jg3tfg3tfe3NTd29Pc2tLX1MvW0snW0snW
+        0snW0snW0snW08rW0snW0snV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjT0MbSzsPQzcLP
+        zMHQzcLU0cjX1MvY1s3Y1s3Z18/a2NDa2NDb2dHc2tLZ18/T0MbNyr/Oy8DMyb7DvbG7t6vBu6/SzsPe
+        3NTg3tff3dXf3dXg3tfg3tfh39jh39jf3dXg3tfi4Nni4Nnh39jh39jf3dXf3dXh39jg3tfg3tfh39jj
+        4drn5eDl49zLyL2yrJ6tppeup5iwqZqyq5yyrJ6yrJ6yrJ60rqC0rqC3sqS7t6vAuq7Ev7TIw7jJxLnK
+        x7vJxLnHwrfDvrPCvLC+ua29ua26tqq3sqSyrJ6up5iwqZqwqZqvqJmup5itppetppetppetppetppeu
+        p5iup5ivqJmwqZqwqZqyq5yyrJ6yrJ60rqC0r6G2saO3sqS4s6W5tKa6tae7t6u9ua2+ua2+ua3Bu6/D
+        vbHDvrPFwLXGwbbIw7jJxLnLyL3Oy8DQzcLSz8XU0cjV0cjW0snV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjV
+        0cjV0cjV0cjV0cjV0cjV0cjV0cjV0cjW0snW0snW0srX08rX08vX1MvY1MzY1c3Z1c3Z1s7a1s7b18/b
+        2NDc2NHc2dHd2tLd2tPe29Tf3NXf3Nbg3dbh3tfh3tji39nj4Nrj4dvk4dvk4tzl4t3m497m5N/n5N/n
+        5eDo5uHp5uLp5+Pq6OPq6OTr6eXr6uXs6ubt6+ft7Oju7Onv7env7urw7uvw7+zx8O3y8O7y8e7z8u/0
+        8/D08/H19PL19fL29fP39vT39/X49/b4+Pb5+ff6+fj6+vn7+vn7+/r8+/r8/Pv9/Pz9/fz9/f3+/v3+
+        /v7//v7/////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////9T/////////////////v7+/v7+/f39/Pz8+vr6+fn5
+        9/f39vb29fX19PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0
+        9PT09fX19fX19fX19fX19fX19fX19fX19fX19vb29vb29vb29vb29vb29vb29/f39/f39/f39/f39/f3
+        9/f3+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+fn5+fn5+fn5+fn5+fn5+fn5+fn5+vr6+vr6+vr6+vr6+vr6+vr6
+        +/v7+/v7+/v7+/v7+/v7+/v7/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/f39/f39/f39/f39/f39/f39/v7+
+        /v7+/v7+/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////U///
+        //////////////////7+/v7+/v7+/v39/f39/fz8/Pz8/Pz8/Pv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7
+        +/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/z8/Pz8/Pz8
+        /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/P39/f39/f39/f39/f39/f39
+        /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
+        /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v//////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        /////////////////////////////////1P/////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////9T
+</value>
+  </data>
+  <metadata name="Tool.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <data name="Tool.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        /9j/4AAQSkZJRgABAQEASABIAAD/7QkuUGhvdG9zaG9wIDMuMAA4QklNBCUAAAAAABAAAAAAAAAAAAAA
+        AAAAAAAAOEJJTQPtAAAAAAAQAEgAAAABAAIASAAAAAEAAjhCSU0EJgAAAAAADgAAAAAAAAAAAAA/gAAA
+        OEJJTQQNAAAAAAAEAAAAeDhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJTQQK
+        AAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAAB
+        AC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4
+        AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPo
+        AAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhC
+        SU0EAAAAAAAAAgABOEJJTQQCAAAAAAAEAAAAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklN
+        BB4AAAAAAAQAAAAAOEJJTQQaAAAAAAM/AAAABgAAAAAAAAAAAAAAaAAABAAAAAAFZypoB5iYAC0AMQAA
+        AAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAEAAAAAGgAAAAAAAAAAAAAAAAAAAAAAQAAAAAA
+        AAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAG51bGwAAAACAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0
+        MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAGgAAAAAUmdo
+        dGxvbmcAAAQAAAAABnNsaWNlc1ZsTHMAAAABT2JqYwAAAAEAAAAAAAVzbGljZQAAABIAAAAHc2xpY2VJ
+        RGxvbmcAAAAAAAAAB2dyb3VwSURsb25nAAAAAAAAAAZvcmlnaW5lbnVtAAAADEVTbGljZU9yaWdpbgAA
+        AA1hdXRvR2VuZXJhdGVkAAAAAFR5cGVlbnVtAAAACkVTbGljZVR5cGUAAAAASW1nIAAAAAZib3VuZHNP
+        YmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRv
+        bWxvbmcAAABoAAAAAFJnaHRsb25nAAAEAAAAAAN1cmxURVhUAAAAAQAAAAAAAG51bGxURVhUAAAAAQAA
+        AAAAAE1zZ2VURVhUAAAAAQAAAAAABmFsdFRhZ1RFWFQAAAABAAAAAAAOY2VsbFRleHRJc0hUTUxib29s
+        AQAAAAhjZWxsVGV4dFRFWFQAAAABAAAAAAAJaG9yekFsaWduZW51bQAAAA9FU2xpY2VIb3J6QWxpZ24A
+        AAAHZGVmYXVsdAAAAAl2ZXJ0QWxpZ25lbnVtAAAAD0VTbGljZVZlcnRBbGlnbgAAAAdkZWZhdWx0AAAA
+        C2JnQ29sb3JUeXBlZW51bQAAABFFU2xpY2VCR0NvbG9yVHlwZQAAAABOb25lAAAACXRvcE91dHNldGxv
+        bmcAAAAAAAAACmxlZnRPdXRzZXRsb25nAAAAAAAAAAxib3R0b21PdXRzZXRsb25nAAAAAAAAAAtyaWdo
+        dE91dHNldGxvbmcAAAAAADhCSU0EEQAAAAAAAQEAOEJJTQQUAAAAAAAEAAAAAjhCSU0EDAAAAAADbAAA
+        AAEAAACAAAAADQAAAYAAABOAAAADUAAYAAH/2P/gABBKRklGAAECAQBIAEgAAP/tAAxBZG9iZV9DTQAC
+        /+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwM
+        DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwM
+        DBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgADQCAAwEiAAIRAQMRAf/dAAQACP/EAT8A
+        AAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAAB
+        BAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1
+        FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3
+        h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKS
+        Q1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+        tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A7L/mvg/uZn/btf8A5JL/AJr4P7mZ/wBu1/8Aklvp
+        KXizeP2MfDj8PtcD/mvg/uZn/btf/kkv+a+D+5mf9u1/+SW+klxZvH7FVj8PtcD/AJr4P7mZ/wBu1/8A
+        kkv+a+D+5mf9u1f+SW+klxZvH7FcOPw+1wP+a+D+5mf9u1f+SS/5r4P7mZ/27V/5Jb6SXFm8fsVw4/D7
+        XA/5r4P7mZ/27V/5JL/mvg/uZn/btX/klvpJcWbx+xXDj8PtcD/mvg/uZn/btf8A5JL/AJr4P7mZ/wBu
+        1/8AklvpJcWbx+xVY/D7XA/5r4P7mZ/27V/5JL/mvg/uZn/btf8A5Jb6SXFm8fsVw4/D7XA/5r4P7mZ/
+        27X/AOSS/wCa+D+5mf8Abtf/AJJb6SXFm8fsVw4/D7X/2ThCSU0EIQAAAAAAVQAAAAEBAAAADwBBAGQA
+        bwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAAABMAQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAA
+        IAA3AC4AMAAAAAEAOEJJTQQGAAAAAAAHAAgAAAABAQD/4QR8RXhpZgAATU0AKgAAAAgABwESAAMAAAAB
+        AAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAUAAAAcgEyAAIAAAAU
+        AAAAhodpAAQAAAABAAAAmgAAAMYAAABIAAAAAQAAAEgAAAABQWRvYmUgUGhvdG9zaG9wIDcuMAAyMDA0
+        OjEwOjE0IDE1OjUwOjUwAAADoAEAAwAAAAH//wAAoAIABAAAAAEAAAQAoAMABAAAAAEAAABoAAAAAAAA
+        AAYBAwADAAAAAQAGAAABGgAFAAAAAQAAARQBGwAFAAAAAQAAARwBKAADAAAAAQACAAACAQAEAAAAAQAA
+        ASQCAgAEAAAAAQAAA1AAAAAAAAAASAAAAAEAAABIAAAAAf/Y/+AAEEpGSUYAAQIBAEgASAAA/+0ADEFk
+        b2JlX0NNAAL/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwM
+        DAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwM
+        DBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAANAIADASIAAhEBAxEB/90A
+        BAAI/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUG
+        BwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwcl
+        klPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG
+        1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR
+        8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV
+        5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMBAAIRAxEAPwDsv+a+D+5mf9u1/wDkkv8Amvg/uZn/
+        AG7X/wCSW+kpeLN4/Yx8OPw+1wP+a+D+5mf9u1/+SS/5r4P7mZ/27X/5Jb6SXFm8fsVWPw+1wP8Amvg/
+        uZn/AG7X/wCSS/5r4P7mZ/27V/5Jb6SXFm8fsVw4/D7XA/5r4P7mZ/27V/5JL/mvg/uZn/btX/klvpJc
+        Wbx+xXDj8PtcD/mvg/uZn/btX/kkv+a+D+5mf9u1f+SW+klxZvH7FcOPw+1wP+a+D+5mf9u1/wDkkv8A
+        mvg/uZn/AG7X/wCSW+klxZvH7FVj8PtcD/mvg/uZn/btX/kkv+a+D+5mf9u1/wDklvpJcWbx+xXDj8Pt
+        cD/mvg/uZn/btf8A5JL/AJr4P7mZ/wBu1/8AklvpJcWbx+xXDj8Ptf/Z/9sAQwAIBgYHBgUIBwcHCQkI
+        CgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkM
+        CwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy
+        /8AAEQgAKQQAAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIB
+        AwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn
+        KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi
+        o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8B
+        AAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYS
+        QVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZX
+        WFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
+        x8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A1v8AhI7v/nlD/wB+k/8A
+        iaP+Eku/+eUP/fpP/iapfZ6Ps9er7NHn87Lv/CR3f/PKH/v0n/xNH/CR3f8Azyh/79J/8TVL7PR9no5E
+        HOy7/wAJHd/88of+/Sf/ABNH/CR3f/PKH/v0n/xNUvs9H2f2o5EHOy7/AMJHd/8APKH/AL9J/wDE0f8A
+        CSXf/PKH/v0n/wATVL7P7UfZ/ajkQc7Lv/CSXf8Azyh/79J/8TR/wkl3/wA8of8Av0n/AMTVL7P7UfZ/
+        ajkQc7Lv/CR3X/PKH/v0n/xNH/CR3X/PKH/v0n/xNUvs/tR9no5EHOy7/wAJHdf88of+/af/ABNH/CR3
+        f/PKH/v0n/xNUvs9H2ejkQc7Lv8Awkd1/wA8of8Av2n/AMTR/wAJHdf88of+/af/ABNUvs/tR9n9qORB
+        zsu/8JHd/wDPKH/v2n/xNH/CR3f/ADyh/wC/af8AxNUvs/tR9n9qORBzsu/8JJdf88of+/Sf4Uf8JJdf
+        88of+/Sf4VS+z+1H2f2o5EHMy7/wkd3/AM8of+/Sf4Uf8JHd/wDPKH/v0n+FUvs9H2ejkQc7Lv8Awkd3
+        /wA8of8Av0n/AMTR/wAJHd/88of+/Sf/ABNUvs9H2ej2aDnZd/4SO7/55Q/9+0/+Jo/4SO7/AOeUP/fp
+        P/iapfZ6Ps/tR7Ndg52Xf+Ejuv8AnlD/AN+0/wDiaP8AhJLv/njD/wB+0/8AiapfZ/aj7P7UezQc7Lv/
+        AAkl1/zyh/79J/8AE0f8JHdf88ov+/Sf/E1S+z+1H2ejkQc7Lv8Awkd1/wA84f8Av0n/AMTR/wAJJdf8
+        8of+/Sf/ABNUvs9H2ejkQc7Lv/CR3f8Azyh/79J/8TR/wkd3/wA8of8Av0n/AMTVL7P7UfZ/aj2aDnZd
+        /wCEju/+eUP/AH6T/wCJo/4SS7/55Q/9+k/+Jql9n9qPs/tRyIOdl3/hJLv/AJ5Q/wDfpP8A4mj/AISO
+        7/55Q/8AftP/AImqX2f2o+z+1Hs0HOy7/wAJHd/88ov+/Sf/ABNH/CSXf/PKH/v0n/xNUvs/tR9no5EH
+        My7/AMJHd/8APKH/AL9J/wDE0f8ACSXf/PKH/v0n/wATVL7PR9n9qORBzsu/8JJd/wDPKH/v0n/xNH/C
+        R3f/ADyh/wC/af8AxNU/s/tR9mo5EHOy5/wkd3/zyh/79J/8TR/wkd1/zyh/79J/8TVP7NSfZ6PZoOdl
+        3/hI7r/nnD/36T/4mj/hI7r/AJ5w/wDftP8A4mqX2ej7PRyIOZl3/hI7v/nlD/36T/4mj/hI7r/nlD/3
+        7T/4mqX2el+z0ciDnZc/4SO6/wCeUP8A36T/AOJpP+Eku/8AnlD/AN+k/wDiap/Z/aj7P7UciDnZd/4S
+        S6/55Q/9+k/+JpP+Eku/+eUP/fpP/iap/Z/aj7PRyIOdl3/hI7r/AJ5Q/wDfpP8A4mj/AISO7/55Q/8A
+        ftP/AImqX2ej7PRyIOZl3/hI7r/nlD/37T/4mj/hI7v/AJ5Q/wDfpP8ACqX2ej7P7UciDnZd/wCEju/+
+        eUP/AH6T/Cj/AISO7/55w/8AfpP8KpfZ/aj7P7UciDnZd/4SO7/55Q/9+k/wo/4SO7/55Q/9+k/wql9n
+        9qPs/tRyIOdl3/hI7v8A55Q/9+k/wo/4SO7/AOeUP/fpP8KpfZ/aj7P7UciDnZd/4SO7/wCeUP8A36T/
+        AAo/4SO7/wCeUP8A36T/AAql9n9qPs/tRyIOdl3/AISO7/55Q/8AfpP8KP8AhI7v/nlD/wB+k/wql9n9
+        qPs/tR7NBzsu/wDCR3f/ADyh/wC/Sf4Uf8JHd/8APKH/AL9J/hVL7P7UfZ/aj2aDnZd/4SO7/wCeUP8A
+        36T/AAo/4SO7/wCeUP8A36T/AAql9n9qPs/tRyIOdl3/AISO7/55Q/8AfpP8KP8AhI7v/nnD/wB+k/wq
+        l9no+zijkQc7Lv8Awkd3/wA84f8Av0n/AMTR/wAJHdf884f+/Sf/ABNUvs9H2ej2aDnZd/4SO6/55w/9
+        +k/+Jo/4SS7/AOecP/fpP/iapfZ6Ps9HIg5mXf8AhI7v/nnD/wB+k/8AiaP+Eju/+eUP/fpP8KpfZxR9
+        no9mg52Xf+Eju/8AnlD/AN+k/wAKP+Eju/8AnlD/AN+0/wAKpfZ/aj7P7UciDnZd/wCEju/+eUP/AH7T
+        /Cj/AISO6/55w/8AftP/AImqX2f2o+z+1HIg52Xf+Ejuv+ecP/ftP/iaP+Eju/8AnlD/AN+0/wDiapfZ
+        /aj7P7UezQczLv8Awkd3/wA8of8Av2n/AMTR/wAJHd/884f+/Sf/ABNUvs/tR9n9qPZoOdl3/hJLv/nl
+        D/37T/4mj/hJLv8A55Q/9+0/+Jql9n9qPs9Hs0HOy7/wkd3/AM8of+/af/E0f8JHd/8APKH/AL9J/wDE
+        1S+z0fZ6PZoOdl3/AISS7/55w/8AfpP/AImj/hI7v/nnD/36T/4mqX2ej7P7UezQc7Lv/CR3f/PKH/v0
+        n/xNH/CR3f8Azyh/79J/8TVL7PR9no9mg52Xf+Eju/8AnlD/AN+k/wAKP+Eju/8AnlD/AN+k/wAKpfZ6
+        Ps9HIg52Xf8AhI7v/nlD/wB+k/wo/wCEjuv+eUP/AH6T/wCJql9no+z0ciDnZd/4SO6/55w/9+k/+Jo/
+        4SO6/wCecP8A36T/AAql9no+z0ciDnZd/wCEju/+ecP/AH6T/Cj/AISS7/55w/8AfpP8KpfZ6Ps9HIg5
+        mXf+Eku/+ecP/fpP8KP+Eju/+eUP/fpP8KpfZ6Ps9Hs0HMy7/wAJHd/88of+/Sf4Uf8ACR3f/PKH/v0n
+        +FUvs9H2ejkQczLv/CR3f/PKH/v0n+FH/CR3f/PKH/v0n/xNUvs9H2ejkQc7Lv8Awkd3/wA84f8Av0n/
+        AMTR/wAJHd/88of+/Sf/ABNUvs9H2ejkQc7Lv/CR3X/PKH/v0n/xNH/CR3f/ADyh/wC/Sf8AxNUvs9H2
+        ejkQc7Lv/CR3f/PKH/v0n/xNH/CR3f8Azyh/79p/8TVL7PR9no5EHOy7/wAJHd/88of+/Sf/ABNH/CR3
+        f/PKH/v0n/xNUvs9H2ejkQczLv8Awkd3/wA8of8Av0n/AMTR/wAJHdf88of+/Sf/ABNUvs9H2ej2aDnZ
+        d/4SO7/55Q/9+k/+Jo/4SO7/AOeUP/fpP/iapfZ6Ps9HIg52Xf8AhJLr/nlD/wB+k/8AiaP+Ekuv+ecP
+        /fpP/iapfZ/aj7P7Uci7D52Xf+Ekuv8AnlD/AN+k/wDiaT/hJLv/AJ5Q/wDfpP8A4mqf2f2o+z0ciFzs
+        uf8ACSXf/PKH/v0n/wATR/wkd3/zyh/79J/8TVP7PR9no5EHOzW+ySf882o+ySf88z+letfZbf8A54Rf
+        98Cj7Lb/APPCL/vgVj9bj2Nfqz7nkv2ST/nmf0o+ySf88z+letfZbf8A54Rf98Cj7Lb/APPCL/vgUfW4
+        9g+rPueS/ZJP+eZ/Sj7JJ/zzavWvstv/AM8Iv++BR9lt/wDnhF/3wKPrcewfVn3PJfscn/PM0fZJP+eZ
+        r1r7Lb/88Iv++BR9lt/+eEX/AHwKPrkewfVn3PJfskn/ADzP6UfZJP8Anmf0r1r7Lb/88Iv++BR9lt/+
+        eEX/AHwKPrcf5Q+rPueS/ZJP+eZ/Sj7JJ/zzP6V619lt/wDnhF/3wKPstv8A88Iv++BR9bj/ACh9Wfc8
+        l+ySf88z+lH2ST/nmf0r1r7Lb/8APCL/AL4FH2W3/wCeEX/fAo+tx/lD6s+55L9kk/55n9KPskn/ADzP
+        6V619lt/+eEX/fAo+y2//PCL/vgUfW4/yh9Wfc8l+ySf88zSfZJP+ebV639lt/8AnhF/3wKPstv/AM8I
+        v++BR9bj/KH1Z9zyT7JJ/wA82pfskn/PNq9a+y2//PCL/vgUfZbf/nhF/wB8Cj65HsH1Z9zyX7JJ/wA8
+        2pPskn/PNq9b+y2//PCL/vgUfZbf/nhF/wB8Cj65HsH1Z9zyT7JJ/wA82o+ySf8APNq9b+y2/wDzwi/7
+        4FH2W3/54Rf98Cj65HsH1Z9zyX7HJ/zzak+ySf8APM1639lt/wDnhF/3wKPstv8A88Iv++BR9cj2D6s+
+        55L9kk/55mj7JJ/zzavWvstv/wA8Iv8AvgUfZbf/AJ4Rf98Cj65HsH1d9zyX7JJ/zzak+ySf88zXrf2W
+        3/54Rf8AfAo+y2//ADwi/wC+BR9cj2D6u+55L9kk/wCebUfZJP8Anm1etfZbf/nhF/3wKPstv/zwi/74
+        FH1yP8ofV33PJfskn/PNqPskn/PM1619lt/+eEX/AHwKPstv/wA8Iv8AvgUfXI9g+rPueS/ZJP8AnmaP
+        skn/ADzNetfZbf8A54Rf98Cj7Lb/APPCL/vgUfXI9g+rPueS/ZJP+eZo+ySf88zXrX2W3/54Rf8AfAo+
+        y2//ADwi/wC+BR9cj2D6s+55L9kk/wCeZo+ySf8APM/pXrX2W3/54Rf98Cj7Lb/88Iv++BR9bj2D6s+5
+        5L9kk/55mk+ySf8APNq9b+y2/wDzwi/74FH2W3/54Rf98Cj65H+UPqz7nkv2ST/nm36Un2ST/nm1et/Z
+        bf8A54Rf98Cj7Lb/APPCL/vgUfXI9g+rPueSfY5P+eZo+ySf88z+let/Zbf/AJ4Rf98Cj7Lb/wDPCL/v
+        gUfXI/yh9Wfc8l+ySf8APNqPskn/ADzavWvstv8A88Iv++BR9lt/+eEX/fAo+uR7B9Wfc8l+ySf882o+
+        ySf882r1r7Lb/wDPCL/vgUfZbf8A54Rf98Cj65HsH1Z9zyX7JJ/zzaj7JJ/zzavWvstv/wA8Iv8AvgUf
+        Zbf/AJ4Rf98Cj65HsH1Z9zyX7JJ/zzaj7JJ/zzavWvstv/zwi/74FH2W3/54Rf8AfAo+uR7B9Wfc8l+y
+        Sf8APNqPskn/ADzP6V619lt/+eEX/fAo+y2//PCL/vgUfXI9g+rPueS/ZJP+eZ/Sk+ySf88z+let/Zbf
+        /nhF/wB8Cj7Lb/8APCL/AL4FH1yPYPqz7nkv2ST/AJ5mj7JJ/wA8zXrX2W3/AOeEX/fAo+y2/wDzwi/7
+        4FH1yP8AKH1Z9zyX7JJ/zzNH2ST/AJ5mvWvstv8A88Iv++BR9lt/+eEX/fAo+uR/lD6s+55L9kk/55mj
+        7JJ/zzNetfZbf/nhF/3wKPstv/zwi/74FH1yP8ofVn3PJfskn/PM0fZJP+eZr1r7Lb/88Iv++BR9lt/+
+        eEX/AHwKPrkf5Q+rPueS/ZJP+eZo+ySf88zXrX2W3/54Rf8AfAo+y2//ADwi/wC+BR9cj/KH1Z9zyX7J
+        J/zzNH2ST/nma9a+y2//ADwi/wC+BR9lt/8AnhF/3wKPrkewfVn3PJfskn/PM0fZJP8Anma9a+y2/wDz
+        wi/74FH2W3/54Rf98Cj65HsH1Z9zyX7JJ/zzNH2ST/nma9a+y2//ADwi/wC+BR9lt/8AnhF/3wKPrkew
+        fVn3PJfskn/PM0fZJP8Anma9a+y2/wDzwi/74FH2W3/54Rf98Cj65H+UPqz7nkv2ST/nmaPskn/PM161
+        9lt/+eEX/fAo+y2//PCL/vgUfXI/yh9Wfc8l+ySf88zR9kk/55mvWvstv/zwi/74FH2W3/54Rf8AfAo+
+        uR/lD6s+55L9kk/55mj7JJ/zzNetfZbf/nhF/wB8Cj7Lb/8APCL/AL4FH1yPYPqz7nkv2ST/AJ5mj7JJ
+        /wA82r1r7Lb/APPCL/vgUfZbf/nhF/3wKPrkewfVn3PJfskn/PNqT7JJ/wA82r1v7Lb/APPCL/vgUfZb
+        f/nhF/3wKPrkewfVn3PJfskn/PM0fZJP+eZr1r7Lb/8APCL/AL4FH2W3/wCeEX/fAo+uR7B9Wfc8l+yS
+        f88zR9kk/wCeZr1r7Lb/APPCL/vgUfZbf/nhF/3wKPrkewfVn3PJfskn/PM0fZJP+eZr1r7Lb/8APCL/
+        AL4FH2W3/wCeEX/fAo+uR7B9Wfc8k+ySf882o+ySf88z+let/Zbf/nhF/wB8Cj7Lb/8APCL/AL4FH1yP
+        YX1Z9zyT7JJ/zzb9KPskn/PM1639lt/+eEX/AHwKPstv/wA8Iv8AvgUfXI9h/Vn3PJPskn/PM0v2ST/n
+        ma9a+y2//PCL/vgUfZbf/nhF/wB8Cj65H+UPqz7nkv2ST/nmaPskn/PM1619lt/+eEX/AHwKPstv/wA8
+        Iv8AvgUfXI/yh9Wfc8l+ySf88zR9kk/55mvWvstv/wA8Iv8AvgUfZbf/AJ4Rf98Cj65H+UPqz7nkv2ST
+        /nmaPskn/PM1619lt/8AnhF/3wKPstv/AM8Iv++BR9cj/KH1Z9zyX7JJ/wA8zR9kk/55mvWvstv/AM8I
+        v++BR9lt/wDnhF/3wKPrkf5Q+rPueS/ZJP8AnmaPskn/ADzNetfZbf8A54Rf98Cj7Lb/APPCL/vgUfXI
+        9g+rPueS/ZJf+eZo+ySf882r1r7Lb/8APCL/AL4FH2W3/wCeEX/fAo+uR7B9Wfc8l+ySf882o+ySf882
+        r1r7Lb/88Iv++BR9lt/+eEX/AHwKPrkewfVn3PJfskn/ADzaj7JJ/wA8z+letfZbf/nhF/3wKPstv/zw
+        i/74FH1yPYPqz7nkv2ST/nmf0o+ySf8APNq9a+y2/wDzwi/74FH2W3/54Rf98Cj65H+UPqz7nkv2ST/n
+        m1H2ST/nm1etfZbf/nhF/wB8Cj7Lb/8APCL/AL4FH1yPYPqz7nkv2ST/AJ5tR9kk/wCeZr1r7Lb/APPC
+        L/vgUfZbf/nhF/3wKPrkewfVn3PJPscn/PM0v2ST/nm1etfZbf8A54Rf98Cj7Lb/APPCL/vgUfW49g+r
+        PueS/ZJP+eZo+ySf88zXrX2W3/54Rf8AfAo+y2//ADwi/wC+BR9cj2D6s+55L9kk/wCeZo+ySf8APM16
+        19lt/wDnhF/3wKPstv8A88Iv++BR9cj2D6u+55L9kk/55mj7JJ/zzNetfZbf/nhF/wB8Cj7Lb/8APCL/
+        AL4FH1yPYPq77ktFcx3orhsdZ09FcxRRYDp6K5igdqLAdPRXM0lFhHT0VzFFFgOnormKKLAdPRXMUUWA
+        6eiuYoosB09FcxRRYDp6K5iiiwHT0VzFFFgOnormKKLAdPRXMUUWA6eiuYoosB09FcxRRYDp6K5iiiwH
+        T0VzFFFgOnormKKLAdPRXMUUWA6eiuYoosB09FcxRRYDp6K5iiiwHT0VzFFFgOnormKKLAdPRXMUUWA6
+        eiuYoosB09FcxRRYDp6K5iiiwHT0VzFFFgOnormKKLAdPRXMUUWA6eiuYoosB09FcxRRYDp6K5iiiwHT
+        0VzFFFgOnormKKLAdPRXMUUWA6eiuYoosB09FcxRRYDp6K5iiiwHT0VzFFFgOnormKKLAdPRXMUUWA6e
+        iuYoosB09FcxRRYDp6K5iiiwHT0VzFKaLAdNRXMUUWA6eiuYoosB09FcxRRYDp6K5iiiwHT0VzFFFgOn
+        ormKKLAdPRXMUUWA6eiuYoosB09FcxRRYDp6K5igUWA6eiuYoosB09FcxRRYDp6K5mkosB09FcxRRYDp
+        6K5iiiwHT0VzFFFgOnormKKLAf/Z
+</value>
+  </data>
+  <data name="yl.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHMSURBVDhPjZI5SANBFIYX7CNWClEbC+0E7UXEQq0UK4+I
+        oPGOd/DCeMQDDzxBESstLAQPBJuonQQbj0axFFQIeEaTzWazye++WbPJukEd+Blm5r3v/W9mOC5qjC2s
+        gzQ6twbbzCoGp1diis76J5YRncvRBo2ppXU2/2doIGEAJVY1dkOSZ68Yiik+oOCbrEMRFz32ebVocbkZ
+        paZ6lFSadaL9spoWVDV0oNbSEwF0D88ygBQM/em+b3xR2z9dRqdtmiX6RQkXN3e4uo2I1mJAguBXvFOs
+        5gJp0d4/yQ55QYQoBZmTsAJSSAGICoBidYDWXjs79PpEnJ7fwHl5q8r19KZrSwdoto6wILdXAO+X4AsE
+        VdE+Z+K0+klo6LIxwLtHgOP0AsfOK9y7ntXKBJAxTAz2c9S1D7Dglw8en3IbHoF+grYyJSfvpMZ2Ym7r
+        YwnPbh77R04cnJypgHBlmjP2jEh3pEWcVMsfoqLGguomK0twvXoY5MXt0wDiNhJg2DQgacsA43Y8EncT
+        FCeVtRbQ1yEAmX54+sDjt1gLBXJQrtJ38XUOsg6NSmK+rEJZRaUmtbruraI2wpeY6UjRX2J6dg5+k+ok
+        L6ry9yt8Ae9ue03yyMc9AAAAAElFTkSuQmCC
+</value>
+  </data>
+  <data name="dy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGhSURBVDhPjZPNKwRxHMZ//4uUCwcnDk4c5KAQoUgOxIHE
+        trZlsRu7RWbfytvuSi7CRXHxlkItkgsnbwelUF5Wa2d3mcc8cxhbxthvfWp+v+/neWqmRoiM8QQX4PKG
+        4ZRCOi5vCO5ABMH5FWS6hs/DE9MwGr/vRLv+t8Tu9mvil6Lo8CxJUb3XtMTqnNTEVPpTR1HP4cguqhpb
+        UdfcjkFP8O9X6XV4tIIPOaWTSKbw+aXg8TmGo7MLuP2RvwsstiGt4C0uIxZP/vCRxLsKx2Jz/C6YDS9C
+        zAF91gHDj5h5SYeuluHYR31IyzLEDFBdVYvc/CJT6NBlhtmfggCw9AQsPphDR6iuXmAZGcfryytEUF1M
+        ZYnqMsOs6LGP4ermDvkLcfVwCdF/A2G7NYY71aHLDLOiy+rE/ukFkokELKt3EDleiLyAMeqODl1mmBWd
+        fYNY245ieWMP6zuH2Nw/wtbBsSHc0aHLDLNaQX1LB55iMkrKa1Ba2WAKHbrMaAWc5rZunF/fo98lYcAd
+        MIUOXWb0P7KipgkFxWUoLCnPCrrMsOAbWd9YnAI34MsAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="view.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGPSURBVDhPnZJNSwJRFIbvv6h+QNQycBnUPlpE0SJBSJAo
+        ohA0chFiUihhaCmE2hdFtGgfQkQkVkIupHZBVERFSKljzjjjx9vcm06T+BEeeODeyz3PPXPmEIdvF3Z3
+        ELbVgMKivF/2bsG3cwTSLKwrG6gVHvc1O24qsSx52MViqaRA9y5XVPE2lJhtLnZRyhcU6D4QPMXgqA7D
+        WgOszvX6n2JccDBBNieBLyOIeRTpGZ9DXpIYdVsxM29nAi4rIsP/khPLiRMxEDXVpkmTlQk+OR7JjMDg
+        BfHnVTlxOFT6A5OpwzBrYYL35BcSqSyjkuy8kXuT5fDGA2QNaDsE5uLyWi0ZnzIzwUsijdcEx1AL+HQa
+        QyeA/kr+M3c1BPqyQD0LFUHwCchlMtBdAnvPwH0JCKWqKhgY0aFb048uTZ9CRXAQfUA4fAHvI3D8AdzW
+        EjScVI0ftIpzAYjIfaBrIp9Na3uwb2pvPuZMLieoMY51ohAhiG8SbBs7/ilRlantJYj5CbizFgXURSWU
+        liqo7tk3bGHWG43QzHIAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="sx.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD6SURBVDhPrZMvD4MwEMX7TdEzc3NLWjGDmCJzFLlWTeDR
+        xRaLXCXf4XbH38LSNWwjeYKk/fXduzuWJAnsFWMMUMNHl7uug6dz0LYtWGvBmBqqqoKyLEErDVJKyLIM
+        0jQFLgRdhjzPB8gEcCuAWQB6DRA8AmjIQb0AFAJO+OLkQHxycMeDBeqGuqIuqDOKAEcUlRAEPPDAlEHt
+        OdAbBzxUwgxo3kvwQxScR0L8C8D4Iaq5jQcsk4uIA4mHjAfQeg34uQvBEN1zmERqo+9AkYNimcToINlN
+        iNTGwh/l4CSODghQ+7vgZdAP0hYwblbf2z2al4kWin6+Ed19ASAtZRPFvKE6AAAAAElFTkSuQmCC
+</value>
+  </data>
+  <data name="cx.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFhSURBVDhPnZLPK0RRFMffxkL5Hyz8A8rS2hIbRTZ2Q7bC
+        SslsLdBYvIwsMEomSmTKoJg0en6URjEYYkgRspDFzMe57743vcYbL059O7d37vdzzrk9wwiKkIXhVdD9
+        Ut0x9ewWUWrf1CrBfgWJOXJWYOMOknno2ob6ONQtQG1MZxtUMaQ4l4X0k1yUmJdzdRSqpqBmRqsywOk+
+        kYGlHCTuYeRIJliGpgQ0J3VW8oc4gEELhsTYl4aOHeg9gLBARy90VvIHNJjEb4uET6F7H9pk//5jiFzB
+        iqyUfNN5NlfAkLs/n8EBTMrewwIZOIExOS8+wt4HXKOzkj9AIQUSvcHW+KV0k3dYe9Ym61PL12yGDJS8
+        xdQrrL/A1jtklNGN8vGVMZ9ogew0D6sOxG9H9a2S+euw1Tafxww6GwXirGMb/Iyq7nb2mi3TAwj69xXg
+        32YFV6O6Y/+ps3cyBXEVNHF5/RvWHnigVQLXLgAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="fh.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFwSURBVDhPtVNLS0JBGPVH+Iv6Ba3rT/joar7rKprZ46Yg
+        GdaiyJWUgYViVihUFr0halHUoqCoRW2KNqc5E7cuXh+1aGCYYeY75/vOd2Yslv8aymgfevt7TJPnXXMS
+        mGqEUHtJofqkoXg3jvxVHPPnUfiKA7Bare1JCN57S+PgY1qudUFSftRQuElg8SKG7LGKpCBvScLymJng
+        M8zIPQP1yeyzJ2F5zr1JDrPXXlNovKe/wUa9JCIwuRtEbMtnroIE1ecpqb2dTsZo2wFENzytCYr3Eyg/
+        THYkGKv7Ea4MfsU0W5W/jmP5NiEvjXe6FJ6NbHoRKrl/kjA4cziMudMIFoRVOdHt3OWIXJulkEAV2U12
+        MjC9P4TMkYqs6DS73QocWffAv6pAKTjNMgnQdgKyy0awLkWtuOFfU+ASYHvebraROnXPjfaRIFhywSss
+        dBUcAmzr/Bqb3zoJ3CtOOJccsP0VTDIS6JX96jN1/W2GgE8Xey/mqymHugAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="tc.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADHSURBVDhPpZLNDcMgDIXZiZEiZQJzTs/JuZEiVUpGYYDs
+        9IoRppSfhrYRFgLlfdh+VqryaT2iN2p6xWJjCNN0w7zMWO8rjn2H+xnD8ABwujX6cxNAAbA4QC48Nw2O
+        AsAvM9FnQNQUVgFBHAEUAJyuCPI9ZsBiV5V/MW0eny8BImZAHt2AjZv6KyDYAIaEmt52KcFaC460D7kL
+        0ZbUBQEI/BOAk3nZ6OagqwetUSYy/wEk5ZaNSb+q0yyXxRz0CgvAt8IIuBI+AZInmNFWdMJxAAAAAElF
+        TkSuQmCC
+</value>
+  </data>
+  <data name="mrlk.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPfZLfS1NhHMZfkSSwu/A/8MK6ydIQFlg3dudN
+        YBLDYtBF05XMMAoLL3bhRGF4zjzUUiKiG4mCgkCMiam5cqP9aO4YJlqIDmqh00KRHt/v92xnW7gdeHgP
+        7/t8nvd533OEyDxuZRQDymMoXh/U4cNFa+TpV58gy/Ho8vgwOR1A5ywgFClvEck15xzwbuoDiDFD7rtV
+        bG2l4fDv4FkSJdU5uYO09BJjBtx1ebCZSkEMAjNpwL0IWKeBky9kE01KzYiaDYG9xJgB3b0D+JVMQngA
+        bRm4OgPUvgLKfBJ4KPUoJy0m3/9/nD192Fhb43T7xxJw3IBDZyoxe1zkgm7dc+HHyipXbXhdZOcMfMwR
+        wp9qAQSBz5YqI6S9uxfLS9/49o+MHFI7D36e2GaIQgJVmRY3nD3QE1+NC6OA0Zy0hFH7qD0IgiN7wGnv
+        d25hBlx33EEoqsOqBCGuBCCshrSJDYYr7OECmDeof5q7A1t7Fz7FljAvQyJfdETjOn6mfrOhvCNeGiZT
+        i60DNXWNOHH2gimaV6+JovC4/73R4PaDPmz+3S/Q7v4/XqQAzF/iM+fXpnViiOWAsL6CoeERczThvXVg
+        N8wh2TNHYwuILK6ynwNuyk/YfNnGidkxP6DNIkCiubfj/gIfsYKgU5Ym1J67aIrMNXXnQUfI/rVjL98U
+        eIhpbrXhAL2UTLYOQlZyAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <data name="bclk.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAH/SURBVDhPjZPNS1RhFMaPIbRoFy4yEFFyoYkRbqNWCkIr
+        /wE/G0VwEwmpbWbXh1+YtipQF0GDklQULlqqMzY5+cFYTo1DisMgDs6Xo3N1Hp/jbRgTvfjCw33ve5/z
+        e89533NFHrghdbMIdQJrjy8m9WrMcaw0zuHLNhAD8PuCUq/GaKyI7Tsk/yknIikjBcMwLKUe9co1xmis
+        NM2h8hNpHNPTgHPWWupRb7s7k0GjC7ffm4vxZBKJPWupR73VU4xpcOkZZAEzM9zdaS31KOCGQzM4BdiK
+        xLAdjVtKPQq49IaApn+AykwJkSgS0Zil4vQcH+LQCcCdj8Dl11x4vgvp24cMGGdLv/Xuo6BjGTLI22jW
+        a2Qdd3kLV0cIeLYDqf0KKeqBFPf9r6JeBnyD1Dthn4rTGzkFGCWgO2imd96o4471Loyv0GsPnQF4FDAB
+        119AOjbw9495I/OeQwT8B2xfE+DwEtC1zlZmRprWvc8sYYyL7T9NQEk/AX54fwALi4fw/kohuMn6TwIe
+        +kxATpUDhfZV5L0lwLaA9C6fhcygZQk+7qTBvrUkwmE2UAagJbQt0a8/E0du9TtceeIn0YNICAisAsEA
+        sLHOZ+gA4Z0U0uk9Ng57v9mNST8BLR5I63z2zHJqJiAVw5CbQ5Cyl1mV8l1VRt16Zaqc8wrq/gccAYEZ
+        rI51LX54AAAAAElFTkSuQmCC
+</value>
+  </data>
+  <metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>95, 17</value>
+  </metadata>
+  <metadata name="timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>185, 17</value>
+  </metadata>
+  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>67</value>
+  </metadata>
+</root>
\ No newline at end of file
diff --git "a/DAL/\346\272\220\345\215\225/Cls_S_Xt_BaseBill1.cs" "b/DAL/\346\272\220\345\215\225/Cls_S_Xt_BaseBill1.cs"
new file mode 100644
index 0000000..1c14d95
--- /dev/null
+++ "b/DAL/\346\272\220\345\215\225/Cls_S_Xt_BaseBill1.cs"
@@ -0,0 +1,355 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using SQLHelper;
+using DBUtility;
+using System.Data;
+
+namespace DAL
+{
+    public class Cls_S_Xt_BaseBill1
+    {
+       
+        public string mvarReportTitle;
+        public string mvarItemKey;
+        public string ViewName = "";
+        public string sCondtion = "";
+        public string sOrderSql = "";
+        public string sKeyCol = "";
+        public string sShowItemSql = "";
+        //================================
+        public string mvarReportTitle2;
+        public string mvarItemKey2;
+        public string ViewName2 = "";
+        public string sCondtion2 = "";
+        public string sOrderSql2 = "";
+        public string sKeyCol2 = "";
+        public string sShowItemSql2 = "";
+        public frmHlpBillList1 oFrm;
+        //public DAL.frmHlpBillList oFrm = new DAL.frmHlpBillList();
+        public List<DBUtility.BillSelect> oBillSelectColl = new List<DBUtility.BillSelect>();
+        public List<DBUtility.BillSelect_A3> oBillSelectColl2 = new List<DBUtility.BillSelect_A3>();
+        //
+        public Cls_S_Xt_BaseBill1()
+        {
+            //---
+        }
+
+
+        //鏄剧ず鏁版嵁
+        /// <summary>
+        /// 鏄剧ず鏁版嵁
+        /// </summary>
+        /// <param name="sWhere">涓籗QL</param>
+        /// <param name="sCondtion">杩囨护鏉′欢</param>
+        /// <param name="sOrderSql">鎺掑簭鏉′欢</param>
+        /// <param name="sKeyCol">涓嶅彲閲嶅鍒�</param>
+        /// <returns></returns>
+        public virtual bool Refresh(string sWhere)
+        {
+            string sErr = "";
+            int MainIDCol, SubIDCol, BillNoCol;
+            string tSQL;
+            ClsCN oCn = new ClsCN();
+            tSQL = sWhere + sCondtion + sOrderSql;
+            try
+            {
+                oFrm = new frmHlpBillList1();
+                oFrm.sPrimaryCol = sKeyCol;
+                oFrm.Text = mvarReportTitle;
+                oFrm.lblCaption.Text = mvarReportTitle;
+                oFrm.tSQL = tSQL;
+                oFrm.ViewName = ViewName;
+                
+                oFrm.ShowDialog();
+                if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
+                {
+                    //杩斿洖鏁版嵁鍒伴泦鍚堜腑
+                    oBillSelectColl.Clear();
+                    MainIDCol = oFrm.Fun_GetCol("hmainid");
+                    SubIDCol = oFrm.Fun_GetCol("hsubid");
+                    BillNoCol = oFrm.Fun_GetCol("鍗曟嵁鍙�");
+
+                    //寰幆 閫変腑琛�
+                    for (int i = 0; i < oFrm.grdMain.SelectedRows.Count; i++)
+                    {
+                        BillSelect oSelect = new BillSelect();
+                        oSelect.BillNo = ClsPub.isStrNull(oFrm.grdMain.Rows[oFrm.grdMain.SelectedRows[i].Index].Cells[BillNoCol].Value);
+                        oSelect.BillMainID = ClsPub.isLong(oFrm.grdMain.Rows[oFrm.grdMain.SelectedRows[i].Index].Cells[MainIDCol].Value);
+                        oSelect.BillSubID = ClsPub.isLong(oFrm.grdMain.Rows[oFrm.grdMain.SelectedRows[i].Index].Cells[SubIDCol].Value);
+                        oSelect.BillTitle = mvarReportTitle;
+                        oSelect.BillType = mvarItemKey;
+                        oBillSelectColl.Add(oSelect);
+                    }
+                }
+                //
+                if (oBillSelectColl.Count > 0)
+                    return true;
+                else
+                    return false;
+            }
+            catch (Exception e)
+            {
+                sErr = e.Message;
+            }
+            return true;
+        }
+
+
+        //鏄剧ず鏁版嵁2
+        /// <summary>
+        /// 鏄剧ず鏁版嵁2
+        /// </summary>
+        /// <param name="sWhere">涓籗QL</param>
+        /// <param name="sCondtion">杩囨护鏉′欢</param>
+        /// <param name="sOrderSql">鎺掑簭鏉′欢</param>
+        /// <param name="sKeyCol">涓嶅彲閲嶅鍒�</param>
+        /// <returns></returns>
+        public virtual bool Refresh2(string sWhere)
+        {
+            string sErr = "";
+            int MainIDCol, SubIDCol, BillNoCol;
+            string tSQL;
+            ClsCN oCn = new ClsCN();
+            tSQL = sWhere + sCondtion2 + sOrderSql2;
+            try
+            {
+                oFrm = new frmHlpBillList1();
+                oFrm.sPrimaryCol = sKeyCol2;
+                oFrm.Text = mvarReportTitle2;
+                oFrm.lblCaption.Text = mvarReportTitle2;
+                oFrm.tSQL = tSQL;
+                oFrm.ViewName = ViewName2;
+                oFrm.ShowDialog();
+                if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
+                {
+                    //杩斿洖鏁版嵁鍒伴泦鍚堜腑
+                    oBillSelectColl.Clear();
+                    MainIDCol = oFrm.Fun_GetCol("hmainid");
+                    SubIDCol = oFrm.Fun_GetCol("hsubid");
+                    BillNoCol = oFrm.Fun_GetCol("鍗曟嵁鍙�");
+                    //寰幆 閫変腑琛�
+                    for (int i = 0; i < oFrm.grdMain.SelectedRows.Count; i++)
+                    {
+                        BillSelect oSelect = new BillSelect();
+                        oSelect.BillNo = ClsPub.isStrNull(oFrm.grdMain.Rows[oFrm.grdMain.SelectedRows[i].Index].Cells[BillNoCol].Value);
+                        oSelect.BillMainID = ClsPub.isLong(oFrm.grdMain.Rows[oFrm.grdMain.SelectedRows[i].Index].Cells[MainIDCol].Value);
+                        oSelect.BillSubID = ClsPub.isLong(oFrm.grdMain.Rows[oFrm.grdMain.SelectedRows[i].Index].Cells[SubIDCol].Value);
+                        oSelect.BillTitle = mvarReportTitle2;
+                        oSelect.BillType = mvarItemKey2;
+                        oBillSelectColl.Add(oSelect);
+                    }
+                }
+                //
+                if (oBillSelectColl.Count > 0)
+                    return true;
+                else
+                    return false;
+            }
+            catch (Exception e)
+            {
+                sErr = e.Message;
+            }
+            return true;
+        }
+
+        //鏄剧ず鏁版嵁3
+        /// <summary>
+        /// 鏄剧ず鏁版嵁3
+        /// </summary>
+        /// <param name="sWhere">涓籗QL</param>
+        /// <param name="sCondtion">杩囨护鏉′欢</param>
+        /// <param name="sOrderSql">鎺掑簭鏉′欢</param>
+        /// <param name="sKeyCol">涓嶅彲閲嶅鍒�</param>
+        /// <returns></returns>
+        public virtual bool Refresh_A3(string sWhere)
+        {
+            string sErr = "";
+            int MainIDCol, SubIDCol, BillNoCol;
+            string tSQL;
+            ClsCN oCn = new ClsCN();
+            tSQL = sWhere + sCondtion2 + sOrderSql2;
+            try
+            {
+                oFrm = new frmHlpBillList1();
+                oFrm.sPrimaryCol = sKeyCol2;
+                oFrm.Text = mvarReportTitle2;
+                oFrm.lblCaption.Text = mvarReportTitle2;
+                oFrm.tSQL = tSQL;
+                oFrm.ViewName = ViewName2;
+                oFrm.ShowDialog();
+                if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
+                {
+                    //杩斿洖鏁版嵁鍒伴泦鍚堜腑
+                    oBillSelectColl2.Clear();
+                    MainIDCol = oFrm.Fun_GetCol("hmainid");
+                    SubIDCol = oFrm.Fun_GetCol("hsubid");
+                    BillNoCol = oFrm.Fun_GetCol("鍗曟嵁鍙�");
+                    //寰幆 閫変腑琛�
+                    for (int i = 0; i < oFrm.grdMain.SelectedRows.Count; i++)
+                    {
+                        BillSelect_A3 oSelect = new BillSelect_A3();
+                        oSelect.BillNo = ClsPub.isStrNull(oFrm.grdMain.Rows[oFrm.grdMain.SelectedRows[i].Index].Cells[BillNoCol].Value);
+                        oSelect.BillMainID = ClsPub.isStrNull(oFrm.grdMain.Rows[oFrm.grdMain.SelectedRows[i].Index].Cells[MainIDCol].Value);
+                        oSelect.BillSubID = ClsPub.isStrNull(oFrm.grdMain.Rows[oFrm.grdMain.SelectedRows[i].Index].Cells[SubIDCol].Value);
+                        oSelect.BillTitle = mvarReportTitle2;
+                        oSelect.BillType = mvarItemKey2;
+                        oBillSelectColl2.Add(oSelect);
+                    }
+                }
+                //
+                if (oBillSelectColl2.Count > 0)
+                    return true;
+                else
+                    return false;
+            }
+            catch (Exception e)
+            {
+                sErr = e.Message;
+            }
+            return true;
+        }
+
+
+
+
+
+        //杩斿洖鍗曟嵁鍒楄〃
+        /// <summary>
+        /// 杩斿洖鍗曟嵁鍒楄〃
+        /// </summary>
+        /// <param name="sWhere">杩囨护鏉′欢</param>
+        public DataSet DisSourceBillList(string sWhere)
+        {
+            try
+            {
+                ClsCN oCn = new ClsCN();
+                return oCn.RunProcReturn("select "+sShowItemSql+" from " + ViewName + "  " + sWhere + sCondtion + sOrderSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo);
+            }
+            catch (Exception e)
+            {
+                DBUtility.ClsPub.sExeReturnInfo += "杩斿洖鍗曟嵁鍒楄〃澶辫触锛�" + e.Message;
+                return null;
+            }
+        }
+
+        //杩斿洖鍗曟嵁鍒楄〃
+        /// <summary>
+        /// 杩斿洖鍗曟嵁鍒楄〃
+        /// </summary>
+        /// <param name="sWhere">杩囨护鏉′欢</param>
+        public  DataSet DisSourceBillList2(string sWhere)
+        {
+            try
+            {
+                ClsCN oCn = new ClsCN();
+                return oCn.RunProcReturn("select " + sShowItemSql2 + " from " + ViewName2 + "  " + sWhere + sCondtion2 + sOrderSql2, ViewName2, ref DBUtility.ClsPub.sExeReturnInfo);
+            }
+            catch (Exception e)
+            {
+                DBUtility.ClsPub.sExeReturnInfo += "杩斿洖鍗曟嵁鍒楄〃澶辫触锛�" + e.Message;
+                return null;
+            }
+        }
+
+        public virtual bool Refresh3(string sWhere)
+        {
+            string sErr = "";
+            int MainIDCol, SubIDCol, BillNoCol;
+            string tSQL;
+            ClsCN oCn = new ClsCN();
+            tSQL = sWhere + sCondtion + sOrderSql;
+            try
+            {
+                oFrm = new frmHlpBillList1();
+                oFrm.sPrimaryCol = sKeyCol;
+                oFrm.Text = mvarReportTitle;
+                oFrm.lblCaption.Text = mvarReportTitle;
+                oFrm.tSQL = tSQL;
+                oFrm.ViewName = ViewName;
+                oFrm.ShowDialog();
+                //杩斿洖鏁版嵁鍒伴泦鍚堜腑
+                oBillSelectColl.Clear();
+                if (oFrm.OKTag == Pub_Class.ClsPub.Enum_OKTag.OKTag_OK)
+                {
+                    MainIDCol = oFrm.Fun_GetCol("HMaterID");
+                    //SubIDCol = oFrm.Fun_GetCol("hsubid");
+                    //BillNoCol = oFrm.Fun_GetCol("鍗曟嵁鍙�");
+                    //寰幆 閫変腑琛�
+                    for (int i = 0; i < oFrm.grdMain.SelectedRows.Count; i++)
+                    {
+                        BillSelect oSelect = new BillSelect();
+                        //oSelect.BillNo = ClsPub.isStrNull(oFrm.grdMain.Rows[oFrm.grdMain.SelectedRows[i].Index].Cells[BillNoCol].Value);
+                        oSelect.BillMainID = ClsPub.isLong(oFrm.grdMain.Rows[oFrm.grdMain.SelectedRows[i].Index].Cells[MainIDCol].Value);
+                        //oSelect.BillSubID = ClsPub.isLong(oFrm.grdMain.Rows[oFrm.grdMain.SelectedRows[i].Index].Cells[SubIDCol].Value);
+                        oSelect.BillTitle = mvarReportTitle;
+                        oSelect.BillType = mvarItemKey;
+                        oBillSelectColl.Add(oSelect);
+                    }
+                }
+                //
+                if (oBillSelectColl.Count > 0)
+                    return true;
+                else
+                    return false;
+            }
+            catch (Exception e)
+            {
+                sErr = e.Message;
+            }
+            return true;
+        }
+
+        //鏍规嵁婧愬崟鍙� 妯℃嫙鏌ヨ鏁版嵁
+        /// <summary>
+        /// 鏄剧ず鏁版嵁
+        /// </summary>
+        /// <param name="sWhere">涓籗QL</param>
+        /// <param name="sCondtion">杩囨护鏉′欢</param>
+        /// <param name="sOrderSql">鎺掑簭鏉′欢</param>
+        /// <param name="sKeyCol">涓嶅彲閲嶅鍒�</param>
+        /// <returns></returns>
+        public virtual bool RefreshBySourceBillNo(string sWhere)
+        {
+            string sErr = "";
+            string tSQL;
+            ClsCN oCn = new ClsCN();
+            tSQL = " select hmainid,hsubid,鍗曟嵁鍙� from " + ViewName + sWhere + sOrderSql;
+            try
+            {
+                DataSet ds = oCn.RunProcReturn(tSQL, ViewName, ref DBUtility.ClsPub.sExeReturnInfo);
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    return false;
+                }
+                //杩斿洖鏁版嵁鍒伴泦鍚堜腑
+                oBillSelectColl.Clear();
+
+                //寰幆 閫変腑琛�
+                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
+                {
+                    BillSelect oSelect = new BillSelect();
+                    oSelect.BillNo = ClsPub.isStrNull(ds.Tables[0].Rows[i]["鍗曟嵁鍙�"]);
+                    oSelect.BillMainID = ClsPub.isLong(ds.Tables[0].Rows[i]["hmainid"]);
+                    oSelect.BillSubID = ClsPub.isLong(ds.Tables[0].Rows[i]["hsubid"]);
+                    oSelect.BillTitle = mvarReportTitle;
+                    oSelect.BillType = mvarItemKey;
+                    oBillSelectColl.Add(oSelect);
+                }
+                //
+                if (oBillSelectColl.Count > 0)
+                    return true;
+                else
+                    return false;
+            }
+            catch (Exception e)
+            {
+                sErr = e.Message;
+            }
+            return true;
+        }
+
+
+
+    }
+}
diff --git "a/DAL/\346\272\220\345\215\225/InterFace\346\272\220\345\215\225/Cls_S_IFCLD_ICMOList1.cs" "b/DAL/\346\272\220\345\215\225/InterFace\346\272\220\345\215\225/Cls_S_IFCLD_ICMOList1.cs"
new file mode 100644
index 0000000..6de8249
--- /dev/null
+++ "b/DAL/\346\272\220\345\215\225/InterFace\346\272\220\345\215\225/Cls_S_IFCLD_ICMOList1.cs"
@@ -0,0 +1,22 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using SQLHelper;
+using DBUtility;
+
+namespace DAL
+{
+    public class Cls_S_IFCLD_ICMOList1 : Cls_S_Xt_BaseBill1
+    {
+        public Cls_S_IFCLD_ICMOList1()
+        {
+            base.ViewName = "h_v_IFCLD_ICMOBillList_Source";
+            base.mvarReportTitle = "鐢熶骇璁㈠崟";
+            base.mvarItemKey = "3710";
+            base.sCondtion = " ";
+            base.sOrderSql = "   order by 鍗曟嵁鍙� desc ";
+            base.sKeyCol = "閮ㄩ棬";
+        }
+ 
+    }
+}
diff --git "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBill.cs" "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBill.cs"
index 4a758c2..186e9a3 100644
--- "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBill.cs"
+++ "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBill.cs"
@@ -124,6 +124,10 @@
                 ",HWeight='" + omodel.HWeight + "'" +
                 ",HAuxQty='" + omodel.HAuxQty + "'" +
                 ",HAuxUnit='" + omodel.HAuxUnit + "'" +
+
+                ",HAuxQty2='" + omodel.HAuxQty2 + "'" +
+                ",HAuxUnit2='" + omodel.HAuxUnit2 + "'" +
+
                 ",HSplitNo='" + omodel.HSplitNo + "'" +
                 ",HHeight='" + omodel.HHeight + "'" +
                 ",HInches='" + omodel.HInches + "'" +
@@ -370,7 +374,7 @@
                 ",HMaterNumber_B,HMaterNumber_C,HMaterNumber_D,HProdType,HMaterShortName" +
                 ",HMaterIDA,HMaterIDB,HMaterIDC,HMaterIDD,HICMOEntryID" +       
 ",HPicNumVer,HPicNumAssemble,HMaterTexture,HProductNum,HVerNum,HPRDORGID,HBLFlag,HCusNumber,HPickLabel,HPickLabelNumber,HXTNumber,HXTModel,HWorkBillSortNo" +
-               ", HRoutingBillID,HMaterModel,HWidth,HWeight,HAuxQty,HAuxUnit,HSplitNo" +
+               ", HRoutingBillID,HMaterModel,HWidth,HWeight,HAuxQty,HAuxUnit,HAuxQty2,HAuxUnit2,HSplitNo" +
                ",HHeight,HInches,HAl1Long,HDensity,HTela,HUnderTela,HSizing,HSellDate" +
                ",HRemark2,HRemark3,HEmpID,HCusID,HColorRemark,HSplitSumQty,HSplitColorQty,HMachineLine" +
                ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HOrderLevID,HWidth_New,HRemark_New,HWeight_New,HPlanOrderProcNo) " +
@@ -385,7 +389,7 @@
                 ",'" + omodel.HMaterNumber_B + "','" + omodel.HMaterNumber_C + "','" + omodel.HMaterNumber_D + "','" + omodel.HProdType + "','" + omodel.HMaterShortName + "'" +
                 ",'" + omodel.HMaterIDA + "','" + omodel.HMaterIDB + "','" + omodel.HMaterIDC + "','" + omodel.HMaterIDD + "'," + omodel.HICMOEntryID +
                 ",'" + omodel.HPicNumVer + "','" + omodel.HPicNumAssemble + "','" + omodel.HMaterTexture + "','" + omodel.HProductNum + "','" + omodel.HVerNum + "','"+ omodel.HPRDORGID+ "','" + (omodel.HBLFlag ? 1 : 0) + "','" + omodel.HCusNumber + "','" + omodel.HPickLabel + "','" + omodel.HPickLabelNumber + "','" + omodel.HXTNumber + "','" + omodel.HXTModel + "','" + omodel.HWorkBillSortNo + 
-                "','"+ omodel.HRoutingBillID + "','"+ omodel.HMaterModel + "',"+ omodel.HWidth + ","+ omodel.HWeight + ","+ omodel.HAuxQty + ","+ omodel.HAuxUnit +","+ omodel.HSplitNo +"" +
+                "','"+ omodel.HRoutingBillID + "','"+ omodel.HMaterModel + "',"+ omodel.HWidth + ","+ omodel.HWeight + ","+ omodel.HAuxQty + ","+ omodel.HAuxUnit + "," + omodel.HAuxQty2 + "," + omodel.HAuxUnit2 + ","+ omodel.HSplitNo +"" +
                 ",'" + omodel.HHeight + "','" + omodel.HInches + "','" + omodel.HAl1Long + "','" + omodel.HDensity + "','" + omodel.HTela + "','" + omodel.HUnderTela + "','" + omodel.HSizing + "','" + omodel.HSellDate + "'" +
                 ",'"+ omodel.HRemark2 + "','"+ omodel.HRemark3 + "',"+ omodel.HEmpID + "," + omodel.HCusID + ",'"+ omodel.HColorRemark + "',"+ omodel.HSplitSumQty + ","+ omodel.HSplitColorQty + ",'"+ omodel.HMachineLine + "'" +
                 ","+ omodel.HMainSourceInterID + "," + omodel.HMainSourceEntryID + ",'" + omodel.HMainSourceBillNo + "','" + omodel.HOrderLevID + "'," + omodel.HWidth_New + ",'" + omodel.HRemark_New + "'," + omodel.HWeight_New + ",'" + omodel.HPlanOrderProcNo + "'" +
diff --git "a/DBUtility/\344\270\232\345\212\241\345\215\225\346\215\256/ClsXt_BaseBill.cs" "b/DBUtility/\344\270\232\345\212\241\345\215\225\346\215\256/ClsXt_BaseBill.cs"
index 39bffd9..bb4da2a 100644
--- "a/DBUtility/\344\270\232\345\212\241\345\215\225\346\215\256/ClsXt_BaseBill.cs"
+++ "b/DBUtility/\344\270\232\345\212\241\345\215\225\346\215\256/ClsXt_BaseBill.cs"
@@ -218,7 +218,7 @@
         //鍙嶅鏍�
         public bool AbandonCheck(Int64 lngBillKey, ref string sReturn)
         {
-
+            string sql = "";
             if (isUse(lngBillKey, ref sReturn))
             {
                 return false;
@@ -238,7 +238,21 @@
                 {
                     oCn.RunProc(" Update " + MvarItemKey + " set HChecker='',HCheckDate=null,HBillStatus=1 Where HInterID=" + lngBillKey.ToString());
                 }
-               
+
+                //鍙嶅鏍稿悗 鏇存柊鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                sql = "select * from  " + MvarItemKey + " where HInterID=" + lngBillKey.ToString();
+                ds = oCn.RunProcReturn(sql, MvarItemKey);
+                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
+                {
+                    string HBillType = ds.Tables[0].Rows[0]["HBillType"].ToString();
+                    if (HBillType == "1201" || HBillType == "1202" || HBillType == "1203" || HBillType == "1247" || HBillType == "1244" || HBillType == "1251" || HBillType == "1210" || HBillType == "1204")
+                    {
+                        //鍙嶅鏍告洿鏂� 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨 1201 1202 1203 1247 1244 1251 1210
+                        //鍙嶅鏍告洿鏂� 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨 1204 1202 1203 1247 1244 1251 1210
+                        ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + lngBillKey.ToString() + "','" + HBillType + "','2'", "h_KF_UPDateICinventory");
+                    }
+                }
+
                 sReturn = "";
                 return true;
             }
@@ -292,6 +306,19 @@
                     oCn.RollBack();
                     return false;
                 }
+                //鍙嶅鏍稿悗 鏇存柊鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                sql = "select * from  " + MvarItemKey + " where HInterID=" + lngBillKey.ToString();
+                ds = oCn.RunProcReturn(sql, MvarItemKey);
+                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
+                {
+                    string HBillType = ds.Tables[0].Rows[0]["HBillType"].ToString();
+                    if (HBillType == "1201" || HBillType == "1202" || HBillType == "1203" || HBillType == "1247" || HBillType == "1244" || HBillType == "1251" || HBillType == "1210" || HBillType == "1205" || HBillType == "1250" || HBillType == "1206" || HBillType == "1245" || HBillType == "1239")
+                    {
+                        //鍙嶅鏍告洿鏂� 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨 1201 1202 1203 1247 1244 1251 1210
+                        //鍙嶅鏍告洿鏂� 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨 1205 1250 1206 1245 1239 
+                        ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + lngBillKey.ToString() + "','" + HBillType + "','2'", "h_KF_UPDateICinventory");
+                    }
+                }
                 //鍐欏叆鏃ュ織
                 string WorkList = "鍙嶅鏍稿崟鎹紝鍗曟嵁鍙凤細" + HBillNo;
                 string SystemName = "LMES-" + MvarReportTitle + "妯″潡";
@@ -314,12 +341,26 @@
         //瀹℃牳
         public bool CheckBill(Int64 lngBillKey, ref string sReturn)
         {
-           
+            string sql = "";
+            DataSet ds;
             try
             {
                 string  HChecker = ClsPub.CurUserName ;
                 string  HCheckDate =ClsPub.GetServerDate(-1);
                 oCn.RunProc(" Update " + MvarItemKey + " set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "',HBillStatus=2 Where HInterID=" + lngBillKey.ToString());
+                //瀹℃牳鍚� 鏇存柊鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨
+                sql = "select * from  " + MvarItemKey + " where HInterID=" + lngBillKey.ToString();
+                ds = oCn.RunProcReturn(sql, MvarItemKey);
+                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
+                {
+                    string HBillType = ds.Tables[0].Rows[0]["HBillType"].ToString();
+                    if (HBillType == "1201" || HBillType == "1202" || HBillType == "1203" || HBillType == "1247" || HBillType == "1244" || HBillType == "1251" || HBillType == "1210" || HBillType == "1204")
+                    {
+                        //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨 1201 1202 1203 1247 1244 1251 1210
+                        //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨 1204 
+                        ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + lngBillKey.ToString() + "','" + HBillType + "','1'", "h_KF_UPDateICinventory");
+                    }
+                }
                 sReturn = "";
                 return true;
             }
@@ -356,7 +397,7 @@
             {
                 string HChecker = sUser;
                 string HCheckDate = ClsPub.GetServerDate(-1);
-
+                
                 //寮�鍚簨鍔�
                 oCn.BeginTran();
 
@@ -377,6 +418,19 @@
                     sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString();
                     oCn.RollBack();
                     return false;
+                }
+                //瀹℃牳鍚� 鏇存柊鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨
+                sql = "select * from  " + MvarItemKey + " where HInterID=" + lngBillKey.ToString();
+                ds = oCn.RunProcReturn(sql, MvarItemKey);
+                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
+                {
+                    string HBillType = ds.Tables[0].Rows[0]["HBillType"].ToString();
+                    if (HBillType == "1201" || HBillType == "1202" || HBillType == "1203" || HBillType == "1247" || HBillType == "1244" || HBillType == "1251" || HBillType == "1210" || HBillType == "1250" || HBillType == "1206" || HBillType == "1245" || HBillType == "1239")
+                    {
+                        //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨 1201 1202 1203 1247 1244 1251 1210
+                        //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨 1204 1250 1206 1245 1239 
+                        ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + lngBillKey.ToString() + "','" + HBillType + "','1'", "h_KF_UPDateICinventory");
+                    }  
                 }
                 //鍐欏叆鏃ュ織
                 string WorkList = "瀹℃牳鍗曟嵁锛屽崟鎹彿锛�" + HBillNo;
@@ -442,6 +496,73 @@
                 throw (e);
             }
         }
+
+        //琛屽叧闂崟鎹紙琛屽叧闂悗鎺у埗锛�(鍖呭惈鍐欏叆鏃ュ織)    2024-01-31
+        public bool CloseRow(Int64 lngBillKey, Int64 HEntryID, string HBillNo, string sUser, string procName, ref string sReturn)
+        {
+            DataSet ds;
+            try
+            {
+                oCn.BeginTran();
+                string HCloseMan = sUser;
+                string HEntryCloseDate = ClsPub.GetServerDate(-1);
+                //鍙樻洿琛屽叧闂姸鎬�
+                string sql = " Update " + MvarItemKeySub + " set HCloseMan='" + HCloseMan + "',HEntryCloseDate='" + HEntryCloseDate + "',HCloseType=1 Where HInterID=" + lngBillKey.ToString() + " and HEntryID = " + HEntryID;
+                oCn.RunProc(sql);
+
+                //妫�鏌ュ崟鎹瓙琛ㄦ墍鏈夎鏄惁閮藉叧闂紝鑻ラ兘鍏抽棴鍒欒嚜鍔ㄥ叧闂崟鎹�
+                //sql = "select * from " + MvarItemKeySub + " where HInterID=" + lngBillKey + " and HCloseMan=''";
+                //ds = oCn.RunProcReturn(sql, MvarItemKeySub);
+                //if(ds!=null && ds.Tables[0].Rows.Count == 0)
+                //{
+                //    sql = " Update " + MvarItemKey + " set HCloseMan='" + HCloseMan + "',HCloseDate=getdate(),HBillStatus=3,HCloseType = 0 Where HInterID=" + lngBillKey.ToString();
+                //    oCn.RunProc(sql);
+                //}
+
+                //鍐欏叆鏃ュ織
+                string WorkList = "琛屽叧闂紝鍗曟嵁鍙凤細" + HBillNo + "锛涘瓙琛ㄥ唴鐮侊細" + HEntryID;
+                string SystemName = "LMES-" + MvarReportTitle + "妯″潡";
+                oCn.RunProc("Insert into  System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
+                    "(getdate(),'" + sUser + "','" + ComputerName + "','" + WorkList + "','" + SystemName + "','" + IPAddress + "','琛屽叧闂�')"
+                    );
+
+
+
+                //琛屽叧闂悗鎺у埗=========================================      
+                string sql_afterClose = "exec " + procName + " " + lngBillKey + "," + HEntryID + ",'" + HBillNo + "','" + sUser + "'";
+                DataSet ds_afterClose = oCn.RunProcReturn(sql_afterClose, procName);
+                if (ds_afterClose == null || ds_afterClose.Tables[0].Rows.Count <= 0)
+                {
+                    sReturn = "琛屽叧闂け璐ワ紝鍘熷洜锛氳鍏抽棴鍚庢帶鍒堕敊璇紝璇疯仈绯荤綉缁滅鐞嗕汉鍛橈紒";
+
+                    oCn.RollBack();
+
+                    return false;
+                }
+                else
+                {
+                    if (ds_afterClose.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        sReturn = "鍏抽棴澶辫触锛屽師鍥狅細" + ds_afterClose.Tables[0].Rows[0]["HRemark"].ToString();
+                        oCn.RollBack();
+
+                        return false;
+                    }
+                }
+                //=========================================
+
+
+                sReturn = "琛屽叧闂垚鍔燂紒";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
         //琛屽叧闂崟鎹�(鍖呭惈鍐欏叆鏃ュ織)    2024-01-31
         public bool CloseRow(Int64 lngBillKey,Int64 HEntryID, string HBillNo, string sUser, ref string sReturn)
         {
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/ClsSc_ICMOBillSub.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/ClsSc_ICMOBillSub.cs"
index c4c6e59..d17638f 100644
--- "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/ClsSc_ICMOBillSub.cs"
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/ClsSc_ICMOBillSub.cs"
@@ -37,6 +37,10 @@
         public string HBatchNo;     //生产批次号,
         public double HAuxQty; //辅数量
         public int HAuxUnit; //辅助单位
+
+        public double HAuxQty2; //辅数量2
+        public int HAuxUnit2; //辅助单位2
+        
         public double HWidth; //幅宽
         public double HWeight; //克重
         public string HColorRemark; //染色要求
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBillMain.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBillMain.cs"
index 022d4ff..04ad9a6 100644
--- "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBillMain.cs"
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBillMain.cs"
@@ -90,6 +90,10 @@
         public double HWeight;//克重
         public double HAuxQty;//辅数量
         public int HAuxUnit;//辅助单位
+
+        public double HAuxQty2; //辅数量2
+        public int HAuxUnit2; //辅助单位2
+
         public int HSplitNo;//拆分号
         public int HSplitSumQty;//拆分总量
         public int HSplitColorQty;//分缸号
diff --git a/WarM/WarM.csproj b/WarM/WarM.csproj
index 93674ad..622dce6 100644
--- a/WarM/WarM.csproj
+++ b/WarM/WarM.csproj
@@ -74,6 +74,7 @@
       <HintPath>..\OCX\Interop.gregn6Lib.dll</HintPath>
       <EmbedInteropTypes>True</EmbedInteropTypes>
     </Reference>
+    <Reference Include="Microsoft.VisualBasic" />
     <Reference Include="NPOI, Version=2.1.3.1, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\OCX\NPOI.dll</HintPath>
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.cs"
index 6da5b7b..cd8997c 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.cs"
@@ -223,14 +223,14 @@
                 //绯荤粺鍙傛暟锛岀敓鎴愭潯鐮佹暟閲忓彲鍚﹁秴婧愬崟鏁伴噺鎺у埗锛圢涓轰笉鍙秴婧愬崟鏁伴噺锛�
                 if (SourceQtyCtl == "N")
                 {
-                    sWhere = " and HOrgID =" + HOrgID.ToString() + " and 浠诲姟鏁伴噺>0 and 鐢熶骇绾�='" + comboBox_SourceNameParams.Text + "' ";
+                    sWhere = " and HOrgID =" + HOrgID.ToString() + " and 浠诲姟鏁伴噺>0 and 鐘舵�� = '寮�宸�' and 鐢熶骇绾�='" + comboBox_SourceNameParams.Text + "' ";
                 }
                 else
                 {
-                    sWhere = " and HOrgID =" + HOrgID.ToString();
+                    sWhere = " and HOrgID =" + HOrgID.ToString() + " and 鐘舵�� = '寮�宸�' and 鐢熶骇绾�='" + comboBox_SourceNameParams.Text + "' "; ;
                 }
 
-                DAL.Cls_S_IFCLD_ICMOList oIFCLD_ICMOList = new DAL.Cls_S_IFCLD_ICMOList();
+                DAL.Cls_S_IFCLD_ICMOList1 oIFCLD_ICMOList = new DAL.Cls_S_IFCLD_ICMOList1();
                 if (oIFCLD_ICMOList.Refresh(sWhere))  //閫夋嫨鍘熷崟
                 {
                     FillSelectData(oIFCLD_ICMOList.oBillSelectColl);
@@ -1084,6 +1084,10 @@
                     {
                         string RMess = Encoding.UTF8.GetString(buffer, 0, length);
                         produceQty = ClsPub.isLong(RMess);
+                        if (produceQty == 0)
+                        {
+                            produceQty = 1;
+                        }
                     }
                 }
             }
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.designer.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.designer.cs"
index 0831a25..cc005aa 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.designer.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.designer.cs"
@@ -207,7 +207,7 @@
             this.Tool.Location = new System.Drawing.Point(0, 0);
             this.Tool.Name = "Tool";
             this.Tool.Padding = new System.Windows.Forms.Padding(0);
-            this.Tool.Size = new System.Drawing.Size(1526, 75);
+            this.Tool.Size = new System.Drawing.Size(1924, 75);
             this.Tool.Stretch = true;
             this.Tool.TabIndex = 17;
             this.Tool.Text = "toolStrip1";
@@ -528,7 +528,7 @@
             this.P1.Location = new System.Drawing.Point(62, 75);
             this.P1.Margin = new System.Windows.Forms.Padding(4);
             this.P1.Name = "P1";
-            this.P1.Size = new System.Drawing.Size(1406, 358);
+            this.P1.Size = new System.Drawing.Size(1804, 358);
             this.P1.TabIndex = 31;
             // 
             // tabControl_MainInfo
@@ -538,7 +538,7 @@
             this.tabControl_MainInfo.Location = new System.Drawing.Point(3, 4);
             this.tabControl_MainInfo.Name = "tabControl_MainInfo";
             this.tabControl_MainInfo.SelectedIndex = 0;
-            this.tabControl_MainInfo.Size = new System.Drawing.Size(1395, 346);
+            this.tabControl_MainInfo.Size = new System.Drawing.Size(1794, 346);
             this.tabControl_MainInfo.TabIndex = 38;
             // 
             // tabPage_BillInfo
@@ -548,7 +548,7 @@
             this.tabPage_BillInfo.Location = new System.Drawing.Point(4, 28);
             this.tabPage_BillInfo.Name = "tabPage_BillInfo";
             this.tabPage_BillInfo.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage_BillInfo.Size = new System.Drawing.Size(1387, 314);
+            this.tabPage_BillInfo.Size = new System.Drawing.Size(1786, 314);
             this.tabPage_BillInfo.TabIndex = 0;
             this.tabPage_BillInfo.Text = "宸ュ崟淇℃伅";
             // 
@@ -587,17 +587,17 @@
             this.gbUp.Margin = new System.Windows.Forms.Padding(4);
             this.gbUp.Name = "gbUp";
             this.gbUp.Padding = new System.Windows.Forms.Padding(4);
-            this.gbUp.Size = new System.Drawing.Size(1379, 310);
+            this.gbUp.Size = new System.Drawing.Size(1775, 310);
             this.gbUp.TabIndex = 33;
             this.gbUp.TabStop = false;
             // 
             // cmdSourceBillNo
             // 
             this.cmdSourceBillNo.Image = ((System.Drawing.Image)(resources.GetObject("cmdSourceBillNo.Image")));
-            this.cmdSourceBillNo.Location = new System.Drawing.Point(1214, -4);
+            this.cmdSourceBillNo.Location = new System.Drawing.Point(1645, 0);
             this.cmdSourceBillNo.Margin = new System.Windows.Forms.Padding(4);
             this.cmdSourceBillNo.Name = "cmdSourceBillNo";
-            this.cmdSourceBillNo.Size = new System.Drawing.Size(60, 60);
+            this.cmdSourceBillNo.Size = new System.Drawing.Size(122, 70);
             this.cmdSourceBillNo.TabIndex = 99;
             this.cmdSourceBillNo.UseVisualStyleBackColor = true;
             this.cmdSourceBillNo.Click += new System.EventHandler(this.cmdSourceBillNo_Click_1);
@@ -606,7 +606,7 @@
             // 
             this.cmbHWorksNumber.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
             this.cmbHWorksNumber.FormattingEnabled = true;
-            this.cmbHWorksNumber.Location = new System.Drawing.Point(973, 250);
+            this.cmbHWorksNumber.Location = new System.Drawing.Point(122, 230);
             this.cmbHWorksNumber.Margin = new System.Windows.Forms.Padding(4);
             this.cmbHWorksNumber.Name = "cmbHWorksNumber";
             this.cmbHWorksNumber.Size = new System.Drawing.Size(280, 26);
@@ -617,7 +617,7 @@
             // 
             this.label4.AutoSize = true;
             this.label4.ForeColor = System.Drawing.Color.Black;
-            this.label4.Location = new System.Drawing.Point(872, 256);
+            this.label4.Location = new System.Drawing.Point(21, 236);
             this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label4.Name = "label4";
             this.label4.Size = new System.Drawing.Size(80, 18);
@@ -639,7 +639,7 @@
             // 
             this.radioButton_HIsUsingBatchNo.AutoSize = true;
             this.radioButton_HIsUsingBatchNo.Enabled = false;
-            this.radioButton_HIsUsingBatchNo.Location = new System.Drawing.Point(874, 190);
+            this.radioButton_HIsUsingBatchNo.Location = new System.Drawing.Point(600, 175);
             this.radioButton_HIsUsingBatchNo.Name = "radioButton_HIsUsingBatchNo";
             this.radioButton_HIsUsingBatchNo.Size = new System.Drawing.Size(141, 22);
             this.radioButton_HIsUsingBatchNo.TabIndex = 98;
@@ -658,9 +658,9 @@
             // 
             // button_stopListen
             // 
-            this.button_stopListen.Location = new System.Drawing.Point(404, 223);
+            this.button_stopListen.Location = new System.Drawing.Point(958, 203);
             this.button_stopListen.Name = "button_stopListen";
-            this.button_stopListen.Size = new System.Drawing.Size(192, 62);
+            this.button_stopListen.Size = new System.Drawing.Size(192, 101);
             this.button_stopListen.TabIndex = 97;
             this.button_stopListen.Text = "鍋滄鐩戝惉";
             this.button_stopListen.UseVisualStyleBackColor = true;
@@ -678,7 +678,7 @@
             // dtpHDate
             // 
             this.dtpHDate.Format = System.Windows.Forms.DateTimePickerFormat.Short;
-            this.dtpHDate.Location = new System.Drawing.Point(967, 74);
+            this.dtpHDate.Location = new System.Drawing.Point(697, 124);
             this.dtpHDate.Name = "dtpHDate";
             this.dtpHDate.Size = new System.Drawing.Size(280, 28);
             this.dtpHDate.TabIndex = 96;
@@ -686,7 +686,7 @@
             // label_HMaterNumber
             // 
             this.label_HMaterNumber.AutoSize = true;
-            this.label_HMaterNumber.Location = new System.Drawing.Point(19, 140);
+            this.label_HMaterNumber.Location = new System.Drawing.Point(1178, 80);
             this.label_HMaterNumber.Name = "label_HMaterNumber";
             this.label_HMaterNumber.Size = new System.Drawing.Size(80, 18);
             this.label_HMaterNumber.TabIndex = 86;
@@ -695,7 +695,7 @@
             // label2
             // 
             this.label2.AutoSize = true;
-            this.label2.Location = new System.Drawing.Point(867, 80);
+            this.label2.Location = new System.Drawing.Point(597, 130);
             this.label2.Name = "label2";
             this.label2.Size = new System.Drawing.Size(80, 18);
             this.label2.TabIndex = 95;
@@ -705,16 +705,18 @@
             // 
             this.textBox_HMaterNumber.BackColor = System.Drawing.SystemColors.ScrollBar;
             this.textBox_HMaterNumber.Enabled = false;
-            this.textBox_HMaterNumber.Location = new System.Drawing.Point(121, 137);
+            this.textBox_HMaterNumber.Font = new System.Drawing.Font("瀹嬩綋", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.textBox_HMaterNumber.Location = new System.Drawing.Point(1280, 77);
+            this.textBox_HMaterNumber.Multiline = true;
             this.textBox_HMaterNumber.Name = "textBox_HMaterNumber";
-            this.textBox_HMaterNumber.Size = new System.Drawing.Size(280, 28);
+            this.textBox_HMaterNumber.Size = new System.Drawing.Size(468, 48);
             this.textBox_HMaterNumber.TabIndex = 87;
             // 
             // button_startListen
             // 
-            this.button_startListen.Location = new System.Drawing.Point(187, 223);
+            this.button_startListen.Location = new System.Drawing.Point(521, 203);
             this.button_startListen.Name = "button_startListen";
-            this.button_startListen.Size = new System.Drawing.Size(160, 62);
+            this.button_startListen.Size = new System.Drawing.Size(160, 100);
             this.button_startListen.TabIndex = 96;
             this.button_startListen.Text = "寮�濮嬬洃鍚�";
             this.button_startListen.UseVisualStyleBackColor = true;
@@ -723,7 +725,7 @@
             // label_HMaterName
             // 
             this.label_HMaterName.AutoSize = true;
-            this.label_HMaterName.Location = new System.Drawing.Point(445, 140);
+            this.label_HMaterName.Location = new System.Drawing.Point(1175, 136);
             this.label_HMaterName.Name = "label_HMaterName";
             this.label_HMaterName.Size = new System.Drawing.Size(80, 18);
             this.label_HMaterName.TabIndex = 88;
@@ -733,7 +735,7 @@
             // 
             this.cmbHBarCodeType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
             this.cmbHBarCodeType.FormattingEnabled = true;
-            this.cmbHBarCodeType.Location = new System.Drawing.Point(550, 80);
+            this.cmbHBarCodeType.Location = new System.Drawing.Point(697, 80);
             this.cmbHBarCodeType.Margin = new System.Windows.Forms.Padding(4);
             this.cmbHBarCodeType.Name = "cmbHBarCodeType";
             this.cmbHBarCodeType.Size = new System.Drawing.Size(280, 26);
@@ -743,15 +745,17 @@
             // 
             this.textBox_HMaterName.BackColor = System.Drawing.SystemColors.ScrollBar;
             this.textBox_HMaterName.Enabled = false;
-            this.textBox_HMaterName.Location = new System.Drawing.Point(550, 135);
+            this.textBox_HMaterName.Font = new System.Drawing.Font("瀹嬩綋", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.textBox_HMaterName.Location = new System.Drawing.Point(1280, 131);
+            this.textBox_HMaterName.Multiline = true;
             this.textBox_HMaterName.Name = "textBox_HMaterName";
-            this.textBox_HMaterName.Size = new System.Drawing.Size(280, 28);
+            this.textBox_HMaterName.Size = new System.Drawing.Size(468, 57);
             this.textBox_HMaterName.TabIndex = 89;
             // 
             // label_HMaterModel
             // 
             this.label_HMaterModel.AutoSize = true;
-            this.label_HMaterModel.Location = new System.Drawing.Point(871, 140);
+            this.label_HMaterModel.Location = new System.Drawing.Point(1178, 197);
             this.label_HMaterModel.Name = "label_HMaterModel";
             this.label_HMaterModel.Size = new System.Drawing.Size(80, 18);
             this.label_HMaterModel.TabIndex = 90;
@@ -761,7 +765,7 @@
             // 
             this.label1.AutoSize = true;
             this.label1.ForeColor = System.Drawing.Color.Black;
-            this.label1.Location = new System.Drawing.Point(450, 86);
+            this.label1.Location = new System.Drawing.Point(597, 86);
             this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label1.Name = "label1";
             this.label1.Size = new System.Drawing.Size(80, 18);
@@ -772,9 +776,11 @@
             // 
             this.textBox_HMaterModel.BackColor = System.Drawing.SystemColors.ScrollBar;
             this.textBox_HMaterModel.Enabled = false;
-            this.textBox_HMaterModel.Location = new System.Drawing.Point(973, 137);
+            this.textBox_HMaterModel.Font = new System.Drawing.Font("瀹嬩綋", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.textBox_HMaterModel.Location = new System.Drawing.Point(1280, 194);
+            this.textBox_HMaterModel.Multiline = true;
             this.textBox_HMaterModel.Name = "textBox_HMaterModel";
-            this.textBox_HMaterModel.Size = new System.Drawing.Size(280, 28);
+            this.textBox_HMaterModel.Size = new System.Drawing.Size(468, 60);
             this.textBox_HMaterModel.TabIndex = 91;
             // 
             // label3
@@ -791,7 +797,7 @@
             // label_HPlanQty
             // 
             this.label_HPlanQty.AutoSize = true;
-            this.label_HPlanQty.Location = new System.Drawing.Point(19, 192);
+            this.label_HPlanQty.Location = new System.Drawing.Point(20, 131);
             this.label_HPlanQty.Name = "label_HPlanQty";
             this.label_HPlanQty.Size = new System.Drawing.Size(80, 18);
             this.label_HPlanQty.TabIndex = 92;
@@ -802,7 +808,7 @@
             // 
             this.textBox_HQty.BackColor = System.Drawing.SystemColors.ScrollBar;
             this.textBox_HQty.Enabled = false;
-            this.textBox_HQty.Location = new System.Drawing.Point(550, 189);
+            this.textBox_HQty.Location = new System.Drawing.Point(126, 175);
             this.textBox_HQty.Name = "textBox_HQty";
             this.textBox_HQty.Size = new System.Drawing.Size(280, 28);
             this.textBox_HQty.TabIndex = 95;
@@ -813,7 +819,7 @@
             // 
             this.textBox_HPlanQty.BackColor = System.Drawing.SystemColors.ScrollBar;
             this.textBox_HPlanQty.Enabled = false;
-            this.textBox_HPlanQty.Location = new System.Drawing.Point(121, 189);
+            this.textBox_HPlanQty.Location = new System.Drawing.Point(122, 128);
             this.textBox_HPlanQty.Name = "textBox_HPlanQty";
             this.textBox_HPlanQty.Size = new System.Drawing.Size(280, 28);
             this.textBox_HPlanQty.TabIndex = 93;
@@ -823,7 +829,7 @@
             // 
             this.label10.AutoSize = true;
             this.label10.ForeColor = System.Drawing.Color.Black;
-            this.label10.Location = new System.Drawing.Point(450, 25);
+            this.label10.Location = new System.Drawing.Point(597, 25);
             this.label10.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label10.Name = "label10";
             this.label10.Size = new System.Drawing.Size(80, 18);
@@ -832,11 +838,13 @@
             // 
             // txtHSourceBillNo
             // 
+            this.txtHSourceBillNo.Font = new System.Drawing.Font("瀹嬩綋", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.txtHSourceBillNo.ImeMode = System.Windows.Forms.ImeMode.NoControl;
-            this.txtHSourceBillNo.Location = new System.Drawing.Point(967, 15);
+            this.txtHSourceBillNo.Location = new System.Drawing.Point(1280, 6);
             this.txtHSourceBillNo.Margin = new System.Windows.Forms.Padding(4);
+            this.txtHSourceBillNo.Multiline = true;
             this.txtHSourceBillNo.Name = "txtHSourceBillNo";
-            this.txtHSourceBillNo.Size = new System.Drawing.Size(247, 28);
+            this.txtHSourceBillNo.Size = new System.Drawing.Size(364, 64);
             this.txtHSourceBillNo.TabIndex = 41;
             this.txtHSourceBillNo.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtHSourceBillNo_KeyPress);
             // 
@@ -845,7 +853,7 @@
             this.cmbSourceBillType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
             this.cmbSourceBillType.FormattingEnabled = true;
             this.cmbSourceBillType.ImeMode = System.Windows.Forms.ImeMode.NoControl;
-            this.cmbSourceBillType.Location = new System.Drawing.Point(550, 19);
+            this.cmbSourceBillType.Location = new System.Drawing.Point(697, 19);
             this.cmbSourceBillType.Margin = new System.Windows.Forms.Padding(4);
             this.cmbSourceBillType.Name = "cmbSourceBillType";
             this.cmbSourceBillType.Size = new System.Drawing.Size(280, 26);
@@ -855,7 +863,7 @@
             // 
             this.label14.AutoSize = true;
             this.label14.ForeColor = System.Drawing.Color.Black;
-            this.label14.Location = new System.Drawing.Point(866, 21);
+            this.label14.Location = new System.Drawing.Point(1179, 12);
             this.label14.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label14.Name = "label14";
             this.label14.Size = new System.Drawing.Size(80, 18);
@@ -865,7 +873,7 @@
             // label_HQty
             // 
             this.label_HQty.AutoSize = true;
-            this.label_HQty.Location = new System.Drawing.Point(445, 194);
+            this.label_HQty.Location = new System.Drawing.Point(21, 180);
             this.label_HQty.Name = "label_HQty";
             this.label_HQty.Size = new System.Drawing.Size(80, 18);
             this.label_HQty.TabIndex = 94;
@@ -1054,7 +1062,7 @@
             this.panel2.Location = new System.Drawing.Point(62, 758);
             this.panel2.Margin = new System.Windows.Forms.Padding(4);
             this.panel2.Name = "panel2";
-            this.panel2.Size = new System.Drawing.Size(1406, 140);
+            this.panel2.Size = new System.Drawing.Size(1804, 140);
             this.panel2.TabIndex = 32;
             // 
             // txtHDeleteDate
@@ -1294,7 +1302,7 @@
             // panel3
             // 
             this.panel3.Dock = System.Windows.Forms.DockStyle.Right;
-            this.panel3.Location = new System.Drawing.Point(1468, 75);
+            this.panel3.Location = new System.Drawing.Point(1866, 75);
             this.panel3.Margin = new System.Windows.Forms.Padding(4);
             this.panel3.Name = "panel3";
             this.panel3.Size = new System.Drawing.Size(58, 823);
@@ -1314,7 +1322,7 @@
             this.grdSum.RowHeadersWidth = 51;
             this.grdSum.RowTemplate.Height = 23;
             this.grdSum.ScrollBars = System.Windows.Forms.ScrollBars.None;
-            this.grdSum.Size = new System.Drawing.Size(1406, 28);
+            this.grdSum.Size = new System.Drawing.Size(1804, 28);
             this.grdSum.TabIndex = 45;
             // 
             // grdPrint
@@ -1395,7 +1403,7 @@
             this.tabPage1.Margin = new System.Windows.Forms.Padding(4);
             this.tabPage1.Name = "tabPage1";
             this.tabPage1.Padding = new System.Windows.Forms.Padding(4);
-            this.tabPage1.Size = new System.Drawing.Size(1398, 288);
+            this.tabPage1.Size = new System.Drawing.Size(1796, 288);
             this.tabPage1.TabIndex = 0;
             this.tabPage1.Text = "鐗╂枡淇℃伅";
             this.tabPage1.UseVisualStyleBackColor = true;
@@ -1415,7 +1423,7 @@
             this.grdMain.ReadOnly = true;
             this.grdMain.RowHeadersWidth = 30;
             this.grdMain.RowTemplate.Height = 23;
-            this.grdMain.Size = new System.Drawing.Size(1390, 280);
+            this.grdMain.Size = new System.Drawing.Size(1788, 280);
             this.grdMain.TabIndex = 44;
             // 
             // tabControl1
@@ -1430,7 +1438,7 @@
             this.tabControl1.Margin = new System.Windows.Forms.Padding(4);
             this.tabControl1.Name = "tabControl1";
             this.tabControl1.SelectedIndex = 0;
-            this.tabControl1.Size = new System.Drawing.Size(1406, 297);
+            this.tabControl1.Size = new System.Drawing.Size(1804, 297);
             this.tabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
             this.tabControl1.TabIndex = 47;
             this.tabControl1.TabStop = false;
@@ -1494,7 +1502,7 @@
             this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.BackColor = System.Drawing.Color.Lavender;
-            this.ClientSize = new System.Drawing.Size(1526, 898);
+            this.ClientSize = new System.Drawing.Size(1924, 898);
             this.Controls.Add(this.tabControl1);
             this.Controls.Add(this.grdSum);
             this.Controls.Add(this.panel2);
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.resx" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.resx"
index fb00e7d..e5abdc0 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.resx"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_BarCodeBill_automaticallyByPLC_New.resx"
@@ -761,6 +761,6 @@
     <value>1058, 17</value>
   </metadata>
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>62</value>
+    <value>64</value>
   </metadata>
 </root>
\ No newline at end of file
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_PackBarCodeBill_automaticallyByPLC.Designer.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_PackBarCodeBill_automaticallyByPLC.Designer.cs"
index 703f4cb..aa5c8ce 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_PackBarCodeBill_automaticallyByPLC.Designer.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_PackBarCodeBill_automaticallyByPLC.Designer.cs"
@@ -105,7 +105,7 @@
             this.tabControl_MainInfo.Location = new System.Drawing.Point(76, 88);
             this.tabControl_MainInfo.Name = "tabControl_MainInfo";
             this.tabControl_MainInfo.SelectedIndex = 0;
-            this.tabControl_MainInfo.Size = new System.Drawing.Size(1393, 346);
+            this.tabControl_MainInfo.Size = new System.Drawing.Size(1798, 346);
             this.tabControl_MainInfo.TabIndex = 39;
             // 
             // tabPage_BillInfo
@@ -115,7 +115,7 @@
             this.tabPage_BillInfo.Location = new System.Drawing.Point(4, 28);
             this.tabPage_BillInfo.Name = "tabPage_BillInfo";
             this.tabPage_BillInfo.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage_BillInfo.Size = new System.Drawing.Size(1385, 314);
+            this.tabPage_BillInfo.Size = new System.Drawing.Size(1790, 314);
             this.tabPage_BillInfo.TabIndex = 0;
             this.tabPage_BillInfo.Text = "宸ュ崟淇℃伅";
             // 
@@ -148,7 +148,7 @@
             this.gbUp.Margin = new System.Windows.Forms.Padding(4);
             this.gbUp.Name = "gbUp";
             this.gbUp.Padding = new System.Windows.Forms.Padding(4);
-            this.gbUp.Size = new System.Drawing.Size(1374, 310);
+            this.gbUp.Size = new System.Drawing.Size(1779, 310);
             this.gbUp.TabIndex = 33;
             this.gbUp.TabStop = false;
             // 
@@ -165,7 +165,7 @@
             // label_sBillNo
             // 
             this.label_sBillNo.AutoSize = true;
-            this.label_sBillNo.Location = new System.Drawing.Point(450, 136);
+            this.label_sBillNo.Location = new System.Drawing.Point(19, 184);
             this.label_sBillNo.Name = "label_sBillNo";
             this.label_sBillNo.Size = new System.Drawing.Size(80, 18);
             this.label_sBillNo.TabIndex = 121;
@@ -176,16 +176,16 @@
             // 
             this.textBox_sBillNo.BackColor = System.Drawing.SystemColors.ScrollBar;
             this.textBox_sBillNo.Enabled = false;
-            this.textBox_sBillNo.Location = new System.Drawing.Point(552, 133);
+            this.textBox_sBillNo.Location = new System.Drawing.Point(121, 181);
             this.textBox_sBillNo.Name = "textBox_sBillNo";
-            this.textBox_sBillNo.Size = new System.Drawing.Size(280, 28);
+            this.textBox_sBillNo.Size = new System.Drawing.Size(500, 28);
             this.textBox_sBillNo.TabIndex = 122;
             this.textBox_sBillNo.Visible = false;
             // 
             // label_sBillID
             // 
             this.label_sBillID.AutoSize = true;
-            this.label_sBillID.Location = new System.Drawing.Point(19, 136);
+            this.label_sBillID.Location = new System.Drawing.Point(19, 150);
             this.label_sBillID.Name = "label_sBillID";
             this.label_sBillID.Size = new System.Drawing.Size(80, 18);
             this.label_sBillID.TabIndex = 119;
@@ -196,9 +196,9 @@
             // 
             this.textBox_sBillID.BackColor = System.Drawing.SystemColors.ScrollBar;
             this.textBox_sBillID.Enabled = false;
-            this.textBox_sBillID.Location = new System.Drawing.Point(121, 133);
+            this.textBox_sBillID.Location = new System.Drawing.Point(121, 147);
             this.textBox_sBillID.Name = "textBox_sBillID";
-            this.textBox_sBillID.Size = new System.Drawing.Size(280, 28);
+            this.textBox_sBillID.Size = new System.Drawing.Size(500, 28);
             this.textBox_sBillID.TabIndex = 120;
             this.textBox_sBillID.Text = "0";
             this.textBox_sBillID.Visible = false;
@@ -216,18 +216,20 @@
             // textBox_PackQty
             // 
             this.textBox_PackQty.BackColor = System.Drawing.SystemColors.Window;
-            this.textBox_PackQty.Location = new System.Drawing.Point(1058, 80);
+            this.textBox_PackQty.Font = new System.Drawing.Font("瀹嬩綋", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.textBox_PackQty.Location = new System.Drawing.Point(1062, 150);
+            this.textBox_PackQty.Multiline = true;
             this.textBox_PackQty.Name = "textBox_PackQty";
-            this.textBox_PackQty.Size = new System.Drawing.Size(49, 28);
+            this.textBox_PackQty.Size = new System.Drawing.Size(80, 52);
             this.textBox_PackQty.TabIndex = 117;
             // 
             // label6
             // 
             this.label6.AutoSize = true;
-            this.label6.Font = new System.Drawing.Font("瀹嬩綋", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label6.Location = new System.Drawing.Point(1026, 83);
+            this.label6.Font = new System.Drawing.Font("瀹嬩綋", 20F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label6.Location = new System.Drawing.Point(1019, 150);
             this.label6.Name = "label6";
-            this.label6.Size = new System.Drawing.Size(22, 24);
+            this.label6.Size = new System.Drawing.Size(37, 40);
             this.label6.TabIndex = 116;
             this.label6.Text = "/";
             // 
@@ -235,15 +237,17 @@
             // 
             this.textBox_currentQty.BackColor = System.Drawing.SystemColors.ScrollBar;
             this.textBox_currentQty.Enabled = false;
-            this.textBox_currentQty.Location = new System.Drawing.Point(971, 80);
+            this.textBox_currentQty.Font = new System.Drawing.Font("瀹嬩綋", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.textBox_currentQty.Location = new System.Drawing.Point(928, 150);
+            this.textBox_currentQty.Multiline = true;
             this.textBox_currentQty.Name = "textBox_currentQty";
-            this.textBox_currentQty.Size = new System.Drawing.Size(49, 28);
+            this.textBox_currentQty.Size = new System.Drawing.Size(71, 52);
             this.textBox_currentQty.TabIndex = 115;
             // 
             // label_Pack
             // 
             this.label_Pack.AutoSize = true;
-            this.label_Pack.Location = new System.Drawing.Point(871, 86);
+            this.label_Pack.Location = new System.Drawing.Point(828, 156);
             this.label_Pack.Name = "label_Pack";
             this.label_Pack.Size = new System.Drawing.Size(80, 18);
             this.label_Pack.TabIndex = 114;
@@ -252,7 +256,7 @@
             // label_HBarCode
             // 
             this.label_HBarCode.AutoSize = true;
-            this.label_HBarCode.Location = new System.Drawing.Point(450, 84);
+            this.label_HBarCode.Location = new System.Drawing.Point(828, 99);
             this.label_HBarCode.Name = "label_HBarCode";
             this.label_HBarCode.Size = new System.Drawing.Size(80, 18);
             this.label_HBarCode.TabIndex = 99;
@@ -261,9 +265,11 @@
             // textBox_HBarCode
             // 
             this.textBox_HBarCode.BackColor = System.Drawing.SystemColors.Window;
-            this.textBox_HBarCode.Location = new System.Drawing.Point(552, 81);
+            this.textBox_HBarCode.Font = new System.Drawing.Font("瀹嬩綋", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.textBox_HBarCode.Location = new System.Drawing.Point(930, 76);
+            this.textBox_HBarCode.Multiline = true;
             this.textBox_HBarCode.Name = "textBox_HBarCode";
-            this.textBox_HBarCode.Size = new System.Drawing.Size(280, 28);
+            this.textBox_HBarCode.Size = new System.Drawing.Size(573, 60);
             this.textBox_HBarCode.TabIndex = 100;
             this.textBox_HBarCode.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox_HBarCode_KeyPress);
             // 
@@ -274,13 +280,13 @@
             this.cmbHOrgID.Location = new System.Drawing.Point(121, 21);
             this.cmbHOrgID.Margin = new System.Windows.Forms.Padding(4);
             this.cmbHOrgID.Name = "cmbHOrgID";
-            this.cmbHOrgID.Size = new System.Drawing.Size(280, 26);
+            this.cmbHOrgID.Size = new System.Drawing.Size(500, 26);
             this.cmbHOrgID.TabIndex = 85;
             // 
             // label_HPackBarCode
             // 
             this.label_HPackBarCode.AutoSize = true;
-            this.label_HPackBarCode.Location = new System.Drawing.Point(20, 84);
+            this.label_HPackBarCode.Location = new System.Drawing.Point(826, 29);
             this.label_HPackBarCode.Name = "label_HPackBarCode";
             this.label_HPackBarCode.Size = new System.Drawing.Size(80, 18);
             this.label_HPackBarCode.TabIndex = 0;
@@ -299,24 +305,26 @@
             // textBox_HPackBarCode
             // 
             this.textBox_HPackBarCode.BackColor = System.Drawing.SystemColors.ScrollBar;
-            this.textBox_HPackBarCode.Location = new System.Drawing.Point(122, 81);
+            this.textBox_HPackBarCode.Font = new System.Drawing.Font("瀹嬩綋", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.textBox_HPackBarCode.Location = new System.Drawing.Point(928, 8);
+            this.textBox_HPackBarCode.Multiline = true;
             this.textBox_HPackBarCode.Name = "textBox_HPackBarCode";
-            this.textBox_HPackBarCode.Size = new System.Drawing.Size(280, 28);
+            this.textBox_HPackBarCode.Size = new System.Drawing.Size(575, 49);
             this.textBox_HPackBarCode.TabIndex = 43;
             this.textBox_HPackBarCode.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox_HPackBarCode__KeyPress);
             // 
             // dtpHDate
             // 
             this.dtpHDate.Format = System.Windows.Forms.DateTimePickerFormat.Short;
-            this.dtpHDate.Location = new System.Drawing.Point(550, 21);
+            this.dtpHDate.Location = new System.Drawing.Point(121, 76);
             this.dtpHDate.Name = "dtpHDate";
-            this.dtpHDate.Size = new System.Drawing.Size(280, 28);
+            this.dtpHDate.Size = new System.Drawing.Size(500, 28);
             this.dtpHDate.TabIndex = 96;
             // 
             // label2
             // 
             this.label2.AutoSize = true;
-            this.label2.Location = new System.Drawing.Point(450, 27);
+            this.label2.Location = new System.Drawing.Point(21, 82);
             this.label2.Name = "label2";
             this.label2.Size = new System.Drawing.Size(80, 18);
             this.label2.TabIndex = 95;
@@ -336,17 +344,17 @@
             // 
             this.cmbHBarCodeType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
             this.cmbHBarCodeType.FormattingEnabled = true;
-            this.cmbHBarCodeType.Location = new System.Drawing.Point(971, 24);
+            this.cmbHBarCodeType.Location = new System.Drawing.Point(121, 112);
             this.cmbHBarCodeType.Margin = new System.Windows.Forms.Padding(4);
             this.cmbHBarCodeType.Name = "cmbHBarCodeType";
-            this.cmbHBarCodeType.Size = new System.Drawing.Size(280, 26);
+            this.cmbHBarCodeType.Size = new System.Drawing.Size(500, 26);
             this.cmbHBarCodeType.TabIndex = 81;
             // 
             // label1
             // 
             this.label1.AutoSize = true;
             this.label1.ForeColor = System.Drawing.Color.Black;
-            this.label1.Location = new System.Drawing.Point(871, 30);
+            this.label1.Location = new System.Drawing.Point(21, 118);
             this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label1.Name = "label1";
             this.label1.Size = new System.Drawing.Size(80, 18);
@@ -523,7 +531,7 @@
             this.tabControl1.Location = new System.Drawing.Point(80, 444);
             this.tabControl1.Name = "tabControl1";
             this.tabControl1.SelectedIndex = 0;
-            this.tabControl1.Size = new System.Drawing.Size(1458, 383);
+            this.tabControl1.Size = new System.Drawing.Size(1794, 383);
             this.tabControl1.TabIndex = 40;
             // 
             // tabPage1
@@ -533,7 +541,7 @@
             this.tabPage1.Location = new System.Drawing.Point(4, 28);
             this.tabPage1.Name = "tabPage1";
             this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage1.Size = new System.Drawing.Size(1450, 351);
+            this.tabPage1.Size = new System.Drawing.Size(1786, 351);
             this.tabPage1.TabIndex = 0;
             this.tabPage1.Text = "瀛愭潯鐮佸垪琛�";
             // 
@@ -545,7 +553,7 @@
             this.grdMain.Name = "grdMain";
             this.grdMain.RowHeadersWidth = 62;
             this.grdMain.RowTemplate.Height = 30;
-            this.grdMain.Size = new System.Drawing.Size(1444, 345);
+            this.grdMain.Size = new System.Drawing.Size(1780, 345);
             this.grdMain.TabIndex = 0;
             // 
             // tabPage2
@@ -555,7 +563,7 @@
             this.tabPage2.Location = new System.Drawing.Point(4, 28);
             this.tabPage2.Name = "tabPage2";
             this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage2.Size = new System.Drawing.Size(1450, 351);
+            this.tabPage2.Size = new System.Drawing.Size(1786, 351);
             this.tabPage2.TabIndex = 1;
             this.tabPage2.Text = "鎵樼洏鏉$爜";
             // 
@@ -567,7 +575,7 @@
             this.grdSub.Name = "grdSub";
             this.grdSub.RowHeadersWidth = 62;
             this.grdSub.RowTemplate.Height = 30;
-            this.grdSub.Size = new System.Drawing.Size(1438, 342);
+            this.grdSub.Size = new System.Drawing.Size(1777, 342);
             this.grdSub.TabIndex = 1;
             // 
             // Tool
@@ -588,7 +596,7 @@
             this.Tool.Location = new System.Drawing.Point(0, 0);
             this.Tool.Name = "Tool";
             this.Tool.Padding = new System.Windows.Forms.Padding(0);
-            this.Tool.Size = new System.Drawing.Size(1617, 75);
+            this.Tool.Size = new System.Drawing.Size(1886, 75);
             this.Tool.Stretch = true;
             this.Tool.TabIndex = 41;
             this.Tool.Text = "toolStrip1";
@@ -676,7 +684,7 @@
             this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.BackColor = System.Drawing.Color.Lavender;
-            this.ClientSize = new System.Drawing.Size(1617, 956);
+            this.ClientSize = new System.Drawing.Size(1886, 956);
             this.Controls.Add(this.Tool);
             this.Controls.Add(this.tabControl1);
             this.Controls.Add(this.tabControl_MainInfo);
diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_PackBarCodeBill_automaticallyByPLC.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_PackBarCodeBill_automaticallyByPLC.cs"
index a53a36e..b7698c4 100644
--- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_PackBarCodeBill_automaticallyByPLC.cs"
+++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_PackBarCodeBill_automaticallyByPLC.cs"
@@ -10,6 +10,7 @@
 using System.Linq;
 using System.Text;
 using System.Windows.Forms;
+using Microsoft.VisualBasic;
 
 namespace WarM.鏉$爜鎵撳嵃
 {
@@ -71,6 +72,10 @@
         public bool BillChange;   //
         public bool grdStatus;
         public int selectRow = 0;
+
+        //璁板綍褰撳墠缁勬墭鐨勬潯鐮佺殑婧愬崟ID銆佸瓙ID锛岀敤浜庝繚璇佸綋鍓嶆墭涓墍鏈夊瓙鏉$爜涓哄悓涓�涓伐鍗曠敓鎴�
+        public int HSourceInterID_ICMO = 0;
+        public int HSourceEntryID_ICMO = 0;
 
         private void Gy_PackBarCodeBill_automaticallyByPLC_Load(object sender, EventArgs e)
         {
@@ -181,6 +186,11 @@
             DBUtility.Xt_BaseBillFun.initGridList(grdSub, this.Name + "grdSub");
 
             getDisplay_GrdMain();
+
+            if (grdMain.Rows.Count > 0 && grdMain.Rows[0].Cells[4].Value!=null)
+            {
+                getPackQty(grdMain.Rows[0].Cells[4].Value.ToString());
+            }
         }
 
 
@@ -355,7 +365,11 @@
                     return;
                 }
                 this.Sub_SaveBill();
-            }catch(Exception ex)
+
+                //缁勬墭鎴愬姛鍚庯紝娓呯┖缁勬墭鏁伴噺涓庢簮鍗曚俊鎭�
+                set_clearPackQtyAndSourceInfo();
+            }
+            catch(Exception ex)
             {
                 MessageBox.Show(ex.Message);
             }
@@ -364,11 +378,11 @@
         //鑷姩缁勬墭 
         private void button_startListen_Click(object sender, EventArgs e)
         {
-            if (DBUtility.ClsPub.isLong(textBox_PackQty.Text) == 0)
-            {
-                MessageBox.Show("璇疯缃墭鏉$爜鐨勬渶灏忓寘瑁呮暟锛�");
-                return;
-            }
+            //if (DBUtility.ClsPub.isLong(textBox_PackQty.Text) == 0)
+            //{
+            //    MessageBox.Show("璇疯缃墭鏉$爜鐨勬渶灏忓寘瑁呮暟锛�");
+            //    return;
+            //}
 
             isStartListen = 1;
 
@@ -432,6 +446,9 @@
                             Report.Printer.PrinterName = comboBox_PrinterParams.Text.Replace("(榛樿)", "");
                         }
                         Report.Print(false);
+
+                        //缁勬墭鎴愬姛鍚庯紝娓呯┖缁勬墭鏁伴噺涓庢簮鍗曚俊鎭�
+                        set_clearPackQtyAndSourceInfo();
                     }
                 }catch(Exception ex)
                 {
@@ -464,6 +481,8 @@
                 return true;
             }catch(Exception ex)
             {
+                string sql = "exec h_p_WMS_PackBarCodeBill_dealDataWhenError '" + textBox_HPackBarCode + "'";
+                oCn.RunProc(sql);
                 throw new Exception(ex.Message);
             }
             
@@ -746,11 +765,23 @@
             {
                 if (e.KeyChar == (char)Keys.Return)
                 {
+                    //闃查敊鍒ゆ柇
+                    if(!judgeIsSameSourceBill(textBox_HBarCode.Text.Trim()))
+                    {
+                        textBox_HBarCode.Text = "";
+                        return;
+                    }
+
                     SetBarCode_Webs();
                     textBox_HBarCode.Text = "";
                     textBox_HBarCode.Focus();
 
                     autoProducePackBarCode();
+
+                    if (grdMain.Rows.Count ==1 )
+                    {
+                        getPackQty(grdMain.Rows[0].Cells[4].Value.ToString());
+                    }
                 }
             }
             catch (Exception e2)
@@ -1135,6 +1166,11 @@
         private void toolStripButton_Delete_Click(object sender, EventArgs e)
         {
             deleteGrdMainNote();
+
+            if (grdMain.Rows.Count== 0)
+            {
+                set_clearPackQtyAndSourceInfo();
+            }
         }
         #endregion
 
@@ -1145,14 +1181,29 @@
         {
             if (grdMain.SelectedRows != null && grdMain.SelectedRows.Count==1)
             {
-                if (MessageBox.Show("纭畾瑕佸垹闄わ紵", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Cancel)
+                //if (MessageBox.Show("纭畾瑕佸垹闄わ紵", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Cancel)
+                //{
+                //    return;
+                //}
+                //if (MessageBox.Show("鍒犻櫎鍚庡皢涓嶅彲鎭㈠锛岀‘瀹氳缁х画鎿嶄綔锛�", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Cancel)
+                //{
+                //    return;
+                //}
+
+                string pwd = Interaction.InputBox("璇疯緭鍏ュ瘑鐮�", "鍒犻櫎纭锛�", "", 100, 100);
+
+                //鐐瑰嚮鍙栨秷
+                if(pwd == "")
                 {
                     return;
                 }
-                if (MessageBox.Show("鍒犻櫎鍚庡皢涓嶅彲鎭㈠锛岀‘瀹氳缁х画鎿嶄綔锛�", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Cancel)
+
+                if(pwd != "123456")
                 {
+                    MessageBox.Show("瀵嗙爜閿欒锛�");
                     return;
                 }
+
                 Delete();
             }
             else
@@ -1228,6 +1279,9 @@
                 Report.Printer.PrinterName = comboBox_PrinterParams.Text.Replace("(榛樿)", "");
             }
             Report.Print(false);
+
+            //缁勬墭鎴愬姛鍚庯紝娓呯┖缁勬墭鏁伴噺涓庢簮鍗曚俊鎭�
+            set_clearPackQtyAndSourceInfo();
         }
         #endregion
 
@@ -1367,6 +1421,7 @@
 
                 //鑾峰彇缂撳瓨鍒楄〃涓� 鎵樻潯鐮� 瀵瑰簲鐨� 缁勬墭璁板綍
                 sql = "select top(1) a.* from Sc_PackUnionBill_Temp as a inner join Gy_BarCodeBill as b on a.HBarCode = b.HBarCode where a.HBarCode_Pack = '" + HPackBarCode + "' and b.HSourceID = " + HSourceID + " and a.HStockorgID = " + HOrgID;
+                //sql = "select top(1) a.* from Sc_PackUnionBill_Temp as a where a.HBarCode_Pack = '" + HPackBarCode + "' and a.HStockorgID = " + HOrgID;
                 ds = oCn.RunProcReturn(sql, "Sc_PackUnionBill_Temp");
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
@@ -1384,13 +1439,83 @@
                     textBox_sBillNo.Text = HBillNo;
 
                     getDisplay_GrdMain();
+
+                    if (grdMain.Rows.Count > 0 && grdMain.Rows[0].Cells[4].Value != null)
+                    {
+                        getPackQty(grdMain.Rows[0].Cells[4].Value.ToString());
+                    }
                 }
+
+
             }
         }
         #endregion
         #endregion
 
 
+        #region 鏍规嵁鏉$爜缂栧彿锛岃幏鍙栨潯鐮佷腑鐗╂枡鎵�瀵瑰簲鐨勭粍鎵樻暟閲忥紝鍚屾椂璁板綍婧愬崟涓籌D銆佸瓙ID
+        private void getPackQty(string HBarCode)
+        {
+            string sql = "select * from h_v_IF_BarCodeBillList_getPackQty where 鏉$爜缂栧彿 = '" + HBarCode + "'";
+            DataSet ds_getPackQty = oCn.RunProcReturn(sql, "h_v_IF_BarCodeBillList_getPackQty");
+            if (ds_getPackQty == null || ds_getPackQty.Tables[0].Rows.Count <= 0)
+            {
+                HSourceInterID_ICMO = 0;
+                HSourceEntryID_ICMO = 0;
+
+                textBox_PackQty.Text = "";
+                return;
+            }
+
+            HSourceInterID_ICMO = int.Parse(ds_getPackQty.Tables[0].Rows[0]["HSourceInterID"].ToString());
+            HSourceEntryID_ICMO = int.Parse(ds_getPackQty.Tables[0].Rows[0]["HSourceEntryID"].ToString());
+            textBox_PackQty.Text = Double.Parse(ds_getPackQty.Tables[0].Rows[0]["缁勬墭鏁伴噺"].ToString()).ToString();
+        }
+        #endregion
+
+        #region 鍒ゆ柇褰撳墠鎵弿鐨勬潯鐮佹槸鍚︿笌宸茬粡鎵弿杩囩殑鏉$爜涓哄悓涓�宸ュ崟鐢熸垚鐨�
+        private bool judgeIsSameSourceBill(string HBarCode)
+        {
+            if (grdMain.Rows.Count == 0)
+            {
+                return true;
+            }
+            else
+            {
+                string sql = "select * from h_v_IF_BarCodeBillList_getPackQty where 鏉$爜缂栧彿 = '" + HBarCode + "'";
+                DataSet ds_getPackQty = oCn.RunProcReturn(sql, "h_v_IF_BarCodeBillList_getPackQty");
+                if (ds_getPackQty == null || ds_getPackQty.Tables[0].Rows.Count <= 0)
+                {
+                    MessageBox.Show("褰撳墠鏉$爜涓嶅瓨鍦紒");
+                    return false;
+                }
+                else
+                {
+                    int HSourceInterID_ICMO_Bak = int.Parse(ds_getPackQty.Tables[0].Rows[0]["HSourceInterID"].ToString());
+                    int HSourceEntryID_ICMO_Bak = int.Parse(ds_getPackQty.Tables[0].Rows[0]["HSourceEntryID"].ToString());
+                    if (HSourceInterID_ICMO != HSourceInterID_ICMO_Bak || HSourceEntryID_ICMO != HSourceEntryID_ICMO_Bak)
+                    {
+                        MessageBox.Show("褰撳墠鎵弿鐨勬潯鐮佷笌涔嬪墠鎵�鎵弿鐨勬潯鐮佸伐鍗曚笉涓�鑷达紒");
+                        return false;
+                    }
+                    else
+                    {
+                        return true;
+                    }
+                }
+            }
+        }
+        #endregion
+
+        #region 娓呯┖ 缁勬墭鏁伴噺 涓庤褰曠殑婧愬崟涓籌D銆佸瓙ID
+        private void set_clearPackQtyAndSourceInfo()
+        {
+            textBox_PackQty.Text = "";
+            HSourceInterID_ICMO = 0;
+            HSourceEntryID_ICMO = 0;
+        }
+        #endregion
+
     }
 }
 
diff --git a/WebAPI/Controllers/BLL/Xt_SystemLogController.cs b/WebAPI/Controllers/BLL/Xt_SystemLogController.cs
index 5952fa1..7daf7eb 100644
--- a/WebAPI/Controllers/BLL/Xt_SystemLogController.cs
+++ b/WebAPI/Controllers/BLL/Xt_SystemLogController.cs
@@ -33,11 +33,12 @@
                 List<object> columnNameList = new List<object>();
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select * from h_v_Xt_SystemLogList " + sWhere + " order by hid desc", "h_v_Xt_SystemLogList");
+                    string sql = "select top(1000)* from h_v_Xt_SystemLogList " + sWhere + " order by hid desc";
+                    ds = oCN.RunProcReturn(sql, "h_v_Xt_SystemLogList");
                 }
                 else
                 {
-                    string sql1 = "select * from h_v_Xt_SystemLogList where 1 = 1 ";
+                    string sql1 = "select top(1000)* from h_v_Xt_SystemLogList where 1 = 1 ";
                     string sql = sql1 + sWhere + " order by hid desc";
                     ds = oCN.RunProcReturn(sql, "h_v_Xt_SystemLogList");
                 }
diff --git a/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs b/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
index a4843a3..15c4b87 100644
--- a/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
@@ -1004,6 +1004,157 @@
         }
         #endregion
 
+        #region 鏉$爜涓绘。缁存姢 浣滃簾/鍙嶄綔搴�
+        /// <summary>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">浣滃簾(0),鍙嶄綔搴�(1)</param>
+        /// <param name="CurUserName">浣滃簾浜�</param>
+        /// <returns></returns>
+        [Route("Gy_BarCodeBillList/DeleteGy_BarCodeBillList")]
+        [HttpGet]
+        public object DeleteGy_BarCodeBillList(int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "Gy_BarCodeBillList_Delete";
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                //妫�鏌ユ潈闄�
+                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "浣滃簾澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //HInterID鏁版嵁鍒ゆ柇
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
+
+                //杩涜闇�瑕佽繘琛岀殑浣滃簾/鍙嶄綔搴熸搷浣�
+                if (IsAudit == 0) //浣滃簾鎻愪氦
+                {
+                    oCN.BeginTran();
+
+                    //浣滃簾鏉$爜
+                    oCN.RunProc("update Gy_BarCodeBill set HStopflag=1,HDeleteMan='" + CurUserName + "',HDeleteDate=getdate() where HItemID in (" + HInterID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                    string sql = "select * from Gy_BarCodeBill where HItemID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, "Gy_BarCodeBill");
+                    if(ds!=null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        string HBarCode = ds.Tables[0].Rows[0]["HBarCode"].ToString();
+
+                        //娣诲姞鎿嶄綔鏃ュ織
+                        oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','浣滃簾鏉$爜锛�" + HBarCode + "','WMS绯荤粺-鏉$爜妗f鍒楄〃妯″潡','" + DBUtility.ClsPub.IPAddress + "','浣滃簾'", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "浣滃簾鎴愬姛";
+                        objJsonResult.data = null;
+
+                        oCN.Commit();
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+
+                        oCN.RollBack();
+                    }
+
+
+                    return objJsonResult;
+                }
+                if (IsAudit == 1) //鍙嶅叧闂彁浜�
+                {
+                    oCN.BeginTran();
+
+                    #region 鍙嶄綔搴熸潯鐮佸墠杩涜鍒ゆ柇
+                    //鍙嶄綔搴熸潯鐮佸墠杩涜鍒ゆ柇------------------------------------------------------------------------------------------------------------------------------------------------------
+                    //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+                    DataSet DS = oCN.RunProcReturn("exec h_p_Gy_BarCodeBill_UnCancelltion '" + HInterID + "','N'", "h_p_Gy_BarCodeBill_UnCancelltion", ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (DS == null || DS.Tables[0].Rows.Count <= 0)
+                    {
+                        oCN.RollBack();
+
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶄綔搴熷け璐ワ紝鍘熷洜锛氬弽浣滃簾鏉$爜鍓嶅垽鏂彂鐢熼敊璇紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0][0]) == "1")
+                        {
+                            oCN.RollBack();
+
+                            objJsonResult.code = "1";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐ワ紝鍘熷洜锛�" + DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HRemark"]);
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+                    //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+                    #endregion
+
+                    //鍙嶄綔搴熸潯鐮�
+                    oCN.RunProc("update Gy_BarCodeBill set HStopflag=0,HDeleteMan='',HDeleteDate=null where HItemID in (" + HInterID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                    //澧炲姞鎿嶄綔鏃ュ織
+                    string sql = "select * from Gy_BarCodeBill where HItemID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, "Gy_BarCodeBill");
+                    if (ds != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        string HBarCode = ds.Tables[0].Rows[0]["HBarCode"].ToString();
+                        oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + CurUserName + "','" + DBUtility.ClsPub.ComputerName + "','鍙嶄綔搴熸潯鐮侊細" + HBarCode + "','WMS绯荤粺-鏉$爜妗f鍒楄〃妯″潡','" + DBUtility.ClsPub.IPAddress + "','鍙嶄綔搴�'", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶄綔搴熸垚鍔�";
+                        objJsonResult.data = null;
+                        oCN.Commit();
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+                }
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "浣滃簾澶辫触鎴栬�呭弽浣滃簾澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
         /// <summary>
         /// 鏂板妯″叿妗f-淇濆瓨鎸夐挳
diff --git a/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs b/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
index 37a3419..0f99eb3 100644
--- a/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
+++ b/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs
@@ -714,10 +714,7 @@
                         return objJsonResult;
                     }
                     //==================================================================================                        
-
-                    //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛�
-                    ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','1'", "h_KF_UPDateICinventory");
-
+                    
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_POStockInBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -757,10 +754,7 @@
                         return objJsonResult;
                     }
                     //=========================================================                   
-
-                    //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛�
-                    ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','2'", "h_KF_UPDateICinventory");
-
+                 
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_POStockInBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git a/WebAPI/Controllers/CJGL/Qc_PreventErrMouldCheckBillController.cs b/WebAPI/Controllers/CJGL/Qc_PreventErrMouldCheckBillController.cs
index 5c1e039..6efdc09 100644
--- a/WebAPI/Controllers/CJGL/Qc_PreventErrMouldCheckBillController.cs
+++ b/WebAPI/Controllers/CJGL/Qc_PreventErrMouldCheckBillController.cs
@@ -807,5 +807,52 @@
         }
         #endregion
 
+        #region 鎶ュ伐鍙拌烦杞幏鍙栨暟鎹�
+        [Route("Qc_PreventErrMouldCheckBill/锘縌c_PreventErrMouldCheckBillList")]
+        [HttpGet]
+        public object Qc_PreventErrMouldCheckBillList(string HMaterID, string User)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Qc_PreventErrMouldCheckBillMain_Edit", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HMaterID == null || HMaterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鐗╂枡涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }               
+
+                ds = oCN.RunProcReturn("exec h_p_PreventErrMouldCheck '" + HMaterID + "'", "h_p_PreventErrMouldCheck");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏌ヨ鎴愬姛锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
index c900641..f615569 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
@@ -334,122 +334,122 @@
         #endregion
 
         //#region 宸ュ簭杩斿伐鐢宠鍗� 瀹℃牳
-        //[Route("Sc_ProcExchWorkBackBill/set_CheckBill")]
-        //[HttpGet]
-        //public object set_CheckBill(int HInterID, string CurUserName)
-        //{
-        //    try
-        //    {
-        //        //瀹℃牳鏉冮檺
-        //        if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchWorkBackBill_Check", 1, false, CurUserName))
-        //        {
-        //            objJsonResult.code = "0";
-        //            objJsonResult.count = 0;
-        //            objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
-        //            objJsonResult.data = null;
-        //            return objJsonResult;
-        //        }
-        //        if (HInterID == 0)
-        //        {
-        //            objJsonResult.code = "0";
-        //            objJsonResult.count = 0;
-        //            objJsonResult.Message = "鍗曟嵁ID涓�0锛屼笉鑳藉鏍革紒";
-        //            objJsonResult.data = null;
-        //            return objJsonResult;
-        //        }
+        [Route("Sc_ProcExchWorkBackBill/set_CheckBill")]
+        [HttpGet]
+        public object set_CheckBill(int HInterID, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchWorkBackBill_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (HInterID == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁ID涓�0锛屼笉鑳藉鏍革紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
 
-        //        DataSet Ds = oCN.RunProcReturn("Select * from Sc_ProcExchWorkBackBillMain Where HInterID=" + HInterID, "Sc_ProcExchWorkBackBillMain");
-        //        if (Ds.Tables[0].Rows.Count > 0)
-        //        {
-        //            //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾
-        //            if (Ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
-        //            {
-        //                objJsonResult.code = "0";
-        //                objJsonResult.count = 0;
-        //                objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳";
-        //                objJsonResult.data = null;
-        //                return objJsonResult;
-        //            }
+                DataSet Ds = oCN.RunProcReturn("Select * from Sc_ProcExchWorkBackBillMain Where HInterID=" + HInterID, "Sc_ProcExchWorkBackBillMain");
+                if (Ds.Tables[0].Rows.Count > 0)
+                {
+                    //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾
+                    if (Ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
 
 
-        //            //瀹℃牳
-        //            if (Cj_StationInBillCheckBill(HInterID,int.Parse( Ds.Tables[0].Rows[0]["HProcExchInterID"].ToString()), CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
-        //            {
-        //                objJsonResult.code = "1";
-        //                objJsonResult.count = 1;
-        //                objJsonResult.Message = "瀹℃牳鎴愬姛!";
-        //                objJsonResult.data = null;
-        //                return objJsonResult;
-        //            }
-        //            else
-        //            {
-        //                objJsonResult.code = "0";
-        //                objJsonResult.count = 0;
-        //                objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
-        //                objJsonResult.data = null;
-        //                return objJsonResult;
-        //            }
+                    //瀹℃牳
+                    if (Cj_StationInBillCheckBill(HInterID, int.Parse(Ds.Tables[0].Rows[0]["HProcExchInterID"].ToString()), CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
 
-        //        }
-        //        else
-        //        {
-        //            objJsonResult.code = "0";
-        //            objJsonResult.count = 0;
-        //            objJsonResult.Message = "鍗曟嵁鏈壘鍒�!";
-        //            objJsonResult.data = null;
-        //            return objJsonResult;
-        //        }
-        //    }
-        //    catch (Exception e)
-        //    {
-        //        objJsonResult.code = "0";
-        //        objJsonResult.count = 0;
-        //        objJsonResult.Message = "瀹℃牳澶辫触锛�" + e.ToString();
-        //        objJsonResult.data = null;
-        //        return objJsonResult;
-        //    }
-        //}
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鏈壘鍒�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
 
-        ////瀹℃牳
-        //public bool Cj_StationInBillCheckBill(Int64 HInterID,int HProcExchInterID, string CurUserName, ref string sReturn)
-        //{
-        //    try
-        //    {
-        //        oCN.BeginTran();
-        //        oCN.RunProc(" Update Sc_ProcExchWorkBackBillMain set HChecker='" + CurUserName + "',HBillStatus=2,HCheckDate=getdate() Where HInterID=" + HInterID.ToString());
-        //        //鍥炲~宸ュ簭娴佽浆鍗�
-        //        oCN.RunProc("exec h_p_ProcExchWorkBackBill_Check_In " + HInterID.ToString());
-        //        oCN.RunProc("exec h_p_Sc_ProcessExchangeBill_SetRemark " + HProcExchInterID.ToString()); //璁剧疆 澶囨敞 涓� 宸ヨ壓娴�
-        //        oCN.RunProc("exec h_p_Sc_ProcessExchangeBill_SetUpdate " + HProcExchInterID.ToString()); //璁剧疆 鏈亾 棣栭亾 杞� 绛変俊鎭�   鍣ㄥ叿娓呭崟  宸ヨ壓鍙傛暟娓呭崟锛�
-        //        DataSet ds = new DataSet();
-        //        //璁剧疆鏉$爜鍙�  鍥炲~ 棰嗘枡鎵规
-        //        ds = oCN.RunProcReturn("exec h_p_Mes_ProcessExchangeBackBarCode " + HProcExchInterID.ToString(), "h_p_Mes_ProcessExchangeBackBarCode");
-        //        if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
-        //        {
-        //            sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
-        //            oCN.RollBack();
-        //            return false;
-        //        }
+        //瀹℃牳
+        public bool Cj_StationInBillCheckBill(Int64 HInterID, int HProcExchInterID, string CurUserName, ref string sReturn)
+        {
+            try
+            {
+                oCN.BeginTran();
+                oCN.RunProc(" Update Sc_ProcExchWorkBackBillMain set HChecker='" + CurUserName + "',HBillStatus=2,HCheckDate=getdate() Where HInterID=" + HInterID.ToString());
+                //鍥炲~宸ュ簭娴佽浆鍗�
+                oCN.RunProc("exec h_p_ProcExchWorkBackBill_Check_In " + HInterID.ToString());
+                oCN.RunProc("exec h_p_Sc_ProcessExchangeBill_SetRemark " + HProcExchInterID.ToString()); //璁剧疆 澶囨敞 涓� 宸ヨ壓娴�
+                oCN.RunProc("exec h_p_Sc_ProcessExchangeBill_SetUpdate " + HProcExchInterID.ToString()); //璁剧疆 鏈亾 棣栭亾 杞� 绛変俊鎭�   鍣ㄥ叿娓呭崟  宸ヨ壓鍙傛暟娓呭崟锛�
+                DataSet ds = new DataSet();
+                //璁剧疆鏉$爜鍙�  鍥炲~ 棰嗘枡鎵规
+                ds = oCN.RunProcReturn("exec h_p_Mes_ProcessExchangeBackBarCode " + HProcExchInterID.ToString(), "h_p_Mes_ProcessExchangeBackBarCode");
+                if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
+                {
+                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
+                    oCN.RollBack();
+                    return false;
+                }
 
-        //        //鎺у埗鍏宠仈鏁伴噺
-        //        ds = null;
-        //        ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBill_Checkqty " + HProcExchInterID.ToString(), "h_p_Sc_ProcessExchangeBill_Checkqty");
-        //        if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
-        //        {
-        //            sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
-        //            oCN.RollBack();
-        //            return false;
-        //        }
-        //        oCN.Commit();
-        //        return true;
-        //    }
-        //    catch (Exception e)
-        //    {
-        //        sReturn = e.Message;
-        //        oCN.RollBack();
-        //        return false; ;
-        //    }
-        //}
+                //鎺у埗鍏宠仈鏁伴噺
+                ds = null;
+                ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBill_Checkqty " + HProcExchInterID.ToString(), "h_p_Sc_ProcessExchangeBill_Checkqty");
+                if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
+                {
+                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
+                    oCN.RollBack();
+                    return false;
+                }
+                oCN.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCN.RollBack();
+                return false; ;
+            }
+        }
         //#endregion
 
         #region 宸ュ簭杩斿伐鐢宠鍗� 瀹℃牳/鍙嶅鏍稿姛鑳�
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
index 55daeae..4a5c1dc 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -819,7 +819,7 @@
                                                 宸ヤ綔涓績 HCenterName,HSupID,渚涘簲鍟嗕唬鐮� HSupNumber,渚涘簲鍟� HSupName,isEntrust HSupFlag,璁″垝鏁伴噺 HQty,鍔犲伐鍗曚环 HOutPrice, 琛ㄤ綋澶囨敞 HRemark,
                                             杩涚珯鍏宠仈鏁伴噺 HRelationQty_In,鍑虹珯鍏宠仈鏁伴噺 HRelationQty_Out,濮斿宸ュ崟鏁伴噺 HRelationQty_WWOrder,涓嶅悎鏍兼暟閲� HRelationQty_Bad,瓒呴姣斾緥 HOverRate,
                                             鑹巼 HPassRate,绱鑹巼 HSumPassRate,鍥剧焊缂栧彿 HPicNum,鏈伐搴忕‘璁よ褰� HProcCheckNote,宸ヨ壓鍙傛暟 HTechnologyParameter,HDeptID,
-                                            鍔犲伐杞﹂棿浠g爜 HDeptNumber,鍔犲伐杞﹂棿 HDeptName,鍑虹珯鎶ュ簾鍏宠仈鏁伴噺 HRelationQty_OutBad
+                                            鍔犲伐杞﹂棿浠g爜 HDeptNumber,鍔犲伐杞﹂棿 HDeptName,鍑虹珯鎶ュ簾鍏宠仈鏁伴噺 HRelationQty_OutBad,SN杩囩珯鎺у埗 HSNCtrl
                                             from h_v_Sc_ProcessExchangeBillQuerySub");
                 ds = oCN.RunProcReturn(sql+ " where hmainid="+ HInterID + "  order by cast(娴佹按鍙� as int) ", "h_v_Sc_ProcessExchangeBillQuerySub");
                 objJsonResult.code = "0";
diff --git a/WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs b/WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs
index f4ec9b4..7a73086 100644
--- a/WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_WorkBeginDotCheckBillController.cs
@@ -761,6 +761,69 @@
         }
         #endregion
 
+        #region 鎶ュ伐鍙拌烦杞幏鍙栨暟鎹�
+        [Route("Sc_WorkBeginDotCheckBill/锘縎c_WorkBeginDotCheckBillList")]
+        [HttpGet]
+        public object Sc_WorkBeginDotCheckBillList(string HMaterID, string HProcID,string HSourceID,string User)
+        {
+            try
+            {
+                List<DataTable> tableList = new List<DataTable>();
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_WorkBeginDotCheckBillMain_Edit", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ヨ澶辫触!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (HMaterID == null || HMaterID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鐗╂枡涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (HProcID == null || HProcID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "宸ュ簭涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (HSourceID == null || HSourceID.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鐢熶骇璧勬簮涓嶈兘涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_WorkBeginDotCheckList '" + HMaterID + "','" + HProcID + "','" + HSourceID + "'", "h_p_WorkBeginDotCheckList");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏌ヨ鎴愬姛锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 璁惧鍚姩鐐规娓呭崟鍒楄〃 鏌ヨ       
         [Route("Sc_WorkBeginDotCheckBill/getGy_WorkBeginDotCheckListBillMainList")]
         [HttpGet]
diff --git a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
index fce79d7..be3f59f 100644
--- a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
+++ b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
@@ -473,7 +473,7 @@
                     ",HTechnologyParameter,HPicNum,HProcCheckNote" +
                     ",HOverRate,HProcWorkNum,HBadWHID,HWasterWHID, HWHID,HEstimate,HIsTime" +
                     ",HQCSchemeID_Fst,HQCSchemeID_Proc,HQCSchemeID_Patrol" +
-                    ",HWorkTimes_S,HSortProcFlag " +
+                    ",HWorkTimes_S,HSortProcFlag,HSNCtrl " +
                     ") values("
                     + HInterID + "," + i + "," + oSub.HProcID.ToString() + ",'" + oSub.HProcNo + "'," + oSub.HSupID.ToString() + "," + Convert.ToString(oSub.HSupFlag ? 1 : 0) + "" +
                     "," + oSub.HWorkQty.ToString() + "," + oSub.HCenterID.ToString() + ",'" + oSub.HTimeUnit.ToString() + "'," + oSub.HUnitTime.ToString() +
@@ -487,7 +487,7 @@
                    ",'" + oSub.HTechnologyParameter.ToString() + "','" + oSub.HPicNum.ToString() + "','" + oSub.HProcCheckNote.ToString() +
                    "', " + oSub.HOverRate.ToString() + ",'" + oSub.HProcWorkNum.ToString() + "'," + oSub.HBadWHID.ToString() + "," + oSub.HWasterWHID.ToString() + "," + oSub.HWHID.ToString() + "," + oSub.HEstimate.ToString() + "," + Convert.ToString(oSub.HIsTime ? 1 : 0) + "," + oSub.HQCSchemeID_Fst + "," +
                      oSub.HQCSchemeID_Proc + "," + oSub.HQCSchemeID_Patrol +
-                   ", " + oSub.HWorkTimes_S.ToString() + "," + Convert.ToString(oSub.HSortProcFlag ? 1 : 0) +
+                   ", " + oSub.HWorkTimes_S.ToString() + "," + Convert.ToString(oSub.HSortProcFlag ? 1 : 0) + "," + Convert.ToString(oSub.HSNCtrl ? 1 : 0) +
                     ") ");
                     //璁′环鏂瑰紡涓嶄负璁℃椂锛屽垯鎶婅鏃舵殏浼板瓧娈垫洿鏂颁负绌�
                     if (oSub.HIsTime == false)
diff --git a/WebAPI/Controllers/Kf_EntrustInBillController.cs b/WebAPI/Controllers/Kf_EntrustInBillController.cs
index 246f0a2..83ea244 100644
--- a/WebAPI/Controllers/Kf_EntrustInBillController.cs
+++ b/WebAPI/Controllers/Kf_EntrustInBillController.cs
@@ -619,7 +619,7 @@
                             objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
                             objJsonResult.data = null;
                             return objJsonResult;
-                        }
+                        }                     
                         //瀹℃牳鍗曟嵁
                         if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                         {
@@ -663,6 +663,7 @@
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
+
                         //鍙嶅鏍稿崟鎹�
                         if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                         {
diff --git a/WebAPI/Controllers/Kf_ICStockBillMainController.cs b/WebAPI/Controllers/Kf_ICStockBillMainController.cs
index 5efd68d..e00718f 100644
--- a/WebAPI/Controllers/Kf_ICStockBillMainController.cs
+++ b/WebAPI/Controllers/Kf_ICStockBillMainController.cs
@@ -149,6 +149,8 @@
                         {
                             string HCheckDate = DateTime.Now.Date.ToString();
                             oCN.RunProc(" Update Kf_ICStockBillMain set HChecker='" + CurUserName + "',HCheckDate='" + HCheckDate + "',HBillStatus=2 Where HBillType='1247' and HInterID=" + HInterID);
+                            //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨
+                            ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','1'", "h_KF_UPDateICinventory");
                             objJsonResult.code = "0";
                             objJsonResult.count = 1;
                             objJsonResult.Message = "瀹℃牳鎴愬姛锛�";
@@ -170,6 +172,8 @@
                         {
                             string HCheckDate = DateTime.Now.Date.ToString();
                             oCN.RunProc(" Update Kf_ICStockBillMain set HChecker=' ',HCheckDate=null,HBillStatus=1 Where HBillType='1247' and HInterID=" + HInterID);
+                            //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                            ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','2'", "h_KF_UPDateICinventory");
                             objJsonResult.code = "0";
                             objJsonResult.count = 1;
                             objJsonResult.Message = "鍙嶅鏍告垚鍔燂紒";
diff --git a/WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs b/WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs
index 1876434..b3d6f23 100644
--- a/WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs
+++ b/WebAPI/Controllers/MJGL/Sc_MouldUpperBillController.cs
@@ -198,6 +198,9 @@
                      + HInterID + ",'"+ HBillNo + "'," + i + "," + oSub.HMouldID.ToString() + ",'" + oSub.HQty 
                      + "'," + oSub.HSourceID.ToString() + "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString()+",'"+ oSub.HICMOBillNo.ToString() +
                      "') ");
+
+                //鍙嶅啓妯″叿鐘舵��
+                oCN.RunProc("update Gy_MouldFileMain set HMouldStatus='棰嗗嚭' where HInterID= " + oSub.HMouldID.ToString());
             }
 
             objJsonResult.code = "1";
@@ -877,6 +880,9 @@
                      + HInterID + ",'" + HBillNo + "'," + i + "," + oSub.HMouldID.ToString() + ",'" + oSub.HQty
                      + "'," + oSub.HSourceID.ToString() + "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo.ToString() +
                      "') ");
+
+                //鍙嶅啓妯″叿鐘舵��
+                oCN.RunProc("update Gy_MouldFileMain set HMouldStatus='鍦ㄥ簱' where HInterID= " + oSub.HMouldID.ToString());
             }
 
             objJsonResult.code = "1";
@@ -1375,6 +1381,41 @@
         }
         #endregion
 
+        #region 涓嬫ā鍗曟煡璇笂妯″崟淇℃伅 鍒楄〃鏌ヨ
+        [Route("Sc_MouldLowerBill/Sc_MouldUpperBillList")]
+        [HttpGet]
+        public object Sc_MouldUpperBillList(string sWhere)
+        {
+            try
+            {
+
+                ds = oCN.RunProcReturn("select * from  h_v_Qj_Sc_MouldUpperBillList where 1=1" + sWhere, "h_v_Qj_Sc_MouldUpperBillList");
+
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ユ棤鏁版嵁锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
         #region 涓�/涓嬫ā鍗曡幏鍙栨潯鐮佷俊鎭�
         [Route("Sc_MouldUpperBill/txtHBarCode_KeyDown")]
@@ -1392,73 +1433,7 @@
                     return objJsonResult;
                 }
 
-                //鎷嗗垎鏉″舰鐮�
-                string sBillBarCode = HBarCode.Trim();
-
-              
-                //鎴彇鏉$爜绫诲瀷 鍓嶄袱浣�
-                string BillNoType2 = sBillBarCode.Substring(0, Math.Min(2, sBillBarCode.Length));
-                //鎴彇鏉$爜绫诲瀷 鍓嶄簲浣�
-                string BillNoType3 = sBillBarCode.Substring(0, Math.Min(5, sBillBarCode.Length));
-                //鎴彇鏉$爜绫诲瀷3 鍓嶅洓浣�
-                string BillNoType4 = sBillBarCode.Substring(0, Math.Min(4, sBillBarCode.Length));
-                //鎴彇鏉$爜绫诲瀷 鍓嶅叓浣�
-                string BillNoType5 = sBillBarCode.Substring(0, Math.Min(8, sBillBarCode.Length));
-
-
-                switch (BillNoType2)
-                {
-                    //鐢熶骇璧勬簮
-                    case "BM":
-                    case "SS":
-                        ds = oCN.RunProcReturn("select HItemID,HName,HNumber from Gy_Source where HNumber = '" + HBarCode + "'", "Gy_Source");
-                        break;
-                    case "MO":
-                        ds = oCN.RunProcReturn("select 鍗曟嵁鍙�,hmainid,HEntryID from h_v_IF_ICMOBillList where 鍗曟嵁鍙� = '" + HBarCode + "'", "h_v_IF_ICMOBillList");
-                        break;
-                    default:
-                        break;
-                }
-
-
-                switch (BillNoType3)
-                {
-                    //鍣ㄥ叿妗f
-                    case "MJD":
-                    case "PAK":
-                    case "https":
-                        HBarCode = HBarCode.Substring(23, HBarCode.Length-23);
-                        ds = oCN.RunProcReturn("select * from h_v_Gy_MouldFileList where 鏉$爜缂栧彿 = '" + HBarCode + "'", "h_v_Gy_MouldFileList");
-                        break;
-                    default:
-                        break;
-                }
-
-                switch (BillNoType4)
-                {
-                    //娴佽浆鍗�
-                    case "GXLX":
-                        ds = oCN.RunProcReturn("select 浠诲姟鍗曞彿,hicmointerid,HICMOEntryID,鍗曟嵁鍙�,hmainid,HEntryID from h_v_Sc_ProcessExchangeBillQuerySub where 鍗曟嵁鍙� = '" + HBarCode + "'", "h_v_Sc_ProcessExchangeBillQuerySub");
-                        break;
-                    //鐢熶骇璁㈠崟
-                    case "9010":
-                        ds = oCN.RunProcReturn("select 鍗曟嵁鍙�,hmainid,HEntryID from h_v_IF_ICMOBillList where 鍗曟嵁鍙� = '" + HBarCode + "'", "h_v_IF_ICMOBillList");
-                        break;
-                    default:
-                        break;
-                }
-
-                DateTime date;
-                bool flag = false;
-                if (BillNoType5.Length == 8) {
-                    BillNoType5 = BillNoType5.Substring(0, 4) + "-" + BillNoType5.Substring(4, 2) + "-" + BillNoType5.Substring(6, 2);
-                }
-                flag = DateTime.TryParse(BillNoType5, out date);
-              
-
-                if (flag) {
-                    ds = oCN.RunProcReturn("select 浠诲姟鍗曞彿,hicmointerid,HICMOEntryID,鍗曟嵁鍙�,hmainid,HEntryID from h_v_Sc_ProcessExchangeBillQuerySub where 鍗曟嵁鍙� = '" + HBarCode + "'", "h_v_Sc_ProcessExchangeBillQuerySub");
-                }
+                ds = oCN.RunProcReturn("exec h_p_Sc_AllowLoadData '" + HBarCode + "'", "h_p_Sc_AllowLoadData");
 
                 if (ds == null || ds .Tables.Count== 0 || ds.Tables[0].Rows.Count == 0)
                 {
diff --git a/WebAPI/Controllers/MateOutController.cs b/WebAPI/Controllers/MateOutController.cs
index 442c6bc..6ac5fcf 100644
--- a/WebAPI/Controllers/MateOutController.cs
+++ b/WebAPI/Controllers/MateOutController.cs
@@ -1642,7 +1642,8 @@
                     "and (浜у搧浠g爜=''" + com.HMaterNumber + "'' or ''" + com.HMaterNumber + "''='''') " +
                     "and (鐢熶骇璁㈠崟鍙�=''" + com.HBillNo + "'' or ''" + com.HBillNo + "''='''') " +
                     "and (浜у搧鍚嶇О=''" + com.HProductName + "'' or ''" + com.HProductName + "''='''') " +
-                    "and (浜у搧瑙勬牸=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " + com.RandomSearch;
+                    "and (浜у搧瑙勬牸=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " + com.RandomSearch +
+                    " " + com.OtherSearch; ;
 
                 ds = oCN.RunProcReturn($"exec h_p_Kf_ProdProcessSumReport_DyeColor_third '{sql}'", "h_p_Kf_ProdProcessSumReport_DyeColor_third");
 
diff --git a/WebAPI/Controllers/PlateBindingController.cs b/WebAPI/Controllers/PlateBindingController.cs
index 1821d54..dab2992 100644
--- a/WebAPI/Controllers/PlateBindingController.cs
+++ b/WebAPI/Controllers/PlateBindingController.cs
@@ -34,13 +34,15 @@
                 string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                 string msg1 = sArray[0].ToString();
                 string user = sArray[1].ToString();
+                string HPath = sArray[2].ToString();
 
-                string filePath = "Configuration";
+                string filePath = "MESConfiguration";
                 bool isAppend = true;
 
                 filePath = $@"{filePath}\PlateBinding.txt";
 
-                filePath = "D:\\" + filePath;
+                //filePath = "C:\\" + filePath;
+                filePath = HPath;
 
                 if (!System.IO.Directory.Exists(Path.GetDirectoryName(filePath)))
                 {
@@ -95,12 +97,45 @@
 
         [Route("Get/Xt_PlateBinding")]
         [HttpGet]
-        public object Get(string user)
+        public object Get(string user,string HPath)
         {
             try
             {
+                //鍒ゆ柇鏄惁瀛樺湪鏂囦欢澶癸紝鑻ヤ笉瀛樺湪鍒欏垱寤�
+                if (!System.IO.Directory.Exists(Path.GetDirectoryName(HPath)))
+                {
+                    System.IO.Directory.CreateDirectory(Path.GetDirectoryName(HPath));
+                }
+
+                //鍒ゆ柇鏄惁宸茬粡瀛樺湪骞虫澘缁戝畾鏂囦欢锛岃嫢涓嶅瓨鍦ㄥ垯鍒涘缓涓�浠芥枃浠�
+                bool fileExists = System.IO.File.Exists(HPath);                
+
+                //涓嶅瓨鍦ㄥ垯鍒涘缓璇ユ枃浠�
+                if (!fileExists)
+                {
+                    bool isAppend = true;
+                    using (StreamWriter writer = new StreamWriter(HPath, isAppend))
+                    {
+                        //瀛樺湪鐨勬椂鍊欐墠鍐欎竴琛�
+                        if (fileExists && isAppend)
+                        {
+                            writer.WriteLine();
+                        }
+                        string msg1 = "";
+                        var content = msg1 is string ? msg1 : JsonConvert.SerializeObject(msg1);
+                        writer.WriteLine($"{DateTime.Now}");
+                        writer.WriteLine("");
+                        msg1 = msg1.Replace("{", "").Replace("}", "").Replace("\"", "");
+                        string[] arr = msg1.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
+                        for (int i = 0; i < arr.Length; i++)
+                        {
+                            writer.WriteLine(arr[i]);
+                        }
+                    }
+                }
+
                 //鏍规嵁鎸囧畾璺緞锛岃鍙栨枃浠跺唴瀹癸紝杩斿洖鏁版嵁涓烘暟缁勬牸寮�
-                string[] ConfigFileInfo = File.ReadAllLines(@"D:\Configuration\PlateBinding.txt");
+                string[] ConfigFileInfo = File.ReadAllLines(HPath);
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
diff --git a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
index e54ea8a..ba36c2a 100644
--- a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
+++ b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
@@ -1860,7 +1860,7 @@
                 if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                 {
                     objJsonResult.code = "0";
-                    objJsonResult.count = 1;
+                    objJsonResult.count = 0;
                     objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
                     objJsonResult.data = null;
                     return objJsonResult;
@@ -1869,7 +1869,7 @@
                 if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                 {
                     objJsonResult.code = "0";
-                    objJsonResult.count = 1;
+                    objJsonResult.count = 0;
                     objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                     objJsonResult.data = null;
                     return objJsonResult;
@@ -1894,11 +1894,11 @@
                 oCN.RunProc("exec h_p_Xs_UpDateRelation_SeOutStockToPOStockIn_Delete " + HInterID);
 
 
-                //oCN.RunProc("Delete From Kf_ICStockBillMain where HInterID = " + HInterID);
-                //oCN.RunProc("Delete From Kf_ICStockBillSub where HInterID = " + HInterID);
+                oCN.RunProc("Delete From Kf_ICStockBillMain where HInterID = " + HInterID);
+                oCN.RunProc("Delete From Kf_ICStockBillSub where HInterID = " + HInterID);
 
-                string sql = "exec h_p_WMS_ICStockBillAndWMS_Delete " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','1205'";
-                oCn.RunProc(sql);
+                //string sql = "exec h_p_WMS_ICStockBillAndWMS_Delete " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','1205'";
+                //oCn.RunProc(sql);
 
                 //鍒犻櫎鍚庢帶鍒�==================================================================================      
                 string sql2 = "exec h_p_Kf_SellOutBill_AfterDelCtrl " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
@@ -1907,7 +1907,7 @@
                 {
                     s = "鍒犻櫎鍚庡垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
                     objJsonResult.code = "0";
-                    objJsonResult.count = 1;
+                    objJsonResult.count = 0;
                     objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + s;
                     objJsonResult.data = null;
                     oCN.RollBack();
@@ -1917,7 +1917,7 @@
                 {
                     s = ds.Tables[0].Rows[0]["HRemark"].ToString();
                     objJsonResult.code = "0";
-                    objJsonResult.count = 1;
+                    objJsonResult.count = 0;
                     objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + s;
                     objJsonResult.data = null;
                     oCN.RollBack();
@@ -3300,7 +3300,6 @@
                     }
                     //================================================================================== 
 
-               
                     //瀹℃牳鍗曟嵁
                     if (!oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_ICStockBill_AfterCheckCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -3351,7 +3350,6 @@
                         return objJsonResult;
                     }
                     //===========================================================          
-
 
                     //鍙嶅鏍稿崟鎹�
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_ICStockBill_AfterUnCheckCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
diff --git a/WebAPI/Controllers/WebAPIController.cs b/WebAPI/Controllers/WebAPIController.cs
index ad05fa7..4ffa124 100644
--- a/WebAPI/Controllers/WebAPIController.cs
+++ b/WebAPI/Controllers/WebAPIController.cs
@@ -11983,19 +11983,24 @@
                 List<object> list = new List<object>();
                 DataSet ds2;
                 DataSet ds1;
-                string sql1 = string.Format(@"select t.HMaintainItemID ,m.HNumber HMaintainItemNumber,t.HMaintainItem,t.HMaintainPart,t.HClaim,t.HManagerID,e.HNumber HManagerNumber,e.HName HManagerName,a.HRemark
-                                                from Sc_MouldMaintainRuleBillMain a left join Sc_MouldMaintainRuleBillSub_Item t on a.HInterID=t.HInterID 
-                                                left join Gy_Maintain m on m.HItemID=t.HMaintainItemID
-                                                left join Gy_Employee e on e.HItemID=t.HManagerID
-                                                where a.HInterID=" + MouldMaintainRuleID);
 
-                string sql2 = string.Format(@"select b.HMaterID,m.HNumber HMaterNumber,m.HName HMaterName, m.HModel HMaterSpec,b.HUnitID,u.HNumber HUnitNumber,u.HName HUnitName,b.HQty,b.HQtyMust,b.HRemark from Sc_MouldMaintainRuleBillMain a  
-												left join Sc_MouldMaintainRuleBillSub b on a.HInterID=b.HInterID 
-                                                left join h_v_IF_Material m on b.HMaterID=m.HItemID
-												left join h_v_IF_Unit u on b.HUnitID=u.HItemID
-                                                where a.HInterID=" + MouldMaintainRuleID);
-                ds1 = oCN.RunProcReturn(sql1, "Sc_MouldMaintainRuleBillMain");//淇濆吇
-                ds2 = oCN.RunProcReturn(sql2, "Sc_MouldMaintainRuleBillMain");//閰嶄欢
+            //    string sql1 = string.Format(@"select t.HMaintainItemID ,m.HNumber HMaintainItemNumber,t.HMaintainItem,t.HMaintainPart,t.HClaim,t.HManagerID,e.HNumber HManagerNumber,e.HName HManagerName,a.HRemark
+            //                                    from Sc_MouldMaintainRuleBillMain a left join Sc_MouldMaintainRuleBillSub_Item t on a.HInterID=t.HInterID 
+            //                                    left join Gy_Maintain m on m.HItemID=t.HMaintainItemID
+            //                                    left join Gy_Employee e on e.HItemID=t.HManagerID
+            //                                    where a.HInterID=" + MouldMaintainRuleID);
+
+            //    string sql2 = string.Format(@"select b.HMaterID,m.HNumber HMaterNumber,m.HName HMaterName, m.HModel HMaterSpec,b.HUnitID,u.HNumber HUnitNumber,u.HName HUnitName,b.HQty,b.HQtyMust,b.HRemark from Sc_MouldMaintainRuleBillMain a  
+												//left join Sc_MouldMaintainRuleBillSub b on a.HInterID=b.HInterID 
+            //                                    left join h_v_IF_Material m on b.HMaterID=m.HItemID
+												//left join h_v_IF_Unit u on b.HUnitID=u.HItemID
+            //                                    where a.HInterID=" + MouldMaintainRuleID);
+
+                string sql1 = string.Format(@"select * from h_v_Sc_MouldMaintainRuleBillSub_Item where hmainid=" + MouldMaintainRuleID);
+                string sql2 = string.Format(@"select * from h_v_Sc_MouldMaintainRuleBillSub where hmainid=" + MouldMaintainRuleID);
+
+                ds1 = oCN.RunProcReturn(sql1, "h_v_Sc_MouldMaintainRuleBillSub_Item");//淇濆吇
+                ds2 = oCN.RunProcReturn(sql2, "h_v_Sc_MouldMaintainRuleBillSub");//閰嶄欢
                 list.Add(ds1.Tables[0]);
                 list.Add(ds2.Tables[0]);
                 objJsonResult.code = "0";
@@ -12129,19 +12134,22 @@
                 List<object> list = new List<object>();
                 DataSet ds2;
                 DataSet ds1;
-                string sql1 = string.Format(@"select t.HMaintainItemID HMaintainItemID,m.HNumber HMaintainItemNumber,t.HMaintainItem HMaintainItem,t.HMaintainPart HMaintainPart,t.HClaim HClaim,t.HManagerID HManagerID,e.HNumber HManagerNumber,e.HName HManagerName,a.HRemark
-                                                from Sb_EquipMaintainRuleBillMain a left join Sb_EquipMaintainRuleBillSub_Item t on a.HInterID=t.HInterID 
-                                                left join Gy_Maintain m on m.HItemID=t.HMaintainItemID
-                                                left join Gy_Employee e on e.HItemID=t.HManagerID
-                                                where a.HInterID=" + EquipProjectID);
-                string sql2 = string.Format(@"select b.HMaterID,m.HNumber HMaterNumber,m.HName HMaterName,b.HUnitID,u.HNumber HUnitNumber,u.HName HUnitName,b.HQty,b.HRemark from Sb_EquipMaintainRuleBillMain a  
-												left join Sb_EquipMaintainRuleBillSub b on a.HInterID=b.HInterID 
-                                                left join h_v_IF_Material m on b.HMaterID=m.HItemID
-												left join h_v_IF_Unit u on b.HUnitID=u.HItemID
-                                                where a.HInterID=" + EquipProjectID);
+            //    string sql1 = string.Format(@"select t.HMaintainItemID HMaintainItemID,m.HNumber HMaintainItemNumber,t.HMaintainItem HMaintainItem,t.HMaintainPart HMaintainPart,t.HClaim HClaim,t.HManagerID HManagerID,e.HNumber HManagerNumber,e.HName HManagerName,a.HRemark
+            //                                    from Sb_EquipMaintainRuleBillMain a left join Sb_EquipMaintainRuleBillSub_Item t on a.HInterID=t.HInterID 
+            //                                    left join Gy_Maintain m on m.HItemID=t.HMaintainItemID
+            //                                    left join Gy_Employee e on e.HItemID=t.HManagerID
+            //                                    where a.HInterID=" + EquipProjectID);
+            //    string sql2 = string.Format(@"select b.HMaterID,m.HNumber HMaterNumber,m.HName HMaterName,b.HUnitID,u.HNumber HUnitNumber,u.HName HUnitName,b.HQty,b.HRemark from Sb_EquipMaintainRuleBillMain a  
+												//left join Sb_EquipMaintainRuleBillSub b on a.HInterID=b.HInterID 
+            //                                    left join h_v_IF_Material m on b.HMaterID=m.HItemID
+												//left join h_v_IF_Unit u on b.HUnitID=u.HItemID
+            //                                    where a.HInterID=" + EquipProjectID);
 
-                ds1 = oCN.RunProcReturn(sql1, "Sb_EquipMaintainRuleBillMain");//淇濆吇
-                ds2 = oCN.RunProcReturn(sql2, "Sc_MouldMaintainRuleBillMain");//閰嶄欢
+                string sql1 = string.Format(@"select * from h_v_Sb_EquipMaintainRuleBillList where HInterID=" + EquipProjectID);
+                string sql2 = string.Format(@"select * from h_v_Sb_EquipMaintainRuleSub where hmainid=" + EquipProjectID);
+
+                ds1 = oCN.RunProcReturn(sql1, "h_v_Sb_EquipMaintainRuleBillList");//淇濆吇
+                ds2 = oCN.RunProcReturn(sql2, "h_v_Sb_EquipMaintainRuleSub");//閰嶄欢
                 list.Add(ds1.Tables[0]);
                 list.Add(ds2.Tables[0]);
                 objJsonResult.code = "0";
diff --git a/WebAPI/Controllers/XSGL/Kf_ICStockBackBillController.cs b/WebAPI/Controllers/XSGL/Kf_ICStockBackBillController.cs
index 320e11c..c5cd285 100644
--- a/WebAPI/Controllers/XSGL/Kf_ICStockBackBillController.cs
+++ b/WebAPI/Controllers/XSGL/Kf_ICStockBackBillController.cs
@@ -547,6 +547,10 @@
 
                     //瀹℃牳鎻愪氦
                     oCN.BeginTran();
+
+                    //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨
+                    ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','1'", "h_KF_UPDateICinventory");
+
                     //澧炲姞鍏宠仈
                     oCN.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellBack_Check " + oBill.omodel.HInterID + ",'" + CurUserName + "'");
                     //鍐欏叆鏃ュ織
@@ -642,6 +646,10 @@
 
                     //鍙嶅鏍告彁浜bandonCheck
                     oCN.BeginTran();
+
+                    //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                    ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','2'", "h_KF_UPDateICinventory");
+
                     //鍒犻櫎鍏宠仈
                     oCN.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToSellBack_UnCheck " + HInterID + ",'" + CurUserName + "'");
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_SellOutBackBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
diff --git a/WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs b/WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs
index 70a60b5..20f2515 100644
--- a/WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs
+++ b/WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs
@@ -591,6 +591,8 @@
                     oCN.BeginTran();
                     //澧炲姞鍏宠仈
                     oCN.RunProc("exec h_p_Kf_SellOutBill_Check " + HInterID + ",'" + oBill.BillType + "','" + CurUserName + "'");
+                    //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                    ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + HInterID + "','" + oBill.BillType + "','1'", "h_KF_UPDateICinventory");
                     //鍐欏叆鏃ュ織
                     string WorkList = "瀹℃牳鍗曟嵁锛屽崟鎹彿锛�" + oBill.omodel.HBillNo;
                     string SystemName = "LMES-閿�鍞嚭搴撳崟妯″潡";
@@ -1186,5 +1188,90 @@
             }
         }
         #endregion
+
+        #region 閿�鍞嚭搴撳崟 涓嬫煡
+        /// <summary>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <returns></returns>
+        [Route("Kf_SellOutBill/SellOutBill_LookDown")]
+        [HttpGet]
+        public object SellOutBill_LookDown(int HInterID)
+        {
+            try
+            {
+                List<object> columnNameListSum = new List<object>();
+                List<object> columnNameList0 = new List<object>();
+                //List<object> columnNameList1 = new List<object>();
+                //List<object> columnNameList2 = new List<object>();
+                //List<object> columnNameList3 = new List<object>();
+                //List<object> columnNameList4 = new List<object>();
+
+                string sql = "exec h_p_Kf_SellOutBill_lookdown " + HInterID;
+                ds = oCN.RunProcReturn(sql, "h_p_Kf_SellOutBill_lookdown");
+
+                //娣诲姞 閿�鍞皟浠峰崟 鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList0.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                ////娣诲姞 鐢熶骇璁㈠崟 鍒楀悕
+                //foreach (DataColumn col in ds.Tables[1].Columns)
+                //{
+                //    Type dataType = col.DataType;
+                //    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                //    columnNameList1.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                //}
+
+                ////娣诲姞 鐗规壒鐢宠鍗� 鍒楀悕
+                //foreach (DataColumn col in ds.Tables[2].Columns)
+                //{
+                //    Type dataType = col.DataType;
+                //    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                //    columnNameList2.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                //}
+
+                ////娣诲姞 閿�鍞嚭搴撳崟 鍒楀悕
+                //foreach (DataColumn col in ds.Tables[3].Columns)
+                //{
+                //    Type dataType = col.DataType;
+                //    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                //    columnNameList3.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                //}
+
+                ////娣诲姞 宸ュ簭娴佽浆鍗� 鍒楀悕
+                //foreach (DataColumn col in ds.Tables[4].Columns)
+                //{
+                //    Type dataType = col.DataType;
+                //    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                //    columnNameList4.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                //}
+
+                columnNameListSum.Add(columnNameList0);
+                //columnNameListSum.Add(columnNameList1);
+                //columnNameListSum.Add(columnNameList2);
+                //columnNameListSum.Add(columnNameList3);
+                //columnNameListSum.Add(columnNameList4);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables;
+                objJsonResult.list = columnNameListSum;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
index 4c3302f..a27934a 100644
--- a/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
@@ -1775,9 +1775,40 @@
                 //杩涜闇�瑕佽繘琛岀殑鍏抽棴/鍙嶅叧闂搷浣�
                 if (IsAudit == 0) //鍏抽棴鎻愪氦
                 {
+                    oBill.oCn.BeginTran();
                     //鍏抽棴鎻愪氦
                     if (oBill.CloseBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
+                        //鍏抽棴鍚庢帶鍒�=========================================      
+                        string sql_afterClose = "exec h_p_Xs_SeOrderBill_AfterCloseCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
+                        DataSet ds_afterClose = oBill.oCn.RunProcReturn(sql_afterClose, "h_p_Xs_SeOrderBill_AfterCloseCtrl");
+                        if (ds_afterClose == null || ds_afterClose.Tables[0].Rows.Count <= 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍏抽棴澶辫触锛屽師鍥狅細鍏抽棴鍚庢帶鍒堕敊璇紝璇疯仈绯荤綉缁滅鐞嗕汉鍛橈紒";
+                            objJsonResult.data = null;
+                            oBill.oCn.RollBack();
+
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            if (ds_afterClose.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "鍏抽棴澶辫触锛屽師鍥狅細" + ds_afterClose.Tables[0].Rows[0]["HRemark"].ToString();
+                                objJsonResult.data = null;
+                                oBill.oCn.RollBack();
+
+                                return objJsonResult;
+                            }
+                        }
+                        //=========================================
+
+                        oBill.oCn.Commit();
+
                         objJsonResult.code = "1";
                         objJsonResult.count = 1;
                         objJsonResult.Message = "鍏抽棴鎴愬姛";
@@ -1786,6 +1817,8 @@
                     }
                     else
                     {
+                        oBill.oCn.RollBack();
+
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
                         objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
@@ -1961,7 +1994,7 @@
                 if (IsAudit == 0) //琛屽叧闂彁浜�
                 {
                     //琛屽叧闂彁浜�
-                    if (oBill.CloseRow(lngBillKey,HEntryID,oBill.omodel.HBillNo,CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    if (oBill.CloseRow(lngBillKey,HEntryID,oBill.omodel.HBillNo,CurUserName, "h_p_Xs_SeOrderBill_AfterEntryCloseCtrl", ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
                         objJsonResult.code = "1";
                         objJsonResult.count = 1;
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBackBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBackBillController.cs"
index 7cb661c..774168f 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBackBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBackBillController.cs"
@@ -87,7 +87,7 @@
         public object set_DeleteBill(string HInterID,string user)
         {
             //缂栬緫鏉冮檺
-            if (!DBUtility.ClsPub.Security_Log_second("Kf_MateOutBackBill_Drop", 1, false, user))
+            if (!DBUtility.ClsPub.Security_Log_second("Kf_MateOutBackBill_Delete", 1, false, user))
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
@@ -219,7 +219,7 @@
                     return objJsonResult;
                 }
                 Int64 lngBillKey = 0;
-                lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                
                 //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾
                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
@@ -270,7 +270,7 @@
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = null;
+                    objJsonResult.data = null;                   
                     return objJsonResult;
                 }
             }
@@ -362,7 +362,8 @@
                     objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
                     objJsonResult.data = null;
                     return objJsonResult;
-                }
+                }                
+
                 //鍙嶅鏍告彁浜bandonCheck
                 if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                 {
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBillController.cs"
index 0726ab2..57452bb 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\242\206\346\226\231\345\217\221\350\264\247/Kf_MateOutBillController.cs"
@@ -898,10 +898,7 @@
 
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
-                {
-                    //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛�
-                    ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','1'", "h_KF_UPDateICinventory");
-
+                {                  
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
@@ -921,10 +918,7 @@
                     }
                 }
                 if (IsAudit == 1) //鍙嶅鏍告彁浜�
-                {
-                    //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛�
-                    ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','2'", "h_KF_UPDateICinventory");
-
+                {                   
                     //鍙嶅鏍告彁浜bandonCheck
                     if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_EntrustOutBackBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_EntrustOutBackBillController.cs"
index ca9a6c1..9a17344 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_EntrustOutBackBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_EntrustOutBackBillController.cs"
@@ -66,5 +66,151 @@
         }
 
         #endregion
+
+        #region 濮斿鍔犲伐鍑哄簱鍗� 瀹℃牳/鍙嶅鏍�
+
+        [Route("Kf_EntrustOutBackBill/AuditKf_EntrustOutBackBill")]
+        [HttpGet]
+        public object AuditKf_EntrustOutBackBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Kf_EntrustOutBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                oCn.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from Kf_ICStockBillMain where HinterID = " + HInterID;
+                    ds = oCn.RunProcReturn(sql, "Kf_ICStockBillMain");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //瀹℃牳鍗曟嵁
+                        oCn.RunProc("update Kf_ICStockBillMain set HChecker='" + user + "',HCheckDate=getdate(),HBillStatus=2 where HinterID=" + HInterID);
+                        //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                        ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + HInterID + "','" + ds.Tables[0].Rows[0]["HBillType"] + "','1'", "h_KF_UPDateICinventory");
+
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛";
+                        objJsonResult.data = null;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from Kf_ICStockBillMain where HinterID = " + HInterID;
+                    ds = oCn.RunProcReturn(sql, "Kf_ICStockBillMain");
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍙嶅鏍革紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        oCn.RunProc("update Kf_ICStockBillMain set HChecker='',HCheckDate=null,HBillStatus=1 where HinterID=" + HInterID);
+                        //鍙嶅鏍告洿鏂� 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨
+                        ds = oCn.RunProcReturn("exec h_KF_UPDateICinventory  '" + HInterID + "','" + ds.Tables[0].Rows[0]["HBillType"] + "','2'", "h_KF_UPDateICinventory");
+
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                        objJsonResult.data = null;
+                    }
+                }
+
+                oCn.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_ProductInBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_ProductInBillController.cs"
index 1bbc891..8a8526d 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_ProductInBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_ProductInBillController.cs"
@@ -218,7 +218,6 @@
                         objJsonResult.Message = s;
                         return objJsonResult;
                     }
-
                     //Type 1 瀹℃牳  2  鍙嶅鏍�
                     if (Type == 1)
                     {
@@ -266,7 +265,7 @@
                                 objJsonResult.data = null;
                                 return objJsonResult;
                             }
-                        }
+                        }                       
                         //瀹℃牳鍗曟嵁
                         if (!oBill.CheckBill(HInterID, oBill.omodel.HBillNo, "h_p_Kf_ProductInBill_AfterCheckCtrl", HMaker, ref ClsPub.sExeReturnInfo))
                         {
@@ -316,6 +315,7 @@
                                 return objJsonResult;
                             }
                         }
+
                         //鍙嶅鏍稿崟鎹�
                         if (!oBill.AbandonCheck(HInterID, oBill.omodel.HBillNo, "h_p_Kf_ProductInBill_AfterUnCheckCtrl", HMaker, ref ClsPub.sExeReturnInfo))
                         {
@@ -333,7 +333,7 @@
                             objJsonResult.data = null;
                             return objJsonResult; ;
                         }
-                    }
+                    }      
                 }
                 else
                 {
diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_StepFoldinBillController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_StepFoldinBillController.cs"
index 04aea87..021f780 100644
--- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_StepFoldinBillController.cs"
+++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\351\252\214\346\224\266\345\205\245\345\272\223/Kf_StepFoldinBillController.cs"
@@ -517,10 +517,6 @@
                 {
                     HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                 }
-
-
-
-
                 //Type 1 瀹℃牳  2  鍙嶅鏍�
                 if (Type == 1)
                 {
@@ -544,7 +540,6 @@
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
-
                     if (!BillOld.CheckBill(int.Parse(HInterID), HBillNo, "h_p_Cg_POInStockBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                     {
                         objJsonResult.code = "0";
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs"
index d3fdc6a..9625818 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs"
@@ -230,7 +230,7 @@
                 var sWhere = "";
                 if (Convert.ToInt32(HMaterID) != 0 && HMaterID.ToString() != "" && Convert.ToInt32(HProcID) != 0 && HProcID.ToString() != "")
                 {
-                    sWhere += " and HMaterID = " + HMaterID + " and HProcID = " + HProcID ;
+                    sWhere += " and HMaterID = " + HMaterID + " and HProcID = " + HProcID + " and HProcID2 = " + HProcID;
                 }
                 string sql1 = string.Format(@"select * from h_v_Sc_ICMOBillStatus_Tmp_SOP where 1 = 1 " + sWhere);
 
diff --git "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs" "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
index 44abd3c..95eff1a 100644
--- "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
+++ "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
@@ -673,14 +673,14 @@
                 ,HMaterID,HUnitID,HRemark,HSourceID,HDeptID,HSTATUS
                 ,HBomID,HEntryCusID,HSTOCKINORGID
 				,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney
-                ,HAuxQty,HAuxUnit,HWidth,HWeight,HColorRemark,HCusMaterName,HCusModel,HOrderPickRemark,HCusMaterNumber,HWidth_New,HWeight_New,HMaterModel,HRemark_New,HPlanOrderProcNo) 
+                ,HAuxQty,HAuxUnit,HAuxQty2,HAuxUnit2,HWidth,HWeight,HColorRemark,HCusMaterName,HCusModel,HOrderPickRemark,HCusMaterNumber,HWidth_New,HWeight_New,HMaterModel,HRemark_New,HPlanOrderProcNo) 
                  values({HInterID},{HEntryID},{(oSub.HQty == null ? 0 : oSub.HQty)}
                 ,'{(oSub.HPlanBeginDate == null ? DateTime.Now.ToString("yyyy-MM-dd") : oSub.HPlanBeginDate.ToString())}','{(oSub.HPlanEndDate == null ? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") : oSub.HPlanEndDate.ToString())}'
                 ,'{(oSub.HBeginDate == null ? DateTime.Now.ToString("yyyy-MM-dd") : oSub.HBeginDate.ToString())}','{(oSub.HEndDate == null ? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") : oSub.HEndDate.ToString())}'
                 ,{oSub.HMaterID},{oSub.HUnitID},'{oSub.HRemark}',{oSub.HSourceID},{oSub.HDeptID},{oSub.HSTATUS}
                  ,{oSub.HBomID}  ,{oSub.HCusID} ,{oSub.HSTOCKINORGID}
 	                    ,{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',0,0
-                ,{oSub.HAuxQty},{oSub.HAuxUnit},{oSub.HWidth},{oSub.HWeight},'{oSub.HColorRemark}','{oSub.HCusMaterName}','{oSub.HCusModel}','{oSub.HOrderPickRemark}','{oSub.HCusMaterNumber}',{oSub.HWidth_New},{oSub.HWeight_New},'{oSub.HModel}','{oSub.HRemark_New}','{oSub.HPlanOrderProcNo}')");
+                ,{oSub.HAuxQty},{oSub.HAuxUnit},{oSub.HAuxQty2},{oSub.HAuxUnit2},{oSub.HWidth},{oSub.HWeight},'{oSub.HColorRemark}','{oSub.HCusMaterName}','{oSub.HCusModel}','{oSub.HOrderPickRemark}','{oSub.HCusMaterNumber}',{oSub.HWidth_New},{oSub.HWeight_New},'{oSub.HModel}','{oSub.HRemark_New}','{oSub.HPlanOrderProcNo}')");
 
 
             objJsonResult.code = "1";
diff --git a/WebAPI/DLL/ClsGy_Material_Ctl.cs b/WebAPI/DLL/ClsGy_Material_Ctl.cs
index 4a988b6..cb39937 100644
--- a/WebAPI/DLL/ClsGy_Material_Ctl.cs
+++ b/WebAPI/DLL/ClsGy_Material_Ctl.cs
@@ -27,7 +27,9 @@
                     ",HSubjoin,HSubjoin2,HColor,HVersion,HEngName,HEngModel,HPropertyTypeID,HSPGroupID,HSPID,HMinPickQty,HUSEORGID,HERPItemID" +
                     ",HSALEUNITID,HSALEPRICEUNITID,HBASEUNITID,HSTOREUNITID,HCHECKINCOMING,HCHECKPRODUCT,HPERUNITSTANDHOUR" +
                     ",HSTDLABORPREPARETIME,HSTDMACHINEPREPARETIME,HWidth,HWeight,HColorRemark,HQCSchemeID_Fst,HQCSchemeID_Proc,HQCSchemeID_Patrol" +
-                    ",HMaterRuleType,HColorNo,HPieceMaxQty,HCommonUseFlag,HAvgStockPrice,HFootPrice,HTaxCost,HNoTaxCost,HOnceRightRate) " +
+                    ",HMaterRuleType,HColorNo,HPieceMaxQty,HCommonUseFlag,HAvgStockPrice,HFootPrice,HTaxCost,HNoTaxCost,HOnceRightRate" +
+                    ",HHeight_M,HInches_M,HAl1Long_M,HDensity_M,HTela_M,HUnderTela_M,HSizing_M" +
+                    ") " +
                     " Values('" + oModel.HNumber + "','" + oModel.HName + "','" + oModel.HHelpCode + "','" + oModel.HShortNumber + "'," + oModel.HParentID.ToString() +
                     ", " + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark + "'" +
                     ",'" + oModel.HModel + "'," + oModel.HUnitID.ToString() + "," + oModel.HMaterClsID.ToString() + "," + oModel.HMaterTypeID.ToString() + "," + oModel.HUnitGroupID.ToString() +
@@ -36,7 +38,15 @@
                     ", " + oModel.HKeepDays.ToString() + "," + oModel.HPlanPrice.ToString() + "," + oModel.HstdPrice.ToString() + "," + oModel.HQtyMin.ToString() + "," + oModel.HQtyMax.ToString() +
                     ",'" + oModel.HSubjoin + "','" + oModel.HSubjoin2 + "','" + oModel.HColor + "','" + oModel.HVersion + "','" + oModel.HEngName + "','" + oModel.HEngModel + "'," + oModel.HPropertyTypeID.ToString() + "," + oModel.HSPGroupID.ToString() + "," + oModel.HSPID.ToString() + "," + oModel.HMinPickQty.ToString() + "," + oModel.HUSEORGID + "," + oModel.HERPItemID + "," + oModel.HSALEUNITID + "," + oModel.HSALEPRICEUNITID + "," + oModel.HBASEUNITID + "," + oModel.HSTOREUNITID + "," + oModel.HCHECKINCOMING + "," + oModel.HCHECKPRODUCT + "," + oModel.HPERUNITSTANDHOUR + "," + oModel.HSTDLABORPREPARETIME + "," + oModel.HSTDMACHINEPREPARETIME + ","+ oModel.HWidth + "," + oModel.HWeight + ",'"+ oModel.HColorRemark + "'," + oModel.HQCSchemeID_Fst + ","
                        + oModel.HQCSchemeID_Proc + "," + oModel.HQCSchemeID_Patrol + "" +
-                       ",'"+ oModel.HMaterRuleType + "','"+ oModel.HColorNo + "','" + oModel.HPieceMaxQty.ToString() + "','" + oModel.HCommonUseFlag.ToString() + "','" + oModel.HAvgStockPrice.ToString() + "','" + oModel.HFootPrice.ToString() + "','" + oModel.HTaxCost.ToString() + "','" + oModel.HNoTaxCost.ToString() + "'," + oModel.HOnceRightRate + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+                       ",'"+ oModel.HMaterRuleType + "','"+ oModel.HColorNo + "','" + oModel.HPieceMaxQty.ToString() + "','" + oModel.HCommonUseFlag.ToString() + "','" + oModel.HAvgStockPrice.ToString() + "','" + oModel.HFootPrice.ToString() + "','" + oModel.HTaxCost.ToString() + "','" + oModel.HNoTaxCost.ToString() + "'," + oModel.HOnceRightRate + "" +
+                       ",'" + oModel.HHeight_M + "'" +
+                       ",'" + oModel.HInches_M + "'" +
+                       ",'" + oModel.HAl1Long_M + "'" +
+                       ",'" + oModel.HDensity_M + "'" +
+                       ",'" + oModel.HTela_M + "'" +
+                       ",'" + oModel.HUnderTela_M + "'" +
+                       ",'" + oModel.HSizing_M + "'" +
+                       ")", ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼涓婄骇涓洪潪鏈骇浠g爜
                 oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                 oCn.Commit();
@@ -155,7 +165,15 @@
                     ",HTaxCost=" + oModel.HTaxCost.ToString() +
                     ",HNoTaxCost=" + oModel.HNoTaxCost.ToString() +
                     ",HOnceRightRate=" + oModel.HOnceRightRate.ToString() +
-                    ",HSTDMACHINEPREPARETIME=" + oModel.HSTDMACHINEPREPARETIME.ToString() + "Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
+                    ",HSTDMACHINEPREPARETIME=" + oModel.HSTDMACHINEPREPARETIME.ToString() + " " +
+                    ",HHeight_M='" + oModel.HHeight_M + "'" +
+                    ",HInches_M='" + oModel.HInches_M + "'" +
+                    ",HAl1Long_M='" + oModel.HAl1Long_M + "'" +
+                    ",HDensity_M='" + oModel.HDensity_M + "'" +
+                    ",HTela_M='" + oModel.HTela_M + "'" +
+                    ",HUnderTela_M='" + oModel.HUnderTela_M + "'" +
+                    ",HSizing_M='" + oModel.HSizing_M + "'" +
+                    " Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼瀛愰」鐩唬鐮�
                 oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
                 //灏嗕笂绾� 涓洪潪鏈骇
diff --git a/WebAPI/Models/ClsGy_Material_Model.cs b/WebAPI/Models/ClsGy_Material_Model.cs
index 77107ef..b9ee92f 100644
--- a/WebAPI/Models/ClsGy_Material_Model.cs
+++ b/WebAPI/Models/ClsGy_Material_Model.cs
@@ -76,5 +76,13 @@
         public double HNoTaxCost; // 涓嶅惈绋庢垚鏈环
 
         public double HOnceRightRate; //涓�娆″悎鏍肩巼鏍囧噯鍊�
+
+        public string HHeight_M;//姣涢珮
+        public string HInches_M;//瀵告暟缁勭粐
+        public string HAl1Long_M;//鍏ㄦ瘺闀�
+        public string HDensity_M;//鍧忓竷瀵嗗害
+        public string HTela_M;//姣涚罕鍚嶇О鍙婅鏍�
+        public string HUnderTela_M;//搴曚笣
+        public string HSizing_M;//瀹氬瀷娴嗘枡
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Models/Gy_RoutingBillSub.cs b/WebAPI/Models/Gy_RoutingBillSub.cs
index ac11bb8..d76ad2a 100644
--- a/WebAPI/Models/Gy_RoutingBillSub.cs
+++ b/WebAPI/Models/Gy_RoutingBillSub.cs
@@ -10,6 +10,7 @@
         public long HProcID { get; set; }//宸ュ簭ID
         public string HProcNo { get; set; }//娴佹按鍙�
         public long HSupID { get; set; }//渚涘簲鍟咺D
+        public bool HSNCtrl { get; set; }//SN杩囩珯
         public bool HSupFlag { get; set; }//澶栧崗鏍囪
         public double HWorkQty { get; set; }//鍔犲伐鏁伴噺
         public double HPassRate { get; set; }//鑹巼
diff --git a/WebAPI/Web.config b/WebAPI/Web.config
index 49df9b9..2beafce 100644
--- a/WebAPI/Web.config
+++ b/WebAPI/Web.config
@@ -22,7 +22,7 @@
 		<!--<add key="FileIP" value="http://localhost:8082/LuBaoAPI"/>-->
 		<!--<add key="FileIP" value="http://localhost:8080/" />-->
 		<!--<add key="sUrl" value="http://183.129.128.86:9090/WEBS-WMSTest/WebService1.asmx"/>    -->
-		<add key="sUrl" value="http://192.168.0.81/WEBS-WMS/WebService1.asmx"/>   <!--棰滃彴寮忔満-->
+		<!--<add key="sUrl" value="http://192.168.0.81/WEBS-WMS/WebService1.asmx"/>   --><!--棰滃彴寮忔満-->
 		<!--<add key="sUrl" value="http://60.190.4.42:9003/WebService/WebService1.asmx" /> 澶忓疂-->
 		<!--<add key="sUrl" value="http://60.190.4.42:9003/WebService/WebService1.asmx" /> -->
 		<!--<add key="sUrl" value="http://10.10.130.181/WEBS-WMS/WebService1.asmx"/>    鍗氭棩绉戞妧-->
@@ -35,9 +35,10 @@
 		<!--<add key="sUrl" value="http://47.96.97.237/WEBS-WMS/WebService1.asmx"/> -->	<!--娴嬭瘯鏈嶅姟鍣�-->
 		<!--<add key="surl" value="http://localhost:8082/webs/webservice1.asmx"/>    鏈湴-->
 		<!--<add key="sUrl" value="http://192.168.110.57:81/WEBS/WebService1.asmx"/>-->	<!--闄堥洴闈欐湰鍦伴厤缃�-->
-		<add key="surl" value="http://localhost/webs-web/webservice1.asmx"/>	<!--缈佹稕娑涙湰鍦伴厤缃�-->
+		<!--<add key="surl" value="http://localhost/webs-web/webservice1.asmx"/>	--><!--缈佹稕娑涙湰鍦伴厤缃�-->
 		<!--<add key="sUrl" value="http://192.168.1.57:8082/WEBS-WMS/WebService1.asmx"/>涔濊彵-->
-
+		<add key="sUrl" value="http://61.130.182.102:18181/WEBSCS/WebService1.asmx"/><!--鏂帿灏�-->
+		
 		<add key="webpages:Version" value="3.0.0.0" />
 		<add key="webpages:Enabled" value="false" />
 		<add key="ClientValidationEnabled" value="true" />
@@ -105,7 +106,7 @@
 			</basicHttpBinding>
 		</bindings>
 		<client>
-			<endpoint address="http://192.168.0.81/WEBS-WMS/WebService1.asmx" binding="basicHttpBinding"
+			<endpoint address="http://61.130.182.102:18181/WEBSCS/WebService1.asmx" binding="basicHttpBinding"
      bindingConfiguration="WebService1Soap" contract="Webs1.WebService1Soap"
      name="WebService1Soap" />
 		</client>
@@ -114,7 +115,7 @@
  <applicationSettings>
   <WebAPI.Properties.Settings>
    <setting name="WebAPI_WebS_WebService1" serializeAs="String">
-    <value>http://192.168.0.81/WEBS-WMS/WebService1.asmx</value>
+    <value>http://61.130.182.102:18181/WEBSCS/WebService1.asmx</value>
    </setting>
   </WebAPI.Properties.Settings>
  </applicationSettings>

--
Gitblit v1.9.1