jit 合规信息修改
This commit is contained in:
1 parent
31d11c0341
commit
e37ee16782
6 files changed
+1026
-36
No files matched your search
@@ -201,6 +201,12 @@
|
||||
<Compile Include="KJDForms\ProductForms\TemuJitForm.Designer.cs">
|
||||
<DependentUpon>TemuJitForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\ProductForms\TemuJitSubForms\ComplianceForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\ProductForms\TemuJitSubForms\ComplianceForm.Designer.cs">
|
||||
<DependentUpon>ComplianceForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\ProductSelectForms\DbProductCategorySearch.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -890,6 +896,9 @@
|
||||
<EmbeddedResource Include="KJDForms\ProductForms\TemuJitForm.resx">
|
||||
<DependentUpon>TemuJitForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="KJDForms\ProductForms\TemuJitSubForms\ComplianceForm.resx">
|
||||
<DependentUpon>ComplianceForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="KJDForms\ProductSelectForms\DbProductCategorySearch.resx">
|
||||
<DependentUpon>DbProductCategorySearch.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
+12
-12
@@ -50,7 +50,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.dtpStartTime = new System.Windows.Forms.DateTimePicker();
|
||||
this.btnStop = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSearchPrice2 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtSkcId = new System.Windows.Forms.TextBox();
|
||||
this.txtSpuId = new System.Windows.Forms.TextBox();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.btnEmpty = new DevComponents.DotNetBar.PanelEx();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
@@ -160,7 +160,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.ucGroupBoxEx1.Controls.Add(this.dtpStartTime);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.btnStop);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.btnSearchPrice2);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.txtSkcId);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.txtSpuId);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.label7);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.btnEmpty);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.label5);
|
||||
@@ -200,6 +200,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.btnResetExtCode.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnResetExtCode.TabIndex = 1005;
|
||||
this.btnResetExtCode.Text = "重置";
|
||||
this.btnResetExtCode.Click += new System.EventHandler(this.btnResetExtCode_Click);
|
||||
//
|
||||
// txtExtCode
|
||||
//
|
||||
@@ -289,21 +290,21 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.btnSearchPrice2.Text = "查询商品";
|
||||
this.btnSearchPrice2.Click += new System.EventHandler(this.btnSearchPrice2_Click);
|
||||
//
|
||||
// txtSkcId
|
||||
// txtSpuId
|
||||
//
|
||||
this.txtSkcId.Location = new System.Drawing.Point(340, 17);
|
||||
this.txtSkcId.Name = "txtSkcId";
|
||||
this.txtSkcId.Size = new System.Drawing.Size(251, 23);
|
||||
this.txtSkcId.TabIndex = 997;
|
||||
this.txtSpuId.Location = new System.Drawing.Point(340, 17);
|
||||
this.txtSpuId.Name = "txtSpuId";
|
||||
this.txtSpuId.Size = new System.Drawing.Size(251, 23);
|
||||
this.txtSpuId.TabIndex = 997;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(298, 20);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(52, 17);
|
||||
this.label7.Size = new System.Drawing.Size(54, 17);
|
||||
this.label7.TabIndex = 998;
|
||||
this.label7.Text = "SkcId:";
|
||||
this.label7.Text = "SpuId:";
|
||||
//
|
||||
// btnEmpty
|
||||
//
|
||||
@@ -909,12 +910,11 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
//
|
||||
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCompliance.DefaultCellStyle = dataGridViewCellStyle10;
|
||||
this.colCompliance.HeaderText = "合规";
|
||||
this.colCompliance.HeaderText = "合规信息";
|
||||
this.colCompliance.Name = "colCompliance";
|
||||
this.colCompliance.ReadOnly = true;
|
||||
this.colCompliance.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCompliance.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colCompliance.Width = 90;
|
||||
//
|
||||
// colMsg
|
||||
//
|
||||
@@ -1004,7 +1004,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
private System.Windows.Forms.DateTimePicker dtpStartTime;
|
||||
private DevComponents.DotNetBar.PanelEx btnStop;
|
||||
private DevComponents.DotNetBar.PanelEx btnSearchPrice2;
|
||||
private System.Windows.Forms.TextBox txtSkcId;
|
||||
private System.Windows.Forms.TextBox txtSpuId;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Panel pnlSpecDetail;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
|
||||
@@ -16,6 +16,7 @@ using TemuKJD.BaseForms;
|
||||
using TemuKJD.BLL;
|
||||
using TemuKJD.Extension;
|
||||
using TemuKJD.KJDForms.AdminForms;
|
||||
using TemuKJD.KJDForms.ProductForms.TemuJitSubForms;
|
||||
using TemuKJD.KJDForms.ShopForms;
|
||||
using TemuKJD.ToolForms;
|
||||
using Work;
|
||||
@@ -58,10 +59,18 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
this.txtShopName.Text = setJitConfig.SearchShopName;
|
||||
this.chkSearchAllShop.Checked = setJitConfig.SearchAllShop;
|
||||
|
||||
this.txtSpuId.Text = setJitConfig.SearchSpuId;
|
||||
this.txtExtCode.Text = setJitConfig.SearchExtCode;
|
||||
this.chkSearchTime.Checked = setJitConfig.SearchDuration;
|
||||
|
||||
this.txtNotes.TextChanged += Txt_TextChanged;
|
||||
this.txtShopId.TextChanged += Txt_TextChanged;
|
||||
this.txtShopName.TextChanged += Txt_TextChanged;
|
||||
this.chkSearchAllShop.CheckedChanged += Txt_TextChanged;
|
||||
|
||||
this.txtSpuId.TextChanged += Txt_TextChanged;
|
||||
this.txtExtCode.TextChanged += Txt_TextChanged;
|
||||
this.chkSearchTime.CheckedChanged += Txt_TextChanged;
|
||||
}
|
||||
|
||||
private void Txt_TextChanged(object sender, EventArgs e)
|
||||
@@ -71,6 +80,10 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
setJitConfig.SearchShopName = this.txtShopName.Text.Trim();
|
||||
setJitConfig.SearchAllShop = this.chkSearchAllShop.Checked;
|
||||
|
||||
setJitConfig.SearchSpuId = this.txtSpuId.Text.Trim();
|
||||
setJitConfig.SearchExtCode = this.txtExtCode.Text.Trim();
|
||||
setJitConfig.SearchDuration = this.chkSearchTime.Checked;
|
||||
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("set_jit_config", setJitConfig);
|
||||
}
|
||||
|
||||
@@ -218,10 +231,22 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
case "登录":
|
||||
case "状态":
|
||||
{
|
||||
AdminShopLoginForm shopLoginForm = new AdminShopLoginForm(shop);
|
||||
shopLoginForm.openType = EnumOpenType.login;
|
||||
shopLoginForm.SaveComplete += shopLoginForm_SaveComplete;
|
||||
shopLoginForm.ShowDialog();
|
||||
AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
if (shop.LoginStatus2 == "国际版在线")
|
||||
{
|
||||
AdminShopLoginForm adminLoginForm = new AdminShopLoginForm(shop);
|
||||
adminLoginForm.openType = EnumOpenType.manage;
|
||||
adminLoginForm.WindowState = FormWindowState.Maximized;
|
||||
adminLoginForm.InitUrl = "https://agentseller.temu.com";
|
||||
adminLoginForm.Show();
|
||||
}
|
||||
else
|
||||
{
|
||||
AdminShopLoginForm shopLoginForm = new AdminShopLoginForm(shop);
|
||||
shopLoginForm.openType = EnumOpenType.login;
|
||||
shopLoginForm.SaveComplete += shopLoginForm_SaveComplete;
|
||||
shopLoginForm.ShowDialog();
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -300,9 +325,9 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
startTime = BaseClass.DateTimeToTimestampMilliseconds(dtpStartTime.Value.Date);
|
||||
endTime = BaseClass.DateTimeToTimestampMilliseconds(dtpEndTime.Value.Date.AddDays(1).AddMilliseconds(-1));
|
||||
}
|
||||
string searchSkcIds = txtSkcId.Text.Trim().Trim(',');
|
||||
string searchSpuIds = txtSpuId.Text.Trim().Trim(',');
|
||||
string searchExtCodes = txtExtCode.Text.Trim().Trim(',');
|
||||
var searchRst = this.SearchForChainSupplier(shop, page, 50, searchSkcIds, searchExtCodes, type, startTime, endTime);
|
||||
var searchRst = this.SearchForChainSupplier(shop, page, 50, "", searchSpuIds, searchExtCodes, type, startTime, endTime);
|
||||
if (searchRst.Contains("登录过期") || searchRst.Contains("Invalid Login State"))
|
||||
{
|
||||
AdminShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
@@ -334,6 +359,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
extCodeLst.Add(priceInfo.skcList.FirstOrDefault()?.extCode);
|
||||
}
|
||||
|
||||
// 查询合规信息
|
||||
var spuIds = "";
|
||||
foreach (var priceInfo in checkPriceInfoTmpLst)
|
||||
{
|
||||
@@ -341,10 +367,11 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
}
|
||||
spuIds = "\"" + spuIds.Trim(',').Replace(",", "\",\"") + "\"";
|
||||
List<complianceInfo> complianceInfoTmpLst = null;
|
||||
string sErrMsg = "";
|
||||
if (spuIds.Length > 2)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(50, 100));
|
||||
var queryComplianceRst = this.QueryComplianceInfo(shop, 50, spuIds);
|
||||
var queryComplianceRst = this.QueryComplianceInfoList(shop, 50, spuIds);
|
||||
queryComplianceRst = GetHtml.Unicode2String(queryComplianceRst);
|
||||
if (queryComplianceRst.Contains("\"success\":true"))
|
||||
{
|
||||
@@ -354,6 +381,14 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
complianceInfoTmpLst = JsonHelper.DeserializeJsonToList<complianceInfo>(sData);
|
||||
lstComplianceInfo.AddRange(complianceInfoTmpLst);
|
||||
}
|
||||
else
|
||||
{
|
||||
sErrMsg = BaseRegex.GetStringJson(ref queryComplianceRst, "errorMsg").ParseToString();
|
||||
if (string.IsNullOrEmpty(sErrMsg))
|
||||
sErrMsg = BaseRegex.GetStringJson(ref queryComplianceRst, "error_msg").ParseToString();
|
||||
if (string.IsNullOrEmpty(sErrMsg))
|
||||
sErrMsg = queryComplianceRst;
|
||||
}
|
||||
}
|
||||
|
||||
int num = 0;
|
||||
@@ -400,13 +435,18 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
var reviewExtCode = priceInfo.skcList.FirstOrDefault()?.extCode;
|
||||
Thread.Sleep(Randomx.GetId(20, 50));
|
||||
|
||||
var complianceInfo = complianceInfoTmpLst.FirstOrDefault(c => c.spu_id == priceInfo.productId);
|
||||
if (complianceInfo == null)
|
||||
complianceInfo = new complianceInfo();
|
||||
var complianceTaskNames = complianceInfo.wait_task_dtolist
|
||||
.Where(t => t.task_name == "欧盟负责人" || t.task_name == "制造商信息" || t.is_not_required == false)
|
||||
.Select(t => t.task_name).ToList();
|
||||
var complianceStr = string.Join("\r\n", complianceTaskNames);
|
||||
var complianceStr = sErrMsg;
|
||||
if (sErrMsg.IsNullOrEmpty())
|
||||
{
|
||||
var complianceInfo = complianceInfoTmpLst.FirstOrDefault(c => c.spu_id == priceInfo.productId);
|
||||
if (complianceInfo == null)
|
||||
complianceInfo = new complianceInfo();
|
||||
var complianceTaskNames = complianceInfo.wait_task_show_dtolist.Where(ta => ta.status == 2)
|
||||
.Where(t => t.wait_task_dtolist.Any(ta => ta.task_name == "欧盟负责人" ||
|
||||
ta.task_name == "制造商信息" || ta.is_not_required == false))
|
||||
.Select(t => t.show_name).ToList();
|
||||
complianceStr = string.Join("\r\n", complianceTaskNames);
|
||||
}
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
int rowId = this.dgvPriceCheck.Rows.Add(
|
||||
@@ -426,7 +466,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
// sku不同价的会被分成多个review,priceInfo此时为价格范围
|
||||
reviewInfo.productSkuList.FirstOrDefault()?.supplierPrice, //priceInfo.supplierPrice
|
||||
BaseClass.StampToDateTime((priceInfo.skcList.FirstOrDefault()?.statusTime.createdTime.ParseToLong() / 1000).ParseToInt()).ToString("yy/MM/dd HH:mm:ss"),
|
||||
complianceStr,
|
||||
complianceStr.IsNullOrEmpty() ? "已填写" : complianceStr,
|
||||
""
|
||||
);
|
||||
dgvPriceCheck.Rows[rowId].Height = 60;
|
||||
@@ -459,7 +499,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
}
|
||||
|
||||
|
||||
private string SearchForChainSupplier(ShopLoginInfo shop, int page, int pageSize = 50, string prodSkcIds = null, string skcExtCode = null,
|
||||
private string SearchForChainSupplier(ShopLoginInfo shop, int page, int pageSize = 50, string prodSkcIds = null, string prodSpuIds = null, string skcExtCode = null,
|
||||
string type = "待创建首单", long startTime = 0, long endTime = 0)
|
||||
{
|
||||
string url = "https://agentseller.temu.com/api/kiana/mms/robin/searchForChainSupplier";
|
||||
@@ -475,14 +515,18 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
body += "\"secondarySelectStatusList\":[10],";
|
||||
body += "\"supplierTodoTypeList\":[],";
|
||||
if (!string.IsNullOrEmpty(prodSkcIds))
|
||||
body += "\"productSkcIdList\":[" + prodSkcIds + "],";
|
||||
body += "\"productSkcIdList\":[" + prodSpuIds + "],";
|
||||
if (!string.IsNullOrEmpty(prodSpuIds))
|
||||
body += "\"productSpuIdList\":[" + prodSpuIds + "],";
|
||||
|
||||
//":[],"productSpuIdList":[5296122040]}
|
||||
body = body.TrimEnd(',');
|
||||
body += "}";
|
||||
string referer = "https://agentseller.temu.com/newon/product-select";
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
private string QueryComplianceInfo(ShopLoginInfo shop, int pageSize = 50, string prodSpuIds = null)
|
||||
private string QueryComplianceInfoList(ShopLoginInfo shop, int pageSize = 50, string prodSpuIds = null)
|
||||
{
|
||||
string url = "https://agentseller.temu.com/ms/bg-flux-ms/compliance_property/page_query";
|
||||
string body = "";
|
||||
@@ -500,6 +544,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
string prodId = dgvPriceCheck.Rows[e.RowIndex].Cells["colProductId"].Value.ParseToString();
|
||||
string accountId = dgvPriceCheck.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString();
|
||||
var shop = lstAdminShopInfo.FirstOrDefault(v => v.ShopId == accountId);
|
||||
var compInfo = this.lstComplianceInfo.FirstOrDefault(c => c.spu_id.ParseToString() == prodId);
|
||||
|
||||
switch (headerText)
|
||||
{
|
||||
@@ -549,11 +594,19 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
// }
|
||||
// break;
|
||||
case "合规":
|
||||
case "合规信息":
|
||||
{
|
||||
//加州65号提案
|
||||
//欧盟负责人
|
||||
//制造商信息
|
||||
//其他合规信息 商品识别码
|
||||
//填写以下信息: //加州65号提案 //欧盟负责人 //制造商信息 //其他合规信息-商品识别码
|
||||
ComplianceForm compForm = new ComplianceForm(shop, compInfo);
|
||||
compForm.ShowDialog();
|
||||
if (compForm.EditSuccess == true)
|
||||
{
|
||||
var rows = dgvPriceCheck.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colProductId"].Value.ParseToString() == prodId);
|
||||
foreach (var row in rows)
|
||||
{
|
||||
row.Cells["colCompliance"].Value = "已填写";
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "Skc图片":
|
||||
@@ -574,6 +627,12 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
{
|
||||
this.pnlSpecDetail.Visible = false;
|
||||
}
|
||||
|
||||
private void btnResetExtCode_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.txtSpuId.Text = "";
|
||||
this.txtExtCode.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
public class SetJitConfig
|
||||
@@ -582,6 +641,9 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
public string SearchShopName { get; set; } = "";
|
||||
public string SearchNotes { get; set; } = "";
|
||||
public bool SearchAllShop { get; set; } = true;
|
||||
public string SearchSpuId { get; set; } = "";
|
||||
public string SearchExtCode { get; set; } = "";
|
||||
public bool SearchDuration { get; set; } = true;
|
||||
}
|
||||
/// <summary>
|
||||
/// 合规信息
|
||||
@@ -595,9 +657,15 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
public long? goods_id { get; set; } // 601103852497488,
|
||||
public string goods_url { get; set; } // "https://img.kwcdn.com/product/fancy/0f52acc1-edfe-4f70-8032-012505ad0da5.jpg",
|
||||
public List<task_dto> wait_task_dtolist { get; set; }
|
||||
public List<task_dto> wait_task_show_dtolist { get; set; }
|
||||
public List<wait_task_show_dto> wait_task_show_dtolist { get; set; }
|
||||
public bool? on_sale { get; set; } // false
|
||||
}
|
||||
public class wait_task_show_dto
|
||||
{
|
||||
public string show_name { get; set; } // "加州 65 号提案"
|
||||
public int? status { get; set; } // 2
|
||||
public List<task_dto> wait_task_dtolist { get; set; }
|
||||
}
|
||||
public class task_dto
|
||||
{
|
||||
public long? task_id { get; set; } // 101042759897649,
|
||||
@@ -614,6 +682,5 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
public bool? on_site { get; set; } // false,
|
||||
public List<int> region_list { get; set; } // [105, 106, 107, 108, 109, ...],
|
||||
public string content { get; set; } // "德国站、法国站、意大利站、荷兰站、西班牙站、葡萄牙站、波兰站、瑞典站、希腊站、爱尔兰站、塞浦路斯站、捷克站、匈牙利站、丹麦站、罗马尼亚站、保加利亚站、比利时站、奥地利站、芬兰站、斯洛伐克站、克罗地亚站、斯洛文尼亚站、立陶宛站、爱沙尼亚站、拉脱维亚站、马耳他站、卢森堡站"
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms
|
||||
{
|
||||
partial class ComplianceForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ComplianceForm));
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.cmbLaw65 = new System.Windows.Forms.ComboBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.cmbMakerInfo = new System.Windows.Forms.ComboBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.cmbEUPerson = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.txtCode = new System.Windows.Forms.TextBox();
|
||||
this.btnSave = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panel2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.Controls.Add(this.btnSave);
|
||||
this.panel2.Controls.Add(this.label4);
|
||||
this.panel2.Controls.Add(this.cmbLaw65);
|
||||
this.panel2.Controls.Add(this.label3);
|
||||
this.panel2.Controls.Add(this.cmbMakerInfo);
|
||||
this.panel2.Controls.Add(this.label2);
|
||||
this.panel2.Controls.Add(this.cmbEUPerson);
|
||||
this.panel2.Controls.Add(this.label1);
|
||||
this.panel2.Controls.Add(this.txtCode);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(1, 33);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(428, 319);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(61, 64);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(82, 17);
|
||||
this.label4.TabIndex = 7;
|
||||
this.label4.Text = "加州65号法案";
|
||||
//
|
||||
// cmbLaw65
|
||||
//
|
||||
this.cmbLaw65.FormattingEnabled = true;
|
||||
this.cmbLaw65.Location = new System.Drawing.Point(143, 61);
|
||||
this.cmbLaw65.Name = "cmbLaw65";
|
||||
this.cmbLaw65.Size = new System.Drawing.Size(211, 25);
|
||||
this.cmbLaw65.TabIndex = 6;
|
||||
this.cmbLaw65.Text = "无需警示";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(75, 145);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(68, 17);
|
||||
this.label3.TabIndex = 5;
|
||||
this.label3.Text = "制造商信息";
|
||||
//
|
||||
// cmbMakerInfo
|
||||
//
|
||||
this.cmbMakerInfo.FormattingEnabled = true;
|
||||
this.cmbMakerInfo.Location = new System.Drawing.Point(143, 142);
|
||||
this.cmbMakerInfo.Name = "cmbMakerInfo";
|
||||
this.cmbMakerInfo.Size = new System.Drawing.Size(211, 25);
|
||||
this.cmbMakerInfo.TabIndex = 4;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(75, 104);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(68, 17);
|
||||
this.label2.TabIndex = 3;
|
||||
this.label2.Text = "欧盟负责人";
|
||||
//
|
||||
// cmbEUPerson
|
||||
//
|
||||
this.cmbEUPerson.FormattingEnabled = true;
|
||||
this.cmbEUPerson.Location = new System.Drawing.Point(143, 101);
|
||||
this.cmbEUPerson.Name = "cmbEUPerson";
|
||||
this.cmbEUPerson.Size = new System.Drawing.Size(211, 25);
|
||||
this.cmbEUPerson.TabIndex = 2;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(75, 189);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(68, 17);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "商品识别码";
|
||||
//
|
||||
// txtCode
|
||||
//
|
||||
this.txtCode.Location = new System.Drawing.Point(143, 186);
|
||||
this.txtCode.Name = "txtCode";
|
||||
this.txtCode.Size = new System.Drawing.Size(211, 23);
|
||||
this.txtCode.TabIndex = 0;
|
||||
//
|
||||
// btnSave
|
||||
//
|
||||
this.btnSave.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnSave.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSave.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSave.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSave.Location = new System.Drawing.Point(287, 226);
|
||||
this.btnSave.Name = "btnSave";
|
||||
this.btnSave.Size = new System.Drawing.Size(67, 23);
|
||||
this.btnSave.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSave.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSave.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSave.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnSave.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnSave.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnSave.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnSave.Style.GradientAngle = 90;
|
||||
this.btnSave.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSave.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSave.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnSave.TabIndex = 1000;
|
||||
this.btnSave.Text = "保存编辑";
|
||||
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
|
||||
//
|
||||
// ComplianceForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(430, 353);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "ComplianceForm";
|
||||
this.Text = "ComplianceForm";
|
||||
this.TitleText = "ComplianceForm";
|
||||
this.Load += new System.EventHandler(this.ComplianceForm_Load);
|
||||
this.Controls.SetChildIndex(this.panel2, 0);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.TextBox txtCode;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.ComboBox cmbEUPerson;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.ComboBox cmbMakerInfo;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.ComboBox cmbLaw65;
|
||||
private DevComponents.DotNetBar.PanelEx btnSave;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,429 @@
|
||||
using AllBase;
|
||||
using AllBase.Model.Result;
|
||||
using NaiBa.Util.Extension;
|
||||
using Newtonsoft.Json.Linq;
|
||||
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;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms
|
||||
{
|
||||
public partial class ComplianceForm : LRBaseForm
|
||||
{
|
||||
public bool EditSuccess = false;
|
||||
public ShopLoginInfo shop;
|
||||
public complianceInfo complianceInfo;
|
||||
public complianceDetailInfo complianceDetailInfo;
|
||||
public List<complianceDetailTemplateInfo> lstComplianceDetailTemplateInfo;
|
||||
|
||||
public ComplianceForm(ShopLoginInfo _shop, complianceInfo _complianceInfo)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
shop = _shop;
|
||||
complianceInfo = _complianceInfo;
|
||||
}
|
||||
|
||||
private void ComplianceForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (shop != null && complianceInfo != null)
|
||||
this.GetComplianceInfo();
|
||||
}
|
||||
|
||||
void GetComplianceInfo()
|
||||
{
|
||||
var complianceParam = new complianceDetailParam();
|
||||
complianceParam.goods_id = complianceInfo.goods_id;
|
||||
complianceParam.spu_id = complianceInfo.spu_id;
|
||||
complianceParam.wait_task_list = new List<task_param>();
|
||||
foreach (var task in complianceInfo.wait_task_dtolist)
|
||||
{
|
||||
complianceParam.wait_task_list.Add(new task_param()
|
||||
{
|
||||
is_not_required = task.is_not_required,
|
||||
punish_time = task.punish_time,
|
||||
sale_effect_info = task.sale_effect_info,
|
||||
status = task.status,
|
||||
task_id = task.task_id,
|
||||
task_name = task.task_name,
|
||||
task_type = task.task_type,
|
||||
});
|
||||
}
|
||||
var complianceTemplateParam = JsonHelper.DeserializeJsonToObject<complianceDetailTemplateParam>(JsonHelper.SerializeObject(complianceParam));
|
||||
complianceTemplateParam.cat_id = complianceInfo.cat_id;
|
||||
var compDetailTemplateRst = QueryComplianceDetailTemplate(shop, complianceTemplateParam);
|
||||
compDetailTemplateRst = GetHtml.Unicode2String(compDetailTemplateRst);
|
||||
if (compDetailTemplateRst.Contains("\"success\":true"))
|
||||
{
|
||||
try
|
||||
{
|
||||
JObject jObj = JObject.Parse(compDetailTemplateRst);
|
||||
lstComplianceDetailTemplateInfo = JsonHelper.DeserializeJsonToList<complianceDetailTemplateInfo>(jObj["result"]["template_list"].ToString());
|
||||
|
||||
this.cmbLaw65.Text = "无需警示";
|
||||
var complianceDetailTemp = lstComplianceDetailTemplateInfo.FirstOrDefault(t => t.task_type == 4);
|
||||
if (complianceDetailTemp != null && complianceDetailTemp.template_property_dtolist != null && complianceDetailTemp.template_property_dtolist.Count > 0)
|
||||
{
|
||||
foreach (var item in complianceDetailTemp.template_property_dtolist.FirstOrDefault().property_value_list)
|
||||
{
|
||||
this.cmbLaw65.Items.Add(item.lang_prompt_map["zh-Hans"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
BaseMsgForm.ShowError(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
var compDetailRst = QueryComplianceDetail(shop, complianceParam);
|
||||
compDetailRst = GetHtml.Unicode2String(compDetailRst);
|
||||
if (compDetailRst.Contains("\"success\":true"))
|
||||
{
|
||||
try
|
||||
{
|
||||
JObject jObj = JObject.Parse(compDetailRst);
|
||||
complianceDetailInfo = JsonHelper.DeserializeJsonToObject<complianceDetailInfo>(jObj["result"].ToString());
|
||||
|
||||
// 欧盟负责人
|
||||
cmbEUPerson.Text = complianceDetailInfo.template_list.FirstOrDefault(t => t.task_type == 25)?.rep_detail_list.FirstOrDefault()?.rep_name;
|
||||
if (complianceDetailInfo.template_list.FirstOrDefault(t => t.task_type == 25)?.rep_detail_list != null)
|
||||
{
|
||||
foreach (var item in complianceDetailInfo.template_list.FirstOrDefault(t => t.task_type == 25)?.rep_detail_list)
|
||||
{
|
||||
cmbEUPerson.Items.Add(item.rep_name);
|
||||
}
|
||||
}
|
||||
// 制造商信息
|
||||
cmbMakerInfo.Text = complianceDetailInfo.template_list.FirstOrDefault(t => t.task_type == 60)?.rep_detail_list.FirstOrDefault()?.rep_name;
|
||||
if (complianceDetailInfo.template_list.FirstOrDefault(t => t.task_type == 60)?.rep_detail_list != null)
|
||||
{
|
||||
foreach (var item in complianceDetailInfo.template_list.FirstOrDefault(t => t.task_type == 60)?.rep_detail_list)
|
||||
{
|
||||
cmbMakerInfo.Items.Add(item.rep_name);
|
||||
}
|
||||
}
|
||||
// 商品识别码
|
||||
var complianceDetail = complianceDetailInfo.template_list.FirstOrDefault(t => t.task_type == 61);
|
||||
if (complianceDetail != null && complianceDetail.task_status == 3)
|
||||
{
|
||||
this.txtCode.Text = complianceDetail?.input_text?.Values?.FirstOrDefault()?.multi_line_inputs?.FirstOrDefault()?.name;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
BaseMsgForm.ShowError(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
EditCompliance();
|
||||
}
|
||||
catch (Exception ex) { BaseMsgForm.ShowError(ex.Message); }
|
||||
}
|
||||
|
||||
private void EditCompliance()
|
||||
{
|
||||
JObject compObj = new JObject();
|
||||
compObj.Add("cat_id", complianceInfo.cat_id);
|
||||
compObj.Add("spu_id", complianceInfo.spu_id);
|
||||
compObj.Add("goods_id", complianceInfo.goods_id);
|
||||
compObj.Add("template_edit_request_list", new JArray());
|
||||
var j_template_edit_list = compObj["template_edit_request_list"] as JArray;
|
||||
foreach (var temp in complianceDetailInfo.template_list)
|
||||
{
|
||||
var wait_task = complianceInfo.wait_task_dtolist.FirstOrDefault(t => t.task_type == temp.task_type);
|
||||
|
||||
JObject j_template_edit = new JObject();
|
||||
j_template_edit_list.Add(j_template_edit);
|
||||
j_template_edit.Add("task_id", wait_task.task_id);
|
||||
j_template_edit.Add("task_status", temp.task_status);
|
||||
j_template_edit.Add("task_type", temp.task_type);
|
||||
if (temp.template_id != null)
|
||||
j_template_edit.Add("template_id", temp.template_id);
|
||||
|
||||
//加利福尼亚州65号法案
|
||||
if (temp.task_type == 4)
|
||||
{
|
||||
var detailTemplateInfo = lstComplianceDetailTemplateInfo.FirstOrDefault(t => t.task_type == temp.task_type);
|
||||
if (detailTemplateInfo != null)
|
||||
{
|
||||
j_template_edit.Add("properties", new JObject());
|
||||
j_template_edit.Add("images", new JObject());
|
||||
j_template_edit.Add("input_text", new JObject());
|
||||
|
||||
var property_id = detailTemplateInfo?.template_property_dtolist?.FirstOrDefault()?.property_id;
|
||||
var value_id = detailTemplateInfo?.template_property_dtolist?.FirstOrDefault()?.property_value_list?.FirstOrDefault(p => p.value_name == this.cmbLaw65.Text.Trim())?.vid;
|
||||
if (property_id != null && value_id != null)
|
||||
{
|
||||
var jArr = new JArray();
|
||||
jArr.Add(value_id);
|
||||
(j_template_edit["properties"] as JObject).Add(property_id.ParseToString(), jArr);
|
||||
}
|
||||
}
|
||||
}
|
||||
//材质分类 // task_id = 101044552836267 // task_type = 166 // template_id == 1004
|
||||
else if (temp.task_type == 166)
|
||||
{
|
||||
j_template_edit.Add("sku_multi_detail", new JObject());
|
||||
}
|
||||
//商品识别码 // task_id = 101044552818783 // task_type = 61 // template_id == 51
|
||||
else if (temp.task_type == 61)
|
||||
{
|
||||
j_template_edit.Add("properties", new JObject());
|
||||
j_template_edit.Add("images", new JObject());
|
||||
j_template_edit.Add("input_text", new JObject());
|
||||
var detailTemplateInfo = lstComplianceDetailTemplateInfo.FirstOrDefault(t => t.task_type == temp.task_type);
|
||||
var property_id = detailTemplateInfo?.template_property_dtolist?.FirstOrDefault()?.property_id; // 1100100115
|
||||
if (property_id != null)
|
||||
{
|
||||
(j_template_edit["input_text"] as JObject).Add(property_id.ParseToString(), new JObject());
|
||||
(j_template_edit["input_text"][property_id.ParseToString()] as JObject).Add("multi_line_inputs", new JArray());
|
||||
var multi_line_input = new JObject();
|
||||
multi_line_input.Add("name", txtCode.Text.Trim());
|
||||
(j_template_edit["input_text"][property_id.ParseToString()]["multi_line_inputs"] as JArray).Add(multi_line_input);
|
||||
}
|
||||
}
|
||||
// 欧盟负责人
|
||||
else if (temp.task_type == 25)
|
||||
{
|
||||
j_template_edit.Add("is_not_required", wait_task.is_not_required);
|
||||
j_template_edit.Add("task_name", "欧盟负责人");
|
||||
j_template_edit.Add("status", wait_task.status);
|
||||
j_template_edit.Add("punish_time", wait_task.punish_time);
|
||||
j_template_edit.Add("sale_effect_info", JObject.Parse(JsonHelper.SerializeObject(wait_task.sale_effect_info)));
|
||||
j_template_edit.Add("rep_detail_list", new JArray());
|
||||
var rep_detail = temp.rep_detail_list.FirstOrDefault(r => r.rep_name == cmbEUPerson.Text.Trim());
|
||||
rep_detail_param rep_param = new rep_detail_param { rep_id = rep_detail?.rep_id, rep_name = rep_detail?.rep_name };
|
||||
(j_template_edit["rep_detail_list"] as JArray).Add(JObject.Parse(JsonHelper.SerializeObject(rep_param)));
|
||||
}
|
||||
// 制造商信息
|
||||
else if (temp.task_type == 60)
|
||||
{
|
||||
j_template_edit.Add("is_not_required", wait_task.is_not_required);
|
||||
j_template_edit.Add("task_name", "制造商信息");
|
||||
j_template_edit.Add("status", wait_task.status);
|
||||
j_template_edit.Add("punish_time", wait_task.punish_time);
|
||||
j_template_edit.Add("sale_effect_info", JObject.Parse(JsonHelper.SerializeObject(wait_task.sale_effect_info)));
|
||||
j_template_edit.Add("rep_detail_list", new JArray());
|
||||
var rep_detail = temp.rep_detail_list.FirstOrDefault(r => r.rep_name == cmbMakerInfo.Text.Trim());
|
||||
rep_detail_param rep_param = new rep_detail_param { rep_id = rep_detail?.rep_id, rep_name = rep_detail?.rep_name };
|
||||
(j_template_edit["rep_detail_list"] as JArray).Add(JObject.Parse(JsonHelper.SerializeObject(rep_param)));
|
||||
}
|
||||
else
|
||||
{
|
||||
var detailTemplateInfo = lstComplianceDetailTemplateInfo.FirstOrDefault(t => t.task_type == temp.task_type);
|
||||
if (detailTemplateInfo != null && detailTemplateInfo.template_property_dtolist?.FirstOrDefault()?.control_type == 3)
|
||||
{
|
||||
j_template_edit.Add("properties", new JObject());
|
||||
j_template_edit.Add("images", new JObject());
|
||||
j_template_edit.Add("input_text", new JObject());
|
||||
|
||||
var property_id = detailTemplateInfo?.template_property_dtolist?.FirstOrDefault()?.property_id; // 1100100115
|
||||
var value_id = detailTemplateInfo?.template_property_dtolist?.FirstOrDefault()?.property_value_list?.FirstOrDefault(p => p.value_name == "该信息不适用该产品")?.vid;
|
||||
if (property_id != null && value_id != null)
|
||||
{
|
||||
var jArr = new JArray();
|
||||
jArr.Add(value_id);
|
||||
(j_template_edit["properties"] as JObject).Add(property_id.ParseToString(), jArr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var data = JsonHelper.SerializeObject(compObj);
|
||||
var editComplianceRst = EditCompliance(shop, compObj); // {"success":true,"error_code":1000000,"result":{"result":true}}
|
||||
editComplianceRst = GetHtml.Unicode2String(editComplianceRst);
|
||||
if (editComplianceRst.Contains("\"success\":true"))
|
||||
{
|
||||
EditSuccess = true;
|
||||
BaseMsgForm.ShowInfo("修改成功!");
|
||||
this.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
string sErrMsg = BaseRegex.GetStringJson(ref editComplianceRst, "errorMsg").ParseToString();
|
||||
if (string.IsNullOrEmpty(sErrMsg))
|
||||
sErrMsg = BaseRegex.GetStringJson(ref editComplianceRst, "error_msg").ParseToString();
|
||||
if (string.IsNullOrEmpty(sErrMsg))
|
||||
sErrMsg = editComplianceRst;
|
||||
BaseMsgForm.ShowError(sErrMsg);
|
||||
}
|
||||
}
|
||||
|
||||
private string QueryComplianceDetail(ShopLoginInfo shop, complianceDetailParam compParam)
|
||||
{
|
||||
string url = "https://agentseller.temu.com/ms/bg-flux-ms/compliance_property/query_detail";
|
||||
string body = "";
|
||||
body = JsonHelper.SerializeObject(compParam);
|
||||
string referer = "https://agentseller.temu.com/govern/information-supplementation";
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
private string QueryComplianceDetailTemplate(ShopLoginInfo shop, complianceDetailTemplateParam compParam)
|
||||
{
|
||||
string url = "https://agentseller.temu.com/ms/bg-flux-ms/compliance_property/query_template";
|
||||
string body = "";
|
||||
body = JsonHelper.SerializeObject(compParam);
|
||||
string referer = "https://agentseller.temu.com/govern/information-supplementation";
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
private string EditCompliance(ShopLoginInfo shop, JObject editComplianceParam)
|
||||
{
|
||||
string url = "https://agentseller.temu.com/ms/bg-flux-ms/compliance_property/edit_compliance";
|
||||
string body = "";
|
||||
body = JsonHelper.SerializeObject(editComplianceParam);
|
||||
string referer = "https://agentseller.temu.com/govern/information-supplementation";
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询合规信息
|
||||
/// </summary>
|
||||
public class complianceDetailParam
|
||||
{
|
||||
public long? goods_id { get; set; } // 601103852497488,
|
||||
public long? spu_id { get; set; } // 5230217458,
|
||||
public List<task_param> wait_task_list { get; set; }
|
||||
}
|
||||
public class complianceDetailTemplateParam : complianceDetailParam
|
||||
{
|
||||
public long? cat_id { get; set; } // 29186
|
||||
}
|
||||
public class task_param
|
||||
{
|
||||
public long? task_id { get; set; } // 101042759897649,
|
||||
public int? task_type { get; set; } // 25,
|
||||
public bool? is_not_required { get; set; } // true,
|
||||
public string task_name { get; set; } // "欧盟负责人",
|
||||
public int? status { get; set; } // 2,
|
||||
public long? punish_time { get; set; } // 0,
|
||||
public sale_effect_info sale_effect_info { get; set; }
|
||||
public int? task_status { get { return status; } }
|
||||
}
|
||||
//----------------------------------------------------------------------------------
|
||||
public class complianceDetailInfo
|
||||
{
|
||||
public long? goods_id { get; set; } // 601104090833023,
|
||||
public long? spu_id { get; set; } // 5296122040,
|
||||
public List<sku_Info> sku_info_list { get; set; }
|
||||
public List<template_Info> template_list { get; set; }
|
||||
}
|
||||
public class template_Info
|
||||
{
|
||||
public int? template_id { get; set; } // 1
|
||||
public int? task_type { get; set; } // 4
|
||||
public int? task_status { get; set; } // 2
|
||||
public object properties { get; set; } // {}
|
||||
public List<object> suppl_prop_info_list { get; set; } // []
|
||||
public Dictionary<string, input_text_value_info> input_text { get; set; } // "1100100115":{};
|
||||
public List<rep_detail_Info> rep_detail_list { get; set; }
|
||||
public List<object> reject_reason_list { get; set; }
|
||||
}
|
||||
public class input_text_value_info
|
||||
{
|
||||
public List<multi_line_input> multi_line_inputs { get; set; }
|
||||
}
|
||||
public class multi_line_input
|
||||
{
|
||||
public string name { get; set; } // "DGH0102"
|
||||
}
|
||||
public class rep_detail_Info
|
||||
{
|
||||
public int? rep_type { get; set; } // 3,
|
||||
public long? rep_id { get; set; } // 22018308,
|
||||
public string rep_name { get; set; } // "Dugonghai",
|
||||
public rep_address_Info rep_address_info { get; set; }
|
||||
public long? rep_mobile { get; set; } // "13966274028",
|
||||
public int? rep_tel_code { get; set; } // 86,
|
||||
public string rep_mail { get; set; } // "919341360@qq.com",
|
||||
public int? rep_status { get; set; } // 3,
|
||||
public bool? skip_edit { get; set; } // false,
|
||||
public bool? forbid_select { get; set; } // false,
|
||||
public bool? default_select { get; set; } // false
|
||||
}
|
||||
public class rep_address_Info
|
||||
{
|
||||
public int? region_id { get; set; } // 43,
|
||||
public string region_name { get; set; } // "China",
|
||||
public string region_name_short { get; set; } // "CN",
|
||||
public long? city_id { get; set; } // 341500,
|
||||
public string city { get; set; } // "Lu'an",
|
||||
public long? state_id { get; set; } // 340000,
|
||||
public string state_name { get; set; } // "Anhui",
|
||||
public string address_line_one { get; set; } // "No. 85, Pihe East Road, Hengshan Town, Huoshan County, Anhui Province",
|
||||
public int? post_code { get; set; } // "237200"
|
||||
}
|
||||
public class sku_Info
|
||||
{
|
||||
public long? sku_id { get; set; } // 17613092810727,
|
||||
public string sku_name { get; set; } // "39-米白色"
|
||||
}
|
||||
//-----------------------------------------------------------
|
||||
public class complianceDetailTemplateInfo
|
||||
{
|
||||
public int? template_id { get; set; } // 1,
|
||||
public string template_name { get; set; } // "加利福尼亚州65号法案",
|
||||
public string desc { get; set; } // "卖家销售的产品,产品本身(在适用的情况下)和产品展示页必须清晰显示任何所需的加州第65号提案警告通知。如果您的商品属于加州65号提案管控范围(即含有特定化学物质或属于加州65号提案规定的特殊类型),请务必如实填写并展示必要的警示信息。如果相关情况发生变化,例如法规新增化学物质或暴露类型,或您的商品成分发生变化,您必须在60天内更新此处的合规信息。<br/>若因未能提供警告提示语而违反65号提案,你可能会受到加州相关行政管控部门的处理或面临有关加州诉讼。您还可能被视为违反了Temu商家协议和Temu商家行为准则,并面临包括帐户和帐户中的所有资金冻结,或暂停账户使用等后果。欲了解更多和填写指南,请参见<a href=\"https://agentseller.temu.com/main/course/detail?courseId=2310200000019\" target=\"_self\">《美国加州65号提案介绍》\n</a><br/>",
|
||||
public int? task_type { get; set; } // 4,
|
||||
public int? template_dimension_type { get; set; } // 1,
|
||||
public bool? support_multi_group { get; set; } // false,
|
||||
public List<template_property_dto> template_property_dtolist { get; set; }
|
||||
public List<real_picture_dto> real_picture_dtolist { get; set; }
|
||||
}
|
||||
public class real_picture_dto
|
||||
{
|
||||
public int? template_id { get; set; } // 1,
|
||||
public string name { get; set; } // "上传实拍图",
|
||||
public string desc { get; set; } // "<p>请按照法规要求的形式在实物上展示警示语,并拍摄清晰的实物图,务必如实上传,更多详情可前往<a href=\"https://www.p65warnings.ca.gov/\" target=\"_blank\">https://www.p65warnings.ca.gov/</a>查看。</p>",
|
||||
public long? ref_pid { get; set; } // 1000000001,
|
||||
public List<long> vid { get; set; } // [1000100040,1000100041,1000100042]
|
||||
|
||||
}
|
||||
public class template_property_dto
|
||||
{
|
||||
public long? property_id { get; set; } // 1000000001,
|
||||
public string property_name { get; set; } // "California Proposition 65 Warning Type",
|
||||
public string desc { get; set; } // "卖家销售的产品,产品本身(在适用的情况下)和产品展示页必须清晰显示任何所需的加州第65号提案警告通知。如果您的商品属于加州65号提案管控范围(即含有特定化学物质或属于加州65号提案规定的特殊类型),请务必如实填写并展示必要的警示信息。如果相关情况发生变化,例如法规新增化学物质或暴露类型,或您的商品成分发生变化,您必须在60天内更新此处的合规信息。<br/>若因未能提供警告提示语而违反65号提案,你可能会受到加州相关行政管控部门的处理或面临有关加州诉讼。您还可能被视为违反了Temu商家协议和Temu商家行为准则,并面临包括帐户和帐户中的所有资金冻结,或暂停账户使用等后果。",
|
||||
public Dictionary<string, List<long>> exclude_vid_map { get; set; } // "1000100066":[1000010001,1000010002,...]
|
||||
public Dictionary<string, string> lang_desc_map { get; set; } // {"zh-Hans":"警示类型", "en":"California Proposition 65 Warning Type","zh":"警示类型",...}
|
||||
public int? control_type { get; set; } // 1,
|
||||
public int? select_num { get; set; } // 3, // 需要control_type==1
|
||||
public int? input_type { get; set; } // 0, // 输入类型,需要control_type==17 // 如商品识别码
|
||||
public int? input_num { get; set; } // 50, // 输入长度限制,需要control_type==17 // 如商品识别码
|
||||
public object tpvp_rule_ext_map { get; set; } // {},
|
||||
public int? value_precision { get; set; } // 0,
|
||||
public object input_title_lang_map { get; set; } // {},
|
||||
public int? parent_pid { get; set; } // 0,
|
||||
public List<object> parent_vid_list { get; set; } // [],
|
||||
public List<property_value> property_value_list { get; set; }
|
||||
}
|
||||
public class property_value
|
||||
{
|
||||
public long? vid { get; set; } // 1000100066,
|
||||
public string value_name { get; set; } // "无需警示",
|
||||
public List<long> parent_vid_list { get; set; } // [],
|
||||
public Dictionary<string, string> lang_prompt_map { get; set; } // {"zh-Hans": "无需警示","en": "No Warning Applicable","zh": "无需警示"},
|
||||
public object remark_lang { get; set; } // {},
|
||||
public List<object> image_remark_urls { get; set; } // []
|
||||
}
|
||||
//-----------------------------------------------------------
|
||||
public class rep_detail_param
|
||||
{
|
||||
public long? rep_id { get; set; } // 21980955,
|
||||
public string rep_name { get; set; } // "SUCCESSCOURIERSL",
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,298 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAgIAQdAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
|
||||
AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA
|
||||
OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT
|
||||
AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj///////
|
||||
///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP//
|
||||
//////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
|
||||
mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4
|
||||
mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ
|
||||
mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY
|
||||
//+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ
|
||||
mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf
|
||||
//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/
|
||||
//uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv///
|
||||
//+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP//
|
||||
if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ
|
||||
mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz
|
||||
MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///
|
||||
iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
|
||||
mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4
|
||||
kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP//
|
||||
/////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ
|
||||
mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ
|
||||
mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ
|
||||
mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ
|
||||
mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ
|
||||
//85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ
|
||||
mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ
|
||||
mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ
|
||||
mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT
|
||||
mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj///////
|
||||
///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn///
|
||||
//////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ
|
||||
mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ
|
||||
mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ
|
||||
mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ
|
||||
mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj///////////
|
||||
///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY//////
|
||||
////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP
|
||||
//////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4
|
||||
/4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ
|
||||
mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ
|
||||
mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7
|
||||
mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4
|
||||
eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb////
|
||||
///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ
|
||||
mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj/////
|
||||
/4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/
|
||||
///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ
|
||||
mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ
|
||||
mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ
|
||||
mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA
|
||||
AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA
|
||||
AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz
|
||||
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA
|
||||
AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w
|
||||
AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA
|
||||
Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA
|
||||
AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA
|
||||
AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA
|
||||
AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA
|
||||
AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA
|
||||
AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA
|
||||
AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA
|
||||
AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD/////
|
||||
wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
Reference in new issue
Block a user