From b94017060723fe558eceafef5d99470689c76144 Mon Sep 17 00:00:00 2001 From: Tyrone CT Date: Wed, 28 Jan 2026 15:04:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9FTP=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .windsurf/rules/readexcelfilerules.md | 73 +- FATrace.App/frmMain.Designer.cs | 17 + FATrace.App/frmMain.cs | 82 +- FATrace.App/frmMessage.Designer.cs | 94 ++ FATrace.App/frmMessage.cs | 67 + FATrace.App/frmMessage.resx | 1253 +++++++++++++++++ FATrace.Model/FATrace.Model.csproj | 4 - FATrace.Model/FileModel/FactoryInOutbound.cs | 62 + FATrace.Model/FileModel/FactoryInbound.cs | 31 +- FATrace.Model/FileModel/FactoryOutbound.cs | 10 - .../FileModel/FactoryProductionRecord.cs | 2 +- ...Transaction.cs => FactoryRawInOutbound.cs} | 14 +- ...rialWithdrawal.cs => FactoryRawInbound.cs} | 16 +- FATrace.Model/FileModel/FactoryRawOutbound.cs | 42 + ...ventoryTransaction.cs => OEMInOutbound.cs} | 4 +- FATrace.Model/FileModel/OEMInbound.cs | 10 - FATrace.Model/FileModel/OEMOutbound.cs | 10 - FATrace.Model/FileModel/OEMRawUsageInfo.cs | 4 - FATrace.WPLApp/App.xaml.cs | 2 + FATrace.WPLApp/ExcelFile/20251218161818.xlsx | Bin 11090 -> 0 bytes FATrace.WPLApp/ExcelFile/20260120155036.xlsx | Bin 0 -> 11795 bytes FATrace.WPLApp/Services/NavigationServices.cs | 34 +- FATrace.WPLApp/Services/ReadFileServices.cs | 155 +- .../ViewModels/FactoryInOutboundViewModel.cs | 272 ++++ .../ViewModels/FactoryInboundViewModel.cs | 2 +- .../FactoryInventoryTransactionViewModel.cs | 16 +- .../FactoryMaterialWithdrawalViewModel.cs | 16 +- .../FactoryProductionRecordViewModel.cs | 8 +- .../ViewModels/FactoryRawInboundViewModel.cs | 264 ++++ FATrace.WPLApp/ViewModels/MainViewModel.cs | 18 +- .../OEMInventoryTransactionViewModel.cs | 6 +- .../ViewModels/OEMRawUsageInfoViewModel.cs | 2 +- .../Views/FactoryInOutboundView.xaml | 132 ++ .../Views/FactoryInOutboundView.xaml.cs | 18 + FATrace.WPLApp/Views/FactoryInboundView.xaml | 38 +- .../FactoryInventoryTransactionView.xaml | 6 +- .../Views/FactoryMaterialWithdrawalView.xaml | 10 +- FATrace.WPLApp/Views/FactoryOutboundView.xaml | 8 - .../Views/FactoryProductionRecordView.xaml | 8 +- .../Views/FactoryRawInboundView.xaml | 173 +++ .../Views/FactoryRawInboundView.xaml.cs | 18 + FATrace.WPLApp/Views/OEMInboundView.xaml | 8 - FATrace.WPLApp/Views/OEMOutboundView.xaml | 8 - FATrace.WPLApp/Views/OEMRawUsageInfoView.xaml | 2 +- 44 files changed, 2748 insertions(+), 271 deletions(-) create mode 100644 FATrace.App/frmMessage.Designer.cs create mode 100644 FATrace.App/frmMessage.cs create mode 100644 FATrace.App/frmMessage.resx create mode 100644 FATrace.Model/FileModel/FactoryInOutbound.cs rename FATrace.Model/FileModel/{FactoryInventoryTransaction.cs => FactoryRawInOutbound.cs} (80%) rename FATrace.Model/FileModel/{FactoryMaterialWithdrawal.cs => FactoryRawInbound.cs} (68%) create mode 100644 FATrace.Model/FileModel/FactoryRawOutbound.cs rename FATrace.Model/FileModel/{OEMInventoryTransaction.cs => OEMInOutbound.cs} (94%) delete mode 100644 FATrace.WPLApp/ExcelFile/20251218161818.xlsx create mode 100644 FATrace.WPLApp/ExcelFile/20260120155036.xlsx create mode 100644 FATrace.WPLApp/ViewModels/FactoryInOutboundViewModel.cs create mode 100644 FATrace.WPLApp/ViewModels/FactoryRawInboundViewModel.cs create mode 100644 FATrace.WPLApp/Views/FactoryInOutboundView.xaml create mode 100644 FATrace.WPLApp/Views/FactoryInOutboundView.xaml.cs create mode 100644 FATrace.WPLApp/Views/FactoryRawInboundView.xaml create mode 100644 FATrace.WPLApp/Views/FactoryRawInboundView.xaml.cs diff --git a/.windsurf/rules/readexcelfilerules.md b/.windsurf/rules/readexcelfilerules.md index 13aa180..0300044 100644 --- a/.windsurf/rules/readexcelfilerules.md +++ b/.windsurf/rules/readexcelfilerules.md @@ -1,18 +1,20 @@ --- trigger: always_on --- -1. 读取ExcelFile/20251218161818.xlsx文件,这个是其他系统导出的Excel模板文件,文件名称里面是时间信息,里面有多个Sheet,每个Sheet都是一个表 +1. 读取ExcelFile/20260120155036.xlsx文件,这个是其他系统导出的Excel模板文件,文件名称里面是时间信息,里面有多个Sheet,每个Sheet都是一个表 2. 根据这个Excel文件和里面的多个Sheet帮我建立一个多个数据模型,数据模型建立在FATrace.Model/FileModel 下面 3. 数据模型/表的翻译如下: - 工厂-入库 :FactoryInbound - 工厂-领料:FactoryMaterial Withdrawal - 工厂-出入库:**FactoryInventoryTransaction** - 工厂-原料生产信息:FactoryProductionRecord + 工厂-成品入库 :FactoryInbound + 工厂-成品入库与出库:FactoryInOutbound 工厂-成品出库:FactoryOutbound + 工厂-包袋生产:FactoryProductionRecord + 工厂-原料入库:FactoryRawInbound + 工厂-原料出库:FactoryRawOutbound + 工厂-原料出入库:FactoryRawInOutbound OEM-入库:OEMInbound OEM-出库:OEMOutbound - OEM-出入库:OEMInventoryTransaction - OEM-原料使用信息:OEMRawUsageInfo + OEM-出入库:OEMInOutbound + OEM-原料使用:OEMRawUsageInfo 4. 每个表/模型的字段属性的名称,你可以读取excel里面的列头中文进行翻译,要求简洁。 很多的字段属性在FATrace.Model下其他的表/模型里面有有了,你可以借鉴他们的属性字段英文名称,这样属性字段能统一。 这些sheet里面的数据我后期只是展示用,表/模型的主键用long,其他Excel数据属性字段数据类型全部用string 类型, @@ -22,52 +24,59 @@ trigger: always_on 8. 有不理解的地方需要跟我确认,你要列一个任务清单,一个一个的执行 9. 你可以联网查询你需要的内容 10. 这些逻辑放到FATrace.WPLApp.Services.ReadFileServices 中,查询界面(View + ViewModel)放到FATrace.WPLApp中 - - - 11. 每个Sheet的列头内容 -工厂-入库 +工厂-原料入库 -| 产地 | 原料代码 | 原料名称 | 重量 | 登录日 | 登录时间 | 登录日期时间 | -| ---- | -------- | -------- | ---- | ------ | -------- | ------------ | +| 产地 | 原料代码 | 原料名称 | 重量(KG) | 登录日期时间 | +| ---- | -------- | -------- | -------- | ------------ | -工厂-领料 +工厂-原料出库 -| 产地 | 原料代码 | 原料名称 | 重量 | 登录日 | 登录时间 | 登录日期时间 | -| ---- | -------- | -------- | ---- | ------ | -------- | ------------ | +| 产地 | 原料代码 | 原料名称 | 重量(KG) | 登录日期时间 | +| ---- | -------- | -------- | -------- | ------------ | -工厂-出入库 +工厂-原料出入库 -| 入库时间 | 出库时间 | 产地 | 原料代码 | 原料名称 | 入库总重量KG | 出库总重量KG | 剩余重量KG | -| -------- | -------- | ---- | -------- | -------- | ------------ | ------------ | ---------- | +| 入库时间 | 出库时间 | 产地 | 原料代码 | 原料名称 | 入库总重量(KG) | 出库总重量(KG) | 剩余重量(KG) | +| -------- | -------- | ---- | -------- | -------- | -------------- | -------------- | ------------ | -工厂-原料生产信息 +工厂-包袋生产 -| 原料编号 | 原料名称 | 产地 | 内袋二维码 | 外箱二维码 | 批号 | 保质期 | 称重重量(g) | 配料日期 | 剩余重量(Kg) | 入库总重量(Kg) | 称重时间 | 操作者 | 确认者 | 外箱扫码时间 | +| 原料编号 | 原料名称 | 产地 | 内袋二维码 | 外箱二维码 | 批号 | 保质期 | 称重重量(G) | 配料日期 | 剩余重量(KG) | 入库总重量(KG) | 称重时间 | 操作者 | 确认者 | 外箱扫码时间 | | -------- | -------- | ---- | ---------- | ---------- | ---- | ------ | ----------- | -------- | ------------ | -------------- | -------- | ------ | ------ | ------------ | +工厂-成品入库 + +| 批号 | 重量(G) | 保质期 | 产地 | 原料代码 | 原料名称 | 序号 | 登录日期时间 | +| ---- | ------- | ------ | ---- | -------- | -------- | ---- | ------------ | + 工厂-成品出库 -| 批号 | 重量 | 保质期 | 产地 | 原料代码 | 原料名称 | 序号 | 登录日 | 登录时间 | 登录日期时间 | -| ---- | ---- | ------ | ---- | -------- | -------- | ---- | ------ | -------- | ------------ | +| 批号 | 重量(G) | 保质期 | 产地 | 原料代码 | 原料名称 | 序号 | 登录日期时间 | +| ---- | ------- | ------ | ---- | -------- | -------- | ---- | ------------ | + +工厂-成品入库与出库 + +| 入库时间 | 出库时间 | 产地 | 批号 | 原料代码 | 原料名称 | 入库总箱数 | 出库总箱数 | 剩余箱数 | +| -------- | -------- | ---- | ---- | -------- | -------- | ---------- | ---------- | -------- | OEM-入库 -| 批号 | 重量 | 保质期 | 产地 | 原料代码 | 原料名称 | 序号 | 登录日 | 登录时间 | 登录日期时间 | -| ---- | ---- | ------ | ---- | -------- | -------- | ---- | ------ | -------- | ------------ | +| 批号 | 重量(G) | 保质期 | 产地 | 原料代码 | 原料名称 | 序号 | 登录日期时间 | +| ---- | ------- | ------ | ---- | -------- | -------- | ---- | ------------ | OEM-出库 -| 批号 | 重量 | 保质期 | 产地 | 原料代码 | 原料名称 | 序号 | 登录日 | 登录时间 | 登录日期时间 | -| ---- | ---- | ------ | ---- | -------- | -------- | ---- | ------ | -------- | ------------ | +| 批号 | 重量(G) | 保质期 | 产地 | 原料代码 | 原料名称 | 序号 | 登录日期时间 | +| ---- | ------- | ------ | ---- | -------- | -------- | ---- | ------------ | OEM-出入库 -| 入库时间 | 出库时间 | 产地 | 原料代码 | 原料名称 | 入库总重量KG | 出库总重量KG | 剩余重量KG | -| -------- | -------- | ---- | -------- | -------- | ------------ | ------------ | ---------- | +| 入库时间 | 出库时间 | 产地 | 批号 | 原料代码 | 原料名称 | 入库总箱数 | 出库总箱数 | 剩余箱数 | +| -------- | -------- | ---- | ---- | -------- | -------- | ---------- | ---------- | -------- | -OEM-原料使用信息 +OEM-原料使用 -| 原料使用时间 | 内袋二维码 | 原料产地 | 原料名称 | 原料代码 | 视频链接 | -| ------------ | ---------- | -------- | -------- | -------- | -------- | +| 原料使用时间 | 内袋二维码 | 原料产地 | 原料名称 | 原料代码 | +| ------------ | ---------- | -------- | -------- | -------- | diff --git a/FATrace.App/frmMain.Designer.cs b/FATrace.App/frmMain.Designer.cs index f715ea5..ffa9113 100644 --- a/FATrace.App/frmMain.Designer.cs +++ b/FATrace.App/frmMain.Designer.cs @@ -105,6 +105,7 @@ namespace FATrace.App dtpSearchStartTime = new DateTimePicker(); dataGridView1 = new DataGridView(); label22 = new Label(); + btnReprint = new Button(); statusStrip1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)splitContainer1).BeginInit(); splitContainer1.Panel1.SuspendLayout(); @@ -346,6 +347,7 @@ namespace FATrace.App // panel3 // panel3.BorderStyle = BorderStyle.FixedSingle; + panel3.Controls.Add(btnReprint); panel3.Controls.Add(pictureBox4); panel3.Controls.Add(btnWeightPrint); panel3.Controls.Add(txtCode); @@ -681,6 +683,7 @@ namespace FATrace.App // // btnRawName3 // + btnRawName3.Enabled = false; btnRawName3.Font = new Font("Microsoft YaHei UI", 10.5F, FontStyle.Bold, GraphicsUnit.Point, 134); btnRawName3.Location = new Point(321, 53); btnRawName3.Name = "btnRawName3"; @@ -692,6 +695,7 @@ namespace FATrace.App // // btnRawName2 // + btnRawName2.Enabled = false; btnRawName2.Font = new Font("Microsoft YaHei UI", 10.5F, FontStyle.Bold, GraphicsUnit.Point, 134); btnRawName2.Location = new Point(24, 107); btnRawName2.Name = "btnRawName2"; @@ -980,6 +984,18 @@ namespace FATrace.App label22.Text = "历史数据"; label22.TextAlign = ContentAlignment.MiddleCenter; // + // btnReprint + // + btnReprint.Font = new Font("微软雅黑", 14.25F, FontStyle.Bold, GraphicsUnit.Point, 134); + btnReprint.ForeColor = SystemColors.ControlDarkDark; + btnReprint.Location = new Point(670, 5); + btnReprint.Name = "btnReprint"; + btnReprint.Size = new Size(190, 44); + btnReprint.TabIndex = 17; + btnReprint.Text = "重新打印当前"; + btnReprint.UseVisualStyleBackColor = true; + btnReprint.Click += btnReprint_Click; + // // frmMain // AutoScaleDimensions = new SizeF(7F, 17F); @@ -1102,5 +1118,6 @@ namespace FATrace.App private PictureBox pictureBox4; private TextBox txtOpName; private Label label28; + private Button btnReprint; } } \ No newline at end of file diff --git a/FATrace.App/frmMain.cs b/FATrace.App/frmMain.cs index e40f68b..16a2a28 100644 --- a/FATrace.App/frmMain.cs +++ b/FATrace.App/frmMain.cs @@ -664,23 +664,24 @@ namespace FATrace.App //确认数据 // 显示消息框,并等待用户响应 - DialogResult result = MessageBox.Show("确定要【打印】操作吗?", "确认操作", MessageBoxButtons.OKCancel); - if (result==DialogResult.Cancel) + DialogResult result = frmMessage.ShowConfirm("确定要【打印】操作吗?", "确认操作", this); + if (result == DialogResult.Cancel) { return; } - if (CurWeight<2.0) + if (CurWeight < 2.0) { //确认数据 // 显示消息框,并等待用户响应 - DialogResult resultWeightCheck = MessageBox.Show("检测到当前的重量小于2g,确定要【打印】操作吗?", "确认操作", MessageBoxButtons.OKCancel); + DialogResult resultWeightCheck = frmMessage.ShowConfirm("检测到当前的重量小于2g,确定要【打印】操作吗?", "确认操作", this); if (resultWeightCheck == DialogResult.Cancel) { return; } } - + + //新的剩余重量 Kg var NewRemainWeight = CurSelectedRawProInput.RemainWeight - CurWeight / 1000.0; @@ -726,7 +727,7 @@ namespace FATrace.App RawName = CurSelectedRawProInput.RawName, RemainWeight = NewRemainWeight, Weight = CurWeight, - DeliveryDate= DateTime.Now.ToString("yyyy-MM-dd"), + DeliveryDate = DateTime.Now.ToString("yyyy-MM-dd"), WeightTime = DateTime.Now, StockWeight = CurSelectedRawProInput.Weight, }).ExecuteAffrows(); @@ -786,13 +787,19 @@ namespace FATrace.App } /// - /// 格式化重量显示,整数部分至少2位(不足补0),小数部分固定2位 + /// 格式化重量显示,自动适配整数部分位数(2-4位),小数部分固定2位 /// /// 原始重量值 - /// 格式化后的重量字符串(如:09.50, 81.10, 100.00) + /// /// 格式化后的重量字符串(如:09.50, 81.10, 100.00, 1000.00) private string FormatWeight(double weight) { - return weight.ToString("00.00"); + // 根据重量值大小决定格式 + if (weight >= 1000) + return weight.ToString("0000.00"); // 四位整数:1000.00-9999.99 + else if (weight >= 100) + return weight.ToString("000.00"); // 三位整数:100.00-999.99 + else + return weight.ToString("00.00"); // 两位整数:00.00-99.99 } /// @@ -1276,5 +1283,62 @@ namespace FATrace.App } } + + /// + /// 重新打印之前最新的一个 + /// + /// + /// + private void btnReprint_Click(object sender, EventArgs e) + { + try + { + if (CurSelectedRawProInput == null) + { + MessageBox.Show("请先选择要称重的产品", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); + return; + } + + var LastData = FSqlContext.FDb.Select().OrderByDescending(a => a.WeightTime).First(); + if (LastData == null) + { + MessageBox.Show("没有找到最新的消息", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + + // 显示消息框,并等待用户响应 + DialogResult result = frmMessage.ShowConfirm($"确定要【重复打印】{LastData.InBagCode} 条码数据吗?", "确认操作", this); + if (result == DialogResult.Cancel) + { + return; + } + + // 执行打印 + try + { + UpdateStatusLabel(tslPrintState, "正在打印...", Color.Goldenrod, Color.White); + CurZebraPrint.PrintWeight(LastData.InBagCode!, CurSelectedRawProInput.RawName!, + CurWeight, + CurSelectedRawProInput.Batch!, + CurSelectedRawProInput.ShelfLife + ); + SetPrinterStatusOk("打印成功"); + logger.Info($"打印成功:{CurSelectedRawProInput.RawName} {CurWeight}g 批号{CurSelectedRawProInput.Batch}"); + } + catch (Exception ex) + { + SetPrinterStatusFail($"打印失败:{ex.Message}"); + logger.Error(ex, "打印失败"); + MessageBox.Show($"打印失败:{ex.Message}", "打印机错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + catch (Exception ex) + { + logger.Error(String.Format("ErrSource : {0} ErrMsg : {1}", ex.StackTrace.ToString(), ex.Message.ToString())); + } + + + } } } diff --git a/FATrace.App/frmMessage.Designer.cs b/FATrace.App/frmMessage.Designer.cs new file mode 100644 index 0000000..a4fafa9 --- /dev/null +++ b/FATrace.App/frmMessage.Designer.cs @@ -0,0 +1,94 @@ +namespace FATrace.App +{ + partial class frmMessage + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMessage)); + lblMessage = new Label(); + btnTrue = new Button(); + bntCancel = new Button(); + SuspendLayout(); + // + // lblMessage + // + lblMessage.Font = new Font("微软雅黑", 21.75F, FontStyle.Bold, GraphicsUnit.Point, 134); + lblMessage.ForeColor = Color.Blue; + lblMessage.Location = new Point(22, 36); + lblMessage.Name = "lblMessage"; + lblMessage.Size = new Size(710, 165); + lblMessage.TabIndex = 0; + lblMessage.Text = "消息内容"; + lblMessage.TextAlign = ContentAlignment.MiddleCenter; + // + // btnTrue + // + btnTrue.Font = new Font("Microsoft YaHei UI", 21.75F, FontStyle.Bold, GraphicsUnit.Point, 134); + btnTrue.ForeColor = SystemColors.ControlDarkDark; + btnTrue.Location = new Point(180, 246); + btnTrue.Name = "btnTrue"; + btnTrue.Size = new Size(146, 66); + btnTrue.TabIndex = 1; + btnTrue.Text = "确 认"; + btnTrue.UseVisualStyleBackColor = true; + btnTrue.Click += btnTrue_Click; + // + // bntCancel + // + bntCancel.Font = new Font("Microsoft YaHei UI", 21.75F, FontStyle.Bold, GraphicsUnit.Point, 134); + bntCancel.ForeColor = SystemColors.ControlDarkDark; + bntCancel.Location = new Point(384, 246); + bntCancel.Name = "bntCancel"; + bntCancel.Size = new Size(146, 66); + bntCancel.TabIndex = 2; + bntCancel.Text = "取 消"; + bntCancel.UseVisualStyleBackColor = true; + bntCancel.Click += bntCancel_Click; + // + // frmMessage + // + AutoScaleDimensions = new SizeF(7F, 17F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(744, 398); + Controls.Add(bntCancel); + Controls.Add(btnTrue); + Controls.Add(lblMessage); + Icon = (Icon)resources.GetObject("$this.Icon"); + MaximizeBox = false; + MinimizeBox = false; + Name = "frmMessage"; + Text = "消息确认"; + ResumeLayout(false); + } + + #endregion + + private Label lblMessage; + private Button btnTrue; + private Button bntCancel; + } +} \ No newline at end of file diff --git a/FATrace.App/frmMessage.cs b/FATrace.App/frmMessage.cs new file mode 100644 index 0000000..f2378a2 --- /dev/null +++ b/FATrace.App/frmMessage.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace FATrace.App +{ + public partial class frmMessage : Form + { + public frmMessage() + { + InitializeComponent(); + + StartPosition = FormStartPosition.CenterParent; + FormBorderStyle = FormBorderStyle.FixedDialog; + ShowInTaskbar = false; + AcceptButton = btnTrue; + CancelButton = bntCancel; + } + + /// + /// 显示确认对话框(OK/Cancel)。 + /// + /// 提示内容 + /// 标题 + /// 父窗口 + /// DialogResult.OK 表示确认;DialogResult.Cancel 表示取消 + public static DialogResult ShowConfirm(string message, string title = "确认操作", IWin32Window? owner = null) + { + using (var f = new frmMessage()) + { + if (!string.IsNullOrWhiteSpace(title)) + f.Text = title; + + f.SetMessageText(message); + + return owner == null ? f.ShowDialog() : f.ShowDialog(owner); + } + } + + /// + /// 设置提示文本。 + /// + /// 提示内容 + private void SetMessageText(string message) + { + lblMessage.Text = (message ?? string.Empty).Trim(); + } + + private void btnTrue_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.OK; + Close(); + } + + private void bntCancel_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Cancel; + Close(); + } + } +} diff --git a/FATrace.App/frmMessage.resx b/FATrace.App/frmMessage.resx new file mode 100644 index 0000000..893cbf0 --- /dev/null +++ b/FATrace.App/frmMessage.resx @@ -0,0 +1,1253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABMLAAATCwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAWAAAAJgAAADUAAABLAAAAXAAAAGoAAABpAAAAaQAA + AGkAAABpAAAAagAAAFwAAABLAAAANQAAACYAAAAWAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAkAAAATgAAAH4AAACqAAAAywAA + AOEAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAA + AOEAAADLAAAAqgAAAH4AAABOAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAA + AFQAAACQAAAA0QAAAO8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAA0QAA + AJAAAABUAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAdAAAAYAAAAK8AAADrAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADrAAAArwAAAGAAAAAdAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABDAAAAnwAAAOgAAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAACfAAAAQwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAwAAABjAAAAxwAAAP4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AgUA/wMJAP8FDgD/BQ4A/wUOAP8FDgD/BQ4A/wUNAP8DCQD/AgQA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD+AAAAxwAAAGMAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABnAAAA1AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8FDAD/DB4A/xU0AP8dTAD/JmIA/ytwAP8wfAD/M4UA/zaP + AP83kQD/N5IA/zeRAP82kAD/No4A/zOEAP8wfAD/Km8A/yZhAP8dSwD/FDQA/wweAP8FDAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANQAAABnAAAADgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAABbAAAA0gAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAoA/xAoAP8cRwD/K2sA/zSC + AP85kgD/PJoA/z2cAP89nwD/Pp8A/z2gAP89oAD/PaEA/z6jAP8+pAD/PqMA/z2iAP89oAD/PZ8A/z2f + AP89ngD/PZ0A/z2bAP88mQD/OZEA/zSCAP8ragD/HEcA/xAoAP8ECgD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADSAAAAWwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAA5AAAAugAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8FDAD/FDEA/yVcAP8zfgD/Oo4A/zuVAP88lAD/O5QA/zqVAP86lQD/O5cA/zuZAP88mgD/PJwA/zyd + AP88nwD/PaEA/z2iAP89oQD/PKAA/zyeAP88nAD/PJsA/zuZAP87lwD/O5YA/zqUAP86lAD/O5MA/zuU + AP87lAD/Oo4A/zN9AP8lXAD/FDEA/wUMAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAAugAAADkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAiAAAAPMAAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wECAP8NIQD/IlIA/zJ6AP85iwD/Oo8A/zqNAP85jQD/OY8A/zqQ + AP86kgD/OpQA/zqVAP87lwD/O5kA/zyaAP88nAD/PJ0A/zyfAP89oQD/PaIA/z2hAP88oAD/PJ4A/zyc + AP88mwD/O5kA/zuXAP87lgD/OpQA/zqTAP86kQD/OZAA/zmOAP85jgD/Oo0A/zqOAP85igD/MnkA/yJR + AP8NIQD/AQIA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAIgAAAAPAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAPQAAAMoAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIGAP8TLgD/KmQA/zeD + AP86igD/OYkA/ziIAP84igD/OYsA/zmNAP85jwD/OpAA/zqSAP86lAD/OpUA/zuXAP87mQD/PJkA/z2b + AP89nAD/PZ4A/z6gAP8+oAD/Pp8A/z2fAP89nQD/PZsA/z2aAP87mAD/O5cA/zuWAP86lAD/OpMA/zqR + AP85kAD/OY4A/zmNAP85iwD/OIkA/ziHAP85iAD/OokA/zeDAP8qZAD/Ey0A/wIGAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAMoAAAA9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAHcAAAD0AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wIEAP8VMgD/LWoA/ziDAP84hQD/N4MA/ziFAP84hwD/OIgA/ziKAP85iwD/OY0A/zmP + AP86jwD/O5AA/zuSAP87kwD/PJUA/zuaAf86ngj/OKMN/zemEv82qRX/N6sV/zOwH/8zsB//NqoW/zWp + Fv82pRP/OKIO/zieCf86mAH/PJQA/zuRAP87kAD/O48A/zmPAP85jgD/OY0A/zmLAP84iQD/OIcA/ziG + AP84hAD/N4MA/ziFAP84gwD/LWkA/xUyAP8CBAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APIAAAB2AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABQAAACmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8QJQD/K2EA/ziAAP83gQD/N4AA/zeB + AP83gwD/OIUA/ziHAP84iAD/OIkA/zqJAP86igD/OY4A/zeWCv8zoRv/La4s/yi5QP8jxVL/IMte/x3R + af8b1XD/GNh4/xfbff8X3H7/FtyA/xbdgf8W3YH/Fd6C/xbcf/8Y2Xn/GtVy/xzQaf8gyV3/Jb1K/yux + NP8xox//NpcM/zmNAP86igD/OogA/ziIAP84hwD/OIYA/ziEAP83gwD/N4EA/zeAAP83gQD/OH8A/yth + AP8QJQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACmAAAAFAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAygAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8IEgD/I1AA/zZ6AP83fgD/NnwA/zZ+AP83gAD/N4EA/zeDAP84hAD/OYQA/zmGAP82jwf/MZ8e/ymy + Of8ixFX/Hc9n/xrWc/8Y2nn/GNp6/xjbe/8Y23v/F9p7/xjbe/8Y2nz/F9t8/xfbff8X3H7/Ftx//xbd + gf8W3YH/Fd6D/xXfhf8U34f/E+GJ/xPii/8T44z/EuOO/xPgiP8X2X3/HM1p/yW3R/8voiX/NY8K/zmF + AP85gwD/OIMA/zeDAP83gQD/N4AA/zZ+AP82fAD/N34A/zZ6AP8jUAD/CBIA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAADKAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAA + AOMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAgD/FS8A/zFsAP83fAD/NXoA/zZ7AP82fAD/Nn4A/zeA + AP84fwD/OIAA/zaLCf8vnyT/JrhF/x/MYf8b1W//Gtl1/xrYdP8a13P/Gtdz/xrXdP8a13X/Gdh2/xnY + d/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTf + hv8U4Ij/FOGJ/xLijP8S5I//EeaR/xLjjf8W2X7/IMFb/yykLv81iwz/OIAA/zh+AP83gAD/Nn4A/zZ8 + AP82ewD/NXkA/zd8AP8xbAD/FS8A/wECAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADjAAAAPAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAADvAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Bg0A/yNO + AP82dwD/NngA/zV3AP81eQD/NnsA/zZ7AP83ewD/N4AA/zGUF/8nsT3/IMle/xzVbf8b1nD/HNVu/xzU + bv8b1W//G9Vw/xvWcP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfb + ff8X3H7/F9x//xbdgf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xHj + j/8R5pP/EeWS/xbZf/8gvFX/Lpch/zd/AP83egD/NnsA/zZ7AP81eQD/NXcA/zZ4AP82dwD/I04A/wYN + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJAAAA7gAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0dAP8tYgD/NncA/zV0AP81dgD/NXcA/zV5AP83eAD/NX4D/y6Z + If8ku0v/HtBl/x3Va/8d02r/HdJq/xzTa/8c02z/HNRt/xzUbv8b1W//G9Vw/xvWcf8a1nL/Gtdz/xrX + dP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgP8W3YH/Fd6C/xXe + g/8V34X/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EeSR/xDnlf8R45D/G8ps/yqg + MP81fwT/N3cA/zV4AP81dwD/NXYA/zV0AP82dwD/LWMA/w0dAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAADuAAAASQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAPAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8VLgD/M2wA/zVz + AP80cwD/NXQA/zV2AP82dAD/NXsD/y2aJP8jv0//H9Fm/x7TaP8e0Wb/HtFm/x7SaP8d0mj/HdJp/x3T + a/8c02v/HNRt/xzUbf8b1W//G9Vw/xvWcP8b1nH/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xja + ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPh + iv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkf8Q55b/EOeU/xjRdv8oojf/NXoE/zZzAP81dgD/NXQA/zRz + AP81dAD/M2wA/xUuAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAAAASAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAADvAAAA/wAA + AP8AAAD/AAAA/wAAAP8BAgD/HDsA/zRvAP81cAD/NHEA/zRzAP81cgD/NXUA/y+RHP8ku0r/INBi/x/R + ZP8fz2L/H9Bk/x/QZP8e0Wb/HtFm/x7SaP8d0mn/HdJp/x3Ta/8c02z/HNRt/xzUbv8b1W//G9Vw/xvW + cP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbd + gf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHk + kP8R5JH/EOeW/xDolv8YzXP/Kpcs/zZ0AP82cgD/NHMA/zRxAP81cAD/NG8A/xw7AP8BAgD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAADvAAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAvAAAA5gAAAP8AAAD/AAAA/wAAAP8AAAD/AQMA/yBDAP81bwD/M28A/zRv + AP80cAD/NXAA/zGCD/8nsD7/Ic5e/yDPYf8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFm/x7S + Z/8d0mj/HdJp/x3Ta/8c02v/HNRs/xzUbv8b1W//G9Vv/xvWcP8b1nH/Gtdz/xrXdP8a13X/Gdh2/xnY + d/8Z2Xf/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTf + hv8U4If/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xLjj/8R5JH/EeWS/w/ol/8Q5pX/HMJk/y+G + Gf81bwD/NHAA/zRvAP8zbwD/NXAA/yBEAP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADlAAAALQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAANAAAAD/AAAA/wAA + AP8AAAD/AAAA/wEDAP8gQwD/NW8A/zNsAP8zbgD/NG0A/zRxAv8smCb/I8VT/yDPX/8hzV3/Ic1d/yDN + Xv8gzl//IM5g/x/PYf8fz2L/H9Bj/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3Ta/8c02v/HNRt/xzU + bf8b1W//G9Vw/xvWcP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfb + ff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi + jf8S443/EuOP/xHkkP8R5JH/EeWS/xHmk/8P6Zr/E92K/yWkQP8zcgP/NWwA/zNuAP8zbAD/NW8A/yBD + AP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADPAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAcAAACxAAAA/wAAAP8AAAD/AAAA/wAAAP8BAwD/IEQA/zVvAP8zawD/M2wA/zRq + AP8yewz/J7A+/yLNWv8izFr/Isxa/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H9Bk/x/Q + ZP8e0Wb/HtFm/x7SaP8d0mn/HdJp/x3Ta/8c02z/HNRt/xzUbv8b1W//G9Vw/xvWcf8a1nL/Gtdz/xrX + dP8Z2HX/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgf8W3YH/Fd6C/xXe + hP8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHl + k/8Q55b/D+mZ/xrFa/8vfxX/NGkA/zNsAP8zawD/NW8A/yBEAP8BAwD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAACxAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAP8AAAD/AAAA/wAA + AP8AAAD/AAEA/x4+AP81bwD/M2sA/zNqAP80aQD/Losb/yXATP8jzFn/I8pX/yLKV/8iy1n/Ista/yHM + W/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3T + a/8c02v/HNRs/xzUbv8b1W//G9Vw/xvWcP8b1nH/Gtdz/xrXdP8a13X/Gdh2/xnYd/8Z2Xf/GNl5/xja + ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4If/FOCI/xPh + if8T4Yv/E+KL/xLijP8S447/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/D+qa/xPbhv8olTH/NGkA/zNq + AP8zawD/NW8A/x4+AP8AAQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAB+AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAEQAAAD4AAAA/wAAAP8AAAD/AAAA/wAAAP8YMwD/NW4A/zNsAP8zaQD/M2sB/yub + Kf8kyFL/I8tW/yPJVf8jyVb/I8pX/yLLWP8iy1n/Ista/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/P + Yf8fz2L/H9Bj/x/QZP8e0WX/HtFm/x7SaP8d0mj/HdJp/x3Ta/8c02v/HNRt/xzUbf8b1W//G9Vw/xvW + cP8a1nL/Gtdz/xrXdP8Z2HX/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xbd + gP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHk + kP8R5JH/EeWS/xHlk/8Q5ZT/D+mY/xDmlf8hqkz/M2sC/zRpAP8zbAD/NW4A/xgzAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPgAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAA1QAAAP8AAAD/AAAA/wAA + AP8AAAD/EiUA/zNrAP8zbAD/M2kA/zJuBP8qpjP/JMpT/yTJUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLL + WP8iy1n/Isxa/yHMW/8hzVz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2L/H9Bk/x/QZP8e0Wb/HtFm/x7S + aP8d0mn/HdJp/x3Ta/8c02z/HNRu/xvVb/8a1nL/Gtdz/xrYdP8Z2Hb/Gdl3/xnZef8Y2nn/GNp6/xja + ev8Y2nr/F9p7/xjbe/8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgf8W3YH/Fd6C/xXehP8V3oT/FN+G/xTf + hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOeW/w/q + mv8cul//MnAI/zRoAP8zbAD/M2sA/xIlAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANUAAAATAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAJMAAAD/AAAA/wAAAP8AAAD/AAAA/wkUAP8wZAD/NG0A/zNpAP8xcwj/Ka86/yXK + Uv8lx1D/JcdQ/yTIUf8kyFP/JMlU/yPJVf8jyVb/I8pX/yLKV/8iy1n/Ista/yHMW/8hzFz/Ic1d/yDN + Xv8gzl//IM5g/x/PYf8fz2L/H89j/x/QZP8e0WX/HtFn/x3Tav8c02z/HNRt/xzTa/8e0GT/IM5f/yPJ + Vv8lxk3/J8NI/ynAQf8pvz7/Kb8//ynAQ/8mxUz/JMhS/yDNXf8d02n/GtVx/xjae/8X3H//Ft2A/xbc + gP8X3H//F9x//xbdgP8W3YH/Fd6C/xXeg/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhif8T4Yv/E+KL/xLi + jf8S447/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/EOaV/w/rm/8Zx2//L3YQ/zRoAP80bQD/MGQA/wkU + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAA+QAAAP8AAAD/AAAA/wAA + AP8DBgD/KFQA/zVuAP8zaAD/MXMI/ymyPP8lyVD/JcZN/yXGT/8lx1D/JcdQ/yTIUv8kyFP/JMlU/yPJ + Vf8jyVb/I8pX/yLLWP8iy1n/Isxa/yHMW/8hzFz/Ic1d/yDNXv8gzl//IM5g/x/PYf8fz2P/HtFm/x7R + Z/8f0GP/I8lW/yjBRP8uuC//M7Ae/zerE/86pwn/O6UE/zukA/88pAP/PKMC/zyjAf88owH/PKMB/zyk + A/88pAP/O6UE/zqnCv82rBX/MrIi/yy7Nv8lxlD/HdFo/xjae/8W3oL/Ft6D/xbdgf8W3YH/Fd6C/xXe + g/8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KM/xLijf8S443/EuOP/xHkkP8R5JH/EeWS/xHl + k/8Q5ZT/EOaV/w7rm/8XzHb/L3YP/zRoAP80bgD/KFQA/wMGAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAA + AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAACAAAAMYAAAD/AAAA/wAAAP8AAAD/AAAA/xs5AP81bwD/M2kA/zJzB/8psTn/JsdN/ybF + S/8mxk3/JcZO/yXGT/8lx1D/JMdR/yTIUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLLWP8iy1n/Isxa/yHM + W/8hzVz/Ic1d/yDNXv8gz2H/H89j/yDNXv8mxUv/Lrgx/zWuGf85pwv/PKQE/zykBP87pAT/O6UG/zul + B/87pgf/O6YH/zumB/87pgf/O6YH/zumB/87pgf/O6YH/zumB/87pgf/O6UH/zulBf88pAT/PKQD/zyk + A/85qAv/M7Ae/yq+Pf8gzmD/GNp7/xXfhf8V3oP/Fd6C/xXeg/8V3oT/FN+G/xTfhv8U4Ij/FOGJ/xPh + iv8T4ov/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaU/w/qmv8Xy3X/L3YP/zRo + AP81bwD/GzkA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAxgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAA/wAAAP8AAAD/AAAA/wAA + AP8MGgD/MmkA/zRqAP8ycgf/KrA4/yfHS/8nxEn/JsRL/ybFS/8mxk3/JcZO/yXGT/8lx1D/JcdQ/yTI + Uf8kyFP/JMlU/yPJVf8jyVb/I8pX/yLLWP8iy1n/Ista/yHMW/8gzV7/IM5f/yTHUf8tujT/Nq0Y/zqm + Cf87pQX/O6YH/zqmCP86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqn + Cf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqnCf86pwn/OqcJ/zqmCP87pQb/O6QE/zqmCP80sB3/KMFE/xvU + b/8V34T/FN+F/xXehP8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S447/EuOP/xHk + kP8R5JH/EeSS/xHlk/8Q5ZT/EOaU/w/qmv8XzHb/MHUO/zRpAP8yaQD/DBoA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAFQAAAN0AAAD/AAAA/wAAAP8AAAD/AwUA/yhWAP81bQD/Mm4D/yuqMv8nxkn/J8NH/yfE + Sf8nxEn/JsRL/ybFTP8mxk3/JcZO/yXGT/8lx1D/JcdQ/yTIUv8kyFP/JMlU/yPJVf8jyVb/IspX/yLL + WP8hzFv/Icxb/ybESv8wtSr/OKkP/zqmCP86pgn/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmn + C/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmnC/85pwv/OacL/zmn + C/85pwv/OacL/zmnC/85pwv/OacL/zqmCP87pQb/N6kR/yy8OP8d0mj/Fd+F/xTfhv8V3oT/Fd+F/xTf + hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaV/w/r + m/8axGz/Mm8H/zVsAP8oVgD/AwUA/wAAAP8AAAD/AAAA/wAAAP8AAADdAAAAFQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2AAAA/wAAAP8AAAD/AAAA/wAA + AP8XMAD/NW4A/zNqAP8soCr/KMVH/yjCRf8ow0b/J8NI/yfESf8nxEn/JsRL/ybFTP8mxk3/JcZO/yXG + T/8lx1D/JMdR/yTIUv8kyFP/JMlU/yPJVf8jylf/IstZ/yXFTP8wtCn/OagO/zqnCv85qA3/OagN/zmo + Df85qA3/OagN/zmoDf85qA3/OagN/zmoDf85qA3/N6cL/zWmCP8zpQb/MaUE/zCkA/8wpAP/MKQD/zCk + A/8wpAP/MKQD/zGlBP8zpQb/NaYI/zenC/85qA3/OagN/zmoDf85qA3/OagN/zmoDf85qA3/OagN/zmo + Df85qAz/OqYJ/zipD/8suzj/G9Vv/xTgh/8V34b/FN+F/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLi + jf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOaV/w/rmv8dt1z/M2oB/zVuAP8XMAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAB2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAEQAAAN4AAAD/AAAA/wAAAP8AAAD/BgwA/y5hAP80aQD/LpMe/ynERP8owUT/KMJE/yjC + Rf8ow0b/J8NH/yfDSP8nxEn/JsRL/ybFS/8mxk3/JcZN/yXGT/8lx1D/JcdQ/yTIUf8kyFP/I8pW/yTH + UP8uuDH/N6oT/zmnDf84qA//OKkQ/zipEP84qRD/OKkQ/zipEP84qRD/OKkQ/zioD/81pwz/MaYH/zKm + Cf9CrRz/W7g6/3bEWv+T0Hz/qtqY/7Ldov+y3aL/st2i/7Ldov+q2pj/k9B8/3nEXf9buDr/Qq0c/zKm + Cf8xpgf/NacM/zioD/84qRD/OKkQ/zipEP84qRD/OKkQ/zipEP84qRD/OKgP/zmmC/82qxX/J8JG/xfb + fP8U4In/Fd+G/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeSS/xHl + k/8Q5ZT/EOaV/w/qmv8ipEX/NWgA/y5hAP8GDAD/AAAA/wAAAP8AAAD/AAAA/wAAAN4AAAARAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpAAAA/wAAAP8AAAD/AAAA/wAA + AP8cPAD/NWwA/zCCEv8pv0D/KcFC/ynBQv8owUT/KMJE/yjCRf8ow0b/J8NH/yfESf8nxEn/JsRL/ybF + TP8mxk3/JcZO/yXGT/8lx1D/JcdR/yTIU/8pwEH/NK8c/zioDv84qRD/OKkR/zipEf84qRH/OKkR/zip + Ef84qRH/OKkR/zepEP8ypwr/MqcK/02zK/+ByWj/uuGt/+Dx2f/7/fr///////////////////////// + //////////////////////////////v9+v/g8dn/uuGt/4HJaP9Nsyv/MqcK/zKnCv83qRD/OKkR/zip + Ef84qRH/OKkR/zipEf84qRH/OKkR/zipEP85pw3/MrIk/x7PZP8U4Ij/FN+H/xTfhv8U4Ij/FOGJ/xPh + iv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/EOeW/xDkk/8pjSr/NmsA/xw8 + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAGkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAABgAAAMwAAAD/AAAA/wAAAP8AAAD/Bw4A/zBjAP8zdAb/K7Q2/yrCQP8pwED/KcFC/ynB + Qv8owUP/KMJF/yjCRf8ow0b/J8NI/yfESf8nxEr/JsRL/ybFTP8mxk3/JcZO/yXHUP8mxk//Lrgx/zer + FP83qhL/N6sT/zeqE/83qhP/N6oT/zeqE/83qhP/N6sU/zeqE/8xqA3/N6sT/2W+Sf+z36X/7/jt//// + //////////////////////////////////////////////////////////////////////////////// + /////////////+/47f+z36X/Zb5J/zerE/8xqA3/N6oT/zerFP83qhP/N6oT/zeqE/83qhP/N6oT/zer + FP84qRH/N6oU/ybDSf8W3YP/FOCI/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EuOP/xHk + kP8R5JH/EeWS/xHlk/8Q5ZT/D+mY/xXWgf8weBD/MGIA/wcOAP8AAAD/AAAA/wAAAP8AAAD/AAAAzAAA + AAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGAAAA/QAAAP8AAAD/AAAA/wAA + AP8cOQD/NW8B/y6iKP8qwkD/Kr8+/yq/P/8pwED/KcBB/ynBQv8owUP/KMJE/yjCRf8ow0b/J8NH/yfD + SP8nxEn/JsRL/ybFS/8mx07/J8NH/zGyJf82qhT/NqsV/zarFv82qxb/NqsW/zarFv82qxb/NqsW/zar + Fv8zqhL/MakQ/2a/Tf/I6L///v79//////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v3/yOi//2a/ + Tf8xqRD/M6oS/zarFv82qxb/NqsW/zarFv82qxb/NqsW/zarFv82qxX/OKkR/y25NP8Y2Xj/E+GJ/xTf + hv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeSS/xHlk/8Q5ZT/D+ua/xu9 + Y/81bgL/HDkA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAKIAAAD/AAAA/wAAAP8AAAD/BAoA/y5dAP8xixX/K788/yu+PP8qvj3/Kr8+/yrA + P/8pwED/KcBB/ynBQv8owUT/KMJE/yjCRf8ow0b/J8NH/yfESf8nxEn/JsVM/ynAQf8zsB//NqsV/zas + F/82rBf/NqwX/zasF/82rBf/NqwX/zasF/81rBf/L6kQ/0izLf+u3qL/+v35//////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////+v35/67eov9Isy3/L6kQ/zWsF/82rBf/NqwX/zas + F/82rBf/NqwX/zasF/82rBf/N6oT/zGzJ/8c1G//E+GJ/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLi + jf8S447/EuOP/xHkkP8R5JH/EeWS/xHlk/8Q5ZT/D+iY/yeaNv8vXAD/BAoA/wAAAP8AAAD/AAAA/wAA + AP8AAACiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAA6AAAAP8AAAD/AAAA/wAA + AP8VKwD/NHYF/y2zMv8rvzv/K707/yu+PP8rvj3/Kr8+/yq/P/8pwED/KcBB/ynBQv8pwUP/KMJE/yjC + Rf8owkb/J8NH/ybESv8qvTz/NK4d/zWsGP81rRr/Na0a/zWtGv81rRr/Na0a/zWtGv81rRr/NKwY/y+q + E/9wxVz/4vPe//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+Lz3v9wxVz/L6oT/zSsGP81rRr/Na0a/zWtGv81rRr/Na0a/zWtGv81rRr/NqsX/zOw + If8e0Wf/E+GJ/xTfhv8U4If/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xLjj/8R5JH/EeSS/xHl + k/8P55f/FNeD/zF6Dv8WKgD/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAAAaAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAFwAAAD/AAAA/wAAAP8AAAD/AQIA/ydQAP8wnB//LL86/yy9Of8rvTr/K707/yu+ + PP8qvj3/Kr8+/yq/P/8pwED/KcBB/ynBQv8owUP/KMJE/yjCRf8nw0j/Kr07/zOuHv80rRv/NK0c/zSt + HP80rRz/NK0c/zStHP80rRz/NK0c/zKsGf8wrBj/kNKD//n8+P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////n8+P+Q0oP/MKwY/zKs + Gf80rRz/NK0c/zStHP80rRz/NK0c/zStHP80rRz/NawZ/zKwIf8d0Wj/E+GJ/xTfhv8U4Ij/FOCI/xPh + iv8T4Yv/E+KL/xLijf8S443/EuOP/xHkkP8R5JH/EeWS/xHlk/8P6pn/ILNU/yhPAP8BAgD/AAAA/wAA + AP8AAAD/AAAA/wAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqgAAAP8AAAD/AAAA/wAA + AP8KEwD/MXkK/y25NP8svTf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yrAP/8pwED/KcBB/ynB + Qv8owUT/KMJG/yq8O/8yryD/NK4d/zSuHv80rh7/NK4e/zSuHv80rh7/NK4e/zSuHv8yrRv/Na8f/6Ha + l/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////+h2pf/Na8f/zKtG/80rh7/NK4e/zSuHv80rh7/NK4e/zSu + Hv80rh7/NK0b/zKwI/8c0mv/FOGJ/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHk + kP8R5JH/EeWS/xDmlP8R4Y//K4Ed/wsSAP8AAAD/AAAA/wAAAP8AAAD/AAAAqgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAABUAAADmAAAA/wAAAP8AAAD/AAAA/xs2AP8xpCP/Lb43/y27Nv8svDf/LLw3/yy9 + Of8rvTr/K707/yu+PP8rvj3/Kr8+/yq/P/8pwED/KcBB/ynCQ/8qvj3/MrEj/zOvH/8zryD/M68g/zOv + IP8zryD/M68g/zOvIP8zryD/Mq4e/y+uHP+n3Z////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //+n3Z//L64c/zKuHv8zryD/M68g/zOvIP8zryD/M68g/zOvIP8zryD/NK4d/zCzKf8a1nL/FOCI/xTf + hv8U4Ij/FOCI/xPhif8T4Yv/E+KL/xLijP8S447/EuOP/xHkkP8R5JH/EeSS/w/pmP8ewmP/GzYA/wAA + AP8AAAD/AAAA/wAAAP8AAADmAAAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAAAP8AAAD/AAAA/wAA + AP8BAAD/J2cL/y+7Mv8tuzT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yq/ + P/8pwEH/Kb8//zCzJ/8zryH/MrAi/zKwIv8ysCL/MrAi/zKwIv8ysCL/MrAi/zKwIv8srRv/k9WK//// + //////////////////////////////////////////////////////////////////////////////// + /////////v/+/+/89v/i++7/4vvu/+/89v/+//7///////////////////////////////////////// + //////////////////////////////////////////////////+T1Yr/LK0b/zKwIv8ysCL/MrAi/zKw + Iv8ysCL/MrAi/zKwIv8ysCL/M64f/y24M/8X233/FOCH/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi + jf8S443/EuOP/xHkkP8R5JH/EeWT/xPmkf8gcSH/AgAA/wAAAP8AAAD/AAAA/wAAAP8AAABRAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACcAAAA/wAAAP8AAAD/AAAA/woTAP8unSD/Lr0z/y66M/8tujT/Lbs1/y27 + Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+PP8qvj3/Kr8+/yq/P/8utS7/MrAj/zKwJP8ysCT/MrAk/zKw + JP8ysCT/MrAk/zKwJP8ysST/K64d/2/IZf/6/fr///////////////////////////////////////// + ///////////////////////////////////d+ev/o/DL/2roq/9D4pb/MuCN/ynfiP8p34j/MuCN/0Pi + lv9q6Kv/o/DL/9356/////////////////////////////////////////////////////////////// + //////////////r9+v9vyGX/K64d/zKxJP8ysCT/MrAk/zKwJP8ysCT/MrAk/zKwJP8ysCT/M64g/yjA + RP8V3oX/FN+G/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuOP/xHkkP8R5JH/EOqX/xq7 + Yv8KEgD/AAAA/wAAAP8AAAD/AAAA/wAAAJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAN4AAAD/AAAA/wAA + AP8AAAD/Fj8I/zC6Lv8uuTH/Lrkx/y66M/8tujT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K707/yu+ + PP8qvz7/LLgz/zGxJf8xsSb/MbEm/zGxJv8xsSb/MbEm/zGxJv8xsSb/MbEm/y2wIv9GuTz/5vXk//// + ///////////////////////////////////////////////////////////////////E9d3/Y+Wl/yTc + gf8Q1nD/FNJo/xrNXf8fyFT/IcZQ/yHGUP8fyFT/Gs1d/xTSaP8Q1nD/JNyB/2Plpf/E9d3///////// + /////////////////////////////////////////////////////////////+b15P9GuTz/LbAi/zGx + Jv8xsSb/MbEm/zGxJv8xsSb/MbEm/zGxJv8xsSb/MrAj/yHKWf8U4Ij/Fd+F/xTfhv8U4Ij/FOCI/xPh + if8T4Yv/E+KL/xLijf8S447/EuOP/xHkkP8R5ZL/FOWN/xFHGv8AAAD/AAAA/wAAAP8AAAD/AAAA3gAA + AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAABCAAAA/QAAAP8AAAD/AAAA/wAAAP8kexn/ML4w/y64MP8uuTD/Lrky/y66 + M/8tujT/Lbs1/y27Nv8svDf/LLw4/yy9Of8rvTr/K747/yy8Of8wsin/MLIn/zCyKP8wsij/MLIo/zCy + KP8wsij/MLIo/zCyKP8wsij/K7Ai/7Dirf////////////////////////////////////////////// + ///////////////////o+/H/ceeq/xrYdv8Vz2L/I8NL/yu5N/8vtCv/MbIm/zGxJf8xsSX/MbEl/zGx + Jf8xsib/L7Qr/yu5N/8jw0v/Fc9i/xrYdv9x56r/6Pvx//////////////////////////////////// + /////////////////////////////7Dirf8rsCL/MLIo/zCyKP8wsij/MLIo/zCyKP8wsij/MLIo/zCy + KP8xsib/L7Qs/xrWc/8V4If/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KM/xLijf8S443/EuOP/xHk + kP8R65b/E5RS/wEAAP8AAAD/AAAA/wAAAP8AAAD9AAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAD/AAAA/wAA + AP8AAAD/BxUD/y2pJ/8wuS7/L7gv/y64MP8uuTH/Lrky/y66M/8tujT/Lbs1/yy7Nv8svDf/LLw4/yy9 + Of8rvTr/LrYv/zCzKf8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyr/MLMq/yqxJP9exFn/+f35//// + ////////////////////////////////////////////////////////yfXd/zvdh/8Uz2L/Jr9D/y+0 + LP8xsSf/MLIo/zCzKf8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyn/MLIo/zGxJ/8vtCz/Jr9D/xTP + Yv873Yf/yfXd////////////////////////////////////////////////////////////+f35/17E + Wf8qsST/MLMq/zCzKv8wsyr/MLMq/zCzKv8wsyr/MLMq/zCzKv8xsSf/KL9C/xXeg/8V3oX/FN+G/xTf + hv8U4Ij/FOGJ/xPhiv8T4ov/E+KM/xLijf8S447/EuOP/xHmkv8S0YH/BRkL/wAAAP8AAAD/AAAA/wAA + AP8AAACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAJAAAA0QAAAP8AAAD/AAAA/wAAAP8TRQ//Mrwt/y+3LP8vty3/L7gu/y64 + MP8uuTD/Lrkx/y66M/8tujT/Lbs1/y27Nv8svDf/LLw4/y25NP8vsyz/L7Qs/y+0LP8vtCz/L7Qs/y+0 + LP8vtCz/L7Qs/y+0LP8vsyz/K7Io/7vmuv////////////////////////////////////////////// + /////////////8L02f8p13f/HcZP/y62Mf8wsin/L7Mr/y+0LP8vtCz/L7Qs/y+0LP8vtCz/L7Qs/y+0 + LP8vtCz/L7Qs/y+0LP8vtCz/L7Qs/y+zK/8wsin/LrYx/x3GT/8p13f/wvTZ//////////////////// + ////////////////////////////////////////u+a6/yuyKP8vsyz/L7Qs/y+0LP8vtCz/L7Qs/y+0 + LP8vtCz/L7Qs/y+0LP8wsyn/H81h/xTfhv8V3oT/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLi + jf8S443/EuOP/xLrk/8IVTP/AAAA/wAAAP8AAAD/AAAA/wAAANEAAAAJAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAD5AAAA/wAA + AP8AAAD/AAEA/yJ9HP8yvCz/MLcs/y+3LP8vty3/L7gv/y64MP8uuTD/Lrky/y66M/8tujT/Lbs1/y27 + Nv8suzb/LrUw/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/yqzKv9VwlT/9/z3//// + ///////////////////////////////////////////////////Q9uH/LNZ1/yHBRf8wtCz/L7Qt/y+0 + Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0 + Lv8vtC3/MLQs/yHBRf8t1nX/0/fj//////////////////////////////////////////////////// + ///3/Pf/VcJU/yqzKv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0Lv8vtC7/L7Qu/y+0LP8rujr/F9t9/xXe + hP8V3oT/Fd+F/xTfhv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xLijf8S447/EuuU/w2dYf8AAQD/AAAA/wAA + AP8AAAD/AAAA+QAAADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAcwAAAP8AAAD/AAAA/wAAAP8FEgT/LaYl/zG4Kv8wtiv/MLcs/y+3 + LP8vuC7/L7gv/y64MP8uuTH/Lrky/y26M/8tujT/Lbs1/y24M/8utTD/LrUw/y61MP8utTD/LrUw/y61 + MP8utTD/LrUw/y61MP8utTD/JrIo/5zcnf////////////////////////////////////////////// + ////////8/33/0rbhv8fwEP/L7Qu/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61 + MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/LrUw/y61MP8utTD/L7Qu/x/AQ/9L24f/8v33//// + //////////////////////////////////////////////////+c3J3/JrIo/y61MP8utTD/LrUw/y61 + MP8utTD/LrUw/y61MP8utTD/LrUw/y+zLf8hylv/FN+F/xXeg/8V3oT/FN+F/xTfhv8U4Ij/FOGJ/xPh + iv8T4ov/E+KM/xLijf8S5Y//ENCD/wEWDv8AAAD/AAAA/wAAAP8AAAD/AAAAcwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAC0AAAA/wAA + AP8AAAD/AAAA/xA+Df8yuSj/MbUo/zC2Kf8wtir/MLYr/y+3LP8vty3/L7gu/y64MP8uuTD/Lrky/y66 + M/8tujP/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/yy1MP8zuDf/1/HY//// + //////////////////////////////////////////////////+P6LT/HMJH/y61MP8ttjL/LbYy/y22 + Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22 + Mv8ttjL/LbYy/y22Mv8ttjL/LrUw/xzCR/+R6bb///////////////////////////////////////// + /////////////9fx2P8zuDf/LLUw/y22Mv8ttjL/LbYy/y22Mv8ttjL/LbYy/y22Mv8ttjL/LrUw/yq7 + PP8X23z/Fd6C/xXegv8V3oP/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T4Yv/E+KL/xLijf8S6JD/Bk0x/wAA + AP8AAAD/AAAA/wAAAP8AAAC0AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAOUAAAD/AAAA/wAAAP8AAAD/Hm0W/zO7KP8xtSf/MbUp/zC2 + Kf8wtir/MLcs/y+3LP8vty3/L7gv/y64MP8uuTH/Lrky/y25M/8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23 + NP8ttzT/Lbc0/y23NP8ttzT/KLUw/0/DVv/5/fr///////////////////////////////////////// + ////////6fvx/zbOZv8ptzP/LbY0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23 + NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttjT/Kbcz/zjO + aP/q+/H/////////////////////////////////////////////////+f36/0/DVv8otTD/Lbc0/y23 + NP8ttzT/Lbc0/y23NP8ttzT/Lbc0/y23NP8ttzT/LbYy/x/OY/8V34P/Fd6B/xXeg/8V3oP/FN+F/xTf + hv8U4Ij/FOGJ/xPhiv8T4Yv/E+KM/xPrkv8Lilb/AAAA/wAAAP8AAAD/AAAA/wAAAOUAAAASAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3AAAA/QAA + AP8AAAD/AAAA/wEFAf8pkx7/M7gm/zG0Jv8xtSj/MbUp/zC2Kf8wtiv/MLcs/y+3LP8vuC7/L7gv/y64 + MP8uuDH/LLc1/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8ktS7/ddB7//// + //////////////////////////////////////////////////+k673/Ibw8/yy2Nf8stzb/LLc2/yy3 + Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3 + Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stjX/Ibw8/6Trvf////////////////////////////// + ////////////////////////ddB7/yS1Lv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3Nv8stzb/LLc2/yy3 + Nv8ttjT/JsBH/xbdf/8W3YH/Fd6B/xXegv8V34T/FN+F/xTfhv8U4Ij/FOGJ/xPhiv8T4ov/E+eP/w+6 + dP8BBgT/AAAA/wAAAP8AAAD/AAAA/QAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGUAAAD/AAAA/wAAAP8AAAD/CBwF/zCrIv8ytCX/MrQl/zG0 + Jv8xtSf/MbUo/zC2Kf8wtir/MLYr/y+3LP8vty3/L7gu/y64Mv8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4 + OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yO1MP+Y3J7///////////////////////////////////////// + /////////////2TWg/8ktjP/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4 + OP8otzX/JbYy/yW2Mv8otzX/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4 + OP8ktjP/ZNaD//////////////////////////////////////////////////////+Y3J7/I7Uw/yu3 + OP8rtzj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruDj/K7g4/yu4OP8ruTn/G9Vw/xXegf8W3YD/Fd6B/xXe + gv8V3oP/Fd+F/xTfhv8U4Ij/FOCI/xPhiv8T44z/EtiF/wMhFf8AAAD/AAAA/wAAAP8AAAD/AAAAZQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAA + AP8AAAD/AAAA/wAAAP8ROgv/M7Yi/zK0JP8ysyT/MbQl/zG0Jv8xtSf/MbUp/zC2Kf8wtir/MLcs/y+3 + LP8vty3/Lbg1/yu5O/8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/Jrc3/7Hl + t//////////////////////////////////////////////////x/PX/P8da/yi3N/8ruTr/K7k6/yu5 + Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8mtzb/Kbg4/0fCVf9kzG//ZMxv/0fCVf8puDj/Jrc2/yu5 + Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yu5Ov8ruTr/K7k6/yi3N/8/x1r/8fz1//////////////////// + /////////////////////////////7Hlt/8mtjf/K7g6/yu4Ov8ruDr/K7k6/yu5Ov8ruTr/K7k6/yu5 + Ov8ruTr/K7k6/yy4N/8hylv/Ft2B/xbdgP8W3YD/Fd6B/xXeg/8V3oP/FN+F/xTfhv8U4Ij/FOGJ/xPi + iv8T5o7/Bkot/wAAAP8AAAD/AAAA/wAAAP8AAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAA/wAAAP8AAAD/AAAA/xlYEP81uSP/M7Ii/zKz + I/8ysyT/MrQl/zG0Jv8xtSf/MbUo/zC1Kf8wtir/MLYs/y+3Lf8ruTn/Kro9/yq6PP8qujz/Kro8/yq6 + PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6PP8ouTv/venD//////////////////////////////////// + /////////////9335P81wEr/KLk6/yq6PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6PP8qujz/JLg3/03F + XP+86cL/8vv0////////////8vv0/73qwv9NxVz/JLg3/yq6PP8qujz/Kro8/yq6PP8qujz/Kro8/yq6 + PP8qujz/KLk6/zXASv/d9+T/////////////////////////////////////////////////venD/yi4 + O/8quTz/Krk8/yq5PP8quTz/Kro8/yq6PP8qujz/Kro8/yq6PP8qujz/K7k7/ybASf8Y233/F9yA/xbd + f/8W3YD/Fd6B/xXegv8V3oT/Fd+F/xTfhv8U4If/FOCI/xTrkP8JcEX/AAAA/wAAAP8AAAD/AAAA/wAA + ALgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAA + ANwAAAD/AAAA/wAAAP8AAAD/I3cV/zW3If8zsiH/M7Ii/zKzI/8ysyT/MrQl/zG0Jv8xtSf/MbUo/zC2 + Kf8wtir/L7cv/ym7Pv8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8puz7/KLs9/yq7 + P//P8NT/////////////////////////////////////////////////0PLX/y29Q/8ouz3/Kbs+/ym7 + Pv8puz7/Kbs+/ym7Pv8puz7/Kbs//yK4OP9YyWj/6vjs/////////////////////////////////+r4 + 7P9YyWj/Irg4/ym7P/8puz7/Kbs+/ym7Pv8puz7/Kbs+/ym7Pv8ouz3/Lb1D/9Dy1/////////////// + ///////////////////////////////////P79T/Kro//yi6Pf8puj7/Kbo+/ym6Pv8puj7/Kbs+/ym7 + Pv8puz7/Kbs+/ym7Pv8puz7/KbxA/xrWc/8X3X//F9x//xbdgP8W3YD/Fd6B/xXegv8V3oP/Fd+F/xTf + hv8U4Ij/FOeN/w2VW/8AAAD/AAAA/wAAAP8AAAD/AAAA3AAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAA6wAAAP8AAAD/AAAA/wACAP8qjxj/NbUg/zOx + IP8zsiH/MrIi/zKzJP8ysyT/MbQl/zG0Jv8xtSf/MbUp/zC2Kf8tuDP/KbtB/ym7QP8pu0D/KbtA/ym7 + QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8pu0D/Jbs+/7rqwv////////////////////////////// + ///////////////////L79H/KLtA/yi7QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8juTv/RsVa/+L2 + 5v///////////////////////////////////////////+L25v9GxVr/I7k7/ym7QP8pu0D/KbtA/ym7 + QP8pu0D/KbtA/yi7QP8ou0D/y+/R/////////////////////////////////////////////////7rq + w/8luT3/Kbo//ym6P/8puj//Kbo//ym6QP8pu0D/KbtA/ym7QP8pu0D/KbtA/ym7QP8puz//Hs5l/xbc + f/8X3H7/Ftx//xbdgP8W3YD/Fd6B/xXeg/8V3oP/FN+G/xTfhv8U5Yv/ELVu/wACAf8AAAD/AAAA/wAA + AP8AAADrAAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADAAAAD2AAAA/wAAAP8AAAD/BA0C/y6bGv81sx7/NLEf/zOxIP8zsiH/M7Ii/zKzI/8ysyT/MrQl/zG0 + Jv8xtSf/MbUo/yu5OP8ovET/KLxD/yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yi8 + Q/8gujz/etmO/////////////////////////////////////////////////4vdnf8gujz/KLxD/yi8 + Q/8ovEP/KLxD/yi8Q/8ovEP/I7s//znBUf/V8tr///////////////////////////////////////// + /////////////9Xy2v85wVH/I7s//yi8Q/8ovEP/KLxD/yi8Q/8ovEP/KLxD/yC5PP+L3Zz///////// + ////////////////////////////////////////etiO/yC5O/8ou0L/KLtC/yi7Qv8ou0L/KLtC/yi7 + Qv8ou0P/KLxD/yi8Q/8ovEP/KLxD/ym7QP8iyFj/F9t+/xfbff8X3H7/F9x//xbdf/8W3YD/Fd6B/xXe + gv8V3oT/Fd+F/xTjiP8SxXf/AREK/wAAAP8AAAD/AAAA/wAAAPUAAAAvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAP4AAAD/AAAA/wAAAP8HGAT/MaQa/zWy + Hv80sR7/NLEf/zOxIP8zsiH/M7Ii/zKzJP8ysyT/MrQl/zG0Jv8xtSj/Kbs+/yi9Rv8ovUX/KL1F/yi9 + Rf8ovUX/KL1F/yi9Rf8ovUX/KL1F/yi9Rf8ovUX/KL1F/ya8Q/8twk3/yPDR//////////////////// + ///////////////////R8tj/NMVT/ya8Q/8ovUX/KL1F/yi9Rf8ovUX/KL1F/yW8Qv8uv0r/wuzK//// + /////////////////////////////////////////////////////////////8Lsyv8uv0r/JbxC/yi9 + Rf8ovUX/KLxE/yi8RP8ovET/JrtC/zTEU//R8tj//////////////////////////////////////8jw + 0f8twkz/JrtC/yi8RP8ovET/KLxE/yi8RP8ovET/KLxE/yi8RP8ovEX/KL1F/yi9Rf8ovUX/KLxD/yTD + UP8Y2nr/F9t8/xfbff8X3H7/F9x//xbdgP8W3YD/Fd6B/xXegv8V3oP/FeGG/xLQff8DHxP/AAAA/wAA + AP8AAAD/AAAA/gAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAABQAAAA/wAAAP8AAAD/AAAA/wohBf8zqxr/NLEc/zSwHf80sR7/M7Ef/zOxIP8zsiH/MrIi/zKz + I/8ysyT/MbQl/zG1KP8ovET/J71H/ye9Rv8nvUb/J71G/ye9Rv8nvUb/J71G/ye9Rv8nvUb/J71G/ye9 + Rv8nvUb/J71H/yO9Q/87yFf/teq///v+/P/////////////////8/v3/vu3H/z/JWv8ivkP/J71H/ye9 + Rv8nvUb/J71G/ye9R/8lvUX/Jr1G/6/nu/////////////////////////////////////////////// + /////////////////////////////6/nu/8mvUb/JbxF/ya9Rv8mvEX/J7xF/ye8Rf8nvEb/Ir1C/z/J + Wv++7cf//P79//////////////////v+/P+16r//O8hX/yO9Q/8nvEb/J7xF/ye8Rf8nvEX/J7xF/ye8 + Rf8nvEX/J7xF/ye8R/8nvUb/J71G/ye9Rv8nvUX/JcBM/xjYd/8Y2nv/F9t8/xfbff8X3H7/Ftx//xbd + gP8W3YD/Fd6B/xXegv8V34T/FNmC/wQqGv8AAAD/AAAA/wAAAP8AAAD/AAAATgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAD/AAAA/wAAAP8AAAD/DCoG/zay + G/81rxv/NLAc/zSwHf80sR7/NLEf/zOxIP8zsiH/M7Ii/zKzI/8ysyP/MLYr/ye+R/8mvkn/Jr5J/ya+ + Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5J/ya+Sf8mvkn/J75J/yO/RP8nwUL/WM9s/4jc + lv+a4ab/jN6Z/1nPbf8pwkT/I79D/ye+Sf8mvkn/Jr5J/ya+Sf8mvkn/Jr5I/yK9Rf+Y4Kn///////// + /////////////////////////////////////////////////////////////////////////////5jg + qP8hvET/Jb1H/yW9SP8lvUj/Jr1I/ya9SP8nvUj/I75D/ynCRP9Zz23/jN6Z/5rhpv+I3Jb/WM9s/yfB + Qv8jvkP/J71I/ya9SP8mvUj/Jr1I/ya9SP8mvUj/Jr1I/ya9SP8mvUj/Jr1I/ya9Sf8mvUn/Jr5J/ya+ + SP8mwEv/G9Vx/xjae/8Y2nv/F9t8/xfbff8X3H7/F9x//xbdf/8W3YD/Fd6B/xXegv8W4ob/BTUg/wAA + AP8AAAD/AAAA/wAAAP8AAABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAVgAAAP8AAAD/AAAA/wAAAP8NKwb/NrMZ/zWvGv81rxv/NLAc/zSwHf80sR7/NLEf/zOx + IP8zsiH/M7Ii/zKzIv8vti7/Jr9L/ya/S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/ + S/8mv0v/Jr9L/ya/S/8mv0v/Jr9L/ya/R/8jvj7/IL05/yK+Ov8gvTn/Ir4+/ya/R/8mv0v/Jr9L/ya/ + S/8mv0v/Jr9L/ya/Sv8evUT/hNuZ//////////////////////////////////////////////////// + /////////////////////////////////////////////4TamP8dvEP/Jb5J/yW+Sv8lvkr/Jr5K/ya+ + Sv8mvkr/Jr5G/yK+Pv8gvTn/Ir46/yC9Of8jvj7/Jr5H/ya+Sv8mvkr/Jr5K/ya+Sv8mvkr/Jr5K/ya+ + Sv8mvkr/Jr5K/ya+Sv8mvkr/Jr5K/ya+S/8mvkv/Jr9L/ya/S/8c0mz/GNp6/xjaev8Y2nv/F9t8/xfb + ff8X3H7/F9x//xbdgP8W3YD/Fd6B/xbkhv8FNyH/AAAA/wAAAP8AAAD/AAAA/wAAAFcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfAAAA/wAAAP8AAAD/AAAA/w4r + Bv83shj/Na4Z/zWvGv81rxv/NLAc/zSwHf80sR7/M7Ef/zOxIP8zsiH/M7Ih/y63MP8lwE7/JcBN/yXA + Tf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/JcBN/yXA + Tf8mwEv/JsBL/yXAS/8lwE3/JcBN/yXATf8lwE3/JcBN/yXATf8lwE3/Hb5G/3DVif/5/fr///////// + //////////////////////////////////////////////////////////////////////////////// + ////////+f36/2/Uif8cvET/JL5L/yS+S/8kvkv/Jb5L/yW+TP8lvkz/Jb9M/yW/S/8mv0r/Jr9L/yW/ + TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/TP8lv0z/Jb9M/yW/ + Tf8lv03/Jr9L/x3Raf8Y2nn/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/Ftx//xbdgP8W3YD/FuSF/wU3 + If8AAAD/AAAA/wAAAP8AAAD/AAAAVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAFsAAAD/AAAA/wAAAP8AAAD/DSsF/zexF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSw + Hf80sR7/NLEf/zOxIP80sR//Lrcy/yPCUf8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTB + T/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTBT/8kwU//JMFP/yTB + T/8kwU//JcFP/xy+Sf9b0Hr/8vv1//////////////////////////////////////////////////// + ////////////////////////////////////////////////////////8vv0/1rPef8bvEb/JL9N/yO/ + Tf8jv03/JL9N/yS/Tv8kv07/JL9O/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTA + Tv8kwE7/JMBO/yTATv8kwE7/JMBO/yTATv8kwE7/JMBO/yTAT/8lv03/HdBo/xnZeP8Z2Xj/GNl5/xja + ev8Y2nv/F9t8/xfbff8X3H7/F9x//xbdf/8X44T/BTcg/wAAAP8AAAD/AAAA/wAAAP8AAABXAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVwAAAP8AAAD/AAAA/wAA + AP8NKwX/N7EW/zatF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSwHf80sR7/NLEf/zSxHv8utzL/I8JT/yTB + Uf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTB + Uf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8kwVH/JMFR/yTBUf8dwEz/Scxu/+b46/////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////5vjr/0jKbf8cvUr/I79P/yO/T/8jv0//JL9P/yS/UP8kv1D/JMBQ/yTA + UP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTAUP8kwFD/JMBQ/yTA + UP8kwFD/JMBQ/yS/T/8dz2n/Gdl4/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F9x//xfj + g/8FNyD/AAAA/wAAAP8AAAD/AAAA/wAAAFcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAABYAAAA/wAAAP8AAAD/AAAA/w4rBf84sRX/Nq0W/zatF/82rhj/Na4Z/zWv + Gv81rxv/NLAc/zSwHf80sR7/NLAd/y23M/8iw1X/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPC + U/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPCU/8jwlP/I8JT/yPC + U/8jwlP/HsFP/zrIZP/Z9OH///////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////2fTh/zjG + Y/8dv03/IsBR/yLAUf8jwFH/I8BR/yPAUv8jwFL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPB + Uv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8FS/yPBUv8jwVL/I8BR/x3PaP8Z2Hb/Gdh2/xnZ + d/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfbff8X3H7/F+KC/wU3IP8AAAD/AAAA/wAAAP8AAAD/AAAAWAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEsAAAD/AAAA/wAA + AP8AAAD/DCYE/zetE/83rRX/Nq0W/zatF/82rhj/Na4Z/zWvGv81rxv/NLAc/zSwHf81sBz/Lrcy/yLE + V/8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPD + Vf8jw1X/I8NV/yPDVf8jw1X/I8NV/yPDVf8jw1X/I8NV/x/CUv8uxl3/yfDV//////////////////// + /////////////////////////////////////////////8rty//K7cv///////////////////////// + ////////////////////////////////////////ye/V/y3EW/8ewFD/IsFT/yLBU/8iwVP/I8FT/yPB + VP8jwVT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPCVP8jwlT/I8JU/yPC + VP8jwlT/I8JU/yPCVP8jwVP/Hc9o/xrXdf8Z13X/Gdh2/xnYd/8Z2Xj/GNl5/xjaev8Y2nv/F9t8/xfc + fv8X3X//BTEd/wAAAP8AAAD/AAAA/wAAAP8AAABLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAPQAAAPwAAAD/AAAA/wAAAP8JHgP/NaQS/zetFP82rBX/Nq0W/zat + F/82rhj/Na4Z/zWvGv81rxv/NLAc/zWvG/8utzL/IcVZ/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLE + V/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLEV/8ixFf/IsRX/yLE + V/8gw1X/JMVZ/7brx/////////////////////////////////////////////////////////////// + ///a8tn/QL0//0C9P//a8tn///////////////////////////////////////////////////////// + ////////tevG/yPDV/8fwVP/IcJV/yHCVf8hwlX/IsJV/yLCVv8iwlb/IsNW/yLDVv8iw1b/IsNW/yLD + Vv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLDVv8iw1b/IsNW/yLCVf8dz2f/Gtdz/xrW + dP8Z13X/Gdh2/xnZd/8Z2Xj/GNl5/xjaev8Y2nv/F9x9/xbSeP8EJhX/AAAA/wAAAP8AAAD/AAAA/AAA + AD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArAAAA8wAA + AP8AAAD/AAAA/wcTAv8ynBD/OK0T/zesE/83rBT/Nq0W/zatF/82rRf/Na4Z/zWvGv81rxv/Na8a/y+2 + Lv8hxVr/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHF + Wf8hxVn/IcVZ/yHFWf8hxVn/IcVZ/yHFWf8hxVn/IMRY/x7EVv+i5rn///////////////////////// + ////////////////////////////////////////5/bm/1HBS/8huz7/Ibs+/1HBS//n9ub///////// + ////////////////////////////////////////////////////////oeW4/x3CVf8fwlb/IMNX/yDD + V/8hw1f/IcNX/yHCWP8hw1j/IcNY/yHEWP8hxFj/IcRY/yHEWP8hxFj/IcRY/yHEWP8hxFj/IcRY/yHE + WP8hxFj/IcRY/yHEWP8hxFj/IcNY/x3Qaf8a1nH/GtZy/xrWdP8a13X/Gdh2/xnYd/8Z2Xf/GNl5/xja + ev8Y3X3/Fcdx/wMZD/8AAAD/AAAA/wAAAP8AAADzAAAAKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAADqAAAA/wAAAP8AAAD/AgcB/zCSDv84rhL/N6sT/zes + E/82rBX/Nq0W/zatF/82rhj/Na4Z/zWvGv81rxn/MLQq/yHFWv8hxVv/IcVb/yHFW/8hxVv/IcVb/yHF + W/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yHFW/8hxVv/IcVb/yDF + Wv8Zw1X/jOGq//////////////////////////////////////////////////////////////////L6 + 8f9hxVj/Ibk2/x/CWP8fwlj/Ibk2/2HFWP/y+vH///////////////////////////////////////// + ////////////////////////jOCp/xjBU/8fw1j/IMNZ/yDDWf8gw1n/IcNZ/yHDWv8hw1r/IcRa/yHE + Wv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxFr/IcRa/yHEWv8hxVv/HNFq/xvV + cP8a1XH/GtZy/xrWdP8Z13X/Gdh2/xnYd/8Z2Xj/GNl5/xjefP8Uumn/AQkG/wAAAP8AAAD/AAAA/wAA + AOoAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAA + ANcAAAD/AAAA/wAAAP8AAAD/K4IM/zmvEf83qxL/N6sT/zesFP82rBX/Nq0W/zatF/82rhj/Na4Z/zWv + Gf8ysiL/IcRZ/yDGXv8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDG + Xf8gxl3/IMZd/yDGXf8gxl3/IMZd/yDGXf8gxl3/F8RX/3Xcm//9//7///////////////////////// + ///////////////////////////////////5/fn/dctp/yO2MP8fwlj/H8NZ/x/DWv8fw1n/I7Yx/3XL + af/5/fn////////////////////////////////////////////////////////////9/v7/ddqa/xfC + Vf8fxFv/H8Rb/x/EW/8fxFv/IMRb/yDEXP8gxFz/IMVc/yDFXP8gxVz/IMVc/yDFXP8gxVz/IMVc/yDF + XP8gxVz/IMVc/yDFXP8gxVz/IMVc/yDGXf8b0mz/G9Vv/xvVcP8a1XH/GtZy/xrWdP8Z13X/Gdh2/xnZ + d/8Z2Xj/Gd98/xKlXP8AAAD/AAAA/wAAAP8AAAD/AAAA1QAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAP8AAAD/AAAA/wAAAP8iaAn/OrAQ/ziq + EP84qxH/N6sT/zesE/83rBT/Nq0W/zatF/82rRf/Na4Y/zSvHP8jw1X/H8dh/x/HX/8fx1//H8df/x/H + X/8fx1//H8df/x/HX/8fx1//H8df/x/HX/8fx1//H8df/x/HX/8fx1//H8df/yDHX/8gx1//H8Zf/xfB + Vf9g1Ir/9fz4/////////////////////////////////////////////////////////////v/+/4rR + fP8mtCn/H8JY/x7DW/8ew1r/HsRb/x7EW/8fw1n/JrQq/4rRfP/+//7///////////////////////// + ///////////////////////////////////1/Pj/YdaM/xbDV/8fxV3/H8Vd/x/FXf8fxV3/H8Ve/x/F + Xv8fxV7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8Ze/x/GXv8fxl7/H8hg/xzT + bP8b1G7/G9Rv/xvVb/8b1XD/GtZy/xrWdP8a13X/Gdh2/xnYd/8a4Xz/D4VK/wAAAP8AAAD/AAAA/wAA + AP8AAACxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACHAAAA/wAAAP8AAAD/AAAA/xhJBv87sQ//OKoQ/ziqEP83qxL/N6sT/zesE/82rBX/Nq0W/zat + F/82rhf/Na4Y/yXATP8eyWP/H8hh/x/IYf8fyGH/H8hh/x/IYf8fyGH/H8hh/x/IYf8fyGH/H8hh/x/I + Yf8fyGH/H8hh/x/IYf8fyGH/HsZf/x7EXP8Vv1P/Tc16/+v58P////////////////////////////// + //////////////////////////////////+c147/KrIk/x/CVf8dxF3/HsRc/x7EXP8exFz/HsRc/x3F + Xv8fw1f/KrIk/5zXjv////////////////////////////////////////////////////////////// + ///s+vH/TtGB/xfEWf8fxl//H8Zf/x/GX/8fxl//H8Zf/x/GX/8fxl//H8df/x/HX/8fx1//H8dg/x/H + YP8fx2D/H8dg/x/HYP8fx2D/H8dg/x/HYP8eymP/HNNs/xzTbP8b1G7/G9Rv/xvVb/8a1XH/GtZy/xrW + dP8Z13X/Gdh2/xrhfP8KXDL/AAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4AAAD/AAAA/wAAAP8AAAD/Dy0D/zmp + Df84qg//OKoQ/zirEf83qxL/N6sT/zesFP82rBX/Nq0W/zatF/83rRT/Kbs//x3JZ/8eyGP/Hshj/x7I + Y/8eyGP/Hshj/x7IY/8eyGP/Hshj/x7IY/8eyGP/Hslk/x7JZP8eyGP/HcZg/xzCW/8cwVn/Fb5U/zrI + bv/h9+n/////////////////////////////////////////////////////////////////suCm/zCx + I/8fwFL/HcRf/x3EXf8dxF7/HcRe/x3EXv8dxF7/HcVe/x3GYP8fwlT/MLIj/7Lgpv////////////// + ///////////////////////////////////////////////////h9+r/PM52/xjFXf8exmH/HsZh/x7G + Yf8exmH/HsZh/x7GYf8ex2H/Hsdh/x7HYf8ex2L/Hsdi/x7HYv8ex2L/Hsdi/x7HYv8ex2L/Hsdi/x3M + Zv8c02v/HNNs/xzTbf8b1G7/G9Rv/xvVcP8a1XH/GtZy/xrWdP8Z2HX/Gdh2/wY5H/8AAAD/AAAA/wAA + AP8AAAD/AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAALwAAAPsAAAD/AAAA/wAAAP8FDwH/NZwL/zqrDf84qQ7/OKoQ/ziqEP84qxH/N6sT/zes + E/83rBT/Nq0W/zesFf8vtS3/Hslm/x7JZf8eyWX/Hsll/x7JZf8eyWX/Hsll/x7JZf8eyWX/Hspm/x7J + Zf8dx2P/HMRf/xvBWv8bwFn/G8BZ/xa/Vv8txmf/0PLd//////////////////////////////////// + /////////////////////////////8PmuP84sSL/Hr9N/xzFYf8dxF//HcVf/x3FX/8dxV//HcVf/x3F + YP8dxWD/HcZg/xzHY/8fwE//OLEj/8PmuP////////////////////////////////////////////// + ///////////////////R89//MMxv/xrGYP8ex2P/Hsdj/x7HY/8ex2P/Hsdj/x7HY/8ex2P/Hshj/x7I + Y/8eyGT/Hshk/x7IZP8eyGT/Hshk/x7IZP8eyGT/Hc9n/x3Sav8c0mr/HNNs/xzTbf8b1G7/G9Rv/xvV + b/8b1XD/GtZy/xrZdf8Xx2z/AhMK/wAAAP8AAAD/AAAA/wAAAPsAAAAvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAA3gAAAP8AAAD/AAAA/wAB + AP8rgAn/O60N/zmpDf84qg//OKoQ/ziqEP83qxL/N6sT/zesE/82rBX/NqwV/zSvHf8fx2D/Hcpo/x3K + Z/8dymf/Hcpn/x3KZ/8dymj/Hcpo/x3JZ/8cx2P/G8Nd/xrAWf8awFn/GsBa/xrAWv8XwFj/IMNg/73t + 0P/////////////////////////////////////////////////////////////////V7c3/RLIo/x+8 + Rf8bxmP/HMVg/xzFYf8cxWH/HMZh/xzGYf8cxmH/HMZh/xzGYv8cxmL/HMdi/xvIZv8fvUj/RLMn/9Xt + zf////////////////////////////////////////////////////////////////+979L/JMlq/xrH + Y/8dyGX/Hchl/x3IZf8dyGX/Hchl/x3IZf8dyGX/Hcll/x3JZf8dyWb/Hclm/x3JZv8dyWb/Hclm/x3K + Zv8d0Gf/HdFo/x3Sav8c0mv/HNNs/xzTbP8b1G7/G9Rv/xvVb/8a1XH/G9x1/xOjWP8AAgH/AAAA/wAA + AP8AAAD/AAAA3gAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACsAAAA/wAAAP8AAAD/AAAA/x5WBf88rwv/OagM/zmpDv84qg//OKoQ/zir + Ef83qxL/N6sT/zesFP82rBX/NqwU/yTBTv8bzGz/HMtp/xzLaf8cy2r/HMtq/xzJZ/8axWH/GcFc/xnA + Wf8ZwFr/GcFa/xnBW/8ZwVv/F8Ba/xjAW/+q6MP///////////////////////////////////////// + ////////////////////////4/Pd/1G1MP8guTz/GcZl/xrFYv8bxmL/G8Zi/xvGYv8bxmL/G8Zj/xvH + Y/8bx2P/G8dj/xvHZP8bx2T/G8dk/xrJaP8huj7/UbUw/+Pz3P////////////////////////////// + //////////////////////////////////+r68f/G8lm/xrIZv8cyWf/HMln/xzJZ/8cyWf/HMln/xzJ + Z/8cyWf/HMpn/xzKZ/8cymj/HMpo/xzKaP8cymj/Hcxn/x7RZv8d0Wj/HdFo/xzSav8c0mv/HNNs/xzT + bf8b1G7/G9Rv/xvVcP8b3XX/DW47/wAAAP8AAAD/AAAA/wAAAP8AAACsAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAD/AAAA/wAA + AP8AAAD/DSgC/zqnCv85qAv/OagM/zmpDf84qQ7/OKoQ/ziqEP84qxH/N6sT/zesE/83qxL/LLg1/xvN + bv8czGz/HMtr/xvIZv8Zw1//GL9a/xi/Wf8Yv1r/GcBa/xnBW/8ZwVz/GcJc/xjBXP8UwFn/kuKz//// + /////////////////////////////////////////////////////////////+z36P9guTz/IrYy/xnG + Zv8axmT/GsZk/xrGZP8ax2T/G8dl/xvHZf8bx2T/G8dm/xvIZv8byGb/G8hm/xvIZv8byGb/G8ln/xrJ + af8itzT/YLo8/+z36P////////////////////////////////////////////////////////////// + //+T5rj/Fsll/xvJaP8cymr/HMpq/xzKav8cymr/HMpq/xzKav8cymr/HMpq/xzLaf8cy2r/HMtr/xzL + a/8dzmb/HtBl/x7RZ/8d0Wf/HdFo/x3Sav8c0mr/HNNs/xzTbf8b1G7/G9Vv/xvVb/8GMhv/AAAA/wAA + AP8AAAD/AAAA/wAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAPUAAAD/AAAA/wAAAP8DCQH/MY4I/zurCv85qAv/OagM/zmp + Df84qg//OKoQ/ziqEP83qxL/N6sT/zisEv80rx3/Hchi/xnGZf8YwVz/F75Y/xe+Wf8Xv1r/F79a/xi/ + W/8YwFv/GMBb/xjBXf8YwV3/EMBY/3vco/////////////////////////////////////////////// + ///////////////////3+/X/c8BN/ySxJ/8Zx2X/GcZl/xnGZP8axmX/GsZl/xrGZf8ax2b/Gsdm/xrH + Zv8ax2b/Gshn/xrIZ/8ayGf/Gshn/xrIZ/8ayGf/Gslp/xrJaf8ksyr/c8BN//f79f////////////// + //////////////////////////////////////////////////994ar/E8hl/xvKav8bymv/G8pr/xvK + a/8bymv/G8pr/xvKa/8bymv/G8tr/xvLa/8by2z/G8tr/x7PZP8e0GT/HtBl/x7RZ/8d0Wj/HdFo/x3S + av8c0mv/HNNs/xzTbf8c2HD/F7Ve/wELBf8AAAD/AAAA/wAAAP8AAAD1AAAAKgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAyQAA + AP8AAAD/AAAA/wAAAP8hYAX/PK4K/zqoCv85qAv/OagM/zmpDv84qg//OKoQ/zirEf83qxH/NakS/zKj + D/8hsjz/Fb9b/xa/Wf8Xv1r/F79a/xe/W/8XwFv/F8Bc/xjAXf8YwV3/GMFe/w/AWP9j1pP/+P36//// + /////////////////////////////////////////////////////////P78/4bGYv8orh3/GcZk/xjH + Z/8Zx2X/Gcdm/xnHZv8Zx2f/Gsdn/xrHaP8ayGj/Gsho/xrIaP8ayGj/Gshp/xrJaf8ayWn/Gslp/xrJ + af8ayWr/Gcpr/xrJaf8prx//hsZi//z++/////////////////////////////////////////////// + //////////////j++/9k3Jz/Esln/xvLbf8by23/G8tt/xvLbf8by23/G8tt/xvLbf8by23/G8xt/xvM + bv8czGj/H89i/x/PY/8e0GX/HtBl/x7RZ/8d0Wj/HdFo/xzSav8c0mv/HNNr/x3bcf8Pdz7/AAAA/wAA + AP8AAAD/AAAA/wAAAMkAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7AAAA/wAAAP8AAAD/AAAA/w4oAv86pwj/OqgJ/zqo + Cv85qAv/OakM/zmpDf83qQ7/NKQO/zCfDf8unQ7/Lp0N/ymlHv8Wvln/Fr9b/xa/W/8Wv1z/Fr9d/xbA + Xf8WwV7/F8Fe/xfBX/8Ov1n/UdGH//L79v////////////////////////////////////////////// + //////////////////+Yznf/LKoV/xnEYf8Xx2n/GMdn/xjIaP8YyGj/GMhp/xjIaf8YyGn/Gchq/xnI + av8ZyWr/Gclq/xnJa/8ZyWv/Gclr/xnKa/8Zymz/Gcps/xnKbP8Zymz/GMtu/xrIZ/8sqxb/mM52//// + //////////////////////////////////////////////////////////////L89/9S2JL/Ecpp/xrM + b/8azHD/Gsxw/xrMcP8azHD/Gsxw/xrMcP8azHD/Gsxv/x7NY/8fzmD/H85i/x/PY/8e0GT/HtBl/x7R + Z/8d0Wf/HdFo/x3Sav8c02v/HNJr/wcwGf8AAAD/AAAA/wAAAP8AAAD/AAAAewAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ACoAAAD1AAAA/wAAAP8AAAD/AQQA/y6DBv88qwn/OqgJ/zqoCv83pQr/MqAL/y+bCv8tmgv/LZsM/y6c + Df8unQ3/Lp4O/xy1RP8UwF7/Fb9c/xW/Xf8Vv13/FcBd/xXBX/8WwV//D8Bb/z7Ne//l+O3///////// + ////////////////////////////////////////////////////////q9aN/zOoDv8aw1v/F8hr/xfH + aP8Xx2j/F8hp/xfIaf8XyGr/F8hq/xjIav8YyGr/GMhr/xjJa/8YyWv/GMlr/xjJbP8YyWz/GMps/xjK + bP8Yym3/GMpt/xjKbf8Yym3/GMxx/xvGYf8zqQ//q9aN//////////////////////////////////// + /////////////////////////////+X67/9A1Yn/Ests/xnMcP8ZzHH/Gcxx/xnMcf8ZzHH/Gcxx/xnM + cv8bzGv/IM1e/x/OX/8fzmH/H89j/x/PY/8e0GX/HtBl/x7RZ/8d0Wj/HdFo/x3Xbf8WplT/AQUC/wAA + AP8AAAD/AAAA/wAAAPUAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAALkAAAD/AAAA/wAAAP8AAAD/GEMD/zyr + B/82oQj/MZsH/y6YB/8tlwj/LpgJ/y6aCv8tmwr/LpsM/y6cDf8vnAv/J6Yi/xW/XP8UwF3/FcBe/xXA + Xv8VwF//FcFg/xHAXf8ryHD/1/Tk//////////////////////////////////////////////////// + /////////////8Dgqf87pw3/G8BU/xbIbP8XyGn/F8hq/xfIav8XyGv/F8lr/xfJa/8XyWv/F8ls/xjJ + bP8YyWz/GMlt/xjKbf8Yym3/GMpt/xjKbv8Yym7/GMtu/xjLb/8Yy2//GMtv/xjLb/8Yy2//F81z/xzE + Wv87pw3/wOCp/////////////////////////////////////////////////////////////////9f3 + 5/8u0oD/Fcxw/xnNc/8ZzXP/Gc1z/xnNc/8ZzXT/Gc1z/x7MY/8gzF3/IM1e/x/OX/8fzmH/H89i/x7P + ZP8e0GX/HtBl/x7RZ/8d0Wj/Hths/wtVK/8AAAD/AAAA/wAAAP8AAAD/AAAAuQAAAAIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAWgAAAP8AAAD/AAAA/wAAAP8EDQD/KoYE/y6WBf8tlAb/LZYG/y6XB/8tmAj/LpgJ/y6Z + Cv8tmwr/LZsM/y6cDP8vnAz/HbRB/xPCYf8UwV//FMFg/xTBYP8UwWH/EcFe/6zpx/////////////// + ///////////////////////////////////////////////////O57z/Q6kQ/xy9S/8VyW7/Fshr/xbI + a/8WyWz/Fsls/xbJbP8WyW3/Fslt/xbJbv8WyW7/Fspu/xfKb/8Xym//F8pv/xfLcP8Xy3D/F8tw/xfL + cP8Xy3D/F8xx/xfMcf8XzHH/F8xx/xfMcv8XzHL/Fs92/x3BUf9DqBH/zua8//////////////////// + /////////////////////////////////////////////63uzv8UzXP/GM51/xjOdf8Yznb/GM52/xjO + d/8bzWz/Ictb/yDLXf8gzF7/IM1e/x/OX/8fzmD/H89i/x/PY/8e0GT/HtBl/x7UaP8aulz/AhEI/wAA + AP8AAAD/AAAA/wAAAP8AAABaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAA2QAAAP8AAAD/AAAA/wAA + AP8XTAL/L5oE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y+cC/8qoxr/Fb9a/xPB + Yf8TwWD/E8Fh/xDBYP8yynb/8fv1//////////////////////////////////////////////////// + ////////2+7P/1CsG/8euUD/E8lw/xXIbP8VyWz/Fclt/xXJbf8Vym7/Fcpu/xXKbv8Vym//Fcpv/xXK + b/8Wym//Fspw/xbLcP8Wy3H/Fstx/xbLcf8WzHL/Fsxy/xbMcv8WzHL/Fs1z/xbNc/8WzXP/Fs1z/xbN + dP8WzXT/Fc94/x+9Rv9PrBv/2+7P//////////////////////////////////////////////////// + ////////8fz3/zTViP8TznX/F893/xfPd/8Xz3j/F892/x/LXv8gylr/Ictc/yDLXf8gzF7/IM1e/x/O + X/8fzmH/H89j/x/PY/8e0GX/H9lq/w9sNf8AAAD/AAAA/wAAAP8AAAD/AAAA2QAAAA4AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAB5AAAA/wAAAP8AAAD/AAAA/wUSAP8phwP/LpYE/y6UBv8tlQb/LZYG/y6X + B/8tmAj/LpgK/y6ZCv8tmwr/LZsM/y+bCv8hrTP/EsJj/xPBYf8TwmL/DMBe/0vRiP/9//////////// + /////////////////////////////////////////////+n04f9csSf/ILQ1/xTJcP8VyW3/Fclt/xXI + bf8VyW3/Fcpu/xXJbv8Vym//Fctv/xXLcP8Vy3D/Fctw/xbLcP8WynH/Fstx/xbMcv8WzHL/Fstz/xbM + c/8WzXP/Fs10/xbNdP8WzHT/Fs10/xbOdf8WznX/Fs51/xbOdf8Wznb/FdB6/yC5O/9csSf/6fTh//// + ///////////////////////////////////////////////////9////TtuZ/xHOdP8X0Hn/F9B4/xfQ + ev8czGb/IclW/yDKWf8gylr/Ictc/yHLXf8gzF7/IM1e/x/OX/8fzmH/H85i/x/SZf8bvlz/AxkM/wAA + AP8AAAD/AAAA/wAAAP8AAAB2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAADmAAAA/wAA + AP8AAAD/AAAA/xZIAf8vmAP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwv/LZsL/y2d + Dv8YuU3/EcNl/xLCY/8NwWH/Pst6//j89/////////////////////////////////////////////// + ///y+e3/bbg7/yOxKv8TyXD/FMhu/xTIbv8UyW//FMlv/xTJb/8UynD/FMpw/xTKcf8Uy3H/FMty/xTL + cv8Uy3L/FMtz/xXLc/8Vy3P/Fcx0/xXMdP8VzHT/Fcx1/xXNdf8VzXX/Fc12/xXNdv8VzXb/Fc53/xXO + d/8Vznf/Fc53/xXOeP8Vznn/FNB7/yO0L/9tuDr/8vnt//////////////////////////////////// + //////////////j8+P9A1ov/EdB5/xbQe/8W0Hz/Gc5y/yHJVv8hyVf/IclY/yDKWf8gylr/Ictc/yDL + Xf8gzF7/IM1e/x/OX/8fzmD/INdm/w9lMP8AAAD/AAAA/wAAAP8AAAD/AAAA5gAAABoAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAD/AAAA/wAAAP8AAAD/BAsA/yd/A/8ulgP/LZQE/y6U + Bv8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LpoJ/ymiG/8Tv13/EcNl/xDDZv8evFH/0+vH//// + ////////////////////////////////////////+fz4/37AUP8mrR//E8ht/xPIb/8TyG7/E8lv/xPJ + cP8TynD/E8px/xPKcf8Ty3H/E8ty/xPLcv8TzHP/E8xz/xPMc/8UzHT/FMx0/xTMdf8UzHX/FMx1/xTN + dv8UzXb/FM12/xTNd/8Uznf/FM53/xTOeP8Uznj/FM94/xTPeP8Uz3n/FM95/xTPef8Uz3r/FNB6/yaw + I/9+wE//+fz4////////////////////////////////////////////0+vH/yDHYv8T0n//FdF9/xbQ + ev8gyVv/IshU/yHJVv8hyVf/IcpY/yDKWf8gylr/Ictc/yDLXf8gzF7/IM1e/yDSYf8bs1T/AhAI/wAA + AP8AAAD/AAAA/wAAAP8AAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAA + AOAAAAD/AAAA/wAAAP8AAAD/ETcA/y6VA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6Z + Cv8tmwv/L5oJ/yOqK/8Qw2X/EMRn/xC9VP9mu0T/9fnw//////////////////////////////////// + //+Ox2X/KqoW/xTHav8SyXD/E8lv/xPJcP8TyXD/E8px/xPKcf8Ty3L/E8ty/xPLc/8TzHP/E8xz/xPM + dP8TzXX/E811/xPNdf8UzXb/FM12/xTNd/8UzXf/FM13/xTOeP8Uznj/FM54/xTOef8Uz3n/FM95/xTP + ef8Uz3r/FNB6/xTQev8U0Hr/FNB7/xTQev8T0Xz/Fc94/yusGv+Ox2T///////////////////////// + //////////////X57/9mvEb/E8pq/xTTf/8V0n7/Hsph/yPHUf8ix1T/IshV/yHIVf8hyVf/IclY/yDK + Wf8gylr/Ictc/yDLXf8gzF7/IdJh/wxNJP8AAAD/AAAA/wAAAP8AAAD/AAAA4AAAABcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAP8AAAD/AAAA/wAAAP8BAwD/IWsB/y6X + A/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwr/LpoJ/x6vOv8PxGj/EMVq/ySv + Kf9wuD3/1+zK///////////////////////m897/iMRf/zCoEv8TxGX/Eclx/xLJb/8SyXD/Espx/xLK + cv8SynL/Esty/xLLc/8Sy3T/Esx0/xLMdP8SzHX/Es12/xLNdv8SzXf/E813/xPNd/8TzXj/E854/xPO + ef8Tznn/E855/xPPev8Tz3r/E896/xPPe/8T0Hv/E9B7/xPQe/8T0Hz/E9B8/xPRfP8T0X3/E9F9/xPR + ff8S0oD/Fs1z/zCqFf+IxF//5vPe///////////////////////X7Mr/b7g8/yW2NP8T1IT/E9KC/xvM + aP8kxk//I8dS/yLHU/8ix1T/IshV/yHJVv8hyVf/IclY/yDKWf8gylr/Ictc/yHSYP8Xk0P/AQQC/wAA + AP8AAAD/AAAA/wAAAP8AAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAMAAAAzgAAAP8AAAD/AAAA/wAAAP8JHAD/K4sC/y6UA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6X + B/8tmAj/LpgJ/y6aCv8tmgr/LZsM/xu1Rf8Pxmz/EsNl/ymrHP9FpQj/cLk//5bMc/+aznj/eL1K/02o + EP8upw7/FcNg/xDJcv8RyHD/Eslx/xLJcf8SynL/Espz/xLKc/8Sy3T/Est1/xLLdf8SzHb/Esx2/xLM + dv8SzXf/Es13/xLNeP8SzXj/E815/xPNef8Tznn/E856/xPOev8Tznr/E897/xPPe/8Tz3z/E898/xPQ + ff8T0H3/E9B9/xPQfv8T0H7/E9F+/xPRfv8T0X//E9F//xPRf/8S04L/F8xv/y+pEv9NpxD/eL1K/5rO + eP+WzHP/cLk+/0WkB/8pryT/FdF9/xLThv8azW7/I8VO/yPGT/8jxlH/I8dS/yLHU/8ix1T/IchV/yHJ + Vv8hyVf/IcpY/yDKWf8hzVv/H8FY/wYmEf8AAAD/AAAA/wAAAP8AAAD/AAAAzgAAAAwAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFAAAA+gAAAP8AAAD/AAAA/wAA + AP8TQAD/LpYC/y2SA/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmgn/LZwP/xq3 + Sf8Oxm3/EcRo/yC3P/8tqBP/MaMC/zGjAf8vpw3/JLU2/xPGZ/8PynL/EMlw/xHJcf8RyXL/Ecpy/xHK + c/8Ry3T/Ect0/xHLdf8RzHb/Ecx2/xHMd/8RzXf/Ec13/xHNeP8Rznj/Ec55/xHOef8Sznr/Es56/xLO + e/8Sznv/Es98/xLPfP8Sz3z/Es99/xLQff8S0H3/EtB+/xLRfv8S0X7/EtF//xLRf/8S0X//EtJ//xLS + gP8S0oD/EtKA/xLSgP8R04T/FdB4/yW6P/8vqRH/MaQD/zGkBP8urBn/Ir9O/xPSgP8Q1Yf/GM5w/yPF + Tv8kxUz/JMVO/yPGT/8jxlH/I8dS/yLHU/8ix1T/IshV/yHIVf8hyVf/IcpY/yHQW/8OWSf/AAAA/wAA + AP8AAAD/AAAA/wAAAPoAAABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACaAAAA/wAAAP8AAAD/AAAA/wECAP8eYgH/L5cC/y2SA/8tkwP/LZQE/y6U + Bf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8umgn/LZwO/xm3Sv8Ox2//Dcdv/w/GbP8TxGT/E8Rk/xDH + bP8OyXP/Dslx/w/Jcf8QynL/EMpy/xDKc/8QynT/EMp0/xDLdf8Qy3b/EMx2/xDMd/8QzHj/EM14/xDN + ef8Qznn/EM56/xDOev8Qz3r/Ec97/xHPe/8Rz3z/Ec98/xHPfP8Rz33/EdB+/xHQfv8R0H7/EdB//xHR + f/8R0YD/EdGA/xHRgP8R0oH/EdKB/xHSgf8R0oH/EdOC/xHTgv8R04L/EdOC/xHTg/8Q1IX/ENWI/xLT + gf8Vz3j/FdB5/xHUhf8Q1on/EdWJ/xnOcP8kxEv/JcRK/yTETf8kxU3/JMVO/yPGUP8jxlH/I8dS/yLH + U/8ix1T/IshV/yHJVv8i0Vr/Fok8/wEDAf8AAAD/AAAA/wAAAP8AAAD/AAAAmgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAADbAAAA/wAA + AP8AAAD/AAAA/wUQAP8mfQH/LpYC/y2SA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6a + Cv8tmgn/LZwO/xu1Rv8Nx2//Dsdt/w7Hb/8OyHD/Dshw/w/JcP8PyXH/D8py/w/Kcv8QynP/EMp0/xDK + dP8Qy3X/EMt1/xDMdv8QzHf/EM14/xDNef8QzXn/EM56/xDOev8Qz3v/EM98/xDPfP8Q0Hz/EdB9/xHQ + ff8R0H7/EdB+/xHQfv8R0H//EdF//xHRgP8R0YD/EdGA/xHSgf8R0oH/EdKC/xHSgv8R04P/EdOD/xHT + g/8R04P/EdOE/xHUhP8R1IT/EdSE/xHUhf8R1IX/ENWF/xDVh/8Q1Yf/ENWH/xDWif8ZzW7/JcJJ/yXD + R/8lxEr/JMRM/yTETf8kxU3/I8VO/yPGUP8jxlH/I8dS/yLHU/8ix1T/I81X/xysSv8DFgr/AAAA/wAA + AP8AAAD/AAAA/wAAANsAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkAAAD6AAAA/wAAAP8AAAD/AAAA/wsjAP8qiQH/LZQC/y2S + A/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmgn/LZsM/x6xPP8Ox23/Dchw/w7I + b/8OyHD/Dslx/w7Jcv8PynP/D8pz/w/LdP8Py3X/D8t1/w/Ldv8PzHb/D8x3/w/NeP8PzXn/D855/w/O + e/8Pznv/D897/w/PfP8Pz33/D9B9/xDQff8Q0H7/ENB+/xDQf/8Q0H//ENGA/xDRgP8Q0YH/ENGB/xDS + gv8Q0oL/ENKD/xDTg/8Q04P/ENOD/xDThP8Q1IT/ENSE/xDUhP8Q1IX/ENSG/xDVhv8Q1Yb/ENWG/xDV + h/8Q1Yf/ENWH/w/Wif8Q1Yj/G8pl/ybBRf8mwUX/JcFI/yXDSP8lxEr/JMRL/yTETf8kxU3/JMVO/yPG + T/8jxlH/I8dS/yLKVP8gvlD/CC4U/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAASQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AIEAAAD/AAAA/wAAAP8AAAD/AAAA/xA0AP8skQH/LZMC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6X + B/8tmAj/LpgJ/y6ZCv8tmgr/LpoJ/yOpLP8Qw2b/DMp0/w3Icf8NyXL/Dclz/w7Kc/8OynT/Dst1/w7L + dv8Oy3f/Dst3/w7MeP8OzHj/Ds15/w7Nev8Oznv/Ds57/w7OfP8Oz33/Ds99/w7Pfv8O0H7/D9B//w/Q + f/8P0ID/D9CA/w/Qgf8P0YH/D9GC/w/Rgv8P0YL/D9KD/w/ShP8P0oT/D9OF/w/Thf8P04X/D9OG/w/U + hv8P1Ib/D9SG/w/Uh/8P1If/D9WI/w/ViP8P1Yj/D9WI/w/Vif8O1oz/EdSC/x/GWP8ov0H/JsBE/ybB + Rv8mwUb/JcFI/yXDSf8lxEr/JMRL/yTETf8kxU3/JMVO/yPGUP8jyFL/I8hS/wxIHv8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAALQAAAD/AAAA/wAAAP8AAAD/AAAA/xVF + AP8tkgH/LZMC/y2SA/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwr/LpkI/ymi + G/8WvFb/DMp1/wzKdf8NynP/Dcp0/w7Ldf8Oy3b/Dst3/w7Ld/8OzHj/Dsx6/w7Mef8OzXr/Ds57/w7O + e/8Ozn3/Ds99/w7Pfv8O0H//DtB//w7QgP8O0YH/D9GB/w/Rgf8P0YH/D9GC/w/Rg/8P0oT/D9KE/w/S + hP8P0oT/D9OF/w/Thf8P04X/D9OH/w/Uh/8P1If/D9SH/w/ViP8P1Yj/D9WI/w/Vif8P1Yn/D9aJ/w/W + if8O14v/DteN/xXPdv8jwUv/KL4//ye/Qv8nwEP/JsBF/ybBRv8mwUf/JcJI/yXDSf8lxEr/JMRM/yTE + Tf8kxU3/JMZP/yTJUf8RXyf/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC0AAAABwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAGQAAANUAAAD/AAAA/wAAAP8AAAD/AAAA/xhPAP8ulQH/LZIC/y2SA/8tkgP/LZQE/y6U + Bf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwr/LpoJ/y6cDf8fsDn/DsZq/wvMeP8Ny3b/Dct2/w3M + dv8NzHj/Dcx4/w3Mef8NzXr/Dc16/w3Ne/8Nznz/Dc59/w3Pff8Nz3//DdB//w3QgP8N0ID/DdGB/w7R + gf8O0oL/DtKD/w7Sg/8O0oP/DtKE/w7ShP8O04X/DtOF/w7Thf8O04b/DtSH/w7Uh/8O1If/DtSI/w7V + iP8O1Yn/DtWK/w7Viv8O1or/DtaK/w7Wi/8O1ov/DdiO/xDVhP8cx17/J7w+/yi8Pf8nvUD/J79B/ye/ + Qv8nwEP/JsBE/ybARf8mwUb/JcFI/yXDSP8lxEr/JMRL/yTFTf8lzFD/E2oq/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA1QAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMQAAAOgAAAD/AAAA/wAA + AP8AAAD/AQIA/xlRAP8ulQH/LZMC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6Z + Cv8tmwv/LZsL/y+bCf8qoxv/GblO/w3JdP8MzXv/DMx4/w3MeP8NzHn/Dcx6/w3Ne/8NzXz/Dc18/w3O + ff8Nzn7/Dc9+/w3Pf/8N0ID/DdCB/w3Qgf8N0YL/DtGD/w7Rg/8O0oT/DtKE/w7ShP8O0oX/DtKG/w7S + hv8O04f/DtOH/w7Th/8O1Ij/DtSJ/w7Uif8O1Ir/DtWK/w7Viv8O1Yv/DtWL/w7Wi/8N14z/DdeP/w7W + i/8Yy2z/Jb5F/ym6OP8nvDz/J7w9/ye9P/8nvUH/J79B/ye/Qv8nwEP/JsBE/ybBRv8mwUb/JcJI/yXD + Sf8lxUr/JcpO/xRvK/8BAwH/AAAA/wAAAP8AAAD/AAAA/wAAAOgAAAAxAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAPMAAAD/AAAA/wAAAP8AAAD/AQEA/xhNAP8tkwH/LZMC/y2S + A/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwr/LpsM/y+cC/8vnAv/Jqgm/xa+ + V/8Ny3b/C85+/wvNe/8MzHv/DM18/wzNff8Mzn7/DM5//wzOf/8Mz4D/DNCA/wzQgf8M0YL/DNGD/w3R + g/8N0oT/DdKE/w3Shf8N04b/DdOG/w3Th/8N04f/DdOH/w3Tif8N1In/DdSJ/w3Uiv8N1Ir/DdWL/w3V + jP8N1Yz/DdWM/w3WjP8M147/DNeR/w7Wi/8VznP/IsBL/yq5Nv8pujj/KLs6/yi8O/8nvDz/J709/ye9 + P/8nvUH/J79C/ye/Qv8nwEP/JsBF/ybBRv8mwUb/JcRJ/yXGSv8TaSf/AAIB/wAAAP8AAAD/AAAA/wAA + AP8AAADzAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQAA + APQAAAD/AAAA/wAAAP8AAAD/AAAA/xRAAP8sjwH/LpQC/y2SA/8tkgP/LZQE/y6UBf8tlQb/LZYG/y6X + B/8tmAj/LpgJ/y6ZCv8tmwr/LZsM/y6cDP8vnAv/L50M/yeoJP8ZulD/Dsly/wrPf/8KzoD/C85+/wvO + fv8Lz3//C89//wvPgf8L0IH/C9CC/wvRg/8M0YT/DNKE/wzShf8M0oX/DNOG/wzTh/8M04f/DNOI/wzT + iP8M1Ij/DNSJ/wzUiv8M1Yr/DNWL/wzVi/8M1Yz/DNaN/wzWjv8L15D/C9iR/w7Uhv8Xymr/JL1F/yq3 + M/8quDP/Kbk3/ym6OP8pujn/KLs6/yi7O/8nvDz/J7w9/ye9P/8nvUD/J79B/ye/Qv8nwEP/JsBE/yfE + R/8mwEf/EVcg/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9AAAAFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/w8y + AP8qiAH/LpYC/y2SA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y6c + Df8unQ3/L50M/y+eDP8qoxv/H7I9/xTBYP8MzHn/CtCC/wnRhP8K0YL/CtCD/wvQgv8L0YL/C9GE/wvS + hP8M0oX/DNOG/wzTh/8M04f/DNSI/wzUiP8M1In/DNSK/wzUiv8M1Ir/DNWL/wzVjP8L1o3/C9eP/wrX + kf8L15H/DdWK/xXNdP8dwlf/J7k6/yu1L/8qtjH/Krcz/yq4Nf8puTb/Kbk3/ym6OP8oujn/KLs6/yi8 + O/8nvDz/J7w9/ye9P/8nvUH/J79B/ye/Qv8oxUX/JLVA/w1DGP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APMAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAUgAAAPQAAAD/AAAA/wAAAP8AAAD/AAAA/wkfAP8leAH/L5cC/y2SA/8tkwP/LZQE/y6U + Bv8tlQb/LZYG/y6XB/8tmAj/LpgK/y6ZCv8tmwr/LZsM/y6cDP8unQ3/Lp4P/y6eDv8vnQ3/Lp8R/ymn + If8hsjv/F75X/xDJcP8Mzn7/CdKG/wnTiP8J04n/CtOI/wrUif8K1In/CtSK/wrUiv8K1Yv/CtWM/wrW + jP8K1o7/CtaP/wrWj/8K15H/CteQ/w3Uif8Q0H7/F8lo/x+/UP8ntzn/K7Mt/yyzK/8qtC//KrUx/ym2 + Mv8ptzP/Krcz/yq4Nf8puTb/Kbk3/ym6OP8pujn/KLs6/yi7O/8nvDz/J7w9/ye9P/8nvkH/KMZE/yCf + N/8IKA7/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD0AAAAUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAOsAAAD/AAAA/wAA + AP8AAAD/AAAA/wQNAP8dXQD/LpUC/y6UA/8tkwP/LZQE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6Z + Cv8tmwv/LZsM/y6cDP8unQ7/Lp4P/y6fD/8tnxD/Lp8Q/y+fDv8voRD/LaQX/yiqJ/8jsjj/HblJ/xjA + Wv8Uxmb/Espv/xHLc/8Pznr/D898/w/Pff8Pz3z/Ec13/xLMdf8Uym7/GMVi/x3AVP8iu0X/JrU3/yqx + K/8ssCb/LLEm/yyxKf8rsiv/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krc0/yq4Nf8puTb/Kbk3/ym6 + OP8oujn/KLs6/yi7O/8nvDz/J78+/yjCQf8Zeir/AxEG/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6wAA + AE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAANwAAAD/AAAA/wAAAP8AAAD/AAAA/wABAP8SOwH/KocC/y+X + A/8tkwP/LZQE/y6UBv8tlQb/LZYG/y6XB/8tmAn/LpgJ/y6aCv8tmwv/LZsM/y6cDf8unQ7/Lp4P/y6f + EP8tnxH/LqAS/y6hEv8uoRL/L6ER/y+iEf8vohL/LqQU/y6kFf8tpxr/LKgd/yqqI/8qrCX/Kq0m/yqt + Jv8srCP/LKwh/y2rHv8tqx//Lawg/y2sIf8triT/LK8m/yuwJ/8rsSn/K7Iq/yuyK/8rsiz/K7Mt/yu0 + L/8qtDD/KrUx/yq2Mv8qtzP/Krc0/yq4Nf8puTb/Kbk3/ym6OP8oujn/KLw6/ynDPf8krjj/EE0Z/wAB + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANwAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAA + AL8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8HFwD/HmMB/y6UA/8ulgP/LZQE/y6UBf8tlQb/LZYG/y6X + B/8tmAj/LpgJ/y6ZCv8tmgr/LZsM/y6cDP8unQ3/Lp4P/y6fD/8unxD/LqAS/y6hEv8uohP/LqIU/y6j + Ff8upBb/LaUX/y2lGP8uphj/LqcZ/y2nGv8tqBv/Lakc/y2qHv8tqh//Lawg/yysIf8srSL/LK0j/yyu + JP8sryX/LK8m/yuwJ/8rsSj/K7Ip/yuyK/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krcz/yq4 + Nf8puTb/Kbk3/yq+Ov8pvTr/G34n/wYeCf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC/AAAAIgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAJMAAAD+AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/EDMB/yV5Av8vmAP/LpcE/y6UBf8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6ZCv8tmwv/LZsM/y6c + DP8unQ7/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2n + G/8tqBz/Lakd/y2qH/8tqh//Lawg/yysIf8srSL/LK0k/yyuJP8sryX/LLAn/yuwJ/8rsSj/K7Iq/yuy + K/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq2Mv8ptzP/Krc0/yu8Nv8qwDj/Ipou/w5BFP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD+AAAAkwAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAF0AAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwkA/xVEAf8oggP/L5oE/y+W + Bv8tlQb/LZYG/y6XB/8tmAj/LpgJ/y6aCv8tmwv/LZsM/y6dDf8unQ7/Lp4P/y6fEP8tnxH/LqAS/y6h + Ev8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Laca/y2nG/8tqBz/Lakd/y2qHv8tqx//LKwg/yys + If8srSP/LK0k/yyuJP8sryb/LLAn/yuwJ/8rsSn/K7Iq/yuyK/8rsiz/K7Mt/yu0L/8qtDD/KrUx/yq5 + M/8rvzX/JaIu/xNVGP8CCwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA5QAAAF0AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAACzAAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUPAP8VRwL/J4EE/y+YBf8umQb/LpcG/y6XB/8tmAj/LpgJ/y6Z + Cv8tmgr/LZsM/y6cDP8unQ3/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2l + GP8tpxn/Lqca/y2nG/8tqBz/Lakd/y2qHv8tqh//Lawg/yysIf8srSL/LK0j/yyuJP8sryX/LK8m/yuw + J/8rsSj/K7Ip/yuyK/8rsiz/K7Mt/yy5MP8rujH/JZ4r/xRYGP8EEwX/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAALMAAAAmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABmAAAA4wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8EDQD/Ez4B/yR1BP8tlQb/L5wH/y+aB/8tmAj/LpgJ/y6ZCv8tmwv/LZsM/y6cDP8unQ7/Lp4P/y6f + D/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2nG/8tqBz/Lakd/y2q + H/8tqh//LKwg/yysIf8srSL/LK0k/yyuJP8sryX/LLAn/yuwJ/8rsij/LLUq/y25LP8rsyz/Io4k/xJL + E/8DEAT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOEAAABjAAAABAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAfAAAAlQAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQQA/wwmAf8bWwT/KIYF/y+a + B/8vngn/L5sJ/y6aCv8tmwv/LZsM/y6cDf8unQ7/Lp4P/y6fEP8tnxH/LqAS/y6hEv8uohP/LqIU/y6j + Ff8upBb/LaUX/y2lGP8tpxn/Laca/y2nG/8tqBz/Lakd/y2qHv8tqyD/LKwg/yysIf8srSP/LK0k/yyu + JP8tsib/LrYo/yyzKP8mniT/GmwZ/wsuC/8BBAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APcAAACVAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAK0AAAD7AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DCwD/Di8C/xtaBP8mgAf/LZYJ/zCeCv8voAv/L58M/y6e + DP8ung3/Lp4P/y6fD/8tnxH/LqAS/y6hEv8uohP/LqIU/y6jFf8upBb/LaUX/y2lGP8tpxn/Lqca/y2n + G/8tqBz/Lakd/y2rHv8urCD/LrAh/y6yI/8usyP/LKoj/yWSH/8aaBb/DTYM/wMMA/8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPsAAACtAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACvAAAA+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wIFAP8JHgL/Ez8E/x1gBv8kewn/Ko8L/y6bDP8voA7/MKQP/zCmEP8vpRH/L6US/y+l + E/8vpRP/L6YU/y+nFv8vqBb/L6kY/y6qGf8vrRr/MK8b/y+uHP8uqx3/Lagd/ymdHP8khxn/G2sU/xJG + Df8JIgf/AgYB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkAAACvAAAAQAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAA5AAAAnwAAAOwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEE + AP8EDwH/CiAC/xE5BP8WTAf/G10J/x5oCv8gcQz/I3sO/yWCDv8lgw//JYMQ/yWEEf8kfhH/IHYR/x1s + EP8bYg7/FlEN/xA9Cv8KIwb/BBAD/wEEAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAOwAAACfAAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAHIAAADHAAAA+wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAQD/AQMA/wEDAP8BAwD/AQMA/wABAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAMcAAAByAAAAIgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA2AAAAgQAAAMoAAAD5AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD5AAAAygAA + AIEAAAA2AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAABwAAAC4AAABqAAAAqQAAAN4AAAD2AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA9gAAAN4AAACpAAAAagAAAC4AAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAA + ADEAAABZAAAAhwAAALIAAADPAAAA5QAAAPcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD3AAAA5QAAAM8AAACyAAAAhwAAAFkAAAAxAAAACwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAZAAAAKgAA + ADcAAABNAAAAXgAAAGoAAABpAAAAaQAAAGkAAABpAAAAagAAAF4AAABNAAAANwAAACoAAAAZAAAABgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////+AAB///////////////// + wAAAA////////////////gAAAAB///////////////AAAAAAD/////////////+AAAAAAAH///////// + ///+AAAAAAAAf///////////+AAAAAAAAB///////////+AAAAAAAAAH///////////AAAAAAAAAA/// + ////////AAAAAAAAAAD//////////gAAAAAAAAAAf/////////gAAAAAAAAAAB/////////wAAAAAAAA + AAAP////////4AAAAAAAAAAAB////////8AAAAAAAAAAAAP///////+AAAAAAAAAAAAB////////AAAA + AAAAAAAAAP///////gAAAAAAAAAAAAB///////wAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAB////// + 8AAAAAAAAAAAAAAP/////+AAAAAAAAAAAAAAB//////gAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAD + /////4AAAAAAAAAAAAAAAf////+AAAAAAAAAAAAAAAH/////AAAAAAAAAAAAAAAA/////gAAAAAAAAAA + AAAAAH////4AAAAAAAAAAAAAAAB////8AAAAAAAAAAAAAAAAP////AAAAAAAAAAAAAAAAD////gAAAAA + AAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///w + AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//+AAAAAAAAAAAAAAAAAH///gAAAAAAAAAAAAAAAA + B///wAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAA///gAAAAAAAAAAA + AAAAAAH//4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAD//wAAAAAA + AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/4A + AAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAA + AH/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAA + AAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAA + AAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wA + AAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAA + AD/8AAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAA + AAAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAD//wAAAAAA + AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAAAAAB//+A + AAAAAAAAAAAAAAAAAf//gAAAAAAAAAAAAAAAAAH//8AAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAA + A///4AAAAAAAAAAAAAAAAAf//+AAAAAAAAAAAAAAAAAH///wAAAAAAAAAAAAAAAAD///8AAAAAAAAAAA + AAAAAA////gAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAH////AAAAAAAAAAAAAAAAD////4AAAAA + AAAAAAAAAAB////+AAAAAAAAAAAAAAAAf////wAAAAAAAAAAAAAAAP////+AAAAAAAAAAAAAAAH///// + gAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAA//////gAAAAAAAAAAAAAAf/////8AAAAAAAAAAAAAAP + //////gAAAAAAAAAAAAAH//////8AAAAAAAAAAAAAD///////gAAAAAAAAAAAAB///////8AAAAAAAAA + AAAA////////gAAAAAAAAAAAAf///////8AAAAAAAAAAAAP////////gAAAAAAAAAAAH////////+AAA + AAAAAAAAH/////////wAAAAAAAAAAD/////////+AAAAAAAAAAB//////////4AAAAAAAAAB//////// + ///gAAAAAAAAB///////////+AAAAAAAAB////////////4AAAAAAAB/////////////gAAAAAAB//// + /////////+AAAAAAB//////////////8AAAAAD///////////////8AAAAP////////////////+AAB/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////8= + + + \ No newline at end of file diff --git a/FATrace.Model/FATrace.Model.csproj b/FATrace.Model/FATrace.Model.csproj index 3d9c1d1..cbcb056 100644 --- a/FATrace.Model/FATrace.Model.csproj +++ b/FATrace.Model/FATrace.Model.csproj @@ -10,8 +10,4 @@ - - - - diff --git a/FATrace.Model/FileModel/FactoryInOutbound.cs b/FATrace.Model/FileModel/FactoryInOutbound.cs new file mode 100644 index 0000000..9fb4dd7 --- /dev/null +++ b/FATrace.Model/FileModel/FactoryInOutbound.cs @@ -0,0 +1,62 @@ +using FreeSql.DataAnnotations; + +namespace FATrace.Model +{ + /// + /// 工厂-成品入库与出库(Excel 导入数据,仅展示用) + /// + [Table(Name = "FactoryInOutbound")] + public class FactoryInOutbound + { + /// + /// 主键 + /// + [Column(IsPrimary = true, IsIdentity = true)] + public long Id { get; set; } + + /// + /// 入库时间 + /// + public string? InTime { get; set; } + + /// + /// 出库时间 + /// + public string? OutTime { get; set; } + + /// + /// 产地 + /// + public string? Origin { get; set; } + + /// + /// 批号 + /// + public string? Batch { get; set; } + + /// + /// 原料代码 + /// + public string? RawCode { get; set; } + + /// + /// 原料名称 + /// + public string? RawName { get; set; } + + /// + /// 入库总箱数 + /// + public string? TotalInPcs { get; set; } + + /// + /// 出库总箱数 + /// + public string? TotalOutPcs { get; set; } + + /// + /// 剩余箱数 + /// + public string? RemainPcs { get; set; } + } +} diff --git a/FATrace.Model/FileModel/FactoryInbound.cs b/FATrace.Model/FileModel/FactoryInbound.cs index d740813..00fd0b6 100644 --- a/FATrace.Model/FileModel/FactoryInbound.cs +++ b/FATrace.Model/FileModel/FactoryInbound.cs @@ -3,7 +3,7 @@ using FreeSql.DataAnnotations; namespace FATrace.Model { /// - /// 工厂-入库(Excel 导入数据,仅展示用) + /// 工厂-成品入库(Excel 导入数据,仅展示用) /// [Table(Name = "FactoryInbound")] public class FactoryInbound @@ -14,6 +14,21 @@ namespace FATrace.Model [Column(IsPrimary = true, IsIdentity = true)] public long Id { get; set; } + /// + /// 批号 + /// + public string? Batch { get; set; } + + /// + /// 重量(G) + /// + public string? Weight { get; set; } + + /// + /// 保质期 + /// + public string? ShelfLife { get; set; } + /// /// 产地 /// @@ -30,19 +45,9 @@ namespace FATrace.Model public string? RawName { get; set; } /// - /// 重量 + /// 序号 /// - public string? Weight { get; set; } - - /// - /// 登录日 - /// - public string? LoginDate { get; set; } - - /// - /// 登录时间 - /// - public string? LoginTime { get; set; } + public string? SequenceNo { get; set; } /// /// 登录日期时间 diff --git a/FATrace.Model/FileModel/FactoryOutbound.cs b/FATrace.Model/FileModel/FactoryOutbound.cs index e8ae57c..61c465b 100644 --- a/FATrace.Model/FileModel/FactoryOutbound.cs +++ b/FATrace.Model/FileModel/FactoryOutbound.cs @@ -49,16 +49,6 @@ namespace FATrace.Model /// public string? SequenceNo { get; set; } - /// - /// 登录日 - /// - public string? LoginDate { get; set; } - - /// - /// 登录时间 - /// - public string? LoginTime { get; set; } - /// /// 登录日期时间 /// diff --git a/FATrace.Model/FileModel/FactoryProductionRecord.cs b/FATrace.Model/FileModel/FactoryProductionRecord.cs index e873085..5194a14 100644 --- a/FATrace.Model/FileModel/FactoryProductionRecord.cs +++ b/FATrace.Model/FileModel/FactoryProductionRecord.cs @@ -3,7 +3,7 @@ using FreeSql.DataAnnotations; namespace FATrace.Model { /// - /// 工厂-原料生产信息(Excel 导入数据,仅展示用) + /// 工厂-包袋生产(Excel 导入数据,仅展示用) /// [Table(Name = "FactoryProductionRecord")] public class FactoryProductionRecord diff --git a/FATrace.Model/FileModel/FactoryInventoryTransaction.cs b/FATrace.Model/FileModel/FactoryRawInOutbound.cs similarity index 80% rename from FATrace.Model/FileModel/FactoryInventoryTransaction.cs rename to FATrace.Model/FileModel/FactoryRawInOutbound.cs index bd7fe8b..8cbe665 100644 --- a/FATrace.Model/FileModel/FactoryInventoryTransaction.cs +++ b/FATrace.Model/FileModel/FactoryRawInOutbound.cs @@ -3,10 +3,10 @@ using FreeSql.DataAnnotations; namespace FATrace.Model { /// - /// 工厂-出入库(Excel 导入数据,仅展示用) + /// 工厂-原料出入库(Excel 导入数据,仅展示用) /// - [Table(Name = "FactoryInventoryTransaction")] - public class FactoryInventoryTransaction + [Table(Name = "FactoryRawInOutbound")] + public class FactoryRawInOutbound { /// /// 主键 @@ -20,7 +20,7 @@ namespace FATrace.Model public string? InTime { get; set; } /// - /// 领料时间 + /// 出库时间 /// public string? OutTime { get; set; } @@ -40,17 +40,17 @@ namespace FATrace.Model public string? RawName { get; set; } /// - /// 入库总重量 KG + /// 入库总重量(KG) /// public string? TotalInWeightKg { get; set; } /// - /// 领料总重量 KG + /// 出库总重量(KG) /// public string? TotalOutWeightKg { get; set; } /// - /// 剩余重量 KG + /// 剩余重量(KG) /// public string? RemainWeightKg { get; set; } } diff --git a/FATrace.Model/FileModel/FactoryMaterialWithdrawal.cs b/FATrace.Model/FileModel/FactoryRawInbound.cs similarity index 68% rename from FATrace.Model/FileModel/FactoryMaterialWithdrawal.cs rename to FATrace.Model/FileModel/FactoryRawInbound.cs index 242f8a6..7ad39a5 100644 --- a/FATrace.Model/FileModel/FactoryMaterialWithdrawal.cs +++ b/FATrace.Model/FileModel/FactoryRawInbound.cs @@ -3,10 +3,10 @@ using FreeSql.DataAnnotations; namespace FATrace.Model { /// - /// 工厂-领料(Excel 导入数据,仅展示用) + /// 工厂-原料入库(Excel 导入数据,仅展示用) /// - [Table(Name = "FactoryMaterialWithdrawal")] - public class FactoryMaterialWithdrawal + [Table(Name = "FactoryRawInbound")] + public class FactoryRawInbound { /// /// 主键 @@ -34,16 +34,6 @@ namespace FATrace.Model /// public string? Weight { get; set; } - /// - /// 登录日 - /// - public string? LoginDate { get; set; } - - /// - /// 登录时间 - /// - public string? LoginTime { get; set; } - /// /// 登录日期时间 /// diff --git a/FATrace.Model/FileModel/FactoryRawOutbound.cs b/FATrace.Model/FileModel/FactoryRawOutbound.cs new file mode 100644 index 0000000..db062e0 --- /dev/null +++ b/FATrace.Model/FileModel/FactoryRawOutbound.cs @@ -0,0 +1,42 @@ +using FreeSql.DataAnnotations; + +namespace FATrace.Model +{ + /// + /// 工厂-原料出库(Excel 导入数据,仅展示用) + /// + [Table(Name = "FactoryRawOutbound")] + public class FactoryRawOutbound + { + /// + /// 主键 + /// + [Column(IsPrimary = true, IsIdentity = true)] + public long Id { get; set; } + + /// + /// 产地 + /// + public string? Origin { get; set; } + + /// + /// 原料代码 + /// + public string? RawCode { get; set; } + + /// + /// 原料名称 + /// + public string? RawName { get; set; } + + /// + /// 重量 + /// + public string? Weight { get; set; } + + /// + /// 登录日期时间 + /// + public string? LoginDateTime { get; set; } + } +} diff --git a/FATrace.Model/FileModel/OEMInventoryTransaction.cs b/FATrace.Model/FileModel/OEMInOutbound.cs similarity index 94% rename from FATrace.Model/FileModel/OEMInventoryTransaction.cs rename to FATrace.Model/FileModel/OEMInOutbound.cs index be3b9b0..31ce36c 100644 --- a/FATrace.Model/FileModel/OEMInventoryTransaction.cs +++ b/FATrace.Model/FileModel/OEMInOutbound.cs @@ -5,8 +5,8 @@ namespace FATrace.Model /// /// OEM-出入库(Excel 导入数据,仅展示用) /// - [Table(Name = "OEMInventoryTransaction")] - public class OEMInventoryTransaction + [Table(Name = "OEMInOutbound")] + public class OEMInOutbound { /// /// 主键 diff --git a/FATrace.Model/FileModel/OEMInbound.cs b/FATrace.Model/FileModel/OEMInbound.cs index 8676ef6..56412f5 100644 --- a/FATrace.Model/FileModel/OEMInbound.cs +++ b/FATrace.Model/FileModel/OEMInbound.cs @@ -49,16 +49,6 @@ namespace FATrace.Model /// public string? SequenceNo { get; set; } - /// - /// 登录日 - /// - public string? LoginDate { get; set; } - - /// - /// 登录时间 - /// - public string? LoginTime { get; set; } - /// /// 登录日期时间 /// diff --git a/FATrace.Model/FileModel/OEMOutbound.cs b/FATrace.Model/FileModel/OEMOutbound.cs index b11cc14..c7f3b06 100644 --- a/FATrace.Model/FileModel/OEMOutbound.cs +++ b/FATrace.Model/FileModel/OEMOutbound.cs @@ -49,16 +49,6 @@ namespace FATrace.Model /// public string? SequenceNo { get; set; } - /// - /// 登录日 - /// - public string? LoginDate { get; set; } - - /// - /// 登录时间 - /// - public string? LoginTime { get; set; } - /// /// 登录日期时间 /// diff --git a/FATrace.Model/FileModel/OEMRawUsageInfo.cs b/FATrace.Model/FileModel/OEMRawUsageInfo.cs index b42880d..1d456ee 100644 --- a/FATrace.Model/FileModel/OEMRawUsageInfo.cs +++ b/FATrace.Model/FileModel/OEMRawUsageInfo.cs @@ -39,9 +39,5 @@ namespace FATrace.Model /// public string? RawCode { get; set; } - /// - /// 视频链接 - /// - public string? VideoUrl { get; set; } } } diff --git a/FATrace.WPLApp/App.xaml.cs b/FATrace.WPLApp/App.xaml.cs index 04e6df9..6de2503 100644 --- a/FATrace.WPLApp/App.xaml.cs +++ b/FATrace.WPLApp/App.xaml.cs @@ -273,11 +273,13 @@ namespace FATrace.WPLApp containerRegistry.RegisterForNavigation(); // 工厂/OEM Excel 导入数据查询页 + containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); + containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); containerRegistry.RegisterForNavigation(); diff --git a/FATrace.WPLApp/ExcelFile/20251218161818.xlsx b/FATrace.WPLApp/ExcelFile/20251218161818.xlsx deleted file mode 100644 index f16383aed94573a2bf775f83369027edd9665422..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11090 zcmeHtWmsEl(=P7r?(XjH?(XjHP@oj2Kud5h?iQT3P~5dGQlPlIJM^S|zjt?+v-fqK zU+34C1XfmH?zJ*=&pgkFnj$0=78n>D9GHA)q9MC{I{Gmf7}ysGFfc^W(bU7*$&;1k z=kMyz;wn9CXwZ|DdP}@XIN@j&3&>eVXloGtxl}q9Z>?3yvg4s;*AVn1LYo=#V_BSk z+y=+q2L8}0bv3@Cz{*Zl$uEHayx@n3A{R)?jw>*+cTvvf{uhtf(;OHj`#jSiJ+e!BE#2OZP z4ojP}^StBHs@=Q5FU$8}B>IM91W42m16mlO6nuJPW4LO6=%pZ10o4K=4D34`7#Jo< zFNTt?E?(9yUZz_9Zq}a0EPl>TW2uTD{a{JAVEDhrXn|G`R~7^-QG@3(J4owycmTZ9 zoNr<`lXn8AEha;|D8w0}WIPSJCNjj|INbE+Gbv-p2$Qt;QhBc*MU~fvuA%CwaZf>< zaB6qc+881q?Jz38+umM)?5`)p|*}mD-CF7_{giu}RN`1Jb zH5c|Hb?KG|9}4GxIiMA-Zhq5?AIpVgmE{S_l18)yfWx z^DfUtgL?z5rH!m;upVb$(UNqYGNp6c5kOhw{u+C?kHUi>c2J**VjCEJVTs-rEp3Gs zJGl8NcJj*B`U2%olZ*;Ne%=I`q84NpG|V{K8%x^Oh_ukuiQG z(-svZq#G0i;Tc4!uOai}uDQ^e)d?W6zF3rwL}R`hquElyO!G$s+Glt9bA3R8>{2xT z6dJ!J#h5kCZjNrd)XpY^1`~Tlj|_>B+fuRd+3qc;j&@;?IJ|EDwW#q8{eI(XPi4QM z2keP#9oxo5?-eA8<4@jp7*h*B*w1ciT7S7thVez*c#Di~ z94&pUn&Own08=34;aYa}o(4gbqb-ww!;~y}VGy}UIYU8xqJy_62I=%ENZXeANY8*oc?Er zN|!bK0qVk~rrSCH8arT-#FGq0~OdLN2`7Q0bnyMtYa*FYM&aPGWBR zsLuRe4%Se!wzsUJxe5)AATq&Cn30_Nw$>S<^0VQr=9-kG{ zddjMp>R6AAN&4m-&datL{`QJUGB~YYBSv6k>?BH?IMKeZ7N8}d!XuD}(vi}`NUB9g z&UC-q9c^U%5n4-(QHbcdjHt}(Jkhp2-qv#6kzrb$wKy1i7RSCl^Ptf;lEoLV)N@J0 zkVNgu;40$(z-FBlNs84zw5HVOdA_AM%Nq}n7{7*;)DRYRRe=@Pw&Hl|Z8T)L+f|sp z++dwxX!2lBAa&Hl|7749oAlJU53`wpBu*diOh}m!#l5Al{8sjmGeaGDFcWZR-u7&jbdw4gIWb^hMBM6djPws^ zSv}Pu;W_VmmbMobN#RH7gk!LAWn7$2RJ%RG#?`4ElYBhl(p{UO_RAr1?z1(W=9~JA z%~d=;W^#QdHU45w$R!&!@Yqn4%Nwn9QDh1C`-R_~h+q^2ivR`oiVB#0%dsv_!A+GFu%g62*L z*~HcK3^<~=$PvPDOW~M2L|HD_UVT-ihe>5jK|nF`3*YPYg=%W5jKwRI_r5jm4e^1q zu$Os-ZK1zmcN3bhq7+4&#yx!*>KTg3I7b`~_I}7e(=0FJ8rG~G;!tz?}RQ>?wN4MkY*f|`w@j@_=X5m_i#+?A8Q z0FOMKc)pKwTt&YORG=0S(--h%HHnkE#B4~yU>68Nt8b>Af@|C#R1CzN+IRx7+0gexf?o zoUUnJ5PL|5pg1ZYa2geMp{FOWPP<<&i-*)VwkpIPyio-kBQ!la|xOF5Zs(TDl_eNs|SfrZeZpR2L*zNw0+x^ziCyw-}=i)h=roai)iJ;^+s`X)N>WFg(r z5G%&X07BB;>bA)v!bn-o%o8QSqJcN-@5s5idgN_T?rdP{_b*QJv}0ikOgP>&cx49S zrtZGfGl4T%eiA?3w7XgvKK1Nxe_)&EOSySE?xX$FBt_;P?!h3F#DPqL`X7_{x_UTT zxVk$241@8B%8C%;cmtn?IefogItO)4OR}zzCzc(pAMLOljWTgs&P?T{B|*td$|DrH z5JQqbaMXNmvD0CvWj<^?KRGzQez|4-deig3(Kg!sEe0ah8q6dbuzVd539a(x+LAxd z9XtjyNFf251r2sn1E{RuAY-qY#J7s$76FIwe%u+?d~lshOv-03*__U5h(G`pFBHWW z9b;}bDbjooF92#38TyJ8wt7~W@KEDJ1UkAWyrc-0hu={EIPAz!g;E%^xG!C5SGKOO zVdIAQ68cWD#l=8*)O;YkR56X&A>C*FPA(+-FVi(l*e*UPeY%urBZuL~VRbL?5o=*q z>u7Otn;2A*%YmV^s8wr46o*ykjQ6*J!v20*b4A@HybY^kZp;G3D;dmwEv$v5*N>+s z)SkjiZ`tK#*sXrB5gid%xlU+xF4DMhvsZ@PGOsw;shDH- z)A%(voetOq{CMBo^wB|{4kzd|u)|bu7x7P1MV{ZGL4!<{1p@{~@E=qCC&~G{!G0w? z?bGZoJ!DugE0ttd1Pk&+r3gcxsT~&($sU}l=0aAAoyTYLW%sZZIH`bN3y{z;*T6+d z*-jpBo0fv(ApIe?Ulj5)*Joo)e&%XF;uAKzSNj6Wc#y(6*?KCM0x(kTCdwrm-^Tfu zn_-D?;&|cN#}h(F*6gQad$0tP^fUiV&usm8wY7X#ATZ}Ud(;wgI z_z|t#0aPA$o*H^v)TOx3dowvI^r>b>3o;piHYC$bn2tE=$~k(P(%hB3nVb4OG^V3l zuzxBKD4{G|2HGiQBY=V7{pPu+owc=>CusQx9oT;ozBtv;b%6{o^2h7G$G~nH{gk4; zd8&oJ#`5p0nR9$HefP{MoLll=WXQj z%bd_y1jZoxt5;4?UH-h~7UD#abY*PS;_uw3pJ>Byp~nV^Cs44GKcL5x+%?eACP zlRb2_osD(V`Bi7~A(eBfL0|B$KvNCkqiD7+D!z?@E|x=nbrtdU+rvy|%smE3&A!{4 z;`hq4=f10lbyNW<%Ursf7^7o**AEvNlR@Pd81@T!EMh+IOr-Z~iV#G-mrH|>MrG;X z)w3a7WsBz3rg4K4Uh7H*FT?f3A4EXe#+)YLW%bfs7WztelVfBK^2$<6YI)2Y6ZMnF zEfHm)0CpXFPTDi<2Bo$$j+6KZDQs&o@==$yY$ja`Tws^XBXkkFR83mCE<+DjN`jc) zw+R4)=H67gp%X2XL!J)N6ezCE(5xx0jnk}91Dj(u66fZm0_2^XA@C_CbF!{1zXUre zXT;C9#N3tzW!>;OEYlPKHZP$#K7Y&*lgVwtgv-_ei-*|J0?R?j(|n~YRVeC*{2hTN z;glv_>8OHDz80Rq~pPp>q%Iz3a{^V#bThFS>3uCM@%ugCF&4o*@2YHzC9d8w-ftA)wIk zFYM;{#qJbk&nz}H5W8irDMXNbI3tw^W?fKod=i7Rt9FHT^y1sLSQITR`@I!!{hzdC|!b&F9xY^&n>Op`gW@lx?%q}{Kp!3VBHY9(i zB^?bz^R5z0$AFg?uKXhfw@$7d9IvVZxntFsI!S^9Rab;!1wKNMs5o~Ckxw|`ttgUu zDiog0j%jBqPRu9vL(KWIM<;uDp?CVj(~0}@GevGy#XRl&fHF3$i|*;h^JPL zdhxFBB_yZaALhqq{2$1>NEj_D9`YkElt?tmZx_xmc;?nTXBQOEsT47Mx(Klxs~27 zOz;J>Q4RV0i1+XVx4^frCa3l_aO2q5p3;6bbEDW(ZENR7Kt5fk?bkO(z%0f@@mF!@ zUBP^FsJ8SYF^_E)+(1#?!0fqqjNRow+Njdw{O?h$ISRiECi-zeaLq@;kPh-Pp(ZnS z%GoCdPE_R_EJ?D=6u1Mv3+0bBx92jP*R&jKFLSoEV@Z4>IaoseLGn%XPmY0o4Dgi( zaSR9cUpdD4D|1R2@yKGsiZqRw>M%m4!6!@V2Y#0>%_&N2Lh81oK%*R@+5IAmftNK> z5dQ)AcJyV3=eVo9ly5CH`QP5g5^zRiY7{D-b&PRE-ksev(9s z)asJo5LwYMB1dcekPyiC3`f@NUnvYK8x$&t4AC>@Cnz?z_>G~BdTGcr%{D_;hPOg6 zuckgChi&nzOua6N!q6^=V3W#A_rb~?^>;8jJr9>Ld`3@3k)DvP zn+P?Ix3IC;V(^@ig7mD2u@@^TOFXI7iN9K|!2rCq+Hy9|BYUDj*j~8i+_SZ{;#pS)1vMkEfl%%?veRiD#`Rk1`GLo9QPY99?CJ5e@d`h+!EvI)tkc zZecW9+MS0H=}NV-aU5W;j~h3L|D;|5#&t+2XoH#yDh>Thc;os-y>#QGc`~fX9}1E8 znP_AVvWJZy-aEF;sEF3;hh^GhWQRB|n3`f(a&3%GPA$=;M_qUFvqryJdKlI?md0WL z+~Td8ga`p@t+F?=*zc~quN*>ziv3B>wYDtcf)OK@lw@G_AG8d~8*Tfy9pah|j!o`6 z44kF=wN;O#Tym?d0q)N4`}%c1NSw41Bo_zcK>^;KQptjn+`dnCgO>vOF)!NYZ7F7D z0TM+Gz1>ox5-USpnD8NJbszQk+q8+;d6QMZigu7>NZ>b$vnE`m+NBctuwHfx_4 z%lfIoHlt#1U9aj^WExc(V|hr6-O914ASwbb>#1r>l21*i z?^pS7WZUTq#IZOwgb|BvV?@RSYa2)Rzy?x^0!yWgt{xDF>Qa#ihboKZn57BIpW>4W zn<$*IhE5ddbrgXzuh$rh3k(<>iXwSy8cZ3lCcKdY!o$J4bRAI~#=7*AE@4{iQ5?rs z^^+DWV#1Qj!x|huMY$@_x%dqGSB7^rS(FNgvhu*UHHq9b8nfNL)gCBi4%_{qC45LS z>M{}XQs`?1=4q~@2tM}NiZ*NwygtuT>VOyb3|(r}<4AY{;D^SWYJjgXl@q3~F@+uG zwHV&KObJ-`{2-E80nZs2*(1*x99b9-2W)~lq5raUS?Ss31oOs^uenNBKxRfJb?p-SMr2weLVqYQ%}F=&4%v`R8h zFd)L&&%X(QM_XT`f>~_71Siw+5q%G!4nZ>WOz0=-bw*j^f_2X-jAc`_o|mSmJmXyB z0i8p_S&@5!-sM^7AH=kdftTsM!U6p+Z#@)*`W#UsJFItBn829$_pKcYKuRfnh@NJK zdJBKq0+AS*<9pA&pMp6Ns$ZQ^#QKJhLf?k#=sG#q*~x5RKZSZ1KqA?izAu zK}0uU+m1Se&SB98D;~1jK-ZcxWdwa9)+d1jI{dt(bSnQt?1$YquDzkSSyZ|v3^O)r zlboVoUa!|)R8())IHX*gm5+VD{+kvHzOG<_?mceW(dc`H&yG~>u|=N68wCKP!1<4lGE>Ky zAJ5`h3CA|Kl@~cCV!t~{J8y@L43_aGE=4#}O){7@LIfm@Bv!bWzJU?eVW@!IYV`Qn z$yW|UKJ$jy#k|JsEqGfs5dDpoq(6L`mdCRD2=lF_1v^_kG3B`kkPy@5ogV>a+9(pf zdsf5uEvL6Rw_(||37cd)>}#kNMsESPWT8>;Ddt}>2if-Ft?F2sEqe*D=9SBkmIl5+ zt)Z;(2q=D(f_*>+LeldMx>3MpaQes9-Gxp$iz|NDScpMrix_X$GFjW}PTuB$f-hcM zRL?4ZG_1ROmK5TxJ%s{6{Nx2S4F83nJpbkA8X1V62tD_ihUm`P)%irD3cBW7zQDb|3Ds^5&f@@{#= zRRl^Rk%%6Jp$!Tyx^WOH8~F zY>96&b7HvuCBATU0}mRzsL&xsg@a(-!Qe8xis!;e~Qzdkk4&2hmcg?juZV zVI(3F?B#lI?at)7tn=gFrs)^VW8_%Or}g(X(Tc?G`p;d79P-r=50oaa13Ur6x`qL? zieCAfMa|iP-#$LhPl=-XuZoIP3zwSmx(|r3_#mRR&=0L7{WuLZ=cOg$x3_f=KOd@^Z$o1%==%O|8E%n-!T0D zI}Fn>W@$=-!Z7*2XO?`w`1#+=Qo1k*9XHIqKS6$Nez)L@%I6US7;`T0Ub%YtyNeX4 zuC02zeU}xur}LabQu!)Z(-DYlINW4ybT1}C2n}kc;%V~GN}r6sqBF^=7p1fBl}3^p z&n&eR*K&rp5B1LRl=L#}|c5I4yBT|fxgoE~AQ5C4-mVe;x zWSz%jJ24kqlh56}hwwAAymo1}d1J~y2ZBm@$Ccs_)zfi@=|}=EyrGeDav81#*=-~) z&-g_n#&oRxXJ&c!E3=F;Qw?9#_|_bZm6&22;llu311*0E_eW;g7z)ZPe<&Gw^-8OH z1&*{K?E1?6h`Xqff+6PMqwHa%?Knsn;q>r6+=dsl@w0(>86|Pp%~cr?M*U_so4eDA zKwB2pH=r`ZNct<`71oC?f*daw+O~H9rl`cI@?H`K9?b|&t-x%0PAw-}tW~x8EI?Ic z;y`(?Aa884c)Oy@aiZW5ye!V*gxmu_QFF*b>f5MVzsQ(ezs#7N%(5jf<*AH}GIb?T zeaFIn`bJE|GB_^<40=c_(YgGvb0O?=Z{jq~XTebUCa-1LwmbaYu;u2j`pN7x%di3H z*PmK$c>l~R5e9KMDL};I`uDOK|4-r-YZKvS`1oOYw);hx}gO_VwC1yh|-?D5C4vlG!bpqt1p;gW6PRPlGaG^Kvv7YYQ9_vEI z>_-ttp=jv?X%LpI#E8wO&M?F)z752C0&$Ubd1eFn>qM7T@qM0(|b?(oi8DT{R z?%mVpO7_h<%huE%-Q>fGTUL~3lFF?|a#ZGegx3`X@uB(}YUktq;EBofACdFYs8z0b zsjCGlUsXuGcxl#a2RrG#jGC#gLXx|mV>T?zA{T?I^fI+k50OT|$)&PZ8X*lG>SaV3 zsmJK(DO3l)*b6>Ea+2!EzMK9O-m=_TT3*An(>V8Pk%2)*o3J8;h?MMf z6X5iC$qN}H3tpN~sosH~sNO+u!R<PA}=Mm z>K)PRh5$Z~-o!G(S^4_58pQT%`;T{@0Mm|BMhK}U)$^FD9^V&zwhM(`9Grk n+5|mEdA^4IM&Y9RN0eVHnwlas$e+N#FhI{bkZZ=#{5<cXyZI4uca2!QI^n?hxGFAy{yC4G=Uy&@;*Ix7qN$ zZ=J0==jT#2JVn*?#a-Rk)7^LXB`*aDg$V$_!2uLMuxc|)B%vJx0Dwsd000sE)U!9X za$scm`MYdFK(?C+6?(ixeT5_Tg&%71B68|C)D4Kf44|q(q_G@vS~#@W27Cv;1v4Z#_b5*oB*=${gt%Ack0DlWGrK5`l8maVLo%um;mJiT~vnr35xXL^z` zyvKYJ%ou^5r%~`iW6<17P4b>aK`&mBdX3e@NdieWtTS7uM|lT>XSkhIY9~wEbewrK zrkp|Im7&SmdFJtO>Hf|8$<DX03#2)6tmesM1`*D!wu0Gz@D z02pAuXbIWcI2zkH>M6ei89V4OxLR9{BuM@APrxViccJJ7(2@ckbYAqzK8QH(6YAkF ztI{Vjez`|l5dlKrrA2g0RZQ}a_Ayn=A4l6xOuB_M$-d_kdnEftToU{aWVsp7B?v=m zP_KdU^2cALvx@rY( zx3BZz;yW|jFlG+o6iZi~54pkSv zsSMKYBb^w`VgB*xNo&mr%5nKKGQ&KO6Wid3d;&)Y75p@^HI%ov1vxP4gFrvSk{-=x z3&D)kdnI}Qyx_2R_Bo+ET=848yke1!F(Pta1`CE@bli%l~$(Ls4$_I)X0zs8TG|m6K0Vtswz1i0`O{CSA06x z)CV;o4l=HTcUWU-s-`tdPHRYl$L;5gReY_fwcJ);bnPF*c^?yETtqRB)ja6i_<&0^ z9)9yutj&jeg%*d@3bO}VuF)0+-9lPKU+P}NR(AM7gr%%eFM#Ugx*_hC=KX&1j9k@NvYUCZ{ zbrU_{E~Du}mn2md6if;sXyJhN!hnriBKMZp zZ=6-Ne_37!-Q9~}i>4^4M*QVG!2Nj+6MJa%@Q^5-q(jX;&d?Dp0(4Rn-4TEU54J3LyZ?C3ybJDzJ z4=)+38Fj}^xGy*|ARdQJ`I5Q!Hua1?{pq>(G_j6!u-9^t003|u0k~Q*I+*F(8yhJ( z+MC;$I{b2-+L$f60Oo@lyZeNZ{_5c&L&Y;ZB{JAIUpqHpW&{;q7}bZbobcmYpvlnt ziI**~Pff8-v#0pXd75~340?8YPtV1^6IxmvZ9Dd0SslJzIUM_<;>wG7-mA1dA}VrOl^9Yy5n*&$!FO% zvv?Uw-6Bo)+p|JN+EfPjva$i$T9ahx0y7PpcPgp?$409JD}@2I8LPxE6v_(f)l!kO zrQ2r01*Dr)#*+>&x{FfYiH=Tis#-6jSFeE9uEr*+Qe{3@S9to}Fkbq~j^Pvf9cS19 z?h?yDUWQ3Fb@{1B_%03{3hVl|Tahll-xS7IQJVA$mJuSX>MhoLj4tCCcR=o}e!X0h@FIdRM-pS^fJD4$g-agXkDr?EKHdR1RY^) zNaSuC;PXLC0zjm&TFaTdaAWmdjC`QxDseJd9N^$Ag{e(dXv^}wc{G~n+Fm399cRB6 z^mM0nLYKoLp`QPz$agkWXh@zVZEXk!75>DLOHNA0@etJhlBF}`G~T4o@E=n}OdfIO z_5P&urLLyO6FQ^o)3s@akZ_I>Z4UqbMYfE`rxz0irkYM}YnO%FzM-EKC1mf`Ns8(j1W# zAV-(Df6D+~XlL~h5wkoBivY#TLm(ToB|}JQ)dF{ZMF7#)G+WZZiH^8)s@eq}tU*z{ zyue^tGUiLxU0nYe5k+aD&GjO2^ZRMRA_8xxqSgNu_)l~9;$-B%ISjw$c46ZSpTb>VbZ z9|TUf%`Vr5P96GM@0b=ieOBS;bOAY4r*e&u)rr&SCgAIxw8%#2V!z2tmFFgjTGN@JIcCt9FYs zLbJ2AAytqZX!_9pgKzA0?1)}dguORaH9Wf)(TtZ*g#;bG8WPCa4M*~szg-ah9%>j8 z$RB55w@OCPl3dUtB+Agli)QzGSn;ds5bc4k+=z;SICv)#Y?89VQdzVbbu5x^+!n%< z=*5WENIQN=%l-mG#*4zYJys2H=UjfIu=e^HDo5OqQl=us9Wa#cJy_T*sx>kzsQ3zG z@(vo0J&oZhR@5g#{@oM7ku3azlTb48)ueHb)rv1le6nbpHa(D9Mx6!@E+`}AblumG zo3lM0ynVJ;OUJ|L*=yd4cwEy}2ZLDdq=Ll#=F0t4@DRL-0x3MoL;+S z)U1%pN^bz!9VqHibnDq%(ARp%W$h_POX;7<3U1^+tnXG=!z9Id?Xz`k`sT=Ic2i3f zTBgR8prj?l-@Gt>+s3LvIG>w=+<$G!dejO%G_%b$y)B@E&GL9lZ_oE<3|%zsuu#A; zY=#8@@ct3Qe_Sp8J(9n!8LiXIHr>RSFl!~mmw1a31O*6#6XceQh{ShRrE^|hH6!!f z7vimg<^jNjg#sirjE!e}FX4iZ$3A_(G$a_n=Ul}fF^}Gk^Ge9yck16KsX<{|wwW1Y z3PLq?oz{}uKtJMAA(<2FYf)xG_=tU}R@!8>L2fP~|L;9;UWmVv#zcmLJpk)E~GBn2o%i61$T7Kv-y!p{|sjB4RLt zG_4%W=Ac|HU8<3p!d;m!$X3#mvaQigp?9(a`==X$$()Nw;9{!+4FKT$eiaQ78*RucO#4v3Cn^PGxzz1|oax z6H>;aeM=uA1X)HT4FnYTdI$U;Z*{TA*9cy;_rJi)l8Wu9P6Q<`v**1 z*x;3kJc8DU3#RLRcS`+_9I7$28~e$XFFL+c4i33@_GZ#sUGz2p5yKwfzE~j+jW|QM z&C54y@Q@H$%aoiVlP6P+ZelF=eZSMmCRBM_d}oqZ&eD=n%op^)QsGf16FkRm28g>A zLAE4R6#BU2$+yMO3e>okz%i_W%;S(oS%b|JVYxvG2Q3uo3k@V2a&ia68lt*)dTNN~ z7_(}$&08>Q((CSbacK7DsN6|ny;H!vQ8@YJYLpa$zn@}}QlNM-kdC7?4&!o})~LN{ zCU?wyrDR`Il(W&TjiycWZ8zjZu`+`;TdKFe(SVscC@W*U8~#mNUXR+IgNVI9uNvK_ z@!gPVtQ+mq2ZZ!AnamvbYsu}5S_Hd7>4;-`=9upOEdzRP?0IuUYl`=p(>oB=iN43l zWLof9a)>+!`;xglMDKivwEt)VX{V>l=vXy~Fux?6}p}E)Yk_69h)yImA6dg9sK3_0SIw z*7x5K$gB%XivWWNcU`P))aTEpVr_6)2KuCQ)@G6(Qc!hjOLMrrG9=t5yuKDzmM@?$ z(~4TYoPtLW)EDI*A}7KvpI!y=Po9L7WiB{Lr$h@g3xunD(ps_9-eIdZEhorTS6W+y zi+y!v?g?Vw!@%Ev5fGUEmfgj#^~%^3D)I0%Z_#V~!C?fi31i21<2xZ7PGx*G?=CJg%!WZjO_QY<`w*LheY17{L{Y&C6{;u|~d^2q3O^fTaEr9BVzFlvFqwzc`ZSnV7 zw|9{HMz8m3FNf@Bg>dHbtO3Jc>?Si9I?p)%Og>S9{bT%K>fnHL_}?TSmS5d|{O{y* zW?qrXY^2y+=e}1Hd$CF9%aj5a{F6GfYUogl9a%E=Ka)>&Gb1{k?ME5}S#|L)4G52Z zUqE%(t{)-#^?CnJHv~ix>SwfVB+3(9Dc4j6d!qagL*-~&IAzIgMVkJkCE$0wV{8q1qp;wuH#h|u-0$? z73EC^E-aij@MJX5rm4o*6K!cA6lWlY<4P>V$@=BObbU^?-+JJ##aK~IqJwrOnTnRc z8CF5dvb1|iEv)9YZv>z^iKJ>timmUd zus$^*98qCTqwkt*>oWO9;I@#l946_HrSaIkKHpHoFeS8`!MGndUG)p&HgY7ot1WC0 z>NSnKQbpM%ba;pu7U|bc(@Eobgm+kcW6p7bM;*riZR_=hu_*@r+c0%?V~W}6SL*M+ zdG4{JS4&8zsWTbO*q! zlLU_=|Auv}zgU-G?U2oc+TV^4dj$)HT1)1x@h$jF15*O9PN;4hd;$i5Fvq;q{SkXH~T0ErBtKq*(yuNic3h zn(Sqbt0{Be66z%`BLDEa5BeHbgqxVmu{)d?a-^EML7~=_mFl{0F%v}14Y=x#w5UmO z3o#i&9=~KN2+z2R&Msn_wxCmkd>Vo>dV!{Ix#5FdDIyIqIT1Rrpk^Euo9;zUG6>6% zUrgQ~uy=NGKy80B{)`c`UO(n2f}#3AumNX{@j)%>B!HsEVAj4C33AQ7<66l4rcN|i z9HmAC!q{Flu1)G?Or?mj>cMx{WnmV^vFlbQ)gb-#Z4UT%1YQaU_wnDbldKFFw2`*F zg#o2^tco%5Bzb!|cPnaj;~XBV)gGpRFf5bzvaVP^66{iDo)^agsZ2TJcn-uTipbMd z&#b8H6YRB$^vBj(G{0D4EuSVU`f6H?OTIgirfyF-(<-tXb9ipqyPj2Ex8D?T)K$$U zR=cxzU4Ah|Fq^XJn{OF$V=ma-ICUxDWR^icdpVFLk+w4ECzINd!)xbW!cGXe%t-gz zstLwTuV{f4mEdB`OJ$_io@x|TY*IqtN|ejNU#hVoCbp>tE5v@~I3M)7(s`mzv|J9Y zKx!!s-8nJIoE39R)whG;)hw|jl?z_a5h)__hEsGN46b9eyUfNN!&#;PrdTANSjbQ; z46bvuDe|kYq>Ol5@}^SSp_ewCN6R2tEA2e9*@7VS#c)w!>H}$CD&y8^Vo8l%JmJC1 zbQp!9rg36Pfdo8Zu8UR}1q3i)T%Y@Ek=Nvpa^P=#J8zH1M&6)G?B>QJ4i~`1-;)6MdvH0y{9(Y<+;-lWjyag;=?&QK(8s*ZZW;pb zZ#5M_9ond>l;gDoaG>UIs)vYCtSG!+S)nTB~EGx_T88gU8pd zq9y9zn6?RVRP=re*lrr+{}cMc``49XL?B!fjb{!Muf($tO>uKO3Znmz@cd7$#DI!&6vTEnr3QS>RTc^qPI)L(c*-MYCctde%ym1%HyBeDp$%a+ccps&iwx>5sPE z>vC+tieAC;;6u$-#KGb=!FsF^Ja32As<9;9u?t!0{*dgBVBW9`_gv42ma36VQy54G zJL5!sIV3rqfCP7}S6`#Q!0+n?YhMiXdM;j7Q8K`0?|Po>&n>@CS=S{Ao=B>GkyM?7 z@O4f0BWG+$(9IH&;#laB@8}V^UVcnRd)(5PylBj{@`g4IQ9i;IxF4i;C~{5PXKRSF zG6DK_sXic4yz`YW+e+2r5F)^K^B{j?zz?3jbzMKWiER5ZfjB*J%Xs;M06t} ztZIy+M1bcG`IN8-I?{`VP=;~&J+u}x*d1YdEtZ}r<^mA#8C z6Kb$0^POMLK2Lg!#Z;9({%v-Q-4Bg_a_W$RE8yz&Zkigq?rK{CG$$GZRSD^yIy+RZ zq`G8@5LCP8;s

Vqm$Vc14KrNjRJ<{wMrCJz?1(D4KS3wBfu`TU2xjSxGuN)mX{a zK^(?PWvLJR**j1L6h(AVmWw1b%w=z-8rC1X-fD6CASJCb>8k%Bo9DCNr=GNl} zDue)oLxJMIt9~>N?B-9PX6g5H9TtS=wVM zyu4RBY_N2k0C$_4VLi=pOLF9wc?K*h4LRH&O}=W=)UiZK_1YA}iN*xt4w|L);|8xv zMV(b}OdN$fQgS`a4OBy=Tc_^0=0tO_fRo>1n9AA)T!gQr6e(jsSH(`gfkCgIvX2EH=(RGJ8>#tHJNmAj28TzJk}a_p`#k@6Z`c2yA^xX8Fx63?P1 z4>RIRC-b>)QhJ##NUlGte^1*`oZp-q;qQervhaSyd#(4Hd zS6uZwR#RDA0~&CW*0ImgJ>T76K^5o5`C31BmaNrbE8hC%&E(6ZP}*iBHv`buR~2a` zQTmZca^lC5TiId^4~uPyZ|t~Gb&h@IV4cp*1Kj<|Wl2Xh-;PGm6#DXbY)F@resypc z*X9s}O<$C1lO}I-p>F(`6$UIR>SL|AEMkfGBsBz@B> zT|D@v9O1jf#3#@1FMNnirHQcJ0s3&70AY42pk%IxRHU# zh6toz4t3r-+C8!{hkLpDxr@`F55A1_ZR!gqQ2cnD@-5umUF8ENz!ym{QXt$)kzh- z6HYoF`~|ARfUY93Lcz3O1aTOmqNdN&rU-iUCAZk7BRWAZyeaWJIH&5`;cTu&tWMI{ z83Q4tz_YK(dS5DWe?7h-Li&aWu3lVj%#Gw|M+w9Q3k)plNw{m4w|7}J?`7mk`VF=0 zy(~C+Bv<1CC)BHG=9+c;3M^)t`j3a_NFwq++s1^vh7dS@5KKj;xYZU%lw$)TuH8&h zN#seo4N&M9iOLPJbM59M-98d$FUs3?qB#i_Hmte5>oQ z#UyhiZTSIl!t4dBaE9##U+tN(eEG5#xhgB}(@D49i>#UR<{@M*LwSh`L=j7;#6V^F zahdx?%}lf=49ylqnr!2HzG9bXCSrzY+m%RIGi`w**0e)Py_*XbhC|;4h>K-f@tH3PE;V01-IZ zW?IWNO6=Nbl64%8h@rtd4pQl}_(brIW0I12qW16`3PGu}pU36VTTYCVlchu8?1KY5 z)*H~dM5R4_<6)(LXj>evE(6mInen;2yiGkN!Vyf<$h^dlJyrsWn(~1{H@x4zY zU?sx8tp7*B_0;^Se(AUQHF#_O+x%Z@rl$Z;WjwzDUcvmesOKrdQ{}{OglAyUo`P#_C{668QiA&7%1!&ePrMZ=8={AqW`f=OO;r zru8Yx)BW0Sly$In;V)2rZQGurJYBW?Mj=4|OO#)Wm!~LCN9Vs$V!$uVU!3LFApI%I z)0Xr%N)+~AqWl_2{^uz0U_HQJoaNVa=_$(7;lS^+_z?Uh%CAwuQ@QK6e|2F`VV)Mv-!Q%ue+~1igvv`ngWv9- R!aYm?FSy>eQ~mtw{{ZEZS!DnK literal 0 HcmV?d00001 diff --git a/FATrace.WPLApp/Services/NavigationServices.cs b/FATrace.WPLApp/Services/NavigationServices.cs index 84b75ff..853aa03 100644 --- a/FATrace.WPLApp/Services/NavigationServices.cs +++ b/FATrace.WPLApp/Services/NavigationServices.cs @@ -137,29 +137,36 @@ namespace FATrace.WPLApp.Services { new NavItemDto { - Name = "工厂-入库", - CmdPar = "工厂-入库", + Name = "工厂-原料入库", + CmdPar = "工厂-原料入库", Icon = "\uea25", IsParent = false, }, new NavItemDto { - Name = "工厂-领料", - CmdPar = "工厂-领料", + Name = "工厂-原料出库", + CmdPar = "工厂-原料出库", Icon = "\uea25", IsParent = false, }, new NavItemDto { - Name = "工厂-出入库", - CmdPar = "工厂-出入库", + Name = "工厂-原料出入库", + CmdPar = "工厂-原料出入库", Icon = "\uea25", IsParent = false, }, new NavItemDto { - Name = "工厂-原料生产信息", - CmdPar = "工厂-原料生产信息", + Name = "工厂-包袋生产", + CmdPar = "工厂-包袋生产", + Icon = "\uea25", + IsParent = false, + }, + new NavItemDto + { + Name = "工厂-成品入库", + CmdPar = "工厂-成品入库", Icon = "\uea25", IsParent = false, }, @@ -169,6 +176,13 @@ namespace FATrace.WPLApp.Services CmdPar = "工厂-成品出库", Icon = "\uea25", IsParent = false, + }, + new NavItemDto + { + Name = "工厂-成品入库与出库", + CmdPar = "工厂-成品入库与出库", + Icon = "\uea25", + IsParent = false, } } }, @@ -205,8 +219,8 @@ namespace FATrace.WPLApp.Services }, new NavItemDto { - Name = "OEM-原料使用信息", - CmdPar = "OEM-原料使用信息", + Name = "OEM-原料使用", + CmdPar = "OEM-原料使用", Icon = "\ueab4", IsParent = false, } diff --git a/FATrace.WPLApp/Services/ReadFileServices.cs b/FATrace.WPLApp/Services/ReadFileServices.cs index 86ed997..2dcafae 100644 --- a/FATrace.WPLApp/Services/ReadFileServices.cs +++ b/FATrace.WPLApp/Services/ReadFileServices.cs @@ -57,7 +57,7 @@ namespace FATrace.WPLApp.Services } // 每小时扫描一次(3600000 ms),如有需要可后续改为配置项 - _timer = new System.Timers.Timer(TimeSpan.FromMinutes(1).TotalMilliseconds)//TimeSpan.FromHours(1).TotalMilliseconds + _timer = new System.Timers.Timer(TimeSpan.FromHours(1).TotalMilliseconds) { AutoReset = true, Enabled = true @@ -221,14 +221,17 @@ namespace FATrace.WPLApp.Services IWorkbook workbook = new XSSFWorkbook(fs); var formatter = new DataFormatter(); - sheetStats["FactoryInbound"] = ImportFactoryInbound(workbook, formatter); - sheetStats["FactoryMaterialWithdrawal"] = ImportFactoryMaterialWithdrawal(workbook, formatter); - sheetStats["FactoryInventoryTransaction"] = ImportFactoryInventoryTransaction(workbook, formatter); + sheetStats["FactoryRawInbound"] = ImportFactoryRawInbound(workbook, formatter); + sheetStats["FactoryRawOutbound"] = ImportFactoryRawOutbound(workbook, formatter); + sheetStats["FactoryRawInOutbound"] = ImportFactoryRawInOutbound(workbook, formatter); sheetStats["FactoryProductionRecord"] = ImportFactoryProductionRecord(workbook, formatter); + sheetStats["FactoryInbound"] = ImportFactoryInbound(workbook, formatter); sheetStats["FactoryOutbound"] = ImportFactoryOutbound(workbook, formatter); + sheetStats["FactoryInOutbound"] = ImportFactoryInOutbound(workbook, formatter); + sheetStats["OEMInbound"] = ImportOEMInbound(workbook, formatter); sheetStats["OEMOutbound"] = ImportOEMOutbound(workbook, formatter); - sheetStats["OEMInventoryTransaction"] = ImportOEMInventoryTransaction(workbook, formatter); + sheetStats["OEMInOutbound"] = ImportOEMInOutbound(workbook, formatter); sheetStats["OEMRawUsageInfo"] = ImportOEMRawUsageInfo(workbook, formatter); } @@ -306,29 +309,27 @@ namespace FATrace.WPLApp.Services return cell == null ? string.Empty : formatter.FormatCellValue(cell).Trim(); } - private int ImportFactoryInbound(IWorkbook workbook, DataFormatter formatter) + private int ImportFactoryRawInbound(IWorkbook workbook, DataFormatter formatter) { - var sheet = workbook.GetSheet("工厂-入库"); + var sheet = workbook.GetSheet("工厂-原料入库"); if (sheet == null) return 0; - var list = new List(); + var list = new List(); for (int i = 1; i <= sheet.LastRowNum; i++) { var row = sheet.GetRow(i); if (IsRowEmpty(row, formatter)) continue; - var entity = new FactoryInbound + var entity = new FactoryRawInbound { Origin = GetCellString(row, 0, formatter), RawCode = GetCellString(row, 1, formatter), RawName = GetCellString(row, 2, formatter), Weight = GetCellString(row, 3, formatter), - LoginDate = GetCellString(row, 4, formatter), - LoginTime = GetCellString(row, 5, formatter), - LoginDateTime = GetCellString(row, 6, formatter) + LoginDateTime = GetCellString(row, 4, formatter) }; - if (IsAllEmpty(entity.Origin, entity.RawCode, entity.RawName, entity.Weight, entity.LoginDate, entity.LoginTime, entity.LoginDateTime)) + if (IsAllEmpty(entity.Origin, entity.RawCode, entity.RawName, entity.Weight, entity.LoginDateTime)) continue; list.Add(entity); @@ -341,29 +342,27 @@ namespace FATrace.WPLApp.Services return list.Count; } - private int ImportFactoryMaterialWithdrawal(IWorkbook workbook, DataFormatter formatter) + private int ImportFactoryRawOutbound(IWorkbook workbook, DataFormatter formatter) { - var sheet = workbook.GetSheet("工厂-领料"); + var sheet = workbook.GetSheet("工厂-原料出库"); if (sheet == null) return 0; - var list = new List(); + var list = new List(); for (int i = 1; i <= sheet.LastRowNum; i++) { var row = sheet.GetRow(i); if (IsRowEmpty(row, formatter)) continue; - var entity = new FactoryMaterialWithdrawal + var entity = new FactoryRawOutbound { Origin = GetCellString(row, 0, formatter), RawCode = GetCellString(row, 1, formatter), RawName = GetCellString(row, 2, formatter), Weight = GetCellString(row, 3, formatter), - LoginDate = GetCellString(row, 4, formatter), - LoginTime = GetCellString(row, 5, formatter), - LoginDateTime = GetCellString(row, 6, formatter) + LoginDateTime = GetCellString(row, 4, formatter) }; - if (IsAllEmpty(entity.Origin, entity.RawCode, entity.RawName, entity.Weight, entity.LoginDate, entity.LoginTime, entity.LoginDateTime)) + if (IsAllEmpty(entity.Origin, entity.RawCode, entity.RawName, entity.Weight, entity.LoginDateTime)) continue; list.Add(entity); @@ -376,18 +375,18 @@ namespace FATrace.WPLApp.Services return list.Count; } - private int ImportFactoryInventoryTransaction(IWorkbook workbook, DataFormatter formatter) + private int ImportFactoryRawInOutbound(IWorkbook workbook, DataFormatter formatter) { - var sheet = workbook.GetSheet("工厂-出入库"); + var sheet = workbook.GetSheet("工厂-原料出入库"); if (sheet == null) return 0; - var list = new List(); + var list = new List(); for (int i = 1; i <= sheet.LastRowNum; i++) { var row = sheet.GetRow(i); if (IsRowEmpty(row, formatter)) continue; - var entity = new FactoryInventoryTransaction + var entity = new FactoryRawInOutbound { InTime = GetCellString(row, 0, formatter), OutTime = GetCellString(row, 1, formatter), @@ -414,7 +413,7 @@ namespace FATrace.WPLApp.Services private int ImportFactoryProductionRecord(IWorkbook workbook, DataFormatter formatter) { - var sheet = workbook.GetSheet("工厂-原料生产信息"); + var sheet = workbook.GetSheet("工厂-包袋生产信息"); if (sheet == null) return 0; var list = new List(); @@ -457,9 +456,45 @@ namespace FATrace.WPLApp.Services return list.Count; } + private int ImportFactoryInbound(IWorkbook workbook, DataFormatter formatter) + { + var sheet = workbook.GetSheet("工厂-成品入库信息"); + if (sheet == null) return 0; + + var list = new List(); + for (int i = 1; i <= sheet.LastRowNum; i++) + { + var row = sheet.GetRow(i); + if (IsRowEmpty(row, formatter)) continue; + + var entity = new FactoryInbound + { + Batch = GetCellString(row, 0, formatter), + Weight = GetCellString(row, 1, formatter), + ShelfLife = GetCellString(row, 2, formatter), + Origin = GetCellString(row, 3, formatter), + RawCode = GetCellString(row, 4, formatter), + RawName = GetCellString(row, 5, formatter), + SequenceNo = GetCellString(row, 6, formatter), + LoginDateTime = GetCellString(row, 7, formatter) + }; + + if (IsAllEmpty(entity.Batch, entity.Weight, entity.ShelfLife, entity.Origin, entity.RawCode, entity.RawName, entity.SequenceNo, entity.LoginDateTime)) + continue; + + list.Add(entity); + } + + if (list.Count > 0) + { + _fsql.Insert(list).ExecuteAffrows(); + } + return list.Count; + } + private int ImportFactoryOutbound(IWorkbook workbook, DataFormatter formatter) { - var sheet = workbook.GetSheet("工厂-成品出库"); + var sheet = workbook.GetSheet("工厂-成品出库信息"); if (sheet == null) return 0; var list = new List(); @@ -477,13 +512,48 @@ namespace FATrace.WPLApp.Services RawCode = GetCellString(row, 4, formatter), RawName = GetCellString(row, 5, formatter), SequenceNo = GetCellString(row, 6, formatter), - LoginDate = GetCellString(row, 7, formatter), - LoginTime = GetCellString(row, 8, formatter), - LoginDateTime = GetCellString(row, 9, formatter) + LoginDateTime = GetCellString(row, 7, formatter) }; if (IsAllEmpty(entity.Batch, entity.Weight, entity.ShelfLife, entity.Origin, entity.RawCode, entity.RawName, - entity.SequenceNo, entity.LoginDate, entity.LoginTime, entity.LoginDateTime)) + entity.SequenceNo, entity.LoginDateTime)) + continue; + + list.Add(entity); + } + + if (list.Count > 0) + { + _fsql.Insert(list).ExecuteAffrows(); + } + return list.Count; + } + + private int ImportFactoryInOutbound(IWorkbook workbook, DataFormatter formatter) + { + var sheet = workbook.GetSheet("工厂-成品入库与出库信息"); + if (sheet == null) return 0; + + var list = new List(); + for (int i = 1; i <= sheet.LastRowNum; i++) + { + var row = sheet.GetRow(i); + if (IsRowEmpty(row, formatter)) continue; + + var entity = new FactoryInOutbound + { + InTime = GetCellString(row, 0, formatter), + OutTime = GetCellString(row, 1, formatter), + Origin = GetCellString(row, 2, formatter), + Batch = GetCellString(row, 3, formatter), + RawCode = GetCellString(row, 4, formatter), + RawName = GetCellString(row, 5, formatter), + TotalInPcs = GetCellString(row, 6, formatter), + TotalOutPcs = GetCellString(row, 7, formatter), + RemainPcs = GetCellString(row, 8, formatter) + }; + + if (IsAllEmpty(entity.InTime, entity.OutTime, entity.Origin, entity.Batch, entity.RawCode, entity.RawName, entity.TotalInPcs, entity.TotalOutPcs, entity.RemainPcs)) continue; list.Add(entity); @@ -516,13 +586,11 @@ namespace FATrace.WPLApp.Services RawCode = GetCellString(row, 4, formatter), RawName = GetCellString(row, 5, formatter), SequenceNo = GetCellString(row, 6, formatter), - LoginDate = GetCellString(row, 7, formatter), - LoginTime = GetCellString(row, 8, formatter), - LoginDateTime = GetCellString(row, 9, formatter) + LoginDateTime = GetCellString(row, 7, formatter) }; if (IsAllEmpty(entity.Batch, entity.Weight, entity.ShelfLife, entity.Origin, entity.RawCode, entity.RawName, - entity.SequenceNo, entity.LoginDate, entity.LoginTime, entity.LoginDateTime)) + entity.SequenceNo, entity.LoginDateTime)) continue; list.Add(entity); @@ -555,13 +623,11 @@ namespace FATrace.WPLApp.Services RawCode = GetCellString(row, 4, formatter), RawName = GetCellString(row, 5, formatter), SequenceNo = GetCellString(row, 6, formatter), - LoginDate = GetCellString(row, 7, formatter), - LoginTime = GetCellString(row, 8, formatter), - LoginDateTime = GetCellString(row, 9, formatter) + LoginDateTime = GetCellString(row, 7, formatter) }; if (IsAllEmpty(entity.Batch, entity.Weight, entity.ShelfLife, entity.Origin, entity.RawCode, entity.RawName, - entity.SequenceNo, entity.LoginDate, entity.LoginTime, entity.LoginDateTime)) + entity.SequenceNo, entity.LoginDateTime)) continue; list.Add(entity); @@ -574,18 +640,18 @@ namespace FATrace.WPLApp.Services return list.Count; } - private int ImportOEMInventoryTransaction(IWorkbook workbook, DataFormatter formatter) + private int ImportOEMInOutbound(IWorkbook workbook, DataFormatter formatter) { var sheet = workbook.GetSheet("OEM-出入库"); if (sheet == null) return 0; - var list = new List(); + var list = new List(); for (int i = 1; i <= sheet.LastRowNum; i++) { var row = sheet.GetRow(i); if (IsRowEmpty(row, formatter)) continue; - var entity = new OEMInventoryTransaction + var entity = new OEMInOutbound { InTime = GetCellString(row, 0, formatter), OutTime = GetCellString(row, 1, formatter), @@ -629,11 +695,10 @@ namespace FATrace.WPLApp.Services InBagCode = GetCellString(row, 1, formatter), Origin = GetCellString(row, 2, formatter), RawName = GetCellString(row, 3, formatter), - RawCode = GetCellString(row, 4, formatter), - VideoUrl = GetCellString(row, 5, formatter) + RawCode = GetCellString(row, 4, formatter) }; - if (IsAllEmpty(entity.RawUseTime, entity.InBagCode, entity.Origin, entity.RawName, entity.RawCode, entity.VideoUrl)) + if (IsAllEmpty(entity.RawUseTime, entity.InBagCode, entity.Origin, entity.RawName, entity.RawCode)) continue; list.Add(entity); diff --git a/FATrace.WPLApp/ViewModels/FactoryInOutboundViewModel.cs b/FATrace.WPLApp/ViewModels/FactoryInOutboundViewModel.cs new file mode 100644 index 0000000..3733361 --- /dev/null +++ b/FATrace.WPLApp/ViewModels/FactoryInOutboundViewModel.cs @@ -0,0 +1,272 @@ +using FATrace.Model; +using FATrace.WPLApp.Core; +using FATrace.WPLApp.Services; +using FreeSql; +using Prism.Commands; +using System; +using System.Collections.ObjectModel; +using System.Threading.Tasks; +using System.Windows; + +namespace FATrace.WPLApp.ViewModels +{ + ///

+ /// 工厂-成品入库与出库 查询 VM(展示 FactoryInOutbound) + /// + public class FactoryInOutboundViewModel : NavigationViewModel + { + private readonly IFreeSql _fsql; + private readonly ILogService _log; + + /// + /// 构造函数 + /// + /// FreeSql 实例 + /// 日志服务 + public FactoryInOutboundViewModel(IFreeSql fsql, ILogService log) + { + _fsql = fsql; + _log = log; + + Items = new ObservableCollection(); + + SearchCommand = new DelegateCommand(async () => await SearchAsync(), () => !IsBusy) + .ObservesProperty(() => IsBusy); + ClearCommand = new DelegateCommand(ClearFilters, () => !IsBusy) + .ObservesProperty(() => IsBusy); + + FirstPageCommand = new DelegateCommand(async () => { if (PageIndex == 1) return; PageIndex = 1; await SearchAsync(); }, () => !IsBusy && PageIndex > 1) + .ObservesProperty(() => IsBusy) + .ObservesProperty(() => PageIndex); + PrevPageCommand = new DelegateCommand(async () => { if (PageIndex <= 1) return; PageIndex -= 1; await SearchAsync(); }, () => !IsBusy && PageIndex > 1) + .ObservesProperty(() => IsBusy) + .ObservesProperty(() => PageIndex); + NextPageCommand = new DelegateCommand(async () => { if (PageIndex >= TotalPages) return; PageIndex += 1; await SearchAsync(); }, () => !IsBusy && PageIndex < TotalPages) + .ObservesProperty(() => IsBusy) + .ObservesProperty(() => PageIndex) + .ObservesProperty(() => TotalPages); + LastPageCommand = new DelegateCommand(async () => { if (TotalPages <= 0 || PageIndex == TotalPages) return; PageIndex = TotalPages; await SearchAsync(); }, () => !IsBusy && PageIndex < TotalPages) + .ObservesProperty(() => IsBusy) + .ObservesProperty(() => PageIndex) + .ObservesProperty(() => TotalPages); + } + + #region 查询条件 + private string? _origin; + /// + /// 产地(模糊匹配) + /// + public string? Origin { get => _origin; set { _origin = value; RaisePropertyChanged(); } } + + private string? _batch; + /// + /// 批号(模糊匹配) + /// + public string? Batch { get => _batch; set { _batch = value; RaisePropertyChanged(); } } + + private string? _rawCode; + /// + /// 原料代码(模糊匹配) + /// + public string? RawCode { get => _rawCode; set { _rawCode = value; RaisePropertyChanged(); } } + + private string? _rawName; + /// + /// 原料名称(模糊匹配) + /// + public string? RawName { get => _rawName; set { _rawName = value; RaisePropertyChanged(); } } + + private DateTime? _startDate; + /// + /// 入库时间起(基于 InTime) + /// + public DateTime? StartDate { get => _startDate; set { _startDate = value; RaisePropertyChanged(); } } + + private DateTime? _endDate; + /// + /// 入库时间止(基于 InTime,包含当天) + /// + public DateTime? EndDate { get => _endDate; set { _endDate = value; RaisePropertyChanged(); } } + #endregion + + #region 列表与分页 + /// + /// 列表数据 + /// + public ObservableCollection Items { get; } + + private bool _isBusy; + /// + /// 是否忙碌 + /// + public bool IsBusy { get => _isBusy; set { _isBusy = value; RaisePropertyChanged(); } } + + private int _totalCount; + /// + /// 总记录数 + /// + public int TotalCount { get => _totalCount; set { _totalCount = value; RaisePropertyChanged(); } } + + private int _pageIndex = 1; + /// + /// 当前页码 + /// + public int PageIndex { get => _pageIndex; set { _pageIndex = value < 1 ? 1 : value; RaisePropertyChanged(); } } + + private int _pageSize = 20; + /// + /// 页大小 + /// + public int PageSize + { + get => _pageSize; + set + { + var v = value <= 0 ? 20 : value; + if (_pageSize != v) + { + _pageSize = v; + RaisePropertyChanged(); + PageIndex = 1; + if (!IsBusy) _ = SearchAsync(); + } + } + } + + private int _totalPages; + /// + /// 总页数 + /// + public int TotalPages { get => _totalPages; set { _totalPages = value; RaisePropertyChanged(); } } + #endregion + + #region 命令 + /// + /// 查询 + /// + public DelegateCommand SearchCommand { get; } + + /// + /// 清空 + /// + public DelegateCommand ClearCommand { get; } + + /// + /// 首页 + /// + public DelegateCommand FirstPageCommand { get; } + + /// + /// 上一页 + /// + public DelegateCommand PrevPageCommand { get; } + + /// + /// 下一页 + /// + public DelegateCommand NextPageCommand { get; } + + /// + /// 末页 + /// + public DelegateCommand LastPageCommand { get; } + #endregion + + /// + /// 清空筛选条件 + /// + private void ClearFilters() + { + Origin = Batch = RawCode = RawName = string.Empty; + StartDate = null; + EndDate = null; + } + + /// + /// 执行查询 + /// + private async Task SearchAsync() + { + if (IsBusy) return; + try + { + IsBusy = true; + _log.Info("FactoryInOutbound 查询开始"); + + var data = await Task.Run(() => + { + var q = _fsql.Select(); + + if (!string.IsNullOrWhiteSpace(Origin)) + q = q.Where(a => a.Origin != null && a.Origin.Contains(Origin)); + if (!string.IsNullOrWhiteSpace(Batch)) + q = q.Where(a => a.Batch != null && a.Batch.Contains(Batch)); + if (!string.IsNullOrWhiteSpace(RawCode)) + q = q.Where(a => a.RawCode != null && a.RawCode.Contains(RawCode)); + if (!string.IsNullOrWhiteSpace(RawName)) + q = q.Where(a => a.RawName != null && a.RawName.Contains(RawName)); + + DateTime? start = StartDate; + DateTime? end = EndDate; + if (start.HasValue) + { + var s = start.Value.Date; + q = q.Where("TRY_CONVERT(datetime, InTime) >= @start", new { start = s }); + } + if (end.HasValue) + { + var e = end.Value.Date.AddDays(1).AddTicks(-1); + q = q.Where("TRY_CONVERT(datetime, InTime) <= @end", new { end = e }); + } + + q = q.OrderByDescending(a => a.Id); + + var page = PageIndex < 1 ? 1 : PageIndex; + var size = PageSize <= 0 ? 20 : PageSize; + + var list = q.Count(out var total) + .Page(page, size) + .ToList(); + + var pages = total <= 0 || size <= 0 ? 0 : (int)Math.Ceiling(total * 1.0 / size); + if (pages > 0 && page > pages) + { + page = pages; + list = q.Page(page, size).ToList(); + } + + return (items: list, total: (int)total, normalizedPage: page, totalPages: pages); + }); + + Application.Current.Dispatcher.Invoke(() => + { + Items.Clear(); + foreach (var it in data.items) Items.Add(it); + TotalCount = data.total; + TotalPages = data.totalPages; + PageIndex = data.normalizedPage == 0 ? 1 : data.normalizedPage; + }); + + _log.Info($"FactoryInOutbound 查询完成,记录数: {TotalCount}"); + } + catch (Exception ex) + { + _log.Error($"FactoryInOutbound 查询失败: {ex}"); + MessageBox.Show($"查询失败: {ex.Message}", "错误", MessageBoxButton.OK, MessageBoxImage.Error); + } + finally + { + IsBusy = false; + } + } + + /// + /// 导航进入时自动查询 + /// + /// 导航上下文 + public override async void OnNavigatedTo(Prism.Regions.NavigationContext navigationContext) + { + await SearchAsync(); + } + } +} diff --git a/FATrace.WPLApp/ViewModels/FactoryInboundViewModel.cs b/FATrace.WPLApp/ViewModels/FactoryInboundViewModel.cs index 1c53c1d..534f4a8 100644 --- a/FATrace.WPLApp/ViewModels/FactoryInboundViewModel.cs +++ b/FATrace.WPLApp/ViewModels/FactoryInboundViewModel.cs @@ -11,7 +11,7 @@ using System.Windows; namespace FATrace.WPLApp.ViewModels { /// - /// 工厂-入库 数据查询 VM + /// 工厂-成品入库 数据查询 VM /// 仅展示从 Excel 导入的 FactoryInbound 数据,支持简单条件与分页。 /// public class FactoryInboundViewModel : NavigationViewModel diff --git a/FATrace.WPLApp/ViewModels/FactoryInventoryTransactionViewModel.cs b/FATrace.WPLApp/ViewModels/FactoryInventoryTransactionViewModel.cs index 3a7f14b..d45f77a 100644 --- a/FATrace.WPLApp/ViewModels/FactoryInventoryTransactionViewModel.cs +++ b/FATrace.WPLApp/ViewModels/FactoryInventoryTransactionViewModel.cs @@ -11,8 +11,8 @@ using System.Windows; namespace FATrace.WPLApp.ViewModels { /// - /// 工厂-出入库 数据查询 VM - /// 仅展示从 Excel 导入的 FactoryInventoryTransaction 数据,支持简单条件与分页。 + /// 工厂-原料出入库 数据查询 VM + /// 仅展示从 Excel 导入的 FactoryRawInOutbound 数据,支持简单条件与分页。 /// public class FactoryInventoryTransactionViewModel : NavigationViewModel { @@ -24,7 +24,7 @@ namespace FATrace.WPLApp.ViewModels _fsql = fsql; _log = log; - Items = new ObservableCollection(); + Items = new ObservableCollection(); SearchCommand = new DelegateCommand(async () => await SearchAsync(), () => !IsBusy) .ObservesProperty(() => IsBusy); @@ -79,7 +79,7 @@ namespace FATrace.WPLApp.ViewModels #endregion #region 列表与分页 - public ObservableCollection Items { get; } + public ObservableCollection Items { get; } private bool _isBusy; public bool IsBusy { get => _isBusy; set { _isBusy = value; RaisePropertyChanged(); } } @@ -133,11 +133,11 @@ namespace FATrace.WPLApp.ViewModels try { IsBusy = true; - _log.Info("FactoryInventoryTransaction 查询开始"); + _log.Info("FactoryRawInOutbound 查询开始"); var data = await Task.Run(() => { - var q = _fsql.Select(); + var q = _fsql.Select(); if (!string.IsNullOrWhiteSpace(Origin)) q = q.Where(a => a.Origin != null && a.Origin.Contains(Origin)); @@ -187,11 +187,11 @@ namespace FATrace.WPLApp.ViewModels PageIndex = data.normalizedPage == 0 ? 1 : data.normalizedPage; }); - _log.Info($"FactoryInventoryTransaction 查询完成,记录数: {TotalCount}"); + _log.Info($"FactoryRawInOutbound 查询完成,记录数: {TotalCount}"); } catch (Exception ex) { - _log.Error($"FactoryInventoryTransaction 查询失败: {ex}"); + _log.Error($"FactoryRawInOutbound 查询失败: {ex}"); MessageBox.Show($"查询失败: {ex.Message}", "错误", MessageBoxButton.OK, MessageBoxImage.Error); } finally diff --git a/FATrace.WPLApp/ViewModels/FactoryMaterialWithdrawalViewModel.cs b/FATrace.WPLApp/ViewModels/FactoryMaterialWithdrawalViewModel.cs index 3fc6843..05f993a 100644 --- a/FATrace.WPLApp/ViewModels/FactoryMaterialWithdrawalViewModel.cs +++ b/FATrace.WPLApp/ViewModels/FactoryMaterialWithdrawalViewModel.cs @@ -11,8 +11,8 @@ using System.Windows; namespace FATrace.WPLApp.ViewModels { /// - /// 工厂-领料 数据查询 VM - /// 仅展示从 Excel 导入的 FactoryMaterialWithdrawal 数据,支持简单条件与分页。 + /// 工厂-原料出库 数据查询 VM + /// 仅展示从 Excel 导入的 FactoryRawOutbound 数据,支持简单条件与分页。 /// public class FactoryMaterialWithdrawalViewModel : NavigationViewModel { @@ -24,7 +24,7 @@ namespace FATrace.WPLApp.ViewModels _fsql = fsql; _log = log; - Items = new ObservableCollection(); + Items = new ObservableCollection(); SearchCommand = new DelegateCommand(async () => await SearchAsync(), () => !IsBusy) .ObservesProperty(() => IsBusy); @@ -79,7 +79,7 @@ namespace FATrace.WPLApp.ViewModels #endregion #region 列表与分页 - public ObservableCollection Items { get; } + public ObservableCollection Items { get; } private bool _isBusy; public bool IsBusy { get => _isBusy; set { _isBusy = value; RaisePropertyChanged(); } } @@ -133,11 +133,11 @@ namespace FATrace.WPLApp.ViewModels try { IsBusy = true; - _log.Info("FactoryMaterialWithdrawal 查询开始"); + _log.Info("FactoryRawOutbound 查询开始"); var data = await Task.Run(() => { - var q = _fsql.Select(); + var q = _fsql.Select(); if (!string.IsNullOrWhiteSpace(Origin)) q = q.Where(a => a.Origin != null && a.Origin.Contains(Origin)); @@ -187,11 +187,11 @@ namespace FATrace.WPLApp.ViewModels PageIndex = data.normalizedPage == 0 ? 1 : data.normalizedPage; }); - _log.Info($"FactoryMaterialWithdrawal 查询完成,记录数: {TotalCount}"); + _log.Info($"FactoryRawOutbound 查询完成,记录数: {TotalCount}"); } catch (Exception ex) { - _log.Error($"FactoryMaterialWithdrawal 查询失败: {ex}"); + _log.Error($"FactoryRawOutbound 查询失败: {ex}"); MessageBox.Show($"查询失败: {ex.Message}", "错误", MessageBoxButton.OK, MessageBoxImage.Error); } finally diff --git a/FATrace.WPLApp/ViewModels/FactoryProductionRecordViewModel.cs b/FATrace.WPLApp/ViewModels/FactoryProductionRecordViewModel.cs index dc71775..df6706e 100644 --- a/FATrace.WPLApp/ViewModels/FactoryProductionRecordViewModel.cs +++ b/FATrace.WPLApp/ViewModels/FactoryProductionRecordViewModel.cs @@ -11,7 +11,7 @@ using System.Windows; namespace FATrace.WPLApp.ViewModels { /// - /// 工厂-原料生产信息 查询 VM(展示 FactoryProductionRecord) + /// 工厂-包袋生产 查询 VM(展示 FactoryProductionRecord) /// public class FactoryProductionRecordViewModel : NavigationViewModel { @@ -141,7 +141,7 @@ namespace FATrace.WPLApp.ViewModels try { IsBusy = true; - _log.Info("FactoryProductionRecord 查询开始"); + _log.Info("FactoryProductionRecord(工厂-包袋生产) 查询开始"); var data = await Task.Run(() => { @@ -195,11 +195,11 @@ namespace FATrace.WPLApp.ViewModels PageIndex = data.normalizedPage == 0 ? 1 : data.normalizedPage; }); - _log.Info($"FactoryProductionRecord 查询完成,记录数: {TotalCount}"); + _log.Info($"FactoryProductionRecord(工厂-包袋生产) 查询完成,记录数: {TotalCount}"); } catch (Exception ex) { - _log.Error($"FactoryProductionRecord 查询失败: {ex}"); + _log.Error($"FactoryProductionRecord(工厂-包袋生产) 查询失败: {ex}"); MessageBox.Show($"查询失败: {ex.Message}", "错误", MessageBoxButton.OK, MessageBoxImage.Error); } finally diff --git a/FATrace.WPLApp/ViewModels/FactoryRawInboundViewModel.cs b/FATrace.WPLApp/ViewModels/FactoryRawInboundViewModel.cs new file mode 100644 index 0000000..1830efb --- /dev/null +++ b/FATrace.WPLApp/ViewModels/FactoryRawInboundViewModel.cs @@ -0,0 +1,264 @@ +using FATrace.Model; +using FATrace.WPLApp.Core; +using FATrace.WPLApp.Services; +using FreeSql; +using Prism.Commands; +using System; +using System.Collections.ObjectModel; +using System.Threading.Tasks; +using System.Windows; + +namespace FATrace.WPLApp.ViewModels +{ + /// + /// 工厂-原料入库 数据查询 VM(展示 FactoryRawInbound) + /// + public class FactoryRawInboundViewModel : NavigationViewModel + { + private readonly IFreeSql _fsql; + private readonly ILogService _log; + + /// + /// 构造函数 + /// + /// FreeSql 实例 + /// 日志服务 + public FactoryRawInboundViewModel(IFreeSql fsql, ILogService log) + { + _fsql = fsql; + _log = log; + + Items = new ObservableCollection(); + + SearchCommand = new DelegateCommand(async () => await SearchAsync(), () => !IsBusy) + .ObservesProperty(() => IsBusy); + ClearCommand = new DelegateCommand(ClearFilters, () => !IsBusy) + .ObservesProperty(() => IsBusy); + + FirstPageCommand = new DelegateCommand(async () => { if (PageIndex == 1) return; PageIndex = 1; await SearchAsync(); }, () => !IsBusy && PageIndex > 1) + .ObservesProperty(() => IsBusy) + .ObservesProperty(() => PageIndex); + PrevPageCommand = new DelegateCommand(async () => { if (PageIndex <= 1) return; PageIndex -= 1; await SearchAsync(); }, () => !IsBusy && PageIndex > 1) + .ObservesProperty(() => IsBusy) + .ObservesProperty(() => PageIndex); + NextPageCommand = new DelegateCommand(async () => { if (PageIndex >= TotalPages) return; PageIndex += 1; await SearchAsync(); }, () => !IsBusy && PageIndex < TotalPages) + .ObservesProperty(() => IsBusy) + .ObservesProperty(() => PageIndex) + .ObservesProperty(() => TotalPages); + LastPageCommand = new DelegateCommand(async () => { if (TotalPages <= 0 || PageIndex == TotalPages) return; PageIndex = TotalPages; await SearchAsync(); }, () => !IsBusy && PageIndex < TotalPages) + .ObservesProperty(() => IsBusy) + .ObservesProperty(() => PageIndex) + .ObservesProperty(() => TotalPages); + } + + #region 查询条件 + private string? _origin; + /// + /// 产地(模糊匹配) + /// + public string? Origin { get => _origin; set { _origin = value; RaisePropertyChanged(); } } + + private string? _rawCode; + /// + /// 原料代码(模糊匹配) + /// + public string? RawCode { get => _rawCode; set { _rawCode = value; RaisePropertyChanged(); } } + + private string? _rawName; + /// + /// 原料名称(模糊匹配) + /// + public string? RawName { get => _rawName; set { _rawName = value; RaisePropertyChanged(); } } + + private DateTime? _startDate; + /// + /// 登录日期起(基于 LoginDateTime) + /// + public DateTime? StartDate { get => _startDate; set { _startDate = value; RaisePropertyChanged(); } } + + private DateTime? _endDate; + /// + /// 登录日期止(基于 LoginDateTime,包含当天) + /// + public DateTime? EndDate { get => _endDate; set { _endDate = value; RaisePropertyChanged(); } } + #endregion + + #region 列表与分页 + /// + /// 列表数据 + /// + public ObservableCollection Items { get; } + + private bool _isBusy; + /// + /// 是否忙碌 + /// + public bool IsBusy { get => _isBusy; set { _isBusy = value; RaisePropertyChanged(); } } + + private int _totalCount; + /// + /// 总记录数 + /// + public int TotalCount { get => _totalCount; set { _totalCount = value; RaisePropertyChanged(); } } + + private int _pageIndex = 1; + /// + /// 当前页码 + /// + public int PageIndex { get => _pageIndex; set { _pageIndex = value < 1 ? 1 : value; RaisePropertyChanged(); } } + + private int _pageSize = 20; + /// + /// 页大小 + /// + public int PageSize + { + get => _pageSize; + set + { + var v = value <= 0 ? 20 : value; + if (_pageSize != v) + { + _pageSize = v; + RaisePropertyChanged(); + PageIndex = 1; + if (!IsBusy) _ = SearchAsync(); + } + } + } + + private int _totalPages; + /// + /// 总页数 + /// + public int TotalPages { get => _totalPages; set { _totalPages = value; RaisePropertyChanged(); } } + #endregion + + #region 命令 + /// + /// 查询命令 + /// + public DelegateCommand SearchCommand { get; } + + /// + /// 清空命令 + /// + public DelegateCommand ClearCommand { get; } + + /// + /// 首页 + /// + public DelegateCommand FirstPageCommand { get; } + + /// + /// 上一页 + /// + public DelegateCommand PrevPageCommand { get; } + + /// + /// 下一页 + /// + public DelegateCommand NextPageCommand { get; } + + /// + /// 末页 + /// + public DelegateCommand LastPageCommand { get; } + #endregion + + /// + /// 清空筛选条件 + /// + private void ClearFilters() + { + Origin = RawCode = RawName = string.Empty; + StartDate = null; + EndDate = null; + } + + /// + /// 执行查询 + /// + private async Task SearchAsync() + { + if (IsBusy) return; + try + { + IsBusy = true; + _log.Info("FactoryRawInbound 查询开始"); + + var data = await Task.Run(() => + { + var q = _fsql.Select(); + + if (!string.IsNullOrWhiteSpace(Origin)) + q = q.Where(a => a.Origin != null && a.Origin.Contains(Origin)); + if (!string.IsNullOrWhiteSpace(RawCode)) + q = q.Where(a => a.RawCode != null && a.RawCode.Contains(RawCode)); + if (!string.IsNullOrWhiteSpace(RawName)) + q = q.Where(a => a.RawName != null && a.RawName.Contains(RawName)); + + DateTime? start = StartDate; + DateTime? end = EndDate; + if (start.HasValue) + { + var s = start.Value.Date; + q = q.Where("TRY_CONVERT(datetime, LoginDateTime) >= @start", new { start = s }); + } + if (end.HasValue) + { + var e = end.Value.Date.AddDays(1).AddTicks(-1); + q = q.Where("TRY_CONVERT(datetime, LoginDateTime) <= @end", new { end = e }); + } + + q = q.OrderByDescending(a => a.Id); + + var page = PageIndex < 1 ? 1 : PageIndex; + var size = PageSize <= 0 ? 20 : PageSize; + + var list = q.Count(out var total) + .Page(page, size) + .ToList(); + + var pages = total <= 0 || size <= 0 ? 0 : (int)Math.Ceiling(total * 1.0 / size); + if (pages > 0 && page > pages) + { + page = pages; + list = q.Page(page, size).ToList(); + } + + return (items: list, total: (int)total, normalizedPage: page, totalPages: pages); + }); + + Application.Current.Dispatcher.Invoke(() => + { + Items.Clear(); + foreach (var it in data.items) Items.Add(it); + TotalCount = data.total; + TotalPages = data.totalPages; + PageIndex = data.normalizedPage == 0 ? 1 : data.normalizedPage; + }); + + _log.Info($"FactoryRawInbound 查询完成,记录数: {TotalCount}"); + } + catch (Exception ex) + { + _log.Error($"FactoryRawInbound 查询失败: {ex}"); + MessageBox.Show($"查询失败: {ex.Message}", "错误", MessageBoxButton.OK, MessageBoxImage.Error); + } + finally + { + IsBusy = false; + } + } + + /// + /// 导航进入时自动查询 + /// + /// 导航上下文 + public override async void OnNavigatedTo(Prism.Regions.NavigationContext navigationContext) + { + await SearchAsync(); + } + } +} diff --git a/FATrace.WPLApp/ViewModels/MainViewModel.cs b/FATrace.WPLApp/ViewModels/MainViewModel.cs index 9631190..25d4c4a 100644 --- a/FATrace.WPLApp/ViewModels/MainViewModel.cs +++ b/FATrace.WPLApp/ViewModels/MainViewModel.cs @@ -193,21 +193,27 @@ namespace FATrace.WPLApp.ViewModels this.regionManager.Regions["ContentRegion"].RequestNavigate("FileImportLogView"); break; // 工厂/OEM Excel 导入数据查询 - case "工厂-入库": - this.regionManager.Regions["ContentRegion"].RequestNavigate("FactoryInboundView"); + case "工厂-原料入库": + this.regionManager.Regions["ContentRegion"].RequestNavigate("FactoryRawInboundView"); break; - case "工厂-领料": + case "工厂-原料出库": this.regionManager.Regions["ContentRegion"].RequestNavigate("FactoryMaterialWithdrawalView"); break; - case "工厂-出入库": + case "工厂-原料出入库": this.regionManager.Regions["ContentRegion"].RequestNavigate("FactoryInventoryTransactionView"); break; - case "工厂-原料生产信息": + case "工厂-包袋生产": this.regionManager.Regions["ContentRegion"].RequestNavigate("FactoryProductionRecordView"); break; + case "工厂-成品入库": + this.regionManager.Regions["ContentRegion"].RequestNavigate("FactoryInboundView"); + break; case "工厂-成品出库": this.regionManager.Regions["ContentRegion"].RequestNavigate("FactoryOutboundView"); break; + case "工厂-成品入库与出库": + this.regionManager.Regions["ContentRegion"].RequestNavigate("FactoryInOutboundView"); + break; case "OEM-入库": this.regionManager.Regions["ContentRegion"].RequestNavigate("OEMInboundView"); break; @@ -217,7 +223,7 @@ namespace FATrace.WPLApp.ViewModels case "OEM-出入库": this.regionManager.Regions["ContentRegion"].RequestNavigate("OEMInventoryTransactionView"); break; - case "OEM-原料使用信息": + case "OEM-原料使用": this.regionManager.Regions["ContentRegion"].RequestNavigate("OEMRawUsageInfoView"); break; case "历史报警": diff --git a/FATrace.WPLApp/ViewModels/OEMInventoryTransactionViewModel.cs b/FATrace.WPLApp/ViewModels/OEMInventoryTransactionViewModel.cs index c57caf9..4176e07 100644 --- a/FATrace.WPLApp/ViewModels/OEMInventoryTransactionViewModel.cs +++ b/FATrace.WPLApp/ViewModels/OEMInventoryTransactionViewModel.cs @@ -23,7 +23,7 @@ namespace FATrace.WPLApp.ViewModels _fsql = fsql; _log = log; - Items = new ObservableCollection(); + Items = new ObservableCollection(); SearchCommand = new DelegateCommand(async () => await SearchAsync(), () => !IsBusy) .ObservesProperty(() => IsBusy); @@ -67,7 +67,7 @@ namespace FATrace.WPLApp.ViewModels #endregion #region 列表与分页 - public ObservableCollection Items { get; } + public ObservableCollection Items { get; } private bool _isBusy; public bool IsBusy { get => _isBusy; set { _isBusy = value; RaisePropertyChanged(); } } @@ -125,7 +125,7 @@ namespace FATrace.WPLApp.ViewModels var data = await Task.Run(() => { - var q = _fsql.Select(); + var q = _fsql.Select(); if (!string.IsNullOrWhiteSpace(Origin)) q = q.Where(a => a.Origin != null && a.Origin.Contains(Origin)); diff --git a/FATrace.WPLApp/ViewModels/OEMRawUsageInfoViewModel.cs b/FATrace.WPLApp/ViewModels/OEMRawUsageInfoViewModel.cs index 0a88469..c43fb5a 100644 --- a/FATrace.WPLApp/ViewModels/OEMRawUsageInfoViewModel.cs +++ b/FATrace.WPLApp/ViewModels/OEMRawUsageInfoViewModel.cs @@ -11,7 +11,7 @@ using System.Windows; namespace FATrace.WPLApp.ViewModels { /// - /// OEM-原料使用信息 查询 VM(展示 OEMRawUsageInfo) + /// OEM-原料使用 查询 VM(展示 OEMRawUsageInfo) /// public class OEMRawUsageInfoViewModel : NavigationViewModel { diff --git a/FATrace.WPLApp/Views/FactoryInOutboundView.xaml b/FATrace.WPLApp/Views/FactoryInOutboundView.xaml new file mode 100644 index 0000000..8f4579e --- /dev/null +++ b/FATrace.WPLApp/Views/FactoryInOutboundView.xaml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +